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

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 (59) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/api-9gq3GBPF.cjs +1 -0
  3. package/dist/api-DU4j3Qw0.js +22 -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/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/fill-and-publish-a-page.md +18 -2
  11. package/dist/docs/reference/dashboard/content/pages.mdx +25 -0
  12. package/dist/docs/reference/delivery-api/preview-caching-crawling.md +1 -1
  13. package/dist/docs/reference/sdk/features.md +7 -0
  14. package/dist/docs/reference/sdk/fields.md +30 -16
  15. package/dist/esm/index.js +266 -493
  16. package/dist/esm/plugins/dynamic-experiences/index.js +2 -2
  17. package/dist/esm/plugins/responses-browser-storage/index.js +2 -2
  18. package/dist/esm/plugins/responses-indexeddb/index.js +1 -1
  19. package/dist/esm/plugins/telemetry/index.js +48 -45
  20. package/dist/esm/server/index.js +1 -1
  21. package/dist/{plugin-DTN7fsyp.js → plugin-CYXHEafF.js} +73 -52
  22. package/dist/plugin-rwzR9hVc.cjs +1 -0
  23. package/dist/provider-BWDd3oaq.js +94 -0
  24. package/dist/provider-lgLyP_0N.cjs +1 -0
  25. package/dist/types/data-source/api.d.ts.map +1 -1
  26. package/dist/types/data-source/provider.d.ts +3 -0
  27. package/dist/types/data-source/provider.d.ts.map +1 -1
  28. package/dist/types/data-source/request-observer.d.ts +24 -12
  29. package/dist/types/data-source/request-observer.d.ts.map +1 -1
  30. package/dist/types/entities/feature/feature.d.ts +43 -2
  31. package/dist/types/entities/feature/feature.d.ts.map +1 -1
  32. package/dist/types/entities/field/field.d.ts +6 -0
  33. package/dist/types/entities/field/field.d.ts.map +1 -1
  34. package/dist/types/entities/plugin/plugin.d.ts +4 -0
  35. package/dist/types/entities/plugin/plugin.d.ts.map +1 -1
  36. package/dist/types/lifecycle/lifecycle.d.ts.map +1 -1
  37. package/dist/types/picked.d.ts +14 -6
  38. package/dist/types/picked.d.ts.map +1 -1
  39. package/dist/types/plugins/dynamic-experiences/plugin.d.ts.map +1 -1
  40. package/dist/types/plugins/responses-browser-storage/plugin.d.ts.map +1 -1
  41. package/dist/types/plugins/responses-indexeddb/plugin.d.ts.map +1 -1
  42. package/dist/types/plugins/telemetry/emit.d.ts +3 -3
  43. package/dist/types/plugins/telemetry/emit.d.ts.map +1 -1
  44. package/dist/types/plugins/telemetry/plugin.d.ts +16 -0
  45. package/dist/types/plugins/telemetry/plugin.d.ts.map +1 -1
  46. package/dist/types/utils/user-timing.d.ts +16 -13
  47. package/dist/types/utils/user-timing.d.ts.map +1 -1
  48. package/dist/version-BaI_1eQx.cjs +1 -0
  49. package/dist/version-DXDZM7eT.js +256 -0
  50. package/package.json +3 -3
  51. package/dist/api-4YpcWP-x.js +0 -33
  52. package/dist/api-DRTduQVm.cjs +0 -1
  53. package/dist/plugin-BPZV7SJg.cjs +0 -1
  54. package/dist/provider-BxhVIcsp.cjs +0 -1
  55. package/dist/provider-DLebj-AW.js +0 -69
  56. package/dist/request-observer-BXDfOU0V.cjs +0 -1
  57. package/dist/request-observer-DtG0cRfz.js +0 -19
  58. package/dist/version-BlahSDlG.cjs +0 -1
  59. package/dist/version-BmBn0dXR.js +0 -4
@@ -1,5 +1,5 @@
1
- import { t as e } from "../../../plugin-DTN7fsyp.js";
2
- import { n as t, t as n } from "../../../api-4YpcWP-x.js";
1
+ import { t as e } from "../../../plugin-CYXHEafF.js";
2
+ import { n as t, t as n } from "../../../api-DU4j3Qw0.js";
3
3
  import { n as r } from "../../../registry-CXZv0uLg.js";
4
4
  import { createClientHeaders as i, fetchSchema as a } from "@picked/delivery-api-client";
5
5
  export { i as createClientHeaders, e as dynamicExperiencesPlugin, n as fetchExperienceContent, t as fetchProject, a as fetchSchema, r as registerPickedBundle };
@@ -4,7 +4,7 @@ import { attach as i, createEffect as a, sample as o } from "effector";
4
4
  //#region src/plugins/responses-browser-storage/plugin.ts
5
5
  var s = r("responses", "global");
6
6
  function c(e, t) {
7
- return Object.fromEntries(Object.entries(e).flatMap(([e, n]) => t.find((t) => t.key === e)?.policies?.doNotStoreValue ? [] : [[e, n]]));
7
+ return Object.fromEntries(Object.entries(e).flatMap(([e, n]) => t.find((t) => t.key === e)?.policies?.doNotStoreValue === !1 ? [[e, n]] : []));
8
8
  }
9
9
  var l = ({ storage: r = "local" } = {}) => ({
10
10
  name: "responses-browser-storage-plugin",
@@ -20,7 +20,7 @@ var l = ({ storage: r = "local" } = {}) => ({
20
20
  fields: l.fields.listStore
21
21
  },
22
22
  effect: ({ responses: e, fields: t }) => {
23
- u.set(s, c(e, t));
23
+ t.length !== 0 && u.set(s, c(e, t));
24
24
  }
25
25
  });
26
26
  o({
@@ -69,7 +69,7 @@ var l = "responses", u = {
69
69
  fields: r.fields.listStore
70
70
  },
71
71
  fn: ({ responses: e, fields: t }) => {
72
- let n = new Set(t.filter((e) => !e.policies?.doNotStoreValue).map((e) => e.key));
72
+ let n = new Set(t.filter((e) => e.policies?.doNotStoreValue === !1).map((e) => e.key));
73
73
  return e.filter((e) => n.has(e.fieldKey)).map((e) => ({
74
74
  fieldKey: e.fieldKey,
75
75
  value: e.value
@@ -1,15 +1,14 @@
1
1
  import { f as e, p as t } from "../../../supports-CO9bJGNl.js";
2
- import { n } from "../../../request-observer-DtG0cRfz.js";
3
- import { createSpanId as r, createTraceId as i, formatTraceparent as a, toUnixNano as o } from "@picked/telemetry";
2
+ import { createSpanId as n, createTraceId as r, formatTraceparent as i, toUnixNano as a } from "@picked/telemetry";
4
3
  //#region src/plugins/telemetry/plugin-summary.ts
5
- var s = 100;
6
- function c(e) {
7
- return [...e].sort((e, t) => e.localeCompare(t)).slice(0, s);
4
+ var o = 100;
5
+ function s(e) {
6
+ return [...e].sort((e, t) => e.localeCompare(t)).slice(0, o);
8
7
  }
9
8
  //#endregion
10
9
  //#region src/plugins/telemetry/plugin.ts
11
- var l = "telemetry", u = "https://production.otel.picked.app/v1/traces", d = "picked:start";
12
- function f() {
10
+ var c = "telemetry", l = 5e3;
11
+ function u() {
13
12
  try {
14
13
  let e = t.navigator;
15
14
  return "globalPrivacyControl" in e && e.globalPrivacyControl === !0 || e.doNotTrack === "1";
@@ -17,72 +16,76 @@ function f() {
17
16
  return !1;
18
17
  }
19
18
  }
20
- function p() {
21
- try {
22
- return performance.getEntriesByName(d, "measure").at(-1);
23
- } catch {
24
- return;
25
- }
26
- }
27
- function m() {
19
+ function d() {
28
20
  return performance.timeOrigin + performance.now();
29
21
  }
30
- function h(t) {
22
+ function f(e) {
23
+ try {
24
+ t.addEventListener("pagehide", e), t.document.addEventListener("visibilitychange", () => {
25
+ t.document.visibilityState === "hidden" && e();
26
+ });
27
+ } catch {}
28
+ }
29
+ function p(t) {
31
30
  return {
32
- name: l,
33
- setup: (s) => {
34
- if (!e() || f() || !(Math.random() < (t?.sampleRate ?? 1))) return;
35
- let c = t?.endpoint ?? u, l = i(), d = r(), h = [];
36
- n({ onRequest: (e) => {
37
- let t = r(), n = m();
31
+ name: c,
32
+ setup: (o) => {
33
+ if (!e() || u() || !(Math.random() < (t?.sampleRate ?? 1))) return;
34
+ let s = t?.endpoint, c = r(), p = n(), _ = [], v, y = () => {
35
+ clearTimeout(v), v = void 0, g(s, m(o), _);
36
+ }, b = () => {
37
+ v ??= setTimeout(y, l);
38
+ };
39
+ f(y), o.setDeliveryRequestObserver({ onRequest: (e) => {
40
+ let t = n(), r = d();
38
41
  return {
39
- headers: { traceparent: a(l, t, !0) },
40
- onSettled: (r) => {
41
- h.push({
42
+ headers: { traceparent: i(c, t, !0) },
43
+ onSettled: (n) => {
44
+ _.push({
42
45
  name: `picked.delivery.${e}`,
43
- traceId: l,
46
+ traceId: c,
44
47
  spanId: t,
45
- parentSpanId: d,
46
- startTimeUnixNano: o(n),
47
- endTimeUnixNano: o(m()),
48
+ parentSpanId: p,
49
+ startTimeUnixNano: a(r),
50
+ endTimeUnixNano: a(d()),
48
51
  attributes: { "picked.endpoint": e },
49
- status: r ? "ok" : "error"
50
- });
52
+ status: n ? "ok" : "error"
53
+ }), _.length >= 50 ? y() : b();
51
54
  }
52
55
  };
53
- } }), s.eventBus.watch((e) => {
56
+ } }), o.eventBus.watch((e) => {
54
57
  if (e.type !== "ready") return;
55
- let t = p();
58
+ let t = o.performance.startMeasure;
56
59
  if (t) {
57
60
  let e = performance.timeOrigin + t.startTime;
58
- h.push({
61
+ _.push({
59
62
  name: "picked.start",
60
- traceId: l,
61
- spanId: d,
62
- startTimeUnixNano: o(e),
63
- endTimeUnixNano: o(e + t.duration),
64
- attributes: _(s),
63
+ traceId: c,
64
+ spanId: p,
65
+ startTimeUnixNano: a(e),
66
+ endTimeUnixNano: a(e + t.duration),
67
+ attributes: h(o),
65
68
  status: "ok"
66
69
  });
67
70
  }
68
- v(c, g(s), h);
71
+ y();
69
72
  });
70
73
  }
71
74
  };
72
75
  }
73
- function g(e) {
76
+ function m(e) {
74
77
  return {
75
78
  "service.name": "picked-sdk",
76
79
  "picked.project_id": e.projectId
77
80
  };
78
81
  }
79
- function _(e) {
82
+ function h(e) {
80
83
  return {
81
84
  "picked.data.mode": e.dataSource ? "bundle" : "api",
82
- "picked.sdk.plugins": c(e.pluginNames).join(",")
85
+ "picked.sdk.plugins": s(Object.keys(e.plugins)).join(",")
83
86
  };
84
87
  }
85
- async function v(e, t, n) {
88
+ async function g(e, t, n) {
86
89
  if (n.length === 0) return;
87
90
  let r = n.splice(0, n.length);
88
91
  try {
@@ -91,4 +94,4 @@ async function v(e, t, n) {
91
94
  } catch {}
92
95
  }
93
96
  //#endregion
94
- export { l as TELEMETRY_PLUGIN_NAME, h as telemetryPlugin };
97
+ export { c as TELEMETRY_PLUGIN_NAME, p as telemetryPlugin };
@@ -1,5 +1,5 @@
1
1
  import { a as e, c as t, i as n, o as r, s as i, t as a, u as o } from "../../experience-instance-DGk11d8a.js";
2
- import { n as s } from "../../plugin-DTN7fsyp.js";
2
+ import { n as s } from "../../plugin-CYXHEafF.js";
3
3
  import { attach as c, createEffect as l, createEvent as u, createStore as d, sample as f } from "effector";
4
4
  //#region src/server/serialize.ts
5
5
  var p = 1e4;
@@ -1,43 +1,44 @@
1
1
  import "./logger-DMN6TxJJ.js";
2
- import "./api-4YpcWP-x.js";
3
- import { attach as e } from "effector";
2
+ import { r as e } from "./version-DXDZM7eT.js";
3
+ import "./api-DU4j3Qw0.js";
4
+ import { attach as t } from "effector";
4
5
  //#region src/plugins/dynamic-experiences/hash.ts
5
- function t(e) {
6
+ function n(e) {
6
7
  let t = 2166136261;
7
8
  for (let n of e) t ^= n.codePointAt(0) ?? 0, t = Math.imul(t, 16777619);
8
9
  return t >>> 0;
9
10
  }
10
- function n(e) {
11
+ function r(e) {
11
12
  let t = e;
12
13
  return t ^= t >>> 16, t = Math.imul(t, 2246822507), t ^= t >>> 13, t = Math.imul(t, 3266489909), t ^= t >>> 16, t >>> 0;
13
14
  }
14
- function r(e, r) {
15
- return n(t(`${e}:${r}`)) % 100;
16
- }
17
15
  function i(e, t) {
18
- return t <= 0 ? !1 : t >= 100 || e < t;
16
+ return r(n(`${e}:${t}`)) % 100;
19
17
  }
20
- var a = 4294967296;
21
- function o(e, r, i) {
22
- return (n(t(`${e}:${r}:${i}`)) + .5) / a;
18
+ function a(e, t) {
19
+ return t <= 0 ? !1 : t >= 100 || e < t;
23
20
  }
24
- function s(e, t, n) {
25
- return n.weight <= 0 ? 0 : n.weight / -Math.log(o(e, t, n.key));
21
+ var o = 4294967296;
22
+ function s(e, t, i) {
23
+ return (r(n(`${e}:${t}:${i}`)) + .5) / o;
26
24
  }
27
25
  function c(e, t, n) {
26
+ return n.weight <= 0 ? 0 : n.weight / -Math.log(s(e, t, n.key));
27
+ }
28
+ function l(e, t, n) {
28
29
  let r = null, i = 0;
29
30
  for (let a of n) {
30
- let n = s(e, t, a);
31
+ let n = c(e, t, a);
31
32
  n <= 0 || (n > i || n === i && r !== null && a.key < r.key) && (i = n, r = a);
32
33
  }
33
34
  return r;
34
35
  }
35
36
  //#endregion
36
37
  //#region src/plugins/dynamic-experiences/plugin.ts
37
- function l(e, t) {
38
+ function u(e, t) {
38
39
  if (Array.isArray(t.conditions)) for (let n of t.conditions) e.registerCondition(n);
39
40
  }
40
- function u(e, t) {
41
+ function d(e, t) {
41
42
  e.registerExperience({
42
43
  id: t.id,
43
44
  key: t.key,
@@ -50,13 +51,13 @@ function u(e, t) {
50
51
  componentName: t.componentName
51
52
  });
52
53
  }
53
- function d(e) {
54
+ function f(e) {
54
55
  return typeof e != "object" || !e ? !1 : "id" in e && "key" in e && "type" in e && "name" in e;
55
56
  }
56
- function f(e, t) {
57
- if (Array.isArray(t.fields)) for (let n of t.fields) d(n) && e.registerField(n);
58
- }
59
57
  function p(e, t) {
58
+ if (Array.isArray(t.fields)) for (let n of t.fields) f(n) && e.registerField(n);
59
+ }
60
+ function m(e, t) {
60
61
  if (!Array.isArray(t.steps)) return;
61
62
  let n = new Map(t.fields.map((e) => [e.id, e.key]));
62
63
  for (let r of t.steps) {
@@ -83,30 +84,48 @@ function p(e, t) {
83
84
  });
84
85
  }
85
86
  }
86
- function m(e, t) {
87
- if (Array.isArray(t.experiences)) for (let n of t.experiences) u(e, n);
87
+ function h(e, t) {
88
+ if (Array.isArray(t.experiences)) for (let n of t.experiences) d(e, n);
88
89
  }
89
- function h(e, t, n) {
90
- v(e, t, n.isPreview, n.sessionId), l(e, t), f(e, t), p(e, t), m(e, t);
90
+ function g(e, t, n) {
91
+ y(e, t, n.isPreview, n.sessionId), u(e, t), p(e, t), m(e, t), h(e, t);
91
92
  }
92
- function g(e) {
93
+ function _(e) {
93
94
  let t = e.searchParams["preview-token"];
94
95
  if (t && t.length > 0) return t[0];
95
96
  }
96
- function _(e) {
97
- let t = /* @__PURE__ */ new Set(), n = e.searchParams.feature;
98
- if (!n) return t;
99
- for (let e of n) {
100
- let n = e.indexOf(":");
101
- n > 0 && t.add(e.substring(0, n));
97
+ function v(t) {
98
+ let n = /* @__PURE__ */ new Map(), r = t.searchParams.feature;
99
+ if (!r) return n;
100
+ for (let t of r) {
101
+ let r = e(t);
102
+ r && n.set(r.id, r.bucket);
103
+ }
104
+ return n;
105
+ }
106
+ function y(e, t, n, r) {
107
+ let i = v(e);
108
+ for (let a of t.features) {
109
+ let t = i.get(a.id);
110
+ if (t !== void 0) {
111
+ b(e, a, t);
112
+ continue;
113
+ }
114
+ x(e, a, n, r);
102
115
  }
103
- return t;
104
116
  }
105
- function v(e, t, n, r) {
106
- let i = _(e);
107
- for (let a of t.features) i.has(a.id) || y(e, a, n, r);
117
+ function b(e, t, n) {
118
+ e.registerFeature(t.id, {
119
+ key: `${n}`,
120
+ name: t.name,
121
+ weight: t.weight,
122
+ ...t.valueType !== void 0 && { valueType: t.valueType },
123
+ ...t.variants !== void 0 && { variants: t.variants },
124
+ storage: "session",
125
+ decide: () => n
126
+ });
108
127
  }
109
- function y(e, t, n, a) {
128
+ function x(e, t, n, r) {
110
129
  let o = t.id, s = t.variants;
111
130
  e.registerFeature(o, {
112
131
  key: `v${t.version}`,
@@ -114,17 +133,19 @@ function y(e, t, n, a) {
114
133
  enabled: t.enabled,
115
134
  weight: t.weight,
116
135
  storage: n ? "session" : "local",
117
- decide: () => t.valueType === "text" ? !s || s.length === 0 ? (`${o}`, !1) : c(a, o, s)?.value ?? !1 : i(r(a, o), t.weight)
136
+ valueType: t.valueType,
137
+ variants: s,
138
+ decide: () => t.valueType === "text" ? !s || s.length === 0 ? (`${o}`, !1) : l(r, o, s)?.value ?? !1 : a(i(r, o), t.weight)
118
139
  });
119
140
  }
120
- function b(e, t) {
141
+ function S(e, t) {
121
142
  for (let n of [...t.references ?? [], ...t.content]) e.registerContent({
122
143
  id: n.id,
123
144
  contentModelKey: n.contentModelKey,
124
145
  data: n.data
125
146
  });
126
147
  }
127
- function x(e, t) {
148
+ function C(e, t) {
128
149
  let n = /* @__PURE__ */ new Map();
129
150
  return (r, i) => {
130
151
  let a = n.get(r.id);
@@ -132,7 +153,7 @@ function x(e, t) {
132
153
  let o = (async () => {
133
154
  try {
134
155
  let n = await t(r, i);
135
- return n && b(e, n), n;
156
+ return n && S(e, n), n;
136
157
  } finally {
137
158
  n.delete(r.id);
138
159
  }
@@ -140,33 +161,33 @@ function x(e, t) {
140
161
  return n.set(r.id, o), o;
141
162
  };
142
163
  }
143
- function S(e, t) {
164
+ function w(e, t) {
144
165
  let n = new Set(t && Array.isArray(t.experiences) ? t.experiences.map((e) => e.id) : []);
145
166
  return (t, r) => n.has(t.id) ? e(t, r) : Promise.resolve(null);
146
167
  }
147
- function C() {
168
+ function T() {
148
169
  return {
149
170
  name: "dynamic-experiences",
150
- setup: (t) => ({ onStart: e({
151
- source: t.session.store.map((e) => e.id),
152
- effect: async (e) => {
153
- let n = g(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);
154
- if (t.contentLoader = x(t, S((e) => t.getExperienceContent(e, i), a)), !a) return;
155
- let o = t.seededVersionId;
171
+ setup: (e) => ({ onStart: t({
172
+ source: e.session.store.map((e) => e.id),
173
+ effect: async (t) => {
174
+ let n = _(e), r = n !== void 0, i = n === void 0 ? void 0 : { previewToken: n }, a = await e.getProjectConfig(n === void 0 ? void 0 : { previewToken: n }).catch((e) => null);
175
+ if (e.contentLoader = C(e, w((t) => e.getExperienceContent(t, i), a)), !a) return;
176
+ let o = e.seededVersionId;
156
177
  if (o !== null && o !== a.versionId) {
157
- t.versionSkew = {
178
+ e.versionSkew = {
158
179
  seeded: o,
159
180
  resolved: a.versionId
160
181
  }, `${a.versionId}${o}`;
161
182
  return;
162
183
  }
163
- t.previewEmbedderOrigins = a.previewEmbedderOrigins ?? null, h(t, a, {
184
+ e.previewEmbedderOrigins = a.previewEmbedderOrigins ?? null, g(e, a, {
164
185
  isPreview: r,
165
- sessionId: e
186
+ sessionId: t
166
187
  });
167
188
  }
168
189
  }) })
169
190
  };
170
191
  }
171
192
  //#endregion
172
- export { h as n, C as t };
193
+ export { g as n, T as t };
@@ -0,0 +1 @@
1
+ require("./logger-CSTvAyyB.cjs");const e=require("./version-BaI_1eQx.cjs");require("./api-9gq3GBPF.cjs");let t=require("effector");function n(e){let t=2166136261;for(let n of e)t^=n.codePointAt(0)??0,t=Math.imul(t,16777619);return t>>>0}function r(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 i(e,t){return r(n(`${e}:${t}`))%100}function a(e,t){return t<=0?!1:t>=100||e<t}var o=4294967296;function s(e,t,i){return(r(n(`${e}:${t}:${i}`))+.5)/o}function c(e,t,n){return n.weight<=0?0:n.weight/-Math.log(s(e,t,n.key))}function l(e,t,n){let r=null,i=0;for(let a of n){let n=c(e,t,a);n<=0||(n>i||n===i&&r!==null&&a.key<r.key)&&(i=n,r=a)}return r}function u(e,t){if(Array.isArray(t.conditions))for(let n of t.conditions)e.registerCondition(n)}function d(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 f(e){return typeof e!=`object`||!e?!1:`id`in e&&`key`in e&&`type`in e&&`name`in e}function p(e,t){if(Array.isArray(t.fields))for(let n of t.fields)f(n)&&e.registerField(n)}function m(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 h(e,t){if(Array.isArray(t.experiences))for(let n of t.experiences)d(e,n)}function g(e,t,n){y(e,t,n.isPreview,n.sessionId),u(e,t),p(e,t),m(e,t),h(e,t)}function _(e){let t=e.searchParams[`preview-token`];if(t&&t.length>0)return t[0]}function v(t){let n=new Map,r=t.searchParams.feature;if(!r)return n;for(let t of r){let r=e.r(t);r&&n.set(r.id,r.bucket)}return n}function y(e,t,n,r){let i=v(e);for(let a of t.features){let t=i.get(a.id);if(t!==void 0){b(e,a,t);continue}x(e,a,n,r)}}function b(e,t,n){e.registerFeature(t.id,{key:`${n}`,name:t.name,weight:t.weight,...t.valueType!==void 0&&{valueType:t.valueType},...t.variants!==void 0&&{variants:t.variants},storage:`session`,decide:()=>n})}function x(e,t,n,r){let o=t.id,s=t.variants;e.registerFeature(o,{key:`v${t.version}`,name:t.name,enabled:t.enabled,weight:t.weight,storage:n?`session`:`local`,valueType:t.valueType,variants:s,decide:()=>t.valueType===`text`?!s||s.length===0?(`${o}`,!1):l(r,o,s)?.value??!1:a(i(r,o),t.weight)})}function S(e,t){for(let n of[...t.references??[],...t.content])e.registerContent({id:n.id,contentModelKey:n.contentModelKey,data:n.data})}function C(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&&S(e,n),n}finally{n.delete(r.id)}})();return n.set(r.id,o),o}}function w(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 T(){return{name:`dynamic-experiences`,setup:e=>({onStart:(0,t.attach)({source:e.session.store.map(e=>e.id),effect:async t=>{let n=_(e),r=n!==void 0,i=n===void 0?void 0:{previewToken:n},a=await e.getProjectConfig(n===void 0?void 0:{previewToken:n}).catch(e=>null);if(e.contentLoader=C(e,w(t=>e.getExperienceContent(t,i),a)),!a)return;let o=e.seededVersionId;if(o!==null&&o!==a.versionId){e.versionSkew={seeded:o,resolved:a.versionId},`${a.versionId}${o}`;return}e.previewEmbedderOrigins=a.previewEmbedderOrigins??null,g(e,a,{isPreview:r,sessionId:t})}})})}}Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return T}});
@@ -0,0 +1,94 @@
1
+ import "./logger-DMN6TxJJ.js";
2
+ import { n as e, t } from "./api-DU4j3Qw0.js";
3
+ import { r as n, t as r } from "./registry-CXZv0uLg.js";
4
+ //#region src/data-source/request-observer.ts
5
+ function i(e, t) {
6
+ try {
7
+ return e?.onRequest(t) ?? {};
8
+ } catch {
9
+ return {};
10
+ }
11
+ }
12
+ function a(e, t) {
13
+ try {
14
+ e.onSettled?.(t);
15
+ } catch {}
16
+ }
17
+ async function o(e, t, n) {
18
+ let r = i(e?.(), t);
19
+ try {
20
+ let e = await n(r.headers);
21
+ return a(r, e !== null), e;
22
+ } catch (e) {
23
+ throw a(r, !1), e;
24
+ }
25
+ }
26
+ //#endregion
27
+ //#region src/data-source/provider.ts
28
+ var s = "bundle", c = "api";
29
+ async function l() {
30
+ try {
31
+ let e = await import("virtual:picked/data");
32
+ return n(e) ? e : null;
33
+ } catch {
34
+ return null;
35
+ }
36
+ }
37
+ function u(e) {
38
+ if (e === void 0 || n(e)) return e;
39
+ }
40
+ function d(n) {
41
+ let { apiUrl: i, projectId: a, previewToken: d, signal: f, getRequestObserver: p } = n, m = !!d, h = m ? c : n.mode, g = u(m ? void 0 : n.bundle), _ = m ? void 0 : n.projectConfig, v = n.getContent, y = {
42
+ mode: h ?? c,
43
+ manifest: null
44
+ }, b, x, S = /* @__PURE__ */ new Map();
45
+ function C() {
46
+ if (h === c) return Promise.resolve(null);
47
+ if (g) return Promise.resolve(g);
48
+ let e = r();
49
+ return e ? Promise.resolve(e) : (b ??= l(), b);
50
+ }
51
+ function w(e) {
52
+ y.mode = e ? s : c, y.manifest = e ? e.manifestMetadata : null;
53
+ }
54
+ async function T() {
55
+ if (_) return w(await C()), _;
56
+ let t = await C();
57
+ return w(t), t ? t.projectConfig : h === s ? null : o(p, "project-config", (t) => e(i, a, {
58
+ ...d !== void 0 && { previewToken: d },
59
+ ...f !== void 0 && { signal: f },
60
+ ...t !== void 0 && { headers: t }
61
+ }));
62
+ }
63
+ async function E(e, n) {
64
+ let r = d === void 0 ? void 0 : { previewToken: d };
65
+ if (v) return v(e, r);
66
+ let c = await C();
67
+ if (w(c), c) try {
68
+ return await c.experienceContent(e, r);
69
+ } catch {
70
+ return `${e.id}`, null;
71
+ }
72
+ if (h === s) return null;
73
+ let l = n ?? f;
74
+ return o(p, "experience-content", (n) => t(i, a, e.id, {
75
+ ...d !== void 0 && { previewToken: d },
76
+ ...l !== void 0 && { signal: l },
77
+ ...n !== void 0 && { headers: n }
78
+ }));
79
+ }
80
+ return {
81
+ meta: y,
82
+ getProjectConfig: () => (x ??= T(), x),
83
+ getContent: (e, t) => {
84
+ let n = S.get(e.id);
85
+ if (n) return n;
86
+ let r = E(e, t?.signal).finally(() => {
87
+ S.delete(e.id);
88
+ });
89
+ return S.set(e.id, r), r;
90
+ }
91
+ };
92
+ }
93
+ //#endregion
94
+ export { d as createPickedDataProvider };
@@ -0,0 +1 @@
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 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/data-source/api.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,yBAAyB,EACzB,mBAAmB,EACnB,aAAa,EACd,MAAM,6BAA6B,CAAA;AA0FpC;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,aAAa,CAEpE;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,yBAAyB,CAM5F;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAI/B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAI3C"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/data-source/api.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,yBAAyB,EACzB,mBAAmB,EACnB,aAAa,EACd,MAAM,6BAA6B,CAAA;AAgDpC;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,aAAa,CAEpE;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,yBAAyB,CAM5F;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAE/B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAE3C"}
@@ -9,6 +9,7 @@
9
9
  */
10
10
  import type { ExperienceContentResponse, ProjectConfig } from '@picked/delivery-api-client';
11
11
  import type { ContentLoader, PickedManifestMetadata, VirtualPickedData } from '../plugins/dynamic-experiences/types';
12
+ import { type DeliveryRequestObserverSource } from './request-observer';
12
13
  import { isVirtualPickedData } from './virtual-data';
13
14
  /** Where a data provider reads project config and CMS content from. */
14
15
  export type PickedDataMode = 'bundle' | 'api';
@@ -41,6 +42,8 @@ export interface PickedDataProviderOptions {
41
42
  getContent?: ContentLoader;
42
43
  /** Abort signal applied to API fetches, such as an `AbortSignal.timeout` deadline. */
43
44
  signal?: AbortSignal;
45
+ /** Supplies the observer wrapped around each delivery fetch, read once per request. */
46
+ getRequestObserver?: DeliveryRequestObserverSource;
44
47
  }
45
48
  /** Read-only description of what a provider resolved to. */
46
49
  export interface PickedDataProviderMeta {
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/data-source/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAE3F,OAAO,KAAK,EACV,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,sCAAsC,CAAA;AAG7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAEpD,uEAAuE;AACvE,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,KAAK,CAAA;AAQ7C,oDAAoD;AACpD,MAAM,WAAW,yBAAyB;IACxC,sFAAsF;IACtF,MAAM,EAAE,MAAM,CAAA;IACd,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAA;IAC1B,sFAAsF;IACtF,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,sFAAsF;IACtF,UAAU,CAAC,EAAE,aAAa,CAAA;IAC1B,sFAAsF;IACtF,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED,4DAA4D;AAC5D,MAAM,WAAW,sBAAsB;IACrC,yDAAyD;IACzD,IAAI,EAAE,cAAc,CAAA;IACpB,gFAAgF;IAChF,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAAA;CACxC;AAED,6EAA6E;AAC7E,MAAM,WAAW,kBAAkB;IACjC,wFAAwF;IACxF,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAA;IACrC,4FAA4F;IAC5F,gBAAgB,EAAE,MAAM,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;IACrD,oGAAoG;IACpG,UAAU,EAAE,CACV,UAAU,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EACvC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,KAC/B,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAA;CAC/C;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAYlF;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAyB9B;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,yBAAyB,GAAG,kBAAkB,CAuK/F"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/data-source/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAE3F,OAAO,KAAK,EACV,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,sCAAsC,CAAA;AAE7C,OAAO,EAA0B,KAAK,6BAA6B,EAAE,MAAM,oBAAoB,CAAA;AAE/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAEpD,uEAAuE;AACvE,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,KAAK,CAAA;AAQ7C,oDAAoD;AACpD,MAAM,WAAW,yBAAyB;IACxC,sFAAsF;IACtF,MAAM,EAAE,MAAM,CAAA;IACd,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAA;IAC1B,sFAAsF;IACtF,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,sFAAsF;IACtF,UAAU,CAAC,EAAE,aAAa,CAAA;IAC1B,sFAAsF;IACtF,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,uFAAuF;IACvF,kBAAkB,CAAC,EAAE,6BAA6B,CAAA;CACnD;AAED,4DAA4D;AAC5D,MAAM,WAAW,sBAAsB;IACrC,yDAAyD;IACzD,IAAI,EAAE,cAAc,CAAA;IACpB,gFAAgF;IAChF,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAAA;CACxC;AAED,6EAA6E;AAC7E,MAAM,WAAW,kBAAkB;IACjC,wFAAwF;IACxF,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAA;IACrC,4FAA4F;IAC5F,gBAAgB,EAAE,MAAM,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;IACrD,oGAAoG;IACpG,UAAU,EAAE,CACV,UAAU,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EACvC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,KAC/B,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAA;CAC/C;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAYlF;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAyB9B;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,yBAAyB,GAAG,kBAAkB,CA6K/F"}
@@ -1,8 +1,10 @@
1
1
  /**
2
2
  * @file The hook the telemetry plugin uses to observe delivery API requests.
3
3
  *
4
- * The observer hands back a per-request handle, so each completion correlates
5
- * to its own request through the closure that created it.
4
+ * An observer belongs to the client that registered it and is passed in per
5
+ * request, so two clients on one page observe only their own traffic. The
6
+ * observer hands back a per-request handle, so each completion correlates to
7
+ * its own request through the closure that created it.
6
8
  */
7
9
  /** Which delivery endpoint a request is for. */
8
10
  export type DeliveryEndpoint = 'project-config' | 'experience-content';
@@ -18,22 +20,17 @@ export interface DeliveryRequestObserver {
18
20
  /** Called as a request begins; returns headers to add and a completion callback. */
19
21
  onRequest: (endpoint: DeliveryEndpoint) => ObservedRequest;
20
22
  }
21
- /**
22
- * Registers the observer, or clears it when passed `null`.
23
- *
24
- * @param {DeliveryRequestObserver | null} next - The observer to install, or `null` to remove it.
25
- * @returns {void}
26
- * @example setDeliveryRequestObserver({ onRequest: () => ({ headers: { traceparent } }) })
27
- */
28
- export declare function setDeliveryRequestObserver(next: DeliveryRequestObserver | null): void;
23
+ /** Supplies the observer in force for the next request, or `null` when there is none. */
24
+ export type DeliveryRequestObserverSource = () => DeliveryRequestObserver | null | undefined;
29
25
  /**
30
26
  * Notifies the observer that a request is starting.
31
27
  *
28
+ * @param {DeliveryRequestObserver | null} [observer] - The observer to notify, if any.
32
29
  * @param {DeliveryEndpoint} endpoint - Which endpoint is being called.
33
30
  * @returns {ObservedRequest} Headers to merge and a completion callback, both possibly absent.
34
- * @example const observed = beginObservedRequest('project-config')
31
+ * @example const observed = beginObservedRequest(observer, 'project-config')
35
32
  */
36
- export declare function beginObservedRequest(endpoint: DeliveryEndpoint): ObservedRequest;
33
+ export declare function beginObservedRequest(observer: DeliveryRequestObserver | null | undefined, endpoint: DeliveryEndpoint): ObservedRequest;
37
34
  /**
38
35
  * Notifies the observer that a request has settled.
39
36
  *
@@ -43,4 +40,19 @@ export declare function beginObservedRequest(endpoint: DeliveryEndpoint): Observ
43
40
  * @example settleObservedRequest(observed, true)
44
41
  */
45
42
  export declare function settleObservedRequest(observed: ObservedRequest, ok: boolean): void;
43
+ /**
44
+ * Runs a delivery fetch with the observer wrapped around it.
45
+ *
46
+ * The observer is read once per request, so one registered after an earlier fetch
47
+ * still applies to this one. Its headers are handed to `run` to travel with the
48
+ * request, and the same handle receives the outcome.
49
+ *
50
+ * @template T - The value the fetch resolves to.
51
+ * @param {DeliveryRequestObserverSource} [source] - Supplies the observer for this request.
52
+ * @param {DeliveryEndpoint} endpoint - Which endpoint is being called.
53
+ * @param {(headers?: Record<string, string>) => Promise<T | null>} run - The fetch to perform.
54
+ * @returns {Promise<T | null>} Whatever the fetch resolved to.
55
+ * @example observeDeliveryRequest(source, 'project-config', (headers) => fetchProject(url, id, { headers }))
56
+ */
57
+ export declare function observeDeliveryRequest<T>(source: DeliveryRequestObserverSource | undefined, endpoint: DeliveryEndpoint, run: (headers?: Record<string, string>) => Promise<T | null>): Promise<T | null>;
46
58
  //# sourceMappingURL=request-observer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-observer.d.ts","sourceRoot":"","sources":["../../../src/data-source/request-observer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,gDAAgD;AAChD,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,oBAAoB,CAAA;AAEtE,8DAA8D;AAC9D,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,2CAA2C;IAC3C,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAA;CAClC;AAED,mDAAmD;AACnD,MAAM,WAAW,uBAAuB;IACtC,oFAAoF;IACpF,SAAS,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,eAAe,CAAA;CAC3D;AAID;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,uBAAuB,GAAG,IAAI,GAAG,IAAI,CAErF;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,eAAe,CAOhF;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI,CAMlF"}
1
+ {"version":3,"file":"request-observer.d.ts","sourceRoot":"","sources":["../../../src/data-source/request-observer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,gDAAgD;AAChD,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,oBAAoB,CAAA;AAEtE,8DAA8D;AAC9D,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,2CAA2C;IAC3C,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAA;CAClC;AAED,mDAAmD;AACnD,MAAM,WAAW,uBAAuB;IACtC,oFAAoF;IACpF,SAAS,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,eAAe,CAAA;CAC3D;AAED,yFAAyF;AACzF,MAAM,MAAM,6BAA6B,GAAG,MAAM,uBAAuB,GAAG,IAAI,GAAG,SAAS,CAAA;AAE5F;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,uBAAuB,GAAG,IAAI,GAAG,SAAS,EACpD,QAAQ,EAAE,gBAAgB,GACzB,eAAe,CAOjB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI,CAMlF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,EAC5C,MAAM,EAAE,6BAA6B,GAAG,SAAS,EACjD,QAAQ,EAAE,gBAAgB,EAC1B,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,GAC3D,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAYnB"}