Commit Graph

34774 Commits

Author SHA1 Message Date
Peter Steinberger
b9cc293167 test: wait for ACPX in cron Docker smoke 2026-04-24 20:27:24 +01:00
Peter Steinberger
14934f0b7c test(google-meet): verify twilio setup readiness 2026-04-24 20:25:46 +01:00
Tak Hoffman
5c8a5fa8fa fix: tweak group silent caution prompt (#71209)
* Tighten group silent caution prompt

* Deduplicate group silent caution prompt
2026-04-24 14:20:01 -05:00
Peter Steinberger
e6d04682d3 ci: tune oxlint threads 2026-04-24 20:17:42 +01:00
Michael Appel
8b76392e3e fix(gateway): enforce owner-only tool policy and before-tool-call hook on MCP loopback surface (#71159)
* fix: address issue

* fix: address review feedback

* fix: address PR review feedback

* changelog: PR #71159 MCP loopback owner-only policy + before-tool-call hook

---------

Co-authored-by: Devin Robison <drobison@nvidia.com>
2026-04-24 13:16:45 -06:00
bitloi
8cae2ed645 fix(gateway): allow chat.abort to stop agent RPC runs
Register agent RPC runs in the shared abort controller map so chat.abort and sessions.abort can interrupt them like chat.send runs.

Also centralize abort-controller registration/owned cleanup, preserve agent timeout semantics for maintenance expiry, and cover pre-dispatch failure cleanup with regression tests.

Fixes #71128.
2026-04-24 20:15:56 +01:00
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