agentfootprint 7.18.0 → 7.19.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/adapters/hosting/agentcore.js +23 -9
- package/dist/adapters/hosting/agentcore.js.map +1 -1
- package/dist/core/Agent.js +6 -0
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/agent/stages/toolCalls.js +13 -0
- package/dist/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/core/durabilityBarrier.js +68 -0
- package/dist/core/durabilityBarrier.js.map +1 -0
- package/dist/esm/adapters/hosting/agentcore.d.ts +4 -4
- package/dist/esm/adapters/hosting/agentcore.js +24 -10
- package/dist/esm/adapters/hosting/agentcore.js.map +1 -1
- package/dist/esm/core/Agent.js +6 -0
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/agent/stages/toolCalls.d.ts +21 -0
- package/dist/esm/core/agent/stages/toolCalls.js +13 -0
- package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/esm/core/durabilityBarrier.d.ts +61 -0
- package/dist/esm/core/durabilityBarrier.js +63 -0
- package/dist/esm/core/durabilityBarrier.js.map +1 -0
- package/dist/esm/hosting/durability.d.ts +92 -0
- package/dist/esm/hosting/durability.js +174 -0
- package/dist/esm/hosting/durability.js.map +1 -0
- package/dist/esm/hosting/envelope.d.ts +75 -14
- package/dist/esm/hosting/envelope.js +141 -16
- package/dist/esm/hosting/envelope.js.map +1 -1
- package/dist/esm/hosting/errors.d.ts +60 -11
- package/dist/esm/hosting/errors.js +92 -18
- package/dist/esm/hosting/errors.js.map +1 -1
- package/dist/esm/hosting/httpHost.d.ts +17 -1
- package/dist/esm/hosting/httpHost.js +42 -6
- package/dist/esm/hosting/httpHost.js.map +1 -1
- package/dist/esm/hosting/index.d.ts +7 -4
- package/dist/esm/hosting/index.js +6 -3
- package/dist/esm/hosting/index.js.map +1 -1
- package/dist/esm/hosting/nodeHost.d.ts +4 -2
- package/dist/esm/hosting/nodeHost.js +14 -3
- package/dist/esm/hosting/nodeHost.js.map +1 -1
- package/dist/esm/hosting/standingAgent.d.ts +22 -7
- package/dist/esm/hosting/standingAgent.js +144 -32
- package/dist/esm/hosting/standingAgent.js.map +1 -1
- package/dist/esm/hosting/types.d.ts +193 -19
- package/dist/hosting/durability.js +178 -0
- package/dist/hosting/durability.js.map +1 -0
- package/dist/hosting/envelope.js +146 -18
- package/dist/hosting/envelope.js.map +1 -1
- package/dist/hosting/errors.js +95 -19
- package/dist/hosting/errors.js.map +1 -1
- package/dist/hosting/httpHost.js +42 -6
- package/dist/hosting/httpHost.js.map +1 -1
- package/dist/hosting/index.js +10 -2
- package/dist/hosting/index.js.map +1 -1
- package/dist/hosting/nodeHost.js +14 -3
- package/dist/hosting/nodeHost.js.map +1 -1
- package/dist/hosting/standingAgent.js +142 -30
- package/dist/hosting/standingAgent.js.map +1 -1
- package/dist/types/adapters/hosting/agentcore.d.ts +4 -4
- package/dist/types/adapters/hosting/agentcore.d.ts.map +1 -1
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/agent/stages/toolCalls.d.ts +21 -0
- package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
- package/dist/types/core/durabilityBarrier.d.ts +62 -0
- package/dist/types/core/durabilityBarrier.d.ts.map +1 -0
- package/dist/types/hosting/durability.d.ts +93 -0
- package/dist/types/hosting/durability.d.ts.map +1 -0
- package/dist/types/hosting/envelope.d.ts +75 -14
- package/dist/types/hosting/envelope.d.ts.map +1 -1
- package/dist/types/hosting/errors.d.ts +60 -11
- package/dist/types/hosting/errors.d.ts.map +1 -1
- package/dist/types/hosting/httpHost.d.ts +17 -1
- package/dist/types/hosting/httpHost.d.ts.map +1 -1
- package/dist/types/hosting/index.d.ts +7 -4
- package/dist/types/hosting/index.d.ts.map +1 -1
- package/dist/types/hosting/nodeHost.d.ts +4 -2
- package/dist/types/hosting/nodeHost.d.ts.map +1 -1
- package/dist/types/hosting/standingAgent.d.ts +22 -7
- package/dist/types/hosting/standingAgent.d.ts.map +1 -1
- package/dist/types/hosting/types.d.ts +193 -19
- package/dist/types/hosting/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpHost.js","sourceRoot":"","sources":["../../src/hosting/httpHost.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;;;;;;;;;;;;;;;;;;;;;;;;;;AAIH,4CAAyC;AACzC,2CAA8C;
|
|
1
|
+
{"version":3,"file":"httpHost.js","sourceRoot":"","sources":["../../src/hosting/httpHost.ts"],"names":[],"mappings":"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"}
|
package/dist/hosting/index.js
CHANGED
|
@@ -34,9 +34,12 @@
|
|
|
34
34
|
* another. Two paths and five body shapes are all a second HTTP adapter
|
|
35
35
|
* re-decides.
|
|
36
36
|
* • `memorySessions()` — conversations in a Map, for tests and local dev.
|
|
37
|
-
* • `standingAgent({ agent, sessions, host })` — the composer.
|
|
37
|
+
* • `standingAgent({ agent, sessions, host, durability? })` — the composer.
|
|
38
38
|
* • `toEnvelope` / `readEnvelope` — pack a conversation, and refuse by name to
|
|
39
39
|
* unpack a format this runtime does not know.
|
|
40
|
+
* • `toPausedEnvelope` / `readPausedRun` — the same for a run that stopped to
|
|
41
|
+
* ask a person something (`'flowchart-v1'`). `checkEnvelope` validates
|
|
42
|
+
* either without committing to which half you wanted — what a STORE wants.
|
|
40
43
|
* • `requireCapability` — feature-detection with teeth.
|
|
41
44
|
*
|
|
42
45
|
* @example An agent that stays up and remembers
|
|
@@ -51,7 +54,7 @@
|
|
|
51
54
|
* process.on('SIGTERM', () => void handle.close());
|
|
52
55
|
*/
|
|
53
56
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
-
exports.PauseNotCarriedError = exports.ConcurrentRunError = exports.HostClosedError = exports.requireCapability = exports.standingAgent = exports.readEnvelope = exports.toEnvelope = exports.memorySessions = exports.headerValue = exports.httpHost = exports.jsonWire = exports.nodeHost = void 0;
|
|
57
|
+
exports.NoPendingAskError = exports.AwaitingDecisionError = exports.PauseNotCarriedError = exports.ConcurrentRunError = exports.HostClosedError = exports.requireCapability = exports.standingAgent = exports.checkEnvelope = exports.readPausedRun = exports.readEnvelope = exports.toPausedEnvelope = exports.toEnvelope = exports.memorySessions = exports.headerValue = exports.httpHost = exports.jsonWire = exports.nodeHost = void 0;
|
|
55
58
|
var nodeHost_js_1 = require("./nodeHost.js");
|
|
56
59
|
Object.defineProperty(exports, "nodeHost", { enumerable: true, get: function () { return nodeHost_js_1.nodeHost; } });
|
|
57
60
|
Object.defineProperty(exports, "jsonWire", { enumerable: true, get: function () { return nodeHost_js_1.jsonWire; } });
|
|
@@ -62,7 +65,10 @@ var memorySessions_js_1 = require("./memorySessions.js");
|
|
|
62
65
|
Object.defineProperty(exports, "memorySessions", { enumerable: true, get: function () { return memorySessions_js_1.memorySessions; } });
|
|
63
66
|
var envelope_js_1 = require("./envelope.js");
|
|
64
67
|
Object.defineProperty(exports, "toEnvelope", { enumerable: true, get: function () { return envelope_js_1.toEnvelope; } });
|
|
68
|
+
Object.defineProperty(exports, "toPausedEnvelope", { enumerable: true, get: function () { return envelope_js_1.toPausedEnvelope; } });
|
|
65
69
|
Object.defineProperty(exports, "readEnvelope", { enumerable: true, get: function () { return envelope_js_1.readEnvelope; } });
|
|
70
|
+
Object.defineProperty(exports, "readPausedRun", { enumerable: true, get: function () { return envelope_js_1.readPausedRun; } });
|
|
71
|
+
Object.defineProperty(exports, "checkEnvelope", { enumerable: true, get: function () { return envelope_js_1.checkEnvelope; } });
|
|
66
72
|
var standingAgent_js_1 = require("./standingAgent.js");
|
|
67
73
|
Object.defineProperty(exports, "standingAgent", { enumerable: true, get: function () { return standingAgent_js_1.standingAgent; } });
|
|
68
74
|
var errors_js_1 = require("./errors.js");
|
|
@@ -70,4 +76,6 @@ Object.defineProperty(exports, "requireCapability", { enumerable: true, get: fun
|
|
|
70
76
|
Object.defineProperty(exports, "HostClosedError", { enumerable: true, get: function () { return errors_js_1.HostClosedError; } });
|
|
71
77
|
Object.defineProperty(exports, "ConcurrentRunError", { enumerable: true, get: function () { return errors_js_1.ConcurrentRunError; } });
|
|
72
78
|
Object.defineProperty(exports, "PauseNotCarriedError", { enumerable: true, get: function () { return errors_js_1.PauseNotCarriedError; } });
|
|
79
|
+
Object.defineProperty(exports, "AwaitingDecisionError", { enumerable: true, get: function () { return errors_js_1.AwaitingDecisionError; } });
|
|
80
|
+
Object.defineProperty(exports, "NoPendingAskError", { enumerable: true, get: function () { return errors_js_1.NoPendingAskError; } });
|
|
73
81
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hosting/index.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hosting/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;;;AAEH,6CAAmD;AAA1C,uGAAA,QAAQ,OAAA;AAAE,uGAAA,QAAQ,OAAA;AAG3B,6CAAsD;AAA7C,uGAAA,QAAQ,OAAA;AAAE,0GAAA,WAAW,OAAA;AAS9B,yDAAqD;AAA5C,mHAAA,cAAc,OAAA;AACvB,6CAMuB;AALrB,yGAAA,UAAU,OAAA;AACV,+GAAA,gBAAgB,OAAA;AAChB,2GAAA,YAAY,OAAA;AACZ,4GAAA,aAAa,OAAA;AACb,4GAAA,aAAa,OAAA;AAEf,uDAAmD;AAA1C,iHAAA,aAAa,OAAA;AAEtB,yCAOqB;AANnB,8GAAA,iBAAiB,OAAA;AACjB,4GAAA,eAAe,OAAA;AACf,+GAAA,kBAAkB,OAAA;AAClB,iHAAA,oBAAoB,OAAA;AACpB,kHAAA,qBAAqB,OAAA;AACrB,8GAAA,iBAAiB,OAAA"}
|
package/dist/hosting/nodeHost.js
CHANGED
|
@@ -8,8 +8,10 @@
|
|
|
8
8
|
* reply.complete(await answer(request.input));
|
|
9
9
|
* });
|
|
10
10
|
*
|
|
11
|
-
* Two routes: `POST /invoke` takes `{ input, sessionId? }` and
|
|
12
|
-
* `{ output }
|
|
11
|
+
* Two routes: `POST /invoke` takes `{ input, sessionId?, decision? }` and
|
|
12
|
+
* answers `{ output }` — or `{ awaiting }` with a **202** when the run stopped
|
|
13
|
+
* to ask a person something, which a later `POST` carrying `decision` continues;
|
|
14
|
+
* `GET /health` answers `{ status: 'ok' }`. Both paths are
|
|
13
15
|
* options, because the paths are the part most likely to be dictated to you by
|
|
14
16
|
* whatever is in front of the process — a load balancer, a container contract,
|
|
15
17
|
* a colleague's convention. A path is a deployment detail, so it is a knob
|
|
@@ -47,12 +49,21 @@ exports.jsonWire = {
|
|
|
47
49
|
// caller that sets both is not surprised by which one the server preferred.
|
|
48
50
|
const fromBody = typeof facts.body.sessionId === 'string' ? facts.body.sessionId : undefined;
|
|
49
51
|
const sessionId = fromBody ?? facts.headers['x-session-id'];
|
|
50
|
-
|
|
52
|
+
// Read as-is and never coerced: `decision` is a person's answer to whatever
|
|
53
|
+
// a tool asked, and this dialect does not get to decide what that looks
|
|
54
|
+
// like. Its PRESENCE is the whole signal.
|
|
55
|
+
const decision = facts.body.decision;
|
|
56
|
+
return {
|
|
57
|
+
input,
|
|
58
|
+
...(sessionId !== undefined && { sessionId }),
|
|
59
|
+
...(decision !== undefined && { decision }),
|
|
60
|
+
};
|
|
51
61
|
},
|
|
52
62
|
health: (uptimeMs) => ({ status: 'ok', uptimeMs }),
|
|
53
63
|
output: (output) => ({ output }),
|
|
54
64
|
failure: (error, code) => ({ error, ...(code !== undefined && { code }) }),
|
|
55
65
|
chunk: (text) => ({ text }),
|
|
66
|
+
awaiting: (pending) => ({ awaiting: pending }),
|
|
56
67
|
};
|
|
57
68
|
/**
|
|
58
69
|
* An HTTP host for one handler.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeHost.js","sourceRoot":"","sources":["../../src/hosting/nodeHost.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"nodeHost.js","sourceRoot":"","sources":["../../src/hosting/nodeHost.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;;;AAEH,+CAA4F;AAwB5F,MAAM,SAAS,GAAG,UAAU,CAAC;AAE7B;;;;;;;GAOG;AACU,QAAA,QAAQ,GAAa;IAChC,WAAW,CAAC,KAAK;QACf,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,wEAAwE;QACxE,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7F,MAAM,SAAS,GAAG,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC5D,4EAA4E;QAC5E,wEAAwE;QACxE,0CAA0C;QAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;QACrC,OAAO;YACL,KAAK;YACL,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;YAC7C,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC;SAC5C,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAClD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC1E,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAC3B,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;CAC/C,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,SAAgB,QAAQ,CAAC,UAA2B,EAAE;IACpD,OAAO,IAAA,sBAAQ,EAAC;QACd,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,gBAAQ;QACd,yEAAyE;QACzE,wDAAwD;QACxD,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS;QAC3C,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS;QAC3C,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QACzD,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;KACtE,CAAC,CAAC;AACL,CAAC;AAXD,4BAWC"}
|
|
@@ -6,17 +6,26 @@
|
|
|
6
6
|
* agent,
|
|
7
7
|
* sessions: memorySessions(),
|
|
8
8
|
* host: nodeHost({ port: 8080 }),
|
|
9
|
+
* durability: 'sync', // optional; 'exit' is the default
|
|
9
10
|
* });
|
|
10
11
|
*
|
|
11
12
|
* One request at a time it does four things: wake and hydrate the session,
|
|
12
|
-
*
|
|
13
|
+
* continue that session or start a fresh one, persist what the run leaves
|
|
13
14
|
* behind, then reply. Everything else is somebody else's job — the host carries
|
|
14
15
|
* bytes, the store keeps them, the agent thinks.
|
|
15
16
|
*
|
|
16
|
-
* ──
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
17
|
+
* ── A run has three ends, and this composer honours all three ────────────────
|
|
18
|
+
* It answered, it asked a person something, or it failed. An answer completes
|
|
19
|
+
* the reply and stores a conversation. A QUESTION stores the paused run as
|
|
20
|
+
* `'flowchart-v1'` and leaves through `reply.awaiting(...)` — its own terminal,
|
|
21
|
+
* never `fail`, because a pause is unfinished work and reporting it as a failure
|
|
22
|
+
* tells every dashboard downstream something untrue. A later request for that
|
|
23
|
+
* session carrying `decision` continues the run from exactly where it stopped.
|
|
24
|
+
*
|
|
25
|
+
* ── Resuming a CONVERSATION is a REPLAY, and that has a cost ─────────────────
|
|
26
|
+
* A stored conversation is restored through `agent.resumeOnError(...)`, and this
|
|
27
|
+
* is its caveat, stated here in the words the Agent states it in, because a
|
|
28
|
+
* composition that hides the caveat of the thing it composes is worse than no
|
|
20
29
|
* composition at all:
|
|
21
30
|
*
|
|
22
31
|
* > **Tool re-execution / idempotency**: tool side effects from the FAILED
|
|
@@ -26,6 +35,10 @@
|
|
|
26
35
|
* > emails, DB writes) must be idempotent — key on stable call content, not
|
|
27
36
|
* > `ctx.toolCallId` (a re-issued call gets a new id).
|
|
28
37
|
*
|
|
38
|
+
* `durability` is the dial that bounds how much of that a crash can cost you.
|
|
39
|
+
* Resuming a PAUSED run is different in kind: it is not a replay at all — the
|
|
40
|
+
* engine continues from its own checkpoint, and no earlier tool call re-runs.
|
|
41
|
+
*
|
|
29
42
|
* ── Why one run at a time ───────────────────────────────────────────────────
|
|
30
43
|
* An Agent instance holds per-run state on itself, and this composer shares ONE
|
|
31
44
|
* instance across every session. Two runs overlapping on it do not crash —
|
|
@@ -46,14 +59,16 @@
|
|
|
46
59
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
60
|
exports.standingAgent = void 0;
|
|
48
61
|
const pause_js_1 = require("../core/pause.js");
|
|
62
|
+
const durability_js_1 = require("./durability.js");
|
|
49
63
|
const envelope_js_1 = require("./envelope.js");
|
|
50
64
|
const errors_js_1 = require("./errors.js");
|
|
51
65
|
/**
|
|
52
66
|
* Serve one agent, with per-session conversation memory, on any
|
|
53
67
|
* {@link AgentHost}.
|
|
54
68
|
*
|
|
55
|
-
* Resolves once the host is live. Closing the returned handle closes the host
|
|
56
|
-
*
|
|
69
|
+
* Resolves once the host is live. Closing the returned handle closes the host,
|
|
70
|
+
* detaches the listeners this composer added to the agent, and removes its
|
|
71
|
+
* durability wiring.
|
|
57
72
|
*
|
|
58
73
|
* @example
|
|
59
74
|
* const handle = await standingAgent({
|
|
@@ -61,17 +76,21 @@ const errors_js_1 = require("./errors.js");
|
|
|
61
76
|
* sessions: memorySessions(),
|
|
62
77
|
* host: nodeHost({ port: 0 }),
|
|
63
78
|
* onConcurrentInvoke: 'enqueue',
|
|
79
|
+
* durability: 'sync',
|
|
64
80
|
* });
|
|
65
81
|
* process.on('SIGTERM', () => void handle.close());
|
|
66
82
|
*/
|
|
67
83
|
async function standingAgent(options) {
|
|
68
84
|
const { agent, sessions, host } = options;
|
|
69
85
|
const policy = options.onConcurrentInvoke ?? 'reject';
|
|
86
|
+
const durability = options.durability ?? 'exit';
|
|
70
87
|
// Runs are serialized, so at any moment there is at most one active reply and
|
|
71
88
|
// at most one active run to name in a refusal.
|
|
72
89
|
let activeReply;
|
|
73
90
|
let activeRunId;
|
|
74
91
|
let activeSession;
|
|
92
|
+
/** The REAL session id of the active run — never the anonymous placeholder. */
|
|
93
|
+
let activeSessionId;
|
|
75
94
|
const queued = [];
|
|
76
95
|
let chain = Promise.resolve();
|
|
77
96
|
let anonymous = 0;
|
|
@@ -85,6 +104,19 @@ async function standingAgent(options) {
|
|
|
85
104
|
if (typeof content === 'string' && content.length > 0)
|
|
86
105
|
activeReply?.emit?.(content);
|
|
87
106
|
});
|
|
107
|
+
// Under 'exit' NOTHING is built: no observer on the agent, no barrier, no
|
|
108
|
+
// per-commit work. That is what "the default is byte-identical" means here —
|
|
109
|
+
// not a mode that happens to write once, but wiring that is never installed.
|
|
110
|
+
const writer = durability === 'exit'
|
|
111
|
+
? undefined
|
|
112
|
+
: (0, durability_js_1.durableWriter)({
|
|
113
|
+
mode: durability,
|
|
114
|
+
session: () => activeSessionId,
|
|
115
|
+
runId: () => activeRunId,
|
|
116
|
+
write: (sessionId, conversation) => sessions.persist(sessionId, (0, envelope_js_1.toEnvelope)(conversation)),
|
|
117
|
+
});
|
|
118
|
+
const detachWriter = writer ? agent.attach(writer.recorder) : undefined;
|
|
119
|
+
const uninstallBarrier = writer?.install(agent);
|
|
88
120
|
/** Queue `work` behind everything already waiting, FIFO. */
|
|
89
121
|
function serialize(sessionKey, work) {
|
|
90
122
|
if (policy === 'reject' && (activeSession === sessionKey || queued.includes(sessionKey))) {
|
|
@@ -122,40 +154,101 @@ async function standingAgent(options) {
|
|
|
122
154
|
};
|
|
123
155
|
async function answerOne(runner, store, request, reply, sessionId) {
|
|
124
156
|
activeReply = reply;
|
|
157
|
+
// The writer only ever writes for the run it is inside; an anonymous
|
|
158
|
+
// request has nowhere to write to and gets nothing.
|
|
159
|
+
activeSessionId = sessionId;
|
|
125
160
|
try {
|
|
126
161
|
let prior;
|
|
162
|
+
let paused;
|
|
127
163
|
if (sessionId !== undefined) {
|
|
128
|
-
|
|
164
|
+
// A request carrying a decision is waking this session to CONTINUE a
|
|
165
|
+
// run, which is a different thing to ask a store to be ready for.
|
|
166
|
+
await store.onWake?.(sessionId, request.decision !== undefined ? 'resume' : 'invoke');
|
|
129
167
|
const stored = await store.hydrate(sessionId);
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
168
|
+
if (stored !== undefined) {
|
|
169
|
+
// Both readers throw by name on a format this runtime cannot read —
|
|
170
|
+
// better a loud refusal than an agent answering from half a session.
|
|
171
|
+
if (stored.format === 'flowchart-v1')
|
|
172
|
+
paused = (0, envelope_js_1.readPausedRun)(stored);
|
|
173
|
+
else
|
|
174
|
+
prior = (0, envelope_js_1.readEnvelope)(stored);
|
|
175
|
+
}
|
|
134
176
|
}
|
|
135
177
|
// The signal reaches tool execution, tool discovery and skill-entry
|
|
136
178
|
// scoring. It does NOT currently reach the LLM call, so a caller who
|
|
137
179
|
// hangs up mid-generation stops the tools, not the token stream.
|
|
138
180
|
const runOptions = request.signal ? { env: { signal: request.signal } } : undefined;
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
181
|
+
// ── The one discriminant ─────────────────────────────────────────
|
|
182
|
+
// A request carrying `decision` answers a pending question; a request
|
|
183
|
+
// without one is a new message. Never inferred from the text: reading
|
|
184
|
+
// approval out of prose is a guess, and a consent gate may not be built
|
|
185
|
+
// on a guess.
|
|
186
|
+
if (request.decision !== undefined) {
|
|
187
|
+
if (!paused) {
|
|
188
|
+
reply.fail(new errors_js_1.NoPendingAskError(sessionId ?? '(anonymous)'));
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
await deliver(await runner.resume(paused.checkpoint, request.decision, runOptions), runner, store, reply, sessionId);
|
|
144
192
|
return;
|
|
145
193
|
}
|
|
146
|
-
if (sessionId !== undefined) {
|
|
147
|
-
|
|
148
|
-
//
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
if (conversation)
|
|
152
|
-
await store.persist(sessionId, (0, envelope_js_1.toEnvelope)(conversation));
|
|
194
|
+
if (paused && sessionId !== undefined) {
|
|
195
|
+
// The message is not run and the pause is not discarded. Both of the
|
|
196
|
+
// other options lose something a person cared about.
|
|
197
|
+
reply.fail(new errors_js_1.AwaitingDecisionError(sessionId, paused.pending));
|
|
198
|
+
return;
|
|
153
199
|
}
|
|
154
|
-
|
|
200
|
+
const output = prior
|
|
201
|
+
? await runner.resumeOnError(continueConversation(prior, request.input), runOptions)
|
|
202
|
+
: await runner.run({ message: request.input }, runOptions);
|
|
203
|
+
await deliver(output, runner, store, reply, sessionId);
|
|
204
|
+
}
|
|
205
|
+
catch (err) {
|
|
206
|
+
// A run that threw still has to drain. A write left in flight would race
|
|
207
|
+
// the NEXT turn's terminal write and could land after it. The drain's own
|
|
208
|
+
// failure is swallowed here and only here: the caller is already being
|
|
209
|
+
// told about the run's error, and replacing it with a storage error would
|
|
210
|
+
// hide the thing that actually went wrong.
|
|
211
|
+
await writer?.settle().catch(() => undefined);
|
|
212
|
+
throw err;
|
|
155
213
|
}
|
|
156
214
|
finally {
|
|
157
215
|
activeReply = undefined;
|
|
216
|
+
activeSessionId = undefined;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
/** Store what the run left behind, then end the reply with the right terminal. */
|
|
220
|
+
async function deliver(output, runner, store, reply, sessionId) {
|
|
221
|
+
// Mid-run writes settle FIRST. Ordering, not tidiness: an 'async' write
|
|
222
|
+
// still in flight would otherwise land after the terminal envelope and
|
|
223
|
+
// overwrite it — a stored pause quietly demoted back to a conversation,
|
|
224
|
+
// and the question a person was asked gone with it. It also rethrows a
|
|
225
|
+
// store that refused this run's progress, so a broken store fails the
|
|
226
|
+
// request rather than being reported as a clean answer.
|
|
227
|
+
await writer?.settle();
|
|
228
|
+
if ((0, pause_js_1.isPaused)(output)) {
|
|
229
|
+
const pending = describePause(output, sessionId);
|
|
230
|
+
const conversation = sessionId === undefined ? undefined : runner.checkpoint();
|
|
231
|
+
if (sessionId !== undefined && conversation) {
|
|
232
|
+
await store.persist(sessionId, (0, envelope_js_1.toPausedEnvelope)({ checkpoint: output.checkpoint, conversation, pending }));
|
|
233
|
+
if (reply.awaiting) {
|
|
234
|
+
reply.awaiting(pending);
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
// Either there was nowhere to store it, or the host cannot describe a
|
|
239
|
+
// question. Both are refusals about THIS reply, not about the run.
|
|
240
|
+
reply.fail(new errors_js_1.PauseNotCarriedError(pending.tool, sessionId, conversation !== undefined));
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
if (sessionId !== undefined) {
|
|
244
|
+
const conversation = runner.checkpoint();
|
|
245
|
+
// Persist BEFORE answering: the caller learns the answer only once the
|
|
246
|
+
// conversation that produced it is durable, so a queued next turn can
|
|
247
|
+
// never read state older than the answer already given.
|
|
248
|
+
if (conversation)
|
|
249
|
+
await store.persist(sessionId, (0, envelope_js_1.toEnvelope)(conversation));
|
|
158
250
|
}
|
|
251
|
+
reply.complete(typeof output === 'string' ? output : String(output));
|
|
159
252
|
}
|
|
160
253
|
const handle = await host.serve(handler);
|
|
161
254
|
// Keep whatever the adapter put on its own handle (nodeHost's bound `url`,
|
|
@@ -168,6 +261,8 @@ async function standingAgent(options) {
|
|
|
168
261
|
await handle.close();
|
|
169
262
|
offTurnStart();
|
|
170
263
|
offToken();
|
|
264
|
+
uninstallBarrier?.();
|
|
265
|
+
detachWriter?.();
|
|
171
266
|
},
|
|
172
267
|
};
|
|
173
268
|
}
|
|
@@ -187,10 +282,27 @@ function continueConversation(prior, input) {
|
|
|
187
282
|
checkpointedAt: Date.now(),
|
|
188
283
|
};
|
|
189
284
|
}
|
|
190
|
-
/**
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
285
|
+
/**
|
|
286
|
+
* Project a paused run into the part that is safe to hand back: the question,
|
|
287
|
+
* never the state.
|
|
288
|
+
*
|
|
289
|
+
* Every field is read from what the run actually recorded — the tool name and
|
|
290
|
+
* question the dispatch loop stamps on `pauseData`, the typed `checkIn`, the
|
|
291
|
+
* middleware `ask`. A field the run did not record is simply absent. Nothing
|
|
292
|
+
* here infers, summarises or invents, which is why the raw `pauseData` rides
|
|
293
|
+
* along untouched: the tool's author chose those words.
|
|
294
|
+
*/
|
|
295
|
+
function describePause(outcome, sessionId) {
|
|
296
|
+
const data = outcome.pauseData;
|
|
297
|
+
const tool = typeof data?.toolName === 'string' ? data.toolName : undefined;
|
|
298
|
+
const question = typeof data?.question === 'string' ? data.question : undefined;
|
|
299
|
+
return {
|
|
300
|
+
...(sessionId !== undefined && { sessionId }),
|
|
301
|
+
...(tool !== undefined && { tool }),
|
|
302
|
+
...(question !== undefined && { question }),
|
|
303
|
+
...(outcome.checkIn !== undefined && { checkIn: outcome.checkIn }),
|
|
304
|
+
...(outcome.ask !== undefined && { ask: outcome.ask }),
|
|
305
|
+
pauseData: outcome.pauseData,
|
|
306
|
+
};
|
|
195
307
|
}
|
|
196
308
|
//# sourceMappingURL=standingAgent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standingAgent.js","sourceRoot":"","sources":["../../src/hosting/standingAgent.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"standingAgent.js","sourceRoot":"","sources":["../../src/hosting/standingAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -175,10 +175,10 @@ export type AgentCoreSessionsOptions = AgentCoreFileSessionsOptions | AgentCoreM
|
|
|
175
175
|
* A `SessionLifecycle` backed by AgentCore, with the checkpoint's home chosen
|
|
176
176
|
* at construction.
|
|
177
177
|
*
|
|
178
|
-
* Both modes store the SAME `CheckpointEnvelope` the port defines
|
|
179
|
-
* refuse an unknown `format` by name
|
|
180
|
-
*
|
|
181
|
-
* That law is inherited, not re-implemented.
|
|
178
|
+
* Both modes store the SAME `CheckpointEnvelope` the port defines — a
|
|
179
|
+
* conversation or a paused run — and both refuse an unknown `format` by name
|
|
180
|
+
* through the shared `checkEnvelope`: a session written by a newer runtime is
|
|
181
|
+
* refused, never half-restored. That law is inherited, not re-implemented.
|
|
182
182
|
*
|
|
183
183
|
* @example Survive a stop/resume, no AWS SDK required
|
|
184
184
|
* agentCoreSessions({ store: 'session-storage' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentcore.d.ts","sourceRoot":"","sources":["../../../../src/adapters/hosting/agentcore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAoB,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACtF,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAkBnF,gDAAgD;AAChD,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,CAAC,EAAE,MAAM,OAAO,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"agentcore.d.ts","sourceRoot":"","sources":["../../../../src/adapters/hosting/agentcore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAGL,KAAK,sBAAsB,EAI3B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EAExB,KAAK,UAAU,EACf,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAOjE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -101,6 +101,27 @@ export interface ToolCallsHandlerDeps {
|
|
|
101
101
|
* proposed. Empty / undefined → not walked, no ledger key, no events.
|
|
102
102
|
*/
|
|
103
103
|
readonly toolMiddleware?: readonly ToolMiddleware[];
|
|
104
|
+
/**
|
|
105
|
+
* The durable-write barrier (`core/durabilityBarrier.ts`). Asked ONCE per
|
|
106
|
+
* iteration, before any of this iteration's tools are dispatched: if the last
|
|
107
|
+
* iteration's state is still being written to a session store, wait for it.
|
|
108
|
+
*
|
|
109
|
+
* This is what bounds side-effect replay. Without it, iteration N's tools run
|
|
110
|
+
* while iteration N-1's write is in flight, so a crash can re-issue more than
|
|
111
|
+
* one iteration's worth of tool calls on replay and "how much re-executes?"
|
|
112
|
+
* has no answer. With it the answer is exactly one: the current iteration.
|
|
113
|
+
*
|
|
114
|
+
* Returns `undefined` when nobody installed a barrier — the ordinary case —
|
|
115
|
+
* and the dispatch loop then does not await at all, so an agent without a
|
|
116
|
+
* durable session composer is byte-identical in behaviour AND in timing.
|
|
117
|
+
*
|
|
118
|
+
* NOT a general extension point: the only installer is
|
|
119
|
+
* `agentfootprint/hosting`'s session writer, through a module-private
|
|
120
|
+
* WeakMap that appears on no barrel. See `core/durabilityBarrier.ts`.
|
|
121
|
+
*
|
|
122
|
+
* @internal
|
|
123
|
+
*/
|
|
124
|
+
readonly awaitDurable?: () => Promise<void> | undefined;
|
|
104
125
|
}
|
|
105
126
|
/**
|
|
106
127
|
* Build the pausable tool-call handler for the agent's chart.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolCalls.d.ts","sourceRoot":"","sources":["../../../../../src/core/agent/stages/toolCalls.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAc,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAIhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAc,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGjF,OAAO,EAIL,KAAK,qBAAqB,EAG3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,oBAAoB;IACnC;;4DAEwD;IACxD,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnD;;qDAEiD;IACjD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,YAAY,CAAC;IAC7C;;;;;OAKG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAC/C;;4DAEwD;IACxD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAC/C;;kEAE8D;IAC9D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjD;;;8EAG0E;IAC1E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;IACnD;;;;;;OAMG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,CAAC;IAC1E;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC;IACzC;;;;;;;OAOG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"toolCalls.d.ts","sourceRoot":"","sources":["../../../../../src/core/agent/stages/toolCalls.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAc,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAIhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAc,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGjF,OAAO,EAIL,KAAK,qBAAqB,EAG3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,oBAAoB;IACnC;;4DAEwD;IACxD,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnD;;qDAEiD;IACjD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,YAAY,CAAC;IAC7C;;;;;OAKG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAC/C;;4DAEwD;IACxD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAC/C;;kEAE8D;IAC9D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjD;;;8EAG0E;IAC1E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;IACnD;;;;;;OAMG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,CAAC;IAC1E;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC;IACzC;;;;;;;OAOG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAEpD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;CACzD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,oBAAoB,GACzB,eAAe,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CA01BzC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* core/durabilityBarrier — the one seam a durable session composer may hold
|
|
3
|
+
* inside a run, and nothing else may.
|
|
4
|
+
*
|
|
5
|
+
* ── What it is ───────────────────────────────────────────────────────────────
|
|
6
|
+
* A run's tool dispatch asks, once per ReAct iteration, "is there a durable
|
|
7
|
+
* write still in flight from the LAST iteration?" and — only if there is —
|
|
8
|
+
* waits for it before executing this iteration's tools. That is the entire
|
|
9
|
+
* mechanism. It exists because the alternative is a bound nobody can state:
|
|
10
|
+
* without it, iteration N's tools can run while iteration N-1's write is still
|
|
11
|
+
* on the wire, so a crash replays MORE than one iteration of side effects and
|
|
12
|
+
* "how much can re-execute?" has no answer.
|
|
13
|
+
*
|
|
14
|
+
* ── Why it is a WeakMap and not an option ────────────────────────────────────
|
|
15
|
+
* This is deliberately **not** a public extension point. footprintjs's stage
|
|
16
|
+
* seams and phase chain are closed here, and a general "run something between
|
|
17
|
+
* my stages" hook would be a new one — it would let any consumer inject
|
|
18
|
+
* latency, ordering and failures into a traversal, and every later feature
|
|
19
|
+
* would have to reason about it. So the barrier is keyed off the runner
|
|
20
|
+
* instance in a module-private WeakMap that appears on no barrel and no
|
|
21
|
+
* subpath: `agentfootprint/hosting`'s session writer installs it, the tool
|
|
22
|
+
* dispatch reads it, and there is no third party. Nothing in the public API
|
|
23
|
+
* surface mentions it, which is the point.
|
|
24
|
+
*
|
|
25
|
+
* ── Why it costs nothing when nobody installed one ───────────────────────────
|
|
26
|
+
* {@link pendingDurableWrite} returns `undefined` — not a resolved promise —
|
|
27
|
+
* when no barrier is installed, so the dispatch loop does not `await`, does not
|
|
28
|
+
* schedule a microtask, and produces byte-identical timing to an agent that
|
|
29
|
+
* never heard of durability.
|
|
30
|
+
*
|
|
31
|
+
* Pattern: Instance-keyed private capability (a WeakMap "friend" channel).
|
|
32
|
+
* Role: core/ layer, internal. No events, no state, no scope.
|
|
33
|
+
*
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
36
|
+
/**
|
|
37
|
+
* What a barrier answers: the write still in flight, or `undefined` when there
|
|
38
|
+
* is nothing to wait for. Returning `undefined` is the fast path and the
|
|
39
|
+
* common case — a mode that persists at run end only never installs one at all.
|
|
40
|
+
*
|
|
41
|
+
* @internal
|
|
42
|
+
*/
|
|
43
|
+
export type DurabilityBarrier = () => Promise<void> | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Install the barrier for one runner. Returns the uninstall function; the
|
|
46
|
+
* caller owns it, exactly as `attach()` and `on()` hand back their own.
|
|
47
|
+
*
|
|
48
|
+
* Last install wins. One runner has at most one barrier because one composer
|
|
49
|
+
* owns its durability — two would be two answers to "has the last write
|
|
50
|
+
* landed?", and a run cannot honour both.
|
|
51
|
+
*
|
|
52
|
+
* @internal
|
|
53
|
+
*/
|
|
54
|
+
export declare function installDurabilityBarrier(owner: object, barrier: DurabilityBarrier): () => void;
|
|
55
|
+
/**
|
|
56
|
+
* The durable write still in flight for this runner, or `undefined` when there
|
|
57
|
+
* is no barrier installed or nothing outstanding.
|
|
58
|
+
*
|
|
59
|
+
* @internal
|
|
60
|
+
*/
|
|
61
|
+
export declare function pendingDurableWrite(owner: object): Promise<void> | undefined;
|
|
62
|
+
//# sourceMappingURL=durabilityBarrier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"durabilityBarrier.d.ts","sourceRoot":"","sources":["../../../src/core/durabilityBarrier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;AAIhE;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,MAAM,IAAI,CAK9F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAE5E"}
|