@corenel/harness 0.2.0 → 0.3.2

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 (118) hide show
  1. package/dist/acp/agentMap.d.ts +34 -0
  2. package/dist/acp/agentMap.d.ts.map +1 -0
  3. package/dist/acp/agentMap.js +110 -0
  4. package/dist/acp/agentMap.js.map +1 -0
  5. package/dist/acp/index.d.ts +4 -0
  6. package/dist/acp/index.d.ts.map +1 -0
  7. package/dist/acp/index.js +6 -0
  8. package/dist/acp/index.js.map +1 -0
  9. package/dist/acp/policyMap.d.ts +55 -0
  10. package/dist/acp/policyMap.d.ts.map +1 -0
  11. package/dist/acp/policyMap.js +121 -0
  12. package/dist/acp/policyMap.js.map +1 -0
  13. package/dist/acp/types.d.ts +41 -0
  14. package/dist/acp/types.d.ts.map +1 -0
  15. package/dist/acp/types.js +14 -0
  16. package/dist/acp/types.js.map +1 -0
  17. package/dist/api/backend.d.ts +39 -0
  18. package/dist/api/backend.d.ts.map +1 -0
  19. package/dist/api/backend.js +126 -0
  20. package/dist/api/backend.js.map +1 -0
  21. package/dist/api/client.d.ts +95 -0
  22. package/dist/api/client.d.ts.map +1 -0
  23. package/dist/api/client.js +212 -0
  24. package/dist/api/client.js.map +1 -0
  25. package/dist/api/fileMirrorSource.d.ts +24 -0
  26. package/dist/api/fileMirrorSource.d.ts.map +1 -0
  27. package/dist/api/fileMirrorSource.js +59 -0
  28. package/dist/api/fileMirrorSource.js.map +1 -0
  29. package/dist/api/mirror.d.ts +102 -0
  30. package/dist/api/mirror.d.ts.map +1 -0
  31. package/dist/api/mirror.js +204 -0
  32. package/dist/api/mirror.js.map +1 -0
  33. package/dist/api/mirrorScheduler.d.ts +56 -0
  34. package/dist/api/mirrorScheduler.d.ts.map +1 -0
  35. package/dist/api/mirrorScheduler.js +167 -0
  36. package/dist/api/mirrorScheduler.js.map +1 -0
  37. package/dist/core/loop.d.ts +2 -0
  38. package/dist/core/loop.d.ts.map +1 -1
  39. package/dist/core/loop.js +1 -0
  40. package/dist/core/loop.js.map +1 -1
  41. package/dist/install/lockfile.d.ts +79 -0
  42. package/dist/install/lockfile.d.ts.map +1 -0
  43. package/dist/install/lockfile.js +155 -0
  44. package/dist/install/lockfile.js.map +1 -0
  45. package/dist/install/store.d.ts +13 -0
  46. package/dist/install/store.d.ts.map +1 -0
  47. package/dist/install/store.js +38 -0
  48. package/dist/install/store.js.map +1 -0
  49. package/dist/log.d.ts.map +1 -1
  50. package/dist/log.js +6 -1
  51. package/dist/log.js.map +1 -1
  52. package/dist/prompts/host.d.ts +4 -0
  53. package/dist/prompts/host.d.ts.map +1 -1
  54. package/dist/prompts/host.js.map +1 -1
  55. package/dist/prompts/index.d.ts.map +1 -1
  56. package/dist/prompts/index.js +4 -0
  57. package/dist/prompts/index.js.map +1 -1
  58. package/dist/prompts/library/defaults.generated.js +1 -1
  59. package/dist/prompts/library/defaults.generated.js.map +1 -1
  60. package/dist/providers/gateway.d.ts +3 -0
  61. package/dist/providers/gateway.d.ts.map +1 -1
  62. package/dist/providers/gateway.js +3 -0
  63. package/dist/providers/gateway.js.map +1 -1
  64. package/dist/sessions/apiLeaseStore.d.ts +10 -0
  65. package/dist/sessions/apiLeaseStore.d.ts.map +1 -0
  66. package/dist/sessions/apiLeaseStore.js +41 -0
  67. package/dist/sessions/apiLeaseStore.js.map +1 -0
  68. package/dist/sessions/head.d.ts +90 -0
  69. package/dist/sessions/head.d.ts.map +1 -0
  70. package/dist/sessions/head.js +82 -0
  71. package/dist/sessions/head.js.map +1 -0
  72. package/dist/sessions/inflight.d.ts +58 -0
  73. package/dist/sessions/inflight.d.ts.map +1 -0
  74. package/dist/sessions/inflight.js +0 -0
  75. package/dist/sessions/inflight.js.map +1 -0
  76. package/dist/sessions/lease.d.ts +59 -0
  77. package/dist/sessions/lease.d.ts.map +1 -0
  78. package/dist/sessions/lease.js +115 -0
  79. package/dist/sessions/lease.js.map +1 -0
  80. package/dist/sessions/leaseStore.d.ts +46 -0
  81. package/dist/sessions/leaseStore.d.ts.map +1 -0
  82. package/dist/sessions/leaseStore.js +58 -0
  83. package/dist/sessions/leaseStore.js.map +1 -0
  84. package/dist/sessions/timeline.d.ts +134 -0
  85. package/dist/sessions/timeline.d.ts.map +1 -0
  86. package/dist/sessions/timeline.js +127 -0
  87. package/dist/sessions/timeline.js.map +1 -0
  88. package/dist/sidecar/host.d.ts +223 -3
  89. package/dist/sidecar/host.d.ts.map +1 -1
  90. package/dist/sidecar/host.js +592 -2
  91. package/dist/sidecar/host.js.map +1 -1
  92. package/dist/sidecar/server.d.ts +124 -2
  93. package/dist/sidecar/server.d.ts.map +1 -1
  94. package/dist/sidecar/server.js +608 -9
  95. package/dist/sidecar/server.js.map +1 -1
  96. package/dist/snapshot/effects.d.ts +69 -0
  97. package/dist/snapshot/effects.d.ts.map +1 -0
  98. package/dist/snapshot/effects.js +67 -0
  99. package/dist/snapshot/effects.js.map +1 -0
  100. package/dist/snapshot/manifest.d.ts +73 -0
  101. package/dist/snapshot/manifest.d.ts.map +1 -0
  102. package/dist/snapshot/manifest.js +141 -0
  103. package/dist/snapshot/manifest.js.map +1 -0
  104. package/dist/snapshot/tree.d.ts +62 -0
  105. package/dist/snapshot/tree.d.ts.map +1 -0
  106. package/dist/snapshot/tree.js +147 -0
  107. package/dist/snapshot/tree.js.map +1 -0
  108. package/dist/tools/builtins.d.ts.map +1 -1
  109. package/dist/tools/builtins.js +61 -2
  110. package/dist/tools/builtins.js.map +1 -1
  111. package/dist/tools/namespaces.d.ts +1 -1
  112. package/dist/tools/namespaces.d.ts.map +1 -1
  113. package/dist/tools/namespaces.js +24 -0
  114. package/dist/tools/namespaces.js.map +1 -1
  115. package/dist/tools/todo.d.ts.map +1 -1
  116. package/dist/tools/todo.js +12 -0
  117. package/dist/tools/todo.js.map +1 -1
  118. package/package.json +6 -2
@@ -0,0 +1,147 @@
1
+ /* Snapshot Layer 2 — the content-addressed file tree and the delta between two.
2
+ *
3
+ * A snapshot ships a DIFF, not a disk image. Spec s4: a raw microVM memory dump
4
+ * does not move between an Apple Silicon laptop and a Linux host, but a file diff
5
+ * does, and because the base is pinned by digest both ends provably start from
6
+ * identical ground. Typically megabytes, not gigabytes.
7
+ *
8
+ * This module is pure — no I/O, no crypto, no node. Hashing is the caller's
9
+ * (node:crypto server-side, SubtleCrypto in a browser), which is also what keeps
10
+ * one implementation serving both.
11
+ *
12
+ * It also gives `parent` a job. An earlier review flagged the manifest's lineage
13
+ * field as unused and asked whether to cut it; incremental snapshots are the use.
14
+ * The first snapshot of a session is full; each later one records only what
15
+ * changed since its parent, and a restore walks the chain back to a full one.
16
+ */
17
+ /** Canonical text form of a tree — sorted paths, trailing newline. */
18
+ export function serializeTree(tree) {
19
+ const keys = Object.keys(tree).sort();
20
+ const out = {};
21
+ for (const k of keys)
22
+ out[k] = tree[k];
23
+ return JSON.stringify(out, null, 2) + '\n';
24
+ }
25
+ export function parseTree(text) {
26
+ let parsed;
27
+ try {
28
+ parsed = JSON.parse(text);
29
+ }
30
+ catch {
31
+ return null;
32
+ }
33
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed))
34
+ return null;
35
+ const out = {};
36
+ for (const [k, v] of Object.entries(parsed)) {
37
+ if (typeof v === 'string' && v)
38
+ out[k] = v;
39
+ }
40
+ return out;
41
+ }
42
+ /** What changed between two trees. Deterministic: every list is sorted. */
43
+ export function diffTrees(parent, current) {
44
+ const added = [];
45
+ const modified = [];
46
+ const removed = [];
47
+ for (const [path, hash] of Object.entries(current)) {
48
+ const before = parent[path];
49
+ if (before === undefined)
50
+ added.push(path);
51
+ else if (before !== hash)
52
+ modified.push(path);
53
+ }
54
+ for (const path of Object.keys(parent)) {
55
+ if (current[path] === undefined)
56
+ removed.push(path);
57
+ }
58
+ return { added: added.sort(), modified: modified.sort(), removed: removed.sort() };
59
+ }
60
+ /** True when nothing changed — worth checking before writing a snapshot nobody
61
+ * needs, and before shipping bytes across a wire. */
62
+ export function isEmptyDelta(d) {
63
+ return d.added.length === 0 && d.modified.length === 0 && d.removed.length === 0;
64
+ }
65
+ /**
66
+ * The blob hashes a delta actually needs shipped.
67
+ *
68
+ * DEDUPED, which is the point of content addressing: two paths with identical
69
+ * content share one blob, so a copied file or a repeated boilerplate header costs
70
+ * nothing extra. Removals need no blob at all.
71
+ */
72
+ export function blobsForDelta(delta, current) {
73
+ const needed = new Set();
74
+ for (const path of [...delta.added, ...delta.modified]) {
75
+ const hash = current[path];
76
+ if (hash)
77
+ needed.add(hash);
78
+ }
79
+ return [...needed].sort();
80
+ }
81
+ /**
82
+ * Apply a delta to a parent tree, producing the child tree.
83
+ *
84
+ * The inverse of diffTrees, and the restore path's core step. `hashes` supplies
85
+ * the content hash for every added/modified path — a delta alone does not carry
86
+ * them, because the tree it came from already did.
87
+ */
88
+ export function applyDelta(parent, delta, hashes) {
89
+ const out = { ...parent };
90
+ for (const path of delta.removed)
91
+ delete out[path];
92
+ for (const path of [...delta.added, ...delta.modified]) {
93
+ const hash = hashes[path];
94
+ // A delta naming a path with no hash is corrupt; skipping it would silently
95
+ // produce a tree that does not match the snapshot's own tree hash, which the
96
+ // caller can then detect. Better a detectable mismatch than invented content.
97
+ if (hash)
98
+ out[path] = hash;
99
+ }
100
+ return out;
101
+ }
102
+ /**
103
+ * Collapse a lineage into one effective tree.
104
+ *
105
+ * `chain` runs oldest-first: a full snapshot's tree, then each descendant's
106
+ * delta. Restoring walks it forward rather than resolving parents recursively at
107
+ * read time, so a long chain costs one pass.
108
+ */
109
+ export function collapseChain(base, steps) {
110
+ return steps.reduce((acc, step) => applyDelta(acc, step.delta, step.hashes), { ...base });
111
+ }
112
+ /** Paths in a tree whose blobs are absent from `have` — what a restore must
113
+ * fetch before it can write anything. */
114
+ export function missingBlobs(tree, have) {
115
+ const missing = new Set();
116
+ for (const hash of Object.values(tree)) {
117
+ if (!have.has(hash))
118
+ missing.add(hash);
119
+ }
120
+ return [...missing].sort();
121
+ }
122
+ /**
123
+ * Paths a snapshot must NOT capture.
124
+ *
125
+ * Session and run logs are Layer 3 and travel by reference (spec s4), so
126
+ * capturing them here would duplicate them and, worse, let a stale copy overwrite
127
+ * the live append-only log on restore — the exact clobber the single-writer rule
128
+ * exists to prevent. Blobs are the session's own offloaded outputs, referenced
129
+ * the same way.
130
+ */
131
+ export function isLayer3Path(path, stateDir) {
132
+ const p = path.replace(/^\.\//, '');
133
+ return p.startsWith(`${stateDir}/sessions/`)
134
+ || p.startsWith(`${stateDir}/runs/`)
135
+ || p === `${stateDir}/blobs`
136
+ || p.startsWith(`${stateDir}/blobs/`);
137
+ }
138
+ /** Drop Layer 3 paths from a tree before diffing it. */
139
+ export function withoutLayer3(tree, stateDir) {
140
+ const out = {};
141
+ for (const [path, hash] of Object.entries(tree)) {
142
+ if (!isLayer3Path(path, stateDir))
143
+ out[path] = hash;
144
+ }
145
+ return out;
146
+ }
147
+ //# sourceMappingURL=tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../snapshot/tree.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../tools/builtins.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,mBAAmB,CAAC;AAwDhE,eAAO,MAAM,eAAe,EAAE,SA2D7B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAyB5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,SAa9B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,SAWvB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,SAkBvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,SAgB9B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,SAiDzB,CAAC;AAiBF,eAAO,MAAM,cAAc,EAAE,SA6B5B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,SA6C7B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,SAoB3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,SAgC/B,CAAC;AAEF;gFACgF;AAChF,eAAO,MAAM,YAAY,EAAE,SAAS,EAgBnC,CAAC;AAEF;;;+DAG+D;AAC/D,wBAAgB,QAAQ,IAAI,SAAS,EAAE,CAEtC"}
1
+ {"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../tools/builtins.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,mBAAmB,CAAC;AAwDhE,eAAO,MAAM,eAAe,EAAE,SA0F7B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAyB5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,SAa9B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,SAWvB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,SAkBvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,SA6B9B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,SAgEzB,CAAC;AAiBF,eAAO,MAAM,cAAc,EAAE,SA6B5B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,SA6C7B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,SAoB3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,SAgC/B,CAAC;AAEF;gFACgF;AAChF,eAAO,MAAM,YAAY,EAAE,SAAS,EAgBnC,CAAC;AAEF;;;+DAG+D;AAC/D,wBAAgB,QAAQ,IAAI,SAAS,EAAE,CAEtC"}
@@ -54,7 +54,9 @@ async function prmdCompileError(content, ctx) {
54
54
  }
55
55
  export const proposeEditTool = {
56
56
  name: 'propose_edit',
57
- description: 'Propose a replacement for the current editor file. The user reviews a diff and applies or rejects it — ' +
57
+ description: 'Propose a replacement for the CURRENTLY OPEN editor file. It takes no path and can only ever replace that '
58
+ + 'one file, so never use it to create a new file or to edit a different one — use create_file or write_file '
59
+ + 'for those. The user reviews a diff and applies or rejects it — ' +
58
60
  'this does NOT write the file directly. Provide the COMPLETE new file content (not a patch) plus a short ' +
59
61
  'explanation. Use the editor file shown in the system context as the basis. This call WAITS for the review ' +
60
62
  'and returns the outcome: applied, partially applied (with the rejected changes), or rejected — rely on ' +
@@ -64,11 +66,40 @@ export const proposeEditTool = {
64
66
  properties: {
65
67
  explanation: { type: 'string', description: 'One line describing the change.' },
66
68
  new_content: { type: 'string', description: 'The full proposed file content.' },
69
+ path: { type: 'string', description: 'The file being replaced. Must be the file currently open in the editor.' },
67
70
  },
68
- required: ['explanation', 'new_content'],
71
+ required: ['explanation', 'new_content', 'path'],
69
72
  },
70
73
  async run(args, ctx) {
71
74
  const explanation = str(args, 'explanation') || 'Proposed an edit';
75
+ // Fail closed with no open file. This tool carries NO target path -- it replaces
76
+ // whatever the editor has open -- so without one there is nothing to diff
77
+ // against. Proposing anyway showed the user an empty diff, and (worse) content
78
+ // meant for a NEW file got diffed against an unrelated open document, where
79
+ // accepting would have overwritten it. Point the model at the tools that take
80
+ // an explicit path instead.
81
+ if (!ctx.editorFile) {
82
+ return 'Cannot propose an edit: no file is open in the editor, and propose_edit only replaces the open file. '
83
+ + 'To create a new file use create_file, and to overwrite an existing one use write_file — both take an explicit path.';
84
+ }
85
+ // The target is explicit and must be the open file. Before `path` existed this
86
+ // tool meant "the open file" implicitly, so a proposal authored for some OTHER
87
+ // file was silently diffed against whatever was open -- and accepting wrote the
88
+ // wrong content into it. Stating the target makes that mismatch impossible
89
+ // rather than merely unlikely.
90
+ const target = str(args, 'path');
91
+ if (!target) {
92
+ return `Cannot propose an edit: propose_edit needs a path, and it must be the open file (${ctx.editorFile}). `
93
+ + 'To create a new file use create_file, or to overwrite a different one use write_file.';
94
+ }
95
+ // Compare on a normalized form so a Windows path or a leading ./ is not a false
96
+ // mismatch — but nothing looser than that: matching on the basename alone would
97
+ // accept a/welcome.prmd for b/welcome.prmd, which is the very confusion this guards.
98
+ const norm = (p) => p.trim().replace(/\\/g, '/').replace(/^\.\//, '');
99
+ if (norm(target) !== norm(ctx.editorFile)) {
100
+ return `Cannot propose an edit: the open file is ${ctx.editorFile}, but this proposal targets ${target}. `
101
+ + 'propose_edit can only replace the open file. Use create_file for a new file, or write_file to overwrite a different one.';
102
+ }
72
103
  // The diff + apply happen on the main thread (the panel renders the proposal
73
104
  // from this tool call). Block until the user decides so later turns can rely
74
105
  // on the outcome. Without a reviewer (sub-agents, DAG nodes, headless runs)
@@ -180,6 +211,19 @@ export const kvSetTool = {
180
211
  export const recallResultTool = {
181
212
  name: 'recall_result',
182
213
  noOffload: true, // recalling a large result must never re-offload itself
214
+ /* DECLARED, like todo_write's and ask_user's. This one grants no new access at
215
+ * all: it reads back a tool result THIS SESSION ALREADY PRODUCED, which means
216
+ * the original call already passed the policy check that produced it. The
217
+ * store is session-scoped (`<root>/<sessionId>/blobs/<id>.json`) and the id
218
+ * shape is validated, so it cannot reach another session's data or escape the
219
+ * directory.
220
+ *
221
+ * The deciding argument is that offloading is a CONTEXT-MANAGEMENT detail,
222
+ * triggered by size. Gating recall means the same information costs an
223
+ * approval prompt depending on how large it happened to be - a performance
224
+ * heuristic leaking into governance, and an approval the user cannot act on
225
+ * meaningfully because they already approved the thing that produced it. */
226
+ permission: 'allow',
183
227
  description: 'Fetch the full content of a tool result that was offloaded to save context. ' +
184
228
  'You saw an "[offloaded tool result … recall_result({ id })]" reference — pass that id.',
185
229
  parameters: {
@@ -196,6 +240,21 @@ export const recallResultTool = {
196
240
  export const askUserTool = {
197
241
  name: 'ask_user',
198
242
  noOffload: true,
243
+ /* DECLARED, like todo_write's. Gating this behind an approval prompt is asking
244
+ * the user for permission to ask the user a question — two dialogs for one
245
+ * decision, the first of which carries no information.
246
+ *
247
+ * It changes nothing outside the run: no file, no network, no state. Its whole
248
+ * effect is to put a question in front of a person who is already there.
249
+ *
250
+ * Nothing depended on its previous `ask` tier. The case that looks like it
251
+ * might — an unattended run parking forever on a question nobody will answer —
252
+ * is handled by EXCLUSION rather than by permission: CREW_EXCLUDED_TOOLS drops
253
+ * ask_user from every crew agent (see @corenel/crew's capabilities.ts), and the
254
+ * daemon's executor honours the same set. On a surface where it IS offered,
255
+ * someone is by definition attending. And with no `ask` handler wired, `run`
256
+ * already returns "unavailable in this environment" rather than hanging. */
257
+ permission: 'allow',
199
258
  description: 'Ask the user one or more questions when you need a decision you cannot make from context — to choose ' +
200
259
  'between approaches, get a missing requirement, or confirm direction. Prefer this over guessing. Give each ' +
201
260
  'question a short `header` (a chip label), the `question` text, and 2–4 distinct `options` (each with a ' +
@@ -1 +1 @@
1
- {"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../tools/builtins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../tools/builtins.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,SAAS,GAAG,CAAC,IAA6B,EAAE,GAAW;IACrD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACpB,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,yCAAyC;AACzC;;;iDAGiD;AACjD,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAE/C,qEAAqE;AACrE,SAAS,aAAa,CAAC,GAAgB;IACrC,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC;IACxB,MAAM,GAAG,GAAG,EAAE,IAAI,OAAO,EAAE,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,EAAE,CAAC,WAAW,CAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,OAAO;QACL,KAAK,EAAE,GAAG;QACV,IAAI,KAAK,IAAI,EAAE;YAAE,EAAE,CAAC,WAAW,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7C,KAAK,KAAK,IAAI,EAAE;YAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KACzC,CAAC;AACJ,CAAC;AAED;;iBAEiB;AACjB,SAAS,kBAAkB,CAAC,IAAwB,EAAE,OAAe;IACnE,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;2CAG2C;AAC3C,KAAK,UAAU,gBAAgB,CAAC,OAAe,EAAE,GAAgB;IAC/D,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QACvF,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpF,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAc;IACxC,IAAI,EAAE,cAAc;IACpB,WAAW,EACT,4GAA4G;UAC1G,4GAA4G;UAC5G,iEAAiE;QACnE,0GAA0G;QAC1G,4GAA4G;QAC5G,yGAAyG;QACzG,4DAA4D;IAC9D,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iCAAiC,EAAE;YAC/E,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iCAAiC,EAAE;YAC/E,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yEAAyE,EAAE;SACjH;QACD,QAAQ,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC;KACjD;IACD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG;QACjB,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,kBAAkB,CAAC;QACnE,iFAAiF;QACjF,0EAA0E;QAC1E,+EAA+E;QAC/E,4EAA4E;QAC5E,8EAA8E;QAC9E,4BAA4B;QAC5B,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,uGAAuG;kBAC1G,qHAAqH,CAAC;QAC5H,CAAC;QACD,+EAA+E;QAC/E,+EAA+E;QAC/E,gFAAgF;QAChF,2EAA2E;QAC3E,+BAA+B;QAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,oFAAoF,GAAG,CAAC,UAAU,KAAK;kBAC1G,uFAAuF,CAAC;QAC9F,CAAC;QACD,gFAAgF;QAChF,gFAAgF;QAChF,qFAAqF;QACrF,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACtF,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1C,OAAO,4CAA4C,GAAG,CAAC,UAAU,+BAA+B,MAAM,IAAI;kBACtG,0HAA0H,CAAC;QACjI,CAAC;QACD,6EAA6E;QAC7E,6EAA6E;QAC7E,4EAA4E;QAC5E,kDAAkD;QAClD,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACnC,OAAO,qBAAqB,WAAW,8CAA8C,CAAC;QACxF,CAAC;QACD,+EAA+E;QAC/E,6EAA6E;QAC7E,6EAA6E;QAC7E,gFAAgF;QAChF,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC5C,IAAI,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YACpD,IAAI,GAAG,IAAI,MAAM,CAAC,KAAK,GAAG,WAAW,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CACL,mEAAmE;oBACnE,yEAAyE,GAAG,EAAE,CAC/E,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,uDAAuD;QACzE,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC;YAC7D,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;YAC1B,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;SAC1G,CAAC,CAAC;QACH,IAAI,CAAC,OAAO;YAAE,OAAO,2FAA2F,CAAC;QACjH,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,uEAAuE,CAAC;QACjF,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,CACL,+GAA+G;gBAC/G,GAAG,OAAO,CAAC,IAAI,IAAI,iCAAiC,IAAI;gBACxD,+EAA+E,CAChF,CAAC;QACJ,CAAC;QACD,OAAO,iIAAiI,CAAC;IAC3I,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAc;IACvC,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,IAAI;IACb,WAAW,EACT,0FAA0F;QAC1F,0FAA0F;QAC1F,4DAA4D;IAC9D,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;YAC9D,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,qEAAqE,EAAE;YAC5I,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE;SAClF;QACD,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;KAC5B;IACD,4EAA4E;IAC5E,+CAA+C;IAC/C,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG;QACjB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,IAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;QAC/D,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACtD,OAAO,gBAAgB,IAAI,CAAC,EAAE,GAAG,CAAC;IACpC,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAc;IACzC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,+DAA+D;IAC5E,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAAE;QACzE,QAAQ,EAAE,CAAC,OAAO,CAAC;KACpB;IACD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG;QACjB,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO,uBAAuB,CAAC;QAClD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrG,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAc;IAClC,IAAI,EAAE,QAAQ;IACd,WAAW,EACT,yFAAyF;QACzF,mFAAmF;QACnF,qCAAqC;IACvC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE;IAC1F,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG;QACjB,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAc;IAClC,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,IAAI;IACb,WAAW,EACT,iGAAiG;QACjG,yHAAyH;QACzH,uCAAuC;IACzC,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAClE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;KAC3B;IACD,uEAAuE;IACvE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG;QACjB,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7B,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1C,OAAO,OAAO,GAAG,GAAG,CAAC;IACvB,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAc;IACzC,IAAI,EAAE,eAAe;IACrB,SAAS,EAAE,IAAI,EAAE,wDAAwD;IACzE;;;;;;;;;;;gFAW4E;IAC5E,UAAU,EAAE,OAAO;IACnB,WAAW,EACT,8EAA8E;QAC9E,wFAAwF;IAC1F,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6CAA6C,EAAE,EAAE;QAClG,QAAQ,EAAE,CAAC,IAAI,CAAC;KACjB;IACD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG;QACjB,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3D,OAAO,IAAI,IAAI,sCAAsC,EAAE,IAAI,CAAC;IAC9D,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAc;IACpC,IAAI,EAAE,UAAU;IAChB,SAAS,EAAE,IAAI;IACf;;;;;;;;;;;;;gFAa4E;IAC5E,UAAU,EAAE,OAAO;IACnB,WAAW,EACT,uGAAuG;QACvG,4GAA4G;QAC5G,yGAAyG;QACzG,2GAA2G;QAC3G,oGAAoG;IACtG,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,gCAAgC;gBAC7C,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iDAAiD,EAAE;wBAC1F,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;wBAC/D,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,sCAAsC,EAAE;wBACrF,OAAO,EAAE;4BACP,IAAI,EAAE,OAAO;4BACb,WAAW,EAAE,uBAAuB;4BACpC,KAAK,EAAE;gCACL,IAAI,EAAE,QAAQ;gCACd,UAAU,EAAE;oCACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kCAAkC,EAAE;oCAC1E,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iDAAiD,EAAE;iCAChG;gCACD,QAAQ,EAAE,CAAC,OAAO,CAAC;6BACpB;yBACF;qBACF;oBACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC;iBAC5C;aACF;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;IACD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG;QACjB,IAAI,CAAC,GAAG,CAAC,GAAG;YAAE,OAAO,8CAA8C,CAAC;QACpE,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,SAA2B,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,IAAI,CAAC,SAAS,CAAC,MAAM;YAAE,OAAO,6BAA6B,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO;YAAE,OAAO,qDAAqD,CAAC;QAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;QACnH,OAAO,uBAAuB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACnD,CAAC;CACF,CAAC;AAEF,0EAA0E;AAC1E,SAAS,QAAQ,CAAC,CAA0B;IAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7G,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC;AAED,6EAA6E;AAC7E,SAAS,WAAW,CAAC,CAAmG;IACtH,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAC/D,OAAO,mBAAmB,CAAC,CAAC,KAAK,cAAc,MAAM,YAAY,CAAC,CAAC,UAAU,GAAG,CAAC;AACnF,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAc;IACvC,IAAI,EAAE,aAAa;IACnB,SAAS,EAAE,IAAI,EAAE,mEAAmE;IACpF,WAAW,EACT,4GAA4G;QAC5G,2GAA2G;QAC3G,2GAA2G;QAC3G,yGAAyG;QACzG,6GAA6G;IAC/G,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6DAA6D,EAAE;YACpG,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,6DAA6D,EAAE;YAC/H,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0DAA0D,EAAE;SACnG;QACD,QAAQ,EAAE,CAAC,MAAM,CAAC;KACnB;IACD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG;QACjB,IAAI,CAAC,GAAG,CAAC,KAAK;YAAE,OAAO,iFAAiF,CAAC;QACzG,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,GAAG;YAAE,OAAO,wCAAwC,CAAC;QAC1D,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,OAAO,GAAG,CAAC,CAAC,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QACtC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,UAAU,MAAM,CAAE,CAAW,EAAE,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC;QACxD,CAAC;IACH,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAc;IACxC,IAAI,EAAE,cAAc;IACpB,SAAS,EAAE,IAAI;IACf,WAAW,EACT,6GAA6G;QAC7G,+GAA+G;QAC/G,gHAAgH;QAChH,0FAA0F;IAC5F,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,oCAAoC;gBACjD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2CAA2C,EAAE;wBAClF,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,+BAA+B,EAAE;wBACjG,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;qBACnE;oBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;iBACnB;aACF;SACF;QACD,QAAQ,EAAE,CAAC,OAAO,CAAC;KACpB;IACD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG;QACjB,IAAI,CAAC,GAAG,CAAC,KAAK;YAAE,OAAO,iFAAiF,CAAC;QACzG,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAA4B,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAC9J,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,+EAA+E,CAAC;QACzG,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;YACxB,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3B,OAAO,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,iBAAiB,CAAC,GAAG,CAAC,YAAY,MAAM,CAAE,CAAW,EAAE,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC;YAChF,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAc;IACtC,IAAI,EAAE,YAAY;IAClB,SAAS,EAAE,IAAI;IACf,WAAW,EACT,2GAA2G;QAC3G,gHAAgH;IAClH,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;IAC9C,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG;QAClB,IAAI,CAAC,GAAG,CAAC,SAAS;YAAE,OAAO,uCAAuC,CAAC;QACnE,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO,kCAAkC,CAAC;QAC7D,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ;gBAC5D,CAAC,CAAC,MAAM,CAAC,IAAI,CAAE,CAAC,CAAC,UAAuD,CAAC,UAAU,IAAI,EAAE,CAAC;gBAC1F,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,OAAO,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,WAAW,GAAG,MAAM,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,OAAO,6BAA6B,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC5E,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAc;IAC1C,IAAI,EAAE,gBAAgB;IACtB,SAAS,EAAE,IAAI,EAAE,kEAAkE;IACnF,WAAW,EACT,gGAAgG;QAChG,4EAA4E;QAC5E,gFAAgF;QAChF,gGAAgG;QAChG,6FAA6F;QAC7F,iGAAiG;QACjG,gGAAgG;IAClG,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+EAA+E,EAAE;YACxH,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gHAAgH,EAAE;YACvJ,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qEAAqE,EAAE,oBAAoB,EAAE,IAAI,EAAE;SAC/I;QACD,QAAQ,EAAE,CAAC,YAAY,CAAC;KACzB;IACD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG;QACjB,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAA4B,CAAC;QAC1H,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1E,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxG,OAAO,GAAG,CAAC,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;QAC9B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,mBAAmB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,CAAC;IACH,CAAC;CACF,CAAC;AAEF;gFACgF;AAChF,MAAM,CAAC,MAAM,YAAY,GAAgB;IACvC,WAAW;IACX,cAAc;IACd,eAAe;IACf,aAAa;IACb,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,SAAS;IACT,SAAS;IACT,gBAAgB;IAChB,kBAAkB;IAClB,aAAa;IACb,aAAa;IACb,iBAAiB;IACjB,GAAG,SAAS;CACb,CAAC;AAEF;;;+DAG+D;AAC/D,MAAM,UAAU,QAAQ;IACtB,OAAO,CAAC,GAAG,YAAY,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC;AAChD,CAAC"}
@@ -1,4 +1,4 @@
1
- export type ToolNamespace = 'fs' | 'prompd' | 'web' | 'memory' | 'agent' | 'shell' | 'system' | 'mcp' | 'skill' | 'other';
1
+ export type ToolNamespace = 'fs' | 'sidecar' | 'prompd' | 'web' | 'memory' | 'agent' | 'shell' | 'system' | 'mcp' | 'skill' | 'other';
2
2
  /** Display order + labels for the namespaces (capabilities panel grouping). */
3
3
  export declare const NAMESPACE_LABELS: {
4
4
  ns: ToolNamespace;
@@ -1 +1 @@
1
- {"version":3,"file":"namespaces.d.ts","sourceRoot":"","sources":["../../tools/namespaces.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,aAAa,GACrB,IAAI,GACJ,QAAQ,GACR,KAAK,GACL,QAAQ,GACR,OAAO,GACP,OAAO,GACP,QAAQ,GACR,KAAK,GACL,OAAO,GACP,OAAO,CAAC;AAEZ,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,EAAE;IAAE,EAAE,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAWlE,CAAC;AAcF,wEAAwE;AACxE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,aAAa,CAUpE;AAED;;;4CAG4C;AAC5C,wBAAgB,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAQxD;AAED;6EAC6E;AAC7E,wBAAgB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,EAAE,CAE9D;AAED,iEAAiE;AACjE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAI1F;AAED,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,EAAE,EAAE,aAAa,GAAG,MAAM,CAEvD"}
1
+ {"version":3,"file":"namespaces.d.ts","sourceRoot":"","sources":["../../tools/namespaces.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,aAAa,GACrB,IAAI,GASJ,SAAS,GACT,QAAQ,GACR,KAAK,GACL,QAAQ,GACR,OAAO,GACP,OAAO,GACP,QAAQ,GACR,KAAK,GACL,OAAO,GACP,OAAO,CAAC;AAEZ,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,EAAE;IAAE,EAAE,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAYlE,CAAC;AAyBF,wEAAwE;AACxE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,aAAa,CAUpE;AAED;;;4CAG4C;AAC5C,wBAAgB,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAiBxD;AAED;6EAC6E;AAC7E,wBAAgB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,EAAE,CAE9D;AAED,iEAAiE;AACjE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAI1F;AAED,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,EAAE,EAAE,aAAa,GAAG,MAAM,CAEvD"}
@@ -14,6 +14,7 @@ import { matchesAnyGlob } from '../guardrail/glob';
14
14
  /** Display order + labels for the namespaces (capabilities panel grouping). */
15
15
  export const NAMESPACE_LABELS = [
16
16
  { ns: 'fs', label: 'Files' },
17
+ { ns: 'sidecar', label: 'This machine' },
17
18
  { ns: 'prompd', label: 'Prompd' },
18
19
  { ns: 'web', label: 'Web' },
19
20
  { ns: 'memory', label: 'Memory' },
@@ -34,6 +35,17 @@ const BUILTIN_NAMESPACES = {
34
35
  save_memory: 'memory', recall_memory: 'memory', recall_result: 'memory',
35
36
  kv_get: 'memory', kv_set: 'memory', search_sessions: 'memory',
36
37
  ask_user: 'agent', spawn_agent: 'agent', spawn_agents: 'agent', todo_write: 'agent',
38
+ // Named here as a backstop; the sidecar's own decls also carry `namespace`,
39
+ // and an explicit field always wins (resolveNamespace). Both say the same
40
+ // thing so a sidecar that predates this still lands in the right namespace.
41
+ sidecar_fs_read_file: 'sidecar', sidecar_fs_write_file: 'sidecar',
42
+ sidecar_fs_read_bytes: 'sidecar', sidecar_fs_list_dir: 'sidecar',
43
+ sidecar_fs_delete: 'sidecar', sidecar_shell_exec: 'sidecar',
44
+ // Host-side orchestration tools. They are not in allTools() - they reach the
45
+ // agent as remote decls (workerFactory) - but they are still governed by the
46
+ // policy, so they need a canonical address like everything else.
47
+ create_strategy: 'agent', edit_strategy: 'agent', view_strategy: 'agent', run_strategy: 'agent',
48
+ list_strategies: 'agent', list_saved_strategies: 'agent',
37
49
  };
38
50
  /** Resolve a tool's namespace: explicit field > built-in table > wire prefix > 'other'. */
39
51
  export function resolveNamespace(tool) {
@@ -62,6 +74,18 @@ export function toolAddress(tool) {
62
74
  if (m)
63
75
  leaf = leaf.slice(m[0].length);
64
76
  }
77
+ // `sidecar_fs_write_file` -> `sidecar:write_file`. The wire name carries the
78
+ // prefix because the MODEL sees a flat list and needs to tell the two apart;
79
+ // the address carries it in the namespace instead, so it is not said twice.
80
+ // `sidecar_fs_` before `sidecar_` — the longer prefix has to win.
81
+ if (ns === 'sidecar') {
82
+ for (const p of ['sidecar_fs_', 'sidecar_']) {
83
+ if (leaf.startsWith(p)) {
84
+ leaf = leaf.slice(p.length);
85
+ break;
86
+ }
87
+ }
88
+ }
65
89
  return `${ns}:${leaf}`;
66
90
  }
67
91
  /** Candidate strings a policy glob may target for this tool: its address and its
@@ -1 +1 @@
1
- {"version":3,"file":"namespaces.js","sourceRoot":"","sources":["../../tools/namespaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"namespaces.js","sourceRoot":"","sources":["../../tools/namespaces.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"todo.d.ts","sourceRoot":"","sources":["../../tools/todo.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,eAAO,MAAM,aAAa,EAAE,SAqC3B,CAAC"}
1
+ {"version":3,"file":"todo.d.ts","sourceRoot":"","sources":["../../tools/todo.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,eAAO,MAAM,aAAa,EAAE,SAiD3B,CAAC"}
@@ -1,6 +1,18 @@
1
1
  export const todoWriteTool = {
2
2
  name: 'todo_write',
3
3
  noOffload: true, // the task list is what the user wants to see — keep it inline
4
+ /* DECLARED, not left to the policy's default. It is a write in name only: it
5
+ * touches no file, no network and no state outside the run's own task panel,
6
+ * so there is nothing for a person to approve. Without this it inherited
7
+ * `policy.defaultPermission` — `ask` under any careful policy — and an agent
8
+ * doing multi-step work stopped to request approval every time it ticked off a
9
+ * step, which trains people to approve without reading.
10
+ *
11
+ * `permission` sits BELOW an explicit `policy.permissions` entry in the
12
+ * precedence chain (permission-service.ts), so anyone who genuinely wants to
13
+ * gate it still can; it only replaces the blanket default. And it is not
14
+ * `mutates`, so a policy's mutating backstop correctly does not catch it. */
15
+ permission: 'allow',
4
16
  description: 'Maintain a visible task list for a multi-step job. Pass the COMPLETE list each time (a rewrite). ' +
5
17
  'Keep exactly one task "in_progress" while you work it; mark tasks "completed" as you finish; use ' +
6
18
  '"blocked" + blockedBy for tasks waiting on others; nest a subtask one level with parentId. Reuse a ' +
@@ -1 +1 @@
1
- {"version":3,"file":"todo.js","sourceRoot":"","sources":["../../tools/todo.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,aAAa,GAAc;IACtC,IAAI,EAAE,YAAY;IAClB,SAAS,EAAE,IAAI,EAAE,+DAA+D;IAChF,WAAW,EACT,mGAAmG;QACnG,mGAAmG;QACnG,qGAAqG;QACrG,uGAAuG;QACvG,mDAAmD;IACrD,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,6CAA6C;gBAC1D,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uDAAuD,EAAE;wBAC5F,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+CAA+C,EAAE;wBACvF,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE;wBACpF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;wBAClE,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,6BAA6B,EAAE;wBACnG,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gDAAgD,EAAE;qBAC5F;oBACD,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC;iBACpC;aACF;SACF;QACD,QAAQ,EAAE,CAAC,OAAO,CAAC;KACpB;IACD,KAAK,CAAC,GAAG,CAAC,IAAI;QACZ,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAE,IAA4B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,IAAyB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACzG,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;QAC3E,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,aAAa,CAAC,CAAC;QACtE,OAAO,sBAAsB,IAAI,IAAI,KAAK,CAAC,MAAM,QAAQ,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;IACtG,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"todo.js","sourceRoot":"","sources":["../../tools/todo.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,aAAa,GAAc;IACtC,IAAI,EAAE,YAAY;IAClB,SAAS,EAAE,IAAI,EAAE,+DAA+D;IAChF;;;;;;;;;;iFAU6E;IAC7E,UAAU,EAAE,OAAO;IACnB,WAAW,EACT,mGAAmG;QACnG,mGAAmG;QACnG,qGAAqG;QACrG,uGAAuG;QACvG,mDAAmD;IACrD,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,6CAA6C;gBAC1D,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uDAAuD,EAAE;wBAC5F,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+CAA+C,EAAE;wBACvF,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE;wBACpF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;wBAClE,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,6BAA6B,EAAE;wBACnG,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gDAAgD,EAAE;qBAC5F;oBACD,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC;iBACpC;aACF;SACF;QACD,QAAQ,EAAE,CAAC,OAAO,CAAC;KACpB;IACD,KAAK,CAAC,GAAG,CAAC,IAAI;QACZ,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAE,IAA4B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,IAAyB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACzG,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;QAC3E,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,aAAa,CAAC,CAAC;QACtE,OAAO,sBAAsB,IAAI,IAAI,KAAK,CAAC,MAAM,QAAQ,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;IACtG,CAAC;CACF,CAAC"}
package/package.json CHANGED
@@ -1,9 +1,13 @@
1
1
  {
2
2
  "name": "@corenel/harness",
3
- "version": "0.2.0",
3
+ "version": "0.3.2",
4
4
  "type": "module",
5
5
  "description": "Corenel — host-agnostic agent harness (kernel). Consumed as source; the app resolves it via the `corenel` path alias, node consumers via this workspace package + the exports map below. The app never hits these exports (the alias intercepts first), so the .ts-only wildcard is safe — node only ever imports the clean .ts kernel subpaths (e.g. corenel/sidecar/server), never the coupled .tsx UI.",
6
6
  "exports": {
7
+ "./acp": {
8
+ "types": "./dist/acp/index.d.ts",
9
+ "default": "./dist/acp/index.js"
10
+ },
7
11
  "./guardrail": {
8
12
  "types": "./dist/guardrail/index.d.ts",
9
13
  "default": "./dist/guardrail/index.js"
@@ -24,7 +28,7 @@
24
28
  "dependencies": {
25
29
  "openai": "^4.77.0",
26
30
  "yaml": "^2.8.3",
27
- "@corenel/protocol": "0.2.0"
31
+ "@corenel/protocol": "0.3.2"
28
32
  },
29
33
  "peerDependencies": {
30
34
  "@xyflow/react": "^12.11.0",