@zuplo/cli 7.4.3 → 7.4.5

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/common/settings.d.ts +1 -0
  2. package/dist/common/settings.d.ts.map +1 -1
  3. package/dist/common/settings.js +3 -0
  4. package/dist/common/settings.js.map +1 -1
  5. package/dist/deploy/classify-build-probe.d.ts +14 -0
  6. package/dist/deploy/classify-build-probe.d.ts.map +1 -0
  7. package/dist/deploy/classify-build-probe.js +35 -0
  8. package/dist/deploy/classify-build-probe.js.map +1 -0
  9. package/dist/deploy/classify-build-probe.test.d.ts +2 -0
  10. package/dist/deploy/classify-build-probe.test.d.ts.map +1 -0
  11. package/dist/deploy/classify-build-probe.test.js +51 -0
  12. package/dist/deploy/classify-build-probe.test.js.map +1 -0
  13. package/dist/deploy/handler.js +20 -5
  14. package/dist/deploy/handler.js.map +1 -1
  15. package/dist/deploy/poll-deployment.d.ts +8 -4
  16. package/dist/deploy/poll-deployment.d.ts.map +1 -1
  17. package/dist/deploy/poll-deployment.js +32 -4
  18. package/dist/deploy/poll-deployment.js.map +1 -1
  19. package/dist/deploy/poll-deployment.test.d.ts +2 -0
  20. package/dist/deploy/poll-deployment.test.d.ts.map +1 -0
  21. package/dist/deploy/poll-deployment.test.js +158 -0
  22. package/dist/deploy/poll-deployment.test.js.map +1 -0
  23. package/dist/tsconfig.tsbuildinfo +1 -1
  24. package/node_modules/@posthog/core/dist/logs/index.js +1 -1
  25. package/node_modules/@posthog/core/dist/logs/index.mjs +1 -1
  26. package/node_modules/@posthog/core/dist/logs/logs-utils.d.ts +4 -13
  27. package/node_modules/@posthog/core/dist/logs/logs-utils.d.ts.map +1 -1
  28. package/node_modules/@posthog/core/dist/logs/logs-utils.js +160 -26
  29. package/node_modules/@posthog/core/dist/logs/logs-utils.mjs +160 -26
  30. package/node_modules/@posthog/core/dist/metrics/index.js +1 -1
  31. package/node_modules/@posthog/core/dist/metrics/index.mjs +1 -1
  32. package/node_modules/@posthog/core/dist/posthog-core.d.ts.map +1 -1
  33. package/node_modules/@posthog/core/dist/posthog-core.js +12 -7
  34. package/node_modules/@posthog/core/dist/posthog-core.mjs +12 -7
  35. package/node_modules/@posthog/core/dist/utils/index.d.ts +1 -1
  36. package/node_modules/@posthog/core/dist/utils/index.d.ts.map +1 -1
  37. package/node_modules/@posthog/core/dist/utils/index.js +14 -24
  38. package/node_modules/@posthog/core/dist/utils/index.mjs +2 -2
  39. package/node_modules/@posthog/core/dist/utils/json-utils.d.ts +15 -0
  40. package/node_modules/@posthog/core/dist/utils/json-utils.d.ts.map +1 -1
  41. package/node_modules/@posthog/core/dist/utils/json-utils.js +24 -0
  42. package/node_modules/@posthog/core/dist/utils/json-utils.mjs +1 -1
  43. package/node_modules/@posthog/core/package.json +2 -2
  44. package/node_modules/@posthog/core/src/logs/index.ts +1 -1
  45. package/node_modules/@posthog/core/src/logs/logs-utils.spec.ts +314 -9
  46. package/node_modules/@posthog/core/src/logs/logs-utils.ts +215 -27
  47. package/node_modules/@posthog/core/src/metrics/index.spec.ts +15 -1
  48. package/node_modules/@posthog/core/src/metrics/index.ts +1 -1
  49. package/node_modules/@posthog/core/src/posthog-core.ts +19 -12
  50. package/node_modules/@posthog/core/src/utils/index.ts +3 -1
  51. package/node_modules/@posthog/core/src/utils/json-utils.ts +15 -8
  52. package/node_modules/@posthog/types/dist/capture-log.d.ts +10 -1
  53. package/node_modules/@posthog/types/dist/capture-log.d.ts.map +1 -1
  54. package/node_modules/@posthog/types/package.json +1 -1
  55. package/node_modules/@posthog/types/src/capture-log.ts +8 -1
  56. package/node_modules/@zuplo/core/package.json +1 -1
  57. package/node_modules/@zuplo/graphql/package.json +1 -1
  58. package/node_modules/@zuplo/openapi-tools/package.json +1 -1
  59. package/node_modules/@zuplo/otel/package.json +1 -1
  60. package/node_modules/@zuplo/runtime/out/esm/{chunk-NHSMO7UN.js → chunk-4SX4HBWT.js} +72 -72
  61. package/node_modules/@zuplo/runtime/out/esm/chunk-4SX4HBWT.js.map +1 -0
  62. package/node_modules/@zuplo/runtime/out/esm/index.js +1 -1
  63. package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js +13 -13
  64. package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js.map +1 -1
  65. package/node_modules/@zuplo/runtime/out/types/mcp-gateway/index.d.ts +39 -2
  66. package/node_modules/@zuplo/runtime/package.json +1 -1
  67. package/package.json +11 -11
  68. package/node_modules/@zuplo/runtime/out/esm/chunk-NHSMO7UN.js.map +0 -1
  69. /package/node_modules/@zuplo/runtime/out/esm/{chunk-NHSMO7UN.js.LEGAL.txt → chunk-4SX4HBWT.js.LEGAL.txt} +0 -0
@@ -1,4 +1,5 @@
1
1
  import { isArray, isBoolean, isNull, isNullish, isUndefined } from "../utils/index.mjs";
2
+ import { CIRCULAR_VALUE, FUNCTION_VALUE, MAX_JSON_SAFE_VALUE_DEPTH, MAX_JSON_SAFE_VALUE_ITEMS, MAX_JSON_SAFE_VALUE_NODES, TRUNCATED_VALUE, UNSERIALIZABLE_VALUE, sanitizeString } from "../utils/json-utils.mjs";
2
3
  const OTLP_SEVERITY_MAP = {
3
4
  trace: {
4
5
  text: 'TRACE',
@@ -32,7 +33,35 @@ function getOtlpSeverityText(level) {
32
33
  function getOtlpSeverityNumber(level) {
33
34
  return (OTLP_SEVERITY_MAP[level] || DEFAULT_OTLP_SEVERITY).number;
34
35
  }
35
- function toOtlpAnyValue(value) {
36
+ const INT64_RANGE_LIMIT = 9223372036854775808;
37
+ const propertyIsEnumerable = Object.prototype.propertyIsEnumerable;
38
+ function newState() {
39
+ return {
40
+ ancestors: new WeakSet(),
41
+ remainingNodes: MAX_JSON_SAFE_VALUE_NODES
42
+ };
43
+ }
44
+ function toOtlpAnyValue(value, logger) {
45
+ try {
46
+ return encodeAnyValue(value, logger, newState(), 0);
47
+ } catch {
48
+ return {
49
+ stringValue: UNSERIALIZABLE_VALUE
50
+ };
51
+ }
52
+ }
53
+ function toOtlpKeyValueList(attrs, logger) {
54
+ try {
55
+ return encodeKeyValueList(attrs, logger, newState(), 0);
56
+ } catch {
57
+ return [];
58
+ }
59
+ }
60
+ function encodeAnyValue(value, logger, state, depth) {
61
+ if (state.remainingNodes <= 0) return {
62
+ stringValue: TRUNCATED_VALUE
63
+ };
64
+ state.remainingNodes--;
36
65
  if (isBoolean(value)) return {
37
66
  boolValue: value
38
67
  };
@@ -40,46 +69,129 @@ function toOtlpAnyValue(value) {
40
69
  if (!Number.isFinite(value)) return {
41
70
  stringValue: String(value)
42
71
  };
43
- if (Number.isInteger(value)) return {
44
- intValue: value
45
- };
72
+ if (Number.isInteger(value)) {
73
+ if (Number.isSafeInteger(value)) return {
74
+ intValue: String(value)
75
+ };
76
+ if ('undefined' == typeof BigInt) return {
77
+ stringValue: String(value)
78
+ };
79
+ const decimal = BigInt(value).toString();
80
+ if (value >= INT64_RANGE_LIMIT || value < -INT64_RANGE_LIMIT) {
81
+ logger?.debug(`Attribute ${decimal} is outside the int64 range; encoding it as a string`);
82
+ return {
83
+ stringValue: decimal
84
+ };
85
+ }
86
+ return {
87
+ intValue: decimal
88
+ };
89
+ }
46
90
  return {
47
91
  doubleValue: value
48
92
  };
49
93
  }
50
94
  if ('string' == typeof value) return {
51
- stringValue: value
95
+ stringValue: sanitizeString(value)
52
96
  };
53
- if (isArray(value)) return {
54
- arrayValue: {
55
- values: value.map((v)=>toOtlpAnyValue(v))
56
- }
97
+ if ('function' == typeof value) return {
98
+ stringValue: FUNCTION_VALUE
57
99
  };
58
- try {
59
- return {
60
- stringValue: JSON.stringify(value)
100
+ if ('symbol' == typeof value) return {
101
+ stringValue: String(value)
102
+ };
103
+ if ('object' == typeof value && null !== value) {
104
+ if (state.ancestors.has(value)) return {
105
+ stringValue: CIRCULAR_VALUE
61
106
  };
62
- } catch {
63
- return {
64
- stringValue: String(value)
107
+ if (depth >= MAX_JSON_SAFE_VALUE_DEPTH) return {
108
+ stringValue: TRUNCATED_VALUE
65
109
  };
110
+ if (value instanceof Date) {
111
+ const time = value.getTime();
112
+ const iso = Number.isFinite(time) ? value.toISOString() : String(value);
113
+ return {
114
+ stringValue: 'string' == typeof iso ? sanitizeString(iso) : String(iso)
115
+ };
116
+ }
117
+ state.ancestors.add(value);
118
+ try {
119
+ try {
120
+ const toJSON = value.toJSON;
121
+ if ('function' == typeof toJSON) return encodeAnyValue(toJSON.call(value), logger, state, depth + 1);
122
+ } catch {}
123
+ if (isArray(value)) return {
124
+ arrayValue: {
125
+ values: encodeArrayValues(value, logger, state, depth + 1)
126
+ }
127
+ };
128
+ return {
129
+ kvlistValue: {
130
+ values: encodeKeyValueList(value, logger, state, depth + 1)
131
+ }
132
+ };
133
+ } finally{
134
+ state.ancestors.delete(value);
135
+ }
66
136
  }
137
+ return {
138
+ stringValue: sanitizeString(String(value))
139
+ };
67
140
  }
68
- function toOtlpKeyValueList(attrs) {
141
+ function encodeArrayValues(values, logger, state, depth) {
69
142
  const result = [];
70
- for(const key in attrs){
71
- const value = attrs[key];
72
- if (!(isNull(value) || isUndefined(value))) result.push({
73
- key,
74
- value: toOtlpAnyValue(value)
143
+ const itemCount = Math.min(values.length, MAX_JSON_SAFE_VALUE_ITEMS);
144
+ let index = 0;
145
+ for(; index < itemCount && state.remainingNodes > 0; index++)try {
146
+ const element = index in values ? values[index] : void 0;
147
+ if (isNullish(element)) continue;
148
+ result.push(encodeAnyValue(element, logger, state, depth));
149
+ } catch {
150
+ result.push({
151
+ stringValue: UNSERIALIZABLE_VALUE
75
152
  });
76
153
  }
154
+ if (values.length > index) result.push({
155
+ stringValue: TRUNCATED_VALUE
156
+ });
157
+ return result;
158
+ }
159
+ function encodeKeyValueList(attrs, logger, state, depth) {
160
+ const result = [];
161
+ for(const key in attrs)if (propertyIsEnumerable.call(attrs, key)) {
162
+ if (result.length >= MAX_JSON_SAFE_VALUE_ITEMS || state.remainingNodes <= 0) {
163
+ logger?.debug('Attributes truncated: the value exceeds the OTLP encoder budget');
164
+ break;
165
+ }
166
+ try {
167
+ const value = attrs[key];
168
+ if (isNull(value) || isUndefined(value)) continue;
169
+ result.push({
170
+ key: sanitizeString(key),
171
+ value: encodeAnyValue(value, logger, state, depth)
172
+ });
173
+ } catch {
174
+ result.push({
175
+ key: sanitizeString(key),
176
+ value: {
177
+ stringValue: UNSERIALIZABLE_VALUE
178
+ }
179
+ });
180
+ }
181
+ }
77
182
  return result;
78
183
  }
79
184
  function timestampToUnixNano() {
80
185
  return String(Date.now()) + '000000';
81
186
  }
82
- function buildOtlpLogRecord(options, sdkContext) {
187
+ function encodeBody(body) {
188
+ try {
189
+ return sanitizeString(String(body));
190
+ } catch {
191
+ return UNSERIALIZABLE_VALUE;
192
+ }
193
+ }
194
+ function buildOtlpLogRecord(options, sdkContext, logger) {
83
195
  const level = options.level || 'info';
84
196
  const { text: severityText, number: severityNumber } = OTLP_SEVERITY_MAP[level] || DEFAULT_OTLP_SEVERITY;
85
197
  const now = timestampToUnixNano();
@@ -94,18 +206,40 @@ function buildOtlpLogRecord(options, sdkContext) {
94
206
  if (sdkContext.appState) autoAttributes['app.state'] = sdkContext.appState;
95
207
  if (sdkContext.activeFeatureFlags && sdkContext.activeFeatureFlags.length > 0) autoAttributes.feature_flags = sdkContext.activeFeatureFlags;
96
208
  const mergedAttributes = {
97
- ...autoAttributes,
98
- ...options.attributes || {}
209
+ ...autoAttributes
99
210
  };
211
+ const userAttributes = options.attributes;
212
+ if (userAttributes) {
213
+ let keys = [];
214
+ try {
215
+ keys = Object.keys(userAttributes);
216
+ } catch {
217
+ keys = [];
218
+ }
219
+ for (const key of keys){
220
+ let value;
221
+ try {
222
+ value = userAttributes[key];
223
+ } catch {
224
+ value = UNSERIALIZABLE_VALUE;
225
+ }
226
+ Object.defineProperty(mergedAttributes, key, {
227
+ value,
228
+ enumerable: true,
229
+ writable: true,
230
+ configurable: true
231
+ });
232
+ }
233
+ }
100
234
  const record = {
101
235
  timeUnixNano: now,
102
236
  observedTimeUnixNano: now,
103
237
  severityNumber,
104
238
  severityText,
105
239
  body: {
106
- stringValue: options.body
240
+ stringValue: encodeBody(options.body)
107
241
  },
108
- attributes: toOtlpKeyValueList(mergedAttributes)
242
+ attributes: toOtlpKeyValueList(mergedAttributes, logger)
109
243
  };
110
244
  if (options.trace_id) record.traceId = options.trace_id;
111
245
  if (options.span_id) record.spanId = options.span_id;
@@ -268,7 +268,7 @@ class PostHogMetrics {
268
268
  };
269
269
  byMetric.set(metricKey, metric);
270
270
  }
271
- const attributes = (0, logs_utils_js_namespaceObject.toOtlpKeyValueList)(state.attributes ?? {});
271
+ const attributes = (0, logs_utils_js_namespaceObject.toOtlpKeyValueList)(state.attributes ?? {}, this._logger);
272
272
  const startNano = (0, external_metrics_utils_js_namespaceObject.msToUnixNano)(state.windowStartMs);
273
273
  if ('count' === state.type) {
274
274
  const dp = {
@@ -236,7 +236,7 @@ class PostHogMetrics {
236
236
  };
237
237
  byMetric.set(metricKey, metric);
238
238
  }
239
- const attributes = toOtlpKeyValueList(state.attributes ?? {});
239
+ const attributes = toOtlpKeyValueList(state.attributes ?? {}, this._logger);
240
240
  const startNano = msToUnixNano(state.windowStartMs);
241
241
  if ('count' === state.type) {
242
242
  const dp = {
@@ -1 +1 @@
1
- {"version":3,"file":"posthog-core.d.ts","sourceRoot":"","sources":["../src/posthog-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"posthog-core.d.ts","sourceRoot":"","sources":["../src/posthog-core.ts"],"names":[],"mappings":"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"}
@@ -349,14 +349,19 @@ class PostHogCore extends external_posthog_core_stateless_js_namespaceObject.Pos
349
349
  if (this.disableRemoteFeatureFlags && !fetchConfig) return void this._logger.info('Feature flags are disabled (disableRemoteFeatureFlags), skipping reload.');
350
350
  if (this._flagsResponsePromise) {
351
351
  this._logger.info('Feature flags are being loaded already, queuing reload.');
352
- if (this._pendingFlagsRequest) this._flagsResponsePromise.then(this._pendingFlagsRequest.resolve).catch(this._pendingFlagsRequest.reject);
352
+ const pending = this._pendingFlagsRequest;
353
353
  return new Promise((resolve, reject)=>{
354
354
  this._pendingFlagsRequest = {
355
- sendAnonDistinctId,
356
- fetchConfig,
357
- triggerOnRemoteConfig,
358
- resolve,
359
- reject
355
+ sendAnonDistinctId: sendAnonDistinctId || !!pending?.sendAnonDistinctId,
356
+ fetchConfig: fetchConfig || !!pending?.fetchConfig,
357
+ triggerOnRemoteConfig: triggerOnRemoteConfig || !!pending?.triggerOnRemoteConfig,
358
+ waiters: [
359
+ ...pending?.waiters ?? [],
360
+ {
361
+ resolve,
362
+ reject
363
+ }
364
+ ]
360
365
  };
361
366
  });
362
367
  }
@@ -513,7 +518,7 @@ class PostHogCore extends external_posthog_core_stateless_js_namespaceObject.Pos
513
518
  sendAnonDistinctId: pendingRequest.sendAnonDistinctId,
514
519
  fetchConfig: pendingRequest.fetchConfig,
515
520
  triggerOnRemoteConfig: pendingRequest.triggerOnRemoteConfig
516
- }).then(pendingRequest.resolve).catch(pendingRequest.reject);
521
+ }).then((res)=>pendingRequest.waiters.forEach((w)=>w.resolve(res))).catch((e)=>pendingRequest.waiters.forEach((w)=>w.reject(e)));
517
522
  }
518
523
  });
519
524
  return this._flagsResponsePromise;
@@ -321,14 +321,19 @@ class PostHogCore extends PostHogCoreStateless {
321
321
  if (this.disableRemoteFeatureFlags && !fetchConfig) return void this._logger.info('Feature flags are disabled (disableRemoteFeatureFlags), skipping reload.');
322
322
  if (this._flagsResponsePromise) {
323
323
  this._logger.info('Feature flags are being loaded already, queuing reload.');
324
- if (this._pendingFlagsRequest) this._flagsResponsePromise.then(this._pendingFlagsRequest.resolve).catch(this._pendingFlagsRequest.reject);
324
+ const pending = this._pendingFlagsRequest;
325
325
  return new Promise((resolve, reject)=>{
326
326
  this._pendingFlagsRequest = {
327
- sendAnonDistinctId,
328
- fetchConfig,
329
- triggerOnRemoteConfig,
330
- resolve,
331
- reject
327
+ sendAnonDistinctId: sendAnonDistinctId || !!pending?.sendAnonDistinctId,
328
+ fetchConfig: fetchConfig || !!pending?.fetchConfig,
329
+ triggerOnRemoteConfig: triggerOnRemoteConfig || !!pending?.triggerOnRemoteConfig,
330
+ waiters: [
331
+ ...pending?.waiters ?? [],
332
+ {
333
+ resolve,
334
+ reject
335
+ }
336
+ ]
332
337
  };
333
338
  });
334
339
  }
@@ -485,7 +490,7 @@ class PostHogCore extends PostHogCoreStateless {
485
490
  sendAnonDistinctId: pendingRequest.sendAnonDistinctId,
486
491
  fetchConfig: pendingRequest.fetchConfig,
487
492
  triggerOnRemoteConfig: pendingRequest.triggerOnRemoteConfig
488
- }).then(pendingRequest.resolve).catch(pendingRequest.reject);
493
+ }).then((res)=>pendingRequest.waiters.forEach((w)=>w.resolve(res))).catch((e)=>pendingRequest.waiters.forEach((w)=>w.reject(e)));
489
494
  }
490
495
  });
491
496
  return this._flagsResponsePromise;
@@ -2,7 +2,7 @@ import { FetchLike } from '../types';
2
2
  export * from './bot-detection';
3
3
  export * from './browser-utils';
4
4
  export * from './bucketed-rate-limiter';
5
- export * from './json-utils';
5
+ export { toJsonSafeValue } from './json-utils';
6
6
  export * from './number-utils';
7
7
  export * from './string-utils';
8
8
  export * from './type-utils';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,UAAU,CAAA;AACxB,cAAc,oBAAoB,CAAA;AAElC,eAAO,MAAM,aAAa,SAAS,CAAA;AAEnC,eAAO,MAAM,UAAU,QAAoE,CAAA;AAE3F,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE3D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,GAAG,MAAM,CAE9E;AAED,wBAAgB,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAI9D;AASD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,CAMxG;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAA;CACtC;AAED,wBAAsB,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC,CAqB5F;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,GAAG,CAOnE;AAED,wBAAsB,eAAe,CAAC,CAAC,EACrC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,IAAI,GACrB,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAoBnB;AAGD,eAAO,MAAM,SAAS,GAAI,KAAK,GAAG,KAAG,GAAG,IAAI,OAAO,CAAC,GAAG,CAEtD,CAAA;AAED,wBAAgB,QAAQ,IAAI,SAAS,GAAG,SAAS,CAEhD;AAED,wBAAgB,UAAU,CAAC,CAAC,EAC1B,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAC1C,OAAO,CAAC,CAAC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,CAAC,EAAE,CAAC,CAStF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AAGvC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,UAAU,CAAA;AACxB,cAAc,oBAAoB,CAAA;AAElC,eAAO,MAAM,aAAa,SAAS,CAAA;AAEnC,eAAO,MAAM,UAAU,QAAoE,CAAA;AAE3F,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE3D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,GAAG,MAAM,CAE9E;AAED,wBAAgB,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAI9D;AASD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,CAMxG;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAA;CACtC;AAED,wBAAsB,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC,CAqB5F;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,GAAG,CAOnE;AAED,wBAAsB,eAAe,CAAC,CAAC,EACrC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,IAAI,GACrB,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAoBnB;AAGD,eAAO,MAAM,SAAS,GAAI,KAAK,GAAG,KAAG,GAAG,IAAI,OAAO,CAAC,GAAG,CAEtD,CAAA;AAED,wBAAgB,QAAQ,IAAI,SAAS,GAAG,SAAS,CAEhD;AAED,wBAAgB,UAAU,CAAC,CAAC,EAC1B,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAC1C,OAAO,CAAC,CAAC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,CAAC,EAAE,CAAC,CAStF"}
@@ -89,13 +89,15 @@ var __webpack_exports__ = {};
89
89
  removeTrailingSlash: ()=>removeTrailingSlash,
90
90
  retriable: ()=>retriable,
91
91
  safeSetTimeout: ()=>safeSetTimeout,
92
- stripUrlHash: ()=>stripUrlHash
92
+ stripUrlHash: ()=>stripUrlHash,
93
+ toJsonSafeValue: ()=>_json_utils__WEBPACK_IMPORTED_MODULE_3__.toJsonSafeValue
93
94
  });
94
95
  var _bot_detection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./bot-detection");
95
96
  var __WEBPACK_REEXPORT_OBJECT__ = {};
96
97
  for(var __WEBPACK_IMPORT_KEY__ in _bot_detection__WEBPACK_IMPORTED_MODULE_0__)if ([
97
98
  "removeTrailingSlash",
98
99
  "isValidUUID",
100
+ "toJsonSafeValue",
99
101
  "currentISOTime",
100
102
  "safeSetTimeout",
101
103
  "UUID_REGEX",
@@ -119,6 +121,7 @@ var __webpack_exports__ = {};
119
121
  for(var __WEBPACK_IMPORT_KEY__ in _browser_utils__WEBPACK_IMPORTED_MODULE_1__)if ([
120
122
  "removeTrailingSlash",
121
123
  "isValidUUID",
124
+ "toJsonSafeValue",
122
125
  "currentISOTime",
123
126
  "safeSetTimeout",
124
127
  "UUID_REGEX",
@@ -142,6 +145,7 @@ var __webpack_exports__ = {};
142
145
  for(var __WEBPACK_IMPORT_KEY__ in _bucketed_rate_limiter__WEBPACK_IMPORTED_MODULE_2__)if ([
143
146
  "removeTrailingSlash",
144
147
  "isValidUUID",
148
+ "toJsonSafeValue",
145
149
  "currentISOTime",
146
150
  "safeSetTimeout",
147
151
  "UUID_REGEX",
@@ -161,33 +165,12 @@ var __webpack_exports__ = {};
161
165
  }).bind(0, __WEBPACK_IMPORT_KEY__);
162
166
  __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
163
167
  var _json_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("./json-utils");
164
- var __WEBPACK_REEXPORT_OBJECT__ = {};
165
- for(var __WEBPACK_IMPORT_KEY__ in _json_utils__WEBPACK_IMPORTED_MODULE_3__)if ([
166
- "removeTrailingSlash",
167
- "isValidUUID",
168
- "currentISOTime",
169
- "safeSetTimeout",
170
- "UUID_REGEX",
171
- "assert",
172
- "allSettled",
173
- "retriable",
174
- "default",
175
- "stripUrlHash",
176
- "STRING_FORMAT",
177
- "currentTimestamp",
178
- "raceWithTimeout",
179
- "getFetch",
180
- "getEventUuid",
181
- "isPromise"
182
- ].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
183
- return _json_utils__WEBPACK_IMPORTED_MODULE_3__[key];
184
- }).bind(0, __WEBPACK_IMPORT_KEY__);
185
- __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
186
168
  var _number_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("./number-utils");
187
169
  var __WEBPACK_REEXPORT_OBJECT__ = {};
188
170
  for(var __WEBPACK_IMPORT_KEY__ in _number_utils__WEBPACK_IMPORTED_MODULE_4__)if ([
189
171
  "removeTrailingSlash",
190
172
  "isValidUUID",
173
+ "toJsonSafeValue",
191
174
  "currentISOTime",
192
175
  "safeSetTimeout",
193
176
  "UUID_REGEX",
@@ -211,6 +194,7 @@ var __webpack_exports__ = {};
211
194
  for(var __WEBPACK_IMPORT_KEY__ in _string_utils__WEBPACK_IMPORTED_MODULE_5__)if ([
212
195
  "removeTrailingSlash",
213
196
  "isValidUUID",
197
+ "toJsonSafeValue",
214
198
  "currentISOTime",
215
199
  "safeSetTimeout",
216
200
  "UUID_REGEX",
@@ -234,6 +218,7 @@ var __webpack_exports__ = {};
234
218
  for(var __WEBPACK_IMPORT_KEY__ in _type_utils__WEBPACK_IMPORTED_MODULE_6__)if ([
235
219
  "removeTrailingSlash",
236
220
  "isValidUUID",
221
+ "toJsonSafeValue",
237
222
  "currentISOTime",
238
223
  "safeSetTimeout",
239
224
  "UUID_REGEX",
@@ -257,6 +242,7 @@ var __webpack_exports__ = {};
257
242
  for(var __WEBPACK_IMPORT_KEY__ in _promise_queue__WEBPACK_IMPORTED_MODULE_7__)if ([
258
243
  "removeTrailingSlash",
259
244
  "isValidUUID",
245
+ "toJsonSafeValue",
260
246
  "currentISOTime",
261
247
  "safeSetTimeout",
262
248
  "UUID_REGEX",
@@ -280,6 +266,7 @@ var __webpack_exports__ = {};
280
266
  for(var __WEBPACK_IMPORT_KEY__ in _logger__WEBPACK_IMPORTED_MODULE_8__)if ([
281
267
  "removeTrailingSlash",
282
268
  "isValidUUID",
269
+ "toJsonSafeValue",
283
270
  "currentISOTime",
284
271
  "safeSetTimeout",
285
272
  "UUID_REGEX",
@@ -303,6 +290,7 @@ var __webpack_exports__ = {};
303
290
  for(var __WEBPACK_IMPORT_KEY__ in _user_agent_utils__WEBPACK_IMPORTED_MODULE_9__)if ([
304
291
  "removeTrailingSlash",
305
292
  "isValidUUID",
293
+ "toJsonSafeValue",
306
294
  "currentISOTime",
307
295
  "safeSetTimeout",
308
296
  "UUID_REGEX",
@@ -417,6 +405,7 @@ exports.removeTrailingSlash = __webpack_exports__.removeTrailingSlash;
417
405
  exports.retriable = __webpack_exports__.retriable;
418
406
  exports.safeSetTimeout = __webpack_exports__.safeSetTimeout;
419
407
  exports.stripUrlHash = __webpack_exports__.stripUrlHash;
408
+ exports.toJsonSafeValue = __webpack_exports__.toJsonSafeValue;
420
409
  for(var __webpack_i__ in __webpack_exports__)if (-1 === [
421
410
  "STRING_FORMAT",
422
411
  "UUID_REGEX",
@@ -432,7 +421,8 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
432
421
  "removeTrailingSlash",
433
422
  "retriable",
434
423
  "safeSetTimeout",
435
- "stripUrlHash"
424
+ "stripUrlHash",
425
+ "toJsonSafeValue"
436
426
  ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
437
427
  Object.defineProperty(exports, '__esModule', {
438
428
  value: true
@@ -1,7 +1,7 @@
1
+ import { toJsonSafeValue } from "./json-utils.mjs";
1
2
  export * from "./bot-detection.mjs";
2
3
  export * from "./browser-utils.mjs";
3
4
  export * from "./bucketed-rate-limiter.mjs";
4
- export * from "./json-utils.mjs";
5
5
  export * from "./number-utils.mjs";
6
6
  export * from "./string-utils.mjs";
7
7
  export * from "./type-utils.mjs";
@@ -88,4 +88,4 @@ function allSettled(promises) {
88
88
  reason
89
89
  }))));
90
90
  }
91
- export { STRING_FORMAT, UUID_REGEX, allSettled, assert, currentISOTime, currentTimestamp, getEventUuid, getFetch, isPromise, isValidUUID, raceWithTimeout, removeTrailingSlash, retriable, safeSetTimeout, stripUrlHash };
91
+ export { STRING_FORMAT, UUID_REGEX, allSettled, assert, currentISOTime, currentTimestamp, getEventUuid, getFetch, isPromise, isValidUUID, raceWithTimeout, removeTrailingSlash, retriable, safeSetTimeout, stripUrlHash, toJsonSafeValue };
@@ -1,3 +1,18 @@
1
+ /** Traversal budgets and markers, shared with the OTLP attribute encoder. Not
2
+ * public API — `utils/index.ts` re-exports `toJsonSafeValue` only. */
3
+ export declare const MAX_JSON_SAFE_VALUE_DEPTH = 20;
4
+ export declare const MAX_JSON_SAFE_VALUE_ITEMS = 1000;
5
+ export declare const MAX_JSON_SAFE_VALUE_NODES = 10000;
6
+ export declare const CIRCULAR_VALUE = "[Circular]";
7
+ export declare const TRUNCATED_VALUE = "[Truncated]";
8
+ export declare const UNSERIALIZABLE_VALUE = "[Unserializable]";
9
+ export declare const FUNCTION_VALUE = "[Function]";
10
+ /**
11
+ * Replaces unpaired surrogates with U+FFFD. A lone surrogate survives
12
+ * `JSON.stringify` as a `\uD800`-style escape, which strict JSON parsers
13
+ * reject — for OTLP that means the whole request is refused.
14
+ */
15
+ export declare function sanitizeString(value: string): string;
1
16
  /**
2
17
  * Converts an arbitrary value, sanitizing `toJSON` results when available.
3
18
  * The limits keep pathological values from causing unbounded recursion or traversal.
@@ -1 +1 @@
1
- {"version":3,"file":"json-utils.d.ts","sourceRoot":"","sources":["../../src/utils/json-utils.ts"],"names":[],"mappings":"AAoCA;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CA2GvD"}
1
+ {"version":3,"file":"json-utils.d.ts","sourceRoot":"","sources":["../../src/utils/json-utils.ts"],"names":[],"mappings":"AAAA;sEACsE;AACtE,eAAO,MAAM,yBAAyB,KAAK,CAAA;AAC3C,eAAO,MAAM,yBAAyB,OAAQ,CAAA;AAC9C,eAAO,MAAM,yBAAyB,QAAS,CAAA;AAC/C,eAAO,MAAM,cAAc,eAAe,CAAA;AAC1C,eAAO,MAAM,eAAe,gBAAgB,CAAA;AAC5C,eAAO,MAAM,oBAAoB,qBAAqB,CAAA;AACtD,eAAO,MAAM,cAAc,eAAe,CAAA;AAW1C;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiBpD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CA2GvD"}
@@ -24,6 +24,14 @@ var __webpack_require__ = {};
24
24
  var __webpack_exports__ = {};
25
25
  __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
+ CIRCULAR_VALUE: ()=>CIRCULAR_VALUE,
28
+ FUNCTION_VALUE: ()=>FUNCTION_VALUE,
29
+ MAX_JSON_SAFE_VALUE_DEPTH: ()=>MAX_JSON_SAFE_VALUE_DEPTH,
30
+ MAX_JSON_SAFE_VALUE_ITEMS: ()=>MAX_JSON_SAFE_VALUE_ITEMS,
31
+ MAX_JSON_SAFE_VALUE_NODES: ()=>MAX_JSON_SAFE_VALUE_NODES,
32
+ TRUNCATED_VALUE: ()=>TRUNCATED_VALUE,
33
+ UNSERIALIZABLE_VALUE: ()=>UNSERIALIZABLE_VALUE,
34
+ sanitizeString: ()=>sanitizeString,
27
35
  toJsonSafeValue: ()=>toJsonSafeValue
28
36
  });
29
37
  const MAX_JSON_SAFE_VALUE_DEPTH = 20;
@@ -119,8 +127,24 @@ function toJsonSafeValue(value) {
119
127
  };
120
128
  return convert(value, 0);
121
129
  }
130
+ exports.CIRCULAR_VALUE = __webpack_exports__.CIRCULAR_VALUE;
131
+ exports.FUNCTION_VALUE = __webpack_exports__.FUNCTION_VALUE;
132
+ exports.MAX_JSON_SAFE_VALUE_DEPTH = __webpack_exports__.MAX_JSON_SAFE_VALUE_DEPTH;
133
+ exports.MAX_JSON_SAFE_VALUE_ITEMS = __webpack_exports__.MAX_JSON_SAFE_VALUE_ITEMS;
134
+ exports.MAX_JSON_SAFE_VALUE_NODES = __webpack_exports__.MAX_JSON_SAFE_VALUE_NODES;
135
+ exports.TRUNCATED_VALUE = __webpack_exports__.TRUNCATED_VALUE;
136
+ exports.UNSERIALIZABLE_VALUE = __webpack_exports__.UNSERIALIZABLE_VALUE;
137
+ exports.sanitizeString = __webpack_exports__.sanitizeString;
122
138
  exports.toJsonSafeValue = __webpack_exports__.toJsonSafeValue;
123
139
  for(var __webpack_i__ in __webpack_exports__)if (-1 === [
140
+ "CIRCULAR_VALUE",
141
+ "FUNCTION_VALUE",
142
+ "MAX_JSON_SAFE_VALUE_DEPTH",
143
+ "MAX_JSON_SAFE_VALUE_ITEMS",
144
+ "MAX_JSON_SAFE_VALUE_NODES",
145
+ "TRUNCATED_VALUE",
146
+ "UNSERIALIZABLE_VALUE",
147
+ "sanitizeString",
124
148
  "toJsonSafeValue"
125
149
  ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
126
150
  Object.defineProperty(exports, '__esModule', {
@@ -91,4 +91,4 @@ function toJsonSafeValue(value) {
91
91
  };
92
92
  return convert(value, 0);
93
93
  }
94
- export { toJsonSafeValue };
94
+ export { CIRCULAR_VALUE, FUNCTION_VALUE, MAX_JSON_SAFE_VALUE_DEPTH, MAX_JSON_SAFE_VALUE_ITEMS, MAX_JSON_SAFE_VALUE_NODES, TRUNCATED_VALUE, UNSERIALIZABLE_VALUE, sanitizeString, toJsonSafeValue };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@posthog/core",
3
- "version": "1.48.6",
3
+ "version": "1.48.8",
4
4
  "bugs": {
5
5
  "url": "https://github.com/PostHog/posthog-js/issues"
6
6
  },
@@ -70,7 +70,7 @@
70
70
  }
71
71
  },
72
72
  "dependencies": {
73
- "@posthog/types": "^1.405.0"
73
+ "@posthog/types": "^1.405.1"
74
74
  },
75
75
  "devDependencies": {
76
76
  "@rslib/core": "0.10.6",
@@ -119,7 +119,7 @@ export class PostHogLogs {
119
119
  // Build before deferring so attributes reflect state at capture time, not
120
120
  // at drain time (identity/session changes between capture and drain must
121
121
  // not corrupt recorded attributes).
122
- const record = buildOtlpLogRecord(filtered, this._getContext())
122
+ const record = buildOtlpLogRecord(filtered, this._getContext(), this._logger)
123
123
  const entry: BufferedLogEntry = { record }
124
124
 
125
125
  this._onReady(() => this._enqueue(entry))