@ai-coders/context 0.5.2 → 0.6.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 (325) hide show
  1. package/README.md +244 -12
  2. package/dist/generators/agents/agentGenerator.d.ts +3 -0
  3. package/dist/generators/agents/agentGenerator.d.ts.map +1 -1
  4. package/dist/generators/agents/agentGenerator.js +13 -7
  5. package/dist/generators/agents/agentGenerator.js.map +1 -1
  6. package/dist/generators/agents/templates/playbookTemplate.d.ts.map +1 -1
  7. package/dist/generators/agents/templates/playbookTemplate.js +3 -1
  8. package/dist/generators/agents/templates/playbookTemplate.js.map +1 -1
  9. package/dist/generators/documentation/codebaseMapGenerator.d.ts +98 -0
  10. package/dist/generators/documentation/codebaseMapGenerator.d.ts.map +1 -0
  11. package/dist/generators/documentation/codebaseMapGenerator.js +247 -0
  12. package/dist/generators/documentation/codebaseMapGenerator.js.map +1 -0
  13. package/dist/generators/documentation/documentationGenerator.d.ts +2 -0
  14. package/dist/generators/documentation/documentationGenerator.d.ts.map +1 -1
  15. package/dist/generators/documentation/documentationGenerator.js +20 -1
  16. package/dist/generators/documentation/documentationGenerator.js.map +1 -1
  17. package/dist/generators/documentation/index.d.ts +2 -0
  18. package/dist/generators/documentation/index.d.ts.map +1 -1
  19. package/dist/generators/documentation/index.js +3 -1
  20. package/dist/generators/documentation/index.js.map +1 -1
  21. package/dist/generators/documentation/templates/architectureTemplate.d.ts.map +1 -1
  22. package/dist/generators/documentation/templates/architectureTemplate.js +2 -31
  23. package/dist/generators/documentation/templates/architectureTemplate.js.map +1 -1
  24. package/dist/generators/documentation/templates/common.d.ts +4 -1
  25. package/dist/generators/documentation/templates/common.d.ts.map +1 -1
  26. package/dist/generators/documentation/templates/common.js +4 -2
  27. package/dist/generators/documentation/templates/common.js.map +1 -1
  28. package/dist/generators/plans/templates/planTemplate.d.ts.map +1 -1
  29. package/dist/generators/plans/templates/planTemplate.js +46 -2
  30. package/dist/generators/plans/templates/planTemplate.js.map +1 -1
  31. package/dist/generators/skills/index.d.ts +7 -0
  32. package/dist/generators/skills/index.d.ts.map +1 -0
  33. package/dist/generators/skills/index.js +15 -0
  34. package/dist/generators/skills/index.js.map +1 -0
  35. package/dist/generators/skills/skillGenerator.d.ts +53 -0
  36. package/dist/generators/skills/skillGenerator.d.ts.map +1 -0
  37. package/dist/generators/skills/skillGenerator.js +149 -0
  38. package/dist/generators/skills/skillGenerator.js.map +1 -0
  39. package/dist/generators/skills/templates/indexTemplate.d.ts +13 -0
  40. package/dist/generators/skills/templates/indexTemplate.d.ts.map +1 -0
  41. package/dist/generators/skills/templates/indexTemplate.js +102 -0
  42. package/dist/generators/skills/templates/indexTemplate.js.map +1 -0
  43. package/dist/generators/skills/templates/skillTemplate.d.ts +20 -0
  44. package/dist/generators/skills/templates/skillTemplate.d.ts.map +1 -0
  45. package/dist/generators/skills/templates/skillTemplate.js +85 -0
  46. package/dist/generators/skills/templates/skillTemplate.js.map +1 -0
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +1315 -43
  49. package/dist/index.js.map +1 -1
  50. package/dist/services/ai/agentEvents.d.ts +1 -1
  51. package/dist/services/ai/agentEvents.d.ts.map +1 -1
  52. package/dist/services/ai/agents/index.d.ts +2 -0
  53. package/dist/services/ai/agents/index.d.ts.map +1 -1
  54. package/dist/services/ai/agents/index.js +3 -1
  55. package/dist/services/ai/agents/index.js.map +1 -1
  56. package/dist/services/ai/agents/skillAgent.d.ts +49 -0
  57. package/dist/services/ai/agents/skillAgent.d.ts.map +1 -0
  58. package/dist/services/ai/agents/skillAgent.js +179 -0
  59. package/dist/services/ai/agents/skillAgent.js.map +1 -0
  60. package/dist/services/ai/prompts/index.d.ts +1 -1
  61. package/dist/services/ai/prompts/index.d.ts.map +1 -1
  62. package/dist/services/ai/prompts/index.js +2 -1
  63. package/dist/services/ai/prompts/index.js.map +1 -1
  64. package/dist/services/ai/prompts/sharedPrompts.d.ts +4 -0
  65. package/dist/services/ai/prompts/sharedPrompts.d.ts.map +1 -1
  66. package/dist/services/ai/prompts/sharedPrompts.js +33 -0
  67. package/dist/services/ai/prompts/sharedPrompts.js.map +1 -1
  68. package/dist/services/ai/schemas.d.ts +96 -1
  69. package/dist/services/ai/schemas.d.ts.map +1 -1
  70. package/dist/services/ai/schemas.js +56 -2
  71. package/dist/services/ai/schemas.js.map +1 -1
  72. package/dist/services/ai/toolRegistry.d.ts.map +1 -1
  73. package/dist/services/ai/toolRegistry.js +17 -0
  74. package/dist/services/ai/toolRegistry.js.map +1 -1
  75. package/dist/services/ai/tools/fillScaffoldingTool.d.ts +4 -4
  76. package/dist/services/ai/tools/getCodebaseMapTool.d.ts +17 -0
  77. package/dist/services/ai/tools/getCodebaseMapTool.d.ts.map +1 -0
  78. package/dist/services/ai/tools/getCodebaseMapTool.js +115 -0
  79. package/dist/services/ai/tools/getCodebaseMapTool.js.map +1 -0
  80. package/dist/services/ai/tools/index.d.ts +2 -1
  81. package/dist/services/ai/tools/index.d.ts.map +1 -1
  82. package/dist/services/ai/tools/index.js +8 -3
  83. package/dist/services/ai/tools/index.js.map +1 -1
  84. package/dist/services/ai/tools/initializeContextTool.d.ts +9 -1
  85. package/dist/services/ai/tools/initializeContextTool.d.ts.map +1 -1
  86. package/dist/services/ai/tools/initializeContextTool.js +33 -3
  87. package/dist/services/ai/tools/initializeContextTool.js.map +1 -1
  88. package/dist/services/ai/tools/scaffoldPlanTool.d.ts +6 -0
  89. package/dist/services/ai/tools/scaffoldPlanTool.d.ts.map +1 -1
  90. package/dist/services/ai/tools/scaffoldPlanTool.js +16 -3
  91. package/dist/services/ai/tools/scaffoldPlanTool.js.map +1 -1
  92. package/dist/services/export/exportRulesService.d.ts +62 -0
  93. package/dist/services/export/exportRulesService.d.ts.map +1 -0
  94. package/dist/services/export/exportRulesService.js +242 -0
  95. package/dist/services/export/exportRulesService.js.map +1 -0
  96. package/dist/services/export/index.d.ts +5 -0
  97. package/dist/services/export/index.d.ts.map +1 -0
  98. package/dist/services/export/index.js +10 -0
  99. package/dist/services/export/index.js.map +1 -0
  100. package/dist/services/export/skillExportService.d.ts +64 -0
  101. package/dist/services/export/skillExportService.d.ts.map +1 -0
  102. package/dist/services/export/skillExportService.js +238 -0
  103. package/dist/services/export/skillExportService.js.map +1 -0
  104. package/dist/services/fill/skillFillService.d.ts +50 -0
  105. package/dist/services/fill/skillFillService.d.ts.map +1 -0
  106. package/dist/services/fill/skillFillService.js +254 -0
  107. package/dist/services/fill/skillFillService.js.map +1 -0
  108. package/dist/services/import/agentsDetector.d.ts +12 -0
  109. package/dist/services/import/agentsDetector.d.ts.map +1 -0
  110. package/dist/services/import/agentsDetector.js +183 -0
  111. package/dist/services/import/agentsDetector.js.map +1 -0
  112. package/dist/services/import/importAgentsService.d.ts +14 -0
  113. package/dist/services/import/importAgentsService.d.ts.map +1 -0
  114. package/dist/services/import/importAgentsService.js +195 -0
  115. package/dist/services/import/importAgentsService.js.map +1 -0
  116. package/dist/services/import/importRulesService.d.ts +17 -0
  117. package/dist/services/import/importRulesService.d.ts.map +1 -0
  118. package/dist/services/import/importRulesService.js +222 -0
  119. package/dist/services/import/importRulesService.js.map +1 -0
  120. package/dist/services/import/index.d.ts +7 -0
  121. package/dist/services/import/index.d.ts.map +1 -0
  122. package/dist/services/import/index.js +28 -0
  123. package/dist/services/import/index.js.map +1 -0
  124. package/dist/services/import/presets.d.ts +8 -0
  125. package/dist/services/import/presets.d.ts.map +1 -0
  126. package/dist/services/import/presets.js +176 -0
  127. package/dist/services/import/presets.js.map +1 -0
  128. package/dist/services/import/rulesDetector.d.ts +16 -0
  129. package/dist/services/import/rulesDetector.d.ts.map +1 -0
  130. package/dist/services/import/rulesDetector.js +278 -0
  131. package/dist/services/import/rulesDetector.js.map +1 -0
  132. package/dist/services/import/types.d.ts +72 -0
  133. package/dist/services/import/types.d.ts.map +1 -0
  134. package/dist/services/import/types.js +3 -0
  135. package/dist/services/import/types.js.map +1 -0
  136. package/dist/services/mcp/mcpServer.d.ts +24 -0
  137. package/dist/services/mcp/mcpServer.d.ts.map +1 -1
  138. package/dist/services/mcp/mcpServer.js +1451 -1
  139. package/dist/services/mcp/mcpServer.js.map +1 -1
  140. package/dist/services/quickSync/index.d.ts +3 -0
  141. package/dist/services/quickSync/index.d.ts.map +1 -0
  142. package/dist/services/quickSync/index.js +7 -0
  143. package/dist/services/quickSync/index.js.map +1 -0
  144. package/dist/services/quickSync/quickSyncService.d.ts +72 -0
  145. package/dist/services/quickSync/quickSyncService.d.ts.map +1 -0
  146. package/dist/services/quickSync/quickSyncService.js +268 -0
  147. package/dist/services/quickSync/quickSyncService.js.map +1 -0
  148. package/dist/services/report/index.d.ts +3 -0
  149. package/dist/services/report/index.d.ts.map +1 -0
  150. package/dist/services/report/index.js +6 -0
  151. package/dist/services/report/index.js.map +1 -0
  152. package/dist/services/report/reportService.d.ts +131 -0
  153. package/dist/services/report/reportService.d.ts.map +1 -0
  154. package/dist/services/report/reportService.js +372 -0
  155. package/dist/services/report/reportService.js.map +1 -0
  156. package/dist/services/semantic/contextBuilder.d.ts +8 -1
  157. package/dist/services/semantic/contextBuilder.d.ts.map +1 -1
  158. package/dist/services/semantic/contextBuilder.js +107 -20
  159. package/dist/services/semantic/contextBuilder.js.map +1 -1
  160. package/dist/services/shared/globPatterns.d.ts +48 -0
  161. package/dist/services/shared/globPatterns.d.ts.map +1 -0
  162. package/dist/services/shared/globPatterns.js +110 -0
  163. package/dist/services/shared/globPatterns.js.map +1 -0
  164. package/dist/services/shared/index.d.ts +10 -0
  165. package/dist/services/shared/index.d.ts.map +1 -0
  166. package/dist/services/shared/index.js +46 -0
  167. package/dist/services/shared/index.js.map +1 -0
  168. package/dist/services/shared/pathHelpers.d.ts +71 -0
  169. package/dist/services/shared/pathHelpers.d.ts.map +1 -0
  170. package/dist/services/shared/pathHelpers.js +162 -0
  171. package/dist/services/shared/pathHelpers.js.map +1 -0
  172. package/dist/services/shared/types.d.ts +74 -0
  173. package/dist/services/shared/types.d.ts.map +1 -0
  174. package/dist/services/shared/types.js +44 -0
  175. package/dist/services/shared/types.js.map +1 -0
  176. package/dist/services/shared/uiHelpers.d.ts +70 -0
  177. package/dist/services/shared/uiHelpers.d.ts.map +1 -0
  178. package/dist/services/shared/uiHelpers.js +131 -0
  179. package/dist/services/shared/uiHelpers.js.map +1 -0
  180. package/dist/services/stack/index.d.ts +6 -0
  181. package/dist/services/stack/index.d.ts.map +1 -0
  182. package/dist/services/stack/index.js +25 -0
  183. package/dist/services/stack/index.js.map +1 -0
  184. package/dist/services/stack/projectTypeClassifier.d.ts +59 -0
  185. package/dist/services/stack/projectTypeClassifier.d.ts.map +1 -0
  186. package/dist/services/stack/projectTypeClassifier.js +242 -0
  187. package/dist/services/stack/projectTypeClassifier.js.map +1 -0
  188. package/dist/services/stack/scaffoldFilter.d.ts +75 -0
  189. package/dist/services/stack/scaffoldFilter.d.ts.map +1 -0
  190. package/dist/services/stack/scaffoldFilter.js +222 -0
  191. package/dist/services/stack/scaffoldFilter.js.map +1 -0
  192. package/dist/services/stack/stackDetector.d.ts +43 -0
  193. package/dist/services/stack/stackDetector.d.ts.map +1 -0
  194. package/dist/services/stack/stackDetector.js +406 -0
  195. package/dist/services/stack/stackDetector.js.map +1 -0
  196. package/dist/services/start/index.d.ts +3 -0
  197. package/dist/services/start/index.d.ts.map +1 -0
  198. package/dist/services/start/index.js +6 -0
  199. package/dist/services/start/index.js.map +1 -0
  200. package/dist/services/start/startService.d.ts +64 -0
  201. package/dist/services/start/startService.d.ts.map +1 -0
  202. package/dist/services/start/startService.js +180 -0
  203. package/dist/services/start/startService.js.map +1 -0
  204. package/dist/services/sync/presets.d.ts.map +1 -1
  205. package/dist/services/sync/presets.js +16 -1
  206. package/dist/services/sync/presets.js.map +1 -1
  207. package/dist/services/sync/types.d.ts +1 -1
  208. package/dist/services/sync/types.d.ts.map +1 -1
  209. package/dist/services/workflow/autoAdvance.d.ts +38 -0
  210. package/dist/services/workflow/autoAdvance.d.ts.map +1 -0
  211. package/dist/services/workflow/autoAdvance.js +219 -0
  212. package/dist/services/workflow/autoAdvance.js.map +1 -0
  213. package/dist/services/workflow/index.d.ts +6 -0
  214. package/dist/services/workflow/index.d.ts.map +1 -0
  215. package/dist/services/workflow/index.js +11 -0
  216. package/dist/services/workflow/index.js.map +1 -0
  217. package/dist/services/workflow/workflowService.d.ts +98 -0
  218. package/dist/services/workflow/workflowService.d.ts.map +1 -0
  219. package/dist/services/workflow/workflowService.js +210 -0
  220. package/dist/services/workflow/workflowService.js.map +1 -0
  221. package/dist/utils/cliUI.d.ts +4 -0
  222. package/dist/utils/cliUI.d.ts.map +1 -1
  223. package/dist/utils/cliUI.js +31 -1
  224. package/dist/utils/cliUI.js.map +1 -1
  225. package/dist/utils/i18n.d.ts +202 -0
  226. package/dist/utils/i18n.d.ts.map +1 -1
  227. package/dist/utils/i18n.js +438 -2
  228. package/dist/utils/i18n.js.map +1 -1
  229. package/dist/utils/theme.d.ts +1 -0
  230. package/dist/utils/theme.d.ts.map +1 -1
  231. package/dist/utils/theme.js +1 -0
  232. package/dist/utils/theme.js.map +1 -1
  233. package/dist/workflow/agents/agentRegistry.d.ts +82 -0
  234. package/dist/workflow/agents/agentRegistry.d.ts.map +1 -0
  235. package/dist/workflow/agents/agentRegistry.js +205 -0
  236. package/dist/workflow/agents/agentRegistry.js.map +1 -0
  237. package/dist/workflow/agents/index.d.ts +7 -0
  238. package/dist/workflow/agents/index.d.ts.map +1 -0
  239. package/dist/workflow/agents/index.js +14 -0
  240. package/dist/workflow/agents/index.js.map +1 -0
  241. package/dist/workflow/collaboration.d.ts +110 -0
  242. package/dist/workflow/collaboration.d.ts.map +1 -0
  243. package/dist/workflow/collaboration.js +301 -0
  244. package/dist/workflow/collaboration.js.map +1 -0
  245. package/dist/workflow/index.d.ts +25 -0
  246. package/dist/workflow/index.d.ts.map +1 -0
  247. package/dist/workflow/index.js +124 -0
  248. package/dist/workflow/index.js.map +1 -0
  249. package/dist/workflow/orchestration/agentOrchestrator.d.ts +68 -0
  250. package/dist/workflow/orchestration/agentOrchestrator.d.ts.map +1 -0
  251. package/dist/workflow/orchestration/agentOrchestrator.js +280 -0
  252. package/dist/workflow/orchestration/agentOrchestrator.js.map +1 -0
  253. package/dist/workflow/orchestration/documentLinker.d.ts +100 -0
  254. package/dist/workflow/orchestration/documentLinker.d.ts.map +1 -0
  255. package/dist/workflow/orchestration/documentLinker.js +266 -0
  256. package/dist/workflow/orchestration/documentLinker.js.map +1 -0
  257. package/dist/workflow/orchestration/index.d.ts +9 -0
  258. package/dist/workflow/orchestration/index.d.ts.map +1 -0
  259. package/dist/workflow/orchestration/index.js +25 -0
  260. package/dist/workflow/orchestration/index.js.map +1 -0
  261. package/dist/workflow/orchestrator.d.ts +99 -0
  262. package/dist/workflow/orchestrator.d.ts.map +1 -0
  263. package/dist/workflow/orchestrator.js +217 -0
  264. package/dist/workflow/orchestrator.js.map +1 -0
  265. package/dist/workflow/phases.d.ts +64 -0
  266. package/dist/workflow/phases.d.ts.map +1 -0
  267. package/dist/workflow/phases.js +151 -0
  268. package/dist/workflow/phases.js.map +1 -0
  269. package/dist/workflow/plans/index.d.ts +8 -0
  270. package/dist/workflow/plans/index.d.ts.map +1 -0
  271. package/dist/workflow/plans/index.js +27 -0
  272. package/dist/workflow/plans/index.js.map +1 -0
  273. package/dist/workflow/plans/planLinker.d.ts +119 -0
  274. package/dist/workflow/plans/planLinker.d.ts.map +1 -0
  275. package/dist/workflow/plans/planLinker.js +499 -0
  276. package/dist/workflow/plans/planLinker.js.map +1 -0
  277. package/dist/workflow/plans/types.d.ts +167 -0
  278. package/dist/workflow/plans/types.d.ts.map +1 -0
  279. package/dist/workflow/plans/types.js +25 -0
  280. package/dist/workflow/plans/types.js.map +1 -0
  281. package/dist/workflow/prevcConfig.d.ts +27 -0
  282. package/dist/workflow/prevcConfig.d.ts.map +1 -0
  283. package/dist/workflow/prevcConfig.js +153 -0
  284. package/dist/workflow/prevcConfig.js.map +1 -0
  285. package/dist/workflow/roles.d.ts +44 -0
  286. package/dist/workflow/roles.d.ts.map +1 -0
  287. package/dist/workflow/roles.js +112 -0
  288. package/dist/workflow/roles.js.map +1 -0
  289. package/dist/workflow/scaling.d.ts +44 -0
  290. package/dist/workflow/scaling.d.ts.map +1 -0
  291. package/dist/workflow/scaling.js +224 -0
  292. package/dist/workflow/scaling.js.map +1 -0
  293. package/dist/workflow/skills/frontmatter.d.ts +23 -0
  294. package/dist/workflow/skills/frontmatter.d.ts.map +1 -0
  295. package/dist/workflow/skills/frontmatter.js +100 -0
  296. package/dist/workflow/skills/frontmatter.js.map +1 -0
  297. package/dist/workflow/skills/index.d.ts +10 -0
  298. package/dist/workflow/skills/index.d.ts.map +1 -0
  299. package/dist/workflow/skills/index.js +22 -0
  300. package/dist/workflow/skills/index.js.map +1 -0
  301. package/dist/workflow/skills/skillRegistry.d.ts +60 -0
  302. package/dist/workflow/skills/skillRegistry.d.ts.map +1 -0
  303. package/dist/workflow/skills/skillRegistry.js +257 -0
  304. package/dist/workflow/skills/skillRegistry.js.map +1 -0
  305. package/dist/workflow/skills/skillTemplates.d.ts +16 -0
  306. package/dist/workflow/skills/skillTemplates.d.ts.map +1 -0
  307. package/dist/workflow/skills/skillTemplates.js +610 -0
  308. package/dist/workflow/skills/skillTemplates.js.map +1 -0
  309. package/dist/workflow/skills/types.d.ts +72 -0
  310. package/dist/workflow/skills/types.d.ts.map +1 -0
  311. package/dist/workflow/skills/types.js +48 -0
  312. package/dist/workflow/skills/types.js.map +1 -0
  313. package/dist/workflow/status/statusManager.d.ts +84 -0
  314. package/dist/workflow/status/statusManager.d.ts.map +1 -0
  315. package/dist/workflow/status/statusManager.js +402 -0
  316. package/dist/workflow/status/statusManager.js.map +1 -0
  317. package/dist/workflow/status/templates.d.ts +40 -0
  318. package/dist/workflow/status/templates.d.ts.map +1 -0
  319. package/dist/workflow/status/templates.js +148 -0
  320. package/dist/workflow/status/templates.js.map +1 -0
  321. package/dist/workflow/types.d.ts +178 -0
  322. package/dist/workflow/types.d.ts.map +1 -0
  323. package/dist/workflow/types.js +25 -0
  324. package/dist/workflow/types.js.map +1 -0
  325. package/package.json +1 -1
@@ -0,0 +1,280 @@
1
+ "use strict";
2
+ /**
3
+ * Agent Orchestrator
4
+ *
5
+ * Maps PREVC workflow roles and phases to specialized agents,
6
+ * providing intelligent agent selection and sequencing.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.agentOrchestrator = exports.AgentOrchestrator = exports.ROLE_TO_AGENTS = exports.PHASE_TO_AGENTS = exports.AGENT_TYPES = void 0;
10
+ const roles_1 = require("../roles");
11
+ /**
12
+ * Available agent types from the existing system
13
+ */
14
+ exports.AGENT_TYPES = [
15
+ 'code-reviewer',
16
+ 'bug-fixer',
17
+ 'feature-developer',
18
+ 'refactoring-specialist',
19
+ 'test-writer',
20
+ 'documentation-writer',
21
+ 'performance-optimizer',
22
+ 'security-auditor',
23
+ 'backend-specialist',
24
+ 'frontend-specialist',
25
+ 'architect-specialist',
26
+ 'devops-specialist',
27
+ 'database-specialist',
28
+ 'mobile-specialist',
29
+ ];
30
+ /**
31
+ * Mapping from PREVC phases to relevant agent types
32
+ */
33
+ exports.PHASE_TO_AGENTS = {
34
+ P: ['architect-specialist', 'documentation-writer', 'frontend-specialist'],
35
+ R: ['architect-specialist', 'code-reviewer', 'security-auditor'],
36
+ E: [
37
+ 'feature-developer',
38
+ 'backend-specialist',
39
+ 'frontend-specialist',
40
+ 'database-specialist',
41
+ 'mobile-specialist',
42
+ 'bug-fixer',
43
+ ],
44
+ V: [
45
+ 'test-writer',
46
+ 'code-reviewer',
47
+ 'security-auditor',
48
+ 'performance-optimizer',
49
+ ],
50
+ C: ['documentation-writer', 'devops-specialist'],
51
+ };
52
+ /**
53
+ * Mapping from PREVC roles to agent types
54
+ */
55
+ exports.ROLE_TO_AGENTS = {
56
+ planner: ['architect-specialist', 'documentation-writer'],
57
+ designer: ['frontend-specialist'],
58
+ architect: ['architect-specialist', 'backend-specialist', 'database-specialist'],
59
+ developer: [
60
+ 'feature-developer',
61
+ 'bug-fixer',
62
+ 'backend-specialist',
63
+ 'frontend-specialist',
64
+ 'mobile-specialist',
65
+ 'database-specialist',
66
+ ],
67
+ qa: ['test-writer', 'security-auditor', 'performance-optimizer'],
68
+ reviewer: ['code-reviewer', 'security-auditor'],
69
+ documenter: ['documentation-writer'],
70
+ 'solo-dev': [
71
+ 'refactoring-specialist',
72
+ 'bug-fixer',
73
+ 'feature-developer',
74
+ 'test-writer',
75
+ 'documentation-writer',
76
+ ],
77
+ };
78
+ /**
79
+ * Task keywords to agent mapping for intelligent selection
80
+ */
81
+ const TASK_KEYWORDS = {
82
+ // Architecture keywords
83
+ architecture: ['architect-specialist'],
84
+ design: ['architect-specialist', 'frontend-specialist'],
85
+ system: ['architect-specialist', 'backend-specialist'],
86
+ scalability: ['architect-specialist', 'performance-optimizer'],
87
+ // Development keywords
88
+ feature: ['feature-developer'],
89
+ implement: ['feature-developer', 'backend-specialist'],
90
+ build: ['feature-developer'],
91
+ create: ['feature-developer'],
92
+ // Bug/Fix keywords
93
+ bug: ['bug-fixer'],
94
+ fix: ['bug-fixer'],
95
+ error: ['bug-fixer'],
96
+ issue: ['bug-fixer'],
97
+ // Testing keywords
98
+ test: ['test-writer'],
99
+ coverage: ['test-writer'],
100
+ unit: ['test-writer'],
101
+ integration: ['test-writer'],
102
+ // Code quality keywords
103
+ review: ['code-reviewer'],
104
+ refactor: ['refactoring-specialist', 'code-reviewer'],
105
+ clean: ['refactoring-specialist'],
106
+ optimize: ['performance-optimizer', 'refactoring-specialist'],
107
+ // Security keywords
108
+ security: ['security-auditor'],
109
+ vulnerability: ['security-auditor'],
110
+ auth: ['security-auditor', 'backend-specialist'],
111
+ permission: ['security-auditor'],
112
+ // Performance keywords
113
+ performance: ['performance-optimizer'],
114
+ speed: ['performance-optimizer'],
115
+ memory: ['performance-optimizer'],
116
+ cache: ['performance-optimizer', 'backend-specialist'],
117
+ // Documentation keywords
118
+ document: ['documentation-writer'],
119
+ readme: ['documentation-writer'],
120
+ docs: ['documentation-writer'],
121
+ // Backend keywords
122
+ api: ['backend-specialist', 'documentation-writer'],
123
+ server: ['backend-specialist'],
124
+ endpoint: ['backend-specialist'],
125
+ microservice: ['backend-specialist'],
126
+ // Frontend keywords
127
+ ui: ['frontend-specialist'],
128
+ component: ['frontend-specialist'],
129
+ style: ['frontend-specialist'],
130
+ responsive: ['frontend-specialist'],
131
+ // Database keywords
132
+ database: ['database-specialist'],
133
+ query: ['database-specialist'],
134
+ migration: ['database-specialist'],
135
+ schema: ['database-specialist'],
136
+ // DevOps keywords
137
+ deploy: ['devops-specialist'],
138
+ ci: ['devops-specialist'],
139
+ pipeline: ['devops-specialist'],
140
+ docker: ['devops-specialist'],
141
+ // Mobile keywords
142
+ mobile: ['mobile-specialist'],
143
+ ios: ['mobile-specialist'],
144
+ android: ['mobile-specialist'],
145
+ app: ['mobile-specialist', 'frontend-specialist'],
146
+ };
147
+ /**
148
+ * Agent Orchestrator class
149
+ */
150
+ class AgentOrchestrator {
151
+ /**
152
+ * Get recommended agents for a PREVC phase
153
+ */
154
+ getAgentsForPhase(phase) {
155
+ return exports.PHASE_TO_AGENTS[phase] || [];
156
+ }
157
+ /**
158
+ * Get recommended agents for a PREVC role
159
+ */
160
+ getAgentsForRole(role) {
161
+ return exports.ROLE_TO_AGENTS[role] || [];
162
+ }
163
+ /**
164
+ * Get primary agent for a role (first in the list)
165
+ */
166
+ getPrimaryAgentForRole(role) {
167
+ const agents = this.getAgentsForRole(role);
168
+ return agents.length > 0 ? agents[0] : null;
169
+ }
170
+ /**
171
+ * Select agents based on task description
172
+ */
173
+ selectAgentsByTask(taskDescription) {
174
+ const lowerTask = taskDescription.toLowerCase();
175
+ const matchedAgents = new Set();
176
+ for (const [keyword, agents] of Object.entries(TASK_KEYWORDS)) {
177
+ if (lowerTask.includes(keyword)) {
178
+ agents.forEach((agent) => matchedAgents.add(agent));
179
+ }
180
+ }
181
+ // If no matches, return a default set
182
+ if (matchedAgents.size === 0) {
183
+ return ['feature-developer', 'code-reviewer'];
184
+ }
185
+ return Array.from(matchedAgents);
186
+ }
187
+ /**
188
+ * Get agent handoff sequence for a workflow
189
+ * Returns ordered list of agents based on phase progression
190
+ */
191
+ getAgentHandoffSequence(phases) {
192
+ const sequence = [];
193
+ const seen = new Set();
194
+ for (const phase of phases) {
195
+ const agents = this.getAgentsForPhase(phase);
196
+ for (const agent of agents) {
197
+ if (!seen.has(agent)) {
198
+ sequence.push(agent);
199
+ seen.add(agent);
200
+ }
201
+ }
202
+ }
203
+ return sequence;
204
+ }
205
+ /**
206
+ * Get recommended agent sequence for a specific task
207
+ */
208
+ getTaskAgentSequence(taskDescription, includeReview = true) {
209
+ const primaryAgents = this.selectAgentsByTask(taskDescription);
210
+ const sequence = [...primaryAgents];
211
+ // Add test-writer if not already included
212
+ if (!sequence.includes('test-writer')) {
213
+ sequence.push('test-writer');
214
+ }
215
+ // Add code-reviewer for review if requested
216
+ if (includeReview && !sequence.includes('code-reviewer')) {
217
+ sequence.push('code-reviewer');
218
+ }
219
+ // Add documentation-writer at the end
220
+ if (!sequence.includes('documentation-writer')) {
221
+ sequence.push('documentation-writer');
222
+ }
223
+ return sequence;
224
+ }
225
+ /**
226
+ * Map a specialist name to agent type
227
+ */
228
+ specialistToAgent(specialist) {
229
+ // Direct mapping if it's already an agent type
230
+ if (exports.AGENT_TYPES.includes(specialist)) {
231
+ return specialist;
232
+ }
233
+ // Check role mappings
234
+ for (const [role, specialists] of Object.entries(roles_1.ROLE_TO_SPECIALISTS)) {
235
+ if (specialists.includes(specialist)) {
236
+ const agents = exports.ROLE_TO_AGENTS[role];
237
+ return agents.length > 0 ? agents[0] : null;
238
+ }
239
+ }
240
+ return null;
241
+ }
242
+ /**
243
+ * Get all available agent types
244
+ */
245
+ getAllAgentTypes() {
246
+ return [...exports.AGENT_TYPES];
247
+ }
248
+ /**
249
+ * Check if agent type is valid
250
+ */
251
+ isValidAgentType(type) {
252
+ return exports.AGENT_TYPES.includes(type);
253
+ }
254
+ /**
255
+ * Get agent description
256
+ */
257
+ getAgentDescription(agent) {
258
+ const descriptions = {
259
+ 'code-reviewer': 'Reviews code for quality, style, and best practices',
260
+ 'bug-fixer': 'Identifies and fixes bugs with targeted solutions',
261
+ 'feature-developer': 'Implements new features following architecture',
262
+ 'refactoring-specialist': 'Improves code structure and eliminates code smells',
263
+ 'test-writer': 'Creates comprehensive test suites',
264
+ 'documentation-writer': 'Writes and maintains documentation',
265
+ 'performance-optimizer': 'Identifies and resolves performance bottlenecks',
266
+ 'security-auditor': 'Audits code for security vulnerabilities',
267
+ 'backend-specialist': 'Develops server-side logic and APIs',
268
+ 'frontend-specialist': 'Builds user interfaces and interactions',
269
+ 'architect-specialist': 'Designs system architecture and patterns',
270
+ 'devops-specialist': 'Manages deployment and CI/CD pipelines',
271
+ 'database-specialist': 'Designs and optimizes database solutions',
272
+ 'mobile-specialist': 'Develops mobile applications',
273
+ };
274
+ return descriptions[agent] || 'Specialized development agent';
275
+ }
276
+ }
277
+ exports.AgentOrchestrator = AgentOrchestrator;
278
+ // Export singleton instance
279
+ exports.agentOrchestrator = new AgentOrchestrator();
280
+ //# sourceMappingURL=agentOrchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentOrchestrator.js","sourceRoot":"","sources":["../../../src/workflow/orchestration/agentOrchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Document Linker
3
+ *
4
+ * Links agents and workflow phases to relevant documentation sections,
5
+ * enabling context-aware navigation and knowledge sharing.
6
+ */
7
+ import { PrevcPhase, PrevcRole } from '../types';
8
+ import { AgentType } from './agentOrchestrator';
9
+ /**
10
+ * Documentation types available in .context/docs/
11
+ */
12
+ export type DocType = 'architecture' | 'data-flow' | 'glossary' | 'api' | 'getting-started' | 'deployment' | 'security' | 'testing' | 'contributing' | 'readme';
13
+ /**
14
+ * Document guide information
15
+ */
16
+ export interface DocGuide {
17
+ type: DocType;
18
+ path: string;
19
+ title: string;
20
+ description: string;
21
+ }
22
+ /**
23
+ * Standard documentation guides
24
+ */
25
+ export declare const DOCUMENT_GUIDES: DocGuide[];
26
+ /**
27
+ * Mapping from agent types to relevant documentation
28
+ */
29
+ export declare const AGENT_TO_DOCS: Record<AgentType, DocType[]>;
30
+ /**
31
+ * Mapping from PREVC phases to relevant documentation
32
+ */
33
+ export declare const PHASE_TO_DOCS: Record<PrevcPhase, DocType[]>;
34
+ /**
35
+ * Mapping from PREVC roles to relevant documentation
36
+ */
37
+ export declare const ROLE_TO_DOCS: Record<PrevcRole, DocType[]>;
38
+ /**
39
+ * Document Linker class
40
+ */
41
+ export declare class DocumentLinker {
42
+ /**
43
+ * Get documentation guides for an agent type
44
+ */
45
+ getDocsForAgent(agent: AgentType): DocGuide[];
46
+ /**
47
+ * Get documentation guides for a PREVC phase
48
+ */
49
+ getDocsForPhase(phase: PrevcPhase): DocGuide[];
50
+ /**
51
+ * Get documentation guides for a PREVC role
52
+ */
53
+ getDocsForRole(role: PrevcRole): DocGuide[];
54
+ /**
55
+ * Get primary documentation for an agent (first in list)
56
+ */
57
+ getPrimaryDocForAgent(agent: AgentType): DocGuide | null;
58
+ /**
59
+ * Get all documentation guides
60
+ */
61
+ getAllDocs(): DocGuide[];
62
+ /**
63
+ * Get a specific document guide by type
64
+ */
65
+ getDocByType(type: DocType): DocGuide | null;
66
+ /**
67
+ * Get documentation paths for an agent
68
+ */
69
+ getDocPathsForAgent(agent: AgentType): string[];
70
+ /**
71
+ * Get documentation paths for a phase
72
+ */
73
+ getDocPathsForPhase(phase: PrevcPhase): string[];
74
+ /**
75
+ * Get documentation paths for a role
76
+ */
77
+ getDocPathsForRole(role: PrevcRole): string[];
78
+ /**
79
+ * Get combined documentation for multiple agents
80
+ */
81
+ getDocsForAgents(agents: AgentType[]): DocGuide[];
82
+ /**
83
+ * Get documentation relevant to a task description
84
+ */
85
+ getDocsForTask(taskDescription: string): DocGuide[];
86
+ /**
87
+ * Generate markdown links for agent documentation
88
+ */
89
+ generateAgentDocLinks(agent: AgentType): string;
90
+ /**
91
+ * Generate markdown links for phase documentation
92
+ */
93
+ generatePhaseDocLinks(phase: PrevcPhase): string;
94
+ /**
95
+ * Helper to get guides by doc types
96
+ */
97
+ private getGuidesByTypes;
98
+ }
99
+ export declare const documentLinker: DocumentLinker;
100
+ //# sourceMappingURL=documentLinker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentLinker.d.ts","sourceRoot":"","sources":["../../../src/workflow/orchestration/documentLinker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,OAAO,GACf,cAAc,GACd,WAAW,GACX,UAAU,GACV,KAAK,GACL,iBAAiB,GACjB,YAAY,GACZ,UAAU,GACV,SAAS,GACT,cAAc,GACd,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,EA6DrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,CAetD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,CAMvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,CASrD,CAAC;AAEF;;GAEG;AACH,qBAAa,cAAc;IACzB;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,EAAE;IAK7C;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,EAAE;IAK9C;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,QAAQ,EAAE;IAK3C;;OAEG;IACH,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,IAAI;IAKxD;;OAEG;IACH,UAAU,IAAI,QAAQ,EAAE;IAIxB;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI;IAI5C;;OAEG;IACH,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE;IAI/C;;OAEG;IACH,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAIhD;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE;IAI7C;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE;IAWjD;;OAEG;IACH,cAAc,CAAC,eAAe,EAAE,MAAM,GAAG,QAAQ,EAAE;IAuCnD;;OAEG;IACH,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;IAW/C;;OAEG;IACH,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM;IAWhD;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAKzB;AAGD,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
@@ -0,0 +1,266 @@
1
+ "use strict";
2
+ /**
3
+ * Document Linker
4
+ *
5
+ * Links agents and workflow phases to relevant documentation sections,
6
+ * enabling context-aware navigation and knowledge sharing.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.documentLinker = exports.DocumentLinker = exports.ROLE_TO_DOCS = exports.PHASE_TO_DOCS = exports.AGENT_TO_DOCS = exports.DOCUMENT_GUIDES = void 0;
10
+ /**
11
+ * Standard documentation guides
12
+ */
13
+ exports.DOCUMENT_GUIDES = [
14
+ {
15
+ type: 'architecture',
16
+ path: '.context/docs/architecture.md',
17
+ title: 'Architecture',
18
+ description: 'System architecture, patterns, and design decisions',
19
+ },
20
+ {
21
+ type: 'data-flow',
22
+ path: '.context/docs/data-flow.md',
23
+ title: 'Data Flow',
24
+ description: 'How data moves through the system',
25
+ },
26
+ {
27
+ type: 'glossary',
28
+ path: '.context/docs/glossary.md',
29
+ title: 'Glossary',
30
+ description: 'Domain terms and definitions',
31
+ },
32
+ {
33
+ type: 'api',
34
+ path: '.context/docs/api.md',
35
+ title: 'API Reference',
36
+ description: 'API endpoints and usage',
37
+ },
38
+ {
39
+ type: 'getting-started',
40
+ path: '.context/docs/getting-started.md',
41
+ title: 'Getting Started',
42
+ description: 'Setup and onboarding guide',
43
+ },
44
+ {
45
+ type: 'deployment',
46
+ path: '.context/docs/deployment.md',
47
+ title: 'Deployment',
48
+ description: 'Deployment procedures and environments',
49
+ },
50
+ {
51
+ type: 'security',
52
+ path: '.context/docs/security.md',
53
+ title: 'Security',
54
+ description: 'Security guidelines and practices',
55
+ },
56
+ {
57
+ type: 'testing',
58
+ path: '.context/docs/testing.md',
59
+ title: 'Testing',
60
+ description: 'Testing strategies and coverage',
61
+ },
62
+ {
63
+ type: 'contributing',
64
+ path: '.context/docs/contributing.md',
65
+ title: 'Contributing',
66
+ description: 'Contribution guidelines',
67
+ },
68
+ {
69
+ type: 'readme',
70
+ path: '.context/docs/README.md',
71
+ title: 'Documentation Index',
72
+ description: 'Overview of all documentation',
73
+ },
74
+ ];
75
+ /**
76
+ * Mapping from agent types to relevant documentation
77
+ */
78
+ exports.AGENT_TO_DOCS = {
79
+ 'code-reviewer': ['architecture', 'contributing', 'glossary'],
80
+ 'bug-fixer': ['architecture', 'data-flow', 'testing'],
81
+ 'feature-developer': ['architecture', 'data-flow', 'api', 'getting-started'],
82
+ 'refactoring-specialist': ['architecture', 'glossary', 'contributing'],
83
+ 'test-writer': ['testing', 'architecture', 'api'],
84
+ 'documentation-writer': ['readme', 'glossary', 'architecture', 'api'],
85
+ 'performance-optimizer': ['architecture', 'data-flow', 'deployment'],
86
+ 'security-auditor': ['security', 'architecture', 'api'],
87
+ 'backend-specialist': ['architecture', 'api', 'data-flow', 'deployment'],
88
+ 'frontend-specialist': ['architecture', 'data-flow', 'getting-started'],
89
+ 'architect-specialist': ['architecture', 'data-flow', 'security', 'deployment'],
90
+ 'devops-specialist': ['deployment', 'security', 'testing'],
91
+ 'database-specialist': ['architecture', 'data-flow', 'glossary'],
92
+ 'mobile-specialist': ['architecture', 'api', 'getting-started'],
93
+ };
94
+ /**
95
+ * Mapping from PREVC phases to relevant documentation
96
+ */
97
+ exports.PHASE_TO_DOCS = {
98
+ P: ['architecture', 'glossary', 'readme'], // Planning
99
+ R: ['architecture', 'security', 'data-flow'], // Review
100
+ E: ['architecture', 'api', 'data-flow', 'getting-started'], // Execution
101
+ V: ['testing', 'security', 'api'], // Validation
102
+ C: ['deployment', 'readme', 'contributing'], // Confirmation
103
+ };
104
+ /**
105
+ * Mapping from PREVC roles to relevant documentation
106
+ */
107
+ exports.ROLE_TO_DOCS = {
108
+ planner: ['architecture', 'glossary', 'readme'],
109
+ designer: ['architecture', 'getting-started'],
110
+ architect: ['architecture', 'data-flow', 'security', 'deployment'],
111
+ developer: ['architecture', 'api', 'data-flow', 'getting-started'],
112
+ qa: ['testing', 'security', 'api'],
113
+ reviewer: ['architecture', 'contributing', 'glossary'],
114
+ documenter: ['readme', 'glossary', 'architecture', 'api', 'contributing'],
115
+ 'solo-dev': ['architecture', 'api', 'testing', 'readme'],
116
+ };
117
+ /**
118
+ * Document Linker class
119
+ */
120
+ class DocumentLinker {
121
+ /**
122
+ * Get documentation guides for an agent type
123
+ */
124
+ getDocsForAgent(agent) {
125
+ const docTypes = exports.AGENT_TO_DOCS[agent] || [];
126
+ return this.getGuidesByTypes(docTypes);
127
+ }
128
+ /**
129
+ * Get documentation guides for a PREVC phase
130
+ */
131
+ getDocsForPhase(phase) {
132
+ const docTypes = exports.PHASE_TO_DOCS[phase] || [];
133
+ return this.getGuidesByTypes(docTypes);
134
+ }
135
+ /**
136
+ * Get documentation guides for a PREVC role
137
+ */
138
+ getDocsForRole(role) {
139
+ const docTypes = exports.ROLE_TO_DOCS[role] || [];
140
+ return this.getGuidesByTypes(docTypes);
141
+ }
142
+ /**
143
+ * Get primary documentation for an agent (first in list)
144
+ */
145
+ getPrimaryDocForAgent(agent) {
146
+ const docs = this.getDocsForAgent(agent);
147
+ return docs.length > 0 ? docs[0] : null;
148
+ }
149
+ /**
150
+ * Get all documentation guides
151
+ */
152
+ getAllDocs() {
153
+ return [...exports.DOCUMENT_GUIDES];
154
+ }
155
+ /**
156
+ * Get a specific document guide by type
157
+ */
158
+ getDocByType(type) {
159
+ return exports.DOCUMENT_GUIDES.find((doc) => doc.type === type) || null;
160
+ }
161
+ /**
162
+ * Get documentation paths for an agent
163
+ */
164
+ getDocPathsForAgent(agent) {
165
+ return this.getDocsForAgent(agent).map((doc) => doc.path);
166
+ }
167
+ /**
168
+ * Get documentation paths for a phase
169
+ */
170
+ getDocPathsForPhase(phase) {
171
+ return this.getDocsForPhase(phase).map((doc) => doc.path);
172
+ }
173
+ /**
174
+ * Get documentation paths for a role
175
+ */
176
+ getDocPathsForRole(role) {
177
+ return this.getDocsForRole(role).map((doc) => doc.path);
178
+ }
179
+ /**
180
+ * Get combined documentation for multiple agents
181
+ */
182
+ getDocsForAgents(agents) {
183
+ const docTypes = new Set();
184
+ for (const agent of agents) {
185
+ const types = exports.AGENT_TO_DOCS[agent] || [];
186
+ types.forEach((type) => docTypes.add(type));
187
+ }
188
+ return this.getGuidesByTypes(Array.from(docTypes));
189
+ }
190
+ /**
191
+ * Get documentation relevant to a task description
192
+ */
193
+ getDocsForTask(taskDescription) {
194
+ const lowerTask = taskDescription.toLowerCase();
195
+ const relevantDocs = new Set();
196
+ // Keyword matching
197
+ if (lowerTask.includes('architect') || lowerTask.includes('design') || lowerTask.includes('structure')) {
198
+ relevantDocs.add('architecture');
199
+ }
200
+ if (lowerTask.includes('api') || lowerTask.includes('endpoint')) {
201
+ relevantDocs.add('api');
202
+ }
203
+ if (lowerTask.includes('test') || lowerTask.includes('coverage')) {
204
+ relevantDocs.add('testing');
205
+ }
206
+ if (lowerTask.includes('security') || lowerTask.includes('auth')) {
207
+ relevantDocs.add('security');
208
+ }
209
+ if (lowerTask.includes('deploy') || lowerTask.includes('release')) {
210
+ relevantDocs.add('deployment');
211
+ }
212
+ if (lowerTask.includes('data') || lowerTask.includes('flow')) {
213
+ relevantDocs.add('data-flow');
214
+ }
215
+ if (lowerTask.includes('document') || lowerTask.includes('readme')) {
216
+ relevantDocs.add('readme');
217
+ }
218
+ if (lowerTask.includes('setup') || lowerTask.includes('start')) {
219
+ relevantDocs.add('getting-started');
220
+ }
221
+ // Default to architecture if no matches
222
+ if (relevantDocs.size === 0) {
223
+ relevantDocs.add('architecture');
224
+ relevantDocs.add('readme');
225
+ }
226
+ return this.getGuidesByTypes(Array.from(relevantDocs));
227
+ }
228
+ /**
229
+ * Generate markdown links for agent documentation
230
+ */
231
+ generateAgentDocLinks(agent) {
232
+ const docs = this.getDocsForAgent(agent);
233
+ if (docs.length === 0)
234
+ return '';
235
+ const lines = ['## Relevant Documentation', ''];
236
+ for (const doc of docs) {
237
+ lines.push(`- [${doc.title}](${doc.path}) - ${doc.description}`);
238
+ }
239
+ return lines.join('\n');
240
+ }
241
+ /**
242
+ * Generate markdown links for phase documentation
243
+ */
244
+ generatePhaseDocLinks(phase) {
245
+ const docs = this.getDocsForPhase(phase);
246
+ if (docs.length === 0)
247
+ return '';
248
+ const lines = ['## Phase Documentation', ''];
249
+ for (const doc of docs) {
250
+ lines.push(`- [${doc.title}](${doc.path}) - ${doc.description}`);
251
+ }
252
+ return lines.join('\n');
253
+ }
254
+ /**
255
+ * Helper to get guides by doc types
256
+ */
257
+ getGuidesByTypes(types) {
258
+ return types
259
+ .map((type) => exports.DOCUMENT_GUIDES.find((doc) => doc.type === type))
260
+ .filter((doc) => doc !== undefined);
261
+ }
262
+ }
263
+ exports.DocumentLinker = DocumentLinker;
264
+ // Export singleton instance
265
+ exports.documentLinker = new DocumentLinker();
266
+ //# sourceMappingURL=documentLinker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentLinker.js","sourceRoot":"","sources":["../../../src/workflow/orchestration/documentLinker.ts"],"names":[],"mappings":"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"}