@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.
- package/README.md +25 -23
- package/dist/generators/agents/agentConfig.d.ts.map +1 -1
- package/dist/generators/agents/agentConfig.js +42 -0
- package/dist/generators/agents/agentConfig.js.map +1 -1
- package/dist/generators/agents/agentGenerator.d.ts +0 -1
- package/dist/generators/agents/agentGenerator.d.ts.map +1 -1
- package/dist/generators/agents/agentGenerator.js +7 -47
- package/dist/generators/agents/agentGenerator.js.map +1 -1
- package/dist/generators/agents/agentTypes.d.ts +1 -1
- package/dist/generators/agents/agentTypes.d.ts.map +1 -1
- package/dist/generators/agents/agentTypes.js +4 -1
- package/dist/generators/agents/agentTypes.js.map +1 -1
- package/dist/generators/agents/templates/indexTemplate.d.ts.map +1 -1
- package/dist/generators/agents/templates/indexTemplate.js +2 -1
- package/dist/generators/agents/templates/indexTemplate.js.map +1 -1
- package/dist/generators/agents/templates/playbookTemplate.d.ts.map +1 -1
- package/dist/generators/agents/templates/playbookTemplate.js +39 -3
- package/dist/generators/agents/templates/playbookTemplate.js.map +1 -1
- package/dist/generators/documentation/documentationGenerator.d.ts +3 -1
- package/dist/generators/documentation/documentationGenerator.d.ts.map +1 -1
- package/dist/generators/documentation/documentationGenerator.js +88 -15
- package/dist/generators/documentation/documentationGenerator.js.map +1 -1
- package/dist/generators/documentation/guideRegistry.js +8 -8
- package/dist/generators/documentation/guideRegistry.js.map +1 -1
- package/dist/generators/documentation/templates/apiReferenceTemplate.d.ts +2 -0
- package/dist/generators/documentation/templates/apiReferenceTemplate.d.ts.map +1 -0
- package/dist/generators/documentation/templates/apiReferenceTemplate.js +490 -0
- package/dist/generators/documentation/templates/apiReferenceTemplate.js.map +1 -0
- package/dist/generators/documentation/templates/architectureTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/architectureTemplate.js +27 -27
- package/dist/generators/documentation/templates/architectureTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/common.js +2 -2
- package/dist/generators/documentation/templates/common.js.map +1 -1
- package/dist/generators/documentation/templates/dataFlowTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/dataFlowTemplate.js +5 -20
- package/dist/generators/documentation/templates/dataFlowTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/developmentWorkflowTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/developmentWorkflowTemplate.js +5 -20
- package/dist/generators/documentation/templates/developmentWorkflowTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/glossaryTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/glossaryTemplate.js +9 -23
- package/dist/generators/documentation/templates/glossaryTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/index.d.ts +4 -0
- package/dist/generators/documentation/templates/index.d.ts.map +1 -1
- package/dist/generators/documentation/templates/index.js +9 -1
- package/dist/generators/documentation/templates/index.js.map +1 -1
- package/dist/generators/documentation/templates/indexTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/indexTemplate.js +5 -19
- package/dist/generators/documentation/templates/indexTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/migrationTemplate.d.ts +2 -0
- package/dist/generators/documentation/templates/migrationTemplate.d.ts.map +1 -0
- package/dist/generators/documentation/templates/migrationTemplate.js +422 -0
- package/dist/generators/documentation/templates/migrationTemplate.js.map +1 -0
- package/dist/generators/documentation/templates/onboardingTemplate.d.ts +2 -0
- package/dist/generators/documentation/templates/onboardingTemplate.d.ts.map +1 -0
- package/dist/generators/documentation/templates/onboardingTemplate.js +431 -0
- package/dist/generators/documentation/templates/onboardingTemplate.js.map +1 -0
- package/dist/generators/documentation/templates/projectOverviewTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/projectOverviewTemplate.js +22 -25
- package/dist/generators/documentation/templates/projectOverviewTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/securityTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/securityTemplate.js +5 -19
- package/dist/generators/documentation/templates/securityTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/testingTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/testingTemplate.js +5 -19
- package/dist/generators/documentation/templates/testingTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/toolingTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/toolingTemplate.js +6 -20
- package/dist/generators/documentation/templates/toolingTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/troubleshootingTemplate.d.ts +2 -0
- package/dist/generators/documentation/templates/troubleshootingTemplate.d.ts.map +1 -0
- package/dist/generators/documentation/templates/troubleshootingTemplate.js +292 -0
- package/dist/generators/documentation/templates/troubleshootingTemplate.js.map +1 -0
- package/dist/generators/plans/templates/indexTemplate.d.ts.map +1 -1
- package/dist/generators/plans/templates/indexTemplate.js +3 -2
- package/dist/generators/plans/templates/indexTemplate.js.map +1 -1
- package/dist/generators/plans/templates/planTemplate.d.ts.map +1 -1
- package/dist/generators/plans/templates/planTemplate.js +74 -3
- package/dist/generators/plans/templates/planTemplate.js.map +1 -1
- package/dist/generators/shared/generatorUtils.d.ts +1 -1
- package/dist/generators/shared/generatorUtils.d.ts.map +1 -1
- package/dist/generators/shared/generatorUtils.js +1 -1
- package/dist/generators/shared/generatorUtils.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +46 -1000
- package/dist/index.js.map +1 -1
- package/dist/prompts/defaults.d.ts +2 -2
- package/dist/prompts/defaults.d.ts.map +1 -1
- package/dist/prompts/defaults.js +11 -11
- package/dist/services/baseLLMClient.d.ts +3 -3
- package/dist/services/baseLLMClient.d.ts.map +1 -1
- package/dist/services/baseLLMClient.js +44 -5
- package/dist/services/baseLLMClient.js.map +1 -1
- package/dist/services/fill/fillService.d.ts +0 -4
- package/dist/services/fill/fillService.d.ts.map +1 -1
- package/dist/services/fill/fillService.js +6 -54
- package/dist/services/fill/fillService.js.map +1 -1
- package/dist/services/init/initService.d.ts +2 -2
- package/dist/services/init/initService.d.ts.map +1 -1
- package/dist/services/init/initService.js +45 -15
- package/dist/services/init/initService.js.map +1 -1
- package/dist/services/llmClientFactory.d.ts +2 -8
- package/dist/services/llmClientFactory.d.ts.map +1 -1
- package/dist/services/llmClientFactory.js +10 -96
- package/dist/services/llmClientFactory.js.map +1 -1
- package/dist/services/openRouterClient.d.ts +0 -3
- package/dist/services/openRouterClient.d.ts.map +1 -1
- package/dist/services/openRouterClient.js +2 -49
- package/dist/services/openRouterClient.js.map +1 -1
- package/dist/services/plan/planService.d.ts +2 -4
- package/dist/services/plan/planService.d.ts.map +1 -1
- package/dist/services/plan/planService.js +3 -12
- package/dist/services/plan/planService.js.map +1 -1
- package/dist/services/shared/llmConfig.d.ts.map +1 -1
- package/dist/services/shared/llmConfig.js +11 -53
- package/dist/services/shared/llmConfig.js.map +1 -1
- package/dist/types.d.ts +7 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/fileMapper.d.ts +1 -1
- package/dist/utils/fileMapper.d.ts.map +1 -1
- package/dist/utils/fileMapper.js +40 -19
- package/dist/utils/fileMapper.js.map +1 -1
- package/dist/utils/i18n.d.ts +11 -32
- package/dist/utils/i18n.d.ts.map +1 -1
- package/dist/utils/i18n.js +22 -64
- package/dist/utils/i18n.js.map +1 -1
- package/package.json +9 -12
- package/prompts/update_plan_prompt.md +4 -5
- package/prompts/update_scaffold_prompt.md +7 -8
- package/dist/generators/agents/contextUtils.d.ts +0 -8
- package/dist/generators/agents/contextUtils.d.ts.map +0 -1
- package/dist/generators/agents/contextUtils.js +0 -15
- package/dist/generators/agents/contextUtils.js.map +0 -1
- package/dist/generators/agents/promptFormatter.d.ts +0 -9
- package/dist/generators/agents/promptFormatter.d.ts.map +0 -1
- package/dist/generators/agents/promptFormatter.js +0 -84
- package/dist/generators/agents/promptFormatter.js.map +0 -1
- package/dist/generators/analyzers/codebaseAnalyzer.d.ts +0 -45
- package/dist/generators/analyzers/codebaseAnalyzer.d.ts.map +0 -1
- package/dist/generators/analyzers/codebaseAnalyzer.js +0 -293
- package/dist/generators/analyzers/codebaseAnalyzer.js.map +0 -1
- package/dist/generators/analyzers/index.d.ts +0 -3
- package/dist/generators/analyzers/index.d.ts.map +0 -1
- package/dist/generators/analyzers/index.js +0 -6
- package/dist/generators/analyzers/index.js.map +0 -1
- package/dist/generators/documentation/documentationTemplates.d.ts +0 -21
- package/dist/generators/documentation/documentationTemplates.d.ts.map +0 -1
- package/dist/generators/documentation/documentationTemplates.js +0 -359
- package/dist/generators/documentation/documentationTemplates.js.map +0 -1
- package/dist/generators/documentation/documentationTypes.d.ts +0 -11
- package/dist/generators/documentation/documentationTypes.d.ts.map +0 -1
- package/dist/generators/documentation/documentationTypes.js +0 -22
- package/dist/generators/documentation/documentationTypes.js.map +0 -1
- package/dist/generators/documentation/documentationUtils.d.ts +0 -7
- package/dist/generators/documentation/documentationUtils.d.ts.map +0 -1
- package/dist/generators/documentation/documentationUtils.js +0 -28
- package/dist/generators/documentation/documentationUtils.js.map +0 -1
- package/dist/generators/documentation/incrementalDocumentationGenerator.d.ts +0 -33
- package/dist/generators/documentation/incrementalDocumentationGenerator.d.ts.map +0 -1
- package/dist/generators/documentation/incrementalDocumentationGenerator.js +0 -400
- package/dist/generators/documentation/incrementalDocumentationGenerator.js.map +0 -1
- package/dist/generators/documentation/templates.d.ts +0 -31
- package/dist/generators/documentation/templates.d.ts.map +0 -1
- package/dist/generators/documentation/templates.js +0 -566
- package/dist/generators/documentation/templates.js.map +0 -1
- package/dist/generators/guidelines/agentIntegration.d.ts +0 -43
- package/dist/generators/guidelines/agentIntegration.d.ts.map +0 -1
- package/dist/generators/guidelines/agentIntegration.js +0 -157
- package/dist/generators/guidelines/agentIntegration.js.map +0 -1
- package/dist/generators/guidelines/guidelineTypes.d.ts +0 -40
- package/dist/generators/guidelines/guidelineTypes.d.ts.map +0 -1
- package/dist/generators/guidelines/guidelineTypes.js +0 -144
- package/dist/generators/guidelines/guidelineTypes.js.map +0 -1
- package/dist/generators/guidelines/guidelinesAnalyzer.d.ts +0 -30
- package/dist/generators/guidelines/guidelinesAnalyzer.d.ts.map +0 -1
- package/dist/generators/guidelines/guidelinesAnalyzer.js +0 -263
- package/dist/generators/guidelines/guidelinesAnalyzer.js.map +0 -1
- package/dist/generators/guidelines/guidelinesGenerator.d.ts +0 -30
- package/dist/generators/guidelines/guidelinesGenerator.d.ts.map +0 -1
- package/dist/generators/guidelines/guidelinesGenerator.js +0 -249
- package/dist/generators/guidelines/guidelinesGenerator.js.map +0 -1
- package/dist/generators/guidelines/guidelinesTemplates.d.ts +0 -23
- package/dist/generators/guidelines/guidelinesTemplates.d.ts.map +0 -1
- package/dist/generators/guidelines/guidelinesTemplates.js +0 -304
- package/dist/generators/guidelines/guidelinesTemplates.js.map +0 -1
- package/dist/generators/guidelines/index.d.ts +0 -6
- package/dist/generators/guidelines/index.d.ts.map +0 -1
- package/dist/generators/guidelines/index.js +0 -16
- package/dist/generators/guidelines/index.js.map +0 -1
- package/dist/generators/moduleGrouper.d.ts +0 -14
- package/dist/generators/moduleGrouper.d.ts.map +0 -1
- package/dist/generators/moduleGrouper.js +0 -82
- package/dist/generators/moduleGrouper.js.map +0 -1
- package/dist/generators/projectAnalyzer.d.ts +0 -14
- package/dist/generators/projectAnalyzer.d.ts.map +0 -1
- package/dist/generators/projectAnalyzer.js +0 -217
- package/dist/generators/projectAnalyzer.js.map +0 -1
- package/dist/services/changeAnalyzer.d.ts +0 -44
- package/dist/services/changeAnalyzer.d.ts.map +0 -1
- package/dist/services/changeAnalyzer.js +0 -344
- package/dist/services/changeAnalyzer.js.map +0 -1
- package/dist/utils/interactiveMode.d.ts +0 -21
- package/dist/utils/interactiveMode.d.ts.map +0 -1
- package/dist/utils/interactiveMode.js +0 -737
- package/dist/utils/interactiveMode.js.map +0 -1
- package/dist/utils/tokenEstimator.d.ts +0 -28
- package/dist/utils/tokenEstimator.d.ts.map +0 -1
- package/dist/utils/tokenEstimator.js +0 -134
- 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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
|
|
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 @@
|
|
|
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":"
|
|
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"}
|