@sanity/cli 5.9.0-next.8 → 6.0.0-alpha.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +3212 -2
- package/bin/run.cmd +3 -0
- package/bin/run.js +33 -0
- package/codemods/deskRename.js +115 -96
- package/codemods/partsTypeDirective.js +7 -7
- package/codemods/reactIconsV3.js +78 -51
- package/dist/SanityHelp.js +43 -0
- package/dist/SanityHelp.js.map +1 -0
- package/dist/actions/auth/authServer.js +153 -0
- package/dist/actions/auth/authServer.js.map +1 -0
- package/dist/actions/auth/getProviderName.js +15 -0
- package/dist/actions/auth/getProviderName.js.map +1 -0
- package/dist/actions/auth/login/getProvider.js +54 -0
- package/dist/actions/auth/login/getProvider.js.map +1 -0
- package/dist/actions/auth/login/getSSOProvider.js +30 -0
- package/dist/actions/auth/login/getSSOProvider.js.map +1 -0
- package/dist/actions/auth/login/login.js +101 -0
- package/dist/actions/auth/login/login.js.map +1 -0
- package/dist/actions/auth/login/promptProviders.js +23 -0
- package/dist/actions/auth/login/promptProviders.js.map +1 -0
- package/dist/actions/auth/login/samlProviderToLoginProvider.js +15 -0
- package/dist/actions/auth/login/samlProviderToLoginProvider.js.map +1 -0
- package/dist/actions/auth/types.js +7 -0
- package/dist/actions/auth/types.js.map +1 -0
- package/dist/actions/backup/archiveDir.js +43 -0
- package/dist/actions/backup/archiveDir.js.map +1 -0
- package/dist/actions/backup/assertDatasetExist.js +16 -0
- package/dist/actions/backup/assertDatasetExist.js.map +1 -0
- package/dist/actions/backup/backupDownloadDebug.js +4 -0
- package/dist/actions/backup/backupDownloadDebug.js.map +1 -0
- package/dist/actions/backup/cleanupTmpDir.js +19 -0
- package/dist/actions/backup/cleanupTmpDir.js.map +1 -0
- package/dist/actions/backup/constants.js +3 -0
- package/dist/actions/backup/constants.js.map +1 -0
- package/dist/actions/backup/downloadAsset.js +54 -0
- package/dist/actions/backup/downloadAsset.js.map +1 -0
- package/dist/actions/backup/downloadDocument.js +32 -0
- package/dist/actions/backup/downloadDocument.js.map +1 -0
- package/dist/actions/backup/fetchNextBackupPage.js +48 -0
- package/dist/actions/backup/fetchNextBackupPage.js.map +1 -0
- package/dist/actions/backup/progressSpinner.js +40 -0
- package/dist/actions/backup/progressSpinner.js.map +1 -0
- package/dist/actions/build/buildApp.js +159 -0
- package/dist/actions/build/buildApp.js.map +1 -0
- package/dist/actions/build/buildDebug.js +4 -0
- package/dist/actions/build/buildDebug.js.map +1 -0
- package/dist/actions/build/buildStaticFiles.js +82 -0
- package/dist/actions/build/buildStaticFiles.js.map +1 -0
- package/dist/actions/build/buildStudio.js +202 -0
- package/dist/actions/build/buildStudio.js.map +1 -0
- package/dist/actions/build/buildVendorDependencies.js +179 -0
- package/dist/actions/build/buildVendorDependencies.js.map +1 -0
- package/dist/actions/build/checkRequiredDependencies.js +122 -0
- package/dist/actions/build/checkRequiredDependencies.js.map +1 -0
- package/dist/actions/build/checkStudioDependencyVersions.js +154 -0
- package/dist/actions/build/checkStudioDependencyVersions.js.map +1 -0
- package/dist/actions/build/createExternalFromImportMap.js +11 -0
- package/dist/actions/build/createExternalFromImportMap.js.map +1 -0
- package/dist/actions/build/decorateIndexWithAutoGeneratedWarning.js +13 -0
- package/dist/actions/build/decorateIndexWithAutoGeneratedWarning.js.map +1 -0
- package/dist/actions/build/decorateIndexWithBridgeScript.js +17 -0
- package/dist/actions/build/decorateIndexWithBridgeScript.js.map +1 -0
- package/dist/actions/build/determineBasePath.js +20 -0
- package/dist/actions/build/determineBasePath.js.map +1 -0
- package/dist/actions/build/generateWebManifest.js +27 -0
- package/dist/actions/build/generateWebManifest.js.map +1 -0
- package/dist/actions/build/getAppEnvVars.js +9 -0
- package/dist/actions/build/getAppEnvVars.js.map +1 -0
- package/dist/actions/build/getAutoUpdatesImportMap.js +57 -0
- package/dist/actions/build/getAutoUpdatesImportMap.js.map +1 -0
- package/dist/actions/build/getEntryModule.js +46 -0
- package/dist/actions/build/getEntryModule.js.map +1 -0
- package/dist/actions/build/getPossibleDocumentComponentLocations.js +11 -0
- package/dist/actions/build/getPossibleDocumentComponentLocations.js.map +1 -0
- package/dist/actions/build/getStudioEnvVars.js +9 -0
- package/dist/actions/build/getStudioEnvVars.js.map +1 -0
- package/dist/actions/build/getStudioEnvironmentVariables.js +58 -0
- package/dist/actions/build/getStudioEnvironmentVariables.js.map +1 -0
- package/dist/actions/build/getViteConfig.js +180 -0
- package/dist/actions/build/getViteConfig.js.map +1 -0
- package/dist/actions/build/normalizeBasePath.js +9 -0
- package/dist/actions/build/normalizeBasePath.js.map +1 -0
- package/dist/actions/build/renderDocument.js +54 -0
- package/dist/actions/build/renderDocument.js.map +1 -0
- package/dist/actions/build/renderDocument.worker.js +9 -0
- package/dist/actions/build/renderDocument.worker.js.map +1 -0
- package/dist/actions/build/renderDocumentWorker/addTimestampImportMapScriptToHtml.js +59 -0
- package/dist/actions/build/renderDocumentWorker/addTimestampImportMapScriptToHtml.js.map +1 -0
- package/dist/actions/build/renderDocumentWorker/components/BasicDocument.js +61 -0
- package/dist/actions/build/renderDocumentWorker/components/BasicDocument.js.map +1 -0
- package/dist/actions/build/renderDocumentWorker/components/DefaultDocument.js +165 -0
- package/dist/actions/build/renderDocumentWorker/components/DefaultDocument.js.map +1 -0
- package/dist/actions/build/renderDocumentWorker/components/Favicons.js +28 -0
- package/dist/actions/build/renderDocumentWorker/components/Favicons.js.map +1 -0
- package/dist/actions/build/renderDocumentWorker/components/GlobalErrorHandler.js +177 -0
- package/dist/actions/build/renderDocumentWorker/components/GlobalErrorHandler.js.map +1 -0
- package/dist/actions/build/renderDocumentWorker/components/NoJavascript.js +51 -0
- package/dist/actions/build/renderDocumentWorker/components/NoJavascript.js.map +1 -0
- package/dist/actions/build/renderDocumentWorker/getDocumentComponent.js +41 -0
- package/dist/actions/build/renderDocumentWorker/getDocumentComponent.js.map +1 -0
- package/dist/actions/build/renderDocumentWorker/getDocumentHtml.js +55 -0
- package/dist/actions/build/renderDocumentWorker/getDocumentHtml.js.map +1 -0
- package/dist/actions/build/renderDocumentWorker/renderDocumentWorker.js +31 -0
- package/dist/actions/build/renderDocumentWorker/renderDocumentWorker.js.map +1 -0
- package/dist/actions/build/renderDocumentWorker/tryLoadDocumentComponent.js +30 -0
- package/dist/actions/build/renderDocumentWorker/tryLoadDocumentComponent.js.map +1 -0
- package/dist/actions/build/renderDocumentWorker/types.js +5 -0
- package/dist/actions/build/renderDocumentWorker/types.js.map +1 -0
- package/dist/actions/build/shouldAutoUpdate.js +35 -0
- package/dist/actions/build/shouldAutoUpdate.js.map +1 -0
- package/dist/actions/build/types.js +3 -0
- package/dist/actions/build/types.js.map +1 -0
- package/dist/actions/build/writeFavicons.js +26 -0
- package/dist/actions/build/writeFavicons.js.map +1 -0
- package/dist/actions/build/writeSanityRuntime.js +61 -0
- package/dist/actions/build/writeSanityRuntime.js.map +1 -0
- package/dist/actions/build/writeWebManifest.js +12 -0
- package/dist/actions/build/writeWebManifest.js.map +1 -0
- package/dist/actions/codemods/deskRename.js +18 -0
- package/dist/actions/codemods/deskRename.js.map +1 -0
- package/dist/actions/codemods/index.js +10 -0
- package/dist/actions/codemods/index.js.map +1 -0
- package/dist/actions/codemods/partsTypeDirective.js +27 -0
- package/dist/actions/codemods/partsTypeDirective.js.map +1 -0
- package/dist/actions/codemods/reactIconsV3.js +30 -0
- package/dist/actions/codemods/reactIconsV3.js.map +1 -0
- package/dist/actions/codemods/types.js +3 -0
- package/dist/actions/codemods/types.js.map +1 -0
- package/dist/actions/cors/filterAndValidateOrigin.js +38 -0
- package/dist/actions/cors/filterAndValidateOrigin.js.map +1 -0
- package/dist/actions/dataset/create.js +46 -0
- package/dist/actions/dataset/create.js.map +1 -0
- package/dist/actions/dataset/determineDatasetAclMode.js +36 -0
- package/dist/actions/dataset/determineDatasetAclMode.js.map +1 -0
- package/dist/actions/dataset/processAliasName.js +20 -0
- package/dist/actions/dataset/processAliasName.js.map +1 -0
- package/dist/actions/dataset/validateDatasetAliasName.js +28 -0
- package/dist/actions/dataset/validateDatasetAliasName.js.map +1 -0
- package/dist/actions/dataset/validateDatasetName.js +39 -0
- package/dist/actions/dataset/validateDatasetName.js.map +1 -0
- package/dist/actions/debug/gatherDebugInfo.js +104 -0
- package/dist/actions/debug/gatherDebugInfo.js.map +1 -0
- package/dist/actions/debug/getGlobalConfigLocation.js +7 -0
- package/dist/actions/debug/getGlobalConfigLocation.js.map +1 -0
- package/dist/actions/debug/types.js +3 -0
- package/dist/actions/debug/types.js.map +1 -0
- package/dist/actions/deploy/checkDir.js +31 -0
- package/dist/actions/deploy/checkDir.js.map +1 -0
- package/dist/actions/deploy/createStudioUserApplication.js +59 -0
- package/dist/actions/deploy/createStudioUserApplication.js.map +1 -0
- package/dist/actions/deploy/createUserApplicationForApp.js +56 -0
- package/dist/actions/deploy/createUserApplicationForApp.js.map +1 -0
- package/dist/actions/deploy/deployApp.js +162 -0
- package/dist/actions/deploy/deployApp.js.map +1 -0
- package/dist/actions/deploy/deployDebug.js +4 -0
- package/dist/actions/deploy/deployDebug.js.map +1 -0
- package/dist/actions/deploy/deployStudio.js +134 -0
- package/dist/actions/deploy/deployStudio.js.map +1 -0
- package/dist/actions/deploy/findUserApplicationForApp.js +110 -0
- package/dist/actions/deploy/findUserApplicationForApp.js.map +1 -0
- package/dist/actions/deploy/findUserApplicationForStudio.js +143 -0
- package/dist/actions/deploy/findUserApplicationForStudio.js.map +1 -0
- package/dist/actions/deploy/types.js +3 -0
- package/dist/actions/deploy/types.js.map +1 -0
- package/dist/actions/dev/devAction.js +7 -0
- package/dist/actions/dev/devAction.js.map +1 -0
- package/dist/actions/dev/devDebug.js +4 -0
- package/dist/actions/dev/devDebug.js.map +1 -0
- package/dist/actions/dev/getCoreAppUrl.js +10 -0
- package/dist/actions/dev/getCoreAppUrl.js.map +1 -0
- package/dist/actions/dev/getDevServerConfig.js +28 -0
- package/dist/actions/dev/getDevServerConfig.js.map +1 -0
- package/dist/actions/dev/startAppDevServer.js +57 -0
- package/dist/actions/dev/startAppDevServer.js.map +1 -0
- package/dist/actions/dev/startStudioDevServer.js +154 -0
- package/dist/actions/dev/startStudioDevServer.js.map +1 -0
- package/dist/actions/dev/types.js +3 -0
- package/dist/actions/dev/types.js.map +1 -0
- package/dist/actions/docs/normalizeDocsPath.js +15 -0
- package/dist/actions/docs/normalizeDocsPath.js.map +1 -0
- package/dist/actions/documents/constants.js +3 -0
- package/dist/actions/documents/constants.js.map +1 -0
- package/dist/actions/documents/editor.js +26 -0
- package/dist/actions/documents/editor.js.map +1 -0
- package/dist/actions/documents/types.js +3 -0
- package/dist/actions/documents/types.js.map +1 -0
- package/dist/actions/documents/validate.js +60 -0
- package/dist/actions/documents/validate.js.map +1 -0
- package/dist/actions/documents/validateDocuments.worker.js +251 -0
- package/dist/actions/documents/validateDocuments.worker.js.map +1 -0
- package/dist/actions/documents/validation/reporters/index.js +10 -0
- package/dist/actions/documents/validation/reporters/index.js.map +1 -0
- package/dist/actions/documents/validation/reporters/jsonReporter.js +25 -0
- package/dist/actions/documents/validation/reporters/jsonReporter.js.map +1 -0
- package/dist/actions/documents/validation/reporters/ndjsonReporter.js +18 -0
- package/dist/actions/documents/validation/reporters/ndjsonReporter.js.map +1 -0
- package/dist/actions/documents/validation/reporters/prettyReporter/formatDocumentValidation.js +62 -0
- package/dist/actions/documents/validation/reporters/prettyReporter/formatDocumentValidation.js.map +1 -0
- package/dist/actions/documents/validation/reporters/prettyReporter/index.js +3 -0
- package/dist/actions/documents/validation/reporters/prettyReporter/index.js.map +1 -0
- package/dist/actions/documents/validation/reporters/prettyReporter/prettyReporter.js +92 -0
- package/dist/actions/documents/validation/reporters/prettyReporter/prettyReporter.js.map +1 -0
- package/dist/actions/documents/validation/reporters/prettyReporter/util.js +45 -0
- package/dist/actions/documents/validation/reporters/prettyReporter/util.js.map +1 -0
- package/dist/actions/exec/configClient.worker.js +9 -0
- package/dist/actions/exec/configClient.worker.js.map +1 -0
- package/dist/actions/exec/execScript.js +77 -0
- package/dist/actions/exec/execScript.js.map +1 -0
- package/dist/actions/exec/registerBrowserEnv.worker.js +17 -0
- package/dist/actions/exec/registerBrowserEnv.worker.js.map +1 -0
- package/dist/actions/graphql/SchemaError.js +37 -0
- package/dist/actions/graphql/SchemaError.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/gen1/generateTypeFilters.js +226 -0
- package/dist/actions/graphql/gen1/generateTypeFilters.js.map +1 -0
- package/dist/actions/graphql/gen1/generateTypeQueries.js +85 -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 +104 -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 +31 -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 +65 -0
- package/dist/actions/graphql/getGraphQLAPIs.js.map +1 -0
- package/dist/actions/graphql/getGraphQLAPIs.worker.js +126 -0
- package/dist/actions/graphql/getGraphQLAPIs.worker.js.map +1 -0
- 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 +11 -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/types.js +3 -0
- package/dist/actions/graphql/types.js.map +1 -0
- package/dist/actions/hook/constants.js +3 -0
- package/dist/actions/hook/constants.js.map +1 -0
- package/dist/actions/hook/formatFailure.js +29 -0
- package/dist/actions/hook/formatFailure.js.map +1 -0
- package/dist/actions/hook/types.js +3 -0
- package/dist/actions/hook/types.js.map +1 -0
- package/dist/actions/init/bootstrapLocalTemplate.js +137 -0
- package/dist/actions/init/bootstrapLocalTemplate.js.map +1 -0
- package/dist/actions/init/bootstrapRemoteTemplate.js +109 -0
- package/dist/actions/init/bootstrapRemoteTemplate.js.map +1 -0
- package/dist/actions/init/bootstrapTemplate.js +32 -0
- package/dist/actions/init/bootstrapTemplate.js.map +1 -0
- package/dist/actions/init/checkNextJsReactCompatibility.js +21 -0
- package/dist/actions/init/checkNextJsReactCompatibility.js.map +1 -0
- package/dist/actions/init/constants.js +3 -0
- package/dist/actions/init/constants.js.map +1 -0
- package/dist/actions/init/countNestedFolders.js +6 -0
- package/dist/actions/init/countNestedFolders.js.map +1 -0
- package/dist/actions/init/createAppCliConfig.js +19 -0
- package/dist/actions/init/createAppCliConfig.js.map +1 -0
- package/dist/actions/init/createCliConfig.js +27 -0
- package/dist/actions/init/createCliConfig.js.map +1 -0
- package/dist/actions/init/createPackageManifest.js +86 -0
- package/dist/actions/init/createPackageManifest.js.map +1 -0
- package/dist/actions/init/createStudioConfig.js +41 -0
- package/dist/actions/init/createStudioConfig.js.map +1 -0
- package/dist/actions/init/determineAppTemplate.js +16 -0
- package/dist/actions/init/determineAppTemplate.js.map +1 -0
- package/dist/actions/init/env/createOrAppendEnvVars.js +25 -0
- package/dist/actions/init/env/createOrAppendEnvVars.js.map +1 -0
- package/dist/actions/init/env/parseAndUpdateEnvVars.js +42 -0
- package/dist/actions/init/env/parseAndUpdateEnvVars.js.map +1 -0
- package/dist/actions/init/env/writeEnvVarsToFile.js +49 -0
- package/dist/actions/init/env/writeEnvVarsToFile.js.map +1 -0
- package/dist/actions/init/fetchPostInitPrompt.js +30 -0
- package/dist/actions/init/fetchPostInitPrompt.js.map +1 -0
- package/dist/actions/init/git.js +65 -0
- package/dist/actions/init/git.js.map +1 -0
- package/dist/actions/init/processTemplate.js +56 -0
- package/dist/actions/init/processTemplate.js.map +1 -0
- package/dist/actions/init/remoteTemplate.js +211 -0
- package/dist/actions/init/remoteTemplate.js.map +1 -0
- package/dist/actions/init/resolvePackageManager.js +20 -0
- package/dist/actions/init/resolvePackageManager.js.map +1 -0
- package/dist/actions/init/templates/appQuickstart.js +28 -0
- package/dist/actions/init/templates/appQuickstart.js.map +1 -0
- package/dist/actions/init/templates/appSanityUi.js +30 -0
- package/dist/actions/init/templates/appSanityUi.js.map +1 -0
- package/dist/actions/init/templates/blog.js +4 -0
- package/dist/actions/init/templates/blog.js.map +1 -0
- package/dist/actions/init/templates/clean.js +4 -0
- package/dist/actions/init/templates/clean.js.map +1 -0
- package/dist/actions/init/templates/getStarted.js +35 -0
- package/dist/actions/init/templates/getStarted.js.map +1 -0
- package/dist/actions/init/templates/index.js +23 -0
- package/dist/actions/init/templates/index.js.map +1 -0
- package/dist/actions/init/templates/moviedb.js +34 -0
- package/dist/actions/init/templates/moviedb.js.map +1 -0
- package/dist/actions/init/templates/nextjs/index.js +213 -0
- package/dist/actions/init/templates/nextjs/index.js.map +1 -0
- package/dist/actions/init/templates/nextjs/schemaTypes/blog.js +247 -0
- package/dist/actions/init/templates/nextjs/schemaTypes/blog.js.map +1 -0
- package/dist/actions/init/templates/quickstart.js +4 -0
- package/dist/actions/init/templates/quickstart.js.map +1 -0
- package/dist/actions/init/templates/shopify.js +77 -0
- package/dist/actions/init/templates/shopify.js.map +1 -0
- package/dist/actions/init/templates/shopifyOnline.js +49 -0
- package/dist/actions/init/templates/shopifyOnline.js.map +1 -0
- package/dist/actions/init/types.js +3 -0
- package/dist/actions/init/types.js.map +1 -0
- package/dist/actions/init/updateInitialTemplateMetadata.js +17 -0
- package/dist/actions/init/updateInitialTemplateMetadata.js.map +1 -0
- package/dist/actions/manifest/SchemaIcon.js +21 -0
- package/dist/actions/manifest/SchemaIcon.js.map +1 -0
- package/dist/actions/manifest/extractAppManifest.js +51 -0
- package/dist/actions/manifest/extractAppManifest.js.map +1 -0
- package/dist/actions/manifest/extractManifest.js +93 -0
- package/dist/actions/manifest/extractManifest.js.map +1 -0
- package/dist/actions/manifest/extractWorkspaceManifest.js +406 -0
- package/dist/actions/manifest/extractWorkspaceManifest.js.map +1 -0
- package/dist/actions/manifest/purifyConfig.js +307 -0
- package/dist/actions/manifest/purifyConfig.js.map +1 -0
- package/dist/actions/manifest/schemaTypeHelpers.js +110 -0
- package/dist/actions/manifest/schemaTypeHelpers.js.map +1 -0
- package/dist/actions/manifest/types.js +5 -0
- package/dist/actions/manifest/types.js.map +1 -0
- package/dist/actions/mcp/detectAvailableEditors.js +75 -0
- package/dist/actions/mcp/detectAvailableEditors.js.map +1 -0
- package/dist/actions/mcp/editorConfigs.js +147 -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 +41 -0
- package/dist/actions/mcp/writeMCPConfig.js.map +1 -0
- package/dist/actions/media/__tests__/createMockClient.js +32 -0
- package/dist/actions/media/__tests__/createMockClient.js.map +1 -0
- package/dist/actions/media/getMediaLibraryConfig.js +5 -0
- package/dist/actions/media/getMediaLibraryConfig.js.map +1 -0
- package/dist/actions/media/importAspects.js +112 -0
- package/dist/actions/media/importAspects.js.map +1 -0
- package/dist/actions/media/importMedia.js +213 -0
- package/dist/actions/media/importMedia.js.map +1 -0
- package/dist/actions/media/importMediaDebug.js +4 -0
- package/dist/actions/media/importMediaDebug.js.map +1 -0
- package/dist/actions/organizations/getOrganization.js +67 -0
- package/dist/actions/organizations/getOrganization.js.map +1 -0
- package/dist/actions/organizations/getOrganizationChoices.js +23 -0
- package/dist/actions/organizations/getOrganizationChoices.js.map +1 -0
- package/dist/actions/organizations/getOrganizationsWithAttachGrantInfo.js +9 -0
- package/dist/actions/organizations/getOrganizationsWithAttachGrantInfo.js.map +1 -0
- package/dist/actions/organizations/hasProjectAttachGrant.js +24 -0
- package/dist/actions/organizations/hasProjectAttachGrant.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/getPreviewServerConfig.js +16 -0
- package/dist/actions/preview/getPreviewServerConfig.js.map +1 -0
- package/dist/actions/preview/previewAction.js +20 -0
- package/dist/actions/preview/previewAction.js.map +1 -0
- package/dist/actions/preview/types.js +3 -0
- package/dist/actions/preview/types.js.map +1 -0
- package/dist/actions/projects/getManageUrl.js +7 -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 +101 -0
- package/dist/actions/schema/deleteSchemaAction.js.map +1 -0
- package/dist/actions/schema/deploySchemas.js +98 -0
- package/dist/actions/schema/deploySchemas.js.map +1 -0
- package/dist/actions/schema/extractSanitySchema.worker.js +38 -0
- package/dist/actions/schema/extractSanitySchema.worker.js.map +1 -0
- package/dist/actions/schema/extractSchema.js +77 -0
- package/dist/actions/schema/extractSchema.js.map +1 -0
- package/dist/actions/schema/formatSchemaValidation.js +74 -0
- package/dist/actions/schema/formatSchemaValidation.js.map +1 -0
- package/dist/actions/schema/listSchemas.js +119 -0
- package/dist/actions/schema/listSchemas.js.map +1 -0
- package/dist/actions/schema/metafile.js +51 -0
- package/dist/actions/schema/metafile.js.map +1 -0
- package/dist/actions/schema/schemaStoreTypes.js +19 -0
- package/dist/actions/schema/schemaStoreTypes.js.map +1 -0
- package/dist/actions/schema/types.js +9 -0
- package/dist/actions/schema/types.js.map +1 -0
- package/dist/actions/schema/utils/debug.js +6 -0
- package/dist/actions/schema/utils/debug.js.map +1 -0
- package/dist/actions/schema/utils/extractValidationFromSchemaError.js +12 -0
- package/dist/actions/schema/utils/extractValidationFromSchemaError.js.map +1 -0
- package/dist/actions/schema/utils/manifestExtractor.js +33 -0
- package/dist/actions/schema/utils/manifestExtractor.js.map +1 -0
- package/dist/actions/schema/utils/manifestReader.js +71 -0
- package/dist/actions/schema/utils/manifestReader.js.map +1 -0
- package/dist/actions/schema/utils/schemaStoreOutStrings.js +11 -0
- package/dist/actions/schema/utils/schemaStoreOutStrings.js.map +1 -0
- package/dist/actions/schema/utils/schemaStoreValidation.js +108 -0
- package/dist/actions/schema/utils/schemaStoreValidation.js.map +1 -0
- package/dist/actions/schema/utils/uniqByProjectIdDataset.js +9 -0
- package/dist/actions/schema/utils/uniqByProjectIdDataset.js.map +1 -0
- package/dist/actions/schema/utils/workspaceSchemaId.js +23 -0
- package/dist/actions/schema/utils/workspaceSchemaId.js.map +1 -0
- package/dist/actions/schema/validateAction.js +71 -0
- package/dist/actions/schema/validateAction.js.map +1 -0
- package/dist/actions/schema/validateSchema.worker.js +124 -0
- package/dist/actions/schema/validateSchema.worker.js.map +1 -0
- package/dist/actions/telemetry/getLearnMoreMessage.js +15 -0
- package/dist/actions/telemetry/getLearnMoreMessage.js.map +1 -0
- package/dist/actions/telemetry/getStatusDisplay.js +26 -0
- package/dist/actions/telemetry/getStatusDisplay.js.map +1 -0
- package/dist/actions/telemetry/getStatusMessage.js +36 -0
- package/dist/actions/telemetry/getStatusMessage.js.map +1 -0
- package/dist/actions/telemetry/resolveConsent.js +48 -0
- package/dist/actions/telemetry/resolveConsent.js.map +1 -0
- package/dist/actions/telemetry/setConsent.js +83 -0
- package/dist/actions/telemetry/setConsent.js.map +1 -0
- package/dist/actions/telemetry/telemetryDebug.js +4 -0
- package/dist/actions/telemetry/telemetryDebug.js.map +1 -0
- package/dist/actions/telemetry/telemetryDisclosure.js +33 -0
- package/dist/actions/telemetry/telemetryDisclosure.js.map +1 -0
- package/dist/actions/telemetry/telemetryLearnMoreMessage.js +15 -0
- package/dist/actions/telemetry/telemetryLearnMoreMessage.js.map +1 -0
- package/dist/actions/tokens/constants.js +5 -0
- package/dist/actions/tokens/constants.js.map +1 -0
- package/dist/actions/tokens/types.js +3 -0
- package/dist/actions/tokens/types.js.map +1 -0
- package/dist/actions/tokens/validateRole.js +23 -0
- package/dist/actions/tokens/validateRole.js.map +1 -0
- package/dist/actions/undeploy/getStudioOrAppUserApplication.js +36 -0
- package/dist/actions/undeploy/getStudioOrAppUserApplication.js.map +1 -0
- package/dist/actions/users/getMembersForProject.js +47 -0
- package/dist/actions/users/getMembersForProject.js.map +1 -0
- package/dist/actions/users/getPendingInvitations.js +15 -0
- package/dist/actions/users/getPendingInvitations.js.map +1 -0
- package/dist/actions/users/types.js +3 -0
- package/dist/actions/users/types.js.map +1 -0
- package/dist/actions/users/usersDebug.js +4 -0
- package/dist/actions/users/usersDebug.js.map +1 -0
- package/dist/actions/users/validateEmail.js +14 -0
- package/dist/actions/users/validateEmail.js.map +1 -0
- package/dist/actions/versions/buildPackageArray.js +44 -0
- package/dist/actions/versions/buildPackageArray.js.map +1 -0
- package/dist/actions/versions/filterSanityModules.js +20 -0
- package/dist/actions/versions/filterSanityModules.js.map +1 -0
- package/dist/actions/versions/findSanityModulesVersions.js +47 -0
- package/dist/actions/versions/findSanityModulesVersions.js.map +1 -0
- package/dist/actions/versions/getFormatters.js +30 -0
- package/dist/actions/versions/getFormatters.js.map +1 -0
- package/dist/actions/versions/tryFindLatestVersion.js +21 -0
- package/dist/actions/versions/tryFindLatestVersion.js.map +1 -0
- package/dist/actions/versions/types.js +5 -0
- package/dist/actions/versions/types.js.map +1 -0
- package/dist/actions/versions/versionsDebug.js +4 -0
- package/dist/actions/versions/versionsDebug.js.map +1 -0
- package/dist/commands/backup/disable.js +94 -0
- package/dist/commands/backup/disable.js.map +1 -0
- package/dist/commands/backup/download.js +291 -0
- package/dist/commands/backup/download.js.map +1 -0
- package/dist/commands/backup/enable.js +99 -0
- package/dist/commands/backup/enable.js.map +1 -0
- package/dist/commands/backup/list.js +187 -0
- package/dist/commands/backup/list.js.map +1 -0
- package/dist/commands/build.js +82 -0
- package/dist/commands/build.js.map +1 -0
- package/dist/commands/codemod.js +141 -0
- package/dist/commands/codemod.js.map +1 -0
- package/dist/commands/cors/add.js +154 -0
- package/dist/commands/cors/add.js.map +1 -0
- package/dist/commands/cors/delete.js +90 -0
- package/dist/commands/cors/delete.js.map +1 -0
- package/dist/commands/cors/list.js +40 -0
- package/dist/commands/cors/list.js.map +1 -0
- package/dist/commands/dataset/alias/create.js +118 -0
- package/dist/commands/dataset/alias/create.js.map +1 -0
- package/dist/commands/dataset/alias/delete.js +88 -0
- package/dist/commands/dataset/alias/delete.js.map +1 -0
- package/dist/commands/dataset/alias/link.js +137 -0
- package/dist/commands/dataset/alias/link.js.map +1 -0
- package/dist/commands/dataset/alias/unlink.js +98 -0
- package/dist/commands/dataset/alias/unlink.js.map +1 -0
- package/dist/commands/dataset/copy.js +369 -0
- package/dist/commands/dataset/copy.js.map +1 -0
- package/dist/commands/dataset/create.js +106 -0
- package/dist/commands/dataset/create.js.map +1 -0
- package/dist/commands/dataset/delete.js +104 -0
- package/dist/commands/dataset/delete.js.map +1 -0
- package/dist/commands/dataset/export.js +271 -0
- package/dist/commands/dataset/export.js.map +1 -0
- package/dist/commands/dataset/import.js +3 -0
- package/dist/commands/dataset/import.js.map +1 -0
- package/dist/commands/dataset/list.js +50 -0
- package/dist/commands/dataset/list.js.map +1 -0
- package/dist/commands/dataset/visibility/get.js +55 -0
- package/dist/commands/dataset/visibility/get.js.map +1 -0
- package/dist/commands/dataset/visibility/set.js +88 -0
- package/dist/commands/dataset/visibility/set.js.map +1 -0
- package/dist/commands/debug.js +93 -0
- package/dist/commands/debug.js.map +1 -0
- package/dist/commands/deploy.js +115 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/dev.js +65 -0
- package/dist/commands/dev.js.map +1 -0
- package/dist/commands/docs/browse.js +15 -0
- package/dist/commands/docs/browse.js.map +1 -0
- package/dist/commands/docs/read.js +81 -0
- package/dist/commands/docs/read.js.map +1 -0
- package/dist/commands/docs/search.js +111 -0
- package/dist/commands/docs/search.js.map +1 -0
- package/dist/commands/documents/create.js +338 -0
- package/dist/commands/documents/create.js.map +1 -0
- package/dist/commands/documents/delete.js +104 -0
- package/dist/commands/documents/delete.js.map +1 -0
- package/dist/commands/documents/get.js +85 -0
- package/dist/commands/documents/get.js.map +1 -0
- package/dist/commands/documents/query.js +105 -0
- package/dist/commands/documents/query.js.map +1 -0
- package/dist/commands/documents/validate.js +142 -0
- package/dist/commands/documents/validate.js.map +1 -0
- package/dist/commands/exec.js +54 -0
- package/dist/commands/exec.js.map +1 -0
- package/dist/commands/graphql/deploy.js +429 -0
- package/dist/commands/graphql/deploy.js.map +1 -0
- package/dist/commands/graphql/list.js +53 -0
- package/dist/commands/graphql/list.js.map +1 -0
- package/dist/commands/graphql/undeploy.js +143 -0
- package/dist/commands/graphql/undeploy.js.map +1 -0
- package/dist/commands/hook/attempt.js +66 -0
- package/dist/commands/hook/attempt.js.map +1 -0
- package/dist/commands/hook/create.js +46 -0
- package/dist/commands/hook/create.js.map +1 -0
- package/dist/commands/hook/delete.js +86 -0
- package/dist/commands/hook/delete.js.map +1 -0
- package/dist/commands/hook/list.js +46 -0
- package/dist/commands/hook/list.js.map +1 -0
- package/dist/commands/hook/logs.js +184 -0
- package/dist/commands/hook/logs.js.map +1 -0
- package/dist/commands/init.js +1389 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/install.js +43 -0
- package/dist/commands/install.js.map +1 -0
- package/dist/commands/learn.js +15 -0
- package/dist/commands/learn.js.map +1 -0
- package/dist/commands/login.js +50 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.js +37 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/manage.js +29 -0
- package/dist/commands/manage.js.map +1 -0
- package/dist/commands/manifest/extract.js +43 -0
- package/dist/commands/manifest/extract.js.map +1 -0
- package/dist/commands/mcp/configure.js +28 -0
- package/dist/commands/mcp/configure.js.map +1 -0
- package/dist/commands/media/create-aspect.js +88 -0
- package/dist/commands/media/create-aspect.js.map +1 -0
- package/dist/commands/media/delete-aspect.js +85 -0
- package/dist/commands/media/delete-aspect.js.map +1 -0
- package/dist/commands/media/deploy-aspect.js +151 -0
- package/dist/commands/media/deploy-aspect.js.map +1 -0
- package/dist/commands/media/export.js +210 -0
- package/dist/commands/media/export.js.map +1 -0
- package/dist/commands/media/import.js +160 -0
- package/dist/commands/media/import.js.map +1 -0
- package/dist/commands/openapi/get.js +83 -0
- package/dist/commands/openapi/get.js.map +1 -0
- package/dist/commands/openapi/list.js +80 -0
- package/dist/commands/openapi/list.js.map +1 -0
- package/dist/commands/preview.js +60 -0
- package/dist/commands/preview.js.map +1 -0
- package/dist/commands/projects/create.js +181 -0
- package/dist/commands/projects/create.js.map +1 -0
- package/dist/commands/projects/list.js +76 -0
- package/dist/commands/projects/list.js.map +1 -0
- package/dist/commands/schema/delete.js +91 -0
- package/dist/commands/schema/delete.js.map +1 -0
- package/dist/commands/schema/deploy.js +98 -0
- package/dist/commands/schema/deploy.js.map +1 -0
- package/dist/commands/schema/extract.js +46 -0
- package/dist/commands/schema/extract.js.map +1 -0
- package/dist/commands/schema/list.js +104 -0
- package/dist/commands/schema/list.js.map +1 -0
- package/dist/commands/schema/validate.js +73 -0
- package/dist/commands/schema/validate.js.map +1 -0
- package/dist/commands/telemetry/disable.js +33 -0
- package/dist/commands/telemetry/disable.js.map +1 -0
- package/dist/commands/telemetry/enable.js +33 -0
- package/dist/commands/telemetry/enable.js.map +1 -0
- package/dist/commands/telemetry/status.js +25 -0
- package/dist/commands/telemetry/status.js.map +1 -0
- package/dist/commands/tokens/add.js +135 -0
- package/dist/commands/tokens/add.js.map +1 -0
- package/dist/commands/tokens/delete.js +107 -0
- package/dist/commands/tokens/delete.js.map +1 -0
- package/dist/commands/tokens/list.js +92 -0
- package/dist/commands/tokens/list.js.map +1 -0
- package/dist/commands/undeploy.js +93 -0
- package/dist/commands/undeploy.js.map +1 -0
- package/dist/commands/users/invite.js +100 -0
- package/dist/commands/users/invite.js.map +1 -0
- package/dist/commands/users/list.js +101 -0
- package/dist/commands/users/list.js.map +1 -0
- package/dist/commands/versions.js +27 -0
- package/dist/commands/versions.js.map +1 -0
- package/dist/config/createCliConfig.js +9 -0
- package/dist/config/createCliConfig.js.map +1 -0
- package/dist/config/defineCliConfig.js +5 -0
- package/dist/config/defineCliConfig.js.map +1 -0
- package/dist/hooks/prerun/flushTelemetry.worker.js +22 -0
- package/dist/hooks/prerun/flushTelemetry.worker.js.map +1 -0
- package/dist/hooks/prerun/injectEnvVariables.js +31 -0
- package/dist/hooks/prerun/injectEnvVariables.js.map +1 -0
- package/dist/hooks/prerun/setupTelemetry.js +72 -0
- package/dist/hooks/prerun/setupTelemetry.js.map +1 -0
- package/dist/hooks/prerun/warnings.js +6 -0
- package/dist/hooks/prerun/warnings.js.map +1 -0
- package/dist/index.d.ts +2326 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/init/nextjs.js +56 -0
- package/dist/prompts/init/nextjs.js.map +1 -0
- package/dist/prompts/init/promptForTypescript.js +9 -0
- package/dist/prompts/init/promptForTypescript.js.map +1 -0
- package/dist/prompts/promptForDataset.js +32 -0
- package/dist/prompts/promptForDataset.js.map +1 -0
- package/dist/prompts/promptForDatasetAclMode.js +27 -0
- package/dist/prompts/promptForDatasetAclMode.js.map +1 -0
- package/dist/prompts/promptForDatasetAliasName.js +17 -0
- package/dist/prompts/promptForDatasetAliasName.js.map +1 -0
- package/dist/prompts/promptForDatasetName.js +20 -0
- package/dist/prompts/promptForDatasetName.js.map +1 -0
- package/dist/prompts/promptForDefaultConfig.js +12 -0
- package/dist/prompts/promptForDefaultConfig.js.map +1 -0
- package/dist/prompts/promptForMediaLibrary.js +37 -0
- package/dist/prompts/promptForMediaLibrary.js.map +1 -0
- package/dist/prompts/promptForOrganizationName.js +11 -0
- package/dist/prompts/promptForOrganizationName.js.map +1 -0
- package/dist/prompts/promptForProjectName.js +11 -0
- package/dist/prompts/promptForProjectName.js.map +1 -0
- package/dist/prompts/selectDataset.js +12 -0
- package/dist/prompts/selectDataset.js.map +1 -0
- package/dist/prompts/selectMediaLibrary.js +34 -0
- package/dist/prompts/selectMediaLibrary.js.map +1 -0
- package/dist/server/devServer.js +53 -0
- package/dist/server/devServer.js.map +1 -0
- package/dist/server/gracefulServerDeath.js +12 -0
- package/dist/server/gracefulServerDeath.js.map +1 -0
- package/dist/server/previewServer.js +93 -0
- package/dist/server/previewServer.js.map +1 -0
- package/dist/server/serverDebug.js +4 -0
- package/dist/server/serverDebug.js.map +1 -0
- package/dist/server/vite/plugin-sanity-basepath-redirect.js +25 -0
- package/dist/server/vite/plugin-sanity-basepath-redirect.js.map +1 -0
- package/dist/server/vite/plugin-sanity-build-entries.js +65 -0
- package/dist/server/vite/plugin-sanity-build-entries.js.map +1 -0
- package/dist/server/vite/plugin-sanity-favicons.js +72 -0
- package/dist/server/vite/plugin-sanity-favicons.js.map +1 -0
- package/dist/server/vite/plugin-sanity-runtime-rewrite.js +18 -0
- package/dist/server/vite/plugin-sanity-runtime-rewrite.js.map +1 -0
- package/dist/services/auth.js +13 -0
- package/dist/services/auth.js.map +1 -0
- package/dist/services/backup.js +51 -0
- package/dist/services/backup.js.map +1 -0
- package/dist/services/cors.js +38 -0
- package/dist/services/cors.js.map +1 -0
- package/dist/services/datasetAliases.js +64 -0
- package/dist/services/datasetAliases.js.map +1 -0
- package/dist/services/datasets.js +153 -0
- package/dist/services/datasets.js.map +1 -0
- package/dist/services/docs.js +46 -0
- package/dist/services/docs.js.map +1 -0
- package/dist/services/documents.js +56 -0
- package/dist/services/documents.js.map +1 -0
- package/dist/services/getProjectFeatures.js +16 -0
- package/dist/services/getProjectFeatures.js.map +1 -0
- package/dist/services/getUrlHeaders.js +36 -0
- package/dist/services/getUrlHeaders.js.map +1 -0
- package/dist/services/graphql.js +96 -0
- package/dist/services/graphql.js.map +1 -0
- package/dist/services/hooks.js +59 -0
- package/dist/services/hooks.js.map +1 -0
- package/dist/services/mcp.js +50 -0
- package/dist/services/mcp.js.map +1 -0
- package/dist/services/mediaLibraries.js +74 -0
- package/dist/services/mediaLibraries.js.map +1 -0
- package/dist/services/organizations.js +42 -0
- package/dist/services/organizations.js.map +1 -0
- package/dist/services/plans.js +37 -0
- package/dist/services/plans.js.map +1 -0
- package/dist/services/projects.js +119 -0
- package/dist/services/projects.js.map +1 -0
- package/dist/services/schemas.js +40 -0
- package/dist/services/schemas.js.map +1 -0
- package/dist/services/telemetry.js +80 -0
- package/dist/services/telemetry.js.map +1 -0
- package/dist/services/tokens.js +72 -0
- package/dist/services/tokens.js.map +1 -0
- package/dist/services/user.js +35 -0
- package/dist/services/user.js.map +1 -0
- package/dist/services/userApplications.js +164 -0
- package/dist/services/userApplications.js.map +1 -0
- package/dist/studioDependencies.js +24 -0
- package/dist/studioDependencies.js.map +1 -0
- package/dist/telemetry/build.telemetry.js +13 -0
- package/dist/telemetry/build.telemetry.js.map +1 -0
- package/dist/telemetry/cli.telemetry.js +8 -0
- package/dist/telemetry/cli.telemetry.js.map +1 -0
- package/dist/telemetry/extractSchema.telemetry.js +8 -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.js +5 -0
- package/dist/types.js.map +1 -0
- package/dist/typings/deepSortObject.d.js +2 -0
- package/dist/typings/deepSortObject.d.js.map +1 -0
- package/dist/util/absolutify.js +26 -0
- package/dist/util/absolutify.js.map +1 -0
- package/dist/util/appId.js +58 -0
- package/dist/util/appId.js.map +1 -0
- package/dist/util/canLaunchBrowser.js +14 -0
- package/dist/util/canLaunchBrowser.js.map +1 -0
- package/dist/util/cliClient.js +41 -0
- package/dist/util/cliClient.js.map +1 -0
- package/dist/util/compareDependencyVersions.js +73 -0
- package/dist/util/compareDependencyVersions.js.map +1 -0
- package/dist/util/copy.js +37 -0
- package/dist/util/copy.js.map +1 -0
- package/dist/util/copyDir.js +63 -0
- package/dist/util/copyDir.js.map +1 -0
- package/dist/util/detectRuntime.js +20 -0
- package/dist/util/detectRuntime.js.map +1 -0
- package/dist/util/determineIsApp.js +9 -0
- package/dist/util/determineIsApp.js.map +1 -0
- package/dist/util/dirIsEmptyOrNonExistent.js +18 -0
- package/dist/util/dirIsEmptyOrNonExistent.js.map +1 -0
- package/dist/util/ensureTrailingSlash.js +12 -0
- package/dist/util/ensureTrailingSlash.js.map +1 -0
- package/dist/util/errorMessages.js +6 -0
- package/dist/util/errorMessages.js.map +1 -0
- package/dist/util/extractDocumentsFromNdjsonOrTarball.js +88 -0
- package/dist/util/extractDocumentsFromNdjsonOrTarball.js.map +1 -0
- package/dist/util/findNdjsonEntry.js +21 -0
- package/dist/util/findNdjsonEntry.js.map +1 -0
- package/dist/util/formatSize.js +10 -0
- package/dist/util/formatSize.js.map +1 -0
- package/dist/util/frameworkPort.js +61 -0
- package/dist/util/frameworkPort.js.map +1 -0
- package/dist/util/fsUtils.js +34 -0
- package/dist/util/fsUtils.js.map +1 -0
- package/dist/util/getCliVersion.js +28 -0
- package/dist/util/getCliVersion.js.map +1 -0
- package/dist/util/getErrorMessage.js +19 -0
- package/dist/util/getErrorMessage.js.map +1 -0
- package/dist/util/getLocalPackageVersion.js +32 -0
- package/dist/util/getLocalPackageVersion.js.map +1 -0
- package/dist/util/getProjectDefaults.js +77 -0
- package/dist/util/getProjectDefaults.js.map +1 -0
- package/dist/util/getSanityEnv.js +3 -0
- package/dist/util/getSanityEnv.js.map +1 -0
- package/dist/util/getSharedServerConfig.js +31 -0
- package/dist/util/getSharedServerConfig.js.map +1 -0
- package/dist/util/getWorkspace.js +18 -0
- package/dist/util/getWorkspace.js.map +1 -0
- package/dist/util/humanFileSize.js +12 -0
- package/dist/util/humanFileSize.js.map +1 -0
- package/dist/util/importStudioConfig.js +40 -0
- package/dist/util/importStudioConfig.js.map +1 -0
- package/dist/util/isPathDirName.js +6 -0
- package/dist/util/isPathDirName.js.map +1 -0
- package/dist/util/isSanityDocumentish.js +20 -0
- package/dist/util/isSanityDocumentish.js.map +1 -0
- package/dist/util/loadEnv.js +3 -0
- package/dist/util/loadEnv.js.map +1 -0
- package/dist/util/moduleFormatUtils.js +18 -0
- package/dist/util/moduleFormatUtils.js.map +1 -0
- package/dist/util/packageManager/installPackages.js +87 -0
- package/dist/util/packageManager/installPackages.js.map +1 -0
- package/dist/util/packageManager/packageManagerChoice.js +181 -0
- package/dist/util/packageManager/packageManagerChoice.js.map +1 -0
- package/dist/util/packageManager/upgradePackages.js +69 -0
- package/dist/util/packageManager/upgradePackages.js.map +1 -0
- package/dist/util/parseArguments.js +42 -0
- package/dist/util/parseArguments.js.map +1 -0
- package/dist/util/pluralize.js +11 -0
- package/dist/util/pluralize.js.map +1 -0
- package/dist/util/readModuleVersion.js +15 -0
- package/dist/util/readModuleVersion.js.map +1 -0
- package/dist/util/readPackageJson.js +44 -0
- package/dist/util/readPackageJson.js.map +1 -0
- package/dist/util/readPackageManifest.js +46 -0
- package/dist/util/readPackageManifest.js.map +1 -0
- package/dist/util/readdirRecursive.js +24 -0
- package/dist/util/readdirRecursive.js.map +1 -0
- package/dist/util/resolveLatestVersions.js +21 -0
- package/dist/util/resolveLatestVersions.js.map +1 -0
- package/dist/util/toInt.js +9 -0
- package/dist/util/toInt.js.map +1 -0
- package/dist/util/trimHashFromVersion.js +8 -0
- package/dist/util/trimHashFromVersion.js.map +1 -0
- package/dist/util/uniqBy.js +14 -0
- package/dist/util/uniqBy.js.map +1 -0
- package/dist/util/validation/validateDocumentsUtils.js +33 -0
- package/dist/util/validation/validateDocumentsUtils.js.map +1 -0
- package/dist/util/warnAboutMissingAppId.js +15 -0
- package/dist/util/warnAboutMissingAppId.js.map +1 -0
- package/dist/util/warnOnNonProductionEnvironment.js +18 -0
- package/dist/util/warnOnNonProductionEnvironment.js.map +1 -0
- package/dist/util/workerChannels.js +172 -0
- package/dist/util/workerChannels.js.map +1 -0
- package/oclif.config.js +21 -0
- package/oclif.manifest.json +4154 -0
- package/package.json +138 -98
- package/templates/app-quickstart/src/App.css +3 -1
- package/templates/app-quickstart/src/App.tsx +1 -1
- package/templates/app-sanity-ui/src/App.tsx +2 -2
- package/templates/app-sanity-ui/src/ExampleComponent.tsx +2 -1
- package/templates/get-started/plugins/sanity-plugin-tutorial/GetStartedTutorial.tsx +3 -3
- package/templates/get-started/plugins/sanity-plugin-tutorial/index.ts +2 -2
- package/templates/shopify/components/hotspots/ProductTooltip.tsx +1 -1
- package/templates/shopify/components/icons/Shopify.tsx +0 -2
- package/templates/shopify/components/inputs/CollectionHidden.tsx +0 -1
- package/templates/shopify/components/media/ColorTheme.tsx +1 -1
- package/templates/shopify/constants.ts +4 -4
- package/templates/shopify/plugins/customDocumentActions/index.ts +2 -2
- package/templates/shopify/plugins/customDocumentActions/shopifyDelete.tsx +1 -1
- package/templates/shopify/schemaTypes/documents/collection.tsx +1 -2
- package/templates/shopify/schemaTypes/documents/page.ts +1 -1
- package/templates/shopify/schemaTypes/documents/product.tsx +1 -1
- package/templates/shopify/schemaTypes/documents/productVariant.tsx +2 -3
- package/templates/shopify/schemaTypes/objects/customProductOption/customProductOptionColorObjectType.tsx +0 -1
- package/templates/shopify/schemaTypes/objects/hotspot/productHotspotsType.tsx +1 -3
- package/templates/shopify/schemaTypes/objects/module/collectionReferenceType.tsx +0 -1
- package/templates/shopify/schemaTypes/objects/shopify/placeholderStringType.ts +2 -3
- package/templates/shopify/schemaTypes/objects/shopify/productWithVariantType.tsx +1 -1
- package/templates/shopify/schemaTypes/objects/shopify/shopifyCollectionType.ts +1 -2
- package/templates/shopify/schemaTypes/objects/shopify/shopifyProductType.ts +1 -2
- package/templates/shopify/schemaTypes/portableText/portableTextType.tsx +7 -7
- package/templates/shopify/schemaTypes/singletons/homeType.ts +8 -8
- package/templates/shopify/structure/collectionStructure.ts +4 -1
- package/templates/shopify/structure/colorThemeStructure.ts +1 -1
- package/templates/shopify/structure/homeStructure.ts +2 -2
- package/templates/shopify/structure/index.ts +1 -1
- package/templates/shopify/structure/pageStructure.ts +2 -2
- package/templates/shopify/structure/productStructure.ts +7 -7
- package/templates/shopify/structure/settingStructure.ts +1 -1
- package/templates/shopify/utils/defineStructure.ts +1 -1
- package/templates/shopify-online-storefront/plugins/shopifyDocumentActions/index.ts +1 -1
- package/templates/shopify-online-storefront/plugins/shopifyDocumentActions/shopifyDelete.tsx +1 -1
- package/templates/shopify-online-storefront/structure/collectionStructure.ts +4 -1
- package/templates/shopify-online-storefront/structure/productStructure.ts +4 -4
- package/templates/shopify-online-storefront/utils/defineStructure.ts +1 -1
- package/bin/dev.js +0 -30
- package/bin/sanity +0 -14
- package/lib/_chunks-cjs/cli.js +0 -70870
- package/lib/_chunks-cjs/cli.js.map +0 -1
- package/lib/_chunks-cjs/cliWorker.js +0 -19
- package/lib/_chunks-cjs/cliWorker.js.map +0 -1
- package/lib/_chunks-cjs/generateAction.js +0 -128
- package/lib/_chunks-cjs/generateAction.js.map +0 -1
- package/lib/_chunks-cjs/getCliConfig.js +0 -89
- package/lib/_chunks-cjs/getCliConfig.js.map +0 -1
- package/lib/_chunks-cjs/index.js +0 -31
- package/lib/_chunks-cjs/index.js.map +0 -1
- package/lib/_chunks-cjs/journeyConfig.js +0 -113
- package/lib/_chunks-cjs/journeyConfig.js.map +0 -1
- package/lib/_chunks-cjs/loadEnv.js +0 -347
- package/lib/_chunks-cjs/loadEnv.js.map +0 -1
- package/lib/_chunks-dts/types.d.ts +0 -432
- package/lib/cli.d.ts +0 -7
- package/lib/cli.js +0 -10
- package/lib/cli.js.map +0 -1
- package/lib/index.d.ts +0 -44
- package/lib/index.js +0 -46
- package/lib/index.js.map +0 -1
- package/lib/run.d.ts +0 -1
- package/lib/run.js +0 -8
- package/lib/run.js.map +0 -1
- package/lib/workers/getAndWriteJourneySchema.d.ts +0 -1
- package/lib/workers/getAndWriteJourneySchema.js +0 -4
- package/lib/workers/getAndWriteJourneySchema.js.map +0 -1
- package/lib/workers/getCliConfig.d.ts +0 -1
- package/lib/workers/getCliConfig.js +0 -10
- package/lib/workers/getCliConfig.js.map +0 -1
- package/lib/workers/typegenGenerate.d.ts +0 -18
- package/lib/workers/typegenGenerate.js +0 -47
- package/lib/workers/typegenGenerate.js.map +0 -1
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { getProjectCliClient } from '@sanity/cli-core';
|
|
2
|
+
export const DOCUMENTS_API_VERSION = 'v2021-03-25';
|
|
3
|
+
function getDocumentsClient({ dataset, projectId }) {
|
|
4
|
+
return getProjectCliClient({
|
|
5
|
+
apiVersion: DOCUMENTS_API_VERSION,
|
|
6
|
+
dataset,
|
|
7
|
+
projectId,
|
|
8
|
+
requireUser: true
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Get the total count of documents in the dataset
|
|
13
|
+
*/ export async function getDocumentCount({ dataset, projectId }) {
|
|
14
|
+
const client = await getDocumentsClient({
|
|
15
|
+
dataset,
|
|
16
|
+
projectId
|
|
17
|
+
});
|
|
18
|
+
return client.fetch('length(*)');
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Export all documents from the dataset as a streaming response
|
|
22
|
+
*/ export async function exportDocuments({ dataset, projectId }) {
|
|
23
|
+
const client = await getDocumentsClient({
|
|
24
|
+
dataset,
|
|
25
|
+
projectId
|
|
26
|
+
});
|
|
27
|
+
const exportUrl = new URL(client.getUrl(`/data/export/${dataset}`, false));
|
|
28
|
+
const { token } = client.config();
|
|
29
|
+
const response = await fetch(exportUrl, {
|
|
30
|
+
// eslint-disable-next-line n/no-unsupported-features/node-builtins -- Headers is stable in modern Node.js
|
|
31
|
+
headers: new Headers({
|
|
32
|
+
...token && {
|
|
33
|
+
Authorization: `Bearer ${token}`
|
|
34
|
+
}
|
|
35
|
+
})
|
|
36
|
+
});
|
|
37
|
+
return response;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Check the availability/existence of documents by their IDs
|
|
41
|
+
*/ export async function checkDocumentAvailability({ dataset, documentIds, projectId }) {
|
|
42
|
+
const client = await getDocumentsClient({
|
|
43
|
+
dataset,
|
|
44
|
+
projectId
|
|
45
|
+
});
|
|
46
|
+
return client.request({
|
|
47
|
+
json: true,
|
|
48
|
+
query: {
|
|
49
|
+
excludeContent: 'true'
|
|
50
|
+
},
|
|
51
|
+
tag: 'documents-availability',
|
|
52
|
+
uri: client.getDataUrl('doc', documentIds.join(','))
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=documents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/services/documents.ts"],"sourcesContent":["import {getProjectCliClient} from '@sanity/cli-core'\n\nexport const DOCUMENTS_API_VERSION = 'v2021-03-25'\n\n/**\n * Response from the document availability endpoint\n */\nexport interface AvailabilityResponse {\n omitted: {id: string; reason: 'existence' | 'permission'}[]\n}\n\ninterface DocumentsClientOptions {\n dataset: string\n projectId: string\n}\n\nfunction getDocumentsClient({dataset, projectId}: DocumentsClientOptions) {\n return getProjectCliClient({\n apiVersion: DOCUMENTS_API_VERSION,\n dataset,\n projectId,\n requireUser: true,\n })\n}\n\ninterface GetDocumentCountOptions {\n dataset: string\n projectId: string\n}\n\n/**\n * Get the total count of documents in the dataset\n */\nexport async function getDocumentCount({\n dataset,\n projectId,\n}: GetDocumentCountOptions): Promise<number> {\n const client = await getDocumentsClient({dataset, projectId})\n return client.fetch('length(*)')\n}\n\ninterface ExportDocumentsOptions {\n dataset: string\n projectId: string\n}\n\n/**\n * Export all documents from the dataset as a streaming response\n */\nexport async function exportDocuments({\n dataset,\n projectId,\n}: ExportDocumentsOptions): Promise<Response> {\n const client = await getDocumentsClient({dataset, projectId})\n const exportUrl = new URL(client.getUrl(`/data/export/${dataset}`, false))\n\n const {token} = client.config()\n const response = await fetch(exportUrl, {\n // eslint-disable-next-line n/no-unsupported-features/node-builtins -- Headers is stable in modern Node.js\n headers: new Headers({...(token && {Authorization: `Bearer ${token}`})}),\n })\n\n return response\n}\n\ninterface CheckDocumentAvailabilityOptions {\n dataset: string\n documentIds: string[]\n projectId: string\n}\n\n/**\n * Check the availability/existence of documents by their IDs\n */\nexport async function checkDocumentAvailability({\n dataset,\n documentIds,\n projectId,\n}: CheckDocumentAvailabilityOptions): Promise<AvailabilityResponse> {\n const client = await getDocumentsClient({dataset, projectId})\n return client.request<AvailabilityResponse>({\n json: true,\n query: {excludeContent: 'true'},\n tag: 'documents-availability',\n uri: client.getDataUrl('doc', documentIds.join(',')),\n })\n}\n"],"names":["getProjectCliClient","DOCUMENTS_API_VERSION","getDocumentsClient","dataset","projectId","apiVersion","requireUser","getDocumentCount","client","fetch","exportDocuments","exportUrl","URL","getUrl","token","config","response","headers","Headers","Authorization","checkDocumentAvailability","documentIds","request","json","query","excludeContent","tag","uri","getDataUrl","join"],"mappings":"AAAA,SAAQA,mBAAmB,QAAO,mBAAkB;AAEpD,OAAO,MAAMC,wBAAwB,cAAa;AAclD,SAASC,mBAAmB,EAACC,OAAO,EAAEC,SAAS,EAAyB;IACtE,OAAOJ,oBAAoB;QACzBK,YAAYJ;QACZE;QACAC;QACAE,aAAa;IACf;AACF;AAOA;;CAEC,GACD,OAAO,eAAeC,iBAAiB,EACrCJ,OAAO,EACPC,SAAS,EACe;IACxB,MAAMI,SAAS,MAAMN,mBAAmB;QAACC;QAASC;IAAS;IAC3D,OAAOI,OAAOC,KAAK,CAAC;AACtB;AAOA;;CAEC,GACD,OAAO,eAAeC,gBAAgB,EACpCP,OAAO,EACPC,SAAS,EACc;IACvB,MAAMI,SAAS,MAAMN,mBAAmB;QAACC;QAASC;IAAS;IAC3D,MAAMO,YAAY,IAAIC,IAAIJ,OAAOK,MAAM,CAAC,CAAC,aAAa,EAAEV,SAAS,EAAE;IAEnE,MAAM,EAACW,KAAK,EAAC,GAAGN,OAAOO,MAAM;IAC7B,MAAMC,WAAW,MAAMP,MAAME,WAAW;QACtC,0GAA0G;QAC1GM,SAAS,IAAIC,QAAQ;YAAC,GAAIJ,SAAS;gBAACK,eAAe,CAAC,OAAO,EAAEL,OAAO;YAAA,CAAC;QAAC;IACxE;IAEA,OAAOE;AACT;AAQA;;CAEC,GACD,OAAO,eAAeI,0BAA0B,EAC9CjB,OAAO,EACPkB,WAAW,EACXjB,SAAS,EACwB;IACjC,MAAMI,SAAS,MAAMN,mBAAmB;QAACC;QAASC;IAAS;IAC3D,OAAOI,OAAOc,OAAO,CAAuB;QAC1CC,MAAM;QACNC,OAAO;YAACC,gBAAgB;QAAM;QAC9BC,KAAK;QACLC,KAAKnB,OAAOoB,UAAU,CAAC,OAAOP,YAAYQ,IAAI,CAAC;IACjD;AACF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { getProjectCliClient } from '@sanity/cli-core';
|
|
2
|
+
export const PROJECT_FEATURES_API_VERSION = 'v2025-09-16';
|
|
3
|
+
/**
|
|
4
|
+
* Get the list of features available for a project
|
|
5
|
+
*/ export async function getProjectFeatures(projectId) {
|
|
6
|
+
const client = await getProjectCliClient({
|
|
7
|
+
apiVersion: PROJECT_FEATURES_API_VERSION,
|
|
8
|
+
projectId,
|
|
9
|
+
requireUser: true
|
|
10
|
+
});
|
|
11
|
+
return client.request({
|
|
12
|
+
uri: '/features'
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=getProjectFeatures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/services/getProjectFeatures.ts"],"sourcesContent":["import {getProjectCliClient} from '@sanity/cli-core'\n\nexport const PROJECT_FEATURES_API_VERSION = 'v2025-09-16'\n\n/**\n * Get the list of features available for a project\n */\nexport async function getProjectFeatures(projectId: string): Promise<string[]> {\n const client = await getProjectCliClient({\n apiVersion: PROJECT_FEATURES_API_VERSION,\n projectId,\n requireUser: true,\n })\n\n return client.request<string[]>({uri: '/features'})\n}\n"],"names":["getProjectCliClient","PROJECT_FEATURES_API_VERSION","getProjectFeatures","projectId","client","apiVersion","requireUser","request","uri"],"mappings":"AAAA,SAAQA,mBAAmB,QAAO,mBAAkB;AAEpD,OAAO,MAAMC,+BAA+B,cAAa;AAEzD;;CAEC,GACD,OAAO,eAAeC,mBAAmBC,SAAiB;IACxD,MAAMC,SAAS,MAAMJ,oBAAoB;QACvCK,YAAYJ;QACZE;QACAG,aAAa;IACf;IAEA,OAAOF,OAAOG,OAAO,CAAW;QAACC,KAAK;IAAW;AACnD"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { getIt } from 'get-it';
|
|
2
|
+
import { promise } from 'get-it/middleware';
|
|
3
|
+
const request = getIt([
|
|
4
|
+
promise()
|
|
5
|
+
]);
|
|
6
|
+
class HttpError extends Error {
|
|
7
|
+
statusCode;
|
|
8
|
+
constructor(message){
|
|
9
|
+
super(message);
|
|
10
|
+
this.name = 'HttpError';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Gets the headers of a URL
|
|
15
|
+
*
|
|
16
|
+
* @param url - The URL to get the headers from
|
|
17
|
+
* @param headers - The headers to send with the request
|
|
18
|
+
* @returns The headers of the response
|
|
19
|
+
*/ export async function getUrlHeaders(url, headers = {}) {
|
|
20
|
+
const response = await request({
|
|
21
|
+
headers,
|
|
22
|
+
maxRedirects: 0,
|
|
23
|
+
method: 'HEAD',
|
|
24
|
+
stream: true,
|
|
25
|
+
url
|
|
26
|
+
});
|
|
27
|
+
if (response.statusCode >= 400) {
|
|
28
|
+
const error = new HttpError(`Request returned HTTP ${response.statusCode}`);
|
|
29
|
+
error.statusCode = response.statusCode;
|
|
30
|
+
throw error;
|
|
31
|
+
}
|
|
32
|
+
response.body.resume();
|
|
33
|
+
return response.headers;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=getUrlHeaders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/services/getUrlHeaders.ts"],"sourcesContent":["import {getIt} from 'get-it'\nimport {promise} from 'get-it/middleware'\n\nconst request = getIt([promise()])\n\nclass HttpError extends Error {\n statusCode?: number\n\n constructor(message: string) {\n super(message)\n this.name = 'HttpError'\n }\n}\n\n/**\n * Gets the headers of a URL\n *\n * @param url - The URL to get the headers from\n * @param headers - The headers to send with the request\n * @returns The headers of the response\n */\nexport async function getUrlHeaders(url: string, headers = {}): Promise<Record<string, string>> {\n const response = await request({\n headers,\n maxRedirects: 0,\n method: 'HEAD',\n stream: true,\n url,\n })\n\n if (response.statusCode >= 400) {\n const error = new HttpError(`Request returned HTTP ${response.statusCode}`)\n error.statusCode = response.statusCode\n throw error\n }\n\n response.body.resume()\n return response.headers\n}\n"],"names":["getIt","promise","request","HttpError","Error","statusCode","message","name","getUrlHeaders","url","headers","response","maxRedirects","method","stream","error","body","resume"],"mappings":"AAAA,SAAQA,KAAK,QAAO,SAAQ;AAC5B,SAAQC,OAAO,QAAO,oBAAmB;AAEzC,MAAMC,UAAUF,MAAM;IAACC;CAAU;AAEjC,MAAME,kBAAkBC;IACtBC,WAAmB;IAEnB,YAAYC,OAAe,CAAE;QAC3B,KAAK,CAACA;QACN,IAAI,CAACC,IAAI,GAAG;IACd;AACF;AAEA;;;;;;CAMC,GACD,OAAO,eAAeC,cAAcC,GAAW,EAAEC,UAAU,CAAC,CAAC;IAC3D,MAAMC,WAAW,MAAMT,QAAQ;QAC7BQ;QACAE,cAAc;QACdC,QAAQ;QACRC,QAAQ;QACRL;IACF;IAEA,IAAIE,SAASN,UAAU,IAAI,KAAK;QAC9B,MAAMU,QAAQ,IAAIZ,UAAU,CAAC,sBAAsB,EAAEQ,SAASN,UAAU,EAAE;QAC1EU,MAAMV,UAAU,GAAGM,SAASN,UAAU;QACtC,MAAMU;IACR;IAEAJ,SAASK,IAAI,CAACC,MAAM;IACpB,OAAON,SAASD,OAAO;AACzB"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { getProjectCliClient } from '@sanity/cli-core';
|
|
2
|
+
import { getUrlHeaders } from './getUrlHeaders.js';
|
|
3
|
+
export const GRAPHQL_API_VERSION = 'v2025-09-19';
|
|
4
|
+
/**
|
|
5
|
+
* List all GraphQL endpoints for a project
|
|
6
|
+
* @param client - The API client to use for the request
|
|
7
|
+
* @returns A promise that resolves to an array of GraphQL endpoints
|
|
8
|
+
*
|
|
9
|
+
* @internal
|
|
10
|
+
*/ export async function listGraphQLEndpoints(projectId) {
|
|
11
|
+
const client = await getProjectCliClient({
|
|
12
|
+
apiVersion: GRAPHQL_API_VERSION,
|
|
13
|
+
projectId,
|
|
14
|
+
requireUser: true
|
|
15
|
+
});
|
|
16
|
+
return client.request({
|
|
17
|
+
method: 'GET',
|
|
18
|
+
uri: '/apis/graphql'
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
export async function deleteGraphQLAPI({ dataset, projectId, tag }) {
|
|
22
|
+
const client = await getProjectCliClient({
|
|
23
|
+
apiVersion: GRAPHQL_API_VERSION,
|
|
24
|
+
projectId,
|
|
25
|
+
requireUser: true
|
|
26
|
+
});
|
|
27
|
+
return client.request({
|
|
28
|
+
method: 'DELETE',
|
|
29
|
+
uri: `/apis/graphql/${dataset}/${tag}`
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
export async function validateGraphQLAPI({ dataset, enablePlayground, projectId, schema, tag }) {
|
|
33
|
+
const client = await getProjectCliClient({
|
|
34
|
+
apiVersion: GRAPHQL_API_VERSION,
|
|
35
|
+
projectId,
|
|
36
|
+
requireUser: true
|
|
37
|
+
});
|
|
38
|
+
return client.request({
|
|
39
|
+
body: {
|
|
40
|
+
enablePlayground,
|
|
41
|
+
schema
|
|
42
|
+
},
|
|
43
|
+
maxRedirects: 0,
|
|
44
|
+
method: 'POST',
|
|
45
|
+
url: `/apis/graphql/${dataset}/${tag}/validate`
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
export async function deployGraphQLAPI({ dataset, enablePlayground, projectId, schema, tag }) {
|
|
49
|
+
const client = await getProjectCliClient({
|
|
50
|
+
apiVersion: GRAPHQL_API_VERSION,
|
|
51
|
+
projectId,
|
|
52
|
+
requireUser: true
|
|
53
|
+
});
|
|
54
|
+
return client.request({
|
|
55
|
+
body: {
|
|
56
|
+
enablePlayground,
|
|
57
|
+
schema
|
|
58
|
+
},
|
|
59
|
+
maxRedirects: 0,
|
|
60
|
+
method: 'PUT',
|
|
61
|
+
url: `/apis/graphql/${dataset}/${tag}`
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
export async function getClientUrl(projectId, uri) {
|
|
65
|
+
const client = await getProjectCliClient({
|
|
66
|
+
apiVersion: GRAPHQL_API_VERSION,
|
|
67
|
+
projectId,
|
|
68
|
+
requireUser: true
|
|
69
|
+
});
|
|
70
|
+
return `${client.config().url}/${uri.replace(/^\//, '')}`;
|
|
71
|
+
}
|
|
72
|
+
export async function getCurrentSchemaProps(projectId, dataset, tag) {
|
|
73
|
+
try {
|
|
74
|
+
const client = await getProjectCliClient({
|
|
75
|
+
apiVersion: GRAPHQL_API_VERSION,
|
|
76
|
+
projectId
|
|
77
|
+
});
|
|
78
|
+
const uri = `/apis/graphql/${dataset}/${tag}`;
|
|
79
|
+
const config = client.config();
|
|
80
|
+
const apiUrl = `${config.url}/${uri.replace(/^\//, '')}`;
|
|
81
|
+
const res = await getUrlHeaders(apiUrl, {
|
|
82
|
+
Authorization: `Bearer ${config.token}`
|
|
83
|
+
});
|
|
84
|
+
return {
|
|
85
|
+
currentGeneration: res['x-sanity-graphql-generation'],
|
|
86
|
+
playgroundEnabled: res['x-sanity-graphql-playground'] === 'true'
|
|
87
|
+
};
|
|
88
|
+
} catch (err) {
|
|
89
|
+
if (err instanceof Error && 'statusCode' in err && err.statusCode === 404) {
|
|
90
|
+
return {};
|
|
91
|
+
}
|
|
92
|
+
throw err;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
//# sourceMappingURL=graphql.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/services/graphql.ts"],"sourcesContent":["import {getProjectCliClient} from '@sanity/cli-core'\n\nimport {\n type DeployResponse,\n type GeneratedApiSpecification,\n type ValidationResponse,\n} from '../actions/graphql/types.js'\nimport {getUrlHeaders} from './getUrlHeaders.js'\n\nexport const GRAPHQL_API_VERSION = 'v2025-09-19'\n\nexport interface GraphQLEndpoint {\n dataset: string\n generation: string\n playgroundEnabled: boolean\n projectId: string\n tag: string\n}\n\n/**\n * List all GraphQL endpoints for a project\n * @param client - The API client to use for the request\n * @returns A promise that resolves to an array of GraphQL endpoints\n *\n * @internal\n */\nexport async function listGraphQLEndpoints(projectId: string): Promise<GraphQLEndpoint[]> {\n const client = await getProjectCliClient({\n apiVersion: GRAPHQL_API_VERSION,\n projectId,\n requireUser: true,\n })\n\n return client.request<GraphQLEndpoint[]>({\n method: 'GET',\n uri: '/apis/graphql',\n })\n}\n\ninterface DeleteGraphQLAPIOptions {\n dataset: string\n projectId: string\n tag: string\n}\n\nexport async function deleteGraphQLAPI({dataset, projectId, tag}: DeleteGraphQLAPIOptions) {\n const client = await getProjectCliClient({\n apiVersion: GRAPHQL_API_VERSION,\n projectId,\n requireUser: true,\n })\n\n return client.request({\n method: 'DELETE',\n uri: `/apis/graphql/${dataset}/${tag}`,\n })\n}\n\nexport async function validateGraphQLAPI({\n dataset,\n enablePlayground,\n projectId,\n schema,\n tag,\n}: {\n dataset: string\n enablePlayground: boolean\n projectId: string\n schema: GeneratedApiSpecification\n tag: string\n}) {\n const client = await getProjectCliClient({\n apiVersion: GRAPHQL_API_VERSION,\n projectId,\n requireUser: true,\n })\n\n return client.request<ValidationResponse>({\n body: {enablePlayground, schema},\n maxRedirects: 0,\n method: 'POST',\n url: `/apis/graphql/${dataset}/${tag}/validate`,\n })\n}\n\ninterface DeployGraphQLAPIOptions {\n dataset: string\n enablePlayground: boolean\n projectId: string\n schema: GeneratedApiSpecification\n tag: string\n}\n\nexport async function deployGraphQLAPI({\n dataset,\n enablePlayground,\n projectId,\n schema,\n tag,\n}: DeployGraphQLAPIOptions) {\n const client = await getProjectCliClient({\n apiVersion: GRAPHQL_API_VERSION,\n projectId,\n requireUser: true,\n })\n\n return client.request<DeployResponse>({\n body: {enablePlayground, schema},\n maxRedirects: 0,\n method: 'PUT',\n url: `/apis/graphql/${dataset}/${tag}`,\n })\n}\n\nexport async function getClientUrl(projectId: string, uri: string) {\n const client = await getProjectCliClient({\n apiVersion: GRAPHQL_API_VERSION,\n projectId,\n requireUser: true,\n })\n\n return `${client.config().url}/${uri.replace(/^\\//, '')}`\n}\n\nexport async function getCurrentSchemaProps(\n projectId: string,\n dataset: string,\n tag: string,\n): Promise<{\n currentGeneration?: string\n playgroundEnabled?: boolean\n}> {\n try {\n const client = await getProjectCliClient({\n apiVersion: GRAPHQL_API_VERSION,\n projectId,\n })\n\n const uri = `/apis/graphql/${dataset}/${tag}`\n const config = client.config()\n const apiUrl = `${config.url}/${uri.replace(/^\\//, '')}`\n\n const res = await getUrlHeaders(apiUrl, {\n Authorization: `Bearer ${config.token}`,\n })\n\n return {\n currentGeneration: res['x-sanity-graphql-generation'],\n playgroundEnabled: res['x-sanity-graphql-playground'] === 'true',\n }\n } catch (err) {\n if (err instanceof Error && 'statusCode' in err && err.statusCode === 404) {\n return {}\n }\n\n throw err\n }\n}\n"],"names":["getProjectCliClient","getUrlHeaders","GRAPHQL_API_VERSION","listGraphQLEndpoints","projectId","client","apiVersion","requireUser","request","method","uri","deleteGraphQLAPI","dataset","tag","validateGraphQLAPI","enablePlayground","schema","body","maxRedirects","url","deployGraphQLAPI","getClientUrl","config","replace","getCurrentSchemaProps","apiUrl","res","Authorization","token","currentGeneration","playgroundEnabled","err","Error","statusCode"],"mappings":"AAAA,SAAQA,mBAAmB,QAAO,mBAAkB;AAOpD,SAAQC,aAAa,QAAO,qBAAoB;AAEhD,OAAO,MAAMC,sBAAsB,cAAa;AAUhD;;;;;;CAMC,GACD,OAAO,eAAeC,qBAAqBC,SAAiB;IAC1D,MAAMC,SAAS,MAAML,oBAAoB;QACvCM,YAAYJ;QACZE;QACAG,aAAa;IACf;IAEA,OAAOF,OAAOG,OAAO,CAAoB;QACvCC,QAAQ;QACRC,KAAK;IACP;AACF;AAQA,OAAO,eAAeC,iBAAiB,EAACC,OAAO,EAAER,SAAS,EAAES,GAAG,EAA0B;IACvF,MAAMR,SAAS,MAAML,oBAAoB;QACvCM,YAAYJ;QACZE;QACAG,aAAa;IACf;IAEA,OAAOF,OAAOG,OAAO,CAAC;QACpBC,QAAQ;QACRC,KAAK,CAAC,cAAc,EAAEE,QAAQ,CAAC,EAAEC,KAAK;IACxC;AACF;AAEA,OAAO,eAAeC,mBAAmB,EACvCF,OAAO,EACPG,gBAAgB,EAChBX,SAAS,EACTY,MAAM,EACNH,GAAG,EAOJ;IACC,MAAMR,SAAS,MAAML,oBAAoB;QACvCM,YAAYJ;QACZE;QACAG,aAAa;IACf;IAEA,OAAOF,OAAOG,OAAO,CAAqB;QACxCS,MAAM;YAACF;YAAkBC;QAAM;QAC/BE,cAAc;QACdT,QAAQ;QACRU,KAAK,CAAC,cAAc,EAAEP,QAAQ,CAAC,EAAEC,IAAI,SAAS,CAAC;IACjD;AACF;AAUA,OAAO,eAAeO,iBAAiB,EACrCR,OAAO,EACPG,gBAAgB,EAChBX,SAAS,EACTY,MAAM,EACNH,GAAG,EACqB;IACxB,MAAMR,SAAS,MAAML,oBAAoB;QACvCM,YAAYJ;QACZE;QACAG,aAAa;IACf;IAEA,OAAOF,OAAOG,OAAO,CAAiB;QACpCS,MAAM;YAACF;YAAkBC;QAAM;QAC/BE,cAAc;QACdT,QAAQ;QACRU,KAAK,CAAC,cAAc,EAAEP,QAAQ,CAAC,EAAEC,KAAK;IACxC;AACF;AAEA,OAAO,eAAeQ,aAAajB,SAAiB,EAAEM,GAAW;IAC/D,MAAML,SAAS,MAAML,oBAAoB;QACvCM,YAAYJ;QACZE;QACAG,aAAa;IACf;IAEA,OAAO,GAAGF,OAAOiB,MAAM,GAAGH,GAAG,CAAC,CAAC,EAAET,IAAIa,OAAO,CAAC,OAAO,KAAK;AAC3D;AAEA,OAAO,eAAeC,sBACpBpB,SAAiB,EACjBQ,OAAe,EACfC,GAAW;IAKX,IAAI;QACF,MAAMR,SAAS,MAAML,oBAAoB;YACvCM,YAAYJ;YACZE;QACF;QAEA,MAAMM,MAAM,CAAC,cAAc,EAAEE,QAAQ,CAAC,EAAEC,KAAK;QAC7C,MAAMS,SAASjB,OAAOiB,MAAM;QAC5B,MAAMG,SAAS,GAAGH,OAAOH,GAAG,CAAC,CAAC,EAAET,IAAIa,OAAO,CAAC,OAAO,KAAK;QAExD,MAAMG,MAAM,MAAMzB,cAAcwB,QAAQ;YACtCE,eAAe,CAAC,OAAO,EAAEL,OAAOM,KAAK,EAAE;QACzC;QAEA,OAAO;YACLC,mBAAmBH,GAAG,CAAC,8BAA8B;YACrDI,mBAAmBJ,GAAG,CAAC,8BAA8B,KAAK;QAC5D;IACF,EAAE,OAAOK,KAAK;QACZ,IAAIA,eAAeC,SAAS,gBAAgBD,OAAOA,IAAIE,UAAU,KAAK,KAAK;YACzE,OAAO,CAAC;QACV;QAEA,MAAMF;IACR;AACF"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { getGlobalCliClient } from '@sanity/cli-core';
|
|
2
|
+
import { HOOK_API_VERSION } from '../actions/hook/constants.js';
|
|
3
|
+
export async function getHooksForProject(projectId) {
|
|
4
|
+
const client = await getGlobalCliClient({
|
|
5
|
+
apiVersion: HOOK_API_VERSION,
|
|
6
|
+
requireUser: true
|
|
7
|
+
});
|
|
8
|
+
return client.request({
|
|
9
|
+
uri: `/hooks/projects/${projectId}`
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
export async function getHookMessagesForProject({ hookId, projectId }) {
|
|
13
|
+
const client = await getGlobalCliClient({
|
|
14
|
+
apiVersion: HOOK_API_VERSION,
|
|
15
|
+
requireUser: true
|
|
16
|
+
});
|
|
17
|
+
return client.request({
|
|
18
|
+
uri: `/hooks/projects/${projectId}/${hookId}/messages`
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
export async function getHookAttemptsForProject({ hookId, projectId }) {
|
|
22
|
+
const client = await getGlobalCliClient({
|
|
23
|
+
apiVersion: HOOK_API_VERSION,
|
|
24
|
+
requireUser: true
|
|
25
|
+
});
|
|
26
|
+
return client.request({
|
|
27
|
+
uri: `/hooks/projects/${projectId}/${hookId}/attempts`
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
export async function getHookAttempt({ attemptId, projectId }) {
|
|
31
|
+
const client = await getGlobalCliClient({
|
|
32
|
+
apiVersion: HOOK_API_VERSION,
|
|
33
|
+
requireUser: true
|
|
34
|
+
});
|
|
35
|
+
return client.request({
|
|
36
|
+
uri: `/hooks/projects/${projectId}/attempts/${attemptId}`
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
export async function listHooksForProject(projectId) {
|
|
40
|
+
const client = await getGlobalCliClient({
|
|
41
|
+
apiVersion: HOOK_API_VERSION,
|
|
42
|
+
requireUser: true
|
|
43
|
+
});
|
|
44
|
+
return client.request({
|
|
45
|
+
uri: `/hooks/projects/${projectId}`
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
export async function deleteHookForProject(projectId, hookId) {
|
|
49
|
+
const client = await getGlobalCliClient({
|
|
50
|
+
apiVersion: HOOK_API_VERSION,
|
|
51
|
+
requireUser: true
|
|
52
|
+
});
|
|
53
|
+
return client.request({
|
|
54
|
+
method: 'DELETE',
|
|
55
|
+
uri: `/hooks/projects/${projectId}/${hookId}`
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/services/hooks.ts"],"sourcesContent":["import {getGlobalCliClient} from '@sanity/cli-core'\n\nimport {HOOK_API_VERSION} from '../actions/hook/constants.js'\nimport {type DeliveryAttempt, type Hook, type HookMessage} from '../actions/hook/types.js'\n\nexport async function getHooksForProject(projectId: string): Promise<Hook[]> {\n const client = await getGlobalCliClient({\n apiVersion: HOOK_API_VERSION,\n requireUser: true,\n })\n\n return client.request<Hook[]>({uri: `/hooks/projects/${projectId}`})\n}\n\nexport async function getHookMessagesForProject({\n hookId,\n projectId,\n}: {\n hookId: string\n projectId: string\n}): Promise<HookMessage[]> {\n const client = await getGlobalCliClient({\n apiVersion: HOOK_API_VERSION,\n requireUser: true,\n })\n\n return client.request<HookMessage[]>({\n uri: `/hooks/projects/${projectId}/${hookId}/messages`,\n })\n}\n\nexport async function getHookAttemptsForProject({\n hookId,\n projectId,\n}: {\n hookId: string\n projectId: string\n}): Promise<DeliveryAttempt[]> {\n const client = await getGlobalCliClient({\n apiVersion: HOOK_API_VERSION,\n requireUser: true,\n })\n\n return client.request<DeliveryAttempt[]>({\n uri: `/hooks/projects/${projectId}/${hookId}/attempts`,\n })\n}\n\nexport async function getHookAttempt({\n attemptId,\n projectId,\n}: {\n attemptId: string\n projectId: string\n}): Promise<DeliveryAttempt> {\n const client = await getGlobalCliClient({\n apiVersion: HOOK_API_VERSION,\n requireUser: true,\n })\n\n return client.request<DeliveryAttempt>({\n uri: `/hooks/projects/${projectId}/attempts/${attemptId}`,\n })\n}\n\nexport async function listHooksForProject(projectId: string): Promise<Hook[]> {\n const client = await getGlobalCliClient({\n apiVersion: HOOK_API_VERSION,\n requireUser: true,\n })\n\n return client.request<Hook[]>({uri: `/hooks/projects/${projectId}`})\n}\n\nexport async function deleteHookForProject(projectId: string, hookId: string): Promise<void> {\n const client = await getGlobalCliClient({\n apiVersion: HOOK_API_VERSION,\n requireUser: true,\n })\n\n return client.request({method: 'DELETE', uri: `/hooks/projects/${projectId}/${hookId}`})\n}\n"],"names":["getGlobalCliClient","HOOK_API_VERSION","getHooksForProject","projectId","client","apiVersion","requireUser","request","uri","getHookMessagesForProject","hookId","getHookAttemptsForProject","getHookAttempt","attemptId","listHooksForProject","deleteHookForProject","method"],"mappings":"AAAA,SAAQA,kBAAkB,QAAO,mBAAkB;AAEnD,SAAQC,gBAAgB,QAAO,+BAA8B;AAG7D,OAAO,eAAeC,mBAAmBC,SAAiB;IACxD,MAAMC,SAAS,MAAMJ,mBAAmB;QACtCK,YAAYJ;QACZK,aAAa;IACf;IAEA,OAAOF,OAAOG,OAAO,CAAS;QAACC,KAAK,CAAC,gBAAgB,EAAEL,WAAW;IAAA;AACpE;AAEA,OAAO,eAAeM,0BAA0B,EAC9CC,MAAM,EACNP,SAAS,EAIV;IACC,MAAMC,SAAS,MAAMJ,mBAAmB;QACtCK,YAAYJ;QACZK,aAAa;IACf;IAEA,OAAOF,OAAOG,OAAO,CAAgB;QACnCC,KAAK,CAAC,gBAAgB,EAAEL,UAAU,CAAC,EAAEO,OAAO,SAAS,CAAC;IACxD;AACF;AAEA,OAAO,eAAeC,0BAA0B,EAC9CD,MAAM,EACNP,SAAS,EAIV;IACC,MAAMC,SAAS,MAAMJ,mBAAmB;QACtCK,YAAYJ;QACZK,aAAa;IACf;IAEA,OAAOF,OAAOG,OAAO,CAAoB;QACvCC,KAAK,CAAC,gBAAgB,EAAEL,UAAU,CAAC,EAAEO,OAAO,SAAS,CAAC;IACxD;AACF;AAEA,OAAO,eAAeE,eAAe,EACnCC,SAAS,EACTV,SAAS,EAIV;IACC,MAAMC,SAAS,MAAMJ,mBAAmB;QACtCK,YAAYJ;QACZK,aAAa;IACf;IAEA,OAAOF,OAAOG,OAAO,CAAkB;QACrCC,KAAK,CAAC,gBAAgB,EAAEL,UAAU,UAAU,EAAEU,WAAW;IAC3D;AACF;AAEA,OAAO,eAAeC,oBAAoBX,SAAiB;IACzD,MAAMC,SAAS,MAAMJ,mBAAmB;QACtCK,YAAYJ;QACZK,aAAa;IACf;IAEA,OAAOF,OAAOG,OAAO,CAAS;QAACC,KAAK,CAAC,gBAAgB,EAAEL,WAAW;IAAA;AACpE;AAEA,OAAO,eAAeY,qBAAqBZ,SAAiB,EAAEO,MAAc;IAC1E,MAAMN,SAAS,MAAMJ,mBAAmB;QACtCK,YAAYJ;QACZK,aAAa;IACf;IAEA,OAAOF,OAAOG,OAAO,CAAC;QAACS,QAAQ;QAAUR,KAAK,CAAC,gBAAgB,EAAEL,UAAU,CAAC,EAAEO,QAAQ;IAAA;AACxF"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { getGlobalCliClient } from '@sanity/cli-core';
|
|
2
|
+
export const MCP_API_VERSION = '2025-12-09';
|
|
3
|
+
export const MCP_SERVER_URL = 'https://mcp.sanity.io';
|
|
4
|
+
export const MCP_JOURNEY_API_VERSION = 'v2024-02-23';
|
|
5
|
+
/**
|
|
6
|
+
* Create a child token for MCP usage
|
|
7
|
+
* This token is tied to the parent CLI token and will be invalidated
|
|
8
|
+
* when the parent token is invalidated (e.g., on logout)
|
|
9
|
+
*
|
|
10
|
+
* @returns The MCP token string
|
|
11
|
+
* @internal
|
|
12
|
+
*/ export async function createMCPToken() {
|
|
13
|
+
const client = await getGlobalCliClient({
|
|
14
|
+
apiVersion: MCP_API_VERSION,
|
|
15
|
+
requireUser: true
|
|
16
|
+
});
|
|
17
|
+
const sessionResponse = await client.request({
|
|
18
|
+
body: {
|
|
19
|
+
sourceId: 'sanity-mcp',
|
|
20
|
+
withStamp: false
|
|
21
|
+
},
|
|
22
|
+
method: 'POST',
|
|
23
|
+
uri: '/auth/session/create'
|
|
24
|
+
});
|
|
25
|
+
const tokenResponse = await client.request({
|
|
26
|
+
method: 'GET',
|
|
27
|
+
query: {
|
|
28
|
+
sid: sessionResponse.sid
|
|
29
|
+
},
|
|
30
|
+
uri: '/auth/fetch'
|
|
31
|
+
});
|
|
32
|
+
return tokenResponse.token;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Fetches the post-init MCP prompt from the Journey API and interpolates editor names.
|
|
36
|
+
* Falls back to a hardcoded default if the API call fails, times out, or returns empty.
|
|
37
|
+
* Text wrapped in **markers** will be formatted with cyan color.
|
|
38
|
+
*/ export async function getPostInitPrompt() {
|
|
39
|
+
const client = await getGlobalCliClient({
|
|
40
|
+
apiVersion: MCP_JOURNEY_API_VERSION,
|
|
41
|
+
requireUser: false
|
|
42
|
+
});
|
|
43
|
+
return await client.request({
|
|
44
|
+
method: 'GET',
|
|
45
|
+
timeout: 1000,
|
|
46
|
+
uri: '/journey/mcp/post-init-prompt'
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
//# sourceMappingURL=mcp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/services/mcp.ts"],"sourcesContent":["import {getGlobalCliClient} from '@sanity/cli-core'\n\nexport const MCP_API_VERSION = '2025-12-09'\nexport const MCP_SERVER_URL = 'https://mcp.sanity.io'\nexport const MCP_JOURNEY_API_VERSION = 'v2024-02-23'\n\ninterface PostInitPromptResponse {\n message?: string\n}\n\n/**\n * Create a child token for MCP usage\n * This token is tied to the parent CLI token and will be invalidated\n * when the parent token is invalidated (e.g., on logout)\n *\n * @returns The MCP token string\n * @internal\n */\nexport async function createMCPToken(): Promise<string> {\n const client = await getGlobalCliClient({\n apiVersion: MCP_API_VERSION,\n requireUser: true,\n })\n\n const sessionResponse = await client.request<{id: string; sid: string}>({\n body: {\n sourceId: 'sanity-mcp',\n withStamp: false,\n },\n method: 'POST',\n uri: '/auth/session/create',\n })\n\n const tokenResponse = await client.request<{label: string; token: string}>({\n method: 'GET',\n query: {sid: sessionResponse.sid},\n uri: '/auth/fetch',\n })\n\n return tokenResponse.token\n}\n\n/**\n * Fetches the post-init MCP prompt from the Journey API and interpolates editor names.\n * Falls back to a hardcoded default if the API call fails, times out, or returns empty.\n * Text wrapped in **markers** will be formatted with cyan color.\n */\nexport async function getPostInitPrompt() {\n const client = await getGlobalCliClient({apiVersion: MCP_JOURNEY_API_VERSION, requireUser: false})\n return await client.request<PostInitPromptResponse | null>({\n method: 'GET',\n timeout: 1000,\n uri: '/journey/mcp/post-init-prompt',\n })\n}\n"],"names":["getGlobalCliClient","MCP_API_VERSION","MCP_SERVER_URL","MCP_JOURNEY_API_VERSION","createMCPToken","client","apiVersion","requireUser","sessionResponse","request","body","sourceId","withStamp","method","uri","tokenResponse","query","sid","token","getPostInitPrompt","timeout"],"mappings":"AAAA,SAAQA,kBAAkB,QAAO,mBAAkB;AAEnD,OAAO,MAAMC,kBAAkB,aAAY;AAC3C,OAAO,MAAMC,iBAAiB,wBAAuB;AACrD,OAAO,MAAMC,0BAA0B,cAAa;AAMpD;;;;;;;CAOC,GACD,OAAO,eAAeC;IACpB,MAAMC,SAAS,MAAML,mBAAmB;QACtCM,YAAYL;QACZM,aAAa;IACf;IAEA,MAAMC,kBAAkB,MAAMH,OAAOI,OAAO,CAA4B;QACtEC,MAAM;YACJC,UAAU;YACVC,WAAW;QACb;QACAC,QAAQ;QACRC,KAAK;IACP;IAEA,MAAMC,gBAAgB,MAAMV,OAAOI,OAAO,CAAiC;QACzEI,QAAQ;QACRG,OAAO;YAACC,KAAKT,gBAAgBS,GAAG;QAAA;QAChCH,KAAK;IACP;IAEA,OAAOC,cAAcG,KAAK;AAC5B;AAEA;;;;CAIC,GACD,OAAO,eAAeC;IACpB,MAAMd,SAAS,MAAML,mBAAmB;QAACM,YAAYH;QAAyBI,aAAa;IAAK;IAChG,OAAO,MAAMF,OAAOI,OAAO,CAAgC;QACzDI,QAAQ;QACRO,SAAS;QACTN,KAAK;IACP;AACF"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { getGlobalCliClient } from '@sanity/cli-core';
|
|
2
|
+
import { MEDIA_LIBRARY_ASSET_ASPECT_TYPE_NAME } from '@sanity/types';
|
|
3
|
+
export const MEDIA_LIBRARY_API_VERSION = 'v2025-02-19';
|
|
4
|
+
async function getMediaLibraryClient() {
|
|
5
|
+
return getGlobalCliClient({
|
|
6
|
+
apiVersion: MEDIA_LIBRARY_API_VERSION,
|
|
7
|
+
requireUser: true
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Delete an aspect from a media library
|
|
12
|
+
* @param options - The options for deleting an aspect
|
|
13
|
+
* @returns A promise that resolves to the deletion response
|
|
14
|
+
*
|
|
15
|
+
* @internal
|
|
16
|
+
*/ export async function deleteAspect(options) {
|
|
17
|
+
const { aspectName, mediaLibraryId } = options;
|
|
18
|
+
const client = await getMediaLibraryClient();
|
|
19
|
+
return client.request({
|
|
20
|
+
body: {
|
|
21
|
+
mutations: [
|
|
22
|
+
{
|
|
23
|
+
delete: {
|
|
24
|
+
params: {
|
|
25
|
+
id: aspectName,
|
|
26
|
+
type: MEDIA_LIBRARY_ASSET_ASPECT_TYPE_NAME
|
|
27
|
+
},
|
|
28
|
+
query: `*[_type == $type && _id == $id]`
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
method: 'POST',
|
|
34
|
+
uri: `/media-libraries/${mediaLibraryId}/mutate`
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Get a list of media libraries for a project
|
|
39
|
+
* @param projectId - The project ID
|
|
40
|
+
* @returns A promise that resolves to the media libraries
|
|
41
|
+
*
|
|
42
|
+
* @internal
|
|
43
|
+
*/ export async function getMediaLibraries(projectId) {
|
|
44
|
+
const client = await getMediaLibraryClient();
|
|
45
|
+
const response = await client.request({
|
|
46
|
+
method: 'GET',
|
|
47
|
+
query: {
|
|
48
|
+
projectId
|
|
49
|
+
},
|
|
50
|
+
uri: `/media-libraries`
|
|
51
|
+
});
|
|
52
|
+
return response.data.filter((library)=>library.status === 'active');
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Deploy one or more aspects to a media library
|
|
56
|
+
* @param options - The options for deploying aspects
|
|
57
|
+
* @returns A promise that resolves to the deployment response
|
|
58
|
+
*
|
|
59
|
+
* @internal
|
|
60
|
+
*/ export async function deployAspects(options) {
|
|
61
|
+
const { aspects, mediaLibraryId } = options;
|
|
62
|
+
const client = await getMediaLibraryClient();
|
|
63
|
+
return client.request({
|
|
64
|
+
body: {
|
|
65
|
+
mutations: aspects.map((aspect)=>({
|
|
66
|
+
createOrReplace: aspect
|
|
67
|
+
}))
|
|
68
|
+
},
|
|
69
|
+
method: 'POST',
|
|
70
|
+
uri: `/media-libraries/${mediaLibraryId}/mutate`
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
//# sourceMappingURL=mediaLibraries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/services/mediaLibraries.ts"],"sourcesContent":["import {getGlobalCliClient} from '@sanity/cli-core'\nimport {\n MEDIA_LIBRARY_ASSET_ASPECT_TYPE_NAME,\n type MediaLibraryAssetAspectDocument,\n} from '@sanity/types'\n\nexport const MEDIA_LIBRARY_API_VERSION = 'v2025-02-19'\n\nasync function getMediaLibraryClient() {\n return getGlobalCliClient({\n apiVersion: MEDIA_LIBRARY_API_VERSION,\n requireUser: true,\n })\n}\n\ninterface DeleteAspectOptions {\n aspectName: string\n mediaLibraryId: string\n projectId: string\n}\n\ninterface DeleteAspectResponse {\n results: Array<{id: string}>\n}\n\n/**\n * Delete an aspect from a media library\n * @param options - The options for deleting an aspect\n * @returns A promise that resolves to the deletion response\n *\n * @internal\n */\nexport async function deleteAspect(options: DeleteAspectOptions): Promise<DeleteAspectResponse> {\n const {aspectName, mediaLibraryId} = options\n\n const client = await getMediaLibraryClient()\n\n return client.request<DeleteAspectResponse>({\n body: {\n mutations: [\n {\n delete: {\n params: {\n id: aspectName,\n type: MEDIA_LIBRARY_ASSET_ASPECT_TYPE_NAME,\n },\n query: `*[_type == $type && _id == $id]`,\n },\n },\n ],\n },\n method: 'POST',\n uri: `/media-libraries/${mediaLibraryId}/mutate`,\n })\n}\n\nexport interface MediaLibrary {\n id: string\n organizationId: string\n status: 'active' | 'inactive'\n}\n\ninterface MediaLibrariesResponse {\n data: MediaLibrary[]\n}\n\n/**\n * Get a list of media libraries for a project\n * @param projectId - The project ID\n * @returns A promise that resolves to the media libraries\n *\n * @internal\n */\nexport async function getMediaLibraries(projectId: string): Promise<MediaLibrary[]> {\n const client = await getMediaLibraryClient()\n\n const response = await client.request<MediaLibrariesResponse>({\n method: 'GET',\n query: {\n projectId,\n },\n uri: `/media-libraries`,\n })\n\n return response.data.filter((library) => library.status === 'active')\n}\n\ninterface DeployAspectsOptions {\n aspects: MediaLibraryAssetAspectDocument[]\n mediaLibraryId: string\n}\n\ninterface DeployAspectsResponse {\n results: Array<{id: string; operation: string}>\n}\n\n/**\n * Deploy one or more aspects to a media library\n * @param options - The options for deploying aspects\n * @returns A promise that resolves to the deployment response\n *\n * @internal\n */\nexport async function deployAspects(options: DeployAspectsOptions): Promise<DeployAspectsResponse> {\n const {aspects, mediaLibraryId} = options\n\n const client = await getMediaLibraryClient()\n\n return client.request<DeployAspectsResponse>({\n body: {\n mutations: aspects.map((aspect) => ({\n createOrReplace: aspect,\n })),\n },\n method: 'POST',\n uri: `/media-libraries/${mediaLibraryId}/mutate`,\n })\n}\n"],"names":["getGlobalCliClient","MEDIA_LIBRARY_ASSET_ASPECT_TYPE_NAME","MEDIA_LIBRARY_API_VERSION","getMediaLibraryClient","apiVersion","requireUser","deleteAspect","options","aspectName","mediaLibraryId","client","request","body","mutations","delete","params","id","type","query","method","uri","getMediaLibraries","projectId","response","data","filter","library","status","deployAspects","aspects","map","aspect","createOrReplace"],"mappings":"AAAA,SAAQA,kBAAkB,QAAO,mBAAkB;AACnD,SACEC,oCAAoC,QAE/B,gBAAe;AAEtB,OAAO,MAAMC,4BAA4B,cAAa;AAEtD,eAAeC;IACb,OAAOH,mBAAmB;QACxBI,YAAYF;QACZG,aAAa;IACf;AACF;AAYA;;;;;;CAMC,GACD,OAAO,eAAeC,aAAaC,OAA4B;IAC7D,MAAM,EAACC,UAAU,EAAEC,cAAc,EAAC,GAAGF;IAErC,MAAMG,SAAS,MAAMP;IAErB,OAAOO,OAAOC,OAAO,CAAuB;QAC1CC,MAAM;YACJC,WAAW;gBACT;oBACEC,QAAQ;wBACNC,QAAQ;4BACNC,IAAIR;4BACJS,MAAMhB;wBACR;wBACAiB,OAAO,CAAC,+BAA+B,CAAC;oBAC1C;gBACF;aACD;QACH;QACAC,QAAQ;QACRC,KAAK,CAAC,iBAAiB,EAAEX,eAAe,OAAO,CAAC;IAClD;AACF;AAYA;;;;;;CAMC,GACD,OAAO,eAAeY,kBAAkBC,SAAiB;IACvD,MAAMZ,SAAS,MAAMP;IAErB,MAAMoB,WAAW,MAAMb,OAAOC,OAAO,CAAyB;QAC5DQ,QAAQ;QACRD,OAAO;YACLI;QACF;QACAF,KAAK,CAAC,gBAAgB,CAAC;IACzB;IAEA,OAAOG,SAASC,IAAI,CAACC,MAAM,CAAC,CAACC,UAAYA,QAAQC,MAAM,KAAK;AAC9D;AAWA;;;;;;CAMC,GACD,OAAO,eAAeC,cAAcrB,OAA6B;IAC/D,MAAM,EAACsB,OAAO,EAAEpB,cAAc,EAAC,GAAGF;IAElC,MAAMG,SAAS,MAAMP;IAErB,OAAOO,OAAOC,OAAO,CAAwB;QAC3CC,MAAM;YACJC,WAAWgB,QAAQC,GAAG,CAAC,CAACC,SAAY,CAAA;oBAClCC,iBAAiBD;gBACnB,CAAA;QACF;QACAZ,QAAQ;QACRC,KAAK,CAAC,iBAAiB,EAAEX,eAAe,OAAO,CAAC;IAClD;AACF"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { getGlobalCliClient } from '@sanity/cli-core';
|
|
2
|
+
export const ORGANIZATIONS_API_VERSION = 'v2025-05-14';
|
|
3
|
+
/**
|
|
4
|
+
* List all organizations the user has access to
|
|
5
|
+
*/ export async function listOrganizations(query) {
|
|
6
|
+
const client = await getGlobalCliClient({
|
|
7
|
+
apiVersion: ORGANIZATIONS_API_VERSION,
|
|
8
|
+
requireUser: true
|
|
9
|
+
});
|
|
10
|
+
return client.request({
|
|
11
|
+
query,
|
|
12
|
+
uri: '/organizations'
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Create a new organization
|
|
17
|
+
*/ export async function createOrganization(name) {
|
|
18
|
+
const client = await getGlobalCliClient({
|
|
19
|
+
apiVersion: ORGANIZATIONS_API_VERSION,
|
|
20
|
+
requireUser: true
|
|
21
|
+
});
|
|
22
|
+
return client.request({
|
|
23
|
+
body: {
|
|
24
|
+
name
|
|
25
|
+
},
|
|
26
|
+
method: 'post',
|
|
27
|
+
uri: '/organizations'
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Get organization grants for a specific organization
|
|
32
|
+
*/ export async function getOrganizationGrants(organizationId) {
|
|
33
|
+
const client = await getGlobalCliClient({
|
|
34
|
+
apiVersion: ORGANIZATIONS_API_VERSION,
|
|
35
|
+
requireUser: true
|
|
36
|
+
});
|
|
37
|
+
return client.request({
|
|
38
|
+
uri: `/organizations/${organizationId}/grants`
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=organizations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/services/organizations.ts"],"sourcesContent":["import {getGlobalCliClient} from '@sanity/cli-core'\nimport {RawRequestOptions} from '@sanity/client'\n\nexport const ORGANIZATIONS_API_VERSION = 'v2025-05-14'\n\nexport interface ProjectOrganization {\n id: string\n name: string\n slug: string\n}\n\nexport interface OrganizationCreateResponse {\n createdByUserId: string\n defaultRoleName: string | null\n features: unknown[]\n id: string\n members: unknown[]\n name: string\n slug: string | null\n}\n\nexport interface OrganizationWithGrant {\n hasAttachGrant: boolean\n organization: ProjectOrganization\n}\n\ninterface OrganizationGrant {\n grants: {name: string}[]\n}\n\ninterface OrganizationGrantsResponse {\n [key: string]: OrganizationGrant[]\n}\n\ntype OrganizationRequestQuery = RawRequestOptions['query']\n\n/**\n * List all organizations the user has access to\n */\nexport async function listOrganizations(\n query?: OrganizationRequestQuery,\n): Promise<ProjectOrganization[]> {\n const client = await getGlobalCliClient({\n apiVersion: ORGANIZATIONS_API_VERSION,\n requireUser: true,\n })\n\n return client.request<ProjectOrganization[]>({\n query,\n uri: '/organizations',\n })\n}\n\n/**\n * Create a new organization\n */\nexport async function createOrganization(name: string): Promise<OrganizationCreateResponse> {\n const client = await getGlobalCliClient({\n apiVersion: ORGANIZATIONS_API_VERSION,\n requireUser: true,\n })\n\n return client.request<OrganizationCreateResponse>({\n body: {name},\n method: 'post',\n uri: '/organizations',\n })\n}\n\n/**\n * Get organization grants for a specific organization\n */\nexport async function getOrganizationGrants(\n organizationId: string,\n): Promise<OrganizationGrantsResponse> {\n const client = await getGlobalCliClient({\n apiVersion: ORGANIZATIONS_API_VERSION,\n requireUser: true,\n })\n\n return client.request<OrganizationGrantsResponse>({\n uri: `/organizations/${organizationId}/grants`,\n })\n}\n"],"names":["getGlobalCliClient","ORGANIZATIONS_API_VERSION","listOrganizations","query","client","apiVersion","requireUser","request","uri","createOrganization","name","body","method","getOrganizationGrants","organizationId"],"mappings":"AAAA,SAAQA,kBAAkB,QAAO,mBAAkB;AAGnD,OAAO,MAAMC,4BAA4B,cAAa;AAiCtD;;CAEC,GACD,OAAO,eAAeC,kBACpBC,KAAgC;IAEhC,MAAMC,SAAS,MAAMJ,mBAAmB;QACtCK,YAAYJ;QACZK,aAAa;IACf;IAEA,OAAOF,OAAOG,OAAO,CAAwB;QAC3CJ;QACAK,KAAK;IACP;AACF;AAEA;;CAEC,GACD,OAAO,eAAeC,mBAAmBC,IAAY;IACnD,MAAMN,SAAS,MAAMJ,mBAAmB;QACtCK,YAAYJ;QACZK,aAAa;IACf;IAEA,OAAOF,OAAOG,OAAO,CAA6B;QAChDI,MAAM;YAACD;QAAI;QACXE,QAAQ;QACRJ,KAAK;IACP;AACF;AAEA;;CAEC,GACD,OAAO,eAAeK,sBACpBC,cAAsB;IAEtB,MAAMV,SAAS,MAAMJ,mBAAmB;QACtCK,YAAYJ;QACZK,aAAa;IACf;IAEA,OAAOF,OAAOG,OAAO,CAA6B;QAChDC,KAAK,CAAC,eAAe,EAAEM,eAAe,OAAO,CAAC;IAChD;AACF"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { getGlobalCliClient } from '@sanity/cli-core';
|
|
2
|
+
import { INIT_API_VERSION } from '../actions/init/constants.js';
|
|
3
|
+
export async function getPlanId(intendedPlanId) {
|
|
4
|
+
const client = await getGlobalCliClient({
|
|
5
|
+
apiVersion: INIT_API_VERSION,
|
|
6
|
+
requireUser: false
|
|
7
|
+
});
|
|
8
|
+
const response = await client.request({
|
|
9
|
+
uri: `plans/${intendedPlanId}`
|
|
10
|
+
});
|
|
11
|
+
if (Array.isArray(response) && response.length > 0) {
|
|
12
|
+
const planId = response[0]?.id;
|
|
13
|
+
if (!planId) {
|
|
14
|
+
throw new Error(`Unable to find a plan with id ${intendedPlanId}`);
|
|
15
|
+
}
|
|
16
|
+
return response[0].id;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export async function getPlanIdFromCoupon(couponCode) {
|
|
20
|
+
const client = await getGlobalCliClient({
|
|
21
|
+
apiVersion: INIT_API_VERSION,
|
|
22
|
+
requireUser: false
|
|
23
|
+
});
|
|
24
|
+
const response = await client.request({
|
|
25
|
+
uri: `plans/coupon/${encodeURIComponent(couponCode)}`
|
|
26
|
+
});
|
|
27
|
+
if (!Array.isArray(response) || response.length === 0) {
|
|
28
|
+
throw new Error(`No plans found for coupon code "${couponCode}"`);
|
|
29
|
+
}
|
|
30
|
+
const planId = response[0].id;
|
|
31
|
+
if (!planId) {
|
|
32
|
+
throw new Error('Unable to find a plan from coupon code');
|
|
33
|
+
}
|
|
34
|
+
return planId;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=plans.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/services/plans.ts"],"sourcesContent":["import {getGlobalCliClient} from '@sanity/cli-core'\n\nimport {INIT_API_VERSION} from '../actions/init/constants.js'\n\nexport async function getPlanId(intendedPlanId: string) {\n const client = await getGlobalCliClient({\n apiVersion: INIT_API_VERSION,\n requireUser: false,\n })\n\n const response = await client.request<{id: string}[]>({uri: `plans/${intendedPlanId}`})\n if (Array.isArray(response) && response.length > 0) {\n const planId = response[0]?.id\n if (!planId) {\n throw new Error(`Unable to find a plan with id ${intendedPlanId}`)\n }\n\n return response[0].id\n }\n}\n\nexport async function getPlanIdFromCoupon(couponCode: string) {\n const client = await getGlobalCliClient({\n apiVersion: INIT_API_VERSION,\n requireUser: false,\n })\n\n const response = await client.request<{id: string}[]>({\n uri: `plans/coupon/${encodeURIComponent(couponCode)}`,\n })\n\n if (!Array.isArray(response) || response.length === 0) {\n throw new Error(`No plans found for coupon code \"${couponCode}\"`)\n }\n\n const planId = response[0].id\n if (!planId) {\n throw new Error('Unable to find a plan from coupon code')\n }\n\n return planId\n}\n"],"names":["getGlobalCliClient","INIT_API_VERSION","getPlanId","intendedPlanId","client","apiVersion","requireUser","response","request","uri","Array","isArray","length","planId","id","Error","getPlanIdFromCoupon","couponCode","encodeURIComponent"],"mappings":"AAAA,SAAQA,kBAAkB,QAAO,mBAAkB;AAEnD,SAAQC,gBAAgB,QAAO,+BAA8B;AAE7D,OAAO,eAAeC,UAAUC,cAAsB;IACpD,MAAMC,SAAS,MAAMJ,mBAAmB;QACtCK,YAAYJ;QACZK,aAAa;IACf;IAEA,MAAMC,WAAW,MAAMH,OAAOI,OAAO,CAAiB;QAACC,KAAK,CAAC,MAAM,EAAEN,gBAAgB;IAAA;IACrF,IAAIO,MAAMC,OAAO,CAACJ,aAAaA,SAASK,MAAM,GAAG,GAAG;QAClD,MAAMC,SAASN,QAAQ,CAAC,EAAE,EAAEO;QAC5B,IAAI,CAACD,QAAQ;YACX,MAAM,IAAIE,MAAM,CAAC,8BAA8B,EAAEZ,gBAAgB;QACnE;QAEA,OAAOI,QAAQ,CAAC,EAAE,CAACO,EAAE;IACvB;AACF;AAEA,OAAO,eAAeE,oBAAoBC,UAAkB;IAC1D,MAAMb,SAAS,MAAMJ,mBAAmB;QACtCK,YAAYJ;QACZK,aAAa;IACf;IAEA,MAAMC,WAAW,MAAMH,OAAOI,OAAO,CAAiB;QACpDC,KAAK,CAAC,aAAa,EAAES,mBAAmBD,aAAa;IACvD;IAEA,IAAI,CAACP,MAAMC,OAAO,CAACJ,aAAaA,SAASK,MAAM,KAAK,GAAG;QACrD,MAAM,IAAIG,MAAM,CAAC,gCAAgC,EAAEE,WAAW,CAAC,CAAC;IAClE;IAEA,MAAMJ,SAASN,QAAQ,CAAC,EAAE,CAACO,EAAE;IAC7B,IAAI,CAACD,QAAQ;QACX,MAAM,IAAIE,MAAM;IAClB;IAEA,OAAOF;AACT"}
|