@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,46 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: how-to
|
|
3
|
-
layout: docs
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# How to archive or delete a workspace
|
|
7
|
-
|
|
8
|
-
This guide shows you how to take a draft workspace out of use. Archive it when you want
|
|
9
|
-
to keep it. Delete it only when you are certain, because you cannot reverse a delete.
|
|
10
|
-
|
|
11
|
-
You cannot archive or delete a live workspace. Make a different workspace live first.
|
|
12
|
-
|
|
13
|
-
## Archive a workspace
|
|
14
|
-
|
|
15
|
-
1. Open the workspace settings page.
|
|
16
|
-
2. Click **Archive workspace** in the page header.
|
|
17
|
-
3. Confirm in the modal.
|
|
18
|
-
|
|
19
|
-
The workspace leaves the default list. It stays editable.
|
|
20
|
-
|
|
21
|
-
## Unarchive a workspace
|
|
22
|
-
|
|
23
|
-
1. Open the workspace settings page.
|
|
24
|
-
2. Click **Unarchive workspace** in the page header.
|
|
25
|
-
|
|
26
|
-
## Delete a workspace
|
|
27
|
-
|
|
28
|
-
1. Open the workspace settings page.
|
|
29
|
-
2. Click **Delete workspace**.
|
|
30
|
-
3. Confirm in the modal.
|
|
31
|
-
|
|
32
|
-
Picked removes the workspace, and everything in it, permanently.
|
|
33
|
-
|
|
34
|
-
## Rename a workspace
|
|
35
|
-
|
|
36
|
-
1. Open the workspace settings page.
|
|
37
|
-
2. Change the **Workspace name** field.
|
|
38
|
-
3. Click **Save changes**.
|
|
39
|
-
|
|
40
|
-
A name is unique inside a project. The dashboard rejects a duplicate name.
|
|
41
|
-
|
|
42
|
-
## Related
|
|
43
|
-
|
|
44
|
-
- [About workspaces and versions](/explanation/workspaces-and-versions) — why Picked keeps
|
|
45
|
-
these two operations separate.
|
|
46
|
-
- [Workspaces](/reference/dashboard/workspaces) — the settings reference.
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: how-to
|
|
3
|
-
layout: docs
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# How to authenticate the CLI
|
|
7
|
-
|
|
8
|
-
This guide shows you how to install the `picked` command and sign it in. Commands that read
|
|
9
|
-
your organizations, projects, and workspaces then know who you are. It expects a Picked
|
|
10
|
-
account and a project directory to work in.
|
|
11
|
-
|
|
12
|
-
## 1. Install the CLI
|
|
13
|
-
|
|
14
|
-
:::code-group
|
|
15
|
-
|
|
16
|
-
```bash [npm]
|
|
17
|
-
npm install picked
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
```bash [pnpm]
|
|
21
|
-
pnpm add picked
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
```bash [yarn]
|
|
25
|
-
yarn add picked
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
:::
|
|
29
|
-
|
|
30
|
-
The binary is `picked`. Run it from the directory that holds your `picked.config.ts`, so it
|
|
31
|
-
reads your configuration and writes your selection next to it.
|
|
32
|
-
|
|
33
|
-
## 2. Sign in
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
picked login
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
The command opens your browser for a one-time sign-in and prints your identity:
|
|
40
|
-
|
|
41
|
-
```
|
|
42
|
-
Opening your browser to sign in...
|
|
43
|
-
https://api.picked.app/…/oauth/authorize?…
|
|
44
|
-
Logged in as you@example.com (https://api.picked.app)
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
The CLI stores the session in `~/.picked/auth/<origin>.json`. It refreshes the session as it nears expiry.
|
|
48
|
-
|
|
49
|
-
## 3. Confirm the session
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
picked whoami
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
```
|
|
56
|
-
you@example.com (https://api.picked.app)
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
Each command acts on the API origin your current directory resolves to, and on no other. To
|
|
60
|
-
end the session for that origin:
|
|
61
|
-
|
|
62
|
-
```bash
|
|
63
|
-
picked logout
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
```
|
|
67
|
-
Logged out of https://api.picked.app.
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
## Run the CLI in CI
|
|
71
|
-
|
|
72
|
-
`picked generate types` reads the workspace schema, not your account, so CI needs no
|
|
73
|
-
session for it. A workspace you read with `source: 'preview'` needs that workspace's token.
|
|
74
|
-
Run `picked workspace use` once on your machine, then give CI the two values it wrote:
|
|
75
|
-
|
|
76
|
-
```bash
|
|
77
|
-
PICKED_PROJECT_ID=your-project-id \
|
|
78
|
-
PICKED_PREVIEW_TOKEN=$YOUR_CI_SECRET \
|
|
79
|
-
picked generate types --check
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
`picked workspace list` and `picked workspace use` read your organizations and projects, so
|
|
83
|
-
those two do need a session. Run them on your machine, where a browser can sign you in.
|
|
84
|
-
|
|
85
|
-
:::note
|
|
86
|
-
This is a developer session for local tooling. It is not the same as an
|
|
87
|
-
[API key](/reference/dashboard/api-keys), which authenticates server-to-server delivery and
|
|
88
|
-
management calls, or [dashboard sign-in](/reference/management-api/authentication). Use an
|
|
89
|
-
API key for an application; use `picked login` for the CLI on your machine.
|
|
90
|
-
:::
|
|
91
|
-
|
|
92
|
-
## Related
|
|
93
|
-
|
|
94
|
-
- [CLI](/reference/tools/cli) — every command, flag, and environment variable.
|
|
95
|
-
- [How to switch workspaces](/how-to/switch-workspaces) — the draft-preview workflow.
|
|
96
|
-
- [How to create and revoke an API key](/how-to/create-and-revoke-an-api-key) — credentials
|
|
97
|
-
for applications.
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: how-to
|
|
3
|
-
layout: docs
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# How to authenticate with a magic link
|
|
7
|
-
|
|
8
|
-
This guide shows you how to sign a user in through an email address, with no password.
|
|
9
|
-
|
|
10
|
-
## 1. Send the link
|
|
11
|
-
|
|
12
|
-
```graphql
|
|
13
|
-
mutation {
|
|
14
|
-
magicLinkSend(input: {
|
|
15
|
-
email: "user@example.com"
|
|
16
|
-
redirectUrl: "https://app.example.com/auth/verify"
|
|
17
|
-
}) {
|
|
18
|
-
success
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
The user receives an email, and the link in it holds a token.
|
|
24
|
-
|
|
25
|
-
## 2. Verify the token
|
|
26
|
-
|
|
27
|
-
```graphql
|
|
28
|
-
mutation {
|
|
29
|
-
magicLinkVerify(input: {
|
|
30
|
-
email: "user@example.com"
|
|
31
|
-
token: "token-from-magic-link"
|
|
32
|
-
}) {
|
|
33
|
-
session { accessToken refreshToken }
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## Related
|
|
39
|
-
|
|
40
|
-
- [Authentication](/reference/management-api/authentication) — every mutation.
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: how-to
|
|
3
|
-
layout: docs
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# How to authenticate with a password
|
|
7
|
-
|
|
8
|
-
This guide shows you how to get an access token from an email address and a password.
|
|
9
|
-
|
|
10
|
-
## 1. Create a session
|
|
11
|
-
|
|
12
|
-
```graphql
|
|
13
|
-
mutation {
|
|
14
|
-
sessionCreate(input: {
|
|
15
|
-
email: "user@example.com"
|
|
16
|
-
password: "secure-password"
|
|
17
|
-
}) {
|
|
18
|
-
session { accessToken refreshToken expiresAt }
|
|
19
|
-
requiresMfa
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
When `requiresMfa` is `true`, complete the challenge first. See
|
|
25
|
-
[How to set up MFA](/how-to/set-up-mfa).
|
|
26
|
-
|
|
27
|
-
## 2. Send the token
|
|
28
|
-
|
|
29
|
-
```
|
|
30
|
-
Authorization: Bearer <accessToken>
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## 3. Refresh before it expires
|
|
34
|
-
|
|
35
|
-
The `expiresAt` field gives the time at which the access token expires.
|
|
36
|
-
|
|
37
|
-
```graphql
|
|
38
|
-
mutation {
|
|
39
|
-
sessionRefresh(input: { refreshToken: "v1.refresh-token..." }) {
|
|
40
|
-
session { accessToken refreshToken expiresAt }
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
The API invalidates the earlier refresh token. This mutation needs no `Authorization`
|
|
46
|
-
header.
|
|
47
|
-
|
|
48
|
-
## Related
|
|
49
|
-
|
|
50
|
-
- [Authentication](/reference/management-api/authentication) — every mutation.
|
|
51
|
-
- [Your first API call](/tutorials/first-api-call).
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: how-to
|
|
3
|
-
layout: docs
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# How to authenticate with an API key
|
|
7
|
-
|
|
8
|
-
This guide shows you how to authenticate a server-to-server integration. An API key gives
|
|
9
|
-
access for a long time, inside a set of scopes.
|
|
10
|
-
|
|
11
|
-
## 1. Create the key
|
|
12
|
-
|
|
13
|
-
Only a user with a session can create a key. Another API key cannot.
|
|
14
|
-
|
|
15
|
-
```graphql
|
|
16
|
-
mutation {
|
|
17
|
-
apiKeyCreate(input: {
|
|
18
|
-
organizationId: "org-id"
|
|
19
|
-
name: "CI/CD Pipeline Key"
|
|
20
|
-
projectId: "project-id"
|
|
21
|
-
scopes: [ORGANIZATION_READ, ORGANIZATION_PROJECTS_READ]
|
|
22
|
-
}) {
|
|
23
|
-
apiKey
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
The response holds the full key one time only. Keep it in a secure place.
|
|
29
|
-
|
|
30
|
-
The scopes that you ask for must all be scopes of the user who creates the key.
|
|
31
|
-
|
|
32
|
-
## 2. Send the key
|
|
33
|
-
|
|
34
|
-
```
|
|
35
|
-
x-api-key: pk_live_abc123...
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## 3. Revoke the key
|
|
39
|
-
|
|
40
|
-
```graphql
|
|
41
|
-
mutation {
|
|
42
|
-
apiKeyRevoke(input: { keyId: "key-id", organizationId: "org-id" })
|
|
43
|
-
}
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## Related
|
|
47
|
-
|
|
48
|
-
- [Authorization and scopes](/reference/management-api/authorization-and-scopes) — every
|
|
49
|
-
scope.
|
|
50
|
-
- [How to create and revoke an API key](/how-to/create-and-revoke-an-api-key) — the
|
|
51
|
-
dashboard path.
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: how-to
|
|
3
|
-
layout: docs
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# How to authenticate with OAuth
|
|
7
|
-
|
|
8
|
-
This guide shows you how to sign a user in through Google.
|
|
9
|
-
|
|
10
|
-
## 1. Get the authorization URL
|
|
11
|
-
|
|
12
|
-
```graphql
|
|
13
|
-
mutation {
|
|
14
|
-
oauthAuthorize(input: {
|
|
15
|
-
provider: GOOGLE
|
|
16
|
-
redirectUrl: "https://app.example.com/auth/callback"
|
|
17
|
-
scopes: ["openid", "email", "profile"]
|
|
18
|
-
}) {
|
|
19
|
-
url
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## 2. Send the user to that URL
|
|
25
|
-
|
|
26
|
-
Google authenticates the user and sends them back with a `code` parameter.
|
|
27
|
-
|
|
28
|
-
## 3. Exchange the code
|
|
29
|
-
|
|
30
|
-
```graphql
|
|
31
|
-
mutation {
|
|
32
|
-
oauthCallback(input: { provider: GOOGLE, code: "auth-code-from-google" }) {
|
|
33
|
-
session { accessToken refreshToken expiresAt }
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## Related
|
|
39
|
-
|
|
40
|
-
- [Authentication](/reference/management-api/authentication) — every mutation.
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: how-to
|
|
3
|
-
layout: docs
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# How to build a flow
|
|
7
|
-
|
|
8
|
-
This guide shows you how to put a flow together on the canvas. You need an experience
|
|
9
|
-
first. See [How to create an experience](/how-to/create-an-experience).
|
|
10
|
-
|
|
11
|
-
## Add nodes
|
|
12
|
-
|
|
13
|
-
Drag a step, an action, or a condition from the library onto the canvas. A new
|
|
14
|
-
node appears where you drop it.
|
|
15
|
-
|
|
16
|
-
You can also drop a block directly onto an arrow that is there already. The flow
|
|
17
|
-
builder puts the node into the line. The first arrow splits into two arrows, with the
|
|
18
|
-
new node between them. A **+** indicator appears when you hold the pointer over a
|
|
19
|
-
valid arrow.
|
|
20
|
-
|
|
21
|
-
## Connect nodes
|
|
22
|
-
|
|
23
|
-
Click the output handle of a node, on the right side. Drag to the input handle of
|
|
24
|
-
another node, on the left side. An arrow then joins the two nodes.
|
|
25
|
-
|
|
26
|
-
The flow follows the arrows from left to right, and it starts at the origin. Every
|
|
27
|
-
node after the origin is part of the experience flow.
|
|
28
|
-
|
|
29
|
-
## Branch with conditions
|
|
30
|
-
|
|
31
|
-
Connect the origin, or any other node, to a condition node. The condition evaluates
|
|
32
|
-
its rule and sends the flow down one of two paths.
|
|
33
|
-
|
|
34
|
-
Connect the green handle, for a true result, to the nodes that must run when the
|
|
35
|
-
condition holds. Connect the red handle, for a false result, to the other path. Each
|
|
36
|
-
path can lead to more steps, more actions, and more conditions.
|
|
37
|
-
|
|
38
|
-
## Assign fields to steps
|
|
39
|
-
|
|
40
|
-
Drag a field from the library onto a step node and drop it. That step then
|
|
41
|
-
holds the field.
|
|
42
|
-
|
|
43
|
-
You can assign more than one field to one step. The step node gives the number of
|
|
44
|
-
assigned fields. To see which fields it holds, choose the step. Then read the **Fields**
|
|
45
|
-
section in the inspector.
|
|
46
|
-
|
|
47
|
-
## Choose nodes
|
|
48
|
-
|
|
49
|
-
Click a node to choose it. Its inspector opens in the right panel.
|
|
50
|
-
|
|
51
|
-
Drag on empty canvas to choose every node inside a rectangle. Press `Cmd/Ctrl+A` to
|
|
52
|
-
choose every node.
|
|
53
|
-
|
|
54
|
-
When you choose more than one node, the inspector gives a count and a list in groups.
|
|
55
|
-
Click an item in that list to open its inspector.
|
|
56
|
-
|
|
57
|
-
## Move nodes
|
|
58
|
-
|
|
59
|
-
Drag a node to move it. Each node snaps to the grid.
|
|
60
|
-
|
|
61
|
-
Use the arrow keys to move a node a small distance. Hold `Shift` to move it further.
|
|
62
|
-
|
|
63
|
-
## Delete nodes
|
|
64
|
-
|
|
65
|
-
Choose one or more nodes. Press `Delete` or `Backspace`. The flow builder removes
|
|
66
|
-
those nodes and every arrow that joins them.
|
|
67
|
-
|
|
68
|
-
## Duplicate nodes
|
|
69
|
-
|
|
70
|
-
Choose one or more nodes. Press `Cmd/Ctrl+D`. A copy of each node appears next to the
|
|
71
|
-
first one.
|
|
72
|
-
|
|
73
|
-
## Undo and redo
|
|
74
|
-
|
|
75
|
-
Press `Cmd/Ctrl+Z` to undo. Press `Cmd/Ctrl+Shift+Z` to redo. The undo stack records
|
|
76
|
-
each node that you add, each node that you delete, each connection, and each move.
|
|
77
|
-
|
|
78
|
-
## Related
|
|
79
|
-
|
|
80
|
-
- [Canvas](/reference/dashboard/flow-builder/canvas) — the panels and the view controls.
|
|
81
|
-
- [Nodes](/reference/dashboard/flow-builder/nodes) — every node type.
|
|
82
|
-
- [Keyboard shortcuts](/reference/dashboard/flow-builder/keyboard-shortcuts)
|
|
83
|
-
- [About how Picked works](/explanation/how-picked-works) — why a flow is a graph.
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: how-to
|
|
3
|
-
layout: docs
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# How to connect the MCP server
|
|
7
|
-
|
|
8
|
-
This guide shows you how to control your Picked workspace from an AI tool that writes
|
|
9
|
-
code. The server URL is `https://api.picked.app/mcp`.
|
|
10
|
-
|
|
11
|
-
## Claude Desktop
|
|
12
|
-
|
|
13
|
-
1. Open **Settings > Connectors > Add custom connector**.
|
|
14
|
-
2. Set **Name** to `Picked`.
|
|
15
|
-
3. Set **URL** to `https://api.picked.app/mcp`.
|
|
16
|
-
4. Click **Connect**.
|
|
17
|
-
5. Answer the authorization prompt.
|
|
18
|
-
|
|
19
|
-
## Claude Code, Cursor, Windsurf, and others
|
|
20
|
-
|
|
21
|
-
Add `.mcp.json` to the root of your repository:
|
|
22
|
-
|
|
23
|
-
```json
|
|
24
|
-
{
|
|
25
|
-
"mcpServers": {
|
|
26
|
-
"picked": {
|
|
27
|
-
"type": "http",
|
|
28
|
-
"url": "https://api.picked.app/mcp"
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Cursor reads the same content from `.cursor/mcp.json`.
|
|
35
|
-
|
|
36
|
-
## Related
|
|
37
|
-
|
|
38
|
-
- [MCP server](/reference/tools/mcp) — every tool that the server gives you.
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: how-to
|
|
3
|
-
layout: docs
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# How to create a content entry
|
|
7
|
-
|
|
8
|
-
This guide shows you how to make one instance of a Model and fill it with data. You need
|
|
9
|
-
a Model first. See [How to define a page layout](/how-to/define-a-page-layout).
|
|
10
|
-
|
|
11
|
-
A Page makes its own entry when you create the page. Use this guide for the content that
|
|
12
|
-
no Page and no Step owns, such as an author or a product.
|
|
13
|
-
|
|
14
|
-
## 1. Open the entries list
|
|
15
|
-
|
|
16
|
-
1. Open your workspace.
|
|
17
|
-
2. Click **CMS** in the sidebar.
|
|
18
|
-
3. Click **Content entries**.
|
|
19
|
-
|
|
20
|
-
## 2. Create the entry
|
|
21
|
-
|
|
22
|
-
1. Click **New content**.
|
|
23
|
-
2. Choose the **Model** for the entry.
|
|
24
|
-
3. Fill in each field. The form comes from the schema of the Model.
|
|
25
|
-
4. Click **Create entry**.
|
|
26
|
-
|
|
27
|
-
The Model is fixed when you create the entry. To move content to another Model, make a
|
|
28
|
-
new entry and copy the values across.
|
|
29
|
-
|
|
30
|
-
## 3. Correct every error
|
|
31
|
-
|
|
32
|
-
An invalid field shows an error next to it while you edit. The error carries the path to
|
|
33
|
-
the exact field. Correct each one before you publish, because Picked serves valid content
|
|
34
|
-
only.
|
|
35
|
-
|
|
36
|
-
## Find an entry again
|
|
37
|
-
|
|
38
|
-
The entries list shows a title for each entry. The title is the first single-line text
|
|
39
|
-
field of the entry. It shows the entry id when no such field holds a value.
|
|
40
|
-
|
|
41
|
-
Use the **Model** filter to narrow the list to one Model.
|
|
42
|
-
|
|
43
|
-
## Related
|
|
44
|
-
|
|
45
|
-
- [Content entries](/reference/dashboard/content/content-entries) — the editor reference.
|
|
46
|
-
- [Models](/reference/dashboard/content/models) — every field type.
|
|
47
|
-
- [How to point one entry at another](/how-to/point-one-entry-at-another)
|
|
48
|
-
- [How to publish a workspace](/how-to/publish-a-workspace)
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: how-to
|
|
3
|
-
layout: docs
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# How to create a project
|
|
7
|
-
|
|
8
|
-
This guide shows you how to add a project. A project is one site or one application, and
|
|
9
|
-
it holds its own experiences, content, and options.
|
|
10
|
-
|
|
11
|
-
## Steps
|
|
12
|
-
|
|
13
|
-
1. Open your organization.
|
|
14
|
-
2. Click **New project**.
|
|
15
|
-
3. Enter a name.
|
|
16
|
-
4. Click **Create project**.
|
|
17
|
-
|
|
18
|
-
The project home page opens. It shows your SDK snippet and the setup tasks that are still
|
|
19
|
-
open.
|
|
20
|
-
|
|
21
|
-
## Next
|
|
22
|
-
|
|
23
|
-
Copy the snippet and add it to your site. See
|
|
24
|
-
[How to install the SDK](/how-to/install-the-sdk).
|
|
25
|
-
|
|
26
|
-
## Related
|
|
27
|
-
|
|
28
|
-
- [Projects](/reference/dashboard/projects) — the project surface.
|
|
29
|
-
- [Add Picked to your application](/tutorials/first-experience) — the whole path.
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: how-to
|
|
3
|
-
layout: docs
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# How to create an experience
|
|
7
|
-
|
|
8
|
-
An experience is a Flow or a Page. This guide adds a **Flow**: the interactive kind, of
|
|
9
|
-
more than one step, which the browser renders. A **Page** is the standalone kind that your
|
|
10
|
-
server renders for a search engine, and
|
|
11
|
-
[How to fill and publish a page](/how-to/fill-and-publish-a-page) covers it.
|
|
12
|
-
|
|
13
|
-
[About pages and flows](/explanation/pages-and-flows) sets out the difference, and which
|
|
14
|
-
kind a piece of work needs.
|
|
15
|
-
|
|
16
|
-
## Steps
|
|
17
|
-
|
|
18
|
-
1. Open your project.
|
|
19
|
-
2. Click **Flows** in the sidebar. The experiences list opens.
|
|
20
|
-
3. Click **New experience**.
|
|
21
|
-
4. Enter a name.
|
|
22
|
-
5. Leave **Type** on the **Flow** option.
|
|
23
|
-
6. Open **Advanced**.
|
|
24
|
-
7. Enter a component name. It must match a component that you register in your
|
|
25
|
-
application.
|
|
26
|
-
8. Click **Create flow**.
|
|
27
|
-
|
|
28
|
-
The flow editor opens with an empty canvas.
|
|
29
|
-
|
|
30
|
-
## Set the options
|
|
31
|
-
|
|
32
|
-
Click the canvas background to open the experience inspector.
|
|
33
|
-
|
|
34
|
-
- **Condition** — the experience starts only for a visitor who matches it. Keep it blank
|
|
35
|
-
to start for every visitor.
|
|
36
|
-
- **Initialize Open** — the experience opens by itself when the page loads.
|
|
37
|
-
|
|
38
|
-
## Related
|
|
39
|
-
|
|
40
|
-
- [How to build a flow](/how-to/build-a-flow) — add your first node.
|
|
41
|
-
- [About pages and flows](/explanation/pages-and-flows) — Page or Flow.
|
|
42
|
-
- [Experiences](/reference/dashboard/experiences) — every option.
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: how-to
|
|
3
|
-
layout: docs
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# How to create and revoke an API key
|
|
7
|
-
|
|
8
|
-
This guide shows you how to give your code access to the Picked API. Use a key where your
|
|
9
|
-
own code calls the API, such as a server-side integration.
|
|
10
|
-
|
|
11
|
-
An API key does not sign the [CLI](/reference/tools/cli) in. The CLI reads a session, which
|
|
12
|
-
`picked login` writes. See
|
|
13
|
-
[How to authenticate the CLI](/how-to/authenticate-the-cli) for the commands that CI can
|
|
14
|
-
run without one.
|
|
15
|
-
|
|
16
|
-
## Create a key
|
|
17
|
-
|
|
18
|
-
1. Open your organization.
|
|
19
|
-
2. Click **API Keys**.
|
|
20
|
-
3. Click **Create API Key**.
|
|
21
|
-
4. Enter a **Name**, such as `Production key`.
|
|
22
|
-
5. Set **Project** to one project. The default, **All projects**, gives the key every
|
|
23
|
-
project.
|
|
24
|
-
6. Choose the **Permissions** that your integration needs.
|
|
25
|
-
7. Click **Create API Key**.
|
|
26
|
-
|
|
27
|
-
:::warning
|
|
28
|
-
Copy the key immediately. The dashboard does not show it again.
|
|
29
|
-
:::
|
|
30
|
-
|
|
31
|
-
## Revoke a key
|
|
32
|
-
|
|
33
|
-
1. Open the API keys list.
|
|
34
|
-
2. Click **Revoke** next to the key.
|
|
35
|
-
3. Click **Revoke Key** to confirm.
|
|
36
|
-
|
|
37
|
-
Picked invalidates the key immediately. No later request can use it.
|
|
38
|
-
|
|
39
|
-
## Related
|
|
40
|
-
|
|
41
|
-
- [API keys](/reference/dashboard/api-keys) — the scopes.
|
|
42
|
-
- [Authentication](/reference/management-api/authentication) — how to send the key.
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: how-to
|
|
3
|
-
layout: docs
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# How to debug with the Chrome extension
|
|
7
|
-
|
|
8
|
-
This guide shows you how to add a Picked panel to Chrome DevTools and check your
|
|
9
|
-
integration on any page that runs the SDK.
|
|
10
|
-
|
|
11
|
-
## 1. Install the extension
|
|
12
|
-
|
|
13
|
-
Install it from the
|
|
14
|
-
[Chrome Web Store](https://chromewebstore.google.com/detail/picked-developer-tools/nimmdamgnhlhdpngnalkpmnleebngidh).
|
|
15
|
-
|
|
16
|
-
## 2. Add the devtools plugin
|
|
17
|
-
|
|
18
|
-
```typescript
|
|
19
|
-
import { createClient } from 'picked'
|
|
20
|
-
import { svelteDevtoolsPlugin } from '@picked/svelte/plugins/devtools'
|
|
21
|
-
|
|
22
|
-
const picked = createClient({
|
|
23
|
-
projectId: 'your-project-id',
|
|
24
|
-
plugins: [svelteDevtoolsPlugin()],
|
|
25
|
-
})
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
The extension then connects to the SDK.
|
|
29
|
-
|
|
30
|
-
## 3. Add a tool of your own
|
|
31
|
-
|
|
32
|
-
A custom tool is a framework-adapted component, and it receives the live Picked client
|
|
33
|
-
exactly as an experience component does.
|
|
34
|
-
|
|
35
|
-
```typescript
|
|
36
|
-
import { adaptReactComponent } from '@picked/react'
|
|
37
|
-
import { svelteDevtoolsPlugin } from '@picked/svelte/plugins/devtools'
|
|
38
|
-
import MyTool from './MyTool'
|
|
39
|
-
|
|
40
|
-
const picked = createClient({
|
|
41
|
-
projectId: 'your-project-id',
|
|
42
|
-
plugins: [
|
|
43
|
-
svelteDevtoolsPlugin({
|
|
44
|
-
customTools: [
|
|
45
|
-
{ id: 'my-tool', label: 'My Tool', component: adaptReactComponent(MyTool) },
|
|
46
|
-
],
|
|
47
|
-
}),
|
|
48
|
-
],
|
|
49
|
-
})
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
Your tools appear under a **Custom Tools** tab. In React use `usePicked()`, and in Svelte
|
|
53
|
-
use `getPicked()`.
|
|
54
|
-
|
|
55
|
-
## Related
|
|
56
|
-
|
|
57
|
-
- [Chrome extension](/reference/tools/chrome-extension) — the panel reference.
|