@hubspot/cli 8.2.0 → 8.2.1-experimental.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/migrate.js +8 -4
- package/api/releases.d.ts +36 -0
- package/api/releases.js +41 -0
- package/bin/cli.js +12 -6
- package/commands/account/auth.d.ts +3 -1
- package/commands/account/auth.js +25 -7
- package/commands/account/clean.js +7 -6
- package/commands/account/createOverride.js +10 -7
- package/commands/account/info.js +36 -17
- package/commands/account/link.d.ts +4 -0
- package/commands/account/link.js +87 -0
- package/commands/account/list.js +32 -76
- package/commands/account/remove.js +4 -3
- package/commands/account/removeOverride.js +11 -10
- package/commands/account/rename.js +5 -6
- package/commands/account/unlink.d.ts +4 -0
- package/commands/account/unlink.js +68 -0
- package/commands/account/use.js +75 -6
- package/commands/account.js +4 -0
- package/commands/api.d.ts +13 -0
- package/commands/api.js +161 -0
- package/commands/app/logDetails.d.ts +9 -0
- package/commands/app/logDetails.js +86 -0
- package/commands/app/logs.d.ts +13 -0
- package/commands/app/logs.js +126 -0
- package/commands/app/migrate.js +13 -13
- package/commands/app/secret/add.js +6 -7
- package/commands/app/secret/delete.js +9 -10
- package/commands/app/secret/list.js +6 -7
- package/commands/app/secret/update.js +8 -9
- package/commands/app.js +8 -1
- package/commands/auth.js +20 -16
- package/commands/cms/app/create.js +9 -5
- package/commands/cms/convertFields.js +8 -8
- package/commands/cms/delete.js +2 -3
- package/commands/cms/fetch.js +7 -7
- package/commands/cms/function/create.js +9 -5
- package/commands/cms/function/deploy.js +2 -3
- package/commands/cms/function/list.js +11 -7
- package/commands/cms/function/logs.js +17 -23
- package/commands/cms/function/server.js +16 -10
- package/commands/cms/getReactModule.js +7 -8
- package/commands/cms/lighthouseScore.js +25 -24
- package/commands/cms/lint.js +4 -5
- package/commands/cms/list.js +5 -6
- package/commands/cms/module/create.js +15 -5
- package/commands/cms/module/marketplace-validate.js +7 -8
- package/commands/cms/mv.js +2 -3
- package/commands/cms/template/create.js +10 -6
- package/commands/cms/theme/create.js +5 -5
- package/commands/cms/theme/generate-selectors.js +5 -4
- package/commands/cms/theme/marketplace-validate.js +8 -9
- package/commands/cms/theme/preview.js +24 -9
- package/commands/cms/upload.js +15 -12
- package/commands/cms/watch.js +5 -5
- package/commands/cms/webpack/create.js +5 -5
- package/commands/completion.js +3 -5
- package/commands/config/migrate.js +6 -7
- package/commands/config/set.js +29 -11
- package/commands/customObject/create.js +4 -5
- package/commands/customObject/createSchema.js +6 -8
- package/commands/customObject/deleteSchema.js +4 -5
- package/commands/customObject/fetchAllSchemas.js +2 -3
- package/commands/customObject/fetchSchema.js +2 -3
- package/commands/customObject/listSchemas.js +2 -3
- package/commands/customObject/updateSchema.js +6 -8
- package/commands/doctor.js +8 -8
- package/commands/feedback.js +6 -4
- package/commands/filemanager/fetch.js +5 -6
- package/commands/filemanager/upload.js +5 -5
- package/commands/getStarted.js +34 -38
- package/commands/hubdb/clear.js +6 -3
- package/commands/hubdb/create.js +4 -5
- package/commands/hubdb/delete.js +9 -6
- package/commands/hubdb/fetch.js +6 -3
- package/commands/hubdb/list.d.ts +1 -1
- package/commands/hubdb/list.js +23 -22
- package/commands/init.js +18 -15
- package/commands/mcp/setup.d.ts +2 -0
- package/commands/mcp/setup.js +35 -8
- package/commands/mcp/start.js +2 -3
- package/commands/open.js +4 -5
- package/commands/project/add.js +19 -13
- package/commands/project/appInstallStatus.d.ts +5 -0
- package/commands/project/appInstallStatus.js +139 -0
- package/commands/project/create.js +37 -22
- package/commands/project/delete.d.ts +7 -0
- package/commands/project/delete.js +74 -0
- package/commands/project/deploy.d.ts +2 -1
- package/commands/project/deploy.js +72 -50
- package/commands/project/dev/index.d.ts +3 -3
- package/commands/project/dev/index.js +40 -73
- package/commands/project/dev/unifiedFlow.js +81 -22
- package/commands/project/download.js +15 -12
- package/commands/project/info.d.ts +5 -0
- package/commands/project/info.js +73 -0
- package/commands/project/installApp.d.ts +8 -0
- package/commands/project/installApp.js +185 -0
- package/commands/project/installDeps.js +17 -11
- package/commands/project/lint.js +57 -19
- package/commands/project/list.d.ts +2 -2
- package/commands/project/list.js +15 -14
- package/commands/project/listBuilds.d.ts +3 -2
- package/commands/project/listBuilds.js +50 -19
- package/commands/project/logs.js +7 -10
- package/commands/project/migrate.js +30 -28
- package/commands/project/open.js +20 -13
- package/commands/project/profile/add.d.ts +2 -1
- package/commands/project/profile/add.js +42 -13
- package/commands/project/profile/delete.d.ts +1 -1
- package/commands/project/profile/delete.js +23 -15
- package/commands/project/release/create.d.ts +8 -0
- package/commands/project/release/create.js +156 -0
- package/commands/project/release/info.d.ts +7 -0
- package/commands/project/release/info.js +148 -0
- package/commands/project/release/list.d.ts +7 -0
- package/commands/project/release/list.js +119 -0
- package/commands/project/release.d.ts +3 -0
- package/commands/project/release.js +20 -0
- package/commands/project/updateDeps.js +15 -11
- package/commands/project/upload.d.ts +7 -1
- package/commands/project/upload.js +159 -35
- package/commands/project/validate.d.ts +1 -1
- package/commands/project/validate.js +23 -106
- package/commands/project/watch.js +27 -29
- package/commands/project.js +17 -4
- package/commands/sandbox/create.js +18 -45
- package/commands/sandbox/delete.js +15 -17
- package/commands/secret/addSecret.js +6 -7
- package/commands/secret/deleteSecret.js +5 -6
- package/commands/secret/listSecret.js +2 -3
- package/commands/secret/updateSecret.js +4 -5
- package/commands/testAccount/create.d.ts +3 -2
- package/commands/testAccount/create.js +30 -22
- package/commands/testAccount/createConfig.js +7 -8
- package/commands/testAccount/delete.js +27 -18
- package/commands/testAccount/importData.d.ts +1 -1
- package/commands/testAccount/importData.js +6 -7
- package/commands/upgrade.js +11 -10
- package/lang/en.d.ts +573 -54
- package/lang/en.js +614 -79
- package/lib/CLIWebSocketServer.d.ts +5 -3
- package/lib/CLIWebSocketServer.js +31 -4
- package/lib/accountAuth.d.ts +3 -1
- package/lib/accountAuth.js +47 -17
- package/lib/accountTargetDiscovery.d.ts +15 -0
- package/lib/accountTargetDiscovery.js +175 -0
- package/lib/api/usageTracking.d.ts +30 -0
- package/lib/api/usageTracking.js +11 -0
- package/lib/app/install.d.ts +22 -0
- package/lib/app/install.js +42 -0
- package/lib/app/logs.d.ts +38 -0
- package/lib/app/logs.js +225 -0
- package/lib/app/migrate.js +23 -12
- package/lib/app/urls.d.ts +2 -0
- package/lib/app/urls.js +7 -1
- package/lib/auth/awaitPersonalAccessKeyOverWebsocket.d.ts +4 -0
- package/lib/auth/awaitPersonalAccessKeyOverWebsocket.js +146 -0
- package/lib/buildAccount.d.ts +1 -6
- package/lib/buildAccount.js +10 -43
- package/lib/cms/serverlessDevRuntime.d.ts +1 -0
- package/lib/cms/serverlessDevRuntime.js +72 -0
- package/lib/commonOpts.js +6 -2
- package/lib/configOptions.d.ts +10 -10
- package/lib/configOptions.js +10 -11
- package/lib/constants.d.ts +14 -3
- package/lib/constants.js +16 -3
- package/lib/dependencyManagement.js +10 -17
- package/lib/doctor/Diagnosis.js +5 -5
- package/lib/doctor/DiagnosticInfoBuilder.d.ts +2 -2
- package/lib/doctor/DiagnosticInfoBuilder.js +8 -8
- package/lib/doctor/Doctor.d.ts +1 -0
- package/lib/doctor/Doctor.js +40 -16
- package/lib/errorHandlers/index.js +4 -3
- package/lib/errorHandlers/suppressError.js +4 -0
- package/lib/errors/ProjectErrors.d.ts +0 -6
- package/lib/errors/ProjectErrors.js +0 -12
- package/lib/errors/ProjectValidationError.d.ts +2 -1
- package/lib/errors/ProjectValidationError.js +3 -1
- package/lib/errors/PromptExitError.d.ts +6 -0
- package/lib/errors/PromptExitError.js +11 -0
- package/lib/getStartedV2Actions.js +19 -22
- package/lib/hasFeature.js +1 -2
- package/lib/importData.js +3 -4
- package/lib/jsonOutput.d.ts +195 -0
- package/lib/jsonOutput.js +171 -0
- package/lib/link/accountTableUtils.d.ts +10 -0
- package/lib/link/accountTableUtils.js +39 -0
- package/lib/link/index.d.ts +18 -0
- package/lib/link/index.js +185 -0
- package/lib/link/linkUtils.d.ts +5 -0
- package/lib/link/linkUtils.js +49 -0
- package/lib/link/prompts.d.ts +7 -0
- package/lib/link/prompts.js +126 -0
- package/lib/link/renderLinkedAccountsTable.d.ts +2 -0
- package/lib/link/renderLinkedAccountsTable.js +14 -0
- package/lib/link/warnIfLinkedDirectory.d.ts +1 -0
- package/lib/link/warnIfLinkedDirectory.js +9 -0
- package/lib/links.js +6 -5
- package/lib/mcp/clients.d.ts +13 -0
- package/lib/mcp/clients.js +62 -0
- package/lib/mcp/promotion.d.ts +3 -0
- package/lib/mcp/promotion.js +109 -0
- package/lib/mcp/setup.d.ts +8 -2
- package/lib/mcp/setup.js +123 -38
- package/lib/middleware/autoUpdateMiddleware.js +6 -3
- package/lib/middleware/commandTargetingUtils.js +1 -0
- package/lib/npm/npmCli.d.ts +1 -0
- package/lib/npm/npmCli.js +13 -0
- package/lib/npm/packageJson.js +1 -1
- package/lib/process.d.ts +1 -1
- package/lib/process.js +10 -3
- package/lib/projects/ProjectLogsManager.js +7 -7
- package/lib/projects/builds.d.ts +2 -0
- package/lib/projects/builds.js +22 -0
- package/lib/projects/components.js +15 -4
- package/lib/projects/config.d.ts +6 -5
- package/lib/projects/config.js +7 -38
- package/lib/projects/create/index.js +2 -2
- package/lib/projects/create/legacy.js +2 -2
- package/lib/projects/create/v2.js +5 -5
- package/lib/projects/delete.d.ts +13 -0
- package/lib/projects/delete.js +193 -0
- package/lib/projects/deploy.d.ts +1 -1
- package/lib/projects/deploy.js +2 -2
- package/lib/projects/installApp.d.ts +58 -0
- package/lib/projects/installApp.js +283 -0
- package/lib/projects/localDev/AppDevModeInterface.d.ts +0 -3
- package/lib/projects/localDev/AppDevModeInterface.js +35 -53
- package/lib/projects/localDev/DevSessionManager.d.ts +8 -5
- package/lib/projects/localDev/DevSessionManager.js +35 -49
- package/lib/projects/localDev/LocalDevLogger.d.ts +4 -0
- package/lib/projects/localDev/LocalDevLogger.js +18 -0
- package/lib/projects/localDev/LocalDevProcess.d.ts +11 -1
- package/lib/projects/localDev/LocalDevProcess.js +104 -19
- package/lib/projects/localDev/LocalDevState.d.ts +9 -2
- package/lib/projects/localDev/LocalDevState.js +21 -1
- package/lib/projects/localDev/LocalDevWatcher.js +1 -1
- package/lib/projects/localDev/LocalDevWebsocketServer.d.ts +1 -0
- package/lib/projects/localDev/LocalDevWebsocketServer.js +24 -2
- package/lib/projects/localDev/UIExtensionsDevModeInterface.js +2 -0
- package/lib/projects/localDev/helpers/account.d.ts +1 -7
- package/lib/projects/localDev/helpers/account.js +12 -100
- package/lib/projects/localDev/helpers/process.d.ts +1 -1
- package/lib/projects/localDev/helpers/process.js +4 -10
- package/lib/projects/localDev/helpers/project.d.ts +8 -6
- package/lib/projects/localDev/helpers/project.js +80 -29
- package/lib/projects/localDev/localDevWebsocketServerUtils.d.ts +2 -1
- package/lib/projects/localDev/localDevWebsocketServerUtils.js +3 -0
- package/lib/projects/npmAuditOnUpload.d.ts +10 -0
- package/lib/projects/npmAuditOnUpload.js +73 -0
- package/lib/projects/pollProjectBuildAndDeploy.d.ts +5 -1
- package/lib/projects/pollProjectBuildAndDeploy.js +3 -2
- package/lib/projects/preview.d.ts +7 -0
- package/lib/projects/preview.js +48 -0
- package/lib/projects/projectInfo.d.ts +5 -0
- package/lib/projects/projectInfo.js +82 -0
- package/lib/projects/projectProfiles.d.ts +2 -3
- package/lib/projects/projectProfiles.js +5 -20
- package/lib/projects/release.d.ts +4 -0
- package/lib/projects/release.js +90 -0
- package/lib/projects/ui.d.ts +1 -0
- package/lib/projects/ui.js +14 -0
- package/lib/projects/uieLinting.d.ts +21 -3
- package/lib/projects/uieLinting.js +129 -28
- package/lib/projects/upload.d.ts +12 -2
- package/lib/projects/upload.js +59 -13
- package/lib/projects/urls.d.ts +0 -1
- package/lib/projects/urls.js +6 -13
- package/lib/projects/validate.d.ts +9 -0
- package/lib/projects/validate.js +96 -0
- package/lib/projects/validateLintConfigOnUpload.d.ts +9 -0
- package/lib/projects/validateLintConfigOnUpload.js +45 -0
- package/lib/projects/workspaces.d.ts +60 -0
- package/lib/projects/workspaces.js +411 -0
- package/lib/prompts/createApiSamplePrompt.js +4 -0
- package/lib/prompts/downloadProjectPrompt.js +11 -10
- package/lib/prompts/installAppPrompt.js +3 -2
- package/lib/prompts/personalAccessKeyPrompt.d.ts +2 -5
- package/lib/prompts/personalAccessKeyPrompt.js +10 -7
- package/lib/prompts/projectDevTargetAccountPrompt.d.ts +1 -0
- package/lib/prompts/projectDevTargetAccountPrompt.js +26 -18
- package/lib/prompts/projectProfilePrompt.d.ts +2 -0
- package/lib/prompts/projectProfilePrompt.js +46 -0
- package/lib/prompts/projectsLogsPrompt.js +3 -0
- package/lib/prompts/promptUtils.js +4 -2
- package/lib/prompts/selectAppPrompt.js +1 -0
- package/lib/prompts/selectHubDBTablePrompt.js +8 -4
- package/lib/prompts/selectPublicAppForMigrationPrompt.js +12 -6
- package/lib/prompts/setAsDefaultAccountPrompt.js +2 -1
- package/lib/sandboxes.d.ts +1 -9
- package/lib/sandboxes.js +0 -21
- package/lib/serverlessLogs.js +2 -2
- package/lib/theme/cmsDevServerProcess.d.ts +2 -0
- package/lib/theme/cmsDevServerProcess.js +8 -7
- package/lib/theme/migrate.d.ts +1 -1
- package/lib/theme/migrate.js +2 -9
- package/lib/ui/SpinniesManager.d.ts +1 -0
- package/lib/ui/SpinniesManager.js +22 -6
- package/lib/ui/accountTable.d.ts +8 -0
- package/lib/ui/accountTable.js +67 -0
- package/lib/ui/appLogs.d.ts +32 -0
- package/lib/ui/appLogs.js +175 -0
- package/lib/ui/spinniesUtils.d.ts +0 -1
- package/lib/ui/spinniesUtils.js +6 -16
- package/lib/usageTracking.d.ts +10 -20
- package/lib/usageTracking.js +77 -30
- package/lib/yargs/makeWrappedYargsHandler.d.ts +7 -0
- package/lib/yargs/makeWrappedYargsHandler.js +179 -0
- package/lib/yargs/makeYargsBuilder.d.ts +13 -0
- package/lib/yargs/makeYargsBuilder.js +33 -0
- package/lib/yargs/parseYargsOrExit.d.ts +4 -0
- package/lib/yargs/parseYargsOrExit.js +25 -0
- package/lib/yargs/strictEnforceBoolean.d.ts +1 -0
- package/lib/yargs/strictEnforceBoolean.js +13 -0
- package/lib/yargsUtils.d.ts +3 -16
- package/lib/yargsUtils.js +3 -48
- package/mcp-server/Tool.d.ts +20 -0
- package/mcp-server/Tool.js +79 -0
- package/mcp-server/server.js +47 -3
- package/mcp-server/tools/cms/HsCreateFunctionTool.d.ts +5 -3
- package/mcp-server/tools/cms/HsCreateFunctionTool.js +18 -23
- package/mcp-server/tools/cms/HsCreateModuleTool.d.ts +5 -3
- package/mcp-server/tools/cms/HsCreateModuleTool.js +21 -26
- package/mcp-server/tools/cms/HsCreateTemplateTool.d.ts +5 -3
- package/mcp-server/tools/cms/HsCreateTemplateTool.js +16 -16
- package/mcp-server/tools/cms/HsFunctionLogsTool.d.ts +5 -3
- package/mcp-server/tools/cms/HsFunctionLogsTool.js +16 -15
- package/mcp-server/tools/cms/HsListFunctionsTool.d.ts +5 -3
- package/mcp-server/tools/cms/HsListFunctionsTool.js +14 -13
- package/mcp-server/tools/cms/HsListTool.d.ts +5 -3
- package/mcp-server/tools/cms/HsListTool.js +14 -16
- package/mcp-server/tools/index.d.ts +3 -2
- package/mcp-server/tools/index.js +26 -22
- package/mcp-server/tools/project/AddFeatureToProjectTool.d.ts +8 -4
- package/mcp-server/tools/project/AddFeatureToProjectTool.js +16 -15
- package/mcp-server/tools/project/AuthAccountTool.d.ts +18 -0
- package/mcp-server/tools/project/AuthAccountTool.js +78 -0
- package/mcp-server/tools/project/CreateProjectTool.d.ts +8 -4
- package/mcp-server/tools/project/CreateProjectTool.js +21 -17
- package/mcp-server/tools/project/CreateTestAccountTool.d.ts +5 -3
- package/mcp-server/tools/project/CreateTestAccountTool.js +35 -24
- package/mcp-server/tools/project/DeployProjectTool.d.ts +5 -3
- package/mcp-server/tools/project/DeployProjectTool.js +14 -16
- package/mcp-server/tools/project/DocFetchTool.d.ts +4 -2
- package/mcp-server/tools/project/DocFetchTool.js +8 -6
- package/mcp-server/tools/project/DocsSearchTool.d.ts +9 -3
- package/mcp-server/tools/project/DocsSearchTool.js +39 -15
- package/mcp-server/tools/project/FindProjectsTool.d.ts +15 -0
- package/mcp-server/tools/project/FindProjectsTool.js +60 -0
- package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.d.ts +6 -3
- package/mcp-server/tools/project/GetApiUsagePatternsByAppIdTool.js +16 -13
- package/mcp-server/tools/project/GetApplicationInfoTool.d.ts +6 -3
- package/mcp-server/tools/project/GetApplicationInfoTool.js +19 -14
- package/mcp-server/tools/project/GetBuildLogsTool.d.ts +4 -2
- package/mcp-server/tools/project/GetBuildLogsTool.js +19 -14
- package/mcp-server/tools/project/GetBuildStatusTool.d.ts +4 -2
- package/mcp-server/tools/project/GetBuildStatusTool.js +19 -14
- package/mcp-server/tools/project/GetConfigValuesTool.d.ts +6 -3
- package/mcp-server/tools/project/GetConfigValuesTool.js +20 -13
- package/mcp-server/tools/project/GuidedWalkthroughTool.d.ts +4 -2
- package/mcp-server/tools/project/GuidedWalkthroughTool.js +4 -6
- package/mcp-server/tools/project/UploadProjectTools.d.ts +5 -3
- package/mcp-server/tools/project/UploadProjectTools.js +21 -20
- package/mcp-server/tools/project/ValidateProjectTool.d.ts +5 -3
- package/mcp-server/tools/project/ValidateProjectTool.js +13 -10
- package/mcp-server/tools/project/constants.d.ts +3 -1
- package/mcp-server/tools/project/constants.js +3 -1
- package/mcp-server/types.d.ts +0 -7
- package/mcp-server/types.js +1 -13
- package/mcp-server/utils/command.d.ts +25 -2
- package/mcp-server/utils/command.js +68 -16
- package/mcp-server/utils/config.js +6 -0
- package/mcp-server/utils/logger.d.ts +13 -0
- package/mcp-server/utils/logger.js +59 -0
- package/mcp-server/utils/toolUsageTracking.js +28 -11
- package/package.json +25 -17
- package/types/AccountTargets.d.ts +37 -0
- package/types/AccountTargets.js +12 -0
- package/types/Link.d.ts +32 -0
- package/types/Link.js +5 -0
- package/types/LocalDev.d.ts +15 -2
- package/types/PackageJson.d.ts +1 -0
- package/types/ProjectComponents.d.ts +2 -1
- package/types/Projects.d.ts +25 -5
- package/types/Prompts.d.ts +1 -0
- package/types/Yargs.d.ts +23 -2
- package/ui/components/ActionSection.d.ts +1 -1
- package/ui/components/InputField.d.ts +1 -1
- package/ui/components/SelectInput.d.ts +1 -1
- package/ui/components/StatusIcon.d.ts +1 -1
- package/ui/components/Table.d.ts +5 -5
- package/ui/components/getStarted/GetStartedFlow.d.ts +1 -1
- package/ui/components/getStarted/screens/InstallationScreen.d.ts +1 -1
- package/ui/components/getStarted/screens/ProjectSetupScreen.d.ts +1 -1
- package/ui/components/getStarted/screens/UploadScreen.d.ts +1 -1
- package/api/__tests__/migrate.test.d.ts +0 -1
- package/api/__tests__/migrate.test.js +0 -199
- package/commands/__tests__/account.test.d.ts +0 -1
- package/commands/__tests__/account.test.js +0 -69
- package/commands/__tests__/auth.test.d.ts +0 -1
- package/commands/__tests__/auth.test.js +0 -43
- package/commands/__tests__/cms.test.d.ts +0 -1
- package/commands/__tests__/cms.test.js +0 -87
- package/commands/__tests__/config.test.d.ts +0 -1
- package/commands/__tests__/config.test.js +0 -44
- package/commands/__tests__/customObject.test.d.ts +0 -1
- package/commands/__tests__/customObject.test.js +0 -68
- package/commands/__tests__/doctor.test.d.ts +0 -1
- package/commands/__tests__/doctor.test.js +0 -132
- package/commands/__tests__/feedback.test.d.ts +0 -1
- package/commands/__tests__/feedback.test.js +0 -24
- package/commands/__tests__/filemanager.test.d.ts +0 -1
- package/commands/__tests__/filemanager.test.js +0 -45
- package/commands/__tests__/getStarted.test.d.ts +0 -1
- package/commands/__tests__/getStarted.test.js +0 -173
- package/commands/__tests__/hubdb.test.d.ts +0 -1
- package/commands/__tests__/hubdb.test.js +0 -50
- package/commands/__tests__/init.test.d.ts +0 -1
- package/commands/__tests__/init.test.js +0 -42
- package/commands/__tests__/mcp.test.d.ts +0 -1
- package/commands/__tests__/mcp.test.js +0 -46
- package/commands/__tests__/open.test.d.ts +0 -1
- package/commands/__tests__/open.test.js +0 -58
- package/commands/__tests__/project.test.d.ts +0 -1
- package/commands/__tests__/project.test.js +0 -125
- package/commands/__tests__/sandbox.test.d.ts +0 -1
- package/commands/__tests__/sandbox.test.js +0 -44
- package/commands/__tests__/secret.test.d.ts +0 -1
- package/commands/__tests__/secret.test.js +0 -49
- package/commands/__tests__/testAccount.test.d.ts +0 -1
- package/commands/__tests__/testAccount.test.js +0 -57
- package/commands/__tests__/upgrade.test.d.ts +0 -1
- package/commands/__tests__/upgrade.test.js +0 -309
- package/commands/account/__tests__/auth.test.d.ts +0 -1
- package/commands/account/__tests__/auth.test.js +0 -206
- package/commands/account/__tests__/clean.test.d.ts +0 -1
- package/commands/account/__tests__/clean.test.js +0 -28
- package/commands/account/__tests__/createOverride.test.d.ts +0 -1
- package/commands/account/__tests__/createOverride.test.js +0 -32
- package/commands/account/__tests__/info.test.d.ts +0 -1
- package/commands/account/__tests__/info.test.js +0 -28
- package/commands/account/__tests__/list.test.d.ts +0 -1
- package/commands/account/__tests__/list.test.js +0 -153
- package/commands/account/__tests__/remove.test.d.ts +0 -1
- package/commands/account/__tests__/remove.test.js +0 -36
- package/commands/account/__tests__/removeOverride.d.ts +0 -1
- package/commands/account/__tests__/removeOverride.js +0 -25
- package/commands/account/__tests__/rename.test.d.ts +0 -1
- package/commands/account/__tests__/rename.test.js +0 -82
- package/commands/account/__tests__/use.test.d.ts +0 -1
- package/commands/account/__tests__/use.test.js +0 -170
- package/commands/app/__tests__/migrate.test.d.ts +0 -1
- package/commands/app/__tests__/migrate.test.js +0 -111
- package/commands/app/secret/__tests__/add.test.d.ts +0 -1
- package/commands/app/secret/__tests__/add.test.js +0 -140
- package/commands/app/secret/__tests__/delete.test.d.ts +0 -1
- package/commands/app/secret/__tests__/delete.test.js +0 -28
- package/commands/app/secret/__tests__/list.test.d.ts +0 -1
- package/commands/app/secret/__tests__/list.test.js +0 -25
- package/commands/app/secret/__tests__/update.test.d.ts +0 -1
- package/commands/app/secret/__tests__/update.test.js +0 -28
- package/commands/cms/__tests__/delete.test.d.ts +0 -1
- package/commands/cms/__tests__/delete.test.js +0 -39
- package/commands/cms/__tests__/fetch.test.d.ts +0 -1
- package/commands/cms/__tests__/fetch.test.js +0 -156
- package/commands/cms/__tests__/function.test.d.ts +0 -1
- package/commands/cms/__tests__/function.test.js +0 -50
- package/commands/cms/__tests__/lint.test.d.ts +0 -1
- package/commands/cms/__tests__/lint.test.js +0 -33
- package/commands/cms/__tests__/list.test.d.ts +0 -1
- package/commands/cms/__tests__/list.test.js +0 -42
- package/commands/cms/__tests__/module.test.d.ts +0 -1
- package/commands/cms/__tests__/module.test.js +0 -45
- package/commands/cms/__tests__/mv.test.d.ts +0 -1
- package/commands/cms/__tests__/mv.test.js +0 -46
- package/commands/cms/__tests__/theme.test.d.ts +0 -1
- package/commands/cms/__tests__/theme.test.js +0 -54
- package/commands/cms/__tests__/upload.test.d.ts +0 -1
- package/commands/cms/__tests__/upload.test.js +0 -308
- package/commands/cms/__tests__/watch.test.d.ts +0 -1
- package/commands/cms/__tests__/watch.test.js +0 -204
- package/commands/cms/function/__tests__/logs.test.d.ts +0 -1
- package/commands/cms/function/__tests__/logs.test.js +0 -70
- package/commands/cms/theme/__tests__/generate-selectors.test.d.ts +0 -1
- package/commands/cms/theme/__tests__/generate-selectors.test.js +0 -28
- package/commands/cms/theme/__tests__/marketplace-validate.test.d.ts +0 -1
- package/commands/cms/theme/__tests__/marketplace-validate.test.js +0 -36
- package/commands/cms/theme/__tests__/preview.test.d.ts +0 -1
- package/commands/cms/theme/__tests__/preview.test.js +0 -54
- package/commands/customObject/__tests__/create.test.d.ts +0 -1
- package/commands/customObject/__tests__/create.test.js +0 -40
- package/commands/customObject/__tests__/createSchema.test.d.ts +0 -1
- package/commands/customObject/__tests__/createSchema.test.js +0 -28
- package/commands/customObject/__tests__/deleteSchema.test.d.ts +0 -1
- package/commands/customObject/__tests__/deleteSchema.test.js +0 -42
- package/commands/customObject/__tests__/fetch-all-schemas.test.d.ts +0 -1
- package/commands/customObject/__tests__/fetch-all-schemas.test.js +0 -41
- package/commands/customObject/__tests__/fetchSchema.test.d.ts +0 -1
- package/commands/customObject/__tests__/fetchSchema.test.js +0 -45
- package/commands/customObject/__tests__/listSchemas.test.d.ts +0 -1
- package/commands/customObject/__tests__/listSchemas.test.js +0 -29
- package/commands/customObject/__tests__/updateSchema.test.d.ts +0 -1
- package/commands/customObject/__tests__/updateSchema.test.js +0 -40
- package/commands/filemanager/__tests__/fetch.test.d.ts +0 -1
- package/commands/filemanager/__tests__/fetch.test.js +0 -32
- package/commands/filemanager/__tests__/upload.test.d.ts +0 -1
- package/commands/filemanager/__tests__/upload.test.js +0 -191
- package/commands/hubdb/__tests__/clear.test.d.ts +0 -1
- package/commands/hubdb/__tests__/clear.test.js +0 -28
- package/commands/hubdb/__tests__/create.test.d.ts +0 -1
- package/commands/hubdb/__tests__/create.test.js +0 -28
- package/commands/hubdb/__tests__/delete.test.d.ts +0 -1
- package/commands/hubdb/__tests__/delete.test.js +0 -28
- package/commands/hubdb/__tests__/fetch.test.d.ts +0 -1
- package/commands/hubdb/__tests__/fetch.test.js +0 -28
- package/commands/hubdb/__tests__/list.test.d.ts +0 -1
- package/commands/hubdb/__tests__/list.test.js +0 -88
- package/commands/mcp/__tests__/setup.test.d.ts +0 -1
- package/commands/mcp/__tests__/setup.test.js +0 -26
- package/commands/mcp/__tests__/start.test.d.ts +0 -1
- package/commands/mcp/__tests__/start.test.js +0 -144
- package/commands/project/__tests__/add.test.d.ts +0 -1
- package/commands/project/__tests__/add.test.js +0 -107
- package/commands/project/__tests__/create.test.d.ts +0 -1
- package/commands/project/__tests__/create.test.js +0 -97
- package/commands/project/__tests__/deploy.test.d.ts +0 -1
- package/commands/project/__tests__/deploy.test.js +0 -307
- package/commands/project/__tests__/dev.test.d.ts +0 -1
- package/commands/project/__tests__/dev.test.js +0 -273
- package/commands/project/__tests__/devUnifiedFlow.test.d.ts +0 -1
- package/commands/project/__tests__/devUnifiedFlow.test.js +0 -434
- package/commands/project/__tests__/download.test.d.ts +0 -1
- package/commands/project/__tests__/download.test.js +0 -39
- package/commands/project/__tests__/installDeps.test.d.ts +0 -1
- package/commands/project/__tests__/installDeps.test.js +0 -140
- package/commands/project/__tests__/lint.test.d.ts +0 -1
- package/commands/project/__tests__/lint.test.js +0 -704
- package/commands/project/__tests__/list.test.d.ts +0 -1
- package/commands/project/__tests__/list.test.js +0 -31
- package/commands/project/__tests__/listBuilds.test.d.ts +0 -1
- package/commands/project/__tests__/listBuilds.test.js +0 -38
- package/commands/project/__tests__/logs.test.d.ts +0 -1
- package/commands/project/__tests__/logs.test.js +0 -202
- package/commands/project/__tests__/migrate.test.d.ts +0 -1
- package/commands/project/__tests__/migrate.test.js +0 -106
- package/commands/project/__tests__/open.test.d.ts +0 -1
- package/commands/project/__tests__/open.test.js +0 -39
- package/commands/project/__tests__/profile.test.d.ts +0 -1
- package/commands/project/__tests__/profile.test.js +0 -42
- package/commands/project/__tests__/updateDeps.test.d.ts +0 -1
- package/commands/project/__tests__/updateDeps.test.js +0 -140
- package/commands/project/__tests__/upload.test.d.ts +0 -1
- package/commands/project/__tests__/upload.test.js +0 -234
- package/commands/project/__tests__/validate.test.d.ts +0 -1
- package/commands/project/__tests__/validate.test.js +0 -381
- package/commands/project/__tests__/watch.test.d.ts +0 -1
- package/commands/project/__tests__/watch.test.js +0 -35
- package/commands/project/dev/deprecatedFlow.d.ts +0 -11
- package/commands/project/dev/deprecatedFlow.js +0 -135
- package/commands/sandbox/__tests__/create.test.d.ts +0 -1
- package/commands/sandbox/__tests__/create.test.js +0 -245
- package/commands/sandbox/__tests__/delete.test.d.ts +0 -1
- package/commands/sandbox/__tests__/delete.test.js +0 -31
- package/commands/secret/__tests__/addSecret.test.d.ts +0 -1
- package/commands/secret/__tests__/addSecret.test.js +0 -162
- package/commands/secret/__tests__/deleteSecret.test.d.ts +0 -1
- package/commands/secret/__tests__/deleteSecret.test.js +0 -41
- package/commands/secret/__tests__/listSecret.test.d.ts +0 -1
- package/commands/secret/__tests__/listSecret.test.js +0 -29
- package/commands/secret/__tests__/updateSecret.test.d.ts +0 -1
- package/commands/secret/__tests__/updateSecret.test.js +0 -29
- package/commands/testAccount/__tests__/create.test.d.ts +0 -1
- package/commands/testAccount/__tests__/create.test.js +0 -106
- package/commands/testAccount/__tests__/createConfig.test.d.ts +0 -1
- package/commands/testAccount/__tests__/createConfig.test.js +0 -32
- package/commands/testAccount/__tests__/delete.test.d.ts +0 -1
- package/commands/testAccount/__tests__/delete.test.js +0 -29
- package/commands/testAccount/__tests__/importData.test.d.ts +0 -1
- package/commands/testAccount/__tests__/importData.test.js +0 -92
- package/lib/__tests__/CLIWebSocketServer.test.d.ts +0 -1
- package/lib/__tests__/CLIWebSocketServer.test.js +0 -252
- package/lib/__tests__/accountAuth.test.d.ts +0 -1
- package/lib/__tests__/accountAuth.test.js +0 -258
- package/lib/__tests__/accountTypes.test.d.ts +0 -1
- package/lib/__tests__/accountTypes.test.js +0 -98
- package/lib/__tests__/buildAccount.test.d.ts +0 -1
- package/lib/__tests__/buildAccount.test.js +0 -262
- package/lib/__tests__/cliUpgradeUtils.test.d.ts +0 -1
- package/lib/__tests__/cliUpgradeUtils.test.js +0 -131
- package/lib/__tests__/commandSuggestion.test.d.ts +0 -1
- package/lib/__tests__/commandSuggestion.test.js +0 -121
- package/lib/__tests__/commonOpts.test.d.ts +0 -1
- package/lib/__tests__/commonOpts.test.js +0 -80
- package/lib/__tests__/dependencyManagement.test.d.ts +0 -1
- package/lib/__tests__/dependencyManagement.test.js +0 -1067
- package/lib/__tests__/developerTestAccounts.test.d.ts +0 -1
- package/lib/__tests__/developerTestAccounts.test.js +0 -156
- package/lib/__tests__/hasFeature.test.d.ts +0 -1
- package/lib/__tests__/hasFeature.test.js +0 -167
- package/lib/__tests__/http.test.d.ts +0 -1
- package/lib/__tests__/http.test.js +0 -40
- package/lib/__tests__/importData.test.d.ts +0 -1
- package/lib/__tests__/importData.test.js +0 -98
- package/lib/__tests__/npmCli.test.d.ts +0 -1
- package/lib/__tests__/npmCli.test.js +0 -84
- package/lib/__tests__/oauth.test.d.ts +0 -1
- package/lib/__tests__/oauth.test.js +0 -109
- package/lib/__tests__/parsing.test.d.ts +0 -1
- package/lib/__tests__/parsing.test.js +0 -34
- package/lib/__tests__/polling.test.d.ts +0 -1
- package/lib/__tests__/polling.test.js +0 -76
- package/lib/__tests__/process.test.d.ts +0 -1
- package/lib/__tests__/process.test.js +0 -89
- package/lib/__tests__/sandboxSync.test.d.ts +0 -1
- package/lib/__tests__/sandboxSync.test.js +0 -147
- package/lib/__tests__/sandboxes.test.d.ts +0 -1
- package/lib/__tests__/sandboxes.test.js +0 -156
- package/lib/__tests__/serverlessLogs.test.d.ts +0 -1
- package/lib/__tests__/serverlessLogs.test.js +0 -163
- package/lib/__tests__/usageTracking.test.d.ts +0 -1
- package/lib/__tests__/usageTracking.test.js +0 -197
- package/lib/__tests__/validation.test.d.ts +0 -1
- package/lib/__tests__/validation.test.js +0 -143
- package/lib/__tests__/yargsUtils.test.d.ts +0 -1
- package/lib/__tests__/yargsUtils.test.js +0 -124
- package/lib/app/__tests__/migrate.test.d.ts +0 -1
- package/lib/app/__tests__/migrate.test.js +0 -638
- package/lib/doctor/__tests__/Diagnosis.test.d.ts +0 -1
- package/lib/doctor/__tests__/Diagnosis.test.js +0 -84
- package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.d.ts +0 -1
- package/lib/doctor/__tests__/DiagnosticInfoBuilder.test.js +0 -177
- package/lib/doctor/__tests__/Doctor.test.d.ts +0 -1
- package/lib/doctor/__tests__/Doctor.test.js +0 -560
- package/lib/errorHandlers/__tests__/index.test.d.ts +0 -1
- package/lib/errorHandlers/__tests__/index.test.js +0 -278
- package/lib/mcp/__tests__/setup.test.d.ts +0 -1
- package/lib/mcp/__tests__/setup.test.js +0 -523
- package/lib/middleware/__tests__/commandTargetingUtils.test.d.ts +0 -1
- package/lib/middleware/__tests__/commandTargetingUtils.test.js +0 -99
- package/lib/middleware/__tests__/configMiddleware.test.d.ts +0 -1
- package/lib/middleware/__tests__/configMiddleware.test.js +0 -118
- package/lib/middleware/__tests__/gitMiddleware.test.d.ts +0 -1
- package/lib/middleware/__tests__/gitMiddleware.test.js +0 -43
- package/lib/middleware/__tests__/requestMiddleware.test.d.ts +0 -1
- package/lib/middleware/__tests__/requestMiddleware.test.js +0 -15
- package/lib/middleware/__tests__/usageTrackingMiddleware.test.d.ts +0 -1
- package/lib/middleware/__tests__/usageTrackingMiddleware.test.js +0 -44
- package/lib/middleware/__tests__/yargsChecksMiddleware.test.d.ts +0 -1
- package/lib/middleware/__tests__/yargsChecksMiddleware.test.js +0 -39
- package/lib/projects/__tests__/AppDevModeInterface.test.d.ts +0 -1
- package/lib/projects/__tests__/AppDevModeInterface.test.js +0 -541
- package/lib/projects/__tests__/DevServerManager.test.d.ts +0 -1
- package/lib/projects/__tests__/DevServerManager.test.js +0 -185
- package/lib/projects/__tests__/DevSessionManager.test.d.ts +0 -1
- package/lib/projects/__tests__/DevSessionManager.test.js +0 -250
- package/lib/projects/__tests__/LocalDevProcess.test.d.ts +0 -1
- package/lib/projects/__tests__/LocalDevProcess.test.js +0 -481
- package/lib/projects/__tests__/LocalDevWebsocketServer.test.d.ts +0 -1
- package/lib/projects/__tests__/LocalDevWebsocketServer.test.js +0 -231
- package/lib/projects/__tests__/ProjectLogsManager.test.d.ts +0 -1
- package/lib/projects/__tests__/ProjectLogsManager.test.js +0 -302
- package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.d.ts +0 -1
- package/lib/projects/__tests__/UIExtensionsDevModeInterface.test.js +0 -160
- package/lib/projects/__tests__/components.test.d.ts +0 -1
- package/lib/projects/__tests__/components.test.js +0 -426
- package/lib/projects/__tests__/deploy.test.d.ts +0 -1
- package/lib/projects/__tests__/deploy.test.js +0 -231
- package/lib/projects/__tests__/localDevProjectHelpers.test.d.ts +0 -1
- package/lib/projects/__tests__/localDevProjectHelpers.test.js +0 -120
- package/lib/projects/__tests__/platformVersion.test.d.ts +0 -1
- package/lib/projects/__tests__/platformVersion.test.js +0 -63
- package/lib/projects/__tests__/pollProjectBuildAndDeploy.test.d.ts +0 -1
- package/lib/projects/__tests__/pollProjectBuildAndDeploy.test.js +0 -328
- package/lib/projects/__tests__/projectProfiles.test.d.ts +0 -1
- package/lib/projects/__tests__/projectProfiles.test.js +0 -441
- package/lib/projects/__tests__/projects.test.d.ts +0 -1
- package/lib/projects/__tests__/projects.test.js +0 -58
- package/lib/projects/__tests__/structure.test.d.ts +0 -1
- package/lib/projects/__tests__/structure.test.js +0 -210
- package/lib/projects/__tests__/uieLinting.test.d.ts +0 -1
- package/lib/projects/__tests__/uieLinting.test.js +0 -631
- package/lib/projects/__tests__/upload.test.d.ts +0 -1
- package/lib/projects/__tests__/upload.test.js +0 -183
- package/lib/projects/add/__tests__/legacyAddComponent.test.d.ts +0 -1
- package/lib/projects/add/__tests__/legacyAddComponent.test.js +0 -245
- package/lib/projects/add/__tests__/v2AddComponent.test.d.ts +0 -1
- package/lib/projects/add/__tests__/v2AddComponent.test.js +0 -343
- package/lib/projects/create/__tests__/legacy.test.d.ts +0 -1
- package/lib/projects/create/__tests__/legacy.test.js +0 -72
- package/lib/projects/create/__tests__/v2.test.d.ts +0 -1
- package/lib/projects/create/__tests__/v2.test.js +0 -257
- package/lib/projects/localDev/DevServerManager_DEPRECATED.d.ts +0 -40
- package/lib/projects/localDev/DevServerManager_DEPRECATED.js +0 -128
- package/lib/projects/localDev/LocalDevManager_DEPRECATED.d.ts +0 -59
- package/lib/projects/localDev/LocalDevManager_DEPRECATED.js +0 -383
- package/lib/projects/platformVersion.d.ts +0 -9
- package/lib/projects/platformVersion.js +0 -39
- package/lib/prompts/__tests__/createDeveloperTestAccountConfigPrompt.test.d.ts +0 -1
- package/lib/prompts/__tests__/createDeveloperTestAccountConfigPrompt.test.js +0 -157
- package/lib/prompts/__tests__/createFunctionPrompt.test.d.ts +0 -1
- package/lib/prompts/__tests__/createFunctionPrompt.test.js +0 -129
- package/lib/prompts/__tests__/createModulePrompt.test.d.ts +0 -1
- package/lib/prompts/__tests__/createModulePrompt.test.js +0 -187
- package/lib/prompts/__tests__/createTemplatePrompt.test.d.ts +0 -1
- package/lib/prompts/__tests__/createTemplatePrompt.test.js +0 -102
- package/lib/prompts/__tests__/downloadProjectPrompt.test.d.ts +0 -1
- package/lib/prompts/__tests__/downloadProjectPrompt.test.js +0 -31
- package/lib/prompts/__tests__/projectAddPrompt.test.d.ts +0 -1
- package/lib/prompts/__tests__/projectAddPrompt.test.js +0 -143
- package/lib/prompts/__tests__/projectsLogsPrompt.test.d.ts +0 -1
- package/lib/prompts/__tests__/projectsLogsPrompt.test.js +0 -37
- package/lib/prompts/__tests__/selectProjectTemplatePrompt.test.d.ts +0 -1
- package/lib/prompts/__tests__/selectProjectTemplatePrompt.test.js +0 -160
- package/lib/sandboxSync.d.ts +0 -4
- package/lib/sandboxSync.js +0 -102
- package/lib/theme/__tests__/migrate.test.d.ts +0 -1
- package/lib/theme/__tests__/migrate.test.js +0 -256
- package/lib/ui/__tests__/SpinniesManager.test.d.ts +0 -1
- package/lib/ui/__tests__/SpinniesManager.test.js +0 -488
- package/lib/ui/__tests__/removeAnsiCodes.test.d.ts +0 -1
- package/lib/ui/__tests__/removeAnsiCodes.test.js +0 -84
- package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.d.ts +0 -1
- package/mcp-server/tools/cms/__tests__/HsCreateFunctionTool.test.js +0 -254
- package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.d.ts +0 -1
- package/mcp-server/tools/cms/__tests__/HsCreateModuleTool.test.js +0 -227
- package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.d.ts +0 -1
- package/mcp-server/tools/cms/__tests__/HsCreateTemplateTool.test.js +0 -208
- package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.d.ts +0 -1
- package/mcp-server/tools/cms/__tests__/HsFunctionLogsTool.test.js +0 -186
- package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.d.ts +0 -1
- package/mcp-server/tools/cms/__tests__/HsListFunctionsTool.test.js +0 -124
- package/mcp-server/tools/cms/__tests__/HsListTool.test.d.ts +0 -1
- package/mcp-server/tools/cms/__tests__/HsListTool.test.js +0 -124
- package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/AddFeatureToProjectTool.test.js +0 -157
- package/mcp-server/tools/project/__tests__/CreateProjectTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/CreateProjectTool.test.js +0 -132
- package/mcp-server/tools/project/__tests__/CreateTestAccountTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/CreateTestAccountTool.test.js +0 -461
- package/mcp-server/tools/project/__tests__/DeployProjectTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/DeployProjectTool.test.js +0 -125
- package/mcp-server/tools/project/__tests__/DocFetchTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/DocFetchTool.test.js +0 -125
- package/mcp-server/tools/project/__tests__/DocsSearchTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/DocsSearchTool.test.js +0 -210
- package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/GetApiUsagePatternsByAppIdTool.test.js +0 -146
- package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/GetApplicationInfoTool.test.js +0 -124
- package/mcp-server/tools/project/__tests__/GetBuildLogsTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/GetBuildLogsTool.test.js +0 -307
- package/mcp-server/tools/project/__tests__/GetBuildStatusTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/GetBuildStatusTool.test.js +0 -242
- package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/GetConfigValuesTool.test.js +0 -209
- package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/GuidedWalkthroughTool.test.js +0 -158
- package/mcp-server/tools/project/__tests__/UploadProjectTools.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/UploadProjectTools.test.js +0 -187
- package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.d.ts +0 -1
- package/mcp-server/tools/project/__tests__/ValidateProjectTool.test.js +0 -118
- package/mcp-server/utils/__tests__/command.test.d.ts +0 -1
- package/mcp-server/utils/__tests__/command.test.js +0 -275
- package/mcp-server/utils/__tests__/content.test.d.ts +0 -1
- package/mcp-server/utils/__tests__/content.test.js +0 -164
- package/mcp-server/utils/__tests__/feedbackTracking.test.d.ts +0 -1
- package/mcp-server/utils/__tests__/feedbackTracking.test.js +0 -69
package/lib/commonOpts.js
CHANGED
|
@@ -72,12 +72,16 @@ export function addUseEnvironmentOptions(yargs) {
|
|
|
72
72
|
return yargs;
|
|
73
73
|
}
|
|
74
74
|
export function addJSONOutputOptions(yargs) {
|
|
75
|
-
|
|
75
|
+
yargs.option('json', {
|
|
76
76
|
alias: 'format-output-as-json',
|
|
77
77
|
describe: lib.commonOpts.options.jsonOutput,
|
|
78
78
|
type: 'boolean',
|
|
79
|
-
hidden: true,
|
|
80
79
|
});
|
|
80
|
+
yargs.option('json-schema', {
|
|
81
|
+
describe: lib.commonOpts.options.jsonSchema,
|
|
82
|
+
type: 'boolean',
|
|
83
|
+
});
|
|
84
|
+
return yargs;
|
|
81
85
|
}
|
|
82
86
|
// Remove this once we've upgraded to yargs 18.0.0
|
|
83
87
|
function uiBetaTagWithColor(message) {
|
package/lib/configOptions.d.ts
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { CmsPublishMode } from '@hubspot/local-dev-lib/types/Files';
|
|
2
|
-
export declare function setAllowUsageTracking({
|
|
2
|
+
export declare function setAllowUsageTracking({ allowUsageTracking, }: {
|
|
3
3
|
accountId: number;
|
|
4
4
|
allowUsageTracking?: boolean;
|
|
5
|
-
}): Promise<
|
|
6
|
-
export declare function setAllowAutoUpdates({
|
|
5
|
+
}): Promise<boolean>;
|
|
6
|
+
export declare function setAllowAutoUpdates({ allowAutoUpdates, }: {
|
|
7
7
|
accountId: number;
|
|
8
8
|
allowAutoUpdates?: boolean;
|
|
9
|
-
}): Promise<
|
|
10
|
-
export declare function setDefaultCmsPublishMode({
|
|
9
|
+
}): Promise<boolean>;
|
|
10
|
+
export declare function setDefaultCmsPublishMode({ defaultCmsPublishMode, }: {
|
|
11
11
|
accountId: number;
|
|
12
12
|
defaultCmsPublishMode?: CmsPublishMode;
|
|
13
|
-
}): Promise<
|
|
14
|
-
export declare function setHttpTimeout({
|
|
13
|
+
}): Promise<CmsPublishMode>;
|
|
14
|
+
export declare function setHttpTimeout({ httpTimeout, }: {
|
|
15
15
|
accountId: number;
|
|
16
16
|
httpTimeout?: string;
|
|
17
|
-
}): Promise<
|
|
18
|
-
export declare function setAutoOpenBrowser({
|
|
17
|
+
}): Promise<string>;
|
|
18
|
+
export declare function setAutoOpenBrowser({ autoOpenBrowser, }: {
|
|
19
19
|
accountId: number;
|
|
20
20
|
autoOpenBrowser: boolean;
|
|
21
|
-
}): Promise<
|
|
21
|
+
}): Promise<boolean>;
|
package/lib/configOptions.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { updateAllowUsageTracking, updateAllowAutoUpdates, updateDefaultCmsPublishMode, updateHttpTimeout, updateAutoOpenBrowser, } from '@hubspot/local-dev-lib/config';
|
|
2
2
|
import { CMS_PUBLISH_MODE } from '@hubspot/local-dev-lib/constants/files';
|
|
3
3
|
import { commaSeparatedValues } from '@hubspot/local-dev-lib/text';
|
|
4
|
-
import { trackCommandUsage } from './usageTracking.js';
|
|
5
4
|
import { promptUser, listPrompt } from './prompts/promptUtils.js';
|
|
6
5
|
import { lib } from '../lang/en.js';
|
|
7
6
|
import { uiLogger } from './ui/logger.js';
|
|
@@ -23,8 +22,7 @@ async function enableOrDisableBooleanFieldPrompt(fieldName) {
|
|
|
23
22
|
});
|
|
24
23
|
return isEnabled;
|
|
25
24
|
}
|
|
26
|
-
export async function setAllowUsageTracking({
|
|
27
|
-
trackCommandUsage('config-set-allow-usage-tracking', undefined, accountId);
|
|
25
|
+
export async function setAllowUsageTracking({ allowUsageTracking, }) {
|
|
28
26
|
let isEnabled;
|
|
29
27
|
if (typeof allowUsageTracking === 'boolean') {
|
|
30
28
|
isEnabled = allowUsageTracking;
|
|
@@ -34,9 +32,9 @@ export async function setAllowUsageTracking({ accountId, allowUsageTracking, })
|
|
|
34
32
|
}
|
|
35
33
|
updateAllowUsageTracking(isEnabled);
|
|
36
34
|
uiLogger.success(lib.configOptions.setAllowUsageTracking.success(isEnabled.toString()));
|
|
35
|
+
return isEnabled;
|
|
37
36
|
}
|
|
38
|
-
export async function setAllowAutoUpdates({
|
|
39
|
-
trackCommandUsage('config-set-allow-auto-updates', undefined, accountId);
|
|
37
|
+
export async function setAllowAutoUpdates({ allowAutoUpdates, }) {
|
|
40
38
|
let isEnabled;
|
|
41
39
|
if (typeof allowAutoUpdates === 'boolean') {
|
|
42
40
|
isEnabled = allowAutoUpdates;
|
|
@@ -46,6 +44,7 @@ export async function setAllowAutoUpdates({ accountId, allowAutoUpdates, }) {
|
|
|
46
44
|
}
|
|
47
45
|
updateAllowAutoUpdates(isEnabled);
|
|
48
46
|
uiLogger.success(lib.configOptions.setAllowAutoUpdates.success(isEnabled.toString()));
|
|
47
|
+
return isEnabled;
|
|
49
48
|
}
|
|
50
49
|
const ALL_CMS_PUBLISH_MODES = Object.values(CMS_PUBLISH_MODE);
|
|
51
50
|
async function selectCmsPublishMode() {
|
|
@@ -55,8 +54,7 @@ async function selectCmsPublishMode() {
|
|
|
55
54
|
});
|
|
56
55
|
return cmsPublishMode;
|
|
57
56
|
}
|
|
58
|
-
export async function setDefaultCmsPublishMode({
|
|
59
|
-
trackCommandUsage('config-set-default-mode', undefined, accountId);
|
|
57
|
+
export async function setDefaultCmsPublishMode({ defaultCmsPublishMode, }) {
|
|
60
58
|
let newDefault;
|
|
61
59
|
if (!defaultCmsPublishMode) {
|
|
62
60
|
newDefault = await selectCmsPublishMode();
|
|
@@ -71,6 +69,7 @@ export async function setDefaultCmsPublishMode({ accountId, defaultCmsPublishMod
|
|
|
71
69
|
}
|
|
72
70
|
updateDefaultCmsPublishMode(newDefault);
|
|
73
71
|
uiLogger.success(lib.configOptions.setDefaultCmsPublishMode.success(newDefault));
|
|
72
|
+
return newDefault;
|
|
74
73
|
}
|
|
75
74
|
async function enterTimeout() {
|
|
76
75
|
const { timeout } = await promptUser([
|
|
@@ -90,8 +89,7 @@ async function enterTimeout() {
|
|
|
90
89
|
]);
|
|
91
90
|
return timeout;
|
|
92
91
|
}
|
|
93
|
-
export async function setHttpTimeout({
|
|
94
|
-
trackCommandUsage('config-set-http-timeout', undefined, accountId);
|
|
92
|
+
export async function setHttpTimeout({ httpTimeout, }) {
|
|
95
93
|
let newHttpTimeout;
|
|
96
94
|
if (!httpTimeout) {
|
|
97
95
|
newHttpTimeout = await enterTimeout();
|
|
@@ -101,11 +99,12 @@ export async function setHttpTimeout({ accountId, httpTimeout, }) {
|
|
|
101
99
|
}
|
|
102
100
|
updateHttpTimeout(newHttpTimeout);
|
|
103
101
|
uiLogger.success(lib.configOptions.setHttpTimeout.success(newHttpTimeout));
|
|
102
|
+
return newHttpTimeout;
|
|
104
103
|
}
|
|
105
|
-
export async function setAutoOpenBrowser({
|
|
106
|
-
trackCommandUsage('config-set-auto-open-browser', undefined, accountId);
|
|
104
|
+
export async function setAutoOpenBrowser({ autoOpenBrowser, }) {
|
|
107
105
|
updateAutoOpenBrowser(autoOpenBrowser);
|
|
108
106
|
uiLogger.success(autoOpenBrowser
|
|
109
107
|
? lib.configOptions.setAutoOpenBrowser.enabled
|
|
110
108
|
: lib.configOptions.setAutoOpenBrowser.disabled);
|
|
109
|
+
return autoOpenBrowser;
|
|
111
110
|
}
|
package/lib/constants.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
export declare const HUBSPOT_PROJECT_COMPONENTS_GITHUB_PATH: "HubSpot/hubspot-project-components";
|
|
2
|
+
export declare const MAX_LOG_FILES = 10;
|
|
2
3
|
export declare const DEFAULT_PROJECT_TEMPLATE_BRANCH: "main";
|
|
3
4
|
export declare const FEEDBACK_INTERVAL: 10;
|
|
4
5
|
export declare const HUBSPOT_FOLDER: "@hubspot";
|
|
5
6
|
export declare const MARKETPLACE_FOLDER: "@marketplace";
|
|
6
7
|
export declare const DEFAULT_POLLING_DELAY = 2000;
|
|
8
|
+
export declare const PREVIEW_POLL_TIMEOUT: number;
|
|
7
9
|
export declare const PROJECT_CONFIG_FILE: "hsproject.json";
|
|
8
10
|
export declare const PROJECT_BUILD_STATES: {
|
|
9
11
|
readonly BUILDING: "BUILDING";
|
|
@@ -77,12 +79,10 @@ export declare const APP_AUTH_TYPES: {
|
|
|
77
79
|
};
|
|
78
80
|
export declare const FEATURES: {
|
|
79
81
|
readonly UNIFIED_APPS: "Developers:UnifiedApps:PrivateBeta";
|
|
80
|
-
readonly SANDBOXES_V2: "sandboxes:v2:enabled";
|
|
81
|
-
readonly SANDBOXES_V2_CLI: "sandboxes:v2:cliEnabled";
|
|
82
82
|
readonly APP_EVENTS: "Developers:UnifiedApps:AppEventsAccess";
|
|
83
|
-
readonly APPS_HOME: "UIE:AppHome";
|
|
84
83
|
readonly THEME_MIGRATION_2025_2: "Developers:ProjectThemeMigrations:2025.2";
|
|
85
84
|
readonly AGENT_TOOLS: "ThirdPartyAgentTools";
|
|
85
|
+
readonly APP_ACTIONS: "Developers:AppActions";
|
|
86
86
|
};
|
|
87
87
|
export declare const LOCAL_DEV_UI_MESSAGE_SEND_TYPES: {
|
|
88
88
|
UPLOAD_SUCCESS: string;
|
|
@@ -94,6 +94,7 @@ export declare const LOCAL_DEV_UI_MESSAGE_SEND_TYPES: {
|
|
|
94
94
|
UPDATE_PROJECT_DATA: string;
|
|
95
95
|
UPDATE_UPLOAD_WARNINGS: string;
|
|
96
96
|
DEV_SERVERS_STARTED: string;
|
|
97
|
+
UPLOAD_IN_PROGRESS: string;
|
|
97
98
|
};
|
|
98
99
|
export declare const LOCAL_DEV_UI_MESSAGE_RECEIVE_TYPES: {
|
|
99
100
|
UPLOAD: string;
|
|
@@ -102,6 +103,7 @@ export declare const LOCAL_DEV_UI_MESSAGE_RECEIVE_TYPES: {
|
|
|
102
103
|
APP_INSTALL_SUCCESS: string;
|
|
103
104
|
APP_INSTALL_INITIATED: string;
|
|
104
105
|
APP_INSTALL_FAILURE: string;
|
|
106
|
+
SET_AUTO_UPLOAD: string;
|
|
105
107
|
};
|
|
106
108
|
export declare const APP_INSTALLATION_STATES: {
|
|
107
109
|
readonly NOT_INSTALLED: "NOT_INSTALLED";
|
|
@@ -126,6 +128,14 @@ export declare const LOCAL_DEV_SERVER_MESSAGE_TYPES: {
|
|
|
126
128
|
readonly OAUTH_APP_INSTALL_INITIATED: "APP_INSTALL_INITIATED";
|
|
127
129
|
};
|
|
128
130
|
export declare const LOCAL_DEV_WEBSOCKET_SERVER_INSTANCE_ID = "local-dev-ui-websocket-server";
|
|
131
|
+
export declare const ACCOUNT_AUTH_UI_MESSAGE_SEND_TYPES: {
|
|
132
|
+
readonly AUTH_RECEIVED: "server:authReceived";
|
|
133
|
+
readonly AUTH_FAILED: "server:authFailed";
|
|
134
|
+
};
|
|
135
|
+
export declare const ACCOUNT_AUTH_UI_MESSAGE_RECEIVE_TYPES: {
|
|
136
|
+
readonly PERSONAL_ACCESS_KEY: "client:personalAccessKey";
|
|
137
|
+
};
|
|
138
|
+
export declare const ACCOUNT_AUTH_WEBSOCKET_SERVER_VERSION = 1;
|
|
129
139
|
export declare const CONFIG_LOCAL_STATE_FLAGS: {
|
|
130
140
|
readonly LOCAL_DEV_UI_WELCOME: "LOCAL_DEV_UI_WELCOME";
|
|
131
141
|
};
|
|
@@ -145,3 +155,4 @@ export declare const ACCOUNT_LEVELS: {
|
|
|
145
155
|
};
|
|
146
156
|
export declare const ACCOUNT_LEVEL_CHOICES: readonly ["FREE", "STARTER", "PROFESSIONAL", "ENTERPRISE"];
|
|
147
157
|
export declare const FEEDBACK_URL = "https://developers.hubspot.com/feedback";
|
|
158
|
+
export declare const LOCAL_DEV_DEFAULT_PORT = 4828;
|
package/lib/constants.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
export const HUBSPOT_PROJECT_COMPONENTS_GITHUB_PATH = 'HubSpot/hubspot-project-components';
|
|
2
|
+
export const MAX_LOG_FILES = 10;
|
|
2
3
|
export const DEFAULT_PROJECT_TEMPLATE_BRANCH = 'main';
|
|
3
4
|
export const FEEDBACK_INTERVAL = 10;
|
|
4
5
|
export const HUBSPOT_FOLDER = '@hubspot';
|
|
5
6
|
export const MARKETPLACE_FOLDER = '@marketplace';
|
|
6
7
|
export const DEFAULT_POLLING_DELAY = 2000;
|
|
8
|
+
export const PREVIEW_POLL_TIMEOUT = 5 * 60 * 1000;
|
|
7
9
|
export const PROJECT_CONFIG_FILE = 'hsproject.json';
|
|
8
10
|
export const PROJECT_BUILD_STATES = {
|
|
9
11
|
BUILDING: 'BUILDING',
|
|
@@ -69,12 +71,10 @@ export const APP_AUTH_TYPES = {
|
|
|
69
71
|
};
|
|
70
72
|
export const FEATURES = {
|
|
71
73
|
UNIFIED_APPS: 'Developers:UnifiedApps:PrivateBeta',
|
|
72
|
-
SANDBOXES_V2: 'sandboxes:v2:enabled',
|
|
73
|
-
SANDBOXES_V2_CLI: 'sandboxes:v2:cliEnabled',
|
|
74
74
|
APP_EVENTS: 'Developers:UnifiedApps:AppEventsAccess',
|
|
75
|
-
APPS_HOME: 'UIE:AppHome',
|
|
76
75
|
THEME_MIGRATION_2025_2: 'Developers:ProjectThemeMigrations:2025.2',
|
|
77
76
|
AGENT_TOOLS: 'ThirdPartyAgentTools',
|
|
77
|
+
APP_ACTIONS: 'Developers:AppActions',
|
|
78
78
|
};
|
|
79
79
|
export const LOCAL_DEV_UI_MESSAGE_SEND_TYPES = {
|
|
80
80
|
UPLOAD_SUCCESS: 'server:uploadSuccess',
|
|
@@ -86,6 +86,7 @@ export const LOCAL_DEV_UI_MESSAGE_SEND_TYPES = {
|
|
|
86
86
|
UPDATE_PROJECT_DATA: 'server:updateProjectData',
|
|
87
87
|
UPDATE_UPLOAD_WARNINGS: 'server:updateUploadWarnings',
|
|
88
88
|
DEV_SERVERS_STARTED: 'server:devServersStarted',
|
|
89
|
+
UPLOAD_IN_PROGRESS: 'server:uploadInProgress',
|
|
89
90
|
};
|
|
90
91
|
export const LOCAL_DEV_UI_MESSAGE_RECEIVE_TYPES = {
|
|
91
92
|
UPLOAD: 'client:upload',
|
|
@@ -94,6 +95,7 @@ export const LOCAL_DEV_UI_MESSAGE_RECEIVE_TYPES = {
|
|
|
94
95
|
APP_INSTALL_SUCCESS: 'client:installSuccess',
|
|
95
96
|
APP_INSTALL_INITIATED: 'client:installInitiated',
|
|
96
97
|
APP_INSTALL_FAILURE: 'client:installFailure',
|
|
98
|
+
SET_AUTO_UPLOAD: 'client:setAutoUpload',
|
|
97
99
|
};
|
|
98
100
|
export const APP_INSTALLATION_STATES = {
|
|
99
101
|
NOT_INSTALLED: 'NOT_INSTALLED',
|
|
@@ -118,6 +120,14 @@ export const LOCAL_DEV_SERVER_MESSAGE_TYPES = {
|
|
|
118
120
|
OAUTH_APP_INSTALL_INITIATED: 'APP_INSTALL_INITIATED',
|
|
119
121
|
};
|
|
120
122
|
export const LOCAL_DEV_WEBSOCKET_SERVER_INSTANCE_ID = 'local-dev-ui-websocket-server';
|
|
123
|
+
export const ACCOUNT_AUTH_UI_MESSAGE_SEND_TYPES = {
|
|
124
|
+
AUTH_RECEIVED: 'server:authReceived',
|
|
125
|
+
AUTH_FAILED: 'server:authFailed',
|
|
126
|
+
};
|
|
127
|
+
export const ACCOUNT_AUTH_UI_MESSAGE_RECEIVE_TYPES = {
|
|
128
|
+
PERSONAL_ACCESS_KEY: 'client:personalAccessKey',
|
|
129
|
+
};
|
|
130
|
+
export const ACCOUNT_AUTH_WEBSOCKET_SERVER_VERSION = 1;
|
|
121
131
|
export const CONFIG_LOCAL_STATE_FLAGS = {
|
|
122
132
|
LOCAL_DEV_UI_WELCOME: 'LOCAL_DEV_UI_WELCOME',
|
|
123
133
|
};
|
|
@@ -146,3 +156,6 @@ export const ACCOUNT_LEVEL_CHOICES = [
|
|
|
146
156
|
ACCOUNT_LEVELS.ENTERPRISE,
|
|
147
157
|
];
|
|
148
158
|
export const FEEDBACK_URL = 'https://developers.hubspot.com/feedback';
|
|
159
|
+
// TODO: remove this constant and use PORT_MANAGER_SERVER_PORT from
|
|
160
|
+
// @hubspot/local-dev-lib once LDL changes its default to 4828.
|
|
161
|
+
export const LOCAL_DEV_DEFAULT_PORT = 4828;
|
|
@@ -5,7 +5,7 @@ import { exec as execAsync } from 'node:child_process';
|
|
|
5
5
|
import { getProjectConfig } from './projects/config.js';
|
|
6
6
|
import { commands } from '../lang/en.js';
|
|
7
7
|
import SpinniesManager from './ui/SpinniesManager.js';
|
|
8
|
-
import { isGloballyInstalled, executeInstall, executeUpdate, DEFAULT_PACKAGE_MANAGER, } from './npm/npmCli.js';
|
|
8
|
+
import { isGloballyInstalled, executeInstall, executeUpdate, getNpmExecErrorOutput, DEFAULT_PACKAGE_MANAGER, } from './npm/npmCli.js';
|
|
9
9
|
import { findAllPackageJsonFilesInProjectCached, safeGetPackageJsonCached, } from './npm/packageJson.js';
|
|
10
10
|
import { getNpmWorkspaceDirectoryForPackageAtLocationCached } from './npm/workspaces.js';
|
|
11
11
|
class NoPackageJsonFilesError extends Error {
|
|
@@ -106,9 +106,9 @@ async function installPackagesInDirectory({ directory, packages, dev = false, np
|
|
|
106
106
|
SpinniesManager.fail(spinner, {
|
|
107
107
|
text: commands.project.installDeps.installingDependenciesFailed(relativeDir),
|
|
108
108
|
});
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
109
|
+
const npmErrorOutput = getNpmExecErrorOutput(e);
|
|
110
|
+
throw new Error(npmErrorOutput ||
|
|
111
|
+
commands.project.installDeps.installingDependenciesFailed(relativeDir), npmErrorOutput ? undefined : { cause: e });
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
114
|
export async function updatePackages({ packages, installLocations, }) {
|
|
@@ -176,27 +176,20 @@ async function updatePackagesInDirectory({ directory, packages, npmWorkspaceDire
|
|
|
176
176
|
SpinniesManager.fail(spinner, {
|
|
177
177
|
text: commands.project.updateDeps.updatingDependenciesFailed(relativeDir),
|
|
178
178
|
});
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
179
|
+
const npmErrorOutput = getNpmExecErrorOutput(e);
|
|
180
|
+
throw new Error(npmErrorOutput ||
|
|
181
|
+
commands.project.updateDeps.updatingDependenciesFailed(relativeDir), npmErrorOutput ? undefined : { cause: e });
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
184
|
export async function getProjectPackageJsonLocations(dir, isUpdate = false) {
|
|
185
|
-
const projectConfig =
|
|
186
|
-
|
|
187
|
-
!projectConfig.projectDir ||
|
|
188
|
-
!projectConfig.projectConfig) {
|
|
189
|
-
throw new Error(isUpdate
|
|
190
|
-
? commands.project.updateDeps.noProjectConfig
|
|
191
|
-
: commands.project.installDeps.noProjectConfig);
|
|
192
|
-
}
|
|
193
|
-
const { projectDir, projectConfig: { srcDir, name }, } = projectConfig;
|
|
185
|
+
const { projectConfig, projectDir } = getProjectConfig(dir);
|
|
186
|
+
const { srcDir, name } = projectConfig;
|
|
194
187
|
if (!(await isGloballyInstalled(DEFAULT_PACKAGE_MANAGER))) {
|
|
195
188
|
throw new Error(isUpdate
|
|
196
189
|
? commands.project.updateDeps.packageManagerNotInstalled(DEFAULT_PACKAGE_MANAGER)
|
|
197
190
|
: commands.project.installDeps.packageManagerNotInstalled(DEFAULT_PACKAGE_MANAGER));
|
|
198
191
|
}
|
|
199
|
-
if (!fs.existsSync(
|
|
192
|
+
if (!fs.existsSync(projectDir) ||
|
|
200
193
|
!fs.existsSync(path.join(projectDir, srcDir))) {
|
|
201
194
|
throw new NoPackageJsonFilesError(name, isUpdate);
|
|
202
195
|
}
|
package/lib/doctor/Diagnosis.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getLabels } from '@hubspot/local-dev-lib/logger';
|
|
2
2
|
import chalk from 'chalk';
|
|
3
3
|
import { helpers } from '../interpolation.js';
|
|
4
4
|
import { uiAccountDescription } from '../ui/index.js';
|
|
@@ -10,11 +10,11 @@ export class Diagnosis {
|
|
|
10
10
|
errorCount = 0;
|
|
11
11
|
warningCount = 0;
|
|
12
12
|
constructor({ diagnosticInfo, accountId }) {
|
|
13
|
-
const
|
|
13
|
+
const labels = getLabels();
|
|
14
14
|
this.prefixes = {
|
|
15
|
-
success: chalk.green(
|
|
16
|
-
error: chalk.red(
|
|
17
|
-
warning: helpers.orange(
|
|
15
|
+
success: chalk.green(labels.success),
|
|
16
|
+
error: chalk.red(labels.error),
|
|
17
|
+
warning: helpers.orange(labels.warning),
|
|
18
18
|
};
|
|
19
19
|
this.diagnosis = {
|
|
20
20
|
cli: {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { getProjectConfig } from '../projects/config.js';
|
|
2
1
|
import { Environment } from '@hubspot/local-dev-lib/types/Accounts';
|
|
3
2
|
import { AccessToken, AccountType, AuthType } from '@hubspot/local-dev-lib/types/Accounts';
|
|
4
3
|
import { Project } from '@hubspot/local-dev-lib/types/Project';
|
|
5
4
|
import process from 'process';
|
|
6
|
-
|
|
5
|
+
import type { LoadedProjectConfig } from '../projects/config.js';
|
|
6
|
+
export type ProjectConfig = LoadedProjectConfig | undefined;
|
|
7
7
|
declare const hubspotCli = "@hubspot/cli";
|
|
8
8
|
interface FilesInfo {
|
|
9
9
|
files: string[];
|
|
@@ -50,12 +50,15 @@ export class DiagnosticInfoBuilder {
|
|
|
50
50
|
this.processInfo = processInfo;
|
|
51
51
|
}
|
|
52
52
|
async generateDiagnosticInfo() {
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
try {
|
|
54
|
+
this._projectConfig = getProjectConfig();
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
this._projectConfig = undefined;
|
|
58
|
+
}
|
|
59
|
+
if (this._projectConfig) {
|
|
55
60
|
await this.fetchProjectDetails();
|
|
56
61
|
await this.fetchAccessToken();
|
|
57
|
-
}
|
|
58
|
-
if (this._projectConfig?.projectDir) {
|
|
59
62
|
await this.fetchProjectFilenames();
|
|
60
63
|
}
|
|
61
64
|
const { platform, arch, versions: { node }, mainModule, } = this.processInfo;
|
|
@@ -89,9 +92,7 @@ export class DiagnosticInfoBuilder {
|
|
|
89
92
|
}
|
|
90
93
|
async fetchProjectDetails() {
|
|
91
94
|
try {
|
|
92
|
-
const { data } = await fetchProject(this.accountId,
|
|
93
|
-
// We check that config exists before running this function
|
|
94
|
-
this._projectConfig.projectConfig.name);
|
|
95
|
+
const { data } = await fetchProject(this.accountId, this._projectConfig.projectConfig.name);
|
|
95
96
|
this.projectDetails = data;
|
|
96
97
|
}
|
|
97
98
|
catch (e) {
|
|
@@ -109,7 +110,6 @@ export class DiagnosticInfoBuilder {
|
|
|
109
110
|
}
|
|
110
111
|
async fetchProjectFilenames() {
|
|
111
112
|
try {
|
|
112
|
-
// We check that projectDir exists before running this function
|
|
113
113
|
this.files = (await walk(this._projectConfig.projectDir, ['node_modules'])).map(filename => path.relative(this._projectConfig.projectDir, filename));
|
|
114
114
|
}
|
|
115
115
|
catch (e) {
|
package/lib/doctor/Doctor.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export declare class Doctor {
|
|
|
17
17
|
private checkIfNodeIsInstalled;
|
|
18
18
|
private checkIfNpmIsInstalled;
|
|
19
19
|
private checkCLIVersion;
|
|
20
|
+
private checkMcpReadiness;
|
|
20
21
|
private checkIfNpmInstallRequired;
|
|
21
22
|
private isValidJsonFile;
|
|
22
23
|
private checkProjectConfigJsonFiles;
|
package/lib/doctor/Doctor.js
CHANGED
|
@@ -10,8 +10,8 @@ import fs from 'fs';
|
|
|
10
10
|
import path from 'path';
|
|
11
11
|
import { Diagnosis } from './Diagnosis.js';
|
|
12
12
|
import { DiagnosticInfoBuilder, } from './DiagnosticInfoBuilder.js';
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
13
|
+
import { isPortAvailable } from '@hubspot/local-dev-lib/portManager';
|
|
14
|
+
import { LOCAL_DEV_DEFAULT_PORT } from '../constants.js';
|
|
15
15
|
import { accessTokenForPersonalAccessKey,
|
|
16
16
|
// scopesOnAccessToken,
|
|
17
17
|
} from '@hubspot/local-dev-lib/personalAccessKey';
|
|
@@ -23,10 +23,12 @@ import { pkg } from '../jsonLoader.js';
|
|
|
23
23
|
import { lib } from '../../lang/en.js';
|
|
24
24
|
import { uiLink } from '../ui/index.js';
|
|
25
25
|
import { isServerRunningAtUrl } from '../http.js';
|
|
26
|
+
import { detectConfiguredMcpClients } from '../mcp/promotion.js';
|
|
27
|
+
import { MCP_CLIENTS } from '../mcp/clients.js';
|
|
26
28
|
import { WEBHOOKS_KEY, APP_KEY } from '@hubspot/project-parsing-lib/constants';
|
|
27
|
-
import { validateProjectConfig } from '
|
|
29
|
+
import { validateProjectConfig } from '@hubspot/project-parsing-lib/projects';
|
|
28
30
|
import { validateSourceDirectory, handleTranslate, } from '../projects/upload.js';
|
|
29
|
-
import {
|
|
31
|
+
import { isLegacyProject } from '@hubspot/project-parsing-lib/projects';
|
|
30
32
|
import { validateProjectForProfile } from '../projects/projectProfiles.js';
|
|
31
33
|
import { getAllHsProfiles } from '@hubspot/project-parsing-lib/profiles';
|
|
32
34
|
const minMajorNodeVersion = 20;
|
|
@@ -55,7 +57,7 @@ export class Doctor {
|
|
|
55
57
|
...this.performCliChecks(),
|
|
56
58
|
...this.performCliConfigChecks(),
|
|
57
59
|
...this.performNetworkingChecks(),
|
|
58
|
-
...(this.projectConfig
|
|
60
|
+
...(this.projectConfig ? this.performProjectChecks() : []),
|
|
59
61
|
]);
|
|
60
62
|
this.performDefaultAccountOverrideFileChecks();
|
|
61
63
|
this.performCliConfigSettingsChecks();
|
|
@@ -73,6 +75,7 @@ export class Doctor {
|
|
|
73
75
|
this.checkIfNodeIsInstalled(),
|
|
74
76
|
this.checkIfNpmIsInstalled(),
|
|
75
77
|
this.checkCLIVersion(),
|
|
78
|
+
this.checkMcpReadiness(),
|
|
76
79
|
];
|
|
77
80
|
}
|
|
78
81
|
performNetworkingChecks() {
|
|
@@ -252,12 +255,35 @@ export class Doctor {
|
|
|
252
255
|
});
|
|
253
256
|
}
|
|
254
257
|
}
|
|
258
|
+
async checkMcpReadiness() {
|
|
259
|
+
try {
|
|
260
|
+
const configuredClients = detectConfiguredMcpClients();
|
|
261
|
+
const allClientIds = MCP_CLIENTS.map(c => c.id);
|
|
262
|
+
const unconfiguredClients = allClientIds.filter(id => !configuredClients.includes(id));
|
|
263
|
+
if (configuredClients.length > 0) {
|
|
264
|
+
this.diagnosis?.addCliSection({
|
|
265
|
+
type: 'success',
|
|
266
|
+
message: lib.doctor.mcpChecks.configured(configuredClients),
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
if (unconfiguredClients.length > 0) {
|
|
270
|
+
this.diagnosis?.addCliSection({
|
|
271
|
+
type: 'warning',
|
|
272
|
+
message: lib.doctor.mcpChecks.notConfigured(unconfiguredClients),
|
|
273
|
+
secondaryMessaging: lib.doctor.mcpChecks.notConfiguredSecondary,
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
catch (e) {
|
|
278
|
+
uiLogger.debug(getErrorMessage(e));
|
|
279
|
+
}
|
|
280
|
+
}
|
|
255
281
|
async checkIfNpmInstallRequired() {
|
|
256
282
|
let foundError = false;
|
|
257
283
|
for (const packageFile of this.diagnosticInfo?.packageFiles || []) {
|
|
258
284
|
const packageDirName = path.dirname(packageFile);
|
|
259
285
|
try {
|
|
260
|
-
const needsInstall = await hasMissingPackages(path.join(this.projectConfig?.projectDir
|
|
286
|
+
const needsInstall = await hasMissingPackages(path.join(this.projectConfig?.projectDir ?? '', packageDirName));
|
|
261
287
|
if (needsInstall) {
|
|
262
288
|
foundError = true;
|
|
263
289
|
this.diagnosis?.addProjectSection({
|
|
@@ -305,7 +331,7 @@ export class Doctor {
|
|
|
305
331
|
async checkProjectConfigJsonFiles() {
|
|
306
332
|
let foundError = false;
|
|
307
333
|
for (const jsonFile of this.diagnosticInfo?.jsonFiles || []) {
|
|
308
|
-
const fileToCheck = path.join(this.projectConfig?.projectDir
|
|
334
|
+
const fileToCheck = path.join(this.projectConfig?.projectDir ?? '', jsonFile);
|
|
309
335
|
if (!(await this.isValidJsonFile(fileToCheck))) {
|
|
310
336
|
foundError = true;
|
|
311
337
|
this.diagnosis?.addProjectSection({
|
|
@@ -322,16 +348,16 @@ export class Doctor {
|
|
|
322
348
|
}
|
|
323
349
|
}
|
|
324
350
|
async checkIfPortsAreAvailable() {
|
|
325
|
-
if (await
|
|
351
|
+
if (await isPortAvailable(LOCAL_DEV_DEFAULT_PORT)) {
|
|
326
352
|
this.diagnosis?.addProjectSection({
|
|
327
353
|
type: 'success',
|
|
328
|
-
message: lib.doctor.port.available(
|
|
354
|
+
message: lib.doctor.port.available(LOCAL_DEV_DEFAULT_PORT),
|
|
329
355
|
});
|
|
330
356
|
return;
|
|
331
357
|
}
|
|
332
358
|
this.diagnosis?.addProjectSection({
|
|
333
359
|
type: 'warning',
|
|
334
|
-
message: lib.doctor.port.inUse(
|
|
360
|
+
message: lib.doctor.port.inUse(LOCAL_DEV_DEFAULT_PORT),
|
|
335
361
|
secondaryMessaging: lib.doctor.port.inUseSecondary,
|
|
336
362
|
});
|
|
337
363
|
}
|
|
@@ -406,7 +432,7 @@ export class Doctor {
|
|
|
406
432
|
const hsMetaFiles = this.diagnosticInfo?.hsMetaFiles || [];
|
|
407
433
|
for (const metaFiles of hsMetaFiles) {
|
|
408
434
|
try {
|
|
409
|
-
const content = await fs.promises.readFile(path.join(this.projectConfig?.projectDir
|
|
435
|
+
const content = await fs.promises.readFile(path.join(this.projectConfig?.projectDir ?? '', metaFiles), 'utf8');
|
|
410
436
|
const contents = JSON.parse(content);
|
|
411
437
|
if (contents.type === WEBHOOKS_KEY &&
|
|
412
438
|
contents.config?.settings?.targetUrl) {
|
|
@@ -435,7 +461,7 @@ export class Doctor {
|
|
|
435
461
|
const hsMetaFiles = this.diagnosticInfo?.hsMetaFiles || [];
|
|
436
462
|
for (const metaFile of hsMetaFiles) {
|
|
437
463
|
try {
|
|
438
|
-
const content = await fs.promises.readFile(path.join(this.projectConfig?.projectDir
|
|
464
|
+
const content = await fs.promises.readFile(path.join(this.projectConfig?.projectDir ?? '', metaFile), 'utf8');
|
|
439
465
|
const contents = JSON.parse(content);
|
|
440
466
|
if (contents.type === APP_KEY &&
|
|
441
467
|
Array.isArray(contents.config?.auth?.redirectUrls)) {
|
|
@@ -524,9 +550,7 @@ export class Doctor {
|
|
|
524
550
|
}
|
|
525
551
|
}
|
|
526
552
|
async checkProjectValidation() {
|
|
527
|
-
if (!this.projectConfig
|
|
528
|
-
!this.projectConfig?.projectDir ||
|
|
529
|
-
!this.accountId) {
|
|
553
|
+
if (!this.projectConfig || !this.accountId) {
|
|
530
554
|
return;
|
|
531
555
|
}
|
|
532
556
|
const { projectConfig, projectDir } = this.projectConfig;
|
|
@@ -534,7 +558,7 @@ export class Doctor {
|
|
|
534
558
|
if (!this.validateProjectConfigWrapper(projectConfig, projectDir)) {
|
|
535
559
|
return;
|
|
536
560
|
}
|
|
537
|
-
if (
|
|
561
|
+
if (isLegacyProject(projectConfig.platformVersion)) {
|
|
538
562
|
this.diagnosis?.addProjectSection({
|
|
539
563
|
type: 'success',
|
|
540
564
|
message: lib.doctor.projectValidation.valid,
|
|
@@ -7,11 +7,12 @@ import util from 'util';
|
|
|
7
7
|
import { isProjectValidationError } from '../errors/ProjectValidationError.js';
|
|
8
8
|
export function logError(error, context) {
|
|
9
9
|
debugError(error, context);
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
// This should be right after debugError. Add anything else below it
|
|
11
|
+
if (shouldSuppressError(error, context)) {
|
|
12
12
|
return;
|
|
13
13
|
}
|
|
14
|
-
if (
|
|
14
|
+
if (isProjectValidationError(error)) {
|
|
15
|
+
uiLogger.error(error.message);
|
|
15
16
|
return;
|
|
16
17
|
}
|
|
17
18
|
if (isHubSpotHttpError(error)) {
|
|
@@ -3,6 +3,7 @@ import { uiLogger } from '../ui/logger.js';
|
|
|
3
3
|
import { PLATFORM_VERSION_ERROR_TYPES } from '../constants.js';
|
|
4
4
|
import { lib } from '../../lang/en.js';
|
|
5
5
|
import { uiAccountDescription, uiLine, uiLink } from '../ui/index.js';
|
|
6
|
+
import { isPromptExitError } from '../errors/PromptExitError.js';
|
|
6
7
|
function createPlatformVersionError(err, subCategory) {
|
|
7
8
|
let translationKey = 'unspecifiedPlatformVersion';
|
|
8
9
|
let platformVersion = 'unspecified platformVersion';
|
|
@@ -27,6 +28,9 @@ function createPlatformVersionError(err, subCategory) {
|
|
|
27
28
|
uiLine();
|
|
28
29
|
}
|
|
29
30
|
export function shouldSuppressError(err, context) {
|
|
31
|
+
if (isPromptExitError(err)) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
30
34
|
if (isMissingScopeError(err)) {
|
|
31
35
|
uiLogger.error(lib.errorHandlers.suppressErrors.missingScopeError(context?.request || 'request', context?.accountId ? uiAccountDescription(context.accountId) : ''));
|
|
32
36
|
return true;
|
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
export declare class ProjectNestingError extends Error {
|
|
2
2
|
constructor(message: string);
|
|
3
3
|
}
|
|
4
|
-
export declare class ProjectConfigNotFoundError extends Error {
|
|
5
|
-
constructor(message: string);
|
|
6
|
-
}
|
|
7
|
-
export declare class ProjectValidationError extends Error {
|
|
8
|
-
constructor(message: string);
|
|
9
|
-
}
|
|
10
4
|
export declare class ProjectUploadError extends Error {
|
|
11
5
|
constructor(message: string, cause?: unknown);
|
|
12
6
|
}
|
|
@@ -4,18 +4,6 @@ export class ProjectNestingError extends Error {
|
|
|
4
4
|
this.name = 'ProjectNestingError';
|
|
5
5
|
}
|
|
6
6
|
}
|
|
7
|
-
export class ProjectConfigNotFoundError extends Error {
|
|
8
|
-
constructor(message) {
|
|
9
|
-
super(message);
|
|
10
|
-
this.name = 'ProjectConfigNotFoundError';
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
export class ProjectValidationError extends Error {
|
|
14
|
-
constructor(message) {
|
|
15
|
-
super(message);
|
|
16
|
-
this.name = 'ProjectValidationError';
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
7
|
export class ProjectUploadError extends Error {
|
|
20
8
|
constructor(message, cause) {
|
|
21
9
|
super(message, { cause });
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import { ProjectConfigValidationError } from '@hubspot/project-parsing-lib/projects';
|
|
1
2
|
export default class ProjectValidationError extends Error {
|
|
2
3
|
constructor(message: string, options?: ErrorOptions);
|
|
3
4
|
}
|
|
4
|
-
export declare function isProjectValidationError(err: unknown): err is ProjectValidationError;
|
|
5
|
+
export declare function isProjectValidationError(err: unknown): err is ProjectValidationError | ProjectConfigValidationError;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ProjectConfigValidationError } from '@hubspot/project-parsing-lib/projects';
|
|
1
2
|
export default class ProjectValidationError extends Error {
|
|
2
3
|
constructor(message, options) {
|
|
3
4
|
super(message, options);
|
|
@@ -5,5 +6,6 @@ export default class ProjectValidationError extends Error {
|
|
|
5
6
|
}
|
|
6
7
|
}
|
|
7
8
|
export function isProjectValidationError(err) {
|
|
8
|
-
return err instanceof ProjectValidationError
|
|
9
|
+
return (err instanceof ProjectValidationError ||
|
|
10
|
+
err instanceof ProjectConfigValidationError);
|
|
9
11
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export class PromptExitError extends Error {
|
|
2
|
+
exitCode;
|
|
3
|
+
constructor(message, exitCode) {
|
|
4
|
+
super(message);
|
|
5
|
+
this.name = 'PromptExitError';
|
|
6
|
+
this.exitCode = exitCode;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export function isPromptExitError(e) {
|
|
10
|
+
return e instanceof PromptExitError;
|
|
11
|
+
}
|