@amplitude/wizard 1.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +47 -0
- package/README.md +119 -0
- package/dist/bin.d.ts +2 -0
- package/dist/bin.js +763 -0
- package/dist/package.json +144 -0
- package/dist/src/frameworks/android/android-wizard-agent.d.ts +6 -0
- package/dist/src/frameworks/android/android-wizard-agent.js +72 -0
- package/dist/src/frameworks/android/utils.d.ts +11 -0
- package/dist/src/frameworks/android/utils.js +32 -0
- package/dist/src/frameworks/django/django-wizard-agent.d.ts +8 -0
- package/dist/src/frameworks/django/django-wizard-agent.js +171 -0
- package/dist/src/frameworks/django/utils.d.ts +31 -0
- package/dist/src/frameworks/django/utils.js +305 -0
- package/dist/src/frameworks/fastapi/fastapi-wizard-agent.d.ts +11 -0
- package/dist/src/frameworks/fastapi/fastapi-wizard-agent.js +189 -0
- package/dist/src/frameworks/fastapi/utils.d.ts +26 -0
- package/dist/src/frameworks/fastapi/utils.js +257 -0
- package/dist/src/frameworks/flask/flask-wizard-agent.d.ts +8 -0
- package/dist/src/frameworks/flask/flask-wizard-agent.js +177 -0
- package/dist/src/frameworks/flask/utils.d.ts +28 -0
- package/dist/src/frameworks/flask/utils.js +343 -0
- package/dist/src/frameworks/flutter/flutter-wizard-agent.d.ts +4 -0
- package/dist/src/frameworks/flutter/flutter-wizard-agent.js +57 -0
- package/dist/src/frameworks/flutter/utils.d.ts +7 -0
- package/dist/src/frameworks/flutter/utils.js +64 -0
- package/dist/src/frameworks/generic/generic-wizard-agent.d.ts +2 -0
- package/dist/src/frameworks/generic/generic-wizard-agent.js +176 -0
- package/dist/src/frameworks/go/go-wizard-agent.d.ts +4 -0
- package/dist/src/frameworks/go/go-wizard-agent.js +57 -0
- package/dist/src/frameworks/go/utils.d.ts +5 -0
- package/dist/src/frameworks/go/utils.js +44 -0
- package/dist/src/frameworks/java/java-wizard-agent.d.ts +7 -0
- package/dist/src/frameworks/java/java-wizard-agent.js +73 -0
- package/dist/src/frameworks/java/utils.d.ts +15 -0
- package/dist/src/frameworks/java/utils.js +64 -0
- package/dist/src/frameworks/javascript-node/javascript-node-wizard-agent.d.ts +4 -0
- package/dist/src/frameworks/javascript-node/javascript-node-wizard-agent.js +57 -0
- package/dist/src/frameworks/javascript-web/javascript-web-wizard-agent.d.ts +3 -0
- package/dist/src/frameworks/javascript-web/javascript-web-wizard-agent.js +151 -0
- package/dist/src/frameworks/javascript-web/utils.d.ts +28 -0
- package/dist/src/frameworks/javascript-web/utils.js +153 -0
- package/dist/src/frameworks/nextjs/nextjs-wizard-agent.d.ts +7 -0
- package/dist/src/frameworks/nextjs/nextjs-wizard-agent.js +98 -0
- package/dist/src/frameworks/nextjs/utils.d.ts +12 -0
- package/dist/src/frameworks/nextjs/utils.js +51 -0
- package/dist/src/frameworks/python/python-wizard-agent.d.ts +7 -0
- package/dist/src/frameworks/python/python-wizard-agent.js +193 -0
- package/dist/src/frameworks/python/utils.d.ts +28 -0
- package/dist/src/frameworks/python/utils.js +146 -0
- package/dist/src/frameworks/react-native/react-native-wizard-agent.d.ts +6 -0
- package/dist/src/frameworks/react-native/react-native-wizard-agent.js +84 -0
- package/dist/src/frameworks/react-native/utils.d.ts +21 -0
- package/dist/src/frameworks/react-native/utils.js +82 -0
- package/dist/src/frameworks/react-router/react-router-wizard-agent.d.ts +7 -0
- package/dist/src/frameworks/react-router/react-router-wizard-agent.js +98 -0
- package/dist/src/frameworks/react-router/utils.d.ts +13 -0
- package/dist/src/frameworks/react-router/utils.js +160 -0
- package/dist/src/frameworks/swift/swift-wizard-agent.d.ts +7 -0
- package/dist/src/frameworks/swift/swift-wizard-agent.js +72 -0
- package/dist/src/frameworks/swift/utils.d.ts +12 -0
- package/dist/src/frameworks/swift/utils.js +82 -0
- package/dist/src/frameworks/unity/unity-wizard-agent.d.ts +6 -0
- package/dist/src/frameworks/unity/unity-wizard-agent.js +79 -0
- package/dist/src/frameworks/unity/utils.d.ts +12 -0
- package/dist/src/frameworks/unity/utils.js +66 -0
- package/dist/src/frameworks/unreal/unreal-wizard-agent.d.ts +6 -0
- package/dist/src/frameworks/unreal/unreal-wizard-agent.js +77 -0
- package/dist/src/frameworks/unreal/utils.d.ts +10 -0
- package/dist/src/frameworks/unreal/utils.js +29 -0
- package/dist/src/frameworks/vue/vue-wizard-agent.d.ts +4 -0
- package/dist/src/frameworks/vue/vue-wizard-agent.js +64 -0
- package/dist/src/lib/agent-hooks.d.ts +26 -0
- package/dist/src/lib/agent-hooks.js +118 -0
- package/dist/src/lib/agent-interface.d.ts +175 -0
- package/dist/src/lib/agent-interface.js +1217 -0
- package/dist/src/lib/agent-runner.d.ts +9 -0
- package/dist/src/lib/agent-runner.js +415 -0
- package/dist/src/lib/ampli-config.d.ts +105 -0
- package/dist/src/lib/ampli-config.js +178 -0
- package/dist/src/lib/api.d.ts +107 -0
- package/dist/src/lib/api.js +442 -0
- package/dist/src/lib/commandments.d.ts +1 -0
- package/dist/src/lib/commandments.js +24 -0
- package/dist/src/lib/console-query.d.ts +27 -0
- package/dist/src/lib/console-query.js +121 -0
- package/dist/src/lib/constants.d.ts +124 -0
- package/dist/src/lib/constants.js +170 -0
- package/dist/src/lib/detect-amplitude.d.ts +31 -0
- package/dist/src/lib/detect-amplitude.js +407 -0
- package/dist/src/lib/framework-config.d.ts +188 -0
- package/dist/src/lib/framework-config.js +21 -0
- package/dist/src/lib/health-checks/endpoints.d.ts +3 -0
- package/dist/src/lib/health-checks/endpoints.js +45 -0
- package/dist/src/lib/health-checks/index.d.ts +4 -0
- package/dist/src/lib/health-checks/index.js +22 -0
- package/dist/src/lib/health-checks/readiness.d.ts +24 -0
- package/dist/src/lib/health-checks/readiness.js +118 -0
- package/dist/src/lib/health-checks/statuspage.d.ts +9 -0
- package/dist/src/lib/health-checks/statuspage.js +104 -0
- package/dist/src/lib/health-checks/types.d.ts +31 -0
- package/dist/src/lib/health-checks/types.js +9 -0
- package/dist/src/lib/helper-functions.d.ts +1 -0
- package/dist/src/lib/helper-functions.js +5 -0
- package/dist/src/lib/middleware/benchmark.d.ts +54 -0
- package/dist/src/lib/middleware/benchmark.js +48 -0
- package/dist/src/lib/middleware/benchmarks/cache-tracker.d.ts +44 -0
- package/dist/src/lib/middleware/benchmarks/cache-tracker.js +80 -0
- package/dist/src/lib/middleware/benchmarks/compaction-tracker.d.ts +29 -0
- package/dist/src/lib/middleware/benchmarks/compaction-tracker.js +59 -0
- package/dist/src/lib/middleware/benchmarks/context-size-tracker.d.ts +26 -0
- package/dist/src/lib/middleware/benchmarks/context-size-tracker.js +55 -0
- package/dist/src/lib/middleware/benchmarks/cost-tracker.d.ts +16 -0
- package/dist/src/lib/middleware/benchmarks/cost-tracker.js +75 -0
- package/dist/src/lib/middleware/benchmarks/duration-tracker.d.ts +20 -0
- package/dist/src/lib/middleware/benchmarks/duration-tracker.js +39 -0
- package/dist/src/lib/middleware/benchmarks/index.d.ts +9 -0
- package/dist/src/lib/middleware/benchmarks/index.js +67 -0
- package/dist/src/lib/middleware/benchmarks/json-writer.d.ts +15 -0
- package/dist/src/lib/middleware/benchmarks/json-writer.js +144 -0
- package/dist/src/lib/middleware/benchmarks/summary.d.ts +9 -0
- package/dist/src/lib/middleware/benchmarks/summary.js +105 -0
- package/dist/src/lib/middleware/benchmarks/token-tracker.d.ts +40 -0
- package/dist/src/lib/middleware/benchmarks/token-tracker.js +76 -0
- package/dist/src/lib/middleware/benchmarks/turn-counter.d.ts +34 -0
- package/dist/src/lib/middleware/benchmarks/turn-counter.js +58 -0
- package/dist/src/lib/middleware/config.d.ts +24 -0
- package/dist/src/lib/middleware/config.js +96 -0
- package/dist/src/lib/middleware/index.d.ts +11 -0
- package/dist/src/lib/middleware/index.js +17 -0
- package/dist/src/lib/middleware/phase-detector.d.ts +8 -0
- package/dist/src/lib/middleware/phase-detector.js +63 -0
- package/dist/src/lib/middleware/pipeline.d.ts +29 -0
- package/dist/src/lib/middleware/pipeline.js +81 -0
- package/dist/src/lib/middleware/schemas.d.ts +27 -0
- package/dist/src/lib/middleware/schemas.js +84 -0
- package/dist/src/lib/middleware/types.d.ts +94 -0
- package/dist/src/lib/middleware/types.js +8 -0
- package/dist/src/lib/package-manager-detection.d.ts +42 -0
- package/dist/src/lib/package-manager-detection.js +292 -0
- package/dist/src/lib/registry.d.ts +3 -0
- package/dist/src/lib/registry.js +42 -0
- package/dist/src/lib/safe-tools.d.ts +2 -0
- package/dist/src/lib/safe-tools.js +214 -0
- package/dist/src/lib/wizard-session.d.ts +220 -0
- package/dist/src/lib/wizard-session.js +127 -0
- package/dist/src/lib/wizard-tools.d.ts +82 -0
- package/dist/src/lib/wizard-tools.js +499 -0
- package/dist/src/run.d.ts +19 -0
- package/dist/src/run.js +151 -0
- package/dist/src/steps/add-mcp-server-to-clients/MCPClient.d.ts +30 -0
- package/dist/src/steps/add-mcp-server-to-clients/MCPClient.js +141 -0
- package/dist/src/steps/add-mcp-server-to-clients/clients/claude-code.d.ts +29 -0
- package/dist/src/steps/add-mcp-server-to-clients/clients/claude-code.js +180 -0
- package/dist/src/steps/add-mcp-server-to-clients/clients/claude.d.ts +20 -0
- package/dist/src/steps/add-mcp-server-to-clients/clients/claude.js +63 -0
- package/dist/src/steps/add-mcp-server-to-clients/clients/codex.d.ts +28 -0
- package/dist/src/steps/add-mcp-server-to-clients/clients/codex.js +77 -0
- package/dist/src/steps/add-mcp-server-to-clients/clients/cursor.d.ts +24 -0
- package/dist/src/steps/add-mcp-server-to-clients/clients/cursor.js +60 -0
- package/dist/src/steps/add-mcp-server-to-clients/clients/visual-studio-code.d.ts +27 -0
- package/dist/src/steps/add-mcp-server-to-clients/clients/visual-studio-code.js +101 -0
- package/dist/src/steps/add-mcp-server-to-clients/clients/zed.d.ts +26 -0
- package/dist/src/steps/add-mcp-server-to-clients/clients/zed.js +102 -0
- package/dist/src/steps/add-mcp-server-to-clients/defaults.d.ts +44 -0
- package/dist/src/steps/add-mcp-server-to-clients/defaults.js +123 -0
- package/dist/src/steps/add-mcp-server-to-clients/index.d.ts +19 -0
- package/dist/src/steps/add-mcp-server-to-clients/index.js +110 -0
- package/dist/src/steps/add-or-update-environment-variables.d.ts +10 -0
- package/dist/src/steps/add-or-update-environment-variables.js +188 -0
- package/dist/src/steps/index.d.ts +4 -0
- package/dist/src/steps/index.js +20 -0
- package/dist/src/steps/run-prettier.d.ts +5 -0
- package/dist/src/steps/run-prettier.js +90 -0
- package/dist/src/steps/upload-environment-variables/EnvironmentProvider.d.ts +11 -0
- package/dist/src/steps/upload-environment-variables/EnvironmentProvider.js +11 -0
- package/dist/src/steps/upload-environment-variables/index.d.ts +6 -0
- package/dist/src/steps/upload-environment-variables/index.js +37 -0
- package/dist/src/steps/upload-environment-variables/providers/vercel.d.ts +15 -0
- package/dist/src/steps/upload-environment-variables/providers/vercel.js +145 -0
- package/dist/src/telemetry.d.ts +2 -0
- package/dist/src/telemetry.js +12 -0
- package/dist/src/ui/index.d.ts +8 -0
- package/dist/src/ui/index.js +16 -0
- package/dist/src/ui/logging-ui.d.ts +56 -0
- package/dist/src/ui/logging-ui.js +157 -0
- package/dist/src/ui/tui/App.d.ts +6 -0
- package/dist/src/ui/tui/App.js +34 -0
- package/dist/src/ui/tui/components/AmplitudeLogo.d.ts +5 -0
- package/dist/src/ui/tui/components/AmplitudeLogo.js +81 -0
- package/dist/src/ui/tui/components/AmplitudeTextLogo.d.ts +3 -0
- package/dist/src/ui/tui/components/AmplitudeTextLogo.js +31 -0
- package/dist/src/ui/tui/components/ConsoleView.d.ts +23 -0
- package/dist/src/ui/tui/components/ConsoleView.js +220 -0
- package/dist/src/ui/tui/components/TitleBar.d.ts +6 -0
- package/dist/src/ui/tui/components/TitleBar.js +16 -0
- package/dist/src/ui/tui/console-commands.d.ts +16 -0
- package/dist/src/ui/tui/console-commands.js +31 -0
- package/dist/src/ui/tui/context/CommandModeContext.d.ts +2 -0
- package/dist/src/ui/tui/context/CommandModeContext.js +3 -0
- package/dist/src/ui/tui/flows.d.ts +48 -0
- package/dist/src/ui/tui/flows.js +154 -0
- package/dist/src/ui/tui/hooks/useScreenInput.d.ts +13 -0
- package/dist/src/ui/tui/hooks/useScreenInput.js +18 -0
- package/dist/src/ui/tui/hooks/useStdoutDimensions.d.ts +9 -0
- package/dist/src/ui/tui/hooks/useStdoutDimensions.js +29 -0
- package/dist/src/ui/tui/ink-ui.d.ts +62 -0
- package/dist/src/ui/tui/ink-ui.js +142 -0
- package/dist/src/ui/tui/primitives/CardLayout.d.ts +12 -0
- package/dist/src/ui/tui/primitives/CardLayout.js +9 -0
- package/dist/src/ui/tui/primitives/ConfirmationInput.d.ts +13 -0
- package/dist/src/ui/tui/primitives/ConfirmationInput.js +35 -0
- package/dist/src/ui/tui/primitives/DissolveTransition.d.ts +21 -0
- package/dist/src/ui/tui/primitives/DissolveTransition.js +143 -0
- package/dist/src/ui/tui/primitives/EventPlanViewer.d.ts +9 -0
- package/dist/src/ui/tui/primitives/EventPlanViewer.js +9 -0
- package/dist/src/ui/tui/primitives/KagiSmallWebViewer.d.ts +7 -0
- package/dist/src/ui/tui/primitives/KagiSmallWebViewer.js +101 -0
- package/dist/src/ui/tui/primitives/LoadingBox.d.ts +8 -0
- package/dist/src/ui/tui/primitives/LoadingBox.js +9 -0
- package/dist/src/ui/tui/primitives/LogViewer.d.ts +11 -0
- package/dist/src/ui/tui/primitives/LogViewer.js +55 -0
- package/dist/src/ui/tui/primitives/PickerMenu.d.ts +20 -0
- package/dist/src/ui/tui/primitives/PickerMenu.js +212 -0
- package/dist/src/ui/tui/primitives/ProgressList.d.ts +15 -0
- package/dist/src/ui/tui/primitives/ProgressList.js +29 -0
- package/dist/src/ui/tui/primitives/PromptLabel.d.ts +11 -0
- package/dist/src/ui/tui/primitives/PromptLabel.js +12 -0
- package/dist/src/ui/tui/primitives/ReportViewer.d.ts +12 -0
- package/dist/src/ui/tui/primitives/ReportViewer.js +99 -0
- package/dist/src/ui/tui/primitives/ScreenErrorBoundary.d.ts +26 -0
- package/dist/src/ui/tui/primitives/ScreenErrorBoundary.js +29 -0
- package/dist/src/ui/tui/primitives/SlashCommandInput.d.ts +21 -0
- package/dist/src/ui/tui/primitives/SlashCommandInput.js +85 -0
- package/dist/src/ui/tui/primitives/SnakeGame.d.ts +1 -0
- package/dist/src/ui/tui/primitives/SnakeGame.js +1 -0
- package/dist/src/ui/tui/primitives/SplitView.d.ts +11 -0
- package/dist/src/ui/tui/primitives/SplitView.js +8 -0
- package/dist/src/ui/tui/primitives/TabContainer.d.ts +18 -0
- package/dist/src/ui/tui/primitives/TabContainer.js +30 -0
- package/dist/src/ui/tui/primitives/index.d.ts +23 -0
- package/dist/src/ui/tui/primitives/index.js +19 -0
- package/dist/src/ui/tui/router.d.ts +61 -0
- package/dist/src/ui/tui/router.js +104 -0
- package/dist/src/ui/tui/screen-registry.d.ts +19 -0
- package/dist/src/ui/tui/screen-registry.js +56 -0
- package/dist/src/ui/tui/screens/ActivationOptionsScreen.d.ts +12 -0
- package/dist/src/ui/tui/screens/ActivationOptionsScreen.js +57 -0
- package/dist/src/ui/tui/screens/AuthScreen.d.ts +18 -0
- package/dist/src/ui/tui/screens/AuthScreen.js +107 -0
- package/dist/src/ui/tui/screens/ChecklistScreen.d.ts +22 -0
- package/dist/src/ui/tui/screens/ChecklistScreen.js +122 -0
- package/dist/src/ui/tui/screens/DataIngestionCheckScreen.d.ts +24 -0
- package/dist/src/ui/tui/screens/DataIngestionCheckScreen.js +113 -0
- package/dist/src/ui/tui/screens/DataSetupScreen.d.ts +17 -0
- package/dist/src/ui/tui/screens/DataSetupScreen.js +73 -0
- package/dist/src/ui/tui/screens/IntroScreen.d.ts +16 -0
- package/dist/src/ui/tui/screens/IntroScreen.js +86 -0
- package/dist/src/ui/tui/screens/LoginScreen.d.ts +15 -0
- package/dist/src/ui/tui/screens/LoginScreen.js +65 -0
- package/dist/src/ui/tui/screens/LogoutScreen.d.ts +12 -0
- package/dist/src/ui/tui/screens/LogoutScreen.js +28 -0
- package/dist/src/ui/tui/screens/McpScreen.d.ts +26 -0
- package/dist/src/ui/tui/screens/McpScreen.js +148 -0
- package/dist/src/ui/tui/screens/OutageScreen.d.ts +10 -0
- package/dist/src/ui/tui/screens/OutageScreen.js +17 -0
- package/dist/src/ui/tui/screens/OutroScreen.d.ts +11 -0
- package/dist/src/ui/tui/screens/OutroScreen.js +69 -0
- package/dist/src/ui/tui/screens/RegionSelectScreen.d.ts +17 -0
- package/dist/src/ui/tui/screens/RegionSelectScreen.js +40 -0
- package/dist/src/ui/tui/screens/RunScreen.d.ts +16 -0
- package/dist/src/ui/tui/screens/RunScreen.js +212 -0
- package/dist/src/ui/tui/screens/SettingsOverrideScreen.d.ts +10 -0
- package/dist/src/ui/tui/screens/SettingsOverrideScreen.js +23 -0
- package/dist/src/ui/tui/screens/SetupScreen.d.ts +13 -0
- package/dist/src/ui/tui/screens/SetupScreen.js +73 -0
- package/dist/src/ui/tui/screens/SlackScreen.d.ts +25 -0
- package/dist/src/ui/tui/screens/SlackScreen.js +97 -0
- package/dist/src/ui/tui/services/mcp-installer.d.ts +25 -0
- package/dist/src/ui/tui/services/mcp-installer.js +82 -0
- package/dist/src/ui/tui/start-tui.d.ts +10 -0
- package/dist/src/ui/tui/start-tui.js +50 -0
- package/dist/src/ui/tui/store.d.ts +231 -0
- package/dist/src/ui/tui/store.js +568 -0
- package/dist/src/ui/tui/styles.d.ts +31 -0
- package/dist/src/ui/tui/styles.js +33 -0
- package/dist/src/ui/wizard-ui.d.ts +110 -0
- package/dist/src/ui/wizard-ui.js +18 -0
- package/dist/src/utils/ampli-settings.d.ts +37 -0
- package/dist/src/utils/ampli-settings.js +182 -0
- package/dist/src/utils/analytics.d.ts +35 -0
- package/dist/src/utils/analytics.js +133 -0
- package/dist/src/utils/anthropic-status.d.ts +17 -0
- package/dist/src/utils/anthropic-status.js +51 -0
- package/dist/src/utils/api-key-store.d.ts +35 -0
- package/dist/src/utils/api-key-store.js +176 -0
- package/dist/src/utils/bash.d.ts +2 -0
- package/dist/src/utils/bash.js +53 -0
- package/dist/src/utils/custom-headers.d.ts +9 -0
- package/dist/src/utils/custom-headers.js +23 -0
- package/dist/src/utils/debug.d.ts +23 -0
- package/dist/src/utils/debug.js +86 -0
- package/dist/src/utils/environment.d.ts +4 -0
- package/dist/src/utils/environment.js +76 -0
- package/dist/src/utils/file-utils.d.ts +2 -0
- package/dist/src/utils/file-utils.js +16 -0
- package/dist/src/utils/get-api-key.d.ts +17 -0
- package/dist/src/utils/get-api-key.js +50 -0
- package/dist/src/utils/logging.d.ts +9 -0
- package/dist/src/utils/logging.js +48 -0
- package/dist/src/utils/oauth.d.ts +53 -0
- package/dist/src/utils/oauth.js +354 -0
- package/dist/src/utils/package-json.d.ts +25 -0
- package/dist/src/utils/package-json.js +26 -0
- package/dist/src/utils/package-manager.d.ts +21 -0
- package/dist/src/utils/package-manager.js +208 -0
- package/dist/src/utils/semver.d.ts +21 -0
- package/dist/src/utils/semver.js +61 -0
- package/dist/src/utils/setup-utils.d.ts +82 -0
- package/dist/src/utils/setup-utils.js +467 -0
- package/dist/src/utils/shell-completions.d.ts +10 -0
- package/dist/src/utils/shell-completions.js +199 -0
- package/dist/src/utils/string.d.ts +1 -0
- package/dist/src/utils/string.js +8 -0
- package/dist/src/utils/types.d.ts +72 -0
- package/dist/src/utils/types.js +2 -0
- package/dist/src/utils/urls.d.ts +14 -0
- package/dist/src/utils/urls.js +69 -0
- package/dist/src/utils/vendor/is-unicorn-supported.d.ts +1 -0
- package/dist/src/utils/vendor/is-unicorn-supported.js +23 -0
- package/dist/src/utils/wizard-abort.d.ts +13 -0
- package/dist/src/utils/wizard-abort.js +56 -0
- package/man/amplitude-wizard.1 +170 -0
- package/package.json +144 -0
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LINTING_TOOLS = void 0;
|
|
4
|
+
exports.LINTING_TOOLS = [
|
|
5
|
+
// All (general purpose)
|
|
6
|
+
'codespell',
|
|
7
|
+
'cspell',
|
|
8
|
+
'git-diff-check',
|
|
9
|
+
'gitleaks',
|
|
10
|
+
'trufflehog',
|
|
11
|
+
// Amazon States Language
|
|
12
|
+
'asl-validator',
|
|
13
|
+
// Ansible
|
|
14
|
+
'ansible-lint',
|
|
15
|
+
// Apex, Java
|
|
16
|
+
'pmd',
|
|
17
|
+
// Astro, CSS, GraphQL, GritQL, HTML, JavaScript, JSON, JSONC, JSON5, JSX, TSX, Svelte, TypeScript, Vue
|
|
18
|
+
'biome',
|
|
19
|
+
// AWS CloudFormation templates
|
|
20
|
+
'cfn-lint',
|
|
21
|
+
'cfnlint',
|
|
22
|
+
// AWS CloudFormation, Azure ARM, Dockerfile, Helm, Kubernetes, Security, Terraform
|
|
23
|
+
'checkov',
|
|
24
|
+
// AWS CloudFormation, Azure ARM, Dockerfile, Kubernetes, Secrets, Security, Terraform, Vulnerabilities
|
|
25
|
+
'trivy',
|
|
26
|
+
// Azure Resource Manager (ARM)
|
|
27
|
+
'test-aztemplate',
|
|
28
|
+
// Bash / Shell
|
|
29
|
+
'shellcheck',
|
|
30
|
+
'shfmt',
|
|
31
|
+
// Bazel, Starlark
|
|
32
|
+
'buildifier',
|
|
33
|
+
// C, C++
|
|
34
|
+
'cpplint',
|
|
35
|
+
'clang-format',
|
|
36
|
+
'clang-tidy',
|
|
37
|
+
'cmake-format',
|
|
38
|
+
'iwyu',
|
|
39
|
+
'pragma-once',
|
|
40
|
+
// C#, Dotnet (.NET)
|
|
41
|
+
'dotnet-format',
|
|
42
|
+
// CircleCI Config
|
|
43
|
+
'circleci',
|
|
44
|
+
// Clojure
|
|
45
|
+
'clj-kondo',
|
|
46
|
+
// CoffeeScript
|
|
47
|
+
'coffeelint',
|
|
48
|
+
// Commit messages
|
|
49
|
+
'commitlint',
|
|
50
|
+
// Copy/paste detection
|
|
51
|
+
'jscpd',
|
|
52
|
+
// CSS, SCSS, Sass
|
|
53
|
+
'stylelint',
|
|
54
|
+
// CSS, GraphQL, HTML, JavaScript, JSON, JSONC, JSON5, JSX, TSX, Markdown, TypeScript, Vue, YAML
|
|
55
|
+
'prettier',
|
|
56
|
+
// Cue
|
|
57
|
+
'cue-fmt',
|
|
58
|
+
// Dart
|
|
59
|
+
'dart',
|
|
60
|
+
// Dockerfile / Docker
|
|
61
|
+
'hadolint',
|
|
62
|
+
// Dotenv
|
|
63
|
+
'dotenv-linter',
|
|
64
|
+
// EditorConfig
|
|
65
|
+
'editorconfig-checker',
|
|
66
|
+
// GitHub Actions
|
|
67
|
+
'actionlint',
|
|
68
|
+
'zizmor',
|
|
69
|
+
// Go
|
|
70
|
+
'gofmt',
|
|
71
|
+
'gofumpt',
|
|
72
|
+
'goimports',
|
|
73
|
+
'gokart',
|
|
74
|
+
'golangci-lint',
|
|
75
|
+
'golines',
|
|
76
|
+
// Go, Java, JavaScript, JSON, Python, Ruby, TypeScript, YAML
|
|
77
|
+
'semgrep',
|
|
78
|
+
// GoReleaser
|
|
79
|
+
'goreleaser',
|
|
80
|
+
// GraphQL
|
|
81
|
+
'graphql-schema-linter',
|
|
82
|
+
// Groovy
|
|
83
|
+
'npm-groovy-lint',
|
|
84
|
+
// HAML
|
|
85
|
+
'haml-lint',
|
|
86
|
+
// HTML
|
|
87
|
+
'htmlhint',
|
|
88
|
+
// HTML Templates
|
|
89
|
+
'djlint',
|
|
90
|
+
// Java
|
|
91
|
+
'checkstyle',
|
|
92
|
+
'google-java-format',
|
|
93
|
+
// JavaScript, JSON, TypeScript
|
|
94
|
+
'eslint',
|
|
95
|
+
// Next.js
|
|
96
|
+
'next lint',
|
|
97
|
+
// JavaScript, JSON, Markdown, TypeScript
|
|
98
|
+
'deno',
|
|
99
|
+
// JavaScript, TypeScript
|
|
100
|
+
'rome',
|
|
101
|
+
// JSON, JSONC, JSON5
|
|
102
|
+
'eslint-plugin-jsonc',
|
|
103
|
+
'eslint-plugin-json',
|
|
104
|
+
// JSX, TSX
|
|
105
|
+
'eslint-plugin-jsx-a11y',
|
|
106
|
+
'eslint-plugin-react',
|
|
107
|
+
// Jupyter Notebook
|
|
108
|
+
'nbqa',
|
|
109
|
+
// Kotlin
|
|
110
|
+
'detekt',
|
|
111
|
+
'ktlint',
|
|
112
|
+
// Kubernetes
|
|
113
|
+
'kubeconform',
|
|
114
|
+
'kube-linter',
|
|
115
|
+
// LaTeX
|
|
116
|
+
'chktex',
|
|
117
|
+
// Lua
|
|
118
|
+
'luacheck',
|
|
119
|
+
'stylua',
|
|
120
|
+
// Markdown
|
|
121
|
+
'markdownlint',
|
|
122
|
+
'markdownlint-cli2',
|
|
123
|
+
'markdown-link-check',
|
|
124
|
+
'markdown-table-prettify',
|
|
125
|
+
'remark-lint',
|
|
126
|
+
// Natural language / Prose
|
|
127
|
+
'textlint',
|
|
128
|
+
'vale',
|
|
129
|
+
// Nix
|
|
130
|
+
'nixpkgs-fmt',
|
|
131
|
+
// OpenAPI
|
|
132
|
+
'spectral',
|
|
133
|
+
// package.json
|
|
134
|
+
'sort-package-json',
|
|
135
|
+
// Perl
|
|
136
|
+
'perlcritic',
|
|
137
|
+
'perltidy',
|
|
138
|
+
// PHP
|
|
139
|
+
'php-cs-fixer',
|
|
140
|
+
'phpcs',
|
|
141
|
+
'phpstan',
|
|
142
|
+
'psalm',
|
|
143
|
+
// PNG
|
|
144
|
+
'oxipng',
|
|
145
|
+
// PowerShell
|
|
146
|
+
'psscriptanalyzer',
|
|
147
|
+
// Prisma
|
|
148
|
+
'prisma',
|
|
149
|
+
// Protocol Buffers (Protobuf)
|
|
150
|
+
'protolint',
|
|
151
|
+
'buf',
|
|
152
|
+
// Python
|
|
153
|
+
'pylint',
|
|
154
|
+
'flake8',
|
|
155
|
+
'isort',
|
|
156
|
+
'ruff',
|
|
157
|
+
'black',
|
|
158
|
+
'autopep8',
|
|
159
|
+
'bandit',
|
|
160
|
+
'mypy',
|
|
161
|
+
'pyright',
|
|
162
|
+
'sourcery',
|
|
163
|
+
'yapf',
|
|
164
|
+
// R
|
|
165
|
+
'lintr',
|
|
166
|
+
// Rego
|
|
167
|
+
'opa',
|
|
168
|
+
'regal',
|
|
169
|
+
// Ruby
|
|
170
|
+
'rubocop',
|
|
171
|
+
'brakeman',
|
|
172
|
+
'rufo',
|
|
173
|
+
'standardrb',
|
|
174
|
+
// Rust
|
|
175
|
+
'clippy',
|
|
176
|
+
'rustfmt',
|
|
177
|
+
// Scala
|
|
178
|
+
'scalafmt',
|
|
179
|
+
// Security, Vulnerabilities
|
|
180
|
+
'osv-scanner',
|
|
181
|
+
// Security, Terraform
|
|
182
|
+
'terrascan',
|
|
183
|
+
'tfsec',
|
|
184
|
+
// Snakemake
|
|
185
|
+
'snakemake --lint',
|
|
186
|
+
'snakefmt',
|
|
187
|
+
// SQL
|
|
188
|
+
'sqlfluff',
|
|
189
|
+
'sql-formatter',
|
|
190
|
+
'sqlfmt',
|
|
191
|
+
'squawk',
|
|
192
|
+
// SVG
|
|
193
|
+
'svgo',
|
|
194
|
+
// Swift
|
|
195
|
+
'stringslint',
|
|
196
|
+
'swiftformat',
|
|
197
|
+
'swiftlint',
|
|
198
|
+
// Terraform
|
|
199
|
+
'tflint',
|
|
200
|
+
'terraform',
|
|
201
|
+
'tofu',
|
|
202
|
+
// Terragrunt
|
|
203
|
+
'terragrunt',
|
|
204
|
+
// Textproto
|
|
205
|
+
'txtpbfmt',
|
|
206
|
+
// TOML
|
|
207
|
+
'taplo',
|
|
208
|
+
// Vue
|
|
209
|
+
'eslint-plugin-vue',
|
|
210
|
+
// XML
|
|
211
|
+
'xmllint',
|
|
212
|
+
// YAML
|
|
213
|
+
'yamllint',
|
|
214
|
+
];
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WizardSession — single source of truth for every decision the wizard needs.
|
|
3
|
+
*
|
|
4
|
+
* Populated in layers:
|
|
5
|
+
* CLI args / env vars → populate fields directly
|
|
6
|
+
* Auto-detection → framework, typescript, package manager
|
|
7
|
+
* TUI screens → region, framework disambiguation, etc.
|
|
8
|
+
* OAuth → credentials
|
|
9
|
+
*
|
|
10
|
+
* Business logic reads from the session. Never calls a prompt.
|
|
11
|
+
*/
|
|
12
|
+
import type { Integration } from './constants';
|
|
13
|
+
import type { FrameworkConfig } from './framework-config';
|
|
14
|
+
export type CloudRegion = 'us' | 'eu';
|
|
15
|
+
/** Lifecycle phase of the main work (agent run, MCP install, etc.) */
|
|
16
|
+
export declare const RunPhase: {
|
|
17
|
+
/** Still gathering input (intro, setup screens) */
|
|
18
|
+
readonly Idle: "idle";
|
|
19
|
+
/** Main work is in progress */
|
|
20
|
+
readonly Running: "running";
|
|
21
|
+
/** Main work finished successfully */
|
|
22
|
+
readonly Completed: "completed";
|
|
23
|
+
/** Main work finished with an error */
|
|
24
|
+
readonly Error: "error";
|
|
25
|
+
};
|
|
26
|
+
export type RunPhase = (typeof RunPhase)[keyof typeof RunPhase];
|
|
27
|
+
/** Features discovered by the feature-discovery subagent */
|
|
28
|
+
export declare const DiscoveredFeature: {
|
|
29
|
+
readonly Stripe: "stripe";
|
|
30
|
+
readonly LLM: "llm";
|
|
31
|
+
};
|
|
32
|
+
export type DiscoveredFeature = (typeof DiscoveredFeature)[keyof typeof DiscoveredFeature];
|
|
33
|
+
/** Additional features the agent can integrate after the main setup */
|
|
34
|
+
export declare const AdditionalFeature: {
|
|
35
|
+
readonly LLM: "llm";
|
|
36
|
+
};
|
|
37
|
+
export type AdditionalFeature = (typeof AdditionalFeature)[keyof typeof AdditionalFeature];
|
|
38
|
+
/** Human-readable labels for additional features (used in TUI progress) */
|
|
39
|
+
export declare const ADDITIONAL_FEATURE_LABELS: Record<AdditionalFeature, string>;
|
|
40
|
+
/** Agent prompts for each additional feature, injected via the stop hook */
|
|
41
|
+
export declare const ADDITIONAL_FEATURE_PROMPTS: Record<AdditionalFeature, string>;
|
|
42
|
+
/** Outcome of the MCP server installation step */
|
|
43
|
+
export declare const McpOutcome: {
|
|
44
|
+
readonly NoClients: "no_clients";
|
|
45
|
+
readonly Skipped: "skipped";
|
|
46
|
+
readonly Installed: "installed";
|
|
47
|
+
readonly Failed: "failed";
|
|
48
|
+
};
|
|
49
|
+
export type McpOutcome = (typeof McpOutcome)[keyof typeof McpOutcome];
|
|
50
|
+
/** Outcome of the Slack integration setup step */
|
|
51
|
+
export declare const SlackOutcome: {
|
|
52
|
+
readonly Skipped: "skipped";
|
|
53
|
+
readonly Configured: "configured";
|
|
54
|
+
};
|
|
55
|
+
export type SlackOutcome = (typeof SlackOutcome)[keyof typeof SlackOutcome];
|
|
56
|
+
/** Outcome kind for the outro screen */
|
|
57
|
+
export declare const OutroKind: {
|
|
58
|
+
readonly Success: "success";
|
|
59
|
+
readonly Error: "error";
|
|
60
|
+
readonly Cancel: "cancel";
|
|
61
|
+
};
|
|
62
|
+
export type OutroKind = (typeof OutroKind)[keyof typeof OutroKind];
|
|
63
|
+
export interface OutroData {
|
|
64
|
+
kind: OutroKind;
|
|
65
|
+
message?: string;
|
|
66
|
+
changes?: string[];
|
|
67
|
+
docsUrl?: string;
|
|
68
|
+
continueUrl?: string;
|
|
69
|
+
promptLogin?: boolean;
|
|
70
|
+
canRestart?: boolean;
|
|
71
|
+
}
|
|
72
|
+
export interface WizardSession {
|
|
73
|
+
debug: boolean;
|
|
74
|
+
verbose: boolean;
|
|
75
|
+
forceInstall: boolean;
|
|
76
|
+
installDir: string;
|
|
77
|
+
ci: boolean;
|
|
78
|
+
signup: boolean;
|
|
79
|
+
localMcp: boolean;
|
|
80
|
+
apiKey?: string;
|
|
81
|
+
menu: boolean;
|
|
82
|
+
benchmark: boolean;
|
|
83
|
+
projectId?: number;
|
|
84
|
+
setupConfirmed: boolean;
|
|
85
|
+
integration: Integration | null;
|
|
86
|
+
frameworkContext: Record<string, unknown>;
|
|
87
|
+
typescript: boolean;
|
|
88
|
+
/** Human-readable label for the detected framework variant (e.g., "Django with Wagtail CMS") */
|
|
89
|
+
detectedFrameworkLabel: string | null;
|
|
90
|
+
/** True once framework detection has run (whether it found something or not) */
|
|
91
|
+
detectionComplete: boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Whether the currently selected project has existing event data.
|
|
94
|
+
* null = not yet checked (shown as DataSetup screen)
|
|
95
|
+
* false = no data → route to Framework Detection
|
|
96
|
+
* true = has data → route to Options menu
|
|
97
|
+
*/
|
|
98
|
+
projectHasData: boolean | null;
|
|
99
|
+
/**
|
|
100
|
+
* Activation level determined by the API check.
|
|
101
|
+
* null = not yet checked
|
|
102
|
+
* 'none' = 0 events, snippet not configured → Framework Detection
|
|
103
|
+
* 'partial' = 1–49 events or snippet installed but limited events → ActivationOptions
|
|
104
|
+
* 'full' = well-established data (50+ events) → Options
|
|
105
|
+
*/
|
|
106
|
+
activationLevel: 'none' | 'partial' | 'full' | null;
|
|
107
|
+
/** True once the user has responded to the ActivationOptions screen. */
|
|
108
|
+
activationOptionsComplete: boolean;
|
|
109
|
+
/** Whether the SDK snippet is installed in the project (set by DataSetupScreen). */
|
|
110
|
+
snippetConfigured: boolean;
|
|
111
|
+
/**
|
|
112
|
+
* Amplitude data-center region chosen by the user.
|
|
113
|
+
* null = not yet selected (shown as RegionSelect screen)
|
|
114
|
+
* 'us' = US region (api.amplitude.com)
|
|
115
|
+
* 'eu' = EU region (api.eu.amplitude.com)
|
|
116
|
+
*/
|
|
117
|
+
region: CloudRegion | null;
|
|
118
|
+
/**
|
|
119
|
+
* True when the /region slash command forces RegionSelect to re-appear.
|
|
120
|
+
* Cleared once the user picks a region. After re-selection, projectHasData
|
|
121
|
+
* is reset to null so the data setup step re-runs for the new region.
|
|
122
|
+
*/
|
|
123
|
+
regionForced: boolean;
|
|
124
|
+
/**
|
|
125
|
+
* Orgs available after OAuth completes, before the user selects one.
|
|
126
|
+
* null = OAuth not yet done (AuthScreen shows spinner)
|
|
127
|
+
* [...] = OAuth done, AuthScreen showing org/workspace/key selection
|
|
128
|
+
*/
|
|
129
|
+
pendingOrgs: Array<{
|
|
130
|
+
id: string;
|
|
131
|
+
name: string;
|
|
132
|
+
workspaces: Array<{
|
|
133
|
+
id: string;
|
|
134
|
+
name: string;
|
|
135
|
+
}>;
|
|
136
|
+
}> | null;
|
|
137
|
+
/** OAuth id_token held during SUSI account-setup steps. */
|
|
138
|
+
pendingAuthIdToken: string | null;
|
|
139
|
+
/** OAuth access_token held during SUSI — used for Hydra-validated proxy auth. */
|
|
140
|
+
pendingAuthAccessToken: string | null;
|
|
141
|
+
/** Cloud region detected from the OAuth token. Drives RegionSelect auto-skip. */
|
|
142
|
+
pendingAuthCloudRegion: CloudRegion | null;
|
|
143
|
+
/** Org selected during SUSI (written to ampli.json). */
|
|
144
|
+
selectedOrgId: string | null;
|
|
145
|
+
selectedOrgName: string | null;
|
|
146
|
+
/** Workspace selected during SUSI (written to ampli.json). */
|
|
147
|
+
selectedWorkspaceId: string | null;
|
|
148
|
+
selectedWorkspaceName: string | null;
|
|
149
|
+
/**
|
|
150
|
+
* Notice shown on the API key entry step of AuthScreen.
|
|
151
|
+
* Set when auto-fetch fails (e.g. user is not an org admin) so the user
|
|
152
|
+
* understands why manual entry is required.
|
|
153
|
+
*/
|
|
154
|
+
apiKeyNotice: string | null;
|
|
155
|
+
credentials: {
|
|
156
|
+
accessToken: string;
|
|
157
|
+
/** id_token from OAuth — used for Amplitude Data API / Thunder calls */
|
|
158
|
+
idToken?: string;
|
|
159
|
+
projectApiKey: string;
|
|
160
|
+
host: string;
|
|
161
|
+
projectId: number;
|
|
162
|
+
} | null;
|
|
163
|
+
runPhase: RunPhase;
|
|
164
|
+
loginUrl: string | null;
|
|
165
|
+
discoveredFeatures: DiscoveredFeature[];
|
|
166
|
+
llmOptIn: boolean;
|
|
167
|
+
/** True once the user has clicked Continue on the IntroScreen. */
|
|
168
|
+
introConcluded: boolean;
|
|
169
|
+
mcpComplete: boolean;
|
|
170
|
+
mcpOutcome: McpOutcome | null;
|
|
171
|
+
mcpInstalledClients: string[];
|
|
172
|
+
slackComplete: boolean;
|
|
173
|
+
slackOutcome: SlackOutcome | null;
|
|
174
|
+
serviceStatus: {
|
|
175
|
+
description: string;
|
|
176
|
+
statusPageUrl: string;
|
|
177
|
+
} | null;
|
|
178
|
+
settingsOverrideKeys: string[] | null;
|
|
179
|
+
outroData: OutroData | null;
|
|
180
|
+
additionalFeatureQueue: AdditionalFeature[];
|
|
181
|
+
frameworkConfig: FrameworkConfig | null;
|
|
182
|
+
/**
|
|
183
|
+
* True when the agent run was skipped because Amplitude was already
|
|
184
|
+
* detected in the project via static analysis. Set in bin.ts before
|
|
185
|
+
* runPhase is set to Completed.
|
|
186
|
+
*/
|
|
187
|
+
amplitudePreDetected: boolean;
|
|
188
|
+
/**
|
|
189
|
+
* True once the activation check confirms events are flowing into the project.
|
|
190
|
+
* Set immediately if activationLevel is already 'full', otherwise set after
|
|
191
|
+
* the DataIngestionCheckScreen detects events via the API.
|
|
192
|
+
*/
|
|
193
|
+
dataIngestionConfirmed: boolean;
|
|
194
|
+
/** Checklist item: whether the user's first chart has been created. */
|
|
195
|
+
checklistChartComplete: boolean;
|
|
196
|
+
/** Checklist item: whether the user's first dashboard has been created. */
|
|
197
|
+
checklistDashboardComplete: boolean;
|
|
198
|
+
/**
|
|
199
|
+
* True once the user has dismissed the checklist (either all items done,
|
|
200
|
+
* or they chose to continue without completing everything).
|
|
201
|
+
*/
|
|
202
|
+
checklistComplete: boolean;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Build a WizardSession from CLI args, pre-populating whatever is known.
|
|
206
|
+
*/
|
|
207
|
+
export declare function buildSession(args: {
|
|
208
|
+
debug?: boolean;
|
|
209
|
+
verbose?: boolean;
|
|
210
|
+
forceInstall?: boolean;
|
|
211
|
+
installDir?: string;
|
|
212
|
+
ci?: boolean;
|
|
213
|
+
signup?: boolean;
|
|
214
|
+
localMcp?: boolean;
|
|
215
|
+
apiKey?: string;
|
|
216
|
+
menu?: boolean;
|
|
217
|
+
integration?: Integration;
|
|
218
|
+
benchmark?: boolean;
|
|
219
|
+
projectId?: string;
|
|
220
|
+
}): WizardSession;
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* WizardSession — single source of truth for every decision the wizard needs.
|
|
4
|
+
*
|
|
5
|
+
* Populated in layers:
|
|
6
|
+
* CLI args / env vars → populate fields directly
|
|
7
|
+
* Auto-detection → framework, typescript, package manager
|
|
8
|
+
* TUI screens → region, framework disambiguation, etc.
|
|
9
|
+
* OAuth → credentials
|
|
10
|
+
*
|
|
11
|
+
* Business logic reads from the session. Never calls a prompt.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.OutroKind = exports.SlackOutcome = exports.McpOutcome = exports.ADDITIONAL_FEATURE_PROMPTS = exports.ADDITIONAL_FEATURE_LABELS = exports.AdditionalFeature = exports.DiscoveredFeature = exports.RunPhase = void 0;
|
|
15
|
+
exports.buildSession = buildSession;
|
|
16
|
+
function parseProjectIdArg(value) {
|
|
17
|
+
if (value === undefined || value === '')
|
|
18
|
+
return undefined;
|
|
19
|
+
const n = Number(value);
|
|
20
|
+
return Number.isInteger(n) && n > 0 ? n : undefined;
|
|
21
|
+
}
|
|
22
|
+
/** Lifecycle phase of the main work (agent run, MCP install, etc.) */
|
|
23
|
+
exports.RunPhase = {
|
|
24
|
+
/** Still gathering input (intro, setup screens) */
|
|
25
|
+
Idle: 'idle',
|
|
26
|
+
/** Main work is in progress */
|
|
27
|
+
Running: 'running',
|
|
28
|
+
/** Main work finished successfully */
|
|
29
|
+
Completed: 'completed',
|
|
30
|
+
/** Main work finished with an error */
|
|
31
|
+
Error: 'error',
|
|
32
|
+
};
|
|
33
|
+
/** Features discovered by the feature-discovery subagent */
|
|
34
|
+
exports.DiscoveredFeature = {
|
|
35
|
+
Stripe: 'stripe',
|
|
36
|
+
LLM: 'llm',
|
|
37
|
+
};
|
|
38
|
+
/** Additional features the agent can integrate after the main setup */
|
|
39
|
+
exports.AdditionalFeature = {
|
|
40
|
+
LLM: 'llm',
|
|
41
|
+
};
|
|
42
|
+
/** Human-readable labels for additional features (used in TUI progress) */
|
|
43
|
+
exports.ADDITIONAL_FEATURE_LABELS = {
|
|
44
|
+
[exports.AdditionalFeature.LLM]: 'LLM analytics',
|
|
45
|
+
};
|
|
46
|
+
/** Agent prompts for each additional feature, injected via the stop hook */
|
|
47
|
+
exports.ADDITIONAL_FEATURE_PROMPTS = {
|
|
48
|
+
[exports.AdditionalFeature.LLM]: `Now integrate LLM analytics with Amplitude. Use the Amplitude MCP server to find the appropriate LLM analytics skill, install it, and follow its workflow. Amplitude basics are already installed. Update the setup report markdown file when complete with additions from this task. `,
|
|
49
|
+
};
|
|
50
|
+
/** Outcome of the MCP server installation step */
|
|
51
|
+
exports.McpOutcome = {
|
|
52
|
+
NoClients: 'no_clients',
|
|
53
|
+
Skipped: 'skipped',
|
|
54
|
+
Installed: 'installed',
|
|
55
|
+
Failed: 'failed',
|
|
56
|
+
};
|
|
57
|
+
/** Outcome of the Slack integration setup step */
|
|
58
|
+
exports.SlackOutcome = {
|
|
59
|
+
Skipped: 'skipped',
|
|
60
|
+
Configured: 'configured',
|
|
61
|
+
};
|
|
62
|
+
/** Outcome kind for the outro screen */
|
|
63
|
+
exports.OutroKind = {
|
|
64
|
+
Success: 'success',
|
|
65
|
+
Error: 'error',
|
|
66
|
+
Cancel: 'cancel',
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Build a WizardSession from CLI args, pre-populating whatever is known.
|
|
70
|
+
*/
|
|
71
|
+
function buildSession(args) {
|
|
72
|
+
return {
|
|
73
|
+
debug: args.debug ?? false,
|
|
74
|
+
verbose: args.verbose ?? false,
|
|
75
|
+
forceInstall: args.forceInstall ?? false,
|
|
76
|
+
installDir: args.installDir ?? process.cwd(),
|
|
77
|
+
ci: args.ci ?? false,
|
|
78
|
+
signup: args.signup ?? false,
|
|
79
|
+
localMcp: args.localMcp ?? false,
|
|
80
|
+
apiKey: args.apiKey,
|
|
81
|
+
menu: args.menu ?? false,
|
|
82
|
+
benchmark: args.benchmark ?? false,
|
|
83
|
+
projectId: parseProjectIdArg(args.projectId),
|
|
84
|
+
setupConfirmed: false,
|
|
85
|
+
integration: args.integration ?? null,
|
|
86
|
+
frameworkContext: {},
|
|
87
|
+
typescript: false,
|
|
88
|
+
detectedFrameworkLabel: null,
|
|
89
|
+
detectionComplete: false,
|
|
90
|
+
projectHasData: null,
|
|
91
|
+
activationLevel: null,
|
|
92
|
+
activationOptionsComplete: false,
|
|
93
|
+
snippetConfigured: false,
|
|
94
|
+
region: null,
|
|
95
|
+
regionForced: false,
|
|
96
|
+
runPhase: exports.RunPhase.Idle,
|
|
97
|
+
discoveredFeatures: [],
|
|
98
|
+
llmOptIn: false,
|
|
99
|
+
mcpComplete: false,
|
|
100
|
+
mcpOutcome: null,
|
|
101
|
+
mcpInstalledClients: [],
|
|
102
|
+
slackComplete: false,
|
|
103
|
+
slackOutcome: null,
|
|
104
|
+
pendingOrgs: null,
|
|
105
|
+
pendingAuthIdToken: null,
|
|
106
|
+
pendingAuthAccessToken: null,
|
|
107
|
+
pendingAuthCloudRegion: null,
|
|
108
|
+
selectedOrgId: null,
|
|
109
|
+
selectedOrgName: null,
|
|
110
|
+
selectedWorkspaceId: null,
|
|
111
|
+
selectedWorkspaceName: null,
|
|
112
|
+
loginUrl: null,
|
|
113
|
+
credentials: null,
|
|
114
|
+
apiKeyNotice: null,
|
|
115
|
+
serviceStatus: null,
|
|
116
|
+
settingsOverrideKeys: null,
|
|
117
|
+
outroData: null,
|
|
118
|
+
introConcluded: false,
|
|
119
|
+
additionalFeatureQueue: [],
|
|
120
|
+
frameworkConfig: null,
|
|
121
|
+
amplitudePreDetected: false,
|
|
122
|
+
dataIngestionConfirmed: false,
|
|
123
|
+
checklistChartComplete: false,
|
|
124
|
+
checklistDashboardComplete: false,
|
|
125
|
+
checklistComplete: false,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified in-process MCP server for the Amplitude wizard.
|
|
3
|
+
*
|
|
4
|
+
* Provides tools that run locally (secret values never leave the machine):
|
|
5
|
+
* - check_env_keys: Check which env var keys exist in a .env file
|
|
6
|
+
* - set_env_values: Create/update env vars in a .env file
|
|
7
|
+
* - detect_package_manager: Detect the project's package manager(s)
|
|
8
|
+
*/
|
|
9
|
+
import type { PackageManagerDetector } from './package-manager-detection';
|
|
10
|
+
export type SkillEntry = {
|
|
11
|
+
id: string;
|
|
12
|
+
name: string;
|
|
13
|
+
downloadUrl: string;
|
|
14
|
+
};
|
|
15
|
+
export interface SkillMenu {
|
|
16
|
+
categories: Record<string, SkillEntry[]>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Fetch the skill menu from a remote skills server (GitHub Releases).
|
|
20
|
+
* Returns parsed data on success, `null` on failure.
|
|
21
|
+
*/
|
|
22
|
+
export declare function fetchSkillMenu(skillsBaseUrl: string): Promise<SkillMenu | null>;
|
|
23
|
+
/**
|
|
24
|
+
* Download and extract a skill from a remote URL.
|
|
25
|
+
* Installs to `<installDir>/.claude/skills/<id>/`.
|
|
26
|
+
*/
|
|
27
|
+
export declare function downloadSkill(skillEntry: SkillEntry, installDir: string): {
|
|
28
|
+
success: boolean;
|
|
29
|
+
error?: string;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Build skill menu from bundled skill directories.
|
|
33
|
+
* Scans skills/<category>/ subdirectories for folders containing SKILL.md.
|
|
34
|
+
* Each subdirectory of skills/ becomes a category (e.g. integration, instrumentation).
|
|
35
|
+
*/
|
|
36
|
+
export declare function loadBundledSkillMenu(): SkillMenu;
|
|
37
|
+
/**
|
|
38
|
+
* Install a bundled skill by copying it to the project's .claude/skills/ dir.
|
|
39
|
+
* Searches across all category subdirectories under skills/.
|
|
40
|
+
*/
|
|
41
|
+
export declare function installBundledSkill(skillId: string, installDir: string): {
|
|
42
|
+
success: boolean;
|
|
43
|
+
error?: string;
|
|
44
|
+
};
|
|
45
|
+
export interface WizardToolsOptions {
|
|
46
|
+
/** Root directory of the project being analyzed */
|
|
47
|
+
workingDirectory: string;
|
|
48
|
+
/** Framework-specific package manager detector */
|
|
49
|
+
detectPackageManager: PackageManagerDetector;
|
|
50
|
+
/**
|
|
51
|
+
* Remote skills server URL (e.g. GitHub Releases base URL).
|
|
52
|
+
* When set, skills are fetched from this URL instead of bundled files.
|
|
53
|
+
* Set via SKILLS_URL env var or pass directly.
|
|
54
|
+
* Example: https://github.com/amplitude/context-hub/releases/latest/download
|
|
55
|
+
*/
|
|
56
|
+
skillsBaseUrl?: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Resolve filePath relative to workingDirectory, rejecting path traversal.
|
|
60
|
+
*/
|
|
61
|
+
export declare function resolveEnvPath(workingDirectory: string, filePath: string): string;
|
|
62
|
+
/**
|
|
63
|
+
* Ensure the given env file basename is covered by .gitignore in the working directory.
|
|
64
|
+
* Creates .gitignore if it doesn't exist; appends the entry if missing.
|
|
65
|
+
*/
|
|
66
|
+
export declare function ensureGitignoreCoverage(workingDirectory: string, envFileName: string): void;
|
|
67
|
+
/**
|
|
68
|
+
* Parse a .env file's content and return the set of defined key names.
|
|
69
|
+
*/
|
|
70
|
+
export declare function parseEnvKeys(content: string): Set<string>;
|
|
71
|
+
/**
|
|
72
|
+
* Merge key-value pairs into existing .env content.
|
|
73
|
+
* Updates existing keys in-place, appends new keys at the end.
|
|
74
|
+
*/
|
|
75
|
+
export declare function mergeEnvValues(content: string, values: Record<string, string>): string;
|
|
76
|
+
/**
|
|
77
|
+
* Create the unified in-process MCP server with all wizard tools.
|
|
78
|
+
* Must be called asynchronously because the SDK is an ESM module loaded via dynamic import.
|
|
79
|
+
*/
|
|
80
|
+
export declare function createWizardToolsServer(options: WizardToolsOptions): Promise<unknown>;
|
|
81
|
+
/** Tool names exposed by the wizard-tools server, for use in allowedTools */
|
|
82
|
+
export declare const WIZARD_TOOL_NAMES: string[];
|