@vrplatform/log 2.0.36 → 2.0.37

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 (58) hide show
  1. package/build/main/tracking/_intercom.d.ts +109 -0
  2. package/build/main/tracking/_intercom.js +139 -0
  3. package/build/main/tracking/_intercom.js.map +1 -0
  4. package/build/main/tracking/eventTypes.d.ts +16 -0
  5. package/build/main/{type.js → tracking/eventTypes.js} +1 -1
  6. package/build/main/tracking/eventTypes.js.map +1 -0
  7. package/build/main/tracking/index.d.ts +0 -6
  8. package/build/main/tracking/index.js +5 -82
  9. package/build/main/tracking/index.js.map +1 -1
  10. package/build/main/tracking/intercom.d.ts +109 -0
  11. package/build/main/tracking/intercom.js +139 -0
  12. package/build/main/tracking/intercom.js.map +1 -0
  13. package/build/main/tracking/types.d.ts +0 -3
  14. package/build/module/tracking/_intercom.d.ts +109 -0
  15. package/build/module/tracking/_intercom.js +136 -0
  16. package/build/module/tracking/_intercom.js.map +1 -0
  17. package/build/module/tracking/eventTypes.d.ts +16 -0
  18. package/build/module/tracking/eventTypes.js +2 -0
  19. package/build/module/tracking/eventTypes.js.map +1 -0
  20. package/build/module/tracking/index.d.ts +0 -6
  21. package/build/module/tracking/index.js +6 -83
  22. package/build/module/tracking/index.js.map +1 -1
  23. package/build/module/tracking/intercom.d.ts +109 -0
  24. package/build/module/tracking/intercom.js +136 -0
  25. package/build/module/tracking/intercom.js.map +1 -0
  26. package/build/module/tracking/types.d.ts +0 -3
  27. package/package.json +1 -3
  28. package/src/tracking/index.ts +5 -110
  29. package/src/tracking/types.ts +0 -3
  30. package/build/main/baselog.d.ts +0 -19
  31. package/build/main/baselog.js +0 -137
  32. package/build/main/baselog.js.map +0 -1
  33. package/build/main/color.d.ts +0 -54
  34. package/build/main/color.js +0 -371
  35. package/build/main/color.js.map +0 -1
  36. package/build/main/common.d.ts +0 -29
  37. package/build/main/common.js +0 -86
  38. package/build/main/common.js.map +0 -1
  39. package/build/main/index.spec.d.ts +0 -0
  40. package/build/main/index.spec.js +0 -2
  41. package/build/main/index.spec.js.map +0 -1
  42. package/build/main/type.d.ts +0 -39
  43. package/build/main/type.js.map +0 -1
  44. package/build/module/baselog.d.ts +0 -19
  45. package/build/module/baselog.js +0 -120
  46. package/build/module/baselog.js.map +0 -1
  47. package/build/module/color.d.ts +0 -54
  48. package/build/module/color.js +0 -375
  49. package/build/module/color.js.map +0 -1
  50. package/build/module/common.d.ts +0 -29
  51. package/build/module/common.js +0 -80
  52. package/build/module/common.js.map +0 -1
  53. package/build/module/index.spec.d.ts +0 -0
  54. package/build/module/index.spec.js +0 -2
  55. package/build/module/index.spec.js.map +0 -1
  56. package/build/module/type.d.ts +0 -39
  57. package/build/module/type.js +0 -2
  58. package/build/module/type.js.map +0 -1
@@ -0,0 +1,109 @@
1
+ import type { Log } from '../log';
2
+ export declare class IntercomAPI {
3
+ constructor(token: string, log?: Log);
4
+ private headers;
5
+ private log?;
6
+ private fetch;
7
+ getUserByUserId(userId: string): Promise<{
8
+ type: "list";
9
+ data: {
10
+ id: string;
11
+ }[] | undefined;
12
+ total_count: 0;
13
+ pages: {
14
+ type: "pages";
15
+ page: 1;
16
+ per_page: 10;
17
+ total_pages: 0;
18
+ };
19
+ } | undefined>;
20
+ createUser({ data, userId, }: {
21
+ userId: string;
22
+ data: {
23
+ email: string;
24
+ name: string;
25
+ custom_attributes: Record<string, any>;
26
+ };
27
+ }): Promise<unknown>;
28
+ updateUser({ data, contactId, }: {
29
+ contactId: string;
30
+ data: {
31
+ email?: string;
32
+ name?: string;
33
+ custom_attributes: Record<string, any>;
34
+ [key: string]: any;
35
+ };
36
+ }): Promise<unknown>;
37
+ deleteUser(intercom_contact_id: string): Promise<{
38
+ id: "6657adf56abd0167d9419d1c";
39
+ external_id: "70";
40
+ type: "contact";
41
+ deleted: true;
42
+ } | undefined>;
43
+ createCompanyUser(data: {
44
+ intercom_contact_id: string;
45
+ intercom_company_id: string;
46
+ }): Promise<unknown>;
47
+ deleteCompanyUser({ intercom_company_id, intercom_contact_id, }: {
48
+ intercom_contact_id: string;
49
+ intercom_company_id: string;
50
+ }): Promise<{
51
+ id: "6657adc96abd0167d9419ca7";
52
+ } | undefined>;
53
+ trackEvent(data: {
54
+ user_id: string;
55
+ event_name: string;
56
+ metadata: Record<string, any>;
57
+ }): Promise<unknown>;
58
+ getCompanyByTenantId(tenantId: string): Promise<{
59
+ type: "list";
60
+ data: [{
61
+ type: "company";
62
+ company_id: "remote_companies_scroll_2";
63
+ id: "664df5436abd01f7945e1a78";
64
+ app_id: "this_is_an_id111_that_should_be_at_least_";
65
+ name: "IntercomQATest1";
66
+ remote_created_at: 1716385091;
67
+ created_at: 1716385091;
68
+ updated_at: 1716385091;
69
+ monthly_spend: 0;
70
+ session_count: 0;
71
+ user_count: 4;
72
+ tags: {
73
+ type: "tag.list";
74
+ tags: [];
75
+ };
76
+ segments: {
77
+ type: "segment.list";
78
+ segments: [];
79
+ };
80
+ custom_attributes: Record<string, string>;
81
+ }] | undefined;
82
+ pages: {
83
+ type: "pages";
84
+ next: null;
85
+ page: 1;
86
+ per_page: 15;
87
+ total_pages: 1;
88
+ };
89
+ total_count: 1;
90
+ } | undefined>;
91
+ createCompany({ data, tenantId, }: {
92
+ tenantId: string;
93
+ data: {
94
+ name: string;
95
+ remote_created_at: number;
96
+ custom_attributes: Record<string, any>;
97
+ };
98
+ }): Promise<unknown>;
99
+ updateCompany({ data, companyId, }: {
100
+ companyId: string;
101
+ data: Record<string, any>;
102
+ }): Promise<unknown>;
103
+ deleteCompany(intercom_company_id: string): Promise<{
104
+ id: "6657adc96abd0167d9419ca7";
105
+ object: "company";
106
+ deleted: true;
107
+ } | undefined>;
108
+ }
109
+ export declare function useIntercom(token: string, log?: Log): IntercomAPI;
@@ -0,0 +1,136 @@
1
+ export class IntercomAPI {
2
+ constructor(token, log) {
3
+ this.headers = {
4
+ 'Content-Type': 'application/json',
5
+ Accept: 'application/json',
6
+ 'Intercom-Version': '2.11',
7
+ Authorization: `Bearer ${token}`,
8
+ };
9
+ this.log = log;
10
+ }
11
+ headers;
12
+ log;
13
+ async fetch(path, options) {
14
+ if (options?.data) {
15
+ options.body = JSON.stringify(options.data);
16
+ options.data = undefined;
17
+ }
18
+ try {
19
+ const result = await fetch(`https://api.intercom.io${path}`, {
20
+ method: 'GET',
21
+ headers: this.headers,
22
+ ...options,
23
+ });
24
+ if (!result.ok) {
25
+ this.log?.info('Failed to fetch from Intercom', {
26
+ result: {
27
+ status: result.status,
28
+ statusText: result.statusText,
29
+ body: await result.text(),
30
+ },
31
+ });
32
+ if (result.status === 404)
33
+ return undefined;
34
+ if (result.status === 429) {
35
+ console.log('Intercom rate limit exceeded, waiting for 1 minute');
36
+ // X-RateLimit-Reset: 1487332520 => timestamp from header response when resetting
37
+ const reset = Number(result.headers.get('X-RateLimit-Reset'));
38
+ if (reset) {
39
+ const now = Math.floor(Date.now() / 1000);
40
+ const wait = reset - now + 1;
41
+ console.log(`Waiting for ${wait} seconds`);
42
+ await new Promise((resolve) => setTimeout(resolve, wait * 1000));
43
+ return await this.fetch(path, options);
44
+ }
45
+ }
46
+ }
47
+ return result.status === 202 ? {} : (await result.json());
48
+ }
49
+ catch (error) {
50
+ this.log?.error(error);
51
+ return undefined;
52
+ }
53
+ }
54
+ // User
55
+ async getUserByUserId(userId) {
56
+ return await this.fetch('/contacts/search', {
57
+ method: 'POST',
58
+ data: {
59
+ query: {
60
+ field: 'external_id',
61
+ operator: '=',
62
+ value: userId,
63
+ },
64
+ },
65
+ });
66
+ }
67
+ async createUser({ data, userId, }) {
68
+ return await this.fetch('/contacts', {
69
+ method: 'POST',
70
+ data: { ...data, external_id: userId },
71
+ });
72
+ }
73
+ async updateUser({ data, contactId, }) {
74
+ return await this.fetch(`/contacts/${contactId}`, {
75
+ method: 'PUT',
76
+ data,
77
+ });
78
+ }
79
+ async deleteUser(intercom_contact_id) {
80
+ return await this.fetch(`/contacts/${intercom_contact_id}`, {
81
+ method: 'DELETE',
82
+ });
83
+ }
84
+ async createCompanyUser(data) {
85
+ return await this.fetch(`/contacts/${data.intercom_contact_id}/companies`, {
86
+ method: 'POST',
87
+ data: {
88
+ id: data.intercom_company_id,
89
+ },
90
+ });
91
+ }
92
+ async deleteCompanyUser({ intercom_company_id, intercom_contact_id, }) {
93
+ return await this.fetch(`/contacts/${intercom_contact_id}/companies/${intercom_company_id}`, {
94
+ method: 'DELETE',
95
+ });
96
+ }
97
+ async trackEvent(data) {
98
+ return await this.fetch('/events', {
99
+ method: 'POST',
100
+ data: {
101
+ created_at: Math.floor(new Date().getTime() / 1000), // to seconds
102
+ ...data,
103
+ },
104
+ });
105
+ }
106
+ // Company
107
+ async getCompanyByTenantId(tenantId) {
108
+ return await this.fetch(`/companies?company_id=${tenantId}`, {
109
+ method: 'GET',
110
+ });
111
+ }
112
+ async createCompany({ data, tenantId, }) {
113
+ return await this.fetch('/companies', {
114
+ method: 'POST',
115
+ data: {
116
+ ...data,
117
+ company_id: tenantId,
118
+ },
119
+ });
120
+ }
121
+ async updateCompany({ data, companyId, }) {
122
+ return await this.fetch(`/companies/${companyId}`, {
123
+ method: 'PUT',
124
+ data,
125
+ });
126
+ }
127
+ async deleteCompany(intercom_company_id) {
128
+ return await this.fetch(`/companies/${intercom_company_id}`, {
129
+ method: 'DELETE',
130
+ });
131
+ }
132
+ }
133
+ export function useIntercom(token, log) {
134
+ return new IntercomAPI(token, log);
135
+ }
136
+ //# sourceMappingURL=intercom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intercom.js","sourceRoot":"src/","sources":["tracking/intercom.ts"],"names":[],"mappings":"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"}
@@ -24,8 +24,6 @@ export type IdentifyProps = {
24
24
  role?: UserRole;
25
25
  [key: string]: string | number | boolean | null | undefined;
26
26
  };
27
- disableGeoip?: boolean;
28
- timestamp?: Date;
29
27
  };
30
28
  export type GroupProps = OptionalUser<{
31
29
  groupId: string;
@@ -52,7 +50,6 @@ export type GroupProps = OptionalUser<{
52
50
  trialUntil?: string;
53
51
  [key: string]: string | number | boolean | null | undefined;
54
52
  };
55
- timestamp?: Date;
56
53
  }>;
57
54
  export type TrackingEventProps = {
58
55
  account_invitation_accepted: AccountInvitationAcceptedProps;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vrplatform/log",
3
- "version": "2.0.36",
3
+ "version": "2.0.37",
4
4
  "main": "build/main/index.js",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -19,9 +19,7 @@
19
19
  "dependencies": {
20
20
  "@axiomhq/js": "1.0.0-rc.3",
21
21
  "@finalytic/graphql": "1.12.133",
22
- "@june-so/analytics-node": "8.0.0",
23
22
  "intercom-client": "6.0.0-beta.3",
24
- "posthog-node": "4.0.1",
25
23
  "serialize-error": "11.0.3"
26
24
  },
27
25
  "devDependencies": {
@@ -101,9 +101,8 @@ declare module 'intercom-client' {
101
101
  import { useHasuraClient } from '@finalytic/graphql';
102
102
  import { Analytics } from '@june-so/analytics-node';
103
103
  import { Intercom } from 'intercom-client';
104
- import { PostHog } from 'posthog-node';
105
104
  import { type LogBindings, type WorkerLog, useLog } from '../log';
106
- import { convertKeysToSnakeCase, isTest } from '../utils';
105
+ import { isTest } from '../utils';
107
106
  import { convertValuesToString } from '../utils/convertValuesToString';
108
107
  import type {
109
108
  GroupProps,
@@ -122,8 +121,6 @@ export type UseTracking = {
122
121
  dataset: string;
123
122
  env: {
124
123
  INTERCOM_TOKEN?: string;
125
- JUNESO_TOKEN?: string;
126
- POSTHOG_TOKEN?: string;
127
124
  HASURA_GRAPHQL_ADMIN_SECRET?: string;
128
125
  HASURA_ADMIN_SECRET?: string;
129
126
  } & LogBindings;
@@ -139,9 +136,7 @@ export const useTracking = (
139
136
  group: (props: GroupProps) => Promise<void>;
140
137
  shutdown: () => Promise<any>;
141
138
  log: WorkerLog;
142
- june?: Analytics;
143
139
  intercom?: Intercom;
144
- posthog?: PostHog;
145
140
  } => {
146
141
  const client = env.HASURA_GRAPHQL_ADMIN_SECRET
147
142
  ? useHasuraClient({
@@ -159,12 +154,6 @@ export const useTracking = (
159
154
  // }),
160
155
  })
161
156
  : undefined;
162
- const june = env.JUNESO_TOKEN ? new Analytics(env.JUNESO_TOKEN) : undefined;
163
- const posthog = env.POSTHOG_TOKEN
164
- ? new PostHog(env.POSTHOG_TOKEN, {
165
- host: 'https://app.posthog.com',
166
- })
167
- : undefined;
168
157
 
169
158
  return {
170
159
  // General
@@ -193,55 +182,7 @@ export const useTracking = (
193
182
  }).id
194
183
  );
195
184
 
196
- if (anonymousId) {
197
- posthog?.capture({
198
- distinctId: anonymousId,
199
- event,
200
- groups: {
201
- tenant: groupId,
202
- },
203
- timestamp,
204
- properties: convertKeysToSnakeCase(properties),
205
- });
206
-
207
- june?.track(
208
- {
209
- anonymousId,
210
- event,
211
- properties,
212
- timestamp,
213
- context: { groupId },
214
- },
215
- (err) => {
216
- if (err) console.error(err);
217
- }
218
- );
219
-
220
- // no intercom for anonymous
221
- } else if (userId) {
222
- posthog?.capture({
223
- distinctId: userId,
224
- event,
225
- groups: {
226
- tenant: groupId,
227
- },
228
- timestamp,
229
- properties: convertKeysToSnakeCase(properties),
230
- });
231
-
232
- june?.track(
233
- {
234
- userId,
235
- event,
236
- properties,
237
- timestamp,
238
- context: { groupId },
239
- },
240
- (err) => {
241
- if (err) console.error(err);
242
- }
243
- );
244
-
185
+ if (userId) {
245
186
  try {
246
187
  await intercom?.dataEvents.create({
247
188
  body: {
@@ -256,29 +197,9 @@ export const useTracking = (
256
197
  }
257
198
  }
258
199
  },
259
- identify: async ({
260
- traits,
261
- userId,
262
- disableGeoip,
263
- timestamp = new Date(),
264
- }: IdentifyProps) => {
200
+ identify: async ({ traits, userId }: IdentifyProps) => {
265
201
  if (isDev || isTest(userId)) return;
266
202
 
267
- posthog?.identify({
268
- distinctId: userId,
269
- properties: convertKeysToSnakeCase(traits),
270
- disableGeoip,
271
- });
272
-
273
- june?.identify(
274
- {
275
- userId,
276
- traits,
277
- timestamp,
278
- },
279
- (err) => (err ? console.error(err) : {})
280
- );
281
-
282
203
  // upsert intercom user
283
204
  try {
284
205
  const data = {
@@ -322,7 +243,6 @@ export const useTracking = (
322
243
  groupId,
323
244
  userId,
324
245
  anonymousId,
325
- timestamp = new Date(),
326
246
  }: GroupProps) => {
327
247
  if (isDev || isTest(userId || anonymousId || '', groupId)) return;
328
248
 
@@ -374,29 +294,7 @@ export const useTracking = (
374
294
  console.error(e);
375
295
  }
376
296
 
377
- if (anonymousId) {
378
- posthog?.groupIdentify({
379
- groupKey: groupId,
380
- groupType: 'tenant',
381
- properties: convertKeysToSnakeCase(traits),
382
- distinctId: anonymousId,
383
- });
384
-
385
- june?.group({ anonymousId, groupId, traits, timestamp }, (err) =>
386
- err ? console.error(err) : {}
387
- );
388
- } else if (userId) {
389
- posthog?.groupIdentify({
390
- groupKey: groupId,
391
- groupType: 'tenant',
392
- properties: convertKeysToSnakeCase(traits),
393
- distinctId: userId,
394
- });
395
-
396
- june?.group({ userId, groupId, traits, timestamp }, (err) =>
397
- err ? console.error(err) : {}
398
- );
399
-
297
+ if (userId) {
400
298
  // attach intercom user to intercom company
401
299
  try {
402
300
  const intercomUser = (
@@ -417,12 +315,9 @@ export const useTracking = (
417
315
  }
418
316
  }
419
317
  },
420
- shutdown: async () =>
421
- Promise.all([posthog?.shutdown(), june?.closeAndFlush(), log?.flush()]),
318
+ shutdown: async () => log?.flush(),
422
319
  // export dependencies
423
320
  intercom,
424
- posthog,
425
- june,
426
321
  log,
427
322
  };
428
323
  };
@@ -36,8 +36,6 @@ export type IdentifyProps = {
36
36
  role?: UserRole;
37
37
  [key: string]: string | number | boolean | null | undefined;
38
38
  };
39
- disableGeoip?: boolean;
40
- timestamp?: Date;
41
39
  };
42
40
 
43
41
  export type GroupProps = OptionalUser<{
@@ -65,7 +63,6 @@ export type GroupProps = OptionalUser<{
65
63
  trialUntil?: string;
66
64
  [key: string]: string | number | boolean | null | undefined;
67
65
  };
68
- timestamp?: Date;
69
66
  }>;
70
67
 
71
68
  export type TrackingEventProps = {
@@ -1,19 +0,0 @@
1
- import type { BaseLog } from './type';
2
- export * from './type';
3
- export declare function createBaseLog({ token, orgId, dataset, consoleLog, }: {
4
- token?: string;
5
- orgId?: string;
6
- dataset?: string;
7
- consoleLog?: boolean | 'color';
8
- }, { environment, workerId, app, version, context, type, correlationId, executionContext, }: {
9
- correlationId?: string;
10
- environment?: 'development' | 'production';
11
- type?: 'worker' | 'durableObject';
12
- workerId?: string;
13
- app?: string;
14
- version?: string;
15
- context?: Record<string, any>;
16
- executionContext?: {
17
- waitUntil(promise: Promise<any>): void;
18
- };
19
- }): BaseLog;
@@ -1,137 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.createBaseLog = createBaseLog;
18
- const common_1 = require("./common");
19
- __exportStar(require("./type"), exports);
20
- const js_1 = require("@axiomhq/js");
21
- const serialize_error_1 = require("serialize-error");
22
- const color_1 = require("./color");
23
- let lastMessageTimestamp = undefined;
24
- function createBaseLog({ token, orgId = 'vrplatform-mv6k', dataset, consoleLog, }, { environment, workerId, app, version, context, type, correlationId, executionContext, }) {
25
- const baseFields = {
26
- type: type || 'worker',
27
- environment: environment || 'production',
28
- worker: {
29
- id: workerId || 'default',
30
- app: app || 'default',
31
- version: version || 'default',
32
- started: new Date().toISOString(),
33
- },
34
- ...context,
35
- };
36
- const axiom = token
37
- ? new js_1.Axiom({
38
- token,
39
- orgId,
40
- onError(err) {
41
- console.log('Axiom error', err);
42
- },
43
- })
44
- : undefined;
45
- function ingest(level, message, additionalFields = {}) {
46
- axiom?.ingest(dataset, {
47
- _time: Date.now(),
48
- level,
49
- message,
50
- ...baseFields,
51
- ...additionalFields,
52
- });
53
- }
54
- function createBaseLog(arg = {}) {
55
- const childContext = arg.context || {};
56
- if (arg.request) {
57
- childContext.request = (0, common_1.requestToContext)(arg.request);
58
- }
59
- const baseLog = (level, message, additionalContext = {}, error) => {
60
- const cid = arg.correlationId ||
61
- correlationId ||
62
- childContext?.correlationId ||
63
- additionalContext?.correlationId ||
64
- correlationId;
65
- ingest(level, message, {
66
- ...childContext,
67
- ...additionalContext,
68
- correlationId: cid,
69
- });
70
- if (consoleLog) {
71
- const name = arg.name ? `${app}/${arg.name}` : app;
72
- const lev = level.toUpperCase();
73
- const now = Date.now();
74
- const diff = (lastMessageTimestamp ? `${now - lastMessageTimestamp}ms ` : '').padEnd(6, ' ');
75
- lastMessageTimestamp = now;
76
- error = message instanceof Error ? message : error;
77
- message = message instanceof Error ? message.message : message;
78
- if (consoleLog === 'color')
79
- color_1.logger
80
- .dim()
81
- .append(`${diff}`)
82
- .reset()
83
- .color('green')
84
- .append(`[${name}] `)
85
- .reset()
86
- .bold()
87
- .append(`${lev} `)
88
- .reset()
89
- .color('blue')
90
- .bold()
91
- .append(cid ? `[${cid}] ` : '')
92
- .reset()
93
- .append(message)
94
- .log();
95
- else
96
- console.log(`[${lev}] [${name}]${cid ? ` [${cid}]` : ''} ${message}`, additionalContext);
97
- if (error)
98
- console.error(error);
99
- }
100
- };
101
- return {
102
- addContext(arg) {
103
- for (const key in arg) {
104
- childContext[key] = arg[key];
105
- }
106
- },
107
- child: ({ correlationId, name, request, context = {}, }) => createBaseLog({
108
- correlationId: correlationId ||
109
- (request ? (0, common_1.getCorrelationId)(request) : undefined) ||
110
- undefined,
111
- name,
112
- request,
113
- context: { ...childContext, ...context },
114
- }),
115
- error: (message, error) => {
116
- const m = typeof message === 'string'
117
- ? message
118
- : error?.message || error?.name || 'Error';
119
- const e = typeof message === 'string' ? error : message;
120
- return baseLog('error', m, e instanceof Error ? (0, serialize_error_1.serializeError)(e) : e, e);
121
- },
122
- debug: (message, data) => baseLog('debug', message, data),
123
- warn: (message, data) => baseLog('warn', message, data),
124
- info: (message, data) => baseLog('info', message, data),
125
- };
126
- }
127
- const baseLog = createBaseLog();
128
- baseLog.flush = () => {
129
- if (executionContext && axiom) {
130
- executionContext.waitUntil(axiom.flush());
131
- }
132
- else if (axiom)
133
- return axiom.flush();
134
- };
135
- return baseLog;
136
- }
137
- //# sourceMappingURL=baselog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"baselog.js","sourceRoot":"src/","sources":["baselog.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AASA,sCAgLC;AAzLD,qCAA8D;AAE9D,yCAAuB;AACvB,oCAAoC;AACpC,qDAAiD;AACjD,mCAAiC;AAEjC,IAAI,oBAAoB,GAAuB,SAAS,CAAC;AAEzD,SAAgB,aAAa,CAC3B,EACE,KAAK,EACL,KAAK,GAAG,iBAAiB,EACzB,OAAO,EACP,UAAU,GAMX,EACD,EACE,WAAW,EACX,QAAQ,EACR,GAAG,EACH,OAAO,EACP,OAAO,EACP,IAAI,EACJ,aAAa,EACb,gBAAgB,GAYjB;IAED,MAAM,UAAU,GAAwB;QACtC,IAAI,EAAE,IAAI,IAAI,QAAQ;QACtB,WAAW,EAAE,WAAW,IAAI,YAAY;QACxC,MAAM,EAAE;YACN,EAAE,EAAE,QAAQ,IAAI,SAAS;YACzB,GAAG,EAAE,GAAG,IAAI,SAAS;YACrB,OAAO,EAAE,OAAO,IAAI,SAAS;YAC7B,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SAClC;QACD,GAAG,OAAO;KACX,CAAC;IAEF,MAAM,KAAK,GAAG,KAAK;QACjB,CAAC,CAAC,IAAI,UAAK,CAAC;YACR,KAAK;YACL,KAAK;YACL,OAAO,CAAC,GAAG;gBACT,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;YAClC,CAAC;SACF,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IAEd,SAAS,MAAM,CACb,KAAkD,EAClD,OAAe,EACf,mBAAwC,EAAE;QAE1C,KAAK,EAAE,MAAM,CAAC,OAAQ,EAAE;YACtB,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE;YACjB,KAAK;YACL,OAAO;YACP,GAAG,UAAU;YACb,GAAG,gBAAgB;SACpB,CAAC,CAAC;IACL,CAAC;IAED,SAAS,aAAa,CAAC,MAAuB,EAAE;QAC9C,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;QACvC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,YAAY,CAAC,OAAO,GAAG,IAAA,yBAAgB,EAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,OAAO,GAAG,CACd,KAAa,EACb,OAAY,EACZ,oBAAyC,EAAE,EAC3C,KAAa,EACb,EAAE;YACF,MAAM,GAAG,GACP,GAAG,CAAC,aAAa;gBACjB,aAAa;gBACb,YAAY,EAAE,aAAa;gBAC3B,iBAAiB,EAAE,aAAa;gBAChC,aAAa,CAAC;YAChB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE;gBACrB,GAAG,YAAY;gBACf,GAAG,iBAAiB;gBACpB,aAAa,EAAE,GAAG;aACnB,CAAC,CAAC;YACH,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBACnD,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;gBAEhC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,CACX,oBAAoB,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,oBAAoB,KAAK,CAAC,CAAC,CAAC,EAAE,CAC/D,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACjB,oBAAoB,GAAG,GAAG,CAAC;gBAE3B,KAAK,GAAG,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;gBACnD,OAAO,GAAG,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC/D,IAAI,UAAU,KAAK,OAAO;oBACxB,cAAM;yBACH,GAAG,EAAE;yBACL,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;yBACjB,KAAK,EAAE;yBACP,KAAK,CAAC,OAAO,CAAC;yBACd,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC;yBACpB,KAAK,EAAE;yBACP,IAAI,EAAE;yBACN,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;yBACjB,KAAK,EAAE;yBACP,KAAK,CAAC,MAAM,CAAC;yBACb,IAAI,EAAE;yBACN,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;yBAC9B,KAAK,EAAE;yBACP,MAAM,CAAC,OAAO,CAAC;yBACf,GAAG,EAAE,CAAC;;oBAET,OAAO,CAAC,GAAG,CACT,IAAI,GAAG,MAAM,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,EAAE,EACxD,iBAAiB,CAClB,CAAC;gBAEJ,IAAI,KAAK;oBAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC;QACF,OAAO;YACL,UAAU,CAAC,GAAG;gBACZ,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;oBACtB,YAAY,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;YACD,KAAK,EAAE,CAAC,EACN,aAAa,EACb,IAAI,EACJ,OAAO,EACP,OAAO,GAAG,EAAE,GACI,EAAE,EAAE,CACpB,aAAa,CAAC;gBACZ,aAAa,EACX,aAAa;oBACb,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,yBAAgB,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACjD,SAAS;gBACX,IAAI;gBACJ,OAAO;gBACP,OAAO,EAAE,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,EAAE;aACzC,CAAC;YACJ,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;gBACxB,MAAM,CAAC,GACL,OAAO,OAAO,KAAK,QAAQ;oBACzB,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,IAAI,IAAI,OAAO,CAAC;gBAC/C,MAAM,CAAC,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;gBACxD,OAAO,OAAO,CACZ,OAAO,EACP,CAAC,EACD,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,IAAA,gCAAc,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1C,CAAC,CACF,CAAC;YACJ,CAAC;YACD,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;YACzD,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;YACvD,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;SACxD,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,EAAoB,CAAC;IAClD,OAAO,CAAC,KAAK,GAAG,GAAG,EAAE;QACnB,IAAI,gBAAgB,IAAI,KAAK,EAAE,CAAC;YAC9B,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC"}