@mono-agent/agent-app 0.11.2 → 0.11.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 (374) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +222 -26
  3. package/dist/adapter-send-tools-main.js +7 -1
  4. package/dist/adapter-send-tools-main.js.map +1 -1
  5. package/dist/adapter-send-tools.d.ts +19 -1
  6. package/dist/adapter-send-tools.d.ts.map +1 -1
  7. package/dist/adapter-send-tools.js +127 -13
  8. package/dist/adapter-send-tools.js.map +1 -1
  9. package/dist/app-config.d.ts.map +1 -1
  10. package/dist/app-config.js +15 -2
  11. package/dist/app-config.js.map +1 -1
  12. package/dist/app-controller-channels.d.ts +8 -0
  13. package/dist/app-controller-channels.d.ts.map +1 -0
  14. package/dist/app-controller-channels.js +207 -0
  15. package/dist/app-controller-channels.js.map +1 -0
  16. package/dist/app-controller-continuation.d.ts +26 -0
  17. package/dist/app-controller-continuation.d.ts.map +1 -0
  18. package/dist/app-controller-continuation.js +198 -0
  19. package/dist/app-controller-continuation.js.map +1 -0
  20. package/dist/app-controller-lifecycle.d.ts +6 -0
  21. package/dist/app-controller-lifecycle.d.ts.map +1 -0
  22. package/dist/app-controller-lifecycle.js +81 -0
  23. package/dist/app-controller-lifecycle.js.map +1 -0
  24. package/dist/app-controller-maintenance.d.ts +13 -0
  25. package/dist/app-controller-maintenance.d.ts.map +1 -0
  26. package/dist/app-controller-maintenance.js +180 -0
  27. package/dist/app-controller-maintenance.js.map +1 -0
  28. package/dist/app-controller-memory-health.d.ts +12 -0
  29. package/dist/app-controller-memory-health.d.ts.map +1 -0
  30. package/dist/app-controller-memory-health.js +160 -0
  31. package/dist/app-controller-memory-health.js.map +1 -0
  32. package/dist/app-controller-memory.d.ts +9 -0
  33. package/dist/app-controller-memory.d.ts.map +1 -0
  34. package/dist/app-controller-memory.js +83 -0
  35. package/dist/app-controller-memory.js.map +1 -0
  36. package/dist/app-controller-responder.d.ts +20 -0
  37. package/dist/app-controller-responder.d.ts.map +1 -0
  38. package/dist/app-controller-responder.js +246 -0
  39. package/dist/app-controller-responder.js.map +1 -0
  40. package/dist/app-controller-traceability.d.ts +25 -0
  41. package/dist/app-controller-traceability.d.ts.map +1 -0
  42. package/dist/app-controller-traceability.js +418 -0
  43. package/dist/app-controller-traceability.js.map +1 -0
  44. package/dist/app-controller-utils.d.ts +38 -0
  45. package/dist/app-controller-utils.d.ts.map +1 -0
  46. package/dist/app-controller-utils.js +185 -0
  47. package/dist/app-controller-utils.js.map +1 -0
  48. package/dist/app-controller.d.ts +400 -0
  49. package/dist/app-controller.d.ts.map +1 -0
  50. package/dist/app-controller.js +336 -0
  51. package/dist/app-controller.js.map +1 -0
  52. package/dist/app.d.ts +7 -115
  53. package/dist/app.d.ts.map +1 -1
  54. package/dist/app.js +6 -1912
  55. package/dist/app.js.map +1 -1
  56. package/dist/artifact-retention.d.ts +4 -0
  57. package/dist/artifact-retention.d.ts.map +1 -1
  58. package/dist/artifact-retention.js +38 -0
  59. package/dist/artifact-retention.js.map +1 -1
  60. package/dist/backfill.d.ts +3 -1
  61. package/dist/backfill.d.ts.map +1 -1
  62. package/dist/backfill.js +5 -1
  63. package/dist/backfill.js.map +1 -1
  64. package/dist/background-runtime.d.ts +27 -0
  65. package/dist/background-runtime.d.ts.map +1 -1
  66. package/dist/background-runtime.js +383 -205
  67. package/dist/background-runtime.js.map +1 -1
  68. package/dist/background-worker-lease.d.ts.map +1 -1
  69. package/dist/background-worker-lease.js +41 -241
  70. package/dist/background-worker-lease.js.map +1 -1
  71. package/dist/background.d.ts +31 -9
  72. package/dist/background.d.ts.map +1 -1
  73. package/dist/background.js +543 -272
  74. package/dist/background.js.map +1 -1
  75. package/dist/channel-drivers/cron.d.ts +11 -0
  76. package/dist/channel-drivers/cron.d.ts.map +1 -0
  77. package/dist/channel-drivers/cron.js +168 -0
  78. package/dist/channel-drivers/cron.js.map +1 -0
  79. package/dist/channel-drivers/live.d.ts +11 -0
  80. package/dist/channel-drivers/live.d.ts.map +1 -0
  81. package/dist/channel-drivers/live.js +47 -0
  82. package/dist/channel-drivers/live.js.map +1 -0
  83. package/dist/channel-drivers/native-notify.d.ts +27 -0
  84. package/dist/channel-drivers/native-notify.d.ts.map +1 -0
  85. package/dist/channel-drivers/native-notify.js +94 -0
  86. package/dist/channel-drivers/native-notify.js.map +1 -0
  87. package/dist/channel-drivers/openai-api.d.ts +7 -0
  88. package/dist/channel-drivers/openai-api.d.ts.map +1 -0
  89. package/dist/channel-drivers/openai-api.js +63 -0
  90. package/dist/channel-drivers/openai-api.js.map +1 -0
  91. package/dist/channel-drivers/shared.d.ts +4 -0
  92. package/dist/channel-drivers/shared.d.ts.map +1 -0
  93. package/dist/channel-drivers/shared.js +5 -0
  94. package/dist/channel-drivers/shared.js.map +1 -0
  95. package/dist/channel-drivers/slack.d.ts +14 -0
  96. package/dist/channel-drivers/slack.d.ts.map +1 -0
  97. package/dist/channel-drivers/slack.js +227 -0
  98. package/dist/channel-drivers/slack.js.map +1 -0
  99. package/dist/channel-drivers/telegram.d.ts +11 -0
  100. package/dist/channel-drivers/telegram.d.ts.map +1 -0
  101. package/dist/channel-drivers/telegram.js +244 -0
  102. package/dist/channel-drivers/telegram.js.map +1 -0
  103. package/dist/channel-drivers/tui.d.ts +15 -0
  104. package/dist/channel-drivers/tui.d.ts.map +1 -0
  105. package/dist/channel-drivers/tui.js +108 -0
  106. package/dist/channel-drivers/tui.js.map +1 -0
  107. package/dist/channel-drivers/webhook.d.ts +7 -0
  108. package/dist/channel-drivers/webhook.d.ts.map +1 -0
  109. package/dist/channel-drivers/webhook.js +115 -0
  110. package/dist/channel-drivers/webhook.js.map +1 -0
  111. package/dist/channels.d.ts +21 -81
  112. package/dist/channels.d.ts.map +1 -1
  113. package/dist/channels.js +11 -1174
  114. package/dist/channels.js.map +1 -1
  115. package/dist/cli-args.d.ts +121 -0
  116. package/dist/cli-args.d.ts.map +1 -0
  117. package/dist/cli-args.js +532 -0
  118. package/dist/cli-args.js.map +1 -0
  119. package/dist/cli-background-command.d.ts +59 -0
  120. package/dist/cli-background-command.d.ts.map +1 -0
  121. package/dist/cli-background-command.js +475 -0
  122. package/dist/cli-background-command.js.map +1 -0
  123. package/dist/cli-cancellation.d.ts +6 -0
  124. package/dist/cli-cancellation.d.ts.map +1 -0
  125. package/dist/cli-cancellation.js +23 -0
  126. package/dist/cli-cancellation.js.map +1 -0
  127. package/dist/cli-commands.d.ts +12 -0
  128. package/dist/cli-commands.d.ts.map +1 -0
  129. package/dist/cli-commands.js +306 -0
  130. package/dist/cli-commands.js.map +1 -0
  131. package/dist/cli-help.d.ts +11 -0
  132. package/dist/cli-help.d.ts.map +1 -0
  133. package/dist/cli-help.js +262 -0
  134. package/dist/cli-help.js.map +1 -0
  135. package/dist/cli-init-command.d.ts +60 -0
  136. package/dist/cli-init-command.d.ts.map +1 -0
  137. package/dist/cli-init-command.js +1910 -0
  138. package/dist/cli-init-command.js.map +1 -0
  139. package/dist/cli-install-skill-command.d.ts +3 -0
  140. package/dist/cli-install-skill-command.d.ts.map +1 -0
  141. package/dist/cli-install-skill-command.js +51 -0
  142. package/dist/cli-install-skill-command.js.map +1 -0
  143. package/dist/cli-sandbox-command.d.ts +10 -0
  144. package/dist/cli-sandbox-command.d.ts.map +1 -0
  145. package/dist/cli-sandbox-command.js +100 -0
  146. package/dist/cli-sandbox-command.js.map +1 -0
  147. package/dist/cli-validate-config-command.d.ts +36 -0
  148. package/dist/cli-validate-config-command.d.ts.map +1 -0
  149. package/dist/cli-validate-config-command.js +317 -0
  150. package/dist/cli-validate-config-command.js.map +1 -0
  151. package/dist/cli.d.ts +6 -248
  152. package/dist/cli.d.ts.map +1 -1
  153. package/dist/cli.js +6 -3792
  154. package/dist/cli.js.map +1 -1
  155. package/dist/config-reference.d.ts +2 -1
  156. package/dist/config-reference.d.ts.map +1 -1
  157. package/dist/config-reference.js +34 -8
  158. package/dist/config-reference.js.map +1 -1
  159. package/dist/configured-agent.d.ts +23 -0
  160. package/dist/configured-agent.d.ts.map +1 -1
  161. package/dist/configured-agent.js +92 -13
  162. package/dist/configured-agent.js.map +1 -1
  163. package/dist/continuation-dispatch-worker.d.ts +21 -0
  164. package/dist/continuation-dispatch-worker.d.ts.map +1 -0
  165. package/dist/continuation-dispatch-worker.js +425 -0
  166. package/dist/continuation-dispatch-worker.js.map +1 -0
  167. package/dist/continuation-http-routes.d.ts +15 -0
  168. package/dist/continuation-http-routes.d.ts.map +1 -0
  169. package/dist/continuation-http-routes.js +265 -0
  170. package/dist/continuation-http-routes.js.map +1 -0
  171. package/dist/continuation-operator-api.d.ts +18 -0
  172. package/dist/continuation-operator-api.d.ts.map +1 -0
  173. package/dist/continuation-operator-api.js +164 -0
  174. package/dist/continuation-operator-api.js.map +1 -0
  175. package/dist/continuation-origin-store.d.ts +19 -0
  176. package/dist/continuation-origin-store.d.ts.map +1 -0
  177. package/dist/continuation-origin-store.js +273 -0
  178. package/dist/continuation-origin-store.js.map +1 -0
  179. package/dist/continuation-service-errors.d.ts +18 -0
  180. package/dist/continuation-service-errors.d.ts.map +1 -0
  181. package/dist/continuation-service-errors.js +35 -0
  182. package/dist/continuation-service-errors.js.map +1 -0
  183. package/dist/continuation-service-helpers.d.ts +39 -0
  184. package/dist/continuation-service-helpers.d.ts.map +1 -0
  185. package/dist/continuation-service-helpers.js +308 -0
  186. package/dist/continuation-service-helpers.js.map +1 -0
  187. package/dist/continuation-service-origin.d.ts +55 -0
  188. package/dist/continuation-service-origin.d.ts.map +1 -0
  189. package/dist/continuation-service-origin.js +325 -0
  190. package/dist/continuation-service-origin.js.map +1 -0
  191. package/dist/continuation-service-types.d.ts +110 -0
  192. package/dist/continuation-service-types.d.ts.map +1 -0
  193. package/dist/continuation-service-types.js +11 -0
  194. package/dist/continuation-service-types.js.map +1 -0
  195. package/dist/continuation-service.d.ts +4 -97
  196. package/dist/continuation-service.d.ts.map +1 -1
  197. package/dist/continuation-service.js +9 -1525
  198. package/dist/continuation-service.js.map +1 -1
  199. package/dist/continuation-store-fs.d.ts +15 -0
  200. package/dist/continuation-store-fs.d.ts.map +1 -0
  201. package/dist/continuation-store-fs.js +247 -0
  202. package/dist/continuation-store-fs.js.map +1 -0
  203. package/dist/continuation-store-policy.d.ts +21 -0
  204. package/dist/continuation-store-policy.d.ts.map +1 -0
  205. package/dist/continuation-store-policy.js +278 -0
  206. package/dist/continuation-store-policy.js.map +1 -0
  207. package/dist/continuation-store-records.d.ts +9 -0
  208. package/dist/continuation-store-records.d.ts.map +1 -0
  209. package/dist/continuation-store-records.js +221 -0
  210. package/dist/continuation-store-records.js.map +1 -0
  211. package/dist/continuation-store-types.d.ts +173 -0
  212. package/dist/continuation-store-types.d.ts.map +1 -0
  213. package/dist/continuation-store-types.js +26 -0
  214. package/dist/continuation-store-types.js.map +1 -0
  215. package/dist/continuation-store.d.ts +4 -138
  216. package/dist/continuation-store.d.ts.map +1 -1
  217. package/dist/continuation-store.js +145 -1049
  218. package/dist/continuation-store.js.map +1 -1
  219. package/dist/doctor.d.ts +10 -5
  220. package/dist/doctor.d.ts.map +1 -1
  221. package/dist/doctor.js +629 -58
  222. package/dist/doctor.js.map +1 -1
  223. package/dist/init.d.ts +2 -0
  224. package/dist/init.d.ts.map +1 -1
  225. package/dist/init.js +92 -239
  226. package/dist/init.js.map +1 -1
  227. package/dist/interaction-bridge.d.ts +19 -0
  228. package/dist/interaction-bridge.d.ts.map +1 -1
  229. package/dist/interaction-bridge.js +130 -0
  230. package/dist/interaction-bridge.js.map +1 -1
  231. package/dist/launchd-logs.d.ts +91 -0
  232. package/dist/launchd-logs.d.ts.map +1 -0
  233. package/dist/launchd-logs.js +1499 -0
  234. package/dist/launchd-logs.js.map +1 -0
  235. package/dist/launchd.d.ts +27 -0
  236. package/dist/launchd.d.ts.map +1 -1
  237. package/dist/launchd.js +89 -10
  238. package/dist/launchd.js.map +1 -1
  239. package/dist/memory-command.d.ts +2 -0
  240. package/dist/memory-command.d.ts.map +1 -1
  241. package/dist/memory-command.js +161 -48
  242. package/dist/memory-command.js.map +1 -1
  243. package/dist/memory-recall-settings.d.ts +64 -0
  244. package/dist/memory-recall-settings.d.ts.map +1 -0
  245. package/dist/memory-recall-settings.js +51 -0
  246. package/dist/memory-recall-settings.js.map +1 -0
  247. package/dist/memory-recall.d.ts +7 -95
  248. package/dist/memory-recall.d.ts.map +1 -1
  249. package/dist/memory-recall.js +8 -143
  250. package/dist/memory-recall.js.map +1 -1
  251. package/dist/memory-rituals.d.ts +3 -3
  252. package/dist/memory-rituals.d.ts.map +1 -1
  253. package/dist/memory-rituals.js +16 -111
  254. package/dist/memory-rituals.js.map +1 -1
  255. package/dist/modules/catalog.js +2 -2
  256. package/dist/modules/catalog.js.map +1 -1
  257. package/dist/modules/known-tools.d.ts +8 -6
  258. package/dist/modules/known-tools.d.ts.map +1 -1
  259. package/dist/modules/known-tools.js +8 -6
  260. package/dist/modules/known-tools.js.map +1 -1
  261. package/dist/notify-destinations.d.ts +5 -0
  262. package/dist/notify-destinations.d.ts.map +1 -1
  263. package/dist/notify-destinations.js +7 -1
  264. package/dist/notify-destinations.js.map +1 -1
  265. package/dist/owner-private-lock.d.ts +95 -0
  266. package/dist/owner-private-lock.d.ts.map +1 -0
  267. package/dist/owner-private-lock.js +566 -0
  268. package/dist/owner-private-lock.js.map +1 -0
  269. package/dist/pi-oauth-login.d.ts +2 -0
  270. package/dist/pi-oauth-login.d.ts.map +1 -1
  271. package/dist/pi-oauth-login.js +39 -5
  272. package/dist/pi-oauth-login.js.map +1 -1
  273. package/dist/posted-message-index.d.ts +35 -16
  274. package/dist/posted-message-index.d.ts.map +1 -1
  275. package/dist/posted-message-index.js +1068 -52
  276. package/dist/posted-message-index.js.map +1 -1
  277. package/dist/posted-reply-history.d.ts +17 -0
  278. package/dist/posted-reply-history.d.ts.map +1 -0
  279. package/dist/posted-reply-history.js +169 -0
  280. package/dist/posted-reply-history.js.map +1 -0
  281. package/dist/proactive-notify.d.ts.map +1 -1
  282. package/dist/proactive-notify.js +6 -4
  283. package/dist/proactive-notify.js.map +1 -1
  284. package/dist/project-skills.d.ts +4 -0
  285. package/dist/project-skills.d.ts.map +1 -1
  286. package/dist/project-skills.js +99 -130
  287. package/dist/project-skills.js.map +1 -1
  288. package/dist/provider-setup.d.ts +0 -1
  289. package/dist/provider-setup.d.ts.map +1 -1
  290. package/dist/provider-setup.js +0 -3
  291. package/dist/provider-setup.js.map +1 -1
  292. package/dist/readiness-probe-worker.d.ts +61 -1
  293. package/dist/readiness-probe-worker.d.ts.map +1 -1
  294. package/dist/readiness-probe-worker.js +54 -58
  295. package/dist/readiness-probe-worker.js.map +1 -1
  296. package/dist/readiness-probe.d.ts +6 -9
  297. package/dist/readiness-probe.d.ts.map +1 -1
  298. package/dist/readiness-probe.js +30 -56
  299. package/dist/readiness-probe.js.map +1 -1
  300. package/dist/redact-secrets.d.ts +15 -0
  301. package/dist/redact-secrets.d.ts.map +1 -0
  302. package/dist/redact-secrets.js +65 -0
  303. package/dist/redact-secrets.js.map +1 -0
  304. package/dist/run-history.js +34 -24
  305. package/dist/run-history.js.map +1 -1
  306. package/dist/runtime-provenance.d.ts +8 -0
  307. package/dist/runtime-provenance.d.ts.map +1 -0
  308. package/dist/runtime-provenance.js +225 -0
  309. package/dist/runtime-provenance.js.map +1 -0
  310. package/dist/sandbox-manager.d.ts +4 -1
  311. package/dist/sandbox-manager.d.ts.map +1 -1
  312. package/dist/sandbox-manager.js +114 -273
  313. package/dist/sandbox-manager.js.map +1 -1
  314. package/dist/secure-file-replace.d.ts +49 -0
  315. package/dist/secure-file-replace.d.ts.map +1 -0
  316. package/dist/secure-file-replace.js +270 -0
  317. package/dist/secure-file-replace.js.map +1 -0
  318. package/dist/seen-conversations.d.ts +32 -5
  319. package/dist/seen-conversations.d.ts.map +1 -1
  320. package/dist/seen-conversations.js +145 -15
  321. package/dist/seen-conversations.js.map +1 -1
  322. package/dist/sessions.d.ts +20 -0
  323. package/dist/sessions.d.ts.map +1 -1
  324. package/dist/sessions.js +41 -6
  325. package/dist/sessions.js.map +1 -1
  326. package/dist/wizard/index.d.ts +2 -2
  327. package/dist/wizard/index.d.ts.map +1 -1
  328. package/dist/wizard/index.js +1 -1
  329. package/dist/wizard/index.js.map +1 -1
  330. package/dist/wizard/presets.d.ts +2 -1
  331. package/dist/wizard/presets.d.ts.map +1 -1
  332. package/dist/wizard/presets.js +2 -1
  333. package/dist/wizard/presets.js.map +1 -1
  334. package/dist/wizard/run.d.ts +0 -26
  335. package/dist/wizard/run.d.ts.map +1 -1
  336. package/dist/wizard/run.js +0 -53
  337. package/dist/wizard/run.js.map +1 -1
  338. package/package.json +22 -17
  339. package/schema/mono-agent.config.schema.json +45 -10
  340. package/skills/mono-agent-composer/SKILL.md +3 -3
  341. package/skills/mono-agent-composer/references/config-blueprint.md +123 -29
  342. package/skills/mono-agent-composer/references/discovery-questions.md +10 -8
  343. package/skills/mono-agent-composer/references/feature-coverage.md +90 -76
  344. package/skills/mono-agent-composer/references/package-map.md +6 -4
  345. package/skills/mono-agent-composer/references/playbooks.md +48 -27
  346. package/skills/mono-agent-composer/references/validation.md +16 -3
  347. package/dist/notify-runtime.d.ts +0 -26
  348. package/dist/notify-runtime.d.ts.map +0 -1
  349. package/dist/notify-runtime.js +0 -27
  350. package/dist/notify-runtime.js.map +0 -1
  351. package/dist/notify-tool.d.ts +0 -51
  352. package/dist/notify-tool.d.ts.map +0 -1
  353. package/dist/notify-tool.js +0 -182
  354. package/dist/notify-tool.js.map +0 -1
  355. package/dist/recipes/base.d.ts +0 -15
  356. package/dist/recipes/base.d.ts.map +0 -1
  357. package/dist/recipes/base.js +0 -51
  358. package/dist/recipes/base.js.map +0 -1
  359. package/dist/recipes/catalog.d.ts +0 -4
  360. package/dist/recipes/catalog.d.ts.map +0 -1
  361. package/dist/recipes/catalog.js +0 -525
  362. package/dist/recipes/catalog.js.map +0 -1
  363. package/dist/recipes/index.d.ts +0 -11
  364. package/dist/recipes/index.d.ts.map +0 -1
  365. package/dist/recipes/index.js +0 -14
  366. package/dist/recipes/index.js.map +0 -1
  367. package/dist/recipes/types.d.ts +0 -70
  368. package/dist/recipes/types.d.ts.map +0 -1
  369. package/dist/recipes/types.js +0 -15
  370. package/dist/recipes/types.js.map +0 -1
  371. package/dist/setup.d.ts +0 -29
  372. package/dist/setup.d.ts.map +0 -1
  373. package/dist/setup.js +0 -97
  374. package/dist/setup.js.map +0 -1
@@ -0,0 +1,325 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { assertAgentContinuationOriginContext, } from "@mono-agent/agent-contracts";
3
+ import { ContinuationOperationTimeoutError, ContinuationProtocolError, ContinuationServiceStoppingError, } from "./continuation-service-errors.js";
4
+ import { continuationOperatorToken, errorRecord, originContextBindingMac, resolveContinuationLimits, } from "./continuation-service-helpers.js";
5
+ import { DEFAULT_LEASE_MS, DEFAULT_MAX_DEADLINE_MS, DEFAULT_MAX_RESULT_BYTES, DEFAULT_WORKER_INTERVAL_MS, } from "./continuation-service-types.js";
6
+ import { TERMINAL_CONTINUATION_STATES, continuationDigest, } from "./continuations.js";
7
+ export class ContinuationOriginService {
8
+ store;
9
+ secret;
10
+ options;
11
+ releaseStoreLock;
12
+ instanceId = randomUUID();
13
+ operatorToken;
14
+ claimBindings = new Map();
15
+ activeClaimBindings = new Set();
16
+ namedRoutes;
17
+ detachedServiceTokenHashes;
18
+ maxResultBytes;
19
+ maxDeadlineMs;
20
+ leaseMs;
21
+ workerIntervalMs;
22
+ autoProcess;
23
+ limits;
24
+ now;
25
+ logger;
26
+ lifecycleAbort = new AbortController();
27
+ inFlight = new Map();
28
+ activeHttpRequests = new Set();
29
+ activeHandleOperations = 0;
30
+ handleDrainPromise;
31
+ resolveHandleDrain;
32
+ resolvingUnknown = new Set();
33
+ dispatchTail = Promise.resolve();
34
+ server;
35
+ baseUrl = "";
36
+ worker;
37
+ stopped = false;
38
+ stopPromise;
39
+ constructor(store, secret, options, releaseStoreLock) {
40
+ this.store = store;
41
+ this.secret = secret;
42
+ this.options = options;
43
+ this.releaseStoreLock = releaseStoreLock;
44
+ this.namedRoutes = options.namedRoutes ?? {};
45
+ this.operatorToken = continuationOperatorToken(secret);
46
+ this.detachedServiceTokenHashes = new Map(Object.entries(options.detachedServices ?? {}).map(([name, token]) => [name, continuationDigest(token)]));
47
+ this.maxResultBytes = options.maxResultBytes ?? DEFAULT_MAX_RESULT_BYTES;
48
+ this.maxDeadlineMs = options.maxDeadlineMs ?? DEFAULT_MAX_DEADLINE_MS;
49
+ this.leaseMs = options.leaseMs ?? DEFAULT_LEASE_MS;
50
+ this.workerIntervalMs = options.workerIntervalMs ?? DEFAULT_WORKER_INTERVAL_MS;
51
+ this.autoProcess = options.autoProcess !== false;
52
+ this.limits = resolveContinuationLimits(options.limits);
53
+ this.now = options.now ?? (() => new Date());
54
+ this.logger = options.logger;
55
+ }
56
+ throwIfStopping() {
57
+ if (this.stopped || this.lifecycleAbort.signal.aborted) {
58
+ throw new ContinuationServiceStoppingError();
59
+ }
60
+ }
61
+ async runBoundedOperation(phase, timeoutMs, operation) {
62
+ this.throwIfStopping();
63
+ let timeout;
64
+ let onAbort;
65
+ const timedOut = new Promise((_resolve, reject) => {
66
+ timeout = setTimeout(() => reject(new ContinuationOperationTimeoutError(phase, timeoutMs)), timeoutMs);
67
+ timeout.unref?.();
68
+ });
69
+ const stopped = new Promise((_resolve, reject) => {
70
+ onAbort = () => reject(new ContinuationServiceStoppingError());
71
+ this.lifecycleAbort.signal.addEventListener("abort", onAbort, { once: true });
72
+ });
73
+ try {
74
+ return await Promise.race([Promise.resolve().then(operation), timedOut, stopped]);
75
+ }
76
+ finally {
77
+ if (timeout !== undefined)
78
+ clearTimeout(timeout);
79
+ if (onAbort !== undefined)
80
+ this.lifecycleAbort.signal.removeEventListener("abort", onAbort);
81
+ }
82
+ }
83
+ async runHandleOperation(operation) {
84
+ if (this.stopped)
85
+ throw new Error("Continuation service is stopped.");
86
+ this.activeHandleOperations += 1;
87
+ try {
88
+ return await operation();
89
+ }
90
+ finally {
91
+ this.activeHandleOperations -= 1;
92
+ if (this.stopped && this.activeHandleOperations === 0) {
93
+ this.resolveHandleDrain?.();
94
+ this.resolveHandleDrain = undefined;
95
+ this.handleDrainPromise = undefined;
96
+ }
97
+ }
98
+ }
99
+ async drainHandleOperations() {
100
+ if (this.activeHandleOperations === 0)
101
+ return;
102
+ this.handleDrainPromise ??= new Promise((resolve) => { this.resolveHandleDrain = resolve; });
103
+ await this.handleDrainPromise;
104
+ }
105
+ async closeClaimBinding(token, binding) {
106
+ binding.closed = true;
107
+ if (this.claimBindings.get(token) === binding)
108
+ this.claimBindings.delete(token);
109
+ if (binding.inFlightOperations === 0)
110
+ return;
111
+ binding.drainPromise ??= new Promise((resolve) => { binding.resolveDrain = resolve; });
112
+ await binding.drainPromise;
113
+ }
114
+ beginClaim(binding) {
115
+ if (binding.closed) {
116
+ throw new ContinuationProtocolError(401, "invalid_claim_capability", "Invalid or expired claim capability.");
117
+ }
118
+ binding.inFlightOperations += 1;
119
+ let finished = false;
120
+ return () => {
121
+ if (finished)
122
+ return;
123
+ finished = true;
124
+ binding.inFlightOperations -= 1;
125
+ if (binding.closed && binding.inFlightOperations === 0) {
126
+ binding.resolveDrain?.();
127
+ delete binding.resolveDrain;
128
+ delete binding.drainPromise;
129
+ }
130
+ };
131
+ }
132
+ async requiresOriginContext(binding) {
133
+ if (this.stopped || binding.settled)
134
+ return false;
135
+ if (!binding.closed) {
136
+ throw new Error("Continuation claims must be revoked before origin settlement is inspected.");
137
+ }
138
+ if (binding.inFlightOperations > 0) {
139
+ binding.drainPromise ??= new Promise((resolve) => { binding.resolveDrain = resolve; });
140
+ await binding.drainPromise;
141
+ }
142
+ const finishOperation = this.beginOriginSettlementOperation(binding);
143
+ if (finishOperation === undefined)
144
+ return false;
145
+ try {
146
+ if (binding.historyBoundary === undefined) {
147
+ this.settleClaimBinding(binding);
148
+ return false;
149
+ }
150
+ const required = (await this.store.list()).some((record) => record.claimFingerprint === binding.fingerprint
151
+ && !TERMINAL_CONTINUATION_STATES.has(record.state));
152
+ if (!required)
153
+ this.settleClaimBinding(binding);
154
+ return required;
155
+ }
156
+ finally {
157
+ finishOperation();
158
+ }
159
+ }
160
+ beginOriginSettlementOperation(binding) {
161
+ if (this.stopped || binding.settled)
162
+ return undefined;
163
+ if (!binding.closed) {
164
+ throw new Error("Continuation claims must be revoked before origin settlement begins.");
165
+ }
166
+ if (binding.inFlightOperations !== 0) {
167
+ throw new Error("Continuation capability release has not finished draining admitted work.");
168
+ }
169
+ binding.inFlightOperations += 1;
170
+ let finished = false;
171
+ return () => {
172
+ if (finished)
173
+ return;
174
+ finished = true;
175
+ binding.inFlightOperations -= 1;
176
+ if (binding.closed && binding.inFlightOperations === 0) {
177
+ binding.resolveDrain?.();
178
+ delete binding.resolveDrain;
179
+ delete binding.drainPromise;
180
+ }
181
+ };
182
+ }
183
+ settleClaimBinding(binding) {
184
+ binding.settled = true;
185
+ this.activeClaimBindings.delete(binding);
186
+ }
187
+ async finalizeOriginContext(binding, snapshot) {
188
+ const finishOperation = this.beginOriginSettlementOperation(binding);
189
+ if (finishOperation === undefined)
190
+ return;
191
+ try {
192
+ if (binding.historyBoundary === undefined)
193
+ return;
194
+ assertAgentContinuationOriginContext(snapshot);
195
+ if (snapshot.conversationId !== binding.originConversationId
196
+ || snapshot.originRunId !== binding.originRunId
197
+ || snapshot.historyBoundary !== binding.historyBoundary) {
198
+ throw new Error("Continuation origin context does not match its immutable claim binding.");
199
+ }
200
+ const matching = (await this.store.list()).filter((record) => record.claimFingerprint === binding.fingerprint
201
+ && !TERMINAL_CONTINUATION_STATES.has(record.state));
202
+ if (matching.length === 0)
203
+ return;
204
+ const pin = await this.store.stageOriginContext(snapshot);
205
+ try {
206
+ await this.store.mutate((records) => {
207
+ const candidates = [...records.values()].filter((record) => record.claimFingerprint === binding.fingerprint
208
+ && !TERMINAL_CONTINUATION_STATES.has(record.state));
209
+ for (const record of candidates) {
210
+ if (record.originContextState === "pinned"
211
+ || (record.originContextState === "pending" && record.originContextRef !== undefined)) {
212
+ if (record.originContextDigest !== pin.reference.digest
213
+ || record.originContextRef?.digest !== pin.reference.digest) {
214
+ throw new Error("Continuation origin context conflicts with an existing pinned snapshot.");
215
+ }
216
+ continue;
217
+ }
218
+ if (record.originContextState !== "pending") {
219
+ throw new Error(`Continuation origin context cannot be finalized from ${record.originContextState}.`);
220
+ }
221
+ record.originContextRef = pin.reference;
222
+ record.originContextDigest = pin.reference.digest;
223
+ record.originContextMessageCount = pin.reference.messageCount;
224
+ record.originContextFingerprint = continuationDigest(`mono-agent-origin-context-binding-v2\0${record.claimFingerprint}\0${pin.reference.digest}`);
225
+ record.originContextBindingMac = originContextBindingMac(this.secret, record, pin.reference);
226
+ record.updatedAt = this.now().toISOString();
227
+ }
228
+ });
229
+ }
230
+ finally {
231
+ await pin.release();
232
+ }
233
+ }
234
+ finally {
235
+ finishOperation();
236
+ }
237
+ }
238
+ async activateOriginContext(binding) {
239
+ const finishOperation = this.beginOriginSettlementOperation(binding);
240
+ if (finishOperation === undefined)
241
+ return;
242
+ try {
243
+ await this.store.activateOriginContextGroup({
244
+ claimFingerprint: binding.fingerprint,
245
+ activatedAt: this.now().toISOString(),
246
+ });
247
+ this.settleClaimBinding(binding);
248
+ }
249
+ finally {
250
+ finishOperation();
251
+ }
252
+ }
253
+ async abandonOriginContext(binding) {
254
+ const finishOperation = this.beginOriginSettlementOperation(binding);
255
+ if (finishOperation === undefined)
256
+ return;
257
+ const at = this.now().toISOString();
258
+ try {
259
+ await this.store.mutate((records) => {
260
+ for (const record of records.values()) {
261
+ if (record.claimFingerprint !== binding.fingerprint || record.originContextState !== "pending")
262
+ continue;
263
+ record.originContextState = "abandoned";
264
+ delete record.originContextRef;
265
+ record.updatedAt = at;
266
+ record.lastError = errorRecord("origin_context_unavailable", "The origin run did not commit its pinned continuation context.", at);
267
+ delete record.nextAttemptAt;
268
+ }
269
+ });
270
+ this.settleClaimBinding(binding);
271
+ if (this.autoProcess)
272
+ void this.processDue().catch(() => undefined);
273
+ }
274
+ finally {
275
+ finishOperation();
276
+ }
277
+ }
278
+ async resolveOriginContext(record) {
279
+ if (record.originContextState === "detached_latest")
280
+ return { kind: "ready", policy: "detached_latest" };
281
+ if (record.originContextState === "pending")
282
+ return { kind: "pending" };
283
+ if (record.originContextState !== "pinned" || record.originContextRef === undefined) {
284
+ return { kind: "unavailable" };
285
+ }
286
+ const expectedFingerprint = continuationDigest(`mono-agent-origin-context-binding-v2\0${record.claimFingerprint}\0${record.originContextRef.digest}`);
287
+ const expectedMac = originContextBindingMac(this.secret, record, record.originContextRef);
288
+ if (record.originContextDigest !== record.originContextRef.digest
289
+ || record.originContextFingerprint !== expectedFingerprint
290
+ || record.originContextBindingMac !== expectedMac) {
291
+ return { kind: "invalid", code: "origin_context_binding_invalid" };
292
+ }
293
+ let snapshot;
294
+ try {
295
+ snapshot = await this.store.loadOriginContext(record.originContextRef);
296
+ }
297
+ catch {
298
+ await this.markOriginContextUnavailable(record.continuationId, "origin_context_unreadable");
299
+ return { kind: "unavailable" };
300
+ }
301
+ if (snapshot === undefined
302
+ || snapshot.conversationId !== record.originConversationId
303
+ || snapshot.originRunId !== record.originRunId
304
+ || snapshot.historyBoundary !== record.historyBoundary) {
305
+ await this.markOriginContextUnavailable(record.continuationId, "origin_context_missing_or_corrupt");
306
+ return { kind: "unavailable" };
307
+ }
308
+ return { kind: "ready", policy: "pinned", snapshot };
309
+ }
310
+ async markOriginContextUnavailable(id, code) {
311
+ await this.store.mutate((records) => {
312
+ const current = records.get(id);
313
+ if (current === undefined)
314
+ throw new ContinuationProtocolError(404, "not_found", "Continuation not found.");
315
+ if (current.leaseOwner !== this.instanceId) {
316
+ throw new ContinuationProtocolError(409, "lease_lost", "Continuation processing lease was lost.");
317
+ }
318
+ current.originContextState = "abandoned";
319
+ delete current.originContextRef;
320
+ current.updatedAt = this.now().toISOString();
321
+ current.lastError = errorRecord(code, "Pinned origin context is unavailable.", current.updatedAt);
322
+ });
323
+ }
324
+ }
325
+ //# sourceMappingURL=continuation-service-origin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continuation-service-origin.js","sourceRoot":"","sources":["../src/continuation-service-origin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ import type { AgentContinuationOriginContext } from "@mono-agent/agent-contracts";
2
+ import type { ContinuationRetentionOptions } from "./continuation-store.js";
3
+ import type { ContinuationClaimCapability, ContinuationHealthSnapshot, ContinuationHistoryRecordInput, ContinuationHistoryRecordResult, ContinuationLimits, ContinuationMode, ContinuationNativeDeliveryInput, ContinuationNativeDeliveryResult, ContinuationStatusSnapshot, ContinuationSynthesisInput, ContinuationSynthesisResult, IssueContinuationCapabilityInput, NamedContinuationRoute } from "./continuations.js";
4
+ export declare const DEFAULT_MAX_RESULT_BYTES: number;
5
+ export declare const DEFAULT_MAX_DEADLINE_MS: number;
6
+ export declare const DEFAULT_LEASE_MS: number;
7
+ export declare const DEFAULT_WORKER_INTERVAL_MS = 1000;
8
+ export declare const DEFAULT_DELIVERY_ATTEMPTS = 20;
9
+ export declare const MAX_OPERATOR_PAGE_SIZE = 500;
10
+ export declare const MAX_CLAIM_BODY_BYTES: number;
11
+ export declare const MAX_TASK_KEY_CHARS = 256;
12
+ export declare const MAX_TEXT_CHARS = 200000;
13
+ export declare const ORIGIN_CONTEXT_UNAVAILABLE_TEXT = "The background task finished, but I could not safely restore the original conversation context. Please ask me to check the result again.";
14
+ export interface ClaimBinding {
15
+ readonly serverName: string;
16
+ readonly originRunId: string;
17
+ readonly originConversationId: string;
18
+ readonly replyToConversationId?: string;
19
+ readonly historyBoundary?: string;
20
+ readonly mode: ContinuationMode;
21
+ readonly fingerprint: string;
22
+ closed: boolean;
23
+ settled: boolean;
24
+ inFlightOperations: number;
25
+ drainPromise?: Promise<void>;
26
+ resolveDrain?: () => void;
27
+ }
28
+ export interface ContinuationServiceLogger {
29
+ debug?(message: string, metadata?: Record<string, unknown>): void;
30
+ info?(message: string, metadata?: Record<string, unknown>): void;
31
+ warn?(message: string, metadata?: Record<string, unknown>): void;
32
+ error?(message: string, metadata?: Record<string, unknown>): void;
33
+ }
34
+ export interface ContinuationServiceOptions {
35
+ readonly stateDir?: string;
36
+ readonly cwd?: string;
37
+ readonly host?: string;
38
+ readonly port?: number;
39
+ readonly namedRoutes?: Readonly<Record<string, NamedContinuationRoute>>;
40
+ readonly detachedServices?: Readonly<Record<string, string>>;
41
+ readonly retention?: ContinuationRetentionOptions;
42
+ readonly synthesisPreflight?: (input: ContinuationSynthesisInput) => Promise<ContinuationSynthesisAvailability> | ContinuationSynthesisAvailability;
43
+ readonly synthesize: (input: ContinuationSynthesisInput) => Promise<ContinuationSynthesisResult>;
44
+ readonly deliver: (input: ContinuationNativeDeliveryInput) => Promise<ContinuationNativeDeliveryResult>;
45
+ readonly recordHistory?: (input: ContinuationHistoryRecordInput) => Promise<ContinuationHistoryRecordResult>;
46
+ readonly limits?: Partial<ContinuationLimits>;
47
+ readonly maxResultBytes?: number;
48
+ readonly maxDeadlineMs?: number;
49
+ readonly leaseMs?: number;
50
+ readonly workerIntervalMs?: number;
51
+ readonly autoProcess?: boolean;
52
+ readonly now?: () => Date;
53
+ readonly logger?: ContinuationServiceLogger;
54
+ }
55
+ export type ContinuationSynthesisAvailability = {
56
+ readonly ready: true;
57
+ } | {
58
+ readonly ready: false;
59
+ readonly code: string;
60
+ readonly reason: string;
61
+ readonly retryAfterMs?: number;
62
+ };
63
+ export type ResolvedOriginContext = {
64
+ readonly kind: "pending";
65
+ } | {
66
+ readonly kind: "unavailable";
67
+ } | {
68
+ readonly kind: "invalid";
69
+ readonly code: string;
70
+ } | {
71
+ readonly kind: "ready";
72
+ readonly policy: "pinned";
73
+ readonly snapshot: AgentContinuationOriginContext;
74
+ } | {
75
+ readonly kind: "ready";
76
+ readonly policy: "detached_latest";
77
+ };
78
+ export interface ContinuationServiceHandle {
79
+ readonly url: string;
80
+ readonly operatorToken: string;
81
+ issueContinuationClaimCapability(input: {
82
+ readonly runId: string;
83
+ readonly serverName: string;
84
+ readonly conversationId: string;
85
+ readonly replyTo?: {
86
+ readonly conversationId: string;
87
+ };
88
+ readonly historyBoundary?: string;
89
+ }): ContinuationClaimCapability;
90
+ issueRunClaimCapability(input: IssueContinuationCapabilityInput): ContinuationClaimCapability;
91
+ status(id: string): Promise<ContinuationStatusSnapshot | undefined>;
92
+ list(): Promise<readonly ContinuationStatusSnapshot[]>;
93
+ health(): Promise<ContinuationHealthSnapshot>;
94
+ processDue(limit?: number): Promise<number>;
95
+ retry(id: string, options?: {
96
+ readonly allowUnknown?: boolean;
97
+ }): Promise<ContinuationStatusSnapshot>;
98
+ cancel(id: string): Promise<ContinuationStatusSnapshot>;
99
+ resolveUnknown(id: string, outcome: {
100
+ readonly kind: "delivered";
101
+ readonly deliveryId?: string;
102
+ } | {
103
+ readonly kind: "not_delivered";
104
+ } | {
105
+ readonly kind: "dead_lettered";
106
+ }): Promise<ContinuationStatusSnapshot>;
107
+ capturedText(id: string): Promise<string | undefined>;
108
+ stop(): Promise<void>;
109
+ }
110
+ //# sourceMappingURL=continuation-service-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continuation-service-types.d.ts","sourceRoot":"","sources":["../src/continuation-service-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export const DEFAULT_MAX_RESULT_BYTES = 256 * 1024;
2
+ export const DEFAULT_MAX_DEADLINE_MS = 30 * 24 * 60 * 60 * 1_000;
3
+ export const DEFAULT_LEASE_MS = 30 * 60 * 1_000;
4
+ export const DEFAULT_WORKER_INTERVAL_MS = 1_000;
5
+ export const DEFAULT_DELIVERY_ATTEMPTS = 20;
6
+ export const MAX_OPERATOR_PAGE_SIZE = 500;
7
+ export const MAX_CLAIM_BODY_BYTES = 16 * 1024;
8
+ export const MAX_TASK_KEY_CHARS = 256;
9
+ export const MAX_TEXT_CHARS = 200_000;
10
+ export const ORIGIN_CONTEXT_UNAVAILABLE_TEXT = "The background task finished, but I could not safely restore the original conversation context. Please ask me to check the result again.";
11
+ //# sourceMappingURL=continuation-service-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continuation-service-types.js","sourceRoot":"","sources":["../src/continuation-service-types.ts"],"names":[],"mappings":"AAmBA,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,GAAG,IAAI,CAAC;AACnD,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;AACjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;AAChD,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAChD,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAC5C,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAC1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,GAAG,IAAI,CAAC;AAC9C,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AACtC,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AACtC,MAAM,CAAC,MAAM,+BAA+B,GAAG,0IAA0I,CAAC"}
@@ -1,99 +1,6 @@
1
- import { type ContinuationRetentionOptions } from "./continuation-store.js";
2
- import { type ContinuationClaimCapability, type ContinuationHealthSnapshot, type ContinuationHistoryRecordInput, type ContinuationHistoryRecordResult, type ContinuationLimits, type ContinuationNativeDeliveryInput, type ContinuationNativeDeliveryResult, type ContinuationStatusSnapshot, type ContinuationSynthesisInput, type ContinuationSynthesisResult, type IssueContinuationCapabilityInput, type NamedContinuationRoute } from "./continuations.js";
3
- export interface ContinuationServiceLogger {
4
- debug?(message: string, metadata?: Record<string, unknown>): void;
5
- info?(message: string, metadata?: Record<string, unknown>): void;
6
- warn?(message: string, metadata?: Record<string, unknown>): void;
7
- error?(message: string, metadata?: Record<string, unknown>): void;
8
- }
9
- export interface ContinuationServiceOptions {
10
- /** Defaults to `<cwd>/.mono-agent/continuations`. */
11
- readonly stateDir?: string;
12
- readonly cwd?: string;
13
- readonly host?: string;
14
- readonly port?: number;
15
- readonly namedRoutes?: Readonly<Record<string, NamedContinuationRoute>>;
16
- /** Service name -> bearer. Values remain memory-only and are never logged. */
17
- readonly detachedServices?: Readonly<Record<string, string>>;
18
- /** Bounded terminal tombstone and captured-text retention policy. */
19
- readonly retention?: ContinuationRetentionOptions;
20
- /**
21
- * Host readiness check performed before a synthesis attempt is consumed.
22
- * Use it for channel/responder lifecycle availability, never model health.
23
- */
24
- readonly synthesisPreflight?: (input: ContinuationSynthesisInput) => Promise<ContinuationSynthesisAvailability> | ContinuationSynthesisAvailability;
25
- readonly synthesize: (input: ContinuationSynthesisInput) => Promise<ContinuationSynthesisResult>;
26
- readonly deliver: (input: ContinuationNativeDeliveryInput) => Promise<ContinuationNativeDeliveryResult>;
27
- /** History-only commit. It must never post to the native channel. */
28
- readonly recordHistory?: (input: ContinuationHistoryRecordInput) => Promise<ContinuationHistoryRecordResult>;
29
- readonly limits?: Partial<ContinuationLimits>;
30
- readonly maxResultBytes?: number;
31
- readonly maxDeadlineMs?: number;
32
- readonly leaseMs?: number;
33
- readonly workerIntervalMs?: number;
34
- readonly autoProcess?: boolean;
35
- readonly now?: () => Date;
36
- readonly logger?: ContinuationServiceLogger;
37
- }
38
- export type ContinuationSynthesisAvailability = {
39
- readonly ready: true;
40
- } | {
41
- readonly ready: false;
42
- readonly code: string;
43
- readonly reason: string;
44
- readonly retryAfterMs?: number;
45
- };
46
- /**
47
- * Trusted host signal for the narrow race where readiness disappears after
48
- * preflight but before the model call begins. It is safe to requeue because the
49
- * host must throw it before invoking the responder/model.
50
- */
51
- export declare class ContinuationSynthesisUnavailableError extends Error {
52
- readonly code: string;
53
- readonly retryAfterMs: number | undefined;
54
- constructor(code: string, message: string, retryAfterMs?: number);
55
- }
56
- export interface ContinuationServiceHandle {
57
- readonly url: string;
58
- /** Ephemeral owner/operator bearer for local operator endpoints. */
59
- readonly operatorToken: string;
60
- /** Core harness issuer interface. */
61
- issueContinuationClaimCapability(input: {
62
- readonly runId: string;
63
- readonly serverName: string;
64
- readonly conversationId: string;
65
- readonly replyTo?: {
66
- readonly conversationId: string;
67
- };
68
- readonly historyBoundary?: string;
69
- }): ContinuationClaimCapability;
70
- /** Extended host surface used for non-default modes. */
71
- issueRunClaimCapability(input: IssueContinuationCapabilityInput): ContinuationClaimCapability;
72
- status(id: string): Promise<ContinuationStatusSnapshot | undefined>;
73
- list(): Promise<readonly ContinuationStatusSnapshot[]>;
74
- health(): Promise<ContinuationHealthSnapshot>;
75
- processDue(limit?: number): Promise<number>;
76
- retry(id: string, options?: {
77
- readonly allowUnknown?: boolean;
78
- }): Promise<ContinuationStatusSnapshot>;
79
- cancel(id: string): Promise<ContinuationStatusSnapshot>;
80
- resolveUnknown(id: string, outcome: {
81
- readonly kind: "delivered";
82
- readonly deliveryId?: string;
83
- } | {
84
- readonly kind: "not_delivered";
85
- } | {
86
- readonly kind: "dead_lettered";
87
- }): Promise<ContinuationStatusSnapshot>;
88
- capturedText(id: string): Promise<string | undefined>;
89
- stop(): Promise<void>;
90
- }
91
- export declare class ContinuationProtocolError extends Error {
92
- readonly status: number;
93
- readonly code: string;
94
- constructor(status: number, code: string, message: string);
95
- }
1
+ import type { ContinuationServiceHandle, ContinuationServiceOptions } from "./continuation-service-types.js";
2
+ export { ContinuationProtocolError, ContinuationSynthesisUnavailableError, } from "./continuation-service-errors.js";
3
+ export { continuationOperatorToken } from "./continuation-service-helpers.js";
4
+ export type { ContinuationServiceHandle, ContinuationServiceLogger, ContinuationServiceOptions, ContinuationSynthesisAvailability, } from "./continuation-service-types.js";
96
5
  export declare function startContinuationService(options: ContinuationServiceOptions): Promise<ContinuationServiceHandle>;
97
- /** Derive the restart-stable local operator capability from the owner-only service secret. */
98
- export declare function continuationOperatorToken(secret: Uint8Array): string;
99
6
  //# sourceMappingURL=continuation-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"continuation-service.d.ts","sourceRoot":"","sources":["../src/continuation-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"continuation-service.d.ts","sourceRoot":"","sources":["../src/continuation-service.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAEV,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,iCAAiC,CAAC;AAgBzC,OAAO,EACL,yBAAyB,EACzB,qCAAqC,GACtC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,YAAY,EACV,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,iCAAiC,GAClC,MAAM,iCAAiC,CAAC;AAEzC,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,yBAAyB,CAAC,CAuBpC"}