Yao
0e50fee996
fix(googlechat): log webhook auth reject reasons and warn on appPrincipal misconfig ( #71145 )
...
* fix(googlechat): log webhook auth reject reasons and warn on appPrincipal misconfig
Closes #71078
Webhook auth failures previously returned 401 with no log line, leaving
operators no signal to diagnose. Additionally, app-url audience requires
a numeric OAuth 2.0 client ID as appPrincipal, but a misconfigured email
or empty value silently caused all requests to be rejected.
Changes:
- Log a WARN with accountId and reject reason when verifyGoogleChatRequest fails.
- Add warnAppPrincipalMisconfiguration() called at provider init: warns when
audienceType=app-url and appPrincipal is missing or contains '@'.
Tests: +9 cases in monitor-webhook.test.ts (3 reject-reason scenarios + 4 warner cases).
* fix(googlechat): defer auth rejection logs
* docs: note googlechat webhook auth fix
---------
Co-authored-by: luyao618 <luyao618@users.noreply.github.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-04-24 20:10:57 +01:00
Peter Steinberger
0651e5dc97
fix: restore reliable live Docker staging
2026-04-24 20:10:28 +01:00
Peter Steinberger
65c9cb852e
ci: keep only fast core on blacksmith
2026-04-24 20:07:56 +01:00
Peter Steinberger
ed7ea75fc0
perf: speed up live Docker staging
2026-04-24 20:03:08 +01:00
Peter Steinberger
c9998af44d
ci: move node fanout to blacksmith
2026-04-24 20:02:48 +01:00
Peter Steinberger
7b5307acfc
ci: move fast bundled checks to blacksmith
2026-04-24 20:00:12 +01:00
Peter Steinberger
d12b523611
fix(elevenlabs): use guarded TTS fetch
2026-04-24 19:55:20 +01:00
Sathvik-1007
8d57d745cf
fix: wizard no clobber model.primary on re-run
...
two bugs. both squash user model choice silently.
bug 1: applyDefaultModel() unconditional primary: model overwrite.
wizard calls with setDefaultModel=true, provider returns its default
(e.g. openrouter/auto), bam user primary gone. fix: existingPrimary ?? model.
bug 2: applyModelFallbacksFromSelection() phantom primary injection.
when no primary configured, resolvedKey (hardcoded default) written as
primary via nullish coalescing fallback. fix: conditional spread — only
include primary key when one actually existed.
tests for both. closes #70696
2026-04-24 19:55:20 +01:00
Vincent Koc
d795000377
refactor(anthropic-vertex): move SDK runtime to plugin ( #71174 )
...
* refactor(anthropic-vertex): move sdk runtime to plugin
* fix(anthropic-vertex): stage provider runtime deps
* fix(anthropic-vertex): reuse stream factory wrapper
2026-04-24 11:52:35 -07:00
Peter Steinberger
07f33b2909
test: speed up embedded run orchestration specs
2026-04-24 19:47:53 +01:00
Peter Steinberger
59523e66da
refactor: remove old provider error utility path
2026-04-24 19:40:25 +01:00
Peter Steinberger
70f5c26a71
refactor: move provider HTTP errors out of tts
2026-04-24 19:40:25 +01:00
Peter Steinberger
bc0f54bd04
fix(models): separate Codex harness from model choices ( #71193 )
...
* fix: separate Codex harness from model choices
* docs: note Codex harness model choice fix
2026-04-24 19:40:23 +01:00
Peter Steinberger
dcf01ce72f
perf: speed up Docker aggregate smokes
2026-04-24 19:38:25 +01:00
Vincent Koc
3bd2ee78b6
feat(plugins): expose hook correlation fields
...
Expose first-class hook correlation fields for plugin message and run lifecycle hooks, including frozen diagnostic trace copies for plugin-facing events.
2026-04-24 11:37:34 -07:00
Peter Steinberger
a43c1f8807
refactor: share provider HTTP errors with google
2026-04-24 19:33:44 +01:00
Peter Steinberger
b1016c39fd
refactor: share speech provider HTTP errors
2026-04-24 19:33:44 +01:00
Peter Steinberger
e54c04f495
test: stabilize qa lab scenarios
2026-04-24 19:23:37 +01:00
Vincent Koc
6bc0dc8fb6
feat(plugins): report setup descriptor drift ( #71194 )
2026-04-24 11:15:30 -07:00
Peter Steinberger
3ffd944e6b
test: isolate doctor switch shell profiles
2026-04-24 19:10:15 +01:00
Peter Steinberger
926068b14f
test(deepseek): add live model smoke
2026-04-24 19:07:41 +01:00
Vincent Koc
5d7d5ca2a9
docs(plugins/hooks): regroup hook catalog by surface, mark decision hooks, sync before_tool_call result type with code
2026-04-24 11:02:46 -07:00
Vincent Koc
7418adf875
fix(plugins): honor descriptor-only setup flag
...
Honor explicit setup.requiresRuntime: false as a descriptor-only setup contract while preserving omitted values as the legacy setup-api fallback path.
2026-04-24 11:02:38 -07:00
Peter Steinberger
a16f8dff15
test: fold tiny media fallback specs
2026-04-24 19:01:18 +01:00
Peter Steinberger
7a63dd3f12
ci: rebase docs sync with source preference
2026-04-24 18:58:53 +01:00
Peter Steinberger
f07b00de66
refactor(gateway): rename startup sidecar deferral option
2026-04-24 18:58:36 +01:00
Peter Steinberger
3bc99bc70e
docs: add reliable taskflow workflow pattern
2026-04-24 18:55:05 +01:00
Peter Steinberger
6fea42fc2d
ci: skip stale docs sync publishes
2026-04-24 18:54:01 +01:00
Vincent Koc
9439d633ef
docs(nav): surface orphan pages in sidebar (message-presentation, skill-workshop, qa-e2e-automation, proxy, gpt54-codex-agentic-parity)
2026-04-24 10:53:32 -07:00
Peter Steinberger
c2bffc6033
docs: clarify google meet mode choice
2026-04-24 18:51:39 +01:00
Peter Steinberger
94275f13fb
fix: keep disabled channel doctor probes lazy
2026-04-24 18:51:19 +01:00
Vincent Koc
1042b893f6
docs: drop parenthetical H1s across gateway, channels, providers, concepts, and reference pages
2026-04-24 10:49:23 -07:00
Peter Steinberger
a155b84cda
test: remove duplicate direct chat mock
2026-04-24 18:45:32 +01:00
Peter Steinberger
8207567cba
docs(release): prefer npm token workflow for dist-tags
2026-04-24 18:45:06 +01:00
Peter Steinberger
62adf6349d
docs(release): require tmux for 1password fallback
2026-04-24 18:44:43 +01:00
Laurent Mazare
d7e2939791
feat: add Gradium text-to-speech provider ( #64958 )
...
Adds the Gradium bundled plugin with TTS and speech-provider registration, docs, label routing, and focused/live coverage.
Also carries the current main lint cleanup needed for the rebased CI lane.
Co-authored-by: laurent <laurent.mazare@gmail.com >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-24 18:43:53 +01:00
Peter Steinberger
2495886287
perf: shrink Docker dependency build contexts
2026-04-24 18:42:25 +01:00
Peter Steinberger
67a2b187b7
docs: fix gateway security accordion
2026-04-24 18:42:07 +01:00
Peter Steinberger
80608ae26c
fix: prevent malformed docs accordions
2026-04-24 18:42:07 +01:00
Peter Steinberger
1cfebfe0e1
test: cover Telegram topic model switches
2026-04-24 18:36:23 +01:00
EVA
860dad268d
[codex] Add contract-first Pi/Codex runtime plan suite ( #71096 )
...
* test: add pi codex runtime contract coverage
* test: expand pi codex tool runtime contracts
* test: tighten tool runtime contracts
* test: reset tool contract param cache
* test: document codex tool middleware fixture
* test: type pi tool contract events
* test: satisfy pi tool contract test types
* test: cover tool media telemetry contracts
* test: reset plugin runtime after tool contracts
* test: add auth profile runtime contracts
* test: strengthen auth profile runtime contracts
* test: clarify auth profile contract fixtures
* test: expand auth profile contract matrix
* test: assert unrelated cli auth isolation
* test: expand auth profile contract matrix
* test: tighten auth profile contract expectations
* test: add outcome fallback runtime contracts
* test: strengthen outcome fallback contracts
* test: isolate outcome fallback contracts
* test: cover codex terminal outcome signals
* test: expand terminal fallback contracts
* test: add delivery no reply runtime contracts
* test: document json no-reply delivery gap
* test: align delivery contract fixtures
* test: add transcript repair runtime contracts
* test: tighten transcript repair contracts
* test: add prompt overlay runtime contracts
* test: tighten prompt overlay contract scope
* test: type prompt overlay contracts
* test: add schema normalization runtime contracts
* test: clarify schema normalization contract gaps
* test: simplify schema normalization contracts
* test: tighten schema normalization contract gaps
* test: cover compaction schema contract
* test: satisfy schema contract lint
* test: add transport params runtime contracts
* test: tighten transport params contract scope
* test: isolate transport params contracts
* test: lock exact transport defaults
* feat: add agent runtime plan foundation
* fix: preserve codex harness auth profiles
* fix: route followup delivery through runtime plan
* fix: normalize parameter-free openai tool schemas
* fix: satisfy runtime plan type checks
* fix: narrow followup delivery runtime planning
* fix: apply codex app-server auth profiles
* fix: classify codex terminal outcomes
* fix: prevent harness auth leakage into unrelated cli providers
* feat: expand agent runtime plan policy contract
* fix: route pi runtime policy through runtime plan
* fix: route codex runtime policy through runtime plan
* fix: route fallback outcome classification through runtime plan
* refactor: make runtime plan contracts topology-safe
* fix: restore runtime plan test type coverage
* fix: align runtime plan schema contract assertions
* fix: stabilize incomplete turn runtime tests
* fix: stabilize codex native web search test
* fix: preserve codex auth profile secret refs
* fix: keep runtime resolved refs canonical
* fix: preserve permissive nested openai schemas
* fix: accept Codex auth provider aliases
* test: update media-only groups mock
* fix: resolve runtime plan rebase checks
* fix: resolve runtime plan rebase checks
---------
Co-authored-by: Eva <eva@100yen.org >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-04-24 18:34:01 +01:00
Peter Steinberger
ec3dbd22a4
test: type legacy codex model fixture
2026-04-24 18:30:51 +01:00
Peter Steinberger
0c70cb3b9c
fix: report google meet manual actions
2026-04-24 18:26:51 +01:00
Peter Steinberger
cba92f893d
fix(gateway): await startup sidecars by default
...
Co-authored-by: 忻役 <xinyi@mininglamp.com >
2026-04-24 18:25:50 +01:00
Peter Steinberger
129f548c44
fix: export diagnostic error category once
2026-04-24 18:24:24 +01:00
Peter Steinberger
95db5966a0
docs: add plugin hook glossary labels
2026-04-24 18:23:44 +01:00
Peter Steinberger
7330a0c7e0
docs: add plugin hooks reference
2026-04-24 18:22:47 +01:00
Peter Steinberger
342583348d
test: fix models list e2e static catalog mock
...
(cherry picked from commit 3385d10ee5 )
2026-04-24 18:22:24 +01:00
Peter Steinberger
5738201b22
test: make bundled channel docker lane resumable
...
(cherry picked from commit 5b1bd58bd0 )
2026-04-24 18:22:24 +01:00
Peter Steinberger
712b7c6637
ci(release): configure shared docker e2e builder
...
(cherry picked from commit 6f948d925e )
2026-04-24 18:22:24 +01:00