reviewflow 3.27.0 → 3.29.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/CHANGELOG.md +29 -0
- package/dist/cli/parseCliArgs.d.ts +10 -1
- package/dist/cli/parseCliArgs.d.ts.map +1 -1
- package/dist/cli/parseCliArgs.js +23 -1
- package/dist/cli/parseCliArgs.js.map +1 -1
- package/dist/dashboard/index.html +65 -0
- package/dist/dashboard/modules/emberChat.d.ts +77 -0
- package/dist/dashboard/modules/emberChat.d.ts.map +1 -0
- package/dist/dashboard/modules/emberChat.js +175 -0
- package/dist/dashboard/modules/emberChat.js.map +1 -0
- package/dist/dashboard/modules/setupWizard.d.ts +93 -0
- package/dist/dashboard/modules/setupWizard.d.ts.map +1 -0
- package/dist/dashboard/modules/setupWizard.js +261 -0
- package/dist/dashboard/modules/setupWizard.js.map +1 -0
- package/dist/dashboard/modules/setupWizardAvatar.d.ts +126 -0
- package/dist/dashboard/modules/setupWizardAvatar.d.ts.map +1 -0
- package/dist/dashboard/modules/setupWizardAvatar.js +217 -0
- package/dist/dashboard/modules/setupWizardAvatar.js.map +1 -0
- package/dist/dashboard/modules/setupWizardAvatarRenderer.d.ts +42 -0
- package/dist/dashboard/modules/setupWizardAvatarRenderer.d.ts.map +1 -0
- package/dist/dashboard/modules/setupWizardAvatarRenderer.js +117 -0
- package/dist/dashboard/modules/setupWizardAvatarRenderer.js.map +1 -0
- package/dist/dashboard/modules/setupWizardForms.d.ts +70 -0
- package/dist/dashboard/modules/setupWizardForms.d.ts.map +1 -0
- package/dist/dashboard/modules/setupWizardForms.js +273 -0
- package/dist/dashboard/modules/setupWizardForms.js.map +1 -0
- package/dist/dashboard/modules/setupWizardStream.d.ts +81 -0
- package/dist/dashboard/modules/setupWizardStream.d.ts.map +1 -0
- package/dist/dashboard/modules/setupWizardStream.js +158 -0
- package/dist/dashboard/modules/setupWizardStream.js.map +1 -0
- package/dist/dashboard/modules/worktreePanel.d.ts +1 -1
- package/dist/dashboard/modules/worktreePanel.d.ts.map +1 -1
- package/dist/dashboard/modules/worktreePanel.js +1 -1
- package/dist/dashboard/setup.html +350 -0
- package/dist/dashboard/styles.css +429 -0
- package/dist/main/cli.js +11 -0
- package/dist/main/cli.js.map +1 -1
- package/dist/main/commands/setup.command.d.ts +25 -0
- package/dist/main/commands/setup.command.d.ts.map +1 -0
- package/dist/main/commands/setup.command.js +130 -0
- package/dist/main/commands/setup.command.js.map +1 -0
- package/dist/main/routes.d.ts.map +1 -1
- package/dist/main/routes.js +47 -0
- package/dist/main/routes.js.map +1 -1
- package/dist/modules/ember-chat/entities/emberMessage/emberMessage.guard.d.ts +4 -0
- package/dist/modules/ember-chat/entities/emberMessage/emberMessage.guard.d.ts.map +1 -0
- package/dist/modules/ember-chat/entities/emberMessage/emberMessage.guard.js +4 -0
- package/dist/modules/ember-chat/entities/emberMessage/emberMessage.guard.js.map +1 -0
- package/dist/modules/ember-chat/entities/emberMessage/emberMessage.schema.d.ts +6 -0
- package/dist/modules/ember-chat/entities/emberMessage/emberMessage.schema.d.ts.map +1 -0
- package/dist/modules/ember-chat/entities/emberMessage/emberMessage.schema.js +5 -0
- package/dist/modules/ember-chat/entities/emberMessage/emberMessage.schema.js.map +1 -0
- package/dist/modules/ember-chat/entities/emberSession/emberSession.schema.d.ts +7 -0
- package/dist/modules/ember-chat/entities/emberSession/emberSession.schema.d.ts.map +1 -0
- package/dist/modules/ember-chat/entities/emberSession/emberSession.schema.js +3 -0
- package/dist/modules/ember-chat/entities/emberSession/emberSession.schema.js.map +1 -0
- package/dist/modules/ember-chat/entities/emberSession/emberSessionState.d.ts +13 -0
- package/dist/modules/ember-chat/entities/emberSession/emberSessionState.d.ts.map +1 -0
- package/dist/modules/ember-chat/entities/emberSession/emberSessionState.js +35 -0
- package/dist/modules/ember-chat/entities/emberSession/emberSessionState.js.map +1 -0
- package/dist/modules/ember-chat/entities/emberSession/emberSessionTransport.gateway.d.ts +26 -0
- package/dist/modules/ember-chat/entities/emberSession/emberSessionTransport.gateway.d.ts.map +1 -0
- package/dist/modules/ember-chat/entities/emberSession/emberSessionTransport.gateway.js +2 -0
- package/dist/modules/ember-chat/entities/emberSession/emberSessionTransport.gateway.js.map +1 -0
- package/dist/modules/ember-chat/entities/emberTool/emberTool.gateway.d.ts +11 -0
- package/dist/modules/ember-chat/entities/emberTool/emberTool.gateway.d.ts.map +1 -0
- package/dist/modules/ember-chat/entities/emberTool/emberTool.gateway.js +2 -0
- package/dist/modules/ember-chat/entities/emberTool/emberTool.gateway.js.map +1 -0
- package/dist/modules/ember-chat/interface-adapters/controllers/http/emberChat.routes.d.ts +15 -0
- package/dist/modules/ember-chat/interface-adapters/controllers/http/emberChat.routes.d.ts.map +1 -0
- package/dist/modules/ember-chat/interface-adapters/controllers/http/emberChat.routes.js +61 -0
- package/dist/modules/ember-chat/interface-adapters/controllers/http/emberChat.routes.js.map +1 -0
- package/dist/modules/ember-chat/interface-adapters/gateways/emberReadData.composite.gateway.d.ts +24 -0
- package/dist/modules/ember-chat/interface-adapters/gateways/emberReadData.composite.gateway.d.ts.map +1 -0
- package/dist/modules/ember-chat/interface-adapters/gateways/emberReadData.composite.gateway.js +19 -0
- package/dist/modules/ember-chat/interface-adapters/gateways/emberReadData.composite.gateway.js.map +1 -0
- package/dist/modules/ember-chat/interface-adapters/gateways/emberSessionTransport.claude.gateway.d.ts +13 -0
- package/dist/modules/ember-chat/interface-adapters/gateways/emberSessionTransport.claude.gateway.d.ts.map +1 -0
- package/dist/modules/ember-chat/interface-adapters/gateways/emberSessionTransport.claude.gateway.js +130 -0
- package/dist/modules/ember-chat/interface-adapters/gateways/emberSessionTransport.claude.gateway.js.map +1 -0
- package/dist/modules/ember-chat/interface-adapters/gateways/emberStreamJson.parser.d.ts +18 -0
- package/dist/modules/ember-chat/interface-adapters/gateways/emberStreamJson.parser.d.ts.map +1 -0
- package/dist/modules/ember-chat/interface-adapters/gateways/emberStreamJson.parser.js +33 -0
- package/dist/modules/ember-chat/interface-adapters/gateways/emberStreamJson.parser.js.map +1 -0
- package/dist/modules/ember-chat/interface-adapters/presenters/emberStatus.presenter.d.ts +20 -0
- package/dist/modules/ember-chat/interface-adapters/presenters/emberStatus.presenter.d.ts.map +1 -0
- package/dist/modules/ember-chat/interface-adapters/presenters/emberStatus.presenter.js +28 -0
- package/dist/modules/ember-chat/interface-adapters/presenters/emberStatus.presenter.js.map +1 -0
- package/dist/modules/ember-chat/services/emberSystemPrompt.d.ts +12 -0
- package/dist/modules/ember-chat/services/emberSystemPrompt.d.ts.map +1 -0
- package/dist/modules/ember-chat/services/emberSystemPrompt.js +29 -0
- package/dist/modules/ember-chat/services/emberSystemPrompt.js.map +1 -0
- package/dist/modules/ember-chat/usecases/askEmber/askEmber.usecase.d.ts +23 -0
- package/dist/modules/ember-chat/usecases/askEmber/askEmber.usecase.d.ts.map +1 -0
- package/dist/modules/ember-chat/usecases/askEmber/askEmber.usecase.js +23 -0
- package/dist/modules/ember-chat/usecases/askEmber/askEmber.usecase.js.map +1 -0
- package/dist/modules/ember-chat/usecases/emberSession/emberSessionRegistry.d.ts +36 -0
- package/dist/modules/ember-chat/usecases/emberSession/emberSessionRegistry.d.ts.map +1 -0
- package/dist/modules/ember-chat/usecases/emberSession/emberSessionRegistry.js +59 -0
- package/dist/modules/ember-chat/usecases/emberSession/emberSessionRegistry.js.map +1 -0
- package/dist/modules/setup-wizard/entities/agentPreset/agentPreset.guard.d.ts +5 -0
- package/dist/modules/setup-wizard/entities/agentPreset/agentPreset.guard.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/agentPreset/agentPreset.guard.js +4 -0
- package/dist/modules/setup-wizard/entities/agentPreset/agentPreset.guard.js.map +1 -0
- package/dist/modules/setup-wizard/entities/agentPreset/agentPreset.schema.d.ts +13 -0
- package/dist/modules/setup-wizard/entities/agentPreset/agentPreset.schema.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/agentPreset/agentPreset.schema.js +7 -0
- package/dist/modules/setup-wizard/entities/agentPreset/agentPreset.schema.js.map +1 -0
- package/dist/modules/setup-wizard/entities/aiFallback/aiFallback.gateway.d.ts +13 -0
- package/dist/modules/setup-wizard/entities/aiFallback/aiFallback.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/aiFallback/aiFallback.gateway.js +2 -0
- package/dist/modules/setup-wizard/entities/aiFallback/aiFallback.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/entities/answerLine/answerLine.guard.d.ts +4 -0
- package/dist/modules/setup-wizard/entities/answerLine/answerLine.guard.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/answerLine/answerLine.guard.js +6 -0
- package/dist/modules/setup-wizard/entities/answerLine/answerLine.guard.js.map +1 -0
- package/dist/modules/setup-wizard/entities/answerLine/answerLine.schema.d.ts +8 -0
- package/dist/modules/setup-wizard/entities/answerLine/answerLine.schema.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/answerLine/answerLine.schema.js +5 -0
- package/dist/modules/setup-wizard/entities/answerLine/answerLine.schema.js.map +1 -0
- package/dist/modules/setup-wizard/entities/claudeAuth/claudeAuth.gateway.d.ts +9 -0
- package/dist/modules/setup-wizard/entities/claudeAuth/claudeAuth.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/claudeAuth/claudeAuth.gateway.js +2 -0
- package/dist/modules/setup-wizard/entities/claudeAuth/claudeAuth.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/entities/daemonHealthProbe/daemonHealthProbe.gateway.d.ts +8 -0
- package/dist/modules/setup-wizard/entities/daemonHealthProbe/daemonHealthProbe.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/daemonHealthProbe/daemonHealthProbe.gateway.js +2 -0
- package/dist/modules/setup-wizard/entities/daemonHealthProbe/daemonHealthProbe.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/entities/daemonService/daemonService.gateway.d.ts +21 -0
- package/dist/modules/setup-wizard/entities/daemonService/daemonService.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/daemonService/daemonService.gateway.js +2 -0
- package/dist/modules/setup-wizard/entities/daemonService/daemonService.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/entities/dependencyProbe/dependencyProbe.gateway.d.ts +16 -0
- package/dist/modules/setup-wizard/entities/dependencyProbe/dependencyProbe.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/dependencyProbe/dependencyProbe.gateway.js +2 -0
- package/dist/modules/setup-wizard/entities/dependencyProbe/dependencyProbe.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/entities/envFile/envFile.gateway.d.ts +10 -0
- package/dist/modules/setup-wizard/entities/envFile/envFile.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/envFile/envFile.gateway.js +2 -0
- package/dist/modules/setup-wizard/entities/envFile/envFile.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/entities/gitRemote/gitRemote.gateway.d.ts +7 -0
- package/dist/modules/setup-wizard/entities/gitRemote/gitRemote.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/gitRemote/gitRemote.gateway.js +2 -0
- package/dist/modules/setup-wizard/entities/gitRemote/gitRemote.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/entities/lineReader/lineReader.gateway.d.ts +4 -0
- package/dist/modules/setup-wizard/entities/lineReader/lineReader.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/lineReader/lineReader.gateway.js +2 -0
- package/dist/modules/setup-wizard/entities/lineReader/lineReader.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/entities/projectConfig/projectConfig.gateway.d.ts +13 -0
- package/dist/modules/setup-wizard/entities/projectConfig/projectConfig.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/projectConfig/projectConfig.gateway.js +2 -0
- package/dist/modules/setup-wizard/entities/projectConfig/projectConfig.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/entities/projectContext/projectContext.guard.d.ts +8 -0
- package/dist/modules/setup-wizard/entities/projectContext/projectContext.guard.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/projectContext/projectContext.guard.js +4 -0
- package/dist/modules/setup-wizard/entities/projectContext/projectContext.guard.js.map +1 -0
- package/dist/modules/setup-wizard/entities/projectContext/projectContext.schema.d.ts +42 -0
- package/dist/modules/setup-wizard/entities/projectContext/projectContext.schema.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/projectContext/projectContext.schema.js +12 -0
- package/dist/modules/setup-wizard/entities/projectContext/projectContext.schema.js.map +1 -0
- package/dist/modules/setup-wizard/entities/prompt/prompt.gateway.d.ts +11 -0
- package/dist/modules/setup-wizard/entities/prompt/prompt.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/prompt/prompt.gateway.js +2 -0
- package/dist/modules/setup-wizard/entities/prompt/prompt.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/entities/promptInputError/promptInputError.d.ts +7 -0
- package/dist/modules/setup-wizard/entities/promptInputError/promptInputError.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/promptInputError/promptInputError.js +13 -0
- package/dist/modules/setup-wizard/entities/promptInputError/promptInputError.js.map +1 -0
- package/dist/modules/setup-wizard/entities/promptOption/promptOption.schema.d.ts +14 -0
- package/dist/modules/setup-wizard/entities/promptOption/promptOption.schema.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/promptOption/promptOption.schema.js +7 -0
- package/dist/modules/setup-wizard/entities/promptOption/promptOption.schema.js.map +1 -0
- package/dist/modules/setup-wizard/entities/serverConfig/serverConfig.gateway.d.ts +10 -0
- package/dist/modules/setup-wizard/entities/serverConfig/serverConfig.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/serverConfig/serverConfig.gateway.js +2 -0
- package/dist/modules/setup-wizard/entities/serverConfig/serverConfig.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/entities/setupInput/setupInput.guard.d.ts +14 -0
- package/dist/modules/setup-wizard/entities/setupInput/setupInput.guard.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/setupInput/setupInput.guard.js +4 -0
- package/dist/modules/setup-wizard/entities/setupInput/setupInput.guard.js.map +1 -0
- package/dist/modules/setup-wizard/entities/setupInput/setupInput.schema.d.ts +17 -0
- package/dist/modules/setup-wizard/entities/setupInput/setupInput.schema.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/setupInput/setupInput.schema.js +14 -0
- package/dist/modules/setup-wizard/entities/setupInput/setupInput.schema.js.map +1 -0
- package/dist/modules/setup-wizard/entities/setupProcess/setupProcess.gateway.d.ts +16 -0
- package/dist/modules/setup-wizard/entities/setupProcess/setupProcess.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/setupProcess/setupProcess.gateway.js +2 -0
- package/dist/modules/setup-wizard/entities/setupProcess/setupProcess.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/entities/setupState/setupState.d.ts +8 -0
- package/dist/modules/setup-wizard/entities/setupState/setupState.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/setupState/setupState.gateway.d.ts +11 -0
- package/dist/modules/setup-wizard/entities/setupState/setupState.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/setupState/setupState.gateway.js +2 -0
- package/dist/modules/setup-wizard/entities/setupState/setupState.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/entities/setupState/setupState.guard.d.ts +19 -0
- package/dist/modules/setup-wizard/entities/setupState/setupState.guard.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/setupState/setupState.guard.js +4 -0
- package/dist/modules/setup-wizard/entities/setupState/setupState.guard.js.map +1 -0
- package/dist/modules/setup-wizard/entities/setupState/setupState.js +30 -0
- package/dist/modules/setup-wizard/entities/setupState/setupState.js.map +1 -0
- package/dist/modules/setup-wizard/entities/setupState/setupState.schema.d.ts +50 -0
- package/dist/modules/setup-wizard/entities/setupState/setupState.schema.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/setupState/setupState.schema.js +12 -0
- package/dist/modules/setup-wizard/entities/setupState/setupState.schema.js.map +1 -0
- package/dist/modules/setup-wizard/entities/setupStep/setupStep.d.ts +10 -0
- package/dist/modules/setup-wizard/entities/setupStep/setupStep.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/setupStep/setupStep.js +2 -0
- package/dist/modules/setup-wizard/entities/setupStep/setupStep.js.map +1 -0
- package/dist/modules/setup-wizard/entities/skillTemplate/skillTemplate.gateway.d.ts +6 -0
- package/dist/modules/setup-wizard/entities/skillTemplate/skillTemplate.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/skillTemplate/skillTemplate.gateway.js +2 -0
- package/dist/modules/setup-wizard/entities/skillTemplate/skillTemplate.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/entities/stepId/stepId.schema.d.ts +16 -0
- package/dist/modules/setup-wizard/entities/stepId/stepId.schema.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/stepId/stepId.schema.js +15 -0
- package/dist/modules/setup-wizard/entities/stepId/stepId.schema.js.map +1 -0
- package/dist/modules/setup-wizard/entities/stepOutcome/stepOutcome.d.ts +8 -0
- package/dist/modules/setup-wizard/entities/stepOutcome/stepOutcome.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/stepOutcome/stepOutcome.guard.d.ts +7 -0
- package/dist/modules/setup-wizard/entities/stepOutcome/stepOutcome.guard.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/stepOutcome/stepOutcome.guard.js +4 -0
- package/dist/modules/setup-wizard/entities/stepOutcome/stepOutcome.guard.js.map +1 -0
- package/dist/modules/setup-wizard/entities/stepOutcome/stepOutcome.js +39 -0
- package/dist/modules/setup-wizard/entities/stepOutcome/stepOutcome.js.map +1 -0
- package/dist/modules/setup-wizard/entities/stepOutcome/stepOutcome.schema.d.ts +21 -0
- package/dist/modules/setup-wizard/entities/stepOutcome/stepOutcome.schema.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/stepOutcome/stepOutcome.schema.js +9 -0
- package/dist/modules/setup-wizard/entities/stepOutcome/stepOutcome.schema.js.map +1 -0
- package/dist/modules/setup-wizard/entities/validation/validation.gateway.d.ts +13 -0
- package/dist/modules/setup-wizard/entities/validation/validation.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/validation/validation.gateway.js +2 -0
- package/dist/modules/setup-wizard/entities/validation/validation.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/entities/wizardContext/wizardContext.d.ts +50 -0
- package/dist/modules/setup-wizard/entities/wizardContext/wizardContext.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/wizardContext/wizardContext.js +2 -0
- package/dist/modules/setup-wizard/entities/wizardContext/wizardContext.js.map +1 -0
- package/dist/modules/setup-wizard/entities/wizardStreamEvent/wizardStreamEvent.guard.d.ts +39 -0
- package/dist/modules/setup-wizard/entities/wizardStreamEvent/wizardStreamEvent.guard.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/wizardStreamEvent/wizardStreamEvent.guard.js +4 -0
- package/dist/modules/setup-wizard/entities/wizardStreamEvent/wizardStreamEvent.guard.js.map +1 -0
- package/dist/modules/setup-wizard/entities/wizardStreamEvent/wizardStreamEvent.schema.d.ts +200 -0
- package/dist/modules/setup-wizard/entities/wizardStreamEvent/wizardStreamEvent.schema.d.ts.map +1 -0
- package/dist/modules/setup-wizard/entities/wizardStreamEvent/wizardStreamEvent.schema.js +55 -0
- package/dist/modules/setup-wizard/entities/wizardStreamEvent/wizardStreamEvent.schema.js.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.d.ts +11 -0
- package/dist/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.d.ts.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.js +100 -0
- package/dist/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.js.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/aiFallback.noop.gateway.d.ts +6 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/aiFallback.noop.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/aiFallback.noop.gateway.js +9 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/aiFallback.noop.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/claudeAuth.cli.gateway.d.ts +17 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/claudeAuth.cli.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/claudeAuth.cli.gateway.js +38 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/claudeAuth.cli.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/daemonHealthProbe.http.gateway.d.ts +11 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/daemonHealthProbe.http.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/daemonHealthProbe.http.gateway.js +26 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/daemonHealthProbe.http.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/daemonService.systemd.gateway.d.ts +22 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/daemonService.systemd.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/daemonService.systemd.gateway.js +60 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/daemonService.systemd.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/dependencyProbe.cli.gateway.d.ts +14 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/dependencyProbe.cli.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/dependencyProbe.cli.gateway.js +31 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/dependencyProbe.cli.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/envFile.fileSystem.gateway.d.ts +7 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/envFile.fileSystem.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/envFile.fileSystem.gateway.js +58 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/envFile.fileSystem.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/gitRemote.cli.gateway.d.ts +17 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/gitRemote.cli.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/gitRemote.cli.gateway.js +33 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/gitRemote.cli.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/lineReader.stdin.gateway.d.ts +13 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/lineReader.stdin.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/lineReader.stdin.gateway.js +39 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/lineReader.stdin.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/projectConfig.fileSystem.gateway.d.ts +8 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/projectConfig.fileSystem.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/projectConfig.fileSystem.gateway.js +45 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/projectConfig.fileSystem.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/prompt.stdinJson.gateway.d.ts +22 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/prompt.stdinJson.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/prompt.stdinJson.gateway.js +94 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/prompt.stdinJson.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/prompt.tty.gateway.d.ts +8 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/prompt.tty.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/prompt.tty.gateway.js +25 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/prompt.tty.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/serverConfig.fileSystem.gateway.d.ts +13 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/serverConfig.fileSystem.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/serverConfig.fileSystem.gateway.js +56 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/serverConfig.fileSystem.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/setupProcess.childProcess.gateway.d.ts +14 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/setupProcess.childProcess.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/setupProcess.childProcess.gateway.js +77 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/setupProcess.childProcess.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/setupState.fileSystem.gateway.d.ts +14 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/setupState.fileSystem.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/setupState.fileSystem.gateway.js +48 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/setupState.fileSystem.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/skillTemplate.fileSystem.gateway.d.ts +13 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/skillTemplate.fileSystem.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/skillTemplate.fileSystem.gateway.js +31 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/skillTemplate.fileSystem.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/validation.adapter.gateway.d.ts +12 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/validation.adapter.gateway.d.ts.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/validation.adapter.gateway.js +24 -0
- package/dist/modules/setup-wizard/interface-adapters/gateways/validation.adapter.gateway.js.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/presenters/nextActions.presenter.d.ts +20 -0
- package/dist/modules/setup-wizard/interface-adapters/presenters/nextActions.presenter.d.ts.map +1 -0
- package/dist/modules/setup-wizard/interface-adapters/presenters/nextActions.presenter.js +25 -0
- package/dist/modules/setup-wizard/interface-adapters/presenters/nextActions.presenter.js.map +1 -0
- package/dist/modules/setup-wizard/services/agentPresetCatalog.d.ts +4 -0
- package/dist/modules/setup-wizard/services/agentPresetCatalog.d.ts.map +1 -0
- package/dist/modules/setup-wizard/services/agentPresetCatalog.js +26 -0
- package/dist/modules/setup-wizard/services/agentPresetCatalog.js.map +1 -0
- package/dist/modules/setup-wizard/services/humanWizardEventEmitter.d.ts +18 -0
- package/dist/modules/setup-wizard/services/humanWizardEventEmitter.d.ts.map +1 -0
- package/dist/modules/setup-wizard/services/humanWizardEventEmitter.js +46 -0
- package/dist/modules/setup-wizard/services/humanWizardEventEmitter.js.map +1 -0
- package/dist/modules/setup-wizard/services/jsonWizardEventEmitter.d.ts +19 -0
- package/dist/modules/setup-wizard/services/jsonWizardEventEmitter.d.ts.map +1 -0
- package/dist/modules/setup-wizard/services/jsonWizardEventEmitter.js +36 -0
- package/dist/modules/setup-wizard/services/jsonWizardEventEmitter.js.map +1 -0
- package/dist/modules/setup-wizard/services/skillTemplateRenderer.d.ts +3 -0
- package/dist/modules/setup-wizard/services/skillTemplateRenderer.d.ts.map +1 -0
- package/dist/modules/setup-wizard/services/skillTemplateRenderer.js +21 -0
- package/dist/modules/setup-wizard/services/skillTemplateRenderer.js.map +1 -0
- package/dist/modules/setup-wizard/services/wizardEventEmitter.d.ts +13 -0
- package/dist/modules/setup-wizard/services/wizardEventEmitter.d.ts.map +1 -0
- package/dist/modules/setup-wizard/services/wizardEventEmitter.js +2 -0
- package/dist/modules/setup-wizard/services/wizardEventEmitter.js.map +1 -0
- package/dist/modules/setup-wizard/usecases/orchestrateSetup.usecase.d.ts +19 -0
- package/dist/modules/setup-wizard/usecases/orchestrateSetup.usecase.d.ts.map +1 -0
- package/dist/modules/setup-wizard/usecases/orchestrateSetup.usecase.js +94 -0
- package/dist/modules/setup-wizard/usecases/orchestrateSetup.usecase.js.map +1 -0
- package/dist/modules/setup-wizard/usecases/steps/addProject.step.d.ts +10 -0
- package/dist/modules/setup-wizard/usecases/steps/addProject.step.d.ts.map +1 -0
- package/dist/modules/setup-wizard/usecases/steps/addProject.step.js +49 -0
- package/dist/modules/setup-wizard/usecases/steps/addProject.step.js.map +1 -0
- package/dist/modules/setup-wizard/usecases/steps/checkDependencies.step.d.ts +10 -0
- package/dist/modules/setup-wizard/usecases/steps/checkDependencies.step.d.ts.map +1 -0
- package/dist/modules/setup-wizard/usecases/steps/checkDependencies.step.js +47 -0
- package/dist/modules/setup-wizard/usecases/steps/checkDependencies.step.js.map +1 -0
- package/dist/modules/setup-wizard/usecases/steps/claudeLogin.step.d.ts +10 -0
- package/dist/modules/setup-wizard/usecases/steps/claudeLogin.step.d.ts.map +1 -0
- package/dist/modules/setup-wizard/usecases/steps/claudeLogin.step.js +23 -0
- package/dist/modules/setup-wizard/usecases/steps/claudeLogin.step.js.map +1 -0
- package/dist/modules/setup-wizard/usecases/steps/configurePipeline.step.d.ts +10 -0
- package/dist/modules/setup-wizard/usecases/steps/configurePipeline.step.d.ts.map +1 -0
- package/dist/modules/setup-wizard/usecases/steps/configurePipeline.step.js +49 -0
- package/dist/modules/setup-wizard/usecases/steps/configurePipeline.step.js.map +1 -0
- package/dist/modules/setup-wizard/usecases/steps/daemonInstall.step.d.ts +10 -0
- package/dist/modules/setup-wizard/usecases/steps/daemonInstall.step.d.ts.map +1 -0
- package/dist/modules/setup-wizard/usecases/steps/daemonInstall.step.js +35 -0
- package/dist/modules/setup-wizard/usecases/steps/daemonInstall.step.js.map +1 -0
- package/dist/modules/setup-wizard/usecases/steps/displayNextActions.step.d.ts +10 -0
- package/dist/modules/setup-wizard/usecases/steps/displayNextActions.step.d.ts.map +1 -0
- package/dist/modules/setup-wizard/usecases/steps/displayNextActions.step.js +42 -0
- package/dist/modules/setup-wizard/usecases/steps/displayNextActions.step.js.map +1 -0
- package/dist/modules/setup-wizard/usecases/steps/generateFiles.step.d.ts +10 -0
- package/dist/modules/setup-wizard/usecases/steps/generateFiles.step.d.ts.map +1 -0
- package/dist/modules/setup-wizard/usecases/steps/generateFiles.step.js +57 -0
- package/dist/modules/setup-wizard/usecases/steps/generateFiles.step.js.map +1 -0
- package/dist/modules/setup-wizard/usecases/steps/generateSecrets.step.d.ts +10 -0
- package/dist/modules/setup-wizard/usecases/steps/generateSecrets.step.d.ts.map +1 -0
- package/dist/modules/setup-wizard/usecases/steps/generateSecrets.step.js +35 -0
- package/dist/modules/setup-wizard/usecases/steps/generateSecrets.step.js.map +1 -0
- package/dist/modules/setup-wizard/usecases/steps/registerProject.step.d.ts +10 -0
- package/dist/modules/setup-wizard/usecases/steps/registerProject.step.d.ts.map +1 -0
- package/dist/modules/setup-wizard/usecases/steps/registerProject.step.js +33 -0
- package/dist/modules/setup-wizard/usecases/steps/registerProject.step.js.map +1 -0
- package/dist/modules/setup-wizard/usecases/steps/validateSetup.step.d.ts +10 -0
- package/dist/modules/setup-wizard/usecases/steps/validateSetup.step.d.ts.map +1 -0
- package/dist/modules/setup-wizard/usecases/steps/validateSetup.step.js +29 -0
- package/dist/modules/setup-wizard/usecases/steps/validateSetup.step.js.map +1 -0
- package/dist/modules/setup-wizard/usecases/streamSetupRun.usecase.d.ts +27 -0
- package/dist/modules/setup-wizard/usecases/streamSetupRun.usecase.d.ts.map +1 -0
- package/dist/modules/setup-wizard/usecases/streamSetupRun.usecase.js +66 -0
- package/dist/modules/setup-wizard/usecases/streamSetupRun.usecase.js.map +1 -0
- package/dist/modules/worktree-management/entities/worktree/worktreeHealth.schema.d.ts +0 -6
- package/dist/modules/worktree-management/entities/worktree/worktreeHealth.schema.d.ts.map +1 -1
- package/dist/modules/worktree-management/entities/worktree/worktreeHealth.schema.js +0 -4
- package/dist/modules/worktree-management/entities/worktree/worktreeHealth.schema.js.map +1 -1
- package/dist/modules/worktree-management/entities/worktree/worktreeHealthProbe.gateway.d.ts +0 -5
- package/dist/modules/worktree-management/entities/worktree/worktreeHealthProbe.gateway.d.ts.map +1 -1
- package/dist/modules/worktree-management/interface-adapters/gateways/worktreeHealthProbe.fileSystem.gateway.d.ts.map +1 -1
- package/dist/modules/worktree-management/interface-adapters/gateways/worktreeHealthProbe.fileSystem.gateway.js +0 -6
- package/dist/modules/worktree-management/interface-adapters/gateways/worktreeHealthProbe.fileSystem.gateway.js.map +1 -1
- package/dist/modules/worktree-management/interface-adapters/presenters/worktreePanel.presenter.d.ts.map +1 -1
- package/dist/modules/worktree-management/interface-adapters/presenters/worktreePanel.presenter.js +1 -7
- package/dist/modules/worktree-management/interface-adapters/presenters/worktreePanel.presenter.js.map +1 -1
- package/dist/modules/worktree-management/usecases/detectDegradedWorktrees.usecase.d.ts.map +1 -1
- package/dist/modules/worktree-management/usecases/detectDegradedWorktrees.usecase.js +0 -6
- package/dist/modules/worktree-management/usecases/detectDegradedWorktrees.usecase.js.map +1 -1
- package/dist/tests/acceptance/175-worktree-failure-visibility.acceptance.test.js +0 -6
- package/dist/tests/acceptance/175-worktree-failure-visibility.acceptance.test.js.map +1 -1
- package/dist/tests/acceptance/183-setup-wizard.acceptance.test.d.ts +12 -0
- package/dist/tests/acceptance/183-setup-wizard.acceptance.test.d.ts.map +1 -0
- package/dist/tests/acceptance/183-setup-wizard.acceptance.test.js +277 -0
- package/dist/tests/acceptance/183-setup-wizard.acceptance.test.js.map +1 -0
- package/dist/tests/acceptance/184-setup-wizard-dashboard-jarvis.acceptance.test.d.ts +2 -0
- package/dist/tests/acceptance/184-setup-wizard-dashboard-jarvis.acceptance.test.d.ts.map +1 -0
- package/dist/tests/acceptance/184-setup-wizard-dashboard-jarvis.acceptance.test.js +67 -0
- package/dist/tests/acceptance/184-setup-wizard-dashboard-jarvis.acceptance.test.js.map +1 -0
- package/dist/tests/acceptance/184-setup-wizard-forms.acceptance.test.d.ts +2 -0
- package/dist/tests/acceptance/184-setup-wizard-forms.acceptance.test.d.ts.map +1 -0
- package/dist/tests/acceptance/184-setup-wizard-forms.acceptance.test.js +272 -0
- package/dist/tests/acceptance/184-setup-wizard-forms.acceptance.test.js.map +1 -0
- package/dist/tests/acceptance/187-setup-wizard-json-stdin-input.acceptance.test.d.ts +12 -0
- package/dist/tests/acceptance/187-setup-wizard-json-stdin-input.acceptance.test.d.ts.map +1 -0
- package/dist/tests/acceptance/187-setup-wizard-json-stdin-input.acceptance.test.js +252 -0
- package/dist/tests/acceptance/187-setup-wizard-json-stdin-input.acceptance.test.js.map +1 -0
- package/dist/tests/acceptance/188-setup-wizard-wireframe-avatar.acceptance.test.d.ts +2 -0
- package/dist/tests/acceptance/188-setup-wizard-wireframe-avatar.acceptance.test.d.ts.map +1 -0
- package/dist/tests/acceptance/188-setup-wizard-wireframe-avatar.acceptance.test.js +83 -0
- package/dist/tests/acceptance/188-setup-wizard-wireframe-avatar.acceptance.test.js.map +1 -0
- package/dist/tests/acceptance/189-ember-readonly-review-chat.acceptance.test.d.ts +2 -0
- package/dist/tests/acceptance/189-ember-readonly-review-chat.acceptance.test.d.ts.map +1 -0
- package/dist/tests/acceptance/189-ember-readonly-review-chat.acceptance.test.js +124 -0
- package/dist/tests/acceptance/189-ember-readonly-review-chat.acceptance.test.js.map +1 -0
- package/dist/tests/factories/agentPreset.factory.d.ts +11 -0
- package/dist/tests/factories/agentPreset.factory.d.ts.map +1 -0
- package/dist/tests/factories/agentPreset.factory.js +9 -0
- package/dist/tests/factories/agentPreset.factory.js.map +1 -0
- package/dist/tests/factories/emberMessage.factory.d.ts +5 -0
- package/dist/tests/factories/emberMessage.factory.d.ts.map +1 -0
- package/dist/tests/factories/emberMessage.factory.js +9 -0
- package/dist/tests/factories/emberMessage.factory.js.map +1 -0
- package/dist/tests/factories/projectContext.factory.d.ts +13 -0
- package/dist/tests/factories/projectContext.factory.d.ts.map +1 -0
- package/dist/tests/factories/projectContext.factory.js +12 -0
- package/dist/tests/factories/projectContext.factory.js.map +1 -0
- package/dist/tests/factories/setupInput.factory.d.ts +8 -0
- package/dist/tests/factories/setupInput.factory.d.ts.map +1 -0
- package/dist/tests/factories/setupInput.factory.js +15 -0
- package/dist/tests/factories/setupInput.factory.js.map +1 -0
- package/dist/tests/factories/setupState.factory.d.ts +13 -0
- package/dist/tests/factories/setupState.factory.d.ts.map +1 -0
- package/dist/tests/factories/setupState.factory.js +11 -0
- package/dist/tests/factories/setupState.factory.js.map +1 -0
- package/dist/tests/factories/stepOutcome.factory.d.ts +12 -0
- package/dist/tests/factories/stepOutcome.factory.d.ts.map +1 -0
- package/dist/tests/factories/stepOutcome.factory.js +11 -0
- package/dist/tests/factories/stepOutcome.factory.js.map +1 -0
- package/dist/tests/factories/wizardStreamEvent.factory.d.ts +39 -0
- package/dist/tests/factories/wizardStreamEvent.factory.d.ts.map +1 -0
- package/dist/tests/factories/wizardStreamEvent.factory.js +50 -0
- package/dist/tests/factories/wizardStreamEvent.factory.js.map +1 -0
- package/dist/tests/factories/worktreeHealth.factory.d.ts +0 -4
- package/dist/tests/factories/worktreeHealth.factory.d.ts.map +1 -1
- package/dist/tests/factories/worktreeHealth.factory.js +0 -11
- package/dist/tests/factories/worktreeHealth.factory.js.map +1 -1
- package/dist/tests/stubs/emberReadData.stub.d.ts +20 -0
- package/dist/tests/stubs/emberReadData.stub.d.ts.map +1 -0
- package/dist/tests/stubs/emberReadData.stub.js +31 -0
- package/dist/tests/stubs/emberReadData.stub.js.map +1 -0
- package/dist/tests/stubs/emberSessionTransport.stub.d.ts +18 -0
- package/dist/tests/stubs/emberSessionTransport.stub.d.ts.map +1 -0
- package/dist/tests/stubs/emberSessionTransport.stub.js +75 -0
- package/dist/tests/stubs/emberSessionTransport.stub.js.map +1 -0
- package/dist/tests/stubs/setup-wizard/aiFallback.stub.d.ts +14 -0
- package/dist/tests/stubs/setup-wizard/aiFallback.stub.d.ts.map +1 -0
- package/dist/tests/stubs/setup-wizard/aiFallback.stub.js +15 -0
- package/dist/tests/stubs/setup-wizard/aiFallback.stub.js.map +1 -0
- package/dist/tests/stubs/setup-wizard/claudeAuth.stub.d.ts +15 -0
- package/dist/tests/stubs/setup-wizard/claudeAuth.stub.d.ts.map +1 -0
- package/dist/tests/stubs/setup-wizard/claudeAuth.stub.js +20 -0
- package/dist/tests/stubs/setup-wizard/claudeAuth.stub.js.map +1 -0
- package/dist/tests/stubs/setup-wizard/daemonHealthProbe.stub.d.ts +13 -0
- package/dist/tests/stubs/setup-wizard/daemonHealthProbe.stub.d.ts.map +1 -0
- package/dist/tests/stubs/setup-wizard/daemonHealthProbe.stub.js +12 -0
- package/dist/tests/stubs/setup-wizard/daemonHealthProbe.stub.js.map +1 -0
- package/dist/tests/stubs/setup-wizard/daemonService.stub.d.ts +18 -0
- package/dist/tests/stubs/setup-wizard/daemonService.stub.d.ts.map +1 -0
- package/dist/tests/stubs/setup-wizard/daemonService.stub.js +25 -0
- package/dist/tests/stubs/setup-wizard/daemonService.stub.js.map +1 -0
- package/dist/tests/stubs/setup-wizard/dependencyProbe.stub.d.ts +16 -0
- package/dist/tests/stubs/setup-wizard/dependencyProbe.stub.d.ts.map +1 -0
- package/dist/tests/stubs/setup-wizard/dependencyProbe.stub.js +18 -0
- package/dist/tests/stubs/setup-wizard/dependencyProbe.stub.js.map +1 -0
- package/dist/tests/stubs/setup-wizard/envFile.stub.d.ts +13 -0
- package/dist/tests/stubs/setup-wizard/envFile.stub.d.ts.map +1 -0
- package/dist/tests/stubs/setup-wizard/envFile.stub.js +27 -0
- package/dist/tests/stubs/setup-wizard/envFile.stub.js.map +1 -0
- package/dist/tests/stubs/setup-wizard/gitRemote.stub.d.ts +20 -0
- package/dist/tests/stubs/setup-wizard/gitRemote.stub.d.ts.map +1 -0
- package/dist/tests/stubs/setup-wizard/gitRemote.stub.js +27 -0
- package/dist/tests/stubs/setup-wizard/gitRemote.stub.js.map +1 -0
- package/dist/tests/stubs/setup-wizard/lineReader.stub.d.ts +7 -0
- package/dist/tests/stubs/setup-wizard/lineReader.stub.d.ts.map +1 -0
- package/dist/tests/stubs/setup-wizard/lineReader.stub.js +13 -0
- package/dist/tests/stubs/setup-wizard/lineReader.stub.js.map +1 -0
- package/dist/tests/stubs/setup-wizard/projectConfig.stub.d.ts +13 -0
- package/dist/tests/stubs/setup-wizard/projectConfig.stub.d.ts.map +1 -0
- package/dist/tests/stubs/setup-wizard/projectConfig.stub.js +30 -0
- package/dist/tests/stubs/setup-wizard/projectConfig.stub.js.map +1 -0
- package/dist/tests/stubs/setup-wizard/prompt.stub.d.ts +16 -0
- package/dist/tests/stubs/setup-wizard/prompt.stub.d.ts.map +1 -0
- package/dist/tests/stubs/setup-wizard/prompt.stub.js +45 -0
- package/dist/tests/stubs/setup-wizard/prompt.stub.js.map +1 -0
- package/dist/tests/stubs/setup-wizard/serverConfig.stub.d.ts +15 -0
- package/dist/tests/stubs/setup-wizard/serverConfig.stub.d.ts.map +1 -0
- package/dist/tests/stubs/setup-wizard/serverConfig.stub.js +19 -0
- package/dist/tests/stubs/setup-wizard/serverConfig.stub.js.map +1 -0
- package/dist/tests/stubs/setup-wizard/skillTemplate.stub.d.ts +15 -0
- package/dist/tests/stubs/setup-wizard/skillTemplate.stub.d.ts.map +1 -0
- package/dist/tests/stubs/setup-wizard/skillTemplate.stub.js +11 -0
- package/dist/tests/stubs/setup-wizard/skillTemplate.stub.js.map +1 -0
- package/dist/tests/stubs/setup-wizard/validation.stub.d.ts +11 -0
- package/dist/tests/stubs/setup-wizard/validation.stub.d.ts.map +1 -0
- package/dist/tests/stubs/setup-wizard/validation.stub.js +10 -0
- package/dist/tests/stubs/setup-wizard/validation.stub.js.map +1 -0
- package/dist/tests/stubs/setupProcess.stub.d.ts +13 -0
- package/dist/tests/stubs/setupProcess.stub.d.ts.map +1 -0
- package/dist/tests/stubs/setupProcess.stub.js +53 -0
- package/dist/tests/stubs/setupProcess.stub.js.map +1 -0
- package/dist/tests/stubs/worktreeHealthProbe.stub.d.ts.map +1 -1
- package/dist/tests/stubs/worktreeHealthProbe.stub.js +0 -1
- package/dist/tests/stubs/worktreeHealthProbe.stub.js.map +1 -1
- package/dist/tests/units/cli/parseCliArgs.setup.test.d.ts +2 -0
- package/dist/tests/units/cli/parseCliArgs.setup.test.d.ts.map +1 -0
- package/dist/tests/units/cli/parseCliArgs.setup.test.js +45 -0
- package/dist/tests/units/cli/parseCliArgs.setup.test.js.map +1 -0
- package/dist/tests/units/dashboard/modules/emberChat.test.d.ts +2 -0
- package/dist/tests/units/dashboard/modules/emberChat.test.d.ts.map +1 -0
- package/dist/tests/units/dashboard/modules/emberChat.test.js +59 -0
- package/dist/tests/units/dashboard/modules/emberChat.test.js.map +1 -0
- package/dist/tests/units/dashboard/modules/setupWizard.test.d.ts +2 -0
- package/dist/tests/units/dashboard/modules/setupWizard.test.d.ts.map +1 -0
- package/dist/tests/units/dashboard/modules/setupWizard.test.js +149 -0
- package/dist/tests/units/dashboard/modules/setupWizard.test.js.map +1 -0
- package/dist/tests/units/dashboard/modules/setupWizardAvatar.test.d.ts +2 -0
- package/dist/tests/units/dashboard/modules/setupWizardAvatar.test.d.ts.map +1 -0
- package/dist/tests/units/dashboard/modules/setupWizardAvatar.test.js +134 -0
- package/dist/tests/units/dashboard/modules/setupWizardAvatar.test.js.map +1 -0
- package/dist/tests/units/dashboard/modules/setupWizardAvatarRenderer.test.d.ts +2 -0
- package/dist/tests/units/dashboard/modules/setupWizardAvatarRenderer.test.d.ts.map +1 -0
- package/dist/tests/units/dashboard/modules/setupWizardAvatarRenderer.test.js +47 -0
- package/dist/tests/units/dashboard/modules/setupWizardAvatarRenderer.test.js.map +1 -0
- package/dist/tests/units/dashboard/modules/setupWizardForms.test.d.ts +2 -0
- package/dist/tests/units/dashboard/modules/setupWizardForms.test.d.ts.map +1 -0
- package/dist/tests/units/dashboard/modules/setupWizardForms.test.js +218 -0
- package/dist/tests/units/dashboard/modules/setupWizardForms.test.js.map +1 -0
- package/dist/tests/units/dashboard/modules/setupWizardStream.test.d.ts +2 -0
- package/dist/tests/units/dashboard/modules/setupWizardStream.test.d.ts.map +1 -0
- package/dist/tests/units/dashboard/modules/setupWizardStream.test.js +83 -0
- package/dist/tests/units/dashboard/modules/setupWizardStream.test.js.map +1 -0
- package/dist/tests/units/main/commands/setup.command.test.d.ts +2 -0
- package/dist/tests/units/main/commands/setup.command.test.d.ts.map +1 -0
- package/dist/tests/units/main/commands/setup.command.test.js +141 -0
- package/dist/tests/units/main/commands/setup.command.test.js.map +1 -0
- package/dist/tests/units/modules/ember-chat/controllers/emberChat.routes.test.d.ts +2 -0
- package/dist/tests/units/modules/ember-chat/controllers/emberChat.routes.test.d.ts.map +1 -0
- package/dist/tests/units/modules/ember-chat/controllers/emberChat.routes.test.js +101 -0
- package/dist/tests/units/modules/ember-chat/controllers/emberChat.routes.test.js.map +1 -0
- package/dist/tests/units/modules/ember-chat/entities/emberMessage.guard.test.d.ts +2 -0
- package/dist/tests/units/modules/ember-chat/entities/emberMessage.guard.test.d.ts.map +1 -0
- package/dist/tests/units/modules/ember-chat/entities/emberMessage.guard.test.js +24 -0
- package/dist/tests/units/modules/ember-chat/entities/emberMessage.guard.test.js.map +1 -0
- package/dist/tests/units/modules/ember-chat/entities/emberSessionState.test.d.ts +2 -0
- package/dist/tests/units/modules/ember-chat/entities/emberSessionState.test.d.ts.map +1 -0
- package/dist/tests/units/modules/ember-chat/entities/emberSessionState.test.js +42 -0
- package/dist/tests/units/modules/ember-chat/entities/emberSessionState.test.js.map +1 -0
- package/dist/tests/units/modules/ember-chat/gateways/emberReadData.composite.gateway.test.d.ts +2 -0
- package/dist/tests/units/modules/ember-chat/gateways/emberReadData.composite.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/modules/ember-chat/gateways/emberReadData.composite.gateway.test.js +75 -0
- package/dist/tests/units/modules/ember-chat/gateways/emberReadData.composite.gateway.test.js.map +1 -0
- package/dist/tests/units/modules/ember-chat/gateways/emberStreamJson.parser.test.d.ts +2 -0
- package/dist/tests/units/modules/ember-chat/gateways/emberStreamJson.parser.test.d.ts.map +1 -0
- package/dist/tests/units/modules/ember-chat/gateways/emberStreamJson.parser.test.js +52 -0
- package/dist/tests/units/modules/ember-chat/gateways/emberStreamJson.parser.test.js.map +1 -0
- package/dist/tests/units/modules/ember-chat/presenters/emberStatus.presenter.test.d.ts +2 -0
- package/dist/tests/units/modules/ember-chat/presenters/emberStatus.presenter.test.d.ts.map +1 -0
- package/dist/tests/units/modules/ember-chat/presenters/emberStatus.presenter.test.js +27 -0
- package/dist/tests/units/modules/ember-chat/presenters/emberStatus.presenter.test.js.map +1 -0
- package/dist/tests/units/modules/ember-chat/services/emberSystemPrompt.test.d.ts +2 -0
- package/dist/tests/units/modules/ember-chat/services/emberSystemPrompt.test.d.ts.map +1 -0
- package/dist/tests/units/modules/ember-chat/services/emberSystemPrompt.test.js +41 -0
- package/dist/tests/units/modules/ember-chat/services/emberSystemPrompt.test.js.map +1 -0
- package/dist/tests/units/modules/ember-chat/usecases/askEmber.usecase.test.d.ts +2 -0
- package/dist/tests/units/modules/ember-chat/usecases/askEmber.usecase.test.d.ts.map +1 -0
- package/dist/tests/units/modules/ember-chat/usecases/askEmber.usecase.test.js +46 -0
- package/dist/tests/units/modules/ember-chat/usecases/askEmber.usecase.test.js.map +1 -0
- package/dist/tests/units/modules/ember-chat/usecases/emberSessionRegistry.test.d.ts +2 -0
- package/dist/tests/units/modules/ember-chat/usecases/emberSessionRegistry.test.d.ts.map +1 -0
- package/dist/tests/units/modules/ember-chat/usecases/emberSessionRegistry.test.js +88 -0
- package/dist/tests/units/modules/ember-chat/usecases/emberSessionRegistry.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/entities/answerLine/answerLine.guard.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/entities/answerLine/answerLine.guard.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/entities/answerLine/answerLine.guard.test.js +32 -0
- package/dist/tests/units/modules/setup-wizard/entities/answerLine/answerLine.guard.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/entities/projectContext/projectContext.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/entities/projectContext/projectContext.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/entities/projectContext/projectContext.test.js +24 -0
- package/dist/tests/units/modules/setup-wizard/entities/projectContext/projectContext.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/entities/promptInputError/promptInputError.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/entities/promptInputError/promptInputError.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/entities/promptInputError/promptInputError.test.js +25 -0
- package/dist/tests/units/modules/setup-wizard/entities/promptInputError/promptInputError.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/entities/setupInput/setupInput.guard.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/entities/setupInput/setupInput.guard.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/entities/setupInput/setupInput.guard.test.js +26 -0
- package/dist/tests/units/modules/setup-wizard/entities/setupInput/setupInput.guard.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/entities/setupInput/setupInput.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/entities/setupInput/setupInput.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/entities/setupInput/setupInput.test.js +21 -0
- package/dist/tests/units/modules/setup-wizard/entities/setupInput/setupInput.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/entities/setupState/setupState.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/entities/setupState/setupState.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/entities/setupState/setupState.test.js +44 -0
- package/dist/tests/units/modules/setup-wizard/entities/setupState/setupState.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/entities/stepId/stepId.schema.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/entities/stepId/stepId.schema.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/entities/stepId/stepId.schema.test.js +16 -0
- package/dist/tests/units/modules/setup-wizard/entities/stepId/stepId.schema.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/entities/stepOutcome/stepOutcome.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/entities/stepOutcome/stepOutcome.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/entities/stepOutcome/stepOutcome.test.js +35 -0
- package/dist/tests/units/modules/setup-wizard/entities/stepOutcome/stepOutcome.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/entities/wizardStreamEvent/wizardStreamEvent.guard.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/entities/wizardStreamEvent/wizardStreamEvent.guard.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/entities/wizardStreamEvent/wizardStreamEvent.guard.test.js +114 -0
- package/dist/tests/units/modules/setup-wizard/entities/wizardStreamEvent/wizardStreamEvent.guard.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.test.js +158 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/controllers/http/setupWizard.routes.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/daemonService.systemd.gateway.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/daemonService.systemd.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/daemonService.systemd.gateway.test.js +57 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/daemonService.systemd.gateway.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/envFile.fileSystem.gateway.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/envFile.fileSystem.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/envFile.fileSystem.gateway.test.js +50 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/envFile.fileSystem.gateway.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/gitRemote.cli.gateway.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/gitRemote.cli.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/gitRemote.cli.gateway.test.js +21 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/gitRemote.cli.gateway.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/lineReader.stdin.gateway.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/lineReader.stdin.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/lineReader.stdin.gateway.test.js +40 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/lineReader.stdin.gateway.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/projectConfig.fileSystem.gateway.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/projectConfig.fileSystem.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/projectConfig.fileSystem.gateway.test.js +44 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/projectConfig.fileSystem.gateway.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/prompt.stdinJson.gateway.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/prompt.stdinJson.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/prompt.stdinJson.gateway.test.js +165 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/prompt.stdinJson.gateway.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/setupProcess.childProcess.gateway.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/setupProcess.childProcess.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/setupProcess.childProcess.gateway.test.js +41 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/setupProcess.childProcess.gateway.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/setupState.fileSystem.gateway.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/setupState.fileSystem.gateway.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/setupState.fileSystem.gateway.test.js +59 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/gateways/setupState.fileSystem.gateway.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/presenters/nextActions.presenter.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/presenters/nextActions.presenter.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/presenters/nextActions.presenter.test.js +64 -0
- package/dist/tests/units/modules/setup-wizard/interface-adapters/presenters/nextActions.presenter.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/services/agentPresetCatalog.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/services/agentPresetCatalog.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/services/agentPresetCatalog.test.js +31 -0
- package/dist/tests/units/modules/setup-wizard/services/agentPresetCatalog.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/services/humanWizardEventEmitter.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/services/humanWizardEventEmitter.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/services/humanWizardEventEmitter.test.js +59 -0
- package/dist/tests/units/modules/setup-wizard/services/humanWizardEventEmitter.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/services/jsonWizardEventEmitter.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/services/jsonWizardEventEmitter.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/services/jsonWizardEventEmitter.test.js +65 -0
- package/dist/tests/units/modules/setup-wizard/services/jsonWizardEventEmitter.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/services/skillTemplateRenderer.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/services/skillTemplateRenderer.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/services/skillTemplateRenderer.test.js +21 -0
- package/dist/tests/units/modules/setup-wizard/services/skillTemplateRenderer.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/usecases/orchestrateSetup.usecase.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/usecases/orchestrateSetup.usecase.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/usecases/orchestrateSetup.usecase.test.js +251 -0
- package/dist/tests/units/modules/setup-wizard/usecases/orchestrateSetup.usecase.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/addProject.step.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/addProject.step.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/addProject.step.test.js +110 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/addProject.step.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/checkDependencies.step.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/checkDependencies.step.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/checkDependencies.step.test.js +77 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/checkDependencies.step.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/claudeLogin.step.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/claudeLogin.step.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/claudeLogin.step.test.js +77 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/claudeLogin.step.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/configurePipeline.step.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/configurePipeline.step.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/configurePipeline.step.test.js +82 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/configurePipeline.step.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/daemonInstall.step.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/daemonInstall.step.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/daemonInstall.step.test.js +113 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/daemonInstall.step.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/displayNextActions.step.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/displayNextActions.step.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/displayNextActions.step.test.js +92 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/displayNextActions.step.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/generateFiles.step.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/generateFiles.step.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/generateFiles.step.test.js +78 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/generateFiles.step.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/generateSecrets.step.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/generateSecrets.step.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/generateSecrets.step.test.js +86 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/generateSecrets.step.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/registerProject.step.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/registerProject.step.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/registerProject.step.test.js +66 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/registerProject.step.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/validateSetup.step.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/validateSetup.step.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/validateSetup.step.test.js +70 -0
- package/dist/tests/units/modules/setup-wizard/usecases/steps/validateSetup.step.test.js.map +1 -0
- package/dist/tests/units/modules/setup-wizard/usecases/streamSetupRun.usecase.test.d.ts +2 -0
- package/dist/tests/units/modules/setup-wizard/usecases/streamSetupRun.usecase.test.d.ts.map +1 -0
- package/dist/tests/units/modules/setup-wizard/usecases/streamSetupRun.usecase.test.js +91 -0
- package/dist/tests/units/modules/setup-wizard/usecases/streamSetupRun.usecase.test.js.map +1 -0
- package/dist/tests/units/modules/worktree-management/entities/worktree/worktreeHealth.schema.test.js +0 -7
- package/dist/tests/units/modules/worktree-management/entities/worktree/worktreeHealth.schema.test.js.map +1 -1
- package/dist/tests/units/modules/worktree-management/interface-adapters/gateways/worktreeHealthProbe.fileSystem.gateway.test.js +0 -16
- package/dist/tests/units/modules/worktree-management/interface-adapters/gateways/worktreeHealthProbe.fileSystem.gateway.test.js.map +1 -1
- package/dist/tests/units/modules/worktree-management/interface-adapters/presenters/worktreePanel.presenter.test.js +0 -21
- package/dist/tests/units/modules/worktree-management/interface-adapters/presenters/worktreePanel.presenter.test.js.map +1 -1
- package/dist/tests/units/modules/worktree-management/usecases/detectDegradedWorktrees.usecase.test.js +1 -16
- package/dist/tests/units/modules/worktree-management/usecases/detectDegradedWorktrees.usecase.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dashboard module — Setup Wizard HUD view model (SPEC-184, Iteration A).
|
|
3
|
+
* Humble object: pure functions, no global state, no direct DOM access.
|
|
4
|
+
* Maps the SPEC-183 wizard stream events into the 10-step boot sequence rows
|
|
5
|
+
* and the banner model. Animation choreography lives in styles.css; the stream
|
|
6
|
+
* client wiring lives in setupWizardStream.js.
|
|
7
|
+
*
|
|
8
|
+
* Visual DNA: "Agentic OS" — see project_agentic_os_design_dna.md.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import { escapeHtml } from './html.js';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @typedef {'dependencies' | 'claude-login' | 'daemon' | 'secrets' | 'add-project'
|
|
15
|
+
* | 'pipeline' | 'generate-files' | 'register-project' | 'validate' | 'next-actions'} StepId
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @typedef {'pending' | 'in_progress' | 'succeeded' | 'skipped' | 'blocked'
|
|
20
|
+
* | 'warning' | 'awaiting_input'} StepRowStatus
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @typedef {Object} StepRowViewModel
|
|
25
|
+
* @property {StepId} id
|
|
26
|
+
* @property {string} label
|
|
27
|
+
* @property {StepRowStatus} status
|
|
28
|
+
* @property {string | null} message
|
|
29
|
+
* @property {string | null} remediation
|
|
30
|
+
* @property {number} position
|
|
31
|
+
* @property {number} total
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @typedef {Object} BannerViewModel
|
|
36
|
+
* @property {'instructions' | 'warning' | 'resume' | 'done'} kind
|
|
37
|
+
* @property {string | null} message
|
|
38
|
+
* @property {string[]} lines
|
|
39
|
+
* @property {string | null} resumeAt
|
|
40
|
+
* @property {number | null} position
|
|
41
|
+
* @property {number | null} total
|
|
42
|
+
*/
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* The 10 SPEC-183 step ids, in execution order. Kept in sync with
|
|
46
|
+
* entities/stepId/stepId.schema.ts (the backend source of truth).
|
|
47
|
+
* @type {StepId[]}
|
|
48
|
+
*/
|
|
49
|
+
export const STEP_ROW_IDS = [
|
|
50
|
+
'dependencies',
|
|
51
|
+
'claude-login',
|
|
52
|
+
'daemon',
|
|
53
|
+
'secrets',
|
|
54
|
+
'add-project',
|
|
55
|
+
'pipeline',
|
|
56
|
+
'generate-files',
|
|
57
|
+
'register-project',
|
|
58
|
+
'validate',
|
|
59
|
+
'next-actions',
|
|
60
|
+
];
|
|
61
|
+
|
|
62
|
+
/** @type {Record<StepId, string>} */
|
|
63
|
+
const STEP_LABELS = {
|
|
64
|
+
dependencies: 'Dependencies',
|
|
65
|
+
'claude-login': 'Claude login',
|
|
66
|
+
daemon: 'Daemon',
|
|
67
|
+
secrets: 'Secrets',
|
|
68
|
+
'add-project': 'Add project',
|
|
69
|
+
pipeline: 'Pipeline',
|
|
70
|
+
'generate-files': 'Generate files',
|
|
71
|
+
'register-project': 'Register project',
|
|
72
|
+
validate: 'Validate',
|
|
73
|
+
'next-actions': 'Next actions',
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
const BANNER_STEPS = new Set(['instructions', 'warning', 'resume', 'done']);
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* @param {string} step
|
|
80
|
+
* @returns {boolean}
|
|
81
|
+
*/
|
|
82
|
+
function isStepRowId(step) {
|
|
83
|
+
return STEP_ROW_IDS.includes(step);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
const ROW_STATUSES = new Set([
|
|
87
|
+
'pending',
|
|
88
|
+
'in_progress',
|
|
89
|
+
'succeeded',
|
|
90
|
+
'skipped',
|
|
91
|
+
'blocked',
|
|
92
|
+
'warning',
|
|
93
|
+
'awaiting_input',
|
|
94
|
+
]);
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* @param {Record<string, unknown>} event
|
|
98
|
+
* @returns {StepRowStatus}
|
|
99
|
+
*/
|
|
100
|
+
function statusFromEvent(event) {
|
|
101
|
+
const status = event.status;
|
|
102
|
+
if (typeof status === 'string' && ROW_STATUSES.has(status)) {
|
|
103
|
+
return status;
|
|
104
|
+
}
|
|
105
|
+
return 'pending';
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* @param {Record<string, unknown>} event
|
|
110
|
+
* @returns {string | null}
|
|
111
|
+
*/
|
|
112
|
+
function messageFromEvent(event) {
|
|
113
|
+
if (event.status === 'awaiting_input') {
|
|
114
|
+
return typeof event.prompt === 'string' ? event.prompt : null;
|
|
115
|
+
}
|
|
116
|
+
return typeof event.message === 'string' ? event.message : null;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Folds the ordered event stream into the 10 step rows. Banner events are
|
|
121
|
+
* never folded into rows (they drive buildBannerModel instead).
|
|
122
|
+
*
|
|
123
|
+
* @param {Array<Record<string, unknown>>} events
|
|
124
|
+
* @returns {StepRowViewModel[]}
|
|
125
|
+
*/
|
|
126
|
+
export function buildStepRowsModel(events) {
|
|
127
|
+
const total = STEP_ROW_IDS.length;
|
|
128
|
+
/** @type {StepRowViewModel[]} */
|
|
129
|
+
const rows = STEP_ROW_IDS.map((id, index) => ({
|
|
130
|
+
id,
|
|
131
|
+
label: STEP_LABELS[id],
|
|
132
|
+
status: 'pending',
|
|
133
|
+
message: null,
|
|
134
|
+
remediation: null,
|
|
135
|
+
position: index + 1,
|
|
136
|
+
total,
|
|
137
|
+
}));
|
|
138
|
+
|
|
139
|
+
const indexById = new Map(rows.map((row, index) => [row.id, index]));
|
|
140
|
+
|
|
141
|
+
for (const event of events) {
|
|
142
|
+
const step = typeof event.step === 'string' ? event.step : '';
|
|
143
|
+
if (!isStepRowId(step)) {
|
|
144
|
+
continue;
|
|
145
|
+
}
|
|
146
|
+
const rowIndex = indexById.get(step);
|
|
147
|
+
if (rowIndex === undefined) {
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
const row = rows[rowIndex];
|
|
151
|
+
row.status = statusFromEvent(event);
|
|
152
|
+
row.message = messageFromEvent(event);
|
|
153
|
+
row.remediation = typeof event.remediation === 'string' ? event.remediation : null;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
return rows;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Extracts the banner events (instructions / warning / resume / done) in order.
|
|
161
|
+
*
|
|
162
|
+
* @param {Array<Record<string, unknown>>} events
|
|
163
|
+
* @returns {BannerViewModel[]}
|
|
164
|
+
*/
|
|
165
|
+
export function buildBannerModel(events) {
|
|
166
|
+
/** @type {BannerViewModel[]} */
|
|
167
|
+
const banners = [];
|
|
168
|
+
for (const event of events) {
|
|
169
|
+
const step = typeof event.step === 'string' ? event.step : '';
|
|
170
|
+
if (!BANNER_STEPS.has(step)) {
|
|
171
|
+
continue;
|
|
172
|
+
}
|
|
173
|
+
banners.push({
|
|
174
|
+
kind: step,
|
|
175
|
+
message: typeof event.message === 'string' ? event.message : null,
|
|
176
|
+
lines: Array.isArray(event.lines) ? event.lines.map((line) => String(line)) : [],
|
|
177
|
+
resumeAt: typeof event.resumeAt === 'string' ? event.resumeAt : null,
|
|
178
|
+
position: typeof event.position === 'number' ? event.position : null,
|
|
179
|
+
total: typeof event.total === 'number' ? event.total : null,
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
return banners;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* @param {StepRowStatus} status
|
|
187
|
+
* @returns {string}
|
|
188
|
+
*/
|
|
189
|
+
export function statusToDotClass(status) {
|
|
190
|
+
const suffix = status.replace(/_/g, '-');
|
|
191
|
+
return `setup-step-dot setup-step-dot--${suffix}`;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* @param {StepRowStatus} status
|
|
196
|
+
* @returns {string}
|
|
197
|
+
*/
|
|
198
|
+
export function statusToLabel(status) {
|
|
199
|
+
return status.replace(/_/g, ' ').toUpperCase();
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* @param {StepRowViewModel} row
|
|
204
|
+
* @returns {string}
|
|
205
|
+
*/
|
|
206
|
+
export function buildAriaAnnouncement(row) {
|
|
207
|
+
const statusLabel = statusToLabel(row.status).toLowerCase();
|
|
208
|
+
return `Step ${row.position} of ${row.total}, ${statusLabel}: ${row.label}`;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* @param {StepRowViewModel} row
|
|
213
|
+
* @returns {string}
|
|
214
|
+
*/
|
|
215
|
+
export function renderStepRow(row) {
|
|
216
|
+
const dotClass = statusToDotClass(row.status);
|
|
217
|
+
const labelPrefix = `// ${row.label.toUpperCase()}`;
|
|
218
|
+
const messageMarkup = row.message
|
|
219
|
+
? `<div class="setup-step-message">${escapeHtml(row.message)}</div>`
|
|
220
|
+
: '';
|
|
221
|
+
const remediationMarkup = row.remediation
|
|
222
|
+
? `<div class="setup-step-remediation">${escapeHtml(row.remediation)}</div>`
|
|
223
|
+
: '';
|
|
224
|
+
return `
|
|
225
|
+
<li class="setup-step setup-step--${row.status.replace(/_/g, '-')}" data-step-id="${escapeHtml(row.id)}" data-status="${escapeHtml(row.status)}">
|
|
226
|
+
<span class="setup-corner setup-corner--tl" aria-hidden="true"></span>
|
|
227
|
+
<span class="setup-corner setup-corner--tr" aria-hidden="true"></span>
|
|
228
|
+
<span class="setup-corner setup-corner--bl" aria-hidden="true"></span>
|
|
229
|
+
<span class="setup-corner setup-corner--br" aria-hidden="true"></span>
|
|
230
|
+
<span class="${dotClass}" aria-hidden="true"></span>
|
|
231
|
+
<div class="setup-step-body">
|
|
232
|
+
<div class="setup-step-header">
|
|
233
|
+
<span class="setup-step-label">${escapeHtml(labelPrefix)}</span>
|
|
234
|
+
<span class="setup-step-status" data-status="${escapeHtml(row.status)}">${escapeHtml(statusToLabel(row.status))}</span>
|
|
235
|
+
</div>
|
|
236
|
+
${messageMarkup}
|
|
237
|
+
${remediationMarkup}
|
|
238
|
+
</div>
|
|
239
|
+
</li>
|
|
240
|
+
`;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* @param {BannerViewModel} banner
|
|
245
|
+
* @returns {string}
|
|
246
|
+
*/
|
|
247
|
+
export function renderBanner(banner) {
|
|
248
|
+
if (banner.kind === 'resume') {
|
|
249
|
+
const position = banner.position ?? 0;
|
|
250
|
+
const total = banner.total ?? STEP_ROW_IDS.length;
|
|
251
|
+
return `<div class="setup-banner setup-banner--resume" role="status">// REPRISE — Étape ${position}/${total}</div>`;
|
|
252
|
+
}
|
|
253
|
+
if (banner.kind === 'done') {
|
|
254
|
+
return `<div class="setup-banner setup-banner--done" role="status">// SETUP TERMINÉ</div>`;
|
|
255
|
+
}
|
|
256
|
+
if (banner.kind === 'instructions') {
|
|
257
|
+
const items = banner.lines.map((line) => `<li>${escapeHtml(line)}</li>`).join('');
|
|
258
|
+
return `<div class="setup-banner setup-banner--instructions" role="status"><div class="setup-banner-title">// INSTRUCTIONS</div><ul>${items}</ul></div>`;
|
|
259
|
+
}
|
|
260
|
+
return `<div class="setup-banner setup-banner--warning" role="status"><span class="setup-banner-title">// ATTENTION</span> ${escapeHtml(banner.message)}</div>`;
|
|
261
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setupWizard.js","sourceRoot":"","sources":["../../../src/dashboard/modules/setupWizard.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Folds the ordered event list to the avatar state of the latest relevant event.
|
|
3
|
+
* Nothing relevant yet → idle.
|
|
4
|
+
*
|
|
5
|
+
* @param {Array<Record<string, unknown>>} events
|
|
6
|
+
* @returns {AvatarState}
|
|
7
|
+
*/
|
|
8
|
+
export function avatarStateFromEvents(events: Array<Record<string, unknown>>): AvatarState;
|
|
9
|
+
/**
|
|
10
|
+
* Decides whether the animated wireframe avatar applies. Phase 1 renders on a
|
|
11
|
+
* plain 2D canvas (no WebGL), so the capability gate is "can we get a 2D
|
|
12
|
+
* context"; reduced motion always routes to the static 2D fallback.
|
|
13
|
+
*
|
|
14
|
+
* @param {{ canvasSupported: boolean; reducedMotion: boolean }} capabilities
|
|
15
|
+
* @returns {boolean}
|
|
16
|
+
*/
|
|
17
|
+
export function shouldUseAvatar(capabilities: {
|
|
18
|
+
canvasSupported: boolean;
|
|
19
|
+
reducedMotion: boolean;
|
|
20
|
+
}): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Maps an avatar state to its stroke/animation parameters. Keeps the renderer
|
|
23
|
+
* humble: every per-state visual decision lives here, not in the canvas loop.
|
|
24
|
+
*
|
|
25
|
+
* @param {AvatarState} state
|
|
26
|
+
* @returns {AvatarVisual}
|
|
27
|
+
*/
|
|
28
|
+
export function avatarStateToVisual(state: AvatarState): AvatarVisual;
|
|
29
|
+
/**
|
|
30
|
+
* @typedef {Object} Projection
|
|
31
|
+
* @property {number} tilt Fixed X-axis tilt in radians.
|
|
32
|
+
* @property {number} distance Camera distance for the perspective divide.
|
|
33
|
+
* @property {number} scale Pixels per unit at the projection plane.
|
|
34
|
+
* @property {number} centerX Canvas-space x offset.
|
|
35
|
+
* @property {number} centerY Canvas-space y offset.
|
|
36
|
+
*/
|
|
37
|
+
/**
|
|
38
|
+
* Projects a 3D vertex to a 2D canvas point: rotates around Y by
|
|
39
|
+
* `rotationRadians`, applies the fixed X tilt, then a trivial perspective
|
|
40
|
+
* divide and scale. Pure and deterministic.
|
|
41
|
+
*
|
|
42
|
+
* @param {Vertex} vertex
|
|
43
|
+
* @param {number} rotationRadians
|
|
44
|
+
* @param {Projection} projection
|
|
45
|
+
* @returns {{ x: number; y: number }}
|
|
46
|
+
*/
|
|
47
|
+
export function projectVertex(vertex: Vertex, rotationRadians: number, projection: Projection): {
|
|
48
|
+
x: number;
|
|
49
|
+
y: number;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Dashboard module — Setup Wizard wireframe avatar (SPEC-188, Phase 1).
|
|
53
|
+
* Humble object: pure functions, no global state, no direct DOM access.
|
|
54
|
+
* Holds ALL the avatar logic: maps the SPEC-183/187 wizard stream into one of
|
|
55
|
+
* six avatar states, decides whether the avatar or the 2D fallback applies, and
|
|
56
|
+
* projects the procedural wireframe geometry. The requestAnimationFrame canvas
|
|
57
|
+
* loop lives in setupWizardAvatarRenderer.js and delegates every decision here.
|
|
58
|
+
*
|
|
59
|
+
* Visual DNA: "Agentic OS" — see project_agentic_os_design_dna.md.
|
|
60
|
+
*/
|
|
61
|
+
/**
|
|
62
|
+
* @typedef {'idle' | 'working' | 'success' | 'error' | 'listening' | 'celebrating'} AvatarState
|
|
63
|
+
*/
|
|
64
|
+
/**
|
|
65
|
+
* The six avatar states a wireframe core can be in, in narrative order.
|
|
66
|
+
* @type {AvatarState[]}
|
|
67
|
+
*/
|
|
68
|
+
export const AVATAR_STATES: AvatarState[];
|
|
69
|
+
/**
|
|
70
|
+
* @typedef {[number, number, number]} Vertex
|
|
71
|
+
*/
|
|
72
|
+
/**
|
|
73
|
+
* The 12 vertices of a unit icosahedron (golden-ratio rectangles). A fixed,
|
|
74
|
+
* abstract wireframe core — the six avatar states reuse this same geometry and
|
|
75
|
+
* differ only by colour/line-width/rotation-speed/pulse.
|
|
76
|
+
* @type {Vertex[]}
|
|
77
|
+
*/
|
|
78
|
+
export const WIREFRAME_VERTICES: Vertex[];
|
|
79
|
+
/**
|
|
80
|
+
* The 30 edges of the icosahedron, as index pairs into WIREFRAME_VERTICES.
|
|
81
|
+
* @type {Array<[number, number]>}
|
|
82
|
+
*/
|
|
83
|
+
export const WIREFRAME_EDGES: Array<[number, number]>;
|
|
84
|
+
export type Projection = {
|
|
85
|
+
/**
|
|
86
|
+
* Fixed X-axis tilt in radians.
|
|
87
|
+
*/
|
|
88
|
+
tilt: number;
|
|
89
|
+
/**
|
|
90
|
+
* Camera distance for the perspective divide.
|
|
91
|
+
*/
|
|
92
|
+
distance: number;
|
|
93
|
+
/**
|
|
94
|
+
* Pixels per unit at the projection plane.
|
|
95
|
+
*/
|
|
96
|
+
scale: number;
|
|
97
|
+
/**
|
|
98
|
+
* Canvas-space x offset.
|
|
99
|
+
*/
|
|
100
|
+
centerX: number;
|
|
101
|
+
/**
|
|
102
|
+
* Canvas-space y offset.
|
|
103
|
+
*/
|
|
104
|
+
centerY: number;
|
|
105
|
+
};
|
|
106
|
+
export type AvatarState = "idle" | "working" | "success" | "error" | "listening" | "celebrating";
|
|
107
|
+
export type AvatarVisual = {
|
|
108
|
+
/**
|
|
109
|
+
* CSS custom-property name driving the stroke colour.
|
|
110
|
+
*/
|
|
111
|
+
color: string;
|
|
112
|
+
/**
|
|
113
|
+
* Stroke width in device pixels.
|
|
114
|
+
*/
|
|
115
|
+
lineWidth: number;
|
|
116
|
+
/**
|
|
117
|
+
* Radians per second of the Y rotation.
|
|
118
|
+
*/
|
|
119
|
+
rotationSpeed: number;
|
|
120
|
+
/**
|
|
121
|
+
* Amplitude of the radius/opacity breathing envelope.
|
|
122
|
+
*/
|
|
123
|
+
pulse: number;
|
|
124
|
+
};
|
|
125
|
+
export type Vertex = [number, number, number];
|
|
126
|
+
//# sourceMappingURL=setupWizardAvatar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setupWizardAvatar.d.ts","sourceRoot":"","sources":["../../../src/dashboard/modules/setupWizardAvatar.js"],"names":[],"mappings":"AAyDA;;;;;;GAMG;AACH,8CAHW,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC5B,WAAW,CAUvB;AAED;;;;;;;GAOG;AACH,8CAHW;IAAE,eAAe,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,GAClD,OAAO,CAInB;AAoBD;;;;;;GAMG;AACH,2CAHW,WAAW,GACT,YAAY,CAIxB;AAkED;;;;;;;GAOG;AAEH;;;;;;;;;GASG;AACH,sCALW,MAAM,mBACN,MAAM,cACN,UAAU,GACR;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAoBpC;AAxND;;;;;;;;;GASG;AAEH;;GAEG;AAEH;;;GAGG;AACH,4BAFU,WAAW,EAAE,CAE0E;AAkGjG;;GAEG;AAEH;;;;;GAKG;AACH,iCAFU,MAAM,EAAE,CAehB;AAEF;;;GAGG;AACH,8BAFU,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAiC/B;;;;;UAIY,MAAM;;;;cACN,MAAM;;;;WACN,MAAM;;;;aACN,MAAM;;;;aACN,MAAM;;0BA7KP,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,aAAa;;;;;WA4ErE,MAAM;;;;eACN,MAAM;;;;mBACN,MAAM;;;;WACN,MAAM;;qBA2BP,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC"}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dashboard module — Setup Wizard wireframe avatar (SPEC-188, Phase 1).
|
|
3
|
+
* Humble object: pure functions, no global state, no direct DOM access.
|
|
4
|
+
* Holds ALL the avatar logic: maps the SPEC-183/187 wizard stream into one of
|
|
5
|
+
* six avatar states, decides whether the avatar or the 2D fallback applies, and
|
|
6
|
+
* projects the procedural wireframe geometry. The requestAnimationFrame canvas
|
|
7
|
+
* loop lives in setupWizardAvatarRenderer.js and delegates every decision here.
|
|
8
|
+
*
|
|
9
|
+
* Visual DNA: "Agentic OS" — see project_agentic_os_design_dna.md.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* @typedef {'idle' | 'working' | 'success' | 'error' | 'listening' | 'celebrating'} AvatarState
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The six avatar states a wireframe core can be in, in narrative order.
|
|
18
|
+
* @type {AvatarState[]}
|
|
19
|
+
*/
|
|
20
|
+
export const AVATAR_STATES = ['idle', 'working', 'success', 'error', 'listening', 'celebrating'];
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @param {unknown} value
|
|
24
|
+
* @returns {string}
|
|
25
|
+
*/
|
|
26
|
+
function statusOf(value) {
|
|
27
|
+
return value && typeof value === 'object' && typeof (/** @type {Record<string, unknown>} */ (value).status) === 'string'
|
|
28
|
+
? /** @type {string} */ (/** @type {Record<string, unknown>} */ (value).status)
|
|
29
|
+
: '';
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Maps a single event status to the avatar state it drives. Returns null for a
|
|
34
|
+
* status the avatar does not react to (so the fold can keep the previous state).
|
|
35
|
+
*
|
|
36
|
+
* @param {string} status
|
|
37
|
+
* @returns {AvatarState | null}
|
|
38
|
+
*/
|
|
39
|
+
function avatarStateForStatus(status) {
|
|
40
|
+
if (status === 'in_progress' || status === 'warning') {
|
|
41
|
+
return 'working';
|
|
42
|
+
}
|
|
43
|
+
if (status === 'succeeded' || status === 'skipped') {
|
|
44
|
+
return 'success';
|
|
45
|
+
}
|
|
46
|
+
if (status === 'blocked') {
|
|
47
|
+
return 'error';
|
|
48
|
+
}
|
|
49
|
+
if (status === 'awaiting_input') {
|
|
50
|
+
return 'listening';
|
|
51
|
+
}
|
|
52
|
+
if (status === 'completed') {
|
|
53
|
+
return 'celebrating';
|
|
54
|
+
}
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Folds the ordered event list to the avatar state of the latest relevant event.
|
|
60
|
+
* Nothing relevant yet → idle.
|
|
61
|
+
*
|
|
62
|
+
* @param {Array<Record<string, unknown>>} events
|
|
63
|
+
* @returns {AvatarState}
|
|
64
|
+
*/
|
|
65
|
+
export function avatarStateFromEvents(events) {
|
|
66
|
+
for (let index = events.length - 1; index >= 0; index -= 1) {
|
|
67
|
+
const state = avatarStateForStatus(statusOf(events[index]));
|
|
68
|
+
if (state !== null) {
|
|
69
|
+
return state;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return 'idle';
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Decides whether the animated wireframe avatar applies. Phase 1 renders on a
|
|
77
|
+
* plain 2D canvas (no WebGL), so the capability gate is "can we get a 2D
|
|
78
|
+
* context"; reduced motion always routes to the static 2D fallback.
|
|
79
|
+
*
|
|
80
|
+
* @param {{ canvasSupported: boolean; reducedMotion: boolean }} capabilities
|
|
81
|
+
* @returns {boolean}
|
|
82
|
+
*/
|
|
83
|
+
export function shouldUseAvatar(capabilities) {
|
|
84
|
+
return capabilities.canvasSupported === true && capabilities.reducedMotion === false;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* @typedef {Object} AvatarVisual
|
|
89
|
+
* @property {string} color CSS custom-property name driving the stroke colour.
|
|
90
|
+
* @property {number} lineWidth Stroke width in device pixels.
|
|
91
|
+
* @property {number} rotationSpeed Radians per second of the Y rotation.
|
|
92
|
+
* @property {number} pulse Amplitude of the radius/opacity breathing envelope.
|
|
93
|
+
*/
|
|
94
|
+
|
|
95
|
+
/** @type {Record<AvatarState, AvatarVisual>} */
|
|
96
|
+
const AVATAR_VISUALS = {
|
|
97
|
+
idle: { color: '--accent', lineWidth: 1, rotationSpeed: 0.3, pulse: 0.15 },
|
|
98
|
+
working: { color: '--accent', lineWidth: 1.5, rotationSpeed: 1.2, pulse: 0.25 },
|
|
99
|
+
success: { color: '--success', lineWidth: 1.5, rotationSpeed: 0.6, pulse: 0.4 },
|
|
100
|
+
error: { color: '--danger', lineWidth: 2, rotationSpeed: 0.2, pulse: 0.5 },
|
|
101
|
+
listening: { color: '--accent', lineWidth: 1.5, rotationSpeed: 0.45, pulse: 0.3 },
|
|
102
|
+
celebrating: { color: '--success', lineWidth: 2, rotationSpeed: 1.6, pulse: 0.6 },
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Maps an avatar state to its stroke/animation parameters. Keeps the renderer
|
|
107
|
+
* humble: every per-state visual decision lives here, not in the canvas loop.
|
|
108
|
+
*
|
|
109
|
+
* @param {AvatarState} state
|
|
110
|
+
* @returns {AvatarVisual}
|
|
111
|
+
*/
|
|
112
|
+
export function avatarStateToVisual(state) {
|
|
113
|
+
return AVATAR_VISUALS[state];
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
const GOLDEN_RATIO = (1 + Math.sqrt(5)) / 2;
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* @typedef {[number, number, number]} Vertex
|
|
120
|
+
*/
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* The 12 vertices of a unit icosahedron (golden-ratio rectangles). A fixed,
|
|
124
|
+
* abstract wireframe core — the six avatar states reuse this same geometry and
|
|
125
|
+
* differ only by colour/line-width/rotation-speed/pulse.
|
|
126
|
+
* @type {Vertex[]}
|
|
127
|
+
*/
|
|
128
|
+
export const WIREFRAME_VERTICES = [
|
|
129
|
+
[-1, GOLDEN_RATIO, 0],
|
|
130
|
+
[1, GOLDEN_RATIO, 0],
|
|
131
|
+
[-1, -GOLDEN_RATIO, 0],
|
|
132
|
+
[1, -GOLDEN_RATIO, 0],
|
|
133
|
+
[0, -1, GOLDEN_RATIO],
|
|
134
|
+
[0, 1, GOLDEN_RATIO],
|
|
135
|
+
[0, -1, -GOLDEN_RATIO],
|
|
136
|
+
[0, 1, -GOLDEN_RATIO],
|
|
137
|
+
[GOLDEN_RATIO, 0, -1],
|
|
138
|
+
[GOLDEN_RATIO, 0, 1],
|
|
139
|
+
[-GOLDEN_RATIO, 0, -1],
|
|
140
|
+
[-GOLDEN_RATIO, 0, 1],
|
|
141
|
+
];
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* The 30 edges of the icosahedron, as index pairs into WIREFRAME_VERTICES.
|
|
145
|
+
* @type {Array<[number, number]>}
|
|
146
|
+
*/
|
|
147
|
+
export const WIREFRAME_EDGES = [
|
|
148
|
+
[0, 11],
|
|
149
|
+
[0, 5],
|
|
150
|
+
[0, 1],
|
|
151
|
+
[0, 7],
|
|
152
|
+
[0, 10],
|
|
153
|
+
[1, 5],
|
|
154
|
+
[5, 11],
|
|
155
|
+
[11, 10],
|
|
156
|
+
[10, 7],
|
|
157
|
+
[7, 1],
|
|
158
|
+
[3, 9],
|
|
159
|
+
[3, 4],
|
|
160
|
+
[3, 2],
|
|
161
|
+
[3, 6],
|
|
162
|
+
[3, 8],
|
|
163
|
+
[4, 9],
|
|
164
|
+
[9, 8],
|
|
165
|
+
[8, 6],
|
|
166
|
+
[6, 2],
|
|
167
|
+
[2, 4],
|
|
168
|
+
[5, 9],
|
|
169
|
+
[11, 4],
|
|
170
|
+
[10, 2],
|
|
171
|
+
[7, 6],
|
|
172
|
+
[1, 8],
|
|
173
|
+
[4, 5],
|
|
174
|
+
[9, 1],
|
|
175
|
+
[8, 7],
|
|
176
|
+
[6, 10],
|
|
177
|
+
[2, 11],
|
|
178
|
+
];
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* @typedef {Object} Projection
|
|
182
|
+
* @property {number} tilt Fixed X-axis tilt in radians.
|
|
183
|
+
* @property {number} distance Camera distance for the perspective divide.
|
|
184
|
+
* @property {number} scale Pixels per unit at the projection plane.
|
|
185
|
+
* @property {number} centerX Canvas-space x offset.
|
|
186
|
+
* @property {number} centerY Canvas-space y offset.
|
|
187
|
+
*/
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Projects a 3D vertex to a 2D canvas point: rotates around Y by
|
|
191
|
+
* `rotationRadians`, applies the fixed X tilt, then a trivial perspective
|
|
192
|
+
* divide and scale. Pure and deterministic.
|
|
193
|
+
*
|
|
194
|
+
* @param {Vertex} vertex
|
|
195
|
+
* @param {number} rotationRadians
|
|
196
|
+
* @param {Projection} projection
|
|
197
|
+
* @returns {{ x: number; y: number }}
|
|
198
|
+
*/
|
|
199
|
+
export function projectVertex(vertex, rotationRadians, projection) {
|
|
200
|
+
const [x, y, z] = vertex;
|
|
201
|
+
|
|
202
|
+
const cosY = Math.cos(rotationRadians);
|
|
203
|
+
const sinY = Math.sin(rotationRadians);
|
|
204
|
+
const rotatedX = x * cosY + z * sinY;
|
|
205
|
+
const rotatedZ = -x * sinY + z * cosY;
|
|
206
|
+
|
|
207
|
+
const cosTilt = Math.cos(projection.tilt);
|
|
208
|
+
const sinTilt = Math.sin(projection.tilt);
|
|
209
|
+
const tiltedY = y * cosTilt - rotatedZ * sinTilt;
|
|
210
|
+
const tiltedZ = y * sinTilt + rotatedZ * cosTilt;
|
|
211
|
+
|
|
212
|
+
const perspective = projection.scale / (tiltedZ + projection.distance);
|
|
213
|
+
return {
|
|
214
|
+
x: projection.centerX + rotatedX * perspective,
|
|
215
|
+
y: projection.centerY + tiltedY * perspective,
|
|
216
|
+
};
|
|
217
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setupWizardAvatar.js","sourceRoot":"","sources":["../../../src/dashboard/modules/setupWizardAvatar.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The structural slice of a canvas the renderer actually depends on. A real
|
|
3
|
+
* HTMLCanvasElement satisfies it; tests can pass a lightweight fake without casts.
|
|
4
|
+
*
|
|
5
|
+
* @typedef {Object} AvatarCanvas
|
|
6
|
+
* @property {number} width
|
|
7
|
+
* @property {number} height
|
|
8
|
+
* @property {(contextId: '2d') => CanvasRenderingContext2D | null} getContext
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Mounts the animated wireframe avatar on a 2D canvas and returns its controls.
|
|
12
|
+
* The page calls setState() on each stream event and destroy() before any
|
|
13
|
+
* redirect or fallback switch so the rAF loop never leaks.
|
|
14
|
+
*
|
|
15
|
+
* @param {Object} options
|
|
16
|
+
* @param {AvatarCanvas} options.canvas
|
|
17
|
+
* @param {import('./setupWizardAvatar.js').AvatarState} [options.initialState]
|
|
18
|
+
* @param {(callback: FrameRequestCallback) => number} [options.requestFrame]
|
|
19
|
+
* @param {(handle: number) => void} [options.cancelFrame]
|
|
20
|
+
* @param {() => number} [options.now]
|
|
21
|
+
* @returns {{ setState: (state: import('./setupWizardAvatar.js').AvatarState) => void; destroy: () => void }}
|
|
22
|
+
*/
|
|
23
|
+
export function mountSetupWizardAvatar(options: {
|
|
24
|
+
canvas: AvatarCanvas;
|
|
25
|
+
initialState?: import("./setupWizardAvatar.js").AvatarState | undefined;
|
|
26
|
+
requestFrame?: ((callback: FrameRequestCallback) => number) | undefined;
|
|
27
|
+
cancelFrame?: ((handle: number) => void) | undefined;
|
|
28
|
+
now?: (() => number) | undefined;
|
|
29
|
+
}): {
|
|
30
|
+
setState: (state: import("./setupWizardAvatar.js").AvatarState) => void;
|
|
31
|
+
destroy: () => void;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* The structural slice of a canvas the renderer actually depends on. A real
|
|
35
|
+
* HTMLCanvasElement satisfies it; tests can pass a lightweight fake without casts.
|
|
36
|
+
*/
|
|
37
|
+
export type AvatarCanvas = {
|
|
38
|
+
width: number;
|
|
39
|
+
height: number;
|
|
40
|
+
getContext: (contextId: "2d") => CanvasRenderingContext2D | null;
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=setupWizardAvatarRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setupWizardAvatarRenderer.d.ts","sourceRoot":"","sources":["../../../src/dashboard/modules/setupWizardAvatarRenderer.js"],"names":[],"mappings":"AA6BA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;GAYG;AACH,gDAPG;IAA8B,MAAM,EAA5B,YAAY;IAC2C,YAAY;IACd,YAAY,eAAtD,oBAAoB,KAAK,MAAM;IACP,WAAW,aAArC,MAAM,KAAK,IAAI;IACD,GAAG,UAApB,MAAM;CACpB,GAAU;IAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,wBAAwB,EAAE,WAAW,KAAK,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CAkE5G;;;;;;WAlFa,MAAM;YACN,MAAM;gBACN,CAAC,SAAS,EAAE,IAAI,KAAK,wBAAwB,GAAG,IAAI"}
|