@tienne/gestalt 0.84.2 → 0.86.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 (222) hide show
  1. package/CLAUDE.md +4 -4
  2. package/README.ko.md +72 -22
  3. package/README.md +73 -23
  4. package/dist/benchmarks/runners/passthrough-benchmark-runner.d.ts.map +1 -1
  5. package/dist/benchmarks/runners/passthrough-benchmark-runner.js +8 -7
  6. package/dist/benchmarks/runners/passthrough-benchmark-runner.js.map +1 -1
  7. package/dist/bin/gestalt.js +2 -2
  8. package/dist/package.json +4 -3
  9. package/dist/plugin/review-agents/harness-reviewer/AGENT.md +21 -1
  10. package/dist/plugin/skills/dispatch/SKILL.md +14 -2
  11. package/dist/plugin/skills/execute/SKILL.md +219 -52
  12. package/dist/plugin/skills/interview/SKILL.md +15 -2
  13. package/dist/plugin/skills/solve/SKILL.md +20 -5
  14. package/dist/plugin/skills/spec/SKILL.md +2 -0
  15. package/dist/src/cli/commands/interview.d.ts.map +1 -1
  16. package/dist/src/cli/commands/interview.js +16 -4
  17. package/dist/src/cli/commands/interview.js.map +1 -1
  18. package/dist/src/cli/commands/memory-merge.d.ts +2 -0
  19. package/dist/src/cli/commands/memory-merge.d.ts.map +1 -0
  20. package/dist/src/cli/commands/memory-merge.js +13 -0
  21. package/dist/src/cli/commands/memory-merge.js.map +1 -0
  22. package/dist/src/cli/index.d.ts.map +1 -1
  23. package/dist/src/cli/index.js +7 -0
  24. package/dist/src/cli/index.js.map +1 -1
  25. package/dist/src/core/constants.d.ts +4 -0
  26. package/dist/src/core/constants.d.ts.map +1 -1
  27. package/dist/src/core/constants.js +8 -0
  28. package/dist/src/core/constants.js.map +1 -1
  29. package/dist/src/core/errors.d.ts +3 -0
  30. package/dist/src/core/errors.d.ts.map +1 -1
  31. package/dist/src/core/errors.js +7 -0
  32. package/dist/src/core/errors.js.map +1 -1
  33. package/dist/src/core/file-lock.d.ts +37 -0
  34. package/dist/src/core/file-lock.d.ts.map +1 -0
  35. package/dist/src/core/file-lock.js +143 -0
  36. package/dist/src/core/file-lock.js.map +1 -0
  37. package/dist/src/core/json-file.d.ts +40 -0
  38. package/dist/src/core/json-file.d.ts.map +1 -0
  39. package/dist/src/core/json-file.js +82 -0
  40. package/dist/src/core/json-file.js.map +1 -0
  41. package/dist/src/core/types.d.ts +86 -9
  42. package/dist/src/core/types.d.ts.map +1 -1
  43. package/dist/src/events/store.d.ts +6 -0
  44. package/dist/src/events/store.d.ts.map +1 -1
  45. package/dist/src/events/store.js +12 -0
  46. package/dist/src/events/store.js.map +1 -1
  47. package/dist/src/events/types.d.ts +7 -0
  48. package/dist/src/events/types.d.ts.map +1 -1
  49. package/dist/src/events/types.js +7 -0
  50. package/dist/src/events/types.js.map +1 -1
  51. package/dist/src/execute/artifact-verifier.d.ts +12 -0
  52. package/dist/src/execute/artifact-verifier.d.ts.map +1 -0
  53. package/dist/src/execute/artifact-verifier.js +211 -0
  54. package/dist/src/execute/artifact-verifier.js.map +1 -0
  55. package/dist/src/execute/drift-detector.d.ts +2 -0
  56. package/dist/src/execute/drift-detector.d.ts.map +1 -1
  57. package/dist/src/execute/drift-detector.js +9 -13
  58. package/dist/src/execute/drift-detector.js.map +1 -1
  59. package/dist/src/execute/orchestrators/evaluation.d.ts +5 -1
  60. package/dist/src/execute/orchestrators/evaluation.d.ts.map +1 -1
  61. package/dist/src/execute/orchestrators/evaluation.js +48 -41
  62. package/dist/src/execute/orchestrators/evaluation.js.map +1 -1
  63. package/dist/src/execute/orchestrators/evolution.d.ts +17 -3
  64. package/dist/src/execute/orchestrators/evolution.d.ts.map +1 -1
  65. package/dist/src/execute/orchestrators/evolution.js +102 -53
  66. package/dist/src/execute/orchestrators/evolution.js.map +1 -1
  67. package/dist/src/execute/orchestrators/execution.d.ts +17 -2
  68. package/dist/src/execute/orchestrators/execution.d.ts.map +1 -1
  69. package/dist/src/execute/orchestrators/execution.js +99 -3
  70. package/dist/src/execute/orchestrators/execution.js.map +1 -1
  71. package/dist/src/execute/orchestrators/planning.d.ts +18 -4
  72. package/dist/src/execute/orchestrators/planning.d.ts.map +1 -1
  73. package/dist/src/execute/orchestrators/planning.js +62 -21
  74. package/dist/src/execute/orchestrators/planning.js.map +1 -1
  75. package/dist/src/execute/orchestrators/types.d.ts +12 -1
  76. package/dist/src/execute/orchestrators/types.d.ts.map +1 -1
  77. package/dist/src/execute/passthrough-engine.d.ts +12 -5
  78. package/dist/src/execute/passthrough-engine.d.ts.map +1 -1
  79. package/dist/src/execute/passthrough-engine.js +10 -4
  80. package/dist/src/execute/passthrough-engine.js.map +1 -1
  81. package/dist/src/execute/repository.d.ts +11 -1
  82. package/dist/src/execute/repository.d.ts.map +1 -1
  83. package/dist/src/execute/repository.js +138 -19
  84. package/dist/src/execute/repository.js.map +1 -1
  85. package/dist/src/execute/session.d.ts +26 -4
  86. package/dist/src/execute/session.d.ts.map +1 -1
  87. package/dist/src/execute/session.js +165 -48
  88. package/dist/src/execute/session.js.map +1 -1
  89. package/dist/src/execute/structural-commands.d.ts +23 -0
  90. package/dist/src/execute/structural-commands.d.ts.map +1 -0
  91. package/dist/src/execute/structural-commands.js +139 -0
  92. package/dist/src/execute/structural-commands.js.map +1 -0
  93. package/dist/src/harness-review/collect.d.ts +1 -1
  94. package/dist/src/harness-review/collect.d.ts.map +1 -1
  95. package/dist/src/harness-review/collect.js +6 -1
  96. package/dist/src/harness-review/collect.js.map +1 -1
  97. package/dist/src/harness-review/rule-overlap.d.ts +3 -0
  98. package/dist/src/harness-review/rule-overlap.d.ts.map +1 -0
  99. package/dist/src/harness-review/rule-overlap.js +78 -0
  100. package/dist/src/harness-review/rule-overlap.js.map +1 -0
  101. package/dist/src/harness-review/types.d.ts +1 -1
  102. package/dist/src/harness-review/types.d.ts.map +1 -1
  103. package/dist/src/harness-review/types.js +1 -0
  104. package/dist/src/harness-review/types.js.map +1 -1
  105. package/dist/src/humanize/overlap.d.ts +116 -0
  106. package/dist/src/humanize/overlap.d.ts.map +1 -0
  107. package/dist/src/humanize/overlap.js +680 -0
  108. package/dist/src/humanize/overlap.js.map +1 -0
  109. package/dist/src/interview/engine.d.ts +1 -1
  110. package/dist/src/interview/engine.d.ts.map +1 -1
  111. package/dist/src/interview/engine.js +3 -3
  112. package/dist/src/interview/engine.js.map +1 -1
  113. package/dist/src/interview/passthrough-engine.d.ts +1 -1
  114. package/dist/src/interview/passthrough-engine.d.ts.map +1 -1
  115. package/dist/src/interview/passthrough-engine.js +20 -3
  116. package/dist/src/interview/passthrough-engine.js.map +1 -1
  117. package/dist/src/interview/repository.d.ts +8 -0
  118. package/dist/src/interview/repository.d.ts.map +1 -1
  119. package/dist/src/interview/repository.js +16 -1
  120. package/dist/src/interview/repository.js.map +1 -1
  121. package/dist/src/interview/session.d.ts +15 -2
  122. package/dist/src/interview/session.d.ts.map +1 -1
  123. package/dist/src/interview/session.js +67 -23
  124. package/dist/src/interview/session.js.map +1 -1
  125. package/dist/src/knowledge-base/embedding.d.ts +6 -1
  126. package/dist/src/knowledge-base/embedding.d.ts.map +1 -1
  127. package/dist/src/knowledge-base/embedding.js +19 -6
  128. package/dist/src/knowledge-base/embedding.js.map +1 -1
  129. package/dist/src/local-pr/registry.d.ts +1 -21
  130. package/dist/src/local-pr/registry.d.ts.map +1 -1
  131. package/dist/src/local-pr/registry.js +7 -113
  132. package/dist/src/local-pr/registry.js.map +1 -1
  133. package/dist/src/mcp/input-guard.d.ts +17 -0
  134. package/dist/src/mcp/input-guard.d.ts.map +1 -1
  135. package/dist/src/mcp/input-guard.js +1 -1
  136. package/dist/src/mcp/input-guard.js.map +1 -1
  137. package/dist/src/mcp/schemas.d.ts +62 -7
  138. package/dist/src/mcp/schemas.d.ts.map +1 -1
  139. package/dist/src/mcp/schemas.js +28 -1
  140. package/dist/src/mcp/schemas.js.map +1 -1
  141. package/dist/src/mcp/server.d.ts.map +1 -1
  142. package/dist/src/mcp/server.js +26 -40
  143. package/dist/src/mcp/server.js.map +1 -1
  144. package/dist/src/mcp/tools/execute/evaluate.d.ts.map +1 -1
  145. package/dist/src/mcp/tools/execute/evaluate.js +15 -9
  146. package/dist/src/mcp/tools/execute/evaluate.js.map +1 -1
  147. package/dist/src/mcp/tools/execute/evolve.d.ts +1 -0
  148. package/dist/src/mcp/tools/execute/evolve.d.ts.map +1 -1
  149. package/dist/src/mcp/tools/execute/evolve.js +102 -37
  150. package/dist/src/mcp/tools/execute/evolve.js.map +1 -1
  151. package/dist/src/mcp/tools/execute/execution.d.ts.map +1 -1
  152. package/dist/src/mcp/tools/execute/execution.js +66 -7
  153. package/dist/src/mcp/tools/execute/execution.js.map +1 -1
  154. package/dist/src/mcp/tools/execute/planning.d.ts.map +1 -1
  155. package/dist/src/mcp/tools/execute/planning.js +34 -2
  156. package/dist/src/mcp/tools/execute/planning.js.map +1 -1
  157. package/dist/src/mcp/tools/execute/roles.d.ts.map +1 -1
  158. package/dist/src/mcp/tools/execute/roles.js +13 -5
  159. package/dist/src/mcp/tools/execute/roles.js.map +1 -1
  160. package/dist/src/mcp/tools/execute/utility.d.ts.map +1 -1
  161. package/dist/src/mcp/tools/execute/utility.js +26 -0
  162. package/dist/src/mcp/tools/execute/utility.js.map +1 -1
  163. package/dist/src/mcp/tools/execute/utils.d.ts +1 -0
  164. package/dist/src/mcp/tools/execute/utils.d.ts.map +1 -1
  165. package/dist/src/mcp/tools/execute/utils.js +15 -0
  166. package/dist/src/mcp/tools/execute/utils.js.map +1 -1
  167. package/dist/src/mcp/tools/execute-passthrough.d.ts.map +1 -1
  168. package/dist/src/mcp/tools/execute-passthrough.js +21 -1
  169. package/dist/src/mcp/tools/execute-passthrough.js.map +1 -1
  170. package/dist/src/mcp/tools/interview-passthrough.d.ts +2 -1
  171. package/dist/src/mcp/tools/interview-passthrough.d.ts.map +1 -1
  172. package/dist/src/mcp/tools/interview-passthrough.js +4 -3
  173. package/dist/src/mcp/tools/interview-passthrough.js.map +1 -1
  174. package/dist/src/mcp/tools/interview.d.ts.map +1 -1
  175. package/dist/src/mcp/tools/interview.js +2 -1
  176. package/dist/src/mcp/tools/interview.js.map +1 -1
  177. package/dist/src/mcp/tools/review-passthrough.js +15 -19
  178. package/dist/src/mcp/tools/review-passthrough.js.map +1 -1
  179. package/dist/src/mcp/tools/spec-passthrough.d.ts.map +1 -1
  180. package/dist/src/mcp/tools/spec-passthrough.js +16 -8
  181. package/dist/src/mcp/tools/spec-passthrough.js.map +1 -1
  182. package/dist/src/mcp/tools/status.d.ts.map +1 -1
  183. package/dist/src/mcp/tools/status.js +4 -0
  184. package/dist/src/mcp/tools/status.js.map +1 -1
  185. package/dist/src/memory/memory-context-injector.d.ts +22 -8
  186. package/dist/src/memory/memory-context-injector.d.ts.map +1 -1
  187. package/dist/src/memory/memory-context-injector.js +85 -13
  188. package/dist/src/memory/memory-context-injector.js.map +1 -1
  189. package/dist/src/memory/memory-merge.d.ts +19 -0
  190. package/dist/src/memory/memory-merge.d.ts.map +1 -0
  191. package/dist/src/memory/memory-merge.js +120 -0
  192. package/dist/src/memory/memory-merge.js.map +1 -0
  193. package/dist/src/memory/project-memory-store.d.ts +15 -11
  194. package/dist/src/memory/project-memory-store.d.ts.map +1 -1
  195. package/dist/src/memory/project-memory-store.js +97 -120
  196. package/dist/src/memory/project-memory-store.js.map +1 -1
  197. package/dist/src/memory/semantic-search.d.ts +4 -1
  198. package/dist/src/memory/semantic-search.d.ts.map +1 -1
  199. package/dist/src/memory/semantic-search.js +66 -19
  200. package/dist/src/memory/semantic-search.js.map +1 -1
  201. package/dist/src/resilience/lateral.d.ts +8 -1
  202. package/dist/src/resilience/lateral.d.ts.map +1 -1
  203. package/dist/src/resilience/lateral.js +52 -4
  204. package/dist/src/resilience/lateral.js.map +1 -1
  205. package/package.json +4 -3
  206. package/plugin/.codex-plugin/plugin.json +1 -1
  207. package/plugin/.mcp.json +1 -1
  208. package/plugin/mcp.json +1 -1
  209. package/plugin/review-agents/harness-reviewer/AGENT.md +21 -1
  210. package/plugin/skills/dispatch/SKILL.md +14 -2
  211. package/plugin/skills/execute/SKILL.md +219 -52
  212. package/plugin/skills/interview/SKILL.md +15 -2
  213. package/plugin/skills/solve/SKILL.md +20 -5
  214. package/plugin/skills/spec/SKILL.md +2 -0
  215. package/dist/src/interview/mini-interview-engine.d.ts +0 -33
  216. package/dist/src/interview/mini-interview-engine.d.ts.map +0 -1
  217. package/dist/src/interview/mini-interview-engine.js +0 -102
  218. package/dist/src/interview/mini-interview-engine.js.map +0 -1
  219. package/dist/src/memory/user-profile-store.d.ts +0 -13
  220. package/dist/src/memory/user-profile-store.d.ts.map +0 -1
  221. package/dist/src/memory/user-profile-store.js +0 -85
  222. package/dist/src/memory/user-profile-store.js.map +0 -1
@@ -5,15 +5,28 @@ import { log } from '../core/log.js';
5
5
  * 모델은 첫 호출 시 lazy 로딩된다.
6
6
  */
7
7
  export class EmbeddingService {
8
- pipelineInstance = null;
8
+ pipelinePromise = null;
9
9
  modelName = 'Xenova/all-MiniLM-L6-v2';
10
- async getPipeline() {
11
- if (!this.pipelineInstance) {
10
+ // 로딩 중인 Promise를 들고 있어야 첫 로딩이 끝나기 전에 들어온 호출이 모델을 또 받지 않는다
11
+ getPipeline() {
12
+ if (!this.pipelinePromise) {
12
13
  log(`embedding: loading model ${this.modelName}...`);
13
- this.pipelineInstance = await pipeline('feature-extraction', this.modelName);
14
- log('embedding: model loaded');
14
+ this.pipelinePromise = pipeline('feature-extraction', this.modelName).then((instance) => {
15
+ log('embedding: model loaded');
16
+ return instance;
17
+ }, (e) => {
18
+ this.pipelinePromise = null;
19
+ throw e;
20
+ });
15
21
  }
16
- return this.pipelineInstance;
22
+ return this.pipelinePromise;
23
+ }
24
+ /**
25
+ * 모델을 미리 올린다. 이미 올라와 있으면 바로 끝난다.
26
+ * 로딩 실패와 임베딩 실패를 호출부가 나눠 다룰 수 있게 따로 둔다.
27
+ */
28
+ async ensureLoaded() {
29
+ await this.getPipeline();
17
30
  }
18
31
  /**
19
32
  * 텍스트 하나를 임베딩 벡터로 변환한다.
@@ -1 +1 @@
1
- {"version":3,"file":"embedding.js","sourceRoot":"","sources":["../../../src/knowledge-base/embedding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAqC,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAErC;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IACnB,gBAAgB,GAAqC,IAAI,CAAC;IACjD,SAAS,GAAG,yBAAyB,CAAC;IAE/C,KAAK,CAAC,WAAW;QACvB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,GAAG,CAAC,4BAA4B,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC;YACrD,IAAI,CAAC,gBAAgB,GAAG,MAAM,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7E,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,KAAe,EAAE,SAAS,GAAG,EAAE;QAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAe,EAAE,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;YACjD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAW,CAAC;YACxF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAoB,CAAC;YACzC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
1
+ {"version":3,"file":"embedding.js","sourceRoot":"","sources":["../../../src/knowledge-base/embedding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAqC,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAErC;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IACnB,eAAe,GAA8C,IAAI,CAAC;IACzD,SAAS,GAAG,yBAAyB,CAAC;IAEvD,0DAA0D;IAClD,WAAW;QACjB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,GAAG,CAAC,4BAA4B,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC;YACrD,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CACxE,CAAC,QAAQ,EAAE,EAAE;gBACX,GAAG,CAAC,yBAAyB,CAAC,CAAC;gBAC/B,OAAO,QAAQ,CAAC;YAClB,CAAC,EACD,CAAC,CAAU,EAAE,EAAE;gBACb,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,MAAM,CAAC,CAAC;YACV,CAAC,CACF,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,KAAe,EAAE,SAAS,GAAG,EAAE;QAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAe,EAAE,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;YACjD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAW,CAAC;YACxF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAoB,CAAC;YACzC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
@@ -33,27 +33,7 @@ export interface RegisteredRepo {
33
33
  /** 레포를 가리키는 키. 워크트리 어디서 구해도 같은 값이 나온다 */
34
34
  export declare function repoKey(repoRoot: string): string;
35
35
  /**
36
- * 목록을 고치는 동안 다른 프로세스를 막는다.
37
- *
38
- * 워크트리 여럿이 같은 목록에 동시에 손대는 게 이 레포의 기본 흐름이다. 잠금 없이
39
- * 읽고 고쳐 쓰면 나중에 쓴 쪽이 먼저 쓴 쪽의 항목을 덮는다.
40
- *
41
- * `mkdir`는 있으면 실패하니까 그 자체가 잠금이다. 쥔 채로 죽은 프로세스가 목록을 영영
42
- * 못 고치게 만들면 안 되므로 버려진 잠금은 부순다. 부수는 순간에 둘이 겹치면 둘 다
43
- * `mkdir`을 시도하고 한쪽만 성공한다 — 진 쪽은 다시 기다린다.
44
- *
45
- * **버려졌는지는 주인의 pid로 가른다.** 예전에는 잠금 디렉토리의 mtime만 봤는데,
46
- * 잠금은 잡을 때 한 번 만들어지고 쥔 동안 mtime이 안 올라간다. 그래서 `fn()`이
47
- * 5초를 넘기면 살아 있는 잠금이 버려진 것으로 보였다. 남이 부수고 들어와 둘이 나란히
48
- * 읽고 고쳐 써서 늦게 쓴 쪽이 상대 항목을 덮었다. 파일은 rename이라 안 깨지고 등록만
49
- * 조용히 사라진다.
50
- *
51
- * 쥔 동안 mtime을 주기적으로 올리는 방법은 여기서 안 통한다. `fn()`이 통째로 동기라
52
- * 타이머가 돌 틈이 없다 — 갱신이 필요한 바로 그 순간에 이벤트 루프가 막혀 있다.
53
- * 대신 주인이 살아 있는지를 직접 묻는다.
54
- *
55
- * `fn`에는 `stillMine`을 준다. 부수기와 다시 잡기가 겹치는 좁은 틈이 남아 있어,
56
- * 쓰기 직전에 잠금이 아직 내 것인지 다시 확인할 수 있어야 한다.
36
+ * 목록을 고치는 동안 다른 프로세스를 막는다. 잠금 동작은 `withFileLock` 머리말 참고.
57
37
  *
58
38
  * 잠금 소유권을 테스트에서 확인할 수 있게 내보낸다. 그 경로는 잠금을 오래 쥔 쪽과
59
39
  * 부순 쪽이 겹쳐야 열리는데, `registerRepo`로는 그 상황을 만들 수 없다.
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/local-pr/registry.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAiCD,yCAAyC;AACzC,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhD;AAgFD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE;IAAE,SAAS,EAAE,MAAM,OAAO,CAAA;CAAE,KAAK,CAAC,GAAG,CAAC,CA+C3E;AAoED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAkB7D;AAcD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CASnD;AAED,4CAA4C;AAC5C,wBAAgB,SAAS,IAAI,cAAc,EAAE,CAE5C"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/local-pr/registry.ts"],"names":[],"mappings":"AAgBA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAiCD,yCAAyC;AACzC,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhD;AA4BD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE;IAAE,SAAS,EAAE,MAAM,OAAO,CAAA;CAAE,KAAK,CAAC,GAAG,CAAC,CAI3E;AAoED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAkB7D;AAcD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CASnD;AAED,4CAA4C;AAC5C,wBAAgB,SAAS,IAAI,cAAc,EAAE,CAE5C"}
@@ -1,7 +1,8 @@
1
- import { createHash, randomUUID } from 'node:crypto';
2
- import { existsSync, mkdirSync, readFileSync, readdirSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync, } from 'node:fs';
1
+ import { createHash } from 'node:crypto';
2
+ import { existsSync, mkdirSync, readFileSync, readdirSync, renameSync, unlinkSync, writeFileSync, } from 'node:fs';
3
3
  import { dirname, isAbsolute, join, normalize } from 'node:path';
4
4
  import { z } from 'zod';
5
+ import { withFileLock } from '../core/file-lock.js';
5
6
  import { ensureGestaltHome, gestaltPath } from '../core/home.js';
6
7
  import { gitCommonDir } from './git.js';
7
8
  /**
@@ -63,123 +64,16 @@ function read() {
63
64
  }
64
65
  return kept;
65
66
  }
66
- /** 주인이 안 잡히는 잠금을 부수기까지 */
67
- const LOCK_STALE_MS = 5_000;
68
67
  /**
69
- * 주인이 살아 있어도 이만큼 지나면 부순다.
70
- *
71
- * pid는 재활용된다. 잠금을 쥔 채 죽은 프로세스의 번호를 남이 물려받으면 살아 있다고
72
- * 읽혀서 아무도 목록을 못 고치게 된다. 그 자리를 여는 마지막 문이다.
73
- */
74
- const LOCK_HARD_STALE_MS = 60_000;
75
- const LOCK_WAIT_MS = 2_000;
76
- /** 대기 간격. 바퀴마다 배로 늘리되 이 값에서 멈춘다 */
77
- const LOCK_BACKOFF_START_MS = 5;
78
- const LOCK_BACKOFF_MAX_MS = 100;
79
- /** 동기 대기. 이 파일의 쓰기 경로는 전부 동기라 여기서만 잠깐 멈춘다 */
80
- function sleep(ms) {
81
- Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms);
82
- }
83
- function readOwner(ownerPath) {
84
- try {
85
- const parsed = JSON.parse(readFileSync(ownerPath, 'utf-8'));
86
- if (typeof parsed !== 'object' || parsed === null)
87
- return null;
88
- const { token, pid } = parsed;
89
- if (typeof token !== 'string' || typeof pid !== 'number')
90
- return null;
91
- return { token, pid };
92
- }
93
- catch {
94
- // 아직 안 쓰였거나(mkdir 직후) 옛 버전이 쓴 모양이다. 주인을 모르는 것으로 친다
95
- return null;
96
- }
97
- }
98
- /** 그 프로세스가 아직 도는가. 신호 0은 아무것도 안 보내고 존재만 묻는다 */
99
- function alivePid(pid) {
100
- try {
101
- process.kill(pid, 0);
102
- return true;
103
- }
104
- catch (e) {
105
- // EPERM은 남의 것이라 못 건드리는 것뿐이다. 그래도 살아는 있다
106
- return e.code === 'EPERM';
107
- }
108
- }
109
- /**
110
- * 목록을 고치는 동안 다른 프로세스를 막는다.
111
- *
112
- * 워크트리 여럿이 같은 목록에 동시에 손대는 게 이 레포의 기본 흐름이다. 잠금 없이
113
- * 읽고 고쳐 쓰면 나중에 쓴 쪽이 먼저 쓴 쪽의 항목을 덮는다.
114
- *
115
- * `mkdir`는 있으면 실패하니까 그 자체가 잠금이다. 쥔 채로 죽은 프로세스가 목록을 영영
116
- * 못 고치게 만들면 안 되므로 버려진 잠금은 부순다. 부수는 순간에 둘이 겹치면 둘 다
117
- * `mkdir`을 시도하고 한쪽만 성공한다 — 진 쪽은 다시 기다린다.
118
- *
119
- * **버려졌는지는 주인의 pid로 가른다.** 예전에는 잠금 디렉토리의 mtime만 봤는데,
120
- * 잠금은 잡을 때 한 번 만들어지고 쥔 동안 mtime이 안 올라간다. 그래서 `fn()`이
121
- * 5초를 넘기면 살아 있는 잠금이 버려진 것으로 보였다. 남이 부수고 들어와 둘이 나란히
122
- * 읽고 고쳐 써서 늦게 쓴 쪽이 상대 항목을 덮었다. 파일은 rename이라 안 깨지고 등록만
123
- * 조용히 사라진다.
124
- *
125
- * 쥔 동안 mtime을 주기적으로 올리는 방법은 여기서 안 통한다. `fn()`이 통째로 동기라
126
- * 타이머가 돌 틈이 없다 — 갱신이 필요한 바로 그 순간에 이벤트 루프가 막혀 있다.
127
- * 대신 주인이 살아 있는지를 직접 묻는다.
128
- *
129
- * `fn`에는 `stillMine`을 준다. 부수기와 다시 잡기가 겹치는 좁은 틈이 남아 있어,
130
- * 쓰기 직전에 잠금이 아직 내 것인지 다시 확인할 수 있어야 한다.
68
+ * 목록을 고치는 동안 다른 프로세스를 막는다. 잠금 동작은 `withFileLock` 머리말 참고.
131
69
  *
132
70
  * 잠금 소유권을 테스트에서 확인할 수 있게 내보낸다. 그 경로는 잠금을 오래 쥔 쪽과
133
71
  * 부순 쪽이 겹쳐야 열리는데, `registerRepo`로는 그 상황을 만들 수 없다.
134
72
  */
135
73
  export function withLock(fn) {
136
- const lock = join(ensureGestaltHome(), 'repos.json.lock');
137
- // 잠금을 누가 쥐고 있는지 적어둔다. 버려진 잠금은 남이 부수고 자기 것을 새로 만드는데,
138
- // 그때 원래 주인이 끝나며 무조건 지우면 **남의** 잠금을 푼다. 토큰이 내 것일 때만 지운다
139
- const ownerPath = join(lock, 'owner');
140
- const token = randomUUID();
141
- const start = Date.now();
142
- let waitMs = LOCK_BACKOFF_START_MS;
143
- for (;;) {
144
- try {
145
- mkdirSync(lock);
146
- writeFileSync(ownerPath, JSON.stringify({ token, pid: process.pid }), 'utf-8');
147
- break;
148
- }
149
- catch (e) {
150
- if (e.code !== 'EEXIST')
151
- throw e;
152
- let heldFor;
153
- try {
154
- heldFor = Date.now() - statSync(lock).mtimeMs;
155
- }
156
- catch {
157
- // 그 사이에 풀렸다. 다음 바퀴에서 잡는다
158
- heldFor = 0;
159
- }
160
- const owner = readOwner(ownerPath);
161
- const holderAlive = owner !== null && alivePid(owner.pid);
162
- const abandoned = heldFor > LOCK_HARD_STALE_MS || (!holderAlive && heldFor > LOCK_STALE_MS);
163
- if (abandoned) {
164
- rmSync(lock, { recursive: true, force: true });
165
- continue;
166
- }
167
- if (Date.now() - start > LOCK_WAIT_MS) {
168
- throw new Error('레포 목록이 잠겨 있어서 못 고쳤어요', { cause: e });
169
- }
170
- // 바퀴마다 mkdir 실패와 stat이 붙는다. 간격을 배로 늘려 바퀴 수를 줄인다
171
- sleep(waitMs);
172
- waitMs = Math.min(waitMs * 2, LOCK_BACKOFF_MAX_MS);
173
- }
174
- }
175
- const stillMine = () => readOwner(ownerPath)?.token === token;
176
- try {
177
- return fn({ stillMine });
178
- }
179
- finally {
180
- if (stillMine())
181
- rmSync(lock, { recursive: true, force: true });
182
- }
74
+ return withFileLock(join(ensureGestaltHome(), 'repos.json.lock'), fn, {
75
+ busyMessage: '레포 목록이 잠겨 있어서 못 고쳤어요',
76
+ });
183
77
  }
184
78
  /**
185
79
  * 목록을 통째로 바꿔 쓴다.
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/local-pr/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/local-pr/registry.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,23 @@
26
26
  * 잎을 심어 순회가 그 잎에 닿는지 본다. zod 버전을 올리면 그 테스트를 반드시 다시 돌린다.
27
27
  */
28
28
  import { z } from 'zod';
29
+ /**
30
+ * 토큰을 가린다. 접두어는 남겨 무엇이 가려졌는지는 읽히게 한다.
31
+ *
32
+ * **모든 패턴이 접두어를 그룹 1 로 캡처한다.** 그룹이 없는 패턴을 섞으면
33
+ * `String.replace` 가 두 번째 인자로 매치 오프셋(숫자)을 넘겨, 접두어가 숫자로 바뀌고
34
+ * 치환 길이가 무너진다. 그 계약은 `tests/unit/mcp/input-guard.test.ts` 가 패턴 배열을
35
+ * 돌며 단언한다.
36
+ *
37
+ * **잘라낸 조각에 따로 걸지 않는다.** 접두어와 몸통이 서로 다른 조각에 놓이면 어느 쪽도
38
+ * 패턴에 안 걸려 토큰이 통째로 남는다. 부르는 쪽은 언제나 원본 전체를 넘긴다.
39
+ *
40
+ * `preserveLength` 는 `snippetAround` 만 쓴다. 자리가 밀리면 깨진 지점을 못 짚기 때문이다.
41
+ * 나머지 자리는 고정 길이로 덮어 별표 개수가 원문 길이를 드러내지 않게 한다.
42
+ */
43
+ export declare function redactSecrets(text: string, options?: {
44
+ preserveLength?: boolean;
45
+ }): string;
29
46
  /** 규칙 표를 테스트가 확인할 수 있게 내보낸다. 런타임 경로는 이 함수를 안 쓴다. */
30
47
  export declare function tokenRulesForTest(): ReadonlyArray<readonly [string, number]>;
31
48
  /** 패턴 계약을 테스트가 확인할 수 있게 내보낸다. 런타임 경로는 이 함수를 안 쓴다. */
@@ -1 +1 @@
1
- {"version":3,"file":"input-guard.d.ts","sourceRoot":"","sources":["../../../src/mcp/input-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwKxB,oDAAoD;AACpD,wBAAgB,iBAAiB,IAAI,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAE5E;AAED,qDAAqD;AACrD,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAEhD;AA8CD,wCAAwC;AACxC,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAarD;AAUD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAiB,GAAG,MAAM,CAQ7F;AAED,8CAA8C;AAC9C,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAe3F;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,WA0B/B,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EACnD,MAAM,EAAE,CAAC,EACT,IAAI,GAAE,OAAO,CAAC,MAAM,CAAiB,GACpC,CAAC,CA4EH;AAiDD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,UAAU,CAwCjG;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAM/D;AAED,6CAA6C;AAC7C,wBAAgB,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAElE"}
1
+ {"version":3,"file":"input-guard.d.ts","sourceRoot":"","sources":["../../../src/mcp/input-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA6IxB;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CAW9F;AAED,oDAAoD;AACpD,wBAAgB,iBAAiB,IAAI,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAE5E;AAED,qDAAqD;AACrD,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAEhD;AA8CD,wCAAwC;AACxC,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAarD;AAUD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAiB,GAAG,MAAM,CAQ7F;AAED,8CAA8C;AAC9C,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAe3F;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,WA0B/B,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EACnD,MAAM,EAAE,CAAC,EACT,IAAI,GAAE,OAAO,CAAC,MAAM,CAAiB,GACpC,CAAC,CA4EH;AAiDD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,UAAU,CAwCjG;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAM/D;AAED,6CAA6C;AAC7C,wBAAgB,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAElE"}
@@ -170,7 +170,7 @@ const SECRET_PATTERNS = [PEM_PATTERN, ...tokenPatterns()];
170
170
  * `preserveLength` 는 `snippetAround` 만 쓴다. 자리가 밀리면 깨진 지점을 못 짚기 때문이다.
171
171
  * 나머지 자리는 고정 길이로 덮어 별표 개수가 원문 길이를 드러내지 않게 한다.
172
172
  */
173
- function redactSecrets(text, options = {}) {
173
+ export function redactSecrets(text, options = {}) {
174
174
  return SECRET_PATTERNS.reduce((acc, pattern) => acc.replace(pattern, (match, group) => {
175
175
  const prefix = typeof group === 'string' ? group : '';
176
176
  if (!options.preserveLength)
@@ -1 +1 @@
1
- {"version":3,"file":"input-guard.js","sourceRoot":"","sources":["../../../src/mcp/input-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input-guard.js","sourceRoot":"","sources":["../../../src/mcp/input-guard.ts"],"names":[],"mappings":"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"}
@@ -29,10 +29,13 @@ export declare const interviewInputSchema: z.ZodObject<{
29
29
  contradictions?: string[] | undefined;
30
30
  }>>;
31
31
  compressedSummary: z.ZodOptional<z.ZodString>;
32
+ force: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
32
33
  }, "strip", z.ZodTypeAny, {
34
+ force: boolean;
33
35
  action: "complete" | "start" | "respond" | "score" | "compress";
34
36
  sessionId?: string | undefined;
35
37
  response?: string | undefined;
38
+ topic?: string | undefined;
36
39
  resolutionScore?: {
37
40
  goalClarity: number;
38
41
  constraintClarity: number;
@@ -42,13 +45,14 @@ export declare const interviewInputSchema: z.ZodObject<{
42
45
  contradictions?: string[] | undefined;
43
46
  } | undefined;
44
47
  cwd?: string | undefined;
45
- topic?: string | undefined;
46
48
  generatedQuestion?: string | undefined;
47
49
  compressedSummary?: string | undefined;
48
50
  }, {
49
51
  action: "complete" | "start" | "respond" | "score" | "compress";
50
52
  sessionId?: string | undefined;
51
53
  response?: string | undefined;
54
+ topic?: string | undefined;
55
+ force?: boolean | undefined;
52
56
  resolutionScore?: {
53
57
  goalClarity: number;
54
58
  constraintClarity: number;
@@ -58,7 +62,6 @@ export declare const interviewInputSchema: z.ZodObject<{
58
62
  contradictions?: string[] | undefined;
59
63
  } | undefined;
60
64
  cwd?: string | undefined;
61
- topic?: string | undefined;
62
65
  generatedQuestion?: string | undefined;
63
66
  compressedSummary?: string | undefined;
64
67
  }>;
@@ -232,13 +235,13 @@ export declare const specInputSchema: z.ZodObject<{
232
235
  } | undefined;
233
236
  text?: string | undefined;
234
237
  sessionId?: string | undefined;
235
- template?: string | undefined;
236
238
  force?: boolean | undefined;
239
+ template?: string | undefined;
237
240
  verbose?: boolean | undefined;
238
241
  }>;
239
242
  export type SpecInput = z.infer<typeof specInputSchema>;
240
243
  export declare const executeInputSchema: z.ZodObject<{
241
- action: z.ZodEnum<["start", "plan_step", "plan_complete", "execute_start", "execute_task", "evaluate", "status", "resume", "audit", "spawn", "evolve_fix", "evolve", "evolve_patch", "evolve_re_execute", "evolve_lateral", "evolve_lateral_result", "role_match", "role_consensus", "review_start", "review_submit", "review_consensus", "review_fix", "review_publish", "evolution_viz"]>;
244
+ action: z.ZodEnum<["start", "plan_step", "plan_complete", "execute_start", "execute_task", "evaluate", "status", "resume", "audit", "spawn", "evolve_fix", "evolve", "evolve_patch", "evolve_re_execute", "evolve_lateral", "evolve_lateral_result", "gate_resolve", "role_match", "role_consensus", "review_start", "review_submit", "review_consensus", "review_fix", "review_publish", "evolution_viz"]>;
242
245
  spec: z.ZodOptional<z.ZodObject<{
243
246
  version: z.ZodString;
244
247
  goal: z.ZodString;
@@ -550,18 +553,21 @@ export declare const executeInputSchema: z.ZodObject<{
550
553
  status: z.ZodEnum<["pending", "in_progress", "completed", "failed", "skipped"]>;
551
554
  output: z.ZodString;
552
555
  artifacts: z.ZodArray<z.ZodString, "many">;
556
+ noCodeChange: z.ZodOptional<z.ZodBoolean>;
553
557
  suggestedFiles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
554
558
  }, "strip", z.ZodTypeAny, {
555
559
  status: "in_progress" | "completed" | "failed" | "pending" | "skipped";
556
560
  taskId: string;
557
561
  output: string;
558
562
  artifacts: string[];
563
+ noCodeChange?: boolean | undefined;
559
564
  suggestedFiles?: string[] | undefined;
560
565
  }, {
561
566
  status: "in_progress" | "completed" | "failed" | "pending" | "skipped";
562
567
  taskId: string;
563
568
  output: string;
564
569
  artifacts: string[];
570
+ noCodeChange?: boolean | undefined;
565
571
  suggestedFiles?: string[] | undefined;
566
572
  }>>;
567
573
  structuralResult: z.ZodOptional<z.ZodObject<{
@@ -948,6 +954,22 @@ export declare const executeInputSchema: z.ZodObject<{
948
954
  } | undefined;
949
955
  };
950
956
  }>>;
957
+ gateResolution: z.ZodOptional<z.ZodObject<{
958
+ gateId: z.ZodOptional<z.ZodString>;
959
+ optionId: z.ZodEnum<["patch_spec", "manual_task", "restart", "abort"]>;
960
+ decision: z.ZodString;
961
+ rationale: z.ZodString;
962
+ }, "strip", z.ZodTypeAny, {
963
+ optionId: "patch_spec" | "manual_task" | "restart" | "abort";
964
+ decision: string;
965
+ rationale: string;
966
+ gateId?: string | undefined;
967
+ }, {
968
+ optionId: "patch_spec" | "manual_task" | "restart" | "abort";
969
+ decision: string;
970
+ rationale: string;
971
+ gateId?: string | undefined;
972
+ }>>;
951
973
  codebaseSnapshot: z.ZodOptional<z.ZodString>;
952
974
  auditResult: z.ZodOptional<z.ZodObject<{
953
975
  implementedACs: z.ZodArray<z.ZodNumber, "many">;
@@ -1278,7 +1300,7 @@ export declare const executeInputSchema: z.ZodObject<{
1278
1300
  sinceSha: z.ZodOptional<z.ZodString>;
1279
1301
  prReviewer: z.ZodOptional<z.ZodString>;
1280
1302
  }, "strip", z.ZodTypeAny, {
1281
- action: "plan_complete" | "evaluate" | "status" | "start" | "plan_step" | "execute_start" | "execute_task" | "resume" | "audit" | "spawn" | "evolve_fix" | "evolve" | "evolve_patch" | "evolve_re_execute" | "evolve_lateral" | "evolve_lateral_result" | "role_match" | "role_consensus" | "review_start" | "review_submit" | "review_consensus" | "review_fix" | "review_publish" | "evolution_viz";
1303
+ action: "plan_complete" | "evaluate" | "status" | "start" | "plan_step" | "execute_start" | "execute_task" | "resume" | "audit" | "spawn" | "evolve_fix" | "evolve" | "evolve_patch" | "evolve_re_execute" | "evolve_lateral" | "evolve_lateral_result" | "gate_resolve" | "role_match" | "role_consensus" | "review_start" | "review_submit" | "review_consensus" | "review_fix" | "review_publish" | "evolution_viz";
1282
1304
  verbose: boolean;
1283
1305
  spec?: {
1284
1306
  goal: string;
@@ -1385,6 +1407,7 @@ export declare const executeInputSchema: z.ZodObject<{
1385
1407
  taskId: string;
1386
1408
  output: string;
1387
1409
  artifacts: string[];
1410
+ noCodeChange?: boolean | undefined;
1388
1411
  suggestedFiles?: string[] | undefined;
1389
1412
  } | undefined;
1390
1413
  structuralResult?: {
@@ -1447,6 +1470,12 @@ export declare const executeInputSchema: z.ZodObject<{
1447
1470
  } | undefined;
1448
1471
  };
1449
1472
  } | undefined;
1473
+ gateResolution?: {
1474
+ optionId: "patch_spec" | "manual_task" | "restart" | "abort";
1475
+ decision: string;
1476
+ rationale: string;
1477
+ gateId?: string | undefined;
1478
+ } | undefined;
1450
1479
  codebaseSnapshot?: string | undefined;
1451
1480
  auditResult?: {
1452
1481
  implementedACs: number[];
@@ -1529,7 +1558,7 @@ export declare const executeInputSchema: z.ZodObject<{
1529
1558
  sinceSha?: string | undefined;
1530
1559
  prReviewer?: string | undefined;
1531
1560
  }, {
1532
- action: "plan_complete" | "evaluate" | "status" | "start" | "plan_step" | "execute_start" | "execute_task" | "resume" | "audit" | "spawn" | "evolve_fix" | "evolve" | "evolve_patch" | "evolve_re_execute" | "evolve_lateral" | "evolve_lateral_result" | "role_match" | "role_consensus" | "review_start" | "review_submit" | "review_consensus" | "review_fix" | "review_publish" | "evolution_viz";
1561
+ action: "plan_complete" | "evaluate" | "status" | "start" | "plan_step" | "execute_start" | "execute_task" | "resume" | "audit" | "spawn" | "evolve_fix" | "evolve" | "evolve_patch" | "evolve_re_execute" | "evolve_lateral" | "evolve_lateral_result" | "gate_resolve" | "role_match" | "role_consensus" | "review_start" | "review_submit" | "review_consensus" | "review_fix" | "review_publish" | "evolution_viz";
1533
1562
  spec?: {
1534
1563
  goal: string;
1535
1564
  version: string;
@@ -1636,6 +1665,7 @@ export declare const executeInputSchema: z.ZodObject<{
1636
1665
  taskId: string;
1637
1666
  output: string;
1638
1667
  artifacts: string[];
1668
+ noCodeChange?: boolean | undefined;
1639
1669
  suggestedFiles?: string[] | undefined;
1640
1670
  } | undefined;
1641
1671
  structuralResult?: {
@@ -1698,6 +1728,12 @@ export declare const executeInputSchema: z.ZodObject<{
1698
1728
  } | undefined;
1699
1729
  };
1700
1730
  } | undefined;
1731
+ gateResolution?: {
1732
+ optionId: "patch_spec" | "manual_task" | "restart" | "abort";
1733
+ decision: string;
1734
+ rationale: string;
1735
+ gateId?: string | undefined;
1736
+ } | undefined;
1701
1737
  codebaseSnapshot?: string | undefined;
1702
1738
  auditResult?: {
1703
1739
  implementedACs: number[];
@@ -1782,7 +1818,7 @@ export declare const executeInputSchema: z.ZodObject<{
1782
1818
  }>;
1783
1819
  export type ExecuteInput = z.infer<typeof executeInputSchema>;
1784
1820
  export declare const executeToolSchema: {
1785
- action: z.ZodEnum<["start", "plan_step", "plan_complete", "execute_start", "execute_task", "evaluate", "status", "resume", "audit", "spawn", "evolve_fix", "evolve", "evolve_patch", "evolve_re_execute", "evolve_lateral", "evolve_lateral_result", "role_match", "role_consensus", "review_start", "review_submit", "review_consensus", "review_fix", "review_publish", "evolution_viz"]>;
1821
+ action: z.ZodEnum<["start", "plan_step", "plan_complete", "execute_start", "execute_task", "evaluate", "status", "resume", "audit", "spawn", "evolve_fix", "evolve", "evolve_patch", "evolve_re_execute", "evolve_lateral", "evolve_lateral_result", "gate_resolve", "role_match", "role_consensus", "review_start", "review_submit", "review_consensus", "review_fix", "review_publish", "evolution_viz"]>;
1786
1822
  spec: z.ZodOptional<z.ZodObject<{
1787
1823
  version: z.ZodString;
1788
1824
  goal: z.ZodString;
@@ -2094,18 +2130,21 @@ export declare const executeToolSchema: {
2094
2130
  status: z.ZodEnum<["pending", "in_progress", "completed", "failed", "skipped"]>;
2095
2131
  output: z.ZodString;
2096
2132
  artifacts: z.ZodArray<z.ZodString, "many">;
2133
+ noCodeChange: z.ZodOptional<z.ZodBoolean>;
2097
2134
  suggestedFiles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2098
2135
  }, "strip", z.ZodTypeAny, {
2099
2136
  status: "in_progress" | "completed" | "failed" | "pending" | "skipped";
2100
2137
  taskId: string;
2101
2138
  output: string;
2102
2139
  artifacts: string[];
2140
+ noCodeChange?: boolean | undefined;
2103
2141
  suggestedFiles?: string[] | undefined;
2104
2142
  }, {
2105
2143
  status: "in_progress" | "completed" | "failed" | "pending" | "skipped";
2106
2144
  taskId: string;
2107
2145
  output: string;
2108
2146
  artifacts: string[];
2147
+ noCodeChange?: boolean | undefined;
2109
2148
  suggestedFiles?: string[] | undefined;
2110
2149
  }>>;
2111
2150
  structuralResult: z.ZodOptional<z.ZodObject<{
@@ -2492,6 +2531,22 @@ export declare const executeToolSchema: {
2492
2531
  } | undefined;
2493
2532
  };
2494
2533
  }>>;
2534
+ gateResolution: z.ZodOptional<z.ZodObject<{
2535
+ gateId: z.ZodOptional<z.ZodString>;
2536
+ optionId: z.ZodEnum<["patch_spec", "manual_task", "restart", "abort"]>;
2537
+ decision: z.ZodString;
2538
+ rationale: z.ZodString;
2539
+ }, "strip", z.ZodTypeAny, {
2540
+ optionId: "patch_spec" | "manual_task" | "restart" | "abort";
2541
+ decision: string;
2542
+ rationale: string;
2543
+ gateId?: string | undefined;
2544
+ }, {
2545
+ optionId: "patch_spec" | "manual_task" | "restart" | "abort";
2546
+ decision: string;
2547
+ rationale: string;
2548
+ gateId?: string | undefined;
2549
+ }>>;
2495
2550
  codebaseSnapshot: z.ZodOptional<z.ZodString>;
2496
2551
  auditResult: z.ZodOptional<z.ZodObject<{
2497
2552
  implementedACs: z.ZodArray<z.ZodNumber, "many">;
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/mcp/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/mcp/schemas.ts"],"names":[],"mappings":"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"}