@ai-coders/context 0.5.2 → 0.6.1
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 +247 -12
- package/dist/generators/agents/agentGenerator.d.ts +3 -0
- package/dist/generators/agents/agentGenerator.d.ts.map +1 -1
- package/dist/generators/agents/agentGenerator.js +13 -7
- package/dist/generators/agents/agentGenerator.js.map +1 -1
- package/dist/generators/agents/templates/playbookTemplate.d.ts.map +1 -1
- package/dist/generators/agents/templates/playbookTemplate.js +3 -1
- package/dist/generators/agents/templates/playbookTemplate.js.map +1 -1
- package/dist/generators/documentation/codebaseMapGenerator.d.ts +98 -0
- package/dist/generators/documentation/codebaseMapGenerator.d.ts.map +1 -0
- package/dist/generators/documentation/codebaseMapGenerator.js +247 -0
- package/dist/generators/documentation/codebaseMapGenerator.js.map +1 -0
- package/dist/generators/documentation/documentationGenerator.d.ts +2 -0
- package/dist/generators/documentation/documentationGenerator.d.ts.map +1 -1
- package/dist/generators/documentation/documentationGenerator.js +20 -1
- package/dist/generators/documentation/documentationGenerator.js.map +1 -1
- package/dist/generators/documentation/index.d.ts +2 -0
- package/dist/generators/documentation/index.d.ts.map +1 -1
- package/dist/generators/documentation/index.js +3 -1
- package/dist/generators/documentation/index.js.map +1 -1
- package/dist/generators/documentation/templates/architectureTemplate.d.ts.map +1 -1
- package/dist/generators/documentation/templates/architectureTemplate.js +2 -31
- package/dist/generators/documentation/templates/architectureTemplate.js.map +1 -1
- package/dist/generators/documentation/templates/common.d.ts +4 -1
- package/dist/generators/documentation/templates/common.d.ts.map +1 -1
- package/dist/generators/documentation/templates/common.js +4 -2
- package/dist/generators/documentation/templates/common.js.map +1 -1
- package/dist/generators/plans/templates/planTemplate.d.ts.map +1 -1
- package/dist/generators/plans/templates/planTemplate.js +46 -2
- package/dist/generators/plans/templates/planTemplate.js.map +1 -1
- package/dist/generators/skills/index.d.ts +7 -0
- package/dist/generators/skills/index.d.ts.map +1 -0
- package/dist/generators/skills/index.js +15 -0
- package/dist/generators/skills/index.js.map +1 -0
- package/dist/generators/skills/skillGenerator.d.ts +53 -0
- package/dist/generators/skills/skillGenerator.d.ts.map +1 -0
- package/dist/generators/skills/skillGenerator.js +149 -0
- package/dist/generators/skills/skillGenerator.js.map +1 -0
- package/dist/generators/skills/templates/indexTemplate.d.ts +13 -0
- package/dist/generators/skills/templates/indexTemplate.d.ts.map +1 -0
- package/dist/generators/skills/templates/indexTemplate.js +102 -0
- package/dist/generators/skills/templates/indexTemplate.js.map +1 -0
- package/dist/generators/skills/templates/skillTemplate.d.ts +20 -0
- package/dist/generators/skills/templates/skillTemplate.d.ts.map +1 -0
- package/dist/generators/skills/templates/skillTemplate.js +85 -0
- package/dist/generators/skills/templates/skillTemplate.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1315 -43
- package/dist/index.js.map +1 -1
- package/dist/services/ai/agentEvents.d.ts +1 -1
- package/dist/services/ai/agentEvents.d.ts.map +1 -1
- package/dist/services/ai/agents/index.d.ts +2 -0
- package/dist/services/ai/agents/index.d.ts.map +1 -1
- package/dist/services/ai/agents/index.js +3 -1
- package/dist/services/ai/agents/index.js.map +1 -1
- package/dist/services/ai/agents/skillAgent.d.ts +49 -0
- package/dist/services/ai/agents/skillAgent.d.ts.map +1 -0
- package/dist/services/ai/agents/skillAgent.js +179 -0
- package/dist/services/ai/agents/skillAgent.js.map +1 -0
- package/dist/services/ai/prompts/index.d.ts +1 -1
- package/dist/services/ai/prompts/index.d.ts.map +1 -1
- package/dist/services/ai/prompts/index.js +2 -1
- package/dist/services/ai/prompts/index.js.map +1 -1
- package/dist/services/ai/prompts/sharedPrompts.d.ts +4 -0
- package/dist/services/ai/prompts/sharedPrompts.d.ts.map +1 -1
- package/dist/services/ai/prompts/sharedPrompts.js +33 -0
- package/dist/services/ai/prompts/sharedPrompts.js.map +1 -1
- package/dist/services/ai/schemas.d.ts +98 -1
- package/dist/services/ai/schemas.d.ts.map +1 -1
- package/dist/services/ai/schemas.js +61 -3
- package/dist/services/ai/schemas.js.map +1 -1
- package/dist/services/ai/toolRegistry.d.ts.map +1 -1
- package/dist/services/ai/toolRegistry.js +17 -0
- package/dist/services/ai/toolRegistry.js.map +1 -1
- package/dist/services/ai/tools/fillScaffoldingTool.d.ts +21 -4
- package/dist/services/ai/tools/fillScaffoldingTool.d.ts.map +1 -1
- package/dist/services/ai/tools/fillScaffoldingTool.js +17 -0
- package/dist/services/ai/tools/fillScaffoldingTool.js.map +1 -1
- package/dist/services/ai/tools/getCodebaseMapTool.d.ts +17 -0
- package/dist/services/ai/tools/getCodebaseMapTool.d.ts.map +1 -0
- package/dist/services/ai/tools/getCodebaseMapTool.js +115 -0
- package/dist/services/ai/tools/getCodebaseMapTool.js.map +1 -0
- package/dist/services/ai/tools/index.d.ts +3 -2
- package/dist/services/ai/tools/index.d.ts.map +1 -1
- package/dist/services/ai/tools/index.js +12 -3
- package/dist/services/ai/tools/index.js.map +1 -1
- package/dist/services/ai/tools/initializeContextTool.d.ts +22 -4
- package/dist/services/ai/tools/initializeContextTool.d.ts.map +1 -1
- package/dist/services/ai/tools/initializeContextTool.js +201 -16
- package/dist/services/ai/tools/initializeContextTool.js.map +1 -1
- package/dist/services/ai/tools/scaffoldPlanTool.d.ts +11 -0
- package/dist/services/ai/tools/scaffoldPlanTool.d.ts.map +1 -1
- package/dist/services/ai/tools/scaffoldPlanTool.js +79 -7
- package/dist/services/ai/tools/scaffoldPlanTool.js.map +1 -1
- package/dist/services/export/exportRulesService.d.ts +62 -0
- package/dist/services/export/exportRulesService.d.ts.map +1 -0
- package/dist/services/export/exportRulesService.js +242 -0
- package/dist/services/export/exportRulesService.js.map +1 -0
- package/dist/services/export/index.d.ts +5 -0
- package/dist/services/export/index.d.ts.map +1 -0
- package/dist/services/export/index.js +10 -0
- package/dist/services/export/index.js.map +1 -0
- package/dist/services/export/skillExportService.d.ts +64 -0
- package/dist/services/export/skillExportService.d.ts.map +1 -0
- package/dist/services/export/skillExportService.js +238 -0
- package/dist/services/export/skillExportService.js.map +1 -0
- package/dist/services/fill/skillFillService.d.ts +50 -0
- package/dist/services/fill/skillFillService.d.ts.map +1 -0
- package/dist/services/fill/skillFillService.js +254 -0
- package/dist/services/fill/skillFillService.js.map +1 -0
- package/dist/services/import/agentsDetector.d.ts +12 -0
- package/dist/services/import/agentsDetector.d.ts.map +1 -0
- package/dist/services/import/agentsDetector.js +183 -0
- package/dist/services/import/agentsDetector.js.map +1 -0
- package/dist/services/import/importAgentsService.d.ts +14 -0
- package/dist/services/import/importAgentsService.d.ts.map +1 -0
- package/dist/services/import/importAgentsService.js +195 -0
- package/dist/services/import/importAgentsService.js.map +1 -0
- package/dist/services/import/importRulesService.d.ts +17 -0
- package/dist/services/import/importRulesService.d.ts.map +1 -0
- package/dist/services/import/importRulesService.js +222 -0
- package/dist/services/import/importRulesService.js.map +1 -0
- package/dist/services/import/index.d.ts +7 -0
- package/dist/services/import/index.d.ts.map +1 -0
- package/dist/services/import/index.js +28 -0
- package/dist/services/import/index.js.map +1 -0
- package/dist/services/import/presets.d.ts +8 -0
- package/dist/services/import/presets.d.ts.map +1 -0
- package/dist/services/import/presets.js +176 -0
- package/dist/services/import/presets.js.map +1 -0
- package/dist/services/import/rulesDetector.d.ts +16 -0
- package/dist/services/import/rulesDetector.d.ts.map +1 -0
- package/dist/services/import/rulesDetector.js +278 -0
- package/dist/services/import/rulesDetector.js.map +1 -0
- package/dist/services/import/types.d.ts +72 -0
- package/dist/services/import/types.d.ts.map +1 -0
- package/dist/services/import/types.js +3 -0
- package/dist/services/import/types.js.map +1 -0
- package/dist/services/mcp/mcpServer.d.ts +24 -0
- package/dist/services/mcp/mcpServer.d.ts.map +1 -1
- package/dist/services/mcp/mcpServer.js +1651 -7
- package/dist/services/mcp/mcpServer.js.map +1 -1
- package/dist/services/quickSync/index.d.ts +3 -0
- package/dist/services/quickSync/index.d.ts.map +1 -0
- package/dist/services/quickSync/index.js +7 -0
- package/dist/services/quickSync/index.js.map +1 -0
- package/dist/services/quickSync/quickSyncService.d.ts +72 -0
- package/dist/services/quickSync/quickSyncService.d.ts.map +1 -0
- package/dist/services/quickSync/quickSyncService.js +268 -0
- package/dist/services/quickSync/quickSyncService.js.map +1 -0
- package/dist/services/report/index.d.ts +3 -0
- package/dist/services/report/index.d.ts.map +1 -0
- package/dist/services/report/index.js +6 -0
- package/dist/services/report/index.js.map +1 -0
- package/dist/services/report/reportService.d.ts +131 -0
- package/dist/services/report/reportService.d.ts.map +1 -0
- package/dist/services/report/reportService.js +372 -0
- package/dist/services/report/reportService.js.map +1 -0
- package/dist/services/semantic/contextBuilder.d.ts +8 -1
- package/dist/services/semantic/contextBuilder.d.ts.map +1 -1
- package/dist/services/semantic/contextBuilder.js +107 -20
- package/dist/services/semantic/contextBuilder.js.map +1 -1
- package/dist/services/shared/globPatterns.d.ts +48 -0
- package/dist/services/shared/globPatterns.d.ts.map +1 -0
- package/dist/services/shared/globPatterns.js +110 -0
- package/dist/services/shared/globPatterns.js.map +1 -0
- package/dist/services/shared/index.d.ts +10 -0
- package/dist/services/shared/index.d.ts.map +1 -0
- package/dist/services/shared/index.js +46 -0
- package/dist/services/shared/index.js.map +1 -0
- package/dist/services/shared/pathHelpers.d.ts +71 -0
- package/dist/services/shared/pathHelpers.d.ts.map +1 -0
- package/dist/services/shared/pathHelpers.js +162 -0
- package/dist/services/shared/pathHelpers.js.map +1 -0
- package/dist/services/shared/types.d.ts +74 -0
- package/dist/services/shared/types.d.ts.map +1 -0
- package/dist/services/shared/types.js +44 -0
- package/dist/services/shared/types.js.map +1 -0
- package/dist/services/shared/uiHelpers.d.ts +70 -0
- package/dist/services/shared/uiHelpers.d.ts.map +1 -0
- package/dist/services/shared/uiHelpers.js +131 -0
- package/dist/services/shared/uiHelpers.js.map +1 -0
- package/dist/services/stack/index.d.ts +6 -0
- package/dist/services/stack/index.d.ts.map +1 -0
- package/dist/services/stack/index.js +25 -0
- package/dist/services/stack/index.js.map +1 -0
- package/dist/services/stack/projectTypeClassifier.d.ts +59 -0
- package/dist/services/stack/projectTypeClassifier.d.ts.map +1 -0
- package/dist/services/stack/projectTypeClassifier.js +242 -0
- package/dist/services/stack/projectTypeClassifier.js.map +1 -0
- package/dist/services/stack/scaffoldFilter.d.ts +75 -0
- package/dist/services/stack/scaffoldFilter.d.ts.map +1 -0
- package/dist/services/stack/scaffoldFilter.js +222 -0
- package/dist/services/stack/scaffoldFilter.js.map +1 -0
- package/dist/services/stack/stackDetector.d.ts +43 -0
- package/dist/services/stack/stackDetector.d.ts.map +1 -0
- package/dist/services/stack/stackDetector.js +406 -0
- package/dist/services/stack/stackDetector.js.map +1 -0
- package/dist/services/start/index.d.ts +3 -0
- package/dist/services/start/index.d.ts.map +1 -0
- package/dist/services/start/index.js +6 -0
- package/dist/services/start/index.js.map +1 -0
- package/dist/services/start/startService.d.ts +64 -0
- package/dist/services/start/startService.d.ts.map +1 -0
- package/dist/services/start/startService.js +180 -0
- package/dist/services/start/startService.js.map +1 -0
- package/dist/services/sync/presets.d.ts.map +1 -1
- package/dist/services/sync/presets.js +16 -1
- package/dist/services/sync/presets.js.map +1 -1
- package/dist/services/sync/types.d.ts +1 -1
- package/dist/services/sync/types.d.ts.map +1 -1
- package/dist/services/workflow/autoAdvance.d.ts +38 -0
- package/dist/services/workflow/autoAdvance.d.ts.map +1 -0
- package/dist/services/workflow/autoAdvance.js +219 -0
- package/dist/services/workflow/autoAdvance.js.map +1 -0
- package/dist/services/workflow/index.d.ts +6 -0
- package/dist/services/workflow/index.d.ts.map +1 -0
- package/dist/services/workflow/index.js +11 -0
- package/dist/services/workflow/index.js.map +1 -0
- package/dist/services/workflow/workflowService.d.ts +98 -0
- package/dist/services/workflow/workflowService.d.ts.map +1 -0
- package/dist/services/workflow/workflowService.js +210 -0
- package/dist/services/workflow/workflowService.js.map +1 -0
- package/dist/utils/cliUI.d.ts +4 -0
- package/dist/utils/cliUI.d.ts.map +1 -1
- package/dist/utils/cliUI.js +31 -1
- package/dist/utils/cliUI.js.map +1 -1
- package/dist/utils/i18n.d.ts +202 -0
- package/dist/utils/i18n.d.ts.map +1 -1
- package/dist/utils/i18n.js +438 -2
- package/dist/utils/i18n.js.map +1 -1
- package/dist/utils/theme.d.ts +1 -0
- package/dist/utils/theme.d.ts.map +1 -1
- package/dist/utils/theme.js +1 -0
- package/dist/utils/theme.js.map +1 -1
- package/dist/workflow/agents/agentRegistry.d.ts +82 -0
- package/dist/workflow/agents/agentRegistry.d.ts.map +1 -0
- package/dist/workflow/agents/agentRegistry.js +205 -0
- package/dist/workflow/agents/agentRegistry.js.map +1 -0
- package/dist/workflow/agents/index.d.ts +7 -0
- package/dist/workflow/agents/index.d.ts.map +1 -0
- package/dist/workflow/agents/index.js +14 -0
- package/dist/workflow/agents/index.js.map +1 -0
- package/dist/workflow/collaboration.d.ts +110 -0
- package/dist/workflow/collaboration.d.ts.map +1 -0
- package/dist/workflow/collaboration.js +301 -0
- package/dist/workflow/collaboration.js.map +1 -0
- package/dist/workflow/index.d.ts +25 -0
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workflow/index.js +124 -0
- package/dist/workflow/index.js.map +1 -0
- package/dist/workflow/orchestration/agentOrchestrator.d.ts +68 -0
- package/dist/workflow/orchestration/agentOrchestrator.d.ts.map +1 -0
- package/dist/workflow/orchestration/agentOrchestrator.js +280 -0
- package/dist/workflow/orchestration/agentOrchestrator.js.map +1 -0
- package/dist/workflow/orchestration/documentLinker.d.ts +100 -0
- package/dist/workflow/orchestration/documentLinker.d.ts.map +1 -0
- package/dist/workflow/orchestration/documentLinker.js +266 -0
- package/dist/workflow/orchestration/documentLinker.js.map +1 -0
- package/dist/workflow/orchestration/index.d.ts +9 -0
- package/dist/workflow/orchestration/index.d.ts.map +1 -0
- package/dist/workflow/orchestration/index.js +25 -0
- package/dist/workflow/orchestration/index.js.map +1 -0
- package/dist/workflow/orchestrator.d.ts +99 -0
- package/dist/workflow/orchestrator.d.ts.map +1 -0
- package/dist/workflow/orchestrator.js +217 -0
- package/dist/workflow/orchestrator.js.map +1 -0
- package/dist/workflow/phases.d.ts +64 -0
- package/dist/workflow/phases.d.ts.map +1 -0
- package/dist/workflow/phases.js +151 -0
- package/dist/workflow/phases.js.map +1 -0
- package/dist/workflow/plans/index.d.ts +8 -0
- package/dist/workflow/plans/index.d.ts.map +1 -0
- package/dist/workflow/plans/index.js +27 -0
- package/dist/workflow/plans/index.js.map +1 -0
- package/dist/workflow/plans/planLinker.d.ts +119 -0
- package/dist/workflow/plans/planLinker.d.ts.map +1 -0
- package/dist/workflow/plans/planLinker.js +499 -0
- package/dist/workflow/plans/planLinker.js.map +1 -0
- package/dist/workflow/plans/types.d.ts +167 -0
- package/dist/workflow/plans/types.d.ts.map +1 -0
- package/dist/workflow/plans/types.js +25 -0
- package/dist/workflow/plans/types.js.map +1 -0
- package/dist/workflow/prevcConfig.d.ts +27 -0
- package/dist/workflow/prevcConfig.d.ts.map +1 -0
- package/dist/workflow/prevcConfig.js +153 -0
- package/dist/workflow/prevcConfig.js.map +1 -0
- package/dist/workflow/roles.d.ts +44 -0
- package/dist/workflow/roles.d.ts.map +1 -0
- package/dist/workflow/roles.js +112 -0
- package/dist/workflow/roles.js.map +1 -0
- package/dist/workflow/scaling.d.ts +44 -0
- package/dist/workflow/scaling.d.ts.map +1 -0
- package/dist/workflow/scaling.js +224 -0
- package/dist/workflow/scaling.js.map +1 -0
- package/dist/workflow/skills/frontmatter.d.ts +23 -0
- package/dist/workflow/skills/frontmatter.d.ts.map +1 -0
- package/dist/workflow/skills/frontmatter.js +100 -0
- package/dist/workflow/skills/frontmatter.js.map +1 -0
- package/dist/workflow/skills/index.d.ts +10 -0
- package/dist/workflow/skills/index.d.ts.map +1 -0
- package/dist/workflow/skills/index.js +22 -0
- package/dist/workflow/skills/index.js.map +1 -0
- package/dist/workflow/skills/skillRegistry.d.ts +60 -0
- package/dist/workflow/skills/skillRegistry.d.ts.map +1 -0
- package/dist/workflow/skills/skillRegistry.js +257 -0
- package/dist/workflow/skills/skillRegistry.js.map +1 -0
- package/dist/workflow/skills/skillTemplates.d.ts +16 -0
- package/dist/workflow/skills/skillTemplates.d.ts.map +1 -0
- package/dist/workflow/skills/skillTemplates.js +610 -0
- package/dist/workflow/skills/skillTemplates.js.map +1 -0
- package/dist/workflow/skills/types.d.ts +72 -0
- package/dist/workflow/skills/types.d.ts.map +1 -0
- package/dist/workflow/skills/types.js +48 -0
- package/dist/workflow/skills/types.js.map +1 -0
- package/dist/workflow/status/statusManager.d.ts +84 -0
- package/dist/workflow/status/statusManager.d.ts.map +1 -0
- package/dist/workflow/status/statusManager.js +402 -0
- package/dist/workflow/status/statusManager.js.map +1 -0
- package/dist/workflow/status/templates.d.ts +40 -0
- package/dist/workflow/status/templates.d.ts.map +1 -0
- package/dist/workflow/status/templates.js +148 -0
- package/dist/workflow/status/templates.js.map +1 -0
- package/dist/workflow/types.d.ts +178 -0
- package/dist/workflow/types.d.ts.map +1 -0
- package/dist/workflow/types.js +25 -0
- package/dist/workflow/types.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* PREVC Scale-Adaptive Routing
|
|
4
|
+
*
|
|
5
|
+
* Determines which phases and roles are needed based on project scale.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.SCALE_ROUTES = void 0;
|
|
9
|
+
exports.detectProjectScale = detectProjectScale;
|
|
10
|
+
exports.getScaleRoute = getScaleRoute;
|
|
11
|
+
exports.getPhasesForScale = getPhasesForScale;
|
|
12
|
+
exports.getRolesForScale = getRolesForScale;
|
|
13
|
+
exports.isPhaseRequiredForScale = isPhaseRequiredForScale;
|
|
14
|
+
exports.getScaleName = getScaleName;
|
|
15
|
+
exports.getScaleFromName = getScaleFromName;
|
|
16
|
+
exports.getEstimatedTime = getEstimatedTime;
|
|
17
|
+
const types_1 = require("./types");
|
|
18
|
+
/**
|
|
19
|
+
* Scale route configurations
|
|
20
|
+
* Defines which phases, roles, and documents are required for each scale level.
|
|
21
|
+
*/
|
|
22
|
+
exports.SCALE_ROUTES = {
|
|
23
|
+
[types_1.ProjectScale.QUICK]: {
|
|
24
|
+
phases: ['E', 'V'],
|
|
25
|
+
roles: ['solo-dev'],
|
|
26
|
+
documents: ['code'],
|
|
27
|
+
skipReview: true,
|
|
28
|
+
},
|
|
29
|
+
[types_1.ProjectScale.SMALL]: {
|
|
30
|
+
phases: ['P', 'E', 'V'],
|
|
31
|
+
roles: ['planner', 'developer', 'qa'],
|
|
32
|
+
documents: ['tech-spec', 'code', 'test-report'],
|
|
33
|
+
},
|
|
34
|
+
[types_1.ProjectScale.MEDIUM]: {
|
|
35
|
+
phases: ['P', 'R', 'E', 'V'],
|
|
36
|
+
roles: ['planner', 'architect', 'developer', 'qa', 'reviewer'],
|
|
37
|
+
documents: ['prd', 'architecture', 'code', 'test-report', 'review'],
|
|
38
|
+
},
|
|
39
|
+
[types_1.ProjectScale.LARGE]: {
|
|
40
|
+
phases: ['P', 'R', 'E', 'V', 'C'],
|
|
41
|
+
roles: 'all',
|
|
42
|
+
documents: ['prd', 'architecture', 'code', 'test-report', 'documentation'],
|
|
43
|
+
},
|
|
44
|
+
[types_1.ProjectScale.ENTERPRISE]: {
|
|
45
|
+
phases: ['P', 'R', 'E', 'V', 'C'],
|
|
46
|
+
roles: 'all',
|
|
47
|
+
documents: 'all',
|
|
48
|
+
extras: ['security-audit', 'compliance-check', 'adr'],
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Keywords that indicate a bug fix
|
|
53
|
+
*/
|
|
54
|
+
const BUG_FIX_KEYWORDS = [
|
|
55
|
+
'fix',
|
|
56
|
+
'bug',
|
|
57
|
+
'hotfix',
|
|
58
|
+
'patch',
|
|
59
|
+
'correção',
|
|
60
|
+
'corrigir',
|
|
61
|
+
'erro',
|
|
62
|
+
'issue',
|
|
63
|
+
'problema',
|
|
64
|
+
];
|
|
65
|
+
/**
|
|
66
|
+
* Keywords that indicate a simple feature
|
|
67
|
+
*/
|
|
68
|
+
const SIMPLE_FEATURE_KEYWORDS = [
|
|
69
|
+
'add',
|
|
70
|
+
'adicionar',
|
|
71
|
+
'simple',
|
|
72
|
+
'simples',
|
|
73
|
+
'pequeno',
|
|
74
|
+
'small',
|
|
75
|
+
'minor',
|
|
76
|
+
'tweak',
|
|
77
|
+
'ajuste',
|
|
78
|
+
];
|
|
79
|
+
/**
|
|
80
|
+
* Keywords that indicate security/compliance requirements
|
|
81
|
+
*/
|
|
82
|
+
const SECURITY_KEYWORDS = [
|
|
83
|
+
'security',
|
|
84
|
+
'segurança',
|
|
85
|
+
'compliance',
|
|
86
|
+
'audit',
|
|
87
|
+
'auditoria',
|
|
88
|
+
'gdpr',
|
|
89
|
+
'lgpd',
|
|
90
|
+
'pci',
|
|
91
|
+
'hipaa',
|
|
92
|
+
'soc2',
|
|
93
|
+
];
|
|
94
|
+
/**
|
|
95
|
+
* Keywords that indicate documentation is needed
|
|
96
|
+
*/
|
|
97
|
+
const DOCUMENTATION_KEYWORDS = [
|
|
98
|
+
'document',
|
|
99
|
+
'documentar',
|
|
100
|
+
'docs',
|
|
101
|
+
'readme',
|
|
102
|
+
'api',
|
|
103
|
+
'public',
|
|
104
|
+
'externa',
|
|
105
|
+
'external',
|
|
106
|
+
];
|
|
107
|
+
/**
|
|
108
|
+
* Check if description indicates a bug fix
|
|
109
|
+
*/
|
|
110
|
+
function isBugFix(description) {
|
|
111
|
+
const lowerDesc = description.toLowerCase();
|
|
112
|
+
return BUG_FIX_KEYWORDS.some((keyword) => lowerDesc.includes(keyword));
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Check if description indicates a simple feature
|
|
116
|
+
*/
|
|
117
|
+
function isSimpleFeature(description) {
|
|
118
|
+
const lowerDesc = description.toLowerCase();
|
|
119
|
+
return SIMPLE_FEATURE_KEYWORDS.some((keyword) => lowerDesc.includes(keyword));
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Check if description indicates security/compliance requirements
|
|
123
|
+
*/
|
|
124
|
+
function requiresSecurityAudit(description) {
|
|
125
|
+
const lowerDesc = description.toLowerCase();
|
|
126
|
+
return SECURITY_KEYWORDS.some((keyword) => lowerDesc.includes(keyword));
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Check if description indicates documentation is needed
|
|
130
|
+
*/
|
|
131
|
+
function requiresDocumentation(description) {
|
|
132
|
+
const lowerDesc = description.toLowerCase();
|
|
133
|
+
return DOCUMENTATION_KEYWORDS.some((keyword) => lowerDesc.includes(keyword));
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Detect the appropriate project scale based on context
|
|
137
|
+
*/
|
|
138
|
+
function detectProjectScale(context) {
|
|
139
|
+
const { description, files = [], complexity, hasCompliance } = context;
|
|
140
|
+
// QUICK: Bug fixes, small refactorings
|
|
141
|
+
if (isBugFix(description) || (files.length <= 3 && !hasCompliance)) {
|
|
142
|
+
return types_1.ProjectScale.QUICK;
|
|
143
|
+
}
|
|
144
|
+
// ENTERPRISE: Compliance, critical security
|
|
145
|
+
if (hasCompliance || requiresSecurityAudit(description)) {
|
|
146
|
+
return types_1.ProjectScale.ENTERPRISE;
|
|
147
|
+
}
|
|
148
|
+
// SMALL: Simple features, no new architecture
|
|
149
|
+
if (isSimpleFeature(description) && files.length <= 10) {
|
|
150
|
+
return types_1.ProjectScale.SMALL;
|
|
151
|
+
}
|
|
152
|
+
// LARGE: Multiple modules, documentation needed
|
|
153
|
+
if (files.length > 30 ||
|
|
154
|
+
requiresDocumentation(description) ||
|
|
155
|
+
complexity === 'high') {
|
|
156
|
+
return types_1.ProjectScale.LARGE;
|
|
157
|
+
}
|
|
158
|
+
// MEDIUM: Default for regular features
|
|
159
|
+
return types_1.ProjectScale.MEDIUM;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Get the scale route for a specific scale level
|
|
163
|
+
*/
|
|
164
|
+
function getScaleRoute(scale) {
|
|
165
|
+
return exports.SCALE_ROUTES[scale];
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Get the phases required for a specific scale
|
|
169
|
+
*/
|
|
170
|
+
function getPhasesForScale(scale) {
|
|
171
|
+
return exports.SCALE_ROUTES[scale].phases;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Get the roles required for a specific scale
|
|
175
|
+
*/
|
|
176
|
+
function getRolesForScale(scale) {
|
|
177
|
+
return exports.SCALE_ROUTES[scale].roles;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Check if a phase is required for a specific scale
|
|
181
|
+
*/
|
|
182
|
+
function isPhaseRequiredForScale(phase, scale) {
|
|
183
|
+
return exports.SCALE_ROUTES[scale].phases.includes(phase);
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Get scale name for display
|
|
187
|
+
*/
|
|
188
|
+
function getScaleName(scale) {
|
|
189
|
+
const names = {
|
|
190
|
+
[types_1.ProjectScale.QUICK]: 'Quick',
|
|
191
|
+
[types_1.ProjectScale.SMALL]: 'Small',
|
|
192
|
+
[types_1.ProjectScale.MEDIUM]: 'Medium',
|
|
193
|
+
[types_1.ProjectScale.LARGE]: 'Large',
|
|
194
|
+
[types_1.ProjectScale.ENTERPRISE]: 'Enterprise',
|
|
195
|
+
};
|
|
196
|
+
return names[scale];
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Get scale from string name
|
|
200
|
+
*/
|
|
201
|
+
function getScaleFromName(name) {
|
|
202
|
+
const nameMap = {
|
|
203
|
+
quick: types_1.ProjectScale.QUICK,
|
|
204
|
+
small: types_1.ProjectScale.SMALL,
|
|
205
|
+
medium: types_1.ProjectScale.MEDIUM,
|
|
206
|
+
large: types_1.ProjectScale.LARGE,
|
|
207
|
+
enterprise: types_1.ProjectScale.ENTERPRISE,
|
|
208
|
+
};
|
|
209
|
+
return nameMap[name.toLowerCase()] ?? null;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Get estimated time for a scale level
|
|
213
|
+
*/
|
|
214
|
+
function getEstimatedTime(scale) {
|
|
215
|
+
const times = {
|
|
216
|
+
[types_1.ProjectScale.QUICK]: '~5 min',
|
|
217
|
+
[types_1.ProjectScale.SMALL]: '~15 min',
|
|
218
|
+
[types_1.ProjectScale.MEDIUM]: '~30 min',
|
|
219
|
+
[types_1.ProjectScale.LARGE]: '~1 hour',
|
|
220
|
+
[types_1.ProjectScale.ENTERPRISE]: '~2+ hours',
|
|
221
|
+
};
|
|
222
|
+
return times[scale];
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=scaling.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaling.js","sourceRoot":"","sources":["../../src/workflow/scaling.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skill Frontmatter Utilities
|
|
3
|
+
*
|
|
4
|
+
* Shared utilities for generating and parsing SKILL.md frontmatter.
|
|
5
|
+
* Follows DRY principle by centralizing frontmatter logic.
|
|
6
|
+
*/
|
|
7
|
+
import { SkillMetadata } from './types';
|
|
8
|
+
/**
|
|
9
|
+
* Generate YAML frontmatter string from metadata
|
|
10
|
+
*/
|
|
11
|
+
export declare function generateFrontmatter(metadata: SkillMetadata): string;
|
|
12
|
+
/**
|
|
13
|
+
* Wrap content with frontmatter
|
|
14
|
+
*/
|
|
15
|
+
export declare function wrapWithFrontmatter(metadata: SkillMetadata, content: string): string;
|
|
16
|
+
/**
|
|
17
|
+
* Parse YAML frontmatter from SKILL.md content
|
|
18
|
+
*/
|
|
19
|
+
export declare function parseFrontmatter(content: string): {
|
|
20
|
+
metadata: SkillMetadata;
|
|
21
|
+
body: string;
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=frontmatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frontmatter.d.ts","sourceRoot":"","sources":["../../../src/workflow/skills/frontmatter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxC;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAqBnE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAgD3F"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Skill Frontmatter Utilities
|
|
4
|
+
*
|
|
5
|
+
* Shared utilities for generating and parsing SKILL.md frontmatter.
|
|
6
|
+
* Follows DRY principle by centralizing frontmatter logic.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.generateFrontmatter = generateFrontmatter;
|
|
10
|
+
exports.wrapWithFrontmatter = wrapWithFrontmatter;
|
|
11
|
+
exports.parseFrontmatter = parseFrontmatter;
|
|
12
|
+
/**
|
|
13
|
+
* Generate YAML frontmatter string from metadata
|
|
14
|
+
*/
|
|
15
|
+
function generateFrontmatter(metadata) {
|
|
16
|
+
const lines = ['---'];
|
|
17
|
+
lines.push(`name: ${metadata.name}`);
|
|
18
|
+
lines.push(`description: ${metadata.description}`);
|
|
19
|
+
if (metadata.phases && metadata.phases.length > 0) {
|
|
20
|
+
lines.push(`phases: [${metadata.phases.join(', ')}]`);
|
|
21
|
+
}
|
|
22
|
+
if (metadata.mode !== undefined) {
|
|
23
|
+
lines.push(`mode: ${metadata.mode}`);
|
|
24
|
+
}
|
|
25
|
+
if (metadata.disableModelInvocation !== undefined) {
|
|
26
|
+
lines.push(`disable-model-invocation: ${metadata.disableModelInvocation}`);
|
|
27
|
+
}
|
|
28
|
+
lines.push('---');
|
|
29
|
+
return lines.join('\n');
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Wrap content with frontmatter
|
|
33
|
+
*/
|
|
34
|
+
function wrapWithFrontmatter(metadata, content) {
|
|
35
|
+
return `${generateFrontmatter(metadata)}\n\n${content}`;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Parse YAML frontmatter from SKILL.md content
|
|
39
|
+
*/
|
|
40
|
+
function parseFrontmatter(content) {
|
|
41
|
+
const defaultMetadata = {
|
|
42
|
+
name: '',
|
|
43
|
+
description: '',
|
|
44
|
+
};
|
|
45
|
+
if (!content.startsWith('---')) {
|
|
46
|
+
return { metadata: defaultMetadata, body: content };
|
|
47
|
+
}
|
|
48
|
+
const endIndex = content.indexOf('---', 3);
|
|
49
|
+
if (endIndex === -1) {
|
|
50
|
+
return { metadata: defaultMetadata, body: content };
|
|
51
|
+
}
|
|
52
|
+
const frontmatterRaw = content.substring(3, endIndex).trim();
|
|
53
|
+
const body = content.substring(endIndex + 3).trim();
|
|
54
|
+
const metadata = { ...defaultMetadata };
|
|
55
|
+
for (const line of frontmatterRaw.split('\n')) {
|
|
56
|
+
const colonIndex = line.indexOf(':');
|
|
57
|
+
if (colonIndex === -1)
|
|
58
|
+
continue;
|
|
59
|
+
const key = line.substring(0, colonIndex).trim();
|
|
60
|
+
const value = line.substring(colonIndex + 1).trim();
|
|
61
|
+
switch (key) {
|
|
62
|
+
case 'name':
|
|
63
|
+
metadata.name = stripQuotes(value);
|
|
64
|
+
break;
|
|
65
|
+
case 'description':
|
|
66
|
+
metadata.description = stripQuotes(value);
|
|
67
|
+
break;
|
|
68
|
+
case 'mode':
|
|
69
|
+
metadata.mode = value === 'true';
|
|
70
|
+
break;
|
|
71
|
+
case 'disable-model-invocation':
|
|
72
|
+
case 'disableModelInvocation':
|
|
73
|
+
metadata.disableModelInvocation = value === 'true';
|
|
74
|
+
break;
|
|
75
|
+
case 'phases':
|
|
76
|
+
metadata.phases = parsePhaseArray(value);
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return { metadata, body };
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Strip surrounding quotes from a string
|
|
84
|
+
*/
|
|
85
|
+
function stripQuotes(value) {
|
|
86
|
+
return value.replace(/^["']|["']$/g, '');
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Parse phases array from frontmatter value
|
|
90
|
+
*/
|
|
91
|
+
function parsePhaseArray(value) {
|
|
92
|
+
const match = value.match(/\[(.*)\]/);
|
|
93
|
+
if (!match)
|
|
94
|
+
return [];
|
|
95
|
+
return match[1]
|
|
96
|
+
.split(',')
|
|
97
|
+
.map((p) => p.trim().replace(/["']/g, ''))
|
|
98
|
+
.filter((p) => ['P', 'R', 'E', 'V', 'C'].includes(p));
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=frontmatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frontmatter.js","sourceRoot":"","sources":["../../../src/workflow/skills/frontmatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skills Module
|
|
3
|
+
*
|
|
4
|
+
* On-demand expertise for AI agents.
|
|
5
|
+
*/
|
|
6
|
+
export { Skill, SkillMetadata, SkillReference, DiscoveredSkills, BUILT_IN_SKILLS, BuiltInSkillType, isBuiltInSkill, SKILL_TO_PHASES, } from './types';
|
|
7
|
+
export { SkillRegistry, createSkillRegistry, } from './skillRegistry';
|
|
8
|
+
export { getBuiltInSkillTemplates, SkillTemplate, } from './skillTemplates';
|
|
9
|
+
export { generateFrontmatter, wrapWithFrontmatter, parseFrontmatter, } from './frontmatter';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/workflow/skills/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,KAAK,EACL,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,aAAa,EACb,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,wBAAwB,EACxB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Skills Module
|
|
4
|
+
*
|
|
5
|
+
* On-demand expertise for AI agents.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.parseFrontmatter = exports.wrapWithFrontmatter = exports.generateFrontmatter = exports.getBuiltInSkillTemplates = exports.createSkillRegistry = exports.SkillRegistry = exports.SKILL_TO_PHASES = exports.isBuiltInSkill = exports.BUILT_IN_SKILLS = void 0;
|
|
9
|
+
var types_1 = require("./types");
|
|
10
|
+
Object.defineProperty(exports, "BUILT_IN_SKILLS", { enumerable: true, get: function () { return types_1.BUILT_IN_SKILLS; } });
|
|
11
|
+
Object.defineProperty(exports, "isBuiltInSkill", { enumerable: true, get: function () { return types_1.isBuiltInSkill; } });
|
|
12
|
+
Object.defineProperty(exports, "SKILL_TO_PHASES", { enumerable: true, get: function () { return types_1.SKILL_TO_PHASES; } });
|
|
13
|
+
var skillRegistry_1 = require("./skillRegistry");
|
|
14
|
+
Object.defineProperty(exports, "SkillRegistry", { enumerable: true, get: function () { return skillRegistry_1.SkillRegistry; } });
|
|
15
|
+
Object.defineProperty(exports, "createSkillRegistry", { enumerable: true, get: function () { return skillRegistry_1.createSkillRegistry; } });
|
|
16
|
+
var skillTemplates_1 = require("./skillTemplates");
|
|
17
|
+
Object.defineProperty(exports, "getBuiltInSkillTemplates", { enumerable: true, get: function () { return skillTemplates_1.getBuiltInSkillTemplates; } });
|
|
18
|
+
var frontmatter_1 = require("./frontmatter");
|
|
19
|
+
Object.defineProperty(exports, "generateFrontmatter", { enumerable: true, get: function () { return frontmatter_1.generateFrontmatter; } });
|
|
20
|
+
Object.defineProperty(exports, "wrapWithFrontmatter", { enumerable: true, get: function () { return frontmatter_1.wrapWithFrontmatter; } });
|
|
21
|
+
Object.defineProperty(exports, "parseFrontmatter", { enumerable: true, get: function () { return frontmatter_1.parseFrontmatter; } });
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/workflow/skills/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,iCASiB;AAJf,wGAAA,eAAe,OAAA;AAEf,uGAAA,cAAc,OAAA;AACd,wGAAA,eAAe,OAAA;AAGjB,iDAGyB;AAFvB,8GAAA,aAAa,OAAA;AACb,oHAAA,mBAAmB,OAAA;AAGrB,mDAG0B;AAFxB,0HAAA,wBAAwB,OAAA;AAI1B,6CAIuB;AAHrB,kHAAA,mBAAmB,OAAA;AACnB,kHAAA,mBAAmB,OAAA;AACnB,+GAAA,gBAAgB,OAAA"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skill Registry
|
|
3
|
+
*
|
|
4
|
+
* Centralized management for skill discovery and metadata retrieval.
|
|
5
|
+
* Supports both built-in and custom skills.
|
|
6
|
+
*/
|
|
7
|
+
import { Skill, DiscoveredSkills } from './types';
|
|
8
|
+
import { PrevcPhase } from '../types';
|
|
9
|
+
export declare class SkillRegistry {
|
|
10
|
+
private readonly repoPath;
|
|
11
|
+
private readonly contextPath;
|
|
12
|
+
private cache;
|
|
13
|
+
constructor(repoPath: string);
|
|
14
|
+
/**
|
|
15
|
+
* Discover all available skills (built-in + custom)
|
|
16
|
+
*/
|
|
17
|
+
discoverAll(): Promise<DiscoveredSkills>;
|
|
18
|
+
/**
|
|
19
|
+
* Get skill metadata by slug
|
|
20
|
+
*/
|
|
21
|
+
getSkillMetadata(slug: string): Promise<Skill | null>;
|
|
22
|
+
/**
|
|
23
|
+
* Get skill content (full SKILL.md)
|
|
24
|
+
*/
|
|
25
|
+
getSkillContent(slug: string): Promise<string | null>;
|
|
26
|
+
/**
|
|
27
|
+
* Get skills for a PREVC phase
|
|
28
|
+
*/
|
|
29
|
+
getSkillsForPhase(phase: PrevcPhase): Promise<Skill[]>;
|
|
30
|
+
/**
|
|
31
|
+
* Clear cache
|
|
32
|
+
*/
|
|
33
|
+
clearCache(): void;
|
|
34
|
+
/**
|
|
35
|
+
* Discover built-in skills from templates
|
|
36
|
+
*/
|
|
37
|
+
private discoverBuiltInSkills;
|
|
38
|
+
/**
|
|
39
|
+
* Discover custom skills from .context/skills/
|
|
40
|
+
*/
|
|
41
|
+
private discoverCustomSkills;
|
|
42
|
+
/**
|
|
43
|
+
* Parse a SKILL.md file
|
|
44
|
+
*/
|
|
45
|
+
private parseSkillFile;
|
|
46
|
+
/**
|
|
47
|
+
* Discover resource files in skill directory
|
|
48
|
+
*/
|
|
49
|
+
private discoverResources;
|
|
50
|
+
private discoverResourcesRecursive;
|
|
51
|
+
/**
|
|
52
|
+
* Create a virtual built-in skill (not yet scaffolded)
|
|
53
|
+
*/
|
|
54
|
+
private createBuiltInSkill;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Factory function
|
|
58
|
+
*/
|
|
59
|
+
export declare function createSkillRegistry(repoPath: string): SkillRegistry;
|
|
60
|
+
//# sourceMappingURL=skillRegistry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skillRegistry.d.ts","sourceRoot":"","sources":["../../../src/workflow/skills/skillRegistry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EACL,KAAK,EAEL,gBAAgB,EAKjB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAKtC,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,KAAK,CAAiC;gBAElC,QAAQ,EAAE,MAAM;IAK5B;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAiB9C;;OAEG;IACG,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAK3D;;OAEG;IACG,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAY3D;;OAEG;IACG,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAK5D;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkC5B;;OAEG;IACH,OAAO,CAAC,cAAc;IA2BtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,0BAA0B;IAqBlC;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAmB3B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAEnE"}
|