Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
137 commits
Select commit Hold shift + click to select a range
b81a00a
chore: add test, security and build-and-push CI workflows [#5]
nisargabd Sep 3, 2026
8f6092d
fix: switch adapter runtime to a glibc-only DHI image, drop the shell…
nisargabd Sep 3, 2026
6e2f9b8
fix: bump golang.org/x/crypto and google.golang.org/grpc to close kno…
nisargabd Sep 3, 2026
7acedd8
fix: disable Terraform deploy's push trigger [#5]
nisargabd Sep 3, 2026
3edaf42
chore: keep golang.org/x/crypto and google.golang.org/grpc at prior v…
nisargabd Sep 3, 2026
e45b7bf
fix: scope the DHI runtime switch to the plugins image only [#5]
nisargabd Sep 3, 2026
392e4bb
fix: build and scan Dockerfile.adapter-with-plugins, not Dockerfile.a…
nisargabd Sep 3, 2026
3e88a45
fix: keep the plugin-building test packages out of the full-module ra…
nisargabd Sep 4, 2026
a7bace3
docs: drop the discovery-service reference from the Makefile header [#5]
nisargabd Sep 4, 2026
6220fc4
chore: drop the dead and deploy-only GitHub Actions workflows [#5]
manjudr Sep 7, 2026
56f7d8b
chore: drop the release workflow and revert the DHI image migration [#5]
manjudr Sep 7, 2026
26e013f
fix: bump crypto, grpc and amqp091-go past the HIGH/CRITICAL advisori…
manjudr Sep 7, 2026
e99044b
refactor: move the CI implementation into the Makefile [#5]
manjudr Sep 7, 2026
8236623
refactor: rename Run Tests to CI and reduce it to make calls [#5]
manjudr Sep 7, 2026
4f79614
refactor: split Security into dependency-scan, image-scan and securit…
manjudr Sep 7, 2026
6e68413
ci: cancel a PR's superseded runs, keep the verdict on trunk commits …
manjudr Sep 7, 2026
c62e192
build: add lint-actions, lint-staged and a versioned pre-commit hook …
manjudr Sep 7, 2026
00140c9
chore: cut CI down to four checks and publish the image on a tag [#5]
manjudr Sep 7, 2026
3ab7fc7
ci: move the tag jobs to their own workflow so PRs stop showing them …
manjudr Sep 7, 2026
5a0f1bd
ci: drop the SARIF upload — it was a third check, and it contradicted…
manjudr Sep 7, 2026
eec90fd
fix: bump the Go toolchain to 1.26.8 to clear 20 HIGH stdlib CVEs [#5]
manjudr Sep 7, 2026
84cb6b5
chore: widen the Trivy gate to CRITICAL,HIGH,MEDIUM,LOW [#5]
manjudr Sep 7, 2026
138ffbe
fix: fail image-publish on a failed create, and pin the trivy install…
manjudr Sep 7, 2026
04a68c9
Merge pull request #14 from OpenAgriNet/chore/5-ci-cd-workflows
manjudr Sep 7, 2026
4f87932
fix: scan the release image before its version tag is bound [#5]
manjudr Sep 7, 2026
3b0ba69
fix: report not-applicable coverage as not-applicable, not as a pass …
manjudr Sep 7, 2026
5ab0242
Merge pull request #20 from OpenAgriNet/fix/5-release-image-scan
manjudr Sep 7, 2026
a7258fb
feat: add the OAN registry plugin [OpenAgriNet/engineering-tracker#46]
ameersohel45 Aug 31, 2026
b29da0f
feat: add the JSONata mapper plugin [OpenAgriNet/engineering-tracker#66]
ameersohel45 Aug 31, 2026
f4ef51a
feat: add the Mausamgram provider plugin [#1]
ameersohel45 Aug 31, 2026
497c908
fix: read the updated registry schema contract [OpenAgriNet/engineeri…
ameersohel45 Aug 31, 2026
5e57bdf
fix: hand mappings only what a party sent [OpenAgriNet/engineering-tr…
ameersohel45 Aug 31, 2026
8d05338
fix: refuse an unanswered request in a provider module [#1]
ameersohel45 Aug 31, 2026
5ccf772
fix: quote the resource the request selected [#1]
ameersohel45 Aug 31, 2026
343da4f
fix: follow the WeatherObservation schema pack [#1]
ameersohel45 Sep 1, 2026
72c3f09
refactor: extract the provider's request in the mapping [#1]
ameersohel45 Sep 1, 2026
7da3fc4
feat: let a mapping declare what it requires of a payload [#1]
ameersohel45 Sep 1, 2026
bf7dcde
feat: let one provider step serve several capabilities [#1]
ameersohel45 Sep 1, 2026
5c033d8
refactor: split the provider step into machinery and domain [#1]
ameersohel45 Sep 1, 2026
395a701
feat: let a deployment say where a binding key lives [#1]
ameersohel45 Sep 1, 2026
92cd529
fix: quote one resource per forecast day [#1]
ameersohel45 Sep 2, 2026
b7187c6
fix: refuse a published path with an empty segment [#1]
ameersohel45 Sep 2, 2026
52768f0
fix: stop asserting network identity from a mapping [#1]
ameersohel45 Sep 2, 2026
ff2c61d
test: pin the registry shape after the key and role changes [#1]
ameersohel45 Sep 2, 2026
573dc1d
fix: make the on_select answer validate against the Beckn v2 spec [#1]
ameersohel45 Sep 2, 2026
22141a5
feat: let a provider present its credential in the query string [#1]
ameersohel45 Sep 3, 2026
ed79587
feat: log the upstream request and its outcome at info [#1]
ameersohel45 Sep 3, 2026
d08717d
fix: address the review findings on PR #2 [#1]
ameersohel45 Sep 3, 2026
f506c0a
fix: report an unservable payload as a bad request [#1]
ameersohel45 Sep 3, 2026
3f54ab7
fix: accept any 2xx, and say what the provider said [#1]
ameersohel45 Sep 3, 2026
5aa1882
docs(config): document every plugin option, and stop annotating upstr…
ameersohel45 Sep 6, 2026
c945812
refactor(mappings): echo the caller's @context instead of restating i…
ameersohel45 Sep 7, 2026
85adfa9
chore(config): trim the extended-schema allowlist to the host in use …
ameersohel45 Sep 7, 2026
23e88c2
fix(upstream): redact the credential in the form that reaches the URL…
ameersohel45 Sep 7, 2026
1759712
fix(upstream): keep the provider's body and the env-var names off the…
ameersohel45 Sep 7, 2026
3342a88
fix(upstream): bound the registry's retry budget, and stop backoff ov…
ameersohel45 Sep 7, 2026
2e5e1ad
fix(oanregistry): bound the search response read [#1]
ameersohel45 Sep 7, 2026
b6283d0
fix(upstream): keep the error chain matchable through redaction [#1]
ameersohel45 Sep 7, 2026
7428a05
fix(upstream): send the method in the case the RFC gives it [#1]
ameersohel45 Sep 7, 2026
32e84c5
fix(upstream): validate the base url, and refuse dot segments and fra…
ameersohel45 Sep 7, 2026
936d037
fix(oanbinding): count commitments, not the values they happen to yie…
ameersohel45 Sep 7, 2026
8ee889d
refactor(model): hoist servedActions onto ProviderRecord [#1]
ameersohel45 Sep 7, 2026
26ff4ef
perf(jsonmapper): collapse concurrent misses into one fetch [#1]
ameersohel45 Sep 7, 2026
b21fdf4
fix(handler): refuse to sign a response that cannot carry a message [#1]
ameersohel45 Sep 7, 2026
8a17ba6
docs(mappings): correct two claims about the pack that were wrong [#1]
ameersohel45 Sep 7, 2026
3806f16
docs(config): placeholder the registry url [#1]
ameersohel45 Sep 7, 2026
2be8ce6
fix(jsonmapper): serialise mapping evaluation across the package, not…
ameersohel45 Sep 8, 2026
72039b1
fix(handler): refuse a non-envelope answer before the signer runs, no…
ameersohel45 Sep 8, 2026
e402f96
fix(upstream): redact the credential for every auth scheme, not just …
ameersohel45 Sep 8, 2026
0d62b52
test(handler): make the duplicate-provider-step test reach the guard …
ameersohel45 Sep 8, 2026
2978c93
docs: correct four claims that contradict the code, and drop two dead…
ameersohel45 Sep 8, 2026
82a5f1e
fix(jsonmapper): release the evaluation lock even if the library pani…
ameersohel45 Sep 8, 2026
214a793
docs: say that a mapping reads _local, because it does [#1]
ameersohel45 Sep 8, 2026
6ae1ba6
feat: add the Mandi provider plugin [#8]
ameersohel45 Sep 3, 2026
8fc6104
docs(config): serve both capabilities from the reference config [#8]
ameersohel45 Sep 6, 2026
b6e954c
refactor(mappings): echo the caller's @context in the mandi mapping t…
ameersohel45 Sep 7, 2026
ba5f922
fix(mappings): guard the price cast on shape, not just presence [#8]
ameersohel45 Sep 7, 2026
ebc1c91
fix(mappings): emit only records that can produce a conformant resour…
ameersohel45 Sep 7, 2026
aaac1b4
fix(mappings): state what the answer knows instead of echoing the req…
ameersohel45 Sep 7, 2026
3ffe2e8
fix(mappings): distinguish colliding rows, and answer only what was a…
ameersohel45 Sep 7, 2026
9714b24
docs: document MANDI_TOKEN, and correct two claims about the pack [#8]
ameersohel45 Sep 7, 2026
6ae0b0d
test(mandi): cover the plugin entry point, which had no tests at all …
ameersohel45 Sep 8, 2026
75f87f0
docs(mappings): put each comment above the code it describes [#8]
ameersohel45 Sep 8, 2026
a4337f3
fix(schemav2validator): keep the JSON-LD keys a schema declares [#16]
ameersohel45 Sep 7, 2026
e524cf7
refactor(plugins): name the capability plugins after their capabiliti…
ameersohel45 Sep 7, 2026
586ed23
feat(config): validate resource attributes against their schema packs…
ameersohel45 Sep 7, 2026
4fdf394
refactor(config): resolve capability schemas from the payload's @cont…
ameersohel45 Sep 7, 2026
4d18317
refactor: name the registry and binding packages for what they are [#16]
ameersohel45 Sep 7, 2026
78d42b9
docs(config): drop the network name from the reference config's comme…
ameersohel45 Sep 7, 2026
64a1de2
fix(schemav2validator): read only http and https for a payload-chosen…
ameersohel45 Sep 7, 2026
9a1594f
fix(schemav2validator): read the list form of @type, and reject what …
ameersohel45 Sep 7, 2026
006dec8
Merge pull request #13 from OpenAgriNet/feat/8-mandi-plugin
manjudr Sep 8, 2026
5132832
fix(schemav2validator): enforce the host allowlist on every schema re…
ameersohel45 Sep 8, 2026
cca7ff2
docs(MandiPrice): follow the rename in a cross-reference [#16]
ameersohel45 Sep 8, 2026
bcd10b3
Merge pull request #17 from OpenAgriNet/feat/16-capability-schema-con…
manjudr Sep 8, 2026
076500e
Merge pull request #2 from OpenAgriNet/feat/41-oan-adapter-plugins
manjudr Sep 8, 2026
a20dac2
feat(upstream): accept an oauth2 client-credentials auth scheme [#7]
ameersohel45 Sep 8, 2026
c1c4378
feat(upstream): exchange and cache the oauth2 bearer token [#7]
ameersohel45 Sep 8, 2026
5694355
feat: add the KnowledgeAdvisory provider plugin [#7]
ameersohel45 Sep 8, 2026
3037504
test(KnowledgeAdvisory): verify the whole path against the live provi…
ameersohel45 Sep 8, 2026
5db8496
fix(mappings): one advisory per document, so none borrows another's n…
ameersohel45 Sep 9, 2026
a890913
fix(mappings): echo the request offer instead of minting a dangling o…
ameersohel45 Sep 9, 2026
b5e36a4
fix(mappings): derive the advisory from the response, not the request…
ameersohel45 Sep 9, 2026
faa9389
fix(mappings): retain the selected resource id in the offer [#7]
ameersohel45 Sep 9, 2026
a23eee0
feat(mappings): emit one advisory per hit, sourced from its own docum…
ameersohel45 Sep 9, 2026
bc2cafc
feat(mappings): describe each passage by its section, drop supporting…
ameersohel45 Sep 9, 2026
b274945
feat(plugin): accept one level of nesting in a plugin config block [#7]
ameersohel45 Sep 9, 2026
61f5a4b
feat(upstream): give each provider its own credentials [#7]
ameersohel45 Sep 9, 2026
12d1e54
fix(plugin): unmarshal settings with the yaml version the adapter use…
ameersohel45 Sep 9, 2026
16f4f48
refactor: name the config block and credential profiles for what they…
ameersohel45 Sep 9, 2026
3d49617
docs(upstream): follow the rename in a doc comment [#7]
ameersohel45 Sep 9, 2026
51f4f56
refactor(upstream): split upstream.go by concern [#7]
ameersohel45 Sep 9, 2026
d4e1e8d
docs(upstream): group constant.go by subject [#7]
ameersohel45 Sep 9, 2026
53b4bd7
refactor: rename internal/upstream to internal/common [#7]
ameersohel45 Sep 9, 2026
559c4c6
refactor: fold capabilitybinding into common [#7]
ameersohel45 Sep 9, 2026
ffc121a
docs(common): a comment pointed at a line that moved files [#7]
ameersohel45 Sep 9, 2026
20e86cb
refactor(common): name asQueryValue for what it produces [#7]
ameersohel45 Sep 9, 2026
ec64ae3
refactor(common): drop the "upstream: " prefix from messages [#7]
ameersohel45 Sep 9, 2026
25ef3b5
docs(common): shorten redact.go's comments [#7]
ameersohel45 Sep 9, 2026
089ff2d
docs(common): shorten the comments across the package [#7]
ameersohel45 Sep 9, 2026
fabeacf
chore: remove AgricultureFacility testdata I committed by mistake [#7]
ameersohel45 Sep 9, 2026
a07ecd7
refactor(common): move the HTTP helpers into a httputil subpackage [#7]
ameersohel45 Sep 9, 2026
9107a28
refactor(common): one list of credential settings, not two [#7]
ameersohel45 Sep 9, 2026
bd40a7e
refactor(common): all sixteen constants in one file again [#7]
ameersohel45 Sep 9, 2026
ec3649e
refactor(common): rename httputil to util [#7]
ameersohel45 Sep 9, 2026
2d296b6
fix(deps): bump grpc to 1.83.2 for CVE-2026-84445 [#7]
ameersohel45 Sep 9, 2026
7ffeafe
fix(common): retry a transient oauth2 token exchange [#7]
ameersohel45 Sep 9, 2026
a2985eb
Merge pull request #24 from OpenAgriNet/feat/7-per-provider-auth
manjudr Sep 9, 2026
cb30dc9
feat(AgricultureFacility): add the POCRA facility plugin, on latest d…
ameersohel45 Sep 9, 2026
45f16e5
refactor(AgricultureFacility): read the facility types by path, not b…
ameersohel45 Sep 9, 2026
dcfeb03
refactor(AgricultureFacility): the mapping derives its own request id…
ameersohel45 Sep 9, 2026
1cb385e
refactor(AgricultureFacility): bound the fan-out with errgroup, not a…
ameersohel45 Sep 9, 2026
803d81c
chore: stop ignoring /docs/, which would hide real documentation [#91]
ameersohel45 Sep 9, 2026
99d0874
chore: add __MACOSX/ to .gitignore to prevent macOS system files from…
kelvinprabhu Sep 10, 2026
233793f
chore: add /catalog/, /docs/, and /dev_docs/ to .gitignore
kelvinprabhu Sep 10, 2026
7b056ad
feat(common): add a tokenQuery auth scheme for providers that issue t…
ameersohel45 Sep 10, 2026
7f09556
Merge pull request #25 from OpenAgriNet/feat/91-agriculture-facility
ameersohel45 Sep 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .githooks/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/sh
#
# Pre-commit gate. Installed by `make hooks`, which sets core.hooksPath to this
# directory — so this file is versioned, reviewable, and reaches everyone on
# their next pull rather than only the people who remember to re-copy it.
#
# A thin wrapper on purpose: the checks and the staged-file logic live in the
# Makefile's lint-staged target, so `make lint-staged` reproduces exactly what
# blocked a commit, and there is one place to change what runs.
#
# To bypass in an emergency: git commit --no-verify

exec make --no-print-directory lint-staged
26 changes: 26 additions & 0 deletions .github/actions/trivy-cache/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Cache Trivy
description: >
Restores the pinned trivy binary and its vulnerability DB from the Actions
cache. Both scan jobs need this, so it lives here rather than being pasted
into each one — the trivy-action this replaced cached both for us, and
`make trivy-deps`/`trivy-image` alone would re-download the binary (~30MB)
and the DB (~100MB+) on every run.

runs:
using: composite
steps:
# Keyed on the Makefile's own hash so a TRIVY_VERSION bump there busts the
# cache automatically, plus a daily date so the DB itself never goes stale
# for longer than a day.
- id: date
shell: bash
run: echo "today=$(date -u +%F)" >> "$GITHUB_OUTPUT"

- uses: actions/cache@v4
with:
path: |
bin/trivy
~/.cache/trivy
key: trivy-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('Makefile') }}-${{ steps.date.outputs.today }}
restore-keys: |
trivy-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('Makefile') }}-
88 changes: 0 additions & 88 deletions .github/workflows/beckn_ci.yml

This file was deleted.

85 changes: 0 additions & 85 deletions .github/workflows/beckn_ci_test.yml

This file was deleted.

116 changes: 0 additions & 116 deletions .github/workflows/build-and-deploy-plugins.yml

This file was deleted.

Loading
Loading