loopforge 2.11.0 → 3.2.1
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 +4 -4
- package/dist/audit.d.ts +50 -0
- package/dist/audit.d.ts.map +1 -0
- package/dist/audit.js +158 -0
- package/dist/audit.js.map +1 -0
- package/dist/canonical-state.d.ts +21 -9
- package/dist/canonical-state.d.ts.map +1 -1
- package/dist/canonical-state.js +34 -16
- package/dist/canonical-state.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +16 -6
- package/dist/cli.js.map +1 -1
- package/dist/cognitive-governance.d.ts +40 -0
- package/dist/cognitive-governance.d.ts.map +1 -0
- package/dist/cognitive-governance.js +126 -0
- package/dist/cognitive-governance.js.map +1 -0
- package/dist/enforcement-gate.d.ts +8 -3
- package/dist/enforcement-gate.d.ts.map +1 -1
- package/dist/enforcement-gate.js +419 -92
- package/dist/enforcement-gate.js.map +1 -1
- package/dist/engine.d.ts +47 -7
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +303 -60
- package/dist/engine.js.map +1 -1
- package/dist/evidence-claims.d.ts +50 -0
- package/dist/evidence-claims.d.ts.map +1 -0
- package/dist/evidence-claims.js +134 -0
- package/dist/evidence-claims.js.map +1 -0
- package/dist/generate-schema.js +6 -1
- package/dist/generate-schema.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/loop-compiler.d.ts +41 -3
- package/dist/loop-compiler.d.ts.map +1 -1
- package/dist/loop-compiler.js +310 -38
- package/dist/loop-compiler.js.map +1 -1
- package/dist/loop-projection.d.ts +26 -0
- package/dist/loop-projection.d.ts.map +1 -0
- package/dist/loop-projection.js +142 -0
- package/dist/loop-projection.js.map +1 -0
- package/dist/loop-store.d.ts +91 -41
- package/dist/loop-store.d.ts.map +1 -1
- package/dist/loop-store.js +243 -173
- package/dist/loop-store.js.map +1 -1
- package/dist/mcp/round-lifecycle.d.ts +216 -0
- package/dist/mcp/round-lifecycle.d.ts.map +1 -0
- package/dist/mcp/round-lifecycle.js +926 -0
- package/dist/mcp/round-lifecycle.js.map +1 -0
- package/dist/mcp/server.d.ts +3 -2
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +65 -9
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/session.d.ts +47 -139
- package/dist/mcp/session.d.ts.map +1 -1
- package/dist/mcp/session.js +284 -784
- package/dist/mcp/session.js.map +1 -1
- package/dist/mcp/tools.d.ts +23 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +270 -79
- package/dist/mcp/tools.js.map +1 -1
- package/dist/policy-metrics.d.ts +11 -0
- package/dist/policy-metrics.d.ts.map +1 -1
- package/dist/policy-metrics.js +118 -21
- package/dist/policy-metrics.js.map +1 -1
- package/dist/policy.d.ts +26 -1
- package/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +13 -2
- package/dist/policy.js.map +1 -1
- package/dist/prompt-assembler.d.ts +34 -1
- package/dist/prompt-assembler.d.ts.map +1 -1
- package/dist/prompt-assembler.js +320 -42
- package/dist/prompt-assembler.js.map +1 -1
- package/dist/protocol.d.ts +169 -1
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +39 -0
- package/dist/protocol.js.map +1 -1
- package/dist/replay.d.ts +5 -5
- package/dist/replay.d.ts.map +1 -1
- package/dist/replay.js +9 -8
- package/dist/replay.js.map +1 -1
- package/dist/round-coordinator.d.ts +6 -3
- package/dist/round-coordinator.d.ts.map +1 -1
- package/dist/round-coordinator.js +38 -19
- package/dist/round-coordinator.js.map +1 -1
- package/dist/round-driver.d.ts +9 -4
- package/dist/round-driver.d.ts.map +1 -1
- package/dist/round-driver.js +15 -7
- package/dist/round-driver.js.map +1 -1
- package/dist/round-transaction.d.ts +7 -3
- package/dist/round-transaction.d.ts.map +1 -1
- package/dist/round-transaction.js +93 -88
- package/dist/round-transaction.js.map +1 -1
- package/dist/self-eval.d.ts +31 -1
- package/dist/self-eval.d.ts.map +1 -1
- package/dist/self-eval.js +115 -12
- package/dist/self-eval.js.map +1 -1
- package/dist/storage.d.ts +3 -4
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +5 -4
- package/dist/storage.js.map +1 -1
- package/dist/token-utils.d.ts +20 -7
- package/dist/token-utils.d.ts.map +1 -1
- package/dist/token-utils.js +68 -9
- package/dist/token-utils.js.map +1 -1
- package/dist/verification-gate.d.ts +54 -2
- package/dist/verification-gate.d.ts.map +1 -1
- package/dist/verification-gate.js +433 -25
- package/dist/verification-gate.js.map +1 -1
- package/loop_policy.json +35 -8
- package/package.json +3 -2
- package/skills/perception/SKILL.md +24 -6
- package/dist/backends/interface.d.ts +0 -39
- package/dist/backends/interface.d.ts.map +0 -1
- package/dist/backends/interface.js +0 -6
- package/dist/backends/interface.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"round-lifecycle.js","sourceRoot":"","sources":["../../src/mcp/round-lifecycle.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/server.d.ts
CHANGED
|
@@ -3,14 +3,15 @@
|
|
|
3
3
|
* LoopForge intentionally does not implement MCP Tasks: the external Agent
|
|
4
4
|
* owns long-running execution while LoopForge persists round state.
|
|
5
5
|
*/
|
|
6
|
-
import type { VaultBackend } from "../backends/interface.js";
|
|
7
6
|
import type { LoopStore } from "../loop-store.js";
|
|
7
|
+
export declare const SERVER_INSTRUCTIONS: string;
|
|
8
8
|
export declare class McpServer {
|
|
9
9
|
private readonly mgr;
|
|
10
10
|
private requestQueue;
|
|
11
|
-
constructor(
|
|
11
|
+
constructor(store?: LoopStore);
|
|
12
12
|
start(): void;
|
|
13
13
|
private handleLine;
|
|
14
|
+
private trace;
|
|
14
15
|
private dispatch;
|
|
15
16
|
private executeTool;
|
|
16
17
|
}
|
package/dist/mcp/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAkBlD,eAAO,MAAM,mBAAmB,QAStB,CAAC;AAyDX,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAiB;IACrC,OAAO,CAAC,YAAY,CAAoC;gBAE5C,KAAK,CAAC,EAAE,SAAS;IAI7B,KAAK,IAAI,IAAI;YAiBC,UAAU;IA4BxB,OAAO,CAAC,KAAK;YAUC,QAAQ;YAyCR,WAAW;CA0E1B"}
|
package/dist/mcp/server.js
CHANGED
|
@@ -4,10 +4,27 @@
|
|
|
4
4
|
* owns long-running execution while LoopForge persists round state.
|
|
5
5
|
*/
|
|
6
6
|
import { createInterface } from "node:readline";
|
|
7
|
+
import { appendFileSync } from "node:fs";
|
|
7
8
|
import { SessionManager } from "./session.js";
|
|
8
|
-
import { TOOL_HANDLERS, TOOL_SCHEMAS, ToolInputValidationError, validateToolInput, } from "./tools.js";
|
|
9
|
+
import { TOOL_HANDLERS, TOOL_SCHEMAS, ToolInputValidationError, validateToolInput, validateToolOutput, } from "./tools.js";
|
|
9
10
|
import { isRecord } from "../token-utils.js";
|
|
10
|
-
const SERVER_INFO = { name: "loopforge-mcp", version: "2.
|
|
11
|
+
const SERVER_INFO = { name: "loopforge-mcp", version: "3.2.1" };
|
|
12
|
+
const SUPPORTED_PROTOCOL_VERSIONS = new Set([
|
|
13
|
+
"2024-11-05",
|
|
14
|
+
"2025-03-26",
|
|
15
|
+
"2025-06-18",
|
|
16
|
+
]);
|
|
17
|
+
const LATEST_PROTOCOL_VERSION = "2025-06-18";
|
|
18
|
+
export const SERVER_INSTRUCTIONS = [
|
|
19
|
+
"Use LoopForge directly for long-running work. Start by calling loopforge_status ",
|
|
20
|
+
"with view=all to list loops, then loopforge_status for a matching session or ",
|
|
21
|
+
"loopforge_start for a new one. ",
|
|
22
|
+
"Before each agent-process boundary, call loopforge_next with the roundId from ",
|
|
23
|
+
"the most recent response, honest evidence, remaining criteria, and a concrete ",
|
|
24
|
+
"next action. Follow reject or backtrack prompts and retry loopforge_next. ",
|
|
25
|
+
"Keep one LoopForge session across outer agent rounds. ",
|
|
26
|
+
"Do not replace these MCP calls with shell or CLI wrappers.",
|
|
27
|
+
].join("");
|
|
11
28
|
class JsonRpcError extends Error {
|
|
12
29
|
code;
|
|
13
30
|
constructor(code, message) {
|
|
@@ -35,8 +52,8 @@ function okResponse(id, result) {
|
|
|
35
52
|
export class McpServer {
|
|
36
53
|
mgr;
|
|
37
54
|
requestQueue = Promise.resolve();
|
|
38
|
-
constructor(
|
|
39
|
-
this.mgr = new SessionManager(
|
|
55
|
+
constructor(store) {
|
|
56
|
+
this.mgr = new SessionManager(store);
|
|
40
57
|
}
|
|
41
58
|
start() {
|
|
42
59
|
const resumed = this.mgr.autoResumeAll();
|
|
@@ -55,6 +72,7 @@ export class McpServer {
|
|
|
55
72
|
process.stderr.write(`[loopforge-mcp] v${SERVER_INFO.version} started\n`);
|
|
56
73
|
}
|
|
57
74
|
async handleLine(line) {
|
|
75
|
+
this.trace("request", line);
|
|
58
76
|
let parsed;
|
|
59
77
|
try {
|
|
60
78
|
parsed = JSON.parse(line);
|
|
@@ -71,21 +89,44 @@ export class McpServer {
|
|
|
71
89
|
return;
|
|
72
90
|
try {
|
|
73
91
|
const result = await this.dispatch(parsed);
|
|
74
|
-
|
|
92
|
+
const response = okResponse(parsed.id, result);
|
|
93
|
+
this.trace("response", response);
|
|
94
|
+
process.stdout.write(response + "\n");
|
|
75
95
|
}
|
|
76
96
|
catch (error) {
|
|
77
97
|
const message = error instanceof Error ? error.message : String(error);
|
|
78
98
|
const code = error instanceof JsonRpcError ? error.code : -32603;
|
|
79
|
-
|
|
99
|
+
const response = errorResponse(parsed.id, code, message);
|
|
100
|
+
this.trace("response", response);
|
|
101
|
+
process.stdout.write(response + "\n");
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
trace(direction, payload) {
|
|
105
|
+
const path = process.env.LOOPFORGE_MCP_TRACE;
|
|
106
|
+
if (!path || !payload)
|
|
107
|
+
return;
|
|
108
|
+
try {
|
|
109
|
+
appendFileSync(path, `${JSON.stringify({ direction, payload })}\n`, "utf8");
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
// Diagnostics must never change MCP behavior.
|
|
80
113
|
}
|
|
81
114
|
}
|
|
82
115
|
async dispatch(req) {
|
|
83
116
|
if (req.method === "initialize") {
|
|
84
|
-
const
|
|
117
|
+
const requestedVersion = typeof req.params?.protocolVersion === "string"
|
|
118
|
+
? req.params.protocolVersion
|
|
119
|
+
: "";
|
|
120
|
+
const protocolVersion = SUPPORTED_PROTOCOL_VERSIONS.has(requestedVersion)
|
|
121
|
+
? requestedVersion
|
|
122
|
+
: LATEST_PROTOCOL_VERSION;
|
|
85
123
|
return {
|
|
86
|
-
|
|
124
|
+
// Negotiate the client's synchronous MCP revision. LoopForge does not
|
|
125
|
+
// advertise Tasks, so newer task-capable revisions remain unsupported.
|
|
126
|
+
protocolVersion,
|
|
87
127
|
capabilities: { tools: {} },
|
|
88
128
|
serverInfo: SERVER_INFO,
|
|
129
|
+
instructions: SERVER_INSTRUCTIONS,
|
|
89
130
|
};
|
|
90
131
|
}
|
|
91
132
|
if (req.method === "tools/list")
|
|
@@ -119,6 +160,18 @@ export class McpServer {
|
|
|
119
160
|
throw error;
|
|
120
161
|
}
|
|
121
162
|
const output = await handler(this.mgr, args);
|
|
163
|
+
// v2.14: enforce the declared output contracts — a handler output that
|
|
164
|
+
// violates its outputSchema is a contract bug, surfaced as a clean
|
|
165
|
+
// JSON-RPC error instead of silently shipping a schema-violating result.
|
|
166
|
+
try {
|
|
167
|
+
validateToolOutput(name, output);
|
|
168
|
+
}
|
|
169
|
+
catch (error) {
|
|
170
|
+
if (error instanceof ToolInputValidationError) {
|
|
171
|
+
throw new JsonRpcError(-32603, `Tool "${name}" returned schema-violating output: ${error.message}`);
|
|
172
|
+
}
|
|
173
|
+
throw error;
|
|
174
|
+
}
|
|
122
175
|
const isError = typeof output.error === "string";
|
|
123
176
|
// Extract the compiled prompt (present in start/next/resume responses).
|
|
124
177
|
// MCP content annotations signal priority to the host so it can
|
|
@@ -159,7 +212,10 @@ export class McpServer {
|
|
|
159
212
|
annotations: { priority: 0.5, audience: ["assistant"] },
|
|
160
213
|
});
|
|
161
214
|
}
|
|
162
|
-
|
|
215
|
+
// Protocol 2024-11-05 defines CallToolResult as content plus optional
|
|
216
|
+
// isError. Newer structuredContent fields make strict older clients reject
|
|
217
|
+
// otherwise valid success responses as an unknown result variant.
|
|
218
|
+
return isError ? { content, isError: true } : { content };
|
|
163
219
|
}
|
|
164
220
|
}
|
|
165
221
|
//# sourceMappingURL=server.js.map
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/session.d.ts
CHANGED
|
@@ -3,104 +3,44 @@
|
|
|
3
3
|
* Each McpSession = one complete multi-round loop.
|
|
4
4
|
* SessionManager holds Map<sessionId, McpSession> and drives
|
|
5
5
|
* the advance() cycle: extract → feedback → check stop → compile next.
|
|
6
|
+
*
|
|
7
|
+
* Since v2.14 the round state machine lives in RoundLifecycle
|
|
8
|
+
* (round-lifecycle.ts). SessionManager owns "who may touch a session":
|
|
9
|
+
* the in-memory registry, per-session serialization queue, and cross-process
|
|
10
|
+
* lease fencing. RoundLifecycle owns "what happens to a session": crash
|
|
11
|
+
* recovery, transaction execution, disposition result building, and the
|
|
12
|
+
* advance pipeline. All round processing still goes through the
|
|
13
|
+
* SessionManager → RoundDriver → RoundCoordinator path.
|
|
6
14
|
*/
|
|
7
|
-
import {
|
|
8
|
-
import type { VaultBackend } from "../backends/interface.js";
|
|
15
|
+
import type { ExternalContextProvider, LoopTerminalSink, SelfEvaluation } from "../protocol.js";
|
|
9
16
|
import type { LoopStore } from "../loop-store.js";
|
|
10
|
-
import type {
|
|
11
|
-
import type { ProviderSnapshot } from "../evidence-provider.js";
|
|
12
|
-
import type { RoundTransactionSnapshot } from "../round-transaction.js";
|
|
17
|
+
import type { PolicyMetricsSnapshot } from "../policy-metrics.js";
|
|
13
18
|
import type { SessionStateStore } from "../storage.js";
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
task: string;
|
|
18
|
-
engine: LoopForgeEngine;
|
|
19
|
-
currentRound: number;
|
|
20
|
-
maxRounds: number;
|
|
21
|
-
successTrajectory: boolean[];
|
|
22
|
-
status: "running" | "stopped" | "stalled" | "paused";
|
|
23
|
-
createdAt: number;
|
|
24
|
-
/** Previous round's validated SelfEvaluation — used by verification gate. */
|
|
25
|
-
lastSelfEval?: SelfEvaluation;
|
|
26
|
-
consecutiveRejections: number;
|
|
27
|
-
/** Which enforcement check triggered the last rejection.
|
|
28
|
-
* Only same-check rejections accumulate toward the max. */
|
|
29
|
-
lastRejectionCheck: string;
|
|
30
|
-
/** v2.12: Consecutive rounds where the agent used drift_clarification
|
|
31
|
-
* to waive R7 rejection. Reset to 0 when a round has no intent_drift.
|
|
32
|
-
* Terminates the loop when exceeding policy.drift_clarification_max_streak. */
|
|
33
|
-
driftClarificationStreak: number;
|
|
34
|
-
/** v2.13: Files changed in skipped rounds during the last backtrack.
|
|
35
|
-
* The next round's verification gate checks that the agent did not
|
|
36
|
-
* continue working on stale files without restoring the workspace.
|
|
37
|
-
* Cleared after the first successful post-backtrack round. */
|
|
38
|
-
backtrackSkippedFiles: string[];
|
|
39
|
-
/** Evidence baseline captured immediately before the agent receives a prompt. */
|
|
40
|
-
evidenceBaseline?: ProviderSnapshot[];
|
|
41
|
-
/** Schema-versioned transaction for the prompt currently held by the agent. */
|
|
42
|
-
roundSnapshot?: RoundTransactionSnapshot;
|
|
43
|
-
/** Persisted prompt prevents resume from compiling the same round twice. */
|
|
44
|
-
currentPrompt?: string | null;
|
|
45
|
-
currentLevel?: string;
|
|
46
|
-
/** Structured warnings from the most recent compile — preferred over regex parsing. */
|
|
47
|
-
currentWarnings?: string[];
|
|
48
|
-
}
|
|
49
|
-
export interface McpSessionSummary {
|
|
50
|
-
sessionId: string;
|
|
51
|
-
loopId: string;
|
|
52
|
-
round: number;
|
|
53
|
-
status: "running" | "stopped" | "stalled" | "paused";
|
|
54
|
-
}
|
|
55
|
-
export interface StartInput {
|
|
56
|
-
task: string;
|
|
57
|
-
loopId?: string;
|
|
58
|
-
maxRounds?: number;
|
|
59
|
-
domain?: string;
|
|
60
|
-
planSource?: string;
|
|
61
|
-
constraints?: string[];
|
|
62
|
-
}
|
|
63
|
-
export interface AdvanceResult {
|
|
64
|
-
sessionId: string;
|
|
65
|
-
round: number;
|
|
66
|
-
/** Stable logical identity; unchanged when enforcement retries the round. */
|
|
67
|
-
roundId?: string;
|
|
68
|
-
prompt: string | null;
|
|
69
|
-
stopReason?: string;
|
|
70
|
-
/** v2.0.1: Human-readable context for why the loop stopped.
|
|
71
|
-
* Provides facts the agent can use to decide its next action,
|
|
72
|
-
* without LoopForge prescribing a specific behavior. */
|
|
73
|
-
stopDetail?: string;
|
|
74
|
-
level?: string;
|
|
75
|
-
roundSuccess?: boolean;
|
|
76
|
-
warnings?: string[];
|
|
77
|
-
/** v1.13: Enforcement action for this round. accept/reject/terminate.
|
|
78
|
-
* When "reject", the prompt contains a rejection notice and the agent
|
|
79
|
-
* must redo the same round. Round counter does NOT increment. */
|
|
80
|
-
enforcementAction?: "accept" | "reject" | "terminate" | "backtrack";
|
|
81
|
-
/** v1.13: When enforcementAction is "reject" or "terminate", the reason
|
|
82
|
-
* why the round was rejected or the loop was terminated. */
|
|
83
|
-
enforcementReason?: string;
|
|
84
|
-
}
|
|
85
|
-
export declare class SessionManager {
|
|
19
|
+
import type { McpSession, McpSessionSummary, StartInput, AdvanceResult, SessionRegistry } from "./round-lifecycle.js";
|
|
20
|
+
export type { McpSession, McpSessionSummary, StartInput, AdvanceResult, } from "./round-lifecycle.js";
|
|
21
|
+
export declare class SessionManager implements SessionRegistry {
|
|
86
22
|
private sessions;
|
|
87
23
|
/** Serializes state transitions for each session. */
|
|
88
24
|
private sessionQueues;
|
|
89
|
-
private
|
|
25
|
+
private readonly loopStore;
|
|
90
26
|
private sessionStore;
|
|
91
27
|
private readonly ownerId;
|
|
92
28
|
private readonly leaseMs;
|
|
93
29
|
private readonly leaseRenewIntervalMs;
|
|
94
30
|
private leaseTimer;
|
|
31
|
+
private readonly lifecycle;
|
|
95
32
|
/** Explicit context provider; never auto-discovered. */
|
|
96
33
|
contextProvider?: ExternalContextProvider;
|
|
97
34
|
private readonly terminalSinks;
|
|
98
|
-
constructor(
|
|
35
|
+
constructor(store?: LoopStore, sessionStore?: SessionStateStore);
|
|
99
36
|
/** Stable process-local owner token used for cross-process session leases. */
|
|
100
37
|
getOwnerId(): string;
|
|
101
38
|
addTerminalSink(sink: LoopTerminalSink): () => void;
|
|
102
39
|
/** Release owned sessions and stop lease maintenance. */
|
|
103
40
|
close(): void;
|
|
41
|
+
values(): Iterable<McpSession>;
|
|
42
|
+
/** Register (or replace) a session in the in-memory registry. */
|
|
43
|
+
upsert(session: McpSession): void;
|
|
104
44
|
private findSessionEntry;
|
|
105
45
|
private claimSessionEntry;
|
|
106
46
|
private renewSessionLease;
|
|
@@ -119,83 +59,51 @@ export declare class SessionManager {
|
|
|
119
59
|
round: number;
|
|
120
60
|
status: string;
|
|
121
61
|
};
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
* still points at the old prompt. Returns null when no commit is pending. */
|
|
125
|
-
private reconcileCommittedRound;
|
|
126
|
-
/** v1.18: Resume a paused session. Reconstructs from vault state and
|
|
127
|
-
* compiles the next prompt. Returns null if no paused session exists
|
|
128
|
-
* for this loopId. */
|
|
129
|
-
unpause(loopId: string): Promise<AdvanceResult | null>;
|
|
130
|
-
/** Persist session state to vault for cross-process recovery.
|
|
131
|
-
* The filtered vault and replacement entry are written once under the
|
|
132
|
-
* backend lock, so recovery never observes the old two-write gap. */
|
|
62
|
+
/** Persist session state to vault for cross-process recovery. Delegates to
|
|
63
|
+
* the round lifecycle, which owns the durable session document shape. */
|
|
133
64
|
save(session: McpSession): void;
|
|
134
|
-
/** Reconstruct a McpSession from a vault session_state entry.
|
|
135
|
-
* Returns null if the entry is not "running" status.
|
|
136
|
-
* Shared by resume() and autoResumeAll(). */
|
|
137
|
-
private reconstructSession;
|
|
138
65
|
/** Resume a loop from vault state.
|
|
139
66
|
* Reconstructs the session and compiles the prompt for the next round.
|
|
140
67
|
* Returns null if no session_state entry exists for this loopId. */
|
|
141
68
|
resume(loopId: string): AdvanceResult | null;
|
|
69
|
+
/** v1.18: Resume a paused session. Reconstructs from vault state and
|
|
70
|
+
* compiles the next prompt. Returns null if no paused session exists
|
|
71
|
+
* for this loopId. */
|
|
72
|
+
unpause(loopId: string): Promise<AdvanceResult | null>;
|
|
142
73
|
/** Auto-resume all "running" sessions from vault on server startup.
|
|
143
74
|
* Scans vault for session_state entries, reconstructs each as an in-memory
|
|
144
75
|
* McpSession (without compiling — the next loopforge_next will do that).
|
|
145
76
|
* Returns the number of sessions resumed. */
|
|
146
77
|
autoResumeAll(): number;
|
|
147
78
|
list(): McpSessionSummary[];
|
|
79
|
+
/** Classify a flat gate text. Read-only — no vault writes. */
|
|
80
|
+
checkGate(gateText: string): Record<string, unknown>;
|
|
81
|
+
/** Record a user decision for a recorded gate. The gateId embeds the
|
|
82
|
+
* canonicalized action hash — if the action changed, the match fails and
|
|
83
|
+
* the old approval expires automatically. */
|
|
84
|
+
resolveGate(sessionId: string, gateId: string, approved: boolean, note?: string): Record<string, unknown>;
|
|
85
|
+
/** Typed cognitive state projection for an active session. Derived on
|
|
86
|
+
* demand — zero persistence. Null when nothing meaningful exists yet. */
|
|
87
|
+
getProjection(sessionId: string): Record<string, unknown> | null;
|
|
88
|
+
/** Read-only end-of-loop audit (verification view). Never writes. */
|
|
89
|
+
getAudit(loopId: string): Record<string, unknown> | null;
|
|
90
|
+
/** v2.12: Policy metrics that survive restarts — vault-derived round
|
|
91
|
+
* statistics (A4 port) folded with this process's live observations.
|
|
92
|
+
* Non-durable fields (evidence, vault errors) come from live only. */
|
|
93
|
+
getPolicyMetrics(loopId: string): PolicyMetricsSnapshot;
|
|
148
94
|
/** Get loop health for a loop (in-memory or vault).
|
|
149
95
|
* Computes goal alignment, constraint integrity, drift, strategy stability. */
|
|
150
96
|
getHealth(loopId: string): Record<string, unknown> | null;
|
|
151
97
|
/** Core cycle: extract self-eval → record feedback → check stop → compile next.
|
|
98
|
+
* The lease + per-session queue wrap the RoundLifecycle state machine.
|
|
152
99
|
* @param preExtractedEval Optional pre-built SelfEvaluation from MCP tool parameter.
|
|
153
100
|
* When provided (MCP path with evaluation parameter), skips regex extraction.
|
|
154
|
-
* When undefined (runtime/CLI path), falls back to regex extraction from output.
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
*
|
|
158
|
-
*
|
|
159
|
-
|
|
160
|
-
/** Execute the round transaction and apply per-rule rejection tracking.
|
|
161
|
-
* MUTATES: session.roundSnapshot, session.consecutiveRejections,
|
|
162
|
-
* session.lastRejectionCheck, session.lastSelfEval,
|
|
163
|
-
* session.successTrajectory, session.driftClarificationStreak */
|
|
164
|
-
private executeRoundTransaction;
|
|
165
|
-
/** v2.12: Update the clarification streak based on the round result.
|
|
166
|
-
* - Substantive clarification (anchors present): keep streak — genuine pivot.
|
|
167
|
-
* - No intent_drift this round: reset streak to 0.
|
|
168
|
-
* - Weak clarification rejected by R7: streak was already consumed by
|
|
169
|
-
* enforceIntentDrift to decide reject vs terminate; staleness is handled
|
|
170
|
-
* on the enforcement side. We sync the persisted counter for crash recovery.
|
|
171
|
-
* MUTATES: session.driftClarificationStreak */
|
|
172
|
-
private updateClarificationStreak;
|
|
173
|
-
/** Build a rejection result: compile a retry prompt, persist, return.
|
|
174
|
-
* MUTATES: session.roundSnapshot, session.currentPrompt, session.currentLevel */
|
|
175
|
-
private buildRejectionResult;
|
|
176
|
-
/** v2.10: Build a backtrack result — roll back to last clean round.
|
|
177
|
-
* Resets the round counter to the restore target + 1, merges preserved
|
|
178
|
-
* discoveries, compiles from the restored state, and injects the
|
|
179
|
-
* backtrack prompt at the top.
|
|
180
|
-
* MUTATES: session.currentRound, session.roundSnapshot,
|
|
181
|
-
* session.currentPrompt, session.currentLevel,
|
|
182
|
-
* session.consecutiveRejections, session.lastSelfEval */
|
|
183
|
-
private buildBacktrackResult;
|
|
184
|
-
/** Build a termination result: persist stopped status, notify sinks.
|
|
185
|
-
* MUTATES: session.status, session.currentPrompt */
|
|
186
|
-
private buildTerminationResult;
|
|
187
|
-
/** Build a stop result: persist stopped/stalled status, notify sinks.
|
|
188
|
-
* MUTATES: session.status, session.currentPrompt */
|
|
189
|
-
private buildStopResult;
|
|
190
|
-
/** Compile the next round's prompt and advance the session.
|
|
191
|
-
* Includes the commit fence (pause/delete race guard) and context provider.
|
|
192
|
-
* MUTATES: session.currentRound, session.currentPrompt, session.currentLevel,
|
|
193
|
-
* session.evidenceBaseline, session.roundSnapshot */
|
|
194
|
-
private advanceToNextRound;
|
|
195
|
-
private advanceUnlocked;
|
|
196
|
-
/** Write back loop knowledge to long-term memory.
|
|
197
|
-
* Uses shared base builder from policy.ts. Called when a loop terminates. */
|
|
198
|
-
private notifyTerminal;
|
|
101
|
+
* When undefined (runtime/CLI path), falls back to regex extraction from output.
|
|
102
|
+
* @param roundId v3.0.1: The roundId of the round this submission reports on
|
|
103
|
+
* (from the last start/next/resume response). Anchors the submission so a
|
|
104
|
+
* stale or duplicate submission is not processed against a later round.
|
|
105
|
+
* Optional for library callers — when absent the anchor check is skipped. */
|
|
106
|
+
advance(sessionId: string, output: string, preExtractedEval?: SelfEvaluation, roundId?: string): Promise<AdvanceResult>;
|
|
199
107
|
/** Replay timeline for a session — creates ReplayBackend from the stored backend. */
|
|
200
108
|
replayTimeline(sessionId: string): Record<string, unknown>[] | null;
|
|
201
109
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/mcp/session.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/mcp/session.ts"],"names":[],"mappings":"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"}
|