@corenel/harness 0.2.0 → 0.4.0
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.
- package/dist/acp/agentMap.d.ts +34 -0
- package/dist/acp/agentMap.d.ts.map +1 -0
- package/dist/acp/agentMap.js +110 -0
- package/dist/acp/agentMap.js.map +1 -0
- package/dist/acp/index.d.ts +4 -0
- package/dist/acp/index.d.ts.map +1 -0
- package/dist/acp/index.js +6 -0
- package/dist/acp/index.js.map +1 -0
- package/dist/acp/policyMap.d.ts +55 -0
- package/dist/acp/policyMap.d.ts.map +1 -0
- package/dist/acp/policyMap.js +121 -0
- package/dist/acp/policyMap.js.map +1 -0
- package/dist/acp/types.d.ts +41 -0
- package/dist/acp/types.d.ts.map +1 -0
- package/dist/acp/types.js +14 -0
- package/dist/acp/types.js.map +1 -0
- package/dist/api/backend.d.ts +39 -0
- package/dist/api/backend.d.ts.map +1 -0
- package/dist/api/backend.js +126 -0
- package/dist/api/backend.js.map +1 -0
- package/dist/api/client.d.ts +95 -0
- package/dist/api/client.d.ts.map +1 -0
- package/dist/api/client.js +212 -0
- package/dist/api/client.js.map +1 -0
- package/dist/api/fileMirrorSource.d.ts +24 -0
- package/dist/api/fileMirrorSource.d.ts.map +1 -0
- package/dist/api/fileMirrorSource.js +59 -0
- package/dist/api/fileMirrorSource.js.map +1 -0
- package/dist/api/mirror.d.ts +102 -0
- package/dist/api/mirror.d.ts.map +1 -0
- package/dist/api/mirror.js +204 -0
- package/dist/api/mirror.js.map +1 -0
- package/dist/api/mirrorScheduler.d.ts +56 -0
- package/dist/api/mirrorScheduler.d.ts.map +1 -0
- package/dist/api/mirrorScheduler.js +167 -0
- package/dist/api/mirrorScheduler.js.map +1 -0
- package/dist/compression.d.ts +15 -1
- package/dist/compression.d.ts.map +1 -1
- package/dist/compression.js +32 -1
- package/dist/compression.js.map +1 -1
- package/dist/core/loop.d.ts +12 -0
- package/dist/core/loop.d.ts.map +1 -1
- package/dist/core/loop.js +138 -14
- package/dist/core/loop.js.map +1 -1
- package/dist/core/spawn.d.ts +54 -0
- package/dist/core/spawn.d.ts.map +1 -0
- package/dist/core/spawn.js +58 -0
- package/dist/core/spawn.js.map +1 -0
- package/dist/dag/executeNode.js +2 -2
- package/dist/fileSchema.js +1 -1
- package/dist/guardrail/guardrail.js +1 -1
- package/dist/guardrail/index.js +7 -7
- package/dist/guardrail/permission-service.js +1 -1
- package/dist/guardrail/serialize.js +1 -1
- package/dist/guardrail/store.js +2 -2
- package/dist/install/lockfile.d.ts +79 -0
- package/dist/install/lockfile.d.ts.map +1 -0
- package/dist/install/lockfile.js +155 -0
- package/dist/install/lockfile.js.map +1 -0
- package/dist/install/store.d.ts +13 -0
- package/dist/install/store.d.ts.map +1 -0
- package/dist/install/store.js +38 -0
- package/dist/install/store.js.map +1 -0
- package/dist/log.d.ts.map +1 -1
- package/dist/log.js +6 -1
- package/dist/log.js.map +1 -1
- package/dist/prompts/config.js +2 -2
- package/dist/prompts/host.d.ts +4 -0
- package/dist/prompts/host.d.ts.map +1 -1
- package/dist/prompts/host.js.map +1 -1
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +13 -6
- package/dist/prompts/index.js.map +1 -1
- package/dist/prompts/library/defaults.generated.js +2 -2
- package/dist/prompts/library/defaults.generated.js.map +1 -1
- package/dist/prompts/library/index.js +1 -1
- package/dist/providers/contextWindow.d.ts +19 -0
- package/dist/providers/contextWindow.d.ts.map +1 -0
- package/dist/providers/contextWindow.js +68 -0
- package/dist/providers/contextWindow.js.map +1 -0
- package/dist/providers/gateway.d.ts +3 -0
- package/dist/providers/gateway.d.ts.map +1 -1
- package/dist/providers/gateway.js +4 -1
- package/dist/providers/gateway.js.map +1 -1
- package/dist/sessions/apiLeaseStore.d.ts +10 -0
- package/dist/sessions/apiLeaseStore.d.ts.map +1 -0
- package/dist/sessions/apiLeaseStore.js +41 -0
- package/dist/sessions/apiLeaseStore.js.map +1 -0
- package/dist/sessions/blobGc.d.ts +62 -0
- package/dist/sessions/blobGc.d.ts.map +1 -0
- package/dist/sessions/blobGc.js +154 -0
- package/dist/sessions/blobGc.js.map +1 -0
- package/dist/sessions/fileRecallStore.js +1 -1
- package/dist/sessions/fileSessionStore.js +1 -1
- package/dist/sessions/head.d.ts +90 -0
- package/dist/sessions/head.d.ts.map +1 -0
- package/dist/sessions/head.js +82 -0
- package/dist/sessions/head.js.map +1 -0
- package/dist/sessions/inflight.d.ts +58 -0
- package/dist/sessions/inflight.d.ts.map +1 -0
- package/dist/sessions/inflight.js +0 -0
- package/dist/sessions/inflight.js.map +1 -0
- package/dist/sessions/lease.d.ts +59 -0
- package/dist/sessions/lease.d.ts.map +1 -0
- package/dist/sessions/lease.js +115 -0
- package/dist/sessions/lease.js.map +1 -0
- package/dist/sessions/leaseStore.d.ts +46 -0
- package/dist/sessions/leaseStore.d.ts.map +1 -0
- package/dist/sessions/leaseStore.js +58 -0
- package/dist/sessions/leaseStore.js.map +1 -0
- package/dist/sessions/timeline.d.ts +134 -0
- package/dist/sessions/timeline.d.ts.map +1 -0
- package/dist/sessions/timeline.js +127 -0
- package/dist/sessions/timeline.js.map +1 -0
- package/dist/sidecar/host.d.ts +241 -5
- package/dist/sidecar/host.d.ts.map +1 -1
- package/dist/sidecar/host.js +630 -5
- package/dist/sidecar/host.js.map +1 -1
- package/dist/sidecar/server.d.ts +124 -2
- package/dist/sidecar/server.d.ts.map +1 -1
- package/dist/sidecar/server.js +620 -9
- package/dist/sidecar/server.js.map +1 -1
- package/dist/sidecar/wsChannel.d.ts +4 -0
- package/dist/sidecar/wsChannel.d.ts.map +1 -0
- package/dist/sidecar/wsChannel.js +62 -0
- package/dist/sidecar/wsChannel.js.map +1 -0
- package/dist/skills.js +2 -2
- package/dist/snapshot/effects.d.ts +69 -0
- package/dist/snapshot/effects.d.ts.map +1 -0
- package/dist/snapshot/effects.js +67 -0
- package/dist/snapshot/effects.js.map +1 -0
- package/dist/snapshot/manifest.d.ts +73 -0
- package/dist/snapshot/manifest.d.ts.map +1 -0
- package/dist/snapshot/manifest.js +141 -0
- package/dist/snapshot/manifest.js.map +1 -0
- package/dist/snapshot/tree.d.ts +62 -0
- package/dist/snapshot/tree.d.ts.map +1 -0
- package/dist/snapshot/tree.js +147 -0
- package/dist/snapshot/tree.js.map +1 -0
- package/dist/tools/builtins.d.ts.map +1 -1
- package/dist/tools/builtins.js +67 -8
- package/dist/tools/builtins.js.map +1 -1
- package/dist/tools/callAgent.d.ts +16 -0
- package/dist/tools/callAgent.d.ts.map +1 -0
- package/dist/tools/callAgent.js +53 -0
- package/dist/tools/callAgent.js.map +1 -0
- package/dist/tools/files.d.ts +10 -0
- package/dist/tools/files.d.ts.map +1 -1
- package/dist/tools/files.js +159 -8
- package/dist/tools/files.js.map +1 -1
- package/dist/tools/http.js +1 -1
- package/dist/tools/namespaces.d.ts +1 -1
- package/dist/tools/namespaces.d.ts.map +1 -1
- package/dist/tools/namespaces.js +40 -2
- package/dist/tools/namespaces.js.map +1 -1
- package/dist/tools/procs.d.ts +18 -0
- package/dist/tools/procs.d.ts.map +1 -0
- package/dist/tools/procs.js +281 -0
- package/dist/tools/procs.js.map +1 -0
- package/dist/tools/todo.d.ts.map +1 -1
- package/dist/tools/todo.js +12 -0
- package/dist/tools/todo.js.map +1 -1
- package/package.json +18 -7
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/** path -> content hash. Sorted on serialize, so the same tree is the same text. */
|
|
2
|
+
export type Tree = Record<string, string>;
|
|
3
|
+
export interface TreeDelta {
|
|
4
|
+
/** Paths present now and absent from the parent. */
|
|
5
|
+
added: string[];
|
|
6
|
+
/** Paths in both, with different content. */
|
|
7
|
+
modified: string[];
|
|
8
|
+
/** Paths in the parent and gone now. A snapshot that cannot express deletion
|
|
9
|
+
* silently resurrects files on restore. */
|
|
10
|
+
removed: string[];
|
|
11
|
+
}
|
|
12
|
+
/** Canonical text form of a tree — sorted paths, trailing newline. */
|
|
13
|
+
export declare function serializeTree(tree: Tree): string;
|
|
14
|
+
export declare function parseTree(text: string): Tree | null;
|
|
15
|
+
/** What changed between two trees. Deterministic: every list is sorted. */
|
|
16
|
+
export declare function diffTrees(parent: Tree, current: Tree): TreeDelta;
|
|
17
|
+
/** True when nothing changed — worth checking before writing a snapshot nobody
|
|
18
|
+
* needs, and before shipping bytes across a wire. */
|
|
19
|
+
export declare function isEmptyDelta(d: TreeDelta): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* The blob hashes a delta actually needs shipped.
|
|
22
|
+
*
|
|
23
|
+
* DEDUPED, which is the point of content addressing: two paths with identical
|
|
24
|
+
* content share one blob, so a copied file or a repeated boilerplate header costs
|
|
25
|
+
* nothing extra. Removals need no blob at all.
|
|
26
|
+
*/
|
|
27
|
+
export declare function blobsForDelta(delta: TreeDelta, current: Tree): string[];
|
|
28
|
+
/**
|
|
29
|
+
* Apply a delta to a parent tree, producing the child tree.
|
|
30
|
+
*
|
|
31
|
+
* The inverse of diffTrees, and the restore path's core step. `hashes` supplies
|
|
32
|
+
* the content hash for every added/modified path — a delta alone does not carry
|
|
33
|
+
* them, because the tree it came from already did.
|
|
34
|
+
*/
|
|
35
|
+
export declare function applyDelta(parent: Tree, delta: TreeDelta, hashes: Tree): Tree;
|
|
36
|
+
/**
|
|
37
|
+
* Collapse a lineage into one effective tree.
|
|
38
|
+
*
|
|
39
|
+
* `chain` runs oldest-first: a full snapshot's tree, then each descendant's
|
|
40
|
+
* delta. Restoring walks it forward rather than resolving parents recursively at
|
|
41
|
+
* read time, so a long chain costs one pass.
|
|
42
|
+
*/
|
|
43
|
+
export declare function collapseChain(base: Tree, steps: readonly {
|
|
44
|
+
delta: TreeDelta;
|
|
45
|
+
hashes: Tree;
|
|
46
|
+
}[]): Tree;
|
|
47
|
+
/** Paths in a tree whose blobs are absent from `have` — what a restore must
|
|
48
|
+
* fetch before it can write anything. */
|
|
49
|
+
export declare function missingBlobs(tree: Tree, have: ReadonlySet<string>): string[];
|
|
50
|
+
/**
|
|
51
|
+
* Paths a snapshot must NOT capture.
|
|
52
|
+
*
|
|
53
|
+
* Session and run logs are Layer 3 and travel by reference (spec s4), so
|
|
54
|
+
* capturing them here would duplicate them and, worse, let a stale copy overwrite
|
|
55
|
+
* the live append-only log on restore — the exact clobber the single-writer rule
|
|
56
|
+
* exists to prevent. Blobs are the session's own offloaded outputs, referenced
|
|
57
|
+
* the same way.
|
|
58
|
+
*/
|
|
59
|
+
export declare function isLayer3Path(path: string, stateDir: string): boolean;
|
|
60
|
+
/** Drop Layer 3 paths from a tree before diffing it. */
|
|
61
|
+
export declare function withoutLayer3(tree: Tree, stateDir: string): Tree;
|
|
62
|
+
//# sourceMappingURL=tree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../snapshot/tree.ts"],"names":[],"mappings":"AAiBA,oFAAoF;AACpF,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE1C,MAAM,WAAW,SAAS;IACxB,oDAAoD;IACpD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;+CAC2C;IAC3C,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAKhD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CASnD;AAED,2EAA2E;AAC3E,wBAAgB,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,GAAG,SAAS,CAahE;AAED;qDACqD;AACrD,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,GAAG,MAAM,EAAE,CAOvE;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,CAW7E;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,IAAI,CAAA;CAAE,EAAE,GAAG,IAAI,CAEpG;AAED;yCACyC;AACzC,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAM5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAMpE;AAED,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAMhE"}
|
|
@@ -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,
|
|
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"}
|
package/dist/tools/builtins.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { extensionTools } from './registry';
|
|
2
|
-
import { fileTools } from './files';
|
|
3
|
-
import { webSearchTool } from './web';
|
|
4
|
-
import { todoWriteTool } from './todo';
|
|
5
|
-
import { searchSessionsTool } from './sessions';
|
|
6
|
-
import { compilePrompt } from '../promptCompiler';
|
|
1
|
+
import { extensionTools } from './registry.js';
|
|
2
|
+
import { fileTools } from './files.js';
|
|
3
|
+
import { webSearchTool } from './web.js';
|
|
4
|
+
import { todoWriteTool } from './todo.js';
|
|
5
|
+
import { searchSessionsTool } from './sessions.js';
|
|
6
|
+
import { compilePrompt } from '../promptCompiler.js';
|
|
7
7
|
function str(args, key) {
|
|
8
8
|
const v = args[key];
|
|
9
9
|
return typeof v === 'string' ? v : v == null ? '' : String(v);
|
|
@@ -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
|
|
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":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { AgentTool } from '@corenel/protocol';
|
|
2
|
+
export interface CallAgentOpts {
|
|
3
|
+
canCall: string[];
|
|
4
|
+
/** The callee's composed system prompt, or null if there is no such agent.
|
|
5
|
+
*
|
|
6
|
+
* Deliberately the SYSTEM STRING rather than the definition, so both hosts
|
|
7
|
+
* satisfy it: the sidecar reads the definition off disk and composes it, while
|
|
8
|
+
* the browser worker (which cannot see a global agent's config workspace) is
|
|
9
|
+
* handed identities the main thread already resolved. */
|
|
10
|
+
resolveSystem: (name: string) => Promise<string | null>;
|
|
11
|
+
/** The tool names the callee may use, from the CALLER's live registry — so a
|
|
12
|
+
* callee inherits MCP and sidecar tools. `call_agent` is dropped from it. */
|
|
13
|
+
calleeTools: () => string[];
|
|
14
|
+
}
|
|
15
|
+
export declare function makeCallAgentTool(opts: CallAgentOpts): AgentTool;
|
|
16
|
+
//# sourceMappingURL=callAgent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callAgent.d.ts","sourceRoot":"","sources":["../../tools/callAgent.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,mBAAmB,CAAC;AAEpE,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;;;6DAKyD;IACzD,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxD;iFAC6E;IAC7E,WAAW,EAAE,MAAM,MAAM,EAAE,CAAC;CAC7B;AAID,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CA6ChE"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
function str(v) { return typeof v === 'string' ? v.trim() : ''; }
|
|
2
|
+
export function makeCallAgentTool(opts) {
|
|
3
|
+
const allowed = opts.canCall.filter(Boolean);
|
|
4
|
+
const list = allowed.join(', ') || '(none)';
|
|
5
|
+
return {
|
|
6
|
+
name: 'call_agent',
|
|
7
|
+
mutates: true,
|
|
8
|
+
noOffload: true,
|
|
9
|
+
description: 'Delegate a self-contained task to one of the named agents you may call, and get its result. ' +
|
|
10
|
+
`You may call: ${list}. The callee runs with its own role and persona, using a standard tool ` +
|
|
11
|
+
'surface within your governed envelope, and returns its final answer.',
|
|
12
|
+
parameters: {
|
|
13
|
+
type: 'object',
|
|
14
|
+
properties: {
|
|
15
|
+
agent: { type: 'string', description: `The agent to call. One of: ${list}.` },
|
|
16
|
+
message: { type: 'string', description: 'The self-contained task for the callee.' },
|
|
17
|
+
},
|
|
18
|
+
required: ['agent', 'message'],
|
|
19
|
+
},
|
|
20
|
+
async run(args, ctx) {
|
|
21
|
+
const agent = str(args.agent);
|
|
22
|
+
const message = str(args.message);
|
|
23
|
+
if (!agent)
|
|
24
|
+
return 'Provide the `agent` to call.';
|
|
25
|
+
if (!allowed.includes(agent))
|
|
26
|
+
return `You may not call "${agent}". Allowed: ${list}.`;
|
|
27
|
+
if (!message)
|
|
28
|
+
return 'Provide a non-empty `message` (the task for the callee).';
|
|
29
|
+
if (!ctx.spawn)
|
|
30
|
+
return 'Cannot delegate to another agent here (delegation depth limit reached).';
|
|
31
|
+
const system = await opts.resolveSystem(agent);
|
|
32
|
+
if (system == null)
|
|
33
|
+
return `Agent "${agent}" was not found.`;
|
|
34
|
+
const req = {
|
|
35
|
+
task: message,
|
|
36
|
+
system,
|
|
37
|
+
// The callee's governed surface, minus call_agent. The caller supplies
|
|
38
|
+
// names from the already deny-filtered registry, so spawn_agent /
|
|
39
|
+
// spawn_agents are gone too — the callee has no delegation tool at all,
|
|
40
|
+
// making delegation genuinely one level, not just "no call_agent".
|
|
41
|
+
tools: opts.calleeTools().filter((n) => n !== 'call_agent'),
|
|
42
|
+
};
|
|
43
|
+
try {
|
|
44
|
+
const r = await ctx.spawn(req);
|
|
45
|
+
return `${r.text}\n\n[${agent}: ${r.turns} turn(s), ${r.stopReason}]`;
|
|
46
|
+
}
|
|
47
|
+
catch (e) {
|
|
48
|
+
return `call_agent(${agent}) failed. Error: ${e instanceof Error ? e.message : String(e)}`;
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=callAgent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callAgent.js","sourceRoot":"","sources":["../../tools/callAgent.ts"],"names":[],"mappings":"AAkCA,SAAS,GAAG,CAAC,CAAU,IAAY,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAElF,MAAM,UAAU,iBAAiB,CAAC,IAAmB;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;IAC5C,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI;QACf,WAAW,EACT,8FAA8F;YAC9F,iBAAiB,IAAI,yEAAyE;YAC9F,sEAAsE;QACxE,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,IAAI,GAAG,EAAE;gBAC7E,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yCAAyC,EAAE;aACpF;YACD,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;SAC/B;QACD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG;YACjB,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK;gBAAE,OAAO,8BAA8B,CAAC;YAClD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO,qBAAqB,KAAK,eAAe,IAAI,GAAG,CAAC;YACtF,IAAI,CAAC,OAAO;gBAAE,OAAO,0DAA0D,CAAC;YAChF,IAAI,CAAC,GAAG,CAAC,KAAK;gBAAE,OAAO,yEAAyE,CAAC;YACjG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,MAAM,IAAI,IAAI;gBAAE,OAAO,UAAU,KAAK,kBAAkB,CAAC;YAC7D,MAAM,GAAG,GAAoB;gBAC3B,IAAI,EAAE,OAAO;gBACb,MAAM;gBACN,uEAAuE;gBACvE,kEAAkE;gBAClE,wEAAwE;gBACxE,mEAAmE;gBACnE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC;aAC5D,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC/B,OAAO,GAAG,CAAC,CAAC,IAAI,QAAQ,KAAK,KAAK,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,UAAU,GAAG,CAAC;YACxE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,cAAc,KAAK,oBAAoB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7F,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/tools/files.d.ts
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
import type { AgentTool } from '@corenel/protocol';
|
|
2
|
+
/** Cap on entries a single `list_files` call returns. A stranger typing `ls` in
|
|
3
|
+
* a large repo (no `dir`) got the WHOLE tree back — 4,369 entries in one real
|
|
4
|
+
* run, an 87K-token prompt on the very next model call. A few hundred entries
|
|
5
|
+
* is plenty to orient in a repo (see any file's immediate siblings, spot the
|
|
6
|
+
* top-level layout) without paying for the whole thing; 300 is that number —
|
|
7
|
+
* generous enough that an ordinary project's top few levels fit whole, small
|
|
8
|
+
* enough that a monorepo's `node_modules`-scale sprawl can't leak through
|
|
9
|
+
* uncapped. Every host (browser, node CLI, sidecar) shares this file, so the
|
|
10
|
+
* cap applies uniformly rather than per-host. */
|
|
11
|
+
export declare const LIST_FILES_MAX_ENTRIES = 300;
|
|
2
12
|
export declare const listFilesTool: AgentTool;
|
|
3
13
|
export declare const readFileTool: AgentTool;
|
|
4
14
|
export declare const statFileTool: AgentTool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../tools/files.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../tools/files.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,mBAAmB,CAAC;AA8DhE;;;;;;;;iDAQiD;AACjD,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAuG1C,eAAO,MAAM,aAAa,EAAE,SA+B3B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,SAY1B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,SAc1B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,SAa7B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,SAqB3B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAmB5B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAgB5B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAqB5B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,SAAS,EAShC,CAAC"}
|