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
@@ -1 +1 @@
1
- {"version":3,"file":"generate-schema.js","sourceRoot":"","sources":["../src/generate-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-schema.js","sourceRoot":"","sources":["../src/generate-schema.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /** LoopForge — Loop-Time Intelligence Layer for AI coding agents.
2
2
  *
3
- * TypeScript reference implementation v1.1.
3
+ * TypeScript reference implementation v1.3.
4
4
  *
5
5
  * Usage:
6
6
  * import { handle, LoopForgeEngine, ReplayBackend, compileLoop } from "loopforge";
@@ -12,11 +12,17 @@
12
12
  * const engine = createEngine();
13
13
  * const response = engine.invokeLoopCompile(request);
14
14
  *
15
- * // v1.1: Autonomous loop
16
- * import { runAutonomousLoop } from "loopforge";
17
- * const result = await runAutonomousLoop(engine, config, async (prompt, round) => {
18
- * return await callAiApi(prompt); // your AI executor
15
+ * // v1.2: Autonomous loop
16
+ * import { run } from "loopforge";
17
+ * const result = await run({
18
+ * task: "Audit ERC20 token",
19
+ * execute: async (prompt) => await callAiApi(prompt),
19
20
  * });
21
+ *
22
+ * // v1.3: MCP server
23
+ * import { McpServer, SessionManager } from "loopforge";
24
+ * const server = new McpServer();
25
+ * server.start();
20
26
  */
21
27
  export { Mode, AgentStatus, Technique, makeAnalysis, makeVaultConfig, makeExecutionFeedback, makeSelfEvaluation, makeLoopObjective, makeLoopHealth, makeRollingSummary, makeTaskAlignment, makeLoopRoundResult, makeLoopCompileRequest, makeLoopCompileResponse, makeSessionState, makeTaskId, toDict, SELF_EVAL_REGEX, } from "./protocol.js";
22
28
  export type { Analysis, VaultConfig, ExecutionFeedback, SelfEvaluation, LoopForgeRequest, LoopObjective, LoopHealth, RollingSummary, TaskAlignment, LoopRoundResult, LoopCompileRequest, LoopCompileResponse, LoopForgeResponse, SessionState, AgentLoopResult, } from "./protocol.js";
@@ -29,7 +35,11 @@ export { compileLoop, decideLevel, compileL2, alignTask, checkLoopHealth, comput
29
35
  export { ReplayBackend } from "./replay.js";
30
36
  export { LoopForgeEngine, createEngine, extractSelfEvaluation, heuristicSelfEvaluation, } from "./engine.js";
31
37
  export type { EngineMetrics } from "./engine.js";
32
- export { runOneRound, runAutonomousLoop, } from "./autonomous.js";
33
- export type { AutonomousConfig, RoundOutput, StopReason, AutonomousResult, AgentExecutor, RunOneRoundResult, } from "./autonomous.js";
38
+ export { LoopRuntime, run } from "./runtime.js";
39
+ export { RuntimeStatus } from "./protocol.js";
40
+ export type { RoundContext, AgentExecutor, StopReason, RoundStartInfo, RoundCompleteInfo, HeartbeatInfo, TimeoutInfo, HealthWarning, RuntimeConfig, RunResult, } from "./protocol.js";
34
41
  export { handle, main } from "./adapter.js";
42
+ export { McpServer } from "./mcp/server.js";
43
+ export { SessionManager } from "./mcp/session.js";
44
+ export type { McpSession, McpSessionSummary } from "./mcp/session.js";
35
45
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,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,GAChB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,cAAc,EACd,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,eAAe,GAChB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,eAAe,EACf,YAAY,EACZ,aAAa,GACd,MAAM,aAAa,CAAC;AAGrB,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EACL,eAAe,EACf,YAAY,EACZ,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,EACL,WAAW,EACX,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,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,GAChB,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,cAAc,EACd,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,eAAe,GAChB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,uBAAuB,EACvB,eAAe,EACf,YAAY,EACZ,aAAa,GACd,MAAM,aAAa,CAAC;AAGrB,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EACL,eAAe,EACf,YAAY,EACZ,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,YAAY,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,aAAa,EACb,aAAa,EACb,SAAS,GACV,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /** LoopForge — Loop-Time Intelligence Layer for AI coding agents.
2
2
  *
3
- * TypeScript reference implementation v1.1.
3
+ * TypeScript reference implementation v1.3.
4
4
  *
5
5
  * Usage:
6
6
  * import { handle, LoopForgeEngine, ReplayBackend, compileLoop } from "loopforge";
@@ -12,11 +12,17 @@
12
12
  * const engine = createEngine();
13
13
  * const response = engine.invokeLoopCompile(request);
14
14
  *
15
- * // v1.1: Autonomous loop
16
- * import { runAutonomousLoop } from "loopforge";
17
- * const result = await runAutonomousLoop(engine, config, async (prompt, round) => {
18
- * return await callAiApi(prompt); // your AI executor
15
+ * // v1.2: Autonomous loop
16
+ * import { run } from "loopforge";
17
+ * const result = await run({
18
+ * task: "Audit ERC20 token",
19
+ * execute: async (prompt) => await callAiApi(prompt),
19
20
  * });
21
+ *
22
+ * // v1.3: MCP server
23
+ * import { McpServer, SessionManager } from "loopforge";
24
+ * const server = new McpServer();
25
+ * server.start();
20
26
  */
21
27
  // Protocol types
22
28
  export { Mode, AgentStatus, Technique, makeAnalysis, makeVaultConfig, makeExecutionFeedback, makeSelfEvaluation, makeLoopObjective, makeLoopHealth, makeRollingSummary, makeTaskAlignment, makeLoopRoundResult, makeLoopCompileRequest, makeLoopCompileResponse, makeSessionState, makeTaskId, toDict, SELF_EVAL_REGEX, } from "./protocol.js";
@@ -31,8 +37,12 @@ export { compileLoop, decideLevel, compileL2, alignTask, checkLoopHealth, comput
31
37
  export { ReplayBackend } from "./replay.js";
32
38
  // Engine
33
39
  export { LoopForgeEngine, createEngine, extractSelfEvaluation, heuristicSelfEvaluation, } from "./engine.js";
34
- // Autonomous loop (v1.1)
35
- export { runOneRound, runAutonomousLoop, } from "./autonomous.js";
40
+ // Runtime (v1.2)
41
+ export { LoopRuntime, run } from "./runtime.js";
42
+ export { RuntimeStatus } from "./protocol.js";
36
43
  // Adapter
37
44
  export { handle, main } from "./adapter.js";
45
+ // MCP (v1.3)
46
+ export { McpServer } from "./mcp/server.js";
47
+ export { SessionManager } from "./mcp/session.js";
38
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;;;;;;;;;;;;;;;;;;;GAmBG;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,GAChB,MAAM,eAAe,CAAC;AAoBvB,SAAS;AACT,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,cAAc,GACf,MAAM,aAAa,CAAC;AAcrB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,UAAU;AACV,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,GACpB,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,GACnB,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,GACxB,MAAM,aAAa,CAAC;AAIrB,yBAAyB;AACzB,OAAO,EACL,WAAW,EACX,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAWzB,UAAU;AACV,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;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,GAChB,MAAM,eAAe,CAAC;AAoBvB,SAAS;AACT,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,cAAc,GACf,MAAM,aAAa,CAAC;AAcrB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,UAAU;AACV,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,GACpB,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,GACnB,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,GACxB,MAAM,aAAa,CAAC;AAIrB,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAc9C,UAAU;AACV,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAE5C,aAAa;AACb,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,14 @@
1
+ /** LoopForge MCP — JSON-RPC transport over stdio.
2
+ *
3
+ * Implements the MCP protocol: initialize → tools/list → tools/call.
4
+ * Uses node:readline for stdin, writes JSON-RPC responses to stdout.
5
+ * All logging goes to stderr to keep stdout clean.
6
+ */
7
+ import type { VaultBackend } from "../backends/interface.js";
8
+ export declare class McpServer {
9
+ private mgr;
10
+ constructor(backend?: VaultBackend);
11
+ start(): void;
12
+ private dispatch;
13
+ }
14
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAmC7D,qBAAa,SAAS;IACpB,OAAO,CAAC,GAAG,CAAiB;gBAEhB,OAAO,CAAC,EAAE,YAAY;IAIlC,KAAK,IAAI,IAAI;IAkCb,OAAO,CAAC,QAAQ;CAgCjB"}
@@ -0,0 +1,93 @@
1
+ /** LoopForge MCP — JSON-RPC transport over stdio.
2
+ *
3
+ * Implements the MCP protocol: initialize → tools/list → tools/call.
4
+ * Uses node:readline for stdin, writes JSON-RPC responses to stdout.
5
+ * All logging goes to stderr to keep stdout clean.
6
+ */
7
+ import { createInterface } from "node:readline";
8
+ import { SessionManager } from "./session.js";
9
+ import { TOOL_SCHEMAS, TOOL_HANDLERS } from "./tools.js";
10
+ const SERVER_INFO = {
11
+ name: "loopforge-mcp",
12
+ version: "1.3.0",
13
+ };
14
+ function errorResponse(id, code, message) {
15
+ return JSON.stringify({
16
+ jsonrpc: "2.0",
17
+ id: id ?? null,
18
+ error: { code, message },
19
+ });
20
+ }
21
+ function okResponse(id, result) {
22
+ if (id === undefined)
23
+ return ""; // notification — no response
24
+ return JSON.stringify({ jsonrpc: "2.0", id, result });
25
+ }
26
+ // ═══════════════════════════════════════════════════════════════════════════
27
+ // Server
28
+ // ═══════════════════════════════════════════════════════════════════════════
29
+ export class McpServer {
30
+ mgr;
31
+ constructor(backend) {
32
+ this.mgr = new SessionManager(backend);
33
+ }
34
+ start() {
35
+ const rl = createInterface({ input: process.stdin });
36
+ rl.on("line", (line) => {
37
+ let req;
38
+ try {
39
+ req = JSON.parse(line);
40
+ }
41
+ catch {
42
+ process.stderr.write(`[loopforge-mcp] bad JSON: ${line.slice(0, 80)}\n`);
43
+ process.stdout.write(errorResponse(undefined, -32700, "Parse error") + "\n");
44
+ return;
45
+ }
46
+ // Notifications (no id) — ignore
47
+ if (req.id === undefined) {
48
+ process.stderr.write(`[loopforge-mcp] notification: ${req.method}\n`);
49
+ return;
50
+ }
51
+ try {
52
+ const result = this.dispatch(req);
53
+ if (result !== null) {
54
+ process.stdout.write(okResponse(req.id, result) + "\n");
55
+ }
56
+ }
57
+ catch (err) {
58
+ const msg = err instanceof Error ? err.message : String(err);
59
+ process.stderr.write(`[loopforge-mcp] dispatch error: ${msg}\n`);
60
+ process.stdout.write(errorResponse(req.id, -32603, msg) + "\n");
61
+ }
62
+ });
63
+ process.stderr.write(`[loopforge-mcp] v${SERVER_INFO.version} started\n`);
64
+ }
65
+ dispatch(req) {
66
+ switch (req.method) {
67
+ case "initialize":
68
+ return {
69
+ protocolVersion: "2024-11-05",
70
+ capabilities: { tools: {} },
71
+ serverInfo: SERVER_INFO,
72
+ };
73
+ case "tools/list":
74
+ return { tools: TOOL_SCHEMAS };
75
+ case "tools/call": {
76
+ const params = req.params ?? {};
77
+ const name = String(params.name ?? "");
78
+ const args = params.arguments ?? {};
79
+ const handler = TOOL_HANDLERS[name];
80
+ if (!handler) {
81
+ throw new Error(`Unknown tool: ${name}`);
82
+ }
83
+ const output = handler(this.mgr, args);
84
+ return {
85
+ content: [{ type: "text", text: JSON.stringify(output) }],
86
+ };
87
+ }
88
+ default:
89
+ throw new Error(`Unknown method: ${req.method}`);
90
+ }
91
+ }
92
+ }
93
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /** LoopForge MCP — Session manager.
2
+ *
3
+ * Each McpSession = one complete multi-round loop.
4
+ * SessionManager holds Map<sessionId, McpSession> and drives
5
+ * the advance() cycle: extract → feedback → check stop → compile next.
6
+ */
7
+ import { LoopForgeEngine } from "../engine.js";
8
+ import type { VaultBackend } from "../backends/interface.js";
9
+ export interface McpSession {
10
+ sessionId: string;
11
+ loopId: string;
12
+ task: string;
13
+ engine: LoopForgeEngine;
14
+ currentRound: number;
15
+ maxRounds: number;
16
+ qualityTrajectory: number[];
17
+ status: "running" | "stopped" | "stalled";
18
+ createdAt: number;
19
+ }
20
+ export interface McpSessionSummary {
21
+ sessionId: string;
22
+ loopId: string;
23
+ round: number;
24
+ status: "running" | "stopped" | "stalled";
25
+ }
26
+ export interface StartInput {
27
+ task: string;
28
+ loopId?: string;
29
+ maxRounds?: number;
30
+ domain?: string;
31
+ planSource?: string;
32
+ constraints?: string[];
33
+ }
34
+ export interface AdvanceResult {
35
+ sessionId: string;
36
+ round: number;
37
+ prompt: string | null;
38
+ stopReason?: string;
39
+ technique?: string;
40
+ level?: string;
41
+ quality?: number;
42
+ warnings?: string[];
43
+ }
44
+ export declare class SessionManager {
45
+ private sessions;
46
+ private backend;
47
+ constructor(backend?: VaultBackend);
48
+ create(input: StartInput): AdvanceResult;
49
+ get(sessionId: string): McpSession | undefined;
50
+ delete(sessionId: string): boolean;
51
+ list(): McpSessionSummary[];
52
+ /** Core cycle: extract self-eval → record feedback → check stop → compile next. */
53
+ advance(sessionId: string, output: string): AdvanceResult;
54
+ /** Replay timeline for a session — creates ReplayBackend from the stored backend. */
55
+ replayTimeline(sessionId: string): Record<string, unknown>[] | null;
56
+ }
57
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/mcp/session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,eAAe,EAAkD,MAAM,cAAc,CAAC;AAK/F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAK7D,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAoDD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,OAAO,CAA2B;gBAE9B,OAAO,CAAC,EAAE,YAAY;IAIlC,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,aAAa;IAmCxC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAI9C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAQlC,IAAI,IAAI,iBAAiB,EAAE;IAS3B,mFAAmF;IACnF,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa;IA0DzD,qFAAqF;IACrF,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI;CAQpE"}
@@ -0,0 +1,177 @@
1
+ /** LoopForge MCP — Session manager.
2
+ *
3
+ * Each McpSession = one complete multi-round loop.
4
+ * SessionManager holds Map<sessionId, McpSession> and drives
5
+ * the advance() cycle: extract → feedback → check stop → compile next.
6
+ */
7
+ import { randomUUID } from "node:crypto";
8
+ import { LoopForgeEngine, extractSelfEvaluation, heuristicSelfEvaluation } from "../engine.js";
9
+ import { getPolicy } from "../policy.js";
10
+ import { Mode, makeVaultConfig } from "../protocol.js";
11
+ import { ReplayBackend } from "../replay.js";
12
+ import { FSBackend } from "../backends/fs.js";
13
+ // ── Helpers ────────────────────────────────────────────────────────────────
14
+ function buildLoopRequest(session, lastEval, lastQuality) {
15
+ const req = {
16
+ task: session.task,
17
+ mode: Mode.LOOP_COMPILE,
18
+ vault_config: makeVaultConfig(),
19
+ feedback: null,
20
+ skill_name: null,
21
+ task_id: null,
22
+ loop_id: session.loopId,
23
+ round: session.currentRound,
24
+ };
25
+ if (lastEval && lastQuality !== undefined) {
26
+ req.last_round_result = {
27
+ round: session.currentRound - 1,
28
+ success: lastEval.success,
29
+ output_summary: lastEval.output_summary,
30
+ constraint_violations: lastEval.constraint_violations,
31
+ manual_fixes_needed: "",
32
+ quality_score: lastQuality,
33
+ };
34
+ }
35
+ return req;
36
+ }
37
+ function parseLevel(rationale) {
38
+ if (!rationale)
39
+ return "l2";
40
+ if (rationale.includes("l0"))
41
+ return "l0";
42
+ if (rationale.includes("l1"))
43
+ return "l1";
44
+ return "l2";
45
+ }
46
+ function parseWarnings(prompt) {
47
+ if (!prompt)
48
+ return [];
49
+ const warnings = [];
50
+ const warnSection = prompt.match(/### Warnings\n([\s\S]*?)(?=\n###|\n\*\*|$)/);
51
+ if (warnSection) {
52
+ for (const line of warnSection[1].split("\n")) {
53
+ const m = line.match(/- ⚠️\s*(.+)/);
54
+ if (m)
55
+ warnings.push(m[1]);
56
+ }
57
+ }
58
+ return warnings;
59
+ }
60
+ // ── SessionManager ─────────────────────────────────────────────────────────
61
+ export class SessionManager {
62
+ sessions = new Map();
63
+ backend;
64
+ constructor(backend) {
65
+ this.backend = backend;
66
+ }
67
+ create(input) {
68
+ const sessionId = randomUUID();
69
+ const loopId = input.loopId ?? randomUUID();
70
+ const engine = new LoopForgeEngine("skills", this.backend);
71
+ const maxRounds = input.maxRounds ?? getPolicy().runtime.max_rounds;
72
+ // Populate extra fields for the first round
73
+ const request = buildLoopRequest({
74
+ sessionId, loopId, task: input.task, engine, currentRound: 1,
75
+ maxRounds, qualityTrajectory: [], status: "running", createdAt: Date.now(),
76
+ });
77
+ request.domain = input.domain ?? "";
78
+ request.plan_source = input.planSource ?? null;
79
+ request.constraints_from_plan = input.constraints ?? [];
80
+ const result = engine.invokeLoopCompile(request);
81
+ const session = {
82
+ sessionId, loopId, task: input.task, engine,
83
+ currentRound: 1, maxRounds, qualityTrajectory: [],
84
+ status: "running", createdAt: Date.now(),
85
+ };
86
+ this.sessions.set(sessionId, session);
87
+ return {
88
+ sessionId,
89
+ round: 1,
90
+ prompt: result.response?.prompt ?? null,
91
+ technique: result.response?.analysis?.technique ?? "zero-shot",
92
+ level: parseLevel(result.response?.analysis?.rationale),
93
+ quality: 0,
94
+ warnings: parseWarnings(result.response?.prompt ?? null),
95
+ };
96
+ }
97
+ get(sessionId) {
98
+ return this.sessions.get(sessionId);
99
+ }
100
+ delete(sessionId) {
101
+ const session = this.sessions.get(sessionId);
102
+ if (!session)
103
+ return false;
104
+ session.status = "stopped";
105
+ this.sessions.delete(sessionId);
106
+ return true;
107
+ }
108
+ list() {
109
+ return [...this.sessions.values()].map((s) => ({
110
+ sessionId: s.sessionId,
111
+ loopId: s.loopId,
112
+ round: s.currentRound,
113
+ status: s.status,
114
+ }));
115
+ }
116
+ /** Core cycle: extract self-eval → record feedback → check stop → compile next. */
117
+ advance(sessionId, output) {
118
+ const session = this.sessions.get(sessionId);
119
+ if (!session)
120
+ return { sessionId, round: 0, prompt: null, stopReason: "session_not_found" };
121
+ if (session.status !== "running") {
122
+ return { sessionId, round: session.currentRound, prompt: null, stopReason: session.status };
123
+ }
124
+ // 1. Extract self-evaluation
125
+ const structured = extractSelfEvaluation(output);
126
+ const extractionFailed = structured === null;
127
+ const selfEval = structured ?? heuristicSelfEvaluation(output);
128
+ // Guard: if both extraction methods returned null, stop
129
+ if (!selfEval) {
130
+ session.status = "stalled";
131
+ return { sessionId, round: session.currentRound, prompt: null, stopReason: "stalled", quality: 0 };
132
+ }
133
+ // 2. Record feedback (flushes immediately so next compile sees scores)
134
+ const quality = session.engine.autoFeedback(selfEval, session.loopId, session.currentRound, session.task);
135
+ session.qualityTrajectory.push(quality);
136
+ // 3. Stop conditions (extraction-first order — see memory)
137
+ if (extractionFailed) {
138
+ session.status = "stalled";
139
+ return { sessionId, round: session.currentRound, prompt: null, stopReason: "stalled", quality };
140
+ }
141
+ if (!selfEval.should_continue) {
142
+ session.status = "stopped";
143
+ return { sessionId, round: session.currentRound, prompt: null, stopReason: "task_complete", quality };
144
+ }
145
+ if (session.engine.shouldBreak()) {
146
+ session.status = "stopped";
147
+ return { sessionId, round: session.currentRound, prompt: null, stopReason: "circuit_breaker", quality };
148
+ }
149
+ if (session.currentRound >= session.maxRounds) {
150
+ session.status = "stopped";
151
+ return { sessionId, round: session.currentRound, prompt: null, stopReason: "max_rounds", quality };
152
+ }
153
+ // 4. Compile next round
154
+ session.currentRound++;
155
+ const request = buildLoopRequest(session, selfEval, quality);
156
+ const result = session.engine.invokeLoopCompile(request);
157
+ return {
158
+ sessionId,
159
+ round: session.currentRound,
160
+ prompt: result.response?.prompt ?? null,
161
+ technique: result.response?.analysis?.technique ?? "zero-shot",
162
+ level: parseLevel(result.response?.analysis?.rationale),
163
+ quality,
164
+ warnings: parseWarnings(result.response?.prompt ?? null),
165
+ };
166
+ }
167
+ /** Replay timeline for a session — creates ReplayBackend from the stored backend. */
168
+ replayTimeline(sessionId) {
169
+ const session = this.sessions.get(sessionId);
170
+ if (!session)
171
+ return null;
172
+ const vaultBackend = this.backend ?? new FSBackend();
173
+ const replay = new ReplayBackend(vaultBackend);
174
+ return replay.timeline(session.loopId);
175
+ }
176
+ }
177
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/mcp/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ /** LoopForge MCP — Tool definitions and handlers.
2
+ *
3
+ * 6 tools: start, next, status, stop, list, replay.
4
+ * Each handler receives SessionManager + parsed input, returns the output object.
5
+ */
6
+ import type { SessionManager } from "./session.js";
7
+ export declare const TOOL_SCHEMAS: ({
8
+ name: string;
9
+ description: string;
10
+ inputSchema: {
11
+ type: "object";
12
+ properties: {
13
+ task: {
14
+ type: "string";
15
+ description: string;
16
+ };
17
+ loopId: {
18
+ type: "string";
19
+ description: string;
20
+ };
21
+ maxRounds: {
22
+ type: "number";
23
+ description: string;
24
+ };
25
+ domain: {
26
+ type: "string";
27
+ description: string;
28
+ };
29
+ planSource: {
30
+ type: "string";
31
+ description: string;
32
+ };
33
+ constraints: {
34
+ type: "array";
35
+ items: {
36
+ type: "string";
37
+ };
38
+ description: string;
39
+ };
40
+ sessionId?: undefined;
41
+ output?: undefined;
42
+ };
43
+ required: string[];
44
+ };
45
+ } | {
46
+ name: string;
47
+ description: string;
48
+ inputSchema: {
49
+ type: "object";
50
+ properties: {
51
+ sessionId: {
52
+ type: "string";
53
+ description: string;
54
+ };
55
+ output: {
56
+ type: "string";
57
+ description: string;
58
+ };
59
+ task?: undefined;
60
+ loopId?: undefined;
61
+ maxRounds?: undefined;
62
+ domain?: undefined;
63
+ planSource?: undefined;
64
+ constraints?: undefined;
65
+ };
66
+ required: string[];
67
+ };
68
+ } | {
69
+ name: string;
70
+ description: string;
71
+ inputSchema: {
72
+ type: "object";
73
+ properties: {
74
+ sessionId: {
75
+ type: "string";
76
+ description: string;
77
+ };
78
+ task?: undefined;
79
+ loopId?: undefined;
80
+ maxRounds?: undefined;
81
+ domain?: undefined;
82
+ planSource?: undefined;
83
+ constraints?: undefined;
84
+ output?: undefined;
85
+ };
86
+ required: string[];
87
+ };
88
+ } | {
89
+ name: string;
90
+ description: string;
91
+ inputSchema: {
92
+ type: "object";
93
+ properties: {
94
+ task?: undefined;
95
+ loopId?: undefined;
96
+ maxRounds?: undefined;
97
+ domain?: undefined;
98
+ planSource?: undefined;
99
+ constraints?: undefined;
100
+ sessionId?: undefined;
101
+ output?: undefined;
102
+ };
103
+ required: never[];
104
+ };
105
+ })[];
106
+ export type ToolHandler = (mgr: SessionManager, input: Record<string, unknown>) => Record<string, unknown>;
107
+ export declare const TOOL_HANDLERS: Record<string, ToolHandler>;
108
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +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;AAM/D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+GxB,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,CAqFrD,CAAC"}