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.
Files changed (117) hide show
  1. package/README.md +4 -4
  2. package/dist/audit.d.ts +50 -0
  3. package/dist/audit.d.ts.map +1 -0
  4. package/dist/audit.js +158 -0
  5. package/dist/audit.js.map +1 -0
  6. package/dist/canonical-state.d.ts +21 -9
  7. package/dist/canonical-state.d.ts.map +1 -1
  8. package/dist/canonical-state.js +34 -16
  9. package/dist/canonical-state.js.map +1 -1
  10. package/dist/cli.d.ts.map +1 -1
  11. package/dist/cli.js +16 -6
  12. package/dist/cli.js.map +1 -1
  13. package/dist/cognitive-governance.d.ts +40 -0
  14. package/dist/cognitive-governance.d.ts.map +1 -0
  15. package/dist/cognitive-governance.js +126 -0
  16. package/dist/cognitive-governance.js.map +1 -0
  17. package/dist/enforcement-gate.d.ts +8 -3
  18. package/dist/enforcement-gate.d.ts.map +1 -1
  19. package/dist/enforcement-gate.js +419 -92
  20. package/dist/enforcement-gate.js.map +1 -1
  21. package/dist/engine.d.ts +47 -7
  22. package/dist/engine.d.ts.map +1 -1
  23. package/dist/engine.js +303 -60
  24. package/dist/engine.js.map +1 -1
  25. package/dist/evidence-claims.d.ts +50 -0
  26. package/dist/evidence-claims.d.ts.map +1 -0
  27. package/dist/evidence-claims.js +134 -0
  28. package/dist/evidence-claims.js.map +1 -0
  29. package/dist/generate-schema.js +6 -1
  30. package/dist/generate-schema.js.map +1 -1
  31. package/dist/index.d.ts +3 -3
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +2 -2
  34. package/dist/index.js.map +1 -1
  35. package/dist/loop-compiler.d.ts +41 -3
  36. package/dist/loop-compiler.d.ts.map +1 -1
  37. package/dist/loop-compiler.js +310 -38
  38. package/dist/loop-compiler.js.map +1 -1
  39. package/dist/loop-projection.d.ts +26 -0
  40. package/dist/loop-projection.d.ts.map +1 -0
  41. package/dist/loop-projection.js +142 -0
  42. package/dist/loop-projection.js.map +1 -0
  43. package/dist/loop-store.d.ts +91 -41
  44. package/dist/loop-store.d.ts.map +1 -1
  45. package/dist/loop-store.js +243 -173
  46. package/dist/loop-store.js.map +1 -1
  47. package/dist/mcp/round-lifecycle.d.ts +216 -0
  48. package/dist/mcp/round-lifecycle.d.ts.map +1 -0
  49. package/dist/mcp/round-lifecycle.js +926 -0
  50. package/dist/mcp/round-lifecycle.js.map +1 -0
  51. package/dist/mcp/server.d.ts +3 -2
  52. package/dist/mcp/server.d.ts.map +1 -1
  53. package/dist/mcp/server.js +65 -9
  54. package/dist/mcp/server.js.map +1 -1
  55. package/dist/mcp/session.d.ts +47 -139
  56. package/dist/mcp/session.d.ts.map +1 -1
  57. package/dist/mcp/session.js +284 -784
  58. package/dist/mcp/session.js.map +1 -1
  59. package/dist/mcp/tools.d.ts +23 -1
  60. package/dist/mcp/tools.d.ts.map +1 -1
  61. package/dist/mcp/tools.js +270 -79
  62. package/dist/mcp/tools.js.map +1 -1
  63. package/dist/policy-metrics.d.ts +11 -0
  64. package/dist/policy-metrics.d.ts.map +1 -1
  65. package/dist/policy-metrics.js +118 -21
  66. package/dist/policy-metrics.js.map +1 -1
  67. package/dist/policy.d.ts +26 -1
  68. package/dist/policy.d.ts.map +1 -1
  69. package/dist/policy.js +13 -2
  70. package/dist/policy.js.map +1 -1
  71. package/dist/prompt-assembler.d.ts +34 -1
  72. package/dist/prompt-assembler.d.ts.map +1 -1
  73. package/dist/prompt-assembler.js +320 -42
  74. package/dist/prompt-assembler.js.map +1 -1
  75. package/dist/protocol.d.ts +169 -1
  76. package/dist/protocol.d.ts.map +1 -1
  77. package/dist/protocol.js +39 -0
  78. package/dist/protocol.js.map +1 -1
  79. package/dist/replay.d.ts +5 -5
  80. package/dist/replay.d.ts.map +1 -1
  81. package/dist/replay.js +9 -8
  82. package/dist/replay.js.map +1 -1
  83. package/dist/round-coordinator.d.ts +6 -3
  84. package/dist/round-coordinator.d.ts.map +1 -1
  85. package/dist/round-coordinator.js +38 -19
  86. package/dist/round-coordinator.js.map +1 -1
  87. package/dist/round-driver.d.ts +9 -4
  88. package/dist/round-driver.d.ts.map +1 -1
  89. package/dist/round-driver.js +15 -7
  90. package/dist/round-driver.js.map +1 -1
  91. package/dist/round-transaction.d.ts +7 -3
  92. package/dist/round-transaction.d.ts.map +1 -1
  93. package/dist/round-transaction.js +93 -88
  94. package/dist/round-transaction.js.map +1 -1
  95. package/dist/self-eval.d.ts +31 -1
  96. package/dist/self-eval.d.ts.map +1 -1
  97. package/dist/self-eval.js +115 -12
  98. package/dist/self-eval.js.map +1 -1
  99. package/dist/storage.d.ts +3 -4
  100. package/dist/storage.d.ts.map +1 -1
  101. package/dist/storage.js +5 -4
  102. package/dist/storage.js.map +1 -1
  103. package/dist/token-utils.d.ts +20 -7
  104. package/dist/token-utils.d.ts.map +1 -1
  105. package/dist/token-utils.js +68 -9
  106. package/dist/token-utils.js.map +1 -1
  107. package/dist/verification-gate.d.ts +54 -2
  108. package/dist/verification-gate.d.ts.map +1 -1
  109. package/dist/verification-gate.js +433 -25
  110. package/dist/verification-gate.js.map +1 -1
  111. package/loop_policy.json +35 -8
  112. package/package.json +3 -2
  113. package/skills/perception/SKILL.md +24 -6
  114. package/dist/backends/interface.d.ts +0 -39
  115. package/dist/backends/interface.d.ts.map +0 -1
  116. package/dist/backends/interface.js +0 -6
  117. package/dist/backends/interface.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"loop-compiler.js","sourceRoot":"","sources":["../src/loop-compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop-compiler.js","sourceRoot":"","sources":["../src/loop-compiler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /** v2.12: Typed cognitive state projection — runtime-derived facts shipped
2
+ * with advance/status outputs. Pure function, zero persistence; every
3
+ * input already exists in compile outputs and vault entries.
4
+ *
5
+ * Discipline: every field has a consumer (advance output for the main
6
+ * agent, status for human/tooling, resume handoff). No display-only
7
+ * decoration — the runtime provides facts, the agent decides actions.
8
+ */
9
+ import type { VaultEntry } from "./loop-store.js";
10
+ import type { LoopForgeResponse, LoopProjection } from "./protocol.js";
11
+ export interface ProjectionInput {
12
+ loopId: string;
13
+ currentRound: number;
14
+ /** Compiler output with v2.12 derived-state passthrough. */
15
+ compileResponse: LoopForgeResponse | null;
16
+ vaultEntries: VaultEntry[];
17
+ /** cr-IDs backed by verified claims (P0 provenance layer). */
18
+ verifiedClaims?: string[];
19
+ /** Undecided user gate descriptions (recorded gate_opened without a
20
+ * matching gate_decision). */
21
+ openGates?: string[];
22
+ }
23
+ /** Build the typed projection. Returns null only when nothing meaningful
24
+ * can be derived (fresh loop with no compile response). */
25
+ export declare function buildLoopProjection(input: ProjectionInput): LoopProjection | null;
26
+ //# sourceMappingURL=loop-projection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loop-projection.d.ts","sourceRoot":"","sources":["../src/loop-projection.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAW,MAAM,eAAe,CAAC;AAIhF,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,eAAe,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC1C,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,8DAA8D;IAC9D,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;mCAC+B;IAC/B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAoID;4DAC4D;AAC5D,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,cAAc,GAAG,IAAI,CAYjF"}
@@ -0,0 +1,142 @@
1
+ /** v2.12: Typed cognitive state projection — runtime-derived facts shipped
2
+ * with advance/status outputs. Pure function, zero persistence; every
3
+ * input already exists in compile outputs and vault entries.
4
+ *
5
+ * Discipline: every field has a consumer (advance output for the main
6
+ * agent, status for human/tooling, resume handoff). No display-only
7
+ * decoration — the runtime provides facts, the agent decides actions.
8
+ */
9
+ import { deriveTodoId } from "./cognitive-governance.js";
10
+ import { makeLoopProjection } from "./protocol.js";
11
+ import { isRecord, entryRound as sharedEntryRound } from "./token-utils.js";
12
+ function entryRound(entry) {
13
+ return sharedEntryRound(entry);
14
+ }
15
+ /** Focus: the most recent non-failed round's output summary. */
16
+ function deriveFocus(entries, currentRound) {
17
+ const candidates = entries
18
+ .filter((entry) => {
19
+ const round = entryRound(entry);
20
+ return round >= 1 && round < currentRound &&
21
+ typeof entry.output_summary === "string" &&
22
+ entry.output_summary.length > 0 &&
23
+ entry.success !== false;
24
+ })
25
+ .sort((a, b) => entryRound(b) - entryRound(a));
26
+ const latest = candidates[0];
27
+ if (!latest)
28
+ return null;
29
+ return {
30
+ what: latest.output_summary.slice(0, 200),
31
+ since_round: entryRound(latest),
32
+ };
33
+ }
34
+ /** Todo: pending/blocked sub-goals (derived) + declared next_action /
35
+ * emerged subtasks (agent intent). Capped at 10. */
36
+ function deriveTodo(compileResponse, entries) {
37
+ const todo = [];
38
+ const push = (item, reason, source, priority) => {
39
+ if (todo.length >= 10)
40
+ return;
41
+ if (item.trim().length === 0)
42
+ return;
43
+ todo.push({ id: deriveTodoId(item), item: item.slice(0, 200), reason, source, priority });
44
+ };
45
+ // Derived: pending/blocked sub-goals from the compiler's dashboard.
46
+ for (const subGoal of compileResponse?.sub_goals ?? []) {
47
+ const sg = subGoal;
48
+ if (sg.status === "pending") {
49
+ push(sg.description, "pending sub-goal", "derived", sg.priority ?? 5);
50
+ }
51
+ else if (sg.status === "blocked") {
52
+ push(sg.description, "blocked sub-goal", "derived", 9);
53
+ }
54
+ }
55
+ // Agent intent: the declared next action from the most recent round.
56
+ const latest = [...entries]
57
+ .filter((entry) => typeof entry.next_action === "string" &&
58
+ entry.next_action.length > 0)
59
+ .sort((a, b) => entryRound(b) - entryRound(a))[0];
60
+ if (latest) {
61
+ push(latest.next_action, "agent-declared next action", "agent_intent", 0);
62
+ const emerged = Array.isArray(latest.emerged_subtasks)
63
+ ? latest.emerged_subtasks
64
+ : [];
65
+ for (const subtask of emerged)
66
+ push(subtask, "agent-declared emerged work", "agent_intent", 6);
67
+ }
68
+ return todo;
69
+ }
70
+ /** Phase: milestone boundaries in round order; current = the phase after
71
+ * the last milestone. */
72
+ function derivePhase(compileResponse) {
73
+ const milestones = compileResponse?.rolling_summary?.milestones;
74
+ if (!milestones || milestones.length === 0)
75
+ return null;
76
+ const boundaries = milestones
77
+ .filter((m) => typeof m.round_range?.end === "number")
78
+ .map((m) => ({ label: m.label, round: m.round_range.end }));
79
+ const last = boundaries[boundaries.length - 1];
80
+ return {
81
+ current: last ? last.label : "",
82
+ label: last ? last.label : "",
83
+ boundaries,
84
+ };
85
+ }
86
+ /** Delegation: record view of the main agent's reported worker results.
87
+ * Facts only — never a task book. */
88
+ function deriveDelegation(entries) {
89
+ const journals = entries
90
+ .filter((entry) => entry.task_type === "delegation_journal")
91
+ .sort((a, b) => entryRound(b) - entryRound(a));
92
+ const latest = journals[0];
93
+ if (!latest)
94
+ return { pending: 0, last_results: [] };
95
+ const lineage = isRecord(latest.loop_lineage) ? latest.loop_lineage : null;
96
+ const delegations = Array.isArray(lineage?.delegations)
97
+ ? lineage.delegations
98
+ : [];
99
+ const round = entryRound(latest);
100
+ const lastResults = delegations.slice(-5).map((d) => ({
101
+ agentId: typeof d.agentId === "string" ? d.agentId : "",
102
+ outcome: typeof d.outcome === "string" ? d.outcome : d.success === true ? "success" : "failed",
103
+ round,
104
+ summary: typeof d.resultSummary === "string" ? d.resultSummary.slice(0, 200) : "",
105
+ }));
106
+ return {
107
+ pending: delegations.filter((d) => d.outcome === "partial" || d.outcome === "failed" ||
108
+ (d.outcome === undefined && d.success !== true)).length,
109
+ last_results: lastResults,
110
+ };
111
+ }
112
+ /** Handoff: resume capsule. verified = P0 provenance cr-IDs; open_risks =
113
+ * recurring issues + undecided user gates. */
114
+ function deriveHandoff(compileResponse, verifiedClaims, openGates) {
115
+ const rolling = compileResponse?.rolling_summary;
116
+ const summary = rolling?.loop_synthesis ?? "";
117
+ const openRisks = [...new Set([
118
+ ...(rolling?.recurring_issues ?? []).slice(0, 5),
119
+ ...openGates.slice(0, 3).map((gate) => `user gate pending: ${gate}`),
120
+ ])];
121
+ return {
122
+ summary,
123
+ verified: verifiedClaims ?? [],
124
+ open_risks: openRisks,
125
+ };
126
+ }
127
+ /** Build the typed projection. Returns null only when nothing meaningful
128
+ * can be derived (fresh loop with no compile response). */
129
+ export function buildLoopProjection(input) {
130
+ const projection = makeLoopProjection({
131
+ focus: deriveFocus(input.vaultEntries, input.currentRound),
132
+ todo: deriveTodo(input.compileResponse, input.vaultEntries),
133
+ phase: derivePhase(input.compileResponse),
134
+ delegation: deriveDelegation(input.vaultEntries),
135
+ handoff: deriveHandoff(input.compileResponse, input.verifiedClaims ?? [], input.openGates ?? []),
136
+ });
137
+ const empty = projection.focus === null && projection.todo.length === 0 &&
138
+ projection.phase === null && projection.delegation.last_results.length === 0 &&
139
+ projection.handoff.summary.length === 0;
140
+ return empty ? null : projection;
141
+ }
142
+ //# sourceMappingURL=loop-projection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loop-projection.js","sourceRoot":"","sources":["../src/loop-projection.ts"],"names":[],"mappings":"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"}
@@ -7,10 +7,50 @@
7
7
  * Markdown state files are derived views. These JSON documents are the only
8
8
  * durable transaction truth.
9
9
  */
10
- import type { VaultBackend, VaultEntry } from "./backends/interface.js";
11
10
  import type { PromptArtifact } from "./protocol.js";
12
11
  import type { RoundTransactionSnapshot } from "./round-transaction.js";
12
+ /** Loose per-loop entry shape shared by session documents, round documents,
13
+ * and the flat list views (listEntries/queryLoopEntries). The single
14
+ * durable truth is the typed per-loop documents; entries are what the
15
+ * runtime writes into them. */
16
+ export interface VaultEntry {
17
+ id?: string;
18
+ task_id?: string;
19
+ version_tag?: string;
20
+ is_active?: boolean;
21
+ timestamp?: string;
22
+ user_intent?: string;
23
+ task_type?: string;
24
+ /** @deprecated Use `success` field instead. Kept for reading old vault data. */
25
+ quality_score?: number;
26
+ success?: boolean;
27
+ skill_used?: string;
28
+ loop_id?: string;
29
+ loop_lineage?: Record<string, unknown>;
30
+ loop_objective?: Record<string, unknown> | null;
31
+ execution_feedback?: string;
32
+ task?: string;
33
+ output_summary?: string;
34
+ constraint_violations?: string[];
35
+ tags?: string[];
36
+ full_prompt?: string;
37
+ [key: string]: unknown;
38
+ }
13
39
  export declare const LOOP_STORE_SCHEMA_VERSION: 1;
40
+ /** v2.12: Storage corruption taxonomy. Only sequence gaps/duplicates are
41
+ * recoverable (manual file deletion etc.); structural corruption is not. */
42
+ export type StorageCorruptionKind = "invalid_json" | "invalid_format" | "sequence_gap" | "sequence_duplicate" | "sequence_cross_loop" | "sequence_invalid";
43
+ export type StorageCorruptionSeverity = "recoverable" | "corrupted";
44
+ /** v2.12: Typed corruption error carrying a severity class. Callers may
45
+ * recover from `recoverable` errors (record and continue) but must surface
46
+ * `corrupted` errors — the runtime never silently repairs storage. */
47
+ export declare class StorageCorruptionError extends Error {
48
+ readonly code: "storage_corruption";
49
+ readonly kind: StorageCorruptionKind;
50
+ readonly severity: StorageCorruptionSeverity;
51
+ constructor(kind: StorageCorruptionKind, message: string);
52
+ get recoverable(): boolean;
53
+ }
14
54
  export interface LoopSessionDocument {
15
55
  schemaVersion: typeof LOOP_STORE_SCHEMA_VERSION;
16
56
  loopId: string;
@@ -21,6 +61,9 @@ export interface LoopRoundDocument {
21
61
  schemaVersion: typeof LOOP_STORE_SCHEMA_VERSION;
22
62
  loopId: string;
23
63
  round: number;
64
+ /** v2.12: Monotonic round stamp distinguishing new-format loops (strict
65
+ * continuity checked) from legacy loops (no stamp → exempt). */
66
+ sequence?: number;
24
67
  updatedAt: string;
25
68
  lineage?: VaultEntry;
26
69
  feedback?: VaultEntry;
@@ -37,15 +80,50 @@ export interface LoopStoreMigrationResult {
37
80
  export interface LoopStore {
38
81
  withLock<T>(fn: () => T): T;
39
82
  listLoopIds(): string[];
40
- listEntries(loopId?: string): VaultEntry[];
83
+ /** Flat entry view over the durable documents. v3.0.1: `sinceRound` skips
84
+ * round documents older than the given round (the session document is
85
+ * always included) — used by incremental compile hydration. */
86
+ listEntries(loopId?: string, opts?: {
87
+ sinceRound?: number;
88
+ }): VaultEntry[];
41
89
  appendEntry(entry: VaultEntry): void;
42
90
  appendEntries(entries: VaultEntry[]): number;
43
- replaceEntries(entries: VaultEntry[]): void;
44
91
  readSession(loopId: string): LoopSessionDocument | null;
45
92
  writeSession(loopId: string, document: LoopSessionDocument): void;
46
93
  readRound(loopId: string, round: number): LoopRoundDocument | null;
94
+ /** v2.12: Per-round sequence stamps for continuity checking. Backends
95
+ * without round documents return [] (legacy → exempt from checks). */
96
+ listRoundSequences(loopId: string): Array<{
97
+ round: number;
98
+ sequence?: number;
99
+ }>;
47
100
  migrateLegacyVault(path?: string): LoopStoreMigrationResult;
48
101
  }
102
+ /** Filter a loop's flat entry view with the legacy VaultBackend query
103
+ * options. Derived read-only view over the single durable truth (typed
104
+ * session/round documents) — never a separate write path. Feedback
105
+ * entries are excluded by default, mirroring the historical
106
+ * queryEntries({ feedbackOnly }) semantics. */
107
+ export declare function queryLoopEntries(store: LoopStore, loopId: string, opts?: {
108
+ prefix?: string;
109
+ feedbackOnly?: boolean;
110
+ /** v3.0.1: only entries from round documents >= this round. Passed
111
+ * through to listEntries so incremental hydration skips old docs. */
112
+ sinceRound?: number;
113
+ }): VaultEntry[];
114
+ /** v2.12: Ordered round sequence for a loop. Throws StorageCorruptionError
115
+ * on gaps (recoverable) or mixed-format corruption; returns [] for loops
116
+ * with no rounds. Consumed by audit (sequenceComplete) and resume. */
117
+ export declare function eventSequence(store: LoopStore, loopId: string): number[];
118
+ /** v2.12: Validate that a loop's round documents form a contiguous sequence
119
+ * from 1 to max. Legacy loops (no sequence stamps at all) are exempt.
120
+ * Mixed stamping is allowed only monotonically: rounds below the first
121
+ * stamped round are treated as legacy; once stamping begins it must not
122
+ * stop. Throws StorageCorruptionError on violation. */
123
+ export declare function checkRoundSequence(store: LoopStore, loopId: string): {
124
+ complete: boolean;
125
+ legacy: boolean;
126
+ };
49
127
  export declare class FileLoopStore implements LoopStore {
50
128
  readonly root: string;
51
129
  private lockDepth;
@@ -55,50 +133,22 @@ export declare class FileLoopStore implements LoopStore {
55
133
  readSession(loopId: string): LoopSessionDocument | null;
56
134
  writeSession(loopId: string, document: LoopSessionDocument): void;
57
135
  readRound(loopId: string, round: number): LoopRoundDocument | null;
58
- listEntries(loopId?: string): VaultEntry[];
136
+ listRoundSequences(loopId: string): Array<{
137
+ round: number;
138
+ sequence?: number;
139
+ }>;
140
+ listEntries(loopId?: string, opts?: {
141
+ sinceRound?: number;
142
+ }): VaultEntry[];
59
143
  appendEntry(entry: VaultEntry): void;
60
144
  appendEntries(entries: VaultEntry[]): number;
61
- replaceEntries(entries: VaultEntry[]): void;
62
145
  migrateLegacyVault(path?: string): LoopStoreMigrationResult;
63
146
  private writeEntry;
64
147
  private loopDir;
148
+ /** Read a JSON document, distinguishing missing from corrupt.
149
+ * ENOENT → null (missing); parse failure → StorageCorruptionError
150
+ * (corrupted) — the runtime never silently repairs storage. */
65
151
  private readJson;
66
152
  private atomicWrite;
67
153
  }
68
- /** @deprecated Use LoopStore directly.
69
- *
70
- * Compatibility adapter so modules that still accept VaultBackend can
71
- * operate on a LoopStore. Persistent truth is the typed per-loop
72
- * documents; no Markdown lineage is written. */
73
- export declare class LoopStoreBackend implements VaultBackend {
74
- readonly store: LoopStore;
75
- constructor(store?: LoopStore);
76
- withLock<T>(fn: () => T): T;
77
- queryEntries(opts?: {
78
- prefix?: string;
79
- taskIdPattern?: string;
80
- feedbackOnly?: boolean;
81
- }): VaultEntry[];
82
- appendEntry(entry: VaultEntry): void;
83
- appendEntries(entries: VaultEntry[]): number;
84
- }
85
- /** Adapter that wraps a VaultBackend as a LoopStore for backward compat.
86
- *
87
- * SessionManager uses this when a VaultBackend is provided directly so
88
- * VaultSessionStateStore can operate on typed session documents while
89
- * the underlying storage remains VaultBackend entries. */
90
- export declare class VaultBackendLoopStore implements LoopStore {
91
- private readonly backend;
92
- constructor(backend: VaultBackend);
93
- withLock<T>(fn: () => T): T;
94
- listLoopIds(): string[];
95
- listEntries(loopId?: string): VaultEntry[];
96
- appendEntry(entry: VaultEntry): void;
97
- appendEntries(entries: VaultEntry[]): number;
98
- replaceEntries(_entries: VaultEntry[]): void;
99
- readSession(loopId: string): LoopSessionDocument | null;
100
- writeSession(loopId: string, document: LoopSessionDocument): void;
101
- readRound(loopId: string, round: number): LoopRoundDocument | null;
102
- migrateLegacyVault(_path?: string): LoopStoreMigrationResult;
103
- }
104
154
  //# sourceMappingURL=loop-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loop-store.d.ts","sourceRoot":"","sources":["../src/loop-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop-store.d.ts","sourceRoot":"","sources":["../src/loop-store.ts"],"names":[],"mappings":"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"}