feat(repo-auth): repo-as-project attribution plugin + extract @vymalo/opencode-core-otel (#98)
* feat(repo-auth): add repo-as-project attribution plugin via RFC 8693 project_id exchange. * fix(repo-auth): fail closed in chat.headers on exchange errors. * test(repo-auth): add wiremock-backed integration suite for the project_id exchange. * docs(repo-auth): add real-host e2e recipe against the test-env stack. * docs(adr): ADR-0012 — one credential across gateway + OTEL Record the decision to ship a single @vymalo/opencode-lightbridge umbrella plugin over one auth-core TokenRuntime, injecting the same credential into the gateway (chat.headers) and OTEL (per-export headers factory). MCP is out of scope; login moves to authz /authorize; and the OTEL engine is factored into a shared @vymalo/opencode-core-otel package. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * refactor(otel): extract @vymalo/opencode-core-otel shared engine Move the OTEL engine (providers, recorder, instruments, token-source, export-logging, propagation, config, vcs, deferred, logging, types) and its tests into a new publishable @vymalo/opencode-core-otel package. opencode-otel becomes a thin plugin adapter depending on it via workspace:*; its lib.ts re-exports the engine so @vymalo/opencode-otel/lib consumers keep every symbol. Drop the unused @opentelemetry/semantic-conventions dependency. Prepares the TokenSource seam for the opencode-lightbridge umbrella (ADR-0012). Behavior unchanged; 190 tests green across both packages. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Stephane Segning Lambou <stephane.segning-lambou@adorsys.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
B
Benie Joy Possi committed
cd77b42427f32f978802bc1e101ccd70d5299236
Parent: a54f3a1
Committed by GitHub <noreply@github.com>
on 8/23/2026, 3:04:15 PM