@kontent-ai/core-sdk 12.0.0-preview.33 → 12.0.0-preview.35

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 CHANGED
@@ -127,7 +127,7 @@ if (!success) {
127
127
  console.error("Invalid body:", error.details.originalError);
128
128
  break;
129
129
  case "parsingFailed":
130
- // Zod schema validation failed
130
+ // Zod schema parsing fails
131
131
  console.error("Unexpected response shape for", error.details.url, error.details.zodError);
132
132
  break;
133
133
  case "aborted":
@@ -1,6 +1,6 @@
1
1
  export const coreSdkInfo = {
2
2
  host: "npmjs.com",
3
- version: "12.0.0-preview.33",
3
+ version: "12.0.0-preview.35",
4
4
  name: "@kontent-ai/core-sdk",
5
5
  };
6
6
  //# sourceMappingURL=core-sdk-info.js.map
@@ -9,7 +9,7 @@ export type { EmptyObject, PickStringLiteral } from "./models/utility.types.js";
9
9
  export { createFetchQuery } from "./sdk/queries/fetch-sdk-query.js";
10
10
  export { createMutationQuery } from "./sdk/queries/mutation-sdk-query.js";
11
11
  export { createPagedFetchQuery } from "./sdk/queries/paged-fetch-sdk-query.js";
12
- export { codenameOf, codenameOfWithStringFallback, codenameSchema, kontentUuidSchema, nilUuid } from "./sdk/sdk-config.js";
12
+ export { codenameOf, kontentUuidSchema, nilUuid, strictCodenameSchema, } from "./sdk/sdk-config.js";
13
13
  export type { BaseUrl, FetchQuery, FetchQueryRequest, MutationQuery, MutationQueryRequest, PagedFetchQuery, PagingQueryResponse, Query, QueryResponse, QueryResponseMeta, SafePagingQueryResult, SafeQueryResult, SdkConfig, SuccessfulHttpResponse, } from "./sdk/sdk-models.js";
14
14
  export { isPagingQuery } from "./sdk/sdk-utils.js";
15
15
  export { isDefined } from "./utils/core.utils.js";
@@ -6,7 +6,7 @@ export { jsonValueSchema } from "./models/json.models.js";
6
6
  export { createFetchQuery } from "./sdk/queries/fetch-sdk-query.js";
7
7
  export { createMutationQuery } from "./sdk/queries/mutation-sdk-query.js";
8
8
  export { createPagedFetchQuery } from "./sdk/queries/paged-fetch-sdk-query.js";
9
- export { codenameOf, codenameOfWithStringFallback, codenameSchema, kontentUuidSchema, nilUuid } from "./sdk/sdk-config.js";
9
+ export { codenameOf, kontentUuidSchema, nilUuid, strictCodenameSchema, } from "./sdk/sdk-config.js";
10
10
  export { isPagingQuery } from "./sdk/sdk-utils.js";
11
11
  export { isDefined } from "./utils/core.utils.js";
12
12
  export { isKontent404Error, isKontentSdkError } from "./utils/error.utils.js";
@@ -1 +1 @@
1
- {"version":3,"file":"public_api.js","sourceRoot":"","sources":["../lib/public_api.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAoB/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAU/D,OAAO,EACN,iBAAiB,EACjB,iBAAiB,EAKjB,eAAe,GAEf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAmD,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE3G,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,4BAA4B,EAAE,cAAc,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAiB3H,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAAE,kCAAkC,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"public_api.js","sourceRoot":"","sources":["../lib/public_api.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAoB/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAU/D,OAAO,EACN,iBAAiB,EACjB,iBAAiB,EAKjB,eAAe,GAEf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAmD,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE3G,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EACN,UAAU,EACV,iBAAiB,EACjB,OAAO,EACP,oBAAoB,GACpB,MAAM,qBAAqB,CAAC;AAiB7B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAAE,kCAAkC,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
@@ -44,33 +44,36 @@ function prepareQueryData(data) {
44
44
  method: data.method,
45
45
  abortSignal: data.abortSignal,
46
46
  zodSchema: data.zodSchema,
47
+ responseValidation: data.config.runtimeValidation,
47
48
  mapError: data.mapError,
48
49
  mapMetadata: data.mapMetadata,
49
50
  mapExtraResponseProps: data.mapExtraResponseProps,
50
51
  },
51
52
  };
52
53
  }
53
- async function executeQuery({ url, requestHeaders, httpService, body, method, abortSignal, zodSchema, mapError, mapMetadata, mapExtraResponseProps, }) {
54
- const { success: requestSuccess, response, error: requestError, } = await httpService.request({
54
+ async function executeQuery({ url, requestHeaders, httpService, body, method, abortSignal, zodSchema, responseValidation, mapError, mapMetadata, mapExtraResponseProps, }) {
55
+ const { success, response, error } = await httpService.request({
55
56
  body,
56
57
  url,
57
58
  method,
58
59
  abortSignal,
59
60
  requestHeaders,
60
61
  });
61
- if (!requestSuccess) {
62
- return { success: false, error: mapError(requestError) };
62
+ if (!success) {
63
+ return { success: false, error: mapError(error) };
63
64
  }
64
- const { success: parseSuccess, data: parsedPayload, error: parseError, } = await parseResponse({ url: response.adapterResponse.url, response, zodSchema });
65
- if (!parseSuccess) {
66
- return { success: false, error: mapError(parseError) };
65
+ if (responseValidation?.validateResponses) {
66
+ const validationError = await parseResponse({ url: response.adapterResponse.url, response, zodSchema });
67
+ if (validationError) {
68
+ return { success: false, error: mapError(validationError.error) };
69
+ }
67
70
  }
68
71
  const continuationTokenFromResponse = extractContinuationToken(response.adapterResponse.responseHeaders);
69
72
  return {
70
73
  success: true,
71
74
  response: {
72
75
  ...mapExtraResponseProps(response),
73
- payload: parsedPayload,
76
+ payload: response.payload,
74
77
  meta: {
75
78
  ...mapMetadata(response, { continuationToken: continuationTokenFromResponse }),
76
79
  url: response.adapterResponse.url,
@@ -147,13 +150,13 @@ function setBaseUrl(url, baseUrl) {
147
150
  };
148
151
  }
149
152
  async function parseResponse({ url, response, zodSchema, }) {
150
- const { success, error, data } = await zodSchema.safeParseAsync(response.payload);
153
+ const { success, error } = await zodSchema.safeParseAsync(response.payload);
151
154
  if (!success) {
152
155
  return {
153
156
  success: false,
154
157
  error: createSdkError({
155
158
  baseErrorData: {
156
- message: `Failed to parse response schema for url '${url.toString()}'`,
159
+ message: `Failed to parse response payload for '${url.toString()}'`,
157
160
  url,
158
161
  retryStrategyOptions: undefined,
159
162
  retryAttempt: undefined,
@@ -167,7 +170,7 @@ async function parseResponse({ url, response, zodSchema, }) {
167
170
  }),
168
171
  };
169
172
  }
170
- return { success: true, data };
173
+ return undefined;
171
174
  }
172
175
  function getHttpService(config) {
173
176
  return config.httpService ?? getDefaultHttpService();
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-query.js","sourceRoot":"","sources":["../../lib/sdk/resolve-query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-query.js","sourceRoot":"","sources":["../../lib/sdk/resolve-query.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,24 @@
1
1
  import z from "zod";
2
2
  export declare const nilUuid = "00000000-0000-0000-0000-000000000000";
3
3
  export declare const kontentUuidSchema: z.ZodUnion<readonly [z.ZodUUID, z.ZodLiteral<"00000000-0000-0000-0000-000000000000">]>;
4
- export declare const codenameSchema: z.ZodString;
5
- export declare function codenameOf<const TCodenames extends z.infer<typeof codenameSchema>>(codenames: readonly TCodenames[] | undefined): z.ZodType<TCodenames>;
6
- export declare function codenameOfWithStringFallback<const TCodenames extends z.infer<typeof codenameSchema>>(codenames: readonly TCodenames[] | undefined): z.ZodType<TCodenames>;
4
+ export declare const strictCodenameSchema: z.ZodString;
5
+ /**
6
+ * Builds a Zod schema for a codename field.
7
+ *
8
+ * The generic type parameter `TCodenames` is a **TypeScript-only hint** - it
9
+ * narrows the schema's output type for consumers (e.g.
10
+ * `codenameOf<"article" | "product">()` returns `z.ZodType<"article" | "product">`
11
+ * for autocomplete and downstream type inference) but is not enforced at runtime.
12
+ *
13
+ * At runtime the schema only checks that the value is a string. Two reasons:
14
+ *
15
+ * 1. Codenames are not a closed set - editors can add a new content type,
16
+ * taxonomy term, language, etc. at any time. A `z.literal(codenames)` schema
17
+ * would reject newly-added codenames once they appear in API responses, even
18
+ * though those values are perfectly valid.
19
+ * 2. Format-checking every codename on every response is unnecessary cost - the
20
+ * Kontent.ai API contract guarantees the format, so the SDK trusts it.
21
+ *
22
+ * If you need strict format validation (e.g. for inputs in Management SDK), use `strictCodenameSchema` schema instead.
23
+ */
24
+ export declare function codenameOf<TCodenames extends string = string>(): z.ZodType<TCodenames>;
@@ -1,13 +1,31 @@
1
1
  import z from "zod";
2
2
  export const nilUuid = "00000000-0000-0000-0000-000000000000";
3
3
  export const kontentUuidSchema = z.union([z.uuid({ version: "v4" }), z.literal(nilUuid)]);
4
- export const codenameSchema = z.string().regex(/^[a-z][a-z0-9_]*$/, {
4
+ export const strictCodenameSchema = z.string().regex(/^[a-z][a-z0-9_]*$/, {
5
5
  message: "Codename must start with a lowercase letter and contain only lowercase letters, digits, and underscores",
6
6
  });
7
- export function codenameOf(codenames) {
8
- return (codenames && codenames.length > 0 ? z.literal(codenames) : codenameSchema);
9
- }
10
- export function codenameOfWithStringFallback(codenames) {
11
- return (codenames && codenames.length > 0 ? z.literal(codenames) : z.string());
7
+ /**
8
+ * Builds a Zod schema for a codename field.
9
+ *
10
+ * The generic type parameter `TCodenames` is a **TypeScript-only hint** - it
11
+ * narrows the schema's output type for consumers (e.g.
12
+ * `codenameOf<"article" | "product">()` returns `z.ZodType<"article" | "product">`
13
+ * for autocomplete and downstream type inference) but is not enforced at runtime.
14
+ *
15
+ * At runtime the schema only checks that the value is a string. Two reasons:
16
+ *
17
+ * 1. Codenames are not a closed set - editors can add a new content type,
18
+ * taxonomy term, language, etc. at any time. A `z.literal(codenames)` schema
19
+ * would reject newly-added codenames once they appear in API responses, even
20
+ * though those values are perfectly valid.
21
+ * 2. Format-checking every codename on every response is unnecessary cost - the
22
+ * Kontent.ai API contract guarantees the format, so the SDK trusts it.
23
+ *
24
+ * If you need strict format validation (e.g. for inputs in Management SDK), use `strictCodenameSchema` schema instead.
25
+ */
26
+ export function codenameOf() {
27
+ return z.custom((value) => typeof value === "string", {
28
+ error: "Invalid codename",
29
+ });
12
30
  }
13
31
  //# sourceMappingURL=sdk-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdk-config.js","sourceRoot":"","sources":["../../lib/sdk/sdk-config.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,CAAC,MAAM,OAAO,GAAG,sCAAsC,CAAC;AAE9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAE1F,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,EAAE;IACnE,OAAO,EAAE,yGAAyG;CAClH,CAAC,CAAC;AAEH,MAAM,UAAU,UAAU,CACzB,SAA4C;IAE5C,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,cAAc,CAA0B,CAAC;AAC7G,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC3C,SAA4C;IAE5C,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAA0B,CAAC;AACzG,CAAC"}
1
+ {"version":3,"file":"sdk-config.js","sourceRoot":"","sources":["../../lib/sdk/sdk-config.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,CAAC,MAAM,OAAO,GAAG,sCAAsC,CAAC;AAE9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAE1F,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,EAAE;IACzE,OAAO,EAAE,yGAAyG;CAClH,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,UAAU;IACzB,OAAO,CAAC,CAAC,MAAM,CAAa,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,EAAE;QACjE,KAAK,EAAE,kBAAkB;KACzB,CAAC,CAAC;AACJ,CAAC"}
@@ -34,6 +34,18 @@ export type SdkConfig<TExtendedConfig = unknown> = {
34
34
  * If provided, it will override the default base URL based on selected API mode.
35
35
  */
36
36
  readonly baseUrl?: BaseUrl;
37
+ /**
38
+ * Configuration for runtime validation against expected schema.
39
+ */
40
+ readonly runtimeValidation?: {
41
+ /**
42
+ * When enabled, the response data will be validated against the expected Zod schema from which the types
43
+ * this library are based on. This ensures that you are working with the correct data types.
44
+ *
45
+ * @default false
46
+ */
47
+ readonly validateResponses: boolean;
48
+ };
37
49
  } & TExtendedConfig;
38
50
  export type Query<TPayload extends JsonValue, TError = KontentSdkError> = {
39
51
  readonly schema: z.ZodType<TPayload>;
@@ -125,6 +137,7 @@ export type ResolvedQueryData<TPayload extends JsonValue, TBody extends HttpRequ
125
137
  readonly method: HttpMethod;
126
138
  readonly abortSignal?: AbortSignal | undefined;
127
139
  readonly zodSchema: ZodType<TPayload>;
140
+ readonly responseValidation: SdkConfig["runtimeValidation"];
128
141
  } & MetadataMapperConfig<TPayload, TBody, TMeta> & ExtraResponsePropsMapper<TPayload, TBody, TExtra> & ErrorMapper<TError>;
129
142
  type MetadataMapperConfig<TPayload extends JsonValue, TBody extends HttpRequestBody, TMeta> = {
130
143
  readonly mapMetadata: MetadataMapper<TPayload, TBody, TMeta>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kontent-ai/core-sdk",
3
- "version": "12.0.0-preview.33",
3
+ "version": "12.0.0-preview.35",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/kontent-ai/core-sdk-js"