@kontent-ai/core-sdk 12.0.0-preview.2 → 12.0.0-preview.21

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 (127) hide show
  1. package/.npmignore +1 -5
  2. package/LICENSE.md +1 -1
  3. package/README.md +177 -12
  4. package/dist/core-sdk-info.d.ts +2 -0
  5. package/dist/core-sdk-info.js +6 -0
  6. package/dist/core-sdk-info.js.map +1 -0
  7. package/dist/devkit/console.utils.d.ts +2 -0
  8. package/dist/devkit/console.utils.js +5 -0
  9. package/dist/devkit/console.utils.js.map +1 -0
  10. package/dist/devkit/environment.utils.d.ts +2 -0
  11. package/dist/devkit/environment.utils.js +12 -0
  12. package/dist/devkit/environment.utils.js.map +1 -0
  13. package/dist/devkit/script.utils.js +3 -3
  14. package/dist/devkit/script.utils.js.map +1 -1
  15. package/dist/devkit_api.d.ts +3 -0
  16. package/dist/devkit_api.js +3 -1
  17. package/dist/devkit_api.js.map +1 -1
  18. package/dist/http/http.adapter.d.ts +1 -1
  19. package/dist/http/http.adapter.js +78 -24
  20. package/dist/http/http.adapter.js.map +1 -1
  21. package/dist/http/http.models.d.ts +42 -32
  22. package/dist/http/http.service.js +294 -220
  23. package/dist/http/http.service.js.map +1 -1
  24. package/dist/models/core.models.d.ts +34 -29
  25. package/dist/models/error.models.d.ts +48 -27
  26. package/dist/models/error.models.js +40 -1
  27. package/dist/models/error.models.js.map +1 -1
  28. package/dist/models/json.models.d.ts +13 -4
  29. package/dist/models/json.models.js +10 -1
  30. package/dist/models/json.models.js.map +1 -1
  31. package/dist/models/utility.types.d.ts +16 -0
  32. package/dist/models/utility.types.js +2 -0
  33. package/dist/models/utility.types.js.map +1 -0
  34. package/dist/public_api.d.ts +19 -11
  35. package/dist/public_api.js +15 -6
  36. package/dist/public_api.js.map +1 -1
  37. package/dist/sdk/queries/fetch-sdk-query.d.ts +7 -0
  38. package/dist/sdk/queries/fetch-sdk-query.js +24 -0
  39. package/dist/sdk/queries/fetch-sdk-query.js.map +1 -0
  40. package/dist/sdk/queries/mutation-sdk-query.d.ts +4 -0
  41. package/dist/sdk/queries/mutation-sdk-query.js +17 -0
  42. package/dist/sdk/queries/mutation-sdk-query.js.map +1 -0
  43. package/dist/sdk/queries/paged-fetch-sdk-query.d.ts +6 -0
  44. package/dist/sdk/queries/paged-fetch-sdk-query.js +145 -0
  45. package/dist/sdk/queries/paged-fetch-sdk-query.js.map +1 -0
  46. package/dist/sdk/resolve-query.d.ts +8 -0
  47. package/dist/sdk/resolve-query.js +108 -0
  48. package/dist/sdk/resolve-query.js.map +1 -0
  49. package/dist/sdk/sdk-config.d.ts +3 -0
  50. package/dist/sdk/sdk-config.js +4 -0
  51. package/dist/sdk/sdk-config.js.map +1 -0
  52. package/dist/sdk/sdk-models.d.ts +101 -36
  53. package/dist/sdk/sdk-utils.d.ts +2 -0
  54. package/dist/sdk/sdk-utils.js +9 -0
  55. package/dist/sdk/sdk-utils.js.map +1 -0
  56. package/dist/testkit/poll.utils.d.ts +5 -0
  57. package/dist/testkit/poll.utils.js +24 -0
  58. package/dist/testkit/poll.utils.js.map +1 -0
  59. package/dist/testkit/testkit.utils.d.ts +20 -0
  60. package/dist/testkit/testkit.utils.js +100 -0
  61. package/dist/testkit/testkit.utils.js.map +1 -0
  62. package/dist/testkit_api.d.ts +3 -1
  63. package/dist/testkit_api.js +3 -2
  64. package/dist/testkit_api.js.map +1 -1
  65. package/dist/utils/abort.utils.d.ts +12 -0
  66. package/dist/utils/abort.utils.js +29 -0
  67. package/dist/utils/abort.utils.js.map +1 -0
  68. package/dist/utils/core.utils.d.ts +3 -1
  69. package/dist/utils/core.utils.js +22 -2
  70. package/dist/utils/core.utils.js.map +1 -1
  71. package/dist/utils/error.utils.d.ts +18 -7
  72. package/dist/utils/error.utils.js +35 -7
  73. package/dist/utils/error.utils.js.map +1 -1
  74. package/dist/utils/header.utils.d.ts +6 -1
  75. package/dist/utils/header.utils.js +37 -6
  76. package/dist/utils/header.utils.js.map +1 -1
  77. package/dist/utils/retry.utils.d.ts +16 -11
  78. package/dist/utils/retry.utils.js +131 -63
  79. package/dist/utils/retry.utils.js.map +1 -1
  80. package/dist/utils/sdk-version.utils.js +2 -2
  81. package/dist/utils/sdk-version.utils.js.map +1 -1
  82. package/dist/utils/try-catch.utils.d.ts +15 -0
  83. package/dist/utils/{try.utils.js → try-catch.utils.js} +1 -1
  84. package/dist/utils/try-catch.utils.js.map +1 -0
  85. package/dist/utils/type.utils.d.ts +2 -0
  86. package/dist/utils/type.utils.js +5 -0
  87. package/dist/utils/type.utils.js.map +1 -0
  88. package/dist/utils/url.utils.d.ts +5 -0
  89. package/dist/utils/url.utils.js +10 -0
  90. package/dist/utils/url.utils.js.map +1 -0
  91. package/package.json +61 -64
  92. package/dist/models/utility.models.d.ts +0 -20
  93. package/dist/models/utility.models.js +0 -2
  94. package/dist/models/utility.models.js.map +0 -1
  95. package/dist/sdk/sdk-queries.d.ts +0 -30
  96. package/dist/sdk/sdk-queries.js +0 -152
  97. package/dist/sdk/sdk-queries.js.map +0 -1
  98. package/dist/sdk-info.d.ts +0 -5
  99. package/dist/sdk-info.js +0 -6
  100. package/dist/sdk-info.js.map +0 -1
  101. package/dist/testkit/test.utils.d.ts +0 -15
  102. package/dist/testkit/test.utils.js +0 -42
  103. package/dist/testkit/test.utils.js.map +0 -1
  104. package/dist/utils/try.utils.d.ts +0 -14
  105. package/dist/utils/try.utils.js.map +0 -1
  106. package/lib/devkit/script.utils.ts +0 -12
  107. package/lib/devkit_api.ts +0 -3
  108. package/lib/http/http.adapter.ts +0 -38
  109. package/lib/http/http.models.ts +0 -122
  110. package/lib/http/http.service.ts +0 -320
  111. package/lib/models/core.models.ts +0 -89
  112. package/lib/models/error.models.ts +0 -83
  113. package/lib/models/json.models.ts +0 -9
  114. package/lib/models/utility.models.ts +0 -21
  115. package/lib/public_api.ts +0 -45
  116. package/lib/sdk/sdk-models.ts +0 -85
  117. package/lib/sdk/sdk-queries.ts +0 -232
  118. package/lib/sdk-info.ts +0 -5
  119. package/lib/testkit/test.utils.ts +0 -79
  120. package/lib/testkit/testkit.models.ts +0 -7
  121. package/lib/testkit_api.ts +0 -3
  122. package/lib/utils/core.utils.ts +0 -3
  123. package/lib/utils/error.utils.ts +0 -48
  124. package/lib/utils/header.utils.ts +0 -40
  125. package/lib/utils/retry.utils.ts +0 -156
  126. package/lib/utils/sdk-version.utils.ts +0 -16
  127. package/lib/utils/try.utils.ts +0 -30
@@ -1,5 +1,5 @@
1
- import type { CoreSdkError } from "./error.models.js";
2
- import type { PickStringLiteral } from "./utility.models.js";
1
+ import type { ErrorDetailsFor, KontentSdkError } from "./error.models.js";
2
+ import type { LiteralUnion, PickStringLiteral } from "./utility.types.js";
3
3
  /**
4
4
  * SDK info for identification of the SDK
5
5
  */
@@ -24,51 +24,56 @@ export type Header = {
24
24
  readonly value: string;
25
25
  };
26
26
  export type HttpMethod = "GET" | "POST" | "PUT" | "DELETE" | "PATCH";
27
- export type KontentValidationError = {
27
+ export type ValidationError = {
28
28
  readonly message: string;
29
29
  readonly path?: string;
30
30
  readonly line?: number;
31
31
  readonly position?: number;
32
32
  };
33
- export type KontentErrorResponseData = {
33
+ export type ErrorResponseData = {
34
34
  readonly message: string;
35
- readonly requestId?: string;
36
- readonly error_code?: number;
37
- readonly validation_errors?: readonly KontentValidationError[];
35
+ readonly request_id: string;
36
+ readonly error_code: number;
37
+ readonly validation_errors?: readonly ValidationError[];
38
38
  };
39
39
  export type RetryStrategyOptions = {
40
40
  /**
41
41
  * Maximum number of retry attempts.
42
42
  *
43
- * If not provided, the default implementation will be used.
43
+ * If not provided, the default number of retries defined within the SDK will be used.
44
44
  */
45
45
  readonly maxRetries?: number;
46
46
  /**
47
- * Function to determine if the error should be retried.
47
+ * Determines whether an adapter error should be retried.
48
48
  *
49
- * If not provided, the default implementation will be used.
50
- */
51
- readonly canRetryError?: (error: CoreSdkError) => boolean;
52
- /**
53
- * Function to determine the delay between requests in milliseconds.
49
+ * Adapter errors occur when the HTTP adapter fails to execute the request
50
+ * (e.g. network failures, connection timeouts, or other transport-level issues).
51
+ *
52
+ * This callback is evaluated only after SDK-defined retry rules are checked.
53
+ * The SDK handles the following cases directly:
54
+ *
55
+ * - Retried automatically:
56
+ * - HTTP 429 (rate limit exceeded)
57
+ *
58
+ * - Not retried automatically:
59
+ * - Invalid request body (`invalidBody`)
60
+ * - Invalid URL (`invalidUrl`)
61
+ * - 404 Not Found (`notFound`)
62
+ * - 401 Unauthorized (`unauthorized`)
63
+ * - API business/validation error response (`kontentErrorResponse`)
54
64
  *
55
- * If not provided, the default implementation will be used.
56
65
  */
57
- readonly getDelayBetweenRetriesMs?: (error: CoreSdkError) => number;
66
+ readonly canRetryAdapterError?: (error: KontentSdkError<ErrorDetailsFor<"adapterError">>) => boolean;
58
67
  /**
59
- * Whether to log the retry attempt.
68
+ * Controls logging for retry attempts.
60
69
  *
61
- * If false, the retry attempt will not be logged.
62
- * If undefined, the default implementation will be used.
63
- * Otherwise, the function will be called with the retry attempt and url.
70
+ * If undefined, no retry logging occurs (default behavior).
71
+ * If set to `'logToConsole'`, retries are logged to the console.
72
+ * If a function is provided, it is called with the retry attempt and url.
64
73
  */
65
- readonly logRetryAttempt?: false | ((retryAttempt: number, url: string) => void);
74
+ readonly logRetryAttempt?: "logToConsole" | ((retryAttempt: number, url: string) => void);
75
+ };
76
+ export type ResolvedRetryStrategyOptions = Pick<Required<RetryStrategyOptions>, "maxRetries" | "canRetryAdapterError"> & {
77
+ readonly logRetryAttempt: undefined | ((retryAttempt: number, url: string) => void);
78
+ readonly getDelayBetweenRetriesMs: (error: KontentSdkError) => number;
66
79
  };
67
- /**
68
- * Adds intellisense for string union type, but also allows any string
69
- */
70
- export type LiteralUnion<T extends string | undefined> = T | (string & NonNullable<unknown>);
71
- /**
72
- * Adds intellisense for number union type, but also allows any number
73
- */
74
- export type LiteralUnionNumber<T extends number | undefined> = T | (number & NonNullable<unknown>);
@@ -1,30 +1,16 @@
1
1
  import type { ZodError } from "zod";
2
- import type { AdapterResponse, HttpServiceStatus } from "../http/http.models.js";
2
+ import type { AdapterPayload, AdapterResponse, HttpPayload, HttpRequestBody } from "../http/http.models.js";
3
3
  import type { SuccessfulHttpResponse } from "../sdk/sdk-models.js";
4
- import type { KontentErrorResponseData, RetryStrategyOptions } from "./core.models.js";
5
- import type { JsonValue } from "./json.models.js";
6
- export type ErrorReason = "invalidResponse" | "invalidUrl" | "unknown" | "invalidBody" | "notFound" | "validationFailed" | "noResponses";
7
- export type CoreSdkErrorDetails<TReason extends ErrorReason = ErrorReason> = (Details<"invalidResponse", {
8
- readonly kontentErrorResponse: KontentErrorResponseData | undefined;
9
- } & Pick<AdapterResponse<HttpServiceStatus>, "isValidResponse" | "responseHeaders" | "status" | "statusText">> | Details<"notFound", {
10
- readonly kontentErrorResponse: KontentErrorResponseData | undefined;
11
- } & Pick<AdapterResponse<404>, "isValidResponse" | "responseHeaders" | "status" | "statusText">> | Details<"invalidBody", {
12
- readonly originalError: unknown;
13
- }> | Details<"invalidUrl", {
14
- readonly originalError: unknown;
15
- }> | Details<"unknown", {
16
- readonly originalError: unknown;
17
- }> | Details<"validationFailed", {
18
- readonly reason: "validationFailed";
4
+ import type { ErrorResponseData, ResolvedRetryStrategyOptions } from "./core.models.js";
5
+ export type ErrorReason = ErrorDetails["reason"];
6
+ export type ErrorDetails = ReasonData<"adapterError", ErrorWithOriginalError> | ReasonData<"unauthorized", ErrorWithKontentResponse> | ReasonData<"invalidResponse", ErrorWithKontentResponse> | ReasonData<"parseError", ErrorWithOriginalError> | ReasonData<"notFound", ErrorWithKontentResponse> | ReasonData<"invalidBody", ErrorWithOriginalError> | ReasonData<"invalidUrl", ErrorWithOriginalError> | ReasonData<"aborted", ErrorWithOriginalError> | ReasonData<"validationFailed", {
19
7
  readonly zodError: ZodError;
20
- readonly response: SuccessfulHttpResponse<JsonValue, JsonValue>;
8
+ readonly response: SuccessfulHttpResponse<HttpPayload, HttpRequestBody>;
21
9
  readonly url: string;
22
- }> | Details<"noResponses", {
10
+ }> | ReasonData<"noResponses", {
23
11
  readonly url: string;
24
- }>) & {
25
- readonly reason: TReason;
26
- };
27
- export type CoreSdkError<TReason extends ErrorReason = ErrorReason> = {
12
+ }>;
13
+ export interface BaseErrorData {
28
14
  /**
29
15
  * The message of the error
30
16
  */
@@ -36,13 +22,48 @@ export type CoreSdkError<TReason extends ErrorReason = ErrorReason> = {
36
22
  /**
37
23
  * Used retry strategy.
38
24
  */
39
- readonly retryStrategyOptions?: Required<RetryStrategyOptions>;
25
+ readonly retryStrategyOptions: ResolvedRetryStrategyOptions | undefined;
40
26
  /**
41
27
  * The number of times the request has been retried.
42
28
  */
43
- readonly retryAttempt?: number;
44
- } & CoreSdkErrorDetails<TReason>;
45
- type Details<TReason extends ErrorReason, TDetails> = {
29
+ readonly retryAttempt: number | undefined;
30
+ }
31
+ export declare class KontentSdkError<TDetails extends ErrorDetails = ErrorDetails> extends Error implements BaseErrorData {
32
+ readonly details: TDetails;
33
+ readonly url: string;
34
+ readonly retryStrategyOptions: ResolvedRetryStrategyOptions | undefined;
35
+ readonly retryAttempt: number | undefined;
36
+ constructor({ baseErrorData: { message, url, retryStrategyOptions, retryAttempt }, details, }: {
37
+ readonly baseErrorData: BaseErrorData;
38
+ readonly details: TDetails;
39
+ });
40
+ }
41
+ /**
42
+ * Http adapter should throw this error when the request is aborted.
43
+ *
44
+ * The error is then handled by the HttpService and converted to a KontentSdkError with the reason "aborted".
45
+ */
46
+ export declare class AdapterAbortError extends Error {
47
+ constructor(error: unknown);
48
+ }
49
+ /**
50
+ * Http adapter should throw this error when the response is not valid JSON or BLOB.
51
+ *
52
+ * The error is then handled by the HttpService and converted to a KontentSdkError with the reason "parseError".
53
+ */
54
+ export declare class AdapterParseError extends Error {
55
+ constructor(error: unknown);
56
+ }
57
+ export type ErrorDetailsFor<TReason extends ErrorReason> = Extract<ErrorDetails, {
58
+ readonly reason: TReason;
59
+ }>;
60
+ type ErrorWithKontentResponse = {
61
+ readonly kontentErrorResponse: ErrorResponseData | undefined;
62
+ } & Pick<AdapterResponse<AdapterPayload>, "responseHeaders" | "status" | "statusText">;
63
+ type ErrorWithOriginalError = {
64
+ readonly originalError: unknown;
65
+ };
66
+ type ReasonData<TReason extends ErrorReason, TData> = {
46
67
  readonly reason: TReason;
47
- } & TDetails;
68
+ } & TData;
48
69
  export {};
@@ -1,2 +1,41 @@
1
- export {};
1
+ import { match, P } from "ts-pattern";
2
+ export class KontentSdkError extends Error {
3
+ details;
4
+ url;
5
+ retryStrategyOptions;
6
+ retryAttempt;
7
+ constructor({ baseErrorData: { message, url, retryStrategyOptions, retryAttempt }, details, }) {
8
+ super(toFriendlyMessage(message, details));
9
+ this.url = url;
10
+ this.retryStrategyOptions = retryStrategyOptions;
11
+ this.retryAttempt = retryAttempt;
12
+ this.details = details;
13
+ }
14
+ }
15
+ /**
16
+ * Http adapter should throw this error when the request is aborted.
17
+ *
18
+ * The error is then handled by the HttpService and converted to a KontentSdkError with the reason "aborted".
19
+ */
20
+ export class AdapterAbortError extends Error {
21
+ constructor(error) {
22
+ super(`Adapter has aborted the request. ${error instanceof Error ? error.message : "No details provided"}`, { cause: error });
23
+ }
24
+ }
25
+ /**
26
+ * Http adapter should throw this error when the response is not valid JSON or BLOB.
27
+ *
28
+ * The error is then handled by the HttpService and converted to a KontentSdkError with the reason "parseError".
29
+ */
30
+ export class AdapterParseError extends Error {
31
+ constructor(error) {
32
+ super(`Adapter failed to parse the response. ${error instanceof Error ? error.message : "No details provided"}`, { cause: error });
33
+ }
34
+ }
35
+ function toFriendlyMessage(message, error) {
36
+ return match(error)
37
+ .returnType()
38
+ .with({ reason: P.union("invalidResponse", "notFound"), kontentErrorResponse: P.nonNullable }, (m) => `${message} ${m.kontentErrorResponse.message}`)
39
+ .otherwise(() => message);
40
+ }
2
41
  //# sourceMappingURL=error.models.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.models.js","sourceRoot":"","sources":["../../lib/models/error.models.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"error.models.js","sourceRoot":"","sources":["../../lib/models/error.models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,YAAY,CAAC;AAsDtC,MAAM,OAAO,eAA8D,SAAQ,KAAK;IAC9E,OAAO,CAAW;IAClB,GAAG,CAAS;IACZ,oBAAoB,CAA2C;IAC/D,YAAY,CAAqB;IAE1C,YAAY,EACX,aAAa,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,oBAAoB,EAAE,YAAY,EAAE,EACnE,OAAO,GAIP;QACA,KAAK,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAE3C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;CACD;AAED;;;;GAIG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC3C,YAAY,KAAc;QACzB,KAAK,CAAC,oCAAoC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/H,CAAC;CACD;AAED;;;;GAIG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC3C,YAAY,KAAc;QACzB,KAAK,CAAC,yCAAyC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACpI,CAAC;CACD;AAgBD,SAAS,iBAAiB,CAAC,OAAe,EAAE,KAAmB;IAC9D,OAAO,KAAK,CAAC,KAAK,CAAC;SACjB,UAAU,EAAU;SACpB,IAAI,CACJ,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,EAAE,UAAU,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,WAAW,EAAE,EACvF,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,CACrD;SACA,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC"}
@@ -1,6 +1,15 @@
1
- import type { EmptyObject } from "./utility.models.js";
2
- export type JsonValue = string | number | null | boolean | JsonObject | JsonArray | EmptyObject;
3
- export interface JsonObject {
1
+ import z from "zod";
2
+ export type JsonValue = string | number | null | boolean | JsonObject | JsonArray;
3
+ export type JsonObject = {
4
4
  readonly [property: string]: JsonValue;
5
- }
5
+ };
6
6
  export type JsonArray = readonly JsonValue[];
7
+ /**
8
+ * Runtime validator for the core SDK `JsonValue` type.
9
+ *
10
+ * Matches:
11
+ * - string | number | boolean | null
12
+ * - readonly JsonValue[]
13
+ * - { readonly [property: string]: JsonValue }
14
+ */
15
+ export declare const jsonValueSchema: z.ZodType<JsonValue>;
@@ -1,2 +1,11 @@
1
- export {};
1
+ import z from "zod";
2
+ /**
3
+ * Runtime validator for the core SDK `JsonValue` type.
4
+ *
5
+ * Matches:
6
+ * - string | number | boolean | null
7
+ * - readonly JsonValue[]
8
+ * - { readonly [property: string]: JsonValue }
9
+ */
10
+ export const jsonValueSchema = z.lazy(() => z.union([z.string(), z.number(), z.boolean(), z.null(), z.array(jsonValueSchema).readonly(), z.record(z.string(), jsonValueSchema)]));
2
11
  //# sourceMappingURL=json.models.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json.models.js","sourceRoot":"","sources":["../../lib/models/json.models.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"json.models.js","sourceRoot":"","sources":["../../lib/models/json.models.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAUpB;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAyB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAChE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC,CACpI,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Represents an empty object type.
3
+ */
4
+ export type EmptyObject = Record<string, never>;
5
+ /**
6
+ * Picks a string literal type from a union type.
7
+ */
8
+ export type PickStringLiteral<T extends string, U extends T> = U;
9
+ /**
10
+ * Adds intellisense for string union type, but also allows any string
11
+ */
12
+ export type LiteralUnion<T extends string | undefined> = T | (string & NonNullable<unknown>);
13
+ /**
14
+ * Adds intellisense for number union type, but also allows any number
15
+ */
16
+ export type LiteralUnionNumber<T extends number | undefined> = T | (number & NonNullable<unknown>);
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=utility.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utility.types.js","sourceRoot":"","sources":["../../lib/models/utility.types.ts"],"names":[],"mappings":""}
@@ -1,13 +1,21 @@
1
+ /** biome-ignore-all lint/performance/noBarrelFile: One barrel for exported API is fine */
1
2
  export { getDefaultHttpAdapter } from "./http/http.adapter.js";
2
- export type { AdapterRequestOptions, AdapterResponse, DefaultHttpServiceConfig, DownloadFileRequestOptions, ExecuteRequestOptions, HttpAdapter, HttpResponse, HttpService, HttpServiceStatus, UploadFileRequestOptions, } from "./http/http.models.js";
3
+ export type { AdapterBody, AdapterDownloadFileOptions, AdapterExecuteRequestOptions, AdapterPayload, AdapterResponse, DefaultHttpServiceConfig, DownloadFileRequestOptions, ExecuteRequestOptions, GetNextPageData, HttpAdapter, HttpPayload, HttpRequestBody, HttpResponse, HttpResult, HttpService, HttpServiceStatus, PaginationConfig, UploadFileRequestOptions, } from "./http/http.models.js";
3
4
  export { getDefaultHttpService } from "./http/http.service.js";
4
- export type { CommonHeaderNames, Header, HttpMethod, RetryStrategyOptions, SDKInfo, } from "./models/core.models.js";
5
- export type { CoreSdkError, CoreSdkErrorDetails, ErrorReason, } from "./models/error.models.js";
6
- export type { JsonArray, JsonObject, JsonValue } from "./models/json.models.js";
7
- export type { EmptyObject, Override, Prettify } from "./models/utility.models.js";
8
- export type { CoreResponse, CoreResponseMeta, CoreSdkConfig, PagingQuery, PagingQueryResult, Query, QueryResult, ResultOfSuccessfulQuery, SuccessfulHttpResponse, } from "./sdk/sdk-models.js";
9
- export { extractContinuationToken, getPagingQuery, getQuery } from "./sdk/sdk-queries.js";
10
- export { isKontent404Error } from "./utils/error.utils.js";
11
- export { getSdkIdHeader } from "./utils/header.utils.js";
12
- export { toRequiredRetryStrategyOptions } from "./utils/retry.utils.js";
13
- export { tryCatch, tryCatchAsync } from "./utils/try.utils.js";
5
+ export type { CommonHeaderNames, ContinuationHeaderName, ErrorResponseData, Header, HttpMethod, RetryStrategyOptions, SDKInfo, ValidationError, } from "./models/core.models.js";
6
+ export { AdapterAbortError, AdapterParseError, type ErrorDetails, type ErrorDetailsFor, type ErrorReason, KontentSdkError, } from "./models/error.models.js";
7
+ export { type JsonArray, type JsonObject, type JsonValue, jsonValueSchema } from "./models/json.models.js";
8
+ export type { EmptyObject, PickStringLiteral } from "./models/utility.types.js";
9
+ export { createFetchQuery } from "./sdk/queries/fetch-sdk-query.js";
10
+ export { createMutationQuery } from "./sdk/queries/mutation-sdk-query.js";
11
+ export { createPagedFetchQuery } from "./sdk/queries/paged-fetch-sdk-query.js";
12
+ export { kontentUuidSchema, nilUuid } from "./sdk/sdk-config.js";
13
+ export type { FetchQuery, FetchQueryRequest, MutationQuery, MutationQueryRequest, PagedFetchQuery, PagingQueryResult, Query, QueryResponse, QueryResponseMeta, QueryResult, SafePagingQueryResult, SdkConfig, SuccessfulHttpResponse, } from "./sdk/sdk-models.js";
14
+ export { isPagingQuery } from "./sdk/sdk-utils.js";
15
+ export { isDefined } from "./utils/core.utils.js";
16
+ export { isKontent404Error, isKontentSdkError } from "./utils/error.utils.js";
17
+ export { extractContinuationToken, getSdkIdHeader } from "./utils/header.utils.js";
18
+ export { resolveDefaultRetryStrategyOptions } from "./utils/retry.utils.js";
19
+ export { tryCatch, tryCatchAsync } from "./utils/try-catch.utils.js";
20
+ export { getCodenameSchema } from "./utils/type.utils.js";
21
+ export { getEndpointUrl } from "./utils/url.utils.js";
@@ -1,9 +1,18 @@
1
- // biome-ignore lint/performance/noBarrelFile: One barrel for the public API is fine
1
+ /** biome-ignore-all lint/performance/noBarrelFile: One barrel for exported API is fine */
2
2
  export { getDefaultHttpAdapter } from "./http/http.adapter.js";
3
3
  export { getDefaultHttpService } from "./http/http.service.js";
4
- export { extractContinuationToken, getPagingQuery, getQuery } from "./sdk/sdk-queries.js";
5
- export { isKontent404Error } from "./utils/error.utils.js";
6
- export { getSdkIdHeader } from "./utils/header.utils.js";
7
- export { toRequiredRetryStrategyOptions } from "./utils/retry.utils.js";
8
- export { tryCatch, tryCatchAsync } from "./utils/try.utils.js";
4
+ export { AdapterAbortError, AdapterParseError, KontentSdkError, } from "./models/error.models.js";
5
+ export { jsonValueSchema } from "./models/json.models.js";
6
+ export { createFetchQuery } from "./sdk/queries/fetch-sdk-query.js";
7
+ export { createMutationQuery } from "./sdk/queries/mutation-sdk-query.js";
8
+ export { createPagedFetchQuery } from "./sdk/queries/paged-fetch-sdk-query.js";
9
+ export { kontentUuidSchema, nilUuid } from "./sdk/sdk-config.js";
10
+ export { isPagingQuery } from "./sdk/sdk-utils.js";
11
+ export { isDefined } from "./utils/core.utils.js";
12
+ export { isKontent404Error, isKontentSdkError } from "./utils/error.utils.js";
13
+ export { extractContinuationToken, getSdkIdHeader } from "./utils/header.utils.js";
14
+ export { resolveDefaultRetryStrategyOptions } from "./utils/retry.utils.js";
15
+ export { tryCatch, tryCatchAsync } from "./utils/try-catch.utils.js";
16
+ export { getCodenameSchema } from "./utils/type.utils.js";
17
+ export { getEndpointUrl } from "./utils/url.utils.js";
9
18
  //# sourceMappingURL=public_api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"public_api.js","sourceRoot":"","sources":["../lib/public_api.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAa/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AA0B/D,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,aAAa,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;AAqB/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAW/D,OAAO,EACN,iBAAiB,EACjB,iBAAiB,EAIjB,eAAe,GACf,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,iBAAiB,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAgBjE,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,wBAAwB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,kCAAkC,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Shared query models/types intended to be reused across SDKs (e.g. Sync, Delivery, Management)
3
+ * to keep common code and behavior consistent.
4
+ */
5
+ import type { JsonValue } from "../../models/json.models.js";
6
+ import type { FetchQuery, FetchQueryRequest } from "../sdk-models.js";
7
+ export declare function createFetchQuery<TResponsePayload extends JsonValue, TMeta, TError>(data: FetchQueryRequest<TResponsePayload, TMeta, TError>): FetchQuery<TResponsePayload, TMeta, TError>;
@@ -0,0 +1,24 @@
1
+ import { resolveQuery } from "../resolve-query.js";
2
+ export function createFetchQuery(data) {
3
+ const fetchSafe = async () => await resolveQuery({
4
+ ...data,
5
+ method: "GET",
6
+ request: {
7
+ ...data.request,
8
+ body: null,
9
+ },
10
+ });
11
+ return {
12
+ schema: data.zodSchema,
13
+ url: data.request.url,
14
+ fetchSafe,
15
+ fetch: async () => {
16
+ const { success, response, error } = await fetchSafe();
17
+ if (!success) {
18
+ throw error;
19
+ }
20
+ return response;
21
+ },
22
+ };
23
+ }
24
+ //# sourceMappingURL=fetch-sdk-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-sdk-query.js","sourceRoot":"","sources":["../../../lib/sdk/queries/fetch-sdk-query.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,MAAM,UAAU,gBAAgB,CAC/B,IAAwD;IAExD,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE,CAC5B,MAAM,YAAY,CAAwC;QACzD,GAAG,IAAI;QACP,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACR,GAAG,IAAI,CAAC,OAAO;YACf,IAAI,EAAE,IAAI;SACV;KACD,CAAC,CAAC;IACJ,OAAO;QACN,MAAM,EAAE,IAAI,CAAC,SAAS;QACtB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;QACrB,SAAS;QACT,KAAK,EAAE,KAAK,IAAI,EAAE;YACjB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,SAAS,EAAE,CAAC;YACvD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,MAAM,KAAK,CAAC;YACb,CAAC;YACD,OAAO,QAAQ,CAAC;QACjB,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { HttpRequestBody } from "../../http/http.models.js";
2
+ import type { JsonValue } from "../../models/json.models.js";
3
+ import type { MutationQuery, MutationQueryRequest } from "../sdk-models.js";
4
+ export declare function createMutationQuery<TResponsePayload extends JsonValue, TRequestBody extends HttpRequestBody, TMeta, TError>(data: MutationQueryRequest<TResponsePayload, TRequestBody, TMeta, TError>): MutationQuery<TResponsePayload, TMeta, TError>;
@@ -0,0 +1,17 @@
1
+ import { resolveQuery } from "../resolve-query.js";
2
+ export function createMutationQuery(data) {
3
+ const executeSafe = async () => await resolveQuery(data);
4
+ return {
5
+ schema: data.zodSchema,
6
+ url: data.request.url,
7
+ executeSafe,
8
+ execute: async () => {
9
+ const { success, response, error } = await executeSafe();
10
+ if (!success) {
11
+ throw error;
12
+ }
13
+ return response;
14
+ },
15
+ };
16
+ }
17
+ //# sourceMappingURL=mutation-sdk-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation-sdk-query.js","sourceRoot":"","sources":["../../../lib/sdk/queries/mutation-sdk-query.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,MAAM,UAAU,mBAAmB,CAClC,IAAyE;IAEzE,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE,CAAC,MAAM,YAAY,CAAgD,IAAI,CAAC,CAAC;IAExG,OAAO;QACN,MAAM,EAAE,IAAI,CAAC,SAAS;QACtB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;QACrB,WAAW;QACX,OAAO,EAAE,KAAK,IAAI,EAAE;YACnB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,EAAE,CAAC;YACzD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,MAAM,KAAK,CAAC;YACb,CAAC;YACD,OAAO,QAAQ,CAAC;QACjB,CAAC;KACD,CAAC;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { GetNextPageData } from "../../http/http.models.js";
2
+ import type { JsonValue } from "../../models/json.models.js";
3
+ import type { FetchQueryRequest, PagedFetchQuery } from "../sdk-models.js";
4
+ export declare function createPagedFetchQuery<TResponsePayload extends JsonValue, TMeta, TError>(data: FetchQueryRequest<TResponsePayload, TMeta, TError> & {
5
+ readonly getNextPageData: GetNextPageData<TResponsePayload, TMeta>;
6
+ }): PagedFetchQuery<TResponsePayload, TMeta, TError>;
@@ -0,0 +1,145 @@
1
+ import { match, P } from "ts-pattern";
2
+ import { createSdkError } from "../../utils/error.utils.js";
3
+ import { createFetchQuery } from "./fetch-sdk-query.js";
4
+ export function createPagedFetchQuery(data) {
5
+ const getPagingData = (config) => {
6
+ return {
7
+ ...data,
8
+ method: "GET",
9
+ pageIndex: 0,
10
+ paginationConfig: config ?? {},
11
+ request: {
12
+ ...data.request,
13
+ body: null,
14
+ },
15
+ };
16
+ };
17
+ const fetchQuery = createFetchQuery(data);
18
+ return {
19
+ schema: fetchQuery.schema,
20
+ url: fetchQuery.url,
21
+ fetchPage: async () => await fetchQuery.fetch(),
22
+ fetchPageSafe: async () => await fetchQuery.fetchSafe(),
23
+ fetchAllPages: async (config) => {
24
+ const { success, error, lastContinuationToken, partialResponses, responses } = await fetchAllPages(getPagingData(config));
25
+ if (!success) {
26
+ throw error;
27
+ }
28
+ return {
29
+ lastContinuationToken,
30
+ responses,
31
+ partialResponses,
32
+ };
33
+ },
34
+ fetchAllPagesSafe: async (config) => await fetchAllPages(getPagingData(config)),
35
+ pagesSafe: (config) => createPagingQueryIterator(getPagingData(config)),
36
+ pages: async function* (config) {
37
+ const iterator = createPagingQueryIterator(getPagingData(config));
38
+ for await (const result of iterator) {
39
+ if (!result.success) {
40
+ throw result.error;
41
+ }
42
+ yield result.response;
43
+ }
44
+ },
45
+ };
46
+ }
47
+ async function* createPagingQueryIterator(data) {
48
+ let nextPageState = { hasNextPage: true, pageSource: "firstRequest" };
49
+ let pageIndex = 0;
50
+ while (isNextPageAvailable(nextPageState)) {
51
+ const urlToUse = nextPageState?.nextPageUrl ?? data.request.url;
52
+ const { success, response, error } = await createFetchQuery({
53
+ ...data,
54
+ request: {
55
+ ...data.request,
56
+ url: urlToUse,
57
+ continuationToken: nextPageState.continuationToken,
58
+ },
59
+ }).fetchSafe();
60
+ if (!success) {
61
+ yield { success: false, error };
62
+ return;
63
+ }
64
+ yield { success: true, response };
65
+ pageIndex++;
66
+ nextPageState = resolveNextPageState({
67
+ getNextPageData: data.getNextPageData,
68
+ paginationConfig: data.paginationConfig,
69
+ pageIndex: pageIndex,
70
+ response,
71
+ });
72
+ }
73
+ }
74
+ function resolveNextPageState({ paginationConfig, getNextPageData, pageIndex, response, }) {
75
+ return match({ getNextPageData, paginationConfig, pageIndex, response })
76
+ .returnType()
77
+ .with({ paginationConfig: { maxPagesCount: 0 } }, () => ({
78
+ hasNextPage: false,
79
+ }))
80
+ .with({ paginationConfig: { maxPagesCount: pageIndex } }, () => ({
81
+ hasNextPage: false,
82
+ }))
83
+ .otherwise((m) => {
84
+ const responsePageData = m.getNextPageData(m.response);
85
+ return match(responsePageData)
86
+ .returnType()
87
+ .with({ continuationToken: P.string.minLength(1) }, (m) => ({
88
+ hasNextPage: true,
89
+ pageSource: "continuationToken",
90
+ continuationToken: m.continuationToken,
91
+ }))
92
+ .with({ nextPageUrl: P.string.minLength(1) }, (m) => ({
93
+ hasNextPage: true,
94
+ pageSource: "nextPageUrl",
95
+ nextPageUrl: m.nextPageUrl,
96
+ }))
97
+ .otherwise(() => ({
98
+ hasNextPage: false,
99
+ }));
100
+ });
101
+ }
102
+ async function fetchAllPages(data) {
103
+ const responses = [];
104
+ for await (const result of createPagingQueryIterator(data)) {
105
+ if (!result.success) {
106
+ return { success: false, error: result.error, partialResponses: responses };
107
+ }
108
+ responses.push(result.response);
109
+ }
110
+ return validateAndBuildPagingResult({
111
+ responses,
112
+ initialUrl: data.request.url,
113
+ mapError: data.mapError,
114
+ });
115
+ }
116
+ function validateAndBuildPagingResult({ responses, initialUrl, mapError, }) {
117
+ const lastResponse = responses.at(-1);
118
+ if (!lastResponse) {
119
+ return {
120
+ success: false,
121
+ partialResponses: responses,
122
+ error: mapError(createSdkError({
123
+ baseErrorData: {
124
+ retryStrategyOptions: undefined,
125
+ retryAttempt: undefined,
126
+ url: initialUrl,
127
+ message: "No responses were processed. Expected at least one response to be fetched when using paging queries.",
128
+ },
129
+ details: {
130
+ reason: "noResponses",
131
+ url: initialUrl,
132
+ },
133
+ })),
134
+ };
135
+ }
136
+ return {
137
+ success: true,
138
+ responses: responses,
139
+ lastContinuationToken: lastResponse.meta.continuationToken,
140
+ };
141
+ }
142
+ function isNextPageAvailable(nextPageState) {
143
+ return nextPageState.hasNextPage;
144
+ }
145
+ //# sourceMappingURL=paged-fetch-sdk-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paged-fetch-sdk-query.js","sourceRoot":"","sources":["../../../lib/sdk/queries/paged-fetch-sdk-query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Shared query models/types intended to be reused across SDKs (e.g. Sync, Delivery, Management)
3
+ * to keep common code and behavior consistent.
4
+ */
5
+ import type { HttpRequestBody } from "../http/http.models.js";
6
+ import type { JsonValue } from "../models/json.models.js";
7
+ import type { QueryPromiseResult, ResolveQueryData } from "./sdk-models.js";
8
+ export declare function resolveQuery<TResponsePayload extends JsonValue, TRequestBody extends HttpRequestBody, TMeta, TError>({ config, request, mapMetadata, zodSchema, sdkInfo, method, abortSignal, mapError, }: ResolveQueryData<TResponsePayload, TRequestBody, TMeta, TError>): QueryPromiseResult<TResponsePayload, TMeta, TError>;