loopforge 3.9.2 → 4.0.7
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/README.md +236 -112
- package/dist/audit.d.ts +73 -15
- package/dist/audit.d.ts.map +1 -1
- package/dist/audit.js +131 -61
- package/dist/audit.js.map +1 -1
- package/dist/canonical-state.d.ts +152 -40
- package/dist/canonical-state.d.ts.map +1 -1
- package/dist/canonical-state.js +382 -206
- package/dist/canonical-state.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +41 -12
- package/dist/cli.js.map +1 -1
- package/dist/cognitive-governance.d.ts +0 -2
- package/dist/cognitive-governance.d.ts.map +1 -1
- package/dist/cognitive-governance.js +0 -4
- package/dist/cognitive-governance.js.map +1 -1
- package/dist/committed-round.d.ts +105 -141
- package/dist/committed-round.d.ts.map +1 -1
- package/dist/committed-round.js +249 -372
- package/dist/committed-round.js.map +1 -1
- package/dist/constraint-lifecycle.d.ts +73 -0
- package/dist/constraint-lifecycle.d.ts.map +1 -0
- package/dist/constraint-lifecycle.js +174 -0
- package/dist/constraint-lifecycle.js.map +1 -0
- package/dist/context-boundary.d.ts +83 -0
- package/dist/context-boundary.d.ts.map +1 -0
- package/dist/context-boundary.js +101 -0
- package/dist/context-boundary.js.map +1 -0
- package/dist/contract-items.d.ts +12 -8
- package/dist/contract-items.d.ts.map +1 -1
- package/dist/contract-items.js +31 -26
- package/dist/contract-items.js.map +1 -1
- package/dist/contract-requirement.d.ts +47 -0
- package/dist/contract-requirement.d.ts.map +1 -0
- package/dist/contract-requirement.js +51 -0
- package/dist/contract-requirement.js.map +1 -0
- package/dist/criterion-status.d.ts +35 -0
- package/dist/criterion-status.d.ts.map +1 -0
- package/dist/criterion-status.js +89 -0
- package/dist/criterion-status.js.map +1 -0
- package/dist/enforcement-gate.d.ts +32 -67
- package/dist/enforcement-gate.d.ts.map +1 -1
- package/dist/enforcement-gate.js +203 -439
- package/dist/enforcement-gate.js.map +1 -1
- package/dist/engine.d.ts +9 -103
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +28 -887
- package/dist/engine.js.map +1 -1
- package/dist/errors.d.ts +41 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +69 -0
- package/dist/errors.js.map +1 -0
- package/dist/evidence-claims.d.ts +33 -31
- package/dist/evidence-claims.d.ts.map +1 -1
- package/dist/evidence-claims.js +58 -72
- package/dist/evidence-claims.js.map +1 -1
- package/dist/evidence-posture-view.d.ts +19 -0
- package/dist/evidence-posture-view.d.ts.map +1 -0
- package/dist/evidence-posture-view.js +116 -0
- package/dist/evidence-posture-view.js.map +1 -0
- package/dist/evidence-posture.d.ts +73 -0
- package/dist/evidence-posture.d.ts.map +1 -0
- package/dist/evidence-posture.js +281 -0
- package/dist/evidence-posture.js.map +1 -0
- package/dist/evidence-provider.d.ts +55 -37
- package/dist/evidence-provider.d.ts.map +1 -1
- package/dist/evidence-provider.js +182 -332
- package/dist/evidence-provider.js.map +1 -1
- package/dist/explain.d.ts +167 -27
- package/dist/explain.d.ts.map +1 -1
- package/dist/explain.js +373 -58
- package/dist/explain.js.map +1 -1
- package/dist/field-accounting.d.ts.map +1 -1
- package/dist/field-accounting.js +3 -22
- package/dist/field-accounting.js.map +1 -1
- package/dist/generate-schema.js +13 -8
- package/dist/generate-schema.js.map +1 -1
- package/dist/git-boundary.d.ts +128 -0
- package/dist/git-boundary.d.ts.map +1 -0
- package/dist/git-boundary.js +625 -0
- package/dist/git-boundary.js.map +1 -0
- package/dist/git-facts.d.ts +22 -0
- package/dist/git-facts.d.ts.map +1 -0
- package/dist/git-facts.js +29 -0
- package/dist/git-facts.js.map +1 -0
- package/dist/git-motion.d.ts +37 -0
- package/dist/git-motion.d.ts.map +1 -0
- package/dist/git-motion.js +59 -0
- package/dist/git-motion.js.map +1 -0
- package/dist/history.d.ts +44 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +77 -0
- package/dist/history.js.map +1 -0
- package/dist/index.d.ts +19 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -4
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts +16 -0
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +80 -14
- package/dist/init.js.map +1 -1
- package/dist/loop-compiler.d.ts +51 -19
- package/dist/loop-compiler.d.ts.map +1 -1
- package/dist/loop-compiler.js +423 -507
- package/dist/loop-compiler.js.map +1 -1
- package/dist/loop-store.d.ts +6 -5
- package/dist/loop-store.d.ts.map +1 -1
- package/dist/loop-store.js +153 -35
- package/dist/loop-store.js.map +1 -1
- package/dist/mcp/round-lifecycle.d.ts +285 -81
- package/dist/mcp/round-lifecycle.d.ts.map +1 -1
- package/dist/mcp/round-lifecycle.js +1629 -574
- package/dist/mcp/round-lifecycle.js.map +1 -1
- package/dist/mcp/server.d.ts +5 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +61 -19
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/session.d.ts +81 -39
- package/dist/mcp/session.d.ts.map +1 -1
- package/dist/mcp/session.js +963 -271
- package/dist/mcp/session.js.map +1 -1
- package/dist/mcp/submission-boundary.d.ts +23 -31
- package/dist/mcp/submission-boundary.d.ts.map +1 -1
- package/dist/mcp/submission-boundary.js +242 -82
- package/dist/mcp/submission-boundary.js.map +1 -1
- package/dist/mcp/submission-handle.d.ts +66 -0
- package/dist/mcp/submission-handle.d.ts.map +1 -0
- package/dist/mcp/submission-handle.js +173 -0
- package/dist/mcp/submission-handle.js.map +1 -0
- package/dist/mcp/tools.d.ts +17 -7
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +763 -244
- package/dist/mcp/tools.js.map +1 -1
- package/dist/open-question.d.ts +7 -0
- package/dist/open-question.d.ts.map +1 -0
- package/dist/open-question.js +14 -0
- package/dist/open-question.js.map +1 -0
- package/dist/policy-metrics.d.ts +31 -21
- package/dist/policy-metrics.d.ts.map +1 -1
- package/dist/policy-metrics.js +117 -64
- package/dist/policy-metrics.js.map +1 -1
- package/dist/policy.d.ts +15 -40
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +13 -13
- package/dist/policy.js.map +1 -1
- package/dist/progress.d.ts +45 -0
- package/dist/progress.d.ts.map +1 -0
- package/dist/progress.js +136 -0
- package/dist/progress.js.map +1 -0
- package/dist/prompt-assembler.d.ts +28 -9
- package/dist/prompt-assembler.d.ts.map +1 -1
- package/dist/prompt-assembler.js +592 -603
- package/dist/prompt-assembler.js.map +1 -1
- package/dist/prompt-coverage.d.ts +39 -0
- package/dist/prompt-coverage.d.ts.map +1 -0
- package/dist/prompt-coverage.js +80 -0
- package/dist/prompt-coverage.js.map +1 -0
- package/dist/prompt-freshness.d.ts +25 -0
- package/dist/prompt-freshness.d.ts.map +1 -0
- package/dist/prompt-freshness.js +88 -0
- package/dist/prompt-freshness.js.map +1 -0
- package/dist/prompt-policy.d.ts +14 -4
- package/dist/prompt-policy.d.ts.map +1 -1
- package/dist/prompt-policy.js +29 -10
- package/dist/prompt-policy.js.map +1 -1
- package/dist/protocol.d.ts +875 -419
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +73 -99
- package/dist/protocol.js.map +1 -1
- package/dist/recovery-guidance.d.ts +13 -0
- package/dist/recovery-guidance.d.ts.map +1 -0
- package/dist/recovery-guidance.js +15 -0
- package/dist/recovery-guidance.js.map +1 -0
- package/dist/recovery.d.ts +68 -0
- package/dist/recovery.d.ts.map +1 -0
- package/dist/recovery.js +234 -0
- package/dist/recovery.js.map +1 -0
- package/dist/replay.d.ts +42 -8
- package/dist/replay.d.ts.map +1 -1
- package/dist/replay.js +311 -84
- package/dist/replay.js.map +1 -1
- package/dist/result-facts.d.ts +45 -0
- package/dist/result-facts.d.ts.map +1 -0
- package/dist/result-facts.js +86 -0
- package/dist/result-facts.js.map +1 -0
- package/dist/round-contract.d.ts +38 -8
- package/dist/round-contract.d.ts.map +1 -1
- package/dist/round-contract.js +71 -31
- package/dist/round-contract.js.map +1 -1
- package/dist/round-coordinator.d.ts +45 -91
- package/dist/round-coordinator.d.ts.map +1 -1
- package/dist/round-coordinator.js +254 -271
- package/dist/round-coordinator.js.map +1 -1
- package/dist/round-driver.d.ts +56 -16
- package/dist/round-driver.d.ts.map +1 -1
- package/dist/round-driver.js +225 -39
- package/dist/round-driver.js.map +1 -1
- package/dist/round-facts.d.ts +33 -52
- package/dist/round-facts.d.ts.map +1 -1
- package/dist/round-facts.js +54 -157
- package/dist/round-facts.js.map +1 -1
- package/dist/round-guidance.d.ts +56 -0
- package/dist/round-guidance.d.ts.map +1 -0
- package/dist/round-guidance.js +161 -0
- package/dist/round-guidance.js.map +1 -0
- package/dist/round-outcome.d.ts +21 -0
- package/dist/round-outcome.d.ts.map +1 -0
- package/dist/round-outcome.js +31 -0
- package/dist/round-outcome.js.map +1 -0
- package/dist/round-transaction.d.ts +168 -21
- package/dist/round-transaction.d.ts.map +1 -1
- package/dist/round-transaction.js +856 -39
- package/dist/round-transaction.js.map +1 -1
- package/dist/self-eval.d.ts +40 -60
- package/dist/self-eval.d.ts.map +1 -1
- package/dist/self-eval.js +455 -384
- package/dist/self-eval.js.map +1 -1
- package/dist/storage.d.ts +16 -0
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +54 -4
- package/dist/storage.js.map +1 -1
- package/dist/subgoal-state.d.ts +2 -3
- package/dist/subgoal-state.d.ts.map +1 -1
- package/dist/subgoal-state.js +2 -3
- package/dist/subgoal-state.js.map +1 -1
- package/dist/submission-guidance.d.ts +43 -21
- package/dist/submission-guidance.d.ts.map +1 -1
- package/dist/submission-guidance.js +368 -262
- package/dist/submission-guidance.js.map +1 -1
- package/dist/submission-receipt.d.ts +16 -8
- package/dist/submission-receipt.d.ts.map +1 -1
- package/dist/submission-receipt.js +146 -51
- package/dist/submission-receipt.js.map +1 -1
- package/dist/token-utils.d.ts +47 -7
- package/dist/token-utils.d.ts.map +1 -1
- package/dist/token-utils.js +66 -15
- package/dist/token-utils.js.map +1 -1
- package/dist/transaction-identity.d.ts +9 -0
- package/dist/transaction-identity.d.ts.map +1 -0
- package/dist/transaction-identity.js +69 -0
- package/dist/transaction-identity.js.map +1 -0
- package/dist/verification-actions.d.ts +13 -0
- package/dist/verification-actions.d.ts.map +1 -0
- package/dist/verification-actions.js +44 -0
- package/dist/verification-actions.js.map +1 -0
- package/dist/verification-gate.d.ts +26 -46
- package/dist/verification-gate.d.ts.map +1 -1
- package/dist/verification-gate.js +218 -427
- package/dist/verification-gate.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/working-memory.d.ts +187 -0
- package/dist/working-memory.d.ts.map +1 -0
- package/dist/working-memory.js +767 -0
- package/dist/working-memory.js.map +1 -0
- package/dist/workspace-checkpoint.d.ts +88 -0
- package/dist/workspace-checkpoint.d.ts.map +1 -0
- package/dist/workspace-checkpoint.js +326 -0
- package/dist/workspace-checkpoint.js.map +1 -0
- package/dist/workspace-restore.d.ts +68 -0
- package/dist/workspace-restore.d.ts.map +1 -0
- package/dist/workspace-restore.js +604 -0
- package/dist/workspace-restore.js.map +1 -0
- package/dist/workspace.d.ts +0 -9
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +0 -17
- package/dist/workspace.js.map +1 -1
- package/loop_policy.json +5 -19
- package/package.json +2 -2
- package/skills/forge/SKILL.md +212 -0
- package/skills/forge/references/evidence-and-contracts.md +204 -0
- package/skills/forge/references/recovery-and-views.md +188 -0
- package/dist/cognitive-facts.d.ts +0 -30
- package/dist/cognitive-facts.d.ts.map +0 -1
- package/dist/cognitive-facts.js +0 -113
- package/dist/cognitive-facts.js.map +0 -1
- package/dist/loop-extras-parser.d.ts +0 -81
- package/dist/loop-extras-parser.d.ts.map +0 -1
- package/dist/loop-extras-parser.js +0 -213
- package/dist/loop-extras-parser.js.map +0 -1
- package/dist/loop-projection.d.ts +0 -6
- package/dist/loop-projection.d.ts.map +0 -1
- package/dist/loop-projection.js +0 -28
- package/dist/loop-projection.js.map +0 -1
- package/skills/perception/SKILL.md +0 -370
package/dist/mcp/session.d.ts
CHANGED
|
@@ -13,12 +13,14 @@
|
|
|
13
13
|
* SessionManager → RoundDriver → RoundCoordinator path.
|
|
14
14
|
*/
|
|
15
15
|
import type { GateActionDescriptor } from "../protocol.js";
|
|
16
|
-
import type {
|
|
16
|
+
import type { LoopTerminalSink, SubmissionGuidance, SubmissionHandle, SubmissionReceipt } from "../protocol.js";
|
|
17
17
|
import type { ActiveContractView } from "../round-contract.js";
|
|
18
|
+
import type { ReplayPage, ReplayWindowOptions } from "../replay.js";
|
|
18
19
|
import type { LoopStore } from "../loop-store.js";
|
|
20
|
+
import { FileWorkspaceCheckpointStore } from "../workspace-checkpoint.js";
|
|
19
21
|
import type { PolicyMetricsSnapshot } from "../policy-metrics.js";
|
|
20
22
|
import type { SessionStateStore } from "../storage.js";
|
|
21
|
-
import type { McpSession, McpSessionSummary, StartInput, AdvanceResult, SessionRegistry } from "./round-lifecycle.js";
|
|
23
|
+
import type { McpSession, McpSessionSummary, StartInput, AdvanceResult, InvocationInputs, ResumeInputs, SessionRegistry } from "./round-lifecycle.js";
|
|
22
24
|
export type { McpSession, McpSessionSummary, StartInput, AdvanceResult, } from "./round-lifecycle.js";
|
|
23
25
|
export declare class SessionManager implements SessionRegistry {
|
|
24
26
|
private sessions;
|
|
@@ -31,10 +33,9 @@ export declare class SessionManager implements SessionRegistry {
|
|
|
31
33
|
private readonly leaseRenewIntervalMs;
|
|
32
34
|
private leaseTimer;
|
|
33
35
|
private readonly lifecycle;
|
|
34
|
-
/** Explicit context provider; never auto-discovered. */
|
|
35
|
-
contextProvider?: ExternalContextProvider;
|
|
36
36
|
private readonly terminalSinks;
|
|
37
|
-
|
|
37
|
+
private readonly checkpointStoreFor;
|
|
38
|
+
constructor(store?: LoopStore, sessionStore?: SessionStateStore, checkpointStoreFor?: (loopId: string) => FileWorkspaceCheckpointStore | undefined);
|
|
38
39
|
/** Stable process-local owner token used for cross-process session leases. */
|
|
39
40
|
getOwnerId(): string;
|
|
40
41
|
addTerminalSink(sink: LoopTerminalSink): () => void;
|
|
@@ -44,6 +45,10 @@ export declare class SessionManager implements SessionRegistry {
|
|
|
44
45
|
/** Register (or replace) a session in the in-memory registry. */
|
|
45
46
|
upsert(session: McpSession): void;
|
|
46
47
|
private findSessionEntry;
|
|
48
|
+
/** Whether the loop already has durable round history. A lineage-only round
|
|
49
|
+
* document from a failed start is NOT history and must remain retryable;
|
|
50
|
+
* only a committed feedback envelope counts. */
|
|
51
|
+
private hasCommittedRounds;
|
|
47
52
|
private claimSessionEntry;
|
|
48
53
|
private renewSessionLease;
|
|
49
54
|
private renewOwnedLeases;
|
|
@@ -53,11 +58,23 @@ export declare class SessionManager implements SessionRegistry {
|
|
|
53
58
|
/** v3.9.1: current-fact submission guidance for the session's held round.
|
|
54
59
|
* Read-only projection; null when the session is unknown. */
|
|
55
60
|
getSubmissionGuidance(sessionId: string): SubmissionGuidance | null;
|
|
56
|
-
/**
|
|
57
|
-
*
|
|
58
|
-
|
|
59
|
-
|
|
61
|
+
/** v4.0.0: the current held handle, derived on demand. A read-only
|
|
62
|
+
* projection; never persisted. */
|
|
63
|
+
getSubmissionHandle(sessionId: string): SubmissionHandle | null;
|
|
64
|
+
/** v3.9.1: the most recent committed round's receipt for a loop, rebuilt
|
|
65
|
+
* from committed history. Rejected/terminated attempts are not history;
|
|
66
|
+
* their receipt exists only on their own response. This intentionally takes
|
|
67
|
+
* the durable loopId: it never reads live-session state. */
|
|
68
|
+
getLastSubmissionReceiptByLoopId(loopId: string): SubmissionReceipt | null;
|
|
69
|
+
/** v4.0.3: the machine-backed success trajectory is a projection of
|
|
70
|
+
* committed branch rounds, not a session counter. Unbacked claims never
|
|
71
|
+
* enter it. */
|
|
72
|
+
getMachineBackedSuccessTrajectory(loopId: string): boolean[];
|
|
60
73
|
get(sessionId: string): McpSession | undefined;
|
|
74
|
+
/** Resolve a live session by its durable loop identity. `create` rejects a
|
|
75
|
+
* second live session for the same loop, so the scan is unambiguous. A
|
|
76
|
+
* persisted-only loop has no live session: call `resume` to rebuild it. */
|
|
77
|
+
getByLoopId(loopId: string): McpSession | undefined;
|
|
61
78
|
getLeaseStatus(loopId: string): Record<string, unknown> | null;
|
|
62
79
|
delete(sessionId: string): boolean;
|
|
63
80
|
/** v1.18: Pause a running session. The session state is persisted to
|
|
@@ -75,11 +92,11 @@ export declare class SessionManager implements SessionRegistry {
|
|
|
75
92
|
* Reconstructs the session and compiles the prompt for the next round
|
|
76
93
|
* (async — compilation collects evidence through RoundDriver.prepare).
|
|
77
94
|
* Returns null if no session_state entry exists for this loopId. */
|
|
78
|
-
resume(loopId: string): Promise<AdvanceResult | null>;
|
|
95
|
+
resume(loopId: string, inputs?: ResumeInputs): Promise<AdvanceResult | null>;
|
|
79
96
|
/** v1.18: Resume a paused session. Reconstructs from vault state and
|
|
80
97
|
* compiles the next prompt. Returns null if no paused session exists
|
|
81
98
|
* for this loopId. */
|
|
82
|
-
unpause(loopId: string): Promise<AdvanceResult | null>;
|
|
99
|
+
unpause(loopId: string, inputs?: ResumeInputs): Promise<AdvanceResult | null>;
|
|
83
100
|
/** Auto-resume all "running" sessions from vault on server startup.
|
|
84
101
|
* Scans vault for session_state entries, reconstructs each as an in-memory
|
|
85
102
|
* McpSession (without compiling — the next loopforge_next will do that).
|
|
@@ -90,6 +107,8 @@ export declare class SessionManager implements SessionRegistry {
|
|
|
90
107
|
* user_required actions are recorded — agent_allowed needs no human
|
|
91
108
|
* authorization and opens no record. */
|
|
92
109
|
private recordOpenedGate;
|
|
110
|
+
private gateInvalidResult;
|
|
111
|
+
private gateLeaseConflictResult;
|
|
93
112
|
/** v3.7.1: structured gate preflight. The agent submits a
|
|
94
113
|
* GateActionDescriptor; the runtime classifies it (conservative:
|
|
95
114
|
* anything not provably safe is user_required with reason codes). A
|
|
@@ -97,7 +116,7 @@ export declare class SessionManager implements SessionRegistry {
|
|
|
97
116
|
* loop + round + actionHash; agent_allowed records nothing and returns
|
|
98
117
|
* the evidence suggestion instead. No action is executed and no round
|
|
99
118
|
* advances from this call. */
|
|
100
|
-
checkGate(
|
|
119
|
+
checkGate(handle: unknown, action: GateActionDescriptor): Promise<Record<string, unknown>>;
|
|
101
120
|
/** Record a user decision for a recorded gate. The gateId embeds the
|
|
102
121
|
* canonicalized action hash — if the action changed, the match fails and
|
|
103
122
|
* the old approval expires automatically. */
|
|
@@ -108,10 +127,14 @@ export declare class SessionManager implements SessionRegistry {
|
|
|
108
127
|
* the runtime's submission boundary reads the same context (the sub-goal
|
|
109
128
|
* reference space is exactly the compiled set the prompt carried), and two
|
|
110
129
|
* copies would let the projection and the boundary disagree about it. */
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
*
|
|
114
|
-
|
|
130
|
+
/** v4.0.4: read-only terminal summary of a persisted STOPPED loop.
|
|
131
|
+
*
|
|
132
|
+
* Returns null unless the persisted session status is exactly "stopped":
|
|
133
|
+
* a running/paused/stalled loop without a live session must still go
|
|
134
|
+
* through `loopforge_resume`, so "no live session" is never mistaken for
|
|
135
|
+
* "already stopped". It never claims a lease, saves a session or writes
|
|
136
|
+
* history; the committed view supplies every field. */
|
|
137
|
+
getStoppedLoopSummary(loopId: string): AdvanceResult | null;
|
|
115
138
|
/** v3.8: Read-only per-round "why" view over committed facts. Never
|
|
116
139
|
* rebuilds history and never writes. */
|
|
117
140
|
getExplain(loopId: string, round?: number): Record<string, unknown>;
|
|
@@ -137,31 +160,43 @@ export declare class SessionManager implements SessionRegistry {
|
|
|
137
160
|
* `strategy_stability` was a literal `true`. What remains is counted
|
|
138
161
|
* directly from committed round flags. */
|
|
139
162
|
getHealth(loopId: string): Record<string, unknown> | null;
|
|
163
|
+
/** v4.0.0: the stable result for a missing/malformed handle. */
|
|
164
|
+
private handleRequiredResult;
|
|
165
|
+
private sessionNotFoundResult;
|
|
166
|
+
private sessionStateResult;
|
|
167
|
+
/** v4.0.0: one stored-prompt re-delivery for next/recover. A held prompt is
|
|
168
|
+
* returned with the current handle and a warning; without one, the stable
|
|
169
|
+
* mismatch error carries the current handle when it exists. */
|
|
170
|
+
private handleMismatchResult;
|
|
171
|
+
/** v4.0.0: the checkpoint variant: never re-deliver a prompt, never create a
|
|
172
|
+
* checkpoint. The current handle rides the error for re-anchoring. */
|
|
173
|
+
private checkpointMismatchResult;
|
|
174
|
+
/** v3.9.7: a pending rollback directive whose restore is not yet verified.
|
|
175
|
+
* Read-only; used before the queue/lease so a stale handle cannot mask the
|
|
176
|
+
* "call resume" recovery UX. */
|
|
177
|
+
private restorePendingResult;
|
|
140
178
|
/** Core cycle: extract self-eval → record feedback → check stop → compile next.
|
|
141
|
-
* The lease + per-session queue wrap the RoundLifecycle state machine.
|
|
142
|
-
* @param preExtractedEval Structured SelfEvaluation supplied by the caller.
|
|
143
|
-
* An absent value is returned as evaluation_invalid without mutating state.
|
|
144
|
-
* @param roundId v3.0.1: The roundId of the round this submission reports on
|
|
145
|
-
* (from the last start/next/resume response). Anchors the submission so a
|
|
146
|
-
* stale or duplicate submission is not processed against a later round.
|
|
147
|
-
* Optional for library callers — when absent the anchor check is skipped. */
|
|
148
|
-
/** \`submission\` is the RAW evaluation payload, not a built one.
|
|
149
|
-
*
|
|
150
|
-
* v3.8.1: this method used to carry a partial copy of the submission
|
|
151
|
-
* boundary (an object check plus core-field validation) while the MCP tool
|
|
152
|
-
* handler carried the rest — one rule, three copies, across two layers.
|
|
153
|
-
* The boundary now lives entirely in the runtime
|
|
154
|
-
* (`RoundLifecycle.submissionBoundary`), so every caller — this manager, a
|
|
155
|
-
* library user, a future CLI command — gets the same strictness. */
|
|
156
|
-
/** \`submission\` is the RAW evaluation payload, not a built one.
|
|
157
179
|
*
|
|
158
|
-
*
|
|
159
|
-
*
|
|
160
|
-
*
|
|
161
|
-
*
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
180
|
+
* v4.0.0: the caller supplies the ONE `submissionHandle`; identity is
|
|
181
|
+
* checked before the payload boundary and before the queue/lease heartbeat.
|
|
182
|
+
* `submission` is the RAW evaluation payload. The whole payload boundary
|
|
183
|
+
* still runs here, so every public caller gets the same strictness. */
|
|
184
|
+
advance(handle: unknown, output: string, submission?: unknown, inputs?: InvocationInputs): Promise<AdvanceResult>;
|
|
185
|
+
/** v4.0.5: recompile the held prompt for a new host-provided instruction.
|
|
186
|
+
* This does NOT submit an evaluation or advance the round: the exact held
|
|
187
|
+
* handle is required, and the same round/attempt/context boundary is
|
|
188
|
+
* preserved. The handle is re-checked inside the queue before the lease is
|
|
189
|
+
* renewed, so a stale handle has zero side effects. */
|
|
190
|
+
recompileHeld(handle: unknown, instruction: string): Promise<AdvanceResult>;
|
|
191
|
+
/** v3.9.7: submit an Agent-initiated recovery. v4.0.0: the handle is the
|
|
192
|
+
* only anchor; shape and target visibility are checked before the
|
|
193
|
+
* queue/lease, and the exact handle is re-checked before lease renewal. */
|
|
194
|
+
recover(handle: unknown, recovery: unknown, inputs?: InvocationInputs): Promise<AdvanceResult>;
|
|
195
|
+
private recoveryDisabledResult;
|
|
196
|
+
/** v3.9.7: Agent-created mid-round savepoint. v4.0.0: handle identity is
|
|
197
|
+
* checked before the queue and again before lease renewal; capture/save
|
|
198
|
+
* happen only after both. A checkpoint never changes the handle. */
|
|
199
|
+
checkpoint(handle: unknown): Promise<Record<string, unknown>>;
|
|
165
200
|
/** Replay timeline for a session — creates ReplayBackend from the stored backend. */
|
|
166
201
|
replayTimeline(sessionId: string): Record<string, unknown>[] | null;
|
|
167
202
|
/** v3.3.1: Replay a loop straight from the vault — no in-memory session
|
|
@@ -171,6 +206,13 @@ export declare class SessionManager implements SessionRegistry {
|
|
|
171
206
|
* made every vault loop unreplayable after restart.
|
|
172
207
|
* Returns null when the loop has no committed rounds. */
|
|
173
208
|
replayByLoop(loopId: string): Record<string, unknown>[] | null;
|
|
209
|
+
/** v4.0.2: a bounded replay page with its window metadata. `null` only when
|
|
210
|
+
* the session does not exist; an empty loop returns an empty page. */
|
|
211
|
+
replayPage(sessionId: string, opts?: ReplayWindowOptions): ReplayPage | null;
|
|
212
|
+
replayPageByLoop(loopId: string, opts?: ReplayWindowOptions): ReplayPage;
|
|
213
|
+
/** v3.9.6: committed rollback directives for the replay view. They are
|
|
214
|
+
* events, not normal rounds; the timeline stays a normal-round projection. */
|
|
215
|
+
replayRollbacks(loopId: string): Record<string, unknown>[];
|
|
174
216
|
/** v3.9.1: unsupported envelope versions for a loop, reported explicitly
|
|
175
217
|
* rather than silently dropped from replay/audit. */
|
|
176
218
|
replayLegacyRounds(loopId: string): Array<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/mcp/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAWH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/mcp/session.ts"],"names":[],"mappings":"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"}
|