@sanity/client 7.26.2 → 8.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -341
- package/dist/browserUpload-2tz6Sdqp.js +87 -0
- package/dist/browserUpload-2tz6Sdqp.js.map +1 -0
- package/dist/browserUpload-CwpNx7Vl.js +87 -0
- package/dist/browserUpload-CwpNx7Vl.js.map +1 -0
- package/dist/config-3wiPP-sZ.js +126 -0
- package/dist/config-3wiPP-sZ.js.map +1 -0
- package/dist/csm.d.ts +122 -335
- package/dist/csm.js +79 -91
- package/dist/csm.js.map +1 -1
- package/dist/dist-C9ExSk2R.js +73 -0
- package/dist/dist-C9ExSk2R.js.map +1 -0
- package/dist/dist-Z8cIRxoB.js +69 -0
- package/dist/dist-Z8cIRxoB.js.map +1 -0
- package/dist/index.d.ts +112 -6722
- package/dist/index.js +2950 -2848
- package/dist/index.js.map +1 -1
- package/dist/{index.d.cts → index.node.d.ts} +4529 -5322
- package/dist/index.node.js +3264 -0
- package/dist/index.node.js.map +1 -0
- package/dist/isRecord-Kfmt-nk-.js +7 -0
- package/dist/isRecord-Kfmt-nk-.js.map +1 -0
- package/dist/media-library.d.ts +9 -100
- package/dist/media-library.js +36 -14
- package/dist/media-library.js.map +1 -1
- package/dist/request-BhMuKj0D.js +373 -0
- package/dist/request-BhMuKj0D.js.map +1 -0
- package/dist/request-SnMg7nUX.js +355 -0
- package/dist/request-SnMg7nUX.js.map +1 -0
- package/dist/resolveEditInfo-Cz-smq3a.js +339 -0
- package/dist/resolveEditInfo-Cz-smq3a.js.map +1 -0
- package/dist/rolldown-runtime-vyAXikos.js +9 -0
- package/dist/stega.d.ts +78 -7137
- package/dist/stega.js +27 -20
- package/dist/stega.js.map +1 -1
- package/dist/stegaClean-C18wLWau.js +21 -0
- package/dist/stegaClean-C18wLWau.js.map +1 -0
- package/dist/stegaEncodeSourceMap-DbM2fTN4.js +373 -0
- package/dist/stegaEncodeSourceMap-DbM2fTN4.js.map +1 -0
- package/dist/stegaEncodeSourceMap-YR3NQ3iz.js +163 -0
- package/dist/stegaEncodeSourceMap-YR3NQ3iz.js.map +1 -0
- package/dist/{index.browser.d.cts → types-BODIEY7F.d.ts} +4196 -5258
- package/dist/types-CfGzbXrl.d.ts +108 -0
- package/package.json +80 -142
- package/src/SanityClient.ts +101 -137
- package/src/agent/actions/AgentActionsClient.ts +12 -12
- package/src/agent/actions/commonTypes.ts +2 -1
- package/src/agent/actions/generate.ts +26 -6
- package/src/agent/actions/patch.ts +27 -7
- package/src/agent/actions/prompt.ts +19 -5
- package/src/agent/actions/transform.ts +23 -5
- package/src/agent/actions/translate.ts +23 -5
- package/src/assets/AssetsClient.ts +121 -24
- package/src/csm/applySourceDocuments.ts +5 -5
- package/src/csm/createEditUrl.ts +1 -1
- package/src/csm/draftUtils.ts +23 -5
- package/src/csm/index.ts +2 -2
- package/src/csm/studioPath.ts +2 -1
- package/src/csm/types.ts +8 -2
- package/src/data/dataMethods.ts +784 -349
- package/src/data/eventsource.ts +82 -49
- package/src/data/listen.ts +18 -23
- package/src/data/live.ts +60 -35
- package/src/data/resolveEventSourceFetch.ts +104 -0
- package/src/datasets/DatasetsClient.ts +58 -41
- package/src/defineCreateClient.ts +38 -22
- package/src/functions/FunctionsClient.ts +66 -0
- package/src/functions/invoke.ts +176 -0
- package/src/http/browserMiddleware.ts +7 -1
- package/src/http/browserUpload.ts +163 -0
- package/src/http/errors.ts +61 -6
- package/src/http/nodeMiddleware.ts +94 -30
- package/src/http/request.ts +304 -87
- package/src/http/requestOptions.ts +131 -15
- package/src/{index.browser.ts → index.node.ts} +9 -4
- package/src/index.ts +4 -3
- package/src/mediaLibrary/MediaLibraryVideoClient.ts +27 -12
- package/src/projects/ProjectsClient.ts +18 -16
- package/src/releases/ReleasesClient.ts +38 -33
- package/src/stega/index.ts +1 -2
- package/src/stega/stegaEncodeSourceMap.ts +5 -0
- package/src/stega/types.ts +2 -2
- package/src/types.ts +328 -103
- package/src/users/UsersClient.ts +10 -14
- package/src/util/shareReplayLatest.ts +1 -1
- package/src/validators.ts +1 -1
- package/src/warnings.ts +13 -2
- package/dist/_chunks-cjs/config.cjs +0 -206
- package/dist/_chunks-cjs/config.cjs.map +0 -1
- package/dist/_chunks-cjs/isRecord.cjs +0 -6
- package/dist/_chunks-cjs/isRecord.cjs.map +0 -1
- package/dist/_chunks-cjs/resolveEditInfo.cjs +0 -334
- package/dist/_chunks-cjs/resolveEditInfo.cjs.map +0 -1
- package/dist/_chunks-cjs/stegaClean.cjs +0 -46
- package/dist/_chunks-cjs/stegaClean.cjs.map +0 -1
- package/dist/_chunks-cjs/stegaEncodeSourceMap.cjs +0 -388
- package/dist/_chunks-cjs/stegaEncodeSourceMap.cjs.map +0 -1
- package/dist/_chunks-es/config.js +0 -207
- package/dist/_chunks-es/config.js.map +0 -1
- package/dist/_chunks-es/isRecord.js +0 -7
- package/dist/_chunks-es/isRecord.js.map +0 -1
- package/dist/_chunks-es/resolveEditInfo.js +0 -335
- package/dist/_chunks-es/resolveEditInfo.js.map +0 -1
- package/dist/_chunks-es/stegaClean.js +0 -47
- package/dist/_chunks-es/stegaClean.js.map +0 -1
- package/dist/_chunks-es/stegaEncodeSourceMap.js +0 -389
- package/dist/_chunks-es/stegaEncodeSourceMap.js.map +0 -1
- package/dist/csm.cjs +0 -99
- package/dist/csm.cjs.map +0 -1
- package/dist/csm.d.cts +0 -391
- package/dist/index.browser.cjs +0 -3106
- package/dist/index.browser.cjs.map +0 -1
- package/dist/index.browser.d.ts +0 -6802
- package/dist/index.browser.js +0 -3082
- package/dist/index.browser.js.map +0 -1
- package/dist/index.cjs +0 -2946
- package/dist/index.cjs.map +0 -1
- package/dist/media-library.cjs +0 -20
- package/dist/media-library.cjs.map +0 -1
- package/dist/media-library.d.cts +0 -117
- package/dist/stega.browser.cjs +0 -29
- package/dist/stega.browser.cjs.map +0 -1
- package/dist/stega.browser.d.cts +0 -7200
- package/dist/stega.browser.d.ts +0 -7200
- package/dist/stega.browser.js +0 -24
- package/dist/stega.browser.js.map +0 -1
- package/dist/stega.cjs +0 -29
- package/dist/stega.cjs.map +0 -1
- package/dist/stega.d.cts +0 -7200
- package/src/data/eventsourcePolyfill.ts +0 -7
- package/umd/.gitkeep +0 -1
- package/umd/sanityClient.js +0 -6543
- package/umd/sanityClient.min.js +0 -6
|
@@ -3,12 +3,10 @@ import {parseJsonPath} from './jsonPath'
|
|
|
3
3
|
import {resolveMapping} from './resolveMapping'
|
|
4
4
|
import * as paths from './studioPath'
|
|
5
5
|
import type {
|
|
6
|
-
Any,
|
|
7
6
|
ApplySourceDocumentsUpdateFunction,
|
|
8
7
|
ClientPerspective,
|
|
9
8
|
ContentSourceMap,
|
|
10
9
|
ContentSourceMapDocuments,
|
|
11
|
-
Path,
|
|
12
10
|
SanityDocument,
|
|
13
11
|
} from './types'
|
|
14
12
|
import {walkMap} from './walkMap'
|
|
@@ -24,7 +22,9 @@ export function applySourceDocuments<Result = unknown>(
|
|
|
24
22
|
getCachedDocument: (
|
|
25
23
|
sourceDocument: ContentSourceMapDocuments[number],
|
|
26
24
|
) =>
|
|
27
|
-
(Partial<SanityDocument> & Required<Pick<SanityDocument, '_id' | '_type'>>)
|
|
25
|
+
| (Partial<SanityDocument> & Required<Pick<SanityDocument, '_id' | '_type'>>)
|
|
26
|
+
| null
|
|
27
|
+
| undefined,
|
|
28
28
|
updateFn: ApplySourceDocumentsUpdateFunction,
|
|
29
29
|
perspective: Exclude<ClientPerspective, 'raw'>,
|
|
30
30
|
): Result {
|
|
@@ -53,7 +53,7 @@ export function applySourceDocuments<Result = unknown>(
|
|
|
53
53
|
|
|
54
54
|
if (sourceDocument) {
|
|
55
55
|
const parsedPath = parseJsonPath(sourcePath + pathSuffix)
|
|
56
|
-
const stringifiedPath = paths.toString(parsedPath
|
|
56
|
+
const stringifiedPath = paths.toString(parsedPath)
|
|
57
57
|
const cachedDocument = cachedDocuments[mapping.source.document]
|
|
58
58
|
|
|
59
59
|
if (!cachedDocument) {
|
|
@@ -65,7 +65,7 @@ export function applySourceDocuments<Result = unknown>(
|
|
|
65
65
|
: value
|
|
66
66
|
return value === changedValue
|
|
67
67
|
? value
|
|
68
|
-
: updateFn<Result[keyof Result]>(changedValue as
|
|
68
|
+
: updateFn<Result[keyof Result]>(changedValue as Result[keyof Result], {
|
|
69
69
|
cachedDocument,
|
|
70
70
|
previousValue: value as Result[keyof Result],
|
|
71
71
|
sourceDocument,
|
package/src/csm/createEditUrl.ts
CHANGED
|
@@ -36,7 +36,7 @@ export function createEditUrl(options: CreateEditUrlOptions): `${StudioBaseUrl}$
|
|
|
36
36
|
? studioPath.toString(jsonPathToStudioPath(path))
|
|
37
37
|
: path
|
|
38
38
|
|
|
39
|
-
//
|
|
39
|
+
// oxlint-disable-next-line no-warning-comments
|
|
40
40
|
// @TODO Using searchParams as a temporary workaround until `@sanity/overlays` can decode state from the path reliably
|
|
41
41
|
const searchParams = new URLSearchParams({
|
|
42
42
|
baseUrl,
|
package/src/csm/draftUtils.ts
CHANGED
|
@@ -32,11 +32,24 @@ export function isPublishedId(id: string): id is PublishedId {
|
|
|
32
32
|
return !isDraftId(id) && !isVersionId(id)
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
+
/**
|
|
36
|
+
* A phantom brand like `DraftId` has no runtime representation, so it can never be produced
|
|
37
|
+
* by narrowing a string - there's nothing to check. These two functions are the only places
|
|
38
|
+
* allowed to assert a plain string into a branded id.
|
|
39
|
+
*/
|
|
40
|
+
function asDraftId(value: string): DraftId {
|
|
41
|
+
return value as DraftId
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function asPublishedId(value: string): PublishedId {
|
|
45
|
+
return value as PublishedId
|
|
46
|
+
}
|
|
47
|
+
|
|
35
48
|
/** @internal */
|
|
36
49
|
export function getDraftId(id: string): DraftId {
|
|
37
50
|
if (isVersionId(id)) {
|
|
38
51
|
const publishedId = getPublishedId(id)
|
|
39
|
-
return (DRAFTS_PREFIX + publishedId)
|
|
52
|
+
return asDraftId(DRAFTS_PREFIX + publishedId)
|
|
40
53
|
}
|
|
41
54
|
|
|
42
55
|
return isDraftId(id) ? id : ((DRAFTS_PREFIX + id) as DraftId)
|
|
@@ -60,7 +73,6 @@ export function getVersionId(id: string, version: string): string {
|
|
|
60
73
|
*/
|
|
61
74
|
export function getVersionFromId(id: string): string | undefined {
|
|
62
75
|
if (!isVersionId(id)) return undefined
|
|
63
|
-
// eslint-disable-next-line unused-imports/no-unused-vars
|
|
64
76
|
const [_versionPrefix, versionId, ..._publishedId] = id.split(PATH_SEPARATOR)
|
|
65
77
|
|
|
66
78
|
return versionId
|
|
@@ -70,12 +82,18 @@ export function getVersionFromId(id: string): string | undefined {
|
|
|
70
82
|
export function getPublishedId(id: string): PublishedId {
|
|
71
83
|
if (isVersionId(id)) {
|
|
72
84
|
// make sure to only remove the versions prefix and the bundle name
|
|
73
|
-
return id.split(PATH_SEPARATOR).slice(2).join(PATH_SEPARATOR)
|
|
85
|
+
return asPublishedId(id.split(PATH_SEPARATOR).slice(2).join(PATH_SEPARATOR))
|
|
74
86
|
}
|
|
75
87
|
|
|
76
88
|
if (isDraftId(id)) {
|
|
77
|
-
return id.slice(DRAFTS_PREFIX.length)
|
|
89
|
+
return asPublishedId(id.slice(DRAFTS_PREFIX.length))
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
if (isPublishedId(id)) {
|
|
93
|
+
return id
|
|
78
94
|
}
|
|
79
95
|
|
|
80
|
-
|
|
96
|
+
// Unreachable: `isPublishedId` is defined as `!isDraftId(id) && !isVersionId(id)`, both of
|
|
97
|
+
// which were already checked (and found false) above, so this can never execute.
|
|
98
|
+
throw new Error(`Unable to resolve a published id from "${id}"`)
|
|
81
99
|
}
|
package/src/csm/index.ts
CHANGED
package/src/csm/studioPath.ts
CHANGED
|
@@ -45,6 +45,7 @@ export function isIndexTuple(segment: PathSegment): segment is IndexTuple {
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
/** @internal */
|
|
48
|
+
// oxlint-disable-next-line typescript/no-unnecessary-type-parameters -- caller-supplied return type; removing it breaks `get<Result>(...)` call sites
|
|
48
49
|
export function get<Result = unknown, Fallback = unknown>(
|
|
49
50
|
obj: unknown,
|
|
50
51
|
path: Path | string,
|
|
@@ -55,7 +56,7 @@ export function get<Result = unknown, Fallback = unknown>(
|
|
|
55
56
|
throw new Error('Path must be an array or a string')
|
|
56
57
|
}
|
|
57
58
|
|
|
58
|
-
let acc: unknown
|
|
59
|
+
let acc: unknown = obj
|
|
59
60
|
for (let i = 0; i < select.length; i++) {
|
|
60
61
|
const segment = select[i]
|
|
61
62
|
if (isIndexSegment(segment)) {
|
package/src/csm/types.ts
CHANGED
|
@@ -33,11 +33,17 @@ export type ContentSourceMapParsedPathKeyedSegment = {_key: string; _index: numb
|
|
|
33
33
|
|
|
34
34
|
/** @alpha */
|
|
35
35
|
export type ContentSourceMapParsedPath = (
|
|
36
|
-
|
|
36
|
+
| string
|
|
37
|
+
| number
|
|
38
|
+
| ContentSourceMapParsedPathKeyedSegment
|
|
37
39
|
)[]
|
|
38
40
|
|
|
39
41
|
/** @alpha */
|
|
40
|
-
export type StudioBaseUrl =
|
|
42
|
+
export type StudioBaseUrl =
|
|
43
|
+
| `/${string}`
|
|
44
|
+
| `${string}.sanity.studio`
|
|
45
|
+
| `https://${string}`
|
|
46
|
+
| (string & {})
|
|
41
47
|
|
|
42
48
|
/** @alpha */
|
|
43
49
|
export type StudioBaseRoute = {baseUrl: StudioBaseUrl; workspace?: string; tool?: string}
|