@kywi-software/core 0.7.1 → 0.8.0
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/AGENT-PATTERNS.md +9 -1
- package/dist/admin/layout-editor/admin-escape-hatch.d.ts +18 -0
- package/dist/admin/layout-editor/admin-escape-hatch.d.ts.map +1 -0
- package/dist/admin/layout-editor/admin-escape-hatch.js +19 -0
- package/dist/admin/layout-editor/admin-escape-hatch.js.map +1 -0
- package/dist/admin/layout-editor/editor-canvas.d.ts +6 -0
- package/dist/admin/layout-editor/editor-canvas.d.ts.map +1 -1
- package/dist/admin/layout-editor/editor-canvas.js +45 -5
- package/dist/admin/layout-editor/editor-canvas.js.map +1 -1
- package/dist/admin/layout-editor/editor-state.d.ts +23 -0
- package/dist/admin/layout-editor/editor-state.d.ts.map +1 -1
- package/dist/admin/layout-editor/editor-state.js +42 -0
- package/dist/admin/layout-editor/editor-state.js.map +1 -1
- package/dist/admin/layout-editor/editor.css +121 -8
- package/dist/admin/layout-editor/layout-editor.d.ts.map +1 -1
- package/dist/admin/layout-editor/layout-editor.js +9 -1
- package/dist/admin/layout-editor/layout-editor.js.map +1 -1
- package/dist/admin/layout-editor/module-overlay.d.ts +10 -1
- package/dist/admin/layout-editor/module-overlay.d.ts.map +1 -1
- package/dist/admin/layout-editor/module-overlay.js +17 -6
- package/dist/admin/layout-editor/module-overlay.js.map +1 -1
- package/dist/admin/layout-editor/overlay-shell.d.ts +11 -1
- package/dist/admin/layout-editor/overlay-shell.d.ts.map +1 -1
- package/dist/admin/layout-editor/overlay-shell.js +51 -3
- package/dist/admin/layout-editor/overlay-shell.js.map +1 -1
- package/dist/admin/layout-editor/props-panel.d.ts +10 -1
- package/dist/admin/layout-editor/props-panel.d.ts.map +1 -1
- package/dist/admin/layout-editor/props-panel.js +32 -2
- package/dist/admin/layout-editor/props-panel.js.map +1 -1
- package/dist/admin/layout-editor/section-overlay.d.ts +7 -1
- package/dist/admin/layout-editor/section-overlay.d.ts.map +1 -1
- package/dist/admin/layout-editor/section-overlay.js +13 -3
- package/dist/admin/layout-editor/section-overlay.js.map +1 -1
- package/dist/admin/layout-editor/section-variant-container-config.d.ts.map +1 -1
- package/dist/admin/layout-editor/section-variant-container-config.js +2 -1
- package/dist/admin/layout-editor/section-variant-container-config.js.map +1 -1
- package/dist/admin/layout-editor/use-chrome-flip.d.ts +42 -0
- package/dist/admin/layout-editor/use-chrome-flip.d.ts.map +1 -0
- package/dist/admin/layout-editor/use-chrome-flip.js +97 -0
- package/dist/admin/layout-editor/use-chrome-flip.js.map +1 -0
- package/dist/admin/layout-editor/variant-container-config.d.ts.map +1 -1
- package/dist/admin/layout-editor/variant-container-config.js +2 -1
- package/dist/admin/layout-editor/variant-container-config.js.map +1 -1
- package/dist/admin/styles/admin.css +14 -1
- package/dist/layout/index.d.ts +1 -0
- package/dist/layout/index.d.ts.map +1 -1
- package/dist/layout/index.js.map +1 -1
- package/package.json +2 -1
- package/dist/__tests__/api-key-manager.test.d.ts +0 -2
- package/dist/__tests__/api-key-manager.test.d.ts.map +0 -1
- package/dist/__tests__/api-key-manager.test.js +0 -74
- package/dist/__tests__/api-key-manager.test.js.map +0 -1
- package/dist/__tests__/integration.test.d.ts +0 -2
- package/dist/__tests__/integration.test.d.ts.map +0 -1
- package/dist/__tests__/integration.test.js +0 -117
- package/dist/__tests__/integration.test.js.map +0 -1
- package/dist/__tests__/journey-02.test.d.ts +0 -2
- package/dist/__tests__/journey-02.test.d.ts.map +0 -1
- package/dist/__tests__/journey-02.test.js +0 -462
- package/dist/__tests__/journey-02.test.js.map +0 -1
- package/dist/__tests__/nav-web-services.test.d.ts +0 -2
- package/dist/__tests__/nav-web-services.test.d.ts.map +0 -1
- package/dist/__tests__/nav-web-services.test.js +0 -47
- package/dist/__tests__/nav-web-services.test.js.map +0 -1
- package/dist/__tests__/oauth-client-queries.test.d.ts +0 -2
- package/dist/__tests__/oauth-client-queries.test.d.ts.map +0 -1
- package/dist/__tests__/oauth-client-queries.test.js +0 -33
- package/dist/__tests__/oauth-client-queries.test.js.map +0 -1
- package/dist/__tests__/oauth-manager.test.d.ts +0 -2
- package/dist/__tests__/oauth-manager.test.d.ts.map +0 -1
- package/dist/__tests__/oauth-manager.test.js +0 -81
- package/dist/__tests__/oauth-manager.test.js.map +0 -1
- package/dist/__tests__/oauth-routes.test.d.ts +0 -2
- package/dist/__tests__/oauth-routes.test.d.ts.map +0 -1
- package/dist/__tests__/oauth-routes.test.js +0 -190
- package/dist/__tests__/oauth-routes.test.js.map +0 -1
- package/dist/__tests__/test-utils.d.ts +0 -19
- package/dist/__tests__/test-utils.d.ts.map +0 -1
- package/dist/__tests__/test-utils.js +0 -105
- package/dist/__tests__/test-utils.js.map +0 -1
- package/dist/admin/__tests__/approval-queue.test.d.ts +0 -2
- package/dist/admin/__tests__/approval-queue.test.d.ts.map +0 -1
- package/dist/admin/__tests__/approval-queue.test.js +0 -100
- package/dist/admin/__tests__/approval-queue.test.js.map +0 -1
- package/dist/admin/__tests__/audience-editor.test.d.ts +0 -2
- package/dist/admin/__tests__/audience-editor.test.d.ts.map +0 -1
- package/dist/admin/__tests__/audience-editor.test.js +0 -31
- package/dist/admin/__tests__/audience-editor.test.js.map +0 -1
- package/dist/admin/__tests__/audience-list.test.d.ts +0 -2
- package/dist/admin/__tests__/audience-list.test.d.ts.map +0 -1
- package/dist/admin/__tests__/audience-list.test.js +0 -25
- package/dist/admin/__tests__/audience-list.test.js.map +0 -1
- package/dist/admin/__tests__/changeset-manager.test.d.ts +0 -2
- package/dist/admin/__tests__/changeset-manager.test.d.ts.map +0 -1
- package/dist/admin/__tests__/changeset-manager.test.js +0 -178
- package/dist/admin/__tests__/changeset-manager.test.js.map +0 -1
- package/dist/admin/__tests__/content-editor-api.test.d.ts +0 -2
- package/dist/admin/__tests__/content-editor-api.test.d.ts.map +0 -1
- package/dist/admin/__tests__/content-editor-api.test.js +0 -274
- package/dist/admin/__tests__/content-editor-api.test.js.map +0 -1
- package/dist/admin/__tests__/content-form-interaction.test.d.ts +0 -2
- package/dist/admin/__tests__/content-form-interaction.test.d.ts.map +0 -1
- package/dist/admin/__tests__/content-form-interaction.test.js +0 -118
- package/dist/admin/__tests__/content-form-interaction.test.js.map +0 -1
- package/dist/admin/__tests__/content-form.test.d.ts +0 -2
- package/dist/admin/__tests__/content-form.test.d.ts.map +0 -1
- package/dist/admin/__tests__/content-form.test.js +0 -323
- package/dist/admin/__tests__/content-form.test.js.map +0 -1
- package/dist/admin/__tests__/content-list-toolbar.test.d.ts +0 -2
- package/dist/admin/__tests__/content-list-toolbar.test.d.ts.map +0 -1
- package/dist/admin/__tests__/content-list-toolbar.test.js +0 -102
- package/dist/admin/__tests__/content-list-toolbar.test.js.map +0 -1
- package/dist/admin/__tests__/content-list.test.d.ts +0 -2
- package/dist/admin/__tests__/content-list.test.d.ts.map +0 -1
- package/dist/admin/__tests__/content-list.test.js +0 -80
- package/dist/admin/__tests__/content-list.test.js.map +0 -1
- package/dist/admin/__tests__/content-lock-indicators.test.d.ts +0 -2
- package/dist/admin/__tests__/content-lock-indicators.test.d.ts.map +0 -1
- package/dist/admin/__tests__/content-lock-indicators.test.js +0 -104
- package/dist/admin/__tests__/content-lock-indicators.test.js.map +0 -1
- package/dist/admin/__tests__/content-permission-browser.test.d.ts +0 -2
- package/dist/admin/__tests__/content-permission-browser.test.d.ts.map +0 -1
- package/dist/admin/__tests__/content-permission-browser.test.js +0 -100
- package/dist/admin/__tests__/content-permission-browser.test.js.map +0 -1
- package/dist/admin/__tests__/display-interval-fields.test.d.ts +0 -2
- package/dist/admin/__tests__/display-interval-fields.test.d.ts.map +0 -1
- package/dist/admin/__tests__/display-interval-fields.test.js +0 -73
- package/dist/admin/__tests__/display-interval-fields.test.js.map +0 -1
- package/dist/admin/__tests__/extension-manager.test.d.ts +0 -2
- package/dist/admin/__tests__/extension-manager.test.d.ts.map +0 -1
- package/dist/admin/__tests__/extension-manager.test.js +0 -168
- package/dist/admin/__tests__/extension-manager.test.js.map +0 -1
- package/dist/admin/__tests__/feed-builder.test.d.ts +0 -2
- package/dist/admin/__tests__/feed-builder.test.d.ts.map +0 -1
- package/dist/admin/__tests__/feed-builder.test.js +0 -120
- package/dist/admin/__tests__/feed-builder.test.js.map +0 -1
- package/dist/admin/__tests__/field-components.test.d.ts +0 -2
- package/dist/admin/__tests__/field-components.test.d.ts.map +0 -1
- package/dist/admin/__tests__/field-components.test.js +0 -78
- package/dist/admin/__tests__/field-components.test.js.map +0 -1
- package/dist/admin/__tests__/form-builder.test.d.ts +0 -2
- package/dist/admin/__tests__/form-builder.test.d.ts.map +0 -1
- package/dist/admin/__tests__/form-builder.test.js +0 -125
- package/dist/admin/__tests__/form-builder.test.js.map +0 -1
- package/dist/admin/__tests__/form-helpers.test.d.ts +0 -2
- package/dist/admin/__tests__/form-helpers.test.d.ts.map +0 -1
- package/dist/admin/__tests__/form-helpers.test.js +0 -69
- package/dist/admin/__tests__/form-helpers.test.js.map +0 -1
- package/dist/admin/__tests__/group-manager.test.d.ts +0 -2
- package/dist/admin/__tests__/group-manager.test.d.ts.map +0 -1
- package/dist/admin/__tests__/group-manager.test.js +0 -61
- package/dist/admin/__tests__/group-manager.test.js.map +0 -1
- package/dist/admin/__tests__/json-field.test.d.ts +0 -2
- package/dist/admin/__tests__/json-field.test.d.ts.map +0 -1
- package/dist/admin/__tests__/json-field.test.js +0 -89
- package/dist/admin/__tests__/json-field.test.js.map +0 -1
- package/dist/admin/__tests__/locale-switcher.test.d.ts +0 -2
- package/dist/admin/__tests__/locale-switcher.test.d.ts.map +0 -1
- package/dist/admin/__tests__/locale-switcher.test.js +0 -88
- package/dist/admin/__tests__/locale-switcher.test.js.map +0 -1
- package/dist/admin/__tests__/media-grid.test.d.ts +0 -2
- package/dist/admin/__tests__/media-grid.test.d.ts.map +0 -1
- package/dist/admin/__tests__/media-grid.test.js +0 -50
- package/dist/admin/__tests__/media-grid.test.js.map +0 -1
- package/dist/admin/__tests__/media-library-helpers.test.d.ts +0 -2
- package/dist/admin/__tests__/media-library-helpers.test.d.ts.map +0 -1
- package/dist/admin/__tests__/media-library-helpers.test.js +0 -141
- package/dist/admin/__tests__/media-library-helpers.test.js.map +0 -1
- package/dist/admin/__tests__/media-library.test.d.ts +0 -2
- package/dist/admin/__tests__/media-library.test.d.ts.map +0 -1
- package/dist/admin/__tests__/media-library.test.js +0 -82
- package/dist/admin/__tests__/media-library.test.js.map +0 -1
- package/dist/admin/__tests__/media-picker.test.d.ts +0 -2
- package/dist/admin/__tests__/media-picker.test.d.ts.map +0 -1
- package/dist/admin/__tests__/media-picker.test.js +0 -92
- package/dist/admin/__tests__/media-picker.test.js.map +0 -1
- package/dist/admin/__tests__/media-pool.test.d.ts +0 -2
- package/dist/admin/__tests__/media-pool.test.d.ts.map +0 -1
- package/dist/admin/__tests__/media-pool.test.js +0 -87
- package/dist/admin/__tests__/media-pool.test.js.map +0 -1
- package/dist/admin/__tests__/nav.test.d.ts +0 -2
- package/dist/admin/__tests__/nav.test.d.ts.map +0 -1
- package/dist/admin/__tests__/nav.test.js +0 -91
- package/dist/admin/__tests__/nav.test.js.map +0 -1
- package/dist/admin/__tests__/permission-matrix.test.d.ts +0 -2
- package/dist/admin/__tests__/permission-matrix.test.d.ts.map +0 -1
- package/dist/admin/__tests__/permission-matrix.test.js +0 -49
- package/dist/admin/__tests__/permission-matrix.test.js.map +0 -1
- package/dist/admin/__tests__/permissions-info.test.d.ts +0 -2
- package/dist/admin/__tests__/permissions-info.test.d.ts.map +0 -1
- package/dist/admin/__tests__/permissions-info.test.js +0 -34
- package/dist/admin/__tests__/permissions-info.test.js.map +0 -1
- package/dist/admin/__tests__/plugin-manager.test.d.ts +0 -2
- package/dist/admin/__tests__/plugin-manager.test.d.ts.map +0 -1
- package/dist/admin/__tests__/plugin-manager.test.js +0 -159
- package/dist/admin/__tests__/plugin-manager.test.js.map +0 -1
- package/dist/admin/__tests__/relationship-field.test.d.ts +0 -2
- package/dist/admin/__tests__/relationship-field.test.d.ts.map +0 -1
- package/dist/admin/__tests__/relationship-field.test.js +0 -57
- package/dist/admin/__tests__/relationship-field.test.js.map +0 -1
- package/dist/admin/__tests__/relationship-picker.test.d.ts +0 -2
- package/dist/admin/__tests__/relationship-picker.test.d.ts.map +0 -1
- package/dist/admin/__tests__/relationship-picker.test.js +0 -73
- package/dist/admin/__tests__/relationship-picker.test.js.map +0 -1
- package/dist/admin/__tests__/rule-tester.test.d.ts +0 -2
- package/dist/admin/__tests__/rule-tester.test.d.ts.map +0 -1
- package/dist/admin/__tests__/rule-tester.test.js +0 -71
- package/dist/admin/__tests__/rule-tester.test.js.map +0 -1
- package/dist/admin/__tests__/selfid-widget-builder-triggers.test.d.ts +0 -2
- package/dist/admin/__tests__/selfid-widget-builder-triggers.test.d.ts.map +0 -1
- package/dist/admin/__tests__/selfid-widget-builder-triggers.test.js +0 -134
- package/dist/admin/__tests__/selfid-widget-builder-triggers.test.js.map +0 -1
- package/dist/admin/__tests__/shell.test.d.ts +0 -2
- package/dist/admin/__tests__/shell.test.d.ts.map +0 -1
- package/dist/admin/__tests__/shell.test.js +0 -56
- package/dist/admin/__tests__/shell.test.js.map +0 -1
- package/dist/admin/__tests__/signal-options.test.d.ts +0 -2
- package/dist/admin/__tests__/signal-options.test.d.ts.map +0 -1
- package/dist/admin/__tests__/signal-options.test.js +0 -38
- package/dist/admin/__tests__/signal-options.test.js.map +0 -1
- package/dist/admin/__tests__/site-settings.test.d.ts +0 -2
- package/dist/admin/__tests__/site-settings.test.d.ts.map +0 -1
- package/dist/admin/__tests__/site-settings.test.js +0 -239
- package/dist/admin/__tests__/site-settings.test.js.map +0 -1
- package/dist/admin/__tests__/site-switcher-filtering.test.d.ts +0 -2
- package/dist/admin/__tests__/site-switcher-filtering.test.d.ts.map +0 -1
- package/dist/admin/__tests__/site-switcher-filtering.test.js +0 -50
- package/dist/admin/__tests__/site-switcher-filtering.test.js.map +0 -1
- package/dist/admin/__tests__/site-switcher.test.d.ts +0 -2
- package/dist/admin/__tests__/site-switcher.test.d.ts.map +0 -1
- package/dist/admin/__tests__/site-switcher.test.js +0 -82
- package/dist/admin/__tests__/site-switcher.test.js.map +0 -1
- package/dist/admin/__tests__/site-tree.test.d.ts +0 -2
- package/dist/admin/__tests__/site-tree.test.d.ts.map +0 -1
- package/dist/admin/__tests__/site-tree.test.js +0 -554
- package/dist/admin/__tests__/site-tree.test.js.map +0 -1
- package/dist/admin/__tests__/status-label.test.d.ts +0 -2
- package/dist/admin/__tests__/status-label.test.d.ts.map +0 -1
- package/dist/admin/__tests__/status-label.test.js +0 -18
- package/dist/admin/__tests__/status-label.test.js.map +0 -1
- package/dist/admin/__tests__/submission-viewer.test.d.ts +0 -2
- package/dist/admin/__tests__/submission-viewer.test.d.ts.map +0 -1
- package/dist/admin/__tests__/submission-viewer.test.js +0 -129
- package/dist/admin/__tests__/submission-viewer.test.js.map +0 -1
- package/dist/admin/__tests__/tiptap-editor.test.d.ts +0 -2
- package/dist/admin/__tests__/tiptap-editor.test.d.ts.map +0 -1
- package/dist/admin/__tests__/tiptap-editor.test.js +0 -8
- package/dist/admin/__tests__/tiptap-editor.test.js.map +0 -1
- package/dist/admin/__tests__/trash-list.test.d.ts +0 -2
- package/dist/admin/__tests__/trash-list.test.d.ts.map +0 -1
- package/dist/admin/__tests__/trash-list.test.js +0 -131
- package/dist/admin/__tests__/trash-list.test.js.map +0 -1
- package/dist/admin/__tests__/user-form.test.d.ts +0 -2
- package/dist/admin/__tests__/user-form.test.d.ts.map +0 -1
- package/dist/admin/__tests__/user-form.test.js +0 -114
- package/dist/admin/__tests__/user-form.test.js.map +0 -1
- package/dist/admin/__tests__/user-list.test.d.ts +0 -2
- package/dist/admin/__tests__/user-list.test.d.ts.map +0 -1
- package/dist/admin/__tests__/user-list.test.js +0 -128
- package/dist/admin/__tests__/user-list.test.js.map +0 -1
- package/dist/admin/__tests__/version-diff.test.d.ts +0 -2
- package/dist/admin/__tests__/version-diff.test.d.ts.map +0 -1
- package/dist/admin/__tests__/version-diff.test.js +0 -125
- package/dist/admin/__tests__/version-diff.test.js.map +0 -1
- package/dist/admin/inline-editor/__tests__/inline-toolbar.test.d.ts +0 -2
- package/dist/admin/inline-editor/__tests__/inline-toolbar.test.d.ts.map +0 -1
- package/dist/admin/inline-editor/__tests__/inline-toolbar.test.js +0 -186
- package/dist/admin/inline-editor/__tests__/inline-toolbar.test.js.map +0 -1
- package/dist/admin/layout-editor/__tests__/component-actions.test.d.ts +0 -2
- package/dist/admin/layout-editor/__tests__/component-actions.test.d.ts.map +0 -1
- package/dist/admin/layout-editor/__tests__/component-actions.test.js +0 -243
- package/dist/admin/layout-editor/__tests__/component-actions.test.js.map +0 -1
- package/dist/admin/layout-editor/__tests__/drop-indicator.test.d.ts +0 -2
- package/dist/admin/layout-editor/__tests__/drop-indicator.test.d.ts.map +0 -1
- package/dist/admin/layout-editor/__tests__/drop-indicator.test.js +0 -106
- package/dist/admin/layout-editor/__tests__/drop-indicator.test.js.map +0 -1
- package/dist/admin/layout-editor/__tests__/editor-canvas.test.d.ts +0 -2
- package/dist/admin/layout-editor/__tests__/editor-canvas.test.d.ts.map +0 -1
- package/dist/admin/layout-editor/__tests__/editor-canvas.test.js +0 -84
- package/dist/admin/layout-editor/__tests__/editor-canvas.test.js.map +0 -1
- package/dist/admin/layout-editor/__tests__/editor-state.test.d.ts +0 -2
- package/dist/admin/layout-editor/__tests__/editor-state.test.d.ts.map +0 -1
- package/dist/admin/layout-editor/__tests__/editor-state.test.js +0 -494
- package/dist/admin/layout-editor/__tests__/editor-state.test.js.map +0 -1
- package/dist/admin/layout-editor/__tests__/editor-toolbar.test.d.ts +0 -2
- package/dist/admin/layout-editor/__tests__/editor-toolbar.test.d.ts.map +0 -1
- package/dist/admin/layout-editor/__tests__/editor-toolbar.test.js +0 -85
- package/dist/admin/layout-editor/__tests__/editor-toolbar.test.js.map +0 -1
- package/dist/admin/layout-editor/__tests__/layout-editor-onchange.test.d.ts +0 -2
- package/dist/admin/layout-editor/__tests__/layout-editor-onchange.test.d.ts.map +0 -1
- package/dist/admin/layout-editor/__tests__/layout-editor-onchange.test.js +0 -121
- package/dist/admin/layout-editor/__tests__/layout-editor-onchange.test.js.map +0 -1
- package/dist/admin/layout-editor/__tests__/module-palette.test.d.ts +0 -2
- package/dist/admin/layout-editor/__tests__/module-palette.test.d.ts.map +0 -1
- package/dist/admin/layout-editor/__tests__/module-palette.test.js +0 -231
- package/dist/admin/layout-editor/__tests__/module-palette.test.js.map +0 -1
- package/dist/admin/layout-editor/__tests__/overlay-components.test.d.ts +0 -2
- package/dist/admin/layout-editor/__tests__/overlay-components.test.d.ts.map +0 -1
- package/dist/admin/layout-editor/__tests__/overlay-components.test.js +0 -219
- package/dist/admin/layout-editor/__tests__/overlay-components.test.js.map +0 -1
- package/dist/admin/layout-editor/__tests__/overlay-editor.test.d.ts +0 -2
- package/dist/admin/layout-editor/__tests__/overlay-editor.test.d.ts.map +0 -1
- package/dist/admin/layout-editor/__tests__/overlay-editor.test.js +0 -262
- package/dist/admin/layout-editor/__tests__/overlay-editor.test.js.map +0 -1
- package/dist/admin/layout-editor/__tests__/prop-field.test.d.ts +0 -2
- package/dist/admin/layout-editor/__tests__/prop-field.test.d.ts.map +0 -1
- package/dist/admin/layout-editor/__tests__/prop-field.test.js +0 -159
- package/dist/admin/layout-editor/__tests__/prop-field.test.js.map +0 -1
- package/dist/admin/layout-editor/__tests__/props-panel.test.d.ts +0 -2
- package/dist/admin/layout-editor/__tests__/props-panel.test.d.ts.map +0 -1
- package/dist/admin/layout-editor/__tests__/props-panel.test.js +0 -106
- package/dist/admin/layout-editor/__tests__/props-panel.test.js.map +0 -1
- package/dist/admin/layout-editor/__tests__/section-template-picker.test.d.ts +0 -2
- package/dist/admin/layout-editor/__tests__/section-template-picker.test.d.ts.map +0 -1
- package/dist/admin/layout-editor/__tests__/section-template-picker.test.js +0 -144
- package/dist/admin/layout-editor/__tests__/section-template-picker.test.js.map +0 -1
- package/dist/admin/layout-editor/__tests__/token-inputs.test.d.ts +0 -2
- package/dist/admin/layout-editor/__tests__/token-inputs.test.d.ts.map +0 -1
- package/dist/admin/layout-editor/__tests__/token-inputs.test.js +0 -156
- package/dist/admin/layout-editor/__tests__/token-inputs.test.js.map +0 -1
- package/dist/admin/layout-editor/__tests__/variant-editor.test.d.ts +0 -2
- package/dist/admin/layout-editor/__tests__/variant-editor.test.d.ts.map +0 -1
- package/dist/admin/layout-editor/__tests__/variant-editor.test.js +0 -127
- package/dist/admin/layout-editor/__tests__/variant-editor.test.js.map +0 -1
- package/dist/admin/permissions-info.d.ts +0 -9
- package/dist/admin/permissions-info.d.ts.map +0 -1
- package/dist/admin/permissions-info.js +0 -27
- package/dist/admin/permissions-info.js.map +0 -1
- package/dist/api/__tests__/adapter-proxy-routes.test.d.ts +0 -2
- package/dist/api/__tests__/adapter-proxy-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/adapter-proxy-routes.test.js +0 -72
- package/dist/api/__tests__/adapter-proxy-routes.test.js.map +0 -1
- package/dist/api/__tests__/admin-tree-routes.test.d.ts +0 -2
- package/dist/api/__tests__/admin-tree-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/admin-tree-routes.test.js +0 -60
- package/dist/api/__tests__/admin-tree-routes.test.js.map +0 -1
- package/dist/api/__tests__/audience-analytics-routes.test.d.ts +0 -2
- package/dist/api/__tests__/audience-analytics-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/audience-analytics-routes.test.js +0 -105
- package/dist/api/__tests__/audience-analytics-routes.test.js.map +0 -1
- package/dist/api/__tests__/audience-routes-site-scope.test.d.ts +0 -2
- package/dist/api/__tests__/audience-routes-site-scope.test.d.ts.map +0 -1
- package/dist/api/__tests__/audience-routes-site-scope.test.js +0 -101
- package/dist/api/__tests__/audience-routes-site-scope.test.js.map +0 -1
- package/dist/api/__tests__/auth-routes.test.d.ts +0 -2
- package/dist/api/__tests__/auth-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/auth-routes.test.js +0 -216
- package/dist/api/__tests__/auth-routes.test.js.map +0 -1
- package/dist/api/__tests__/auth.test.d.ts +0 -2
- package/dist/api/__tests__/auth.test.d.ts.map +0 -1
- package/dist/api/__tests__/auth.test.js +0 -67
- package/dist/api/__tests__/auth.test.js.map +0 -1
- package/dist/api/__tests__/authjs-routes.test.d.ts +0 -2
- package/dist/api/__tests__/authjs-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/authjs-routes.test.js +0 -32
- package/dist/api/__tests__/authjs-routes.test.js.map +0 -1
- package/dist/api/__tests__/ax-routes.test.d.ts +0 -2
- package/dist/api/__tests__/ax-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/ax-routes.test.js +0 -166
- package/dist/api/__tests__/ax-routes.test.js.map +0 -1
- package/dist/api/__tests__/brute-force-mfa-wiring.test.d.ts +0 -2
- package/dist/api/__tests__/brute-force-mfa-wiring.test.d.ts.map +0 -1
- package/dist/api/__tests__/brute-force-mfa-wiring.test.js +0 -208
- package/dist/api/__tests__/brute-force-mfa-wiring.test.js.map +0 -1
- package/dist/api/__tests__/bulk-routes.test.d.ts +0 -2
- package/dist/api/__tests__/bulk-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/bulk-routes.test.js +0 -233
- package/dist/api/__tests__/bulk-routes.test.js.map +0 -1
- package/dist/api/__tests__/cache-routes.test.d.ts +0 -2
- package/dist/api/__tests__/cache-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/cache-routes.test.js +0 -86
- package/dist/api/__tests__/cache-routes.test.js.map +0 -1
- package/dist/api/__tests__/cached-content-getters.test.d.ts +0 -2
- package/dist/api/__tests__/cached-content-getters.test.d.ts.map +0 -1
- package/dist/api/__tests__/cached-content-getters.test.js +0 -72
- package/dist/api/__tests__/cached-content-getters.test.js.map +0 -1
- package/dist/api/__tests__/category-routes-site-resolution.test.d.ts +0 -2
- package/dist/api/__tests__/category-routes-site-resolution.test.d.ts.map +0 -1
- package/dist/api/__tests__/category-routes-site-resolution.test.js +0 -70
- package/dist/api/__tests__/category-routes-site-resolution.test.js.map +0 -1
- package/dist/api/__tests__/changeset-routes.test.d.ts +0 -2
- package/dist/api/__tests__/changeset-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/changeset-routes.test.js +0 -232
- package/dist/api/__tests__/changeset-routes.test.js.map +0 -1
- package/dist/api/__tests__/config-routes.test.d.ts +0 -2
- package/dist/api/__tests__/config-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/config-routes.test.js +0 -108
- package/dist/api/__tests__/config-routes.test.js.map +0 -1
- package/dist/api/__tests__/content-locking.test.d.ts +0 -2
- package/dist/api/__tests__/content-locking.test.d.ts.map +0 -1
- package/dist/api/__tests__/content-locking.test.js +0 -240
- package/dist/api/__tests__/content-locking.test.js.map +0 -1
- package/dist/api/__tests__/content-permission-routes.test.d.ts +0 -2
- package/dist/api/__tests__/content-permission-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/content-permission-routes.test.js +0 -128
- package/dist/api/__tests__/content-permission-routes.test.js.map +0 -1
- package/dist/api/__tests__/content-routes-site-scope.test.d.ts +0 -2
- package/dist/api/__tests__/content-routes-site-scope.test.d.ts.map +0 -1
- package/dist/api/__tests__/content-routes-site-scope.test.js +0 -173
- package/dist/api/__tests__/content-routes-site-scope.test.js.map +0 -1
- package/dist/api/__tests__/content-routes.test.d.ts +0 -2
- package/dist/api/__tests__/content-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/content-routes.test.js +0 -366
- package/dist/api/__tests__/content-routes.test.js.map +0 -1
- package/dist/api/__tests__/content-schemas-validation.test.d.ts +0 -2
- package/dist/api/__tests__/content-schemas-validation.test.d.ts.map +0 -1
- package/dist/api/__tests__/content-schemas-validation.test.js +0 -47
- package/dist/api/__tests__/content-schemas-validation.test.js.map +0 -1
- package/dist/api/__tests__/content-schemas.test.d.ts +0 -2
- package/dist/api/__tests__/content-schemas.test.d.ts.map +0 -1
- package/dist/api/__tests__/content-schemas.test.js +0 -172
- package/dist/api/__tests__/content-schemas.test.js.map +0 -1
- package/dist/api/__tests__/content-stats-routes.test.d.ts +0 -2
- package/dist/api/__tests__/content-stats-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/content-stats-routes.test.js +0 -131
- package/dist/api/__tests__/content-stats-routes.test.js.map +0 -1
- package/dist/api/__tests__/content-type-routes.test.d.ts +0 -2
- package/dist/api/__tests__/content-type-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/content-type-routes.test.js +0 -135
- package/dist/api/__tests__/content-type-routes.test.js.map +0 -1
- package/dist/api/__tests__/dashboard-routes.test.d.ts +0 -2
- package/dist/api/__tests__/dashboard-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/dashboard-routes.test.js +0 -96
- package/dist/api/__tests__/dashboard-routes.test.js.map +0 -1
- package/dist/api/__tests__/email-admin-routes.test.d.ts +0 -2
- package/dist/api/__tests__/email-admin-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/email-admin-routes.test.js +0 -96
- package/dist/api/__tests__/email-admin-routes.test.js.map +0 -1
- package/dist/api/__tests__/experiment-routes.test.d.ts +0 -2
- package/dist/api/__tests__/experiment-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/experiment-routes.test.js +0 -171
- package/dist/api/__tests__/experiment-routes.test.js.map +0 -1
- package/dist/api/__tests__/extension-routes.test.d.ts +0 -2
- package/dist/api/__tests__/extension-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/extension-routes.test.js +0 -328
- package/dist/api/__tests__/extension-routes.test.js.map +0 -1
- package/dist/api/__tests__/feed-routes.test.d.ts +0 -2
- package/dist/api/__tests__/feed-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/feed-routes.test.js +0 -157
- package/dist/api/__tests__/feed-routes.test.js.map +0 -1
- package/dist/api/__tests__/feed-rss-route.test.d.ts +0 -2
- package/dist/api/__tests__/feed-rss-route.test.d.ts.map +0 -1
- package/dist/api/__tests__/feed-rss-route.test.js +0 -87
- package/dist/api/__tests__/feed-rss-route.test.js.map +0 -1
- package/dist/api/__tests__/form-routes-notification.test.d.ts +0 -2
- package/dist/api/__tests__/form-routes-notification.test.d.ts.map +0 -1
- package/dist/api/__tests__/form-routes-notification.test.js +0 -84
- package/dist/api/__tests__/form-routes-notification.test.js.map +0 -1
- package/dist/api/__tests__/form-routes-submit-storage.test.d.ts +0 -2
- package/dist/api/__tests__/form-routes-submit-storage.test.d.ts.map +0 -1
- package/dist/api/__tests__/form-routes-submit-storage.test.js +0 -60
- package/dist/api/__tests__/form-routes-submit-storage.test.js.map +0 -1
- package/dist/api/__tests__/form-routes.test.d.ts +0 -2
- package/dist/api/__tests__/form-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/form-routes.test.js +0 -62
- package/dist/api/__tests__/form-routes.test.js.map +0 -1
- package/dist/api/__tests__/generic-content-routes.test.d.ts +0 -2
- package/dist/api/__tests__/generic-content-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/generic-content-routes.test.js +0 -228
- package/dist/api/__tests__/generic-content-routes.test.js.map +0 -1
- package/dist/api/__tests__/group-routes.test.d.ts +0 -2
- package/dist/api/__tests__/group-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/group-routes.test.js +0 -279
- package/dist/api/__tests__/group-routes.test.js.map +0 -1
- package/dist/api/__tests__/layout-routes-module-gate.test.d.ts +0 -2
- package/dist/api/__tests__/layout-routes-module-gate.test.d.ts.map +0 -1
- package/dist/api/__tests__/layout-routes-module-gate.test.js +0 -113
- package/dist/api/__tests__/layout-routes-module-gate.test.js.map +0 -1
- package/dist/api/__tests__/magic-link-routes.test.d.ts +0 -2
- package/dist/api/__tests__/magic-link-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/magic-link-routes.test.js +0 -204
- package/dist/api/__tests__/magic-link-routes.test.js.map +0 -1
- package/dist/api/__tests__/media-routes-alias.test.d.ts +0 -2
- package/dist/api/__tests__/media-routes-alias.test.d.ts.map +0 -1
- package/dist/api/__tests__/media-routes-alias.test.js +0 -96
- package/dist/api/__tests__/media-routes-alias.test.js.map +0 -1
- package/dist/api/__tests__/media-routes-delete-references.test.d.ts +0 -2
- package/dist/api/__tests__/media-routes-delete-references.test.d.ts.map +0 -1
- package/dist/api/__tests__/media-routes-delete-references.test.js +0 -83
- package/dist/api/__tests__/media-routes-delete-references.test.js.map +0 -1
- package/dist/api/__tests__/media-routes-delete-variants.test.d.ts +0 -2
- package/dist/api/__tests__/media-routes-delete-variants.test.d.ts.map +0 -1
- package/dist/api/__tests__/media-routes-delete-variants.test.js +0 -128
- package/dist/api/__tests__/media-routes-delete-variants.test.js.map +0 -1
- package/dist/api/__tests__/media-routes-patch.test.d.ts +0 -2
- package/dist/api/__tests__/media-routes-patch.test.d.ts.map +0 -1
- package/dist/api/__tests__/media-routes-patch.test.js +0 -153
- package/dist/api/__tests__/media-routes-patch.test.js.map +0 -1
- package/dist/api/__tests__/media-routes-site-resolution.test.d.ts +0 -2
- package/dist/api/__tests__/media-routes-site-resolution.test.d.ts.map +0 -1
- package/dist/api/__tests__/media-routes-site-resolution.test.js +0 -76
- package/dist/api/__tests__/media-routes-site-resolution.test.js.map +0 -1
- package/dist/api/__tests__/media-routes-site-scope.test.d.ts +0 -2
- package/dist/api/__tests__/media-routes-site-scope.test.d.ts.map +0 -1
- package/dist/api/__tests__/media-routes-site-scope.test.js +0 -119
- package/dist/api/__tests__/media-routes-site-scope.test.js.map +0 -1
- package/dist/api/__tests__/media-routes-upload-allowlist.test.d.ts +0 -2
- package/dist/api/__tests__/media-routes-upload-allowlist.test.d.ts.map +0 -1
- package/dist/api/__tests__/media-routes-upload-allowlist.test.js +0 -88
- package/dist/api/__tests__/media-routes-upload-allowlist.test.js.map +0 -1
- package/dist/api/__tests__/media-routes-upload-robustness.test.d.ts +0 -2
- package/dist/api/__tests__/media-routes-upload-robustness.test.d.ts.map +0 -1
- package/dist/api/__tests__/media-routes-upload-robustness.test.js +0 -88
- package/dist/api/__tests__/media-routes-upload-robustness.test.js.map +0 -1
- package/dist/api/__tests__/mfa-routes.test.d.ts +0 -2
- package/dist/api/__tests__/mfa-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/mfa-routes.test.js +0 -184
- package/dist/api/__tests__/mfa-routes.test.js.map +0 -1
- package/dist/api/__tests__/nav-routes.test.d.ts +0 -2
- package/dist/api/__tests__/nav-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/nav-routes.test.js +0 -55
- package/dist/api/__tests__/nav-routes.test.js.map +0 -1
- package/dist/api/__tests__/openapi.test.d.ts +0 -2
- package/dist/api/__tests__/openapi.test.d.ts.map +0 -1
- package/dist/api/__tests__/openapi.test.js +0 -214
- package/dist/api/__tests__/openapi.test.js.map +0 -1
- package/dist/api/__tests__/pagination.test.d.ts +0 -2
- package/dist/api/__tests__/pagination.test.d.ts.map +0 -1
- package/dist/api/__tests__/pagination.test.js +0 -25
- package/dist/api/__tests__/pagination.test.js.map +0 -1
- package/dist/api/__tests__/password-reset-routes.test.d.ts +0 -2
- package/dist/api/__tests__/password-reset-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/password-reset-routes.test.js +0 -173
- package/dist/api/__tests__/password-reset-routes.test.js.map +0 -1
- package/dist/api/__tests__/plugin-routes.test.d.ts +0 -2
- package/dist/api/__tests__/plugin-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/plugin-routes.test.js +0 -168
- package/dist/api/__tests__/plugin-routes.test.js.map +0 -1
- package/dist/api/__tests__/rate-limit.test.d.ts +0 -2
- package/dist/api/__tests__/rate-limit.test.d.ts.map +0 -1
- package/dist/api/__tests__/rate-limit.test.js +0 -68
- package/dist/api/__tests__/rate-limit.test.js.map +0 -1
- package/dist/api/__tests__/response.test.d.ts +0 -2
- package/dist/api/__tests__/response.test.d.ts.map +0 -1
- package/dist/api/__tests__/response.test.js +0 -76
- package/dist/api/__tests__/response.test.js.map +0 -1
- package/dist/api/__tests__/router.test.d.ts +0 -2
- package/dist/api/__tests__/router.test.d.ts.map +0 -1
- package/dist/api/__tests__/router.test.js +0 -120
- package/dist/api/__tests__/router.test.js.map +0 -1
- package/dist/api/__tests__/routes-site-resolution.test.d.ts +0 -2
- package/dist/api/__tests__/routes-site-resolution.test.d.ts.map +0 -1
- package/dist/api/__tests__/routes-site-resolution.test.js +0 -161
- package/dist/api/__tests__/routes-site-resolution.test.js.map +0 -1
- package/dist/api/__tests__/scheduler-routes.test.d.ts +0 -2
- package/dist/api/__tests__/scheduler-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/scheduler-routes.test.js +0 -61
- package/dist/api/__tests__/scheduler-routes.test.js.map +0 -1
- package/dist/api/__tests__/search-routes.test.d.ts +0 -2
- package/dist/api/__tests__/search-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/search-routes.test.js +0 -85
- package/dist/api/__tests__/search-routes.test.js.map +0 -1
- package/dist/api/__tests__/section-template-routes.test.d.ts +0 -2
- package/dist/api/__tests__/section-template-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/section-template-routes.test.js +0 -171
- package/dist/api/__tests__/section-template-routes.test.js.map +0 -1
- package/dist/api/__tests__/site-context.test.d.ts +0 -2
- package/dist/api/__tests__/site-context.test.d.ts.map +0 -1
- package/dist/api/__tests__/site-context.test.js +0 -36
- package/dist/api/__tests__/site-context.test.js.map +0 -1
- package/dist/api/__tests__/site-id-resolution.lint.test.d.ts +0 -2
- package/dist/api/__tests__/site-id-resolution.lint.test.d.ts.map +0 -1
- package/dist/api/__tests__/site-id-resolution.lint.test.js +0 -64
- package/dist/api/__tests__/site-id-resolution.lint.test.js.map +0 -1
- package/dist/api/__tests__/site-settings-routes.test.d.ts +0 -2
- package/dist/api/__tests__/site-settings-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/site-settings-routes.test.js +0 -143
- package/dist/api/__tests__/site-settings-routes.test.js.map +0 -1
- package/dist/api/__tests__/tag-routes-site-resolution.test.d.ts +0 -2
- package/dist/api/__tests__/tag-routes-site-resolution.test.d.ts.map +0 -1
- package/dist/api/__tests__/tag-routes-site-resolution.test.js +0 -50
- package/dist/api/__tests__/tag-routes-site-resolution.test.js.map +0 -1
- package/dist/api/__tests__/tag-usage-wiring.test.d.ts +0 -2
- package/dist/api/__tests__/tag-usage-wiring.test.d.ts.map +0 -1
- package/dist/api/__tests__/tag-usage-wiring.test.js +0 -65
- package/dist/api/__tests__/tag-usage-wiring.test.js.map +0 -1
- package/dist/api/__tests__/translation-routes.test.d.ts +0 -2
- package/dist/api/__tests__/translation-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/translation-routes.test.js +0 -141
- package/dist/api/__tests__/translation-routes.test.js.map +0 -1
- package/dist/api/__tests__/tree-locking.test.d.ts +0 -2
- package/dist/api/__tests__/tree-locking.test.d.ts.map +0 -1
- package/dist/api/__tests__/tree-locking.test.js +0 -129
- package/dist/api/__tests__/tree-locking.test.js.map +0 -1
- package/dist/api/__tests__/user-routes.test.d.ts +0 -2
- package/dist/api/__tests__/user-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/user-routes.test.js +0 -279
- package/dist/api/__tests__/user-routes.test.js.map +0 -1
- package/dist/api/__tests__/version-routes-delete.test.d.ts +0 -2
- package/dist/api/__tests__/version-routes-delete.test.d.ts.map +0 -1
- package/dist/api/__tests__/version-routes-delete.test.js +0 -95
- package/dist/api/__tests__/version-routes-delete.test.js.map +0 -1
- package/dist/api/__tests__/version-routes-diff.test.d.ts +0 -2
- package/dist/api/__tests__/version-routes-diff.test.d.ts.map +0 -1
- package/dist/api/__tests__/version-routes-diff.test.js +0 -115
- package/dist/api/__tests__/version-routes-diff.test.js.map +0 -1
- package/dist/api/__tests__/webhook-routes.test.d.ts +0 -2
- package/dist/api/__tests__/webhook-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/webhook-routes.test.js +0 -194
- package/dist/api/__tests__/webhook-routes.test.js.map +0 -1
- package/dist/api/__tests__/wiring-gaps.test.d.ts +0 -2
- package/dist/api/__tests__/wiring-gaps.test.d.ts.map +0 -1
- package/dist/api/__tests__/wiring-gaps.test.js +0 -567
- package/dist/api/__tests__/wiring-gaps.test.js.map +0 -1
- package/dist/api/__tests__/workflow-routes.test.d.ts +0 -2
- package/dist/api/__tests__/workflow-routes.test.d.ts.map +0 -1
- package/dist/api/__tests__/workflow-routes.test.js +0 -113
- package/dist/api/__tests__/workflow-routes.test.js.map +0 -1
- package/dist/api/graphql/__tests__/resolvers.test.d.ts +0 -2
- package/dist/api/graphql/__tests__/resolvers.test.d.ts.map +0 -1
- package/dist/api/graphql/__tests__/resolvers.test.js +0 -227
- package/dist/api/graphql/__tests__/resolvers.test.js.map +0 -1
- package/dist/api/schema-routes.d.ts +0 -14
- package/dist/api/schema-routes.d.ts.map +0 -1
- package/dist/api/schema-routes.js +0 -168
- package/dist/api/schema-routes.js.map +0 -1
- package/dist/audiences/__tests__/adapters-builtin.test.d.ts +0 -2
- package/dist/audiences/__tests__/adapters-builtin.test.d.ts.map +0 -1
- package/dist/audiences/__tests__/adapters-builtin.test.js +0 -72
- package/dist/audiences/__tests__/adapters-builtin.test.js.map +0 -1
- package/dist/audiences/__tests__/adapters.test.d.ts +0 -2
- package/dist/audiences/__tests__/adapters.test.d.ts.map +0 -1
- package/dist/audiences/__tests__/adapters.test.js +0 -34
- package/dist/audiences/__tests__/adapters.test.js.map +0 -1
- package/dist/audiences/__tests__/audience-routes.test.d.ts +0 -2
- package/dist/audiences/__tests__/audience-routes.test.d.ts.map +0 -1
- package/dist/audiences/__tests__/audience-routes.test.js +0 -217
- package/dist/audiences/__tests__/audience-routes.test.js.map +0 -1
- package/dist/audiences/__tests__/collectors.test.d.ts +0 -2
- package/dist/audiences/__tests__/collectors.test.d.ts.map +0 -1
- package/dist/audiences/__tests__/collectors.test.js +0 -74
- package/dist/audiences/__tests__/collectors.test.js.map +0 -1
- package/dist/audiences/__tests__/cookies.test.d.ts +0 -2
- package/dist/audiences/__tests__/cookies.test.d.ts.map +0 -1
- package/dist/audiences/__tests__/cookies.test.js +0 -58
- package/dist/audiences/__tests__/cookies.test.js.map +0 -1
- package/dist/audiences/__tests__/deletion-guard.test.d.ts +0 -2
- package/dist/audiences/__tests__/deletion-guard.test.d.ts.map +0 -1
- package/dist/audiences/__tests__/deletion-guard.test.js +0 -148
- package/dist/audiences/__tests__/deletion-guard.test.js.map +0 -1
- package/dist/audiences/__tests__/engine.test.d.ts +0 -2
- package/dist/audiences/__tests__/engine.test.d.ts.map +0 -1
- package/dist/audiences/__tests__/engine.test.js +0 -41
- package/dist/audiences/__tests__/engine.test.js.map +0 -1
- package/dist/audiences/__tests__/glob.test.d.ts +0 -2
- package/dist/audiences/__tests__/glob.test.d.ts.map +0 -1
- package/dist/audiences/__tests__/glob.test.js +0 -30
- package/dist/audiences/__tests__/glob.test.js.map +0 -1
- package/dist/audiences/__tests__/hmac.test.d.ts +0 -2
- package/dist/audiences/__tests__/hmac.test.d.ts.map +0 -1
- package/dist/audiences/__tests__/hmac.test.js +0 -20
- package/dist/audiences/__tests__/hmac.test.js.map +0 -1
- package/dist/audiences/__tests__/instant-match.test.d.ts +0 -2
- package/dist/audiences/__tests__/instant-match.test.d.ts.map +0 -1
- package/dist/audiences/__tests__/instant-match.test.js +0 -30
- package/dist/audiences/__tests__/instant-match.test.js.map +0 -1
- package/dist/audiences/__tests__/integration.test.d.ts +0 -2
- package/dist/audiences/__tests__/integration.test.d.ts.map +0 -1
- package/dist/audiences/__tests__/integration.test.js +0 -100
- package/dist/audiences/__tests__/integration.test.js.map +0 -1
- package/dist/audiences/__tests__/preview-routes.test.d.ts +0 -2
- package/dist/audiences/__tests__/preview-routes.test.d.ts.map +0 -1
- package/dist/audiences/__tests__/preview-routes.test.js +0 -52
- package/dist/audiences/__tests__/preview-routes.test.js.map +0 -1
- package/dist/audiences/__tests__/preview.test.d.ts +0 -2
- package/dist/audiences/__tests__/preview.test.d.ts.map +0 -1
- package/dist/audiences/__tests__/preview.test.js +0 -29
- package/dist/audiences/__tests__/preview.test.js.map +0 -1
- package/dist/audiences/__tests__/queries.test.d.ts +0 -2
- package/dist/audiences/__tests__/queries.test.d.ts.map +0 -1
- package/dist/audiences/__tests__/queries.test.js +0 -43
- package/dist/audiences/__tests__/queries.test.js.map +0 -1
- package/dist/audiences/__tests__/resolver.test.d.ts +0 -2
- package/dist/audiences/__tests__/resolver.test.d.ts.map +0 -1
- package/dist/audiences/__tests__/resolver.test.js +0 -94
- package/dist/audiences/__tests__/resolver.test.js.map +0 -1
- package/dist/audiences/__tests__/runtime-routes.test.d.ts +0 -2
- package/dist/audiences/__tests__/runtime-routes.test.d.ts.map +0 -1
- package/dist/audiences/__tests__/runtime-routes.test.js +0 -52
- package/dist/audiences/__tests__/runtime-routes.test.js.map +0 -1
- package/dist/audiences/__tests__/score.test.d.ts +0 -2
- package/dist/audiences/__tests__/score.test.d.ts.map +0 -1
- package/dist/audiences/__tests__/score.test.js +0 -60
- package/dist/audiences/__tests__/score.test.js.map +0 -1
- package/dist/audiences/__tests__/server-eval.test.d.ts +0 -2
- package/dist/audiences/__tests__/server-eval.test.d.ts.map +0 -1
- package/dist/audiences/__tests__/server-eval.test.js +0 -46
- package/dist/audiences/__tests__/server-eval.test.js.map +0 -1
- package/dist/audiences/__tests__/ssr-meta-tags.test.d.ts +0 -2
- package/dist/audiences/__tests__/ssr-meta-tags.test.d.ts.map +0 -1
- package/dist/audiences/__tests__/ssr-meta-tags.test.js +0 -52
- package/dist/audiences/__tests__/ssr-meta-tags.test.js.map +0 -1
- package/dist/audiences/__tests__/ssr.test.d.ts +0 -2
- package/dist/audiences/__tests__/ssr.test.d.ts.map +0 -1
- package/dist/audiences/__tests__/ssr.test.js +0 -61
- package/dist/audiences/__tests__/ssr.test.js.map +0 -1
- package/dist/audiences/__tests__/types.test.d.ts +0 -2
- package/dist/audiences/__tests__/types.test.d.ts.map +0 -1
- package/dist/audiences/__tests__/types.test.js +0 -26
- package/dist/audiences/__tests__/types.test.js.map +0 -1
- package/dist/auth/__tests__/access-control.test.d.ts +0 -2
- package/dist/auth/__tests__/access-control.test.d.ts.map +0 -1
- package/dist/auth/__tests__/access-control.test.js +0 -46
- package/dist/auth/__tests__/access-control.test.js.map +0 -1
- package/dist/auth/__tests__/authjs.test.d.ts +0 -2
- package/dist/auth/__tests__/authjs.test.d.ts.map +0 -1
- package/dist/auth/__tests__/authjs.test.js +0 -96
- package/dist/auth/__tests__/authjs.test.js.map +0 -1
- package/dist/auth/__tests__/brute-force.test.d.ts +0 -2
- package/dist/auth/__tests__/brute-force.test.d.ts.map +0 -1
- package/dist/auth/__tests__/brute-force.test.js +0 -125
- package/dist/auth/__tests__/brute-force.test.js.map +0 -1
- package/dist/auth/__tests__/document-access.test.d.ts +0 -2
- package/dist/auth/__tests__/document-access.test.d.ts.map +0 -1
- package/dist/auth/__tests__/document-access.test.js +0 -173
- package/dist/auth/__tests__/document-access.test.js.map +0 -1
- package/dist/auth/__tests__/field-filter.test.d.ts +0 -2
- package/dist/auth/__tests__/field-filter.test.d.ts.map +0 -1
- package/dist/auth/__tests__/field-filter.test.js +0 -61
- package/dist/auth/__tests__/field-filter.test.js.map +0 -1
- package/dist/auth/__tests__/mfa.test.d.ts +0 -2
- package/dist/auth/__tests__/mfa.test.d.ts.map +0 -1
- package/dist/auth/__tests__/mfa.test.js +0 -89
- package/dist/auth/__tests__/mfa.test.js.map +0 -1
- package/dist/auth/__tests__/password-reset.test.d.ts +0 -2
- package/dist/auth/__tests__/password-reset.test.d.ts.map +0 -1
- package/dist/auth/__tests__/password-reset.test.js +0 -48
- package/dist/auth/__tests__/password-reset.test.js.map +0 -1
- package/dist/auth/__tests__/passwords.test.d.ts +0 -2
- package/dist/auth/__tests__/passwords.test.d.ts.map +0 -1
- package/dist/auth/__tests__/passwords.test.js +0 -31
- package/dist/auth/__tests__/passwords.test.js.map +0 -1
- package/dist/auth/__tests__/roles.test.d.ts +0 -2
- package/dist/auth/__tests__/roles.test.d.ts.map +0 -1
- package/dist/auth/__tests__/roles.test.js +0 -51
- package/dist/auth/__tests__/roles.test.js.map +0 -1
- package/dist/auth/__tests__/tokens.test.d.ts +0 -2
- package/dist/auth/__tests__/tokens.test.d.ts.map +0 -1
- package/dist/auth/__tests__/tokens.test.js +0 -25
- package/dist/auth/__tests__/tokens.test.js.map +0 -1
- package/dist/ax/__tests__/fixtures.d.ts +0 -19
- package/dist/ax/__tests__/fixtures.d.ts.map +0 -1
- package/dist/ax/__tests__/fixtures.js +0 -80
- package/dist/ax/__tests__/fixtures.js.map +0 -1
- package/dist/ax/__tests__/html-to-markdown.test.d.ts +0 -2
- package/dist/ax/__tests__/html-to-markdown.test.d.ts.map +0 -1
- package/dist/ax/__tests__/html-to-markdown.test.js +0 -78
- package/dist/ax/__tests__/html-to-markdown.test.js.map +0 -1
- package/dist/ax/__tests__/jsonld.test.d.ts +0 -2
- package/dist/ax/__tests__/jsonld.test.d.ts.map +0 -1
- package/dist/ax/__tests__/jsonld.test.js +0 -99
- package/dist/ax/__tests__/jsonld.test.js.map +0 -1
- package/dist/ax/__tests__/llms-full-txt.test.d.ts +0 -2
- package/dist/ax/__tests__/llms-full-txt.test.d.ts.map +0 -1
- package/dist/ax/__tests__/llms-full-txt.test.js +0 -39
- package/dist/ax/__tests__/llms-full-txt.test.js.map +0 -1
- package/dist/ax/__tests__/llms-txt.test.d.ts +0 -2
- package/dist/ax/__tests__/llms-txt.test.d.ts.map +0 -1
- package/dist/ax/__tests__/llms-txt.test.js +0 -45
- package/dist/ax/__tests__/llms-txt.test.js.map +0 -1
- package/dist/ax/__tests__/page-markdown.test.d.ts +0 -2
- package/dist/ax/__tests__/page-markdown.test.d.ts.map +0 -1
- package/dist/ax/__tests__/page-markdown.test.js +0 -22
- package/dist/ax/__tests__/page-markdown.test.js.map +0 -1
- package/dist/ax/__tests__/robots-txt.test.d.ts +0 -2
- package/dist/ax/__tests__/robots-txt.test.d.ts.map +0 -1
- package/dist/ax/__tests__/robots-txt.test.js +0 -43
- package/dist/ax/__tests__/robots-txt.test.js.map +0 -1
- package/dist/ax/__tests__/sitemap-xml.test.d.ts +0 -2
- package/dist/ax/__tests__/sitemap-xml.test.d.ts.map +0 -1
- package/dist/ax/__tests__/sitemap-xml.test.js +0 -50
- package/dist/ax/__tests__/sitemap-xml.test.js.map +0 -1
- package/dist/ax/__tests__/tier1-boundary.lint.test.d.ts +0 -2
- package/dist/ax/__tests__/tier1-boundary.lint.test.d.ts.map +0 -1
- package/dist/ax/__tests__/tier1-boundary.lint.test.js +0 -30
- package/dist/ax/__tests__/tier1-boundary.lint.test.js.map +0 -1
- package/dist/cache/__tests__/cached-queries.test.d.ts +0 -2
- package/dist/cache/__tests__/cached-queries.test.d.ts.map +0 -1
- package/dist/cache/__tests__/cached-queries.test.js +0 -68
- package/dist/cache/__tests__/cached-queries.test.js.map +0 -1
- package/dist/cache/__tests__/iu36-cached-queries.test.d.ts +0 -2
- package/dist/cache/__tests__/iu36-cached-queries.test.d.ts.map +0 -1
- package/dist/cache/__tests__/iu36-cached-queries.test.js +0 -209
- package/dist/cache/__tests__/iu36-cached-queries.test.js.map +0 -1
- package/dist/cache/__tests__/iu36-keys.test.d.ts +0 -2
- package/dist/cache/__tests__/iu36-keys.test.d.ts.map +0 -1
- package/dist/cache/__tests__/iu36-keys.test.js +0 -21
- package/dist/cache/__tests__/iu36-keys.test.js.map +0 -1
- package/dist/cache/__tests__/keys.test.d.ts +0 -2
- package/dist/cache/__tests__/keys.test.d.ts.map +0 -1
- package/dist/cache/__tests__/keys.test.js +0 -24
- package/dist/cache/__tests__/keys.test.js.map +0 -1
- package/dist/cache/__tests__/memory.test.d.ts +0 -2
- package/dist/cache/__tests__/memory.test.d.ts.map +0 -1
- package/dist/cache/__tests__/memory.test.js +0 -57
- package/dist/cache/__tests__/memory.test.js.map +0 -1
- package/dist/cache/__tests__/redis-scan.test.d.ts +0 -2
- package/dist/cache/__tests__/redis-scan.test.d.ts.map +0 -1
- package/dist/cache/__tests__/redis-scan.test.js +0 -49
- package/dist/cache/__tests__/redis-scan.test.js.map +0 -1
- package/dist/comments/__tests__/spam-filter.test.d.ts +0 -2
- package/dist/comments/__tests__/spam-filter.test.d.ts.map +0 -1
- package/dist/comments/__tests__/spam-filter.test.js +0 -49
- package/dist/comments/__tests__/spam-filter.test.js.map +0 -1
- package/dist/components/personalization/__tests__/TransparencyBar.test.d.ts +0 -2
- package/dist/components/personalization/__tests__/TransparencyBar.test.d.ts.map +0 -1
- package/dist/components/personalization/__tests__/TransparencyBar.test.js +0 -28
- package/dist/components/personalization/__tests__/TransparencyBar.test.js.map +0 -1
- package/dist/components/personalization/__tests__/VariantContainer.test.d.ts +0 -2
- package/dist/components/personalization/__tests__/VariantContainer.test.d.ts.map +0 -1
- package/dist/components/personalization/__tests__/VariantContainer.test.js +0 -34
- package/dist/components/personalization/__tests__/VariantContainer.test.js.map +0 -1
- package/dist/components/personalization/__tests__/VariantContainerAB.test.d.ts +0 -2
- package/dist/components/personalization/__tests__/VariantContainerAB.test.d.ts.map +0 -1
- package/dist/components/personalization/__tests__/VariantContainerAB.test.js +0 -100
- package/dist/components/personalization/__tests__/VariantContainerAB.test.js.map +0 -1
- package/dist/config/__tests__/ax-config.test.d.ts +0 -2
- package/dist/config/__tests__/ax-config.test.d.ts.map +0 -1
- package/dist/config/__tests__/ax-config.test.js +0 -112
- package/dist/config/__tests__/ax-config.test.js.map +0 -1
- package/dist/config/__tests__/define.test.d.ts +0 -2
- package/dist/config/__tests__/define.test.d.ts.map +0 -1
- package/dist/config/__tests__/define.test.js +0 -104
- package/dist/config/__tests__/define.test.js.map +0 -1
- package/dist/config/__tests__/export.test.d.ts +0 -2
- package/dist/config/__tests__/export.test.d.ts.map +0 -1
- package/dist/config/__tests__/export.test.js +0 -278
- package/dist/config/__tests__/export.test.js.map +0 -1
- package/dist/config/__tests__/parse.test.d.ts +0 -2
- package/dist/config/__tests__/parse.test.d.ts.map +0 -1
- package/dist/config/__tests__/parse.test.js +0 -16
- package/dist/config/__tests__/parse.test.js.map +0 -1
- package/dist/config/__tests__/site-config.test.d.ts +0 -2
- package/dist/config/__tests__/site-config.test.d.ts.map +0 -1
- package/dist/config/__tests__/site-config.test.js +0 -122
- package/dist/config/__tests__/site-config.test.js.map +0 -1
- package/dist/config/__tests__/validate.test.d.ts +0 -2
- package/dist/config/__tests__/validate.test.d.ts.map +0 -1
- package/dist/config/__tests__/validate.test.js +0 -152
- package/dist/config/__tests__/validate.test.js.map +0 -1
- package/dist/db/__tests__/admin-tree-queries.test.d.ts +0 -2
- package/dist/db/__tests__/admin-tree-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/admin-tree-queries.test.js +0 -49
- package/dist/db/__tests__/admin-tree-queries.test.js.map +0 -1
- package/dist/db/__tests__/analytics-queries.test.d.ts +0 -2
- package/dist/db/__tests__/analytics-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/analytics-queries.test.js +0 -142
- package/dist/db/__tests__/analytics-queries.test.js.map +0 -1
- package/dist/db/__tests__/applicable-extension-data.test.d.ts +0 -2
- package/dist/db/__tests__/applicable-extension-data.test.d.ts.map +0 -1
- package/dist/db/__tests__/applicable-extension-data.test.js +0 -70
- package/dist/db/__tests__/applicable-extension-data.test.js.map +0 -1
- package/dist/db/__tests__/ax-queries.test.d.ts +0 -2
- package/dist/db/__tests__/ax-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/ax-queries.test.js +0 -92
- package/dist/db/__tests__/ax-queries.test.js.map +0 -1
- package/dist/db/__tests__/bulk-queries.test.d.ts +0 -2
- package/dist/db/__tests__/bulk-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/bulk-queries.test.js +0 -243
- package/dist/db/__tests__/bulk-queries.test.js.map +0 -1
- package/dist/db/__tests__/category-queries.test.d.ts +0 -2
- package/dist/db/__tests__/category-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/category-queries.test.js +0 -45
- package/dist/db/__tests__/category-queries.test.js.map +0 -1
- package/dist/db/__tests__/changeset-audit-queries.test.d.ts +0 -2
- package/dist/db/__tests__/changeset-audit-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/changeset-audit-queries.test.js +0 -38
- package/dist/db/__tests__/changeset-audit-queries.test.js.map +0 -1
- package/dist/db/__tests__/changeset-queries.test.d.ts +0 -2
- package/dist/db/__tests__/changeset-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/changeset-queries.test.js +0 -192
- package/dist/db/__tests__/changeset-queries.test.js.map +0 -1
- package/dist/db/__tests__/client-mysql.test.d.ts +0 -2
- package/dist/db/__tests__/client-mysql.test.d.ts.map +0 -1
- package/dist/db/__tests__/client-mysql.test.js +0 -48
- package/dist/db/__tests__/client-mysql.test.js.map +0 -1
- package/dist/db/__tests__/component-queries.test.d.ts +0 -2
- package/dist/db/__tests__/component-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/component-queries.test.js +0 -382
- package/dist/db/__tests__/component-queries.test.js.map +0 -1
- package/dist/db/__tests__/content-permission-queries.test.d.ts +0 -2
- package/dist/db/__tests__/content-permission-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/content-permission-queries.test.js +0 -174
- package/dist/db/__tests__/content-permission-queries.test.js.map +0 -1
- package/dist/db/__tests__/content-publish-lifecycle.test.d.ts +0 -2
- package/dist/db/__tests__/content-publish-lifecycle.test.d.ts.map +0 -1
- package/dist/db/__tests__/content-publish-lifecycle.test.js +0 -116
- package/dist/db/__tests__/content-publish-lifecycle.test.js.map +0 -1
- package/dist/db/__tests__/content-queries-locale.test.d.ts +0 -2
- package/dist/db/__tests__/content-queries-locale.test.d.ts.map +0 -1
- package/dist/db/__tests__/content-queries-locale.test.js +0 -43
- package/dist/db/__tests__/content-queries-locale.test.js.map +0 -1
- package/dist/db/__tests__/content-queries.test.d.ts +0 -2
- package/dist/db/__tests__/content-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/content-queries.test.js +0 -76
- package/dist/db/__tests__/content-queries.test.js.map +0 -1
- package/dist/db/__tests__/content-reference-queries.test.d.ts +0 -2
- package/dist/db/__tests__/content-reference-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/content-reference-queries.test.js +0 -185
- package/dist/db/__tests__/content-reference-queries.test.js.map +0 -1
- package/dist/db/__tests__/content-restore.test.d.ts +0 -2
- package/dist/db/__tests__/content-restore.test.d.ts.map +0 -1
- package/dist/db/__tests__/content-restore.test.js +0 -176
- package/dist/db/__tests__/content-restore.test.js.map +0 -1
- package/dist/db/__tests__/content-tag-queries.test.d.ts +0 -2
- package/dist/db/__tests__/content-tag-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/content-tag-queries.test.js +0 -148
- package/dist/db/__tests__/content-tag-queries.test.js.map +0 -1
- package/dist/db/__tests__/content-type-queries.test.d.ts +0 -2
- package/dist/db/__tests__/content-type-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/content-type-queries.test.js +0 -43
- package/dist/db/__tests__/content-type-queries.test.js.map +0 -1
- package/dist/db/__tests__/custom-field-filter.test.d.ts +0 -2
- package/dist/db/__tests__/custom-field-filter.test.d.ts.map +0 -1
- package/dist/db/__tests__/custom-field-filter.test.js +0 -58
- package/dist/db/__tests__/custom-field-filter.test.js.map +0 -1
- package/dist/db/__tests__/dashboard-queries.test.d.ts +0 -2
- package/dist/db/__tests__/dashboard-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/dashboard-queries.test.js +0 -84
- package/dist/db/__tests__/dashboard-queries.test.js.map +0 -1
- package/dist/db/__tests__/display-intervals.test.d.ts +0 -2
- package/dist/db/__tests__/display-intervals.test.d.ts.map +0 -1
- package/dist/db/__tests__/display-intervals.test.js +0 -127
- package/dist/db/__tests__/display-intervals.test.js.map +0 -1
- package/dist/db/__tests__/display-window-queries.test.d.ts +0 -2
- package/dist/db/__tests__/display-window-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/display-window-queries.test.js +0 -19
- package/dist/db/__tests__/display-window-queries.test.js.map +0 -1
- package/dist/db/__tests__/dynamic-schema.test.d.ts +0 -2
- package/dist/db/__tests__/dynamic-schema.test.d.ts.map +0 -1
- package/dist/db/__tests__/dynamic-schema.test.js +0 -84
- package/dist/db/__tests__/dynamic-schema.test.js.map +0 -1
- package/dist/db/__tests__/env-guard.test.d.ts +0 -2
- package/dist/db/__tests__/env-guard.test.d.ts.map +0 -1
- package/dist/db/__tests__/env-guard.test.js +0 -71
- package/dist/db/__tests__/env-guard.test.js.map +0 -1
- package/dist/db/__tests__/extension-queries.test.d.ts +0 -2
- package/dist/db/__tests__/extension-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/extension-queries.test.js +0 -823
- package/dist/db/__tests__/extension-queries.test.js.map +0 -1
- package/dist/db/__tests__/filename-archive-queries.test.d.ts +0 -2
- package/dist/db/__tests__/filename-archive-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/filename-archive-queries.test.js +0 -102
- package/dist/db/__tests__/filename-archive-queries.test.js.map +0 -1
- package/dist/db/__tests__/locale-queries.test.d.ts +0 -2
- package/dist/db/__tests__/locale-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/locale-queries.test.js +0 -148
- package/dist/db/__tests__/locale-queries.test.js.map +0 -1
- package/dist/db/__tests__/lock-queries.test.d.ts +0 -2
- package/dist/db/__tests__/lock-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/lock-queries.test.js +0 -262
- package/dist/db/__tests__/lock-queries.test.js.map +0 -1
- package/dist/db/__tests__/media-reference-queries.test.d.ts +0 -2
- package/dist/db/__tests__/media-reference-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/media-reference-queries.test.js +0 -38
- package/dist/db/__tests__/media-reference-queries.test.js.map +0 -1
- package/dist/db/__tests__/password-reset-queries.test.d.ts +0 -2
- package/dist/db/__tests__/password-reset-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/password-reset-queries.test.js +0 -141
- package/dist/db/__tests__/password-reset-queries.test.js.map +0 -1
- package/dist/db/__tests__/relationship-queries.test.d.ts +0 -2
- package/dist/db/__tests__/relationship-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/relationship-queries.test.js +0 -224
- package/dist/db/__tests__/relationship-queries.test.js.map +0 -1
- package/dist/db/__tests__/schema-apply.test.d.ts +0 -2
- package/dist/db/__tests__/schema-apply.test.d.ts.map +0 -1
- package/dist/db/__tests__/schema-apply.test.js +0 -37
- package/dist/db/__tests__/schema-apply.test.js.map +0 -1
- package/dist/db/__tests__/schema-field-queries.test.d.ts +0 -2
- package/dist/db/__tests__/schema-field-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/schema-field-queries.test.js +0 -279
- package/dist/db/__tests__/schema-field-queries.test.js.map +0 -1
- package/dist/db/__tests__/search-queries.test.d.ts +0 -2
- package/dist/db/__tests__/search-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/search-queries.test.js +0 -230
- package/dist/db/__tests__/search-queries.test.js.map +0 -1
- package/dist/db/__tests__/site-admin-queries.test.d.ts +0 -2
- package/dist/db/__tests__/site-admin-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/site-admin-queries.test.js +0 -122
- package/dist/db/__tests__/site-admin-queries.test.js.map +0 -1
- package/dist/db/__tests__/site-bootstrap.integration.test.d.ts +0 -2
- package/dist/db/__tests__/site-bootstrap.integration.test.d.ts.map +0 -1
- package/dist/db/__tests__/site-bootstrap.integration.test.js +0 -76
- package/dist/db/__tests__/site-bootstrap.integration.test.js.map +0 -1
- package/dist/db/__tests__/site-settings-queries.test.d.ts +0 -2
- package/dist/db/__tests__/site-settings-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/site-settings-queries.test.js +0 -111
- package/dist/db/__tests__/site-settings-queries.test.js.map +0 -1
- package/dist/db/__tests__/stats-queries.test.d.ts +0 -2
- package/dist/db/__tests__/stats-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/stats-queries.test.js +0 -121
- package/dist/db/__tests__/stats-queries.test.js.map +0 -1
- package/dist/db/__tests__/translation-build.test.d.ts +0 -2
- package/dist/db/__tests__/translation-build.test.d.ts.map +0 -1
- package/dist/db/__tests__/translation-build.test.js +0 -69
- package/dist/db/__tests__/translation-build.test.js.map +0 -1
- package/dist/db/__tests__/translation-coverage.test.d.ts +0 -2
- package/dist/db/__tests__/translation-coverage.test.d.ts.map +0 -1
- package/dist/db/__tests__/translation-coverage.test.js +0 -73
- package/dist/db/__tests__/translation-coverage.test.js.map +0 -1
- package/dist/db/__tests__/tree-queries-extended.test.d.ts +0 -2
- package/dist/db/__tests__/tree-queries-extended.test.d.ts.map +0 -1
- package/dist/db/__tests__/tree-queries-extended.test.js +0 -198
- package/dist/db/__tests__/tree-queries-extended.test.js.map +0 -1
- package/dist/db/__tests__/tree-queries.test.d.ts +0 -2
- package/dist/db/__tests__/tree-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/tree-queries.test.js +0 -39
- package/dist/db/__tests__/tree-queries.test.js.map +0 -1
- package/dist/db/__tests__/user-queries.test.d.ts +0 -2
- package/dist/db/__tests__/user-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/user-queries.test.js +0 -16
- package/dist/db/__tests__/user-queries.test.js.map +0 -1
- package/dist/db/__tests__/webhook-queries.test.d.ts +0 -2
- package/dist/db/__tests__/webhook-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/webhook-queries.test.js +0 -428
- package/dist/db/__tests__/webhook-queries.test.js.map +0 -1
- package/dist/db/__tests__/workflow-published-at.test.d.ts +0 -2
- package/dist/db/__tests__/workflow-published-at.test.d.ts.map +0 -1
- package/dist/db/__tests__/workflow-published-at.test.js +0 -62
- package/dist/db/__tests__/workflow-published-at.test.js.map +0 -1
- package/dist/db/__tests__/workflow-queries-approval.test.d.ts +0 -2
- package/dist/db/__tests__/workflow-queries-approval.test.d.ts.map +0 -1
- package/dist/db/__tests__/workflow-queries-approval.test.js +0 -109
- package/dist/db/__tests__/workflow-queries-approval.test.js.map +0 -1
- package/dist/db/__tests__/workflow-queries.test.d.ts +0 -2
- package/dist/db/__tests__/workflow-queries.test.d.ts.map +0 -1
- package/dist/db/__tests__/workflow-queries.test.js +0 -43
- package/dist/db/__tests__/workflow-queries.test.js.map +0 -1
- package/dist/email/__tests__/factory.test.d.ts +0 -2
- package/dist/email/__tests__/factory.test.d.ts.map +0 -1
- package/dist/email/__tests__/factory.test.js +0 -18
- package/dist/email/__tests__/factory.test.js.map +0 -1
- package/dist/email/__tests__/provider.test.d.ts +0 -2
- package/dist/email/__tests__/provider.test.d.ts.map +0 -1
- package/dist/email/__tests__/provider.test.js +0 -12
- package/dist/email/__tests__/provider.test.js.map +0 -1
- package/dist/email/__tests__/send-templated.test.d.ts +0 -2
- package/dist/email/__tests__/send-templated.test.d.ts.map +0 -1
- package/dist/email/__tests__/send-templated.test.js +0 -25
- package/dist/email/__tests__/send-templated.test.js.map +0 -1
- package/dist/email/__tests__/smtp.test.d.ts +0 -2
- package/dist/email/__tests__/smtp.test.d.ts.map +0 -1
- package/dist/email/__tests__/smtp.test.js +0 -29
- package/dist/email/__tests__/smtp.test.js.map +0 -1
- package/dist/email/__tests__/templates.test.d.ts +0 -2
- package/dist/email/__tests__/templates.test.d.ts.map +0 -1
- package/dist/email/__tests__/templates.test.js +0 -40
- package/dist/email/__tests__/templates.test.js.map +0 -1
- package/dist/experiments/__tests__/engine.test.d.ts +0 -2
- package/dist/experiments/__tests__/engine.test.d.ts.map +0 -1
- package/dist/experiments/__tests__/engine.test.js +0 -184
- package/dist/experiments/__tests__/engine.test.js.map +0 -1
- package/dist/feeds/__tests__/aggregate.test.d.ts +0 -2
- package/dist/feeds/__tests__/aggregate.test.d.ts.map +0 -1
- package/dist/feeds/__tests__/aggregate.test.js +0 -83
- package/dist/feeds/__tests__/aggregate.test.js.map +0 -1
- package/dist/feeds/__tests__/compound-filters.test.d.ts +0 -2
- package/dist/feeds/__tests__/compound-filters.test.d.ts.map +0 -1
- package/dist/feeds/__tests__/compound-filters.test.js +0 -204
- package/dist/feeds/__tests__/compound-filters.test.js.map +0 -1
- package/dist/feeds/__tests__/display-window-feed.test.d.ts +0 -2
- package/dist/feeds/__tests__/display-window-feed.test.d.ts.map +0 -1
- package/dist/feeds/__tests__/display-window-feed.test.js +0 -27
- package/dist/feeds/__tests__/display-window-feed.test.js.map +0 -1
- package/dist/feeds/__tests__/engine.test.d.ts +0 -2
- package/dist/feeds/__tests__/engine.test.d.ts.map +0 -1
- package/dist/feeds/__tests__/engine.test.js +0 -65
- package/dist/feeds/__tests__/engine.test.js.map +0 -1
- package/dist/feeds/__tests__/filters.test.d.ts +0 -2
- package/dist/feeds/__tests__/filters.test.d.ts.map +0 -1
- package/dist/feeds/__tests__/filters.test.js +0 -43
- package/dist/feeds/__tests__/filters.test.js.map +0 -1
- package/dist/feeds/__tests__/iu28-feed-system.test.d.ts +0 -2
- package/dist/feeds/__tests__/iu28-feed-system.test.d.ts.map +0 -1
- package/dist/feeds/__tests__/iu28-feed-system.test.js +0 -158
- package/dist/feeds/__tests__/iu28-feed-system.test.js.map +0 -1
- package/dist/feeds/__tests__/locale-filter.test.d.ts +0 -2
- package/dist/feeds/__tests__/locale-filter.test.d.ts.map +0 -1
- package/dist/feeds/__tests__/locale-filter.test.js +0 -45
- package/dist/feeds/__tests__/locale-filter.test.js.map +0 -1
- package/dist/feeds/__tests__/rss-endpoint.test.d.ts +0 -2
- package/dist/feeds/__tests__/rss-endpoint.test.d.ts.map +0 -1
- package/dist/feeds/__tests__/rss-endpoint.test.js +0 -67
- package/dist/feeds/__tests__/rss-endpoint.test.js.map +0 -1
- package/dist/feeds/__tests__/rss.test.d.ts +0 -2
- package/dist/feeds/__tests__/rss.test.d.ts.map +0 -1
- package/dist/feeds/__tests__/rss.test.js +0 -136
- package/dist/feeds/__tests__/rss.test.js.map +0 -1
- package/dist/forms/__tests__/csrf.test.d.ts +0 -2
- package/dist/forms/__tests__/csrf.test.d.ts.map +0 -1
- package/dist/forms/__tests__/csrf.test.js +0 -41
- package/dist/forms/__tests__/csrf.test.js.map +0 -1
- package/dist/forms/__tests__/multi-step.test.d.ts +0 -2
- package/dist/forms/__tests__/multi-step.test.d.ts.map +0 -1
- package/dist/forms/__tests__/multi-step.test.js +0 -157
- package/dist/forms/__tests__/multi-step.test.js.map +0 -1
- package/dist/forms/__tests__/recaptcha.test.d.ts +0 -2
- package/dist/forms/__tests__/recaptcha.test.d.ts.map +0 -1
- package/dist/forms/__tests__/recaptcha.test.js +0 -71
- package/dist/forms/__tests__/recaptcha.test.js.map +0 -1
- package/dist/forms/__tests__/validation.test.d.ts +0 -2
- package/dist/forms/__tests__/validation.test.d.ts.map +0 -1
- package/dist/forms/__tests__/validation.test.js +0 -200
- package/dist/forms/__tests__/validation.test.js.map +0 -1
- package/dist/hooks/__tests__/admin-rendering-hooks.test.d.ts +0 -2
- package/dist/hooks/__tests__/admin-rendering-hooks.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/admin-rendering-hooks.test.js +0 -112
- package/dist/hooks/__tests__/admin-rendering-hooks.test.js.map +0 -1
- package/dist/hooks/__tests__/api-hooks.test.d.ts +0 -2
- package/dist/hooks/__tests__/api-hooks.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/api-hooks.test.js +0 -99
- package/dist/hooks/__tests__/api-hooks.test.js.map +0 -1
- package/dist/hooks/__tests__/ax-invalidation.test.d.ts +0 -2
- package/dist/hooks/__tests__/ax-invalidation.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/ax-invalidation.test.js +0 -33
- package/dist/hooks/__tests__/ax-invalidation.test.js.map +0 -1
- package/dist/hooks/__tests__/before-hooks.test.d.ts +0 -2
- package/dist/hooks/__tests__/before-hooks.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/before-hooks.test.js +0 -285
- package/dist/hooks/__tests__/before-hooks.test.js.map +0 -1
- package/dist/hooks/__tests__/comment-category-hooks.test.d.ts +0 -2
- package/dist/hooks/__tests__/comment-category-hooks.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/comment-category-hooks.test.js +0 -86
- package/dist/hooks/__tests__/comment-category-hooks.test.js.map +0 -1
- package/dist/hooks/__tests__/dispatch-validate.test.d.ts +0 -2
- package/dist/hooks/__tests__/dispatch-validate.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/dispatch-validate.test.js +0 -45
- package/dist/hooks/__tests__/dispatch-validate.test.js.map +0 -1
- package/dist/hooks/__tests__/dispatch.test.d.ts +0 -2
- package/dist/hooks/__tests__/dispatch.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/dispatch.test.js +0 -108
- package/dist/hooks/__tests__/dispatch.test.js.map +0 -1
- package/dist/hooks/__tests__/extended-hooks.test.d.ts +0 -2
- package/dist/hooks/__tests__/extended-hooks.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/extended-hooks.test.js +0 -182
- package/dist/hooks/__tests__/extended-hooks.test.js.map +0 -1
- package/dist/hooks/__tests__/isolation.test.d.ts +0 -2
- package/dist/hooks/__tests__/isolation.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/isolation.test.js +0 -31
- package/dist/hooks/__tests__/isolation.test.js.map +0 -1
- package/dist/hooks/__tests__/lifecycle-hooks.test.d.ts +0 -2
- package/dist/hooks/__tests__/lifecycle-hooks.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/lifecycle-hooks.test.js +0 -137
- package/dist/hooks/__tests__/lifecycle-hooks.test.js.map +0 -1
- package/dist/hooks/__tests__/lifecycle.test.d.ts +0 -2
- package/dist/hooks/__tests__/lifecycle.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/lifecycle.test.js +0 -36
- package/dist/hooks/__tests__/lifecycle.test.js.map +0 -1
- package/dist/hooks/__tests__/plugin-activation.test.d.ts +0 -2
- package/dist/hooks/__tests__/plugin-activation.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/plugin-activation.test.js +0 -39
- package/dist/hooks/__tests__/plugin-activation.test.js.map +0 -1
- package/dist/hooks/__tests__/plugin-loader-extended.test.d.ts +0 -2
- package/dist/hooks/__tests__/plugin-loader-extended.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/plugin-loader-extended.test.js +0 -121
- package/dist/hooks/__tests__/plugin-loader-extended.test.js.map +0 -1
- package/dist/hooks/__tests__/plugin-loader-wave-b.test.d.ts +0 -2
- package/dist/hooks/__tests__/plugin-loader-wave-b.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/plugin-loader-wave-b.test.js +0 -117
- package/dist/hooks/__tests__/plugin-loader-wave-b.test.js.map +0 -1
- package/dist/hooks/__tests__/plugin-loader.test.d.ts +0 -2
- package/dist/hooks/__tests__/plugin-loader.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/plugin-loader.test.js +0 -34
- package/dist/hooks/__tests__/plugin-loader.test.js.map +0 -1
- package/dist/hooks/__tests__/registry.test.d.ts +0 -2
- package/dist/hooks/__tests__/registry.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/registry.test.js +0 -56
- package/dist/hooks/__tests__/registry.test.js.map +0 -1
- package/dist/hooks/__tests__/stats-hooks.test.d.ts +0 -2
- package/dist/hooks/__tests__/stats-hooks.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/stats-hooks.test.js +0 -36
- package/dist/hooks/__tests__/stats-hooks.test.js.map +0 -1
- package/dist/hooks/__tests__/user-context.test.d.ts +0 -2
- package/dist/hooks/__tests__/user-context.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/user-context.test.js +0 -37
- package/dist/hooks/__tests__/user-context.test.js.map +0 -1
- package/dist/hooks/__tests__/version-hooks.test.d.ts +0 -2
- package/dist/hooks/__tests__/version-hooks.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/version-hooks.test.js +0 -72
- package/dist/hooks/__tests__/version-hooks.test.js.map +0 -1
- package/dist/hooks/__tests__/webhook-dispatch.test.d.ts +0 -2
- package/dist/hooks/__tests__/webhook-dispatch.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/webhook-dispatch.test.js +0 -183
- package/dist/hooks/__tests__/webhook-dispatch.test.js.map +0 -1
- package/dist/hooks/__tests__/webhook-retry.test.d.ts +0 -2
- package/dist/hooks/__tests__/webhook-retry.test.d.ts.map +0 -1
- package/dist/hooks/__tests__/webhook-retry.test.js +0 -168
- package/dist/hooks/__tests__/webhook-retry.test.js.map +0 -1
- package/dist/i18n/__tests__/loader-site-override.test.d.ts +0 -2
- package/dist/i18n/__tests__/loader-site-override.test.d.ts.map +0 -1
- package/dist/i18n/__tests__/loader-site-override.test.js +0 -81
- package/dist/i18n/__tests__/loader-site-override.test.js.map +0 -1
- package/dist/i18n/__tests__/loader.test.d.ts +0 -2
- package/dist/i18n/__tests__/loader.test.d.ts.map +0 -1
- package/dist/i18n/__tests__/loader.test.js +0 -21
- package/dist/i18n/__tests__/loader.test.js.map +0 -1
- package/dist/i18n/__tests__/locale.test.d.ts +0 -2
- package/dist/i18n/__tests__/locale.test.d.ts.map +0 -1
- package/dist/i18n/__tests__/locale.test.js +0 -31
- package/dist/i18n/__tests__/locale.test.js.map +0 -1
- package/dist/i18n/__tests__/middleware.test.d.ts +0 -2
- package/dist/i18n/__tests__/middleware.test.d.ts.map +0 -1
- package/dist/i18n/__tests__/middleware.test.js +0 -55
- package/dist/i18n/__tests__/middleware.test.js.map +0 -1
- package/dist/i18n/__tests__/resolver.test.d.ts +0 -2
- package/dist/i18n/__tests__/resolver.test.d.ts.map +0 -1
- package/dist/i18n/__tests__/resolver.test.js +0 -69
- package/dist/i18n/__tests__/resolver.test.js.map +0 -1
- package/dist/layout/__tests__/cascade.test.d.ts +0 -2
- package/dist/layout/__tests__/cascade.test.d.ts.map +0 -1
- package/dist/layout/__tests__/cascade.test.js +0 -70
- package/dist/layout/__tests__/cascade.test.js.map +0 -1
- package/dist/layout/__tests__/cookie-consent-module.test.d.ts +0 -2
- package/dist/layout/__tests__/cookie-consent-module.test.d.ts.map +0 -1
- package/dist/layout/__tests__/cookie-consent-module.test.js +0 -70
- package/dist/layout/__tests__/cookie-consent-module.test.js.map +0 -1
- package/dist/layout/__tests__/feed-display-module.test.d.ts +0 -2
- package/dist/layout/__tests__/feed-display-module.test.d.ts.map +0 -1
- package/dist/layout/__tests__/feed-display-module.test.js +0 -24
- package/dist/layout/__tests__/feed-display-module.test.js.map +0 -1
- package/dist/layout/__tests__/iu24-spec-modules.test.d.ts +0 -2
- package/dist/layout/__tests__/iu24-spec-modules.test.d.ts.map +0 -1
- package/dist/layout/__tests__/iu24-spec-modules.test.js +0 -447
- package/dist/layout/__tests__/iu24-spec-modules.test.js.map +0 -1
- package/dist/layout/__tests__/media-ref-modules.test.d.ts +0 -2
- package/dist/layout/__tests__/media-ref-modules.test.d.ts.map +0 -1
- package/dist/layout/__tests__/media-ref-modules.test.js +0 -30
- package/dist/layout/__tests__/media-ref-modules.test.js.map +0 -1
- package/dist/layout/__tests__/media-ref.test.d.ts +0 -2
- package/dist/layout/__tests__/media-ref.test.d.ts.map +0 -1
- package/dist/layout/__tests__/media-ref.test.js +0 -39
- package/dist/layout/__tests__/media-ref.test.js.map +0 -1
- package/dist/layout/__tests__/module-permissions.test.d.ts +0 -2
- package/dist/layout/__tests__/module-permissions.test.d.ts.map +0 -1
- package/dist/layout/__tests__/module-permissions.test.js +0 -74
- package/dist/layout/__tests__/module-permissions.test.js.map +0 -1
- package/dist/layout/__tests__/modules-extended.test.d.ts +0 -2
- package/dist/layout/__tests__/modules-extended.test.d.ts.map +0 -1
- package/dist/layout/__tests__/modules-extended.test.js +0 -233
- package/dist/layout/__tests__/modules-extended.test.js.map +0 -1
- package/dist/layout/__tests__/modules-render.test.d.ts +0 -2
- package/dist/layout/__tests__/modules-render.test.d.ts.map +0 -1
- package/dist/layout/__tests__/modules-render.test.js +0 -35
- package/dist/layout/__tests__/modules-render.test.js.map +0 -1
- package/dist/layout/__tests__/personalization.test.d.ts +0 -2
- package/dist/layout/__tests__/personalization.test.d.ts.map +0 -1
- package/dist/layout/__tests__/personalization.test.js +0 -63
- package/dist/layout/__tests__/personalization.test.js.map +0 -1
- package/dist/layout/__tests__/registry.test.d.ts +0 -2
- package/dist/layout/__tests__/registry.test.d.ts.map +0 -1
- package/dist/layout/__tests__/registry.test.js +0 -127
- package/dist/layout/__tests__/registry.test.js.map +0 -1
- package/dist/layout/__tests__/renderer-experiments.test.d.ts +0 -2
- package/dist/layout/__tests__/renderer-experiments.test.d.ts.map +0 -1
- package/dist/layout/__tests__/renderer-experiments.test.js +0 -66
- package/dist/layout/__tests__/renderer-experiments.test.js.map +0 -1
- package/dist/layout/__tests__/renderer.test.d.ts +0 -2
- package/dist/layout/__tests__/renderer.test.d.ts.map +0 -1
- package/dist/layout/__tests__/renderer.test.js +0 -170
- package/dist/layout/__tests__/renderer.test.js.map +0 -1
- package/dist/layout/__tests__/ssr-meta.test.d.ts +0 -2
- package/dist/layout/__tests__/ssr-meta.test.d.ts.map +0 -1
- package/dist/layout/__tests__/ssr-meta.test.js +0 -23
- package/dist/layout/__tests__/ssr-meta.test.js.map +0 -1
- package/dist/layout/__tests__/theme-css.test.d.ts +0 -2
- package/dist/layout/__tests__/theme-css.test.d.ts.map +0 -1
- package/dist/layout/__tests__/theme-css.test.js +0 -123
- package/dist/layout/__tests__/theme-css.test.js.map +0 -1
- package/dist/layout/__tests__/theme-registry.test.d.ts +0 -2
- package/dist/layout/__tests__/theme-registry.test.d.ts.map +0 -1
- package/dist/layout/__tests__/theme-registry.test.js +0 -118
- package/dist/layout/__tests__/theme-registry.test.js.map +0 -1
- package/dist/layout/__tests__/types.test.d.ts +0 -2
- package/dist/layout/__tests__/types.test.d.ts.map +0 -1
- package/dist/layout/__tests__/types.test.js +0 -91
- package/dist/layout/__tests__/types.test.js.map +0 -1
- package/dist/layout/__tests__/variant-container-schema.test.d.ts +0 -2
- package/dist/layout/__tests__/variant-container-schema.test.d.ts.map +0 -1
- package/dist/layout/__tests__/variant-container-schema.test.js +0 -151
- package/dist/layout/__tests__/variant-container-schema.test.js.map +0 -1
- package/dist/media/__tests__/image-manipulation.test.d.ts +0 -2
- package/dist/media/__tests__/image-manipulation.test.d.ts.map +0 -1
- package/dist/media/__tests__/image-manipulation.test.js +0 -115
- package/dist/media/__tests__/image-manipulation.test.js.map +0 -1
- package/dist/media/__tests__/image-processor.test.d.ts +0 -2
- package/dist/media/__tests__/image-processor.test.d.ts.map +0 -1
- package/dist/media/__tests__/image-processor.test.js +0 -46
- package/dist/media/__tests__/image-processor.test.js.map +0 -1
- package/dist/media/__tests__/local-storage.test.d.ts +0 -2
- package/dist/media/__tests__/local-storage.test.d.ts.map +0 -1
- package/dist/media/__tests__/local-storage.test.js +0 -29
- package/dist/media/__tests__/local-storage.test.js.map +0 -1
- package/dist/media/__tests__/s3-storage-publicurl.test.d.ts +0 -2
- package/dist/media/__tests__/s3-storage-publicurl.test.d.ts.map +0 -1
- package/dist/media/__tests__/s3-storage-publicurl.test.js +0 -49
- package/dist/media/__tests__/s3-storage-publicurl.test.js.map +0 -1
- package/dist/media/__tests__/s3-storage.test.d.ts +0 -2
- package/dist/media/__tests__/s3-storage.test.d.ts.map +0 -1
- package/dist/media/__tests__/s3-storage.test.js +0 -106
- package/dist/media/__tests__/s3-storage.test.js.map +0 -1
- package/dist/media/__tests__/upload-allowlist.test.d.ts +0 -2
- package/dist/media/__tests__/upload-allowlist.test.d.ts.map +0 -1
- package/dist/media/__tests__/upload-allowlist.test.js +0 -72
- package/dist/media/__tests__/upload-allowlist.test.js.map +0 -1
- package/dist/multisite/__tests__/pool-resolution.test.d.ts +0 -2
- package/dist/multisite/__tests__/pool-resolution.test.d.ts.map +0 -1
- package/dist/multisite/__tests__/pool-resolution.test.js +0 -59
- package/dist/multisite/__tests__/pool-resolution.test.js.map +0 -1
- package/dist/multisite/__tests__/reconcile.test.d.ts +0 -2
- package/dist/multisite/__tests__/reconcile.test.d.ts.map +0 -1
- package/dist/multisite/__tests__/reconcile.test.js +0 -120
- package/dist/multisite/__tests__/reconcile.test.js.map +0 -1
- package/dist/multisite/__tests__/resolve.test.d.ts +0 -2
- package/dist/multisite/__tests__/resolve.test.d.ts.map +0 -1
- package/dist/multisite/__tests__/resolve.test.js +0 -86
- package/dist/multisite/__tests__/resolve.test.js.map +0 -1
- package/dist/nav/__tests__/builder.test.d.ts +0 -2
- package/dist/nav/__tests__/builder.test.d.ts.map +0 -1
- package/dist/nav/__tests__/builder.test.js +0 -207
- package/dist/nav/__tests__/builder.test.js.map +0 -1
- package/dist/nav/__tests__/nav-locale.test.d.ts +0 -2
- package/dist/nav/__tests__/nav-locale.test.d.ts.map +0 -1
- package/dist/nav/__tests__/nav-locale.test.js +0 -59
- package/dist/nav/__tests__/nav-locale.test.js.map +0 -1
- package/dist/nav/__tests__/redirect-middleware.test.d.ts +0 -2
- package/dist/nav/__tests__/redirect-middleware.test.d.ts.map +0 -1
- package/dist/nav/__tests__/redirect-middleware.test.js +0 -47
- package/dist/nav/__tests__/redirect-middleware.test.js.map +0 -1
- package/dist/nav/__tests__/url-resolver.test.d.ts +0 -2
- package/dist/nav/__tests__/url-resolver.test.d.ts.map +0 -1
- package/dist/nav/__tests__/url-resolver.test.js +0 -152
- package/dist/nav/__tests__/url-resolver.test.js.map +0 -1
- package/dist/schema/__tests__/auth-tables.test.d.ts +0 -2
- package/dist/schema/__tests__/auth-tables.test.d.ts.map +0 -1
- package/dist/schema/__tests__/auth-tables.test.js +0 -75
- package/dist/schema/__tests__/auth-tables.test.js.map +0 -1
- package/dist/schema/__tests__/base.test.d.ts +0 -2
- package/dist/schema/__tests__/base.test.d.ts.map +0 -1
- package/dist/schema/__tests__/base.test.js +0 -89
- package/dist/schema/__tests__/base.test.js.map +0 -1
- package/dist/schema/__tests__/feed-table.test.d.ts +0 -2
- package/dist/schema/__tests__/feed-table.test.d.ts.map +0 -1
- package/dist/schema/__tests__/feed-table.test.js +0 -23
- package/dist/schema/__tests__/feed-table.test.js.map +0 -1
- package/dist/schema/__tests__/form-submissions-table.test.d.ts +0 -2
- package/dist/schema/__tests__/form-submissions-table.test.d.ts.map +0 -1
- package/dist/schema/__tests__/form-submissions-table.test.js +0 -20
- package/dist/schema/__tests__/form-submissions-table.test.js.map +0 -1
- package/dist/schema/__tests__/generate.test.d.ts +0 -2
- package/dist/schema/__tests__/generate.test.d.ts.map +0 -1
- package/dist/schema/__tests__/generate.test.js +0 -101
- package/dist/schema/__tests__/generate.test.js.map +0 -1
- package/dist/schema/__tests__/mapper.test.d.ts +0 -2
- package/dist/schema/__tests__/mapper.test.d.ts.map +0 -1
- package/dist/schema/__tests__/mapper.test.js +0 -108
- package/dist/schema/__tests__/mapper.test.js.map +0 -1
- package/dist/schema/__tests__/media-table.test.d.ts +0 -2
- package/dist/schema/__tests__/media-table.test.d.ts.map +0 -1
- package/dist/schema/__tests__/media-table.test.js +0 -27
- package/dist/schema/__tests__/media-table.test.js.map +0 -1
- package/dist/schema/__tests__/mysql-tables.test.d.ts +0 -2
- package/dist/schema/__tests__/mysql-tables.test.d.ts.map +0 -1
- package/dist/schema/__tests__/mysql-tables.test.js +0 -42
- package/dist/schema/__tests__/mysql-tables.test.js.map +0 -1
- package/dist/schema/__tests__/site-memberships-table.test.d.ts +0 -2
- package/dist/schema/__tests__/site-memberships-table.test.d.ts.map +0 -1
- package/dist/schema/__tests__/site-memberships-table.test.js +0 -18
- package/dist/schema/__tests__/site-memberships-table.test.js.map +0 -1
- package/dist/schema/__tests__/site-settings-schema.test.d.ts +0 -2
- package/dist/schema/__tests__/site-settings-schema.test.d.ts.map +0 -1
- package/dist/schema/__tests__/site-settings-schema.test.js +0 -14
- package/dist/schema/__tests__/site-settings-schema.test.js.map +0 -1
- package/dist/schema/__tests__/taxonomy-tables.test.d.ts +0 -2
- package/dist/schema/__tests__/taxonomy-tables.test.d.ts.map +0 -1
- package/dist/schema/__tests__/taxonomy-tables.test.js +0 -73
- package/dist/schema/__tests__/taxonomy-tables.test.js.map +0 -1
- package/dist/schema/__tests__/versioning-tables.test.d.ts +0 -2
- package/dist/schema/__tests__/versioning-tables.test.d.ts.map +0 -1
- package/dist/schema/__tests__/versioning-tables.test.js +0 -43
- package/dist/schema/__tests__/versioning-tables.test.js.map +0 -1
- package/dist/scope/__tests__/breadcrumbs.test.d.ts +0 -2
- package/dist/scope/__tests__/breadcrumbs.test.d.ts.map +0 -1
- package/dist/scope/__tests__/breadcrumbs.test.js +0 -41
- package/dist/scope/__tests__/breadcrumbs.test.js.map +0 -1
- package/dist/scope/__tests__/content-accessors.test.d.ts +0 -2
- package/dist/scope/__tests__/content-accessors.test.d.ts.map +0 -1
- package/dist/scope/__tests__/content-accessors.test.js +0 -129
- package/dist/scope/__tests__/content-accessors.test.js.map +0 -1
- package/dist/scope/__tests__/create-scope-custom-fields.test.d.ts +0 -2
- package/dist/scope/__tests__/create-scope-custom-fields.test.d.ts.map +0 -1
- package/dist/scope/__tests__/create-scope-custom-fields.test.js +0 -70
- package/dist/scope/__tests__/create-scope-custom-fields.test.js.map +0 -1
- package/dist/scope/__tests__/create-scope-media.test.d.ts +0 -2
- package/dist/scope/__tests__/create-scope-media.test.d.ts.map +0 -1
- package/dist/scope/__tests__/create-scope-media.test.js +0 -154
- package/dist/scope/__tests__/create-scope-media.test.js.map +0 -1
- package/dist/scope/__tests__/create-scope.test.d.ts +0 -2
- package/dist/scope/__tests__/create-scope.test.d.ts.map +0 -1
- package/dist/scope/__tests__/create-scope.test.js +0 -159
- package/dist/scope/__tests__/create-scope.test.js.map +0 -1
- package/dist/scope/__tests__/csrf-validate.test.d.ts +0 -2
- package/dist/scope/__tests__/csrf-validate.test.d.ts.map +0 -1
- package/dist/scope/__tests__/csrf-validate.test.js +0 -47
- package/dist/scope/__tests__/csrf-validate.test.js.map +0 -1
- package/dist/scope/__tests__/csrf.test.d.ts +0 -2
- package/dist/scope/__tests__/csrf.test.d.ts.map +0 -1
- package/dist/scope/__tests__/csrf.test.js +0 -26
- package/dist/scope/__tests__/csrf.test.js.map +0 -1
- package/dist/scope/__tests__/edit-mode-hooks.test.d.ts +0 -2
- package/dist/scope/__tests__/edit-mode-hooks.test.d.ts.map +0 -1
- package/dist/scope/__tests__/edit-mode-hooks.test.js +0 -13
- package/dist/scope/__tests__/edit-mode-hooks.test.js.map +0 -1
- package/dist/scope/__tests__/feed-hook.test.d.ts +0 -2
- package/dist/scope/__tests__/feed-hook.test.d.ts.map +0 -1
- package/dist/scope/__tests__/feed-hook.test.js +0 -27
- package/dist/scope/__tests__/feed-hook.test.js.map +0 -1
- package/dist/scope/__tests__/head-foot.test.d.ts +0 -2
- package/dist/scope/__tests__/head-foot.test.d.ts.map +0 -1
- package/dist/scope/__tests__/head-foot.test.js +0 -83
- package/dist/scope/__tests__/head-foot.test.js.map +0 -1
- package/dist/scope/__tests__/hooks-url.test.d.ts +0 -2
- package/dist/scope/__tests__/hooks-url.test.d.ts.map +0 -1
- package/dist/scope/__tests__/hooks-url.test.js +0 -71
- package/dist/scope/__tests__/hooks-url.test.js.map +0 -1
- package/dist/scope/__tests__/inline-editing.test.d.ts +0 -2
- package/dist/scope/__tests__/inline-editing.test.d.ts.map +0 -1
- package/dist/scope/__tests__/inline-editing.test.js +0 -76
- package/dist/scope/__tests__/inline-editing.test.js.map +0 -1
- package/dist/scope/__tests__/jsonld.test.d.ts +0 -2
- package/dist/scope/__tests__/jsonld.test.d.ts.map +0 -1
- package/dist/scope/__tests__/jsonld.test.js +0 -39
- package/dist/scope/__tests__/jsonld.test.js.map +0 -1
- package/dist/scope/__tests__/kywi-form.test.d.ts +0 -2
- package/dist/scope/__tests__/kywi-form.test.d.ts.map +0 -1
- package/dist/scope/__tests__/kywi-form.test.js +0 -175
- package/dist/scope/__tests__/kywi-form.test.js.map +0 -1
- package/dist/scope/__tests__/kywi-wizard-form.test.d.ts +0 -2
- package/dist/scope/__tests__/kywi-wizard-form.test.d.ts.map +0 -1
- package/dist/scope/__tests__/kywi-wizard-form.test.js +0 -168
- package/dist/scope/__tests__/kywi-wizard-form.test.js.map +0 -1
- package/dist/scope/__tests__/nav-hooks.test.d.ts +0 -2
- package/dist/scope/__tests__/nav-hooks.test.d.ts.map +0 -1
- package/dist/scope/__tests__/nav-hooks.test.js +0 -325
- package/dist/scope/__tests__/nav-hooks.test.js.map +0 -1
- package/dist/scope/__tests__/rendering-components.test.d.ts +0 -2
- package/dist/scope/__tests__/rendering-components.test.d.ts.map +0 -1
- package/dist/scope/__tests__/rendering-components.test.js +0 -324
- package/dist/scope/__tests__/rendering-components.test.js.map +0 -1
- package/dist/scope/__tests__/rendering.test.d.ts +0 -2
- package/dist/scope/__tests__/rendering.test.d.ts.map +0 -1
- package/dist/scope/__tests__/rendering.test.js +0 -183
- package/dist/scope/__tests__/rendering.test.js.map +0 -1
- package/dist/scope/__tests__/search-hook-pagination.test.d.ts +0 -2
- package/dist/scope/__tests__/search-hook-pagination.test.d.ts.map +0 -1
- package/dist/scope/__tests__/search-hook-pagination.test.js +0 -31
- package/dist/scope/__tests__/search-hook-pagination.test.js.map +0 -1
- package/dist/scope/__tests__/text-utils.test.d.ts +0 -2
- package/dist/scope/__tests__/text-utils.test.d.ts.map +0 -1
- package/dist/scope/__tests__/text-utils.test.js +0 -55
- package/dist/scope/__tests__/text-utils.test.js.map +0 -1
- package/dist/versioning/__tests__/scheduler.test.d.ts +0 -2
- package/dist/versioning/__tests__/scheduler.test.d.ts.map +0 -1
- package/dist/versioning/__tests__/scheduler.test.js +0 -279
- package/dist/versioning/__tests__/scheduler.test.js.map +0 -1
- package/dist/versioning/__tests__/state-machine.test.d.ts +0 -2
- package/dist/versioning/__tests__/state-machine.test.d.ts.map +0 -1
- package/dist/versioning/__tests__/state-machine.test.js +0 -80
- package/dist/versioning/__tests__/state-machine.test.js.map +0 -1
- package/dist/versioning/__tests__/version-management-restore.test.d.ts +0 -2
- package/dist/versioning/__tests__/version-management-restore.test.d.ts.map +0 -1
- package/dist/versioning/__tests__/version-management-restore.test.js +0 -153
- package/dist/versioning/__tests__/version-management-restore.test.js.map +0 -1
- package/dist/versioning/__tests__/version-management.test.d.ts +0 -2
- package/dist/versioning/__tests__/version-management.test.d.ts.map +0 -1
- package/dist/versioning/__tests__/version-management.test.js +0 -197
- package/dist/versioning/__tests__/version-management.test.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"access-control.test.js","sourceRoot":"","sources":["../../../src/auth/__tests__/access-control.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAGzD,MAAM,KAAK,GAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;AACvE,MAAM,MAAM,GAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,CAAA;AAE7E,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9D,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,MAAM,GAAwB;YAClC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI;SAClC,CAAA;QACD,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5D,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,MAAM,GAAwB;YAClC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK;SAC/D,CAAA;QACD,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC9D,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAChE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,MAAM,GAAwB;YAClC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI;SAClC,CAAA;QACD,kFAAkF;QAClF,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAChE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,MAAM,GAAwB;YAClC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,YAAY;SACnD,CAAA;QACD,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/D,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACnE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,MAAM,GAAwB;YAClC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,YAAY;SAClD,CAAA;QACD,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9D,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAClE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authjs.test.d.ts","sourceRoot":"","sources":["../../../src/auth/__tests__/authjs.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, vi } from 'vitest';
|
|
2
|
-
vi.mock('@auth/core/providers/credentials', () => ({
|
|
3
|
-
default: vi.fn((config) => ({
|
|
4
|
-
id: 'credentials',
|
|
5
|
-
name: config.name,
|
|
6
|
-
type: 'credentials',
|
|
7
|
-
authorize: config.authorize,
|
|
8
|
-
})),
|
|
9
|
-
}));
|
|
10
|
-
import { createKywiAuthConfig } from '../authjs.js';
|
|
11
|
-
const mockConfig = {
|
|
12
|
-
mode: 'coupled',
|
|
13
|
-
db: { provider: 'postgresql', url: 'postgres://localhost/test' },
|
|
14
|
-
auth: {
|
|
15
|
-
secret: 'test-secret-at-least-32-chars-long!!',
|
|
16
|
-
providers: ['credentials'],
|
|
17
|
-
},
|
|
18
|
-
sites: [
|
|
19
|
-
{
|
|
20
|
-
id: 'default',
|
|
21
|
-
name: 'Test',
|
|
22
|
-
domain: 'localhost',
|
|
23
|
-
defaultLocale: 'en',
|
|
24
|
-
theme: 'default',
|
|
25
|
-
},
|
|
26
|
-
],
|
|
27
|
-
contentTypes: [],
|
|
28
|
-
plugins: [],
|
|
29
|
-
modules: [],
|
|
30
|
-
themes: [],
|
|
31
|
-
media: { provider: 'local' },
|
|
32
|
-
cache: { provider: 'memory' },
|
|
33
|
-
};
|
|
34
|
-
describe('createKywiAuthConfig', () => {
|
|
35
|
-
it('returns Auth.js config with credentials provider', () => {
|
|
36
|
-
const authConfig = createKywiAuthConfig(mockConfig, {});
|
|
37
|
-
expect(authConfig).toBeDefined();
|
|
38
|
-
expect(authConfig.providers).toBeDefined();
|
|
39
|
-
expect(authConfig.providers.length).toBe(1);
|
|
40
|
-
});
|
|
41
|
-
it('includes secret from kywi config', () => {
|
|
42
|
-
const authConfig = createKywiAuthConfig(mockConfig, {});
|
|
43
|
-
expect(authConfig.secret).toBe(mockConfig.auth.secret);
|
|
44
|
-
});
|
|
45
|
-
it('configures session strategy as jwt', () => {
|
|
46
|
-
const authConfig = createKywiAuthConfig(mockConfig, {});
|
|
47
|
-
expect(authConfig.session?.strategy).toBe('jwt');
|
|
48
|
-
});
|
|
49
|
-
it('sets custom sign-in page to /admin/login', () => {
|
|
50
|
-
const authConfig = createKywiAuthConfig(mockConfig, {});
|
|
51
|
-
expect(authConfig.pages?.signIn).toBe('/admin/login');
|
|
52
|
-
});
|
|
53
|
-
it('enables trustHost', () => {
|
|
54
|
-
const authConfig = createKywiAuthConfig(mockConfig, {});
|
|
55
|
-
expect(authConfig.trustHost).toBe(true);
|
|
56
|
-
});
|
|
57
|
-
it('does not add providers not in config', () => {
|
|
58
|
-
const noProviders = {
|
|
59
|
-
...mockConfig,
|
|
60
|
-
auth: { ...mockConfig.auth, providers: [] },
|
|
61
|
-
};
|
|
62
|
-
const authConfig = createKywiAuthConfig(noProviders, {});
|
|
63
|
-
expect(authConfig.providers.length).toBe(0);
|
|
64
|
-
});
|
|
65
|
-
it('has jwt and session callbacks', () => {
|
|
66
|
-
const authConfig = createKywiAuthConfig(mockConfig, {});
|
|
67
|
-
expect(authConfig.callbacks?.jwt).toBeDefined();
|
|
68
|
-
expect(authConfig.callbacks?.session).toBeDefined();
|
|
69
|
-
});
|
|
70
|
-
it('jwt callback copies user fields to token', async () => {
|
|
71
|
-
const authConfig = createKywiAuthConfig(mockConfig, {});
|
|
72
|
-
const token = await authConfig.callbacks.jwt({
|
|
73
|
-
token: { sub: 'u1' },
|
|
74
|
-
user: { id: 'u1', email: 'a@b.com', role: 'admin', groups: ['editors'] },
|
|
75
|
-
account: null,
|
|
76
|
-
trigger: 'signIn',
|
|
77
|
-
});
|
|
78
|
-
if (!token)
|
|
79
|
-
throw new Error('jwt callback returned null');
|
|
80
|
-
expect(token.id).toBe('u1');
|
|
81
|
-
expect(token.role).toBe('admin');
|
|
82
|
-
expect(token.groups).toEqual(['editors']);
|
|
83
|
-
});
|
|
84
|
-
it('session callback copies token fields to session.user', async () => {
|
|
85
|
-
const authConfig = createKywiAuthConfig(mockConfig, {});
|
|
86
|
-
const session = await authConfig.callbacks.session({
|
|
87
|
-
session: { user: { name: 'Test', email: 'a@b.com' }, expires: '' },
|
|
88
|
-
token: { id: 'u1', role: 'editor', groups: ['writers'], sub: 'u1' },
|
|
89
|
-
trigger: 'update',
|
|
90
|
-
});
|
|
91
|
-
expect(session.user.id).toBe('u1');
|
|
92
|
-
expect(session.user.role).toBe('editor');
|
|
93
|
-
expect(session.user.groups).toEqual(['writers']);
|
|
94
|
-
});
|
|
95
|
-
});
|
|
96
|
-
//# sourceMappingURL=authjs.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authjs.test.js","sourceRoot":"","sources":["../../../src/auth/__tests__/authjs.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"brute-force.test.d.ts","sourceRoot":"","sources":["../../../src/auth/__tests__/brute-force.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, beforeEach } from 'vitest';
|
|
2
|
-
import { recordStrike, isLockedOut, clearStrikes, } from '../brute-force.js';
|
|
3
|
-
const DEFAULT_CONFIG = {
|
|
4
|
-
maxStrikes: 5,
|
|
5
|
-
windowMinutes: 15,
|
|
6
|
-
lockoutMinutes: 30,
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* In-memory implementation of BruteForceDb for testing.
|
|
10
|
-
*/
|
|
11
|
-
function createInMemoryDb() {
|
|
12
|
-
const strikes = [];
|
|
13
|
-
let counter = 0;
|
|
14
|
-
return {
|
|
15
|
-
async insertStrike(userId, ip) {
|
|
16
|
-
counter += 1;
|
|
17
|
-
strikes.push({
|
|
18
|
-
id: `strike-${String(counter)}`,
|
|
19
|
-
userId,
|
|
20
|
-
ip,
|
|
21
|
-
attemptedAt: new Date(),
|
|
22
|
-
});
|
|
23
|
-
},
|
|
24
|
-
async getStrikes(userId, ip, since) {
|
|
25
|
-
return strikes.filter((s) => s.userId === userId &&
|
|
26
|
-
s.ip === ip &&
|
|
27
|
-
s.attemptedAt.getTime() >= since.getTime());
|
|
28
|
-
},
|
|
29
|
-
async deleteStrikes(userId, ip) {
|
|
30
|
-
// Remove matching entries in place
|
|
31
|
-
for (let i = strikes.length - 1; i >= 0; i--) {
|
|
32
|
-
if (strikes[i].userId === userId && strikes[i].ip === ip) {
|
|
33
|
-
strikes.splice(i, 1);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
describe('brute-force protection', () => {
|
|
40
|
-
let db;
|
|
41
|
-
beforeEach(() => {
|
|
42
|
-
db = createInMemoryDb();
|
|
43
|
-
});
|
|
44
|
-
it('allows access when strikes are below the threshold', async () => {
|
|
45
|
-
for (let i = 0; i < 4; i++) {
|
|
46
|
-
await recordStrike(db, 'user-1', '1.2.3.4');
|
|
47
|
-
}
|
|
48
|
-
const result = await isLockedOut(db, 'user-1', '1.2.3.4', DEFAULT_CONFIG);
|
|
49
|
-
expect(result.locked).toBe(false);
|
|
50
|
-
});
|
|
51
|
-
it('locks out after 5 failed attempts', async () => {
|
|
52
|
-
for (let i = 0; i < 5; i++) {
|
|
53
|
-
await recordStrike(db, 'user-1', '1.2.3.4');
|
|
54
|
-
}
|
|
55
|
-
const result = await isLockedOut(db, 'user-1', '1.2.3.4', DEFAULT_CONFIG);
|
|
56
|
-
expect(result.locked).toBe(true);
|
|
57
|
-
expect(result.retryAfter).toBeDefined();
|
|
58
|
-
expect(result.retryAfter).toBeGreaterThan(0);
|
|
59
|
-
});
|
|
60
|
-
it('unlocks after clearStrikes (successful login)', async () => {
|
|
61
|
-
for (let i = 0; i < 5; i++) {
|
|
62
|
-
await recordStrike(db, 'user-1', '1.2.3.4');
|
|
63
|
-
}
|
|
64
|
-
// Confirm locked
|
|
65
|
-
let result = await isLockedOut(db, 'user-1', '1.2.3.4', DEFAULT_CONFIG);
|
|
66
|
-
expect(result.locked).toBe(true);
|
|
67
|
-
// Simulate successful login — clear strikes
|
|
68
|
-
await clearStrikes(db, 'user-1', '1.2.3.4');
|
|
69
|
-
result = await isLockedOut(db, 'user-1', '1.2.3.4', DEFAULT_CONFIG);
|
|
70
|
-
expect(result.locked).toBe(false);
|
|
71
|
-
});
|
|
72
|
-
it('lockout expires after the configured duration', async () => {
|
|
73
|
-
// Use a very short lockout for this test
|
|
74
|
-
const shortConfig = {
|
|
75
|
-
maxStrikes: 5,
|
|
76
|
-
windowMinutes: 15,
|
|
77
|
-
lockoutMinutes: 0, // 0 minutes = expires immediately
|
|
78
|
-
};
|
|
79
|
-
for (let i = 0; i < 5; i++) {
|
|
80
|
-
await recordStrike(db, 'user-1', '1.2.3.4');
|
|
81
|
-
}
|
|
82
|
-
// With 0-minute lockout, the lockout has already expired
|
|
83
|
-
const result = await isLockedOut(db, 'user-1', '1.2.3.4', shortConfig);
|
|
84
|
-
expect(result.locked).toBe(false);
|
|
85
|
-
});
|
|
86
|
-
it('tracks different IPs separately', async () => {
|
|
87
|
-
// 5 strikes from IP A
|
|
88
|
-
for (let i = 0; i < 5; i++) {
|
|
89
|
-
await recordStrike(db, 'user-1', '1.2.3.4');
|
|
90
|
-
}
|
|
91
|
-
// IP A is locked
|
|
92
|
-
const lockedResult = await isLockedOut(db, 'user-1', '1.2.3.4', DEFAULT_CONFIG);
|
|
93
|
-
expect(lockedResult.locked).toBe(true);
|
|
94
|
-
// IP B has no strikes — not locked
|
|
95
|
-
const freeResult = await isLockedOut(db, 'user-1', '5.6.7.8', DEFAULT_CONFIG);
|
|
96
|
-
expect(freeResult.locked).toBe(false);
|
|
97
|
-
});
|
|
98
|
-
it('does not count strikes outside the time window', async () => {
|
|
99
|
-
// Use a config with a tiny window
|
|
100
|
-
const tinyWindowConfig = {
|
|
101
|
-
maxStrikes: 5,
|
|
102
|
-
windowMinutes: 0, // 0-minute window — nothing is "recent"
|
|
103
|
-
lockoutMinutes: 30,
|
|
104
|
-
};
|
|
105
|
-
for (let i = 0; i < 5; i++) {
|
|
106
|
-
await recordStrike(db, 'user-1', '1.2.3.4');
|
|
107
|
-
}
|
|
108
|
-
// Strikes happened "now", but window is 0 minutes, so the window
|
|
109
|
-
// start is Date.now() — strikes at exactly Date.now() are on the boundary.
|
|
110
|
-
// The getStrikes uses >=, so they are included. However with windowMinutes=0
|
|
111
|
-
// and Date.now() granularity, let's just verify the lockout expires.
|
|
112
|
-
// Instead, use a mock to simulate old strikes:
|
|
113
|
-
const mockDb = {
|
|
114
|
-
async insertStrike() { },
|
|
115
|
-
async getStrikes() {
|
|
116
|
-
// Return 5 strikes that are all in the past (before any window)
|
|
117
|
-
return [];
|
|
118
|
-
},
|
|
119
|
-
async deleteStrikes() { },
|
|
120
|
-
};
|
|
121
|
-
const result = await isLockedOut(mockDb, 'user-1', '1.2.3.4', DEFAULT_CONFIG);
|
|
122
|
-
expect(result.locked).toBe(false);
|
|
123
|
-
});
|
|
124
|
-
});
|
|
125
|
-
//# sourceMappingURL=brute-force.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"brute-force.test.js","sourceRoot":"","sources":["../../../src/auth/__tests__/brute-force.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"document-access.test.d.ts","sourceRoot":"","sources":["../../../src/auth/__tests__/document-access.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, vi } from 'vitest';
|
|
2
|
-
import { checkDocumentAccess, checkDocumentMutationAccess } from '../access-control.js';
|
|
3
|
-
// ─── Mock DB helpers ──────────────────────────────────────────────────────────
|
|
4
|
-
function makeSelectChain(rows) {
|
|
5
|
-
return {
|
|
6
|
-
from: vi.fn().mockReturnThis(),
|
|
7
|
-
where: vi.fn().mockResolvedValue(rows),
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
function makeSelectChainWithLimit(rows) {
|
|
11
|
-
return {
|
|
12
|
-
from: vi.fn().mockReturnThis(),
|
|
13
|
-
where: vi.fn().mockReturnThis(),
|
|
14
|
-
limit: vi.fn().mockResolvedValue(rows),
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
function makeMockDb(permRows, hasPermission) {
|
|
18
|
-
let selectCallCount = 0;
|
|
19
|
-
return {
|
|
20
|
-
select: vi.fn(() => {
|
|
21
|
-
selectCallCount += 1;
|
|
22
|
-
// First call = listContentPermissions (no limit), second = checkUserContentPermission (with limit)
|
|
23
|
-
if (selectCallCount === 1)
|
|
24
|
-
return makeSelectChain(permRows);
|
|
25
|
-
return makeSelectChainWithLimit(hasPermission ? [{ id: 'perm-1' }] : []);
|
|
26
|
-
}),
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
// ─── Test users ───────────────────────────────────────────────────────────────
|
|
30
|
-
const superAdmin = { id: 'sa-1', role: 'superAdmin', groups: [] };
|
|
31
|
-
const siteAdmin = { id: 'siteadmin-1', role: 'siteAdmin', groups: [] };
|
|
32
|
-
const editor = { id: 'editor-1', role: 'editor', groups: ['writers'] };
|
|
33
|
-
const reader = { id: 'reader-1', role: 'reader', groups: [] };
|
|
34
|
-
const CONTENT_ID = 'content-uuid-1';
|
|
35
|
-
const PERM_ROW = { id: 'perm-1', contentId: CONTENT_ID, userId: 'reader-1', groupId: null, action: 'read' };
|
|
36
|
-
// ─── Tests ────────────────────────────────────────────────────────────────────
|
|
37
|
-
describe('checkDocumentAccess', () => {
|
|
38
|
-
describe('admin bypass', () => {
|
|
39
|
-
it('grants superAdmin access without checking permissions', async () => {
|
|
40
|
-
const db = makeMockDb([], false);
|
|
41
|
-
const result = await checkDocumentAccess(db, CONTENT_ID, superAdmin, 'read');
|
|
42
|
-
expect(result).toBe(true);
|
|
43
|
-
expect(db.select).not.toHaveBeenCalled();
|
|
44
|
-
});
|
|
45
|
-
it('grants siteAdmin access without checking permissions', async () => {
|
|
46
|
-
const db = makeMockDb([], false);
|
|
47
|
-
const result = await checkDocumentAccess(db, CONTENT_ID, siteAdmin, 'read');
|
|
48
|
-
expect(result).toBe(true);
|
|
49
|
-
expect(db.select).not.toHaveBeenCalled();
|
|
50
|
-
});
|
|
51
|
-
it('grants superAdmin access even for delete action', async () => {
|
|
52
|
-
const db = makeMockDb([], false);
|
|
53
|
-
const result = await checkDocumentAccess(db, CONTENT_ID, superAdmin, 'delete');
|
|
54
|
-
expect(result).toBe(true);
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
describe('no permissions defined (open access)', () => {
|
|
58
|
-
it('allows anonymous user when no permissions exist', async () => {
|
|
59
|
-
const db = makeMockDb([], false);
|
|
60
|
-
const result = await checkDocumentAccess(db, CONTENT_ID, null, 'read');
|
|
61
|
-
expect(result).toBe(true);
|
|
62
|
-
});
|
|
63
|
-
it('allows authenticated user when no permissions exist', async () => {
|
|
64
|
-
const db = makeMockDb([], false);
|
|
65
|
-
const result = await checkDocumentAccess(db, CONTENT_ID, reader, 'read');
|
|
66
|
-
expect(result).toBe(true);
|
|
67
|
-
});
|
|
68
|
-
it('allows editor when no permissions exist', async () => {
|
|
69
|
-
const db = makeMockDb([], false);
|
|
70
|
-
const result = await checkDocumentAccess(db, CONTENT_ID, editor, 'write');
|
|
71
|
-
expect(result).toBe(true);
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
describe('permissions exist + anonymous user', () => {
|
|
75
|
-
it('denies anonymous user when permissions are defined', async () => {
|
|
76
|
-
const db = makeMockDb([PERM_ROW], false);
|
|
77
|
-
const result = await checkDocumentAccess(db, CONTENT_ID, null, 'read');
|
|
78
|
-
expect(result).toBe(false);
|
|
79
|
-
});
|
|
80
|
-
it('denies null user regardless of action when permissions exist', async () => {
|
|
81
|
-
const db = makeMockDb([PERM_ROW], false);
|
|
82
|
-
const result = await checkDocumentAccess(db, CONTENT_ID, null, 'write');
|
|
83
|
-
expect(result).toBe(false);
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
describe('permissions exist + authenticated user', () => {
|
|
87
|
-
it('allows user with a matching direct permission', async () => {
|
|
88
|
-
const db = makeMockDb([PERM_ROW], true);
|
|
89
|
-
const result = await checkDocumentAccess(db, CONTENT_ID, reader, 'read');
|
|
90
|
-
expect(result).toBe(true);
|
|
91
|
-
});
|
|
92
|
-
it('denies user with no matching permission', async () => {
|
|
93
|
-
const db = makeMockDb([PERM_ROW], false);
|
|
94
|
-
const result = await checkDocumentAccess(db, CONTENT_ID, reader, 'read');
|
|
95
|
-
expect(result).toBe(false);
|
|
96
|
-
});
|
|
97
|
-
it('allows user with a matching group permission', async () => {
|
|
98
|
-
const groupPermRow = { id: 'perm-2', contentId: CONTENT_ID, userId: null, groupId: 'writers', action: 'write' };
|
|
99
|
-
const db = makeMockDb([groupPermRow], true);
|
|
100
|
-
const result = await checkDocumentAccess(db, CONTENT_ID, editor, 'write');
|
|
101
|
-
expect(result).toBe(true);
|
|
102
|
-
});
|
|
103
|
-
it('denies user with wrong action in permissions', async () => {
|
|
104
|
-
// Permissions exist but user has no write perm, only read perm exists
|
|
105
|
-
const db = makeMockDb([PERM_ROW], false);
|
|
106
|
-
const result = await checkDocumentAccess(db, CONTENT_ID, reader, 'write');
|
|
107
|
-
expect(result).toBe(false);
|
|
108
|
-
});
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
// ─── checkDocumentMutationAccess (G-J04b-01) ───────────────────────────────────
|
|
112
|
-
const PERMS = [PERM_ROW]; // any non-empty ACL → node is locked down
|
|
113
|
-
/**
|
|
114
|
-
* Sequential mock DB: each `db.select()` call dequeues the next result set. The
|
|
115
|
-
* two shapes checkDocumentAccess uses (listContentPermissions resolves at
|
|
116
|
-
* `.where()`, checkUserContentPermission resolves at `.limit()`) both read the
|
|
117
|
-
* same dequeued rows, so the queue is one entry per select() call.
|
|
118
|
-
*/
|
|
119
|
-
function makeSeqDb(results) {
|
|
120
|
-
let i = 0;
|
|
121
|
-
return {
|
|
122
|
-
select: vi.fn(() => {
|
|
123
|
-
const rows = results[i++] ?? [];
|
|
124
|
-
const where = {
|
|
125
|
-
then: (resolve) => resolve(rows),
|
|
126
|
-
limit: () => Promise.resolve(rows),
|
|
127
|
-
};
|
|
128
|
-
return { from: () => ({ where: () => where }) };
|
|
129
|
-
}),
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
const author = { id: 'author-1', role: 'author', groups: [] };
|
|
133
|
-
describe('checkDocumentMutationAccess', () => {
|
|
134
|
-
it('bypasses all checks for siteAdmin (no DB access)', async () => {
|
|
135
|
-
const db = makeSeqDb([]);
|
|
136
|
-
expect(await checkDocumentMutationAccess(db, CONTENT_ID, siteAdmin, 'write')).toBe(true);
|
|
137
|
-
expect(db.select).not.toHaveBeenCalled();
|
|
138
|
-
});
|
|
139
|
-
it('allows any authenticated writer when the node has no ACL rows', async () => {
|
|
140
|
-
// read gate: empty perms → open; write gate: empty perms → open
|
|
141
|
-
const db = makeSeqDb([[], []]);
|
|
142
|
-
expect(await checkDocumentMutationAccess(db, CONTENT_ID, author, 'write')).toBe(true);
|
|
143
|
-
});
|
|
144
|
-
it('denies an author with NO grant on a locked node (F1c scenario)', async () => {
|
|
145
|
-
// read gate: perms exist, no read grant → read denied, short-circuits
|
|
146
|
-
const db = makeSeqDb([PERMS, []]);
|
|
147
|
-
expect(await checkDocumentMutationAccess(db, CONTENT_ID, author, 'write')).toBe(false);
|
|
148
|
-
});
|
|
149
|
-
it('denies write when the author can read but has no write grant', async () => {
|
|
150
|
-
// read gate passes (grant present), write gate fails (no write grant)
|
|
151
|
-
const db = makeSeqDb([PERMS, [{ id: 'p' }], PERMS, []]);
|
|
152
|
-
expect(await checkDocumentMutationAccess(db, CONTENT_ID, author, 'write')).toBe(false);
|
|
153
|
-
});
|
|
154
|
-
it('allows write when the author holds both read and write grants', async () => {
|
|
155
|
-
const db = makeSeqDb([PERMS, [{ id: 'p' }], PERMS, [{ id: 'p' }]]);
|
|
156
|
-
expect(await checkDocumentMutationAccess(db, CONTENT_ID, author, 'write')).toBe(true);
|
|
157
|
-
});
|
|
158
|
-
it('denies a write-only grant with no read grant (cannot act on invisible node)', async () => {
|
|
159
|
-
// read gate: perms exist, no read grant → denied even though a write grant exists
|
|
160
|
-
const db = makeSeqDb([PERMS, []]);
|
|
161
|
-
expect(await checkDocumentMutationAccess(db, CONTENT_ID, author, 'write')).toBe(false);
|
|
162
|
-
});
|
|
163
|
-
it('denies anonymous users on a locked node', async () => {
|
|
164
|
-
const db = makeSeqDb([PERMS]);
|
|
165
|
-
expect(await checkDocumentMutationAccess(db, CONTENT_ID, null, 'delete')).toBe(false);
|
|
166
|
-
});
|
|
167
|
-
it('evaluates the action-specific grant for publish/delete', async () => {
|
|
168
|
-
// read grant present, publish grant absent → publish denied
|
|
169
|
-
const db = makeSeqDb([PERMS, [{ id: 'p' }], PERMS, []]);
|
|
170
|
-
expect(await checkDocumentMutationAccess(db, CONTENT_ID, author, 'publish')).toBe(false);
|
|
171
|
-
});
|
|
172
|
-
});
|
|
173
|
-
//# sourceMappingURL=document-access.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"document-access.test.js","sourceRoot":"","sources":["../../../src/auth/__tests__/document-access.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"field-filter.test.d.ts","sourceRoot":"","sources":["../../../src/auth/__tests__/field-filter.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { filterFieldsForUser } from '../access-control.js';
|
|
3
|
-
describe('filterFieldsForUser', () => {
|
|
4
|
-
const fields = [
|
|
5
|
-
{ name: 'title', type: 'text', label: 'Title' },
|
|
6
|
-
{ name: 'body', type: 'richText', label: 'Body' },
|
|
7
|
-
{
|
|
8
|
-
name: 'internalNotes',
|
|
9
|
-
type: 'textarea',
|
|
10
|
-
label: 'Internal Notes',
|
|
11
|
-
access: {
|
|
12
|
-
read: ({ user }) => user !== null && (user.role === 'siteAdmin' || user.role === 'superAdmin'),
|
|
13
|
-
},
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
name: 'salary',
|
|
17
|
-
type: 'number',
|
|
18
|
-
label: 'Salary',
|
|
19
|
-
access: {
|
|
20
|
-
read: ({ user }) => user?.role === 'superAdmin',
|
|
21
|
-
write: ({ user }) => user?.role === 'superAdmin',
|
|
22
|
-
},
|
|
23
|
-
},
|
|
24
|
-
];
|
|
25
|
-
const siteAdmin = { id: 'u1', role: 'siteAdmin', groups: [] };
|
|
26
|
-
const editor = { id: 'u2', role: 'editor', groups: [] };
|
|
27
|
-
const superAdmin = { id: 'u3', role: 'superAdmin', groups: [] };
|
|
28
|
-
it('strips fields the user cannot read', () => {
|
|
29
|
-
const data = { title: 'Hello', body: '<p>World</p>', internalNotes: 'Private', salary: 100000 };
|
|
30
|
-
const filtered = filterFieldsForUser(data, fields, editor, 'read');
|
|
31
|
-
expect(filtered).toEqual({ title: 'Hello', body: '<p>World</p>' });
|
|
32
|
-
expect(filtered).not.toHaveProperty('internalNotes');
|
|
33
|
-
expect(filtered).not.toHaveProperty('salary');
|
|
34
|
-
});
|
|
35
|
-
it('keeps fields for siteAdmin', () => {
|
|
36
|
-
const data = { title: 'Hello', body: '<p>World</p>', internalNotes: 'Private', salary: 100000 };
|
|
37
|
-
const filtered = filterFieldsForUser(data, fields, siteAdmin, 'read');
|
|
38
|
-
expect(filtered).toHaveProperty('internalNotes', 'Private');
|
|
39
|
-
expect(filtered).not.toHaveProperty('salary');
|
|
40
|
-
});
|
|
41
|
-
it('keeps all fields for superAdmin', () => {
|
|
42
|
-
const data = { title: 'Hello', body: '<p>World</p>', internalNotes: 'Private', salary: 100000 };
|
|
43
|
-
const filtered = filterFieldsForUser(data, fields, superAdmin, 'read');
|
|
44
|
-
expect(filtered).toEqual(data);
|
|
45
|
-
});
|
|
46
|
-
it('returns all fields when no access restrictions defined', () => {
|
|
47
|
-
const unrestricted = [
|
|
48
|
-
{ name: 'title', type: 'text', label: 'Title' },
|
|
49
|
-
{ name: 'body', type: 'richText', label: 'Body' },
|
|
50
|
-
];
|
|
51
|
-
const data = { title: 'Hello', body: '<p>World</p>' };
|
|
52
|
-
const filtered = filterFieldsForUser(data, unrestricted, editor, 'read');
|
|
53
|
-
expect(filtered).toEqual(data);
|
|
54
|
-
});
|
|
55
|
-
it('strips fields for null (anonymous) user', () => {
|
|
56
|
-
const data = { title: 'Hello', internalNotes: 'Private' };
|
|
57
|
-
const filtered = filterFieldsForUser(data, fields, null, 'read');
|
|
58
|
-
expect(filtered).toEqual({ title: 'Hello' });
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
//# sourceMappingURL=field-filter.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"field-filter.test.js","sourceRoot":"","sources":["../../../src/auth/__tests__/field-filter.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAG1D,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,MAAM,MAAM,GAAsB;QAChC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE;QAC/C,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE;QACjD;YACE,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,gBAAgB;YACvB,MAAM,EAAE;gBACN,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC;aAC/F;SACF;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE;gBACN,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,YAAY;gBAC/C,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,YAAY;aACjD;SACF;KACF,CAAA;IAED,MAAM,SAAS,GAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;IAC1E,MAAM,MAAM,GAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;IACpE,MAAM,UAAU,GAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;IAE5E,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;QAC/F,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;QAClE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAA;QAClE,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,CAAA;QACpD,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;QAC/F,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QACrE,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,eAAe,EAAE,SAAS,CAAC,CAAA;QAC3D,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;QAC/F,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;QACtE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,YAAY,GAAsB;YACtC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE;YAC/C,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE;SAClD,CAAA;QACD,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAA;QACrD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;QACxE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,CAAA;QACzD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;QAChE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mfa.test.d.ts","sourceRoot":"","sources":["../../../src/auth/__tests__/mfa.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import * as OTPAuth from 'otpauth';
|
|
3
|
-
import { generateTotpSecret, verifyTotpCode, generateRecoveryCodes, hashRecoveryCode, verifyRecoveryCode, } from '../mfa.js';
|
|
4
|
-
describe('generateTotpSecret', () => {
|
|
5
|
-
it('returns a base32 secret and an otpauth URI', () => {
|
|
6
|
-
const result = generateTotpSecret('Kywi', 'user@example.com');
|
|
7
|
-
expect(result.secret).toBeTruthy();
|
|
8
|
-
// Base32 characters: A-Z, 2-7, =
|
|
9
|
-
expect(result.secret).toMatch(/^[A-Z2-7]+=*$/);
|
|
10
|
-
expect(result.uri).toMatch(/^otpauth:\/\/totp\//);
|
|
11
|
-
expect(result.uri).toContain('issuer=Kywi');
|
|
12
|
-
});
|
|
13
|
-
});
|
|
14
|
-
describe('verifyTotpCode', () => {
|
|
15
|
-
it('returns true for a correct current TOTP code', () => {
|
|
16
|
-
const { secret } = generateTotpSecret('Kywi', 'user@example.com');
|
|
17
|
-
// Generate a valid token from the same secret
|
|
18
|
-
const totp = new OTPAuth.TOTP({
|
|
19
|
-
algorithm: 'SHA1',
|
|
20
|
-
digits: 6,
|
|
21
|
-
period: 30,
|
|
22
|
-
secret: OTPAuth.Secret.fromBase32(secret),
|
|
23
|
-
});
|
|
24
|
-
const validCode = totp.generate();
|
|
25
|
-
expect(verifyTotpCode(secret, validCode)).toBe(true);
|
|
26
|
-
});
|
|
27
|
-
it('returns false for an incorrect code', () => {
|
|
28
|
-
const { secret } = generateTotpSecret('Kywi', 'user@example.com');
|
|
29
|
-
expect(verifyTotpCode(secret, '000000')).toBe(false);
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
describe('generateRecoveryCodes', () => {
|
|
33
|
-
it('generates the requested number of codes', () => {
|
|
34
|
-
const codes = generateRecoveryCodes(8);
|
|
35
|
-
expect(codes).toHaveLength(8);
|
|
36
|
-
});
|
|
37
|
-
it('defaults to 10 codes', () => {
|
|
38
|
-
const codes = generateRecoveryCodes();
|
|
39
|
-
expect(codes).toHaveLength(10);
|
|
40
|
-
});
|
|
41
|
-
it('produces codes in XXXX-XXXX-XXXX format', () => {
|
|
42
|
-
const codes = generateRecoveryCodes(5);
|
|
43
|
-
for (const code of codes) {
|
|
44
|
-
expect(code).toMatch(/^[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}$/);
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
describe('hashRecoveryCode', () => {
|
|
49
|
-
it('returns a 64-char hex SHA-256 hash', () => {
|
|
50
|
-
const hash = hashRecoveryCode('abcd-1234-ef56');
|
|
51
|
-
expect(hash).toMatch(/^[0-9a-f]{64}$/);
|
|
52
|
-
});
|
|
53
|
-
it('normalizes dashes and case', () => {
|
|
54
|
-
const h1 = hashRecoveryCode('ABCD-1234-EF56');
|
|
55
|
-
const h2 = hashRecoveryCode('abcd1234ef56');
|
|
56
|
-
expect(h1).toBe(h2);
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
describe('verifyRecoveryCode', () => {
|
|
60
|
-
it('validates a correct recovery code and consumes it', () => {
|
|
61
|
-
const codes = generateRecoveryCodes(3);
|
|
62
|
-
const hashedCodes = codes.map(hashRecoveryCode);
|
|
63
|
-
const target = codes[1];
|
|
64
|
-
const result = verifyRecoveryCode(hashedCodes, target);
|
|
65
|
-
expect(result.valid).toBe(true);
|
|
66
|
-
expect(result.remainingCodes).toHaveLength(2);
|
|
67
|
-
// The consumed code's hash should no longer be in the list
|
|
68
|
-
expect(result.remainingCodes).not.toContain(hashRecoveryCode(target));
|
|
69
|
-
});
|
|
70
|
-
it('rejects an invalid recovery code', () => {
|
|
71
|
-
const codes = generateRecoveryCodes(3);
|
|
72
|
-
const hashedCodes = codes.map(hashRecoveryCode);
|
|
73
|
-
const result = verifyRecoveryCode(hashedCodes, 'xxxx-xxxx-xxxx');
|
|
74
|
-
expect(result.valid).toBe(false);
|
|
75
|
-
expect(result.remainingCodes).toHaveLength(3);
|
|
76
|
-
});
|
|
77
|
-
it('a consumed code cannot be reused', () => {
|
|
78
|
-
const codes = generateRecoveryCodes(3);
|
|
79
|
-
const hashedCodes = codes.map(hashRecoveryCode);
|
|
80
|
-
const target = codes[0];
|
|
81
|
-
// First use — valid
|
|
82
|
-
const first = verifyRecoveryCode(hashedCodes, target);
|
|
83
|
-
expect(first.valid).toBe(true);
|
|
84
|
-
// Second use with updated list — invalid
|
|
85
|
-
const second = verifyRecoveryCode(first.remainingCodes, target);
|
|
86
|
-
expect(second.valid).toBe(false);
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
//# sourceMappingURL=mfa.test.js.map
|