@agenticprimitives/service-host 0.0.0-alpha.0 → 0.0.0-alpha.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.
- package/dist/cloudflare/index.d.ts +35 -6
- package/dist/cloudflare/index.d.ts.map +1 -1
- package/dist/cloudflare/index.js +53 -7
- package/dist/cloudflare/index.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/run-store.d.ts +21 -1
- package/dist/run-store.d.ts.map +1 -1
- package/dist/run-store.js +18 -0
- package/dist/run-store.js.map +1 -1
- package/dist/storage.d.ts +58 -1
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +102 -2
- package/dist/storage.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,14 +1,43 @@
|
|
|
1
|
-
import { type RunStorage } from '../storage.js';
|
|
1
|
+
import { type RunStorage, type RunStorageOptions } from '../storage.js';
|
|
2
2
|
import { type RunStore } from '../run-store.js';
|
|
3
3
|
/** The path a DO answers the store on. The Worker-side client posts here; a DO's `fetch` routes it to `handle`. */
|
|
4
4
|
export declare const RUN_STORE_PATH = "/internal/harness-run/";
|
|
5
|
-
/**
|
|
6
|
-
export declare
|
|
7
|
-
/**
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
/** The ops the store answers; anything else under the path is the host's own. */
|
|
6
|
+
export declare const RUN_STORE_OPS: ReadonlySet<string>;
|
|
7
|
+
/** Inside the agent's Durable Object: checkpoint + progress + record + counters + assertion storage over `state.storage`. */
|
|
8
|
+
export declare function durableObjectRunStorage(storage: DurableObjectStorage, options?: RunStorageOptions): RunStorage;
|
|
9
|
+
/** The DO-side route: `fetch(request)` → `handleRunStoreRequest(request, runs)` for any `/internal/harness-run/<op>` the
|
|
10
|
+
* store owns. Returns `null` for another path or an op the host owns, so the DO's own routing continues. The in-Worker
|
|
11
|
+
* marker that gates this path is the app's (spec 341 §7) and is checked BEFORE this is called. */
|
|
10
12
|
export declare function handleRunStoreRequest(request: Request, runs: RunStorage): Promise<Response | null>;
|
|
11
13
|
/** In the Worker: the `RunStore` over the agent's own stub, one DO per agent (`idFromName(agent)`). `headers` supplies
|
|
12
14
|
* the in-Worker marker the DO requires — the app's secret, read through a function so it is never captured here. */
|
|
13
15
|
export declare function durableObjectRunStore(ns: DurableObjectNamespace, headers: () => Record<string, string>): RunStore;
|
|
16
|
+
/**
|
|
17
|
+
* THE RUN DO — spec 433 W1 step 2 (census §2): the Durable Object core every service agent's runs live in. One object per
|
|
18
|
+
* agent (`idFromName(agent)`), holding the checkpoint, the progress lines, the run record (a week), the day's counters and
|
|
19
|
+
* the assertion ledger — all serving-plane, all a rebuild (ADR-0055). The record of record is the agent's vault.
|
|
20
|
+
*
|
|
21
|
+
* A host SUBCLASSES it: the runtime's task DO adds its own routes (triggers, routing, the search index on save) and calls
|
|
22
|
+
* `super.fetch` for everything under `/internal/harness-run/` it does not own. Two things the subclass supplies:
|
|
23
|
+
* · `isInternalCall(request)` — the in-Worker marker check (spec 341 §7): the marker is the app's secret, so the base
|
|
24
|
+
* class cannot know it and refuses every store call until the subclass says who is inside;
|
|
25
|
+
* · `runStorageOptions()` — retention and the hooks (what to index when a checkpoint or record lands).
|
|
26
|
+
* The class is exported, never a binding name: `wrangler.toml` binds it under whatever name the app chooses.
|
|
27
|
+
*/
|
|
28
|
+
export declare abstract class HarnessRunDO<Env = unknown> {
|
|
29
|
+
protected readonly state: DurableObjectState;
|
|
30
|
+
protected readonly env: Env;
|
|
31
|
+
constructor(state: DurableObjectState, env: Env);
|
|
32
|
+
/** The in-Worker marker check. Fail closed: the base class admits nothing on its own. */
|
|
33
|
+
protected abstract isInternalCall(request: Request): boolean;
|
|
34
|
+
/** Retention and hooks; override to index what lands. */
|
|
35
|
+
protected runStorageOptions(): RunStorageOptions;
|
|
36
|
+
private _runs;
|
|
37
|
+
/** The storage over this object's `state.storage`, built once. */
|
|
38
|
+
protected get runs(): RunStorage;
|
|
39
|
+
/** Answers the store's ops under `/internal/harness-run/`; 404 for anything else, so a subclass routes its own first
|
|
40
|
+
* and delegates here last. */
|
|
41
|
+
fetch(request: Request): Promise<Response>;
|
|
42
|
+
}
|
|
14
43
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,KAAK,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAgB,KAAK,QAAQ,EAAmB,MAAM,iBAAiB,CAAC;AAG/E,mHAAmH;AACnH,eAAO,MAAM,cAAc,2BAA2B,CAAC;AAEvD,iFAAiF;AACjF,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,MAAM,CAE5C,CAAC;AAEH,6HAA6H;AAC7H,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,UAAU,CAE9G;AAED;;mGAEmG;AACnG,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAQxG;AAED;qHACqH;AACrH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,QAAQ,CAUjH;AAED;;;;;;;;;;;GAWG;AACH,8BAAsB,YAAY,CAAC,GAAG,GAAG,OAAO;IAClC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,kBAAkB;IAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG;gBAAtD,KAAK,EAAE,kBAAkB,EAAqB,GAAG,EAAE,GAAG;IAErF,yFAAyF;IACzF,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAE5D,yDAAyD;IACzD,SAAS,CAAC,iBAAiB,IAAI,iBAAiB;IAEhD,OAAO,CAAC,KAAK,CAA2B;IACxC,kEAAkE;IAClE,SAAS,KAAK,IAAI,IAAI,UAAU,CAG/B;IAED;mCAC+B;IACzB,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;CAOjD"}
|
package/dist/cloudflare/index.js
CHANGED
|
@@ -6,19 +6,25 @@ import { runStorage } from '../storage.js';
|
|
|
6
6
|
import { runStoreOver } from '../run-store.js';
|
|
7
7
|
/** The path a DO answers the store on. The Worker-side client posts here; a DO's `fetch` routes it to `handle`. */
|
|
8
8
|
export const RUN_STORE_PATH = '/internal/harness-run/';
|
|
9
|
-
/**
|
|
10
|
-
export
|
|
11
|
-
|
|
9
|
+
/** The ops the store answers; anything else under the path is the host's own. */
|
|
10
|
+
export const RUN_STORE_OPS = new Set([
|
|
11
|
+
'save', 'load', 'drop', 'list', 'progress-append', 'progress-read', 'record-put', 'record-get', 'record-list', 'budget-ask', 'budget-get', 'assertion-claim',
|
|
12
|
+
]);
|
|
13
|
+
/** Inside the agent's Durable Object: checkpoint + progress + record + counters + assertion storage over `state.storage`. */
|
|
14
|
+
export function durableObjectRunStorage(storage, options) {
|
|
15
|
+
return runStorage(storage, options);
|
|
12
16
|
}
|
|
13
|
-
/** The DO-side route: `fetch(request)` → `handleRunStoreRequest(request, runs)` for any `/internal/harness-run/<op
|
|
14
|
-
* Returns `null`
|
|
15
|
-
* gates this path is the app's (spec 341 §7) and is checked BEFORE this is called. */
|
|
17
|
+
/** The DO-side route: `fetch(request)` → `handleRunStoreRequest(request, runs)` for any `/internal/harness-run/<op>` the
|
|
18
|
+
* store owns. Returns `null` for another path or an op the host owns, so the DO's own routing continues. The in-Worker
|
|
19
|
+
* marker that gates this path is the app's (spec 341 §7) and is checked BEFORE this is called. */
|
|
16
20
|
export async function handleRunStoreRequest(request, runs) {
|
|
17
21
|
const url = new URL(request.url);
|
|
18
22
|
if (!url.pathname.startsWith(RUN_STORE_PATH))
|
|
19
23
|
return null;
|
|
20
24
|
const op = url.pathname.slice(RUN_STORE_PATH.length);
|
|
21
|
-
|
|
25
|
+
if (!RUN_STORE_OPS.has(op))
|
|
26
|
+
return null;
|
|
27
|
+
const body = (await request.clone().json().catch(() => null));
|
|
22
28
|
const r = await runs.handle(op, body);
|
|
23
29
|
return r.ok ? Response.json(r) : Response.json({ ok: false, error: r.error }, { status: r.status });
|
|
24
30
|
}
|
|
@@ -36,4 +42,44 @@ export function durableObjectRunStore(ns, headers) {
|
|
|
36
42
|
return out;
|
|
37
43
|
});
|
|
38
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* THE RUN DO — spec 433 W1 step 2 (census §2): the Durable Object core every service agent's runs live in. One object per
|
|
47
|
+
* agent (`idFromName(agent)`), holding the checkpoint, the progress lines, the run record (a week), the day's counters and
|
|
48
|
+
* the assertion ledger — all serving-plane, all a rebuild (ADR-0055). The record of record is the agent's vault.
|
|
49
|
+
*
|
|
50
|
+
* A host SUBCLASSES it: the runtime's task DO adds its own routes (triggers, routing, the search index on save) and calls
|
|
51
|
+
* `super.fetch` for everything under `/internal/harness-run/` it does not own. Two things the subclass supplies:
|
|
52
|
+
* · `isInternalCall(request)` — the in-Worker marker check (spec 341 §7): the marker is the app's secret, so the base
|
|
53
|
+
* class cannot know it and refuses every store call until the subclass says who is inside;
|
|
54
|
+
* · `runStorageOptions()` — retention and the hooks (what to index when a checkpoint or record lands).
|
|
55
|
+
* The class is exported, never a binding name: `wrangler.toml` binds it under whatever name the app chooses.
|
|
56
|
+
*/
|
|
57
|
+
export class HarnessRunDO {
|
|
58
|
+
state;
|
|
59
|
+
env;
|
|
60
|
+
constructor(state, env) {
|
|
61
|
+
this.state = state;
|
|
62
|
+
this.env = env;
|
|
63
|
+
}
|
|
64
|
+
/** Retention and hooks; override to index what lands. */
|
|
65
|
+
runStorageOptions() { return {}; }
|
|
66
|
+
_runs = null;
|
|
67
|
+
/** The storage over this object's `state.storage`, built once. */
|
|
68
|
+
get runs() {
|
|
69
|
+
if (!this._runs)
|
|
70
|
+
this._runs = runStorage(this.state.storage, this.runStorageOptions());
|
|
71
|
+
return this._runs;
|
|
72
|
+
}
|
|
73
|
+
/** Answers the store's ops under `/internal/harness-run/`; 404 for anything else, so a subclass routes its own first
|
|
74
|
+
* and delegates here last. */
|
|
75
|
+
async fetch(request) {
|
|
76
|
+
const url = new URL(request.url);
|
|
77
|
+
if (!url.pathname.startsWith(RUN_STORE_PATH))
|
|
78
|
+
return Response.json({ ok: false, error: 'not found' }, { status: 404 });
|
|
79
|
+
if (!this.isInternalCall(request))
|
|
80
|
+
return Response.json({ ok: false, error: 'internal op — not authorized' }, { status: 403 });
|
|
81
|
+
const handled = await handleRunStoreRequest(request, this.runs);
|
|
82
|
+
return handled ?? Response.json({ ok: false, error: `unknown harness-run op: ${url.pathname.slice(RUN_STORE_PATH.length)}` }, { status: 404 });
|
|
83
|
+
}
|
|
84
|
+
}
|
|
39
85
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAAA,0HAA0H;AAC1H,wHAAwH;AACxH,0FAA0F;AAC1F,mDAAmD;AACnD,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAAA,0HAA0H;AAC1H,wHAAwH;AACxH,0FAA0F;AAC1F,mDAAmD;AACnD,OAAO,EAAE,UAAU,EAA2C,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,YAAY,EAAkC,MAAM,iBAAiB,CAAC;AAG/E,mHAAmH;AACnH,MAAM,CAAC,MAAM,cAAc,GAAG,wBAAwB,CAAC;AAEvD,iFAAiF;AACjF,MAAM,CAAC,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAa;IACpE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB;CAC7J,CAAC,CAAC;AAEH,6HAA6H;AAC7H,MAAM,UAAU,uBAAuB,CAAC,OAA6B,EAAE,OAA2B;IAChG,OAAO,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC;AAED;;mGAEmG;AACnG,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAgB,EAAE,IAAgB;IAC5E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAe,CAAC;IACnE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAmC,CAAC;IAChG,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACtC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AACtG,CAAC;AAED;qHACqH;AACrH,MAAM,UAAU,qBAAqB,CAAC,EAA0B,EAAE,OAAqC;IACrG,OAAO,YAAY,CAAC,KAAK,EAAE,KAAc,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QACrD,MAAM,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,yBAAyB,cAAc,GAAG,EAAE,EAAE,EAAE;YACvF,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC1G,CAAC,CAAC,CAAC;QACJ,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAA+D,CAAC;QAC/G,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,eAAe,EAAE,YAAY,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClH,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,OAAgB,YAAY;IACD;IAA8C;IAA7E,YAA+B,KAAyB,EAAqB,GAAQ;QAAtD,UAAK,GAAL,KAAK,CAAoB;QAAqB,QAAG,GAAH,GAAG,CAAK;IAAG,CAAC;IAKzF,yDAAyD;IAC/C,iBAAiB,KAAwB,OAAO,EAAE,CAAC,CAAC,CAAC;IAEvD,KAAK,GAAsB,IAAI,CAAC;IACxC,kEAAkE;IAClE,IAAc,IAAI;QAChB,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACvF,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;mCAC+B;IAC/B,KAAK,CAAC,KAAK,CAAC,OAAgB;QAC1B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC;YAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACvH,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/H,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,OAAO,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACjJ,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export declare const PACKAGE_NAME: "@agenticprimitives/service-host";
|
|
2
|
-
export declare const PACKAGE_STATUS: "w1-run-
|
|
2
|
+
export declare const PACKAGE_STATUS: "w1-run-do";
|
|
3
3
|
export declare const SPEC_REF: "specs/433-service-apps-run-the-harness-service-host.md";
|
|
4
4
|
export { mergeTurn, isExpired, expiryFor, liveRuns, completedStepsOf, canceledRecord, openRunOnThread, runStoreOver, AWAIT_WINDOW_MS, RUN_TTL_MS, } from './run-store.js';
|
|
5
5
|
export type { HarnessRunCheckpointV1, SuspendedRunV1, SelectedOfferBindingV1, AwaitingKind, RunStore, RunStoreOp, RunStoreCall } from './run-store.js';
|
|
6
6
|
export { toolWords, progressLine, PROGRESS_TTL_MS, PROGRESS_MAX_LINES } from './progress.js';
|
|
7
7
|
export type { ProgressLineV1 } from './progress.js';
|
|
8
|
-
export { runStorage, memoryRunKv, memoryRunStoreCall, RUN_KEY_PREFIX, PROGRESS_KEY_PREFIX } from './storage.js';
|
|
9
|
-
export type { RunKv, RunStorage, RunStorageResult } from './storage.js';
|
|
8
|
+
export { runStorage, memoryRunKv, memoryRunStoreCall, RUN_KEY_PREFIX, PROGRESS_KEY_PREFIX, RECORD_KEY_PREFIX, BUDGET_KEY_PREFIX, ASSERTION_KEY_PREFIX, DEFAULT_RECORD_RETENTION_DAYS } from './storage.js';
|
|
9
|
+
export type { RunKv, RunStorage, RunStorageResult, RunStorageOptions, DayCountersV1, RunRecordListingV1 } from './storage.js';
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,EAAG,iCAA0C,CAAC;AACvE,eAAO,MAAM,cAAc,EAAG,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,EAAG,iCAA0C,CAAC;AACvE,eAAO,MAAM,cAAc,EAAG,WAAoB,CAAC;AACnD,eAAO,MAAM,QAAQ,EAAG,wDAAiE,CAAC;AAE1F,OAAO,EACL,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAC1G,eAAe,EAAE,UAAU,GAC5B,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,sBAAsB,EAAE,cAAc,EAAE,sBAAsB,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEvJ,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC7F,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAC3M,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// @agenticprimitives/service-host — spec 433. The harness run pipeline a service agent embeds, promoted out of the
|
|
2
2
|
// ap-home runtime in the census order (docs/architecture/service-host-census.md §8). W1 step 1: the run store.
|
|
3
3
|
export const PACKAGE_NAME = '@agenticprimitives/service-host';
|
|
4
|
-
export const PACKAGE_STATUS = 'w1-run-
|
|
4
|
+
export const PACKAGE_STATUS = 'w1-run-do';
|
|
5
5
|
export const SPEC_REF = 'specs/433-service-apps-run-the-harness-service-host.md';
|
|
6
6
|
export { mergeTurn, isExpired, expiryFor, liveRuns, completedStepsOf, canceledRecord, openRunOnThread, runStoreOver, AWAIT_WINDOW_MS, RUN_TTL_MS, } from './run-store.js';
|
|
7
7
|
export { toolWords, progressLine, PROGRESS_TTL_MS, PROGRESS_MAX_LINES } from './progress.js';
|
|
8
|
-
export { runStorage, memoryRunKv, memoryRunStoreCall, RUN_KEY_PREFIX, PROGRESS_KEY_PREFIX } from './storage.js';
|
|
8
|
+
export { runStorage, memoryRunKv, memoryRunStoreCall, RUN_KEY_PREFIX, PROGRESS_KEY_PREFIX, RECORD_KEY_PREFIX, BUDGET_KEY_PREFIX, ASSERTION_KEY_PREFIX, DEFAULT_RECORD_RETENTION_DAYS } from './storage.js';
|
|
9
9
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mHAAmH;AACnH,+GAA+G;AAC/G,MAAM,CAAC,MAAM,YAAY,GAAG,iCAA0C,CAAC;AACvE,MAAM,CAAC,MAAM,cAAc,GAAG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mHAAmH;AACnH,+GAA+G;AAC/G,MAAM,CAAC,MAAM,YAAY,GAAG,iCAA0C,CAAC;AACvE,MAAM,CAAC,MAAM,cAAc,GAAG,WAAoB,CAAC;AACnD,MAAM,CAAC,MAAM,QAAQ,GAAG,wDAAiE,CAAC;AAE1F,OAAO,EACL,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAC1G,eAAe,EAAE,UAAU,GAC5B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAG7F,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/run-store.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { SuppliedInputV1, Plan, StepReceipt, CommitmentRefV1, RunRecordV1 }
|
|
|
2
2
|
import type { DelegationWireV1 } from '@agenticprimitives/a2a';
|
|
3
3
|
import type { Address, Hex } from '@agenticprimitives/types';
|
|
4
4
|
import type { ProgressLineV1 } from './progress.js';
|
|
5
|
+
import type { DayCountersV1, RunRecordListingV1 } from './storage.js';
|
|
5
6
|
/** Spec 384 W3 — a campaign's selection, carried on a run's origin: the provider the step is handed to and the offer the
|
|
6
7
|
* mandate must name. Shapes the plan; no verifier reads it — the verifier reads the mandate. */
|
|
7
8
|
export interface SelectedOfferBindingV1 {
|
|
@@ -141,6 +142,25 @@ export interface RunStore {
|
|
|
141
142
|
lines: ProgressLineV1[];
|
|
142
143
|
terminal: boolean;
|
|
143
144
|
}>;
|
|
145
|
+
/** Spec 370 P6 — the run RECORD on the agent's own object (a week; listed without mandates). */
|
|
146
|
+
putRecord(addressee: Address, record: RunRecordV1): Promise<void>;
|
|
147
|
+
getRecord(addressee: Address, runRef: string): Promise<RunRecordV1 | null>;
|
|
148
|
+
listRecords(addressee: Address, opts?: {
|
|
149
|
+
full?: boolean;
|
|
150
|
+
}): Promise<{
|
|
151
|
+
records: RunRecordListingV1[];
|
|
152
|
+
retention: {
|
|
153
|
+
doDays: number;
|
|
154
|
+
vaultRecord: string;
|
|
155
|
+
};
|
|
156
|
+
}>;
|
|
157
|
+
/** P1.4 — the day's counters. */
|
|
158
|
+
budgetAsk(addressee: Address, day?: string): Promise<void>;
|
|
159
|
+
budgetGet(addressee: Address, days?: number): Promise<DayCountersV1[]>;
|
|
160
|
+
/** Spec 372 S3c — spend a caller assertion once, on the agent's single writer. */
|
|
161
|
+
claimAssertion(addressee: Address, digest: string, expiresAt?: number): Promise<{
|
|
162
|
+
claimed: boolean;
|
|
163
|
+
}>;
|
|
144
164
|
}
|
|
145
165
|
/** Spec 400 W2 (B3) — THE OPEN RUN ON A THREAD: the newest unexpired run on `thread` that waits for DATA. A run waiting
|
|
146
166
|
* on a signature, a commitment or authority is not resumable by words, and a mention leaves it where it is. */
|
|
@@ -201,7 +221,7 @@ export declare function canceledRecord(existing: RunRecordV1 | null, stored: Pic
|
|
|
201
221
|
}): RunRecordV1 & {
|
|
202
222
|
canceled: NonNullable<RunRecordV1['canceled']>;
|
|
203
223
|
};
|
|
204
|
-
export type RunStoreOp = 'save' | 'load' | 'drop' | 'list' | 'progress-append' | 'progress-read';
|
|
224
|
+
export type RunStoreOp = 'save' | 'load' | 'drop' | 'list' | 'progress-append' | 'progress-read' | 'record-put' | 'record-get' | 'record-list' | 'budget-ask' | 'budget-get' | 'assertion-claim';
|
|
205
225
|
/** One call to the agent's own store: the Cloudflare adapter sends it to the agent's DO stub; a Node binding to its own
|
|
206
226
|
* process. The core never names the transport. */
|
|
207
227
|
export type RunStoreCall = (agent: Address, op: RunStoreOp, body: Record<string, unknown>) => Promise<Record<string, unknown>>;
|
package/dist/run-store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-store.d.ts","sourceRoot":"","sources":["../src/run-store.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACzH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"run-store.d.ts","sourceRoot":"","sources":["../src/run-store.ts"],"names":[],"mappings":"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"}
|
package/dist/run-store.js
CHANGED
|
@@ -127,6 +127,24 @@ export function runStoreOver(call) {
|
|
|
127
127
|
const out = await call(addressee, 'progress-read', { runRef, asker, after });
|
|
128
128
|
return { known: out.known === true, lines: out.lines ?? [], terminal: out.terminal === true };
|
|
129
129
|
},
|
|
130
|
+
async putRecord(addressee, record) { await call(addressee, 'record-put', { record }); },
|
|
131
|
+
async getRecord(addressee, runRef) {
|
|
132
|
+
const out = await call(addressee, 'record-get', { runRef });
|
|
133
|
+
return out.record ?? null;
|
|
134
|
+
},
|
|
135
|
+
async listRecords(addressee, opts = {}) {
|
|
136
|
+
const out = await call(addressee, 'record-list', opts.full ? { full: true } : {});
|
|
137
|
+
return { records: out.records ?? [], retention: out.retention ?? { doDays: 7, vaultRecord: 'run.provenance:<runRef>' } };
|
|
138
|
+
},
|
|
139
|
+
async budgetAsk(addressee, day) { await call(addressee, 'budget-ask', day ? { day } : {}); },
|
|
140
|
+
async budgetGet(addressee, days) {
|
|
141
|
+
const out = await call(addressee, 'budget-get', days === undefined ? {} : { days });
|
|
142
|
+
return out.days ?? [];
|
|
143
|
+
},
|
|
144
|
+
async claimAssertion(addressee, digest, expiresAt) {
|
|
145
|
+
const out = await call(addressee, 'assertion-claim', { digest, ...(expiresAt === undefined ? {} : { expiresAt }) });
|
|
146
|
+
return { claimed: out.claimed === true };
|
|
147
|
+
},
|
|
130
148
|
};
|
|
131
149
|
}
|
|
132
150
|
//# sourceMappingURL=run-store.js.map
|
package/dist/run-store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-store.js","sourceRoot":"","sources":["../src/run-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-store.js","sourceRoot":"","sources":["../src/run-store.ts"],"names":[],"mappings":"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"}
|
package/dist/storage.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { liveRuns, type HarnessRunCheckpointV1, type RunStoreOp } from './run-store.js';
|
|
2
2
|
import { type ProgressLineV1 } from './progress.js';
|
|
3
|
+
import type { RunRecordV1 } from '@agenticprimitives/orchestration';
|
|
3
4
|
/** The slice of a key/value store the run storage needs. `DurableObjectStorage` satisfies it directly. */
|
|
4
5
|
export interface RunKv {
|
|
5
6
|
get<T = unknown>(key: string): Promise<T | undefined>;
|
|
@@ -11,6 +12,46 @@ export interface RunKv {
|
|
|
11
12
|
}
|
|
12
13
|
export declare const RUN_KEY_PREFIX = "harness:run:";
|
|
13
14
|
export declare const PROGRESS_KEY_PREFIX = "harness:progress:";
|
|
15
|
+
/** Spec 370 P6 — THE RUN RECORD: what a finished run observed, decided and received, kept `retentionDays` on the agent's
|
|
16
|
+
* own object for looking back and replaying; listed WITHOUT its mandates. The record of record is the vault's. */
|
|
17
|
+
export declare const RECORD_KEY_PREFIX = "harness:record:";
|
|
18
|
+
/** P1.4 — THE DAY'S COUNTERS (spec 396/398 §5.4): a run's bill lands on the day it was recorded, once per run. */
|
|
19
|
+
export declare const BUDGET_KEY_PREFIX = "harness:budget:";
|
|
20
|
+
/** Spec 372 S3c — THE ASSERTION LEDGER: a wire-signed caller's assertion, spent once, on the agent's single writer. */
|
|
21
|
+
export declare const ASSERTION_KEY_PREFIX = "a2a:assertion:";
|
|
22
|
+
export declare const DEFAULT_RECORD_RETENTION_DAYS = 7;
|
|
23
|
+
export interface DayCountersV1 {
|
|
24
|
+
day: string;
|
|
25
|
+
asks: number;
|
|
26
|
+
vaultCalls: number;
|
|
27
|
+
doRequests: number;
|
|
28
|
+
}
|
|
29
|
+
/** A record as the listing shows it: no mandates, no events; counts and facets (the SKILL.md contracts that governed the
|
|
30
|
+
* steps — `contracts`, their ids — and the tools they ran, spec 415 A3) by default, or every step's ids and verdicts (`full`, never args or
|
|
31
|
+
* results — spec 406 W1's one-call rebuild of an operator index). */
|
|
32
|
+
export type RunRecordListingV1 = Omit<RunRecordV1, 'presented' | 'events' | 'steps' | 'receipts'> & ({
|
|
33
|
+
steps: number;
|
|
34
|
+
receipts: number;
|
|
35
|
+
contracts: string[];
|
|
36
|
+
tools: string[];
|
|
37
|
+
} | {
|
|
38
|
+
steps: Array<{
|
|
39
|
+
stepRef?: string;
|
|
40
|
+
toolId?: string;
|
|
41
|
+
ok?: boolean;
|
|
42
|
+
error?: string;
|
|
43
|
+
skipped?: unknown;
|
|
44
|
+
}>;
|
|
45
|
+
receipts: RunRecordV1['receipts'];
|
|
46
|
+
});
|
|
47
|
+
export interface RunStorageOptions {
|
|
48
|
+
/** How long a run record stays on the object (swept on listing). Default 7 days. */
|
|
49
|
+
retentionDays?: number;
|
|
50
|
+
/** Called after a checkpoint is stored — the host's own index of what was asked (the Home's search index). Best-effort. */
|
|
51
|
+
onCheckpointSaved?: (checkpoint: HarnessRunCheckpointV1) => Promise<void> | void;
|
|
52
|
+
/** Called after a record is stored for the FIRST time. Best-effort. */
|
|
53
|
+
onRecordPut?: (record: RunRecordV1, first: boolean) => Promise<void> | void;
|
|
54
|
+
}
|
|
14
55
|
export type RunStorageResult = {
|
|
15
56
|
ok: true;
|
|
16
57
|
} & Record<string, unknown> | {
|
|
@@ -45,8 +86,24 @@ export interface RunStorage {
|
|
|
45
86
|
error: string;
|
|
46
87
|
status: number;
|
|
47
88
|
}>;
|
|
89
|
+
/** Spec 398 §5.3 — a cancel mark already on the stored record is never lost to a late write of the same record. */
|
|
90
|
+
putRecord(record: RunRecordV1, now?: number): Promise<void>;
|
|
91
|
+
getRecord(runRef: string): Promise<RunRecordV1 | null>;
|
|
92
|
+
/** Newest first; retention swept here. */
|
|
93
|
+
listRecords(opts?: {
|
|
94
|
+
full?: boolean;
|
|
95
|
+
}, now?: number): Promise<RunRecordListingV1[]>;
|
|
96
|
+
budgetAsk(day?: string): Promise<void>;
|
|
97
|
+
budgetGet(days?: number, now?: number): Promise<DayCountersV1[]>;
|
|
98
|
+
/** First caller wins; a second claim of the same digest is refused. Expired rows are pruned as they are met. */
|
|
99
|
+
claimAssertion(digest: string, expiresAt?: number, now?: number): Promise<{
|
|
100
|
+
claimed: boolean;
|
|
101
|
+
} | {
|
|
102
|
+
error: string;
|
|
103
|
+
status: number;
|
|
104
|
+
}>;
|
|
48
105
|
}
|
|
49
|
-
export declare function runStorage(kv: RunKv): RunStorage;
|
|
106
|
+
export declare function runStorage(kv: RunKv, options?: RunStorageOptions): RunStorage;
|
|
50
107
|
/** An in-memory `RunKv` — tests, and a single-process host. */
|
|
51
108
|
export declare function memoryRunKv(): RunKv;
|
|
52
109
|
/** A `RunStore` over an in-memory storage, one agent per key space — a single-process host or a test. */
|
package/dist/storage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,KAAK,sBAAsB,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxF,OAAO,EAAuC,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
package/dist/storage.js
CHANGED
|
@@ -6,9 +6,21 @@ import { liveRuns } from './run-store.js';
|
|
|
6
6
|
import { PROGRESS_MAX_LINES, PROGRESS_TTL_MS } from './progress.js';
|
|
7
7
|
export const RUN_KEY_PREFIX = 'harness:run:';
|
|
8
8
|
export const PROGRESS_KEY_PREFIX = 'harness:progress:';
|
|
9
|
+
/** Spec 370 P6 — THE RUN RECORD: what a finished run observed, decided and received, kept `retentionDays` on the agent's
|
|
10
|
+
* own object for looking back and replaying; listed WITHOUT its mandates. The record of record is the vault's. */
|
|
11
|
+
export const RECORD_KEY_PREFIX = 'harness:record:';
|
|
12
|
+
/** P1.4 — THE DAY'S COUNTERS (spec 396/398 §5.4): a run's bill lands on the day it was recorded, once per run. */
|
|
13
|
+
export const BUDGET_KEY_PREFIX = 'harness:budget:';
|
|
14
|
+
/** Spec 372 S3c — THE ASSERTION LEDGER: a wire-signed caller's assertion, spent once, on the agent's single writer. */
|
|
15
|
+
export const ASSERTION_KEY_PREFIX = 'a2a:assertion:';
|
|
16
|
+
export const DEFAULT_RECORD_RETENTION_DAYS = 7;
|
|
9
17
|
const runKey = (ref) => `${RUN_KEY_PREFIX}${ref}`;
|
|
10
18
|
const progressKey = (ref) => `${PROGRESS_KEY_PREFIX}${ref}`;
|
|
11
|
-
|
|
19
|
+
const recordKey = (ref) => `${RECORD_KEY_PREFIX}${ref}`;
|
|
20
|
+
const budgetKey = (day) => `${BUDGET_KEY_PREFIX}${day}`;
|
|
21
|
+
const dayOf = (at) => new Date(at).toISOString().slice(0, 10);
|
|
22
|
+
export function runStorage(kv, options = {}) {
|
|
23
|
+
const retentionMs = (options.retentionDays ?? DEFAULT_RECORD_RETENTION_DAYS) * 24 * 3600_000;
|
|
12
24
|
const save = async (cp) => { await kv.put(runKey(cp.runRef), cp); };
|
|
13
25
|
const load = async (runRef) => (await kv.get(runKey(runRef))) ?? null;
|
|
14
26
|
const drop = async (runRef) => { await kv.delete(runKey(runRef)); };
|
|
@@ -54,9 +66,71 @@ export function runStorage(kv) {
|
|
|
54
66
|
const last = cur.lines[cur.lines.length - 1];
|
|
55
67
|
return { known: true, lines: cur.lines.filter((l) => l.seq > after), terminal: !!last?.terminal };
|
|
56
68
|
};
|
|
69
|
+
const putRecord = async (rec, now = Date.now()) => {
|
|
70
|
+
// Spec 398 §5.3 — A CANCEL MARK IS NEVER LOST TO A LATE WRITE. The turn writes its record after it has answered, and the
|
|
71
|
+
// exporter writes it again with the export report; a cancel that landed in between would be overwritten by either.
|
|
72
|
+
const prior = await kv.get(recordKey(rec.runRef));
|
|
73
|
+
await kv.put(recordKey(rec.runRef), prior?.canceled && !rec.canceled ? { ...rec, canceled: prior.canceled } : rec);
|
|
74
|
+
if (!prior) {
|
|
75
|
+
const bill = rec.bill;
|
|
76
|
+
const bk = budgetKey(dayOf(Number(rec.at ?? now)));
|
|
77
|
+
const cur = (await kv.get(bk)) ?? {};
|
|
78
|
+
await kv.put(bk, { asks: cur.asks ?? 0, vaultCalls: (cur.vaultCalls ?? 0) + Number(bill?.vaultCalls ?? 0), doRequests: (cur.doRequests ?? 0) + Number(bill?.doRequests ?? 0) });
|
|
79
|
+
}
|
|
80
|
+
try {
|
|
81
|
+
await options.onRecordPut?.(rec, !prior);
|
|
82
|
+
}
|
|
83
|
+
catch { /* the hook is the host's; a failure there costs a row, never the record */ }
|
|
84
|
+
};
|
|
85
|
+
const getRecord = async (runRef) => (await kv.get(recordKey(runRef))) ?? null;
|
|
86
|
+
const listRecords = async (opts = {}, now = Date.now()) => {
|
|
87
|
+
const rows = [...(await kv.list({ prefix: RECORD_KEY_PREFIX })).values()];
|
|
88
|
+
// Spec 381 — THE RETENTION POLICY, declared: the object's copy lives `retentionDays` and is swept on listing; the run's
|
|
89
|
+
// provenance is in the acting agent's vault for good.
|
|
90
|
+
const stale = rows.filter((r) => now - Number(r.at ?? 0) > retentionMs).map((r) => recordKey(String(r.runRef)));
|
|
91
|
+
if (stale.length)
|
|
92
|
+
await kv.delete(stale);
|
|
93
|
+
return rows.filter((r) => now - Number(r.at ?? 0) <= retentionMs)
|
|
94
|
+
.map(({ presented: _p, events: _e, ...rest }) => opts.full
|
|
95
|
+
? { ...rest, steps: (rest.steps ?? []).map((st) => ({ stepRef: st.stepRef, toolId: st.toolId, ok: st.ok, ...(st.error ? { error: st.error } : {}), ...(st.skipped !== undefined ? { skipped: st.skipped } : {}) })), receipts: rest.receipts ?? [] }
|
|
96
|
+
: { ...rest, steps: rest.steps?.length ?? 0, receipts: rest.receipts?.length ?? 0,
|
|
97
|
+
contracts: [...new Set((rest.receipts ?? []).map((r) => r.skill?.id).filter((x) => !!x))],
|
|
98
|
+
tools: [...new Set((rest.steps ?? []).map((st) => st.toolId).filter((x) => !!x))] })
|
|
99
|
+
.sort((a, b) => Number(b.at ?? 0) - Number(a.at ?? 0));
|
|
100
|
+
};
|
|
101
|
+
const budgetAsk = async (day = dayOf(Date.now())) => {
|
|
102
|
+
const bk = budgetKey(day);
|
|
103
|
+
const cur = (await kv.get(bk)) ?? {};
|
|
104
|
+
await kv.put(bk, { asks: (cur.asks ?? 0) + 1, vaultCalls: cur.vaultCalls ?? 0, doRequests: cur.doRequests ?? 0 });
|
|
105
|
+
};
|
|
106
|
+
const budgetGet = async (days = 7, now = Date.now()) => {
|
|
107
|
+
const n = Math.min(Math.max(Number(days) || 7, 1), 31);
|
|
108
|
+
const out = [];
|
|
109
|
+
for (let i = 0; i < n; i++) {
|
|
110
|
+
const day = dayOf(now - i * 86_400_000);
|
|
111
|
+
const cur = (await kv.get(budgetKey(day))) ?? {};
|
|
112
|
+
out.push({ day, asks: cur.asks ?? 0, vaultCalls: cur.vaultCalls ?? 0, doRequests: cur.doRequests ?? 0 });
|
|
113
|
+
}
|
|
114
|
+
return out;
|
|
115
|
+
};
|
|
116
|
+
const claimAssertion = async (digestIn, expiresAt, now = Date.now()) => {
|
|
117
|
+
const digest = String(digestIn ?? '').toLowerCase();
|
|
118
|
+
if (!/^0x[0-9a-f]{64}$/.test(digest))
|
|
119
|
+
return { error: 'digest required', status: 400 };
|
|
120
|
+
const akey = `${ASSERTION_KEY_PREFIX}${digest}`;
|
|
121
|
+
if (await kv.get(akey))
|
|
122
|
+
return { claimed: false };
|
|
123
|
+
await kv.put(akey, { at: now, expiresAt: Number(expiresAt ?? now + 300_000) });
|
|
124
|
+
// Opportunistic prune: an expired row proves nothing and costs storage.
|
|
125
|
+
const rows = await kv.list({ prefix: ASSERTION_KEY_PREFIX });
|
|
126
|
+
const dead = [...rows].filter(([, v]) => Number(v?.expiresAt ?? 0) < now).map(([k]) => k);
|
|
127
|
+
if (dead.length)
|
|
128
|
+
await kv.delete(dead);
|
|
129
|
+
return { claimed: true };
|
|
130
|
+
};
|
|
57
131
|
const bad = (error, status = 400) => ({ ok: false, error, status });
|
|
58
132
|
return {
|
|
59
|
-
save, load, list, drop, appendProgress, readProgress,
|
|
133
|
+
save, load, list, drop, appendProgress, readProgress, putRecord, getRecord, listRecords, budgetAsk, budgetGet, claimAssertion,
|
|
60
134
|
async handle(op, body, now = Date.now()) {
|
|
61
135
|
const b = body ?? {};
|
|
62
136
|
switch (op) {
|
|
@@ -65,6 +139,10 @@ export function runStorage(kv) {
|
|
|
65
139
|
if (!cp?.runRef || !cp.addressee || !cp.asker)
|
|
66
140
|
return bad('checkpoint with runRef, addressee and asker required');
|
|
67
141
|
await save(cp);
|
|
142
|
+
try {
|
|
143
|
+
await options.onCheckpointSaved?.(cp);
|
|
144
|
+
}
|
|
145
|
+
catch { /* the host's index; never the checkpoint's failure */ }
|
|
68
146
|
return { ok: true };
|
|
69
147
|
}
|
|
70
148
|
case 'load': {
|
|
@@ -94,6 +172,28 @@ export function runStorage(kv) {
|
|
|
94
172
|
const r = await readProgress(String(b.runRef), String(b.asker), Number(b.after ?? 0));
|
|
95
173
|
return 'error' in r ? bad(r.error, r.status) : { ok: true, ...r };
|
|
96
174
|
}
|
|
175
|
+
case 'record-put': {
|
|
176
|
+
const rec = b.record;
|
|
177
|
+
if (!rec?.runRef)
|
|
178
|
+
return bad('record.runRef required');
|
|
179
|
+
await putRecord(rec, now);
|
|
180
|
+
return { ok: true };
|
|
181
|
+
}
|
|
182
|
+
case 'record-get': {
|
|
183
|
+
if (!b.runRef)
|
|
184
|
+
return bad('runRef required');
|
|
185
|
+
return { ok: true, record: await getRecord(String(b.runRef)) };
|
|
186
|
+
}
|
|
187
|
+
case 'record-list': return { ok: true, records: await listRecords({ full: b.full === true }, now), retention: { doDays: options.retentionDays ?? DEFAULT_RECORD_RETENTION_DAYS, vaultRecord: 'run.provenance:<runRef>' } };
|
|
188
|
+
case 'budget-ask': {
|
|
189
|
+
await budgetAsk(b.day ? String(b.day) : undefined);
|
|
190
|
+
return { ok: true };
|
|
191
|
+
}
|
|
192
|
+
case 'budget-get': return { ok: true, days: await budgetGet(b.days === undefined ? undefined : Number(b.days), now) };
|
|
193
|
+
case 'assertion-claim': {
|
|
194
|
+
const r = await claimAssertion(String(b.digest ?? ''), b.expiresAt === undefined ? undefined : Number(b.expiresAt), now);
|
|
195
|
+
return 'error' in r ? bad(r.error, r.status) : { ok: true, claimed: r.claimed };
|
|
196
|
+
}
|
|
97
197
|
default: return bad(`unknown harness-run op "${op}"`, 404);
|
|
98
198
|
}
|
|
99
199
|
},
|
package/dist/storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agenticprimitives/service-host",
|
|
3
|
-
"version": "0.0.0-alpha.
|
|
3
|
+
"version": "0.0.0-alpha.2",
|
|
4
4
|
"description": "The Service Host (spec 433): the harness run pipeline a service agent embeds — run store, progress, routes, tools, provenance sink — so a service built as an app runs the same harness the runtime hosts. W1 step 1: the run store behind a port.",
|
|
5
5
|
"homepage": "https://agenticprimitives.dev",
|
|
6
6
|
"bugs": {
|
|
@@ -28,9 +28,9 @@
|
|
|
28
28
|
"README.md"
|
|
29
29
|
],
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@agenticprimitives/
|
|
32
|
-
"@agenticprimitives/
|
|
33
|
-
"@agenticprimitives/
|
|
31
|
+
"@agenticprimitives/a2a": "0.0.0-alpha.29",
|
|
32
|
+
"@agenticprimitives/orchestration": "0.0.0-alpha.10",
|
|
33
|
+
"@agenticprimitives/types": "1.0.0-alpha.31"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@cloudflare/workers-types": "^4.20240117.0",
|