@posthog/core 1.26.0 → 1.27.1
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.
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +100 -29
- package/dist/index.mjs +3 -1
- package/dist/logs/logs-utils.d.ts +26 -0
- package/dist/logs/logs-utils.d.ts.map +1 -0
- package/dist/logs/logs-utils.js +181 -0
- package/dist/logs/logs-utils.mjs +132 -0
- package/dist/tracing-headers.d.ts +23 -0
- package/dist/tracing-headers.d.ts.map +1 -0
- package/dist/tracing-headers.js +85 -0
- package/dist/tracing-headers.mjs +51 -0
- package/dist/types.d.ts +12 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -1
- package/src/index.ts +9 -0
- package/src/logs/logs-utils.spec.ts +264 -0
- package/src/logs/logs-utils.ts +198 -0
- package/src/tracing-headers.ts +105 -0
- package/src/types.ts +13 -0
package/dist/index.d.ts
CHANGED
|
@@ -2,9 +2,11 @@ export { getFeatureFlagValue } from './featureFlagUtils';
|
|
|
2
2
|
export { gzipCompress, isNativeAsyncGzipReadError } from './gzip';
|
|
3
3
|
export * from './utils';
|
|
4
4
|
export * as ErrorTracking from './error-tracking';
|
|
5
|
+
export { buildOtlpLogRecord, buildOtlpLogsPayload, getOtlpSeverityNumber, getOtlpSeverityText, toOtlpAnyValue, toOtlpKeyValueList, } from './logs/logs-utils';
|
|
5
6
|
export { uuidv7 } from './vendor/uuidv7';
|
|
6
7
|
export * from './posthog-core';
|
|
7
8
|
export * from './posthog-core-stateless';
|
|
9
|
+
export * from './tracing-headers';
|
|
8
10
|
export * from './types';
|
|
9
11
|
export { getValidationError, getLengthFromRules, getRequirementsHint } from './surveys/validation';
|
|
10
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,QAAQ,CAAA;AACjE,cAAc,SAAS,CAAA;AACvB,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,0BAA0B,CAAA;AACxC,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,QAAQ,CAAA;AACjE,cAAc,SAAS,CAAA;AACvB,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAA;AACjD,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -9,6 +9,9 @@ var __webpack_modules__ = {
|
|
|
9
9
|
"./gzip": function(module) {
|
|
10
10
|
module.exports = require("./gzip.js");
|
|
11
11
|
},
|
|
12
|
+
"./logs/logs-utils": function(module) {
|
|
13
|
+
module.exports = require("./logs/logs-utils.js");
|
|
14
|
+
},
|
|
12
15
|
"./posthog-core-stateless": function(module) {
|
|
13
16
|
module.exports = require("./posthog-core-stateless.js");
|
|
14
17
|
},
|
|
@@ -18,6 +21,9 @@ var __webpack_modules__ = {
|
|
|
18
21
|
"./surveys/validation": function(module) {
|
|
19
22
|
module.exports = require("./surveys/validation.js");
|
|
20
23
|
},
|
|
24
|
+
"./tracing-headers": function(module) {
|
|
25
|
+
module.exports = require("./tracing-headers.js");
|
|
26
|
+
},
|
|
21
27
|
"./types": function(module) {
|
|
22
28
|
module.exports = require("./types.js");
|
|
23
29
|
},
|
|
@@ -73,100 +79,165 @@ var __webpack_exports__ = {};
|
|
|
73
79
|
__webpack_require__.r(__webpack_exports__);
|
|
74
80
|
__webpack_require__.d(__webpack_exports__, {
|
|
75
81
|
ErrorTracking: ()=>_error_tracking__WEBPACK_IMPORTED_MODULE_3__,
|
|
82
|
+
buildOtlpLogRecord: ()=>_logs_logs_utils__WEBPACK_IMPORTED_MODULE_4__.buildOtlpLogRecord,
|
|
83
|
+
buildOtlpLogsPayload: ()=>_logs_logs_utils__WEBPACK_IMPORTED_MODULE_4__.buildOtlpLogsPayload,
|
|
76
84
|
getFeatureFlagValue: ()=>_featureFlagUtils__WEBPACK_IMPORTED_MODULE_0__.getFeatureFlagValue,
|
|
77
|
-
getLengthFromRules: ()=>
|
|
78
|
-
|
|
79
|
-
|
|
85
|
+
getLengthFromRules: ()=>_surveys_validation__WEBPACK_IMPORTED_MODULE_10__.getLengthFromRules,
|
|
86
|
+
getOtlpSeverityNumber: ()=>_logs_logs_utils__WEBPACK_IMPORTED_MODULE_4__.getOtlpSeverityNumber,
|
|
87
|
+
getOtlpSeverityText: ()=>_logs_logs_utils__WEBPACK_IMPORTED_MODULE_4__.getOtlpSeverityText,
|
|
88
|
+
getRequirementsHint: ()=>_surveys_validation__WEBPACK_IMPORTED_MODULE_10__.getRequirementsHint,
|
|
89
|
+
getValidationError: ()=>_surveys_validation__WEBPACK_IMPORTED_MODULE_10__.getValidationError,
|
|
80
90
|
gzipCompress: ()=>_gzip__WEBPACK_IMPORTED_MODULE_1__.gzipCompress,
|
|
81
91
|
isNativeAsyncGzipReadError: ()=>_gzip__WEBPACK_IMPORTED_MODULE_1__.isNativeAsyncGzipReadError,
|
|
82
|
-
|
|
92
|
+
toOtlpAnyValue: ()=>_logs_logs_utils__WEBPACK_IMPORTED_MODULE_4__.toOtlpAnyValue,
|
|
93
|
+
toOtlpKeyValueList: ()=>_logs_logs_utils__WEBPACK_IMPORTED_MODULE_4__.toOtlpKeyValueList,
|
|
94
|
+
uuidv7: ()=>_vendor_uuidv7__WEBPACK_IMPORTED_MODULE_5__.uuidv7
|
|
83
95
|
});
|
|
84
96
|
var _featureFlagUtils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./featureFlagUtils");
|
|
85
97
|
var _gzip__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./gzip");
|
|
86
98
|
var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("./utils?637c");
|
|
87
99
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
88
100
|
for(var __WEBPACK_IMPORT_KEY__ in _utils__WEBPACK_IMPORTED_MODULE_2__)if ([
|
|
101
|
+
"toOtlpKeyValueList",
|
|
102
|
+
"getOtlpSeverityText",
|
|
103
|
+
"isNativeAsyncGzipReadError",
|
|
104
|
+
"getFeatureFlagValue",
|
|
105
|
+
"uuidv7",
|
|
106
|
+
"getValidationError",
|
|
89
107
|
"ErrorTracking",
|
|
90
108
|
"gzipCompress",
|
|
91
109
|
"default",
|
|
92
110
|
"getRequirementsHint",
|
|
93
|
-
"
|
|
111
|
+
"getOtlpSeverityNumber",
|
|
94
112
|
"getLengthFromRules",
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"
|
|
113
|
+
"buildOtlpLogsPayload",
|
|
114
|
+
"buildOtlpLogRecord",
|
|
115
|
+
"toOtlpAnyValue"
|
|
98
116
|
].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
99
117
|
return _utils__WEBPACK_IMPORTED_MODULE_2__[key];
|
|
100
118
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
101
119
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
102
120
|
var _error_tracking__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("./error-tracking");
|
|
103
|
-
var
|
|
104
|
-
var
|
|
121
|
+
var _logs_logs_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("./logs/logs-utils");
|
|
122
|
+
var _vendor_uuidv7__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("./vendor/uuidv7");
|
|
123
|
+
var _posthog_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("./posthog-core");
|
|
105
124
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
106
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
125
|
+
for(var __WEBPACK_IMPORT_KEY__ in _posthog_core__WEBPACK_IMPORTED_MODULE_6__)if ([
|
|
126
|
+
"toOtlpKeyValueList",
|
|
127
|
+
"getOtlpSeverityText",
|
|
128
|
+
"isNativeAsyncGzipReadError",
|
|
129
|
+
"getFeatureFlagValue",
|
|
130
|
+
"uuidv7",
|
|
131
|
+
"getValidationError",
|
|
107
132
|
"ErrorTracking",
|
|
108
133
|
"gzipCompress",
|
|
109
134
|
"default",
|
|
110
135
|
"getRequirementsHint",
|
|
111
|
-
"
|
|
136
|
+
"getOtlpSeverityNumber",
|
|
112
137
|
"getLengthFromRules",
|
|
113
|
-
"
|
|
114
|
-
"
|
|
115
|
-
"
|
|
138
|
+
"buildOtlpLogsPayload",
|
|
139
|
+
"buildOtlpLogRecord",
|
|
140
|
+
"toOtlpAnyValue"
|
|
116
141
|
].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
117
|
-
return
|
|
142
|
+
return _posthog_core__WEBPACK_IMPORTED_MODULE_6__[key];
|
|
118
143
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
119
144
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
120
|
-
var
|
|
145
|
+
var _posthog_core_stateless__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("./posthog-core-stateless");
|
|
121
146
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
122
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
147
|
+
for(var __WEBPACK_IMPORT_KEY__ in _posthog_core_stateless__WEBPACK_IMPORTED_MODULE_7__)if ([
|
|
148
|
+
"toOtlpKeyValueList",
|
|
149
|
+
"getOtlpSeverityText",
|
|
150
|
+
"isNativeAsyncGzipReadError",
|
|
151
|
+
"getFeatureFlagValue",
|
|
152
|
+
"uuidv7",
|
|
153
|
+
"getValidationError",
|
|
123
154
|
"ErrorTracking",
|
|
124
155
|
"gzipCompress",
|
|
125
156
|
"default",
|
|
126
157
|
"getRequirementsHint",
|
|
127
|
-
"
|
|
158
|
+
"getOtlpSeverityNumber",
|
|
128
159
|
"getLengthFromRules",
|
|
129
|
-
"
|
|
130
|
-
"
|
|
131
|
-
"
|
|
160
|
+
"buildOtlpLogsPayload",
|
|
161
|
+
"buildOtlpLogRecord",
|
|
162
|
+
"toOtlpAnyValue"
|
|
132
163
|
].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
133
|
-
return
|
|
164
|
+
return _posthog_core_stateless__WEBPACK_IMPORTED_MODULE_7__[key];
|
|
134
165
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
135
166
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
136
|
-
var
|
|
167
|
+
var _tracing_headers__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("./tracing-headers");
|
|
137
168
|
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
138
|
-
for(var __WEBPACK_IMPORT_KEY__ in
|
|
169
|
+
for(var __WEBPACK_IMPORT_KEY__ in _tracing_headers__WEBPACK_IMPORTED_MODULE_8__)if ([
|
|
170
|
+
"toOtlpKeyValueList",
|
|
171
|
+
"getOtlpSeverityText",
|
|
172
|
+
"isNativeAsyncGzipReadError",
|
|
173
|
+
"getFeatureFlagValue",
|
|
174
|
+
"uuidv7",
|
|
175
|
+
"getValidationError",
|
|
139
176
|
"ErrorTracking",
|
|
140
177
|
"gzipCompress",
|
|
141
178
|
"default",
|
|
142
179
|
"getRequirementsHint",
|
|
143
|
-
"
|
|
180
|
+
"getOtlpSeverityNumber",
|
|
144
181
|
"getLengthFromRules",
|
|
182
|
+
"buildOtlpLogsPayload",
|
|
183
|
+
"buildOtlpLogRecord",
|
|
184
|
+
"toOtlpAnyValue"
|
|
185
|
+
].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
186
|
+
return _tracing_headers__WEBPACK_IMPORTED_MODULE_8__[key];
|
|
187
|
+
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
188
|
+
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
189
|
+
var _types__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__("./types");
|
|
190
|
+
var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
191
|
+
for(var __WEBPACK_IMPORT_KEY__ in _types__WEBPACK_IMPORTED_MODULE_9__)if ([
|
|
192
|
+
"toOtlpKeyValueList",
|
|
193
|
+
"getOtlpSeverityText",
|
|
194
|
+
"isNativeAsyncGzipReadError",
|
|
145
195
|
"getFeatureFlagValue",
|
|
146
196
|
"uuidv7",
|
|
147
|
-
"getValidationError"
|
|
197
|
+
"getValidationError",
|
|
198
|
+
"ErrorTracking",
|
|
199
|
+
"gzipCompress",
|
|
200
|
+
"default",
|
|
201
|
+
"getRequirementsHint",
|
|
202
|
+
"getOtlpSeverityNumber",
|
|
203
|
+
"getLengthFromRules",
|
|
204
|
+
"buildOtlpLogsPayload",
|
|
205
|
+
"buildOtlpLogRecord",
|
|
206
|
+
"toOtlpAnyValue"
|
|
148
207
|
].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
|
|
149
|
-
return
|
|
208
|
+
return _types__WEBPACK_IMPORTED_MODULE_9__[key];
|
|
150
209
|
}).bind(0, __WEBPACK_IMPORT_KEY__);
|
|
151
210
|
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
152
|
-
var
|
|
211
|
+
var _surveys_validation__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__("./surveys/validation");
|
|
153
212
|
})();
|
|
154
213
|
exports.ErrorTracking = __webpack_exports__.ErrorTracking;
|
|
214
|
+
exports.buildOtlpLogRecord = __webpack_exports__.buildOtlpLogRecord;
|
|
215
|
+
exports.buildOtlpLogsPayload = __webpack_exports__.buildOtlpLogsPayload;
|
|
155
216
|
exports.getFeatureFlagValue = __webpack_exports__.getFeatureFlagValue;
|
|
156
217
|
exports.getLengthFromRules = __webpack_exports__.getLengthFromRules;
|
|
218
|
+
exports.getOtlpSeverityNumber = __webpack_exports__.getOtlpSeverityNumber;
|
|
219
|
+
exports.getOtlpSeverityText = __webpack_exports__.getOtlpSeverityText;
|
|
157
220
|
exports.getRequirementsHint = __webpack_exports__.getRequirementsHint;
|
|
158
221
|
exports.getValidationError = __webpack_exports__.getValidationError;
|
|
159
222
|
exports.gzipCompress = __webpack_exports__.gzipCompress;
|
|
160
223
|
exports.isNativeAsyncGzipReadError = __webpack_exports__.isNativeAsyncGzipReadError;
|
|
224
|
+
exports.toOtlpAnyValue = __webpack_exports__.toOtlpAnyValue;
|
|
225
|
+
exports.toOtlpKeyValueList = __webpack_exports__.toOtlpKeyValueList;
|
|
161
226
|
exports.uuidv7 = __webpack_exports__.uuidv7;
|
|
162
227
|
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
163
228
|
"ErrorTracking",
|
|
229
|
+
"buildOtlpLogRecord",
|
|
230
|
+
"buildOtlpLogsPayload",
|
|
164
231
|
"getFeatureFlagValue",
|
|
165
232
|
"getLengthFromRules",
|
|
233
|
+
"getOtlpSeverityNumber",
|
|
234
|
+
"getOtlpSeverityText",
|
|
166
235
|
"getRequirementsHint",
|
|
167
236
|
"getValidationError",
|
|
168
237
|
"gzipCompress",
|
|
169
238
|
"isNativeAsyncGzipReadError",
|
|
239
|
+
"toOtlpAnyValue",
|
|
240
|
+
"toOtlpKeyValueList",
|
|
170
241
|
"uuidv7"
|
|
171
242
|
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
172
243
|
Object.defineProperty(exports, '__esModule', {
|
package/dist/index.mjs
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { getFeatureFlagValue } from "./featureFlagUtils.mjs";
|
|
2
2
|
import { gzipCompress, isNativeAsyncGzipReadError } from "./gzip.mjs";
|
|
3
|
+
import { buildOtlpLogRecord, buildOtlpLogsPayload, getOtlpSeverityNumber, getOtlpSeverityText, toOtlpAnyValue, toOtlpKeyValueList } from "./logs/logs-utils.mjs";
|
|
3
4
|
import { uuidv7 } from "./vendor/uuidv7.mjs";
|
|
4
5
|
import { getLengthFromRules, getRequirementsHint, getValidationError } from "./surveys/validation.mjs";
|
|
5
6
|
export * from "./utils/index.mjs";
|
|
6
7
|
export * from "./posthog-core.mjs";
|
|
7
8
|
export * from "./posthog-core-stateless.mjs";
|
|
9
|
+
export * from "./tracing-headers.mjs";
|
|
8
10
|
export * from "./types.mjs";
|
|
9
11
|
import * as __WEBPACK_EXTERNAL_MODULE__error_tracking_index_mjs_b3406d6f__ from "./error-tracking/index.mjs";
|
|
10
|
-
export { __WEBPACK_EXTERNAL_MODULE__error_tracking_index_mjs_b3406d6f__ as ErrorTracking, getFeatureFlagValue, getLengthFromRules, getRequirementsHint, getValidationError, gzipCompress, isNativeAsyncGzipReadError, uuidv7 };
|
|
12
|
+
export { __WEBPACK_EXTERNAL_MODULE__error_tracking_index_mjs_b3406d6f__ as ErrorTracking, buildOtlpLogRecord, buildOtlpLogsPayload, getFeatureFlagValue, getLengthFromRules, getOtlpSeverityNumber, getOtlpSeverityText, getRequirementsHint, getValidationError, gzipCompress, isNativeAsyncGzipReadError, toOtlpAnyValue, toOtlpKeyValueList, uuidv7 };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { CaptureLogOptions, LogAttributeValue, LogSdkContext, LogSeverityLevel, OtlpAnyValue, OtlpKeyValue, OtlpLogRecord, OtlpLogsPayload, OtlpSeverityText } from '@posthog/types';
|
|
2
|
+
export declare function getOtlpSeverityText(level: LogSeverityLevel): OtlpSeverityText;
|
|
3
|
+
export declare function getOtlpSeverityNumber(level: LogSeverityLevel): number;
|
|
4
|
+
export declare function toOtlpAnyValue(value: LogAttributeValue): OtlpAnyValue;
|
|
5
|
+
export declare function toOtlpKeyValueList(attrs: Record<string, LogAttributeValue>): OtlpKeyValue[];
|
|
6
|
+
/**
|
|
7
|
+
* Builds a single OTLP log record.
|
|
8
|
+
*
|
|
9
|
+
* Auto-attribute population is shape-driven: any field present on `sdkContext`
|
|
10
|
+
* is emitted as the corresponding attribute. Each SDK populates only the
|
|
11
|
+
* fields that apply to it (browser fills `currentUrl`; mobile fills
|
|
12
|
+
* `screenName` / `appState`), so a missing field never adds a stray attribute.
|
|
13
|
+
*
|
|
14
|
+
* User-provided `options.attributes` always wins on conflicts.
|
|
15
|
+
*/
|
|
16
|
+
export declare function buildOtlpLogRecord(options: CaptureLogOptions, sdkContext: LogSdkContext): OtlpLogRecord;
|
|
17
|
+
/**
|
|
18
|
+
* Wraps a list of records in the OTLP `resourceLogs` envelope.
|
|
19
|
+
*
|
|
20
|
+
* `scopeName` is the SDK package name (`posthog-js`, `posthog-react-native`,
|
|
21
|
+
* etc.). `scopeVersion` is the SDK semver. The server combines them into a
|
|
22
|
+
* single `instrumentation_scope` field (`{name}@{version}`) used for
|
|
23
|
+
* SDK-version-level attribution in queries and dashboards.
|
|
24
|
+
*/
|
|
25
|
+
export declare function buildOtlpLogsPayload(logRecords: OtlpLogRecord[], resourceAttributes: Record<string, LogAttributeValue>, scopeName: string, scopeVersion: string): OtlpLogsPayload;
|
|
26
|
+
//# sourceMappingURL=logs-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logs-utils.d.ts","sourceRoot":"","sources":["../../src/logs/logs-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,eAAe,EAEf,gBAAgB,EACjB,MAAM,gBAAgB,CAAA;AAkBvB,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,CAE7E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAErE;AAMD,wBAAgB,cAAc,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY,CAiCrE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,YAAY,EAAE,CAU3F;AAiBD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,GAAG,aAAa,CAmDvG;AAMD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,aAAa,EAAE,EAC3B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EACrD,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GACnB,eAAe,CAcjB"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
toOtlpKeyValueList: ()=>toOtlpKeyValueList,
|
|
28
|
+
getOtlpSeverityNumber: ()=>getOtlpSeverityNumber,
|
|
29
|
+
getOtlpSeverityText: ()=>getOtlpSeverityText,
|
|
30
|
+
buildOtlpLogsPayload: ()=>buildOtlpLogsPayload,
|
|
31
|
+
buildOtlpLogRecord: ()=>buildOtlpLogRecord,
|
|
32
|
+
toOtlpAnyValue: ()=>toOtlpAnyValue
|
|
33
|
+
});
|
|
34
|
+
const index_js_namespaceObject = require("../utils/index.js");
|
|
35
|
+
const OTLP_SEVERITY_MAP = {
|
|
36
|
+
trace: {
|
|
37
|
+
text: 'TRACE',
|
|
38
|
+
number: 1
|
|
39
|
+
},
|
|
40
|
+
debug: {
|
|
41
|
+
text: 'DEBUG',
|
|
42
|
+
number: 5
|
|
43
|
+
},
|
|
44
|
+
info: {
|
|
45
|
+
text: 'INFO',
|
|
46
|
+
number: 9
|
|
47
|
+
},
|
|
48
|
+
warn: {
|
|
49
|
+
text: 'WARN',
|
|
50
|
+
number: 13
|
|
51
|
+
},
|
|
52
|
+
error: {
|
|
53
|
+
text: 'ERROR',
|
|
54
|
+
number: 17
|
|
55
|
+
},
|
|
56
|
+
fatal: {
|
|
57
|
+
text: 'FATAL',
|
|
58
|
+
number: 21
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
const DEFAULT_OTLP_SEVERITY = OTLP_SEVERITY_MAP.info;
|
|
62
|
+
function getOtlpSeverityText(level) {
|
|
63
|
+
return (OTLP_SEVERITY_MAP[level] || DEFAULT_OTLP_SEVERITY).text;
|
|
64
|
+
}
|
|
65
|
+
function getOtlpSeverityNumber(level) {
|
|
66
|
+
return (OTLP_SEVERITY_MAP[level] || DEFAULT_OTLP_SEVERITY).number;
|
|
67
|
+
}
|
|
68
|
+
function toOtlpAnyValue(value) {
|
|
69
|
+
if ((0, index_js_namespaceObject.isBoolean)(value)) return {
|
|
70
|
+
boolValue: value
|
|
71
|
+
};
|
|
72
|
+
if ('number' == typeof value) {
|
|
73
|
+
if (!Number.isFinite(value)) return {
|
|
74
|
+
stringValue: String(value)
|
|
75
|
+
};
|
|
76
|
+
if (Number.isInteger(value)) return {
|
|
77
|
+
intValue: value
|
|
78
|
+
};
|
|
79
|
+
return {
|
|
80
|
+
doubleValue: value
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
if ('string' == typeof value) return {
|
|
84
|
+
stringValue: value
|
|
85
|
+
};
|
|
86
|
+
if ((0, index_js_namespaceObject.isArray)(value)) return {
|
|
87
|
+
arrayValue: {
|
|
88
|
+
values: value.map((v)=>toOtlpAnyValue(v))
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
try {
|
|
92
|
+
return {
|
|
93
|
+
stringValue: JSON.stringify(value)
|
|
94
|
+
};
|
|
95
|
+
} catch {
|
|
96
|
+
return {
|
|
97
|
+
stringValue: String(value)
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
function toOtlpKeyValueList(attrs) {
|
|
102
|
+
const result = [];
|
|
103
|
+
for(const key in attrs){
|
|
104
|
+
const value = attrs[key];
|
|
105
|
+
if (!((0, index_js_namespaceObject.isNull)(value) || (0, index_js_namespaceObject.isUndefined)(value))) result.push({
|
|
106
|
+
key,
|
|
107
|
+
value: toOtlpAnyValue(value)
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
return result;
|
|
111
|
+
}
|
|
112
|
+
function timestampToUnixNano() {
|
|
113
|
+
return String(Date.now()) + '000000';
|
|
114
|
+
}
|
|
115
|
+
function buildOtlpLogRecord(options, sdkContext) {
|
|
116
|
+
const level = options.level || 'info';
|
|
117
|
+
const { text: severityText, number: severityNumber } = OTLP_SEVERITY_MAP[level] || DEFAULT_OTLP_SEVERITY;
|
|
118
|
+
const now = timestampToUnixNano();
|
|
119
|
+
const autoAttributes = {};
|
|
120
|
+
if (sdkContext.distinctId) autoAttributes.posthogDistinctId = sdkContext.distinctId;
|
|
121
|
+
if (sdkContext.sessionId) autoAttributes.sessionId = sdkContext.sessionId;
|
|
122
|
+
if (sdkContext.currentUrl) autoAttributes['url.full'] = sdkContext.currentUrl;
|
|
123
|
+
if (sdkContext.screenName) autoAttributes['screen.name'] = sdkContext.screenName;
|
|
124
|
+
if (sdkContext.appState) autoAttributes['app.state'] = sdkContext.appState;
|
|
125
|
+
if (sdkContext.activeFeatureFlags && sdkContext.activeFeatureFlags.length > 0) autoAttributes.feature_flags = sdkContext.activeFeatureFlags;
|
|
126
|
+
const mergedAttributes = {
|
|
127
|
+
...autoAttributes,
|
|
128
|
+
...options.attributes || {}
|
|
129
|
+
};
|
|
130
|
+
const record = {
|
|
131
|
+
timeUnixNano: now,
|
|
132
|
+
observedTimeUnixNano: now,
|
|
133
|
+
severityNumber,
|
|
134
|
+
severityText,
|
|
135
|
+
body: {
|
|
136
|
+
stringValue: options.body
|
|
137
|
+
},
|
|
138
|
+
attributes: toOtlpKeyValueList(mergedAttributes)
|
|
139
|
+
};
|
|
140
|
+
if (options.trace_id) record.traceId = options.trace_id;
|
|
141
|
+
if (options.span_id) record.spanId = options.span_id;
|
|
142
|
+
if (!(0, index_js_namespaceObject.isUndefined)(options.trace_flags)) record.flags = options.trace_flags;
|
|
143
|
+
return record;
|
|
144
|
+
}
|
|
145
|
+
function buildOtlpLogsPayload(logRecords, resourceAttributes, scopeName, scopeVersion) {
|
|
146
|
+
return {
|
|
147
|
+
resourceLogs: [
|
|
148
|
+
{
|
|
149
|
+
resource: {
|
|
150
|
+
attributes: toOtlpKeyValueList(resourceAttributes)
|
|
151
|
+
},
|
|
152
|
+
scopeLogs: [
|
|
153
|
+
{
|
|
154
|
+
scope: {
|
|
155
|
+
name: scopeName,
|
|
156
|
+
version: scopeVersion
|
|
157
|
+
},
|
|
158
|
+
logRecords
|
|
159
|
+
}
|
|
160
|
+
]
|
|
161
|
+
}
|
|
162
|
+
]
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
exports.buildOtlpLogRecord = __webpack_exports__.buildOtlpLogRecord;
|
|
166
|
+
exports.buildOtlpLogsPayload = __webpack_exports__.buildOtlpLogsPayload;
|
|
167
|
+
exports.getOtlpSeverityNumber = __webpack_exports__.getOtlpSeverityNumber;
|
|
168
|
+
exports.getOtlpSeverityText = __webpack_exports__.getOtlpSeverityText;
|
|
169
|
+
exports.toOtlpAnyValue = __webpack_exports__.toOtlpAnyValue;
|
|
170
|
+
exports.toOtlpKeyValueList = __webpack_exports__.toOtlpKeyValueList;
|
|
171
|
+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
172
|
+
"buildOtlpLogRecord",
|
|
173
|
+
"buildOtlpLogsPayload",
|
|
174
|
+
"getOtlpSeverityNumber",
|
|
175
|
+
"getOtlpSeverityText",
|
|
176
|
+
"toOtlpAnyValue",
|
|
177
|
+
"toOtlpKeyValueList"
|
|
178
|
+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
179
|
+
Object.defineProperty(exports, '__esModule', {
|
|
180
|
+
value: true
|
|
181
|
+
});
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { isArray, isBoolean, isNull, isUndefined } from "../utils/index.mjs";
|
|
2
|
+
const OTLP_SEVERITY_MAP = {
|
|
3
|
+
trace: {
|
|
4
|
+
text: 'TRACE',
|
|
5
|
+
number: 1
|
|
6
|
+
},
|
|
7
|
+
debug: {
|
|
8
|
+
text: 'DEBUG',
|
|
9
|
+
number: 5
|
|
10
|
+
},
|
|
11
|
+
info: {
|
|
12
|
+
text: 'INFO',
|
|
13
|
+
number: 9
|
|
14
|
+
},
|
|
15
|
+
warn: {
|
|
16
|
+
text: 'WARN',
|
|
17
|
+
number: 13
|
|
18
|
+
},
|
|
19
|
+
error: {
|
|
20
|
+
text: 'ERROR',
|
|
21
|
+
number: 17
|
|
22
|
+
},
|
|
23
|
+
fatal: {
|
|
24
|
+
text: 'FATAL',
|
|
25
|
+
number: 21
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const DEFAULT_OTLP_SEVERITY = OTLP_SEVERITY_MAP.info;
|
|
29
|
+
function getOtlpSeverityText(level) {
|
|
30
|
+
return (OTLP_SEVERITY_MAP[level] || DEFAULT_OTLP_SEVERITY).text;
|
|
31
|
+
}
|
|
32
|
+
function getOtlpSeverityNumber(level) {
|
|
33
|
+
return (OTLP_SEVERITY_MAP[level] || DEFAULT_OTLP_SEVERITY).number;
|
|
34
|
+
}
|
|
35
|
+
function toOtlpAnyValue(value) {
|
|
36
|
+
if (isBoolean(value)) return {
|
|
37
|
+
boolValue: value
|
|
38
|
+
};
|
|
39
|
+
if ('number' == typeof value) {
|
|
40
|
+
if (!Number.isFinite(value)) return {
|
|
41
|
+
stringValue: String(value)
|
|
42
|
+
};
|
|
43
|
+
if (Number.isInteger(value)) return {
|
|
44
|
+
intValue: value
|
|
45
|
+
};
|
|
46
|
+
return {
|
|
47
|
+
doubleValue: value
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
if ('string' == typeof value) return {
|
|
51
|
+
stringValue: value
|
|
52
|
+
};
|
|
53
|
+
if (isArray(value)) return {
|
|
54
|
+
arrayValue: {
|
|
55
|
+
values: value.map((v)=>toOtlpAnyValue(v))
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
try {
|
|
59
|
+
return {
|
|
60
|
+
stringValue: JSON.stringify(value)
|
|
61
|
+
};
|
|
62
|
+
} catch {
|
|
63
|
+
return {
|
|
64
|
+
stringValue: String(value)
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
function toOtlpKeyValueList(attrs) {
|
|
69
|
+
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)
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
return result;
|
|
78
|
+
}
|
|
79
|
+
function timestampToUnixNano() {
|
|
80
|
+
return String(Date.now()) + '000000';
|
|
81
|
+
}
|
|
82
|
+
function buildOtlpLogRecord(options, sdkContext) {
|
|
83
|
+
const level = options.level || 'info';
|
|
84
|
+
const { text: severityText, number: severityNumber } = OTLP_SEVERITY_MAP[level] || DEFAULT_OTLP_SEVERITY;
|
|
85
|
+
const now = timestampToUnixNano();
|
|
86
|
+
const autoAttributes = {};
|
|
87
|
+
if (sdkContext.distinctId) autoAttributes.posthogDistinctId = sdkContext.distinctId;
|
|
88
|
+
if (sdkContext.sessionId) autoAttributes.sessionId = sdkContext.sessionId;
|
|
89
|
+
if (sdkContext.currentUrl) autoAttributes['url.full'] = sdkContext.currentUrl;
|
|
90
|
+
if (sdkContext.screenName) autoAttributes['screen.name'] = sdkContext.screenName;
|
|
91
|
+
if (sdkContext.appState) autoAttributes['app.state'] = sdkContext.appState;
|
|
92
|
+
if (sdkContext.activeFeatureFlags && sdkContext.activeFeatureFlags.length > 0) autoAttributes.feature_flags = sdkContext.activeFeatureFlags;
|
|
93
|
+
const mergedAttributes = {
|
|
94
|
+
...autoAttributes,
|
|
95
|
+
...options.attributes || {}
|
|
96
|
+
};
|
|
97
|
+
const record = {
|
|
98
|
+
timeUnixNano: now,
|
|
99
|
+
observedTimeUnixNano: now,
|
|
100
|
+
severityNumber,
|
|
101
|
+
severityText,
|
|
102
|
+
body: {
|
|
103
|
+
stringValue: options.body
|
|
104
|
+
},
|
|
105
|
+
attributes: toOtlpKeyValueList(mergedAttributes)
|
|
106
|
+
};
|
|
107
|
+
if (options.trace_id) record.traceId = options.trace_id;
|
|
108
|
+
if (options.span_id) record.spanId = options.span_id;
|
|
109
|
+
if (!isUndefined(options.trace_flags)) record.flags = options.trace_flags;
|
|
110
|
+
return record;
|
|
111
|
+
}
|
|
112
|
+
function buildOtlpLogsPayload(logRecords, resourceAttributes, scopeName, scopeVersion) {
|
|
113
|
+
return {
|
|
114
|
+
resourceLogs: [
|
|
115
|
+
{
|
|
116
|
+
resource: {
|
|
117
|
+
attributes: toOtlpKeyValueList(resourceAttributes)
|
|
118
|
+
},
|
|
119
|
+
scopeLogs: [
|
|
120
|
+
{
|
|
121
|
+
scope: {
|
|
122
|
+
name: scopeName,
|
|
123
|
+
version: scopeVersion
|
|
124
|
+
},
|
|
125
|
+
logRecords
|
|
126
|
+
}
|
|
127
|
+
]
|
|
128
|
+
}
|
|
129
|
+
]
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
export { buildOtlpLogRecord, buildOtlpLogsPayload, getOtlpSeverityNumber, getOtlpSeverityText, toOtlpAnyValue, toOtlpKeyValueList };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal contract the tracing-headers patch needs from a PostHog client:
|
|
3
|
+
* something that can report the current distinct and session ids.
|
|
4
|
+
*/
|
|
5
|
+
export interface TracingHeadersClient {
|
|
6
|
+
getDistinctId(): string;
|
|
7
|
+
getSessionId(): string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Patches `globalThis.fetch` to inject `X-POSTHOG-DISTINCT-ID` and
|
|
11
|
+
* `X-POSTHOG-SESSION-ID` headers on requests whose hostname matches `hostnames`.
|
|
12
|
+
*
|
|
13
|
+
* Used by SDKs that run in environments with a WHATWG `fetch` (posthog-react-native,
|
|
14
|
+
* posthog-web) to link outgoing requests to the PostHog session — e.g. to link LLM
|
|
15
|
+
* traces captured by a backend to a frontend session replay.
|
|
16
|
+
*
|
|
17
|
+
* The wrapped fetch is tagged with a non-enumerable marker so that calling this
|
|
18
|
+
* again (on HMR, tests, or a second PostHog instance) unwraps the previous patch
|
|
19
|
+
* before rewrapping — preventing patches from stacking. Returns a function that
|
|
20
|
+
* restores the original fetch when called.
|
|
21
|
+
*/
|
|
22
|
+
export declare const patchFetchForTracingHeaders: (client: TracingHeadersClient, hostnames: string[]) => (() => void);
|
|
23
|
+
//# sourceMappingURL=tracing-headers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracing-headers.d.ts","sourceRoot":"","sources":["../src/tracing-headers.ts"],"names":[],"mappings":"AAsBA;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,aAAa,IAAI,MAAM,CAAA;IACvB,YAAY,IAAI,MAAM,CAAA;CACvB;AAKD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,2BAA2B,GAAI,QAAQ,oBAAoB,EAAE,WAAW,MAAM,EAAE,KAAG,CAAC,MAAM,IAAI,CAyD1G,CAAA"}
|