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
@@ -10,20 +10,51 @@
10
10
  * Compilation: compileL0() / compileL1() / compileL2() produce the actual prompt.
11
11
  */
12
12
  import { type LoopCompileRequest, type LoopCompileResponse, type LoopHealth, type RollingSummary, type TaskAlignment } from "./protocol.js";
13
+ export declare function tokenize(text: string): Set<string>;
14
+ export declare function jaccard(a: Set<string>, b: Set<string>): number;
15
+ /** Filter relevant constraints for a sub-agent task using Jaccard token similarity.
16
+ * Returns constraints whose token overlap with the subTask exceeds the threshold.
17
+ * Default threshold 0.15 is intentionally lower than the 0.3/0.5 alignment thresholds
18
+ * — constraint filtering should err on the side of inclusion. */
19
+ export declare function filterConstraintsForSubTask(allConstraints: string[], subTask: string, threshold?: number): string[];
20
+ /** Format a self-contained delegation prompt for a sub-agent.
21
+ * Produces a prompt that stands alone — no references to parent conversation,
22
+ * no "based on above", no "continue from previous". This matches the AgentTool
23
+ * contract: "Workers can't see your conversation." */
24
+ export declare function formatDelegationPrompt(subTask: string, subAgentType: string, relevantConstraints: string[], options?: {
25
+ context?: string;
26
+ outputFormat?: string;
27
+ }): string;
28
+ /** Build a delegation history summary from vault context (v1.9 — multi-agent).
29
+ * Scans vault for delegation_journal entries and formats them as a table.
30
+ * Returns empty string if no delegation history exists. */
31
+ export declare function buildDelegationSummary(vaultContext: Record<string, unknown> | null): string;
13
32
  export declare function computeGoalTextHash(task: string): string;
14
33
  export declare function deriveGoalId(loopId: string, task: string, explicitGoalId?: string): string;
15
34
  interface PreviousRound {
16
35
  goal_id: string;
17
36
  goal_text_hash: string;
18
- quality_score: number;
19
37
  success: boolean;
20
38
  task: string;
21
39
  constraints_active: string[];
22
40
  prompt_text: string;
23
41
  }
24
42
  export declare function getPreviousRound(loopId: string, roundNum: number, vaultContext: Record<string, unknown> | null): PreviousRound | null;
25
- export declare function buildRollingSummary(loopId: string, currentRound: number, vaultContext: Record<string, unknown> | null): RollingSummary | null;
43
+ export declare function buildRollingSummary(loopId: string, currentRound: number, vaultContext: Record<string, unknown> | null, sinceRound?: number): RollingSummary | null;
26
44
  export declare function formatRollingSummaryForPrompt(rs: RollingSummary | null): string;
45
+ /** Build a CheckpointSummary from the current round's self-evaluation state.
46
+ * Called when the Agent sets compression_checkpoint: true in its self-eval.
47
+ * Snapshots the current constraints and outcome so they survive rolling-window
48
+ * eviction in subsequent rounds. */
49
+ export declare function buildCheckpointSummary(selfEval: import("./protocol.js").SelfEvaluation, round: number, activeConstraints: string[], retiredConstraints: string[]): import("./protocol.js").CheckpointSummary;
50
+ /** Format a CheckpointSummary as a prompt block.
51
+ * Renders as a fixed section that persists across rolling-window eviction.
52
+ * Returns empty string if the summary is null or has no meaningful data. */
53
+ export declare function formatCheckpointForPrompt(cs: import("./protocol.js").CheckpointSummary | null): string;
54
+ /** Format an external context string for injection into an L2 prompt.
55
+ * Wraps the raw context in a marked section with a priority disclaimer.
56
+ * Returns empty string if context is empty or injection is disabled by policy. */
57
+ export declare function formatExternalContext(externalContext: string | undefined, sectionTitle: string, maxLength: number): string;
27
58
  export declare function decideLevel(request: LoopCompileRequest, vaultContext: Record<string, unknown> | null): string;
28
59
  export declare function alignTask(proposedTask: string, request: LoopCompileRequest, vaultContext: Record<string, unknown> | null): TaskAlignment;
29
60
  export declare function checkLoopHealth(loopId: string, request: LoopCompileRequest, vaultContext: Record<string, unknown> | null): LoopHealth;
@@ -1 +1 @@
1
- {"version":3,"file":"loop-compiler.d.ts","sourceRoot":"","sources":["../src/loop-compiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAML,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAEf,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AA8DvB,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,cAAc,SAAK,GAClB,MAAM,CAKR;AAMD,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB;AAcD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC3C,aAAa,GAAG,IAAI,CAoBtB;AAqUD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC3C,cAAc,GAAG,IAAI,CA8JvB;AAED,wBAAgB,6BAA6B,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI,GAAG,MAAM,CA6C/E;AAMD,wBAAgB,WAAW,CACzB,OAAO,EAAE,kBAAkB,EAC3B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC3C,MAAM,CA2DR;AAMD,wBAAgB,SAAS,CACvB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,kBAAkB,EAC3B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC3C,aAAa,CAoDf;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,EAC3B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC3C,UAAU,CA0FZ;AAkBD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,kBAAkB,EAC3B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC3C;IACD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;CAC3B,CAoEA;AA4UD,wBAAgB,SAAS,CACvB,OAAO,EAAE,kBAAkB,EAC3B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC3C,mBAAmB,CA6UrB;AAgYD;;;yDAGyD;AACzD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAgExD;AAMD,wBAAgB,WAAW,CACzB,OAAO,EAAE,kBAAkB,EAC3B,YAAY,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAW,GAClD,mBAAmB,CAiCrB"}
1
+ {"version":3,"file":"loop-compiler.d.ts","sourceRoot":"","sources":["../src/loop-compiler.ts"],"names":[],"mappings":"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"}