@makeswift/runtime 0.28.7-canary.4 → 0.28.7-canary.6

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 (162) hide show
  1. package/dist/cjs/api/api-resources-client.js.map +1 -1
  2. package/dist/cjs/api/graphql/documents/queries.js +6 -6
  3. package/dist/cjs/api/graphql/documents/queries.js.map +1 -1
  4. package/dist/cjs/api/graphql/generated/types.js.map +1 -1
  5. package/dist/cjs/api/graphql-api-client.js +23 -1
  6. package/dist/cjs/api/graphql-api-client.js.map +1 -1
  7. package/dist/cjs/api/{client.js → host-api-resources-client.js} +7 -7
  8. package/dist/cjs/api/host-api-resources-client.js.map +1 -0
  9. package/dist/cjs/api/rest-api-client.js +186 -0
  10. package/dist/cjs/api/rest-api-client.js.map +1 -0
  11. package/dist/cjs/api/schema/index.js +23 -0
  12. package/dist/cjs/api/schema/index.js.map +1 -0
  13. package/dist/cjs/api/schema/page-pathname-slice.js +38 -0
  14. package/dist/cjs/api/schema/page-pathname-slice.js.map +1 -0
  15. package/dist/cjs/api/types.js.map +1 -1
  16. package/dist/cjs/api-handler/handlers/manifest.js +1 -1
  17. package/dist/cjs/client/component-snapshot.js +63 -0
  18. package/dist/cjs/client/component-snapshot.js.map +1 -0
  19. package/dist/cjs/client/index.js +103 -360
  20. package/dist/cjs/client/index.js.map +1 -1
  21. package/dist/cjs/client/page-snapshot.js +33 -0
  22. package/dist/cjs/client/page-snapshot.js.map +1 -0
  23. package/dist/cjs/client/schema/component-document.js +45 -0
  24. package/dist/cjs/client/schema/component-document.js.map +1 -0
  25. package/dist/cjs/client/schema/fonts.js +38 -0
  26. package/dist/cjs/client/schema/fonts.js.map +1 -0
  27. package/dist/cjs/client/schema/get-page.js +39 -0
  28. package/dist/cjs/client/schema/get-page.js.map +1 -0
  29. package/dist/cjs/client/schema/get-pages.js +68 -0
  30. package/dist/cjs/client/schema/get-pages.js.map +1 -0
  31. package/dist/cjs/client/schema/index.js +31 -0
  32. package/dist/cjs/client/schema/index.js.map +1 -0
  33. package/dist/cjs/client/schema/preview-token-payload.js +34 -0
  34. package/dist/cjs/client/schema/preview-token-payload.js.map +1 -0
  35. package/dist/cjs/next/client.js +0 -8
  36. package/dist/cjs/next/client.js.map +1 -1
  37. package/dist/cjs/next/components/tests/controls/color-control/fixtures.js.map +1 -1
  38. package/dist/cjs/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
  39. package/dist/cjs/next/components/tests/controls/rich-text-v2-control/fixtures.js.map +1 -1
  40. package/dist/cjs/next/fetch.js.map +1 -1
  41. package/dist/cjs/next/testing/element-data.js +3 -3
  42. package/dist/cjs/next/testing/element-data.js.map +1 -1
  43. package/dist/cjs/runtimes/react/hooks/use-cache-data.js.map +1 -1
  44. package/dist/cjs/runtimes/react/runtime-core.js +2 -2
  45. package/dist/cjs/runtimes/react/runtime-core.js.map +1 -1
  46. package/dist/cjs/runtimes/react/testing/react-runtime.js +7 -1
  47. package/dist/cjs/runtimes/react/testing/react-runtime.js.map +1 -1
  48. package/dist/cjs/state/api-client/fetch-api-resource.js +8 -8
  49. package/dist/cjs/state/api-client/fetch-api-resource.js.map +1 -1
  50. package/dist/esm/api/api-resources-client.js.map +1 -1
  51. package/dist/esm/api/graphql/documents/queries.js +4 -4
  52. package/dist/esm/api/graphql/documents/queries.js.map +1 -1
  53. package/dist/esm/api/graphql/generated/types.js.map +1 -1
  54. package/dist/esm/api/graphql-api-client.js +29 -2
  55. package/dist/esm/api/graphql-api-client.js.map +1 -1
  56. package/dist/esm/api/{client.js → host-api-resources-client.js} +3 -3
  57. package/dist/esm/api/host-api-resources-client.js.map +1 -0
  58. package/dist/esm/api/rest-api-client.js +151 -0
  59. package/dist/esm/api/rest-api-client.js.map +1 -0
  60. package/dist/esm/api/schema/index.js +2 -0
  61. package/dist/esm/api/schema/index.js.map +1 -0
  62. package/dist/esm/api/schema/page-pathname-slice.js +14 -0
  63. package/dist/esm/api/schema/page-pathname-slice.js.map +1 -0
  64. package/dist/esm/api/types.js.map +1 -1
  65. package/dist/esm/api-handler/handlers/manifest.js +1 -1
  66. package/dist/esm/client/component-snapshot.js +39 -0
  67. package/dist/esm/client/component-snapshot.js.map +1 -0
  68. package/dist/esm/client/index.js +68 -329
  69. package/dist/esm/client/index.js.map +1 -1
  70. package/dist/esm/client/page-snapshot.js +9 -0
  71. package/dist/esm/client/page-snapshot.js.map +1 -0
  72. package/dist/esm/client/schema/component-document.js +20 -0
  73. package/dist/esm/client/schema/component-document.js.map +1 -0
  74. package/dist/esm/client/schema/fonts.js +14 -0
  75. package/dist/esm/client/schema/fonts.js.map +1 -0
  76. package/dist/esm/client/schema/get-page.js +15 -0
  77. package/dist/esm/client/schema/get-page.js.map +1 -0
  78. package/dist/esm/client/schema/get-pages.js +42 -0
  79. package/dist/esm/client/schema/get-pages.js.map +1 -0
  80. package/dist/esm/client/schema/index.js +6 -0
  81. package/dist/esm/client/schema/index.js.map +1 -0
  82. package/dist/esm/client/schema/preview-token-payload.js +10 -0
  83. package/dist/esm/client/schema/preview-token-payload.js.map +1 -0
  84. package/dist/esm/next/client.js +0 -8
  85. package/dist/esm/next/client.js.map +1 -1
  86. package/dist/esm/next/components/tests/controls/color-control/fixtures.js.map +1 -1
  87. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
  88. package/dist/esm/next/components/tests/controls/rich-text-v2-control/fixtures.js.map +1 -1
  89. package/dist/esm/next/fetch.js.map +1 -1
  90. package/dist/esm/next/testing/element-data.js +1 -1
  91. package/dist/esm/next/testing/element-data.js.map +1 -1
  92. package/dist/esm/runtimes/react/hooks/use-cache-data.js.map +1 -1
  93. package/dist/esm/runtimes/react/runtime-core.js +2 -2
  94. package/dist/esm/runtimes/react/runtime-core.js.map +1 -1
  95. package/dist/esm/runtimes/react/testing/react-runtime.js +7 -1
  96. package/dist/esm/runtimes/react/testing/react-runtime.js.map +1 -1
  97. package/dist/esm/state/api-client/fetch-api-resource.js +1 -1
  98. package/dist/esm/state/api-client/fetch-api-resource.js.map +1 -1
  99. package/dist/types/api/__tests__/rest-api-client.error-handling.test.d.ts +2 -0
  100. package/dist/types/api/__tests__/rest-api-client.error-handling.test.d.ts.map +1 -0
  101. package/dist/types/api/__tests__/rest-api-client.get-resources.test.d.ts +2 -0
  102. package/dist/types/api/__tests__/rest-api-client.get-resources.test.d.ts.map +1 -0
  103. package/dist/types/api/api-resources-client.d.ts.map +1 -1
  104. package/dist/types/api/graphql/documents/queries.d.ts +1 -1
  105. package/dist/types/api/graphql/documents/queries.d.ts.map +1 -1
  106. package/dist/types/api/graphql/generated/types.d.ts +2 -2
  107. package/dist/types/api/graphql/generated/types.d.ts.map +1 -1
  108. package/dist/types/api/graphql-api-client.d.ts +5 -0
  109. package/dist/types/api/graphql-api-client.d.ts.map +1 -1
  110. package/dist/types/api/{client.d.ts → host-api-resources-client.d.ts} +3 -4
  111. package/dist/types/api/host-api-resources-client.d.ts.map +1 -0
  112. package/dist/types/api/rest-api-client.d.ts +25 -0
  113. package/dist/types/api/rest-api-client.d.ts.map +1 -0
  114. package/dist/types/api/schema/index.d.ts +2 -0
  115. package/dist/types/api/schema/index.d.ts.map +1 -0
  116. package/dist/types/api/schema/page-pathname-slice.d.ts +21 -0
  117. package/dist/types/api/schema/page-pathname-slice.d.ts.map +1 -0
  118. package/dist/types/api/types.d.ts +1 -0
  119. package/dist/types/api/types.d.ts.map +1 -1
  120. package/dist/types/client/component-snapshot.d.ts +25 -0
  121. package/dist/types/client/component-snapshot.d.ts.map +1 -0
  122. package/dist/types/client/index.d.ts +19 -640
  123. package/dist/types/client/index.d.ts.map +1 -1
  124. package/dist/types/client/page-snapshot.d.ts +62 -0
  125. package/dist/types/client/page-snapshot.d.ts.map +1 -0
  126. package/dist/types/client/schema/component-document.d.ts +285 -0
  127. package/dist/types/client/schema/component-document.d.ts.map +1 -0
  128. package/dist/types/client/schema/fonts.d.ts +27 -0
  129. package/dist/types/client/schema/fonts.d.ts.map +1 -0
  130. package/dist/types/client/schema/get-page.d.ts +30 -0
  131. package/dist/types/client/schema/get-page.d.ts.map +1 -0
  132. package/dist/types/client/schema/get-pages.d.ts +202 -0
  133. package/dist/types/client/schema/get-pages.d.ts.map +1 -0
  134. package/dist/types/client/schema/index.d.ts +6 -0
  135. package/dist/types/client/schema/index.d.ts.map +1 -0
  136. package/dist/types/client/schema/preview-token-payload.d.ts +19 -0
  137. package/dist/types/client/schema/preview-token-payload.d.ts.map +1 -0
  138. package/dist/types/next/client.d.ts +0 -1
  139. package/dist/types/next/client.d.ts.map +1 -1
  140. package/dist/types/next/components/tests/controls/color-control/fixtures.d.ts +1 -1
  141. package/dist/types/next/components/tests/controls/color-control/fixtures.d.ts.map +1 -1
  142. package/dist/types/next/components/tests/controls/page-control-prop-rendering.d.ts +1 -1
  143. package/dist/types/next/components/tests/controls/page-control-prop-rendering.d.ts.map +1 -1
  144. package/dist/types/next/components/tests/controls/rich-text-v2-control/fixtures.d.ts +1 -1
  145. package/dist/types/next/components/tests/controls/rich-text-v2-control/fixtures.d.ts.map +1 -1
  146. package/dist/types/next/fetch.d.ts +1 -1
  147. package/dist/types/next/fetch.d.ts.map +1 -1
  148. package/dist/types/runtimes/react/hooks/use-cache-data.d.ts +1 -1
  149. package/dist/types/runtimes/react/hooks/use-cache-data.d.ts.map +1 -1
  150. package/dist/types/runtimes/react/runtime-core.d.ts +1 -1
  151. package/dist/types/runtimes/react/runtime-core.d.ts.map +1 -1
  152. package/dist/types/runtimes/react/testing/react-runtime.d.ts.map +1 -1
  153. package/dist/types/state/api-client/fetch-api-resource.d.ts +1 -2
  154. package/dist/types/state/api-client/fetch-api-resource.d.ts.map +1 -1
  155. package/package.json +1 -1
  156. package/dist/cjs/api/client.js.map +0 -1
  157. package/dist/esm/api/client.js.map +0 -1
  158. package/dist/types/api/client.d.ts.map +0 -1
  159. package/dist/types/client/tests/client.error-handling.test.d.ts +0 -2
  160. package/dist/types/client/tests/client.error-handling.test.d.ts.map +0 -1
  161. package/dist/types/client/tests/client.get-resources.test.d.ts +0 -2
  162. package/dist/types/client/tests/client.get-resources.test.d.ts.map +0 -1
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
8
  var __export = (target, all) => {
7
9
  for (var name in all)
@@ -15,241 +17,59 @@ var __copyProps = (to, from, except, desc) => {
15
17
  }
16
18
  return to;
17
19
  };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
18
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
29
  var client_exports = {};
20
30
  __export(client_exports, {
21
31
  MakeswiftClient: () => MakeswiftClient,
22
- SnippetLocation: () => import_types2.SnippetLocation,
23
- componentDocumentToRootEmbeddedDocument: () => componentDocumentToRootEmbeddedDocument,
24
- failedResponseBody: () => failedResponseBody,
25
- pageToRootDocument: () => pageToRootDocument,
26
- previewTokenPayloadSchema: () => previewTokenPayloadSchema
32
+ SnippetLocation: () => import_types3.SnippetLocation,
33
+ componentDocumentToRootEmbeddedDocument: () => import_component_snapshot2.componentDocumentToRootEmbeddedDocument,
34
+ pageToRootDocument: () => import_page_snapshot2.pageToRootDocument
27
35
  });
28
36
  module.exports = __toCommonJS(client_exports);
29
- var import_zod = require("zod");
30
- var import_api = require("../api");
31
- var import_client = require("../api/graphql/client");
32
- var import_documents = require("../api/graphql/documents");
33
- var import_client2 = require("../api/client");
37
+ var import_types2 = require("../api/types");
38
+ var import_api_resources_client = require("../api/api-resources-client");
39
+ var import_graphql_api_client = require("../api/graphql-api-client");
40
+ var import_rest_api_client = require("../api/rest-api-client");
34
41
  var import_introspection = require("../prop-controllers/introspection");
35
42
  var import_read_only_state = require("../state/read-only-state");
36
- var import_pagination = require("../utils/pagination");
37
- var import_deterministic_uuid = require("../utils/deterministic-uuid");
38
- var import_controls = require("@makeswift/controls");
39
- var import_read_only_documents = require("../state/modules/read-only-documents");
40
43
  var import_merge = require("../state/translations/merge");
41
44
  var import_get = require("../state/translations/get");
45
+ var import_deterministic_uuid = require("../utils/deterministic-uuid");
46
+ var import_pagination = require("../utils/pagination");
42
47
  var import_isNonNullable = require("../utils/isNonNullable");
43
- var import_types2 = require("../api/graphql/generated/types");
44
- const makeswiftPageResultSchema = import_zod.z.object({
45
- id: import_zod.z.string(),
46
- path: import_zod.z.string(),
47
- title: import_zod.z.string().nullable(),
48
- description: import_zod.z.string().nullable(),
49
- canonicalUrl: import_zod.z.string().nullable(),
50
- socialImageUrl: import_zod.z.string().nullable(),
51
- sitemapPriority: import_zod.z.number().nullable(),
52
- sitemapFrequency: import_zod.z.enum(["always", "hourly", "daily", "weekly", "monthly", "yearly", "never"]).nullable(),
53
- createdAt: import_zod.z.string(),
54
- updatedAt: import_zod.z.string(),
55
- publishedAt: import_zod.z.string().nullable(),
56
- isOnline: import_zod.z.boolean().nullable(),
57
- excludedFromSearch: import_zod.z.boolean().nullable(),
58
- locale: import_zod.z.string(),
59
- localizedVariants: import_zod.z.array(
60
- import_zod.z.object({
61
- locale: import_zod.z.string(),
62
- path: import_zod.z.string()
63
- })
64
- )
65
- });
66
- const makeswiftGetPagesResultAPISchema = import_zod.z.object({
67
- data: import_zod.z.array(makeswiftPageResultSchema),
68
- hasMore: import_zod.z.boolean()
69
- });
70
- const makeswiftGetPagesParamsSchema = import_zod.z.object({
71
- limit: import_zod.z.number().optional(),
72
- after: import_zod.z.string().optional(),
73
- sortBy: import_zod.z.enum(["title", "path", "description", "createdAt", "updatedAt"]).optional(),
74
- sortDirection: import_zod.z.enum(["asc", "desc"]).optional(),
75
- includeOffline: import_zod.z.boolean().optional(),
76
- pathPrefix: import_zod.z.string().optional(),
77
- locale: import_zod.z.string().optional()
78
- });
79
- function getPagesQueryParams({
80
- limit = 100,
81
- after,
82
- sortBy,
83
- sortDirection,
84
- includeOffline,
85
- pathPrefix,
86
- locale
87
- }) {
88
- const params = new URLSearchParams();
89
- if (limit != null)
90
- params.set("limit", limit.toString());
91
- if (after != null)
92
- params.set("after", after);
93
- if (sortBy != null)
94
- params.set("sortBy", sortBy);
95
- if (sortDirection != null)
96
- params.set("sortDirection", sortDirection);
97
- if (includeOffline != null)
98
- params.set("includeOffline", includeOffline.toString());
99
- if (pathPrefix != null)
100
- params.set("pathPrefix", pathPrefix);
101
- if (locale != null)
102
- params.set("locale", locale);
103
- return params;
104
- }
105
- function pageToRootDocument(pageDocument) {
106
- const { locale, localizedPages, id, data } = pageDocument;
107
- const localizedPage = localizedPages.find(({ parentId }) => parentId == null);
108
- return localizedPage ? { key: localizedPage.elementTreeId, rootElement: localizedPage.data, locale } : { key: id, rootElement: data, locale };
109
- }
110
- const makeswiftComponentDocumentSchema = import_zod.z.object({
111
- id: import_zod.z.string(),
112
- name: import_zod.z.string().nullable(),
113
- locale: import_zod.z.string().nullable(),
114
- data: import_controls.Schema.element,
115
- siteId: import_zod.z.string(),
116
- inheritsFromParent: import_zod.z.boolean()
117
- });
118
- const makeswiftComponentDocumentFallbackSchema = import_zod.z.object({
119
- id: import_zod.z.string(),
120
- locale: import_zod.z.string().nullable(),
121
- data: import_zod.z.null()
122
- });
123
- const previewTokenPayloadSchema = import_zod.z.object({
124
- payload: import_zod.z.object({
125
- version: import_zod.z.string()
126
- })
127
- });
128
- function componentDocumentToRootEmbeddedDocument({
129
- document,
130
- documentKey,
131
- name,
132
- type,
133
- description,
134
- meta
135
- }) {
136
- const { data: rootElement, locale, id } = document;
137
- if (rootElement != null && rootElement.type !== type) {
138
- throw new Error(
139
- `Type "${rootElement.type}" does not match the expected type "${type}" from the snapshot`
140
- );
141
- }
142
- const rootDocument = {
143
- key: documentKey,
144
- rootElement: rootElement ?? {
145
- // Fallback rootElement
146
- // Create a stable uuid so two different clients will have the same empty element data.
147
- // This is needed to make presence feature work for an element that is not yet created.
148
- key: (0, import_deterministic_uuid.deterministicUUID)({ id, locale, seed: documentKey }),
149
- type,
150
- props: {}
151
- },
152
- locale,
153
- id,
154
- type,
155
- name,
156
- meta: { ...meta, description },
157
- __type: import_read_only_documents.EMBEDDED_DOCUMENT_TYPE
158
- };
159
- return rootDocument;
160
- }
161
- async function failedResponseBody(response) {
162
- try {
163
- const text = await response.text();
164
- try {
165
- return JSON.parse(text);
166
- } catch {
167
- return text;
168
- }
169
- } catch (e) {
170
- return `Failed to extract response body: ${e}`;
171
- }
172
- }
173
- function responseError(response) {
174
- return `${response.status} ${response.statusText}`;
175
- }
176
- const pagePathnameSlicesAPISchema = import_zod.z.array(
177
- import_zod.z.object({
178
- id: import_zod.z.string(),
179
- basePageId: import_zod.z.string(),
180
- pathname: import_zod.z.string(),
181
- localizedPathname: import_zod.z.string().optional(),
182
- __typename: import_zod.z.literal("PagePathnameSlice")
183
- }).nullable()
184
- );
185
- const getPageAPISchema = import_zod.z.object({
186
- pathname: import_zod.z.string(),
187
- locale: import_zod.z.string(),
188
- alternate: import_zod.z.array(
189
- import_zod.z.object({
190
- pathname: import_zod.z.string(),
191
- locale: import_zod.z.string()
192
- })
193
- )
194
- });
195
- const getFontsAPISchema = import_zod.z.object({
196
- googleFonts: import_zod.z.array(
197
- import_zod.z.object({
198
- family: import_zod.z.string(),
199
- variants: import_zod.z.array(import_zod.z.string())
200
- })
201
- ),
202
- siteId: import_zod.z.string()
203
- });
204
- class MakeswiftClient {
48
+ var Schema = __toESM(require("./schema"));
49
+ var import_types3 = require("../api/graphql/generated/types");
50
+ var import_component_snapshot2 = require("./component-snapshot");
51
+ var import_page_snapshot2 = require("./page-snapshot");
52
+ class MakeswiftClient extends import_rest_api_client.MakeswiftRestAPIClient {
205
53
  graphqlClient;
206
54
  runtime;
207
- apiKey;
208
- constructor(apiKey, { runtime }) {
55
+ constructor(apiKey, {
56
+ runtime
57
+ }) {
209
58
  if (typeof apiKey !== "string") {
210
59
  throw new Error(
211
60
  `The Makeswift client must be passed a valid Makeswift site API key: \`new Makeswift('<makeswift_site_api_key>')\`
212
61
  Received "${apiKey}" instead.`
213
62
  );
214
63
  }
215
- this.apiKey = apiKey;
216
- this.graphqlClient = new import_client.GraphQLClient(new URL("graphql", runtime.apiOrigin).href, {
217
- "makeswift-runtime-version": "0.28.7-canary.4"
64
+ super({
65
+ fetch: runtime.fetch,
66
+ apiKey,
67
+ apiOrigin: runtime.apiOrigin
218
68
  });
219
- this.runtime = runtime;
220
- }
221
- get apiOrigin() {
222
- return this.runtime.apiOrigin;
223
- }
224
- async fetch(path, siteVersion, init) {
225
- const requestUrl = new URL(path, this.apiOrigin);
226
- const requestHeaders = new Headers({
227
- "x-api-key": this.apiKey,
228
- "makeswift-site-api-key": this.apiKey,
229
- "makeswift-runtime-version": "0.28.7-canary.4"
69
+ this.graphqlClient = new import_graphql_api_client.MakeswiftGraphQLApiClient({
70
+ endpoint: runtime.graphqlApiEndpoint
230
71
  });
231
- if (siteVersion?.token) {
232
- requestUrl.searchParams.set("version", siteVersion.version);
233
- requestHeaders.set("makeswift-preview-token", siteVersion.token);
234
- }
235
- if (init?.headers) {
236
- new Headers(init.headers).forEach((value, key) => {
237
- requestHeaders.set(key, value);
238
- });
239
- }
240
- const response = await fetch(requestUrl.toString(), {
241
- ...init,
242
- headers: requestHeaders,
243
- ...siteVersion != null ? { cache: "no-store" } : {},
244
- ...this.fetchOptions(siteVersion)
245
- });
246
- return response;
247
- }
248
- /**
249
- * Override this method to provide additional fetch options, e.g. revalidation, cache tags, etc.
250
- */
251
- fetchOptions(_siteVersion) {
252
- return {};
72
+ this.runtime = runtime;
253
73
  }
254
74
  getPagesInternal = async ({
255
75
  siteVersion = null,
@@ -259,14 +79,14 @@ Received "${apiKey}" instead.`
259
79
  const response = await this.fetch(`v5/pages?${queryParams.toString()}`, siteVersion);
260
80
  if (!response.ok) {
261
81
  console.error("Failed to get pages", {
262
- response: await failedResponseBody(response),
82
+ response: await (0, import_rest_api_client.failedResponseBody)(response),
263
83
  siteVersion,
264
84
  params
265
85
  });
266
86
  throw new Error(`Failed to get pages: ${responseError(response)}`);
267
87
  }
268
88
  const result = await response.json();
269
- const parsedResponse = makeswiftGetPagesResultAPISchema.safeParse(result);
89
+ const parsedResponse = Schema.getPagesResult.safeParse(result);
270
90
  if (!parsedResponse.success) {
271
91
  throw new Error(
272
92
  `Failed to parse 'getPages' response: ${parsedResponse.error.errors.map((e) => e.message).join("; ")}`
@@ -281,7 +101,7 @@ Received "${apiKey}" instead.`
281
101
  url.searchParams.set("locale", locale);
282
102
  const response = await this.fetch(url.pathname + url.search, siteVersion);
283
103
  if (!response.ok) {
284
- const failedBody = await failedResponseBody(response);
104
+ const failedBody = await (0, import_rest_api_client.failedResponseBody)(response);
285
105
  if (response.status === 404)
286
106
  return null;
287
107
  console.error(`Failed to get page snapshot for '${pathname}'`, {
@@ -292,7 +112,7 @@ Received "${apiKey}" instead.`
292
112
  throw new Error(`Failed to get page snapshot for '${pathname}': ${responseError(response)}`);
293
113
  }
294
114
  const json = await response.json();
295
- return getPageAPISchema.parse(json);
115
+ return Schema.getPageResult.parse(json);
296
116
  }
297
117
  async getTypographies(typographyIds, siteVersion) {
298
118
  if (typographyIds.length === 0)
@@ -304,7 +124,7 @@ Received "${apiKey}" instead.`
304
124
  const response = await this.fetch(url.pathname + url.search, siteVersion);
305
125
  if (!response.ok) {
306
126
  console.error(`Failed to get typographies for [${typographyIds.join(", ")}]`, {
307
- response: await failedResponseBody(response),
127
+ response: await (0, import_rest_api_client.failedResponseBody)(response),
308
128
  siteVersion
309
129
  });
310
130
  return [];
@@ -322,7 +142,7 @@ Received "${apiKey}" instead.`
322
142
  const response = await this.fetch(url.pathname + url.search, siteVersion);
323
143
  if (!response.ok) {
324
144
  console.error(`Failed to get swatches for ${ids.join(", ")}`, {
325
- response: await failedResponseBody(response),
145
+ response: await (0, import_rest_api_client.failedResponseBody)(response),
326
146
  siteVersion
327
147
  });
328
148
  return [];
@@ -341,7 +161,7 @@ Received "${apiKey}" instead.`
341
161
  body: JSON.stringify(requestBody)
342
162
  });
343
163
  if (!response.ok) {
344
- const failedBody = await failedResponseBody(response);
164
+ const failedBody = await (0, import_rest_api_client.failedResponseBody)(response);
345
165
  if (response.status === 404)
346
166
  return ids.map(() => null);
347
167
  console.error(`Failed to get element trees for [${ids.join(", ")}]`, {
@@ -353,16 +173,16 @@ Received "${apiKey}" instead.`
353
173
  }
354
174
  const responseBody = await response.json();
355
175
  return responseBody.map(
356
- (item) => item != null ? makeswiftComponentDocumentSchema.parse(item) : null
176
+ (item) => item != null ? Schema.componentDocument.parse(item) : null
357
177
  );
358
178
  }
359
179
  async getIntrospectedResources({
360
180
  swatchIds,
361
- ...introspectedResourceIds
181
+ ...unversionedResourceIds
362
182
  }, siteVersion) {
363
- const result = await this.graphqlClient.request(import_documents.IntrospectedResourcesQuery, introspectedResourceIds);
183
+ const unversionedResources = await this.graphqlClient.getUnversionedResources(unversionedResourceIds);
364
184
  const swatches = await this.getSwatches(swatchIds, siteVersion);
365
- return { ...result, swatches };
185
+ return { ...unversionedResources, swatches };
366
186
  }
367
187
  // TODO: Consolidate this method with the introspectMany method once the
368
188
  // unstable_getComponentSnapshots method is stable and tested in production.
@@ -449,32 +269,32 @@ Received "${apiKey}" instead.`
449
269
  siteVersion
450
270
  );
451
271
  const apiResources = {
452
- [import_api.APIResourceType.Swatch]: [...swatchIds].map((id) => ({
272
+ [import_types2.APIResourceType.Swatch]: [...swatchIds].map((id) => ({
453
273
  id,
454
274
  value: swatches.find((swatch) => swatch?.id === id) ?? null
455
275
  })),
456
- [import_api.APIResourceType.File]: [...fileIds].map((id) => ({
276
+ [import_types2.APIResourceType.File]: [...fileIds].map((id) => ({
457
277
  id,
458
278
  value: files.find((file) => file?.id === id) ?? null
459
279
  })),
460
- [import_api.APIResourceType.Typography]: [...typographyIds].map((id) => ({
280
+ [import_types2.APIResourceType.Typography]: [...typographyIds].map((id) => ({
461
281
  id,
462
282
  value: typographies.find((typography) => typography?.id === id) ?? null
463
283
  })),
464
- [import_api.APIResourceType.Table]: [...tableIds].map((id) => ({
284
+ [import_types2.APIResourceType.Table]: [...tableIds].map((id) => ({
465
285
  id,
466
286
  value: tables.find((table) => table?.id === id) ?? null
467
287
  })),
468
- [import_api.APIResourceType.PagePathnameSlice]: [...pageIds].map((id) => ({
288
+ [import_types2.APIResourceType.PagePathnameSlice]: [...pageIds].map((id) => ({
469
289
  id,
470
290
  value: pagePathnames.find((pagePathnameSlice) => pagePathnameSlice?.id === id) ?? null,
471
291
  locale
472
292
  })),
473
- [import_api.APIResourceType.GlobalElement]: [...globalElements.entries()].map(([id, value]) => ({
293
+ [import_types2.APIResourceType.GlobalElement]: [...globalElements.entries()].map(([id, value]) => ({
474
294
  id,
475
295
  value
476
296
  })),
477
- [import_api.APIResourceType.LocalizedGlobalElement]: [...localizedGlobalElements.entries()].map(
297
+ [import_types2.APIResourceType.LocalizedGlobalElement]: [...localizedGlobalElements.entries()].map(
478
298
  ([id, value]) => ({
479
299
  id,
480
300
  value,
@@ -633,34 +453,34 @@ Received "${apiKey}" instead.`
633
453
  const result = /* @__PURE__ */ new Map();
634
454
  for (const [treeId, currentTreeCache] of treeCaches) {
635
455
  const apiResources = {
636
- [import_api.APIResourceType.Swatch]: [...currentTreeCache.swatchIds].map((id) => ({
456
+ [import_types2.APIResourceType.Swatch]: [...currentTreeCache.swatchIds].map((id) => ({
637
457
  id,
638
458
  value: swatches.find((swatch) => swatch?.id === id) ?? null
639
459
  })),
640
- [import_api.APIResourceType.File]: [...currentTreeCache.fileIds].map((id) => ({
460
+ [import_types2.APIResourceType.File]: [...currentTreeCache.fileIds].map((id) => ({
641
461
  id,
642
462
  value: files.find((file) => file?.id === id) ?? null
643
463
  })),
644
- [import_api.APIResourceType.Typography]: [...currentTreeCache.typographyIds].map((id) => ({
464
+ [import_types2.APIResourceType.Typography]: [...currentTreeCache.typographyIds].map((id) => ({
645
465
  id,
646
466
  value: typographies.find((typography) => typography?.id === id) ?? null
647
467
  })),
648
- [import_api.APIResourceType.Table]: [...currentTreeCache.tableIds].map((id) => ({
468
+ [import_types2.APIResourceType.Table]: [...currentTreeCache.tableIds].map((id) => ({
649
469
  id,
650
470
  value: tables.find((table) => table?.id === id) ?? null
651
471
  })),
652
- [import_api.APIResourceType.PagePathnameSlice]: [...currentTreeCache.pageIds].map((id) => ({
472
+ [import_types2.APIResourceType.PagePathnameSlice]: [...currentTreeCache.pageIds].map((id) => ({
653
473
  id,
654
474
  value: pagePathnames.find((pagePathnameSlice) => pagePathnameSlice?.id === id) ?? null,
655
475
  locale
656
476
  })),
657
- [import_api.APIResourceType.GlobalElement]: [...currentTreeCache.globalElements.entries()].map(
477
+ [import_types2.APIResourceType.GlobalElement]: [...currentTreeCache.globalElements.entries()].map(
658
478
  ([id, value]) => ({
659
479
  id,
660
480
  value
661
481
  })
662
482
  ),
663
- [import_api.APIResourceType.LocalizedGlobalElement]: [
483
+ [import_types2.APIResourceType.LocalizedGlobalElement]: [
664
484
  ...currentTreeCache.localizedGlobalElements.entries()
665
485
  ].map(([id, value]) => ({
666
486
  id,
@@ -694,7 +514,7 @@ Received "${apiKey}" instead.`
694
514
  siteVersion
695
515
  );
696
516
  if (!response.ok) {
697
- const failedBody = await failedResponseBody(response);
517
+ const failedBody = await (0, import_rest_api_client.failedResponseBody)(response);
698
518
  if (response.status === 404)
699
519
  return null;
700
520
  console.error(`Failed to get page snapshot for '${pathname}'`, {
@@ -738,13 +558,13 @@ Received "${apiKey}" instead.`
738
558
  siteVersion
739
559
  );
740
560
  if (responseForRequestedLocale.status === 404 && canAttemptLocaleFallback) {
741
- await failedResponseBody(responseForRequestedLocale);
561
+ await (0, import_rest_api_client.failedResponseBody)(responseForRequestedLocale);
742
562
  response = await this.fetch(`v2/element-trees/${encodeURIComponent(id)}`, siteVersion);
743
563
  } else {
744
564
  response = responseForRequestedLocale;
745
565
  }
746
566
  if (!response.ok) {
747
- const failedBody = await failedResponseBody(response);
567
+ const failedBody = await (0, import_rest_api_client.failedResponseBody)(response);
748
568
  if (response.status === 404) {
749
569
  return {
750
570
  document: {
@@ -753,7 +573,7 @@ Received "${apiKey}" instead.`
753
573
  data: null
754
574
  },
755
575
  key,
756
- cacheData: import_client2.CacheData.empty(),
576
+ cacheData: import_api_resources_client.CacheData.empty(),
757
577
  meta: {
758
578
  allowLocaleFallback,
759
579
  requestedLocale: locale ?? null
@@ -767,7 +587,7 @@ Received "${apiKey}" instead.`
767
587
  });
768
588
  throw new Error(`Failed to get component snapshot for '${id}': ${responseError(response)}`);
769
589
  }
770
- const document = makeswiftComponentDocumentSchema.parse(await response.json());
590
+ const document = Schema.componentDocument.parse(await response.json());
771
591
  const cacheData = await this.introspect(document.data, siteVersion, locale ?? null);
772
592
  return {
773
593
  document,
@@ -819,127 +639,23 @@ Received "${apiKey}" instead.`
819
639
  return {
820
640
  document: { id, locale: locale ?? null, data: null },
821
641
  key,
822
- cacheData: import_client2.CacheData.empty(),
642
+ cacheData: import_api_resources_client.CacheData.empty(),
823
643
  meta: { allowLocaleFallback, requestedLocale: locale ?? null }
824
644
  };
825
645
  }
826
646
  return {
827
647
  document,
828
648
  key,
829
- cacheData: cacheDataMap.get(id) ?? import_client2.CacheData.empty(),
649
+ cacheData: cacheDataMap.get(id) ?? import_api_resources_client.CacheData.empty(),
830
650
  meta: { allowLocaleFallback, requestedLocale: locale ?? null }
831
651
  };
832
652
  });
833
653
  }
834
- async getSwatch(swatchId, siteVersion) {
835
- const response = await this.fetch(`v3/swatches/${swatchId}`, siteVersion);
836
- if (!response.ok) {
837
- const failedBody = await failedResponseBody(response);
838
- if (response.status !== 404) {
839
- console.error(`Failed to get swatch '${swatchId}'`, {
840
- response: failedBody,
841
- siteVersion
842
- });
843
- }
844
- return null;
845
- }
846
- const swatch = await response.json();
847
- return swatch;
848
- }
849
654
  async getFile(fileId) {
850
- const result = await this.graphqlClient.request(
851
- import_documents.FileQuery,
852
- { fileId }
853
- );
854
- return result.file;
855
- }
856
- async getTypography(typographyId, siteVersion) {
857
- const response = await this.fetch(`v3/typographies/${typographyId}`, siteVersion);
858
- if (!response.ok) {
859
- const failedBody = await failedResponseBody(response);
860
- if (response.status !== 404) {
861
- console.error(`Failed to get typography '${typographyId}'`, {
862
- response: failedBody,
863
- siteVersion
864
- });
865
- }
866
- return null;
867
- }
868
- const typography = await response.json();
869
- return typography;
870
- }
871
- async getGlobalElement(globalElementId, siteVersion) {
872
- const response = await this.fetch(`v3/global-elements/${globalElementId}`, siteVersion);
873
- if (!response.ok) {
874
- const failedBody = await failedResponseBody(response);
875
- if (response.status !== 404) {
876
- console.error(`Failed to get global element '${globalElementId}'`, {
877
- response: failedBody,
878
- siteVersion
879
- });
880
- }
881
- return null;
882
- }
883
- const globalElement = await response.json();
884
- return globalElement;
885
- }
886
- async getLocalizedGlobalElement(globalElementId, locale, siteVersion) {
887
- const response = await this.fetch(
888
- `v3/localized-global-elements/${globalElementId}?locale=${locale}`,
889
- siteVersion
890
- );
891
- if (!response.ok) {
892
- const failedBody = await failedResponseBody(response);
893
- if (response.status !== 404) {
894
- console.error(`Failed to get localized global element '${globalElementId}'`, {
895
- response: failedBody,
896
- siteVersion,
897
- locale
898
- });
899
- }
900
- return null;
901
- }
902
- const localizedGlobalElement = await response.json();
903
- return localizedGlobalElement;
904
- }
905
- async getPagePathnameSlices(pageIds, siteVersion, { locale }) {
906
- if (pageIds.length === 0)
907
- return [];
908
- const url = new URL(`v3/page-pathname-slices/bulk`, this.apiOrigin);
909
- pageIds.forEach((id) => url.searchParams.append("ids", id));
910
- if (locale != null)
911
- url.searchParams.set("locale", locale);
912
- const response = await this.fetch(url.pathname + url.search, siteVersion);
913
- if (!response.ok) {
914
- console.error(`Failed to get page pathname slice(s) for ${pageIds.join(", ")}`, {
915
- response: await failedResponseBody(response),
916
- siteVersion,
917
- locale
918
- });
919
- return [];
920
- }
921
- const json = await response.json();
922
- const pagePathnameSlices = pagePathnameSlicesAPISchema.parse(json);
923
- return pagePathnameSlices.map((pagePathnameSlice) => {
924
- if (pagePathnameSlice == null)
925
- return null;
926
- return {
927
- ...pagePathnameSlice,
928
- id: pagePathnameSlice.basePageId,
929
- localizedPathname: pagePathnameSlice.localizedPathname ?? null
930
- };
931
- });
932
- }
933
- async getPagePathnameSlice(pageId, siteVersion, { locale } = {}) {
934
- const pagePathnameSlices = await this.getPagePathnameSlices([pageId], siteVersion, { locale });
935
- return pagePathnameSlices.at(0) ?? null;
655
+ return this.graphqlClient.getFile(fileId);
936
656
  }
937
657
  async getTable(tableId) {
938
- const result = await this.graphqlClient.request(
939
- import_documents.TableQuery,
940
- { tableId }
941
- );
942
- return result.table;
658
+ return this.graphqlClient.getTable(tableId);
943
659
  }
944
660
  getTranslatableData(elementTree) {
945
661
  return (0, import_get.getTranslatableContent)(this.getElementDescriptors(), elementTree);
@@ -953,14 +669,14 @@ Received "${apiKey}" instead.`
953
669
  headers: {
954
670
  "x-api-key": this.apiKey,
955
671
  "makeswift-site-api-key": this.apiKey,
956
- "makeswift-runtime-version": "0.28.7-canary.4",
672
+ "makeswift-runtime-version": "0.28.7-canary.6",
957
673
  "content-type": "application/json"
958
674
  },
959
675
  body: JSON.stringify({ token }),
960
676
  cache: "no-store"
961
677
  });
962
678
  if (!response.ok) {
963
- const failedBody = await failedResponseBody(response);
679
+ const failedBody = await (0, import_rest_api_client.failedResponseBody)(response);
964
680
  if (response.status === 401) {
965
681
  console.error(`Preview token is invalid or expired`, {
966
682
  response: failedBody
@@ -973,7 +689,7 @@ Received "${apiKey}" instead.`
973
689
  return null;
974
690
  }
975
691
  const json = await response.json();
976
- const parsed = previewTokenPayloadSchema.safeParse(json);
692
+ const parsed = Schema.previewTokenPayload.safeParse(json);
977
693
  if (!parsed.success) {
978
694
  throw new Error(
979
695
  `Failed to parse preview token payload: ${parsed.error.errors.map((e) => e.message).join("; ")}`
@@ -985,13 +701,13 @@ Received "${apiKey}" instead.`
985
701
  const response = await this.fetch("v1_unstable/fonts", siteVersion);
986
702
  if (!response.ok) {
987
703
  console.error("Failed to fetch fonts", {
988
- response: await failedResponseBody(response),
704
+ response: await (0, import_rest_api_client.failedResponseBody)(response),
989
705
  siteVersion
990
706
  });
991
707
  return null;
992
708
  }
993
709
  const json = await response.json();
994
- const parsed = getFontsAPISchema.safeParse(json);
710
+ const parsed = Schema.fonts.safeParse(json);
995
711
  if (!parsed.success) {
996
712
  console.error("Failed to parse fonts API response", {
997
713
  response: json,
@@ -1005,13 +721,40 @@ Received "${apiKey}" instead.`
1005
721
  return (0, import_read_only_state.getPropControllerDescriptors)(this.runtime.protoStore.getState());
1006
722
  }
1007
723
  }
724
+ function getPagesQueryParams({
725
+ limit = 100,
726
+ after,
727
+ sortBy,
728
+ sortDirection,
729
+ includeOffline,
730
+ pathPrefix,
731
+ locale
732
+ }) {
733
+ const params = new URLSearchParams();
734
+ if (limit != null)
735
+ params.set("limit", limit.toString());
736
+ if (after != null)
737
+ params.set("after", after);
738
+ if (sortBy != null)
739
+ params.set("sortBy", sortBy);
740
+ if (sortDirection != null)
741
+ params.set("sortDirection", sortDirection);
742
+ if (includeOffline != null)
743
+ params.set("includeOffline", includeOffline.toString());
744
+ if (pathPrefix != null)
745
+ params.set("pathPrefix", pathPrefix);
746
+ if (locale != null)
747
+ params.set("locale", locale);
748
+ return params;
749
+ }
750
+ function responseError(response) {
751
+ return `${response.status} ${response.statusText}`;
752
+ }
1008
753
  // Annotate the CommonJS export names for ESM import in node:
1009
754
  0 && (module.exports = {
1010
755
  MakeswiftClient,
1011
756
  SnippetLocation,
1012
757
  componentDocumentToRootEmbeddedDocument,
1013
- failedResponseBody,
1014
- pageToRootDocument,
1015
- previewTokenPayloadSchema
758
+ pageToRootDocument
1016
759
  });
1017
760
  //# sourceMappingURL=index.js.map