specrails-core 5.4.0 → 5.5.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 (84) hide show
  1. package/README.md +2 -0
  2. package/dist/agent-runtime/capabilities.d.ts +3 -2
  3. package/dist/agent-runtime/capabilities.js +10 -2
  4. package/dist/agent-runtime/capabilities.js.map +1 -1
  5. package/dist/agent-runtime/cli-executor.js +10 -5
  6. package/dist/agent-runtime/cli-executor.js.map +1 -1
  7. package/dist/agent-runtime/cli-process.d.ts +1 -0
  8. package/dist/agent-runtime/cli-process.js +13 -2
  9. package/dist/agent-runtime/cli-process.js.map +1 -1
  10. package/dist/agent-runtime/cli.js +2 -1
  11. package/dist/agent-runtime/cli.js.map +1 -1
  12. package/dist/agent-runtime/compact/architect.d.ts +349 -0
  13. package/dist/agent-runtime/compact/architect.js +371 -0
  14. package/dist/agent-runtime/compact/architect.js.map +1 -0
  15. package/dist/agent-runtime/compact/chat-client.d.ts +83 -0
  16. package/dist/agent-runtime/compact/chat-client.js +307 -0
  17. package/dist/agent-runtime/compact/chat-client.js.map +1 -0
  18. package/dist/agent-runtime/compact/developer.d.ts +160 -0
  19. package/dist/agent-runtime/compact/developer.js +823 -0
  20. package/dist/agent-runtime/compact/developer.js.map +1 -0
  21. package/dist/agent-runtime/compact/environment.d.ts +62 -0
  22. package/dist/agent-runtime/compact/environment.js +213 -0
  23. package/dist/agent-runtime/compact/environment.js.map +1 -0
  24. package/dist/agent-runtime/compact/exit-code-honesty.d.ts +8 -0
  25. package/dist/agent-runtime/compact/exit-code-honesty.js +28 -0
  26. package/dist/agent-runtime/compact/exit-code-honesty.js.map +1 -0
  27. package/dist/agent-runtime/compact/guarded-loop.d.ts +73 -0
  28. package/dist/agent-runtime/compact/guarded-loop.js +320 -0
  29. package/dist/agent-runtime/compact/guarded-loop.js.map +1 -0
  30. package/dist/agent-runtime/compact/prompt-inputs.d.ts +42 -0
  31. package/dist/agent-runtime/compact/prompt-inputs.js +59 -0
  32. package/dist/agent-runtime/compact/prompt-inputs.js.map +1 -0
  33. package/dist/agent-runtime/compact/reviewer.d.ts +24 -0
  34. package/dist/agent-runtime/compact/reviewer.js +178 -0
  35. package/dist/agent-runtime/compact/reviewer.js.map +1 -0
  36. package/dist/agent-runtime/compact/step.d.ts +70 -0
  37. package/dist/agent-runtime/compact/step.js +136 -0
  38. package/dist/agent-runtime/compact/step.js.map +1 -0
  39. package/dist/agent-runtime/compact/test-reachability.d.ts +30 -0
  40. package/dist/agent-runtime/compact/test-reachability.js +147 -0
  41. package/dist/agent-runtime/compact/test-reachability.js.map +1 -0
  42. package/dist/agent-runtime/config.js +40 -10
  43. package/dist/agent-runtime/config.js.map +1 -1
  44. package/dist/agent-runtime/core-host.d.ts +4 -4
  45. package/dist/agent-runtime/core-host.js +8 -3
  46. package/dist/agent-runtime/core-host.js.map +1 -1
  47. package/dist/agent-runtime/executor-types.d.ts +37 -3
  48. package/dist/agent-runtime/executor-types.js +7 -2
  49. package/dist/agent-runtime/executor-types.js.map +1 -1
  50. package/dist/agent-runtime/graph/nodes.d.ts +4 -2
  51. package/dist/agent-runtime/graph/nodes.js +160 -53
  52. package/dist/agent-runtime/graph/nodes.js.map +1 -1
  53. package/dist/agent-runtime/graph/roles.d.ts +7 -2
  54. package/dist/agent-runtime/graph/roles.js +19 -11
  55. package/dist/agent-runtime/graph/roles.js.map +1 -1
  56. package/dist/agent-runtime/graph/state.d.ts +2 -1
  57. package/dist/agent-runtime/graph/state.js +2 -1
  58. package/dist/agent-runtime/graph/state.js.map +1 -1
  59. package/dist/agent-runtime/guardrails.d.ts +15 -0
  60. package/dist/agent-runtime/guardrails.js +76 -0
  61. package/dist/agent-runtime/guardrails.js.map +1 -0
  62. package/dist/agent-runtime/openai-executor.d.ts +25 -1
  63. package/dist/agent-runtime/openai-executor.js +67 -122
  64. package/dist/agent-runtime/openai-executor.js.map +1 -1
  65. package/dist/agent-runtime/openspec-tool-server.js +3 -3
  66. package/dist/agent-runtime/openspec-tool-server.js.map +1 -1
  67. package/dist/agent-runtime/openspec.d.ts +76 -1
  68. package/dist/agent-runtime/openspec.js +70 -4
  69. package/dist/agent-runtime/openspec.js.map +1 -1
  70. package/dist/agent-runtime/prompts.d.ts +21 -2
  71. package/dist/agent-runtime/prompts.js +56 -6
  72. package/dist/agent-runtime/prompts.js.map +1 -1
  73. package/dist/agent-runtime/repository-context.js +39 -12
  74. package/dist/agent-runtime/repository-context.js.map +1 -1
  75. package/dist/agent-runtime/role-routing.js +1 -0
  76. package/dist/agent-runtime/role-routing.js.map +1 -1
  77. package/dist/agent-runtime/workflow-types.d.ts +2 -0
  78. package/dist/agent-runtime/workflow.js +1 -1
  79. package/dist/agent-runtime/workflow.js.map +1 -1
  80. package/dist/installer/runtime/pipeline-state.d.ts +1 -0
  81. package/dist/installer/runtime/pipeline-state.js +35 -4
  82. package/dist/installer/runtime/pipeline-state.js.map +1 -1
  83. package/package.json +1 -1
  84. package/schemas/agent-runtime.schema.json +10 -2
@@ -1 +1 @@
1
- {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/agent-runtime/graph/roles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/agent-runtime/graph/roles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAC7F,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAuB,MAAM,oBAAoB,CAAA;AACzE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAC/H,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAwB,MAAM,2CAA2C,CAAA;AAElI,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAwI,MAAM,sBAAsB,CAAA;AAC9M,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAE7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjD,6FAA6F;AAC7F,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC,CAAA;AAiC9G,MAAM,UAAU,GAAG,gDAAgD,CAAA;AAEnE,MAAM,UAAU,QAAQ,CAAC,CAAa,EAAE,CAAa;IACnD,MAAM,GAAG,GAAG,CAAC,CAAgB,EAAE,CAAgB,EAAiB,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAC1G,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;AAC5K,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAqB;IACrD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;IAC1C,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;IAClG,MAAM,UAAU,GAAG,CAAC,MAAc,EAAU,EAAE;QAC5C,2FAA2F;QAC3F,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;YACvF,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;gBAAE,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACxJ,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IACD,MAAM,OAAO,GAAG,CAAC,IAAoB,EAAE,UAAmB,EAAE,EAAE,CAAC,CAAC,KAAiB,EAAQ,EAAE;QACzF,8EAA8E;QAC9E,kEAAkE;QAClE,IAAI,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;YAAE,OAAM;QACxF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;QACnH,IAAI,CAAC;YAAC,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,2CAA2C,CAAC,CAAC;IACjG,CAAC,CAAA;IACD,MAAM,IAAI,GAAG,CAAC,IAAoB,EAAE,IAAY,EAAQ,EAAE,GAAG,IAAI,CAAC;QAAC,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,2CAA2C,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9K,MAAM,OAAO,GAAG,KAAK,EAAE,IAAe,EAAE,IAAyB,EAAE,MAAc,EAAE,UAAmB,EAAE,KAAiL,EAAwB,EAAE;QACjT,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAA;QACtH,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAA;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;QACrC,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC,IAAI,MAAM,CAAC,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,mBAAmB,CAAC,+CAA+C,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;QACnQ,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QAC7E,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QAC5J,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAA;QAChC,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;QACnF,MAAM,QAAQ,GAAG,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QAC9X,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,eAAe,GAAG,YAAY,CAAC,YAAY,KAAK,WAAW,IAAI,QAAQ,EAAE,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,SAAS,KAAK,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAA;QACxL,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAA;QACnD,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC,UAAU,EAAE,WAAW,KAAK,MAAM,CAAC,CAAA;QACzF,MAAM,MAAM,GAAG,uBAAuB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QAC7F,MAAM,UAAU,GAAG,CAAC,eAAe,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAA;QAC3F,MAAM,WAAW,GAAG,kEAAkE,GAAG,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAA;QAC1I,MAAM,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,CAAA;QAC7D,IAAI,KAAK,CAAC,aAAa;YAAE,IAAI,CAAC,IAAI,EAAE,gBAAgB,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,IAAI,kBAAkB,yCAAyC,CAAC,CAAA;aAClJ,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,KAAK,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,EAAE,eAAe,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,IAAI,kBAAkB,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;QAC1J,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;YAAC,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAAC,CAAC;QAC1J,MAAM,WAAW,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrG,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,aAAsB,CAAC,CAAC,CAAC,MAAe,EAAE,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,MAAM,IAAI,IAAI;YAC/O,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,CAAA;QACrD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC,WAAW,CAAC,CAAA;QAC5E,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;QACjC,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,KAAK,EAAE,aAAa,GAAG,KAAK,EAAE,KAAK,GAAG,YAAY,EAAE,CAAA;QACnF,4EAA4E;QAC5E,sEAAsE;QACtE,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QAC9E,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,IAAI,EAAE,YAAY,gBAAgB,KAAK,WAAW,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAA;YAC3I,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACvD,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;gBACxS,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM;gBAC/J,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS;gBACnC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC1D,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,eAAe,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,GAAG,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;oBAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC;aACtI,CAAC,CAAA;YACF,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;YACpB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC9B,aAAa,GAAG,IAAI,CAAA;YACpB,IAAI,MAAM,CAAC,SAAS,IAAI,qCAAqC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;gBAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAA;;gBACpK,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YAChC,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;YAChC,SAAS,GAAG,IAAI,CAAA;YAChB,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,KAAK,GAAG,KAAK,YAAY,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,EAAE,CAAA;gBAC3E,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;YACzB,CAAC;YACD,MAAM,KAAK,CAAA;QACb,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,GAAG,WAAW,EAAE,GAAG,kBAAkB,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;QAC9L,CAAC;IACH,CAAC,CAAA;IAED,OAAO,KAAK,EAAK,IAAe,EAAE,IAAyB,EAAE,OAAsB,EAAE,MAAiB,EAA6B,EAAE;QACnI,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,KAAK,IAAI,CAAA;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC3F,MAAM,MAAM,GAAG,QAAQ,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAA;QACnD,MAAM,QAAQ,GAAG,CAAC,MAAmB,EAAoB,EAAE;YACzD,IAAI,MAA2C,EAAE,UAAmB,CAAA;YACpE,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC;oBAAC,MAAM,GAAG,MAAM,CAAC,UAAU,IAAI,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAAC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAAC,UAAU,GAAG,KAAK,CAAA;gBAAC,CAAC;YAC1G,CAAC;YACD,wEAAwE;YACxE,+EAA+E;YAC/E,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,MAAM,EAAE,UAAU,KAAK,KAAK,CAAC;gBAAE,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAA;YAClG,IAAI,UAAU,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,CAAC,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAA;YAC5K,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,CAAA;QAC5F,CAAC,CAAA;QACD,IAAI,CAAC;YACH,IAAI,MAAmB,CAAA;YACvB,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBACtD,0EAA0E;gBAC1E,gDAAgD;gBAChD,IAAI,CAAC;oBAAC,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;gBAAC,CAAC;gBAClR,OAAO,KAAK,EAAE,CAAC;oBACb,IAAI,CAAC,CAAC,KAAK,YAAY,mBAAmB,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;wBAAE,MAAM,KAAK,CAAA;oBACnG,IAAI,CAAC,IAAI,EAAE,YAAY,IAAI,6CAA6C,IAAI,mCAAmC,CAAC,CAAA;oBAChH,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,cAAc,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;gBACxM,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;YAC5Q,CAAC;YACD,IAAI,OAAe,EAAE,eAAe,GAAG,KAAK,CAAA;YAC5C,IAAI,CAAC;gBAAC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAA;YAAC,CAAC;YAC/B,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAChE,eAAe,GAAG,KAAK,YAAY,0BAA0B,CAAA;gBAC7D,IAAI,CAAC,eAAe,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;oBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;YACzF,CAAC;YACD,yEAAyE;YACzE,4EAA4E;YAC5E,4EAA4E;YAC5E,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAC5G,IAAI,CAAC,IAAI,EAAE,eAAe;gBACxB,CAAC,CAAC,OAAO,IAAI,kHAAkH;gBAC/H,CAAC,CAAC,OAAO,IAAI,kCAAkC,OAAO,0CAA0C,CAAC,CAAA;YACnG,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,IAAI,EACvC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,MAAM,EACtF,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY;gBACjG,cAAc,EAAE,CAAC,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,kCAAkC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,MAAM;aAC7I,CAAC,CAAA;YACJ,IAAI,CAAC;gBAAC,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAAC,CAAC;YACjC,OAAO,KAAK,EAAE,CAAC;gBAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;YAAC,CAAC;QAEvG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,KAAK,YAAY,mBAAmB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;QAC5J,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -79,5 +79,6 @@ export declare const CoreState: import("@langchain/langgraph").AnnotationRoot<{
79
79
  }>;
80
80
  export type CoreStateType = typeof CoreState.State;
81
81
  export type CoreStateUpdate = typeof CoreState.Update;
82
- export type CoreNodeId = 'architect' | 'developer' | 'verify' | 'reviewer' | 'archive';
82
+ export type CoreNodeId = 'architect' | 'developer' | 'fixer' | 'verify' | 'reviewer' | 'archive';
83
+ /** Graph order. `fixer` is the correction node: verify (failed, tasks ticked) and reviewer (rejected) route there; it hands back to verify. */
83
84
  export declare const CORE_NODE_ORDER: readonly CoreNodeId[];
@@ -19,5 +19,6 @@ export const CoreState = Annotation.Root({
19
19
  deepenPasses: Annotation({ ...replace(), default: () => 0 }),
20
20
  archived: Annotation({ ...replace(), default: () => null }),
21
21
  });
22
- export const CORE_NODE_ORDER = ['architect', 'developer', 'verify', 'reviewer', 'archive'];
22
+ /** Graph order. `fixer` is the correction node: verify (failed, tasks ticked) and reviewer (rejected) route there; it hands back to verify. */
23
+ export const CORE_NODE_ORDER = ['architect', 'developer', 'fixer', 'verify', 'reviewer', 'archive'];
23
24
  //# sourceMappingURL=state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/agent-runtime/graph/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAkDjD,MAAM,OAAO,GAAG,GAAM,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,SAAY,EAAE,IAAO,EAAK,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;AAE1E;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC;IACvC,wFAAwF;IACxF,IAAI,EAAE,UAAU,CAAwB,EAAE,GAAG,OAAO,EAAyB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACnG,sBAAsB,EAAE,UAAU,CAAW,EAAE,GAAG,OAAO,EAAY,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAC3F,YAAY,EAAE,UAAU,CAA4B,EAAE,GAAG,OAAO,EAA6B,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IACrH,WAAW,EAAE,UAAU,CAAyB,EAAE,GAAG,OAAO,EAA0B,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IAC9G,YAAY,EAAE,UAAU,CAA4B,EAAE,GAAG,OAAO,EAA6B,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IACrH,MAAM,EAAE,UAAU,CAAsB,EAAE,GAAG,OAAO,EAAuB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IACnG,uEAAuE;IACvE,OAAO,EAAE,UAAU,CAAW,EAAE,OAAO,EAAE,CAAC,QAAkB,EAAE,IAAc,EAAY,EAAE,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACvI,8FAA8F;IAC9F,YAAY,EAAE,UAAU,CAAS,EAAE,GAAG,OAAO,EAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;IAC5E,QAAQ,EAAE,UAAU,CAAuB,EAAE,GAAG,OAAO,EAAwB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;CACxG,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,eAAe,GAA0B,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/agent-runtime/graph/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAkDjD,MAAM,OAAO,GAAG,GAAM,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,SAAY,EAAE,IAAO,EAAK,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;AAE1E;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC;IACvC,wFAAwF;IACxF,IAAI,EAAE,UAAU,CAAwB,EAAE,GAAG,OAAO,EAAyB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACnG,sBAAsB,EAAE,UAAU,CAAW,EAAE,GAAG,OAAO,EAAY,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAC3F,YAAY,EAAE,UAAU,CAA4B,EAAE,GAAG,OAAO,EAA6B,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IACrH,WAAW,EAAE,UAAU,CAAyB,EAAE,GAAG,OAAO,EAA0B,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IAC9G,YAAY,EAAE,UAAU,CAA4B,EAAE,GAAG,OAAO,EAA6B,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IACrH,MAAM,EAAE,UAAU,CAAsB,EAAE,GAAG,OAAO,EAAuB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IACnG,uEAAuE;IACvE,OAAO,EAAE,UAAU,CAAW,EAAE,OAAO,EAAE,CAAC,QAAkB,EAAE,IAAc,EAAY,EAAE,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACvI,8FAA8F;IAC9F,YAAY,EAAE,UAAU,CAAS,EAAE,GAAG,OAAO,EAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;IAC5E,QAAQ,EAAE,UAAU,CAAuB,EAAE,GAAG,OAAO,EAAwB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;CACxG,CAAC,CAAA;AAIF,+IAA+I;AAC/I,MAAM,CAAC,MAAM,eAAe,GAA0B,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA"}
@@ -0,0 +1,15 @@
1
+ export declare const GUARDRAIL_IDS: readonly ["plan-validation", "genuine-blocking-question", "plan-language-hint", "frozen-plan-writes", "primary-language", "duplicate-sibling", "one-test-per-module", "empty-write", "evidence-gated-ticking", "inventory-retry", "synthetic-corrections", "silent-group-closure", "verify-per-group", "test-reachability", "exit-code-honesty", "environment-repair", "lockfile-repair", "verify-idle-timeout"];
2
+ export type GuardrailId = (typeof GUARDRAIL_IDS)[number];
3
+ export type GuardrailPhase = 'architect' | 'developer' | 'host';
4
+ export interface GuardrailDescriptor {
5
+ id: GuardrailId;
6
+ phase: GuardrailPhase;
7
+ }
8
+ export type GuardrailSettings = Partial<Record<GuardrailId, boolean>>;
9
+ /** Stable catalog (phase order = pipeline order); labels/descriptions live in the host UI so they can be localized. */
10
+ export declare const GUARDRAIL_CATALOG: readonly GuardrailDescriptor[];
11
+ export declare function isGuardrailId(value: unknown): value is GuardrailId;
12
+ /** A guardrail is on unless the settings say `false` explicitly. */
13
+ export declare function guardrailEnabled(settings: GuardrailSettings | undefined, id: GuardrailId): boolean;
14
+ /** Validates a raw `guardrails` object: only known ids, only booleans. Returns the normalized settings (unset ⇒ omitted). */
15
+ export declare function validateGuardrailSettings(value: unknown, path?: string): GuardrailSettings;
@@ -0,0 +1,76 @@
1
+ // Configurable guardrails of the small-model (compact) runtime.
2
+ //
3
+ // Every entry is a process rule the host applies around a local model so a
4
+ // 7–30B developer does not derail: a validated plan, frozen planning
5
+ // artifacts, one test file per module, evidence before a task is ticked, an
6
+ // environment repaired by the host instead of the model, a hanging test
7
+ // stopped by silence, a test file the verify command never runs, a runner
8
+ // that prints failures but exits 0. All are ON by default; a project may switch one off in
9
+ // its runtime configuration (`guardrails: { <id>: false }`) to tune the
10
+ // process. Pure bug fixes (candidate fingerprint, correction counter, argument
11
+ // repair) are deliberately NOT here: they are correctness, not tuning.
12
+ //
13
+ // CLI providers never see these: the compact loop is local-engine only.
14
+ export const GUARDRAIL_IDS = [
15
+ 'plan-validation',
16
+ 'genuine-blocking-question',
17
+ 'plan-language-hint',
18
+ 'frozen-plan-writes',
19
+ 'primary-language',
20
+ 'duplicate-sibling',
21
+ 'one-test-per-module',
22
+ 'empty-write',
23
+ 'evidence-gated-ticking',
24
+ 'inventory-retry',
25
+ 'synthetic-corrections',
26
+ 'silent-group-closure',
27
+ 'verify-per-group',
28
+ 'test-reachability',
29
+ 'exit-code-honesty',
30
+ 'environment-repair',
31
+ 'lockfile-repair',
32
+ 'verify-idle-timeout',
33
+ ];
34
+ /** Stable catalog (phase order = pipeline order); labels/descriptions live in the host UI so they can be localized. */
35
+ export const GUARDRAIL_CATALOG = [
36
+ { id: 'plan-validation', phase: 'architect' },
37
+ { id: 'genuine-blocking-question', phase: 'architect' },
38
+ { id: 'plan-language-hint', phase: 'architect' },
39
+ { id: 'frozen-plan-writes', phase: 'developer' },
40
+ { id: 'primary-language', phase: 'developer' },
41
+ { id: 'duplicate-sibling', phase: 'developer' },
42
+ { id: 'one-test-per-module', phase: 'developer' },
43
+ { id: 'empty-write', phase: 'developer' },
44
+ { id: 'evidence-gated-ticking', phase: 'developer' },
45
+ { id: 'inventory-retry', phase: 'developer' },
46
+ { id: 'synthetic-corrections', phase: 'developer' },
47
+ { id: 'silent-group-closure', phase: 'developer' },
48
+ { id: 'verify-per-group', phase: 'developer' },
49
+ { id: 'test-reachability', phase: 'host' },
50
+ { id: 'exit-code-honesty', phase: 'host' },
51
+ { id: 'environment-repair', phase: 'host' },
52
+ { id: 'lockfile-repair', phase: 'host' },
53
+ { id: 'verify-idle-timeout', phase: 'host' },
54
+ ];
55
+ export function isGuardrailId(value) {
56
+ return typeof value === 'string' && GUARDRAIL_IDS.includes(value);
57
+ }
58
+ /** A guardrail is on unless the settings say `false` explicitly. */
59
+ export function guardrailEnabled(settings, id) {
60
+ return settings?.[id] !== false;
61
+ }
62
+ /** Validates a raw `guardrails` object: only known ids, only booleans. Returns the normalized settings (unset ⇒ omitted). */
63
+ export function validateGuardrailSettings(value, path = 'guardrails') {
64
+ if (!value || typeof value !== 'object' || Array.isArray(value))
65
+ throw new Error(`${path}: expected an object`);
66
+ const out = {};
67
+ for (const [key, flag] of Object.entries(value)) {
68
+ if (!isGuardrailId(key))
69
+ throw new Error(`${path}.${key}: unknown guardrail`);
70
+ if (typeof flag !== 'boolean')
71
+ throw new Error(`${path}.${key}: expected a boolean`);
72
+ out[key] = flag;
73
+ }
74
+ return out;
75
+ }
76
+ //# sourceMappingURL=guardrails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guardrails.js","sourceRoot":"","sources":["../../src/agent-runtime/guardrails.ts"],"names":[],"mappings":"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"}
@@ -4,19 +4,43 @@ type ApiProvider = Extract<RuntimeProviderConfig, {
4
4
  }>;
5
5
  export interface OpenAICompatibleOptions {
6
6
  fetch?: typeof globalThis.fetch;
7
- env?: NodeJS.ProcessEnv;
7
+ env?: NodeJS.ProcessEnv; /** Test seams: the role budget used when the request carries none, and the compact idle bound. */
8
+ defaultTimeoutMs?: number;
9
+ idleTimeoutMs?: number;
8
10
  }
9
11
  export declare function parseStructuredText(text: string): Record<string, unknown> | undefined;
12
+ /** The agent loop an openai-compatible provider runs: compact host-driven pipelines by default. */
13
+ /** The OpenAI `reasoning_effort` tiers a compatible endpoint accepts. */
14
+ export declare const OPENAI_EFFORTS: readonly ["low", "medium", "high"];
15
+ export declare function resolveAgentLoop(provider: ApiProvider): 'compact' | 'free';
16
+ /** Compact runs: abort when NOTHING happens for this long (no tool call, reply or usage) — the real hang detector now that the wall clock is per task group. A non-streaming 16k reply at 20 tok/s is ~13 min, hence the margin. */
17
+ export declare const IDLE_TIMEOUT_MS: number;
18
+ export declare function resolveContextWindow(provider: ApiProvider): number;
19
+ /** The per-turn output budget the connection declares; undefined keeps the loop's default. */
20
+ export declare function resolveOutputBudget(provider: ApiProvider): number | undefined;
10
21
  /** No SDK, gateway, tracing backend, paid probe, or mandatory key. */
11
22
  export declare class OpenAICompatibleExecutor implements AgentExecutor {
12
23
  private readonly provider;
13
24
  private readonly options;
14
25
  constructor(provider: ApiProvider, options?: OpenAICompatibleOptions);
15
26
  capabilities(): {
27
+ agentLoop: "compact" | "free";
28
+ contextWindowTokens: number;
29
+ effortSupport: "supported";
30
+ supportedEfforts: ("high" | "medium" | "low")[];
16
31
  continuation: "unsupported";
32
+ transport: string;
33
+ resumeRequiresFullContext?: boolean;
34
+ observedModel: boolean;
35
+ observedEffort: boolean;
36
+ } | {
37
+ agentLoop: "compact" | "free";
38
+ contextWindowTokens: number;
17
39
  effortSupport: "unsupported";
18
40
  supportedEfforts: never[];
41
+ continuation: "unsupported";
19
42
  transport: string;
43
+ resumeRequiresFullContext?: boolean;
20
44
  observedModel: boolean;
21
45
  observedEffort: boolean;
22
46
  };
@@ -1,15 +1,14 @@
1
1
  import { readVerificationEvidence } from '../installer/runtime/pipeline-state.js';
2
- import { toolEvent } from './tool-event.js';
3
2
  import { assertEffortSupported, unknownCapabilities } from './capabilities.js';
4
3
  import { OpenSpecTools, OPENSPEC_TOOL_DEFINITION, openSpecPrompt } from './openspec.js';
5
4
  import { AgentExecutionError, unknownUsage, validateAgentRequest } from './executor-types.js';
6
- import { sumCacheUsage } from './efficiency-types.js';
7
5
  import { WorkspaceTools } from './workspace-tools.js';
8
- function record(value) {
9
- return value !== null && typeof value === 'object' && !Array.isArray(value) ? value : undefined;
10
- }
11
- function number(value) { return typeof value === 'number' && Number.isFinite(value) && value >= 0 ? value : null; }
12
- function add(left, right) { return left === null || right === null ? null : left + right; }
6
+ import { ChatClient, record } from './compact/chat-client.js';
7
+ import { DEFAULT_CONTEXT_WINDOW_TOKENS, runToolLoop } from './compact/guarded-loop.js';
8
+ import { extractPromptInputs } from './compact/prompt-inputs.js';
9
+ import { runCompactArchitect } from './compact/architect.js';
10
+ import { runCompactDeveloper } from './compact/developer.js';
11
+ import { runCompactReviewer } from './compact/reviewer.js';
13
12
  export function parseStructuredText(text) {
14
13
  try {
15
14
  return record(JSON.parse(text.trim().replace(/^```(?:json)?\s*\n/, '').replace(/\n```$/, '')));
@@ -18,6 +17,15 @@ export function parseStructuredText(text) {
18
17
  return undefined;
19
18
  }
20
19
  }
20
+ /** The agent loop an openai-compatible provider runs: compact host-driven pipelines by default. */
21
+ /** The OpenAI `reasoning_effort` tiers a compatible endpoint accepts. */
22
+ export const OPENAI_EFFORTS = ['low', 'medium', 'high'];
23
+ export function resolveAgentLoop(provider) { return provider.agentLoop ?? 'compact'; }
24
+ /** Compact runs: abort when NOTHING happens for this long (no tool call, reply or usage) — the real hang detector now that the wall clock is per task group. A non-streaming 16k reply at 20 tok/s is ~13 min, hence the margin. */
25
+ export const IDLE_TIMEOUT_MS = 20 * 60_000;
26
+ export function resolveContextWindow(provider) { return provider.contextWindowTokens ?? DEFAULT_CONTEXT_WINDOW_TOKENS; }
27
+ /** The per-turn output budget the connection declares; undefined keeps the loop's default. */
28
+ export function resolveOutputBudget(provider) { return provider.maxOutputTokens; }
21
29
  /** No SDK, gateway, tracing backend, paid probe, or mandatory key. */
22
30
  export class OpenAICompatibleExecutor {
23
31
  provider;
@@ -26,7 +34,7 @@ export class OpenAICompatibleExecutor {
26
34
  this.provider = provider;
27
35
  this.options = options;
28
36
  }
29
- capabilities() { return { ...unknownCapabilities('openai-compatible'), continuation: 'unsupported', effortSupport: 'unsupported', supportedEfforts: [] }; }
37
+ capabilities() { return { ...unknownCapabilities('openai-compatible'), continuation: 'unsupported', ...(this.provider.supportsReasoningEffort ? { effortSupport: 'supported', supportedEfforts: [...OPENAI_EFFORTS] } : { effortSupport: 'unsupported', supportedEfforts: [] }), agentLoop: resolveAgentLoop(this.provider), contextWindowTokens: resolveContextWindow(this.provider) }; }
30
38
  validateLimits(limits) {
31
39
  if (limits.maxCostUsd !== undefined)
32
40
  throw new AgentExecutionError('A strict USD cap requires an executor with a native spending limit; OpenAI-compatible endpoints do not provide one. Use a token cap or an executor with native cost enforcement.', 'cost_limit_unsupported');
@@ -40,11 +48,17 @@ export class OpenAICompatibleExecutor {
40
48
  const controller = new AbortController();
41
49
  const toolset = new WorkspaceTools(request.cwd, request.allowedRoots, request.role);
42
50
  const openspec = request.openspec ? new OpenSpecTools(request.openspec, controller.signal) : undefined;
43
- const definitions = [...toolset.definitions(), ...(openspec ? [OPENSPEC_TOOL_DEFINITION] : []), ...(request.openspec?.evidenceScope && request.role !== 'architect' ? [{ type: 'function', function: { name: 'read_verification_evidence', description: 'Read host verification evidence and source files with opaque IDs and bounded cursors. List to discover IDs.', parameters: { type: 'object', additionalProperties: false, properties: { id: { type: 'string' }, section: { type: 'string', enum: ['summary', 'stdout', 'stderr', 'source'] }, sourceId: { type: 'string' }, cursor: { type: 'string' }, limit: { type: 'integer', minimum: 1, maximum: 100 } } } } }] : [])];
51
+ const evidenceScope = request.openspec?.evidenceScope && request.role !== 'architect' ? request.openspec.evidenceScope : undefined;
52
+ const definitions = [...toolset.definitions(), ...(openspec ? [OPENSPEC_TOOL_DEFINITION] : []), ...(evidenceScope ? [{ type: 'function', function: { name: 'read_verification_evidence', description: 'Read host verification evidence and source files with opaque IDs and bounded cursors. List to discover IDs.', parameters: { type: 'object', additionalProperties: false, properties: { id: { type: 'string' }, section: { type: 'string', enum: ['summary', 'stdout', 'stderr', 'source'] }, sourceId: { type: 'string' }, cursor: { type: 'string' }, limit: { type: 'integer', minimum: 1, maximum: 100 } } } } }] : [])];
44
53
  const maxTurns = request.maxTurns ?? 100;
45
54
  if (!Number.isSafeInteger(maxTurns) || maxTurns < 1)
46
55
  throw new AgentExecutionError('maxTurns must be a positive integer', 'invalid_limit');
47
- const timeoutMs = request.timeoutMs ?? 15 * 60_000;
56
+ // The compact pipelines are several bounded model calls per role (the
57
+ // architect alone is ~8); a role budget sized for one agentic call would
58
+ // cut them off. Scale the DEFAULT only — an explicit timeout is respected.
59
+ const compact = resolveAgentLoop(this.provider) === 'compact' && request.openspec !== undefined;
60
+ const timeoutMs = request.timeoutMs ?? this.options.defaultTimeoutMs ?? (compact ? 45 * 60_000 : 15 * 60_000);
61
+ const idleTimeoutMs = this.options.idleTimeoutMs ?? IDLE_TIMEOUT_MS;
48
62
  if (!Number.isSafeInteger(timeoutMs) || timeoutMs < 1)
49
63
  throw new AgentExecutionError('timeoutMs must be a positive integer', 'invalid_limit');
50
64
  const env = this.options.env ?? process.env;
@@ -61,132 +75,63 @@ export class OpenAICompatibleExecutor {
61
75
  request.signal?.addEventListener('abort', abort, { once: true });
62
76
  if (request.signal?.aborted)
63
77
  abort();
64
- const timer = setTimeout(() => controller.abort(new Error('Agent timeout')), timeoutMs);
65
- let usage = { inputTokens: 0, outputTokens: 0, costUsd: 0 };
66
- let responses = 0;
67
- const messages = [
68
- { role: 'system', content: `You execute one ${request.role} task. Use only the provided workspace tools. Allowed roots: ${JSON.stringify(toolset.roots)}. Working directory: ${toolset.cwd}. Return the complete requested final result. Do not coordinate another workflow. Execute only the assigned role and its supplied OpenSpec workflow.` },
69
- { role: 'user', content: (request.openspec ? openSpecPrompt(request.openspec) : '') + request.prompt },
70
- ];
78
+ // The wall clock is a BUDGET PER UNIT OF WORK, not per role: a compact
79
+ // developer re-arms it at every task group (`env.resetDeadline`), so a
80
+ // local model at ~5 min per turn is not killed at minute 45 of a three-
81
+ // group role while it is still producing (observed: groups 1–2 verified
82
+ // green, group 3 cut mid-patch, whole run failed). A genuine hang is the
83
+ // idle watchdog's job: no tool call, reply or usage for IDLE_TIMEOUT_MS.
84
+ let timer = setTimeout(() => controller.abort(new Error('Agent timeout')), timeoutMs);
85
+ const resetDeadline = () => { clearTimeout(timer); timer = setTimeout(() => controller.abort(new Error('Agent timeout')), timeoutMs); };
86
+ let lastActivity = Date.now();
87
+ const idle = compact ? setInterval(() => { if (Date.now() - lastActivity > idleTimeoutMs)
88
+ controller.abort(new Error('Agent idle timeout')); }, Math.min(15_000, Math.max(50, Math.floor(idleTimeoutMs / 4)))) : undefined;
89
+ idle?.unref?.();
90
+ const onEvent = request.onEvent || idle ? (event) => { lastActivity = Date.now(); request.onEvent?.(event); } : undefined;
91
+ const client = new ChatClient({ endpoint, headers, fetch: this.options.fetch ?? globalThis.fetch, signal: controller.signal, model: request.model, maxTokens: request.maxTokens, maxCostUsd: request.maxCostUsd, onEvent, thinking: request.thinking ?? 'off', ...(this.provider.supportsReasoningEffort && request.effort ? { reasoningEffort: request.effort } : {}), effortSupported: this.provider.supportsReasoningEffort === true });
92
+ const contextWindowTokens = resolveContextWindow(this.provider);
93
+ const maxOutputTokens = resolveOutputBudget(this.provider);
94
+ let compactMode = false;
71
95
  try {
72
- for (let turn = 0; turn < maxTurns; turn++) {
73
- controller.signal.throwIfAborted();
74
- const observed = (usage.inputTokens ?? 0) + (usage.outputTokens ?? 0);
75
- if (request.maxTokens !== undefined && responses && (usage.inputTokens === null || usage.outputTokens === null))
76
- throw new AgentExecutionError('Provider omitted usage required by the token budget', 'usage_unavailable', usage);
77
- if (request.maxTokens !== undefined && observed >= request.maxTokens)
78
- throw new AgentExecutionError('Agent token budget exhausted', 'token_budget', usage);
79
- const response = await (this.options.fetch ?? globalThis.fetch)(endpoint, {
80
- method: 'POST', headers, signal: controller.signal, redirect: 'error',
81
- body: JSON.stringify({ model: request.model, messages, tools: definitions, tool_choice: 'auto', stream: false,
82
- ...(request.maxTokens === undefined ? {} : { max_tokens: Math.max(1, Math.floor(request.maxTokens - observed)) }),
83
- }),
84
- });
85
- if (!response.ok) {
86
- await response.body?.cancel();
87
- throw new AgentExecutionError(`OpenAI-compatible provider returned HTTP ${response.status}`, 'provider_http_error', responses ? usage : unknownUsage());
88
- }
89
- const body = await readBoundedResponse(response);
90
- const data = record(body), reported = record(data?.usage);
91
- const cached = number(record(reported?.prompt_tokens_details)?.cached_tokens);
92
- const inputTokens = number(reported?.prompt_tokens);
93
- const cache = record(reported?.prompt_tokens_details)?.cached_tokens === undefined ? {} : {
94
- cacheReadInputTokens: cached !== null && inputTokens !== null && cached <= inputTokens ? cached : null,
95
- uncachedInputTokens: cached !== null && inputTokens !== null && cached <= inputTokens ? inputTokens - cached : null,
96
- cacheWriteInputTokens: null,
97
- };
98
- const current = {
99
- inputTokens: number(reported?.prompt_tokens), outputTokens: number(reported?.completion_tokens),
100
- costUsd: number(reported?.cost_usd ?? data?.cost_usd), ...cache,
101
- };
102
- usage = { inputTokens: add(usage.inputTokens, current.inputTokens), outputTokens: add(usage.outputTokens, current.outputTokens), costUsd: add(usage.costUsd, current.costUsd), ...(responses === 0 ? cache : sumCacheUsage([usage, current])) };
103
- responses++;
104
- request.onEvent?.({ kind: 'usage', usage: { ...usage } });
105
- if (request.maxTokens !== undefined && (usage.inputTokens === null || usage.outputTokens === null))
106
- throw new AgentExecutionError('Provider omitted usage required by the token budget', 'usage_unavailable', usage);
107
- if (request.maxTokens !== undefined && (usage.inputTokens ?? 0) + (usage.outputTokens ?? 0) > request.maxTokens)
108
- throw new AgentExecutionError('Agent token budget exceeded', 'token_budget', usage);
109
- if (request.maxCostUsd !== undefined && usage.costUsd !== null && usage.costUsd > request.maxCostUsd)
110
- throw new AgentExecutionError('Agent cost budget exceeded', 'cost_budget', usage);
111
- if (!data || data.error)
112
- throw new AgentExecutionError('Provider returned an error or invalid response', 'provider_response_error', usage);
113
- const choice = Array.isArray(data.choices) ? record(data.choices[0]) : undefined;
114
- const message = record(choice?.message);
115
- if (!message || message.role !== 'assistant')
116
- throw new AgentExecutionError('Provider response has no assistant message', 'invalid_response', usage);
117
- if (choice?.finish_reason === 'length' || choice?.finish_reason === 'content_filter')
118
- throw new AgentExecutionError('Provider did not complete the requested result', 'incomplete_response', usage);
119
- const calls = message.tool_calls;
120
- if (calls !== undefined && !Array.isArray(calls))
121
- throw new AgentExecutionError('Invalid tool calls in provider response', 'invalid_tool_call', usage);
122
- if (Array.isArray(calls) && calls.length > 0) {
123
- if (calls.length > 32)
124
- throw new AgentExecutionError('Provider requested too many tools in one turn', 'invalid_tool_call', usage);
125
- messages.push({ role: 'assistant', content: typeof message.content === 'string' ? message.content : null, tool_calls: calls });
126
- const ids = new Set();
127
- for (const raw of calls) {
128
- controller.signal.throwIfAborted();
129
- const call = record(raw), fn = record(call?.function);
130
- if (call?.type !== 'function' || typeof call.id !== 'string' || !call.id || ids.has(call.id) || typeof fn?.name !== 'string' || typeof fn.arguments !== 'string')
131
- throw new AgentExecutionError('Malformed provider tool call', 'invalid_tool_call', usage);
132
- ids.add(call.id);
133
- request.onEvent?.(toolEvent(fn.name, fn.arguments));
134
- let result;
135
- try {
136
- result = fn.name === 'read_verification_evidence' && request.openspec?.evidenceScope && request.role !== 'architect' ? JSON.stringify(readVerificationEvidence(request.openspec.evidenceScope, JSON.parse(fn.arguments))) : fn.name === 'openspec_workflow' && openspec ? JSON.stringify(await openspec.execute(JSON.parse(fn.arguments))) : toolset.execute(fn.name, JSON.parse(fn.arguments));
137
- }
138
- catch (error) {
139
- result = JSON.stringify({ error: error instanceof Error ? error.message : 'Tool execution failed' });
140
- }
141
- messages.push({ role: 'tool', tool_call_id: call.id, content: result });
142
- request.onEvent?.({ kind: 'tool-end', tool: fn.name });
143
- }
144
- continue;
145
- }
146
- if (typeof message.content !== 'string' || !message.content.trim())
147
- throw new AgentExecutionError('Provider returned an empty final result', 'invalid_response', usage);
148
- request.onEvent?.({ kind: 'text', text: message.content });
149
- return { text: message.content, usage, structured: parseStructuredText(message.content) };
96
+ // Compact pipelines need the official workflow to drive; a plain role task
97
+ // without an OpenSpec binding runs the guarded loop instead.
98
+ if (resolveAgentLoop(this.provider) === 'compact' && openspec) {
99
+ compactMode = true;
100
+ const compact = { client, request, inputs: extractPromptInputs(request.prompt), toolset, openspec, contextWindowTokens, ...(maxOutputTokens === undefined ? {} : { maxOutputTokens }), resetDeadline, signal: controller.signal, onEvent, guardrails: request.guardrails, stance: request.stance };
101
+ return request.role === 'architect' ? await runCompactArchitect(compact) : request.role === 'developer' ? await runCompactDeveloper(compact) : await runCompactReviewer(compact);
150
102
  }
151
- throw new AgentExecutionError(`Agent exhausted ${maxTurns} turns without a final result`, 'max_turns', usage);
103
+ const messages = [
104
+ { role: 'system', content: `You execute one ${request.role} task. Use only the provided workspace tools. Allowed roots: ${JSON.stringify(toolset.roots)}. Working directory: ${toolset.cwd}. Return the complete requested final result. Do not coordinate another workflow. Execute only the assigned role and its supplied OpenSpec workflow.` },
105
+ { role: 'user', content: (request.openspec ? openSpecPrompt(request.openspec) : '') + request.prompt },
106
+ ];
107
+ const { text } = await runToolLoop({
108
+ client, messages, tools: definitions, maxTurns, contextWindowTokens, ...(maxOutputTokens === undefined ? {} : { maxOutputTokens }), onEvent, signal: controller.signal,
109
+ execute: async (name, args) => name === 'read_verification_evidence' && evidenceScope ? JSON.stringify(readVerificationEvidence(evidenceScope, args)) : name === 'openspec_workflow' && openspec ? JSON.stringify(await openspec.execute(args)) : toolset.execute(name, args),
110
+ });
111
+ request.onEvent?.({ kind: 'text', text });
112
+ return { text, usage: client.usage, structured: parseStructuredText(text) };
152
113
  }
153
114
  catch (error) {
154
115
  if (error instanceof AgentExecutionError)
155
116
  throw error;
156
- if (controller.signal.aborted)
157
- throw new AgentExecutionError(request.signal?.aborted ? 'Agent cancelled' : 'Agent timed out', request.signal?.aborted ? 'aborted' : 'timeout', responses ? usage : unknownUsage());
117
+ if (controller.signal.aborted) {
118
+ const idled = controller.signal.reason?.message === 'Agent idle timeout';
119
+ throw new AgentExecutionError(request.signal?.aborted ? 'Agent cancelled' : idled ? `Agent idle timeout: no tool call, reply or usage for ${Math.round(idleTimeoutMs / 60_000)} minutes` : `Agent timed out after ${Math.round(timeoutMs / 60_000)} minutes${compact ? ' on one task group' : ''}`, request.signal?.aborted ? 'aborted' : 'timeout', client.responses ? client.usage : unknownUsage());
120
+ }
121
+ // Host-driven OpenSpec calls fail with their own message; the graph repairs or reports it.
122
+ if (compactMode && !(error instanceof TypeError))
123
+ throw new AgentExecutionError('Compact pipeline step failed: ' + (error instanceof Error ? error.message : String(error)), 'compact_step_failed', client.responses ? client.usage : unknownUsage());
158
124
  // Do not persist provider response bodies, URLs or credentials echoed by errors.
159
125
  const code = error.cause?.code;
160
126
  const diagnostic = typeof code === 'string' && /^(?:E[A-Z_]+|UND_ERR_[A-Z_]+)$/.test(code) ? ` (${code})` : '';
161
- throw new AgentExecutionError('OpenAI-compatible request failed' + diagnostic, 'provider_request_error', responses ? usage : unknownUsage());
127
+ throw new AgentExecutionError('OpenAI-compatible request failed' + diagnostic, 'provider_request_error', client.responses ? client.usage : unknownUsage());
162
128
  }
163
129
  finally {
164
130
  clearTimeout(timer);
131
+ if (idle)
132
+ clearInterval(idle);
165
133
  request.signal?.removeEventListener('abort', abort);
166
134
  }
167
135
  }
168
136
  }
169
- async function readBoundedResponse(response) {
170
- if (!response.body)
171
- throw new Error('Missing response body');
172
- const reader = response.body.getReader(), chunks = [];
173
- let length = 0;
174
- try {
175
- for (;;) {
176
- const part = await reader.read();
177
- if (part.done)
178
- break;
179
- length += part.value.byteLength;
180
- if (length > 2 * 1024 * 1024) {
181
- await reader.cancel();
182
- throw new Error('Provider response exceeds 2 MiB');
183
- }
184
- chunks.push(part.value);
185
- }
186
- }
187
- finally {
188
- reader.releaseLock();
189
- }
190
- return JSON.parse(Buffer.concat(chunks).toString('utf8'));
191
- }
192
137
  //# sourceMappingURL=openai-executor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai-executor.js","sourceRoot":"","sources":["../../src/agent-runtime/openai-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-executor.js","sourceRoot":"","sources":["../../src/agent-runtime/openai-executor.ts"],"names":[],"mappings":"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"}
@@ -3,15 +3,15 @@ import { readFileSync } from 'node:fs';
3
3
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
4
4
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
5
5
  import { z } from 'zod';
6
- import { OpenSpecTools } from './openspec.js';
6
+ import { IMPLEMENTATION_PROGRESS_SCHEMA, OPENSPEC_TOOL_ACTIONS, OPENSPEC_TOOL_DEFINITION, OpenSpecTools } from './openspec.js';
7
7
  const configPath = process.argv[2];
8
8
  if (!configPath)
9
9
  throw new Error('Missing role OpenSpec context');
10
10
  const context = JSON.parse(readFileSync(configPath, 'utf8'));
11
11
  const server = new McpServer({ name: 'specrails-openspec', version: '1' });
12
12
  server.registerTool('workflow', {
13
- description: 'Execute the official OpenSpec skill and CLI operations for the current change. Load the role skill first; for developer/reviewer this also executes and returns real status and instructions apply. Read the returned context files and finish the skill. Use instructions before authoring artifacts. Change identity and write scope are fixed by the host.',
14
- inputSchema: { action: z.enum(['load_skill', 'new', 'status', 'instructions', 'validate', 'write_artifact']), artifact: z.string().optional(), path: z.string().optional(), content: z.string().optional() },
13
+ description: OPENSPEC_TOOL_DEFINITION.function.description,
14
+ inputSchema: { action: z.enum(OPENSPEC_TOOL_ACTIONS), artifact: z.string().optional(), path: z.string().optional(), content: z.string().optional(), progress: IMPLEMENTATION_PROGRESS_SCHEMA.optional() },
15
15
  }, async (args, extra) => {
16
16
  const tools = new OpenSpecTools(context, extra.signal);
17
17
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"openspec-tool-server.js","sourceRoot":"","sources":["../../src/agent-runtime/openspec-tool-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAA;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,aAAa,EAA4B,MAAM,eAAe,CAAA;AAEvE,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAClC,IAAI,CAAC,UAAU;IAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;AACjE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAwB,CAAA;AACnF,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAA;AAC1E,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE;IAC9B,WAAW,EAAE,+VAA+V;IAC5W,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;CAC7M,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;IACvB,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACtD,IAAI,CAAC;QAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;IAAC,CAAC;IAC/F,OAAO,KAAK,EAAE,CAAC;QAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAA;IAAC,CAAC;AACvI,CAAC,CAAC,CAAA;AACF,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW;IAAE,MAAM,CAAC,YAAY,CAAC,4BAA4B,EAAE;QAC3G,WAAW,EAAE,kLAAkL;QAC/L,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;KACtO,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;QACd,IAAI,CAAC;YAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,OAAO,CAAC,aAAc,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;QAAC,CAAC;QAC5H,OAAO,KAAK,EAAE,CAAC;YAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAA;QAAC,CAAC;IACvI,CAAC,CAAC,CAAA;AACF,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAA"}
1
+ {"version":3,"file":"openspec-tool-server.js","sourceRoot":"","sources":["../../src/agent-runtime/openspec-tool-server.ts"],"names":[],"mappings":"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"}