@sanity/cli 6.0.0-alpha.8 → 6.0.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/README.md +728 -258
- package/bin/run.js +2 -0
- package/dist/SanityHelp.js +51 -23
- package/dist/SanityHelp.js.map +1 -1
- package/dist/actions/auth/authServer.js +28 -22
- package/dist/actions/auth/authServer.js.map +1 -1
- package/dist/actions/auth/login/getProvider.js +49 -38
- package/dist/actions/auth/login/getProvider.js.map +1 -1
- package/dist/actions/auth/login/getSSOProvider.js +25 -19
- package/dist/actions/auth/login/getSSOProvider.js.map +1 -1
- package/dist/actions/auth/login/login.js +24 -37
- package/dist/actions/auth/login/login.js.map +1 -1
- package/dist/actions/auth/types.js.map +1 -1
- package/dist/actions/backup/downloadAsset.js +9 -9
- package/dist/actions/backup/downloadAsset.js.map +1 -1
- package/dist/actions/backup/downloadDocument.js +8 -8
- package/dist/actions/backup/downloadDocument.js.map +1 -1
- package/dist/actions/build/buildApp.js +65 -28
- package/dist/actions/build/buildApp.js.map +1 -1
- package/dist/actions/build/buildStaticFiles.js +3 -2
- package/dist/actions/build/buildStaticFiles.js.map +1 -1
- package/dist/actions/build/buildStudio.js +82 -54
- package/dist/actions/build/buildStudio.js.map +1 -1
- package/dist/actions/build/buildVendorDependencies.js +18 -52
- package/dist/actions/build/buildVendorDependencies.js.map +1 -1
- package/dist/actions/build/checkRequiredDependencies.js +13 -8
- package/dist/actions/build/checkRequiredDependencies.js.map +1 -1
- package/dist/actions/build/checkStudioDependencyVersions.js +19 -17
- package/dist/actions/build/checkStudioDependencyVersions.js.map +1 -1
- package/dist/actions/build/createExternalFromImportMap.js +1 -1
- package/dist/actions/build/createExternalFromImportMap.js.map +1 -1
- package/dist/actions/build/determineBasePath.js +5 -2
- package/dist/actions/build/determineBasePath.js.map +1 -1
- package/dist/actions/build/getStudioEnvironmentVariables.js +1 -1
- package/dist/actions/build/getStudioEnvironmentVariables.js.map +1 -1
- package/dist/actions/build/getViteConfig.js +48 -5
- package/dist/actions/build/getViteConfig.js.map +1 -1
- package/dist/actions/build/handlePrereleaseVersions.js +44 -0
- package/dist/actions/build/handlePrereleaseVersions.js.map +1 -0
- package/dist/actions/build/renderDocument.js +6 -10
- package/dist/actions/build/renderDocument.js.map +1 -1
- package/dist/actions/build/renderDocumentWorker/components/BasicDocument.js +4 -4
- package/dist/actions/build/renderDocumentWorker/components/BasicDocument.js.map +1 -1
- package/dist/actions/build/renderDocumentWorker/components/DefaultDocument.js +3 -3
- package/dist/actions/build/renderDocumentWorker/components/DefaultDocument.js.map +1 -1
- package/dist/actions/build/renderDocumentWorker/components/GlobalErrorHandler.js +1 -0
- package/dist/actions/build/renderDocumentWorker/components/GlobalErrorHandler.js.map +1 -1
- package/dist/actions/build/renderDocumentWorker/getDocumentComponent.js +2 -2
- package/dist/actions/build/renderDocumentWorker/getDocumentComponent.js.map +1 -1
- package/dist/actions/build/renderDocumentWorker/renderDocumentWorker.js +1 -1
- package/dist/actions/build/renderDocumentWorker/renderDocumentWorker.js.map +1 -1
- package/dist/actions/build/shouldAutoUpdate.js +5 -3
- package/dist/actions/build/shouldAutoUpdate.js.map +1 -1
- package/dist/actions/build/types.js.map +1 -1
- package/dist/actions/build/writeFavicons.js +3 -5
- package/dist/actions/build/writeFavicons.js.map +1 -1
- package/dist/actions/build/writeSanityRuntime.js +6 -5
- package/dist/actions/build/writeSanityRuntime.js.map +1 -1
- package/dist/actions/codemods/reactIconsV3.js +2 -2
- package/dist/actions/codemods/reactIconsV3.js.map +1 -1
- package/dist/actions/dataset/create.js +10 -6
- package/dist/actions/dataset/create.js.map +1 -1
- package/dist/actions/dataset/determineDatasetAclMode.js.map +1 -1
- package/dist/actions/dataset/resolveDataset.js +26 -0
- package/dist/actions/dataset/resolveDataset.js.map +1 -0
- package/dist/actions/debug/formatters.js +22 -0
- package/dist/actions/debug/formatters.js.map +1 -0
- package/dist/actions/deploy/createStudioUserApplication.js +17 -4
- package/dist/actions/deploy/createStudioUserApplication.js.map +1 -1
- package/dist/actions/deploy/deployApp.js +52 -22
- package/dist/actions/deploy/deployApp.js.map +1 -1
- package/dist/actions/deploy/deployStudio.js +95 -46
- package/dist/actions/deploy/deployStudio.js.map +1 -1
- package/dist/actions/deploy/deployStudioSchemasAndManifests.js +55 -0
- package/dist/actions/deploy/deployStudioSchemasAndManifests.js.map +1 -0
- package/dist/actions/deploy/deployStudioSchemasAndManifests.worker.js +120 -0
- package/dist/actions/deploy/deployStudioSchemasAndManifests.worker.js.map +1 -0
- package/dist/actions/deploy/findUserApplicationForStudio.js +35 -12
- package/dist/actions/deploy/findUserApplicationForStudio.js.map +1 -1
- package/dist/actions/deploy/types.js +10 -1
- package/dist/actions/deploy/types.js.map +1 -1
- package/dist/actions/deploy/urlUtils.js +21 -0
- package/dist/actions/deploy/urlUtils.js.map +1 -0
- package/dist/actions/dev/getDashboardAppUrl.js +48 -0
- package/dist/actions/dev/getDashboardAppUrl.js.map +1 -0
- package/dist/actions/dev/getDevServerConfig.js +7 -3
- package/dist/actions/dev/getDevServerConfig.js.map +1 -1
- package/dist/actions/dev/startAppDevServer.js +7 -4
- package/dist/actions/dev/startAppDevServer.js.map +1 -1
- package/dist/actions/dev/startStudioDevServer.js +23 -19
- package/dist/actions/dev/startStudioDevServer.js.map +1 -1
- package/dist/actions/doctor/checks/cliInstallation.js +56 -0
- package/dist/actions/doctor/checks/cliInstallation.js.map +1 -0
- package/dist/actions/doctor/checks/index.js +16 -0
- package/dist/actions/doctor/checks/index.js.map +1 -0
- package/dist/actions/doctor/runDoctorChecks.js +56 -0
- package/dist/actions/doctor/runDoctorChecks.js.map +1 -0
- package/dist/actions/doctor/types.js.map +1 -0
- package/dist/actions/documents/types.js.map +1 -1
- package/dist/actions/documents/validate.js +15 -17
- package/dist/actions/documents/validate.js.map +1 -1
- package/dist/{threads/validateDocuments.js → actions/documents/validateDocuments.worker.js} +37 -37
- package/dist/actions/documents/validateDocuments.worker.js.map +1 -0
- package/dist/actions/documents/validation/reporters/jsonReporter.js +1 -1
- package/dist/actions/documents/validation/reporters/jsonReporter.js.map +1 -1
- package/dist/actions/documents/validation/reporters/ndjsonReporter.js +1 -1
- package/dist/actions/documents/validation/reporters/ndjsonReporter.js.map +1 -1
- package/dist/actions/documents/validation/reporters/prettyReporter/formatDocumentValidation.js +9 -8
- package/dist/actions/documents/validation/reporters/prettyReporter/formatDocumentValidation.js.map +1 -1
- package/dist/actions/documents/validation/reporters/prettyReporter/prettyReporter.js.map +1 -1
- package/dist/actions/documents/validation/reporters/prettyReporter/tree.js +108 -0
- package/dist/actions/documents/validation/reporters/prettyReporter/tree.js.map +1 -0
- package/dist/{threads/configClient.js → actions/exec/configClient.worker.js} +2 -2
- package/dist/actions/exec/configClient.worker.js.map +1 -0
- package/dist/actions/exec/execScript.js +29 -25
- package/dist/actions/exec/execScript.js.map +1 -1
- package/dist/{threads/registerBrowserEnv.js → actions/exec/registerBrowserEnv.worker.js} +1 -1
- package/dist/actions/exec/registerBrowserEnv.worker.js.map +1 -0
- package/dist/actions/graphql/SchemaError.js +15 -0
- package/dist/actions/graphql/SchemaError.js.map +1 -0
- package/dist/actions/graphql/__tests__/fixtures/many-self-refs.js +540 -0
- package/dist/actions/graphql/__tests__/fixtures/many-self-refs.js.map +1 -0
- package/dist/actions/graphql/__tests__/fixtures/test-studio.js +1143 -0
- package/dist/actions/graphql/__tests__/fixtures/test-studio.js.map +1 -0
- package/dist/actions/graphql/__tests__/fixtures/union-refs.js +591 -0
- package/dist/actions/graphql/__tests__/fixtures/union-refs.js.map +1 -0
- package/dist/actions/graphql/__tests__/helpers.js +23 -0
- package/dist/actions/graphql/__tests__/helpers.js.map +1 -0
- package/dist/actions/graphql/extractFromSanitySchema.js +659 -0
- package/dist/actions/graphql/extractFromSanitySchema.js.map +1 -0
- package/dist/actions/graphql/extractGraphQLAPIs.js +150 -0
- package/dist/actions/graphql/extractGraphQLAPIs.js.map +1 -0
- package/dist/actions/graphql/extractGraphQLAPIs.worker.js +12 -0
- package/dist/actions/graphql/extractGraphQLAPIs.worker.js.map +1 -0
- package/dist/actions/graphql/gen1/generateTypeFilters.js +226 -0
- package/dist/actions/graphql/gen1/generateTypeFilters.js.map +1 -0
- package/dist/actions/graphql/gen1/generateTypeQueries.js +86 -0
- package/dist/actions/graphql/gen1/generateTypeQueries.js.map +1 -0
- package/dist/actions/graphql/gen1/index.js +19 -0
- package/dist/actions/graphql/gen1/index.js.map +1 -0
- package/dist/actions/graphql/gen2/filters/booleanFilters.js +26 -0
- package/dist/actions/graphql/gen2/filters/booleanFilters.js.map +1 -0
- package/dist/actions/graphql/gen2/filters/dateFilters.js +46 -0
- package/dist/actions/graphql/gen2/filters/dateFilters.js.map +1 -0
- package/dist/actions/graphql/gen2/filters/dateTimeFilters.js +46 -0
- package/dist/actions/graphql/gen2/filters/dateTimeFilters.js.map +1 -0
- package/dist/actions/graphql/gen2/filters/documentFilters.js +21 -0
- package/dist/actions/graphql/gen2/filters/documentFilters.js.map +1 -0
- package/dist/actions/graphql/gen2/filters/floatFilters.js +46 -0
- package/dist/actions/graphql/gen2/filters/floatFilters.js.map +1 -0
- package/dist/actions/graphql/gen2/filters/idFilters.js +44 -0
- package/dist/actions/graphql/gen2/filters/idFilters.js.map +1 -0
- package/dist/actions/graphql/gen2/filters/integerFilters.js +46 -0
- package/dist/actions/graphql/gen2/filters/integerFilters.js.map +1 -0
- package/dist/actions/graphql/gen2/filters/stringFilters.js +49 -0
- package/dist/actions/graphql/gen2/filters/stringFilters.js.map +1 -0
- package/dist/actions/graphql/gen2/generateTypeFilters.js +85 -0
- package/dist/actions/graphql/gen2/generateTypeFilters.js.map +1 -0
- package/dist/actions/graphql/gen2/generateTypeQueries.js +107 -0
- package/dist/actions/graphql/gen2/generateTypeQueries.js.map +1 -0
- package/dist/actions/graphql/gen2/generateTypeSortings.js +70 -0
- package/dist/actions/graphql/gen2/generateTypeSortings.js.map +1 -0
- package/dist/actions/graphql/gen2/index.js +22 -0
- package/dist/actions/graphql/gen2/index.js.map +1 -0
- package/dist/actions/graphql/gen3/filters/documentFilters.js +21 -0
- package/dist/actions/graphql/gen3/filters/documentFilters.js.map +1 -0
- package/dist/actions/graphql/gen3/generateTypeFilters.js +101 -0
- package/dist/actions/graphql/gen3/generateTypeFilters.js.map +1 -0
- package/dist/actions/graphql/gen3/generateTypeQueries.js +103 -0
- package/dist/actions/graphql/gen3/generateTypeQueries.js.map +1 -0
- package/dist/actions/graphql/gen3/generateTypeSortings.js +70 -0
- package/dist/actions/graphql/gen3/generateTypeSortings.js.map +1 -0
- package/dist/actions/graphql/gen3/index.js +30 -0
- package/dist/actions/graphql/gen3/index.js.map +1 -0
- package/dist/actions/graphql/gen3/utils.js +12 -0
- package/dist/actions/graphql/gen3/utils.js.map +1 -0
- package/dist/actions/graphql/getGraphQLAPIs.js +15 -57
- package/dist/actions/graphql/getGraphQLAPIs.js.map +1 -1
- package/dist/actions/graphql/getGraphQLAPIs.worker.js +75 -106
- package/dist/actions/graphql/getGraphQLAPIs.worker.js.map +1 -1
- package/dist/actions/graphql/graphqlDebug.js +4 -0
- package/dist/actions/graphql/graphqlDebug.js.map +1 -0
- package/dist/actions/graphql/helpUrls.js +3 -0
- package/dist/actions/graphql/helpUrls.js.map +1 -0
- package/dist/actions/graphql/helpers.js +24 -0
- package/dist/actions/graphql/helpers.js.map +1 -0
- package/dist/actions/graphql/resolveApiGeneration.js +43 -0
- package/dist/actions/graphql/resolveApiGeneration.js.map +1 -0
- package/dist/actions/graphql/resolveGraphQLApisFromWorkspaces.js +187 -0
- package/dist/actions/graphql/resolveGraphQLApisFromWorkspaces.js.map +1 -0
- package/dist/actions/graphql/types.js.map +1 -1
- package/dist/actions/init/bootstrapLocalTemplate.js +13 -10
- package/dist/actions/init/bootstrapLocalTemplate.js.map +1 -1
- package/dist/actions/init/bootstrapRemoteTemplate.js +6 -5
- package/dist/actions/init/bootstrapRemoteTemplate.js.map +1 -1
- package/dist/actions/init/bootstrapTemplate.js.map +1 -1
- package/dist/actions/init/checkNextJsReactCompatibility.js +1 -1
- package/dist/actions/init/checkNextJsReactCompatibility.js.map +1 -1
- package/dist/actions/init/createAppCliConfig.js.map +1 -1
- package/dist/actions/init/createCliConfig.js.map +1 -1
- package/dist/actions/init/createPackageManifest.js +21 -9
- package/dist/actions/init/createPackageManifest.js.map +1 -1
- package/dist/actions/init/env/createOrAppendEnvVars.js +2 -2
- package/dist/actions/init/env/createOrAppendEnvVars.js.map +1 -1
- package/dist/actions/init/env/writeEnvVarsToFile.js +2 -2
- package/dist/actions/init/env/writeEnvVarsToFile.js.map +1 -1
- package/dist/actions/init/fetchPostInitPrompt.js +2 -2
- package/dist/actions/init/fetchPostInitPrompt.js.map +1 -1
- package/dist/actions/init/remoteTemplate.js +1 -2
- package/dist/actions/init/remoteTemplate.js.map +1 -1
- package/dist/actions/init/resolvePackageManager.js +2 -2
- package/dist/actions/init/resolvePackageManager.js.map +1 -1
- package/dist/actions/init/sdkAppDependencies.js +19 -0
- package/dist/actions/init/sdkAppDependencies.js.map +1 -0
- package/dist/actions/init/studioDependencies.js.map +1 -0
- package/dist/actions/init/templates/appQuickstart.js +1 -22
- package/dist/actions/init/templates/appQuickstart.js.map +1 -1
- package/dist/actions/init/templates/appSanityUi.js +3 -22
- package/dist/actions/init/templates/appSanityUi.js.map +1 -1
- package/dist/actions/init/types.js.map +1 -1
- package/dist/actions/manifest/SchemaIcon.js +6 -4
- package/dist/actions/manifest/SchemaIcon.js.map +1 -1
- package/dist/actions/manifest/blockTypeTransformer.js +67 -0
- package/dist/actions/manifest/blockTypeTransformer.js.map +1 -0
- package/dist/actions/manifest/debug.js +4 -0
- package/dist/actions/manifest/debug.js.map +1 -0
- package/dist/actions/manifest/extractAppManifest.js +39 -22
- package/dist/actions/manifest/extractAppManifest.js.map +1 -1
- package/dist/actions/manifest/extractManifest.js +27 -78
- package/dist/actions/manifest/extractManifest.js.map +1 -1
- package/dist/actions/manifest/extractManifest.worker.js +30 -0
- package/dist/actions/manifest/extractManifest.worker.js.map +1 -0
- package/dist/actions/manifest/extractWorkspaceManifest.js +31 -372
- package/dist/actions/manifest/extractWorkspaceManifest.js.map +1 -1
- package/dist/actions/manifest/iconResolver.js +30 -0
- package/dist/actions/manifest/iconResolver.js.map +1 -0
- package/dist/actions/manifest/referenceTransformer.js +51 -0
- package/dist/actions/manifest/referenceTransformer.js.map +1 -0
- package/dist/actions/manifest/schemaTypeHelpers.js +2 -2
- package/dist/actions/manifest/schemaTypeHelpers.js.map +1 -1
- package/dist/actions/manifest/schemaTypeTransformer.js +168 -0
- package/dist/actions/manifest/schemaTypeTransformer.js.map +1 -0
- package/dist/actions/manifest/transformerUtils.js +40 -0
- package/dist/actions/manifest/transformerUtils.js.map +1 -0
- package/dist/actions/manifest/types.js +5 -0
- package/dist/actions/manifest/types.js.map +1 -1
- package/dist/actions/manifest/validationTransformer.js +84 -0
- package/dist/actions/manifest/validationTransformer.js.map +1 -0
- package/dist/actions/manifest/writeManifestFile.js +30 -0
- package/dist/actions/manifest/writeManifestFile.js.map +1 -0
- package/dist/actions/manifest/writeWorkspaceFiles.js +30 -0
- package/dist/actions/manifest/writeWorkspaceFiles.js.map +1 -0
- package/dist/actions/mcp/detectAvailableEditors.js +75 -58
- package/dist/actions/mcp/detectAvailableEditors.js.map +1 -1
- package/dist/actions/mcp/editorConfigs.js +205 -0
- package/dist/actions/mcp/editorConfigs.js.map +1 -0
- package/dist/actions/mcp/promptForMCPSetup.js +24 -0
- package/dist/actions/mcp/promptForMCPSetup.js.map +1 -0
- package/dist/actions/mcp/setupMCP.js +88 -0
- package/dist/actions/mcp/setupMCP.js.map +1 -0
- package/dist/actions/mcp/types.js +3 -0
- package/dist/actions/mcp/types.js.map +1 -0
- package/dist/actions/mcp/writeMCPConfig.js +35 -28
- package/dist/actions/mcp/writeMCPConfig.js.map +1 -1
- package/dist/actions/media/buildNdjsonIndex.js +32 -0
- package/dist/actions/media/buildNdjsonIndex.js.map +1 -0
- package/dist/actions/media/importAspects.js +2 -11
- package/dist/actions/media/importAspects.js.map +1 -1
- package/dist/actions/media/importMedia.js +24 -20
- package/dist/actions/media/importMedia.js.map +1 -1
- package/dist/actions/organizations/findOrganizationByUserName.js +5 -0
- package/dist/actions/organizations/findOrganizationByUserName.js.map +1 -0
- package/dist/actions/organizations/getOrganization.js +68 -0
- package/dist/actions/organizations/getOrganization.js.map +1 -0
- package/dist/actions/organizations/getOrganizationChoices.js +27 -19
- package/dist/actions/organizations/getOrganizationChoices.js.map +1 -1
- package/dist/actions/organizations/hasProjectAttachGrant.js +1 -1
- package/dist/actions/organizations/hasProjectAttachGrant.js.map +1 -1
- package/dist/actions/organizations/types.js +3 -0
- package/dist/actions/organizations/types.js.map +1 -0
- package/dist/actions/organizations/validateOrganizationName.js +10 -0
- package/dist/actions/organizations/validateOrganizationName.js.map +1 -0
- package/dist/actions/preview/previewAction.js +2 -1
- package/dist/actions/preview/previewAction.js.map +1 -1
- package/dist/actions/projects/getManageUrl.js +6 -0
- package/dist/actions/projects/getManageUrl.js.map +1 -0
- package/dist/actions/projects/validateProjectName.js +11 -0
- package/dist/actions/projects/validateProjectName.js.map +1 -0
- package/dist/actions/schema/deleteSchemaAction.js +16 -32
- package/dist/actions/schema/deleteSchemaAction.js.map +1 -1
- package/dist/actions/schema/deploySchemas.js +22 -91
- package/dist/actions/schema/deploySchemas.js.map +1 -1
- package/dist/actions/schema/extractSanitySchema.worker.js +33 -0
- package/dist/actions/schema/extractSanitySchema.worker.js.map +1 -0
- package/dist/actions/schema/extractSanityWorkspace.worker.js +24 -0
- package/dist/actions/schema/extractSanityWorkspace.worker.js.map +1 -0
- package/dist/actions/schema/extractSchema.js +45 -0
- package/dist/actions/schema/extractSchema.js.map +1 -0
- package/dist/actions/schema/extractSchemaWatcher.js +128 -0
- package/dist/actions/schema/extractSchemaWatcher.js.map +1 -0
- package/dist/actions/schema/formatSchemaValidation.js +22 -6
- package/dist/actions/schema/formatSchemaValidation.js.map +1 -1
- package/dist/actions/schema/getExtractOptions.js +16 -0
- package/dist/actions/schema/getExtractOptions.js.map +1 -0
- package/dist/actions/schema/listSchemas.js +54 -57
- package/dist/actions/schema/listSchemas.js.map +1 -1
- package/dist/actions/schema/matchSchemaPattern.js +22 -0
- package/dist/actions/schema/matchSchemaPattern.js.map +1 -0
- package/dist/actions/schema/metafile.js.map +1 -1
- package/dist/actions/schema/runSchemaExtraction.js +39 -0
- package/dist/actions/schema/runSchemaExtraction.js.map +1 -0
- package/dist/actions/schema/types.js +17 -0
- package/dist/actions/schema/types.js.map +1 -0
- package/dist/actions/schema/uniqueWorkspaces.worker.js +24 -0
- package/dist/actions/schema/uniqueWorkspaces.worker.js.map +1 -0
- package/dist/actions/schema/updateWorkspaceSchema.js +63 -0
- package/dist/actions/schema/updateWorkspaceSchema.js.map +1 -0
- package/dist/actions/schema/uploadSchemaToLexicon.js +87 -0
- package/dist/actions/schema/uploadSchemaToLexicon.js.map +1 -0
- package/dist/actions/schema/utils/SchemaExtractionError.js +10 -0
- package/dist/actions/schema/utils/SchemaExtractionError.js.map +1 -0
- package/dist/actions/schema/utils/debug.js +1 -0
- package/dist/actions/schema/utils/debug.js.map +1 -1
- package/dist/actions/schema/utils/extractValidationFromSchemaError.js +12 -0
- package/dist/actions/schema/utils/extractValidationFromSchemaError.js.map +1 -0
- package/dist/actions/schema/utils/schemaStoreValidation.js +1 -15
- package/dist/actions/schema/utils/schemaStoreValidation.js.map +1 -1
- package/dist/actions/schema/utils/uniqByProjectIdDataset.js +1 -1
- package/dist/actions/schema/utils/uniqByProjectIdDataset.js.map +1 -1
- package/dist/actions/schema/validateAction.js +7 -17
- package/dist/actions/schema/validateAction.js.map +1 -1
- package/dist/{threads/validateSchema.js → actions/schema/validateSchema.worker.js} +28 -26
- package/dist/actions/schema/validateSchema.worker.js.map +1 -0
- package/dist/actions/schema/watchExtractSchema.js +72 -0
- package/dist/actions/schema/watchExtractSchema.js.map +1 -0
- package/dist/actions/telemetry/getLearnMoreMessage.js.map +1 -1
- package/dist/actions/telemetry/getStatusDisplay.js.map +1 -1
- package/dist/actions/telemetry/getStatusMessage.js.map +1 -1
- package/dist/actions/telemetry/isTrueish.js +10 -0
- package/dist/actions/telemetry/isTrueish.js.map +1 -0
- package/dist/actions/telemetry/resolveConsent.js +3 -3
- package/dist/actions/telemetry/resolveConsent.js.map +1 -1
- package/dist/actions/telemetry/setConsent.js +3 -2
- package/dist/actions/telemetry/setConsent.js.map +1 -1
- package/dist/actions/telemetry/telemetryDisclosure.js +3 -3
- package/dist/actions/telemetry/telemetryDisclosure.js.map +1 -1
- package/dist/actions/users/getMembersForProject.js.map +1 -1
- package/dist/actions/users/getPendingInvitations.js +1 -1
- package/dist/actions/users/getPendingInvitations.js.map +1 -1
- package/dist/actions/users/types.js.map +1 -1
- package/dist/actions/versions/filterSanityModules.js.map +1 -1
- package/dist/actions/versions/findSanityModulesVersions.js +2 -3
- package/dist/actions/versions/findSanityModulesVersions.js.map +1 -1
- package/dist/actions/versions/getFormatters.js +3 -3
- package/dist/actions/versions/getFormatters.js.map +1 -1
- package/dist/actions/versions/tryFindLatestVersion.js +1 -1
- package/dist/actions/versions/tryFindLatestVersion.js.map +1 -1
- package/dist/commands/backup/disable.js +26 -10
- package/dist/commands/backup/disable.js.map +1 -1
- package/dist/commands/backup/download.js +26 -17
- package/dist/commands/backup/download.js.map +1 -1
- package/dist/commands/backup/enable.js +25 -10
- package/dist/commands/backup/enable.js.map +1 -1
- package/dist/commands/backup/list.js +20 -8
- package/dist/commands/backup/list.js.map +1 -1
- package/dist/commands/build.js +2 -5
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/cors/add.js +33 -16
- package/dist/commands/cors/add.js.map +1 -1
- package/dist/commands/cors/delete.js +22 -7
- package/dist/commands/cors/delete.js.map +1 -1
- package/dist/commands/cors/list.js +22 -7
- package/dist/commands/cors/list.js.map +1 -1
- package/dist/commands/dataset/alias/create.js +26 -7
- package/dist/commands/dataset/alias/create.js.map +1 -1
- package/dist/commands/dataset/alias/delete.js +20 -7
- package/dist/commands/dataset/alias/delete.js.map +1 -1
- package/dist/commands/dataset/alias/link.js +20 -7
- package/dist/commands/dataset/alias/link.js.map +1 -1
- package/dist/commands/dataset/alias/unlink.js +20 -7
- package/dist/commands/dataset/alias/unlink.js.map +1 -1
- package/dist/commands/dataset/copy.js +51 -35
- package/dist/commands/dataset/copy.js.map +1 -1
- package/dist/commands/dataset/create.js +46 -14
- package/dist/commands/dataset/create.js.map +1 -1
- package/dist/commands/dataset/delete.js +28 -9
- package/dist/commands/dataset/delete.js.map +1 -1
- package/dist/commands/dataset/embeddings/disable.js +77 -0
- package/dist/commands/dataset/embeddings/disable.js.map +1 -0
- package/dist/commands/dataset/embeddings/enable.js +141 -0
- package/dist/commands/dataset/embeddings/enable.js.map +1 -0
- package/dist/commands/dataset/embeddings/status.js +72 -0
- package/dist/commands/dataset/embeddings/status.js.map +1 -0
- package/dist/commands/dataset/export.js +26 -18
- package/dist/commands/dataset/export.js.map +1 -1
- package/dist/commands/dataset/import.js +306 -1
- package/dist/commands/dataset/import.js.map +1 -1
- package/dist/commands/dataset/list.js +22 -7
- package/dist/commands/dataset/list.js.map +1 -1
- package/dist/commands/dataset/visibility/get.js +18 -7
- package/dist/commands/dataset/visibility/get.js.map +1 -1
- package/dist/commands/dataset/visibility/set.js +22 -7
- package/dist/commands/dataset/visibility/set.js.map +1 -1
- package/dist/commands/debug.js +9 -7
- package/dist/commands/debug.js.map +1 -1
- package/dist/commands/deploy.js +22 -11
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/dev.js +7 -6
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/docs/search.js +3 -2
- package/dist/commands/docs/search.js.map +1 -1
- package/dist/commands/doctor.js +125 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/documents/create.js +19 -12
- package/dist/commands/documents/create.js.map +1 -1
- package/dist/commands/documents/delete.js +19 -12
- package/dist/commands/documents/delete.js.map +1 -1
- package/dist/commands/documents/get.js +17 -12
- package/dist/commands/documents/get.js.map +1 -1
- package/dist/commands/documents/query.js +26 -18
- package/dist/commands/documents/query.js.map +1 -1
- package/dist/commands/documents/validate.js +74 -48
- package/dist/commands/documents/validate.js.map +1 -1
- package/dist/commands/graphql/deploy.js +457 -0
- package/dist/commands/graphql/deploy.js.map +1 -0
- package/dist/commands/graphql/list.js +21 -13
- package/dist/commands/graphql/list.js.map +1 -1
- package/dist/commands/graphql/undeploy.js +37 -19
- package/dist/commands/graphql/undeploy.js.map +1 -1
- package/dist/commands/hook/attempt.js +22 -7
- package/dist/commands/hook/attempt.js.map +1 -1
- package/dist/commands/hook/create.js +23 -8
- package/dist/commands/hook/create.js.map +1 -1
- package/dist/commands/hook/delete.js +22 -7
- package/dist/commands/hook/delete.js.map +1 -1
- package/dist/commands/hook/list.js +22 -7
- package/dist/commands/hook/list.js.map +1 -1
- package/dist/commands/hook/logs.js +25 -12
- package/dist/commands/hook/logs.js.map +1 -1
- package/dist/commands/init.js +164 -143
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/login.js +19 -6
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logout.js +8 -6
- package/dist/commands/logout.js.map +1 -1
- package/dist/commands/manage.js +2 -2
- package/dist/commands/manage.js.map +1 -1
- package/dist/commands/manifest/extract.js +14 -10
- package/dist/commands/manifest/extract.js.map +1 -1
- package/dist/commands/mcp/configure.js +14 -75
- package/dist/commands/mcp/configure.js.map +1 -1
- package/dist/commands/media/create-aspect.js +11 -10
- package/dist/commands/media/create-aspect.js.map +1 -1
- package/dist/commands/media/delete-aspect.js +14 -11
- package/dist/commands/media/delete-aspect.js.map +1 -1
- package/dist/commands/media/deploy-aspect.js +31 -17
- package/dist/commands/media/deploy-aspect.js.map +1 -1
- package/dist/commands/media/export.js +10 -9
- package/dist/commands/media/export.js.map +1 -1
- package/dist/commands/media/import.js +14 -12
- package/dist/commands/media/import.js.map +1 -1
- package/dist/commands/preview.js +12 -28
- package/dist/commands/preview.js.map +1 -1
- package/dist/commands/projects/create.js +181 -0
- package/dist/commands/projects/create.js.map +1 -0
- package/dist/commands/projects/list.js +4 -3
- package/dist/commands/projects/list.js.map +1 -1
- package/dist/commands/schema/delete.js +33 -34
- package/dist/commands/schema/delete.js.map +1 -1
- package/dist/commands/schema/deploy.js +19 -30
- package/dist/commands/schema/deploy.js.map +1 -1
- package/dist/commands/schema/extract.js +34 -11
- package/dist/commands/schema/extract.js.map +1 -1
- package/dist/commands/schema/list.js +10 -31
- package/dist/commands/schema/list.js.map +1 -1
- package/dist/commands/schema/validate.js +10 -2
- package/dist/commands/schema/validate.js.map +1 -1
- package/dist/commands/tokens/add.js +24 -7
- package/dist/commands/tokens/add.js.map +1 -1
- package/dist/commands/tokens/delete.js +20 -7
- package/dist/commands/tokens/delete.js.map +1 -1
- package/dist/commands/tokens/list.js +20 -7
- package/dist/commands/tokens/list.js.map +1 -1
- package/dist/commands/undeploy.js +9 -8
- package/dist/commands/undeploy.js.map +1 -1
- package/dist/commands/users/invite.js +24 -7
- package/dist/commands/users/invite.js.map +1 -1
- package/dist/commands/users/list.js +77 -34
- package/dist/commands/users/list.js.map +1 -1
- package/dist/commands/versions.js +3 -3
- package/dist/commands/versions.js.map +1 -1
- package/dist/config/createCliConfig.js +2 -2
- package/dist/config/createCliConfig.js.map +1 -1
- package/dist/exports/_internal.d.ts +132 -0
- package/dist/exports/_internal.js +4 -0
- package/dist/exports/_internal.js.map +1 -0
- package/dist/exports/index.d.ts +113 -0
- package/dist/exports/index.js +6 -0
- package/dist/exports/index.js.map +1 -0
- package/dist/hooks/init/checkForUpdates.js +14 -0
- package/dist/hooks/init/checkForUpdates.js.map +1 -0
- package/dist/hooks/prerun/flushTelemetry.worker.js +1 -1
- package/dist/hooks/prerun/flushTelemetry.worker.js.map +1 -1
- package/dist/hooks/prerun/injectEnvVariables.js +39 -0
- package/dist/hooks/prerun/injectEnvVariables.js.map +1 -0
- package/dist/hooks/prerun/setupTelemetry.js +14 -7
- package/dist/hooks/prerun/setupTelemetry.js.map +1 -1
- package/dist/hooks/prerun/warnings.js +6 -0
- package/dist/hooks/prerun/warnings.js.map +1 -0
- package/dist/prompts/promptForDefaultConfig.js +12 -0
- package/dist/prompts/promptForDefaultConfig.js.map +1 -0
- package/dist/prompts/promptForOrganizationName.js +11 -0
- package/dist/prompts/promptForOrganizationName.js.map +1 -0
- package/dist/prompts/promptForProject.js +64 -0
- package/dist/prompts/promptForProject.js.map +1 -0
- package/dist/prompts/promptForProjectName.js +11 -0
- package/dist/prompts/promptForProjectName.js.map +1 -0
- package/dist/{actions/auth/login/promptProviders.js → prompts/promptForProviders.js} +3 -3
- package/dist/prompts/promptForProviders.js.map +1 -0
- package/dist/prompts/selectMediaLibrary.js +1 -1
- package/dist/prompts/selectMediaLibrary.js.map +1 -1
- package/dist/server/devServer.js +4 -2
- package/dist/server/devServer.js.map +1 -1
- package/dist/server/previewServer.js +17 -11
- package/dist/server/previewServer.js.map +1 -1
- package/dist/server/vite/plugin-schema-extraction.js +201 -0
- package/dist/server/vite/plugin-schema-extraction.js.map +1 -0
- package/dist/server/vite/plugin-typegen.js +217 -0
- package/dist/server/vite/plugin-typegen.js.map +1 -0
- package/dist/services/auth.js +42 -3
- package/dist/services/auth.js.map +1 -1
- package/dist/services/datasets.js +7 -5
- package/dist/services/datasets.js.map +1 -1
- package/dist/services/docs.js +2 -2
- package/dist/services/docs.js.map +1 -1
- package/dist/services/documents.js +56 -0
- package/dist/services/documents.js.map +1 -0
- package/dist/services/embeddings.js +25 -0
- package/dist/services/embeddings.js.map +1 -0
- package/dist/services/getUrlHeaders.js +25 -0
- package/dist/services/getUrlHeaders.js.map +1 -0
- package/dist/services/grants.js +13 -0
- package/dist/services/grants.js.map +1 -0
- package/dist/services/graphql.js +64 -0
- package/dist/services/graphql.js.map +1 -1
- package/dist/services/mcp.js.map +1 -1
- package/dist/services/organizations.js +1 -1
- package/dist/services/organizations.js.map +1 -1
- package/dist/services/projects.js +4 -2
- package/dist/services/projects.js.map +1 -1
- package/dist/services/schemas.js +1 -1
- package/dist/services/schemas.js.map +1 -1
- package/dist/services/telemetry.js +63 -2
- package/dist/services/telemetry.js.map +1 -1
- package/dist/services/userApplications.js +21 -6
- package/dist/services/userApplications.js.map +1 -1
- package/dist/telemetry/build.telemetry.js +13 -0
- package/dist/telemetry/build.telemetry.js.map +1 -0
- package/dist/telemetry/extractSchema.telemetry.js +18 -0
- package/dist/telemetry/extractSchema.telemetry.js.map +1 -0
- package/dist/telemetry/init.telemetry.js +8 -0
- package/dist/telemetry/init.telemetry.js.map +1 -0
- package/dist/telemetry/login.telemetry.js +8 -0
- package/dist/telemetry/login.telemetry.js.map +1 -0
- package/dist/telemetry/mcp.telemetry.js +8 -0
- package/dist/telemetry/mcp.telemetry.js.map +1 -0
- package/dist/types/grants.js +3 -0
- package/dist/types/grants.js.map +1 -0
- package/dist/types.js +6 -1
- package/dist/types.js.map +1 -1
- package/dist/util/appId.js +5 -5
- package/dist/util/appId.js.map +1 -1
- package/dist/util/checkProjectPermissions.js +21 -0
- package/dist/util/checkProjectPermissions.js.map +1 -0
- package/dist/util/cliClient.js +13 -10
- package/dist/util/cliClient.js.map +1 -1
- package/dist/util/compareDependencyVersions.js +74 -38
- package/dist/util/compareDependencyVersions.js.map +1 -1
- package/dist/util/createExpiringConfig.js +64 -0
- package/dist/util/createExpiringConfig.js.map +1 -0
- package/dist/util/detectFramework.js +135 -0
- package/dist/util/detectFramework.js.map +1 -0
- package/dist/util/errorMessages.js +0 -1
- package/dist/util/errorMessages.js.map +1 -1
- package/dist/util/extractDocumentsFromNdjsonOrTarball.js +1 -2
- package/dist/util/extractDocumentsFromNdjsonOrTarball.js.map +1 -1
- package/dist/util/formatSize.js +2 -2
- package/dist/util/formatSize.js.map +1 -1
- package/dist/util/getCliVersion.js +1 -1
- package/dist/util/getCliVersion.js.map +1 -1
- package/dist/util/getLocalPackageVersion.js +31 -23
- package/dist/util/getLocalPackageVersion.js.map +1 -1
- package/dist/util/getProjectDefaults.js.map +1 -1
- package/dist/util/getSanityEnv.js +3 -0
- package/dist/util/getSanityEnv.js.map +1 -0
- package/dist/util/getSharedServerConfig.js +1 -0
- package/dist/util/getSharedServerConfig.js.map +1 -1
- package/dist/util/getWorkspace.js +1 -1
- package/dist/util/getWorkspace.js.map +1 -1
- package/dist/util/isSchemaError.js +11 -0
- package/dist/util/isSchemaError.js.map +1 -0
- package/dist/util/isTar.js +8 -0
- package/dist/util/isTar.js.map +1 -0
- package/dist/util/loadEnv.js +1 -6
- package/dist/util/loadEnv.js.map +1 -1
- package/dist/util/packageManager/getPeerDependencies.js +44 -0
- package/dist/util/packageManager/getPeerDependencies.js.map +1 -0
- package/dist/util/packageManager/installationInfo/analyzeIssues.js +225 -0
- package/dist/util/packageManager/installationInfo/analyzeIssues.js.map +1 -0
- package/dist/util/packageManager/installationInfo/commands.js +73 -0
- package/dist/util/packageManager/installationInfo/commands.js.map +1 -0
- package/dist/util/packageManager/installationInfo/detectCliInstallation.js +66 -0
- package/dist/util/packageManager/installationInfo/detectCliInstallation.js.map +1 -0
- package/dist/util/packageManager/installationInfo/detectGlobals.js +295 -0
- package/dist/util/packageManager/installationInfo/detectGlobals.js.map +1 -0
- package/dist/util/packageManager/installationInfo/detectPackages.js +190 -0
- package/dist/util/packageManager/installationInfo/detectPackages.js.map +1 -0
- package/dist/util/packageManager/installationInfo/detectWorkspace.js +192 -0
- package/dist/util/packageManager/installationInfo/detectWorkspace.js.map +1 -0
- package/dist/util/packageManager/installationInfo/index.js +4 -0
- package/dist/util/packageManager/installationInfo/index.js.map +1 -0
- package/dist/util/packageManager/installationInfo/readJsonFile.js +14 -0
- package/dist/util/packageManager/installationInfo/readJsonFile.js.map +1 -0
- package/dist/util/packageManager/installationInfo/resolveVersionRange.js +42 -0
- package/dist/util/packageManager/installationInfo/resolveVersionRange.js.map +1 -0
- package/dist/util/packageManager/installationInfo/types.js +3 -0
- package/dist/util/packageManager/installationInfo/types.js.map +1 -0
- package/dist/util/packageManager/packageManagerChoice.js +1 -20
- package/dist/util/packageManager/packageManagerChoice.js.map +1 -1
- package/dist/util/packageManager/upgradePackages.js +4 -1
- package/dist/util/packageManager/upgradePackages.js.map +1 -1
- package/dist/util/promiseRaceWithTimeout.js +28 -0
- package/dist/util/promiseRaceWithTimeout.js.map +1 -0
- package/dist/util/readdirRecursive.js.map +1 -1
- package/dist/util/resolveLatestVersions.js +2 -2
- package/dist/util/resolveLatestVersions.js.map +1 -1
- package/dist/util/sharedFlags.js +54 -0
- package/dist/util/sharedFlags.js.map +1 -0
- package/dist/{telemetry/store → util/telemetry}/cleanupOldTelemetryFiles.js +1 -1
- package/dist/util/telemetry/cleanupOldTelemetryFiles.js.map +1 -0
- package/dist/{telemetry/store → util/telemetry}/createTelemetryStore.js +4 -4
- package/dist/util/telemetry/createTelemetryStore.js.map +1 -0
- package/dist/util/telemetry/createTraceId.js.map +1 -0
- package/dist/{telemetry/store → util/telemetry}/findTelemetryFiles.js +4 -3
- package/dist/util/telemetry/findTelemetryFiles.js.map +1 -0
- package/dist/{telemetry/store → util/telemetry}/flushTelemetryFiles.js +29 -18
- package/dist/util/telemetry/flushTelemetryFiles.js.map +1 -0
- package/dist/{telemetry/store → util/telemetry}/generateTelemetryFilePath.js +2 -2
- package/dist/util/telemetry/generateTelemetryFilePath.js.map +1 -0
- package/dist/{telemetry/store → util/telemetry}/logger.js +7 -2
- package/dist/util/telemetry/logger.js.map +1 -0
- package/dist/util/telemetry/readNDJSON.js +28 -0
- package/dist/util/telemetry/readNDJSON.js.map +1 -0
- package/dist/util/telemetry/telemetryStoreDebug.js +7 -0
- package/dist/util/telemetry/telemetryStoreDebug.js.map +1 -0
- package/dist/{telemetry/store → util/telemetry}/trace.js +2 -2
- package/dist/util/telemetry/trace.js.map +1 -0
- package/dist/util/toForwardSlashes.js +8 -0
- package/dist/util/toForwardSlashes.js.map +1 -0
- package/dist/util/update/fetchLatestVersion.js +21 -0
- package/dist/util/update/fetchLatestVersion.js.map +1 -0
- package/dist/util/update/getUpdateCommand.js +20 -0
- package/dist/util/update/getUpdateCommand.js.map +1 -0
- package/dist/util/update/isInstalledUsingYarn.js +17 -0
- package/dist/util/update/isInstalledUsingYarn.js.map +1 -0
- package/dist/util/update/showNotificationUpdate.js +31 -0
- package/dist/util/update/showNotificationUpdate.js.map +1 -0
- package/dist/util/update/updateChecker.js +60 -0
- package/dist/util/update/updateChecker.js.map +1 -0
- package/dist/util/update/updateCheckerDebug.js +4 -0
- package/dist/util/update/updateCheckerDebug.js.map +1 -0
- package/dist/util/warnAboutMissingAppId.js +6 -2
- package/dist/util/warnAboutMissingAppId.js.map +1 -1
- package/dist/util/warnOnNonProductionEnvironment.js +18 -0
- package/dist/util/warnOnNonProductionEnvironment.js.map +1 -0
- package/oclif.config.js +7 -1
- package/oclif.manifest.json +1129 -146
- package/package.json +83 -78
- package/static/favicons/apple-touch-icon.png +0 -0
- package/static/favicons/favicon-192.png +0 -0
- package/static/favicons/favicon-512.png +0 -0
- package/static/favicons/favicon-96.png +0 -0
- package/static/favicons/favicon.ico +0 -0
- package/static/favicons/favicon.svg +12 -0
- package/dist/SanityHelp.d.ts +0 -4
- package/dist/actions/auth/authServer.d.ts +0 -33
- package/dist/actions/auth/getProviderName.d.ts +0 -8
- package/dist/actions/auth/login/getProvider.d.ts +0 -15
- package/dist/actions/auth/login/getSSOProvider.d.ts +0 -13
- package/dist/actions/auth/login/login.d.ts +0 -20
- package/dist/actions/auth/login/promptProviders.d.ts +0 -10
- package/dist/actions/auth/login/promptProviders.js.map +0 -1
- package/dist/actions/auth/login/samlProviderToLoginProvider.d.ts +0 -9
- package/dist/actions/auth/types.d.ts +0 -26
- package/dist/actions/backup/archiveDir.d.ts +0 -10
- package/dist/actions/backup/assertDatasetExist.d.ts +0 -8
- package/dist/actions/backup/backupDownloadDebug.d.ts +0 -1
- package/dist/actions/backup/cleanupTmpDir.d.ts +0 -6
- package/dist/actions/backup/constants.d.ts +0 -1
- package/dist/actions/backup/downloadAsset.d.ts +0 -9
- package/dist/actions/backup/downloadDocument.d.ts +0 -7
- package/dist/actions/backup/fetchNextBackupPage.d.ts +0 -23
- package/dist/actions/backup/progressSpinner.d.ts +0 -14
- package/dist/actions/build/buildApp.d.ts +0 -7
- package/dist/actions/build/buildDebug.d.ts +0 -1
- package/dist/actions/build/buildStaticFiles.d.ts +0 -35
- package/dist/actions/build/buildStudio.d.ts +0 -7
- package/dist/actions/build/buildVendorDependencies.d.ts +0 -11
- package/dist/actions/build/checkRequiredDependencies.d.ts +0 -22
- package/dist/actions/build/checkStudioDependencyVersions.d.ts +0 -2
- package/dist/actions/build/createExternalFromImportMap.d.ts +0 -11
- package/dist/actions/build/decorateIndexWithAutoGeneratedWarning.d.ts +0 -6
- package/dist/actions/build/decorateIndexWithBridgeScript.d.ts +0 -8
- package/dist/actions/build/determineBasePath.d.ts +0 -7
- package/dist/actions/build/generateWebManifest.d.ts +0 -15
- package/dist/actions/build/getAppEnvVars.d.ts +0 -6
- package/dist/actions/build/getAutoUpdatesImportMap.d.ts +0 -21
- package/dist/actions/build/getEntryModule.d.ts +0 -7
- package/dist/actions/build/getPossibleDocumentComponentLocations.d.ts +0 -4
- package/dist/actions/build/getStudioEnvVars.d.ts +0 -6
- package/dist/actions/build/getStudioEnvironmentVariables.d.ts +0 -52
- package/dist/actions/build/getViteConfig.d.ts +0 -66
- package/dist/actions/build/normalizeBasePath.d.ts +0 -6
- package/dist/actions/build/renderDocument.d.ts +0 -15
- package/dist/actions/build/renderDocument.worker.d.ts +0 -1
- package/dist/actions/build/renderDocumentWorker/addTimestampImportMapScriptToHtml.d.ts +0 -6
- package/dist/actions/build/renderDocumentWorker/components/BasicDocument.d.ts +0 -19
- package/dist/actions/build/renderDocumentWorker/components/DefaultDocument.d.ts +0 -13
- package/dist/actions/build/renderDocumentWorker/components/Favicons.d.ts +0 -2
- package/dist/actions/build/renderDocumentWorker/components/GlobalErrorHandler.d.ts +0 -3
- package/dist/actions/build/renderDocumentWorker/components/NoJavascript.d.ts +0 -3
- package/dist/actions/build/renderDocumentWorker/getDocumentComponent.d.ts +0 -5
- package/dist/actions/build/renderDocumentWorker/getDocumentHtml.d.ts +0 -8
- package/dist/actions/build/renderDocumentWorker/renderDocumentWorker.d.ts +0 -21
- package/dist/actions/build/renderDocumentWorker/tryLoadDocumentComponent.d.ts +0 -8
- package/dist/actions/build/renderDocumentWorker/types.d.ts +0 -8
- package/dist/actions/build/shouldAutoUpdate.d.ts +0 -16
- package/dist/actions/build/types.d.ts +0 -13
- package/dist/actions/build/writeFavicons.d.ts +0 -1
- package/dist/actions/build/writeSanityRuntime.d.ts +0 -19
- package/dist/actions/build/writeWebManifest.d.ts +0 -4
- package/dist/actions/codemods/deskRename.d.ts +0 -2
- package/dist/actions/codemods/index.d.ts +0 -5
- package/dist/actions/codemods/partsTypeDirective.d.ts +0 -2
- package/dist/actions/codemods/reactIconsV3.d.ts +0 -2
- package/dist/actions/codemods/types.d.ts +0 -8
- package/dist/actions/cors/filterAndValidateOrigin.d.ts +0 -7
- package/dist/actions/dataset/create.d.ts +0 -49
- package/dist/actions/dataset/determineDatasetAclMode.d.ts +0 -37
- package/dist/actions/dataset/processAliasName.d.ts +0 -9
- package/dist/actions/dataset/validateDatasetAliasName.d.ts +0 -1
- package/dist/actions/dataset/validateDatasetName.d.ts +0 -13
- package/dist/actions/debug/gatherDebugInfo.d.ts +0 -2
- package/dist/actions/debug/getGlobalConfigLocation.d.ts +0 -1
- package/dist/actions/debug/types.d.ts +0 -30
- package/dist/actions/deploy/checkDir.d.ts +0 -8
- package/dist/actions/deploy/createStudioUserApplication.d.ts +0 -2
- package/dist/actions/deploy/createUserApplicationForApp.d.ts +0 -2
- package/dist/actions/deploy/deployApp.d.ts +0 -7
- package/dist/actions/deploy/deployDebug.d.ts +0 -1
- package/dist/actions/deploy/deployStudio.d.ts +0 -2
- package/dist/actions/deploy/findUserApplicationForApp.d.ts +0 -15
- package/dist/actions/deploy/findUserApplicationForStudio.d.ts +0 -13
- package/dist/actions/deploy/types.d.ts +0 -11
- package/dist/actions/dev/devAction.d.ts +0 -4
- package/dist/actions/dev/devDebug.d.ts +0 -1
- package/dist/actions/dev/getCoreAppUrl.d.ts +0 -5
- package/dist/actions/dev/getCoreAppUrl.js +0 -10
- package/dist/actions/dev/getCoreAppUrl.js.map +0 -1
- package/dist/actions/dev/getDevServerConfig.d.ts +0 -9
- package/dist/actions/dev/startAppDevServer.d.ts +0 -4
- package/dist/actions/dev/startStudioDevServer.d.ts +0 -4
- package/dist/actions/dev/types.d.ts +0 -10
- package/dist/actions/docs/normalizeDocsPath.d.ts +0 -8
- package/dist/actions/documents/constants.d.ts +0 -1
- package/dist/actions/documents/editor.d.ts +0 -11
- package/dist/actions/documents/types.d.ts +0 -2
- package/dist/actions/documents/validate.d.ts +0 -26
- package/dist/actions/documents/validation/reporters/index.d.ts +0 -5
- package/dist/actions/documents/validation/reporters/jsonReporter.d.ts +0 -2
- package/dist/actions/documents/validation/reporters/ndjsonReporter.d.ts +0 -2
- package/dist/actions/documents/validation/reporters/prettyReporter/formatDocumentValidation.d.ts +0 -10
- package/dist/actions/documents/validation/reporters/prettyReporter/index.d.ts +0 -1
- package/dist/actions/documents/validation/reporters/prettyReporter/prettyReporter.d.ts +0 -5
- package/dist/actions/documents/validation/reporters/prettyReporter/util.d.ts +0 -53
- package/dist/actions/exec/execScript.d.ts +0 -11
- package/dist/actions/graphql/getGraphQLAPIs.d.ts +0 -2
- package/dist/actions/graphql/getGraphQLAPIs.worker.d.ts +0 -1
- package/dist/actions/graphql/types.d.ts +0 -68
- package/dist/actions/hook/constants.d.ts +0 -1
- package/dist/actions/hook/formatFailure.d.ts +0 -4
- package/dist/actions/hook/types.d.ts +0 -78
- package/dist/actions/init/bootstrapLocalTemplate.d.ts +0 -13
- package/dist/actions/init/bootstrapRemoteTemplate.d.ts +0 -12
- package/dist/actions/init/bootstrapTemplate.d.ts +0 -18
- package/dist/actions/init/checkNextJsReactCompatibility.d.ts +0 -9
- package/dist/actions/init/constants.d.ts +0 -1
- package/dist/actions/init/countNestedFolders.d.ts +0 -1
- package/dist/actions/init/createAppCliConfig.d.ts +0 -5
- package/dist/actions/init/createCliConfig.d.ts +0 -6
- package/dist/actions/init/createPackageManifest.d.ts +0 -6
- package/dist/actions/init/createStudioConfig.d.ts +0 -13
- package/dist/actions/init/determineAppTemplate.d.ts +0 -9
- package/dist/actions/init/env/createOrAppendEnvVars.d.ts +0 -12
- package/dist/actions/init/env/parseAndUpdateEnvVars.d.ts +0 -9
- package/dist/actions/init/env/writeEnvVarsToFile.d.ts +0 -12
- package/dist/actions/init/fetchPostInitPrompt.d.ts +0 -6
- package/dist/actions/init/git.d.ts +0 -1
- package/dist/actions/init/processTemplate.d.ts +0 -7
- package/dist/actions/init/remoteTemplate.d.ts +0 -20
- package/dist/actions/init/resolvePackageManager.d.ts +0 -10
- package/dist/actions/init/setupMCP.d.ts +0 -21
- package/dist/actions/init/setupMCP.js +0 -258
- package/dist/actions/init/setupMCP.js.map +0 -1
- package/dist/actions/init/templates/appQuickstart.d.ts +0 -3
- package/dist/actions/init/templates/appSanityUi.d.ts +0 -3
- package/dist/actions/init/templates/blog.d.ts +0 -3
- package/dist/actions/init/templates/clean.d.ts +0 -3
- package/dist/actions/init/templates/getStarted.d.ts +0 -3
- package/dist/actions/init/templates/index.d.ts +0 -3
- package/dist/actions/init/templates/moviedb.d.ts +0 -3
- package/dist/actions/init/templates/nextjs/index.d.ts +0 -6
- package/dist/actions/init/templates/nextjs/schemaTypes/blog.d.ts +0 -3
- package/dist/actions/init/templates/quickstart.d.ts +0 -3
- package/dist/actions/init/templates/shopify.d.ts +0 -3
- package/dist/actions/init/templates/shopifyOnline.d.ts +0 -3
- package/dist/actions/init/types.d.ts +0 -15
- package/dist/actions/init/updateInitialTemplateMetadata.d.ts +0 -1
- package/dist/actions/manifest/SchemaIcon.d.ts +0 -9
- package/dist/actions/manifest/extractAppManifest.d.ts +0 -20
- package/dist/actions/manifest/extractManifest.d.ts +0 -14
- package/dist/actions/manifest/extractWorkspaceManifest.d.ts +0 -3
- package/dist/actions/manifest/purifyConfig.d.ts +0 -10
- package/dist/actions/manifest/schemaTypeHelpers.d.ts +0 -17
- package/dist/actions/manifest/types.d.ts +0 -119
- package/dist/actions/mcp/detectAvailableEditors.d.ts +0 -8
- package/dist/actions/mcp/getEditorsWithExistingConfig.d.ts +0 -8
- package/dist/actions/mcp/getEditorsWithExistingConfig.js +0 -29
- package/dist/actions/mcp/getEditorsWithExistingConfig.js.map +0 -1
- package/dist/actions/mcp/writeMCPConfig.d.ts +0 -9
- package/dist/actions/media/getMediaLibraryConfig.d.ts +0 -2
- package/dist/actions/media/importAspects.d.ts +0 -52
- package/dist/actions/media/importMedia.d.ts +0 -55
- package/dist/actions/media/importMediaDebug.d.ts +0 -1
- package/dist/actions/organizations/getOrganizationChoices.d.ts +0 -6
- package/dist/actions/organizations/getOrganizationsWithAttachGrantInfo.d.ts +0 -2
- package/dist/actions/organizations/hasProjectAttachGrant.d.ts +0 -1
- package/dist/actions/preview/getPreviewServerConfig.d.ts +0 -15
- package/dist/actions/preview/previewAction.d.ts +0 -10
- package/dist/actions/preview/types.d.ts +0 -2
- package/dist/actions/schema/deleteSchemaAction.d.ts +0 -23
- package/dist/actions/schema/deploySchemas.d.ts +0 -15
- package/dist/actions/schema/extract.d.ts +0 -7
- package/dist/actions/schema/extract.js +0 -38
- package/dist/actions/schema/extract.js.map +0 -1
- package/dist/actions/schema/formatSchemaValidation.d.ts +0 -3
- package/dist/actions/schema/listSchemas.d.ts +0 -12
- package/dist/actions/schema/metafile.d.ts +0 -21
- package/dist/actions/schema/schemaStoreTypes.d.ts +0 -18
- package/dist/actions/schema/schemaStoreTypes.js +0 -19
- package/dist/actions/schema/schemaStoreTypes.js.map +0 -1
- package/dist/actions/schema/utils/debug.d.ts +0 -2
- package/dist/actions/schema/utils/manifestExtractor.d.ts +0 -9
- package/dist/actions/schema/utils/manifestExtractor.js +0 -33
- package/dist/actions/schema/utils/manifestExtractor.js.map +0 -1
- package/dist/actions/schema/utils/manifestReader.d.ts +0 -17
- package/dist/actions/schema/utils/manifestReader.js +0 -71
- package/dist/actions/schema/utils/manifestReader.js.map +0 -1
- package/dist/actions/schema/utils/schemaStoreOutStrings.d.ts +0 -2
- package/dist/actions/schema/utils/schemaStoreValidation.d.ts +0 -29
- package/dist/actions/schema/utils/uniqByProjectIdDataset.d.ts +0 -14
- package/dist/actions/schema/utils/workspaceSchemaId.d.ts +0 -8
- package/dist/actions/schema/validateAction.d.ts +0 -11
- package/dist/actions/telemetry/fetchTelemetryConsent.d.ts +0 -11
- package/dist/actions/telemetry/fetchTelemetryConsent.js +0 -38
- package/dist/actions/telemetry/fetchTelemetryConsent.js.map +0 -1
- package/dist/actions/telemetry/getLearnMoreMessage.d.ts +0 -2
- package/dist/actions/telemetry/getStatusDisplay.d.ts +0 -2
- package/dist/actions/telemetry/getStatusMessage.d.ts +0 -2
- package/dist/actions/telemetry/isValidApiConsentStatus.d.ts +0 -20
- package/dist/actions/telemetry/isValidApiConsentStatus.js +0 -25
- package/dist/actions/telemetry/isValidApiConsentStatus.js.map +0 -1
- package/dist/actions/telemetry/resolveConsent.d.ts +0 -2
- package/dist/actions/telemetry/setConsent.d.ts +0 -13
- package/dist/actions/telemetry/telemetryDebug.d.ts +0 -1
- package/dist/actions/telemetry/telemetryDisclosure.d.ts +0 -1
- package/dist/actions/telemetry/telemetryLearnMoreMessage.d.ts +0 -2
- package/dist/actions/telemetry/types.d.ts +0 -14
- package/dist/actions/telemetry/types.js.map +0 -1
- package/dist/actions/tokens/constants.d.ts +0 -4
- package/dist/actions/tokens/types.d.ts +0 -32
- package/dist/actions/tokens/validateRole.d.ts +0 -9
- package/dist/actions/undeploy/getStudioOrAppUserApplication.d.ts +0 -9
- package/dist/actions/users/getMembersForProject.d.ts +0 -24
- package/dist/actions/users/getPendingInvitations.d.ts +0 -13
- package/dist/actions/users/types.d.ts +0 -39
- package/dist/actions/users/usersDebug.d.ts +0 -1
- package/dist/actions/users/validateEmail.d.ts +0 -1
- package/dist/actions/versions/buildPackageArray.d.ts +0 -18
- package/dist/actions/versions/filterSanityModules.d.ts +0 -8
- package/dist/actions/versions/findSanityModulesVersions.d.ts +0 -14
- package/dist/actions/versions/getFormatters.d.ts +0 -17
- package/dist/actions/versions/tryFindLatestVersion.d.ts +0 -8
- package/dist/actions/versions/types.d.ts +0 -14
- package/dist/actions/versions/versionsDebug.d.ts +0 -1
- package/dist/commands/backup/disable.d.ts +0 -13
- package/dist/commands/backup/download.d.ts +0 -21
- package/dist/commands/backup/enable.d.ts +0 -12
- package/dist/commands/backup/list.d.ts +0 -19
- package/dist/commands/build.d.ts +0 -18
- package/dist/commands/codemod.d.ts +0 -19
- package/dist/commands/cors/add.d.ts +0 -29
- package/dist/commands/cors/delete.d.ts +0 -13
- package/dist/commands/cors/list.d.ts +0 -9
- package/dist/commands/dataset/alias/create.d.ts +0 -13
- package/dist/commands/dataset/alias/delete.d.ts +0 -16
- package/dist/commands/dataset/alias/link.d.ts +0 -17
- package/dist/commands/dataset/alias/unlink.d.ts +0 -16
- package/dist/commands/dataset/copy.d.ts +0 -27
- package/dist/commands/dataset/create.d.ts +0 -15
- package/dist/commands/dataset/delete.d.ts +0 -15
- package/dist/commands/dataset/export.d.ts +0 -26
- package/dist/commands/dataset/import.d.ts +0 -1
- package/dist/commands/dataset/list.d.ts +0 -9
- package/dist/commands/dataset/visibility/get.d.ts +0 -12
- package/dist/commands/dataset/visibility/set.d.ts +0 -13
- package/dist/commands/debug.d.ts +0 -9
- package/dist/commands/deploy.d.ts +0 -23
- package/dist/commands/dev.d.ts +0 -14
- package/dist/commands/docs/browse.d.ts +0 -6
- package/dist/commands/docs/read.d.ts +0 -15
- package/dist/commands/docs/search.d.ts +0 -15
- package/dist/commands/documents/create.d.ts +0 -39
- package/dist/commands/documents/delete.d.ts +0 -17
- package/dist/commands/documents/get.d.ts +0 -16
- package/dist/commands/documents/query.d.ts +0 -19
- package/dist/commands/documents/validate.d.ts +0 -29
- package/dist/commands/exec.d.ts +0 -19
- package/dist/commands/graphql/list.d.ts +0 -9
- package/dist/commands/graphql/undeploy.d.ts +0 -16
- package/dist/commands/hook/attempt.d.ts +0 -13
- package/dist/commands/hook/create.d.ts +0 -9
- package/dist/commands/hook/delete.d.ts +0 -13
- package/dist/commands/hook/list.d.ts +0 -9
- package/dist/commands/hook/logs.d.ts +0 -19
- package/dist/commands/init.d.ts +0 -65
- package/dist/commands/install.d.ts +0 -10
- package/dist/commands/learn.d.ts +0 -6
- package/dist/commands/login.d.ts +0 -13
- package/dist/commands/logout.d.ts +0 -6
- package/dist/commands/manage.d.ts +0 -6
- package/dist/commands/manifest/extract.d.ts +0 -12
- package/dist/commands/mcp/configure.d.ts +0 -9
- package/dist/commands/media/create-aspect.d.ts +0 -9
- package/dist/commands/media/delete-aspect.d.ts +0 -16
- package/dist/commands/media/deploy-aspect.d.ts +0 -20
- package/dist/commands/media/export.d.ts +0 -21
- package/dist/commands/media/import.d.ts +0 -18
- package/dist/commands/openapi/get.d.ts +0 -17
- package/dist/commands/openapi/list.d.ts +0 -14
- package/dist/commands/preview.d.ts +0 -17
- package/dist/commands/projects/list.d.ts +0 -13
- package/dist/commands/schema/delete.d.ts +0 -16
- package/dist/commands/schema/deploy.d.ts +0 -16
- package/dist/commands/schema/extract.d.ts +0 -15
- package/dist/commands/schema/list.d.ts +0 -15
- package/dist/commands/schema/validate.d.ts +0 -15
- package/dist/commands/telemetry/disable.d.ts +0 -8
- package/dist/commands/telemetry/enable.d.ts +0 -8
- package/dist/commands/telemetry/status.d.ts +0 -8
- package/dist/commands/tokens/add.d.ts +0 -19
- package/dist/commands/tokens/delete.d.ts +0 -17
- package/dist/commands/tokens/list.d.ts +0 -12
- package/dist/commands/undeploy.d.ts +0 -8
- package/dist/commands/users/invite.d.ts +0 -17
- package/dist/commands/users/list.d.ts +0 -16
- package/dist/commands/versions.d.ts +0 -6
- package/dist/config/createCliConfig.d.ts +0 -73
- package/dist/config/defineCliConfig.d.ts +0 -3
- package/dist/hooks/prerun/flushTelemetry.worker.d.ts +0 -2
- package/dist/hooks/prerun/setupTelemetry.d.ts +0 -2
- package/dist/index.d.ts +0 -6
- package/dist/index.js +0 -7
- package/dist/index.js.map +0 -1
- package/dist/prompts/init/nextjs.d.ts +0 -5
- package/dist/prompts/init/promptForTypescript.d.ts +0 -1
- package/dist/prompts/promptForDataset.d.ts +0 -17
- package/dist/prompts/promptForDatasetAclMode.d.ts +0 -9
- package/dist/prompts/promptForDatasetAliasName.d.ts +0 -4
- package/dist/prompts/promptForDatasetName.d.ts +0 -4
- package/dist/prompts/promptForMediaLibrary.d.ts +0 -15
- package/dist/prompts/selectDataset.d.ts +0 -3
- package/dist/prompts/selectMediaLibrary.d.ts +0 -5
- package/dist/server/devServer.d.ts +0 -24
- package/dist/server/gracefulServerDeath.d.ts +0 -3
- package/dist/server/previewServer.d.ts +0 -19
- package/dist/server/serverDebug.d.ts +0 -1
- package/dist/server/vite/plugin-sanity-basepath-redirect.d.ts +0 -2
- package/dist/server/vite/plugin-sanity-build-entries.d.ts +0 -9
- package/dist/server/vite/plugin-sanity-favicons.d.ts +0 -17
- package/dist/server/vite/plugin-sanity-runtime-rewrite.d.ts +0 -2
- package/dist/services/auth.d.ts +0 -2
- package/dist/services/backup.d.ts +0 -37
- package/dist/services/cors.d.ts +0 -23
- package/dist/services/datasetAliases.d.ts +0 -31
- package/dist/services/datasets.d.ts +0 -64
- package/dist/services/docs.d.ts +0 -15
- package/dist/services/getProjectFeatures.d.ts +0 -5
- package/dist/services/graphql.d.ts +0 -23
- package/dist/services/hooks.d.ts +0 -16
- package/dist/services/mcp.d.ts +0 -39
- package/dist/services/mediaLibraries.d.ts +0 -52
- package/dist/services/organizations.d.ts +0 -42
- package/dist/services/plans.d.ts +0 -2
- package/dist/services/projects.d.ts +0 -36
- package/dist/services/schemas.d.ts +0 -4
- package/dist/services/telemetry.d.ts +0 -2
- package/dist/services/tokens.d.ts +0 -43
- package/dist/services/user.d.ts +0 -15
- package/dist/services/userApplications.d.ts +0 -77
- package/dist/studioDependencies.d.ts +0 -16
- package/dist/studioDependencies.js.map +0 -1
- package/dist/telemetry/cli.telemetry.d.ts +0 -20
- package/dist/telemetry/store/cleanupOldTelemetryFiles.d.ts +0 -5
- package/dist/telemetry/store/cleanupOldTelemetryFiles.js.map +0 -1
- package/dist/telemetry/store/createTelemetryStore.d.ts +0 -39
- package/dist/telemetry/store/createTelemetryStore.js.map +0 -1
- package/dist/telemetry/store/createTraceId.d.ts +0 -10
- package/dist/telemetry/store/createTraceId.js.map +0 -1
- package/dist/telemetry/store/debug.d.ts +0 -5
- package/dist/telemetry/store/debug.js +0 -7
- package/dist/telemetry/store/debug.js.map +0 -1
- package/dist/telemetry/store/findTelemetryFiles.d.ts +0 -13
- package/dist/telemetry/store/findTelemetryFiles.js.map +0 -1
- package/dist/telemetry/store/flushTelemetryFiles.d.ts +0 -20
- package/dist/telemetry/store/flushTelemetryFiles.js.map +0 -1
- package/dist/telemetry/store/generateTelemetryFilePath.d.ts +0 -17
- package/dist/telemetry/store/generateTelemetryFilePath.js.map +0 -1
- package/dist/telemetry/store/getTelemetryBaseInfo.d.ts +0 -27
- package/dist/telemetry/store/getTelemetryBaseInfo.js +0 -34
- package/dist/telemetry/store/getTelemetryBaseInfo.js.map +0 -1
- package/dist/telemetry/store/logger.d.ts +0 -6
- package/dist/telemetry/store/logger.js.map +0 -1
- package/dist/telemetry/store/trace.d.ts +0 -6
- package/dist/telemetry/store/trace.js.map +0 -1
- package/dist/telemetry/utils/readNDJSON.d.ts +0 -10
- package/dist/telemetry/utils/readNDJSON.js +0 -18
- package/dist/telemetry/utils/readNDJSON.js.map +0 -1
- package/dist/threads/configClient.d.ts +0 -1
- package/dist/threads/configClient.js.map +0 -1
- package/dist/threads/registerBrowserEnv.d.ts +0 -1
- package/dist/threads/registerBrowserEnv.js.map +0 -1
- package/dist/threads/validateDocuments.d.ts +0 -45
- package/dist/threads/validateDocuments.js.map +0 -1
- package/dist/threads/validateSchema.d.ts +0 -35
- package/dist/threads/validateSchema.js.map +0 -1
- package/dist/types.d.ts +0 -49
- package/dist/typings/deepSortObject.d.js +0 -2
- package/dist/typings/deepSortObject.d.js.map +0 -1
- package/dist/util/absolutify.d.ts +0 -6
- package/dist/util/appId.d.ts +0 -18
- package/dist/util/canLaunchBrowser.d.ts +0 -1
- package/dist/util/cliClient.d.ts +0 -13
- package/dist/util/compareDependencyVersions.d.ts +0 -35
- package/dist/util/copy.d.ts +0 -5
- package/dist/util/copyDir.d.ts +0 -20
- package/dist/util/detectRuntime.d.ts +0 -8
- package/dist/util/determineIsApp.d.ts +0 -7
- package/dist/util/dirIsEmptyOrNonExistent.d.ts +0 -1
- package/dist/util/ensureTrailingSlash.d.ts +0 -9
- package/dist/util/errorMessages.d.ts +0 -4
- package/dist/util/extractDocumentsFromNdjsonOrTarball.d.ts +0 -6
- package/dist/util/findNdjsonEntry.d.ts +0 -7
- package/dist/util/findNdjsonEntry.js +0 -21
- package/dist/util/findNdjsonEntry.js.map +0 -1
- package/dist/util/formatSize.d.ts +0 -6
- package/dist/util/frameworkPort.d.ts +0 -12
- package/dist/util/fsUtils.d.ts +0 -2
- package/dist/util/getCliVersion.d.ts +0 -7
- package/dist/util/getErrorMessage.d.ts +0 -8
- package/dist/util/getLocalPackageVersion.d.ts +0 -9
- package/dist/util/getProjectDefaults.d.ts +0 -11
- package/dist/util/getSharedServerConfig.d.ts +0 -30
- package/dist/util/getWorkspace.d.ts +0 -3
- package/dist/util/humanFileSize.d.ts +0 -1
- package/dist/util/importStudioConfig.d.ts +0 -1
- package/dist/util/importStudioConfig.js +0 -43
- package/dist/util/importStudioConfig.js.map +0 -1
- package/dist/util/isPathDirName.d.ts +0 -1
- package/dist/util/isSanityDocumentish.d.ts +0 -19
- package/dist/util/isStaging.d.ts +0 -7
- package/dist/util/isStaging.js +0 -10
- package/dist/util/isStaging.js.map +0 -1
- package/dist/util/loadEnv.d.ts +0 -1
- package/dist/util/moduleFormatUtils.d.ts +0 -3
- package/dist/util/packageManager/installPackages.d.ts +0 -18
- package/dist/util/packageManager/packageManagerChoice.d.ts +0 -31
- package/dist/util/packageManager/upgradePackages.d.ts +0 -17
- package/dist/util/parseArguments.d.ts +0 -35
- package/dist/util/pluralize.d.ts +0 -8
- package/dist/util/readModuleVersion.d.ts +0 -8
- package/dist/util/readModuleVersion.js +0 -15
- package/dist/util/readModuleVersion.js.map +0 -1
- package/dist/util/readPackageJson.d.ts +0 -31
- package/dist/util/readPackageJson.js +0 -42
- package/dist/util/readPackageJson.js.map +0 -1
- package/dist/util/readPackageManifest.d.ts +0 -21
- package/dist/util/readPackageManifest.js +0 -46
- package/dist/util/readPackageManifest.js.map +0 -1
- package/dist/util/readdirRecursive.d.ts +0 -5
- package/dist/util/resolveLatestVersions.d.ts +0 -7
- package/dist/util/toInt.d.ts +0 -1
- package/dist/util/trimHashFromVersion.d.ts +0 -5
- package/dist/util/uniqBy.d.ts +0 -1
- package/dist/util/uniqBy.js +0 -14
- package/dist/util/uniqBy.js.map +0 -1
- package/dist/util/validation/validateDocumentsUtils.d.ts +0 -12
- package/dist/util/warnAboutMissingAppId.d.ts +0 -7
- package/dist/util/workerChannels.d.ts +0 -59
- package/dist/util/workerChannels.js +0 -172
- package/dist/util/workerChannels.js.map +0 -1
- /package/dist/actions/{telemetry → doctor}/types.js +0 -0
- /package/dist/{studioDependencies.js → actions/init/studioDependencies.js} +0 -0
- /package/dist/{telemetry/store → util/telemetry}/createTraceId.js +0 -0
|
@@ -1,68 +1,85 @@
|
|
|
1
1
|
import { existsSync } from 'node:fs';
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
2
|
+
import fs from 'node:fs/promises';
|
|
3
|
+
import { subdebug } from '@sanity/cli-core';
|
|
4
|
+
import { parse as parseJsonc } from 'jsonc-parser';
|
|
5
|
+
import { parse as parseToml } from 'smol-toml';
|
|
6
|
+
import { EDITOR_CONFIGS } from './editorConfigs.js';
|
|
7
|
+
const debug = subdebug('mcp:detectAvailableEditors');
|
|
5
8
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
// Cursor detection
|
|
14
|
-
const cursorDir = path.join(homeDir, '.cursor');
|
|
15
|
-
if (existsSync(cursorDir)) {
|
|
16
|
-
editors.push({
|
|
17
|
-
configKey: 'mcpServers',
|
|
18
|
-
configPath: path.join(cursorDir, 'mcp.json'),
|
|
19
|
-
name: 'Cursor'
|
|
20
|
-
});
|
|
9
|
+
* Safely parse config file content
|
|
10
|
+
* Returns parsed config or null if unparseable
|
|
11
|
+
*/ function parseConfig(content, format) {
|
|
12
|
+
const trimmed = content.trim();
|
|
13
|
+
if (trimmed === '') {
|
|
14
|
+
return {} // Empty file - safe to write, treat as empty config
|
|
15
|
+
;
|
|
21
16
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
vscodeConfigDir = path.join(homeDir, 'Library/Application Support/Code/User');
|
|
28
|
-
break;
|
|
29
|
-
}
|
|
30
|
-
case 'win32':
|
|
31
|
-
{
|
|
32
|
-
// APPDATA is required on Windows for VS Code config path
|
|
33
|
-
if (process.env.APPDATA) {
|
|
34
|
-
vscodeConfigDir = path.join(process.env.APPDATA, 'Code/User');
|
|
35
|
-
}
|
|
36
|
-
break;
|
|
37
|
-
}
|
|
38
|
-
default:
|
|
39
|
-
{
|
|
40
|
-
// linux
|
|
41
|
-
vscodeConfigDir = path.join(homeDir, '.config/Code/User');
|
|
17
|
+
if (format === 'toml') {
|
|
18
|
+
try {
|
|
19
|
+
const parsed = parseToml(content);
|
|
20
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
21
|
+
return null;
|
|
42
22
|
}
|
|
23
|
+
return parsed;
|
|
24
|
+
} catch {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const errors = [];
|
|
29
|
+
const parsed = parseJsonc(content, errors, {
|
|
30
|
+
allowTrailingComma: true
|
|
31
|
+
});
|
|
32
|
+
if (errors.length > 0 || typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
33
|
+
return null // Parse failed
|
|
34
|
+
;
|
|
43
35
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
36
|
+
return parsed;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Check if an editor's config is usable and whether Sanity MCP is already configured.
|
|
40
|
+
* Returns null only if config exists but can't be parsed (to avoid data loss).
|
|
41
|
+
*/ async function checkEditorConfig(name, configPath) {
|
|
42
|
+
const { configKey, format } = EDITOR_CONFIGS[name];
|
|
43
|
+
// Config file doesn't exist - can create it
|
|
44
|
+
if (!existsSync(configPath)) {
|
|
45
|
+
return {
|
|
46
|
+
configPath,
|
|
47
|
+
configured: false,
|
|
48
|
+
name
|
|
49
|
+
};
|
|
50
50
|
}
|
|
51
|
-
//
|
|
51
|
+
// Config exists - try to parse it
|
|
52
52
|
try {
|
|
53
|
-
await
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
53
|
+
const content = await fs.readFile(configPath, 'utf8');
|
|
54
|
+
const config = parseConfig(content, format);
|
|
55
|
+
if (config === null) {
|
|
56
|
+
debug('Skipping %s: could not parse %s', name, configPath);
|
|
57
|
+
return null // Can't parse - skip this editor
|
|
58
|
+
;
|
|
59
|
+
}
|
|
60
|
+
// Check if Sanity MCP is already configured
|
|
61
|
+
const configured = Boolean(config[configKey]?.Sanity);
|
|
62
|
+
return {
|
|
63
|
+
configPath,
|
|
64
|
+
configured,
|
|
65
|
+
name
|
|
66
|
+
};
|
|
67
|
+
} catch (err) {
|
|
68
|
+
debug('Skipping %s: could not read %s: %s', name, configPath, err);
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Detect which editors are installed and have parseable configs.
|
|
74
|
+
* Editors with unparseable configs are skipped to avoid data loss.
|
|
75
|
+
*/ export async function detectAvailableEditors() {
|
|
76
|
+
const editors = [];
|
|
77
|
+
for (const [name, config] of Object.entries(EDITOR_CONFIGS)){
|
|
78
|
+
const configPath = await config.detect();
|
|
79
|
+
if (configPath) {
|
|
80
|
+
const editor = await checkEditorConfig(name, configPath);
|
|
81
|
+
if (editor) editors.push(editor);
|
|
82
|
+
}
|
|
66
83
|
}
|
|
67
84
|
return editors;
|
|
68
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/actions/mcp/detectAvailableEditors.ts"],"sourcesContent":["import {existsSync} from 'node:fs'\nimport
|
|
1
|
+
{"version":3,"sources":["../../../src/actions/mcp/detectAvailableEditors.ts"],"sourcesContent":["import {existsSync} from 'node:fs'\nimport fs from 'node:fs/promises'\n\nimport {subdebug} from '@sanity/cli-core'\nimport {type ParseError, parse as parseJsonc} from 'jsonc-parser'\nimport {parse as parseToml} from 'smol-toml'\n\nimport {EDITOR_CONFIGS, type EditorName} from './editorConfigs.js'\n\nconst debug = subdebug('mcp:detectAvailableEditors')\n\ninterface Editor {\n configPath: string\n /** Whether Sanity MCP is already configured for this editor */\n configured: boolean\n name: EditorName\n}\n\ninterface MCPConfig {\n [key: string]: Record<string, unknown> | undefined\n}\n\n/**\n * Safely parse config file content\n * Returns parsed config or null if unparseable\n */\nfunction parseConfig(content: string, format: 'jsonc' | 'toml'): MCPConfig | null {\n const trimmed = content.trim()\n if (trimmed === '') {\n return {} // Empty file - safe to write, treat as empty config\n }\n\n if (format === 'toml') {\n try {\n const parsed = parseToml(content)\n if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {\n return null\n }\n\n return parsed as MCPConfig\n } catch {\n return null\n }\n }\n\n const errors: ParseError[] = []\n const parsed = parseJsonc(content, errors, {allowTrailingComma: true})\n\n if (errors.length > 0 || typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {\n return null // Parse failed\n }\n\n return parsed as MCPConfig\n}\n\n/**\n * Check if an editor's config is usable and whether Sanity MCP is already configured.\n * Returns null only if config exists but can't be parsed (to avoid data loss).\n */\nasync function checkEditorConfig(name: EditorName, configPath: string): Promise<Editor | null> {\n const {configKey, format} = EDITOR_CONFIGS[name]\n\n // Config file doesn't exist - can create it\n if (!existsSync(configPath)) {\n return {configPath, configured: false, name}\n }\n\n // Config exists - try to parse it\n try {\n const content = await fs.readFile(configPath, 'utf8')\n const config = parseConfig(content, format)\n\n if (config === null) {\n debug('Skipping %s: could not parse %s', name, configPath)\n return null // Can't parse - skip this editor\n }\n\n // Check if Sanity MCP is already configured\n const configured = Boolean(config[configKey]?.Sanity)\n\n return {configPath, configured, name}\n } catch (err) {\n debug('Skipping %s: could not read %s: %s', name, configPath, err)\n return null\n }\n}\n\n/**\n * Detect which editors are installed and have parseable configs.\n * Editors with unparseable configs are skipped to avoid data loss.\n */\nexport async function detectAvailableEditors(): Promise<Editor[]> {\n const editors: Editor[] = []\n\n for (const [name, config] of Object.entries(EDITOR_CONFIGS)) {\n const configPath = await config.detect()\n if (configPath) {\n const editor = await checkEditorConfig(name as EditorName, configPath)\n if (editor) editors.push(editor)\n }\n }\n\n return editors\n}\n"],"names":["existsSync","fs","subdebug","parse","parseJsonc","parseToml","EDITOR_CONFIGS","debug","parseConfig","content","format","trimmed","trim","parsed","Array","isArray","errors","allowTrailingComma","length","checkEditorConfig","name","configPath","configKey","configured","readFile","config","Boolean","Sanity","err","detectAvailableEditors","editors","Object","entries","detect","editor","push"],"mappings":"AAAA,SAAQA,UAAU,QAAO,UAAS;AAClC,OAAOC,QAAQ,mBAAkB;AAEjC,SAAQC,QAAQ,QAAO,mBAAkB;AACzC,SAAyBC,SAASC,UAAU,QAAO,eAAc;AACjE,SAAQD,SAASE,SAAS,QAAO,YAAW;AAE5C,SAAQC,cAAc,QAAwB,qBAAoB;AAElE,MAAMC,QAAQL,SAAS;AAavB;;;CAGC,GACD,SAASM,YAAYC,OAAe,EAAEC,MAAwB;IAC5D,MAAMC,UAAUF,QAAQG,IAAI;IAC5B,IAAID,YAAY,IAAI;QAClB,OAAO,CAAC,EAAE,oDAAoD;;IAChE;IAEA,IAAID,WAAW,QAAQ;QACrB,IAAI;YACF,MAAMG,SAASR,UAAUI;YACzB,IAAI,OAAOI,WAAW,YAAYA,WAAW,QAAQC,MAAMC,OAAO,CAACF,SAAS;gBAC1E,OAAO;YACT;YAEA,OAAOA;QACT,EAAE,OAAM;YACN,OAAO;QACT;IACF;IAEA,MAAMG,SAAuB,EAAE;IAC/B,MAAMH,SAAST,WAAWK,SAASO,QAAQ;QAACC,oBAAoB;IAAI;IAEpE,IAAID,OAAOE,MAAM,GAAG,KAAK,OAAOL,WAAW,YAAYA,WAAW,QAAQC,MAAMC,OAAO,CAACF,SAAS;QAC/F,OAAO,KAAK,eAAe;;IAC7B;IAEA,OAAOA;AACT;AAEA;;;CAGC,GACD,eAAeM,kBAAkBC,IAAgB,EAAEC,UAAkB;IACnE,MAAM,EAACC,SAAS,EAAEZ,MAAM,EAAC,GAAGJ,cAAc,CAACc,KAAK;IAEhD,4CAA4C;IAC5C,IAAI,CAACpB,WAAWqB,aAAa;QAC3B,OAAO;YAACA;YAAYE,YAAY;YAAOH;QAAI;IAC7C;IAEA,kCAAkC;IAClC,IAAI;QACF,MAAMX,UAAU,MAAMR,GAAGuB,QAAQ,CAACH,YAAY;QAC9C,MAAMI,SAASjB,YAAYC,SAASC;QAEpC,IAAIe,WAAW,MAAM;YACnBlB,MAAM,mCAAmCa,MAAMC;YAC/C,OAAO,KAAK,iCAAiC;;QAC/C;QAEA,4CAA4C;QAC5C,MAAME,aAAaG,QAAQD,MAAM,CAACH,UAAU,EAAEK;QAE9C,OAAO;YAACN;YAAYE;YAAYH;QAAI;IACtC,EAAE,OAAOQ,KAAK;QACZrB,MAAM,sCAAsCa,MAAMC,YAAYO;QAC9D,OAAO;IACT;AACF;AAEA;;;CAGC,GACD,OAAO,eAAeC;IACpB,MAAMC,UAAoB,EAAE;IAE5B,KAAK,MAAM,CAACV,MAAMK,OAAO,IAAIM,OAAOC,OAAO,CAAC1B,gBAAiB;QAC3D,MAAMe,aAAa,MAAMI,OAAOQ,MAAM;QACtC,IAAIZ,YAAY;YACd,MAAMa,SAAS,MAAMf,kBAAkBC,MAAoBC;YAC3D,IAAIa,QAAQJ,QAAQK,IAAI,CAACD;QAC3B;IACF;IAEA,OAAOJ;AACT"}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import os from 'node:os';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { execa } from 'execa';
|
|
5
|
+
import { MCP_SERVER_URL } from '../../services/mcp.js';
|
|
6
|
+
const defaultHttpConfig = (token)=>({
|
|
7
|
+
headers: {
|
|
8
|
+
Authorization: `Bearer ${token}`
|
|
9
|
+
},
|
|
10
|
+
type: 'http',
|
|
11
|
+
url: MCP_SERVER_URL
|
|
12
|
+
});
|
|
13
|
+
const homeDir = os.homedir();
|
|
14
|
+
/**
|
|
15
|
+
* Centralized editor configuration including detection logic.
|
|
16
|
+
* To add a new editor: add an entry here - EditorName type is derived automatically.
|
|
17
|
+
*/ export const EDITOR_CONFIGS = {
|
|
18
|
+
'Claude Code': {
|
|
19
|
+
buildServerConfig: defaultHttpConfig,
|
|
20
|
+
configKey: 'mcpServers',
|
|
21
|
+
detect: async ()=>{
|
|
22
|
+
try {
|
|
23
|
+
await execa('claude', [
|
|
24
|
+
'--version'
|
|
25
|
+
], {
|
|
26
|
+
stdio: 'pipe',
|
|
27
|
+
timeout: 5000
|
|
28
|
+
});
|
|
29
|
+
return path.join(homeDir, '.claude.json');
|
|
30
|
+
} catch {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
format: 'jsonc'
|
|
35
|
+
},
|
|
36
|
+
'Codex CLI': {
|
|
37
|
+
buildServerConfig: (token)=>({
|
|
38
|
+
http_headers: {
|
|
39
|
+
Authorization: `Bearer ${token}`
|
|
40
|
+
},
|
|
41
|
+
type: 'http',
|
|
42
|
+
url: MCP_SERVER_URL
|
|
43
|
+
}),
|
|
44
|
+
configKey: 'mcp_servers',
|
|
45
|
+
detect: async ()=>{
|
|
46
|
+
try {
|
|
47
|
+
await execa('codex', [
|
|
48
|
+
'--version'
|
|
49
|
+
], {
|
|
50
|
+
stdio: 'pipe',
|
|
51
|
+
timeout: 5000
|
|
52
|
+
});
|
|
53
|
+
const codexHome = process.env.CODEX_HOME || path.join(homeDir, '.codex');
|
|
54
|
+
return path.join(codexHome, 'config.toml');
|
|
55
|
+
} catch {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
format: 'toml'
|
|
60
|
+
},
|
|
61
|
+
Cursor: {
|
|
62
|
+
buildServerConfig: defaultHttpConfig,
|
|
63
|
+
configKey: 'mcpServers',
|
|
64
|
+
detect: async ()=>{
|
|
65
|
+
const cursorDir = path.join(homeDir, '.cursor');
|
|
66
|
+
return existsSync(cursorDir) ? path.join(cursorDir, 'mcp.json') : null;
|
|
67
|
+
},
|
|
68
|
+
format: 'jsonc'
|
|
69
|
+
},
|
|
70
|
+
'Gemini CLI': {
|
|
71
|
+
buildServerConfig: defaultHttpConfig,
|
|
72
|
+
configKey: 'mcpServers',
|
|
73
|
+
detect: async ()=>{
|
|
74
|
+
const geminiDir = path.join(homeDir, '.gemini');
|
|
75
|
+
return existsSync(geminiDir) ? path.join(geminiDir, 'settings.json') : null;
|
|
76
|
+
},
|
|
77
|
+
format: 'jsonc'
|
|
78
|
+
},
|
|
79
|
+
'GitHub Copilot CLI': {
|
|
80
|
+
buildServerConfig: (token)=>({
|
|
81
|
+
headers: {
|
|
82
|
+
Authorization: `Bearer ${token}`
|
|
83
|
+
},
|
|
84
|
+
tools: [
|
|
85
|
+
'*'
|
|
86
|
+
],
|
|
87
|
+
type: 'http',
|
|
88
|
+
url: MCP_SERVER_URL
|
|
89
|
+
}),
|
|
90
|
+
configKey: 'mcpServers',
|
|
91
|
+
detect: async ()=>{
|
|
92
|
+
const copilotDir = process.platform === 'linux' && process.env.XDG_CONFIG_HOME ? path.join(process.env.XDG_CONFIG_HOME, 'copilot') : path.join(homeDir, '.copilot');
|
|
93
|
+
return existsSync(copilotDir) ? path.join(copilotDir, 'mcp-config.json') : null;
|
|
94
|
+
},
|
|
95
|
+
format: 'jsonc'
|
|
96
|
+
},
|
|
97
|
+
OpenCode: {
|
|
98
|
+
buildServerConfig: (token)=>({
|
|
99
|
+
headers: {
|
|
100
|
+
Authorization: `Bearer ${token}`
|
|
101
|
+
},
|
|
102
|
+
type: 'remote',
|
|
103
|
+
url: MCP_SERVER_URL
|
|
104
|
+
}),
|
|
105
|
+
configKey: 'mcp',
|
|
106
|
+
detect: async ()=>{
|
|
107
|
+
try {
|
|
108
|
+
await execa('opencode', [
|
|
109
|
+
'--version'
|
|
110
|
+
], {
|
|
111
|
+
stdio: 'pipe',
|
|
112
|
+
timeout: 5000
|
|
113
|
+
});
|
|
114
|
+
return path.join(homeDir, '.config/opencode/opencode.json');
|
|
115
|
+
} catch {
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
format: 'jsonc'
|
|
120
|
+
},
|
|
121
|
+
'VS Code': {
|
|
122
|
+
buildServerConfig: defaultHttpConfig,
|
|
123
|
+
configKey: 'servers',
|
|
124
|
+
detect: async ()=>{
|
|
125
|
+
let configDir = null;
|
|
126
|
+
switch(process.platform){
|
|
127
|
+
case 'darwin':
|
|
128
|
+
{
|
|
129
|
+
configDir = path.join(homeDir, 'Library/Application Support/Code/User');
|
|
130
|
+
break;
|
|
131
|
+
}
|
|
132
|
+
case 'win32':
|
|
133
|
+
{
|
|
134
|
+
if (process.env.APPDATA) {
|
|
135
|
+
configDir = path.join(process.env.APPDATA, 'Code/User');
|
|
136
|
+
}
|
|
137
|
+
break;
|
|
138
|
+
}
|
|
139
|
+
default:
|
|
140
|
+
{
|
|
141
|
+
configDir = path.join(homeDir, '.config/Code/User');
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return configDir && existsSync(configDir) ? path.join(configDir, 'mcp.json') : null;
|
|
145
|
+
},
|
|
146
|
+
format: 'jsonc'
|
|
147
|
+
},
|
|
148
|
+
'VS Code Insiders': {
|
|
149
|
+
buildServerConfig: defaultHttpConfig,
|
|
150
|
+
configKey: 'servers',
|
|
151
|
+
detect: async ()=>{
|
|
152
|
+
let configDir = null;
|
|
153
|
+
switch(process.platform){
|
|
154
|
+
case 'darwin':
|
|
155
|
+
{
|
|
156
|
+
configDir = path.join(homeDir, 'Library/Application Support/Code - Insiders/User');
|
|
157
|
+
break;
|
|
158
|
+
}
|
|
159
|
+
case 'win32':
|
|
160
|
+
{
|
|
161
|
+
if (process.env.APPDATA) {
|
|
162
|
+
configDir = path.join(process.env.APPDATA, 'Code - Insiders/User');
|
|
163
|
+
}
|
|
164
|
+
break;
|
|
165
|
+
}
|
|
166
|
+
default:
|
|
167
|
+
{
|
|
168
|
+
configDir = path.join(homeDir, '.config/Code - Insiders/User');
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
return configDir && existsSync(configDir) ? path.join(configDir, 'mcp.json') : null;
|
|
172
|
+
},
|
|
173
|
+
format: 'jsonc'
|
|
174
|
+
},
|
|
175
|
+
Zed: {
|
|
176
|
+
buildServerConfig: (token)=>({
|
|
177
|
+
headers: {
|
|
178
|
+
Authorization: `Bearer ${token}`
|
|
179
|
+
},
|
|
180
|
+
settings: {},
|
|
181
|
+
url: MCP_SERVER_URL
|
|
182
|
+
}),
|
|
183
|
+
configKey: 'context_servers',
|
|
184
|
+
detect: async ()=>{
|
|
185
|
+
let configDir = null;
|
|
186
|
+
switch(process.platform){
|
|
187
|
+
case 'win32':
|
|
188
|
+
{
|
|
189
|
+
if (process.env.APPDATA) {
|
|
190
|
+
configDir = path.join(process.env.APPDATA, 'Zed');
|
|
191
|
+
}
|
|
192
|
+
break;
|
|
193
|
+
}
|
|
194
|
+
default:
|
|
195
|
+
{
|
|
196
|
+
configDir = path.join(homeDir, '.config/zed');
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
return configDir && existsSync(configDir) ? path.join(configDir, 'settings.json') : null;
|
|
200
|
+
},
|
|
201
|
+
format: 'jsonc'
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
//# sourceMappingURL=editorConfigs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/actions/mcp/editorConfigs.ts"],"sourcesContent":["import {existsSync} from 'node:fs'\nimport os from 'node:os'\nimport path from 'node:path'\n\nimport {execa} from 'execa'\n\nimport {MCP_SERVER_URL} from '../../services/mcp.js'\n\ninterface EditorConfig {\n buildServerConfig: (token: string) => Record<string, unknown>\n configKey: string\n /** Returns the config file path if editor is detected, null otherwise */\n detect: () => Promise<string | null>\n format: 'jsonc' | 'toml'\n}\n\nconst defaultHttpConfig = (token: string) => ({\n headers: {Authorization: `Bearer ${token}`},\n type: 'http',\n url: MCP_SERVER_URL,\n})\n\nconst homeDir = os.homedir()\n\n/**\n * Centralized editor configuration including detection logic.\n * To add a new editor: add an entry here - EditorName type is derived automatically.\n */\nexport const EDITOR_CONFIGS = {\n 'Claude Code': {\n buildServerConfig: defaultHttpConfig,\n configKey: 'mcpServers',\n detect: async () => {\n try {\n await execa('claude', ['--version'], {stdio: 'pipe', timeout: 5000})\n return path.join(homeDir, '.claude.json')\n } catch {\n return null\n }\n },\n format: 'jsonc',\n },\n 'Codex CLI': {\n buildServerConfig: (token) => ({\n http_headers: {Authorization: `Bearer ${token}`},\n type: 'http',\n url: MCP_SERVER_URL,\n }),\n configKey: 'mcp_servers',\n detect: async () => {\n try {\n await execa('codex', ['--version'], {stdio: 'pipe', timeout: 5000})\n const codexHome = process.env.CODEX_HOME || path.join(homeDir, '.codex')\n return path.join(codexHome, 'config.toml')\n } catch {\n return null\n }\n },\n format: 'toml',\n },\n Cursor: {\n buildServerConfig: defaultHttpConfig,\n configKey: 'mcpServers',\n detect: async () => {\n const cursorDir = path.join(homeDir, '.cursor')\n return existsSync(cursorDir) ? path.join(cursorDir, 'mcp.json') : null\n },\n format: 'jsonc',\n },\n 'Gemini CLI': {\n buildServerConfig: defaultHttpConfig,\n configKey: 'mcpServers',\n detect: async () => {\n const geminiDir = path.join(homeDir, '.gemini')\n return existsSync(geminiDir) ? path.join(geminiDir, 'settings.json') : null\n },\n format: 'jsonc',\n },\n 'GitHub Copilot CLI': {\n buildServerConfig: (token: string) => ({\n headers: {Authorization: `Bearer ${token}`},\n tools: ['*'],\n type: 'http',\n url: MCP_SERVER_URL,\n }),\n configKey: 'mcpServers',\n detect: async () => {\n const copilotDir =\n process.platform === 'linux' && process.env.XDG_CONFIG_HOME\n ? path.join(process.env.XDG_CONFIG_HOME, 'copilot')\n : path.join(homeDir, '.copilot')\n return existsSync(copilotDir) ? path.join(copilotDir, 'mcp-config.json') : null\n },\n format: 'jsonc',\n },\n OpenCode: {\n buildServerConfig: (token) => ({\n headers: {Authorization: `Bearer ${token}`},\n type: 'remote',\n url: MCP_SERVER_URL,\n }),\n configKey: 'mcp',\n detect: async () => {\n try {\n await execa('opencode', ['--version'], {stdio: 'pipe', timeout: 5000})\n return path.join(homeDir, '.config/opencode/opencode.json')\n } catch {\n return null\n }\n },\n format: 'jsonc',\n },\n 'VS Code': {\n buildServerConfig: defaultHttpConfig,\n configKey: 'servers',\n detect: async () => {\n let configDir: string | null = null\n switch (process.platform) {\n case 'darwin': {\n configDir = path.join(homeDir, 'Library/Application Support/Code/User')\n break\n }\n case 'win32': {\n if (process.env.APPDATA) {\n configDir = path.join(process.env.APPDATA, 'Code/User')\n }\n break\n }\n default: {\n configDir = path.join(homeDir, '.config/Code/User')\n }\n }\n return configDir && existsSync(configDir) ? path.join(configDir, 'mcp.json') : null\n },\n format: 'jsonc',\n },\n 'VS Code Insiders': {\n buildServerConfig: defaultHttpConfig,\n configKey: 'servers',\n detect: async () => {\n let configDir: string | null = null\n switch (process.platform) {\n case 'darwin': {\n configDir = path.join(homeDir, 'Library/Application Support/Code - Insiders/User')\n break\n }\n case 'win32': {\n if (process.env.APPDATA) {\n configDir = path.join(process.env.APPDATA, 'Code - Insiders/User')\n }\n break\n }\n default: {\n configDir = path.join(homeDir, '.config/Code - Insiders/User')\n }\n }\n return configDir && existsSync(configDir) ? path.join(configDir, 'mcp.json') : null\n },\n format: 'jsonc',\n },\n Zed: {\n buildServerConfig: (token) => ({\n headers: {Authorization: `Bearer ${token}`},\n settings: {},\n url: MCP_SERVER_URL,\n }),\n configKey: 'context_servers',\n detect: async () => {\n let configDir: string | null = null\n switch (process.platform) {\n case 'win32': {\n if (process.env.APPDATA) {\n configDir = path.join(process.env.APPDATA, 'Zed')\n }\n break\n }\n default: {\n configDir = path.join(homeDir, '.config/zed')\n }\n }\n return configDir && existsSync(configDir) ? path.join(configDir, 'settings.json') : null\n },\n format: 'jsonc',\n },\n} satisfies Record<string, EditorConfig>\n\n/** Derived from EDITOR_CONFIGS keys - add a new editor there and this updates automatically */\nexport type EditorName = keyof typeof EDITOR_CONFIGS\n"],"names":["existsSync","os","path","execa","MCP_SERVER_URL","defaultHttpConfig","token","headers","Authorization","type","url","homeDir","homedir","EDITOR_CONFIGS","buildServerConfig","configKey","detect","stdio","timeout","join","format","http_headers","codexHome","process","env","CODEX_HOME","Cursor","cursorDir","geminiDir","tools","copilotDir","platform","XDG_CONFIG_HOME","OpenCode","configDir","APPDATA","Zed","settings"],"mappings":"AAAA,SAAQA,UAAU,QAAO,UAAS;AAClC,OAAOC,QAAQ,UAAS;AACxB,OAAOC,UAAU,YAAW;AAE5B,SAAQC,KAAK,QAAO,QAAO;AAE3B,SAAQC,cAAc,QAAO,wBAAuB;AAUpD,MAAMC,oBAAoB,CAACC,QAAmB,CAAA;QAC5CC,SAAS;YAACC,eAAe,CAAC,OAAO,EAAEF,OAAO;QAAA;QAC1CG,MAAM;QACNC,KAAKN;IACP,CAAA;AAEA,MAAMO,UAAUV,GAAGW,OAAO;AAE1B;;;CAGC,GACD,OAAO,MAAMC,iBAAiB;IAC5B,eAAe;QACbC,mBAAmBT;QACnBU,WAAW;QACXC,QAAQ;YACN,IAAI;gBACF,MAAMb,MAAM,UAAU;oBAAC;iBAAY,EAAE;oBAACc,OAAO;oBAAQC,SAAS;gBAAI;gBAClE,OAAOhB,KAAKiB,IAAI,CAACR,SAAS;YAC5B,EAAE,OAAM;gBACN,OAAO;YACT;QACF;QACAS,QAAQ;IACV;IACA,aAAa;QACXN,mBAAmB,CAACR,QAAW,CAAA;gBAC7Be,cAAc;oBAACb,eAAe,CAAC,OAAO,EAAEF,OAAO;gBAAA;gBAC/CG,MAAM;gBACNC,KAAKN;YACP,CAAA;QACAW,WAAW;QACXC,QAAQ;YACN,IAAI;gBACF,MAAMb,MAAM,SAAS;oBAAC;iBAAY,EAAE;oBAACc,OAAO;oBAAQC,SAAS;gBAAI;gBACjE,MAAMI,YAAYC,QAAQC,GAAG,CAACC,UAAU,IAAIvB,KAAKiB,IAAI,CAACR,SAAS;gBAC/D,OAAOT,KAAKiB,IAAI,CAACG,WAAW;YAC9B,EAAE,OAAM;gBACN,OAAO;YACT;QACF;QACAF,QAAQ;IACV;IACAM,QAAQ;QACNZ,mBAAmBT;QACnBU,WAAW;QACXC,QAAQ;YACN,MAAMW,YAAYzB,KAAKiB,IAAI,CAACR,SAAS;YACrC,OAAOX,WAAW2B,aAAazB,KAAKiB,IAAI,CAACQ,WAAW,cAAc;QACpE;QACAP,QAAQ;IACV;IACA,cAAc;QACZN,mBAAmBT;QACnBU,WAAW;QACXC,QAAQ;YACN,MAAMY,YAAY1B,KAAKiB,IAAI,CAACR,SAAS;YACrC,OAAOX,WAAW4B,aAAa1B,KAAKiB,IAAI,CAACS,WAAW,mBAAmB;QACzE;QACAR,QAAQ;IACV;IACA,sBAAsB;QACpBN,mBAAmB,CAACR,QAAmB,CAAA;gBACrCC,SAAS;oBAACC,eAAe,CAAC,OAAO,EAAEF,OAAO;gBAAA;gBAC1CuB,OAAO;oBAAC;iBAAI;gBACZpB,MAAM;gBACNC,KAAKN;YACP,CAAA;QACAW,WAAW;QACXC,QAAQ;YACN,MAAMc,aACJP,QAAQQ,QAAQ,KAAK,WAAWR,QAAQC,GAAG,CAACQ,eAAe,GACvD9B,KAAKiB,IAAI,CAACI,QAAQC,GAAG,CAACQ,eAAe,EAAE,aACvC9B,KAAKiB,IAAI,CAACR,SAAS;YACzB,OAAOX,WAAW8B,cAAc5B,KAAKiB,IAAI,CAACW,YAAY,qBAAqB;QAC7E;QACAV,QAAQ;IACV;IACAa,UAAU;QACRnB,mBAAmB,CAACR,QAAW,CAAA;gBAC7BC,SAAS;oBAACC,eAAe,CAAC,OAAO,EAAEF,OAAO;gBAAA;gBAC1CG,MAAM;gBACNC,KAAKN;YACP,CAAA;QACAW,WAAW;QACXC,QAAQ;YACN,IAAI;gBACF,MAAMb,MAAM,YAAY;oBAAC;iBAAY,EAAE;oBAACc,OAAO;oBAAQC,SAAS;gBAAI;gBACpE,OAAOhB,KAAKiB,IAAI,CAACR,SAAS;YAC5B,EAAE,OAAM;gBACN,OAAO;YACT;QACF;QACAS,QAAQ;IACV;IACA,WAAW;QACTN,mBAAmBT;QACnBU,WAAW;QACXC,QAAQ;YACN,IAAIkB,YAA2B;YAC/B,OAAQX,QAAQQ,QAAQ;gBACtB,KAAK;oBAAU;wBACbG,YAAYhC,KAAKiB,IAAI,CAACR,SAAS;wBAC/B;oBACF;gBACA,KAAK;oBAAS;wBACZ,IAAIY,QAAQC,GAAG,CAACW,OAAO,EAAE;4BACvBD,YAAYhC,KAAKiB,IAAI,CAACI,QAAQC,GAAG,CAACW,OAAO,EAAE;wBAC7C;wBACA;oBACF;gBACA;oBAAS;wBACPD,YAAYhC,KAAKiB,IAAI,CAACR,SAAS;oBACjC;YACF;YACA,OAAOuB,aAAalC,WAAWkC,aAAahC,KAAKiB,IAAI,CAACe,WAAW,cAAc;QACjF;QACAd,QAAQ;IACV;IACA,oBAAoB;QAClBN,mBAAmBT;QACnBU,WAAW;QACXC,QAAQ;YACN,IAAIkB,YAA2B;YAC/B,OAAQX,QAAQQ,QAAQ;gBACtB,KAAK;oBAAU;wBACbG,YAAYhC,KAAKiB,IAAI,CAACR,SAAS;wBAC/B;oBACF;gBACA,KAAK;oBAAS;wBACZ,IAAIY,QAAQC,GAAG,CAACW,OAAO,EAAE;4BACvBD,YAAYhC,KAAKiB,IAAI,CAACI,QAAQC,GAAG,CAACW,OAAO,EAAE;wBAC7C;wBACA;oBACF;gBACA;oBAAS;wBACPD,YAAYhC,KAAKiB,IAAI,CAACR,SAAS;oBACjC;YACF;YACA,OAAOuB,aAAalC,WAAWkC,aAAahC,KAAKiB,IAAI,CAACe,WAAW,cAAc;QACjF;QACAd,QAAQ;IACV;IACAgB,KAAK;QACHtB,mBAAmB,CAACR,QAAW,CAAA;gBAC7BC,SAAS;oBAACC,eAAe,CAAC,OAAO,EAAEF,OAAO;gBAAA;gBAC1C+B,UAAU,CAAC;gBACX3B,KAAKN;YACP,CAAA;QACAW,WAAW;QACXC,QAAQ;YACN,IAAIkB,YAA2B;YAC/B,OAAQX,QAAQQ,QAAQ;gBACtB,KAAK;oBAAS;wBACZ,IAAIR,QAAQC,GAAG,CAACW,OAAO,EAAE;4BACvBD,YAAYhC,KAAKiB,IAAI,CAACI,QAAQC,GAAG,CAACW,OAAO,EAAE;wBAC7C;wBACA;oBACF;gBACA;oBAAS;wBACPD,YAAYhC,KAAKiB,IAAI,CAACR,SAAS;oBACjC;YACF;YACA,OAAOuB,aAAalC,WAAWkC,aAAahC,KAAKiB,IAAI,CAACe,WAAW,mBAAmB;QACtF;QACAd,QAAQ;IACV;AACF,EAAwC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { checkbox } from '@sanity/cli-core/ux';
|
|
2
|
+
/**
|
|
3
|
+
* Prompt user to select which editors to configure
|
|
4
|
+
* Shows existing config status - unconfigured editors are pre-selected,
|
|
5
|
+
* configured editors show "(already installed)" and are not pre-selected
|
|
6
|
+
*/ export async function promptForMCPSetup(editors) {
|
|
7
|
+
const editorChoices = editors.map((e)=>({
|
|
8
|
+
checked: !e.configured,
|
|
9
|
+
name: e.configured ? `${e.name} (already installed)` : e.name,
|
|
10
|
+
value: e.name
|
|
11
|
+
}));
|
|
12
|
+
const result = await checkbox({
|
|
13
|
+
choices: editorChoices,
|
|
14
|
+
message: 'Configure Sanity MCP server?'
|
|
15
|
+
});
|
|
16
|
+
const selectedNames = result;
|
|
17
|
+
// User can deselect all to skip
|
|
18
|
+
if (!selectedNames || selectedNames.length === 0) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
return editors.filter((e)=>selectedNames.includes(e.name));
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=promptForMCPSetup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/actions/mcp/promptForMCPSetup.ts"],"sourcesContent":["import {checkbox} from '@sanity/cli-core/ux'\n\nimport {type Editor} from './types.js'\n\n/**\n * Prompt user to select which editors to configure\n * Shows existing config status - unconfigured editors are pre-selected,\n * configured editors show \"(already installed)\" and are not pre-selected\n */\nexport async function promptForMCPSetup(editors: Editor[]): Promise<Editor[] | null> {\n const editorChoices = editors.map((e) => ({\n checked: !e.configured, // Only pre-select if NOT already configured\n name: e.configured ? `${e.name} (already installed)` : e.name,\n value: e.name,\n }))\n\n const result = await checkbox({\n choices: editorChoices,\n message: 'Configure Sanity MCP server?',\n })\n\n const selectedNames = result\n\n // User can deselect all to skip\n if (!selectedNames || selectedNames.length === 0) {\n return null\n }\n\n return editors.filter((e) => selectedNames.includes(e.name))\n}\n"],"names":["checkbox","promptForMCPSetup","editors","editorChoices","map","e","checked","configured","name","value","result","choices","message","selectedNames","length","filter","includes"],"mappings":"AAAA,SAAQA,QAAQ,QAAO,sBAAqB;AAI5C;;;;CAIC,GACD,OAAO,eAAeC,kBAAkBC,OAAiB;IACvD,MAAMC,gBAAgBD,QAAQE,GAAG,CAAC,CAACC,IAAO,CAAA;YACxCC,SAAS,CAACD,EAAEE,UAAU;YACtBC,MAAMH,EAAEE,UAAU,GAAG,GAAGF,EAAEG,IAAI,CAAC,oBAAoB,CAAC,GAAGH,EAAEG,IAAI;YAC7DC,OAAOJ,EAAEG,IAAI;QACf,CAAA;IAEA,MAAME,SAAS,MAAMV,SAAS;QAC5BW,SAASR;QACTS,SAAS;IACX;IAEA,MAAMC,gBAAgBH;IAEtB,gCAAgC;IAChC,IAAI,CAACG,iBAAiBA,cAAcC,MAAM,KAAK,GAAG;QAChD,OAAO;IACT;IAEA,OAAOZ,QAAQa,MAAM,CAAC,CAACV,IAAMQ,cAAcG,QAAQ,CAACX,EAAEG,IAAI;AAC5D"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { ux } from '@oclif/core';
|
|
2
|
+
import { subdebug } from '@sanity/cli-core';
|
|
3
|
+
import { logSymbols } from '@sanity/cli-core/ux';
|
|
4
|
+
import { createMCPToken, MCP_SERVER_URL } from '../../services/mcp.js';
|
|
5
|
+
import { detectAvailableEditors } from './detectAvailableEditors.js';
|
|
6
|
+
import { promptForMCPSetup } from './promptForMCPSetup.js';
|
|
7
|
+
import { writeMCPConfig } from './writeMCPConfig.js';
|
|
8
|
+
const mcpDebug = subdebug('mcp:setup');
|
|
9
|
+
const NO_EDITORS_DETECTED_MESSAGE = `Couldn't auto-configure Sanity MCP server for your editor. Visit ${MCP_SERVER_URL} for setup instructions.`;
|
|
10
|
+
/**
|
|
11
|
+
* Main MCP setup orchestration
|
|
12
|
+
* Opt-out by default: runs automatically unless skipMcp flag is set
|
|
13
|
+
*/ export async function setupMCP(mcp) {
|
|
14
|
+
// 1. Check for explicit opt-out
|
|
15
|
+
if (mcp === false) {
|
|
16
|
+
ux.warn('Skipping MCP configuration due to --no-mcp flag');
|
|
17
|
+
return {
|
|
18
|
+
configuredEditors: [],
|
|
19
|
+
detectedEditors: [],
|
|
20
|
+
skipped: true
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
// 2. Detect available editors (filters out unparseable configs)
|
|
24
|
+
const editors = await detectAvailableEditors();
|
|
25
|
+
const detectedEditors = editors.map((e)=>e.name);
|
|
26
|
+
mcpDebug('Detected %d editors: %s', detectedEditors.length, detectedEditors);
|
|
27
|
+
if (editors.length === 0) {
|
|
28
|
+
ux.warn(NO_EDITORS_DETECTED_MESSAGE);
|
|
29
|
+
return {
|
|
30
|
+
configuredEditors: [],
|
|
31
|
+
detectedEditors,
|
|
32
|
+
skipped: true
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
// 3. Prompt user (shows existing config status, only pre-selects unconfigured editors)
|
|
36
|
+
const selected = await promptForMCPSetup(editors);
|
|
37
|
+
if (!selected || selected.length === 0) {
|
|
38
|
+
// User deselected all editors
|
|
39
|
+
ux.stdout('MCP configuration skipped');
|
|
40
|
+
return {
|
|
41
|
+
configuredEditors: [],
|
|
42
|
+
detectedEditors,
|
|
43
|
+
skipped: true
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
// 4. Create child token for MCP
|
|
47
|
+
let token;
|
|
48
|
+
try {
|
|
49
|
+
token = await createMCPToken();
|
|
50
|
+
} catch (error) {
|
|
51
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
52
|
+
mcpDebug('Error creating MCP token', error);
|
|
53
|
+
ux.warn(`Could not configure MCP: ${err.message}`);
|
|
54
|
+
ux.warn('You can set up MCP manually later using https://mcp.sanity.io');
|
|
55
|
+
return {
|
|
56
|
+
configuredEditors: [],
|
|
57
|
+
detectedEditors,
|
|
58
|
+
error: err,
|
|
59
|
+
skipped: false
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
// 5. Write configs for each selected editor
|
|
63
|
+
try {
|
|
64
|
+
for (const editor of selected){
|
|
65
|
+
await writeMCPConfig(editor, token);
|
|
66
|
+
}
|
|
67
|
+
} catch (error) {
|
|
68
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
69
|
+
mcpDebug('Error writing MCP config', error);
|
|
70
|
+
ux.warn(`Could not configure MCP: ${err.message}`);
|
|
71
|
+
ux.warn('You can set up MCP manually later using https://mcp.sanity.io');
|
|
72
|
+
return {
|
|
73
|
+
configuredEditors: [],
|
|
74
|
+
detectedEditors,
|
|
75
|
+
error: err,
|
|
76
|
+
skipped: false
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
const configuredEditors = selected.map((e)=>e.name);
|
|
80
|
+
ux.stdout(`${logSymbols.success} MCP configured for ${configuredEditors.join(', ')}`);
|
|
81
|
+
return {
|
|
82
|
+
configuredEditors,
|
|
83
|
+
detectedEditors,
|
|
84
|
+
skipped: false
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
//# sourceMappingURL=setupMCP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/actions/mcp/setupMCP.ts"],"sourcesContent":["import {ux} from '@oclif/core'\nimport {subdebug} from '@sanity/cli-core'\nimport {logSymbols} from '@sanity/cli-core/ux'\n\nimport {createMCPToken, MCP_SERVER_URL} from '../../services/mcp.js'\nimport {detectAvailableEditors} from './detectAvailableEditors.js'\nimport {type EditorName} from './editorConfigs.js'\nimport {promptForMCPSetup} from './promptForMCPSetup.js'\nimport {writeMCPConfig} from './writeMCPConfig.js'\n\nconst mcpDebug = subdebug('mcp:setup')\n\nconst NO_EDITORS_DETECTED_MESSAGE = `Couldn't auto-configure Sanity MCP server for your editor. Visit ${MCP_SERVER_URL} for setup instructions.`\n\ninterface MCPSetupResult {\n configuredEditors: EditorName[]\n detectedEditors: EditorName[]\n skipped: boolean\n\n error?: Error\n}\n\n/**\n * Main MCP setup orchestration\n * Opt-out by default: runs automatically unless skipMcp flag is set\n */\nexport async function setupMCP(mcp?: boolean): Promise<MCPSetupResult> {\n // 1. Check for explicit opt-out\n if (mcp === false) {\n ux.warn('Skipping MCP configuration due to --no-mcp flag')\n return {\n configuredEditors: [],\n detectedEditors: [],\n skipped: true,\n }\n }\n\n // 2. Detect available editors (filters out unparseable configs)\n const editors = await detectAvailableEditors()\n const detectedEditors = editors.map((e) => e.name)\n\n mcpDebug('Detected %d editors: %s', detectedEditors.length, detectedEditors)\n\n if (editors.length === 0) {\n ux.warn(NO_EDITORS_DETECTED_MESSAGE)\n return {\n configuredEditors: [],\n detectedEditors,\n skipped: true,\n }\n }\n\n // 3. Prompt user (shows existing config status, only pre-selects unconfigured editors)\n const selected = await promptForMCPSetup(editors)\n\n if (!selected || selected.length === 0) {\n // User deselected all editors\n ux.stdout('MCP configuration skipped')\n return {\n configuredEditors: [],\n detectedEditors,\n skipped: true,\n }\n }\n\n // 4. Create child token for MCP\n let token: string\n try {\n token = await createMCPToken()\n } catch (error) {\n const err = error instanceof Error ? error : new Error(String(error))\n mcpDebug('Error creating MCP token', error)\n ux.warn(`Could not configure MCP: ${err.message}`)\n ux.warn('You can set up MCP manually later using https://mcp.sanity.io')\n return {\n configuredEditors: [],\n detectedEditors,\n error: err,\n skipped: false,\n }\n }\n\n // 5. Write configs for each selected editor\n try {\n for (const editor of selected) {\n await writeMCPConfig(editor, token)\n }\n } catch (error) {\n const err = error instanceof Error ? error : new Error(String(error))\n mcpDebug('Error writing MCP config', error)\n ux.warn(`Could not configure MCP: ${err.message}`)\n ux.warn('You can set up MCP manually later using https://mcp.sanity.io')\n return {\n configuredEditors: [],\n detectedEditors,\n error: err,\n skipped: false,\n }\n }\n\n const configuredEditors = selected.map((e) => e.name)\n ux.stdout(`${logSymbols.success} MCP configured for ${configuredEditors.join(', ')}`)\n\n return {\n configuredEditors,\n detectedEditors,\n skipped: false,\n }\n}\n"],"names":["ux","subdebug","logSymbols","createMCPToken","MCP_SERVER_URL","detectAvailableEditors","promptForMCPSetup","writeMCPConfig","mcpDebug","NO_EDITORS_DETECTED_MESSAGE","setupMCP","mcp","warn","configuredEditors","detectedEditors","skipped","editors","map","e","name","length","selected","stdout","token","error","err","Error","String","message","editor","success","join"],"mappings":"AAAA,SAAQA,EAAE,QAAO,cAAa;AAC9B,SAAQC,QAAQ,QAAO,mBAAkB;AACzC,SAAQC,UAAU,QAAO,sBAAqB;AAE9C,SAAQC,cAAc,EAAEC,cAAc,QAAO,wBAAuB;AACpE,SAAQC,sBAAsB,QAAO,8BAA6B;AAElE,SAAQC,iBAAiB,QAAO,yBAAwB;AACxD,SAAQC,cAAc,QAAO,sBAAqB;AAElD,MAAMC,WAAWP,SAAS;AAE1B,MAAMQ,8BAA8B,CAAC,iEAAiE,EAAEL,eAAe,wBAAwB,CAAC;AAUhJ;;;CAGC,GACD,OAAO,eAAeM,SAASC,GAAa;IAC1C,gCAAgC;IAChC,IAAIA,QAAQ,OAAO;QACjBX,GAAGY,IAAI,CAAC;QACR,OAAO;YACLC,mBAAmB,EAAE;YACrBC,iBAAiB,EAAE;YACnBC,SAAS;QACX;IACF;IAEA,gEAAgE;IAChE,MAAMC,UAAU,MAAMX;IACtB,MAAMS,kBAAkBE,QAAQC,GAAG,CAAC,CAACC,IAAMA,EAAEC,IAAI;IAEjDX,SAAS,2BAA2BM,gBAAgBM,MAAM,EAAEN;IAE5D,IAAIE,QAAQI,MAAM,KAAK,GAAG;QACxBpB,GAAGY,IAAI,CAACH;QACR,OAAO;YACLI,mBAAmB,EAAE;YACrBC;YACAC,SAAS;QACX;IACF;IAEA,uFAAuF;IACvF,MAAMM,WAAW,MAAMf,kBAAkBU;IAEzC,IAAI,CAACK,YAAYA,SAASD,MAAM,KAAK,GAAG;QACtC,8BAA8B;QAC9BpB,GAAGsB,MAAM,CAAC;QACV,OAAO;YACLT,mBAAmB,EAAE;YACrBC;YACAC,SAAS;QACX;IACF;IAEA,gCAAgC;IAChC,IAAIQ;IACJ,IAAI;QACFA,QAAQ,MAAMpB;IAChB,EAAE,OAAOqB,OAAO;QACd,MAAMC,MAAMD,iBAAiBE,QAAQF,QAAQ,IAAIE,MAAMC,OAAOH;QAC9DhB,SAAS,4BAA4BgB;QACrCxB,GAAGY,IAAI,CAAC,CAAC,yBAAyB,EAAEa,IAAIG,OAAO,EAAE;QACjD5B,GAAGY,IAAI,CAAC;QACR,OAAO;YACLC,mBAAmB,EAAE;YACrBC;YACAU,OAAOC;YACPV,SAAS;QACX;IACF;IAEA,4CAA4C;IAC5C,IAAI;QACF,KAAK,MAAMc,UAAUR,SAAU;YAC7B,MAAMd,eAAesB,QAAQN;QAC/B;IACF,EAAE,OAAOC,OAAO;QACd,MAAMC,MAAMD,iBAAiBE,QAAQF,QAAQ,IAAIE,MAAMC,OAAOH;QAC9DhB,SAAS,4BAA4BgB;QACrCxB,GAAGY,IAAI,CAAC,CAAC,yBAAyB,EAAEa,IAAIG,OAAO,EAAE;QACjD5B,GAAGY,IAAI,CAAC;QACR,OAAO;YACLC,mBAAmB,EAAE;YACrBC;YACAU,OAAOC;YACPV,SAAS;QACX;IACF;IAEA,MAAMF,oBAAoBQ,SAASJ,GAAG,CAAC,CAACC,IAAMA,EAAEC,IAAI;IACpDnB,GAAGsB,MAAM,CAAC,GAAGpB,WAAW4B,OAAO,CAAC,oBAAoB,EAAEjB,kBAAkBkB,IAAI,CAAC,OAAO;IAEpF,OAAO;QACLlB;QACAC;QACAC,SAAS;IACX;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/actions/mcp/types.ts"],"sourcesContent":["import {type EditorName} from './editorConfigs.js'\n\nexport interface Editor {\n configPath: string\n /** Whether Sanity MCP is already configured for this editor */\n configured: boolean\n name: EditorName\n}\n"],"names":[],"mappings":"AAEA,WAKC"}
|
|
@@ -1,46 +1,53 @@
|
|
|
1
1
|
import { existsSync } from 'node:fs';
|
|
2
2
|
import fs from 'node:fs/promises';
|
|
3
3
|
import path from 'node:path';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
4
|
+
import { applyEdits, modify } from 'jsonc-parser';
|
|
5
|
+
import { parse as parseToml, stringify as stringifyToml } from 'smol-toml';
|
|
6
|
+
import { EDITOR_CONFIGS } from './editorConfigs.js';
|
|
7
7
|
/**
|
|
8
8
|
* Write MCP configuration to editor config file
|
|
9
|
-
*
|
|
9
|
+
* Uses jsonc-parser's modify/applyEdits to preserve comments
|
|
10
10
|
*
|
|
11
|
-
*
|
|
12
|
-
* @param token - MCP authentication token
|
|
11
|
+
* Note: Config parseability is already validated in detectAvailableEditors()
|
|
13
12
|
*/ export async function writeMCPConfig(editor, token) {
|
|
14
13
|
const configPath = editor.configPath;
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
const { buildServerConfig, configKey, format } = EDITOR_CONFIGS[editor.name];
|
|
15
|
+
const serverConfig = buildServerConfig(token);
|
|
16
|
+
// Read existing content or start with empty object/document
|
|
17
|
+
let content = format === 'toml' ? '' : '{}';
|
|
17
18
|
if (existsSync(configPath)) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
} catch {
|
|
22
|
-
debug(`Warning: Could not parse ${configPath}. Creating new config.`);
|
|
23
|
-
// Use empty config (will overwrite)
|
|
19
|
+
const fileContent = await fs.readFile(configPath, 'utf8');
|
|
20
|
+
if (fileContent.trim()) {
|
|
21
|
+
content = fileContent;
|
|
24
22
|
}
|
|
25
23
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
24
|
+
if (format === 'toml') {
|
|
25
|
+
const tomlConfig = content.trim() ? parseToml(content) : {};
|
|
26
|
+
const existingServers = tomlConfig[configKey];
|
|
27
|
+
tomlConfig[configKey] = {
|
|
28
|
+
...existingServers && typeof existingServers === 'object' ? existingServers : {},
|
|
29
|
+
Sanity: serverConfig
|
|
30
|
+
};
|
|
31
|
+
content = stringifyToml(tomlConfig);
|
|
32
|
+
} else {
|
|
33
|
+
// Modify using jsonc-parser - preserves comments
|
|
34
|
+
// Setting a nested path automatically creates intermediate objects
|
|
35
|
+
const edits = modify(content, [
|
|
36
|
+
configKey,
|
|
37
|
+
'Sanity'
|
|
38
|
+
], serverConfig, {
|
|
39
|
+
formattingOptions: {
|
|
40
|
+
insertSpaces: true,
|
|
41
|
+
tabSize: 2
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
content = applyEdits(content, edits);
|
|
30
45
|
}
|
|
31
|
-
|
|
32
|
-
headers: {
|
|
33
|
-
Authorization: `Bearer ${token}`
|
|
34
|
-
},
|
|
35
|
-
type: 'http',
|
|
36
|
-
url: MCP_SERVER_URL
|
|
37
|
-
};
|
|
38
|
-
// 3. Ensure parent directory exists
|
|
46
|
+
// Ensure parent directory exists and write
|
|
39
47
|
await fs.mkdir(path.dirname(configPath), {
|
|
40
48
|
recursive: true
|
|
41
49
|
});
|
|
42
|
-
|
|
43
|
-
await fs.writeFile(configPath, JSON.stringify(existingConfig, null, 2), 'utf8');
|
|
50
|
+
await fs.writeFile(configPath, content, 'utf8');
|
|
44
51
|
}
|
|
45
52
|
|
|
46
53
|
//# sourceMappingURL=writeMCPConfig.js.map
|