@sanity/client 6.28.3-instruct.0 → 6.28.3-instruct.2
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/dist/_chunks-cjs/config.cjs +6 -13
- package/dist/_chunks-cjs/config.cjs.map +1 -1
- package/dist/_chunks-es/config.js +6 -13
- package/dist/_chunks-es/config.js.map +1 -1
- package/dist/index.browser.cjs +32 -55
- package/dist/index.browser.cjs.map +1 -1
- package/dist/index.browser.d.cts +143 -153
- package/dist/index.browser.d.ts +143 -153
- package/dist/index.browser.js +32 -55
- package/dist/index.browser.js.map +1 -1
- package/dist/index.cjs +27 -43
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +143 -153
- package/dist/index.d.ts +143 -153
- package/dist/index.js +27 -43
- package/dist/index.js.map +1 -1
- package/dist/stega.browser.d.cts +145 -160
- package/dist/stega.browser.d.ts +145 -160
- package/dist/stega.d.cts +145 -160
- package/dist/stega.d.ts +145 -160
- package/package.json +20 -20
- package/src/SanityClient.ts +46 -5
- package/src/config.ts +9 -18
- package/src/data/listen.ts +1 -1
- package/src/http/requestOptions.ts +1 -1
- package/src/instruct/instruct.ts +24 -0
- package/src/{assist → instruct}/types.ts +30 -27
- package/src/types.ts +9 -9
- package/src/warnings.ts +5 -0
- package/umd/sanityClient.js +39 -60
- package/umd/sanityClient.min.js +2 -2
- package/src/assist/AssistClient.ts +0 -87
package/dist/index.browser.d.ts
CHANGED
|
@@ -122,110 +122,6 @@ export declare class AssetsClient {
|
|
|
122
122
|
): Promise<SanityAssetDocument | SanityImageAssetDocument>
|
|
123
123
|
}
|
|
124
124
|
|
|
125
|
-
/** @beta */
|
|
126
|
-
export declare type AssistAsyncInstruction<
|
|
127
|
-
T extends Record<string, Any_2> = Record<string, Any_2>,
|
|
128
|
-
> = (ExistingDocumentRequest | CreateDocumentRequest<T>) & AssistRequestBase & Async
|
|
129
|
-
|
|
130
|
-
/** @public */
|
|
131
|
-
declare class AssistClient {
|
|
132
|
-
#private
|
|
133
|
-
constructor(client: SanityClient, httpRequest: HttpRequest)
|
|
134
|
-
instruct(request: AssistAsyncInstruction): Promise<{
|
|
135
|
-
_id: string
|
|
136
|
-
}>
|
|
137
|
-
instruct<DocumentShape extends Record<string, Any>>(
|
|
138
|
-
request: AssistSyncInstruction<DocumentShape>,
|
|
139
|
-
): Promise<IdentifiedSanityDocumentStub & DocumentShape>
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
/** @beta */
|
|
143
|
-
export declare type AssistInstruction<T extends Record<string, Any_2> = Record<string, Any_2>> =
|
|
144
|
-
| AssistSyncInstruction<T>
|
|
145
|
-
| AssistAsyncInstruction<T>
|
|
146
|
-
|
|
147
|
-
declare interface AssistRequestBase {
|
|
148
|
-
/** schemaId as reported by sanity deploy / sanity schema store */
|
|
149
|
-
schemaId: string
|
|
150
|
-
/** string template using $variable – more on this below under "Dynamic instruction" */
|
|
151
|
-
instruction: string
|
|
152
|
-
/** param values for the string template, keys are the variable name, ie if the template has "$variable", one key must be "variable" */
|
|
153
|
-
instructionParams?: InstructionParams
|
|
154
|
-
/**
|
|
155
|
-
* Optional document path output target for the instruction.
|
|
156
|
-
* When provided, the instruction will apply to this path in the document and its children.
|
|
157
|
-
*
|
|
158
|
-
* ## Examples
|
|
159
|
-
* - `path: 'title'` will output to the title field in the document
|
|
160
|
-
* - `path: 'array[_key="xx"]'` will output to the item with `_key: 'xx'` in the array field
|
|
161
|
-
*/
|
|
162
|
-
path?: string
|
|
163
|
-
/**
|
|
164
|
-
* Controls sub-paths in the document that can be output to.
|
|
165
|
-
*
|
|
166
|
-
* The string-paths are relative to the `path` param
|
|
167
|
-
*
|
|
168
|
-
* Note: these path strings are less strictly validated than the `path` param itself:
|
|
169
|
-
* if an relative-path does not exist or is invalid, it will be silently ignored.
|
|
170
|
-
*
|
|
171
|
-
* @see AssistRequestBase#conditionalPaths
|
|
172
|
-
* @see AssistRequestBase#outputTypes
|
|
173
|
-
*/
|
|
174
|
-
relativeOutputPaths?:
|
|
175
|
-
| {
|
|
176
|
-
include: string[]
|
|
177
|
-
}
|
|
178
|
-
| {
|
|
179
|
-
exclude: string[]
|
|
180
|
-
}
|
|
181
|
-
/**
|
|
182
|
-
* Controls which types the instruction is allowed to output to.
|
|
183
|
-
*
|
|
184
|
-
* @see AssistRequestBase#relativeOutputPaths
|
|
185
|
-
* @see AssistRequestBase#conditionalPaths
|
|
186
|
-
*/
|
|
187
|
-
outputTypes?:
|
|
188
|
-
| {
|
|
189
|
-
include: string[]
|
|
190
|
-
}
|
|
191
|
-
| {
|
|
192
|
-
exclude: string[]
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* When a type or field in the schema has a function set for `hidden` or `readOnly`, it is conditional.
|
|
196
|
-
*
|
|
197
|
-
* By default, AI Assist will not output to conditional `readOnly` and `hidden` fields,
|
|
198
|
-
* ie, they are considered to resolve to `readOnly: true` / `hidden: true`.
|
|
199
|
-
*
|
|
200
|
-
* `conditionalPaths` param allows setting the default conditional value for
|
|
201
|
-
* `hidden` and `readOnly` to false,
|
|
202
|
-
* or individually set `hidden` and `readOnly` state for individual document paths.
|
|
203
|
-
*
|
|
204
|
-
*
|
|
205
|
-
* Note: fields and types with explicit readOnly: true or hidden: true in the schema, are not available to AI Assist,
|
|
206
|
-
* and cannot be changed via conditionalPaths.
|
|
207
|
-
*
|
|
208
|
-
* conditionalPaths state only apply to fields and types that have conditional `hidden` or `readOnly` in their schema definition.
|
|
209
|
-
*
|
|
210
|
-
* @see AssistRequestBase#relativeOutputPaths
|
|
211
|
-
* @see AssistRequestBase#outputTypes
|
|
212
|
-
*/
|
|
213
|
-
conditionalPaths?: {
|
|
214
|
-
defaultReadOnly?: boolean
|
|
215
|
-
defaultHidden?: boolean
|
|
216
|
-
paths?: {
|
|
217
|
-
/** path here is not a relative path: it must be the full document path, regardless of `path` param on the request itself */
|
|
218
|
-
path: string
|
|
219
|
-
readOnly: boolean
|
|
220
|
-
hidden: boolean
|
|
221
|
-
}[]
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
/** @beta */
|
|
226
|
-
export declare type AssistSyncInstruction<T extends Record<string, Any_2> = Record<string, Any_2>> =
|
|
227
|
-
(ExistingDocumentRequest | CreateDocumentRequest<T>) & AssistRequestBase & Sync
|
|
228
|
-
|
|
229
125
|
declare interface Async {
|
|
230
126
|
/**
|
|
231
127
|
* When async: true, requests responds with status 201 and {_id} as response body as soon as the request is validated.
|
|
@@ -577,12 +473,6 @@ export declare class ConnectionFailedError extends Error {
|
|
|
577
473
|
readonly name = 'ConnectionFailedError'
|
|
578
474
|
}
|
|
579
475
|
|
|
580
|
-
/** @beta */
|
|
581
|
-
export declare interface ConstantInstructionParam {
|
|
582
|
-
type: 'constant'
|
|
583
|
-
value: string
|
|
584
|
-
}
|
|
585
|
-
|
|
586
476
|
/** @public */
|
|
587
477
|
export declare interface ContentSourceMap {
|
|
588
478
|
mappings: ContentSourceMapMappings
|
|
@@ -928,23 +818,6 @@ declare interface ExistingDocumentRequest {
|
|
|
928
818
|
documentId: string
|
|
929
819
|
}
|
|
930
820
|
|
|
931
|
-
/**
|
|
932
|
-
*
|
|
933
|
-
* Includes a LLM-friendly version of the field value in the instruction
|
|
934
|
-
* @beta
|
|
935
|
-
* */
|
|
936
|
-
export declare interface FieldInstructionParam {
|
|
937
|
-
type: 'field'
|
|
938
|
-
/**
|
|
939
|
-
* Examples: 'title', 'array[_key=="key"].field
|
|
940
|
-
*/
|
|
941
|
-
path: string
|
|
942
|
-
/**
|
|
943
|
-
* If omitted, implicitly uses the documentId of the instruction target
|
|
944
|
-
*/
|
|
945
|
-
documentId?: string
|
|
946
|
-
}
|
|
947
|
-
|
|
948
821
|
/** @public */
|
|
949
822
|
export declare type FilterDefault = (props: {
|
|
950
823
|
/**
|
|
@@ -1011,13 +884,6 @@ export declare type FirstDocumentMutationOptions = BaseMutationOptions & {
|
|
|
1011
884
|
returnDocuments?: true
|
|
1012
885
|
}
|
|
1013
886
|
|
|
1014
|
-
/** @beta */
|
|
1015
|
-
export declare interface GroqInstructionParam {
|
|
1016
|
-
type: 'groq'
|
|
1017
|
-
query: string
|
|
1018
|
-
params?: Record<string, string>
|
|
1019
|
-
}
|
|
1020
|
-
|
|
1021
887
|
/** @public */
|
|
1022
888
|
export declare type HttpRequest = {
|
|
1023
889
|
(options: RequestOptions, requester: Requester): ReturnType<Requester>
|
|
@@ -1079,15 +945,141 @@ export declare type InsertPatch =
|
|
|
1079
945
|
}
|
|
1080
946
|
|
|
1081
947
|
/** @beta */
|
|
1082
|
-
export declare type
|
|
948
|
+
export declare type InstructAsyncInstruction<
|
|
949
|
+
T extends Record<string, Any_2> = Record<string, Any_2>,
|
|
950
|
+
> = (ExistingDocumentRequest | CreateDocumentRequest<T>) & InstructRequestBase & Async
|
|
951
|
+
|
|
952
|
+
/** @beta */
|
|
953
|
+
export declare interface InstructConstantInstructionParam {
|
|
954
|
+
type: 'constant'
|
|
955
|
+
value: string
|
|
956
|
+
}
|
|
957
|
+
|
|
958
|
+
/**
|
|
959
|
+
*
|
|
960
|
+
* Includes a LLM-friendly version of the field value in the instruction
|
|
961
|
+
* @beta
|
|
962
|
+
* */
|
|
963
|
+
export declare interface InstructFieldInstructionParam {
|
|
964
|
+
type: 'field'
|
|
965
|
+
/**
|
|
966
|
+
* Examples: 'title', 'array[_key=="key"].field'
|
|
967
|
+
*/
|
|
968
|
+
path: string
|
|
969
|
+
/**
|
|
970
|
+
* If omitted, implicitly uses the documentId of the instruction target
|
|
971
|
+
*/
|
|
972
|
+
documentId?: string
|
|
973
|
+
}
|
|
974
|
+
|
|
975
|
+
/**
|
|
976
|
+
* Includes a LLM-friendly version of GROQ query result in the instruction
|
|
977
|
+
* @beta
|
|
978
|
+
* */
|
|
979
|
+
export declare interface InstructGroqInstructionParam {
|
|
980
|
+
type: 'groq'
|
|
981
|
+
query: string
|
|
982
|
+
params?: Record<string, string>
|
|
983
|
+
}
|
|
984
|
+
|
|
985
|
+
/** @beta */
|
|
986
|
+
export declare type InstructInstruction<T extends Record<string, Any_2> = Record<string, Any_2>> =
|
|
987
|
+
| InstructSyncInstruction<T>
|
|
988
|
+
| InstructAsyncInstruction<T>
|
|
989
|
+
|
|
990
|
+
/** @beta */
|
|
991
|
+
export declare type InstructInstructionParam =
|
|
1083
992
|
| string
|
|
1084
|
-
|
|
|
1085
|
-
|
|
|
993
|
+
| InstructConstantInstructionParam
|
|
994
|
+
| InstructFieldInstructionParam
|
|
1086
995
|
| DocumentInstructionParam
|
|
1087
|
-
|
|
|
996
|
+
| InstructGroqInstructionParam
|
|
1088
997
|
|
|
1089
998
|
/** @beta */
|
|
1090
|
-
export declare type
|
|
999
|
+
export declare type InstructInstructionParams = Record<string, InstructInstructionParam>
|
|
1000
|
+
|
|
1001
|
+
declare interface InstructRequestBase {
|
|
1002
|
+
/** schemaId as reported by sanity deploy / sanity schema store */
|
|
1003
|
+
schemaId: string
|
|
1004
|
+
/** string template using $variable – more on this below under "Dynamic instruction" */
|
|
1005
|
+
instruction: string
|
|
1006
|
+
/** param values for the string template, keys are the variable name, ie if the template has "$variable", one key must be "variable" */
|
|
1007
|
+
instructionParams?: InstructInstructionParams
|
|
1008
|
+
/**
|
|
1009
|
+
* Optional document path output target for the instruction.
|
|
1010
|
+
* When provided, the instruction will apply to this path in the document and its children.
|
|
1011
|
+
*
|
|
1012
|
+
* ## Examples
|
|
1013
|
+
* - `path: 'title'` will output to the title field in the document
|
|
1014
|
+
* - `path: 'array[_key="xx"]'` will output to the item with `_key: 'xx'` in the array field
|
|
1015
|
+
*/
|
|
1016
|
+
path?: string
|
|
1017
|
+
/**
|
|
1018
|
+
* Controls sub-paths in the document that can be output to.
|
|
1019
|
+
*
|
|
1020
|
+
* The string-paths are relative to the `path` param
|
|
1021
|
+
*
|
|
1022
|
+
* Note: these path strings are less strictly validated than the `path` param itself:
|
|
1023
|
+
* if an relative-path does not exist or is invalid, it will be silently ignored.
|
|
1024
|
+
*
|
|
1025
|
+
* @see InstructRequestBase#conditionalPaths
|
|
1026
|
+
* @see InstructRequestBase#outputTypes
|
|
1027
|
+
*/
|
|
1028
|
+
relativeOutputPaths?:
|
|
1029
|
+
| {
|
|
1030
|
+
include: string[]
|
|
1031
|
+
}
|
|
1032
|
+
| {
|
|
1033
|
+
exclude: string[]
|
|
1034
|
+
}
|
|
1035
|
+
/**
|
|
1036
|
+
* Controls which types the instruction is allowed to output to.
|
|
1037
|
+
*
|
|
1038
|
+
* @see InstructRequestBase#relativeOutputPaths
|
|
1039
|
+
* @see InstructRequestBase#conditionalPaths
|
|
1040
|
+
*/
|
|
1041
|
+
outputTypes?:
|
|
1042
|
+
| {
|
|
1043
|
+
include: string[]
|
|
1044
|
+
}
|
|
1045
|
+
| {
|
|
1046
|
+
exclude: string[]
|
|
1047
|
+
}
|
|
1048
|
+
/**
|
|
1049
|
+
* When a type or field in the schema has a function set for `hidden` or `readOnly`, it is conditional.
|
|
1050
|
+
*
|
|
1051
|
+
* By default, AI Instruct will not output to conditional `readOnly` and `hidden` fields,
|
|
1052
|
+
* ie, they are considered to resolve to `readOnly: true` / `hidden: true`.
|
|
1053
|
+
*
|
|
1054
|
+
* `conditionalPaths` param allows setting the default conditional value for
|
|
1055
|
+
* `hidden` and `readOnly` to false,
|
|
1056
|
+
* or individually set `hidden` and `readOnly` state for individual document paths.
|
|
1057
|
+
*
|
|
1058
|
+
*
|
|
1059
|
+
* Note: fields and types with explicit readOnly: true or hidden: true in the schema, are not available to AI Instruct,
|
|
1060
|
+
* and cannot be changed via conditionalPaths.
|
|
1061
|
+
*
|
|
1062
|
+
* conditionalPaths state only apply to fields and types that have conditional `hidden` or `readOnly` in their schema definition.
|
|
1063
|
+
*
|
|
1064
|
+
* @see InstructRequestBase#relativeOutputPaths
|
|
1065
|
+
* @see InstructRequestBase#outputTypes
|
|
1066
|
+
*/
|
|
1067
|
+
conditionalPaths?: {
|
|
1068
|
+
defaultReadOnly?: boolean
|
|
1069
|
+
defaultHidden?: boolean
|
|
1070
|
+
paths?: {
|
|
1071
|
+
/** path here is not a relative path: it must be the full document path, regardless of `path` param on the request itself */
|
|
1072
|
+
path: string
|
|
1073
|
+
readOnly: boolean
|
|
1074
|
+
hidden: boolean
|
|
1075
|
+
}[]
|
|
1076
|
+
}
|
|
1077
|
+
}
|
|
1078
|
+
|
|
1079
|
+
/** @beta */
|
|
1080
|
+
export declare type InstructSyncInstruction<
|
|
1081
|
+
T extends Record<string, Any_2> = Record<string, Any_2>,
|
|
1082
|
+
> = (ExistingDocumentRequest | CreateDocumentRequest<T>) & InstructRequestBase & Sync
|
|
1091
1083
|
|
|
1092
1084
|
/**
|
|
1093
1085
|
* Set up a listener that will be notified when mutations occur on documents matching the provided query/filter.
|
|
@@ -1503,18 +1495,6 @@ export declare class ObservableAssetsClient {
|
|
|
1503
1495
|
>
|
|
1504
1496
|
}
|
|
1505
1497
|
|
|
1506
|
-
/** @public */
|
|
1507
|
-
declare class ObservableAssistClient {
|
|
1508
|
-
#private
|
|
1509
|
-
constructor(client: ObservableSanityClient, httpRequest: HttpRequest)
|
|
1510
|
-
instruct(request: AssistAsyncInstruction): Observable<{
|
|
1511
|
-
_id: string
|
|
1512
|
-
}>
|
|
1513
|
-
instruct<DocumentShape extends Record<string, Any>>(
|
|
1514
|
-
request: AssistSyncInstruction<DocumentShape>,
|
|
1515
|
-
): Observable<IdentifiedSanityDocumentStub & DocumentShape>
|
|
1516
|
-
}
|
|
1517
|
-
|
|
1518
1498
|
/** @internal */
|
|
1519
1499
|
export declare class ObservableDatasetsClient {
|
|
1520
1500
|
#private
|
|
@@ -1638,7 +1618,6 @@ export declare class ObservableSanityClient {
|
|
|
1638
1618
|
live: LiveClient
|
|
1639
1619
|
projects: ObservableProjectsClient
|
|
1640
1620
|
users: ObservableUsersClient
|
|
1641
|
-
assist: ObservableAssistClient
|
|
1642
1621
|
/**
|
|
1643
1622
|
* Instance properties
|
|
1644
1623
|
*/
|
|
@@ -2133,6 +2112,12 @@ export declare class ObservableSanityClient {
|
|
|
2133
2112
|
* @param path - Path to append after the operation
|
|
2134
2113
|
*/
|
|
2135
2114
|
getDataUrl(operation: string, path?: string): string
|
|
2115
|
+
instruct(request: InstructAsyncInstruction): Observable<{
|
|
2116
|
+
_id: string
|
|
2117
|
+
}>
|
|
2118
|
+
instruct<DocumentShape extends Record<string, Any>>(
|
|
2119
|
+
request: InstructSyncInstruction<DocumentShape>,
|
|
2120
|
+
): Observable<IdentifiedSanityDocumentStub & DocumentShape>
|
|
2136
2121
|
}
|
|
2137
2122
|
|
|
2138
2123
|
/** @public */
|
|
@@ -2558,7 +2543,6 @@ export declare class SanityClient {
|
|
|
2558
2543
|
live: LiveClient
|
|
2559
2544
|
projects: ProjectsClient
|
|
2560
2545
|
users: UsersClient
|
|
2561
|
-
assist: AssistClient
|
|
2562
2546
|
/**
|
|
2563
2547
|
* Observable version of the Sanity client, with the same configuration as the promise-based one
|
|
2564
2548
|
*/
|
|
@@ -3073,6 +3057,12 @@ export declare class SanityClient {
|
|
|
3073
3057
|
* @param path - Path to append after the operation
|
|
3074
3058
|
*/
|
|
3075
3059
|
getDataUrl(operation: string, path?: string): string
|
|
3060
|
+
instruct(request: InstructAsyncInstruction): Promise<{
|
|
3061
|
+
_id: string
|
|
3062
|
+
}>
|
|
3063
|
+
instruct<DocumentShape extends Record<string, Any>>(
|
|
3064
|
+
request: InstructSyncInstruction<DocumentShape>,
|
|
3065
|
+
): Promise<IdentifiedSanityDocumentStub & DocumentShape>
|
|
3076
3066
|
}
|
|
3077
3067
|
|
|
3078
3068
|
/** @internal */
|
package/dist/index.browser.js
CHANGED
|
@@ -180,6 +180,9 @@ const createWarningPrinter = (message) => (
|
|
|
180
180
|
`See ${generateHelpUrl(
|
|
181
181
|
"js-client-browser-token"
|
|
182
182
|
)} for more information and how to hide this warning.`
|
|
183
|
+
]), printCredentialedTokenWarning = createWarningPrinter([
|
|
184
|
+
"You have configured Sanity client to use a token, but also provided `withCredentials: true`.",
|
|
185
|
+
"This is no longer supported - only token will be used - remove `withCredentials: true`."
|
|
183
186
|
]), printNoApiVersionSpecifiedWarning = createWarningPrinter([
|
|
184
187
|
"Using the Sanity client without specifying an API version is deprecated.",
|
|
185
188
|
`See ${generateHelpUrl("js-client-api-version")}`
|
|
@@ -198,21 +201,11 @@ function validateApiVersion(apiVersion) {
|
|
|
198
201
|
if (!(/^\d{4}-\d{2}-\d{2}$/.test(apiVersion) && apiDate instanceof Date && apiDate.getTime() > 0))
|
|
199
202
|
throw new Error("Invalid API version string, expected `1` or date in format `YYYY-MM-DD`");
|
|
200
203
|
}
|
|
201
|
-
const VALID_PERSPECTIVE = /^[a-z0-9_]+$/i;
|
|
202
204
|
function validateApiPerspective(perspective) {
|
|
203
|
-
if (Array.isArray(perspective) && perspective.includes("raw"))
|
|
205
|
+
if (Array.isArray(perspective) && perspective.length > 1 && perspective.includes("raw"))
|
|
204
206
|
throw new TypeError(
|
|
205
207
|
'Invalid API perspective value: "raw". The raw-perspective can not be combined with other perspectives'
|
|
206
208
|
);
|
|
207
|
-
const invalid = (Array.isArray(perspective) ? perspective : [perspective]).filter(
|
|
208
|
-
(perspectiveName) => typeof perspectiveName != "string" || !VALID_PERSPECTIVE.test(perspectiveName)
|
|
209
|
-
);
|
|
210
|
-
if (invalid.length > 0) {
|
|
211
|
-
const formatted = invalid.map((v) => JSON.stringify(v));
|
|
212
|
-
throw new TypeError(
|
|
213
|
-
`Invalid API perspective value${invalid.length === 1 ? "" : "s"}: ${formatted.join(", ")}, expected \`published\`, \`drafts\`, \`raw\` or a release identifier string`
|
|
214
|
-
);
|
|
215
|
-
}
|
|
216
209
|
}
|
|
217
210
|
const initConfig = (config, prevConfig) => {
|
|
218
211
|
const specifiedConfig = {
|
|
@@ -250,8 +243,8 @@ const initConfig = (config, prevConfig) => {
|
|
|
250
243
|
throw new Error(
|
|
251
244
|
`stega.studioUrl must be a string or a function, received ${newConfig.stega.studioUrl}`
|
|
252
245
|
);
|
|
253
|
-
const isBrowser = typeof window < "u" && window.location && window.location.hostname, isLocalhost = isBrowser && isLocal(window.location.hostname);
|
|
254
|
-
|
|
246
|
+
const isBrowser = typeof window < "u" && window.location && window.location.hostname, isLocalhost = isBrowser && isLocal(window.location.hostname), hasToken = !!newConfig.token;
|
|
247
|
+
newConfig.withCredentials && hasToken && (printCredentialedTokenWarning(), newConfig.withCredentials = !1), isBrowser && isLocalhost && hasToken && newConfig.ignoreBrowserTokenWarning !== !0 ? printBrowserTokenWarning() : typeof newConfig.useCdn > "u" && printCdnWarning(), projectBased && projectId(newConfig.projectId), newConfig.dataset && dataset(newConfig.dataset), "requestTagPrefix" in newConfig && (newConfig.requestTagPrefix = newConfig.requestTagPrefix ? requestTag(newConfig.requestTagPrefix).replace(/\.+$/, "") : void 0), newConfig.apiVersion = `${newConfig.apiVersion}`.replace(/^v/, ""), newConfig.isDefaultApi = newConfig.apiHost === defaultConfig.apiHost, newConfig.useCdn === !0 && newConfig.withCredentials && printCdnAndWithCredentialsWarning(), newConfig.useCdn = newConfig.useCdn !== !1 && !newConfig.withCredentials, validateApiVersion(newConfig.apiVersion);
|
|
255
248
|
const hostParts = newConfig.apiHost.split("://", 2), protocol = hostParts[0], host = hostParts[1], cdnHost = newConfig.isDefaultApi ? defaultCdnHost : host;
|
|
256
249
|
return newConfig.useProjectHostname ? (newConfig.url = `${protocol}://${newConfig.projectId}.${host}/v${newConfig.apiVersion}`, newConfig.cdnUrl = `${protocol}://${newConfig.projectId}.${cdnHost}/v${newConfig.apiVersion}`) : (newConfig.url = `${newConfig.apiHost}/v${newConfig.apiVersion}`, newConfig.cdnUrl = newConfig.url), newConfig;
|
|
257
250
|
};
|
|
@@ -699,7 +692,7 @@ const projectHeader = "X-Sanity-Project-ID";
|
|
|
699
692
|
function requestOptions(config, overrides = {}) {
|
|
700
693
|
const headers = {}, token = overrides.token || config.token;
|
|
701
694
|
token && (headers.Authorization = `Bearer ${token}`), !overrides.useGlobalApi && !config.useProjectHostname && config.projectId && (headers[projectHeader] = config.projectId);
|
|
702
|
-
const withCredentials = !!(typeof overrides.withCredentials > "u" ? config.
|
|
695
|
+
const withCredentials = !!(typeof overrides.withCredentials > "u" ? config.withCredentials : overrides.withCredentials), timeout = typeof overrides.timeout > "u" ? config.timeout : overrides.timeout;
|
|
703
696
|
return Object.assign({}, overrides, {
|
|
704
697
|
headers: Object.assign({}, headers, overrides.headers || {}),
|
|
705
698
|
timeout: typeof timeout > "u" ? 5 * 60 * 1e3 : timeout,
|
|
@@ -981,42 +974,6 @@ function optionsFromFile(opts, file) {
|
|
|
981
974
|
opts
|
|
982
975
|
);
|
|
983
976
|
}
|
|
984
|
-
function _instruct(client, httpRequest, request) {
|
|
985
|
-
const dataset2 = hasDataset(client.config());
|
|
986
|
-
return _request(client, httpRequest, {
|
|
987
|
-
method: "POST",
|
|
988
|
-
uri: `/assist/tasks/instruct/${dataset2}`,
|
|
989
|
-
body: request
|
|
990
|
-
});
|
|
991
|
-
}
|
|
992
|
-
class ObservableAssistClient {
|
|
993
|
-
#client;
|
|
994
|
-
#httpRequest;
|
|
995
|
-
constructor(client, httpRequest) {
|
|
996
|
-
this.#client = client, this.#httpRequest = httpRequest;
|
|
997
|
-
}
|
|
998
|
-
/**
|
|
999
|
-
* Run an ad-hoc instruction for a target document.
|
|
1000
|
-
* @param request instruction request
|
|
1001
|
-
*/
|
|
1002
|
-
instruct(request) {
|
|
1003
|
-
return _instruct(this.#client, this.#httpRequest, request);
|
|
1004
|
-
}
|
|
1005
|
-
}
|
|
1006
|
-
class AssistClient {
|
|
1007
|
-
#client;
|
|
1008
|
-
#httpRequest;
|
|
1009
|
-
constructor(client, httpRequest) {
|
|
1010
|
-
this.#client = client, this.#httpRequest = httpRequest;
|
|
1011
|
-
}
|
|
1012
|
-
/**
|
|
1013
|
-
* Run an ad-hoc instruction for a target document.
|
|
1014
|
-
* @param request instruction request
|
|
1015
|
-
*/
|
|
1016
|
-
instruct(request) {
|
|
1017
|
-
return lastValueFrom(_instruct(this.#client, this.#httpRequest, request));
|
|
1018
|
-
}
|
|
1019
|
-
}
|
|
1020
977
|
var defaults = (obj, defaults2) => Object.keys(defaults2).concat(Object.keys(obj)).reduce((target, prop) => (target[prop] = typeof obj[prop] > "u" ? defaults2[prop] : obj[prop], target), {});
|
|
1021
978
|
const pick = (obj, props) => props.reduce((selection, prop) => (typeof obj[prop] > "u" || (selection[prop] = obj[prop]), selection), {}), eventSourcePolyfill = defer(() => import("@sanity/eventsource")).pipe(
|
|
1022
979
|
map(({ default: EventSource2 }) => EventSource2),
|
|
@@ -1045,7 +1002,7 @@ function _listen(query, params, opts = {}) {
|
|
|
1045
1002
|
if (uri.length > MAX_URL_LENGTH)
|
|
1046
1003
|
return throwError(() => new Error("Query too large for listener"));
|
|
1047
1004
|
const listenFor = options.events ? options.events : ["mutation"], esOptions = {};
|
|
1048
|
-
return
|
|
1005
|
+
return withCredentials && (esOptions.withCredentials = !0), token && (esOptions.headers = {
|
|
1049
1006
|
Authorization: `Bearer ${token}`
|
|
1050
1007
|
}), connectEventSource(() => (
|
|
1051
1008
|
// use polyfill if there is no global EventSource or if we need to set headers
|
|
@@ -1268,6 +1225,14 @@ function _modify(client, httpRequest, method, name, options) {
|
|
|
1268
1225
|
tag: null
|
|
1269
1226
|
});
|
|
1270
1227
|
}
|
|
1228
|
+
function _instruct(client, httpRequest, request) {
|
|
1229
|
+
const dataset2 = hasDataset(client.config());
|
|
1230
|
+
return _request(client, httpRequest, {
|
|
1231
|
+
method: "POST",
|
|
1232
|
+
uri: `/assist/tasks/instruct/${dataset2}`,
|
|
1233
|
+
body: request
|
|
1234
|
+
});
|
|
1235
|
+
}
|
|
1271
1236
|
class ObservableProjectsClient {
|
|
1272
1237
|
#client;
|
|
1273
1238
|
#httpRequest;
|
|
@@ -1352,7 +1317,6 @@ class ObservableSanityClient {
|
|
|
1352
1317
|
live;
|
|
1353
1318
|
projects;
|
|
1354
1319
|
users;
|
|
1355
|
-
assist;
|
|
1356
1320
|
/**
|
|
1357
1321
|
* Private properties
|
|
1358
1322
|
*/
|
|
@@ -1363,7 +1327,7 @@ class ObservableSanityClient {
|
|
|
1363
1327
|
*/
|
|
1364
1328
|
listen = _listen;
|
|
1365
1329
|
constructor(httpRequest, config = defaultConfig) {
|
|
1366
|
-
this.config(config), this.#httpRequest = httpRequest, this.assets = new ObservableAssetsClient(this, this.#httpRequest), this.datasets = new ObservableDatasetsClient(this, this.#httpRequest), this.live = new LiveClient(this), this.projects = new ObservableProjectsClient(this, this.#httpRequest), this.users = new ObservableUsersClient(this, this.#httpRequest)
|
|
1330
|
+
this.config(config), this.#httpRequest = httpRequest, this.assets = new ObservableAssetsClient(this, this.#httpRequest), this.datasets = new ObservableDatasetsClient(this, this.#httpRequest), this.live = new LiveClient(this), this.projects = new ObservableProjectsClient(this, this.#httpRequest), this.users = new ObservableUsersClient(this, this.#httpRequest);
|
|
1367
1331
|
}
|
|
1368
1332
|
/**
|
|
1369
1333
|
* Clone the client - returns a new instance
|
|
@@ -1495,6 +1459,13 @@ class ObservableSanityClient {
|
|
|
1495
1459
|
getDataUrl(operation, path) {
|
|
1496
1460
|
return _getDataUrl(this, operation, path);
|
|
1497
1461
|
}
|
|
1462
|
+
/**
|
|
1463
|
+
* Run an ad-hoc instruction for a target document.
|
|
1464
|
+
* @param request instruction request
|
|
1465
|
+
*/
|
|
1466
|
+
instruct(request) {
|
|
1467
|
+
return _instruct(this, this.#httpRequest, request);
|
|
1468
|
+
}
|
|
1498
1469
|
}
|
|
1499
1470
|
class SanityClient {
|
|
1500
1471
|
assets;
|
|
@@ -1502,7 +1473,6 @@ class SanityClient {
|
|
|
1502
1473
|
live;
|
|
1503
1474
|
projects;
|
|
1504
1475
|
users;
|
|
1505
|
-
assist;
|
|
1506
1476
|
/**
|
|
1507
1477
|
* Observable version of the Sanity client, with the same configuration as the promise-based one
|
|
1508
1478
|
*/
|
|
@@ -1517,7 +1487,7 @@ class SanityClient {
|
|
|
1517
1487
|
*/
|
|
1518
1488
|
listen = _listen;
|
|
1519
1489
|
constructor(httpRequest, config = defaultConfig) {
|
|
1520
|
-
this.config(config), this.#httpRequest = httpRequest, this.assets = new AssetsClient(this, this.#httpRequest), this.datasets = new DatasetsClient(this, this.#httpRequest), this.live = new LiveClient(this), this.projects = new ProjectsClient(this, this.#httpRequest), this.users = new UsersClient(this, this.#httpRequest), this.
|
|
1490
|
+
this.config(config), this.#httpRequest = httpRequest, this.assets = new AssetsClient(this, this.#httpRequest), this.datasets = new DatasetsClient(this, this.#httpRequest), this.live = new LiveClient(this), this.projects = new ProjectsClient(this, this.#httpRequest), this.users = new UsersClient(this, this.#httpRequest), this.observable = new ObservableSanityClient(httpRequest, config);
|
|
1521
1491
|
}
|
|
1522
1492
|
/**
|
|
1523
1493
|
* Clone the client - returns a new instance
|
|
@@ -1673,6 +1643,13 @@ class SanityClient {
|
|
|
1673
1643
|
getDataUrl(operation, path) {
|
|
1674
1644
|
return _getDataUrl(this, operation, path);
|
|
1675
1645
|
}
|
|
1646
|
+
/**
|
|
1647
|
+
* Run an ad-hoc instruction for a target document.
|
|
1648
|
+
* @param request instruction request
|
|
1649
|
+
*/
|
|
1650
|
+
instruct(request) {
|
|
1651
|
+
return lastValueFrom(_instruct(this, this.#httpRequest, request));
|
|
1652
|
+
}
|
|
1676
1653
|
}
|
|
1677
1654
|
function defineCreateClientExports(envMiddleware2, ClassConstructor) {
|
|
1678
1655
|
return { requester: defineHttpRequest(envMiddleware2), createClient: (config) => {
|