@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
package/locales/en.json CHANGED
@@ -15,20 +15,38 @@
15
15
  "kvcoder.errors.JOB_NOT_FOUND": "This chat started no such background job.",
16
16
  "kvcoder.errors.MCP_SERVER_NOT_FOUND": "There is no MCP server named {server}.",
17
17
  "kvcoder.errors.WORKER_NOT_FOUND": "There is no worker named {worker}.",
18
+ "kvcoder.errors.WEB_FAILED": "{url} couldn't be read.",
18
19
  "kvcoder.errors.MCP_CONNECT_FAILED": "The MCP server {server} failed: {reason}",
19
20
  "kvcoder.errors.MCP_SIGN_IN_NEEDED": "The MCP server {server} needs you to sign in.",
20
21
  "kvcoder.errors.MCP_SIGN_IN_FAILED": "The sign-in didn't work: {reason}",
21
22
  "kvcoder.notices.CANCELLED": "You stopped this turn.",
22
23
  "kvcoder.notices.INTERRUPTED": "This turn was interrupted. Its effects may be unknown; the old step will not be replayed automatically. Send a new message to continue.",
23
24
  "kvcoder.notices.STEP_FAILED": "The turn stopped: {error}",
25
+ "kvcoder.notices.MODEL_SWITCHED": "{from} reached its limit, so this chat moved to the fallback model {to}.",
24
26
  "kvcoder.notices.MAX_STEPS": "The turn stopped after {steps} steps.",
25
27
  "kvcoder.notices.SUMMARY_FAILED": "The earlier messages couldn't be summarized: {error}",
26
28
  "kvcoder.notices.REPLY_LOST": "The model's reply was lost on the way, again and again (about {tokens} tokens never arrived). Say continue to try again, or choose another model.",
27
29
  "kvcoder.notices.REPLY_INCOMPLETE": "The model's reply was empty or cut off at its length limit, twice in a row. Retry, or choose another model.",
28
30
  "kvcoder.ui.newChat": "New chat",
31
+ "kvcoder.ui.changes.title": "Changes",
32
+ "kvcoder.ui.changes.toggle": "Changes ({count})",
33
+ "kvcoder.ui.changes.loading": "Reading the changes…",
34
+ "kvcoder.ui.changes.note": "The files this chat changed, against the last commit or the copy it kept. Changes made by shell lines aren't listed.",
35
+ "kvcoder.ui.changes.noGit": "Git couldn't be run, so the changes are listed without their diffs. Changes made by shell lines aren't listed.",
36
+ "kvcoder.ui.changes.commit": "Commit",
37
+ "kvcoder.ui.changes.commitMessage": "Commit these changes.",
38
+ "kvcoder.ui.changes.undo": "Undo",
39
+ "kvcoder.ui.changes.none": "No changes are left.",
40
+ "kvcoder.ui.changes.state.changed": "Changed",
41
+ "kvcoder.ui.changes.state.created": "New",
42
+ "kvcoder.ui.changes.state.deleted": "Deleted",
29
43
  "kvcoder.ui.chats": "Chats",
30
44
  "kvcoder.ui.today": "Today",
31
45
  "kvcoder.ui.earlier": "Earlier",
46
+ "kvcoder.ui.notify.title": "A chat needs you",
47
+ "kvcoder.ui.notify.ask": "Get a notice when a chat needs you while kvman is in the background.",
48
+ "kvcoder.ui.notify.on": "Turn on",
49
+ "kvcoder.ui.notify.later": "Not now",
32
50
  "kvcoder.ui.needsYou": "Needs you",
33
51
  "kvcoder.ui.status.idle": "Idle",
34
52
  "kvcoder.ui.status.running": "Working…",
@@ -73,6 +91,11 @@
73
91
  "kvcoder.ui.no": "No",
74
92
  "kvcoder.ui.allowCommands": "Allow these commands? ({count})",
75
93
  "kvcoder.ui.allow": "Allow",
94
+ "kvcoder.ui.approval.denyWhy": "Deny and say why…",
95
+ "kvcoder.ui.approval.reason": "What should the agent do instead?",
96
+ "kvcoder.ui.approval.alwaysLine": "Always allow lines that start with",
97
+ "kvcoder.ui.approval.always": "Always allow",
98
+ "kvcoder.ui.approval.alwaysFiles": "Always allow file changes here",
76
99
  "kvcoder.ui.deny": "Deny",
77
100
  "kvcoder.ui.allowAll": "Allow all",
78
101
  "kvcoder.ui.denyAll": "Deny all",
@@ -141,12 +164,16 @@
141
164
  "kvcoder.ui.reach.session": "this chat",
142
165
  "kvcoder.ui.leftOut": "Left out: over 64 KB",
143
166
  "kvcoder.ui.model": "Model",
167
+ "kvcoder.ui.decideForMe": "Decide for me",
168
+ "kvcoder.ui.decideForMeHint": "The agent makes each choice itself, the one it recommends, and asks you no questions in this chat. Approvals still ask.",
144
169
  "kvcoder.ui.thinking": "Thinking",
145
170
  "kvcoder.ui.thinkingLevels.off": "Off",
146
171
  "kvcoder.ui.thinkingLevels.minimal": "Minimal",
147
172
  "kvcoder.ui.thinkingLevels.low": "Low",
148
173
  "kvcoder.ui.thinkingLevels.medium": "Medium",
149
174
  "kvcoder.ui.thinkingLevels.high": "High",
175
+ "kvcoder.ui.thinkingLevels.xhigh": "Extra high",
176
+ "kvcoder.ui.thinkingLevels.max": "Max",
150
177
  "kvcoder.ui.menu": "More",
151
178
  "kvcoder.ui.rename": "Rename",
152
179
  "kvcoder.ui.fork": "Fork into a new chat",
@@ -180,7 +207,11 @@
180
207
  "kvcoder.shell.run.description": "Runs one line in the real shell, in the workspace folder.",
181
208
  "kvcoder.binary.run.description": "Runs the program with the given arguments in the real shell, in the workspace folder.",
182
209
  "kvcoder.fs.file.get.description": "Reads lines of a text file.",
210
+ "kvcoder.fs.files.get.description": "Reads several text files in one call, in order, each as read reads it.",
211
+ "kvcoder.change.list.description": "Lists the files a chat changed with fs, newest first, each with its diff.",
212
+ "kvcoder.change.undo.description": "Takes back the chat's latest change to a file, as fs undo does; for the person.",
183
213
  "kvcoder.fs.entry.list.description": "Lists the files and folders of one folder.",
214
+ "kvcoder.fs.path.list.description": "Finds the files whose path matches a glob, under a folder, newest first.",
184
215
  "kvcoder.fs.text.search.description": "Finds the lines that match a regular expression, in a file or under a folder.",
185
216
  "kvcoder.fs.write.description": "Creates a file and its parent folders, or replaces the file.",
186
217
  "kvcoder.fs.edit.description": "Replaces exact pieces of text in an existing file; if one replacement fails, nothing is written.",
@@ -190,15 +221,17 @@
190
221
  "kvcoder.artifact.write.description": "Creates an artifact, or replaces its title, format, and content.",
191
222
  "kvcoder.artifact.edit.description": "Replaces exact pieces of text in an existing artifact; if one replacement fails, nothing changes.",
192
223
  "kvcoder.artifact.content.get.description": "Reads an artifact with its content.",
193
- "kvcoder.map.set.description": "Makes the execution map, or replaces it; a step whose id stays keeps how far it got.",
224
+ "kvcoder.map.set.description": "Makes the execution map's skeleton, or replaces it; a step whose id stays keeps its details and how far it got.",
225
+ "kvcoder.map.step.details.set.description": "Writes the details of one step of the map.",
194
226
  "kvcoder.map.step.update.description": "Changes the status of one or more steps of the map.",
195
227
  "kvcoder.map.note.add.description": "Adds a finding to the map's \"Noted for later\" list.",
196
- "kvcoder.map.state.get.description": "Reads the whole execution map.",
228
+ "kvcoder.map.state.get.description": "Reads the execution map without the steps' details, or one step whole.",
197
229
  "kvcoder.background.list.description": "Lists this chat's newest 50 background runs, newest first, each with its id, kind, title, and status.",
198
230
  "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).",
199
231
  "kvcoder.background.wait.description": "Waits until a background run ends or the time passes, then gives its status and output as output does.",
200
232
  "kvcoder.background.stop.description": "Stops a background process or a program worker's run, or cancels a background subagent.",
201
233
  "kvcoder.mcp.tool.describe.description": "Lists an MCP server's tools, or gives one tool's description and arguments.",
234
+ "kvcoder.web.page.get.description": "Reads a page on the web as Markdown or text.",
202
235
  "kvcoder.mcp.tool.call.description": "Calls one tool of an MCP server and returns the tool's text.",
203
236
  "kvcoder.mcp.steps.run.description": "Calls several tools of an MCP server on one connection, in order, so the server keeps its state between them; stops at the first tool that reports an error.",
204
237
  "kvcoder.mcp.server.check.description": "Connects to one MCP server and says whether it is ready, needs a sign-in, or failed.",
@@ -208,6 +241,7 @@
208
241
  "kvcoder.ask.choice.check.description": "Asks the person to choose among options and waits for the answer.",
209
242
  "kvcoder.ask.confirm.check.description": "Asks the person yes or no and waits for the answer.",
210
243
  "kvcoder.delegate.check.description": "Runs a worker on a task; several runs in one reply run in parallel.",
244
+ "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.",
211
245
  "kvcoder.delegate.worker.check.description": "Checks that a worker's program is installed; a subagent is always ready.",
212
246
  "kvcoder.delegate.worker.run.description": "Runs a program worker's program on its task, and gives the chat its answer.",
213
247
  "kvcoder.connector.help.get.description": "Gives a connector's help: its commands, or one command's payload, result, and examples.",
@@ -237,8 +271,26 @@
237
271
  "kvcoder.thinking.description": "How hard the model thinks in a new chat.",
238
272
  "kvcoder.maxSteps.title": "Steps per turn",
239
273
  "kvcoder.maxSteps.description": "The most steps a turn takes before it stops. Leave it empty for no limit.",
274
+ "kvcoder.preferences.title": "Your preferences",
275
+ "kvcoder.preferences.description": "What every chat should know about how you like to work, such as the language of your apps or that the agent should not ask. The agent reads it in every chat.",
276
+ "kvcoder.config.preferences.placeholder": "Build apps in Arabic first.\nDon't ask me to choose: pick what you recommend.",
277
+ "kvcoder.config.preferences.save": "Save",
278
+ "kvcoder.ui.remember.this": "Remember this",
279
+ "kvcoder.ui.remember.question": "Add this to your preferences? Every chat reads them.",
280
+ "kvcoder.ui.remember.add": "Add",
281
+ "kvcoder.ui.remember.added": "Added to your preferences.",
282
+ "kvcoder.check.title": "Check after changes",
283
+ "kvcoder.check.description": "A line kvman runs after the agent changes files, such as the project's type check; its exit code and output are added to the change, so the agent sees an error at once. Empty for none.",
284
+ "kvcoder.fallbackModel.title": "Fallback model",
285
+ "kvcoder.fallbackModel.description": "The model a chat moves to when its model reaches a usage limit, or a rate limit after all tries. Empty for none.",
240
286
  "kvcoder.approval.title": "Approval",
241
287
  "kvcoder.approval.description": "When the agent asks you before it runs a command, changes a file, or does anything else that needs your go-ahead.",
288
+ "kvcoder.approval.allowed.title": "Always allowed",
289
+ "kvcoder.approval.allowed.description": "Commands and changes that run without asking: a line whose every command starts with one of these, or a file change in this folder.",
290
+ "kvcoder.config.approval.rules.line": "Always allowed: {prefix} …",
291
+ "kvcoder.config.approval.rules.files": "Always allowed: file changes",
292
+ "kvcoder.config.approval.rules.none": "No commands are always allowed.",
293
+ "kvcoder.config.approval.rules.remove": "Remove",
242
294
  "kvcoder.config.approval.never.title": "Never ask before a call?",
243
295
  "kvcoder.config.approval.never.text": "The agent will run commands, change files, change kvman itself, and start worker programs without asking you. What it reads can steer it.",
244
296
  "kvcoder.config.approval.never.confirm": "Turn off asking",
@@ -261,6 +313,7 @@
261
313
  "kvcoder.artifact.list.description": "Lists the artifacts of a chat, newest change first.",
262
314
  "kvcoder.artifact.get.description": "Gives one artifact of a chat with its content.",
263
315
  "kvcoder.map.get.description": "Gives a chat's execution map, or null when it has none.",
316
+ "kvcoder.ui.backgroundDecision": "A background helper needs your decision.",
264
317
  "kvcoder.ui.jobs.title": "Background jobs",
265
318
  "kvcoder.ui.jobs.running": "{count} running",
266
319
  "kvcoder.ui.jobs.minutes": "{minutes} min {seconds} s",
@@ -268,6 +321,7 @@
268
321
  "kvcoder.ui.jobs.stop": "Stop",
269
322
  "kvcoder.ui.jobs.noOutput": "No output yet.",
270
323
  "kvcoder.ui.jobs.status.running": "Running",
324
+ "kvcoder.ui.jobs.status.waiting": "Waiting for you",
271
325
  "kvcoder.ui.jobs.status.succeeded": "Done",
272
326
  "kvcoder.ui.jobs.status.failed": "Failed",
273
327
  "kvcoder.ui.jobs.status.cancelled": "Stopped",
@@ -275,7 +329,8 @@
275
329
  "kvcoder.ui.jobs.inBackground": "Runs in the background",
276
330
  "kvcoder.ui.jobs.background": "Background",
277
331
  "kvcoder.notices.STEP_FAILED_REASON": "The turn stopped: {error} {reason}",
278
- "kvcoder.ui.activity.retrying": "Retrying… ({attempt} of {of})",
332
+ "kvcoder.ui.activity.retryingRateLimited": "Retrying in {seconds} s: the provider is limiting calls ({attempt} of {of})",
333
+ "kvcoder.ui.activity.retryingUnavailable": "Retrying in {seconds} s: the provider didn't answer ({attempt} of {of})",
279
334
  "kvcoder.ui.artifacts.title": "Artifacts",
280
335
  "kvcoder.ui.artifacts.open": "Open",
281
336
  "kvcoder.ui.artifacts.close": "Close",
@@ -293,7 +348,7 @@
293
348
  "kvcoder.ui.map.status.failed": "Failed",
294
349
  "kvcoder.ui.map.status.skipped": "Skipped",
295
350
  "kvcoder.ui.map.step": "Step",
296
- "kvcoder.ui.map.description": "About",
351
+ "kvcoder.ui.map.details": "Details",
297
352
  "kvcoder.ui.map.after": "After",
298
353
  "kvcoder.ui.map.uses": "Uses",
299
354
  "kvcoder.ui.map.check": "Check",
@@ -301,6 +356,8 @@
301
356
  "kvcoder.ui.map.note": "Note",
302
357
  "kvcoder.ui.map.noted": "Noted for later ({count})",
303
358
  "kvcoder.ui.map.remaining": "{count} steps of the execution map are not done.",
359
+ "kvcoder.ui.map.continue": "Continue",
360
+ "kvcoder.ui.map.continueMessage": "Continue.",
304
361
  "kvcoder.ui.map.show": "Show the map",
305
362
  "kvcoder.ui.map.close": "Close",
306
363
  "kvcoder.ui.artifacts.frameLabel": "Preview of {title}",
@@ -339,6 +396,7 @@
339
396
  "kvcoder.config.connector.background": "Lists, reads, and stops what runs in the background.",
340
397
  "kvcoder.config.connector.ask": "Asks you a question and waits for your answer.",
341
398
  "kvcoder.config.connector.delegate": "Hands part of a task to a worker: another agent with its own instructions.",
399
+ "kvcoder.config.connector.web": "Reads pages on the web, such as current documentation, and asks you before the first page from each site.",
342
400
  "kvcoder.config.connector.mcp": "Uses the tools of the MCP servers you add.",
343
401
  "kvcoder.config.connectors.use": "Use {name}",
344
402
  "kvcoder.config.connectors.configure": "Configure {name}",
@@ -491,6 +549,7 @@
491
549
  "kvcoder.config.model.reset.workspace": "Use the value for all workspaces",
492
550
  "kvcoder.config.model.ownValue": "{name} has its own value. Switch to {name} to change it.",
493
551
  "kvcoder.ui.milliseconds": "{count} ms",
552
+ "kvcoder.ui.hoursMinutes": "{hours} h {minutes} min",
494
553
  "kvcoder.ui.minutesSeconds": "{minutes} min {seconds} s",
495
554
  "kvcoder.ui.callFailed": "Failed",
496
555
  "kvcoder.ui.callParts": "Written in {written} · ran in {ran}",
@@ -499,6 +558,18 @@
499
558
  "kvcoder.ui.call.write": "Write",
500
559
  "kvcoder.ui.call.read": "Read",
501
560
  "kvcoder.ui.call.list": "List",
561
+ "kvcoder.ui.fold.read": "Read {count}",
562
+ "kvcoder.ui.fold.searched": "Searched {count}",
563
+ "kvcoder.ui.fold.changed": "Changed {count}",
564
+ "kvcoder.ui.fold.ran": "Ran {count}",
565
+ "kvcoder.ui.fold.other": "Other {count}",
566
+ "kvcoder.ui.fold.failed": "Failed {count}",
567
+ "kvcoder.ui.call.fetch": "Fetch",
568
+ "kvcoder.ui.call.find": "Find",
569
+ "kvcoder.ui.call.files": "{count} files",
570
+ "kvcoder.ui.call.fileNotRead": "Not read: the files before it used this call's 30 KB.",
571
+ "kvcoder.ui.call.fileUnchanged": "Unchanged since an earlier read in this chat.",
572
+ "kvcoder.ui.call.filesFirst": "The first {count} files",
502
573
  "kvcoder.ui.call.search": "Search",
503
574
  "kvcoder.ui.call.tools": "Tools",
504
575
  "kvcoder.ui.call.delegate": "Delegate",
@@ -506,16 +577,21 @@
506
577
  "kvcoder.ui.call.output": "Output",
507
578
  "kvcoder.ui.call.wait": "Wait for",
508
579
  "kvcoder.ui.call.mapSet": "Plan",
580
+ "kvcoder.ui.call.mapDetail": "Step details",
509
581
  "kvcoder.ui.call.mapUpdate": "Map step",
510
582
  "kvcoder.ui.call.mapNote": "Noted for later",
511
583
  "kvcoder.ui.call.mapGet": "Read the map",
512
584
  "kvcoder.ui.call.stop": "Stop",
513
585
  "kvcoder.ui.call.readArtifact": "Read artifact",
586
+ "kvcoder.ui.call.writeArtifact": "Write artifact",
587
+ "kvcoder.ui.call.editArtifact": "Edit artifact",
588
+ "kvcoder.ui.call.help": "Help",
514
589
  "kvcoder.ui.call.created": "Created · {size}",
515
590
  "kvcoder.ui.call.replaced": "Replaced · {size}",
516
591
  "kvcoder.ui.call.lines": "Lines {from}–{to} of {total}",
517
592
  "kvcoder.ui.call.entries": "{count} entries",
518
593
  "kvcoder.ui.call.entriesFirst": "The first {count} entries",
594
+ "kvcoder.ui.call.matchCount": "Matches: {count}",
519
595
  "kvcoder.ui.call.matches": "{matches} matches in {files} files",
520
596
  "kvcoder.ui.call.matchesFirst": "The first {matches} matches in {files} files",
521
597
  "kvcoder.ui.call.toolCount": "{count} tools",
@@ -524,7 +600,7 @@
524
600
  "kvcoder.ui.call.kilobytes": "{count} KB",
525
601
  "kvcoder.ui.call.megabytes": "{count} MB",
526
602
  "kvcoder.ui.call.risky": "Risky",
527
- "kvcoder.ui.call.replacements": "{count} replacements · from line {line}",
603
+ "kvcoder.ui.call.replacements": "Replaced: {count} · from line {line}",
528
604
  "kvcoder.ui.call.showAll": "Show all {count} lines",
529
605
  "kvcoder.ui.call.showFewer": "Show fewer",
530
606
  "kvcoder.ui.call.error": "Error",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kvman/kvcoder",
3
- "version": "0.1.10",
3
+ "version": "0.1.12",
4
4
  "description": "kvcoder: the app-building harness, with one run tool over connectors, sections, and its conversation UI.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -33,20 +33,22 @@
33
33
  "locales"
34
34
  ],
35
35
  "peerDependencies": {
36
- "@kvman/sdk": "^0.1.2"
36
+ "@kvman/sdk": "^0.1.3"
37
37
  },
38
38
  "dependencies": {
39
- "@kvman/kvai": "0.1.3",
39
+ "@kvman/kvai": "0.1.5",
40
40
  "@lucide/vue": "1.49.0",
41
41
  "@modelcontextprotocol/sdk": "1.32.1",
42
42
  "cross-spawn": "7.0.6",
43
+ "turndown": "7.2.4",
43
44
  "vue": "3.5.43"
44
45
  },
45
46
  "devDependencies": {
46
- "@kvman/kvwebui": "0.1.4",
47
- "@kvman/sdk": "0.1.2",
48
- "@kvman/testkit": "0.1.6",
47
+ "@kvman/kvwebui": "0.1.5",
48
+ "@kvman/sdk": "0.1.3",
49
+ "@kvman/testkit": "0.1.7",
49
50
  "@types/cross-spawn": "6.0.6",
51
+ "@types/turndown": "5.0.6",
50
52
  "@vitejs/plugin-vue": "6.0.9",
51
53
  "@vue/test-utils": "2.5.1",
52
54
  "happy-dom": "20.14.5",
@@ -61,6 +63,150 @@
61
63
  "dependencies": {
62
64
  "@kvman/kvai": "^0.1.0",
63
65
  "@kvman/kvwebui": "^0.1.0"
66
+ },
67
+ "indexes": {
68
+ "sessions": [
69
+ [
70
+ "parentId"
71
+ ],
72
+ [
73
+ "parentId",
74
+ "status"
75
+ ],
76
+ [
77
+ "stepJobId"
78
+ ],
79
+ [
80
+ "status"
81
+ ]
82
+ ],
83
+ "messages": [
84
+ [
85
+ "sessionId"
86
+ ],
87
+ [
88
+ "sessionId",
89
+ "block"
90
+ ],
91
+ [
92
+ "sessionId",
93
+ "kind"
94
+ ],
95
+ [
96
+ "sessionId",
97
+ "turnId",
98
+ "kind"
99
+ ]
100
+ ],
101
+ "turns": [
102
+ [
103
+ "sessionId"
104
+ ]
105
+ ],
106
+ "queued": [
107
+ [
108
+ "sessionId"
109
+ ]
110
+ ],
111
+ "questions": [
112
+ [
113
+ "sessionId"
114
+ ]
115
+ ],
116
+ "maps": [
117
+ [
118
+ "sessionId"
119
+ ]
120
+ ],
121
+ "step-intents": [
122
+ [
123
+ "sessionId",
124
+ "turnId"
125
+ ]
126
+ ],
127
+ "answer-receipts": [
128
+ [
129
+ "questionId"
130
+ ]
131
+ ],
132
+ "send-receipts": [
133
+ [
134
+ "sendId"
135
+ ]
136
+ ],
137
+ "file-views": [
138
+ [
139
+ "sessionId",
140
+ "path"
141
+ ]
142
+ ],
143
+ "file-backups": [
144
+ [
145
+ "sessionId"
146
+ ],
147
+ [
148
+ "sessionId",
149
+ "path"
150
+ ]
151
+ ],
152
+ "file-changes": [
153
+ [
154
+ "sessionId"
155
+ ],
156
+ [
157
+ "sessionId",
158
+ "path"
159
+ ]
160
+ ],
161
+ "file-parts": [
162
+ [
163
+ "sessionId",
164
+ "path"
165
+ ],
166
+ [
167
+ "sessionId",
168
+ "path",
169
+ "part"
170
+ ]
171
+ ],
172
+ "artifacts": [
173
+ [
174
+ "sessionId"
175
+ ],
176
+ [
177
+ "sessionId",
178
+ "artifactId"
179
+ ]
180
+ ],
181
+ "background": [
182
+ [
183
+ "sessionId"
184
+ ],
185
+ [
186
+ "sessionId",
187
+ "ref"
188
+ ]
189
+ ],
190
+ "runs": [
191
+ [
192
+ "sessionId"
193
+ ],
194
+ [
195
+ "jobId"
196
+ ]
197
+ ],
198
+ "processes": [
199
+ [
200
+ "sessionId"
201
+ ],
202
+ [
203
+ "sessionId",
204
+ "reported"
205
+ ],
206
+ [
207
+ "workspaceId"
208
+ ]
209
+ ]
64
210
  }
65
211
  },
66
212
  "scripts": {