@gajae-code/coding-agent 0.17.2 → 0.17.4

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 (349) hide show
  1. package/CHANGELOG.md +194 -0
  2. package/dist/types/cli/daemon-cli.d.ts +3 -1
  3. package/dist/types/cli/github-release.d.ts +17 -0
  4. package/dist/types/cli/public-command-entry.d.ts +56 -0
  5. package/dist/types/cli/public-command-errors.d.ts +126 -0
  6. package/dist/types/cli/public-command-evidence.d.ts +99 -0
  7. package/dist/types/cli/public-command-help.d.ts +65 -0
  8. package/dist/types/cli/public-command-registry.d.ts +69 -0
  9. package/dist/types/cli/session-picker.d.ts +1 -1
  10. package/dist/types/cli/setup-cli.d.ts +1 -0
  11. package/dist/types/cli/skills-cli.d.ts +5 -0
  12. package/dist/types/cli.d.ts +3 -0
  13. package/dist/types/commands/daemon.d.ts +4 -50
  14. package/dist/types/commands/sdk.d.ts +20 -37
  15. package/dist/types/commands/setup.d.ts +3 -0
  16. package/dist/types/commands/skills.d.ts +9 -0
  17. package/dist/types/config/autorouting-tier-map.d.ts +18 -0
  18. package/dist/types/config/file-lock.d.ts +9 -1
  19. package/dist/types/config/model-profile-activation.d.ts +45 -1
  20. package/dist/types/config/model-registry.d.ts +11 -2
  21. package/dist/types/config/settings-schema.d.ts +11 -0
  22. package/dist/types/coordinator-mcp/question-state.d.ts +6 -1
  23. package/dist/types/daemon/operator-contract.d.ts +5 -1
  24. package/dist/types/eval/js/worker-protocol.d.ts +2 -0
  25. package/dist/types/extensibility/extensions/types.d.ts +12 -0
  26. package/dist/types/extensibility/gjc-plugins/registry.d.ts +4 -0
  27. package/dist/types/extensibility/runtime-skill-discovery.d.ts +18 -0
  28. package/dist/types/extensibility/shared-events.d.ts +3 -1
  29. package/dist/types/gjc-runtime/session-state-lock.d.ts +61 -0
  30. package/dist/types/internal-urls/embedded-protocol.d.ts +9 -0
  31. package/dist/types/internal-urls/index.d.ts +1 -0
  32. package/dist/types/internal-urls/parse.d.ts +9 -1
  33. package/dist/types/main.d.ts +22 -0
  34. package/dist/types/modes/acp/acp-agent.d.ts +55 -1
  35. package/dist/types/modes/acp/startup-provenance.d.ts +16 -0
  36. package/dist/types/modes/components/custom-provider-wizard.d.ts +19 -1
  37. package/dist/types/modes/components/session-selector.d.ts +5 -2
  38. package/dist/types/modes/components/user-message-selector.d.ts +5 -2
  39. package/dist/types/modes/controllers/command-controller.d.ts +1 -1
  40. package/dist/types/modes/controllers/selector-controller.d.ts +1 -1
  41. package/dist/types/modes/interactive-mode.d.ts +1 -1
  42. package/dist/types/modes/shared/agent-wire/workflow-gate-broker.d.ts +11 -1
  43. package/dist/types/modes/shared/agent-wire/workflow-gate-types.d.ts +14 -1
  44. package/dist/types/modes/types.d.ts +2 -2
  45. package/dist/types/runtime/process-lifecycle.d.ts +2 -0
  46. package/dist/types/runtime-mcp/manager.d.ts +56 -0
  47. package/dist/types/runtime-mcp/pool.d.ts +17 -0
  48. package/dist/types/runtime-mcp/redaction.d.ts +20 -0
  49. package/dist/types/runtime-mcp/startup-policy.d.ts +6 -0
  50. package/dist/types/runtime-mcp/tool-bridge.d.ts +9 -0
  51. package/dist/types/runtime-mcp/transports/http.d.ts +11 -0
  52. package/dist/types/sdk/broker/broker.d.ts +13 -2
  53. package/dist/types/sdk/broker/identity.d.ts +3 -1
  54. package/dist/types/sdk/broker/lifecycle-ledger.d.ts +23 -3
  55. package/dist/types/sdk/broker/lifecycle.d.ts +15 -8
  56. package/dist/types/sdk/broker/runtime.d.ts +1 -1
  57. package/dist/types/sdk/broker/session-index.d.ts +22 -3
  58. package/dist/types/sdk/broker/spawn-authority.d.ts +4 -0
  59. package/dist/types/sdk/broker/stderr-drainer.d.ts +13 -0
  60. package/dist/types/sdk/bus/index.d.ts +19 -0
  61. package/dist/types/sdk/bus/telegram-daemon-contract.d.ts +3 -1
  62. package/dist/types/sdk/bus/telegram-daemon.d.ts +5 -0
  63. package/dist/types/sdk/cli/master-cli.d.ts +6 -10
  64. package/dist/types/sdk/cli/rows.d.ts +19 -1
  65. package/dist/types/sdk/cli/session-cli.d.ts +22 -5
  66. package/dist/types/sdk/client/client.d.ts +2 -0
  67. package/dist/types/sdk/guides/cli.d.ts +3 -4
  68. package/dist/types/sdk/guides/verify.d.ts +2 -0
  69. package/dist/types/sdk/host/host.d.ts +9 -0
  70. package/dist/types/sdk/host/session-runtime.d.ts +31 -0
  71. package/dist/types/sdk/host/types.d.ts +10 -0
  72. package/dist/types/sdk/index.d.ts +1 -0
  73. package/dist/types/sdk/prompt-deadline-flush.d.ts +83 -0
  74. package/dist/types/sdk/prompt-deadline-manager.d.ts +37 -0
  75. package/dist/types/sdk/prompt-tool-boundary.d.ts +73 -0
  76. package/dist/types/sdk/router/session-router.d.ts +2 -0
  77. package/dist/types/sdk/startup-capability.d.ts +2 -0
  78. package/dist/types/sdk/transport/relay.d.ts +1 -0
  79. package/dist/types/sdk/transport/serve-cli.d.ts +48 -4
  80. package/dist/types/sdk/transport/stdio.d.ts +5 -1
  81. package/dist/types/session/agent-session.d.ts +168 -21
  82. package/dist/types/session/fallback-chain-controller.d.ts +6 -6
  83. package/dist/types/session/fold-coordinator.d.ts +17 -3
  84. package/dist/types/session/internal/managed-session-storage.d.ts +7 -1
  85. package/dist/types/session/session-manager.d.ts +64 -1
  86. package/dist/types/session/session-work-lease.d.ts +14 -0
  87. package/dist/types/setup/model-onboarding-guidance.d.ts +1 -1
  88. package/dist/types/setup/provider-onboarding.d.ts +81 -1
  89. package/dist/types/tools/bash.d.ts +37 -11
  90. package/dist/types/tools/job.d.ts +1 -1
  91. package/dist/types/tools/steer-fold.d.ts +31 -0
  92. package/dist/types/utils/git.d.ts +28 -2
  93. package/dist/types/utils/mupdf-embedded.d.ts +2 -0
  94. package/dist/types/utils/mupdf.d.ts +4 -0
  95. package/dist/types/utils/session-title-generation.d.ts +6 -0
  96. package/dist/types/utils/title-generator.d.ts +11 -2
  97. package/dist/types/web/scrapers/types.d.ts +3 -0
  98. package/package.json +18 -10
  99. package/scripts/build-binary.ts +9 -3
  100. package/scripts/compile-args.ts +0 -9
  101. package/scripts/embed-mupdf.ts +52 -0
  102. package/scripts/generate-sdk-operation-inventory.ts +31 -1
  103. package/scripts/vendor-markit.ts +196 -0
  104. package/src/async/job-manager.ts +22 -1
  105. package/src/cli/daemon-cli.ts +53 -18
  106. package/src/cli/github-release.ts +87 -5
  107. package/src/cli/mcp-cli.ts +38 -4
  108. package/src/cli/public-command-entry.ts +450 -0
  109. package/src/cli/public-command-errors.ts +581 -0
  110. package/src/cli/public-command-evidence.ts +717 -0
  111. package/src/cli/public-command-help.ts +360 -0
  112. package/src/cli/public-command-registry.ts +535 -0
  113. package/src/cli/session-picker.ts +2 -1
  114. package/src/cli/setup-cli.ts +9 -1
  115. package/src/cli/skills-cli.ts +46 -2
  116. package/src/cli.ts +61 -1
  117. package/src/commands/daemon.ts +65 -69
  118. package/src/commands/sdk.ts +175 -117
  119. package/src/commands/setup.ts +2 -0
  120. package/src/commands/skills.ts +11 -0
  121. package/src/config/autorouting-tier-map.ts +14 -0
  122. package/src/config/file-lock.ts +147 -51
  123. package/src/config/model-profile-activation.ts +334 -43
  124. package/src/config/model-registry.ts +183 -25
  125. package/src/config/settings-schema.ts +26 -2
  126. package/src/coordinator-mcp/policy.ts +10 -5
  127. package/src/coordinator-mcp/question-gate-codec.ts +17 -0
  128. package/src/coordinator-mcp/question-state.ts +175 -8
  129. package/src/coordinator-mcp/server.ts +507 -81
  130. package/src/coordinator-mcp/session-reaper.ts +6 -4
  131. package/src/crash/record-loader.ts +6 -2
  132. package/src/daemon/operator-contract.ts +26 -12
  133. package/src/defaults/gjc/skills/ultragoal/SKILL.md +1 -1
  134. package/src/eval/js/context-manager.ts +8 -8
  135. package/src/eval/js/worker-core.ts +9 -4
  136. package/src/eval/js/worker-protocol.ts +2 -0
  137. package/src/extensibility/extensions/runner.ts +52 -4
  138. package/src/extensibility/extensions/types.ts +10 -0
  139. package/src/extensibility/gjc-plugins/registry.ts +196 -37
  140. package/src/extensibility/runtime-skill-discovery.ts +61 -3
  141. package/src/extensibility/shared-events.ts +3 -1
  142. package/src/gjc-runtime/session-state-lock.ts +165 -24
  143. package/src/gjc-runtime/ultragoal-succession.ts +31 -3
  144. package/src/internal-urls/docs-index.generated.ts +20 -19
  145. package/src/internal-urls/embedded-protocol.ts +83 -0
  146. package/src/internal-urls/index.ts +1 -0
  147. package/src/internal-urls/parse.ts +21 -1
  148. package/src/internal-urls/router.ts +4 -2
  149. package/src/main.ts +123 -55
  150. package/src/modes/acp/acp-agent.ts +408 -35
  151. package/src/modes/acp/startup-provenance.ts +59 -0
  152. package/src/modes/components/custom-provider-wizard.ts +308 -7
  153. package/src/modes/components/oauth-selector.ts +9 -0
  154. package/src/modes/components/session-selector.ts +47 -4
  155. package/src/modes/components/user-message-selector.ts +57 -15
  156. package/src/modes/controllers/command-controller.ts +58 -32
  157. package/src/modes/controllers/extension-ui-controller.ts +33 -7
  158. package/src/modes/controllers/input-controller.ts +4 -0
  159. package/src/modes/controllers/selector-controller.ts +161 -15
  160. package/src/modes/interactive-mode.ts +21 -7
  161. package/src/modes/runtime-init.ts +1 -0
  162. package/src/modes/shared/agent-wire/workflow-gate-broker.ts +124 -7
  163. package/src/modes/shared/agent-wire/workflow-gate-types.ts +16 -2
  164. package/src/modes/types.ts +2 -2
  165. package/src/prompts/agent-fragments/browser-aside.md +1 -0
  166. package/src/prompts/system/title-system.md +1 -1
  167. package/src/prompts/tools/bash.md +1 -1
  168. package/src/prompts/tools/job.md +1 -1
  169. package/src/prompts/tools/read.md +2 -0
  170. package/src/runtime/network-prewarm-service.test.ts +36 -1
  171. package/src/runtime/network-prewarm-service.ts +28 -3
  172. package/src/runtime/process-lifecycle.ts +22 -11
  173. package/src/runtime-mcp/config.ts +16 -1
  174. package/src/runtime-mcp/manager.ts +689 -55
  175. package/src/runtime-mcp/pool.test.ts +31 -0
  176. package/src/runtime-mcp/pool.ts +304 -28
  177. package/src/runtime-mcp/redaction.ts +42 -0
  178. package/src/runtime-mcp/startup-policy.ts +7 -0
  179. package/src/runtime-mcp/tool-bridge.ts +71 -0
  180. package/src/runtime-mcp/transports/http.ts +108 -25
  181. package/src/sdk/acp/adapter.ts +27 -8
  182. package/src/sdk/broker/broker.ts +378 -52
  183. package/src/sdk/broker/identity.ts +9 -1
  184. package/src/sdk/broker/lifecycle-ledger.ts +95 -31
  185. package/src/sdk/broker/lifecycle.ts +690 -141
  186. package/src/sdk/broker/runtime.ts +1 -1
  187. package/src/sdk/broker/session-index.ts +97 -4
  188. package/src/sdk/broker/spawn-authority.ts +35 -7
  189. package/src/sdk/broker/stderr-drainer.ts +59 -0
  190. package/src/sdk/bus/chat-daemon-control.ts +2 -2
  191. package/src/sdk/bus/chat-daemon-runtime.ts +1 -0
  192. package/src/sdk/bus/index.ts +690 -80
  193. package/src/sdk/bus/telegram-daemon-cli.ts +31 -2
  194. package/src/sdk/bus/telegram-daemon-contract.ts +3 -1
  195. package/src/sdk/bus/telegram-daemon.ts +10 -3
  196. package/src/sdk/cli/master-cli.ts +47 -36
  197. package/src/sdk/cli/rows.ts +30 -7
  198. package/src/sdk/cli/session-cli.ts +687 -184
  199. package/src/sdk/client/client.ts +18 -0
  200. package/src/sdk/guides/catalog.ts +2 -2
  201. package/src/sdk/guides/cli.ts +20 -62
  202. package/src/sdk/guides/verify.ts +14 -0
  203. package/src/sdk/host/host.ts +49 -5
  204. package/src/sdk/host/session-runtime.test.ts +138 -2
  205. package/src/sdk/host/session-runtime.ts +311 -97
  206. package/src/sdk/host/types.ts +12 -1
  207. package/src/sdk/host/websocket-transport.lifecycle.test.ts +84 -0
  208. package/src/sdk/host/websocket-transport.ts +40 -6
  209. package/src/sdk/index.ts +11 -0
  210. package/src/sdk/prompt-deadline-flush.ts +334 -0
  211. package/src/sdk/prompt-deadline-manager.ts +133 -1
  212. package/src/sdk/prompt-tool-boundary.ts +121 -0
  213. package/src/sdk/protocol/operation-inventory.generated.json +106 -0
  214. package/src/sdk/router/session-router.ts +9 -1
  215. package/src/sdk/session.ts +182 -7
  216. package/src/sdk/startup-capability.ts +1 -1
  217. package/src/sdk/transport/relay.ts +71 -6
  218. package/src/sdk/transport/serve-cli.ts +397 -42
  219. package/src/sdk/transport/socket.ts +12 -11
  220. package/src/sdk/transport/stdio.ts +7 -3
  221. package/src/session/agent-session.ts +2437 -400
  222. package/src/session/fallback-chain-controller.ts +6 -7
  223. package/src/session/fold-coordinator.ts +24 -5
  224. package/src/session/internal/managed-session-scope.ts +58 -18
  225. package/src/session/internal/managed-session-storage.ts +304 -11
  226. package/src/session/session-manager.ts +382 -44
  227. package/src/session/session-work-lease.ts +34 -0
  228. package/src/setup/model-onboarding-guidance.ts +1 -1
  229. package/src/setup/provider-onboarding.ts +397 -24
  230. package/src/slash-commands/builtin-registry.ts +258 -14
  231. package/src/task/index.ts +14 -2
  232. package/src/tools/bash.ts +98 -78
  233. package/src/tools/fetch.ts +119 -20
  234. package/src/tools/job.ts +151 -25
  235. package/src/tools/output-meta.ts +15 -2
  236. package/src/tools/path-utils.ts +27 -3
  237. package/src/tools/read.ts +3 -3
  238. package/src/tools/steer-fold.ts +107 -0
  239. package/src/tools/tool-catalog.generated.ts +29 -2
  240. package/src/tools/tool-errors.ts +4 -0
  241. package/src/utils/git.ts +53 -3
  242. package/src/utils/markit.ts +55 -41
  243. package/src/utils/mupdf-assets.d.ts +4 -0
  244. package/src/utils/mupdf-embedded.ts +4 -0
  245. package/src/utils/mupdf.ts +129 -0
  246. package/src/utils/session-title-generation.ts +29 -0
  247. package/src/utils/title-generator.ts +46 -2
  248. package/src/web/scrapers/types.ts +24 -3
  249. package/vendor/markit-ai/LICENSE +21 -0
  250. package/vendor/markit-ai/MANIFEST.json +412 -0
  251. package/vendor/markit-ai/dist/commands/config.d.ts +4 -0
  252. package/vendor/markit-ai/dist/commands/config.js +139 -0
  253. package/vendor/markit-ai/dist/commands/convert.d.ts +6 -0
  254. package/vendor/markit-ai/dist/commands/convert.js +113 -0
  255. package/vendor/markit-ai/dist/commands/formats.d.ts +2 -0
  256. package/vendor/markit-ai/dist/commands/formats.js +92 -0
  257. package/vendor/markit-ai/dist/commands/init.d.ts +2 -0
  258. package/vendor/markit-ai/dist/commands/init.js +29 -0
  259. package/vendor/markit-ai/dist/commands/onboard.d.ts +2 -0
  260. package/vendor/markit-ai/dist/commands/onboard.js +61 -0
  261. package/vendor/markit-ai/dist/commands/plugin.d.ts +4 -0
  262. package/vendor/markit-ai/dist/commands/plugin.js +58 -0
  263. package/vendor/markit-ai/dist/config.d.ts +26 -0
  264. package/vendor/markit-ai/dist/config.js +42 -0
  265. package/vendor/markit-ai/dist/converters/audio.d.ts +7 -0
  266. package/vendor/markit-ai/dist/converters/audio.js +104 -0
  267. package/vendor/markit-ai/dist/converters/csv.d.ts +7 -0
  268. package/vendor/markit-ai/dist/converters/csv.js +83 -0
  269. package/vendor/markit-ai/dist/converters/docx.d.ts +6 -0
  270. package/vendor/markit-ai/dist/converters/docx.js +57 -0
  271. package/vendor/markit-ai/dist/converters/epub.d.ts +8 -0
  272. package/vendor/markit-ai/dist/converters/epub.js +128 -0
  273. package/vendor/markit-ai/dist/converters/github.d.ts +18 -0
  274. package/vendor/markit-ai/dist/converters/github.js +148 -0
  275. package/vendor/markit-ai/dist/converters/html.d.ts +6 -0
  276. package/vendor/markit-ai/dist/converters/html.js +30 -0
  277. package/vendor/markit-ai/dist/converters/image.d.ts +6 -0
  278. package/vendor/markit-ai/dist/converters/image.js +124 -0
  279. package/vendor/markit-ai/dist/converters/ipynb.d.ts +6 -0
  280. package/vendor/markit-ai/dist/converters/ipynb.js +75 -0
  281. package/vendor/markit-ai/dist/converters/iwork.d.ts +20 -0
  282. package/vendor/markit-ai/dist/converters/iwork.js +391 -0
  283. package/vendor/markit-ai/dist/converters/json.d.ts +6 -0
  284. package/vendor/markit-ai/dist/converters/json.js +21 -0
  285. package/vendor/markit-ai/dist/converters/pdf/columns.d.ts +35 -0
  286. package/vendor/markit-ai/dist/converters/pdf/columns.js +93 -0
  287. package/vendor/markit-ai/dist/converters/pdf/extract.d.ts +19 -0
  288. package/vendor/markit-ai/dist/converters/pdf/extract.js +514 -0
  289. package/vendor/markit-ai/dist/converters/pdf/grid.d.ts +25 -0
  290. package/vendor/markit-ai/dist/converters/pdf/grid.js +795 -0
  291. package/vendor/markit-ai/dist/converters/pdf/headers.d.ts +24 -0
  292. package/vendor/markit-ai/dist/converters/pdf/headers.js +108 -0
  293. package/vendor/markit-ai/dist/converters/pdf/index.d.ts +19 -0
  294. package/vendor/markit-ai/dist/converters/pdf/index.js +136 -0
  295. package/vendor/markit-ai/dist/converters/pdf/mupdf-loader.js +9 -0
  296. package/vendor/markit-ai/dist/converters/pdf/render.d.ts +24 -0
  297. package/vendor/markit-ai/dist/converters/pdf/render.js +513 -0
  298. package/vendor/markit-ai/dist/converters/pdf/types.d.ts +75 -0
  299. package/vendor/markit-ai/dist/converters/pdf/types.js +1 -0
  300. package/vendor/markit-ai/dist/converters/plain-text.d.ts +6 -0
  301. package/vendor/markit-ai/dist/converters/plain-text.js +87 -0
  302. package/vendor/markit-ai/dist/converters/pptx.d.ts +8 -0
  303. package/vendor/markit-ai/dist/converters/pptx.js +289 -0
  304. package/vendor/markit-ai/dist/converters/rss.d.ts +11 -0
  305. package/vendor/markit-ai/dist/converters/rss.js +138 -0
  306. package/vendor/markit-ai/dist/converters/wikipedia.d.ts +6 -0
  307. package/vendor/markit-ai/dist/converters/wikipedia.js +33 -0
  308. package/vendor/markit-ai/dist/converters/xlsx.d.ts +8 -0
  309. package/vendor/markit-ai/dist/converters/xlsx.js +147 -0
  310. package/vendor/markit-ai/dist/converters/xml.d.ts +6 -0
  311. package/vendor/markit-ai/dist/converters/xml.js +18 -0
  312. package/vendor/markit-ai/dist/converters/yaml.d.ts +6 -0
  313. package/vendor/markit-ai/dist/converters/yaml.js +17 -0
  314. package/vendor/markit-ai/dist/converters/zip.d.ts +8 -0
  315. package/vendor/markit-ai/dist/converters/zip.js +57 -0
  316. package/vendor/markit-ai/dist/index.d.ts +30 -0
  317. package/vendor/markit-ai/dist/index.js +26 -0
  318. package/vendor/markit-ai/dist/main.d.ts +2 -0
  319. package/vendor/markit-ai/dist/main.js +191 -0
  320. package/vendor/markit-ai/dist/markit.d.ts +45 -0
  321. package/vendor/markit-ai/dist/markit.js +267 -0
  322. package/vendor/markit-ai/dist/plugins/api.d.ts +7 -0
  323. package/vendor/markit-ai/dist/plugins/api.js +42 -0
  324. package/vendor/markit-ai/dist/plugins/index.d.ts +4 -0
  325. package/vendor/markit-ai/dist/plugins/index.js +3 -0
  326. package/vendor/markit-ai/dist/plugins/installer.d.ts +25 -0
  327. package/vendor/markit-ai/dist/plugins/installer.js +176 -0
  328. package/vendor/markit-ai/dist/plugins/loader.d.ts +6 -0
  329. package/vendor/markit-ai/dist/plugins/loader.js +61 -0
  330. package/vendor/markit-ai/dist/plugins/types.d.ts +25 -0
  331. package/vendor/markit-ai/dist/plugins/types.js +1 -0
  332. package/vendor/markit-ai/dist/providers/anthropic.d.ts +2 -0
  333. package/vendor/markit-ai/dist/providers/anthropic.js +47 -0
  334. package/vendor/markit-ai/dist/providers/index.d.ts +21 -0
  335. package/vendor/markit-ai/dist/providers/index.js +56 -0
  336. package/vendor/markit-ai/dist/providers/openai.d.ts +2 -0
  337. package/vendor/markit-ai/dist/providers/openai.js +76 -0
  338. package/vendor/markit-ai/dist/providers/types.d.ts +26 -0
  339. package/vendor/markit-ai/dist/providers/types.js +1 -0
  340. package/vendor/markit-ai/dist/types.d.ts +36 -0
  341. package/vendor/markit-ai/dist/types.js +1 -0
  342. package/vendor/markit-ai/dist/utils/exit-codes.d.ts +4 -0
  343. package/vendor/markit-ai/dist/utils/exit-codes.js +4 -0
  344. package/vendor/markit-ai/dist/utils/output.d.ts +22 -0
  345. package/vendor/markit-ai/dist/utils/output.js +31 -0
  346. package/vendor/markit-ai/dist/utils/turndown.d.ts +8 -0
  347. package/vendor/markit-ai/dist/utils/turndown.js +70 -0
  348. package/vendor/markit-ai/package.json +74 -0
  349. package/vendor/markit-ai.patch +49 -0
@@ -0,0 +1,65 @@
1
+ import { type PublicCommandDescriptor, type PublicHelpSection } from "./public-command-registry";
2
+ export declare const PUBLIC_HELP_MAX_BYTES = 8192;
3
+ export interface PublicHelpOptions {
4
+ json?: boolean;
5
+ section?: string;
6
+ page?: string | number;
7
+ revision?: string;
8
+ }
9
+ export type PublicHelpErrorCode = "unknown_command" | "invalid_section" | "invalid_page" | "invalid_revision" | "revision_mismatch" | "static_metadata_too_large" | "invalid_registry";
10
+ export declare class PublicHelpError extends Error {
11
+ readonly code: PublicHelpErrorCode;
12
+ readonly exitCode: 2 | 1;
13
+ constructor(code: PublicHelpErrorCode);
14
+ }
15
+ export interface PublicHelpEntry {
16
+ id: string;
17
+ kind: "overview" | "usage" | "child" | "argument" | "option" | "example" | "recovery";
18
+ complete: true;
19
+ value: unknown;
20
+ }
21
+ export interface PublicHelpFragment {
22
+ id: string;
23
+ kind: "fragment";
24
+ complete: false;
25
+ encoding: "base64";
26
+ offsetBytes: number;
27
+ totalBytes: number;
28
+ sha256: string;
29
+ data: string;
30
+ }
31
+ export interface PublicHelpNext {
32
+ section: PublicHelpSection;
33
+ page: number;
34
+ executable: "gjc";
35
+ argv: string[];
36
+ }
37
+ export interface PublicHelpDocument {
38
+ schema: "gjc.command-help";
39
+ version: 1;
40
+ ok: true;
41
+ command: readonly string[];
42
+ canonicalCommand: readonly string[];
43
+ revision: string;
44
+ section: PublicHelpSection;
45
+ page: number;
46
+ sections: readonly PublicHelpSection[];
47
+ entries: readonly (PublicHelpEntry | PublicHelpFragment)[];
48
+ sectionComplete: boolean;
49
+ documentComplete: boolean;
50
+ next: PublicHelpNext | null;
51
+ }
52
+ export interface PublicHelpRenderResult {
53
+ /** Complete serialization including its single trailing newline. No output is written. */
54
+ output: string;
55
+ bytes: number;
56
+ document: PublicHelpDocument;
57
+ }
58
+ /** The digest covers every descriptor and this renderer's paging/schema policy. */
59
+ export declare function getPublicHelpRevision(registry?: readonly PublicCommandDescriptor[]): string;
60
+ /**
61
+ * Pure command-local rendering. Each page holds one complete entry or one byte fragment;
62
+ * empty sections still have page 1. This keeps traversal stable and independently bounded.
63
+ * The optional registry supports isolated static fixtures without replacing global state.
64
+ */
65
+ export declare function renderPublicCommandHelp(command: readonly string[], options?: PublicHelpOptions, registry?: readonly PublicCommandDescriptor[]): PublicHelpRenderResult;
@@ -0,0 +1,69 @@
1
+ import type { ArgDescriptor, FlagDescriptor } from "@gajae-code/utils/cli";
2
+ import { type Operation, type OperationKind } from "../sdk/protocol/operation-registry";
3
+ export declare const PUBLIC_HELP_SECTIONS: readonly ["overview", "usage", "children", "arguments", "options", "examples", "recovery"];
4
+ export type PublicHelpSection = (typeof PUBLIC_HELP_SECTIONS)[number];
5
+ export type PublicCommandFamily = "sdk" | "daemon";
6
+ export type PublicDisruption = "none" | "interrupts-work" | "force-kill";
7
+ export interface PublicRecovery {
8
+ description: string;
9
+ disruption: PublicDisruption;
10
+ requiresConfirmation: boolean;
11
+ }
12
+ export interface PublicFlagDescriptor extends FlagDescriptor {
13
+ description: string;
14
+ /** Boundary options are stripped before operation parsing. */
15
+ boundary?: "help" | "mode" | "retrieval";
16
+ conflicts?: readonly string[];
17
+ requires?: readonly string[];
18
+ risk?: string;
19
+ validation?: "positive-safe-integer" | "sha256" | "error-id" | "search-limit" | "pending-ceiling";
20
+ /** Serve's existing operation parser accepts separate operands only. */
21
+ valueSyntax?: "separate" | "separate-or-equals";
22
+ }
23
+ export interface PublicArgumentDescriptor extends ArgDescriptor {
24
+ description: string;
25
+ }
26
+ export interface PublicCommandDescriptor {
27
+ command: readonly string[];
28
+ canonicalCommand: readonly string[];
29
+ parent: readonly string[] | null;
30
+ description: string;
31
+ /** Effective local grammar, not a union of sibling options. Keys have no leading --. */
32
+ flags: Readonly<Record<string, PublicFlagDescriptor>>;
33
+ /** Insertion order is positional order; child tokens are not arguments. */
34
+ args: Readonly<Record<string, PublicArgumentDescriptor>>;
35
+ children: readonly string[];
36
+ usage: readonly {
37
+ syntax: string;
38
+ executable: false;
39
+ }[];
40
+ examples: readonly {
41
+ syntax: string;
42
+ executable: false;
43
+ }[];
44
+ recovery: readonly PublicRecovery[];
45
+ risk?: string;
46
+ defaultChild?: string;
47
+ exactlyOneOf?: readonly (readonly string[])[];
48
+ /** Semantic conditions remain runtime-owned (e.g. proof-bound retirement). */
49
+ constraints: readonly string[];
50
+ operationKind?: Exclude<OperationKind, "reverse">;
51
+ }
52
+ export interface PublicCommandResolution {
53
+ descriptor: PublicCommandDescriptor;
54
+ /** Number of path tokens consumed, including the family. No argv scanning is performed. */
55
+ consumed: number;
56
+ remaining: readonly string[];
57
+ exact: boolean;
58
+ }
59
+ export declare const PUBLIC_BOUNDARY_FLAGS: Readonly<Record<string, PublicFlagDescriptor>>;
60
+ export declare const PUBLIC_RETRIEVAL_FLAGS: Readonly<Record<string, PublicFlagDescriptor>>;
61
+ /** Static descriptors only: no settings, theme, broker, transport, filesystem or process initialization. */
62
+ export declare const PUBLIC_COMMANDS: readonly PublicCommandDescriptor[];
63
+ /** Exact full public path lookup; private workers and function-only verbs are absent. */
64
+ export declare function getPublicCommand(command: readonly string[]): PublicCommandDescriptor | undefined;
65
+ export declare function getPublicCommandChildren(descriptor: PublicCommandDescriptor): readonly PublicCommandDescriptor[];
66
+ /** Resolve path tokens only. The entry scanner must first respect flag operands and --. */
67
+ export declare function resolvePublicCommand(tokens: readonly string[]): PublicCommandResolution | undefined;
68
+ /** Operation metadata is reused, not promoted to command paths or usage-level enum rejection. */
69
+ export declare function getPublicRawOperations(kind: Exclude<OperationKind, "reverse">): readonly Operation[];
@@ -1,5 +1,5 @@
1
1
  import { type SessionSelectionResult } from "../modes/components/session-selector";
2
2
  import { type SessionInfo } from "../session/session-manager";
3
3
  export declare function deleteSessionPickerCandidate(sessionPath: string, explicitSessionDir?: string): Promise<void>;
4
- /** Show the read-only TUI session picker and return the user's consent intent. */
4
+ /** Show the session picker and return the user's resume consent intent. */
5
5
  export declare function selectSession(sessions: SessionInfo[], explicitSessionDir?: string): Promise<SessionSelectionResult>;
@@ -18,6 +18,7 @@ export interface SetupCommandArgs {
18
18
  baseUrl?: string;
19
19
  apiKeyEnv?: string;
20
20
  model?: string[];
21
+ discover?: boolean;
21
22
  modelsPath?: string;
22
23
  smoke?: boolean;
23
24
  install?: boolean;
@@ -5,6 +5,11 @@ export interface SkillsCommandArgs {
5
5
  flags?: {
6
6
  json?: boolean;
7
7
  source?: "all" | "project" | "user";
8
+ /** Max discover results; clamped to [1, SKILL_DISCOVERY_MAX_LIMIT] by the library. */
9
+ limit?: number;
10
+ /** Zero-based start of the discover page; normalized by the library. */
11
+ offset?: number;
12
+ query?: string;
8
13
  };
9
14
  }
10
15
  export declare function runSkillsCommand(cmd: SkillsCommandArgs): Promise<void>;
@@ -1,3 +1,6 @@
1
1
  #!/usr/bin/env bun
2
+ import type { CommandEntry } from "@gajae-code/utils/cli";
3
+ /** Public-family hooks kept available for private-worker tests without loading the full registry. */
4
+ export declare const commands: CommandEntry[];
2
5
  /** Run the CLI with argv excluding process.argv prefix. */
3
6
  export declare function runCli(argv: string[]): Promise<void>;
@@ -1,54 +1,8 @@
1
- /**
2
- * Manage GJC background daemons (status/list/stop/restart).
3
- */
4
- import { Command } from "@gajae-code/utils/cli";
1
+ /** Manage public daemon operations while keeping worker grammar private. */
2
+ import { type ArgDescriptor, Command, type FlagDescriptor } from "@gajae-code/utils/cli";
5
3
  export default class Daemon extends Command {
6
4
  static description: string;
7
- static examples: string[];
8
- static args: {
9
- action: import("@gajae-code/utils/cli").ArgDescriptor & {
10
- description: string;
11
- required: false;
12
- options: string[];
13
- };
14
- kind: import("@gajae-code/utils/cli").ArgDescriptor & {
15
- description: string;
16
- required: false;
17
- multiple: true;
18
- };
19
- };
20
- static flags: {
21
- verbose: import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
22
- char: string;
23
- description: string;
24
- };
25
- all: import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
26
- description: string;
27
- };
28
- json: import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
29
- description: string;
30
- };
31
- force: import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
32
- description: string;
33
- };
34
- "graceful-timeout-ms": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
35
- description: string;
36
- };
37
- "kill-timeout-ms": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
38
- description: string;
39
- };
40
- "spawn-if-stopped": import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
41
- description: string;
42
- };
43
- smoke: import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
44
- description: string;
45
- };
46
- "owner-id": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
47
- description: string;
48
- };
49
- "agent-dir": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
50
- description: string;
51
- };
52
- };
5
+ static args: Record<string, ArgDescriptor>;
6
+ static flags: Record<string, FlagDescriptor>;
53
7
  run(): Promise<void>;
54
8
  }
@@ -41,10 +41,10 @@ export declare function watchSessionHostBrokerLiveness(deps: {
41
41
  * no client attached before treating itself as abandoned.
42
42
  *
43
43
  * This cannot fire during healthy work. "Attached" is the host's own live
44
- * socket-subscription count, so a client that is merely idle — an editor
45
- * sitting on an open ACP session, a long agent turn with nobody typing — still
46
- * holds a socket and resets the window on every poll. Only a client that is
47
- * actually gone opens it, and 30 minutes is far longer than any client
44
+ * demand count: observer-only sockets (such as an idle chat daemon) do not
45
+ * reset the window, while an in-flight turn is reported separately. Only a
46
+ * client that is actually demanding the host opens it, and 30 minutes is far
47
+ * longer than any client
48
48
  * reconnect budget (ACP's is seconds), so a crashed-and-restarted client
49
49
  * reattaches long before the window closes.
50
50
  */
@@ -66,8 +66,8 @@ export declare const SESSION_HOST_FIRST_ATTACH_GRACE_MS: number;
66
66
  * from every client for a full idle grace, or nobody has come for it at all
67
67
  * for a full first-attach grace.
68
68
  *
69
- * `readAttachedClients` reports the host's own live client/socket subscription
70
- * count; `undefined` means the SDK endpoint publishes no such evidence — before
69
+ * `readAttachedClients` reports the host's own live demanding-client count;
70
+ * `undefined` means the SDK endpoint publishes no such evidence — before
71
71
  * startup, after teardown, or when every reader itself fails. That ambiguity is
72
72
  * never instant detachment: it cannot reap on the poll that first sees it, it
73
73
  * can only open a window. Which window depends on what was already observed. A
@@ -78,25 +78,24 @@ export declare const SESSION_HOST_FIRST_ATTACH_GRACE_MS: number;
78
78
  * an observed count of zero. Every reachable state therefore carries a finite
79
79
  * bound.
80
80
  *
81
- * `readWorkInFlight` reports whether the host is running agent work right now.
82
- * Work is positive proof a client did come for this host: a prompt can only
83
- * arrive over an endpoint a client dialed. Live work therefore restarts both
84
- * windows, which is what keeps a mid-prompt host alive whether its count reads
85
- * zero or stops being readable at all. That still bounds a host whose SDK
86
- * runtime never came up: with no transport it can never receive a prompt, so it
87
- * never reports work and its window keeps running from process start. And any
88
- * real turn ends, after which the window resumes; live work defers a bound, it
89
- * never removes it.
81
+ * `readWorkLease` reports whether the host's authoritative session-work lease
82
+ * is held. A lease is positive proof a client did come for this host: a prompt
83
+ * can only arrive over an endpoint a client dialed. Live work therefore
84
+ * restarts both windows, which is what keeps a mid-prompt host alive whether
85
+ * its count reads zero or stops being readable at all. That still bounds a
86
+ * host whose SDK runtime never came up: with no transport it can never receive
87
+ * a prompt, so it never acquires work and its window keeps running from process
88
+ * start. Releasing the lease resumes the applicable bound.
90
89
  */
91
90
  export declare function watchSessionHostClientAttachment(deps: {
92
91
  readAttachedClients: () => number | undefined;
93
- readWorkInFlight?: () => boolean;
92
+ readWorkLease?: () => boolean;
94
93
  now?: () => number;
95
94
  sleep?: (ms: number) => Promise<void>;
96
95
  idleGraceMs?: number;
97
96
  firstAttachGraceMs?: number;
98
97
  pollMs?: number;
99
- }): Promise<void>;
98
+ }): Promise<"detached_idle">;
100
99
  /** Opens lifecycle-authorized history without letting replacement content reach readiness. */
101
100
  export declare function openLifecycleSessionManager(request: SessionLifecycleLaunchRequest, cwd: string, agentDir: string): Promise<{
102
101
  parsed: ParsedArgs;
@@ -126,6 +125,10 @@ export type SdkInternalArgv = {
126
125
  agentDir: string;
127
126
  } | {
128
127
  action: "session-host-internal";
128
+ } | {
129
+ action: "stderr-drain-internal";
130
+ logPath: string;
131
+ maxBytes: number;
129
132
  };
130
133
  /** Parses the exact private argv contracts used by SDK child-process spawns. */
131
134
  export declare function parseSdkInternalArgv(argv: readonly string[]): SdkInternalArgv;
@@ -133,25 +136,5 @@ export default class Sdk extends Command {
133
136
  static description: string;
134
137
  static hidden: boolean;
135
138
  static delegateHelp: boolean;
136
- static args: {
137
- action: import("@gajae-code/utils/cli").ArgDescriptor & {
138
- required: false;
139
- options: string[];
140
- };
141
- };
142
- static flags: {
143
- stdio: import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
144
- description: string;
145
- };
146
- socket: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
147
- description: string;
148
- };
149
- session: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
150
- description: string;
151
- };
152
- "pending-ceiling": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
153
- description: string;
154
- };
155
- };
156
139
  run(): Promise<void>;
157
140
  }
@@ -102,6 +102,9 @@ export default class Setup extends Command {
102
102
  description: string;
103
103
  multiple: true;
104
104
  };
105
+ discover: import("@gajae-code/utils/cli").FlagDescriptor<"boolean"> & {
106
+ description: string;
107
+ };
105
108
  "models-path": import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
106
109
  description: string;
107
110
  };
@@ -25,6 +25,15 @@ export default class Skills extends Command {
25
25
  options: string[];
26
26
  default: string;
27
27
  };
28
+ limit: import("@gajae-code/utils/cli").FlagDescriptor<"integer"> & {
29
+ description: string;
30
+ };
31
+ offset: import("@gajae-code/utils/cli").FlagDescriptor<"integer"> & {
32
+ description: string;
33
+ };
34
+ query: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
35
+ description: string;
36
+ };
28
37
  };
29
38
  static examples: string[];
30
39
  run(): Promise<void>;
@@ -784,6 +784,12 @@ export declare const TIER_MAP_SKIP_LIST: {
784
784
  readonly "openai-codex/gpt-6-astra": {
785
785
  readonly rationale: "GPT-6 Astra catalog addition (2026-09-03 release); not yet curated";
786
786
  };
787
+ readonly "openai-codex/gpt-6-luna": {
788
+ readonly rationale: "GPT-6 Luna catalog addition (2026-09-22 release); not yet curated";
789
+ };
790
+ readonly "openai-codex/gpt-6-sol": {
791
+ readonly rationale: "GPT-6 Sol catalog addition (2026-09-22 release); not yet curated";
792
+ };
787
793
  readonly "openai-codex/gpt-daybreak-blue-latest": {
788
794
  readonly rationale: "post-rebase catalog addition from dev; not yet curated";
789
795
  };
@@ -1155,6 +1161,18 @@ export declare const TIER_MAP_SKIP_LIST: {
1155
1161
  readonly baseline: true;
1156
1162
  readonly rationale: "pre-feature baseline; not yet curated";
1157
1163
  };
1164
+ readonly "alibaba-token-plan/deepseek-v4-pro-0813": {
1165
+ readonly baseline: true;
1166
+ readonly rationale: "post-feature catalog addition; not yet curated";
1167
+ };
1168
+ readonly "alibaba-token-plan/deepseek-v4.1-flash": {
1169
+ readonly baseline: true;
1170
+ readonly rationale: "post-feature catalog addition; not yet curated";
1171
+ };
1172
+ readonly "alibaba-token-plan/glm-5.3": {
1173
+ readonly baseline: true;
1174
+ readonly rationale: "post-feature catalog addition; not yet curated";
1175
+ };
1158
1176
  readonly "amazon-bedrock/anthropic.claude-3-5-haiku-20241022-v1:0": {
1159
1177
  readonly baseline: true;
1160
1178
  readonly rationale: "pre-feature baseline; not yet curated";
@@ -89,7 +89,14 @@ export interface FileLockOwnerToken {
89
89
  }
90
90
  /** Outcome of a guarded lock-dir removal attempt (`removeFileLockDirForGc`). */
91
91
  export type FileLockGcRemoval = "removed" | "owner_changed" | "missing" | "cleanup_failed";
92
- /** Identity evidence carried by the generic stale verdict into a later removal. */
92
+ /**
93
+ * Identity evidence carried by the generic stale verdict into a later removal.
94
+ *
95
+ * `ctimeNs` is a mutable metadata-change time on every supported filesystem, so
96
+ * it is retained for diagnostics/legacy consumers but is not part of the lock
97
+ * identity predicate. `infoBirthtimeNs` is the creation time that stays bound
98
+ * to the file object.
99
+ */
93
100
  export interface GenericFileLockDirIdentity {
94
101
  rootDev: string;
95
102
  rootIno: string;
@@ -99,6 +106,7 @@ export interface GenericFileLockDirIdentity {
99
106
  infoSize: string;
100
107
  infoMtimeNs: string;
101
108
  infoCtimeNs: string;
109
+ infoBirthtimeNs: string;
102
110
  infoSha256: string;
103
111
  }
104
112
  export type GenericFileLockDirStaleVerdict = {
@@ -31,7 +31,7 @@ type ModelProfileActivationSession = Pick<AgentSession, "model" | "thinkingLevel
31
31
  getDefaultFallbackRuntimeState?: () => DefaultFallbackRuntimeState;
32
32
  restoreDefaultFallbackRuntimeState?: (state: DefaultFallbackRuntimeState) => void;
33
33
  restoreModelSelectionForRollback?: AgentSession["restoreModelSelectionForRollback"];
34
- modelRegistry?: Pick<ModelRegistry, "getSessionCanonicalVariant" | "restoreSessionCanonicalVariant" | "clearCanonicalVariant" | "getAvailable" | "lookupAliasExists" | "resolveModelByLookupAlias" | "authStorage" | "isCredentiallessProvider">;
34
+ modelRegistry?: Pick<ModelRegistry, "getSessionCanonicalVariant" | "restoreSessionCanonicalVariant" | "clearCanonicalVariant" | "getAvailable" | "lookupAliasExists" | "resolveModelByLookupAlias" | "authStorage" | "isCredentiallessProvider"> & Partial<Pick<ModelRegistry, "getAvailableForProfileActivation">>;
35
35
  getConfiguredModelChainState?: (role: string) => ConfiguredModelChainState | undefined;
36
36
  };
37
37
  type ConfiguredModelChainState = {
@@ -182,6 +182,48 @@ export declare function getProxyRoutableProviders(profile: ModelProfileDefinitio
182
182
  * retain their legacy tolerance for stale qualified role tails.
183
183
  */
184
184
  export declare function requiresQualifiedModelProfileRoleResolution(profile: Pick<ModelProfileDefinition, "source">): boolean;
185
+ /** Resolve a removed saved-session default through the durable profile without mutating persistent state. */
186
+ export declare function resolveMissingSessionModelRecovery(options: {
187
+ modelRegistry: PrepareModelProfileActivationOptions["modelRegistry"];
188
+ settings: Pick<Settings, "get" | "getModelRole">;
189
+ defaultEntries: readonly string[];
190
+ skips: Array<{
191
+ selector: string;
192
+ reason: string;
193
+ }>;
194
+ savedDefault: string | undefined;
195
+ credentialSessionId: string;
196
+ aliasIntent?: "preset-equivalent";
197
+ }): Promise<{
198
+ profileName: string;
199
+ entries: string[];
200
+ model?: Model<Api>;
201
+ thinkingLevel?: ThinkingLevel;
202
+ explicitThinkingLevel: boolean;
203
+ activeIndex: number;
204
+ skips: Array<{
205
+ selector: string;
206
+ reason: string;
207
+ }>;
208
+ } | undefined>;
209
+ /** Resolve a durable profile's effective default chain without mutating session or settings state. */
210
+ export declare function resolveModelProfileDefaultChain(options: {
211
+ modelRegistry: PrepareModelProfileActivationOptions["modelRegistry"];
212
+ settings: Pick<Settings, "get">;
213
+ profileName: string;
214
+ credentialSessionId: string;
215
+ }): Promise<{
216
+ profileName: string;
217
+ entries: string[];
218
+ model?: Model<Api>;
219
+ thinkingLevel?: ThinkingLevel;
220
+ explicitThinkingLevel: boolean;
221
+ activeIndex: number;
222
+ skips: Array<{
223
+ selector: string;
224
+ reason: string;
225
+ }>;
226
+ }>;
185
227
  export declare function rewriteSelectorForProxy(selector: string, proxyProvider: string, proxyMode: ModelProfileProxyMode, allModels: Model<Api>[], directlyAuthenticated: ReadonlySet<string>, routableProviders: ReadonlySet<string>): string;
186
228
  export declare function prepareModelProfileActivation(options: PrepareModelProfileActivationOptions): Promise<PreparedModelProfileActivation>;
187
229
  export declare function applyPreparedModelProfileActivation(prepared: PreparedModelProfileActivation, options?: ApplyModelProfileActivationOptions): Promise<void>;
@@ -218,3 +260,5 @@ export declare function restoreMaterializedModelProfileForDeletion(options: {
218
260
  snapshot: MaterializeModelProfileForDeletionResult;
219
261
  }): Promise<void>;
220
262
  export declare function activateModelProfile(options: PrepareModelProfileActivationOptions, applyOptions?: ApplyModelProfileActivationOptions): Promise<void>;
263
+ /** Install only a profile's runtime role layer, preserving session model and configured-chain intent. */
264
+ export declare function applyModelProfileRuntimeBindings(options: PrepareModelProfileActivationOptions): Promise<void>;
@@ -20,6 +20,12 @@ export type { BillingPath, BillingPathKind } from "./billing-path";
20
20
  export type { EffectiveProviderAuth, ProviderSelectionPolicy } from "./provider-selection-policy";
21
21
  export type { CanonicalModelIndex, CanonicalModelRecord, CanonicalModelVariant, ModelEquivalenceConfig };
22
22
  export { isAuthenticated, kNoAuth };
23
+ /**
24
+ * Scrub resolved credential material from a discovery failure before it is
25
+ * published to discovery state, cache provenance, or the logger. Mutates
26
+ * Error messages and stacks in place to preserve class/identity; wraps non-Errors.
27
+ */
28
+ export declare function scrubDiscoveryError(error: unknown, secrets: ReadonlyArray<string | undefined>): unknown;
23
29
  /**
24
30
  * A loopback discovery endpoint that is proven to have no listener is the normal state of
25
31
  * a machine without a local model server. Structured transport evidence is required when
@@ -321,6 +327,7 @@ interface ProviderOverride {
321
327
  cacheRetention?: CacheRetention;
322
328
  isOAuth?: boolean;
323
329
  }
330
+ export declare function registrySelectorResolvesToModel(selector: string, models: readonly Model<Api>[]): boolean;
324
331
  /**
325
332
  * Merge a freshly discovered model with the matching bundled/configured entry
326
333
  * (or a runtime provider override when no bundled entry exists).
@@ -523,8 +530,10 @@ export declare class ModelRegistry {
523
530
  */
524
531
  seedCanonicalVariant(sessionId: string, model: Model<Api>): boolean;
525
532
  /**
526
- * Get only models that have auth configured.
527
- * This is a fast check that doesn't refresh OAuth tokens.
533
+ * Get selectable models with auth configured.
534
+ * This is a fast check that doesn't refresh OAuth tokens. A current,
535
+ * authoritative live catalog also limits each provider to its enrolled ids;
536
+ * bundled entries remain the fallback until that evidence exists.
528
537
  */
529
538
  getAvailable(): Model<Api>[];
530
539
  /**
@@ -157,6 +157,12 @@ export interface ModelTagsSettings {
157
157
  [key: string]: ModelTagDef;
158
158
  }
159
159
  export declare const DEFAULT_BASH_INTERCEPTOR_RULES: BashInterceptorRule[];
160
+ export declare const DEFAULT_SDK_PROMPT_DEADLINE_MS = 3600000;
161
+ export declare const DEFAULT_SDK_PROMPT_MAX_RUNTIME_MS = 21600000;
162
+ /** Resolve a `sdk.promptDeadlineMs` lookup, falling back on any non-finite value. */
163
+ export declare function resolveSdkPromptDeadlineMs(value: unknown): number;
164
+ /** Resolve a `sdk.promptMaxRuntimeMs` lookup, falling back on any non-finite value. */
165
+ export declare function resolveSdkPromptMaxRuntimeMs(value: unknown): number;
160
166
  export declare const SETTINGS_SCHEMA: {
161
167
  readonly lastChangelogVersion: {
162
168
  readonly type: "string";
@@ -219,6 +225,11 @@ export declare const SETTINGS_SCHEMA: {
219
225
  readonly description: "Hard maximum runtime for an SDK prompt from acceptance, bounding progress-aware renewals.";
220
226
  readonly validate: (value: number) => boolean;
221
227
  };
228
+ readonly "sdk.flushWorktreeOnDeadline": {
229
+ readonly type: "boolean";
230
+ readonly default: true;
231
+ readonly description: "Autosave uncommitted changes in the session's linked worktree by default as a WIP commit when a prompt deadline retires a prompt; primary checkouts require an explicit true opt-in.";
232
+ };
222
233
  readonly "sdk.masterOrphanGraceMs": {
223
234
  readonly type: "number";
224
235
  readonly default: 120000;
@@ -454,7 +454,12 @@ export declare function readSchedulerRoster(paths: CoordinatorStatePaths, option
454
454
  export declare function advanceSchedulerCursor(paths: CoordinatorStatePaths, cursor: string, options?: {
455
455
  signal?: AbortSignal;
456
456
  }): Promise<void>;
457
- export declare function readSessionTransaction(paths: CoordinatorStatePaths, sessionId: string): Promise<CoordinatorSessionTransactionV1 | null>;
457
+ export declare function readSessionTransaction(paths: CoordinatorStatePaths, sessionId: string, options?: {
458
+ signal?: AbortSignal;
459
+ }): Promise<CoordinatorSessionTransactionV1 | null>;
460
+ export declare function repairLegacyReportIds(paths: CoordinatorStatePaths, sessionId: string, options?: {
461
+ signal?: AbortSignal;
462
+ }): Promise<CoordinatorSessionTransactionV1 | null>;
458
463
  export declare function withSessionTransaction<T>(paths: CoordinatorStatePaths, sessionId: string, operation: (transaction: CoordinatorSessionTransactionV1) => Promise<T>, options?: {
459
464
  signal?: AbortSignal;
460
465
  }): Promise<T>;
@@ -24,11 +24,15 @@ export declare const DAEMON_ACTION_ALIASES: Readonly<Record<string, DaemonAction
24
24
  export declare const DAEMON_ACTION_TOKENS: readonly string[];
25
25
  /** Resolve a leading verb (canonical or alias) to its canonical action. */
26
26
  export declare function resolveDaemonAction(token: string | undefined): DaemonAction | undefined;
27
- /** Exit codes for `gjc daemon`. Backward compatible: success 0, any failure 1. */
27
+ /** Public input failures exit 2; operational failures retain exit 1. */
28
28
  export declare const DAEMON_EXIT: {
29
29
  readonly ok: 0;
30
30
  readonly failure: 1;
31
+ readonly usage: 2;
31
32
  };
33
+ /** A refused result may follow a successful stop or spawn; snapshots and prose
34
+ * do not prove that no effect occurred. Only completed results prove applied. */
35
+ export declare function daemonOperationOutcome(result: DaemonOperationResult): "applied" | "unknown";
32
36
  /** Human-facing headline when a spawn/reload is refused by a live foreign identity. */
33
37
  export declare const OWNERSHIP_MISMATCH_MESSAGE = "refused: a live Telegram daemon with a different bot token or chat already owns this workspace";
34
38
  /** Structured, actionable recovery for a token/chat ownership mismatch. */
@@ -10,6 +10,8 @@ export interface RunErrorPayload {
10
10
  stack?: string;
11
11
  isAbort?: boolean;
12
12
  isToolError?: boolean;
13
+ /** Set only when the originating error carried the trusted designed marker. */
14
+ isDesigned?: boolean;
13
15
  }
14
16
  export type ToolReply = {
15
17
  ok: true;
@@ -31,6 +31,7 @@ import type { AgentSessionEventListener } from "../../session/agent-session";
31
31
  import type { ClientBridge, ClientBridgePermissionOption, ClientBridgePermissionOutcome, ClientBridgePermissionToolCall } from "../../session/client-bridge";
32
32
  import type { CustomMessage } from "../../session/messages";
33
33
  import type { ReadonlySessionManager, SessionManager } from "../../session/session-manager";
34
+ import type { SessionWorkLease } from "../../session/session-work-lease";
34
35
  import type { BashToolDetails, BashToolInput, FindToolDetails, FindToolInput, ReadToolDetails, ReadToolInput, SearchToolDetails, SearchToolInput, WriteToolInput } from "../../tools";
35
36
  import type { EventBus } from "../../utils/event-bus";
36
37
  import type { AgentEndEvent, AutoCompactionEndEvent, AutoCompactionStartEvent, AutoRetryEndEvent, AutoRetryStartEvent, ContextEvent, GoalUpdatedEvent, SessionBeforeBranchEvent, SessionBeforeBranchResult, SessionBeforeCompactEvent, SessionBeforeCompactResult, SessionBeforeSwitchEvent, SessionBeforeSwitchResult, SessionBeforeTreeEvent, SessionBeforeTreeResult, SessionBranchEvent, SessionCompactEvent, SessionCompactingEvent, SessionCompactingResult, SessionEvent, SessionShutdownEvent, SessionStartEvent, SessionSwitchEvent, SessionTreeEvent, AgentStartEvent as SharedAgentStartEvent, TodoReminderEvent, ToolCallEventResult, ToolResultEventResult, TtsrTriggeredEvent, TurnEndEvent, TurnStartEvent } from "../shared-events";
@@ -279,6 +280,8 @@ export interface ExtensionContext {
279
280
  isIdle(): boolean;
280
281
  /** Stable resource ownership identifier for the active prompt run. */
281
282
  getActivePromptHandle(): string | undefined;
283
+ /** The session's authoritative host-liveness lease. */
284
+ getSessionWorkLease?(): SessionWorkLease | undefined;
282
285
  /** Abort the current agent operation */
283
286
  abort(): void | Promise<void>;
284
287
  /** Abort and prove whether resources for a specific prompt settled. */
@@ -1044,6 +1047,13 @@ export type SendUserMessageHandler = (content: string | (TextContent | ImageCont
1044
1047
  startsOwnRun?: boolean;
1045
1048
  removed?: boolean;
1046
1049
  }) => void;
1050
+ /**
1051
+ * Fired synchronously when a plain prompt's dispatch resolves at queue
1052
+ * time instead of run end (diverted into an in-flight run's steering).
1053
+ */
1054
+ onDispatchDisposition?: (promotion: {
1055
+ startsOwnRun: boolean;
1056
+ }) => void;
1047
1057
  preflightSignal?: AbortSignal;
1048
1058
  }) => void | Promise<void>;
1049
1059
  export type AppendEntryHandler = <T = unknown>(customType: string, data?: T) => void;
@@ -1111,6 +1121,8 @@ export interface ExtensionContextActions {
1111
1121
  isIdle: () => boolean;
1112
1122
  /** Stable resource ownership identifier for the active prompt run. */
1113
1123
  getActivePromptHandle?: () => string | undefined;
1124
+ /** The session's authoritative host-liveness lease. */
1125
+ getSessionWorkLease?: () => SessionWorkLease | undefined;
1114
1126
  abort: () => void | Promise<void>;
1115
1127
  abortPromptAndWait?: (handle: string, options: {
1116
1128
  graceMs: number;
@@ -1,4 +1,8 @@
1
1
  import { type GjcPluginRegistry, type GjcPluginRegistryEntry, type GjcPluginScope } from "./types";
2
+ export declare const RegistryLockTestHooks: {
3
+ beforeEviction?: (lockPath: string, raw: string) => void | Promise<void>;
4
+ beforePublish?: (stagingPath: string, lockPath: string) => void | Promise<void>;
5
+ };
2
6
  export declare function registryRootForScope(scope: GjcPluginScope, cwd: string): string;
3
7
  export declare function registryPathForScope(scope: GjcPluginScope, cwd: string): string;
4
8
  /**