@kvman/kvcoder 0.1.6 → 0.1.7

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 (384) hide show
  1. package/dist/api.d.ts +49 -3
  2. package/dist/api.d.ts.map +1 -1
  3. package/dist/calls/run-shell.d.ts.map +1 -1
  4. package/dist/calls/run-shell.js +39 -9
  5. package/dist/calls/run-shell.js.map +1 -1
  6. package/dist/connector-call.d.ts +1 -1
  7. package/dist/connector-call.d.ts.map +1 -1
  8. package/dist/connector-call.js +4 -2
  9. package/dist/connector-call.js.map +1 -1
  10. package/dist/connectors/artifact.d.ts +1 -1
  11. package/dist/connectors/artifact.d.ts.map +1 -1
  12. package/dist/connectors/artifact.js +4 -4
  13. package/dist/connectors/artifact.js.map +1 -1
  14. package/dist/connectors/ask.d.ts +24 -0
  15. package/dist/connectors/ask.d.ts.map +1 -1
  16. package/dist/connectors/ask.js +20 -11
  17. package/dist/connectors/ask.js.map +1 -1
  18. package/dist/connectors/background.d.ts +14 -1
  19. package/dist/connectors/background.d.ts.map +1 -1
  20. package/dist/connectors/background.js +53 -23
  21. package/dist/connectors/background.js.map +1 -1
  22. package/dist/connectors/builtin-connectors.d.ts +110 -0
  23. package/dist/connectors/builtin-connectors.d.ts.map +1 -1
  24. package/dist/connectors/builtin-connectors.js +4 -1
  25. package/dist/connectors/builtin-connectors.js.map +1 -1
  26. package/dist/connectors/delegate.d.ts +3 -2
  27. package/dist/connectors/delegate.d.ts.map +1 -1
  28. package/dist/connectors/delegate.js +27 -9
  29. package/dist/connectors/delegate.js.map +1 -1
  30. package/dist/connectors/execution-map.d.ts +62 -0
  31. package/dist/connectors/execution-map.d.ts.map +1 -0
  32. package/dist/connectors/execution-map.js +142 -0
  33. package/dist/connectors/execution-map.js.map +1 -0
  34. package/dist/connectors/fs.d.ts +32 -1
  35. package/dist/connectors/fs.d.ts.map +1 -1
  36. package/dist/connectors/fs.js +76 -45
  37. package/dist/connectors/fs.js.map +1 -1
  38. package/dist/connectors/mcp.d.ts +18 -1
  39. package/dist/connectors/mcp.d.ts.map +1 -1
  40. package/dist/connectors/mcp.js +54 -6
  41. package/dist/connectors/mcp.js.map +1 -1
  42. package/dist/connectors/payload-fields.d.ts.map +1 -1
  43. package/dist/connectors/payload-fields.js +1 -1
  44. package/dist/connectors/payload-fields.js.map +1 -1
  45. package/dist/delegate/approved-run.d.ts +4 -6
  46. package/dist/delegate/approved-run.d.ts.map +1 -1
  47. package/dist/delegate/approved-run.js +74 -34
  48. package/dist/delegate/approved-run.js.map +1 -1
  49. package/dist/delegate/git-staging.d.ts +12 -0
  50. package/dist/delegate/git-staging.d.ts.map +1 -0
  51. package/dist/delegate/git-staging.js +54 -0
  52. package/dist/delegate/git-staging.js.map +1 -0
  53. package/dist/delegate/permission.d.ts +240 -0
  54. package/dist/delegate/permission.d.ts.map +1 -0
  55. package/dist/delegate/permission.js +78 -0
  56. package/dist/delegate/permission.js.map +1 -0
  57. package/dist/delegate/program-permission.d.ts +27 -0
  58. package/dist/delegate/program-permission.d.ts.map +1 -0
  59. package/dist/delegate/program-permission.js +53 -0
  60. package/dist/delegate/program-permission.js.map +1 -0
  61. package/dist/delegate/register-worker-run.d.ts.map +1 -1
  62. package/dist/delegate/register-worker-run.js +27 -11
  63. package/dist/delegate/register-worker-run.js.map +1 -1
  64. package/dist/delegate/run-program.d.ts.map +1 -1
  65. package/dist/delegate/run-program.js +29 -8
  66. package/dist/delegate/run-program.js.map +1 -1
  67. package/dist/delegate/runs.d.ts +14 -4
  68. package/dist/delegate/runs.d.ts.map +1 -1
  69. package/dist/delegate/runs.js +49 -19
  70. package/dist/delegate/runs.js.map +1 -1
  71. package/dist/delegate/staging-guard.d.ts +9 -0
  72. package/dist/delegate/staging-guard.d.ts.map +1 -0
  73. package/dist/delegate/staging-guard.js +55 -0
  74. package/dist/delegate/staging-guard.js.map +1 -0
  75. package/dist/delegate/start-background.d.ts +7 -0
  76. package/dist/delegate/start-background.d.ts.map +1 -0
  77. package/dist/delegate/start-background.js +32 -0
  78. package/dist/delegate/start-background.js.map +1 -0
  79. package/dist/delegate/start-pending.d.ts +5 -0
  80. package/dist/delegate/start-pending.d.ts.map +1 -0
  81. package/dist/delegate/start-pending.js +42 -0
  82. package/dist/delegate/start-pending.js.map +1 -0
  83. package/dist/delegate/workers.d.ts +5 -2
  84. package/dist/delegate/workers.d.ts.map +1 -1
  85. package/dist/delegate/workers.js +44 -8
  86. package/dist/delegate/workers.js.map +1 -1
  87. package/dist/files/file-change.d.ts +28 -0
  88. package/dist/files/file-change.d.ts.map +1 -0
  89. package/dist/files/file-change.js +125 -0
  90. package/dist/files/file-change.js.map +1 -0
  91. package/dist/files/file-parts.d.ts +18 -0
  92. package/dist/files/file-parts.d.ts.map +1 -0
  93. package/dist/files/file-parts.js +40 -0
  94. package/dist/files/file-parts.js.map +1 -0
  95. package/dist/files/read-file.d.ts +9 -1
  96. package/dist/files/read-file.d.ts.map +1 -1
  97. package/dist/files/read-file.js +35 -13
  98. package/dist/files/read-file.js.map +1 -1
  99. package/dist/files/search-text.d.ts +12 -2
  100. package/dist/files/search-text.d.ts.map +1 -1
  101. package/dist/files/search-text.js +87 -23
  102. package/dist/files/search-text.js.map +1 -1
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +4 -0
  105. package/dist/index.js.map +1 -1
  106. package/dist/jobs/job-rows.d.ts +11 -2
  107. package/dist/jobs/job-rows.d.ts.map +1 -1
  108. package/dist/jobs/job-rows.js +24 -13
  109. package/dist/jobs/job-rows.js.map +1 -1
  110. package/dist/jobs/process-handlers.d.ts.map +1 -1
  111. package/dist/jobs/process-handlers.js +12 -1
  112. package/dist/jobs/process-handlers.js.map +1 -1
  113. package/dist/jobs/process-report.d.ts.map +1 -1
  114. package/dist/jobs/process-report.js +2 -1
  115. package/dist/jobs/process-report.js.map +1 -1
  116. package/dist/jobs/process-run.d.ts.map +1 -1
  117. package/dist/jobs/process-run.js +2 -1
  118. package/dist/jobs/process-run.js.map +1 -1
  119. package/dist/jobs/register-jobs.d.ts.map +1 -1
  120. package/dist/jobs/register-jobs.js +1 -0
  121. package/dist/jobs/register-jobs.js.map +1 -1
  122. package/dist/maps/map-reminder.d.ts +7 -0
  123. package/dist/maps/map-reminder.d.ts.map +1 -0
  124. package/dist/maps/map-reminder.js +24 -0
  125. package/dist/maps/map-reminder.js.map +1 -0
  126. package/dist/maps/map-rules.d.ts +36 -0
  127. package/dist/maps/map-rules.d.ts.map +1 -0
  128. package/dist/maps/map-rules.js +86 -0
  129. package/dist/maps/map-rules.js.map +1 -0
  130. package/dist/maps/map-schema.d.ts +55 -0
  131. package/dist/maps/map-schema.d.ts.map +1 -0
  132. package/dist/maps/map-schema.js +27 -0
  133. package/dist/maps/map-schema.js.map +1 -0
  134. package/dist/maps/register-maps.d.ts +3 -0
  135. package/dist/maps/register-maps.d.ts.map +1 -0
  136. package/dist/maps/register-maps.js +21 -0
  137. package/dist/maps/register-maps.js.map +1 -0
  138. package/dist/mcp/connect.d.ts +2 -0
  139. package/dist/mcp/connect.d.ts.map +1 -1
  140. package/dist/mcp/connect.js +16 -4
  141. package/dist/mcp/connect.js.map +1 -1
  142. package/dist/mcp/oauth-provider.d.ts +8 -5
  143. package/dist/mcp/oauth-provider.d.ts.map +1 -1
  144. package/dist/mcp/oauth-provider.js +31 -22
  145. package/dist/mcp/oauth-provider.js.map +1 -1
  146. package/dist/mcp/secrets.d.ts +2 -0
  147. package/dist/mcp/secrets.d.ts.map +1 -1
  148. package/dist/mcp/secrets.js +6 -0
  149. package/dist/mcp/secrets.js.map +1 -1
  150. package/dist/mcp/sign-in.d.ts.map +1 -1
  151. package/dist/mcp/sign-in.js +12 -4
  152. package/dist/mcp/sign-in.js.map +1 -1
  153. package/dist/messages/receive-message.d.ts +2 -1
  154. package/dist/messages/receive-message.d.ts.map +1 -1
  155. package/dist/messages/receive-message.js +34 -9
  156. package/dist/messages/receive-message.js.map +1 -1
  157. package/dist/messages/register-messages.d.ts.map +1 -1
  158. package/dist/messages/register-messages.js +13 -8
  159. package/dist/messages/register-messages.js.map +1 -1
  160. package/dist/messages/send-receipt.d.ts +10 -0
  161. package/dist/messages/send-receipt.d.ts.map +1 -0
  162. package/dist/messages/send-receipt.js +14 -0
  163. package/dist/messages/send-receipt.js.map +1 -0
  164. package/dist/prompt/build-prompt.d.ts +1 -0
  165. package/dist/prompt/build-prompt.d.ts.map +1 -1
  166. package/dist/prompt/build-prompt.js +5 -1
  167. package/dist/prompt/build-prompt.js.map +1 -1
  168. package/dist/prompt/project-rules.d.ts +6 -0
  169. package/dist/prompt/project-rules.d.ts.map +1 -0
  170. package/dist/prompt/project-rules.js +37 -0
  171. package/dist/prompt/project-rules.js.map +1 -0
  172. package/dist/prompt/session-grants.d.ts +209 -0
  173. package/dist/prompt/session-grants.d.ts.map +1 -0
  174. package/dist/prompt/session-grants.js +50 -0
  175. package/dist/prompt/session-grants.js.map +1 -0
  176. package/dist/prompt/session-prompt.d.ts +3 -2
  177. package/dist/prompt/session-prompt.d.ts.map +1 -1
  178. package/dist/prompt/session-prompt.js +24 -40
  179. package/dist/prompt/session-prompt.js.map +1 -1
  180. package/dist/prompt/working-method.d.ts.map +1 -1
  181. package/dist/prompt/working-method.js +22 -16
  182. package/dist/prompt/working-method.js.map +1 -1
  183. package/dist/register-settings.d.ts +3 -1
  184. package/dist/register-settings.d.ts.map +1 -1
  185. package/dist/register-settings.js +5 -4
  186. package/dist/register-settings.js.map +1 -1
  187. package/dist/registry/register-connectors.d.ts +9 -0
  188. package/dist/registry/register-connectors.d.ts.map +1 -1
  189. package/dist/registry/register-connectors.js +20 -12
  190. package/dist/registry/register-connectors.js.map +1 -1
  191. package/dist/result-text.d.ts +4 -0
  192. package/dist/result-text.d.ts.map +1 -1
  193. package/dist/result-text.js +9 -0
  194. package/dist/result-text.js.map +1 -1
  195. package/dist/schemas/records.d.ts +142 -0
  196. package/dist/schemas/records.d.ts.map +1 -1
  197. package/dist/schemas/records.js +60 -2
  198. package/dist/schemas/records.js.map +1 -1
  199. package/dist/sessions/execution-root.d.ts +8 -0
  200. package/dist/sessions/execution-root.d.ts.map +1 -0
  201. package/dist/sessions/execution-root.js +25 -0
  202. package/dist/sessions/execution-root.js.map +1 -0
  203. package/dist/sessions/new-session.d.ts +5 -1
  204. package/dist/sessions/new-session.d.ts.map +1 -1
  205. package/dist/sessions/new-session.js +17 -4
  206. package/dist/sessions/new-session.js.map +1 -1
  207. package/dist/sessions/register-context.d.ts.map +1 -1
  208. package/dist/sessions/register-context.js +6 -5
  209. package/dist/sessions/register-context.js.map +1 -1
  210. package/dist/sessions/register-fork-export.d.ts.map +1 -1
  211. package/dist/sessions/register-fork-export.js +5 -3
  212. package/dist/sessions/register-fork-export.js.map +1 -1
  213. package/dist/sessions/register-lifecycle.d.ts.map +1 -1
  214. package/dist/sessions/register-lifecycle.js +14 -5
  215. package/dist/sessions/register-lifecycle.js.map +1 -1
  216. package/dist/sessions/register-sessions.d.ts.map +1 -1
  217. package/dist/sessions/register-sessions.js +0 -2
  218. package/dist/sessions/register-sessions.js.map +1 -1
  219. package/dist/sessions/session-view.d.ts +23 -0
  220. package/dist/sessions/session-view.d.ts.map +1 -1
  221. package/dist/sessions/session-view.js +4 -1
  222. package/dist/sessions/session-view.js.map +1 -1
  223. package/dist/store/all-docs.d.ts +4 -0
  224. package/dist/store/all-docs.d.ts.map +1 -0
  225. package/dist/store/all-docs.js +14 -0
  226. package/dist/store/all-docs.js.map +1 -0
  227. package/dist/store/collections.d.ts +230 -0
  228. package/dist/store/collections.d.ts.map +1 -1
  229. package/dist/store/collections.js +16 -1
  230. package/dist/store/collections.js.map +1 -1
  231. package/dist/turns/answer-fingerprint.d.ts +4 -0
  232. package/dist/turns/answer-fingerprint.d.ts.map +1 -0
  233. package/dist/turns/answer-fingerprint.js +18 -0
  234. package/dist/turns/answer-fingerprint.js.map +1 -0
  235. package/dist/turns/apply-answer.d.ts +19 -0
  236. package/dist/turns/apply-answer.d.ts.map +1 -0
  237. package/dist/turns/apply-answer.js +47 -0
  238. package/dist/turns/apply-answer.js.map +1 -0
  239. package/dist/turns/background.d.ts +3 -0
  240. package/dist/turns/background.d.ts.map +1 -1
  241. package/dist/turns/background.js +13 -12
  242. package/dist/turns/background.js.map +1 -1
  243. package/dist/turns/call-permission.d.ts +22 -0
  244. package/dist/turns/call-permission.d.ts.map +1 -0
  245. package/dist/turns/call-permission.js +49 -0
  246. package/dist/turns/call-permission.js.map +1 -0
  247. package/dist/turns/cancel-step-job.d.ts +14 -0
  248. package/dist/turns/cancel-step-job.d.ts.map +1 -0
  249. package/dist/turns/cancel-step-job.js +35 -0
  250. package/dist/turns/cancel-step-job.js.map +1 -0
  251. package/dist/turns/child-result.d.ts +7 -0
  252. package/dist/turns/child-result.d.ts.map +1 -0
  253. package/dist/turns/child-result.js +24 -0
  254. package/dist/turns/child-result.js.map +1 -0
  255. package/dist/turns/compaction.d.ts +15 -1
  256. package/dist/turns/compaction.d.ts.map +1 -1
  257. package/dist/turns/compaction.js +44 -16
  258. package/dist/turns/compaction.js.map +1 -1
  259. package/dist/turns/end-turn-state.d.ts +42 -0
  260. package/dist/turns/end-turn-state.d.ts.map +1 -0
  261. package/dist/turns/end-turn-state.js +64 -0
  262. package/dist/turns/end-turn-state.js.map +1 -0
  263. package/dist/turns/end-turn.d.ts +7 -8
  264. package/dist/turns/end-turn.d.ts.map +1 -1
  265. package/dist/turns/end-turn.js +52 -55
  266. package/dist/turns/end-turn.js.map +1 -1
  267. package/dist/turns/helper-calls.d.ts +6 -0
  268. package/dist/turns/helper-calls.d.ts.map +1 -0
  269. package/dist/turns/helper-calls.js +8 -0
  270. package/dist/turns/helper-calls.js.map +1 -0
  271. package/dist/turns/history.d.ts +3 -1
  272. package/dist/turns/history.d.ts.map +1 -1
  273. package/dist/turns/history.js +15 -7
  274. package/dist/turns/history.js.map +1 -1
  275. package/dist/turns/lost-reply.d.ts +7 -0
  276. package/dist/turns/lost-reply.d.ts.map +1 -1
  277. package/dist/turns/lost-reply.js +12 -0
  278. package/dist/turns/lost-reply.js.map +1 -1
  279. package/dist/turns/message-blocks.d.ts +2 -0
  280. package/dist/turns/message-blocks.d.ts.map +1 -1
  281. package/dist/turns/message-blocks.js +7 -0
  282. package/dist/turns/message-blocks.js.map +1 -1
  283. package/dist/turns/model-context.d.ts +2 -0
  284. package/dist/turns/model-context.d.ts.map +1 -1
  285. package/dist/turns/model-context.js +23 -4
  286. package/dist/turns/model-context.js.map +1 -1
  287. package/dist/turns/model-retry.d.ts +2 -1
  288. package/dist/turns/model-retry.d.ts.map +1 -1
  289. package/dist/turns/model-retry.js +5 -1
  290. package/dist/turns/model-retry.js.map +1 -1
  291. package/dist/turns/read-only.d.ts +6 -0
  292. package/dist/turns/read-only.d.ts.map +1 -0
  293. package/dist/turns/read-only.js +12 -0
  294. package/dist/turns/read-only.js.map +1 -0
  295. package/dist/turns/receipt-job.d.ts +5 -0
  296. package/dist/turns/receipt-job.d.ts.map +1 -0
  297. package/dist/turns/receipt-job.js +40 -0
  298. package/dist/turns/receipt-job.js.map +1 -0
  299. package/dist/turns/recover-workspace.d.ts +9 -0
  300. package/dist/turns/recover-workspace.d.ts.map +1 -0
  301. package/dist/turns/recover-workspace.js +79 -0
  302. package/dist/turns/recover-workspace.js.map +1 -0
  303. package/dist/turns/recovery-state.d.ts +19 -0
  304. package/dist/turns/recovery-state.d.ts.map +1 -0
  305. package/dist/turns/recovery-state.js +87 -0
  306. package/dist/turns/recovery-state.js.map +1 -0
  307. package/dist/turns/register-interruptions.d.ts.map +1 -1
  308. package/dist/turns/register-interruptions.js +19 -8
  309. package/dist/turns/register-interruptions.js.map +1 -1
  310. package/dist/turns/register-turns.d.ts.map +1 -1
  311. package/dist/turns/register-turns.js +42 -31
  312. package/dist/turns/register-turns.js.map +1 -1
  313. package/dist/turns/resolve.d.ts +4 -0
  314. package/dist/turns/resolve.d.ts.map +1 -1
  315. package/dist/turns/resolve.js +19 -17
  316. package/dist/turns/resolve.js.map +1 -1
  317. package/dist/turns/retry-turn.d.ts +4 -0
  318. package/dist/turns/retry-turn.d.ts.map +1 -0
  319. package/dist/turns/retry-turn.js +20 -0
  320. package/dist/turns/retry-turn.js.map +1 -0
  321. package/dist/turns/run-calls.d.ts +21 -4
  322. package/dist/turns/run-calls.d.ts.map +1 -1
  323. package/dist/turns/run-calls.js +157 -41
  324. package/dist/turns/run-calls.js.map +1 -1
  325. package/dist/turns/run-command.d.ts +5 -3
  326. package/dist/turns/run-command.d.ts.map +1 -1
  327. package/dist/turns/run-command.js +21 -12
  328. package/dist/turns/run-command.js.map +1 -1
  329. package/dist/turns/settle-calls.d.ts +2 -8
  330. package/dist/turns/settle-calls.d.ts.map +1 -1
  331. package/dist/turns/settle-calls.js +26 -35
  332. package/dist/turns/settle-calls.js.map +1 -1
  333. package/dist/turns/start-turn.d.ts +8 -83
  334. package/dist/turns/start-turn.d.ts.map +1 -1
  335. package/dist/turns/start-turn.js +35 -24
  336. package/dist/turns/start-turn.js.map +1 -1
  337. package/dist/turns/step-claim.d.ts +39 -0
  338. package/dist/turns/step-claim.d.ts.map +1 -0
  339. package/dist/turns/step-claim.js +72 -0
  340. package/dist/turns/step-claim.js.map +1 -0
  341. package/dist/turns/step-intents.d.ts +31 -0
  342. package/dist/turns/step-intents.d.ts.map +1 -0
  343. package/dist/turns/step-intents.js +101 -0
  344. package/dist/turns/step-intents.js.map +1 -0
  345. package/dist/turns/step-next.d.ts +17 -0
  346. package/dist/turns/step-next.d.ts.map +1 -0
  347. package/dist/turns/step-next.js +25 -0
  348. package/dist/turns/step-next.js.map +1 -0
  349. package/dist/turns/step.d.ts +1 -1
  350. package/dist/turns/step.d.ts.map +1 -1
  351. package/dist/turns/step.js +108 -88
  352. package/dist/turns/step.js.map +1 -1
  353. package/dist/turns/summary-facts.d.ts +25 -0
  354. package/dist/turns/summary-facts.d.ts.map +1 -0
  355. package/dist/turns/summary-facts.js +63 -0
  356. package/dist/turns/summary-facts.js.map +1 -0
  357. package/dist/turns/usage.d.ts +7 -0
  358. package/dist/turns/usage.d.ts.map +1 -0
  359. package/dist/turns/usage.js +18 -0
  360. package/dist/turns/usage.js.map +1 -0
  361. package/dist/ui/register-ui.js +3 -3
  362. package/dist/ui/register-ui.js.map +1 -1
  363. package/dist/web/components/approval.css +2 -0
  364. package/dist/web/components/approval.js +233 -0
  365. package/dist/web/components/call.css +1 -1
  366. package/dist/web/components/call.js +383 -287
  367. package/dist/web/components/connectors.css +1 -1
  368. package/dist/web/components/connectors.js +595 -592
  369. package/dist/web/components/conversation.css +1 -1
  370. package/dist/web/components/conversation.js +2902 -1593
  371. package/dist/web/components/mcp-sign-in.css +1 -1
  372. package/dist/web/components/model.css +1 -1
  373. package/dist/web/components/model.js +138 -134
  374. package/dist/web/components/question.css +1 -1
  375. package/dist/web/components/question.js +148 -78
  376. package/dist/web/components/sessions.css +1 -1
  377. package/docs/connectors.md +2 -2
  378. package/locales/ar.json +88 -12
  379. package/locales/en.json +88 -12
  380. package/package.json +6 -6
  381. package/dist/turns/cancel-turn.d.ts +0 -3
  382. package/dist/turns/cancel-turn.d.ts.map +0 -1
  383. package/dist/turns/cancel-turn.js +0 -31
  384. package/dist/turns/cancel-turn.js.map +0 -1
@@ -1,25 +1,27 @@
1
+ import { ProblemError } from '@kvman/sdk';
1
2
  import { isAskKind } from "../connectors/ask.js";
2
3
  import { payloadJsonSchema } from "../connectors/connector-command.js";
3
4
  import { parseRunArgs } from "../calls/run-tool.js";
4
5
  import { createChild, delegateRunSchema, startChild } from "../connectors/delegate.js";
5
- import { createRun, launchRun } from "../delegate/runs.js";
6
+ import { createRun } from "../delegate/runs.js";
7
+ import { startBackgroundRun } from "../delegate/start-background.js";
6
8
  import { availableWorker, isProgram } from "../delegate/workers.js";
7
- import { builtinConnectors, errorOutput, invalidPayloadOutput, noCommandMessage, noConnectorMessage } from "../connector-call.js";
8
- import { activeConnectors } from "../registry/register-connectors.js";
9
+ import { creationGuard } from "../delegate/permission.js";
10
+ import { recordFileView } from "../files/file-change.js";
11
+ import { lastChange, mapReminder } from "../maps/map-reminder.js";
12
+ import { invalid } from "../problems.js";
13
+ import { errorOutput, invalidPayloadOutput } from "../connector-call.js";
9
14
  import { now } from "../sessions/session-lookup.js";
10
- import { records } from "../store/collections.js";
11
- import { commandNamesOf, failedCall, runHelp, runTarget, targetOf, textResult } from "./run-command.js";
15
+ import { txRecords } from "../store/collections.js";
16
+ import { currentStep } from "./step-claim.js";
17
+ import { liveStep } from "./step-intents.js";
18
+ import { failedCall, orderedCall, runHelp, runTarget, targetOf, textResult } from "./run-command.js";
19
+ import { callPermission, dispatchGuard } from "./call-permission.js";
20
+ import { helperAllows, helperRefusal } from "./helper-calls.js";
21
+ import { readOnlyAllows, readOnlyRefusal } from "./read-only.js";
12
22
  const result = (toolCallId, done) => ({ kind: 'result', held: { toolCallId, ...done, run: null } });
13
23
  // A call whose arguments never made a connector command: there is nothing for a card to show.
14
24
  const refused = (toolCallId, message) => result(toolCallId, { text: errorOutput({ code: 'VALIDATION_FAILED', message }).output, details: null, isError: true });
15
- // Why a session can't call a connector: a subagent wasn't given it, or there is none by that name; one that is turned
16
- // off counts as none (ADR 0014, 7).
17
- function unavailable(env, connector) {
18
- const known = builtinConnectors.some((name) => name === connector) || env.tools.connectors.some((candidate) => candidate.name === connector);
19
- if (known && !env.tools.disabled.has(connector) && env.session.parentId !== null)
20
- return `${connector} isn't available in this subagent.`;
21
- return noConnectorMessage(connector, env.tools.listed.map((listed) => listed.name));
22
- }
23
25
  // The payload of a call that asks, checked before the person is asked about it.
24
26
  function invalidPayload(call, target) {
25
27
  if (target.builtin === undefined)
@@ -32,68 +34,182 @@ function invalidPayload(call, target) {
32
34
  }
33
35
  // A checked `delegate run` (ADR 0021): a subagent worker's child session, or a program worker's run, either of which
34
36
  // the turn waits on or which runs in the background. A program worker may ask the person first (ADR 0021, 12).
35
- async function delegateOutcome(env, toolCallId, call) {
37
+ async function delegateOutcome(env, toolCallId, call, held) {
36
38
  const { ctx, session } = env;
37
39
  const run = delegateRunSchema.parse(call.payload);
38
40
  const worker = await availableWorker(ctx, session.checks, run.worker);
41
+ const guard = await creationGuard(ctx, env.lease, worker);
39
42
  if (isProgram(worker)) {
40
- if (worker.approval === 'ask')
43
+ if (worker.approval === 'ask' && env.approval !== 'never') {
44
+ await ctx.store.transaction(tx => { guard(txRecords(tx)); });
41
45
  return { kind: 'question', questionKind: 'approval', question: call };
42
- const started = await createRun(ctx, session.id, worker, { description: call.description, task: run.task }, run.background === true ? null : toolCallId);
46
+ }
47
+ if (held)
48
+ return heldBackRun(toolCallId, call);
49
+ const started = await createRun(ctx, session.id, worker, { description: call.description, task: run.task }, run.background === true ? null : toolCallId, guard);
43
50
  if (run.background !== true)
44
51
  return { kind: 'worker', runId: started.id };
45
- await launchRun(ctx, started.id);
52
+ if (await currentStep(ctx, env.lease) === undefined)
53
+ return refused(toolCallId, 'The originating step is no longer current.');
54
+ await startBackgroundRun(ctx, started, () => creationGuard(ctx, env.lease, worker), store => liveStep(store, env.lease, env.lease.jobId) !== undefined);
46
55
  return result(toolCallId, textResult(call, `started ${started.id}`));
47
56
  }
48
- const childId = await createChild(ctx, session, worker, run);
57
+ if (held)
58
+ return heldBackRun(toolCallId, call);
59
+ const childId = await createChild(ctx, session, worker, run, guard);
49
60
  if (run.background !== true)
50
61
  return { kind: 'subagent', childSessionId: childId };
51
- await records(ctx.store).background.insert({ sessionId: session.id, ref: childId, kind: 'subagent', call: call.description, startedAt: now() });
52
- await startChild(ctx, childId);
62
+ const current = await ctx.store.transaction(tx => {
63
+ const store = txRecords(tx);
64
+ if (liveStep(store, env.lease, env.lease.jobId) === undefined)
65
+ return false;
66
+ store.background.insert({ sessionId: session.id, ref: childId, kind: 'subagent', call: call.description, startedAt: now() });
67
+ return true;
68
+ });
69
+ if (!current || await currentStep(ctx, env.lease) === undefined)
70
+ return refused(toolCallId, 'The originating step is no longer current.');
71
+ await startChild(ctx, childId, await creationGuard(ctx, env.lease, worker));
53
72
  return result(toolCallId, textResult(call, `started ${childId}`));
54
73
  }
55
- export async function evaluateCall(env, toolCall) {
56
- const { ctx, session, tools } = env;
74
+ function evaluateCall(env, toolCall, held) {
57
75
  if (toolCall.name !== 'run')
58
- return refused(toolCall.id, `The call's arguments are invalid: the tool is run, not ${toolCall.name}.`);
76
+ return Promise.resolve(refused(toolCall.id, `The call's arguments are invalid: the tool is run, not ${toolCall.name}.`));
59
77
  const args = parseRunArgs(toolCall.arguments);
60
78
  if (!args.success)
61
- return refused(toolCall.id, `The call's arguments are invalid: ${args.problems}. Call run again with the arguments fixed.`);
62
- const call = args.data;
63
- if (!tools.listed.some((listed) => listed.name === call.connector))
64
- return refused(toolCall.id, unavailable(env, call.connector));
79
+ return Promise.resolve(refused(toolCall.id, `The call's arguments are invalid: ${args.problems}. Call run again with the arguments fixed.`));
80
+ return orderedCall(env.ctx, env.session, args.data, () => evaluateCurrentCall(env, toolCall, args.data, held));
81
+ }
82
+ // A call that could change something (ADR 0046, amendment 2): a built-in command that can ask for approval, a helper
83
+ // run, or anything that isn't a known built-in command. Help, reads, and `ask` are not.
84
+ function changesThings(toolCall) {
85
+ const args = toolCall.name === 'run' ? parseRunArgs(toolCall.arguments) : undefined;
86
+ if (args?.success !== true || args.data.command === 'help')
87
+ return false;
88
+ const builtin = targetOf([], args.data)?.builtin;
89
+ return builtin === undefined || builtin.asks === true || isHelperRun(args.data);
90
+ }
91
+ const fileRead = 'kvcoder.fs.file.get';
92
+ const isHelperRun = (call) => call.connector === 'delegate' && call.command === 'run';
93
+ const waitsForDecision = (outcome) => outcome.kind === 'deferred' || (outcome.kind === 'question' && outcome.questionKind === 'approval');
94
+ // A helper run that would start behind a pending approval isn't started (ADR 0046, amendment 4); one that asks first is still asked.
95
+ const heldBackRun = (toolCallId, call) => result(toolCallId, failedCall(call, errorOutput({ code: 'VALIDATION_FAILED', message: 'Not started: an earlier call in this reply waits for a decision. Make this call again after it is decided.' }).output));
96
+ /**
97
+ * Evaluates a reply's calls (ADR 0046): those that could change something one after another in the model's order,
98
+ * each told whether an earlier one still waits for the person's decision; the others at once, in parallel.
99
+ */
100
+ export async function evaluateCalls(env, calls) {
101
+ const free = calls.map((toolCall) => (changesThings(toolCall) ? undefined : evaluateCall(env, toolCall, false)));
102
+ const ordered = (async () => {
103
+ const done = new Map();
104
+ let held = false;
105
+ for (const toolCall of calls.filter(changesThings)) {
106
+ const outcome = await evaluateCall(env, toolCall, held);
107
+ held ||= waitsForDecision(outcome);
108
+ done.set(toolCall, outcome);
109
+ }
110
+ return done;
111
+ })();
112
+ const [inOrder, atOnce] = await Promise.all([ordered, Promise.all(free)]);
113
+ const outcomes = calls.map((toolCall, index) => {
114
+ const outcome = atOnce[index] ?? inOrder.get(toolCall);
115
+ if (outcome === undefined)
116
+ throw invalid('A call of the reply was not evaluated.');
117
+ return outcome;
118
+ });
119
+ return reminded(env, calls, outcomes);
120
+ }
121
+ // The lead's reply that changed something while its map says no task is being done is told so once (ADR 0074, 6).
122
+ async function reminded(env, calls, outcomes) {
123
+ if (env.session.parentId !== null)
124
+ return outcomes;
125
+ const parsed = calls.map((toolCall) => {
126
+ const args = toolCall.name === 'run' ? parseRunArgs(toolCall.arguments) : undefined;
127
+ return args?.success === true ? args.data : undefined;
128
+ });
129
+ const index = lastChange(parsed, outcomes.map((outcome) => outcome.kind === 'result' && !outcome.held.isError));
130
+ const outcome = index === undefined ? undefined : outcomes[index];
131
+ if (index === undefined || outcome?.kind !== 'result')
132
+ return outcomes;
133
+ const line = await mapReminder(env.ctx, env.session.id);
134
+ return line === undefined ? outcomes : outcomes.with(index, { kind: 'result', held: { ...outcome.held, text: `${outcome.held.text}${line}` } });
135
+ }
136
+ async function evaluateCurrentCall(env, toolCall, call, held) {
137
+ const { ctx } = env;
138
+ if (await currentStep(ctx, env.lease) === undefined)
139
+ return refused(toolCall.id, 'The originating step is no longer current.');
140
+ const permitted = await callPermission(ctx, env.lease, call);
141
+ if ('error' in permitted)
142
+ return result(toolCall.id, failedCall(call, errorOutput(permitted.error).output));
143
+ const session = permitted.grants.session, target = permitted.target;
65
144
  if (call.command === 'help')
66
- return result(toolCall.id, await runHelp(ctx, call));
67
- const target = targetOf(tools.connectors, call);
145
+ return result(toolCall.id, await runHelp(ctx, call, dispatchGuard(ctx, env.lease, call)));
68
146
  if (target === undefined)
69
- return result(toolCall.id, failedCall(call, errorOutput({ code: 'NOT_FOUND', message: noCommandMessage(call.connector, call.command, commandNamesOf(tools.connectors, call.connector)) }).output));
147
+ return refused(toolCall.id, 'The connector command is no longer available.');
148
+ if (session.parentId !== null && !helperAllows(target.builtin))
149
+ return result(toolCall.id, failedCall(call, errorOutput({ code: 'VALIDATION_FAILED', message: helperRefusal }).output));
150
+ // A read-only worker's helper is refused before anyone is asked (ADR 0056, 3).
151
+ if (session.worker?.readOnly === true && !readOnlyAllows(call.command, target.builtin))
152
+ return result(toolCall.id, failedCall(call, errorOutput({ code: 'VALIDATION_FAILED', message: readOnlyRefusal(call.connector, call.command) }).output));
70
153
  if (target.builtin?.asks === true) {
71
154
  const invalid = invalidPayload(call, target);
72
155
  if (invalid !== undefined)
73
156
  return result(toolCall.id, failedCall(call, invalid));
74
- if (env.approval === 'ask' || call.payload['risky'] !== false)
157
+ if (env.approval === 'ask' || (env.approval === 'auto' && call.payload['risky'] !== false))
75
158
  return { kind: 'question', questionKind: 'approval', question: call };
76
159
  }
77
- if (target.asks === true)
160
+ if (target.asks === true && env.approval !== 'never')
78
161
  return { kind: 'question', questionKind: 'approval', question: call };
79
- const done = await runTarget(ctx, session, call, target);
162
+ if (held && !isHelperRun(call) && (target.builtin === undefined || target.builtin.asks === true))
163
+ return { kind: 'deferred', call };
164
+ if (await currentStep(ctx, env.lease) === undefined)
165
+ return refused(toolCall.id, 'The originating step is no longer current.');
166
+ const done = await runTarget(ctx, session, call, target, dispatchGuard(ctx, env.lease, call, target));
167
+ // What the chat has now read is what it may change (ADR 0053, 2).
168
+ if (!done.isError && target.registration === fileRead && typeof call.payload['path'] === 'string')
169
+ await recordFileView(ctx, session.id, call.payload['path']);
80
170
  if (done.isError || (call.connector !== 'ask' && call.connector !== 'delegate'))
81
171
  return result(toolCall.id, done);
82
- if (call.connector === 'delegate')
83
- return delegateOutcome(env, toolCall.id, call);
172
+ if (call.connector === 'delegate') {
173
+ try {
174
+ return await delegateOutcome(env, toolCall.id, call, held);
175
+ }
176
+ catch (error) {
177
+ if (!(error instanceof ProblemError) || ctx.job.signal.aborted)
178
+ throw error;
179
+ return result(toolCall.id, failedCall(call, errorOutput(error.problem).output));
180
+ }
181
+ }
84
182
  return isAskKind(call.command) ? { kind: 'question', questionKind: call.command, question: call.payload } : result(toolCall.id, done);
85
183
  }
86
184
  /** What an approved call of the old shell tool returns: it is never run (ADR 0011, 12). */
87
185
  const oldCallText = 'denied by the user\nMake this call again with the run tool.';
88
186
  /** Runs an approved call held in the turn. */
89
- export async function runApproved(ctx, session, held) {
187
+ export function runApproved(ctx, session, held, lease) {
90
188
  if (held.run === null)
91
- return held;
189
+ return Promise.resolve(held);
92
190
  if (!('connector' in held.run))
93
- return { toolCallId: held.toolCallId, text: oldCallText, details: null, isError: true, run: null };
94
- const connectors = await activeConnectors(ctx);
95
- const target = targetOf(connectors, held.run);
96
- const done = target === undefined ? failedCall(held.run, errorOutput({ code: 'NOT_FOUND', message: noCommandMessage(held.run.connector, held.run.command, commandNamesOf(connectors, held.run.connector)) }).output) : await runTarget(ctx, session, held.run, target);
191
+ return Promise.resolve({ toolCallId: held.toolCallId, text: oldCallText, details: null, isError: true, run: null });
192
+ const call = held.run;
193
+ return orderedCall(ctx, session, call, () => runCurrentApproval(ctx, session, held, call, lease));
194
+ }
195
+ async function runCurrentApproval(ctx, session, held, call, lease) {
196
+ if (lease === undefined)
197
+ throw invalid('Current step authority is required for approved execution.');
198
+ if (await currentStep(ctx, lease) === undefined)
199
+ return undefined;
200
+ if (session.id !== lease.sessionId)
201
+ throw invalid('Approved execution requires its originating session.');
202
+ const permitted = await callPermission(ctx, lease, call, held);
203
+ const done = 'error' in permitted ? failedCall(call, errorOutput(permitted.error).output) : permitted.target === undefined ? failedCall(call, errorOutput({ code: 'VALIDATION_FAILED', message: 'The connector command is no longer available.' }).output) : await runTarget(ctx, permitted.grants.session, call, permitted.target, dispatchGuard(ctx, lease, call, permitted.target, held));
97
204
  return { toolCallId: held.toolCallId, ...done, run: null };
98
205
  }
206
+ /** Runs a call that was held back behind an approval: it was permitted to run by itself, and is checked again now. */
207
+ export async function runDeferred(ctx, session, deferred, lease) {
208
+ if (await currentStep(ctx, lease) === undefined)
209
+ return undefined;
210
+ const { call } = deferred;
211
+ const permitted = await callPermission(ctx, lease, call);
212
+ const done = 'error' in permitted ? failedCall(call, errorOutput(permitted.error).output) : permitted.target === undefined ? failedCall(call, errorOutput({ code: 'VALIDATION_FAILED', message: 'The connector command is no longer available.' }).output) : await runTarget(ctx, session, call, permitted.target, dispatchGuard(ctx, lease, call, permitted.target));
213
+ return { toolCallId: deferred.toolCallId, ...done, run: null };
214
+ }
99
215
  //# sourceMappingURL=run-calls.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-calls.js","sourceRoot":"","sources":["../../src/turns/run-calls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-calls.js","sourceRoot":"","sources":["../../src/turns/run-calls.ts"],"names":[],"mappings":"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"}
@@ -19,8 +19,10 @@ export declare function commandNamesOf(connectors: readonly ConnectorRow[], name
19
19
  export declare function failedCall(call: RunCall, output: string, durationMs?: number): CallDone;
20
20
  /** A call whose result is plain text, such as help. */
21
21
  export declare function textResult(call: RunCall, text: string, durationMs?: number): CallDone;
22
- /** Runs a connector command through `ctx.exec`, after the calls before it on the same file or artifact, and gives what the model and the call card get. */
23
- export declare function runTarget(ctx: Ctx, session: Stored<SessionDoc>, call: RunCall, target: CommandTarget): Promise<CallDone>;
22
+ /** Reserve in the caller's model-order map BEFORE independently awaited permission preparation (ADR0044). */
23
+ export declare function orderedCall<Result>(ctx: Ctx, session: Stored<SessionDoc>, call: RunCall, run: () => Promise<Result>): Promise<Result>;
24
+ /** Called inside its already reserved ordered callback; the guard is still directly before inline dispatch. */
25
+ export declare function runTarget(ctx: Ctx, session: Stored<SessionDoc>, call: RunCall, target: CommandTarget, guard: () => Promise<void>): Promise<CallDone>;
24
26
  /** A connector's `help`, or one command's with `{ command }` (plan 08 §8.3). It never asks. */
25
- export declare function runHelp(ctx: Ctx, call: RunCall): Promise<CallDone>;
27
+ export declare function runHelp(ctx: Ctx, call: RunCall, guard: () => Promise<void>): Promise<CallDone>;
26
28
  //# sourceMappingURL=run-command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-command.d.ts","sourceRoot":"","sources":["../../src/turns/run-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,KAAK,GAAG,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAOtD,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC9F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAKpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEvE,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAOpE,2DAA2D;AAC3D,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC;AAExE,oJAAoJ;AACpJ,MAAM,MAAM,aAAa,GAAG;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEjG,sGAAsG;AACtG,wBAAgB,QAAQ,CAAC,UAAU,EAAE,SAAS,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC,GAAG,aAAa,GAAG,SAAS,CAUrI;AAED,mJAAmJ;AACnJ,wBAAgB,cAAc,CAAC,UAAU,EAAE,SAAS,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAK1F;AA2BD,4EAA4E;AAC5E,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,QAAQ,CAElF;AAED,uDAAuD;AACvD,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,QAAQ,CAEhF;AAID,2JAA2J;AAC3J,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,CAGxH;AAkCD,+FAA+F;AAC/F,wBAAsB,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAaxE"}
1
+ {"version":3,"file":"run-command.d.ts","sourceRoot":"","sources":["../../src/turns/run-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,KAAK,GAAG,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAOtD,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC9F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAKpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEvE,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAOpE,2DAA2D;AAC3D,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC;AAExE,oJAAoJ;AACpJ,MAAM,MAAM,aAAa,GAAG;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEjG,sGAAsG;AACtG,wBAAgB,QAAQ,CAAC,UAAU,EAAE,SAAS,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC,GAAG,aAAa,GAAG,SAAS,CAUrI;AAED,mJAAmJ;AACnJ,wBAAgB,cAAc,CAAC,UAAU,EAAE,SAAS,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAK1F;AA6BD,4EAA4E;AAC5E,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,QAAQ,CAElF;AAED,uDAAuD;AACvD,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,QAAQ,CAEhF;AAID,6GAA6G;AAC7G,wBAAgB,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAKrI;AAED,+GAA+G;AAC/G,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAEpJ;AAkCD,+FAA+F;AAC/F,wBAAsB,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAapG"}
@@ -34,16 +34,19 @@ export function commandNamesOf(connectors, name) {
34
34
  return connector?.kind === 'binary' ? ['exec'] : (connector?.commands ?? []).map((command) => command.name);
35
35
  }
36
36
  const shellRun = builtinCommands.shell.exec.registration;
37
- const mcpCall = builtinCommands.mcp.call.registration;
37
+ const mcpCalls = new Set([builtinCommands.mcp.call.registration, builtinCommands.mcp.run.registration]);
38
38
  const artifactChanges = new Set([builtinCommands.artifact.write.registration, builtinCommands.artifact.edit.registration]);
39
39
  const artifactCalls = new Set([...artifactChanges, builtinCommands.artifact.get.registration]);
40
- const fileChanges = new Set([builtinCommands.fs.write.registration, builtinCommands.fs.edit.registration]);
40
+ const mapCalls = new Set(Object.values(builtinCommands['execution-map']).map((command) => command.registration));
41
+ const fileChanges = new Set([builtinCommands.fs.write.registration, builtinCommands.fs.edit.registration, builtinCommands.fs.undo.registration, builtinCommands.fs.assemble.registration]);
41
42
  // What a call must wait its turn on (plan 08 §8.5, ADR 0009, 160): the calls of a reply start together, and two edits
42
- // that each read the original would lose the first one's write. The key is taken as the calls start, in the model's order.
43
+ // that each read the original would lose the first one's write; a map's changes apply in order (ADR 0064, 7). The key is taken as the calls start, in the model's order.
43
44
  function orderKey(ctx, session, call, target) {
44
45
  const { path: file, id } = call.payload;
45
46
  if (fileChanges.has(target.registration) && typeof file === 'string')
46
47
  return `fs:${lexicalPath(ctx.job.workspace.path, file)}`;
48
+ if (mapCalls.has(target.registration))
49
+ return `map:${chatIdOf(session)}`;
47
50
  return artifactCalls.has(target.registration) && typeof id === 'string' ? `artifact:${chatIdOf(session)}:${id}` : undefined;
48
51
  }
49
52
  // A built-in command's job takes the chat and the payload; a line in the real shell also takes the words that name a
@@ -66,19 +69,25 @@ export function textResult(call, text, durationMs = 0) {
66
69
  return { text, isError: false, details: { ...words(call), output: text, durationMs } };
67
70
  }
68
71
  const fileRead = 'kvcoder.fs.file.get';
69
- /** Runs a connector command through `ctx.exec`, after the calls before it on the same file or artifact, and gives what the model and the call card get. */
70
- export function runTarget(ctx, session, call, target) {
71
- const key = orderKey(ctx, session, call, target);
72
- return key === undefined ? runJob(ctx, session.id, call, target) : inOrder(key, () => runJob(ctx, session.id, call, target));
72
+ /** Reserve in the caller's model-order map BEFORE independently awaited permission preparation (ADR0044). */
73
+ export function orderedCall(ctx, session, call, run) {
74
+ // Only fixed builtin commands order work; registrations cannot shadow them. This is not an authority decision.
75
+ const builtin = targetOf([], call);
76
+ const key = builtin === undefined ? undefined : orderKey(ctx, session, call, builtin);
77
+ return key === undefined ? run() : inOrder(key, run);
73
78
  }
74
- async function runJob(ctx, sessionId, call, target) {
79
+ /** Called inside its already reserved ordered callback; the guard is still directly before inline dispatch. */
80
+ export function runTarget(ctx, session, call, target, guard) {
81
+ return runJob(ctx, session.id, call, target, guard);
82
+ }
83
+ async function runJob(ctx, sessionId, call, target, guard) {
75
84
  const started = Date.now();
76
85
  const builtin = target.builtin;
77
86
  const done = await runCommand({
78
87
  connector: call.connector,
79
88
  command: call.command,
80
89
  payloadPath: builtin === undefined ? '' : 'payload',
81
- exec: () => ctx.exec(target.registration, jobInput(sessionId, call, target)),
90
+ exec: async () => { await guard(); ctx.job.signal.throwIfAborted(); return ctx.exec(target.registration, jobInput(sessionId, call, target)); },
82
91
  payloadSchema: async () => (builtin === undefined ? (await callInfos(ctx)).find((info) => info.name === target.registration)?.input : payloadJsonSchema(builtin.payload)),
83
92
  cancelled: () => ctx.job.signal.aborted,
84
93
  });
@@ -89,7 +98,7 @@ async function runJob(ctx, sessionId, call, target) {
89
98
  const details = { ...words(call), output: run.output, durationMs: run.durationMs, ...(run.exitCode === null ? {} : { exitCode: run.exitCode }), ...(run.timedOut ? { timedOut: true } : {}), ...(run.jobId === null ? {} : { background: true, jobId: run.jobId }) };
90
99
  return { text: lineRunText(run), isError: lineRunIsError(run), details };
91
100
  }
92
- if (target.registration === mcpCall) {
101
+ if (mcpCalls.has(target.registration)) {
93
102
  const called = mcpCallSchema.parse(done.value);
94
103
  const output = truncate(called.text);
95
104
  return { text: output, isError: called.isError, details: { ...words(call), output, durationMs: Date.now() - started } };
@@ -103,7 +112,7 @@ async function runJob(ctx, sessionId, call, target) {
103
112
  }
104
113
  const helpSchema = z.object({ text: z.string() });
105
114
  /** A connector's `help`, or one command's with `{ command }` (plan 08 §8.3). It never asks. */
106
- export async function runHelp(ctx, call) {
115
+ export async function runHelp(ctx, call, guard) {
107
116
  const { command, ...rest } = call.payload;
108
117
  if (Object.keys(rest).length > 0 || (command !== undefined && typeof command !== 'string'))
109
118
  return failedCall(call, errorOutput({ code: 'VALIDATION_FAILED', message: 'help takes { "command"? }.' }).output);
@@ -112,7 +121,7 @@ export async function runHelp(ctx, call) {
112
121
  connector: call.connector,
113
122
  command: call.command,
114
123
  payloadPath: '',
115
- exec: () => ctx.exec('kvcoder.connector.help.get', { connector: call.connector, ...(command === undefined ? {} : { command }) }),
124
+ exec: async () => { await guard(); ctx.job.signal.throwIfAborted(); return ctx.exec('kvcoder.connector.help.get', { connector: call.connector, ...(command === undefined ? {} : { command }) }); },
116
125
  payloadSchema: () => Promise.resolve(undefined),
117
126
  cancelled: () => ctx.job.signal.aborted,
118
127
  });
@@ -1 +1 @@
1
- {"version":3,"file":"run-command.js","sourceRoot":"","sources":["../../src/turns/run-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-command.js","sourceRoot":"","sources":["../../src/turns/run-command.ts"],"names":[],"mappings":"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"}
@@ -2,16 +2,10 @@ import type { Ctx, Stored } from '@kvman/sdk';
2
2
  import type { HeldResult, SessionDoc, TurnDoc } from '../schemas/records.ts';
3
3
  import { type TxRecords } from '../store/collections.ts';
4
4
  import type { CallOutcome, ToolCall } from './run-calls.ts';
5
+ import type { StepLease } from './step-claim.ts';
5
6
  type Calls = TurnDoc['calls'];
6
7
  /** Appends a step's results as toolResult messages, in the model's call order. */
7
8
  export declare function appendResults(store: TxRecords, session: Stored<SessionDoc>, turnId: string, calls: Calls, results: readonly HeldResult[]): void;
8
- /** The running turn inside a transaction, if `turnId` still is it. */
9
- export declare function liveTurn(store: TxRecords, sessionId: string, turnId: string): {
10
- session: Stored<SessionDoc>;
11
- turn: Stored<TurnDoc>;
12
- } | undefined;
13
- /** Queues the next step, or ends the turn at `kvcoder.maxSteps` (ADR 0009, 102). */
14
- export declare function continueTurn(ctx: Ctx, sessionId: string, turnId: string, maxSteps: number | null): Promise<void>;
15
- export declare function settleCalls(ctx: Ctx, sessionId: string, turnId: string, calls: readonly ToolCall[], outcomes: readonly CallOutcome[], maxSteps: number | null): Promise<void>;
9
+ export declare function settleCalls(ctx: Ctx, lease: StepLease, calls: readonly ToolCall[], outcomes: readonly CallOutcome[], maxSteps: number | null): Promise<void>;
16
10
  export {};
17
11
  //# sourceMappingURL=settle-calls.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"settle-calls.d.ts","sourceRoot":"","sources":["../../src/turns/settle-calls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAI9C,OAAO,KAAK,EAAE,UAAU,EAAsB,UAAU,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEjG,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAG7E,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAO5D,KAAK,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAU9B,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAO/I;AAED,sEAAsE;AACtE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;CAAE,GAAG,SAAS,CAKhJ;AAED,oFAAoF;AACpF,wBAAsB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAItH;AAUD,wBAAsB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,QAAQ,EAAE,EAAE,QAAQ,EAAE,SAAS,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCnL"}
1
+ {"version":3,"file":"settle-calls.d.ts","sourceRoot":"","sources":["../../src/turns/settle-calls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAI9C,OAAO,KAAK,EAAE,UAAU,EAAsB,UAAU,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEjG,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAE7E,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAQjD,KAAK,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAU9B,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI,CAO/I;AAUD,wBAAsB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,QAAQ,EAAE,EAAE,QAAQ,EAAE,SAAS,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA0ClK"}
@@ -1,11 +1,11 @@
1
- import { startChild } from "../connectors/delegate.js";
2
- import { dropRun, launchRun } from "../delegate/runs.js";
1
+ import { dropRun } from "../delegate/runs.js";
2
+ import { startPending } from "../delegate/start-pending.js";
3
3
  import { firePoint } from "../registry/session-points.js";
4
4
  import { now } from "../sessions/session-lookup.js";
5
5
  import { records, txRecords } from "../store/collections.js";
6
- import { endTurn } from "./end-turn.js";
7
6
  import { appendMessage, appendQueued } from "./history.js";
8
- import { queueStep } from "./start-turn.js";
7
+ import { liveStep, settleStep } from "./step-intents.js";
8
+ import { advanceStep, dispatchNext } from "./step-next.js";
9
9
  // A result's details without a second copy of its output (ADR 0034, 7): the output stays only where it differs from the
10
10
  // text the model gets, which is a shell line's and a binary's.
11
11
  function storedDetails(held) {
@@ -24,22 +24,6 @@ export function appendResults(store, session, turnId, calls, results) {
24
24
  appendMessage(store, session, { kind: 'toolResult', content: held.details === null ? content : { ...content, details: storedDetails(held) }, turnId });
25
25
  }
26
26
  }
27
- /** The running turn inside a transaction, if `turnId` still is it. */
28
- export function liveTurn(store, sessionId, turnId) {
29
- const session = store.sessions.get(sessionId);
30
- const turn = store.turns.get(turnId);
31
- if (session?.turnId !== turnId || turn === undefined || turn.outcome !== null)
32
- return undefined;
33
- return { session, turn };
34
- }
35
- /** Queues the next step, or ends the turn at `kvcoder.maxSteps` (ADR 0009, 102). */
36
- export async function continueTurn(ctx, sessionId, turnId, maxSteps) {
37
- const turn = await records(ctx.store).turns.get(turnId);
38
- if (turn !== undefined && maxSteps !== null && turn.steps >= maxSteps)
39
- await endTurn(ctx, sessionId, turnId, 'maxSteps', 'step', { code: 'MAX_STEPS', params: { steps: maxSteps } });
40
- else
41
- await queueStep(ctx, sessionId, turnId, true);
42
- }
43
27
  function pendingOf(store, sessionId, rootSessionId, turnId, toolCallId, outcome) {
44
28
  if (outcome.kind === 'subagent')
45
29
  return { toolCallId, kind: 'subagent', questionId: null, question: null, childSessionId: outcome.childSessionId, runId: null };
@@ -49,31 +33,34 @@ function pendingOf(store, sessionId, rootSessionId, turnId, toolCallId, outcome)
49
33
  const shown = outcome.questionKind === 'approval' ? outcome.question : { kind: outcome.questionKind, ...outcome.question };
50
34
  return { toolCallId, kind: outcome.questionKind === 'approval' ? 'approval' : 'question', questionId: question.id, question: shown, childSessionId: null, runId: null };
51
35
  }
52
- export async function settleCalls(ctx, sessionId, turnId, calls, outcomes, maxSteps) {
36
+ export async function settleCalls(ctx, lease, calls, outcomes, maxSteps) {
37
+ const { sessionId, turnId } = lease;
53
38
  const order = calls.map((call) => ({ toolCallId: call.id, toolName: call.name }));
54
39
  const held = outcomes.flatMap((outcome) => (outcome.kind === 'result' ? [outcome.held] : []));
55
40
  if (held.length === outcomes.length) {
56
- const live = await ctx.store.transaction((tx) => {
41
+ const next = await ctx.store.transaction((tx) => {
57
42
  const store = txRecords(tx);
58
- const found = liveTurn(store, sessionId, turnId);
43
+ const found = liveStep(store, lease, lease.jobId);
59
44
  if (found === undefined)
60
- return false;
45
+ return undefined;
61
46
  appendResults(store, found.session, turnId, order, held);
62
47
  appendQueued(store, found.session, turnId);
63
- return true;
48
+ return advanceStep(store, lease, maxSteps);
64
49
  });
65
- if (live)
66
- await continueTurn(ctx, sessionId, turnId, maxSteps);
50
+ await dispatchNext(ctx, next);
67
51
  return;
68
52
  }
69
53
  const rootSessionId = (await rootOf(ctx, sessionId)) ?? sessionId;
70
54
  const pending = await ctx.store.transaction((tx) => {
71
55
  const store = txRecords(tx);
72
- if (liveTurn(store, sessionId, turnId) === undefined)
56
+ if (liveStep(store, lease, lease.jobId) === undefined)
73
57
  return undefined;
74
- const items = outcomes.flatMap((outcome, index) => (outcome.kind === 'result' ? [] : [pendingOf(store, sessionId, rootSessionId, turnId, calls[index]?.id ?? '', outcome)]));
75
- store.turns.update(turnId, { calls: order, pending: items, results: held });
76
- store.sessions.update(sessionId, { status: 'waiting', stepJobId: null, updatedAt: now() });
58
+ const items = outcomes.flatMap((outcome, index) => (outcome.kind === 'result' || outcome.kind === 'deferred' ? [] : [pendingOf(store, sessionId, rootSessionId, turnId, calls[index]?.id ?? '', outcome)]));
59
+ // Effects held back behind an approval wait with the turn, and run in the model's order when it resumes (ADR 0046).
60
+ const deferredCalls = outcomes.flatMap((outcome, index) => (outcome.kind === 'deferred' ? [{ toolCallId: calls[index]?.id ?? '', call: outcome.call }] : []));
61
+ store.turns.update(turnId, { calls: order, pending: items, results: held, deferredCalls });
62
+ settleStep(store, lease, lease.jobId);
63
+ store.sessions.update(sessionId, { status: 'waiting', stepJobId: null, stepIntentId: null, updatedAt: now() });
77
64
  return items;
78
65
  });
79
66
  if (pending === undefined) {
@@ -81,12 +68,16 @@ export async function settleCalls(ctx, sessionId, turnId, calls, outcomes, maxSt
81
68
  return;
82
69
  }
83
70
  for (const item of pending) {
71
+ const current = await ctx.store.transaction(tx => {
72
+ const store = txRecords(tx);
73
+ return store.sessions.get(sessionId)?.turnId === turnId && store.turns.get(turnId)?.pending.some(saved => saved.toolCallId === item.toolCallId);
74
+ });
75
+ if (!current)
76
+ continue;
84
77
  if (item.questionId !== null)
85
78
  ctx.job.progress({ type: 'component', component: 'kvcoder.question', props: { questionId: item.questionId, sessionId, pending: item } });
86
- if (item.childSessionId !== null)
87
- await startChild(ctx, item.childSessionId);
88
- if (item.runId !== null)
89
- await launchRun(ctx, item.runId);
79
+ if (item.childSessionId !== null || item.runId !== null)
80
+ await startPending(ctx, { sessionId, turnId, pending: item });
90
81
  }
91
82
  for (const kind of new Set(pending.map((item) => item.kind)))
92
83
  await firePoint(ctx, 'kvcoder.session.waiting', { sessionId, kind });