@gajae-code/coding-agent 0.12.21 → 0.13.0

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 (222) hide show
  1. package/CHANGELOG.md +67 -2
  2. package/dist/types/cli/args.d.ts +5 -2
  3. package/dist/types/cli/root-flags.d.ts +246 -0
  4. package/dist/types/cli.d.ts +11 -19
  5. package/dist/types/commands/daemon.d.ts +0 -30
  6. package/dist/types/commands/launch.d.ts +11 -19
  7. package/dist/types/commands/quick-lane.d.ts +32 -0
  8. package/dist/types/commands/sdk.d.ts +21 -15
  9. package/dist/types/config/file-lock-gc.d.ts +2 -0
  10. package/dist/types/config/model-equivalence.d.ts +20 -0
  11. package/dist/types/config/model-profile-activation.d.ts +62 -17
  12. package/dist/types/config/model-profiles.d.ts +10 -0
  13. package/dist/types/config/model-registry.d.ts +68 -1
  14. package/dist/types/config/model-resolver.d.ts +15 -4
  15. package/dist/types/config/models-config-schema.d.ts +7 -2
  16. package/dist/types/config/provider-selection-policy.d.ts +62 -0
  17. package/dist/types/config/settings-schema.d.ts +36 -78
  18. package/dist/types/config/settings.d.ts +2 -0
  19. package/dist/types/edit/renderer.d.ts +5 -2
  20. package/dist/types/edit/streaming.d.ts +13 -0
  21. package/dist/types/extensibility/custom-tools/types.d.ts +2 -0
  22. package/dist/types/extensibility/extensions/compact-handler.d.ts +2 -1
  23. package/dist/types/extensibility/extensions/types.d.ts +3 -0
  24. package/dist/types/gjc-runtime/gc-runtime.d.ts +19 -5
  25. package/dist/types/internal-urls/local-protocol.d.ts +1 -0
  26. package/dist/types/modes/components/model-selector.d.ts +0 -2
  27. package/dist/types/modes/components/provider-order-context.d.ts +45 -0
  28. package/dist/types/modes/components/provider-order-editor.d.ts +24 -0
  29. package/dist/types/modes/components/settings-defs.d.ts +5 -1
  30. package/dist/types/modes/components/settings-selector.d.ts +2 -0
  31. package/dist/types/quick-lane/classify.d.ts +40 -0
  32. package/dist/types/runtime/stt-settings-setup.d.ts +18 -0
  33. package/dist/types/sdk/broker/broker.d.ts +56 -2
  34. package/dist/types/sdk/broker/operation-receipt-ledger.d.ts +25 -0
  35. package/dist/types/sdk/broker/session-index.d.ts +83 -2
  36. package/dist/types/sdk/broker/state-version.d.ts +1 -1
  37. package/dist/types/sdk/bus/notification-service.d.ts +6 -0
  38. package/dist/types/sdk/bus/prompt-reconciliation.d.ts +8 -1
  39. package/dist/types/sdk/bus/telegram-daemon-contract.d.ts +4 -1
  40. package/dist/types/sdk/bus/telegram-daemon.d.ts +26 -0
  41. package/dist/types/sdk/cli/rows.d.ts +98 -0
  42. package/dist/types/sdk/cli/session-cli.d.ts +35 -3
  43. package/dist/types/sdk/elevation/allowlist.d.ts +20 -0
  44. package/dist/types/sdk/elevation/audit.d.ts +93 -0
  45. package/dist/types/sdk/elevation/capability.d.ts +3 -0
  46. package/dist/types/sdk/elevation/digest.d.ts +72 -0
  47. package/dist/types/sdk/elevation/dispatch-receipt.d.ts +85 -0
  48. package/dist/types/sdk/elevation/grant-ledger.d.ts +163 -0
  49. package/dist/types/sdk/elevation/owner.d.ts +48 -0
  50. package/dist/types/sdk/guides/cache.d.ts +98 -0
  51. package/dist/types/sdk/guides/catalog.d.ts +156 -0
  52. package/dist/types/sdk/guides/cli.d.ts +39 -0
  53. package/dist/types/sdk/guides/manifest.d.ts +66 -0
  54. package/dist/types/sdk/guides/verify.d.ts +66 -0
  55. package/dist/types/sdk/host/control/dispatch.d.ts +8 -0
  56. package/dist/types/sdk/host/control/index.d.ts +1 -1
  57. package/dist/types/sdk/host/control/operations.d.ts +3 -2
  58. package/dist/types/sdk/host/query/cursor.d.ts +10 -0
  59. package/dist/types/sdk/host/query/handlers.d.ts +21 -0
  60. package/dist/types/sdk/host/session-runtime.d.ts +9 -0
  61. package/dist/types/sdk/mcp/server.d.ts +2 -2
  62. package/dist/types/sdk/prompt-status.d.ts +11 -0
  63. package/dist/types/sdk/session.d.ts +4 -0
  64. package/dist/types/sdk/transport/index.d.ts +1 -0
  65. package/dist/types/sdk/transport/relay.d.ts +1 -0
  66. package/dist/types/sdk/transport/serve-cli.d.ts +20 -1
  67. package/dist/types/session/agent-session.d.ts +32 -18
  68. package/dist/types/session/blob-store.d.ts +13 -7
  69. package/dist/types/session/fallback-chain-controller.d.ts +15 -0
  70. package/dist/types/session/internal/managed-session-storage.d.ts +25 -1
  71. package/dist/types/session/internal/session-memory-sidecar.d.ts +5 -5
  72. package/dist/types/session/session-manager.d.ts +139 -10
  73. package/dist/types/session/session-storage.d.ts +48 -0
  74. package/dist/types/setup/provider-onboarding.d.ts +7 -1
  75. package/dist/types/slash-commands/builtin-registry.d.ts +14 -0
  76. package/dist/types/stt/setup.d.ts +2 -0
  77. package/dist/types/task/executor.d.ts +10 -2
  78. package/dist/types/tools/browser/runtime-diagnostics.d.ts +65 -0
  79. package/dist/types/tools/browser/tab-protocol.d.ts +4 -0
  80. package/dist/types/tools/browser/tab-supervisor.d.ts +2 -0
  81. package/dist/types/tools/browser/tab-worker.d.ts +2 -0
  82. package/dist/types/tools/browser.d.ts +2 -0
  83. package/dist/types/tools/image-gen.d.ts +14 -18
  84. package/dist/types/tools/index.d.ts +2 -0
  85. package/dist/types/tools/resource-gc.d.ts +2 -0
  86. package/dist/types/utils/pasted-image-path.d.ts +6 -0
  87. package/package.json +9 -9
  88. package/scripts/generate-sdk-operation-inventory.ts +8 -0
  89. package/scripts/run-test-manifest.ts +61 -21
  90. package/scripts/verify-gjc-sdk-canonicalization.ts +9 -4
  91. package/src/cli/args.ts +62 -9
  92. package/src/cli/completion-cli.ts +1 -0
  93. package/src/cli/fast-help.ts +1 -0
  94. package/src/cli/root-flags.ts +100 -0
  95. package/src/cli/setup-cli.ts +6 -2
  96. package/src/cli.ts +42 -65
  97. package/src/commands/acp.ts +1 -1
  98. package/src/commands/daemon.ts +2 -31
  99. package/src/commands/gc.ts +1 -1
  100. package/src/commands/launch.ts +8 -129
  101. package/src/commands/quick-lane.ts +51 -0
  102. package/src/commands/sdk.ts +200 -26
  103. package/src/commands/setup.ts +4 -2
  104. package/src/config/file-lock-gc.ts +4 -1
  105. package/src/config/model-equivalence.ts +76 -7
  106. package/src/config/model-profile-activation.ts +1115 -265
  107. package/src/config/model-profiles.ts +134 -2
  108. package/src/config/model-registry.ts +352 -50
  109. package/src/config/model-resolver.ts +289 -38
  110. package/src/config/models-config-schema.ts +11 -4
  111. package/src/config/provider-selection-policy.ts +146 -0
  112. package/src/config/settings-schema.ts +50 -77
  113. package/src/config/settings.ts +40 -0
  114. package/src/coordinator-mcp/server.ts +32 -2
  115. package/src/edit/renderer.ts +175 -223
  116. package/src/edit/streaming.ts +108 -1
  117. package/src/export/html/index.ts +57 -7
  118. package/src/extensibility/custom-tools/types.ts +2 -0
  119. package/src/extensibility/extensions/compact-handler.ts +3 -2
  120. package/src/extensibility/extensions/runner.ts +6 -0
  121. package/src/extensibility/extensions/types.ts +3 -0
  122. package/src/gjc-runtime/gc-runtime.ts +379 -20
  123. package/src/gjc-runtime/launch-worktree.ts +5 -1
  124. package/src/gjc-runtime/team-runtime.ts +59 -2
  125. package/src/gjc-runtime/tmux-owner-isolation.ts +19 -0
  126. package/src/gjc-runtime/ultragoal-receipt-freshness.ts +16 -1
  127. package/src/internal-urls/docs-index.generated.ts +17 -13
  128. package/src/internal-urls/local-protocol.ts +1 -0
  129. package/src/main.ts +40 -3
  130. package/src/memories/index.ts +4 -2
  131. package/src/modes/acp/acp-agent.ts +235 -91
  132. package/src/modes/components/model-selector.ts +206 -42
  133. package/src/modes/components/provider-order-context.ts +197 -0
  134. package/src/modes/components/provider-order-editor.ts +441 -0
  135. package/src/modes/components/settings-defs.ts +21 -1
  136. package/src/modes/components/settings-selector.ts +45 -2
  137. package/src/modes/components/tool-execution.ts +47 -15
  138. package/src/modes/controllers/command-controller.ts +6 -3
  139. package/src/modes/controllers/extension-ui-controller.ts +2 -0
  140. package/src/modes/controllers/input-controller.ts +73 -2
  141. package/src/modes/controllers/selector-controller.ts +260 -153
  142. package/src/modes/prompt-suggestion-controller.ts +1 -1
  143. package/src/modes/runtime-init.ts +1 -0
  144. package/src/modes/utils/ui-helpers.ts +18 -0
  145. package/src/prompts/tools/browser.md +1 -0
  146. package/src/quick-lane/classify.ts +257 -0
  147. package/src/rlm/index.ts +1 -1
  148. package/src/runtime/stt-settings-setup.ts +57 -0
  149. package/src/sdk/acp/adapter.ts +2 -1
  150. package/src/sdk/broker/broker.ts +780 -12
  151. package/src/sdk/broker/lifecycle.ts +70 -29
  152. package/src/sdk/broker/operation-receipt-ledger.ts +144 -0
  153. package/src/sdk/broker/session-index.ts +463 -48
  154. package/src/sdk/broker/state-version.ts +13 -9
  155. package/src/sdk/broker/transport.ts +14 -1
  156. package/src/sdk/bus/index.ts +34 -13
  157. package/src/sdk/bus/kind-aware-reconciliation.ts +21 -2
  158. package/src/sdk/bus/notification-service.ts +47 -1
  159. package/src/sdk/bus/prompt-reconciliation.ts +22 -3
  160. package/src/sdk/bus/telegram-daemon-contract.ts +4 -1
  161. package/src/sdk/bus/telegram-daemon.ts +54 -3
  162. package/src/sdk/cli/rows.ts +247 -0
  163. package/src/sdk/cli/session-cli.ts +930 -79
  164. package/src/sdk/elevation/allowlist.ts +54 -0
  165. package/src/sdk/elevation/audit.ts +208 -0
  166. package/src/sdk/elevation/capability.ts +41 -0
  167. package/src/sdk/elevation/digest.ts +129 -0
  168. package/src/sdk/elevation/dispatch-receipt.ts +184 -0
  169. package/src/sdk/elevation/grant-ledger.ts +1142 -0
  170. package/src/sdk/elevation/owner.ts +109 -0
  171. package/src/sdk/guides/cache.ts +363 -0
  172. package/src/sdk/guides/catalog.ts +554 -0
  173. package/src/sdk/guides/cli.ts +235 -0
  174. package/src/sdk/guides/manifest.ts +152 -0
  175. package/src/sdk/guides/verify.ts +178 -0
  176. package/src/sdk/host/control/dispatch.ts +49 -1
  177. package/src/sdk/host/control/index.ts +1 -0
  178. package/src/sdk/host/control/operations.ts +8 -1
  179. package/src/sdk/host/query/cursor.ts +47 -3
  180. package/src/sdk/host/query/handlers.ts +155 -2
  181. package/src/sdk/host/sdk-surface-parity.test.ts +1 -0
  182. package/src/sdk/host/session-runtime.test.ts +391 -1
  183. package/src/sdk/host/session-runtime.ts +308 -73
  184. package/src/sdk/host/surface-policy.ts +3 -0
  185. package/src/sdk/host/websocket-transport.ts +7 -1
  186. package/src/sdk/mcp/server.ts +88 -15
  187. package/src/sdk/prompt-status.ts +8 -0
  188. package/src/sdk/protocol/operation-inventory.generated.json +62 -0
  189. package/src/sdk/protocol/operation-registry.ts +3 -2
  190. package/src/sdk/session.ts +87 -39
  191. package/src/sdk/transport/index.ts +1 -0
  192. package/src/sdk/transport/relay.ts +3 -0
  193. package/src/sdk/transport/serve-cli.ts +111 -24
  194. package/src/secrets/obfuscator.ts +92 -12
  195. package/src/session/agent-session.ts +322 -93
  196. package/src/session/blob-store.ts +60 -8
  197. package/src/session/fallback-chain-controller.ts +35 -0
  198. package/src/session/internal/managed-session-scope.ts +25 -3
  199. package/src/session/internal/managed-session-storage.ts +574 -73
  200. package/src/session/internal/session-memory-sidecar.ts +19 -29
  201. package/src/session/session-manager.ts +2166 -743
  202. package/src/session/session-storage.ts +715 -48
  203. package/src/setup/provider-onboarding.ts +19 -3
  204. package/src/setup/provider-presets.json +3 -1
  205. package/src/slash-commands/builtin-registry.ts +85 -3
  206. package/src/stt/downloader.ts +2 -3
  207. package/src/stt/setup.ts +29 -4
  208. package/src/task/executor.ts +22 -18
  209. package/src/task/index.ts +24 -1
  210. package/src/tools/archive-reader.ts +11 -2
  211. package/src/tools/browser/runtime-diagnostics.ts +249 -0
  212. package/src/tools/browser/tab-protocol.ts +4 -0
  213. package/src/tools/browser/tab-supervisor.ts +5 -0
  214. package/src/tools/browser/tab-worker.ts +36 -1
  215. package/src/tools/browser.ts +7 -0
  216. package/src/tools/image-gen.ts +110 -166
  217. package/src/tools/index.ts +2 -0
  218. package/src/tools/read.ts +1 -1
  219. package/src/tools/resource-gc.ts +6 -1
  220. package/src/tools/tool-catalog.generated.ts +5 -1
  221. package/src/utils/pasted-image-path.ts +93 -0
  222. package/src/web/search/index.ts +3 -3
@@ -106,6 +106,69 @@ export const BUILTIN_MODEL_PROFILES: readonly ModelProfileDefinition[] = [
106
106
  critic: "opencode-go/mimo-v2.5-pro",
107
107
  architect: "opencode-go/deepseek-v4-pro",
108
108
  }),
109
+ profile("open-weights-glm", [], {
110
+ default: "glm-5.2:medium",
111
+ executor: "glm-5.2:low",
112
+ planner: "glm-5.2:high",
113
+ critic: "glm-5.2:high",
114
+ architect: "glm-5.2:xhigh",
115
+ }),
116
+ profile("open-weights-deepseek", [], {
117
+ default: "deepseek-v4-flash:high",
118
+ executor: "deepseek-v4-flash:medium",
119
+ planner: "deepseek-v4-flash:high",
120
+ critic: "deepseek-v4-flash:xhigh",
121
+ architect: "deepseek-v4-flash:xhigh",
122
+ }),
123
+ profile("open-weights-kimi", [], {
124
+ default: "kimi-k3:high",
125
+ executor: "kimi-k3:high",
126
+ planner: "kimi-k3:xhigh",
127
+ critic: "kimi-k3:high",
128
+ architect: "kimi-k3:xhigh",
129
+ }),
130
+ profile("open-weights-luna", [], {
131
+ default: "gpt-5.6-luna:high",
132
+ executor: "gpt-5.6-luna:high",
133
+ planner: "gpt-5.6-luna:xhigh",
134
+ critic: "gpt-5.6-luna:xhigh",
135
+ architect: "gpt-5.6-luna:xhigh",
136
+ }),
137
+ profile("open-weights-glm-deepseek", [], {
138
+ default: "glm-5.2:medium",
139
+ executor: "deepseek-v4-flash:high",
140
+ planner: "glm-5.2:high",
141
+ critic: "deepseek-v4-flash:xhigh",
142
+ architect: "glm-5.2:xhigh",
143
+ }),
144
+ profile("open-weights-kimi-deepseek", [], {
145
+ default: "kimi-k3:high",
146
+ executor: "deepseek-v4-flash:high",
147
+ planner: "kimi-k3:xhigh",
148
+ critic: "deepseek-v4-flash:xhigh",
149
+ architect: "kimi-k3:xhigh",
150
+ }),
151
+ profile("open-weights-kimi-glm", [], {
152
+ default: "glm-5.2:high",
153
+ executor: "glm-5.2:high",
154
+ planner: "kimi-k3:high",
155
+ critic: "glm-5.2:xhigh",
156
+ architect: "kimi-k3:xhigh",
157
+ }),
158
+ profile("open-weights-kimi-glm-deepseek", [], {
159
+ default: "glm-5.2:medium",
160
+ executor: "deepseek-v4-flash:high",
161
+ planner: "kimi-k3:high",
162
+ critic: "glm-5.2:high",
163
+ architect: "kimi-k3:xhigh",
164
+ }),
165
+ profile("open-weights-all", [], {
166
+ default: "gpt-5.6-luna:high",
167
+ executor: "deepseek-v4-flash:high",
168
+ planner: "kimi-k3:high",
169
+ critic: "glm-5.2:high",
170
+ architect: "gpt-5.6-luna:xhigh",
171
+ }),
109
172
  profile("claude-opus", ["anthropic"], {
110
173
  default: "anthropic/claude-opus-5:xhigh",
111
174
  executor: "anthropic/claude-sonnet-5",
@@ -342,6 +405,23 @@ export const BUILTIN_MODEL_PROFILES: readonly ModelProfileDefinition[] = [
342
405
  }),
343
406
  ];
344
407
 
408
+ /**
409
+ * Providers that built-in model presets pin via qualified `<provider>/<model>`
410
+ * selectors. When `modelProfile.proxyProvider` is set, selectors for these
411
+ * providers are rewritten to `<proxy>/<model>` at activation time when their
412
+ * direct provider is unauthenticated, or unconditionally when
413
+ * `modelProfile.proxyMode` is `always`. Bare-alias (open-weights) profiles are
414
+ * not included: they already resolve through any authenticated provider,
415
+ * including a configured proxy.
416
+ */
417
+ export const PROXY_ROUTABLE_PROVIDER_IDS: ReadonlySet<string> = new Set(
418
+ BUILTIN_MODEL_PROFILES.flatMap(definition => [
419
+ ...definition.requiredProviders,
420
+ ...deriveModelProfileMappedProviders(definition),
421
+ ...(definition.alternativeProviderGroups ?? []).flat(),
422
+ ]),
423
+ );
424
+
345
425
  export interface ModelProfilePresentation {
346
426
  displayName: string;
347
427
  providerGroup: string;
@@ -357,6 +437,33 @@ const PROFILE_PRESENTATION: Record<string, ModelProfilePresentation> = {
357
437
  "codex-pro": { displayName: "Codex Pro", providerGroup: "CODEX" },
358
438
  lunamaxxing: { displayName: "LunaMaxxing", providerGroup: "CODEX" },
359
439
  opencodego: { displayName: "OpenCodeGo", providerGroup: "OPENCODEGO" },
440
+ "open-weights-glm": { displayName: "GLM", providerGroup: "OPEN WEIGHT MODELS (PROVIDER AGNOSTIC)" },
441
+ "open-weights-deepseek": {
442
+ displayName: "DeepSeek",
443
+ providerGroup: "OPEN WEIGHT MODELS (PROVIDER AGNOSTIC)",
444
+ },
445
+ "open-weights-kimi": { displayName: "Kimi", providerGroup: "OPEN WEIGHT MODELS (PROVIDER AGNOSTIC)" },
446
+ "open-weights-luna": { displayName: "Luna", providerGroup: "OPEN WEIGHT MODELS (PROVIDER AGNOSTIC)" },
447
+ "open-weights-glm-deepseek": {
448
+ displayName: "GLM + DeepSeek",
449
+ providerGroup: "OPEN WEIGHT MODELS (PROVIDER AGNOSTIC)",
450
+ },
451
+ "open-weights-kimi-deepseek": {
452
+ displayName: "Kimi + DeepSeek",
453
+ providerGroup: "OPEN WEIGHT MODELS (PROVIDER AGNOSTIC)",
454
+ },
455
+ "open-weights-kimi-glm": {
456
+ displayName: "Kimi + GLM",
457
+ providerGroup: "OPEN WEIGHT MODELS (PROVIDER AGNOSTIC)",
458
+ },
459
+ "open-weights-kimi-glm-deepseek": {
460
+ displayName: "Kimi + GLM + DeepSeek",
461
+ providerGroup: "OPEN WEIGHT MODELS (PROVIDER AGNOSTIC)",
462
+ },
463
+ "open-weights-all": {
464
+ displayName: "Kimi + GLM + DeepSeek + Luna",
465
+ providerGroup: "OPEN WEIGHT MODELS (PROVIDER AGNOSTIC)",
466
+ },
360
467
  "claude-opus": { displayName: "Claude Opus", providerGroup: "CLAUDE" },
361
468
  "claude-fable": { displayName: "Claude Fable", providerGroup: "CLAUDE" },
362
469
  "glm-eco": { displayName: "GLM Eco", providerGroup: "GLM" },
@@ -394,6 +501,7 @@ const PROFILE_PRESENTATION: Record<string, ModelProfilePresentation> = {
394
501
  const PROFILE_GROUP_ORDER = [
395
502
  "CODEX",
396
503
  "OPENCODEGO",
504
+ "OPEN WEIGHT MODELS (PROVIDER AGNOSTIC)",
397
505
  "CLAUDE",
398
506
  "GLM",
399
507
  "KIMI CODING PLAN",
@@ -405,6 +513,19 @@ const PROFILE_GROUP_ORDER = [
405
513
  "COMBOS",
406
514
  ];
407
515
 
516
+ const OPEN_WEIGHT_PROFILE_ORDER = [
517
+ "open-weights-glm",
518
+ "open-weights-deepseek",
519
+ "open-weights-kimi",
520
+ "open-weights-luna",
521
+ "open-weights-glm-deepseek",
522
+ "open-weights-kimi-deepseek",
523
+ "open-weights-kimi-glm",
524
+ "open-weights-kimi-glm-deepseek",
525
+ "open-weights-all",
526
+ ] as const;
527
+ const OPEN_WEIGHT_PROFILE_RANK = new Map<string, number>(OPEN_WEIGHT_PROFILE_ORDER.map((name, index) => [name, index]));
528
+
408
529
  const PROFILE_RECOMMENDATIONS: Record<string, string> = {
409
530
  "openai-codex": "codex-medium",
410
531
  anthropic: "claude-opus",
@@ -451,8 +572,19 @@ export function groupModelProfilesForPresetLanding(
451
572
  groups.get(group)?.push(profile);
452
573
  }
453
574
  for (const [group, entries] of groups) {
454
- if (entries.length === 0) groups.delete(group);
455
- else entries.sort((a, b) => a.name.localeCompare(b.name));
575
+ if (entries.length === 0) {
576
+ groups.delete(group);
577
+ continue;
578
+ }
579
+ if (group === "OPEN WEIGHT MODELS (PROVIDER AGNOSTIC)") {
580
+ entries.sort(
581
+ (a, b) =>
582
+ (OPEN_WEIGHT_PROFILE_RANK.get(a.name) ?? Number.MAX_SAFE_INTEGER) -
583
+ (OPEN_WEIGHT_PROFILE_RANK.get(b.name) ?? Number.MAX_SAFE_INTEGER),
584
+ );
585
+ } else {
586
+ entries.sort((a, b) => a.name.localeCompare(b.name));
587
+ }
456
588
  }
457
589
  return groups;
458
590
  }