@su-record/vibe 2.16.4 → 3.1.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 (607) hide show
  1. package/CLAUDE.md +8 -8
  2. package/README.en.md +46 -29
  3. package/README.md +41 -24
  4. package/agents/acceptance-tester.md +56 -0
  5. package/agents/architect.md +25 -67
  6. package/agents/build-error-resolver.md +28 -97
  7. package/agents/code-reviewer.md +89 -0
  8. package/agents/diagrammer.md +34 -169
  9. package/agents/documenter.md +43 -0
  10. package/agents/e2e-tester.md +46 -281
  11. package/agents/event/event-ops.md +54 -77
  12. package/agents/event/event-planner.md +63 -0
  13. package/agents/figma/figma-engineer.md +76 -0
  14. package/agents/implementer.md +26 -41
  15. package/agents/security-reviewer.md +56 -0
  16. package/agents/tester.md +37 -33
  17. package/agents/ui/design-reviewer.md +62 -0
  18. package/agents/ui/design-system-gen.md +63 -0
  19. package/dist/cli/commands/remove.d.ts.map +1 -1
  20. package/dist/cli/commands/remove.js +8 -10
  21. package/dist/cli/commands/remove.js.map +1 -1
  22. package/dist/cli/index.d.ts +0 -4
  23. package/dist/cli/index.d.ts.map +1 -1
  24. package/dist/cli/index.js +0 -4
  25. package/dist/cli/index.js.map +1 -1
  26. package/dist/cli/llm/model-refresh.js +1 -1
  27. package/dist/cli/llm/model-refresh.js.map +1 -1
  28. package/dist/cli/postinstall/claude-agents.d.ts.map +1 -1
  29. package/dist/cli/postinstall/claude-agents.js +16 -77
  30. package/dist/cli/postinstall/claude-agents.js.map +1 -1
  31. package/dist/cli/postinstall/constants.d.ts.map +1 -1
  32. package/dist/cli/postinstall/constants.js +80 -296
  33. package/dist/cli/postinstall/constants.js.map +1 -1
  34. package/dist/cli/postinstall/cursor-agents.d.ts +5 -0
  35. package/dist/cli/postinstall/cursor-agents.d.ts.map +1 -1
  36. package/dist/cli/postinstall/cursor-agents.js +26 -68
  37. package/dist/cli/postinstall/cursor-agents.js.map +1 -1
  38. package/dist/cli/postinstall/cursor-skills.d.ts.map +1 -1
  39. package/dist/cli/postinstall/cursor-skills.js +26 -30
  40. package/dist/cli/postinstall/cursor-skills.js.map +1 -1
  41. package/dist/cli/postinstall/main.d.ts.map +1 -1
  42. package/dist/cli/postinstall/main.js +0 -2
  43. package/dist/cli/postinstall/main.js.map +1 -1
  44. package/dist/cli/setup/Provisioner.d.ts.map +1 -1
  45. package/dist/cli/setup/Provisioner.js +19 -21
  46. package/dist/cli/setup/Provisioner.js.map +1 -1
  47. package/dist/cli/utils.d.ts +4 -1
  48. package/dist/cli/utils.d.ts.map +1 -1
  49. package/dist/cli/utils.js +4 -1
  50. package/dist/cli/utils.js.map +1 -1
  51. package/dist/infra/lib/FrameworkDetector.js +4 -4
  52. package/dist/infra/lib/FrameworkDetector.js.map +1 -1
  53. package/dist/infra/lib/OrchestrateWorkflow.js +2 -2
  54. package/dist/infra/lib/OrchestrateWorkflow.js.map +1 -1
  55. package/dist/infra/lib/browser/launch.js +1 -1
  56. package/dist/infra/lib/browser/launch.js.map +1 -1
  57. package/dist/infra/lib/browser/types.d.ts +1 -1
  58. package/dist/infra/lib/browser/types.js +1 -1
  59. package/dist/infra/lib/constants.d.ts +1 -1
  60. package/dist/infra/lib/constants.d.ts.map +1 -1
  61. package/dist/infra/lib/constants.js +4 -5
  62. package/dist/infra/lib/constants.js.map +1 -1
  63. package/dist/infra/lib/evolution/__tests__/integration.test.js +7 -7
  64. package/dist/infra/lib/evolution/__tests__/integration.test.js.map +1 -1
  65. package/dist/infra/lib/memory/index.d.ts +0 -2
  66. package/dist/infra/lib/memory/index.d.ts.map +1 -1
  67. package/dist/infra/lib/memory/index.js +0 -2
  68. package/dist/infra/lib/memory/index.js.map +1 -1
  69. package/dist/infra/lib/telemetry/SkillTelemetry.test.js +1 -1
  70. package/dist/infra/lib/telemetry/SkillTelemetry.test.js.map +1 -1
  71. package/dist/tools/index.d.ts +0 -4
  72. package/dist/tools/index.d.ts.map +1 -1
  73. package/dist/tools/index.js +0 -4
  74. package/dist/tools/index.js.map +1 -1
  75. package/dist/tools/memory/autoSaveContext.d.ts +0 -1
  76. package/dist/tools/memory/autoSaveContext.d.ts.map +1 -1
  77. package/dist/tools/memory/autoSaveContext.js +13 -27
  78. package/dist/tools/memory/autoSaveContext.js.map +1 -1
  79. package/hooks/scripts/__tests__/.vibe/command-log.txt +3 -78
  80. package/hooks/scripts/__tests__/.vibe/memories/memories.db +0 -0
  81. package/hooks/scripts/__tests__/.vibe/memories/memories.db-shm +0 -0
  82. package/hooks/scripts/__tests__/.vibe/memories/memories.db-wal +0 -0
  83. package/hooks/scripts/__tests__/clone-behaviors.test.js +64 -0
  84. package/hooks/scripts/__tests__/clone-merge-responsive.test.js +106 -0
  85. package/hooks/scripts/__tests__/code-check-detectors.test.js +2 -2
  86. package/hooks/scripts/__tests__/run-ledger.test.js +1 -1
  87. package/hooks/scripts/__tests__/scope-from-spec.test.js +12 -12
  88. package/hooks/scripts/__tests__/step-counter.test.js +1 -1
  89. package/hooks/scripts/clone-extract.js +242 -28
  90. package/hooks/scripts/clone-merge-responsive.js +184 -0
  91. package/hooks/scripts/clone-spec.js +33 -8
  92. package/hooks/scripts/clone-validate.js +15 -9
  93. package/hooks/scripts/code-check.js +16 -203
  94. package/hooks/scripts/context-save.js +0 -11
  95. package/hooks/scripts/lib/scope-from-spec.js +9 -6
  96. package/hooks/scripts/post-edit-dispatcher.js +1 -1
  97. package/hooks/scripts/prompt-dispatcher.js +7 -18
  98. package/hooks/scripts/session-start.js +25 -35
  99. package/package.json +6 -5
  100. package/skills/agents-md/SKILL.md +62 -15
  101. package/skills/arch-guard/SKILL.md +1 -1
  102. package/skills/brand-assets/SKILL.md +2 -2
  103. package/skills/capability-loop/SKILL.md +1 -1
  104. package/skills/chub-usage/SKILL.md +1 -1
  105. package/skills/clone/SKILL.md +132 -55
  106. package/skills/commerce-patterns/SKILL.md +2 -2
  107. package/skills/commit-push-pr/SKILL.md +0 -1
  108. package/skills/context7-usage/SKILL.md +1 -1
  109. package/skills/design-refine/SKILL.md +140 -0
  110. package/skills/{design-polish → design-refine}/templates/polish-report.md +1 -1
  111. package/skills/{design-normalize → design-refine}/templates/token-audit.md +3 -3
  112. package/skills/design-review/SKILL.md +143 -0
  113. package/skills/{design-audit → design-review}/agents/a11y-auditor.md +1 -1
  114. package/skills/{design-audit → design-review}/agents/performance-auditor.md +1 -1
  115. package/skills/{design-audit → design-review}/agents/responsive-auditor.md +1 -1
  116. package/skills/{design-audit → design-review}/agents/slop-detector.md +1 -1
  117. package/skills/{design-audit → design-review}/frameworks/core-web-vitals.md +1 -1
  118. package/skills/{design-audit → design-review}/frameworks/wcag-checklist.md +1 -1
  119. package/skills/{design-audit → design-review}/orchestrator.md +3 -3
  120. package/skills/{design-critique → design-review}/templates/critique-report.md +3 -3
  121. package/skills/{design-audit → design-review}/templates/report.md +3 -3
  122. package/skills/design-teach/SKILL.md +11 -11
  123. package/skills/docs/SKILL.md +14 -16
  124. package/skills/e2e-commerce/SKILL.md +1 -1
  125. package/skills/event-comms/SKILL.md +1 -1
  126. package/skills/event-ops/SKILL.md +2 -2
  127. package/skills/event-planning/SKILL.md +1 -1
  128. package/skills/exec-plan/SKILL.md +2 -2
  129. package/skills/figma/SKILL.md +240 -148
  130. package/skills/figma/rubrics/css-mapping.md +125 -0
  131. package/skills/git-worktree/SKILL.md +1 -1
  132. package/skills/handoff/SKILL.md +1 -1
  133. package/skills/parallel-research/SKILL.md +14 -28
  134. package/skills/priority-todos/SKILL.md +1 -1
  135. package/skills/regress/SKILL.md +11 -0
  136. package/skills/restraint/SKILL.md +72 -0
  137. package/skills/seo-checklist/SKILL.md +2 -2
  138. package/skills/spec/SKILL.md +65 -836
  139. package/skills/test/SKILL.md +3 -3
  140. package/skills/tool-fallback/SKILL.md +2 -2
  141. package/skills/vercel-react-best-practices/SKILL.md +1 -1
  142. package/skills/vibe/SKILL.md +20 -35
  143. package/skills/vibe.analyze/SKILL.md +7 -9
  144. package/skills/vibe.clone/SKILL.md +39 -19
  145. package/skills/vibe.docs/SKILL.md +1 -1
  146. package/skills/vibe.event/SKILL.md +27 -27
  147. package/skills/vibe.figma/SKILL.md +14 -18
  148. package/skills/vibe.harness/SKILL.md +5 -5
  149. package/skills/vibe.reason/SKILL.md +0 -2
  150. package/skills/vibe.review/SKILL.md +45 -49
  151. package/skills/vibe.run/SKILL.md +2 -5
  152. package/skills/vibe.run/references/parallel-agents.md +33 -98
  153. package/skills/vibe.spec/SKILL.md +38 -535
  154. package/skills/vibe.utils/SKILL.md +3 -3
  155. package/skills/vibe.verify/SKILL.md +70 -542
  156. package/skills/video-production/SKILL.md +1 -1
  157. package/vibe/rules/orchestrator-contract.md +5 -4
  158. package/vibe/rules/quality/performance.md +1 -1
  159. package/vibe/templates/claudemd-template.md +1 -1
  160. package/vibe/templates/spec-template.md +35 -185
  161. package/agents/architect-low.md +0 -41
  162. package/agents/architect-medium.md +0 -59
  163. package/agents/compounder.md +0 -265
  164. package/agents/docs/api-documenter.md +0 -99
  165. package/agents/docs/changelog-writer.md +0 -93
  166. package/agents/event/event-comms.md +0 -78
  167. package/agents/event/event-content.md +0 -68
  168. package/agents/event/event-image.md +0 -95
  169. package/agents/event/event-scheduler.md +0 -69
  170. package/agents/event/event-speaker.md +0 -86
  171. package/agents/explorer-low.md +0 -42
  172. package/agents/explorer-medium.md +0 -59
  173. package/agents/explorer.md +0 -48
  174. package/agents/figma/figma-analyst.md +0 -56
  175. package/agents/figma/figma-architect.md +0 -116
  176. package/agents/figma/figma-auditor.md +0 -86
  177. package/agents/figma/figma-builder.md +0 -104
  178. package/agents/implementer-low.md +0 -43
  179. package/agents/implementer-medium.md +0 -52
  180. package/agents/junior-mentor.md +0 -141
  181. package/agents/planning/requirements-analyst.md +0 -84
  182. package/agents/planning/ux-advisor.md +0 -83
  183. package/agents/qa/acceptance-tester.md +0 -86
  184. package/agents/qa/edge-case-finder.md +0 -93
  185. package/agents/qa/qa-coordinator.md +0 -131
  186. package/agents/refactor-cleaner.md +0 -143
  187. package/agents/research/best-practices.md +0 -199
  188. package/agents/research/codebase-patterns.md +0 -157
  189. package/agents/research/framework-docs.md +0 -188
  190. package/agents/research/security-advisory.md +0 -213
  191. package/agents/review/architecture-reviewer.md +0 -107
  192. package/agents/review/complexity-reviewer.md +0 -116
  193. package/agents/review/data-integrity-reviewer.md +0 -88
  194. package/agents/review/git-history-reviewer.md +0 -103
  195. package/agents/review/performance-reviewer.md +0 -86
  196. package/agents/review/python-reviewer.md +0 -150
  197. package/agents/review/rails-reviewer.md +0 -139
  198. package/agents/review/react-reviewer.md +0 -144
  199. package/agents/review/security-reviewer.md +0 -80
  200. package/agents/review/simplicity-reviewer.md +0 -140
  201. package/agents/review/test-coverage-reviewer.md +0 -116
  202. package/agents/review/typescript-reviewer.md +0 -127
  203. package/agents/searcher.md +0 -54
  204. package/agents/simplifier.md +0 -124
  205. package/agents/teams/debug-team.md +0 -74
  206. package/agents/teams/dev-team.md +0 -92
  207. package/agents/teams/docs-team.md +0 -84
  208. package/agents/teams/figma-team.md +0 -89
  209. package/agents/teams/fullstack-team.md +0 -87
  210. package/agents/teams/lite-team.md +0 -73
  211. package/agents/teams/migration-team.md +0 -82
  212. package/agents/teams/refactor-team.md +0 -98
  213. package/agents/teams/research-team.md +0 -90
  214. package/agents/teams/review-debate-team.md +0 -129
  215. package/agents/teams/security-team.md +0 -85
  216. package/agents/ui/ui-a11y-auditor.md +0 -93
  217. package/agents/ui/ui-antipattern-detector.md +0 -102
  218. package/agents/ui/ui-dataviz-advisor.md +0 -69
  219. package/agents/ui/ui-design-system-gen.md +0 -57
  220. package/agents/ui/ui-industry-analyzer.md +0 -49
  221. package/agents/ui/ui-layout-architect.md +0 -65
  222. package/agents/ui/ui-stack-implementer.md +0 -68
  223. package/agents/ui/ux-compliance-reviewer.md +0 -81
  224. package/agents/ui-previewer.md +0 -262
  225. package/dist/cli/llm/gemini-commands.d.ts +0 -25
  226. package/dist/cli/llm/gemini-commands.d.ts.map +0 -1
  227. package/dist/cli/llm/gemini-commands.js +0 -143
  228. package/dist/cli/llm/gemini-commands.js.map +0 -1
  229. package/dist/cli/postinstall/codex-agents.d.ts +0 -24
  230. package/dist/cli/postinstall/codex-agents.d.ts.map +0 -1
  231. package/dist/cli/postinstall/codex-agents.js +0 -114
  232. package/dist/cli/postinstall/codex-agents.js.map +0 -1
  233. package/dist/cli/postinstall/codex-instruction.d.ts +0 -10
  234. package/dist/cli/postinstall/codex-instruction.d.ts.map +0 -1
  235. package/dist/cli/postinstall/codex-instruction.js +0 -56
  236. package/dist/cli/postinstall/codex-instruction.js.map +0 -1
  237. package/dist/cli/postinstall/gemini-agents.d.ts +0 -12
  238. package/dist/cli/postinstall/gemini-agents.d.ts.map +0 -1
  239. package/dist/cli/postinstall/gemini-agents.js +0 -80
  240. package/dist/cli/postinstall/gemini-agents.js.map +0 -1
  241. package/dist/cli/postinstall/gemini-instruction.d.ts +0 -10
  242. package/dist/cli/postinstall/gemini-instruction.d.ts.map +0 -1
  243. package/dist/cli/postinstall/gemini-instruction.js +0 -59
  244. package/dist/cli/postinstall/gemini-instruction.js.map +0 -1
  245. package/dist/infra/lib/ContextCompressor.d.ts +0 -104
  246. package/dist/infra/lib/ContextCompressor.d.ts.map +0 -1
  247. package/dist/infra/lib/ContextCompressor.js +0 -297
  248. package/dist/infra/lib/ContextCompressor.js.map +0 -1
  249. package/dist/infra/lib/ContextCompressor.test.d.ts +0 -2
  250. package/dist/infra/lib/ContextCompressor.test.d.ts.map +0 -1
  251. package/dist/infra/lib/ContextCompressor.test.js +0 -25
  252. package/dist/infra/lib/ContextCompressor.test.js.map +0 -1
  253. package/dist/infra/lib/ProgressTracker.d.ts +0 -73
  254. package/dist/infra/lib/ProgressTracker.d.ts.map +0 -1
  255. package/dist/infra/lib/ProgressTracker.js +0 -267
  256. package/dist/infra/lib/ProgressTracker.js.map +0 -1
  257. package/dist/infra/lib/TokenBudgetTracker.d.ts +0 -68
  258. package/dist/infra/lib/TokenBudgetTracker.d.ts.map +0 -1
  259. package/dist/infra/lib/TokenBudgetTracker.js +0 -191
  260. package/dist/infra/lib/TokenBudgetTracker.js.map +0 -1
  261. package/dist/infra/lib/autonomy/AuditStore.d.ts +0 -63
  262. package/dist/infra/lib/autonomy/AuditStore.d.ts.map +0 -1
  263. package/dist/infra/lib/autonomy/AuditStore.js +0 -185
  264. package/dist/infra/lib/autonomy/AuditStore.js.map +0 -1
  265. package/dist/infra/lib/autonomy/AutonomyConfig.d.ts +0 -84
  266. package/dist/infra/lib/autonomy/AutonomyConfig.d.ts.map +0 -1
  267. package/dist/infra/lib/autonomy/AutonomyConfig.js +0 -49
  268. package/dist/infra/lib/autonomy/AutonomyConfig.js.map +0 -1
  269. package/dist/infra/lib/autonomy/AutonomyOrchestrator.d.ts +0 -78
  270. package/dist/infra/lib/autonomy/AutonomyOrchestrator.d.ts.map +0 -1
  271. package/dist/infra/lib/autonomy/AutonomyOrchestrator.js +0 -246
  272. package/dist/infra/lib/autonomy/AutonomyOrchestrator.js.map +0 -1
  273. package/dist/infra/lib/autonomy/BackgroundMonitor.d.ts +0 -36
  274. package/dist/infra/lib/autonomy/BackgroundMonitor.d.ts.map +0 -1
  275. package/dist/infra/lib/autonomy/BackgroundMonitor.js +0 -138
  276. package/dist/infra/lib/autonomy/BackgroundMonitor.js.map +0 -1
  277. package/dist/infra/lib/autonomy/CollaborationProtocol.d.ts +0 -56
  278. package/dist/infra/lib/autonomy/CollaborationProtocol.d.ts.map +0 -1
  279. package/dist/infra/lib/autonomy/CollaborationProtocol.js +0 -122
  280. package/dist/infra/lib/autonomy/CollaborationProtocol.js.map +0 -1
  281. package/dist/infra/lib/autonomy/ConfirmationManager.d.ts +0 -42
  282. package/dist/infra/lib/autonomy/ConfirmationManager.d.ts.map +0 -1
  283. package/dist/infra/lib/autonomy/ConfirmationManager.js +0 -200
  284. package/dist/infra/lib/autonomy/ConfirmationManager.js.map +0 -1
  285. package/dist/infra/lib/autonomy/ConfirmationStore.d.ts +0 -55
  286. package/dist/infra/lib/autonomy/ConfirmationStore.d.ts.map +0 -1
  287. package/dist/infra/lib/autonomy/ConfirmationStore.js +0 -130
  288. package/dist/infra/lib/autonomy/ConfirmationStore.js.map +0 -1
  289. package/dist/infra/lib/autonomy/EventBus.d.ts +0 -20
  290. package/dist/infra/lib/autonomy/EventBus.d.ts.map +0 -1
  291. package/dist/infra/lib/autonomy/EventBus.js +0 -119
  292. package/dist/infra/lib/autonomy/EventBus.js.map +0 -1
  293. package/dist/infra/lib/autonomy/EventOutbox.d.ts +0 -32
  294. package/dist/infra/lib/autonomy/EventOutbox.d.ts.map +0 -1
  295. package/dist/infra/lib/autonomy/EventOutbox.js +0 -152
  296. package/dist/infra/lib/autonomy/EventOutbox.js.map +0 -1
  297. package/dist/infra/lib/autonomy/NotificationDispatcher.d.ts +0 -24
  298. package/dist/infra/lib/autonomy/NotificationDispatcher.d.ts.map +0 -1
  299. package/dist/infra/lib/autonomy/NotificationDispatcher.js +0 -112
  300. package/dist/infra/lib/autonomy/NotificationDispatcher.js.map +0 -1
  301. package/dist/infra/lib/autonomy/PolicyEngine.d.ts +0 -76
  302. package/dist/infra/lib/autonomy/PolicyEngine.d.ts.map +0 -1
  303. package/dist/infra/lib/autonomy/PolicyEngine.js +0 -208
  304. package/dist/infra/lib/autonomy/PolicyEngine.js.map +0 -1
  305. package/dist/infra/lib/autonomy/ProactiveAnalyzer.d.ts +0 -61
  306. package/dist/infra/lib/autonomy/ProactiveAnalyzer.d.ts.map +0 -1
  307. package/dist/infra/lib/autonomy/ProactiveAnalyzer.js +0 -236
  308. package/dist/infra/lib/autonomy/ProactiveAnalyzer.js.map +0 -1
  309. package/dist/infra/lib/autonomy/RiskClassifier.d.ts +0 -35
  310. package/dist/infra/lib/autonomy/RiskClassifier.d.ts.map +0 -1
  311. package/dist/infra/lib/autonomy/RiskClassifier.js +0 -147
  312. package/dist/infra/lib/autonomy/RiskClassifier.js.map +0 -1
  313. package/dist/infra/lib/autonomy/SecuritySentinel.d.ts +0 -51
  314. package/dist/infra/lib/autonomy/SecuritySentinel.d.ts.map +0 -1
  315. package/dist/infra/lib/autonomy/SecuritySentinel.js +0 -162
  316. package/dist/infra/lib/autonomy/SecuritySentinel.js.map +0 -1
  317. package/dist/infra/lib/autonomy/SuggestionStore.d.ts +0 -54
  318. package/dist/infra/lib/autonomy/SuggestionStore.d.ts.map +0 -1
  319. package/dist/infra/lib/autonomy/SuggestionStore.js +0 -144
  320. package/dist/infra/lib/autonomy/SuggestionStore.js.map +0 -1
  321. package/dist/infra/lib/autonomy/TaskDecomposer.d.ts +0 -38
  322. package/dist/infra/lib/autonomy/TaskDecomposer.d.ts.map +0 -1
  323. package/dist/infra/lib/autonomy/TaskDecomposer.js +0 -175
  324. package/dist/infra/lib/autonomy/TaskDecomposer.js.map +0 -1
  325. package/dist/infra/lib/autonomy/__tests__/audit-store.test.d.ts +0 -2
  326. package/dist/infra/lib/autonomy/__tests__/audit-store.test.d.ts.map +0 -1
  327. package/dist/infra/lib/autonomy/__tests__/audit-store.test.js +0 -198
  328. package/dist/infra/lib/autonomy/__tests__/audit-store.test.js.map +0 -1
  329. package/dist/infra/lib/autonomy/__tests__/event-bus.test.d.ts +0 -2
  330. package/dist/infra/lib/autonomy/__tests__/event-bus.test.d.ts.map +0 -1
  331. package/dist/infra/lib/autonomy/__tests__/event-bus.test.js +0 -225
  332. package/dist/infra/lib/autonomy/__tests__/event-bus.test.js.map +0 -1
  333. package/dist/infra/lib/autonomy/__tests__/event-core.test.d.ts +0 -2
  334. package/dist/infra/lib/autonomy/__tests__/event-core.test.d.ts.map +0 -1
  335. package/dist/infra/lib/autonomy/__tests__/event-core.test.js +0 -194
  336. package/dist/infra/lib/autonomy/__tests__/event-core.test.js.map +0 -1
  337. package/dist/infra/lib/autonomy/__tests__/governance.test.d.ts +0 -2
  338. package/dist/infra/lib/autonomy/__tests__/governance.test.d.ts.map +0 -1
  339. package/dist/infra/lib/autonomy/__tests__/governance.test.js +0 -540
  340. package/dist/infra/lib/autonomy/__tests__/governance.test.js.map +0 -1
  341. package/dist/infra/lib/autonomy/__tests__/integration.test.d.ts +0 -2
  342. package/dist/infra/lib/autonomy/__tests__/integration.test.d.ts.map +0 -1
  343. package/dist/infra/lib/autonomy/__tests__/integration.test.js +0 -480
  344. package/dist/infra/lib/autonomy/__tests__/integration.test.js.map +0 -1
  345. package/dist/infra/lib/autonomy/__tests__/proactive.test.d.ts +0 -2
  346. package/dist/infra/lib/autonomy/__tests__/proactive.test.d.ts.map +0 -1
  347. package/dist/infra/lib/autonomy/__tests__/proactive.test.js +0 -410
  348. package/dist/infra/lib/autonomy/__tests__/proactive.test.js.map +0 -1
  349. package/dist/infra/lib/autonomy/__tests__/sentinel.test.d.ts +0 -2
  350. package/dist/infra/lib/autonomy/__tests__/sentinel.test.d.ts.map +0 -1
  351. package/dist/infra/lib/autonomy/__tests__/sentinel.test.js +0 -486
  352. package/dist/infra/lib/autonomy/__tests__/sentinel.test.js.map +0 -1
  353. package/dist/infra/lib/autonomy/index.d.ts +0 -18
  354. package/dist/infra/lib/autonomy/index.d.ts.map +0 -1
  355. package/dist/infra/lib/autonomy/index.js +0 -22
  356. package/dist/infra/lib/autonomy/index.js.map +0 -1
  357. package/dist/infra/lib/autonomy/schemas.d.ts +0 -317
  358. package/dist/infra/lib/autonomy/schemas.d.ts.map +0 -1
  359. package/dist/infra/lib/autonomy/schemas.js +0 -90
  360. package/dist/infra/lib/autonomy/schemas.js.map +0 -1
  361. package/dist/infra/lib/claude/index.d.ts +0 -5
  362. package/dist/infra/lib/claude/index.d.ts.map +0 -1
  363. package/dist/infra/lib/claude/index.js +0 -5
  364. package/dist/infra/lib/claude/index.js.map +0 -1
  365. package/dist/infra/lib/claude/storage.d.ts +0 -12
  366. package/dist/infra/lib/claude/storage.d.ts.map +0 -1
  367. package/dist/infra/lib/claude/storage.js +0 -54
  368. package/dist/infra/lib/claude/storage.js.map +0 -1
  369. package/dist/infra/lib/gemini/auth.d.ts +0 -18
  370. package/dist/infra/lib/gemini/auth.d.ts.map +0 -1
  371. package/dist/infra/lib/gemini/auth.js +0 -32
  372. package/dist/infra/lib/gemini/auth.js.map +0 -1
  373. package/dist/infra/lib/gemini/capabilities.d.ts +0 -28
  374. package/dist/infra/lib/gemini/capabilities.d.ts.map +0 -1
  375. package/dist/infra/lib/gemini/capabilities.js +0 -178
  376. package/dist/infra/lib/gemini/capabilities.js.map +0 -1
  377. package/dist/infra/lib/gemini/chat.d.ts +0 -35
  378. package/dist/infra/lib/gemini/chat.d.ts.map +0 -1
  379. package/dist/infra/lib/gemini/chat.js +0 -161
  380. package/dist/infra/lib/gemini/chat.js.map +0 -1
  381. package/dist/infra/lib/gemini/completion.d.ts +0 -12
  382. package/dist/infra/lib/gemini/completion.d.ts.map +0 -1
  383. package/dist/infra/lib/gemini/completion.js +0 -13
  384. package/dist/infra/lib/gemini/completion.js.map +0 -1
  385. package/dist/infra/lib/gemini/constants.d.ts +0 -8
  386. package/dist/infra/lib/gemini/constants.d.ts.map +0 -1
  387. package/dist/infra/lib/gemini/constants.js +0 -11
  388. package/dist/infra/lib/gemini/constants.js.map +0 -1
  389. package/dist/infra/lib/gemini/index.d.ts +0 -13
  390. package/dist/infra/lib/gemini/index.d.ts.map +0 -1
  391. package/dist/infra/lib/gemini/index.js +0 -12
  392. package/dist/infra/lib/gemini/index.js.map +0 -1
  393. package/dist/infra/lib/gemini/models.d.ts +0 -11
  394. package/dist/infra/lib/gemini/models.d.ts.map +0 -1
  395. package/dist/infra/lib/gemini/models.js +0 -38
  396. package/dist/infra/lib/gemini/models.js.map +0 -1
  397. package/dist/infra/lib/gemini/orchestration.d.ts +0 -33
  398. package/dist/infra/lib/gemini/orchestration.d.ts.map +0 -1
  399. package/dist/infra/lib/gemini/orchestration.js +0 -62
  400. package/dist/infra/lib/gemini/orchestration.js.map +0 -1
  401. package/dist/infra/lib/gemini/types.d.ts +0 -115
  402. package/dist/infra/lib/gemini/types.d.ts.map +0 -1
  403. package/dist/infra/lib/gemini/types.js +0 -5
  404. package/dist/infra/lib/gemini/types.js.map +0 -1
  405. package/dist/infra/orchestrator/AgentAnnouncer.d.ts +0 -64
  406. package/dist/infra/orchestrator/AgentAnnouncer.d.ts.map +0 -1
  407. package/dist/infra/orchestrator/AgentAnnouncer.js +0 -127
  408. package/dist/infra/orchestrator/AgentAnnouncer.js.map +0 -1
  409. package/dist/infra/orchestrator/AgentAnnouncer.test.d.ts +0 -5
  410. package/dist/infra/orchestrator/AgentAnnouncer.test.d.ts.map +0 -1
  411. package/dist/infra/orchestrator/AgentAnnouncer.test.js +0 -119
  412. package/dist/infra/orchestrator/AgentAnnouncer.test.js.map +0 -1
  413. package/dist/infra/orchestrator/AgentExecutor.d.ts +0 -22
  414. package/dist/infra/orchestrator/AgentExecutor.d.ts.map +0 -1
  415. package/dist/infra/orchestrator/AgentExecutor.js +0 -272
  416. package/dist/infra/orchestrator/AgentExecutor.js.map +0 -1
  417. package/dist/infra/orchestrator/AgentManager.d.ts +0 -72
  418. package/dist/infra/orchestrator/AgentManager.d.ts.map +0 -1
  419. package/dist/infra/orchestrator/AgentManager.js +0 -183
  420. package/dist/infra/orchestrator/AgentManager.js.map +0 -1
  421. package/dist/infra/orchestrator/AgentManifestCache.d.ts +0 -54
  422. package/dist/infra/orchestrator/AgentManifestCache.d.ts.map +0 -1
  423. package/dist/infra/orchestrator/AgentManifestCache.js +0 -191
  424. package/dist/infra/orchestrator/AgentManifestCache.js.map +0 -1
  425. package/dist/infra/orchestrator/AgentRegistry.d.ts +0 -76
  426. package/dist/infra/orchestrator/AgentRegistry.d.ts.map +0 -1
  427. package/dist/infra/orchestrator/AgentRegistry.js +0 -217
  428. package/dist/infra/orchestrator/AgentRegistry.js.map +0 -1
  429. package/dist/infra/orchestrator/AgentRegistry.test.d.ts +0 -5
  430. package/dist/infra/orchestrator/AgentRegistry.test.d.ts.map +0 -1
  431. package/dist/infra/orchestrator/AgentRegistry.test.js +0 -122
  432. package/dist/infra/orchestrator/AgentRegistry.test.js.map +0 -1
  433. package/dist/infra/orchestrator/BackgroundManager.d.ts +0 -128
  434. package/dist/infra/orchestrator/BackgroundManager.d.ts.map +0 -1
  435. package/dist/infra/orchestrator/BackgroundManager.js +0 -620
  436. package/dist/infra/orchestrator/BackgroundManager.js.map +0 -1
  437. package/dist/infra/orchestrator/BackgroundManager.test.d.ts +0 -6
  438. package/dist/infra/orchestrator/BackgroundManager.test.d.ts.map +0 -1
  439. package/dist/infra/orchestrator/BackgroundManager.test.js +0 -162
  440. package/dist/infra/orchestrator/BackgroundManager.test.js.map +0 -1
  441. package/dist/infra/orchestrator/CheckpointManager.d.ts +0 -54
  442. package/dist/infra/orchestrator/CheckpointManager.d.ts.map +0 -1
  443. package/dist/infra/orchestrator/CheckpointManager.js +0 -121
  444. package/dist/infra/orchestrator/CheckpointManager.js.map +0 -1
  445. package/dist/infra/orchestrator/CodexAgentRuntime.d.ts +0 -12
  446. package/dist/infra/orchestrator/CodexAgentRuntime.d.ts.map +0 -1
  447. package/dist/infra/orchestrator/CodexAgentRuntime.js +0 -94
  448. package/dist/infra/orchestrator/CodexAgentRuntime.js.map +0 -1
  449. package/dist/infra/orchestrator/CodexAgentRuntime.test.d.ts +0 -2
  450. package/dist/infra/orchestrator/CodexAgentRuntime.test.d.ts.map +0 -1
  451. package/dist/infra/orchestrator/CodexAgentRuntime.test.js +0 -37
  452. package/dist/infra/orchestrator/CodexAgentRuntime.test.js.map +0 -1
  453. package/dist/infra/orchestrator/LLMCluster.d.ts +0 -82
  454. package/dist/infra/orchestrator/LLMCluster.d.ts.map +0 -1
  455. package/dist/infra/orchestrator/LLMCluster.js +0 -146
  456. package/dist/infra/orchestrator/LLMCluster.js.map +0 -1
  457. package/dist/infra/orchestrator/MultiLlmResearch.d.ts +0 -31
  458. package/dist/infra/orchestrator/MultiLlmResearch.d.ts.map +0 -1
  459. package/dist/infra/orchestrator/MultiLlmResearch.js +0 -160
  460. package/dist/infra/orchestrator/MultiLlmResearch.js.map +0 -1
  461. package/dist/infra/orchestrator/PhasePipeline.d.ts +0 -122
  462. package/dist/infra/orchestrator/PhasePipeline.d.ts.map +0 -1
  463. package/dist/infra/orchestrator/PhasePipeline.js +0 -385
  464. package/dist/infra/orchestrator/PhasePipeline.js.map +0 -1
  465. package/dist/infra/orchestrator/PhaseResultStore.d.ts +0 -39
  466. package/dist/infra/orchestrator/PhaseResultStore.d.ts.map +0 -1
  467. package/dist/infra/orchestrator/PhaseResultStore.js +0 -151
  468. package/dist/infra/orchestrator/PhaseResultStore.js.map +0 -1
  469. package/dist/infra/orchestrator/SessionStore.d.ts +0 -40
  470. package/dist/infra/orchestrator/SessionStore.d.ts.map +0 -1
  471. package/dist/infra/orchestrator/SessionStore.js +0 -116
  472. package/dist/infra/orchestrator/SessionStore.js.map +0 -1
  473. package/dist/infra/orchestrator/SmartRouter.d.ts +0 -90
  474. package/dist/infra/orchestrator/SmartRouter.d.ts.map +0 -1
  475. package/dist/infra/orchestrator/SmartRouter.js +0 -277
  476. package/dist/infra/orchestrator/SmartRouter.js.map +0 -1
  477. package/dist/infra/orchestrator/SmartRouter.test.d.ts +0 -5
  478. package/dist/infra/orchestrator/SmartRouter.test.d.ts.map +0 -1
  479. package/dist/infra/orchestrator/SmartRouter.test.js +0 -484
  480. package/dist/infra/orchestrator/SmartRouter.test.js.map +0 -1
  481. package/dist/infra/orchestrator/SwarmOrchestrator.d.ts +0 -143
  482. package/dist/infra/orchestrator/SwarmOrchestrator.d.ts.map +0 -1
  483. package/dist/infra/orchestrator/SwarmOrchestrator.js +0 -378
  484. package/dist/infra/orchestrator/SwarmOrchestrator.js.map +0 -1
  485. package/dist/infra/orchestrator/SwarmOrchestrator.test.d.ts +0 -5
  486. package/dist/infra/orchestrator/SwarmOrchestrator.test.d.ts.map +0 -1
  487. package/dist/infra/orchestrator/SwarmOrchestrator.test.js +0 -95
  488. package/dist/infra/orchestrator/SwarmOrchestrator.test.js.map +0 -1
  489. package/dist/infra/orchestrator/agentDiscovery.d.ts +0 -26
  490. package/dist/infra/orchestrator/agentDiscovery.d.ts.map +0 -1
  491. package/dist/infra/orchestrator/agentDiscovery.js +0 -175
  492. package/dist/infra/orchestrator/agentDiscovery.js.map +0 -1
  493. package/dist/infra/orchestrator/backgroundAgent.d.ts +0 -9
  494. package/dist/infra/orchestrator/backgroundAgent.d.ts.map +0 -1
  495. package/dist/infra/orchestrator/backgroundAgent.js +0 -10
  496. package/dist/infra/orchestrator/backgroundAgent.js.map +0 -1
  497. package/dist/infra/orchestrator/index.d.ts +0 -207
  498. package/dist/infra/orchestrator/index.d.ts.map +0 -1
  499. package/dist/infra/orchestrator/index.js +0 -362
  500. package/dist/infra/orchestrator/index.js.map +0 -1
  501. package/dist/infra/orchestrator/orchestrator.d.ts +0 -60
  502. package/dist/infra/orchestrator/orchestrator.d.ts.map +0 -1
  503. package/dist/infra/orchestrator/orchestrator.js +0 -214
  504. package/dist/infra/orchestrator/orchestrator.js.map +0 -1
  505. package/dist/infra/orchestrator/parallelResearch.d.ts +0 -27
  506. package/dist/infra/orchestrator/parallelResearch.d.ts.map +0 -1
  507. package/dist/infra/orchestrator/parallelResearch.js +0 -285
  508. package/dist/infra/orchestrator/parallelResearch.js.map +0 -1
  509. package/dist/infra/orchestrator/types.d.ts +0 -205
  510. package/dist/infra/orchestrator/types.d.ts.map +0 -1
  511. package/dist/infra/orchestrator/types.js +0 -87
  512. package/dist/infra/orchestrator/types.js.map +0 -1
  513. package/dist/infra/orchestrator/types.test.d.ts +0 -2
  514. package/dist/infra/orchestrator/types.test.d.ts.map +0 -1
  515. package/dist/infra/orchestrator/types.test.js +0 -57
  516. package/dist/infra/orchestrator/types.test.js.map +0 -1
  517. package/dist/tools/semantic/analyzeDependencyGraph.d.ts +0 -12
  518. package/dist/tools/semantic/analyzeDependencyGraph.d.ts.map +0 -1
  519. package/dist/tools/semantic/analyzeDependencyGraph.js +0 -359
  520. package/dist/tools/semantic/analyzeDependencyGraph.js.map +0 -1
  521. package/dist/tools/semantic/astGrep.d.ts +0 -25
  522. package/dist/tools/semantic/astGrep.d.ts.map +0 -1
  523. package/dist/tools/semantic/astGrep.js +0 -324
  524. package/dist/tools/semantic/astGrep.js.map +0 -1
  525. package/dist/tools/semantic/astGrep.test.d.ts +0 -2
  526. package/dist/tools/semantic/astGrep.test.d.ts.map +0 -1
  527. package/dist/tools/semantic/astGrep.test.js +0 -74
  528. package/dist/tools/semantic/astGrep.test.js.map +0 -1
  529. package/dist/tools/semantic/findReferences.d.ts +0 -9
  530. package/dist/tools/semantic/findReferences.d.ts.map +0 -1
  531. package/dist/tools/semantic/findReferences.js +0 -200
  532. package/dist/tools/semantic/findReferences.js.map +0 -1
  533. package/dist/tools/semantic/findSymbol.d.ts +0 -8
  534. package/dist/tools/semantic/findSymbol.d.ts.map +0 -1
  535. package/dist/tools/semantic/findSymbol.js +0 -204
  536. package/dist/tools/semantic/findSymbol.js.map +0 -1
  537. package/dist/tools/semantic/index.d.ts +0 -9
  538. package/dist/tools/semantic/index.d.ts.map +0 -1
  539. package/dist/tools/semantic/index.js +0 -11
  540. package/dist/tools/semantic/index.js.map +0 -1
  541. package/dist/tools/semantic/lsp.d.ts +0 -68
  542. package/dist/tools/semantic/lsp.d.ts.map +0 -1
  543. package/dist/tools/semantic/lsp.js +0 -561
  544. package/dist/tools/semantic/lsp.js.map +0 -1
  545. package/dist/tools/spec/e2eTestGenerator.d.ts +0 -61
  546. package/dist/tools/spec/e2eTestGenerator.d.ts.map +0 -1
  547. package/dist/tools/spec/e2eTestGenerator.js +0 -255
  548. package/dist/tools/spec/e2eTestGenerator.js.map +0 -1
  549. package/dist/tools/spec/specVersioning.d.ts +0 -76
  550. package/dist/tools/spec/specVersioning.d.ts.map +0 -1
  551. package/dist/tools/spec/specVersioning.js +0 -236
  552. package/dist/tools/spec/specVersioning.js.map +0 -1
  553. package/hooks/scripts/__tests__/keyword-detector.test.js +0 -242
  554. package/hooks/scripts/keyword-detector.js +0 -226
  555. package/skills/characterization-test/SKILL.md +0 -209
  556. package/skills/characterization-test/agents/behavior-capturer.md +0 -50
  557. package/skills/characterization-test/agents/coverage-checker.md +0 -54
  558. package/skills/characterization-test/agents/reporter.md +0 -50
  559. package/skills/characterization-test/agents/test-writer.md +0 -49
  560. package/skills/characterization-test/rubrics/coverage-criteria.md +0 -53
  561. package/skills/characterization-test/templates/test-template.ts +0 -101
  562. package/skills/claude-md-guide/SKILL.md +0 -353
  563. package/skills/claude-md-guide/rubrics/anti-patterns.md +0 -88
  564. package/skills/design-audit/SKILL.md +0 -154
  565. package/skills/design-critique/SKILL.md +0 -140
  566. package/skills/design-distill/SKILL.md +0 -131
  567. package/skills/design-normalize/SKILL.md +0 -135
  568. package/skills/design-polish/SKILL.md +0 -132
  569. package/skills/figma-convert/SKILL.md +0 -236
  570. package/skills/figma-extract/SKILL.md +0 -242
  571. package/skills/interview/SKILL.md +0 -358
  572. package/skills/interview/checklists/api.md +0 -101
  573. package/skills/interview/checklists/feature.md +0 -88
  574. package/skills/interview/checklists/library.md +0 -95
  575. package/skills/interview/checklists/mobile.md +0 -89
  576. package/skills/interview/checklists/webapp.md +0 -97
  577. package/skills/interview/checklists/website.md +0 -99
  578. package/skills/plan/SKILL.md +0 -254
  579. package/skills/rob-pike/SKILL.md +0 -66
  580. package/skills/spec/references/askuser-examples.md +0 -57
  581. package/skills/spec/references/example-session.md +0 -87
  582. package/skills/spec/references/templates.md +0 -194
  583. package/skills/spec-review/SKILL.md +0 -725
  584. package/skills/systematic-debugging/SKILL.md +0 -142
  585. package/skills/techdebt/SKILL.md +0 -126
  586. package/skills/techdebt/agents/analyzer.md +0 -50
  587. package/skills/techdebt/agents/fixer.md +0 -41
  588. package/skills/techdebt/agents/reviewer.md +0 -47
  589. package/skills/techdebt/agents/scanner.md +0 -44
  590. package/skills/techdebt/orchestrator.md +0 -72
  591. package/skills/techdebt/rubrics/severity.md +0 -51
  592. package/skills/techdebt/scripts/scan.js +0 -90
  593. package/skills/techdebt/templates/report.md +0 -86
  594. package/skills/typescript-advanced-types/SKILL.md +0 -68
  595. package/skills/typescript-advanced-types/rubrics/type-patterns.md +0 -109
  596. package/skills/yagni-ladder/SKILL.md +0 -90
  597. /package/skills/{claude-md-guide → agents-md}/templates/claude-md.md +0 -0
  598. /package/skills/{design-polish → design-refine}/rubrics/polish-checklist.md +0 -0
  599. /package/skills/{design-normalize → design-refine}/rubrics/token-naming.md +0 -0
  600. /package/skills/{design-distill → design-refine}/templates/design-system.md +0 -0
  601. /package/skills/{design-audit → design-review}/agents/scorer.md +0 -0
  602. /package/skills/{design-audit → design-review}/rubrics/ai-slop-patterns.md +0 -0
  603. /package/skills/{design-audit → design-review}/rubrics/scoring.md +0 -0
  604. /package/skills/{design-critique → design-review}/rubrics/ux-heuristics.md +0 -0
  605. /package/skills/{figma-convert → figma}/rubrics/conversion-rules.md +0 -0
  606. /package/skills/{figma-extract → figma}/rubrics/image-rules.md +0 -0
  607. /package/skills/{figma-convert → figma}/templates/component.md +0 -0
@@ -1,27 +0,0 @@
1
- /**
2
- * Parallel Research - 병렬 리서치 에이전트 실행
3
- */
4
- import { ParallelResearchArgs, ResearchTask } from './types.js';
5
- import { ToolResult } from '../types/tool.js';
6
- import { executeMultiLlmResearch, formatMultiLlmResults } from './MultiLlmResearch.js';
7
- export { executeMultiLlmResearch, formatMultiLlmResults };
8
- /**
9
- * 기본 리서치 태스크 템플릿
10
- */
11
- export declare function createResearchTasks(feature: string, techStack?: string[]): ResearchTask[];
12
- /**
13
- * 병렬 리서치 실행
14
- */
15
- export declare function parallelResearch(args: ParallelResearchArgs): Promise<ToolResult>;
16
- /**
17
- * 기능 기반 병렬 리서치 (간편 API)
18
- */
19
- export declare function researchFeature(feature: string, techStack?: string[], projectPath?: string): Promise<ToolResult>;
20
- /**
21
- * 통합 병렬 리서치 (Claude 에이전트 + Multi-LLM)
22
- */
23
- export declare function parallelResearchWithMultiLlm(args: ParallelResearchArgs & {
24
- feature: string;
25
- techStack: string[];
26
- }): Promise<ToolResult>;
27
- //# sourceMappingURL=parallelResearch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parallelResearch.d.ts","sourceRoot":"","sources":["../../../src/infra/orchestrator/parallelResearch.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,oBAAoB,EAEpB,YAAY,EAIb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAS9C,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EAEtB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,CAAC;AAE1D;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,MAAM,EAAO,GAAG,YAAY,EAAE,CAiD7F;AAgID;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,CAwDtF;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,MAAM,EAAO,EACxB,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,UAAU,CAAC,CAGrB;AAED;;GAEG;AACH,wBAAsB,4BAA4B,CAAC,IAAI,EAAE,oBAAoB,GAAG;IAC9E,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,GAAG,OAAO,CAAC,UAAU,CAAC,CAyDtB"}
@@ -1,285 +0,0 @@
1
- /**
2
- * Parallel Research - 병렬 리서치 에이전트 실행
3
- */
4
- import { getAgentSdkQuery, warnLog, debugLog } from '../lib/utils.js';
5
- import { TIMEOUTS, AGENT } from '../lib/constants.js';
6
- import { getModelOverride } from '../lib/config/GlobalConfigManager.js';
7
- import { isCodexAvailable } from '../lib/llm-availability.js';
8
- import { CostAccumulator } from '../lib/CostAccumulator.js';
9
- import { runCodexAgentOnce } from './CodexAgentRuntime.js';
10
- // Multi-LLM Research (분리된 모듈)
11
- import { executeMultiLlmResearch, formatMultiLlmResults, countPlannedMultiLlmCalls } from './MultiLlmResearch.js';
12
- // Re-export for backward compatibility
13
- export { executeMultiLlmResearch, formatMultiLlmResults };
14
- /**
15
- * 기본 리서치 태스크 템플릿
16
- */
17
- export function createResearchTasks(feature, techStack = []) {
18
- const stackStr = techStack.length > 0 ? techStack.join(', ') : 'the project';
19
- return [
20
- {
21
- name: 'best-practices',
22
- category: 'best-practices',
23
- prompt: `Research best practices for implementing "${feature}" with ${stackStr}. Focus on:
24
- 1. Industry-standard patterns
25
- 2. Common pitfalls to avoid
26
- 3. Recommended libraries/tools
27
- 4. Testing strategies
28
-
29
- Provide actionable recommendations.`
30
- },
31
- {
32
- name: 'framework-docs',
33
- category: 'framework-docs',
34
- prompt: `Find the latest documentation for ${stackStr} related to "${feature}". Include:
35
- 1. Official API references
36
- 2. Configuration options
37
- 3. Migration guides if applicable
38
- 4. Code examples from official docs
39
-
40
- Use context7 MCP if available for up-to-date documentation.`
41
- },
42
- {
43
- name: 'codebase-patterns',
44
- category: 'codebase-patterns',
45
- prompt: `Analyze the current codebase for patterns related to "${feature}". Look for:
46
- 1. Similar existing implementations
47
- 2. Established conventions
48
- 3. Reusable utilities
49
- 4. Potential conflicts or dependencies
50
-
51
- Use Glob and Grep to search the codebase.`
52
- },
53
- {
54
- name: 'security-advisory',
55
- category: 'security-advisory',
56
- prompt: `Review security considerations for "${feature}" with ${stackStr}. Check:
57
- 1. OWASP Top 10 relevance
58
- 2. Authentication/authorization requirements
59
- 3. Data validation needs
60
- 4. Known vulnerabilities in dependencies
61
-
62
- Provide security recommendations.`
63
- }
64
- ];
65
- }
66
- /**
67
- * 에이전트 파일 로드
68
- */
69
- async function loadAgentFile(agentName, projectPath) {
70
- const { promises: fs } = await import('fs');
71
- const path = await import('path');
72
- const possiblePaths = [
73
- path.join(projectPath, '.claude', 'agents', 'research', `${agentName}.md`),
74
- path.join(projectPath, 'agents', 'research', `${agentName}.md`),
75
- path.join(process.cwd(), 'agents', 'research', `${agentName}.md`)
76
- ];
77
- for (const filePath of possiblePaths) {
78
- try {
79
- return await fs.readFile(filePath, 'utf-8');
80
- }
81
- catch { /* try next path */ }
82
- }
83
- return null;
84
- }
85
- /**
86
- * 단일 리서치 태스크 실행
87
- */
88
- async function executeResearchTask(task, projectPath, timeout) {
89
- const startTime = Date.now();
90
- const query = await getAgentSdkQuery();
91
- if (!query) {
92
- if (isCodexAvailable()) {
93
- return runCodexAgentOnce({
94
- prompt: task.prompt,
95
- agentName: task.name,
96
- projectPath,
97
- maxTurns: 3,
98
- allowedTools: ['Read', 'Glob', 'Grep', 'WebFetch', 'WebSearch'],
99
- });
100
- }
101
- return {
102
- agentName: task.name,
103
- sessionId: `simulated-${Date.now()}`,
104
- result: `[Agent SDK not installed] Task "${task.name}" would execute: ${task.prompt.slice(0, 100)}...`,
105
- success: true,
106
- duration: Date.now() - startTime
107
- };
108
- }
109
- try {
110
- let sessionId = '';
111
- let result = '';
112
- const agentContent = await loadAgentFile(task.name, projectPath);
113
- // timeout 시 SDK query stream/process 를 실제로 종료한다 (B-3 잔여).
114
- // 이전에는 Promise.race 로 로컬만 빠져나오고 query 는 백그라운드에서 계속 돌았다.
115
- const abortController = new AbortController();
116
- const response = query({
117
- prompt: task.prompt,
118
- options: {
119
- model: getModelOverride('claudeResearch') ?? process.env.CLAUDE_RESEARCH_MODEL,
120
- maxTurns: 3,
121
- allowedTools: ['Read', 'Glob', 'Grep', 'WebFetch', 'WebSearch'],
122
- cwd: projectPath,
123
- systemPrompt: agentContent || undefined,
124
- abortController
125
- }
126
- });
127
- let timeoutTimer;
128
- const timeoutPromise = new Promise((_, reject) => {
129
- timeoutTimer = setTimeout(() => {
130
- abortController.abort();
131
- reject(new Error('Research task timeout'));
132
- }, timeout);
133
- });
134
- const collectResult = async () => {
135
- for await (const message of response) {
136
- const msg = message;
137
- if (msg.type === 'system' && msg.subtype === 'init' && msg.session_id) {
138
- sessionId = msg.session_id;
139
- }
140
- if (msg.type === 'result' && msg.result) {
141
- result = msg.result;
142
- }
143
- if (msg.type === 'assistant' && msg.message?.content) {
144
- const textContent = msg.message.content
145
- .filter(block => block.type === 'text' && block.text)
146
- .map(block => block.text)
147
- .join('\n');
148
- if (textContent)
149
- result += textContent;
150
- }
151
- }
152
- };
153
- try {
154
- await Promise.race([collectResult(), timeoutPromise]);
155
- }
156
- finally {
157
- if (timeoutTimer)
158
- clearTimeout(timeoutTimer);
159
- }
160
- return {
161
- agentName: task.name,
162
- sessionId,
163
- result: result || 'No result collected',
164
- success: true,
165
- duration: Date.now() - startTime
166
- };
167
- }
168
- catch (error) {
169
- return {
170
- agentName: task.name,
171
- sessionId: '',
172
- result: '',
173
- success: false,
174
- error: error instanceof Error ? error.message : String(error),
175
- duration: Date.now() - startTime
176
- };
177
- }
178
- }
179
- /**
180
- * 병렬 리서치 실행
181
- */
182
- export async function parallelResearch(args) {
183
- const { tasks, projectPath = process.cwd(), maxConcurrency = AGENT.MAX_CONCURRENCY, timeout = TIMEOUTS.RESEARCH } = args;
184
- const startTime = Date.now();
185
- const results = [];
186
- try {
187
- const chunks = [];
188
- for (let i = 0; i < tasks.length; i += maxConcurrency) {
189
- chunks.push(tasks.slice(i, i + maxConcurrency));
190
- }
191
- for (const chunk of chunks) {
192
- const chunkResults = await Promise.all(chunk.map(task => executeResearchTask(task, projectPath, timeout)));
193
- results.push(...chunkResults);
194
- }
195
- const totalDuration = Date.now() - startTime;
196
- const successCount = results.filter(r => r.success).length;
197
- const failureCount = results.length - successCount;
198
- let summary = `## Parallel Research Results\n\n`;
199
- summary += `**Duration**: ${(totalDuration / 1000).toFixed(1)}s\n`;
200
- summary += `**Success**: ${successCount}/${results.length}\n\n`;
201
- for (const result of results) {
202
- const status = result.success ? '✅' : '❌';
203
- summary += `### ${status} ${result.agentName}\n`;
204
- summary += `Duration: ${(result.duration / 1000).toFixed(1)}s\n`;
205
- if (result.success) {
206
- summary += `\n${result.result}\n`;
207
- }
208
- else {
209
- summary += `Error: ${result.error}\n`;
210
- }
211
- summary += '\n---\n\n';
212
- }
213
- return {
214
- content: [{ type: 'text', text: summary }],
215
- results, totalDuration, successCount, failureCount
216
- };
217
- }
218
- catch (error) {
219
- return {
220
- content: [{
221
- type: 'text',
222
- text: `Parallel research failed: ${error instanceof Error ? error.message : String(error)}`
223
- }]
224
- };
225
- }
226
- }
227
- /**
228
- * 기능 기반 병렬 리서치 (간편 API)
229
- */
230
- export async function researchFeature(feature, techStack = [], projectPath = process.cwd()) {
231
- const tasks = createResearchTasks(feature, techStack);
232
- return parallelResearch({ tasks, projectPath });
233
- }
234
- /**
235
- * 통합 병렬 리서치 (Claude 에이전트 + Multi-LLM)
236
- */
237
- export async function parallelResearchWithMultiLlm(args) {
238
- const { feature, techStack, ...researchArgs } = args;
239
- const startTime = Date.now();
240
- // ── Preflight (B-7): fan-out 규모를 먼저 보여주고, 예산 초과 시 직접 Multi-LLM 호출은 차단 ──
241
- const projectPath = researchArgs.projectPath ?? process.cwd();
242
- const concurrency = researchArgs.maxConcurrency ?? AGENT.MAX_CONCURRENCY;
243
- const claudeCount = researchArgs.tasks.length;
244
- const plannedMultiLlm = countPlannedMultiLlmCalls();
245
- const budget = CostAccumulator.checkBudget(projectPath);
246
- // 예산이 blocking 수준이면 비싼 직접 Multi-LLM fan-out 을 건너뛰고 Claude 에이전트만 실행한다.
247
- const runMultiLlm = budget.allowed && plannedMultiLlm > 0;
248
- debugLog(`[Research] Preflight: Claude agents=${claudeCount} (concurrency ${concurrency}), ` +
249
- `Multi-LLM direct calls=${plannedMultiLlm}` +
250
- (budget.budget > 0 ? `, budget ${budget.usagePercent.toFixed(0)}% (${budget.level})` : ''));
251
- if (plannedMultiLlm > 0 && !runMultiLlm) {
252
- warnLog(`[Research] Multi-LLM fan-out skipped — budget ${budget.level} ` +
253
- `($${budget.currentSpend.toFixed(2)}/$${budget.budget}). Running Claude agents only.`);
254
- }
255
- const [claudeResult, multiLlmResults] = await Promise.all([
256
- parallelResearch(researchArgs),
257
- runMultiLlm
258
- ? executeMultiLlmResearch(feature, techStack).catch(e => {
259
- warnLog('[Multi-LLM] Research failed:', e);
260
- return [];
261
- })
262
- : Promise.resolve([])
263
- ]);
264
- const totalDuration = Date.now() - startTime;
265
- const multiLlmSuccess = multiLlmResults.filter(r => r.success).length;
266
- const multiLlmFailure = multiLlmResults.length - multiLlmSuccess;
267
- let combinedText = claudeResult.content[0].text;
268
- if (multiLlmResults.length > 0) {
269
- combinedText += formatMultiLlmResults(multiLlmResults);
270
- }
271
- return {
272
- content: [{ type: 'text', text: combinedText }],
273
- results: claudeResult.results || [],
274
- totalDuration,
275
- successCount: (claudeResult.successCount || 0) + multiLlmSuccess,
276
- failureCount: (claudeResult.failureCount || 0) + multiLlmFailure,
277
- multiLlm: {
278
- results: multiLlmResults,
279
- totalDuration: multiLlmResults.reduce((sum, r) => sum + r.duration, 0),
280
- successCount: multiLlmSuccess,
281
- failureCount: multiLlmFailure
282
- }
283
- };
284
- }
285
- //# sourceMappingURL=parallelResearch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parallelResearch.js","sourceRoot":"","sources":["../../../src/infra/orchestrator/parallelResearch.ts"],"names":[],"mappings":"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"}
@@ -1,205 +0,0 @@
1
- /**
2
- * Orchestrator Types - Agent SDK 기반 오케스트레이션 타입 정의
3
- */
4
- import { ToolResult } from '../types/tool.js';
5
- export type ClaudeModel = 'claude-opus-4-8' | 'claude-sonnet-5' | 'claude-haiku-4-5-20251001' | 'opus' | 'sonnet' | 'haiku' | 'inherit' | string;
6
- export interface AgentConfig {
7
- name: string;
8
- description: string;
9
- prompt: string;
10
- model?: ClaudeModel;
11
- maxTurns?: number;
12
- allowedTools?: string[];
13
- systemPrompt?: string;
14
- }
15
- export interface AgentResult {
16
- agentName: string;
17
- sessionId: string;
18
- result: string;
19
- success: boolean;
20
- error?: string;
21
- duration: number;
22
- }
23
- export interface ResearchTask {
24
- name: string;
25
- prompt: string;
26
- category: 'best-practices' | 'framework-docs' | 'codebase-patterns' | 'security-advisory' | 'custom';
27
- }
28
- export interface ParallelResearchArgs {
29
- tasks: ResearchTask[];
30
- projectPath?: string;
31
- maxConcurrency?: number;
32
- timeout?: number;
33
- }
34
- export interface ParallelResearchResult {
35
- results: AgentResult[];
36
- totalDuration: number;
37
- successCount: number;
38
- failureCount: number;
39
- /** Multi-LLM 리서치 결과 */
40
- multiLlm?: MultiLlmResearchResult;
41
- }
42
- /** Multi-LLM 단일 결과 */
43
- export interface MultiLlmResult {
44
- provider: 'gpt' | 'antigravity';
45
- category: 'best-practices' | 'security';
46
- result: string;
47
- success: boolean;
48
- error?: string;
49
- duration: number;
50
- }
51
- /** Multi-LLM 리서치 전체 결과 */
52
- export interface MultiLlmResearchResult {
53
- results: MultiLlmResult[];
54
- totalDuration: number;
55
- successCount: number;
56
- failureCount: number;
57
- }
58
- export interface BackgroundAgentArgs {
59
- prompt: string;
60
- agentName?: string;
61
- model?: ClaudeModel;
62
- maxTurns?: number;
63
- allowedTools?: string[];
64
- projectPath?: string;
65
- onProgress?: (message: string) => void;
66
- }
67
- export interface BackgroundAgentHandle {
68
- sessionId: string;
69
- agentName: string;
70
- status: 'running' | 'completed' | 'failed' | 'cancelled';
71
- startTime: number;
72
- getResult: () => Promise<AgentResult>;
73
- cancel: () => void;
74
- }
75
- export interface DiscoveredAgent {
76
- name: string;
77
- path: string;
78
- category: string;
79
- description: string;
80
- content: string;
81
- }
82
- export interface AgentDiscoveryArgs {
83
- projectPath?: string;
84
- category?: string;
85
- pattern?: string;
86
- }
87
- export interface SessionInfo {
88
- sessionId: string;
89
- agentName: string;
90
- status: 'active' | 'completed' | 'failed';
91
- startTime: number;
92
- endTime?: number;
93
- prompt: string;
94
- }
95
- export interface SessionStore {
96
- sessions: Map<string, SessionInfo>;
97
- add: (session: SessionInfo) => void;
98
- get: (sessionId: string) => SessionInfo | undefined;
99
- list: () => SessionInfo[];
100
- cleanup: (maxAge: number) => void;
101
- }
102
- export interface OrchestratorOptions {
103
- projectPath?: string;
104
- verbose?: boolean;
105
- saveResults?: boolean;
106
- resultsPath?: string;
107
- }
108
- export interface AgentMessage {
109
- type: 'system' | 'assistant' | 'user' | 'result';
110
- subtype?: 'init' | 'progress' | 'tool_use' | 'tool_result';
111
- session_id?: string;
112
- content?: string;
113
- result?: string;
114
- message?: {
115
- content: Array<{
116
- type: string;
117
- text?: string;
118
- }>;
119
- };
120
- }
121
- export interface OrchestratorToolResult extends ToolResult {
122
- metadata?: {
123
- sessionId?: string;
124
- duration?: number;
125
- agentName?: string;
126
- };
127
- }
128
- /** 작업 유형 - LLM 선택에 사용 */
129
- export type TaskType = 'architecture' | 'debugging' | 'uiux' | 'code-analysis' | 'code-gen' | 'web-search' | 'general' | 'code-review' | 'reasoning';
130
- /** LLM 제공자 */
131
- export type LLMProvider = 'gpt' | 'antigravity' | 'zai' | 'claude';
132
- /** 스마트 라우팅 요청 */
133
- export interface SmartRouteRequest {
134
- type: TaskType;
135
- prompt: string;
136
- systemPrompt?: string;
137
- /** 특정 LLM 강제 지정 (fallback은 여전히 동작) */
138
- preferredLlm?: LLMProvider;
139
- /** 재시도 횟수 (기본: 2) */
140
- maxRetries?: number;
141
- }
142
- /** 스마트 라우팅 결과 */
143
- export interface SmartRouteResult {
144
- content: string;
145
- provider: LLMProvider;
146
- success: boolean;
147
- /** fallback 발생 여부 */
148
- usedFallback: boolean;
149
- /** 시도한 LLM 목록 */
150
- attemptedProviders: LLMProvider[];
151
- /** 각 LLM의 에러 (있는 경우) */
152
- errors?: Record<LLMProvider, string>;
153
- duration: number;
154
- }
155
- /** LLM 가용성 캐시 */
156
- export interface LLMAvailabilityCache {
157
- gpt: {
158
- available: boolean;
159
- checkedAt: number;
160
- errorCount: number;
161
- };
162
- antigravity: {
163
- available: boolean;
164
- checkedAt: number;
165
- errorCount: number;
166
- };
167
- zai: {
168
- available: boolean;
169
- checkedAt: number;
170
- errorCount: number;
171
- };
172
- }
173
- /**
174
- * 작업 유형 목록 (런타임 SSOT — TaskType 유니온의 값 표현)
175
- */
176
- export declare const TASK_TYPES: TaskType[];
177
- /** LLM 가용성 입력 — provider 별 boolean (미지정은 비가용으로 취급) */
178
- export interface LlmAvailabilityInput {
179
- codex?: boolean;
180
- antigravity?: boolean;
181
- zai?: boolean;
182
- }
183
- /**
184
- * 순수 LLM 우선순위 정책 — 가용성만 입력받아 provider 체인을 계산한다(I/O 없음).
185
- * Claude 는 항상 최후 fallback.
186
- */
187
- export declare function computeLlmPriority(type: TaskType, availability: LlmAvailabilityInput): LLMProvider[];
188
- /**
189
- * 작업 유형별 LLM 우선순위 (모든 provider 가용 시의 이상적 순서).
190
- * computeLlmPriority 에서 파생 — getTaskLlmPriority(런타임) 와 절대 어긋나지 않는다.
191
- */
192
- export declare const TASK_LLM_PRIORITY: Record<TaskType, LLMProvider[]>;
193
- /**
194
- * 작업 유형별 기본 system prompt (SSOT)
195
- * — SmartRouter 편의 메서드와 index.ts smart* 래퍼가 공유한다.
196
- * (이전에는 두 계층에 같은 문자열이 각각 하드코딩되어 있었다)
197
- */
198
- export declare const TASK_SYSTEM_PROMPTS: Record<TaskType, string>;
199
- /**
200
- * 동적 LLM 우선순위 — 런타임 Codex/Antigravity 가용성에 맞춰 computeLlmPriority 를 적용.
201
- *
202
- * 기본: Claude만 사용 · +Codex: 추론/코딩/리뷰에 GPT 추가 · +Antigravity: 리서치/리뷰/UI에 추가
203
- */
204
- export declare function getTaskLlmPriority(type: TaskType): LLMProvider[];
205
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/infra/orchestrator/types.ts"],"names":[],"mappings":"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"}
@@ -1,87 +0,0 @@
1
- /**
2
- * Orchestrator Types - Agent SDK 기반 오케스트레이션 타입 정의
3
- */
4
- import { detectLlmAvailability } from '../lib/llm-availability.js';
5
- /**
6
- * 작업 유형 목록 (런타임 SSOT — TaskType 유니온의 값 표현)
7
- */
8
- export const TASK_TYPES = [
9
- 'architecture', 'debugging', 'uiux', 'code-analysis', 'code-gen',
10
- 'web-search', 'general', 'code-review', 'reasoning',
11
- ];
12
- // ─── LLM 라우팅 정책 (단일 SSOT) ───
13
- // 아래 그룹 + computeLlmPriority 가 provider 우선순위의 유일 소스다.
14
- // 정적 맵(TASK_LLM_PRIORITY)과 동적 함수(getTaskLlmPriority) 둘 다 여기서 파생하므로
15
- // 구조적으로 어긋날 수 없다. (이전에는 두 정의가 서로 다른 정책을 인코딩해 드리프트했다)
16
- /** Codex(GPT) 를 우선 붙이는 작업 유형 */
17
- const GPT_TASK_TYPES = [
18
- 'architecture', 'reasoning', 'code-analysis', 'code-gen', 'debugging', 'code-review',
19
- ];
20
- /** Antigravity 를 최우선(맨 앞)으로 두는 작업 유형 */
21
- const ANTIGRAVITY_FIRST_TASK_TYPES = ['web-search', 'uiux'];
22
- /** Antigravity 를 교차검증용(GPT 뒤)으로 붙이는 작업 유형 */
23
- const ANTIGRAVITY_CROSSCHECK_TASK_TYPES = ['code-review', 'architecture', 'reasoning'];
24
- /**
25
- * ZAI(GLM 최고 모델)가 최우선으로 담당하는 UI 작업 유형.
26
- * "zai 사용 가능 시 모든 UI 개발은 GLM 최고 모델이 담당" 정책.
27
- */
28
- const ZAI_UI_TASK_TYPES = ['uiux'];
29
- /**
30
- * 순수 LLM 우선순위 정책 — 가용성만 입력받아 provider 체인을 계산한다(I/O 없음).
31
- * Claude 는 항상 최후 fallback.
32
- */
33
- export function computeLlmPriority(type, availability) {
34
- const { codex, antigravity, zai } = availability;
35
- if (!codex && !antigravity && !zai)
36
- return ['claude'];
37
- const priority = [];
38
- // ZAI(GLM)가 가용하면 UI 작업을 최우선으로 담당
39
- if (zai && ZAI_UI_TASK_TYPES.includes(type))
40
- priority.push('zai');
41
- if (codex && GPT_TASK_TYPES.includes(type))
42
- priority.push('gpt');
43
- if (antigravity) {
44
- if (ANTIGRAVITY_FIRST_TASK_TYPES.includes(type)) {
45
- // zai 가 이미 선두면 그 뒤로, 아니면 맨 앞으로
46
- if (priority[0] === 'zai')
47
- priority.push('antigravity');
48
- else
49
- priority.unshift('antigravity');
50
- }
51
- else if (ANTIGRAVITY_CROSSCHECK_TASK_TYPES.includes(type)) {
52
- priority.push('antigravity');
53
- }
54
- }
55
- priority.push('claude');
56
- return priority;
57
- }
58
- /**
59
- * 작업 유형별 LLM 우선순위 (모든 provider 가용 시의 이상적 순서).
60
- * computeLlmPriority 에서 파생 — getTaskLlmPriority(런타임) 와 절대 어긋나지 않는다.
61
- */
62
- export const TASK_LLM_PRIORITY = Object.fromEntries(TASK_TYPES.map((t) => [t, computeLlmPriority(t, { codex: true, antigravity: true, zai: true })]));
63
- /**
64
- * 작업 유형별 기본 system prompt (SSOT)
65
- * — SmartRouter 편의 메서드와 index.ts smart* 래퍼가 공유한다.
66
- * (이전에는 두 계층에 같은 문자열이 각각 하드코딩되어 있었다)
67
- */
68
- export const TASK_SYSTEM_PROMPTS = {
69
- 'architecture': 'You are a software architect. Analyze and review the architecture.',
70
- 'debugging': 'You are a debugging expert. Find bugs and suggest fixes.',
71
- 'uiux': 'You are a UI/UX expert. Analyze and provide feedback.',
72
- 'code-analysis': 'You are a code analysis expert. Review and analyze the code.',
73
- 'code-gen': 'Generate clean, well-documented code.',
74
- 'web-search': 'Search the web and provide relevant information.',
75
- 'general': 'You are a helpful assistant.',
76
- 'code-review': 'You are a code review expert. Review the code for bugs, style, and best practices.',
77
- 'reasoning': 'You are a reasoning expert. Analyze the problem step by step.',
78
- };
79
- /**
80
- * 동적 LLM 우선순위 — 런타임 Codex/Antigravity 가용성에 맞춰 computeLlmPriority 를 적용.
81
- *
82
- * 기본: Claude만 사용 · +Codex: 추론/코딩/리뷰에 GPT 추가 · +Antigravity: 리서치/리뷰/UI에 추가
83
- */
84
- export function getTaskLlmPriority(type) {
85
- return computeLlmPriority(type, detectLlmAvailability());
86
- }
87
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/infra/orchestrator/types.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.test.d.ts","sourceRoot":"","sources":["../../../src/infra/orchestrator/types.test.ts"],"names":[],"mappings":""}