loopforge 1.7.0 → 1.12.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.
Files changed (88) hide show
  1. package/README.md +64 -3
  2. package/dist/backends/fs.d.ts.map +1 -1
  3. package/dist/backends/fs.js +1 -2
  4. package/dist/backends/fs.js.map +1 -1
  5. package/dist/backends/interface.d.ts +2 -0
  6. package/dist/backends/interface.d.ts.map +1 -1
  7. package/dist/builder.d.ts +6 -10
  8. package/dist/builder.d.ts.map +1 -1
  9. package/dist/builder.js +128 -63
  10. package/dist/builder.js.map +1 -1
  11. package/dist/engine.d.ts +16 -2
  12. package/dist/engine.d.ts.map +1 -1
  13. package/dist/engine.js +142 -54
  14. package/dist/engine.js.map +1 -1
  15. package/dist/index.d.ts +7 -6
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +5 -3
  18. package/dist/index.js.map +1 -1
  19. package/dist/loop-compiler.d.ts +33 -2
  20. package/dist/loop-compiler.d.ts.map +1 -1
  21. package/dist/loop-compiler.js +391 -135
  22. package/dist/loop-compiler.js.map +1 -1
  23. package/dist/mcp/server.d.ts.map +1 -1
  24. package/dist/mcp/server.js +6 -4
  25. package/dist/mcp/server.js.map +1 -1
  26. package/dist/mcp/session.d.ts +18 -4
  27. package/dist/mcp/session.d.ts.map +1 -1
  28. package/dist/mcp/session.js +225 -24
  29. package/dist/mcp/session.js.map +1 -1
  30. package/dist/mcp/tools.d.ts +32 -1
  31. package/dist/mcp/tools.d.ts.map +1 -1
  32. package/dist/mcp/tools.js +33 -14
  33. package/dist/mcp/tools.js.map +1 -1
  34. package/dist/memory-bridge.d.ts +47 -0
  35. package/dist/memory-bridge.d.ts.map +1 -0
  36. package/dist/memory-bridge.js +290 -0
  37. package/dist/memory-bridge.js.map +1 -0
  38. package/dist/observability.d.ts +1 -1
  39. package/dist/observability.js +1 -1
  40. package/dist/policy.d.ts +66 -9
  41. package/dist/policy.d.ts.map +1 -1
  42. package/dist/policy.js +41 -28
  43. package/dist/policy.js.map +1 -1
  44. package/dist/protocol.d.ts +120 -16
  45. package/dist/protocol.d.ts.map +1 -1
  46. package/dist/protocol.js +23 -9
  47. package/dist/protocol.js.map +1 -1
  48. package/dist/replay.js +7 -7
  49. package/dist/replay.js.map +1 -1
  50. package/dist/runtime.d.ts +20 -3
  51. package/dist/runtime.d.ts.map +1 -1
  52. package/dist/runtime.js +420 -177
  53. package/dist/runtime.js.map +1 -1
  54. package/dist/tests/builder.test.js +40 -28
  55. package/dist/tests/builder.test.js.map +1 -1
  56. package/dist/tests/engine.test.js +13 -17
  57. package/dist/tests/engine.test.js.map +1 -1
  58. package/dist/tests/generate-schema.test.js +10 -7
  59. package/dist/tests/generate-schema.test.js.map +1 -1
  60. package/dist/tests/loop-compiler.test.js +481 -27
  61. package/dist/tests/loop-compiler.test.js.map +1 -1
  62. package/dist/tests/mcp.test.js +103 -103
  63. package/dist/tests/mcp.test.js.map +1 -1
  64. package/dist/tests/memory-bridge.test.d.ts +8 -0
  65. package/dist/tests/memory-bridge.test.d.ts.map +1 -0
  66. package/dist/tests/memory-bridge.test.js +383 -0
  67. package/dist/tests/memory-bridge.test.js.map +1 -0
  68. package/dist/tests/policy.test.js +5 -15
  69. package/dist/tests/policy.test.js.map +1 -1
  70. package/dist/tests/protocol.test.js +15 -3
  71. package/dist/tests/protocol.test.js.map +1 -1
  72. package/dist/tests/replay.test.js +9 -9
  73. package/dist/tests/replay.test.js.map +1 -1
  74. package/dist/tests/runtime.test.js +8 -8
  75. package/dist/tests/runtime.test.js.map +1 -1
  76. package/dist/tests/verification-gate.test.js +1 -1
  77. package/dist/tests/verification-gate.test.js.map +1 -1
  78. package/dist/verification-gate.d.ts +2 -2
  79. package/dist/verification-gate.js +2 -2
  80. package/loop_policy.json +28 -23
  81. package/package.json +1 -1
  82. package/skills/perception/SKILL.md +64 -12
  83. package/dist/adapter.d.ts +0 -17
  84. package/dist/adapter.d.ts.map +0 -1
  85. package/dist/adapter.js +0 -228
  86. package/dist/adapter.js.map +0 -1
  87. package/dist/tests/adapter.test.d.ts +0 -2
  88. package/dist/tests/adapter.test.d.ts.map +0 -1
@@ -6,15 +6,16 @@
6
6
  */
7
7
  import { randomUUID } from "node:crypto";
8
8
  import { LoopForgeEngine, extractSelfEvaluation, heuristicSelfEvaluation } from "../engine.js";
9
- import { checkLoopHealth } from "../loop-compiler.js";
10
- import { getPolicy } from "../policy.js";
9
+ import { checkLoopHealth, tokenize, jaccard } from "../loop-compiler.js";
10
+ import { getPolicy, resolveAllowedPhases } from "../policy.js";
11
11
  import { Mode, makeLoopCompileRequest, makeVaultConfig } from "../protocol.js";
12
12
  import { ReplayBackend } from "../replay.js";
13
13
  import { FSBackend } from "../backends/fs.js";
14
14
  import { verifySelfEvaluation } from "../verification-gate.js";
15
15
  import { logEvent } from "../observability.js";
16
16
  // ── Helpers ────────────────────────────────────────────────────────────────
17
- function buildLoopRequest(session, lastEval, lastQuality, verificationFlags) {
17
+ function buildLoopRequest(session, lastEval, _lastQuality, // deprecated — kept for backward compat
18
+ verificationFlags) {
18
19
  const req = {
19
20
  task: session.task,
20
21
  mode: Mode.LOOP_COMPILE,
@@ -26,16 +27,21 @@ function buildLoopRequest(session, lastEval, lastQuality, verificationFlags) {
26
27
  round: session.currentRound,
27
28
  verification_flags: verificationFlags ?? [],
28
29
  };
29
- if (lastEval && lastQuality !== undefined) {
30
+ if (lastEval) {
30
31
  req.last_round_result = {
31
32
  round: session.currentRound - 1,
32
33
  success: lastEval.success,
33
34
  output_summary: lastEval.output_summary,
34
35
  constraint_violations: lastEval.constraint_violations,
35
36
  manual_fixes_needed: "",
36
- quality_score: lastQuality,
37
37
  // P0–P2: Forward evolution fields to next compile
38
- discovered_constraints: lastEval.discovered_constraints ?? [],
38
+ // Merge sub-agent discovered constraints into the active set
39
+ discovered_constraints: [
40
+ ...new Set([
41
+ ...(lastEval.discovered_constraints ?? []),
42
+ ...(lastEval.worker_results ?? []).flatMap((w) => w.discoveredConstraints ?? []).filter((c) => c.length > 0),
43
+ ]),
44
+ ],
39
45
  objective_refinement: lastEval.objective_refinement ?? "",
40
46
  emerged_subtasks: lastEval.emerged_subtasks ?? [],
41
47
  // P4: Execution evidence
@@ -44,6 +50,11 @@ function buildLoopRequest(session, lastEval, lastQuality, verificationFlags) {
44
50
  retracted_constraints: lastEval.retracted_constraints ?? [],
45
51
  revised_success_criteria: lastEval.revised_success_criteria ?? [],
46
52
  wrong_assumptions: lastEval.wrong_assumptions ?? [],
53
+ // Multi-agent: Forward delegation results to next compile
54
+ worker_results: lastEval.worker_results ?? [],
55
+ // v1.10: Checkpoint boundary
56
+ compression_checkpoint: lastEval.compression_checkpoint ?? false,
57
+ checkpoint_label: lastEval.checkpoint_label ?? "",
47
58
  };
48
59
  }
49
60
  return req;
@@ -75,10 +86,14 @@ function parseWarnings(prompt) {
75
86
  export class SessionManager {
76
87
  sessions = new Map();
77
88
  backend;
89
+ /** Optional provider for long-term memory context retrieval. */
90
+ memoryProvider;
91
+ /** Optional writer for persisting loop knowledge back to long-term memory. */
92
+ memoryWriter;
78
93
  constructor(backend) {
79
94
  this.backend = backend;
80
95
  }
81
- create(input) {
96
+ async create(input) {
82
97
  const sessionId = randomUUID();
83
98
  const loopId = input.loopId ?? randomUUID();
84
99
  const engine = new LoopForgeEngine("skills", this.backend);
@@ -86,16 +101,58 @@ export class SessionManager {
86
101
  // Populate extra fields for the first round
87
102
  const request = buildLoopRequest({
88
103
  sessionId, loopId, task: input.task, engine, currentRound: 1,
89
- maxRounds, qualityTrajectory: [], status: "running", createdAt: Date.now(),
104
+ maxRounds, successTrajectory: [], status: "running", createdAt: Date.now(),
105
+ injectionCount: 0, lastInjectionRound: 0, injectedContexts: [],
106
+ phase2Triggered: false, phase3Triggered: false,
90
107
  });
91
108
  request.domain = input.domain ?? "";
92
109
  request.plan_source = input.planSource ?? null;
93
110
  request.constraints_from_plan = input.constraints ?? [];
111
+ // v1.8: Phase 1 memory injection (Round 1) — only if allowed by tier
112
+ const miPolicy = getPolicy().memory_injection;
113
+ const allowedPhases = new Set(resolveAllowedPhases(maxRounds, miPolicy.round_tiers));
114
+ if (miPolicy.enabled && this.memoryProvider && allowedPhases.has(1)) {
115
+ try {
116
+ const ctx = {
117
+ loopId,
118
+ round: 1,
119
+ task: input.task,
120
+ domain: input.domain ?? "",
121
+ phase: 1,
122
+ progressEstimate: 0,
123
+ accumulatedContext: {
124
+ recurringIssues: [],
125
+ failedPatterns: [],
126
+ keyLessons: [],
127
+ remainingCriteria: [],
128
+ },
129
+ };
130
+ const rawContext = await this.memoryProvider(ctx);
131
+ if (rawContext?.trim()) {
132
+ request.external_context = rawContext.trim().slice(0, miPolicy.max_context_length);
133
+ logEvent("memory_injected", {
134
+ loopId, round: 1, phase: 1, injectionCount: 1,
135
+ contextLength: request.external_context.length,
136
+ });
137
+ }
138
+ }
139
+ catch {
140
+ // memoryProvider failed — degrade gracefully
141
+ logEvent("memory_provider_error", { loopId, round: 1 });
142
+ }
143
+ }
94
144
  const result = engine.invokeLoopCompile(request);
145
+ const injectedCtx = request.external_context;
95
146
  const session = {
96
147
  sessionId, loopId, task: input.task, engine,
97
- currentRound: 1, maxRounds, qualityTrajectory: [],
148
+ currentRound: 1, maxRounds, successTrajectory: [],
98
149
  status: "running", createdAt: Date.now(),
150
+ // v1.7: Memory integration state
151
+ injectionCount: injectedCtx ? 1 : 0,
152
+ lastInjectionRound: injectedCtx ? 1 : 0,
153
+ injectedContexts: injectedCtx ? [injectedCtx] : [],
154
+ phase2Triggered: false,
155
+ phase3Triggered: false,
99
156
  };
100
157
  this.sessions.set(sessionId, session);
101
158
  // Persist to vault for cross-process recovery
@@ -112,6 +169,7 @@ export class SessionManager {
112
169
  prompt: result.response?.prompt ?? null,
113
170
  technique: result.response?.analysis?.technique ?? "zero-shot",
114
171
  level: parseLevel(result.response?.analysis?.rationale),
172
+ roundSuccess: false,
115
173
  quality: 0,
116
174
  warnings: parseWarnings(result.response?.prompt ?? null),
117
175
  };
@@ -124,6 +182,7 @@ export class SessionManager {
124
182
  if (!session)
125
183
  return false;
126
184
  session.status = "stopped";
185
+ void this.doWriteback(session, "stopped");
127
186
  this.sessions.delete(sessionId);
128
187
  logEvent("session_end", {
129
188
  sessionId,
@@ -158,9 +217,14 @@ export class SessionManager {
158
217
  session_id: session.sessionId,
159
218
  current_round: session.currentRound,
160
219
  max_rounds: session.maxRounds,
161
- quality_trajectory: session.qualityTrajectory,
220
+ success_trajectory: session.successTrajectory,
162
221
  status: session.status,
163
222
  created_at: session.createdAt,
223
+ // v1.7: Memory integration state for cross-process recovery
224
+ injection_count: session.injectionCount,
225
+ last_injection_round: session.lastInjectionRound,
226
+ phase2_triggered: session.phase2Triggered,
227
+ phase3_triggered: session.phase3Triggered,
164
228
  },
165
229
  });
166
230
  };
@@ -188,7 +252,7 @@ export class SessionManager {
188
252
  const lineage = (sessionEntry.loop_lineage ?? {});
189
253
  const status = lineage.status ?? "running";
190
254
  const currentRound = lineage.current_round ?? 1;
191
- const qualityTrajectory = lineage.quality_trajectory ?? [];
255
+ const successTrajectory = lineage.success_trajectory ?? lineage.quality_trajectory ?? [];
192
256
  const task = sessionEntry.task ?? "";
193
257
  const maxRounds = lineage.max_rounds ?? getPolicy().runtime.max_rounds;
194
258
  // If the loop was already stopped or stalled, return immediately
@@ -210,9 +274,15 @@ export class SessionManager {
210
274
  engine,
211
275
  currentRound,
212
276
  maxRounds,
213
- qualityTrajectory,
277
+ successTrajectory,
214
278
  status: "running",
215
279
  createdAt: lineage.created_at ?? Date.now(),
280
+ // v1.7: Memory integration state restored from vault
281
+ injectionCount: lineage.injection_count ?? 0,
282
+ lastInjectionRound: lineage.last_injection_round ?? 0,
283
+ injectedContexts: [],
284
+ phase2Triggered: lineage.phase2_triggered ?? false,
285
+ phase3Triggered: lineage.phase3_triggered ?? false,
216
286
  };
217
287
  this.sessions.set(sessionId, session);
218
288
  // Compile the next round's prompt from vault lineage
@@ -224,6 +294,7 @@ export class SessionManager {
224
294
  prompt: result.response?.prompt ?? null,
225
295
  technique: result.response?.analysis?.technique ?? "zero-shot",
226
296
  level: parseLevel(result.response?.analysis?.rationale),
297
+ roundSuccess: false,
227
298
  quality: 0,
228
299
  warnings: parseWarnings(result.response?.prompt ?? null),
229
300
  };
@@ -314,7 +385,7 @@ export class SessionManager {
314
385
  * @param preExtractedEval Optional pre-built SelfEvaluation from MCP tool parameter.
315
386
  * When provided (MCP path with evaluation parameter), skips regex extraction.
316
387
  * When undefined (runtime/CLI path), falls back to regex extraction from output. */
317
- advance(sessionId, output, preExtractedEval) {
388
+ async advance(sessionId, output, preExtractedEval) {
318
389
  const session = this.sessions.get(sessionId);
319
390
  if (!session)
320
391
  return { sessionId, round: 0, prompt: null, stopReason: "session_not_found" };
@@ -337,8 +408,9 @@ export class SessionManager {
337
408
  if (!selfEval) {
338
409
  session.status = "stalled";
339
410
  this.save(session);
411
+ void this.doWriteback(session, "stalled");
340
412
  logEvent("session_end", { sessionId, loopId: session.loopId, stopReason: "stalled", round: session.currentRound });
341
- return { sessionId, round: session.currentRound, prompt: null, stopReason: "stalled", quality: 0 };
413
+ return { sessionId, round: session.currentRound, prompt: null, stopReason: "stalled", roundSuccess: false, quality: 0 };
342
414
  }
343
415
  // 1.5. Verification gate — cross-round consistency check (v1.6)
344
416
  let verificationFlags = [];
@@ -351,11 +423,11 @@ export class SessionManager {
351
423
  verificationFlags = verifyResult.flags;
352
424
  gateVerdict = verifyResult.verdict;
353
425
  }
354
- // 2. Record feedback (flushes immediately so next compile sees scores)
355
- const quality = session.engine.autoFeedback(selfEval, session.loopId, session.currentRound, session.task);
356
- // Contradicted verdict: skip quality trend (quality score is unreliable)
426
+ // 2. Record feedback (flushes immediately so next compile sees success flags)
427
+ const roundSuccess = session.engine.autoFeedback(selfEval, session.loopId, session.currentRound, session.task);
428
+ // Contradicted verdict: skip success trend
357
429
  if (gateVerdict !== "contradicted") {
358
- session.qualityTrajectory.push(quality);
430
+ session.successTrajectory.push(roundSuccess);
359
431
  }
360
432
  // Note: feedback vault entry is always persisted via autoFeedback above.
361
433
  // Only the in-memory trend is skipped — the raw data stays for audit.
@@ -365,34 +437,116 @@ export class SessionManager {
365
437
  // first round after resumption runs with degraded verification (most
366
438
  // checks skip without prevSelfEval). The gate recovers on the next round.
367
439
  session.lastSelfEval = selfEval;
440
+ // Build deprecated quality alias for backward compat
441
+ const deprecatedQuality = roundSuccess ? 5 : 1;
368
442
  // 3. Stop conditions (extraction-first order — see memory)
369
443
  if (extractionFailed) {
370
444
  session.status = "stalled";
371
445
  this.save(session);
446
+ void this.doWriteback(session, "stalled");
372
447
  logEvent("session_end", { sessionId, loopId: session.loopId, stopReason: "stalled", round: session.currentRound });
373
- return { sessionId, round: session.currentRound, prompt: null, stopReason: "stalled", quality };
448
+ return { sessionId, round: session.currentRound, prompt: null, stopReason: "stalled", roundSuccess, quality: deprecatedQuality };
374
449
  }
375
450
  if (!selfEval.should_continue) {
376
451
  session.status = "stopped";
377
452
  this.save(session);
453
+ void this.doWriteback(session, "task_complete");
378
454
  logEvent("session_end", { sessionId, loopId: session.loopId, stopReason: "task_complete", round: session.currentRound });
379
- return { sessionId, round: session.currentRound, prompt: null, stopReason: "task_complete", quality };
455
+ return { sessionId, round: session.currentRound, prompt: null, stopReason: "task_complete", roundSuccess, quality: deprecatedQuality };
380
456
  }
381
457
  if (session.engine.shouldBreak()) {
382
458
  session.status = "stopped";
383
459
  this.save(session);
460
+ void this.doWriteback(session, "circuit_breaker");
384
461
  logEvent("session_end", { sessionId, loopId: session.loopId, stopReason: "circuit_breaker", round: session.currentRound });
385
- return { sessionId, round: session.currentRound, prompt: null, stopReason: "circuit_breaker", quality };
462
+ return { sessionId, round: session.currentRound, prompt: null, stopReason: "circuit_breaker", roundSuccess, quality: deprecatedQuality };
386
463
  }
387
464
  if (session.currentRound >= session.maxRounds) {
388
465
  session.status = "stopped";
389
466
  this.save(session);
467
+ void this.doWriteback(session, "max_rounds");
390
468
  logEvent("session_end", { sessionId, loopId: session.loopId, stopReason: "max_rounds", round: session.currentRound });
391
- return { sessionId, round: session.currentRound, prompt: null, stopReason: "max_rounds", quality };
469
+ return { sessionId, round: session.currentRound, prompt: null, stopReason: "max_rounds", roundSuccess, quality: deprecatedQuality };
392
470
  }
393
471
  // 4. Compile next round
394
472
  session.currentRound++;
395
- const request = buildLoopRequest(session, selfEval, quality, verificationFlags);
473
+ // v1.8: Memory injection for phases 2/3 — tier-aware
474
+ let externalCtx = "";
475
+ const miPolicy = getPolicy().memory_injection;
476
+ if (miPolicy.enabled && this.memoryProvider) {
477
+ const allowedPhases = new Set(resolveAllowedPhases(session.maxRounds, miPolicy.round_tiers));
478
+ if (session.injectionCount < allowedPhases.size &&
479
+ session.currentRound - session.lastInjectionRound >= miPolicy.min_rounds_between_injections) {
480
+ const progress = selfEval.execution_evidence?.progress_estimate;
481
+ const hasProgress = typeof progress === "number" && progress >= 0;
482
+ let phase = null;
483
+ if (allowedPhases.has(2) &&
484
+ !session.phase2Triggered &&
485
+ hasProgress &&
486
+ progress >= miPolicy.phase_thresholds.phase2.threshold) {
487
+ phase = 2;
488
+ session.phase2Triggered = true;
489
+ }
490
+ else if (allowedPhases.has(3) &&
491
+ !session.phase3Triggered &&
492
+ hasProgress &&
493
+ progress >= miPolicy.phase_thresholds.phase3.threshold) {
494
+ phase = 3;
495
+ session.phase3Triggered = true;
496
+ }
497
+ if (phase !== null) {
498
+ try {
499
+ const accCtx = {
500
+ recurringIssues: selfEval.constraint_violations ?? [],
501
+ failedPatterns: [],
502
+ keyLessons: selfEval.emerged_subtasks ?? [],
503
+ remainingCriteria: selfEval.execution_evidence?.success_criteria_remaining ?? [],
504
+ };
505
+ const ctx = {
506
+ loopId: session.loopId,
507
+ round: session.currentRound,
508
+ task: session.task,
509
+ domain: "",
510
+ phase,
511
+ progressEstimate: hasProgress ? progress : -1,
512
+ accumulatedContext: accCtx,
513
+ };
514
+ const rawContext = await this.memoryProvider(ctx);
515
+ if (rawContext?.trim()) {
516
+ // Dedup
517
+ const newTokens = tokenize(rawContext);
518
+ let isDuplicate = false;
519
+ for (const old of session.injectedContexts) {
520
+ if (jaccard(newTokens, tokenize(old)) > miPolicy.dedup_threshold) {
521
+ isDuplicate = true;
522
+ break;
523
+ }
524
+ }
525
+ if (!isDuplicate) {
526
+ externalCtx = rawContext.trim().slice(0, miPolicy.max_context_length);
527
+ session.injectionCount++;
528
+ session.lastInjectionRound = session.currentRound;
529
+ session.injectedContexts.push(externalCtx);
530
+ logEvent("memory_injected", {
531
+ loopId: session.loopId, round: session.currentRound,
532
+ phase, injectionCount: session.injectionCount,
533
+ contextLength: externalCtx.length,
534
+ });
535
+ }
536
+ }
537
+ }
538
+ catch {
539
+ logEvent("memory_provider_error", {
540
+ loopId: session.loopId, round: session.currentRound,
541
+ });
542
+ }
543
+ }
544
+ }
545
+ }
546
+ const request = buildLoopRequest(session, selfEval, deprecatedQuality, verificationFlags);
547
+ if (externalCtx) {
548
+ request.external_context = externalCtx;
549
+ }
396
550
  const result = session.engine.invokeLoopCompile(request);
397
551
  this.save(session);
398
552
  return {
@@ -401,10 +555,57 @@ export class SessionManager {
401
555
  prompt: result.response?.prompt ?? null,
402
556
  technique: result.response?.analysis?.technique ?? "zero-shot",
403
557
  level: parseLevel(result.response?.analysis?.rationale),
404
- quality,
558
+ roundSuccess,
559
+ quality: deprecatedQuality,
405
560
  warnings: parseWarnings(result.response?.prompt ?? null),
406
561
  };
407
562
  }
563
+ /** Write back loop knowledge to long-term memory.
564
+ * Called when a loop terminates for any reason. */
565
+ async doWriteback(session, stopReason) {
566
+ if (!this.memoryWriter)
567
+ return;
568
+ const wp = getPolicy().memory_writeback;
569
+ if (!wp.enabled)
570
+ return;
571
+ if (wp.write_on_outcomes.length > 0 && !wp.write_on_outcomes.includes(stopReason))
572
+ return;
573
+ if (session.currentRound < 1)
574
+ return;
575
+ const outcome = ["completed", "circuit_breaker", "stalled", "max_rounds", "stopped"].find((o) => stopReason === o) ?? "stopped";
576
+ try {
577
+ const payload = {
578
+ loopId: session.loopId,
579
+ task: session.task,
580
+ outcome,
581
+ roundsCompleted: session.currentRound,
582
+ projectEntry: {
583
+ title: `${session.task.slice(0, 80)} — ${outcome}`,
584
+ objective: session.task.slice(0, 200),
585
+ keyOutcome: outcome === "completed"
586
+ ? `Completed successfully in ${session.currentRound} rounds.`
587
+ : `Terminated with reason '${stopReason}' after ${session.currentRound} rounds.`,
588
+ keyDiscoveries: [],
589
+ date: new Date().toISOString().split("T")[0],
590
+ },
591
+ feedbackEntries: [],
592
+ referenceEntry: {
593
+ description: `LoopForge vault data for "${session.task.slice(0, 80)}"`,
594
+ vaultLocation: `.promptcraft/prompt_vault.json → loop:${session.loopId}:*`,
595
+ },
596
+ };
597
+ await this.memoryWriter(payload);
598
+ logEvent("memory_writeback", {
599
+ loopId: session.loopId, stopReason,
600
+ feedbackCount: payload.feedbackEntries.length,
601
+ });
602
+ }
603
+ catch {
604
+ logEvent("memory_writeback_error", {
605
+ loopId: session.loopId, stopReason,
606
+ });
607
+ }
608
+ }
408
609
  /** Replay timeline for a session — creates ReplayBackend from the stored backend. */
409
610
  replayTimeline(sessionId) {
410
611
  const session = this.sessions.get(sessionId);
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/mcp/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/mcp/session.ts"],"names":[],"mappings":"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"}
@@ -184,6 +184,37 @@ export declare const TOOL_SCHEMAS: ({
184
184
  };
185
185
  description: string;
186
186
  };
187
+ worker_results: {
188
+ type: "array";
189
+ description: string;
190
+ items: {
191
+ type: "object";
192
+ properties: {
193
+ agentId: {
194
+ type: "string";
195
+ };
196
+ subAgentType: {
197
+ type: "string";
198
+ };
199
+ subTask: {
200
+ type: "string";
201
+ };
202
+ resultSummary: {
203
+ type: "string";
204
+ };
205
+ success: {
206
+ type: "boolean";
207
+ };
208
+ discoveredConstraints: {
209
+ type: "array";
210
+ items: {
211
+ type: "string";
212
+ };
213
+ };
214
+ };
215
+ required: string[];
216
+ };
217
+ };
187
218
  };
188
219
  };
189
220
  task?: undefined;
@@ -256,6 +287,6 @@ export declare const TOOL_SCHEMAS: ({
256
287
  required: string[];
257
288
  };
258
289
  })[];
259
- export type ToolHandler = (mgr: SessionManager, input: Record<string, unknown>) => Record<string, unknown>;
290
+ export type ToolHandler = (mgr: SessionManager, input: Record<string, unknown>) => Promise<Record<string, unknown>>;
260
291
  export declare const TOOL_HANDLERS: Record<string, ToolHandler>;
261
292
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,cAAc,CAAC;AAO/D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4OxB,CAAC;AAMF,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3G,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CA0HrD,CAAC"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,cAAc,CAAC;AAO/D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+PxB,CAAC;AAMF,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEpH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CA0HrD,CAAC"}