jumbo-cli 3.1.0 → 3.2.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 +1 -1
- package/assets/skills/codify-jumbo-goal/SKILL.md +0 -6
- package/assets/skills/define-jumbo-goals/SKILL.md +24 -25
- package/assets/skills/jumbo-add-component/SKILL.md +9 -0
- package/assets/skills/jumbo-add-decision/SKILL.md +9 -0
- package/assets/skills/jumbo-add-dependency/SKILL.md +9 -0
- package/assets/skills/jumbo-add-guideline/SKILL.md +9 -0
- package/assets/skills/jumbo-add-invariant/SKILL.md +9 -0
- package/assets/skills/jumbo-design-goal/SKILL.md +1 -1
- package/assets/skills/refine-jumbo-goals/SKILL.md +4 -4
- package/dist/application/agents/AgentInvocation.d.ts +10 -0
- package/dist/application/agents/AgentInvocation.d.ts.map +1 -0
- package/dist/application/agents/AgentInvocation.js +2 -0
- package/dist/application/agents/AgentInvocation.js.map +1 -0
- package/dist/application/agents/IAgentGateway.d.ts +5 -0
- package/dist/application/agents/IAgentGateway.d.ts.map +1 -0
- package/dist/application/agents/IAgentGateway.js +2 -0
- package/dist/application/agents/IAgentGateway.js.map +1 -0
- package/dist/application/context/decisions/get/IDecisionViewReader.d.ts +7 -0
- package/dist/application/context/decisions/get/IDecisionViewReader.d.ts.map +1 -1
- package/dist/application/context/decisions/search/DecisionSearchCriteria.d.ts +17 -0
- package/dist/application/context/decisions/search/DecisionSearchCriteria.d.ts.map +1 -0
- package/dist/application/context/decisions/search/DecisionSearchCriteria.js +12 -0
- package/dist/application/context/decisions/search/DecisionSearchCriteria.js.map +1 -0
- package/dist/application/context/decisions/search/ISearchDecisionsGateway.d.ts +10 -0
- package/dist/application/context/decisions/search/ISearchDecisionsGateway.d.ts.map +1 -0
- package/dist/application/context/decisions/search/ISearchDecisionsGateway.js +6 -0
- package/dist/application/context/decisions/search/ISearchDecisionsGateway.js.map +1 -0
- package/dist/application/context/decisions/search/LocalSearchDecisionsGateway.d.ts +14 -0
- package/dist/application/context/decisions/search/LocalSearchDecisionsGateway.d.ts.map +1 -0
- package/dist/application/context/decisions/search/LocalSearchDecisionsGateway.js +14 -0
- package/dist/application/context/decisions/search/LocalSearchDecisionsGateway.js.map +1 -0
- package/dist/application/context/decisions/search/SearchDecisionsController.d.ts +13 -0
- package/dist/application/context/decisions/search/SearchDecisionsController.d.ts.map +1 -0
- package/dist/application/context/decisions/search/SearchDecisionsController.js +13 -0
- package/dist/application/context/decisions/search/SearchDecisionsController.js.map +1 -0
- package/dist/application/context/decisions/search/SearchDecisionsRequest.d.ts +8 -0
- package/dist/application/context/decisions/search/SearchDecisionsRequest.d.ts.map +1 -0
- package/dist/application/context/decisions/search/SearchDecisionsRequest.js +5 -0
- package/dist/application/context/decisions/search/SearchDecisionsRequest.js.map +1 -0
- package/dist/application/context/decisions/search/SearchDecisionsResponse.d.ts +8 -0
- package/dist/application/context/decisions/search/SearchDecisionsResponse.d.ts.map +1 -0
- package/dist/application/context/decisions/search/SearchDecisionsResponse.js +5 -0
- package/dist/application/context/decisions/search/SearchDecisionsResponse.js.map +1 -0
- package/dist/application/context/dependencies/get/IDependencyViewReader.d.ts +7 -0
- package/dist/application/context/dependencies/get/IDependencyViewReader.d.ts.map +1 -1
- package/dist/application/context/dependencies/search/DependencySearchCriteria.d.ts +22 -0
- package/dist/application/context/dependencies/search/DependencySearchCriteria.d.ts.map +1 -0
- package/dist/application/context/dependencies/search/DependencySearchCriteria.js +12 -0
- package/dist/application/context/dependencies/search/DependencySearchCriteria.js.map +1 -0
- package/dist/application/context/dependencies/search/ISearchDependenciesGateway.d.ts +10 -0
- package/dist/application/context/dependencies/search/ISearchDependenciesGateway.d.ts.map +1 -0
- package/dist/application/context/dependencies/search/ISearchDependenciesGateway.js +6 -0
- package/dist/application/context/dependencies/search/ISearchDependenciesGateway.js.map +1 -0
- package/dist/application/context/dependencies/search/LocalSearchDependenciesGateway.d.ts +14 -0
- package/dist/application/context/dependencies/search/LocalSearchDependenciesGateway.d.ts.map +1 -0
- package/dist/application/context/dependencies/search/LocalSearchDependenciesGateway.js +14 -0
- package/dist/application/context/dependencies/search/LocalSearchDependenciesGateway.js.map +1 -0
- package/dist/application/context/dependencies/search/SearchDependenciesController.d.ts +13 -0
- package/dist/application/context/dependencies/search/SearchDependenciesController.d.ts.map +1 -0
- package/dist/application/context/dependencies/search/SearchDependenciesController.js +13 -0
- package/dist/application/context/dependencies/search/SearchDependenciesController.js.map +1 -0
- package/dist/application/context/dependencies/search/SearchDependenciesRequest.d.ts +8 -0
- package/dist/application/context/dependencies/search/SearchDependenciesRequest.d.ts.map +1 -0
- package/dist/application/context/dependencies/search/SearchDependenciesRequest.js +5 -0
- package/dist/application/context/dependencies/search/SearchDependenciesRequest.js.map +1 -0
- package/dist/application/context/dependencies/search/SearchDependenciesResponse.d.ts +8 -0
- package/dist/application/context/dependencies/search/SearchDependenciesResponse.d.ts.map +1 -0
- package/dist/application/context/dependencies/search/SearchDependenciesResponse.js +5 -0
- package/dist/application/context/dependencies/search/SearchDependenciesResponse.js.map +1 -0
- package/dist/application/context/goals/codify/CodifierProcessManager.d.ts +34 -0
- package/dist/application/context/goals/codify/CodifierProcessManager.d.ts.map +1 -0
- package/dist/application/context/goals/codify/CodifierProcessManager.js +171 -0
- package/dist/application/context/goals/codify/CodifierProcessManager.js.map +1 -0
- package/dist/application/context/goals/refine/RefinerProcessManager.d.ts +28 -0
- package/dist/application/context/goals/refine/RefinerProcessManager.d.ts.map +1 -0
- package/dist/application/context/goals/refine/RefinerProcessManager.js +147 -0
- package/dist/application/context/goals/refine/RefinerProcessManager.js.map +1 -0
- package/dist/application/context/goals/review/ReviewerProcessManager.d.ts +28 -0
- package/dist/application/context/goals/review/ReviewerProcessManager.d.ts.map +1 -0
- package/dist/application/context/goals/review/ReviewerProcessManager.js +161 -0
- package/dist/application/context/goals/review/ReviewerProcessManager.js.map +1 -0
- package/dist/application/context/guidelines/get/IGuidelineViewReader.d.ts +7 -0
- package/dist/application/context/guidelines/get/IGuidelineViewReader.d.ts.map +1 -1
- package/dist/application/context/guidelines/search/GuidelineSearchCriteria.d.ts +17 -0
- package/dist/application/context/guidelines/search/GuidelineSearchCriteria.d.ts.map +1 -0
- package/dist/application/context/guidelines/search/GuidelineSearchCriteria.js +12 -0
- package/dist/application/context/guidelines/search/GuidelineSearchCriteria.js.map +1 -0
- package/dist/application/context/guidelines/search/ISearchGuidelinesGateway.d.ts +10 -0
- package/dist/application/context/guidelines/search/ISearchGuidelinesGateway.d.ts.map +1 -0
- package/dist/application/context/guidelines/search/ISearchGuidelinesGateway.js +6 -0
- package/dist/application/context/guidelines/search/ISearchGuidelinesGateway.js.map +1 -0
- package/dist/application/context/guidelines/search/LocalSearchGuidelinesGateway.d.ts +14 -0
- package/dist/application/context/guidelines/search/LocalSearchGuidelinesGateway.d.ts.map +1 -0
- package/dist/application/context/guidelines/search/LocalSearchGuidelinesGateway.js +14 -0
- package/dist/application/context/guidelines/search/LocalSearchGuidelinesGateway.js.map +1 -0
- package/dist/application/context/guidelines/search/SearchGuidelinesController.d.ts +13 -0
- package/dist/application/context/guidelines/search/SearchGuidelinesController.d.ts.map +1 -0
- package/dist/application/context/guidelines/search/SearchGuidelinesController.js +13 -0
- package/dist/application/context/guidelines/search/SearchGuidelinesController.js.map +1 -0
- package/dist/application/context/guidelines/search/SearchGuidelinesRequest.d.ts +8 -0
- package/dist/application/context/guidelines/search/SearchGuidelinesRequest.d.ts.map +1 -0
- package/dist/application/context/guidelines/search/SearchGuidelinesRequest.js +5 -0
- package/dist/application/context/guidelines/search/SearchGuidelinesRequest.js.map +1 -0
- package/dist/application/context/guidelines/search/SearchGuidelinesResponse.d.ts +8 -0
- package/dist/application/context/guidelines/search/SearchGuidelinesResponse.d.ts.map +1 -0
- package/dist/application/context/guidelines/search/SearchGuidelinesResponse.js +5 -0
- package/dist/application/context/guidelines/search/SearchGuidelinesResponse.js.map +1 -0
- package/dist/application/context/invariants/get/IInvariantViewReader.d.ts +7 -0
- package/dist/application/context/invariants/get/IInvariantViewReader.d.ts.map +1 -1
- package/dist/application/context/invariants/search/ISearchInvariantsGateway.d.ts +10 -0
- package/dist/application/context/invariants/search/ISearchInvariantsGateway.d.ts.map +1 -0
- package/dist/application/context/invariants/search/ISearchInvariantsGateway.js +6 -0
- package/dist/application/context/invariants/search/ISearchInvariantsGateway.js.map +1 -0
- package/dist/application/context/invariants/search/InvariantSearchCriteria.d.ts +14 -0
- package/dist/application/context/invariants/search/InvariantSearchCriteria.d.ts.map +1 -0
- package/dist/application/context/invariants/search/InvariantSearchCriteria.js +11 -0
- package/dist/application/context/invariants/search/InvariantSearchCriteria.js.map +1 -0
- package/dist/application/context/invariants/search/LocalSearchInvariantsGateway.d.ts +14 -0
- package/dist/application/context/invariants/search/LocalSearchInvariantsGateway.d.ts.map +1 -0
- package/dist/application/context/invariants/search/LocalSearchInvariantsGateway.js +14 -0
- package/dist/application/context/invariants/search/LocalSearchInvariantsGateway.js.map +1 -0
- package/dist/application/context/invariants/search/SearchInvariantsController.d.ts +13 -0
- package/dist/application/context/invariants/search/SearchInvariantsController.d.ts.map +1 -0
- package/dist/application/context/invariants/search/SearchInvariantsController.js +13 -0
- package/dist/application/context/invariants/search/SearchInvariantsController.js.map +1 -0
- package/dist/application/context/invariants/search/SearchInvariantsRequest.d.ts +8 -0
- package/dist/application/context/invariants/search/SearchInvariantsRequest.d.ts.map +1 -0
- package/dist/application/context/invariants/search/SearchInvariantsRequest.js +5 -0
- package/dist/application/context/invariants/search/SearchInvariantsRequest.js.map +1 -0
- package/dist/application/context/invariants/search/SearchInvariantsResponse.d.ts +8 -0
- package/dist/application/context/invariants/search/SearchInvariantsResponse.d.ts.map +1 -0
- package/dist/application/context/invariants/search/SearchInvariantsResponse.js +5 -0
- package/dist/application/context/invariants/search/SearchInvariantsResponse.js.map +1 -0
- package/dist/application/context/project/ProjectKnowledgeInventoryView.d.ts +12 -0
- package/dist/application/context/project/ProjectKnowledgeInventoryView.d.ts.map +1 -0
- package/dist/application/context/project/ProjectKnowledgeInventoryView.js +2 -0
- package/dist/application/context/project/ProjectKnowledgeInventoryView.js.map +1 -0
- package/dist/application/context/project/ProjectLifecycleState.d.ts +7 -0
- package/dist/application/context/project/ProjectLifecycleState.d.ts.map +1 -0
- package/dist/application/context/project/ProjectLifecycleState.js +2 -0
- package/dist/application/context/project/ProjectLifecycleState.js.map +1 -0
- package/dist/application/context/project/ProjectSummaryView.d.ts +2 -0
- package/dist/application/context/project/ProjectSummaryView.d.ts.map +1 -1
- package/dist/application/context/project/ProjectView.d.ts +2 -0
- package/dist/application/context/project/ProjectView.d.ts.map +1 -1
- package/dist/application/context/project/query/GetProjectSummaryQueryHandler.d.ts.map +1 -1
- package/dist/application/context/project/query/GetProjectSummaryQueryHandler.js +3 -0
- package/dist/application/context/project/query/GetProjectSummaryQueryHandler.js.map +1 -1
- package/dist/application/context/project/query/IProjectContextReader.d.ts +10 -0
- package/dist/application/context/project/query/IProjectContextReader.d.ts.map +1 -1
- package/dist/application/context/project/query/ProjectLifecycleClassifier.d.ts +9 -0
- package/dist/application/context/project/query/ProjectLifecycleClassifier.d.ts.map +1 -0
- package/dist/application/context/project/query/ProjectLifecycleClassifier.js +18 -0
- package/dist/application/context/project/query/ProjectLifecycleClassifier.js.map +1 -0
- package/dist/application/context/project/query/north-star/ProjectNorthStarView.d.ts +20 -0
- package/dist/application/context/project/query/north-star/ProjectNorthStarView.d.ts.map +1 -0
- package/dist/application/context/project/query/north-star/ProjectNorthStarView.js +2 -0
- package/dist/application/context/project/query/north-star/ProjectNorthStarView.js.map +1 -0
- package/dist/application/context/project/show/IShowProjectGateway.d.ts +6 -0
- package/dist/application/context/project/show/IShowProjectGateway.d.ts.map +1 -0
- package/dist/application/context/project/show/IShowProjectGateway.js +2 -0
- package/dist/application/context/project/show/IShowProjectGateway.js.map +1 -0
- package/dist/application/context/project/show/LocalShowProjectGateway.d.ts +16 -0
- package/dist/application/context/project/show/LocalShowProjectGateway.d.ts.map +1 -0
- package/dist/application/context/project/show/LocalShowProjectGateway.js +32 -0
- package/dist/application/context/project/show/LocalShowProjectGateway.js.map +1 -0
- package/dist/application/context/project/show/ShowProjectController.d.ts +9 -0
- package/dist/application/context/project/show/ShowProjectController.d.ts.map +1 -0
- package/dist/application/context/project/show/ShowProjectController.js +9 -0
- package/dist/application/context/project/show/ShowProjectController.js.map +1 -0
- package/dist/application/context/project/show/ShowProjectRequest.d.ts +4 -0
- package/dist/application/context/project/show/ShowProjectRequest.d.ts.map +1 -0
- package/dist/application/context/project/show/ShowProjectRequest.js +2 -0
- package/dist/application/context/project/show/ShowProjectRequest.js.map +1 -0
- package/dist/application/context/project/show/ShowProjectResponse.d.ts +7 -0
- package/dist/application/context/project/show/ShowProjectResponse.d.ts.map +1 -0
- package/dist/application/context/project/show/ShowProjectResponse.js +2 -0
- package/dist/application/context/project/show/ShowProjectResponse.js.map +1 -0
- package/dist/application/context/sessions/get/SessionContext.d.ts +2 -2
- package/dist/application/context/sessions/get/SessionContextQueryHandler.d.ts +1 -1
- package/dist/application/context/sessions/get/SessionContextQueryHandler.d.ts.map +1 -1
- package/dist/application/context/sessions/get/SessionContextQueryHandler.js +3 -1
- package/dist/application/context/sessions/get/SessionContextQueryHandler.js.map +1 -1
- package/dist/application/context/sessions/start/LocalStartSessionGateway.d.ts +2 -7
- package/dist/application/context/sessions/start/LocalStartSessionGateway.d.ts.map +1 -1
- package/dist/application/context/sessions/start/LocalStartSessionGateway.js +4 -35
- package/dist/application/context/sessions/start/LocalStartSessionGateway.js.map +1 -1
- package/dist/application/context/sessions/start/SessionStartResponse.d.ts +4 -4
- package/dist/application/context/sessions/start/SessionStartResponse.d.ts.map +1 -1
- package/dist/application/daemons/IProcessManager.d.ts +28 -0
- package/dist/application/daemons/IProcessManager.d.ts.map +1 -0
- package/dist/application/daemons/IProcessManager.js +2 -0
- package/dist/application/daemons/IProcessManager.js.map +1 -0
- package/dist/application/daemons/IShutdownSignal.d.ts +5 -0
- package/dist/application/daemons/IShutdownSignal.d.ts.map +1 -0
- package/dist/application/daemons/IShutdownSignal.js +2 -0
- package/dist/application/daemons/IShutdownSignal.js.map +1 -0
- package/dist/application/daemons/ITicker.d.ts +4 -0
- package/dist/application/daemons/ITicker.d.ts.map +1 -0
- package/dist/application/daemons/ITicker.js +2 -0
- package/dist/application/daemons/ITicker.js.map +1 -0
- package/dist/application/daemons/IWorkerDaemonProcessController.d.ts +30 -0
- package/dist/application/daemons/IWorkerDaemonProcessController.d.ts.map +1 -0
- package/dist/application/daemons/IWorkerDaemonProcessController.js +2 -0
- package/dist/application/daemons/IWorkerDaemonProcessController.js.map +1 -0
- package/dist/application/daemons/PollingLoop.d.ts +13 -0
- package/dist/application/daemons/PollingLoop.d.ts.map +1 -0
- package/dist/application/daemons/PollingLoop.js +15 -0
- package/dist/application/daemons/PollingLoop.js.map +1 -0
- package/dist/application/daemons/WorkerDaemonCatalog.d.ts +11 -0
- package/dist/application/daemons/WorkerDaemonCatalog.d.ts.map +1 -0
- package/dist/application/daemons/WorkerDaemonCatalog.js +12 -0
- package/dist/application/daemons/WorkerDaemonCatalog.js.map +1 -0
- package/dist/application/host/IApplicationContainer.d.ts +6 -0
- package/dist/application/host/IApplicationContainer.d.ts.map +1 -1
- package/dist/application/settings/Settings.d.ts +11 -0
- package/dist/application/settings/Settings.d.ts.map +1 -1
- package/dist/cli.js +68 -5
- package/dist/cli.js.map +1 -1
- package/dist/domain/project/JumboMdContent.js +1 -1
- package/dist/infrastructure/agents/AgentCliGateway.d.ts +15 -0
- package/dist/infrastructure/agents/AgentCliGateway.d.ts.map +1 -0
- package/dist/infrastructure/agents/AgentCliGateway.js +82 -0
- package/dist/infrastructure/agents/AgentCliGateway.js.map +1 -0
- package/dist/infrastructure/context/decisions/get/SqliteDecisionViewReader.d.ts +8 -0
- package/dist/infrastructure/context/decisions/get/SqliteDecisionViewReader.d.ts.map +1 -1
- package/dist/infrastructure/context/decisions/get/SqliteDecisionViewReader.js +45 -0
- package/dist/infrastructure/context/decisions/get/SqliteDecisionViewReader.js.map +1 -1
- package/dist/infrastructure/context/decisions/migrations/002-add-decision-search-indexes.sql +11 -0
- package/dist/infrastructure/context/dependencies/get/SqliteDependencyViewReader.d.ts +3 -0
- package/dist/infrastructure/context/dependencies/get/SqliteDependencyViewReader.d.ts.map +1 -1
- package/dist/infrastructure/context/dependencies/get/SqliteDependencyViewReader.js +57 -0
- package/dist/infrastructure/context/dependencies/get/SqliteDependencyViewReader.js.map +1 -1
- package/dist/infrastructure/context/dependencies/migrations/003-add-dependency-search-indexes.sql +12 -0
- package/dist/infrastructure/context/guidelines/get/SqliteGuidelineViewReader.d.ts +8 -0
- package/dist/infrastructure/context/guidelines/get/SqliteGuidelineViewReader.d.ts.map +1 -1
- package/dist/infrastructure/context/guidelines/get/SqliteGuidelineViewReader.js +31 -0
- package/dist/infrastructure/context/guidelines/get/SqliteGuidelineViewReader.js.map +1 -1
- package/dist/infrastructure/context/guidelines/migrations/003-add-guideline-search-indexes.sql +17 -0
- package/dist/infrastructure/context/invariants/get/SqliteInvariantViewReader.d.ts +8 -0
- package/dist/infrastructure/context/invariants/get/SqliteInvariantViewReader.d.ts.map +1 -1
- package/dist/infrastructure/context/invariants/get/SqliteInvariantViewReader.js +31 -0
- package/dist/infrastructure/context/invariants/get/SqliteInvariantViewReader.js.map +1 -1
- package/dist/infrastructure/context/invariants/migrations/003-add-invariant-search-indexes.sql +6 -0
- package/dist/infrastructure/context/project/query/SqliteProjectContextReader.d.ts +5 -0
- package/dist/infrastructure/context/project/query/SqliteProjectContextReader.d.ts.map +1 -1
- package/dist/infrastructure/context/project/query/SqliteProjectContextReader.js +34 -2
- package/dist/infrastructure/context/project/query/SqliteProjectContextReader.js.map +1 -1
- package/dist/infrastructure/daemons/IntervalTicker.d.ts +7 -0
- package/dist/infrastructure/daemons/IntervalTicker.d.ts.map +1 -0
- package/dist/infrastructure/daemons/IntervalTicker.js +11 -0
- package/dist/infrastructure/daemons/IntervalTicker.js.map +1 -0
- package/dist/infrastructure/daemons/NodeWorkerDaemonProcessController.d.ts +12 -0
- package/dist/infrastructure/daemons/NodeWorkerDaemonProcessController.d.ts.map +1 -0
- package/dist/infrastructure/daemons/NodeWorkerDaemonProcessController.js +56 -0
- package/dist/infrastructure/daemons/NodeWorkerDaemonProcessController.js.map +1 -0
- package/dist/infrastructure/daemons/ProcessSignalSource.d.ts +10 -0
- package/dist/infrastructure/daemons/ProcessSignalSource.d.ts.map +1 -0
- package/dist/infrastructure/daemons/ProcessSignalSource.js +24 -0
- package/dist/infrastructure/daemons/ProcessSignalSource.js.map +1 -0
- package/dist/infrastructure/host/HostBuilder.d.ts.map +1 -1
- package/dist/infrastructure/host/HostBuilder.js +16 -1
- package/dist/infrastructure/host/HostBuilder.js.map +1 -1
- package/dist/infrastructure/logging/FileLogger.js +1 -1
- package/dist/infrastructure/settings/DefaultSettings.d.ts.map +1 -1
- package/dist/infrastructure/settings/DefaultSettings.js +3 -0
- package/dist/infrastructure/settings/DefaultSettings.js.map +1 -1
- package/dist/infrastructure/settings/FsSettingsInitializer.d.ts.map +1 -1
- package/dist/infrastructure/settings/FsSettingsInitializer.js +6 -0
- package/dist/infrastructure/settings/FsSettingsInitializer.js.map +1 -1
- package/dist/infrastructure/settings/FsSettingsReader.d.ts.map +1 -1
- package/dist/infrastructure/settings/FsSettingsReader.js +10 -0
- package/dist/infrastructure/settings/FsSettingsReader.js.map +1 -1
- package/dist/presentation/cli/AppRunner.d.ts +7 -1
- package/dist/presentation/cli/AppRunner.d.ts.map +1 -1
- package/dist/presentation/cli/AppRunner.js +10 -5
- package/dist/presentation/cli/AppRunner.js.map +1 -1
- package/dist/presentation/cli/CliBootstrapPlan.d.ts +12 -0
- package/dist/presentation/cli/CliBootstrapPlan.d.ts.map +1 -0
- package/dist/presentation/cli/CliBootstrapPlan.js +23 -0
- package/dist/presentation/cli/CliBootstrapPlan.js.map +1 -0
- package/dist/presentation/cli/banner/AnimationFrames.d.ts +6 -1
- package/dist/presentation/cli/banner/AnimationFrames.d.ts.map +1 -1
- package/dist/presentation/cli/banner/AnimationFrames.js +307 -288
- package/dist/presentation/cli/banner/AnimationFrames.js.map +1 -1
- package/dist/presentation/cli/commands/decisions/search/DecisionSearchOutputBuilder.d.ts +17 -0
- package/dist/presentation/cli/commands/decisions/search/DecisionSearchOutputBuilder.d.ts.map +1 -0
- package/dist/presentation/cli/commands/decisions/search/DecisionSearchOutputBuilder.js +90 -0
- package/dist/presentation/cli/commands/decisions/search/DecisionSearchOutputBuilder.js.map +1 -0
- package/dist/presentation/cli/commands/decisions/search/decisions.search.d.ts +22 -0
- package/dist/presentation/cli/commands/decisions/search/decisions.search.d.ts.map +1 -0
- package/dist/presentation/cli/commands/decisions/search/decisions.search.js +93 -0
- package/dist/presentation/cli/commands/decisions/search/decisions.search.js.map +1 -0
- package/dist/presentation/cli/commands/dependencies/search/DependencySearchOutputBuilder.d.ts +16 -0
- package/dist/presentation/cli/commands/dependencies/search/DependencySearchOutputBuilder.d.ts.map +1 -0
- package/dist/presentation/cli/commands/dependencies/search/DependencySearchOutputBuilder.js +85 -0
- package/dist/presentation/cli/commands/dependencies/search/DependencySearchOutputBuilder.js.map +1 -0
- package/dist/presentation/cli/commands/dependencies/search/dependencies.search.d.ts +21 -0
- package/dist/presentation/cli/commands/dependencies/search/dependencies.search.d.ts.map +1 -0
- package/dist/presentation/cli/commands/dependencies/search/dependencies.search.js +111 -0
- package/dist/presentation/cli/commands/dependencies/search/dependencies.search.js.map +1 -0
- package/dist/presentation/cli/commands/guidelines/search/GuidelineSearchOutputBuilder.d.ts +22 -0
- package/dist/presentation/cli/commands/guidelines/search/GuidelineSearchOutputBuilder.d.ts.map +1 -0
- package/dist/presentation/cli/commands/guidelines/search/GuidelineSearchOutputBuilder.js +86 -0
- package/dist/presentation/cli/commands/guidelines/search/GuidelineSearchOutputBuilder.js.map +1 -0
- package/dist/presentation/cli/commands/guidelines/search/guidelines.search.d.ts +21 -0
- package/dist/presentation/cli/commands/guidelines/search/guidelines.search.d.ts.map +1 -0
- package/dist/presentation/cli/commands/guidelines/search/guidelines.search.js +92 -0
- package/dist/presentation/cli/commands/guidelines/search/guidelines.search.js.map +1 -0
- package/dist/presentation/cli/commands/invariants/search/InvariantSearchOutputBuilder.d.ts +22 -0
- package/dist/presentation/cli/commands/invariants/search/InvariantSearchOutputBuilder.d.ts.map +1 -0
- package/dist/presentation/cli/commands/invariants/search/InvariantSearchOutputBuilder.js +79 -0
- package/dist/presentation/cli/commands/invariants/search/InvariantSearchOutputBuilder.js.map +1 -0
- package/dist/presentation/cli/commands/invariants/search/invariants.search.d.ts +20 -0
- package/dist/presentation/cli/commands/invariants/search/invariants.search.d.ts.map +1 -0
- package/dist/presentation/cli/commands/invariants/search/invariants.search.js +80 -0
- package/dist/presentation/cli/commands/invariants/search/invariants.search.js.map +1 -0
- package/dist/presentation/cli/commands/project/show/ProjectShowOutputBuilder.d.ts +14 -0
- package/dist/presentation/cli/commands/project/show/ProjectShowOutputBuilder.d.ts.map +1 -0
- package/dist/presentation/cli/commands/project/show/ProjectShowOutputBuilder.js +84 -0
- package/dist/presentation/cli/commands/project/show/ProjectShowOutputBuilder.js.map +1 -0
- package/dist/presentation/cli/commands/project/show/project.show.d.ts +12 -0
- package/dist/presentation/cli/commands/project/show/project.show.d.ts.map +1 -0
- package/dist/presentation/cli/commands/project/show/project.show.js +59 -0
- package/dist/presentation/cli/commands/project/show/project.show.js.map +1 -0
- package/dist/presentation/cli/commands/registry/generated-commands.d.ts.map +1 -1
- package/dist/presentation/cli/commands/registry/generated-commands.js +30 -0
- package/dist/presentation/cli/commands/registry/generated-commands.js.map +1 -1
- package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.d.ts +1 -1
- package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.d.ts.map +1 -1
- package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.js +3 -2
- package/dist/presentation/cli/commands/sessions/start/SessionContextOutputBuilder.js.map +1 -1
- package/dist/presentation/cli/commands/sessions/start/SessionStartOutputBuilder.d.ts +8 -9
- package/dist/presentation/cli/commands/sessions/start/SessionStartOutputBuilder.d.ts.map +1 -1
- package/dist/presentation/cli/commands/sessions/start/SessionStartOutputBuilder.js +107 -42
- package/dist/presentation/cli/commands/sessions/start/SessionStartOutputBuilder.js.map +1 -1
- package/dist/presentation/cli/commands/sessions/start/SessionStartTextRenderer.d.ts +3 -2
- package/dist/presentation/cli/commands/sessions/start/SessionStartTextRenderer.d.ts.map +1 -1
- package/dist/presentation/cli/commands/sessions/start/SessionStartTextRenderer.js +24 -10
- package/dist/presentation/cli/commands/sessions/start/SessionStartTextRenderer.js.map +1 -1
- package/dist/presentation/cli/commands/sessions/start/session.start.d.ts.map +1 -1
- package/dist/presentation/cli/commands/sessions/start/session.start.js +2 -5
- package/dist/presentation/cli/commands/sessions/start/session.start.js.map +1 -1
- package/dist/presentation/cli/commands/work/shared/AgentSpawner.d.ts +7 -4
- package/dist/presentation/cli/commands/work/shared/AgentSpawner.d.ts.map +1 -1
- package/dist/presentation/cli/commands/work/shared/AgentSpawner.js +11 -4
- package/dist/presentation/cli/commands/work/shared/AgentSpawner.js.map +1 -1
- package/dist/presentation/shared/DesignTokens.d.ts +94 -0
- package/dist/presentation/shared/DesignTokens.d.ts.map +1 -0
- package/dist/presentation/shared/DesignTokens.js +94 -0
- package/dist/presentation/shared/DesignTokens.js.map +1 -0
- package/dist/presentation/tui/action-dispatch/TuiActionDispatcher.d.ts +12 -0
- package/dist/presentation/tui/action-dispatch/TuiActionDispatcher.d.ts.map +1 -0
- package/dist/presentation/tui/action-dispatch/TuiActionDispatcher.js +21 -0
- package/dist/presentation/tui/action-dispatch/TuiActionDispatcher.js.map +1 -0
- package/dist/presentation/tui/application-shell/Footer.d.ts +16 -0
- package/dist/presentation/tui/application-shell/Footer.d.ts.map +1 -0
- package/dist/presentation/tui/application-shell/Footer.js +37 -0
- package/dist/presentation/tui/application-shell/Footer.js.map +1 -0
- package/dist/presentation/tui/application-shell/Header.d.ts +10 -0
- package/dist/presentation/tui/application-shell/Header.d.ts.map +1 -0
- package/dist/presentation/tui/application-shell/Header.js +44 -0
- package/dist/presentation/tui/application-shell/Header.js.map +1 -0
- package/dist/presentation/tui/application-shell/NotificationDrawer.d.ts +16 -0
- package/dist/presentation/tui/application-shell/NotificationDrawer.d.ts.map +1 -0
- package/dist/presentation/tui/application-shell/NotificationDrawer.js +56 -0
- package/dist/presentation/tui/application-shell/NotificationDrawer.js.map +1 -0
- package/dist/presentation/tui/application-shell/TuiApp.d.ts +25 -0
- package/dist/presentation/tui/application-shell/TuiApp.d.ts.map +1 -0
- package/dist/presentation/tui/application-shell/TuiApp.js +230 -0
- package/dist/presentation/tui/application-shell/TuiApp.js.map +1 -0
- package/dist/presentation/tui/application-shell/TuiApplicationLauncher.d.ts +19 -0
- package/dist/presentation/tui/application-shell/TuiApplicationLauncher.d.ts.map +1 -0
- package/dist/presentation/tui/application-shell/TuiApplicationLauncher.js +46 -0
- package/dist/presentation/tui/application-shell/TuiApplicationLauncher.js.map +1 -0
- package/dist/presentation/tui/billboard/AnimatedBillboard.d.ts +11 -0
- package/dist/presentation/tui/billboard/AnimatedBillboard.d.ts.map +1 -0
- package/dist/presentation/tui/billboard/AnimatedBillboard.js +406 -0
- package/dist/presentation/tui/billboard/AnimatedBillboard.js.map +1 -0
- package/dist/presentation/tui/cockpit/AnimatedBanner.d.ts +13 -0
- package/dist/presentation/tui/cockpit/AnimatedBanner.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/AnimatedBanner.js +193 -0
- package/dist/presentation/tui/cockpit/AnimatedBanner.js.map +1 -0
- package/dist/presentation/tui/cockpit/CenteredPrompt.d.ts +10 -0
- package/dist/presentation/tui/cockpit/CenteredPrompt.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CenteredPrompt.js +14 -0
- package/dist/presentation/tui/cockpit/CenteredPrompt.js.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonConfiguration.d.ts +8 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonConfiguration.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonConfiguration.js +33 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonConfiguration.js.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonEvents.d.ts +14 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonEvents.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonEvents.js +146 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonEvents.js.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonFrames.d.ts +39 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonFrames.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonFrames.js +183 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonFrames.js.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonPanel.d.ts +27 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonPanel.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonPanel.js +108 -0
- package/dist/presentation/tui/cockpit/CockpitDaemonPanel.js.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitGreeterView.d.ts +3 -0
- package/dist/presentation/tui/cockpit/CockpitGreeterView.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitGreeterView.js +17 -0
- package/dist/presentation/tui/cockpit/CockpitGreeterView.js.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitLaunchpadView.d.ts +25 -0
- package/dist/presentation/tui/cockpit/CockpitLaunchpadView.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitLaunchpadView.js +217 -0
- package/dist/presentation/tui/cockpit/CockpitLaunchpadView.js.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitLaunchpadWelcome.d.ts +3 -0
- package/dist/presentation/tui/cockpit/CockpitLaunchpadWelcome.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitLaunchpadWelcome.js +16 -0
- package/dist/presentation/tui/cockpit/CockpitLaunchpadWelcome.js.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitPrimedEmptyView.d.ts +3 -0
- package/dist/presentation/tui/cockpit/CockpitPrimedEmptyView.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitPrimedEmptyView.js +22 -0
- package/dist/presentation/tui/cockpit/CockpitPrimedEmptyView.js.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitScreen.d.ts +20 -0
- package/dist/presentation/tui/cockpit/CockpitScreen.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitScreen.js +55 -0
- package/dist/presentation/tui/cockpit/CockpitScreen.js.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitUnprimedView.d.ts +3 -0
- package/dist/presentation/tui/cockpit/CockpitUnprimedView.d.ts.map +1 -0
- package/dist/presentation/tui/cockpit/CockpitUnprimedView.js +27 -0
- package/dist/presentation/tui/cockpit/CockpitUnprimedView.js.map +1 -0
- package/dist/presentation/tui/daemon-subprocesses/ISubprocessManager.d.ts +42 -0
- package/dist/presentation/tui/daemon-subprocesses/ISubprocessManager.d.ts.map +1 -0
- package/dist/presentation/tui/daemon-subprocesses/ISubprocessManager.js +2 -0
- package/dist/presentation/tui/daemon-subprocesses/ISubprocessManager.js.map +1 -0
- package/dist/presentation/tui/daemon-subprocesses/NoOpSubprocessManager.d.ts +11 -0
- package/dist/presentation/tui/daemon-subprocesses/NoOpSubprocessManager.d.ts.map +1 -0
- package/dist/presentation/tui/daemon-subprocesses/NoOpSubprocessManager.js +30 -0
- package/dist/presentation/tui/daemon-subprocesses/NoOpSubprocessManager.js.map +1 -0
- package/dist/presentation/tui/daemon-subprocesses/SubprocessManagerContext.d.ts +8 -0
- package/dist/presentation/tui/daemon-subprocesses/SubprocessManagerContext.d.ts.map +1 -0
- package/dist/presentation/tui/daemon-subprocesses/SubprocessManagerContext.js +10 -0
- package/dist/presentation/tui/daemon-subprocesses/SubprocessManagerContext.js.map +1 -0
- package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessManager.d.ts +22 -0
- package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessManager.d.ts.map +1 -0
- package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessManager.js +257 -0
- package/dist/presentation/tui/daemon-subprocesses/TuiSubprocessManager.js.map +1 -0
- package/dist/presentation/tui/goals/GoalAuthoringFlow.d.ts +22 -0
- package/dist/presentation/tui/goals/GoalAuthoringFlow.d.ts.map +1 -0
- package/dist/presentation/tui/goals/GoalAuthoringFlow.js +227 -0
- package/dist/presentation/tui/goals/GoalAuthoringFlow.js.map +1 -0
- package/dist/presentation/tui/goals/GoalsScreen.d.ts +3 -0
- package/dist/presentation/tui/goals/GoalsScreen.d.ts.map +1 -0
- package/dist/presentation/tui/goals/GoalsScreen.js +159 -0
- package/dist/presentation/tui/goals/GoalsScreen.js.map +1 -0
- package/dist/presentation/tui/index.d.ts +8 -0
- package/dist/presentation/tui/index.d.ts.map +1 -0
- package/dist/presentation/tui/index.js +5 -0
- package/dist/presentation/tui/index.js.map +1 -0
- package/dist/presentation/tui/memory/MemoryScreen.d.ts +3 -0
- package/dist/presentation/tui/memory/MemoryScreen.d.ts.map +1 -0
- package/dist/presentation/tui/memory/MemoryScreen.js +13 -0
- package/dist/presentation/tui/memory/MemoryScreen.js.map +1 -0
- package/dist/presentation/tui/memory/components/ComponentAddFlow.d.ts +14 -0
- package/dist/presentation/tui/memory/components/ComponentAddFlow.d.ts.map +1 -0
- package/dist/presentation/tui/memory/components/ComponentAddFlow.js +46 -0
- package/dist/presentation/tui/memory/components/ComponentAddFlow.js.map +1 -0
- package/dist/presentation/tui/memory/components/ComponentsScreen.d.ts +3 -0
- package/dist/presentation/tui/memory/components/ComponentsScreen.d.ts.map +1 -0
- package/dist/presentation/tui/memory/components/ComponentsScreen.js +17 -0
- package/dist/presentation/tui/memory/components/ComponentsScreen.js.map +1 -0
- package/dist/presentation/tui/memory/decisions/DecisionAddFlow.d.ts +15 -0
- package/dist/presentation/tui/memory/decisions/DecisionAddFlow.d.ts.map +1 -0
- package/dist/presentation/tui/memory/decisions/DecisionAddFlow.js +63 -0
- package/dist/presentation/tui/memory/decisions/DecisionAddFlow.js.map +1 -0
- package/dist/presentation/tui/memory/decisions/DecisionsScreen.d.ts +3 -0
- package/dist/presentation/tui/memory/decisions/DecisionsScreen.d.ts.map +1 -0
- package/dist/presentation/tui/memory/decisions/DecisionsScreen.js +18 -0
- package/dist/presentation/tui/memory/decisions/DecisionsScreen.js.map +1 -0
- package/dist/presentation/tui/memory/dependencies/DependenciesScreen.d.ts +3 -0
- package/dist/presentation/tui/memory/dependencies/DependenciesScreen.d.ts.map +1 -0
- package/dist/presentation/tui/memory/dependencies/DependenciesScreen.js +19 -0
- package/dist/presentation/tui/memory/dependencies/DependenciesScreen.js.map +1 -0
- package/dist/presentation/tui/memory/dependencies/DependencyAddFlow.d.ts +16 -0
- package/dist/presentation/tui/memory/dependencies/DependencyAddFlow.d.ts.map +1 -0
- package/dist/presentation/tui/memory/dependencies/DependencyAddFlow.js +56 -0
- package/dist/presentation/tui/memory/dependencies/DependencyAddFlow.js.map +1 -0
- package/dist/presentation/tui/memory/entity-browser/EntityColumn.d.ts +14 -0
- package/dist/presentation/tui/memory/entity-browser/EntityColumn.d.ts.map +1 -0
- package/dist/presentation/tui/memory/entity-browser/EntityColumn.js +21 -0
- package/dist/presentation/tui/memory/entity-browser/EntityColumn.js.map +1 -0
- package/dist/presentation/tui/memory/entity-browser/EntityDetailView.d.ts +10 -0
- package/dist/presentation/tui/memory/entity-browser/EntityDetailView.d.ts.map +1 -0
- package/dist/presentation/tui/memory/entity-browser/EntityDetailView.js +85 -0
- package/dist/presentation/tui/memory/entity-browser/EntityDetailView.js.map +1 -0
- package/dist/presentation/tui/memory/entity-browser/MemoryEntityScreen.d.ts +13 -0
- package/dist/presentation/tui/memory/entity-browser/MemoryEntityScreen.d.ts.map +1 -0
- package/dist/presentation/tui/memory/entity-browser/MemoryEntityScreen.js +80 -0
- package/dist/presentation/tui/memory/entity-browser/MemoryEntityScreen.js.map +1 -0
- package/dist/presentation/tui/memory/entity-browser/MemoryEntityShapes.d.ts +41 -0
- package/dist/presentation/tui/memory/entity-browser/MemoryEntityShapes.d.ts.map +1 -0
- package/dist/presentation/tui/memory/entity-browser/MemoryEntityShapes.js +2 -0
- package/dist/presentation/tui/memory/entity-browser/MemoryEntityShapes.js.map +1 -0
- package/dist/presentation/tui/memory/guidelines/GuidelineAddFlow.d.ts +15 -0
- package/dist/presentation/tui/memory/guidelines/GuidelineAddFlow.d.ts.map +1 -0
- package/dist/presentation/tui/memory/guidelines/GuidelineAddFlow.js +57 -0
- package/dist/presentation/tui/memory/guidelines/GuidelineAddFlow.js.map +1 -0
- package/dist/presentation/tui/memory/guidelines/GuidelinesScreen.d.ts +3 -0
- package/dist/presentation/tui/memory/guidelines/GuidelinesScreen.d.ts.map +1 -0
- package/dist/presentation/tui/memory/guidelines/GuidelinesScreen.js +18 -0
- package/dist/presentation/tui/memory/guidelines/GuidelinesScreen.js.map +1 -0
- package/dist/presentation/tui/memory/invariants/InvariantAddFlow.d.ts +13 -0
- package/dist/presentation/tui/memory/invariants/InvariantAddFlow.d.ts.map +1 -0
- package/dist/presentation/tui/memory/invariants/InvariantAddFlow.js +41 -0
- package/dist/presentation/tui/memory/invariants/InvariantAddFlow.js.map +1 -0
- package/dist/presentation/tui/memory/invariants/InvariantsScreen.d.ts +3 -0
- package/dist/presentation/tui/memory/invariants/InvariantsScreen.d.ts.map +1 -0
- package/dist/presentation/tui/memory/invariants/InvariantsScreen.js +16 -0
- package/dist/presentation/tui/memory/invariants/InvariantsScreen.js.map +1 -0
- package/dist/presentation/tui/navigation/MegaMenu.d.ts +10 -0
- package/dist/presentation/tui/navigation/MegaMenu.d.ts.map +1 -0
- package/dist/presentation/tui/navigation/MegaMenu.js +164 -0
- package/dist/presentation/tui/navigation/MegaMenu.js.map +1 -0
- package/dist/presentation/tui/navigation/MegaMenuDefinitions.d.ts +17 -0
- package/dist/presentation/tui/navigation/MegaMenuDefinitions.d.ts.map +1 -0
- package/dist/presentation/tui/navigation/MegaMenuDefinitions.js +162 -0
- package/dist/presentation/tui/navigation/MegaMenuDefinitions.js.map +1 -0
- package/dist/presentation/tui/navigation/ScreenDefinitions.d.ts +36 -0
- package/dist/presentation/tui/navigation/ScreenDefinitions.d.ts.map +1 -0
- package/dist/presentation/tui/navigation/ScreenDefinitions.js +12 -0
- package/dist/presentation/tui/navigation/ScreenDefinitions.js.map +1 -0
- package/dist/presentation/tui/navigation/ScreenRouter.d.ts +19 -0
- package/dist/presentation/tui/navigation/ScreenRouter.d.ts.map +1 -0
- package/dist/presentation/tui/navigation/ScreenRouter.js +31 -0
- package/dist/presentation/tui/navigation/ScreenRouter.js.map +1 -0
- package/dist/presentation/tui/project-initialization/InitFlow.d.ts +24 -0
- package/dist/presentation/tui/project-initialization/InitFlow.d.ts.map +1 -0
- package/dist/presentation/tui/project-initialization/InitFlow.js +629 -0
- package/dist/presentation/tui/project-initialization/InitFlow.js.map +1 -0
- package/dist/presentation/tui/sessions/SessionScreen.d.ts +3 -0
- package/dist/presentation/tui/sessions/SessionScreen.d.ts.map +1 -0
- package/dist/presentation/tui/sessions/SessionScreen.js +38 -0
- package/dist/presentation/tui/sessions/SessionScreen.js.map +1 -0
- package/dist/presentation/tui/state-reading/TuiStateReader.d.ts +58 -0
- package/dist/presentation/tui/state-reading/TuiStateReader.d.ts.map +1 -0
- package/dist/presentation/tui/state-reading/TuiStateReader.js +150 -0
- package/dist/presentation/tui/state-reading/TuiStateReader.js.map +1 -0
- package/dist/presentation/tui/ui-primitives/DetailPane.d.ts +15 -0
- package/dist/presentation/tui/ui-primitives/DetailPane.d.ts.map +1 -0
- package/dist/presentation/tui/ui-primitives/DetailPane.js +12 -0
- package/dist/presentation/tui/ui-primitives/DetailPane.js.map +1 -0
- package/dist/presentation/tui/ui-primitives/KeyBadge.d.ts +11 -0
- package/dist/presentation/tui/ui-primitives/KeyBadge.d.ts.map +1 -0
- package/dist/presentation/tui/ui-primitives/KeyBadge.js +9 -0
- package/dist/presentation/tui/ui-primitives/KeyBadge.js.map +1 -0
- package/dist/presentation/tui/ui-primitives/ListPanel.d.ts +16 -0
- package/dist/presentation/tui/ui-primitives/ListPanel.d.ts.map +1 -0
- package/dist/presentation/tui/ui-primitives/ListPanel.js +15 -0
- package/dist/presentation/tui/ui-primitives/ListPanel.js.map +1 -0
- package/dist/presentation/tui/ui-primitives/Panel.d.ts +15 -0
- package/dist/presentation/tui/ui-primitives/Panel.d.ts.map +1 -0
- package/dist/presentation/tui/ui-primitives/Panel.js +9 -0
- package/dist/presentation/tui/ui-primitives/Panel.js.map +1 -0
- package/dist/presentation/tui/ui-primitives/SectionHeading.d.ts +8 -0
- package/dist/presentation/tui/ui-primitives/SectionHeading.d.ts.map +1 -0
- package/dist/presentation/tui/ui-primitives/SectionHeading.js +9 -0
- package/dist/presentation/tui/ui-primitives/SectionHeading.js.map +1 -0
- package/dist/presentation/tui/ui-primitives/StatusIndicator.d.ts +9 -0
- package/dist/presentation/tui/ui-primitives/StatusIndicator.d.ts.map +1 -0
- package/dist/presentation/tui/ui-primitives/StatusIndicator.js +21 -0
- package/dist/presentation/tui/ui-primitives/StatusIndicator.js.map +1 -0
- package/dist/presentation/tui/ui-primitives/Tumbler.d.ts +18 -0
- package/dist/presentation/tui/ui-primitives/Tumbler.d.ts.map +1 -0
- package/dist/presentation/tui/ui-primitives/Tumbler.js +101 -0
- package/dist/presentation/tui/ui-primitives/Tumbler.js.map +1 -0
- package/dist/presentation/tui/wizard/Wizard.d.ts +53 -0
- package/dist/presentation/tui/wizard/Wizard.d.ts.map +1 -0
- package/dist/presentation/tui/wizard/Wizard.js +385 -0
- package/dist/presentation/tui/wizard/Wizard.js.map +1 -0
- package/dist/presentation/tui/wizard/WizardTextInput.d.ts +12 -0
- package/dist/presentation/tui/wizard/WizardTextInput.d.ts.map +1 -0
- package/dist/presentation/tui/wizard/WizardTextInput.js +39 -0
- package/dist/presentation/tui/wizard/WizardTextInput.js.map +1 -0
- package/dist/presentation/work/codifier.daemon.d.ts +3 -0
- package/dist/presentation/work/codifier.daemon.d.ts.map +1 -0
- package/dist/presentation/work/codifier.daemon.js +75 -0
- package/dist/presentation/work/codifier.daemon.js.map +1 -0
- package/dist/presentation/work/refiner.daemon.d.ts +3 -0
- package/dist/presentation/work/refiner.daemon.d.ts.map +1 -0
- package/dist/presentation/work/refiner.daemon.js +60 -0
- package/dist/presentation/work/refiner.daemon.js.map +1 -0
- package/dist/presentation/work/reviewer.daemon.d.ts +3 -0
- package/dist/presentation/work/reviewer.daemon.d.ts.map +1 -0
- package/dist/presentation/work/reviewer.daemon.js +60 -0
- package/dist/presentation/work/reviewer.daemon.js.map +1 -0
- package/package.json +5 -1
- package/dist/application/context/project/get/ContextualProjectView.d.ts +0 -24
- package/dist/application/context/project/get/ContextualProjectView.d.ts.map +0 -1
- package/dist/application/context/project/get/ContextualProjectView.js +0 -2
- package/dist/application/context/project/get/ContextualProjectView.js.map +0 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { TuiRequestController } from "../action-dispatch/TuiActionDispatcher.js";
|
|
3
|
+
import type { PlanProjectInitRequest } from "../../../application/context/project/init/PlanProjectInitRequest.js";
|
|
4
|
+
import type { PlanProjectInitResponse } from "../../../application/context/project/init/PlanProjectInitResponse.js";
|
|
5
|
+
import type { InitializeProjectRequest } from "../../../application/context/project/init/InitializeProjectRequest.js";
|
|
6
|
+
import type { InitializeProjectResponse } from "../../../application/context/project/init/InitializeProjectResponse.js";
|
|
7
|
+
import type { AddAudienceRequest } from "../../../application/context/audiences/add/AddAudienceRequest.js";
|
|
8
|
+
import type { AddAudienceResponse } from "../../../application/context/audiences/add/AddAudienceResponse.js";
|
|
9
|
+
import type { AddValuePropositionRequest } from "../../../application/context/value-propositions/add/AddValuePropositionRequest.js";
|
|
10
|
+
import type { AddValuePropositionResponse } from "../../../application/context/value-propositions/add/AddValuePropositionResponse.js";
|
|
11
|
+
export interface InitFlowActionControllers {
|
|
12
|
+
readonly planProjectInitController?: TuiRequestController<PlanProjectInitRequest, PlanProjectInitResponse>;
|
|
13
|
+
readonly initializeProjectController?: TuiRequestController<InitializeProjectRequest, InitializeProjectResponse>;
|
|
14
|
+
readonly addAudienceController?: TuiRequestController<AddAudienceRequest, AddAudienceResponse>;
|
|
15
|
+
readonly addValuePropositionController?: TuiRequestController<AddValuePropositionRequest, AddValuePropositionResponse>;
|
|
16
|
+
}
|
|
17
|
+
interface InitFlowProps {
|
|
18
|
+
readonly actionControllers?: InitFlowActionControllers;
|
|
19
|
+
readonly onComplete: (values: Record<string, string>) => void | Promise<void>;
|
|
20
|
+
readonly onCancel: () => void;
|
|
21
|
+
}
|
|
22
|
+
export declare function InitFlow({ actionControllers, onComplete, onCancel, }: InitFlowProps): React.ReactElement;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=InitFlow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InitFlow.d.ts","sourceRoot":"","sources":["../../../../src/presentation/tui/project-initialization/InitFlow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAKjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qEAAqE,CAAC;AAClH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sEAAsE,CAAC;AACpH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uEAAuE,CAAC;AACtH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wEAAwE,CAAC;AACxH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kEAAkE,CAAC;AAC3G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mEAAmE,CAAC;AAC7G,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mFAAmF,CAAC;AACpI,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oFAAoF,CAAC;AA0DtI,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,oBAAoB,CACvD,sBAAsB,EACtB,uBAAuB,CACxB,CAAC;IACF,QAAQ,CAAC,2BAA2B,CAAC,EAAE,oBAAoB,CACzD,wBAAwB,EACxB,yBAAyB,CAC1B,CAAC;IACF,QAAQ,CAAC,qBAAqB,CAAC,EAAE,oBAAoB,CACnD,kBAAkB,EAClB,mBAAmB,CACpB,CAAC;IACF,QAAQ,CAAC,6BAA6B,CAAC,EAAE,oBAAoB,CAC3D,0BAA0B,EAC1B,2BAA2B,CAC5B,CAAC;CACH;AAED,UAAU,aAAa;IACrB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,yBAAyB,CAAC;IACvD,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;CAC/B;AA4JD,wBAAgB,QAAQ,CAAC,EACvB,iBAAsB,EACtB,UAAU,EACV,QAAQ,GACT,EAAE,aAAa,GAAG,KAAK,CAAC,YAAY,CA8TpC"}
|
|
@@ -0,0 +1,629 @@
|
|
|
1
|
+
import React, { useMemo, useState } from "react";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
|
+
import { Wizard } from "../wizard/Wizard.js";
|
|
4
|
+
import { dispatchTuiAction } from "../action-dispatch/TuiActionDispatcher.js";
|
|
5
|
+
import { SemanticColors } from "../../shared/DesignTokens.js";
|
|
6
|
+
const YES_NO_MESSAGE = "Enter yes or no";
|
|
7
|
+
const REQUIRED_PLAN_CONTROLLER_ERROR = "Project initialization planning is unavailable. Restart Jumbo and try again.";
|
|
8
|
+
const REQUIRED_INIT_CONTROLLER_ERROR = "Project initialization is unavailable. Restart Jumbo and try again.";
|
|
9
|
+
const REQUIRED_AUDIENCE_CONTROLLER_ERROR = "Audience registration is unavailable. Restart Jumbo and try again.";
|
|
10
|
+
const REQUIRED_VALUE_PROPOSITION_CONTROLLER_ERROR = "Value proposition registration is unavailable. Restart Jumbo and try again.";
|
|
11
|
+
const INIT_FLOW_STAGES_WITH_AGENT_SELECTION = [
|
|
12
|
+
"project",
|
|
13
|
+
"audience-gate",
|
|
14
|
+
"audience",
|
|
15
|
+
"value-gate",
|
|
16
|
+
"value",
|
|
17
|
+
"agent-selection",
|
|
18
|
+
"confirmation",
|
|
19
|
+
];
|
|
20
|
+
const INIT_FLOW_STAGES_WITHOUT_AGENT_SELECTION = [
|
|
21
|
+
"project",
|
|
22
|
+
"audience-gate",
|
|
23
|
+
"audience",
|
|
24
|
+
"value-gate",
|
|
25
|
+
"value",
|
|
26
|
+
"confirmation",
|
|
27
|
+
];
|
|
28
|
+
const CONFIRMATION_FILE_REVIEW_PAGE_SIZE = 10;
|
|
29
|
+
const PROJECT_STEPS = [
|
|
30
|
+
{
|
|
31
|
+
title: "Project Name",
|
|
32
|
+
description: "What is your project called? This name will appear in context packets served to coding agents.",
|
|
33
|
+
fields: [
|
|
34
|
+
{
|
|
35
|
+
key: "projectName",
|
|
36
|
+
label: "Project name",
|
|
37
|
+
placeholder: "e.g. Jumbo",
|
|
38
|
+
},
|
|
39
|
+
],
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
title: "Purpose",
|
|
43
|
+
description: "Describe the purpose of your project. What problem does it solve? This helps agents understand the north-star.",
|
|
44
|
+
fields: [
|
|
45
|
+
{
|
|
46
|
+
key: "purpose",
|
|
47
|
+
label: "Project purpose",
|
|
48
|
+
placeholder: "e.g. Context management for LLM coding agents",
|
|
49
|
+
required: false,
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
},
|
|
53
|
+
];
|
|
54
|
+
const AUDIENCE_GATE_STEPS = [
|
|
55
|
+
{
|
|
56
|
+
title: "Audiences",
|
|
57
|
+
description: "Who are the primary audiences for your project? Understanding your users helps agents make better decisions.",
|
|
58
|
+
fields: [
|
|
59
|
+
{
|
|
60
|
+
key: "addAudience",
|
|
61
|
+
label: "Add an audience?",
|
|
62
|
+
kind: "yes-no",
|
|
63
|
+
defaultValue: "no",
|
|
64
|
+
required: false,
|
|
65
|
+
validate: validateOptionalYesNo,
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
},
|
|
69
|
+
];
|
|
70
|
+
const AUDIENCE_STEPS = [
|
|
71
|
+
{
|
|
72
|
+
title: "Audiences",
|
|
73
|
+
description: "Who are the primary audiences for your project? Understanding your users helps agents make better decisions.",
|
|
74
|
+
fields: [
|
|
75
|
+
{
|
|
76
|
+
key: "audienceName",
|
|
77
|
+
label: "Audience name",
|
|
78
|
+
placeholder: "e.g. Software Developers",
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
key: "audienceDescription",
|
|
82
|
+
label: "Audience description",
|
|
83
|
+
placeholder: "e.g. Developers collaborating with LLM coding agents",
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
key: "audiencePriority",
|
|
87
|
+
label: "Audience priority",
|
|
88
|
+
kind: "single-select",
|
|
89
|
+
options: [
|
|
90
|
+
{ value: "primary", label: "Primary" },
|
|
91
|
+
{ value: "secondary", label: "Secondary" },
|
|
92
|
+
{ value: "tertiary", label: "Tertiary" },
|
|
93
|
+
],
|
|
94
|
+
defaultValue: "primary",
|
|
95
|
+
validate: validateAudiencePriority,
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
key: "addAnotherAudience",
|
|
99
|
+
label: "Add another audience?",
|
|
100
|
+
kind: "yes-no",
|
|
101
|
+
defaultValue: "no",
|
|
102
|
+
required: false,
|
|
103
|
+
validate: validateOptionalYesNo,
|
|
104
|
+
},
|
|
105
|
+
],
|
|
106
|
+
},
|
|
107
|
+
];
|
|
108
|
+
const VALUE_GATE_STEPS = [
|
|
109
|
+
{
|
|
110
|
+
title: "Value Propositions",
|
|
111
|
+
description: "What value does your project deliver? These propositions guide what capabilities matter most.",
|
|
112
|
+
fields: [
|
|
113
|
+
{
|
|
114
|
+
key: "addValueProposition",
|
|
115
|
+
label: "Add a value proposition?",
|
|
116
|
+
kind: "yes-no",
|
|
117
|
+
defaultValue: "no",
|
|
118
|
+
required: false,
|
|
119
|
+
validate: validateOptionalYesNo,
|
|
120
|
+
},
|
|
121
|
+
],
|
|
122
|
+
},
|
|
123
|
+
];
|
|
124
|
+
const VALUE_STEPS = [
|
|
125
|
+
{
|
|
126
|
+
title: "Value Propositions",
|
|
127
|
+
description: "What value does your project deliver? These propositions guide what capabilities matter most.",
|
|
128
|
+
fields: [
|
|
129
|
+
{
|
|
130
|
+
key: "valueTitle",
|
|
131
|
+
label: "Value proposition title",
|
|
132
|
+
placeholder: "e.g. Persistent context across sessions",
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
key: "valueDescription",
|
|
136
|
+
label: "Description",
|
|
137
|
+
placeholder: "e.g. Detailed explanation of the value",
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
key: "valueBenefit",
|
|
141
|
+
label: "Benefit",
|
|
142
|
+
placeholder: "e.g. Agents never lose important project context",
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
key: "valueMeasurableOutcome",
|
|
146
|
+
label: "Measurable outcome",
|
|
147
|
+
placeholder: "optional",
|
|
148
|
+
required: false,
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
key: "addAnotherValueProposition",
|
|
152
|
+
label: "Add another value proposition?",
|
|
153
|
+
kind: "yes-no",
|
|
154
|
+
defaultValue: "no",
|
|
155
|
+
required: false,
|
|
156
|
+
validate: validateOptionalYesNo,
|
|
157
|
+
},
|
|
158
|
+
],
|
|
159
|
+
},
|
|
160
|
+
];
|
|
161
|
+
const INIT_FLOW_STAGE_STEP_COUNTS = {
|
|
162
|
+
project: PROJECT_STEPS.length,
|
|
163
|
+
"audience-gate": AUDIENCE_GATE_STEPS.length,
|
|
164
|
+
audience: AUDIENCE_STEPS.length,
|
|
165
|
+
"value-gate": VALUE_GATE_STEPS.length,
|
|
166
|
+
value: VALUE_STEPS.length,
|
|
167
|
+
"agent-selection": 1,
|
|
168
|
+
confirmation: 1,
|
|
169
|
+
success: 0,
|
|
170
|
+
};
|
|
171
|
+
export function InitFlow({ actionControllers = {}, onComplete, onCancel, }) {
|
|
172
|
+
const [stage, setStage] = useState("project");
|
|
173
|
+
const [stageHistory, setStageHistory] = useState([]);
|
|
174
|
+
const [projectDetails, setProjectDetails] = useState(null);
|
|
175
|
+
const [audiences, setAudiences] = useState([]);
|
|
176
|
+
const [valuePropositions, setValuePropositions] = useState([]);
|
|
177
|
+
const [planResponse, setPlanResponse] = useState(null);
|
|
178
|
+
const [selectedAgentIds, setSelectedAgentIds] = useState(undefined);
|
|
179
|
+
const [dispatchError, setDispatchError] = useState(null);
|
|
180
|
+
const [working, setWorking] = useState(false);
|
|
181
|
+
const [restoreStepIndex, setRestoreStepIndex] = useState(0);
|
|
182
|
+
const [confirmationReviewOpen, setConfirmationReviewOpen] = useState(false);
|
|
183
|
+
const [confirmationReviewOffset, setConfirmationReviewOffset] = useState(0);
|
|
184
|
+
const agentSelectionSteps = useMemo(() => buildAgentSelectionSteps(planResponse), [planResponse]);
|
|
185
|
+
const confirmationSteps = useMemo(() => buildConfirmationSteps(planResponse?.plannedChanges ?? [], confirmationReviewOpen, confirmationReviewOffset), [confirmationReviewOffset, confirmationReviewOpen, planResponse]);
|
|
186
|
+
const navigateToStage = (nextStage, rollback) => {
|
|
187
|
+
setStageHistory((current) => [
|
|
188
|
+
...current,
|
|
189
|
+
{
|
|
190
|
+
stage,
|
|
191
|
+
restoreStepIndex: Math.max(INIT_FLOW_STAGE_STEP_COUNTS[stage] - 1, 0),
|
|
192
|
+
rollback,
|
|
193
|
+
},
|
|
194
|
+
]);
|
|
195
|
+
setStage(nextStage);
|
|
196
|
+
setRestoreStepIndex(0);
|
|
197
|
+
};
|
|
198
|
+
const handleWizardBack = () => {
|
|
199
|
+
const previousEntry = stageHistory[stageHistory.length - 1];
|
|
200
|
+
if (previousEntry === undefined) {
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
setStageHistory(stageHistory.slice(0, -1));
|
|
204
|
+
applyRollback(previousEntry.rollback);
|
|
205
|
+
setStage(previousEntry.stage);
|
|
206
|
+
setRestoreStepIndex(previousEntry.restoreStepIndex);
|
|
207
|
+
};
|
|
208
|
+
const applyRollback = (rollback) => {
|
|
209
|
+
if (rollback === "audience") {
|
|
210
|
+
setAudiences((current) => current.slice(0, -1));
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
if (rollback === "value-proposition") {
|
|
214
|
+
setValuePropositions((current) => current.slice(0, -1));
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
if (rollback === "plan") {
|
|
218
|
+
setPlanResponse(null);
|
|
219
|
+
setSelectedAgentIds(undefined);
|
|
220
|
+
setConfirmationReviewOpen(false);
|
|
221
|
+
setConfirmationReviewOffset(0);
|
|
222
|
+
}
|
|
223
|
+
};
|
|
224
|
+
const handleProjectConfirm = async (values) => {
|
|
225
|
+
const nextProjectDetails = {
|
|
226
|
+
name: values.projectName.trim(),
|
|
227
|
+
purpose: (values.purpose ?? "").trim() || undefined,
|
|
228
|
+
};
|
|
229
|
+
setProjectDetails(nextProjectDetails);
|
|
230
|
+
navigateToStage("audience-gate");
|
|
231
|
+
};
|
|
232
|
+
const handleAudienceGateConfirm = (values) => {
|
|
233
|
+
navigateToStage(isYes(values.addAudience ?? "") ? "audience" : "value-gate");
|
|
234
|
+
};
|
|
235
|
+
const handleAudienceConfirm = (values) => {
|
|
236
|
+
setAudiences((current) => [
|
|
237
|
+
...current,
|
|
238
|
+
{
|
|
239
|
+
name: values.audienceName.trim(),
|
|
240
|
+
description: values.audienceDescription.trim(),
|
|
241
|
+
priority: toAudiencePriority(values.audiencePriority),
|
|
242
|
+
},
|
|
243
|
+
]);
|
|
244
|
+
navigateToStage(isYes(values.addAnotherAudience ?? "") ? "audience" : "value-gate", "audience");
|
|
245
|
+
};
|
|
246
|
+
const handleValueGateConfirm = async (values) => {
|
|
247
|
+
if (isYes(values.addValueProposition ?? "")) {
|
|
248
|
+
navigateToStage("value");
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
await planProjectInit(undefined, "plan");
|
|
252
|
+
};
|
|
253
|
+
const handleValueConfirm = async (values) => {
|
|
254
|
+
const nextValuePropositions = [
|
|
255
|
+
...valuePropositions,
|
|
256
|
+
{
|
|
257
|
+
title: values.valueTitle.trim(),
|
|
258
|
+
description: values.valueDescription.trim(),
|
|
259
|
+
benefit: values.valueBenefit.trim(),
|
|
260
|
+
measurableOutcome: (values.valueMeasurableOutcome ?? "").trim().length === 0
|
|
261
|
+
? undefined
|
|
262
|
+
: values.valueMeasurableOutcome.trim(),
|
|
263
|
+
},
|
|
264
|
+
];
|
|
265
|
+
setValuePropositions(nextValuePropositions);
|
|
266
|
+
if (isYes(values.addAnotherValueProposition ?? "")) {
|
|
267
|
+
navigateToStage("value", "value-proposition");
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
await planProjectInit(undefined, "value-proposition");
|
|
271
|
+
};
|
|
272
|
+
const handleAgentSelectionConfirm = async (values) => {
|
|
273
|
+
const parsedAgentIds = parseAgentSelection(values.selectedAgentIds ?? "");
|
|
274
|
+
setSelectedAgentIds(parsedAgentIds);
|
|
275
|
+
await planProjectInit(parsedAgentIds);
|
|
276
|
+
};
|
|
277
|
+
const handleWizardInput = (input, key) => {
|
|
278
|
+
if (stage !== "confirmation") {
|
|
279
|
+
return false;
|
|
280
|
+
}
|
|
281
|
+
const plannedChanges = planResponse?.plannedChanges ?? [];
|
|
282
|
+
if (input === "v" || input === "V") {
|
|
283
|
+
setConfirmationReviewOpen((isOpen) => !isOpen);
|
|
284
|
+
setConfirmationReviewOffset(0);
|
|
285
|
+
return true;
|
|
286
|
+
}
|
|
287
|
+
if (!confirmationReviewOpen) {
|
|
288
|
+
return false;
|
|
289
|
+
}
|
|
290
|
+
if (key.upArrow) {
|
|
291
|
+
setConfirmationReviewOffset((offset) => Math.max(offset - 1, 0));
|
|
292
|
+
return true;
|
|
293
|
+
}
|
|
294
|
+
if (key.downArrow) {
|
|
295
|
+
setConfirmationReviewOffset((offset) => Math.min(offset + 1, Math.max(plannedChanges.length - CONFIRMATION_FILE_REVIEW_PAGE_SIZE, 0)));
|
|
296
|
+
return true;
|
|
297
|
+
}
|
|
298
|
+
return false;
|
|
299
|
+
};
|
|
300
|
+
const handleConfirmationConfirm = async (values) => {
|
|
301
|
+
if (isExplicitNo(values.confirmInitialization ?? "")) {
|
|
302
|
+
onCancel();
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
await initializeProject();
|
|
306
|
+
};
|
|
307
|
+
const planProjectInit = async (nextSelectedAgentIds, rollback) => {
|
|
308
|
+
const controller = actionControllers.planProjectInitController;
|
|
309
|
+
if (controller === undefined) {
|
|
310
|
+
setDispatchError(REQUIRED_PLAN_CONTROLLER_ERROR);
|
|
311
|
+
return;
|
|
312
|
+
}
|
|
313
|
+
setWorking(true);
|
|
314
|
+
setDispatchError(null);
|
|
315
|
+
const result = await dispatchTuiAction(controller, {
|
|
316
|
+
projectRoot: process.cwd(),
|
|
317
|
+
selectedAgentIds: nextSelectedAgentIds,
|
|
318
|
+
});
|
|
319
|
+
setWorking(false);
|
|
320
|
+
if (!result.ok) {
|
|
321
|
+
setDispatchError(result.error.message);
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
324
|
+
setPlanResponse(result.response);
|
|
325
|
+
if (nextSelectedAgentIds === undefined &&
|
|
326
|
+
result.response.availableAgents.length > 0) {
|
|
327
|
+
navigateToStage("agent-selection", rollback);
|
|
328
|
+
}
|
|
329
|
+
else {
|
|
330
|
+
navigateToStage("confirmation", rollback);
|
|
331
|
+
}
|
|
332
|
+
};
|
|
333
|
+
const initializeProject = async () => {
|
|
334
|
+
if (projectDetails === null) {
|
|
335
|
+
setDispatchError("Project details are required before initialization.");
|
|
336
|
+
return;
|
|
337
|
+
}
|
|
338
|
+
const initializeController = actionControllers.initializeProjectController;
|
|
339
|
+
if (initializeController === undefined) {
|
|
340
|
+
setDispatchError(REQUIRED_INIT_CONTROLLER_ERROR);
|
|
341
|
+
return;
|
|
342
|
+
}
|
|
343
|
+
setWorking(true);
|
|
344
|
+
setDispatchError(null);
|
|
345
|
+
const initResult = await dispatchTuiAction(initializeController, {
|
|
346
|
+
name: projectDetails.name,
|
|
347
|
+
purpose: projectDetails.purpose,
|
|
348
|
+
projectRoot: process.cwd(),
|
|
349
|
+
selectedAgentIds,
|
|
350
|
+
});
|
|
351
|
+
if (!initResult.ok) {
|
|
352
|
+
setWorking(false);
|
|
353
|
+
setDispatchError(initResult.error.message);
|
|
354
|
+
return;
|
|
355
|
+
}
|
|
356
|
+
const primitiveResult = await persistCollectedPrimitives(actionControllers, audiences, valuePropositions);
|
|
357
|
+
setWorking(false);
|
|
358
|
+
if (!primitiveResult.ok) {
|
|
359
|
+
setDispatchError(primitiveResult.error.message);
|
|
360
|
+
return;
|
|
361
|
+
}
|
|
362
|
+
setStage("success");
|
|
363
|
+
await onComplete({
|
|
364
|
+
...flattenCollectedValues(projectDetails, audiences, valuePropositions),
|
|
365
|
+
projectId: initResult.response.projectId,
|
|
366
|
+
});
|
|
367
|
+
};
|
|
368
|
+
if (stage === "success") {
|
|
369
|
+
return (React.createElement(Box, { flexDirection: "column", alignItems: "center", justifyContent: "center", flexGrow: 1 },
|
|
370
|
+
React.createElement(Text, { color: SemanticColors.success, bold: true }, "Project initialized successfully.")));
|
|
371
|
+
}
|
|
372
|
+
return (React.createElement(Wizard, { title: "Initialize Project", steps: resolveSteps(stage, agentSelectionSteps, confirmationSteps), onConfirm: resolveConfirmHandler(stage, {
|
|
373
|
+
handleProjectConfirm,
|
|
374
|
+
handleAudienceGateConfirm,
|
|
375
|
+
handleAudienceConfirm,
|
|
376
|
+
handleValueGateConfirm,
|
|
377
|
+
handleValueConfirm,
|
|
378
|
+
handleAgentSelectionConfirm,
|
|
379
|
+
handleConfirmationConfirm,
|
|
380
|
+
}), onCancel: onCancel, onBack: stageHistory.length > 0 ? handleWizardBack : undefined, initialStepIndex: restoreStepIndex, initialValues: resolveInitialValues(stage, projectDetails), dispatchError: dispatchError, disabled: working, progressLabel: (currentStepIndex) => resolveProgressLabel(stage, planResponse, currentStepIndex), extraHints: stage === "confirmation"
|
|
381
|
+
? [
|
|
382
|
+
{
|
|
383
|
+
char: "v",
|
|
384
|
+
label: confirmationReviewOpen ? "Summary" : "View files",
|
|
385
|
+
},
|
|
386
|
+
]
|
|
387
|
+
: [], onInput: handleWizardInput }));
|
|
388
|
+
}
|
|
389
|
+
function resolveSteps(stage, agentSelectionSteps, confirmationSteps) {
|
|
390
|
+
if (stage === "project")
|
|
391
|
+
return PROJECT_STEPS;
|
|
392
|
+
if (stage === "audience-gate")
|
|
393
|
+
return AUDIENCE_GATE_STEPS;
|
|
394
|
+
if (stage === "audience")
|
|
395
|
+
return AUDIENCE_STEPS;
|
|
396
|
+
if (stage === "value-gate")
|
|
397
|
+
return VALUE_GATE_STEPS;
|
|
398
|
+
if (stage === "value")
|
|
399
|
+
return VALUE_STEPS;
|
|
400
|
+
if (stage === "agent-selection")
|
|
401
|
+
return agentSelectionSteps;
|
|
402
|
+
return confirmationSteps;
|
|
403
|
+
}
|
|
404
|
+
function resolveConfirmHandler(stage, handlers) {
|
|
405
|
+
if (stage === "project")
|
|
406
|
+
return handlers.handleProjectConfirm;
|
|
407
|
+
if (stage === "audience-gate")
|
|
408
|
+
return handlers.handleAudienceGateConfirm;
|
|
409
|
+
if (stage === "audience")
|
|
410
|
+
return handlers.handleAudienceConfirm;
|
|
411
|
+
if (stage === "value-gate")
|
|
412
|
+
return handlers.handleValueGateConfirm;
|
|
413
|
+
if (stage === "value")
|
|
414
|
+
return handlers.handleValueConfirm;
|
|
415
|
+
if (stage === "agent-selection")
|
|
416
|
+
return handlers.handleAgentSelectionConfirm;
|
|
417
|
+
return handlers.handleConfirmationConfirm;
|
|
418
|
+
}
|
|
419
|
+
function resolveInitialValues(stage, projectDetails) {
|
|
420
|
+
if (stage !== "project" || projectDetails === null) {
|
|
421
|
+
return {};
|
|
422
|
+
}
|
|
423
|
+
return {
|
|
424
|
+
projectName: projectDetails.name,
|
|
425
|
+
purpose: projectDetails.purpose ?? "",
|
|
426
|
+
};
|
|
427
|
+
}
|
|
428
|
+
function buildAgentSelectionSteps(planResponse) {
|
|
429
|
+
const availableAgents = planResponse?.availableAgents ?? [];
|
|
430
|
+
return [
|
|
431
|
+
{
|
|
432
|
+
title: "Agent Selection",
|
|
433
|
+
description: "Select agents to configure.",
|
|
434
|
+
fields: [
|
|
435
|
+
{
|
|
436
|
+
key: "selectedAgentIds",
|
|
437
|
+
label: "Agents",
|
|
438
|
+
kind: "multi-select",
|
|
439
|
+
options: availableAgents.map((agent) => ({
|
|
440
|
+
value: agent.id,
|
|
441
|
+
label: `${agent.name} (${agent.id})`,
|
|
442
|
+
})),
|
|
443
|
+
defaultValue: availableAgents.map((agent) => agent.id).join(","),
|
|
444
|
+
required: false,
|
|
445
|
+
validate: (value) => validateAgentSelection(value, availableAgents.map((agent) => agent.id)),
|
|
446
|
+
},
|
|
447
|
+
],
|
|
448
|
+
},
|
|
449
|
+
];
|
|
450
|
+
}
|
|
451
|
+
function buildConfirmationSteps(plannedChanges, reviewOpen, reviewOffset) {
|
|
452
|
+
return [
|
|
453
|
+
{
|
|
454
|
+
title: "Confirmation",
|
|
455
|
+
description: reviewOpen
|
|
456
|
+
? formatPlannedChangeReview(plannedChanges, reviewOffset)
|
|
457
|
+
: formatPlannedChangeSummary(plannedChanges),
|
|
458
|
+
fields: [
|
|
459
|
+
{
|
|
460
|
+
key: "confirmInitialization",
|
|
461
|
+
label: "Proceed with initialization?",
|
|
462
|
+
kind: "yes-no",
|
|
463
|
+
defaultValue: "yes",
|
|
464
|
+
required: false,
|
|
465
|
+
validate: validateOptionalYesNo,
|
|
466
|
+
},
|
|
467
|
+
],
|
|
468
|
+
},
|
|
469
|
+
];
|
|
470
|
+
}
|
|
471
|
+
function resolveProgressLabel(stage, planResponse, currentStepIndex) {
|
|
472
|
+
const stages = planResponse !== null && planResponse.availableAgents.length === 0
|
|
473
|
+
? INIT_FLOW_STAGES_WITHOUT_AGENT_SELECTION
|
|
474
|
+
: INIT_FLOW_STAGES_WITH_AGENT_SELECTION;
|
|
475
|
+
const stageIndex = stages.indexOf(stage);
|
|
476
|
+
if (stageIndex < 0) {
|
|
477
|
+
return undefined;
|
|
478
|
+
}
|
|
479
|
+
const completedSteps = stages
|
|
480
|
+
.slice(0, stageIndex)
|
|
481
|
+
.reduce((total, flowStage) => total + INIT_FLOW_STAGE_STEP_COUNTS[flowStage], 0);
|
|
482
|
+
const totalSteps = stages.reduce((total, flowStage) => total + INIT_FLOW_STAGE_STEP_COUNTS[flowStage], 0);
|
|
483
|
+
return `${completedSteps + currentStepIndex + 1}/${totalSteps}`;
|
|
484
|
+
}
|
|
485
|
+
function formatPlannedChangeSummary(plannedChanges) {
|
|
486
|
+
if (plannedChanges.length === 0) {
|
|
487
|
+
return "No file changes are required. Confirm to initialize project state.";
|
|
488
|
+
}
|
|
489
|
+
const createCount = plannedChanges.filter((change) => change.action === "create").length;
|
|
490
|
+
const modifyCount = plannedChanges.filter((change) => change.action === "modify").length;
|
|
491
|
+
const groupCounts = summarizePlannedChangeGroups(plannedChanges);
|
|
492
|
+
return [
|
|
493
|
+
"Jumbo will create project memory and configure selected agents.",
|
|
494
|
+
"",
|
|
495
|
+
"Planned changes",
|
|
496
|
+
`Create: ${createCount} files`,
|
|
497
|
+
`Modify: ${modifyCount} files`,
|
|
498
|
+
"",
|
|
499
|
+
"Existing content is preserved.",
|
|
500
|
+
"Jumbo only creates missing files and appends or updates managed configuration where needed.",
|
|
501
|
+
"",
|
|
502
|
+
"Agent configuration",
|
|
503
|
+
...groupCounts.map((group) => `${group.label}: ${group.count} files`),
|
|
504
|
+
].join("\n");
|
|
505
|
+
}
|
|
506
|
+
function formatPlannedChangeReview(plannedChanges, reviewOffset) {
|
|
507
|
+
if (plannedChanges.length === 0) {
|
|
508
|
+
return "No file changes are required.";
|
|
509
|
+
}
|
|
510
|
+
const visibleChanges = plannedChanges.slice(reviewOffset, reviewOffset + CONFIRMATION_FILE_REVIEW_PAGE_SIZE);
|
|
511
|
+
const from = reviewOffset + 1;
|
|
512
|
+
const to = reviewOffset + visibleChanges.length;
|
|
513
|
+
return [
|
|
514
|
+
`Files ${from}-${to} of ${plannedChanges.length}`,
|
|
515
|
+
"",
|
|
516
|
+
...visibleChanges.map((change) => `${change.action}: ${change.path} - ${change.description}`),
|
|
517
|
+
].join("\n");
|
|
518
|
+
}
|
|
519
|
+
function summarizePlannedChangeGroups(plannedChanges) {
|
|
520
|
+
const counts = new Map();
|
|
521
|
+
for (const change of plannedChanges) {
|
|
522
|
+
const group = classifyPlannedChangeGroup(change.path);
|
|
523
|
+
counts.set(group, (counts.get(group) ?? 0) + 1);
|
|
524
|
+
}
|
|
525
|
+
return ["Shared", "Claude", "Codex", "Gemini", "Copilot", "Cursor", "Vibe"]
|
|
526
|
+
.map((label) => ({ label, count: counts.get(label) ?? 0 }))
|
|
527
|
+
.filter((group) => group.count > 0);
|
|
528
|
+
}
|
|
529
|
+
function classifyPlannedChangeGroup(path) {
|
|
530
|
+
if (path === "CLAUDE.md" || path.startsWith(".claude/"))
|
|
531
|
+
return "Claude";
|
|
532
|
+
if (path.startsWith(".codex/"))
|
|
533
|
+
return "Codex";
|
|
534
|
+
if (path === "GEMINI.md" || path.startsWith(".gemini/"))
|
|
535
|
+
return "Gemini";
|
|
536
|
+
if (path.startsWith(".github/"))
|
|
537
|
+
return "Copilot";
|
|
538
|
+
if (path.startsWith(".cursor/"))
|
|
539
|
+
return "Cursor";
|
|
540
|
+
if (path.startsWith(".vibe/"))
|
|
541
|
+
return "Vibe";
|
|
542
|
+
return "Shared";
|
|
543
|
+
}
|
|
544
|
+
function validateYesNo(value) {
|
|
545
|
+
const normalized = value.trim().toLowerCase();
|
|
546
|
+
if (normalized === "yes" || normalized === "y" || normalized === "no" || normalized === "n") {
|
|
547
|
+
return null;
|
|
548
|
+
}
|
|
549
|
+
return YES_NO_MESSAGE;
|
|
550
|
+
}
|
|
551
|
+
function validateOptionalYesNo(value) {
|
|
552
|
+
if (value.trim().length === 0) {
|
|
553
|
+
return null;
|
|
554
|
+
}
|
|
555
|
+
return validateYesNo(value);
|
|
556
|
+
}
|
|
557
|
+
function validateAudiencePriority(value) {
|
|
558
|
+
const normalized = value.trim().toLowerCase();
|
|
559
|
+
if (normalized === "primary" ||
|
|
560
|
+
normalized === "secondary" ||
|
|
561
|
+
normalized === "tertiary") {
|
|
562
|
+
return null;
|
|
563
|
+
}
|
|
564
|
+
return "Enter primary, secondary, or tertiary";
|
|
565
|
+
}
|
|
566
|
+
function validateAgentSelection(value, availableAgentIds) {
|
|
567
|
+
const selectedAgentIds = parseAgentSelection(value);
|
|
568
|
+
if (selectedAgentIds.length === 0) {
|
|
569
|
+
return "Select at least one agent";
|
|
570
|
+
}
|
|
571
|
+
const unknownAgentIds = selectedAgentIds.filter((agentId) => !availableAgentIds.includes(agentId));
|
|
572
|
+
if (unknownAgentIds.length > 0) {
|
|
573
|
+
return `Unknown agent id: ${unknownAgentIds.join(", ")}`;
|
|
574
|
+
}
|
|
575
|
+
return null;
|
|
576
|
+
}
|
|
577
|
+
function parseAgentSelection(value) {
|
|
578
|
+
return value
|
|
579
|
+
.split(",")
|
|
580
|
+
.map((agentId) => agentId.trim())
|
|
581
|
+
.filter((agentId) => agentId.length > 0);
|
|
582
|
+
}
|
|
583
|
+
function isYes(value) {
|
|
584
|
+
const normalized = value.trim().toLowerCase();
|
|
585
|
+
return normalized === "yes" || normalized === "y";
|
|
586
|
+
}
|
|
587
|
+
function isExplicitNo(value) {
|
|
588
|
+
const normalized = value.trim().toLowerCase();
|
|
589
|
+
return normalized === "no" || normalized === "n";
|
|
590
|
+
}
|
|
591
|
+
function toAudiencePriority(value) {
|
|
592
|
+
return value.trim().toLowerCase();
|
|
593
|
+
}
|
|
594
|
+
async function persistCollectedPrimitives(controllers, audiences, valuePropositions) {
|
|
595
|
+
for (const audience of audiences) {
|
|
596
|
+
if (controllers.addAudienceController === undefined) {
|
|
597
|
+
return {
|
|
598
|
+
ok: false,
|
|
599
|
+
error: new Error(REQUIRED_AUDIENCE_CONTROLLER_ERROR),
|
|
600
|
+
};
|
|
601
|
+
}
|
|
602
|
+
const result = await dispatchTuiAction(controllers.addAudienceController, audience);
|
|
603
|
+
if (!result.ok) {
|
|
604
|
+
return result;
|
|
605
|
+
}
|
|
606
|
+
}
|
|
607
|
+
for (const valueProposition of valuePropositions) {
|
|
608
|
+
if (controllers.addValuePropositionController === undefined) {
|
|
609
|
+
return {
|
|
610
|
+
ok: false,
|
|
611
|
+
error: new Error(REQUIRED_VALUE_PROPOSITION_CONTROLLER_ERROR),
|
|
612
|
+
};
|
|
613
|
+
}
|
|
614
|
+
const result = await dispatchTuiAction(controllers.addValuePropositionController, valueProposition);
|
|
615
|
+
if (!result.ok) {
|
|
616
|
+
return result;
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
return { ok: true };
|
|
620
|
+
}
|
|
621
|
+
function flattenCollectedValues(projectDetails, audiences, valuePropositions) {
|
|
622
|
+
return {
|
|
623
|
+
projectName: projectDetails?.name ?? "",
|
|
624
|
+
purpose: projectDetails?.purpose ?? "",
|
|
625
|
+
audienceCount: String(audiences.length),
|
|
626
|
+
valuePropositionCount: String(valuePropositions.length),
|
|
627
|
+
};
|
|
628
|
+
}
|
|
629
|
+
//# sourceMappingURL=InitFlow.js.map
|