Vincent Koc
e35d22807e
perf(xai): lazy-load optional capability runtimes ( #119374 )
...
Punchcard-Session: coral-workshop-workshop-3f
2026-08-05 11:26:40 +08:00
Vincent Koc
fd1662f49c
fix(cli): retire invalid secret flags and prove doctor recovery ( #118926 )
...
* test(qa): add doctor CLI recovery coverage
* test(qa): secure doctor exec SecretRef proof
* test(qa): gate doctor systemd recovery proof
* test(qa): normalize doctor terminal output
* test(qa): close doctor probe sockets
* test(qa): classify doctor probe as foreign
* test(qa): track doctor probe sockets
* test(qa): retain doctor instance narrowing
* test(qa): preserve observed doctor recovery proof
* test(qa): keep doctor recovery on stable dist
* test(qa): honor Windows exec ACL blocking
* test(qa): use canonical home for systemd recovery
* test(qa): follow bounded gateway recovery
* test(qa): accept lifecycle service label
* test(qa): align doctor recovery contract
Punchcard-Session: crisp-lantern-orchard-nv
* docs(secrets): remove retired provider bypasses
Punchcard-Session: crisp-lantern-orchard-nv
* test(qa): isolate doctor recovery target
Punchcard-Session: crisp-lantern-orchard-nv
* fix(cli): retire invalid secret provider flags
Punchcard-Session: crisp-lantern-orchard-nv
* test(qa): isolate doctor supervisor mode
Punchcard-Session: crisp-lantern-orchard-nv
* fix(plugins): remove dead secret path bypass
Punchcard-Session: crisp-lantern-orchard-nv
* chore: drop release-owned changelog entry
Punchcard-Session: crisp-lantern-orchard-nv
* test(qa): isolate doctor sudo scope
Punchcard-Session: crisp-lantern-orchard-nv
* fix(secrets): remove dead path bypass
Punchcard-Session: crisp-lantern-orchard-nv
* test(qa): isolate systemd user bus
Punchcard-Session: crisp-lantern-orchard-nv
2026-08-05 11:20:23 +08:00
Dinesh H Suthar
50c7444edf
fix(sessions): preserve compatible auth profiles on model changes ( #117550 )
...
* fix(model-picker): preserve compatible auth profiles
* chore(plugin-sdk): refresh API baseline
* fix(model-picker): keep profile policy core-owned
* fix(model-picker): preserve profiles across auth aliases
* chore(plugin-sdk): update public surface budgets
* fix(model-picker): honor explicit profile clearing
* fix: preserve compatible auth profiles on model changes
* perf: reuse prepared auth profile metadata
* docs(plugin-sdk): document direct model persistence fallback
* test: expose auth snapshot in directive mock
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
Co-authored-by: Dinesh Suthar <dineshsld20@gmail.com >
2026-08-05 07:40:00 +05:30
joshavant
d636f5f8e0
fix(agents): gate Claude live session protocol
2026-08-04 02:08:23 -05:00
Michael Christenson II
7f7a709b1d
fix: Ollama missing from onboarding when its service is reachable ( #118020 )
2026-08-03 17:49:31 -06:00
Vincent Koc
554a6f3bbf
feat(sms): add Twilio MMS support ( #118664 )
...
* feat(sms): add Twilio MMS support
* fix(sms): harden hosted media bearer handling
* fix(sms): discard staged media before dispatch
* fix(sms): close staged media cleanup races
* fix(sms): finalize MMS metadata and race proof
* fix(media): bind local reads to authorized descriptors
* fix(sms): close MMS review gaps
* fix(media): make inbound root matching type-safe
* fix(media): route bounded reads through fs-safe facade
* test(media): satisfy async lint contracts
2026-08-04 05:46:37 +08:00
Vincent Koc
21a767639f
fix(plugins): unify HTTP route conflict handling ( #118203 )
...
* fix(plugins): unify HTTP route conflict handling
* fix(plugins): preserve source-less route replacement
* test(line): type webhook route source
2026-08-04 02:15:00 +08:00
Peter Steinberger
6d8c1ed30d
fix(voice-call): prevent unrelated session recall in fast context ( #118498 )
...
* fix(talk): authorize fast session context
* test(plugins): preserve memory runtime mock types
* fix(plugins): preserve memory authorizer binding
* fix(memory): forward search authorization in lazy runtime
* test(memory): verify lazy authorizer host binding
* docs(plugins): define memory search authorization contract
2026-08-03 03:38:02 -07:00
Peter Steinberger
deb682abfe
refactor(plugins): consolidate extension runtime helpers ( #118509 )
...
* refactor(plugins): consolidate extension runtime helpers
* fix(ci): satisfy extension type and lint checks
* chore(plugin-sdk): regenerate API baseline for #118509
2026-08-03 02:56:43 -07:00
Peter Steinberger
0c32879d45
feat(channels): publish recorded lifecycle from bundled channel transitions ( #118110 )
...
* feat(channels): publish recorded lifecycle from bundled channel transitions
* chore: remove lifecycle changelog entry
2026-08-02 13:04:49 -07:00
Peter Steinberger
d02101d7ce
docs(plugins): document session-end shutdown drain deadline ( #118099 )
2026-08-02 11:23:10 -07:00
Peter Steinberger
c28b524f38
refactor(auth): move Copilot OAuth ownership to plugin ( #118063 )
...
* refactor(auth): move Copilot OAuth ownership to plugin
* test(auth): cover plugin-owned Copilot OAuth
* test(auth): align OAuth runtime mocks
* refactor(auth): extract session OAuth adapter
* refactor(auth): centralize session OAuth dispatch
* test(auth): type OAuth refresh mock
* chore(plugin-sdk): regenerate API baseline for provider oauth dispatch
2026-08-02 10:59:28 -07:00
ruel225
f2b3d1588f
fix(workboard): diagnose archived cards still in an active status ( #116359 ) ( #117290 )
...
* fix(workboard): diagnose archived cards still in an active status
An archived card with an active status (ready/running/blocked/etc.) was
silently excluded from dispatch with no signal on any surface —
workboard show rendered it normally, dispatch returned count:0 with empty
startFailures, and computeCardDiagnostics returned [] for archived cards.
Operators could only find it by reading the database directly.
Add an archived_but_active diagnostic kind to WORKBOARD_DIAGNOSTIC_KINDS
and an unarchive action. In computeCardDiagnostics, when a card has
archivedAt set but status is not done, emit the warning so workboard show
and store.diagnostics report it. Done+archived cards stay silent (no
diagnostic) as before. The diagnostic is transient — refreshDiagnostics
still skips archived cards, so their stored metadata is not rewritten.
Fixes #116359
Co-Authored-By: Claude <noreply@anthropic.com >
* fix(workboard): expose archived active cards
* ci: re-trigger after sqlite flip-proof e2e flake
Unrelated to workboard diagnostic changes; sqlite session/transcript
flip-proof e2e failed with array mismatch on an untouched path.
Co-Authored-By: Claude <noreply@anthropic.com >
---------
Co-authored-by: ruel225 <ruel225@users.noreply.github.com >
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-08-02 07:30:52 -07:00
Dallin Romney
e9b25aa21d
refactor(cua-computer): replace daemon MCP with CUA Driver SDK ( #117205 )
...
* chore(cua-computer): freeze CUA Driver 0.14.1 fixtures
* refactor(cua-computer): use CUA Driver SDK directly
* fix(cua-computer): repair CUA CI checks
* style(cua-computer): format driver cleanup
* fix(cua-computer): migrate retired driver path
* fix(cua-computer): start direct driver sessions
2026-08-02 20:03:24 +08:00
Peter Steinberger
4d8fcf43a2
fix(wiki): accept --agent for agent-scoped vaults ( #117943 )
...
* fix(wiki): accept --agent for agent-scoped vaults
* test(wiki): split agent-scope CLI coverage
2026-08-02 03:33:15 -07:00
Peter Steinberger
1e9a620a28
refactor(gateway): remove deferred channel load flag; 503 plugin routes until runtime ready ( #117852 )
...
* refactor(gateway): remove deferred channel load flag; 503 plugin routes until runtime ready
* test(agents): make setup middleware load intent explicit
* test(gateway): pin webhook startup routing outside SPA
2026-08-02 00:36:21 -07:00
Peter Steinberger
7b10ebc43c
fix(media): reject empty generated assets ( #117875 )
2026-08-02 00:25:12 -07:00
Peter Steinberger
ac28f4d558
fix: release channel delivery resources reliably ( #117855 )
...
* fix(channels): consolidate delivery lifecycle ownership
* test(msteams): match release mock contract
* test(plugin-sdk): satisfy promise executor lint
* chore(plugin-sdk): regenerate API baseline for delivery-correlation + fetch-runtime exports
2026-08-02 00:24:47 -07:00
Josh Avant
b3a1d97ed7
fix(agents): scope harness preflight fallback ( #117256 )
...
* fix(agents): scope harness preflight fallback
* test(plugin-sdk): record scoped preflight contract
* test(agents): lock fallback approval boundary
* fix(agents): bind preflight scope to selected harness
2026-08-02 00:42:26 -05:00
Peter Steinberger
4b26a15a1f
refactor: remove dead internal exports ( #117819 )
2026-08-01 22:01:38 -07:00
Peter Steinberger
fdec6fe7d4
refactor(plugins): reuse scoped loader for capability discovery ( #117373 )
...
* refactor(plugins): reuse scoped loader for capabilities
* fix(plugins): retain channel capabilities during discovery
2026-08-01 09:50:34 -07:00
Omar Shahine
5db7e1c4ec
fix(talk): preserve owner authorization in realtime consults ( #114163 )
...
* feat(talk): forward realtime consult sender auth
* docs(talk): clarify realtime sender auth contract
* ci: constrain oxlint on hosted runners
* ci: split oxlint core on hosted runners
---------
Co-authored-by: Omar Shahine <10343873+omarshahine@users.noreply.github.com >
2026-08-01 09:37:17 -07:00
Jacob Tomlinson
20ac22f647
fix(codex): guide recovery from unimported agent auth ( #116807 )
...
* fix(codex): diagnose unimported agent auth
Add agent-scoped Codex migration guidance and expose a validated --agent target so non-default credentials cannot be imported into the default agent store.
Fixes #116763
* fix(codex): surface auth migration before route planning
* fix(codex): scope auth migration recovery
* fix(codex): preserve API key auth fallback
* test: repair memory importer routing expectation
* test: drop superseded memory routing repair
* test(tui): report PTY progress verbosely
---------
Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com >
2026-08-01 07:08:02 -06:00
joshavant
07b7d6446c
fix(matrix): reconcile durable sends after response loss
2026-08-01 02:45:12 -05:00
Vincent Koc
6922ddd936
fix(qa): isolate runner discovery facades ( #117203 )
2026-08-01 13:40:11 +08:00
Vincent Koc
89aadef6ef
feat(plugins): externalize iMessage channel ( #117101 )
2026-08-01 08:01:18 +08:00
Vincent Koc
61fb29e90a
feat(plugins): externalize OpenCode Go provider ( #117064 )
2026-08-01 06:31:19 +08:00
Vincent Koc
e73250f54b
feat(plugins): externalize OpenCode provider ( #117035 )
...
* feat(plugins): externalize OpenCode provider
* docs: refresh OpenCode provider map
2026-08-01 05:07:35 +08:00
Vincent Koc
e84e2a49fc
feat(plugins): externalize NovitaAI provider ( #117007 )
2026-08-01 03:53:46 +08:00
Vincent Koc
8b93fd963c
feat(plugins): externalize Mistral provider ( #116919 )
...
* feat(plugins): externalize Mistral provider
* fix(update): preserve external provider models during repair
* chore(release): keep Mistral note in PR body
2026-08-01 03:04:12 +08:00
Vincent Koc
0e24d596c0
improve(setup): clarify local provider actions
2026-08-01 00:26:40 +08:00
Vincent Koc
a1026663ae
feat(plugins): externalize ComfyUI provider ( #116888 )
2026-07-31 23:26:51 +08:00
Vincent Koc
e93de36081
feat(plugins): externalize BytePlus provider ( #116866 )
2026-07-31 22:37:47 +08:00
Vincent Koc
fab2c33cad
feat(plugins): externalize Xiaomi provider ( #116861 )
2026-07-31 22:02:07 +08:00
Vincent Koc
b2b62b2e1e
feat(plugins): externalize Volcengine provider ( #116854 )
2026-07-31 21:28:01 +08:00
Vincent Koc
ba1a6722bb
feat(plugins): externalize Vydra provider ( #116813 )
2026-07-31 20:35:43 +08:00
Vincent Koc
eb55c8ea8f
feat(plugins): externalize Voyage embeddings ( #116785 )
...
* feat(voyage): externalize embedding provider
* fix(voyage): drop stale bundled description
2026-07-31 19:52:33 +08:00
Vincent Koc
6830820755
feat(plugins): externalize DuckDuckGo search ( #116740 )
2026-07-31 18:49:07 +08:00
Vincent Koc
a550827dad
feat(plugins): externalize Synthetic provider ( #116720 )
2026-07-31 17:19:43 +08:00
Yuval Dinodia
623a015928
fix(memory-wiki): preserve user edits when rolling back ChatGPT imports ( #116517 )
...
* fix(memory-wiki): preserve user edits when rolling back ChatGPT imports
Rollback deleted created pages and overwrote updated pages unconditionally,
destroying content the user added after the import with no recovery copy.
Import runs now record a content hash of each written page after vault
compile, and rollback preserves any page whose current content no longer
matches into the run's recovered directory before deleting or restoring.
Legacy run records without hashes preserve unconditionally.
Fixes #116457
* fix(memory-wiki): move pages aside atomically during rollback
Rollback now renames the live page into the recovery location before
inspecting it, so a concurrent external save cannot land between the
content read and the delete or snapshot restore. Matching pages drop
the moved copy; mismatching pages keep it as the recovery file.
* fix(memory-wiki): make rollback snapshot restore collision-safe
The snapshot restore wrote directly to the page path after the
move-aside, so a page recreated by an editor in that window was
overwritten with no recovery copy. Restore now creates the snapshot
exclusively and on collision moves the recreated page aside and
retries; recovery filenames are uniqued so a second move-aside cannot
clobber an earlier preserved copy.
* fix(memory-wiki): record rollback hashes at write time
* fix(memory-wiki): make ChatGPT rollback retry-safe
* fix(memory-wiki): fence ChatGPT rollback phases
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-07-31 08:01:52 +00:00
Vincent Koc
fa4cc51a87
feat(plugins): externalize Teams and Zoom meetings ( #116682 )
2026-07-31 14:10:46 +08:00
Vincent Koc
c892a712e6
feat(plugins): externalize Cohere and Meta providers ( #116662 )
...
* feat(plugins): externalize Cohere and Meta providers
* docs(changelog): note provider externalization
* chore: keep changelog release-owned
2026-07-31 12:53:01 +08:00
Kimiyu-openai
43156fe482
fix(codex): add remote WebSocket heartbeat and reconnect ( #116135 )
2026-07-30 15:38:26 -07:00
Josh Avant
ce67ffb70e
feat(agents): add tool-free isolated completion ( #114343 )
...
* feat: add isolated pure-inference completion
* fix(google): block ambient system prompt writes
* docs: refresh generated map
2026-07-30 13:24:45 -05:00
Vincent Koc
e96b9d2cd0
improve(ui): verify llama.cpp model setup
2026-07-30 23:41:58 +08:00
Vincent Koc
8a3f5c862b
fix(plugin-sdk): ship documented public typings ( #116345 )
...
* fix(plugin-sdk): ship documented public typings
* fix(plugin-sdk): refresh public contract artifacts
2026-07-30 18:20:07 +08:00
joshavant
21db50efc7
refactor(whatsapp): keep inbound boundary transport-private
2026-07-29 20:34:55 -05:00
Vincent Koc
f970e5093b
refactor(channels): add portable inbound boundary
2026-07-29 20:34:55 -05:00
Vincent Koc
8530edb057
fix(plugins): deliver subagent completion to current requester ( #116091 )
...
* fix(plugins): deliver subagent completion to requester
Co-authored-by: ambitioncn <36698505+ambitioncn@users.noreply.github.com >
* test(qa): register current-requester plugin fixture
* fix(plugins): scope requester authority per hook
---------
Co-authored-by: ambitioncn <36698505+ambitioncn@users.noreply.github.com >
2026-07-30 07:06:17 +08:00
Peter Steinberger
b9377f6048
fix(codex): enforce native MCP tool access ( #116054 )
...
* fix(codex): enforce native MCP tool access
* chore: remove prerelease changelog entry
* chore: restore changelog to main
* refactor(codex): build MCP server patches from entries
2026-07-29 17:06:49 -04:00