@se-studio/contentful-cms 0.0.0-next16-20260822103555
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/CHANGELOG.md +1117 -0
- package/HOSTED.md +152 -0
- package/INSTALL.md +29 -0
- package/README.md +674 -0
- package/dist/audit/asset-usage.d.ts +29 -0
- package/dist/audit/asset-usage.d.ts.map +1 -0
- package/dist/audit/asset-usage.js +99 -0
- package/dist/audit/asset-usage.js.map +1 -0
- package/dist/audit/media-review-rules.d.ts +33 -0
- package/dist/audit/media-review-rules.d.ts.map +1 -0
- package/dist/audit/media-review-rules.js +120 -0
- package/dist/audit/media-review-rules.js.map +1 -0
- package/dist/audit/media-review.d.ts +45 -0
- package/dist/audit/media-review.d.ts.map +1 -0
- package/dist/audit/media-review.js +69 -0
- package/dist/audit/media-review.js.map +1 -0
- package/dist/bin/cms-edit.d.ts +4 -0
- package/dist/bin/cms-edit.d.ts.map +1 -0
- package/dist/bin/cms-edit.js +46 -0
- package/dist/bin/cms-edit.js.map +1 -0
- package/dist/cli/program.d.ts +9 -0
- package/dist/cli/program.d.ts.map +1 -0
- package/dist/cli/program.js +152 -0
- package/dist/cli/program.js.map +1 -0
- package/dist/cli/read-json-input.d.ts +27 -0
- package/dist/cli/read-json-input.d.ts.map +1 -0
- package/dist/cli/read-json-input.js +65 -0
- package/dist/cli/read-json-input.js.map +1 -0
- package/dist/cli/runner.d.ts +15 -0
- package/dist/cli/runner.d.ts.map +1 -0
- package/dist/cli/runner.js +113 -0
- package/dist/cli/runner.js.map +1 -0
- package/dist/commands/add-initial-fields.d.ts +27 -0
- package/dist/commands/add-initial-fields.d.ts.map +1 -0
- package/dist/commands/add-initial-fields.js +42 -0
- package/dist/commands/add-initial-fields.js.map +1 -0
- package/dist/commands/add-target-field.d.ts +15 -0
- package/dist/commands/add-target-field.d.ts.map +1 -0
- package/dist/commands/add-target-field.js +48 -0
- package/dist/commands/add-target-field.js.map +1 -0
- package/dist/commands/add.d.ts +4 -0
- package/dist/commands/add.d.ts.map +1 -0
- package/dist/commands/add.js +291 -0
- package/dist/commands/add.js.map +1 -0
- package/dist/commands/article-tags-from-json.d.ts +4 -0
- package/dist/commands/article-tags-from-json.d.ts.map +1 -0
- package/dist/commands/article-tags-from-json.js +55 -0
- package/dist/commands/article-tags-from-json.js.map +1 -0
- package/dist/commands/asset.d.ts +4 -0
- package/dist/commands/asset.d.ts.map +1 -0
- package/dist/commands/asset.js +685 -0
- package/dist/commands/asset.js.map +1 -0
- package/dist/commands/batch-assignments.d.ts +16 -0
- package/dist/commands/batch-assignments.d.ts.map +1 -0
- package/dist/commands/batch-assignments.js +61 -0
- package/dist/commands/batch-assignments.js.map +1 -0
- package/dist/commands/batch.d.ts +5 -0
- package/dist/commands/batch.d.ts.map +1 -0
- package/dist/commands/batch.js +272 -0
- package/dist/commands/batch.js.map +1 -0
- package/dist/commands/bulk-rtf-replace.d.ts +4 -0
- package/dist/commands/bulk-rtf-replace.d.ts.map +1 -0
- package/dist/commands/bulk-rtf-replace.js +103 -0
- package/dist/commands/bulk-rtf-replace.js.map +1 -0
- package/dist/commands/create-from-json.d.ts +8 -0
- package/dist/commands/create-from-json.d.ts.map +1 -0
- package/dist/commands/create-from-json.js +531 -0
- package/dist/commands/create-from-json.js.map +1 -0
- package/dist/commands/create-person-from-json.d.ts +4 -0
- package/dist/commands/create-person-from-json.d.ts.map +1 -0
- package/dist/commands/create-person-from-json.js +86 -0
- package/dist/commands/create-person-from-json.js.map +1 -0
- package/dist/commands/create-person.d.ts +4 -0
- package/dist/commands/create-person.d.ts.map +1 -0
- package/dist/commands/create-person.js +76 -0
- package/dist/commands/create-person.js.map +1 -0
- package/dist/commands/create-taxonomy-from-json.d.ts +4 -0
- package/dist/commands/create-taxonomy-from-json.d.ts.map +1 -0
- package/dist/commands/create-taxonomy-from-json.js +96 -0
- package/dist/commands/create-taxonomy-from-json.js.map +1 -0
- package/dist/commands/create-taxonomy.d.ts +36 -0
- package/dist/commands/create-taxonomy.d.ts.map +1 -0
- package/dist/commands/create-taxonomy.js +214 -0
- package/dist/commands/create-taxonomy.js.map +1 -0
- package/dist/commands/create.d.ts +4 -0
- package/dist/commands/create.d.ts.map +1 -0
- package/dist/commands/create.js +454 -0
- package/dist/commands/create.js.map +1 -0
- package/dist/commands/customer.d.ts +4 -0
- package/dist/commands/customer.d.ts.map +1 -0
- package/dist/commands/customer.js +56 -0
- package/dist/commands/customer.js.map +1 -0
- package/dist/commands/diagnose.d.ts +29 -0
- package/dist/commands/diagnose.d.ts.map +1 -0
- package/dist/commands/diagnose.js +119 -0
- package/dist/commands/diagnose.js.map +1 -0
- package/dist/commands/diff.d.ts +4 -0
- package/dist/commands/diff.d.ts.map +1 -0
- package/dist/commands/diff.js +33 -0
- package/dist/commands/diff.js.map +1 -0
- package/dist/commands/discard.d.ts +4 -0
- package/dist/commands/discard.d.ts.map +1 -0
- package/dist/commands/discard.js +63 -0
- package/dist/commands/discard.js.map +1 -0
- package/dist/commands/editor-pack.d.ts +4 -0
- package/dist/commands/editor-pack.d.ts.map +1 -0
- package/dist/commands/editor-pack.js +31 -0
- package/dist/commands/editor-pack.js.map +1 -0
- package/dist/commands/entry-lookup-target.d.ts +113 -0
- package/dist/commands/entry-lookup-target.d.ts.map +1 -0
- package/dist/commands/entry-lookup-target.js +235 -0
- package/dist/commands/entry-lookup-target.js.map +1 -0
- package/dist/commands/entry-search.d.ts +4 -0
- package/dist/commands/entry-search.d.ts.map +1 -0
- package/dist/commands/entry-search.js +91 -0
- package/dist/commands/entry-search.js.map +1 -0
- package/dist/commands/guide.d.ts +4 -0
- package/dist/commands/guide.d.ts.map +1 -0
- package/dist/commands/guide.js +18 -0
- package/dist/commands/guide.js.map +1 -0
- package/dist/commands/health.d.ts +4 -0
- package/dist/commands/health.d.ts.map +1 -0
- package/dist/commands/health.js +179 -0
- package/dist/commands/health.js.map +1 -0
- package/dist/commands/help.d.ts +4 -0
- package/dist/commands/help.d.ts.map +1 -0
- package/dist/commands/help.js +49 -0
- package/dist/commands/help.js.map +1 -0
- package/dist/commands/host-scaffold.d.ts +4 -0
- package/dist/commands/host-scaffold.d.ts.map +1 -0
- package/dist/commands/host-scaffold.js +104 -0
- package/dist/commands/host-scaffold.js.map +1 -0
- package/dist/commands/host-stage.d.ts +4 -0
- package/dist/commands/host-stage.d.ts.map +1 -0
- package/dist/commands/host-stage.js +60 -0
- package/dist/commands/host-stage.js.map +1 -0
- package/dist/commands/host.d.ts +3 -0
- package/dist/commands/host.d.ts.map +1 -0
- package/dist/commands/host.js +9 -0
- package/dist/commands/host.js.map +1 -0
- package/dist/commands/index-dump.d.ts +15 -0
- package/dist/commands/index-dump.d.ts.map +1 -0
- package/dist/commands/index-dump.js +207 -0
- package/dist/commands/index-dump.js.map +1 -0
- package/dist/commands/index.d.ts +4 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +107 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/links.d.ts +4 -0
- package/dist/commands/links.d.ts.map +1 -0
- package/dist/commands/links.js +343 -0
- package/dist/commands/links.js.map +1 -0
- package/dist/commands/list.d.ts +4 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +282 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/media.d.ts +4 -0
- package/dist/commands/media.d.ts.map +1 -0
- package/dist/commands/media.js +143 -0
- package/dist/commands/media.js.map +1 -0
- package/dist/commands/move.d.ts +3 -0
- package/dist/commands/move.d.ts.map +1 -0
- package/dist/commands/move.js +85 -0
- package/dist/commands/move.js.map +1 -0
- package/dist/commands/multiset-assignments.d.ts +16 -0
- package/dist/commands/multiset-assignments.d.ts.map +1 -0
- package/dist/commands/multiset-assignments.js +24 -0
- package/dist/commands/multiset-assignments.js.map +1 -0
- package/dist/commands/nav.d.ts +4 -0
- package/dist/commands/nav.d.ts.map +1 -0
- package/dist/commands/nav.js +327 -0
- package/dist/commands/nav.js.map +1 -0
- package/dist/commands/open.d.ts +4 -0
- package/dist/commands/open.d.ts.map +1 -0
- package/dist/commands/open.js +124 -0
- package/dist/commands/open.js.map +1 -0
- package/dist/commands/peek.d.ts +4 -0
- package/dist/commands/peek.d.ts.map +1 -0
- package/dist/commands/peek.js +105 -0
- package/dist/commands/peek.js.map +1 -0
- package/dist/commands/preview.d.ts +4 -0
- package/dist/commands/preview.d.ts.map +1 -0
- package/dist/commands/preview.js +242 -0
- package/dist/commands/preview.js.map +1 -0
- package/dist/commands/project.d.ts +4 -0
- package/dist/commands/project.d.ts.map +1 -0
- package/dist/commands/project.js +63 -0
- package/dist/commands/project.js.map +1 -0
- package/dist/commands/read.d.ts +4 -0
- package/dist/commands/read.d.ts.map +1 -0
- package/dist/commands/read.js +59 -0
- package/dist/commands/read.js.map +1 -0
- package/dist/commands/remove.d.ts +4 -0
- package/dist/commands/remove.d.ts.map +1 -0
- package/dist/commands/remove.js +104 -0
- package/dist/commands/remove.js.map +1 -0
- package/dist/commands/resolve.d.ts +4 -0
- package/dist/commands/resolve.d.ts.map +1 -0
- package/dist/commands/resolve.js +157 -0
- package/dist/commands/resolve.js.map +1 -0
- package/dist/commands/rtf.d.ts +4 -0
- package/dist/commands/rtf.d.ts.map +1 -0
- package/dist/commands/rtf.js +589 -0
- package/dist/commands/rtf.js.map +1 -0
- package/dist/commands/run.d.ts +4 -0
- package/dist/commands/run.d.ts.map +1 -0
- package/dist/commands/run.js +515 -0
- package/dist/commands/run.js.map +1 -0
- package/dist/commands/save-pending.d.ts +3 -0
- package/dist/commands/save-pending.d.ts.map +1 -0
- package/dist/commands/save-pending.js +5 -0
- package/dist/commands/save-pending.js.map +1 -0
- package/dist/commands/save.d.ts +4 -0
- package/dist/commands/save.d.ts.map +1 -0
- package/dist/commands/save.js +79 -0
- package/dist/commands/save.js.map +1 -0
- package/dist/commands/schema.d.ts +4 -0
- package/dist/commands/schema.d.ts.map +1 -0
- package/dist/commands/schema.js +283 -0
- package/dist/commands/schema.js.map +1 -0
- package/dist/commands/session-diff.d.ts +14 -0
- package/dist/commands/session-diff.d.ts.map +1 -0
- package/dist/commands/session-diff.js +238 -0
- package/dist/commands/session-diff.js.map +1 -0
- package/dist/commands/set.d.ts +4 -0
- package/dist/commands/set.d.ts.map +1 -0
- package/dist/commands/set.js +577 -0
- package/dist/commands/set.js.map +1 -0
- package/dist/commands/snapshot.d.ts +3 -0
- package/dist/commands/snapshot.d.ts.map +1 -0
- package/dist/commands/snapshot.js +31 -0
- package/dist/commands/snapshot.js.map +1 -0
- package/dist/commands/staged-upload.d.ts +4 -0
- package/dist/commands/staged-upload.d.ts.map +1 -0
- package/dist/commands/staged-upload.js +54 -0
- package/dist/commands/staged-upload.js.map +1 -0
- package/dist/commands/version.d.ts +4 -0
- package/dist/commands/version.d.ts.map +1 -0
- package/dist/commands/version.js +17 -0
- package/dist/commands/version.js.map +1 -0
- package/dist/config/data-root.d.ts +6 -0
- package/dist/config/data-root.d.ts.map +1 -0
- package/dist/config/data-root.js +21 -0
- package/dist/config/data-root.js.map +1 -0
- package/dist/config/hosted.d.ts +36 -0
- package/dist/config/hosted.d.ts.map +1 -0
- package/dist/config/hosted.js +113 -0
- package/dist/config/hosted.js.map +1 -0
- package/dist/config/load.d.ts +27 -0
- package/dist/config/load.d.ts.map +1 -0
- package/dist/config/load.js +139 -0
- package/dist/config/load.js.map +1 -0
- package/dist/config/types.d.ts +42 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +2 -0
- package/dist/config/types.js.map +1 -0
- package/dist/contentful/article-tags-from-json.d.ts +25 -0
- package/dist/contentful/article-tags-from-json.d.ts.map +1 -0
- package/dist/contentful/article-tags-from-json.js +121 -0
- package/dist/contentful/article-tags-from-json.js.map +1 -0
- package/dist/contentful/article-type-resolve.d.ts +11 -0
- package/dist/contentful/article-type-resolve.d.ts.map +1 -0
- package/dist/contentful/article-type-resolve.js +35 -0
- package/dist/contentful/article-type-resolve.js.map +1 -0
- package/dist/contentful/asset-link-from-json.d.ts +17 -0
- package/dist/contentful/asset-link-from-json.d.ts.map +1 -0
- package/dist/contentful/asset-link-from-json.js +41 -0
- package/dist/contentful/asset-link-from-json.js.map +1 -0
- package/dist/contentful/assets.d.ts +54 -0
- package/dist/contentful/assets.d.ts.map +1 -0
- package/dist/contentful/assets.js +168 -0
- package/dist/contentful/assets.js.map +1 -0
- package/dist/contentful/bulk-rtf-replace.d.ts +29 -0
- package/dist/contentful/bulk-rtf-replace.d.ts.map +1 -0
- package/dist/contentful/bulk-rtf-replace.js +119 -0
- package/dist/contentful/bulk-rtf-replace.js.map +1 -0
- package/dist/contentful/cda-sync.d.ts +45 -0
- package/dist/contentful/cda-sync.d.ts.map +1 -0
- package/dist/contentful/cda-sync.js +382 -0
- package/dist/contentful/cda-sync.js.map +1 -0
- package/dist/contentful/client.d.ts +56 -0
- package/dist/contentful/client.d.ts.map +1 -0
- package/dist/contentful/client.js +78 -0
- package/dist/contentful/client.js.map +1 -0
- package/dist/contentful/cma-user-agent.d.ts +10 -0
- package/dist/contentful/cma-user-agent.d.ts.map +1 -0
- package/dist/contentful/cma-user-agent.js +20 -0
- package/dist/contentful/cma-user-agent.js.map +1 -0
- package/dist/contentful/content-type-disk-cache.d.ts +7 -0
- package/dist/contentful/content-type-disk-cache.d.ts.map +1 -0
- package/dist/contentful/content-type-disk-cache.js +42 -0
- package/dist/contentful/content-type-disk-cache.js.map +1 -0
- package/dist/contentful/delivery-token.d.ts +17 -0
- package/dist/contentful/delivery-token.d.ts.map +1 -0
- package/dist/contentful/delivery-token.js +104 -0
- package/dist/contentful/delivery-token.js.map +1 -0
- package/dist/contentful/entry-fields.d.ts +74 -0
- package/dist/contentful/entry-fields.d.ts.map +1 -0
- package/dist/contentful/entry-fields.js +403 -0
- package/dist/contentful/entry-fields.js.map +1 -0
- package/dist/contentful/entry-lookup.d.ts +16 -0
- package/dist/contentful/entry-lookup.d.ts.map +1 -0
- package/dist/contentful/entry-lookup.js +273 -0
- package/dist/contentful/entry-lookup.js.map +1 -0
- package/dist/contentful/featured-image-defaults.d.ts +16 -0
- package/dist/contentful/featured-image-defaults.d.ts.map +1 -0
- package/dist/contentful/featured-image-defaults.js +117 -0
- package/dist/contentful/featured-image-defaults.js.map +1 -0
- package/dist/contentful/fetch.d.ts +31 -0
- package/dist/contentful/fetch.d.ts.map +1 -0
- package/dist/contentful/fetch.js +115 -0
- package/dist/contentful/fetch.js.map +1 -0
- package/dist/contentful/field-metadata.d.ts +8 -0
- package/dist/contentful/field-metadata.d.ts.map +1 -0
- package/dist/contentful/field-metadata.js +12 -0
- package/dist/contentful/field-metadata.js.map +1 -0
- package/dist/contentful/field-value-from-json.d.ts +24 -0
- package/dist/contentful/field-value-from-json.d.ts.map +1 -0
- package/dist/contentful/field-value-from-json.js +206 -0
- package/dist/contentful/field-value-from-json.js.map +1 -0
- package/dist/contentful/hosted-asset-upload.d.ts +4 -0
- package/dist/contentful/hosted-asset-upload.d.ts.map +1 -0
- package/dist/contentful/hosted-asset-upload.js +9 -0
- package/dist/contentful/hosted-asset-upload.js.map +1 -0
- package/dist/contentful/link-fields.d.ts +22 -0
- package/dist/contentful/link-fields.d.ts.map +1 -0
- package/dist/contentful/link-fields.js +58 -0
- package/dist/contentful/link-fields.js.map +1 -0
- package/dist/contentful/linkedEntryFields.d.ts +29 -0
- package/dist/contentful/linkedEntryFields.d.ts.map +1 -0
- package/dist/contentful/linkedEntryFields.js +97 -0
- package/dist/contentful/linkedEntryFields.js.map +1 -0
- package/dist/contentful/list-entry-format.d.ts +18 -0
- package/dist/contentful/list-entry-format.d.ts.map +1 -0
- package/dist/contentful/list-entry-format.js +45 -0
- package/dist/contentful/list-entry-format.js.map +1 -0
- package/dist/contentful/media.d.ts +26 -0
- package/dist/contentful/media.d.ts.map +1 -0
- package/dist/contentful/media.js +82 -0
- package/dist/contentful/media.js.map +1 -0
- package/dist/contentful/person-create.d.ts +32 -0
- package/dist/contentful/person-create.d.ts.map +1 -0
- package/dist/contentful/person-create.js +102 -0
- package/dist/contentful/person-create.js.map +1 -0
- package/dist/contentful/reference-record.d.ts +45 -0
- package/dist/contentful/reference-record.d.ts.map +1 -0
- package/dist/contentful/reference-record.js +106 -0
- package/dist/contentful/reference-record.js.map +1 -0
- package/dist/contentful/references.d.ts +7 -0
- package/dist/contentful/references.d.ts.map +1 -0
- package/dist/contentful/references.js +12 -0
- package/dist/contentful/references.js.map +1 -0
- package/dist/contentful/regex.d.ts +14 -0
- package/dist/contentful/regex.d.ts.map +1 -0
- package/dist/contentful/regex.js +38 -0
- package/dist/contentful/regex.js.map +1 -0
- package/dist/contentful/resolve-content-type.d.ts +9 -0
- package/dist/contentful/resolve-content-type.d.ts.map +1 -0
- package/dist/contentful/resolve-content-type.js +38 -0
- package/dist/contentful/resolve-content-type.js.map +1 -0
- package/dist/contentful/scalar-value.d.ts +19 -0
- package/dist/contentful/scalar-value.d.ts.map +1 -0
- package/dist/contentful/scalar-value.js +95 -0
- package/dist/contentful/scalar-value.js.map +1 -0
- package/dist/contentful/set-field-schema.d.ts +32 -0
- package/dist/contentful/set-field-schema.d.ts.map +1 -0
- package/dist/contentful/set-field-schema.js +123 -0
- package/dist/contentful/set-field-schema.js.map +1 -0
- package/dist/contentful/slug-validation.d.ts +7 -0
- package/dist/contentful/slug-validation.d.ts.map +1 -0
- package/dist/contentful/slug-validation.js +15 -0
- package/dist/contentful/slug-validation.js.map +1 -0
- package/dist/contentful/upload-fetch.d.ts +11 -0
- package/dist/contentful/upload-fetch.d.ts.map +1 -0
- package/dist/contentful/upload-fetch.js +26 -0
- package/dist/contentful/upload-fetch.js.map +1 -0
- package/dist/contentful/upload-limits.d.ts +7 -0
- package/dist/contentful/upload-limits.d.ts.map +1 -0
- package/dist/contentful/upload-limits.js +13 -0
- package/dist/contentful/upload-limits.js.map +1 -0
- package/dist/contentful/write.d.ts +16 -0
- package/dist/contentful/write.d.ts.map +1 -0
- package/dist/contentful/write.js +97 -0
- package/dist/contentful/write.js.map +1 -0
- package/dist/editor-pack/capabilities.d.ts +105 -0
- package/dist/editor-pack/capabilities.d.ts.map +1 -0
- package/dist/editor-pack/capabilities.js +497 -0
- package/dist/editor-pack/capabilities.js.map +1 -0
- package/dist/editor-pack/generate.d.ts +19 -0
- package/dist/editor-pack/generate.d.ts.map +1 -0
- package/dist/editor-pack/generate.js +337 -0
- package/dist/editor-pack/generate.js.map +1 -0
- package/dist/editor-pack/load.d.ts +13 -0
- package/dist/editor-pack/load.d.ts.map +1 -0
- package/dist/editor-pack/load.js +99 -0
- package/dist/editor-pack/load.js.map +1 -0
- package/dist/editor-pack/parse-constants.d.ts +23 -0
- package/dist/editor-pack/parse-constants.d.ts.map +1 -0
- package/dist/editor-pack/parse-constants.js +99 -0
- package/dist/editor-pack/parse-constants.js.map +1 -0
- package/dist/editor-pack/parse-guidelines.d.ts +17 -0
- package/dist/editor-pack/parse-guidelines.d.ts.map +1 -0
- package/dist/editor-pack/parse-guidelines.js +93 -0
- package/dist/editor-pack/parse-guidelines.js.map +1 -0
- package/dist/editor-pack/parse-registrations.d.ts +7 -0
- package/dist/editor-pack/parse-registrations.d.ts.map +1 -0
- package/dist/editor-pack/parse-registrations.js +57 -0
- package/dist/editor-pack/parse-registrations.js.map +1 -0
- package/dist/editor-pack/production-site.d.ts +3 -0
- package/dist/editor-pack/production-site.d.ts.map +1 -0
- package/dist/editor-pack/production-site.js +68 -0
- package/dist/editor-pack/production-site.js.map +1 -0
- package/dist/generated/hosted-guide.d.ts +2 -0
- package/dist/generated/hosted-guide.d.ts.map +1 -0
- package/dist/generated/hosted-guide.js +3 -0
- package/dist/generated/hosted-guide.js.map +1 -0
- package/dist/generated/version.d.ts +3 -0
- package/dist/generated/version.d.ts.map +1 -0
- package/dist/generated/version.js +4 -0
- package/dist/generated/version.js.map +1 -0
- package/dist/hosted/customer-playbooks.d.ts +23 -0
- package/dist/hosted/customer-playbooks.d.ts.map +1 -0
- package/dist/hosted/customer-playbooks.js +69 -0
- package/dist/hosted/customer-playbooks.js.map +1 -0
- package/dist/hosted/index.d.ts +30 -0
- package/dist/hosted/index.d.ts.map +1 -0
- package/dist/hosted/index.js +29 -0
- package/dist/hosted/index.js.map +1 -0
- package/dist/hosted/next/HostedPageShell.d.ts +18 -0
- package/dist/hosted/next/HostedPageShell.d.ts.map +1 -0
- package/dist/hosted/next/HostedPageShell.js +12 -0
- package/dist/hosted/next/HostedPageShell.js.map +1 -0
- package/dist/hosted/next/claude-connect.d.ts +8 -0
- package/dist/hosted/next/claude-connect.d.ts.map +1 -0
- package/dist/hosted/next/claude-connect.js +23 -0
- package/dist/hosted/next/claude-connect.js.map +1 -0
- package/dist/hosted/next/context.d.ts +3 -0
- package/dist/hosted/next/context.d.ts.map +1 -0
- package/dist/hosted/next/context.js +11 -0
- package/dist/hosted/next/context.js.map +1 -0
- package/dist/hosted/next/editor-pack-path.d.ts +2 -0
- package/dist/hosted/next/editor-pack-path.d.ts.map +1 -0
- package/dist/hosted/next/editor-pack-path.js +6 -0
- package/dist/hosted/next/editor-pack-path.js.map +1 -0
- package/dist/hosted/next/page-styles.d.ts +31 -0
- package/dist/hosted/next/page-styles.d.ts.map +1 -0
- package/dist/hosted/next/page-styles.js +166 -0
- package/dist/hosted/next/page-styles.js.map +1 -0
- package/dist/hosted/next/pages/CmsEditPage.d.ts +2 -0
- package/dist/hosted/next/pages/CmsEditPage.d.ts.map +1 -0
- package/dist/hosted/next/pages/CmsEditPage.js +24 -0
- package/dist/hosted/next/pages/CmsEditPage.js.map +1 -0
- package/dist/hosted/next/pages/ContentfulCallbackPage.d.ts +2 -0
- package/dist/hosted/next/pages/ContentfulCallbackPage.d.ts.map +1 -0
- package/dist/hosted/next/pages/ContentfulCallbackPage.js +47 -0
- package/dist/hosted/next/pages/ContentfulCallbackPage.js.map +1 -0
- package/dist/hosted/next/pages/CustomerPlaybookPage.d.ts +8 -0
- package/dist/hosted/next/pages/CustomerPlaybookPage.d.ts.map +1 -0
- package/dist/hosted/next/pages/CustomerPlaybookPage.js +24 -0
- package/dist/hosted/next/pages/CustomerPlaybookPage.js.map +1 -0
- package/dist/hosted/next/pages/CustomerPlaybooksPage.d.ts +2 -0
- package/dist/hosted/next/pages/CustomerPlaybooksPage.d.ts.map +1 -0
- package/dist/hosted/next/pages/CustomerPlaybooksPage.js +29 -0
- package/dist/hosted/next/pages/CustomerPlaybooksPage.js.map +1 -0
- package/dist/hosted/next/pages/HomePage.d.ts +2 -0
- package/dist/hosted/next/pages/HomePage.d.ts.map +1 -0
- package/dist/hosted/next/pages/HomePage.js +37 -0
- package/dist/hosted/next/pages/HomePage.js.map +1 -0
- package/dist/hosted/next/redis.d.ts +5 -0
- package/dist/hosted/next/redis.d.ts.map +1 -0
- package/dist/hosted/next/redis.js +49 -0
- package/dist/hosted/next/redis.js.map +1 -0
- package/dist/hosted/next/routes/connect.d.ts +2 -0
- package/dist/hosted/next/routes/connect.d.ts.map +1 -0
- package/dist/hosted/next/routes/connect.js +19 -0
- package/dist/hosted/next/routes/connect.js.map +1 -0
- package/dist/hosted/next/routes/customer-index.d.ts +2 -0
- package/dist/hosted/next/routes/customer-index.d.ts.map +1 -0
- package/dist/hosted/next/routes/customer-index.js +12 -0
- package/dist/hosted/next/routes/customer-index.js.map +1 -0
- package/dist/hosted/next/routes/customer-resource.d.ts +8 -0
- package/dist/hosted/next/routes/customer-resource.d.ts.map +1 -0
- package/dist/hosted/next/routes/customer-resource.js +19 -0
- package/dist/hosted/next/routes/customer-resource.js.map +1 -0
- package/dist/hosted/next/routes/health.d.ts +2 -0
- package/dist/hosted/next/routes/health.d.ts.map +1 -0
- package/dist/hosted/next/routes/health.js +82 -0
- package/dist/hosted/next/routes/health.js.map +1 -0
- package/dist/hosted/next/routes/link-contentful.d.ts +2 -0
- package/dist/hosted/next/routes/link-contentful.d.ts.map +1 -0
- package/dist/hosted/next/routes/link-contentful.js +6 -0
- package/dist/hosted/next/routes/link-contentful.js.map +1 -0
- package/dist/hosted/next/routes/mcp.d.ts +4 -0
- package/dist/hosted/next/routes/mcp.d.ts.map +1 -0
- package/dist/hosted/next/routes/mcp.js +116 -0
- package/dist/hosted/next/routes/mcp.js.map +1 -0
- package/dist/hosted/next/routes/oauth-authorization-server.d.ts +2 -0
- package/dist/hosted/next/routes/oauth-authorization-server.d.ts.map +1 -0
- package/dist/hosted/next/routes/oauth-authorization-server.js +5 -0
- package/dist/hosted/next/routes/oauth-authorization-server.js.map +1 -0
- package/dist/hosted/next/routes/oauth-authorize.d.ts +2 -0
- package/dist/hosted/next/routes/oauth-authorize.d.ts.map +1 -0
- package/dist/hosted/next/routes/oauth-authorize.js +6 -0
- package/dist/hosted/next/routes/oauth-authorize.js.map +1 -0
- package/dist/hosted/next/routes/oauth-protected-resource.d.ts +2 -0
- package/dist/hosted/next/routes/oauth-protected-resource.d.ts.map +1 -0
- package/dist/hosted/next/routes/oauth-protected-resource.js +5 -0
- package/dist/hosted/next/routes/oauth-protected-resource.js.map +1 -0
- package/dist/hosted/next/routes/oauth-register.d.ts +2 -0
- package/dist/hosted/next/routes/oauth-register.d.ts.map +1 -0
- package/dist/hosted/next/routes/oauth-register.js +6 -0
- package/dist/hosted/next/routes/oauth-register.js.map +1 -0
- package/dist/hosted/next/routes/oauth-token.d.ts +2 -0
- package/dist/hosted/next/routes/oauth-token.d.ts.map +1 -0
- package/dist/hosted/next/routes/oauth-token.js +6 -0
- package/dist/hosted/next/routes/oauth-token.js.map +1 -0
- package/dist/hosted/next/routes/staged-upload.d.ts +2 -0
- package/dist/hosted/next/routes/staged-upload.d.ts.map +1 -0
- package/dist/hosted/next/routes/staged-upload.js +83 -0
- package/dist/hosted/next/routes/staged-upload.js.map +1 -0
- package/dist/hosted/next/stage-site.d.ts +11 -0
- package/dist/hosted/next/stage-site.d.ts.map +1 -0
- package/dist/hosted/next/stage-site.js +50 -0
- package/dist/hosted/next/stage-site.js.map +1 -0
- package/dist/hosted/oauth/auth.d.ts +15 -0
- package/dist/hosted/oauth/auth.d.ts.map +1 -0
- package/dist/hosted/oauth/auth.js +54 -0
- package/dist/hosted/oauth/auth.js.map +1 -0
- package/dist/hosted/oauth/cached-cma.d.ts +14 -0
- package/dist/hosted/oauth/cached-cma.d.ts.map +1 -0
- package/dist/hosted/oauth/cached-cma.js +41 -0
- package/dist/hosted/oauth/cached-cma.js.map +1 -0
- package/dist/hosted/oauth/complete.d.ts +16 -0
- package/dist/hosted/oauth/complete.d.ts.map +1 -0
- package/dist/hosted/oauth/complete.js +55 -0
- package/dist/hosted/oauth/complete.js.map +1 -0
- package/dist/hosted/oauth/config.d.ts +7 -0
- package/dist/hosted/oauth/config.d.ts.map +1 -0
- package/dist/hosted/oauth/config.js +33 -0
- package/dist/hosted/oauth/config.js.map +1 -0
- package/dist/hosted/oauth/handlers.d.ts +18 -0
- package/dist/hosted/oauth/handlers.d.ts.map +1 -0
- package/dist/hosted/oauth/handlers.js +262 -0
- package/dist/hosted/oauth/handlers.js.map +1 -0
- package/dist/hosted/oauth/jwt.d.ts +9 -0
- package/dist/hosted/oauth/jwt.d.ts.map +1 -0
- package/dist/hosted/oauth/jwt.js +31 -0
- package/dist/hosted/oauth/jwt.js.map +1 -0
- package/dist/hosted/oauth/log.d.ts +12 -0
- package/dist/hosted/oauth/log.d.ts.map +1 -0
- package/dist/hosted/oauth/log.js +71 -0
- package/dist/hosted/oauth/log.js.map +1 -0
- package/dist/hosted/oauth/pat-cache.d.ts +11 -0
- package/dist/hosted/oauth/pat-cache.d.ts.map +1 -0
- package/dist/hosted/oauth/pat-cache.js +42 -0
- package/dist/hosted/oauth/pat-cache.js.map +1 -0
- package/dist/hosted/oauth/pkce.d.ts +3 -0
- package/dist/hosted/oauth/pkce.d.ts.map +1 -0
- package/dist/hosted/oauth/pkce.js +9 -0
- package/dist/hosted/oauth/pkce.js.map +1 -0
- package/dist/hosted/oauth/redirect-uri.d.ts +10 -0
- package/dist/hosted/oauth/redirect-uri.d.ts.map +1 -0
- package/dist/hosted/oauth/redirect-uri.js +61 -0
- package/dist/hosted/oauth/redirect-uri.js.map +1 -0
- package/dist/hosted/oauth/refresh.d.ts +22 -0
- package/dist/hosted/oauth/refresh.d.ts.map +1 -0
- package/dist/hosted/oauth/refresh.js +46 -0
- package/dist/hosted/oauth/refresh.js.map +1 -0
- package/dist/hosted/oauth/store.d.ts +75 -0
- package/dist/hosted/oauth/store.d.ts.map +1 -0
- package/dist/hosted/oauth/store.js +217 -0
- package/dist/hosted/oauth/store.js.map +1 -0
- package/dist/hosted/oauth/token-grant-response.d.ts +7 -0
- package/dist/hosted/oauth/token-grant-response.d.ts.map +1 -0
- package/dist/hosted/oauth/token-grant-response.js +34 -0
- package/dist/hosted/oauth/token-grant-response.js.map +1 -0
- package/dist/hosted/parse-customer-resource.d.ts +3 -0
- package/dist/hosted/parse-customer-resource.d.ts.map +1 -0
- package/dist/hosted/parse-customer-resource.js +16 -0
- package/dist/hosted/parse-customer-resource.js.map +1 -0
- package/dist/index/blob.d.ts +5 -0
- package/dist/index/blob.d.ts.map +1 -0
- package/dist/index/blob.js +15 -0
- package/dist/index/blob.js.map +1 -0
- package/dist/index/cache-keys.d.ts +9 -0
- package/dist/index/cache-keys.d.ts.map +1 -0
- package/dist/index/cache-keys.js +13 -0
- package/dist/index/cache-keys.js.map +1 -0
- package/dist/index/cache-store.d.ts +31 -0
- package/dist/index/cache-store.d.ts.map +1 -0
- package/dist/index/cache-store.js +17 -0
- package/dist/index/cache-store.js.map +1 -0
- package/dist/index/db.d.ts +12 -0
- package/dist/index/db.d.ts.map +1 -0
- package/dist/index/db.js +49 -0
- package/dist/index/db.js.map +1 -0
- package/dist/index/distributed-sync-lock.d.ts +3 -0
- package/dist/index/distributed-sync-lock.d.ts.map +1 -0
- package/dist/index/distributed-sync-lock.js +22 -0
- package/dist/index/distributed-sync-lock.js.map +1 -0
- package/dist/index/errors.d.ts +18 -0
- package/dist/index/errors.d.ts.map +1 -0
- package/dist/index/errors.js +18 -0
- package/dist/index/errors.js.map +1 -0
- package/dist/index/file-index-cache.d.ts +16 -0
- package/dist/index/file-index-cache.d.ts.map +1 -0
- package/dist/index/file-index-cache.js +103 -0
- package/dist/index/file-index-cache.js.map +1 -0
- package/dist/index/hydrate.d.ts +8 -0
- package/dist/index/hydrate.d.ts.map +1 -0
- package/dist/index/hydrate.js +26 -0
- package/dist/index/hydrate.js.map +1 -0
- package/dist/index/invalidate.d.ts +28 -0
- package/dist/index/invalidate.d.ts.map +1 -0
- package/dist/index/invalidate.js +114 -0
- package/dist/index/invalidate.js.map +1 -0
- package/dist/index/mode.d.ts +7 -0
- package/dist/index/mode.d.ts.map +1 -0
- package/dist/index/mode.js +9 -0
- package/dist/index/mode.js.map +1 -0
- package/dist/index/patch-index.d.ts +12 -0
- package/dist/index/patch-index.d.ts.map +1 -0
- package/dist/index/patch-index.js +80 -0
- package/dist/index/patch-index.js.map +1 -0
- package/dist/index/paths.d.ts +6 -0
- package/dist/index/paths.d.ts.map +1 -0
- package/dist/index/paths.js +23 -0
- package/dist/index/paths.js.map +1 -0
- package/dist/index/publish-cache.d.ts +5 -0
- package/dist/index/publish-cache.d.ts.map +1 -0
- package/dist/index/publish-cache.js +26 -0
- package/dist/index/publish-cache.js.map +1 -0
- package/dist/index/query.d.ts +139 -0
- package/dist/index/query.d.ts.map +1 -0
- package/dist/index/query.js +451 -0
- package/dist/index/query.js.map +1 -0
- package/dist/index/redis-index-cache.d.ts +24 -0
- package/dist/index/redis-index-cache.d.ts.map +1 -0
- package/dist/index/redis-index-cache.js +83 -0
- package/dist/index/redis-index-cache.js.map +1 -0
- package/dist/index/reference-lookup.d.ts +18 -0
- package/dist/index/reference-lookup.d.ts.map +1 -0
- package/dist/index/reference-lookup.js +123 -0
- package/dist/index/reference-lookup.js.map +1 -0
- package/dist/index/require.d.ts +22 -0
- package/dist/index/require.d.ts.map +1 -0
- package/dist/index/require.js +74 -0
- package/dist/index/require.js.map +1 -0
- package/dist/index/run-sync.d.ts +22 -0
- package/dist/index/run-sync.d.ts.map +1 -0
- package/dist/index/run-sync.js +76 -0
- package/dist/index/run-sync.js.map +1 -0
- package/dist/index/schema.d.ts +19 -0
- package/dist/index/schema.d.ts.map +1 -0
- package/dist/index/schema.js +81 -0
- package/dist/index/schema.js.map +1 -0
- package/dist/index/sync-lock.d.ts +9 -0
- package/dist/index/sync-lock.d.ts.map +1 -0
- package/dist/index/sync-lock.js +98 -0
- package/dist/index/sync-lock.js.map +1 -0
- package/dist/index/sync-log.d.ts +7 -0
- package/dist/index/sync-log.d.ts.map +1 -0
- package/dist/index/sync-log.js +23 -0
- package/dist/index/sync-log.js.map +1 -0
- package/dist/index/sync.d.ts +50 -0
- package/dist/index/sync.d.ts.map +1 -0
- package/dist/index/sync.js +292 -0
- package/dist/index/sync.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/guide.d.ts +21 -0
- package/dist/mcp/guide.d.ts.map +1 -0
- package/dist/mcp/guide.js +97 -0
- package/dist/mcp/guide.js.map +1 -0
- package/dist/mcp/hosted-metadata.d.ts +12 -0
- package/dist/mcp/hosted-metadata.d.ts.map +1 -0
- package/dist/mcp/hosted-metadata.js +30 -0
- package/dist/mcp/hosted-metadata.js.map +1 -0
- package/dist/mcp/http-handler.d.ts +15 -0
- package/dist/mcp/http-handler.d.ts.map +1 -0
- package/dist/mcp/http-handler.js +38 -0
- package/dist/mcp/http-handler.js.map +1 -0
- package/dist/mcp/prompts/onboarding.d.ts +4 -0
- package/dist/mcp/prompts/onboarding.d.ts.map +1 -0
- package/dist/mcp/prompts/onboarding.js +398 -0
- package/dist/mcp/prompts/onboarding.js.map +1 -0
- package/dist/mcp/resources/customer.d.ts +7 -0
- package/dist/mcp/resources/customer.d.ts.map +1 -0
- package/dist/mcp/resources/customer.js +72 -0
- package/dist/mcp/resources/customer.js.map +1 -0
- package/dist/mcp/resources/guide.d.ts +4 -0
- package/dist/mcp/resources/guide.d.ts.map +1 -0
- package/dist/mcp/resources/guide.js +16 -0
- package/dist/mcp/resources/guide.js.map +1 -0
- package/dist/mcp/server.d.ts +17 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +63 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/session-args.d.ts +10 -0
- package/dist/mcp/session-args.d.ts.map +1 -0
- package/dist/mcp/session-args.js +28 -0
- package/dist/mcp/session-args.js.map +1 -0
- package/dist/mcp/tools/cms-edit.d.ts +10 -0
- package/dist/mcp/tools/cms-edit.d.ts.map +1 -0
- package/dist/mcp/tools/cms-edit.js +148 -0
- package/dist/mcp/tools/cms-edit.js.map +1 -0
- package/dist/mcp/tools/customer.d.ts +8 -0
- package/dist/mcp/tools/customer.d.ts.map +1 -0
- package/dist/mcp/tools/customer.js +41 -0
- package/dist/mcp/tools/customer.js.map +1 -0
- package/dist/mcp/tools/help.d.ts +4 -0
- package/dist/mcp/tools/help.d.ts.map +1 -0
- package/dist/mcp/tools/help.js +23 -0
- package/dist/mcp/tools/help.js.map +1 -0
- package/dist/mcp/tools/media.d.ts +4 -0
- package/dist/mcp/tools/media.d.ts.map +1 -0
- package/dist/mcp/tools/media.js +176 -0
- package/dist/mcp/tools/media.js.map +1 -0
- package/dist/mcp/tools/staged-upload.d.ts +4 -0
- package/dist/mcp/tools/staged-upload.d.ts.map +1 -0
- package/dist/mcp/tools/staged-upload.js +77 -0
- package/dist/mcp/tools/staged-upload.js.map +1 -0
- package/dist/mcp/types.d.ts +2 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +2 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/media-pipeline/actions.d.ts +32 -0
- package/dist/media-pipeline/actions.d.ts.map +1 -0
- package/dist/media-pipeline/actions.js +436 -0
- package/dist/media-pipeline/actions.js.map +1 -0
- package/dist/media-pipeline/client.d.ts +71 -0
- package/dist/media-pipeline/client.d.ts.map +1 -0
- package/dist/media-pipeline/client.js +79 -0
- package/dist/media-pipeline/client.js.map +1 -0
- package/dist/media-pipeline/config.d.ts +17 -0
- package/dist/media-pipeline/config.d.ts.map +1 -0
- package/dist/media-pipeline/config.js +52 -0
- package/dist/media-pipeline/config.js.map +1 -0
- package/dist/media-pipeline/import-filter.d.ts +36 -0
- package/dist/media-pipeline/import-filter.d.ts.map +1 -0
- package/dist/media-pipeline/import-filter.js +53 -0
- package/dist/media-pipeline/import-filter.js.map +1 -0
- package/dist/media-pipeline/import.d.ts +25 -0
- package/dist/media-pipeline/import.d.ts.map +1 -0
- package/dist/media-pipeline/import.js +225 -0
- package/dist/media-pipeline/import.js.map +1 -0
- package/dist/media-pipeline/index.d.ts +6 -0
- package/dist/media-pipeline/index.d.ts.map +1 -0
- package/dist/media-pipeline/index.js +6 -0
- package/dist/media-pipeline/index.js.map +1 -0
- package/dist/media-pipeline/job-store.d.ts +49 -0
- package/dist/media-pipeline/job-store.d.ts.map +1 -0
- package/dist/media-pipeline/job-store.js +215 -0
- package/dist/media-pipeline/job-store.js.map +1 -0
- package/dist/media-pipeline/limits.d.ts +19 -0
- package/dist/media-pipeline/limits.d.ts.map +1 -0
- package/dist/media-pipeline/limits.js +19 -0
- package/dist/media-pipeline/limits.js.map +1 -0
- package/dist/media-pipeline/log.d.ts +3 -0
- package/dist/media-pipeline/log.d.ts.map +1 -0
- package/dist/media-pipeline/log.js +12 -0
- package/dist/media-pipeline/log.js.map +1 -0
- package/dist/media-pipeline/validate.d.ts +18 -0
- package/dist/media-pipeline/validate.d.ts.map +1 -0
- package/dist/media-pipeline/validate.js +38 -0
- package/dist/media-pipeline/validate.js.map +1 -0
- package/dist/output/json.d.ts +53 -0
- package/dist/output/json.d.ts.map +1 -0
- package/dist/output/json.js +110 -0
- package/dist/output/json.js.map +1 -0
- package/dist/output/mode.d.ts +3 -0
- package/dist/output/mode.d.ts.map +1 -0
- package/dist/output/mode.js +16 -0
- package/dist/output/mode.js.map +1 -0
- package/dist/output/print.d.ts +14 -0
- package/dist/output/print.d.ts.map +1 -0
- package/dist/output/print.js +61 -0
- package/dist/output/print.js.map +1 -0
- package/dist/output/terminal-table.d.ts +15 -0
- package/dist/output/terminal-table.d.ts.map +1 -0
- package/dist/output/terminal-table.js +60 -0
- package/dist/output/terminal-table.js.map +1 -0
- package/dist/preview/capture-urls.d.ts +12 -0
- package/dist/preview/capture-urls.d.ts.map +1 -0
- package/dist/preview/capture-urls.js +41 -0
- package/dist/preview/capture-urls.js.map +1 -0
- package/dist/preview/entry-urls.d.ts +44 -0
- package/dist/preview/entry-urls.d.ts.map +1 -0
- package/dist/preview/entry-urls.js +153 -0
- package/dist/preview/entry-urls.js.map +1 -0
- package/dist/project/doctor.d.ts +9 -0
- package/dist/project/doctor.d.ts.map +1 -0
- package/dist/project/doctor.js +172 -0
- package/dist/project/doctor.js.map +1 -0
- package/dist/project/load.d.ts +5 -0
- package/dist/project/load.d.ts.map +1 -0
- package/dist/project/load.js +66 -0
- package/dist/project/load.js.map +1 -0
- package/dist/project/types.d.ts +54 -0
- package/dist/project/types.d.ts.map +1 -0
- package/dist/project/types.js +53 -0
- package/dist/project/types.js.map +1 -0
- package/dist/project/validate-hosted.d.ts +7 -0
- package/dist/project/validate-hosted.d.ts.map +1 -0
- package/dist/project/validate-hosted.js +12 -0
- package/dist/project/validate-hosted.js.map +1 -0
- package/dist/project/validate-secrets.d.ts +7 -0
- package/dist/project/validate-secrets.d.ts.map +1 -0
- package/dist/project/validate-secrets.js +61 -0
- package/dist/project/validate-secrets.js.map +1 -0
- package/dist/rtf/convertToRtf.d.ts +7 -0
- package/dist/rtf/convertToRtf.d.ts.map +1 -0
- package/dist/rtf/convertToRtf.js +24 -0
- package/dist/rtf/convertToRtf.js.map +1 -0
- package/dist/rtf/fromHtml.d.ts +8 -0
- package/dist/rtf/fromHtml.d.ts.map +1 -0
- package/dist/rtf/fromHtml.js +290 -0
- package/dist/rtf/fromHtml.js.map +1 -0
- package/dist/rtf/fromMarkdown.d.ts +25 -0
- package/dist/rtf/fromMarkdown.d.ts.map +1 -0
- package/dist/rtf/fromMarkdown.js +375 -0
- package/dist/rtf/fromMarkdown.js.map +1 -0
- package/dist/rtf/fromPlainText.d.ts +7 -0
- package/dist/rtf/fromPlainText.d.ts.map +1 -0
- package/dist/rtf/fromPlainText.js +39 -0
- package/dist/rtf/fromPlainText.js.map +1 -0
- package/dist/rtf/fromRtfJson.d.ts +10 -0
- package/dist/rtf/fromRtfJson.d.ts.map +1 -0
- package/dist/rtf/fromRtfJson.js +52 -0
- package/dist/rtf/fromRtfJson.js.map +1 -0
- package/dist/rtf/inlineHtml.d.ts +6 -0
- package/dist/rtf/inlineHtml.d.ts.map +1 -0
- package/dist/rtf/inlineHtml.js +152 -0
- package/dist/rtf/inlineHtml.js.map +1 -0
- package/dist/rtf/references.d.ts +9 -0
- package/dist/rtf/references.d.ts.map +1 -0
- package/dist/rtf/references.js +49 -0
- package/dist/rtf/references.js.map +1 -0
- package/dist/rtf/replacePlainText.d.ts +117 -0
- package/dist/rtf/replacePlainText.d.ts.map +1 -0
- package/dist/rtf/replacePlainText.js +598 -0
- package/dist/rtf/replacePlainText.js.map +1 -0
- package/dist/rtf/resolveRtfInput.d.ts +11 -0
- package/dist/rtf/resolveRtfInput.d.ts.map +1 -0
- package/dist/rtf/resolveRtfInput.js +23 -0
- package/dist/rtf/resolveRtfInput.js.map +1 -0
- package/dist/rtf/toMarkdown.d.ts +6 -0
- package/dist/rtf/toMarkdown.d.ts.map +1 -0
- package/dist/rtf/toMarkdown.js +179 -0
- package/dist/rtf/toMarkdown.js.map +1 -0
- package/dist/rtf/types.d.ts +5 -0
- package/dist/rtf/types.d.ts.map +1 -0
- package/dist/rtf/types.js +2 -0
- package/dist/rtf/types.js.map +1 -0
- package/dist/rtf/utils.d.ts +7 -0
- package/dist/rtf/utils.d.ts.map +1 -0
- package/dist/rtf/utils.js +11 -0
- package/dist/rtf/utils.js.map +1 -0
- package/dist/runtime/context.d.ts +32 -0
- package/dist/runtime/context.d.ts.map +1 -0
- package/dist/runtime/context.js +9 -0
- package/dist/runtime/context.js.map +1 -0
- package/dist/session/dirty.d.ts +20 -0
- package/dist/session/dirty.d.ts.map +1 -0
- package/dist/session/dirty.js +44 -0
- package/dist/session/dirty.js.map +1 -0
- package/dist/session/file-session-store.d.ts +10 -0
- package/dist/session/file-session-store.d.ts.map +1 -0
- package/dist/session/file-session-store.js +169 -0
- package/dist/session/file-session-store.js.map +1 -0
- package/dist/session/log.d.ts +6 -0
- package/dist/session/log.d.ts.map +1 -0
- package/dist/session/log.js +21 -0
- package/dist/session/log.js.map +1 -0
- package/dist/session/redis-session-store.d.ts +40 -0
- package/dist/session/redis-session-store.d.ts.map +1 -0
- package/dist/session/redis-session-store.js +199 -0
- package/dist/session/redis-session-store.js.map +1 -0
- package/dist/session/refs.d.ts +45 -0
- package/dist/session/refs.d.ts.map +1 -0
- package/dist/session/refs.js +152 -0
- package/dist/session/refs.js.map +1 -0
- package/dist/session/session-store.d.ts +27 -0
- package/dist/session/session-store.d.ts.map +1 -0
- package/dist/session/session-store.js +9 -0
- package/dist/session/session-store.js.map +1 -0
- package/dist/session/state.d.ts +106 -0
- package/dist/session/state.d.ts.map +1 -0
- package/dist/session/state.js +93 -0
- package/dist/session/state.js.map +1 -0
- package/dist/session/store.d.ts +16 -0
- package/dist/session/store.d.ts.map +1 -0
- package/dist/session/store.js +89 -0
- package/dist/session/store.js.map +1 -0
- package/dist/snapshot/field-value.d.ts +5 -0
- package/dist/snapshot/field-value.d.ts.map +1 -0
- package/dist/snapshot/field-value.js +42 -0
- package/dist/snapshot/field-value.js.map +1 -0
- package/dist/snapshot/fields.d.ts +10 -0
- package/dist/snapshot/fields.d.ts.map +1 -0
- package/dist/snapshot/fields.js +72 -0
- package/dist/snapshot/fields.js.map +1 -0
- package/dist/snapshot/render.d.ts +21 -0
- package/dist/snapshot/render.d.ts.map +1 -0
- package/dist/snapshot/render.js +231 -0
- package/dist/snapshot/render.js.map +1 -0
- package/dist/staged-upload/hmac.d.ts +6 -0
- package/dist/staged-upload/hmac.d.ts.map +1 -0
- package/dist/staged-upload/hmac.js +43 -0
- package/dist/staged-upload/hmac.js.map +1 -0
- package/dist/staged-upload/limits.d.ts +6 -0
- package/dist/staged-upload/limits.d.ts.map +1 -0
- package/dist/staged-upload/limits.js +9 -0
- package/dist/staged-upload/limits.js.map +1 -0
- package/dist/staged-upload/mime.d.ts +2 -0
- package/dist/staged-upload/mime.d.ts.map +1 -0
- package/dist/staged-upload/mime.js +15 -0
- package/dist/staged-upload/mime.js.map +1 -0
- package/dist/staged-upload/request.d.ts +11 -0
- package/dist/staged-upload/request.d.ts.map +1 -0
- package/dist/staged-upload/request.js +40 -0
- package/dist/staged-upload/request.js.map +1 -0
- package/dist/staged-upload/store.d.ts +19 -0
- package/dist/staged-upload/store.d.ts.map +1 -0
- package/dist/staged-upload/store.js +124 -0
- package/dist/staged-upload/store.js.map +1 -0
- package/dist/staged-upload/types.d.ts +27 -0
- package/dist/staged-upload/types.d.ts.map +1 -0
- package/dist/staged-upload/types.js +2 -0
- package/dist/staged-upload/types.js.map +1 -0
- package/dist/telemetry/axiom.d.ts +22 -0
- package/dist/telemetry/axiom.d.ts.map +1 -0
- package/dist/telemetry/axiom.js +45 -0
- package/dist/telemetry/axiom.js.map +1 -0
- package/dist/telemetry/composite.d.ts +9 -0
- package/dist/telemetry/composite.d.ts.map +1 -0
- package/dist/telemetry/composite.js +16 -0
- package/dist/telemetry/composite.js.map +1 -0
- package/dist/telemetry/enrich.d.ts +11 -0
- package/dist/telemetry/enrich.d.ts.map +1 -0
- package/dist/telemetry/enrich.js +32 -0
- package/dist/telemetry/enrich.js.map +1 -0
- package/dist/telemetry/factory.d.ts +8 -0
- package/dist/telemetry/factory.d.ts.map +1 -0
- package/dist/telemetry/factory.js +44 -0
- package/dist/telemetry/factory.js.map +1 -0
- package/dist/telemetry/index.d.ts +10 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +9 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/local.d.ts +9 -0
- package/dist/telemetry/local.d.ts.map +1 -0
- package/dist/telemetry/local.js +21 -0
- package/dist/telemetry/local.js.map +1 -0
- package/dist/telemetry/noop.d.ts +7 -0
- package/dist/telemetry/noop.d.ts.map +1 -0
- package/dist/telemetry/noop.js +6 -0
- package/dist/telemetry/noop.js.map +1 -0
- package/dist/telemetry/record.d.ts +14 -0
- package/dist/telemetry/record.d.ts.map +1 -0
- package/dist/telemetry/record.js +61 -0
- package/dist/telemetry/record.js.map +1 -0
- package/dist/telemetry/request-stats.d.ts +15 -0
- package/dist/telemetry/request-stats.d.ts.map +1 -0
- package/dist/telemetry/request-stats.js +34 -0
- package/dist/telemetry/request-stats.js.map +1 -0
- package/dist/telemetry/types.d.ts +47 -0
- package/dist/telemetry/types.d.ts.map +1 -0
- package/dist/telemetry/types.js +2 -0
- package/dist/telemetry/types.js.map +1 -0
- package/dist/validation/allowed-types.d.ts +7 -0
- package/dist/validation/allowed-types.d.ts.map +1 -0
- package/dist/validation/allowed-types.js +17 -0
- package/dist/validation/allowed-types.js.map +1 -0
- package/dist/version.d.ts +9 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +10 -0
- package/dist/version.js.map +1 -0
- package/docs/FEATURE_REQUESTS_ARCHIVE.md +141 -0
- package/docs/FUNCTIONAL_SPEC.md +303 -0
- package/docs/MEDIA_INDEX_PLAN.md +256 -0
- package/docs/SKILLS.md +29 -0
- package/docs/TELEMETRY_AXIOM.md +93 -0
- package/docs/editor-tasks/article-tags.md +47 -0
- package/docs/editor-tasks/authors-import.md +53 -0
- package/docs/editor-tasks/bulk-find-replace.md +52 -0
- package/docs/editor-tasks/clone-page.md +39 -0
- package/docs/editor-tasks/create-article.md +77 -0
- package/docs/editor-tasks/create-from-document.md +77 -0
- package/docs/editor-tasks/create-page.md +45 -0
- package/docs/editor-tasks/edit-rich-text.md +44 -0
- package/docs/editor-tasks/edit-scalar-fields.md +47 -0
- package/docs/editor-tasks/featured-images.md +46 -0
- package/docs/editor-tasks/media-pipeline-prepare.md +175 -0
- package/docs/editor-tasks/media-reuse-and-upload.md +122 -0
- package/docs/editor-tasks/media-review.md +139 -0
- package/docs/editor-tasks/navigation.md +39 -0
- package/docs/editor-tasks/preview-verify.md +93 -0
- package/docs/editor-tasks/publish-handoff.md +41 -0
- package/docs/editor-tasks/seo-descriptions.md +48 -0
- package/docs/editor-tasks/source-readiness-review.md +116 -0
- package/docs/editor-tasks/taxonomy.md +51 -0
- package/docs/help/article-tags-from-json.md +62 -0
- package/docs/help/asset-review.md +56 -0
- package/docs/help/batch-run.md +222 -0
- package/docs/help/batch.md +94 -0
- package/docs/help/bulk-rtf-replace.md +80 -0
- package/docs/help/create-from-json.md +382 -0
- package/docs/help/fields-article.md +161 -0
- package/docs/help/fields-collection.md +133 -0
- package/docs/help/fields-component.md +165 -0
- package/docs/help/fields-page.md +123 -0
- package/docs/help/fields-taxonomy.md +158 -0
- package/docs/help/fields.md +60 -0
- package/docs/help/index-sync.md +136 -0
- package/docs/help/index.md +181 -0
- package/docs/help/lookup.md +132 -0
- package/docs/help/person-from-json.md +82 -0
- package/docs/help/taxonomy-from-json.md +115 -0
- package/docs/help/workflow.md +239 -0
- package/docs/mcp/e2e-test-prompt.md +159 -0
- package/docs/mcp/hosted-guide.md +354 -0
- package/package.json +107 -0
- package/skills/README.md +30 -0
- package/skills/core/SKILL.md +860 -0
- package/skills/editor-tasks/SKILL.md +86 -0
- package/skills/manifest.json +6 -0
- package/skills/setup/SKILL.md +102 -0
- package/skills/templates/SKILL.md +21 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { indexCacheKeySuffix } from './cache-keys.js';
|
|
2
|
+
import { INDEX_BLOB_TTL_SECONDS, } from './cache-store.js';
|
|
3
|
+
function prefix(key) {
|
|
4
|
+
return `cms-edit:index:${indexCacheKeySuffix(key)}`;
|
|
5
|
+
}
|
|
6
|
+
function parseJson(raw) {
|
|
7
|
+
if (!raw)
|
|
8
|
+
return null;
|
|
9
|
+
if (typeof raw === 'string') {
|
|
10
|
+
try {
|
|
11
|
+
return JSON.parse(raw);
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
if (typeof raw === 'object')
|
|
18
|
+
return raw;
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
export class RedisIndexCacheStore {
|
|
22
|
+
redis;
|
|
23
|
+
blobTtlSeconds;
|
|
24
|
+
constructor(redis, blobTtlSeconds = INDEX_BLOB_TTL_SECONDS) {
|
|
25
|
+
this.redis = redis;
|
|
26
|
+
this.blobTtlSeconds = blobTtlSeconds;
|
|
27
|
+
}
|
|
28
|
+
invalidationKey(key) {
|
|
29
|
+
return `${prefix(key)}:invalidation`;
|
|
30
|
+
}
|
|
31
|
+
blobMetaKey(key) {
|
|
32
|
+
return `${prefix(key)}:meta`;
|
|
33
|
+
}
|
|
34
|
+
blobDataKey(key) {
|
|
35
|
+
return `${prefix(key)}:blob`;
|
|
36
|
+
}
|
|
37
|
+
syncLockKey(key) {
|
|
38
|
+
return `${prefix(key)}:lock`;
|
|
39
|
+
}
|
|
40
|
+
async getInvalidation(key) {
|
|
41
|
+
return parseJson(await this.redis.get(this.invalidationKey(key)));
|
|
42
|
+
}
|
|
43
|
+
async setInvalidation(key, inv) {
|
|
44
|
+
await this.redis.set(this.invalidationKey(key), JSON.stringify(inv));
|
|
45
|
+
}
|
|
46
|
+
async clearInvalidation(key) {
|
|
47
|
+
await this.redis.del(this.invalidationKey(key));
|
|
48
|
+
}
|
|
49
|
+
async getBlob(key) {
|
|
50
|
+
const meta = parseJson(await this.redis.get(this.blobMetaKey(key)));
|
|
51
|
+
const raw = await this.redis.get(this.blobDataKey(key));
|
|
52
|
+
if (!meta || raw == null)
|
|
53
|
+
return null;
|
|
54
|
+
const encoded = typeof raw === 'string' ? raw : String(raw);
|
|
55
|
+
const data = Buffer.from(encoded, 'base64');
|
|
56
|
+
return { meta, data };
|
|
57
|
+
}
|
|
58
|
+
async putBlob(key, meta, data) {
|
|
59
|
+
const encoded = Buffer.from(data).toString('base64');
|
|
60
|
+
await this.redis.set(this.blobMetaKey(key), JSON.stringify(meta), {
|
|
61
|
+
ex: this.blobTtlSeconds,
|
|
62
|
+
});
|
|
63
|
+
await this.redis.set(this.blobDataKey(key), encoded, { ex: this.blobTtlSeconds });
|
|
64
|
+
}
|
|
65
|
+
async deleteBlob(key) {
|
|
66
|
+
await this.redis.del(this.blobMetaKey(key));
|
|
67
|
+
await this.redis.del(this.blobDataKey(key));
|
|
68
|
+
}
|
|
69
|
+
async tryAcquireSyncLock(key, holderId, ttlSeconds) {
|
|
70
|
+
const result = await this.redis.set(this.syncLockKey(key), holderId, {
|
|
71
|
+
ex: ttlSeconds,
|
|
72
|
+
nx: true,
|
|
73
|
+
});
|
|
74
|
+
return result === true;
|
|
75
|
+
}
|
|
76
|
+
async releaseSyncLock(key, holderId) {
|
|
77
|
+
const current = await this.redis.get(this.syncLockKey(key));
|
|
78
|
+
if (current === holderId) {
|
|
79
|
+
await this.redis.del(this.syncLockKey(key));
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=redis-index-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redis-index-cache.js","sourceRoot":"","sources":["../../src/index/redis-index-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { SpaceConfig } from '../config/types.js';
|
|
2
|
+
import type { SafeEnvironment } from '../contentful/client.js';
|
|
3
|
+
import { type ReferenceEntryRow } from './query.js';
|
|
4
|
+
export { referenceRowFromCmaEntry } from '../contentful/reference-record.js';
|
|
5
|
+
/**
|
|
6
|
+
* Resolves a slug-indexed reference entry (articleType, tagType, tag) via local index when available,
|
|
7
|
+
* otherwise falls back to CMA.
|
|
8
|
+
*/
|
|
9
|
+
export declare function findReferenceEntryBySlug(space: SpaceConfig, env: SafeEnvironment, contentType: string, slug: string, opts?: {
|
|
10
|
+
preview?: boolean;
|
|
11
|
+
}): Promise<ReferenceEntryRow | null>;
|
|
12
|
+
/**
|
|
13
|
+
* Resolves a reference entry by display label (templates use cmsLabel; others use name).
|
|
14
|
+
*/
|
|
15
|
+
export declare function findReferenceEntryByLabel(space: SpaceConfig, env: SafeEnvironment, contentType: string, label: string, opts?: {
|
|
16
|
+
preview?: boolean;
|
|
17
|
+
}): Promise<ReferenceEntryRow | null>;
|
|
18
|
+
//# sourceMappingURL=reference-lookup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reference-lookup.d.ts","sourceRoot":"","sources":["../../src/index/reference-lookup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAM/D,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAkE7E;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,WAAW,EAClB,GAAG,EAAE,eAAe,EACpB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/B,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAiCnC;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,WAAW,EAClB,GAAG,EAAE,eAAe,EACpB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/B,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAiCnC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { findEntryByContentTypeAndSlug, normalizeSlug } from '../contentful/fetch.js';
|
|
2
|
+
import { referenceRowFromCmaEntry } from '../contentful/reference-record.js';
|
|
3
|
+
import { ReferenceCatalogAmbiguityError } from './errors.js';
|
|
4
|
+
import { resolveIndexPreview } from './mode.js';
|
|
5
|
+
import { indexExists } from './paths.js';
|
|
6
|
+
import { assertUniqueReferenceRows, listReferencesByLabel, listReferencesBySlug, } from './query.js';
|
|
7
|
+
import { isReferenceContentType } from './schema.js';
|
|
8
|
+
export { referenceRowFromCmaEntry } from '../contentful/reference-record.js';
|
|
9
|
+
function findReferenceInIndexBySlug(space, contentType, slug, preview) {
|
|
10
|
+
if (!isReferenceContentType(contentType))
|
|
11
|
+
return null;
|
|
12
|
+
if (!indexExists(space, resolveIndexPreview(preview)))
|
|
13
|
+
return null;
|
|
14
|
+
const rows = listReferencesBySlug(space, contentType, slug, preview);
|
|
15
|
+
if (rows.length === 0)
|
|
16
|
+
return null;
|
|
17
|
+
return assertUniqueReferenceRows(rows, `Multiple ${contentType} entries share slug "${slug}" in the local index. Use --force-cma or resolve by entry ID.`);
|
|
18
|
+
}
|
|
19
|
+
function findReferenceInIndexByLabel(space, contentType, label, preview) {
|
|
20
|
+
if (!isReferenceContentType(contentType))
|
|
21
|
+
return null;
|
|
22
|
+
if (!indexExists(space, resolveIndexPreview(preview)))
|
|
23
|
+
return null;
|
|
24
|
+
const rows = listReferencesByLabel(space, contentType, label.trim(), preview);
|
|
25
|
+
if (rows.length === 0)
|
|
26
|
+
return null;
|
|
27
|
+
const fieldName = contentType === 'template' ? 'cmsLabel' : 'name';
|
|
28
|
+
return assertUniqueReferenceRows(rows, `Multiple ${contentType} entries share ${fieldName} "${label}" in the local index. Use --force-cma or resolve by entry ID.`);
|
|
29
|
+
}
|
|
30
|
+
async function findCmaEntryByLabel(env, contentType, label) {
|
|
31
|
+
const trimmed = label.trim();
|
|
32
|
+
const fieldId = contentType === 'template' ? 'cmsLabel' : 'name';
|
|
33
|
+
const result = await env.getEntries({
|
|
34
|
+
content_type: contentType,
|
|
35
|
+
[`fields.${fieldId}`]: trimmed,
|
|
36
|
+
limit: 2,
|
|
37
|
+
});
|
|
38
|
+
if (result.items.length > 1) {
|
|
39
|
+
const fieldName = contentType === 'template' ? 'cmsLabel' : 'name';
|
|
40
|
+
throw new ReferenceCatalogAmbiguityError(`Multiple ${contentType} entries share ${fieldName} "${trimmed}" in Contentful.`, result.items.map((entry) => ({
|
|
41
|
+
id: entry.sys.id,
|
|
42
|
+
label: trimmed,
|
|
43
|
+
slug: null,
|
|
44
|
+
})));
|
|
45
|
+
}
|
|
46
|
+
if (result.items.length === 0)
|
|
47
|
+
return null;
|
|
48
|
+
return result.items[0] ?? null;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Resolves a slug-indexed reference entry (articleType, tagType, tag) via local index when available,
|
|
52
|
+
* otherwise falls back to CMA.
|
|
53
|
+
*/
|
|
54
|
+
export async function findReferenceEntryBySlug(space, env, contentType, slug, opts = {}) {
|
|
55
|
+
const fromIndex = findReferenceInIndexBySlug(space, contentType, slug, opts.preview);
|
|
56
|
+
if (fromIndex)
|
|
57
|
+
return fromIndex;
|
|
58
|
+
const entry = await findEntryByContentTypeAndSlug(env, contentType, slug);
|
|
59
|
+
if (!entry)
|
|
60
|
+
return null;
|
|
61
|
+
if (!isReferenceContentType(contentType)) {
|
|
62
|
+
return {
|
|
63
|
+
id: entry.sys.id,
|
|
64
|
+
contentType,
|
|
65
|
+
slug: normalizeSlug(slug),
|
|
66
|
+
label: entry.sys.id,
|
|
67
|
+
cmsLabel: null,
|
|
68
|
+
updatedAt: entry.sys.updatedAt,
|
|
69
|
+
tagTypeSlug: null,
|
|
70
|
+
articleTypeSlug: null,
|
|
71
|
+
date: null,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
const mapped = referenceRowFromCmaEntry(contentType, entry, space.defaultLocale);
|
|
75
|
+
return {
|
|
76
|
+
id: mapped.id,
|
|
77
|
+
contentType: mapped.contentType,
|
|
78
|
+
slug: mapped.slug,
|
|
79
|
+
label: mapped.label,
|
|
80
|
+
cmsLabel: mapped.cmsLabel,
|
|
81
|
+
updatedAt: mapped.updatedAt,
|
|
82
|
+
tagTypeSlug: mapped.tagTypeSlug,
|
|
83
|
+
articleTypeSlug: mapped.articleTypeSlug,
|
|
84
|
+
date: mapped.date,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Resolves a reference entry by display label (templates use cmsLabel; others use name).
|
|
89
|
+
*/
|
|
90
|
+
export async function findReferenceEntryByLabel(space, env, contentType, label, opts = {}) {
|
|
91
|
+
const fromIndex = findReferenceInIndexByLabel(space, contentType, label, opts.preview);
|
|
92
|
+
if (fromIndex)
|
|
93
|
+
return fromIndex;
|
|
94
|
+
const entry = await findCmaEntryByLabel(env, contentType, label);
|
|
95
|
+
if (!entry)
|
|
96
|
+
return null;
|
|
97
|
+
if (!isReferenceContentType(contentType)) {
|
|
98
|
+
return {
|
|
99
|
+
id: entry.sys.id,
|
|
100
|
+
contentType,
|
|
101
|
+
slug: null,
|
|
102
|
+
label: label.trim(),
|
|
103
|
+
cmsLabel: null,
|
|
104
|
+
updatedAt: entry.sys.updatedAt,
|
|
105
|
+
tagTypeSlug: null,
|
|
106
|
+
articleTypeSlug: null,
|
|
107
|
+
date: null,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
const mapped = referenceRowFromCmaEntry(contentType, entry, space.defaultLocale);
|
|
111
|
+
return {
|
|
112
|
+
id: mapped.id,
|
|
113
|
+
contentType: mapped.contentType,
|
|
114
|
+
slug: mapped.slug,
|
|
115
|
+
label: mapped.label,
|
|
116
|
+
cmsLabel: mapped.cmsLabel,
|
|
117
|
+
updatedAt: mapped.updatedAt,
|
|
118
|
+
tagTypeSlug: mapped.tagTypeSlug,
|
|
119
|
+
articleTypeSlug: mapped.articleTypeSlug,
|
|
120
|
+
date: mapped.date,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=reference-lookup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reference-lookup.js","sourceRoot":"","sources":["../../src/index/reference-lookup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { SpaceConfig } from '../config/types.js';
|
|
2
|
+
import { type IndexSyncMode } from './run-sync.js';
|
|
3
|
+
import { getIndexSyncReason, INDEX_STALE_MS } from './sync.js';
|
|
4
|
+
export interface EnsureContentIndexOptions {
|
|
5
|
+
preview?: boolean;
|
|
6
|
+
/** Called when an automatic sync starts (missing, stale, or schema mismatch). */
|
|
7
|
+
onRebuild?: (message: string) => void;
|
|
8
|
+
}
|
|
9
|
+
export interface EnsureContentIndexResult {
|
|
10
|
+
syncedAt: string | null;
|
|
11
|
+
stale: boolean;
|
|
12
|
+
rebuilt: boolean;
|
|
13
|
+
syncMode?: IndexSyncMode;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Ensures the local content index exists and is current (schema v4, synced within 24h,
|
|
17
|
+
* and not invalidated by a committed write). Auto-sync: full rebuild when missing, schema
|
|
18
|
+
* outdated, or fully invalidated; incremental when only stale or incrementally invalidated.
|
|
19
|
+
*/
|
|
20
|
+
export declare function ensureContentIndex(space: SpaceConfig, opts?: EnsureContentIndexOptions): Promise<EnsureContentIndexResult>;
|
|
21
|
+
export { getIndexSyncReason, INDEX_STALE_MS };
|
|
22
|
+
//# sourceMappingURL=require.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"require.d.ts","sourceRoot":"","sources":["../../src/index/require.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMtD,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,eAAe,CAAC;AACxE,OAAO,EACL,kBAAkB,EAClB,cAAc,EAKf,MAAM,WAAW,CAAC;AAInB,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iFAAiF;IACjF,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAmBD;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,WAAW,EAClB,IAAI,GAAE,yBAA8B,GACnC,OAAO,CAAC,wBAAwB,CAAC,CAiDnC;AAED,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { setIndexSyncMode } from '../telemetry/request-stats.js';
|
|
2
|
+
import { ContentIndexSyncError } from './errors.js';
|
|
3
|
+
import { tryHydrateIndexFromCache } from './hydrate.js';
|
|
4
|
+
import { resolveIndexPreview } from './mode.js';
|
|
5
|
+
import { getIndexSyncedAt } from './query.js';
|
|
6
|
+
import { runContentIndexSync } from './run-sync.js';
|
|
7
|
+
import { getIndexSyncReason, INDEX_STALE_MS, indexSyncModeForReason, isSyncedAtStale, resolveIndexSyncReason, } from './sync.js';
|
|
8
|
+
import { IndexSyncLockError } from './sync-lock.js';
|
|
9
|
+
import { isIndexSyncVerbose } from './sync-log.js';
|
|
10
|
+
function rebuildMessage(reason) {
|
|
11
|
+
switch (reason) {
|
|
12
|
+
case 'missing':
|
|
13
|
+
return 'Building content index (not built)…';
|
|
14
|
+
case 'schema':
|
|
15
|
+
return 'Rebuilding content index (schema outdated)…';
|
|
16
|
+
case 'stale':
|
|
17
|
+
return 'Refreshing content index (stale >24h, incremental)…';
|
|
18
|
+
case 'invalidated-incremental':
|
|
19
|
+
return 'Refreshing content index (recent edits, incremental)…';
|
|
20
|
+
case 'invalidated-full':
|
|
21
|
+
return 'Rebuilding content index (catalog change, full)…';
|
|
22
|
+
default:
|
|
23
|
+
return 'Syncing content index…';
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Ensures the local content index exists and is current (schema v4, synced within 24h,
|
|
28
|
+
* and not invalidated by a committed write). Auto-sync: full rebuild when missing, schema
|
|
29
|
+
* outdated, or fully invalidated; incremental when only stale or incrementally invalidated.
|
|
30
|
+
*/
|
|
31
|
+
export async function ensureContentIndex(space, opts = {}) {
|
|
32
|
+
const preview = resolveIndexPreview(opts.preview);
|
|
33
|
+
const hydrated = await tryHydrateIndexFromCache(space, preview);
|
|
34
|
+
const reason = await resolveIndexSyncReason(space, preview);
|
|
35
|
+
if (reason === 'current') {
|
|
36
|
+
setIndexSyncMode(hydrated ? 'hydrate' : 'skip');
|
|
37
|
+
const syncedAt = getIndexSyncedAt(space, preview);
|
|
38
|
+
return {
|
|
39
|
+
syncedAt,
|
|
40
|
+
stale: syncedAt ? isSyncedAtStale(syncedAt) : true,
|
|
41
|
+
rebuilt: false,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
const mode = indexSyncModeForReason(reason);
|
|
45
|
+
if (!mode) {
|
|
46
|
+
const syncedAt = getIndexSyncedAt(space, preview);
|
|
47
|
+
return { syncedAt, stale: false, rebuilt: false };
|
|
48
|
+
}
|
|
49
|
+
opts.onRebuild?.(rebuildMessage(reason));
|
|
50
|
+
try {
|
|
51
|
+
const result = await runContentIndexSync(space, {
|
|
52
|
+
preview,
|
|
53
|
+
warnOnKeyCreated: true,
|
|
54
|
+
mode,
|
|
55
|
+
verbose: isIndexSyncVerbose(),
|
|
56
|
+
});
|
|
57
|
+
setIndexSyncMode(result.syncMode);
|
|
58
|
+
return {
|
|
59
|
+
syncedAt: result.syncedAt,
|
|
60
|
+
stale: false,
|
|
61
|
+
rebuilt: true,
|
|
62
|
+
syncMode: result.syncMode,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
if (err instanceof IndexSyncLockError) {
|
|
67
|
+
throw err;
|
|
68
|
+
}
|
|
69
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
70
|
+
throw new ContentIndexSyncError(`Content index sync failed (${detail}). Run: cms-edit index sync`, { cause: err });
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
export { getIndexSyncReason, INDEX_STALE_MS };
|
|
74
|
+
//# sourceMappingURL=require.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"require.js","sourceRoot":"","sources":["../../src/index/require.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { SpaceConfig } from '../config/types.js';
|
|
2
|
+
import { type SyncIndexResult } from './sync.js';
|
|
3
|
+
export type IndexSyncMode = 'full' | 'incremental';
|
|
4
|
+
export interface RunContentIndexSyncOptions {
|
|
5
|
+
preview?: boolean;
|
|
6
|
+
/** When true, log a warning if a delivery API key was auto-created. */
|
|
7
|
+
warnOnKeyCreated?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* `full` — replace all rows (default for `cms-edit index sync`).
|
|
10
|
+
* `incremental` — upsert only items updated since last `syncedAt` (auto-refresh when stale).
|
|
11
|
+
*/
|
|
12
|
+
mode?: IndexSyncMode;
|
|
13
|
+
/** Progress on stderr; also enabled with `LOG_CMS_INDEX=1`. */
|
|
14
|
+
verbose?: boolean;
|
|
15
|
+
/** When false, skip publishing the SQLite blob to the shared cache (internal). */
|
|
16
|
+
publishCache?: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Fetches CDA/CPA payload and rebuilds or merges into the local SQLite index.
|
|
20
|
+
*/
|
|
21
|
+
export declare function runContentIndexSync(space: SpaceConfig, opts?: RunContentIndexSyncOptions): Promise<SyncIndexResult>;
|
|
22
|
+
//# sourceMappingURL=run-sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-sync.d.ts","sourceRoot":"","sources":["../../src/index/run-sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAYtD,OAAO,EAML,KAAK,eAAe,EACrB,MAAM,WAAW,CAAC;AAGnB,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,aAAa,CAAC;AAEnD,MAAM,WAAW,0BAA0B;IACzC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kFAAkF;IAClF,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAkBD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,WAAW,EAClB,IAAI,GAAE,0BAA+B,GACpC,OAAO,CAAC,eAAe,CAAC,CAsE1B"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { fetchCdaIndexPayload } from '../contentful/cda-sync.js';
|
|
2
|
+
import { DEFAULT_DELIVERY_KEY_NAME, resolveDeliveryAccessToken, } from '../contentful/delivery-token.js';
|
|
3
|
+
import { warnMsg } from '../output/print.js';
|
|
4
|
+
import { withDistributedIndexSyncLock } from './distributed-sync-lock.js';
|
|
5
|
+
import { resolveIndexPreview } from './mode.js';
|
|
6
|
+
import { ensureIndexDirectory, getIndexDbPath } from './paths.js';
|
|
7
|
+
import { publishIndexCache } from './publish-cache.js';
|
|
8
|
+
import { getIndexSyncedAt } from './query.js';
|
|
9
|
+
import { getIndexSyncReason, indexSyncModeForReason, mergeIndexFromPayload, rebuildIndexFromPayload, resolveIndexSyncReason, } from './sync.js';
|
|
10
|
+
import { indexSyncVerbose, isIndexSyncVerbose } from './sync-log.js';
|
|
11
|
+
async function resolveSyncMode(space, preview, requested) {
|
|
12
|
+
if (requested === 'full')
|
|
13
|
+
return 'full';
|
|
14
|
+
if (requested === 'incremental')
|
|
15
|
+
return 'incremental';
|
|
16
|
+
const reason = await resolveIndexSyncReason(space, preview);
|
|
17
|
+
const fromReason = indexSyncModeForReason(reason);
|
|
18
|
+
if (fromReason)
|
|
19
|
+
return fromReason;
|
|
20
|
+
const legacyReason = getIndexSyncReason(space, preview);
|
|
21
|
+
return indexSyncModeForReason(legacyReason) ?? 'full';
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Fetches CDA/CPA payload and rebuilds or merges into the local SQLite index.
|
|
25
|
+
*/
|
|
26
|
+
export async function runContentIndexSync(space, opts = {}) {
|
|
27
|
+
const preview = resolveIndexPreview(opts.preview);
|
|
28
|
+
ensureIndexDirectory(space, preview);
|
|
29
|
+
const dbPath = getIndexDbPath(space, preview);
|
|
30
|
+
const mode = await resolveSyncMode(space, preview, opts.mode);
|
|
31
|
+
const verbose = opts.verbose === true || isIndexSyncVerbose();
|
|
32
|
+
const publishCache = opts.publishCache !== false;
|
|
33
|
+
return withDistributedIndexSyncLock(space, preview, dbPath, async () => {
|
|
34
|
+
if (verbose) {
|
|
35
|
+
indexSyncVerbose(`Starting ${mode} sync → ${dbPath}${preview ? ' (preview/draft)' : ' (published)'}`);
|
|
36
|
+
}
|
|
37
|
+
if (verbose)
|
|
38
|
+
indexSyncVerbose('Resolving CDN access token…');
|
|
39
|
+
const resolved = await resolveDeliveryAccessToken(space, { preview });
|
|
40
|
+
if (verbose) {
|
|
41
|
+
indexSyncVerbose(`Token source: ${resolved.source}` +
|
|
42
|
+
(resolved.apiKeyId ? `, API key ${resolved.apiKeyId}` : ''));
|
|
43
|
+
}
|
|
44
|
+
if (opts.warnOnKeyCreated && resolved.source === 'created-key') {
|
|
45
|
+
warnMsg(`Created Content Delivery API key "${DEFAULT_DELIVERY_KEY_NAME}" in this space. ` +
|
|
46
|
+
'Review API keys in Contentful and disable autoCreateDeliveryApiKey when not needed.');
|
|
47
|
+
}
|
|
48
|
+
const updatedSince = mode === 'incremental' ? (getIndexSyncedAt(space, preview) ?? undefined) : undefined;
|
|
49
|
+
const payload = await fetchCdaIndexPayload(space, resolved.accessToken, preview, {
|
|
50
|
+
updatedSince,
|
|
51
|
+
verbose,
|
|
52
|
+
});
|
|
53
|
+
if (verbose) {
|
|
54
|
+
indexSyncVerbose(`Writing SQLite (${mode}): ${String(payload.assets.length)} assets, ` +
|
|
55
|
+
`${String(payload.media.length)} media, ${String(payload.references.length)} catalog rows`);
|
|
56
|
+
}
|
|
57
|
+
const syncOptions = {
|
|
58
|
+
preview,
|
|
59
|
+
accessToken: resolved.accessToken,
|
|
60
|
+
apiKeyId: resolved.apiKeyId,
|
|
61
|
+
payload,
|
|
62
|
+
};
|
|
63
|
+
const result = mode === 'incremental' && updatedSince
|
|
64
|
+
? mergeIndexFromPayload(space, syncOptions)
|
|
65
|
+
: rebuildIndexFromPayload(space, syncOptions);
|
|
66
|
+
if (verbose) {
|
|
67
|
+
indexSyncVerbose(`Done (${result.syncMode}): ${String(result.assetCount)} assets, ` +
|
|
68
|
+
`${String(result.mediaCount)} media, ${String(result.referenceCount)} catalog in index`);
|
|
69
|
+
}
|
|
70
|
+
if (publishCache) {
|
|
71
|
+
await publishIndexCache(space, preview, result);
|
|
72
|
+
}
|
|
73
|
+
return result;
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=run-sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-sync.js","sourceRoot":"","sources":["../../src/index/run-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const SCHEMA_VERSION = 4;
|
|
2
|
+
export declare const CATALOG_CONTENT_TYPES: readonly ["page", "article", "pageVariant", "template", "articleType", "tagType", "tag", "navigation", "navigationItem"];
|
|
3
|
+
export type CatalogContentType = (typeof CATALOG_CONTENT_TYPES)[number];
|
|
4
|
+
/** @deprecated Use {@link CATALOG_CONTENT_TYPES}. */
|
|
5
|
+
export declare const REFERENCE_CONTENT_TYPES: readonly ["page", "article", "pageVariant", "template", "articleType", "tagType", "tag", "navigation", "navigationItem"];
|
|
6
|
+
/** @deprecated Use {@link CatalogContentType}. */
|
|
7
|
+
export type ReferenceContentType = CatalogContentType;
|
|
8
|
+
export declare function isCatalogContentType(type: string): type is CatalogContentType;
|
|
9
|
+
/** @deprecated Use {@link isCatalogContentType}. */
|
|
10
|
+
export declare function isReferenceContentType(type: string): type is ReferenceContentType;
|
|
11
|
+
export declare const TABLE_DDL = "\nCREATE TABLE IF NOT EXISTS meta (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS assets (\n id TEXT PRIMARY KEY,\n fileName TEXT NOT NULL,\n title TEXT NOT NULL,\n description TEXT,\n contentType TEXT NOT NULL,\n url TEXT NOT NULL,\n width INTEGER,\n height INTEGER,\n size INTEGER,\n updatedAt TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS media (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n assetId TEXT NOT NULL,\n assetFileName TEXT NOT NULL,\n updatedAt TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS reference_entries (\n id TEXT PRIMARY KEY,\n contentType TEXT NOT NULL,\n slug TEXT,\n label TEXT NOT NULL,\n cmsLabel TEXT,\n updatedAt TEXT NOT NULL,\n tagTypeSlug TEXT,\n articleTypeSlug TEXT,\n date TEXT\n);\n";
|
|
12
|
+
/** Indexes on columns present in schema v1/v2 (safe before v3 column migration). */
|
|
13
|
+
export declare const BASE_INDEX_DDL = "\nCREATE INDEX IF NOT EXISTS idx_assets_fileName ON assets(fileName);\nCREATE INDEX IF NOT EXISTS idx_assets_title ON assets(title);\nCREATE INDEX IF NOT EXISTS idx_media_assetId ON media(assetId);\nCREATE INDEX IF NOT EXISTS idx_media_assetFileName ON media(assetFileName);\nCREATE INDEX IF NOT EXISTS idx_ref_type_slug ON reference_entries(contentType, slug);\nCREATE INDEX IF NOT EXISTS idx_ref_type_label ON reference_entries(contentType, label);\n";
|
|
14
|
+
/** Indexes on schema v3 catalog columns — applied after migrateReferenceEntriesTable. */
|
|
15
|
+
export declare const REFERENCE_V3_INDEX_DDL = "\nCREATE INDEX IF NOT EXISTS idx_ref_type_cms_label ON reference_entries(contentType, cmsLabel);\nCREATE INDEX IF NOT EXISTS idx_ref_tag_type_slug ON reference_entries(contentType, tagTypeSlug);\nCREATE INDEX IF NOT EXISTS idx_ref_article_type_slug ON reference_entries(contentType, articleTypeSlug);\n";
|
|
16
|
+
/** Indexes on schema v4 article date column — applied after migrateReferenceEntriesTable. */
|
|
17
|
+
export declare const REFERENCE_V4_INDEX_DDL = "\nCREATE INDEX IF NOT EXISTS idx_ref_article_date ON reference_entries(contentType, date);\n";
|
|
18
|
+
export declare const DDL = "\nCREATE TABLE IF NOT EXISTS meta (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS assets (\n id TEXT PRIMARY KEY,\n fileName TEXT NOT NULL,\n title TEXT NOT NULL,\n description TEXT,\n contentType TEXT NOT NULL,\n url TEXT NOT NULL,\n width INTEGER,\n height INTEGER,\n size INTEGER,\n updatedAt TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS media (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n assetId TEXT NOT NULL,\n assetFileName TEXT NOT NULL,\n updatedAt TEXT NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS reference_entries (\n id TEXT PRIMARY KEY,\n contentType TEXT NOT NULL,\n slug TEXT,\n label TEXT NOT NULL,\n cmsLabel TEXT,\n updatedAt TEXT NOT NULL,\n tagTypeSlug TEXT,\n articleTypeSlug TEXT,\n date TEXT\n);\n\nCREATE INDEX IF NOT EXISTS idx_assets_fileName ON assets(fileName);\nCREATE INDEX IF NOT EXISTS idx_assets_title ON assets(title);\nCREATE INDEX IF NOT EXISTS idx_media_assetId ON media(assetId);\nCREATE INDEX IF NOT EXISTS idx_media_assetFileName ON media(assetFileName);\nCREATE INDEX IF NOT EXISTS idx_ref_type_slug ON reference_entries(contentType, slug);\nCREATE INDEX IF NOT EXISTS idx_ref_type_label ON reference_entries(contentType, label);\n\nCREATE INDEX IF NOT EXISTS idx_ref_type_cms_label ON reference_entries(contentType, cmsLabel);\nCREATE INDEX IF NOT EXISTS idx_ref_tag_type_slug ON reference_entries(contentType, tagTypeSlug);\nCREATE INDEX IF NOT EXISTS idx_ref_article_type_slug ON reference_entries(contentType, articleTypeSlug);\n\nCREATE INDEX IF NOT EXISTS idx_ref_article_date ON reference_entries(contentType, date);\n";
|
|
19
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/index/schema.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,eAAO,MAAM,qBAAqB,0HAUxB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAExE,qDAAqD;AACrD,eAAO,MAAM,uBAAuB,0HAAwB,CAAC;AAE7D,kDAAkD;AAClD,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEtD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,kBAAkB,CAE7E;AAED,oDAAoD;AACpD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,oBAAoB,CAEjF;AAED,eAAO,MAAM,SAAS,uxBAsCrB,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,cAAc,ycAO1B,CAAC;AAEF,yFAAyF;AACzF,eAAO,MAAM,sBAAsB,mTAIlC,CAAC;AAEF,6FAA6F;AAC7F,eAAO,MAAM,sBAAsB,iGAElC,CAAC;AAEF,eAAO,MAAM,GAAG,qmDAAoF,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
export const SCHEMA_VERSION = 4;
|
|
2
|
+
export const CATALOG_CONTENT_TYPES = [
|
|
3
|
+
'page',
|
|
4
|
+
'article',
|
|
5
|
+
'pageVariant',
|
|
6
|
+
'template',
|
|
7
|
+
'articleType',
|
|
8
|
+
'tagType',
|
|
9
|
+
'tag',
|
|
10
|
+
'navigation',
|
|
11
|
+
'navigationItem',
|
|
12
|
+
];
|
|
13
|
+
/** @deprecated Use {@link CATALOG_CONTENT_TYPES}. */
|
|
14
|
+
export const REFERENCE_CONTENT_TYPES = CATALOG_CONTENT_TYPES;
|
|
15
|
+
export function isCatalogContentType(type) {
|
|
16
|
+
return CATALOG_CONTENT_TYPES.includes(type);
|
|
17
|
+
}
|
|
18
|
+
/** @deprecated Use {@link isCatalogContentType}. */
|
|
19
|
+
export function isReferenceContentType(type) {
|
|
20
|
+
return isCatalogContentType(type);
|
|
21
|
+
}
|
|
22
|
+
export const TABLE_DDL = `
|
|
23
|
+
CREATE TABLE IF NOT EXISTS meta (
|
|
24
|
+
key TEXT PRIMARY KEY,
|
|
25
|
+
value TEXT NOT NULL
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
CREATE TABLE IF NOT EXISTS assets (
|
|
29
|
+
id TEXT PRIMARY KEY,
|
|
30
|
+
fileName TEXT NOT NULL,
|
|
31
|
+
title TEXT NOT NULL,
|
|
32
|
+
description TEXT,
|
|
33
|
+
contentType TEXT NOT NULL,
|
|
34
|
+
url TEXT NOT NULL,
|
|
35
|
+
width INTEGER,
|
|
36
|
+
height INTEGER,
|
|
37
|
+
size INTEGER,
|
|
38
|
+
updatedAt TEXT NOT NULL
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
CREATE TABLE IF NOT EXISTS media (
|
|
42
|
+
id TEXT PRIMARY KEY,
|
|
43
|
+
name TEXT NOT NULL,
|
|
44
|
+
assetId TEXT NOT NULL,
|
|
45
|
+
assetFileName TEXT NOT NULL,
|
|
46
|
+
updatedAt TEXT NOT NULL
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
CREATE TABLE IF NOT EXISTS reference_entries (
|
|
50
|
+
id TEXT PRIMARY KEY,
|
|
51
|
+
contentType TEXT NOT NULL,
|
|
52
|
+
slug TEXT,
|
|
53
|
+
label TEXT NOT NULL,
|
|
54
|
+
cmsLabel TEXT,
|
|
55
|
+
updatedAt TEXT NOT NULL,
|
|
56
|
+
tagTypeSlug TEXT,
|
|
57
|
+
articleTypeSlug TEXT,
|
|
58
|
+
date TEXT
|
|
59
|
+
);
|
|
60
|
+
`;
|
|
61
|
+
/** Indexes on columns present in schema v1/v2 (safe before v3 column migration). */
|
|
62
|
+
export const BASE_INDEX_DDL = `
|
|
63
|
+
CREATE INDEX IF NOT EXISTS idx_assets_fileName ON assets(fileName);
|
|
64
|
+
CREATE INDEX IF NOT EXISTS idx_assets_title ON assets(title);
|
|
65
|
+
CREATE INDEX IF NOT EXISTS idx_media_assetId ON media(assetId);
|
|
66
|
+
CREATE INDEX IF NOT EXISTS idx_media_assetFileName ON media(assetFileName);
|
|
67
|
+
CREATE INDEX IF NOT EXISTS idx_ref_type_slug ON reference_entries(contentType, slug);
|
|
68
|
+
CREATE INDEX IF NOT EXISTS idx_ref_type_label ON reference_entries(contentType, label);
|
|
69
|
+
`;
|
|
70
|
+
/** Indexes on schema v3 catalog columns — applied after migrateReferenceEntriesTable. */
|
|
71
|
+
export const REFERENCE_V3_INDEX_DDL = `
|
|
72
|
+
CREATE INDEX IF NOT EXISTS idx_ref_type_cms_label ON reference_entries(contentType, cmsLabel);
|
|
73
|
+
CREATE INDEX IF NOT EXISTS idx_ref_tag_type_slug ON reference_entries(contentType, tagTypeSlug);
|
|
74
|
+
CREATE INDEX IF NOT EXISTS idx_ref_article_type_slug ON reference_entries(contentType, articleTypeSlug);
|
|
75
|
+
`;
|
|
76
|
+
/** Indexes on schema v4 article date column — applied after migrateReferenceEntriesTable. */
|
|
77
|
+
export const REFERENCE_V4_INDEX_DDL = `
|
|
78
|
+
CREATE INDEX IF NOT EXISTS idx_ref_article_date ON reference_entries(contentType, date);
|
|
79
|
+
`;
|
|
80
|
+
export const DDL = `${TABLE_DDL}${BASE_INDEX_DDL}${REFERENCE_V3_INDEX_DDL}${REFERENCE_V4_INDEX_DDL}`;
|
|
81
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/index/schema.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEhC,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM;IACN,SAAS;IACT,aAAa;IACb,UAAU;IACV,aAAa;IACb,SAAS;IACT,KAAK;IACL,YAAY;IACZ,gBAAgB;CACR,CAAC;AAIX,qDAAqD;AACrD,MAAM,CAAC,MAAM,uBAAuB,GAAG,qBAAqB,CAAC;AAK7D,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAQ,qBAA2C,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrE,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCxB,CAAC;AAEF,oFAAoF;AACpF,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;CAO7B,CAAC;AAEF,yFAAyF;AACzF,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;CAIrC,CAAC;AAEF,6FAA6F;AAC7F,MAAM,CAAC,MAAM,sBAAsB,GAAG;;CAErC,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,SAAS,GAAG,cAAc,GAAG,sBAAsB,GAAG,sBAAsB,EAAE,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare class IndexSyncLockError extends Error {
|
|
2
|
+
constructor(message: string);
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Ensures only one process syncs a given index database at a time.
|
|
6
|
+
* Fails immediately if a non-stale lock is already held.
|
|
7
|
+
*/
|
|
8
|
+
export declare function withIndexSyncLock<T>(dbPath: string, fn: () => Promise<T>): Promise<T>;
|
|
9
|
+
//# sourceMappingURL=sync-lock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-lock.d.ts","sourceRoot":"","sources":["../../src/index/sync-lock.ts"],"names":[],"mappings":"AAKA,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAwFD;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAa3F"}
|