@picked/client 0.0.1-dev.1787019239195 → 0.0.1-dev.1787543060859

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 (78) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/api-CahTmEWe.cjs +1 -0
  3. package/dist/api-DwTNwuWK.js +33 -0
  4. package/dist/cjs/index.js +2 -2
  5. package/dist/cjs/plugins/dynamic-experiences/index.js +1 -1
  6. package/dist/cjs/plugins/telemetry/index.js +1 -0
  7. package/dist/cjs/server/index.js +1 -1
  8. package/dist/docs/explanation/feature-flag-allocation.md +43 -1
  9. package/dist/docs/how-to/install-the-sdk.md +2 -2
  10. package/dist/docs/how-to/read-a-feature-flag.md +22 -10
  11. package/dist/docs/how-to/read-a-referenced-entry.md +4 -6
  12. package/dist/docs/how-to/render-a-step-form.md +3 -4
  13. package/dist/docs/how-to/switch-workspaces.md +1 -2
  14. package/dist/docs/reference/dashboard/features.mdx +45 -5
  15. package/dist/docs/reference/delivery-api/workspace-schema.md +12 -1
  16. package/dist/docs/reference/pickedql/dimensions.md +6 -0
  17. package/dist/docs/reference/pickedql/virtual-functions.md +16 -5
  18. package/dist/docs/reference/sdk/content.md +6 -9
  19. package/dist/docs/reference/sdk/features.md +24 -6
  20. package/dist/docs/reference/sdk/steps.md +3 -4
  21. package/dist/docs/reference/sdk/type-generation.md +18 -4
  22. package/dist/docs/reference/tools/cli.md +3 -5
  23. package/dist/docs/reference/tools/vite-plugin.md +1 -5
  24. package/dist/docs/tutorials/first-experience.mdx +4 -5
  25. package/dist/emit-D-tLiWL1.cjs +1 -0
  26. package/dist/emit-Ds2EG7CB.js +14 -0
  27. package/dist/esm/index.js +275 -490
  28. package/dist/esm/plugins/dynamic-experiences/index.js +2 -2
  29. package/dist/esm/plugins/telemetry/index.js +101 -0
  30. package/dist/esm/server/index.js +1 -1
  31. package/dist/plugin-BcFzHPC7.cjs +1 -0
  32. package/dist/{plugin-Bb2fJVFr.js → plugin-L5y4NdFX.js} +83 -47
  33. package/dist/{provider-DZEDUlIk.cjs → provider-BLDm3i8g.cjs} +1 -1
  34. package/dist/{provider-B8vTLrFT.js → provider-Dx6VjvZg.js} +1 -1
  35. package/dist/request-observer-BXDfOU0V.cjs +1 -0
  36. package/dist/request-observer-DtG0cRfz.js +19 -0
  37. package/dist/types/data-source/api.d.ts.map +1 -1
  38. package/dist/types/data-source/provider.d.ts +11 -1
  39. package/dist/types/data-source/provider.d.ts.map +1 -1
  40. package/dist/types/data-source/request-observer.d.ts +46 -0
  41. package/dist/types/data-source/request-observer.d.ts.map +1 -0
  42. package/dist/types/entities/feature/feature.d.ts +53 -5
  43. package/dist/types/entities/feature/feature.d.ts.map +1 -1
  44. package/dist/types/entities/plugin/plugin.d.ts +4 -0
  45. package/dist/types/entities/plugin/plugin.d.ts.map +1 -1
  46. package/dist/types/index.d.ts +1 -1
  47. package/dist/types/index.d.ts.map +1 -1
  48. package/dist/types/lifecycle/lifecycle.d.ts.map +1 -1
  49. package/dist/types/picked.d.ts +13 -2
  50. package/dist/types/picked.d.ts.map +1 -1
  51. package/dist/types/plugins/dynamic-experiences/hash.d.ts +53 -1
  52. package/dist/types/plugins/dynamic-experiences/hash.d.ts.map +1 -1
  53. package/dist/types/plugins/dynamic-experiences/index.d.ts +1 -0
  54. package/dist/types/plugins/dynamic-experiences/index.d.ts.map +1 -1
  55. package/dist/types/plugins/dynamic-experiences/plugin.d.ts +1 -1
  56. package/dist/types/plugins/dynamic-experiences/plugin.d.ts.map +1 -1
  57. package/dist/types/plugins/dynamic-experiences/types.d.ts +3 -4
  58. package/dist/types/plugins/dynamic-experiences/types.d.ts.map +1 -1
  59. package/dist/types/plugins/telemetry/emit.d.ts +18 -0
  60. package/dist/types/plugins/telemetry/emit.d.ts.map +1 -0
  61. package/dist/types/plugins/telemetry/index.d.ts +4 -0
  62. package/dist/types/plugins/telemetry/index.d.ts.map +1 -0
  63. package/dist/types/plugins/telemetry/plugin-summary.d.ts +10 -0
  64. package/dist/types/plugins/telemetry/plugin-summary.d.ts.map +1 -0
  65. package/dist/types/plugins/telemetry/plugin.d.ts +36 -0
  66. package/dist/types/plugins/telemetry/plugin.d.ts.map +1 -0
  67. package/dist/types/schema-registry.d.ts +16 -0
  68. package/dist/types/schema-registry.d.ts.map +1 -1
  69. package/dist/types/utils/user-timing.d.ts +18 -0
  70. package/dist/types/utils/user-timing.d.ts.map +1 -0
  71. package/dist/version-BqU6f22c.cjs +1 -0
  72. package/dist/version-DAFO6eas.js +256 -0
  73. package/package.json +16 -4
  74. package/dist/api-TWnRLh3X.cjs +0 -1
  75. package/dist/api-uttjU_Tg.js +0 -22
  76. package/dist/plugin-hFQIiHOB.cjs +0 -1
  77. package/dist/version-CfTz7TK0.cjs +0 -1
  78. package/dist/version-DjCWhJD5.js +0 -4
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "@picked/client",
3
- "version": "0.0.1-dev.1787019239195",
3
+ "version": "0.0.1-dev.1787543060859",
4
4
  "dependencies": {
5
- "@picked/delivery-api-client": "0.0.1-dev.1787019239195",
6
- "@withease/factories": "^1.0.5"
5
+ "@picked/delivery-api-client": "0.0.1-dev.1787543060859",
6
+ "@withease/factories": "^1.0.5",
7
+ "@picked/telemetry": "0.0.1-dev.1787543060859"
7
8
  },
8
9
  "devDependencies": {
9
10
  "@repo/eslint-config": "workspace:*",
@@ -106,6 +107,12 @@
106
107
  "import": "./dist/esm/form/index.js",
107
108
  "require": "./dist/cjs/form/index.js",
108
109
  "default": "./dist/esm/form/index.js"
110
+ },
111
+ "./plugins/telemetry": {
112
+ "types": "./dist/types/plugins/telemetry/index.d.ts",
113
+ "import": "./dist/esm/plugins/telemetry/index.js",
114
+ "require": "./dist/cjs/plugins/telemetry/index.js",
115
+ "default": "./dist/esm/plugins/telemetry/index.js"
109
116
  }
110
117
  },
111
118
  "files": [
@@ -173,7 +180,7 @@
173
180
  "size-limit": [
174
181
  {
175
182
  "path": "dist/esm/index.js",
176
- "limit": "18 kB",
183
+ "limit": "20 kB",
177
184
  "name": "index (incl. lazily-loaded preview channel and data provider; see AGENTS.md)"
178
185
  },
179
186
  {
@@ -224,6 +231,11 @@
224
231
  {
225
232
  "path": "dist/esm/form/index.js",
226
233
  "limit": "5 kB"
234
+ },
235
+ {
236
+ "path": "dist/esm/plugins/telemetry/index.js",
237
+ "limit": "3 kB",
238
+ "name": "telemetry plugin (opt-in; emitter loads as a separate chunk)"
227
239
  }
228
240
  ],
229
241
  "type": "module",
@@ -1 +0,0 @@
1
- require("./logger-CSTvAyyB.cjs");const e=require("./version-CfTz7TK0.cjs");let t=require("@picked/delivery-api-client");function n(n){return{...n,headers:{...(0,t.createClientHeaders)(`sdk`,e.t()),...n?.headers},onWarn:(e,t)=>{}}}async function r(e,r,i){return(0,t.fetchProject)(e,r,n(i))}async function i(e,r,i,a){return(0,t.fetchExperienceContent)(e,r,i,n(a))}Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return i}});
@@ -1,22 +0,0 @@
1
- import "./logger-DMN6TxJJ.js";
2
- import { t as e } from "./version-DjCWhJD5.js";
3
- import { createClientHeaders as t, fetchExperienceContent as n, fetchProject as r } from "@picked/delivery-api-client";
4
- //#region src/data-source/api.ts
5
- function i(n) {
6
- return {
7
- ...n,
8
- headers: {
9
- ...t("sdk", e()),
10
- ...n?.headers
11
- },
12
- onWarn: (e, t) => {}
13
- };
14
- }
15
- async function a(e, t, n) {
16
- return r(e, t, i(n));
17
- }
18
- async function o(e, t, r, a) {
19
- return n(e, t, r, i(a));
20
- }
21
- //#endregion
22
- export { a as n, o as t };
@@ -1 +0,0 @@
1
- require("./logger-CSTvAyyB.cjs"),require("./api-TWnRLh3X.cjs");let e=require("effector");function t(e){let t=2166136261;for(let n of e)t^=n.codePointAt(0)??0,t=Math.imul(t,16777619);return t>>>0}function n(e){let t=e;return t^=t>>>16,t=Math.imul(t,2246822507),t^=t>>>13,t=Math.imul(t,3266489909),t^=t>>>16,t>>>0}function r(e,r){return n(t(`${e}:${r}`))%100}function i(e,t){return t<=0?!1:t>=100||e<t}function a(e,t){if(Array.isArray(t.conditions))for(let n of t.conditions)e.registerCondition(n)}function o(e,t){e.registerExperience({id:t.id,key:t.key,name:t.name,targets:t.targets,nodes:t.nodes,edges:t.edges,condition:t.condition,initializeOpen:t.initializeOpen,componentName:t.componentName})}function s(e){return typeof e!=`object`||!e?!1:`id`in e&&`key`in e&&`type`in e&&`name`in e}function c(e,t){if(Array.isArray(t.fields))for(let n of t.fields)s(n)&&e.registerField(n)}function l(e,t){if(!Array.isArray(t.steps))return;let n=new Map(t.fields.map(e=>[e.id,e.key]));for(let r of t.steps){let t=[];for(let e of r.fieldIds??[]){let i=n.get(e);if(i===void 0){`${r.key}${e}`;continue}t.push(i)}let i=r.layoutContentId?e.contents.getById(r.layoutContentId):null;e.registerStep({id:r.id,key:r.key,name:r.name,fieldKeys:t,layoutName:r.layoutName,...r.layoutContentId!==void 0&&{layoutContentId:r.layoutContentId,layoutContentStore:i}})}}function u(e,t){if(Array.isArray(t.experiences))for(let n of t.experiences)o(e,n)}function d(e,t,n){m(e,t,n.isPreview,n.sessionId),a(e,t),c(e,t),l(e,t),u(e,t)}function f(e){let t=e.searchParams[`preview-token`];if(t&&t.length>0)return t[0]}function p(e){let t=new Set,n=e.searchParams.feature;if(!n)return t;for(let e of n){let n=e.indexOf(`:`);n>0&&t.add(e.substring(0,n))}return t}function m(e,t,n,r){let i=p(e);for(let a of t.features)i.has(a.id)||h(e,a,n,r)}function h(e,t,n,a){let o=r(a,t.id);e.registerFeature(t.id,{key:`v${t.version}`,name:t.name,enabled:t.enabled,weight:t.weight,storage:n?`session`:`local`,decide:()=>i(o,t.weight)})}function g(e,t){for(let n of[...t.references??[],...t.content])e.registerContent({id:n.id,contentModelKey:n.contentModelKey,data:n.data})}function _(e,t){let n=new Map;return(r,i)=>{let a=n.get(r.id);if(a)return a;let o=(async()=>{try{let n=await t(r,i);return n&&g(e,n),n}finally{n.delete(r.id)}})();return n.set(r.id,o),o}}function v(e,t){let n=new Set(t&&Array.isArray(t.experiences)?t.experiences.map(e=>e.id):[]);return(t,r)=>n.has(t.id)?e(t,r):Promise.resolve(null)}function y(){return{name:`dynamic-experiences`,setup:t=>({onStart:(0,e.attach)({source:t.session.store.map(e=>e.id),effect:async e=>{let n=f(t),r=n!==void 0,i=n===void 0?void 0:{previewToken:n},a=await t.getProjectConfig(n===void 0?void 0:{previewToken:n}).catch(e=>null);if(t.contentLoader=_(t,v(e=>t.getExperienceContent(e,i),a)),!a)return;let o=t.seededVersionId;if(o!==null&&o!==a.versionId){t.versionSkew={seeded:o,resolved:a.versionId},`${a.versionId}${o}`;return}t.previewEmbedderOrigins=a.previewEmbedderOrigins??null,d(t,a,{isPreview:r,sessionId:e})}})})}}Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return y}});
@@ -1 +0,0 @@
1
- var e=()=>`0.0.1-dev.1787019239195`;Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return e}});
@@ -1,4 +0,0 @@
1
- //#region src/utils/version.ts
2
- var e = () => "0.0.1-dev.1787019239195";
3
- //#endregion
4
- export { e as t };