@draht/agent-core 2026.10.20 → 2026.10.23

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 (468) hide show
  1. package/dist/agent-loop.d.ts +6 -1
  2. package/dist/agent-loop.d.ts.map +1 -1
  3. package/dist/agent-loop.js +16 -2
  4. package/dist/agent-loop.js.map +1 -1
  5. package/dist/agent.d.ts +8 -1
  6. package/dist/agent.d.ts.map +1 -1
  7. package/dist/agent.js +4 -0
  8. package/dist/agent.js.map +1 -1
  9. package/dist/index.d.ts +0 -22
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +0 -20
  12. package/dist/index.js.map +1 -1
  13. package/dist/proxy.d.ts +2 -5
  14. package/dist/proxy.d.ts.map +1 -1
  15. package/dist/proxy.js +2 -14
  16. package/dist/proxy.js.map +1 -1
  17. package/dist/types.d.ts +4 -0
  18. package/dist/types.d.ts.map +1 -1
  19. package/dist/types.js.map +1 -1
  20. package/package.json +4 -47
  21. package/dist/harness/agent-harness.d.ts +0 -716
  22. package/dist/harness/agent-harness.d.ts.map +0 -1
  23. package/dist/harness/agent-harness.js +0 -6
  24. package/dist/harness/agent-harness.js.map +0 -1
  25. package/dist/harness/compaction/branch-summarization.d.ts +0 -68
  26. package/dist/harness/compaction/branch-summarization.d.ts.map +0 -1
  27. package/dist/harness/compaction/branch-summarization.js +0 -176
  28. package/dist/harness/compaction/branch-summarization.js.map +0 -1
  29. package/dist/harness/compaction/compaction.d.ts +0 -126
  30. package/dist/harness/compaction/compaction.d.ts.map +0 -1
  31. package/dist/harness/compaction/compaction.js +0 -561
  32. package/dist/harness/compaction/compaction.js.map +0 -1
  33. package/dist/harness/compaction/utils.d.ts +0 -28
  34. package/dist/harness/compaction/utils.d.ts.map +0 -1
  35. package/dist/harness/compaction/utils.js +0 -123
  36. package/dist/harness/compaction/utils.js.map +0 -1
  37. package/dist/harness/config.d.ts +0 -9
  38. package/dist/harness/config.d.ts.map +0 -1
  39. package/dist/harness/config.js +0 -35
  40. package/dist/harness/config.js.map +0 -1
  41. package/dist/harness/context.d.ts +0 -9
  42. package/dist/harness/context.d.ts.map +0 -1
  43. package/dist/harness/context.js +0 -13
  44. package/dist/harness/context.js.map +0 -1
  45. package/dist/harness/env/nodejs.d.ts +0 -43
  46. package/dist/harness/env/nodejs.d.ts.map +0 -1
  47. package/dist/harness/env/nodejs.js +0 -865
  48. package/dist/harness/env/nodejs.js.map +0 -1
  49. package/dist/harness/events.d.ts +0 -24
  50. package/dist/harness/events.d.ts.map +0 -1
  51. package/dist/harness/events.js +0 -233
  52. package/dist/harness/events.js.map +0 -1
  53. package/dist/harness/execution/assistant.d.ts +0 -42
  54. package/dist/harness/execution/assistant.d.ts.map +0 -1
  55. package/dist/harness/execution/assistant.js +0 -82
  56. package/dist/harness/execution/assistant.js.map +0 -1
  57. package/dist/harness/execution/effect-gate.d.ts +0 -22
  58. package/dist/harness/execution/effect-gate.d.ts.map +0 -1
  59. package/dist/harness/execution/effect-gate.js +0 -49
  60. package/dist/harness/execution/effect-gate.js.map +0 -1
  61. package/dist/harness/execution/tools.d.ts +0 -67
  62. package/dist/harness/execution/tools.d.ts.map +0 -1
  63. package/dist/harness/execution/tools.js +0 -119
  64. package/dist/harness/execution/tools.js.map +0 -1
  65. package/dist/harness/execution-env.d.ts +0 -4
  66. package/dist/harness/execution-env.d.ts.map +0 -1
  67. package/dist/harness/execution-env.js +0 -3
  68. package/dist/harness/execution-env.js.map +0 -1
  69. package/dist/harness/hooks.d.ts +0 -38
  70. package/dist/harness/hooks.d.ts.map +0 -1
  71. package/dist/harness/hooks.js +0 -406
  72. package/dist/harness/hooks.js.map +0 -1
  73. package/dist/harness/messages.d.ts +0 -51
  74. package/dist/harness/messages.d.ts.map +0 -1
  75. package/dist/harness/messages.js +0 -103
  76. package/dist/harness/messages.js.map +0 -1
  77. package/dist/harness/pico3/bash.d.ts +0 -10
  78. package/dist/harness/pico3/bash.d.ts.map +0 -1
  79. package/dist/harness/pico3/bash.js +0 -25
  80. package/dist/harness/pico3/bash.js.map +0 -1
  81. package/dist/harness/pico3/bounded.d.ts +0 -21
  82. package/dist/harness/pico3/bounded.d.ts.map +0 -1
  83. package/dist/harness/pico3/bounded.js +0 -98
  84. package/dist/harness/pico3/bounded.js.map +0 -1
  85. package/dist/harness/pico3/chord.d.ts +0 -41
  86. package/dist/harness/pico3/chord.d.ts.map +0 -1
  87. package/dist/harness/pico3/chord.js +0 -147
  88. package/dist/harness/pico3/chord.js.map +0 -1
  89. package/dist/harness/pico3/context.d.ts +0 -16
  90. package/dist/harness/pico3/context.d.ts.map +0 -1
  91. package/dist/harness/pico3/context.js +0 -88
  92. package/dist/harness/pico3/context.js.map +0 -1
  93. package/dist/harness/pico3/harness.d.ts +0 -198
  94. package/dist/harness/pico3/harness.d.ts.map +0 -1
  95. package/dist/harness/pico3/harness.js +0 -654
  96. package/dist/harness/pico3/harness.js.map +0 -1
  97. package/dist/harness/pico3/hooks.d.ts +0 -10
  98. package/dist/harness/pico3/hooks.d.ts.map +0 -1
  99. package/dist/harness/pico3/hooks.js +0 -33
  100. package/dist/harness/pico3/hooks.js.map +0 -1
  101. package/dist/harness/pico3/index.d.ts +0 -19
  102. package/dist/harness/pico3/index.d.ts.map +0 -1
  103. package/dist/harness/pico3/index.js +0 -15
  104. package/dist/harness/pico3/index.js.map +0 -1
  105. package/dist/harness/pico3/jsonl.d.ts +0 -58
  106. package/dist/harness/pico3/jsonl.d.ts.map +0 -1
  107. package/dist/harness/pico3/jsonl.js +0 -325
  108. package/dist/harness/pico3/jsonl.js.map +0 -1
  109. package/dist/harness/pico3/kinds/collapse.d.ts +0 -49
  110. package/dist/harness/pico3/kinds/collapse.d.ts.map +0 -1
  111. package/dist/harness/pico3/kinds/collapse.js +0 -191
  112. package/dist/harness/pico3/kinds/collapse.js.map +0 -1
  113. package/dist/harness/pico3/kinds/entries.d.ts +0 -78
  114. package/dist/harness/pico3/kinds/entries.d.ts.map +0 -1
  115. package/dist/harness/pico3/kinds/entries.js +0 -13
  116. package/dist/harness/pico3/kinds/entries.js.map +0 -1
  117. package/dist/harness/pico3/kinds/frames.d.ts +0 -9
  118. package/dist/harness/pico3/kinds/frames.d.ts.map +0 -1
  119. package/dist/harness/pico3/kinds/frames.js +0 -75
  120. package/dist/harness/pico3/kinds/frames.js.map +0 -1
  121. package/dist/harness/pico3/kinds/generation.d.ts +0 -94
  122. package/dist/harness/pico3/kinds/generation.d.ts.map +0 -1
  123. package/dist/harness/pico3/kinds/generation.js +0 -504
  124. package/dist/harness/pico3/kinds/generation.js.map +0 -1
  125. package/dist/harness/pico3/kinds/job.d.ts +0 -44
  126. package/dist/harness/pico3/kinds/job.d.ts.map +0 -1
  127. package/dist/harness/pico3/kinds/job.js +0 -143
  128. package/dist/harness/pico3/kinds/job.js.map +0 -1
  129. package/dist/harness/pico3/kinds/plugin.d.ts +0 -15
  130. package/dist/harness/pico3/kinds/plugin.d.ts.map +0 -1
  131. package/dist/harness/pico3/kinds/plugin.js +0 -35
  132. package/dist/harness/pico3/kinds/plugin.js.map +0 -1
  133. package/dist/harness/pico3/kinds/post-tools.d.ts +0 -22
  134. package/dist/harness/pico3/kinds/post-tools.d.ts.map +0 -1
  135. package/dist/harness/pico3/kinds/post-tools.js +0 -145
  136. package/dist/harness/pico3/kinds/post-tools.js.map +0 -1
  137. package/dist/harness/pico3/kinds/task-api.d.ts +0 -3
  138. package/dist/harness/pico3/kinds/task-api.d.ts.map +0 -1
  139. package/dist/harness/pico3/kinds/task-api.js +0 -45
  140. package/dist/harness/pico3/kinds/task-api.js.map +0 -1
  141. package/dist/harness/pico3/kinds/tool.d.ts +0 -43
  142. package/dist/harness/pico3/kinds/tool.d.ts.map +0 -1
  143. package/dist/harness/pico3/kinds/tool.js +0 -373
  144. package/dist/harness/pico3/kinds/tool.js.map +0 -1
  145. package/dist/harness/pico3/legacy-tracker.d.ts +0 -11
  146. package/dist/harness/pico3/legacy-tracker.d.ts.map +0 -1
  147. package/dist/harness/pico3/legacy-tracker.js +0 -41
  148. package/dist/harness/pico3/legacy-tracker.js.map +0 -1
  149. package/dist/harness/pico3/membrane.d.ts +0 -23
  150. package/dist/harness/pico3/membrane.d.ts.map +0 -1
  151. package/dist/harness/pico3/membrane.js +0 -141
  152. package/dist/harness/pico3/membrane.js.map +0 -1
  153. package/dist/harness/pico3/memory.d.ts +0 -53
  154. package/dist/harness/pico3/memory.d.ts.map +0 -1
  155. package/dist/harness/pico3/memory.js +0 -264
  156. package/dist/harness/pico3/memory.js.map +0 -1
  157. package/dist/harness/pico3/scheduler.d.ts +0 -49
  158. package/dist/harness/pico3/scheduler.d.ts.map +0 -1
  159. package/dist/harness/pico3/scheduler.js +0 -438
  160. package/dist/harness/pico3/scheduler.js.map +0 -1
  161. package/dist/harness/pico3/session.d.ts +0 -264
  162. package/dist/harness/pico3/session.d.ts.map +0 -1
  163. package/dist/harness/pico3/session.js +0 -1348
  164. package/dist/harness/pico3/session.js.map +0 -1
  165. package/dist/harness/pico3/system.d.ts +0 -126
  166. package/dist/harness/pico3/system.d.ts.map +0 -1
  167. package/dist/harness/pico3/system.js +0 -244
  168. package/dist/harness/pico3/system.js.map +0 -1
  169. package/dist/harness/pico3/types.d.ts +0 -973
  170. package/dist/harness/pico3/types.d.ts.map +0 -1
  171. package/dist/harness/pico3/types.js +0 -106
  172. package/dist/harness/pico3/types.js.map +0 -1
  173. package/dist/harness/pico3/view.d.ts +0 -34
  174. package/dist/harness/pico3/view.d.ts.map +0 -1
  175. package/dist/harness/pico3/view.js +0 -411
  176. package/dist/harness/pico3/view.js.map +0 -1
  177. package/dist/harness/prompt-templates.d.ts +0 -49
  178. package/dist/harness/prompt-templates.d.ts.map +0 -1
  179. package/dist/harness/prompt-templates.js +0 -225
  180. package/dist/harness/prompt-templates.js.map +0 -1
  181. package/dist/harness/result.d.ts +0 -133
  182. package/dist/harness/result.d.ts.map +0 -1
  183. package/dist/harness/result.js +0 -81
  184. package/dist/harness/result.js.map +0 -1
  185. package/dist/harness/runtime/drive/boundary.d.ts +0 -28
  186. package/dist/harness/runtime/drive/boundary.d.ts.map +0 -1
  187. package/dist/harness/runtime/drive/boundary.js +0 -173
  188. package/dist/harness/runtime/drive/boundary.js.map +0 -1
  189. package/dist/harness/runtime/drive/checkpoint.d.ts +0 -8
  190. package/dist/harness/runtime/drive/checkpoint.d.ts.map +0 -1
  191. package/dist/harness/runtime/drive/checkpoint.js +0 -133
  192. package/dist/harness/runtime/drive/checkpoint.js.map +0 -1
  193. package/dist/harness/runtime/drive/deferred.d.ts +0 -15
  194. package/dist/harness/runtime/drive/deferred.d.ts.map +0 -1
  195. package/dist/harness/runtime/drive/deferred.js +0 -179
  196. package/dist/harness/runtime/drive/deferred.js.map +0 -1
  197. package/dist/harness/runtime/drive/generation.d.ts +0 -8
  198. package/dist/harness/runtime/drive/generation.d.ts.map +0 -1
  199. package/dist/harness/runtime/drive/generation.js +0 -205
  200. package/dist/harness/runtime/drive/generation.js.map +0 -1
  201. package/dist/harness/runtime/drive/reconcile.d.ts +0 -5
  202. package/dist/harness/runtime/drive/reconcile.d.ts.map +0 -1
  203. package/dist/harness/runtime/drive/reconcile.js +0 -140
  204. package/dist/harness/runtime/drive/reconcile.js.map +0 -1
  205. package/dist/harness/runtime/drive/recovery.d.ts +0 -8
  206. package/dist/harness/runtime/drive/recovery.d.ts.map +0 -1
  207. package/dist/harness/runtime/drive/recovery.js +0 -85
  208. package/dist/harness/runtime/drive/recovery.js.map +0 -1
  209. package/dist/harness/runtime/drive/response.d.ts +0 -23
  210. package/dist/harness/runtime/drive/response.d.ts.map +0 -1
  211. package/dist/harness/runtime/drive/response.js +0 -394
  212. package/dist/harness/runtime/drive/response.js.map +0 -1
  213. package/dist/harness/runtime/drive/retry.d.ts +0 -4
  214. package/dist/harness/runtime/drive/retry.d.ts.map +0 -1
  215. package/dist/harness/runtime/drive/retry.js +0 -34
  216. package/dist/harness/runtime/drive/retry.js.map +0 -1
  217. package/dist/harness/runtime/drive/structural.d.ts +0 -32
  218. package/dist/harness/runtime/drive/structural.d.ts.map +0 -1
  219. package/dist/harness/runtime/drive/structural.js +0 -929
  220. package/dist/harness/runtime/drive/structural.js.map +0 -1
  221. package/dist/harness/runtime/drive/terminal.d.ts +0 -7
  222. package/dist/harness/runtime/drive/terminal.d.ts.map +0 -1
  223. package/dist/harness/runtime/drive/terminal.js +0 -49
  224. package/dist/harness/runtime/drive/terminal.js.map +0 -1
  225. package/dist/harness/runtime/drive/tool-placement.d.ts +0 -14
  226. package/dist/harness/runtime/drive/tool-placement.d.ts.map +0 -1
  227. package/dist/harness/runtime/drive/tool-placement.js +0 -219
  228. package/dist/harness/runtime/drive/tool-placement.js.map +0 -1
  229. package/dist/harness/runtime/drive/tools.d.ts +0 -6
  230. package/dist/harness/runtime/drive/tools.d.ts.map +0 -1
  231. package/dist/harness/runtime/drive/tools.js +0 -449
  232. package/dist/harness/runtime/drive/tools.js.map +0 -1
  233. package/dist/harness/runtime/drive.d.ts +0 -6
  234. package/dist/harness/runtime/drive.d.ts.map +0 -1
  235. package/dist/harness/runtime/drive.js +0 -93
  236. package/dist/harness/runtime/drive.js.map +0 -1
  237. package/dist/harness/runtime/harness.d.ts +0 -59
  238. package/dist/harness/runtime/harness.d.ts.map +0 -1
  239. package/dist/harness/runtime/harness.js +0 -311
  240. package/dist/harness/runtime/harness.js.map +0 -1
  241. package/dist/harness/runtime/index.d.ts +0 -2
  242. package/dist/harness/runtime/index.d.ts.map +0 -1
  243. package/dist/harness/runtime/index.js +0 -2
  244. package/dist/harness/runtime/index.js.map +0 -1
  245. package/dist/harness/runtime/lane.d.ts +0 -118
  246. package/dist/harness/runtime/lane.d.ts.map +0 -1
  247. package/dist/harness/runtime/lane.js +0 -1575
  248. package/dist/harness/runtime/lane.js.map +0 -1
  249. package/dist/harness/runtime/progress.d.ts +0 -15
  250. package/dist/harness/runtime/progress.d.ts.map +0 -1
  251. package/dist/harness/runtime/progress.js +0 -66
  252. package/dist/harness/runtime/progress.js.map +0 -1
  253. package/dist/harness/runtime/reducer.d.ts +0 -5
  254. package/dist/harness/runtime/reducer.d.ts.map +0 -1
  255. package/dist/harness/runtime/reducer.js +0 -240
  256. package/dist/harness/runtime/reducer.js.map +0 -1
  257. package/dist/harness/runtime/restore.d.ts +0 -24
  258. package/dist/harness/runtime/restore.d.ts.map +0 -1
  259. package/dist/harness/runtime/restore.js +0 -117
  260. package/dist/harness/runtime/restore.js.map +0 -1
  261. package/dist/harness/runtime/transcript.d.ts +0 -21
  262. package/dist/harness/runtime/transcript.d.ts.map +0 -1
  263. package/dist/harness/runtime/transcript.js +0 -72
  264. package/dist/harness/runtime/transcript.js.map +0 -1
  265. package/dist/harness/runtime/types.d.ts +0 -105
  266. package/dist/harness/runtime/types.d.ts.map +0 -1
  267. package/dist/harness/runtime/types.js +0 -61
  268. package/dist/harness/runtime/types.js.map +0 -1
  269. package/dist/harness/session/commit.d.ts +0 -53
  270. package/dist/harness/session/commit.d.ts.map +0 -1
  271. package/dist/harness/session/commit.js +0 -57
  272. package/dist/harness/session/commit.js.map +0 -1
  273. package/dist/harness/session/context.d.ts +0 -10
  274. package/dist/harness/session/context.d.ts.map +0 -1
  275. package/dist/harness/session/context.js +0 -49
  276. package/dist/harness/session/context.js.map +0 -1
  277. package/dist/harness/session/fork-policy.d.ts +0 -21
  278. package/dist/harness/session/fork-policy.d.ts.map +0 -1
  279. package/dist/harness/session/fork-policy.js +0 -55
  280. package/dist/harness/session/fork-policy.js.map +0 -1
  281. package/dist/harness/session/fork.d.ts +0 -16
  282. package/dist/harness/session/fork.d.ts.map +0 -1
  283. package/dist/harness/session/fork.js +0 -79
  284. package/dist/harness/session/fork.js.map +0 -1
  285. package/dist/harness/session/in-memory-storage-state.d.ts +0 -39
  286. package/dist/harness/session/in-memory-storage-state.d.ts.map +0 -1
  287. package/dist/harness/session/in-memory-storage-state.js +0 -276
  288. package/dist/harness/session/in-memory-storage-state.js.map +0 -1
  289. package/dist/harness/session/index.d.ts +0 -11
  290. package/dist/harness/session/index.d.ts.map +0 -1
  291. package/dist/harness/session/index.js +0 -9
  292. package/dist/harness/session/index.js.map +0 -1
  293. package/dist/harness/session/jsonl/codec.d.ts +0 -21
  294. package/dist/harness/session/jsonl/codec.d.ts.map +0 -1
  295. package/dist/harness/session/jsonl/codec.js +0 -45
  296. package/dist/harness/session/jsonl/codec.js.map +0 -1
  297. package/dist/harness/session/jsonl/fork.d.ts +0 -38
  298. package/dist/harness/session/jsonl/fork.d.ts.map +0 -1
  299. package/dist/harness/session/jsonl/fork.js +0 -264
  300. package/dist/harness/session/jsonl/fork.js.map +0 -1
  301. package/dist/harness/session/jsonl/index.d.ts +0 -4
  302. package/dist/harness/session/jsonl/index.d.ts.map +0 -1
  303. package/dist/harness/session/jsonl/index.js +0 -4
  304. package/dist/harness/session/jsonl/index.js.map +0 -1
  305. package/dist/harness/session/jsonl/io.d.ts +0 -14
  306. package/dist/harness/session/jsonl/io.d.ts.map +0 -1
  307. package/dist/harness/session/jsonl/io.js +0 -86
  308. package/dist/harness/session/jsonl/io.js.map +0 -1
  309. package/dist/harness/session/jsonl/legacy-v3.d.ts +0 -44
  310. package/dist/harness/session/jsonl/legacy-v3.d.ts.map +0 -1
  311. package/dist/harness/session/jsonl/legacy-v3.js +0 -462
  312. package/dist/harness/session/jsonl/legacy-v3.js.map +0 -1
  313. package/dist/harness/session/jsonl/repo.d.ts +0 -35
  314. package/dist/harness/session/jsonl/repo.d.ts.map +0 -1
  315. package/dist/harness/session/jsonl/repo.js +0 -301
  316. package/dist/harness/session/jsonl/repo.js.map +0 -1
  317. package/dist/harness/session/jsonl/storage.d.ts +0 -41
  318. package/dist/harness/session/jsonl/storage.d.ts.map +0 -1
  319. package/dist/harness/session/jsonl/storage.js +0 -200
  320. package/dist/harness/session/jsonl/storage.js.map +0 -1
  321. package/dist/harness/session/jsonl/types.d.ts +0 -39
  322. package/dist/harness/session/jsonl/types.d.ts.map +0 -1
  323. package/dist/harness/session/jsonl/types.js +0 -3
  324. package/dist/harness/session/jsonl/types.js.map +0 -1
  325. package/dist/harness/session/memory.d.ts +0 -48
  326. package/dist/harness/session/memory.d.ts.map +0 -1
  327. package/dist/harness/session/memory.js +0 -369
  328. package/dist/harness/session/memory.js.map +0 -1
  329. package/dist/harness/session/mutation-line.d.ts +0 -8
  330. package/dist/harness/session/mutation-line.d.ts.map +0 -1
  331. package/dist/harness/session/mutation-line.js +0 -21
  332. package/dist/harness/session/mutation-line.js.map +0 -1
  333. package/dist/harness/session/session.d.ts +0 -82
  334. package/dist/harness/session/session.d.ts.map +0 -1
  335. package/dist/harness/session/session.js +0 -361
  336. package/dist/harness/session/session.js.map +0 -1
  337. package/dist/harness/session/testing/benchmark/datasets.d.ts +0 -12
  338. package/dist/harness/session/testing/benchmark/datasets.d.ts.map +0 -1
  339. package/dist/harness/session/testing/benchmark/datasets.js +0 -24
  340. package/dist/harness/session/testing/benchmark/datasets.js.map +0 -1
  341. package/dist/harness/session/testing/benchmark/session-repo.d.ts +0 -42
  342. package/dist/harness/session/testing/benchmark/session-repo.d.ts.map +0 -1
  343. package/dist/harness/session/testing/benchmark/session-repo.js +0 -127
  344. package/dist/harness/session/testing/benchmark/session-repo.js.map +0 -1
  345. package/dist/harness/session/testing/benchmark/storage.d.ts +0 -25
  346. package/dist/harness/session/testing/benchmark/storage.d.ts.map +0 -1
  347. package/dist/harness/session/testing/benchmark/storage.js +0 -114
  348. package/dist/harness/session/testing/benchmark/storage.js.map +0 -1
  349. package/dist/harness/session/testing/conformance/session-repo.d.ts +0 -23
  350. package/dist/harness/session/testing/conformance/session-repo.d.ts.map +0 -1
  351. package/dist/harness/session/testing/conformance/session-repo.js +0 -809
  352. package/dist/harness/session/testing/conformance/session-repo.js.map +0 -1
  353. package/dist/harness/session/testing/conformance/storage.d.ts +0 -4
  354. package/dist/harness/session/testing/conformance/storage.d.ts.map +0 -1
  355. package/dist/harness/session/testing/conformance/storage.js +0 -600
  356. package/dist/harness/session/testing/conformance/storage.js.map +0 -1
  357. package/dist/harness/session/testing/gating-storage.d.ts +0 -26
  358. package/dist/harness/session/testing/gating-storage.d.ts.map +0 -1
  359. package/dist/harness/session/testing/gating-storage.js +0 -100
  360. package/dist/harness/session/testing/gating-storage.js.map +0 -1
  361. package/dist/harness/session/testing/index.d.ts +0 -10
  362. package/dist/harness/session/testing/index.d.ts.map +0 -1
  363. package/dist/harness/session/testing/index.js +0 -9
  364. package/dist/harness/session/testing/index.js.map +0 -1
  365. package/dist/harness/session/testing/instrumented-storage.d.ts +0 -11
  366. package/dist/harness/session/testing/instrumented-storage.d.ts.map +0 -1
  367. package/dist/harness/session/testing/instrumented-storage.js +0 -16
  368. package/dist/harness/session/testing/instrumented-storage.js.map +0 -1
  369. package/dist/harness/session/testing/storage-decorator.d.ts +0 -20
  370. package/dist/harness/session/testing/storage-decorator.d.ts.map +0 -1
  371. package/dist/harness/session/testing/storage-decorator.js +0 -41
  372. package/dist/harness/session/testing/storage-decorator.js.map +0 -1
  373. package/dist/harness/session/testing/types.d.ts +0 -12
  374. package/dist/harness/session/testing/types.d.ts.map +0 -1
  375. package/dist/harness/session/testing/types.js +0 -2
  376. package/dist/harness/session/testing/types.js.map +0 -1
  377. package/dist/harness/session/types.d.ts +0 -512
  378. package/dist/harness/session/types.d.ts.map +0 -1
  379. package/dist/harness/session/types.js +0 -9
  380. package/dist/harness/session/types.js.map +0 -1
  381. package/dist/harness/session/values.d.ts +0 -95
  382. package/dist/harness/session/values.d.ts.map +0 -1
  383. package/dist/harness/session/values.js +0 -81
  384. package/dist/harness/session/values.js.map +0 -1
  385. package/dist/harness/skills.d.ts +0 -46
  386. package/dist/harness/skills.d.ts.map +0 -1
  387. package/dist/harness/skills.js +0 -326
  388. package/dist/harness/skills.js.map +0 -1
  389. package/dist/harness/system-prompt.d.ts +0 -3
  390. package/dist/harness/system-prompt.d.ts.map +0 -1
  391. package/dist/harness/system-prompt.js +0 -30
  392. package/dist/harness/system-prompt.js.map +0 -1
  393. package/dist/harness/telemetry.d.ts +0 -1242
  394. package/dist/harness/telemetry.d.ts.map +0 -1
  395. package/dist/harness/telemetry.js +0 -527
  396. package/dist/harness/telemetry.js.map +0 -1
  397. package/dist/harness/tools/bash.d.ts +0 -27
  398. package/dist/harness/tools/bash.d.ts.map +0 -1
  399. package/dist/harness/tools/bash.js +0 -105
  400. package/dist/harness/tools/bash.js.map +0 -1
  401. package/dist/harness/tools/edit-diff.d.ts +0 -89
  402. package/dist/harness/tools/edit-diff.d.ts.map +0 -1
  403. package/dist/harness/tools/edit-diff.js +0 -386
  404. package/dist/harness/tools/edit-diff.js.map +0 -1
  405. package/dist/harness/tools/edit.d.ts +0 -19
  406. package/dist/harness/tools/edit.d.ts.map +0 -1
  407. package/dist/harness/tools/edit.js +0 -108
  408. package/dist/harness/tools/edit.js.map +0 -1
  409. package/dist/harness/tools/file-mutation-queue.d.ts +0 -5
  410. package/dist/harness/tools/file-mutation-queue.d.ts.map +0 -1
  411. package/dist/harness/tools/file-mutation-queue.js +0 -46
  412. package/dist/harness/tools/file-mutation-queue.js.map +0 -1
  413. package/dist/harness/tools/image.d.ts +0 -3
  414. package/dist/harness/tools/image.d.ts.map +0 -1
  415. package/dist/harness/tools/image.js +0 -106
  416. package/dist/harness/tools/image.js.map +0 -1
  417. package/dist/harness/tools/index.d.ts +0 -6
  418. package/dist/harness/tools/index.d.ts.map +0 -1
  419. package/dist/harness/tools/index.js +0 -5
  420. package/dist/harness/tools/index.js.map +0 -1
  421. package/dist/harness/tools/path-utils.d.ts +0 -5
  422. package/dist/harness/tools/path-utils.d.ts.map +0 -1
  423. package/dist/harness/tools/path-utils.js +0 -26
  424. package/dist/harness/tools/path-utils.js.map +0 -1
  425. package/dist/harness/tools/read.d.ts +0 -35
  426. package/dist/harness/tools/read.d.ts.map +0 -1
  427. package/dist/harness/tools/read.js +0 -108
  428. package/dist/harness/tools/read.js.map +0 -1
  429. package/dist/harness/tools/tool-context.d.ts +0 -6
  430. package/dist/harness/tools/tool-context.d.ts.map +0 -1
  431. package/dist/harness/tools/tool-context.js +0 -2
  432. package/dist/harness/tools/tool-context.js.map +0 -1
  433. package/dist/harness/tools/write.d.ts +0 -11
  434. package/dist/harness/tools/write.d.ts.map +0 -1
  435. package/dist/harness/tools/write.js +0 -31
  436. package/dist/harness/tools/write.js.map +0 -1
  437. package/dist/harness/types.d.ts +0 -305
  438. package/dist/harness/types.d.ts.map +0 -1
  439. package/dist/harness/types.js +0 -75
  440. package/dist/harness/types.js.map +0 -1
  441. package/dist/harness/utils/adaptive-publisher.d.ts +0 -24
  442. package/dist/harness/utils/adaptive-publisher.d.ts.map +0 -1
  443. package/dist/harness/utils/adaptive-publisher.js +0 -79
  444. package/dist/harness/utils/adaptive-publisher.js.map +0 -1
  445. package/dist/harness/utils/output-capture.d.ts +0 -31
  446. package/dist/harness/utils/output-capture.d.ts.map +0 -1
  447. package/dist/harness/utils/output-capture.js +0 -217
  448. package/dist/harness/utils/output-capture.js.map +0 -1
  449. package/dist/harness/utils/shell-output.d.ts +0 -29
  450. package/dist/harness/utils/shell-output.d.ts.map +0 -1
  451. package/dist/harness/utils/shell-output.js +0 -71
  452. package/dist/harness/utils/shell-output.js.map +0 -1
  453. package/dist/harness/utils/truncate.d.ts +0 -71
  454. package/dist/harness/utils/truncate.d.ts.map +0 -1
  455. package/dist/harness/utils/truncate.js +0 -296
  456. package/dist/harness/utils/truncate.js.map +0 -1
  457. package/dist/harness/utils/usage.d.ts +0 -4
  458. package/dist/harness/utils/usage.d.ts.map +0 -1
  459. package/dist/harness/utils/usage.js +0 -33
  460. package/dist/harness/utils/usage.js.map +0 -1
  461. package/dist/node.d.ts +0 -3
  462. package/dist/node.d.ts.map +0 -1
  463. package/dist/node.js +0 -3
  464. package/dist/node.js.map +0 -1
  465. package/dist/search/index.d.ts +0 -29
  466. package/dist/search/index.d.ts.map +0 -1
  467. package/dist/search/index.js +0 -2
  468. package/dist/search/index.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/harness/pico3/types.ts"],"names":[],"mappings":"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"}
@@ -1,106 +0,0 @@
1
- /**
2
- * harness-v3 — records, documents, storage, kinds, transactions, runtime, tools, hooks.
3
- *
4
- * Durable model: four tables (conversations, entries, tasks, inputs) and three documents
5
- * (session, per-conversation rewindable, per-conversation sticky). Every durable position
6
- * is strict JSON (`JsonValue`); nothing durable is `unknown`.
7
- *
8
- * Single process. A storage path has one owning process and one owning Session at a time.
9
- * Two processes opening the same JSONL directory is unsupported.
10
- */
11
- /** Coerce an in-memory value (e.g. a pi-ai message) to its stored representation. */
12
- export const toStored = (value) => JSON.parse(JSON.stringify(value));
13
- export function defineEntry(kind) {
14
- if (kind.startsWith("pi."))
15
- throw new Error(`entry kind names beginning with "pi." are reserved: ${kind}`);
16
- return Object.freeze({ kind, is: (entry) => entry?.kind === kind });
17
- }
18
- /** First writer wins, including when the stored winner is null. */
19
- export function memoOnce(slot, key, candidate) {
20
- if (!Object.hasOwn(slot, "memos"))
21
- slot.memos = {};
22
- const memos = slot.memos;
23
- if (Object.hasOwn(memos, key))
24
- return memos[key];
25
- memos[key] = candidate;
26
- return candidate;
27
- }
28
- /** Author an ordinary kind. Names may not begin with `pi.`. */
29
- export function defineTask(definition) {
30
- if (definition.name.startsWith("pi."))
31
- throw new Error(`task kind names beginning with "pi." are reserved: ${definition.name}`);
32
- return Object.freeze({ ...definition });
33
- }
34
- /** Thrown when a scan-shaped read follows a same-batch write to its domain. Poisons the transaction. */
35
- export class ReadAfterWrite extends Error {
36
- constructor(read, write) {
37
- super(`${read} after ${write} in the same transaction: the answer would not include the buffered write`);
38
- this.name = "ReadAfterWrite";
39
- }
40
- }
41
- // ---------------------------------------------------------------------------
42
- // Invocation tokens and invokers
43
- // ---------------------------------------------------------------------------
44
- /** An unforgeable capability: only the scheduler creates these, one per invocation. */
45
- export class InvocationToken {
46
- #alive = true;
47
- taskId;
48
- mode;
49
- constructor(taskId, mode) {
50
- this.taskId = taskId;
51
- this.mode = mode;
52
- }
53
- get alive() {
54
- return this.#alive;
55
- }
56
- /** Called by the scheduler when the invocation returns. */
57
- revoke() {
58
- this.#alive = false;
59
- }
60
- }
61
- // ---------------------------------------------------------------------------
62
- // Errors
63
- // ---------------------------------------------------------------------------
64
- export class Forbidden extends Error {
65
- constructor(what) {
66
- super(`forbidden: ${what}`);
67
- this.name = "Forbidden";
68
- }
69
- }
70
- export class ConversationBusy extends Error {
71
- constructor(id) {
72
- super(`conversation ${id} is busy`);
73
- this.name = "ConversationBusy";
74
- }
75
- }
76
- export class GenerationInProgress extends Error {
77
- constructor(id) {
78
- super(`conversation ${id} already has a live generation`);
79
- this.name = "GenerationInProgress";
80
- }
81
- }
82
- export class CollapseInProgress extends Error {
83
- constructor(id) {
84
- super(`conversation ${id} already has a live collapse`);
85
- this.name = "CollapseInProgress";
86
- }
87
- }
88
- export class Faulted extends Error {
89
- constructor(cause) {
90
- super(`Session faulted: ${String(cause)}`);
91
- this.name = "Faulted";
92
- }
93
- }
94
- export class Closed extends Error {
95
- constructor() {
96
- super("Session is closed");
97
- this.name = "Closed";
98
- }
99
- }
100
- export class TaskContractFault extends Error {
101
- constructor(kind, what) {
102
- super(`kind ${kind} broke its contract: ${what}`);
103
- this.name = "TaskContractFault";
104
- }
105
- }
106
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/harness/pico3/types.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * harness-v3 — records, documents, storage, kinds, transactions, runtime, tools, hooks.\n *\n * Durable model: four tables (conversations, entries, tasks, inputs) and three documents\n * (session, per-conversation rewindable, per-conversation sticky). Every durable position\n * is strict JSON (`JsonValue`); nothing durable is `unknown`.\n *\n * Single process. A storage path has one owning process and one owning Session at a time.\n * Two processes opening the same JSONL directory is unsupported.\n */\n\nimport type {\n\tApi,\n\tAssistantMessage,\n\tAssistantMessageEvent,\n\tDeferredHandle,\n\tImageContent,\n\tMessage as ModelMessage,\n\tModel as ModelOf,\n\tTextContent,\n\tToolCall,\n\tToolResultMessage,\n\tUserMessage,\n} from \"@draht/ai\";\nimport type { JsonValue as ChordJsonValue, Context, JsonRepresentation } from \"@draht/chord\";\nimport type { Op } from \"@draht/chord/delta\";\nimport type { Static, TSchema } from \"typebox\";\nimport type { ThinkingLevel } from \"../../types.ts\";\nimport type { SectionRegistry, SectionSeed, ToolRegistry } from \"./system.ts\";\n\n// ---------------------------------------------------------------------------\n// Strict durable JSON\n// ---------------------------------------------------------------------------\n\nexport type JsonPrimitive = string | number | boolean | null;\nexport type JsonValue = ChordJsonValue;\n/** Optional properties represent absent keys; committed values are normalized through JSON serialization. */\nexport type JsonObject = { [key: string]: JsonValue };\n\n/** Coerce an in-memory value (e.g. a pi-ai message) to its stored representation. */\nexport const toStored = <T>(value: T): Stored<T> => JSON.parse(JSON.stringify(value)) as Stored<T>;\n\n/**\n * The JSON representation of a value: what survives `JSON.parse(JSON.stringify(v))`.\n * Optional keys stay optional; `undefined` values vanish; functions are never durable.\n * Use for imported pi-ai types at durable positions.\n */\nexport type Stored<T> = JsonRepresentation<T>;\n\nexport type Id = number;\nexport type Seq = number;\n\n/** Compile-time assertion helper. */\nexport type Assert<T extends true> = T;\n/** True iff T is strict JSON (structurally). */\nexport type IsJson<T> = [T] extends [JsonValue] ? true : false;\n\n// ---------------------------------------------------------------------------\n// Records\n// ---------------------------------------------------------------------------\n\nexport interface Conversation {\n\treadonly id: Id;\n\treadonly parent?: { readonly conversationId: Id; readonly at: Id };\n\treadonly owner?: Id; // task that created it\n\t/** §8.1 section seed: applied by preparation while the conversation has no local managed entry. Private: not in ConversationView. */\n\treadonly sections?: readonly SectionSeed[];\n}\n\n/**\n * System instructions and the tool loadout ride inside `messages` (pi-ai PR #9116, shimmed\n * here until it lands): a SystemMessage at its historical position.\n */\nexport interface SystemMessage {\n\trole: \"system\";\n\tcontent: string;\n\ttoolsAdded?: { name: string; description: string; parameters: TSchema }[];\n\ttoolsRemoved?: { name: string }[];\n\ttimestamp: number;\n}\nexport type Message = ModelMessage | SystemMessage;\nexport type StoredMessage = Stored<Message>;\nexport type Model = ModelOf<Api>;\n\nexport interface ContextEdit {\n\treadonly target: Id;\n\treadonly action: \"omit\" | \"replace\";\n\treadonly messages?: readonly StoredMessage[];\n}\n\nexport interface Entry {\n\treadonly id: Id;\n\treadonly conversationId: Id;\n\treadonly kind: string;\n\treadonly model?: readonly StoredMessage[]; // what the model sees; absent = display/bookkeeping only\n\treadonly data?: JsonObject;\n\treadonly head?: Id; // context starts here (may be a parent's entry). Assigned by the kernel; `self` in NewEntry\n\treadonly edits?: readonly ContextEdit[];\n\treadonly byTaskId?: Id;\n}\nexport type NewEntry = Omit<Entry, \"id\" | \"conversationId\" | \"byTaskId\" | \"head\"> & { readonly head?: Id | \"self\" };\n\n/** A typed witness for an entry kind: `is()` narrows, and typed writes take `EntryInput<E>`. */\nexport interface EntryKind<E extends Entry = Entry> {\n\treadonly kind: string;\n\tis(entry: Entry | undefined): entry is E;\n}\nexport type EntryInput<E extends Entry> = Omit<E, \"id\" | \"conversationId\" | \"kind\" | \"byTaskId\" | \"head\"> &\n\t(E extends { readonly head: Id } ? { readonly head: Id | \"self\" } : { readonly head?: never });\nexport function defineEntry<E extends Entry>(kind: string): EntryKind<E> {\n\tif (kind.startsWith(\"pi.\")) throw new Error(`entry kind names beginning with \"pi.\" are reserved: ${kind}`);\n\treturn Object.freeze({ kind, is: (entry: Entry | undefined): entry is E => entry?.kind === kind });\n}\n\nexport type Checkpoint = JsonObject & { readonly phase: string };\n\nexport type Completion<R extends JsonValue = JsonValue, F extends JsonValue = JsonValue> =\n\t| { readonly status: \"completed\"; readonly result: R }\n\t| { readonly status: \"failed\"; readonly failure: F };\nexport type Outcome<R extends JsonValue = JsonValue, F extends JsonValue = JsonValue, A extends JsonValue = JsonValue> =\n\t| Completion<R, F>\n\t| { readonly status: \"aborted\"; readonly result: A }\n\t| { readonly status: \"orphaned\" }\n\t/** The kind broke its contract (a handler threw or returned an invalid shape). Not one of its declared failures. */\n\t| { readonly status: \"faulted\"; readonly error: string };\n\nexport interface Task<I extends JsonValue = JsonValue, C extends Checkpoint = Checkpoint> {\n\treadonly id: Id;\n\treadonly conversationId: Id;\n\treadonly kind: string;\n\treadonly input: I;\n\treadonly status: \"pending\" | \"running\" | \"terminal\";\n\treadonly checkpoint?: C;\n\treadonly abort?: true; // the durable mark\n\treadonly outcome?: Outcome;\n\treadonly after: readonly Id[];\n\treadonly owns: readonly Id[]; // conversations this task created\n\treadonly background?: true; // does not hold the conversation busy; survives conversation abort\n}\nexport type TaskPatch = { readonly id: Id } & Partial<\n\tOmit<Pick<Task, \"status\" | \"checkpoint\" | \"abort\" | \"outcome\" | \"owns\">, \"checkpoint\">\n> & { checkpoint?: Checkpoint | null };\n\nexport interface Input {\n\treadonly id: Id;\n\treadonly conversationId: Id;\n\treadonly requestId?: string;\n\treadonly status: \"queued\" | \"placed\" | \"done\" | \"unanswered\";\n\treadonly entry?: Id;\n\treadonly answer?: Id;\n\treadonly reason?: \"aborted\" | \"stale\" | \"terminated\" | \"failed\";\n\treadonly detail?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Documents (Chord-tracked). Mutated in place inside a commit, diffed at the end.\n// ---------------------------------------------------------------------------\n\nexport type ModelRef = { provider: string; modelId: string };\nexport type RetryPolicy = { enabled: boolean; maxRetries: number; baseDelayMs: number; maxAgentDelayMs?: number };\n\n/** One running tool call, at the index of its call in the assistant message. */\nexport type ToolSlot = {\n\tcallId: string;\n\tname: string;\n\targs: JsonValue;\n\tstatus: \"pending\" | \"running\" | \"done\" | \"error\" | \"aborted\";\n\twaitingOn?: string;\n\toutput?: string; // bounded stream as it stands\n\tprogress?: string;\n\tdetails?: JsonValue;\n\tcontinuedBy?: Id; // a background task that took the work over; its live state is `tasks[continuedBy]`\n\tentry?: Id;\n\t/** Private task-lifetime coordination state. Never projected into ConversationView. */\n\tmemos?: { [key: string]: JsonValue };\n};\n/** The current turn, shaped for rendering. Reset when a generation starts; cleared when the turn ends. */\nexport type TurnState = {\n\tmessage?: Stored<AssistantMessage>; // streaming assistant message\n\ttools: ToolSlot[]; // tools of the assistant message being executed, by call index\n};\n\n/** Private durable namespace slices stored in authoritative documents. */\nexport type PluginSlices = { [namespace: string]: JsonObject };\n\n/** Rewound by forks: forks see the state as of their fork point. Core config fields come from the built-in kinds' declarations. */\nexport type RewindableState = {\n\tmodel?: ModelRef;\n\tthinkingLevel: ThinkingLevel;\n\tselectedTools: string[];\n\tprofile: string;\n\tthreshold: number;\n\tkeepRecent: number;\n\tplugins: PluginSlices;\n\t[key: string]: JsonValue | undefined; // ordinary kinds' declared config, keyed by their disjoint names\n};\n/** The present. Never folded historically; truncated to its last base. */\nexport type StickyState = {\n\tretry: RetryPolicy;\n\tsteeringMode: \"all\" | \"one-at-a-time\";\n\tfollowUpMode: \"all\" | \"one-at-a-time\";\n\tinbox: QueuedInput[];\n\tturn: TurnState;\n\ttasks: { [taskId: string]: JsonObject }; // non-turn tasks' live slots; retired by the kernel on terminal\n\tplugins: PluginSlices;\n\t[key: string]: JsonValue | undefined;\n};\nexport type SessionState = { plugins: PluginSlices; [key: string]: JsonValue | undefined };\n\nexport type QueuedInput =\n\t| { id: Id; mode: \"steer\" | \"followUp\"; input: Stored<UserInput> }\n\t| { id: Id; mode: \"write\"; entry: Stored<NewEntry> };\n\nexport type DocRef =\n\t| { doc: \"session\" }\n\t| { doc: \"rewindable\"; conversationId: Id }\n\t| { doc: \"sticky\"; conversationId: Id };\n\nexport type NamespaceDefaults<T extends JsonObject> = {\n\treadonly rewindable?: Partial<T>;\n\treadonly sticky?: Partial<T>;\n\treadonly session?: Partial<T>;\n};\n\n/** Current process authority for one durable namespace string. */\nexport interface Namespace<T extends JsonObject = JsonObject> {\n\treadonly id: string;\n\t/** Type-only invariant marker. */\n\treadonly valueType?: (value: T) => T;\n\tunregister(): void;\n}\n\n/** Internal erased registration paired with the public namespace token. */\nexport interface NamespaceRegistration {\n\treadonly token: object;\n\treadonly defaults: { readonly rewindable: JsonObject; readonly sticky: JsonObject; readonly session: JsonObject };\n\treadonly routes: ReadonlyMap<string, DocRef[\"doc\"]>;\n\treadonly project?: (slice: Readonly<JsonObject>) => JsonValue;\n}\n\n/** First writer wins, including when the stored winner is null. */\nexport function memoOnce<T extends JsonValue>(slot: JsonObject, key: string, candidate: T): T {\n\tif (!Object.hasOwn(slot, \"memos\")) slot.memos = {};\n\tconst memos = slot.memos as { [key: string]: JsonValue };\n\tif (Object.hasOwn(memos, key)) return memos[key] as T;\n\tmemos[key] = candidate;\n\treturn candidate;\n}\n\n// ---------------------------------------------------------------------------\n// Configuration facade: every registered kind's `config` merged flat.\n// ---------------------------------------------------------------------------\n\ntype UnionToIntersection<U> = (U extends unknown ? (x: U) => void : never) extends (x: infer I) => void ? I : never;\n/** A declared slice; the undeclared `ConfigShape` (index signature) counts as no keys. */\ntype Declared<S> = string extends keyof S ? object : S;\ntype RewindableOf<K> = K extends unknown\n\t? ConfigOf<K> extends { readonly rewindable: infer RC }\n\t\t? Declared<RC>\n\t\t: object\n\t: never;\ntype StickyOf<K> = K extends unknown\n\t? ConfigOf<K> extends { readonly sticky: infer SC }\n\t\t? Declared<SC>\n\t\t: object\n\t: never;\nexport type ConfigOfKinds<Ks extends readonly AnyKind[]> = UnionToIntersection<\n\tRewindableOf<Ks[number]> | StickyOf<Ks[number]>\n> extends infer M\n\t? { [K in keyof M]: M[K] }\n\t: never;\ntype KeysOfKind<K> = (keyof RewindableOf<K> | keyof StickyOf<K>) & string;\ntype IsUnion<U, C = U> = U extends unknown ? ([C] extends [U] ? false : true) : never;\n/** The kinds declaring `Key`. */\ntype Owners<Ks extends readonly AnyKind[], Key extends string> = {\n\t[I in keyof Ks]: Key extends KeysOfKind<Ks[I]> ? Ks[I] : never;\n}[number];\ntype AllKeys<Ks extends readonly AnyKind[]> = { [I in keyof Ks]: KeysOfKind<Ks[I]> }[number];\ntype ClashingKeys<Ks extends readonly AnyKind[]> = {\n\t[Key in AllKeys<Ks>]: true extends IsUnion<Owners<Ks, Key>> ? Key : never;\n}[AllKeys<Ks>];\n/** `true` iff no two kinds declare the same config key. Asserted at open at compile time and at runtime. */\nexport type DisjointConfig<Ks extends readonly AnyKind[]> = [ClashingKeys<Ks>] extends [never] ? true : false;\n\nexport interface ConfigFacade<Cfg extends object> {\n\tget(ctx: Context): Promise<Readonly<Cfg>>;\n\t/** One commit, routed to the declaring documents. */\n\tset(patch: { [K in keyof Cfg]?: Cfg[K] }, ctx: Context): Promise<void>;\n\t/** Delete persisted overrides. Declared defaults become visible; `model` becomes absent. */\n\treset(keys: readonly (keyof Cfg)[], ctx: Context): Promise<void>;\n}\n\n// ---------------------------------------------------------------------------\n// Storage: six write types, a handful of reads. One owning Session per instance.\n// ---------------------------------------------------------------------------\n\nexport type Write =\n\t| { type: \"conversation\"; conversation: Conversation }\n\t| { type: \"entry\"; entry: Entry }\n\t| { type: \"task\"; task: Task } // create\n\t| { type: \"task.patch\"; patch: TaskPatch } // `checkpoint: null` clears\n\t| { type: \"input\"; input: Input } // create or replace whole\n\t| { type: \"doc\"; ref: DocRef; ops: Op[] };\n\nexport interface EntryScan {\n\tconversationId: Id;\n\tkind?: string;\n\twithHead?: boolean;\n\tbefore?: Id; // strictly less\n\tlimit: number;\n}\nexport interface TaskScan {\n\tconversationId?: Id;\n\tstatus?: Task[\"status\"][];\n\tkind?: string;\n}\n\nexport interface Storage {\n\t/** Persist one batch atomically: all or nothing. Returns the commit sequence. */\n\tcommit(writes: readonly Write[], ctx: Context): Promise<Seq>;\n\tmintId(): Id;\n\tconversation(id: Id, ctx: Context): Promise<Conversation | undefined>;\n\tconversations(ctx: Context): Promise<Conversation[]>;\n\tentries(ids: readonly Id[], ctx: Context): Promise<Map<Id, Entry>>;\n\t/** Newest-first, fork-aware: this conversation's entries, then the parent's up to the fork point, and so on. */\n\tscanEntries(scan: EntryScan, ctx: Context): Promise<Entry[]>;\n\ttask(id: Id, ctx: Context): Promise<Task | undefined>;\n\tscanTasks(scan: TaskScan, ctx: Context): Promise<Task[]>;\n\tinput(id: Id, ctx: Context): Promise<Input | undefined>;\n\tinputByRequest(conversationId: Id, requestId: string, ctx: Context): Promise<Input | undefined>;\n\tdoc(ref: DocRef, ctx: Context): Promise<JsonObject | undefined>;\n\t/** Rewindable doc as of the atomic commit containing entry `at` (fork inheritance). See \"commit-granular history\". */\n\tdocAsOf(conversationId: Id, at: Id, ctx: Context): Promise<JsonObject | undefined>;\n\t/** Rewrite a doc log from its last base. */\n\ttruncate(ref: DocRef, ctx: Context): Promise<void>;\n\tclose(ctx: Context): Promise<void>;\n}\n\n// ---------------------------------------------------------------------------\n// Kinds\n// ---------------------------------------------------------------------------\n\n/** A hook may synchronously or asynchronously omit its replacement value. */\n// biome-ignore lint/suspicious/noConfusingVoidType: void is the intentional callback no-value result\nexport type HookResult<T> = T | void | Promise<T | void>;\n\nexport interface HookApi {\n\treadonly kind: string;\n\treadonly taskId: Id;\n\treadonly conversationId: Id;\n}\n/** Kept as the concise name used by existing kind hook declarations. */\nexport type HookInfo = HookApi;\nexport interface HookBinding<H extends object> {\n\treadonly handlers: Partial<H>;\n\treadonly namespace: Namespace;\n\treadonly api: HookApi;\n}\nexport interface HookRunner<H extends object> {\n\thandlers(): readonly HookBinding<H>[];\n\t/** Call `fn` on each handler; `onValue` sees non-undefined results and may return true to stop. A throwing handler is reported and skipped. */\n\teach<V>(\n\t\tctx: Context,\n\t\tfn: (handlers: Partial<H>, api: HookApi) => HookResult<V>,\n\t\tonValue?: (v: V) => unknown,\n\t): Promise<void>;\n}\n\n/** What a phase handler returns: advance to a checkpoint, or finish. A builder runs on the line and may terminalize or ask to retry. */\nexport type Step<C extends Checkpoint, R extends JsonValue, F extends JsonValue, Tx extends TaskTx = TaskTx> =\n\t| {\n\t\t\treadonly next:\n\t\t\t\t| C\n\t\t\t\t| ((\n\t\t\t\t\t\ttx: Tx,\n\t\t\t\t\t\tcurrent: Task,\n\t\t\t\t\t\tctx: Context,\n\t\t\t\t ) => C | Completion<R, F> | \"retry\" | Promise<C | Completion<R, F> | \"retry\">);\n\t }\n\t| { readonly done: Closure<R, F, Tx> };\nexport type Closure<R extends JsonValue, F extends JsonValue, Tx extends TaskTx = TaskTx> = (\n\ttx: Tx,\n\tcurrent: Task,\n\tctx: Context,\n) => Completion<R, F> | Promise<Completion<R, F>>;\nexport type AbortClosure<A extends JsonValue, Tx extends TaskTx = TaskTx> = (\n\ttx: Tx,\n\tcurrent: Task,\n\tctx: Context,\n) => A | Promise<A>;\n\nexport type CheckpointAt<C extends Checkpoint, P extends C[\"phase\"]> = Extract<C, { readonly phase: P }>;\nexport type PhaseHandler<\n\tI extends JsonValue,\n\tC extends Checkpoint,\n\tP extends C[\"phase\"],\n\tR extends JsonValue,\n\tF extends JsonValue,\n\tH extends object,\n\tTx extends TaskTx = TaskTx,\n> = (\n\ttask: Task<I, CheckpointAt<C, P>> & { readonly checkpoint: CheckpointAt<C, P> },\n\trt: Runtime<H, Tx>,\n\tctx: Context,\n) => Promise<Step<C, R, F, Tx>>;\n\n/** A config slice: JSON values; a key whose default is `undefined` is optional (only `model` among the built-ins). */\nexport type ConfigShape = { [key: string]: JsonValue | undefined };\n/** Per-kind configuration: defaults, split by document. Keys across all kinds must be disjoint. */\nexport interface KindConfig<RC extends ConfigShape = ConfigShape, SC extends ConfigShape = ConfigShape> {\n\treadonly rewindable?: RC;\n\treadonly sticky?: SC;\n}\n\n/** Phantom carrier so `TaskOf<K>` etc. can read a kind's types back out. Never set at runtime. */\nexport interface KindTypes<\n\tI extends JsonValue,\n\tC extends Checkpoint,\n\tR extends JsonValue,\n\tF extends JsonValue,\n\tA extends JsonValue,\n\tH extends object,\n\tCfg extends KindConfig,\n\tS extends JsonObject,\n> {\n\tinput: I;\n\tcheckpoint: C;\n\tresult: R;\n\tfailure: F;\n\taborted: A;\n\thooks: H;\n\tconfig: Cfg;\n\tslot: S;\n}\n\n/**\n * A task kind. `initial` runs when there is no checkpoint; `phases` is exhaustive over\n * `C[\"phase\"]`. Phases named in `inflight` are written by a handler immediately before an\n * external effect and are entered by the scheduler only after reopen; a `next` transition\n * into one is rejected as a contract fault.\n */\nexport interface Kind<\n\tI extends JsonValue = JsonValue,\n\tC extends Checkpoint = Checkpoint,\n\tR extends JsonValue = JsonValue,\n\tF extends JsonValue = JsonValue,\n\tA extends JsonValue = JsonValue,\n\tH extends object = object,\n\tCfg extends KindConfig = KindConfig,\n\tS extends JsonObject = JsonObject,\n\tTx extends TaskTx = TaskTx,\n> {\n\treadonly types?: KindTypes<I, C, R, F, A, H, Cfg, S>;\n\treadonly name: string;\n\t/** A turn kind makes the conversation busy for admission. */\n\treadonly turn?: boolean;\n\treadonly config?: Cfg;\n\t/** Live slot (`sticky.tasks[id]`) initializer. */\n\treadonly slot?: (input: I) => S;\n\t/** Rendering projection for a non-turn task. Raw checkpoints and slots are never published. */\n\treadonly describe?: (task: Task<I, C> & { readonly slot?: Readonly<S> }) => JsonValue;\n\treadonly inflight?: readonly C[\"phase\"][];\n\tinitial(\n\t\ttask: Task<I, never> & { readonly checkpoint?: undefined },\n\t\trt: Runtime<H, Tx>,\n\t\tctx: Context,\n\t): Promise<Step<C, R, F, Tx>>;\n\treadonly phases: { readonly [P in C[\"phase\"]]: PhaseHandler<I, C, P, R, F, H, Tx> };\n\tabort(task: Task<I, C>, rt: Runtime<H, Tx>, ctx: Context): Promise<AbortClosure<A, Tx>>;\n}\n\n/** Internal kind type for fixed core machinery. */\nexport type CoreKind<\n\tI extends JsonValue,\n\tC extends Checkpoint,\n\tR extends JsonValue,\n\tF extends JsonValue,\n\tA extends JsonValue,\n\tH extends object = object,\n\tCfg extends KindConfig = KindConfig,\n\tS extends JsonObject = JsonObject,\n> = Kind<I, C, R, F, A, H, Cfg, S, CoreTx>;\n\n/** Author an ordinary kind. Names may not begin with `pi.`. */\nexport function defineTask<\n\tI extends JsonValue,\n\tC extends Checkpoint,\n\tR extends JsonValue,\n\tF extends JsonValue,\n\tA extends JsonValue,\n\tH extends object = object,\n\tCfg extends KindConfig = KindConfig,\n\tS extends JsonObject = JsonObject,\n>(definition: Kind<I, C, R, F, A, H, Cfg, S>): Kind<I, C, R, F, A, H, Cfg, S> {\n\tif (definition.name.startsWith(\"pi.\"))\n\t\tthrow new Error(`task kind names beginning with \"pi.\" are reserved: ${definition.name}`);\n\treturn Object.freeze({ ...definition });\n}\n\n/**\n * The erased kind the kernel stores. Handlers are invoked through `KindAdapter`, the one\n * place a concrete `Kind<…>` is narrowed to this and its outputs are validated.\n */\nexport interface AnyKind {\n\treadonly types?: unknown;\n\treadonly name: string;\n\treadonly turn?: boolean;\n\treadonly config?: KindConfig;\n\treadonly slot?: (input: never) => JsonObject;\n\treadonly describe?: unknown;\n\treadonly inflight?: readonly string[];\n\treadonly initial: unknown;\n\treadonly phases: { readonly [phase: string]: unknown };\n\treadonly abort: unknown;\n}\n\nexport interface TaskRef<K extends AnyKind = AnyKind> {\n\treadonly id: Id;\n\treadonly kind: K;\n}\nexport interface EntryRef<E extends Entry = Entry> {\n\treadonly id: Id;\n\treadonly kind: EntryKind<E>;\n}\n\ntype TypesOf<K> = K extends { types?: infer T } ? NonNullable<T> : never;\nexport type TaskOf<K> = TypesOf<K> extends KindTypes<\n\tinfer I,\n\tinfer C,\n\tinfer R,\n\tinfer F,\n\tinfer A,\n\tobject,\n\tKindConfig,\n\tJsonObject\n>\n\t? Omit<Task<I, C>, \"outcome\"> & { readonly outcome?: Outcome<R, F, A> }\n\t: never;\nexport type InputOf<K> = TypesOf<K> extends KindTypes<\n\tinfer I,\n\tCheckpoint,\n\tJsonValue,\n\tJsonValue,\n\tJsonValue,\n\tobject,\n\tKindConfig,\n\tJsonObject\n>\n\t? I\n\t: never;\nexport type HooksOf<K> = TypesOf<K> extends KindTypes<\n\tJsonValue,\n\tCheckpoint,\n\tJsonValue,\n\tJsonValue,\n\tJsonValue,\n\tinfer H,\n\tKindConfig,\n\tJsonObject\n>\n\t? H\n\t: never;\nexport type ConfigOf<K> = TypesOf<K> extends KindTypes<\n\tJsonValue,\n\tCheckpoint,\n\tJsonValue,\n\tJsonValue,\n\tJsonValue,\n\tobject,\n\tinfer Cfg,\n\tJsonObject\n>\n\t? Cfg\n\t: never;\nexport type SlotOf<K> = TypesOf<K> extends KindTypes<\n\tJsonValue,\n\tCheckpoint,\n\tJsonValue,\n\tJsonValue,\n\tJsonValue,\n\tobject,\n\tKindConfig,\n\tinfer S\n>\n\t? S\n\t: never;\n\nexport type TaskSpec = {\n\tkind: string;\n\tconversationId?: Id;\n\tinput: JsonValue;\n\tafter?: Id[];\n\tbackground?: true;\n};\n\n// ---------------------------------------------------------------------------\n// Transactions. One implementation; three views.\n// ---------------------------------------------------------------------------\n\nexport interface ConversationSpec {\n\tparent?: { conversationId: Id; at: Id | \"start\" };\n\trewindable?: Partial<RewindableState>;\n\tsticky?: Partial<StickyState>;\n\tsections?: readonly SectionSeed[];\n}\nexport interface OwnedConversationSpec {\n\tinherit?: boolean;\n\trewindable?: Partial<RewindableState>;\n\tsticky?: Partial<StickyState>;\n}\nexport type UserInput = string | UserMessage[\"content\"];\nexport interface SendInput {\n\tcontent: UserInput;\n\trequestId?: string;\n\twhenBusy?: \"steer\" | \"followUp\" | \"reject\";\n}\nexport type ContextView = { head: Entry | undefined; entries: Entry[]; messages: StoredMessage[] };\n\nexport type GenerationStatus =\n\t| { stage: \"waiting\"; on: \"compaction\" }\n\t| { stage: \"preparing\" }\n\t| { stage: \"requesting\"; attempt: number }\n\t| { stage: \"streaming\"; attempt: number }\n\t| { stage: \"retrying\"; attempt: number; retryAt: number; lastError: string }\n\t| { stage: \"deferred\"; attempt: number; pollAt: number };\n\nexport interface TurnView {\n\tinputs: Id[];\n\tgeneration?: GenerationStatus;\n\tmessage?: Stored<AssistantMessage>;\n\ttools: Omit<ToolSlot, \"memos\">[];\n}\n\nexport interface ConversationView {\n\tconversation: Omit<Conversation, \"sections\">;\n\tentries: Entry[];\n\tconfig: { [key: string]: JsonValue | undefined };\n\tinbox: QueuedInput[];\n\tturn?: TurnView;\n\tcompaction?: {\n\t\ttaskId: Id;\n\t\treason: \"threshold\" | \"manual\" | \"overflow\";\n\t\tstage: \"summarizing\" | \"retrying\";\n\t\tattempt: number;\n\t\tretryAt?: number;\n\t};\n\ttasks: { [taskId: string]: { kind: string; background?: true; marked?: true; status: JsonValue } };\n\tplugins: { [namespace: string]: JsonValue };\n}\n\nexport type ViewEvent =\n\t| { type: \"entry.added\"; entry: Entry }\n\t| { type: \"head.moved\"; entry: Entry }\n\t| { type: \"turn.started\"; inputs: Id[] }\n\t| { type: \"turn.ended\"; inputs: Id[]; status: \"done\"; answer: Id }\n\t| {\n\t\t\ttype: \"turn.ended\";\n\t\t\tinputs: Id[];\n\t\t\tstatus: \"unanswered\";\n\t\t\treason: \"terminated\" | \"aborted\" | \"failed\" | \"stale\";\n\t\t\tdetail?: string;\n\t }\n\t| { type: \"input.queued\"; input: Id; mode: \"steer\" | \"followUp\" | \"write\" }\n\t| { type: \"input.placed\"; input: Id; entry: Id }\n\t| { type: \"input.aborted\"; input: Id }\n\t| { type: \"generation.started\"; taskId: Id; attempt: number }\n\t| { type: \"generation.retrying\"; taskId: Id; attempt: number; retryAt: number; error: string }\n\t| { type: \"generation.deferred\"; taskId: Id; pollAt: number }\n\t| { type: \"generation.completed\"; taskId: Id; entry: Id; toolCalls: number }\n\t| {\n\t\t\ttype: \"generation.failed\";\n\t\t\ttaskId: Id;\n\t\t\treason: \"provider\" | \"overflow\" | \"retries_exhausted\" | \"no_model\";\n\t\t\tdetail: string;\n\t\t\tentry?: Id;\n\t }\n\t| { type: \"tool.waiting\"; taskId: Id; callId: string; on: string }\n\t| { type: \"tool.started\"; taskId: Id; callId: string; name: string }\n\t| { type: \"tool.finished\"; taskId: Id; callId: string; entry: Id; isError: boolean; control?: ToolControl }\n\t| { type: \"tool.aborted\"; taskId: Id; callId: string; entry: Id }\n\t| { type: \"compaction.started\"; taskId: Id; reason: \"threshold\" | \"manual\" | \"overflow\"; through: Id }\n\t| { type: \"compaction.retrying\"; taskId: Id; attempt: number; retryAt: number; error: string }\n\t| { type: \"compaction.finished\"; taskId: Id; summary: Id }\n\t| {\n\t\t\ttype: \"compaction.failed\";\n\t\t\ttaskId: Id;\n\t\t\treason: \"stale\" | \"declined\" | \"provider\" | \"retries_exhausted\" | \"no_model\";\n\t\t\tdetail: string;\n\t }\n\t| { type: \"task.started\"; taskId: Id; kind: string; background?: true }\n\t| {\n\t\t\ttype: \"task.ended\";\n\t\t\ttaskId: Id;\n\t\t\tkind: string;\n\t\t\toutcome: \"completed\" | \"failed\" | \"aborted\" | \"orphaned\" | \"faulted\";\n\t }\n\t| { type: \"config.changed\"; keys: string[] }\n\t| { type: \"warning\"; source: string; message: string }\n\t| { type: `plugin.${string}`; data: JsonValue };\n\nexport interface Envelope {\n\treadonly revision: number;\n\treadonly ops: Op[];\n\treadonly events: ViewEvent[];\n}\n\n/** Reads available to every view. Scans reject after a same-batch write to their domain (`ReadAfterWrite`). */\nexport interface TxReads {\n\tconversation(id: Id): Promise<Conversation | undefined>;\n\tentry(id: Id): Promise<Entry | undefined>;\n\tentry<E extends Entry>(kind: EntryKind<E>, id: Id): Promise<E | undefined>;\n\tentries(ids: readonly Id[]): Promise<Map<Id, Entry>>;\n\tnewestEntry(conversationId: Id, opts?: { kind?: string; withHead?: boolean }): Promise<Entry | undefined>;\n\tnewestEntry<E extends Entry>(conversationId: Id, kind: EntryKind<E>): Promise<E | undefined>;\n\tscanEntries(scan: EntryScan): Promise<Entry[]>;\n\tcontext(conversationId: Id, at?: Id): Promise<ContextView>;\n\ttask(id: Id): Promise<Task | undefined>;\n\ttask<K extends AnyKind>(ref: TaskRef<K>): Promise<TaskOf<K> | undefined>;\n\ttasks(scan: TaskScan): Promise<Task[]>;\n\tinput(id: Id): Promise<Input | undefined>;\n\trewindableAsOf(conversationId: Id, at: Id): Promise<RewindableState | undefined>;\n\t/** Plain copies. Document proxies cannot escape a transaction. */\n\tsnapshot(ref: { doc: \"rewindable\"; conversationId: Id }): RewindableState;\n\tsnapshot(ref: { doc: \"sticky\"; conversationId: Id }): StickyState;\n\tsnapshot(ref: { doc: \"session\" }): SessionState;\n}\n\ninterface SharedTx extends TxReads {\n\tplugins<T extends JsonObject>(namespace: Namespace<T>): T;\n\temit<T extends JsonObject>(namespace: Namespace<T>, name: string, data: JsonValue): void;\n\tconfig(conversationId: Id): { get<K extends string>(key: K): JsonValue | undefined };\n\t/** Passive entry: queued when busy, appended when idle. Returns the input id. */\n\twrite(conversationId: Id, entry: NewEntry): Promise<Id>;\n\twrite<E extends Entry>(conversationId: Id, kind: EntryKind<E>, entry: EntryInput<E>): Promise<Id>;\n\tcreateTask<K extends AnyKind>(\n\t\tkind: K,\n\t\tinput: InputOf<K>,\n\t\topts?: { conversationId?: Id; background?: true; after?: Id[] },\n\t): TaskRef<K>;\n\tcreateConversation(spec: ConversationSpec): Id;\n}\n\n/** What the host gets. */\nexport interface HostTx extends SharedTx {\n\t/** Config through the facade; raw core fields are not exposed to the host tx. */\n\tconfig(conversationId: Id): {\n\t\tget<K extends string>(key: K): JsonValue | undefined;\n\t\tset(key: string, value: JsonValue): void;\n\t\treset(key: string): void;\n\t};\n}\n\n/** What an ordinary task gets: scoped shared operations plus its own checkpoint and slot. */\nexport interface TaskTx extends SharedTx {\n\tcheckpoint<C extends Checkpoint>(value: C): void;\n\tslot<K extends AnyKind>(ref: TaskRef<K>): SlotOf<K>;\n\t/** Create a conversation this task owns. `parent` must be in the task's subtree. */\n\tcreateConversation(spec: ConversationSpec): Id;\n}\n\n/** Internal full authority for the fixed turn machinery. Never handed to ordinary kinds or the host. */\nexport interface CoreTx extends TaskTx {\n\temit<T extends JsonObject>(namespace: Namespace<T>, name: string, data: JsonValue): void;\n\temit(event: ViewEvent): void;\n\trewindable(conversationId: Id): RewindableState;\n\tsticky(conversationId: Id): StickyState;\n\tsession(): SessionState;\n\ttoolSlot(task: { conversationId: Id; input: { index: number } }): ToolSlot;\n\tappendEntry(conversationId: Id, entry: NewEntry): Id;\n\tappendEntry<E extends Entry>(conversationId: Id, kind: EntryKind<E>, entry: EntryInput<E>): EntryRef<E>;\n\tcreateTask(spec: TaskSpec): Id;\n\tcreateTask<K extends AnyKind>(\n\t\tkind: K,\n\t\tinput: InputOf<K>,\n\t\topts?: { conversationId?: Id; background?: true; after?: Id[] },\n\t): TaskRef<K>;\n\tsend(conversationId: Id, input: SendInput): Promise<Id>;\n\tresolveInputs(\n\t\tids: readonly Id[],\n\t\tresolution:\n\t\t\t| { status: \"done\"; answer: Id }\n\t\t\t| { status: \"unanswered\"; reason: NonNullable<Input[\"reason\"]>; detail?: string },\n\t): Promise<void>;\n\t/** Inbox placement at a safe boundary. `headBoundary`: the newest head as the caller knows it (including a same-batch self-head it appended). */\n\tboundary(\n\t\tconversationId: Id,\n\t\tat: \"postTools\" | \"final\",\n\t\theadBoundary: Id | undefined,\n\t): Promise<{ triggers: Id[]; terminated: boolean }>;\n\t/** Internal owned-conversation path. Sanitizes caller overrides while preserving inherited rewindable namespace slices. */\n\tcreateOwnedConversation(ownerTaskId: Id, sourceConversationId: Id, spec: OwnedConversationSpec): Promise<Id>;\n\t/** Internal host-fork path for an already validated historical snapshot. */\n\tcreateForkConversation(spec: ConversationSpec): Id;\n\tmarkTask(id: Id): void;\n}\n\n/** Thrown when a scan-shaped read follows a same-batch write to its domain. Poisons the transaction. */\nexport class ReadAfterWrite extends Error {\n\tconstructor(read: string, write: string) {\n\t\tsuper(`${read} after ${write} in the same transaction: the answer would not include the buffered write`);\n\t\tthis.name = \"ReadAfterWrite\";\n\t}\n}\n\n// ---------------------------------------------------------------------------\n// Runtime: what a kind's handlers get. Every commit checks the invocation token.\n// ---------------------------------------------------------------------------\n\nexport interface RequestOptions {\n\tmessages: StoredMessage[];\n\tthinkingLevel: ThinkingLevel;\n}\nexport interface Models {\n\tresolve(ref: ModelRef): Model | undefined;\n\tstream(model: Model, request: RequestOptions, ctx: Context): AsyncIterable<AssistantMessageEvent>;\n\tfetchDeferred(\n\t\tmodel: Model,\n\t\thandle: DeferredHandle,\n\t\tctx: Context,\n\t): Promise<AssistantMessage | { deferred: DeferredHandle }>;\n\tcancelDeferred(model: Model, handle: DeferredHandle, ctx: Context): Promise<void>;\n}\n\nexport interface Runtime<H extends object = object, Tx extends TaskTx = TaskTx> {\n\treadonly taskId: Id;\n\treadonly conversationId: Id;\n\treadonly kind: AnyKind;\n\tcommit<T>(fn: (tx: Tx, current: Task, ctx: Context) => T | Promise<T>, ctx: Context): Promise<T>;\n\treadonly hooks: HookRunner<H>;\n\treadonly models: Models;\n\treadonly tools: ReadonlyMap<string, ToolDeclaration>;\n\treadonly registries: { sections: SectionRegistry; tools: ToolRegistry };\n\treadonly kinds: ReadonlyMap<string, AnyKind>;\n\treadonly processHost: ProcessHost | undefined;\n\treadonly plugins: ReadonlyMap<string, PluginHandler>;\n\tnow(): number;\n\tsleep(untilMs: number, ctx: Context): Promise<void>;\n\twaitForInput(id: Id, ctx: Context): Promise<Input>;\n\twaitForTask(id: Id, ctx: Context): Promise<Task>;\n\tabortTask(id: Id, ctx: Context): Promise<\"marked\" | \"terminal\">;\n\tabortConversation(id: Id, ctx: Context): Promise<void>;\n\tcreateOwnedConversation(spec: OwnedConversationSpec, ctx: Context): Promise<Id>;\n\t/** Admission for a conversation owned by this task; the runtime verifies ownership before invoking the kernel. */\n\tsendOwned(conversationId: Id, input: SendInput, ctx: Context): Promise<Id>;\n\t// off-line reads\n\tcontext(conversationId: Id, at: Id | undefined, ctx: Context): Promise<ContextView>;\n\tnewestEntry(\n\t\tconversationId: Id,\n\t\topts: { kind?: string; withHead?: boolean },\n\t\tctx: Context,\n\t): Promise<Entry | undefined>;\n\trewindable(conversationId: Id, ctx: Context): Promise<RewindableState>;\n\tsticky(conversationId: Id, ctx: Context): Promise<StickyState>;\n\trewindableAsOf(conversationId: Id, at: Id, ctx: Context): Promise<RewindableState | undefined>;\n}\n\n// ---------------------------------------------------------------------------\n// Tools\n// ---------------------------------------------------------------------------\n\nexport type ToolControl = { terminate?: true; handoff?: string; addTools?: string[] };\nexport interface ToolDiagnostic {\n\tseverity: \"info\" | \"warn\" | \"error\";\n\tmessage: string;\n\tcode?: string;\n}\nexport interface ToolResult {\n\t/** Omit when the tool streamed through `api.stream`: the bounded stream is the content. */\n\tcontent?: (TextContent | ImageContent)[];\n\tisError?: boolean;\n\tdetails?: JsonValue;\n\tdiagnostics?: ToolDiagnostic[];\n\tcontrol?: ToolControl;\n}\nexport interface ToolDeclaration<P extends TSchema = TSchema> {\n\treadonly name: string;\n\treadonly description: string;\n\treadonly parameters: P;\n\treadonly replay?: \"safe\" | \"unsafe\"; // default unsafe\n\treadonly output?: { maxBytes?: number; maxLines?: number; retain?: \"head\" | \"tail\" };\n\texecute(args: Static<P>, api: ToolApi, ctx: Context): Promise<ToolResult>;\n}\n/** Erased declaration held by the registry. */\nexport type AnyToolDeclaration = ToolDeclaration<TSchema>;\n\n/** The narrow handle a task gets to a conversation it owns. */\nexport interface OwnedConversation {\n\treadonly id: Id;\n\tsend(\n\t\tinput: SendInput,\n\t\tctx: Context,\n\t): Promise<{ id: Id; wait(ctx: Context): Promise<Input>; result(ctx: Context): Promise<Input | undefined> }>;\n\tabort(ctx: Context): Promise<void>;\n}\n\nexport interface BeforeToolApi extends HookApi {\n\treadonly callId: string;\n\twaiting(ctx: Context): Promise<void>;\n\tmemo<T extends JsonValue>(name: string, candidate: T, ctx: Context): Promise<T>;\n\tmemo<T extends JsonValue>(name: string, ctx: Context): Promise<T | undefined>;\n\temit(name: string, data: JsonValue, ctx: Context): Promise<void>;\n}\n\nexport interface ToolApi {\n\treadonly taskId: Id;\n\treadonly conversationId: Id;\n\treadonly callId: string;\n\t/** Pipe raw output here. The kernel bounds it per the declaration, flushes it on a throttle, and uses it as the result content unless the tool returns its own. Synchronous. */\n\tstream(chunk: string | Uint8Array): void;\n\t/** Mutate the live slot's free fields (`progress`, `details`, `continuedBy`). Identity fields are protected. */\n\tprogress(\n\t\tupdate: (slot: Pick<ToolSlot, \"progress\" | \"details\" | \"continuedBy\">) => void,\n\t\tctx: Context,\n\t): Promise<void>;\n\tmemo<T extends JsonValue>(name: string, candidate: T, ctx: Context): Promise<T>;\n\tmemo<T extends JsonValue>(name: string, ctx: Context): Promise<T | undefined>;\n\tconversation(spec: OwnedConversationSpec, ctx: Context): Promise<OwnedConversation>;\n\ttask<K extends AnyKind>(\n\t\tkind: K,\n\t\tinput: InputOf<K>,\n\t\topts: { background?: true; after?: Id[] },\n\t\tctx: Context,\n\t): Promise<TaskRef<K>>;\n\tgetTask<K extends AnyKind>(ref: TaskRef<K>, ctx: Context): Promise<TaskOf<K> | undefined>;\n\twaitForTask<K extends AnyKind>(ref: TaskRef<K>, ctx: Context): Promise<TaskOf<K>>;\n\t/** Snapshot of another task's live slot (in this task's conversation or subtree). */\n\tslot<K extends AnyKind>(ref: TaskRef<K>, ctx: Context): Promise<SlotOf<K> | undefined>;\n}\n\nexport interface ProcessSpec {\n\tcommand: string;\n\targs: string[];\n\tcwd: string;\n\tenv?: { [key: string]: string };\n}\nexport type ProcessStatus =\n\t| { status: \"running\"; stdout: string; stderr: string; droppedStdout: number; droppedStderr: number }\n\t| {\n\t\t\tstatus: \"exited\";\n\t\t\texitCode: number;\n\t\t\tstdout: string;\n\t\t\tstderr: string;\n\t\t\tdroppedStdout: number;\n\t\t\tdroppedStderr: number;\n\t }\n\t| { status: \"unknown\" };\nexport interface ProcessHost {\n\tstart(key: string, spec: ProcessSpec, ctx: Context): Promise<void>;\n\tstatus(key: string, ctx: Context): Promise<ProcessStatus>;\n\tkill(key: string, signal: \"SIGTERM\" | \"SIGKILL\", ctx: Context): Promise<void>;\n}\n\nexport type PluginHandler = (input: JsonValue, api: ToolApi, ctx: Context) => Promise<JsonValue>;\n\n// ---------------------------------------------------------------------------\n// Invocation tokens and invokers\n// ---------------------------------------------------------------------------\n\n/** An unforgeable capability: only the scheduler creates these, one per invocation. */\nexport class InvocationToken {\n\t#alive = true;\n\treadonly taskId: Id;\n\treadonly mode: \"run\" | \"abort\";\n\tconstructor(taskId: Id, mode: \"run\" | \"abort\") {\n\t\tthis.taskId = taskId;\n\t\tthis.mode = mode;\n\t}\n\tget alive() {\n\t\treturn this.#alive;\n\t}\n\t/** Called by the scheduler when the invocation returns. */\n\trevoke() {\n\t\tthis.#alive = false;\n\t}\n}\n\nexport type Invoker =\n\t| { readonly type: \"host\"; readonly conversationId?: Id }\n\t/** Harness internals acting with core authority (send, reset, abort, retire). Never exported. */\n\t| { readonly type: \"kernel\"; readonly conversationId?: Id }\n\t| {\n\t\t\treadonly type: \"task\";\n\t\t\treadonly token: InvocationToken;\n\t\t\treadonly id: Id;\n\t\t\treadonly conversationId: Id;\n\t\t\treadonly kind: AnyKind;\n\t\t\treadonly core: boolean;\n\t\t\treadonly mode: \"run\" | \"abort\";\n\t };\n\n// ---------------------------------------------------------------------------\n// Errors\n// ---------------------------------------------------------------------------\n\nexport class Forbidden extends Error {\n\tconstructor(what: string) {\n\t\tsuper(`forbidden: ${what}`);\n\t\tthis.name = \"Forbidden\";\n\t}\n}\nexport class ConversationBusy extends Error {\n\tconstructor(id: Id) {\n\t\tsuper(`conversation ${id} is busy`);\n\t\tthis.name = \"ConversationBusy\";\n\t}\n}\nexport class GenerationInProgress extends Error {\n\tconstructor(id: Id) {\n\t\tsuper(`conversation ${id} already has a live generation`);\n\t\tthis.name = \"GenerationInProgress\";\n\t}\n}\nexport class CollapseInProgress extends Error {\n\tconstructor(id: Id) {\n\t\tsuper(`conversation ${id} already has a live collapse`);\n\t\tthis.name = \"CollapseInProgress\";\n\t}\n}\nexport class Faulted extends Error {\n\tconstructor(cause: unknown) {\n\t\tsuper(`Session faulted: ${String(cause)}`);\n\t\tthis.name = \"Faulted\";\n\t}\n}\nexport class Closed extends Error {\n\tconstructor() {\n\t\tsuper(\"Session is closed\");\n\t\tthis.name = \"Closed\";\n\t}\n}\nexport class TaskContractFault extends Error {\n\tconstructor(kind: string, what: string) {\n\t\tsuper(`kind ${kind} broke its contract: ${what}`);\n\t\tthis.name = \"TaskContractFault\";\n\t}\n}\n\nexport type { ToolCall, ToolResultMessage, AssistantMessage, UserMessage, DeferredHandle, ThinkingLevel };\nexport type RequestMessage = StoredMessage;\n"]}
@@ -1,34 +0,0 @@
1
- import type { CommitResult, Session } from "./session.ts";
2
- import type { Conversation, ConversationView, Envelope } from "./types.ts";
3
- export declare const WATCH_CAPACITY = 256;
4
- export interface Watch {
5
- readonly view: ConversationView;
6
- readonly revision: number;
7
- readonly closed: boolean;
8
- start(listener: (envelope: Envelope) => void): void;
9
- stop(): void;
10
- }
11
- export declare function applyEnvelope(view: ConversationView, envelope: Envelope): ConversationView;
12
- export declare class ViewManager {
13
- private readonly records;
14
- private readonly deliveries;
15
- private readonly session;
16
- private readonly onReport;
17
- constructor(session: Session, onReport: (error: unknown) => void);
18
- watch(conversation: Conversation, entries: EntryList): Watch;
19
- /** Runs on the Session line after persistence and in-memory indexes update. */
20
- update(result: CommitResult<unknown>): void;
21
- /** Runs after the Session line; listeners are synchronous and ordered. */
22
- deliver(): void;
23
- close(): void;
24
- private build;
25
- private document;
26
- private config;
27
- private turn;
28
- private compaction;
29
- private tasks;
30
- private plugins;
31
- }
32
- type EntryList = ConversationView["entries"];
33
- export {};
34
- //# sourceMappingURL=view.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/harness/pico3/view.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAEX,YAAY,EACZ,gBAAgB,EAEhB,QAAQ,EAWR,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,MAAM,WAAW,KAAK;IACrB,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI,CAAC;IACpD,IAAI,IAAI,IAAI,CAAC;CACb;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,GAAG,gBAAgB,CAE1F;AAWD,qBAAa,WAAW;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IAEpD,YAAY,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,EAG/D;IAED,KAAK,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,GAAG,KAAK,CAe3D;IAED,+EAA+E;IAC/E,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI,CA4D1C;IAED,0EAA0E;IAC1E,OAAO,IAAI,IAAI,CAId;IAED,KAAK,IAAI,IAAI,CAKZ;IAED,OAAO,CAAC,KAAK;IAiBb,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,IAAI;IAmBZ,OAAO,CAAC,UAAU;IAoBlB,OAAO,CAAC,KAAK;IAsBb,OAAO,CAAC,OAAO;CAiBf;AAED,KAAK,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC"}