@kvman/kvcoder 0.1.15 → 0.1.16

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 (247) hide show
  1. package/dist/artifacts/ended-url.d.ts +4 -0
  2. package/dist/artifacts/ended-url.d.ts.map +1 -0
  3. package/dist/artifacts/ended-url.js +30 -0
  4. package/dist/artifacts/ended-url.js.map +1 -0
  5. package/dist/calls/line-run.d.ts +1 -0
  6. package/dist/calls/line-run.d.ts.map +1 -1
  7. package/dist/calls/line-run.js +4 -1
  8. package/dist/calls/line-run.js.map +1 -1
  9. package/dist/calls/run-tool.d.ts +38 -1
  10. package/dist/calls/run-tool.d.ts.map +1 -1
  11. package/dist/calls/run-tool.js +46 -1
  12. package/dist/calls/run-tool.js.map +1 -1
  13. package/dist/connector-call.d.ts +7 -2
  14. package/dist/connector-call.d.ts.map +1 -1
  15. package/dist/connector-call.js +8 -4
  16. package/dist/connector-call.js.map +1 -1
  17. package/dist/connectors/artifact.d.ts.map +1 -1
  18. package/dist/connectors/artifact.js +10 -2
  19. package/dist/connectors/artifact.js.map +1 -1
  20. package/dist/connectors/background.d.ts +1 -1
  21. package/dist/connectors/background.d.ts.map +1 -1
  22. package/dist/connectors/background.js +5 -2
  23. package/dist/connectors/background.js.map +1 -1
  24. package/dist/connectors/binary.js +2 -2
  25. package/dist/connectors/binary.js.map +1 -1
  26. package/dist/connectors/builtin-connectors.d.ts +16 -3
  27. package/dist/connectors/builtin-connectors.d.ts.map +1 -1
  28. package/dist/connectors/delegate.d.ts +20 -13
  29. package/dist/connectors/delegate.d.ts.map +1 -1
  30. package/dist/connectors/delegate.js +27 -20
  31. package/dist/connectors/delegate.js.map +1 -1
  32. package/dist/connectors/execution-map.d.ts +1 -1
  33. package/dist/connectors/execution-map.d.ts.map +1 -1
  34. package/dist/connectors/execution-map.js +1 -1
  35. package/dist/connectors/execution-map.js.map +1 -1
  36. package/dist/connectors/mcp.d.ts +1 -1
  37. package/dist/connectors/mcp.d.ts.map +1 -1
  38. package/dist/connectors/mcp.js +12 -7
  39. package/dist/connectors/mcp.js.map +1 -1
  40. package/dist/connectors/payload-fields.d.ts +1 -0
  41. package/dist/connectors/payload-fields.d.ts.map +1 -1
  42. package/dist/connectors/payload-fields.js +1 -0
  43. package/dist/connectors/payload-fields.js.map +1 -1
  44. package/dist/connectors/shell.d.ts +1 -0
  45. package/dist/connectors/shell.d.ts.map +1 -1
  46. package/dist/connectors/shell.js +2 -2
  47. package/dist/connectors/shell.js.map +1 -1
  48. package/dist/delegate/approved-run.d.ts.map +1 -1
  49. package/dist/delegate/approved-run.js +4 -11
  50. package/dist/delegate/approved-run.js.map +1 -1
  51. package/dist/delegate/brief.d.ts +34 -0
  52. package/dist/delegate/brief.d.ts.map +1 -0
  53. package/dist/delegate/brief.js +84 -0
  54. package/dist/delegate/brief.js.map +1 -0
  55. package/dist/delegate/continue-helper.d.ts.map +1 -1
  56. package/dist/delegate/continue-helper.js +6 -7
  57. package/dist/delegate/continue-helper.js.map +1 -1
  58. package/dist/delegate/permission.d.ts +26 -1
  59. package/dist/delegate/permission.d.ts.map +1 -1
  60. package/dist/delegate/program-permission.d.ts +1 -1
  61. package/dist/delegate/runs.d.ts +7 -3
  62. package/dist/delegate/runs.d.ts.map +1 -1
  63. package/dist/delegate/runs.js +2 -2
  64. package/dist/delegate/runs.js.map +1 -1
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +4 -0
  67. package/dist/index.js.map +1 -1
  68. package/dist/jobs/notify-watch.d.ts +5 -0
  69. package/dist/jobs/notify-watch.d.ts.map +1 -0
  70. package/dist/jobs/notify-watch.js +53 -0
  71. package/dist/jobs/notify-watch.js.map +1 -0
  72. package/dist/jobs/process-handlers.d.ts.map +1 -1
  73. package/dist/jobs/process-handlers.js +2 -1
  74. package/dist/jobs/process-handlers.js.map +1 -1
  75. package/dist/jobs/process-records.d.ts +4 -1
  76. package/dist/jobs/process-records.d.ts.map +1 -1
  77. package/dist/jobs/process-records.js +6 -2
  78. package/dist/jobs/process-records.js.map +1 -1
  79. package/dist/jobs/process-report.d.ts +2 -1
  80. package/dist/jobs/process-report.d.ts.map +1 -1
  81. package/dist/jobs/process-report.js +8 -5
  82. package/dist/jobs/process-report.js.map +1 -1
  83. package/dist/jobs/process-run.d.ts +1 -1
  84. package/dist/jobs/process-run.d.ts.map +1 -1
  85. package/dist/jobs/process-run.js +7 -3
  86. package/dist/jobs/process-run.js.map +1 -1
  87. package/dist/mcp/connect.d.ts +10 -5
  88. package/dist/mcp/connect.d.ts.map +1 -1
  89. package/dist/mcp/connect.js +22 -9
  90. package/dist/mcp/connect.js.map +1 -1
  91. package/dist/mcp/servers.d.ts +4 -0
  92. package/dist/mcp/servers.d.ts.map +1 -1
  93. package/dist/mcp/servers.js +5 -1
  94. package/dist/mcp/servers.js.map +1 -1
  95. package/dist/mcp/turn-servers.d.ts +8 -0
  96. package/dist/mcp/turn-servers.d.ts.map +1 -0
  97. package/dist/mcp/turn-servers.js +88 -0
  98. package/dist/mcp/turn-servers.js.map +1 -0
  99. package/dist/prompt/build-prompt.d.ts +1 -1
  100. package/dist/prompt/build-prompt.d.ts.map +1 -1
  101. package/dist/prompt/build-prompt.js +2 -3
  102. package/dist/prompt/build-prompt.js.map +1 -1
  103. package/dist/prompt/kept-rules.d.ts +6 -0
  104. package/dist/prompt/kept-rules.d.ts.map +1 -0
  105. package/dist/prompt/kept-rules.js +47 -0
  106. package/dist/prompt/kept-rules.js.map +1 -0
  107. package/dist/prompt/project-rules.d.ts +7 -2
  108. package/dist/prompt/project-rules.d.ts.map +1 -1
  109. package/dist/prompt/project-rules.js +27 -16
  110. package/dist/prompt/project-rules.js.map +1 -1
  111. package/dist/prompt/session-grants.d.ts +16 -23
  112. package/dist/prompt/session-grants.d.ts.map +1 -1
  113. package/dist/prompt/session-prompt.d.ts +1 -1
  114. package/dist/prompt/session-prompt.d.ts.map +1 -1
  115. package/dist/prompt/session-prompt.js +16 -9
  116. package/dist/prompt/session-prompt.js.map +1 -1
  117. package/dist/prompt/working-method.js +7 -7
  118. package/dist/prompt/working-method.js.map +1 -1
  119. package/dist/register-settings.d.ts +1 -0
  120. package/dist/register-settings.d.ts.map +1 -1
  121. package/dist/register-settings.js +1 -0
  122. package/dist/register-settings.js.map +1 -1
  123. package/dist/registry/register-connectors.d.ts +17 -1
  124. package/dist/registry/register-connectors.d.ts.map +1 -1
  125. package/dist/registry/register-connectors.js +11 -7
  126. package/dist/registry/register-connectors.js.map +1 -1
  127. package/dist/schemas/delegate-brief.d.ts +20 -0
  128. package/dist/schemas/delegate-brief.d.ts.map +1 -0
  129. package/dist/schemas/delegate-brief.js +9 -0
  130. package/dist/schemas/delegate-brief.js.map +1 -0
  131. package/dist/schemas/kept-rule.d.ts +12 -0
  132. package/dist/schemas/kept-rule.d.ts.map +1 -0
  133. package/dist/schemas/kept-rule.js +7 -0
  134. package/dist/schemas/kept-rule.js.map +1 -0
  135. package/dist/schemas/mcp-session.d.ts +15 -0
  136. package/dist/schemas/mcp-session.d.ts.map +1 -0
  137. package/dist/schemas/mcp-session.js +14 -0
  138. package/dist/schemas/mcp-session.js.map +1 -0
  139. package/dist/schemas/process-doc.d.ts +22 -0
  140. package/dist/schemas/process-doc.d.ts.map +1 -0
  141. package/dist/schemas/process-doc.js +20 -0
  142. package/dist/schemas/process-doc.js.map +1 -0
  143. package/dist/schemas/read-ending.d.ts +8 -0
  144. package/dist/schemas/read-ending.d.ts.map +1 -0
  145. package/dist/schemas/read-ending.js +4 -0
  146. package/dist/schemas/read-ending.js.map +1 -0
  147. package/dist/schemas/records.d.ts +29 -23
  148. package/dist/schemas/records.d.ts.map +1 -1
  149. package/dist/schemas/records.js +14 -16
  150. package/dist/schemas/records.js.map +1 -1
  151. package/dist/schemas/registry.d.ts +1 -0
  152. package/dist/schemas/registry.d.ts.map +1 -1
  153. package/dist/schemas/registry.js +3 -2
  154. package/dist/schemas/registry.js.map +1 -1
  155. package/dist/schemas/sent-record.d.ts +13 -0
  156. package/dist/schemas/sent-record.d.ts.map +1 -0
  157. package/dist/schemas/sent-record.js +7 -0
  158. package/dist/schemas/sent-record.js.map +1 -0
  159. package/dist/sessions/new-session.d.ts.map +1 -1
  160. package/dist/sessions/new-session.js +2 -0
  161. package/dist/sessions/new-session.js.map +1 -1
  162. package/dist/sessions/session-view.d.ts +7 -2
  163. package/dist/sessions/session-view.d.ts.map +1 -1
  164. package/dist/sessions/session-view.js +3 -0
  165. package/dist/sessions/session-view.js.map +1 -1
  166. package/dist/store/collections.d.ts +74 -6
  167. package/dist/store/collections.d.ts.map +1 -1
  168. package/dist/store/collections.js +6 -0
  169. package/dist/store/collections.js.map +1 -1
  170. package/dist/thinking-levels.d.ts +2 -0
  171. package/dist/thinking-levels.d.ts.map +1 -1
  172. package/dist/thinking-levels.js +4 -0
  173. package/dist/thinking-levels.js.map +1 -1
  174. package/dist/turns/background.d.ts +3 -0
  175. package/dist/turns/background.d.ts.map +1 -1
  176. package/dist/turns/background.js +10 -0
  177. package/dist/turns/background.js.map +1 -1
  178. package/dist/turns/clear-results.d.ts +2 -2
  179. package/dist/turns/clear-results.d.ts.map +1 -1
  180. package/dist/turns/clear-results.js +31 -15
  181. package/dist/turns/clear-results.js.map +1 -1
  182. package/dist/turns/collapse.d.ts +12 -0
  183. package/dist/turns/collapse.d.ts.map +1 -0
  184. package/dist/turns/collapse.js +67 -0
  185. package/dist/turns/collapse.js.map +1 -0
  186. package/dist/turns/connection-wait.d.ts +12 -0
  187. package/dist/turns/connection-wait.d.ts.map +1 -0
  188. package/dist/turns/connection-wait.js +56 -0
  189. package/dist/turns/connection-wait.js.map +1 -0
  190. package/dist/turns/end-turn-state.js +2 -2
  191. package/dist/turns/end-turn-state.js.map +1 -1
  192. package/dist/turns/end-turn.d.ts.map +1 -1
  193. package/dist/turns/end-turn.js +3 -0
  194. package/dist/turns/end-turn.js.map +1 -1
  195. package/dist/turns/history.d.ts +2 -0
  196. package/dist/turns/history.d.ts.map +1 -1
  197. package/dist/turns/history.js +1 -0
  198. package/dist/turns/history.js.map +1 -1
  199. package/dist/turns/model-context.d.ts +6 -2
  200. package/dist/turns/model-context.d.ts.map +1 -1
  201. package/dist/turns/model-context.js +26 -8
  202. package/dist/turns/model-context.js.map +1 -1
  203. package/dist/turns/model-retry.d.ts +5 -2
  204. package/dist/turns/model-retry.d.ts.map +1 -1
  205. package/dist/turns/model-retry.js +5 -3
  206. package/dist/turns/model-retry.js.map +1 -1
  207. package/dist/turns/read-endings.d.ts +8 -0
  208. package/dist/turns/read-endings.d.ts.map +1 -0
  209. package/dist/turns/read-endings.js +24 -0
  210. package/dist/turns/read-endings.js.map +1 -0
  211. package/dist/turns/run-calls.d.ts +0 -6
  212. package/dist/turns/run-calls.d.ts.map +1 -1
  213. package/dist/turns/run-calls.js +24 -26
  214. package/dist/turns/run-calls.js.map +1 -1
  215. package/dist/turns/run-command.d.ts +2 -0
  216. package/dist/turns/run-command.d.ts.map +1 -1
  217. package/dist/turns/run-command.js +6 -0
  218. package/dist/turns/run-command.js.map +1 -1
  219. package/dist/turns/run-scope.d.ts +7 -0
  220. package/dist/turns/run-scope.d.ts.map +1 -0
  221. package/dist/turns/run-scope.js +24 -0
  222. package/dist/turns/run-scope.js.map +1 -0
  223. package/dist/turns/sent-record.d.ts +4 -0
  224. package/dist/turns/sent-record.d.ts.map +1 -0
  225. package/dist/turns/sent-record.js +11 -0
  226. package/dist/turns/sent-record.js.map +1 -0
  227. package/dist/turns/settle-calls.d.ts.map +1 -1
  228. package/dist/turns/settle-calls.js +1 -19
  229. package/dist/turns/settle-calls.js.map +1 -1
  230. package/dist/turns/start-turn.js +1 -1
  231. package/dist/turns/start-turn.js.map +1 -1
  232. package/dist/turns/step.d.ts.map +1 -1
  233. package/dist/turns/step.js +36 -9
  234. package/dist/turns/step.js.map +1 -1
  235. package/dist/ui/register-ui.js +1 -1
  236. package/dist/ui/register-ui.js.map +1 -1
  237. package/dist/web/components/call.js +1 -1
  238. package/dist/web/components/connectors.js +186 -155
  239. package/dist/web/components/conversation.js +1453 -1378
  240. package/docs/connectors.md +3 -3
  241. package/locales/ar.json +17 -1
  242. package/locales/en.json +17 -1
  243. package/package.json +18 -3
  244. package/dist/delegate/start-pending.d.ts +0 -5
  245. package/dist/delegate/start-pending.d.ts.map +0 -1
  246. package/dist/delegate/start-pending.js +0 -42
  247. package/dist/delegate/start-pending.js.map +0 -1
@@ -0,0 +1,6 @@
1
+ import type { Ctx, Stored } from '@kvman/sdk';
2
+ import type { SessionDoc } from '../schemas/records.ts';
3
+ import type { StepLease } from '../turns/step-claim.ts';
4
+ /** At a step's start: keeps the rule files of a chat that has none kept yet, else tells it once of each that changed. */
5
+ export declare function keepRules(ctx: Ctx, session: Stored<SessionDoc>, lease: StepLease): Promise<void>;
6
+ //# sourceMappingURL=kept-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kept-rules.d.ts","sourceRoot":"","sources":["../../src/prompt/kept-rules.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAKxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAexD,yHAAyH;AACzH,wBAAsB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BtG"}
@@ -0,0 +1,47 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { ownerName } from "../jobs/process-records.js";
3
+ import { txRecords } from "../store/collections.js";
4
+ import { appendMessage, userContent } from "../turns/history.js";
5
+ import { liveStep } from "../turns/step-intents.js";
6
+ import { readRules, ruleText } from "./project-rules.js";
7
+ // A chat keeps its rule files' text for its life (plan 08 §8.2, ADR 0108, 6), so its system prompt doesn't change and
8
+ // the provider's cache holds. A kept file whose text later differs is told once, as a message, with its current text.
9
+ const hashOf = (text) => createHash('sha256').update(text).digest('hex');
10
+ const gone = 'gone';
11
+ /** What the chat is told of a kept file that changed: its current text, or that it no longer exists. */
12
+ function changedText(rule, now) {
13
+ const head = `[kvman: ${rule.path} changed since this chat started.`;
14
+ return now === undefined ? `${head} It no longer exists.]` : `${head} Its current text:]\n${now}`;
15
+ }
16
+ /** At a step's start: keeps the rule files of a chat that has none kept yet, else tells it once of each that changed. */
17
+ export async function keepRules(ctx, session, lease) {
18
+ const workspace = ctx.job.workspace.path;
19
+ if (session.rules === undefined) {
20
+ const rules = await readRules(workspace);
21
+ await ctx.store.transaction((tx) => {
22
+ const live = liveStep(txRecords(tx), lease, lease.jobId);
23
+ if (live !== undefined && live.session.rules === undefined)
24
+ txRecords(tx).sessions.update(session.id, { rules });
25
+ });
26
+ return;
27
+ }
28
+ const kept = session.rules;
29
+ const now = await Promise.all(kept.map((rule) => ruleText(workspace, rule.path)));
30
+ const changed = kept.flatMap((rule, index) => {
31
+ const text = now[index];
32
+ const told = text === undefined ? gone : hashOf(text);
33
+ return text === rule.content || told === rule.told ? [] : [{ index, told, message: changedText(rule, text) }];
34
+ });
35
+ if (changed.length === 0)
36
+ return;
37
+ await ctx.store.transaction((tx) => {
38
+ const store = txRecords(tx);
39
+ const live = liveStep(store, lease, lease.jobId);
40
+ if (live === undefined)
41
+ return;
42
+ const rules = kept.map((rule, index) => ({ ...rule, told: changed.find((entry) => entry.index === index)?.told ?? rule.told }));
43
+ store.sessions.update(session.id, { rules });
44
+ appendMessage(store, store.sessions.get(session.id) ?? live.session, { kind: 'user', content: userContent(changed.map((entry) => entry.message).join('\n\n')), turnId: lease.turnId, source: { kind: 'extension', name: ownerName } });
45
+ });
46
+ }
47
+ //# sourceMappingURL=kept-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kept-rules.js","sourceRoot":"","sources":["../../src/prompt/kept-rules.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,11 @@
1
1
  import type { Section } from '../registry/register-sections.ts';
2
+ import type { KeptRule } from '../schemas/kept-rule.ts';
2
3
  /** The bytes of a rule file that reach the prompt. */
3
4
  export declare const ruleLimit: number;
4
- /** A section for each rule file the workspace folder has, in a fixed order, after every registered section. */
5
- export declare function projectRules(workspace: string): Promise<Section[]>;
5
+ /** A rule file's text as it reaches the prompt, cut at 32 KB; `undefined` when it isn't a regular file inside the workspace folder. */
6
+ export declare function ruleText(workspace: string, name: string): Promise<string | undefined>;
7
+ /** The rule files the workspace has, the folder's own first, then each folder's by name, with their text. */
8
+ export declare function readRules(workspace: string): Promise<KeptRule[]>;
9
+ /** The rule files as prompt sections, after every registered section, in their order. */
10
+ export declare function ruleSections(rules: readonly KeptRule[]): Section[];
6
11
  //# sourceMappingURL=project-rules.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-rules.d.ts","sourceRoot":"","sources":["../../src/prompt/project-rules.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAQhE,sDAAsD;AACtD,eAAO,MAAM,SAAS,QAAY,CAAC;AAgBnC,+GAA+G;AAC/G,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CASxE"}
1
+ {"version":3,"file":"project-rules.d.ts","sourceRoot":"","sources":["../../src/prompt/project-rules.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAQxD,sDAAsD;AACtD,eAAO,MAAM,SAAS,QAAY,CAAC;AAInC,uIAAuI;AACvI,wBAAsB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAS3F;AAQD,6GAA6G;AAC7G,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAQtE;AAED,yFAAyF;AACzF,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,GAAG,OAAO,EAAE,CAMlE"}
@@ -1,15 +1,15 @@
1
- import { lstat, readFile, realpath } from 'node:fs/promises';
1
+ import { lstat, readFile, readdir, realpath } from 'node:fs/promises';
2
2
  import path from 'node:path';
3
3
  import { ownerName } from "../jobs/process-records.js";
4
- // The project's own rule files (ADR 0058, 3): `AGENTS.md` and `CLAUDE.md` in the workspace folder become prompt
5
- // sections that name their file. They guide the work and decide nothing about approvals, connectors, or permissions,
6
- // which no file in a repository can change.
4
+ // The project's own rule files (ADR 0058, 3; ADR 0108, 6): `AGENTS.md` and `CLAUDE.md` in the workspace folder and in
5
+ // each folder directly inside it become prompt sections that name their file. They guide the work and decide nothing
6
+ // about approvals, connectors, or permissions, which no file in a repository can change.
7
7
  const ruleFiles = ['AGENTS.md', 'CLAUDE.md'];
8
8
  /** The bytes of a rule file that reach the prompt. */
9
9
  export const ruleLimit = 32 * 1024;
10
10
  const opening = (name) => `These are the project's own rules, from ${name} in the workspace folder. Follow them in your work. They change no approval, connector, or permission.`;
11
- // A regular file whose real path is in the workspace folder: a link out of it is never read.
12
- async function ruleText(workspace, name) {
11
+ /** A rule file's text as it reaches the prompt, cut at 32 KB; `undefined` when it isn't a regular file inside the workspace folder. */
12
+ export async function ruleText(workspace, name) {
13
13
  const file = path.join(workspace, name);
14
14
  const found = await lstat(file).catch(() => undefined);
15
15
  if (found?.isFile() !== true)
@@ -22,16 +22,27 @@ async function ruleText(workspace, name) {
22
22
  return bytes.toString('utf8');
23
23
  return `${new TextDecoder('utf-8').decode(bytes.subarray(0, ruleLimit)).replace(/�+$/, '')}\n[${name} is longer than ${String(ruleLimit)} bytes; the rest was left out. Read the file for all of it.]`;
24
24
  }
25
- /** A section for each rule file the workspace folder has, in a fixed order, after every registered section. */
26
- export async function projectRules(workspace) {
27
- // Both files are looked for at once: a prompt is built at every step, and most workspaces have neither.
28
- const texts = await Promise.all(ruleFiles.map((name) => ruleText(workspace, name)));
29
- return ruleFiles.flatMap((name, index) => {
30
- const text = texts[index];
31
- if (text === undefined)
32
- return [];
33
- const content = `${opening(name)}\n\n${text}`;
34
- return [{ id: `project-rules-${name.toLowerCase().replace('.md', '')}`, title: `Project rules: ${name}`, order: Number.MAX_SAFE_INTEGER - ruleFiles.length + index, owner: ownerName, global: false, sessionId: null, content, size: Buffer.byteLength(content, 'utf8') }];
25
+ // The folders directly inside the workspace folder that may hold rule files: not a link, not hidden, not node_modules.
26
+ async function ruleFolders(workspace) {
27
+ const entries = await readdir(workspace, { withFileTypes: true }).catch(() => []);
28
+ return entries.filter((entry) => entry.isDirectory() && !entry.name.startsWith('.') && entry.name !== 'node_modules').map((entry) => entry.name).sort();
29
+ }
30
+ /** The rule files the workspace has, the folder's own first, then each folder's by name, with their text. */
31
+ export async function readRules(workspace) {
32
+ const names = [...ruleFiles, ...(await ruleFolders(workspace)).flatMap((folder) => ruleFiles.map((file) => `${folder}/${file}`))];
33
+ // Every file is looked for at once: most folders have none.
34
+ const texts = await Promise.all(names.map((name) => ruleText(workspace, name)));
35
+ return names.flatMap((name, index) => {
36
+ const content = texts[index];
37
+ return content === undefined ? [] : [{ path: name, content, told: null }];
38
+ });
39
+ }
40
+ /** The rule files as prompt sections, after every registered section, in their order. */
41
+ export function ruleSections(rules) {
42
+ return rules.map((rule, index) => {
43
+ const content = `${opening(rule.path)}\n\n${rule.content}`;
44
+ const id = `project-rules-${rule.path.toLowerCase().replace(/\.md$/, '').replace(/[^a-z0-9]+/g, '-')}`;
45
+ return { id, title: `Project rules: ${rule.path}`, order: Number.MAX_SAFE_INTEGER - rules.length + index, owner: ownerName, global: false, sessionId: null, content, size: Buffer.byteLength(content, 'utf8') };
35
46
  });
36
47
  }
37
48
  //# sourceMappingURL=project-rules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-rules.js","sourceRoot":"","sources":["../../src/prompt/project-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAGvD,gHAAgH;AAChH,qHAAqH;AACrH,4CAA4C;AAE5C,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,WAAW,CAAU,CAAC;AAEtD,sDAAsD;AACtD,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC;AAEnC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,2CAA2C,IAAI,wGAAwG,CAAC;AAElM,6FAA6F;AAC7F,KAAK,UAAU,QAAQ,CAAC,SAAiB,EAAE,IAAY;IACrD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9E,IAAI,MAAM,KAAK,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1F,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7D,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,IAAI,mBAAmB,MAAM,CAAC,SAAS,CAAC,8DAA8D,CAAC;AACzM,CAAC;AAED,+GAA+G;AAC/G,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,SAAiB;IAClD,wGAAwG;IACxG,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACpF,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QAC9C,OAAO,CAAC,EAAE,EAAE,EAAE,iBAAiB,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,kBAAkB,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,GAAG,SAAS,CAAC,MAAM,GAAG,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7Q,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"project-rules.js","sourceRoot":"","sources":["../../src/prompt/project-rules.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { Ctx, Stored } from '@kvman/sdk';
2
+ import { type ConnectorRow } from '../registry/register-connectors.ts';
2
3
  import type { SessionDoc } from '../schemas/records.ts';
3
4
  import { type TxRecords } from '../store/collections.ts';
4
5
  /** Await external data before the caller's final canonical store validation, not afterwards. */
@@ -10,6 +11,7 @@ export declare function prepareGrants(ctx: Ctx): Promise<{
10
11
  command: string;
11
12
  args: string[];
12
13
  env: string[];
14
+ port?: number;
13
15
  } | {
14
16
  name: string;
15
17
  description: string;
@@ -80,6 +82,7 @@ export declare function grantsInTx(store: TxRecords, session: Stored<SessionDoc>
80
82
  thinking: "off" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max";
81
83
  decides: boolean;
82
84
  clearedThroughSeq: number | null;
85
+ collapsedThroughSeq: number | null;
83
86
  webHosts: string[];
84
87
  usageBy: {
85
88
  summary: {
@@ -124,32 +127,21 @@ export declare function grantsInTx(store: TxRecords, session: Stored<SessionDoc>
124
127
  }[] | null;
125
128
  connectors: string[] | null;
126
129
  optedIn: string[];
130
+ run: {
131
+ kind: "check" | "find" | "change" | "review";
132
+ goal: string;
133
+ files: string[] | null;
134
+ budget: number;
135
+ } | null;
127
136
  createdAt: string;
128
137
  updatedAt: string;
129
- }>;
130
- connectors: {
131
- name: string;
132
- description: string;
133
- owner: string;
134
- kind: "commands" | "binary";
135
- optIn: boolean;
136
- commands?: {
137
- name: string;
138
- command: string;
139
- examples: {
140
- description: string;
141
- input: import("zod").JSONType;
142
- }[];
143
- asks: boolean;
144
- query: boolean;
145
- card?: string;
138
+ rules?: {
139
+ path: string;
140
+ content: string;
141
+ told: string | null;
146
142
  }[];
147
- binary?: {
148
- check: string;
149
- install?: string;
150
- help?: string;
151
- };
152
- }[];
143
+ }>;
144
+ connectors: ConnectorRow[];
153
145
  disabled: Set<string>;
154
146
  names: string[];
155
147
  workers: ({
@@ -202,6 +194,7 @@ export declare function grantsInTx(store: TxRecords, session: Stored<SessionDoc>
202
194
  command: string;
203
195
  args: string[];
204
196
  env: string[];
197
+ port?: number;
205
198
  } | {
206
199
  name: string;
207
200
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"session-grants.d.ts","sourceRoot":"","sources":["../../src/prompt/session-grants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAM9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAapE,gGAAgG;AAChG,wBAAsB,aAAa,CAAC,GAAG,EAAE,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAM3C;AACD,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC;AAEzE,qGAAqG;AACrG,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAenG;AACD,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC;AAEvE,wBAAsB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAMnG"}
1
+ {"version":3,"file":"session-grants.d.ts","sourceRoot":"","sources":["../../src/prompt/session-grants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAI9C,OAAO,EAAqC,KAAK,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAE1G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAapE,gGAAgG;AAChG,wBAAsB,aAAa,CAAC,GAAG,EAAE,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAM3C;AACD,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC;AAEzE,qGAAqG;AACrG,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAenG;AACD,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC;AAEvE,wBAAsB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAMnG"}
@@ -8,7 +8,7 @@ export type ListedConnector = {
8
8
  name: string;
9
9
  description: string;
10
10
  commands: string[];
11
- signatures?: readonly string[];
11
+ signatures?: readonly (string | undefined)[];
12
12
  };
13
13
  export type SessionTools = {
14
14
  built: BuiltPrompt;
@@ -1 +1 @@
1
- {"version":3,"file":"session-prompt.d.ts","sourceRoot":"","sources":["../../src/prompt/session-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,KAAK,GAAG,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAO9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAMvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGlE,8GAA8G;AAC9G,MAAM,MAAM,eAAe,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAExH,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,YAAY,CAAC;IACpB,8DAA8D;IAC9D,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,kEAAkE;IAClE,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,0EAA0E;IAC1E,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF,kHAAkH;AAClH,wBAAsB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CA2C/F"}
1
+ {"version":3,"file":"session-prompt.d.ts","sourceRoot":"","sources":["../../src/prompt/session-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,KAAK,GAAG,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAO9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAOvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGlE,8GAA8G;AAC9G,MAAM,MAAM,eAAe,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAA;CAAE,CAAC;AAEtI,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,YAAY,CAAC;IACpB,8DAA8D;IAC9D,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,kEAAkE;IAClE,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,0EAA0E;IAC1E,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF,kHAAkH;AAClH,wBAAsB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAgD/F"}
@@ -5,8 +5,9 @@ import { builtinConnectors } from "../connector-call.js";
5
5
  import { delegateIndexDescription } from "../connectors/delegate.js";
6
6
  import { mcpIndexDescription } from "../connectors/mcp.js";
7
7
  import { preferencesSection } from "./person-preferences.js";
8
- import { projectRules } from "./project-rules.js";
8
+ import { readRules, ruleSections } from "./project-rules.js";
9
9
  import { helperAllows } from "../turns/helper-calls.js";
10
+ import { changesFiles } from "../turns/run-scope.js";
10
11
  import { readOnlyAllows } from "../turns/read-only.js";
11
12
  import { sectionsFor } from "../registry/register-sections.js";
12
13
  import { invalid } from "../problems.js";
@@ -18,7 +19,8 @@ export async function sessionTools(ctx, session) {
18
19
  // The settings and files the prompt needs are read together: each read waits on the kernel, so one after another
19
20
  // they add up (the person's preferences among them, ADR 0092, 3).
20
21
  const [rules, preferences, shell, profile, language, grants] = await Promise.all([
21
- projectRules(ctx.job.workspace.path),
22
+ // A chat's kept rule files; before its first step keeps them, the files as they are (ADR 0108, 6).
23
+ session.rules ?? readRules(ctx.job.workspace.path),
22
24
  preferencesSection(ctx),
23
25
  shellFor(ctx),
24
26
  agentProfile(ctx),
@@ -33,16 +35,21 @@ export async function sessionTools(ctx, session) {
33
35
  // A helper is shown only what it may run (ADR 0063, 1), and a read-only worker's helper less (ADR 0056, 4).
34
36
  const readOnly = current.worker?.readOnly === true;
35
37
  const helper = current.parentId !== null;
38
+ // A check run runs lines but changes no file through fs, so it isn't shown fs's changes (ADR 0108, 2).
39
+ const checking = current.run?.kind === 'check';
36
40
  const builtins = builtinConnectors.filter(name => names.includes(name)).map(name => {
37
- const shown = Object.entries(commandsOf(name)).map(([command, entry], index) => ({ command, signature: builtinSignatures[name][index] ?? '', allowed: (!helper || helperAllows(entry)) && (!readOnly || readOnlyAllows(command, entry)) })).filter(row => row.allowed);
41
+ const shown = Object.entries(commandsOf(name)).map(([command, entry], index) => ({ command, signature: builtinSignatures[name][index] ?? '', allowed: (!helper || helperAllows(entry)) && (!readOnly || readOnlyAllows(command, entry)) && !(checking && name === 'fs' && changesFiles(command)) })).filter(row => row.allowed);
38
42
  return { name, description: descriptions[name], commands: shown.map(row => row.command), signatures: shown.map(row => row.signature) };
39
43
  });
40
44
  // A read-only helper sees a registered connector only with its commands that run a query (ADR 0082, 3).
41
- const registered = connectors.filter(connector => names.includes(connector.name)).map(connector => ({
42
- name: connector.name,
43
- description: connector.description,
44
- commands: connector.commands?.filter(command => !readOnly || readOnlyAllows(command.name, undefined, command)).map(command => command.name) ?? (readOnly ? [] : ['exec']),
45
- }));
45
+ // A registered command's payload signature, from its registration's input, so its payload needs no help call (ADR 0108, 14).
46
+ const shownRegistered = connectors.filter(connector => names.includes(connector.name));
47
+ const registered = shownRegistered.map(connector => {
48
+ if (connector.commands === null || connector.commands === undefined)
49
+ return { name: connector.name, description: connector.description, commands: readOnly ? [] : ['exec'] };
50
+ const shown = connector.commands.filter(command => !readOnly || readOnlyAllows(command.name, undefined, command));
51
+ return { name: connector.name, description: connector.description, commands: shown.map(command => command.name), signatures: shown.map(command => command.signature) };
52
+ });
46
53
  const listed = [...builtins.filter(connector => connector.commands.length > 0), ...registered.filter(connector => connector.commands.length > 0)];
47
54
  const built = buildPrompt({
48
55
  role: current.parentId === null ? 'lead' : 'worker',
@@ -51,7 +58,7 @@ export async function sessionTools(ctx, session) {
51
58
  platform: process.platform,
52
59
  shell: shell.kind,
53
60
  language: z.string().parse(language),
54
- sections: [...preferences, ...(await sectionsFor(ctx, current.id)), ...rules],
61
+ sections: [...preferences, ...(await sectionsFor(ctx, current.id)), ...ruleSections(rules)],
55
62
  ...(current.worker === null ? {} : { worker: current.worker }),
56
63
  decides: current.decides,
57
64
  connectors: listed,
@@ -1 +1 @@
1
- {"version":3,"file":"session-prompt.js","sourceRoot":"","sources":["../../src/prompt/session-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-prompt.js","sourceRoot":"","sources":["../../src/prompt/session-prompt.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,8 @@
3
3
  // talking as it works (ADR 0097, 1); both end with keeping going to the end (ADR 0092, 1) and the call-or-final-answer rule. "Decide for me" asks nothing (ADR 0097, 7).
4
4
  const evidence = 'Decide from evidence: every decision and every claim rests on something you read, ran, or were told. When you report a result, say what you checked and what you didn\'t.';
5
5
  const simplest = "Use the simplest practical way that follows the project's conventions and sound engineering practice, and don't add what wasn't asked: no extra feature, file, option, or document.";
6
- const together = "Work in few steps. Each reply is a step, and every step sends the whole conversation again, so make in one reply every call you can make now: reads and searches run at the same time, and calls that change something (shell lines, writes, edits) run one after another in the order you give them. Read a few files with one `fs read-files`, put independent calls (searches, separate files, separate workers) in the same reply, and leave for a later reply only a call that needs another call's result. Several new files are several `fs write` calls in one reply, not one reply each.";
7
- const context = "Spend context with care: every result stays in the conversation and is read again at every step. Search before you read, read only the part of a long file you need, and don't read again a file you already hold: after `fs edit` the result shows the new lines. When you need a background run's result before you can go on, call `background wait` once; don't ask for its output again and again, and a run that ends tells you in a message.";
6
+ const together = "Work in few steps. Each reply is a step, and every step sends the whole conversation again, so make in one reply every call you can make now: reads and searches run at the same time, and calls that change something (shell lines, writes, edits) run one after another in the order you give them. Read a few files with one `fs read-files`, put independent calls (searches, separate files, separate workers) in the same reply, as several run calls or one run with a calls list, and leave for a later reply only a call that needs another call's result. Several new files are several `fs write` calls in one reply, not one reply each.";
7
+ const context = "Spend context with care: every result stays in the conversation and is read again at every step. Search before you read, read only the part of a long file you need, and don't read again a file you already hold: after `fs edit` the result shows the new lines. When you need a background process's result before you can go on, call `background wait` once; don't ask for its output again and again, and a run that ends tells you in a message. Never wait for a helper: its answer wakes you.";
8
8
  const artifacts = 'Show the person anything long to read or see (a report, a design, an HTML page) in an artifact, not in a reply.';
9
9
  const asking = 'To put a question to the person (a choice, a yes or no, a free answer), call `ask`.';
10
10
  const checked = "Before you say that something runs or works, check it the way the person would: run it, request its address, or run its test; if you couldn't, say what is unchecked. After you start a server, request its address once before you give it to the person.";
@@ -18,11 +18,11 @@ const testingAsking = "Tests the person chose. Before you write or change a test
18
18
  const testingDeciding = "Tests. When the project's AGENTS.md has a line starting `Testing:`, follow it. When it has none, don't ask and don't write new tests: run the existing tests that cover your change, leave the app running with its address, and record nothing.";
19
19
  const clarifyDeciding = "Clarify. Sort what looking left open. A fact that looking would answer: look, don't guess. Anything else, decide yourself, since the person asked you to decide: choose what you would recommend, and say in a line what you chose and why. When the means they asked for works against their goal, or a clearly better way exists, say so in a line and take the way you would recommend.";
20
20
  // Deliberating is chosen apart from the map, and names no worker, since the person may turn the council off (ADR 0103, 6).
21
- const deliberate = "Deliberate. Only for a complex request whose approach is open: there are several real ways to do it, the choice is costly or hard to take back, or its risks are not yet clear to you. Once you understood it and have the person's answers, and before any map or change, hand it in one `delegate run` to the worker of the `delegate` connector that debates approaches, when its entry lists one: brief it with the goal, what done looks like, the facts and paths you found, the constraints, and the person's answers. Check its final answer against what you read, then build on it: the map's steps and details when your path has a map, or the work itself when it doesn't. Deliberating and mapping are separate choices: a hard decision with a small change gets the debate and no map; a large change whose approach is clear gets a map and no debate; complex work whose approach is open gets both, the debate first; and most work gets neither. Never deliberate a question, a bug fix, or a clear or small change, and deliberate once per request, not per step.";
21
+ const deliberate = "Deliberate. Only when the person asks for the approaches to be debated. Once you understood the request and have the person's answers, and before any map or change, hand it in one `delegate run` to the worker of the `delegate` connector that debates approaches, when its entry lists one: brief it with the goal, what done looks like, the facts and paths you found, the constraints, and the person's answers. Check its final answer against what you read, then build on it: the map's steps and details when your path has a map, or the work itself when it doesn't. Deliberating and mapping are separate choices, and deliberate once per request, not per step.";
22
22
  const plan = "Plan. Only when your path needs a map, and only after you understood the request, looked at what exists, and have your answers, and before you change anything: never in your first reply, because a map made before you looked is a guess. The map is the implementation plan the person reads and agrees to, so make it detailed, not an outline; the `execution-map` entry below says how to set it with its steps' details in one call, and keep it true. Choose for each step whoever does it best and fastest: yourself, with a connector, for an ordinary or small change, or a worker of the `delegate` connector whose description fits when the step needs that skill.";
23
23
  const confirmAsking = 'Confirm the plan. The person agrees to the map before you work on it. Once the first map of the request, or a map you set again with a change to what the person gets (the goal, what done looks like, what stays as it is, stored data, or what could go wrong), has details on every step (its undetailed list is empty), and before you start any step, call `ask choice` with other set to true. Its question first says in a few lines what you understood: the goal, what done looks like, what stays as it is, and the choices you made for the person; then it asks whether to start, with the option that starts first and an option that changes the plan, so the person can write what to change. When they ask for changes, set the map again with them, detail what changed, and ask again; start only after they chose to start. A change inside the plan, such as who does a step, the order, a step split or retried, or a worker reassigned, needs no confirmation: set the map and say what changed in one line. Never ask the person to confirm a choice they have just made. A change of status with `execution-map update` needs no confirmation.';
24
24
  const confirmDeciding = 'Confirm the plan. Once every step of the map has details, say in a few lines what you understood (the goal, what done looks like, what stays as it is, and the choices you made for the person) and start: the person asked you to decide, so don\'t wait for an answer.';
25
- const execute = "Execute. With a map, work through it as its entry says, so it always shows where you are: take the steps it returns as ready, mark each doing in the reply that makes its first call, hand a step whose uses names a worker to that worker with `delegate run` and check its answer, and mark the step done with your evidence as soon as its check passed. For each step, or with no map for all of what was asked, make the smallest change that does it, check it, and fix a failure at its cause. Check in proportion: after each change, run the tests that cover it; run the whole suite once, at the end; and run no stress, load, performance, or benchmark test unless the person asked for one. A step is not done because you wrote it.";
25
+ const execute = "Execute. With a map, work through it as its entry says, so it always shows where you are: take the steps it returns as ready, mark each doing in the reply that makes its first call, never spend a reply only on `execution-map update` but send it in the reply that makes the next piece of work's calls, hand a step whose uses names a worker to that worker with `delegate run` and check its answer, and mark the step done with your evidence as soon as its check passed. For each step, or with no map for all of what was asked, make the smallest change that does it, check it, and fix a failure at its cause. Check in proportion: after each change, run the tests that cover it; run the whole suite once, at the end; and run no stress, load, performance, or benchmark test unless the person asked for one. A step is not done because you wrote it.";
26
26
  const leadMethodOf = (decides) => {
27
27
  const clarify = decides ? clarifyDeciding : clarifyAsking;
28
28
  const confirm = decides ? confirmDeciding : confirmAsking;
@@ -30,7 +30,7 @@ const leadMethodOf = (decides) => {
30
30
  'How you work. You are the one who decides: connectors and workers are how you act, and the result is yours. No path is fixed: you choose it for each task from what the task is, and you change it when what you find changes it.',
31
31
  together,
32
32
  narrate,
33
- 'Size up the task first. Read the request and look at what it touches, then judge four things: how clear it is (can you say what done looks like?), how much it changes (one place, or several parts that depend on each other), what could go wrong and how hard that is to take back, and whether the person will look at the result (a screen, a page, a report). From that, choose the lightest path that delivers the task well. A question needs an answer from what you read, and no change. A small, clear change needs doing and checking, and nothing more. An unclear request needs its questions answered before any work. Work that changes several parts that depend on each other, or that is hard to take back, needs an execution map the person agreed to; other work, even of a few steps, needs no map: do it, and say where you are as you go. A bug fix, or a change to one or two files, never gets a map. A complex request whose approach is open needs deliberating first, with a map or without one, as Deliberate says. Separate parts may need workers, and a result the person looks at needs showing. A task that turns out larger than it looked gets its map then, and one that turns out simple drops what it does not need.',
33
+ 'Size up the task first. Read the request and look at what it touches, then judge four things: how clear it is (can you say what done looks like?), how much it changes (one place, or several parts that depend on each other), what could go wrong and how hard that is to take back, and whether the person will look at the result (a screen, a page, a report). From that, choose the lightest path that delivers the task well. A question needs an answer from what you read, and no change. A small, clear change needs doing and checking, and nothing more. An unclear request needs its questions answered before any work. Work that changes several parts that depend on each other, or that is hard to take back, needs an execution map the person agreed to; other work, even of a few steps, needs no map: do it, and say where you are as you go. A bug fix, a change to one or two files, or a fix the person described never gets a map. A request the person asks to have debated is deliberated first, with a map or without one, as Deliberate says. Separate parts may need workers, and a result the person looks at needs showing. A task that turns out larger than it looked gets its map then, and one that turns out simple drops what it does not need.',
34
34
  'These are the parts of a path. Use only the ones your path has.',
35
35
  "Understand. Before you decide anything, find out what the person is trying to achieve, as far as the task needs. Read everything they sent, attached images and files too, then look at what exists: the files, config, tests, and data the request touches, the project's rules, and what already does part of it, so you build on it and not beside it. Work out what the person needs, not only what they typed: answer for yourself what outcome they want and what they will do with it; what done looks like to them, as examples they would check (an exact name, a screen, an output); what the work changes or must keep working (other callers, stored data, settings, users); whether they asked for a goal or for a particular means (a format, a library, a design), and whether that means serves the goal; what they didn't say that changes the result (who uses it, how much data or load, which platforms and languages, privacy and security, and how good is good enough); and which of your connectors and workers help, and what is missing. Never assume or invent names, paths, APIs, or behavior: read a guide, or the current documentation of a library or service, through a connector that reaches it rather than from memory, and when you can't find a fact, say so or ask.",
36
36
  clarify,
@@ -40,8 +40,8 @@ const leadMethodOf = (decides) => {
40
40
  confirm,
41
41
  execute,
42
42
  'Stay on the task. Do what was asked and nothing else. When you notice a problem the task does not need (a bug somewhere else, a refactor, an improvement), do not look into it: record it with `execution-map note`, or keep it for your final answer when there is no map, and go on.',
43
- "Delegate. A step goes to a worker of the `delegate` connector when the worker does it better or faster than you would: a specialist whose skill the step needs, separate work that runs beside yours, or a fresh review of a change you finished; its entry lists the workers and what each is for. Don't delegate what a few calls of your own would do, and ask for one review of a piece of work, not several. Several `delegate run` calls in one reply run in parallel. Brief the worker with the goal, the facts it needs, its limits, and what to return. A worker sees none of this conversation and reads again every file it needs, so put in the brief the paths, the exact lines it needs quoted when they are short, and what you already found, so it doesn't read again what you hold. Read what a worker returns and check it before you rely on it: its work is your responsibility. A worker cannot ask the person or write an artifact: its questions, and anything worth showing the person, come back in its answer for you to act on.",
44
- 'Show what the person will look at. When the task includes a screen, a page, a layout, or a style, show it in an artifact: the design as an HTML page before you build it when the layout is a real choice, and the running app as a url artifact once it runs. Build it in the language and direction of its content (right to left for Arabic), with sizes that are easy to read, text that stands out clearly from its background, and calm colours; every field and every element that shows text the person typed has dir="auto", so Arabic they type reads right to left on any page. Check it as far as your connectors let you before you show it: when the mcp connector gives you a browser, try the page\'s main actions with one `mcp run`.',
43
+ "Delegate. A run is one deliverable of one kind: find (locate or explain), change (one change in the files it names), check (run commands or tests and diagnose), or review (review a finished change). Delegate find, check, and review runs, and change runs only when two or more run at once on files that don't overlap; never a question, a small change, work you already hold the context for, or work the person asked you to do. Ask for one review of a piece of work, not several. A task with several parts is several runs, and several `delegate run` calls in one reply run in parallel. Write the brief in plain full sentences: goal is one sentence of what the run delivers, done one condition anyone can check, and context the line ranges the worker needs, whose text kvcoder attaches, so it reads nothing again that you hold. Every run goes on in the background: after starting workers, go on with what doesn't need them or end your turn; their answers come as messages that wake you, and you never wait for a helper with `background wait`. Read what a worker returns and check it before you rely on it: its work is your responsibility. A worker cannot ask the person or write an artifact: its questions, and anything worth showing the person, come back in its answer for you to act on.",
44
+ 'Show what the person will look at. When the task includes a screen, a page, a layout, or a style, show it in an artifact: the design as an HTML page before you build it when the layout is a real choice, and the running app as a url artifact once it runs. Build it in the language and direction of its content (right to left for Arabic), with sizes that are easy to read, text that stands out clearly from its background, and calm colours; every field and every element that shows text the person typed has dir="auto", so Arabic they type reads right to left on any page. Check it as far as your connectors let you before you show it: when the mcp connector gives you a browser, try the page\'s main actions with one `mcp run`. When the person says they will test it themselves, start it, request its address once, give it to them, and stop, with no browser checks.',
45
45
  "Finish. The work is done when it is ready for production: it does what was asked, it handles the errors and edge cases that will happen, it follows the project's conventions, its checks and tests pass, and nothing unfinished or temporary is left behind. Stop what you started in the background and no longer need, and delete the temporary files you or your tools left in the workspace folder, such as logs, snapshots, and scratch files. Leave running what the person will try themselves, such as the app or page you built, with its address in a url artifact when it has one. When you found how this project is built, tested, or run and its AGENTS.md does not say it, add a short Commands section to AGENTS.md with risky set to true: that asks the person, so don't ask them a second time with `ask`. It holds only command lines, each with a few words of what it does, at most 15 lines: never notes, designs, or history. Your final answer, in plain words and as short as the facts allow, says what was done, what you checked and what it showed, what is unchecked, what still runs in the background, and what you noted for later.",
46
46
  evidence,
47
47
  simplest,
@@ -1 +1 @@
1
- {"version":3,"file":"working-method.js","sourceRoot":"","sources":["../../src/prompt/working-method.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"working-method.js","sourceRoot":"","sources":["../../src/prompt/working-method.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,7 @@ export declare const settingSchemas: {
47
47
  command: z.ZodString;
48
48
  args: z.ZodArray<z.ZodString>;
49
49
  env: z.ZodArray<z.ZodString>;
50
+ port: z.ZodExactOptional<z.ZodNumber>;
50
51
  }, z.core.$strict>, z.ZodObject<{
51
52
  name: z.ZodString;
52
53
  description: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"register-settings.d.ts","sourceRoot":"","sources":["../src/register-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAiBzC,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkB1B,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAqB/C;AAED,kFAAkF;AAClF,wBAAsB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,aAAa,GAAG,SAAS,CAAA;CAAE,CAAC,CAG9G;AAED,oJAAoJ;AACpJ,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAIvE;AAED,yCAAyC;AACzC,wBAAsB,YAAY,CAAC,GAAG,EAAE,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;GAa1C;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"register-settings.d.ts","sourceRoot":"","sources":["../src/register-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAiBzC,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkB1B,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAsB/C;AAED,kFAAkF;AAClF,wBAAsB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,aAAa,GAAG,SAAS,CAAA;CAAE,CAAC,CAG9G;AAED,oJAAoJ;AACpJ,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAIvE;AAED,yCAAyC;AACzC,wBAAsB,YAAY,CAAC,GAAG,EAAE,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;GAa1C;AAED,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC"}
@@ -37,6 +37,7 @@ export function registerSettings(ctx) {
37
37
  ctx.registerSetting('kvcoder.delegate.model', { description: "The model a helper uses when its worker names none; null uses the chat's own.", schema: settingSchemas.model, default: null });
38
38
  ctx.registerSetting('kvcoder.thinking', { description: 'How hard the model thinks in a new session.', schema: settingSchemas.thinking, default: 'medium' });
39
39
  ctx.registerSetting('kvcoder.delegate.thinking', { description: "How hard a helper thinks when its worker names no level (ADR 0102, 3).", schema: settingSchemas.thinking, default: 'medium' });
40
+ ctx.registerSetting('kvcoder.delegate.thinkingLimit', { description: 'The highest level any helper thinks at, whatever its worker or the chat names (ADR 0108, 3).', schema: settingSchemas.thinking, default: 'high' });
40
41
  ctx.registerSetting('kvcoder.maxSteps', { description: 'The most steps a turn takes before it stops; null sets no limit.', schema: settingSchemas.maxSteps, default: null });
41
42
  ctx.registerSetting('kvcoder.approval', { description: 'When a call asks the person first: only the ones the model marks risky (auto), every one that can ask (ask), or none at all (never).', schema: settingSchemas.approval, default: 'auto' });
42
43
  ctx.registerSetting('kvcoder.approval.allowed', { description: 'The approval rules: a line whose every command starts with one of these prefixes, or a file change, runs without asking.', schema: settingSchemas.allowed, default: [] });
@@ -1 +1 @@
1
- {"version":3,"file":"register-settings.js","sourceRoot":"","sources":["../src/register-settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-settings.js","sourceRoot":"","sources":["../src/register-settings.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,16 @@
1
1
  import { z, type Ctx } from '@kvman/sdk';
2
2
  import { type TxRecords } from '../store/collections.ts';
3
+ declare const commandRowSchema: z.ZodObject<{
4
+ name: z.ZodString;
5
+ command: z.ZodString;
6
+ examples: z.ZodArray<z.ZodObject<{
7
+ description: z.ZodString;
8
+ input: z.ZodJSONSchema;
9
+ }, z.core.$strip>>;
10
+ asks: z.ZodBoolean;
11
+ query: z.ZodBoolean;
12
+ card: z.ZodExactOptional<z.ZodString>;
13
+ }, z.core.$strip>;
3
14
  declare const connectorRowSchema: z.ZodObject<{
4
15
  name: z.ZodString;
5
16
  description: z.ZodString;
@@ -26,7 +37,12 @@ declare const connectorRowSchema: z.ZodObject<{
26
37
  }, z.core.$strip>>;
27
38
  optIn: z.ZodBoolean;
28
39
  }, z.core.$strip>;
29
- export type ConnectorRow = z.output<typeof connectorRowSchema>;
40
+ /** A connector as kvcoder uses it; a command also carries its payload's signature for the prompt (ADR 0108, 14), which `kvcoder.connector.list` doesn't answer. */
41
+ export type ConnectorRow = Omit<z.output<typeof connectorRowSchema>, 'commands'> & {
42
+ commands?: (z.output<typeof commandRowSchema> & {
43
+ signature?: string;
44
+ })[];
45
+ };
30
46
  export type ConnectorPreparation = {
31
47
  loaded: ReadonlySet<string>;
32
48
  binaries: ConnectorRow[];
@@ -1 +1 @@
1
- {"version":3,"file":"register-connectors.d.ts","sourceRoot":"","sources":["../../src/registry/register-connectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAKzC,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAQ7E,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;iBAQtB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAc/D,MAAM,MAAM,oBAAoB,GAAG;IAAE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAAC,QAAQ,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC;AAE7F,mGAAmG;AACnG,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAM/E;AAED,8FAA8F;AAC9F,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,oBAAoB,GAAG,YAAY,EAAE,CAI/F;AAED,sHAAsH;AACtH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAOxE;AAuCD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAyDjD;AAED,wGAAwG;AACxG,wBAAsB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAK7D"}
1
+ {"version":3,"file":"register-connectors.d.ts","sourceRoot":"","sources":["../../src/registry/register-connectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAKzC,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAQ7E,QAAA,MAAM,gBAAgB;;;;;;;;;;iBAAiK,CAAC;AAExL,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;iBAQtB,CAAC;AAEH,mKAAmK;AACnK,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC,EAAE,UAAU,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,gBAAgB,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAA;CAAE,CAAC;AAcjK,MAAM,MAAM,oBAAoB,GAAG;IAAE,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAAC,QAAQ,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC;AAE7F,mGAAmG;AACnG,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAM/E;AAED,8FAA8F;AAC9F,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,oBAAoB,GAAG,YAAY,EAAE,CAI/F;AAED,sHAAsH;AACtH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAOxE;AA2CD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAyDjD;AAED,wGAAwG;AACxG,wBAAsB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAK7D"}