@ai-coders/context 0.3.1 → 0.4.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 (210) hide show
  1. package/README.md +25 -23
  2. package/dist/generators/agents/agentConfig.d.ts.map +1 -1
  3. package/dist/generators/agents/agentConfig.js +42 -0
  4. package/dist/generators/agents/agentConfig.js.map +1 -1
  5. package/dist/generators/agents/agentGenerator.d.ts +0 -1
  6. package/dist/generators/agents/agentGenerator.d.ts.map +1 -1
  7. package/dist/generators/agents/agentGenerator.js +7 -47
  8. package/dist/generators/agents/agentGenerator.js.map +1 -1
  9. package/dist/generators/agents/agentTypes.d.ts +1 -1
  10. package/dist/generators/agents/agentTypes.d.ts.map +1 -1
  11. package/dist/generators/agents/agentTypes.js +4 -1
  12. package/dist/generators/agents/agentTypes.js.map +1 -1
  13. package/dist/generators/agents/templates/indexTemplate.d.ts.map +1 -1
  14. package/dist/generators/agents/templates/indexTemplate.js +2 -1
  15. package/dist/generators/agents/templates/indexTemplate.js.map +1 -1
  16. package/dist/generators/agents/templates/playbookTemplate.d.ts.map +1 -1
  17. package/dist/generators/agents/templates/playbookTemplate.js +39 -3
  18. package/dist/generators/agents/templates/playbookTemplate.js.map +1 -1
  19. package/dist/generators/documentation/documentationGenerator.d.ts +3 -1
  20. package/dist/generators/documentation/documentationGenerator.d.ts.map +1 -1
  21. package/dist/generators/documentation/documentationGenerator.js +88 -15
  22. package/dist/generators/documentation/documentationGenerator.js.map +1 -1
  23. package/dist/generators/documentation/guideRegistry.js +8 -8
  24. package/dist/generators/documentation/guideRegistry.js.map +1 -1
  25. package/dist/generators/documentation/templates/apiReferenceTemplate.d.ts +2 -0
  26. package/dist/generators/documentation/templates/apiReferenceTemplate.d.ts.map +1 -0
  27. package/dist/generators/documentation/templates/apiReferenceTemplate.js +490 -0
  28. package/dist/generators/documentation/templates/apiReferenceTemplate.js.map +1 -0
  29. package/dist/generators/documentation/templates/architectureTemplate.d.ts.map +1 -1
  30. package/dist/generators/documentation/templates/architectureTemplate.js +27 -27
  31. package/dist/generators/documentation/templates/architectureTemplate.js.map +1 -1
  32. package/dist/generators/documentation/templates/common.js +2 -2
  33. package/dist/generators/documentation/templates/common.js.map +1 -1
  34. package/dist/generators/documentation/templates/dataFlowTemplate.d.ts.map +1 -1
  35. package/dist/generators/documentation/templates/dataFlowTemplate.js +5 -20
  36. package/dist/generators/documentation/templates/dataFlowTemplate.js.map +1 -1
  37. package/dist/generators/documentation/templates/developmentWorkflowTemplate.d.ts.map +1 -1
  38. package/dist/generators/documentation/templates/developmentWorkflowTemplate.js +5 -20
  39. package/dist/generators/documentation/templates/developmentWorkflowTemplate.js.map +1 -1
  40. package/dist/generators/documentation/templates/glossaryTemplate.d.ts.map +1 -1
  41. package/dist/generators/documentation/templates/glossaryTemplate.js +9 -23
  42. package/dist/generators/documentation/templates/glossaryTemplate.js.map +1 -1
  43. package/dist/generators/documentation/templates/index.d.ts +4 -0
  44. package/dist/generators/documentation/templates/index.d.ts.map +1 -1
  45. package/dist/generators/documentation/templates/index.js +9 -1
  46. package/dist/generators/documentation/templates/index.js.map +1 -1
  47. package/dist/generators/documentation/templates/indexTemplate.d.ts.map +1 -1
  48. package/dist/generators/documentation/templates/indexTemplate.js +5 -19
  49. package/dist/generators/documentation/templates/indexTemplate.js.map +1 -1
  50. package/dist/generators/documentation/templates/migrationTemplate.d.ts +2 -0
  51. package/dist/generators/documentation/templates/migrationTemplate.d.ts.map +1 -0
  52. package/dist/generators/documentation/templates/migrationTemplate.js +422 -0
  53. package/dist/generators/documentation/templates/migrationTemplate.js.map +1 -0
  54. package/dist/generators/documentation/templates/onboardingTemplate.d.ts +2 -0
  55. package/dist/generators/documentation/templates/onboardingTemplate.d.ts.map +1 -0
  56. package/dist/generators/documentation/templates/onboardingTemplate.js +431 -0
  57. package/dist/generators/documentation/templates/onboardingTemplate.js.map +1 -0
  58. package/dist/generators/documentation/templates/projectOverviewTemplate.d.ts.map +1 -1
  59. package/dist/generators/documentation/templates/projectOverviewTemplate.js +22 -25
  60. package/dist/generators/documentation/templates/projectOverviewTemplate.js.map +1 -1
  61. package/dist/generators/documentation/templates/securityTemplate.d.ts.map +1 -1
  62. package/dist/generators/documentation/templates/securityTemplate.js +5 -19
  63. package/dist/generators/documentation/templates/securityTemplate.js.map +1 -1
  64. package/dist/generators/documentation/templates/testingTemplate.d.ts.map +1 -1
  65. package/dist/generators/documentation/templates/testingTemplate.js +5 -19
  66. package/dist/generators/documentation/templates/testingTemplate.js.map +1 -1
  67. package/dist/generators/documentation/templates/toolingTemplate.d.ts.map +1 -1
  68. package/dist/generators/documentation/templates/toolingTemplate.js +6 -20
  69. package/dist/generators/documentation/templates/toolingTemplate.js.map +1 -1
  70. package/dist/generators/documentation/templates/troubleshootingTemplate.d.ts +2 -0
  71. package/dist/generators/documentation/templates/troubleshootingTemplate.d.ts.map +1 -0
  72. package/dist/generators/documentation/templates/troubleshootingTemplate.js +292 -0
  73. package/dist/generators/documentation/templates/troubleshootingTemplate.js.map +1 -0
  74. package/dist/generators/plans/templates/indexTemplate.d.ts.map +1 -1
  75. package/dist/generators/plans/templates/indexTemplate.js +3 -2
  76. package/dist/generators/plans/templates/indexTemplate.js.map +1 -1
  77. package/dist/generators/plans/templates/planTemplate.d.ts.map +1 -1
  78. package/dist/generators/plans/templates/planTemplate.js +74 -3
  79. package/dist/generators/plans/templates/planTemplate.js.map +1 -1
  80. package/dist/generators/shared/generatorUtils.d.ts +1 -1
  81. package/dist/generators/shared/generatorUtils.d.ts.map +1 -1
  82. package/dist/generators/shared/generatorUtils.js +1 -1
  83. package/dist/generators/shared/generatorUtils.js.map +1 -1
  84. package/dist/index.d.ts +2 -2
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +46 -1000
  87. package/dist/index.js.map +1 -1
  88. package/dist/prompts/defaults.d.ts +2 -2
  89. package/dist/prompts/defaults.d.ts.map +1 -1
  90. package/dist/prompts/defaults.js +11 -11
  91. package/dist/services/baseLLMClient.d.ts +3 -3
  92. package/dist/services/baseLLMClient.d.ts.map +1 -1
  93. package/dist/services/baseLLMClient.js +44 -5
  94. package/dist/services/baseLLMClient.js.map +1 -1
  95. package/dist/services/fill/fillService.d.ts +0 -4
  96. package/dist/services/fill/fillService.d.ts.map +1 -1
  97. package/dist/services/fill/fillService.js +6 -54
  98. package/dist/services/fill/fillService.js.map +1 -1
  99. package/dist/services/init/initService.d.ts +2 -2
  100. package/dist/services/init/initService.d.ts.map +1 -1
  101. package/dist/services/init/initService.js +45 -15
  102. package/dist/services/init/initService.js.map +1 -1
  103. package/dist/services/llmClientFactory.d.ts +2 -8
  104. package/dist/services/llmClientFactory.d.ts.map +1 -1
  105. package/dist/services/llmClientFactory.js +10 -96
  106. package/dist/services/llmClientFactory.js.map +1 -1
  107. package/dist/services/openRouterClient.d.ts +0 -3
  108. package/dist/services/openRouterClient.d.ts.map +1 -1
  109. package/dist/services/openRouterClient.js +2 -49
  110. package/dist/services/openRouterClient.js.map +1 -1
  111. package/dist/services/plan/planService.d.ts +2 -4
  112. package/dist/services/plan/planService.d.ts.map +1 -1
  113. package/dist/services/plan/planService.js +3 -12
  114. package/dist/services/plan/planService.js.map +1 -1
  115. package/dist/services/shared/llmConfig.d.ts.map +1 -1
  116. package/dist/services/shared/llmConfig.js +11 -53
  117. package/dist/services/shared/llmConfig.js.map +1 -1
  118. package/dist/types.d.ts +7 -2
  119. package/dist/types.d.ts.map +1 -1
  120. package/dist/utils/fileMapper.d.ts +1 -1
  121. package/dist/utils/fileMapper.d.ts.map +1 -1
  122. package/dist/utils/fileMapper.js +40 -19
  123. package/dist/utils/fileMapper.js.map +1 -1
  124. package/dist/utils/i18n.d.ts +11 -32
  125. package/dist/utils/i18n.d.ts.map +1 -1
  126. package/dist/utils/i18n.js +22 -64
  127. package/dist/utils/i18n.js.map +1 -1
  128. package/package.json +9 -12
  129. package/prompts/update_plan_prompt.md +4 -5
  130. package/prompts/update_scaffold_prompt.md +7 -8
  131. package/dist/generators/agents/contextUtils.d.ts +0 -8
  132. package/dist/generators/agents/contextUtils.d.ts.map +0 -1
  133. package/dist/generators/agents/contextUtils.js +0 -15
  134. package/dist/generators/agents/contextUtils.js.map +0 -1
  135. package/dist/generators/agents/promptFormatter.d.ts +0 -9
  136. package/dist/generators/agents/promptFormatter.d.ts.map +0 -1
  137. package/dist/generators/agents/promptFormatter.js +0 -84
  138. package/dist/generators/agents/promptFormatter.js.map +0 -1
  139. package/dist/generators/analyzers/codebaseAnalyzer.d.ts +0 -45
  140. package/dist/generators/analyzers/codebaseAnalyzer.d.ts.map +0 -1
  141. package/dist/generators/analyzers/codebaseAnalyzer.js +0 -293
  142. package/dist/generators/analyzers/codebaseAnalyzer.js.map +0 -1
  143. package/dist/generators/analyzers/index.d.ts +0 -3
  144. package/dist/generators/analyzers/index.d.ts.map +0 -1
  145. package/dist/generators/analyzers/index.js +0 -6
  146. package/dist/generators/analyzers/index.js.map +0 -1
  147. package/dist/generators/documentation/documentationTemplates.d.ts +0 -21
  148. package/dist/generators/documentation/documentationTemplates.d.ts.map +0 -1
  149. package/dist/generators/documentation/documentationTemplates.js +0 -359
  150. package/dist/generators/documentation/documentationTemplates.js.map +0 -1
  151. package/dist/generators/documentation/documentationTypes.d.ts +0 -11
  152. package/dist/generators/documentation/documentationTypes.d.ts.map +0 -1
  153. package/dist/generators/documentation/documentationTypes.js +0 -22
  154. package/dist/generators/documentation/documentationTypes.js.map +0 -1
  155. package/dist/generators/documentation/documentationUtils.d.ts +0 -7
  156. package/dist/generators/documentation/documentationUtils.d.ts.map +0 -1
  157. package/dist/generators/documentation/documentationUtils.js +0 -28
  158. package/dist/generators/documentation/documentationUtils.js.map +0 -1
  159. package/dist/generators/documentation/incrementalDocumentationGenerator.d.ts +0 -33
  160. package/dist/generators/documentation/incrementalDocumentationGenerator.d.ts.map +0 -1
  161. package/dist/generators/documentation/incrementalDocumentationGenerator.js +0 -400
  162. package/dist/generators/documentation/incrementalDocumentationGenerator.js.map +0 -1
  163. package/dist/generators/documentation/templates.d.ts +0 -31
  164. package/dist/generators/documentation/templates.d.ts.map +0 -1
  165. package/dist/generators/documentation/templates.js +0 -566
  166. package/dist/generators/documentation/templates.js.map +0 -1
  167. package/dist/generators/guidelines/agentIntegration.d.ts +0 -43
  168. package/dist/generators/guidelines/agentIntegration.d.ts.map +0 -1
  169. package/dist/generators/guidelines/agentIntegration.js +0 -157
  170. package/dist/generators/guidelines/agentIntegration.js.map +0 -1
  171. package/dist/generators/guidelines/guidelineTypes.d.ts +0 -40
  172. package/dist/generators/guidelines/guidelineTypes.d.ts.map +0 -1
  173. package/dist/generators/guidelines/guidelineTypes.js +0 -144
  174. package/dist/generators/guidelines/guidelineTypes.js.map +0 -1
  175. package/dist/generators/guidelines/guidelinesAnalyzer.d.ts +0 -30
  176. package/dist/generators/guidelines/guidelinesAnalyzer.d.ts.map +0 -1
  177. package/dist/generators/guidelines/guidelinesAnalyzer.js +0 -263
  178. package/dist/generators/guidelines/guidelinesAnalyzer.js.map +0 -1
  179. package/dist/generators/guidelines/guidelinesGenerator.d.ts +0 -30
  180. package/dist/generators/guidelines/guidelinesGenerator.d.ts.map +0 -1
  181. package/dist/generators/guidelines/guidelinesGenerator.js +0 -249
  182. package/dist/generators/guidelines/guidelinesGenerator.js.map +0 -1
  183. package/dist/generators/guidelines/guidelinesTemplates.d.ts +0 -23
  184. package/dist/generators/guidelines/guidelinesTemplates.d.ts.map +0 -1
  185. package/dist/generators/guidelines/guidelinesTemplates.js +0 -304
  186. package/dist/generators/guidelines/guidelinesTemplates.js.map +0 -1
  187. package/dist/generators/guidelines/index.d.ts +0 -6
  188. package/dist/generators/guidelines/index.d.ts.map +0 -1
  189. package/dist/generators/guidelines/index.js +0 -16
  190. package/dist/generators/guidelines/index.js.map +0 -1
  191. package/dist/generators/moduleGrouper.d.ts +0 -14
  192. package/dist/generators/moduleGrouper.d.ts.map +0 -1
  193. package/dist/generators/moduleGrouper.js +0 -82
  194. package/dist/generators/moduleGrouper.js.map +0 -1
  195. package/dist/generators/projectAnalyzer.d.ts +0 -14
  196. package/dist/generators/projectAnalyzer.d.ts.map +0 -1
  197. package/dist/generators/projectAnalyzer.js +0 -217
  198. package/dist/generators/projectAnalyzer.js.map +0 -1
  199. package/dist/services/changeAnalyzer.d.ts +0 -44
  200. package/dist/services/changeAnalyzer.d.ts.map +0 -1
  201. package/dist/services/changeAnalyzer.js +0 -344
  202. package/dist/services/changeAnalyzer.js.map +0 -1
  203. package/dist/utils/interactiveMode.d.ts +0 -21
  204. package/dist/utils/interactiveMode.d.ts.map +0 -1
  205. package/dist/utils/interactiveMode.js +0 -737
  206. package/dist/utils/interactiveMode.js.map +0 -1
  207. package/dist/utils/tokenEstimator.d.ts +0 -28
  208. package/dist/utils/tokenEstimator.d.ts.map +0 -1
  209. package/dist/utils/tokenEstimator.js +0 -134
  210. package/dist/utils/tokenEstimator.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"documentationGenerator.js","sourceRoot":"","sources":["../../../src/generators/documentation/documentationGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"documentationGenerator.js","sourceRoot":"","sources":["../../../src/generators/documentation/documentationGenerator.ts"],"names":[],"mappings":"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"}
@@ -8,56 +8,56 @@ exports.DOCUMENT_GUIDES = [
8
8
  key: 'project-overview',
9
9
  title: 'Project Overview',
10
10
  file: 'project-overview.md',
11
- marker: 'ai-task:project-overview',
11
+ marker: 'agent-update:project-overview',
12
12
  primaryInputs: 'Roadmap, README, stakeholder notes'
13
13
  },
14
14
  {
15
15
  key: 'architecture',
16
16
  title: 'Architecture Notes',
17
17
  file: 'architecture.md',
18
- marker: 'ai-task:architecture-notes',
18
+ marker: 'agent-update:architecture-notes',
19
19
  primaryInputs: 'ADRs, service boundaries, dependency graphs'
20
20
  },
21
21
  {
22
22
  key: 'development-workflow',
23
23
  title: 'Development Workflow',
24
24
  file: 'development-workflow.md',
25
- marker: 'ai-task:development-workflow',
25
+ marker: 'agent-update:development-workflow',
26
26
  primaryInputs: 'Branching rules, CI config, contributing guide'
27
27
  },
28
28
  {
29
29
  key: 'testing-strategy',
30
30
  title: 'Testing Strategy',
31
31
  file: 'testing-strategy.md',
32
- marker: 'ai-task:testing-strategy',
32
+ marker: 'agent-update:testing-strategy',
33
33
  primaryInputs: 'Test configs, CI gates, known flaky suites'
34
34
  },
35
35
  {
36
36
  key: 'glossary',
37
37
  title: 'Glossary & Domain Concepts',
38
38
  file: 'glossary.md',
39
- marker: 'ai-task:glossary',
39
+ marker: 'agent-update:glossary',
40
40
  primaryInputs: 'Business terminology, user personas, domain rules'
41
41
  },
42
42
  {
43
43
  key: 'data-flow',
44
44
  title: 'Data Flow & Integrations',
45
45
  file: 'data-flow.md',
46
- marker: 'ai-task:data-flow',
46
+ marker: 'agent-update:data-flow',
47
47
  primaryInputs: 'System diagrams, integration specs, queue topics'
48
48
  },
49
49
  {
50
50
  key: 'security',
51
51
  title: 'Security & Compliance Notes',
52
52
  file: 'security.md',
53
- marker: 'ai-task:security',
53
+ marker: 'agent-update:security',
54
54
  primaryInputs: 'Auth model, secrets management, compliance requirements'
55
55
  },
56
56
  {
57
57
  key: 'tooling',
58
58
  title: 'Tooling & Productivity Guide',
59
59
  file: 'tooling.md',
60
- marker: 'ai-task:tooling',
60
+ marker: 'agent-update:tooling',
61
61
  primaryInputs: 'CLI scripts, IDE configs, automation workflows'
62
62
  }
63
63
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"guideRegistry.js","sourceRoot":"","sources":["../../../src/generators/documentation/guideRegistry.ts"],"names":[],"mappings":";;;AA+DA,0CAQC;AAED,8CAQC;AA/EY,QAAA,eAAe,GAAgB;IAC1C;QACE,GAAG,EAAE,kBAAkB;QACvB,KAAK,EAAE,kBAAkB;QACzB,IAAI,EAAE,qBAAqB;QAC3B,MAAM,EAAE,0BAA0B;QAClC,aAAa,EAAE,oCAAoC;KACpD;IACD;QACE,GAAG,EAAE,cAAc;QACnB,KAAK,EAAE,oBAAoB;QAC3B,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,4BAA4B;QACpC,aAAa,EAAE,6CAA6C;KAC7D;IACD;QACE,GAAG,EAAE,sBAAsB;QAC3B,KAAK,EAAE,sBAAsB;QAC7B,IAAI,EAAE,yBAAyB;QAC/B,MAAM,EAAE,8BAA8B;QACtC,aAAa,EAAE,gDAAgD;KAChE;IACD;QACE,GAAG,EAAE,kBAAkB;QACvB,KAAK,EAAE,kBAAkB;QACzB,IAAI,EAAE,qBAAqB;QAC3B,MAAM,EAAE,0BAA0B;QAClC,aAAa,EAAE,4CAA4C;KAC5D;IACD;QACE,GAAG,EAAE,UAAU;QACf,KAAK,EAAE,4BAA4B;QACnC,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,kBAAkB;QAC1B,aAAa,EAAE,mDAAmD;KACnE;IACD;QACE,GAAG,EAAE,WAAW;QAChB,KAAK,EAAE,0BAA0B;QACjC,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,mBAAmB;QAC3B,aAAa,EAAE,kDAAkD;KAClE;IACD;QACE,GAAG,EAAE,UAAU;QACf,KAAK,EAAE,6BAA6B;QACpC,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,kBAAkB;QAC1B,aAAa,EAAE,yDAAyD;KACzE;IACD;QACE,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,8BAA8B;QACrC,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,iBAAiB;QACzB,aAAa,EAAE,gDAAgD;KAChE;CACF,CAAC;AAEW,QAAA,mBAAmB,GAAG,uBAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAE3E,SAAgB,eAAe,CAAC,IAAe;IAC7C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,uBAAe,CAAC;IACzB,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,QAAQ,GAAG,uBAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACrE,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,uBAAe,CAAC;AAC1D,CAAC;AAED,SAAgB,iBAAiB,CAAC,IAAe;IAC/C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,uBAAe;SAC1B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACzC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"guideRegistry.js","sourceRoot":"","sources":["../../../src/generators/documentation/guideRegistry.ts"],"names":[],"mappings":";;;AA+DA,0CAQC;AAED,8CAQC;AA/EY,QAAA,eAAe,GAAgB;IAC1C;QACE,GAAG,EAAE,kBAAkB;QACvB,KAAK,EAAE,kBAAkB;QACzB,IAAI,EAAE,qBAAqB;QAC3B,MAAM,EAAE,+BAA+B;QACvC,aAAa,EAAE,oCAAoC;KACpD;IACD;QACE,GAAG,EAAE,cAAc;QACnB,KAAK,EAAE,oBAAoB;QAC3B,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,iCAAiC;QACzC,aAAa,EAAE,6CAA6C;KAC7D;IACD;QACE,GAAG,EAAE,sBAAsB;QAC3B,KAAK,EAAE,sBAAsB;QAC7B,IAAI,EAAE,yBAAyB;QAC/B,MAAM,EAAE,mCAAmC;QAC3C,aAAa,EAAE,gDAAgD;KAChE;IACD;QACE,GAAG,EAAE,kBAAkB;QACvB,KAAK,EAAE,kBAAkB;QACzB,IAAI,EAAE,qBAAqB;QAC3B,MAAM,EAAE,+BAA+B;QACvC,aAAa,EAAE,4CAA4C;KAC5D;IACD;QACE,GAAG,EAAE,UAAU;QACf,KAAK,EAAE,4BAA4B;QACnC,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,uBAAuB;QAC/B,aAAa,EAAE,mDAAmD;KACnE;IACD;QACE,GAAG,EAAE,WAAW;QAChB,KAAK,EAAE,0BAA0B;QACjC,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,wBAAwB;QAChC,aAAa,EAAE,kDAAkD;KAClE;IACD;QACE,GAAG,EAAE,UAAU;QACf,KAAK,EAAE,6BAA6B;QACpC,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,uBAAuB;QAC/B,aAAa,EAAE,yDAAyD;KACzE;IACD;QACE,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,8BAA8B;QACrC,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,sBAAsB;QAC9B,aAAa,EAAE,gDAAgD;KAChE;CACF,CAAC;AAEW,QAAA,mBAAmB,GAAG,uBAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAE3E,SAAgB,eAAe,CAAC,IAAe;IAC7C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,uBAAe,CAAC;IACzB,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,QAAQ,GAAG,uBAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACrE,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,uBAAe,CAAC;AAC1D,CAAC;AAED,SAAgB,iBAAiB,CAAC,IAAe;IAC/C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,uBAAe;SAC1B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACzC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function renderApiReference(): string;
2
+ //# sourceMappingURL=apiReferenceTemplate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiReferenceTemplate.d.ts","sourceRoot":"","sources":["../../../../src/generators/documentation/templates/apiReferenceTemplate.ts"],"names":[],"mappings":"AAAA,wBAAgB,kBAAkB,IAAI,MAAM,CAqe3C"}
@@ -0,0 +1,490 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.renderApiReference = renderApiReference;
4
+ function renderApiReference() {
5
+ return `<!-- agent-update:start:api-reference -->
6
+ # API Reference
7
+
8
+ **Purpose:** Enable AI agents to programmatically interact with all API endpoints.
9
+
10
+ **Agent Usage Instructions:**
11
+ - Use documented curl commands as templates for requests
12
+ - Verify expected response codes match actual responses
13
+ - Handle authentication token expiration automatically
14
+ - Parse error responses to determine retry strategy
15
+ - Log all API interactions for debugging
16
+
17
+ ## Base URLs
18
+
19
+ **Agent Configuration:**
20
+ \`\`\`bash
21
+ # Set as environment variables for easier switching
22
+ export API_BASE_DEV="http://localhost:3000/api"
23
+ export API_BASE_STAGING="https://staging-api.example.com" # TODO: Update
24
+ export API_BASE_PROD="https://api.example.com" # TODO: Update
25
+
26
+ # Agent uses based on context
27
+ API_BASE=$API_BASE_STAGING # Change as needed
28
+ \`\`\`
29
+
30
+ ## Authentication
31
+
32
+ **Agent Authentication Flow:**
33
+
34
+ ### Step 1: Obtain Token
35
+ \`\`\`bash
36
+ # Agent executes login
37
+ TOKEN_RESPONSE=$(curl -s -X POST "\${API_BASE}/auth/login" \\
38
+ -H "Content-Type: application/json" \\
39
+ -d '{
40
+ "email": "agent@example.com",
41
+ "password": "'\${AGENT_PASSWORD}'"
42
+ }')
43
+
44
+ # Agent extracts token
45
+ TOKEN=$(echo \$TOKEN_RESPONSE | jq -r '.token')
46
+ EXPIRES_IN=$(echo \$TOKEN_RESPONSE | jq -r '.expiresIn')
47
+
48
+ # Agent stores token with expiration
49
+ echo "\$TOKEN" > .api-token
50
+ echo \$((\$(date +%s) + \$EXPIRES_IN)) > .api-token-expires
51
+
52
+ # Expected response structure
53
+ # {
54
+ # "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
55
+ # "expiresIn": 3600,
56
+ # "refreshToken": "refresh_token_here",
57
+ # "user": {"id": "123", "email": "agent@example.com"}
58
+ # }
59
+ \`\`\`
60
+
61
+ ### Step 2: Use Token in Requests
62
+ \`\`\`bash
63
+ # Agent includes token in all authenticated requests
64
+ curl -X GET "\${API_BASE}/resources" \\
65
+ -H "Authorization: Bearer \$TOKEN" \\
66
+ -H "Content-Type: application/json"
67
+ \`\`\`
68
+
69
+ ### Step 3: Handle Token Expiration
70
+ \`\`\`bash
71
+ # Agent checks token expiration before each request
72
+ function check_token() {
73
+ if [ ! -f .api-token ] || [ ! -f .api-token-expires ]; then
74
+ return 1 # Token missing, need to authenticate
75
+ fi
76
+
77
+ EXPIRES=$(cat .api-token-expires)
78
+ NOW=$(date +%s)
79
+
80
+ if [ $NOW -ge $EXPIRES ]; then
81
+ return 1 # Token expired
82
+ fi
83
+
84
+ return 0 # Token valid
85
+ }
86
+
87
+ # Agent refresh flow (if 401 received)
88
+ if ! check_token; then
89
+ echo "Token expired or missing, re-authenticating..."
90
+ # Re-run Step 1
91
+ fi
92
+ \`\`\`
93
+
94
+ **Agent Error Handling:**
95
+ - 401 response → Token invalid/expired, re-authenticate
96
+ - 403 response → Permission denied, check agent has required role
97
+ - 429 response → Rate limited, wait and retry (see Rate Limiting section)
98
+
99
+ ### Authorization & Permissions
100
+ - Document role-based access control (RBAC) if applicable
101
+ - List permission levels and their capabilities
102
+ - Explain scope-based authorization for OAuth
103
+
104
+ ## API Versioning
105
+ - **Current Version:** v1
106
+ - **Versioning Strategy:** TODO: URL path (/v1/), header, or query parameter
107
+ - **Deprecation Policy:** TODO: Document how versions are deprecated
108
+
109
+ ## Rate Limiting
110
+
111
+ **Agent Must Implement:** Check rate limit headers and back off when necessary.
112
+
113
+ \`\`\`bash
114
+ # Agent rate limit handler
115
+ function make_api_request() {
116
+ local url=$1
117
+ local method=$2
118
+ local data=$3
119
+
120
+ RESPONSE=$(curl -i -X "$method" "$url" \\
121
+ -H "Authorization: Bearer $TOKEN" \\
122
+ -H "Content-Type: application/json" \\
123
+ -d "$data" 2>&1)
124
+
125
+ # Agent extracts rate limit headers
126
+ LIMIT=$(echo "$RESPONSE" | grep -i "x-ratelimit-limit" | cut -d: -f2 | tr -d ' \\r')
127
+ REMAINING=$(echo "$RESPONSE" | grep -i "x-ratelimit-remaining" | cut -d: -f2 | tr -d ' \\r')
128
+ RESET=$(echo "$RESPONSE" | grep -i "x-ratelimit-reset" | cut -d: -f2 | tr -d ' \\r')
129
+
130
+ # Agent checks if approaching limit
131
+ if [ "\$REMAINING" -lt "10" ]; then
132
+ NOW=$(date +%s)
133
+ WAIT=\$((RESET - NOW))
134
+ echo "Rate limit low (\$REMAINING remaining), waiting \${WAIT}s until reset..."
135
+ sleep \$WAIT
136
+ fi
137
+
138
+ # Agent handles 429 (rate limited)
139
+ HTTP_CODE=$(echo "\$RESPONSE" | grep "HTTP/" | awk '{print \$2}')
140
+ if [ "\$HTTP_CODE" == "429" ]; then
141
+ RETRY_AFTER=$(echo "\$RESPONSE" | grep -i "retry-after" | cut -d: -f2 | tr -d ' \\r')
142
+ echo "Rate limited, retrying after \${RETRY_AFTER}s..."
143
+ sleep "\$RETRY_AFTER"
144
+ make_api_request "\$url" "\$method" "\$data" # Retry
145
+ fi
146
+
147
+ echo "$RESPONSE"
148
+ }
149
+ \`\`\`
150
+
151
+ **Rate Limit:** TODO: e.g., 1000 requests per hour
152
+ **Headers Agent Should Monitor:**
153
+ - \`X-RateLimit-Limit\`: Maximum allowed
154
+ - \`X-RateLimit-Remaining\`: Remaining in window
155
+ - \`X-RateLimit-Reset\`: Reset time (Unix timestamp)
156
+ - \`Retry-After\`: Seconds to wait (when 429 received)
157
+
158
+ ## Common Headers
159
+ ### Request Headers
160
+ - \`Content-Type: application/json\` - Required for POST/PUT/PATCH
161
+ - \`Authorization: Bearer <token>\` - Authentication token
162
+ - \`X-Request-ID: <uuid>\` - Optional request tracking ID
163
+
164
+ ### Response Headers
165
+ - \`Content-Type: application/json\`
166
+ - \`X-Request-ID: <uuid>\` - Echo of request ID for tracking
167
+ - \`X-Response-Time: <ms>\` - Server processing time
168
+
169
+ ## Endpoints
170
+
171
+ ### Authentication Endpoints
172
+
173
+ #### POST /auth/register
174
+ Register a new user account.
175
+
176
+ **Request:**
177
+ \`\`\`json
178
+ {
179
+ "email": "user@example.com",
180
+ "password": "securePassword123",
181
+ "name": "John Doe"
182
+ }
183
+ \`\`\`
184
+
185
+ **Response (201 Created):**
186
+ \`\`\`json
187
+ {
188
+ "id": "user_123",
189
+ "email": "user@example.com",
190
+ "name": "John Doe",
191
+ "createdAt": "2024-01-15T10:30:00Z"
192
+ }
193
+ \`\`\`
194
+
195
+ **Errors:**
196
+ - \`400\`: Validation error (invalid email, weak password)
197
+ - \`409\`: Email already registered
198
+
199
+ ---
200
+
201
+ #### POST /auth/login
202
+ Authenticate user and receive access token.
203
+
204
+ **Request:**
205
+ \`\`\`json
206
+ {
207
+ "email": "user@example.com",
208
+ "password": "securePassword123"
209
+ }
210
+ \`\`\`
211
+
212
+ **Response (200 OK):**
213
+ \`\`\`json
214
+ {
215
+ "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
216
+ "refreshToken": "refresh_token_here",
217
+ "expiresIn": 3600,
218
+ "user": {
219
+ "id": "user_123",
220
+ "email": "user@example.com",
221
+ "name": "John Doe"
222
+ }
223
+ }
224
+ \`\`\`
225
+
226
+ **Errors:**
227
+ - \`401\`: Invalid credentials
228
+ - \`429\`: Too many failed attempts
229
+
230
+ ---
231
+
232
+ ### Resource Endpoints
233
+
234
+ #### GET /api/resources
235
+ List all resources with pagination.
236
+
237
+ **Query Parameters:**
238
+ - \`page\` (integer, default: 1): Page number
239
+ - \`limit\` (integer, default: 20, max: 100): Items per page
240
+ - \`sort\` (string): Sort field (e.g., "createdAt", "-name" for desc)
241
+ - \`filter\` (string): Filter criteria (implementation-specific)
242
+
243
+ **Response (200 OK):**
244
+ \`\`\`json
245
+ {
246
+ "data": [
247
+ {
248
+ "id": "res_123",
249
+ "name": "Resource Name",
250
+ "status": "active",
251
+ "createdAt": "2024-01-15T10:30:00Z",
252
+ "updatedAt": "2024-01-15T10:30:00Z"
253
+ }
254
+ ],
255
+ "pagination": {
256
+ "page": 1,
257
+ "limit": 20,
258
+ "total": 100,
259
+ "pages": 5
260
+ }
261
+ }
262
+ \`\`\`
263
+
264
+ **Errors:**
265
+ - \`401\`: Unauthorized (missing or invalid token)
266
+ - \`403\`: Forbidden (insufficient permissions)
267
+
268
+ ---
269
+
270
+ #### GET /api/resources/:id
271
+ Get a specific resource by ID.
272
+
273
+ **Path Parameters:**
274
+ - \`id\` (string, required): Resource identifier
275
+
276
+ **Response (200 OK):**
277
+ \`\`\`json
278
+ {
279
+ "id": "res_123",
280
+ "name": "Resource Name",
281
+ "description": "Detailed description",
282
+ "status": "active",
283
+ "metadata": {
284
+ "key": "value"
285
+ },
286
+ "createdAt": "2024-01-15T10:30:00Z",
287
+ "updatedAt": "2024-01-15T10:30:00Z"
288
+ }
289
+ \`\`\`
290
+
291
+ **Errors:**
292
+ - \`401\`: Unauthorized
293
+ - \`404\`: Resource not found
294
+
295
+ ---
296
+
297
+ #### POST /api/resources
298
+ Create a new resource.
299
+
300
+ **Request:**
301
+ \`\`\`json
302
+ {
303
+ "name": "New Resource",
304
+ "description": "Resource description",
305
+ "status": "active",
306
+ "metadata": {
307
+ "key": "value"
308
+ }
309
+ }
310
+ \`\`\`
311
+
312
+ **Response (201 Created):**
313
+ \`\`\`json
314
+ {
315
+ "id": "res_124",
316
+ "name": "New Resource",
317
+ "description": "Resource description",
318
+ "status": "active",
319
+ "metadata": {
320
+ "key": "value"
321
+ },
322
+ "createdAt": "2024-01-15T11:00:00Z",
323
+ "updatedAt": "2024-01-15T11:00:00Z"
324
+ }
325
+ \`\`\`
326
+
327
+ **Errors:**
328
+ - \`400\`: Validation error
329
+ - \`401\`: Unauthorized
330
+ - \`403\`: Forbidden
331
+
332
+ ---
333
+
334
+ #### PUT /api/resources/:id
335
+ Update an existing resource (full replacement).
336
+
337
+ **Path Parameters:**
338
+ - \`id\` (string, required): Resource identifier
339
+
340
+ **Request:**
341
+ \`\`\`json
342
+ {
343
+ "name": "Updated Resource",
344
+ "description": "Updated description",
345
+ "status": "inactive",
346
+ "metadata": {
347
+ "key": "newValue"
348
+ }
349
+ }
350
+ \`\`\`
351
+
352
+ **Response (200 OK):**
353
+ Returns updated resource object.
354
+
355
+ **Errors:**
356
+ - \`400\`: Validation error
357
+ - \`401\`: Unauthorized
358
+ - \`404\`: Resource not found
359
+
360
+ ---
361
+
362
+ #### PATCH /api/resources/:id
363
+ Partially update a resource.
364
+
365
+ **Path Parameters:**
366
+ - \`id\` (string, required): Resource identifier
367
+
368
+ **Request:**
369
+ \`\`\`json
370
+ {
371
+ "status": "inactive"
372
+ }
373
+ \`\`\`
374
+
375
+ **Response (200 OK):**
376
+ Returns updated resource object.
377
+
378
+ ---
379
+
380
+ #### DELETE /api/resources/:id
381
+ Delete a resource.
382
+
383
+ **Path Parameters:**
384
+ - \`id\` (string, required): Resource identifier
385
+
386
+ **Response (204 No Content)**
387
+
388
+ **Errors:**
389
+ - \`401\`: Unauthorized
390
+ - \`404\`: Resource not found
391
+ - \`409\`: Conflict (resource has dependencies)
392
+
393
+ ---
394
+
395
+ ## Webhooks
396
+ ### Registering Webhooks
397
+ Document webhook registration process if applicable.
398
+
399
+ ### Webhook Events
400
+ - \`resource.created\` - Fired when a new resource is created
401
+ - \`resource.updated\` - Fired when a resource is updated
402
+ - \`resource.deleted\` - Fired when a resource is deleted
403
+
404
+ ### Webhook Payload Example
405
+ \`\`\`json
406
+ {
407
+ "event": "resource.created",
408
+ "timestamp": "2024-01-15T11:00:00Z",
409
+ "data": {
410
+ "id": "res_124",
411
+ "name": "New Resource"
412
+ }
413
+ }
414
+ \`\`\`
415
+
416
+ ### Webhook Security
417
+ - Document signature verification mechanism
418
+ - Explain retry logic for failed deliveries
419
+
420
+ ## Error Responses
421
+ ### Standard Error Format
422
+ \`\`\`json
423
+ {
424
+ "error": {
425
+ "code": "VALIDATION_ERROR",
426
+ "message": "Invalid input data",
427
+ "details": [
428
+ {
429
+ "field": "email",
430
+ "message": "Invalid email format"
431
+ }
432
+ ],
433
+ "requestId": "req_abc123"
434
+ }
435
+ }
436
+ \`\`\`
437
+
438
+ ### HTTP Status Codes
439
+ - \`200 OK\`: Successful request
440
+ - \`201 Created\`: Resource created successfully
441
+ - \`204 No Content\`: Successful deletion
442
+ - \`400 Bad Request\`: Invalid input or validation error
443
+ - \`401 Unauthorized\`: Missing or invalid authentication
444
+ - \`403 Forbidden\`: Insufficient permissions
445
+ - \`404 Not Found\`: Resource not found
446
+ - \`409 Conflict\`: Resource conflict (duplicate, dependencies)
447
+ - \`422 Unprocessable Entity\`: Valid syntax but semantic errors
448
+ - \`429 Too Many Requests\`: Rate limit exceeded
449
+ - \`500 Internal Server Error\`: Server error
450
+ - \`503 Service Unavailable\`: Service temporarily unavailable
451
+
452
+ ### Common Error Codes
453
+ - \`VALIDATION_ERROR\`: Input validation failed
454
+ - \`AUTHENTICATION_REQUIRED\`: No authentication provided
455
+ - \`AUTHENTICATION_FAILED\`: Invalid credentials
456
+ - \`PERMISSION_DENIED\`: Insufficient permissions
457
+ - \`RESOURCE_NOT_FOUND\`: Requested resource doesn't exist
458
+ - \`RATE_LIMIT_EXCEEDED\`: Too many requests
459
+ - \`INTERNAL_ERROR\`: Server-side error
460
+
461
+ ## SDK & Client Libraries
462
+ - Document available SDKs (JavaScript, Python, Ruby, etc.)
463
+ - Link to SDK documentation and examples
464
+
465
+ ## Postman/OpenAPI Collection
466
+ - Link to Postman collection for easy testing
467
+ - Link to OpenAPI/Swagger specification if available
468
+
469
+ <!-- agent-readonly:guidance -->
470
+ ## AI Update Checklist
471
+ 1. Review route definitions and controller implementations for new or changed endpoints
472
+ 2. Verify authentication flows match current implementation
473
+ 3. Update rate limiting policies if thresholds changed
474
+ 4. Document new error codes and response formats
475
+ 5. Ensure all examples use realistic data and current API structure
476
+ 6. Validate that webhook event types are current
477
+ 7. Update SDK links and availability
478
+
479
+ <!-- agent-readonly:sources -->
480
+ ## Acceptable Sources
481
+ - API route files and controller implementations
482
+ - Authentication middleware and JWT/OAuth configurations
483
+ - OpenAPI/Swagger specifications
484
+ - Integration tests that demonstrate API usage
485
+ - Postman collections or API testing suites
486
+
487
+ <!-- agent-update:end -->
488
+ `;
489
+ }
490
+ //# sourceMappingURL=apiReferenceTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiReferenceTemplate.js","sourceRoot":"","sources":["../../../../src/generators/documentation/templates/apiReferenceTemplate.ts"],"names":[],"mappings":";;AAAA,gDAqeC;AAreD,SAAgB,kBAAkB;IAChC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmeR,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"architectureTemplate.d.ts","sourceRoot":"","sources":["../../../../src/generators/documentation/templates/architectureTemplate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAGvD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,4BAA4B,GAAG,MAAM,CA8DrF"}
1
+ {"version":3,"file":"architectureTemplate.d.ts","sourceRoot":"","sources":["../../../../src/generators/documentation/templates/architectureTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAGvD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,4BAA4B,GAAG,MAAM,CA6DrF"}