@gajae-code/coding-agent 0.18.6 → 0.18.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/CHANGELOG.md +318 -1
  2. package/dist/types/async/job-manager.d.ts +1 -1
  3. package/dist/types/capability/mcp.d.ts +2 -0
  4. package/dist/types/capability/skill.d.ts +2 -0
  5. package/dist/types/capability/types.d.ts +6 -0
  6. package/dist/types/cli/public-command-errors.d.ts +3 -1
  7. package/dist/types/cli/setup-cli.d.ts +1 -1
  8. package/dist/types/commands/deep-interview.d.ts +3 -0
  9. package/dist/types/config/autorouting-tier-map.d.ts +348 -9
  10. package/dist/types/config/file-lock.d.ts +1 -0
  11. package/dist/types/config/model-bindings-applier.d.ts +2 -0
  12. package/dist/types/config/model-profile-activation.d.ts +11 -3
  13. package/dist/types/config/model-registry.d.ts +4 -9
  14. package/dist/types/config/settings.d.ts +4 -0
  15. package/dist/types/config/skill-settings-defaults.d.ts +2 -0
  16. package/dist/types/cursor-delete-path.d.ts +1 -0
  17. package/dist/types/cursor-mcp-name.d.ts +8 -0
  18. package/dist/types/customization/inventory.d.ts +2 -0
  19. package/dist/types/debug/report-bundle-parent.d.ts +2 -0
  20. package/dist/types/defaults/gjc/extensions/grok-cli-vendor/src/provider/stream.d.ts +1 -0
  21. package/dist/types/defaults/gjc/extensions/grok-cli-vendor/src/provider/version-manager.d.ts +31 -0
  22. package/dist/types/defaults/gjc-skills.generated.d.ts +5 -6
  23. package/dist/types/discovery/helpers.d.ts +8 -3
  24. package/dist/types/export/html/css-color.d.ts +2 -0
  25. package/dist/types/export/html/template.generated.d.ts +1 -1
  26. package/dist/types/extensibility/extensions/types.d.ts +7 -0
  27. package/dist/types/extensibility/gjc-plugins/runtime-adapters.d.ts +14 -1
  28. package/dist/types/extensibility/plugins/marketplace/cache.d.ts +2 -0
  29. package/dist/types/extensibility/plugins/plugin-link-path.d.ts +2 -0
  30. package/dist/types/extensibility/runtime-skill-discovery.d.ts +3 -1
  31. package/dist/types/extensibility/skill-management.d.ts +3 -1
  32. package/dist/types/extensibility/skills.d.ts +2 -0
  33. package/dist/types/gjc-runtime/deep-interview-crystallize.d.ts +74 -0
  34. package/dist/types/gjc-runtime/deep-interview-runtime.d.ts +11 -0
  35. package/dist/types/gjc-runtime/gc-runtime.d.ts +5 -0
  36. package/dist/types/gjc-runtime/ralplan-runtime.d.ts +0 -5
  37. package/dist/types/gjc-runtime/state-argv.d.ts +1 -1
  38. package/dist/types/gjc-runtime/state-migrations.d.ts +8 -0
  39. package/dist/types/gjc-runtime/state-runtime.d.ts +95 -0
  40. package/dist/types/gjc-runtime/state-writer.d.ts +11 -1
  41. package/dist/types/gjc-runtime/ultragoal-runtime.d.ts +8 -0
  42. package/dist/types/internal-urls/skill-path.d.ts +1 -0
  43. package/dist/types/lsp/workspace-path.d.ts +1 -0
  44. package/dist/types/modes/acp/acp-agent.d.ts +7 -0
  45. package/dist/types/modes/components/custom-editor.d.ts +6 -0
  46. package/dist/types/modes/components/customization/customization-dashboard.d.ts +1 -0
  47. package/dist/types/modes/components/extensions/state-manager.d.ts +4 -3
  48. package/dist/types/modes/controllers/input-controller.d.ts +9 -0
  49. package/dist/types/modes/interactive-mode.d.ts +1 -0
  50. package/dist/types/modes/utils/interrupt-ownership.d.ts +3 -0
  51. package/dist/types/modes/utils/keybinding-matchers.d.ts +1 -0
  52. package/dist/types/modes/utils/macos-option-forwarding.d.ts +17 -0
  53. package/dist/types/progress/collect-project-progress.d.ts +38 -0
  54. package/dist/types/progress/progress-contract.d.ts +154 -0
  55. package/dist/types/progress/progress-snapshot.d.ts +11 -0
  56. package/dist/types/progress/project-progress.d.ts +141 -0
  57. package/dist/types/progress/render-progress.d.ts +28 -0
  58. package/dist/types/runtime-mcp/elicitation.d.ts +12 -0
  59. package/dist/types/runtime-mcp/oauth-public-url.d.ts +1 -0
  60. package/dist/types/runtime-mcp/plugin-network-boundary.d.ts +1 -0
  61. package/dist/types/runtime-mcp/smithery-registry.d.ts +24 -0
  62. package/dist/types/runtime-mcp/types.d.ts +6 -0
  63. package/dist/types/sdk/acp/adapter.d.ts +1 -1
  64. package/dist/types/sdk/broker/broker-exit.d.ts +6 -2
  65. package/dist/types/sdk/broker/broker.d.ts +18 -1
  66. package/dist/types/sdk/broker/lifecycle.d.ts +9 -0
  67. package/dist/types/sdk/broker/session-index.d.ts +12 -6
  68. package/dist/types/sdk/broker/task-artifact-owner-validation.d.ts +55 -0
  69. package/dist/types/sdk/bus/index.d.ts +12 -1
  70. package/dist/types/sdk/bus/telegram-daemon-contract.d.ts +6 -1
  71. package/dist/types/sdk/bus/telegram-daemon.d.ts +3 -2
  72. package/dist/types/sdk/client/client.d.ts +2 -0
  73. package/dist/types/sdk/host/host.d.ts +6 -0
  74. package/dist/types/sdk/host/query/handlers.d.ts +3 -0
  75. package/dist/types/sdk/index.d.ts +1 -0
  76. package/dist/types/sdk/router/session-router.d.ts +9 -0
  77. package/dist/types/sdk/session-list.d.ts +1 -1
  78. package/dist/types/sdk/session.d.ts +8 -0
  79. package/dist/types/session/agent-session.d.ts +38 -9
  80. package/dist/types/session/artifacts.d.ts +2 -2
  81. package/dist/types/session/internal/managed-gc-retirement-codec.d.ts +32 -0
  82. package/dist/types/session/internal/managed-session-scope.d.ts +79 -2
  83. package/dist/types/session/internal/managed-session-storage.d.ts +36 -1
  84. package/dist/types/session/internal/managed-task-owner-cleanup.d.ts +62 -0
  85. package/dist/types/session/internal/task-artifact-owner-access.d.ts +19 -0
  86. package/dist/types/session/internal/task-artifact-owner-transcript.d.ts +11 -0
  87. package/dist/types/session/session-manager.d.ts +31 -5
  88. package/dist/types/session/session-retirement.d.ts +71 -0
  89. package/dist/types/session/session-storage.d.ts +62 -48
  90. package/dist/types/session/session-transcript-header.d.ts +2 -0
  91. package/dist/types/session/task-artifact-owner-codec.d.ts +109 -0
  92. package/dist/types/session/task-artifact-owner-retirement.d.ts +7 -0
  93. package/dist/types/session/task-artifact-owner.d.ts +10 -0
  94. package/dist/types/setup/credential-auto-import.d.ts +1 -1
  95. package/dist/types/setup/credential-import.d.ts +6 -4
  96. package/dist/types/skill-state/active-state.d.ts +38 -0
  97. package/dist/types/slash-commands/helpers/progress-report.d.ts +8 -0
  98. package/dist/types/task/executor.d.ts +3 -0
  99. package/dist/types/tools/bash-skill-urls.d.ts +1 -1
  100. package/dist/types/tools/index.d.ts +3 -0
  101. package/dist/types/tools/python.d.ts +9 -1
  102. package/dist/types/tools/recipe/recipe-guard.d.ts +7 -0
  103. package/dist/types/tools/restricted-cwd.d.ts +1 -0
  104. package/dist/types/tools/todo-write.d.ts +6 -0
  105. package/dist/types/utils/tools-checksum.d.ts +7 -0
  106. package/package.json +7 -7
  107. package/scripts/generate-sdk-operation-inventory.ts +21 -0
  108. package/scripts/resident-memory-bench.ts +174 -20
  109. package/scripts/verify-managed-empty-stop.ts +28 -0
  110. package/src/async/job-manager.ts +228 -122
  111. package/src/capability/index.ts +18 -0
  112. package/src/capability/mcp.ts +2 -0
  113. package/src/capability/skill.ts +2 -0
  114. package/src/capability/types.ts +6 -0
  115. package/src/cli/auth-broker-cli.ts +1 -1
  116. package/src/cli/config-cli.ts +8 -18
  117. package/src/cli/customize-doctor.ts +15 -2
  118. package/src/cli/public-command-errors.ts +21 -1
  119. package/src/cli/setup-cli.ts +4 -4
  120. package/src/cli/skills-cli.ts +5 -0
  121. package/src/cli-main.ts +7 -8
  122. package/src/commands/deep-interview.ts +47 -8
  123. package/src/commands/sdk.ts +140 -29
  124. package/src/config/autorouting-tier-map.ts +117 -7
  125. package/src/config/file-lock.ts +307 -68
  126. package/src/config/mcp-schema.json +4 -0
  127. package/src/config/model-bindings-applier.ts +20 -0
  128. package/src/config/model-profile-activation.ts +240 -46
  129. package/src/config/model-registry.ts +47 -153
  130. package/src/config/settings.ts +44 -4
  131. package/src/config/skill-settings-defaults.ts +7 -0
  132. package/src/coordinator-mcp/policy.ts +3 -2
  133. package/src/cursor-delete-path.ts +10 -0
  134. package/src/cursor-mcp-name.ts +15 -0
  135. package/src/cursor.ts +13 -2
  136. package/src/customization/inventory.ts +3 -0
  137. package/src/debug/report-bundle-parent.ts +22 -0
  138. package/src/debug/report-bundle.ts +3 -0
  139. package/src/debug/system-info.ts +13 -1
  140. package/src/defaults/gjc/extensions/grok-cli-vendor/src/provider/stream.ts +67 -4
  141. package/src/defaults/gjc/extensions/grok-cli-vendor/src/provider/version-manager.ts +80 -0
  142. package/src/defaults/gjc/skills/deep-interview/SKILL.md +105 -10
  143. package/src/defaults/gjc/skills/ralplan/SKILL.md +6 -4
  144. package/src/defaults/gjc-defaults.test.ts +18 -1
  145. package/src/defaults/gjc-defaults.ts +3 -0
  146. package/src/defaults/gjc-skills.generated.ts +58 -36
  147. package/src/discovery/agents.ts +6 -1
  148. package/src/discovery/builtin.ts +10 -0
  149. package/src/discovery/helpers.ts +168 -23
  150. package/src/discovery/mcp-json.ts +6 -0
  151. package/src/discovery/ssh.ts +9 -4
  152. package/src/discovery/substitute-plugin-root.ts +3 -1
  153. package/src/edit/file-read-cache.ts +1 -1
  154. package/src/eval/py/executor.ts +380 -120
  155. package/src/export/html/css-color.ts +9 -0
  156. package/src/export/html/index.ts +5 -4
  157. package/src/export/html/template.generated.ts +1 -1
  158. package/src/extensibility/extensions/runner.ts +4 -0
  159. package/src/extensibility/extensions/types.ts +7 -0
  160. package/src/extensibility/gjc-plugins/runtime-adapters.ts +73 -8
  161. package/src/extensibility/plugins/manager.ts +3 -2
  162. package/src/extensibility/plugins/marketplace/cache.ts +15 -0
  163. package/src/extensibility/plugins/marketplace/manager.ts +11 -3
  164. package/src/extensibility/plugins/plugin-link-path.ts +12 -0
  165. package/src/extensibility/runtime-skill-discovery.ts +20 -2
  166. package/src/extensibility/skill-management.ts +6 -2
  167. package/src/extensibility/skills.ts +6 -1
  168. package/src/gjc-runtime/deep-interview-crystallize.ts +1814 -0
  169. package/src/gjc-runtime/deep-interview-recorder.ts +20 -2
  170. package/src/gjc-runtime/deep-interview-runtime.ts +1415 -13
  171. package/src/gjc-runtime/deep-interview-stage.ts +98 -21
  172. package/src/gjc-runtime/gc-runtime.ts +206 -8
  173. package/src/gjc-runtime/launch-worktree.ts +14 -4
  174. package/src/gjc-runtime/ralplan-runtime.ts +447 -52
  175. package/src/gjc-runtime/state-argv.ts +2 -0
  176. package/src/gjc-runtime/state-migrations.ts +91 -29
  177. package/src/gjc-runtime/state-runtime.ts +3716 -135
  178. package/src/gjc-runtime/state-writer.ts +83 -8
  179. package/src/gjc-runtime/ultragoal-runtime.ts +16 -4
  180. package/src/gjc-runtime/workflow-manifest.generated.json +70 -42
  181. package/src/gjc-runtime/workflow-manifest.ts +54 -21
  182. package/src/harness-control-plane/operate.ts +12 -4
  183. package/src/harness-control-plane/owner.ts +5 -1
  184. package/src/hashline/parser.ts +48 -9
  185. package/src/hashline/recovery.ts +13 -4
  186. package/src/hindsight/config.ts +9 -3
  187. package/src/internal-urls/docs-index.generated.ts +19 -18
  188. package/src/internal-urls/skill-path.ts +19 -0
  189. package/src/internal-urls/skill-protocol.ts +2 -0
  190. package/src/lsp/edits.ts +6 -0
  191. package/src/lsp/workspace-path.ts +51 -0
  192. package/src/main.ts +195 -31
  193. package/src/modes/acp/acp-agent.ts +163 -7
  194. package/src/modes/components/custom-editor.ts +14 -0
  195. package/src/modes/components/customization/customization-dashboard.ts +12 -0
  196. package/src/modes/components/extensions/extension-dashboard.ts +2 -2
  197. package/src/modes/components/extensions/state-manager.ts +15 -5
  198. package/src/modes/components/model-selector.ts +1 -4
  199. package/src/modes/components/provider-onboarding-selector.ts +1 -1
  200. package/src/modes/components/status-line/segments.ts +4 -0
  201. package/src/modes/controllers/event-controller.ts +11 -4
  202. package/src/modes/controllers/input-controller.ts +74 -29
  203. package/src/modes/controllers/runtime-mcp-command-controller.ts +8 -3
  204. package/src/modes/controllers/selector-controller.ts +28 -15
  205. package/src/modes/interactive-mode.ts +4 -0
  206. package/src/modes/runtime-init.ts +4 -0
  207. package/src/modes/utils/abort-message.ts +3 -1
  208. package/src/modes/utils/interrupt-ownership.ts +12 -0
  209. package/src/modes/utils/keybinding-matchers.ts +4 -0
  210. package/src/modes/utils/macos-option-forwarding.ts +80 -0
  211. package/src/progress/collect-project-progress.ts +153 -0
  212. package/src/progress/progress-contract.ts +172 -0
  213. package/src/progress/progress-snapshot.ts +140 -0
  214. package/src/progress/project-progress.ts +446 -0
  215. package/src/progress/render-progress.ts +209 -0
  216. package/src/prompts/system/master-mode.md +1 -0
  217. package/src/prompts/tools/skill-discovery.md +1 -1
  218. package/src/runtime-mcp/client.ts +13 -4
  219. package/src/runtime-mcp/config-writer.ts +10 -6
  220. package/src/runtime-mcp/config.ts +1 -0
  221. package/src/runtime-mcp/elicitation.ts +142 -0
  222. package/src/runtime-mcp/oauth-flow.ts +5 -0
  223. package/src/runtime-mcp/oauth-public-url.ts +8 -0
  224. package/src/runtime-mcp/plugin-network-boundary.ts +4 -0
  225. package/src/runtime-mcp/smithery-registry.ts +22 -3
  226. package/src/runtime-mcp/transports/http.ts +2 -2
  227. package/src/runtime-mcp/types.ts +6 -0
  228. package/src/sdk/acp/adapter.ts +93 -8
  229. package/src/sdk/broker/broker-exit.ts +52 -23
  230. package/src/sdk/broker/broker.ts +83 -7
  231. package/src/sdk/broker/ensure.ts +2 -0
  232. package/src/sdk/broker/lifecycle.ts +820 -73
  233. package/src/sdk/broker/session-index.ts +191 -81
  234. package/src/sdk/broker/task-artifact-owner-validation.ts +259 -0
  235. package/src/sdk/bus/chat-daemon-cli.ts +38 -1
  236. package/src/sdk/bus/chat-daemon-control.ts +2 -2
  237. package/src/sdk/bus/chat-daemon-runtime.ts +3 -0
  238. package/src/sdk/bus/index.ts +241 -46
  239. package/src/sdk/bus/telegram-daemon-contract.ts +6 -1
  240. package/src/sdk/bus/telegram-daemon.ts +4 -2
  241. package/src/sdk/cli/session-cli.ts +17 -3
  242. package/src/sdk/client/client.ts +28 -8
  243. package/src/sdk/host/host.ts +6 -0
  244. package/src/sdk/host/query/handlers.ts +9 -1
  245. package/src/sdk/host/session-runtime.test.ts +2805 -411
  246. package/src/sdk/host/session-runtime.ts +428 -111
  247. package/src/sdk/host/surface-policy.ts +1 -0
  248. package/src/sdk/index.ts +8 -0
  249. package/src/sdk/lifecycle-session.ts +3 -1
  250. package/src/sdk/mcp/server.ts +15 -3
  251. package/src/sdk/prompt-deadline-manager.ts +15 -0
  252. package/src/sdk/protocol/operation-inventory.generated.json +146 -0
  253. package/src/sdk/protocol/operation-registry.ts +9 -2
  254. package/src/sdk/router/session-router.ts +94 -14
  255. package/src/sdk/session-list.ts +1 -0
  256. package/src/sdk/session.ts +81 -38
  257. package/src/session/agent-session.ts +674 -224
  258. package/src/session/artifacts.ts +174 -70
  259. package/src/session/internal/managed-gc-retirement-codec.ts +319 -0
  260. package/src/session/internal/managed-session-scope.ts +3457 -462
  261. package/src/session/internal/managed-session-storage.ts +482 -61
  262. package/src/session/internal/managed-task-owner-cleanup.ts +473 -0
  263. package/src/session/internal/task-artifact-owner-access.ts +245 -0
  264. package/src/session/internal/task-artifact-owner-transcript.ts +614 -0
  265. package/src/session/session-manager.ts +939 -133
  266. package/src/session/session-retirement.ts +714 -0
  267. package/src/session/session-storage.ts +418 -174
  268. package/src/session/session-transcript-header.ts +17 -0
  269. package/src/session/task-artifact-owner-codec.ts +641 -0
  270. package/src/session/task-artifact-owner-retirement.ts +477 -0
  271. package/src/session/task-artifact-owner.ts +289 -0
  272. package/src/setup/credential-auto-import.ts +12 -3
  273. package/src/setup/credential-import.ts +176 -5
  274. package/src/setup/paseo/announce.ts +6 -1
  275. package/src/skill-state/active-state.ts +132 -2
  276. package/src/slash-commands/builtin-registry.ts +39 -9
  277. package/src/slash-commands/helpers/progress-report.ts +23 -0
  278. package/src/stt/setup.ts +3 -5
  279. package/src/task/commands.ts +3 -1
  280. package/src/task/executor.ts +4 -0
  281. package/src/task/index.ts +6 -0
  282. package/src/tools/ask.ts +205 -6
  283. package/src/tools/ast-edit.ts +4 -0
  284. package/src/tools/bash-allowed-prefixes.ts +15 -0
  285. package/src/tools/bash-skill-urls.ts +56 -3
  286. package/src/tools/bash.ts +48 -79
  287. package/src/tools/descriptors.ts +5 -1
  288. package/src/tools/eval.ts +56 -36
  289. package/src/tools/image-gen.ts +1 -1
  290. package/src/tools/index.ts +3 -0
  291. package/src/tools/python.ts +187 -66
  292. package/src/tools/recipe/index.ts +9 -0
  293. package/src/tools/recipe/recipe-guard.ts +19 -0
  294. package/src/tools/restricted-cwd.ts +10 -0
  295. package/src/tools/skill-discovery.ts +5 -0
  296. package/src/tools/skill.ts +28 -1
  297. package/src/tools/todo-write.ts +10 -1
  298. package/src/tools/tool-catalog.generated.ts +1 -1
  299. package/src/tools/write.ts +1 -0
  300. package/src/utils/tools-checksum.ts +34 -0
  301. package/src/utils/tools-manager.ts +24 -6
  302. package/src/web/search/providers/codex.ts +3 -2
@@ -132,18 +132,9 @@ export declare const CURATED_TIER_LABELS: {
132
132
  };
133
133
  /** Generated from packages/ai/src/models.json at feature land: 3936 in-scope baseline skips. */
134
134
  export declare const TIER_MAP_SKIP_LIST: {
135
- readonly "amazon-bedrock/anthropic.claude-sonnet-5-5": {
136
- readonly rationale: "Sonnet 5.5 catalog addition (#6111); not yet curated";
137
- };
138
135
  readonly "amazon-bedrock/au.anthropic.claude-sonnet-5-5": {
139
136
  readonly rationale: "Sonnet 5.5 catalog addition (#6111); not yet curated";
140
137
  };
141
- readonly "amazon-bedrock/eu.anthropic.claude-sonnet-5-5": {
142
- readonly rationale: "Sonnet 5.5 catalog addition (#6111); not yet curated";
143
- };
144
- readonly "amazon-bedrock/global.anthropic.claude-sonnet-5-5": {
145
- readonly rationale: "Sonnet 5.5 catalog addition (#6111); not yet curated";
146
- };
147
138
  readonly "amazon-bedrock/jp.anthropic.claude-sonnet-5-5": {
148
139
  readonly rationale: "Sonnet 5.5 catalog addition (#6111); not yet curated";
149
140
  };
@@ -18042,6 +18033,354 @@ export declare const TIER_MAP_SKIP_LIST: {
18042
18033
  readonly "kiro/qwen3-coder-next": {
18043
18034
  readonly rationale: "Kiro API-key catalog addition; not yet curated";
18044
18035
  };
18036
+ readonly "amazon-bedrock/anthropic.claude-sonnet-5-5": {
18037
+ readonly rationale: "models.dev refresh addition; not yet curated";
18038
+ };
18039
+ readonly "amazon-bedrock/eu.anthropic.claude-sonnet-5-5": {
18040
+ readonly rationale: "models.dev refresh addition; not yet curated";
18041
+ };
18042
+ readonly "amazon-bedrock/global.anthropic.claude-sonnet-5-5": {
18043
+ readonly rationale: "models.dev refresh addition; not yet curated";
18044
+ };
18045
+ readonly "amazon-bedrock/global.moonshotai.kimi-k3": {
18046
+ readonly rationale: "models.dev refresh addition; not yet curated";
18047
+ };
18048
+ readonly "amazon-bedrock/global.openai.gpt-6-luna": {
18049
+ readonly rationale: "models.dev refresh addition; not yet curated";
18050
+ };
18051
+ readonly "amazon-bedrock/global.openai.gpt-6-sol": {
18052
+ readonly rationale: "models.dev refresh addition; not yet curated";
18053
+ };
18054
+ readonly "amazon-bedrock/global.openai.gpt-6.1-sol": {
18055
+ readonly rationale: "models.dev refresh addition; not yet curated";
18056
+ };
18057
+ readonly "amazon-bedrock/global.xai.grok-4.7": {
18058
+ readonly rationale: "models.dev refresh addition; not yet curated";
18059
+ };
18060
+ readonly "amazon-bedrock/openai.gpt-6-luna": {
18061
+ readonly rationale: "models.dev refresh addition; not yet curated";
18062
+ };
18063
+ readonly "amazon-bedrock/openai.gpt-6-sol": {
18064
+ readonly rationale: "models.dev refresh addition; not yet curated";
18065
+ };
18066
+ readonly "amazon-bedrock/openai.gpt-6.1-sol": {
18067
+ readonly rationale: "models.dev refresh addition; not yet curated";
18068
+ };
18069
+ readonly "amazon-bedrock/us.moonshotai.kimi-k3": {
18070
+ readonly rationale: "models.dev refresh addition; not yet curated";
18071
+ };
18072
+ readonly "amazon-bedrock/us.openai.gpt-6-luna": {
18073
+ readonly rationale: "models.dev refresh addition; not yet curated";
18074
+ };
18075
+ readonly "amazon-bedrock/us.openai.gpt-6-sol": {
18076
+ readonly rationale: "models.dev refresh addition; not yet curated";
18077
+ };
18078
+ readonly "amazon-bedrock/us.openai.gpt-6.1-sol": {
18079
+ readonly rationale: "models.dev refresh addition; not yet curated";
18080
+ };
18081
+ readonly "amazon-bedrock/us.xai.grok-4.7": {
18082
+ readonly rationale: "models.dev refresh addition; not yet curated";
18083
+ };
18084
+ readonly "cloudflare-ai-gateway/anthropic/claude-opus-5.5": {
18085
+ readonly rationale: "models.dev refresh addition; not yet curated";
18086
+ };
18087
+ readonly "cloudflare-ai-gateway/openai/gpt-6-luna": {
18088
+ readonly rationale: "models.dev refresh addition; not yet curated";
18089
+ };
18090
+ readonly "cloudflare-ai-gateway/openai/gpt-6-sol": {
18091
+ readonly rationale: "models.dev refresh addition; not yet curated";
18092
+ };
18093
+ readonly "cloudflare-ai-gateway/xai/grok-4.7": {
18094
+ readonly rationale: "models.dev refresh addition; not yet curated";
18095
+ };
18096
+ readonly "deepinfra/XiaomiMiMo/MiMo-V2.6-Flash": {
18097
+ readonly rationale: "models.dev refresh addition; not yet curated";
18098
+ };
18099
+ readonly "deepinfra/XiaomiMiMo/MiMo-V2.6-Pro": {
18100
+ readonly rationale: "models.dev refresh addition; not yet curated";
18101
+ };
18102
+ readonly "deepinfra/tencent/Hy4-preview": {
18103
+ readonly rationale: "models.dev refresh addition; not yet curated";
18104
+ };
18105
+ readonly "github-copilot/claude-opus-5.5": {
18106
+ readonly rationale: "models.dev refresh addition; not yet curated";
18107
+ };
18108
+ readonly "github-copilot/claude-sonnet-5.5": {
18109
+ readonly rationale: "models.dev refresh addition; not yet curated";
18110
+ };
18111
+ readonly "github-copilot/gpt-6-luna": {
18112
+ readonly rationale: "models.dev refresh addition; not yet curated";
18113
+ };
18114
+ readonly "github-copilot/gpt-6-sol": {
18115
+ readonly rationale: "models.dev refresh addition; not yet curated";
18116
+ };
18117
+ readonly "github-copilot/gpt-6.1-sol": {
18118
+ readonly rationale: "models.dev refresh addition; not yet curated";
18119
+ };
18120
+ readonly "kilo/aion-labs/aion-3.5": {
18121
+ readonly rationale: "models.dev refresh addition; not yet curated";
18122
+ };
18123
+ readonly "kilo/aion-labs/aion-3.5-mini": {
18124
+ readonly rationale: "models.dev refresh addition; not yet curated";
18125
+ };
18126
+ readonly "kilo/anthropic/claude-sonnet-5.5": {
18127
+ readonly rationale: "models.dev refresh addition; not yet curated";
18128
+ };
18129
+ readonly "kilo/cohere/command-a-plus": {
18130
+ readonly rationale: "models.dev refresh addition; not yet curated";
18131
+ };
18132
+ readonly "kilo/fireworks/ember-1": {
18133
+ readonly rationale: "models.dev refresh addition; not yet curated";
18134
+ };
18135
+ readonly "kilo/openai/gpt-6-luna": {
18136
+ readonly rationale: "models.dev refresh addition; not yet curated";
18137
+ };
18138
+ readonly "kilo/openai/gpt-6-luna-pro": {
18139
+ readonly rationale: "models.dev refresh addition; not yet curated";
18140
+ };
18141
+ readonly "kilo/openai/gpt-6-sol": {
18142
+ readonly rationale: "models.dev refresh addition; not yet curated";
18143
+ };
18144
+ readonly "kilo/openai/gpt-6-sol-pro": {
18145
+ readonly rationale: "models.dev refresh addition; not yet curated";
18146
+ };
18147
+ readonly "kilo/openai/gpt-6.1-sol": {
18148
+ readonly rationale: "models.dev refresh addition; not yet curated";
18149
+ };
18150
+ readonly "kilo/openai/gpt-6.1-sol-pro": {
18151
+ readonly rationale: "models.dev refresh addition; not yet curated";
18152
+ };
18153
+ readonly "kilo/perceptron/perceptron-mk1.5": {
18154
+ readonly rationale: "models.dev refresh addition; not yet curated";
18155
+ };
18156
+ readonly "kilo/qwen/qwen3.8-max-prime": {
18157
+ readonly rationale: "models.dev refresh addition; not yet curated";
18158
+ };
18159
+ readonly "kilo/qwen/qwen3.8-omni-flash": {
18160
+ readonly rationale: "models.dev refresh addition; not yet curated";
18161
+ };
18162
+ readonly "kilo/stealth/space-bunny-alpha": {
18163
+ readonly rationale: "models.dev refresh addition; not yet curated";
18164
+ };
18165
+ readonly "kilo/typesafe/jev-router": {
18166
+ readonly rationale: "models.dev refresh addition; not yet curated";
18167
+ };
18168
+ readonly "kilo/upstage/solar-mini4": {
18169
+ readonly rationale: "models.dev refresh addition; not yet curated";
18170
+ };
18171
+ readonly "kilo/z-ai/glm-5.3-prime": {
18172
+ readonly rationale: "models.dev refresh addition; not yet curated";
18173
+ };
18174
+ readonly "minimax-code-cn/MiniMax-M3.1-Flash-Preview": {
18175
+ readonly rationale: "models.dev refresh addition; not yet curated";
18176
+ };
18177
+ readonly "minimax-code/MiniMax-M3.1-Flash-Preview": {
18178
+ readonly rationale: "models.dev refresh addition; not yet curated";
18179
+ };
18180
+ readonly "openai/gpt-6-luna": {
18181
+ readonly rationale: "models.dev refresh addition; not yet curated";
18182
+ };
18183
+ readonly "openai/gpt-6-sol": {
18184
+ readonly rationale: "models.dev refresh addition; not yet curated";
18185
+ };
18186
+ readonly "openai/gpt-6.1-sol": {
18187
+ readonly rationale: "models.dev refresh addition; not yet curated";
18188
+ };
18189
+ readonly "openai/gpt-daybreak-blue-latest": {
18190
+ readonly rationale: "models.dev refresh addition; not yet curated";
18191
+ };
18192
+ readonly "openai/gpt-daybreak-red-latest": {
18193
+ readonly rationale: "models.dev refresh addition; not yet curated";
18194
+ };
18195
+ readonly "opencode-go/gpt-6-luna": {
18196
+ readonly rationale: "models.dev refresh addition; not yet curated";
18197
+ };
18198
+ readonly "opencode-go/longcat-2.5-preview-free": {
18199
+ readonly rationale: "models.dev refresh addition; not yet curated";
18200
+ };
18201
+ readonly "opencode-go/space-bunny-free": {
18202
+ readonly rationale: "models.dev refresh addition; not yet curated";
18203
+ };
18204
+ readonly "opencode-zen/claude-opus-5-5": {
18205
+ readonly rationale: "models.dev refresh addition; not yet curated";
18206
+ };
18207
+ readonly "opencode-zen/claude-sonnet-5-5": {
18208
+ readonly rationale: "models.dev refresh addition; not yet curated";
18209
+ };
18210
+ readonly "opencode-zen/gpt-6-luna": {
18211
+ readonly rationale: "models.dev refresh addition; not yet curated";
18212
+ };
18213
+ readonly "opencode-zen/gpt-6-sol": {
18214
+ readonly rationale: "models.dev refresh addition; not yet curated";
18215
+ };
18216
+ readonly "opencode-zen/gpt-6.1-sol": {
18217
+ readonly rationale: "models.dev refresh addition; not yet curated";
18218
+ };
18219
+ readonly "opencode-zen/grok-4.7": {
18220
+ readonly rationale: "models.dev refresh addition; not yet curated";
18221
+ };
18222
+ readonly "opencode-zen/longcat-2.5-preview-free": {
18223
+ readonly rationale: "models.dev refresh addition; not yet curated";
18224
+ };
18225
+ readonly "opencode-zen/qwen3.8-max": {
18226
+ readonly rationale: "models.dev refresh addition; not yet curated";
18227
+ };
18228
+ readonly "opencode-zen/space-bunny-free": {
18229
+ readonly rationale: "models.dev refresh addition; not yet curated";
18230
+ };
18231
+ readonly "openrouter/aion-labs/aion-3.5": {
18232
+ readonly rationale: "models.dev refresh addition; not yet curated";
18233
+ };
18234
+ readonly "openrouter/aion-labs/aion-3.5-mini": {
18235
+ readonly rationale: "models.dev refresh addition; not yet curated";
18236
+ };
18237
+ readonly "openrouter/anthropic/claude-sonnet-5.5": {
18238
+ readonly rationale: "models.dev refresh addition; not yet curated";
18239
+ };
18240
+ readonly "openrouter/anthropic/claude-sonnet-5.5:batch": {
18241
+ readonly rationale: "models.dev refresh addition; not yet curated";
18242
+ };
18243
+ readonly "openrouter/cohere/command-a-plus": {
18244
+ readonly rationale: "models.dev refresh addition; not yet curated";
18245
+ };
18246
+ readonly "openrouter/fireworks/ember-1": {
18247
+ readonly rationale: "models.dev refresh addition; not yet curated";
18248
+ };
18249
+ readonly "openrouter/openai/gpt-6-luna": {
18250
+ readonly rationale: "models.dev refresh addition; not yet curated";
18251
+ };
18252
+ readonly "openrouter/openai/gpt-6-luna-pro": {
18253
+ readonly rationale: "models.dev refresh addition; not yet curated";
18254
+ };
18255
+ readonly "openrouter/openai/gpt-6-luna-pro:batch": {
18256
+ readonly rationale: "models.dev refresh addition; not yet curated";
18257
+ };
18258
+ readonly "openrouter/openai/gpt-6-luna:batch": {
18259
+ readonly rationale: "models.dev refresh addition; not yet curated";
18260
+ };
18261
+ readonly "openrouter/openai/gpt-6-sol": {
18262
+ readonly rationale: "models.dev refresh addition; not yet curated";
18263
+ };
18264
+ readonly "openrouter/openai/gpt-6-sol:batch": {
18265
+ readonly rationale: "models.dev refresh addition; not yet curated";
18266
+ };
18267
+ readonly "openrouter/openai/gpt-6-sol-pro": {
18268
+ readonly rationale: "models.dev refresh addition; not yet curated";
18269
+ };
18270
+ readonly "openrouter/openai/gpt-6-sol-pro:batch": {
18271
+ readonly rationale: "models.dev refresh addition; not yet curated";
18272
+ };
18273
+ readonly "openrouter/openai/gpt-6.1-sol": {
18274
+ readonly rationale: "models.dev refresh addition; not yet curated";
18275
+ };
18276
+ readonly "openrouter/openai/gpt-6.1-sol-pro": {
18277
+ readonly rationale: "models.dev refresh addition; not yet curated";
18278
+ };
18279
+ readonly "openrouter/openai/gpt-oss-120b:batch": {
18280
+ readonly rationale: "models.dev refresh addition; not yet curated";
18281
+ };
18282
+ readonly "openrouter/perceptron/perceptron-mk1.5": {
18283
+ readonly rationale: "models.dev refresh addition; not yet curated";
18284
+ };
18285
+ readonly "openrouter/qwen/qwen3.8-max-prime": {
18286
+ readonly rationale: "models.dev refresh addition; not yet curated";
18287
+ };
18288
+ readonly "openrouter/qwen/qwen3.8-omni-flash": {
18289
+ readonly rationale: "models.dev refresh addition; not yet curated";
18290
+ };
18291
+ readonly "openrouter/stealth/space-bunny-alpha": {
18292
+ readonly rationale: "models.dev refresh addition; not yet curated";
18293
+ };
18294
+ readonly "openrouter/typesafe/jev-router": {
18295
+ readonly rationale: "models.dev refresh addition; not yet curated";
18296
+ };
18297
+ readonly "openrouter/upstage/solar-mini4": {
18298
+ readonly rationale: "models.dev refresh addition; not yet curated";
18299
+ };
18300
+ readonly "openrouter/z-ai/glm-5.3-prime": {
18301
+ readonly rationale: "models.dev refresh addition; not yet curated";
18302
+ };
18303
+ readonly "venice/aion-labs-aion-3-5": {
18304
+ readonly rationale: "models.dev refresh addition; not yet curated";
18305
+ };
18306
+ readonly "venice/aion-labs-aion-3-5-mini": {
18307
+ readonly rationale: "models.dev refresh addition; not yet curated";
18308
+ };
18309
+ readonly "venice/claude-opus-5-5-fast": {
18310
+ readonly rationale: "models.dev refresh addition; not yet curated";
18311
+ };
18312
+ readonly "venice/claude-sonnet-5-5": {
18313
+ readonly rationale: "models.dev refresh addition; not yet curated";
18314
+ };
18315
+ readonly "venice/openai-gpt-6-luna": {
18316
+ readonly rationale: "models.dev refresh addition; not yet curated";
18317
+ };
18318
+ readonly "venice/openai-gpt-6-sol": {
18319
+ readonly rationale: "models.dev refresh addition; not yet curated";
18320
+ };
18321
+ readonly "venice/openai-gpt-61-sol": {
18322
+ readonly rationale: "models.dev refresh addition; not yet curated";
18323
+ };
18324
+ readonly "venice/xiaomi-mimo-v2-6-flash": {
18325
+ readonly rationale: "models.dev refresh addition; not yet curated";
18326
+ };
18327
+ readonly "vercel-ai-gateway/alibaba/qwen3.8-max-prime": {
18328
+ readonly rationale: "models.dev refresh addition; not yet curated";
18329
+ };
18330
+ readonly "vercel-ai-gateway/anthropic/claude-sonnet-5.5": {
18331
+ readonly rationale: "models.dev refresh addition; not yet curated";
18332
+ };
18333
+ readonly "vercel-ai-gateway/fireworks/ember-1": {
18334
+ readonly rationale: "models.dev refresh addition; not yet curated";
18335
+ };
18336
+ readonly "vercel-ai-gateway/inclusionai/ling-3.1-flash": {
18337
+ readonly rationale: "models.dev refresh addition; not yet curated";
18338
+ };
18339
+ readonly "vercel-ai-gateway/inclusionai/ling-3.1-flash-free": {
18340
+ readonly rationale: "models.dev refresh addition; not yet curated";
18341
+ };
18342
+ readonly "vercel-ai-gateway/meituan/longcat-2.5-preview": {
18343
+ readonly rationale: "models.dev refresh addition; not yet curated";
18344
+ };
18345
+ readonly "vercel-ai-gateway/openai/gpt-6-luna": {
18346
+ readonly rationale: "models.dev refresh addition; not yet curated";
18347
+ };
18348
+ readonly "vercel-ai-gateway/openai/gpt-6-luna-fast": {
18349
+ readonly rationale: "models.dev refresh addition; not yet curated";
18350
+ };
18351
+ readonly "vercel-ai-gateway/openai/gpt-6-sol": {
18352
+ readonly rationale: "models.dev refresh addition; not yet curated";
18353
+ };
18354
+ readonly "vercel-ai-gateway/openai/gpt-6-sol-fast": {
18355
+ readonly rationale: "models.dev refresh addition; not yet curated";
18356
+ };
18357
+ readonly "vercel-ai-gateway/openai/gpt-6.1-sol": {
18358
+ readonly rationale: "models.dev refresh addition; not yet curated";
18359
+ };
18360
+ readonly "vercel-ai-gateway/openai/gpt-6.1-sol-fast": {
18361
+ readonly rationale: "models.dev refresh addition; not yet curated";
18362
+ };
18363
+ readonly "zenmux/anthropic/claude-fable-5.1": {
18364
+ readonly rationale: "models.dev refresh addition; not yet curated";
18365
+ };
18366
+ readonly "zenmux/anthropic/claude-opus-5.5": {
18367
+ readonly rationale: "models.dev refresh addition; not yet curated";
18368
+ };
18369
+ readonly "zenmux/deepseek/deepseek-v4.1-flash": {
18370
+ readonly rationale: "models.dev refresh addition; not yet curated";
18371
+ };
18372
+ readonly "zenmux/moonshotai/kimi-k2.7-code-highspeed": {
18373
+ readonly rationale: "models.dev refresh addition; not yet curated";
18374
+ };
18375
+ readonly "zenmux/openai/gpt-6-astra": {
18376
+ readonly rationale: "models.dev refresh addition; not yet curated";
18377
+ };
18378
+ readonly "zenmux/openai/gpt-6-sol": {
18379
+ readonly rationale: "models.dev refresh addition; not yet curated";
18380
+ };
18381
+ readonly "zenmux/xiaomi/mimo-v2.6-pro": {
18382
+ readonly rationale: "models.dev refresh addition; not yet curated";
18383
+ };
18045
18384
  };
18046
18385
  export declare const CURATED_TIER_MAP: AutoroutingCuratedTierMap;
18047
18386
  /** Canonical JSON uses sorted object keys and preserves array order. */
@@ -47,6 +47,7 @@ export declare const FILE_LOCK_RELEASE_RETRY_ATTEMPTS = 20;
47
47
  export declare const FILE_LOCK_RELEASE_RETRY_DELAY_MS = 25;
48
48
  export declare const FileLockTestHooks: {
49
49
  afterParentMkdir?: (lockPath: string) => void | Promise<void>;
50
+ beforeRemovalOwnerPublish?: (transitionPath: string) => void | Promise<void>;
50
51
  nativePublicationBindings?: () => {
51
52
  renameNoReplacePathAsync: typeof renameNoReplacePathAsync;
52
53
  renameDirectoryNoReplacePathAsync: typeof renameDirectoryNoReplacePathAsync;
@@ -10,6 +10,8 @@ export declare class ModelBindingsApplier {
10
10
  /** The currently configured bindings (as installed at startup), for baseline lookup. */
11
11
  getBindings(): ConfiguredModelBindings | undefined;
12
12
  setBindings(bindings: ConfiguredModelBindings | undefined): void;
13
+ /** Fork configured bindings and their applied lifecycle onto independent settings. */
14
+ snapshotForSettings(targetSettings: Settings): ModelBindingsApplier;
13
15
  applyTo(targetSettings: Settings): void;
14
16
  /**
15
17
  * Re-assert configured bindings into the target override slots, bypassing
@@ -6,6 +6,10 @@ export { resolveModelProfileName } from "./model-profile-contract";
6
6
  import { type GjcModelAssignmentTargetId, type ModelRegistry } from "./model-registry";
7
7
  import { type ModelSelectorValue } from "./model-selector-value";
8
8
  import type { Settings } from "./settings";
9
+ type UserCanonicalVariantSelection = {
10
+ revision: number;
11
+ canonicalVariant: string | undefined;
12
+ };
9
13
  type ModelProfileActivationSession = Pick<AgentSession, "model" | "thinkingLevel" | "sessionId" | "getConfiguredModelChain" | "setConfiguredModelChain"> & {
10
14
  credentialSessionId?: string;
11
15
  setModelTemporary?: AgentSession["setModelTemporary"];
@@ -24,6 +28,7 @@ type ModelProfileActivationSession = Pick<AgentSession, "model" | "thinkingLevel
24
28
  syncEagerDelegation?: () => Promise<void>;
25
29
  getSessionDefaultModelSelector?: () => string | undefined;
26
30
  recordResumeDefaultModel?: (selector: string | undefined) => void;
31
+ getUserCanonicalVariantSelection?: () => UserCanonicalVariantSelection;
27
32
  seedDefaultFallbackResolution?: (activeIndex: number, skips: Array<{
28
33
  selector: string;
29
34
  reason: string;
@@ -31,7 +36,7 @@ type ModelProfileActivationSession = Pick<AgentSession, "model" | "thinkingLevel
31
36
  getDefaultFallbackRuntimeState?: () => DefaultFallbackRuntimeState;
32
37
  restoreDefaultFallbackRuntimeState?: (state: DefaultFallbackRuntimeState) => void;
33
38
  restoreModelSelectionForRollback?: AgentSession["restoreModelSelectionForRollback"];
34
- modelRegistry?: Pick<ModelRegistry, "getSessionCanonicalVariant" | "restoreSessionCanonicalVariant" | "clearCanonicalVariant" | "getAvailable" | "lookupAliasExists" | "resolveModelByLookupAlias" | "authStorage" | "isCredentiallessProvider"> & Partial<Pick<ModelRegistry, "getAvailableForProfileActivation">>;
39
+ modelRegistry?: Pick<ModelRegistry, "getSessionCanonicalVariant" | "restoreSessionCanonicalVariant" | "clearCanonicalVariant" | "getAvailable" | "lookupAliasExists" | "resolveModelByLookupAlias" | "authStorage" | "isCredentiallessProvider">;
35
40
  getConfiguredModelChainState?: (role: string) => ConfiguredModelChainState | undefined;
36
41
  };
37
42
  type ConfiguredModelChainState = {
@@ -42,7 +47,7 @@ type ConfiguredModelChainState = {
42
47
  };
43
48
  export interface PrepareModelProfileActivationOptions {
44
49
  session: ModelProfileActivationSession;
45
- modelRegistry: Pick<ModelRegistry, "getModelProfile" | "getModelProfiles" | "getAvailableModelProfileNames" | "getApiKeyForProvider" | "getAll" | "resolveCanonicalModel" | "getCanonicalVariants" | "getCanonicalId" | "isSelectorCircuitOpen"> & Partial<Pick<ModelRegistry, "getAvailable" | "getAvailableForProfileActivation" | "resolveModelByLookupAlias" | "lookupAliasExists" | "clearCanonicalVariant" | "seedCanonicalVariant" | "getSessionCanonicalVariant" | "restoreSessionCanonicalVariant" | "getConfiguredProviderIds" | "isKnownProvider">> & {
50
+ modelRegistry: Pick<ModelRegistry, "getModelProfile" | "getModelProfiles" | "getAvailableModelProfileNames" | "getApiKeyForProvider" | "getAll" | "resolveCanonicalModel" | "getCanonicalVariants" | "getCanonicalId" | "isSelectorCircuitOpen"> & Partial<Pick<ModelRegistry, "getAvailable" | "resolveModelByLookupAlias" | "lookupAliasExists" | "clearCanonicalVariant" | "seedCanonicalVariant" | "getSessionCanonicalVariant" | "restoreSessionCanonicalVariant" | "getConfiguredProviderIds" | "isKnownProvider">> & {
46
51
  getError?: ModelRegistry["getError"];
47
52
  authStorage?: ModelRegistry["authStorage"];
48
53
  };
@@ -52,6 +57,8 @@ export interface PrepareModelProfileActivationOptions {
52
57
  export interface ApplyModelProfileActivationOptions {
53
58
  persistDefault?: boolean;
54
59
  thinkingLevelOverride?: ThinkingLevel;
60
+ /** Cancels deferred activation if a newer user model selection exists. */
61
+ isCurrent?: () => boolean;
55
62
  }
56
63
  export interface PreparedModelProfileActivation {
57
64
  profileName: string;
@@ -107,6 +114,7 @@ export interface PreparedModelProfileActivation {
107
114
  * so a stale provider cannot silently resurrect.
108
115
  */
109
116
  previousCanonicalVariant: string | undefined;
117
+ previousUserCanonicalVariantSelection: UserCanonicalVariantSelection | undefined;
110
118
  /** Registry used to resolve and restore the session sticky canonical variant. */
111
119
  modelRegistry: PrepareModelProfileActivationOptions["modelRegistry"];
112
120
  }
@@ -280,4 +288,4 @@ export declare function restoreMaterializedModelProfileForDeletion(options: {
280
288
  }): Promise<void>;
281
289
  export declare function activateModelProfile(options: PrepareModelProfileActivationOptions, applyOptions?: ApplyModelProfileActivationOptions): Promise<void>;
282
290
  /** Install only a profile's runtime role layer, preserving session model and configured-chain intent. */
283
- export declare function applyModelProfileRuntimeBindings(options: PrepareModelProfileActivationOptions): Promise<void>;
291
+ export declare function applyModelProfileRuntimeBindings(options: PrepareModelProfileActivationOptions, isCurrent?: () => boolean): Promise<void>;
@@ -549,17 +549,12 @@ export declare class ModelRegistry {
549
549
  seedCanonicalVariant(sessionId: string, model: Model<Api>): boolean;
550
550
  /**
551
551
  * Get selectable models with auth configured.
552
- * This is a fast check that doesn't refresh OAuth tokens. A current,
553
- * authoritative live catalog also limits each provider to its enrolled ids;
554
- * bundled entries remain the fallback until that evidence exists.
552
+ * This is a fast check that doesn't refresh OAuth tokens. The bundled catalog
553
+ * is authoritative for visibility: live discovery only enriches entries and
554
+ * adds unknown ids, and never removes a bundled model. A provider that cannot
555
+ * serve a model reports its own error when the model is used.
555
556
  */
556
557
  getAvailable(): Model<Api>[];
557
- /**
558
- * Get authenticated models, excluding bundled entries that a fresh provider
559
- * catalog has positively shown to be unavailable. Bundled entries remain
560
- * usable until live catalog evidence exists so offline startup is unchanged.
561
- */
562
- getAvailableForProfileActivation(): Model<Api>[];
563
558
  getActiveProviders(): ActiveProviderDescriptor[];
564
559
  /**
565
560
  * Check whether auth is configured for a model's provider.
@@ -179,6 +179,10 @@ export declare class Settings implements NotificationSettingsReader {
179
179
  flush(): Promise<void>;
180
180
  /** Like {@link flush}, but reports a durable save failure to the caller. */
181
181
  flushOrThrow(): Promise<void>;
182
+ /** Copy execution settings without reloading, persisting, or sharing mutable layers. */
183
+ snapshot(): Settings;
184
+ /** Resolve a retained execution's project layer without persistence or global hooks. */
185
+ snapshotForCwd(cwd: string): Promise<Settings>;
182
186
  cloneForCwd(cwd: string): Promise<Settings>;
183
187
  getStorage(): AgentStorage | null;
184
188
  /** Flush and close storage owned by an isolated settings scope. */
@@ -36,5 +36,7 @@ export declare const DEFAULT_SKILL_SCOPE_TRUST = true;
36
36
  * configuration resolves to the zero-config default (`true`).
37
37
  */
38
38
  export declare function resolveSkillScopeTrust(settings: Pick<SkillDiscoverySettings, "trustProjectSkills" | "trustUserSkills" | "enablePiUser" | "enablePiProject">, scope: "project" | "user"): boolean;
39
+ /** Resolve permission to read a user's external skill symlinks from user-owned config only. */
40
+ export declare function resolveGlobalUserSkillLinkTrust(settings: Pick<SkillDiscoverySettings, "trustUserSkills" | "enablePiUser">): boolean;
39
41
  export declare const DEFAULT_SKILL_DISCOVERY_SETTINGS: SkillDiscoverySettings;
40
42
  export declare const DEFAULT_DISABLED_EXTENSIONS: string[];
@@ -0,0 +1 @@
1
+ export declare function assertDeleteInsideWorkspace(cwd: string, filePath: string): Promise<void>;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Name to dispatch from a Cursor MCP call.
3
+ * Dedicated-channel tools are refused here. Advertised session tools such as eval stay allowed.
4
+ */
5
+ export declare function cursorMcpDispatchName(call: {
6
+ toolName?: string;
7
+ name?: string;
8
+ }): string | null;
@@ -8,6 +8,8 @@ export interface LoadCustomizationInventoryOptions {
8
8
  home?: string;
9
9
  /** Skill management policy snapshot (trust, include/ignore, disabledExtensions). */
10
10
  policy?: SkillManagementPolicy;
11
+ /** User-owned permission to follow external user skill symlinks. */
12
+ allowExternalUserSkillSymlinks?: boolean;
11
13
  /** Disabled extension ids (`skill:<name>` / `mcp:<name>`) from settings. */
12
14
  disabledExtensions?: string[];
13
15
  }
@@ -0,0 +1,2 @@
1
+ /** True when a session header names this parent file or its basename. */
2
+ export declare function sessionBelongsToParent(headerLine: string, parentBasename: string): boolean;
@@ -6,5 +6,6 @@ import type { Api, AssistantMessageEventStream, Context, Model, SimpleStreamOpti
6
6
  * - x-grok-conv-id: <session/conversation ID>
7
7
  * - x-grok-model-override: <model ID>
8
8
  * - x-xai-token-auth: xai-grok-cli
9
+ * - x-grok-client-version: learned from HTTP 426 responses; defaults to 1.0.13 and retries once on upgrade
9
10
  */
10
11
  export declare function streamGrokCli(model: Model<Api>, context: Context, options?: SimpleStreamOptions): AssistantMessageEventStream;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Grok CLI version manager with 426 error handling.
3
+ *
4
+ * Learns the minimum required Grok CLI version from xAI HTTP 426 "version outdated" responses.
5
+ * Falls back to a hardcoded version if no 426 has been received.
6
+ * Version updates are monotonic: learned versions never downgrade.
7
+ */
8
+ /**
9
+ * Get the current Grok CLI version: learned from 426 responses (never downgrades),
10
+ * otherwise the fallback version.
11
+ */
12
+ export declare function getGrokCliVersion(): string;
13
+ /**
14
+ * Parse a minimum version from an HTTP 426 error response body.
15
+ * Expected format: "Your Grok CLI version (X.Y.Z) is outdated. Please update to version A.B.C or later"
16
+ */
17
+ export declare function parseMinimumVersionFrom426(errorBody: string): string | null;
18
+ /**
19
+ * Update the learned version from a 426 error response.
20
+ * Versions are monotonic: a learned version never downgrades.
21
+ * Returns the version to use for the next request.
22
+ */
23
+ export declare function updateVersionFromError(errorBody: string): string;
24
+ /**
25
+ * Reset the learned version (mainly for testing).
26
+ */
27
+ export declare function resetVersionCache(): void;
28
+ /**
29
+ * Get the fallback version (mainly for testing).
30
+ */
31
+ export declare function getFallbackVersion(): string;
@@ -1,9 +1,3 @@
1
- /**
2
- * Generated bundled GJC workflow skill catalog.
3
- *
4
- * Keep this module metadata-only: skill bodies are loaded through literal
5
- * dynamic imports only when a caller asks for their content.
6
- */
7
1
  export type BundledGjcSkillName = "autoresearch" | "deep-interview" | "ralplan" | "ultragoal";
8
2
  export interface BundledGjcSkillCatalogEntry {
9
3
  readonly kind: "skill" | "skill-fragment";
@@ -11,6 +5,11 @@ export interface BundledGjcSkillCatalogEntry {
11
5
  readonly parentSkillName?: BundledGjcSkillName;
12
6
  readonly relativePath: string;
13
7
  readonly description?: string;
8
+ /**
9
+ * Path of the bundled body. A `type: "file"` import, so `bun build --compile`
10
+ * embeds the file and this resolves inside `/$bunfs` in compiled binaries.
11
+ */
12
+ readonly sourcePath?: string;
14
13
  readonly loadContent: () => Promise<string>;
15
14
  }
16
15
  export declare const BUNDLED_GJC_SKILL_CATALOG: readonly BundledGjcSkillCatalogEntry[];
@@ -93,8 +93,8 @@ export declare function getUserSkillScanDirs(home: string, userAgentDir?: string
93
93
  */
94
94
  export declare function getProjectPath(ctx: LoadContext, source: SourceId, subpath: string): string | null;
95
95
  /** Build the filesystem authority for a provider read. */
96
- export declare function getReadOptions(ctx: Pick<LoadContext, "home" | "isolatedHome" | "userAgentDir" | "homeIdentity" | "userAgentIdentity">, scope: ReadScope): ReadFileOptions | undefined;
97
- export declare function getReadOptionsForContainment(ctx: Pick<LoadContext, "home" | "isolatedHome" | "userAgentDir" | "homeIdentity" | "userAgentIdentity">, scope: ReadScope, containmentRoot?: string): Promise<ReadFileOptions | undefined>;
96
+ export declare function getReadOptions(ctx: Pick<LoadContext, "home" | "isolatedHome" | "userAgentDir" | "homeIdentity" | "userAgentIdentity" | "bypassCache">, scope: ReadScope): ReadFileOptions | undefined;
97
+ export declare function getReadOptionsForContainment(ctx: Pick<LoadContext, "home" | "isolatedHome" | "userAgentDir" | "homeIdentity" | "userAgentIdentity" | "bypassCache">, scope: ReadScope, containmentRoot?: string): Promise<ReadFileOptions | undefined>;
98
98
  /**
99
99
  * Create source metadata for an item.
100
100
  */
@@ -153,6 +153,8 @@ export interface ScanSkillsFromDirOptions {
153
153
  linkContainmentRoot?: string;
154
154
  /** Filesystem authority for explicit-home reads. */
155
155
  scope?: ReadScope;
156
+ /** User-owned permission to follow symlinks outside a user-scope scan root. */
157
+ allowExternalUserSkillSymlinks?: boolean;
156
158
  }
157
159
  export declare function compareSkillOrder(aName: string, aPath: string, bName: string, bPath: string): number;
158
160
  /** Maximum bytes read per incremental frontmatter scan chunk. */
@@ -161,6 +163,8 @@ export declare const SKILL_FRONTMATTER_SCAN_BYTES: number;
161
163
  export declare const SKILL_FRONTMATTER_SCAN_TOTAL_BYTES: number;
162
164
  export declare const SkillDiscoveryTestHooks: {
163
165
  afterCandidateValidated?: (candidatePath: string) => void | Promise<void>;
166
+ afterSkillLinksCaptured?: (candidatePath: string) => void | Promise<void>;
167
+ afterSkillPathResolved?: (candidatePath: string) => void | Promise<void>;
164
168
  afterAuthorityRootValidated?: (root: string) => void | Promise<void>;
165
169
  afterAuthorityRootMissing?: (root: string) => void | Promise<void>;
166
170
  afterContainedRootValidated?: (root: string) => void | Promise<void>;
@@ -169,10 +173,11 @@ export declare const SkillDiscoveryTestHooks: {
169
173
  export declare function scanSkillsFromDir(_ctx: LoadContext, options: ScanSkillsFromDirOptions): Promise<LoadResult<Skill>>;
170
174
  /** Read a regular file that remains contained by its configured root. */
171
175
  export declare function readContainedFile(root: string, filePath: string, expectedRootIdentity?: FileIdentity | null): Promise<string | null>;
176
+ export declare function isSensitiveEnvName(name: string): boolean;
172
177
  /**
173
178
  * Recursively expand environment variables in an object.
174
179
  */
175
- export declare function expandEnvVarsDeep<T>(obj: T, extraEnv?: Record<string, string>): T;
180
+ export declare function expandEnvVarsDeep<T>(obj: T, extraEnv?: Record<string, string>, skipSensitiveNames?: boolean): T;
176
181
  /**
177
182
  * Load files from a directory matching extensions.
178
183
  * Uses native glob for fast filesystem scanning with gitignore support.
@@ -0,0 +1,2 @@
1
+ /** Keep a theme color that is safe to place in a `<style>` block. */
2
+ export declare function cssColorOrFallback(value: string | undefined, fallback: string): string;