@dotcontext/cli 0.8.1 → 0.9.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/LICENSE +1 -1
- package/README.md +234 -135
- package/dist/cli/index.d.ts +15 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +27 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/generators/documentation/codebaseMapGenerator.d.ts +29 -46
- package/dist/generators/documentation/codebaseMapGenerator.d.ts.map +1 -1
- package/dist/generators/documentation/codebaseMapGenerator.js +148 -244
- package/dist/generators/documentation/codebaseMapGenerator.js.map +1 -1
- package/dist/generators/documentation/documentationGenerator.d.ts.map +1 -1
- package/dist/generators/documentation/documentationGenerator.js +13 -8
- package/dist/generators/documentation/documentationGenerator.js.map +1 -1
- package/dist/generators/documentation/index.d.ts +1 -1
- package/dist/generators/documentation/index.d.ts.map +1 -1
- package/dist/generators/shared/structures/documentation/architecture.d.ts.map +1 -1
- package/dist/generators/shared/structures/documentation/architecture.js +9 -9
- package/dist/generators/shared/structures/documentation/architecture.js.map +1 -1
- package/dist/generators/shared/structures/documentation/dataFlow.js +2 -2
- package/dist/generators/shared/structures/documentation/dataFlow.js.map +1 -1
- package/dist/generators/shared/structures/documentation/glossary.js +2 -2
- package/dist/generators/shared/structures/documentation/glossary.js.map +1 -1
- package/dist/generators/shared/structures/documentation/projectOverview.d.ts.map +1 -1
- package/dist/generators/shared/structures/documentation/projectOverview.js +10 -11
- package/dist/generators/shared/structures/documentation/projectOverview.js.map +1 -1
- package/dist/generators/shared/structures/skills/factory.d.ts.map +1 -1
- package/dist/generators/shared/structures/skills/factory.js +19 -15
- package/dist/generators/shared/structures/skills/factory.js.map +1 -1
- package/dist/generators/skills/skillGenerator.d.ts +2 -1
- package/dist/generators/skills/skillGenerator.d.ts.map +1 -1
- package/dist/generators/skills/skillGenerator.js +47 -6
- package/dist/generators/skills/skillGenerator.js.map +1 -1
- package/dist/generators/skills/templates/indexTemplate.d.ts.map +1 -1
- package/dist/generators/skills/templates/indexTemplate.js +22 -15
- package/dist/generators/skills/templates/indexTemplate.js.map +1 -1
- package/dist/harness/index.d.ts +11 -0
- package/dist/harness/index.d.ts.map +1 -0
- package/dist/harness/index.js +33 -0
- package/dist/harness/index.js.map +1 -0
- package/dist/index.js +365 -339
- package/dist/index.js.map +1 -1
- package/dist/mcp/bin.d.ts +19 -0
- package/dist/mcp/bin.d.ts.map +1 -0
- package/dist/mcp/bin.js +189 -0
- package/dist/mcp/bin.js.map +1 -0
- package/dist/mcp/index.d.ts +12 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +28 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/services/autoFill/autoFillService.d.ts.map +1 -1
- package/dist/services/autoFill/autoFillService.js +7 -6
- package/dist/services/autoFill/autoFillService.js.map +1 -1
- package/dist/services/cli/index.d.ts +8 -0
- package/dist/services/cli/index.d.ts.map +1 -0
- package/dist/services/cli/index.js +17 -0
- package/dist/services/cli/index.js.map +1 -0
- package/dist/services/cli/mcpInstallService.d.ts +57 -0
- package/dist/services/cli/mcpInstallService.d.ts.map +1 -0
- package/dist/services/cli/mcpInstallService.js +607 -0
- package/dist/services/cli/mcpInstallService.js.map +1 -0
- package/dist/services/cli/stateDetector.d.ts +55 -0
- package/dist/services/cli/stateDetector.d.ts.map +1 -0
- package/dist/services/cli/stateDetector.js +191 -0
- package/dist/services/cli/stateDetector.js.map +1 -0
- package/dist/services/export/contextExportService.js +3 -3
- package/dist/services/export/contextExportService.js.map +1 -1
- package/dist/services/export/exportRulesService.d.ts +1 -0
- package/dist/services/export/exportRulesService.d.ts.map +1 -1
- package/dist/services/export/exportRulesService.js +20 -8
- package/dist/services/export/exportRulesService.js.map +1 -1
- package/dist/services/export/skillExportService.d.ts.map +1 -1
- package/dist/services/export/skillExportService.js +4 -1
- package/dist/services/export/skillExportService.js.map +1 -1
- package/dist/services/harness/agentsService.d.ts +31 -0
- package/dist/services/harness/agentsService.d.ts.map +1 -0
- package/dist/services/harness/agentsService.js +135 -0
- package/dist/services/harness/agentsService.js.map +1 -0
- package/dist/services/harness/contextService.d.ts +167 -0
- package/dist/services/harness/contextService.d.ts.map +1 -0
- package/dist/services/harness/contextService.js +403 -0
- package/dist/services/harness/contextService.js.map +1 -0
- package/dist/services/harness/contextTools.d.ts +95 -0
- package/dist/services/harness/contextTools.d.ts.map +1 -0
- package/dist/services/harness/contextTools.js +990 -0
- package/dist/services/harness/contextTools.js.map +1 -0
- package/dist/services/harness/datasetService.d.ts +63 -0
- package/dist/services/harness/datasetService.d.ts.map +1 -0
- package/dist/services/harness/datasetService.js +261 -0
- package/dist/services/harness/datasetService.js.map +1 -0
- package/dist/services/harness/executionService.d.ts +74 -0
- package/dist/services/harness/executionService.d.ts.map +1 -0
- package/dist/services/harness/executionService.js +213 -0
- package/dist/services/harness/executionService.js.map +1 -0
- package/dist/services/harness/index.d.ts +21 -0
- package/dist/services/harness/index.d.ts.map +1 -0
- package/dist/services/harness/index.js +52 -0
- package/dist/services/harness/index.js.map +1 -0
- package/dist/services/harness/plansService.d.ts +45 -0
- package/dist/services/harness/plansService.d.ts.map +1 -0
- package/dist/services/harness/plansService.js +251 -0
- package/dist/services/harness/plansService.js.map +1 -0
- package/dist/services/harness/policyService.d.ts +116 -0
- package/dist/services/harness/policyService.d.ts.map +1 -0
- package/dist/services/harness/policyService.js +510 -0
- package/dist/services/harness/policyService.js.map +1 -0
- package/dist/services/harness/replayService.d.ts +63 -0
- package/dist/services/harness/replayService.d.ts.map +1 -0
- package/dist/services/harness/replayService.js +242 -0
- package/dist/services/harness/replayService.js.map +1 -0
- package/dist/services/harness/runtimeStateService.d.ts +120 -0
- package/dist/services/harness/runtimeStateService.d.ts.map +1 -0
- package/dist/services/harness/runtimeStateService.js +316 -0
- package/dist/services/harness/runtimeStateService.js.map +1 -0
- package/dist/services/harness/sensorCatalogService.d.ts +50 -0
- package/dist/services/harness/sensorCatalogService.d.ts.map +1 -0
- package/dist/services/harness/sensorCatalogService.js +308 -0
- package/dist/services/harness/sensorCatalogService.js.map +1 -0
- package/dist/services/harness/sensorsService.d.ts +64 -0
- package/dist/services/harness/sensorsService.d.ts.map +1 -0
- package/dist/services/harness/sensorsService.js +88 -0
- package/dist/services/harness/sensorsService.js.map +1 -0
- package/dist/services/harness/skillsService.d.ts +31 -0
- package/dist/services/harness/skillsService.d.ts.map +1 -0
- package/dist/services/harness/skillsService.js +296 -0
- package/dist/services/harness/skillsService.js.map +1 -0
- package/dist/services/harness/taskContractsService.d.ts +88 -0
- package/dist/services/harness/taskContractsService.d.ts.map +1 -0
- package/dist/services/harness/taskContractsService.js +210 -0
- package/dist/services/harness/taskContractsService.js.map +1 -0
- package/dist/services/harness/workflowStateService.d.ts +51 -0
- package/dist/services/harness/workflowStateService.d.ts.map +1 -0
- package/dist/services/harness/workflowStateService.js +215 -0
- package/dist/services/harness/workflowStateService.js.map +1 -0
- package/dist/services/import/agentsDetector.d.ts.map +1 -1
- package/dist/services/import/agentsDetector.js +14 -8
- package/dist/services/import/agentsDetector.js.map +1 -1
- package/dist/services/import/importAgentsService.d.ts +2 -2
- package/dist/services/import/importAgentsService.d.ts.map +1 -1
- package/dist/services/import/importAgentsService.js +8 -1
- package/dist/services/import/importAgentsService.js.map +1 -1
- package/dist/services/import/importRulesService.d.ts +2 -2
- package/dist/services/import/importRulesService.d.ts.map +1 -1
- package/dist/services/import/importRulesService.js +8 -1
- package/dist/services/import/importRulesService.js.map +1 -1
- package/dist/services/import/presets.js +2 -2
- package/dist/services/import/presets.js.map +1 -1
- package/dist/services/import/rulesDetector.d.ts.map +1 -1
- package/dist/services/import/rulesDetector.js +16 -1
- package/dist/services/import/rulesDetector.js.map +1 -1
- package/dist/services/import/types.d.ts +1 -1
- package/dist/services/import/types.d.ts.map +1 -1
- package/dist/services/mcp/actionLogger.d.ts +2 -1
- package/dist/services/mcp/actionLogger.d.ts.map +1 -1
- package/dist/services/mcp/actionLogger.js +76 -15
- package/dist/services/mcp/actionLogger.js.map +1 -1
- package/dist/services/mcp/gateway/agent.d.ts.map +1 -1
- package/dist/services/mcp/gateway/agent.js +15 -104
- package/dist/services/mcp/gateway/agent.js.map +1 -1
- package/dist/services/mcp/gateway/context.d.ts.map +1 -1
- package/dist/services/mcp/gateway/context.js +60 -172
- package/dist/services/mcp/gateway/context.js.map +1 -1
- package/dist/services/mcp/gateway/explore.js +6 -6
- package/dist/services/mcp/gateway/explore.js.map +1 -1
- package/dist/services/mcp/gateway/harness.d.ts +7 -0
- package/dist/services/mcp/gateway/harness.d.ts.map +1 -0
- package/dist/services/mcp/gateway/harness.js +337 -0
- package/dist/services/mcp/gateway/harness.js.map +1 -0
- package/dist/services/mcp/gateway/index.d.ts +3 -2
- package/dist/services/mcp/gateway/index.d.ts.map +1 -1
- package/dist/services/mcp/gateway/index.js +4 -2
- package/dist/services/mcp/gateway/index.js.map +1 -1
- package/dist/services/mcp/gateway/metrics.d.ts.map +1 -1
- package/dist/services/mcp/gateway/metrics.js +8 -8
- package/dist/services/mcp/gateway/metrics.js.map +1 -1
- package/dist/services/mcp/gateway/plan.d.ts.map +1 -1
- package/dist/services/mcp/gateway/plan.js +23 -211
- package/dist/services/mcp/gateway/plan.js.map +1 -1
- package/dist/services/mcp/gateway/shared.d.ts +1 -32
- package/dist/services/mcp/gateway/shared.d.ts.map +1 -1
- package/dist/services/mcp/gateway/shared.js +4 -30
- package/dist/services/mcp/gateway/shared.js.map +1 -1
- package/dist/services/mcp/gateway/skill.d.ts.map +1 -1
- package/dist/services/mcp/gateway/skill.js +14 -281
- package/dist/services/mcp/gateway/skill.js.map +1 -1
- package/dist/services/mcp/gateway/types.d.ts +74 -3
- package/dist/services/mcp/gateway/types.d.ts.map +1 -1
- package/dist/services/mcp/gateway/workflowAdvance.d.ts.map +1 -1
- package/dist/services/mcp/gateway/workflowAdvance.js +37 -9
- package/dist/services/mcp/gateway/workflowAdvance.js.map +1 -1
- package/dist/services/mcp/gateway/workflowInit.d.ts.map +1 -1
- package/dist/services/mcp/gateway/workflowInit.js +8 -2
- package/dist/services/mcp/gateway/workflowInit.js.map +1 -1
- package/dist/services/mcp/gateway/workflowManage.d.ts +17 -1
- package/dist/services/mcp/gateway/workflowManage.d.ts.map +1 -1
- package/dist/services/mcp/gateway/workflowManage.js +155 -10
- package/dist/services/mcp/gateway/workflowManage.js.map +1 -1
- package/dist/services/mcp/gateway/workflowStatus.d.ts.map +1 -1
- package/dist/services/mcp/gateway/workflowStatus.js +5 -3
- package/dist/services/mcp/gateway/workflowStatus.js.map +1 -1
- package/dist/services/mcp/gatewayTools.d.ts +1 -1
- package/dist/services/mcp/gatewayTools.d.ts.map +1 -1
- package/dist/services/mcp/gatewayTools.js +2 -1
- package/dist/services/mcp/gatewayTools.js.map +1 -1
- package/dist/services/mcp/index.d.ts +10 -4
- package/dist/services/mcp/index.d.ts.map +1 -1
- package/dist/services/mcp/index.js +9 -3
- package/dist/services/mcp/index.js.map +1 -1
- package/dist/services/mcp/mcpInstallService.d.ts +4 -52
- package/dist/services/mcp/mcpInstallService.d.ts.map +1 -1
- package/dist/services/mcp/mcpInstallService.js +5 -596
- package/dist/services/mcp/mcpInstallService.js.map +1 -1
- package/dist/services/mcp/mcpServer.d.ts +5 -6
- package/dist/services/mcp/mcpServer.d.ts.map +1 -1
- package/dist/services/mcp/mcpServer.js +220 -28
- package/dist/services/mcp/mcpServer.js.map +1 -1
- package/dist/services/qa/patternInferer.d.ts +2 -31
- package/dist/services/qa/patternInferer.d.ts.map +1 -1
- package/dist/services/qa/patternInferer.js +4 -353
- package/dist/services/qa/patternInferer.js.map +1 -1
- package/dist/services/qa/qaService.d.ts +6 -10
- package/dist/services/qa/qaService.d.ts.map +1 -1
- package/dist/services/qa/qaService.js +17 -53
- package/dist/services/qa/qaService.js.map +1 -1
- package/dist/services/reverseSync/importSkillsService.d.ts.map +1 -1
- package/dist/services/reverseSync/importSkillsService.js +4 -1
- package/dist/services/reverseSync/importSkillsService.js.map +1 -1
- package/dist/services/reverseSync/reverseQuickSyncService.d.ts.map +1 -1
- package/dist/services/reverseSync/reverseQuickSyncService.js +10 -6
- package/dist/services/reverseSync/reverseQuickSyncService.js.map +1 -1
- package/dist/services/reverseSync/skillsDetector.js +2 -2
- package/dist/services/reverseSync/skillsDetector.js.map +1 -1
- package/dist/services/reverseSync/toolDetector.d.ts.map +1 -1
- package/dist/services/reverseSync/toolDetector.js +3 -0
- package/dist/services/reverseSync/toolDetector.js.map +1 -1
- package/dist/services/semantic/index.d.ts +1 -0
- package/dist/services/semantic/index.d.ts.map +1 -1
- package/dist/services/semantic/index.js +3 -1
- package/dist/services/semantic/index.js.map +1 -1
- package/dist/services/semantic/semanticSnapshotService.d.ts +86 -0
- package/dist/services/semantic/semanticSnapshotService.d.ts.map +1 -0
- package/dist/services/semantic/semanticSnapshotService.js +573 -0
- package/dist/services/semantic/semanticSnapshotService.js.map +1 -0
- package/dist/services/shared/contentTypeRegistry.d.ts.map +1 -1
- package/dist/services/shared/contentTypeRegistry.js +9 -0
- package/dist/services/shared/contentTypeRegistry.js.map +1 -1
- package/dist/services/shared/contextLayout.d.ts +18 -0
- package/dist/services/shared/contextLayout.d.ts.map +1 -0
- package/dist/services/shared/contextLayout.js +139 -0
- package/dist/services/shared/contextLayout.js.map +1 -0
- package/dist/services/shared/executionContext.d.ts +38 -0
- package/dist/services/shared/executionContext.d.ts.map +1 -0
- package/dist/services/shared/executionContext.js +39 -0
- package/dist/services/shared/executionContext.js.map +1 -0
- package/dist/services/shared/index.d.ts +2 -0
- package/dist/services/shared/index.d.ts.map +1 -1
- package/dist/services/shared/index.js +11 -1
- package/dist/services/shared/index.js.map +1 -1
- package/dist/services/shared/toolRegistry.d.ts +6 -0
- package/dist/services/shared/toolRegistry.d.ts.map +1 -1
- package/dist/services/shared/toolRegistry.js +34 -20
- package/dist/services/shared/toolRegistry.js.map +1 -1
- package/dist/services/stack/scaffoldFilter.d.ts +3 -3
- package/dist/services/state/stateDetector.d.ts +4 -49
- package/dist/services/state/stateDetector.d.ts.map +1 -1
- package/dist/services/state/stateDetector.js +9 -182
- package/dist/services/state/stateDetector.js.map +1 -1
- package/dist/services/sync/index.d.ts +1 -1
- package/dist/services/sync/index.d.ts.map +1 -1
- package/dist/services/sync/index.js.map +1 -1
- package/dist/services/sync/markdownReferenceHandler.d.ts.map +1 -1
- package/dist/services/sync/markdownReferenceHandler.js +7 -2
- package/dist/services/sync/markdownReferenceHandler.js.map +1 -1
- package/dist/services/sync/presets.d.ts.map +1 -1
- package/dist/services/sync/presets.js +1 -0
- package/dist/services/sync/presets.js.map +1 -1
- package/dist/services/sync/symlinkHandler.d.ts.map +1 -1
- package/dist/services/sync/symlinkHandler.js +7 -2
- package/dist/services/sync/symlinkHandler.js.map +1 -1
- package/dist/services/sync/syncService.d.ts +2 -2
- package/dist/services/sync/syncService.d.ts.map +1 -1
- package/dist/services/sync/syncService.js +17 -3
- package/dist/services/sync/syncService.js.map +1 -1
- package/dist/services/sync/types.d.ts +9 -1
- package/dist/services/sync/types.d.ts.map +1 -1
- package/dist/services/workflow/index.d.ts +1 -1
- package/dist/services/workflow/index.d.ts.map +1 -1
- package/dist/services/workflow/index.js +2 -1
- package/dist/services/workflow/index.js.map +1 -1
- package/dist/services/workflow/workflowService.d.ts +68 -0
- package/dist/services/workflow/workflowService.d.ts.map +1 -1
- package/dist/services/workflow/workflowService.js +416 -1
- package/dist/services/workflow/workflowService.js.map +1 -1
- package/dist/utils/gitignoreManager.d.ts +8 -0
- package/dist/utils/gitignoreManager.d.ts.map +1 -1
- package/dist/utils/gitignoreManager.js +40 -0
- package/dist/utils/gitignoreManager.js.map +1 -1
- package/dist/utils/i18n.d.ts +1 -1
- package/dist/utils/i18n.js +2 -2
- package/dist/utils/i18n.js.map +1 -1
- package/dist/utils/processShutdown.d.ts +20 -0
- package/dist/utils/processShutdown.d.ts.map +1 -0
- package/dist/utils/processShutdown.js +47 -0
- package/dist/utils/processShutdown.js.map +1 -0
- package/dist/utils/prompts/index.d.ts +1 -1
- package/dist/utils/prompts/index.d.ts.map +1 -1
- package/dist/utils/prompts/index.js +1 -3
- package/dist/utils/prompts/index.js.map +1 -1
- package/dist/utils/prompts/smartDefaults.d.ts +0 -9
- package/dist/utils/prompts/smartDefaults.d.ts.map +1 -1
- package/dist/utils/prompts/smartDefaults.js +0 -23
- package/dist/utils/prompts/smartDefaults.js.map +1 -1
- package/dist/utils/prompts/types.d.ts +0 -11
- package/dist/utils/prompts/types.d.ts.map +1 -1
- package/dist/utils/versionChecker.d.ts.map +1 -1
- package/dist/utils/versionChecker.js +17 -8
- package/dist/utils/versionChecker.js.map +1 -1
- package/dist/workflow/index.d.ts +1 -1
- package/dist/workflow/index.d.ts.map +1 -1
- package/dist/workflow/index.js +6 -1
- package/dist/workflow/index.js.map +1 -1
- package/dist/workflow/orchestrator.d.ts.map +1 -1
- package/dist/workflow/orchestrator.js +3 -14
- package/dist/workflow/orchestrator.js.map +1 -1
- package/dist/workflow/plans/planLinker.d.ts +13 -0
- package/dist/workflow/plans/planLinker.d.ts.map +1 -1
- package/dist/workflow/plans/planLinker.js +77 -2
- package/dist/workflow/plans/planLinker.js.map +1 -1
- package/dist/workflow/plans/types.d.ts +6 -0
- package/dist/workflow/plans/types.d.ts.map +1 -1
- package/dist/workflow/skills/frontmatter.d.ts +9 -0
- package/dist/workflow/skills/frontmatter.d.ts.map +1 -1
- package/dist/workflow/skills/frontmatter.js +16 -0
- package/dist/workflow/skills/frontmatter.js.map +1 -1
- package/dist/workflow/skills/index.d.ts +1 -1
- package/dist/workflow/skills/index.d.ts.map +1 -1
- package/dist/workflow/skills/index.js +3 -1
- package/dist/workflow/skills/index.js.map +1 -1
- package/dist/workflow/skills/skillRegistry.d.ts.map +1 -1
- package/dist/workflow/skills/skillRegistry.js +4 -1
- package/dist/workflow/skills/skillRegistry.js.map +1 -1
- package/dist/workflow/skills/skillTemplates.d.ts.map +1 -1
- package/dist/workflow/skills/skillTemplates.js +69 -30
- package/dist/workflow/skills/skillTemplates.js.map +1 -1
- package/dist/workflow/status/statusManager.d.ts +8 -3
- package/dist/workflow/status/statusManager.d.ts.map +1 -1
- package/dist/workflow/status/statusManager.js +60 -21
- package/dist/workflow/status/statusManager.js.map +1 -1
- package/dist/workflow/types.d.ts +1 -1
- package/package.json +19 -11
- package/dist/services/ai/aiSdkClient.d.ts +0 -67
- package/dist/services/ai/aiSdkClient.d.ts.map +0 -1
- package/dist/services/ai/aiSdkClient.js +0 -143
- package/dist/services/ai/aiSdkClient.js.map +0 -1
- package/dist/services/ai/index.d.ts +0 -5
- package/dist/services/ai/index.d.ts.map +0 -1
- package/dist/services/ai/index.js +0 -40
- package/dist/services/ai/index.js.map +0 -1
- package/dist/services/ai/providerFactory.d.ts +0 -35
- package/dist/services/ai/providerFactory.d.ts.map +0 -1
- package/dist/services/ai/providerFactory.js +0 -107
- package/dist/services/ai/providerFactory.js.map +0 -1
- package/dist/services/ai/schemas.d.ts +0 -557
- package/dist/services/ai/schemas.d.ts.map +0 -1
- package/dist/services/ai/schemas.js +0 -357
- package/dist/services/ai/schemas.js.map +0 -1
- package/dist/services/ai/toolRegistry.d.ts +0 -27
- package/dist/services/ai/toolRegistry.d.ts.map +0 -1
- package/dist/services/ai/toolRegistry.js +0 -151
- package/dist/services/ai/toolRegistry.js.map +0 -1
- package/dist/services/ai/tools/analyzeSymbolsTool.d.ts +0 -33
- package/dist/services/ai/tools/analyzeSymbolsTool.d.ts.map +0 -1
- package/dist/services/ai/tools/analyzeSymbolsTool.js +0 -57
- package/dist/services/ai/tools/analyzeSymbolsTool.js.map +0 -1
- package/dist/services/ai/tools/checkScaffoldingTool.d.ts +0 -18
- package/dist/services/ai/tools/checkScaffoldingTool.d.ts.map +0 -1
- package/dist/services/ai/tools/checkScaffoldingTool.js +0 -89
- package/dist/services/ai/tools/checkScaffoldingTool.js.map +0 -1
- package/dist/services/ai/tools/fillScaffoldingTool.d.ts +0 -124
- package/dist/services/ai/tools/fillScaffoldingTool.d.ts.map +0 -1
- package/dist/services/ai/tools/fillScaffoldingTool.js +0 -397
- package/dist/services/ai/tools/fillScaffoldingTool.js.map +0 -1
- package/dist/services/ai/tools/getCodebaseMapTool.d.ts +0 -17
- package/dist/services/ai/tools/getCodebaseMapTool.d.ts.map +0 -1
- package/dist/services/ai/tools/getCodebaseMapTool.js +0 -122
- package/dist/services/ai/tools/getCodebaseMapTool.js.map +0 -1
- package/dist/services/ai/tools/getFileStructureTool.d.ts +0 -29
- package/dist/services/ai/tools/getFileStructureTool.d.ts.map +0 -1
- package/dist/services/ai/tools/getFileStructureTool.js +0 -48
- package/dist/services/ai/tools/getFileStructureTool.js.map +0 -1
- package/dist/services/ai/tools/index.d.ts +0 -21
- package/dist/services/ai/tools/index.d.ts.map +0 -1
- package/dist/services/ai/tools/index.js +0 -75
- package/dist/services/ai/tools/index.js.map +0 -1
- package/dist/services/ai/tools/initializeContextTool.d.ts +0 -135
- package/dist/services/ai/tools/initializeContextTool.d.ts.map +0 -1
- package/dist/services/ai/tools/initializeContextTool.js +0 -447
- package/dist/services/ai/tools/initializeContextTool.js.map +0 -1
- package/dist/services/ai/tools/listFilesTool.d.ts +0 -18
- package/dist/services/ai/tools/listFilesTool.d.ts.map +0 -1
- package/dist/services/ai/tools/listFilesTool.js +0 -34
- package/dist/services/ai/tools/listFilesTool.js.map +0 -1
- package/dist/services/ai/tools/readFileTool.d.ts +0 -17
- package/dist/services/ai/tools/readFileTool.d.ts.map +0 -1
- package/dist/services/ai/tools/readFileTool.js +0 -63
- package/dist/services/ai/tools/readFileTool.js.map +0 -1
- package/dist/services/ai/tools/scaffoldPlanTool.d.ts +0 -41
- package/dist/services/ai/tools/scaffoldPlanTool.d.ts.map +0 -1
- package/dist/services/ai/tools/scaffoldPlanTool.js +0 -183
- package/dist/services/ai/tools/scaffoldPlanTool.js.map +0 -1
- package/dist/services/ai/tools/searchCodeTool.d.ts +0 -25
- package/dist/services/ai/tools/searchCodeTool.d.ts.map +0 -1
- package/dist/services/ai/tools/searchCodeTool.js +0 -96
- package/dist/services/ai/tools/searchCodeTool.js.map +0 -1
- package/dist/services/baseLLMClient.d.ts +0 -12
- package/dist/services/baseLLMClient.d.ts.map +0 -1
- package/dist/services/baseLLMClient.js +0 -80
- package/dist/services/baseLLMClient.js.map +0 -1
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HarnessExecutionService = void 0;
|
|
4
|
+
const runtimeStateService_1 = require("./runtimeStateService");
|
|
5
|
+
const sensorsService_1 = require("./sensorsService");
|
|
6
|
+
const taskContractsService_1 = require("./taskContractsService");
|
|
7
|
+
const policyService_1 = require("./policyService");
|
|
8
|
+
const replayService_1 = require("./replayService");
|
|
9
|
+
const datasetService_1 = require("./datasetService");
|
|
10
|
+
class HarnessExecutionService {
|
|
11
|
+
constructor(options) {
|
|
12
|
+
this.options = options;
|
|
13
|
+
this.state = new runtimeStateService_1.HarnessRuntimeStateService({ repoPath: options.repoPath });
|
|
14
|
+
this.sensors = new sensorsService_1.HarnessSensorsService({ stateService: this.state });
|
|
15
|
+
this.contracts = new taskContractsService_1.HarnessTaskContractsService({
|
|
16
|
+
repoPath: options.repoPath,
|
|
17
|
+
stateService: this.state,
|
|
18
|
+
});
|
|
19
|
+
this.policy = new policyService_1.HarnessPolicyService({ repoPath: options.repoPath });
|
|
20
|
+
this.replay = new replayService_1.HarnessReplayService({
|
|
21
|
+
repoPath: options.repoPath,
|
|
22
|
+
dependencies: {
|
|
23
|
+
stateService: this.state,
|
|
24
|
+
sensorsService: this.sensors,
|
|
25
|
+
contractsService: this.contracts,
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
this.datasets = new datasetService_1.HarnessDatasetService({
|
|
29
|
+
repoPath: options.repoPath,
|
|
30
|
+
dependencies: {
|
|
31
|
+
stateService: this.state,
|
|
32
|
+
replayService: this.replay,
|
|
33
|
+
taskContractsService: this.contracts,
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
createSession(input) {
|
|
38
|
+
return this.state.createSession(input);
|
|
39
|
+
}
|
|
40
|
+
listSessions() {
|
|
41
|
+
return this.state.listSessions();
|
|
42
|
+
}
|
|
43
|
+
getSession(sessionId) {
|
|
44
|
+
return this.state.getSession(sessionId);
|
|
45
|
+
}
|
|
46
|
+
appendTrace(sessionId, input) {
|
|
47
|
+
return this.state.appendTrace(sessionId, input);
|
|
48
|
+
}
|
|
49
|
+
listTraces(sessionId) {
|
|
50
|
+
return this.state.listTraces(sessionId);
|
|
51
|
+
}
|
|
52
|
+
async addArtifact(sessionId, input) {
|
|
53
|
+
await this.policy.authorize({
|
|
54
|
+
tool: 'harness',
|
|
55
|
+
action: 'addArtifact',
|
|
56
|
+
paths: input.path ? [input.path] : undefined,
|
|
57
|
+
risk: 'medium',
|
|
58
|
+
metadata: input.metadata,
|
|
59
|
+
});
|
|
60
|
+
return this.state.addArtifact(sessionId, input);
|
|
61
|
+
}
|
|
62
|
+
listArtifacts(sessionId) {
|
|
63
|
+
return this.state.listArtifacts(sessionId);
|
|
64
|
+
}
|
|
65
|
+
async checkpointSession(sessionId, input = {}) {
|
|
66
|
+
await this.policy.authorize({
|
|
67
|
+
tool: 'harness',
|
|
68
|
+
action: 'checkpoint',
|
|
69
|
+
risk: input.pause ? 'high' : 'low',
|
|
70
|
+
metadata: { note: input.note },
|
|
71
|
+
});
|
|
72
|
+
return this.state.checkpointSession(sessionId, input);
|
|
73
|
+
}
|
|
74
|
+
resumeSession(sessionId) {
|
|
75
|
+
return this.state.resumeSession(sessionId);
|
|
76
|
+
}
|
|
77
|
+
async completeSession(sessionId, note) {
|
|
78
|
+
await this.policy.authorize({
|
|
79
|
+
tool: 'harness',
|
|
80
|
+
action: 'completeSession',
|
|
81
|
+
risk: 'high',
|
|
82
|
+
metadata: note ? { note } : undefined,
|
|
83
|
+
});
|
|
84
|
+
return this.state.completeSession(sessionId, note);
|
|
85
|
+
}
|
|
86
|
+
async failSession(sessionId, message) {
|
|
87
|
+
await this.policy.authorize({
|
|
88
|
+
tool: 'harness',
|
|
89
|
+
action: 'failSession',
|
|
90
|
+
risk: 'high',
|
|
91
|
+
metadata: { message },
|
|
92
|
+
});
|
|
93
|
+
return this.state.failSession(sessionId, message);
|
|
94
|
+
}
|
|
95
|
+
async runSensor(definition, input) {
|
|
96
|
+
await this.policy.authorize({
|
|
97
|
+
tool: 'harness',
|
|
98
|
+
action: 'runSensor',
|
|
99
|
+
risk: definition.blocking ? 'high' : definition.severity === 'critical' ? 'high' : 'medium',
|
|
100
|
+
metadata: {
|
|
101
|
+
sensorId: definition.id,
|
|
102
|
+
sensorName: definition.name,
|
|
103
|
+
sessionId: input.sessionId,
|
|
104
|
+
contractId: input.contractId,
|
|
105
|
+
...(input.metadata ?? {}),
|
|
106
|
+
},
|
|
107
|
+
});
|
|
108
|
+
this.sensors.registerSensor(definition);
|
|
109
|
+
return this.sensors.runSensor(definition.id, input);
|
|
110
|
+
}
|
|
111
|
+
getSessionSensorRuns(sessionId) {
|
|
112
|
+
return this.sensors.getSessionSensorRuns(sessionId);
|
|
113
|
+
}
|
|
114
|
+
async createTaskContract(input) {
|
|
115
|
+
await this.policy.authorize({
|
|
116
|
+
tool: 'harness',
|
|
117
|
+
action: 'createTask',
|
|
118
|
+
risk: 'medium',
|
|
119
|
+
metadata: { title: input.title },
|
|
120
|
+
});
|
|
121
|
+
return this.contracts.createTaskContract(input);
|
|
122
|
+
}
|
|
123
|
+
listTaskContracts() {
|
|
124
|
+
return this.contracts.listTaskContracts();
|
|
125
|
+
}
|
|
126
|
+
evaluateTaskCompletion(taskId, sessionId) {
|
|
127
|
+
return this.contracts.evaluateTaskCompletion(taskId, sessionId);
|
|
128
|
+
}
|
|
129
|
+
async createHandoffContract(input) {
|
|
130
|
+
await this.policy.authorize({
|
|
131
|
+
tool: 'harness',
|
|
132
|
+
action: 'createHandoff',
|
|
133
|
+
risk: 'medium',
|
|
134
|
+
metadata: { from: input.from, to: input.to },
|
|
135
|
+
});
|
|
136
|
+
return this.contracts.createHandoffContract(input);
|
|
137
|
+
}
|
|
138
|
+
listHandoffContracts() {
|
|
139
|
+
return this.contracts.listHandoffContracts();
|
|
140
|
+
}
|
|
141
|
+
listPolicies() {
|
|
142
|
+
return this.policy.listRules();
|
|
143
|
+
}
|
|
144
|
+
registerPolicy(input) {
|
|
145
|
+
const target = input.target
|
|
146
|
+
?? (input.pathPattern ? 'path' : input.scope === 'risk' ? 'risk' : 'action');
|
|
147
|
+
const pattern = input.pattern ?? input.pathPattern ?? input.scope ?? input.description ?? input.reason ?? 'harness';
|
|
148
|
+
return this.policy.registerRule({
|
|
149
|
+
id: input.id ?? `policy-${Date.now()}`,
|
|
150
|
+
effect: input.effect,
|
|
151
|
+
target,
|
|
152
|
+
pattern,
|
|
153
|
+
approvalRole: input.approvalRole,
|
|
154
|
+
reason: input.reason ?? input.description,
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
getPolicy() {
|
|
158
|
+
return this.policy.loadPolicy();
|
|
159
|
+
}
|
|
160
|
+
setPolicy(input) {
|
|
161
|
+
const policy = {
|
|
162
|
+
version: 1,
|
|
163
|
+
defaultEffect: input.defaultEffect ?? 'allow',
|
|
164
|
+
rules: input.rules ?? [],
|
|
165
|
+
};
|
|
166
|
+
return this.policy.setPolicy(policy);
|
|
167
|
+
}
|
|
168
|
+
async resetPolicy() {
|
|
169
|
+
return this.policy.setPolicy(await this.policy.createBootstrapPolicy());
|
|
170
|
+
}
|
|
171
|
+
evaluatePolicy(input) {
|
|
172
|
+
return this.policy.evaluate(input);
|
|
173
|
+
}
|
|
174
|
+
replaySession(sessionId) {
|
|
175
|
+
return this.replay.replaySession(sessionId);
|
|
176
|
+
}
|
|
177
|
+
listReplays(sessionId) {
|
|
178
|
+
return this.replay.listReplays(sessionId ? { sessionId } : undefined);
|
|
179
|
+
}
|
|
180
|
+
exportFailureDataset(sessionIds) {
|
|
181
|
+
return this.datasets.buildFailureDataset({
|
|
182
|
+
sessionIds,
|
|
183
|
+
includeSuccessfulSessions: true,
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
listDatasets() {
|
|
187
|
+
return this.datasets.listDatasets();
|
|
188
|
+
}
|
|
189
|
+
getDataset(datasetId) {
|
|
190
|
+
return this.datasets.getDataset(datasetId);
|
|
191
|
+
}
|
|
192
|
+
getFailureClusters(datasetId) {
|
|
193
|
+
return this.datasets.getFailureClusters(datasetId);
|
|
194
|
+
}
|
|
195
|
+
async getSessionQuality(sessionId, options = {}) {
|
|
196
|
+
const [session, sensorRuns, taskEvaluation] = await Promise.all([
|
|
197
|
+
this.state.getSession(sessionId),
|
|
198
|
+
this.sensors.getSessionSensorRuns(sessionId),
|
|
199
|
+
options.taskId
|
|
200
|
+
? this.contracts.evaluateTaskCompletion(options.taskId, sessionId)
|
|
201
|
+
: Promise.resolve(null),
|
|
202
|
+
]);
|
|
203
|
+
const backpressure = this.sensors.evaluateBackpressure(sensorRuns, options.policy);
|
|
204
|
+
return {
|
|
205
|
+
session,
|
|
206
|
+
sensorRuns,
|
|
207
|
+
backpressure,
|
|
208
|
+
taskEvaluation,
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
exports.HarnessExecutionService = HarnessExecutionService;
|
|
213
|
+
//# sourceMappingURL=executionService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executionService.js","sourceRoot":"","sources":["../../../src/services/harness/executionService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Harness service exports.
|
|
3
|
+
*
|
|
4
|
+
* These services hold transport-agnostic harness logic that can be consumed
|
|
5
|
+
* by MCP, CLI, or future adapters.
|
|
6
|
+
*/
|
|
7
|
+
export { HarnessAgentsService, type HarnessAgentsServiceOptions } from './agentsService';
|
|
8
|
+
export { HarnessPlansService, type HarnessPlansServiceOptions } from './plansService';
|
|
9
|
+
export { HarnessContextService, type HarnessContextServiceOptions, type HarnessContextInitResult, type HarnessContextPlanScaffoldResult, type HarnessBootstrapStatusResult, } from './contextService';
|
|
10
|
+
export { readFileTool, listFilesTool, analyzeSymbolsTool, getFileStructureTool, searchCodeTool, checkScaffoldingTool, initializeContextTool, scaffoldPlanTool, fillScaffoldingTool, listFilesToFillTool, fillSingleFileTool, getCodebaseMapTool, getOrBuildContext, cleanupSharedContext, type ToolName, } from './contextTools';
|
|
11
|
+
export { HarnessSkillsService, type HarnessSkillsServiceOptions } from './skillsService';
|
|
12
|
+
export { HarnessRuntimeStateService, type HarnessRuntimeStateServiceOptions, type HarnessSessionStatus, type HarnessTraceLevel, type HarnessArtifactKind, type HarnessSessionRecord, type HarnessSessionCheckpoint, type HarnessTraceRecord, type HarnessArtifactRecord, type HarnessRuntimeStatePort, type CreateSessionInput, type AppendTraceInput, type AddArtifactInput, type CheckpointInput, } from './runtimeStateService';
|
|
13
|
+
export { HarnessSensorsService, type HarnessSensorsServiceOptions, type HarnessSensorSeverity, type HarnessSensorStatus, type HarnessSensorExecutionInput, type HarnessSensorExecutionResult, type HarnessSensorDefinition, type HarnessSensorRun, type HarnessBackpressurePolicy, type HarnessBackpressureResult, } from './sensorsService';
|
|
14
|
+
export { HarnessSensorCatalogService, type HarnessSensorCatalogServiceOptions, type HarnessShellSensorConfig, type HarnessSensorCatalogDocument, type HarnessSensorCatalogSeverity, } from './sensorCatalogService';
|
|
15
|
+
export { HarnessTaskContractsService, type HarnessTaskContractsServiceOptions, type HarnessTaskContractStatus, type HarnessTaskContract, type HarnessHandoffContract, type HarnessTaskCompletionResult, } from './taskContractsService';
|
|
16
|
+
export { HarnessExecutionService, type HarnessExecutionServiceOptions, type HarnessSessionQualitySnapshot, } from './executionService';
|
|
17
|
+
export { HarnessReplayService, type HarnessReplayServiceOptions, type HarnessReplayDependencies, type HarnessReplayEvent, type HarnessReplayEventSource, type HarnessReplayRecord, type ReplaySessionOptions, } from './replayService';
|
|
18
|
+
export { HarnessDatasetService, type HarnessDatasetServiceOptions, type HarnessDatasetDependencies, type BuildHarnessDatasetOptions, type HarnessFailureKind, type HarnessFailureRecord, type HarnessFailureCluster, type HarnessFailureDataset, } from './datasetService';
|
|
19
|
+
export { HarnessPolicyService, HarnessPolicyBlockedError, type HarnessPolicyServiceOptions, type HarnessPolicyTarget, type HarnessPolicyScope, type HarnessPolicyEffect, type HarnessPolicyRisk, type HarnessPolicyRule, type CreateHarnessPolicyRuleInput, type HarnessPolicyEvaluationInput, type HarnessPolicyEvaluationResult, } from './policyService';
|
|
20
|
+
export { HarnessWorkflowStateService, type HarnessWorkflowStateServiceOptions, type HarnessWorkflowRecord, type WorkflowHarnessBinding, } from './workflowStateService';
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/harness/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Harness service exports.
|
|
4
|
+
*
|
|
5
|
+
* These services hold transport-agnostic harness logic that can be consumed
|
|
6
|
+
* by MCP, CLI, or future adapters.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.HarnessWorkflowStateService = exports.HarnessPolicyBlockedError = exports.HarnessPolicyService = exports.HarnessDatasetService = exports.HarnessReplayService = exports.HarnessExecutionService = exports.HarnessTaskContractsService = exports.HarnessSensorCatalogService = exports.HarnessSensorsService = exports.HarnessRuntimeStateService = exports.HarnessSkillsService = exports.cleanupSharedContext = exports.getOrBuildContext = exports.getCodebaseMapTool = exports.fillSingleFileTool = exports.listFilesToFillTool = exports.fillScaffoldingTool = exports.scaffoldPlanTool = exports.initializeContextTool = exports.checkScaffoldingTool = exports.searchCodeTool = exports.getFileStructureTool = exports.analyzeSymbolsTool = exports.listFilesTool = exports.readFileTool = exports.HarnessContextService = exports.HarnessPlansService = exports.HarnessAgentsService = void 0;
|
|
10
|
+
var agentsService_1 = require("./agentsService");
|
|
11
|
+
Object.defineProperty(exports, "HarnessAgentsService", { enumerable: true, get: function () { return agentsService_1.HarnessAgentsService; } });
|
|
12
|
+
var plansService_1 = require("./plansService");
|
|
13
|
+
Object.defineProperty(exports, "HarnessPlansService", { enumerable: true, get: function () { return plansService_1.HarnessPlansService; } });
|
|
14
|
+
var contextService_1 = require("./contextService");
|
|
15
|
+
Object.defineProperty(exports, "HarnessContextService", { enumerable: true, get: function () { return contextService_1.HarnessContextService; } });
|
|
16
|
+
var contextTools_1 = require("./contextTools");
|
|
17
|
+
Object.defineProperty(exports, "readFileTool", { enumerable: true, get: function () { return contextTools_1.readFileTool; } });
|
|
18
|
+
Object.defineProperty(exports, "listFilesTool", { enumerable: true, get: function () { return contextTools_1.listFilesTool; } });
|
|
19
|
+
Object.defineProperty(exports, "analyzeSymbolsTool", { enumerable: true, get: function () { return contextTools_1.analyzeSymbolsTool; } });
|
|
20
|
+
Object.defineProperty(exports, "getFileStructureTool", { enumerable: true, get: function () { return contextTools_1.getFileStructureTool; } });
|
|
21
|
+
Object.defineProperty(exports, "searchCodeTool", { enumerable: true, get: function () { return contextTools_1.searchCodeTool; } });
|
|
22
|
+
Object.defineProperty(exports, "checkScaffoldingTool", { enumerable: true, get: function () { return contextTools_1.checkScaffoldingTool; } });
|
|
23
|
+
Object.defineProperty(exports, "initializeContextTool", { enumerable: true, get: function () { return contextTools_1.initializeContextTool; } });
|
|
24
|
+
Object.defineProperty(exports, "scaffoldPlanTool", { enumerable: true, get: function () { return contextTools_1.scaffoldPlanTool; } });
|
|
25
|
+
Object.defineProperty(exports, "fillScaffoldingTool", { enumerable: true, get: function () { return contextTools_1.fillScaffoldingTool; } });
|
|
26
|
+
Object.defineProperty(exports, "listFilesToFillTool", { enumerable: true, get: function () { return contextTools_1.listFilesToFillTool; } });
|
|
27
|
+
Object.defineProperty(exports, "fillSingleFileTool", { enumerable: true, get: function () { return contextTools_1.fillSingleFileTool; } });
|
|
28
|
+
Object.defineProperty(exports, "getCodebaseMapTool", { enumerable: true, get: function () { return contextTools_1.getCodebaseMapTool; } });
|
|
29
|
+
Object.defineProperty(exports, "getOrBuildContext", { enumerable: true, get: function () { return contextTools_1.getOrBuildContext; } });
|
|
30
|
+
Object.defineProperty(exports, "cleanupSharedContext", { enumerable: true, get: function () { return contextTools_1.cleanupSharedContext; } });
|
|
31
|
+
var skillsService_1 = require("./skillsService");
|
|
32
|
+
Object.defineProperty(exports, "HarnessSkillsService", { enumerable: true, get: function () { return skillsService_1.HarnessSkillsService; } });
|
|
33
|
+
var runtimeStateService_1 = require("./runtimeStateService");
|
|
34
|
+
Object.defineProperty(exports, "HarnessRuntimeStateService", { enumerable: true, get: function () { return runtimeStateService_1.HarnessRuntimeStateService; } });
|
|
35
|
+
var sensorsService_1 = require("./sensorsService");
|
|
36
|
+
Object.defineProperty(exports, "HarnessSensorsService", { enumerable: true, get: function () { return sensorsService_1.HarnessSensorsService; } });
|
|
37
|
+
var sensorCatalogService_1 = require("./sensorCatalogService");
|
|
38
|
+
Object.defineProperty(exports, "HarnessSensorCatalogService", { enumerable: true, get: function () { return sensorCatalogService_1.HarnessSensorCatalogService; } });
|
|
39
|
+
var taskContractsService_1 = require("./taskContractsService");
|
|
40
|
+
Object.defineProperty(exports, "HarnessTaskContractsService", { enumerable: true, get: function () { return taskContractsService_1.HarnessTaskContractsService; } });
|
|
41
|
+
var executionService_1 = require("./executionService");
|
|
42
|
+
Object.defineProperty(exports, "HarnessExecutionService", { enumerable: true, get: function () { return executionService_1.HarnessExecutionService; } });
|
|
43
|
+
var replayService_1 = require("./replayService");
|
|
44
|
+
Object.defineProperty(exports, "HarnessReplayService", { enumerable: true, get: function () { return replayService_1.HarnessReplayService; } });
|
|
45
|
+
var datasetService_1 = require("./datasetService");
|
|
46
|
+
Object.defineProperty(exports, "HarnessDatasetService", { enumerable: true, get: function () { return datasetService_1.HarnessDatasetService; } });
|
|
47
|
+
var policyService_1 = require("./policyService");
|
|
48
|
+
Object.defineProperty(exports, "HarnessPolicyService", { enumerable: true, get: function () { return policyService_1.HarnessPolicyService; } });
|
|
49
|
+
Object.defineProperty(exports, "HarnessPolicyBlockedError", { enumerable: true, get: function () { return policyService_1.HarnessPolicyBlockedError; } });
|
|
50
|
+
var workflowStateService_1 = require("./workflowStateService");
|
|
51
|
+
Object.defineProperty(exports, "HarnessWorkflowStateService", { enumerable: true, get: function () { return workflowStateService_1.HarnessWorkflowStateService; } });
|
|
52
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/harness/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,iDAAyF;AAAhF,qHAAA,oBAAoB,OAAA;AAC7B,+CAAsF;AAA7E,mHAAA,mBAAmB,OAAA;AAC5B,mDAM0B;AALxB,uHAAA,qBAAqB,OAAA;AAMvB,+CAgBwB;AAftB,4GAAA,YAAY,OAAA;AACZ,6GAAA,aAAa,OAAA;AACb,kHAAA,kBAAkB,OAAA;AAClB,oHAAA,oBAAoB,OAAA;AACpB,8GAAA,cAAc,OAAA;AACd,oHAAA,oBAAoB,OAAA;AACpB,qHAAA,qBAAqB,OAAA;AACrB,gHAAA,gBAAgB,OAAA;AAChB,mHAAA,mBAAmB,OAAA;AACnB,mHAAA,mBAAmB,OAAA;AACnB,kHAAA,kBAAkB,OAAA;AAClB,kHAAA,kBAAkB,OAAA;AAClB,iHAAA,iBAAiB,OAAA;AACjB,oHAAA,oBAAoB,OAAA;AAGtB,iDAAyF;AAAhF,qHAAA,oBAAoB,OAAA;AAC7B,6DAe+B;AAd7B,iIAAA,0BAA0B,OAAA;AAe5B,mDAW0B;AAVxB,uHAAA,qBAAqB,OAAA;AAWvB,+DAMgC;AAL9B,mIAAA,2BAA2B,OAAA;AAM7B,+DAOgC;AAN9B,mIAAA,2BAA2B,OAAA;AAO7B,uDAI4B;AAH1B,2HAAA,uBAAuB,OAAA;AAIzB,iDAQyB;AAPvB,qHAAA,oBAAoB,OAAA;AAQtB,mDAS0B;AARxB,uHAAA,qBAAqB,OAAA;AASvB,iDAYyB;AAXvB,qHAAA,oBAAoB,OAAA;AACpB,0HAAA,yBAAyB,OAAA;AAW3B,+DAKgC;AAJ9B,mIAAA,2BAA2B,OAAA"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Harness Plans Service
|
|
3
|
+
*
|
|
4
|
+
* Transport-agnostic plan management and execution tracking logic.
|
|
5
|
+
*/
|
|
6
|
+
import { type PrevcPhase } from '../../workflow';
|
|
7
|
+
export interface HarnessPlansServiceOptions {
|
|
8
|
+
repoPath: string;
|
|
9
|
+
}
|
|
10
|
+
export declare class HarnessPlansService {
|
|
11
|
+
private readonly options;
|
|
12
|
+
private readonly linker;
|
|
13
|
+
constructor(options: HarnessPlansServiceOptions);
|
|
14
|
+
private get repoPath();
|
|
15
|
+
link(planSlug: string): Promise<Record<string, unknown>>;
|
|
16
|
+
getLinked(): Promise<Record<string, unknown>>;
|
|
17
|
+
getDetails(planSlug: string): Promise<Record<string, unknown>>;
|
|
18
|
+
getForPhase(phase: PrevcPhase): Promise<Record<string, unknown>>;
|
|
19
|
+
updatePhase(planSlug: string, phaseId: string, status: 'pending' | 'in_progress' | 'completed' | 'skipped'): Promise<Record<string, unknown>>;
|
|
20
|
+
recordDecision(params: {
|
|
21
|
+
planSlug: string;
|
|
22
|
+
title: string;
|
|
23
|
+
description: string;
|
|
24
|
+
phase?: PrevcPhase;
|
|
25
|
+
alternatives?: string[];
|
|
26
|
+
}): Promise<Record<string, unknown>>;
|
|
27
|
+
updateStep(params: {
|
|
28
|
+
planSlug: string;
|
|
29
|
+
phaseId: string;
|
|
30
|
+
stepIndex: number;
|
|
31
|
+
status: 'pending' | 'in_progress' | 'completed' | 'skipped';
|
|
32
|
+
output?: string;
|
|
33
|
+
notes?: string;
|
|
34
|
+
}): Promise<Record<string, unknown>>;
|
|
35
|
+
getStatus(planSlug: string): Promise<Record<string, unknown>>;
|
|
36
|
+
syncMarkdown(planSlug: string): Promise<Record<string, unknown>>;
|
|
37
|
+
commitPhase(params: {
|
|
38
|
+
planSlug: string;
|
|
39
|
+
phaseId: string;
|
|
40
|
+
coAuthor?: string;
|
|
41
|
+
stagePatterns?: string[];
|
|
42
|
+
dryRun?: boolean;
|
|
43
|
+
}): Promise<Record<string, unknown>>;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=plansService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plansService.d.ts","sourceRoot":"","sources":["../../../src/services/harness/plansService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AAGxB,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,mBAAmB;IAGlB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAEK,OAAO,EAAE,0BAA0B;IAMhE,OAAO,KAAK,QAAQ,GAEnB;IAEK,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAiExD,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAK7C,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAsB9D,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAkBhE,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAK7I,cAAc,CAAC,MAAM,EAAE;QAC3B,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,UAAU,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAY9B,UAAU,CAAC,MAAM,EAAE;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,CAAC;QAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAkB9B,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAa7D,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAUhE,WAAW,CAAC,MAAM,EAAE;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CA8DrC"}
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Harness Plans Service
|
|
4
|
+
*
|
|
5
|
+
* Transport-agnostic plan management and execution tracking logic.
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
19
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
20
|
+
}) : function(o, v) {
|
|
21
|
+
o["default"] = v;
|
|
22
|
+
});
|
|
23
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
24
|
+
var ownKeys = function(o) {
|
|
25
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
26
|
+
var ar = [];
|
|
27
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
28
|
+
return ar;
|
|
29
|
+
};
|
|
30
|
+
return ownKeys(o);
|
|
31
|
+
};
|
|
32
|
+
return function (mod) {
|
|
33
|
+
if (mod && mod.__esModule) return mod;
|
|
34
|
+
var result = {};
|
|
35
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
36
|
+
__setModuleDefault(result, mod);
|
|
37
|
+
return result;
|
|
38
|
+
};
|
|
39
|
+
})();
|
|
40
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
+
exports.HarnessPlansService = void 0;
|
|
42
|
+
const path = __importStar(require("path"));
|
|
43
|
+
const workflow_1 = require("../workflow");
|
|
44
|
+
const workflow_2 = require("../../workflow");
|
|
45
|
+
const gitService_1 = require("../../utils/gitService");
|
|
46
|
+
class HarnessPlansService {
|
|
47
|
+
constructor(options) {
|
|
48
|
+
this.options = options;
|
|
49
|
+
const contextPath = path.join(this.repoPath, '.context');
|
|
50
|
+
const statusManager = new workflow_2.PrevcStatusManager(contextPath);
|
|
51
|
+
this.linker = (0, workflow_2.createPlanLinker)(this.repoPath, statusManager, true);
|
|
52
|
+
}
|
|
53
|
+
get repoPath() {
|
|
54
|
+
return this.options.repoPath;
|
|
55
|
+
}
|
|
56
|
+
async link(planSlug) {
|
|
57
|
+
const ref = await this.linker.linkPlan(planSlug);
|
|
58
|
+
if (!ref) {
|
|
59
|
+
return {
|
|
60
|
+
success: false,
|
|
61
|
+
error: `Plan not found: ${planSlug}`,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
const service = new workflow_1.WorkflowService(this.repoPath);
|
|
65
|
+
const workflowActive = await service.hasWorkflow();
|
|
66
|
+
if (workflowActive) {
|
|
67
|
+
await service.markPlanCreated(planSlug);
|
|
68
|
+
}
|
|
69
|
+
let canAdvanceToReview = false;
|
|
70
|
+
if (workflowActive) {
|
|
71
|
+
const gateResult = await service.checkGates();
|
|
72
|
+
canAdvanceToReview = gateResult.gates.plan_required.passed;
|
|
73
|
+
}
|
|
74
|
+
const workflowStatePath = path.join(this.repoPath, '.context', 'harness', 'workflows', 'prevc.json');
|
|
75
|
+
const enhancementPrompt = workflowActive
|
|
76
|
+
? `PLAN LINKED TO ACTIVE WORKFLOW
|
|
77
|
+
|
|
78
|
+
The linked plan is now attached to the harness-backed PREVC workflow.
|
|
79
|
+
|
|
80
|
+
Next:
|
|
81
|
+
1. Use workflow-status() to confirm the active phase and harness binding
|
|
82
|
+
2. Continue planning work
|
|
83
|
+
3. Use workflow-advance() when the planning phase is complete`
|
|
84
|
+
: `PLAN LINKED - WORKFLOW NOT STARTED
|
|
85
|
+
|
|
86
|
+
The plan reference was created, but no PREVC workflow is active yet.
|
|
87
|
+
Until workflow-init runs, the harness does not have canonical workflow state and plan gates are not armed.
|
|
88
|
+
|
|
89
|
+
Next:
|
|
90
|
+
1. Call workflow-init({ name: "${planSlug}" }) to create the harness-backed PREVC workflow
|
|
91
|
+
2. Call plan({ action: "link", planSlug: "${planSlug}" }) again after workflow-init
|
|
92
|
+
3. Use workflow-status() to verify the plan is bound to the harness workflow`;
|
|
93
|
+
const nextSteps = workflowActive
|
|
94
|
+
? [
|
|
95
|
+
'RECOMMENDED: Call workflow-status() to confirm the linked plan and harness binding',
|
|
96
|
+
'THEN: Continue planning and call workflow-advance() when ready to leave phase P',
|
|
97
|
+
]
|
|
98
|
+
: [
|
|
99
|
+
`REQUIRED: Call workflow-init({ name: "${planSlug}" }) to start the harness-backed PREVC workflow`,
|
|
100
|
+
`REQUIRED: Call plan({ action: "link", planSlug: "${planSlug}" }) again after workflow-init so gates see the plan`,
|
|
101
|
+
'THEN: Call workflow-status() to confirm the workflow and harness binding are active',
|
|
102
|
+
];
|
|
103
|
+
return {
|
|
104
|
+
success: true,
|
|
105
|
+
plan: ref,
|
|
106
|
+
workflowActive,
|
|
107
|
+
workflowStatePath,
|
|
108
|
+
planCreatedForGates: workflowActive,
|
|
109
|
+
canAdvanceToReview,
|
|
110
|
+
enhancementPrompt,
|
|
111
|
+
nextSteps,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
async getLinked() {
|
|
115
|
+
const plans = await this.linker.getLinkedPlans();
|
|
116
|
+
return { success: true, plans };
|
|
117
|
+
}
|
|
118
|
+
async getDetails(planSlug) {
|
|
119
|
+
const plan = await this.linker.getLinkedPlan(planSlug);
|
|
120
|
+
if (!plan) {
|
|
121
|
+
return {
|
|
122
|
+
success: false,
|
|
123
|
+
error: `Plan not found or not linked: ${planSlug}`,
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
return {
|
|
127
|
+
success: true,
|
|
128
|
+
plan: {
|
|
129
|
+
...plan,
|
|
130
|
+
phasesWithPrevc: plan.phases.map(p => ({
|
|
131
|
+
...p,
|
|
132
|
+
prevcPhaseName: workflow_2.PHASE_NAMES_EN[p.prevcPhase],
|
|
133
|
+
})),
|
|
134
|
+
},
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
async getForPhase(phase) {
|
|
138
|
+
const plans = await this.linker.getPlansForPhase(phase);
|
|
139
|
+
return {
|
|
140
|
+
success: true,
|
|
141
|
+
phase,
|
|
142
|
+
phaseName: workflow_2.PHASE_NAMES_EN[phase],
|
|
143
|
+
plans: plans.map(p => ({
|
|
144
|
+
slug: p.ref.slug,
|
|
145
|
+
title: p.ref.title,
|
|
146
|
+
phasesInThisPrevc: p.phases
|
|
147
|
+
.filter(ph => ph.prevcPhase === phase)
|
|
148
|
+
.map(ph => ({ id: ph.id, name: ph.name, status: ph.status })),
|
|
149
|
+
hasPendingWork: this.linker.hasPendingWorkForPhase(p, phase),
|
|
150
|
+
})),
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
async updatePhase(planSlug, phaseId, status) {
|
|
154
|
+
const success = await this.linker.updatePlanPhase(planSlug, phaseId, status);
|
|
155
|
+
return { success, planSlug, phaseId, status };
|
|
156
|
+
}
|
|
157
|
+
async recordDecision(params) {
|
|
158
|
+
const decision = await this.linker.recordDecision(params.planSlug, {
|
|
159
|
+
title: params.title,
|
|
160
|
+
description: params.description,
|
|
161
|
+
phase: params.phase,
|
|
162
|
+
alternatives: params.alternatives,
|
|
163
|
+
status: 'accepted',
|
|
164
|
+
});
|
|
165
|
+
return { success: true, decision };
|
|
166
|
+
}
|
|
167
|
+
async updateStep(params) {
|
|
168
|
+
const success = await this.linker.updatePlanStep(params.planSlug, params.phaseId, params.stepIndex, params.status, { output: params.output, notes: params.notes });
|
|
169
|
+
return {
|
|
170
|
+
success,
|
|
171
|
+
planSlug: params.planSlug,
|
|
172
|
+
phaseId: params.phaseId,
|
|
173
|
+
stepIndex: params.stepIndex,
|
|
174
|
+
status: params.status,
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
async getStatus(planSlug) {
|
|
178
|
+
const status = await this.linker.getPlanExecutionStatus(planSlug);
|
|
179
|
+
if (!status) {
|
|
180
|
+
return {
|
|
181
|
+
success: false,
|
|
182
|
+
error: 'Plan tracking not found. The plan may not have any execution data yet.',
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
return { success: true, ...status };
|
|
186
|
+
}
|
|
187
|
+
async syncMarkdown(planSlug) {
|
|
188
|
+
const success = await this.linker.syncPlanMarkdown(planSlug);
|
|
189
|
+
return {
|
|
190
|
+
success,
|
|
191
|
+
planSlug,
|
|
192
|
+
message: success ? 'Plan markdown synced successfully' : 'Failed to sync - plan or tracking not found',
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
async commitPhase(params) {
|
|
196
|
+
const plan = await this.linker.getLinkedPlan(params.planSlug);
|
|
197
|
+
if (!plan) {
|
|
198
|
+
return { success: false, error: `Plan not found: ${params.planSlug}` };
|
|
199
|
+
}
|
|
200
|
+
const phase = plan.phases.find(p => p.id === params.phaseId);
|
|
201
|
+
if (!phase) {
|
|
202
|
+
return { success: false, error: `Phase not found: ${params.phaseId}` };
|
|
203
|
+
}
|
|
204
|
+
const commitMessage = phase.commitCheckpoint ||
|
|
205
|
+
`chore(plan): complete ${phase.name} for ${params.planSlug}`;
|
|
206
|
+
const stagePatterns = params.stagePatterns || ['.context/**'];
|
|
207
|
+
const gitService = new gitService_1.GitService(this.repoPath);
|
|
208
|
+
if (!gitService.isGitRepository()) {
|
|
209
|
+
return { success: false, error: 'Not a git repository' };
|
|
210
|
+
}
|
|
211
|
+
if (params.dryRun) {
|
|
212
|
+
const stagedFiles = gitService.stageFiles(stagePatterns);
|
|
213
|
+
return {
|
|
214
|
+
success: true,
|
|
215
|
+
dryRun: true,
|
|
216
|
+
planSlug: params.planSlug,
|
|
217
|
+
phaseId: params.phaseId,
|
|
218
|
+
commitMessage,
|
|
219
|
+
coAuthor: params.coAuthor,
|
|
220
|
+
filesWouldBeCommitted: stagedFiles,
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
const stagedFiles = gitService.stageFiles(stagePatterns);
|
|
224
|
+
if (stagedFiles.length === 0) {
|
|
225
|
+
return {
|
|
226
|
+
success: false,
|
|
227
|
+
error: 'Nothing to commit: no files match the stage patterns or all files are already committed',
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
const commitResult = gitService.commit(commitMessage, params.coAuthor);
|
|
231
|
+
await this.linker.recordPhaseCommit(params.planSlug, params.phaseId, {
|
|
232
|
+
hash: commitResult.hash,
|
|
233
|
+
shortHash: commitResult.shortHash,
|
|
234
|
+
committedBy: params.coAuthor,
|
|
235
|
+
});
|
|
236
|
+
return {
|
|
237
|
+
success: true,
|
|
238
|
+
planSlug: params.planSlug,
|
|
239
|
+
phaseId: params.phaseId,
|
|
240
|
+
commit: {
|
|
241
|
+
hash: commitResult.hash,
|
|
242
|
+
shortHash: commitResult.shortHash,
|
|
243
|
+
message: commitMessage,
|
|
244
|
+
filesCommitted: commitResult.filesCommitted,
|
|
245
|
+
coAuthor: params.coAuthor,
|
|
246
|
+
},
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
exports.HarnessPlansService = HarnessPlansService;
|
|
251
|
+
//# sourceMappingURL=plansService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plansService.js","sourceRoot":"","sources":["../../../src/services/harness/plansService.ts"],"names":[],"mappings":"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"}
|