canopycms 0.0.53 → 0.0.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/generate.d.ts.map +1 -1
- package/dist/ai/generate.js +68 -2
- package/dist/ai/generate.js.map +1 -1
- package/dist/ai/index.d.ts +1 -1
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/json-to-markdown.d.ts.map +1 -1
- package/dist/ai/json-to-markdown.js +87 -0
- package/dist/ai/json-to-markdown.js.map +1 -1
- package/dist/ai/types.d.ts +54 -0
- package/dist/ai/types.d.ts.map +1 -1
- package/dist/ai/types.js.map +1 -1
- package/dist/api/assets.d.ts +14 -2
- package/dist/api/assets.d.ts.map +1 -1
- package/dist/api/assets.js +14 -3
- package/dist/api/assets.js.map +1 -1
- package/dist/api/branch-status.d.ts.map +1 -1
- package/dist/api/branch-status.js +8 -2
- package/dist/api/branch-status.js.map +1 -1
- package/dist/api/client.d.ts +2 -2
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +29 -14
- package/dist/api/client.js.map +1 -1
- package/dist/api/content.d.ts +2 -2
- package/dist/api/content.d.ts.map +1 -1
- package/dist/api/content.js +160 -26
- package/dist/api/content.js.map +1 -1
- package/dist/api/entries.d.ts.map +1 -1
- package/dist/api/entries.js +8 -4
- package/dist/api/entries.js.map +1 -1
- package/dist/api/github-sync.d.ts.map +1 -1
- package/dist/api/github-sync.js +21 -4
- package/dist/api/github-sync.js.map +1 -1
- package/dist/api/groups.d.ts.map +1 -1
- package/dist/api/groups.js +15 -5
- package/dist/api/groups.js.map +1 -1
- package/dist/api/permissions.d.ts +6 -6
- package/dist/api/permissions.d.ts.map +1 -1
- package/dist/api/permissions.js +24 -9
- package/dist/api/permissions.js.map +1 -1
- package/dist/api/request-body-hash.d.ts +33 -0
- package/dist/api/request-body-hash.d.ts.map +1 -0
- package/dist/api/request-body-hash.js +43 -0
- package/dist/api/request-body-hash.js.map +1 -0
- package/dist/api/resolve-references.d.ts.map +1 -1
- package/dist/api/resolve-references.js +8 -1
- package/dist/api/resolve-references.js.map +1 -1
- package/dist/api/schema.js +9 -9
- package/dist/api/schema.js.map +1 -1
- package/dist/api/settings-helpers.d.ts +14 -1
- package/dist/api/settings-helpers.d.ts.map +1 -1
- package/dist/api/settings-helpers.js +11 -2
- package/dist/api/settings-helpers.js.map +1 -1
- package/dist/api/types.d.ts +10 -0
- package/dist/api/types.d.ts.map +1 -1
- package/dist/auth/index.d.ts +1 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +1 -0
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/plugin.d.ts +26 -0
- package/dist/auth/plugin.d.ts.map +1 -1
- package/dist/auth/plugin.js +25 -1
- package/dist/auth/plugin.js.map +1 -1
- package/dist/authorization/helpers.d.ts +16 -0
- package/dist/authorization/helpers.d.ts.map +1 -1
- package/dist/authorization/helpers.js +18 -0
- package/dist/authorization/helpers.js.map +1 -1
- package/dist/authorization/index.d.ts +1 -1
- package/dist/authorization/index.d.ts.map +1 -1
- package/dist/authorization/index.js +1 -1
- package/dist/authorization/index.js.map +1 -1
- package/dist/cli/cli.d.ts.map +1 -1
- package/dist/cli/cli.js +2 -1
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/generate-ai-content.js +834 -339
- package/dist/cli/init.d.ts +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +28 -9
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js +88 -60
- package/dist/cli/sync.js.map +1 -1
- package/dist/cli/template-files/canopy.ts.template +2 -1
- package/dist/cli/template-files/edit-page.tsx.template +8 -1
- package/dist/cli/template-files/middleware.ts.template +18 -0
- package/dist/cli/templates.d.ts.map +1 -1
- package/dist/cli/templates.js +16 -4
- package/dist/cli/templates.js.map +1 -1
- package/dist/config/helpers.d.ts +9 -1
- package/dist/config/helpers.d.ts.map +1 -1
- package/dist/config/helpers.js +30 -75
- package/dist/config/helpers.js.map +1 -1
- package/dist/config/schemas/config.d.ts +5 -20
- package/dist/config/schemas/config.d.ts.map +1 -1
- package/dist/config/schemas/config.js +6 -2
- package/dist/config/schemas/config.js.map +1 -1
- package/dist/config/schemas/media.d.ts +1 -10
- package/dist/config/schemas/media.d.ts.map +1 -1
- package/dist/config/schemas/media.js +8 -6
- package/dist/config/schemas/media.js.map +1 -1
- package/dist/config/types.d.ts +0 -3
- package/dist/config/types.d.ts.map +1 -1
- package/dist/content-id-index.d.ts +12 -6
- package/dist/content-id-index.d.ts.map +1 -1
- package/dist/content-id-index.js +12 -6
- package/dist/content-id-index.js.map +1 -1
- package/dist/content-index-generation.d.ts +30 -0
- package/dist/content-index-generation.d.ts.map +1 -0
- package/dist/content-index-generation.js +131 -0
- package/dist/content-index-generation.js.map +1 -0
- package/dist/content-index-registry.d.ts +38 -0
- package/dist/content-index-registry.d.ts.map +1 -0
- package/dist/content-index-registry.js +53 -0
- package/dist/content-index-registry.js.map +1 -0
- package/dist/content-store.d.ts +130 -6
- package/dist/content-store.d.ts.map +1 -1
- package/dist/content-store.js +333 -31
- package/dist/content-store.js.map +1 -1
- package/dist/editor/Editor.d.ts.map +1 -1
- package/dist/editor/Editor.js +8 -4
- package/dist/editor/Editor.js.map +1 -1
- package/dist/editor/FormRenderer.d.ts +7 -0
- package/dist/editor/FormRenderer.d.ts.map +1 -1
- package/dist/editor/FormRenderer.js +12 -3
- package/dist/editor/FormRenderer.js.map +1 -1
- package/dist/editor/components/EditorHeader.d.ts.map +1 -1
- package/dist/editor/components/EditorHeader.js +3 -4
- package/dist/editor/components/EditorHeader.js.map +1 -1
- package/dist/editor/components/EditorSidebar.d.ts.map +1 -1
- package/dist/editor/components/EditorSidebar.js +2 -4
- package/dist/editor/components/EditorSidebar.js.map +1 -1
- package/dist/editor/fields/ReferenceField.d.ts.map +1 -1
- package/dist/editor/fields/ReferenceField.js +19 -2
- package/dist/editor/fields/ReferenceField.js.map +1 -1
- package/dist/editor/group-manager/hooks/useGroupState.d.ts.map +1 -1
- package/dist/editor/group-manager/hooks/useGroupState.js +5 -2
- package/dist/editor/group-manager/hooks/useGroupState.js.map +1 -1
- package/dist/editor/hooks/useDraftManager.d.ts +8 -0
- package/dist/editor/hooks/useDraftManager.d.ts.map +1 -1
- package/dist/editor/hooks/useDraftManager.js +102 -1
- package/dist/editor/hooks/useDraftManager.js.map +1 -1
- package/dist/editor/hooks/useEntryManager.d.ts +9 -2
- package/dist/editor/hooks/useEntryManager.d.ts.map +1 -1
- package/dist/editor/hooks/useEntryManager.js +9 -3
- package/dist/editor/hooks/useEntryManager.js.map +1 -1
- package/dist/editor/hooks/useSchemaManager.d.ts.map +1 -1
- package/dist/editor/hooks/useSchemaManager.js +2 -1
- package/dist/editor/hooks/useSchemaManager.js.map +1 -1
- package/dist/editor/schema-editor/CollectionEditor.d.ts +4 -4
- package/dist/editor/schema-editor/CollectionEditor.d.ts.map +1 -1
- package/dist/editor/schema-editor/CollectionEditor.js +32 -12
- package/dist/editor/schema-editor/CollectionEditor.js.map +1 -1
- package/dist/entry-link-resolver.d.ts.map +1 -1
- package/dist/entry-link-resolver.js +5 -0
- package/dist/entry-link-resolver.js.map +1 -1
- package/dist/git-manager.d.ts +38 -3
- package/dist/git-manager.d.ts.map +1 -1
- package/dist/git-manager.js +141 -33
- package/dist/git-manager.js.map +1 -1
- package/dist/github-service.d.ts +13 -3
- package/dist/github-service.d.ts.map +1 -1
- package/dist/github-service.js +23 -7
- package/dist/github-service.js.map +1 -1
- package/dist/http/handler.d.ts +1 -1
- package/dist/http/handler.d.ts.map +1 -1
- package/dist/http/handler.js +36 -7
- package/dist/http/handler.js.map +1 -1
- package/dist/http/router.d.ts +11 -0
- package/dist/http/router.d.ts.map +1 -1
- package/dist/http/router.js +80 -16
- package/dist/http/router.js.map +1 -1
- package/dist/paths/validation.d.ts.map +1 -1
- package/dist/paths/validation.js +12 -0
- package/dist/paths/validation.js.map +1 -1
- package/dist/schema/schema-store.d.ts +9 -0
- package/dist/schema/schema-store.d.ts.map +1 -1
- package/dist/schema/schema-store.js +57 -8
- package/dist/schema/schema-store.js.map +1 -1
- package/dist/services.d.ts +1 -0
- package/dist/services.d.ts.map +1 -1
- package/dist/services.js +5 -2
- package/dist/services.js.map +1 -1
- package/dist/sync-core.d.ts.map +1 -1
- package/dist/sync-core.js +22 -9
- package/dist/sync-core.js.map +1 -1
- package/dist/user.d.ts +0 -18
- package/dist/user.d.ts.map +1 -1
- package/dist/user.js +7 -22
- package/dist/user.js.map +1 -1
- package/dist/utils/error.d.ts +8 -0
- package/dist/utils/error.d.ts.map +1 -1
- package/dist/utils/error.js +35 -7
- package/dist/utils/error.js.map +1 -1
- package/dist/validation/deletion-checker.d.ts.map +1 -1
- package/dist/validation/deletion-checker.js +6 -5
- package/dist/validation/deletion-checker.js.map +1 -1
- package/dist/validation/entry-validator.d.ts +67 -0
- package/dist/validation/entry-validator.d.ts.map +1 -0
- package/dist/validation/entry-validator.js +277 -0
- package/dist/validation/entry-validator.js.map +1 -0
- package/dist/validation/field-traversal.d.ts +23 -1
- package/dist/validation/field-traversal.d.ts.map +1 -1
- package/dist/validation/field-traversal.js +29 -9
- package/dist/validation/field-traversal.js.map +1 -1
- package/dist/worker/cms-worker.d.ts +67 -6
- package/dist/worker/cms-worker.d.ts.map +1 -1
- package/dist/worker/cms-worker.js +190 -67
- package/dist/worker/cms-worker.js.map +1 -1
- package/package.json +1 -2
- package/dist/editor/components/EditorContext.d.ts +0 -35
- package/dist/editor/components/EditorContext.d.ts.map +0 -1
- package/dist/editor/components/EditorContext.js +0 -19
- package/dist/editor/components/EditorContext.js.map +0 -1
- package/dist/editor/env.d.ts +0 -5
- package/dist/editor/env.d.ts.map +0 -1
- package/dist/editor/env.js +0 -5
- package/dist/editor/env.js.map +0 -1
package/dist/api/client.d.ts
CHANGED
|
@@ -171,7 +171,7 @@ export declare class CanopyApiClient {
|
|
|
171
171
|
/**
|
|
172
172
|
* list - GET /assets
|
|
173
173
|
*/
|
|
174
|
-
list: () => Promise<AssetsListResponse>;
|
|
174
|
+
list: (params: Record<string, string>) => Promise<AssetsListResponse>;
|
|
175
175
|
/**
|
|
176
176
|
* upload - POST /assets
|
|
177
177
|
*/
|
|
@@ -179,7 +179,7 @@ export declare class CanopyApiClient {
|
|
|
179
179
|
/**
|
|
180
180
|
* delete - DELETE /assets
|
|
181
181
|
*/
|
|
182
|
-
delete: () => Promise<AssetDeleteResponse>;
|
|
182
|
+
delete: (params: Record<string, string>) => Promise<AssetDeleteResponse>;
|
|
183
183
|
};
|
|
184
184
|
/**
|
|
185
185
|
* permissions - Auto-generated methods
|
package/dist/api/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
|
package/dist/api/client.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* AUTO-GENERATED by scripts/generate-client.ts
|
|
5
5
|
* Do not edit this file manually - changes will be overwritten.
|
|
6
6
|
*/
|
|
7
|
+
import { computeContentSha256Hex } from './request-body-hash.js';
|
|
7
8
|
/**
|
|
8
9
|
* Lightweight typed API client for CanopyCMS.
|
|
9
10
|
*
|
|
@@ -188,8 +189,8 @@ export class CanopyApiClient {
|
|
|
188
189
|
/**
|
|
189
190
|
* list - GET /assets
|
|
190
191
|
*/
|
|
191
|
-
list: () => {
|
|
192
|
-
return this.request('GET', '/assets');
|
|
192
|
+
list: (params) => {
|
|
193
|
+
return this.request('GET', this.buildPath('/assets', params));
|
|
193
194
|
},
|
|
194
195
|
/**
|
|
195
196
|
* upload - POST /assets
|
|
@@ -200,8 +201,8 @@ export class CanopyApiClient {
|
|
|
200
201
|
/**
|
|
201
202
|
* delete - DELETE /assets
|
|
202
203
|
*/
|
|
203
|
-
delete: () => {
|
|
204
|
-
return this.request('DELETE', '/assets');
|
|
204
|
+
delete: (params) => {
|
|
205
|
+
return this.request('DELETE', this.buildPath('/assets', params));
|
|
205
206
|
},
|
|
206
207
|
};
|
|
207
208
|
/**
|
|
@@ -381,22 +382,36 @@ export class CanopyApiClient {
|
|
|
381
382
|
const requestHeaders = {
|
|
382
383
|
...headers,
|
|
383
384
|
};
|
|
384
|
-
|
|
385
|
-
requestHeaders['Content-Type'] = 'application/json';
|
|
386
|
-
}
|
|
387
|
-
const init = {
|
|
388
|
-
method,
|
|
389
|
-
headers: requestHeaders,
|
|
390
|
-
};
|
|
385
|
+
let requestBody;
|
|
391
386
|
if (body !== undefined) {
|
|
392
387
|
if (body instanceof FormData) {
|
|
393
|
-
// Don't set Content-Type for FormData - browser will set it with boundary
|
|
394
|
-
|
|
388
|
+
// Don't set Content-Type for FormData - browser will set it with boundary.
|
|
389
|
+
// NOTE: FormData bodies cannot carry an x-amz-content-sha256 hash (the
|
|
390
|
+
// multipart boundary is generated at send time), so requests with a
|
|
391
|
+
// FormData body will 403 behind the CloudFront OAC prod shape. See
|
|
392
|
+
// docs/deploying-to-aws.md.
|
|
393
|
+
requestBody = body;
|
|
395
394
|
}
|
|
396
395
|
else {
|
|
397
|
-
|
|
396
|
+
requestHeaders['Content-Type'] = 'application/json';
|
|
397
|
+
requestBody = JSON.stringify(body);
|
|
398
|
+
// CloudFront's Origin Access Control signs origin requests but never
|
|
399
|
+
// hashes the payload itself - the viewer request must already carry
|
|
400
|
+
// x-amz-content-sha256 or the OAC-protected Lambda Function URL
|
|
401
|
+
// rejects the request with 403. Harmless on non-AWS deployments.
|
|
402
|
+
const contentHash = await computeContentSha256Hex(requestBody);
|
|
403
|
+
if (contentHash) {
|
|
404
|
+
requestHeaders['x-amz-content-sha256'] = contentHash;
|
|
405
|
+
}
|
|
398
406
|
}
|
|
399
407
|
}
|
|
408
|
+
const init = {
|
|
409
|
+
method,
|
|
410
|
+
headers: requestHeaders,
|
|
411
|
+
};
|
|
412
|
+
if (requestBody !== undefined) {
|
|
413
|
+
init.body = requestBody;
|
|
414
|
+
}
|
|
400
415
|
const response = await this.fetchFn(url, init);
|
|
401
416
|
const payload = await response.json();
|
|
402
417
|
// All responses use ApiResponse format: { ok, status, data?, error? }
|
package/dist/api/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAgC7D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,eAAe;IAsW1B,YAAY,UAA4B,EAAE;QAlW1C,yDAAyD;QACzD,iEAAiE;QAEjE;;WAEG;QACM,aAAQ,GAAG;YAClB;;eAEG;YACH,IAAI,EAAE,GAAgC,EAAE;gBACtC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;YACzC,CAAC;YAED;;eAEG;YACH,MAAM,EAAE,CAAC,IAAsB,EAA2B,EAAE;gBAC1D,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;YAChD,CAAC;YAED;;eAEG;YACH,MAAM,EAAE,CAAC,MAA8B,EAAiC,EAAE;gBACxE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAA;YACnE,CAAC;YAED;;eAEG;YACH,YAAY,EAAE,CAAC,MAA8B,EAAE,IAA4B,EAA2B,EAAE;gBACtG,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;YAC/E,CAAC;SACF,CAAA;QAED;;WAEG;QACM,aAAQ,GAAG;YAClB;;eAEG;YACH,QAAQ,EAAE,CAAC,MAA8B,EAA2B,EAAE;gBACpE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAA;YAC1E,CAAC;YAED;;eAEG;YACH,cAAc,EAAE,CAAC,MAA8B,EAA2B,EAAE;gBAC1E,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC,CAAA;YACjF,CAAC;YAED;;eAEG;YACH,OAAO,EAAE,CAAC,MAA8B,EAA2B,EAAE;gBACnE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAA;YACzE,CAAC;YAED;;eAEG;YACH,UAAU,EAAE,CAAC,MAA8B,EAAgC,EAAE;gBAC3E,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC,CAAA;YAC7E,CAAC;YAED;;eAEG;YACH,SAAS,EAAE,CAAC,MAA8B,EAA2B,EAAE;gBACrE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAA;YACvE,CAAC;YAED;;eAEG;YACH,MAAM,EAAE,CAAC,MAA8B,EAA2B,EAAE;gBAClE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAA;YACxE,CAAC;SACF,CAAA;QAED;;WAEG;QACM,aAAQ,GAAG;YAClB;;eAEG;YACH,IAAI,EAAE,CAAC,MAA8B,EAA6B,EAAE;gBAClE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAA;YACzE,CAAC;YAED;;eAEG;YACH,GAAG,EAAE,CAAC,MAA8B,EAAE,IAAoB,EAA+B,EAAE;gBACzF,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;YAChF,CAAC;YAED;;eAEG;YACH,OAAO,EAAE,CAAC,MAA8B,EAAmC,EAAE;gBAC3E,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,qCAAqC,EAAE,MAAM,CAAC,CAAC,CAAA;YAC5F,CAAC;SACF,CAAA;QAED;;WAEG;QACM,YAAO,GAAG;YACjB;;eAEG;YACH,IAAI,EAAE,CAAC,MAA8B,EAAgC,EAAE;gBACrE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC,CAAA;YAChF,CAAC;YAED;;eAEG;YACH,KAAK,EAAE,CAAC,MAA8B,EAAE,IAAsB,EAAiC,EAAE;gBAC/F,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,0BAA0B,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;YACtF,CAAC;YAED;;eAEG;YACH,kBAAkB,EAAE,CAAC,MAA8B,EAAE,IAA4B,EAAwC,EAAE;gBACzH,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,sCAAsC,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;YACnG,CAAC;YAED;;eAEG;YACH,WAAW,EAAE,CAAC,MAA8B,EAAE,IAAqB,EAAgC,EAAE;gBACnG,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,+BAA+B,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;YAC7F,CAAC;YAED;;eAEG;YACH,mBAAmB,EAAE,CAAC,MAA8B,EAAqC,EAAE;gBACzF,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC,CAAA;YAClF,CAAC;YAED;;eAEG;YACH,iBAAiB,EAAE,CAAC,MAA8B,EAAE,IAA2B,EAAsC,EAAE;gBACrH,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,6BAA6B,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;YAC1F,CAAC;SACF,CAAA;QAED;;WAEG;QACM,YAAO,GAAG;YACjB;;eAEG;YACH,IAAI,EAAE,CAAC,MAA8B,EAA4B,EAAE;gBACjE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAA;YACxE,CAAC;YAED;;eAEG;YACH,MAAM,EAAE,CAAC,MAA8B,EAAgC,EAAE;gBACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAC,CAAA;YACxF,CAAC;SACF,CAAA;QAED;;WAEG;QACM,WAAM,GAAG;YAChB;;eAEG;YACH,IAAI,EAAE,CAAC,MAA8B,EAA+B,EAAE;gBACpE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;YAC/D,CAAC;YAED;;eAEG;YACH,MAAM,EAAE,CAAC,IAAqB,EAAgC,EAAE;gBAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;YAC9C,CAAC;YAED;;eAEG;YACH,MAAM,EAAE,CAAC,MAA8B,EAAgC,EAAE;gBACvE,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;YAClE,CAAC;SACF,CAAA;QAED;;WAEG;QACM,gBAAW,GAAG;YACrB;;eAEG;YACH,GAAG,EAAE,GAAiC,EAAE;gBACtC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;YAC5C,CAAC;YAED;;eAEG;YACH,MAAM,EAAE,CAAC,IAA2B,EAAgC,EAAE;gBACpE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,CAAA;YAClD,CAAC;YAED;;eAEG;YACH,WAAW,EAAE,CAAC,MAA8B,EAAgC,EAAE;gBAC5E,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAA;YACrE,CAAC;YAED;;eAEG;YACH,UAAU,EAAE,GAAgC,EAAE;gBAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;YACvC,CAAC;YAED;;eAEG;YACH,eAAe,EAAE,CAAC,MAA8B,EAAoC,EAAE;gBACpF,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAA;YACtE,CAAC;SACF,CAAA;QAED;;WAEG;QACM,WAAM,GAAG;YAChB;;eAEG;YACH,WAAW,EAAE,GAAoC,EAAE;gBACjD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAA;YAChD,CAAC;YAED;;eAEG;YACH,cAAc,EAAE,CAAC,IAA8B,EAAyC,EAAE;gBACxF,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAA;YACtD,CAAC;YAED;;eAEG;YACH,cAAc,EAAE,CAAC,MAA8B,EAAmC,EAAE;gBAClF,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAA;YACtE,CAAC;SACF,CAAA;QAED;;WAEG;QACM,SAAI,GAAG;YACd;;eAEG;YACH,MAAM,EAAE,GAA8B,EAAE;gBACtC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;YACvC,CAAC;SACF,CAAA;QAED;;WAEG;QACM,WAAM,GAAG;YAChB;;eAEG;YACH,GAAG,EAAE,CAAC,MAA8B,EAAiC,EAAE;gBACrE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAA;YACvE,CAAC;YAED;;eAEG;YACH,aAAa,EAAE,CAAC,MAA8B,EAAqC,EAAE;gBACnF,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,8CAA8C,EAAE,MAAM,CAAC,CAAC,CAAA;YACpG,CAAC;YAED;;eAEG;YACH,gBAAgB,EAAE,CAAC,MAA8B,EAAE,IAA2B,EAAwC,EAAE;gBACtH,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,6BAA6B,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;YAC1F,CAAC;YAED;;eAEG;YACH,gBAAgB,EAAE,CAAC,MAA8B,EAAE,IAA2B,EAAwC,EAAE;gBACtH,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,8CAA8C,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;YAC5G,CAAC;YAED;;eAEG;YACH,gBAAgB,EAAE,CAAC,MAA8B,EAAwC,EAAE;gBACzF,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,8CAA8C,EAAE,MAAM,CAAC,CAAC,CAAA;YACvG,CAAC;YAED;;eAEG;YACH,YAAY,EAAE,CAAC,MAA8B,EAAE,IAA0B,EAAoC,EAAE;gBAC7G,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,+CAA+C,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;YAC5G,CAAC;YAED;;eAEG;YACH,eAAe,EAAE,CAAC,MAA8B,EAAE,IAA0B,EAAuC,EAAE;gBACnH,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,8DAA8D,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;YAC5H,CAAC;YAED;;eAEG;YACH,eAAe,EAAE,CAAC,MAA8B,EAAuC,EAAE;gBACvF,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,8DAA8D,EAAE,MAAM,CAAC,CAAC,CAAA;YACvH,CAAC;YAED;;eAEG;YACH,WAAW,EAAE,CAAC,MAA8B,EAAE,IAAqB,EAAmC,EAAE;gBACtG,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,yCAAyC,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;YACvG,CAAC;YAED;;eAEG;YACH,qBAAqB,EAAE,CAAC,MAA8B,EAA6C,EAAE;gBACnG,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC,CAAA;YACzF,CAAC;SACF,CAAA;QAGC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,gBAAgB,CAAA;QAClD,0EAA0E;QAC1E,8DAA8D;QAC9D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAC9F,CAAC;IAED,+CAA+C;IAEvC,SAAS,CAAC,QAAgB,EAAE,MAA8B;QAChE,IAAI,MAAM,GAAG,QAAQ,CAAA;QACrB,MAAM,WAAW,GAA2B,EAAE,CAAA;QAE9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,8CAA8C;YAC9C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAA;YAClC,MAAM,gBAAgB,GAAG,MAAM,GAAG,EAAE,CAAA;YAEpC,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACtC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC9E,CAAC;iBAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC7C,0EAA0E;gBAC1E,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBAC9F,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;YACpD,CAAC;iBAAM,CAAC;gBACN,8CAA8C;gBAC9C,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;YAC1B,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;iBAC5C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBACpB,8DAA8D;gBAC9D,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAA;YAC/F,CAAC,CAAC;iBACD,IAAI,CAAC,GAAG,CAAC,CAAA;YACZ,MAAM,GAAG,GAAG,MAAM,IAAI,WAAW,EAAE,CAAA;QACrC,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,MAAc,EACd,IAAY,EACZ,IAAc,EACd,UAAkC,EAAE;QAEpC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAA;QAEpC,MAAM,cAAc,GAA2B;YAC7C,GAAG,OAAO;SACX,CAAA;QAED,IAAI,WAAiC,CAAA;QAErC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,IAAI,YAAY,QAAQ,EAAE,CAAC;gBAC7B,2EAA2E;gBAC3E,uEAAuE;gBACvE,oEAAoE;gBACpE,mEAAmE;gBACnE,4BAA4B;gBAC5B,WAAW,GAAG,IAAI,CAAA;YACpB,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAA;gBACnD,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;gBAElC,qEAAqE;gBACrE,oEAAoE;gBACpE,gEAAgE;gBAChE,iEAAiE;gBACjE,MAAM,WAAW,GAAG,MAAM,uBAAuB,CAAC,WAAW,CAAC,CAAA;gBAC9D,IAAI,WAAW,EAAE,CAAC;oBAChB,cAAc,CAAC,sBAAsB,CAAC,GAAG,WAAW,CAAA;gBACtD,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAgB;YACxB,MAAM;YACN,OAAO,EAAE,cAAc;SACxB,CAAA;QAED,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAA;QACzB,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC9C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAErC,sEAAsE;QACtE,OAAO,OAAY,CAAA;IACrB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAA0B;IACxD,OAAO,IAAI,eAAe,CAAC,OAAO,CAAC,CAAA;AACrC,CAAC"}
|
package/dist/api/content.d.ts
CHANGED
|
@@ -99,7 +99,7 @@ export declare const CONTENT_ROUTES: {
|
|
|
99
99
|
entryType?: string | undefined;
|
|
100
100
|
}>, z.ZodObject<{
|
|
101
101
|
format: z.ZodEnum<["json", "md", "mdx", "yaml"]>;
|
|
102
|
-
data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown
|
|
102
|
+
data: z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnknown>, Record<string, unknown>, Record<string, unknown>>>;
|
|
103
103
|
body: z.ZodOptional<z.ZodString>;
|
|
104
104
|
expectedVersion: z.ZodOptional<z.ZodNumber>;
|
|
105
105
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -134,7 +134,7 @@ export declare const CONTENT_ROUTES: {
|
|
|
134
134
|
};
|
|
135
135
|
entryType?: string | undefined;
|
|
136
136
|
}>, z.ZodObject<{
|
|
137
|
-
data: z.ZodRecord<z.ZodString, z.ZodUnknown
|
|
137
|
+
data: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnknown>, Record<string, unknown>, Record<string, unknown>>;
|
|
138
138
|
}, "strip", z.ZodTypeAny, {
|
|
139
139
|
data: Record<string, unknown>;
|
|
140
140
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/api/content.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAA0B,WAAW,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/api/content.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAA0B,WAAW,EAAE,MAAM,SAAS,CAAA;AAQlE,OAAO,KAAK,EAAgC,oBAAoB,EAAkB,MAAM,WAAW,CAAA;AAWnG,OAAO,KAAK,EAAE,IAAI,EAAgB,MAAM,UAAU,CAAA;AAclD,gDAAgD;AAChD,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,yFAAyF;IACzF,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAC,CAAA;AAEF,iDAAiD;AACjD,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,mGAAmG;IACnG,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iBAAiB,CAAC,EAAE,KAAK,CAAC;QACxB,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,MAAM,CAAA;QACjB,EAAE,EAAE,MAAM,CAAA;QACV,OAAO,EAAE,MAAM,CAAA;KAChB,CAAC,CAAA;IACF,mFAAmF;IACnF,kBAAkB,CAAC,EAAE,oBAAoB,EAAE,CAAA;CAC5C,CAAC,CAAA;AAEF,6CAA6C;AAC7C,MAAM,MAAM,2BAA2B,GAAG,WAAW,CAAC;IACpD,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,MAAM,CAAA;QACjB,EAAE,EAAE,MAAM,CAAA;QACV,KAAK,EAAE,MAAM,CAAA;KACd,CAAC,CAAA;CACH,CAAC,CAAA;AAEF,gDAAgD;AAChD,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAA;CAChB,CAAC,CAAA;AAEF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAA;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,wHAAwH;IACxH,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,wEAAwE;AACxE,YAAY,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAwkBnE;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKjB,CAAA"}
|
package/dist/api/content.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { ContentStore, ContentStoreError, ContentConflictError, } from '../content-store.js';
|
|
2
|
+
import { ContentStore, ContentStoreError, ContentConflictError, getDefaultEntryType, } from '../content-store.js';
|
|
3
3
|
import { defineEndpoint } from './route-builder.js';
|
|
4
4
|
import { ReferenceValidator } from '../validation/reference-validator.js';
|
|
5
|
+
import { mergeBodyIntoData, normalizeReferenceValues, validateEntryData, } from '../validation/entry-validator.js';
|
|
5
6
|
import { validateEntryLinks } from '../validation/entry-link-validator.js';
|
|
6
7
|
import { branchNameSchema, logicalPathSchema, slugSchema } from './validators.js';
|
|
7
|
-
import { getErrorMessage, isNotFoundError } from '../utils/error.js';
|
|
8
|
+
import { getErrorMessage, isNotFoundError, sanitizeErrorMessage } from '../utils/error.js';
|
|
8
9
|
import { isDataOnlyFormat } from '../utils/format.js';
|
|
9
10
|
/**
|
|
10
11
|
* Parse an API path into logical path segments, prepending the content root if needed.
|
|
@@ -26,10 +27,26 @@ const writeContentParamsSchema = z.object({
|
|
|
26
27
|
path: logicalPathSchema,
|
|
27
28
|
entryType: z.string().optional(), // Optional entry type name for collections with multiple entry types
|
|
28
29
|
});
|
|
30
|
+
/**
|
|
31
|
+
* Bounds on write/validate payload size (API-M1): content body text and
|
|
32
|
+
* structured field data are otherwise unbounded, letting any authenticated
|
|
33
|
+
* caller force arbitrarily large writes/validation work. These caps are
|
|
34
|
+
* generous for real content (a long MDX article, a large field-data object)
|
|
35
|
+
* while keeping worst-case request size bounded.
|
|
36
|
+
*/
|
|
37
|
+
const MAX_CONTENT_BODY_CHARS = 2_000_000; // ~2MB of markdown/mdx body text
|
|
38
|
+
const MAX_CONTENT_DATA_BYTES = 2_000_000; // ~2MB of structured field data (serialized)
|
|
39
|
+
const boundedContentDataSchema = z
|
|
40
|
+
.record(z.unknown())
|
|
41
|
+
// TextEncoder measures actual UTF-8 bytes; String#length counts UTF-16 code
|
|
42
|
+
// units and undercounts multi-byte content by up to 3x.
|
|
43
|
+
.refine((data) => new TextEncoder().encode(JSON.stringify(data)).length <= MAX_CONTENT_DATA_BYTES, {
|
|
44
|
+
message: `data payload exceeds maximum size of ${MAX_CONTENT_DATA_BYTES} bytes`,
|
|
45
|
+
});
|
|
29
46
|
const writeContentBodySchema = z.object({
|
|
30
47
|
format: z.enum(['json', 'md', 'mdx', 'yaml']),
|
|
31
|
-
data:
|
|
32
|
-
body: z.string().optional(),
|
|
48
|
+
data: boundedContentDataSchema.optional(),
|
|
49
|
+
body: z.string().max(MAX_CONTENT_BODY_CHARS).optional(),
|
|
33
50
|
expectedVersion: z.number().optional(),
|
|
34
51
|
});
|
|
35
52
|
const validateReferencesParamsSchema = z.object({
|
|
@@ -38,7 +55,7 @@ const validateReferencesParamsSchema = z.object({
|
|
|
38
55
|
entryType: z.string().optional(),
|
|
39
56
|
});
|
|
40
57
|
const validateReferencesBodySchema = z.object({
|
|
41
|
-
data:
|
|
58
|
+
data: boundedContentDataSchema,
|
|
42
59
|
});
|
|
43
60
|
const renameEntryParamsSchema = z.object({
|
|
44
61
|
branch: branchNameSchema,
|
|
@@ -67,7 +84,7 @@ const readContentHandler = async (gc, ctx, req, params) => {
|
|
|
67
84
|
}
|
|
68
85
|
catch (err) {
|
|
69
86
|
const message = err instanceof ContentStoreError ? err.message : 'Invalid content request';
|
|
70
|
-
return { ok: false, status: 400, error: message };
|
|
87
|
+
return { ok: false, status: 400, error: sanitizeErrorMessage(message) };
|
|
71
88
|
}
|
|
72
89
|
const access = await ctx.services.checkContentAccess(branchContext, branchContext.branchRoot, relativePath, req.user, 'read');
|
|
73
90
|
if (!access.allowed) {
|
|
@@ -104,12 +121,133 @@ const writeContentHandler = async (gc, ctx, req, params, body) => {
|
|
|
104
121
|
}
|
|
105
122
|
catch (err) {
|
|
106
123
|
const message = err instanceof ContentStoreError ? err.message : 'Invalid content request';
|
|
107
|
-
return { ok: false, status: 400, error: message };
|
|
124
|
+
return { ok: false, status: 400, error: sanitizeErrorMessage(message) };
|
|
108
125
|
}
|
|
109
126
|
const access = await ctx.services.checkContentAccess(branchContext, branchContext.branchRoot, relativePath, req.user, 'edit');
|
|
110
127
|
if (!access.allowed) {
|
|
111
128
|
return { ok: false, status: 403, error: 'Forbidden' };
|
|
112
129
|
}
|
|
130
|
+
// ------------------------------------------------------------------
|
|
131
|
+
// Authoritative schema validation at the write boundary (COMPOUND-2).
|
|
132
|
+
//
|
|
133
|
+
// The server rejects structurally invalid entry data even when the client
|
|
134
|
+
// is bypassed: required fields, type/format correctness, non-empty required
|
|
135
|
+
// references (pure rules shared with the editor via validation/entry-validator),
|
|
136
|
+
// plus reference EXISTENCE (server-only: reads the content ID index) and
|
|
137
|
+
// EntryTypeConfig.maxItems at the create boundary (SCH-H3).
|
|
138
|
+
//
|
|
139
|
+
// One narrow carve-out: the editor's create flow scaffolds a brand-new entry
|
|
140
|
+
// by writing entirely empty data (`{}` and an empty body) and only then lets
|
|
141
|
+
// the user fill the form — so a create scaffold (target file does not exist
|
|
142
|
+
// yet AND the payload is completely empty) skips field validation. Any write
|
|
143
|
+
// carrying actual data, and every write to an existing entry, is validated.
|
|
144
|
+
// ------------------------------------------------------------------
|
|
145
|
+
// Resolve the entry-type config the store will write with (mirrors ContentStore.write)
|
|
146
|
+
let entryTypeConfig;
|
|
147
|
+
let fields = [];
|
|
148
|
+
let maxItems;
|
|
149
|
+
let entryTypeName;
|
|
150
|
+
if (schemaItem.type === 'entry-type') {
|
|
151
|
+
fields = schemaItem.schema;
|
|
152
|
+
maxItems = schemaItem.maxItems;
|
|
153
|
+
entryTypeName = schemaItem.name;
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
// An entryType param naming an unknown type is always a bad request,
|
|
157
|
+
// regardless of whether the target entry exists yet.
|
|
158
|
+
if (params.entryType) {
|
|
159
|
+
const requestedConfig = schemaItem.entries?.find((e) => e.name === params.entryType);
|
|
160
|
+
if (!requestedConfig) {
|
|
161
|
+
return {
|
|
162
|
+
ok: false,
|
|
163
|
+
status: 400,
|
|
164
|
+
error: `Entry type '${params.entryType}' not found`,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
// For an existing entry, validate against its REAL on-disk type. Entry
|
|
169
|
+
// filenames embed the type (`{type}.{slug}.{id}.{ext}`) and
|
|
170
|
+
// ContentStore.write() preserves it regardless of what's requested (see
|
|
171
|
+
// buildPaths in content-store.ts) — so resolving from params.entryType
|
|
172
|
+
// or the default here instead would let a direct API write validate a
|
|
173
|
+
// payload against the WRONG entry type's schema (post-review M2). The
|
|
174
|
+
// editor always sends the entry's real entryType, so this only changes
|
|
175
|
+
// behavior for non-editor callers.
|
|
176
|
+
const existingEntryType = await store.getExistingEntryType(schemaItem.logicalPath, slug);
|
|
177
|
+
if (existingEntryType) {
|
|
178
|
+
if (params.entryType && params.entryType !== existingEntryType) {
|
|
179
|
+
return {
|
|
180
|
+
ok: false,
|
|
181
|
+
status: 409,
|
|
182
|
+
error: `Entry type conflict: entry already exists with type '${existingEntryType}', but request specified '${params.entryType}'`,
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
entryTypeConfig = schemaItem.entries?.find((e) => e.name === existingEntryType);
|
|
186
|
+
entryTypeName = existingEntryType;
|
|
187
|
+
}
|
|
188
|
+
else if (params.entryType) {
|
|
189
|
+
entryTypeConfig = schemaItem.entries?.find((e) => e.name === params.entryType);
|
|
190
|
+
entryTypeName = entryTypeConfig?.name;
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
entryTypeConfig = getDefaultEntryType(schemaItem.entries);
|
|
194
|
+
entryTypeName = entryTypeConfig?.name;
|
|
195
|
+
}
|
|
196
|
+
fields = entryTypeConfig?.schema ?? [];
|
|
197
|
+
maxItems = entryTypeConfig?.maxItems;
|
|
198
|
+
}
|
|
199
|
+
const data = body.data ?? {};
|
|
200
|
+
const isDataOnly = isDataOnlyFormat(body.format);
|
|
201
|
+
try {
|
|
202
|
+
const exists = await store.documentExists(schemaItem.logicalPath, slug);
|
|
203
|
+
// SCH-H3: enforce maxItems server-side at the create boundary. The editor
|
|
204
|
+
// only gates its "Add" button; a direct API create could otherwise exceed
|
|
205
|
+
// the cap. Best-effort under concurrency: the count-then-create below is
|
|
206
|
+
// not atomic, so two simultaneous creates can still race past the cap —
|
|
207
|
+
// the guard's real target is the single-request direct-API bypass.
|
|
208
|
+
if (!exists && maxItems !== undefined && entryTypeName) {
|
|
209
|
+
const collectionPath = schemaItem.type === 'entry-type' ? schemaItem.parentPath : schemaItem.logicalPath;
|
|
210
|
+
const count = await store.countEntriesOfType(collectionPath, entryTypeName);
|
|
211
|
+
if (count >= maxItems) {
|
|
212
|
+
return {
|
|
213
|
+
ok: false,
|
|
214
|
+
status: 422,
|
|
215
|
+
error: `Cannot create entry: type "${entryTypeName}" allows at most ${maxItems} ${maxItems === 1 ? 'entry' : 'entries'}`,
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
const isCreateScaffold = !exists && Object.keys(data).length === 0 && (isDataOnly || !body.body?.trim());
|
|
220
|
+
if (!isCreateScaffold) {
|
|
221
|
+
// Pure rules (shared with the editor). For md/mdx the body is validated
|
|
222
|
+
// as the schema's isBody field.
|
|
223
|
+
const dataForValidation = isDataOnly ? data : mergeBodyIntoData(fields, data, body.body ?? '');
|
|
224
|
+
const fieldErrors = validateEntryData(fields, dataForValidation);
|
|
225
|
+
// Reference existence (server-only: reads the content ID index). Editor
|
|
226
|
+
// payloads may still carry resolved `{ id, ... }` objects from a prior
|
|
227
|
+
// read, so collapse them to id strings before checking.
|
|
228
|
+
if (fieldErrors.length === 0) {
|
|
229
|
+
const idIndex = await store.idIndex();
|
|
230
|
+
const refValidator = new ReferenceValidator(idIndex, fields);
|
|
231
|
+
const refResult = await refValidator.validate(normalizeReferenceValues(fields, data));
|
|
232
|
+
fieldErrors.push(...refResult.errors.map((e) => ({ fieldPath: e.fieldPath, message: e.error })));
|
|
233
|
+
}
|
|
234
|
+
if (fieldErrors.length > 0) {
|
|
235
|
+
return {
|
|
236
|
+
ok: false,
|
|
237
|
+
status: 422,
|
|
238
|
+
// '; '-joined: the editor shows this in a notification, which collapses newlines
|
|
239
|
+
error: fieldErrors.map((e) => `${e.fieldPath}: ${e.message}`).join('; '),
|
|
240
|
+
fieldErrors,
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
catch (err) {
|
|
246
|
+
if (err instanceof ContentStoreError) {
|
|
247
|
+
return { ok: false, status: 400, error: sanitizeErrorMessage(err.message) };
|
|
248
|
+
}
|
|
249
|
+
throw err;
|
|
250
|
+
}
|
|
113
251
|
// Adopter save-time validation, run BEFORE the file is written: 'error' issues
|
|
114
252
|
// refuse the save (e.g. a body that would break the site's production build),
|
|
115
253
|
// 'warning' issues are returned alongside the successful write.
|
|
@@ -128,7 +266,11 @@ const writeContentHandler = async (gc, ctx, req, params, body) => {
|
|
|
128
266
|
});
|
|
129
267
|
}
|
|
130
268
|
catch (err) {
|
|
131
|
-
return {
|
|
269
|
+
return {
|
|
270
|
+
ok: false,
|
|
271
|
+
status: 500,
|
|
272
|
+
error: `validateEntry hook failed: ${sanitizeErrorMessage(getErrorMessage(err))}`,
|
|
273
|
+
};
|
|
132
274
|
}
|
|
133
275
|
const errors = issues.filter((issue) => issue.level === 'error');
|
|
134
276
|
if (errors.length > 0) {
|
|
@@ -158,20 +300,12 @@ const writeContentHandler = async (gc, ctx, req, params, body) => {
|
|
|
158
300
|
body: body.body ?? '',
|
|
159
301
|
expectedVersion: body.expectedVersion,
|
|
160
302
|
};
|
|
161
|
-
|
|
162
|
-
//
|
|
163
|
-
//
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
fields = schemaItem.schema;
|
|
168
|
-
}
|
|
169
|
-
else if (params.entryType) {
|
|
170
|
-
fields = schemaItem.entries?.find((e) => e.name === params.entryType)?.schema ?? [];
|
|
171
|
-
}
|
|
172
|
-
else if (schemaItem.entries?.length === 1) {
|
|
173
|
-
fields = schemaItem.entries[0].schema ?? [];
|
|
174
|
-
}
|
|
303
|
+
// Pass the resolved entryTypeName (not the raw, possibly-omitted
|
|
304
|
+
// params.entryType) so the store's own format check agrees with the type
|
|
305
|
+
// we just validated against.
|
|
306
|
+
const result = await store.write(schemaItem.logicalPath, slug, writeInput, entryTypeName);
|
|
307
|
+
// Validate entry links in body content (warnings only, don't block save).
|
|
308
|
+
// Reuses the entry-type fields resolved above for schema validation.
|
|
175
309
|
const idIndex = await store.idIndex();
|
|
176
310
|
const linkValidation = validateEntryLinks(body.data ?? {}, fields, idIndex, body.body);
|
|
177
311
|
const entryLinkWarnings = linkValidation.warnings.length > 0 ? linkValidation.warnings : undefined;
|
|
@@ -186,7 +320,7 @@ const writeContentHandler = async (gc, ctx, req, params, body) => {
|
|
|
186
320
|
};
|
|
187
321
|
}
|
|
188
322
|
const message = err instanceof ContentStoreError ? err.message : 'Write failed';
|
|
189
|
-
return { ok: false, status: 400, error: message };
|
|
323
|
+
return { ok: false, status: 400, error: sanitizeErrorMessage(message) };
|
|
190
324
|
}
|
|
191
325
|
};
|
|
192
326
|
const validateReferencesHandler = async (gc, ctx, req, params, body) => {
|
|
@@ -207,7 +341,7 @@ const validateReferencesHandler = async (gc, ctx, req, params, body) => {
|
|
|
207
341
|
}
|
|
208
342
|
catch (err) {
|
|
209
343
|
const message = err instanceof ContentStoreError ? err.message : 'Invalid content request';
|
|
210
|
-
return { ok: false, status: 400, error: message };
|
|
344
|
+
return { ok: false, status: 400, error: sanitizeErrorMessage(message) };
|
|
211
345
|
}
|
|
212
346
|
const access = await ctx.services.checkContentAccess(branchContext, branchContext.branchRoot, relativePath, req.user, 'read');
|
|
213
347
|
if (!access.allowed) {
|
|
@@ -276,7 +410,7 @@ const renameEntryHandler = async (gc, ctx, req, params, body) => {
|
|
|
276
410
|
}
|
|
277
411
|
catch (err) {
|
|
278
412
|
const message = err instanceof ContentStoreError ? err.message : 'Invalid content request';
|
|
279
|
-
return { ok: false, status: 400, error: message };
|
|
413
|
+
return { ok: false, status: 400, error: sanitizeErrorMessage(message) };
|
|
280
414
|
}
|
|
281
415
|
// Check edit permission on current path
|
|
282
416
|
const access = await ctx.services.checkContentAccess(branchContext, branchContext.branchRoot, relativePath, req.user, 'edit');
|
|
@@ -290,7 +424,7 @@ const renameEntryHandler = async (gc, ctx, req, params, body) => {
|
|
|
290
424
|
}
|
|
291
425
|
catch (err) {
|
|
292
426
|
const message = err instanceof ContentStoreError ? err.message : 'Rename failed';
|
|
293
|
-
return { ok: false, status: 400, error: message };
|
|
427
|
+
return { ok: false, status: 400, error: sanitizeErrorMessage(message) };
|
|
294
428
|
}
|
|
295
429
|
};
|
|
296
430
|
// ============================================================================
|
package/dist/api/content.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/api/content.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/api/content.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,GAEpB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,GAElB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAG9E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAElD;;;GAGG;AACH,SAAS,YAAY,CAAC,OAAe,EAAE,WAAmB;IACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACnD,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAA;AAC5E,CAAC;AA+DD,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAE/E,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,gBAAgB;IACxB,IAAI,EAAE,iBAAiB;CACxB,CAAC,CAAA;AAEF,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,MAAM,EAAE,gBAAgB;IACxB,IAAI,EAAE,iBAAiB;IACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,qEAAqE;CACxG,CAAC,CAAA;AAEF;;;;;;GAMG;AACH,MAAM,sBAAsB,GAAG,SAAS,CAAA,CAAC,iCAAiC;AAC1E,MAAM,sBAAsB,GAAG,SAAS,CAAA,CAAC,6CAA6C;AAEtF,MAAM,wBAAwB,GAAG,CAAC;KAC/B,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACpB,4EAA4E;IAC5E,wDAAwD;KACvD,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,sBAAsB,EACzF;IACE,OAAO,EAAE,wCAAwC,sBAAsB,QAAQ;CAChF,CACF,CAAA;AAEH,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAI,EAAE,wBAAwB,CAAC,QAAQ,EAAE;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE;IACvD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAA;AAEF,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,MAAM,EAAE,gBAAgB;IACxB,IAAI,EAAE,iBAAiB;IACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAA;AAEF,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,wBAAwB;CAC/B,CAAC,CAAA;AAEF,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,gBAAgB;IACxB,IAAI,EAAE,iBAAiB;CACxB,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,UAAU;CACpB,CAAC,CAAA;AAEF,MAAM,kBAAkB,GAAG,KAAK,EAC9B,EAA8C,EAC9C,GAAe,EACf,GAAe,EACf,MAA+C,EACjB,EAAE;IAChC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,CAAA;IAC5B,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAA;IAC3C,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IAEpE,iEAAiE;IACjE,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,IAAI,SAAS,CAAA;IAChE,MAAM,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAElE,8BAA8B;IAC9B,IAAI,UAA0B,CAAA;IAC9B,IAAI,IAAU,CAAA;IACd,IAAI,YAA0B,CAAA;IAC9B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAA;QACvD,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;QAChC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;QACpB,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,mBAAmB,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;QAChF,YAAY,GAAG,UAAU,CAAC,YAAY,CAAA;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAA;QAC1F,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAA;IACzE,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAClD,aAAa,EACb,aAAa,CAAC,UAAU,EACxB,YAAY,EACZ,GAAG,CAAC,IAAI,EACR,MAAM,CACP,CAAA;IACD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAA;IACvD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;QAC1D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;IAC7C,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAA;QAC/D,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,KAAK,EAC/B,EAA8C,EAC9C,GAAe,EACf,GAAe,EACf,MAAgD,EAChD,IAA4C,EACb,EAAE;IACjC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,CAAA;IAC5B,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAA;IAC3C,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IAEpE,kFAAkF;IAClF,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,IAAI,SAAS,CAAA;IAChE,MAAM,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAElE,8BAA8B;IAC9B,IAAI,UAA0B,CAAA;IAC9B,IAAI,IAAU,CAAA;IACd,IAAI,YAA0B,CAAA;IAC9B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAA;QACvD,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;QAChC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;QACpB,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,mBAAmB,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;QAChF,YAAY,GAAG,UAAU,CAAC,YAAY,CAAA;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAA;QAC1F,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAA;IACzE,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAClD,aAAa,EACb,aAAa,CAAC,UAAU,EACxB,YAAY,EACZ,GAAG,CAAC,IAAI,EACR,MAAM,CACP,CAAA;IACD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAA;IACvD,CAAC;IAED,qEAAqE;IACrE,sEAAsE;IACtE,EAAE;IACF,0EAA0E;IAC1E,4EAA4E;IAC5E,iFAAiF;IACjF,yEAAyE;IACzE,4DAA4D;IAC5D,EAAE;IACF,6EAA6E;IAC7E,6EAA6E;IAC7E,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,qEAAqE;IAErE,uFAAuF;IACvF,IAAI,eAA4C,CAAA;IAChD,IAAI,MAAM,GAAgB,EAAE,CAAA;IAC5B,IAAI,QAA4B,CAAA;IAChC,IAAI,aAAiC,CAAA;IACrC,IAAI,UAAU,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACrC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAC1B,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAA;QAC9B,aAAa,GAAG,UAAU,CAAC,IAAI,CAAA;IACjC,CAAC;SAAM,CAAC;QACN,qEAAqE;QACrE,qDAAqD;QACrD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,CAAC,CAAA;YACpF,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,eAAe,MAAM,CAAC,SAAS,aAAa;iBACpD,CAAA;YACH,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,4DAA4D;QAC5D,wEAAwE;QACxE,uEAAuE;QACvE,sEAAsE;QACtE,sEAAsE;QACtE,uEAAuE;QACvE,mCAAmC;QACnC,MAAM,iBAAiB,GAAG,MAAM,KAAK,CAAC,oBAAoB,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;QACxF,IAAI,iBAAiB,EAAE,CAAC;YACtB,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,iBAAiB,EAAE,CAAC;gBAC/D,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,wDAAwD,iBAAiB,6BAA6B,MAAM,CAAC,SAAS,GAAG;iBACjI,CAAA;YACH,CAAC;YACD,eAAe,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAA;YAC/E,aAAa,GAAG,iBAAiB,CAAA;QACnC,CAAC;aAAM,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YAC5B,eAAe,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,CAAC,CAAA;YAC9E,aAAa,GAAG,eAAe,EAAE,IAAI,CAAA;QACvC,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;YACzD,aAAa,GAAG,eAAe,EAAE,IAAI,CAAA;QACvC,CAAC;QACD,MAAM,GAAG,eAAe,EAAE,MAAM,IAAI,EAAE,CAAA;QACtC,QAAQ,GAAG,eAAe,EAAE,QAAQ,CAAA;IACtC,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;IAC5B,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAEhD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;QAEvE,0EAA0E;QAC1E,0EAA0E;QAC1E,yEAAyE;QACzE,wEAAwE;QACxE,mEAAmE;QACnE,IAAI,CAAC,MAAM,IAAI,QAAQ,KAAK,SAAS,IAAI,aAAa,EAAE,CAAC;YACvD,MAAM,cAAc,GAClB,UAAU,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAA;YACnF,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;YAC3E,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;gBACtB,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,8BAA8B,aAAa,oBAAoB,QAAQ,IAAI,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE;iBACzH,CAAA;YACH,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GACpB,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QAEjF,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,wEAAwE;YACxE,gCAAgC;YAChC,MAAM,iBAAiB,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;YAC9F,MAAM,WAAW,GAAsB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;YAEnF,wEAAwE;YACxE,uEAAuE;YACvE,wDAAwD;YACxD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAA;gBACrC,MAAM,YAAY,GAAG,IAAI,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;gBAC5D,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;gBACrF,WAAW,CAAC,IAAI,CACd,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAC/E,CAAA;YACH,CAAC;YAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,GAAG;oBACX,iFAAiF;oBACjF,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBACxE,WAAW;iBACZ,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;YACrC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAA;QAC7E,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;IAED,+EAA+E;IAC/E,8EAA8E;IAC9E,gEAAgE;IAChE,IAAI,kBAAsD,CAAA;IAC1D,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAA;IACvD,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,MAA8B,CAAA;QAClC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,aAAa,CAAC;gBAC3B,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC;gBACxC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;gBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,8BAA8B,oBAAoB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE;aAClF,CAAA;QACH,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,CAAA;QAChE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,GAAG;gBACX,iFAAiF;gBACjF,KAAK,EAAE,MAAM;qBACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACb,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CACzE;qBACA,IAAI,CAAC,IAAI,CAAC;aACd,CAAA;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAA;QACpE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,kBAAkB,GAAG,QAAQ,CAAA;IACxD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,UAAU,GAAe,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;YAC1D,CAAC,CAAC;gBACE,MAAM,EAAE,IAAI,CAAC,MAAyB;gBACtC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;gBACrB,eAAe,EAAE,IAAI,CAAC,eAAe;aACtC;YACH,CAAC,CAAC;gBACE,MAAM,EAAE,IAAI,CAAC,MAAsB;gBACnC,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;gBACrB,eAAe,EAAE,IAAI,CAAC,eAAe;aACtC,CAAA;QAEL,iEAAiE;QACjE,yEAAyE;QACzE,6BAA6B;QAC7B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,CAAA;QAEzF,0EAA0E;QAC1E,qEAAqE;QACrE,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAA;QACrC,MAAM,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACtF,MAAM,iBAAiB,GACrB,cAAc,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;QAE1E,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,EAAE,CAAA;IAC9F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,oBAAoB,EAAE,CAAC;YACxC,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,wDAAwD;aAChE,CAAA;QACH,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,YAAY,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAA;QAC/E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAA;IACzE,CAAC;AACH,CAAC,CAAA;AAED,MAAM,yBAAyB,GAAG,KAAK,EACrC,EAA8C,EAC9C,GAAe,EACf,GAAe,EACf,MAAsD,EACtD,IAAkD,EACZ,EAAE;IACxC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,CAAA;IAC5B,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAA;IAC3C,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IAEpE,oDAAoD;IACpD,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,IAAI,SAAS,CAAA;IAChE,MAAM,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAElE,IAAI,UAA0B,CAAA;IAC9B,IAAI,YAA0B,CAAA;IAC9B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAA;QACvD,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;QAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;QAC1B,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,mBAAmB,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;QAChF,YAAY,GAAG,UAAU,CAAC,YAAY,CAAA;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAA;QAC1F,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAA;IACzE,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAClD,aAAa,EACb,aAAa,CAAC,UAAU,EACxB,YAAY,EACZ,GAAG,CAAC,IAAI,EACR,MAAM,CACP,CAAA;IACD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAA;IACvD,CAAC;IAED,+CAA+C;IAC/C,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAA;IAErC,wCAAwC;IACxC,IAAI,MAAM,GAAgB,EAAE,CAAA;IAC5B,IAAI,UAAU,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACrC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;IAC5B,CAAC;SAAM,CAAC;QACN,IAAI,eAA4C,CAAA;QAChD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,eAAe,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,CAAC,CAAA;YAC9E,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,eAAe,MAAM,CAAC,SAAS,aAAa;iBACpD,CAAA;YACH,CAAC;QACH,CAAC;aAAM,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjE,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QACzC,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,oEAAoE;aAC5E,CAAA;QACH,CAAC;QACD,MAAM,GAAG,eAAe,CAAC,MAAM,IAAI,EAAE,CAAA;IACvC,CAAC;IAED,sBAAsB;IACtB,MAAM,SAAS,GAAG,IAAI,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACzD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAElD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;SAC7D;KACF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,KAAK,EAC9B,EAA8C,EAC9C,GAAe,EACf,GAAe,EACf,MAA+C,EAC/C,IAA2C,EACb,EAAE;IAChC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,CAAA;IAC5B,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAA;IAC3C,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IAEpE,sBAAsB;IACtB,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,IAAI,SAAS,CAAA;IAChE,MAAM,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAElE,iCAAiC;IACjC,IAAI,UAA0B,CAAA;IAC9B,IAAI,WAAiB,CAAA;IACrB,IAAI,YAA0B,CAAA;IAC9B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAA;QACvD,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;QAChC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAA;QAC3B,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,mBAAmB,CAAC,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;QACvF,YAAY,GAAG,UAAU,CAAC,YAAY,CAAA;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAA;QAC1F,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAA;IACzE,CAAC;IAED,wCAAwC;IACxC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAClD,aAAa,EACb,aAAa,CAAC,UAAU,EACxB,YAAY,EACZ,GAAG,CAAC,IAAI,EACR,MAAM,CACP,CAAA;IACD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAA;IACvD,CAAC;IAED,mBAAmB;IACnB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACzF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,CAAA;IACrE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAA;QAChF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAA;IACzE,CAAC;AACH,CAAC,CAAA;AAED,+EAA+E;AAC/E,wCAAwC;AACxC,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,WAAW,GAAG,cAAc,CAAC;IACjC,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,0BAA0B;IAChC,MAAM,EAAE,uBAAuB;IAC/B,YAAY,EAAE,qBAAqB;IACnC,QAAQ,EAAE,EAAyB;IACnC,eAAe,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;IAC7C,MAAM,EAAE,CAAC,QAAQ,CAAU;IAC3B,OAAO,EAAE,kBAAkB;CAC5B,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,YAAY,GAAG,cAAc,CAAC;IAClC,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,0BAA0B;IAChC,MAAM,EAAE,wBAAwB;IAChC,IAAI,EAAE,sBAAsB;IAC5B,QAAQ,EAAE,kBAAkB;IAC5B,YAAY,EAAE,sBAAsB;IACpC,QAAQ,EAAE,EAA0B;IACpC,eAAe,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;IAC7C,MAAM,EAAE,CAAC,QAAQ,CAAU;IAC3B,OAAO,EAAE,mBAAmB;CAC7B,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,cAAc,CAAC;IACxC,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,oBAAoB;IAC1B,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,sCAAsC;IAC5C,MAAM,EAAE,8BAA8B;IACtC,IAAI,EAAE,4BAA4B;IAClC,QAAQ,EAAE,wBAAwB;IAClC,YAAY,EAAE,6BAA6B;IAC3C,QAAQ,EAAE,EAAiC;IAC3C,eAAe,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;IAChC,MAAM,EAAE,CAAC,QAAQ,CAAU;IAC3B,OAAO,EAAE,yBAAyB;CACnC,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,WAAW,GAAG,cAAc,CAAC;IACjC,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE,OAAO;IACf,IAAI,EAAE,+BAA+B;IACrC,MAAM,EAAE,uBAAuB;IAC/B,IAAI,EAAE,qBAAqB;IAC3B,QAAQ,EAAE,iBAAiB;IAC3B,YAAY,EAAE,qBAAqB;IACnC,QAAQ,EAAE,EAAyB;IACnC,eAAe,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;IACtD,MAAM,EAAE,CAAC,QAAQ,CAAU;IAC3B,OAAO,EAAE,kBAAkB;CAC5B,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,YAAY;IACnB,kBAAkB;IAClB,WAAW;CACH,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../src/api/entries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,aAAa,EAAmC,MAAM,WAAW,CAAA;AAE/E,OAAO,KAAK,EAA0B,WAAW,EAAE,MAAM,SAAS,CAAA;AAMlE,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAahF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAEjF;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,aAAa,CAAA;IACrB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,WAAW,CAAA;IACxB,SAAS,EAAE,SAAS,CAAA;IACpB,IAAI,EAAE,IAAI,CAAA;IACV,cAAc,EAAE,WAAW,CAAA;IAC3B,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,aAAa,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,YAAY,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,WAAW,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,UAAU,EAAE;QACV,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,OAAO,EAAE,OAAO,CAAA;QAChB,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;CACF;AAED,wCAAwC;AACxC,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../src/api/entries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,aAAa,EAAmC,MAAM,WAAW,CAAA;AAE/E,OAAO,KAAK,EAA0B,WAAW,EAAE,MAAM,SAAS,CAAA;AAMlE,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAahF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAEjF;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,aAAa,CAAA;IACrB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,WAAW,CAAA;IACxB,SAAS,EAAE,SAAS,CAAA;IACpB,IAAI,EAAE,IAAI,CAAA;IACV,cAAc,EAAE,WAAW,CAAA;IAC3B,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,aAAa,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,YAAY,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,WAAW,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB,UAAU,EAAE;QACV,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,OAAO,EAAE,OAAO,CAAA;QAChB,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;CACF;AAED,wCAAwC;AACxC,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAA;AA8M9D;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;+BAiBtB,CAAA;AAMF,0CAA0C;AAC1C,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC;IAC5C,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAC,CAAA;AA2IF;;;;GAIG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;mCAWtB,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGf,CAAA"}
|
package/dist/api/entries.js
CHANGED
|
@@ -2,7 +2,7 @@ import { z } from 'zod';
|
|
|
2
2
|
import { ContentStore, ContentStoreError } from '../content-store.js';
|
|
3
3
|
import { defineEndpoint } from './route-builder.js';
|
|
4
4
|
import { normalizeFilesystemPath, parseSlug, parseLogicalPath } from '../paths/index.js';
|
|
5
|
-
import { isNotFoundError } from '../utils/error.js';
|
|
5
|
+
import { isNotFoundError, sanitizeErrorMessage } from '../utils/error.js';
|
|
6
6
|
import { resolveEntryTitle } from '../utils/title-field.js';
|
|
7
7
|
import { branchNameSchema, logicalPathSchema, queryBooleanSchema } from './validators.js';
|
|
8
8
|
import { MAX_ENTRIES_PER_PAGE, DEFAULT_ENTRIES_LIMIT } from './entries-constants.js';
|
|
@@ -107,7 +107,11 @@ const listEntriesHandler = async (gc, ctx, req, params) => {
|
|
|
107
107
|
}
|
|
108
108
|
const limit = Math.min(Math.max(params.limit ?? DEFAULT_ENTRIES_LIMIT, 1), MAX_ENTRIES_PER_PAGE);
|
|
109
109
|
// Offset-based pagination: items may be skipped or duplicated if content changes between pages.
|
|
110
|
-
|
|
110
|
+
// Clamp to >= 0 (API-L1) - a negative cursor would otherwise flow straight into
|
|
111
|
+
// Array.slice(offset, offset + limit), which interprets negative indices as
|
|
112
|
+
// "from the end", returning unexpected/out-of-order results instead of erroring.
|
|
113
|
+
const parsedCursor = Number(params.cursor);
|
|
114
|
+
const offset = Number.isFinite(parsedCursor) ? Math.max(0, parsedCursor) : 0;
|
|
111
115
|
const search = params.q?.toLowerCase();
|
|
112
116
|
const recursive = params.recursive ?? false;
|
|
113
117
|
let entries = [];
|
|
@@ -142,7 +146,7 @@ const listEntriesHandler = async (gc, ctx, req, params) => {
|
|
|
142
146
|
}
|
|
143
147
|
catch (err) {
|
|
144
148
|
if (err instanceof ContentStoreError) {
|
|
145
|
-
return { ok: false, status: 400, error: err.message };
|
|
149
|
+
return { ok: false, status: 400, error: sanitizeErrorMessage(err.message) };
|
|
146
150
|
}
|
|
147
151
|
throw err;
|
|
148
152
|
}
|
|
@@ -293,7 +297,7 @@ const deleteEntryHandler = async (gc, ctx, req, params) => {
|
|
|
293
297
|
return {
|
|
294
298
|
ok: false,
|
|
295
299
|
status: 500,
|
|
296
|
-
error: err instanceof Error ? err.message : 'Failed to delete entry',
|
|
300
|
+
error: sanitizeErrorMessage(err instanceof Error ? err.message : 'Failed to delete entry'),
|
|
297
301
|
};
|
|
298
302
|
}
|
|
299
303
|
};
|