@corenel/tools-web 0.1.0 → 0.2.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.
Files changed (48) hide show
  1. package/dist/budgetGate.d.ts +21 -0
  2. package/dist/budgetGate.d.ts.map +1 -0
  3. package/dist/budgetGate.js +41 -0
  4. package/dist/budgetGate.js.map +1 -0
  5. package/dist/contextDocs.d.ts +54 -0
  6. package/dist/contextDocs.d.ts.map +1 -0
  7. package/dist/contextDocs.js +145 -0
  8. package/dist/contextDocs.js.map +1 -0
  9. package/dist/core/protocol.d.ts +32 -2
  10. package/dist/core/protocol.d.ts.map +1 -1
  11. package/dist/idb.d.ts +9 -0
  12. package/dist/idb.d.ts.map +1 -1
  13. package/dist/idb.js +15 -0
  14. package/dist/idb.js.map +1 -1
  15. package/dist/memory/local.d.ts.map +1 -1
  16. package/dist/memory/local.js.map +1 -1
  17. package/dist/prompts/history.d.ts.map +1 -1
  18. package/dist/prompts/history.js +11 -6
  19. package/dist/prompts/history.js.map +1 -1
  20. package/dist/runWatchdog.d.ts +20 -0
  21. package/dist/runWatchdog.d.ts.map +1 -0
  22. package/dist/runWatchdog.js +66 -0
  23. package/dist/runWatchdog.js.map +1 -0
  24. package/dist/runtime.d.ts +355 -0
  25. package/dist/runtime.d.ts.map +1 -0
  26. package/dist/runtime.js +711 -0
  27. package/dist/runtime.js.map +1 -0
  28. package/dist/runtime.testHost.d.ts +9 -0
  29. package/dist/runtime.testHost.d.ts.map +1 -0
  30. package/dist/runtime.testHost.js +53 -0
  31. package/dist/runtime.testHost.js.map +1 -0
  32. package/dist/storageQuota.d.ts +25 -0
  33. package/dist/storageQuota.d.ts.map +1 -0
  34. package/dist/storageQuota.js +89 -0
  35. package/dist/storageQuota.js.map +1 -0
  36. package/dist/storageRegistry.d.ts +53 -0
  37. package/dist/storageRegistry.d.ts.map +1 -0
  38. package/dist/storageRegistry.js +40 -0
  39. package/dist/storageRegistry.js.map +1 -0
  40. package/dist/workerClient.d.ts +43 -3
  41. package/dist/workerClient.d.ts.map +1 -1
  42. package/dist/workerClient.js +72 -5
  43. package/dist/workerClient.js.map +1 -1
  44. package/dist/workerHandler.d.ts +7 -0
  45. package/dist/workerHandler.d.ts.map +1 -1
  46. package/dist/workerHandler.js +46 -7
  47. package/dist/workerHandler.js.map +1 -1
  48. package/package.json +19 -29
@@ -0,0 +1,21 @@
1
+ import { type RunConstraints, type Breach, type BudgetState } from '@corenel/harness/core/budget';
2
+ import type { Usage } from '@corenel/harness/providers/gateway';
3
+ export interface BudgetGate {
4
+ onUsage(usage: Usage): Promise<{
5
+ action: 'continue' | 'stop';
6
+ model?: string;
7
+ }>;
8
+ readonly currentModel: string;
9
+ }
10
+ export interface BudgetGateOpts {
11
+ constraints: RunConstraints;
12
+ price?: (usage: Usage, model: string) => number;
13
+ onBreach?: (breach: Breach, state: BudgetState) => Promise<{
14
+ continue: boolean;
15
+ model?: string;
16
+ }>;
17
+ model: string;
18
+ now?: () => number;
19
+ }
20
+ export declare function makeBudgetGate(opts: BudgetGateOpts): BudgetGate;
21
+ //# sourceMappingURL=budgetGate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"budgetGate.d.ts","sourceRoot":"","sources":["../budgetGate.ts"],"names":[],"mappings":"AAMA,OAAO,EAAe,KAAK,cAAc,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC/G,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAEhE,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AACD,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,cAAc,CAAC;IAC5B,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClG,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,UAAU,CA2B/D"}
@@ -0,0 +1,41 @@
1
+ /* Shared main-thread run-budget gate. Owns a BudgetMeter, the breach latch, and
2
+ * the current (post-degrade) model. Both the worker client and the direct
3
+ * main-thread runPrompt path feed it per-turn usage; the caller wires the
4
+ * returned action to its own transport (worker abort/set-model, or an
5
+ * AbortController + runAgent getModel). Extracted verbatim from workerClient so
6
+ * the worker path is behavior-identical. */
7
+ import { BudgetMeter } from '@corenel/harness/core/budget';
8
+ export function makeBudgetGate(opts) {
9
+ const meter = new BudgetMeter(opts.constraints, opts.now ?? (() => performance.now()));
10
+ let currentModel = opts.model;
11
+ // Latches a breach so a soft "keep going" answer isn't re-asked every turn.
12
+ // Reset to false when the meter recovers (breach() -> null) or on a degrade
13
+ // (model change), so a later, possibly worse breach can still fire.
14
+ let breachHandled = false;
15
+ return {
16
+ get currentModel() { return currentModel; },
17
+ async onUsage(usage) {
18
+ meter.add({ inTok: usage.promptTokens, outTok: usage.completionTokens, cost: opts.price?.(usage, currentModel) });
19
+ const b = meter.breach();
20
+ if (!b) {
21
+ breachHandled = false;
22
+ return { action: 'continue' };
23
+ }
24
+ if (breachHandled || !opts.onBreach)
25
+ return { action: 'continue' };
26
+ breachHandled = true; // prevents re-entrancy while the host is asking
27
+ const r = await opts.onBreach(b, meter.state());
28
+ if (!r.continue)
29
+ return { action: 'stop' };
30
+ if (r.model) {
31
+ currentModel = r.model;
32
+ breachHandled = false; // a degrade lets a later, worse breach re-fire
33
+ return { action: 'continue', model: r.model };
34
+ }
35
+ // else: plain `{ continue: true }` (soft warn) — stay latched so the
36
+ // still-breached meter does not re-prompt on every following turn.
37
+ return { action: 'continue' };
38
+ },
39
+ };
40
+ }
41
+ //# sourceMappingURL=budgetGate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"budgetGate.js","sourceRoot":"","sources":["../budgetGate.ts"],"names":[],"mappings":"AAAA;;;;;4CAK4C;AAC5C,OAAO,EAAE,WAAW,EAAsD,MAAM,8BAA8B,CAAC;AAe/G,MAAM,UAAU,cAAc,CAAC,IAAoB;IACjD,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACvF,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;IAC9B,4EAA4E;IAC5E,4EAA4E;IAC5E,oEAAoE;IACpE,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,OAAO;QACL,IAAI,YAAY,KAAK,OAAO,YAAY,CAAC,CAAC,CAAC;QAC3C,KAAK,CAAC,OAAO,CAAC,KAAY;YACxB,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC;YAClH,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,EAAE,CAAC;gBAAC,aAAa,GAAG,KAAK,CAAC;gBAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;YAAC,CAAC;YACjE,IAAI,aAAa,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;YACnE,aAAa,GAAG,IAAI,CAAC,CAAC,gDAAgD;YACtE,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAChD,IAAI,CAAC,CAAC,CAAC,QAAQ;gBAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC3C,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACZ,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC;gBACvB,aAAa,GAAG,KAAK,CAAC,CAAC,+CAA+C;gBACtE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YAChD,CAAC;YACD,qEAAqE;YACrE,mEAAmE;YACnE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAChC,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,54 @@
1
+ export interface ContextDoc {
2
+ id: string;
3
+ name: string;
4
+ mime: string;
5
+ text: string;
6
+ tokens: number;
7
+ addedAt: number;
8
+ }
9
+ export type StoredContextDoc = ContextDoc & {
10
+ sessionId: string;
11
+ };
12
+ export interface ContextDocsPersistence {
13
+ /** All docs for the current identity, any session. */
14
+ load(): Promise<StoredContextDoc[]>;
15
+ put(doc: StoredContextDoc): void;
16
+ del(id: string): void;
17
+ }
18
+ export declare const DOC_TOKEN_CAP = 32000;
19
+ export declare const SESSION_DOCS_TOKEN_CAP = 64000;
20
+ /** The file-picker accept list — single source for the UI's <input accept>. */
21
+ export declare const UPLOAD_ACCEPT = "text/*,image/*,.md,.txt,.csv,.tsv,.json,.yaml,.yml,.xml,.html,.htm,.css,.js,.jsx,.ts,.tsx,.py,.go,.rs,.java,.c,.h,.cpp,.hpp,.cs,.rb,.php,.sh,.ps1,.sql,.toml,.ini,.cfg,.conf,.log,.prmd,.pdflow,.svg";
22
+ /** Route an upload: images ride the one-shot attachments path, text-like files
23
+ * become context docs, everything else (pdf/office/binaries) is rejected. */
24
+ export declare function classifyUpload(name: string, mime: string): 'doc' | 'image' | 'unsupported';
25
+ /** Cheap binary sniff on decoded text — a NUL byte means this wasn't text. */
26
+ export declare function looksBinary(text: string): boolean;
27
+ export declare class ContextDocError extends Error {
28
+ }
29
+ export declare function setContextDocsTokenEstimator(fn: (text: string) => number): void;
30
+ /** Install host persistence and hydrate from it (fire-and-forget; a failed load
31
+ * degrades to the in-memory store instead of crashing). */
32
+ export declare function installContextDocsPersistence(p: ContextDocsPersistence): void;
33
+ export declare function listDocs(sessionId: string): ContextDoc[];
34
+ export declare function addDoc(sessionId: string, input: {
35
+ name: string;
36
+ mime: string;
37
+ text: string;
38
+ }): ContextDoc;
39
+ export declare function removeDoc(sessionId: string, id: string): void;
40
+ /** Drop every doc a session owns — called by AgentRuntime.deleteSession. */
41
+ export declare function deleteDocsForSession(sessionId: string): void;
42
+ export declare function subscribeContextDocs(cb: () => void): () => void;
43
+ /** Subscribe a component to one session's docs (stable snapshot reference). */
44
+ export declare function useContextDocs(sessionId: string): ContextDoc[];
45
+ /** Test/reset hook — drops every doc and the installed persistence. */
46
+ export declare function clearContextDocs(): void;
47
+ /** Drop every doc from the live map and notify subscribers, WITHOUT touching the
48
+ * installed persistence adapter — unlike `clearContextDocs` (test/reset hook, which
49
+ * also nulls `persistence` and would silently disable later put/del). Callers that
50
+ * clear a persisted store (e.g. the storage panel) must reset both layers: the
51
+ * adapter's own backing store AND this in-memory map, or the chips/runtime
52
+ * injection keep showing stale docs after persistence has already been wiped. */
53
+ export declare function resetContextDocs(): void;
54
+ //# sourceMappingURL=contextDocs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextDocs.d.ts","sourceRoot":"","sources":["../contextDocs.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAElE,MAAM,WAAW,sBAAsB;IACrC,sDAAsD;IACtD,IAAI,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACpC,GAAG,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,eAAO,MAAM,aAAa,QAAS,CAAC;AACpC,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAE7C,+EAA+E;AAC/E,eAAO,MAAM,aAAa,yMAAyM,CAAC;AAIpO;6EAC6E;AAC7E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,aAAa,CAK1F;AAED,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAKjD;AAED,qBAAa,eAAgB,SAAQ,KAAK;CAAG;AAI7C,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAE/E;AAOD;2DAC2D;AAC3D,wBAAgB,6BAA6B,CAAC,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAuB7E;AAGD,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE,CAExD;AAED,wBAAgB,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,CAqBzG;AAED,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAM7D;AAED,4EAA4E;AAC5E,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAM5D;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAG/D;AAED,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE,CAE9D;AAED,uEAAuE;AACvE,wBAAgB,gBAAgB,IAAI,IAAI,CAIvC;AAED;;;;;iFAKiF;AACjF,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC"}
@@ -0,0 +1,145 @@
1
+ /* Per-session context documents — the store behind "+ context" uploads. A doc is
2
+ * a PERSISTENT chip: its text is injected into the composed system context on
3
+ * every turn of its session until removed (runtime.ts appends the blocks where
4
+ * contextProviders resolve). Host-agnostic by injection: persistence (default
5
+ * in-memory) and the token estimator (default chars/4) are installed by the host
6
+ * so this module takes no ui-kit or IndexedDB dependency and stays testable.
7
+ * Caps bound context-window occupancy — provider prompt caching only cuts cost,
8
+ * not window usage — and breaches throw ContextDocError with the user-facing
9
+ * message the UI shows verbatim. */
10
+ import { useSyncExternalStore } from 'react';
11
+ export const DOC_TOKEN_CAP = 32000;
12
+ export const SESSION_DOCS_TOKEN_CAP = 64000;
13
+ /** The file-picker accept list — single source for the UI's <input accept>. */
14
+ export const UPLOAD_ACCEPT = 'text/*,image/*,.md,.txt,.csv,.tsv,.json,.yaml,.yml,.xml,.html,.htm,.css,.js,.jsx,.ts,.tsx,.py,.go,.rs,.java,.c,.h,.cpp,.hpp,.cs,.rb,.php,.sh,.ps1,.sql,.toml,.ini,.cfg,.conf,.log,.prmd,.pdflow,.svg';
15
+ const TEXT_EXTS = new Set(['md', 'txt', 'csv', 'tsv', 'json', 'yaml', 'yml', 'xml', 'html', 'htm', 'css', 'js', 'jsx', 'ts', 'tsx', 'py', 'go', 'rs', 'java', 'c', 'h', 'cpp', 'hpp', 'cs', 'rb', 'php', 'sh', 'ps1', 'sql', 'toml', 'ini', 'cfg', 'conf', 'log', 'prmd', 'pdflow', 'svg']);
16
+ /** Route an upload: images ride the one-shot attachments path, text-like files
17
+ * become context docs, everything else (pdf/office/binaries) is rejected. */
18
+ export function classifyUpload(name, mime) {
19
+ if (mime.startsWith('image/'))
20
+ return 'image';
21
+ const ext = (name.split('.').pop() || '').toLowerCase();
22
+ if (mime.startsWith('text/') || mime === 'application/json' || TEXT_EXTS.has(ext))
23
+ return 'doc';
24
+ return 'unsupported';
25
+ }
26
+ /** Cheap binary sniff on decoded text — a NUL byte means this wasn't text. */
27
+ export function looksBinary(text) {
28
+ for (let i = 0; i < text.length; i++) {
29
+ if (text.charCodeAt(i) === 0)
30
+ return true;
31
+ }
32
+ return false;
33
+ }
34
+ export class ContextDocError extends Error {
35
+ }
36
+ // chars/4 heuristic default; the host installs ui-kit's estimateTokens (BPE-aware).
37
+ let estimator = (t) => Math.max(1, Math.ceil(t.length / 4));
38
+ export function setContextDocsTokenEstimator(fn) {
39
+ estimator = fn;
40
+ }
41
+ let persistence = null;
42
+ let docs = new Map();
43
+ const subs = new Set();
44
+ const emit = () => { for (const f of subs) {
45
+ try {
46
+ f();
47
+ }
48
+ catch { /* a bad listener can't break the store */ }
49
+ } };
50
+ /** Install host persistence and hydrate from it (fire-and-forget; a failed load
51
+ * degrades to the in-memory store instead of crashing). */
52
+ export function installContextDocsPersistence(p) {
53
+ persistence = p;
54
+ void p.load().then((rows) => {
55
+ const loaded = new Map();
56
+ const loadedIds = new Set();
57
+ for (const row of [...rows].sort((a, b) => a.addedAt - b.addedAt)) {
58
+ const { sessionId, ...doc } = row;
59
+ loaded.set(sessionId, [...(loaded.get(sessionId) ?? []), doc]);
60
+ loadedIds.add(doc.id);
61
+ }
62
+ // Merge, don't clobber: a doc can be addDoc()'d (and already persisted via
63
+ // persistence.put) after install() but before this load() resolves. Re-apply
64
+ // any such in-memory docs not present in the loaded snapshot so they survive
65
+ // hydration instead of silently vanishing from the live UI.
66
+ for (const [sessionId, current] of docs) {
67
+ for (const doc of current) {
68
+ if (loadedIds.has(doc.id))
69
+ continue;
70
+ loaded.set(sessionId, [...(loaded.get(sessionId) ?? []), doc].sort((a, b) => a.addedAt - b.addedAt));
71
+ }
72
+ }
73
+ docs = loaded;
74
+ emit();
75
+ }).catch(() => { });
76
+ }
77
+ const EMPTY = [];
78
+ export function listDocs(sessionId) {
79
+ return docs.get(sessionId) ?? EMPTY;
80
+ }
81
+ export function addDoc(sessionId, input) {
82
+ const tokens = estimator(input.text);
83
+ if (tokens > DOC_TOKEN_CAP) {
84
+ throw new ContextDocError(`"${input.name}" is too large (~${tokens.toLocaleString('en-US')} tokens; the per-file limit is ${DOC_TOKEN_CAP.toLocaleString('en-US')}). Add it to the workspace instead.`);
85
+ }
86
+ const total = listDocs(sessionId).reduce((n, d) => n + d.tokens, 0);
87
+ if (total + tokens > SESSION_DOCS_TOKEN_CAP) {
88
+ throw new ContextDocError(`Adding "${input.name}" would exceed this chat's context-document budget (${SESSION_DOCS_TOKEN_CAP.toLocaleString('en-US')} tokens). Remove a document first.`);
89
+ }
90
+ const doc = {
91
+ id: 'cdoc_' + Date.now().toString(36) + Math.random().toString(36).slice(2, 8),
92
+ name: input.name,
93
+ mime: input.mime,
94
+ text: input.text,
95
+ tokens,
96
+ addedAt: Date.now(),
97
+ };
98
+ docs.set(sessionId, [...listDocs(sessionId), doc]);
99
+ emit();
100
+ persistence?.put({ ...doc, sessionId });
101
+ return doc;
102
+ }
103
+ export function removeDoc(sessionId, id) {
104
+ const cur = docs.get(sessionId);
105
+ if (!cur || !cur.some((d) => d.id === id))
106
+ return;
107
+ docs.set(sessionId, cur.filter((d) => d.id !== id));
108
+ emit();
109
+ persistence?.del(id);
110
+ }
111
+ /** Drop every doc a session owns — called by AgentRuntime.deleteSession. */
112
+ export function deleteDocsForSession(sessionId) {
113
+ const cur = docs.get(sessionId);
114
+ if (!cur)
115
+ return;
116
+ for (const d of cur)
117
+ persistence?.del(d.id);
118
+ docs.delete(sessionId);
119
+ emit();
120
+ }
121
+ export function subscribeContextDocs(cb) {
122
+ subs.add(cb);
123
+ return () => { subs.delete(cb); };
124
+ }
125
+ /** Subscribe a component to one session's docs (stable snapshot reference). */
126
+ export function useContextDocs(sessionId) {
127
+ return useSyncExternalStore(subscribeContextDocs, () => listDocs(sessionId), () => listDocs(sessionId));
128
+ }
129
+ /** Test/reset hook — drops every doc and the installed persistence. */
130
+ export function clearContextDocs() {
131
+ docs = new Map();
132
+ persistence = null;
133
+ emit();
134
+ }
135
+ /** Drop every doc from the live map and notify subscribers, WITHOUT touching the
136
+ * installed persistence adapter — unlike `clearContextDocs` (test/reset hook, which
137
+ * also nulls `persistence` and would silently disable later put/del). Callers that
138
+ * clear a persisted store (e.g. the storage panel) must reset both layers: the
139
+ * adapter's own backing store AND this in-memory map, or the chips/runtime
140
+ * injection keep showing stale docs after persistence has already been wiped. */
141
+ export function resetContextDocs() {
142
+ docs = new Map();
143
+ emit();
144
+ }
145
+ //# sourceMappingURL=contextDocs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextDocs.js","sourceRoot":"","sources":["../contextDocs.ts"],"names":[],"mappings":"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"}
@@ -7,13 +7,27 @@ import type { NodeSpec, RunNodeResult } from '@corenel/harness/dag/executeNode';
7
7
  import type { NodeOutput, NodeEvent } from '@corenel/protocol';
8
8
  import type { FileOp } from '@corenel/protocol';
9
9
  import type { ToolDecl } from '@corenel/protocol';
10
+ import type { FileServiceKind } from '@corenel/protocol';
10
11
  /** Lightweight provider metadata sent with a run so the worker's file tools can
11
- * describe write risk in permission prompts (LOCAL DISK vs virtual workspace). */
12
+ * describe write risk in permission prompts (LOCAL DISK vs virtual workspace).
13
+ * `cacheId` lets the worker's derived caches (the project graph) key + persist the
14
+ * same way the main thread does. */
12
15
  export interface FileMeta {
13
- kind: 'memory' | 'directory';
16
+ kind: FileServiceKind;
14
17
  label: string;
15
18
  isLocalDisk: boolean;
16
19
  writable: boolean;
20
+ cacheId?: string;
21
+ }
22
+ /** Project-graph config carried to the worker, where localStorage is unavailable
23
+ * (structurally matches the app's GraphConfig). The worker applies it as an override
24
+ * so graph gating + the index filter respect the user's settings. */
25
+ export interface GraphConfigWire {
26
+ enabled: boolean;
27
+ nodeCap: number;
28
+ nodeCapEnabled: boolean;
29
+ include: string;
30
+ exclude: string;
17
31
  }
18
32
  export type MainToWorker = {
19
33
  kind: 'run';
@@ -27,16 +41,27 @@ export type MainToWorker = {
27
41
  debug?: boolean;
28
42
  fileMeta?: FileMeta;
29
43
  scope?: string;
44
+ graphConfig?: GraphConfigWire;
30
45
  /** True when the caller wired a propose_edit reviewer (onEditReview) — the
31
46
  * worker then BLOCKS propose_edit on the review. Surfaces with no mid-run
32
47
  * review UI (the standalone agent page) leave it unset and keep the
33
48
  * non-blocking acknowledgment. */
34
49
  reviewEdits?: boolean;
50
+ /** Workspace-relative path of the editor buffer the agent is editing, so
51
+ * propose_edit can validate (compile) a proposal before surfacing the diff. */
52
+ editorFile?: string;
35
53
  /** Tools contributed by connected sidecars (capability servers). The worker
36
54
  * exposes them to the model as proxy tools whose calls forward to the main
37
55
  * thread (tool-request) — same shape as the file bridge. The main thread
38
56
  * holds the sidecar connection and gates the call before it crosses. */
39
57
  remoteTools?: ToolDecl[];
58
+ /** The chat session this run belongs to — offloaded blobs are stored under it.
59
+ * Absent for sessionless runs (DAG nodes), which land in `_unattached`. */
60
+ sessionId?: string;
61
+ /** Capability seam (Task 3): restrict this run's tool registry to these
62
+ * names. Unknown names are ignored; absent = the full registry (today's
63
+ * behavior, byte-identical). */
64
+ toolNames?: string[];
40
65
  } | {
41
66
  kind: 'run-node';
42
67
  runId: number;
@@ -49,10 +74,15 @@ export type MainToWorker = {
49
74
  debug?: boolean;
50
75
  fileMeta?: FileMeta;
51
76
  scope?: string;
77
+ graphConfig?: GraphConfigWire;
52
78
  remoteTools?: ToolDecl[];
53
79
  } | {
54
80
  kind: 'abort';
55
81
  runId: number;
82
+ } | {
83
+ kind: 'set-model';
84
+ runId: number;
85
+ model: string;
56
86
  } | {
57
87
  kind: 'token-response';
58
88
  id: number;
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../core/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../core/protocol.ts"],"names":[],"mappings":"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"}
package/dist/idb.d.ts CHANGED
@@ -7,6 +7,15 @@ export declare function idbPut<T>(store: StoreName, key: string, value: T): Prom
7
7
  export declare function idbGet<T>(store: StoreName, key: string): Promise<T | undefined>;
8
8
  export declare function idbGetAll<T>(store: StoreName): Promise<T[]>;
9
9
  export declare function idbKeys(store: StoreName): Promise<string[]>;
10
+ export interface IdbEntry<T> {
11
+ key: string;
12
+ value: T;
13
+ }
14
+ /** Read every key/value pair from a store as a single consistent snapshot.
15
+ * Queues getAllKeys() and getAll() on ONE readonly transaction, so the pairing
16
+ * cannot be desynced by a write (autosave, sync, delete) landing between two
17
+ * separate transactions — unlike calling idbKeys() and idbGetAll() apart. */
18
+ export declare function idbEntries<T>(store: StoreName): Promise<IdbEntry<T>[]>;
10
19
  export declare function idbDelete(store: StoreName, key: string): Promise<void>;
11
20
  export declare function idbClear(store: StoreName): Promise<void>;
12
21
  //# sourceMappingURL=idb.d.ts.map
package/dist/idb.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"idb.d.ts","sourceRoot":"","sources":["../idb.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,MAAM,sFAAuF,CAAC;AAC3G,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAchD;yDACyD;AACzD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAM/C;AAiDD,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhF;AAED,wBAAsB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAGrF;AAED,wBAAsB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAGjE;AAED,wBAAsB,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAIjE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAExD"}
1
+ {"version":3,"file":"idb.d.ts","sourceRoot":"","sources":["../idb.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,MAAM,sFAAuF,CAAC;AAC3G,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAchD;yDACyD;AACzD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAM/C;AAiDD,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhF;AAED,wBAAsB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAGrF;AAED,wBAAsB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAGjE;AAED,wBAAsB,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAIjE;AAED,MAAM,WAAW,QAAQ,CAAC,CAAC;IAAI,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE;AAEtD;;;6EAG6E;AAC7E,wBAAsB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAQ5E;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAExD"}
package/dist/idb.js CHANGED
@@ -4,6 +4,8 @@
4
4
  import { isStorageFullError, reportStorageFull, reportStorageOk } from './storageHealth';
5
5
  const DB_BASE = 'prompd.agent';
6
6
  const VERSION = 5;
7
+ // 'sessions' and 'recall' are LEGACY (file-backed stores replaced them,
8
+ // 2026-07); kept in the schema so existing DBs open without a version bump.
7
9
  export const STORES = ['memory', 'kv', 'sessions', 'recall', 'files', 'config', 'config-history'];
8
10
  // Per-identity database name. The anonymous scope keeps the bare `prompd.agent`
9
11
  // DB (so pre-existing local data is preserved); each signed-in identity gets its
@@ -91,6 +93,19 @@ export async function idbKeys(store) {
91
93
  const keys = await reqP(db.transaction(store).objectStore(store).getAllKeys());
92
94
  return keys.map(String);
93
95
  }
96
+ /** Read every key/value pair from a store as a single consistent snapshot.
97
+ * Queues getAllKeys() and getAll() on ONE readonly transaction, so the pairing
98
+ * cannot be desynced by a write (autosave, sync, delete) landing between two
99
+ * separate transactions — unlike calling idbKeys() and idbGetAll() apart. */
100
+ export async function idbEntries(store) {
101
+ const db = await open();
102
+ const os = db.transaction(store).objectStore(store);
103
+ const [keys, values] = await Promise.all([
104
+ reqP(os.getAllKeys()),
105
+ reqP(os.getAll()),
106
+ ]);
107
+ return keys.map((k, i) => ({ key: String(k), value: values[i] }));
108
+ }
94
109
  export function idbDelete(store, key) {
95
110
  return write(store, (s) => s.delete(key));
96
111
  }
package/dist/idb.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"idb.js","sourceRoot":"","sources":["../idb.ts"],"names":[],"mappings":"AAAA;;yDAEyD;AAEzD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEzF,MAAM,OAAO,GAAG,cAAc,CAAC;AAC/B,MAAM,OAAO,GAAG,CAAC,CAAC;AAClB,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,CAAU,CAAC;AAG3G,gFAAgF;AAChF,iFAAiF;AACjF,iFAAiF;AACjF,+EAA+E;AAC/E,8DAA8D;AAC9D,IAAI,SAAS,GAAG,MAAM,CAAC;AACvB,SAAS,MAAM;IACb,OAAO,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,SAAS,EAAE,CAAC;AACpE,CAAC;AAED,IAAI,SAAS,GAAgC,IAAI,CAAC;AAElD;yDACyD;AACzD,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,SAAS,GAAG,KAAK,CAAC;IAClB,MAAM,IAAI,GAAG,SAAS,CAAC;IACvB,SAAS,GAAG,IAAI,CAAC;IACjB,IAAI,IAAI;QAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAwB,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,IAAI;IACX,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAChC,SAAS,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;QAC9C,GAAG,CAAC,eAAe,GAAG,GAAG,EAAE;YACzB,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;YACtB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAChE,CAAC;QACH,CAAC,CAAC;QACF,GAAG,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,IAAI,CAAI,GAAkB;IACjC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,GAAG,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,IAAI,CAAC,EAAkB;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,EAAE,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAChC,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACpC,EAAE,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;wFAEwF;AACxF,KAAK,UAAU,KAAK,CAAC,KAAgB,EAAE,MAAmC;IACxE,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC9C,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9B,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,eAAe,EAAE,CAAC;IACpB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;YAAC,iBAAiB,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAC3D,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED,MAAM,UAAU,MAAM,CAAI,KAAgB,EAAE,GAAW,EAAE,KAAQ;IAC/D,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAAI,KAAgB,EAAE,GAAW;IAC3D,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;IACxB,OAAO,IAAI,CAAI,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAkB,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAI,KAAgB;IACjD,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;IACxB,OAAO,IAAI,CAAM,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,EAAqB,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAgB;IAC5C,MAAM,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;IACxB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAgB,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;IAC9F,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAgB,EAAE,GAAW;IACrD,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAgB;IACvC,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"idb.js","sourceRoot":"","sources":["../idb.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../memory/local.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAOhF;mFACmF;AACnF,qBAAa,mBAAoB,YAAW,eAAe;IACnD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IAM5D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAevD,IAAI,CAAC,KAAK,SAAK,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAKvC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGxC;AAED,qBAAa,kBAAmB,YAAW,cAAc;IACjD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAG9C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAGlC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAI/C"}
1
+ {"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../memory/local.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAOhF;mFACmF;AACnF,qBAAa,mBAAoB,YAAW,eAAe;IACnD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IAM5D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAevD,IAAI,CAAC,KAAK,SAAK,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAKvC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGxC;AAED,qBAAa,kBAAmB,YAAW,cAAc;IACjD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAG9C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAGlC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAI/C"}
@@ -1 +1 @@
1
- {"version":3,"file":"local.js","sourceRoot":"","sources":["../../memory/local.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local.js","sourceRoot":"","sources":["../../memory/local.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEvE,SAAS,GAAG,CAAC,MAAc;IACzB,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AAC/F,CAAC;AAED;mFACmF;AACnF,MAAM,OAAO,mBAAmB;IAC9B,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,OAAiB,EAAE;QAC1C,MAAM,IAAI,GAAe,EAAE,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAC/E,MAAM,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,KAAK,GAAG,CAAC;QACnC,MAAM,GAAG,GAAG,MAAM,SAAS,CAAa,QAAQ,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3B,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;YAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;QAClD,CAAC,CAAC,CAAC;QACH,OAAO,MAAM;aACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;aAChD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;aAC1D,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;aACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE;QACnB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAa,QAAQ,CAAC,CAAC;QAClD,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,kBAAkB;IAC7B,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,CAAC,GAAG,MAAM,MAAM,CAAS,IAAI,EAAE,GAAG,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,IAAI,CAAC;IACnB,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa;QAClC,MAAM,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7B,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,MAAe;QACxB,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAChE,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../prompts/history.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,qEAAqE;AACrE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAmBD,kEAAkE;AAClE,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAWvE;AAED,iDAAiD;AACjD,wBAAsB,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAKzD;AAED,+DAA+D;AAC/D,wBAAsB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAExE;AAED;;yDAEyD;AACzD,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAe7D;AAED,sEAAsE;AACtE,wBAAsB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5D"}
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../prompts/history.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,qEAAqE;AACrE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAwBD,kEAAkE;AAClE,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAWvE;AAED,iDAAiD;AACjD,wBAAsB,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAKzD;AAED,+DAA+D;AAC/D,wBAAsB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAExE;AAED;;yDAEyD;AACzD,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAe7D;AAED,sEAAsE;AACtE,wBAAsB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5D"}
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * Snapshots are whole-workspace (the config tree is a handful of small .md files),
9
9
  * which keeps restore trivial and diff-free. */
10
- import { idbGet, idbGetAll, idbKeys, idbPut, idbDelete } from '../idb';
10
+ import { idbGet, idbGetAll, idbEntries, idbKeys, idbPut, idbDelete } from '../idb';
11
11
  import { configWorkspace } from '@corenel/harness/prompts/host';
12
12
  import { seedConfig } from '@corenel/harness/prompts/config';
13
13
  const STORE = 'config-history';
@@ -17,14 +17,19 @@ function freshId() {
17
17
  seq += 1;
18
18
  return `c-${Date.now().toString(36)}-${seq.toString(36)}`;
19
19
  }
20
- /** Read every config file (path -> content), skipping empty-dir .keep markers. */
20
+ /** Read every config file (path -> content), skipping empty-dir .keep markers.
21
+ *
22
+ * ONE transaction for keys and values. Reading them in two transactions pairs by
23
+ * array index across a gap a write can land in, so a concurrent edit would store
24
+ * a file's content under a different file's name — and because the snapshot is
25
+ * persisted as a commit, restoring it later would write that corruption back into
26
+ * the working copy. */
21
27
  async function snapshotWorkingCopy() {
22
- const [keys, vals] = await Promise.all([idbKeys('config'), idbGetAll('config')]);
23
28
  const files = {};
24
- for (let i = 0; i < keys.length; i++) {
25
- if (keys[i].endsWith(`/${KEEP}`) || keys[i] === KEEP)
29
+ for (const { key, value } of await idbEntries('config')) {
30
+ if (key.endsWith(`/${KEEP}`) || key === KEEP)
26
31
  continue;
27
- files[keys[i]] = vals[i] ?? '';
32
+ files[key] = value ?? '';
28
33
  }
29
34
  return files;
30
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../../prompts/history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../prompts/history.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export interface RunWatchdog {
2
+ /** Feed every AgentEvent through this — tracks tool in-flight and re-arms. */
3
+ onEvent(e: {
4
+ type: string;
5
+ id?: string;
6
+ }): void;
7
+ /** Pause while a blocking UI (ask form / edit review) waits on the user. */
8
+ pause(): void;
9
+ /** (Re)arm — call after the blocking UI resolves, and once at run start. */
10
+ bump(): void;
11
+ /** Stop all timers (run settled). */
12
+ clear(): void;
13
+ }
14
+ export declare const WATCHDOG_SOFT_MS = 45000;
15
+ export declare const WATCHDOG_TOOL_HARD_MS: number;
16
+ export declare function createRunWatchdog(onTimeout: (reason: 'silent' | 'tool-hard-cap') => void, opts?: {
17
+ softMs?: number;
18
+ hardMs?: number;
19
+ }): RunWatchdog;
20
+ //# sourceMappingURL=runWatchdog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runWatchdog.d.ts","sourceRoot":"","sources":["../runWatchdog.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,WAAW;IAC1B,8EAA8E;IAC9E,OAAO,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAChD,4EAA4E;IAC5E,KAAK,IAAI,IAAI,CAAC;IACd,4EAA4E;IAC5E,IAAI,IAAI,IAAI,CAAC;IACb,qCAAqC;IACrC,KAAK,IAAI,IAAI,CAAC;CACf;AAED,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AACtC,eAAO,MAAM,qBAAqB,QAAiB,CAAC;AAEpD,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,eAAe,KAAK,IAAI,EACvD,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1C,WAAW,CAoDb"}