@picked/client 0.0.1-dev.1788925875333 → 0.0.1-next.1
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/README.md +8 -0
- package/dist/cjs/index.js +1 -4
- package/dist/cjs/plugins/create-experience/index.js +1 -1
- package/dist/cjs/plugins/experience-browserstorage-plugin/index.js +1 -0
- package/dist/cjs/plugins/history-browserstorage-plugin/index.js +1 -0
- package/dist/cjs/plugins/responses-browserstorage-plugin/index.js +1 -0
- package/dist/cjs/plugins/responses-indexeddb-plugin/index.js +1 -0
- package/dist/cjs/plugins/shopify/index.js +1 -0
- package/dist/cjs/plugins/single-page-app/index.js +1 -1
- package/dist/cjs/plugins/window-object/index.js +1 -1
- package/dist/cjs/server/index.js +1 -1
- package/dist/esm/index.js +733 -1814
- package/dist/esm/plugins/create-experience/index.js +398 -490
- package/dist/esm/plugins/experience-browserstorage-plugin/index.js +38 -0
- package/dist/esm/plugins/history-browserstorage-plugin/index.js +26 -0
- package/dist/esm/plugins/responses-browserstorage-plugin/index.js +36 -0
- package/dist/esm/plugins/responses-indexeddb-plugin/index.js +101 -0
- package/dist/esm/plugins/shopify/index.js +59 -0
- package/dist/esm/plugins/single-page-app/index.js +35 -31
- package/dist/esm/plugins/window-object/index.js +9 -9
- package/dist/esm/server/index.js +89 -141
- package/dist/experience-instance-6ZKZS7dF.cjs +1 -0
- package/dist/experience-instance-BA0EXYg5.js +712 -0
- package/dist/id-BKIWbSTy.cjs +1 -0
- package/dist/id-BW-g3y32.js +6 -0
- package/dist/logger-BsmHUUw1.cjs +1 -0
- package/dist/logger-C9a75KZn.js +5 -0
- package/dist/object-BbFTsGh3.cjs +1 -0
- package/dist/object-JwZ58NOH.js +28 -0
- package/dist/storage-BPJwmlva.cjs +1 -0
- package/dist/storage-D87xFySf.js +85 -0
- package/dist/supports-BvrzQAVk.js +79 -0
- package/dist/supports-C0y3-V5V.cjs +1 -0
- package/dist/types/client.d.ts +23 -119
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/entities/component/component.d.ts +6 -45
- package/dist/types/entities/component/component.d.ts.map +1 -1
- package/dist/types/entities/experience/experience.d.ts +99 -152
- package/dist/types/entities/experience/experience.d.ts.map +1 -1
- package/dist/types/entities/experience-instance/experience-instance.d.ts +113 -83
- package/dist/types/entities/experience-instance/experience-instance.d.ts.map +1 -1
- package/dist/types/entities/feature/feature.d.ts +8 -118
- package/dist/types/entities/feature/feature.d.ts.map +1 -1
- package/dist/types/entities/field/field.d.ts +64 -96
- package/dist/types/entities/field/field.d.ts.map +1 -1
- package/dist/types/entities/framework/framework.d.ts +7 -32
- package/dist/types/entities/framework/framework.d.ts.map +1 -1
- package/dist/types/entities/history/history.d.ts +6 -6
- package/dist/types/entities/history/history.d.ts.map +1 -1
- package/dist/types/entities/plugin/plugin.d.ts +2 -41
- package/dist/types/entities/plugin/plugin.d.ts.map +1 -1
- package/dist/types/entities/predicate/predicate.d.ts +7 -30
- package/dist/types/entities/predicate/predicate.d.ts.map +1 -1
- package/dist/types/entities/project/project.d.ts +9 -0
- package/dist/types/entities/project/project.d.ts.map +1 -0
- package/dist/types/entities/response/response.d.ts +21 -57
- package/dist/types/entities/response/response.d.ts.map +1 -1
- package/dist/types/exports.d.ts +4 -22
- package/dist/types/exports.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -12
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/logic-engine.d.ts +11 -13
- package/dist/types/logic-engine.d.ts.map +1 -1
- package/dist/types/picked.d.ts +184 -381
- package/dist/types/picked.d.ts.map +1 -1
- package/dist/types/ping.d.ts +10 -0
- package/dist/types/ping.d.ts.map +1 -0
- package/dist/types/plugins/create-experience/create-experience.d.ts +44 -119
- package/dist/types/plugins/create-experience/create-experience.d.ts.map +1 -1
- package/dist/types/plugins/create-experience/index.d.ts +2 -2
- package/dist/types/plugins/create-experience/index.d.ts.map +1 -1
- package/dist/types/plugins/create-experience/plugin.d.ts +2 -3
- package/dist/types/plugins/create-experience/plugin.d.ts.map +1 -1
- package/dist/types/plugins/create-experience/serialization.d.ts.map +1 -1
- package/dist/types/plugins/experience-browserstorage-plugin/index.d.ts.map +1 -0
- package/dist/types/plugins/experience-browserstorage-plugin/plugin.d.ts +6 -0
- package/dist/types/plugins/experience-browserstorage-plugin/plugin.d.ts.map +1 -0
- package/dist/types/plugins/history-browserstorage-plugin/index.d.ts.map +1 -0
- package/dist/types/plugins/{history-browser-storage → history-browserstorage-plugin}/plugin.d.ts +1 -2
- package/dist/types/plugins/history-browserstorage-plugin/plugin.d.ts.map +1 -0
- package/dist/types/plugins/responses-browserstorage-plugin/index.d.ts.map +1 -0
- package/dist/types/plugins/responses-browserstorage-plugin/plugin.d.ts +6 -0
- package/dist/types/plugins/responses-browserstorage-plugin/plugin.d.ts.map +1 -0
- package/dist/types/plugins/responses-indexeddb-plugin/index.d.ts.map +1 -0
- package/dist/types/plugins/responses-indexeddb-plugin/plugin.d.ts +3 -0
- package/dist/types/plugins/responses-indexeddb-plugin/plugin.d.ts.map +1 -0
- package/dist/types/plugins/shopify/index.d.ts +2 -0
- package/dist/types/plugins/shopify/index.d.ts.map +1 -0
- package/dist/types/plugins/shopify/plugin.d.ts +3 -0
- package/dist/types/plugins/shopify/plugin.d.ts.map +1 -0
- package/dist/types/plugins/shopify/shopify.d.ts +28 -0
- package/dist/types/plugins/shopify/shopify.d.ts.map +1 -0
- package/dist/types/plugins/single-page-app/plugin.d.ts +2 -2
- package/dist/types/plugins/single-page-app/plugin.d.ts.map +1 -1
- package/dist/types/plugins/window-object/plugin.d.ts +2 -2
- package/dist/types/server/index.d.ts +3 -18
- package/dist/types/server/index.d.ts.map +1 -1
- package/dist/types/utils/dom.d.ts +6 -4
- package/dist/types/utils/dom.d.ts.map +1 -1
- package/dist/types/utils/events.d.ts +38 -83
- package/dist/types/utils/events.d.ts.map +1 -1
- package/dist/types/utils/global-obj.d.ts +2 -1
- package/dist/types/utils/global-obj.d.ts.map +1 -1
- package/dist/types/utils/id.d.ts.map +1 -1
- package/dist/types/utils/indexed-db.d.ts +1 -2
- package/dist/types/utils/indexed-db.d.ts.map +1 -1
- package/dist/types/utils/logger.d.ts +1 -2
- package/dist/types/utils/logger.d.ts.map +1 -1
- package/dist/types/utils/node-tree/get-next-node-from-conditional.d.ts +3 -0
- package/dist/types/utils/node-tree/get-next-node-from-conditional.d.ts.map +1 -0
- package/dist/types/utils/node-tree/get-next-node.d.ts +1 -1
- package/dist/types/utils/node-tree/get-next-node.d.ts.map +1 -1
- package/dist/types/utils/node-tree/get-origin-node.d.ts +1 -1
- package/dist/types/utils/node-tree/get-origin-node.d.ts.map +1 -1
- package/dist/types/utils/node-tree/min-max-steps-to-leaf.d.ts +1 -1
- package/dist/types/utils/node-tree/min-max-steps-to-leaf.d.ts.map +1 -1
- package/dist/types/utils/node-tree/min-max-steps-to-origin.d.ts +1 -1
- package/dist/types/utils/node-tree/min-max-steps-to-origin.d.ts.map +1 -1
- package/dist/types/utils/node-tree/next-reachable-step-nodes.d.ts +1 -1
- package/dist/types/utils/node-tree/next-reachable-step-nodes.d.ts.map +1 -1
- package/dist/types/utils/nodes.d.ts +2 -3
- package/dist/types/utils/nodes.d.ts.map +1 -1
- package/dist/types/utils/object.d.ts +8 -0
- package/dist/types/utils/object.d.ts.map +1 -1
- package/dist/types/utils/rules-logic.d.ts +3 -33
- package/dist/types/utils/rules-logic.d.ts.map +1 -1
- package/dist/types/utils/search-params.d.ts.map +1 -1
- package/dist/types/utils/state-snaphot.d.ts +16 -0
- package/dist/types/utils/state-snaphot.d.ts.map +1 -0
- package/dist/types/utils/storage.d.ts +11 -374
- package/dist/types/utils/storage.d.ts.map +1 -1
- package/dist/types/utils/supports.d.ts +0 -87
- package/dist/types/utils/supports.d.ts.map +1 -1
- package/package.json +49 -182
- package/dist/.tsbuildinfo +0 -1
- package/dist/api-DbMJli3H.js +0 -22
- package/dist/api-qiqq8lgz.cjs +0 -1
- package/dist/cjs/form/index.js +0 -1
- package/dist/cjs/plugins/dom-observer/index.js +0 -1
- package/dist/cjs/plugins/dynamic-experiences/index.js +0 -1
- package/dist/cjs/plugins/experience-browser-storage/index.js +0 -1
- package/dist/cjs/plugins/history-browser-storage/index.js +0 -1
- package/dist/cjs/plugins/responses-browser-storage/index.js +0 -1
- package/dist/cjs/plugins/responses-indexeddb/index.js +0 -1
- package/dist/cjs/plugins/telemetry/index.js +0 -1
- package/dist/cjs/plugins/web-components/index.js +0 -1
- package/dist/cjs/preview/index.js +0 -1
- package/dist/docs/_root.css +0 -101
- package/dist/docs/explanation/conditions-and-the-logic-engine.md +0 -94
- package/dist/docs/explanation/content-references.md +0 -99
- package/dist/docs/explanation/feature-flag-allocation.md +0 -218
- package/dist/docs/explanation/how-picked-works.md +0 -124
- package/dist/docs/explanation/how-pickedql-works.md +0 -76
- package/dist/docs/explanation/pages-and-flows.md +0 -64
- package/dist/docs/explanation/the-content-model.md +0 -87
- package/dist/docs/explanation/the-two-apis.md +0 -68
- package/dist/docs/explanation/why-server-side-rendering.md +0 -76
- package/dist/docs/explanation/workspaces-and-versions.md +0 -71
- package/dist/docs/how-to/add-a-step-field-or-action.md +0 -43
- package/dist/docs/how-to/analytics/index.md +0 -316
- package/dist/docs/how-to/archive-or-delete-a-workspace.md +0 -46
- package/dist/docs/how-to/authenticate-the-cli.md +0 -97
- package/dist/docs/how-to/authenticate-with-a-magic-link.md +0 -40
- package/dist/docs/how-to/authenticate-with-a-password.md +0 -51
- package/dist/docs/how-to/authenticate-with-an-api-key.md +0 -51
- package/dist/docs/how-to/authenticate-with-oauth.md +0 -40
- package/dist/docs/how-to/build-a-flow.md +0 -83
- package/dist/docs/how-to/connect-the-mcp-server.md +0 -38
- package/dist/docs/how-to/create-a-content-entry.md +0 -48
- package/dist/docs/how-to/create-a-project.md +0 -29
- package/dist/docs/how-to/create-an-experience.md +0 -42
- package/dist/docs/how-to/create-and-revoke-an-api-key.md +0 -42
- package/dist/docs/how-to/debug-with-the-chrome-extension.md +0 -57
- package/dist/docs/how-to/define-a-page-layout.md +0 -46
- package/dist/docs/how-to/fill-and-publish-a-page.md +0 -66
- package/dist/docs/how-to/install-the-gtm-template.md +0 -84
- package/dist/docs/how-to/install-the-sdk.md +0 -93
- package/dist/docs/how-to/install-the-vite-plugin.md +0 -69
- package/dist/docs/how-to/invite-and-remove-members.md +0 -34
- package/dist/docs/how-to/point-one-entry-at-another.md +0 -61
- package/dist/docs/how-to/preview-a-workspace.md +0 -28
- package/dist/docs/how-to/publish-a-workspace.md +0 -30
- package/dist/docs/how-to/read-a-feature-flag.md +0 -113
- package/dist/docs/how-to/read-a-referenced-entry.md +0 -109
- package/dist/docs/how-to/register-a-component.md +0 -55
- package/dist/docs/how-to/register-an-action-handler.md +0 -67
- package/dist/docs/how-to/render-a-step-form.md +0 -131
- package/dist/docs/how-to/render-an-unpublished-preview.md +0 -41
- package/dist/docs/how-to/reuse-a-section.md +0 -53
- package/dist/docs/how-to/reuse-a-step-field-or-action.md +0 -28
- package/dist/docs/how-to/roll-back-a-published-version.md +0 -26
- package/dist/docs/how-to/run-an-ab-test.md +0 -49
- package/dist/docs/how-to/run-code-on-a-form-submission.md +0 -125
- package/dist/docs/how-to/server-render-a-page.md +0 -81
- package/dist/docs/how-to/set-a-content-security-policy.md +0 -32
- package/dist/docs/how-to/set-up-mfa.md +0 -69
- package/dist/docs/how-to/switch-workspaces.md +0 -122
- package/dist/docs/how-to/upload-and-use-an-asset.mdx +0 -73
- package/dist/docs/how-to/validate-a-field.md +0 -52
- package/dist/docs/how-to/write-a-condition.md +0 -45
- package/dist/docs/how-to/write-a-predicate.md +0 -60
- package/dist/docs/index.md +0 -59
- package/dist/docs/reference/dashboard/actions.mdx +0 -53
- package/dist/docs/reference/dashboard/api-keys.mdx +0 -38
- package/dist/docs/reference/dashboard/conditions.mdx +0 -42
- package/dist/docs/reference/dashboard/content/asset-library.mdx +0 -63
- package/dist/docs/reference/dashboard/content/blocks.mdx +0 -57
- package/dist/docs/reference/dashboard/content/content-entries.mdx +0 -95
- package/dist/docs/reference/dashboard/content/models.mdx +0 -108
- package/dist/docs/reference/dashboard/content/pages.mdx +0 -61
- package/dist/docs/reference/dashboard/experiences.mdx +0 -51
- package/dist/docs/reference/dashboard/features.mdx +0 -154
- package/dist/docs/reference/dashboard/fields.mdx +0 -106
- package/dist/docs/reference/dashboard/flow-builder/canvas.mdx +0 -58
- package/dist/docs/reference/dashboard/flow-builder/condition-builder.md +0 -57
- package/dist/docs/reference/dashboard/flow-builder/keyboard-shortcuts.md +0 -72
- package/dist/docs/reference/dashboard/flow-builder/nodes.md +0 -63
- package/dist/docs/reference/dashboard/projects.mdx +0 -44
- package/dist/docs/reference/dashboard/reports.mdx +0 -43
- package/dist/docs/reference/dashboard/steps.mdx +0 -37
- package/dist/docs/reference/dashboard/team-management.md +0 -29
- package/dist/docs/reference/dashboard/workspace-versioning.mdx +0 -30
- package/dist/docs/reference/dashboard/workspaces.mdx +0 -76
- package/dist/docs/reference/delivery-api/experience-content.md +0 -152
- package/dist/docs/reference/delivery-api/index.md +0 -45
- package/dist/docs/reference/delivery-api/preview-caching-crawling.md +0 -79
- package/dist/docs/reference/delivery-api/project-config.md +0 -65
- package/dist/docs/reference/delivery-api/workspace-schema.md +0 -85
- package/dist/docs/reference/glossary.md +0 -181
- package/dist/docs/reference/management-api/authentication.md +0 -74
- package/dist/docs/reference/management-api/authorization-and-scopes.md +0 -285
- package/dist/docs/reference/management-api/error-handling.md +0 -233
- package/dist/docs/reference/management-api/pagination.md +0 -192
- package/dist/docs/reference/pickedql/data-sources.md +0 -174
- package/dist/docs/reference/pickedql/dimensions.md +0 -103
- package/dist/docs/reference/pickedql/filtering.md +0 -64
- package/dist/docs/reference/pickedql/index.md +0 -18
- package/dist/docs/reference/pickedql/schema.md +0 -172
- package/dist/docs/reference/pickedql/virtual-functions.md +0 -248
- package/dist/docs/reference/sdk/actions.md +0 -30
- package/dist/docs/reference/sdk/analytics-events.md +0 -445
- package/dist/docs/reference/sdk/conditions.md +0 -147
- package/dist/docs/reference/sdk/content-security-policy.md +0 -21
- package/dist/docs/reference/sdk/content.md +0 -213
- package/dist/docs/reference/sdk/experiences.md +0 -51
- package/dist/docs/reference/sdk/features.md +0 -256
- package/dist/docs/reference/sdk/fields.md +0 -255
- package/dist/docs/reference/sdk/index.md +0 -68
- package/dist/docs/reference/sdk/plugins/create-experience.md +0 -123
- package/dist/docs/reference/sdk/plugins/dynamic-experiences.md +0 -74
- package/dist/docs/reference/sdk/plugins/index.md +0 -29
- package/dist/docs/reference/sdk/plugins/window-object.md +0 -25
- package/dist/docs/reference/sdk/predicates.md +0 -43
- package/dist/docs/reference/sdk/ssr/index.md +0 -33
- package/dist/docs/reference/sdk/ssr/rendering-and-hydration.md +0 -103
- package/dist/docs/reference/sdk/ssr/serialize.md +0 -80
- package/dist/docs/reference/sdk/ssr/slots-and-placements.md +0 -59
- package/dist/docs/reference/sdk/steps.md +0 -86
- package/dist/docs/reference/sdk/type-generation.md +0 -196
- package/dist/docs/reference/tools/chrome-extension.md +0 -16
- package/dist/docs/reference/tools/cli.md +0 -146
- package/dist/docs/reference/tools/image-optimisation-service.md +0 -104
- package/dist/docs/reference/tools/mcp.md +0 -90
- package/dist/docs/reference/tools/vite-plugin.md +0 -163
- package/dist/docs/tutorials/first-api-call.md +0 -228
- package/dist/docs/tutorials/first-experience-in-the-dashboard.mdx +0 -143
- package/dist/docs/tutorials/first-experience.mdx +0 -254
- package/dist/docs/tutorials/first-server-rendered-page.mdx +0 -186
- package/dist/dom-BqcToNL0.js +0 -82
- package/dist/dom-DlLH3FxV.cjs +0 -1
- package/dist/emit-D-tLiWL1.cjs +0 -1
- package/dist/emit-Ds2EG7CB.js +0 -14
- package/dist/esm/form/index.js +0 -565
- package/dist/esm/plugins/dom-observer/index.js +0 -87
- package/dist/esm/plugins/dynamic-experiences/index.js +0 -5
- package/dist/esm/plugins/experience-browser-storage/index.js +0 -38
- package/dist/esm/plugins/history-browser-storage/index.js +0 -26
- package/dist/esm/plugins/responses-browser-storage/index.js +0 -71
- package/dist/esm/plugins/responses-indexeddb/index.js +0 -89
- package/dist/esm/plugins/telemetry/index.js +0 -100
- package/dist/esm/plugins/web-components/index.js +0 -19
- package/dist/esm/preview/index.js +0 -2
- package/dist/experience-instance-DGk11d8a.js +0 -563
- package/dist/experience-instance-Dej3P1sE.cjs +0 -1
- package/dist/id-Bo4RBeOs.js +0 -4
- package/dist/id-Js-62re-.cjs +0 -1
- package/dist/inert-script-report-B_bMPRzp.js +0 -18
- package/dist/inert-script-report-ijRHPtcY.cjs +0 -1
- package/dist/logger-CSTvAyyB.cjs +0 -1
- package/dist/logger-DMN6TxJJ.js +0 -4
- package/dist/object-BUDGxEqy.js +0 -25
- package/dist/object-CIkt7Fkr.cjs +0 -1
- package/dist/plugin-BcLaCLm1.cjs +0 -1
- package/dist/plugin-De_BJSwE.js +0 -194
- package/dist/preview-channel-CSr96XAo.js +0 -98
- package/dist/preview-channel-Cx0e6fye.cjs +0 -1
- package/dist/protocol-Bb_vpLKE.cjs +0 -1
- package/dist/protocol-C5KkkiZc.js +0 -84
- package/dist/provider-C_9u0yGJ.cjs +0 -1
- package/dist/provider-ovM-CBX_.js +0 -98
- package/dist/registry-C1t8l3t9.cjs +0 -1
- package/dist/registry-CXZv0uLg.js +0 -18
- package/dist/rules-logic-CGZIYgAI.cjs +0 -1
- package/dist/rules-logic-HesIUCu6.js +0 -13
- package/dist/storage-1MW3-_As.js +0 -103
- package/dist/storage-DUw9UJ2h.cjs +0 -1
- package/dist/supports-CO9bJGNl.js +0 -92
- package/dist/supports-DBzjGaWD.cjs +0 -1
- package/dist/types/data-source/api.d.ts +0 -60
- package/dist/types/data-source/api.d.ts.map +0 -1
- package/dist/types/data-source/provider.d.ts +0 -103
- package/dist/types/data-source/provider.d.ts.map +0 -1
- package/dist/types/data-source/registry.d.ts +0 -26
- package/dist/types/data-source/registry.d.ts.map +0 -1
- package/dist/types/data-source/request-observer.d.ts +0 -62
- package/dist/types/data-source/request-observer.d.ts.map +0 -1
- package/dist/types/data-source/virtual-data.d.ts +0 -19
- package/dist/types/data-source/virtual-data.d.ts.map +0 -1
- package/dist/types/entities/action/action.d.ts +0 -85
- package/dist/types/entities/action/action.d.ts.map +0 -1
- package/dist/types/entities/component/lazyComponent.d.ts +0 -11
- package/dist/types/entities/component/lazyComponent.d.ts.map +0 -1
- package/dist/types/entities/condition/condition.d.ts +0 -29
- package/dist/types/entities/condition/condition.d.ts.map +0 -1
- package/dist/types/entities/content/content.d.ts +0 -53
- package/dist/types/entities/content/content.d.ts.map +0 -1
- package/dist/types/entities/content/reference.d.ts +0 -101
- package/dist/types/entities/content/reference.d.ts.map +0 -1
- package/dist/types/entities/field/policies.d.ts +0 -35
- package/dist/types/entities/field/policies.d.ts.map +0 -1
- package/dist/types/entities/response/response-validation.d.ts +0 -75
- package/dist/types/entities/response/response-validation.d.ts.map +0 -1
- package/dist/types/entities/session/session.d.ts +0 -46
- package/dist/types/entities/session/session.d.ts.map +0 -1
- package/dist/types/entities/step/step.d.ts +0 -56
- package/dist/types/entities/step/step.d.ts.map +0 -1
- package/dist/types/form/build-responses.d.ts +0 -18
- package/dist/types/form/build-responses.d.ts.map +0 -1
- package/dist/types/form/create-field-evaluator.d.ts +0 -28
- package/dist/types/form/create-field-evaluator.d.ts.map +0 -1
- package/dist/types/form/create-field-validation.d.ts +0 -60
- package/dist/types/form/create-field-validation.d.ts.map +0 -1
- package/dist/types/form/create-form.d.ts +0 -153
- package/dist/types/form/create-form.d.ts.map +0 -1
- package/dist/types/form/create-submit-pipeline.d.ts +0 -116
- package/dist/types/form/create-submit-pipeline.d.ts.map +0 -1
- package/dist/types/form/get-step-fields.d.ts +0 -19
- package/dist/types/form/get-step-fields.d.ts.map +0 -1
- package/dist/types/form/index.d.ts +0 -11
- package/dist/types/form/index.d.ts.map +0 -1
- package/dist/types/lifecycle/condition-selection.d.ts +0 -146
- package/dist/types/lifecycle/condition-selection.d.ts.map +0 -1
- package/dist/types/lifecycle/lifecycle.d.ts +0 -48
- package/dist/types/lifecycle/lifecycle.d.ts.map +0 -1
- package/dist/types/lifecycle/rules-logic.d.ts +0 -25
- package/dist/types/lifecycle/rules-logic.d.ts.map +0 -1
- package/dist/types/lifecycle/state-snapshot.d.ts +0 -38
- package/dist/types/lifecycle/state-snapshot.d.ts.map +0 -1
- package/dist/types/plugins/dom-observer/index.d.ts +0 -3
- package/dist/types/plugins/dom-observer/index.d.ts.map +0 -1
- package/dist/types/plugins/dom-observer/plugin.d.ts +0 -50
- package/dist/types/plugins/dom-observer/plugin.d.ts.map +0 -1
- package/dist/types/plugins/dynamic-experiences/hash.d.ts +0 -105
- package/dist/types/plugins/dynamic-experiences/hash.d.ts.map +0 -1
- package/dist/types/plugins/dynamic-experiences/index.d.ts +0 -7
- package/dist/types/plugins/dynamic-experiences/index.d.ts.map +0 -1
- package/dist/types/plugins/dynamic-experiences/plugin.d.ts +0 -49
- package/dist/types/plugins/dynamic-experiences/plugin.d.ts.map +0 -1
- package/dist/types/plugins/dynamic-experiences/types.d.ts +0 -45
- package/dist/types/plugins/dynamic-experiences/types.d.ts.map +0 -1
- package/dist/types/plugins/experience-browser-storage/index.d.ts.map +0 -1
- package/dist/types/plugins/experience-browser-storage/plugin.d.ts +0 -7
- package/dist/types/plugins/experience-browser-storage/plugin.d.ts.map +0 -1
- package/dist/types/plugins/history-browser-storage/index.d.ts.map +0 -1
- package/dist/types/plugins/history-browser-storage/plugin.d.ts.map +0 -1
- package/dist/types/plugins/responses-browser-storage/index.d.ts.map +0 -1
- package/dist/types/plugins/responses-browser-storage/plugin.d.ts +0 -18
- package/dist/types/plugins/responses-browser-storage/plugin.d.ts.map +0 -1
- package/dist/types/plugins/responses-indexeddb/index.d.ts.map +0 -1
- package/dist/types/plugins/responses-indexeddb/plugin.d.ts +0 -3
- package/dist/types/plugins/responses-indexeddb/plugin.d.ts.map +0 -1
- package/dist/types/plugins/telemetry/emit.d.ts +0 -18
- package/dist/types/plugins/telemetry/emit.d.ts.map +0 -1
- package/dist/types/plugins/telemetry/index.d.ts +0 -4
- package/dist/types/plugins/telemetry/index.d.ts.map +0 -1
- package/dist/types/plugins/telemetry/plugin-summary.d.ts +0 -10
- package/dist/types/plugins/telemetry/plugin-summary.d.ts.map +0 -1
- package/dist/types/plugins/telemetry/plugin.d.ts +0 -45
- package/dist/types/plugins/telemetry/plugin.d.ts.map +0 -1
- package/dist/types/plugins/web-components/index.d.ts +0 -2
- package/dist/types/plugins/web-components/index.d.ts.map +0 -1
- package/dist/types/plugins/web-components/plugin.d.ts +0 -4
- package/dist/types/plugins/web-components/plugin.d.ts.map +0 -1
- package/dist/types/preview/index.d.ts +0 -18
- package/dist/types/preview/index.d.ts.map +0 -1
- package/dist/types/preview-bridge/index.d.ts +0 -14
- package/dist/types/preview-bridge/index.d.ts.map +0 -1
- package/dist/types/preview-channel.d.ts +0 -16
- package/dist/types/preview-channel.d.ts.map +0 -1
- package/dist/types/preview-receiver/apply-ops.d.ts +0 -32
- package/dist/types/preview-receiver/apply-ops.d.ts.map +0 -1
- package/dist/types/preview-receiver/index.d.ts +0 -32
- package/dist/types/preview-receiver/index.d.ts.map +0 -1
- package/dist/types/preview-receiver/protocol.d.ts +0 -69
- package/dist/types/preview-receiver/protocol.d.ts.map +0 -1
- package/dist/types/schema-registry.d.ts +0 -206
- package/dist/types/schema-registry.d.ts.map +0 -1
- package/dist/types/server/serialize.d.ts +0 -87
- package/dist/types/server/serialize.d.ts.map +0 -1
- package/dist/types/typed-content.d.ts +0 -17
- package/dist/types/typed-content.d.ts.map +0 -1
- package/dist/types/utils/client-telemetry.d.ts +0 -25
- package/dist/types/utils/client-telemetry.d.ts.map +0 -1
- package/dist/types/utils/content-path.d.ts +0 -37
- package/dist/types/utils/content-path.d.ts.map +0 -1
- package/dist/types/utils/html-asset-value.d.ts +0 -20
- package/dist/types/utils/html-asset-value.d.ts.map +0 -1
- package/dist/types/utils/inert-script-report.d.ts +0 -40
- package/dist/types/utils/inert-script-report.d.ts.map +0 -1
- package/dist/types/utils/node-tree/get-next-node-from-action.d.ts +0 -25
- package/dist/types/utils/node-tree/get-next-node-from-action.d.ts.map +0 -1
- package/dist/types/utils/node-tree/get-next-node-from-condition.d.ts +0 -17
- package/dist/types/utils/node-tree/get-next-node-from-condition.d.ts.map +0 -1
- package/dist/types/utils/picked-config.d.ts +0 -39
- package/dist/types/utils/picked-config.d.ts.map +0 -1
- package/dist/types/utils/preview-session.d.ts +0 -12
- package/dist/types/utils/preview-session.d.ts.map +0 -1
- package/dist/types/utils/rehydrate-scripts.d.ts +0 -50
- package/dist/types/utils/rehydrate-scripts.d.ts.map +0 -1
- package/dist/types/utils/render-string.d.ts +0 -24
- package/dist/types/utils/render-string.d.ts.map +0 -1
- package/dist/types/utils/user-timing.d.ts +0 -21
- package/dist/types/utils/user-timing.d.ts.map +0 -1
- package/dist/version-BvLZaTMC.cjs +0 -1
- package/dist/version-VvasRUfR.js +0 -256
- /package/dist/types/plugins/{experience-browser-storage → experience-browserstorage-plugin}/index.d.ts +0 -0
- /package/dist/types/plugins/{history-browser-storage → history-browserstorage-plugin}/index.d.ts +0 -0
- /package/dist/types/plugins/{responses-browser-storage → responses-browserstorage-plugin}/index.d.ts +0 -0
- /package/dist/types/plugins/{responses-indexeddb → responses-indexeddb-plugin}/index.d.ts +0 -0
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import type { ProjectConfig } from '@picked/delivery-api-client';
|
|
2
|
-
import type { Plugin } from '../../entities/plugin/plugin';
|
|
3
|
-
import type { Picked } from '../../picked';
|
|
4
|
-
export { fetchProject, fetchExperienceContent } from '../../data-source/api';
|
|
5
|
-
/**
|
|
6
|
-
* Synchronously registers a complete project config with the client: features, conditions,
|
|
7
|
-
* fields, steps, and experiences, in dependency order.
|
|
8
|
-
*
|
|
9
|
-
* Extracted from `dynamicExperiencesPlugin`'s `onStart` so the same registration runs outside
|
|
10
|
-
* the lifecycle (notably from the server `serialize` helper and the SSR provider), where the
|
|
11
|
-
* stores must be populated synchronously before selection or rendering.
|
|
12
|
-
*
|
|
13
|
-
* @param {Picked} client - Picked client instance.
|
|
14
|
-
* @param {ProjectConfig} config - Project configuration to register.
|
|
15
|
-
* @param {object} options - Registration options.
|
|
16
|
-
* @param {boolean} options.isPreview - Whether features use session storage instead of local storage.
|
|
17
|
-
* @param {string} options.sessionId - Current session id, used as the seed for stable feature allocation.
|
|
18
|
-
* @example
|
|
19
|
-
* ```typescript
|
|
20
|
-
* registerProjectConfig(client, config, { isPreview: false, sessionId: 's' })
|
|
21
|
-
* ```
|
|
22
|
-
*/
|
|
23
|
-
export declare function registerProjectConfig(client: Picked, config: ProjectConfig, options: {
|
|
24
|
-
isPreview: boolean;
|
|
25
|
-
sessionId: string;
|
|
26
|
-
}): void;
|
|
27
|
-
/**
|
|
28
|
-
* Plugin that resolves project configuration through the client and registers features,
|
|
29
|
-
* steps, fields, and experiences with it.
|
|
30
|
-
*
|
|
31
|
-
* Resolution runs during the `onStart` hook, before experience initialisation, and reads
|
|
32
|
-
* whichever source the client resolves to — the build-time bundle when one registered itself,
|
|
33
|
-
* the Picked API otherwise. Search param feature overrides take precedence over resolved
|
|
34
|
-
* values.
|
|
35
|
-
*
|
|
36
|
-
* @returns {Plugin} A configured Picked plugin.
|
|
37
|
-
* @example
|
|
38
|
-
* ```typescript
|
|
39
|
-
* import { dynamicExperiencesPlugin } from '@picked/client/plugins/dynamic-experiences'
|
|
40
|
-
*
|
|
41
|
-
* createClient({
|
|
42
|
-
* plugins: [
|
|
43
|
-
* dynamicExperiencesPlugin()
|
|
44
|
-
* ]
|
|
45
|
-
* })
|
|
46
|
-
* ```
|
|
47
|
-
*/
|
|
48
|
-
export declare function dynamicExperiencesPlugin(): Plugin;
|
|
49
|
-
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/dynamic-experiences/plugin.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEV,aAAa,EAGd,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAG1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAK1C,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AA+J5E;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACjD,IAAI,CAMN;AA2QD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CA4DjD"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file Plugin-specific types for the dynamic-experiences plugin.
|
|
3
|
-
*
|
|
4
|
-
* The wire-format shapes the Delivery API returns live in `@picked/delivery-api-client`,
|
|
5
|
-
* which stays runtime-agnostic. This file holds the types that only mean something inside
|
|
6
|
-
* the client: the content loader and the virtual data module
|
|
7
|
-
* `@picked/vite-plugin-picked` generates.
|
|
8
|
-
*/
|
|
9
|
-
import type { ExperienceContentResponse, ProjectConfig } from '@picked/delivery-api-client';
|
|
10
|
-
/**
|
|
11
|
-
* Function that resolves an experience's content blobs. Set on the Picked client by
|
|
12
|
-
* `dynamicExperiencesPlugin` (selecting from virtual module, getContent override, or API)
|
|
13
|
-
* and called by each experience's `prepareExperienceContentFx`, which is fired by the
|
|
14
|
-
* per-experience sample graph in parallel with `initialiseFx`.
|
|
15
|
-
*/
|
|
16
|
-
export type ContentLoader = (experience: {
|
|
17
|
-
id: string;
|
|
18
|
-
key: string;
|
|
19
|
-
}, options?: {
|
|
20
|
-
previewToken?: string;
|
|
21
|
-
}) => Promise<ExperienceContentResponse | null>;
|
|
22
|
-
/**
|
|
23
|
-
* Provenance the virtual data module records about the snapshot it carries: which build
|
|
24
|
-
* flavour produced it, when, and which workspace version it was taken from.
|
|
25
|
-
*/
|
|
26
|
-
export interface PickedManifestMetadata {
|
|
27
|
-
/** `'build'` when build-mode prefetch JSON was used, `'dev'` when the dev-mode fetch was. */
|
|
28
|
-
mode: 'dev' | 'build';
|
|
29
|
-
/** ISO 8601 timestamp from the manifest. `null` in dev mode, where no manifest is written. */
|
|
30
|
-
fetchedAt: string | null;
|
|
31
|
-
/** The `versionId` the snapshot was taken from, when known. */
|
|
32
|
-
projectVersionId: string | null;
|
|
33
|
-
/** The `workspaceId` the snapshot was taken from, when known. */
|
|
34
|
-
workspaceId: string | null;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Optional-fields surface of the virtual data module exposed by `@picked/vite-plugin-picked`.
|
|
38
|
-
* The shape is identical between dev (`vite serve`) and build (`vite build`) modes.
|
|
39
|
-
*/
|
|
40
|
-
export interface VirtualPickedData {
|
|
41
|
-
projectConfig: ProjectConfig;
|
|
42
|
-
experienceContent: ContentLoader;
|
|
43
|
-
manifestMetadata: PickedManifestMetadata;
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/plugins/dynamic-experiences/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAE3F;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,UAAU,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EACvC,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,KAChC,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAA;AAE9C;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,6FAA6F;IAC7F,IAAI,EAAE,KAAK,GAAG,OAAO,CAAA;IACrB,8FAA8F;IAC9F,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,+DAA+D;IAC/D,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,iEAAiE;IACjE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,aAAa,CAAA;IAC5B,iBAAiB,EAAE,aAAa,CAAA;IAChC,gBAAgB,EAAE,sBAAsB,CAAA;CACzC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/experience-browser-storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAA"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { Plugin } from '../../entities/plugin/plugin';
|
|
2
|
-
interface ExperienceBrowserStoragePlugin {
|
|
3
|
-
storage?: 'local' | 'session';
|
|
4
|
-
}
|
|
5
|
-
export declare const experienceBrowserStoragePlugin: ({ storage, }?: ExperienceBrowserStoragePlugin) => Plugin;
|
|
6
|
-
export {};
|
|
7
|
-
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/experience-browser-storage/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAM1D,UAAU,8BAA8B;IACtC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9B;AAED,eAAO,MAAM,8BAA8B,kBAExC,8BAA8B,KAAQ,MAmDxC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/history-browser-storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/history-browser-storage/plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAM1D,cAAc;AACd,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9B;AAED,eAAO,MAAM,2BAA2B,kBAErC,2BAA2B,KAAQ,MA8BrC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/responses-browser-storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAA"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { Plugin } from '../../entities/plugin/plugin';
|
|
2
|
-
interface ResponsesBrowserStoragePlugin {
|
|
3
|
-
storage?: 'local' | 'session';
|
|
4
|
-
}
|
|
5
|
-
/**
|
|
6
|
-
* Persists field responses to browser storage and restores them on the next page load.
|
|
7
|
-
*
|
|
8
|
-
* @param {ResponsesBrowserStoragePlugin} [options] - Plugin options.
|
|
9
|
-
* @param {'local' | 'session'} [options.storage] - Which browser store to persist to.
|
|
10
|
-
* @returns {Plugin} The plugin to pass to `createClient({ plugins })`.
|
|
11
|
-
* @example
|
|
12
|
-
* ```ts
|
|
13
|
-
* createClient({ plugins: [responsesBrowserStoragePlugin({ storage: 'local' })] })
|
|
14
|
-
* ```
|
|
15
|
-
*/
|
|
16
|
-
export declare const responsesBrowserStoragePlugin: ({ storage, }?: ResponsesBrowserStoragePlugin) => Plugin;
|
|
17
|
-
export {};
|
|
18
|
-
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/responses-browser-storage/plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAM1D,UAAU,6BAA6B;IACrC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9B;AAsED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,6BAA6B,kBAEvC,6BAA6B,KAAQ,MA4FvC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/responses-indexeddb/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/responses-indexeddb/plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAO1D,eAAO,MAAM,wBAAwB,QAAO,MAyE3C,CAAA"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file The lazily-imported half of the telemetry plugin.
|
|
3
|
-
*
|
|
4
|
-
* This module holds the only import of the OTLP emitter, so bundlers give it
|
|
5
|
-
* its own chunk and the plugin can load it after first paint.
|
|
6
|
-
*/
|
|
7
|
-
import { type SpanAttributes, type TelemetrySpan } from '@picked/telemetry';
|
|
8
|
-
/**
|
|
9
|
-
* Sends a batch of spans and resolves once the attempt has finished.
|
|
10
|
-
*
|
|
11
|
-
* @param {string} [endpoint] - OTLP HTTP trace endpoint. Defaults to Picked's collector.
|
|
12
|
-
* @param {SpanAttributes} resource - Resource attributes describing this SDK instance.
|
|
13
|
-
* @param {TelemetrySpan[]} spans - Spans to send.
|
|
14
|
-
* @returns {Promise<void>} Resolves when the batch has been attempted.
|
|
15
|
-
* @example await flushSpans(undefined, { 'service.name': 'picked-sdk' }, spans)
|
|
16
|
-
*/
|
|
17
|
-
export declare function flushSpans(endpoint: string | undefined, resource: SpanAttributes, spans: TelemetrySpan[]): Promise<void>;
|
|
18
|
-
//# sourceMappingURL=emit.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../../../src/plugins/telemetry/emit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAA0B,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEnG;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,aAAa,EAAE,GACrB,OAAO,CAAC,IAAI,CAAC,CAYf"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/telemetry/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AACjE,mBAAmB,UAAU,CAAA"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/** @file Summarises a client's registered plugin names for telemetry. */
|
|
2
|
-
/**
|
|
3
|
-
* Sorts and caps a client's registered plugin names for reporting.
|
|
4
|
-
*
|
|
5
|
-
* @param {string[]} registered - Every plugin name registered on the client.
|
|
6
|
-
* @returns {string[]} The names, sorted, capped at the reporting limit.
|
|
7
|
-
* @example summarisePlugins(['window', 'analytics']) // ['analytics', 'window']
|
|
8
|
-
*/
|
|
9
|
-
export declare function summarisePlugins(registered: string[]): string[];
|
|
10
|
-
//# sourceMappingURL=plugin-summary.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-summary.d.ts","sourceRoot":"","sources":["../../../../src/plugins/telemetry/plugin-summary.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAKzE;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAE/D"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import type { Plugin } from '../../entities/plugin/plugin';
|
|
2
|
-
/** Plugin name under which this plugin registers. */
|
|
3
|
-
export declare const TELEMETRY_PLUGIN_NAME = "telemetry";
|
|
4
|
-
/**
|
|
5
|
-
* Spans held before a flush is forced.
|
|
6
|
-
*
|
|
7
|
-
* A session buffers between flushes, so this is what bounds the buffer on a
|
|
8
|
-
* long-lived page that keeps making delivery API requests.
|
|
9
|
-
*/
|
|
10
|
-
export declare const MAX_BUFFERED_SPANS = 50;
|
|
11
|
-
/**
|
|
12
|
-
* How long the batch waits after its first span for others to join it.
|
|
13
|
-
*
|
|
14
|
-
* The ready flush goes out before a delivery API request settles, and a session
|
|
15
|
-
* makes far fewer requests than {@link MAX_BUFFERED_SPANS} — so this timer is
|
|
16
|
-
* what sends a delivery span while the session is still running, leaving the
|
|
17
|
-
* page-hidden flush as the backstop for whatever the last few seconds hold.
|
|
18
|
-
*/
|
|
19
|
-
export declare const FLUSH_DELAY_MS = 5000;
|
|
20
|
-
/** Options for {@link telemetryPlugin}. */
|
|
21
|
-
export interface TelemetryPluginOptions {
|
|
22
|
-
/**
|
|
23
|
-
* Fraction of sessions to trace, between 0 and 1.
|
|
24
|
-
*
|
|
25
|
-
* Decided once per client, before the first request, since it also decides
|
|
26
|
-
* whether `traceparent` is sent.
|
|
27
|
-
*
|
|
28
|
-
* @default 1
|
|
29
|
-
*/
|
|
30
|
-
sampleRate?: number;
|
|
31
|
-
/** OTLP HTTP trace endpoint. Defaults to Picked's collector. */
|
|
32
|
-
endpoint?: string;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Creates the browser telemetry plugin.
|
|
36
|
-
*
|
|
37
|
-
* @param {TelemetryPluginOptions} [options] - Sampling and endpoint overrides.
|
|
38
|
-
* @returns {Plugin} A plugin to register with the Picked client.
|
|
39
|
-
* @example
|
|
40
|
-
* ```typescript
|
|
41
|
-
* const client = createClient({ plugins: [telemetryPlugin({ sampleRate: 0.05 })] })
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
44
|
-
export declare function telemetryPlugin(options?: TelemetryPluginOptions): Plugin;
|
|
45
|
-
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/telemetry/plugin.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAK1D,qDAAqD;AACrD,eAAO,MAAM,qBAAqB,cAAc,CAAA;AAEhD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,KAAK,CAAA;AAEpC;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,OAAO,CAAA;AAElC,2CAA2C;AAC3C,MAAM,WAAW,sBAAsB;IACrC;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAwDD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,MAAM,CAmFxE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/web-components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/** @file Web Components plugin — registers a `<picked-root>` custom element that launches a Picked experience by id when connected to the DOM. */
|
|
2
|
-
import type { Plugin } from '../../entities/plugin/plugin';
|
|
3
|
-
export declare const webComponentsPlugin: () => Plugin;
|
|
4
|
-
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/plugins/web-components/plugin.ts"],"names":[],"mappings":"AAAA,kJAAkJ;AAClJ,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAG1D,eAAO,MAAM,mBAAmB,QAAO,MA2BtC,CAAA"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file Public entry for live-preview helpers.
|
|
3
|
-
*
|
|
4
|
-
* Separate from the root entry so the path parser and the ops applier never reach the bundle every
|
|
5
|
-
* customer page loads. Imported by the Picked dashboard, and by the SDK's own preview receiver.
|
|
6
|
-
*
|
|
7
|
-
* The wire protocol is exported from here so the embedder builds against the same declaration the
|
|
8
|
-
* receiver does — see `preview-receiver/protocol` for why that stays compatible with older SDKs.
|
|
9
|
-
* The receiver's own inbound guard is not exported: the embedder sends patches rather than
|
|
10
|
-
* receiving them, and leaving it out keeps this entry inside its `size-limit` budget.
|
|
11
|
-
*/
|
|
12
|
-
export { formatContentPath, parseContentPath } from '../utils/content-path';
|
|
13
|
-
export type { ContentPathSegment } from '../utils/content-path';
|
|
14
|
-
export { applyContentOps } from '../preview-receiver/apply-ops';
|
|
15
|
-
export type { ContentPatchOp } from '../preview-receiver/apply-ops';
|
|
16
|
-
export { PREVIEW_CONTENT_PATCH_MESSAGE, PREVIEW_INERT_SCRIPTS_MESSAGE, PREVIEW_PROTOCOL_VERSION, PREVIEW_READY_MESSAGE, PREVIEW_RESYNC_MESSAGE, } from '../preview-receiver/protocol';
|
|
17
|
-
export type { PreviewInertScriptsMessage, PreviewReadyMessage, PreviewResyncMessage, } from '../preview-receiver/protocol';
|
|
18
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/preview/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC3E,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,EAC7B,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,8BAA8B,CAAA;AACrC,YAAY,EACV,0BAA0B,EAC1B,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,8BAA8B,CAAA"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/** The `postMessage` `type` discriminator for navigation reports sent to the embedding parent frame. */
|
|
2
|
-
export declare const PREVIEW_NAVIGATION_MESSAGE = "picked-preview:navigation";
|
|
3
|
-
/**
|
|
4
|
-
* Starts reporting this frame's URL to the embedding parent frame: posts immediately, then again on
|
|
5
|
-
* every SPA navigation (`history.pushState`/`replaceState` and `popstate`). Listeners are wired at
|
|
6
|
-
* most once per frame, so multiple Picked clients on the same page do not double-report.
|
|
7
|
-
*
|
|
8
|
-
* @returns {() => void} A teardown function that detaches the `popstate` listener and re-arms the bridge.
|
|
9
|
-
* @example
|
|
10
|
-
* const stop = initPreviewBridge()
|
|
11
|
-
* // later, e.g. in a test: stop()
|
|
12
|
-
*/
|
|
13
|
-
export declare function initPreviewBridge(): () => void;
|
|
14
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/preview-bridge/index.ts"],"names":[],"mappings":"AAUA,wGAAwG;AACxG,eAAO,MAAM,0BAA0B,8BAA8B,CAAA;AAmErE;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,IAAI,CAwB9C"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file Single entry point for the live-preview channel, so the bridge and the receiver share one
|
|
3
|
-
* dynamic-import boundary and neither reaches production bundles.
|
|
4
|
-
*/
|
|
5
|
-
import type { Picked } from './picked';
|
|
6
|
-
/**
|
|
7
|
-
* Starts both halves of the preview channel: the outbound bridge that reports this frame's URL to
|
|
8
|
-
* the dashboard, and the inbound receiver that applies the dashboard's content patches.
|
|
9
|
-
*
|
|
10
|
-
* @param {Picked} client - The Picked client whose content index receives the patches.
|
|
11
|
-
* @returns {() => void} Teardown that stops both halves.
|
|
12
|
-
* @example
|
|
13
|
-
* const stop = initPreviewChannel(client)
|
|
14
|
-
*/
|
|
15
|
-
export declare function initPreviewChannel(client: Picked): () => void;
|
|
16
|
-
//# sourceMappingURL=preview-channel.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"preview-channel.d.ts","sourceRoot":"","sources":["../../src/preview-channel.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAItC;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,CAQ7D"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A single path-addressed replacement inside a content record's `data`.
|
|
3
|
-
*
|
|
4
|
-
* `path` uses the format the Picked API already emits for content-data validation errors —
|
|
5
|
-
* `$.sections[0].data.title`. See `utils/content-path`.
|
|
6
|
-
*/
|
|
7
|
-
export interface ContentPatchOp {
|
|
8
|
-
/** Path to the value being replaced, for example `$.sections[0].data.title`. */
|
|
9
|
-
path: string;
|
|
10
|
-
/** The replacement value. */
|
|
11
|
-
value: unknown;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Applies path-addressed replacements to a content `data` blob, returning a new blob that shares
|
|
15
|
-
* every untouched branch with the original.
|
|
16
|
-
*
|
|
17
|
-
* That structural sharing is the point of per-field patching: replacing the whole blob would mint a
|
|
18
|
-
* fresh object identity for every field on every keystroke, re-rendering every memoised consumer in
|
|
19
|
-
* the host app's tree. Here only the touched spine changes identity.
|
|
20
|
-
*
|
|
21
|
-
* Ops that cannot be applied — a malformed path, the root, a prototype-polluting key, an index into
|
|
22
|
-
* a non-array, an out-of-range index — are skipped. A patch arrives from another frame, so a bad op
|
|
23
|
-
* must degrade to a no-op rather than throw inside a customer's page.
|
|
24
|
-
*
|
|
25
|
-
* @param {Record<string, unknown>} data - The content `data` blob to patch.
|
|
26
|
-
* @param {readonly ContentPatchOp[]} ops - The replacements to apply, in order.
|
|
27
|
-
* @returns {Record<string, unknown>} The patched blob, or `data` unchanged when no op applied.
|
|
28
|
-
* @example
|
|
29
|
-
* applyContentOps({ headline: 'old' }, [{ path: '$.headline', value: 'new' }])
|
|
30
|
-
*/
|
|
31
|
-
export declare function applyContentOps(data: Record<string, unknown>, ops: readonly ContentPatchOp[]): Record<string, unknown>;
|
|
32
|
-
//# sourceMappingURL=apply-ops.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"apply-ops.d.ts","sourceRoot":"","sources":["../../../src/preview-receiver/apply-ops.ts"],"names":[],"mappings":"AASA;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAA;IACZ,6BAA6B;IAC7B,KAAK,EAAE,OAAO,CAAA;CACf;AA4DD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,GAAG,EAAE,SAAS,cAAc,EAAE,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUzB"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file Live-preview receiver: applies content patches pushed by the Picked dashboard.
|
|
3
|
-
*
|
|
4
|
-
* Reached only through a dynamic `import()` the client performs when a preview session is detected,
|
|
5
|
-
* so it stays out of production bundles. It touches only `client.contents`, which is
|
|
6
|
-
* framework-agnostic, so React, Svelte and script-tag installs all get live preview without any
|
|
7
|
-
* per-binding code.
|
|
8
|
-
*
|
|
9
|
-
* Trust model: the customer's page does not opt in, so the origin check is the only defence and it
|
|
10
|
-
* cannot come from the page itself. The API issues `previewEmbedderOrigins` alongside the preview
|
|
11
|
-
* project config; every inbound message is validated against that list, and the handshake is posted
|
|
12
|
-
* only to those origins. Never `document.referrer` (it becomes this frame's own origin after an
|
|
13
|
-
* in-frame navigation) and never a wildcard target.
|
|
14
|
-
*
|
|
15
|
-
* The base blob is the SDK's own preview-token fetch, so the receiver announces readiness only once
|
|
16
|
-
* content is registered and patches always land on a server-projected base.
|
|
17
|
-
*/
|
|
18
|
-
import type { Picked } from '../picked';
|
|
19
|
-
/**
|
|
20
|
-
* Starts the live-preview receiver: announces readiness to the allowlisted embedder origins once
|
|
21
|
-
* content is registered, then applies inbound content patches to the client's content index.
|
|
22
|
-
*
|
|
23
|
-
* Wired at most once per frame, so several Picked clients on one page cannot double-apply a patch.
|
|
24
|
-
*
|
|
25
|
-
* @param {Picked} client - The Picked client whose content index receives the patches.
|
|
26
|
-
* @returns {() => void} Teardown that detaches every listener and re-arms the receiver.
|
|
27
|
-
* @example
|
|
28
|
-
* const stop = initPreviewReceiver(client)
|
|
29
|
-
* // later, e.g. in a test: stop()
|
|
30
|
-
*/
|
|
31
|
-
export declare function initPreviewReceiver(client: Picked): () => void;
|
|
32
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/preview-receiver/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AA4CvC;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,CAyG9D"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file Wire protocol for the Picked live-preview channel.
|
|
3
|
-
*
|
|
4
|
-
* **Additive-only.** A message type is never removed, a field's meaning never changes, and an
|
|
5
|
-
* optional field is never promoted to required — new capability arrives as a new optional field or
|
|
6
|
-
* a new message type, and both ends ignore anything they do not recognise. That is what lets an old
|
|
7
|
-
* SDK in the wild degrade in capability rather than fail, and why there is no version floor to keep
|
|
8
|
-
* current. `protocolVersion` on the handshake is diagnostics, not a gate.
|
|
9
|
-
*/
|
|
10
|
-
import type { ContentPatchOp } from './apply-ops';
|
|
11
|
-
/** Current protocol version. Reported on the handshake for support and telemetry only. */
|
|
12
|
-
export declare const PREVIEW_PROTOCOL_VERSION = 1;
|
|
13
|
-
/** Receiver → embedder: the frame is listening and content is registered. */
|
|
14
|
-
export declare const PREVIEW_READY_MESSAGE = "picked-preview:ready";
|
|
15
|
-
/** Embedder → receiver: path-addressed replacements for one content record. */
|
|
16
|
-
export declare const PREVIEW_CONTENT_PATCH_MESSAGE = "picked-preview:content-patch";
|
|
17
|
-
/** Receiver → embedder: a sequence gap was detected; resend the dirty paths. */
|
|
18
|
-
export declare const PREVIEW_RESYNC_MESSAGE = "picked-preview:resync";
|
|
19
|
-
/** Receiver → embedder: cumulative count of inserted subtrees whose scripts were neutralised. */
|
|
20
|
-
export declare const PREVIEW_INERT_SCRIPTS_MESSAGE = "picked-preview:inert-scripts";
|
|
21
|
-
/** Handshake posted by the receiver to each allowlisted origin. */
|
|
22
|
-
export interface PreviewReadyMessage {
|
|
23
|
-
/** Discriminator. */
|
|
24
|
-
type: typeof PREVIEW_READY_MESSAGE;
|
|
25
|
-
/** Protocol version this receiver speaks. Diagnostics only. */
|
|
26
|
-
protocolVersion: number;
|
|
27
|
-
/** Content record ids currently registered, so the embedder knows what it can patch. */
|
|
28
|
-
contentIds: string[];
|
|
29
|
-
}
|
|
30
|
-
/** Patch posted by the embedder for one content record. Narrowed to by {@link isContentPatchMessage}. */
|
|
31
|
-
interface PreviewContentPatchMessage {
|
|
32
|
-
/** Discriminator. */
|
|
33
|
-
type: typeof PREVIEW_CONTENT_PATCH_MESSAGE;
|
|
34
|
-
/** The content record to patch. */
|
|
35
|
-
contentId: string;
|
|
36
|
-
/** Path-addressed replacements, applied in order. */
|
|
37
|
-
ops: ContentPatchOp[];
|
|
38
|
-
/** Monotonic per-record sequence number, used only to detect a dropped message. */
|
|
39
|
-
seq: number;
|
|
40
|
-
}
|
|
41
|
-
/** Resync request posted by the receiver after a sequence gap. */
|
|
42
|
-
export interface PreviewResyncMessage {
|
|
43
|
-
/** Discriminator. */
|
|
44
|
-
type: typeof PREVIEW_RESYNC_MESSAGE;
|
|
45
|
-
/** The content record whose sequence broke. */
|
|
46
|
-
contentId: string;
|
|
47
|
-
/** The last sequence number successfully applied. */
|
|
48
|
-
lastSeq: number;
|
|
49
|
-
}
|
|
50
|
-
/** Inert-script report posted by the receiver. */
|
|
51
|
-
export interface PreviewInertScriptsMessage {
|
|
52
|
-
/** Discriminator. */
|
|
53
|
-
type: typeof PREVIEW_INERT_SCRIPTS_MESSAGE;
|
|
54
|
-
/** Cumulative count of inserted subtrees whose scripts were neutralised this session. */
|
|
55
|
-
total: number;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Type guard for an inbound content-patch message.
|
|
59
|
-
*
|
|
60
|
-
* Validates structurally rather than trusting the sender: the message crosses a frame boundary, and
|
|
61
|
-
* an unrecognised or malformed one is ignored rather than throwing inside a customer's page.
|
|
62
|
-
*
|
|
63
|
-
* @param {unknown} data - The `MessageEvent.data` payload.
|
|
64
|
-
* @returns {boolean} True when the payload is a well-formed content-patch message.
|
|
65
|
-
* @example isContentPatchMessage(event.data)
|
|
66
|
-
*/
|
|
67
|
-
export declare function isContentPatchMessage(data: unknown): data is PreviewContentPatchMessage;
|
|
68
|
-
export {};
|
|
69
|
-
//# sourceMappingURL=protocol.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../src/preview-receiver/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,0FAA0F;AAC1F,eAAO,MAAM,wBAAwB,IAAI,CAAA;AAEzC,6EAA6E;AAC7E,eAAO,MAAM,qBAAqB,yBAAyB,CAAA;AAC3D,+EAA+E;AAC/E,eAAO,MAAM,6BAA6B,iCAAiC,CAAA;AAC3E,gFAAgF;AAChF,eAAO,MAAM,sBAAsB,0BAA0B,CAAA;AAC7D,iGAAiG;AACjG,eAAO,MAAM,6BAA6B,iCAAiC,CAAA;AAE3E,mEAAmE;AACnE,MAAM,WAAW,mBAAmB;IAClC,qBAAqB;IACrB,IAAI,EAAE,OAAO,qBAAqB,CAAA;IAClC,+DAA+D;IAC/D,eAAe,EAAE,MAAM,CAAA;IACvB,wFAAwF;IACxF,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB;AAED,yGAAyG;AACzG,UAAU,0BAA0B;IAClC,qBAAqB;IACrB,IAAI,EAAE,OAAO,6BAA6B,CAAA;IAC1C,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,qDAAqD;IACrD,GAAG,EAAE,cAAc,EAAE,CAAA;IACrB,mFAAmF;IACnF,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,kEAAkE;AAClE,MAAM,WAAW,oBAAoB;IACnC,qBAAqB;IACrB,IAAI,EAAE,OAAO,sBAAsB,CAAA;IACnC,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAA;IACjB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,kDAAkD;AAClD,MAAM,WAAW,0BAA0B;IACzC,qBAAqB;IACrB,IAAI,EAAE,OAAO,6BAA6B,CAAA;IAC1C,yFAAyF;IACzF,KAAK,EAAE,MAAM,CAAA;CACd;AA8BD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,0BAA0B,CAavF"}
|