@picked/client 0.0.1-dev.1787788898336 → 0.0.1-dev.1789541668638

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.
Files changed (72) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/{api-DU4j3Qw0.js → api-C7q_7vxn.js} +1 -1
  3. package/dist/{api-9gq3GBPF.cjs → api-Ctvh1qkk.cjs} +1 -1
  4. package/dist/cjs/index.js +2 -2
  5. package/dist/cjs/plugins/dynamic-experiences/index.js +1 -1
  6. package/dist/cjs/plugins/responses-browser-storage/index.js +1 -1
  7. package/dist/cjs/plugins/responses-indexeddb/index.js +1 -1
  8. package/dist/cjs/plugins/telemetry/index.js +1 -1
  9. package/dist/cjs/server/index.js +1 -1
  10. package/dist/docs/how-to/invite-and-remove-members.md +3 -2
  11. package/dist/docs/reference/dashboard/fields.mdx +17 -11
  12. package/dist/docs/reference/sdk/features.md +5 -0
  13. package/dist/docs/reference/sdk/fields.md +38 -6
  14. package/dist/docs/reference/sdk/type-generation.md +18 -7
  15. package/dist/docs/reference/tools/mcp.md +3 -1
  16. package/dist/esm/index.js +258 -239
  17. package/dist/esm/plugins/dynamic-experiences/index.js +2 -2
  18. package/dist/esm/plugins/responses-browser-storage/index.js +50 -16
  19. package/dist/esm/plugins/responses-indexeddb/index.js +1 -1
  20. package/dist/esm/plugins/telemetry/index.js +6 -3
  21. package/dist/esm/server/index.js +13 -13
  22. package/dist/{experience-instance-DGk11d8a.js → experience-instance-B9S6Yf0N.js} +302 -154
  23. package/dist/experience-instance-D8rOg6We.cjs +1 -0
  24. package/dist/{plugin-CYXHEafF.js → plugin-ChafFq6S.js} +3 -2
  25. package/dist/{plugin-rwzR9hVc.cjs → plugin-Dn25Gffy.cjs} +1 -1
  26. package/dist/{provider-BWDd3oaq.js → provider-B8wvmeC8.js} +15 -11
  27. package/dist/provider-BBLlQOjV.cjs +1 -0
  28. package/dist/types/client.d.ts +21 -0
  29. package/dist/types/client.d.ts.map +1 -1
  30. package/dist/types/data-source/provider.d.ts +3 -3
  31. package/dist/types/data-source/provider.d.ts.map +1 -1
  32. package/dist/types/data-source/request-observer.d.ts +23 -19
  33. package/dist/types/data-source/request-observer.d.ts.map +1 -1
  34. package/dist/types/entities/experience/experience.d.ts +8 -0
  35. package/dist/types/entities/experience/experience.d.ts.map +1 -1
  36. package/dist/types/entities/experience-instance/experience-instance.d.ts.map +1 -1
  37. package/dist/types/entities/feature/feature.d.ts.map +1 -1
  38. package/dist/types/entities/field/field.d.ts +26 -7
  39. package/dist/types/entities/field/field.d.ts.map +1 -1
  40. package/dist/types/entities/field/policies.d.ts +35 -0
  41. package/dist/types/entities/field/policies.d.ts.map +1 -0
  42. package/dist/types/index.d.ts +1 -0
  43. package/dist/types/index.d.ts.map +1 -1
  44. package/dist/types/lifecycle/lifecycle.d.ts +1 -1
  45. package/dist/types/lifecycle/lifecycle.d.ts.map +1 -1
  46. package/dist/types/picked.d.ts +4 -13
  47. package/dist/types/picked.d.ts.map +1 -1
  48. package/dist/types/plugins/create-experience/create-experience.d.ts +3 -8
  49. package/dist/types/plugins/create-experience/create-experience.d.ts.map +1 -1
  50. package/dist/types/plugins/responses-browser-storage/plugin.d.ts +11 -0
  51. package/dist/types/plugins/responses-browser-storage/plugin.d.ts.map +1 -1
  52. package/dist/types/plugins/telemetry/plugin.d.ts +2 -2
  53. package/dist/types/plugins/telemetry/plugin.d.ts.map +1 -1
  54. package/dist/types/utils/client-telemetry.d.ts +25 -0
  55. package/dist/types/utils/client-telemetry.d.ts.map +1 -0
  56. package/dist/types/utils/node-tree/min-max-steps-to-leaf.d.ts +16 -6
  57. package/dist/types/utils/node-tree/min-max-steps-to-leaf.d.ts.map +1 -1
  58. package/dist/types/utils/node-tree/min-max-steps-to-origin.d.ts +18 -7
  59. package/dist/types/utils/node-tree/min-max-steps-to-origin.d.ts.map +1 -1
  60. package/dist/types/utils/node-tree/next-reachable-step-nodes.d.ts +30 -6
  61. package/dist/types/utils/node-tree/next-reachable-step-nodes.d.ts.map +1 -1
  62. package/dist/types/utils/node-tree/node-adjacency.d.ts +50 -0
  63. package/dist/types/utils/node-tree/node-adjacency.d.ts.map +1 -0
  64. package/dist/types/utils/node-tree/node-tree-index.d.ts +57 -0
  65. package/dist/types/utils/node-tree/node-tree-index.d.ts.map +1 -0
  66. package/dist/{version-BaI_1eQx.cjs → version-CLjPfmxk.cjs} +1 -1
  67. package/dist/{version-DXDZM7eT.js → version-CPKulHMH.js} +2 -2
  68. package/package.json +5 -5
  69. package/dist/experience-instance-Dej3P1sE.cjs +0 -1
  70. package/dist/provider-lgLyP_0N.cjs +0 -1
  71. package/dist/types/ping.d.ts +0 -11
  72. package/dist/types/ping.d.ts.map +0 -1
@@ -5,6 +5,7 @@ import type { Condition } from '../../entities/condition/condition';
5
5
  import type { AdaptedComponent } from '../../entities/component/component';
6
6
  import type { LogicRule, LogicValue } from '../../logic-engine';
7
7
  import type { Field, FieldBooleanMultiple, FieldBooleanSingular, FieldNumberMultiple, FieldNumberSingular, FieldObjectMultiple, FieldObjectSingular, FieldTextMultiple, FieldTextSingular, JsonValue } from '../../entities/field/field';
8
+ import type { FieldPolicies } from '../../entities/field/policies';
8
9
  import { type Serialized } from './serialization';
9
10
  export interface SerializedExperience extends Experience {
10
11
  steps: ExperienceStep[];
@@ -120,10 +121,7 @@ export type CreateFieldOptions = Omit<Field, 'id' | 'key' | 'options' | 'placeho
120
121
  description?: string;
121
122
  helpText?: string;
122
123
  validation?: LogicRule;
123
- policies?: {
124
- doNotTrackValue?: boolean;
125
- doNotStoreValue?: boolean;
126
- };
124
+ policies?: FieldPolicies;
127
125
  options?: NonNullable<FieldTextSingular['options']>[number][] | NonNullable<FieldTextMultiple['options']>[number][] | NonNullable<FieldNumberSingular['options']>[number][] | NonNullable<FieldNumberMultiple['options']>[number][] | NonNullable<FieldBooleanSingular['options']>[number][] | NonNullable<FieldBooleanMultiple['options']>[number][] | Omit<NonNullable<FieldObjectSingular['options']>[number], 'id'>[] | Omit<NonNullable<FieldObjectMultiple['options']>[number], 'id'>[];
128
126
  };
129
127
  export type SerializableField<T extends JsonValue = JsonValue> = {
@@ -140,10 +138,7 @@ export type SerializableField<T extends JsonValue = JsonValue> = {
140
138
  helpText?: string;
141
139
  validation: LogicRule;
142
140
  condition?: LogicRule;
143
- policies?: {
144
- doNotTrackValue?: boolean;
145
- doNotStoreValue?: boolean;
146
- };
141
+ policies?: FieldPolicies;
147
142
  options: {
148
143
  id: string;
149
144
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"create-experience.d.ts","sourceRoot":"","sources":["../../../../src/plugins/create-experience/create-experience.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-experience.d.ts","sourceRoot":"","sources":["../../../../src/plugins/create-experience/create-experience.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,17 @@ import type { Plugin } from '../../entities/plugin/plugin';
2
2
  interface ResponsesBrowserStoragePlugin {
3
3
  storage?: 'local' | 'session';
4
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
+ */
5
16
  export declare const responsesBrowserStoragePlugin: ({ storage, }?: ResponsesBrowserStoragePlugin) => Plugin;
6
17
  export {};
7
18
  //# sourceMappingURL=plugin.d.ts.map
@@ -1 +1 @@
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;AAiCD,eAAO,MAAM,6BAA6B,kBAEvC,6BAA6B,KAAQ,MA2CvC,CAAA"}
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"}
@@ -5,13 +5,13 @@ export declare const TELEMETRY_PLUGIN_NAME = "telemetry";
5
5
  * Spans held before a flush is forced.
6
6
  *
7
7
  * A session buffers between flushes, so this is what bounds the buffer on a
8
- * long-lived page that keeps making delivery requests.
8
+ * long-lived page that keeps making delivery API requests.
9
9
  */
10
10
  export declare const MAX_BUFFERED_SPANS = 50;
11
11
  /**
12
12
  * How long the batch waits after its first span for others to join it.
13
13
  *
14
- * The ready flush goes out before a delivery request settles, and a session
14
+ * The ready flush goes out before a delivery API request settles, and a session
15
15
  * makes far fewer requests than {@link MAX_BUFFERED_SPANS} — so this timer is
16
16
  * what sends a delivery span while the session is still running, leaving the
17
17
  * page-hidden flush as the backstop for whatever the last few seconds hold.
@@ -1 +1 @@
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,CA+ExE"}
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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @file The telemetry hooks one client exposes.
3
+ *
4
+ * The observer belongs to the client that registered it, so several clients on
5
+ * one page observe only their own traffic.
6
+ */
7
+ import type { DeliveryAPIRequestObserver } from '../data-source/request-observer';
8
+ /** One client's telemetry hooks. */
9
+ export interface ClientTelemetry {
10
+ /** Registers the observer wrapped around this client's delivery API requests, or clears it. */
11
+ observeDeliveryAPIRequests: (next: DeliveryAPIRequestObserver | null) => void;
12
+ /** The observer in force, or `null` while none is registered. */
13
+ readonly deliveryAPIRequestObserver: DeliveryAPIRequestObserver | null;
14
+ }
15
+ /**
16
+ * Creates the telemetry hooks for one client.
17
+ *
18
+ * The observer is read per request, so registering one after an earlier fetch
19
+ * still applies to the next.
20
+ *
21
+ * @returns {ClientTelemetry} The hooks to register through and read from.
22
+ * @example const telemetry = createClientTelemetry()
23
+ */
24
+ export declare function createClientTelemetry(): ClientTelemetry;
25
+ //# sourceMappingURL=client-telemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-telemetry.d.ts","sourceRoot":"","sources":["../../../src/utils/client-telemetry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAEjF,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC9B,+FAA+F;IAC/F,0BAA0B,EAAE,CAAC,IAAI,EAAE,0BAA0B,GAAG,IAAI,KAAK,IAAI,CAAA;IAC7E,iEAAiE;IACjE,QAAQ,CAAC,0BAA0B,EAAE,0BAA0B,GAAG,IAAI,CAAA;CACvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,IAAI,eAAe,CAWvD"}
@@ -1,11 +1,21 @@
1
+ /** @file Min/max steps from one node to a leaf of its experience flow graph. */
1
2
  import type { ExperienceEdge, ExperienceNode } from '../../entities/experience/experience';
3
+ import type { MinMaxSteps } from './node-tree-index';
2
4
  /**
3
- * Calculates the minimum and maximum number of steps from the current node to any leaf node.
5
+ * Calculates the minimum and maximum number of steps from a node to any leaf node.
4
6
  *
5
- * @param nodes - Array of all nodes in the tree
6
- * @param edges - Array of all edges connecting the nodes
7
- * @param currentNode - The starting node for traversal
8
- * @returns Tuple of [minSteps, maxSteps]. Returns [-1, -1] if no paths exist.
7
+ * This tables the whole tree for a single read. A caller reading more than one node of
8
+ * the same tree holds a {@link createNodeTreeIndex} result and calls
9
+ * {@link readStepsToLeaf} instead.
10
+ *
11
+ * @param {ExperienceNode[]} nodes - Array of all nodes in the tree.
12
+ * @param {ExperienceEdge[]} edges - Array of all edges connecting the nodes.
13
+ * @param {ExperienceNode} currentNode - The starting node for traversal.
14
+ * @returns {MinMaxSteps} Tuple of [minSteps, maxSteps]. Returns [-1, -1] if no paths exist.
15
+ * @example
16
+ * ```typescript
17
+ * const [min, max] = findMinMaxStepsToLeaf(nodes, edges, currentNode)
18
+ * ```
9
19
  */
10
- export declare const findMinMaxStepsToLeaf: (nodes: ExperienceNode[], edges: ExperienceEdge[], currentNode: ExperienceNode) => [number, number];
20
+ export declare const findMinMaxStepsToLeaf: (nodes: ExperienceNode[], edges: ExperienceEdge[], currentNode: ExperienceNode) => MinMaxSteps;
11
21
  //# sourceMappingURL=min-max-steps-to-leaf.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"min-max-steps-to-leaf.d.ts","sourceRoot":"","sources":["../../../../src/utils/node-tree/min-max-steps-to-leaf.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAA;AA4D1F;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,UACzB,cAAc,EAAE,SAChB,cAAc,EAAE,eACV,cAAc,KAC1B,CAAC,MAAM,EAAE,MAAM,CAEjB,CAAA"}
1
+ {"version":3,"file":"min-max-steps-to-leaf.d.ts","sourceRoot":"","sources":["../../../../src/utils/node-tree/min-max-steps-to-leaf.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAA;AAC1F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAGpD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,qBAAqB,UACzB,cAAc,EAAE,SAChB,cAAc,EAAE,eACV,cAAc,KAC1B,WAA8E,CAAA"}
@@ -1,12 +1,23 @@
1
+ /** @file Min/max steps from one node back to an origin of its experience flow graph. */
1
2
  import type { ExperienceEdge, ExperienceNode } from '../../entities/experience/experience';
3
+ import type { MinMaxSteps } from './node-tree-index';
2
4
  /**
3
- * Calculates the minimum and maximum number of steps from the current node to the origin node.
4
- * An origin node is a node with type === 'origin'.
5
+ * Calculates the minimum and maximum number of steps from a node back to an origin node.
6
+ * An origin node is a node with type === 'origin', and the first one the walk reaches
7
+ * ends it.
5
8
  *
6
- * @param nodes - Array of all nodes in the tree
7
- * @param edges - Array of all edges connecting the nodes
8
- * @param currentNode - The starting node for traversal
9
- * @returns Tuple of [minSteps, maxSteps]. Returns [-1, -1] if no paths exist.
9
+ * This tables the whole tree for a single read. A caller reading more than one node of
10
+ * the same tree holds a {@link createNodeTreeIndex} result and calls
11
+ * {@link readStepsToOrigin} instead.
12
+ *
13
+ * @param {ExperienceNode[]} nodes - Array of all nodes in the tree.
14
+ * @param {ExperienceEdge[]} edges - Array of all edges connecting the nodes.
15
+ * @param {ExperienceNode} currentNode - The starting node for traversal.
16
+ * @returns {MinMaxSteps} Tuple of [minSteps, maxSteps]. Returns [-1, -1] if no paths exist.
17
+ * @example
18
+ * ```typescript
19
+ * const [min, max] = findMinMaxStepsToOrigin(nodes, edges, currentNode)
20
+ * ```
10
21
  */
11
- export declare const findMinMaxStepsToOrigin: (nodes: ExperienceNode[], edges: ExperienceEdge[], currentNode: ExperienceNode) => [number, number];
22
+ export declare const findMinMaxStepsToOrigin: (nodes: ExperienceNode[], edges: ExperienceEdge[], currentNode: ExperienceNode) => MinMaxSteps;
12
23
  //# sourceMappingURL=min-max-steps-to-origin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"min-max-steps-to-origin.d.ts","sourceRoot":"","sources":["../../../../src/utils/node-tree/min-max-steps-to-origin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAA;AA6D1F;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,UAC3B,cAAc,EAAE,SAChB,cAAc,EAAE,eACV,cAAc,KAC1B,CAAC,MAAM,EAAE,MAAM,CAEjB,CAAA"}
1
+ {"version":3,"file":"min-max-steps-to-origin.d.ts","sourceRoot":"","sources":["../../../../src/utils/node-tree/min-max-steps-to-origin.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAA;AAC1F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAGpD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,uBAAuB,UAC3B,cAAc,EAAE,SAChB,cAAc,EAAE,eACV,cAAc,KAC1B,WAAgF,CAAA"}
@@ -1,13 +1,37 @@
1
+ /** @file The step nodes reachable from one node without passing through another step. */
1
2
  import type { ExperienceEdge, ExperienceNode } from '../../entities/experience/experience';
3
+ import type { NodeAdjacency } from './node-adjacency';
2
4
  /**
3
- * Given the current Node as the starting point, recursively traverses every branch
4
- * of the tree until encountering nodes with stepId properties.
5
+ * Given the current node as the starting point, traverses every branch of an indexed
6
+ * tree until encountering nodes with stepId properties.
5
7
  * Does not progress past a node with a stepId.
6
8
  *
7
- * @param nodes - Array of all nodes in the tree
8
- * @param edges - Array of all edges connecting the nodes
9
- * @param currentNode - The starting node for traversal
10
- * @returns Array of nodes with stepId properties that are descendants of the current node
9
+ * @param {NodeAdjacency} adjacency - The indexed tree.
10
+ * @param {ExperienceNode} currentNode - The starting node for traversal.
11
+ * @returns {ExperienceNode[]} Array of step nodes that are descendants of the current node.
12
+ * @example
13
+ * ```typescript
14
+ * const steps = nextReachableStepNodesFrom(adjacency, currentNode)
15
+ * ```
16
+ */
17
+ export declare const nextReachableStepNodesFrom: (adjacency: NodeAdjacency, currentNode: ExperienceNode) => ExperienceNode[];
18
+ /**
19
+ * Given the current node as the starting point, traverses every branch of the tree
20
+ * until encountering nodes with stepId properties.
21
+ * Does not progress past a node with a stepId.
22
+ *
23
+ * This indexes the whole tree for a single walk. A caller walking the same tree more
24
+ * than once holds a {@link createNodeAdjacency} result and calls
25
+ * {@link nextReachableStepNodesFrom} instead.
26
+ *
27
+ * @param {ExperienceNode[]} nodes - Array of all nodes in the tree.
28
+ * @param {ExperienceEdge[]} edges - Array of all edges connecting the nodes.
29
+ * @param {ExperienceNode} currentNode - The starting node for traversal.
30
+ * @returns {ExperienceNode[]} Array of nodes with stepId properties that are descendants of the current node.
31
+ * @example
32
+ * ```typescript
33
+ * const steps = nextReachableStepNodes(nodes, edges, currentNode)
34
+ * ```
11
35
  */
12
36
  export declare const nextReachableStepNodes: (nodes: ExperienceNode[], edges: ExperienceEdge[], currentNode: ExperienceNode) => ExperienceNode[];
13
37
  //# sourceMappingURL=next-reachable-step-nodes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"next-reachable-step-nodes.d.ts","sourceRoot":"","sources":["../../../../src/utils/node-tree/next-reachable-step-nodes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAA;AAuC1F;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,UAC1B,cAAc,EAAE,SAChB,cAAc,EAAE,eACV,cAAc,KAC1B,cAAc,EAEhB,CAAA"}
1
+ {"version":3,"file":"next-reachable-step-nodes.d.ts","sourceRoot":"","sources":["../../../../src/utils/node-tree/next-reachable-step-nodes.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAA;AAE1F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAuCrD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,0BAA0B,cAC1B,aAAa,eACX,cAAc,KAC1B,cAAc,EAAwE,CAAA;AAEzF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,sBAAsB,UAC1B,cAAc,EAAE,SAChB,cAAc,EAAE,eACV,cAAc,KAC1B,cAAc,EAAgF,CAAA"}
@@ -0,0 +1,50 @@
1
+ /** @file Node and edge lookups for one experience flow graph, built once per tree. */
2
+ import type { ExperienceEdge, ExperienceNode } from '../../entities/experience/experience';
3
+ /** Lookups over one flow graph: its nodes by id, and its edges by each endpoint. */
4
+ export interface NodeAdjacency {
5
+ nodeById: ReadonlyMap<string, ExperienceNode>;
6
+ outgoingEdges: ReadonlyMap<string, ExperienceEdge[]>;
7
+ incomingEdges: ReadonlyMap<string, ExperienceEdge[]>;
8
+ }
9
+ /**
10
+ * Indexes a flow graph so a walk can reach a node or its edges in constant time.
11
+ *
12
+ * Every edge is indexed under both endpoints, including edges naming an id the
13
+ * graph has no node for — a walk decides what those mean by looking the endpoint
14
+ * up in `nodeById`.
15
+ *
16
+ * @param {ExperienceNode[]} nodes - Every node in the tree.
17
+ * @param {ExperienceEdge[]} edges - Every edge in the tree.
18
+ * @returns {NodeAdjacency} The lookups over that tree.
19
+ * @example
20
+ * ```typescript
21
+ * const adjacency = createNodeAdjacency(nodes, edges)
22
+ * const node = adjacency.nodeById.get('node-1')
23
+ * ```
24
+ */
25
+ export declare const createNodeAdjacency: (nodes: ExperienceNode[], edges: ExperienceEdge[]) => NodeAdjacency;
26
+ /**
27
+ * Reads the edges leaving a node id.
28
+ *
29
+ * @param {NodeAdjacency} adjacency - The indexed tree.
30
+ * @param {string} nodeId - The id to read.
31
+ * @returns {readonly ExperienceEdge[]} The edges whose source is that id.
32
+ * @example
33
+ * ```typescript
34
+ * const edges = outgoingEdgesOf(adjacency, 'node-1')
35
+ * ```
36
+ */
37
+ export declare const outgoingEdgesOf: (adjacency: NodeAdjacency, nodeId: string) => readonly ExperienceEdge[];
38
+ /**
39
+ * Reads the edges arriving at a node id.
40
+ *
41
+ * @param {NodeAdjacency} adjacency - The indexed tree.
42
+ * @param {string} nodeId - The id to read.
43
+ * @returns {readonly ExperienceEdge[]} The edges whose destination is that id.
44
+ * @example
45
+ * ```typescript
46
+ * const edges = incomingEdgesOf(adjacency, 'node-1')
47
+ * ```
48
+ */
49
+ export declare const incomingEdgesOf: (adjacency: NodeAdjacency, nodeId: string) => readonly ExperienceEdge[];
50
+ //# sourceMappingURL=node-adjacency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-adjacency.d.ts","sourceRoot":"","sources":["../../../../src/utils/node-tree/node-adjacency.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAA;AAI1F,oFAAoF;AACpF,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IAC7C,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAA;IACpD,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAA;CACrD;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,mBAAmB,UACvB,cAAc,EAAE,SAChB,cAAc,EAAE,KACtB,aAyBF,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,cACf,aAAa,UAChB,MAAM,KACb,SAAS,cAAc,EAAqD,CAAA;AAE/E;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,cACf,aAAa,UAChB,MAAM,KACb,SAAS,cAAc,EAAqD,CAAA"}
@@ -0,0 +1,57 @@
1
+ /** @file Per-tree tables of the min and max steps from every node to a leaf and back to an origin. */
2
+ import type { ExperienceEdge, ExperienceNode } from '../../entities/experience/experience';
3
+ import type { NodeAdjacency } from './node-adjacency';
4
+ /** Fewest and most steps between a node and a terminus, `[-1, -1]` when none is reachable. */
5
+ export type MinMaxSteps = [number, number];
6
+ /** Min/max step distances for every node of one tree, keyed by node id. */
7
+ export interface MinMaxStepTables {
8
+ stepsToLeaf: ReadonlyMap<string, MinMaxSteps>;
9
+ stepsToOrigin: ReadonlyMap<string, MinMaxSteps>;
10
+ /** Node visits spent building the tables. Grows linearly with the node count. */
11
+ nodeVisits: number;
12
+ }
13
+ /** One flow graph's adjacency lookups alongside its min/max step tables. */
14
+ export type NodeTreeIndex = NodeAdjacency & MinMaxStepTables;
15
+ /**
16
+ * Indexes a flow graph and tables, for every node in it, the fewest and most steps to
17
+ * a leaf and back to an origin.
18
+ *
19
+ * The whole table costs one pass over the tree, so a caller holding it reads any node's
20
+ * pair with a map lookup. Build it once per tree and read it per node change.
21
+ *
22
+ * @param {ExperienceNode[]} nodes - Every node in the tree.
23
+ * @param {ExperienceEdge[]} edges - Every edge in the tree.
24
+ * @returns {NodeTreeIndex} The adjacency lookups and the step tables.
25
+ * @example
26
+ * ```typescript
27
+ * const tree = createNodeTreeIndex(nodes, edges)
28
+ * const [min, max] = readStepsToLeaf(tree, currentNode)
29
+ * ```
30
+ */
31
+ export declare const createNodeTreeIndex: (nodes: ExperienceNode[], edges: ExperienceEdge[]) => NodeTreeIndex;
32
+ /**
33
+ * Reads the fewest and most steps from a node to a leaf.
34
+ *
35
+ * @param {NodeTreeIndex} tree - The indexed tree.
36
+ * @param {ExperienceNode} node - The node to read.
37
+ * @returns {MinMaxSteps} The pair, `[-1, -1]` when no leaf is reachable.
38
+ * @example
39
+ * ```typescript
40
+ * const [min, max] = readStepsToLeaf(tree, currentNode)
41
+ * ```
42
+ */
43
+ export declare const readStepsToLeaf: (tree: NodeTreeIndex, node: ExperienceNode) => MinMaxSteps;
44
+ /**
45
+ * Reads the fewest and most steps from a node back to an origin, where the first origin
46
+ * the walk reaches ends it.
47
+ *
48
+ * @param {NodeTreeIndex} tree - The indexed tree.
49
+ * @param {ExperienceNode} node - The node to read.
50
+ * @returns {MinMaxSteps} The pair, `[-1, -1]` when no origin is reachable.
51
+ * @example
52
+ * ```typescript
53
+ * const [min, max] = readStepsToOrigin(tree, currentNode)
54
+ * ```
55
+ */
56
+ export declare const readStepsToOrigin: (tree: NodeTreeIndex, node: ExperienceNode) => MinMaxSteps;
57
+ //# sourceMappingURL=node-tree-index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-tree-index.d.ts","sourceRoot":"","sources":["../../../../src/utils/node-tree/node-tree-index.ts"],"names":[],"mappings":"AAAA,sGAAsG;AACtG,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAA;AAC1F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAGrD,8FAA8F;AAC9F,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAE1C,2EAA2E;AAC3E,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAC7C,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAC/C,iFAAiF;IACjF,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,4EAA4E;AAC5E,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,gBAAgB,CAAA;AAsd5D;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,mBAAmB,UACvB,cAAc,EAAE,SAChB,cAAc,EAAE,KACtB,aAuBF,CAAA;AAkCD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,SAAU,aAAa,QAAQ,cAAc,KAAG,WAQ3E,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB,SAAU,aAAa,QAAQ,cAAc,KAAG,WAO7E,CAAA"}
@@ -1 +1 @@
1
- const e=require("./logger-CSTvAyyB.cjs"),t=require("./storage-DUw9UJ2h.cjs");let n=require("effector"),r=require("@withease/factories");var i=(0,n.createDomain)(`feature`);function a(e){return e?.enabled===!1}function o(e){return e===`true`||e!==`false`&&e}function s(e){let t=e.indexOf(`:`);if(t<=0)return null;let n=e.substring(0,t),r=e.substring(t+1);return r.length===0?null:{id:n,bucket:o(r)}}var c=(0,r.createFactory)(({client:r})=>{let s=i.store({}),c=i.store([]),l=(0,n.createApi)(s,{register(e,t){return{...e,[t.id]:t.feature}}}),u=(0,n.createEvent)();(0,n.sample)({clock:u,source:s,filter:(e,{id:t})=>e[t]!==void 0,fn:(e,{id:t})=>`Feature '${t}' already registered. Registering again will override the previous registration.`}).watch(t=>e.t(`warn`,t)),(0,n.sample)({clock:u,fn:({id:e,feature:t})=>Object.freeze({id:e,feature:{id:e,feature:{...t,id:e}}}),target:l.register});let d=(0,n.createEffect)(async({id:e,key:n,storage:r=`local`,enabled:i})=>{if(i===!1)return null;let a=t.t(`feature:${e}:${n}`,`global`),s=(r===`session`?t.r:t.n).get(a).text();return s?{id:e,key:n,bucket:o(s),storage:r}:null}),f=(0,n.createEffect)(e=>{if(!e)return null;let n=t.t(`feature:${e.id}:${e.key}`,`global`);(e.storage===`session`?t.r:t.n).set(n,e.bucket)}),p=new Map,m=(0,n.attach)({source:{allFeaturesStore:s,resolvedFeaturesStore:c},effect:async({allFeaturesStore:e,resolvedFeaturesStore:t},{id:n,decide:r,key:i})=>{let o=t.find(e=>e.id===n&&e.key===i);if(o)return o;let s=e[n];if(!s)throw Error(`Feature with id '${n}' not found`);if(a(s.feature))return{id:s.id,bucket:!1,key:i,storage:s.feature.storage};let c=p.get(`${n}:${i}`);if(c!==void 0){let e=await c;return{id:s.id,bucket:e,key:i,storage:s.feature.storage}}let l=r();p.set(`${n}:${i}`,l);let u=await l;return{id:s.id,bucket:u,key:i,storage:s.feature.storage}}});(0,n.sample)({clock:l.register,fn:e=>{let{id:t,feature:n}=e;return{id:t,key:n.feature.key,storage:n.feature.storage,enabled:n.feature.enabled}},target:d}),(0,n.sample)({source:s,clock:m.doneData,filter:(e,t)=>!a(e[t.id]?.feature),fn:(e,t)=>{let{id:n,bucket:r,storage:i}=t,a=e[n]?.feature.key;return a?{key:a,id:n,bucket:r,storage:i}:null},target:f});let h=(0,n.combine)({allFeaturesStore:s,resolvedFeaturesStore:c}).map(({allFeaturesStore:e,resolvedFeaturesStore:t})=>Object.values(e).map(e=>{let n=t.find(t=>t.id===e.id&&t.key===e.feature.key);return n?{id:e.id,name:e.feature.name,key:e.feature.key,enabled:e.feature.enabled,weight:e.feature.weight,valueType:e.feature.valueType,variants:e.feature.variants,getBucket:()=>({id:e.id,bucket:n.bucket}),isResolved:!0}:{id:e.id,name:e.feature.name,key:e.feature.key,enabled:e.feature.enabled,weight:e.feature.weight,valueType:e.feature.valueType,variants:e.feature.variants,getBucket:async()=>await m(e.feature),isResolved:!1}}));(0,n.sample)({clock:m.doneData,source:{resolvedFeatures:c,allFeatures:s},filter:({resolvedFeatures:e,allFeatures:t},{id:n,key:r})=>!a(t[n]?.feature)&&!e.some(e=>e.id===n&&e.key===r),fn:(e,t)=>t,target:r.eventBus.prepend(e=>({type:`feature_decide`,feature:e}))}),(0,n.sample)({clock:[d.doneData,m.doneData],source:{resolvedFeatures:c,allFeatures:s},fn:({resolvedFeatures:e,allFeatures:t},n)=>!n||a(t[n.id]?.feature)||e.some(e=>e.id===n.id&&e.key===n.key)?e:[...e,n],target:c});function g(e){return h.map(t=>t.find(t=>t.id===e))}let _=new Map,v=new Map,y=new Map;function b(e){let t=_.get(e);if(t)return t;let n=g(e);return _.set(e,n),n}function x(e){return s.map(t=>t[e],{skipVoid:!1})}function S(e){let t=(0,n.createStore)(async()=>void 0,{skipVoid:!1}),r=b(e),i=(0,n.attach)({source:r,effect:async e=>{if(e)return async()=>(await e.getBucket()).bucket}});return(0,n.sample)({clock:r,target:i}),(0,n.sample)({clock:i.doneData,filter:e=>e!==void 0,target:t}),i(),t}function C(e){let t=v.get(e);if(t)return t;let n=S(e);return v.set(e,n),n}function w(e){let t=C(e),r=(0,n.createStore)(void 0,{skipVoid:!1}),i=(0,n.attach)({source:t,mapParams:(e,t)=>t,effect:(0,n.createEffect)(async e=>await e())});return(0,n.sample)({clock:i.doneData,fn:t=>{if(t!==void 0)return{id:e,bucket:t}},target:r}),(0,n.sample)({clock:t,target:i}),i(),r}function T(e){let t=y.get(e);if(t)return t;let n=w(e);return y.set(e,n),n}return{register:u,getById:b,getByName:x,listStore:h,getEvokableFeature:C,getFeatureResult:T}});function l(e){return(0,r.invoke)(c,e)}var u=(e,t,n)=>{n.register({id:e,feature:t})},d=()=>`0.0.1-dev.1787788898336`;Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return d}});
1
+ const e=require("./logger-CSTvAyyB.cjs"),t=require("./storage-DUw9UJ2h.cjs");let n=require("effector"),r=require("@withease/factories");var i=(0,n.createDomain)(`feature`);function a(e){return e?.enabled===!1}function o(e){return e===`true`||e!==`false`&&e}function s(e){let t=e.indexOf(`:`);if(t<=0)return null;let n=e.substring(0,t),r=e.substring(t+1);return r.length===0?null:{id:n,bucket:o(r)}}var c=(0,r.createFactory)(({client:r})=>{let s=i.store({}),c=i.store([]),l=(0,n.createApi)(s,{register(e,t){return{...e,[t.id]:t.feature}}}),u=(0,n.createEvent)();(0,n.sample)({clock:u,source:s,filter:(e,{id:t})=>e[t]!==void 0,fn:(e,{id:t})=>`Feature '${t}' already registered. Registering again will override the previous registration.`}).watch(t=>e.t(`warn`,t)),(0,n.sample)({clock:u,fn:({id:e,feature:t})=>Object.freeze({id:e,feature:{id:e,feature:{...t,id:e}}}),target:l.register});let d=(0,n.createEffect)(async({id:e,key:n,storage:r=`local`,enabled:i})=>{if(i===!1)return null;let a=t.t(`feature:${e}:${n}`,`global`),s=(r===`session`?t.r:t.n).get(a).text();return s?{id:e,key:n,bucket:o(s),storage:r}:null}),f=(0,n.createEffect)(e=>{if(!e)return null;let n=t.t(`feature:${e.id}:${e.key}`,`global`);(e.storage===`session`?t.r:t.n).set(n,e.bucket)}),p=new Map,m=(0,n.attach)({source:{allFeaturesStore:s,resolvedFeaturesStore:c},effect:async({allFeaturesStore:e,resolvedFeaturesStore:t},{id:n,decide:r,key:i})=>{let o=t.find(e=>e.id===n&&e.key===i);if(o)return o;let s=e[n];if(!s)throw Error(`Feature with id '${n}' not found`);if(a(s.feature))return{id:s.id,bucket:!1,key:i,storage:s.feature.storage};let c=p.get(`${n}:${i}`);if(c!==void 0){let e=await c;return{id:s.id,bucket:e,key:i,storage:s.feature.storage}}let l=r();p.set(`${n}:${i}`,l);let u=await l;return{id:s.id,bucket:u,key:i,storage:s.feature.storage}}});(0,n.sample)({clock:l.register,fn:e=>{let{id:t,feature:n}=e;return{id:t,key:n.feature.key,storage:n.feature.storage,enabled:n.feature.enabled}},target:d}),(0,n.sample)({source:s,clock:m.doneData,filter:(e,t)=>!a(e[t.id]?.feature),fn:(e,t)=>{let{id:n,bucket:r,storage:i}=t,a=e[n]?.feature.key;return a?{key:a,id:n,bucket:r,storage:i}:null},target:f});let h=(0,n.combine)({allFeaturesStore:s,resolvedFeaturesStore:c}).map(({allFeaturesStore:e,resolvedFeaturesStore:t})=>Object.values(e).map(e=>{let n=t.find(t=>t.id===e.id&&t.key===e.feature.key);return n?{id:e.id,name:e.feature.name,key:e.feature.key,enabled:e.feature.enabled,weight:e.feature.weight,valueType:e.feature.valueType,variants:e.feature.variants,getBucket:()=>({id:e.id,bucket:n.bucket}),isResolved:!0}:{id:e.id,name:e.feature.name,key:e.feature.key,enabled:e.feature.enabled,weight:e.feature.weight,valueType:e.feature.valueType,variants:e.feature.variants,getBucket:async()=>await m(e.feature),isResolved:!1}}));(0,n.sample)({clock:m.doneData,source:{resolvedFeatures:c,allFeatures:s},filter:({resolvedFeatures:e,allFeatures:t},{id:n,key:r})=>!a(t[n]?.feature)&&!e.some(e=>e.id===n&&e.key===r),fn:(e,t)=>t,target:r.eventBus.prepend(e=>({type:`feature_decide`,feature:e}))}),(0,n.sample)({clock:[d.doneData,m.doneData],source:{resolvedFeatures:c,allFeatures:s},fn:({resolvedFeatures:e,allFeatures:t},n)=>!n||a(t[n.id]?.feature)||e.some(e=>e.id===n.id&&e.key===n.key)?e:[...e,n],target:c});function g(e){return h.map(t=>t.find(t=>t.id===e),{skipVoid:!1})}let _=new Map,v=new Map,y=new Map;function b(e){let t=_.get(e);if(t)return t;let n=g(e);return _.set(e,n),n}function x(e){return s.map(t=>t[e],{skipVoid:!1})}function S(e){let t=(0,n.createStore)(async()=>void 0,{skipVoid:!1}),r=b(e),i=(0,n.attach)({source:r,effect:async e=>{if(e)return async()=>(await e.getBucket()).bucket}});return(0,n.sample)({clock:r,target:i}),(0,n.sample)({clock:i.doneData,filter:e=>e!==void 0,target:t}),i(),t}function C(e){let t=v.get(e);if(t)return t;let n=S(e);return v.set(e,n),n}function w(e){let t=C(e),r=(0,n.createStore)(void 0,{skipVoid:!1}),i=(0,n.attach)({source:t,mapParams:(e,t)=>t,effect:(0,n.createEffect)(async e=>await e())});return(0,n.sample)({clock:i.doneData,fn:t=>{if(t!==void 0)return{id:e,bucket:t}},target:r}),(0,n.sample)({clock:t,target:i}),i(),r}function T(e){let t=y.get(e);if(t)return t;let n=w(e);return y.set(e,n),n}return{register:u,getById:b,getByName:x,listStore:h,getEvokableFeature:C,getFeatureResult:T}});function l(e){return(0,r.invoke)(c,e)}var u=(e,t,n)=>{n.register({id:e,feature:t})},d=()=>`0.0.1-dev.1789541668638`;Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return d}});
@@ -174,7 +174,7 @@ var v = f(({ client: s }) => {
174
174
  target: p
175
175
  });
176
176
  function w(e) {
177
- return C.map((t) => t.find((t) => t.id === e));
177
+ return C.map((t) => t.find((t) => t.id === e), { skipVoid: !1 });
178
178
  }
179
179
  let T = /* @__PURE__ */ new Map(), E = /* @__PURE__ */ new Map(), D = /* @__PURE__ */ new Map();
180
180
  function O(e) {
@@ -251,6 +251,6 @@ var b = (e, t, n) => {
251
251
  id: e,
252
252
  feature: t
253
253
  });
254
- }, x = () => "0.0.1-dev.1787788898336";
254
+ }, x = () => "0.0.1-dev.1789541668638";
255
255
  //#endregion
256
256
  export { b as i, y as n, _ as r, x as t };
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@picked/client",
3
- "version": "0.0.1-dev.1787788898336",
3
+ "version": "0.0.1-dev.1789541668638",
4
4
  "dependencies": {
5
- "@picked/delivery-api-client": "0.0.1-dev.1787788898336",
5
+ "@picked/delivery-api-client": "0.0.1-dev.1789541668638",
6
6
  "@withease/factories": "^1.0.5",
7
- "@picked/telemetry": "0.0.1-dev.1787788898336"
7
+ "@picked/telemetry": "0.0.1-dev.1789541668638"
8
8
  },
9
9
  "devDependencies": {
10
10
  "@repo/eslint-config": "workspace:*",
@@ -12,8 +12,8 @@
12
12
  "@rollup/plugin-replace": "^6.0.3",
13
13
  "@size-limit/preset-small-lib": "^12.1.0",
14
14
  "@testing-library/dom": "^10.4.1",
15
- "@vitest/browser": "^4.1.10",
16
- "@vitest/coverage-v8": "^4.1.10",
15
+ "@vitest/browser": "^4.1.11",
16
+ "@vitest/coverage-v8": "^4.1.11",
17
17
  "effector": "^23.4.4",
18
18
  "happy-dom": "^20.11.1",
19
19
  "size-limit": "^12.1.0",
@@ -1 +0,0 @@
1
- const e=require("./rules-logic-CGZIYgAI.cjs");require("./logger-CSTvAyyB.cjs");const t=require("./dom-DlLH3FxV.cjs");let n=require("effector"),r=require("@withease/factories");function i(e){return e.type===`condition`}function a(e){return e.type===`step`}function o(e){return e.type===`experience`}function s(e){return e.type===`origin`}function c(e){return e.type===`action`}var l=`conditions.`,u=(0,n.createDomain)(`condition-results`);function d(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function f(e){if(e===void 0)return null;if(Array.isArray(e))return e.map(e=>f(e));if(d(e)){let t=Object.keys(e).sort((e,t)=>e.localeCompare(t)),n={};for(let r of t)n[r]=f(e[r]);return n}return e}function p(e){return JSON.stringify(f(e))}var m=(0,r.createFactory)(()=>{let e=u.store({}),t=(0,n.createApi)(e,{set(e,t){return e[t.hash]===t.result?e:{...e,[t.hash]:t.result}},seed(e,t){return Object.keys(t).every(n=>e[n]===t[n])?e:{...e,...t}},clear(){return{}}});function r(e){t.set(e)}function i(e){t.seed(e)}function a(){t.clear()}function o(t){return e.getState()[t]}return{store:e,set:r,seed:i,peek:o,reset:a}});function h(){return(0,r.invoke)(m)}async function g(t,n,r){return n==null?!0:typeof n==`boolean`?n:!e.n(n)||await e.t(t,n,r)===!0}function _(e){if(typeof e==`string`)return e;if(Array.isArray(e)&&typeof e[0]==`string`)return e[0]}function v(e){if(Array.isArray(e))return e.some(v);if(d(e)){let t=_(e.var);return t!==void 0&&(t===`actions`||t.startsWith(`actions.`))?!0:Object.values(e).some(v)}return!1}function y(e){if(Array.isArray(e))return e.flatMap(y);if(d(e)){let t=_(e.var);return[...t!==void 0&&t.startsWith(l)?[t.slice(11)]:[],...Object.values(e).flatMap(y)]}return[]}function b(e,t,n=new Set){if(v(e))return!0;for(let r of y(e)){if(n.has(r))continue;n.add(r);let e=t[r];if(e!==void 0&&b(e.logic,t,n))return!0}return!1}async function x(e,t,n){let r={};for(let t of e.conditions.listStore.getState())r[t.key]=t;let i=b(t,r),a=p(t);if(!i){let t=e.conditionResults.peek(a);if(t!==void 0)return t}let o=await g(e,t,n?.context);return i||e.conditionResults.set({hash:a,result:o}),o}async function S(e,t,n){let r=n?.context,i=[n?.precondition,n?.condition,t.condition];for(let t of i)if(!await x(e,t,{context:r}))return!1;return!0}var C=(e,t,n,r,i=new Set)=>i.has(n.id)?[]:(i.add(n.id),a(n)&&!r?[n]:t.filter(e=>e.sourceNodeId===n.id).flatMap(n=>{let r=e.find(e=>e.id===n.destinationNodeId);return r?C(e,t,r,!1,i):[]})),w=(e,t,n)=>C(e,t,n,!0,new Set),T=(e,t,n,r,i=new Set)=>{if(i.has(n.id))return[-1,-1];i.add(n.id);let a=t.filter(e=>e.sourceNodeId===n.id);if(a.length===0)return[0,0];let o=1/0,s=-1/0;for(let n of a){let r=e.find(e=>e.id===n.destinationNodeId);if(!r)continue;let[a,c]=T(e,t,r,!1,new Set(i));a!==-1&&(o=Math.min(o,a+1),s=Math.max(s,c+1))}return o===1/0?[-1,-1]:[o,s]},E=(e,t,n)=>T(e,t,n,!0,new Set),D=(e,t,n,r=new Set)=>{if(r.has(n.id))return[-1,-1];if(r.add(n.id),n.type===`origin`)return[0,0];let i=t.filter(e=>e.destinationNodeId===n.id);if(i.length===0)return[-1,-1];let a=1/0,o=-1/0;for(let n of i){let i=e.find(e=>e.id===n.sourceNodeId);if(!i)continue;let[s,c]=D(e,t,i,new Set(r));s!==-1&&(a=Math.min(a,s+1),o=Math.max(o,c+1))}return a===1/0?[-1,-1]:[a,o]},ee=(e,t,n)=>D(e,t,n,new Set),O=e=>e.find(e=>e.type===`origin`)||null,k=(e,t,n)=>{if(!e)return O(t);let r=n.find(t=>t.sourceNodeId===e.id);return r&&t.find(e=>e.id===r.destinationNodeId)||null};async function A(e,t,n,r){let i=e?`true`:`false`,a=r.find(e=>e.sourceHandle===i&&e.sourceNodeId===t);return n.find(e=>e.id===a?.destinationNodeId)}function j(e,t,n,r){let i=r.filter(e=>e.sourceNodeId===t),a=e?`true`:`false`,o=i.find(e=>e.sourceHandle===a)??i.find(e=>e.sourceHandle==null);return n.find(e=>e.id===o?.destinationNodeId)}var M=(0,n.createDomain)(`experience-instance`),N=(0,r.createFactory)(({client:r,experience:l,target:u,options:d})=>{let f=(0,n.createEvent)(),p=(0,n.createEvent)(),m=(0,n.createEvent)(),h=(0,n.createEvent)(),g=(0,n.createEvent)(),_=(0,n.createEvent)(),v=(0,n.createEvent)(),y=l.componentStore,b=M.store(`transitioning`),x=r.history.entriesStore.map(e=>e.filter(e=>e.experienceId===l.id)),S=x.map(e=>e.filter(e=>a(e.node))),C=x.map(e=>e.at(-1)?.node||null),T=M.store(null);(0,n.sample)({clock:[C,r.steps.listStore,_],source:{steps:r.steps.listStore,node:C},filter:({node:e})=>e!==null&&a(e),fn:({steps:e,node:t})=>t&&a(t)?e.find(e=>e.id===t.stepId)??null:null,target:T});let D=(0,n.combine)(r.steps.listStore,S,(e,t)=>{let n=t.at(-2);if(!n||!a(n.node))return null;let r=n.node;return e.find(e=>e.id===r.stepId)||null}),N=(0,n.combine)(l.treeStore,C,({nodes:e,edges:t},n)=>n?w(e,t,n):[]),P=(0,n.combine)(l.treeStore,C,({nodes:e,edges:t},n)=>n?ee(e,t,n):[-1,-1]),F=(0,n.combine)(l.treeStore,C,({nodes:e,edges:t},n)=>n?E(e,t,n):[-1,-1]),I=M.store(!1),L=(0,n.createApi)(I,{open:()=>!0,close:()=>!1,toggle:e=>!e,set:(e,t)=>t}),R=(0,n.createEffect)(async()=>{r.history.back({experienceId:l.id})}),z=(0,n.attach)({source:l.treeStore,effect:async(e,t)=>{let n=e.nodes.find(e=>a(e)&&e.stepId===t);n&&r.history.push({experienceId:l.id,node:n})}}),B=(0,n.attach)({source:l.treeStore,effect:async(e,t)=>{let n=e.steps.find(e=>e.key===t);if(!n)return;let i=e.nodes.find(e=>a(e)&&e.stepId===n.id);i&&r.history.push({experienceId:l.id,node:i})}}),V=(0,n.attach)({source:C,effect:e=>{}}),H=(0,n.attach)({source:l.treeStore,effect:async({nodes:e})=>O(e)}),U=(0,n.attach)({source:l.treeStore,effect:async({nodes:e,edges:t},n)=>{if(s(n))return k(n,e,t)}}),W=(0,n.attach)({source:l.treeStore,effect:async({nodes:t,edges:n,conditions:a},o)=>{if(!i(o))return;let s=a.find(e=>e.id===o.conditionId)?.logic;return s?A(!!await e.t(r,s),o.id,t,n):void 0}}),G=(0,n.attach)({source:{tree:l.treeStore,actions:r.actions.listStore,snapshot:r.stateSnapshotStore},effect:async({tree:e,actions:t,snapshot:n},r)=>{let{nodes:i,edges:a}=e;if(!c(r))return;let o=r.actionKey;if(!o){`${r.id}`;return}let s=t.find(e=>e.key===o)?.action;if(typeof s!=`function`)return`${o}`,j(!1,r.id,i,a)??null;let l=!0;try{`${o}`,await s({...n,args:[]},{experience:Z})}catch{`${o}`,l=!1}let u=j(l,r.id,i,a);if(!u){let e=a.some(e=>e.sourceNodeId===r.id)?`no edge for its outcome`:`no outgoing edge`;return`${r.id}${e}`,null}return`${o}${u.id}`,u}}),K=(0,n.createEffect)(e=>{o(e)&&r.experiences.launch({key:e.experienceKey})}),q=(0,n.attach)({source:[C,l.treeStore],effect:async([e,{nodes:t,edges:n}])=>k(e,t,n)}),J=(0,n.attach)({source:[C,l.treeStore],effect:async([e,{nodes:t,edges:n}])=>k(e,t,n)}),te=(0,n.createEffect)(e=>{r.history.push({experienceId:l.id,node:e})}),Y=(0,n.attach)({source:l.configStore,effect:async({initializeOpenLogic:t})=>d?.initialiseOpen===void 0?e.n(t)?!!await e.t(r,t):t??!1:d.initialiseOpen}),X=(0,n.combine)(y,r.frameworks.listStore,(e,t)=>{if(!e)return null;let n=t.find(t=>t.name===e.component.frameworkName);return n?{component:e,framework:n}:null},{skipVoid:!1}),Z,ne=(0,n.attach)({source:X,effect:e=>{if(!e)return;if(!u){`${l.id}`;return}let n=t.n(u);try{e.framework.render(n,e.component.component,r,Z)}catch{}}});Z=Object.freeze({id:Math.random().toString(36).substring(7),experienceKey:l.key,experienceId:l.id,experienceName:l.name,configStore:l.configStore,target:u,componentStore:y,componentAndFrameworkStore:X,stateStore:b,isOpenStore:I,open:L.open,close:L.close,toggleOpen:L.toggle,setOpen:L.set,treeStore:l.treeStore,currentNodeStore:C,currentStepStore:T,previousStepStore:D,nextReachableStepNodesStore:N,stepsToOriginStore:P,stepsToLeafStore:F,goToNextStep:p,goToPreviousStep:m,goToStepById:h,goToStepByKey:g,stepsHistoryStore:S,mountFx:ne});let Q=(0,n.createEvent)(),$=(0,n.createEvent)();return(0,n.sample)({clock:C,target:Q}),(0,n.sample)({clock:Q,filter:e=>e===null,target:H}),(0,n.sample)({clock:Q,filter:e=>e!==null,target:$}),(0,n.split)({source:$,match:e=>i(e)?`condition`:a(e)?`step`:o(e)?`launchExperience`:s(e)?`origin`:c(e)?`action`:`other`,cases:{origin:U,condition:W,step:V,launchExperience:K,action:G,__:(0,n.createEvent)()}}),(0,n.sample)({clock:[W.doneData,U.doneData,H.doneData,J.doneData,q.doneData,G.doneData],filter:Boolean,target:te}),(0,n.sample)({clock:p,target:J}),(0,n.sample)({clock:p,source:T,filter:Boolean,target:r.eventBus.prepend(e=>({type:`step_submit`,step:e,experience:Z}))}),(0,n.sample)({clock:J.done,source:T,filter:Boolean,target:r.eventBus.prepend(e=>({type:`step_submit_success`,step:e,experience:Z}))}),(0,n.sample)({clock:J.fail,source:T,filter:Boolean,target:r.eventBus.prepend(e=>({type:`step_submit_error`,step:e,experience:Z}))}),(0,n.sample)({clock:m,target:R}),(0,n.sample)({clock:h,target:z}),(0,n.sample)({clock:g,target:B}),(0,n.sample)({source:(0,n.combine)([W.pending,U.pending,H.pending,J.pending,q.pending,G.pending]),fn:e=>e.some(Boolean)?`transitioning`:`ready`,target:b}),(0,n.sample)({clock:V.doneData,source:T,filter:Boolean,target:r.eventBus.prepend(e=>({type:`step_enter`,step:e,experience:Z}))}),(0,n.sample)({clock:v,target:Y}),(0,n.sample)({source:Y.doneData,fn:Boolean,target:I}),(0,n.sample)({source:C,clock:f,filter:e=>!e||s(e),target:q}),(0,n.sample)({source:I,filter:Boolean,target:f}),(0,n.sample)({source:I,filter:Boolean,target:r.eventBus.prepend(()=>({type:`experience_open`,experience:Z}))}),(0,n.sample)({source:I,filter:e=>!e,target:r.eventBus.prepend(()=>({type:`experience_close`,experience:Z}))}),(0,n.sample)({clock:_,target:[v]}),_(),Z});function P(e){return(0,r.invoke)(N,e)}var F=(0,r.createFactory)(({client:e})=>{let r=M.store({}),i=(0,n.createEvent)(),a=(0,n.createEvent)(),o=(0,n.createEvent)(),s=(0,n.createApi)(r,{register(e,t){let n=[...e[t.experienceId]??[]];return n.push(t),{...e,[t.experienceId]:n}},unregister(e,t){let n=t.experienceId,r=e[n]?.filter(e=>e!==t);return{...e,[n]:r??[]}}}),c=(0,n.createEffect)(({experience:t,target:n,options:r})=>P({client:e,experience:t,target:n,options:r})),l=(0,n.createEffect)(e=>{s.register(e)}),u=(0,n.createEffect)(e=>{e.target&&t.o(e.target,()=>{o(e)})}),d=(0,n.createEffect)(e=>{s.unregister(e)}),f=(0,n.createEffect)(async e=>{await e.mountFx()});(0,n.sample)({clock:i,target:c}),(0,n.sample)({clock:o,target:d}),(0,n.sample)({clock:c.doneData,target:[l,u,a]}),(0,n.sample)({clock:c.doneData,target:e.eventBus.prepend(e=>({type:`experience_initialize`,experience:e}))}),(0,n.sample)({clock:a,target:f});function p(e,t,n){i({experience:e,target:t,options:n})}let m=r.map(e=>Object.values(e).flat());function h(e){return m.map(t=>t.filter(t=>t.experienceKey===e),{skipVoid:!1})}function g(e){return r.map(t=>t[e]||[],{skipVoid:!1})}return{spawn:p,getByExperienceKey:h,getByExperienceId:g,listStore:m}});function I(e){return(0,r.invoke)(F,e)}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return a}});
@@ -1 +0,0 @@
1
- require("./logger-CSTvAyyB.cjs");const e=require("./api-9gq3GBPF.cjs"),t=require("./registry-C1t8l3t9.cjs");function n(e,t){try{return e?.onRequest(t)??{}}catch{return{}}}function r(e,t){try{e.onSettled?.(t)}catch{}}async function i(e,t,i){let a=n(e?.(),t);try{let e=await i(a.headers);return r(a,e!==null),e}catch(e){throw r(a,!1),e}}var a=`bundle`,o=`api`;async function s(){try{let e=await import(`virtual:picked/data`);return t.r(e)?e:null}catch{return null}}function c(e){if(e===void 0||t.r(e))return e}function l(n){let{apiUrl:r,projectId:l,previewToken:u,signal:d,getRequestObserver:f}=n,p=!!u,m=p?o:n.mode,h=c(p?void 0:n.bundle),g=p?void 0:n.projectConfig,_=n.getContent,v={mode:m??o,manifest:null},y,b,x=new Map;function S(){if(m===o)return Promise.resolve(null);if(h)return Promise.resolve(h);let e=t.t();return e?Promise.resolve(e):(y??=s(),y)}function C(e){v.mode=e?a:o,v.manifest=e?e.manifestMetadata:null}async function w(){if(g)return C(await S()),g;let t=await S();return C(t),t?t.projectConfig:m===a?null:i(f,`project-config`,t=>e.n(r,l,{...u!==void 0&&{previewToken:u},...d!==void 0&&{signal:d},...t!==void 0&&{headers:t}}))}async function T(t,n){let o=u===void 0?void 0:{previewToken:u};if(_)return _(t,o);let s=await S();if(C(s),s)try{return await s.experienceContent(t,o)}catch{return`${t.id}`,null}if(m===a)return null;let c=n??d;return i(f,`experience-content`,n=>e.t(r,l,t.id,{...u!==void 0&&{previewToken:u},...c!==void 0&&{signal:c},...n!==void 0&&{headers:n}}))}return{meta:v,getProjectConfig:()=>(b??=w(),b),getContent:(e,t)=>{let n=x.get(e.id);if(n)return n;let r=T(e,t?.signal).finally(()=>{x.delete(e.id)});return x.set(e.id,r),r}}}exports.createPickedDataProvider=l;
@@ -1,11 +0,0 @@
1
- import type { Picked } from './picked';
2
- /**
3
- * Pings the server to track the last time the library was loaded.
4
- *
5
- * @param {Picked} client - The active Picked client instance.
6
- * @returns {Promise<boolean>} Whether the ping succeeded.
7
- * @example
8
- * await ping(client)
9
- */
10
- export declare const ping: (client: Picked) => Promise<boolean>;
11
- //# sourceMappingURL=ping.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ping.d.ts","sourceRoot":"","sources":["../../src/ping.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAKtC;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI,WAAkB,MAAM,KAAG,OAAO,CAAC,OAAO,CAoC1D,CAAA"}