@sanity/cli 8.6.0 → 8.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/README.md +918 -40
  2. package/dist/actions/api/distillApiRoutes.js +1 -1
  3. package/dist/actions/api/distillApiRoutes.js.map +1 -1
  4. package/dist/actions/api/resolveEndpoint.js +1 -1
  5. package/dist/actions/api/resolveEndpoint.js.map +1 -1
  6. package/dist/actions/backup/archiveDir.js +7 -3
  7. package/dist/actions/backup/archiveDir.js.map +1 -1
  8. package/dist/actions/context/resolveOrganizationId.js +17 -0
  9. package/dist/actions/context/resolveOrganizationId.js.map +1 -0
  10. package/dist/actions/context/waitForJob.js +24 -0
  11. package/dist/actions/context/waitForJob.js.map +1 -0
  12. package/dist/actions/context/watchJob.js +32 -0
  13. package/dist/actions/context/watchJob.js.map +1 -0
  14. package/dist/actions/deploy/deployApp.js +6 -6
  15. package/dist/actions/deploy/deployApp.js.map +1 -1
  16. package/dist/actions/deploy/deployStudio.js +6 -6
  17. package/dist/actions/deploy/deployStudio.js.map +1 -1
  18. package/dist/actions/exec/execScript.js +6 -18
  19. package/dist/actions/exec/execScript.js.map +1 -1
  20. package/dist/actions/exec/runScript.worker.js +21 -0
  21. package/dist/actions/exec/runScript.worker.js.map +1 -0
  22. package/dist/actions/init/initAction.js +1 -1
  23. package/dist/actions/init/initAction.js.map +1 -1
  24. package/dist/actions/media/importMedia.js +4 -2
  25. package/dist/actions/media/importMedia.js.map +1 -1
  26. package/dist/commands/backups/download.js +8 -17
  27. package/dist/commands/backups/download.js.map +1 -1
  28. package/dist/commands/backups/list.js +1 -1
  29. package/dist/commands/backups/list.js.map +1 -1
  30. package/dist/commands/context/build.js +111 -0
  31. package/dist/commands/context/build.js.map +1 -0
  32. package/dist/commands/context/create.js +106 -0
  33. package/dist/commands/context/create.js.map +1 -0
  34. package/dist/commands/context/delete.js +68 -0
  35. package/dist/commands/context/delete.js.map +1 -0
  36. package/dist/commands/context/get.js +95 -0
  37. package/dist/commands/context/get.js.map +1 -0
  38. package/dist/commands/context/imports/create.js +270 -0
  39. package/dist/commands/context/imports/create.js.map +1 -0
  40. package/dist/commands/context/imports/delete.js +73 -0
  41. package/dist/commands/context/imports/delete.js.map +1 -0
  42. package/dist/commands/context/imports/download.js +65 -0
  43. package/dist/commands/context/imports/download.js.map +1 -0
  44. package/dist/commands/context/imports/get.js +93 -0
  45. package/dist/commands/context/imports/get.js.map +1 -0
  46. package/dist/commands/context/imports/list.js +105 -0
  47. package/dist/commands/context/imports/list.js.map +1 -0
  48. package/dist/commands/context/jobs/get.js +90 -0
  49. package/dist/commands/context/jobs/get.js.map +1 -0
  50. package/dist/commands/context/list.js +109 -0
  51. package/dist/commands/context/list.js.map +1 -0
  52. package/dist/commands/context/refresh.js +46 -0
  53. package/dist/commands/context/refresh.js.map +1 -0
  54. package/dist/commands/context/update.js +127 -0
  55. package/dist/commands/context/update.js.map +1 -0
  56. package/dist/commands/datasets/alias/delete.js +4 -9
  57. package/dist/commands/datasets/alias/delete.js.map +1 -1
  58. package/dist/commands/datasets/alias/unlink.js +4 -9
  59. package/dist/commands/datasets/alias/unlink.js.map +1 -1
  60. package/dist/commands/datasets/copy.js +1 -1
  61. package/dist/commands/datasets/copy.js.map +1 -1
  62. package/dist/commands/datasets/delete.js +4 -9
  63. package/dist/commands/datasets/delete.js.map +1 -1
  64. package/dist/commands/graphql/undeploy.js +4 -9
  65. package/dist/commands/graphql/undeploy.js.map +1 -1
  66. package/dist/commands/init.js +1 -1
  67. package/dist/commands/init.js.map +1 -1
  68. package/dist/commands/media/create-aspect.js +5 -6
  69. package/dist/commands/media/create-aspect.js.map +1 -1
  70. package/dist/commands/media/delete-aspect.js +7 -23
  71. package/dist/commands/media/delete-aspect.js.map +1 -1
  72. package/dist/commands/media/deploy-aspect.js +4 -9
  73. package/dist/commands/media/deploy-aspect.js.map +1 -1
  74. package/dist/commands/media/export.js +3 -7
  75. package/dist/commands/media/export.js.map +1 -1
  76. package/dist/commands/media/import.js +3 -7
  77. package/dist/commands/media/import.js.map +1 -1
  78. package/dist/commands/organizations/create.js +4 -9
  79. package/dist/commands/organizations/create.js.map +1 -1
  80. package/dist/commands/schemas/delete.js +3 -8
  81. package/dist/commands/schemas/delete.js.map +1 -1
  82. package/dist/commands/tokens/delete.js +4 -7
  83. package/dist/commands/tokens/delete.js.map +1 -1
  84. package/dist/commands/users/invite.js +8 -18
  85. package/dist/commands/users/invite.js.map +1 -1
  86. package/dist/exports/index.js +1 -1
  87. package/dist/exports/index.js.map +1 -1
  88. package/dist/exports/invokeSanityCli/commandPolicies/mcpPolicy.js +18 -0
  89. package/dist/exports/invokeSanityCli/commandPolicies/mcpPolicy.js.map +1 -1
  90. package/dist/generated/apiRoutes.js +11 -9
  91. package/dist/generated/apiRoutes.js.map +1 -1
  92. package/dist/prompts/promptForOrganization.js +19 -0
  93. package/dist/prompts/promptForOrganization.js.map +1 -0
  94. package/dist/services/context.js +132 -0
  95. package/dist/services/context.js.map +1 -0
  96. package/dist/util/extractDocumentsFromNdjsonOrTarball.js.map +1 -1
  97. package/dist/util/sharedFlags.js +24 -0
  98. package/dist/util/sharedFlags.js.map +1 -1
  99. package/oclif.config.js +1 -0
  100. package/oclif.manifest.json +1931 -1133
  101. package/package.json +20 -26
  102. package/dist/util/dates.js +0 -125
  103. package/dist/util/dates.js.map +0 -1
@@ -912,7 +912,7 @@
912
912
  "type": "boolean"
913
913
  },
914
914
  "unstable--workbench": {
915
- "description": "Opt into workbench: scaffolds the CLI config with unstable_defineApp",
915
+ "description": "Opt into workbench: scaffolds the CLI config with defineApplication",
916
916
  "hidden": true,
917
917
  "name": "unstable--workbench",
918
918
  "allowNo": true,
@@ -1713,55 +1713,156 @@
1713
1713
  "list.js"
1714
1714
  ]
1715
1715
  },
1716
- "cors:add": {
1716
+ "context:build": {
1717
1717
  "aliases": [],
1718
1718
  "args": {
1719
- "origin": {
1720
- "description": "Origin to allow (e.g., https://example.com)",
1721
- "name": "origin",
1719
+ "knowledgeBaseId": {
1720
+ "description": "Knowledge base ID",
1721
+ "name": "knowledgeBaseId",
1722
1722
  "required": true
1723
1723
  }
1724
1724
  },
1725
- "description": "Add a CORS origin to the project",
1725
+ "description": "Build a knowledge base from its imported content",
1726
1726
  "examples": [
1727
1727
  {
1728
- "command": "<%= config.bin %> <%= command.id %>",
1729
- "description": "Interactively add a CORS origin"
1728
+ "command": "<%= config.bin %> <%= command.id %> kb-abc123",
1729
+ "description": "Start a build and return the job ID"
1730
1730
  },
1731
1731
  {
1732
- "command": "<%= config.bin %> <%= command.id %> http://localhost:3000 --no-credentials",
1733
- "description": "Add a localhost origin without credentials"
1732
+ "command": "<%= config.bin %> <%= command.id %> kb-abc123 --watch",
1733
+ "description": "Start a build and wait for it to finish (non-zero exit on failure)"
1734
1734
  },
1735
1735
  {
1736
- "command": "<%= config.bin %> <%= command.id %> https://myapp.com --credentials",
1737
- "description": "Add a production origin with credentials allowed"
1736
+ "command": "<%= config.bin %> <%= command.id %> kb-abc123 --cancel",
1737
+ "description": "Cancel the running build, if any"
1738
+ }
1739
+ ],
1740
+ "flags": {
1741
+ "cancel": {
1742
+ "description": "Cancel the running build instead of starting one",
1743
+ "exclusive": [
1744
+ "watch"
1745
+ ],
1746
+ "name": "cancel",
1747
+ "allowNo": false,
1748
+ "type": "boolean"
1749
+ },
1750
+ "watch": {
1751
+ "description": "Wait for the build to finish, exiting non-zero if it fails",
1752
+ "name": "watch",
1753
+ "allowNo": false,
1754
+ "type": "boolean"
1755
+ }
1756
+ },
1757
+ "hasDynamicHelp": false,
1758
+ "hiddenAliases": [],
1759
+ "id": "context:build",
1760
+ "pluginAlias": "@sanity/cli",
1761
+ "pluginName": "@sanity/cli",
1762
+ "pluginType": "core",
1763
+ "strict": true,
1764
+ "isESM": true,
1765
+ "relativePath": [
1766
+ "dist",
1767
+ "commands",
1768
+ "context",
1769
+ "build.js"
1770
+ ]
1771
+ },
1772
+ "context:create": {
1773
+ "aliases": [],
1774
+ "args": {},
1775
+ "description": "Create a knowledge base",
1776
+ "examples": [
1777
+ {
1778
+ "command": "<%= config.bin %> <%= command.id %>",
1779
+ "description": "Interactively create a knowledge base"
1738
1780
  },
1739
1781
  {
1740
- "command": "<%= config.bin %> <%= command.id %> https://myapp.com --project-id abc123",
1741
- "description": "Add a CORS origin for a specific project"
1782
+ "command": "<%= config.bin %> <%= command.id %> --organization org-abc123 --title \"Support docs\" --description \"Product docs and troubleshooting guides\"",
1783
+ "description": "Create a knowledge base in a specific organization"
1742
1784
  }
1743
1785
  ],
1744
1786
  "flags": {
1745
- "project-id": {
1746
- "char": "p",
1747
- "description": "Project ID to add CORS origin to (overrides CLI configuration)",
1787
+ "organization": {
1788
+ "description": "Organization to create the knowledge base in (overrides CLI configuration)",
1748
1789
  "helpGroup": "OVERRIDE",
1749
- "name": "project-id",
1790
+ "name": "organization",
1750
1791
  "hasDynamicHelp": false,
1751
1792
  "helpValue": "<id>",
1752
1793
  "multiple": false,
1753
1794
  "type": "option"
1754
1795
  },
1755
- "credentials": {
1756
- "description": "Allow credentials (token/cookie) to be sent from this origin",
1757
- "name": "credentials",
1758
- "required": false,
1759
- "allowNo": true,
1760
- "type": "boolean"
1796
+ "description": {
1797
+ "description": "Knowledge base description",
1798
+ "name": "description",
1799
+ "hasDynamicHelp": false,
1800
+ "multiple": false,
1801
+ "type": "option"
1802
+ },
1803
+ "title": {
1804
+ "description": "Knowledge base title",
1805
+ "name": "title",
1806
+ "hasDynamicHelp": false,
1807
+ "multiple": false,
1808
+ "type": "option"
1809
+ }
1810
+ },
1811
+ "hasDynamicHelp": false,
1812
+ "hiddenAliases": [],
1813
+ "id": "context:create",
1814
+ "pluginAlias": "@sanity/cli",
1815
+ "pluginName": "@sanity/cli",
1816
+ "pluginType": "core",
1817
+ "strict": true,
1818
+ "telemetry": {
1819
+ "redactedFlags": [
1820
+ {
1821
+ "canonical": "--title",
1822
+ "flags": [
1823
+ "--title"
1824
+ ]
1825
+ },
1826
+ {
1827
+ "canonical": "--description",
1828
+ "flags": [
1829
+ "--description"
1830
+ ]
1831
+ }
1832
+ ]
1833
+ },
1834
+ "isESM": true,
1835
+ "relativePath": [
1836
+ "dist",
1837
+ "commands",
1838
+ "context",
1839
+ "create.js"
1840
+ ]
1841
+ },
1842
+ "context:delete": {
1843
+ "aliases": [],
1844
+ "args": {
1845
+ "knowledgeBaseId": {
1846
+ "description": "Knowledge base ID",
1847
+ "name": "knowledgeBaseId",
1848
+ "required": true
1849
+ }
1850
+ },
1851
+ "description": "Delete a knowledge base and its generated content",
1852
+ "examples": [
1853
+ {
1854
+ "command": "<%= config.bin %> <%= command.id %> kb-abc123",
1855
+ "description": "Delete a knowledge base after confirmation"
1761
1856
  },
1857
+ {
1858
+ "command": "<%= config.bin %> <%= command.id %> kb-abc123 --yes",
1859
+ "description": "Delete a knowledge base without confirmation prompt"
1860
+ }
1861
+ ],
1862
+ "flags": {
1762
1863
  "yes": {
1763
1864
  "char": "y",
1764
- "description": "Confirm risky wildcard origins without prompting",
1865
+ "description": "Skip confirmation prompt (unattended mode)",
1765
1866
  "name": "yes",
1766
1867
  "allowNo": false,
1767
1868
  "type": "boolean"
@@ -1769,7 +1870,7 @@
1769
1870
  },
1770
1871
  "hasDynamicHelp": false,
1771
1872
  "hiddenAliases": [],
1772
- "id": "cors:add",
1873
+ "id": "context:delete",
1773
1874
  "pluginAlias": "@sanity/cli",
1774
1875
  "pluginName": "@sanity/cli",
1775
1876
  "pluginType": "core",
@@ -1778,49 +1879,41 @@
1778
1879
  "relativePath": [
1779
1880
  "dist",
1780
1881
  "commands",
1781
- "cors",
1782
- "add.js"
1882
+ "context",
1883
+ "delete.js"
1783
1884
  ]
1784
1885
  },
1785
- "cors:delete": {
1886
+ "context:get": {
1786
1887
  "aliases": [],
1787
1888
  "args": {
1788
- "origin": {
1789
- "description": "Origin to delete (will prompt if not provided)",
1790
- "name": "origin",
1791
- "required": false
1889
+ "knowledgeBaseId": {
1890
+ "description": "Knowledge base ID",
1891
+ "name": "knowledgeBaseId",
1892
+ "required": true
1792
1893
  }
1793
1894
  },
1794
- "description": "Delete a CORS origin from the project",
1895
+ "description": "Get details of a knowledge base",
1795
1896
  "examples": [
1796
1897
  {
1797
- "command": "<%= config.bin %> <%= command.id %>",
1798
- "description": "Interactively select and delete a CORS origin"
1799
- },
1800
- {
1801
- "command": "<%= config.bin %> <%= command.id %> https://example.com",
1802
- "description": "Delete a specific CORS origin"
1898
+ "command": "<%= config.bin %> <%= command.id %> kb-abc123",
1899
+ "description": "Get details of a specific knowledge base"
1803
1900
  },
1804
1901
  {
1805
- "command": "<%= config.bin %> <%= command.id %> --project-id abc123",
1806
- "description": "Delete a CORS origin from a specific project"
1902
+ "command": "<%= config.bin %> <%= command.id %> kb-abc123 --json",
1903
+ "description": "Output the knowledge base as JSON"
1807
1904
  }
1808
1905
  ],
1809
1906
  "flags": {
1810
- "project-id": {
1811
- "char": "p",
1812
- "description": "Project ID to delete CORS origin from (overrides CLI configuration)",
1813
- "helpGroup": "OVERRIDE",
1814
- "name": "project-id",
1815
- "hasDynamicHelp": false,
1816
- "helpValue": "<id>",
1817
- "multiple": false,
1818
- "type": "option"
1907
+ "json": {
1908
+ "description": "Output the knowledge base in JSON format",
1909
+ "name": "json",
1910
+ "allowNo": false,
1911
+ "type": "boolean"
1819
1912
  }
1820
1913
  },
1821
1914
  "hasDynamicHelp": false,
1822
1915
  "hiddenAliases": [],
1823
- "id": "cors:delete",
1916
+ "id": "context:get",
1824
1917
  "pluginAlias": "@sanity/cli",
1825
1918
  "pluginName": "@sanity/cli",
1826
1919
  "pluginType": "core",
@@ -1829,39 +1922,48 @@
1829
1922
  "relativePath": [
1830
1923
  "dist",
1831
1924
  "commands",
1832
- "cors",
1833
- "delete.js"
1925
+ "context",
1926
+ "get.js"
1834
1927
  ]
1835
1928
  },
1836
- "cors:list": {
1929
+ "context:list": {
1837
1930
  "aliases": [],
1838
1931
  "args": {},
1839
- "description": "List CORS origins for the project",
1932
+ "description": "List knowledge bases in an organization",
1840
1933
  "examples": [
1841
1934
  {
1842
1935
  "command": "<%= config.bin %> <%= command.id %>",
1843
- "description": "List CORS origins for the project"
1936
+ "description": "List knowledge bases, selecting the organization interactively"
1844
1937
  },
1845
1938
  {
1846
- "command": "<%= config.bin %> <%= command.id %> --project-id abc123",
1847
- "description": "List CORS origins for a specific project"
1939
+ "command": "<%= config.bin %> <%= command.id %> --organization org-abc123",
1940
+ "description": "List knowledge bases in a specific organization"
1941
+ },
1942
+ {
1943
+ "command": "<%= config.bin %> <%= command.id %> --organization org-abc123 --json",
1944
+ "description": "Output knowledge bases as JSON"
1848
1945
  }
1849
1946
  ],
1850
1947
  "flags": {
1851
- "project-id": {
1852
- "char": "p",
1853
- "description": "Project ID to list CORS origins for (overrides CLI configuration)",
1948
+ "organization": {
1949
+ "description": "Organization to list knowledge bases for (overrides CLI configuration)",
1854
1950
  "helpGroup": "OVERRIDE",
1855
- "name": "project-id",
1951
+ "name": "organization",
1856
1952
  "hasDynamicHelp": false,
1857
1953
  "helpValue": "<id>",
1858
1954
  "multiple": false,
1859
1955
  "type": "option"
1956
+ },
1957
+ "json": {
1958
+ "description": "Output knowledge bases in JSON format",
1959
+ "name": "json",
1960
+ "allowNo": false,
1961
+ "type": "boolean"
1860
1962
  }
1861
1963
  },
1862
1964
  "hasDynamicHelp": false,
1863
1965
  "hiddenAliases": [],
1864
- "id": "cors:list",
1966
+ "id": "context:list",
1865
1967
  "pluginAlias": "@sanity/cli",
1866
1968
  "pluginName": "@sanity/cli",
1867
1969
  "pluginType": "core",
@@ -1870,160 +1972,191 @@
1870
1972
  "relativePath": [
1871
1973
  "dist",
1872
1974
  "commands",
1873
- "cors",
1975
+ "context",
1874
1976
  "list.js"
1875
1977
  ]
1876
1978
  },
1877
- "datasets:copy": {
1979
+ "context:refresh": {
1878
1980
  "aliases": [],
1879
1981
  "args": {
1880
- "source": {
1881
- "description": "Name of the dataset to copy from",
1882
- "name": "source",
1883
- "required": false
1884
- },
1885
- "target": {
1886
- "description": "Name of the dataset to copy to",
1887
- "name": "target",
1888
- "required": false
1982
+ "knowledgeBaseId": {
1983
+ "description": "Knowledge base ID",
1984
+ "name": "knowledgeBaseId",
1985
+ "required": true
1889
1986
  }
1890
1987
  },
1891
- "description": "Copy a dataset or manage copy jobs",
1988
+ "description": "Refresh a knowledge base: re-check sources and apply what changed",
1892
1989
  "examples": [
1893
1990
  {
1894
- "command": "<%= config.bin %> <%= command.id %>",
1895
- "description": "Interactively copy a dataset"
1896
- },
1897
- {
1898
- "command": "<%= config.bin %> <%= command.id %> source-dataset",
1899
- "description": "Copy from source-dataset (prompts for target)"
1900
- },
1901
- {
1902
- "command": "<%= config.bin %> <%= command.id %> source-dataset target-dataset",
1903
- "description": "Copy from source-dataset to target-dataset"
1904
- },
1905
- {
1906
- "command": "<%= config.bin %> <%= command.id %> --skip-history source target",
1907
- "description": "Copy without preserving document history (faster for large datasets)"
1908
- },
1909
- {
1910
- "command": "<%= config.bin %> <%= command.id %> --skip-content-releases source target",
1911
- "description": "Copy without content release documents"
1912
- },
1913
- {
1914
- "command": "<%= config.bin %> <%= command.id %> --detach source target",
1915
- "description": "Start copy job without waiting for completion"
1916
- },
1991
+ "command": "<%= config.bin %> <%= command.id %> kb-abc123",
1992
+ "description": "Start an incremental refresh"
1993
+ }
1994
+ ],
1995
+ "flags": {},
1996
+ "hasDynamicHelp": false,
1997
+ "hiddenAliases": [],
1998
+ "id": "context:refresh",
1999
+ "pluginAlias": "@sanity/cli",
2000
+ "pluginName": "@sanity/cli",
2001
+ "pluginType": "core",
2002
+ "strict": true,
2003
+ "isESM": true,
2004
+ "relativePath": [
2005
+ "dist",
2006
+ "commands",
2007
+ "context",
2008
+ "refresh.js"
2009
+ ]
2010
+ },
2011
+ "context:update": {
2012
+ "aliases": [],
2013
+ "args": {
2014
+ "knowledgeBaseId": {
2015
+ "description": "Knowledge base ID",
2016
+ "name": "knowledgeBaseId",
2017
+ "required": true
2018
+ }
2019
+ },
2020
+ "description": "Update a knowledge base",
2021
+ "examples": [
1917
2022
  {
1918
- "command": "<%= config.bin %> <%= command.id %> --attach <job-id>",
1919
- "description": "Attach to a running copy job to follow progress"
2023
+ "command": "<%= config.bin %> <%= command.id %> kb-abc123 --title \"New title\"",
2024
+ "description": "Rename a knowledge base"
1920
2025
  },
1921
2026
  {
1922
- "command": "<%= config.bin %> <%= command.id %> --list",
1923
- "description": "List all dataset copy jobs"
2027
+ "command": "<%= config.bin %> <%= command.id %> kb-abc123 --refresh-enabled --refresh-frequency weekly",
2028
+ "description": "Enable weekly scheduled refresh"
1924
2029
  },
1925
2030
  {
1926
- "command": "<%= config.bin %> <%= command.id %> --list --offset 2 --limit 10",
1927
- "description": "List copy jobs with pagination"
2031
+ "command": "<%= config.bin %> <%= command.id %> kb-abc123 --no-refresh-enabled",
2032
+ "description": "Disable scheduled refresh"
1928
2033
  }
1929
2034
  ],
1930
2035
  "flags": {
1931
- "project-id": {
1932
- "char": "p",
1933
- "description": "Project ID to copy dataset in (overrides CLI configuration)",
1934
- "helpGroup": "OVERRIDE",
1935
- "name": "project-id",
2036
+ "description": {
2037
+ "description": "New knowledge base description",
2038
+ "name": "description",
2039
+ "required": false,
1936
2040
  "hasDynamicHelp": false,
1937
- "helpValue": "<id>",
1938
2041
  "multiple": false,
1939
2042
  "type": "option"
1940
2043
  },
1941
- "attach": {
1942
- "description": "Attach to the running copy process to show progress",
1943
- "exclusive": [
1944
- "list",
1945
- "detach",
1946
- "skip-history"
1947
- ],
1948
- "name": "attach",
2044
+ "refresh-enabled": {
2045
+ "description": "Enable scheduled refresh (--no-refresh-enabled to disable)",
2046
+ "name": "refresh-enabled",
2047
+ "required": false,
2048
+ "allowNo": true,
2049
+ "type": "boolean"
2050
+ },
2051
+ "refresh-frequency": {
2052
+ "description": "How often scheduled refresh runs",
2053
+ "name": "refresh-frequency",
1949
2054
  "required": false,
1950
2055
  "hasDynamicHelp": false,
1951
2056
  "multiple": false,
2057
+ "options": [
2058
+ "weekly",
2059
+ "monthly"
2060
+ ],
1952
2061
  "type": "option"
1953
2062
  },
1954
- "detach": {
1955
- "description": "Start the copy without waiting for it to finish",
1956
- "exclusive": [
1957
- "list",
1958
- "attach"
1959
- ],
1960
- "name": "detach",
1961
- "required": false,
1962
- "allowNo": false,
1963
- "type": "boolean"
1964
- },
1965
- "limit": {
1966
- "dependsOn": [
1967
- "list"
1968
- ],
1969
- "description": "Maximum number of jobs returned (default 10, max 1000)",
1970
- "name": "limit",
2063
+ "title": {
2064
+ "description": "New knowledge base title",
2065
+ "name": "title",
1971
2066
  "required": false,
1972
2067
  "hasDynamicHelp": false,
1973
2068
  "multiple": false,
1974
2069
  "type": "option"
2070
+ }
2071
+ },
2072
+ "hasDynamicHelp": false,
2073
+ "hiddenAliases": [],
2074
+ "id": "context:update",
2075
+ "pluginAlias": "@sanity/cli",
2076
+ "pluginName": "@sanity/cli",
2077
+ "pluginType": "core",
2078
+ "strict": true,
2079
+ "telemetry": {
2080
+ "redactedFlags": [
2081
+ {
2082
+ "canonical": "--title",
2083
+ "flags": [
2084
+ "--title"
2085
+ ]
2086
+ },
2087
+ {
2088
+ "canonical": "--description",
2089
+ "flags": [
2090
+ "--description"
2091
+ ]
2092
+ }
2093
+ ]
2094
+ },
2095
+ "isESM": true,
2096
+ "relativePath": [
2097
+ "dist",
2098
+ "commands",
2099
+ "context",
2100
+ "update.js"
2101
+ ]
2102
+ },
2103
+ "cors:add": {
2104
+ "aliases": [],
2105
+ "args": {
2106
+ "origin": {
2107
+ "description": "Origin to allow (e.g., https://example.com)",
2108
+ "name": "origin",
2109
+ "required": true
2110
+ }
2111
+ },
2112
+ "description": "Add a CORS origin to the project",
2113
+ "examples": [
2114
+ {
2115
+ "command": "<%= config.bin %> <%= command.id %>",
2116
+ "description": "Interactively add a CORS origin"
1975
2117
  },
1976
- "list": {
1977
- "description": "Lists all dataset copy jobs",
1978
- "exclusive": [
1979
- "attach",
1980
- "detach",
1981
- "skip-history"
1982
- ],
1983
- "name": "list",
1984
- "required": false,
1985
- "allowNo": false,
1986
- "type": "boolean"
2118
+ {
2119
+ "command": "<%= config.bin %> <%= command.id %> http://localhost:3000 --no-credentials",
2120
+ "description": "Add a localhost origin without credentials"
1987
2121
  },
1988
- "offset": {
1989
- "dependsOn": [
1990
- "list"
1991
- ],
1992
- "description": "Start position in the list of jobs (default 0)",
1993
- "name": "offset",
1994
- "required": false,
2122
+ {
2123
+ "command": "<%= config.bin %> <%= command.id %> https://myapp.com --credentials",
2124
+ "description": "Add a production origin with credentials allowed"
2125
+ },
2126
+ {
2127
+ "command": "<%= config.bin %> <%= command.id %> https://myapp.com --project-id abc123",
2128
+ "description": "Add a CORS origin for a specific project"
2129
+ }
2130
+ ],
2131
+ "flags": {
2132
+ "project-id": {
2133
+ "char": "p",
2134
+ "description": "Project ID to add CORS origin to (overrides CLI configuration)",
2135
+ "helpGroup": "OVERRIDE",
2136
+ "name": "project-id",
1995
2137
  "hasDynamicHelp": false,
2138
+ "helpValue": "<id>",
1996
2139
  "multiple": false,
1997
2140
  "type": "option"
1998
2141
  },
1999
- "skip-content-releases": {
2000
- "description": "Don't copy content release documents to the target dataset",
2001
- "exclusive": [
2002
- "list",
2003
- "attach"
2004
- ],
2005
- "name": "skip-content-releases",
2142
+ "credentials": {
2143
+ "description": "Allow credentials (token/cookie) to be sent from this origin",
2144
+ "name": "credentials",
2006
2145
  "required": false,
2007
- "allowNo": false,
2146
+ "allowNo": true,
2008
2147
  "type": "boolean"
2009
2148
  },
2010
- "skip-history": {
2011
- "description": "Don't preserve document history on copy",
2012
- "exclusive": [
2013
- "list",
2014
- "attach"
2015
- ],
2016
- "name": "skip-history",
2017
- "required": false,
2149
+ "yes": {
2150
+ "char": "y",
2151
+ "description": "Confirm risky wildcard origins without prompting",
2152
+ "name": "yes",
2018
2153
  "allowNo": false,
2019
2154
  "type": "boolean"
2020
2155
  }
2021
2156
  },
2022
2157
  "hasDynamicHelp": false,
2023
- "hiddenAliases": [
2024
- "dataset:copy"
2025
- ],
2026
- "id": "datasets:copy",
2158
+ "hiddenAliases": [],
2159
+ "id": "cors:add",
2027
2160
  "pluginAlias": "@sanity/cli",
2028
2161
  "pluginName": "@sanity/cli",
2029
2162
  "pluginType": "core",
@@ -2032,80 +2165,49 @@
2032
2165
  "relativePath": [
2033
2166
  "dist",
2034
2167
  "commands",
2035
- "datasets",
2036
- "copy.js"
2168
+ "cors",
2169
+ "add.js"
2037
2170
  ]
2038
2171
  },
2039
- "datasets:create": {
2172
+ "cors:delete": {
2040
2173
  "aliases": [],
2041
2174
  "args": {
2042
- "name": {
2043
- "description": "Name of the dataset to create",
2044
- "name": "name",
2175
+ "origin": {
2176
+ "description": "Origin to delete (will prompt if not provided)",
2177
+ "name": "origin",
2045
2178
  "required": false
2046
2179
  }
2047
2180
  },
2048
- "description": "Create a new dataset for the project",
2181
+ "description": "Delete a CORS origin from the project",
2049
2182
  "examples": [
2050
2183
  {
2051
2184
  "command": "<%= config.bin %> <%= command.id %>",
2052
- "description": "Interactively create a dataset"
2185
+ "description": "Interactively select and delete a CORS origin"
2053
2186
  },
2054
2187
  {
2055
- "command": "<%= config.bin %> <%= command.id %> my-dataset",
2056
- "description": "Create a dataset named \"my-dataset\""
2188
+ "command": "<%= config.bin %> <%= command.id %> https://example.com",
2189
+ "description": "Delete a specific CORS origin"
2057
2190
  },
2058
2191
  {
2059
- "command": "<%= config.bin %> <%= command.id %> my-dataset --visibility private",
2060
- "description": "Create a private dataset named \"my-dataset\""
2192
+ "command": "<%= config.bin %> <%= command.id %> --project-id abc123",
2193
+ "description": "Delete a CORS origin from a specific project"
2061
2194
  }
2062
2195
  ],
2063
2196
  "flags": {
2064
2197
  "project-id": {
2065
2198
  "char": "p",
2066
- "description": "Project ID to create dataset in (overrides CLI configuration)",
2199
+ "description": "Project ID to delete CORS origin from (overrides CLI configuration)",
2067
2200
  "helpGroup": "OVERRIDE",
2068
2201
  "name": "project-id",
2069
2202
  "hasDynamicHelp": false,
2070
2203
  "helpValue": "<id>",
2071
2204
  "multiple": false,
2072
2205
  "type": "option"
2073
- },
2074
- "embeddings": {
2075
- "description": "Enable embeddings for this dataset",
2076
- "name": "embeddings",
2077
- "allowNo": false,
2078
- "type": "boolean"
2079
- },
2080
- "embeddings-projection": {
2081
- "dependsOn": [
2082
- "embeddings"
2083
- ],
2084
- "description": "GROQ projection for embeddings indexing (e.g. \"{ title, body }\")",
2085
- "name": "embeddings-projection",
2086
- "hasDynamicHelp": false,
2087
- "multiple": false,
2088
- "type": "option"
2089
- },
2090
- "visibility": {
2091
- "description": "Set visibility for this dataset (custom/private/public)",
2092
- "name": "visibility",
2093
- "required": false,
2094
- "hasDynamicHelp": false,
2095
- "multiple": false,
2096
- "options": [
2097
- "custom",
2098
- "private",
2099
- "public"
2100
- ],
2101
- "type": "option"
2102
2206
  }
2103
2207
  },
2104
2208
  "hasDynamicHelp": false,
2105
- "hiddenAliases": [
2106
- "dataset:create"
2107
- ],
2108
- "id": "datasets:create",
2209
+ "hiddenAliases": [],
2210
+ "id": "cors:delete",
2109
2211
  "pluginAlias": "@sanity/cli",
2110
2212
  "pluginName": "@sanity/cli",
2111
2213
  "pluginType": "core",
@@ -2114,54 +2216,39 @@
2114
2216
  "relativePath": [
2115
2217
  "dist",
2116
2218
  "commands",
2117
- "datasets",
2118
- "create.js"
2219
+ "cors",
2220
+ "delete.js"
2119
2221
  ]
2120
2222
  },
2121
- "datasets:delete": {
2223
+ "cors:list": {
2122
2224
  "aliases": [],
2123
- "args": {
2124
- "datasetName": {
2125
- "description": "Dataset name to delete",
2126
- "name": "datasetName",
2127
- "required": true
2128
- }
2129
- },
2130
- "description": "Delete a dataset from the project",
2225
+ "args": {},
2226
+ "description": "List CORS origins for the project",
2131
2227
  "examples": [
2132
2228
  {
2133
- "command": "<%= config.bin %> <%= command.id %> my-dataset",
2134
- "description": "Delete a specific dataset"
2229
+ "command": "<%= config.bin %> <%= command.id %>",
2230
+ "description": "List CORS origins for the project"
2135
2231
  },
2136
2232
  {
2137
- "command": "<%= config.bin %> <%= command.id %> my-dataset --force",
2138
- "description": "Delete a specific dataset without confirmation"
2233
+ "command": "<%= config.bin %> <%= command.id %> --project-id abc123",
2234
+ "description": "List CORS origins for a specific project"
2139
2235
  }
2140
2236
  ],
2141
2237
  "flags": {
2142
2238
  "project-id": {
2143
2239
  "char": "p",
2144
- "description": "Project ID to delete dataset from (overrides CLI configuration)",
2240
+ "description": "Project ID to list CORS origins for (overrides CLI configuration)",
2145
2241
  "helpGroup": "OVERRIDE",
2146
2242
  "name": "project-id",
2147
2243
  "hasDynamicHelp": false,
2148
2244
  "helpValue": "<id>",
2149
2245
  "multiple": false,
2150
2246
  "type": "option"
2151
- },
2152
- "force": {
2153
- "description": "Do not prompt for delete confirmation - forcefully delete",
2154
- "name": "force",
2155
- "required": false,
2156
- "allowNo": false,
2157
- "type": "boolean"
2158
2247
  }
2159
2248
  },
2160
2249
  "hasDynamicHelp": false,
2161
- "hiddenAliases": [
2162
- "dataset:delete"
2163
- ],
2164
- "id": "datasets:delete",
2250
+ "hiddenAliases": [],
2251
+ "id": "cors:list",
2165
2252
  "pluginAlias": "@sanity/cli",
2166
2253
  "pluginName": "@sanity/cli",
2167
2254
  "pluginType": "core",
@@ -2170,43 +2257,342 @@
2170
2257
  "relativePath": [
2171
2258
  "dist",
2172
2259
  "commands",
2173
- "datasets",
2174
- "delete.js"
2260
+ "cors",
2261
+ "list.js"
2175
2262
  ]
2176
2263
  },
2177
- "datasets:export": {
2264
+ "datasets:copy": {
2178
2265
  "aliases": [],
2179
2266
  "args": {
2180
- "name": {
2181
- "description": "Name of the dataset to export",
2182
- "name": "name"
2267
+ "source": {
2268
+ "description": "Name of the dataset to copy from",
2269
+ "name": "source",
2270
+ "required": false
2183
2271
  },
2184
- "destination": {
2185
- "description": "Output destination file path",
2186
- "name": "destination"
2272
+ "target": {
2273
+ "description": "Name of the dataset to copy to",
2274
+ "name": "target",
2275
+ "required": false
2187
2276
  }
2188
2277
  },
2189
- "description": "Export a dataset to a local gzipped tarball. Assets returning 401, 403, or 404 are excluded from the export.",
2278
+ "description": "Copy a dataset or manage copy jobs",
2190
2279
  "examples": [
2191
2280
  {
2192
- "command": "<%= config.bin %> <%= command.id %> moviedb localPath.tar.gz",
2193
- "description": "Export dataset \"moviedb\" to localPath.tar.gz"
2281
+ "command": "<%= config.bin %> <%= command.id %>",
2282
+ "description": "Interactively copy a dataset"
2194
2283
  },
2195
2284
  {
2196
- "command": "<%= config.bin %> <%= command.id %> moviedb assetless.tar.gz --no-assets",
2197
- "description": "Export dataset without assets"
2285
+ "command": "<%= config.bin %> <%= command.id %> source-dataset",
2286
+ "description": "Copy from source-dataset (prompts for target)"
2198
2287
  },
2199
2288
  {
2200
- "command": "<%= config.bin %> <%= command.id %> staging staging.tar.gz --raw",
2201
- "description": "Export raw documents without asset reference rewriting"
2289
+ "command": "<%= config.bin %> <%= command.id %> source-dataset target-dataset",
2290
+ "description": "Copy from source-dataset to target-dataset"
2202
2291
  },
2203
2292
  {
2204
- "command": "<%= config.bin %> <%= command.id %> staging staging.tar.gz --types products,shops",
2205
- "description": "Export specific document types"
2293
+ "command": "<%= config.bin %> <%= command.id %> --skip-history source target",
2294
+ "description": "Copy without preserving document history (faster for large datasets)"
2206
2295
  },
2207
2296
  {
2208
- "command": "<%= config.bin %> <%= command.id %> moviedb moviedb.tar.gz --no-strict-asset-verification",
2209
- "description": "Export dataset without aborting on asset verification failures"
2297
+ "command": "<%= config.bin %> <%= command.id %> --skip-content-releases source target",
2298
+ "description": "Copy without content release documents"
2299
+ },
2300
+ {
2301
+ "command": "<%= config.bin %> <%= command.id %> --detach source target",
2302
+ "description": "Start copy job without waiting for completion"
2303
+ },
2304
+ {
2305
+ "command": "<%= config.bin %> <%= command.id %> --attach <job-id>",
2306
+ "description": "Attach to a running copy job to follow progress"
2307
+ },
2308
+ {
2309
+ "command": "<%= config.bin %> <%= command.id %> --list",
2310
+ "description": "List all dataset copy jobs"
2311
+ },
2312
+ {
2313
+ "command": "<%= config.bin %> <%= command.id %> --list --offset 2 --limit 10",
2314
+ "description": "List copy jobs with pagination"
2315
+ }
2316
+ ],
2317
+ "flags": {
2318
+ "project-id": {
2319
+ "char": "p",
2320
+ "description": "Project ID to copy dataset in (overrides CLI configuration)",
2321
+ "helpGroup": "OVERRIDE",
2322
+ "name": "project-id",
2323
+ "hasDynamicHelp": false,
2324
+ "helpValue": "<id>",
2325
+ "multiple": false,
2326
+ "type": "option"
2327
+ },
2328
+ "attach": {
2329
+ "description": "Attach to the running copy process to show progress",
2330
+ "exclusive": [
2331
+ "list",
2332
+ "detach",
2333
+ "skip-history"
2334
+ ],
2335
+ "name": "attach",
2336
+ "required": false,
2337
+ "hasDynamicHelp": false,
2338
+ "multiple": false,
2339
+ "type": "option"
2340
+ },
2341
+ "detach": {
2342
+ "description": "Start the copy without waiting for it to finish",
2343
+ "exclusive": [
2344
+ "list",
2345
+ "attach"
2346
+ ],
2347
+ "name": "detach",
2348
+ "required": false,
2349
+ "allowNo": false,
2350
+ "type": "boolean"
2351
+ },
2352
+ "limit": {
2353
+ "dependsOn": [
2354
+ "list"
2355
+ ],
2356
+ "description": "Maximum number of jobs returned (default 10, max 1000)",
2357
+ "name": "limit",
2358
+ "required": false,
2359
+ "hasDynamicHelp": false,
2360
+ "multiple": false,
2361
+ "type": "option"
2362
+ },
2363
+ "list": {
2364
+ "description": "Lists all dataset copy jobs",
2365
+ "exclusive": [
2366
+ "attach",
2367
+ "detach",
2368
+ "skip-history"
2369
+ ],
2370
+ "name": "list",
2371
+ "required": false,
2372
+ "allowNo": false,
2373
+ "type": "boolean"
2374
+ },
2375
+ "offset": {
2376
+ "dependsOn": [
2377
+ "list"
2378
+ ],
2379
+ "description": "Start position in the list of jobs (default 0)",
2380
+ "name": "offset",
2381
+ "required": false,
2382
+ "hasDynamicHelp": false,
2383
+ "multiple": false,
2384
+ "type": "option"
2385
+ },
2386
+ "skip-content-releases": {
2387
+ "description": "Don't copy content release documents to the target dataset",
2388
+ "exclusive": [
2389
+ "list",
2390
+ "attach"
2391
+ ],
2392
+ "name": "skip-content-releases",
2393
+ "required": false,
2394
+ "allowNo": false,
2395
+ "type": "boolean"
2396
+ },
2397
+ "skip-history": {
2398
+ "description": "Don't preserve document history on copy",
2399
+ "exclusive": [
2400
+ "list",
2401
+ "attach"
2402
+ ],
2403
+ "name": "skip-history",
2404
+ "required": false,
2405
+ "allowNo": false,
2406
+ "type": "boolean"
2407
+ }
2408
+ },
2409
+ "hasDynamicHelp": false,
2410
+ "hiddenAliases": [
2411
+ "dataset:copy"
2412
+ ],
2413
+ "id": "datasets:copy",
2414
+ "pluginAlias": "@sanity/cli",
2415
+ "pluginName": "@sanity/cli",
2416
+ "pluginType": "core",
2417
+ "strict": true,
2418
+ "isESM": true,
2419
+ "relativePath": [
2420
+ "dist",
2421
+ "commands",
2422
+ "datasets",
2423
+ "copy.js"
2424
+ ]
2425
+ },
2426
+ "datasets:create": {
2427
+ "aliases": [],
2428
+ "args": {
2429
+ "name": {
2430
+ "description": "Name of the dataset to create",
2431
+ "name": "name",
2432
+ "required": false
2433
+ }
2434
+ },
2435
+ "description": "Create a new dataset for the project",
2436
+ "examples": [
2437
+ {
2438
+ "command": "<%= config.bin %> <%= command.id %>",
2439
+ "description": "Interactively create a dataset"
2440
+ },
2441
+ {
2442
+ "command": "<%= config.bin %> <%= command.id %> my-dataset",
2443
+ "description": "Create a dataset named \"my-dataset\""
2444
+ },
2445
+ {
2446
+ "command": "<%= config.bin %> <%= command.id %> my-dataset --visibility private",
2447
+ "description": "Create a private dataset named \"my-dataset\""
2448
+ }
2449
+ ],
2450
+ "flags": {
2451
+ "project-id": {
2452
+ "char": "p",
2453
+ "description": "Project ID to create dataset in (overrides CLI configuration)",
2454
+ "helpGroup": "OVERRIDE",
2455
+ "name": "project-id",
2456
+ "hasDynamicHelp": false,
2457
+ "helpValue": "<id>",
2458
+ "multiple": false,
2459
+ "type": "option"
2460
+ },
2461
+ "embeddings": {
2462
+ "description": "Enable embeddings for this dataset",
2463
+ "name": "embeddings",
2464
+ "allowNo": false,
2465
+ "type": "boolean"
2466
+ },
2467
+ "embeddings-projection": {
2468
+ "dependsOn": [
2469
+ "embeddings"
2470
+ ],
2471
+ "description": "GROQ projection for embeddings indexing (e.g. \"{ title, body }\")",
2472
+ "name": "embeddings-projection",
2473
+ "hasDynamicHelp": false,
2474
+ "multiple": false,
2475
+ "type": "option"
2476
+ },
2477
+ "visibility": {
2478
+ "description": "Set visibility for this dataset (custom/private/public)",
2479
+ "name": "visibility",
2480
+ "required": false,
2481
+ "hasDynamicHelp": false,
2482
+ "multiple": false,
2483
+ "options": [
2484
+ "custom",
2485
+ "private",
2486
+ "public"
2487
+ ],
2488
+ "type": "option"
2489
+ }
2490
+ },
2491
+ "hasDynamicHelp": false,
2492
+ "hiddenAliases": [
2493
+ "dataset:create"
2494
+ ],
2495
+ "id": "datasets:create",
2496
+ "pluginAlias": "@sanity/cli",
2497
+ "pluginName": "@sanity/cli",
2498
+ "pluginType": "core",
2499
+ "strict": true,
2500
+ "isESM": true,
2501
+ "relativePath": [
2502
+ "dist",
2503
+ "commands",
2504
+ "datasets",
2505
+ "create.js"
2506
+ ]
2507
+ },
2508
+ "datasets:delete": {
2509
+ "aliases": [],
2510
+ "args": {
2511
+ "datasetName": {
2512
+ "description": "Dataset name to delete",
2513
+ "name": "datasetName",
2514
+ "required": true
2515
+ }
2516
+ },
2517
+ "description": "Delete a dataset from the project",
2518
+ "examples": [
2519
+ {
2520
+ "command": "<%= config.bin %> <%= command.id %> my-dataset",
2521
+ "description": "Delete a specific dataset"
2522
+ },
2523
+ {
2524
+ "command": "<%= config.bin %> <%= command.id %> my-dataset --force",
2525
+ "description": "Delete a specific dataset without confirmation"
2526
+ }
2527
+ ],
2528
+ "flags": {
2529
+ "project-id": {
2530
+ "char": "p",
2531
+ "description": "Project ID to delete dataset from (overrides CLI configuration)",
2532
+ "helpGroup": "OVERRIDE",
2533
+ "name": "project-id",
2534
+ "hasDynamicHelp": false,
2535
+ "helpValue": "<id>",
2536
+ "multiple": false,
2537
+ "type": "option"
2538
+ },
2539
+ "force": {
2540
+ "description": "Do not prompt for delete confirmation - forcefully delete",
2541
+ "name": "force",
2542
+ "allowNo": false,
2543
+ "type": "boolean"
2544
+ }
2545
+ },
2546
+ "hasDynamicHelp": false,
2547
+ "hiddenAliases": [
2548
+ "dataset:delete"
2549
+ ],
2550
+ "id": "datasets:delete",
2551
+ "pluginAlias": "@sanity/cli",
2552
+ "pluginName": "@sanity/cli",
2553
+ "pluginType": "core",
2554
+ "strict": true,
2555
+ "isESM": true,
2556
+ "relativePath": [
2557
+ "dist",
2558
+ "commands",
2559
+ "datasets",
2560
+ "delete.js"
2561
+ ]
2562
+ },
2563
+ "datasets:export": {
2564
+ "aliases": [],
2565
+ "args": {
2566
+ "name": {
2567
+ "description": "Name of the dataset to export",
2568
+ "name": "name"
2569
+ },
2570
+ "destination": {
2571
+ "description": "Output destination file path",
2572
+ "name": "destination"
2573
+ }
2574
+ },
2575
+ "description": "Export a dataset to a local gzipped tarball. Assets returning 401, 403, or 404 are excluded from the export.",
2576
+ "examples": [
2577
+ {
2578
+ "command": "<%= config.bin %> <%= command.id %> moviedb localPath.tar.gz",
2579
+ "description": "Export dataset \"moviedb\" to localPath.tar.gz"
2580
+ },
2581
+ {
2582
+ "command": "<%= config.bin %> <%= command.id %> moviedb assetless.tar.gz --no-assets",
2583
+ "description": "Export dataset without assets"
2584
+ },
2585
+ {
2586
+ "command": "<%= config.bin %> <%= command.id %> staging staging.tar.gz --raw",
2587
+ "description": "Export raw documents without asset reference rewriting"
2588
+ },
2589
+ {
2590
+ "command": "<%= config.bin %> <%= command.id %> staging staging.tar.gz --types products,shops",
2591
+ "description": "Export specific document types"
2592
+ },
2593
+ {
2594
+ "command": "<%= config.bin %> <%= command.id %> moviedb moviedb.tar.gz --no-strict-asset-verification",
2595
+ "description": "Export dataset without aborting on asset verification failures"
2210
2596
  }
2211
2597
  ],
2212
2598
  "flags": {
@@ -3305,7 +3691,6 @@
3305
3691
  "force": {
3306
3692
  "description": "Skip confirmation prompt",
3307
3693
  "name": "force",
3308
- "required": false,
3309
3694
  "allowNo": false,
3310
3695
  "type": "boolean"
3311
3696
  },
@@ -3346,6 +3731,45 @@
3346
3731
  "undeploy.js"
3347
3732
  ]
3348
3733
  },
3734
+ "manifest:extract": {
3735
+ "aliases": [],
3736
+ "args": {},
3737
+ "description": "Extract studio configuration as JSON manifest files.\n\nNote: This command is experimental and subject to change. It is currently intended for use with Create only.",
3738
+ "examples": [
3739
+ {
3740
+ "command": "<%= config.bin %> <%= command.id %>",
3741
+ "description": "Extracts manifests"
3742
+ },
3743
+ {
3744
+ "command": "<%= config.bin %> <%= command.id %> --path /public/static",
3745
+ "description": "Extracts manifests into /public/static"
3746
+ }
3747
+ ],
3748
+ "flags": {
3749
+ "path": {
3750
+ "description": "Optional path to specify destination directory of the manifest files",
3751
+ "name": "path",
3752
+ "default": "dist/static",
3753
+ "hasDynamicHelp": false,
3754
+ "multiple": false,
3755
+ "type": "option"
3756
+ }
3757
+ },
3758
+ "hasDynamicHelp": false,
3759
+ "hiddenAliases": [],
3760
+ "id": "manifest:extract",
3761
+ "pluginAlias": "@sanity/cli",
3762
+ "pluginName": "@sanity/cli",
3763
+ "pluginType": "core",
3764
+ "strict": true,
3765
+ "isESM": true,
3766
+ "relativePath": [
3767
+ "dist",
3768
+ "commands",
3769
+ "manifest",
3770
+ "extract.js"
3771
+ ]
3772
+ },
3349
3773
  "hooks:attempt": {
3350
3774
  "aliases": [],
3351
3775
  "args": {
@@ -3579,9 +4003,198 @@
3579
4003
  },
3580
4004
  "hasDynamicHelp": false,
3581
4005
  "hiddenAliases": [
3582
- "hook:logs"
4006
+ "hook:logs"
4007
+ ],
4008
+ "id": "hooks:logs",
4009
+ "pluginAlias": "@sanity/cli",
4010
+ "pluginName": "@sanity/cli",
4011
+ "pluginType": "core",
4012
+ "strict": true,
4013
+ "isESM": true,
4014
+ "relativePath": [
4015
+ "dist",
4016
+ "commands",
4017
+ "hooks",
4018
+ "logs.js"
4019
+ ]
4020
+ },
4021
+ "mcp:configure": {
4022
+ "aliases": [],
4023
+ "args": {},
4024
+ "description": "Configure Sanity MCP server for AI editors (Antigravity, Claude Code, Cline, Cline CLI, Codex CLI, Cursor, Gemini CLI, GitHub Copilot CLI, MCPorter, OpenCode, VS Code, VS Code Insiders, Zed)",
4025
+ "examples": [
4026
+ {
4027
+ "command": "<%= config.bin %> <%= command.id %>",
4028
+ "description": "Configure Sanity MCP server for detected AI editors"
4029
+ }
4030
+ ],
4031
+ "flags": {},
4032
+ "hasDynamicHelp": false,
4033
+ "hiddenAliases": [],
4034
+ "id": "mcp:configure",
4035
+ "pluginAlias": "@sanity/cli",
4036
+ "pluginName": "@sanity/cli",
4037
+ "pluginType": "core",
4038
+ "strict": true,
4039
+ "isESM": true,
4040
+ "relativePath": [
4041
+ "dist",
4042
+ "commands",
4043
+ "mcp",
4044
+ "configure.js"
4045
+ ]
4046
+ },
4047
+ "migrations:create": {
4048
+ "aliases": [],
4049
+ "args": {
4050
+ "title": {
4051
+ "description": "Title of migration",
4052
+ "name": "title",
4053
+ "required": false
4054
+ }
4055
+ },
4056
+ "description": "Create a new migration within your project",
4057
+ "examples": [
4058
+ {
4059
+ "command": "<%= config.bin %> <%= command.id %>",
4060
+ "description": "Create a new migration, prompting for title and options"
4061
+ },
4062
+ {
4063
+ "command": "<%= config.bin %> <%= command.id %> \"Rename field from location to address\"",
4064
+ "description": "Create a new migration with the provided title, prompting for options"
4065
+ }
4066
+ ],
4067
+ "flags": {},
4068
+ "hasDynamicHelp": false,
4069
+ "hiddenAliases": [
4070
+ "migration:create"
4071
+ ],
4072
+ "id": "migrations:create",
4073
+ "pluginAlias": "@sanity/cli",
4074
+ "pluginName": "@sanity/cli",
4075
+ "pluginType": "core",
4076
+ "strict": true,
4077
+ "isESM": true,
4078
+ "relativePath": [
4079
+ "dist",
4080
+ "commands",
4081
+ "migrations",
4082
+ "create.js"
4083
+ ]
4084
+ },
4085
+ "migrations:list": {
4086
+ "aliases": [],
4087
+ "args": {},
4088
+ "description": "List available migrations",
4089
+ "examples": [
4090
+ {
4091
+ "command": "<%= config.bin %> <%= command.id %>",
4092
+ "description": "List all available migrations in the project"
4093
+ }
4094
+ ],
4095
+ "flags": {},
4096
+ "hasDynamicHelp": false,
4097
+ "hiddenAliases": [
4098
+ "migration:list"
4099
+ ],
4100
+ "id": "migrations:list",
4101
+ "pluginAlias": "@sanity/cli",
4102
+ "pluginName": "@sanity/cli",
4103
+ "pluginType": "core",
4104
+ "strict": true,
4105
+ "isESM": true,
4106
+ "relativePath": [
4107
+ "dist",
4108
+ "commands",
4109
+ "migrations",
4110
+ "list.js"
4111
+ ]
4112
+ },
4113
+ "migrations:run": {
4114
+ "aliases": [],
4115
+ "args": {
4116
+ "id": {
4117
+ "description": "ID",
4118
+ "name": "id",
4119
+ "required": false
4120
+ }
4121
+ },
4122
+ "description": "Run a migration against a dataset",
4123
+ "examples": [
4124
+ {
4125
+ "command": "<%= config.bin %> <%= command.id %> <id>",
4126
+ "description": "dry run the migration"
4127
+ },
4128
+ {
4129
+ "command": "<%= config.bin %> <%= command.id %> <id> --no-dry-run --project xyz --dataset staging",
4130
+ "description": "execute the migration against a dataset"
4131
+ },
4132
+ {
4133
+ "command": "<%= config.bin %> <%= command.id %> <id> --from-export=production.tar.gz --no-dry-run --project xyz --dataset staging",
4134
+ "description": "execute the migration using a dataset export as the source"
4135
+ }
4136
+ ],
4137
+ "flags": {
4138
+ "api-version": {
4139
+ "description": "API version to use when migrating. Defaults to v2024-01-29.",
4140
+ "name": "api-version",
4141
+ "hasDynamicHelp": false,
4142
+ "multiple": false,
4143
+ "type": "option"
4144
+ },
4145
+ "concurrency": {
4146
+ "description": "How many mutation requests to run in parallel. Must be between 1 and 10. Default: 6.",
4147
+ "name": "concurrency",
4148
+ "default": 6,
4149
+ "hasDynamicHelp": false,
4150
+ "multiple": false,
4151
+ "type": "option"
4152
+ },
4153
+ "confirm": {
4154
+ "description": "Prompt for confirmation before running the migration (default: true). Use --no-confirm to skip.",
4155
+ "name": "confirm",
4156
+ "allowNo": true,
4157
+ "type": "boolean"
4158
+ },
4159
+ "dataset": {
4160
+ "description": "Dataset to migrate. Defaults to the dataset configured in your Sanity CLI config.",
4161
+ "name": "dataset",
4162
+ "hasDynamicHelp": false,
4163
+ "multiple": false,
4164
+ "type": "option"
4165
+ },
4166
+ "dry-run": {
4167
+ "description": "By default the migration runs in dry mode. Use --no-dry-run to migrate dataset.",
4168
+ "name": "dry-run",
4169
+ "allowNo": true,
4170
+ "type": "boolean"
4171
+ },
4172
+ "from-export": {
4173
+ "description": "Use a local dataset export as source for migration instead of calling the Sanity API. Note: this is only supported for dry runs.",
4174
+ "name": "from-export",
4175
+ "hasDynamicHelp": false,
4176
+ "multiple": false,
4177
+ "type": "option"
4178
+ },
4179
+ "progress": {
4180
+ "description": "Display progress during migration (default: true). Use --no-progress to hide output.",
4181
+ "name": "progress",
4182
+ "allowNo": true,
4183
+ "type": "boolean"
4184
+ },
4185
+ "project": {
4186
+ "description": "Project ID of the dataset to migrate. Defaults to the projectId configured in your Sanity CLI config.",
4187
+ "name": "project",
4188
+ "hasDynamicHelp": false,
4189
+ "multiple": false,
4190
+ "type": "option"
4191
+ }
4192
+ },
4193
+ "hasDynamicHelp": false,
4194
+ "hiddenAliases": [
4195
+ "migration:run"
3583
4196
  ],
3584
- "id": "hooks:logs",
4197
+ "id": "migrations:run",
3585
4198
  "pluginAlias": "@sanity/cli",
3586
4199
  "pluginName": "@sanity/cli",
3587
4200
  "pluginType": "core",
@@ -3590,37 +4203,62 @@
3590
4203
  "relativePath": [
3591
4204
  "dist",
3592
4205
  "commands",
3593
- "hooks",
3594
- "logs.js"
4206
+ "migrations",
4207
+ "run.js"
3595
4208
  ]
3596
4209
  },
3597
- "manifest:extract": {
4210
+ "openapi:get": {
3598
4211
  "aliases": [],
3599
- "args": {},
3600
- "description": "Extract studio configuration as JSON manifest files.\n\nNote: This command is experimental and subject to change. It is currently intended for use with Create only.",
4212
+ "args": {
4213
+ "slug": {
4214
+ "description": "Slug of the OpenAPI specification to retrieve",
4215
+ "name": "slug",
4216
+ "required": true
4217
+ }
4218
+ },
4219
+ "description": "Get an OpenAPI specification by slug",
3601
4220
  "examples": [
3602
4221
  {
3603
- "command": "<%= config.bin %> <%= command.id %>",
3604
- "description": "Extracts manifests"
4222
+ "command": "<%= config.bin %> <%= command.id %> query",
4223
+ "description": "Get a specification (YAML format, default)"
3605
4224
  },
3606
4225
  {
3607
- "command": "<%= config.bin %> <%= command.id %> --path /public/static",
3608
- "description": "Extracts manifests into /public/static"
4226
+ "command": "<%= config.bin %> <%= command.id %> query --format=json",
4227
+ "description": "Get specification in JSON format"
4228
+ },
4229
+ {
4230
+ "command": "<%= config.bin %> <%= command.id %> query --web",
4231
+ "description": "Open specification in browser"
4232
+ },
4233
+ {
4234
+ "command": "<%= config.bin %> <%= command.id %> query > query-api.yaml",
4235
+ "description": "Pipe to file"
3609
4236
  }
3610
4237
  ],
3611
4238
  "flags": {
3612
- "path": {
3613
- "description": "Optional path to specify destination directory of the manifest files",
3614
- "name": "path",
3615
- "default": "dist/static",
4239
+ "format": {
4240
+ "description": "Output format: yaml (default), json",
4241
+ "name": "format",
4242
+ "default": "yaml",
3616
4243
  "hasDynamicHelp": false,
3617
4244
  "multiple": false,
4245
+ "options": [
4246
+ "yaml",
4247
+ "json"
4248
+ ],
3618
4249
  "type": "option"
4250
+ },
4251
+ "web": {
4252
+ "char": "w",
4253
+ "description": "Open in web browser",
4254
+ "name": "web",
4255
+ "allowNo": false,
4256
+ "type": "boolean"
3619
4257
  }
3620
4258
  },
3621
4259
  "hasDynamicHelp": false,
3622
4260
  "hiddenAliases": [],
3623
- "id": "manifest:extract",
4261
+ "id": "openapi:get",
3624
4262
  "pluginAlias": "@sanity/cli",
3625
4263
  "pluginName": "@sanity/cli",
3626
4264
  "pluginType": "core",
@@ -3629,24 +4267,46 @@
3629
4267
  "relativePath": [
3630
4268
  "dist",
3631
4269
  "commands",
3632
- "manifest",
3633
- "extract.js"
4270
+ "openapi",
4271
+ "get.js"
3634
4272
  ]
3635
4273
  },
3636
- "mcp:configure": {
4274
+ "openapi:list": {
3637
4275
  "aliases": [],
3638
4276
  "args": {},
3639
- "description": "Configure Sanity MCP server for AI editors (Antigravity, Claude Code, Cline, Cline CLI, Codex CLI, Cursor, Gemini CLI, GitHub Copilot CLI, MCPorter, OpenCode, VS Code, VS Code Insiders, Zed)",
4277
+ "description": "List all available OpenAPI specifications",
3640
4278
  "examples": [
3641
4279
  {
3642
4280
  "command": "<%= config.bin %> <%= command.id %>",
3643
- "description": "Configure Sanity MCP server for detected AI editors"
4281
+ "description": "List all available OpenAPI specs"
4282
+ },
4283
+ {
4284
+ "command": "<%= config.bin %> <%= command.id %> --json",
4285
+ "description": "List with JSON output"
4286
+ },
4287
+ {
4288
+ "command": "<%= config.bin %> <%= command.id %> --web",
4289
+ "description": "Open HTTP Reference in browser"
3644
4290
  }
3645
4291
  ],
3646
- "flags": {},
4292
+ "flags": {
4293
+ "json": {
4294
+ "description": "Output JSON",
4295
+ "name": "json",
4296
+ "allowNo": false,
4297
+ "type": "boolean"
4298
+ },
4299
+ "web": {
4300
+ "char": "w",
4301
+ "description": "Open HTTP Reference in web browser",
4302
+ "name": "web",
4303
+ "allowNo": false,
4304
+ "type": "boolean"
4305
+ }
4306
+ },
3647
4307
  "hasDynamicHelp": false,
3648
4308
  "hiddenAliases": [],
3649
- "id": "mcp:configure",
4309
+ "id": "openapi:list",
3650
4310
  "pluginAlias": "@sanity/cli",
3651
4311
  "pluginName": "@sanity/cli",
3652
4312
  "pluginType": "core",
@@ -3655,8 +4315,8 @@
3655
4315
  "relativePath": [
3656
4316
  "dist",
3657
4317
  "commands",
3658
- "mcp",
3659
- "configure.js"
4318
+ "openapi",
4319
+ "list.js"
3660
4320
  ]
3661
4321
  },
3662
4322
  "media:create-aspect": {
@@ -3730,7 +4390,6 @@
3730
4390
  "media-library-id": {
3731
4391
  "description": "The id of the target media library",
3732
4392
  "name": "media-library-id",
3733
- "required": false,
3734
4393
  "hasDynamicHelp": false,
3735
4394
  "multiple": false,
3736
4395
  "type": "option"
@@ -3739,7 +4398,6 @@
3739
4398
  "char": "y",
3740
4399
  "description": "Run without prompts and confirm deletion",
3741
4400
  "name": "yes",
3742
- "required": false,
3743
4401
  "allowNo": false,
3744
4402
  "type": "boolean"
3745
4403
  }
@@ -3800,7 +4458,6 @@
3800
4458
  "media-library-id": {
3801
4459
  "description": "The id of the target media library",
3802
4460
  "name": "media-library-id",
3803
- "required": false,
3804
4461
  "hasDynamicHelp": false,
3805
4462
  "multiple": false,
3806
4463
  "type": "option"
@@ -3962,157 +4619,84 @@
3962
4619
  "import.js"
3963
4620
  ]
3964
4621
  },
3965
- "migrations:create": {
4622
+ "projects:create": {
3966
4623
  "aliases": [],
3967
4624
  "args": {
3968
- "title": {
3969
- "description": "Title of migration",
3970
- "name": "title",
4625
+ "projectName": {
4626
+ "description": "Name of the project to create",
4627
+ "name": "projectName",
3971
4628
  "required": false
3972
4629
  }
3973
4630
  },
3974
- "description": "Create a new migration within your project",
4631
+ "description": "Create a new Sanity project",
3975
4632
  "examples": [
3976
4633
  {
3977
4634
  "command": "<%= config.bin %> <%= command.id %>",
3978
- "description": "Create a new migration, prompting for title and options"
4635
+ "description": "Interactively create a project"
3979
4636
  },
3980
4637
  {
3981
- "command": "<%= config.bin %> <%= command.id %> \"Rename field from location to address\"",
3982
- "description": "Create a new migration with the provided title, prompting for options"
3983
- }
3984
- ],
3985
- "flags": {},
3986
- "hasDynamicHelp": false,
3987
- "hiddenAliases": [
3988
- "migration:create"
3989
- ],
3990
- "id": "migrations:create",
3991
- "pluginAlias": "@sanity/cli",
3992
- "pluginName": "@sanity/cli",
3993
- "pluginType": "core",
3994
- "strict": true,
3995
- "isESM": true,
3996
- "relativePath": [
3997
- "dist",
3998
- "commands",
3999
- "migrations",
4000
- "create.js"
4001
- ]
4002
- },
4003
- "migrations:list": {
4004
- "aliases": [],
4005
- "args": {},
4006
- "description": "List available migrations",
4007
- "examples": [
4008
- {
4009
- "command": "<%= config.bin %> <%= command.id %>",
4010
- "description": "List all available migrations in the project"
4011
- }
4012
- ],
4013
- "flags": {},
4014
- "hasDynamicHelp": false,
4015
- "hiddenAliases": [
4016
- "migration:list"
4017
- ],
4018
- "id": "migrations:list",
4019
- "pluginAlias": "@sanity/cli",
4020
- "pluginName": "@sanity/cli",
4021
- "pluginType": "core",
4022
- "strict": true,
4023
- "isESM": true,
4024
- "relativePath": [
4025
- "dist",
4026
- "commands",
4027
- "migrations",
4028
- "list.js"
4029
- ]
4030
- },
4031
- "migrations:run": {
4032
- "aliases": [],
4033
- "args": {
4034
- "id": {
4035
- "description": "ID",
4036
- "name": "id",
4037
- "required": false
4038
- }
4039
- },
4040
- "description": "Run a migration against a dataset",
4041
- "examples": [
4638
+ "command": "<%= config.bin %> <%= command.id %> \"My New Project\"",
4639
+ "description": "Create a project named \"My New Project\""
4640
+ },
4042
4641
  {
4043
- "command": "<%= config.bin %> <%= command.id %> <id>",
4044
- "description": "dry run the migration"
4642
+ "command": "<%= config.bin %> <%= command.id %> \"My Project\" --organization=my-org",
4643
+ "description": "Create a project in a specific organization"
4045
4644
  },
4046
4645
  {
4047
- "command": "<%= config.bin %> <%= command.id %> <id> --no-dry-run --project xyz --dataset staging",
4048
- "description": "execute the migration against a dataset"
4646
+ "command": "<%= config.bin %> <%= command.id %> \"My Project\" --dataset=staging --dataset-visibility=private",
4647
+ "description": "Create a project with a private dataset named \"staging\""
4049
4648
  },
4050
4649
  {
4051
- "command": "<%= config.bin %> <%= command.id %> <id> --from-export=production.tar.gz --no-dry-run --project xyz --dataset staging",
4052
- "description": "execute the migration using a dataset export as the source"
4650
+ "command": "<%= config.bin %> <%= command.id %> \"CI Project\" --yes --json",
4651
+ "description": "Create a project non-interactively with JSON output"
4053
4652
  }
4054
4653
  ],
4055
4654
  "flags": {
4056
- "api-version": {
4057
- "description": "API version to use when migrating. Defaults to v2024-01-29.",
4058
- "name": "api-version",
4059
- "hasDynamicHelp": false,
4060
- "multiple": false,
4061
- "type": "option"
4062
- },
4063
- "concurrency": {
4064
- "description": "How many mutation requests to run in parallel. Must be between 1 and 10. Default: 6.",
4065
- "name": "concurrency",
4066
- "default": 6,
4067
- "hasDynamicHelp": false,
4068
- "multiple": false,
4069
- "type": "option"
4070
- },
4071
- "confirm": {
4072
- "description": "Prompt for confirmation before running the migration (default: true). Use --no-confirm to skip.",
4073
- "name": "confirm",
4074
- "allowNo": true,
4075
- "type": "boolean"
4076
- },
4077
4655
  "dataset": {
4078
- "description": "Dataset to migrate. Defaults to the dataset configured in your Sanity CLI config.",
4656
+ "description": "Create a dataset. Prompts for visibility unless specified or --yes used",
4079
4657
  "name": "dataset",
4080
4658
  "hasDynamicHelp": false,
4081
4659
  "multiple": false,
4082
4660
  "type": "option"
4083
4661
  },
4084
- "dry-run": {
4085
- "description": "By default the migration runs in dry mode. Use --no-dry-run to migrate dataset.",
4086
- "name": "dry-run",
4087
- "allowNo": true,
4088
- "type": "boolean"
4089
- },
4090
- "from-export": {
4091
- "description": "Use a local dataset export as source for migration instead of calling the Sanity API. Note: this is only supported for dry runs.",
4092
- "name": "from-export",
4662
+ "dataset-visibility": {
4663
+ "description": "Dataset visibility: public or private",
4664
+ "name": "dataset-visibility",
4093
4665
  "hasDynamicHelp": false,
4094
4666
  "multiple": false,
4667
+ "options": [
4668
+ "private",
4669
+ "public"
4670
+ ],
4095
4671
  "type": "option"
4096
4672
  },
4097
- "progress": {
4098
- "description": "Display progress during migration (default: true). Use --no-progress to hide output.",
4099
- "name": "progress",
4100
- "allowNo": true,
4673
+ "json": {
4674
+ "description": "Output in JSON format",
4675
+ "name": "json",
4676
+ "allowNo": false,
4101
4677
  "type": "boolean"
4102
4678
  },
4103
- "project": {
4104
- "description": "Project ID of the dataset to migrate. Defaults to the projectId configured in your Sanity CLI config.",
4105
- "name": "project",
4679
+ "organization": {
4680
+ "description": "Organization to create the project in",
4681
+ "name": "organization",
4106
4682
  "hasDynamicHelp": false,
4683
+ "helpValue": "<slug|id>",
4107
4684
  "multiple": false,
4108
4685
  "type": "option"
4686
+ },
4687
+ "yes": {
4688
+ "char": "y",
4689
+ "description": "Skip prompts and use defaults (project: \"My Sanity Project\", dataset: production, visibility: public)",
4690
+ "name": "yes",
4691
+ "allowNo": false,
4692
+ "type": "boolean"
4109
4693
  }
4110
4694
  },
4111
4695
  "hasDynamicHelp": false,
4112
4696
  "hiddenAliases": [
4113
- "migration:run"
4697
+ "project:create"
4114
4698
  ],
4115
- "id": "migrations:run",
4699
+ "id": "projects:create",
4116
4700
  "pluginAlias": "@sanity/cli",
4117
4701
  "pluginName": "@sanity/cli",
4118
4702
  "pluginType": "core",
@@ -4121,62 +4705,58 @@
4121
4705
  "relativePath": [
4122
4706
  "dist",
4123
4707
  "commands",
4124
- "migrations",
4125
- "run.js"
4708
+ "projects",
4709
+ "create.js"
4126
4710
  ]
4127
4711
  },
4128
- "openapi:get": {
4712
+ "projects:list": {
4129
4713
  "aliases": [],
4130
- "args": {
4131
- "slug": {
4132
- "description": "Slug of the OpenAPI specification to retrieve",
4133
- "name": "slug",
4134
- "required": true
4135
- }
4136
- },
4137
- "description": "Get an OpenAPI specification by slug",
4714
+ "args": {},
4715
+ "description": "List your projects",
4138
4716
  "examples": [
4139
4717
  {
4140
- "command": "<%= config.bin %> <%= command.id %> query",
4141
- "description": "Get a specification (YAML format, default)"
4142
- },
4143
- {
4144
- "command": "<%= config.bin %> <%= command.id %> query --format=json",
4145
- "description": "Get specification in JSON format"
4146
- },
4147
- {
4148
- "command": "<%= config.bin %> <%= command.id %> query --web",
4149
- "description": "Open specification in browser"
4718
+ "command": "<%= config.bin %> <%= command.id %>",
4719
+ "description": "List projects"
4150
4720
  },
4151
4721
  {
4152
- "command": "<%= config.bin %> <%= command.id %> query > query-api.yaml",
4153
- "description": "Pipe to file"
4722
+ "command": "<%= config.bin %> <%= command.id %> --sort=members --order=asc",
4723
+ "description": "List projects sorted by member count, ascending"
4154
4724
  }
4155
4725
  ],
4156
4726
  "flags": {
4157
- "format": {
4158
- "description": "Output format: yaml (default), json",
4159
- "name": "format",
4160
- "default": "yaml",
4727
+ "order": {
4728
+ "description": "Sort direction",
4729
+ "name": "order",
4730
+ "default": "desc",
4161
4731
  "hasDynamicHelp": false,
4162
4732
  "multiple": false,
4163
4733
  "options": [
4164
- "yaml",
4165
- "json"
4734
+ "asc",
4735
+ "desc"
4166
4736
  ],
4167
4737
  "type": "option"
4168
4738
  },
4169
- "web": {
4170
- "char": "w",
4171
- "description": "Open in web browser",
4172
- "name": "web",
4173
- "allowNo": false,
4174
- "type": "boolean"
4739
+ "sort": {
4740
+ "description": "Sort field",
4741
+ "name": "sort",
4742
+ "default": "created",
4743
+ "hasDynamicHelp": false,
4744
+ "multiple": false,
4745
+ "options": [
4746
+ "id",
4747
+ "members",
4748
+ "name",
4749
+ "url",
4750
+ "created"
4751
+ ],
4752
+ "type": "option"
4175
4753
  }
4176
4754
  },
4177
4755
  "hasDynamicHelp": false,
4178
- "hiddenAliases": [],
4179
- "id": "openapi:get",
4756
+ "hiddenAliases": [
4757
+ "project:list"
4758
+ ],
4759
+ "id": "projects:list",
4180
4760
  "pluginAlias": "@sanity/cli",
4181
4761
  "pluginName": "@sanity/cli",
4182
4762
  "pluginType": "core",
@@ -4185,46 +4765,38 @@
4185
4765
  "relativePath": [
4186
4766
  "dist",
4187
4767
  "commands",
4188
- "openapi",
4189
- "get.js"
4768
+ "projects",
4769
+ "list.js"
4190
4770
  ]
4191
4771
  },
4192
- "openapi:list": {
4772
+ "projects:unclaimed": {
4193
4773
  "aliases": [],
4194
4774
  "args": {},
4195
- "description": "List all available OpenAPI specifications",
4775
+ "description": "Recover details for unclaimed projects created on this machine",
4196
4776
  "examples": [
4197
4777
  {
4198
4778
  "command": "<%= config.bin %> <%= command.id %>",
4199
- "description": "List all available OpenAPI specs"
4200
- },
4201
- {
4202
- "command": "<%= config.bin %> <%= command.id %> --json",
4203
- "description": "List with JSON output"
4779
+ "description": "List locally recorded unclaimed projects"
4204
4780
  },
4205
4781
  {
4206
- "command": "<%= config.bin %> <%= command.id %> --web",
4207
- "description": "Open HTTP Reference in browser"
4782
+ "command": "<%= config.bin %> <%= command.id %> --project-id abc123",
4783
+ "description": "Show recovery details for one project"
4208
4784
  }
4209
4785
  ],
4210
4786
  "flags": {
4211
- "json": {
4212
- "description": "Output JSON",
4213
- "name": "json",
4214
- "allowNo": false,
4215
- "type": "boolean"
4216
- },
4217
- "web": {
4218
- "char": "w",
4219
- "description": "Open HTTP Reference in web browser",
4220
- "name": "web",
4221
- "allowNo": false,
4222
- "type": "boolean"
4787
+ "project-id": {
4788
+ "description": "Project ID to recover",
4789
+ "name": "project-id",
4790
+ "hasDynamicHelp": false,
4791
+ "multiple": false,
4792
+ "type": "option"
4223
4793
  }
4224
4794
  },
4225
4795
  "hasDynamicHelp": false,
4226
- "hiddenAliases": [],
4227
- "id": "openapi:list",
4796
+ "hiddenAliases": [
4797
+ "project:unclaimed"
4798
+ ],
4799
+ "id": "projects:unclaimed",
4228
4800
  "pluginAlias": "@sanity/cli",
4229
4801
  "pluginName": "@sanity/cli",
4230
4802
  "pluginType": "core",
@@ -4233,8 +4805,8 @@
4233
4805
  "relativePath": [
4234
4806
  "dist",
4235
4807
  "commands",
4236
- "openapi",
4237
- "list.js"
4808
+ "projects",
4809
+ "unclaimed.js"
4238
4810
  ]
4239
4811
  },
4240
4812
  "organizations:create": {
@@ -4267,7 +4839,6 @@
4267
4839
  "name": {
4268
4840
  "description": "Organization name",
4269
4841
  "name": "name",
4270
- "required": false,
4271
4842
  "hasDynamicHelp": false,
4272
4843
  "multiple": false,
4273
4844
  "type": "option"
@@ -4485,84 +5056,153 @@
4485
5056
  "update.js"
4486
5057
  ]
4487
5058
  },
4488
- "projects:create": {
5059
+ "schemas:delete": {
4489
5060
  "aliases": [],
4490
- "args": {
4491
- "projectName": {
4492
- "description": "Name of the project to create",
4493
- "name": "projectName",
4494
- "required": false
4495
- }
4496
- },
4497
- "description": "Create a new Sanity project",
5061
+ "args": {},
5062
+ "description": "Delete schema documents by id",
4498
5063
  "examples": [
4499
5064
  {
4500
- "command": "<%= config.bin %> <%= command.id %>",
4501
- "description": "Interactively create a project"
5065
+ "command": "<%= config.bin %> <%= command.id %> --ids sanity.workspace.schema.workspaceName",
5066
+ "description": "Delete a single schema"
4502
5067
  },
4503
5068
  {
4504
- "command": "<%= config.bin %> <%= command.id %> \"My New Project\"",
4505
- "description": "Create a project named \"My New Project\""
5069
+ "command": "<%= config.bin %> <%= command.id %> --ids sanity.workspace.schema.workspaceName,prefix.sanity.workspace.schema.otherWorkspace",
5070
+ "description": "Delete multiple schemas"
5071
+ }
5072
+ ],
5073
+ "flags": {
5074
+ "project-id": {
5075
+ "char": "p",
5076
+ "description": "Project ID to delete schema from (overrides CLI configuration)",
5077
+ "helpGroup": "OVERRIDE",
5078
+ "name": "project-id",
5079
+ "hasDynamicHelp": false,
5080
+ "helpValue": "<id>",
5081
+ "multiple": false,
5082
+ "type": "option"
4506
5083
  },
4507
- {
4508
- "command": "<%= config.bin %> <%= command.id %> \"My Project\" --organization=my-org",
4509
- "description": "Create a project in a specific organization"
5084
+ "dataset": {
5085
+ "char": "d",
5086
+ "description": "Delete schemas from a specific dataset",
5087
+ "name": "dataset",
5088
+ "hasDynamicHelp": false,
5089
+ "helpValue": "<name>",
5090
+ "multiple": false,
5091
+ "type": "option"
5092
+ },
5093
+ "extract-manifest": {
5094
+ "description": "Generate manifest file (disable with --no-extract-manifest)",
5095
+ "hidden": true,
5096
+ "name": "extract-manifest",
5097
+ "allowNo": true,
5098
+ "type": "boolean"
5099
+ },
5100
+ "ids": {
5101
+ "description": "Comma-separated list of schema ids to delete",
5102
+ "name": "ids",
5103
+ "required": true,
5104
+ "hasDynamicHelp": false,
5105
+ "multiple": false,
5106
+ "type": "option"
5107
+ },
5108
+ "manifest-dir": {
5109
+ "description": "Directory containing manifest file",
5110
+ "hidden": true,
5111
+ "name": "manifest-dir",
5112
+ "default": "./dist/static",
5113
+ "hasDynamicHelp": false,
5114
+ "multiple": false,
5115
+ "type": "option"
5116
+ },
5117
+ "verbose": {
5118
+ "description": "Enable verbose logging",
5119
+ "name": "verbose",
5120
+ "allowNo": false,
5121
+ "type": "boolean"
4510
5122
  },
5123
+ "yes": {
5124
+ "char": "y",
5125
+ "description": "Delete schemas without prompting for confirmation",
5126
+ "name": "yes",
5127
+ "allowNo": false,
5128
+ "type": "boolean"
5129
+ }
5130
+ },
5131
+ "hasDynamicHelp": false,
5132
+ "hiddenAliases": [
5133
+ "schema:delete"
5134
+ ],
5135
+ "id": "schemas:delete",
5136
+ "pluginAlias": "@sanity/cli",
5137
+ "pluginName": "@sanity/cli",
5138
+ "pluginType": "core",
5139
+ "strict": true,
5140
+ "isESM": true,
5141
+ "relativePath": [
5142
+ "dist",
5143
+ "commands",
5144
+ "schemas",
5145
+ "delete.js"
5146
+ ]
5147
+ },
5148
+ "schemas:deploy": {
5149
+ "aliases": [],
5150
+ "args": {},
5151
+ "description": "Deploy schema documents into workspace datasets.\n\nNote: This command is experimental and subject to change.\n\nRegenerates a manifest file by default. To re-use an existing manifest, use --no-extract-manifest.",
5152
+ "examples": [
4511
5153
  {
4512
- "command": "<%= config.bin %> <%= command.id %> \"My Project\" --dataset=staging --dataset-visibility=private",
4513
- "description": "Create a project with a private dataset named \"staging\""
5154
+ "command": "<%= config.bin %> <%= command.id %>",
5155
+ "description": "Deploy all workspace schemas"
4514
5156
  },
4515
5157
  {
4516
- "command": "<%= config.bin %> <%= command.id %> \"CI Project\" --yes --json",
4517
- "description": "Create a project non-interactively with JSON output"
5158
+ "command": "<%= config.bin %> <%= command.id %> --workspace default",
5159
+ "description": "Deploy the schema for only the workspace \"default\""
4518
5160
  }
4519
5161
  ],
4520
5162
  "flags": {
4521
- "dataset": {
4522
- "description": "Create a dataset. Prompts for visibility unless specified or --yes used",
4523
- "name": "dataset",
5163
+ "extract-manifest": {
5164
+ "description": "Regenerate manifest before deploying (use --no-extract-manifest to skip)",
5165
+ "name": "extract-manifest",
5166
+ "allowNo": true,
5167
+ "type": "boolean"
5168
+ },
5169
+ "manifest-dir": {
5170
+ "description": "Directory containing manifest file",
5171
+ "name": "manifest-dir",
5172
+ "default": "./dist/static",
4524
5173
  "hasDynamicHelp": false,
5174
+ "helpValue": "<directory>",
4525
5175
  "multiple": false,
4526
5176
  "type": "option"
4527
5177
  },
4528
- "dataset-visibility": {
4529
- "description": "Dataset visibility: public or private",
4530
- "name": "dataset-visibility",
5178
+ "tag": {
5179
+ "description": "Add a tag suffix to the schema id",
5180
+ "name": "tag",
4531
5181
  "hasDynamicHelp": false,
4532
- "multiple": false,
4533
- "options": [
4534
- "private",
4535
- "public"
4536
- ],
5182
+ "helpValue": "<tag>",
5183
+ "multiple": false,
4537
5184
  "type": "option"
4538
5185
  },
4539
- "json": {
4540
- "description": "Output in JSON format",
4541
- "name": "json",
5186
+ "verbose": {
5187
+ "description": "Print detailed information during deployment",
5188
+ "name": "verbose",
4542
5189
  "allowNo": false,
4543
5190
  "type": "boolean"
4544
5191
  },
4545
- "organization": {
4546
- "description": "Organization to create the project in",
4547
- "name": "organization",
5192
+ "workspace": {
5193
+ "description": "The name of the workspace to deploy a schema for",
5194
+ "name": "workspace",
4548
5195
  "hasDynamicHelp": false,
4549
- "helpValue": "<slug|id>",
5196
+ "helpValue": "<name>",
4550
5197
  "multiple": false,
4551
5198
  "type": "option"
4552
- },
4553
- "yes": {
4554
- "char": "y",
4555
- "description": "Skip prompts and use defaults (project: \"My Sanity Project\", dataset: production, visibility: public)",
4556
- "name": "yes",
4557
- "allowNo": false,
4558
- "type": "boolean"
4559
5199
  }
4560
5200
  },
4561
5201
  "hasDynamicHelp": false,
4562
5202
  "hiddenAliases": [
4563
- "project:create"
5203
+ "schema:deploy"
4564
5204
  ],
4565
- "id": "projects:create",
5205
+ "id": "schemas:deploy",
4566
5206
  "pluginAlias": "@sanity/cli",
4567
5207
  "pluginName": "@sanity/cli",
4568
5208
  "pluginType": "core",
@@ -4571,58 +5211,85 @@
4571
5211
  "relativePath": [
4572
5212
  "dist",
4573
5213
  "commands",
4574
- "projects",
4575
- "create.js"
5214
+ "schemas",
5215
+ "deploy.js"
4576
5216
  ]
4577
5217
  },
4578
- "projects:list": {
5218
+ "schemas:extract": {
4579
5219
  "aliases": [],
4580
5220
  "args": {},
4581
- "description": "List your projects",
5221
+ "description": "Extract a JSON representation of a Sanity schema within a Studio context.\n\nNote: This command is experimental and subject to change.",
4582
5222
  "examples": [
4583
5223
  {
4584
- "command": "<%= config.bin %> <%= command.id %>",
4585
- "description": "List projects"
5224
+ "command": "<%= config.bin %> <%= command.id %> --workspace default",
5225
+ "description": "Extracts schema types in a Sanity project with more than one workspace"
4586
5226
  },
4587
5227
  {
4588
- "command": "<%= config.bin %> <%= command.id %> --sort=members --order=asc",
4589
- "description": "List projects sorted by member count, ascending"
5228
+ "command": "<%= config.bin %> <%= command.id %> --watch",
5229
+ "description": "Watch mode - re-extract on changes"
5230
+ },
5231
+ {
5232
+ "command": "<%= config.bin %> <%= command.id %> --watch --watch-patterns \"lib/**/*.ts\"",
5233
+ "description": "Watch with custom glob patterns"
4590
5234
  }
4591
5235
  ],
4592
5236
  "flags": {
4593
- "order": {
4594
- "description": "Sort direction",
4595
- "name": "order",
4596
- "default": "desc",
5237
+ "enforce-required-fields": {
5238
+ "description": "Makes the schema generated treat fields marked as required as non-optional",
5239
+ "name": "enforce-required-fields",
5240
+ "allowNo": false,
5241
+ "type": "boolean"
5242
+ },
5243
+ "force": {
5244
+ "description": "Overwrite an existing schema file",
5245
+ "name": "force",
5246
+ "allowNo": false,
5247
+ "type": "boolean"
5248
+ },
5249
+ "format": {
5250
+ "description": "Output format (currently only groq-type-nodes)",
5251
+ "name": "format",
5252
+ "default": "groq-type-nodes",
4597
5253
  "hasDynamicHelp": false,
5254
+ "helpValue": "<format>",
4598
5255
  "multiple": false,
4599
- "options": [
4600
- "asc",
4601
- "desc"
4602
- ],
4603
5256
  "type": "option"
4604
5257
  },
4605
- "sort": {
4606
- "description": "Sort field",
4607
- "name": "sort",
4608
- "default": "created",
5258
+ "path": {
5259
+ "description": "Optional path to specify destination of the schema file",
5260
+ "name": "path",
4609
5261
  "hasDynamicHelp": false,
4610
5262
  "multiple": false,
4611
- "options": [
4612
- "id",
4613
- "members",
4614
- "name",
4615
- "url",
4616
- "created"
4617
- ],
5263
+ "type": "option"
5264
+ },
5265
+ "watch": {
5266
+ "description": "Enable watch mode to re-extract schema on file changes",
5267
+ "name": "watch",
5268
+ "allowNo": false,
5269
+ "type": "boolean"
5270
+ },
5271
+ "watch-patterns": {
5272
+ "description": "Additional glob pattern(s) to watch (can be specified multiple times)",
5273
+ "name": "watch-patterns",
5274
+ "hasDynamicHelp": false,
5275
+ "helpValue": "<glob>",
5276
+ "multiple": true,
5277
+ "type": "option"
5278
+ },
5279
+ "workspace": {
5280
+ "description": "The name of the workspace to generate a schema for",
5281
+ "name": "workspace",
5282
+ "hasDynamicHelp": false,
5283
+ "helpValue": "<name>",
5284
+ "multiple": false,
4618
5285
  "type": "option"
4619
5286
  }
4620
5287
  },
4621
5288
  "hasDynamicHelp": false,
4622
5289
  "hiddenAliases": [
4623
- "project:list"
5290
+ "schema:extract"
4624
5291
  ],
4625
- "id": "projects:list",
5292
+ "id": "schemas:extract",
4626
5293
  "pluginAlias": "@sanity/cli",
4627
5294
  "pluginName": "@sanity/cli",
4628
5295
  "pluginType": "core",
@@ -4631,38 +5298,70 @@
4631
5298
  "relativePath": [
4632
5299
  "dist",
4633
5300
  "commands",
4634
- "projects",
4635
- "list.js"
5301
+ "schemas",
5302
+ "extract.js"
4636
5303
  ]
4637
5304
  },
4638
- "projects:unclaimed": {
5305
+ "schemas:list": {
4639
5306
  "aliases": [],
4640
5307
  "args": {},
4641
- "description": "Recover details for unclaimed projects created on this machine",
5308
+ "description": "List all schemas in the current dataset.\n\nNote: This command is experimental and subject to change.\n\nRegenerates a manifest file by default. To reuse an existing manifest, use --no-extract-manifest.",
4642
5309
  "examples": [
4643
5310
  {
4644
5311
  "command": "<%= config.bin %> <%= command.id %>",
4645
- "description": "List locally recorded unclaimed projects"
5312
+ "description": "List all schemas found in any workspace dataset in a table"
4646
5313
  },
4647
5314
  {
4648
- "command": "<%= config.bin %> <%= command.id %> --project-id abc123",
4649
- "description": "Show recovery details for one project"
5315
+ "command": "<%= config.bin %> <%= command.id %> --id _.schemas.workspaceName",
5316
+ "description": "Get a schema for a given id"
5317
+ },
5318
+ {
5319
+ "command": "<%= config.bin %> <%= command.id %> --json",
5320
+ "description": "Get stored schemas as pretty-printed json-array"
5321
+ },
5322
+ {
5323
+ "command": "<%= config.bin %> <%= command.id %> --json --id _.schemas.workspaceName",
5324
+ "description": "Get singular stored schema as pretty-printed json-object"
4650
5325
  }
4651
5326
  ],
4652
5327
  "flags": {
4653
- "project-id": {
4654
- "description": "Project ID to recover",
4655
- "name": "project-id",
5328
+ "extract-manifest": {
5329
+ "description": "Regenerate manifest before listing (use --no-extract-manifest to skip)",
5330
+ "hidden": true,
5331
+ "name": "extract-manifest",
5332
+ "allowNo": true,
5333
+ "type": "boolean"
5334
+ },
5335
+ "id": {
5336
+ "description": "Fetch a single schema by id",
5337
+ "name": "id",
5338
+ "hasDynamicHelp": false,
5339
+ "helpValue": "<schema_id>",
5340
+ "multiple": false,
5341
+ "type": "option"
5342
+ },
5343
+ "json": {
5344
+ "description": "Get schema as json",
5345
+ "name": "json",
5346
+ "allowNo": false,
5347
+ "type": "boolean"
5348
+ },
5349
+ "manifest-dir": {
5350
+ "description": "Directory containing manifest file",
5351
+ "hidden": true,
5352
+ "name": "manifest-dir",
5353
+ "default": "./dist/static",
4656
5354
  "hasDynamicHelp": false,
5355
+ "helpValue": "<directory>",
4657
5356
  "multiple": false,
4658
5357
  "type": "option"
4659
5358
  }
4660
5359
  },
4661
5360
  "hasDynamicHelp": false,
4662
5361
  "hiddenAliases": [
4663
- "project:unclaimed"
5362
+ "schema:list"
4664
5363
  ],
4665
- "id": "projects:unclaimed",
5364
+ "id": "schemas:list",
4666
5365
  "pluginAlias": "@sanity/cli",
4667
5366
  "pluginName": "@sanity/cli",
4668
5367
  "pluginType": "core",
@@ -4671,87 +5370,79 @@
4671
5370
  "relativePath": [
4672
5371
  "dist",
4673
5372
  "commands",
4674
- "projects",
4675
- "unclaimed.js"
5373
+ "schemas",
5374
+ "list.js"
4676
5375
  ]
4677
5376
  },
4678
- "schemas:delete": {
5377
+ "schemas:validate": {
4679
5378
  "aliases": [],
4680
5379
  "args": {},
4681
- "description": "Delete schema documents by id",
5380
+ "description": "Validates all schema types specified in a workspace",
4682
5381
  "examples": [
4683
5382
  {
4684
- "command": "<%= config.bin %> <%= command.id %> --ids sanity.workspace.schema.workspaceName",
4685
- "description": "Delete a single schema"
5383
+ "command": "<%= config.bin %> <%= command.id %> --workspace default",
5384
+ "description": "Validates all schema types in a Sanity project with more than one workspace"
4686
5385
  },
4687
5386
  {
4688
- "command": "<%= config.bin %> <%= command.id %> --ids sanity.workspace.schema.workspaceName,prefix.sanity.workspace.schema.otherWorkspace",
4689
- "description": "Delete multiple schemas"
5387
+ "command": "<%= config.bin %> <%= command.id %> > report.txt",
5388
+ "description": "Save the results of the report into a file"
5389
+ },
5390
+ {
5391
+ "command": "<%= config.bin %> <%= command.id %> --level error",
5392
+ "description": "Report out only errors"
5393
+ },
5394
+ {
5395
+ "command": "<%= config.bin %> <%= command.id %> --debug-metafile-path metafile.json",
5396
+ "description": "Generate a report which can be analyzed with https://esbuild.github.io/analyze/"
4690
5397
  }
4691
5398
  ],
4692
5399
  "flags": {
4693
- "project-id": {
4694
- "char": "p",
4695
- "description": "Project ID to delete schema from (overrides CLI configuration)",
4696
- "helpGroup": "OVERRIDE",
4697
- "name": "project-id",
4698
- "hasDynamicHelp": false,
4699
- "helpValue": "<id>",
4700
- "multiple": false,
4701
- "type": "option"
4702
- },
4703
- "dataset": {
4704
- "char": "d",
4705
- "description": "Delete schemas from a specific dataset",
4706
- "name": "dataset",
5400
+ "debug-metafile-path": {
5401
+ "description": "Optional path where a metafile will be written for build analysis. Only written on successful validation. Can be analyzed at https://esbuild.github.io/analyze/",
5402
+ "helpGroup": "DEBUG",
5403
+ "name": "debug-metafile-path",
4707
5404
  "hasDynamicHelp": false,
4708
- "helpValue": "<name>",
4709
5405
  "multiple": false,
4710
5406
  "type": "option"
4711
5407
  },
4712
- "extract-manifest": {
4713
- "description": "Generate manifest file (disable with --no-extract-manifest)",
4714
- "hidden": true,
4715
- "name": "extract-manifest",
4716
- "allowNo": true,
4717
- "type": "boolean"
4718
- },
4719
- "ids": {
4720
- "description": "Comma-separated list of schema ids to delete",
4721
- "name": "ids",
4722
- "required": true,
5408
+ "format": {
5409
+ "description": "The output format used to print schema errors and warnings",
5410
+ "name": "format",
5411
+ "default": "pretty",
4723
5412
  "hasDynamicHelp": false,
4724
5413
  "multiple": false,
5414
+ "options": [
5415
+ "pretty",
5416
+ "ndjson",
5417
+ "json"
5418
+ ],
4725
5419
  "type": "option"
4726
5420
  },
4727
- "manifest-dir": {
4728
- "description": "Directory containing manifest file",
4729
- "hidden": true,
4730
- "name": "manifest-dir",
4731
- "default": "./dist/static",
5421
+ "level": {
5422
+ "description": "The minimum level reported out",
5423
+ "name": "level",
5424
+ "default": "warning",
5425
+ "hasDynamicHelp": false,
5426
+ "multiple": false,
5427
+ "options": [
5428
+ "error",
5429
+ "warning"
5430
+ ],
5431
+ "type": "option"
5432
+ },
5433
+ "workspace": {
5434
+ "description": "The name of the workspace to use when validating all schema types",
5435
+ "name": "workspace",
4732
5436
  "hasDynamicHelp": false,
4733
5437
  "multiple": false,
4734
5438
  "type": "option"
4735
- },
4736
- "verbose": {
4737
- "description": "Enable verbose logging",
4738
- "name": "verbose",
4739
- "allowNo": false,
4740
- "type": "boolean"
4741
- },
4742
- "yes": {
4743
- "char": "y",
4744
- "description": "Delete schemas without prompting for confirmation",
4745
- "name": "yes",
4746
- "allowNo": false,
4747
- "type": "boolean"
4748
5439
  }
4749
5440
  },
4750
5441
  "hasDynamicHelp": false,
4751
5442
  "hiddenAliases": [
4752
- "schema:delete"
5443
+ "schema:validate"
4753
5444
  ],
4754
- "id": "schemas:delete",
5445
+ "id": "schemas:validate",
4755
5446
  "pluginAlias": "@sanity/cli",
4756
5447
  "pluginName": "@sanity/cli",
4757
5448
  "pluginType": "core",
@@ -4761,67 +5452,49 @@
4761
5452
  "dist",
4762
5453
  "commands",
4763
5454
  "schemas",
4764
- "delete.js"
5455
+ "validate.js"
4765
5456
  ]
4766
5457
  },
4767
- "schemas:deploy": {
5458
+ "skills:install": {
4768
5459
  "aliases": [],
4769
5460
  "args": {},
4770
- "description": "Deploy schema documents into workspace datasets.\n\nNote: This command is experimental and subject to change.\n\nRegenerates a manifest file by default. To re-use an existing manifest, use --no-extract-manifest.",
5461
+ "description": "Install Sanity agent skills for detected AI editors (Antigravity, Claude Code, Cline, Cline CLI, Codex CLI, Cursor, Gemini CLI, GitHub Copilot CLI, OpenCode, VS Code, VS Code Insiders)",
4771
5462
  "examples": [
4772
5463
  {
4773
5464
  "command": "<%= config.bin %> <%= command.id %>",
4774
- "description": "Deploy all workspace schemas"
4775
- },
4776
- {
4777
- "command": "<%= config.bin %> <%= command.id %> --workspace default",
4778
- "description": "Deploy the schema for only the workspace \"default\""
5465
+ "description": "Install Sanity agent skills for detected AI editors"
4779
5466
  }
4780
5467
  ],
4781
- "flags": {
4782
- "extract-manifest": {
4783
- "description": "Regenerate manifest before deploying (use --no-extract-manifest to skip)",
4784
- "name": "extract-manifest",
4785
- "allowNo": true,
4786
- "type": "boolean"
4787
- },
4788
- "manifest-dir": {
4789
- "description": "Directory containing manifest file",
4790
- "name": "manifest-dir",
4791
- "default": "./dist/static",
4792
- "hasDynamicHelp": false,
4793
- "helpValue": "<directory>",
4794
- "multiple": false,
4795
- "type": "option"
4796
- },
4797
- "tag": {
4798
- "description": "Add a tag suffix to the schema id",
4799
- "name": "tag",
4800
- "hasDynamicHelp": false,
4801
- "helpValue": "<tag>",
4802
- "multiple": false,
4803
- "type": "option"
4804
- },
4805
- "verbose": {
4806
- "description": "Print detailed information during deployment",
4807
- "name": "verbose",
4808
- "allowNo": false,
4809
- "type": "boolean"
4810
- },
4811
- "workspace": {
4812
- "description": "The name of the workspace to deploy a schema for",
4813
- "name": "workspace",
4814
- "hasDynamicHelp": false,
4815
- "helpValue": "<name>",
4816
- "multiple": false,
4817
- "type": "option"
4818
- }
4819
- },
5468
+ "flags": {},
4820
5469
  "hasDynamicHelp": false,
4821
- "hiddenAliases": [
4822
- "schema:deploy"
5470
+ "hiddenAliases": [],
5471
+ "id": "skills:install",
5472
+ "pluginAlias": "@sanity/cli",
5473
+ "pluginName": "@sanity/cli",
5474
+ "pluginType": "core",
5475
+ "strict": true,
5476
+ "isESM": true,
5477
+ "relativePath": [
5478
+ "dist",
5479
+ "commands",
5480
+ "skills",
5481
+ "install.js"
5482
+ ]
5483
+ },
5484
+ "telemetry:disable": {
5485
+ "aliases": [],
5486
+ "args": {},
5487
+ "description": "Disable telemetry for your account",
5488
+ "examples": [
5489
+ {
5490
+ "command": "<%= config.bin %> telemetry <%= command.id %>",
5491
+ "description": "Disable telemetry for your account"
5492
+ }
4823
5493
  ],
4824
- "id": "schemas:deploy",
5494
+ "flags": {},
5495
+ "hasDynamicHelp": false,
5496
+ "hiddenAliases": [],
5497
+ "id": "telemetry:disable",
4825
5498
  "pluginAlias": "@sanity/cli",
4826
5499
  "pluginName": "@sanity/cli",
4827
5500
  "pluginType": "core",
@@ -4830,85 +5503,92 @@
4830
5503
  "relativePath": [
4831
5504
  "dist",
4832
5505
  "commands",
4833
- "schemas",
4834
- "deploy.js"
5506
+ "telemetry",
5507
+ "disable.js"
4835
5508
  ]
4836
5509
  },
4837
- "schemas:extract": {
5510
+ "telemetry:enable": {
4838
5511
  "aliases": [],
4839
5512
  "args": {},
4840
- "description": "Extract a JSON representation of a Sanity schema within a Studio context.\n\nNote: This command is experimental and subject to change.",
5513
+ "description": "Enable telemetry for your account",
4841
5514
  "examples": [
4842
5515
  {
4843
- "command": "<%= config.bin %> <%= command.id %> --workspace default",
4844
- "description": "Extracts schema types in a Sanity project with more than one workspace"
4845
- },
5516
+ "command": "<%= config.bin %> telemetry <%= command.id %>",
5517
+ "description": "Enable telemetry for your account"
5518
+ }
5519
+ ],
5520
+ "flags": {},
5521
+ "hasDynamicHelp": false,
5522
+ "hiddenAliases": [],
5523
+ "id": "telemetry:enable",
5524
+ "pluginAlias": "@sanity/cli",
5525
+ "pluginName": "@sanity/cli",
5526
+ "pluginType": "core",
5527
+ "strict": true,
5528
+ "isESM": true,
5529
+ "relativePath": [
5530
+ "dist",
5531
+ "commands",
5532
+ "telemetry",
5533
+ "enable.js"
5534
+ ]
5535
+ },
5536
+ "telemetry:status": {
5537
+ "aliases": [],
5538
+ "args": {},
5539
+ "description": "Check telemetry status for your account",
5540
+ "examples": [
4846
5541
  {
4847
- "command": "<%= config.bin %> <%= command.id %> --watch",
4848
- "description": "Watch mode - re-extract on changes"
4849
- },
5542
+ "command": "<%= config.bin %> telemetry <%= command.id %>",
5543
+ "description": "Check telemetry status for your account"
5544
+ }
5545
+ ],
5546
+ "flags": {},
5547
+ "hasDynamicHelp": false,
5548
+ "hiddenAliases": [],
5549
+ "id": "telemetry:status",
5550
+ "pluginAlias": "@sanity/cli",
5551
+ "pluginName": "@sanity/cli",
5552
+ "pluginType": "core",
5553
+ "strict": true,
5554
+ "isESM": true,
5555
+ "relativePath": [
5556
+ "dist",
5557
+ "commands",
5558
+ "telemetry",
5559
+ "status.js"
5560
+ ]
5561
+ },
5562
+ "typegen:generate": {
5563
+ "aliases": [],
5564
+ "args": {},
5565
+ "description": "Sanity TypeGen\n\nConfiguration:\nThis command can utilize configuration settings defined in a `sanity-typegen.json` file. These settings include:\n\n- \"path\": Specifies a glob pattern to locate your TypeScript or JavaScript files.\n Default: \"./src/**/*.{ts,tsx,js,jsx}\"\n\n- \"schema\": Defines the path to your Sanity schema file. This file should be generated using the `sanity schema extract` command.\n Default: \"schema.json\"\n\n- \"generates\": Indicates the path where the generated TypeScript type definitions will be saved.\n Default: \"./sanity.types.ts\"\n\nThe default configuration values listed above are used if not overridden in your `sanity-typegen.json` configuration file. To customize the behavior of the type generation, adjust these properties in the configuration file according to your project's needs.\n\nNote:\n- The `sanity schema extract` command is a prerequisite for extracting your Sanity Studio schema into a `schema.json` file, which is then used by the `sanity typegen generate` command to generate type definitions.",
5566
+ "examples": [
4850
5567
  {
4851
- "command": "<%= config.bin %> <%= command.id %> --watch --watch-patterns \"lib/**/*.ts\"",
4852
- "description": "Watch with custom glob patterns"
5568
+ "command": "<%= config.bin %> <%= command.id %>",
5569
+ "description": "Generate TypeScript type definitions from a Sanity Studio schema extracted using the `sanity schema extract` command."
4853
5570
  }
4854
5571
  ],
4855
5572
  "flags": {
4856
- "enforce-required-fields": {
4857
- "description": "Makes the schema generated treat fields marked as required as non-optional",
4858
- "name": "enforce-required-fields",
4859
- "allowNo": false,
4860
- "type": "boolean"
4861
- },
4862
- "force": {
4863
- "description": "Overwrite an existing schema file",
4864
- "name": "force",
4865
- "allowNo": false,
4866
- "type": "boolean"
4867
- },
4868
- "format": {
4869
- "description": "Output format (currently only groq-type-nodes)",
4870
- "name": "format",
4871
- "default": "groq-type-nodes",
4872
- "hasDynamicHelp": false,
4873
- "helpValue": "<format>",
4874
- "multiple": false,
4875
- "type": "option"
4876
- },
4877
- "path": {
4878
- "description": "Optional path to specify destination of the schema file",
4879
- "name": "path",
5573
+ "config-path": {
5574
+ "description": "[Default: sanity-typegen.json] Specifies the path to the typegen configuration file. This file should be a JSON file that contains settings for the type generation process.",
5575
+ "name": "config-path",
4880
5576
  "hasDynamicHelp": false,
4881
5577
  "multiple": false,
4882
5578
  "type": "option"
4883
5579
  },
4884
5580
  "watch": {
4885
- "description": "Enable watch mode to re-extract schema on file changes",
5581
+ "description": "[Default: false] Run the typegen in watch mode",
4886
5582
  "name": "watch",
4887
5583
  "allowNo": false,
4888
5584
  "type": "boolean"
4889
- },
4890
- "watch-patterns": {
4891
- "description": "Additional glob pattern(s) to watch (can be specified multiple times)",
4892
- "name": "watch-patterns",
4893
- "hasDynamicHelp": false,
4894
- "helpValue": "<glob>",
4895
- "multiple": true,
4896
- "type": "option"
4897
- },
4898
- "workspace": {
4899
- "description": "The name of the workspace to generate a schema for",
4900
- "name": "workspace",
4901
- "hasDynamicHelp": false,
4902
- "helpValue": "<name>",
4903
- "multiple": false,
4904
- "type": "option"
4905
5585
  }
4906
5586
  },
4907
5587
  "hasDynamicHelp": false,
4908
5588
  "hiddenAliases": [
4909
- "schema:extract"
5589
+ "typegen:generate"
4910
5590
  ],
4911
- "id": "schemas:extract",
5591
+ "id": "typegen:generate",
4912
5592
  "pluginAlias": "@sanity/cli",
4913
5593
  "pluginName": "@sanity/cli",
4914
5594
  "pluginType": "core",
@@ -4917,70 +5597,94 @@
4917
5597
  "relativePath": [
4918
5598
  "dist",
4919
5599
  "commands",
4920
- "schemas",
4921
- "extract.js"
5600
+ "typegen",
5601
+ "generate.js"
4922
5602
  ]
4923
5603
  },
4924
- "schemas:list": {
5604
+ "tokens:create": {
4925
5605
  "aliases": [],
4926
- "args": {},
4927
- "description": "List all schemas in the current dataset.\n\nNote: This command is experimental and subject to change.\n\nRegenerates a manifest file by default. To reuse an existing manifest, use --no-extract-manifest.",
5606
+ "args": {
5607
+ "label": {
5608
+ "description": "Label for the new token",
5609
+ "name": "label",
5610
+ "required": false
5611
+ }
5612
+ },
5613
+ "description": "Create a new API token for the project",
4928
5614
  "examples": [
4929
5615
  {
4930
- "command": "<%= config.bin %> <%= command.id %>",
4931
- "description": "List all schemas found in any workspace dataset in a table"
5616
+ "command": "<%= config.bin %> <%= command.id %> \"My API Token\"",
5617
+ "description": "Create a token with a label"
4932
5618
  },
4933
5619
  {
4934
- "command": "<%= config.bin %> <%= command.id %> --id _.schemas.workspaceName",
4935
- "description": "Get a schema for a given id"
5620
+ "command": "<%= config.bin %> <%= command.id %> \"My API Token\" --role=editor",
5621
+ "description": "Create a token with editor role"
4936
5622
  },
4937
5623
  {
4938
- "command": "<%= config.bin %> <%= command.id %> --json",
4939
- "description": "Get stored schemas as pretty-printed json-array"
5624
+ "command": "<%= config.bin %> <%= command.id %> \"CI Token\" --role=editor --yes",
5625
+ "description": "Create a token in unattended mode"
4940
5626
  },
4941
5627
  {
4942
- "command": "<%= config.bin %> <%= command.id %> --json --id _.schemas.workspaceName",
4943
- "description": "Get singular stored schema as pretty-printed json-object"
5628
+ "command": "<%= config.bin %> <%= command.id %> \"Build Token\" --expires-at 2027-01-01",
5629
+ "description": "Create a token that expires on a given date"
5630
+ },
5631
+ {
5632
+ "command": "<%= config.bin %> <%= command.id %> \"API Token\" --json",
5633
+ "description": "Output token information as JSON"
5634
+ },
5635
+ {
5636
+ "command": "<%= config.bin %> <%= command.id %> \"My Token\" --project-id abc123 --role=editor",
5637
+ "description": "Create a token for a specific project"
4944
5638
  }
4945
5639
  ],
4946
5640
  "flags": {
4947
- "extract-manifest": {
4948
- "description": "Regenerate manifest before listing (use --no-extract-manifest to skip)",
4949
- "hidden": true,
4950
- "name": "extract-manifest",
4951
- "allowNo": true,
4952
- "type": "boolean"
5641
+ "project-id": {
5642
+ "char": "p",
5643
+ "description": "Project ID to create token in (overrides CLI configuration)",
5644
+ "helpGroup": "OVERRIDE",
5645
+ "name": "project-id",
5646
+ "hasDynamicHelp": false,
5647
+ "helpValue": "<id>",
5648
+ "multiple": false,
5649
+ "type": "option"
4953
5650
  },
4954
- "id": {
4955
- "description": "Fetch a single schema by id",
4956
- "name": "id",
5651
+ "expires-at": {
5652
+ "description": "Date or timestamp the token expires (ISO 8601; tokens never expire by default)",
5653
+ "name": "expires-at",
4957
5654
  "hasDynamicHelp": false,
4958
- "helpValue": "<schema_id>",
5655
+ "helpValue": "2027-01-01",
4959
5656
  "multiple": false,
4960
5657
  "type": "option"
4961
5658
  },
4962
5659
  "json": {
4963
- "description": "Get schema as json",
5660
+ "description": "Output as JSON",
4964
5661
  "name": "json",
4965
5662
  "allowNo": false,
4966
5663
  "type": "boolean"
4967
5664
  },
4968
- "manifest-dir": {
4969
- "description": "Directory containing manifest file",
4970
- "hidden": true,
4971
- "name": "manifest-dir",
4972
- "default": "./dist/static",
5665
+ "role": {
5666
+ "description": "Role to assign to the token (defaults to viewer in unattended mode)",
5667
+ "name": "role",
4973
5668
  "hasDynamicHelp": false,
4974
- "helpValue": "<directory>",
5669
+ "helpValue": "viewer",
4975
5670
  "multiple": false,
4976
5671
  "type": "option"
5672
+ },
5673
+ "yes": {
5674
+ "char": "y",
5675
+ "description": "Skip prompts and use defaults (unattended mode)",
5676
+ "name": "yes",
5677
+ "allowNo": false,
5678
+ "type": "boolean"
4977
5679
  }
4978
5680
  },
4979
5681
  "hasDynamicHelp": false,
4980
5682
  "hiddenAliases": [
4981
- "schema:list"
5683
+ "tokens:add",
5684
+ "token:add",
5685
+ "token:create"
4982
5686
  ],
4983
- "id": "schemas:list",
5687
+ "id": "tokens:create",
4984
5688
  "pluginAlias": "@sanity/cli",
4985
5689
  "pluginName": "@sanity/cli",
4986
5690
  "pluginType": "core",
@@ -4989,79 +5693,62 @@
4989
5693
  "relativePath": [
4990
5694
  "dist",
4991
5695
  "commands",
4992
- "schemas",
4993
- "list.js"
5696
+ "tokens",
5697
+ "create.js"
4994
5698
  ]
4995
5699
  },
4996
- "schemas:validate": {
5700
+ "tokens:delete": {
4997
5701
  "aliases": [],
4998
- "args": {},
4999
- "description": "Validates all schema types specified in a workspace",
5702
+ "args": {
5703
+ "tokenId": {
5704
+ "description": "Token ID to delete (will prompt if not provided)",
5705
+ "name": "tokenId",
5706
+ "required": false
5707
+ }
5708
+ },
5709
+ "description": "Delete an API token from the project",
5000
5710
  "examples": [
5001
5711
  {
5002
- "command": "<%= config.bin %> <%= command.id %> --workspace default",
5003
- "description": "Validates all schema types in a Sanity project with more than one workspace"
5712
+ "command": "<%= config.bin %> <%= command.id %>",
5713
+ "description": "Interactively select and delete a token"
5004
5714
  },
5005
5715
  {
5006
- "command": "<%= config.bin %> <%= command.id %> > report.txt",
5007
- "description": "Save the results of the report into a file"
5716
+ "command": "<%= config.bin %> <%= command.id %> silJ2lFmK6dONB",
5717
+ "description": "Delete a specific token by ID"
5008
5718
  },
5009
5719
  {
5010
- "command": "<%= config.bin %> <%= command.id %> --level error",
5011
- "description": "Report out only errors"
5720
+ "command": "<%= config.bin %> <%= command.id %> silJ2lFmK6dONB --yes",
5721
+ "description": "Delete a specific token without confirmation prompt"
5012
5722
  },
5013
5723
  {
5014
- "command": "<%= config.bin %> <%= command.id %> --debug-metafile-path metafile.json",
5015
- "description": "Generate a report which can be analyzed with https://esbuild.github.io/analyze/"
5724
+ "command": "<%= config.bin %> <%= command.id %> --project-id abc123",
5725
+ "description": "Delete a token from a specific project"
5016
5726
  }
5017
5727
  ],
5018
5728
  "flags": {
5019
- "debug-metafile-path": {
5020
- "description": "Optional path where a metafile will be written for build analysis. Only written on successful validation. Can be analyzed at https://esbuild.github.io/analyze/",
5021
- "helpGroup": "DEBUG",
5022
- "name": "debug-metafile-path",
5023
- "hasDynamicHelp": false,
5024
- "multiple": false,
5025
- "type": "option"
5026
- },
5027
- "format": {
5028
- "description": "The output format used to print schema errors and warnings",
5029
- "name": "format",
5030
- "default": "pretty",
5031
- "hasDynamicHelp": false,
5032
- "multiple": false,
5033
- "options": [
5034
- "pretty",
5035
- "ndjson",
5036
- "json"
5037
- ],
5038
- "type": "option"
5039
- },
5040
- "level": {
5041
- "description": "The minimum level reported out",
5042
- "name": "level",
5043
- "default": "warning",
5729
+ "project-id": {
5730
+ "char": "p",
5731
+ "description": "Project ID to delete token from (overrides CLI configuration)",
5732
+ "helpGroup": "OVERRIDE",
5733
+ "name": "project-id",
5044
5734
  "hasDynamicHelp": false,
5735
+ "helpValue": "<id>",
5045
5736
  "multiple": false,
5046
- "options": [
5047
- "error",
5048
- "warning"
5049
- ],
5050
5737
  "type": "option"
5051
5738
  },
5052
- "workspace": {
5053
- "description": "The name of the workspace to use when validating all schema types",
5054
- "name": "workspace",
5055
- "hasDynamicHelp": false,
5056
- "multiple": false,
5057
- "type": "option"
5739
+ "yes": {
5740
+ "char": "y",
5741
+ "description": "Skip confirmation prompt (unattended mode)",
5742
+ "name": "yes",
5743
+ "allowNo": false,
5744
+ "type": "boolean"
5058
5745
  }
5059
5746
  },
5060
5747
  "hasDynamicHelp": false,
5061
5748
  "hiddenAliases": [
5062
- "schema:validate"
5749
+ "token:delete"
5063
5750
  ],
5064
- "id": "schemas:validate",
5751
+ "id": "tokens:delete",
5065
5752
  "pluginAlias": "@sanity/cli",
5066
5753
  "pluginName": "@sanity/cli",
5067
5754
  "pluginType": "core",
@@ -5070,50 +5757,51 @@
5070
5757
  "relativePath": [
5071
5758
  "dist",
5072
5759
  "commands",
5073
- "schemas",
5074
- "validate.js"
5760
+ "tokens",
5761
+ "delete.js"
5075
5762
  ]
5076
5763
  },
5077
- "skills:install": {
5764
+ "tokens:list": {
5078
5765
  "aliases": [],
5079
5766
  "args": {},
5080
- "description": "Install Sanity agent skills for detected AI editors (Antigravity, Claude Code, Cline, Cline CLI, Codex CLI, Cursor, Gemini CLI, GitHub Copilot CLI, OpenCode, VS Code, VS Code Insiders)",
5767
+ "description": "List API tokens for the project",
5081
5768
  "examples": [
5082
5769
  {
5083
5770
  "command": "<%= config.bin %> <%= command.id %>",
5084
- "description": "Install Sanity agent skills for detected AI editors"
5085
- }
5086
- ],
5087
- "flags": {},
5088
- "hasDynamicHelp": false,
5089
- "hiddenAliases": [],
5090
- "id": "skills:install",
5091
- "pluginAlias": "@sanity/cli",
5092
- "pluginName": "@sanity/cli",
5093
- "pluginType": "core",
5094
- "strict": true,
5095
- "isESM": true,
5096
- "relativePath": [
5097
- "dist",
5098
- "commands",
5099
- "skills",
5100
- "install.js"
5101
- ]
5102
- },
5103
- "telemetry:disable": {
5104
- "aliases": [],
5105
- "args": {},
5106
- "description": "Disable telemetry for your account",
5107
- "examples": [
5771
+ "description": "List tokens for the project"
5772
+ },
5108
5773
  {
5109
- "command": "<%= config.bin %> telemetry <%= command.id %>",
5110
- "description": "Disable telemetry for your account"
5774
+ "command": "<%= config.bin %> <%= command.id %> --json",
5775
+ "description": "List tokens in JSON format"
5776
+ },
5777
+ {
5778
+ "command": "<%= config.bin %> <%= command.id %> --project-id abc123",
5779
+ "description": "List tokens for a specific project"
5111
5780
  }
5112
5781
  ],
5113
- "flags": {},
5782
+ "flags": {
5783
+ "project-id": {
5784
+ "char": "p",
5785
+ "description": "Project ID to list tokens for (overrides CLI configuration)",
5786
+ "helpGroup": "OVERRIDE",
5787
+ "name": "project-id",
5788
+ "hasDynamicHelp": false,
5789
+ "helpValue": "<id>",
5790
+ "multiple": false,
5791
+ "type": "option"
5792
+ },
5793
+ "json": {
5794
+ "description": "Output tokens in JSON format",
5795
+ "name": "json",
5796
+ "allowNo": false,
5797
+ "type": "boolean"
5798
+ }
5799
+ },
5114
5800
  "hasDynamicHelp": false,
5115
- "hiddenAliases": [],
5116
- "id": "telemetry:disable",
5801
+ "hiddenAliases": [
5802
+ "token:list"
5803
+ ],
5804
+ "id": "tokens:list",
5117
5805
  "pluginAlias": "@sanity/cli",
5118
5806
  "pluginName": "@sanity/cli",
5119
5807
  "pluginType": "core",
@@ -5122,24 +5810,50 @@
5122
5810
  "relativePath": [
5123
5811
  "dist",
5124
5812
  "commands",
5125
- "telemetry",
5126
- "disable.js"
5813
+ "tokens",
5814
+ "list.js"
5127
5815
  ]
5128
5816
  },
5129
- "telemetry:enable": {
5817
+ "tokens:rotate": {
5130
5818
  "aliases": [],
5131
5819
  "args": {},
5132
- "description": "Enable telemetry for your account",
5820
+ "description": "Rotate an API token, replacing its secret with a new one",
5133
5821
  "examples": [
5134
5822
  {
5135
- "command": "<%= config.bin %> telemetry <%= command.id %>",
5136
- "description": "Enable telemetry for your account"
5823
+ "command": "echo \"$SANITY_TOKEN\" | <%= config.bin %> <%= command.id %>",
5824
+ "description": "Rotate the token piped on standard input"
5825
+ },
5826
+ {
5827
+ "command": "<%= config.bin %> <%= command.id %> < token.txt",
5828
+ "description": "Rotate a token read from a file"
5829
+ },
5830
+ {
5831
+ "command": "echo \"$SANITY_TOKEN\" | <%= config.bin %> <%= command.id %> --json",
5832
+ "description": "Output the rotated token as JSON"
5137
5833
  }
5138
5834
  ],
5139
- "flags": {},
5835
+ "flags": {
5836
+ "json": {
5837
+ "description": "Output as JSON",
5838
+ "name": "json",
5839
+ "allowNo": false,
5840
+ "type": "boolean"
5841
+ },
5842
+ "token": {
5843
+ "char": "t",
5844
+ "description": "Token to rotate (prefer standard input to keep it out of shell history)",
5845
+ "name": "token",
5846
+ "hasDynamicHelp": false,
5847
+ "helpValue": "<token>",
5848
+ "multiple": false,
5849
+ "type": "option"
5850
+ }
5851
+ },
5140
5852
  "hasDynamicHelp": false,
5141
- "hiddenAliases": [],
5142
- "id": "telemetry:enable",
5853
+ "hiddenAliases": [
5854
+ "token:rotate"
5855
+ ],
5856
+ "id": "tokens:rotate",
5143
5857
  "pluginAlias": "@sanity/cli",
5144
5858
  "pluginName": "@sanity/cli",
5145
5859
  "pluginType": "core",
@@ -5148,24 +5862,62 @@
5148
5862
  "relativePath": [
5149
5863
  "dist",
5150
5864
  "commands",
5151
- "telemetry",
5152
- "enable.js"
5865
+ "tokens",
5866
+ "rotate.js"
5153
5867
  ]
5154
5868
  },
5155
- "telemetry:status": {
5869
+ "users:invite": {
5156
5870
  "aliases": [],
5157
- "args": {},
5158
- "description": "Check telemetry status for your account",
5871
+ "args": {
5872
+ "email": {
5873
+ "description": "Email address to invite",
5874
+ "name": "email",
5875
+ "required": false
5876
+ }
5877
+ },
5878
+ "description": "Invite a new user to the project",
5159
5879
  "examples": [
5160
5880
  {
5161
- "command": "<%= config.bin %> telemetry <%= command.id %>",
5162
- "description": "Check telemetry status for your account"
5881
+ "command": "<%= config.bin %> <%= command.id %>",
5882
+ "description": "Invite a new user to the project (prompt for details)"
5883
+ },
5884
+ {
5885
+ "command": "<%= config.bin %> <%= command.id %> pippi@sanity.io",
5886
+ "description": "Send a new user invite to the email \"pippi@sanity.io\", prompt for role"
5887
+ },
5888
+ {
5889
+ "command": "<%= config.bin %> <%= command.id %> pippi@sanity.io --role administrator",
5890
+ "description": "Send a new user invite to the email \"pippi@sanity.io\", as administrator"
5891
+ },
5892
+ {
5893
+ "command": "<%= config.bin %> <%= command.id %> pippi@sanity.io --project-id abc123",
5894
+ "description": "Invite a user to a specific project"
5163
5895
  }
5164
5896
  ],
5165
- "flags": {},
5897
+ "flags": {
5898
+ "project-id": {
5899
+ "char": "p",
5900
+ "description": "Project ID to invite user to (overrides CLI configuration)",
5901
+ "helpGroup": "OVERRIDE",
5902
+ "name": "project-id",
5903
+ "hasDynamicHelp": false,
5904
+ "helpValue": "<id>",
5905
+ "multiple": false,
5906
+ "type": "option"
5907
+ },
5908
+ "role": {
5909
+ "description": "Role to invite the user as",
5910
+ "name": "role",
5911
+ "hasDynamicHelp": false,
5912
+ "multiple": false,
5913
+ "type": "option"
5914
+ }
5915
+ },
5166
5916
  "hasDynamicHelp": false,
5167
- "hiddenAliases": [],
5168
- "id": "telemetry:status",
5917
+ "hiddenAliases": [
5918
+ "user:invite"
5919
+ ],
5920
+ "id": "users:invite",
5169
5921
  "pluginAlias": "@sanity/cli",
5170
5922
  "pluginName": "@sanity/cli",
5171
5923
  "pluginType": "core",
@@ -5174,50 +5926,36 @@
5174
5926
  "relativePath": [
5175
5927
  "dist",
5176
5928
  "commands",
5177
- "telemetry",
5178
- "status.js"
5929
+ "users",
5930
+ "invite.js"
5179
5931
  ]
5180
5932
  },
5181
- "tokens:create": {
5933
+ "users:list": {
5182
5934
  "aliases": [],
5183
- "args": {
5184
- "label": {
5185
- "description": "Label for the new token",
5186
- "name": "label",
5187
- "required": false
5188
- }
5189
- },
5190
- "description": "Create a new API token for the project",
5935
+ "args": {},
5936
+ "description": "List project members",
5191
5937
  "examples": [
5192
5938
  {
5193
- "command": "<%= config.bin %> <%= command.id %> \"My API Token\"",
5194
- "description": "Create a token with a label"
5195
- },
5196
- {
5197
- "command": "<%= config.bin %> <%= command.id %> \"My API Token\" --role=editor",
5198
- "description": "Create a token with editor role"
5199
- },
5200
- {
5201
- "command": "<%= config.bin %> <%= command.id %> \"CI Token\" --role=editor --yes",
5202
- "description": "Create a token in unattended mode"
5939
+ "command": "<%= config.bin %> <%= command.id %>",
5940
+ "description": "List all users of the project"
5203
5941
  },
5204
5942
  {
5205
- "command": "<%= config.bin %> <%= command.id %> \"Build Token\" --expires-at 2027-01-01",
5206
- "description": "Create a token that expires on a given date"
5943
+ "command": "<%= config.bin %> <%= command.id %> --no-invitations --no-robots",
5944
+ "description": "List all users of the project, but exclude pending invitations and robots"
5207
5945
  },
5208
5946
  {
5209
- "command": "<%= config.bin %> <%= command.id %> \"API Token\" --json",
5210
- "description": "Output token information as JSON"
5947
+ "command": "<%= config.bin %> <%= command.id %> --sort role",
5948
+ "description": "List all users, sorted by role"
5211
5949
  },
5212
5950
  {
5213
- "command": "<%= config.bin %> <%= command.id %> \"My Token\" --project-id abc123 --role=editor",
5214
- "description": "Create a token for a specific project"
5951
+ "command": "<%= config.bin %> <%= command.id %> --project-id abc123",
5952
+ "description": "List users for a specific project"
5215
5953
  }
5216
5954
  ],
5217
5955
  "flags": {
5218
5956
  "project-id": {
5219
5957
  "char": "p",
5220
- "description": "Project ID to create token in (overrides CLI configuration)",
5958
+ "description": "Project ID to list users for (overrides CLI configuration)",
5221
5959
  "helpGroup": "OVERRIDE",
5222
5960
  "name": "project-id",
5223
5961
  "hasDynamicHelp": false,
@@ -5225,43 +5963,50 @@
5225
5963
  "multiple": false,
5226
5964
  "type": "option"
5227
5965
  },
5228
- "expires-at": {
5229
- "description": "Date or timestamp the token expires (ISO 8601; tokens never expire by default)",
5230
- "name": "expires-at",
5966
+ "invitations": {
5967
+ "description": "Includes or excludes pending invitations",
5968
+ "name": "invitations",
5969
+ "allowNo": true,
5970
+ "type": "boolean"
5971
+ },
5972
+ "order": {
5973
+ "description": "Sort output ascending/descending",
5974
+ "name": "order",
5975
+ "default": "asc",
5231
5976
  "hasDynamicHelp": false,
5232
- "helpValue": "2027-01-01",
5233
5977
  "multiple": false,
5978
+ "options": [
5979
+ "asc",
5980
+ "desc"
5981
+ ],
5234
5982
  "type": "option"
5235
5983
  },
5236
- "json": {
5237
- "description": "Output as JSON",
5238
- "name": "json",
5239
- "allowNo": false,
5984
+ "robots": {
5985
+ "description": "Includes or excludes robots (token users)",
5986
+ "name": "robots",
5987
+ "allowNo": true,
5240
5988
  "type": "boolean"
5241
5989
  },
5242
- "role": {
5243
- "description": "Role to assign to the token (defaults to viewer in unattended mode)",
5244
- "name": "role",
5990
+ "sort": {
5991
+ "description": "Sort users by specified column",
5992
+ "name": "sort",
5993
+ "default": "date",
5245
5994
  "hasDynamicHelp": false,
5246
- "helpValue": "viewer",
5247
5995
  "multiple": false,
5996
+ "options": [
5997
+ "id",
5998
+ "name",
5999
+ "role",
6000
+ "date"
6001
+ ],
5248
6002
  "type": "option"
5249
- },
5250
- "yes": {
5251
- "char": "y",
5252
- "description": "Skip prompts and use defaults (unattended mode)",
5253
- "name": "yes",
5254
- "allowNo": false,
5255
- "type": "boolean"
5256
6003
  }
5257
6004
  },
5258
6005
  "hasDynamicHelp": false,
5259
6006
  "hiddenAliases": [
5260
- "tokens:add",
5261
- "token:add",
5262
- "token:create"
6007
+ "user:list"
5263
6008
  ],
5264
- "id": "tokens:create",
6009
+ "id": "users:list",
5265
6010
  "pluginAlias": "@sanity/cli",
5266
6011
  "pluginName": "@sanity/cli",
5267
6012
  "pluginType": "core",
@@ -5270,116 +6015,225 @@
5270
6015
  "relativePath": [
5271
6016
  "dist",
5272
6017
  "commands",
5273
- "tokens",
5274
- "create.js"
6018
+ "users",
6019
+ "list.js"
5275
6020
  ]
5276
6021
  },
5277
- "tokens:delete": {
6022
+ "context:imports:create": {
5278
6023
  "aliases": [],
5279
6024
  "args": {
5280
- "tokenId": {
5281
- "description": "Token ID to delete (will prompt if not provided)",
5282
- "name": "tokenId",
5283
- "required": false
6025
+ "knowledgeBaseId": {
6026
+ "description": "Knowledge base ID",
6027
+ "name": "knowledgeBaseId",
6028
+ "required": true
5284
6029
  }
5285
6030
  },
5286
- "description": "Delete an API token from the project",
6031
+ "description": "Import content into a knowledge base",
5287
6032
  "examples": [
5288
6033
  {
5289
- "command": "<%= config.bin %> <%= command.id %>",
5290
- "description": "Interactively select and delete a token"
6034
+ "command": "<%= config.bin %> <%= command.id %> kb-abc123 --text \"Refunds are processed within 5 days\" --title \"Refund policy\"",
6035
+ "description": "Import inline text"
5291
6036
  },
5292
6037
  {
5293
- "command": "<%= config.bin %> <%= command.id %> silJ2lFmK6dONB",
5294
- "description": "Delete a specific token by ID"
6038
+ "command": "<%= config.bin %> <%= command.id %> kb-abc123 --file ./handbook.pdf",
6039
+ "description": "Upload and import a local file"
5295
6040
  },
5296
6041
  {
5297
- "command": "<%= config.bin %> <%= command.id %> silJ2lFmK6dONB --yes",
5298
- "description": "Delete a specific token without confirmation prompt"
6042
+ "command": "<%= config.bin %> <%= command.id %> kb-abc123 --url https://example.com/docs",
6043
+ "description": "Crawl a website"
5299
6044
  },
5300
6045
  {
5301
- "command": "<%= config.bin %> <%= command.id %> --project-id abc123",
5302
- "description": "Delete a token from a specific project"
6046
+ "command": "<%= config.bin %> <%= command.id %> kb-abc123 --query '*[_type == \"article\"]' --sanity-project abc123 --sanity-dataset production",
6047
+ "description": "Bind a Sanity dataset as a source"
5303
6048
  }
5304
6049
  ],
5305
6050
  "flags": {
5306
- "project-id": {
5307
- "char": "p",
5308
- "description": "Project ID to delete token from (overrides CLI configuration)",
5309
- "helpGroup": "OVERRIDE",
5310
- "name": "project-id",
6051
+ "content-type": {
6052
+ "description": "Content type of the import (--text: text/markdown or text/plain; --file: any MIME type, inferred from the file extension when omitted)",
6053
+ "name": "content-type",
6054
+ "required": false,
6055
+ "hasDynamicHelp": false,
6056
+ "helpValue": "<mime>",
6057
+ "multiple": false,
6058
+ "type": "option"
6059
+ },
6060
+ "file": {
6061
+ "description": "Path to a local file to import",
6062
+ "exclusive": [
6063
+ "text",
6064
+ "url",
6065
+ "query"
6066
+ ],
6067
+ "name": "file",
6068
+ "required": false,
6069
+ "hasDynamicHelp": false,
6070
+ "helpValue": "<path>",
6071
+ "multiple": false,
6072
+ "type": "option"
6073
+ },
6074
+ "query": {
6075
+ "description": "GROQ query binding a Sanity dataset as a source",
6076
+ "exclusive": [
6077
+ "text",
6078
+ "url",
6079
+ "file"
6080
+ ],
6081
+ "name": "query",
6082
+ "required": false,
6083
+ "hasDynamicHelp": false,
6084
+ "multiple": false,
6085
+ "type": "option"
6086
+ },
6087
+ "sanity-dataset": {
6088
+ "dependsOn": [
6089
+ "query"
6090
+ ],
6091
+ "description": "Sanity dataset for a dataset import",
6092
+ "name": "sanity-dataset",
6093
+ "required": false,
6094
+ "hasDynamicHelp": false,
6095
+ "helpValue": "<name>",
6096
+ "multiple": false,
6097
+ "type": "option"
6098
+ },
6099
+ "sanity-project": {
6100
+ "dependsOn": [
6101
+ "query"
6102
+ ],
6103
+ "description": "Sanity project ID for a dataset import",
6104
+ "name": "sanity-project",
6105
+ "required": false,
5311
6106
  "hasDynamicHelp": false,
5312
6107
  "helpValue": "<id>",
5313
6108
  "multiple": false,
5314
6109
  "type": "option"
5315
6110
  },
5316
- "yes": {
5317
- "char": "y",
5318
- "description": "Skip confirmation prompt (unattended mode)",
5319
- "name": "yes",
6111
+ "text": {
6112
+ "description": "Inline text content to import (requires --title)",
6113
+ "exclusive": [
6114
+ "file",
6115
+ "url",
6116
+ "query"
6117
+ ],
6118
+ "name": "text",
5320
6119
  "required": false,
5321
- "allowNo": false,
5322
- "type": "boolean"
6120
+ "hasDynamicHelp": false,
6121
+ "multiple": false,
6122
+ "type": "option"
6123
+ },
6124
+ "title": {
6125
+ "dependsOn": [
6126
+ "text"
6127
+ ],
6128
+ "description": "Title for an inline text import",
6129
+ "name": "title",
6130
+ "required": false,
6131
+ "hasDynamicHelp": false,
6132
+ "multiple": false,
6133
+ "type": "option"
6134
+ },
6135
+ "url": {
6136
+ "description": "Website URL to crawl",
6137
+ "exclusive": [
6138
+ "text",
6139
+ "file",
6140
+ "query"
6141
+ ],
6142
+ "name": "url",
6143
+ "required": false,
6144
+ "hasDynamicHelp": false,
6145
+ "helpValue": "<url>",
6146
+ "multiple": false,
6147
+ "type": "option"
5323
6148
  }
5324
6149
  },
5325
- "hasDynamicHelp": false,
5326
- "hiddenAliases": [
5327
- "token:delete"
5328
- ],
5329
- "id": "tokens:delete",
5330
- "pluginAlias": "@sanity/cli",
5331
- "pluginName": "@sanity/cli",
5332
- "pluginType": "core",
5333
- "strict": true,
6150
+ "hasDynamicHelp": false,
6151
+ "hiddenAliases": [],
6152
+ "id": "context:imports:create",
6153
+ "pluginAlias": "@sanity/cli",
6154
+ "pluginName": "@sanity/cli",
6155
+ "pluginType": "core",
6156
+ "strict": true,
6157
+ "telemetry": {
6158
+ "redactedFlags": [
6159
+ {
6160
+ "canonical": "--text",
6161
+ "flags": [
6162
+ "--text"
6163
+ ]
6164
+ },
6165
+ {
6166
+ "canonical": "--file",
6167
+ "flags": [
6168
+ "--file"
6169
+ ]
6170
+ },
6171
+ {
6172
+ "canonical": "--url",
6173
+ "flags": [
6174
+ "--url"
6175
+ ]
6176
+ },
6177
+ {
6178
+ "canonical": "--title",
6179
+ "flags": [
6180
+ "--title"
6181
+ ]
6182
+ },
6183
+ {
6184
+ "canonical": "--query",
6185
+ "flags": [
6186
+ "--query"
6187
+ ]
6188
+ }
6189
+ ]
6190
+ },
5334
6191
  "isESM": true,
5335
6192
  "relativePath": [
5336
6193
  "dist",
5337
6194
  "commands",
5338
- "tokens",
5339
- "delete.js"
6195
+ "context",
6196
+ "imports",
6197
+ "create.js"
5340
6198
  ]
5341
6199
  },
5342
- "tokens:list": {
6200
+ "context:imports:delete": {
5343
6201
  "aliases": [],
5344
- "args": {},
5345
- "description": "List API tokens for the project",
5346
- "examples": [
5347
- {
5348
- "command": "<%= config.bin %> <%= command.id %>",
5349
- "description": "List tokens for the project"
6202
+ "args": {
6203
+ "knowledgeBaseId": {
6204
+ "description": "Knowledge base ID",
6205
+ "name": "knowledgeBaseId",
6206
+ "required": true
5350
6207
  },
6208
+ "importId": {
6209
+ "description": "Import ID",
6210
+ "name": "importId",
6211
+ "required": true
6212
+ }
6213
+ },
6214
+ "description": "Delete an import from a knowledge base",
6215
+ "examples": [
5351
6216
  {
5352
- "command": "<%= config.bin %> <%= command.id %> --json",
5353
- "description": "List tokens in JSON format"
6217
+ "command": "<%= config.bin %> <%= command.id %> kb-abc123 import-def456",
6218
+ "description": "Delete an import after confirmation"
5354
6219
  },
5355
6220
  {
5356
- "command": "<%= config.bin %> <%= command.id %> --project-id abc123",
5357
- "description": "List tokens for a specific project"
6221
+ "command": "<%= config.bin %> <%= command.id %> kb-abc123 import-def456 --yes",
6222
+ "description": "Delete an import without confirmation prompt"
5358
6223
  }
5359
6224
  ],
5360
6225
  "flags": {
5361
- "project-id": {
5362
- "char": "p",
5363
- "description": "Project ID to list tokens for (overrides CLI configuration)",
5364
- "helpGroup": "OVERRIDE",
5365
- "name": "project-id",
5366
- "hasDynamicHelp": false,
5367
- "helpValue": "<id>",
5368
- "multiple": false,
5369
- "type": "option"
5370
- },
5371
- "json": {
5372
- "description": "Output tokens in JSON format",
5373
- "name": "json",
6226
+ "yes": {
6227
+ "char": "y",
6228
+ "description": "Skip confirmation prompt (unattended mode)",
6229
+ "name": "yes",
5374
6230
  "allowNo": false,
5375
6231
  "type": "boolean"
5376
6232
  }
5377
6233
  },
5378
6234
  "hasDynamicHelp": false,
5379
- "hiddenAliases": [
5380
- "token:list"
5381
- ],
5382
- "id": "tokens:list",
6235
+ "hiddenAliases": [],
6236
+ "id": "context:imports:delete",
5383
6237
  "pluginAlias": "@sanity/cli",
5384
6238
  "pluginName": "@sanity/cli",
5385
6239
  "pluginType": "core",
@@ -5388,50 +6242,43 @@
5388
6242
  "relativePath": [
5389
6243
  "dist",
5390
6244
  "commands",
5391
- "tokens",
5392
- "list.js"
6245
+ "context",
6246
+ "imports",
6247
+ "delete.js"
5393
6248
  ]
5394
6249
  },
5395
- "tokens:rotate": {
6250
+ "context:imports:download": {
5396
6251
  "aliases": [],
5397
- "args": {},
5398
- "description": "Rotate an API token, replacing its secret with a new one",
5399
- "examples": [
5400
- {
5401
- "command": "echo \"$SANITY_TOKEN\" | <%= config.bin %> <%= command.id %>",
5402
- "description": "Rotate the token piped on standard input"
5403
- },
5404
- {
5405
- "command": "<%= config.bin %> <%= command.id %> < token.txt",
5406
- "description": "Rotate a token read from a file"
6252
+ "args": {
6253
+ "knowledgeBaseId": {
6254
+ "description": "Knowledge base ID",
6255
+ "name": "knowledgeBaseId",
6256
+ "required": true
5407
6257
  },
6258
+ "importId": {
6259
+ "description": "Import ID",
6260
+ "name": "importId",
6261
+ "required": true
6262
+ }
6263
+ },
6264
+ "description": "Get a short-lived signed URL for the original uploaded bytes of a file import",
6265
+ "examples": [
5408
6266
  {
5409
- "command": "echo \"$SANITY_TOKEN\" | <%= config.bin %> <%= command.id %> --json",
5410
- "description": "Output the rotated token as JSON"
6267
+ "command": "<%= config.bin %> <%= command.id %> kb-abc123 import-def456",
6268
+ "description": "Get a download URL for an uploaded file"
5411
6269
  }
5412
6270
  ],
5413
6271
  "flags": {
5414
6272
  "json": {
5415
- "description": "Output as JSON",
6273
+ "description": "Output the download URL in JSON format",
5416
6274
  "name": "json",
5417
6275
  "allowNo": false,
5418
6276
  "type": "boolean"
5419
- },
5420
- "token": {
5421
- "char": "t",
5422
- "description": "Token to rotate (prefer standard input to keep it out of shell history)",
5423
- "name": "token",
5424
- "hasDynamicHelp": false,
5425
- "helpValue": "<token>",
5426
- "multiple": false,
5427
- "type": "option"
5428
6277
  }
5429
6278
  },
5430
6279
  "hasDynamicHelp": false,
5431
- "hiddenAliases": [
5432
- "token:rotate"
5433
- ],
5434
- "id": "tokens:rotate",
6280
+ "hiddenAliases": [],
6281
+ "id": "context:imports:download",
5435
6282
  "pluginAlias": "@sanity/cli",
5436
6283
  "pluginName": "@sanity/cli",
5437
6284
  "pluginType": "core",
@@ -5440,40 +6287,47 @@
5440
6287
  "relativePath": [
5441
6288
  "dist",
5442
6289
  "commands",
5443
- "tokens",
5444
- "rotate.js"
6290
+ "context",
6291
+ "imports",
6292
+ "download.js"
5445
6293
  ]
5446
6294
  },
5447
- "typegen:generate": {
6295
+ "context:imports:get": {
5448
6296
  "aliases": [],
5449
- "args": {},
5450
- "description": "Sanity TypeGen\n\nConfiguration:\nThis command can utilize configuration settings defined in a `sanity-typegen.json` file. These settings include:\n\n- \"path\": Specifies a glob pattern to locate your TypeScript or JavaScript files.\n Default: \"./src/**/*.{ts,tsx,js,jsx}\"\n\n- \"schema\": Defines the path to your Sanity schema file. This file should be generated using the `sanity schema extract` command.\n Default: \"schema.json\"\n\n- \"generates\": Indicates the path where the generated TypeScript type definitions will be saved.\n Default: \"./sanity.types.ts\"\n\nThe default configuration values listed above are used if not overridden in your `sanity-typegen.json` configuration file. To customize the behavior of the type generation, adjust these properties in the configuration file according to your project's needs.\n\nNote:\n- The `sanity schema extract` command is a prerequisite for extracting your Sanity Studio schema into a `schema.json` file, which is then used by the `sanity typegen generate` command to generate type definitions.",
6297
+ "args": {
6298
+ "knowledgeBaseId": {
6299
+ "description": "Knowledge base ID",
6300
+ "name": "knowledgeBaseId",
6301
+ "required": true
6302
+ },
6303
+ "importId": {
6304
+ "description": "Import ID",
6305
+ "name": "importId",
6306
+ "required": true
6307
+ }
6308
+ },
6309
+ "description": "Get details of an import",
5451
6310
  "examples": [
5452
6311
  {
5453
- "command": "<%= config.bin %> <%= command.id %>",
5454
- "description": "Generate TypeScript type definitions from a Sanity Studio schema extracted using the `sanity schema extract` command."
6312
+ "command": "<%= config.bin %> <%= command.id %> kb-abc123 import-def456",
6313
+ "description": "Get details of a specific import"
6314
+ },
6315
+ {
6316
+ "command": "<%= config.bin %> <%= command.id %> kb-abc123 import-def456 --json",
6317
+ "description": "Output the import as JSON"
5455
6318
  }
5456
6319
  ],
5457
6320
  "flags": {
5458
- "config-path": {
5459
- "description": "[Default: sanity-typegen.json] Specifies the path to the typegen configuration file. This file should be a JSON file that contains settings for the type generation process.",
5460
- "name": "config-path",
5461
- "hasDynamicHelp": false,
5462
- "multiple": false,
5463
- "type": "option"
5464
- },
5465
- "watch": {
5466
- "description": "[Default: false] Run the typegen in watch mode",
5467
- "name": "watch",
6321
+ "json": {
6322
+ "description": "Output the import in JSON format",
6323
+ "name": "json",
5468
6324
  "allowNo": false,
5469
6325
  "type": "boolean"
5470
6326
  }
5471
6327
  },
5472
6328
  "hasDynamicHelp": false,
5473
- "hiddenAliases": [
5474
- "typegen:generate"
5475
- ],
5476
- "id": "typegen:generate",
6329
+ "hiddenAliases": [],
6330
+ "id": "context:imports:get",
5477
6331
  "pluginAlias": "@sanity/cli",
5478
6332
  "pluginName": "@sanity/cli",
5479
6333
  "pluginType": "core",
@@ -5482,63 +6336,42 @@
5482
6336
  "relativePath": [
5483
6337
  "dist",
5484
6338
  "commands",
5485
- "typegen",
5486
- "generate.js"
6339
+ "context",
6340
+ "imports",
6341
+ "get.js"
5487
6342
  ]
5488
6343
  },
5489
- "users:invite": {
6344
+ "context:imports:list": {
5490
6345
  "aliases": [],
5491
6346
  "args": {
5492
- "email": {
5493
- "description": "Email address to invite",
5494
- "name": "email",
5495
- "required": false
6347
+ "knowledgeBaseId": {
6348
+ "description": "Knowledge base ID",
6349
+ "name": "knowledgeBaseId",
6350
+ "required": true
5496
6351
  }
5497
6352
  },
5498
- "description": "Invite a new user to the project",
6353
+ "description": "List imports for a knowledge base",
5499
6354
  "examples": [
5500
6355
  {
5501
- "command": "<%= config.bin %> <%= command.id %>",
5502
- "description": "Invite a new user to the project (prompt for details)"
5503
- },
5504
- {
5505
- "command": "<%= config.bin %> <%= command.id %> pippi@sanity.io",
5506
- "description": "Send a new user invite to the email \"pippi@sanity.io\", prompt for role"
5507
- },
5508
- {
5509
- "command": "<%= config.bin %> <%= command.id %> pippi@sanity.io --role administrator",
5510
- "description": "Send a new user invite to the email \"pippi@sanity.io\", as administrator"
6356
+ "command": "<%= config.bin %> <%= command.id %> kb-abc123",
6357
+ "description": "List all imports for a knowledge base"
5511
6358
  },
5512
6359
  {
5513
- "command": "<%= config.bin %> <%= command.id %> pippi@sanity.io --project-id abc123",
5514
- "description": "Invite a user to a specific project"
6360
+ "command": "<%= config.bin %> <%= command.id %> kb-abc123 --json",
6361
+ "description": "Output imports as JSON"
5515
6362
  }
5516
6363
  ],
5517
6364
  "flags": {
5518
- "project-id": {
5519
- "char": "p",
5520
- "description": "Project ID to invite user to (overrides CLI configuration)",
5521
- "helpGroup": "OVERRIDE",
5522
- "name": "project-id",
5523
- "hasDynamicHelp": false,
5524
- "helpValue": "<id>",
5525
- "multiple": false,
5526
- "type": "option"
5527
- },
5528
- "role": {
5529
- "description": "Role to invite the user as",
5530
- "name": "role",
5531
- "required": false,
5532
- "hasDynamicHelp": false,
5533
- "multiple": false,
5534
- "type": "option"
6365
+ "json": {
6366
+ "description": "Output imports in JSON format",
6367
+ "name": "json",
6368
+ "allowNo": false,
6369
+ "type": "boolean"
5535
6370
  }
5536
6371
  },
5537
6372
  "hasDynamicHelp": false,
5538
- "hiddenAliases": [
5539
- "user:invite"
5540
- ],
5541
- "id": "users:invite",
6373
+ "hiddenAliases": [],
6374
+ "id": "context:imports:list",
5542
6375
  "pluginAlias": "@sanity/cli",
5543
6376
  "pluginName": "@sanity/cli",
5544
6377
  "pluginType": "core",
@@ -5547,87 +6380,53 @@
5547
6380
  "relativePath": [
5548
6381
  "dist",
5549
6382
  "commands",
5550
- "users",
5551
- "invite.js"
6383
+ "context",
6384
+ "imports",
6385
+ "list.js"
5552
6386
  ]
5553
6387
  },
5554
- "users:list": {
6388
+ "context:jobs:get": {
5555
6389
  "aliases": [],
5556
- "args": {},
5557
- "description": "List project members",
5558
- "examples": [
5559
- {
5560
- "command": "<%= config.bin %> <%= command.id %>",
5561
- "description": "List all users of the project"
5562
- },
5563
- {
5564
- "command": "<%= config.bin %> <%= command.id %> --no-invitations --no-robots",
5565
- "description": "List all users of the project, but exclude pending invitations and robots"
6390
+ "args": {
6391
+ "knowledgeBaseId": {
6392
+ "description": "Knowledge base ID",
6393
+ "name": "knowledgeBaseId",
6394
+ "required": true
5566
6395
  },
6396
+ "jobId": {
6397
+ "description": "Job ID",
6398
+ "name": "jobId",
6399
+ "required": true
6400
+ }
6401
+ },
6402
+ "description": "Get the status of a knowledge base job",
6403
+ "examples": [
5567
6404
  {
5568
- "command": "<%= config.bin %> <%= command.id %> --sort role",
5569
- "description": "List all users, sorted by role"
6405
+ "command": "<%= config.bin %> <%= command.id %> kb-abc123 job-def456",
6406
+ "description": "Get the current status of a job"
5570
6407
  },
5571
6408
  {
5572
- "command": "<%= config.bin %> <%= command.id %> --project-id abc123",
5573
- "description": "List users for a specific project"
6409
+ "command": "<%= config.bin %> <%= command.id %> kb-abc123 job-def456 --watch",
6410
+ "description": "Wait for the job to finish (non-zero exit if it does not succeed)"
5574
6411
  }
5575
6412
  ],
5576
6413
  "flags": {
5577
- "project-id": {
5578
- "char": "p",
5579
- "description": "Project ID to list users for (overrides CLI configuration)",
5580
- "helpGroup": "OVERRIDE",
5581
- "name": "project-id",
5582
- "hasDynamicHelp": false,
5583
- "helpValue": "<id>",
5584
- "multiple": false,
5585
- "type": "option"
5586
- },
5587
- "invitations": {
5588
- "description": "Includes or excludes pending invitations",
5589
- "name": "invitations",
5590
- "allowNo": true,
6414
+ "json": {
6415
+ "description": "Output the job in JSON format",
6416
+ "name": "json",
6417
+ "allowNo": false,
5591
6418
  "type": "boolean"
5592
6419
  },
5593
- "order": {
5594
- "description": "Sort output ascending/descending",
5595
- "name": "order",
5596
- "default": "asc",
5597
- "hasDynamicHelp": false,
5598
- "multiple": false,
5599
- "options": [
5600
- "asc",
5601
- "desc"
5602
- ],
5603
- "type": "option"
5604
- },
5605
- "robots": {
5606
- "description": "Includes or excludes robots (token users)",
5607
- "name": "robots",
5608
- "allowNo": true,
6420
+ "watch": {
6421
+ "description": "Poll until the job reaches a terminal state",
6422
+ "name": "watch",
6423
+ "allowNo": false,
5609
6424
  "type": "boolean"
5610
- },
5611
- "sort": {
5612
- "description": "Sort users by specified column",
5613
- "name": "sort",
5614
- "default": "date",
5615
- "hasDynamicHelp": false,
5616
- "multiple": false,
5617
- "options": [
5618
- "id",
5619
- "name",
5620
- "role",
5621
- "date"
5622
- ],
5623
- "type": "option"
5624
6425
  }
5625
6426
  },
5626
6427
  "hasDynamicHelp": false,
5627
- "hiddenAliases": [
5628
- "user:list"
5629
- ],
5630
- "id": "users:list",
6428
+ "hiddenAliases": [],
6429
+ "id": "context:jobs:get",
5631
6430
  "pluginAlias": "@sanity/cli",
5632
6431
  "pluginName": "@sanity/cli",
5633
6432
  "pluginType": "core",
@@ -5636,8 +6435,9 @@
5636
6435
  "relativePath": [
5637
6436
  "dist",
5638
6437
  "commands",
5639
- "users",
5640
- "list.js"
6438
+ "context",
6439
+ "jobs",
6440
+ "get.js"
5641
6441
  ]
5642
6442
  },
5643
6443
  "datasets:alias:create": {
@@ -5737,7 +6537,6 @@
5737
6537
  "force": {
5738
6538
  "description": "Skip confirmation prompt and delete immediately",
5739
6539
  "name": "force",
5740
- "required": false,
5741
6540
  "allowNo": false,
5742
6541
  "type": "boolean"
5743
6542
  }
@@ -5868,7 +6667,6 @@
5868
6667
  "force": {
5869
6668
  "description": "Skip confirmation prompt and unlink immediately",
5870
6669
  "name": "force",
5871
- "required": false,
5872
6670
  "allowNo": false,
5873
6671
  "type": "boolean"
5874
6672
  }
@@ -6157,5 +6955,5 @@
6157
6955
  ]
6158
6956
  }
6159
6957
  },
6160
- "version": "8.6.0"
6958
+ "version": "8.8.0"
6161
6959
  }