Peter Steinberger
a5420dfd91
fix(windows): launch npm-installed native session CLIs ( #122334 )
...
* fix(windows): resolve runnable npm launchers
* fix(windows): preserve npm shim argv in terminal sessions
2026-08-11 18:41:35 -07:00
Peter Steinberger
cad77fb39c
refactor: consolidate remaining coercion helpers ( #122020 )
2026-08-11 10:22:01 -07:00
Peter Steinberger
d847a62e5d
fix(opencode): keep API-key onboarding routes usable ( #121414 )
...
* fix(opencode): keep API-key onboarding routes usable
Amp-Thread-ID: https://ampcode.com/threads/T-019fe94f-6aac-73c9-995b-ced5336f3230
* refactor(opencode): simplify onboarding compatibility
Amp-Thread-ID: https://ampcode.com/threads/T-019fe94f-6aac-73c9-995b-ced5336f3230
* fix(opencode): avoid unverified onboarding fallbacks
Amp-Thread-ID: https://ampcode.com/threads/T-019fe94f-6aac-73c9-995b-ced5336f3230
* fix(opencode): reconcile dynamic tool deltas
Amp-Thread-ID: https://ampcode.com/threads/T-019fe94f-6aac-73c9-995b-ced5336f3230
---------
Co-authored-by: Amp <amp@ampcode.com >
2026-08-10 03:23:36 -07:00
Peter Steinberger
1f4740e95f
fix(opencode): migrate retired free model refs ( #121125 )
...
* fix(opencode): migrate retired free model refs
Repair the shipped beta upgrade path through the provider-owned Doctor contract. Activate the migration from the canonical configured-model selector inventory so every supported selector is covered consistently.
Co-authored-by: samson1357924 <samson1357924@gmail.com >
* fix(opencode): migrate media model preferences
---------
Co-authored-by: samson1357924 <samson1357924@gmail.com >
2026-08-09 11:16:59 -07:00
Peter Steinberger
c7cf69a110
fix(opencode): refresh hosted model catalogs ( #121030 )
...
* fix(opencode): refresh hosted model catalogs
Align Zen and Go availability, pricing, limits, transports, lifecycle metadata, and model-specific reasoning controls with current provider contracts.
Co-authored-by: samson1357924 <samson1357924@gmail.com >
Co-authored-by: xialonglee <li.xialong@xydigit.com >
* fix(opencode): align catalog metadata with runtime contracts
---------
Co-authored-by: xialonglee <li.xialong@xydigit.com >
2026-08-09 04:05:47 -07:00
Peter Steinberger
48639663b0
chore(release): prepare 2026.8.1 ( #120375 )
2026-08-07 18:44:12 -07:00
Peter Steinberger
b4a26783f7
refactor(test): consolidate duplicated requireRecord and provider HTTP mock helpers ( #119982 )
...
* refactor(test): consolidate duplicated test helpers
* test: remove stale record guard import
* fix(test): remove orphaned record guards
* refactor(test): keep record requirement messages exhaustively typed
* fix(test): keep packages/ai record guard package-local
2026-08-06 14:48:01 -07:00
Peter Steinberger
1fb9644341
refactor(opencode): consolidate session catalog test fixtures ( #118323 )
...
* test(opencode): consolidate session catalog fixtures
* test(opencode): preserve continuation node runtime
2026-08-02 20:33:42 -07:00
Peter Steinberger
568ea29d2e
refactor(plugins): inherit shared package boundary settings ( #117474 )
2026-08-01 09:11:09 -07: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
Peter Steinberger
9ae79eed2d
perf(catalog): cadence-proof provider caches and parallelize the Claude scan ( #115259 )
2026-07-28 11:37:37 -04:00
Peter Steinberger
99ec30b44b
feat(plugins): catch code-mode drift between catalogs shipping the same model ( #115183 )
...
* feat(plugins): catch code-mode drift between catalogs sharing one model
Adds a contract test that groups bundled catalog rows by shared upstream
model and requires every row in a group to declare compat.codeMode once any
sibling does. Rows sharing a model id group automatically; rows under
different ids opt in with the new manifest-only `upstreamModel` marker.
Moves the kimi catalog into its manifest so the scan can see it, and records
the tier reseller catalogs were silently missing as explicit "capable".
* docs: regenerate docs map for the shared-model code-mode section
2026-07-28 08:52:21 -04:00
Peter Steinberger
8f8e40dabe
perf(gateway): share one node.list snapshot across session catalog providers ( #114646 )
2026-07-27 13:14:07 -04:00
Peter Steinberger
eec2c0cc26
refactor(providers): unify lifecycle-safe manifest registration ( #114381 )
...
* refactor(providers): canonicalize manifest-driven registration
* fix(zai): eliminate type-only SDK import side effects
2026-07-27 03:20:02 -04:00
Peter Steinberger
9dfb2a1318
fix: show native history in adopted Pi and OpenCode sessions ( #114040 )
...
* fix(plugins): import adopted catalog history into the OpenClaw transcript
Import native Pi and OpenCode history when a catalog session is adopted so the OpenClaw transcript reflects the full conversation immediately.
Mark imported user rows with mirrorOrigin because they are transcript mirrors, not new external turns. This preserves watcher deduplication and prevents adopted history from being reported as fresh upstream input.
* refactor(plugins): split catalog history importer
Keep the session catalog contract module leaf-like by moving transcript mutation into a dedicated runtime module. This breaks the registry-to-transcript import cycle while preserving the Plugin SDK entrypoint and importer behavior.
2026-07-26 02:09:48 -04:00
Peter Steinberger
76ee87539e
feat: detect external human turns in adopted Pi and OpenCode sessions ( #113957 )
...
* feat(plugins): support additional upstream session kinds
* feat(acpx): monitor upstream Pi sessions
* feat(opencode): monitor upstream OpenCode sessions
* fix(opencode): ignore hidden user text activity
* refactor(plugins): share upstream echo filtering
* fix(opencode): preserve marker tuple narrowing
* refactor(opencode): detect upstream turns via event_sequence cursor
Replace timestamp/grace-window completeness heuristics with OpenCode's own
per-session event_sequence.seq cursor, which advances inside the same
transaction as the message/part projections. Detects change instead of
inferring completion, so staged part writes can no longer drop a turn.
Handles cursor regression from OpenCode migrations that clear event_sequence,
suppresses compaction replay and summary re-publish, and restricts human-turn
classification to visible non-synthetic text.
* docs(plugins): record why the adoption coordinator requires complete
* fix(opencode): align cursor proof with strict types
* fix(acpx): keep Pi JSON parser private
2026-07-25 19:05:22 -07:00
Peter Steinberger
603f839058
refactor(providers): collapse live model discovery onto shared projection hook ( #113903 )
...
* feat(plugin-sdk): add live catalog row projection
* refactor(providers): share live catalog projection
* fix(venice): keep live projection internal
2026-07-25 16:17:27 -07:00
Peter Steinberger
9faaa78901
fix(opencode): sync Zen runtime catalog ( #113858 )
2026-07-25 13:52:46 -07:00
Peter Steinberger
e19841c725
feat: continue Pi and OpenCode sessions from the session catalog ( #113718 )
...
* feat(plugins): add acpSessionBinding seam for ACP session adoption
* feat(acpx,opencode): adopt existing Pi and OpenCode sessions from the catalog
* fix(ci): satisfy dead-code and temp-path guards
* docs(acpx): record why pi-acp session-root resolution stays strict
2026-07-25 08:35:47 -07:00
Peter Steinberger
f703d803cc
chore(models): curate all provider model catalogs to current-generation lineups ( #113681 )
...
* chore(models): fleet-wide provider catalog curation
* fix(models): sync provider runtime catalogs and tests with curated manifests
* test(models): align venice lifecycle assertions and copilot auth default with curated catalogs
* test(models): align catalog lifecycle contract checks
2026-07-25 07:21:17 -07:00
Jason (Json)
55cf9523e0
feat: discover models from live provider catalogs ( #112412 )
...
* feat: discover models from live provider catalogs
* fix(provider-catalog): satisfy current catalog contracts
* fix(deps): update fast-uri past new advisory
* fix(deps): refresh fast-uri shrinkwraps
* fix(openrouter): satisfy provider catalog lint
* fix(agents): preserve refreshable catalog metadata
* test(agents): keep catalog fallback proof within lint budget
* fix(provider-catalog): honor live model contracts
* fix(minimax): type discovery headers explicitly
* docs(plugin-sdk): define live model discovery contract
2026-07-21 19:29:57 -06:00
Peter Steinberger
3b84a55d99
refactor(protocol): pre-publish cheat-window cleanup and vintage tracking ( #111041 )
...
* fix(codex): drain dynamic-tool handlers before side-thread cleanup
* refactor(protocol): rename question ids to questionId and flatten answer maps
* refactor(protocol): slim worker stack and unify session-catalog shapes
* refactor(protocol): delete dead public surface and polish packaging
* feat(protocol): track release-train vintage on gateway methods and schemas
* fix(apps): align question surfaces merged from main with reshaped protocol
* test(health): shape secret fixtures to scanner-safe token names
* test(health): use scanner-safe token fixtures
* fix(apps): align question surfaces merged from main with reshaped protocol
* fix(ci): prove reshaped protocol in shallow checks
* fix(ui): align sidebar question fixtures with protocol
* fix(apps): read flat Swift question answers
* fix(apps): align question surfaces merged from main with reshaped protocol
* fix(apps): refresh native question inventory
* fix(apps): align macOS snapshot fixtures with protocol
* fix(ui): align narration question fixture with protocol
2026-07-19 04:07:15 -07:00
mushuiyu886
d411559dfb
fix(acp): reject malformed session list cursors ( #107895 )
...
* fix(acp): reject malformed session list cursors
* fix(session-catalog): validate pagination cursors exactly
Co-authored-by: 杨浩宇0668001029 <yang.haoyu@xydigit.com >
* refactor(session-catalog): align search normalization owner
* refactor(session-catalog): keep parsing helpers private
Co-authored-by: 杨浩宇0668001029 <yang.haoyu@xydigit.com >
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-19 00:38:02 +01:00
mushuiyu886
42e6972d35
fix(opencode): Zen GPT-5.6 models are missing from discovery ( #110405 )
...
* fix(opencode): add Zen GPT-5.6 models
* test(opencode): narrow GPT-5.6 policy fixture
* fix(opencode): align GPT-5.6 thinking levels
Co-authored-by: 杨浩宇0668001029 <yang.haoyu@xydigit.com >
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-18 11:14:05 +01:00
Wynne668
5f56a541d3
fix(opencode): preserve Unicode in catalog tool input ( #109591 )
...
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-16 21:10:18 -07:00
Peter Steinberger
0631252f4b
refactor: reduce plugin SDK test import overhead ( #109333 )
...
* refactor(test): split plugin SDK test helpers
* fix(test): align plugin SDK test subpaths
2026-07-16 13:55:23 -07:00
qingminlong
552fd224cf
fix(opencode): reject output stream failures in session catalog ( #108218 )
...
* fix(opencode): reject output stream failures in session catalog
* test(opencode): format stream failure regression
* test(opencode): prove output pipe failure cleanup
Co-authored-by: qingminlong <qing.minlong@xydigit.com >
* test(opencode): satisfy pipe proof lint
Co-authored-by: qingminlong <qing.minlong@xydigit.com >
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-16 04:57:28 -07:00
Peter Steinberger
e7cba0e4d5
fix: provider dead exports no longer block changed checks ( #108592 )
...
* fix(ci): clean provider dead exports
* test(extensions): satisfy provider contract types
* refactor(openai): tighten provider runtime factory
2026-07-15 22:33:54 -07:00
Peter Steinberger
0393189243
chore(plugins): gate deprecation hygiene in CI and purge internal deprecated usage ( #108261 )
...
* chore(plugins): gate deprecation hygiene in CI and purge internal deprecated usage
* fix(agents): migrate auth-profiles oauth import to OAuthProviderId
* fix(whatsapp): use durability param in delivery-recovery test
* chore(scripts): declare shouldRunDeprecationHygieneChecks in check-changed types
* test(plugins): update runtime-api guard for ssrf policy rename
2026-07-15 04:15:23 -07:00
Peter Steinberger
026b688161
refactor(session-catalog): normalize search at gateway ( #108240 )
...
Co-authored-by: Leon-SK668 <0668001470@xydigit.com >
2026-07-15 03:38:05 -07:00
Peter Steinberger
6eda184f27
refactor: simplify native session executable resolution ( #108169 )
2026-07-15 01:49:45 -07:00
Leon-SK668
42d42703e6
fix(session-catalog): keep searches UTF-16 safe ( #107719 )
2026-07-15 01:16:01 -07:00
Peter Steinberger
57d926b4fd
fix: connect resumed native terminals reliably ( #107688 )
...
* fix: render resumed paired-node terminals
* fix(control-ui): connect native catalog terminals reliably
* chore: keep release notes in PR body
* fix(control-ui): require terminal reconnect cancellation
* fix(gateway): cancel timed-out terminal opens safely
* fix(control-ui): recover stalled terminal opens
* chore(ui): refresh i18n fallback baseline
* fix: preserve login shell path for resumed terminals
* refactor(plugin-sdk): avoid extra resolver export
* fix(gateway): normalize terminal open failures
* test(control-ui): split terminal readiness coverage
* docs: explain catalog terminal PATH restoration
* fix(control-ui): complete terminal readiness release gates
* fix(ci): remove unused shell resolver exports
* chore(plugin-sdk): refresh API baseline after rebase
2026-07-14 19:18:19 -07:00
Peter Steinberger
e0b52a9618
feat: resume OpenCode and Pi sessions in terminal ( #107200 )
...
* feat: resume OpenCode and Pi sessions in terminal
* refactor: keep Pi session commands internal
2026-07-13 23:54:40 -07:00
Peter Steinberger
05fb55eb7b
feat: discover OpenCode and Pi sessions on paired nodes ( #106941 )
...
* feat(sessions): add opencode and pi catalogs
* fix(sessions): satisfy catalog lint
* fix(sessions): validate pi storage paths
* fix(sessions): index growing pi transcripts
* refactor(sessions): split pi path resolution
* docs(sessions): refresh catalog map
* refactor(sessions): privatize pi catalog internals
* fix(sessions): validate node catalog payloads
* fix(sessions): harden external catalog discovery
* fix(sessions): normalize catalog transcript data
* refactor(gateway): keep node scope gate compact
* fix(opencode): reject option-like session ids
* fix(sessions): align external id validation
2026-07-13 21:45:53 -07:00
Peter Steinberger
dba64d574f
chore(release): set version to 2026.7.2
2026-07-11 04:00:49 +01:00
Peter Steinberger
25e93ef9f9
fix(opencode): list current Zen models in offline discovery ( #103197 )
...
* fix(opencode): refresh Zen model catalog
* fix(opencode): expose static catalog fallback
2026-07-10 02:44:56 +01:00
Peter Steinberger
80537c1ba4
feat(macos): load provider catalog during AI onboarding ( #101132 )
...
* feat(macos): load onboarding providers from gateway
* test(crestodian): widen setup config mock
* fix(crestodian): satisfy onboarding lint gate
* chore(macos): refresh onboarding localization inventory
* test(plugins): cover guided Copilot secret metadata
2026-07-06 20:57:56 +01:00
Vincent Koc
66e676d29b
chore(release): close out 2026.6.11 on main
2026-06-30 11:31:08 -07:00
mushuiyu886
891096926e
fix(opencode): restore Zen model catalog ( #92495 )
...
* fix(opencode): restore Zen model catalog
* fix(opencode): restore Zen transport routing
* fix(opencode): broaden Zen fallback catalog
* fix(opencode): correct Zen family routing
* fix(opencode): route Zen MiniMax through Anthropic
* fix(opencode): filter Zen live-only catalog rows
* fix(opencode): route MiniMax through Zen chat completions
* fix(opencode): omit unverified Zen model costs
* fix(opencode): align sampled Zen costs
* fix(opencode): keep Zen cost metadata required
* fix(opencode): keep Zen docs examples resolvable
* fix(opencode): move Zen catalog to provider discovery
* test(opencode): cover Zen discovery cache isolation
* fix(opencode): add Zen GLM-5.2 catalog coverage
* test(opencode): detect Zen catalog drift
Signed-off-by: sallyom <somalley@redhat.com >
---------
Signed-off-by: sallyom <somalley@redhat.com >
Co-authored-by: sallyom <somalley@redhat.com >
2026-06-28 12:32:44 -04:00
Vincent Koc
0671c08900
chore(release): close out 2026.6.10 on main ( #96271 )
...
* chore(release): close out 2026.6.10 on main
* chore(release): align native app metadata for 2026.6.10
* chore(release): sync Android 2026.6.10 notes
* docs(changelog): preserve 2026.6.9 history
* docs(changelog): preserve 2026.6.9 history
2026-06-24 11:51:14 +08:00
Patrick Erichsen
0feffda3fc
fix(plugins): remove simpleicons icon color paths ( #95987 )
2026-06-23 12:16:02 -07:00
Patrick Erichsen
0a97f73402
feat: add bundled plugin icon manifest URLs ( #95845 )
2026-06-22 22:14:18 -07:00
Vincent Koc
b039e949b6
chore(release): close out 2026.6.9
2026-06-21 12:24:15 +08:00
Vincent Koc
6774e7f259
chore(release): sync main to 2026.6.8
2026-06-17 07:25:30 +08:00
Shakker
920e6a8eec
chore: set version 2026.6.9
2026-06-16 19:54:07 +01:00
Peter Steinberger
4fa5092cdc
docs: document small extension sources
2026-06-04 21:02:07 -04:00
Peter Steinberger
1878ca0820
chore(release): prepare 2026.6.2 beta
2026-06-04 00:06:52 +01:00
Peter Steinberger
e254346bc2
chore(release): prepare 2026.6.3 beta
2026-06-03 23:42:34 +01:00
Peter Steinberger
a14eacf372
chore(release): set version 2026.6.2
2026-06-01 23:06:55 +01:00