loopforge 1.15.1 → 2.0.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 (193) hide show
  1. package/README.md +172 -95
  2. package/dist/backends/interface.d.ts +5 -10
  3. package/dist/backends/interface.d.ts.map +1 -1
  4. package/dist/backends/interface.js +3 -4
  5. package/dist/backends/interface.js.map +1 -1
  6. package/dist/canonical-state.d.ts +53 -0
  7. package/dist/canonical-state.d.ts.map +1 -0
  8. package/dist/canonical-state.js +161 -0
  9. package/dist/canonical-state.js.map +1 -0
  10. package/dist/cli.d.ts +4 -0
  11. package/dist/cli.d.ts.map +1 -0
  12. package/dist/cli.js +227 -0
  13. package/dist/cli.js.map +1 -0
  14. package/dist/enforcement-gate.d.ts.map +1 -1
  15. package/dist/enforcement-gate.js +28 -10
  16. package/dist/enforcement-gate.js.map +1 -1
  17. package/dist/engine.d.ts +9 -28
  18. package/dist/engine.d.ts.map +1 -1
  19. package/dist/engine.js +135 -361
  20. package/dist/engine.js.map +1 -1
  21. package/dist/evidence-provider.d.ts +146 -0
  22. package/dist/evidence-provider.d.ts.map +1 -0
  23. package/dist/evidence-provider.js +512 -0
  24. package/dist/evidence-provider.js.map +1 -0
  25. package/dist/index.d.ts +19 -13
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +15 -12
  28. package/dist/index.js.map +1 -1
  29. package/dist/init.d.ts +15 -0
  30. package/dist/init.d.ts.map +1 -0
  31. package/dist/init.js +49 -0
  32. package/dist/init.js.map +1 -0
  33. package/dist/interop.d.ts +35 -0
  34. package/dist/interop.d.ts.map +1 -0
  35. package/dist/interop.js +34 -0
  36. package/dist/interop.js.map +1 -0
  37. package/dist/loop-compiler.d.ts +14 -64
  38. package/dist/loop-compiler.d.ts.map +1 -1
  39. package/dist/loop-compiler.js +305 -2206
  40. package/dist/loop-compiler.js.map +1 -1
  41. package/dist/loop-extras-parser.d.ts +82 -0
  42. package/dist/loop-extras-parser.d.ts.map +1 -0
  43. package/dist/loop-extras-parser.js +217 -0
  44. package/dist/loop-extras-parser.js.map +1 -0
  45. package/dist/loop-store.d.ts +104 -0
  46. package/dist/loop-store.d.ts.map +1 -0
  47. package/dist/loop-store.js +421 -0
  48. package/dist/loop-store.js.map +1 -0
  49. package/dist/mcp/server.d.ts +9 -6
  50. package/dist/mcp/server.d.ts.map +1 -1
  51. package/dist/mcp/server.js +109 -73
  52. package/dist/mcp/server.js.map +1 -1
  53. package/dist/mcp/session.d.ts +102 -21
  54. package/dist/mcp/session.d.ts.map +1 -1
  55. package/dist/mcp/session.js +795 -400
  56. package/dist/mcp/session.js.map +1 -1
  57. package/dist/mcp/tools.d.ts +18 -268
  58. package/dist/mcp/tools.d.ts.map +1 -1
  59. package/dist/mcp/tools.js +226 -12
  60. package/dist/mcp/tools.js.map +1 -1
  61. package/dist/observability.d.ts +36 -16
  62. package/dist/observability.d.ts.map +1 -1
  63. package/dist/observability.js +82 -23
  64. package/dist/observability.js.map +1 -1
  65. package/dist/policy-metrics.d.ts +46 -0
  66. package/dist/policy-metrics.d.ts.map +1 -0
  67. package/dist/policy-metrics.js +146 -0
  68. package/dist/policy-metrics.js.map +1 -0
  69. package/dist/policy.d.ts +52 -147
  70. package/dist/policy.d.ts.map +1 -1
  71. package/dist/policy.js +118 -191
  72. package/dist/policy.js.map +1 -1
  73. package/dist/prompt-assembler.d.ts +30 -0
  74. package/dist/prompt-assembler.d.ts.map +1 -0
  75. package/dist/prompt-assembler.js +278 -0
  76. package/dist/prompt-assembler.js.map +1 -0
  77. package/dist/prompt-policy.d.ts +29 -0
  78. package/dist/prompt-policy.d.ts.map +1 -0
  79. package/dist/prompt-policy.js +51 -0
  80. package/dist/prompt-policy.js.map +1 -0
  81. package/dist/protocol.d.ts +75 -152
  82. package/dist/protocol.d.ts.map +1 -1
  83. package/dist/protocol.js +11 -53
  84. package/dist/protocol.js.map +1 -1
  85. package/dist/replay.d.ts.map +1 -1
  86. package/dist/replay.js +1 -27
  87. package/dist/replay.js.map +1 -1
  88. package/dist/round-coordinator.d.ts +90 -0
  89. package/dist/round-coordinator.d.ts.map +1 -0
  90. package/dist/round-coordinator.js +186 -0
  91. package/dist/round-coordinator.js.map +1 -0
  92. package/dist/round-driver.d.ts +53 -0
  93. package/dist/round-driver.d.ts.map +1 -0
  94. package/dist/round-driver.js +101 -0
  95. package/dist/round-driver.js.map +1 -0
  96. package/dist/round-transaction.d.ts +70 -0
  97. package/dist/round-transaction.d.ts.map +1 -0
  98. package/dist/round-transaction.js +290 -0
  99. package/dist/round-transaction.js.map +1 -0
  100. package/dist/self-eval.d.ts +26 -0
  101. package/dist/self-eval.d.ts.map +1 -0
  102. package/dist/self-eval.js +154 -0
  103. package/dist/self-eval.js.map +1 -0
  104. package/dist/storage.d.ts +39 -0
  105. package/dist/storage.d.ts.map +1 -0
  106. package/dist/storage.js +193 -0
  107. package/dist/storage.js.map +1 -0
  108. package/dist/verification-gate.d.ts +31 -7
  109. package/dist/verification-gate.d.ts.map +1 -1
  110. package/dist/verification-gate.js +250 -7
  111. package/dist/verification-gate.js.map +1 -1
  112. package/loop_policy.json +19 -53
  113. package/package.json +13 -10
  114. package/skills/perception/SKILL.md +80 -267
  115. package/dist/backends/fs.d.ts +0 -36
  116. package/dist/backends/fs.d.ts.map +0 -1
  117. package/dist/backends/fs.js +0 -362
  118. package/dist/backends/fs.js.map +0 -1
  119. package/dist/builder.d.ts +0 -19
  120. package/dist/builder.d.ts.map +0 -1
  121. package/dist/builder.js +0 -215
  122. package/dist/builder.js.map +0 -1
  123. package/dist/mcp-server.d.ts +0 -12
  124. package/dist/mcp-server.d.ts.map +0 -1
  125. package/dist/mcp-server.js +0 -14
  126. package/dist/mcp-server.js.map +0 -1
  127. package/dist/memory-bridge.d.ts +0 -47
  128. package/dist/memory-bridge.d.ts.map +0 -1
  129. package/dist/memory-bridge.js +0 -290
  130. package/dist/memory-bridge.js.map +0 -1
  131. package/dist/runtime.d.ts +0 -80
  132. package/dist/runtime.d.ts.map +0 -1
  133. package/dist/runtime.js +0 -699
  134. package/dist/runtime.js.map +0 -1
  135. package/dist/tests/_helpers.d.ts +0 -25
  136. package/dist/tests/_helpers.d.ts.map +0 -1
  137. package/dist/tests/_helpers.js +0 -47
  138. package/dist/tests/_helpers.js.map +0 -1
  139. package/dist/tests/builder.test.d.ts +0 -2
  140. package/dist/tests/builder.test.d.ts.map +0 -1
  141. package/dist/tests/builder.test.js +0 -112
  142. package/dist/tests/builder.test.js.map +0 -1
  143. package/dist/tests/enforcement-gate.test.d.ts +0 -2
  144. package/dist/tests/enforcement-gate.test.d.ts.map +0 -1
  145. package/dist/tests/enforcement-gate.test.js +0 -328
  146. package/dist/tests/enforcement-gate.test.js.map +0 -1
  147. package/dist/tests/engine.test.d.ts +0 -2
  148. package/dist/tests/engine.test.d.ts.map +0 -1
  149. package/dist/tests/engine.test.js +0 -375
  150. package/dist/tests/engine.test.js.map +0 -1
  151. package/dist/tests/generate-schema.test.d.ts +0 -8
  152. package/dist/tests/generate-schema.test.d.ts.map +0 -1
  153. package/dist/tests/generate-schema.test.js +0 -199
  154. package/dist/tests/generate-schema.test.js.map +0 -1
  155. package/dist/tests/loop-compiler.test.d.ts +0 -2
  156. package/dist/tests/loop-compiler.test.d.ts.map +0 -1
  157. package/dist/tests/loop-compiler.test.js +0 -1059
  158. package/dist/tests/loop-compiler.test.js.map +0 -1
  159. package/dist/tests/mcp.test.d.ts +0 -7
  160. package/dist/tests/mcp.test.d.ts.map +0 -1
  161. package/dist/tests/mcp.test.js +0 -505
  162. package/dist/tests/mcp.test.js.map +0 -1
  163. package/dist/tests/memory-bridge.test.d.ts +0 -8
  164. package/dist/tests/memory-bridge.test.d.ts.map +0 -1
  165. package/dist/tests/memory-bridge.test.js +0 -383
  166. package/dist/tests/memory-bridge.test.js.map +0 -1
  167. package/dist/tests/policy.test.d.ts +0 -2
  168. package/dist/tests/policy.test.d.ts.map +0 -1
  169. package/dist/tests/policy.test.js +0 -49
  170. package/dist/tests/policy.test.js.map +0 -1
  171. package/dist/tests/protocol.test.d.ts +0 -2
  172. package/dist/tests/protocol.test.d.ts.map +0 -1
  173. package/dist/tests/protocol.test.js +0 -73
  174. package/dist/tests/protocol.test.js.map +0 -1
  175. package/dist/tests/replay.test.d.ts +0 -2
  176. package/dist/tests/replay.test.d.ts.map +0 -1
  177. package/dist/tests/replay.test.js +0 -222
  178. package/dist/tests/replay.test.js.map +0 -1
  179. package/dist/tests/runtime.test.d.ts +0 -7
  180. package/dist/tests/runtime.test.d.ts.map +0 -1
  181. package/dist/tests/runtime.test.js +0 -337
  182. package/dist/tests/runtime.test.js.map +0 -1
  183. package/dist/tests/verification-gate.test.d.ts +0 -2
  184. package/dist/tests/verification-gate.test.d.ts.map +0 -1
  185. package/dist/tests/verification-gate.test.js +0 -407
  186. package/dist/tests/verification-gate.test.js.map +0 -1
  187. package/skills/prompt-techniques/SKILL.md +0 -52
  188. package/skills/prompt-techniques/references/chain-of-thought.md +0 -207
  189. package/skills/prompt-techniques/references/few-shot.md +0 -174
  190. package/skills/prompt-techniques/references/least-to-most.md +0 -182
  191. package/skills/prompt-techniques/references/step-back.md +0 -160
  192. package/skills/prompt-techniques/references/tree-of-thought.md +0 -191
  193. package/skills/prompt-techniques/references/zero-shot.md +0 -97
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** LoopForge — Loop-Time Intelligence Layer for AI coding agents.
1
+ /** LoopForge — Cognitive State Runtime for AI coding agents.
2
2
  *
3
3
  * TypeScript reference implementation v1.3.
4
4
  *
@@ -22,24 +22,27 @@
22
22
  * server.start();
23
23
  */
24
24
  // Protocol types
25
- export { Mode, AgentStatus, Technique, makeAnalysis, makeVaultConfig, makeExecutionFeedback, makeSelfEvaluation, makeLoopObjective, makeLoopHealth, makeRollingSummary, makeTaskAlignment, makeLoopRoundResult, makeLoopCompileRequest, makeLoopCompileResponse, makeSessionState, makeTaskId, toDict, SELF_EVAL_REGEX, STOP_REASON_OUTCOME_MAP, } from "./protocol.js";
25
+ export { Mode, AgentStatus, makeExecutionFeedback, makeSelfEvaluation, makeLoopObjective, makeLoopHealth, makeRollingSummary, makeTaskAlignment, makeLoopRoundResult, makeLoopCompileRequest, makeLoopCompileResponse, makeSessionState, makeTaskId, toDict, SELF_EVAL_REGEX, makeEvidenceSnapshot, makeVerificationFlag, makeVerificationResult, makeEnforcementResult, makeCheckpointSummary, } from "./protocol.js";
26
26
  // Policy
27
- export { getPolicy, loadPolicy, resetPolicy, DEFAULT_POLICY, resolveAllowedPhases, resolveInjectionPhase, buildAccumulatedMemoryContext, buildBaseMemoryWriteback, } from "./policy.js";
28
- export { FSBackend } from "./backends/fs.js";
29
- // Builder
30
- export { routeTechniqueAdaptive, TECHNIQUE_REFERENCE, SKILLS_DIR, } from "./builder.js";
27
+ export { getPolicy, loadPolicy, resetPolicy, DEFAULT_POLICY, writeStateFile, } from "./policy.js";
28
+ // Durable store
29
+ export { FileLoopStore, LoopStoreBackend, VaultBackendLoopStore, LOOP_STORE_SCHEMA_VERSION, } from "./loop-store.js";
31
30
  // Loop Compiler
32
- export { compileLoop, decideLevel, compileL2, alignTask, checkLoopHealth, computeAdvisories, computeGoalTextHash, deriveGoalId, getPreviousRound, buildSelfEvalBlock, buildRollingSummary, formatRollingSummaryForPrompt, filterConstraintsForSubTask, formatDelegationPrompt, buildDelegationSummary, } from "./loop-compiler.js";
31
+ export { compileLoop, decideLevel, alignTask, checkLoopHealth, computeGoalTextHash, deriveGoalId, getPreviousRound, buildSelfEvalBlock, buildRollingSummary, } from "./loop-compiler.js";
33
32
  // Replay
34
33
  export { ReplayBackend } from "./replay.js";
35
34
  // Engine
36
35
  export { LoopForgeEngine, createEngine, extractSelfEvaluation, heuristicSelfEvaluation, buildSelfEvaluation, parseExecutionEvidence, parseCriterionRevisions, parseWorkerResults, } from "./engine.js";
37
- // Runtime (v1.2)
38
- export { LoopRuntime, run } from "./runtime.js";
39
- export { RuntimeStatus } from "./protocol.js";
40
36
  // MCP (v1.3)
41
37
  export { McpServer } from "./mcp/server.js";
42
38
  export { SessionManager } from "./mcp/session.js";
43
- // Memory Bridge (v1.8)
44
- export { computeProjectHash, findGitRoot, detectClaudeMem, createMemoryProvider, createMemoryWriter, autoConfigureMemory, tryAutoConfigure, } from "./memory-bridge.js";
39
+ // EvidenceProvider (v1.18)
40
+ export { EvidenceCollector, GitEvidenceProvider, CommandEvidenceProvider, registerEvidenceProvider, unregisterEvidenceProvider, extractFilesFromSnapshots, diffSnapshots, diffSnapshotCollections, } from "./evidence-provider.js";
41
+ // Structured tracing and policy effectiveness metrics (v1.20)
42
+ export { logEvent, startSpan, setTraceSink, getTraceSink, } from "./observability.js";
43
+ export { PolicyMetricsCollector, policyMetrics, getPolicyMetrics, resetPolicyMetrics, } from "./policy-metrics.js";
44
+ // Neutral ecosystem checkpoint bridge (v1.20)
45
+ export { COGNITIVE_CHECKPOINT_SCHEMA_VERSION, createCognitiveCheckpoint, } from "./interop.js";
46
+ // Unified round transaction (v1.19)
47
+ export { ROUND_TRANSACTION_SCHEMA_VERSION, RoundTransactionCoordinator, makeRoundId, prepareRoundTransaction, parseRoundTransactionSnapshot, } from "./round-transaction.js";
45
48
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,iBAAiB;AACjB,OAAO,EACL,IAAI,EACJ,WAAW,EACX,SAAS,EACT,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,UAAU,EACV,MAAM,EACN,eAAe,EACf,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAqBvB,SAAS;AACT,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAgBrB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,UAAU;AACV,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,UAAU,GACX,MAAM,cAAc,CAAC;AAEtB,gBAAgB;AAChB,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,6BAA6B,EAC7B,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAE5B,SAAS;AACT,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,SAAS;AACT,OAAO,EACL,eAAe,EACf,YAAY,EACZ,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAIrB,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAc9C,aAAa;AACb,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,uBAAuB;AACvB,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,iBAAiB;AACjB,OAAO,EACL,IAAI,EACJ,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,UAAU,EACV,MAAM,EACN,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AA0BvB,SAAS;AACT,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,cAAc,EACd,cAAc,GACf,MAAM,aAAa,CAAC;AAerB,gBAAgB;AAChB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AAQzB,gBAAgB;AAChB,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,SAAS;AACT,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,SAAS;AACT,OAAO,EACL,eAAe,EACf,YAAY,EACZ,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAMrB,aAAa;AACb,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,2BAA2B;AAC3B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,yBAAyB,EACzB,aAAa,EACb,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAWhC,8DAA8D;AAC9D,OAAO,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,YAAY,GACb,MAAM,oBAAoB,CAAC;AAS5B,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAG7B,8CAA8C;AAC9C,OAAO,EACL,mCAAmC,EACnC,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AAMtB,oCAAoC;AACpC,OAAO,EACL,gCAAgC,EAChC,2BAA2B,EAC3B,WAAW,EACX,uBAAuB,EACvB,6BAA6B,GAC9B,MAAM,wBAAwB,CAAC"}
package/dist/init.d.ts ADDED
@@ -0,0 +1,15 @@
1
+ /** Client-specific skill onboarding. */
2
+ export type InitClient = "claude" | "codex" | "generic";
3
+ export interface InitOptions {
4
+ client: InitClient;
5
+ force?: boolean;
6
+ target?: string;
7
+ }
8
+ export interface InitResult {
9
+ client: InitClient;
10
+ skillPath: string;
11
+ installed: boolean;
12
+ registration: string | Record<string, unknown>;
13
+ }
14
+ export declare function initializeClient(options: InitOptions): InitResult;
15
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAOxC,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAExD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChD;AA8BD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,UAAU,CAgBjE"}
package/dist/init.js ADDED
@@ -0,0 +1,49 @@
1
+ /** Client-specific skill onboarding. */
2
+ import { copyFileSync, existsSync, mkdirSync } from "node:fs";
3
+ import { homedir } from "node:os";
4
+ import { dirname, join, resolve } from "node:path";
5
+ import { fileURLToPath } from "node:url";
6
+ const packageRoot = join(dirname(fileURLToPath(import.meta.url)), "..");
7
+ const skillSource = join(packageRoot, "skills", "perception", "SKILL.md");
8
+ function destination(options) {
9
+ if (options.target)
10
+ return resolve(options.target, "perception", "SKILL.md");
11
+ if (options.client === "claude") {
12
+ return join(homedir(), ".claude", "skills", "perception", "SKILL.md");
13
+ }
14
+ if (options.client === "codex") {
15
+ return join(homedir(), ".codex", "skills", "perception", "SKILL.md");
16
+ }
17
+ return resolve(".loopforge", "skills", "perception", "SKILL.md");
18
+ }
19
+ function registration(client) {
20
+ if (client === "claude") {
21
+ return "claude mcp add loopforge -- npx loopforge mcp";
22
+ }
23
+ if (client === "codex") {
24
+ return "codex mcp add loopforge -- npx loopforge mcp";
25
+ }
26
+ return {
27
+ mcpServers: {
28
+ loopforge: { command: "npx", args: ["loopforge", "mcp"] },
29
+ },
30
+ };
31
+ }
32
+ export function initializeClient(options) {
33
+ if (!existsSync(skillSource)) {
34
+ throw new Error(`Packaged Perception skill not found: ${skillSource}`);
35
+ }
36
+ const skillPath = destination(options);
37
+ const installed = options.force === true || !existsSync(skillPath);
38
+ if (installed) {
39
+ mkdirSync(dirname(skillPath), { recursive: true });
40
+ copyFileSync(skillSource, skillPath);
41
+ }
42
+ return {
43
+ client: options.client,
44
+ skillPath,
45
+ installed,
46
+ registration: registration(options.client),
47
+ };
48
+ }
49
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAExC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAiBzC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACxE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;AAE1E,SAAS,WAAW,CAAC,OAAoB;IACvC,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAC7E,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,YAAY,CAAC,MAAkB;IACtC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,+CAA+C,CAAC;IACzD,CAAC;IACD,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,OAAO,8CAA8C,CAAC;IACxD,CAAC;IACD,OAAO;QACL,UAAU,EAAE;YACV,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE;SAC1D;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAoB;IACnD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,wCAAwC,WAAW,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACnE,IAAI,SAAS,EAAE,CAAC;QACd,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACvC,CAAC;IACD,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS;QACT,SAAS;QACT,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC;KAC3C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,35 @@
1
+ /** Dependency-free ecosystem checkpoint boundary.
2
+ *
3
+ * **@experimental** — This module is a lightweight stub (57 lines as of v2.0.0).
4
+ * The checkpoint interface is stable but the integration surface (sinks, schema
5
+ * versioning, external consumer contracts) has not been validated in production.
6
+ * Use for prototyping; expect the envelope shape to evolve before v2.1.
7
+ *
8
+ * LangGraph checkpointers, workflow engines, databases, and agent SDKs can
9
+ * consume this neutral envelope without LoopForge importing their packages.
10
+ */
11
+ import type { McpSession } from "./mcp/session.js";
12
+ import type { RoundTransactionSnapshot } from "./round-transaction.js";
13
+ import { getPolicyMetrics } from "./policy-metrics.js";
14
+ export declare const COGNITIVE_CHECKPOINT_SCHEMA_VERSION: 1;
15
+ export interface CognitiveStateCheckpoint {
16
+ schemaVersion: typeof COGNITIVE_CHECKPOINT_SCHEMA_VERSION;
17
+ checkpointId: string;
18
+ loopId: string;
19
+ sessionId: string;
20
+ task: string;
21
+ status: "running" | "stopped" | "stalled" | "paused";
22
+ round: number;
23
+ maxRounds: number;
24
+ roundId?: string;
25
+ prompt?: string | null;
26
+ successTrajectory: boolean[];
27
+ roundSnapshot?: RoundTransactionSnapshot;
28
+ policyMetrics: ReturnType<typeof getPolicyMetrics>;
29
+ updatedAt: string;
30
+ }
31
+ export interface CognitiveCheckpointSink {
32
+ save(checkpoint: CognitiveStateCheckpoint): void | Promise<void>;
33
+ }
34
+ export declare function createCognitiveCheckpoint(session: McpSession, updatedAt?: string): CognitiveStateCheckpoint;
35
+ //# sourceMappingURL=interop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interop.d.ts","sourceRoot":"","sources":["../src/interop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,mCAAmC,EAAG,CAAU,CAAC;AAE9D,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,OAAO,mCAAmC,CAAC;IAC1D,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,iBAAiB,EAAE,OAAO,EAAE,CAAC;IAC7B,aAAa,CAAC,EAAE,wBAAwB,CAAC;IACzC,aAAa,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;IACnD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,UAAU,EAAE,wBAAwB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,UAAU,EACnB,SAAS,SAA2B,GACnC,wBAAwB,CAoB1B"}
@@ -0,0 +1,34 @@
1
+ /** Dependency-free ecosystem checkpoint boundary.
2
+ *
3
+ * **@experimental** — This module is a lightweight stub (57 lines as of v2.0.0).
4
+ * The checkpoint interface is stable but the integration surface (sinks, schema
5
+ * versioning, external consumer contracts) has not been validated in production.
6
+ * Use for prototyping; expect the envelope shape to evolve before v2.1.
7
+ *
8
+ * LangGraph checkpointers, workflow engines, databases, and agent SDKs can
9
+ * consume this neutral envelope without LoopForge importing their packages.
10
+ */
11
+ import { getPolicyMetrics } from "./policy-metrics.js";
12
+ export const COGNITIVE_CHECKPOINT_SCHEMA_VERSION = 1;
13
+ export function createCognitiveCheckpoint(session, updatedAt = new Date().toISOString()) {
14
+ const roundId = session.roundSnapshot?.roundId;
15
+ return {
16
+ schemaVersion: COGNITIVE_CHECKPOINT_SCHEMA_VERSION,
17
+ checkpointId: roundId
18
+ ? `${roundId}:session`
19
+ : `loop:${session.loopId}:round:${session.currentRound}:session`,
20
+ loopId: session.loopId,
21
+ sessionId: session.sessionId,
22
+ task: session.task,
23
+ status: session.status,
24
+ round: session.currentRound,
25
+ maxRounds: session.maxRounds,
26
+ roundId,
27
+ prompt: session.currentPrompt,
28
+ successTrajectory: [...session.successTrajectory],
29
+ roundSnapshot: session.roundSnapshot,
30
+ policyMetrics: getPolicyMetrics(session.loopId),
31
+ updatedAt,
32
+ };
33
+ }
34
+ //# sourceMappingURL=interop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interop.js","sourceRoot":"","sources":["../src/interop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAU,CAAC;AAuB9D,MAAM,UAAU,yBAAyB,CACvC,OAAmB,EACnB,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;IAEpC,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC;IAC/C,OAAO;QACL,aAAa,EAAE,mCAAmC;QAClD,YAAY,EAAE,OAAO;YACnB,CAAC,CAAC,GAAG,OAAO,UAAU;YACtB,CAAC,CAAC,QAAQ,OAAO,CAAC,MAAM,UAAU,OAAO,CAAC,YAAY,UAAU;QAClE,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,YAAY;QAC3B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO;QACP,MAAM,EAAE,OAAO,CAAC,aAAa;QAC7B,iBAAiB,EAAE,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACjD,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,aAAa,EAAE,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC;QAC/C,SAAS;KACV,CAAC;AACJ,CAAC"}
@@ -1,75 +1,25 @@
1
- /** LoopForge-loop_compile — Loop Compiler (v3.5 core).
1
+ /** LoopForge cognitive-state compiler.
2
2
  *
3
- * Pure-function module for per-loop-iteration prompt compilation.
4
- *
5
- * Two layers:
6
- * Layer 1 (Hard Gates): decideLevel() — 4-gate routing that CAN change compile level.
7
- * Layer 2 (Soft Advisories): computeAdvisories() — warnings/alignment/health, NEVER
8
- * change compile level directly.
9
- *
10
- * Compilation: compileL0() / compileL1() / compileL2() produce the actual prompt.
3
+ * The compiler evolves structured state and renders one prompt artifact.
4
+ * L0/L1/L2 control state density only; the external Agent owns reasoning.
11
5
  */
12
6
  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;
32
- export declare function computeGoalTextHash(task: string): string;
33
- export declare function deriveGoalId(loopId: string, task: string, explicitGoalId?: string): string;
34
- interface PreviousRound {
7
+ export interface PreviousRound {
8
+ round: number;
35
9
  goal_id: string;
36
10
  goal_text_hash: string;
37
11
  success: boolean;
38
12
  task: string;
39
13
  constraints_active: string[];
40
- prompt_text: string;
14
+ output_summary: string;
41
15
  }
42
- export declare function getPreviousRound(loopId: string, roundNum: number, vaultContext: Record<string, unknown> | null): PreviousRound | null;
43
- export declare function buildRollingSummary(loopId: string, currentRound: number, vaultContext: Record<string, unknown> | null, sinceRound?: number): RollingSummary | null;
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;
58
- export declare function decideLevel(request: LoopCompileRequest, vaultContext: Record<string, unknown> | null): string;
59
- export declare function alignTask(proposedTask: string, request: LoopCompileRequest, vaultContext: Record<string, unknown> | null): TaskAlignment;
60
- export declare function checkLoopHealth(loopId: string, request: LoopCompileRequest, vaultContext: Record<string, unknown> | null): LoopHealth;
61
- export declare function computeAdvisories(request: LoopCompileRequest, vaultContext: Record<string, unknown> | null): {
62
- warnings: string[];
63
- suggestedNextTask: string;
64
- alignment: TaskAlignment | null;
65
- health: LoopHealth | null;
66
- };
67
- export declare function compileL2(request: LoopCompileRequest, vaultContext: Record<string, unknown> | null): LoopCompileResponse;
68
- /** Build the standardized self-evaluation block appended to every compiled prompt.
69
- * The agent MUST output a JSON self-evaluation between the delimiters.
70
- * 4 required fields + 3 optional evolution fields (P0–P2) —
71
- * each consumed by at least one downstream function. */
16
+ export declare function computeGoalTextHash(text: string): string;
17
+ export declare function deriveGoalId(loopId: string, task: string, explicit?: string): string;
18
+ export declare function getPreviousRound(loopId: string, round: number, context: Record<string, unknown> | null): PreviousRound | null;
19
+ export declare function buildRollingSummary(loopId: string, currentRound: number, context: Record<string, unknown> | null, sinceRound?: number): RollingSummary | null;
20
+ export declare function alignTask(proposedTask: string, request: LoopCompileRequest, context: Record<string, unknown> | null): TaskAlignment;
21
+ export declare function checkLoopHealth(loopId: string, request: LoopCompileRequest, context: Record<string, unknown> | null): LoopHealth;
22
+ export declare function decideLevel(request: LoopCompileRequest, context: Record<string, unknown> | null): "l0" | "l1" | "l2";
72
23
  export declare function buildSelfEvalBlock(round: number): string;
73
- export declare function compileLoop(request: LoopCompileRequest, vaultContext?: Record<string, unknown> | null): LoopCompileResponse;
74
- export {};
24
+ export declare function compileLoop(request: LoopCompileRequest, context: Record<string, unknown> | null): LoopCompileResponse;
75
25
  //# sourceMappingURL=loop-compiler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loop-compiler.d.ts","sourceRoot":"","sources":["../src/loop-compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop-compiler.d.ts","sourceRoot":"","sources":["../src/loop-compiler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EASL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAEf,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AAavB,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;CACxB;AAkCD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAK,GAAG,MAAM,CAKhF;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GACtC,aAAa,GAAG,IAAI,CAsBtB;AAsFD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACvC,UAAU,SAAI,GACb,cAAc,GAAG,IAAI,CA+BvB;AAeD,wBAAgB,SAAS,CACvB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GACtC,aAAa,CAaf;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GACtC,UAAU,CAeZ;AA2CD,wBAAgB,WAAW,CACzB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GACtC,IAAI,GAAG,IAAI,GAAG,IAAI,CAEpB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CA6BxD;AAmBD,wBAAgB,WAAW,CACzB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GACtC,mBAAmB,CAyDrB"}