@kvman/kvcoder 0.1.10 → 0.1.12

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 (328) hide show
  1. package/dist/api.d.ts +48 -2
  2. package/dist/api.d.ts.map +1 -1
  3. package/dist/calls/call-name.d.ts +8 -0
  4. package/dist/calls/call-name.d.ts.map +1 -0
  5. package/dist/calls/call-name.js +47 -0
  6. package/dist/calls/call-name.js.map +1 -0
  7. package/dist/calls/line-run.d.ts +1 -4
  8. package/dist/calls/line-run.d.ts.map +1 -1
  9. package/dist/calls/line-run.js +2 -2
  10. package/dist/calls/line-run.js.map +1 -1
  11. package/dist/calls/run-tool.d.ts +1 -6
  12. package/dist/calls/run-tool.d.ts.map +1 -1
  13. package/dist/calls/run-tool.js +5 -6
  14. package/dist/calls/run-tool.js.map +1 -1
  15. package/dist/connector-call.d.ts +3 -3
  16. package/dist/connector-call.d.ts.map +1 -1
  17. package/dist/connector-call.js +5 -3
  18. package/dist/connector-call.js.map +1 -1
  19. package/dist/connectors/artifact.d.ts +2 -1
  20. package/dist/connectors/artifact.d.ts.map +1 -1
  21. package/dist/connectors/artifact.js +1 -1
  22. package/dist/connectors/artifact.js.map +1 -1
  23. package/dist/connectors/background.d.ts.map +1 -1
  24. package/dist/connectors/background.js +17 -7
  25. package/dist/connectors/background.js.map +1 -1
  26. package/dist/connectors/binary.js +2 -2
  27. package/dist/connectors/binary.js.map +1 -1
  28. package/dist/connectors/builtin-connectors.d.ts +62 -2
  29. package/dist/connectors/builtin-connectors.d.ts.map +1 -1
  30. package/dist/connectors/builtin-connectors.js +4 -1
  31. package/dist/connectors/builtin-connectors.js.map +1 -1
  32. package/dist/connectors/connector-command.d.ts +0 -1
  33. package/dist/connectors/connector-command.d.ts.map +1 -1
  34. package/dist/connectors/connector-command.js +1 -1
  35. package/dist/connectors/connector-command.js.map +1 -1
  36. package/dist/connectors/delegate.d.ts +17 -0
  37. package/dist/connectors/delegate.d.ts.map +1 -1
  38. package/dist/connectors/delegate.js +31 -6
  39. package/dist/connectors/delegate.js.map +1 -1
  40. package/dist/connectors/execution-map.d.ts +14 -3
  41. package/dist/connectors/execution-map.d.ts.map +1 -1
  42. package/dist/connectors/execution-map.js +43 -12
  43. package/dist/connectors/execution-map.js.map +1 -1
  44. package/dist/connectors/fs.d.ts +29 -1
  45. package/dist/connectors/fs.d.ts.map +1 -1
  46. package/dist/connectors/fs.js +46 -9
  47. package/dist/connectors/fs.js.map +1 -1
  48. package/dist/connectors/payload-fields.d.ts +3 -0
  49. package/dist/connectors/payload-fields.d.ts.map +1 -1
  50. package/dist/connectors/payload-fields.js +8 -2
  51. package/dist/connectors/payload-fields.js.map +1 -1
  52. package/dist/connectors/shell.js +1 -1
  53. package/dist/connectors/shell.js.map +1 -1
  54. package/dist/connectors/web.d.ts +16 -0
  55. package/dist/connectors/web.d.ts.map +1 -0
  56. package/dist/connectors/web.js +22 -0
  57. package/dist/connectors/web.js.map +1 -0
  58. package/dist/delegate/approved-run.js +2 -2
  59. package/dist/delegate/approved-run.js.map +1 -1
  60. package/dist/delegate/continue-helper.d.ts +18 -0
  61. package/dist/delegate/continue-helper.d.ts.map +1 -0
  62. package/dist/delegate/continue-helper.js +64 -0
  63. package/dist/delegate/continue-helper.js.map +1 -0
  64. package/dist/delegate/permission.d.ts +11 -5
  65. package/dist/delegate/permission.d.ts.map +1 -1
  66. package/dist/delegate/runs.d.ts +9 -11
  67. package/dist/delegate/runs.d.ts.map +1 -1
  68. package/dist/delegate/runs.js +13 -9
  69. package/dist/delegate/runs.js.map +1 -1
  70. package/dist/delegate/workers.d.ts +6 -0
  71. package/dist/delegate/workers.d.ts.map +1 -1
  72. package/dist/files/change-diff.d.ts +17 -0
  73. package/dist/files/change-diff.d.ts.map +1 -0
  74. package/dist/files/change-diff.js +59 -0
  75. package/dist/files/change-diff.js.map +1 -0
  76. package/dist/files/edit-places.d.ts +11 -0
  77. package/dist/files/edit-places.d.ts.map +1 -0
  78. package/dist/files/edit-places.js +105 -0
  79. package/dist/files/edit-places.js.map +1 -0
  80. package/dist/files/edit-text.d.ts +1 -0
  81. package/dist/files/edit-text.d.ts.map +1 -1
  82. package/dist/files/edit-text.js +22 -10
  83. package/dist/files/edit-text.js.map +1 -1
  84. package/dist/files/file-change.d.ts.map +1 -1
  85. package/dist/files/file-change.js +12 -0
  86. package/dist/files/file-change.js.map +1 -1
  87. package/dist/files/find-paths.d.ts +9 -0
  88. package/dist/files/find-paths.d.ts.map +1 -0
  89. package/dist/files/find-paths.js +38 -0
  90. package/dist/files/find-paths.js.map +1 -0
  91. package/dist/files/read-file.d.ts +3 -1
  92. package/dist/files/read-file.d.ts.map +1 -1
  93. package/dist/files/read-file.js +7 -6
  94. package/dist/files/read-file.js.map +1 -1
  95. package/dist/files/read-files.d.ts +11 -0
  96. package/dist/files/read-files.d.ts.map +1 -0
  97. package/dist/files/read-files.js +35 -0
  98. package/dist/files/read-files.js.map +1 -0
  99. package/dist/files/read-text.d.ts +63 -0
  100. package/dist/files/read-text.d.ts.map +1 -0
  101. package/dist/files/read-text.js +67 -0
  102. package/dist/files/read-text.js.map +1 -0
  103. package/dist/files/register-changes.d.ts +3 -0
  104. package/dist/files/register-changes.d.ts.map +1 -0
  105. package/dist/files/register-changes.js +78 -0
  106. package/dist/files/register-changes.js.map +1 -0
  107. package/dist/files/search-text.d.ts +10 -1
  108. package/dist/files/search-text.d.ts.map +1 -1
  109. package/dist/files/search-text.js +32 -57
  110. package/dist/files/search-text.js.map +1 -1
  111. package/dist/files/workspace-files.d.ts +5 -0
  112. package/dist/files/workspace-files.d.ts.map +1 -0
  113. package/dist/files/workspace-files.js +66 -0
  114. package/dist/files/workspace-files.js.map +1 -0
  115. package/dist/index.d.ts.map +1 -1
  116. package/dist/index.js +6 -0
  117. package/dist/index.js.map +1 -1
  118. package/dist/jobs/helper-progress.d.ts +11 -0
  119. package/dist/jobs/helper-progress.d.ts.map +1 -0
  120. package/dist/jobs/helper-progress.js +38 -0
  121. package/dist/jobs/helper-progress.js.map +1 -0
  122. package/dist/jobs/job-rows.d.ts +3 -1
  123. package/dist/jobs/job-rows.d.ts.map +1 -1
  124. package/dist/jobs/job-rows.js +46 -22
  125. package/dist/jobs/job-rows.js.map +1 -1
  126. package/dist/jobs/process-report.d.ts +1 -1
  127. package/dist/jobs/process-report.d.ts.map +1 -1
  128. package/dist/jobs/process-report.js +11 -6
  129. package/dist/jobs/process-report.js.map +1 -1
  130. package/dist/jobs/process-run.d.ts +2 -5
  131. package/dist/jobs/process-run.d.ts.map +1 -1
  132. package/dist/jobs/process-run.js +6 -5
  133. package/dist/jobs/process-run.js.map +1 -1
  134. package/dist/jobs/register-jobs.js +3 -3
  135. package/dist/jobs/register-jobs.js.map +1 -1
  136. package/dist/maps/map-rules.d.ts +4 -2
  137. package/dist/maps/map-rules.d.ts.map +1 -1
  138. package/dist/maps/map-rules.js +7 -4
  139. package/dist/maps/map-rules.js.map +1 -1
  140. package/dist/maps/map-schema.d.ts +4 -4
  141. package/dist/maps/map-schema.d.ts.map +1 -1
  142. package/dist/maps/map-schema.js +10 -3
  143. package/dist/maps/map-schema.js.map +1 -1
  144. package/dist/prompt/build-prompt.d.ts +4 -0
  145. package/dist/prompt/build-prompt.d.ts.map +1 -1
  146. package/dist/prompt/build-prompt.js +8 -4
  147. package/dist/prompt/build-prompt.js.map +1 -1
  148. package/dist/prompt/person-preferences.d.ts +5 -0
  149. package/dist/prompt/person-preferences.d.ts.map +1 -0
  150. package/dist/prompt/person-preferences.js +14 -0
  151. package/dist/prompt/person-preferences.js.map +1 -0
  152. package/dist/prompt/session-grants.d.ts +7 -3
  153. package/dist/prompt/session-grants.d.ts.map +1 -1
  154. package/dist/prompt/session-grants.js +3 -2
  155. package/dist/prompt/session-grants.js.map +1 -1
  156. package/dist/prompt/session-prompt.d.ts.map +1 -1
  157. package/dist/prompt/session-prompt.js +15 -6
  158. package/dist/prompt/session-prompt.js.map +1 -1
  159. package/dist/prompt/working-method.d.ts +2 -2
  160. package/dist/prompt/working-method.d.ts.map +1 -1
  161. package/dist/prompt/working-method.js +51 -45
  162. package/dist/prompt/working-method.js.map +1 -1
  163. package/dist/register-settings.d.ts +27 -0
  164. package/dist/register-settings.d.ts.map +1 -1
  165. package/dist/register-settings.js +13 -0
  166. package/dist/register-settings.js.map +1 -1
  167. package/dist/schemas/approval-rule.d.ts +9 -0
  168. package/dist/schemas/approval-rule.d.ts.map +1 -0
  169. package/dist/schemas/approval-rule.js +7 -0
  170. package/dist/schemas/approval-rule.js.map +1 -0
  171. package/dist/schemas/check.d.ts +7 -0
  172. package/dist/schemas/check.d.ts.map +1 -0
  173. package/dist/schemas/check.js +9 -0
  174. package/dist/schemas/check.js.map +1 -0
  175. package/dist/schemas/records.d.ts +20 -6
  176. package/dist/schemas/records.d.ts.map +1 -1
  177. package/dist/schemas/records.js +15 -4
  178. package/dist/schemas/records.js.map +1 -1
  179. package/dist/sessions/new-session.d.ts.map +1 -1
  180. package/dist/sessions/new-session.js +8 -3
  181. package/dist/sessions/new-session.js.map +1 -1
  182. package/dist/sessions/register-fork-export.d.ts.map +1 -1
  183. package/dist/sessions/register-fork-export.js +3 -2
  184. package/dist/sessions/register-fork-export.js.map +1 -1
  185. package/dist/sessions/register-sessions.d.ts.map +1 -1
  186. package/dist/sessions/register-sessions.js +21 -10
  187. package/dist/sessions/register-sessions.js.map +1 -1
  188. package/dist/sessions/session-view.d.ts +10 -1
  189. package/dist/sessions/session-view.d.ts.map +1 -1
  190. package/dist/sessions/session-view.js +6 -1
  191. package/dist/sessions/session-view.js.map +1 -1
  192. package/dist/sessions/waiting-on.d.ts +7 -0
  193. package/dist/sessions/waiting-on.d.ts.map +1 -0
  194. package/dist/sessions/waiting-on.js +20 -0
  195. package/dist/sessions/waiting-on.js.map +1 -0
  196. package/dist/store/collections.d.ts +26 -8
  197. package/dist/store/collections.d.ts.map +1 -1
  198. package/dist/store/collections.js +3 -1
  199. package/dist/store/collections.js.map +1 -1
  200. package/dist/thinking-levels.d.ts +6 -0
  201. package/dist/thinking-levels.d.ts.map +1 -0
  202. package/dist/thinking-levels.js +13 -0
  203. package/dist/thinking-levels.js.map +1 -0
  204. package/dist/turns/answer-extras.d.ts +21 -0
  205. package/dist/turns/answer-extras.d.ts.map +1 -0
  206. package/dist/turns/answer-extras.js +43 -0
  207. package/dist/turns/answer-extras.js.map +1 -0
  208. package/dist/turns/answer-fingerprint.d.ts +6 -2
  209. package/dist/turns/answer-fingerprint.d.ts.map +1 -1
  210. package/dist/turns/answer-fingerprint.js +9 -3
  211. package/dist/turns/answer-fingerprint.js.map +1 -1
  212. package/dist/turns/apply-answer.d.ts +2 -1
  213. package/dist/turns/apply-answer.d.ts.map +1 -1
  214. package/dist/turns/apply-answer.js +10 -4
  215. package/dist/turns/apply-answer.js.map +1 -1
  216. package/dist/turns/approval-rules.d.ts +13 -0
  217. package/dist/turns/approval-rules.d.ts.map +1 -0
  218. package/dist/turns/approval-rules.js +65 -0
  219. package/dist/turns/approval-rules.js.map +1 -0
  220. package/dist/turns/cache-retention.d.ts +6 -0
  221. package/dist/turns/cache-retention.d.ts.map +1 -0
  222. package/dist/turns/cache-retention.js +7 -0
  223. package/dist/turns/cache-retention.js.map +1 -0
  224. package/dist/turns/call-results.d.ts +6 -0
  225. package/dist/turns/call-results.d.ts.map +1 -0
  226. package/dist/turns/call-results.js +21 -0
  227. package/dist/turns/call-results.js.map +1 -0
  228. package/dist/turns/check-after-edits.d.ts +8 -0
  229. package/dist/turns/check-after-edits.d.ts.map +1 -0
  230. package/dist/turns/check-after-edits.js +23 -0
  231. package/dist/turns/check-after-edits.js.map +1 -0
  232. package/dist/turns/child-result.d.ts.map +1 -1
  233. package/dist/turns/child-result.js +4 -2
  234. package/dist/turns/child-result.js.map +1 -1
  235. package/dist/turns/clear-results.d.ts +15 -0
  236. package/dist/turns/clear-results.d.ts.map +1 -0
  237. package/dist/turns/clear-results.js +58 -0
  238. package/dist/turns/clear-results.js.map +1 -0
  239. package/dist/turns/cleared-results.d.ts +17 -0
  240. package/dist/turns/cleared-results.d.ts.map +1 -0
  241. package/dist/turns/cleared-results.js +46 -0
  242. package/dist/turns/cleared-results.js.map +1 -0
  243. package/dist/turns/compaction.d.ts.map +1 -1
  244. package/dist/turns/compaction.js +8 -7
  245. package/dist/turns/compaction.js.map +1 -1
  246. package/dist/turns/end-turn-state.d.ts.map +1 -1
  247. package/dist/turns/end-turn-state.js +2 -0
  248. package/dist/turns/end-turn-state.js.map +1 -1
  249. package/dist/turns/ended-calls.d.ts +6 -0
  250. package/dist/turns/ended-calls.d.ts.map +1 -0
  251. package/dist/turns/ended-calls.js +43 -0
  252. package/dist/turns/ended-calls.js.map +1 -0
  253. package/dist/turns/file-results.d.ts +15 -0
  254. package/dist/turns/file-results.d.ts.map +1 -0
  255. package/dist/turns/file-results.js +39 -0
  256. package/dist/turns/file-results.js.map +1 -0
  257. package/dist/turns/lost-reply.js +2 -2
  258. package/dist/turns/lost-reply.js.map +1 -1
  259. package/dist/turns/model-context.d.ts +2 -0
  260. package/dist/turns/model-context.d.ts.map +1 -1
  261. package/dist/turns/model-context.js +41 -3
  262. package/dist/turns/model-context.js.map +1 -1
  263. package/dist/turns/model-info.d.ts +4 -0
  264. package/dist/turns/model-info.d.ts.map +1 -1
  265. package/dist/turns/model-info.js +7 -1
  266. package/dist/turns/model-info.js.map +1 -1
  267. package/dist/turns/model-retry.d.ts.map +1 -1
  268. package/dist/turns/model-retry.js +5 -4
  269. package/dist/turns/model-retry.js.map +1 -1
  270. package/dist/turns/read-again.d.ts +11 -5
  271. package/dist/turns/read-again.d.ts.map +1 -1
  272. package/dist/turns/read-again.js +39 -10
  273. package/dist/turns/read-again.js.map +1 -1
  274. package/dist/turns/register-turns.d.ts.map +1 -1
  275. package/dist/turns/register-turns.js +12 -4
  276. package/dist/turns/register-turns.js.map +1 -1
  277. package/dist/turns/run-calls.d.ts +4 -0
  278. package/dist/turns/run-calls.d.ts.map +1 -1
  279. package/dist/turns/run-calls.js +56 -10
  280. package/dist/turns/run-calls.js.map +1 -1
  281. package/dist/turns/run-command.d.ts.map +1 -1
  282. package/dist/turns/run-command.js +8 -10
  283. package/dist/turns/run-command.js.map +1 -1
  284. package/dist/turns/sent-size.d.ts +6 -2
  285. package/dist/turns/sent-size.d.ts.map +1 -1
  286. package/dist/turns/sent-size.js +8 -4
  287. package/dist/turns/sent-size.js.map +1 -1
  288. package/dist/turns/settle-calls.d.ts +1 -7
  289. package/dist/turns/settle-calls.d.ts.map +1 -1
  290. package/dist/turns/settle-calls.js +2 -19
  291. package/dist/turns/settle-calls.js.map +1 -1
  292. package/dist/turns/step.d.ts.map +1 -1
  293. package/dist/turns/step.js +68 -10
  294. package/dist/turns/step.js.map +1 -1
  295. package/dist/ui/register-ui.js +2 -2
  296. package/dist/ui/register-ui.js.map +1 -1
  297. package/dist/web/components/approval.css +1 -1
  298. package/dist/web/components/approval.js +122 -89
  299. package/dist/web/components/call.css +1 -1
  300. package/dist/web/components/call.js +431 -306
  301. package/dist/web/components/connectors.css +1 -1
  302. package/dist/web/components/connectors.js +553 -521
  303. package/dist/web/components/conversation.css +1 -1
  304. package/dist/web/components/conversation.js +2636 -1520
  305. package/dist/web/components/mcp-sign-in.css +1 -1
  306. package/dist/web/components/model.css +1 -1
  307. package/dist/web/components/model.js +140 -127
  308. package/dist/web/components/preferences.css +2 -0
  309. package/dist/web/components/preferences.js +151 -0
  310. package/dist/web/components/question.css +1 -1
  311. package/dist/web/components/sessions.css +1 -1
  312. package/dist/web/components/sessions.js +44 -21
  313. package/dist/web-fetch/fetch-page.d.ts +28 -0
  314. package/dist/web-fetch/fetch-page.d.ts.map +1 -0
  315. package/dist/web-fetch/fetch-page.js +108 -0
  316. package/dist/web-fetch/fetch-page.js.map +1 -0
  317. package/dist/web-fetch/private-address.d.ts +3 -0
  318. package/dist/web-fetch/private-address.d.ts.map +1 -0
  319. package/dist/web-fetch/private-address.js +69 -0
  320. package/dist/web-fetch/private-address.js.map +1 -0
  321. package/dist/web-fetch/web-hosts.d.ts +7 -0
  322. package/dist/web-fetch/web-hosts.d.ts.map +1 -0
  323. package/dist/web-fetch/web-hosts.js +19 -0
  324. package/dist/web-fetch/web-hosts.js.map +1 -0
  325. package/docs/connectors.md +5 -6
  326. package/locales/ar.json +81 -5
  327. package/locales/en.json +81 -5
  328. package/package.json +152 -6
@@ -1,7 +1,9 @@
1
1
  import { z } from '@kvman/sdk';
2
2
  import { delay } from "../delay.js";
3
3
  import { cancelJob, jobDetail, jobRows } from "../jobs/job-rows.js";
4
+ import { records } from "../store/collections.js";
4
5
  import { callInput } from "./connector-command.js";
6
+ import { cutInto } from "./payload-fields.js";
5
7
  // The `background` connector (plan 08 §8.5, ADR 0011, 6): what this chat started with `background: true`, a process or
6
8
  // a subagent, listed, read, waited for, or stopped by the id the starting call returned. The agent sees no kernel job.
7
9
  /** What the prompt's index says the connector is for. */
@@ -11,29 +13,34 @@ const started = z.strictObject({ id });
11
13
  /** How long `wait` waits when the call names no time, the most it waits, and how often it looks. */
12
14
  export const waitDefaultMs = 120_000;
13
15
  export const waitLimitMs = 600_000;
16
+ const waitLeastMs = 1_000;
17
+ const linesDefault = 100;
18
+ const linesLimit = 500;
14
19
  const lookEveryMs = 500;
15
20
  const titleShown = 80;
16
21
  const payloads = {
17
22
  list: z.strictObject({}),
18
- output: z.strictObject({ id, lines: z.number().int().min(1).max(500).describe("How many of a process's last lines to return: 100 by default, 500 at most.").exactOptional() }),
19
- wait: z.strictObject({ id, timeoutMs: z.number().int().min(1000).max(waitLimitMs).describe('The most to wait, in milliseconds: 120000 by default, 600000 at most.').exactOptional() }),
23
+ output: z.strictObject({ id, lines: z.number().int().describe("How many of a process's last lines to return: 100 by default, 500 at most; a larger number is cut to 500.").exactOptional() }),
24
+ wait: z.strictObject({ id, timeoutMs: z.number().int().describe('The most to wait, in milliseconds: 120000 by default, from 1000 to 600000; a number outside them is cut into them.').exactOptional() }),
20
25
  stop: started,
21
26
  };
22
27
  export const backgroundCommands = {
23
28
  list: { registration: 'kvcoder.background.list', description: "Lists this chat's newest 50 background runs, newest first, each with its id, kind, title, and status.", payload: payloads.list, asks: false },
24
- output: { registration: 'kvcoder.background.output.get', description: "Gives one background run's status, and its output (a process's last lines, a subagent's answer, or what a program worker's run returned).", payload: payloads.output, asks: false },
25
- wait: { registration: 'kvcoder.background.wait', description: 'Waits until a background run ends or the time passes, then gives its status and output as output does.', payload: payloads.wait, asks: false },
29
+ output: { registration: 'kvcoder.background.output.get', description: "Gives one background run's status, and its output (a process's last lines, a subagent's answer, or what a program worker's run returned); a subagent's also says how far it got (progress) and, when its status is waiting, the calls it waits on the person for (waitingFor).", payload: payloads.output, asks: false },
30
+ wait: { registration: 'kvcoder.background.wait', description: 'Waits until a background run ends, a helper starts waiting on the person (status waiting), the person sends a message (note), or the time passes, then gives its status and output as output does.', payload: payloads.wait, asks: false },
26
31
  stop: { registration: 'kvcoder.background.stop', description: "Stops a background process or a program worker's run, or cancels a background subagent.", payload: payloads.stop, asks: false },
27
32
  };
28
33
  const times = { status: z.string(), startedAt: z.string(), endedAt: z.string().exactOptional(), exitCode: z.number().int().exactOptional() };
29
34
  const kind = z.enum(['process', 'subagent', 'worker']);
30
35
  const rowSchema = z.object({ id: z.string(), kind, call: z.string(), ...times });
31
36
  const shortRowSchema = z.object({ id: z.string(), kind, title: z.string(), ...times });
32
- const detailSchema = rowSchema.extend({ output: z.json().exactOptional(), problem: z.json().exactOptional() });
37
+ const detailSchema = rowSchema.extend({ output: z.json().exactOptional(), problem: z.json().exactOptional(), progress: z.object({ steps: z.number().int(), lastActivityAt: z.string(), recentCalls: z.array(z.string()) }).exactOptional(), waitingFor: z.array(z.string()).exactOptional(), note: z.string().exactOptional() });
33
38
  const ended = (row) => ({ ...(row.endedAt === undefined ? {} : { endedAt: row.endedAt }), ...(row.exitCode === undefined ? {} : { exitCode: row.exitCode }) });
34
39
  const forAgent = (row) => ({ id: row.id, kind: row.kind, call: row.call, status: row.status, startedAt: row.startedAt, ...ended(row) });
35
40
  // A list names each run in a few words (ADR 0068, 2): the whole line or task is in `output`.
36
41
  const shortRow = (row) => ({ id: row.id, kind: row.kind, title: row.title.length > titleShown ? `${row.title.slice(0, titleShown - 1)}…` : row.title, status: row.status, startedAt: row.startedAt, ...ended(row) });
42
+ // A message from the person queued for the chat ends a wait, so the step ends and the message is read (ADR 0085, 3).
43
+ const personWrote = async (ctx, sessionId) => (await records(ctx.store).queued.find({ sessionId }, { limit: 100 })).some((item) => item.source.kind === 'user');
37
44
  async function startedBy(ctx, sessionId, runId, lines) {
38
45
  const found = await jobDetail(ctx, sessionId, runId, lines);
39
46
  if (found === undefined)
@@ -53,11 +60,12 @@ export function registerBackgroundConnector(ctx) {
53
60
  input: callInput(payloads.output),
54
61
  output: detailSchema,
55
62
  handle: async ({ sessionId, payload }) => {
56
- const found = await startedBy(ctx, sessionId, payload.id, payload.lines);
63
+ const found = await startedBy(ctx, sessionId, payload.id, cutInto(payload.lines ?? linesDefault, 1, linesLimit));
57
64
  return { ...forAgent(found.row), ...found.detail };
58
65
  },
59
66
  });
60
67
  // A run is looked at until it has ended (ADR 0068, 1), as a line in the shell waits on its process: the wait is this job's own.
68
+ // It ends early when a helper starts waiting on the person (ADR 0085, 2) or the person sends a message (ADR 0085, 3).
61
69
  ctx.registerCommand('kvcoder.background.wait', {
62
70
  description: commands.wait.description,
63
71
  input: callInput(payloads.wait),
@@ -65,9 +73,11 @@ export function registerBackgroundConnector(ctx) {
65
73
  retries: 0,
66
74
  timeoutMs: waitLimitMs + 60_000,
67
75
  handle: async ({ sessionId, payload }) => {
68
- const until = Date.now() + (payload.timeoutMs ?? waitDefaultMs);
76
+ const until = Date.now() + cutInto(payload.timeoutMs ?? waitDefaultMs, waitLeastMs, waitLimitMs);
69
77
  let found = await startedBy(ctx, sessionId, payload.id);
70
78
  while (found.row.status === 'running' && Date.now() < until) {
79
+ if (await personWrote(ctx, sessionId))
80
+ return { ...forAgent(found.row), ...found.detail, note: 'The person sent a message.' };
71
81
  await delay(Math.min(lookEveryMs, until - Date.now()), ctx.job.signal);
72
82
  ctx.job.signal.throwIfAborted();
73
83
  found = await startedBy(ctx, sessionId, payload.id);
@@ -1 +1 @@
1
- {"version":3,"file":"background.js","sourceRoot":"","sources":["../../src/connectors/background.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAY,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAe,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,SAAS,EAAyB,MAAM,wBAAwB,CAAC;AAE1E,uHAAuH;AACvH,uHAAuH;AAEvH,yDAAyD;AACzD,MAAM,CAAC,MAAM,qBAAqB,GAChC,gYAAgY,CAAC;AAEnY,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,uDAAuD,CAAC,CAAC;AAC/F,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAEvC,oGAAoG;AACpG,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC;AACrC,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC;AACnC,MAAM,WAAW,GAAG,GAAG,CAAC;AACxB,MAAM,UAAU,GAAG,EAAE,CAAC;AAEtB,MAAM,QAAQ,GAAG;IACf,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;IACxB,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,4EAA4E,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC;IAC9K,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,uEAAuE,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC;IACtL,IAAI,EAAE,OAAO;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,EAAE,YAAY,EAAE,yBAAyB,EAAE,WAAW,EAAE,uGAAuG,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;IAC5M,MAAM,EAAE,EAAE,YAAY,EAAE,+BAA+B,EAAE,WAAW,EAAE,2IAA2I,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC1P,IAAI,EAAE,EAAE,YAAY,EAAE,yBAAyB,EAAE,WAAW,EAAE,wGAAwG,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;IAC7M,IAAI,EAAE,EAAE,YAAY,EAAE,yBAAyB,EAAE,WAAW,EAAE,yFAAyF,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;CACpJ,CAAC;AAE7C,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC;AAC7I,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AACvD,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;AACjF,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;AACvF,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AAE/G,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;AACvK,MAAM,QAAQ,GAAG,CAAC,GAAW,EAA8B,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC5K,6FAA6F;AAC7F,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAmC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAE9P,KAAK,UAAU,SAAS,CAAC,GAAQ,EAAE,SAAiB,EAAE,KAAa,EAAE,KAAc;IACjF,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5D,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9F,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC;AAEpC,MAAM,UAAU,2BAA2B,CAAC,GAAQ;IAClD,GAAG,CAAC,aAAa,CAAC,yBAAyB,EAAE;QAC3C,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW;QACtC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;QAC/B,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;KAC/E,CAAC,CAAC;IACH,GAAG,CAAC,aAAa,CAAC,+BAA+B,EAAE;QACjD,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW;QACxC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;QACjC,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACzE,OAAO,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACrD,CAAC;KACF,CAAC,CAAC;IACH,gIAAgI;IAChI,GAAG,CAAC,eAAe,CAAC,yBAAyB,EAAE;QAC7C,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW;QACtC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,WAAW,GAAG,MAAM;QAC/B,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,aAAa,CAAC,CAAC;YAChE,IAAI,KAAK,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACxD,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;gBAC5D,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACvE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBAChC,KAAK,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACrD,CAAC;KACF,CAAC,CAAC;IACH,GAAG,CAAC,eAAe,CAAC,yBAAyB,EAAE;QAC7C,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW;QACtC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,MAAM,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;KACrJ,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"background.js","sourceRoot":"","sources":["../../src/connectors/background.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAY,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAe,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAyB,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,uHAAuH;AACvH,uHAAuH;AAEvH,yDAAyD;AACzD,MAAM,CAAC,MAAM,qBAAqB,GAChC,gYAAgY,CAAC;AAEnY,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,uDAAuD,CAAC,CAAC;AAC/F,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAEvC,oGAAoG;AACpG,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC;AACrC,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC;AACnC,MAAM,WAAW,GAAG,KAAK,CAAC;AAC1B,MAAM,YAAY,GAAG,GAAG,CAAC;AACzB,MAAM,UAAU,GAAG,GAAG,CAAC;AACvB,MAAM,WAAW,GAAG,GAAG,CAAC;AACxB,MAAM,UAAU,GAAG,EAAE,CAAC;AAEtB,MAAM,QAAQ,GAAG;IACf,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;IACxB,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,2GAA2G,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC;IAC7L,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,oHAAoH,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC;IACxM,IAAI,EAAE,OAAO;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,EAAE,YAAY,EAAE,yBAAyB,EAAE,WAAW,EAAE,uGAAuG,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;IAC5M,MAAM,EAAE,EAAE,YAAY,EAAE,+BAA+B,EAAE,WAAW,EAAE,gRAAgR,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAC/X,IAAI,EAAE,EAAE,YAAY,EAAE,yBAAyB,EAAE,WAAW,EAAE,oMAAoM,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;IACzS,IAAI,EAAE,EAAE,YAAY,EAAE,yBAAyB,EAAE,WAAW,EAAE,yFAAyF,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;CACpJ,CAAC;AAE7C,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC;AAC7I,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AACvD,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;AACjF,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;AACvF,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AAEjU,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;AACvK,MAAM,QAAQ,GAAG,CAAC,GAAW,EAA8B,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC5K,6FAA6F;AAC7F,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAmC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAE9P,qHAAqH;AACrH,MAAM,WAAW,GAAG,KAAK,EAAE,GAAQ,EAAE,SAAiB,EAAoB,EAAE,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;AAE/L,KAAK,UAAU,SAAS,CAAC,GAAQ,EAAE,SAAiB,EAAE,KAAa,EAAE,KAAc;IACjF,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5D,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9F,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC;AAEpC,MAAM,UAAU,2BAA2B,CAAC,GAAQ;IAClD,GAAG,CAAC,aAAa,CAAC,yBAAyB,EAAE;QAC3C,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW;QACtC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;QAC/B,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;KAC/E,CAAC,CAAC;IACH,GAAG,CAAC,aAAa,CAAC,+BAA+B,EAAE;QACjD,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW;QACxC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;QACjC,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,YAAY,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;YACjH,OAAO,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACrD,CAAC;KACF,CAAC,CAAC;IACH,gIAAgI;IAChI,sHAAsH;IACtH,GAAG,CAAC,eAAe,CAAC,yBAAyB,EAAE;QAC7C,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW;QACtC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,WAAW,GAAG,MAAM;QAC/B,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,IAAI,aAAa,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;YACjG,IAAI,KAAK,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACxD,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;gBAC5D,IAAI,MAAM,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC;oBAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC;gBAC9H,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACvE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBAChC,KAAK,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACrD,CAAC;KACF,CAAC,CAAC;IACH,GAAG,CAAC,eAAe,CAAC,yBAAyB,EAAE;QAC7C,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW;QACtC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,MAAM,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;KACrJ,CAAC,CAAC;AACL,CAAC"}
@@ -15,12 +15,12 @@ export function registerBinaryConnector(ctx) {
15
15
  input: lineCallInput(execPayload).extend({ connector: z.string().describe('The binary connector whose program runs.') }),
16
16
  output: lineRunSchema,
17
17
  ...lineRunOptions,
18
- handle: async ({ sessionId, description, connector, payload }) => {
18
+ handle: async ({ sessionId, connector, payload }) => {
19
19
  const binary = (await activeConnectors(ctx)).find((candidate) => candidate.name === connector && candidate.kind === 'binary');
20
20
  if (binary === undefined)
21
21
  throw notFound(`There is no binary connector ${connector}.`, { connector });
22
22
  const args = payload.args?.trim() ?? '';
23
- return runLine(ctx, { sessionId, description }, args === '' ? connector : `${connector} ${args}`, payload);
23
+ return runLine(ctx, sessionId, args === '' ? connector : `${connector} ${args}`, payload);
24
24
  },
25
25
  });
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"binary.js","sourceRoot":"","sources":["../../src/connectors/binary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAY,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAyB,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEnE,kHAAkH;AAClH,sHAAsH;AACtH,oEAAoE;AAEpE,MAAM,WAAW,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;AAEnL,MAAM,CAAC,MAAM,UAAU,GAAqB,EAAE,YAAY,EAAE,oBAAoB,EAAE,WAAW,EAAE,uFAAuF,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAE/O,MAAM,UAAU,uBAAuB,CAAC,GAAQ;IAC9C,GAAG,CAAC,eAAe,CAAC,oBAAoB,EAAE;QACxC,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC,EAAE,CAAC;QACxH,MAAM,EAAE,aAAa;QACrB,GAAG,cAAc;QACjB,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;YAC/D,MAAM,MAAM,GAAG,CAAC,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YAC9H,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM,QAAQ,CAAC,gCAAgC,SAAS,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YACtG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACxC,OAAO,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAC7G,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"binary.js","sourceRoot":"","sources":["../../src/connectors/binary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAY,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAyB,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEnE,kHAAkH;AAClH,sHAAsH;AACtH,oEAAoE;AAEpE,MAAM,WAAW,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;AAEnL,MAAM,CAAC,MAAM,UAAU,GAAqB,EAAE,YAAY,EAAE,oBAAoB,EAAE,WAAW,EAAE,uFAAuF,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAE/O,MAAM,UAAU,uBAAuB,CAAC,GAAQ;IAC9C,GAAG,CAAC,eAAe,CAAC,oBAAoB,EAAE;QACxC,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC,EAAE,CAAC;QACxH,MAAM,EAAE,aAAa;QACrB,GAAG,cAAc;QACjB,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;YAClD,MAAM,MAAM,GAAG,CAAC,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YAC9H,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM,QAAQ,CAAC,gCAAgC,SAAS,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YACtG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACxC,OAAO,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAC5F,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -28,6 +28,19 @@ export declare const builtinCommands: {
28
28
  asks: false;
29
29
  bounded: true;
30
30
  };
31
+ 'read-files': {
32
+ registration: string;
33
+ description: string;
34
+ payload: import("zod").ZodObject<{
35
+ files: import("zod").ZodArray<import("zod").ZodObject<{
36
+ path: import("zod").ZodString;
37
+ fromLine: import("zod").ZodExactOptional<import("zod").ZodNumber>;
38
+ lines: import("zod").ZodExactOptional<import("zod").ZodNumber>;
39
+ }, import("zod/v4/core").$strict>>;
40
+ }, import("zod/v4/core").$strict>;
41
+ asks: false;
42
+ bounded: true;
43
+ };
31
44
  list: {
32
45
  registration: string;
33
46
  description: string;
@@ -37,6 +50,16 @@ export declare const builtinCommands: {
37
50
  asks: false;
38
51
  bounded: true;
39
52
  };
53
+ find: {
54
+ registration: string;
55
+ description: string;
56
+ payload: import("zod").ZodObject<{
57
+ pattern: import("zod").ZodString;
58
+ path: import("zod").ZodExactOptional<import("zod").ZodString>;
59
+ }, import("zod/v4/core").$strict>;
60
+ asks: false;
61
+ bounded: true;
62
+ };
40
63
  search: {
41
64
  registration: string;
42
65
  description: string;
@@ -45,6 +68,8 @@ export declare const builtinCommands: {
45
68
  path: import("zod").ZodExactOptional<import("zod").ZodString>;
46
69
  literal: import("zod").ZodExactOptional<import("zod").ZodBoolean>;
47
70
  glob: import("zod").ZodExactOptional<import("zod").ZodString>;
71
+ context: import("zod").ZodExactOptional<import("zod").ZodNumber>;
72
+ filesOnly: import("zod").ZodExactOptional<import("zod").ZodBoolean>;
48
73
  }, import("zod/v4/core").$strict>;
49
74
  asks: false;
50
75
  bounded: true;
@@ -67,6 +92,7 @@ export declare const builtinCommands: {
67
92
  edits: import("zod").ZodArray<import("zod").ZodObject<{
68
93
  oldText: import("zod").ZodString;
69
94
  newText: import("zod").ZodString;
95
+ replaceAll: import("zod").ZodExactOptional<import("zod").ZodBoolean>;
70
96
  }, import("zod/v4/core").$strict>>;
71
97
  risky: import("zod").ZodBoolean;
72
98
  }, import("zod/v4/core").$strict>;
@@ -126,6 +152,7 @@ export declare const builtinCommands: {
126
152
  edits: import("zod").ZodArray<import("zod").ZodObject<{
127
153
  oldText: import("zod").ZodString;
128
154
  newText: import("zod").ZodString;
155
+ replaceAll: import("zod").ZodExactOptional<import("zod").ZodBoolean>;
129
156
  }, import("zod/v4/core").$strict>>;
130
157
  }, import("zod/v4/core").$strict>;
131
158
  asks: false;
@@ -148,7 +175,6 @@ export declare const builtinCommands: {
148
175
  steps: import("zod").ZodArray<import("zod").ZodObject<{
149
176
  id: import("zod").ZodString;
150
177
  title: import("zod").ZodString;
151
- description: import("zod").ZodString;
152
178
  after: import("zod").ZodExactOptional<import("zod").ZodArray<import("zod").ZodString>>;
153
179
  uses: import("zod").ZodExactOptional<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodArray<import("zod").ZodString>]>>;
154
180
  check: import("zod").ZodString;
@@ -157,6 +183,16 @@ export declare const builtinCommands: {
157
183
  asks: false;
158
184
  result: string;
159
185
  };
186
+ detail: {
187
+ registration: string;
188
+ description: string;
189
+ payload: import("zod").ZodObject<{
190
+ id: import("zod").ZodString;
191
+ details: import("zod").ZodString;
192
+ }, import("zod/v4/core").$strict>;
193
+ asks: false;
194
+ result: string;
195
+ };
160
196
  update: {
161
197
  registration: string;
162
198
  description: string;
@@ -189,7 +225,9 @@ export declare const builtinCommands: {
189
225
  get: {
190
226
  registration: string;
191
227
  description: string;
192
- payload: import("zod").ZodObject<{}, import("zod/v4/core").$strict>;
228
+ payload: import("zod").ZodObject<{
229
+ id: import("zod").ZodExactOptional<import("zod").ZodString>;
230
+ }, import("zod/v4/core").$strict>;
193
231
  asks: false;
194
232
  };
195
233
  };
@@ -278,6 +316,17 @@ export declare const builtinCommands: {
278
316
  asks: false;
279
317
  result: string;
280
318
  };
319
+ continue: {
320
+ registration: string;
321
+ description: string;
322
+ payload: import("zod").ZodObject<{
323
+ id: import("zod").ZodString;
324
+ message: import("zod").ZodString;
325
+ background: import("zod").ZodExactOptional<import("zod").ZodBoolean>;
326
+ }, import("zod/v4/core").$strict>;
327
+ asks: false;
328
+ result: string;
329
+ };
281
330
  };
282
331
  mcp: {
283
332
  tools: {
@@ -318,6 +367,17 @@ export declare const builtinCommands: {
318
367
  result: string;
319
368
  };
320
369
  };
370
+ web: {
371
+ fetch: {
372
+ registration: string;
373
+ description: string;
374
+ payload: import("zod").ZodObject<{
375
+ url: import("zod").ZodString;
376
+ }, import("zod/v4/core").$strict>;
377
+ asks: false;
378
+ bounded: true;
379
+ };
380
+ };
321
381
  };
322
382
  /** A built-in connector's commands by name, in the order `help` lists them. */
323
383
  export declare function commandsOf(connector: BuiltinConnector): Readonly<Record<string, ConnectorCommand>>;
@@ -1 +1 @@
1
- {"version":3,"file":"builtin-connectors.d.ts","sourceRoot":"","sources":["../../src/connectors/builtin-connectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAI/E,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAUlF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAS0C,CAAC;AAEvE,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,SAAS,EAAE,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAElG;AAED,8HAA8H;AAC9H,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAElG;AAYD,wGAAwG;AACxG,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CASzE,CAAC"}
1
+ {"version":3,"file":"builtin-connectors.d.ts","sourceRoot":"","sources":["../../src/connectors/builtin-connectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAI/E,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAWlF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAU0C,CAAC;AAEvE,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,SAAS,EAAE,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAElG;AAED,8HAA8H;AAC9H,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAElG;AAYD,wGAAwG;AACxG,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAUzE,CAAC"}
@@ -8,6 +8,7 @@ import { executionMapCommands, executionMapDescription } from "./execution-map.j
8
8
  import { fsCommands, fsDescription } from "./fs.js";
9
9
  import { mcpCommands, mcpDescription } from "./mcp.js";
10
10
  import { shellCommands, shellDescription } from "./shell.js";
11
+ import { webCommands, webDescription } from "./web.js";
11
12
  // kvcoder's own connectors together (plan 08 §8.3 and §8.5): each lives in its own file, with its description, its
12
13
  // payloads, its commands, and the jobs behind them.
13
14
  export const builtinCommands = {
@@ -19,6 +20,7 @@ export const builtinCommands = {
19
20
  ask: askCommands,
20
21
  delegate: delegateCommands,
21
22
  mcp: mcpCommands,
23
+ web: webCommands,
22
24
  };
23
25
  /** A built-in connector's commands by name, in the order `help` lists them. */
24
26
  export function commandsOf(connector) {
@@ -26,7 +28,7 @@ export function commandsOf(connector) {
26
28
  }
27
29
  /** What the prompt's connector index and `help` say each built-in connector is for; `shell` names the shell this run uses. */
28
30
  export function builtinDescriptions(shell) {
29
- return { shell: shellDescription(shell), fs: fsDescription, artifact: artifactDescription, 'execution-map': executionMapDescription, background: backgroundDescription, ask: askDescription, delegate: delegateDescription, mcp: mcpDescription };
31
+ return { shell: shellDescription(shell), fs: fsDescription, artifact: artifactDescription, 'execution-map': executionMapDescription, background: backgroundDescription, ask: askDescription, delegate: delegateDescription, mcp: mcpDescription, web: webDescription };
30
32
  }
31
33
  // Each built-in payload is an object, so a missing signature is a programming error, not a case the prompt may fall
32
34
  // back from; computed once per worker, not at every prompt build. In the order of `commandsOf`, like the prompt's lines.
@@ -48,5 +50,6 @@ export const builtinSignatures = {
48
50
  ask: signaturesOf('ask'),
49
51
  delegate: signaturesOf('delegate'),
50
52
  mcp: signaturesOf('mcp'),
53
+ web: signaturesOf('web'),
51
54
  };
52
55
  //# sourceMappingURL=builtin-connectors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"builtin-connectors.js","sourceRoot":"","sources":["../../src/connectors/builtin-connectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAyB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAyB,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE7D,mHAAmH;AACnH,oDAAoD;AAEpD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE,aAAa;IACpB,EAAE,EAAE,UAAU;IACd,QAAQ,EAAE,gBAAgB;IAC1B,eAAe,EAAE,oBAAoB;IACrC,UAAU,EAAE,kBAAkB;IAC9B,GAAG,EAAE,WAAW;IAChB,QAAQ,EAAE,gBAAgB;IAC1B,GAAG,EAAE,WAAW;CACoD,CAAC;AAEvE,+EAA+E;AAC/E,MAAM,UAAU,UAAU,CAAC,SAA2B;IACpD,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC;AAED,8HAA8H;AAC9H,MAAM,UAAU,mBAAmB,CAAC,KAA4B;IAC9D,OAAO,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,mBAAmB,EAAE,eAAe,EAAE,uBAAuB,EAAE,UAAU,EAAE,qBAAqB,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,mBAAmB,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC;AACpP,CAAC;AAED,oHAAoH;AACpH,yHAAyH;AACzH,SAAS,YAAY,CAAC,SAA2B;IAC/C,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC1D,MAAM,SAAS,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACvE,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,SAAS,4BAA4B,CAAC,CAAC;QACxG,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,wGAAwG;AACxG,MAAM,CAAC,MAAM,iBAAiB,GAAgD;IAC5E,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC;IAC5B,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC;IACtB,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC;IAClC,eAAe,EAAE,YAAY,CAAC,eAAe,CAAC;IAC9C,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC;IACtC,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC;IACxB,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC;IAClC,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC;CACzB,CAAC"}
1
+ {"version":3,"file":"builtin-connectors.js","sourceRoot":"","sources":["../../src/connectors/builtin-connectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAyB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAyB,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEvD,mHAAmH;AACnH,oDAAoD;AAEpD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE,aAAa;IACpB,EAAE,EAAE,UAAU;IACd,QAAQ,EAAE,gBAAgB;IAC1B,eAAe,EAAE,oBAAoB;IACrC,UAAU,EAAE,kBAAkB;IAC9B,GAAG,EAAE,WAAW;IAChB,QAAQ,EAAE,gBAAgB;IAC1B,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,WAAW;CACoD,CAAC;AAEvE,+EAA+E;AAC/E,MAAM,UAAU,UAAU,CAAC,SAA2B;IACpD,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC;AAED,8HAA8H;AAC9H,MAAM,UAAU,mBAAmB,CAAC,KAA4B;IAC9D,OAAO,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,mBAAmB,EAAE,eAAe,EAAE,uBAAuB,EAAE,UAAU,EAAE,qBAAqB,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,mBAAmB,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC;AACzQ,CAAC;AAED,oHAAoH;AACpH,yHAAyH;AACzH,SAAS,YAAY,CAAC,SAA2B;IAC/C,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC1D,MAAM,SAAS,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACvE,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,SAAS,4BAA4B,CAAC,CAAC;QACxG,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,wGAAwG;AACxG,MAAM,CAAC,MAAM,iBAAiB,GAAgD;IAC5E,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC;IAC5B,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC;IACtB,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC;IAClC,eAAe,EAAE,YAAY,CAAC,eAAe,CAAC;IAC9C,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC;IACtC,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC;IACxB,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC;IAClC,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC;IACxB,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC;CACzB,CAAC"}
@@ -20,7 +20,6 @@ export declare function callInput<Payload extends z.ZodType>(payload: Payload):
20
20
  /** The same for a command that runs in the real shell: with the call's description, which names a background run. */
21
21
  export declare function lineCallInput<Payload extends z.ZodType>(payload: Payload): z.ZodObject<{
22
22
  sessionId: z.ZodString;
23
- description: z.ZodString;
24
23
  payload: Payload;
25
24
  }, z.core.$strict>;
26
25
  //# sourceMappingURL=connector-command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connector-command.d.ts","sourceRoot":"","sources":["../../src/connectors/connector-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAO1C,MAAM,MAAM,gBAAgB,GAAG;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAEjK,sDAAsD;AACtD,eAAO,MAAM,UAAU,6CAA6C,CAAC;AAErE,0FAA0F;AAC1F,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,GAAG,IAAI,CAE1D;AAID,6EAA6E;AAC7E,wBAAgB,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO;;;mBAEpE;AAED,qHAAqH;AACrH,wBAAgB,aAAa,CAAC,OAAO,SAAS,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO;;;;mBAExE"}
1
+ {"version":3,"file":"connector-command.d.ts","sourceRoot":"","sources":["../../src/connectors/connector-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAO1C,MAAM,MAAM,gBAAgB,GAAG;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAEjK,sDAAsD;AACtD,eAAO,MAAM,UAAU,6CAA6C,CAAC;AAErE,0FAA0F;AAC1F,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,GAAG,IAAI,CAE1D;AAID,6EAA6E;AAC7E,wBAAgB,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO;;;mBAEpE;AAED,qHAAqH;AACrH,wBAAgB,aAAa,CAAC,OAAO,SAAS,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO;;;mBAExE"}
@@ -12,6 +12,6 @@ export function callInput(payload) {
12
12
  }
13
13
  /** The same for a command that runs in the real shell: with the call's description, which names a background run. */
14
14
  export function lineCallInput(payload) {
15
- return z.strictObject({ sessionId, description: z.string().describe("The call's description, for the person."), payload: payload.describe("The command's payload.") });
15
+ return z.strictObject({ sessionId, payload: payload.describe("The command's payload.") });
16
16
  }
17
17
  //# sourceMappingURL=connector-command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connector-command.js","sourceRoot":"","sources":["../../src/connectors/connector-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAa,MAAM,YAAY,CAAC;AAS1C,sDAAsD;AACtD,MAAM,CAAC,MAAM,UAAU,GAAG,0CAA0C,CAAC;AAErE,0FAA0F;AAC1F,MAAM,UAAU,iBAAiB,CAAC,OAAkB;IAClD,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;AAEvE,6EAA6E;AAC7E,MAAM,UAAU,SAAS,CAA4B,OAAgB;IACnE,OAAO,CAAC,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;AAC5F,CAAC;AAED,qHAAqH;AACrH,MAAM,UAAU,aAAa,CAA4B,OAAgB;IACvE,OAAO,CAAC,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;AACzK,CAAC"}
1
+ {"version":3,"file":"connector-command.js","sourceRoot":"","sources":["../../src/connectors/connector-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAa,MAAM,YAAY,CAAC;AAS1C,sDAAsD;AACtD,MAAM,CAAC,MAAM,UAAU,GAAG,0CAA0C,CAAC;AAErE,0FAA0F;AAC1F,MAAM,UAAU,iBAAiB,CAAC,OAAkB;IAClD,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;AAEvE,6EAA6E;AAC7E,MAAM,UAAU,SAAS,CAA4B,OAAgB;IACnE,OAAO,CAAC,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;AAC5F,CAAC;AAED,qHAAqH;AACrH,MAAM,UAAU,aAAa,CAA4B,OAAgB;IACvE,OAAO,CAAC,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;AAC5F,CAAC"}
@@ -12,6 +12,11 @@ export declare const delegateRunSchema: z.ZodObject<{
12
12
  task: z.ZodString;
13
13
  background: z.ZodExactOptional<z.ZodBoolean>;
14
14
  }, z.core.$strict>;
15
+ export declare const delegateContinueSchema: z.ZodObject<{
16
+ id: z.ZodString;
17
+ message: z.ZodString;
18
+ background: z.ZodExactOptional<z.ZodBoolean>;
19
+ }, z.core.$strict>;
15
20
  export declare const delegateCommands: {
16
21
  run: {
17
22
  registration: string;
@@ -25,7 +30,19 @@ export declare const delegateCommands: {
25
30
  asks: false;
26
31
  result: string;
27
32
  };
33
+ continue: {
34
+ registration: string;
35
+ description: string;
36
+ payload: z.ZodObject<{
37
+ id: z.ZodString;
38
+ message: z.ZodString;
39
+ background: z.ZodExactOptional<z.ZodBoolean>;
40
+ }, z.core.$strict>;
41
+ asks: false;
42
+ result: string;
43
+ };
28
44
  };
45
+ export type DelegateContinue = z.output<typeof delegateContinueSchema>;
29
46
  export type DelegateRun = z.output<typeof delegateRunSchema>;
30
47
  export declare function registerDelegateConnector(ctx: Ctx): void;
31
48
  /** Creates the worker's child session, named by the run's title (ADR 0037, 2), with the task as its first message. */
@@ -1 +1 @@
1
- {"version":3,"file":"delegate.d.ts","sourceRoot":"","sources":["../../src/connectors/delegate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAmB,KAAK,cAAc,EAAE,KAAK,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAI3F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAYxD,+FAA+F;AAC/F,eAAO,MAAM,mBAAmB,6NAC4L,CAAC;AAE7N,4GAA4G;AAC5G,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAE3E;AAOD,eAAO,MAAM,iBAAiB;;;;;kBAK5B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;CAEe,CAAC;AAE7C,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE7D,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAYxD;AAED,sHAAsH;AACtH,wBAAsB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAqC3K;AAED,sHAAsH;AACtH,wBAAsB,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAW/F"}
1
+ {"version":3,"file":"delegate.d.ts","sourceRoot":"","sources":["../../src/connectors/delegate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAoC,KAAK,cAAc,EAAE,KAAK,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAI5G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAcxD,+FAA+F;AAC/F,eAAO,MAAM,mBAAmB,6NAC4L,CAAC;AAK7N,4GAA4G;AAC5G,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAE3E;AAOD,eAAO,MAAM,iBAAiB;;;;;kBAK5B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;kBAIjC,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;CAGe,CAAC;AAE7C,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEvE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE7D,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAYxD;AAED,sHAAsH;AACtH,wBAAsB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CA+C3K;AAQD,sHAAsH;AACtH,wBAAsB,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAW/F"}
@@ -1,11 +1,13 @@
1
1
  import { z } from '@kvman/sdk';
2
- import { availableWorker } from "../delegate/workers.js";
2
+ import { availableWorker, workerCheckName } from "../delegate/workers.js";
3
3
  import { firePoint } from "../registry/session-points.js";
4
4
  import { invalid } from "../problems.js";
5
5
  import { settingSchemas } from "../register-settings.js";
6
6
  import { now } from "../sessions/session-lookup.js";
7
7
  import { records, txRecords } from "../store/collections.js";
8
8
  import { appendMessage, noUsage, userContent } from "../turns/history.js";
9
+ import { modelInfo } from "../turns/model-info.js";
10
+ import { nearestLevel } from "../thinking-levels.js";
9
11
  import { beginTurn, openTurn } from "../turns/start-turn.js";
10
12
  import { callInput } from "./connector-command.js";
11
13
  // The `delegate` connector (plan 08 §8.5, ADR 0021): a task handed to a worker. A subagent worker runs it in a hidden
@@ -14,9 +16,11 @@ import { callInput } from "./connector-command.js";
14
16
  // step then starts the child (ADR 0011, 9).
15
17
  /** What the prompt's index says the connector is for; the session's entry adds its workers. */
16
18
  export const delegateDescription = 'Hand a self-contained task to a worker: a helper agent that works on it alone and returns its answer. Use it for a specialist view or to do a separate part in parallel, or with background set to true while you go on.';
19
+ // A read-only worker says so, so the lead hands it no change to make (ADR 0085, 9).
20
+ const readOnlyNote = (worker) => (worker.kind === 'subagent' && worker.readOnly ? '; read-only' : '');
17
21
  /** The connector's description with the available workers, as the prompt's index shows it (ADR 0021, 1). */
18
22
  export function delegateIndexDescription(workers) {
19
- return `${delegateDescription} Workers: ${workers.map((worker) => `${worker.name} (${worker.description.replace(/[.\s]+$/, '')})`).join(', ')}.`;
23
+ return `${delegateDescription} Workers: ${workers.map((worker) => `${worker.name} (${worker.description.replace(/[.\s]+$/, '')}${readOnlyNote(worker)})`).join(', ')}.`;
20
24
  }
21
25
  const titleShown = 60;
22
26
  // A helper's name as the person sees it: a title over 60 characters keeps its first 59 and an ellipsis (ADR 0051, 4).
@@ -27,8 +31,14 @@ export const delegateRunSchema = z.strictObject({
27
31
  task: z.string().min(1).describe("The worker's whole brief: the goal, the facts it needs, its limits, and what to return."),
28
32
  background: z.boolean().describe('true lets you go on at once; the answer arrives later as a message.').exactOptional(),
29
33
  });
34
+ export const delegateContinueSchema = z.strictObject({
35
+ id: z.string().min(1).describe('The helper to continue: the id in the line (helper <id>) under its result.'),
36
+ message: z.string().min(1).describe('What the helper is to do next; it still has its task and everything it did.'),
37
+ background: z.boolean().describe('true lets you go on at once; the answer arrives later as a message.').exactOptional(),
38
+ });
30
39
  export const delegateCommands = {
31
40
  run: { registration: 'kvcoder.delegate.check', description: 'Runs a worker on a task; several runs in one reply run in parallel.', payload: delegateRunSchema, asks: false, result: "the worker's final answer, or started <id> with background." },
41
+ continue: { registration: 'kvcoder.delegate.continue.check', description: 'Sends a follow-up to a helper of this chat that has ended, such as one that came back blocked or with questions: it continues with its own history.', payload: delegateContinueSchema, asks: false, result: "the helper's new answer, or started <id> with background." },
32
42
  };
33
43
  export function registerDelegateConnector(ctx) {
34
44
  ctx.registerCommand('kvcoder.delegate.check', {
@@ -47,12 +57,18 @@ export function registerDelegateConnector(ctx) {
47
57
  export async function createChild(ctx, parent, worker, run, guard) {
48
58
  // A worker that names no model uses the one set for helpers, and the chat's own when none is (ADR 0069, 3).
49
59
  const helperModel = settingSchemas.model.parse(await ctx.settings.get('kvcoder.delegate.model'));
60
+ // The helper's level is one its model has (ADR 0087, 11); the levels are looked up before the transaction, for the
61
+ // model the parent has now, and used only when the canonical parent still has it.
62
+ const expected = worker.model ?? helperModel ?? parent.model;
63
+ const levels = (await modelInfo(ctx, expected))?.thinkingLevels;
50
64
  const childId = await ctx.store.transaction((tx) => {
51
65
  const store = txRecords(tx);
52
66
  const canonical = guard(store);
53
67
  if (canonical.id !== parent.id)
54
68
  throw invalid('Delegation requires its originating session.');
55
69
  const stamp = now();
70
+ const model = worker.model ?? helperModel ?? canonical.model;
71
+ const wanted = worker.thinking ?? canonical.thinking;
56
72
  const child = store.sessions.insert({
57
73
  title: shownTitle(run.title),
58
74
  autoTitle: false,
@@ -60,8 +76,11 @@ export async function createChild(ctx, parent, worker, run, guard) {
60
76
  status: 'idle',
61
77
  parentId: parent.id,
62
78
  worker: { name: worker.name, instructions: worker.instructions, readOnly: worker.readOnly },
63
- model: worker.model ?? helperModel ?? canonical.model,
64
- thinking: worker.thinking ?? canonical.thinking,
79
+ model,
80
+ thinking: levels !== undefined && model === expected ? nearestLevel(levels, wanted) : wanted,
81
+ decides: false,
82
+ clearedThroughSeq: null,
83
+ webHosts: [],
65
84
  stepJobId: null,
66
85
  stepGeneration: 0,
67
86
  stepIntentId: null,
@@ -71,7 +90,8 @@ export async function createChild(ctx, parent, worker, run, guard) {
71
90
  usage: noUsage(),
72
91
  usageBy: { summary: noUsage(), title: noUsage(), helpers: noUsage() },
73
92
  durationMs: 0,
74
- checks: null,
93
+ // A helper starts with its parent's check results: it can't delegate, so the program workers' are left out (ADR 0087, 10).
94
+ checks: canonical.checks === null ? null : canonical.checks.filter((check) => !check.name.startsWith(workerCheckName(''))),
75
95
  connectors: worker.connectors,
76
96
  optedIn: [],
77
97
  createdAt: stamp,
@@ -83,6 +103,11 @@ export async function createChild(ctx, parent, worker, run, guard) {
83
103
  await firePoint(ctx, 'kvcoder.session.created', { sessionId: childId, parentId: parent.id });
84
104
  return childId;
85
105
  }
106
+ // A child's turn starts on its parent's newest message: its task, or the message of a `continue` (ADR 0085, 4).
107
+ function awaitsParent(store, child) {
108
+ const [last] = store.messages.find({ sessionId: child.id }, { limit: 1, order: 'desc' });
109
+ return last?.kind === 'user' && last.source?.kind === 'subagent' && last.source.sessionId === child.parentId;
110
+ }
86
111
  /** Starts the child's turn and tells the parent's stream, so the conversation can stream the child (ADR 0009, 99). */
87
112
  export async function startChild(ctx, childId, guard) {
88
113
  const turnId = await ctx.store.transaction((tx) => {
@@ -91,7 +116,7 @@ export async function startChild(ctx, childId, guard) {
91
116
  const child = store.sessions.get(childId);
92
117
  if (child !== undefined && child.parentId !== parent.id)
93
118
  throw invalid('The child no longer belongs to its originating session.');
94
- return child === undefined || child.status !== 'idle' || child.turnId !== null || child.endedTurns !== 0 ? undefined : openTurn(store, child);
119
+ return child === undefined || child.status !== 'idle' || child.turnId !== null || !awaitsParent(store, child) ? undefined : openTurn(store, child);
95
120
  });
96
121
  if (turnId === undefined)
97
122
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../src/connectors/delegate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../src/connectors/delegate.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { z, type Ctx } from '@kvman/sdk';
2
2
  /** What the prompt's index says the connector is for. */
3
- export declare const executionMapDescription = "Plan work of several steps as the execution map: your execution path, the steps you found to be the best and fastest way to deliver the request with the connectors and workers you have, and the implementation plan the person reads, agrees to, and watches as a diagram. Keep it true as you work: the person follows the work on it. A step says what it changes and how in its description, which the person opens with a press, names who does it in uses, and comes after the steps it follows. Steps side by side are branches: each is handed to a worker, so they run at the same time, and your own steps are one line. Mark a step doing when you start it and done with your evidence as soon as its check passed, and record a problem the work does not need with note instead of looking into it. Limits: goal up to 300 characters; a step's title up to 100, description up to 500, check up to 300; evidence and a note up to 500; 1 to 40 steps.";
3
+ export declare const executionMapDescription = "Plan work as the execution map: your execution path, and the implementation plan the person reads, agrees to, and watches as a diagram. Keep it true as you work: the person follows the work on it. Give the goal, the outcome the person wants in their own terms, then the steps. A step is one concrete stage of the path, something you can name before you start it, never a phase such as implement or a whole feature: what gets done, who does it, and how it is checked; it may cover the few files that change together. Its uses names who does it: you, with a connector such as fs, or a worker such as delegate designer for a screen or flow whose design is a real choice, delegate architect for a structure decision across several parts, delegate tester for tests that are a piece of work of their own, and delegate reviewer for a finished change that is risky or wide. Its check is the exact command you will run or the thing you will look at. Your own steps are one line, each after the one before. Steps side by side are branches, and a branch means delegation: draw one only for work a worker does that needs nothing from the other branches, touches files no other branch touches, and is worth a worker that starts with none of this conversation; give the branches that start together the same after, or none, and add the step that joins them after every branch it needs. Don't split small independent changes into branches, leave out any step that nothing needs, and end with the project's own checks after everything they cover. Set the skeleton first, then write each step's details with detail, one call per step, all in the reply after the set: what it changes and how, naming the files or parts and the approach in words the person understands without the code, in Markdown, with lists, tables, and Mermaid diagrams or charts in fenced mermaid blocks, never SVG. The person opens them with a press, and a step can't be doing until it has them. Setting the map again keeps the details and the status of each step whose id stays: detail again only a step whose approach changed, and each new step. Every map call returns the steps that are ready: take those, and never work on a step the map does not have. Mark a step doing in the same reply as your first call on it, and when several are ready, mark each and start them all in one reply, one delegate run per branch. Mark a step done with your evidence, what you ran and what it showed, as soon as its check passed and before you start the next; failed with a note when you can't finish it, and skipped with a note when it turned out unneeded. When the plan itself changes, set the map again before you go on, and record a problem the work does not need with note instead of looking into it. Limits: goal up to 300 characters; 1 to 40 steps; a step's id lowercase kebab case up to 50, title up to 100, uses one name up to 60 or a list of up to 5, check up to 300, and details up to 4,000; a step's evidence 10 to 500 and its note up to 300; a note of note up to 500.";
4
4
  /** The steps one map holds at most, and its notes. */
5
5
  export declare const stepsLimit = 40;
6
6
  export declare const notesLimit = 50;
@@ -13,7 +13,6 @@ export declare const executionMapCommands: {
13
13
  steps: z.ZodArray<z.ZodObject<{
14
14
  id: z.ZodString;
15
15
  title: z.ZodString;
16
- description: z.ZodString;
17
16
  after: z.ZodExactOptional<z.ZodArray<z.ZodString>>;
18
17
  uses: z.ZodExactOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
19
18
  check: z.ZodString;
@@ -22,6 +21,16 @@ export declare const executionMapCommands: {
22
21
  asks: false;
23
22
  result: string;
24
23
  };
24
+ detail: {
25
+ registration: string;
26
+ description: string;
27
+ payload: z.ZodObject<{
28
+ id: z.ZodString;
29
+ details: z.ZodString;
30
+ }, z.core.$strict>;
31
+ asks: false;
32
+ result: string;
33
+ };
25
34
  update: {
26
35
  registration: string;
27
36
  description: string;
@@ -54,7 +63,9 @@ export declare const executionMapCommands: {
54
63
  get: {
55
64
  registration: string;
56
65
  description: string;
57
- payload: z.ZodObject<{}, z.core.$strict>;
66
+ payload: z.ZodObject<{
67
+ id: z.ZodExactOptional<z.ZodString>;
68
+ }, z.core.$strict>;
58
69
  asks: false;
59
70
  };
60
71
  };
@@ -1 +1 @@
1
- {"version":3,"file":"execution-map.d.ts","sourceRoot":"","sources":["../../src/connectors/execution-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAczC,yDAAyD;AACzD,eAAO,MAAM,uBAAuB,06BACs4B,CAAC;AAE36B,sDAAsD;AACtD,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,UAAU,KAAK,CAAC;AA+C7B,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKW,CAAC;AAqB7C,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CA8D5D"}
1
+ {"version":3,"file":"execution-map.d.ts","sourceRoot":"","sources":["../../src/connectors/execution-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAczC,yDAAyD;AACzD,eAAO,MAAM,uBAAuB,m9FAC86F,CAAC;AAEn9F,sDAAsD;AACtD,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,UAAU,KAAK,CAAC;AAkD7B,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMW,CAAC;AAyB7C,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAmF5D"}