@gajae-code/coding-agent 0.13.3 → 0.14.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 (599) hide show
  1. package/CHANGELOG.md +184 -2
  2. package/README.md +2 -0
  3. package/bin/gajaessi.js +4 -0
  4. package/dist/types/async/job-manager.d.ts +55 -2
  5. package/dist/types/async/support.d.ts +14 -0
  6. package/dist/types/capability/mcp.d.ts +6 -0
  7. package/dist/types/capability/types.d.ts +6 -0
  8. package/dist/types/cli/accounts-cli.d.ts +19 -0
  9. package/dist/types/cli/args.d.ts +3 -0
  10. package/dist/types/cli/config-cli.d.ts +6 -0
  11. package/dist/types/cli/crash-cli.d.ts +10 -0
  12. package/dist/types/cli/customize-doctor.d.ts +145 -0
  13. package/dist/types/cli/daemon-cli.d.ts +3 -1
  14. package/dist/types/cli/mcp-cli.d.ts +11 -0
  15. package/dist/types/cli/notify-cli.d.ts +1 -1
  16. package/dist/types/cli/root-flags.d.ts +12 -0
  17. package/dist/types/cli/setup-cli.d.ts +3 -1
  18. package/dist/types/cli/skills-cli.d.ts +2 -1
  19. package/dist/types/cli/update-cli.d.ts +19 -1
  20. package/dist/types/cli.d.ts +6 -0
  21. package/dist/types/commands/accounts.d.ts +40 -0
  22. package/dist/types/commands/crash.d.ts +24 -0
  23. package/dist/types/commands/customize.d.ts +22 -0
  24. package/dist/types/commands/daemon.d.ts +1 -1
  25. package/dist/types/commands/launch.d.ts +6 -0
  26. package/dist/types/commands/setup.d.ts +6 -0
  27. package/dist/types/commands/skills.d.ts +6 -1
  28. package/dist/types/commands/update.d.ts +7 -0
  29. package/dist/types/config/atomic-yaml-patch-worker.d.ts +25 -0
  30. package/dist/types/config/atomic-yaml-patch.d.ts +62 -2
  31. package/dist/types/config/config-schema-version.d.ts +10 -0
  32. package/dist/types/config/file-lock.d.ts +18 -0
  33. package/dist/types/config/model-profile-activation.d.ts +3 -1
  34. package/dist/types/config/model-registry.d.ts +9 -1
  35. package/dist/types/config/models-config-schema.d.ts +2 -0
  36. package/dist/types/config/settings-schema.d.ts +70 -6
  37. package/dist/types/config/settings.d.ts +63 -0
  38. package/dist/types/config/skill-settings-defaults.d.ts +26 -0
  39. package/dist/types/config/task-delegation.d.ts +39 -0
  40. package/dist/types/config/update-channel.d.ts +10 -0
  41. package/dist/types/coordinator-mcp/server.d.ts +5 -1
  42. package/dist/types/crash/index-store.d.ts +87 -0
  43. package/dist/types/crash/nudge.d.ts +50 -0
  44. package/dist/types/crash/record-loader.d.ts +17 -0
  45. package/dist/types/crash/report.d.ts +134 -0
  46. package/dist/types/crash/sanitize.d.ts +25 -0
  47. package/dist/types/cursor.d.ts +13 -2
  48. package/dist/types/customization/import.d.ts +37 -0
  49. package/dist/types/customization/index.d.ts +4 -0
  50. package/dist/types/customization/inventory.d.ts +25 -0
  51. package/dist/types/customization/mutations.d.ts +32 -0
  52. package/dist/types/customization/types.d.ts +115 -0
  53. package/dist/types/daemon/control-types.d.ts +8 -1
  54. package/dist/types/daemon/operator-contract.d.ts +4 -4
  55. package/dist/types/discovery/claude.d.ts +39 -1
  56. package/dist/types/discovery/codex.d.ts +39 -1
  57. package/dist/types/discovery/index.d.ts +2 -0
  58. package/dist/types/discovery/mcp-compat.d.ts +30 -0
  59. package/dist/types/edit/renderer.d.ts +23 -0
  60. package/dist/types/extensibility/extensions/runner.d.ts +3 -0
  61. package/dist/types/extensibility/extensions/types.d.ts +21 -4
  62. package/dist/types/extensibility/gjc-plugins/observability.d.ts +6 -1
  63. package/dist/types/extensibility/gjc-plugins/registry.d.ts +8 -1
  64. package/dist/types/extensibility/hooks/loader.d.ts +19 -5
  65. package/dist/types/extensibility/runtime-skill-discovery.d.ts +22 -1
  66. package/dist/types/extensibility/skill-management.d.ts +107 -0
  67. package/dist/types/gjc-runtime/deep-interview-runtime.d.ts +3 -1
  68. package/dist/types/gjc-runtime/launch-worktree.d.ts +8 -0
  69. package/dist/types/gjc-runtime/linux-proc.d.ts +3 -0
  70. package/dist/types/gjc-runtime/ralplan-runtime.d.ts +10 -6
  71. package/dist/types/gjc-runtime/session-state-lock.d.ts +104 -0
  72. package/dist/types/gjc-runtime/session-state-sidecar.d.ts +120 -2
  73. package/dist/types/gjc-runtime/state-writer.d.ts +10 -1
  74. package/dist/types/gjc-runtime/ultragoal-guard.d.ts +4 -2
  75. package/dist/types/gjc-runtime/ultragoal-runtime.d.ts +8 -6
  76. package/dist/types/gjc-runtime/workflow-settings.d.ts +109 -0
  77. package/dist/types/hooks/events.d.ts +60 -0
  78. package/dist/types/hooks/normalize.d.ts +83 -0
  79. package/dist/types/hooks/skill-state.d.ts +9 -2
  80. package/dist/types/main.d.ts +1 -1
  81. package/dist/types/modes/acp/abort-scope.d.ts +13 -0
  82. package/dist/types/modes/acp/acp-agent.d.ts +7 -4
  83. package/dist/types/modes/components/customization/customization-dashboard.d.ts +44 -0
  84. package/dist/types/modes/components/customization/import-wizard.d.ts +21 -0
  85. package/dist/types/modes/components/customization/index.d.ts +1 -0
  86. package/dist/types/modes/components/gajae-pet-widget.d.ts +8 -30
  87. package/dist/types/modes/components/irc-sidebar.d.ts +1 -0
  88. package/dist/types/modes/components/iterm-pet-transport.d.ts +122 -0
  89. package/dist/types/modes/components/oauth-selector.d.ts +10 -4
  90. package/dist/types/modes/components/pet-capability.d.ts +11 -25
  91. package/dist/types/modes/components/status-line/gh.d.ts +6 -2
  92. package/dist/types/modes/controllers/extension-ui-controller.d.ts +1 -1
  93. package/dist/types/modes/controllers/selector-controller.d.ts +7 -8
  94. package/dist/types/modes/controllers/stt-controller.d.ts +1 -1
  95. package/dist/types/modes/interactive-mode.d.ts +1 -0
  96. package/dist/types/modes/types.d.ts +1 -0
  97. package/dist/types/modes/utils/injected-user-submission.d.ts +10 -0
  98. package/dist/types/runtime-mcp/config.d.ts +9 -0
  99. package/dist/types/runtime-mcp/manager.d.ts +26 -1
  100. package/dist/types/runtime-mcp/oauth-discovery.d.ts +4 -0
  101. package/dist/types/runtime-mcp/oauth-flow.d.ts +24 -1
  102. package/dist/types/runtime-mcp/pool-key.d.ts +2 -0
  103. package/dist/types/runtime-mcp/protocol.d.ts +278 -0
  104. package/dist/types/runtime-mcp/scope-config.d.ts +29 -0
  105. package/dist/types/runtime-mcp/tool-bridge.d.ts +15 -13
  106. package/dist/types/runtime-mcp/transports/http.d.ts +9 -0
  107. package/dist/types/runtime-mcp/types.d.ts +102 -10
  108. package/dist/types/sdk/acp/adapter.d.ts +26 -5
  109. package/dist/types/sdk/broker/broker.d.ts +3 -55
  110. package/dist/types/sdk/broker/lifecycle.d.ts +18 -12
  111. package/dist/types/sdk/broker/session-index.d.ts +14 -5
  112. package/dist/types/sdk/broker/startup-failure.d.ts +16 -1
  113. package/dist/types/sdk/bus/chat-daemon-control.d.ts +51 -1
  114. package/dist/types/sdk/bus/chat-daemon-runtime.d.ts +4 -41
  115. package/dist/types/sdk/bus/config.d.ts +11 -0
  116. package/dist/types/sdk/bus/conversation-store.d.ts +0 -1
  117. package/dist/types/sdk/bus/daemon-paths.d.ts +6 -0
  118. package/dist/types/sdk/bus/discord-conversation.d.ts +2 -0
  119. package/dist/types/sdk/bus/discord-daemon.d.ts +17 -12
  120. package/dist/types/sdk/bus/existing-thread-readiness.d.ts +4 -34
  121. package/dist/types/sdk/bus/inbound-reaction-ordering.d.ts +61 -0
  122. package/dist/types/sdk/bus/index.d.ts +85 -99
  123. package/dist/types/sdk/bus/kind-aware-reconciliation.d.ts +29 -7
  124. package/dist/types/sdk/bus/managed-daemon.d.ts +2 -32
  125. package/dist/types/sdk/bus/notification-service.d.ts +52 -0
  126. package/dist/types/sdk/bus/operator-runtime.d.ts +1 -1
  127. package/dist/types/sdk/bus/prompt-reconciliation.d.ts +16 -5
  128. package/dist/types/sdk/bus/reconciliation-store.d.ts +113 -5
  129. package/dist/types/sdk/bus/session-control.d.ts +25 -1
  130. package/dist/types/sdk/bus/slack-conversation.d.ts +4 -0
  131. package/dist/types/sdk/bus/slack-daemon.d.ts +9 -17
  132. package/dist/types/sdk/bus/slack-live-provider.d.ts +3 -1
  133. package/dist/types/sdk/bus/slack-provider.d.ts +4 -0
  134. package/dist/types/sdk/bus/slack-thread-binding.d.ts +6 -40
  135. package/dist/types/sdk/bus/telegram-adoption-intent.d.ts +30 -104
  136. package/dist/types/sdk/bus/telegram-daemon-cli.d.ts +10 -0
  137. package/dist/types/sdk/bus/telegram-daemon-contract.d.ts +262 -19
  138. package/dist/types/sdk/bus/telegram-daemon-orphan-reap.d.ts +125 -0
  139. package/dist/types/sdk/bus/telegram-daemon-owner-registry.d.ts +22 -0
  140. package/dist/types/sdk/bus/telegram-daemon.d.ts +119 -310
  141. package/dist/types/sdk/bus/telegram-reference.d.ts +1 -47
  142. package/dist/types/sdk/bus/threaded-render.d.ts +1 -0
  143. package/dist/types/sdk/bus/topic-registry.d.ts +33 -17
  144. package/dist/types/sdk/cli/rows.d.ts +2 -11
  145. package/dist/types/sdk/cli/session-cli.d.ts +15 -25
  146. package/dist/types/sdk/client/client.d.ts +97 -1
  147. package/dist/types/sdk/host/control/dispatch.d.ts +0 -7
  148. package/dist/types/sdk/host/control/index.d.ts +1 -1
  149. package/dist/types/sdk/host/control/operations.d.ts +18 -5
  150. package/dist/types/sdk/host/control/runtime-gate.d.ts +19 -0
  151. package/dist/types/sdk/host/host.d.ts +15 -1
  152. package/dist/types/sdk/host/query/handlers.d.ts +5 -0
  153. package/dist/types/sdk/host/reverse-leases.d.ts +1 -1
  154. package/dist/types/sdk/host/session-runtime.d.ts +127 -7
  155. package/dist/types/sdk/host/types.d.ts +1 -1
  156. package/dist/types/sdk/host/websocket-transport.d.ts +1 -1
  157. package/dist/types/sdk/index.d.ts +2 -1
  158. package/dist/types/sdk/lifecycle/broker-client.d.ts +8 -0
  159. package/dist/types/sdk/lifecycle/client.d.ts +59 -0
  160. package/dist/types/sdk/lifecycle/index.d.ts +3 -0
  161. package/dist/types/sdk/lifecycle/service.d.ts +232 -0
  162. package/dist/types/sdk/mcp/server.d.ts +9 -6
  163. package/dist/types/sdk/prompt-deadline-lease.d.ts +43 -0
  164. package/dist/types/sdk/prompt-deadline-manager.d.ts +28 -0
  165. package/dist/types/sdk/prompt-status.d.ts +10 -3
  166. package/dist/types/sdk/protocol/operation-registry.d.ts +5 -0
  167. package/dist/types/sdk/receipt-state.d.ts +17 -0
  168. package/dist/types/sdk/reconciliation-extensions.d.ts +2 -0
  169. package/dist/types/sdk/router/index.d.ts +1 -0
  170. package/dist/types/sdk/router/session-router.d.ts +152 -0
  171. package/dist/types/sdk/session-list.d.ts +22 -0
  172. package/dist/types/sdk/session-reconnect.d.ts +43 -1
  173. package/dist/types/sdk/session.d.ts +34 -1
  174. package/dist/types/sdk/transport/serve-cli.d.ts +1 -4
  175. package/dist/types/session/account-inventory.d.ts +86 -0
  176. package/dist/types/session/agent-session.d.ts +145 -6
  177. package/dist/types/session/agent-storage.d.ts +10 -0
  178. package/dist/types/session/coordinator-tool-label.d.ts +28 -0
  179. package/dist/types/session/internal/managed-session-storage.d.ts +23 -4
  180. package/dist/types/session/messages.d.ts +1 -1
  181. package/dist/types/session/secure-token-file.d.ts +3 -0
  182. package/dist/types/session/session-manager.d.ts +40 -1
  183. package/dist/types/session/startup-auth-config.d.ts +44 -0
  184. package/dist/types/session/terminal-abort.d.ts +378 -0
  185. package/dist/types/session/yield-queue.d.ts +7 -0
  186. package/dist/types/session-import/claude.d.ts +26 -0
  187. package/dist/types/session-import/codex.d.ts +88 -0
  188. package/dist/types/session-import/command.d.ts +35 -0
  189. package/dist/types/session-import/detect.d.ts +22 -0
  190. package/dist/types/session-import/index.d.ts +7 -0
  191. package/dist/types/session-import/provider-codex.d.ts +22 -0
  192. package/dist/types/session-import/provider-service.d.ts +38 -0
  193. package/dist/types/session-import/redact.d.ts +23 -0
  194. package/dist/types/session-import/service.d.ts +47 -0
  195. package/dist/types/session-import/types.d.ts +120 -0
  196. package/dist/types/setup/paseo/check.d.ts +16 -0
  197. package/dist/types/setup/paseo/install-saga.d.ts +115 -0
  198. package/dist/types/setup/paseo/json-publisher.d.ts +76 -0
  199. package/dist/types/setup/paseo/orchestration-preferences.d.ts +24 -0
  200. package/dist/types/setup/paseo/paseo-ownership.d.ts +87 -0
  201. package/dist/types/setup/paseo/paseo-setup.d.ts +29 -0
  202. package/dist/types/setup/paseo/provider-config.d.ts +35 -0
  203. package/dist/types/setup/paseo/remove.d.ts +14 -0
  204. package/dist/types/setup/paseo/result-types.d.ts +59 -0
  205. package/dist/types/setup/paseo/setup-deps.d.ts +73 -0
  206. package/dist/types/setup/paseo/skills-bridge.d.ts +44 -0
  207. package/dist/types/skill-state/active-state.d.ts +5 -1
  208. package/dist/types/slash-commands/acp-builtins.d.ts +5 -1
  209. package/dist/types/slash-commands/builtin-registry.d.ts +2 -0
  210. package/dist/types/slash-commands/helpers/credential-switch.d.ts +12 -0
  211. package/dist/types/slash-commands/helpers/usage-report.d.ts +5 -6
  212. package/dist/types/slash-commands/types.d.ts +7 -1
  213. package/dist/types/task/executor.d.ts +10 -0
  214. package/dist/types/task/index.d.ts +3 -1
  215. package/dist/types/tools/ask-answer-registry.d.ts +6 -3
  216. package/dist/types/tools/bash-sleep-advisory.d.ts +14 -0
  217. package/dist/types/tools/bash.d.ts +2 -6
  218. package/dist/types/tools/browser/attach.d.ts +11 -0
  219. package/dist/types/tools/browser/launch.d.ts +20 -0
  220. package/dist/types/tools/browser/profile-discovery.d.ts +6 -0
  221. package/dist/types/tools/browser/render.d.ts +1 -0
  222. package/dist/types/tools/browser.d.ts +3 -1
  223. package/dist/types/tools/image-gen.d.ts +9 -2
  224. package/dist/types/tools/index.d.ts +8 -0
  225. package/dist/types/tools/monitor.d.ts +1 -1
  226. package/dist/types/tools/skill-discovery.d.ts +8 -1
  227. package/dist/types/tools/subagent.d.ts +2 -0
  228. package/dist/types/tools/ultragoal-ask-guard.d.ts +2 -2
  229. package/dist/types/utils/herdr-pane.d.ts +76 -0
  230. package/package.json +19 -9
  231. package/scripts/build-binary.ts +2 -1
  232. package/scripts/build-sdk-package-smoke.ts +2 -13
  233. package/scripts/capture-sticky-viewport-showcase.ts +0 -1
  234. package/scripts/compile-args.ts +2 -0
  235. package/scripts/generate-sdk-adapter-parity-manifest.ts +31 -16
  236. package/scripts/generate-sdk-operation-inventory.ts +28 -0
  237. package/scripts/generate-telegram-baseline-manifest.ts +1 -0
  238. package/scripts/generate-tool-catalog.ts +6 -4
  239. package/scripts/verify-gjc-sdk-canonicalization.ts +5 -39
  240. package/src/async/job-manager.ts +352 -17
  241. package/src/async/support.ts +25 -0
  242. package/src/autoresearch/dashboard.ts +28 -13
  243. package/src/capability/index.ts +3 -1
  244. package/src/capability/mcp.ts +6 -0
  245. package/src/capability/types.ts +6 -0
  246. package/src/cli/accounts-cli.ts +395 -0
  247. package/src/cli/args.ts +23 -0
  248. package/src/cli/auth-broker-cli.ts +136 -66
  249. package/src/cli/auth-gateway-cli.ts +94 -70
  250. package/src/cli/config-cli.ts +27 -2
  251. package/src/cli/crash-cli.ts +78 -0
  252. package/src/cli/customize-doctor.ts +1605 -0
  253. package/src/cli/daemon-cli.ts +12 -3
  254. package/src/cli/fast-help.ts +1 -0
  255. package/src/cli/mcp-cli.ts +128 -60
  256. package/src/cli/notify-cli.ts +8 -14
  257. package/src/cli/root-flags.ts +8 -0
  258. package/src/cli/setup-cli.ts +145 -0
  259. package/src/cli/skills-cli.ts +38 -2
  260. package/src/cli/update-cli.ts +167 -12
  261. package/src/cli.ts +4 -0
  262. package/src/commands/accounts.ts +71 -0
  263. package/src/commands/crash.ts +35 -0
  264. package/src/commands/customize.ts +84 -0
  265. package/src/commands/daemon.ts +2 -2
  266. package/src/commands/deep-interview.ts +2 -0
  267. package/src/commands/launch.ts +1 -0
  268. package/src/commands/mcp.ts +12 -7
  269. package/src/commands/ralplan.ts +2 -0
  270. package/src/commands/sdk.ts +65 -32
  271. package/src/commands/setup.ts +5 -0
  272. package/src/commands/skills.ts +14 -4
  273. package/src/commands/ultragoal.ts +10 -1
  274. package/src/commands/update.ts +26 -15
  275. package/src/config/atomic-yaml-patch-worker.ts +57 -0
  276. package/src/config/atomic-yaml-patch.ts +769 -29
  277. package/src/config/config-schema-version.ts +10 -0
  278. package/src/config/file-lock.ts +70 -1
  279. package/src/config/mcp-schema.json +52 -14
  280. package/src/config/model-profile-activation.ts +20 -1
  281. package/src/config/model-profiles.ts +29 -19
  282. package/src/config/model-registry.ts +132 -21
  283. package/src/config/models-config-schema.ts +1 -1
  284. package/src/config/settings-schema.ts +76 -6
  285. package/src/config/settings.ts +4038 -199
  286. package/src/config/skill-settings-defaults.ts +41 -3
  287. package/src/config/task-delegation.ts +87 -0
  288. package/src/config/update-channel.ts +23 -0
  289. package/src/coordinator-mcp/server.ts +377 -308
  290. package/src/crash/index-store.ts +723 -0
  291. package/src/crash/nudge.ts +89 -0
  292. package/src/crash/record-loader.ts +149 -0
  293. package/src/crash/report.ts +551 -0
  294. package/src/crash/sanitize.ts +129 -0
  295. package/src/cursor.ts +36 -10
  296. package/src/customization/import.ts +946 -0
  297. package/src/customization/index.ts +4 -0
  298. package/src/customization/inventory.ts +335 -0
  299. package/src/customization/mutations.ts +141 -0
  300. package/src/customization/types.ts +223 -0
  301. package/src/daemon/control-types.ts +8 -1
  302. package/src/daemon/operator-contract.ts +6 -6
  303. package/src/defaults/gjc/skills/deep-interview/SKILL.md +11 -22
  304. package/src/defaults/gjc/skills/ralplan/SKILL.md +36 -23
  305. package/src/defaults/gjc/skills/ultragoal/SKILL.md +16 -0
  306. package/src/discovery/claude-hooks.ts +38 -0
  307. package/src/discovery/claude.ts +142 -209
  308. package/src/discovery/codex-hooks.ts +38 -0
  309. package/src/discovery/codex.ts +132 -198
  310. package/src/discovery/helpers.ts +8 -1
  311. package/src/discovery/index.ts +2 -0
  312. package/src/discovery/mcp-compat.ts +234 -0
  313. package/src/discovery/mcp-json.ts +6 -0
  314. package/src/edit/renderer.ts +40 -0
  315. package/src/edit/streaming.ts +4 -2
  316. package/src/exec/bash-executor.ts +24 -20
  317. package/src/export/html/index.ts +51 -2
  318. package/src/extensibility/extensions/loader.ts +9 -1
  319. package/src/extensibility/extensions/runner.ts +17 -4
  320. package/src/extensibility/extensions/types.ts +31 -6
  321. package/src/extensibility/gjc-plugins/constrained-hooks.ts +33 -0
  322. package/src/extensibility/gjc-plugins/installer.ts +9 -5
  323. package/src/extensibility/gjc-plugins/observability.ts +8 -2
  324. package/src/extensibility/gjc-plugins/registry.ts +13 -2
  325. package/src/extensibility/gjc-plugins/runtime-adapters.ts +3 -1
  326. package/src/extensibility/gjc-plugins/schema.ts +222 -39
  327. package/src/extensibility/hooks/loader.ts +154 -10
  328. package/src/extensibility/runtime-skill-discovery.ts +257 -60
  329. package/src/extensibility/skill-management.ts +368 -0
  330. package/src/extensibility/skills.ts +52 -16
  331. package/src/gjc-runtime/deep-interview-runtime.ts +45 -61
  332. package/src/gjc-runtime/launch-worktree.ts +56 -2
  333. package/src/gjc-runtime/linux-proc.ts +7 -1
  334. package/src/gjc-runtime/ralplan-runtime.ts +100 -164
  335. package/src/gjc-runtime/session-state-lock.ts +992 -0
  336. package/src/gjc-runtime/session-state-sidecar.ts +644 -142
  337. package/src/gjc-runtime/state-writer.ts +39 -14
  338. package/src/gjc-runtime/tmux-owner-isolation.ts +5 -4
  339. package/src/gjc-runtime/ultragoal-guard.ts +11 -4
  340. package/src/gjc-runtime/ultragoal-runtime.ts +44 -41
  341. package/src/gjc-runtime/workflow-settings.ts +596 -0
  342. package/src/goals/tools/goal-tool.ts +6 -1
  343. package/src/hooks/events.ts +291 -0
  344. package/src/hooks/native-skill-hook.ts +4 -0
  345. package/src/hooks/normalize.ts +369 -0
  346. package/src/hooks/skill-state.ts +165 -46
  347. package/src/internal-urls/docs-index.generated.ts +40 -32
  348. package/src/main.ts +32 -5
  349. package/src/migrate/mcp-mapper.ts +25 -2
  350. package/src/modes/acp/abort-scope.ts +29 -0
  351. package/src/modes/acp/acp-agent.ts +423 -98
  352. package/src/modes/components/assistant-message.ts +6 -1
  353. package/src/modes/components/customization/customization-dashboard.ts +443 -0
  354. package/src/modes/components/customization/import-wizard.ts +372 -0
  355. package/src/modes/components/customization/index.ts +1 -0
  356. package/src/modes/components/gajae-pet-widget.ts +539 -213
  357. package/src/modes/components/irc-sidebar.ts +11 -0
  358. package/src/modes/components/iterm-pet-transport.ts +585 -0
  359. package/src/modes/components/oauth-selector.ts +277 -86
  360. package/src/modes/components/pet-capability.ts +39 -40
  361. package/src/modes/components/settings-selector.ts +9 -0
  362. package/src/modes/components/status-line/gh.ts +45 -1
  363. package/src/modes/components/status-line/segments.ts +16 -1
  364. package/src/modes/components/tool-status-header.ts +13 -3
  365. package/src/modes/controllers/command-controller.ts +20 -8
  366. package/src/modes/controllers/extension-ui-controller.ts +56 -257
  367. package/src/modes/controllers/input-controller.ts +10 -0
  368. package/src/modes/controllers/runtime-mcp-command-controller.ts +16 -3
  369. package/src/modes/controllers/selector-controller.ts +177 -72
  370. package/src/modes/controllers/stt-controller.ts +3 -3
  371. package/src/modes/interactive-mode.ts +88 -16
  372. package/src/modes/print-mode.ts +35 -6
  373. package/src/modes/runtime-init.ts +21 -68
  374. package/src/modes/types.ts +1 -0
  375. package/src/modes/utils/injected-user-submission.ts +25 -0
  376. package/src/modes/utils/terminal-bell.ts +15 -1
  377. package/src/prompts/agent-fragments/ralplan-persistence.md +1 -1
  378. package/src/prompts/agent-fragments/restricted-bash.md +1 -1
  379. package/src/prompts/agents/critic.md +1 -1
  380. package/src/prompts/system/rlm-research.md +1 -1
  381. package/src/prompts/system/system-prompt.md +0 -2
  382. package/src/prompts/tools/bash.md +7 -1
  383. package/src/prompts/tools/browser.md +1 -1
  384. package/src/prompts/tools/cron.md +6 -6
  385. package/src/prompts/tools/read.md +0 -2
  386. package/src/prompts/tools/skill-discovery.md +4 -2
  387. package/src/runtime-mcp/client.ts +427 -23
  388. package/src/runtime-mcp/config.ts +37 -5
  389. package/src/runtime-mcp/manager-pool.test.ts +56 -0
  390. package/src/runtime-mcp/manager.ts +52 -2
  391. package/src/runtime-mcp/oauth-discovery.ts +13 -0
  392. package/src/runtime-mcp/oauth-flow.ts +46 -1
  393. package/src/runtime-mcp/pool-key.ts +5 -1
  394. package/src/runtime-mcp/pool.test.ts +9 -0
  395. package/src/runtime-mcp/protocol.test.ts +353 -0
  396. package/src/runtime-mcp/protocol.ts +624 -0
  397. package/src/runtime-mcp/scope-config.ts +78 -0
  398. package/src/runtime-mcp/tool-bridge.ts +44 -10
  399. package/src/runtime-mcp/transports/http.ts +84 -13
  400. package/src/runtime-mcp/types.ts +123 -12
  401. package/src/sdk/acp/adapter.ts +328 -97
  402. package/src/sdk/broker/broker.ts +160 -741
  403. package/src/sdk/broker/ensure.ts +9 -1
  404. package/src/sdk/broker/lifecycle.ts +510 -116
  405. package/src/sdk/broker/operation-receipt-ledger.ts +11 -2
  406. package/src/sdk/broker/process-incarnation.ts +19 -0
  407. package/src/sdk/broker/session-index.ts +516 -117
  408. package/src/sdk/broker/startup-failure.ts +28 -5
  409. package/src/sdk/broker/transport.ts +1 -13
  410. package/src/sdk/bus/chat-daemon-cli.ts +4 -2
  411. package/src/sdk/bus/chat-daemon-control.ts +67 -6
  412. package/src/sdk/bus/chat-daemon-runtime.ts +183 -859
  413. package/src/sdk/bus/config.ts +13 -0
  414. package/src/sdk/bus/conversation-store.ts +59 -171
  415. package/src/sdk/bus/daemon-paths.ts +20 -0
  416. package/src/sdk/bus/discord-conversation.ts +2 -0
  417. package/src/sdk/bus/discord-daemon.ts +524 -126
  418. package/src/sdk/bus/discord-live-provider.ts +206 -79
  419. package/src/sdk/bus/existing-thread-readiness.ts +4 -97
  420. package/src/sdk/bus/inbound-reaction-ordering.ts +122 -0
  421. package/src/sdk/bus/index.ts +2480 -456
  422. package/src/sdk/bus/kind-aware-reconciliation.ts +204 -34
  423. package/src/sdk/bus/lifecycle-commands.ts +2 -2
  424. package/src/sdk/bus/managed-daemon.ts +2 -145
  425. package/src/sdk/bus/notification-service.ts +196 -0
  426. package/src/sdk/bus/operator-runtime.ts +1 -1
  427. package/src/sdk/bus/prompt-reconciliation.ts +24 -15
  428. package/src/sdk/bus/reconciliation-store.ts +553 -24
  429. package/src/sdk/bus/session-control.ts +49 -3
  430. package/src/sdk/bus/slack-conversation.ts +4 -0
  431. package/src/sdk/bus/slack-daemon.ts +733 -134
  432. package/src/sdk/bus/slack-live-provider.ts +65 -15
  433. package/src/sdk/bus/slack-provider.ts +4 -0
  434. package/src/sdk/bus/slack-thread-binding.ts +9 -104
  435. package/src/sdk/bus/telegram-adoption-intent.ts +299 -209
  436. package/src/sdk/bus/telegram-daemon-cli.ts +194 -7
  437. package/src/sdk/bus/telegram-daemon-contract.ts +265 -19
  438. package/src/sdk/bus/telegram-daemon-control.ts +3 -13
  439. package/src/sdk/bus/telegram-daemon-orphan-reap.ts +498 -0
  440. package/src/sdk/bus/telegram-daemon-owner-registry.ts +176 -0
  441. package/src/sdk/bus/telegram-daemon.ts +2552 -2280
  442. package/src/sdk/bus/telegram-reference.ts +1 -226
  443. package/src/sdk/bus/telegram-setup.ts +2 -2
  444. package/src/sdk/bus/threaded-render.ts +1 -0
  445. package/src/sdk/bus/topic-registry.ts +279 -146
  446. package/src/sdk/cli/rows.ts +2 -35
  447. package/src/sdk/cli/session-cli.ts +776 -700
  448. package/src/sdk/client/client.ts +892 -1
  449. package/src/sdk/host/control/dispatch.ts +93 -58
  450. package/src/sdk/host/control/index.ts +1 -1
  451. package/src/sdk/host/control/operations.ts +18 -10
  452. package/src/sdk/host/control/runtime-gate.ts +40 -0
  453. package/src/sdk/host/host.ts +63 -12
  454. package/src/sdk/host/query/handlers.ts +66 -7
  455. package/src/sdk/host/reverse-leases.ts +2 -2
  456. package/src/sdk/host/sdk-surface-parity.test.ts +1 -1
  457. package/src/sdk/host/session-runtime.test.ts +2787 -34
  458. package/src/sdk/host/session-runtime.ts +1489 -101
  459. package/src/sdk/host/surface-policy.ts +12 -8
  460. package/src/sdk/host/types.ts +1 -1
  461. package/src/sdk/host/websocket-transport.lifecycle.test.ts +31 -59
  462. package/src/sdk/host/websocket-transport.ts +85 -50
  463. package/src/sdk/index.ts +2 -1
  464. package/src/sdk/lifecycle/broker-client.ts +53 -0
  465. package/src/sdk/lifecycle/client.ts +234 -0
  466. package/src/sdk/lifecycle/index.ts +3 -0
  467. package/src/sdk/{bus/recent-activity.ts → lifecycle/recent-sessions.ts} +5 -2
  468. package/src/sdk/lifecycle/service.ts +720 -0
  469. package/src/sdk/mcp/server.ts +226 -188
  470. package/src/sdk/prompt-deadline-lease.ts +55 -0
  471. package/src/sdk/prompt-deadline-manager.ts +148 -0
  472. package/src/sdk/prompt-status.ts +11 -3
  473. package/src/sdk/protocol/operation-inventory.generated.json +272 -129
  474. package/src/sdk/protocol/operation-registry.ts +71 -8
  475. package/src/sdk/receipt-state.ts +43 -0
  476. package/src/sdk/reconciliation-extensions.ts +14 -0
  477. package/src/sdk/router/index.ts +1 -0
  478. package/src/sdk/router/session-router.ts +1658 -0
  479. package/src/sdk/session-list.ts +93 -0
  480. package/src/sdk/session-reconnect.ts +45 -1
  481. package/src/sdk/session.ts +716 -120
  482. package/src/sdk/transport/serve-cli.ts +18 -34
  483. package/src/session/account-inventory.ts +603 -0
  484. package/src/session/agent-session.ts +2857 -582
  485. package/src/session/agent-storage.ts +35 -0
  486. package/src/session/blob-store.ts +32 -1
  487. package/src/session/coordinator-tool-label.ts +40 -0
  488. package/src/session/internal/managed-session-scope.ts +4 -0
  489. package/src/session/internal/managed-session-storage.ts +173 -12
  490. package/src/session/messages.ts +1 -1
  491. package/src/session/secure-token-file.ts +80 -0
  492. package/src/session/session-manager.ts +730 -58
  493. package/src/session/session-storage.ts +25 -16
  494. package/src/session/startup-auth-config.ts +297 -0
  495. package/src/session/terminal-abort.ts +1253 -0
  496. package/src/session/yield-queue.ts +57 -15
  497. package/src/session-import/claude.ts +334 -0
  498. package/src/session-import/codex.ts +1033 -0
  499. package/src/session-import/command.ts +77 -0
  500. package/src/session-import/detect.ts +133 -0
  501. package/src/session-import/index.ts +7 -0
  502. package/src/session-import/provider-codex.ts +327 -0
  503. package/src/session-import/provider-service.ts +457 -0
  504. package/src/session-import/redact.ts +128 -0
  505. package/src/session-import/service.ts +1264 -0
  506. package/src/session-import/types.ts +148 -0
  507. package/src/setup/paseo/check.ts +213 -0
  508. package/src/setup/paseo/install-saga.ts +293 -0
  509. package/src/setup/paseo/json-publisher.ts +263 -0
  510. package/src/setup/paseo/orchestration-preferences.ts +86 -0
  511. package/src/setup/paseo/paseo-ownership.ts +224 -0
  512. package/src/setup/paseo/paseo-setup.ts +253 -0
  513. package/src/setup/paseo/provider-config.ts +139 -0
  514. package/src/setup/paseo/remove.ts +183 -0
  515. package/src/setup/paseo/result-types.ts +79 -0
  516. package/src/setup/paseo/setup-deps.ts +175 -0
  517. package/src/setup/paseo/skills-bridge.ts +260 -0
  518. package/src/skill-state/active-state.ts +21 -11
  519. package/src/slash-commands/acp-builtins.ts +9 -1
  520. package/src/slash-commands/builtin-registry.ts +98 -16
  521. package/src/slash-commands/helpers/credential-switch.ts +143 -0
  522. package/src/slash-commands/helpers/mcp.ts +9 -3
  523. package/src/slash-commands/helpers/usage-report.ts +61 -56
  524. package/src/slash-commands/types.ts +7 -2
  525. package/src/task/executor.ts +30 -11
  526. package/src/task/index.ts +66 -7
  527. package/src/task/render.ts +23 -9
  528. package/src/tools/ask-answer-registry.ts +23 -7
  529. package/src/tools/ask.ts +8 -4
  530. package/src/tools/bash-sleep-advisory.ts +115 -0
  531. package/src/tools/bash.ts +98 -18
  532. package/src/tools/browser/attach.ts +71 -3
  533. package/src/tools/browser/launch.ts +86 -13
  534. package/src/tools/browser/profile-discovery.ts +57 -7
  535. package/src/tools/browser/render.ts +8 -1
  536. package/src/tools/browser.ts +130 -21
  537. package/src/tools/computer.enforcement.test.ts +1 -1
  538. package/src/tools/computer.ts +3 -2
  539. package/src/tools/cron.ts +12 -1
  540. package/src/tools/image-gen.ts +27 -16
  541. package/src/tools/index.ts +8 -0
  542. package/src/tools/job.ts +33 -6
  543. package/src/tools/monitor.ts +41 -2
  544. package/src/tools/skill-discovery.ts +21 -29
  545. package/src/tools/subagent.ts +142 -24
  546. package/src/tools/tool-catalog.generated.ts +6 -6
  547. package/src/tools/ultragoal-ask-guard.ts +10 -3
  548. package/src/utils/herdr-pane.ts +345 -0
  549. package/src/utils/title-generator.ts +2 -0
  550. package/src/web/scrapers/index.ts +6 -4
  551. package/dist/types/cli/malloc-env-guard.test.d.ts +0 -1
  552. package/dist/types/defaults/gjc-defaults.test.d.ts +0 -1
  553. package/dist/types/memory-backend/lazy-loading.test.d.ts +0 -1
  554. package/dist/types/runtime/boot-ordering.test.d.ts +0 -1
  555. package/dist/types/runtime/lazy-service.test.d.ts +0 -1
  556. package/dist/types/runtime/network-prewarm-service.test.d.ts +0 -1
  557. package/dist/types/runtime/workspace-tree-service.test.d.ts +0 -1
  558. package/dist/types/runtime-mcp/config.test.d.ts +0 -1
  559. package/dist/types/runtime-mcp/http.test.d.ts +0 -1
  560. package/dist/types/runtime-mcp/manager-pool.test.d.ts +0 -1
  561. package/dist/types/runtime-mcp/pool-key.test.d.ts +0 -1
  562. package/dist/types/runtime-mcp/pool.test.d.ts +0 -1
  563. package/dist/types/sdk/bus/lifecycle-control-runtime.d.ts +0 -117
  564. package/dist/types/sdk/bus/lifecycle-orchestrator.d.ts +0 -141
  565. package/dist/types/sdk/bus/telegram-cli.d.ts +0 -31
  566. package/dist/types/sdk/elevation/allowlist.d.ts +0 -20
  567. package/dist/types/sdk/elevation/audit.d.ts +0 -93
  568. package/dist/types/sdk/elevation/capability.d.ts +0 -3
  569. package/dist/types/sdk/elevation/digest.d.ts +0 -72
  570. package/dist/types/sdk/elevation/dispatch-receipt.d.ts +0 -85
  571. package/dist/types/sdk/elevation/grant-ledger.d.ts +0 -163
  572. package/dist/types/sdk/elevation/owner.d.ts +0 -48
  573. package/dist/types/sdk/host/import-graph.test.d.ts +0 -1
  574. package/dist/types/sdk/host/sdk-surface-parity.test.d.ts +0 -1
  575. package/dist/types/sdk/host/session-runtime.test.d.ts +0 -1
  576. package/dist/types/sdk/host/websocket-transport.lifecycle.test.d.ts +0 -1
  577. package/dist/types/session/auth-broker-config.d.ts +0 -13
  578. package/dist/types/session/heap-eviction-artifacts.test.d.ts +0 -1
  579. package/dist/types/skills/skills.test.d.ts +0 -1
  580. package/dist/types/slash-commands/notify-command.test.d.ts +0 -1
  581. package/dist/types/task/token-log.test.d.ts +0 -1
  582. package/dist/types/tools/computer.enforcement.test.d.ts +0 -1
  583. package/dist/types/tools/descriptors.test.d.ts +0 -1
  584. package/scripts/g005-daemon-smoke.ts +0 -180
  585. package/scripts/g011-daemon-path-smoke.ts +0 -153
  586. package/src/sdk/bus/lifecycle-control-runtime.ts +0 -1733
  587. package/src/sdk/bus/lifecycle-orchestrator.ts +0 -489
  588. package/src/sdk/bus/telegram-cli.ts +0 -212
  589. package/src/sdk/elevation/allowlist.ts +0 -54
  590. package/src/sdk/elevation/audit.ts +0 -208
  591. package/src/sdk/elevation/capability.ts +0 -41
  592. package/src/sdk/elevation/digest.ts +0 -129
  593. package/src/sdk/elevation/dispatch-receipt.ts +0 -184
  594. package/src/sdk/elevation/grant-ledger.ts +0 -1142
  595. package/src/sdk/elevation/owner.ts +0 -109
  596. package/src/session/auth-broker-config.ts +0 -109
  597. /package/dist/types/{ai-core-import-gate.test.d.ts → discovery/claude-hooks.d.ts} +0 -0
  598. /package/dist/types/{cli/fixture-report.test.d.ts → discovery/codex-hooks.d.ts} +0 -0
  599. /package/dist/types/sdk/{bus/recent-activity.d.ts → lifecycle/recent-sessions.d.ts} +0 -0
@@ -66,6 +66,7 @@ export interface ForkContextSeedOptions {
66
66
  preserveLatestUser?: boolean;
67
67
  signal?: AbortSignal;
68
68
  }
69
+ import type { AuthCredentialSelector } from "@gajae-code/ai/core";
69
70
  import { type AsyncJob, type AsyncJobDeliveryState, AsyncJobManager } from "../async";
70
71
  import type { Rule } from "../capability/rule";
71
72
  import { type ModelRegistry } from "../config/model-registry";
@@ -115,6 +116,18 @@ import type { BranchSummaryEntry, CompactionEntry, NewSessionOptions, PreparedNe
115
116
  import { SessionManager } from "./session-manager";
116
117
  import { ToolChoiceQueue } from "./tool-choice-queue";
117
118
  import { YieldQueue } from "./yield-queue";
119
+ /**
120
+ * Classify an async-result delivery against terminal-abort ownership:
121
+ * - "ordinary": no owned-completion envelope — deliver as before.
122
+ * - "fresh": an exact registered owned-completion the owning scope's gate
123
+ * authorizes as a fresh-turn resume (scope:"turn", policy enabled).
124
+ * - "drop": a recognized owned-completion the gate denies — scope:"owned"
125
+ * (policy disabled, stopped work must never call followUp/prompt), a
126
+ * forged/unregistered tuple, or an envelope whose terminal scope no longer
127
+ * exists. Dropped entries never reach the agent (AC 36 zero final calls
128
+ * from stopped work), even if a delivery races the settlement purge.
129
+ */
130
+ export declare function ownedCompletionResumeAction(message: AgentMessage): "ordinary" | "fresh" | "drop";
118
131
  /** Session-specific events that extend the core AgentEvent */
119
132
  export type AutoCompactionContinuationSkipReason = "auto_continue_disabled_non_resumable_tail";
120
133
  export type AgentSessionEvent = AgentEvent | {
@@ -199,6 +212,9 @@ export interface AgentSessionConfig {
199
212
  agent: Agent;
200
213
  sessionManager: SessionManager;
201
214
  settings: Settings;
215
+ /** The session's REQUESTED effective agent directory, independent of the
216
+ * global Settings singleton (which may be reused across sessions). */
217
+ agentDir?: string;
202
218
  /** Lazy memory backend service; omitted callers receive a session-local default. */
203
219
  memoryBackend?: LazyService<MemoryBackend>;
204
220
  /** Lazy workspace-tree service; omitted callers retain the legacy direct-scan path. */
@@ -241,6 +257,12 @@ export interface AgentSessionConfig {
241
257
  workflowGatePublication?: "endpoint" | "local";
242
258
  /** Tool registry for LSP and settings */
243
259
  toolRegistry?: Map<string, AgentTool>;
260
+ /**
261
+ * Tool objects this session's builder constructed from built-in descriptors, captured
262
+ * before any extension, MCP, or dynamically registered tool could claim their registry
263
+ * names. Absent means no provenance was proven and every tool reports as `custom`.
264
+ */
265
+ builtinToolIdentities?: ReadonlySet<object>;
244
266
  /** Tool-session factory context used to lazily attach workflow-gate-only tools. */
245
267
  workflowGateToolSession?: ToolSession;
246
268
  /** Current session pre-LLM message transform pipeline */
@@ -314,6 +336,8 @@ export interface AgentSessionConfig {
314
336
  * **MUST NOT** dispose it on their own teardown.
315
337
  */
316
338
  ownedAsyncJobManager?: AsyncJobManager;
339
+ /** False when a child borrows its parent's manager and must not dispose it. */
340
+ disposeAsyncJobManager?: boolean;
317
341
  /** Cheap TUI retained-memory counters; absent for headless sessions. */
318
342
  retainedMemorySampler?: () => RetainedMemorySample;
319
343
  /**
@@ -342,8 +366,12 @@ export interface AgentSessionConfig {
342
366
  providerSessionId?: string;
343
367
  /** Optional auth-selection identity, distinct from logical/canonical and provider-cache identity. */
344
368
  credentialSessionId?: string;
369
+ /** Opaque credential-store authority fingerprint for durable numeric session pins. */
370
+ credentialStoreIdentity?: string;
345
371
  /** Optional provider-facing cache identity, distinct from logical session identity. */
346
372
  providerCacheSessionId?: string;
373
+ /** Explicit provider affinity whose persisted transcript path scopes async ownership. */
374
+ asyncJobProviderSessionId?: string;
347
375
  }
348
376
  export interface AgentSessionMemoryGuardRestoreInput extends Omit<AgentSessionConfig, "sessionManager" | "recoveryHydrationContext"> {
349
377
  staged: Extract<MemoryGuardRestoreResult, {
@@ -400,6 +428,8 @@ export interface PromptOptions {
400
428
  lineCount?: number;
401
429
  cleanedArgs?: string;
402
430
  }) => void;
431
+ /** Optional invocation-scoped cancellation fence used before an accepted skill starts execution. */
432
+ preflightSignal?: AbortSignal;
403
433
  }
404
434
  /** Result from a handoff operation. */
405
435
  export interface HandoffResult {
@@ -572,6 +602,12 @@ export declare class AgentSession {
572
602
  readonly agent: Agent;
573
603
  sessionManager: SessionManager;
574
604
  readonly settings: Settings;
605
+ /**
606
+ * The session's effective agent directory: its REQUESTED directory when
607
+ * provided, else the global Settings singleton's (which may be reused
608
+ * across sessions and therefore not the requesting session's own).
609
+ */
610
+ getSessionAgentDir(): string;
575
611
  readonly memoryBackend: LazyService<MemoryBackend>;
576
612
  readonly notificationSessionController: NotificationSessionController | undefined;
577
613
  readonly taskDepth: number;
@@ -723,7 +759,32 @@ export declare class AgentSession {
723
759
  /** Whether agent is currently streaming a response */
724
760
  get isStreaming(): boolean;
725
761
  /** Wait until streaming and session settlement work are fully settled. */
726
- waitForIdle(): Promise<void>;
762
+ /**
763
+ * Wait until streaming and session settlement work are fully settled.
764
+ *
765
+ * The internal-only `ignoreSelectionFenceGeneration` is used exclusively by
766
+ * `setDefaultModelSelection`'s mid-selection drain: the selection must not
767
+ * wait on work parked behind its own (or a later) fence — its agent run,
768
+ * recovery, and deferrals — because that work is waiting on the selection
769
+ * itself (#4519). External callers observe everything.
770
+ */
771
+ waitForIdle(ignoreSelectionFenceGeneration?: number): Promise<void>;
772
+ /**
773
+ * Deterministically await every in-flight agent-event handler (including the
774
+ * synchronous canonical persistence each one performs) plus the durable
775
+ * transcript flush, without waiting for a prompt/turn lifecycle.
776
+ *
777
+ * This is the explicit signal replacement for real-time settle sleeps after
778
+ * externally emitted events (`agent.emitExternalEvent`): the dispatcher
779
+ * increments `#agentEventHandlersInFlight` synchronously before this call can
780
+ * observe it, and each handler decrements it in its `finally`, so the
781
+ * settlement promise below resolves exactly when the last handler — and
782
+ * therefore its `sessionManager.appendMessage`/`_persist` work — has finished.
783
+ * `flush()` then queues deterministically behind the SessionManager persist
784
+ * queue, so every seeded entry is canonical AND on disk before the caller
785
+ * proceeds.
786
+ */
787
+ awaitSessionSettlement(): Promise<void>;
727
788
  drainAsyncJobDeliveriesForAcp(options?: {
728
789
  timeoutMs?: number;
729
790
  }): Promise<boolean>;
@@ -861,6 +922,10 @@ export declare class AgentSession {
861
922
  get sessionId(): string;
862
923
  /** Credential selection identity; defaults to the provider-facing session identity. */
863
924
  get credentialSessionId(): string;
925
+ /** Pin one OAuth credential for this session scope and persist the minimal intent. */
926
+ setCredentialPin(provider: string, selector: AuthCredentialSelector): Promise<void>;
927
+ /** Mask persistent/global selection for this session and restore AUTO ranking. */
928
+ setCredentialAuto(provider: string): Promise<void>;
864
929
  /** Current session display name, if set */
865
930
  get sessionName(): string | undefined;
866
931
  /** Scoped models for cycling (from --models flag) */
@@ -870,7 +935,7 @@ export declare class AgentSession {
870
935
  /** Live SDK configuration values exposed through the session query surface. */
871
936
  getSdkConfigItems(): Record<string, string>;
872
937
  setPlanModeState(state: PlanModeState | undefined): void;
873
- invokeSkill(name: string, args?: string, options?: Pick<PromptOptions, "onPreflightAccepted" | "onPreflightAcceptCommit" | "onSkillPrepared">): Promise<{
938
+ invokeSkill(name: string, args?: string, options?: Pick<PromptOptions, "onPreflightAccepted" | "onPreflightAcceptCommit" | "onSkillPrepared" | "preflightSignal">): Promise<{
874
939
  name: string;
875
940
  path: string;
876
941
  args?: string;
@@ -925,7 +990,7 @@ export declare class AgentSession {
925
990
  * @throws Error if no model selected or no API key available (when not streaming)
926
991
  */
927
992
  prompt(text: string, options?: PromptOptions): Promise<void>;
928
- promptCustomMessage<T = unknown>(message: Pick<CustomMessage<T>, "customType" | "content" | "display" | "details" | "attribution">, options?: Pick<PromptOptions, "streamingBehavior" | "toolChoice" | "followUpQueuePolicy" | "onPreflightAccepted" | "onPreflightAcceptCommit">): Promise<void>;
993
+ promptCustomMessage<T = unknown>(message: Pick<CustomMessage<T>, "customType" | "content" | "display" | "details" | "attribution">, options?: Pick<PromptOptions, "streamingBehavior" | "toolChoice" | "followUpQueuePolicy" | "onPreflightAccepted" | "onPreflightAcceptCommit" | "preflightSignal">): Promise<void>;
929
994
  /**
930
995
  * Queue a steering message to interrupt the agent mid-run.
931
996
  */
@@ -952,6 +1017,13 @@ export declare class AgentSession {
952
1017
  triggerTurn?: boolean;
953
1018
  deliverAs?: "steer" | "followUp" | "nextTurn";
954
1019
  followUpQueuePolicy?: "respect-mode" | "sequential";
1020
+ /** INTERNAL trusted option: origin of a hidden next-turn message —
1021
+ * "turn" (produced by the current turn's continuation machinery,
1022
+ * purged by a terminal abort) or "external" (background producers,
1023
+ * preserved). Extension sendMessage callers are classified
1024
+ * "external" at the trusted bridge and never supply this bit
1025
+ * (review thread P2). */
1026
+ origin?: "turn" | "external";
955
1027
  }): Promise<void>;
956
1028
  /** Remove undelivered queued custom messages matching `predicate` from executable queues and tagged display mirrors. */
957
1029
  purgeQueuedCustomMessages(predicate: (message: CustomMessage) => boolean): PurgeQueuedCustomMessagesResult;
@@ -964,8 +1036,14 @@ export declare class AgentSession {
964
1036
  */
965
1037
  sendUserMessage(content: string | (TextContent | ImageContent)[], options?: {
966
1038
  deliverAs?: "steer" | "followUp";
1039
+ /** Preserve a busy SDK dispatch as queued work across an admission fence. */
1040
+ queuedAtDispatch?: boolean;
967
1041
  onPreflightAccepted?: () => void;
968
1042
  onPreflightAcceptCommit?: () => void | Promise<void>;
1043
+ /** Fired when a queued submission (steering or follow-up) is promoted to its own run (SDK ownership correlation). */
1044
+ onQueuedPromoted?: () => void;
1045
+ preflightSignal?: AbortSignal;
1046
+ sdkRunToken?: string;
969
1047
  }): Promise<void>;
970
1048
  /**
971
1049
  * Clear queued messages and return them.
@@ -1029,11 +1107,63 @@ export declare class AgentSession {
1029
1107
  silent?: boolean;
1030
1108
  }): Promise<void>;
1031
1109
  /**
1032
- * Abort a specific active prompt and prove whether its tracked resources settled.
1033
- */
1110
+ * Private terminal-abort seam: read the CURRENT turn's attempt epoch WITHOUT
1111
+ * interrupting it. Used to write the durable initial terminal marker BEFORE
1112
+ * any fence/stop effect (plan ordered step 4). Only the epoch is exposed —
1113
+ * never the opaque lineage handle — so no private origin metadata leaves the
1114
+ * session. Fails closed (undefined) when no active turn lineage exists.
1115
+ */
1116
+ /**
1117
+ * Private terminal-abort seam: cancel a PENDING (not-yet-started) prompt
1118
+ * preflight. Aborting the preflight controller fires the captured admission
1119
+ * signal so #throwIfPromptPreflightCancelled throws and the pending prompt
1120
+ * never starts even if its SDK waiter was already settled; the controller is
1121
+ * reset for the next admission. No run handle exists for a preflight prompt.
1122
+ */
1123
+ cancelPendingPreflightForTerminalAbort(): void;
1124
+ /**
1125
+ * Capture the steering admission snapshot at abort ADMISSION: the host
1126
+ * invokes this before its durable marker transaction, so client steering
1127
+ * admitted while the abort is in flight classifies as post-snapshot and is
1128
+ * preserved instead of being purged at the later abortPromptAndWait
1129
+ * (review thread P1). Snapshots are stored PER-ADMISSION in a per-turn
1130
+ * FIFO: the settlement of each admission consumes its own captured
1131
+ * sequence, so a later overlapping abort of the same turn can never
1132
+ * overwrite an earlier admission's snapshot and purge an already-accepted
1133
+ * steer (review thread P1).
1134
+ */
1135
+ captureTerminalAbortSteeringSnapshot(): number | undefined;
1136
+ /**
1137
+ * Discard a captured snapshot whose admission never settles (a durable
1138
+ * same-key replay, no-effect, conflict, or marker failure): the entry is
1139
+ * keyed to the CURRENT turn, which is where its admission captured it.
1140
+ * Removing by token keeps overlapping admissions' entries independent.
1141
+ */
1142
+ /**
1143
+ * Rebind a captured snapshot to the CURRENT turn: the owner-mismatch
1144
+ * fall-through may terminalize the aborting requester's own turn that won
1145
+ * the race, while the token was captured under the other connection's
1146
+ * turn. The entry moves to the current turn's FIFO (retaining the original
1147
+ * admission sequence) so the settlement's purge classifies steering
1148
+ * admitted since admission as post-snapshot (review thread P1).
1149
+ */
1150
+ rebindTerminalAbortSteeringSnapshot(token: number): void;
1151
+ discardTerminalAbortSteeringSnapshot(token: number): void;
1152
+ getTerminalTurnEpoch(): number | undefined;
1034
1153
  abortPromptAndWait(handle: string, options: {
1035
1154
  graceMs: number;
1036
- }): Promise<RunSettlementProof>;
1155
+ terminal?: {
1156
+ scope: "turn" | "owned";
1157
+ expectedEpoch?: number;
1158
+ steeringSnapshotToken?: number;
1159
+ };
1160
+ }): Promise<RunSettlementProof & {
1161
+ terminalScope?: {
1162
+ scopeId: string;
1163
+ abortedAttemptEpoch: number;
1164
+ lineageIdHash: string;
1165
+ };
1166
+ }>;
1037
1167
  /** Atomically interrupt the active run and make text the next prompt. */
1038
1168
  cancelAndSubmit(text: string, options?: {
1039
1169
  queuedEntryId?: string;
@@ -1075,6 +1205,15 @@ export declare class AgentSession {
1075
1205
  }): Promise<void>;
1076
1206
  setActiveModelProfile(name: string | undefined): void;
1077
1207
  getActiveModelProfile(): string | undefined;
1208
+ /**
1209
+ * Re-apply vendor-separated delegation after a profile activation changed the
1210
+ * role layer. `eagerTasks` is resolved at prompt build time, but under
1211
+ * `tools.discoveryMode: all` the `task` tool is hidden until something
1212
+ * activates it, and the delegation directive stays behind its
1213
+ * `has tools "task"` guard. Activating a vendor-separated profile mid-session
1214
+ * must therefore reach the live tool set, not just the next session.
1215
+ */
1216
+ syncEagerDelegation(): Promise<void>;
1078
1217
  /** Record runtime override keys installed by a profile activation. */
1079
1218
  noteProfileInstalledOverrides(modelRoles: readonly string[], agentModelOverrides: readonly string[], preProfileModel: Model | undefined): void;
1080
1219
  /** Drop the recorded profile-installed override keys after materialization. */
@@ -23,6 +23,16 @@ export declare class AgentStorage {
23
23
  * @deprecated Use config.yml instead. This is only for migration.
24
24
  */
25
25
  getSettings(): Settings | null;
26
+ /**
27
+ * @deprecated Settings are now stored in config.yml, not agent.db.
28
+ * Clears the legacy settings rows after they have been drained into
29
+ * config.yml so a later load never re-imports them (the database has no
30
+ * other one-time guard). Retries transient SQLITE_BUSY contention with
31
+ * exponential backoff and THROWS on persistent failure: the migration must
32
+ * not treat a failed drain as success while stale rows stay eligible for
33
+ * re-import on a later load.
34
+ */
35
+ clearSettings(): Promise<void>;
26
36
  /**
27
37
  * @deprecated Settings are now stored in config.yml, not agent.db.
28
38
  * This method is kept for backward compatibility but does nothing.
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Proves whether the tool OBJECT that actually ran is one this session constructed from a
3
+ * built-in descriptor, before any extension, MCP, or dynamically registered tool could
4
+ * override that registry name.
5
+ */
6
+ export type BuiltinToolProvenance = (tool: object) => boolean;
7
+ /**
8
+ * Canonical public label for the tool object a call was ACTUALLY dispatched to.
9
+ *
10
+ * The input is the object the producer bound to the event, never a name resolved here. A
11
+ * wire name is model text and the tool list behind it is mutable: a `setTools`, MCP
12
+ * reload, or tool refresh between dispatch and this call would otherwise publish whatever
13
+ * holds the name by now instead of what ran.
14
+ *
15
+ * Two independent facts must hold before a canonical label is published:
16
+ *
17
+ * 1. the producer bound a dispatched tool object at all (an unknown name the loop
18
+ * rejected, and a call aborted before dispatch, bind nothing), AND
19
+ * 2. that object carries built-in provenance and its canonical name is one of the closed
20
+ * built-in descriptors.
21
+ *
22
+ * The object check is what makes the label trustworthy. A registry name is not
23
+ * provenance: an SDK extension, MCP, or custom tool may register itself as `bash` or
24
+ * `edit`, or claim a built-in `customWireName`, and would otherwise be published under
25
+ * the built-in's label. Without proven provenance — including for a direct AgentSession
26
+ * construction that supplies none — the answer is `custom`.
27
+ */
28
+ export declare function canonicalCoordinatorToolLabel(dispatchedTool: object | undefined, isBuiltinToolObject: BuiltinToolProvenance): string;
@@ -9,6 +9,7 @@ export declare const MANAGED_ARTIFACT_COPY_BATCH_SIZE = 256;
9
9
  export declare class ManagedPublishError extends Error {
10
10
  readonly classification: "destination_conflict" | "atomic_unavailable" | "invalid_request" | "durability_not_provable" | "identity_mismatch" | "io_error" | "durability_failed";
11
11
  readonly diagnostic: string;
12
+ readonly stagingCleanupSafe: boolean;
12
13
  constructor(classification: ManagedPublishError["classification"], outcome: NativePublishOutcome);
13
14
  }
14
15
  export declare class ManagedReplaceError extends Error {
@@ -18,6 +19,9 @@ export declare class ManagedReplaceError extends Error {
18
19
  readonly retainedSuccessorPath: string | undefined;
19
20
  readonly retainedPlaceholderPath: string | undefined;
20
21
  readonly retainedUnknownPath: string | undefined;
22
+ /** Path-free Windows NTSTATUS of the underlying pre-mutation failure, when
23
+ * the native layer preserved one (e.g. `0xC0000043` for a sharing violation). */
24
+ readonly windowsErrorCode: string | undefined;
21
25
  readonly replacementCause: unknown;
22
26
  constructor(result: NativeExactUnlinkResult, cleanupReceiptPath: string, replacementCause?: unknown);
23
27
  }
@@ -25,6 +29,10 @@ export declare class ManagedCommittedMutationError extends Error {
25
29
  readonly operation: "replace" | "append";
26
30
  constructor(operation: "replace" | "append", cause: unknown);
27
31
  }
32
+ export declare class ManagedTreeMoveOutcomeError extends Error {
33
+ readonly stagingCleanupSafe: boolean;
34
+ constructor(message: string, stagingCleanupSafe: boolean);
35
+ }
28
36
  /** Cleanup is safe only when the native move reports that it did not commit. */
29
37
  export declare function mayCleanManagedTreeStaging(error: unknown): boolean;
30
38
  /**
@@ -97,11 +105,11 @@ export interface ScrubbedProtocolRemnantReapResult {
97
105
  * names carry a terminal remnant prefix and whose timestamps are older than
98
106
  * the age gate are removed: a zero-length single-link entry is exactly what
99
107
  * the scrub proof leaves behind, and non-zero entries (displaced predecessors
100
- * or detached receipts retained as evidence) are never touched. Failures are
101
- * swallowed — a concurrent same-owner writer may legitimately own or already
102
- * have reconciled any candidate.
108
+ * or detached receipts retained as evidence) are never touched. A proven
109
+ * concurrent disappearance (ENOENT) is benign; all other I/O failures are
110
+ * returned and logged once without aborting scope preparation.
103
111
  */
104
- export declare function reapScrubbedProtocolRemnantsSync(directory: string, minAgeMs?: number): number;
112
+ export declare function reapScrubbedProtocolRemnantsSync(directory: string, minAgeMs?: number): ScrubbedProtocolRemnantReapResult;
105
113
  /**
106
114
  * Async twin of {@link reapScrubbedProtocolRemnantsSync} with the same safety
107
115
  * filters (terminal remnant prefix, zero-length, single-link, non-symlink,
@@ -169,11 +177,22 @@ export declare class ManagedSessionDescendantStore {
169
177
  ensureDirectory(relativePath?: string): ManagedDirectoryRoot;
170
178
  publishNoReplace(relativePath: string, bytes: Uint8Array): Promise<void>;
171
179
  publishNoReplaceSync(relativePath: string, bytes: Uint8Array): void;
180
+ /**
181
+ * Atomically publishes an already-written managed staging file without
182
+ * materializing its contents. The staging file and destination must be
183
+ * descendants of this retained store.
184
+ */
185
+ publishStagedFileNoReplace(sourceRelativePath: string, destinationRelativePath: string, expected: {
186
+ bytes: number;
187
+ sha256: string;
188
+ }): void;
172
189
  replace(relativePath: string, bytes: Uint8Array): Promise<void>;
190
+ replaceExpectedIdentitySync(relativePath: string, bytes: Uint8Array, expected: ManagedFileIdentity): void;
173
191
  replaceExpected(relativePath: string, bytes: Uint8Array, expected: ManagedFileSnapshot): void;
174
192
  replaceSync(relativePath: string, bytes: Uint8Array): void;
175
193
  captureBoundedAppendExpectation(relativePath: string): ManagedBoundedAppendExpectation | undefined;
176
194
  appendExpectedSync(relativePath: string, bytes: Uint8Array, expected: ManagedBoundedAppendExpectation): ManagedAppendReceipt;
195
+ appendExpectedIdentitySync(relativePath: string, bytes: Uint8Array, expected: ManagedFileIdentity): ManagedAppendReceipt;
177
196
  appendSync(relativePath: string, bytes: Uint8Array): ManagedAppendReceipt;
178
197
  /** Capture descriptor identity without copying file bytes when retained authority is available. */
179
198
  descriptorExpected(relativePath: string): SessionStorageStat | null;
@@ -60,7 +60,7 @@ export declare function readPendingDisplayTag(details: unknown): string | undefi
60
60
  * the CustomMessageEntry to disk. Scoped intentionally narrow: only fields
61
61
  * declared here are stripped. Adding a new entry is a deliberate, reviewed
62
62
  * change — unrelated future payload fields are never silently dropped. */
63
- export declare const INTERNAL_DETAILS_FIELDS: readonly ["__pendingDisplayTag"];
63
+ export declare const INTERNAL_DETAILS_FIELDS: readonly ["__pendingDisplayTag", "ownedCompletions"];
64
64
  /** Return a `details` copy with every key in `INTERNAL_DETAILS_FIELDS`
65
65
  * removed. Returns the input unchanged when there is nothing to strip
66
66
  * (null/non-object, or no listed fields present) so callers don't pay a
@@ -0,0 +1,3 @@
1
+ export declare function readSecureTokenFile(file: string): Promise<string | null>;
2
+ export declare function writeSecureTokenFile(file: string, token: string): Promise<void>;
3
+ export declare function createSecureTokenFileExclusive(file: string, token: string): Promise<boolean>;
@@ -8,7 +8,7 @@ import type { ManagedLegacyLocalMigrationSource } from "../internal-urls/local-p
8
8
  import { ArtifactManager } from "./artifacts";
9
9
  import { type BlobPutResult, BlobStore } from "./blob-store";
10
10
  import { type ManagedMigrationPolicy } from "./internal/managed-session-scope";
11
- import { type ManagedBoundedAppendExpectation, type ManagedDirectoryRoot, ManagedSessionDescendantStore } from "./internal/managed-session-storage";
11
+ import { type ManagedBoundedAppendExpectation, type ManagedDirectoryRoot, type ManagedFileIdentity, ManagedSessionDescendantStore } from "./internal/managed-session-storage";
12
12
  import { type BaseAnchor, BoundedLabelsPinsStore, type CommittedTail, type DescriptorSnapshot, type DictionaryPartitionCommit, FixedCacheAccount, type MetadataDeltaValue, type ParentBucketCommit, type ReducerState, type ReopenClassification, SessionMemoryAccountant } from "./internal/session-memory-sidecar";
13
13
  import { type MemoryGuardCreateCheckpointInput, type MemoryGuardParticipantIngressLease, type MemoryGuardRestoreInput, type MemoryGuardRestoreResult, type MemoryGuardSessionManagerCheckpointV1 } from "./memory-guard-checkpoint-participant";
14
14
  import { type BashExecutionMessage, type CustomMessage, type FileMentionMessage, type HookMessage, type PythonExecutionMessage } from "./messages";
@@ -652,6 +652,33 @@ export declare class SessionAppendPersistenceError extends Error {
652
652
  readonly persistenceError: Error;
653
653
  constructor(phase: SessionAppendPersistenceFailurePhase, entryId: string, persistenceError: Error);
654
654
  }
655
+ /**
656
+ * Typed near-limit append outcome (#4566).
657
+ *
658
+ * A live managed append that would cross the per-file transcript cap is now
659
+ * preflighted: when the append alone cannot fit even after a full rewrite of
660
+ * the live entries, this deterministic error replaces the generic
661
+ * `SessionAppendPersistenceError: content_too_large` abort. It states whether
662
+ * the in-memory entry was kept (so the just-committed source mutation keeps
663
+ * its receipt on the next successful persist) and how to continue.
664
+ */
665
+ export declare class SessionNearLimitAppendError extends Error {
666
+ readonly code: "near_limit_append";
667
+ /** Serialized size (bytes) of the entry that could not fit. */
668
+ readonly entryBytes: number;
669
+ /** Live-entry rewrite size (bytes) the recovery already attempted. */
670
+ readonly liveBytes: number;
671
+ /** Managed per-file cap in force when the append was rejected. */
672
+ readonly capBytes: number;
673
+ /** True when the entry remains in the resident list awaiting the next persist. */
674
+ readonly entryRetained: boolean;
675
+ constructor(details: {
676
+ entryBytes: number;
677
+ liveBytes: number;
678
+ capBytes: number;
679
+ entryRetained: boolean;
680
+ });
681
+ }
655
682
  export declare class SessionManagedStorageError extends Error {
656
683
  readonly code = "managed_storage_unsupported";
657
684
  constructor();
@@ -962,6 +989,7 @@ interface SessionManagerStateSnapshot {
962
989
  sessionName: string | undefined;
963
990
  titleSource: "auto" | "user" | undefined;
964
991
  sessionFile: string | undefined;
992
+ managedPersistExpectedIdentity: ManagedFileIdentity | undefined;
965
993
  flushed: boolean;
966
994
  ensuredOnDisk: boolean;
967
995
  needsFullRewriteOnNextPersist: boolean;
@@ -980,6 +1008,15 @@ export declare const SessionManagerTestHooks: {
980
1008
  afterForkTranscriptPublished?: () => void | Promise<void>;
981
1009
  beforeEphemeralArtifactManagerInstall?: (dir: string) => void | Promise<void>;
982
1010
  beforePersistPatchFence?: (attempt: number) => void;
1011
+ beforeStrictMissingCheck?: (filePath: string, storage: SessionStorage) => void;
1012
+ beforeManagedResumeAcceptance?: (filePath: string, storage: SessionStorage) => void;
1013
+ beforeManagedResumeReturn?: (filePath: string, storage: SessionStorage) => void;
1014
+ beforeManagedSourceStat?: (filePath: string, storage: SessionStorage) => void | Promise<void>;
1015
+ beforeManagedMissingInit?: (filePath: string, storage: SessionStorage) => void | Promise<void>;
1016
+ beforeManagedMissingPublish?: (filePath: string, storage: SessionStorage) => void | Promise<void>;
1017
+ beforeManagedMissingReturn?: (filePath: string, storage: SessionStorage) => void | Promise<void>;
1018
+ afterManagedMissingAssertion?: (filePath: string, storage: SessionStorage) => void | Promise<void>;
1019
+ beforeManagedSwitchIdentity?: (filePath: string, storage: SessionStorage) => void | Promise<void>;
983
1020
  /** Internal first-open GC strategy override; omitted means current. */
984
1021
  firstOpenGcStrategy?: SessionMemoryGcStrategy;
985
1022
  /** Internal first-open secondary-artifact mode override; omitted means auto. */
@@ -996,6 +1033,8 @@ export declare const SessionManagerTestHooks: {
996
1033
  lastSidecarInitError?: string;
997
1034
  /** Test-only generated-ID cache capacity override. */
998
1035
  coldIdHashMaxEntriesOverride?: number;
1036
+ /** Test-only session-context budget override (in-process; does not leak to subprocesses). */
1037
+ sessionContextBudgetBytesOverride?: number;
999
1038
  };
1000
1039
  /**
1001
1040
  * Freshness snapshot captured with every async whole-session persistence
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Read the global startup-auth configuration before Settings is initialized.
3
+ *
4
+ * The config file is canonical nested YAML only. Legacy literal dotted auth keys
5
+ * are rejected with a manual rewrite diagnostic; no compatibility migration is
6
+ * performed. Environment values are trusted credential sources and take
7
+ * precedence over global config values.
8
+ */
9
+ import type { AuthCredentialSelector, CredentialRankingMode } from "@gajae-code/ai/core";
10
+ export interface AuthBrokerClientConfig {
11
+ url: string;
12
+ token: string;
13
+ }
14
+ export interface StartupAuthConfigSnapshot {
15
+ broker: AuthBrokerClientConfig | null;
16
+ /** Opaque credential-store authority used to bind numeric row-id pins. */
17
+ credentialStoreIdentity: string;
18
+ /** Persisted authority for global numeric pins; absent values invalidate ID pins. */
19
+ credentialPinStoreIdentity?: string;
20
+ credentialRankingMode: CredentialRankingMode;
21
+ credentialPins: Readonly<Record<string, string>>;
22
+ }
23
+ export type StartupAuthConfigErrorKind = "unreadable" | "invalid-yaml" | "non-mapping-root" | "invalid-auth" | "invalid-broker" | "invalid-gateway" | "invalid-ranking-mode" | "invalid-credential-pins";
24
+ /** A malformed startup-auth config aborts resolution rather than downgrading to local authority. */
25
+ export declare class StartupAuthConfigError extends Error {
26
+ readonly kind: StartupAuthConfigErrorKind;
27
+ readonly name = "StartupAuthConfigError";
28
+ readonly code: StartupAuthConfigErrorKind;
29
+ readonly causeClass: StartupAuthConfigErrorKind;
30
+ constructor(kind: StartupAuthConfigErrorKind, configPath: string);
31
+ }
32
+ /** JSON-schema pattern shared with the runtime persisted-selector grammar. */
33
+ export declare const PERSISTED_CREDENTIAL_SELECTOR_PATTERN = "^(id:[1-9][0-9]*|email:[^@\\s]+@[^@\\s]+|account:\\S+)$";
34
+ /** Path to the local bearer token file. Created on the broker host by `gjc auth-broker token`. */
35
+ export declare function getAuthBrokerTokenFilePath(): string;
36
+ /** Validate the persisted selector grammar used by `auth.credentialPins`. */
37
+ export declare function parsePersistedCredentialSelector(value: string): AuthCredentialSelector | undefined;
38
+ export declare function isValidPersistedCredentialSelector(value: string): boolean;
39
+ /**
40
+ * Resolve one typed startup-auth snapshot from trusted env and global config.
41
+ * Project settings are intentionally not read here, so project-scoped pins
42
+ * cannot influence credential selection.
43
+ */
44
+ export declare function resolveStartupAuthConfig(agentDir?: string): Promise<StartupAuthConfigSnapshot>;