@dbos-inc/dbos-sdk 0.7.35 → 0.8.12-preview

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 (108) hide show
  1. package/dist/src/cloud-cli/applications/configure.d.ts.map +1 -1
  2. package/dist/src/cloud-cli/applications/configure.js +12 -2
  3. package/dist/src/cloud-cli/applications/configure.js.map +1 -1
  4. package/dist/src/cloud-cli/applications/delete-app.js +1 -1
  5. package/dist/src/cloud-cli/applications/delete-app.js.map +1 -1
  6. package/dist/src/cloud-cli/applications/deploy-app-code.d.ts.map +1 -1
  7. package/dist/src/cloud-cli/applications/deploy-app-code.js +10 -2
  8. package/dist/src/cloud-cli/applications/deploy-app-code.js.map +1 -1
  9. package/dist/src/cloud-cli/applications/get-app-logs.js +1 -1
  10. package/dist/src/cloud-cli/applications/get-app-logs.js.map +1 -1
  11. package/dist/src/cloud-cli/applications/list-apps.js +1 -1
  12. package/dist/src/cloud-cli/applications/list-apps.js.map +1 -1
  13. package/dist/src/cloud-cli/applications/register-app.js +1 -1
  14. package/dist/src/cloud-cli/applications/register-app.js.map +1 -1
  15. package/dist/src/cloud-cli/applications/update-app.d.ts.map +1 -1
  16. package/dist/src/cloud-cli/applications/update-app.js +3 -2
  17. package/dist/src/cloud-cli/applications/update-app.js.map +1 -1
  18. package/dist/src/cloud-cli/login.d.ts.map +1 -1
  19. package/dist/src/cloud-cli/login.js +3 -2
  20. package/dist/src/cloud-cli/login.js.map +1 -1
  21. package/dist/src/cloud-cli/register.js +1 -1
  22. package/dist/src/cloud-cli/register.js.map +1 -1
  23. package/dist/src/cloud-cli/userdb.d.ts.map +1 -1
  24. package/dist/src/cloud-cli/userdb.js +32 -11
  25. package/dist/src/cloud-cli/userdb.js.map +1 -1
  26. package/dist/src/communicator.d.ts +1 -1
  27. package/dist/src/communicator.d.ts.map +1 -1
  28. package/dist/src/context.d.ts +1 -1
  29. package/dist/src/context.d.ts.map +1 -1
  30. package/dist/src/context.js +1 -1
  31. package/dist/src/context.js.map +1 -1
  32. package/dist/src/dbos-executor.d.ts +18 -7
  33. package/dist/src/dbos-executor.d.ts.map +1 -1
  34. package/dist/src/dbos-executor.js +155 -52
  35. package/dist/src/dbos-executor.js.map +1 -1
  36. package/dist/src/dbos-runtime/cli.d.ts +0 -1
  37. package/dist/src/dbos-runtime/cli.d.ts.map +1 -1
  38. package/dist/src/dbos-runtime/cli.js +14 -2
  39. package/dist/src/dbos-runtime/cli.js.map +1 -1
  40. package/dist/src/dbos-runtime/config.d.ts.map +1 -1
  41. package/dist/src/dbos-runtime/config.js +0 -1
  42. package/dist/src/dbos-runtime/config.js.map +1 -1
  43. package/dist/src/dbos-runtime/debug.d.ts +4 -0
  44. package/dist/src/dbos-runtime/debug.d.ts.map +1 -0
  45. package/dist/src/dbos-runtime/debug.js +23 -0
  46. package/dist/src/dbos-runtime/debug.js.map +1 -0
  47. package/dist/src/dbos-runtime/runtime.d.ts +1 -1
  48. package/dist/src/dbos-runtime/runtime.d.ts.map +1 -1
  49. package/dist/src/dbos-runtime/runtime.js +13 -14
  50. package/dist/src/dbos-runtime/runtime.js.map +1 -1
  51. package/dist/src/debugger/debug_workflow.js +6 -6
  52. package/dist/src/debugger/debug_workflow.js.map +1 -1
  53. package/dist/src/httpServer/server.d.ts +1 -1
  54. package/dist/src/httpServer/server.d.ts.map +1 -1
  55. package/dist/src/{dbos-runtime → staticAnalysis}/TypeParser.d.ts +4 -0
  56. package/dist/src/staticAnalysis/TypeParser.d.ts.map +1 -0
  57. package/dist/src/{dbos-runtime → staticAnalysis}/TypeParser.js +34 -1
  58. package/dist/src/staticAnalysis/TypeParser.js.map +1 -0
  59. package/dist/src/{dbos-runtime → staticAnalysis}/openApi.d.ts.map +1 -1
  60. package/dist/src/{dbos-runtime → staticAnalysis}/openApi.js +1 -31
  61. package/dist/src/staticAnalysis/openApi.js.map +1 -0
  62. package/dist/src/staticAnalysis/tsDiagUtil.d.ts.map +1 -0
  63. package/dist/src/staticAnalysis/tsDiagUtil.js.map +1 -0
  64. package/dist/src/system_database.d.ts +20 -9
  65. package/dist/src/system_database.d.ts.map +1 -1
  66. package/dist/src/system_database.js +36 -41
  67. package/dist/src/system_database.js.map +1 -1
  68. package/dist/src/telemetry/collector.d.ts +5 -5
  69. package/dist/src/telemetry/collector.d.ts.map +1 -1
  70. package/dist/src/telemetry/collector.js +5 -17
  71. package/dist/src/telemetry/collector.js.map +1 -1
  72. package/dist/src/telemetry/exporters.d.ts +11 -24
  73. package/dist/src/telemetry/exporters.d.ts.map +1 -1
  74. package/dist/src/telemetry/exporters.js +42 -129
  75. package/dist/src/telemetry/exporters.js.map +1 -1
  76. package/dist/src/telemetry/index.d.ts +6 -2
  77. package/dist/src/telemetry/index.d.ts.map +1 -1
  78. package/dist/src/telemetry/index.js +16 -0
  79. package/dist/src/telemetry/index.js.map +1 -1
  80. package/dist/src/telemetry/logs.d.ts +35 -11
  81. package/dist/src/telemetry/logs.d.ts.map +1 -1
  82. package/dist/src/telemetry/logs.js +158 -53
  83. package/dist/src/telemetry/logs.js.map +1 -1
  84. package/dist/src/telemetry/traces.d.ts +1 -6
  85. package/dist/src/telemetry/traces.d.ts.map +1 -1
  86. package/dist/src/telemetry/traces.js +2 -34
  87. package/dist/src/telemetry/traces.js.map +1 -1
  88. package/dist/src/testing/testing_runtime.d.ts +1 -1
  89. package/dist/src/testing/testing_runtime.js +1 -1
  90. package/dist/src/transaction.d.ts +1 -1
  91. package/dist/src/transaction.d.ts.map +1 -1
  92. package/dist/src/workflow.d.ts +2 -0
  93. package/dist/src/workflow.d.ts.map +1 -1
  94. package/dist/src/workflow.js +18 -13
  95. package/dist/src/workflow.js.map +1 -1
  96. package/package.json +3 -2
  97. package/dist/src/dbos-runtime/TypeParser.d.ts.map +0 -1
  98. package/dist/src/dbos-runtime/TypeParser.js.map +0 -1
  99. package/dist/src/dbos-runtime/openApi.js.map +0 -1
  100. package/dist/src/dbos-runtime/tsDiagUtil.d.ts.map +0 -1
  101. package/dist/src/dbos-runtime/tsDiagUtil.js.map +0 -1
  102. package/dist/src/telemetry/signals.d.ts +0 -20
  103. package/dist/src/telemetry/signals.d.ts.map +0 -1
  104. package/dist/src/telemetry/signals.js +0 -11
  105. package/dist/src/telemetry/signals.js.map +0 -1
  106. /package/dist/src/{dbos-runtime → staticAnalysis}/openApi.d.ts +0 -0
  107. /package/dist/src/{dbos-runtime → staticAnalysis}/tsDiagUtil.d.ts +0 -0
  108. /package/dist/src/{dbos-runtime → staticAnalysis}/tsDiagUtil.js +0 -0
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  /* eslint-disable @typescript-eslint/no-explicit-any */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.PostgresSystemDatabase = exports.DBOSExecutorIDHeader = void 0;
4
+ exports.PostgresSystemDatabase = void 0;
5
5
  const serialize_error_1 = require("serialize-error");
6
6
  const dbos_executor_1 = require("./dbos-executor");
7
7
  const pg_1 = require("pg");
@@ -9,7 +9,6 @@ const error_1 = require("./error");
9
9
  const workflow_1 = require("./workflow");
10
10
  const system_db_schema_1 = require("../schemas/system_db_schema");
11
11
  const utils_1 = require("./utils");
12
- exports.DBOSExecutorIDHeader = "dbos-executor-id";
13
12
  class PostgresSystemDatabase {
14
13
  pgPoolConfig;
15
14
  systemDatabaseName;
@@ -53,7 +52,7 @@ class PostgresSystemDatabase {
53
52
  await this.pool.end();
54
53
  }
55
54
  async checkWorkflowOutput(workflowUUID) {
56
- const { rows } = await this.pool.query("SELECT status, output, error FROM workflow_status WHERE workflow_uuid=$1", [workflowUUID]);
55
+ const { rows } = await this.pool.query(`SELECT status, output, error FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status WHERE workflow_uuid=$1`, [workflowUUID]);
57
56
  if (rows.length === 0 || rows[0].status === workflow_1.StatusString.PENDING) {
58
57
  return dbos_executor_1.dbosNull;
59
58
  }
@@ -64,17 +63,13 @@ class PostgresSystemDatabase {
64
63
  return JSON.parse(rows[0].output);
65
64
  }
66
65
  }
67
- async initWorkflowStatus(workflowUUID, name, authenticatedUser, assumedRole, authenticatedRoles, request, args) {
68
- let executorID = "local";
69
- if (request && request.headers && request.headers[exports.DBOSExecutorIDHeader]) {
70
- executorID = request.headers[exports.DBOSExecutorIDHeader];
71
- }
72
- await this.pool.query(`INSERT INTO workflow_status (workflow_uuid, status, name, authenticated_user, assumed_role, authenticated_roles, request, output, executor_id) VALUES($1, $2, $3, $4, $5, $6, $7, $8, $9) ON CONFLICT (workflow_uuid) DO NOTHING`, [workflowUUID, workflow_1.StatusString.PENDING, name, authenticatedUser, assumedRole, JSON.stringify(authenticatedRoles), JSON.stringify(request), null, executorID]);
73
- const { rows } = await this.pool.query(`INSERT INTO workflow_inputs (workflow_uuid, inputs) VALUES($1, $2) ON CONFLICT (workflow_uuid) DO UPDATE SET workflow_uuid = excluded.workflow_uuid RETURNING inputs`, [workflowUUID, JSON.stringify(args)]);
66
+ async initWorkflowStatus(initStatus, args) {
67
+ await this.pool.query(`INSERT INTO ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status (workflow_uuid, status, name, authenticated_user, assumed_role, authenticated_roles, request, output, executor_id) VALUES($1, $2, $3, $4, $5, $6, $7, $8, $9) ON CONFLICT (workflow_uuid) DO NOTHING`, [initStatus.workflowUUID, initStatus.status, initStatus.name, initStatus.authenticatedUser, initStatus.assumedRole, JSON.stringify(initStatus.authenticatedRoles), JSON.stringify(initStatus.request), null, initStatus.executorID]);
68
+ const { rows } = await this.pool.query(`INSERT INTO ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_inputs (workflow_uuid, inputs) VALUES($1, $2) ON CONFLICT (workflow_uuid) DO UPDATE SET workflow_uuid = excluded.workflow_uuid RETURNING inputs`, [initStatus.workflowUUID, JSON.stringify(args)]);
74
69
  return JSON.parse(rows[0].inputs);
75
70
  }
76
- bufferWorkflowOutput(workflowUUID, output) {
77
- this.workflowStatusBuffer.set(workflowUUID, output);
71
+ bufferWorkflowOutput(workflowUUID, status) {
72
+ this.workflowStatusBuffer.set(workflowUUID, status);
78
73
  }
79
74
  /**
80
75
  * Flush the workflow output buffer to the database.
@@ -85,15 +80,16 @@ class PostgresSystemDatabase {
85
80
  try {
86
81
  const client = await this.pool.connect();
87
82
  await client.query("BEGIN");
88
- for (const [workflowUUID, output] of localBuffer) {
89
- await client.query(`INSERT INTO workflow_status (workflow_uuid, status, output) VALUES($1, $2, $3) ON CONFLICT (workflow_uuid)
90
- DO UPDATE SET status=EXCLUDED.status, output=EXCLUDED.output;`, [workflowUUID, workflow_1.StatusString.SUCCESS, JSON.stringify(output)]);
83
+ for (const [workflowUUID, status] of localBuffer) {
84
+ await client.query(`INSERT INTO ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status (workflow_uuid, status, name, authenticated_user, assumed_role, authenticated_roles, request, output, executor_id) VALUES($1, $2, $3, $4, $5, $6, $7, $8, $9) ON CONFLICT (workflow_uuid)
85
+ DO UPDATE SET status=EXCLUDED.status, output=EXCLUDED.output;`, [workflowUUID, status.status, status.name, status.authenticatedUser, status.assumedRole, JSON.stringify(status.authenticatedRoles), JSON.stringify(status.request), JSON.stringify(status.output), status.executorID]);
91
86
  }
92
87
  await client.query("COMMIT");
93
88
  client.release();
94
89
  }
95
90
  catch (error) {
96
- this.logger.error("Error flushing workflow buffer", error);
91
+ error.message = `Error flushing workflow buffer: ${error.message}`;
92
+ this.logger.error(error);
97
93
  // If there is a failure in flushing the buffer, return items to the global buffer for retrying later.
98
94
  for (const [workflowUUID, output] of localBuffer) {
99
95
  if (!this.workflowStatusBuffer.has(workflowUUID)) {
@@ -103,27 +99,26 @@ class PostgresSystemDatabase {
103
99
  }
104
100
  return Array.from(localBuffer.keys());
105
101
  }
106
- async recordWorkflowError(workflowUUID, error) {
107
- const serialErr = JSON.stringify((0, serialize_error_1.serializeError)(error));
108
- await this.pool.query(`INSERT INTO workflow_status (workflow_uuid, status, error) VALUES($1, $2, $3) ON CONFLICT (workflow_uuid)
109
- DO UPDATE SET status=EXCLUDED.status, error=EXCLUDED.error;`, [workflowUUID, workflow_1.StatusString.ERROR, serialErr]);
102
+ async recordWorkflowError(workflowUUID, status) {
103
+ await this.pool.query(`INSERT INTO ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status (workflow_uuid, status, name, authenticated_user, assumed_role, authenticated_roles, request, error, executor_id) VALUES($1, $2, $3, $4, $5, $6, $7, $8, $9) ON CONFLICT (workflow_uuid)
104
+ DO UPDATE SET status=EXCLUDED.status, error=EXCLUDED.error;`, [workflowUUID, workflow_1.StatusString.ERROR, status.name, status.authenticatedUser, status.assumedRole, JSON.stringify(status.authenticatedRoles), JSON.stringify(status.request), status.error, status.executorID]);
110
105
  }
111
106
  async getPendingWorkflows(executorID) {
112
- const { rows } = await this.pool.query(`SELECT workflow_uuid FROM workflow_status WHERE status=$1 AND executor_id=$2`, [workflow_1.StatusString.PENDING, executorID]);
107
+ const { rows } = await this.pool.query(`SELECT workflow_uuid FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status WHERE status=$1 AND executor_id=$2`, [workflow_1.StatusString.PENDING, executorID]);
113
108
  return rows.map(i => i.workflow_uuid);
114
109
  }
115
110
  async setWorkflowInputs(workflowUUID, args) {
116
- await this.pool.query(`INSERT INTO workflow_inputs (workflow_uuid, inputs) VALUES($1, $2) ON CONFLICT (workflow_uuid) DO NOTHING`, [workflowUUID, JSON.stringify(args)]);
111
+ await this.pool.query(`INSERT INTO ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_inputs (workflow_uuid, inputs) VALUES($1, $2) ON CONFLICT (workflow_uuid) DO NOTHING`, [workflowUUID, JSON.stringify(args)]);
117
112
  }
118
113
  async getWorkflowInputs(workflowUUID) {
119
- const { rows } = await this.pool.query(`SELECT inputs FROM workflow_inputs WHERE workflow_uuid=$1`, [workflowUUID]);
114
+ const { rows } = await this.pool.query(`SELECT inputs FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_inputs WHERE workflow_uuid=$1`, [workflowUUID]);
120
115
  if (rows.length === 0) {
121
116
  return null;
122
117
  }
123
118
  return JSON.parse(rows[0].inputs);
124
119
  }
125
120
  async checkOperationOutput(workflowUUID, functionID) {
126
- const { rows } = await this.pool.query("SELECT output, error FROM operation_outputs WHERE workflow_uuid=$1 AND function_id=$2", [workflowUUID, functionID]);
121
+ const { rows } = await this.pool.query(`SELECT output, error FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.operation_outputs WHERE workflow_uuid=$1 AND function_id=$2`, [workflowUUID, functionID]);
127
122
  if (rows.length === 0) {
128
123
  return dbos_executor_1.dbosNull;
129
124
  }
@@ -137,7 +132,7 @@ class PostgresSystemDatabase {
137
132
  async recordOperationOutput(workflowUUID, functionID, output) {
138
133
  const serialOutput = JSON.stringify(output);
139
134
  try {
140
- await this.pool.query("INSERT INTO operation_outputs (workflow_uuid, function_id, output) VALUES ($1, $2, $3);", [workflowUUID, functionID, serialOutput]);
135
+ await this.pool.query(`INSERT INTO ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.operation_outputs (workflow_uuid, function_id, output) VALUES ($1, $2, $3);`, [workflowUUID, functionID, serialOutput]);
141
136
  }
142
137
  catch (error) {
143
138
  const err = error;
@@ -153,7 +148,7 @@ class PostgresSystemDatabase {
153
148
  async recordOperationError(workflowUUID, functionID, error) {
154
149
  const serialErr = JSON.stringify((0, serialize_error_1.serializeError)(error));
155
150
  try {
156
- await this.pool.query("INSERT INTO operation_outputs (workflow_uuid, function_id, error) VALUES ($1, $2, $3);", [workflowUUID, functionID, serialErr]);
151
+ await this.pool.query(`INSERT INTO ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.operation_outputs (workflow_uuid, function_id, error) VALUES ($1, $2, $3);`, [workflowUUID, functionID, serialErr]);
157
152
  }
158
153
  catch (error) {
159
154
  const err = error;
@@ -171,7 +166,7 @@ class PostgresSystemDatabase {
171
166
  */
172
167
  async recordNotificationOutput(client, workflowUUID, functionID, output) {
173
168
  try {
174
- await client.query("INSERT INTO operation_outputs (workflow_uuid, function_id, output) VALUES ($1, $2, $3);", [workflowUUID, functionID, JSON.stringify(output)]);
169
+ await client.query(`INSERT INTO ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.operation_outputs (workflow_uuid, function_id, output) VALUES ($1, $2, $3);`, [workflowUUID, functionID, JSON.stringify(output)]);
175
170
  }
176
171
  catch (error) {
177
172
  await client.query("ROLLBACK");
@@ -191,13 +186,13 @@ class PostgresSystemDatabase {
191
186
  topic = topic ?? this.nullTopic;
192
187
  const client = await this.pool.connect();
193
188
  await client.query("BEGIN ISOLATION LEVEL READ COMMITTED");
194
- const { rows } = await client.query("SELECT output FROM operation_outputs WHERE workflow_uuid=$1 AND function_id=$2", [workflowUUID, functionID]);
189
+ const { rows } = await client.query(`SELECT output FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.operation_outputs WHERE workflow_uuid=$1 AND function_id=$2`, [workflowUUID, functionID]);
195
190
  if (rows.length > 0) {
196
191
  await client.query("ROLLBACK");
197
192
  client.release();
198
193
  return;
199
194
  }
200
- await client.query(`INSERT INTO notifications (destination_uuid, topic, message) VALUES ($1, $2, $3);`, [destinationUUID, topic, JSON.stringify(message)]);
195
+ await client.query(`INSERT INTO ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.notifications (destination_uuid, topic, message) VALUES ($1, $2, $3);`, [destinationUUID, topic, JSON.stringify(message)]);
201
196
  await this.recordNotificationOutput(client, workflowUUID, functionID, undefined);
202
197
  await client.query("COMMIT");
203
198
  client.release();
@@ -205,7 +200,7 @@ class PostgresSystemDatabase {
205
200
  async recv(workflowUUID, functionID, topic, timeoutSeconds = dbos_executor_1.DBOSExecutor.defaultNotificationTimeoutSec) {
206
201
  topic = topic ?? this.nullTopic;
207
202
  // First, check for previous executions.
208
- const checkRows = (await this.pool.query("SELECT output FROM operation_outputs WHERE workflow_uuid=$1 AND function_id=$2", [workflowUUID, functionID])).rows;
203
+ const checkRows = (await this.pool.query(`SELECT output FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.operation_outputs WHERE workflow_uuid=$1 AND function_id=$2`, [workflowUUID, functionID])).rows;
209
204
  if (checkRows.length > 0) {
210
205
  return JSON.parse(checkRows[0].output);
211
206
  }
@@ -224,7 +219,7 @@ class PostgresSystemDatabase {
224
219
  });
225
220
  const received = Promise.race([messagePromise, timeoutPromise]);
226
221
  // Check if the key is already in the DB, then wait for the notification if it isn't.
227
- const initRecvRows = (await this.pool.query("SELECT topic FROM notifications WHERE destination_uuid=$1 AND topic=$2;", [workflowUUID, topic])).rows;
222
+ const initRecvRows = (await this.pool.query(`SELECT topic FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.notifications WHERE destination_uuid=$1 AND topic=$2;`, [workflowUUID, topic])).rows;
228
223
  if (initRecvRows.length === 0) {
229
224
  await received;
230
225
  }
@@ -234,14 +229,14 @@ class PostgresSystemDatabase {
234
229
  await client.query(`BEGIN ISOLATION LEVEL READ COMMITTED`);
235
230
  const finalRecvRows = (await client.query(`WITH oldest_entry AS (
236
231
  SELECT destination_uuid, topic, message, created_at_epoch_ms
237
- FROM notifications
232
+ FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.notifications
238
233
  WHERE destination_uuid = $1
239
234
  AND topic = $2
240
235
  ORDER BY created_at_epoch_ms ASC
241
236
  LIMIT 1
242
237
  )
243
238
 
244
- DELETE FROM notifications
239
+ DELETE FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.notifications
245
240
  USING oldest_entry
246
241
  WHERE notifications.destination_uuid = oldest_entry.destination_uuid
247
242
  AND notifications.topic = oldest_entry.topic
@@ -259,13 +254,13 @@ class PostgresSystemDatabase {
259
254
  async setEvent(workflowUUID, functionID, key, message) {
260
255
  const client = await this.pool.connect();
261
256
  await client.query("BEGIN ISOLATION LEVEL READ COMMITTED");
262
- let { rows } = await client.query("SELECT output FROM operation_outputs WHERE workflow_uuid=$1 AND function_id=$2", [workflowUUID, functionID]);
257
+ let { rows } = await client.query(`SELECT output FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.operation_outputs WHERE workflow_uuid=$1 AND function_id=$2`, [workflowUUID, functionID]);
263
258
  if (rows.length > 0) {
264
259
  await client.query("ROLLBACK");
265
260
  client.release();
266
261
  return;
267
262
  }
268
- ({ rows } = await client.query(`INSERT INTO workflow_events (workflow_uuid, key, value) VALUES ($1, $2, $3) ON CONFLICT (workflow_uuid, key) DO NOTHING RETURNING workflow_uuid;`, [workflowUUID, key, JSON.stringify(message)]));
263
+ ({ rows } = await client.query(`INSERT INTO ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_events (workflow_uuid, key, value) VALUES ($1, $2, $3) ON CONFLICT (workflow_uuid, key) DO NOTHING RETURNING workflow_uuid;`, [workflowUUID, key, JSON.stringify(message)]));
269
264
  if (rows.length === 0) {
270
265
  await client.query("ROLLBACK");
271
266
  client.release();
@@ -278,7 +273,7 @@ class PostgresSystemDatabase {
278
273
  async getEvent(workflowUUID, key, timeoutSeconds, callerUUID, functionID) {
279
274
  // Check if the operation has been done before for OAOO (only do this inside a workflow).
280
275
  if (callerUUID !== undefined && functionID !== undefined) {
281
- const { rows } = await this.pool.query("SELECT output FROM operation_outputs WHERE workflow_uuid=$1 AND function_id=$2", [callerUUID, functionID]);
276
+ const { rows } = await this.pool.query(`SELECT output FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.operation_outputs WHERE workflow_uuid=$1 AND function_id=$2`, [callerUUID, functionID]);
282
277
  if (rows.length > 0) {
283
278
  return JSON.parse(rows[0].output);
284
279
  }
@@ -297,7 +292,7 @@ class PostgresSystemDatabase {
297
292
  });
298
293
  const received = Promise.race([valuePromise, timeoutPromise]);
299
294
  // Check if the key is already in the DB, then wait for the notification if it isn't.
300
- const initRecvRows = (await this.pool.query("SELECT key, value FROM workflow_events WHERE workflow_uuid=$1 AND key=$2;", [workflowUUID, key])).rows;
295
+ const initRecvRows = (await this.pool.query(`SELECT key, value FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_events WHERE workflow_uuid=$1 AND key=$2;`, [workflowUUID, key])).rows;
301
296
  if (initRecvRows.length === 0) {
302
297
  await received;
303
298
  }
@@ -309,7 +304,7 @@ class PostgresSystemDatabase {
309
304
  }
310
305
  else {
311
306
  // Read it again from the database.
312
- const finalRecvRows = (await this.pool.query("SELECT value FROM workflow_events WHERE workflow_uuid=$1 AND key=$2;", [workflowUUID, key])).rows;
307
+ const finalRecvRows = (await this.pool.query(`SELECT value FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_events WHERE workflow_uuid=$1 AND key=$2;`, [workflowUUID, key])).rows;
313
308
  if (finalRecvRows.length > 0) {
314
309
  value = JSON.parse(finalRecvRows[0].value);
315
310
  }
@@ -323,12 +318,12 @@ class PostgresSystemDatabase {
323
318
  async getWorkflowStatus(workflowUUID, callerUUID, functionID) {
324
319
  // Check if the operation has been done before for OAOO (only do this inside a workflow).
325
320
  if (callerUUID !== undefined && functionID !== undefined) {
326
- const { rows } = await this.pool.query("SELECT output FROM operation_outputs WHERE workflow_uuid=$1 AND function_id=$2", [callerUUID, functionID]);
321
+ const { rows } = await this.pool.query(`SELECT output FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.operation_outputs WHERE workflow_uuid=$1 AND function_id=$2`, [callerUUID, functionID]);
327
322
  if (rows.length > 0) {
328
323
  return JSON.parse(rows[0].output);
329
324
  }
330
325
  }
331
- const { rows } = await this.pool.query("SELECT status, name, authenticated_user, assumed_role, authenticated_roles, request FROM workflow_status WHERE workflow_uuid=$1", [workflowUUID]);
326
+ const { rows } = await this.pool.query(`SELECT status, name, authenticated_user, assumed_role, authenticated_roles, request FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status WHERE workflow_uuid=$1`, [workflowUUID]);
332
327
  let value = null;
333
328
  if (rows.length > 0) {
334
329
  value = {
@@ -350,7 +345,7 @@ class PostgresSystemDatabase {
350
345
  const pollingIntervalMs = 1000;
351
346
  // eslint-disable-next-line no-constant-condition
352
347
  while (true) {
353
- const { rows } = await this.pool.query("SELECT status, output, error FROM workflow_status WHERE workflow_uuid=$1", [workflowUUID]);
348
+ const { rows } = await this.pool.query(`SELECT status, output, error FROM ${dbos_executor_1.DBOSExecutor.systemDBSchemaName}.workflow_status WHERE workflow_uuid=$1`, [workflowUUID]);
354
349
  if (rows.length > 0) {
355
350
  const status = rows[0].status;
356
351
  if (status === workflow_1.StatusString.SUCCESS) {
@@ -1 +1 @@
1
- {"version":3,"file":"system_database.js","sourceRoot":"","sources":["../../src/system_database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system_database.js","sourceRoot":"","sources":["../../src/system_database.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
- import { MethodRegistrationBase } from "../decorators";
2
1
  import { ITelemetryExporter } from "./exporters";
3
- import { TelemetrySignal } from "./signals";
2
+ import { Span } from "@opentelemetry/sdk-trace-base";
3
+ import { LogRecord } from "@opentelemetry/api-logs";
4
+ export type TelemetrySignal = LogRecord | Span;
4
5
  export declare class TelemetryCollector {
5
- readonly exporters: ITelemetryExporter<any, any>[];
6
+ readonly exporter?: ITelemetryExporter | undefined;
6
7
  private readonly signals;
7
8
  private readonly signalBufferID;
8
9
  private readonly processAndExportSignalsIntervalMs;
9
10
  private readonly processAndExportSignalsMaxBatchSize;
10
- constructor(exporters: ITelemetryExporter<any, any>[]);
11
- init(registeredOperations?: Array<MethodRegistrationBase>): Promise<void>;
11
+ constructor(exporter?: ITelemetryExporter | undefined);
12
12
  destroy(): Promise<void>;
13
13
  push(signal: TelemetrySignal): void;
14
14
  private pop;
@@ -1 +1 @@
1
- {"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../../../src/telemetry/collector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAmB5C,qBAAa,kBAAkB;IAQjB,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;IAN9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAQ;IAC1D,OAAO,CAAC,QAAQ,CAAC,mCAAmC,CAAM;gBAGrC,SAAS,EAAE,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;IAMxD,IAAI,CAAC,oBAAoB,GAAE,KAAK,CAAC,sBAAsB,CAAM;IAQ7D,OAAO;IAUb,IAAI,CAAC,MAAM,EAAE,eAAe;IAI5B,OAAO,CAAC,GAAG;IAIL,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;CAqB/C"}
1
+ {"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../../../src/telemetry/collector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,IAAI,CAAC;AAmB/C,qBAAa,kBAAkB;IAQjB,QAAQ,CAAC,QAAQ,CAAC;IAN9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAQ;IAC1D,OAAO,CAAC,QAAQ,CAAC,mCAAmC,CAAM;gBAGrC,QAAQ,CAAC,gCAAoB;IAM5C,OAAO;IAKb,IAAI,CAAC,MAAM,EAAE,eAAe;IAI5B,OAAO,CAAC,GAAG;IAIL,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;CAqB/C"}
@@ -15,34 +15,22 @@ class SignalsQueue {
15
15
  }
16
16
  // TODO: Handle temporary workflows properly.
17
17
  class TelemetryCollector {
18
- exporters;
18
+ exporter;
19
19
  // Signals buffer management
20
20
  signals = new SignalsQueue();
21
21
  signalBufferID;
22
22
  processAndExportSignalsIntervalMs = 1000;
23
23
  processAndExportSignalsMaxBatchSize = 10;
24
24
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
25
- constructor(exporters) {
26
- this.exporters = exporters;
25
+ constructor(exporter) {
26
+ this.exporter = exporter;
27
27
  this.signalBufferID = setInterval(() => {
28
28
  void this.processAndExportSignals();
29
29
  }, this.processAndExportSignalsIntervalMs);
30
30
  }
31
- async init(registeredOperations = []) {
32
- for (const exporter of this.exporters) {
33
- if (exporter.init) {
34
- await exporter.init(registeredOperations);
35
- }
36
- }
37
- }
38
31
  async destroy() {
39
32
  clearInterval(this.signalBufferID);
40
33
  await this.processAndExportSignals();
41
- for (const exporter of this.exporters) {
42
- if (exporter.destroy) {
43
- await exporter.destroy();
44
- }
45
- }
46
34
  }
47
35
  push(signal) {
48
36
  this.signals.push(signal);
@@ -61,8 +49,8 @@ class TelemetryCollector {
61
49
  }
62
50
  if (batch.length > 0) {
63
51
  const exports = [];
64
- for (const exporter of this.exporters) {
65
- exports.push(exporter.export(batch));
52
+ if (this.exporter) {
53
+ exports.push(this.exporter.export(batch));
66
54
  }
67
55
  try {
68
56
  await Promise.all(exports);
@@ -1 +1 @@
1
- {"version":3,"file":"collector.js","sourceRoot":"","sources":["../../../src/telemetry/collector.ts"],"names":[],"mappings":";;;AAIA,MAAM,YAAY;IAChB,IAAI,GAAsB,EAAE,CAAC;IAE7B,IAAI,CAAC,MAAuB;QAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;CACF;AAED,6CAA6C;AAC7C,MAAa,kBAAkB;IAQR;IAPrB,4BAA4B;IACX,OAAO,GAAiB,IAAI,YAAY,EAAE,CAAC;IAC3C,cAAc,CAAiB;IAC/B,iCAAiC,GAAG,IAAI,CAAC;IACzC,mCAAmC,GAAG,EAAE,CAAC;IAE1D,8DAA8D;IAC9D,YAAqB,SAAyC;QAAzC,cAAS,GAAT,SAAS,CAAgC;QAC5D,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;YACrC,KAAK,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACtC,CAAC,EAAE,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,uBAAsD,EAAE;QACjE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;YACrC,IAAI,QAAQ,CAAC,IAAI,EAAE;gBACjB,MAAM,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACrC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;YACrC,IAAI,QAAQ,CAAC,OAAO,EAAE;gBACpB,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;aAC1B;SACF;IACH,CAAC;IAED,IAAI,CAAC,MAAuB;QAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAEO,GAAG;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,MAAM,KAAK,GAAsB,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,mCAAmC,EAAE;YACzF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM;aACP;YACD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACpB;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;gBACrC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aACtC;YACD,IAAI;gBACF,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aAC5B;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC;aACrC;SACF;IACH,CAAC;CACF;AA7DD,gDA6DC"}
1
+ {"version":3,"file":"collector.js","sourceRoot":"","sources":["../../../src/telemetry/collector.ts"],"names":[],"mappings":";;;AAMA,MAAM,YAAY;IAChB,IAAI,GAAsB,EAAE,CAAC;IAE7B,IAAI,CAAC,MAAuB;QAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;CACF;AAED,6CAA6C;AAC7C,MAAa,kBAAkB;IAQR;IAPrB,4BAA4B;IACX,OAAO,GAAiB,IAAI,YAAY,EAAE,CAAC;IAC3C,cAAc,CAAiB;IAC/B,iCAAiC,GAAG,IAAI,CAAC;IACzC,mCAAmC,GAAG,EAAE,CAAC;IAE1D,8DAA8D;IAC9D,YAAqB,QAA6B;QAA7B,aAAQ,GAAR,QAAQ,CAAqB;QAChD,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;YACrC,KAAK,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACtC,CAAC,EAAE,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,OAAO;QACX,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,MAAuB;QAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAEO,GAAG;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,MAAM,KAAK,GAAsB,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,mCAAmC,EAAE;YACzF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM;aACP;YACD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACpB;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aAC3C;YACD,IAAI;gBACF,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aAC5B;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC;aACrC;SACF;IACH,CAAC;CACF;AAhDD,gDAgDC"}
@@ -1,28 +1,15 @@
1
- import { Client, QueryConfig, QueryArrayResult, PoolConfig } from "pg";
2
- import { DBOSDataType, MethodRegistrationBase } from "./../decorators";
3
- import { TelemetrySignal } from "./signals";
4
- export interface ITelemetryExporter<T, U> {
5
- export(signal: TelemetrySignal[]): Promise<T>;
6
- process?(signal: TelemetrySignal[]): U;
7
- init?(registeredOperations?: ReadonlyArray<MethodRegistrationBase>): Promise<void>;
8
- destroy?(): Promise<void>;
1
+ import { TelemetrySignal } from "./collector";
2
+ export interface OTLPExporterConfig {
3
+ logsEndpoint?: string;
4
+ tracesEndpoint?: string;
9
5
  }
10
- export declare const JAEGER_EXPORTER = "JaegerExporter";
11
- export declare class JaegerExporter implements ITelemetryExporter<void, undefined> {
12
- private readonly exporter;
13
- constructor(endpoint?: string);
14
- export(signals: TelemetrySignal[]): Promise<void>;
6
+ export interface ITelemetryExporter {
7
+ export(signal: TelemetrySignal[]): Promise<void>;
15
8
  }
16
- export declare const POSTGRES_EXPORTER = "PostgresExporter";
17
- export declare class PostgresExporter implements ITelemetryExporter<QueryArrayResult[], QueryConfig[]> {
18
- private readonly poolConfig;
19
- readonly observabilityDBName: string;
20
- readonly pgClient: Client;
21
- constructor(poolConfig: PoolConfig, observabilityDBName?: string);
22
- static getPGDataType(t: DBOSDataType): string;
23
- init(registeredOperations?: ReadonlyArray<MethodRegistrationBase>): Promise<void>;
24
- destroy(): Promise<void>;
25
- process(signals: TelemetrySignal[]): QueryConfig[];
26
- export(telemetrySignals: TelemetrySignal[]): Promise<QueryArrayResult[]>;
9
+ export declare class TelemetryExporter implements ITelemetryExporter {
10
+ private readonly tracesExporter?;
11
+ private readonly logsExporter?;
12
+ constructor(config: OTLPExporterConfig);
13
+ export(signals: TelemetrySignal[]): Promise<void>;
27
14
  }
28
15
  //# sourceMappingURL=exporters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exporters.d.ts","sourceRoot":"","sources":["../../../src/telemetry/exporters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEvE,OAAO,EAAY,YAAY,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEjF,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAM5C,MAAM,WAAW,kBAAkB,CAAC,CAAC,EAAE,CAAC;IACtC,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,CAAC,CAAC;IACvC,IAAI,CAAC,CAAC,oBAAoB,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnF,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,eAAO,MAAM,eAAe,mBAAmB,CAAC;AAChD,qBAAa,cAAe,YAAW,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC;IACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoB;gBACjC,QAAQ,GAAE,MAA0C;IAM1D,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAgBxD;AAED,eAAO,MAAM,iBAAiB,qBAAqB,CAAC;AACpD,qBAAa,gBAAiB,YAAW,kBAAkB,CAAC,gBAAgB,EAAE,EAAE,WAAW,EAAE,CAAC;IAGhF,OAAO,CAAC,QAAQ,CAAC,UAAU;IAAc,QAAQ,CAAC,mBAAmB,EAAE,MAAM;IAFzF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEG,UAAU,EAAE,UAAU,EAAW,mBAAmB,GAAE,MAA6B;IAMhH,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM;IAOvC,IAAI,CAAC,oBAAoB,GAAE,aAAa,CAAC,sBAAsB,CAAM;IA2CrE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,WAAW,EAAE;IAkC5C,MAAM,CAAC,gBAAgB,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;CAiB/E"}
1
+ {"version":3,"file":"exporters.d.ts","sourceRoot":"","sources":["../../../src/telemetry/exporters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAQ9C,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClD;AAED,qBAAa,iBAAkB,YAAW,kBAAkB;IAC1D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAoB;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAkB;gBACpC,MAAM,EAAE,kBAAkB;IAehC,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAmCxD"}