@planu/cli 0.90.1 → 0.91.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 (252) hide show
  1. package/dist/config/license-plans.json +3 -1
  2. package/dist/engine/batch-script-generator/index.d.ts +6 -0
  3. package/dist/engine/batch-script-generator/index.d.ts.map +1 -0
  4. package/dist/engine/batch-script-generator/index.js +126 -0
  5. package/dist/engine/batch-script-generator/index.js.map +1 -0
  6. package/dist/engine/ci-generator/index.d.ts.map +1 -1
  7. package/dist/engine/ci-generator/index.js +32 -1
  8. package/dist/engine/ci-generator/index.js.map +1 -1
  9. package/dist/engine/ci-generator/output-formats.d.ts +15 -0
  10. package/dist/engine/ci-generator/output-formats.d.ts.map +1 -0
  11. package/dist/engine/ci-generator/output-formats.js +52 -0
  12. package/dist/engine/ci-generator/output-formats.js.map +1 -0
  13. package/dist/engine/claude-config-auditor/claudemd-auditor.d.ts.map +1 -1
  14. package/dist/engine/claude-config-auditor/claudemd-auditor.js +139 -31
  15. package/dist/engine/claude-config-auditor/claudemd-auditor.js.map +1 -1
  16. package/dist/engine/claude-config-auditor/rules-auditor.d.ts.map +1 -1
  17. package/dist/engine/claude-config-auditor/rules-auditor.js +87 -49
  18. package/dist/engine/claude-config-auditor/rules-auditor.js.map +1 -1
  19. package/dist/engine/claude-config-auditor/scoring.d.ts.map +1 -1
  20. package/dist/engine/claude-config-auditor/scoring.js +37 -1
  21. package/dist/engine/claude-config-auditor/scoring.js.map +1 -1
  22. package/dist/engine/claude-config-auditor/settings-auditor.d.ts.map +1 -1
  23. package/dist/engine/claude-config-auditor/settings-auditor.js +55 -40
  24. package/dist/engine/claude-config-auditor/settings-auditor.js.map +1 -1
  25. package/dist/engine/config-schemas.d.ts.map +1 -1
  26. package/dist/engine/config-schemas.js +1 -0
  27. package/dist/engine/config-schemas.js.map +1 -1
  28. package/dist/engine/context-advisor/btw-advisor.d.ts +11 -0
  29. package/dist/engine/context-advisor/btw-advisor.d.ts.map +1 -0
  30. package/dist/engine/context-advisor/btw-advisor.js +29 -0
  31. package/dist/engine/context-advisor/btw-advisor.js.map +1 -0
  32. package/dist/engine/facilitate/context-loader.d.ts +12 -0
  33. package/dist/engine/facilitate/context-loader.d.ts.map +1 -0
  34. package/dist/engine/facilitate/context-loader.js +156 -0
  35. package/dist/engine/facilitate/context-loader.js.map +1 -0
  36. package/dist/engine/facilitate/intent-classifier.d.ts +6 -0
  37. package/dist/engine/facilitate/intent-classifier.d.ts.map +1 -0
  38. package/dist/engine/facilitate/intent-classifier.js +153 -0
  39. package/dist/engine/facilitate/intent-classifier.js.map +1 -0
  40. package/dist/engine/facilitate/plan-parser.d.ts +7 -0
  41. package/dist/engine/facilitate/plan-parser.d.ts.map +1 -0
  42. package/dist/engine/facilitate/plan-parser.js +115 -0
  43. package/dist/engine/facilitate/plan-parser.js.map +1 -0
  44. package/dist/engine/facilitate/router.d.ts +6 -0
  45. package/dist/engine/facilitate/router.d.ts.map +1 -0
  46. package/dist/engine/facilitate/router.js +71 -0
  47. package/dist/engine/facilitate/router.js.map +1 -0
  48. package/dist/engine/hooks/context-injector.d.ts +11 -0
  49. package/dist/engine/hooks/context-injector.d.ts.map +1 -0
  50. package/dist/engine/hooks/context-injector.js +163 -0
  51. package/dist/engine/hooks/context-injector.js.map +1 -0
  52. package/dist/engine/hooks/hook-templates.d.ts +16 -0
  53. package/dist/engine/hooks/hook-templates.d.ts.map +1 -0
  54. package/dist/engine/hooks/hook-templates.js +148 -0
  55. package/dist/engine/hooks/hook-templates.js.map +1 -0
  56. package/dist/engine/hooks/plan-mode-detector.d.ts +27 -0
  57. package/dist/engine/hooks/plan-mode-detector.d.ts.map +1 -0
  58. package/dist/engine/hooks/plan-mode-detector.js +68 -0
  59. package/dist/engine/hooks/plan-mode-detector.js.map +1 -0
  60. package/dist/engine/hooks/plan-mode-scripts.d.ts +10 -0
  61. package/dist/engine/hooks/plan-mode-scripts.d.ts.map +1 -0
  62. package/dist/engine/hooks/plan-mode-scripts.js +45 -0
  63. package/dist/engine/hooks/plan-mode-scripts.js.map +1 -0
  64. package/dist/engine/model-router/complexity-analyzer.d.ts +9 -1
  65. package/dist/engine/model-router/complexity-analyzer.d.ts.map +1 -1
  66. package/dist/engine/model-router/complexity-analyzer.js +44 -1
  67. package/dist/engine/model-router/complexity-analyzer.js.map +1 -1
  68. package/dist/engine/model-router/rules-engine.d.ts.map +1 -1
  69. package/dist/engine/model-router/rules-engine.js +14 -1
  70. package/dist/engine/model-router/rules-engine.js.map +1 -1
  71. package/dist/engine/nfr-profile-detector.d.ts.map +1 -1
  72. package/dist/engine/nfr-profile-detector.js +2 -1
  73. package/dist/engine/nfr-profile-detector.js.map +1 -1
  74. package/dist/engine/spec-coverage/core.js.map +1 -1
  75. package/dist/engine/spec-migrator/frontmatter-parser.d.ts.map +1 -1
  76. package/dist/engine/spec-migrator/frontmatter-parser.js.map +1 -1
  77. package/dist/engine/spec-summary-html.d.ts.map +1 -1
  78. package/dist/engine/spec-summary-html.js +1 -1
  79. package/dist/engine/spec-summary-html.js.map +1 -1
  80. package/dist/engine/team-planner/writer-reviewer.d.ts +12 -0
  81. package/dist/engine/team-planner/writer-reviewer.d.ts.map +1 -0
  82. package/dist/engine/team-planner/writer-reviewer.js +48 -0
  83. package/dist/engine/team-planner/writer-reviewer.js.map +1 -0
  84. package/dist/engine/tool-groups/group-manager.js.map +1 -1
  85. package/dist/index.js +11 -1
  86. package/dist/index.js.map +1 -1
  87. package/dist/storage/drift-cache-store.js.map +1 -1
  88. package/dist/storage/error-telemetry-store.js.map +1 -1
  89. package/dist/storage/federation-store.js.map +1 -1
  90. package/dist/storage/global-store.js.map +1 -1
  91. package/dist/storage/ideas-store.d.ts.map +1 -1
  92. package/dist/storage/ideas-store.js.map +1 -1
  93. package/dist/storage/living-dashboard-store.js.map +1 -1
  94. package/dist/storage/metrics-store.js.map +1 -1
  95. package/dist/storage/rbac-store.js.map +1 -1
  96. package/dist/storage/spec-observability-store.js.map +1 -1
  97. package/dist/storage/worker-metrics-store.js.map +1 -1
  98. package/dist/storage/worker-store.js.map +1 -1
  99. package/dist/tools/checkpoint-handler.d.ts.map +1 -1
  100. package/dist/tools/checkpoint-handler.js +11 -0
  101. package/dist/tools/checkpoint-handler.js.map +1 -1
  102. package/dist/tools/clarify-requirements/interview-mode.d.ts +42 -0
  103. package/dist/tools/clarify-requirements/interview-mode.d.ts.map +1 -0
  104. package/dist/tools/clarify-requirements/interview-mode.js +342 -0
  105. package/dist/tools/clarify-requirements/interview-mode.js.map +1 -0
  106. package/dist/tools/configure-workers-handler.d.ts.map +1 -1
  107. package/dist/tools/configure-workers-handler.js +81 -0
  108. package/dist/tools/configure-workers-handler.js.map +1 -1
  109. package/dist/tools/facilitate.d.ts +1 -5
  110. package/dist/tools/facilitate.d.ts.map +1 -1
  111. package/dist/tools/facilitate.js +100 -23
  112. package/dist/tools/facilitate.js.map +1 -1
  113. package/dist/tools/generate-automation-guide.d.ts +10 -0
  114. package/dist/tools/generate-automation-guide.d.ts.map +1 -0
  115. package/dist/tools/generate-automation-guide.js +222 -0
  116. package/dist/tools/generate-automation-guide.js.map +1 -0
  117. package/dist/tools/generate-batch-script.d.ts +27 -0
  118. package/dist/tools/generate-batch-script.d.ts.map +1 -0
  119. package/dist/tools/generate-batch-script.js +77 -0
  120. package/dist/tools/generate-batch-script.js.map +1 -0
  121. package/dist/tools/generate-sub-agent.d.ts.map +1 -1
  122. package/dist/tools/generate-sub-agent.js +16 -2
  123. package/dist/tools/generate-sub-agent.js.map +1 -1
  124. package/dist/tools/git/branch-ops.d.ts +18 -0
  125. package/dist/tools/git/branch-ops.d.ts.map +1 -1
  126. package/dist/tools/git/branch-ops.js +121 -0
  127. package/dist/tools/git/branch-ops.js.map +1 -1
  128. package/dist/tools/git/pr-ops.d.ts.map +1 -1
  129. package/dist/tools/git/pr-ops.js +7 -0
  130. package/dist/tools/git/pr-ops.js.map +1 -1
  131. package/dist/tools/init-project/git-setup.d.ts.map +1 -1
  132. package/dist/tools/init-project/git-setup.js.map +1 -1
  133. package/dist/tools/init-project/handler.d.ts.map +1 -1
  134. package/dist/tools/init-project/handler.js +5 -2
  135. package/dist/tools/init-project/handler.js.map +1 -1
  136. package/dist/tools/init-project/hooks-configurator.d.ts +17 -0
  137. package/dist/tools/init-project/hooks-configurator.d.ts.map +1 -0
  138. package/dist/tools/init-project/hooks-configurator.js +102 -0
  139. package/dist/tools/init-project/hooks-configurator.js.map +1 -0
  140. package/dist/tools/init-project/lifecycle-helpers.d.ts.map +1 -1
  141. package/dist/tools/init-project/lifecycle-helpers.js +1 -1
  142. package/dist/tools/init-project/lifecycle-helpers.js.map +1 -1
  143. package/dist/tools/init-project/migration-runner.d.ts.map +1 -1
  144. package/dist/tools/init-project/migration-runner.js +1 -1
  145. package/dist/tools/init-project/migration-runner.js.map +1 -1
  146. package/dist/tools/init-project/planu-workflow-generator.d.ts +21 -0
  147. package/dist/tools/init-project/planu-workflow-generator.d.ts.map +1 -0
  148. package/dist/tools/init-project/planu-workflow-generator.js +73 -0
  149. package/dist/tools/init-project/planu-workflow-generator.js.map +1 -0
  150. package/dist/tools/init-project/rules-generator.d.ts +15 -0
  151. package/dist/tools/init-project/rules-generator.d.ts.map +1 -0
  152. package/dist/tools/init-project/rules-generator.js +110 -0
  153. package/dist/tools/init-project/rules-generator.js.map +1 -0
  154. package/dist/tools/init-project/scaffold-writer.d.ts +3 -0
  155. package/dist/tools/init-project/scaffold-writer.d.ts.map +1 -1
  156. package/dist/tools/init-project/scaffold-writer.js +33 -0
  157. package/dist/tools/init-project/scaffold-writer.js.map +1 -1
  158. package/dist/tools/integrate-pm.js.map +1 -1
  159. package/dist/tools/license-status.js +4 -4
  160. package/dist/tools/license-status.js.map +1 -1
  161. package/dist/tools/list-backlog-handler.d.ts.map +1 -1
  162. package/dist/tools/list-backlog-handler.js +4 -1
  163. package/dist/tools/list-backlog-handler.js.map +1 -1
  164. package/dist/tools/list-sessions.d.ts.map +1 -1
  165. package/dist/tools/list-sessions.js +8 -0
  166. package/dist/tools/list-sessions.js.map +1 -1
  167. package/dist/tools/manage-git.d.ts.map +1 -1
  168. package/dist/tools/manage-git.js +15 -1
  169. package/dist/tools/manage-git.js.map +1 -1
  170. package/dist/tools/orchestrate/state.js.map +1 -1
  171. package/dist/tools/promote-idea-handler.d.ts.map +1 -1
  172. package/dist/tools/promote-idea-handler.js +1 -3
  173. package/dist/tools/promote-idea-handler.js.map +1 -1
  174. package/dist/tools/recommend-model-handler.d.ts.map +1 -1
  175. package/dist/tools/recommend-model-handler.js +7 -0
  176. package/dist/tools/recommend-model-handler.js.map +1 -1
  177. package/dist/tools/register-backlog-tools.d.ts.map +1 -1
  178. package/dist/tools/register-backlog-tools.js +3 -13
  179. package/dist/tools/register-backlog-tools.js.map +1 -1
  180. package/dist/tools/register-facilitator-tools.d.ts.map +1 -1
  181. package/dist/tools/register-facilitator-tools.js +12 -7
  182. package/dist/tools/register-facilitator-tools.js.map +1 -1
  183. package/dist/tools/register-generate-automation-guide.d.ts +3 -0
  184. package/dist/tools/register-generate-automation-guide.d.ts.map +1 -0
  185. package/dist/tools/register-generate-automation-guide.js +10 -0
  186. package/dist/tools/register-generate-automation-guide.js.map +1 -0
  187. package/dist/tools/register-generate-batch-script.d.ts +3 -0
  188. package/dist/tools/register-generate-batch-script.d.ts.map +1 -0
  189. package/dist/tools/register-generate-batch-script.js +10 -0
  190. package/dist/tools/register-generate-batch-script.js.map +1 -0
  191. package/dist/tools/register-hooks-tools.d.ts.map +1 -1
  192. package/dist/tools/register-hooks-tools.js +27 -0
  193. package/dist/tools/register-hooks-tools.js.map +1 -1
  194. package/dist/tools/register-platform-tools/design-stack-tools.d.ts.map +1 -1
  195. package/dist/tools/register-platform-tools/design-stack-tools.js +4 -0
  196. package/dist/tools/register-platform-tools/design-stack-tools.js.map +1 -1
  197. package/dist/tools/restore-session.d.ts.map +1 -1
  198. package/dist/tools/restore-session.js +10 -0
  199. package/dist/tools/restore-session.js.map +1 -1
  200. package/dist/tools/schemas/ide-config.d.ts +2 -2
  201. package/dist/tools/schemas/workers-schema.d.ts +1 -0
  202. package/dist/tools/schemas/workers-schema.d.ts.map +1 -1
  203. package/dist/tools/schemas/workers-schema.js +10 -2
  204. package/dist/tools/schemas/workers-schema.js.map +1 -1
  205. package/dist/tools/start-hooks.d.ts.map +1 -1
  206. package/dist/tools/start-hooks.js +104 -1
  207. package/dist/tools/start-hooks.js.map +1 -1
  208. package/dist/tools/status-handler.d.ts.map +1 -1
  209. package/dist/tools/status-handler.js +9 -0
  210. package/dist/tools/status-handler.js.map +1 -1
  211. package/dist/types/analysis.d.ts +8 -0
  212. package/dist/types/analysis.d.ts.map +1 -1
  213. package/dist/types/batch-script.d.ts +36 -0
  214. package/dist/types/batch-script.d.ts.map +1 -0
  215. package/dist/types/batch-script.js +3 -0
  216. package/dist/types/batch-script.js.map +1 -0
  217. package/dist/types/ci.d.ts +4 -0
  218. package/dist/types/ci.d.ts.map +1 -1
  219. package/dist/types/common/tech-enums.d.ts +1 -1
  220. package/dist/types/common/tech-enums.d.ts.map +1 -1
  221. package/dist/types/execution.d.ts +9 -0
  222. package/dist/types/execution.d.ts.map +1 -1
  223. package/dist/types/facilitator.d.ts +67 -0
  224. package/dist/types/facilitator.d.ts.map +1 -1
  225. package/dist/types/file-hooks.d.ts +7 -0
  226. package/dist/types/file-hooks.d.ts.map +1 -1
  227. package/dist/types/file-hooks.js +0 -1
  228. package/dist/types/file-hooks.js.map +1 -1
  229. package/dist/types/git.d.ts +12 -0
  230. package/dist/types/git.d.ts.map +1 -1
  231. package/dist/types/hooks.d.ts +77 -0
  232. package/dist/types/hooks.d.ts.map +1 -1
  233. package/dist/types/index.d.ts +1 -0
  234. package/dist/types/index.d.ts.map +1 -1
  235. package/dist/types/index.js +1 -0
  236. package/dist/types/index.js.map +1 -1
  237. package/dist/types/model-routing.d.ts +16 -0
  238. package/dist/types/model-routing.d.ts.map +1 -1
  239. package/dist/types/project/planu-config.d.ts +6 -0
  240. package/dist/types/project/planu-config.d.ts.map +1 -1
  241. package/dist/types/session.d.ts +2 -0
  242. package/dist/types/session.d.ts.map +1 -1
  243. package/dist/types/stack/recommend.d.ts +1 -0
  244. package/dist/types/stack/recommend.d.ts.map +1 -1
  245. package/dist/types/status.d.ts +7 -0
  246. package/dist/types/status.d.ts.map +1 -1
  247. package/dist/types/team-planner.d.ts +18 -0
  248. package/dist/types/team-planner.d.ts.map +1 -1
  249. package/dist/types/workers.d.ts +1 -1
  250. package/dist/types/workers.d.ts.map +1 -1
  251. package/package.json +10 -10
  252. package/src/config/license-plans.json +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"worker-store.js","sourceRoot":"","sources":["../../src/storage/worker-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-store.js","sourceRoot":"","sources":["../../src/storage/worker-store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint-handler.d.ts","sourceRoot":"","sources":["../../src/tools/checkpoint-handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAkE5E,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC,CA4B/F"}
1
+ {"version":3,"file":"checkpoint-handler.d.ts","sourceRoot":"","sources":["../../src/tools/checkpoint-handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAkE5E,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC,CAyC/F"}
@@ -61,6 +61,14 @@ export async function handleSessionCheckpoint(args) {
61
61
  nextSteps,
62
62
  });
63
63
  const handoff = buildHandoffBlock(savedAt, activeSpecs, decisions, nextSteps, stagedFiles);
64
+ // SPEC-256: always include /btw tip in checkpoint recommendations
65
+ const recommendations = [
66
+ {
67
+ type: 'context-tip',
68
+ message: 'Use /btw for side questions during implementation — keeps context clean for the task. Example: /btw what does useEffect cleanup do?',
69
+ command: '/btw your question here',
70
+ },
71
+ ];
64
72
  const text = [
65
73
  `Session checkpoint saved — ${savedAt}`,
66
74
  '',
@@ -71,6 +79,9 @@ export async function handleSessionCheckpoint(args) {
71
79
  ].join('\n');
72
80
  return {
73
81
  content: [{ type: 'text', text }],
82
+ structuredContent: {
83
+ recommendations,
84
+ },
74
85
  };
75
86
  }
76
87
  //# sourceMappingURL=checkpoint-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint-handler.js","sourceRoot":"","sources":["../../src/tools/checkpoint-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkpoint-handler.js","sourceRoot":"","sources":["../../src/tools/checkpoint-handler.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAGhF,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GACjB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,MAAM,SAAS,GAAG,wCAAwC,CAAC;AAE3D,SAAS,UAAU,CAAC,KAAe;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAe,EACf,WAAqB,EACrB,SAAmB,EACnB,SAAmB,EACnB,WAAqB;IAErB,MAAM,KAAK,GAAa;QACtB,UAAU,OAAO,EAAE;QACnB,EAAE;QACF,iBAAiB,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC7E,EAAE;QACF,YAAY;QACZ,UAAU,CAAC,SAAS,CAAC;QACrB,EAAE;QACF,aAAa;QACb,UAAU,CAAC,SAAS,CAAC;QACrB,EAAE;QACF,iBAAiB,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;KAC9E,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,WAAmB,EAAE,SAAiB;IACtE,2CAA2C;IAC3C,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAC/E,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,KAAK;aACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,cAAc,CAAC;aAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACvC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,8BAA8B;IAChC,CAAC;IACD,OAAO,gBAAgB,CAAC,WAAW,CAAC,CAAC;AACvC,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,IAA4B;IACxE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC;IACxE,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzC,MAAM,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAErE,MAAM,gBAAgB,CAAC,WAAW,EAAE;QAClC,OAAO;QACP,WAAW;QACX,eAAe,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACtC,WAAW;QACX,SAAS;KACV,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAE3F,kEAAkE;IAClE,MAAM,eAAe,GAAG;QACtB;YACE,IAAI,EAAE,aAAa;YACnB,OAAO,EACL,qIAAqI;YACvI,OAAO,EAAE,yBAAyB;SACnC;KACF,CAAC;IAEF,MAAM,IAAI,GAAG;QACX,8BAA8B,OAAO,EAAE;QACvC,EAAE;QACF,+CAA+C;QAC/C,SAAS;QACT,OAAO;QACP,SAAS;KACV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACjC,iBAAiB,EAAE;YACjB,eAAe;SAChB;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,42 @@
1
+ export type InterviewDimension = 'technical' | 'ux' | 'edge-cases' | 'tradeoffs' | 'security' | 'performance' | 'integration';
2
+ export interface CoverageMap {
3
+ technical: boolean;
4
+ ux: boolean;
5
+ 'edge-cases': boolean;
6
+ tradeoffs: boolean;
7
+ security: boolean;
8
+ performance: boolean;
9
+ integration: boolean;
10
+ }
11
+ export interface InterviewState {
12
+ sessionId: string;
13
+ coverageMap: CoverageMap;
14
+ completionPercent: number;
15
+ accumulatedAnswers: Record<string, string>;
16
+ nextDimension: InterviewDimension | null;
17
+ ready: boolean;
18
+ }
19
+ /**
20
+ * Analyzes answers to update which dimensions are covered.
21
+ * Merges with an existing coverage map if provided.
22
+ */
23
+ export declare function updateCoverageFromAnswers(answers: Record<string, string>, existing?: CoverageMap): CoverageMap;
24
+ /**
25
+ * Returns the lowest-priority uncovered dimension, or null if all are covered.
26
+ */
27
+ export declare function pickNextDimension(coverage: CoverageMap): InterviewDimension | null;
28
+ /**
29
+ * Generates a targeted follow-up question for a specific dimension.
30
+ * Takes existing answers into account to avoid repeating covered ground.
31
+ */
32
+ export declare function generateDimensionQuestion(dimension: InterviewDimension, topic: string, answers: Record<string, string>): string;
33
+ /**
34
+ * Computes completion percentage based on how many dimensions are covered (0–100).
35
+ */
36
+ export declare function computeCompletion(coverage: CoverageMap): number;
37
+ /**
38
+ * Returns true if the topic is too simple for interview mode.
39
+ * Delegates to isShortTopic from questions.ts.
40
+ */
41
+ export declare function shouldSkipInterview(topic: string): boolean;
42
+ //# sourceMappingURL=interview-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interview-mode.d.ts","sourceRoot":"","sources":["../../../src/tools/clarify-requirements/interview-mode.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,kBAAkB,GAC1B,WAAW,GACX,IAAI,GACJ,YAAY,GACZ,WAAW,GACX,UAAU,GACV,aAAa,GACb,aAAa,CAAC;AAElB,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,EAAE,EAAE,OAAO,CAAC;IACZ,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,aAAa,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACzC,KAAK,EAAE,OAAO,CAAC;CAChB;AAyRD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,QAAQ,CAAC,EAAE,WAAW,GACrB,WAAW,CA2Bb;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,WAAW,GAAG,kBAAkB,GAAG,IAAI,CAOlF;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,kBAAkB,EAC7B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,MAAM,CAaR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,CAI/D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE1D"}
@@ -0,0 +1,342 @@
1
+ // tools/clarify-requirements/interview-mode.ts — Structured Interview Mode (SPEC-252)
2
+ // Tracks coverage across 7 dimensions and guides toward create_spec
3
+ import { isShortTopic } from './questions.js';
4
+ /** Keywords per dimension used to detect coverage from answer text. */
5
+ const DIMENSION_KEYWORDS = {
6
+ technical: [
7
+ 'typescript',
8
+ 'javascript',
9
+ 'python',
10
+ 'java',
11
+ 'rust',
12
+ 'go',
13
+ 'database',
14
+ 'sql',
15
+ 'nosql',
16
+ 'api',
17
+ 'rest',
18
+ 'graphql',
19
+ 'grpc',
20
+ 'microservice',
21
+ 'monolith',
22
+ 'architecture',
23
+ 'framework',
24
+ 'library',
25
+ 'sdk',
26
+ 'algorithm',
27
+ 'data structure',
28
+ 'cache',
29
+ 'queue',
30
+ 'message broker',
31
+ 'docker',
32
+ 'kubernetes',
33
+ 'serverless',
34
+ 'function',
35
+ 'endpoint',
36
+ 'backend',
37
+ 'frontend',
38
+ 'fullstack',
39
+ 'stack',
40
+ 'implementation',
41
+ 'deploy',
42
+ 'build',
43
+ 'compile',
44
+ 'runtime',
45
+ ],
46
+ ux: [
47
+ 'user',
48
+ 'ui',
49
+ 'interface',
50
+ 'ux',
51
+ 'experience',
52
+ 'design',
53
+ 'layout',
54
+ 'screen',
55
+ 'page',
56
+ 'form',
57
+ 'input',
58
+ 'button',
59
+ 'menu',
60
+ 'navigation',
61
+ 'mobile',
62
+ 'responsive',
63
+ 'accessible',
64
+ 'accessibility',
65
+ 'a11y',
66
+ 'wcag',
67
+ 'flow',
68
+ 'journey',
69
+ 'onboarding',
70
+ 'dashboard',
71
+ 'view',
72
+ 'visual',
73
+ 'theme',
74
+ 'color',
75
+ 'typography',
76
+ 'component',
77
+ 'widget',
78
+ ],
79
+ 'edge-cases': [
80
+ 'edge case',
81
+ 'corner case',
82
+ 'error',
83
+ 'failure',
84
+ 'invalid',
85
+ 'empty',
86
+ 'null',
87
+ 'undefined',
88
+ 'exception',
89
+ 'boundary',
90
+ 'limit',
91
+ 'overflow',
92
+ 'timeout',
93
+ 'retry',
94
+ 'fallback',
95
+ 'race condition',
96
+ 'concurrent',
97
+ 'duplicate',
98
+ 'missing',
99
+ 'malformed',
100
+ 'validation',
101
+ 'constraint',
102
+ 'maximum',
103
+ 'minimum',
104
+ 'zero',
105
+ 'negative',
106
+ 'large',
107
+ 'empty list',
108
+ 'not found',
109
+ '404',
110
+ 'conflict',
111
+ ],
112
+ tradeoffs: [
113
+ 'tradeoff',
114
+ 'trade-off',
115
+ 'vs',
116
+ 'versus',
117
+ 'alternative',
118
+ 'option',
119
+ 'approach',
120
+ 'decision',
121
+ 'pros',
122
+ 'cons',
123
+ 'advantage',
124
+ 'disadvantage',
125
+ 'balance',
126
+ 'priority',
127
+ 'complexity',
128
+ 'simplicity',
129
+ 'maintainability',
130
+ 'scalability',
131
+ 'cost',
132
+ 'benefit',
133
+ 'risk',
134
+ 'impact',
135
+ 'consistency',
136
+ 'availability',
137
+ 'partition',
138
+ 'cap theorem',
139
+ 'eventual',
140
+ 'strong consistency',
141
+ ],
142
+ security: [
143
+ 'security',
144
+ 'auth',
145
+ 'authentication',
146
+ 'authorization',
147
+ 'permission',
148
+ 'role',
149
+ 'rbac',
150
+ 'jwt',
151
+ 'token',
152
+ 'session',
153
+ 'cookie',
154
+ 'csrf',
155
+ 'xss',
156
+ 'sql injection',
157
+ 'sanitize',
158
+ 'encrypt',
159
+ 'encryption',
160
+ 'https',
161
+ 'tls',
162
+ 'ssl',
163
+ 'secret',
164
+ 'credential',
165
+ 'password',
166
+ 'hash',
167
+ 'salt',
168
+ 'oauth',
169
+ 'saml',
170
+ 'sso',
171
+ 'rate limit',
172
+ 'ddos',
173
+ 'audit log',
174
+ 'pii',
175
+ 'gdpr',
176
+ 'data protection',
177
+ 'vulnerability',
178
+ 'threat',
179
+ 'attack',
180
+ 'penetration',
181
+ ],
182
+ performance: [
183
+ 'performance',
184
+ 'latency',
185
+ 'throughput',
186
+ 'response time',
187
+ 'speed',
188
+ 'fast',
189
+ 'slow',
190
+ 'optimization',
191
+ 'cache',
192
+ 'caching',
193
+ 'cdn',
194
+ 'load',
195
+ 'scale',
196
+ 'concurrent',
197
+ 'async',
198
+ 'parallel',
199
+ 'batch',
200
+ 'benchmark',
201
+ 'profile',
202
+ 'metric',
203
+ 'monitor',
204
+ 'sla',
205
+ 'p99',
206
+ 'p95',
207
+ 'millisecond',
208
+ 'second',
209
+ 'rps',
210
+ 'tps',
211
+ 'qps',
212
+ 'memory',
213
+ 'cpu',
214
+ 'bandwidth',
215
+ 'bottleneck',
216
+ ],
217
+ integration: [
218
+ 'integration',
219
+ 'integrate',
220
+ 'api',
221
+ 'webhook',
222
+ 'event',
223
+ 'third-party',
224
+ 'external',
225
+ 'service',
226
+ 'provider',
227
+ 'vendor',
228
+ 'sdk',
229
+ 'library',
230
+ 'plugin',
231
+ 'connector',
232
+ 'adapter',
233
+ 'interface',
234
+ 'contract',
235
+ 'protocol',
236
+ 'format',
237
+ 'json',
238
+ 'xml',
239
+ 'csv',
240
+ 'import',
241
+ 'export',
242
+ 'sync',
243
+ 'async',
244
+ 'push',
245
+ 'pull',
246
+ 'poll',
247
+ 'stream',
248
+ 'batch',
249
+ 'migration',
250
+ 'interop',
251
+ ],
252
+ };
253
+ /** Priority order for picking the next uncovered dimension. */
254
+ const DIMENSION_PRIORITY = [
255
+ 'technical',
256
+ 'security',
257
+ 'edge-cases',
258
+ 'performance',
259
+ 'integration',
260
+ 'tradeoffs',
261
+ 'ux',
262
+ ];
263
+ /** Questions template per dimension. Avoids trivial things a senior dev already knows. */
264
+ const DIMENSION_QUESTION_TEMPLATES = {
265
+ technical: (topic) => `For "${topic}", which architectural constraints or technology choices are non-negotiable — and which are open to discussion?`,
266
+ ux: (topic) => `Who are the distinct user personas for "${topic}", and what are the critical interaction flows that must feel seamless?`,
267
+ 'edge-cases': (topic) => `What are the failure modes for "${topic}" that could silently corrupt data or leave the system in an inconsistent state?`,
268
+ tradeoffs: (topic) => `What tradeoffs are you willing to accept for "${topic}" — e.g., consistency vs. availability, simplicity vs. extensibility, speed to ship vs. completeness?`,
269
+ security: (topic) => `What is the threat model for "${topic}"? Which data is sensitive, who are the adversaries, and which attack vectors are in scope?`,
270
+ performance: (topic) => `What are the concrete SLAs for "${topic}" — target latency (p95/p99), throughput (rps), and acceptable degradation under load?`,
271
+ integration: (topic) => `Which external systems or third-party services must "${topic}" integrate with, and what are the contract/version constraints?`,
272
+ };
273
+ /**
274
+ * Analyzes answers to update which dimensions are covered.
275
+ * Merges with an existing coverage map if provided.
276
+ */
277
+ export function updateCoverageFromAnswers(answers, existing) {
278
+ const base = existing ?? {
279
+ technical: false,
280
+ ux: false,
281
+ 'edge-cases': false,
282
+ tradeoffs: false,
283
+ security: false,
284
+ performance: false,
285
+ integration: false,
286
+ };
287
+ const allText = Object.values(answers).join(' ').toLowerCase();
288
+ const dimensions = Object.keys(DIMENSION_KEYWORDS);
289
+ const updated = { ...base };
290
+ for (const dim of dimensions) {
291
+ if (updated[dim]) {
292
+ continue;
293
+ } // already covered
294
+ const keywords = DIMENSION_KEYWORDS[dim];
295
+ if (keywords.some((kw) => allText.includes(kw))) {
296
+ updated[dim] = true;
297
+ }
298
+ }
299
+ return updated;
300
+ }
301
+ /**
302
+ * Returns the lowest-priority uncovered dimension, or null if all are covered.
303
+ */
304
+ export function pickNextDimension(coverage) {
305
+ for (const dim of DIMENSION_PRIORITY) {
306
+ if (!coverage[dim]) {
307
+ return dim;
308
+ }
309
+ }
310
+ return null;
311
+ }
312
+ /**
313
+ * Generates a targeted follow-up question for a specific dimension.
314
+ * Takes existing answers into account to avoid repeating covered ground.
315
+ */
316
+ export function generateDimensionQuestion(dimension, topic, answers) {
317
+ const alreadyMentioned = Object.values(answers).join(' ').toLowerCase();
318
+ const baseQuestion = DIMENSION_QUESTION_TEMPLATES[dimension](topic);
319
+ // Add context hint if the answer set is non-empty and hints at partial coverage
320
+ const keywords = DIMENSION_KEYWORDS[dimension];
321
+ const partiallyMentioned = keywords.filter((kw) => alreadyMentioned.includes(kw));
322
+ if (partiallyMentioned.length > 0 && partiallyMentioned.length < 3) {
323
+ return `${baseQuestion} (You mentioned ${partiallyMentioned.slice(0, 2).join(', ')} — go deeper on constraints and non-obvious implications.)`;
324
+ }
325
+ return baseQuestion;
326
+ }
327
+ /**
328
+ * Computes completion percentage based on how many dimensions are covered (0–100).
329
+ */
330
+ export function computeCompletion(coverage) {
331
+ const total = Object.keys(coverage).length;
332
+ const covered = Object.values(coverage).filter(Boolean).length;
333
+ return total === 0 ? 0 : Math.round((covered / total) * 100);
334
+ }
335
+ /**
336
+ * Returns true if the topic is too simple for interview mode.
337
+ * Delegates to isShortTopic from questions.ts.
338
+ */
339
+ export function shouldSkipInterview(topic) {
340
+ return isShortTopic(topic);
341
+ }
342
+ //# sourceMappingURL=interview-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interview-mode.js","sourceRoot":"","sources":["../../../src/tools/clarify-requirements/interview-mode.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"configure-workers-handler.d.ts","sourceRoot":"","sources":["../../src/tools/configure-workers-handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAwB,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAQjG,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,CAuH7F"}
1
+ {"version":3,"file":"configure-workers-handler.d.ts","sourceRoot":"","sources":["../../src/tools/configure-workers-handler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAwB,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAQjG,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,CA2H7F"}
@@ -1,4 +1,7 @@
1
1
  // tools/configure-workers-handler.ts — Handler for configure_workers tool (SPEC-078 AC-12)
2
+ import { readFile, writeFile } from 'node:fs/promises';
3
+ import { existsSync } from 'node:fs';
4
+ import { join } from 'node:path';
2
5
  import { getWorkerEngine } from '../engine/workers/index.js';
3
6
  import { updateOverride } from '../storage/worker-store.js';
4
7
  // ---------------------------------------------------------------------------
@@ -102,6 +105,9 @@ export async function handleConfigureWorkers(args) {
102
105
  description = `Removed pattern "${args.value}" from "${args.workerName}"`;
103
106
  break;
104
107
  }
108
+ case 'enable-auto-memory': {
109
+ return await handleEnableWorkerAutoMemory(args.workerName, args.projectId);
110
+ }
105
111
  }
106
112
  // Apply to engine
107
113
  engine.applyOverride(args.workerName, override);
@@ -113,4 +119,79 @@ export async function handleConfigureWorkers(args) {
113
119
  ],
114
120
  };
115
121
  }
122
+ // ---------------------------------------------------------------------------
123
+ // enable-auto-memory helper
124
+ // ---------------------------------------------------------------------------
125
+ async function handleEnableWorkerAutoMemory(workerName, projectId) {
126
+ // Search for agent file in .claude/agents/
127
+ const agentsDirCandidates = [
128
+ join(process.cwd(), '.claude', 'agents', `${workerName}.md`),
129
+ join(process.cwd(), '.claude', 'agents', `${workerName.toLowerCase()}.md`),
130
+ ];
131
+ const agentFile = agentsDirCandidates.find((p) => existsSync(p));
132
+ if (!agentFile) {
133
+ // List available agents for helpful error message
134
+ const agentsDir = join(process.cwd(), '.claude', 'agents');
135
+ let available = '(none found)';
136
+ try {
137
+ const { readdir } = await import('node:fs/promises');
138
+ const entries = await readdir(agentsDir);
139
+ const mdFiles = entries.filter((e) => e.endsWith('.md')).map((e) => e.replace(/\.md$/, ''));
140
+ if (mdFiles.length > 0) {
141
+ available = mdFiles.join(', ');
142
+ }
143
+ }
144
+ catch {
145
+ // agentsDir may not exist
146
+ }
147
+ return {
148
+ content: [
149
+ {
150
+ type: 'text',
151
+ text: `Agent file for "${workerName}" not found in .claude/agents/. Available agents: ${available}`,
152
+ },
153
+ ],
154
+ isError: true,
155
+ };
156
+ }
157
+ const raw = await readFile(agentFile, 'utf-8');
158
+ // Parse YAML frontmatter manually: split by ---
159
+ const parts = raw.split('---');
160
+ if (parts.length < 3) {
161
+ // No frontmatter block — prepend a minimal one
162
+ const newContent = `---\nautoMemory: true\n---\n${raw}`;
163
+ await writeFile(agentFile, newContent, 'utf-8');
164
+ }
165
+ else {
166
+ const frontmatter = parts[1] ?? '';
167
+ const body = parts.slice(2).join('---');
168
+ // Check if autoMemory already set
169
+ if (/^autoMemory:/m.test(frontmatter)) {
170
+ // Replace existing value
171
+ const updatedFm = frontmatter.replace(/^autoMemory:.*$/m, 'autoMemory: true');
172
+ await writeFile(agentFile, `---${updatedFm}---${body}`, 'utf-8');
173
+ }
174
+ else {
175
+ // Append to frontmatter
176
+ const updatedFm = frontmatter.trimEnd() + '\nautoMemory: true\n';
177
+ await writeFile(agentFile, `---${updatedFm}---${body}`, 'utf-8');
178
+ }
179
+ }
180
+ const memoryPath = `~/.claude/projects/<project>/memory/agents/${workerName}/`;
181
+ return {
182
+ content: [
183
+ {
184
+ type: 'text',
185
+ text: JSON.stringify({
186
+ action: 'enable-auto-memory',
187
+ workerName,
188
+ projectId,
189
+ agentFile,
190
+ memoryPath,
191
+ message: `Auto-memory enabled for agent "${workerName}". Memory will accumulate at ${memoryPath}`,
192
+ }, null, 2),
193
+ },
194
+ ],
195
+ };
196
+ }
116
197
  //# sourceMappingURL=configure-workers-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configure-workers-handler.js","sourceRoot":"","sources":["../../src/tools/configure-workers-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configure-workers-handler.js","sourceRoot":"","sources":["../../src/tools/configure-workers-handler.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,4 @@
1
1
  import type { ToolResult, FacilitateInput, ParadigmReport } from '../types/index.js';
2
- /**
3
- * Builds paradigm expert voice observations from a pre-computed ParadigmReport.
4
- * Degrades gracefully when no detection data is available.
5
- */
6
2
  export declare function buildParadigmObservations(paradigmReport: ParadigmReport | null | undefined): string;
7
- export declare function handleFacilitate(params: FacilitateInput): ToolResult;
3
+ export declare function handleFacilitate(params: FacilitateInput): Promise<ToolResult>;
8
4
  //# sourceMappingURL=facilitate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"facilitate.d.ts","sourceRoot":"","sources":["../../src/tools/facilitate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,UAAU,EAEV,eAAe,EAGf,cAAc,EACf,MAAM,mBAAmB,CAAC;AAwI3B;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,GAChD,MAAM,CAMR;AAiDD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,UAAU,CAsIpE"}
1
+ {"version":3,"file":"facilitate.d.ts","sourceRoot":"","sources":["../../src/tools/facilitate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,UAAU,EAEV,eAAe,EAGf,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAwI3B,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,GAChD,MAAM,CAMR;AA2HD,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CA+JnF"}