@genn-inc/cluebase-frontend-sdk 0.0.6 → 0.0.9

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 (69) hide show
  1. package/dist/_generated/correlation-attribute-keys.d.ts +3 -0
  2. package/dist/_generated/correlation-attribute-keys.js +35 -0
  3. package/dist/_generated/diagnostic-codes.d.ts +4 -0
  4. package/dist/_generated/diagnostic-codes.js +48 -0
  5. package/dist/_generated/drop-reasons.d.ts +2 -0
  6. package/dist/_generated/drop-reasons.js +25 -0
  7. package/dist/_generated/ingest-routes.d.ts +5 -0
  8. package/dist/_generated/ingest-routes.js +12 -0
  9. package/dist/context/trace.js +2 -4
  10. package/dist/exporter/batch.d.ts +23 -26
  11. package/dist/exporter/batch.js +254 -289
  12. package/dist/exporter/browser-outbox-records.d.ts +7 -24
  13. package/dist/exporter/browser-outbox-records.js +6 -94
  14. package/dist/exporter/browser-outbox.d.ts +23 -28
  15. package/dist/exporter/browser-outbox.js +99 -211
  16. package/dist/exporter/client.d.ts +24 -34
  17. package/dist/exporter/client.js +107 -318
  18. package/dist/exporter/delivery-pipeline.d.ts +72 -0
  19. package/dist/exporter/delivery-pipeline.js +199 -0
  20. package/dist/exporter/delivery-response-contract.d.ts +5 -81
  21. package/dist/exporter/delivery-response-contract.js +4 -166
  22. package/dist/exporter/delivery-response.d.ts +8 -4
  23. package/dist/exporter/delivery-response.js +62 -133
  24. package/dist/exporter/diagnostics.d.ts +2 -1
  25. package/dist/exporter/diagnostics.js +1 -25
  26. package/dist/exporter/event-id.d.ts +1 -0
  27. package/dist/exporter/event-id.js +3 -0
  28. package/dist/exporter/observation-source-event-exporter.d.ts +1 -1
  29. package/dist/exporter/observation-source-event-exporter.js +2 -2
  30. package/dist/exporter/parameter-encryption.d.ts +10 -0
  31. package/dist/exporter/parameter-encryption.js +219 -0
  32. package/dist/exporter/parameter-snapshot.js +25 -3
  33. package/dist/exporter/sdk-core-delivery.d.ts +226 -0
  34. package/dist/exporter/sdk-core-delivery.js +97 -0
  35. package/dist/exporter/sdk-core-wasm.d.ts +24 -1
  36. package/dist/exporter/sdk-core-wasm.js +31 -3
  37. package/dist/exporter/source-event.d.ts +2 -0
  38. package/dist/exporter/source-event.js +17 -0
  39. package/dist/exporter/span-to-source-signal.d.ts +1 -1
  40. package/dist/exporter/span-to-source-signal.js +20 -140
  41. package/dist/index.d.ts +3 -3
  42. package/dist/index.js +5 -3
  43. package/dist/instrumentation/network.d.ts +1 -1
  44. package/dist/instrumentation/network.js +17 -0
  45. package/dist/provider/_version.d.ts +1 -1
  46. package/dist/provider/_version.js +1 -1
  47. package/dist/provider/config.js +16 -3
  48. package/dist/provider/constants.js +0 -1
  49. package/dist/provider/contracts.d.ts +2 -0
  50. package/dist/provider/contracts.js +2 -0
  51. package/dist/provider/lifecycle-event-dedup.d.ts +7 -0
  52. package/dist/provider/lifecycle-event-dedup.js +31 -0
  53. package/dist/provider/sdk-encryption-store.d.ts +7 -0
  54. package/dist/provider/sdk-encryption-store.js +15 -0
  55. package/dist/provider/sdk-event-pipeline.d.ts +1 -3
  56. package/dist/provider/sdk-event-pipeline.js +0 -15
  57. package/dist/provider/sdk-otel-pipeline.d.ts +2 -1
  58. package/dist/provider/sdk-otel-pipeline.js +2 -11
  59. package/dist/provider/sdk-runtime-surfaces.d.ts +3 -2
  60. package/dist/provider/sdk-runtime-surfaces.js +7 -6
  61. package/dist/provider/sdk.js +88 -54
  62. package/dist/provider/types.d.ts +14 -19
  63. package/dist/wasm/pkg-web/cluebase_sdk_core_wasm.d.ts +18 -9
  64. package/dist/wasm/pkg-web/cluebase_sdk_core_wasm.js +170 -29
  65. package/dist/wasm/pkg-web/cluebase_sdk_core_wasm_bg.wasm +0 -0
  66. package/dist/wasm/pkg-web/cluebase_sdk_core_wasm_bg.wasm.d.ts +10 -9
  67. package/package.json +1 -1
  68. package/dist/provider/usage-governor.d.ts +0 -7
  69. package/dist/provider/usage-governor.js +0 -114
@@ -4,6 +4,16 @@ import type { FrontendEventName, ParameterCaptureMode, SdkCollectionMode } from
4
4
  export type { FrontendEventCategory, FrontendEventName, FrontendEventStatus, ParameterCaptureMode, SdkCollectionMode, } from "./contracts.js";
5
5
  export type CluebaseConsentState = "granted" | "denied" | "unknown";
6
6
  export type CluebaseGroupType = "organization";
7
+ export type CluebaseLinkInput = {
8
+ subject: {
9
+ type: CluebaseGroupType;
10
+ id: string;
11
+ };
12
+ external: {
13
+ namespace: string;
14
+ id: string;
15
+ };
16
+ };
7
17
  export type CanonicalJsonValue = string | number | boolean | null | CanonicalJsonValue[] | {
8
18
  [key: string]: CanonicalJsonValue;
9
19
  };
@@ -63,7 +73,6 @@ export type CluebaseInitOptions = {
63
73
  export type ResolvedCluebaseConfig = {
64
74
  endpoint: string;
65
75
  originalEndpoint: string;
66
- localSetupCheckEndpoint: string | null;
67
76
  projectKey: string;
68
77
  producerId: string;
69
78
  autocapture: boolean;
@@ -110,8 +119,8 @@ export type CluebaseBrowserSdk = {
110
119
  init(options: CluebaseInitOptions): void;
111
120
  identify(userId: string, traits?: CluebaseSubjectTraits): void;
112
121
  setOrganization(organizationId: string, traits?: CluebaseGroupTraits): void;
122
+ link(input: CluebaseLinkInput): void;
113
123
  linkExternalAccount(namespace: string, externalId: string): void;
114
- logout(): void;
115
124
  reset(): void;
116
125
  track(eventName: string, properties?: CluebaseTrackProperties, metrics?: CluebaseTrackMetrics): void;
117
126
  setConsent(consent: CluebaseConsentState): void;
@@ -121,23 +130,6 @@ export type CluebaseBrowserSdk = {
121
130
  getDiagnostics(): DiagnosticsSnapshot;
122
131
  withActionContext<T>(callback: () => T): T;
123
132
  };
124
- export type { CostCapability } from "../_generated/usage-governor-tables.js";
125
- import type { CostCapability } from "../_generated/usage-governor-tables.js";
126
- export type LimitKind = "monthly_overage_amount_limit" | "internal_cost_limit" | "internal_limit" | "operator_global_monthly_cost_limit";
127
- export type ThresholdStage = "info" | "warning" | "urgent" | "reached";
128
- export type LimitReason = {
129
- limitKind: LimitKind;
130
- meterKey: string;
131
- thresholdStage: ThresholdStage;
132
- currentValue: number;
133
- limitValue: number;
134
- retryAfterAt: string | null;
135
- };
136
- export type IngestUsageGovernorFeedback = {
137
- disabledCapabilities: CostCapability[];
138
- limitReasons: LimitReason[];
139
- retryAfterAt: string | null;
140
- };
141
133
  export type ParameterSnapshotLeafType = "string" | "number" | "boolean" | "null" | "object" | "array";
142
134
  export type ParameterSnapshotLeaf = {
143
135
  type: ParameterSnapshotLeafType;
@@ -145,6 +137,8 @@ export type ParameterSnapshotLeaf = {
145
137
  capture_mode: ParameterCaptureMode;
146
138
  truncated_reason?: "max_event_bytes";
147
139
  original_size_bytes?: number;
140
+ key_version?: number;
141
+ ciphertext?: string;
148
142
  };
149
143
  export type ParameterSnapshotValue = ParameterSnapshotLeaf | ParameterSnapshotValue[] | {
150
144
  [key: string]: ParameterSnapshotValue;
@@ -285,4 +279,5 @@ export type CaptureModuleContext = {
285
279
  export type CaptureStopHandle = {
286
280
  stop: () => void;
287
281
  flush?: (reason: string) => void | Promise<void>;
282
+ refreshIgnoreUrlPrefixes?: () => void;
288
283
  };
@@ -1,21 +1,30 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
 
4
+ export function deliveryCommandJson(request_json: string): string;
5
+
6
+ export function isCompleteAcceptedJson(result_json: string): boolean;
7
+
8
+ export function parameterCaptureDecisionsJson(request_json: string): string;
9
+
10
+ export function spanToObservationSourceEventJson(span_json: string, options_json: string): string;
11
+
4
12
  export function spanToSdkSignalJson(span_json: string, options_json: string): string;
5
13
 
6
14
  export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
7
15
 
8
16
  export interface InitOutput {
9
17
  readonly memory: WebAssembly.Memory;
10
- readonly spanToSdkSignalJson: (a: number, b: number, c: number, d: number) => [number, number, number, number];
11
- readonly __wbindgen_exn_store: (a: number) => void;
12
- readonly __externref_table_alloc: () => number;
13
- readonly __wbindgen_externrefs: WebAssembly.Table;
14
- readonly __wbindgen_malloc: (a: number, b: number) => number;
15
- readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
16
- readonly __externref_table_dealloc: (a: number) => void;
17
- readonly __wbindgen_free: (a: number, b: number, c: number) => void;
18
- readonly __wbindgen_start: () => void;
18
+ readonly deliveryCommandJson: (a: number, b: number, c: number) => void;
19
+ readonly isCompleteAcceptedJson: (a: number, b: number, c: number) => void;
20
+ readonly parameterCaptureDecisionsJson: (a: number, b: number, c: number) => void;
21
+ readonly spanToObservationSourceEventJson: (a: number, b: number, c: number, d: number, e: number) => void;
22
+ readonly spanToSdkSignalJson: (a: number, b: number, c: number, d: number, e: number) => void;
23
+ readonly __wbindgen_export: (a: number) => void;
24
+ readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
25
+ readonly __wbindgen_export2: (a: number, b: number) => number;
26
+ readonly __wbindgen_export3: (a: number, b: number, c: number, d: number) => number;
27
+ readonly __wbindgen_export4: (a: number, b: number, c: number) => void;
19
28
  }
20
29
 
21
30
  export type SyncInitInput = BufferSource | WebAssembly.Module;
@@ -1,5 +1,123 @@
1
1
  /* @ts-self-types="./cluebase_sdk_core_wasm.d.ts" */
2
2
 
3
+ /**
4
+ * @param {string} request_json
5
+ * @returns {string}
6
+ */
7
+ export function deliveryCommandJson(request_json) {
8
+ let deferred3_0;
9
+ let deferred3_1;
10
+ try {
11
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
12
+ const ptr0 = passStringToWasm0(request_json, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
13
+ const len0 = WASM_VECTOR_LEN;
14
+ wasm.deliveryCommandJson(retptr, ptr0, len0);
15
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
16
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
17
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
18
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
19
+ var ptr2 = r0;
20
+ var len2 = r1;
21
+ if (r3) {
22
+ ptr2 = 0; len2 = 0;
23
+ throw takeObject(r2);
24
+ }
25
+ deferred3_0 = ptr2;
26
+ deferred3_1 = len2;
27
+ return getStringFromWasm0(ptr2, len2);
28
+ } finally {
29
+ wasm.__wbindgen_add_to_stack_pointer(16);
30
+ wasm.__wbindgen_export4(deferred3_0, deferred3_1, 1);
31
+ }
32
+ }
33
+
34
+ /**
35
+ * @param {string} result_json
36
+ * @returns {boolean}
37
+ */
38
+ export function isCompleteAcceptedJson(result_json) {
39
+ try {
40
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
41
+ const ptr0 = passStringToWasm0(result_json, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
42
+ const len0 = WASM_VECTOR_LEN;
43
+ wasm.isCompleteAcceptedJson(retptr, ptr0, len0);
44
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
45
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
46
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
47
+ if (r2) {
48
+ throw takeObject(r1);
49
+ }
50
+ return r0 !== 0;
51
+ } finally {
52
+ wasm.__wbindgen_add_to_stack_pointer(16);
53
+ }
54
+ }
55
+
56
+ /**
57
+ * @param {string} request_json
58
+ * @returns {string}
59
+ */
60
+ export function parameterCaptureDecisionsJson(request_json) {
61
+ let deferred3_0;
62
+ let deferred3_1;
63
+ try {
64
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
65
+ const ptr0 = passStringToWasm0(request_json, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
66
+ const len0 = WASM_VECTOR_LEN;
67
+ wasm.parameterCaptureDecisionsJson(retptr, ptr0, len0);
68
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
69
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
70
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
71
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
72
+ var ptr2 = r0;
73
+ var len2 = r1;
74
+ if (r3) {
75
+ ptr2 = 0; len2 = 0;
76
+ throw takeObject(r2);
77
+ }
78
+ deferred3_0 = ptr2;
79
+ deferred3_1 = len2;
80
+ return getStringFromWasm0(ptr2, len2);
81
+ } finally {
82
+ wasm.__wbindgen_add_to_stack_pointer(16);
83
+ wasm.__wbindgen_export4(deferred3_0, deferred3_1, 1);
84
+ }
85
+ }
86
+
87
+ /**
88
+ * @param {string} span_json
89
+ * @param {string} options_json
90
+ * @returns {string}
91
+ */
92
+ export function spanToObservationSourceEventJson(span_json, options_json) {
93
+ let deferred4_0;
94
+ let deferred4_1;
95
+ try {
96
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
97
+ const ptr0 = passStringToWasm0(span_json, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
98
+ const len0 = WASM_VECTOR_LEN;
99
+ const ptr1 = passStringToWasm0(options_json, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
100
+ const len1 = WASM_VECTOR_LEN;
101
+ wasm.spanToObservationSourceEventJson(retptr, ptr0, len0, ptr1, len1);
102
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
103
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
104
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
105
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
106
+ var ptr3 = r0;
107
+ var len3 = r1;
108
+ if (r3) {
109
+ ptr3 = 0; len3 = 0;
110
+ throw takeObject(r2);
111
+ }
112
+ deferred4_0 = ptr3;
113
+ deferred4_1 = len3;
114
+ return getStringFromWasm0(ptr3, len3);
115
+ } finally {
116
+ wasm.__wbindgen_add_to_stack_pointer(16);
117
+ wasm.__wbindgen_export4(deferred4_0, deferred4_1, 1);
118
+ }
119
+ }
120
+
3
121
  /**
4
122
  * @param {string} span_json
5
123
  * @param {string} options_json
@@ -9,22 +127,28 @@ export function spanToSdkSignalJson(span_json, options_json) {
9
127
  let deferred4_0;
10
128
  let deferred4_1;
11
129
  try {
12
- const ptr0 = passStringToWasm0(span_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
130
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
131
+ const ptr0 = passStringToWasm0(span_json, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
13
132
  const len0 = WASM_VECTOR_LEN;
14
- const ptr1 = passStringToWasm0(options_json, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
133
+ const ptr1 = passStringToWasm0(options_json, wasm.__wbindgen_export2, wasm.__wbindgen_export3);
15
134
  const len1 = WASM_VECTOR_LEN;
16
- const ret = wasm.spanToSdkSignalJson(ptr0, len0, ptr1, len1);
17
- var ptr3 = ret[0];
18
- var len3 = ret[1];
19
- if (ret[3]) {
135
+ wasm.spanToSdkSignalJson(retptr, ptr0, len0, ptr1, len1);
136
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
137
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
138
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
139
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
140
+ var ptr3 = r0;
141
+ var len3 = r1;
142
+ if (r3) {
20
143
  ptr3 = 0; len3 = 0;
21
- throw takeFromExternrefTable0(ret[2]);
144
+ throw takeObject(r2);
22
145
  }
23
146
  deferred4_0 = ptr3;
24
147
  deferred4_1 = len3;
25
148
  return getStringFromWasm0(ptr3, len3);
26
149
  } finally {
27
- wasm.__wbindgen_free(deferred4_0, deferred4_1, 1);
150
+ wasm.__wbindgen_add_to_stack_pointer(16);
151
+ wasm.__wbindgen_export4(deferred4_0, deferred4_1, 1);
28
152
  }
29
153
  }
30
154
  function __wbg_get_imports() {
@@ -37,26 +161,20 @@ function __wbg_get_imports() {
37
161
  globalThis.crypto.getRandomValues(getArrayU8FromWasm0(arg0, arg1));
38
162
  }, arguments); },
39
163
  __wbg_getTime_f5a55efff2585d5d: function(arg0) {
40
- const ret = arg0.getTime();
164
+ const ret = getObject(arg0).getTime();
41
165
  return ret;
42
166
  },
43
167
  __wbg_new_0_72d020f0c63443d4: function() {
44
168
  const ret = new Date();
45
- return ret;
169
+ return addHeapObject(ret);
46
170
  },
47
171
  __wbindgen_generic_0000000000000001: function(arg0, arg1) {
48
172
  // Cast intrinsic for `Ref(String) -> Externref`.
49
173
  const ret = getStringFromWasm0(arg0, arg1);
50
- return ret;
174
+ return addHeapObject(ret);
51
175
  },
52
- __wbindgen_init_externref_table: function() {
53
- const table = wasm.__wbindgen_externrefs;
54
- const offset = table.grow(4);
55
- table.set(0, undefined);
56
- table.set(offset + 0, undefined);
57
- table.set(offset + 1, null);
58
- table.set(offset + 2, true);
59
- table.set(offset + 3, false);
176
+ __wbindgen_object_drop_ref: function(arg0) {
177
+ takeObject(arg0);
60
178
  },
61
179
  };
62
180
  return {
@@ -65,17 +183,34 @@ function __wbg_get_imports() {
65
183
  };
66
184
  }
67
185
 
68
- function addToExternrefTable0(obj) {
69
- const idx = wasm.__externref_table_alloc();
70
- wasm.__wbindgen_externrefs.set(idx, obj);
186
+ function addHeapObject(obj) {
187
+ if (heap_next === heap.length) heap.push(heap.length + 1);
188
+ const idx = heap_next;
189
+ heap_next = heap[idx];
190
+
191
+ heap[idx] = obj;
71
192
  return idx;
72
193
  }
73
194
 
195
+ function dropObject(idx) {
196
+ if (idx < 1028) return;
197
+ heap[idx] = heap_next;
198
+ heap_next = idx;
199
+ }
200
+
74
201
  function getArrayU8FromWasm0(ptr, len) {
75
202
  ptr = ptr >>> 0;
76
203
  return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
77
204
  }
78
205
 
206
+ let cachedDataViewMemory0 = null;
207
+ function getDataViewMemory0() {
208
+ if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
209
+ cachedDataViewMemory0 = new DataView(wasm.memory.buffer);
210
+ }
211
+ return cachedDataViewMemory0;
212
+ }
213
+
79
214
  function getStringFromWasm0(ptr, len) {
80
215
  return decodeText(ptr >>> 0, len);
81
216
  }
@@ -88,15 +223,21 @@ function getUint8ArrayMemory0() {
88
223
  return cachedUint8ArrayMemory0;
89
224
  }
90
225
 
226
+ function getObject(idx) { return heap[idx]; }
227
+
91
228
  function handleError(f, args) {
92
229
  try {
93
230
  return f.apply(this, args);
94
231
  } catch (e) {
95
- const idx = addToExternrefTable0(e);
96
- wasm.__wbindgen_exn_store(idx);
232
+ wasm.__wbindgen_export(addHeapObject(e));
97
233
  }
98
234
  }
99
235
 
236
+ let heap = new Array(1024).fill(undefined);
237
+ heap.push(undefined, null, true, false);
238
+
239
+ let heap_next = heap.length;
240
+
100
241
  function passStringToWasm0(arg, malloc, realloc) {
101
242
  if (realloc === undefined) {
102
243
  const buf = cachedTextEncoder.encode(arg);
@@ -134,10 +275,10 @@ function passStringToWasm0(arg, malloc, realloc) {
134
275
  return ptr;
135
276
  }
136
277
 
137
- function takeFromExternrefTable0(idx) {
138
- const value = wasm.__wbindgen_externrefs.get(idx);
139
- wasm.__externref_table_dealloc(idx);
140
- return value;
278
+ function takeObject(idx) {
279
+ const ret = getObject(idx);
280
+ dropObject(idx);
281
+ return ret;
141
282
  }
142
283
 
143
284
  let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
@@ -174,8 +315,8 @@ function __wbg_finalize_init(instance, module) {
174
315
  wasmInstance = instance;
175
316
  wasm = instance.exports;
176
317
  wasmModule = module;
318
+ cachedDataViewMemory0 = null;
177
319
  cachedUint8ArrayMemory0 = null;
178
- wasm.__wbindgen_start();
179
320
  return wasm;
180
321
  }
181
322
 
@@ -1,12 +1,13 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
3
  export const memory: WebAssembly.Memory;
4
- export const spanToSdkSignalJson: (a: number, b: number, c: number, d: number) => [number, number, number, number];
5
- export const __wbindgen_exn_store: (a: number) => void;
6
- export const __externref_table_alloc: () => number;
7
- export const __wbindgen_externrefs: WebAssembly.Table;
8
- export const __wbindgen_malloc: (a: number, b: number) => number;
9
- export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
10
- export const __externref_table_dealloc: (a: number) => void;
11
- export const __wbindgen_free: (a: number, b: number, c: number) => void;
12
- export const __wbindgen_start: () => void;
4
+ export const deliveryCommandJson: (a: number, b: number, c: number) => void;
5
+ export const isCompleteAcceptedJson: (a: number, b: number, c: number) => void;
6
+ export const parameterCaptureDecisionsJson: (a: number, b: number, c: number) => void;
7
+ export const spanToObservationSourceEventJson: (a: number, b: number, c: number, d: number, e: number) => void;
8
+ export const spanToSdkSignalJson: (a: number, b: number, c: number, d: number, e: number) => void;
9
+ export const __wbindgen_export: (a: number) => void;
10
+ export const __wbindgen_add_to_stack_pointer: (a: number) => number;
11
+ export const __wbindgen_export2: (a: number, b: number) => number;
12
+ export const __wbindgen_export3: (a: number, b: number, c: number, d: number) => number;
13
+ export const __wbindgen_export4: (a: number, b: number, c: number) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@genn-inc/cluebase-frontend-sdk",
3
- "version": "0.0.6",
3
+ "version": "0.0.9",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/genn-inc/cluebase.git"
@@ -1,7 +0,0 @@
1
- import type { CostCapability, IngestUsageGovernorFeedback } from "./types.js";
2
- export declare const DEFAULT_INGEST_USAGE_GOVERNOR_FEEDBACK: IngestUsageGovernorFeedback;
3
- export declare const normalizeIngestUsageGovernorFeedback: (feedback?: Partial<IngestUsageGovernorFeedback> | null) => IngestUsageGovernorFeedback;
4
- export declare const mergeIngestUsageGovernorFeedback: (current: IngestUsageGovernorFeedback | null, incoming: IngestUsageGovernorFeedback | null) => IngestUsageGovernorFeedback | null;
5
- export declare const parseGovernorFeedbackEnvelope: (value: unknown) => IngestUsageGovernorFeedback | null;
6
- export declare const isCostCapabilityDisabled: (feedback: Pick<IngestUsageGovernorFeedback, "disabledCapabilities">, capability: CostCapability) => boolean;
7
- export declare const hasUsageGovernorFeedbackChanged: (current: IngestUsageGovernorFeedback, next: IngestUsageGovernorFeedback) => boolean;
@@ -1,114 +0,0 @@
1
- import { COST_CAPABILITIES as GENERATED_COST_CAPABILITIES, LIMIT_KINDS as GENERATED_LIMIT_KINDS, THRESHOLD_STAGES as GENERATED_THRESHOLD_STAGES, } from "../_generated/usage-governor-tables.js";
2
- export const DEFAULT_INGEST_USAGE_GOVERNOR_FEEDBACK = {
3
- disabledCapabilities: [],
4
- limitReasons: [],
5
- retryAfterAt: null,
6
- };
7
- const COST_CAPABILITIES = new Set(GENERATED_COST_CAPABILITIES);
8
- const LIMIT_KINDS = new Set(GENERATED_LIMIT_KINDS);
9
- const THRESHOLD_STAGES = new Set(GENERATED_THRESHOLD_STAGES);
10
- const asObject = (value) => {
11
- if (value && typeof value === "object" && !Array.isArray(value)) {
12
- return value;
13
- }
14
- return null;
15
- };
16
- const asCostCapability = (value) => {
17
- return typeof value === "string" &&
18
- COST_CAPABILITIES.has(value)
19
- ? value
20
- : null;
21
- };
22
- const asLimitKind = (value) => {
23
- return typeof value === "string" && LIMIT_KINDS.has(value)
24
- ? value
25
- : null;
26
- };
27
- const asThresholdStage = (value) => {
28
- return typeof value === "string" &&
29
- THRESHOLD_STAGES.has(value)
30
- ? value
31
- : null;
32
- };
33
- const asNonNegativeNumber = (value) => {
34
- return typeof value === "number" && Number.isFinite(value) && value >= 0
35
- ? value
36
- : null;
37
- };
38
- const asNullableString = (value) => {
39
- return typeof value === "string" ? value : null;
40
- };
41
- const parseLimitReason = (value) => {
42
- const record = asObject(value);
43
- if (!record) {
44
- return null;
45
- }
46
- const limitKind = asLimitKind(record.limitKind);
47
- const thresholdStage = asThresholdStage(record.thresholdStage);
48
- const currentValue = asNonNegativeNumber(record.currentValue);
49
- const limitValue = asNonNegativeNumber(record.limitValue);
50
- const retryAfterAt = record.retryAfterAt === null ? null : asNullableString(record.retryAfterAt);
51
- if (!limitKind ||
52
- typeof record.meterKey !== "string" ||
53
- !thresholdStage ||
54
- currentValue === null ||
55
- limitValue === null ||
56
- retryAfterAt === undefined) {
57
- return null;
58
- }
59
- return {
60
- limitKind,
61
- meterKey: record.meterKey,
62
- thresholdStage,
63
- currentValue,
64
- limitValue,
65
- retryAfterAt,
66
- };
67
- };
68
- const uniqueCapabilities = (capabilities) => [...new Set(capabilities)];
69
- export const normalizeIngestUsageGovernorFeedback = (feedback) => {
70
- const disabledCapabilities = Array.isArray(feedback?.disabledCapabilities)
71
- ? feedback.disabledCapabilities
72
- .map(asCostCapability)
73
- .filter((capability) => capability !== null)
74
- : [];
75
- const limitReasons = Array.isArray(feedback?.limitReasons)
76
- ? feedback.limitReasons
77
- .map(parseLimitReason)
78
- .filter((reason) => reason !== null)
79
- : [];
80
- return {
81
- disabledCapabilities: uniqueCapabilities(disabledCapabilities),
82
- limitReasons,
83
- retryAfterAt: typeof feedback?.retryAfterAt === "string" ? feedback.retryAfterAt : null,
84
- };
85
- };
86
- export const mergeIngestUsageGovernorFeedback = (current, incoming) => {
87
- if (!current) {
88
- return incoming;
89
- }
90
- if (!incoming) {
91
- return current;
92
- }
93
- return {
94
- disabledCapabilities: uniqueCapabilities([
95
- ...current.disabledCapabilities,
96
- ...incoming.disabledCapabilities,
97
- ]),
98
- limitReasons: [...current.limitReasons, ...incoming.limitReasons],
99
- retryAfterAt: current.retryAfterAt ?? incoming.retryAfterAt,
100
- };
101
- };
102
- export const parseGovernorFeedbackEnvelope = (value) => {
103
- const payload = asObject(value);
104
- const governor = asObject(payload?.governor);
105
- if (!governor) {
106
- return null;
107
- }
108
- return normalizeIngestUsageGovernorFeedback(governor);
109
- };
110
- export const isCostCapabilityDisabled = (feedback, capability) => feedback.disabledCapabilities.includes(capability);
111
- export const hasUsageGovernorFeedbackChanged = (current, next) => current.retryAfterAt !== next.retryAfterAt ||
112
- current.disabledCapabilities.join("|") !==
113
- next.disabledCapabilities.join("|") ||
114
- JSON.stringify(current.limitReasons) !== JSON.stringify(next.limitReasons);