Commit Graph

19227 Commits

Author SHA1 Message Date
Marcus Castro
000fc7f233 refactor(qa): add shared QA channel contract and harden worker startup (#64562)
* refactor(qa): add shared transport contract and suite migration

* refactor(qa): harden worker gateway startup

* fix(qa): scope waits and sanitize shutdown artifacts

* fix(qa): confine artifacts and redact preserved logs

* fix(qa): block symlink escapes in artifact paths

* fix(gateway): clear shutdown race timers

* fix(qa): harden shutdown cleanup paths

* fix(qa): sanitize gateway logs in thrown errors

* fix(qa): harden suite startup and artifact paths

* fix(qa): stage bundled plugins from mutated config

* fix(qa): broaden gateway log bearer redaction

* fix(qa-channel): restore runtime export

* fix(qa): stop failed gateway startups as a process tree

* fix(qa-channel): load runtime hook from api surface
2026-04-12 15:02:57 -03:00
Vincent Koc
fcae3bf943 fix(agents): preserve active-turn queued user prompts (#65478)
* fix(agents): preserve active-turn queued user prompts

* Update src/agents/pi-embedded-runner/run/attempt.prompt-helpers.ts

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* Update CHANGELOG.md

* Update CHANGELOG.md

---------

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-04-12 19:02:55 +01:00
Peter Steinberger
4df9772b6e fix: trim timezone suffix from pretty logs 2026-04-12 18:58:27 +01:00
Peter Steinberger
87fa88ac3d fix: use literal runtime import for compaction 2026-04-12 18:56:27 +01:00
Peter Steinberger
e24b80b15e fix: clarify escaped skill path warnings 2026-04-12 10:53:31 -07:00
Vincent Koc
6437aa8532 fix(inbound-meta): unblock Claude CLI and scrub NULs (#65467)
* fix(inbound-meta): rename schema and scrub NULs

* fix(inbound-meta): harden untrusted context blocks

* fix(inbound-meta): preserve fenced metadata blocks

* fix(inbound-meta): cap untrusted context payloads
2026-04-12 18:52:48 +01:00
Peter Steinberger
15b86ac6d0 fix: narrow qmd defaults and clawblocker memory 2026-04-12 18:52:06 +01:00
saram ali
7995e408ce fix(discord): clear stale heartbeat timers in SafeGatewayPlugin.connect() (#65087)
* fix(discord): clear stale heartbeat timers in SafeGatewayPlugin.connect()

The @buape/carbon@0.15.0 heartbeat setup has a race where stopHeartbeat()
runs before heartbeatInterval is assigned, leaving a stale setInterval with
a closed reconnectCallback. When the stale interval fires ~41s later it
throws an uncaught exception that bypasses the EventEmitter error path and
crashes the gateway process via process.on('uncaughtException').

Add a connect() override in SafeGatewayPlugin that unconditionally clears
both heartbeatInterval and firstHeartbeatTimeout before calling super. The
parent's connect() only calls stopHeartbeat() when isConnecting=false; when
isConnecting=true it returns early without clearing — this override fills
that gap.

Fixes #65009. Related: #64011, #63387, #62038.

* test(discord): assert super.connect() delegation in SafeGatewayPlugin tests

* fix(ci): update raw-fetch allowlist line numbers for gateway-plugin.ts

The connect() override added in the heartbeat fix shifted the two
pre-existing fetch() callsites from lines 370/436 to 387/453.

* docs(changelog): add discord heartbeat crash note

* test(cli): align plugin registry load-context mock

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-04-12 18:40:04 +01:00
Peter Steinberger
a8e140e395 chore: bump version to 2026.4.12 2026-04-12 10:37:18 -07:00
Vincent Koc
9259e593e6 test(gateway): share transcript event waiters 2026-04-12 18:33:47 +01:00
Vincent Koc
9c2b094f3f test(gateway): share search session transcript fixtures 2026-04-12 18:32:04 +01:00
Vincent Koc
a24af49100 fix(update-cli): respawn plugin refresh after self-update (#65471)
* fix(update-cli): respawn plugin refresh after self-update

* Update src/cli/update-cli/update-command.ts

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* Update CHANGELOG.md

---------

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-04-12 18:26:43 +01:00
Vincent Koc
f00f0a9596 fix(agents): stop leaking session lock exit listeners (#65469)
* fix(agents): stop leaking session lock exit listeners

* Update src/agents/session-write-lock.ts

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

---------

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-04-12 18:22:12 +01:00
Vincent Koc
a5aceebc01 test(gateway): share bearer agents list invoke 2026-04-12 18:20:39 +01:00
Vincent Koc
27afd01577 test(gateway): share session history sse helpers 2026-04-12 18:17:50 +01:00
Vincent Koc
686e5976df test(gateway): share preauth hardening setup helpers 2026-04-12 18:04:22 +01:00
Vincent Koc
eddd9a1a1c test(gateway): share silent reconnect rejection assertions 2026-04-12 18:00:49 +01:00
Vincent Koc
b35becfb1d test(gateway): share plugin approval no-route context 2026-04-12 17:59:17 +01:00
Vincent Koc
2c5290a7b1 test(gateway): share paired ios operator fixture 2026-04-12 17:57:55 +01:00
Vincent Koc
ed1744bcaa test(heartbeat): cover isolated cron event consumption 2026-04-12 17:55:36 +01:00
Vincent Koc
68a64a14d9 test(gateway): share close handler deps 2026-04-12 17:45:46 +01:00
Nimrod Gutman
26dbc3da15 fix(agents): isolate skills tests from personal home (#65456) 2026-04-12 19:44:50 +03:00
Peter Steinberger
b23f56fa8c fix: restore media understanding attempt outcome export 2026-04-12 17:44:16 +01:00
Pengfei Ni
aff8a0c0e7 fix(config): resolve CLI command aliases against parent plugin in plugins.allow (#64748) (#64779)
* fix(config): resolve CLI command aliases against parent plugin in plugins.allow (#64748)

The CLI allow guard checked command names (e.g. 'wiki') directly against
plugins.allow, missing the parent plugin ('memory-wiki'). Additionally,
memory-wiki did not declare 'wiki' as a commandAlias, so doctor --fix
would remove it as stale.

- Add commandAliases entry for 'wiki' in memory-wiki plugin manifest
- Check parent plugin ID in the CLI fallback allow guard
- Add tests for both allow and deny cases

* fix(cli): inject manifest registry for alias diagnostics

* Update CHANGELOG.md

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-04-12 17:32:11 +01:00
Vincent Koc
7518b8d339 test(gateway): share allowlist node helpers 2026-04-12 17:26:31 +01:00
Vincent Koc
b7b3846793 feat(plugins): narrow channel loads from manifests (#65429)
* feat(plugins): narrow channel loads from manifests

* fix(plugins): harden channel owner activation trust

* fix(plugins): preserve empty channel scopes

* fix(plugins): honor channel-owner policy gates

* fix(plugins): keep channel setup and scope fallbacks correct

* fix(plugins): keep channel trust tied to source config
2026-04-12 17:24:15 +01:00
Peter Steinberger
50fcdb36a8 fix: preserve prompt budget for small context models 2026-04-12 17:16:37 +01:00
Vincent Koc
0b8f09819f fix(media): use exported decision outcome type 2026-04-12 17:13:27 +01:00
Vincent Koc
df1a82f6c1 test(gateway): share auth-profile ref fixture 2026-04-12 17:11:12 +01:00
Vincent Koc
88dfc6e7b6 test(gateway): share hook session routing helper 2026-04-12 17:09:23 +01:00
Vincent Koc
43cb94a39a fix(doctor): preserve discord streaming downgrade compatibility 2026-04-12 17:09:08 +01:00
Daniel Alkurdi
1f0431cd11 fix(media): surface OpenAI audio transcription failures (#65096)
* fix(media): surface audio transcription provider failures

* fix(media): prefer failed reasons in surfaced errors

* fix(media): import attempt outcome type

* fix(media): guard malformed decision arrays

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-04-12 17:05:18 +01:00
Vincent Koc
d46f684898 test(agents): fix tsgo typing regressions 2026-04-12 17:02:24 +01:00
Vincent Koc
3bb69edf58 test(gateway): share browser origin rejection helper 2026-04-12 17:01:43 +01:00
Peter Steinberger
c146738996 fix: stabilize subagent cleanup retries 2026-04-12 16:59:27 +01:00
Vincent Koc
2de988ae4b test(gateway): share temp home env setup 2026-04-12 16:56:06 +01:00
Vincent Koc
786de3eca2 fix(gateway): keep tick broadcasts non-droppable (#65436)
* fix(gateway): keep tick broadcasts non-droppable

* Update CHANGELOG.md
2026-04-12 16:53:34 +01:00
Vincent Koc
3cf0dda22a test(gateway): share node pairing auth helpers 2026-04-12 16:52:06 +01:00
Vincent Koc
156ee544ed test(agents): share notify heartbeat wake helper 2026-04-12 16:43:39 +01:00
Coy Geek
4938b2cc43 fix: Provider-supplied OAuth URLs inject Windows cmd.exe via openUrl (#64161)
* fix: harden Windows browser URL opening

Use explorer.exe directly for OAuth/browser launch on Windows so provider-supplied URLs are never parsed through cmd.exe metacharacter rules.

* fix: harden Windows browser URL opening

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-04-12 16:42:24 +01:00
pradeep7127
5fde14b844 fix(plugins): exempt dreaming engine from memory slot fast-path in loader (#65411)
* fix(plugins): exempt dreaming engine from memory slot fast-path in loader

* fix(plugins): handle dreaming engine as slot + add tests for slot coexistence

* fix(plugins): narrow dreaming sidecar loading

* Update CHANGELOG.md

* Update CHANGELOG.md

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-04-12 16:41:25 +01:00
Vincent Koc
559de69488 test(agents): share ollama auth fixture 2026-04-12 16:40:28 +01:00
CodeForgeNet
10cd000f60 gateway: always send idempotencyKey on plugin subagent run (#65354)
* gateway: always send idempotencyKey on plugin subagent run

* docs(changelog): add dreaming idempotency entry

* Update CHANGELOG.md

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-04-12 16:39:26 +01:00
Vincent Koc
4b761f6e23 test(agents): share gemini model fixture 2026-04-12 16:38:25 +01:00
Vincent Koc
d0f090e188 test(agents): share exec preflight race helper 2026-04-12 16:36:46 +01:00
Vincent Koc
93abf5ee4d test(agents): share websocket tool followup helper 2026-04-12 16:35:01 +01:00
Alex Navarro
f3b636481f fix(gateway): reject known-weak example auth credentials at startup (#64586) 2026-04-12 16:33:05 +01:00
Vincent Koc
4904e15349 test(agents): share anthropic vertex adc fixture 2026-04-12 16:32:26 +01:00
Vincent Koc
a19e492fb3 test(agents): trim subagent spawn config duplication 2026-04-12 16:30:31 +01:00
Vincent Koc
48f74a599e test(agents): share bundle mcp runtime fixture 2026-04-12 16:28:27 +01:00