loopforge 1.1.1 → 1.3.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 (66) hide show
  1. package/dist/cli.d.ts +1 -1
  2. package/dist/cli.js +36 -183
  3. package/dist/cli.js.map +1 -1
  4. package/dist/engine.d.ts.map +1 -1
  5. package/dist/engine.js +2 -2
  6. package/dist/engine.js.map +1 -1
  7. package/dist/generate-schema.js +56 -4
  8. package/dist/generate-schema.js.map +1 -1
  9. package/dist/index.d.ts +17 -7
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +17 -7
  12. package/dist/index.js.map +1 -1
  13. package/dist/mcp/server.d.ts +14 -0
  14. package/dist/mcp/server.d.ts.map +1 -0
  15. package/dist/mcp/server.js +93 -0
  16. package/dist/mcp/server.js.map +1 -0
  17. package/dist/mcp/session.d.ts +57 -0
  18. package/dist/mcp/session.d.ts.map +1 -0
  19. package/dist/mcp/session.js +177 -0
  20. package/dist/mcp/session.js.map +1 -0
  21. package/dist/mcp/tools.d.ts +108 -0
  22. package/dist/mcp/tools.d.ts.map +1 -0
  23. package/dist/mcp/tools.js +191 -0
  24. package/dist/mcp/tools.js.map +1 -0
  25. package/dist/mcp-server.d.ts +12 -0
  26. package/dist/mcp-server.d.ts.map +1 -0
  27. package/dist/mcp-server.js +14 -0
  28. package/dist/mcp-server.js.map +1 -0
  29. package/dist/policy.d.ts +8 -0
  30. package/dist/policy.d.ts.map +1 -1
  31. package/dist/policy.js +7 -0
  32. package/dist/policy.js.map +1 -1
  33. package/dist/protocol.d.ts +68 -1
  34. package/dist/protocol.d.ts.map +1 -1
  35. package/dist/protocol.js +9 -1
  36. package/dist/protocol.js.map +1 -1
  37. package/dist/runtime.d.ts +57 -0
  38. package/dist/runtime.d.ts.map +1 -0
  39. package/dist/runtime.js +414 -0
  40. package/dist/runtime.js.map +1 -0
  41. package/dist/tests/_helpers.d.ts +25 -0
  42. package/dist/tests/_helpers.d.ts.map +1 -0
  43. package/dist/tests/_helpers.js +47 -0
  44. package/dist/tests/_helpers.js.map +1 -0
  45. package/dist/tests/generate-schema.test.js +2 -2
  46. package/dist/tests/generate-schema.test.js.map +1 -1
  47. package/dist/tests/mcp.test.d.ts +7 -0
  48. package/dist/tests/mcp.test.d.ts.map +1 -0
  49. package/dist/tests/mcp.test.js +212 -0
  50. package/dist/tests/mcp.test.js.map +1 -0
  51. package/dist/tests/replay.test.js +69 -41
  52. package/dist/tests/replay.test.js.map +1 -1
  53. package/dist/tests/runtime.test.d.ts +7 -0
  54. package/dist/tests/runtime.test.d.ts.map +1 -0
  55. package/dist/tests/runtime.test.js +323 -0
  56. package/dist/tests/runtime.test.js.map +1 -0
  57. package/loop_policy.json +7 -0
  58. package/package.json +8 -6
  59. package/skills/perception/SKILL.md +186 -0
  60. package/skills/prompt-techniques/SKILL.md +52 -0
  61. package/skills/prompt-techniques/references/chain-of-thought.md +207 -0
  62. package/skills/prompt-techniques/references/few-shot.md +174 -0
  63. package/skills/prompt-techniques/references/least-to-most.md +182 -0
  64. package/skills/prompt-techniques/references/step-back.md +160 -0
  65. package/skills/prompt-techniques/references/tree-of-thought.md +191 -0
  66. package/skills/prompt-techniques/references/zero-shot.md +97 -0
package/dist/cli.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  /** LoopForge CLI — command-line interface for the loop compiler.
3
3
  *
4
- * v1.0 — npm install loopforge
4
+ * v1.2 — npm install loopforge
5
5
  */
6
6
  export {};
7
7
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.js CHANGED
@@ -1,17 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
  /** LoopForge CLI — command-line interface for the loop compiler.
3
3
  *
4
- * v1.0 — npm install loopforge
4
+ * v1.2 — npm install loopforge
5
5
  */
6
- import { createEngine, extractSelfEvaluation } from "./engine.js";
6
+ import { createEngine } from "./engine.js";
7
7
  import { FSBackend } from "./backends/fs.js";
8
8
  import { ReplayBackend } from "./replay.js";
9
- import { makeExecutionFeedback, } from "./protocol.js";
10
- import { runOneRound } from "./autonomous.js";
9
+ import { Mode, makeExecutionFeedback, } from "./protocol.js";
10
+ import { LoopRuntime } from "./runtime.js";
11
11
  // ═══════════════════════════════════════════════════════════════════════════
12
12
  // Constants
13
13
  // ═══════════════════════════════════════════════════════════════════════════
14
- const VERSION = "1.1.0";
14
+ const VERSION = "1.2.0";
15
15
  const VAULT_CONFIG = {
16
16
  project_vault: ".promptcraft/prompt_vault.json",
17
17
  global_vault: "~/.promptcraft/global_vault.json",
@@ -24,8 +24,7 @@ Usage:
24
24
  loopforge init Initialise .promptcraft vault
25
25
  loopforge compile [json] Compile a loop prompt
26
26
  loopforge feedback [json] Record execution feedback
27
- loopforge run [json] Autonomous loop (compile → execute → extract → repeat)
28
- loopforge hook-stop [json] Claude Code Stop hook handler — auto-continue loop
27
+ loopforge run [json] Autonomous loop (event-driven runtime)
29
28
  loopforge replay <loop-id> Show loop timeline
30
29
  loopforge diff <loop-id> <a> <b> Diff two rounds
31
30
  loopforge review <loop-id> <rN> Audit stored prompt
@@ -41,8 +40,7 @@ const CMD_HELP = {
41
40
  init: "loopforge init — create .promptcraft/prompt_vault.json if it doesn't exist.",
42
41
  compile: "loopforge compile '<json>' — run loop_compile (L0/L1/L2).\n Required: task, loop_id, goal_id. Optional: round, domain, constraints_from_plan, new_since_last_round, force_level.",
43
42
  feedback: "loopforge feedback '<json>' — record execution result.\n Flat: {loop_id, round, success, score, output}\n Nested: {loop_id, round, feedback: {success, score, output}}",
44
- run: "loopforge run '<json>' — autonomous loop (v1.1).\n Required: task, loop_id. Optional: goal_id, max_rounds (default 20), plan_source, domain.\n Outputs compiled prompt → reads agent output from stdin → extracts self-eval → compiles next → repeat.\n Pipe mode: echo '{\"task\":\"...\",\"loop_id\":\"...\"}' | loopforge run",
45
- "hook-stop": "loopforge hook-stop --loop-id <id> — Claude Code Stop hook handler.\n Reads Stop hook JSON from stdin, extracts self-eval from last_assistant_message,\n auto-feeds back, compiles next round, outputs decision JSON.",
43
+ run: "loopforge run '<json>' — autonomous loop (v1.2).\n Required: task, loop_id. Optional: max_rounds (default 20), plan_source, domain.\n Outputs compiled prompt → reads agent output from stdin → continues until task complete or circuit breaker.",
46
44
  replay: "loopforge replay <loop-id> — show timeline: round, recompile level, quality, technique, task.",
47
45
  diff: "loopforge diff <loop-id> <round-a> <round-b> — field-level comparison between two rounds.",
48
46
  review: "loopforge review <loop-id> <round-num> — structural audit of a stored prompt.",
@@ -133,7 +131,7 @@ async function cmdCompile(engine, jsonArg) {
133
131
  const data = parseJson(raw);
134
132
  const result = engine.invokeLoopCompile({
135
133
  task: data.task ?? "",
136
- mode: "loop_compile",
134
+ mode: Mode.LOOP_COMPILE,
137
135
  vault_config: { ...VAULT_CONFIG },
138
136
  feedback: null,
139
137
  skill_name: null,
@@ -164,7 +162,7 @@ async function cmdFeedback(engine, jsonArg) {
164
162
  }
165
163
  const result = engine.invokeFeedback({
166
164
  task: data.task ?? "",
167
- mode: "feedback",
165
+ mode: Mode.FEEDBACK,
168
166
  vault_config: { ...VAULT_CONFIG },
169
167
  feedback: makeExecutionFeedback({
170
168
  output: fbPayload.output ?? "",
@@ -274,7 +272,7 @@ function cmdReview(loopId, roundStr) {
274
272
  }
275
273
  const result = engine.handleReview({
276
274
  task: target.task ?? "review",
277
- mode: "review",
275
+ mode: Mode.REVIEW,
278
276
  vault_config: { ...VAULT_CONFIG },
279
277
  feedback: null,
280
278
  skill_name: null,
@@ -282,7 +280,7 @@ function cmdReview(loopId, roundStr) {
282
280
  }, { results: [target], global_entries: [] });
283
281
  console.log(result.response?.prompt ?? "Review produced no output.");
284
282
  }
285
- async function cmdRun(engine, jsonArg) {
283
+ async function cmdRun(_engine, jsonArg) {
286
284
  if (jsonArg === "--help" || jsonArg === "-h") {
287
285
  showHelp("run");
288
286
  return;
@@ -303,182 +301,40 @@ async function cmdRun(engine, jsonArg) {
303
301
  die("run requires 'task' field");
304
302
  if (!loopId)
305
303
  die("run requires 'loop_id' field");
306
- const config = {
304
+ const maxRounds = data.max_rounds ?? 20;
305
+ const runtime = new LoopRuntime({
307
306
  task,
308
307
  loopId,
309
- goalId: data.goal_id ?? "",
310
- maxRounds: data.max_rounds ?? 20,
311
- healthCheckInterval: data.health_check_interval ?? 3,
308
+ maxRounds,
309
+ interactive: true,
310
+ goalId: data.goal_id ?? undefined,
312
311
  planSource: data.plan_source ?? undefined,
313
312
  constraintsFromPlan: data.constraints_from_plan ?? [],
314
313
  domain: data.domain ?? "",
315
- };
316
- let agentOutput = null;
317
- for (let round = 1; round <= (config.maxRounds ?? 20); round++) {
318
- const result = runOneRound(engine, config, round, agentOutput);
319
- if (result.stopNow) {
320
- const reason = result.stopReason ?? "unknown";
321
- const summary = result.selfEval?.output_summary ?? "";
322
- console.log(`\n--- Loop stopped: ${reason} ---`);
323
- if (summary)
324
- console.log(`Last output: ${summary.slice(0, 200)}`);
325
- if (reason === "extraction_failed") {
326
- console.log("WARNING: Could not extract self-evaluation from agent output. " +
327
- "Ensure the agent outputs a ---loopforge-eval block.");
328
- process.exit(1);
329
- }
330
- break;
331
- }
332
- if (!result.roundOutput) {
333
- console.log("\n--- Loop stopped: engine error ---");
334
- process.exit(1);
335
- }
336
- const ro = result.roundOutput;
337
- console.log(`\n=== Round ${ro.round} | Level: ${ro.recompileLevel.toUpperCase()} | ` +
338
- `Technique: ${ro.techniqueUsed} ===\n`);
339
- console.log(ro.prompt);
340
- console.log(`\n=== End Round ${ro.round} Prompt ===\n` +
341
- `[Paste agent output above, then press Ctrl+D (Unix) or Ctrl+Z (Windows) to continue]\n`);
342
- const output = await readStdin();
343
- if (!output.trim()) {
344
- console.log("No agent output provided. Stopping loop.");
345
- break;
346
- }
347
- agentOutput = output;
348
- }
349
- }
350
- /** Claude Code Stop hook handler.
351
- * Reads Stop hook JSON from stdin, extracts self-eval from the agent's last
352
- * message, auto-records feedback, compiles the next round, and outputs a
353
- * decision JSON that either blocks the stop (to continue the loop) or lets
354
- * the agent stop naturally. */
355
- async function cmdHookStop() {
356
- const raw = await readStdin();
357
- if (!raw.trim()) {
358
- // No stdin — not called from a hook, nothing to do
359
- process.exit(0);
360
- }
361
- let hookInput;
362
- try {
363
- hookInput = JSON.parse(raw);
364
- }
365
- catch {
366
- // Not valid JSON — exit silently, don't break the hook chain
367
- process.exit(0);
368
- }
369
- const lastMessage = String(hookInput.last_assistant_message ?? "").trim();
370
- const stopHookActive = Boolean(hookInput.stop_hook_active);
371
- const cwd = String(hookInput.cwd ?? process.cwd());
372
- // Guard: if stop_hook_active is true, we already blocked once —
373
- // don't block again to prevent infinite loops
374
- if (stopHookActive) {
375
- process.exit(0);
376
- }
377
- if (!lastMessage) {
378
- process.exit(0);
379
- }
380
- // Try structured extraction from agent's last message
381
- let selfEval = extractSelfEvaluation(lastMessage);
382
- if (selfEval === null) {
383
- // No structured self-eval found — agent may have finished without
384
- // outputting the block. Let it stop naturally.
385
- process.exit(0);
386
- }
387
- // Determine loop_id from the vault or environment
388
- // Look for loop_id in the agent's message context, or use LOOPFORGE_LOOP_ID env
389
- const envLoopId = process.env.LOOPFORGE_LOOP_ID ?? "";
390
- let loopId = envLoopId;
391
- // Try to extract loop_id from the self-eval context (embedded in the prompt)
392
- if (!loopId) {
393
- // Scan the vault for the most recently active loop
394
- const backend = new FSBackend();
395
- const vault = backend.readVault();
396
- const entries = vault.entries ?? [];
397
- // Find the loop with the most recent entry
398
- let latestTimestamp = "";
399
- for (const e of entries) {
400
- const ts = String(e.timestamp ?? "");
401
- const lid = String(e.loop_id ??
402
- e.loopId ??
403
- "");
404
- if (lid && ts > latestTimestamp) {
405
- latestTimestamp = ts;
406
- loopId = lid;
407
- }
408
- }
409
- }
410
- if (!loopId) {
411
- // No loop_id found — can't continue without knowing which loop
412
- process.exit(0);
413
- }
414
- // Determine current round from vault
415
- const engine = createEngine("skills");
416
- const context = engine.hydrateLoopContext(loopId);
417
- let currentRound = 0;
418
- if (context) {
419
- const results = context.results ?? [];
420
- for (const r of results) {
421
- const lineage = (r.loop_lineage ??
422
- r.lineage ??
423
- {});
424
- const rnd = lineage.round ?? 0;
425
- if (rnd > currentRound)
426
- currentRound = rnd;
427
- }
428
- }
429
- const nextRound = currentRound + 1;
430
- // If task is complete, let the agent stop
431
- if (!selfEval.should_continue) {
432
- // Record final feedback
433
- engine.autoFeedback(selfEval, loopId, currentRound > 0 ? currentRound : 1, `loop:${loopId}`);
434
- process.exit(0);
435
- }
436
- // Record feedback for the round that just completed
437
- engine.autoFeedback(selfEval, loopId, currentRound > 0 ? currentRound : 1, `loop:${loopId}`);
438
- // Check circuit breaker
439
- if (engine.shouldBreak()) {
440
- process.exit(0); // STALLED — let agent stop
441
- }
442
- // Compile the next round's prompt
443
- const compileResult = engine.invokeLoopCompile({
444
- task: `loop:${loopId}`,
445
- mode: "loop_compile",
446
- vault_config: {
447
- project_vault: ".promptcraft/prompt_vault.json",
448
- global_vault: "~/.promptcraft/global_vault.json",
449
- skills_dir: "skills",
450
- no_global: false,
314
+ onRoundStart: (info) => {
315
+ console.log(`\n=== Round ${info.round} | Level: ${info.level.toUpperCase()} | ` +
316
+ `Technique: ${info.technique} ===\n`);
317
+ console.log(info.prompt);
318
+ console.log(`\n=== End Round ${info.round} Prompt ===\n` +
319
+ `[Paste agent output, then press Ctrl+D (Unix) or Ctrl+Z (Windows) to continue]\n`);
451
320
  },
452
- feedback: null,
453
- skill_name: null,
454
- task_id: null,
455
- loop_id: loopId,
456
- round: nextRound,
457
- goal_id: selfEval.should_continue ? loopId : "",
458
- last_round_result: {
459
- round: currentRound > 0 ? currentRound : 1,
460
- success: selfEval.success,
461
- output_summary: selfEval.output_summary,
462
- constraint_violations: selfEval.constraint_violations,
463
- manual_fixes_needed: "",
464
- quality_score: 0,
321
+ execute: async (_prompt, _ctx) => {
322
+ const output = await readStdin();
323
+ if (!output.trim()) {
324
+ throw new Error("No agent output provided.");
325
+ }
326
+ return output;
465
327
  },
466
328
  });
467
- if (!compileResult.response?.prompt) {
468
- process.exit(0);
329
+ const result = await runtime.start();
330
+ console.log(`\n--- Loop stopped: ${result.stopReason} ---`);
331
+ console.log(`Rounds: ${result.roundsCompleted} | ` +
332
+ `Quality: [${result.qualityTrajectory.join(", ")}]`);
333
+ if (result.stopReason === "stalled" && result.qualityTrajectory.length > 0) {
334
+ const lastRound = result.roundsCompleted;
335
+ console.log(`WARNING: Could not extract self-evaluation from agent output in round ${lastRound}. ` +
336
+ "Ensure the agent outputs a ---loopforge-eval block.");
469
337
  }
470
- // Output the decision to block the stop and inject the next prompt
471
- const decision = {
472
- decision: "block",
473
- reason: `LoopForge: continuing to round ${nextRound}`,
474
- hookSpecificOutput: {
475
- hookEventName: "Stop",
476
- additionalContext: `\n${compileResult.response.prompt}\n\n` +
477
- `[LoopForge auto-continue — round ${nextRound}]`,
478
- },
479
- };
480
- console.log(JSON.stringify(decision));
481
- process.exit(0);
482
338
  }
483
339
  function cmdStatus() {
484
340
  const backend = new FSBackend();
@@ -540,9 +396,6 @@ async function main() {
540
396
  case "run":
541
397
  await cmdRun(engine, args[1]);
542
398
  break;
543
- case "hook-stop":
544
- await cmdHookStop();
545
- break;
546
399
  case "replay":
547
400
  cmdReplay(args[1]);
548
401
  break;
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAWL,KAAK,eAAe,EAIpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,eAAe,CAAC;AASvB;;qEAEqE;AACrE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAqBzE;AAED;;;0DAG0D;AAC1D,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAqB3E;AAMD,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;CACtB;AAmBD,qBAAa,eAAe;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,GAAG,IAAI,CAAQ;IAClC,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,mBAAmB,CAAoB;IAC/C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC/B,OAAO,CAAC,eAAe,CAAqB;gBAEhC,SAAS,SAAW,EAAE,OAAO,CAAC,EAAE,YAAY;IAKxD,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,sBAAsB;IAkB9B,mBAAmB,IAAI,MAAM;IA4D7B,OAAO,CAAC,kBAAkB;IA0F1B,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAqFlE,WAAW,CACT,OAAO,EAAE,gBAAgB,EACzB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC/C,eAAe;IAoClB,cAAc,CACZ,OAAO,EAAE,gBAAgB,EACzB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC/C,eAAe;IA0FlB;;;iEAG6D;IAC7D,YAAY,CACV,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,MAAM;IAoDT,iBAAiB,CACf,OAAO,EAAE,gBAAgB,EACzB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC9C,eAAe;IA6JlB,YAAY,CACV,OAAO,EAAE,gBAAgB,EACzB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC9C,eAAe;IAsElB,WAAW,IAAI,OAAO;CAYvB;AAMD,wBAAgB,YAAY,CAC1B,SAAS,SAAW,EACpB,OAAO,CAAC,EAAE,YAAY,GACrB,eAAe,CAEjB"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAaL,KAAK,eAAe,EAIpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,eAAe,CAAC;AASvB;;qEAEqE;AACrE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAqBzE;AAED;;;0DAG0D;AAC1D,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAqB3E;AAMD,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;CACtB;AAmBD,qBAAa,eAAe;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,GAAG,IAAI,CAAQ;IAClC,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,mBAAmB,CAAoB;IAC/C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC/B,OAAO,CAAC,eAAe,CAAqB;gBAEhC,SAAS,SAAW,EAAE,OAAO,CAAC,EAAE,YAAY;IAKxD,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,sBAAsB;IAkB9B,mBAAmB,IAAI,MAAM;IA4D7B,OAAO,CAAC,kBAAkB;IA0F1B,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAqFlE,WAAW,CACT,OAAO,EAAE,gBAAgB,EACzB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC/C,eAAe;IAoClB,cAAc,CACZ,OAAO,EAAE,gBAAgB,EACzB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC/C,eAAe;IA0FlB;;;iEAG6D;IAC7D,YAAY,CACV,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,MAAM;IAoDT,iBAAiB,CACf,OAAO,EAAE,gBAAgB,EACzB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC9C,eAAe;IA6JlB,YAAY,CACV,OAAO,EAAE,gBAAgB,EACzB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC9C,eAAe;IAsElB,WAAW,IAAI,OAAO;CAYvB;AAMD,wBAAgB,YAAY,CAC1B,SAAS,SAAW,EACpB,OAAO,CAAC,EAAE,YAAY,GACrB,eAAe,CAEjB"}
package/dist/engine.js CHANGED
@@ -8,7 +8,7 @@
8
8
  import { randomUUID } from "node:crypto";
9
9
  import { getPolicy } from "./policy.js";
10
10
  import { FSBackend, readLineageMd } from "./backends/fs.js";
11
- import { AgentStatus, makeAnalysis, makeExecutionFeedback, makeLoopCompileRequest, makeLoopObjective, makeLoopRoundResult, makeSelfEvaluation, makeSessionState, makeTaskId, SELF_EVAL_REGEX, } from "./protocol.js";
11
+ import { AgentStatus, Mode, makeAnalysis, makeExecutionFeedback, makeLoopCompileRequest, makeLoopObjective, makeLoopRoundResult, makeSelfEvaluation, makeSessionState, makeTaskId, makeVaultConfig, SELF_EVAL_REGEX, } from "./protocol.js";
12
12
  import { routeTechnique } from "./builder.js";
13
13
  import { scoreQuality } from "./builder.js";
14
14
  import { compileLoop } from "./loop-compiler.js";
@@ -443,7 +443,7 @@ export class LoopForgeEngine {
443
443
  * Call this BEFORE invokeLoopCompile for the next round so that
444
444
  * hydrateLoopContext picks up the latest quality scores. */
445
445
  autoFeedback(selfEval, loopId, round, task) {
446
- this.ensureInit({ task, mode: "feedback", vault_config: {}, feedback: null, skill_name: null, task_id: null });
446
+ this.ensureInit({ task, mode: Mode.FEEDBACK, vault_config: makeVaultConfig(), feedback: null, skill_name: null, task_id: null });
447
447
  const fb = makeExecutionFeedback({
448
448
  output: selfEval.output_summary,
449
449
  success: selfEval.success,
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
@@ -136,9 +136,21 @@ function convertTypeNode(typeNode, checker) {
136
136
  const declarations = sym.getDeclarations();
137
137
  if (declarations?.length) {
138
138
  const decl = declarations[0];
139
- if (ts.isInterfaceDeclaration(decl) ||
140
- ts.isEnumDeclaration(decl) ||
141
- ts.isTypeAliasDeclaration(decl)) {
139
+ if (ts.isInterfaceDeclaration(decl) || ts.isEnumDeclaration(decl)) {
140
+ return { $ref: `#/$defs/${decl.name.text}` };
141
+ }
142
+ if (ts.isTypeAliasDeclaration(decl)) {
143
+ // Function type aliases (e.g. AgentExecutor) can't be represented
144
+ // in JSON Schema — return a descriptive placeholder instead of
145
+ // a dangling $ref to a non-existent definition.
146
+ if (decl.type.kind === ts.SyntaxKind.FunctionType ||
147
+ (ts.isUnionTypeNode(decl.type) &&
148
+ decl.type.types.some((t) => t.kind === ts.SyntaxKind.FunctionType))) {
149
+ return {
150
+ description: `Function signature: ${name}. Omitted from JSON Schema.`,
151
+ };
152
+ }
153
+ // Non-function type alias — $ref to definition
142
154
  return { $ref: `#/$defs/${decl.name.text}` };
143
155
  }
144
156
  }
@@ -258,7 +270,47 @@ function generateSchema() {
258
270
  else if (ts.isInterfaceDeclaration(stmt)) {
259
271
  defs[stmt.name.text] = convertInterface(stmt, checker);
260
272
  }
261
- // Skip functions, variables, type aliases, etc.
273
+ else if (ts.isTypeAliasDeclaration(stmt)) {
274
+ // Process type alias: skip function types, convert string unions
275
+ const aliasType = stmt.type;
276
+ if (aliasType.kind === ts.SyntaxKind.FunctionType) {
277
+ continue; // Function signatures can't be represented in JSON Schema
278
+ }
279
+ if (ts.isUnionTypeNode(aliasType)) {
280
+ // Check if it's a union of string literals (like StopReason)
281
+ const allStrings = aliasType.types.every((t) => ts.isLiteralTypeNode(t) &&
282
+ ts.isStringLiteral(t.literal));
283
+ if (allStrings) {
284
+ const enumValues = aliasType.types.map((t) => {
285
+ const lit = t;
286
+ if (ts.isStringLiteral(lit.literal))
287
+ return lit.literal.text;
288
+ return lit.literal.getText();
289
+ });
290
+ defs[stmt.name.text] = {
291
+ type: "string",
292
+ enum: enumValues,
293
+ };
294
+ continue;
295
+ }
296
+ // Union that includes function types → skip
297
+ if (aliasType.types.some((t) => t.kind === ts.SyntaxKind.FunctionType)) {
298
+ continue;
299
+ }
300
+ }
301
+ // Other type aliases — try to convert
302
+ try {
303
+ const converted = convertTypeNode(stmt.type, checker);
304
+ if (converted.$ref) {
305
+ // It's just a reference to another type, skip (duplicate)
306
+ continue;
307
+ }
308
+ defs[stmt.name.text] = converted;
309
+ }
310
+ catch {
311
+ // If conversion fails, skip — better a missing def than a broken schema
312
+ }
313
+ }
262
314
  }
263
315
  const schema = {
264
316
  $schema: "https://json-schema.org/draft/2020-12/schema",