Gustavo Madeira Santana
9b743d8768
fix: harden private qa runtime loading
2026-04-15 21:46:20 -04:00
Gustavo Madeira Santana
4d8b1da1fb
QA: fix private runtime source loading
...
Fix the private QA wrapper and source-checkout runtime paths so
qa-lab, qa-channel, and qa-matrix resolve their local-only SDK
surfaces and staged bundled plugins reliably.
This keeps private QA behavior local-only, restores source-runner
discovery, and makes the isolated gateway runtime load the right
plugin tree under Node.
2026-04-15 21:46:04 -04:00
Peter Steinberger
229eb72cf6
build: exclude private QA from npm package
2026-04-15 09:39:51 -07:00
Ayaan Zaidi
64f258fc49
fix(update): keep downgrade follow-ups in-process
2026-04-15 13:22:04 +05:30
Ayaan Zaidi
18d0af3a13
fix(update): verify packaged dist inventory
2026-04-15 13:22:04 +05:30
Mason Huang
3d2f51c0a4
CLI/plugins: stop forced-unsafe installs from falling back to hook packs ( #58909 )
...
Merged via squash.
Prepared head SHA: 7cf146efb6
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com >
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com >
Reviewed-by: @hxy91819
2026-04-15 13:23:17 +08:00
Josh Avant
1769fb2aa1
fix(secrets): align SecretRef inspect/strict behavior across preload/runtime paths ( #66818 )
...
* Config: add inspect/strict SecretRef string resolver
* CLI: pass resolved/source config snapshots to plugin preload
* Slack: keep HTTP route registration config-only
* Providers: normalize SecretRef handling for auth and web tools
* Secrets: add Exa web search target to registry and docs
* Telegram: resolve env SecretRef tokens at runtime
* Agents: resolve custom provider env SecretRef ids
* Providers: fail closed on blocked SecretRef fallback
* Telegram: enforce env SecretRef policy for runtime token refs
* Status/Providers/Telegram: tighten SecretRef preload and fallback handling
* Providers: enforce env SecretRef policy checks in fallback auth paths
* fix: add SecretRef lifecycle changelog entry (#66818 ) (thanks @joshavant)
2026-04-14 17:59:28 -05:00
Vincent Koc
e31dfa9897
perf(cli): avoid runtime config loads in gateway discover
2026-04-14 17:47:38 +01:00
Vincent Koc
4c090accd3
perf(cli): avoid eager gateway call config loads
2026-04-14 17:42:16 +01:00
Vincent Koc
604a5e07d0
perf(cli): lazy-resolve daemon stop fallback port
2026-04-14 17:39:21 +01:00
Vincent Koc
f8610da4c5
perf(cli): narrow daemon and gateway cold paths
2026-04-14 17:35:26 +01:00
Vincent Koc
f95c706298
perf(cli): lazy-load daemon service runners
2026-04-14 16:43:48 +01:00
Vincent Koc
4e46488d1b
perf(cli): lazy-load gateway registration deps
2026-04-14 16:37:48 +01:00
Neerav Makwana
0381852c26
fix: harden approvals get timeout handling ( #66239 ) (thanks @neeravmakwana)
...
* fix(cli): harden approvals get timeout handling
* fix(cli): sanitize approvals timeout notes
* fix(cli): distill approvals timeout note
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-04-14 11:29:59 +05:30
Peter Steinberger
d4f556a052
fix: align latest main type drift
2026-04-13 20:49:39 -07:00
Vincent Koc
792653df15
fix(ci): clear residual tsgo blockers
2026-04-13 22:37:25 +01:00
Vincent Koc
ac00ba1943
perf(commands): lazy-load agent secret resolution
2026-04-13 20:56:03 +01:00
Vincent Koc
25a2ea4480
perf(config): scope dry-run legacy validation
2026-04-13 20:40:52 +01:00
Vincent Koc
587e72df4d
perf(config): use direct writes for gateway token persistence
2026-04-13 19:38:56 +01:00
Vincent Koc
120c384f00
perf(config): reuse prepared snapshots for daemon token writes
2026-04-13 19:32:28 +01:00
Vincent Koc
55a3c8ea07
perf(daemon): import install config helpers directly
2026-04-13 19:22:52 +01:00
Vincent Koc
75b4c059b8
perf(daemon): slim gateway install token imports
2026-04-13 19:21:01 +01:00
Vincent Koc
114ff23f2a
perf(config): skip shell env fallback for explicit empty vars
2026-04-13 19:09:11 +01:00
Mariano
8dbe1b4f5a
fix(gateway): harden service entrypoint resolution ( #65984 )
...
Merged via squash.
Prepared head SHA: 31cbc3349c
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Reviewed-by: @mbelinky
2026-04-13 17:14:29 +02:00
Vincent Koc
3792a39fd6
perf(cli): skip redundant schema passes for structured dry runs
2026-04-13 15:49:24 +01:00
Vincent Koc
9763d446d9
fix(qr): lazy load terminal ascii renderer
2026-04-13 15:12:01 +01:00
scoootscooob
94ef2f1b0d
CLI: detect env-backed audio providers ( #65491 )
...
* CLI: detect env-backed audio providers
* fix(cli): trust audio provider env detection
* Secrets: keep default provider env lookups stable
* Plugins: harden env-backed auth defaults
* Plugins: tighten trusted env var lookups
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-04-12 14:04:44 -07:00
Peter Steinberger
e4841d767d
test: stabilize loaded full-suite checks
2026-04-12 11:52:56 -07:00
Peter Steinberger
67af6f0baf
fix: restore main CI checks
2026-04-12 11:28:43 -07:00
Vincent Koc
d4fb7d893d
fix(ci): repair main tsgo regressions
2026-04-12 19:14:00 +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
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
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
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
Peter Steinberger
23e50859eb
test(e2e): align release harness coverage
2026-04-12 16:08:12 +01:00
Vincent Koc
3059b36306
fix(config): split command flag helpers
2026-04-12 00:05:01 +01:00
Vincent Koc
d7fcd23091
fix(runtime): split cli provider and abort seams
2026-04-11 21:16:50 +01:00
Vincent Koc
0f7d9c9570
fix(runtime): split approval and gateway client seams
2026-04-11 18:36:48 +01:00
Tak Hoffman
958c34e82c
feat(qa-lab): Add proxy capture stack and QA Lab inspector ( #64895 )
...
* Add proxy capture core and CLI
* Expand transport capture coverage
* Add QA Lab capture backend
* Refine QA Lab capture UI
* Fix proxy capture review feedback
* Fix proxy run cleanup and TTS capture
* Fix proxy capture transport follow-ups
* Fix debug proxy CONNECT target parsing
* Harden QA Lab asset path containment
2026-04-11 12:34:57 -05:00
Vincent Koc
81535d394d
fix(cycles): repair broken type surfaces
2026-04-11 13:42:17 +01:00
Vincent Koc
74e7b8d47b
fix(cycles): bulk extract leaf type surfaces
2026-04-11 13:26:50 +01:00
Peter Steinberger
cd89892b1f
fix(release): keep private QA bundles out of npm pack
2026-04-11 13:13:11 +01:00
Vincent Koc
636fe1c2db
fix(qa): ship scenario pack and isolate completion cache
2026-04-11 12:53:56 +01:00
xieyongliang
e0a2c568b2
video_generate: support url-only delivery ( #61988 ) (thanks @xieyongliang) ( #61988 )
...
Co-authored-by: George Zhang <georgezhangtj97@gmail.com >
2026-04-11 03:08:30 -07:00
Vincent Koc
7308e72fac
fix(cycles): continue seam extraction
2026-04-11 10:43:22 +01:00
Peter Steinberger
2681bbd9e7
test: move plugin list formatting to pure tests
2026-04-11 08:22:36 +01:00
Peter Steinberger
7e66a8fcfe
test: move plugin uninstall selection to pure tests
2026-04-11 08:12:34 +01:00
Peter Steinberger
5ca92b0498
test: move plugin update selection to pure tests
2026-04-11 08:08:41 +01:00
ImLukeF
ddefce3c18
Config: align LLM idle timeout defaults
2026-04-11 15:48:58 +10:00
Ayaan Zaidi
d8ab47d6af
refactor: remove qa cli pass-through wrapper
2026-04-11 10:41:19 +05:30