@sanity/cli 8.7.0 → 8.9.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 (102) hide show
  1. package/README.md +396 -0
  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 +7 -6
  15. package/dist/actions/deploy/deployApp.js.map +1 -1
  16. package/dist/actions/deploy/deployStudio.js +7 -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/actions/typegen/parseTypegenConfig.js +21 -0
  27. package/dist/actions/typegen/parseTypegenConfig.js.map +1 -0
  28. package/dist/commands/backups/download.js +8 -17
  29. package/dist/commands/backups/download.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/delete.js +4 -9
  61. package/dist/commands/datasets/delete.js.map +1 -1
  62. package/dist/commands/graphql/undeploy.js +4 -9
  63. package/dist/commands/graphql/undeploy.js.map +1 -1
  64. package/dist/commands/init.js +1 -1
  65. package/dist/commands/init.js.map +1 -1
  66. package/dist/commands/media/create-aspect.js +5 -6
  67. package/dist/commands/media/create-aspect.js.map +1 -1
  68. package/dist/commands/media/delete-aspect.js +7 -23
  69. package/dist/commands/media/delete-aspect.js.map +1 -1
  70. package/dist/commands/media/deploy-aspect.js +4 -9
  71. package/dist/commands/media/deploy-aspect.js.map +1 -1
  72. package/dist/commands/media/export.js +3 -7
  73. package/dist/commands/media/export.js.map +1 -1
  74. package/dist/commands/media/import.js +3 -7
  75. package/dist/commands/media/import.js.map +1 -1
  76. package/dist/commands/organizations/create.js +4 -9
  77. package/dist/commands/organizations/create.js.map +1 -1
  78. package/dist/commands/schemas/delete.js +3 -8
  79. package/dist/commands/schemas/delete.js.map +1 -1
  80. package/dist/commands/tokens/delete.js +4 -7
  81. package/dist/commands/tokens/delete.js.map +1 -1
  82. package/dist/commands/typegen/generate.js +4 -3
  83. package/dist/commands/typegen/generate.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/server/vite/plugin-typegen.js +3 -2
  95. package/dist/server/vite/plugin-typegen.js.map +1 -1
  96. package/dist/services/context.js +132 -0
  97. package/dist/services/context.js.map +1 -0
  98. package/dist/util/sharedFlags.js +24 -0
  99. package/dist/util/sharedFlags.js.map +1 -1
  100. package/oclif.config.js +1 -0
  101. package/oclif.manifest.json +1516 -718
  102. package/package.json +18 -23
@@ -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
  },
@@ -3730,7 +4115,6 @@
3730
4115
  "media-library-id": {
3731
4116
  "description": "The id of the target media library",
3732
4117
  "name": "media-library-id",
3733
- "required": false,
3734
4118
  "hasDynamicHelp": false,
3735
4119
  "multiple": false,
3736
4120
  "type": "option"
@@ -3739,7 +4123,6 @@
3739
4123
  "char": "y",
3740
4124
  "description": "Run without prompts and confirm deletion",
3741
4125
  "name": "yes",
3742
- "required": false,
3743
4126
  "allowNo": false,
3744
4127
  "type": "boolean"
3745
4128
  }
@@ -3800,7 +4183,6 @@
3800
4183
  "media-library-id": {
3801
4184
  "description": "The id of the target media library",
3802
4185
  "name": "media-library-id",
3803
- "required": false,
3804
4186
  "hasDynamicHelp": false,
3805
4187
  "multiple": false,
3806
4188
  "type": "option"
@@ -4267,7 +4649,6 @@
4267
4649
  "name": {
4268
4650
  "description": "Organization name",
4269
4651
  "name": "name",
4270
- "required": false,
4271
4652
  "hasDynamicHelp": false,
4272
4653
  "multiple": false,
4273
4654
  "type": "option"
@@ -4802,26 +5183,185 @@
4802
5183
  "multiple": false,
4803
5184
  "type": "option"
4804
5185
  },
4805
- "verbose": {
4806
- "description": "Print detailed information during deployment",
4807
- "name": "verbose",
5186
+ "verbose": {
5187
+ "description": "Print detailed information during deployment",
5188
+ "name": "verbose",
5189
+ "allowNo": false,
5190
+ "type": "boolean"
5191
+ },
5192
+ "workspace": {
5193
+ "description": "The name of the workspace to deploy a schema for",
5194
+ "name": "workspace",
5195
+ "hasDynamicHelp": false,
5196
+ "helpValue": "<name>",
5197
+ "multiple": false,
5198
+ "type": "option"
5199
+ }
5200
+ },
5201
+ "hasDynamicHelp": false,
5202
+ "hiddenAliases": [
5203
+ "schema:deploy"
5204
+ ],
5205
+ "id": "schemas:deploy",
5206
+ "pluginAlias": "@sanity/cli",
5207
+ "pluginName": "@sanity/cli",
5208
+ "pluginType": "core",
5209
+ "strict": true,
5210
+ "isESM": true,
5211
+ "relativePath": [
5212
+ "dist",
5213
+ "commands",
5214
+ "schemas",
5215
+ "deploy.js"
5216
+ ]
5217
+ },
5218
+ "schemas:extract": {
5219
+ "aliases": [],
5220
+ "args": {},
5221
+ "description": "Extract a JSON representation of a Sanity schema within a Studio context.\n\nNote: This command is experimental and subject to change.",
5222
+ "examples": [
5223
+ {
5224
+ "command": "<%= config.bin %> <%= command.id %> --workspace default",
5225
+ "description": "Extracts schema types in a Sanity project with more than one workspace"
5226
+ },
5227
+ {
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"
5234
+ }
5235
+ ],
5236
+ "flags": {
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",
5253
+ "hasDynamicHelp": false,
5254
+ "helpValue": "<format>",
5255
+ "multiple": false,
5256
+ "type": "option"
5257
+ },
5258
+ "path": {
5259
+ "description": "Optional path to specify destination of the schema file",
5260
+ "name": "path",
5261
+ "hasDynamicHelp": false,
5262
+ "multiple": false,
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,
5285
+ "type": "option"
5286
+ }
5287
+ },
5288
+ "hasDynamicHelp": false,
5289
+ "hiddenAliases": [
5290
+ "schema:extract"
5291
+ ],
5292
+ "id": "schemas:extract",
5293
+ "pluginAlias": "@sanity/cli",
5294
+ "pluginName": "@sanity/cli",
5295
+ "pluginType": "core",
5296
+ "strict": true,
5297
+ "isESM": true,
5298
+ "relativePath": [
5299
+ "dist",
5300
+ "commands",
5301
+ "schemas",
5302
+ "extract.js"
5303
+ ]
5304
+ },
5305
+ "schemas:list": {
5306
+ "aliases": [],
5307
+ "args": {},
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.",
5309
+ "examples": [
5310
+ {
5311
+ "command": "<%= config.bin %> <%= command.id %>",
5312
+ "description": "List all schemas found in any workspace dataset in a table"
5313
+ },
5314
+ {
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"
5325
+ }
5326
+ ],
5327
+ "flags": {
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",
4808
5346
  "allowNo": false,
4809
5347
  "type": "boolean"
4810
5348
  },
4811
- "workspace": {
4812
- "description": "The name of the workspace to deploy a schema for",
4813
- "name": "workspace",
5349
+ "manifest-dir": {
5350
+ "description": "Directory containing manifest file",
5351
+ "hidden": true,
5352
+ "name": "manifest-dir",
5353
+ "default": "./dist/static",
4814
5354
  "hasDynamicHelp": false,
4815
- "helpValue": "<name>",
5355
+ "helpValue": "<directory>",
4816
5356
  "multiple": false,
4817
5357
  "type": "option"
4818
5358
  }
4819
5359
  },
4820
5360
  "hasDynamicHelp": false,
4821
5361
  "hiddenAliases": [
4822
- "schema:deploy"
5362
+ "schema:list"
4823
5363
  ],
4824
- "id": "schemas:deploy",
5364
+ "id": "schemas:list",
4825
5365
  "pluginAlias": "@sanity/cli",
4826
5366
  "pluginName": "@sanity/cli",
4827
5367
  "pluginType": "core",
@@ -4831,84 +5371,78 @@
4831
5371
  "dist",
4832
5372
  "commands",
4833
5373
  "schemas",
4834
- "deploy.js"
5374
+ "list.js"
4835
5375
  ]
4836
5376
  },
4837
- "schemas:extract": {
5377
+ "schemas:validate": {
4838
5378
  "aliases": [],
4839
5379
  "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.",
5380
+ "description": "Validates all schema types specified in a workspace",
4841
5381
  "examples": [
4842
5382
  {
4843
5383
  "command": "<%= config.bin %> <%= command.id %> --workspace default",
4844
- "description": "Extracts schema types in a Sanity project with more than one workspace"
5384
+ "description": "Validates all schema types in a Sanity project with more than one workspace"
4845
5385
  },
4846
5386
  {
4847
- "command": "<%= config.bin %> <%= command.id %> --watch",
4848
- "description": "Watch mode - re-extract on changes"
5387
+ "command": "<%= config.bin %> <%= command.id %> > report.txt",
5388
+ "description": "Save the results of the report into a file"
4849
5389
  },
4850
5390
  {
4851
- "command": "<%= config.bin %> <%= command.id %> --watch --watch-patterns \"lib/**/*.ts\"",
4852
- "description": "Watch with custom glob patterns"
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/"
4853
5397
  }
4854
5398
  ],
4855
5399
  "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",
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",
4872
5404
  "hasDynamicHelp": false,
4873
- "helpValue": "<format>",
4874
5405
  "multiple": false,
4875
5406
  "type": "option"
4876
5407
  },
4877
- "path": {
4878
- "description": "Optional path to specify destination of the schema file",
4879
- "name": "path",
5408
+ "format": {
5409
+ "description": "The output format used to print schema errors and warnings",
5410
+ "name": "format",
5411
+ "default": "pretty",
4880
5412
  "hasDynamicHelp": false,
4881
5413
  "multiple": false,
5414
+ "options": [
5415
+ "pretty",
5416
+ "ndjson",
5417
+ "json"
5418
+ ],
4882
5419
  "type": "option"
4883
5420
  },
4884
- "watch": {
4885
- "description": "Enable watch mode to re-extract schema on file changes",
4886
- "name": "watch",
4887
- "allowNo": false,
4888
- "type": "boolean"
4889
- },
4890
- "watch-patterns": {
4891
- "description": "Additional glob pattern(s) to watch (can be specified multiple times)",
4892
- "name": "watch-patterns",
5421
+ "level": {
5422
+ "description": "The minimum level reported out",
5423
+ "name": "level",
5424
+ "default": "warning",
4893
5425
  "hasDynamicHelp": false,
4894
- "helpValue": "<glob>",
4895
- "multiple": true,
5426
+ "multiple": false,
5427
+ "options": [
5428
+ "error",
5429
+ "warning"
5430
+ ],
4896
5431
  "type": "option"
4897
5432
  },
4898
5433
  "workspace": {
4899
- "description": "The name of the workspace to generate a schema for",
5434
+ "description": "The name of the workspace to use when validating all schema types",
4900
5435
  "name": "workspace",
4901
5436
  "hasDynamicHelp": false,
4902
- "helpValue": "<name>",
4903
5437
  "multiple": false,
4904
5438
  "type": "option"
4905
5439
  }
4906
5440
  },
4907
5441
  "hasDynamicHelp": false,
4908
5442
  "hiddenAliases": [
4909
- "schema:extract"
5443
+ "schema:validate"
4910
5444
  ],
4911
- "id": "schemas:extract",
5445
+ "id": "schemas:validate",
4912
5446
  "pluginAlias": "@sanity/cli",
4913
5447
  "pluginName": "@sanity/cli",
4914
5448
  "pluginType": "core",
@@ -4918,69 +5452,197 @@
4918
5452
  "dist",
4919
5453
  "commands",
4920
5454
  "schemas",
4921
- "extract.js"
5455
+ "validate.js"
4922
5456
  ]
4923
5457
  },
4924
- "schemas:list": {
5458
+ "skills:install": {
4925
5459
  "aliases": [],
4926
5460
  "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.",
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)",
4928
5462
  "examples": [
4929
5463
  {
4930
5464
  "command": "<%= config.bin %> <%= command.id %>",
4931
- "description": "List all schemas found in any workspace dataset in a table"
5465
+ "description": "Install Sanity agent skills for detected AI editors"
5466
+ }
5467
+ ],
5468
+ "flags": {},
5469
+ "hasDynamicHelp": false,
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
+ }
5493
+ ],
5494
+ "flags": {},
5495
+ "hasDynamicHelp": false,
5496
+ "hiddenAliases": [],
5497
+ "id": "telemetry:disable",
5498
+ "pluginAlias": "@sanity/cli",
5499
+ "pluginName": "@sanity/cli",
5500
+ "pluginType": "core",
5501
+ "strict": true,
5502
+ "isESM": true,
5503
+ "relativePath": [
5504
+ "dist",
5505
+ "commands",
5506
+ "telemetry",
5507
+ "disable.js"
5508
+ ]
5509
+ },
5510
+ "telemetry:enable": {
5511
+ "aliases": [],
5512
+ "args": {},
5513
+ "description": "Enable telemetry for your account",
5514
+ "examples": [
5515
+ {
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": [
5541
+ {
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
+ "tokens:create": {
5563
+ "aliases": [],
5564
+ "args": {
5565
+ "label": {
5566
+ "description": "Label for the new token",
5567
+ "name": "label",
5568
+ "required": false
5569
+ }
5570
+ },
5571
+ "description": "Create a new API token for the project",
5572
+ "examples": [
5573
+ {
5574
+ "command": "<%= config.bin %> <%= command.id %> \"My API Token\"",
5575
+ "description": "Create a token with a label"
4932
5576
  },
4933
5577
  {
4934
- "command": "<%= config.bin %> <%= command.id %> --id _.schemas.workspaceName",
4935
- "description": "Get a schema for a given id"
5578
+ "command": "<%= config.bin %> <%= command.id %> \"My API Token\" --role=editor",
5579
+ "description": "Create a token with editor role"
4936
5580
  },
4937
5581
  {
4938
- "command": "<%= config.bin %> <%= command.id %> --json",
4939
- "description": "Get stored schemas as pretty-printed json-array"
5582
+ "command": "<%= config.bin %> <%= command.id %> \"CI Token\" --role=editor --yes",
5583
+ "description": "Create a token in unattended mode"
4940
5584
  },
4941
5585
  {
4942
- "command": "<%= config.bin %> <%= command.id %> --json --id _.schemas.workspaceName",
4943
- "description": "Get singular stored schema as pretty-printed json-object"
5586
+ "command": "<%= config.bin %> <%= command.id %> \"Build Token\" --expires-at 2027-01-01",
5587
+ "description": "Create a token that expires on a given date"
5588
+ },
5589
+ {
5590
+ "command": "<%= config.bin %> <%= command.id %> \"API Token\" --json",
5591
+ "description": "Output token information as JSON"
5592
+ },
5593
+ {
5594
+ "command": "<%= config.bin %> <%= command.id %> \"My Token\" --project-id abc123 --role=editor",
5595
+ "description": "Create a token for a specific project"
4944
5596
  }
4945
5597
  ],
4946
5598
  "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"
4953
- },
4954
- "id": {
4955
- "description": "Fetch a single schema by id",
4956
- "name": "id",
5599
+ "project-id": {
5600
+ "char": "p",
5601
+ "description": "Project ID to create token in (overrides CLI configuration)",
5602
+ "helpGroup": "OVERRIDE",
5603
+ "name": "project-id",
5604
+ "hasDynamicHelp": false,
5605
+ "helpValue": "<id>",
5606
+ "multiple": false,
5607
+ "type": "option"
5608
+ },
5609
+ "expires-at": {
5610
+ "description": "Date or timestamp the token expires (ISO 8601; tokens never expire by default)",
5611
+ "name": "expires-at",
4957
5612
  "hasDynamicHelp": false,
4958
- "helpValue": "<schema_id>",
5613
+ "helpValue": "2027-01-01",
4959
5614
  "multiple": false,
4960
5615
  "type": "option"
4961
5616
  },
4962
5617
  "json": {
4963
- "description": "Get schema as json",
5618
+ "description": "Output as JSON",
4964
5619
  "name": "json",
4965
5620
  "allowNo": false,
4966
5621
  "type": "boolean"
4967
5622
  },
4968
- "manifest-dir": {
4969
- "description": "Directory containing manifest file",
4970
- "hidden": true,
4971
- "name": "manifest-dir",
4972
- "default": "./dist/static",
5623
+ "role": {
5624
+ "description": "Role to assign to the token (defaults to viewer in unattended mode)",
5625
+ "name": "role",
4973
5626
  "hasDynamicHelp": false,
4974
- "helpValue": "<directory>",
5627
+ "helpValue": "viewer",
4975
5628
  "multiple": false,
4976
5629
  "type": "option"
5630
+ },
5631
+ "yes": {
5632
+ "char": "y",
5633
+ "description": "Skip prompts and use defaults (unattended mode)",
5634
+ "name": "yes",
5635
+ "allowNo": false,
5636
+ "type": "boolean"
4977
5637
  }
4978
5638
  },
4979
5639
  "hasDynamicHelp": false,
4980
5640
  "hiddenAliases": [
4981
- "schema:list"
5641
+ "tokens:add",
5642
+ "token:add",
5643
+ "token:create"
4982
5644
  ],
4983
- "id": "schemas:list",
5645
+ "id": "tokens:create",
4984
5646
  "pluginAlias": "@sanity/cli",
4985
5647
  "pluginName": "@sanity/cli",
4986
5648
  "pluginType": "core",
@@ -4989,79 +5651,62 @@
4989
5651
  "relativePath": [
4990
5652
  "dist",
4991
5653
  "commands",
4992
- "schemas",
4993
- "list.js"
5654
+ "tokens",
5655
+ "create.js"
4994
5656
  ]
4995
5657
  },
4996
- "schemas:validate": {
5658
+ "tokens:delete": {
4997
5659
  "aliases": [],
4998
- "args": {},
4999
- "description": "Validates all schema types specified in a workspace",
5660
+ "args": {
5661
+ "tokenId": {
5662
+ "description": "Token ID to delete (will prompt if not provided)",
5663
+ "name": "tokenId",
5664
+ "required": false
5665
+ }
5666
+ },
5667
+ "description": "Delete an API token from the project",
5000
5668
  "examples": [
5001
5669
  {
5002
- "command": "<%= config.bin %> <%= command.id %> --workspace default",
5003
- "description": "Validates all schema types in a Sanity project with more than one workspace"
5670
+ "command": "<%= config.bin %> <%= command.id %>",
5671
+ "description": "Interactively select and delete a token"
5004
5672
  },
5005
5673
  {
5006
- "command": "<%= config.bin %> <%= command.id %> > report.txt",
5007
- "description": "Save the results of the report into a file"
5674
+ "command": "<%= config.bin %> <%= command.id %> silJ2lFmK6dONB",
5675
+ "description": "Delete a specific token by ID"
5008
5676
  },
5009
5677
  {
5010
- "command": "<%= config.bin %> <%= command.id %> --level error",
5011
- "description": "Report out only errors"
5678
+ "command": "<%= config.bin %> <%= command.id %> silJ2lFmK6dONB --yes",
5679
+ "description": "Delete a specific token without confirmation prompt"
5012
5680
  },
5013
5681
  {
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/"
5682
+ "command": "<%= config.bin %> <%= command.id %> --project-id abc123",
5683
+ "description": "Delete a token from a specific project"
5016
5684
  }
5017
5685
  ],
5018
5686
  "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",
5687
+ "project-id": {
5688
+ "char": "p",
5689
+ "description": "Project ID to delete token from (overrides CLI configuration)",
5690
+ "helpGroup": "OVERRIDE",
5691
+ "name": "project-id",
5044
5692
  "hasDynamicHelp": false,
5693
+ "helpValue": "<id>",
5045
5694
  "multiple": false,
5046
- "options": [
5047
- "error",
5048
- "warning"
5049
- ],
5050
5695
  "type": "option"
5051
5696
  },
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"
5697
+ "yes": {
5698
+ "char": "y",
5699
+ "description": "Skip confirmation prompt (unattended mode)",
5700
+ "name": "yes",
5701
+ "allowNo": false,
5702
+ "type": "boolean"
5058
5703
  }
5059
5704
  },
5060
5705
  "hasDynamicHelp": false,
5061
5706
  "hiddenAliases": [
5062
- "schema:validate"
5707
+ "token:delete"
5063
5708
  ],
5064
- "id": "schemas:validate",
5709
+ "id": "tokens:delete",
5065
5710
  "pluginAlias": "@sanity/cli",
5066
5711
  "pluginName": "@sanity/cli",
5067
5712
  "pluginType": "core",
@@ -5070,24 +5715,51 @@
5070
5715
  "relativePath": [
5071
5716
  "dist",
5072
5717
  "commands",
5073
- "schemas",
5074
- "validate.js"
5718
+ "tokens",
5719
+ "delete.js"
5075
5720
  ]
5076
5721
  },
5077
- "skills:install": {
5722
+ "tokens:list": {
5078
5723
  "aliases": [],
5079
5724
  "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)",
5725
+ "description": "List API tokens for the project",
5081
5726
  "examples": [
5082
5727
  {
5083
5728
  "command": "<%= config.bin %> <%= command.id %>",
5084
- "description": "Install Sanity agent skills for detected AI editors"
5729
+ "description": "List tokens for the project"
5730
+ },
5731
+ {
5732
+ "command": "<%= config.bin %> <%= command.id %> --json",
5733
+ "description": "List tokens in JSON format"
5734
+ },
5735
+ {
5736
+ "command": "<%= config.bin %> <%= command.id %> --project-id abc123",
5737
+ "description": "List tokens for a specific project"
5085
5738
  }
5086
5739
  ],
5087
- "flags": {},
5740
+ "flags": {
5741
+ "project-id": {
5742
+ "char": "p",
5743
+ "description": "Project ID to list tokens for (overrides CLI configuration)",
5744
+ "helpGroup": "OVERRIDE",
5745
+ "name": "project-id",
5746
+ "hasDynamicHelp": false,
5747
+ "helpValue": "<id>",
5748
+ "multiple": false,
5749
+ "type": "option"
5750
+ },
5751
+ "json": {
5752
+ "description": "Output tokens in JSON format",
5753
+ "name": "json",
5754
+ "allowNo": false,
5755
+ "type": "boolean"
5756
+ }
5757
+ },
5088
5758
  "hasDynamicHelp": false,
5089
- "hiddenAliases": [],
5090
- "id": "skills:install",
5759
+ "hiddenAliases": [
5760
+ "token:list"
5761
+ ],
5762
+ "id": "tokens:list",
5091
5763
  "pluginAlias": "@sanity/cli",
5092
5764
  "pluginName": "@sanity/cli",
5093
5765
  "pluginType": "core",
@@ -5096,24 +5768,50 @@
5096
5768
  "relativePath": [
5097
5769
  "dist",
5098
5770
  "commands",
5099
- "skills",
5100
- "install.js"
5771
+ "tokens",
5772
+ "list.js"
5101
5773
  ]
5102
5774
  },
5103
- "telemetry:disable": {
5775
+ "tokens:rotate": {
5104
5776
  "aliases": [],
5105
5777
  "args": {},
5106
- "description": "Disable telemetry for your account",
5778
+ "description": "Rotate an API token, replacing its secret with a new one",
5107
5779
  "examples": [
5108
5780
  {
5109
- "command": "<%= config.bin %> telemetry <%= command.id %>",
5110
- "description": "Disable telemetry for your account"
5781
+ "command": "echo \"$SANITY_TOKEN\" | <%= config.bin %> <%= command.id %>",
5782
+ "description": "Rotate the token piped on standard input"
5783
+ },
5784
+ {
5785
+ "command": "<%= config.bin %> <%= command.id %> < token.txt",
5786
+ "description": "Rotate a token read from a file"
5787
+ },
5788
+ {
5789
+ "command": "echo \"$SANITY_TOKEN\" | <%= config.bin %> <%= command.id %> --json",
5790
+ "description": "Output the rotated token as JSON"
5111
5791
  }
5112
5792
  ],
5113
- "flags": {},
5793
+ "flags": {
5794
+ "json": {
5795
+ "description": "Output as JSON",
5796
+ "name": "json",
5797
+ "allowNo": false,
5798
+ "type": "boolean"
5799
+ },
5800
+ "token": {
5801
+ "char": "t",
5802
+ "description": "Token to rotate (prefer standard input to keep it out of shell history)",
5803
+ "name": "token",
5804
+ "hasDynamicHelp": false,
5805
+ "helpValue": "<token>",
5806
+ "multiple": false,
5807
+ "type": "option"
5808
+ }
5809
+ },
5114
5810
  "hasDynamicHelp": false,
5115
- "hiddenAliases": [],
5116
- "id": "telemetry:disable",
5811
+ "hiddenAliases": [
5812
+ "token:rotate"
5813
+ ],
5814
+ "id": "tokens:rotate",
5117
5815
  "pluginAlias": "@sanity/cli",
5118
5816
  "pluginName": "@sanity/cli",
5119
5817
  "pluginType": "core",
@@ -5122,24 +5820,40 @@
5122
5820
  "relativePath": [
5123
5821
  "dist",
5124
5822
  "commands",
5125
- "telemetry",
5126
- "disable.js"
5823
+ "tokens",
5824
+ "rotate.js"
5127
5825
  ]
5128
5826
  },
5129
- "telemetry:enable": {
5827
+ "typegen:generate": {
5130
5828
  "aliases": [],
5131
5829
  "args": {},
5132
- "description": "Enable telemetry for your account",
5830
+ "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.",
5133
5831
  "examples": [
5134
5832
  {
5135
- "command": "<%= config.bin %> telemetry <%= command.id %>",
5136
- "description": "Enable telemetry for your account"
5833
+ "command": "<%= config.bin %> <%= command.id %>",
5834
+ "description": "Generate TypeScript type definitions from a Sanity Studio schema extracted using the `sanity schema extract` command."
5137
5835
  }
5138
5836
  ],
5139
- "flags": {},
5837
+ "flags": {
5838
+ "config-path": {
5839
+ "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.",
5840
+ "name": "config-path",
5841
+ "hasDynamicHelp": false,
5842
+ "multiple": false,
5843
+ "type": "option"
5844
+ },
5845
+ "watch": {
5846
+ "description": "[Default: false] Run the typegen in watch mode",
5847
+ "name": "watch",
5848
+ "allowNo": false,
5849
+ "type": "boolean"
5850
+ }
5851
+ },
5140
5852
  "hasDynamicHelp": false,
5141
- "hiddenAliases": [],
5142
- "id": "telemetry:enable",
5853
+ "hiddenAliases": [
5854
+ "typegen:generate"
5855
+ ],
5856
+ "id": "typegen:generate",
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
+ "typegen",
5866
+ "generate.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.7.0"
6958
+ "version": "8.9.0"
6161
6959
  }