openlayer 0.13.1 → 0.13.3

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/CHANGELOG.md CHANGED
@@ -1,5 +1,34 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.13.3 (2025-08-15)
4
+
5
+ Full Changelog: [v0.13.2...v0.13.3](https://github.com/openlayer-ai/openlayer-ts/compare/v0.13.2...v0.13.3)
6
+
7
+ ### Chores
8
+
9
+ * add debug statements to trace upload ([103098b](https://github.com/openlayer-ai/openlayer-ts/commit/103098b25f8f89eb32d01d08b7b651b9ca306498))
10
+ * **internal:** update comment in script ([5aff731](https://github.com/openlayer-ai/openlayer-ts/commit/5aff731c4fc3e027a67348d0a042088cd7144b50))
11
+ * update @stainless-api/prism-cli to v5.15.0 ([b396a4c](https://github.com/openlayer-ai/openlayer-ts/commit/b396a4cb94a5ec0b303aff0944a243a8704e95ca))
12
+
13
+ ## 0.13.2 (2025-08-07)
14
+
15
+ Full Changelog: [v0.13.1...v0.13.2](https://github.com/openlayer-ai/openlayer-ts/compare/v0.13.1...v0.13.2)
16
+
17
+ ### Features
18
+
19
+ * add Bedrock agent tracer ([82cecbf](https://github.com/openlayer-ai/openlayer-ts/commit/82cecbf9d6445b3d728c2ab60d2d8416da867b07))
20
+
21
+
22
+ ### Bug Fixes
23
+
24
+ * conditional Bedrock import ([a745e01](https://github.com/openlayer-ai/openlayer-ts/commit/a745e013920c88a30472e8f2eda0dc66699c04b5))
25
+
26
+
27
+ ### Chores
28
+
29
+ * **internal:** move publish config ([67a5488](https://github.com/openlayer-ai/openlayer-ts/commit/67a5488bff6880aff2fd14840fbfd24212aa74bd))
30
+ * **internal:** remove redundant imports config ([52d519a](https://github.com/openlayer-ai/openlayer-ts/commit/52d519aca9b9cfe2bf254191a47932a4e62545d6))
31
+
3
32
  ## 0.13.1 (2025-07-10)
4
33
 
5
34
  Full Changelog: [v0.13.0...v0.13.1](https://github.com/openlayer-ai/openlayer-ts/compare/v0.13.0...v0.13.1)
@@ -0,0 +1,2 @@
1
+ export declare function traceBedrockAgent(client: any): any;
2
+ //# sourceMappingURL=bedrockAgentTracer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bedrockAgentTracer.d.ts","sourceRoot":"","sources":["../../src/lib/integrations/bedrockAgentTracer.ts"],"names":[],"mappings":"AAkBA,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAyClD"}
@@ -0,0 +1,252 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.traceBedrockAgent = void 0;
4
+ // Make imports optional with try/catch
5
+ let BedrockAgentRuntimeClient;
6
+ let InvokeAgentCommand;
7
+ let InvokeAgentCommandInput;
8
+ let InvokeAgentCommandOutput;
9
+ try {
10
+ const bedrockModule = require('@aws-sdk/client-bedrock-agent-runtime');
11
+ BedrockAgentRuntimeClient = bedrockModule.BedrockAgentRuntimeClient;
12
+ InvokeAgentCommand = bedrockModule.InvokeAgentCommand;
13
+ InvokeAgentCommandInput = bedrockModule.InvokeAgentCommandInput;
14
+ InvokeAgentCommandOutput = bedrockModule.InvokeAgentCommandOutput;
15
+ }
16
+ catch (error) {
17
+ // AWS SDK not available
18
+ }
19
+ const tracer_1 = require("../tracing/tracer.js");
20
+ function traceBedrockAgent(client) {
21
+ if (!BedrockAgentRuntimeClient || !InvokeAgentCommand) {
22
+ throw new Error('AWS SDK for Bedrock Agent Runtime is not installed. Please install it with: npm install @aws-sdk/client-bedrock-agent-runtime');
23
+ }
24
+ const originalSend = client.send.bind(client);
25
+ client.send = async function (command, options) {
26
+ // Only trace InvokeAgentCommand
27
+ if (!(command instanceof InvokeAgentCommand)) {
28
+ return originalSend(command, options);
29
+ }
30
+ const startTime = performance.now();
31
+ const input = command.input;
32
+ try {
33
+ // Call the original send method
34
+ const response = await originalSend(command, options);
35
+ if (!response.completion) {
36
+ throw new Error('Completion is undefined');
37
+ }
38
+ // Create a traced async iterator that preserves the original
39
+ const tracedCompletion = createTracedCompletion(response.completion, input, startTime);
40
+ // Return the response with the traced completion
41
+ return {
42
+ ...response,
43
+ completion: tracedCompletion,
44
+ };
45
+ }
46
+ catch (error) {
47
+ console.error('Failed to trace the Bedrock agent invocation with Openlayer', error);
48
+ throw error;
49
+ }
50
+ };
51
+ return client;
52
+ }
53
+ exports.traceBedrockAgent = traceBedrockAgent;
54
+ // Create a traced completion that collects data while yielding original events
55
+ function createTracedCompletion(originalCompletion, input, startTime) {
56
+ return {
57
+ async *[Symbol.asyncIterator]() {
58
+ let firstTokenTime;
59
+ let totalTokens = 0;
60
+ let promptTokens = 0;
61
+ let completionTokens = 0;
62
+ let collectedOutput = '';
63
+ const rawOutputChunks = [];
64
+ let agentModel = null;
65
+ let citations = [];
66
+ let traceData = [];
67
+ let chunkCount = 0;
68
+ try {
69
+ for await (const chunkEvent of originalCompletion) {
70
+ // Yield first - ensure user gets data immediately
71
+ yield chunkEvent;
72
+ // Then collect tracing data
73
+ if (chunkCount === 0) {
74
+ firstTokenTime = performance.now();
75
+ }
76
+ chunkCount++;
77
+ // Handle chunk events
78
+ if (chunkEvent.chunk) {
79
+ const chunk = chunkEvent.chunk;
80
+ rawOutputChunks.push(chunk);
81
+ if (chunk.bytes) {
82
+ const decodedResponse = new TextDecoder('utf-8').decode(chunk.bytes);
83
+ collectedOutput += decodedResponse;
84
+ completionTokens += 1;
85
+ }
86
+ if (chunk.attribution && chunk.attribution.citations) {
87
+ citations.push(...chunk.attribution.citations);
88
+ }
89
+ }
90
+ // Handle trace events
91
+ if (chunkEvent.trace) {
92
+ traceData.push(chunkEvent.trace);
93
+ if (chunkEvent.trace.trace) {
94
+ const trace = chunkEvent.trace.trace;
95
+ // Extract tokens and model info
96
+ if ('orchestrationTrace' in trace &&
97
+ trace.orchestrationTrace?.modelInvocationOutput?.metadata?.usage) {
98
+ const usage = trace.orchestrationTrace.modelInvocationOutput.metadata.usage;
99
+ promptTokens += usage.inputTokens || 0;
100
+ completionTokens += usage.outputTokens || 0;
101
+ }
102
+ if ('orchestrationTrace' in trace &&
103
+ trace.orchestrationTrace?.modelInvocationInput?.foundationModel) {
104
+ agentModel = trace.orchestrationTrace.modelInvocationInput.foundationModel;
105
+ }
106
+ }
107
+ }
108
+ }
109
+ // After the stream is complete, send trace data
110
+ const endTime = performance.now();
111
+ totalTokens = promptTokens + completionTokens;
112
+ // Send trace data to Openlayer
113
+ const inputs = extractInputs(input, traceData);
114
+ const metadata = {
115
+ agentId: input.agentId,
116
+ agentAliasId: input.agentAliasId,
117
+ sessionId: input.sessionId,
118
+ timeToFirstToken: firstTokenTime ? firstTokenTime - startTime : null,
119
+ };
120
+ if (citations.length > 0) {
121
+ metadata['citations'] = citations;
122
+ }
123
+ const reasoning = extractReasoning(traceData);
124
+ if (reasoning && reasoning.length > 0) {
125
+ metadata['reasoning'] = reasoning;
126
+ }
127
+ if (input.sessionState) {
128
+ metadata['sessionState'] = {
129
+ hasSessionAttributes: !!input.sessionState.sessionAttributes,
130
+ hasPromptSessionAttributes: !!input.sessionState.promptSessionAttributes,
131
+ hasFiles: !!input.sessionState.files && input.sessionState.files.length > 0,
132
+ hasKnowledgeBaseConfigurations: !!input.sessionState.knowledgeBaseConfigurations &&
133
+ input.sessionState.knowledgeBaseConfigurations.length > 0,
134
+ };
135
+ }
136
+ const traceStepData = {
137
+ name: 'AWS Bedrock Agent Invocation',
138
+ inputs: inputs,
139
+ output: collectedOutput,
140
+ latency: endTime - startTime,
141
+ tokens: totalTokens > 0 ? totalTokens : null,
142
+ promptTokens: promptTokens > 0 ? promptTokens : null,
143
+ completionTokens: completionTokens > 0 ? completionTokens : null,
144
+ model: agentModel || `${input.agentId}:${input.agentAliasId}`,
145
+ modelParameters: extractModelParameters(input),
146
+ rawOutput: JSON.stringify(rawOutputChunks, null, 2),
147
+ metadata: metadata,
148
+ provider: 'Bedrock',
149
+ };
150
+ (0, tracer_1.addChatCompletionStepToTrace)(traceStepData);
151
+ }
152
+ catch (error) {
153
+ console.error('Error in traced completion:', error);
154
+ // Don't rethrow - we don't want tracing errors to break the user's stream
155
+ }
156
+ },
157
+ };
158
+ }
159
+ function extractInputs(input, traceData) {
160
+ const inputs = {};
161
+ // Build the prompt in OpenAI-compatible format
162
+ const prompt = [];
163
+ // Add the main user message
164
+ if (input.inputText) {
165
+ prompt.push({
166
+ role: 'user',
167
+ content: input.inputText,
168
+ });
169
+ }
170
+ // Add conversation history if present
171
+ if (input.sessionState?.conversationHistory?.messages) {
172
+ for (const message of input.sessionState.conversationHistory.messages) {
173
+ const content = message.content ?
174
+ message.content.map((block) => ('text' in block ? block.text || '' : '')).join('')
175
+ : '';
176
+ const role = message.role || 'user';
177
+ prompt.unshift({
178
+ role: role,
179
+ content: content,
180
+ });
181
+ }
182
+ }
183
+ // Extract system prompt from trace data if available
184
+ const systemPrompt = extractSystemPrompt(traceData);
185
+ if (systemPrompt) {
186
+ prompt.unshift({
187
+ role: 'system',
188
+ content: systemPrompt,
189
+ });
190
+ }
191
+ inputs['prompt'] = prompt;
192
+ // Add additional context as separate fields
193
+ if (input.sessionState?.sessionAttributes) {
194
+ inputs['sessionAttributes'] = input.sessionState.sessionAttributes;
195
+ }
196
+ if (input.sessionState?.promptSessionAttributes) {
197
+ inputs['promptSessionAttributes'] = input.sessionState.promptSessionAttributes;
198
+ }
199
+ if (input.sessionState?.files && input.sessionState.files.length > 0) {
200
+ inputs['files'] = input.sessionState.files.map((file) => ({
201
+ name: file.name,
202
+ useCase: file.useCase,
203
+ sourceType: file.source?.sourceType,
204
+ }));
205
+ }
206
+ return inputs;
207
+ }
208
+ function extractSystemPrompt(traceData) {
209
+ for (const trace of traceData) {
210
+ if (trace.trace?.orchestrationTrace?.modelInvocationInput?.text) {
211
+ try {
212
+ const parsed = JSON.parse(trace.trace.orchestrationTrace.modelInvocationInput.text);
213
+ if (parsed.system) {
214
+ return parsed.system;
215
+ }
216
+ }
217
+ catch (e) {
218
+ // If parsing fails, continue
219
+ }
220
+ }
221
+ }
222
+ return null;
223
+ }
224
+ function extractReasoning(traceData) {
225
+ const reasoning = [];
226
+ for (const trace of traceData) {
227
+ if (trace.trace?.orchestrationTrace?.rationale?.text) {
228
+ reasoning.push(trace.trace.orchestrationTrace.rationale.text);
229
+ }
230
+ }
231
+ return reasoning.length > 0 ? reasoning : undefined;
232
+ }
233
+ function extractModelParameters(input) {
234
+ const params = {};
235
+ if (input.enableTrace !== undefined) {
236
+ params['enableTrace'] = input.enableTrace;
237
+ }
238
+ if (input.endSession !== undefined) {
239
+ params['endSession'] = input.endSession;
240
+ }
241
+ if (input.bedrockModelConfigurations) {
242
+ params['bedrockModelConfigurations'] = input.bedrockModelConfigurations;
243
+ }
244
+ if (input.streamingConfigurations) {
245
+ params['streamingConfigurations'] = input.streamingConfigurations;
246
+ }
247
+ if (input.promptCreationConfigurations) {
248
+ params['promptCreationConfigurations'] = input.promptCreationConfigurations;
249
+ }
250
+ return params;
251
+ }
252
+ //# sourceMappingURL=bedrockAgentTracer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bedrockAgentTracer.js","sourceRoot":"","sources":["../../src/lib/integrations/bedrockAgentTracer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,248 @@
1
+ // Make imports optional with try/catch
2
+ let BedrockAgentRuntimeClient;
3
+ let InvokeAgentCommand;
4
+ let InvokeAgentCommandInput;
5
+ let InvokeAgentCommandOutput;
6
+ try {
7
+ const bedrockModule = require('@aws-sdk/client-bedrock-agent-runtime');
8
+ BedrockAgentRuntimeClient = bedrockModule.BedrockAgentRuntimeClient;
9
+ InvokeAgentCommand = bedrockModule.InvokeAgentCommand;
10
+ InvokeAgentCommandInput = bedrockModule.InvokeAgentCommandInput;
11
+ InvokeAgentCommandOutput = bedrockModule.InvokeAgentCommandOutput;
12
+ }
13
+ catch (error) {
14
+ // AWS SDK not available
15
+ }
16
+ import { addChatCompletionStepToTrace } from "../tracing/tracer.mjs";
17
+ export function traceBedrockAgent(client) {
18
+ if (!BedrockAgentRuntimeClient || !InvokeAgentCommand) {
19
+ throw new Error('AWS SDK for Bedrock Agent Runtime is not installed. Please install it with: npm install @aws-sdk/client-bedrock-agent-runtime');
20
+ }
21
+ const originalSend = client.send.bind(client);
22
+ client.send = async function (command, options) {
23
+ // Only trace InvokeAgentCommand
24
+ if (!(command instanceof InvokeAgentCommand)) {
25
+ return originalSend(command, options);
26
+ }
27
+ const startTime = performance.now();
28
+ const input = command.input;
29
+ try {
30
+ // Call the original send method
31
+ const response = await originalSend(command, options);
32
+ if (!response.completion) {
33
+ throw new Error('Completion is undefined');
34
+ }
35
+ // Create a traced async iterator that preserves the original
36
+ const tracedCompletion = createTracedCompletion(response.completion, input, startTime);
37
+ // Return the response with the traced completion
38
+ return {
39
+ ...response,
40
+ completion: tracedCompletion,
41
+ };
42
+ }
43
+ catch (error) {
44
+ console.error('Failed to trace the Bedrock agent invocation with Openlayer', error);
45
+ throw error;
46
+ }
47
+ };
48
+ return client;
49
+ }
50
+ // Create a traced completion that collects data while yielding original events
51
+ function createTracedCompletion(originalCompletion, input, startTime) {
52
+ return {
53
+ async *[Symbol.asyncIterator]() {
54
+ let firstTokenTime;
55
+ let totalTokens = 0;
56
+ let promptTokens = 0;
57
+ let completionTokens = 0;
58
+ let collectedOutput = '';
59
+ const rawOutputChunks = [];
60
+ let agentModel = null;
61
+ let citations = [];
62
+ let traceData = [];
63
+ let chunkCount = 0;
64
+ try {
65
+ for await (const chunkEvent of originalCompletion) {
66
+ // Yield first - ensure user gets data immediately
67
+ yield chunkEvent;
68
+ // Then collect tracing data
69
+ if (chunkCount === 0) {
70
+ firstTokenTime = performance.now();
71
+ }
72
+ chunkCount++;
73
+ // Handle chunk events
74
+ if (chunkEvent.chunk) {
75
+ const chunk = chunkEvent.chunk;
76
+ rawOutputChunks.push(chunk);
77
+ if (chunk.bytes) {
78
+ const decodedResponse = new TextDecoder('utf-8').decode(chunk.bytes);
79
+ collectedOutput += decodedResponse;
80
+ completionTokens += 1;
81
+ }
82
+ if (chunk.attribution && chunk.attribution.citations) {
83
+ citations.push(...chunk.attribution.citations);
84
+ }
85
+ }
86
+ // Handle trace events
87
+ if (chunkEvent.trace) {
88
+ traceData.push(chunkEvent.trace);
89
+ if (chunkEvent.trace.trace) {
90
+ const trace = chunkEvent.trace.trace;
91
+ // Extract tokens and model info
92
+ if ('orchestrationTrace' in trace &&
93
+ trace.orchestrationTrace?.modelInvocationOutput?.metadata?.usage) {
94
+ const usage = trace.orchestrationTrace.modelInvocationOutput.metadata.usage;
95
+ promptTokens += usage.inputTokens || 0;
96
+ completionTokens += usage.outputTokens || 0;
97
+ }
98
+ if ('orchestrationTrace' in trace &&
99
+ trace.orchestrationTrace?.modelInvocationInput?.foundationModel) {
100
+ agentModel = trace.orchestrationTrace.modelInvocationInput.foundationModel;
101
+ }
102
+ }
103
+ }
104
+ }
105
+ // After the stream is complete, send trace data
106
+ const endTime = performance.now();
107
+ totalTokens = promptTokens + completionTokens;
108
+ // Send trace data to Openlayer
109
+ const inputs = extractInputs(input, traceData);
110
+ const metadata = {
111
+ agentId: input.agentId,
112
+ agentAliasId: input.agentAliasId,
113
+ sessionId: input.sessionId,
114
+ timeToFirstToken: firstTokenTime ? firstTokenTime - startTime : null,
115
+ };
116
+ if (citations.length > 0) {
117
+ metadata['citations'] = citations;
118
+ }
119
+ const reasoning = extractReasoning(traceData);
120
+ if (reasoning && reasoning.length > 0) {
121
+ metadata['reasoning'] = reasoning;
122
+ }
123
+ if (input.sessionState) {
124
+ metadata['sessionState'] = {
125
+ hasSessionAttributes: !!input.sessionState.sessionAttributes,
126
+ hasPromptSessionAttributes: !!input.sessionState.promptSessionAttributes,
127
+ hasFiles: !!input.sessionState.files && input.sessionState.files.length > 0,
128
+ hasKnowledgeBaseConfigurations: !!input.sessionState.knowledgeBaseConfigurations &&
129
+ input.sessionState.knowledgeBaseConfigurations.length > 0,
130
+ };
131
+ }
132
+ const traceStepData = {
133
+ name: 'AWS Bedrock Agent Invocation',
134
+ inputs: inputs,
135
+ output: collectedOutput,
136
+ latency: endTime - startTime,
137
+ tokens: totalTokens > 0 ? totalTokens : null,
138
+ promptTokens: promptTokens > 0 ? promptTokens : null,
139
+ completionTokens: completionTokens > 0 ? completionTokens : null,
140
+ model: agentModel || `${input.agentId}:${input.agentAliasId}`,
141
+ modelParameters: extractModelParameters(input),
142
+ rawOutput: JSON.stringify(rawOutputChunks, null, 2),
143
+ metadata: metadata,
144
+ provider: 'Bedrock',
145
+ };
146
+ addChatCompletionStepToTrace(traceStepData);
147
+ }
148
+ catch (error) {
149
+ console.error('Error in traced completion:', error);
150
+ // Don't rethrow - we don't want tracing errors to break the user's stream
151
+ }
152
+ },
153
+ };
154
+ }
155
+ function extractInputs(input, traceData) {
156
+ const inputs = {};
157
+ // Build the prompt in OpenAI-compatible format
158
+ const prompt = [];
159
+ // Add the main user message
160
+ if (input.inputText) {
161
+ prompt.push({
162
+ role: 'user',
163
+ content: input.inputText,
164
+ });
165
+ }
166
+ // Add conversation history if present
167
+ if (input.sessionState?.conversationHistory?.messages) {
168
+ for (const message of input.sessionState.conversationHistory.messages) {
169
+ const content = message.content ?
170
+ message.content.map((block) => ('text' in block ? block.text || '' : '')).join('')
171
+ : '';
172
+ const role = message.role || 'user';
173
+ prompt.unshift({
174
+ role: role,
175
+ content: content,
176
+ });
177
+ }
178
+ }
179
+ // Extract system prompt from trace data if available
180
+ const systemPrompt = extractSystemPrompt(traceData);
181
+ if (systemPrompt) {
182
+ prompt.unshift({
183
+ role: 'system',
184
+ content: systemPrompt,
185
+ });
186
+ }
187
+ inputs['prompt'] = prompt;
188
+ // Add additional context as separate fields
189
+ if (input.sessionState?.sessionAttributes) {
190
+ inputs['sessionAttributes'] = input.sessionState.sessionAttributes;
191
+ }
192
+ if (input.sessionState?.promptSessionAttributes) {
193
+ inputs['promptSessionAttributes'] = input.sessionState.promptSessionAttributes;
194
+ }
195
+ if (input.sessionState?.files && input.sessionState.files.length > 0) {
196
+ inputs['files'] = input.sessionState.files.map((file) => ({
197
+ name: file.name,
198
+ useCase: file.useCase,
199
+ sourceType: file.source?.sourceType,
200
+ }));
201
+ }
202
+ return inputs;
203
+ }
204
+ function extractSystemPrompt(traceData) {
205
+ for (const trace of traceData) {
206
+ if (trace.trace?.orchestrationTrace?.modelInvocationInput?.text) {
207
+ try {
208
+ const parsed = JSON.parse(trace.trace.orchestrationTrace.modelInvocationInput.text);
209
+ if (parsed.system) {
210
+ return parsed.system;
211
+ }
212
+ }
213
+ catch (e) {
214
+ // If parsing fails, continue
215
+ }
216
+ }
217
+ }
218
+ return null;
219
+ }
220
+ function extractReasoning(traceData) {
221
+ const reasoning = [];
222
+ for (const trace of traceData) {
223
+ if (trace.trace?.orchestrationTrace?.rationale?.text) {
224
+ reasoning.push(trace.trace.orchestrationTrace.rationale.text);
225
+ }
226
+ }
227
+ return reasoning.length > 0 ? reasoning : undefined;
228
+ }
229
+ function extractModelParameters(input) {
230
+ const params = {};
231
+ if (input.enableTrace !== undefined) {
232
+ params['enableTrace'] = input.enableTrace;
233
+ }
234
+ if (input.endSession !== undefined) {
235
+ params['endSession'] = input.endSession;
236
+ }
237
+ if (input.bedrockModelConfigurations) {
238
+ params['bedrockModelConfigurations'] = input.bedrockModelConfigurations;
239
+ }
240
+ if (input.streamingConfigurations) {
241
+ params['streamingConfigurations'] = input.streamingConfigurations;
242
+ }
243
+ if (input.promptCreationConfigurations) {
244
+ params['promptCreationConfigurations'] = input.promptCreationConfigurations;
245
+ }
246
+ return params;
247
+ }
248
+ //# sourceMappingURL=bedrockAgentTracer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bedrockAgentTracer.mjs","sourceRoot":"","sources":["../../src/lib/integrations/bedrockAgentTracer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../src/lib/tracing/tracer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AA6GnC,iBAAS,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAE,QAA6B,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAkBjG;AAED,wBAAgB,4BAA4B,CAAC,EAC3C,IAAI,EACJ,MAAM,EACN,MAAM,EACN,OAAO,EACP,MAAa,EACb,YAAmB,EACnB,gBAAuB,EACvB,KAAY,EACZ,eAAsB,EACtB,SAAgB,EAChB,QAAa,EACb,QAAmB,GACpB,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,GAAG,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,QAgBA;AA4BD,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../../src/lib/tracing/tracer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAwInC,iBAAS,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAE,QAA6B,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAkBjG;AAED,wBAAgB,4BAA4B,CAAC,EAC3C,IAAI,EACJ,MAAM,EACN,MAAM,EACN,OAAO,EACP,MAAa,EACb,YAAmB,EACnB,gBAAuB,EACvB,KAAY,EACZ,eAAsB,EACtB,SAAgB,EAChB,QAAa,EACb,QAAmB,GACpB,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,GAAG,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,QAgBA;AA4BD,eAAe,KAAK,CAAC"}
@@ -59,7 +59,9 @@ function createStep(name, stepType = enums_1.StepType.USER_CALL, inputs, output,
59
59
  // Post process trace and get the input variable names
60
60
  const { traceData: processedTraceData, inputVariableNames } = postProcessTrace(traceData);
61
61
  if (publish && process.env['OPENLAYER_INFERENCE_PIPELINE_ID']) {
62
- client.inferencePipelines.data.stream(process.env['OPENLAYER_INFERENCE_PIPELINE_ID'], {
62
+ console.debug('Uploading trace to Openlayer...');
63
+ client.inferencePipelines.data
64
+ .stream(process.env['OPENLAYER_INFERENCE_PIPELINE_ID'], {
63
65
  config: {
64
66
  outputColumnName: 'output',
65
67
  inputVariableNames: inputVariableNames,
@@ -71,8 +73,27 @@ function createStep(name, stepType = enums_1.StepType.USER_CALL, inputs, output,
71
73
  numOfTokenColumnName: 'tokens',
72
74
  },
73
75
  rows: [processedTraceData],
76
+ })
77
+ .then(() => {
78
+ console.debug('Trace uploaded successfully to Openlayer');
79
+ })
80
+ .catch((error) => {
81
+ console.error('Failed to upload trace to Openlayer:', error);
82
+ console.error('Trace data that failed to upload:', JSON.stringify({
83
+ pipelineId: process.env['OPENLAYER_INFERENCE_PIPELINE_ID'],
84
+ inputVariableNames,
85
+ processedTraceData,
86
+ }, null, 2));
74
87
  });
75
88
  }
89
+ else {
90
+ if (!publish) {
91
+ console.debug('Trace upload disabled (OPENLAYER_DISABLE_PUBLISH=true)');
92
+ }
93
+ else if (!process.env['OPENLAYER_INFERENCE_PIPELINE_ID']) {
94
+ console.warn('Trace upload skipped: OPENLAYER_INFERENCE_PIPELINE_ID environment variable not set');
95
+ }
96
+ }
76
97
  // Reset the entire trace state
77
98
  setCurrentTrace(null);
78
99
  stepStack.length = 0; // Clear the step stack
@@ -1 +1 @@
1
- {"version":3,"file":"tracer.js","sourceRoot":"","sources":["../../src/lib/tracing/tracer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracer.js","sourceRoot":"","sources":["../../src/lib/tracing/tracer.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,9 @@ function createStep(name, stepType = StepType.USER_CALL, inputs, output, metadat
53
53
  // Post process trace and get the input variable names
54
54
  const { traceData: processedTraceData, inputVariableNames } = postProcessTrace(traceData);
55
55
  if (publish && process.env['OPENLAYER_INFERENCE_PIPELINE_ID']) {
56
- client.inferencePipelines.data.stream(process.env['OPENLAYER_INFERENCE_PIPELINE_ID'], {
56
+ console.debug('Uploading trace to Openlayer...');
57
+ client.inferencePipelines.data
58
+ .stream(process.env['OPENLAYER_INFERENCE_PIPELINE_ID'], {
57
59
  config: {
58
60
  outputColumnName: 'output',
59
61
  inputVariableNames: inputVariableNames,
@@ -65,8 +67,27 @@ function createStep(name, stepType = StepType.USER_CALL, inputs, output, metadat
65
67
  numOfTokenColumnName: 'tokens',
66
68
  },
67
69
  rows: [processedTraceData],
70
+ })
71
+ .then(() => {
72
+ console.debug('Trace uploaded successfully to Openlayer');
73
+ })
74
+ .catch((error) => {
75
+ console.error('Failed to upload trace to Openlayer:', error);
76
+ console.error('Trace data that failed to upload:', JSON.stringify({
77
+ pipelineId: process.env['OPENLAYER_INFERENCE_PIPELINE_ID'],
78
+ inputVariableNames,
79
+ processedTraceData,
80
+ }, null, 2));
68
81
  });
69
82
  }
83
+ else {
84
+ if (!publish) {
85
+ console.debug('Trace upload disabled (OPENLAYER_DISABLE_PUBLISH=true)');
86
+ }
87
+ else if (!process.env['OPENLAYER_INFERENCE_PIPELINE_ID']) {
88
+ console.warn('Trace upload skipped: OPENLAYER_INFERENCE_PIPELINE_ID environment variable not set');
89
+ }
90
+ }
70
91
  // Reset the entire trace state
71
92
  setCurrentTrace(null);
72
93
  stepStack.length = 0; // Clear the step stack
@@ -1 +1 @@
1
- {"version":3,"file":"tracer.mjs","sourceRoot":"","sources":["../../src/lib/tracing/tracer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracer.mjs","sourceRoot":"","sources":["../../src/lib/tracing/tracer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openlayer",
3
- "version": "0.13.1",
3
+ "version": "0.13.3",
4
4
  "description": "The official TypeScript library for the Openlayer API",
5
5
  "author": "Openlayer <support@openlayer.com>",
6
6
  "types": "./index.d.ts",
@@ -13,6 +13,9 @@
13
13
  "**/*"
14
14
  ],
15
15
  "private": false,
16
+ "publishConfig": {
17
+ "access": "public"
18
+ },
16
19
  "scripts": {
17
20
  "test": "./scripts/test",
18
21
  "build": "./scripts/build",
@@ -22,6 +25,7 @@
22
25
  "fix": "./scripts/format"
23
26
  },
24
27
  "dependencies": {
28
+ "@aws-sdk/client-bedrock-agent-runtime": "^3.862.0",
25
29
  "@langchain/core": "^0.3.3",
26
30
  "@types/node": "^18.11.18",
27
31
  "@types/node-fetch": "^2.6.4",
@@ -43,10 +47,6 @@
43
47
  "./shims/web.js",
44
48
  "./shims/web.mjs"
45
49
  ],
46
- "imports": {
47
- "openlayer": ".",
48
- "openlayer/*": "./src/*"
49
- },
50
50
  "exports": {
51
51
  "./_shims/auto/*": {
52
52
  "deno": {
@@ -0,0 +1,306 @@
1
+ // Make imports optional with try/catch
2
+ let BedrockAgentRuntimeClient: any;
3
+ let InvokeAgentCommand: any;
4
+ let InvokeAgentCommandInput: any;
5
+ let InvokeAgentCommandOutput: any;
6
+
7
+ try {
8
+ const bedrockModule = require('@aws-sdk/client-bedrock-agent-runtime');
9
+ BedrockAgentRuntimeClient = bedrockModule.BedrockAgentRuntimeClient;
10
+ InvokeAgentCommand = bedrockModule.InvokeAgentCommand;
11
+ InvokeAgentCommandInput = bedrockModule.InvokeAgentCommandInput;
12
+ InvokeAgentCommandOutput = bedrockModule.InvokeAgentCommandOutput;
13
+ } catch (error) {
14
+ // AWS SDK not available
15
+ }
16
+
17
+ import { addChatCompletionStepToTrace } from '../tracing/tracer';
18
+
19
+ export function traceBedrockAgent(client: any): any {
20
+ if (!BedrockAgentRuntimeClient || !InvokeAgentCommand) {
21
+ throw new Error(
22
+ 'AWS SDK for Bedrock Agent Runtime is not installed. Please install it with: npm install @aws-sdk/client-bedrock-agent-runtime',
23
+ );
24
+ }
25
+
26
+ const originalSend = client.send.bind(client);
27
+
28
+ client.send = async function (this: any, command: any, options?: any): Promise<any> {
29
+ // Only trace InvokeAgentCommand
30
+ if (!(command instanceof InvokeAgentCommand)) {
31
+ return originalSend(command, options);
32
+ }
33
+
34
+ const startTime = performance.now();
35
+ const input = command.input;
36
+
37
+ try {
38
+ // Call the original send method
39
+ const response = await originalSend(command, options);
40
+
41
+ if (!response.completion) {
42
+ throw new Error('Completion is undefined');
43
+ }
44
+
45
+ // Create a traced async iterator that preserves the original
46
+ const tracedCompletion = createTracedCompletion(response.completion, input, startTime);
47
+
48
+ // Return the response with the traced completion
49
+ return {
50
+ ...response,
51
+ completion: tracedCompletion,
52
+ };
53
+ } catch (error) {
54
+ console.error('Failed to trace the Bedrock agent invocation with Openlayer', error);
55
+ throw error;
56
+ }
57
+ };
58
+
59
+ return client;
60
+ }
61
+
62
+ // Create a traced completion that collects data while yielding original events
63
+ function createTracedCompletion(
64
+ originalCompletion: AsyncIterable<any>,
65
+ input: any,
66
+ startTime: number,
67
+ ): AsyncIterable<any> {
68
+ return {
69
+ async *[Symbol.asyncIterator]() {
70
+ let firstTokenTime: number | undefined;
71
+ let totalTokens = 0;
72
+ let promptTokens = 0;
73
+ let completionTokens = 0;
74
+ let collectedOutput = '';
75
+ const rawOutputChunks: any[] = [];
76
+ let agentModel: string | null = null;
77
+ let citations: any[] = [];
78
+ let traceData: any[] = [];
79
+ let chunkCount = 0;
80
+
81
+ try {
82
+ for await (const chunkEvent of originalCompletion) {
83
+ // Yield first - ensure user gets data immediately
84
+ yield chunkEvent;
85
+
86
+ // Then collect tracing data
87
+ if (chunkCount === 0) {
88
+ firstTokenTime = performance.now();
89
+ }
90
+ chunkCount++;
91
+
92
+ // Handle chunk events
93
+ if (chunkEvent.chunk) {
94
+ const chunk = chunkEvent.chunk;
95
+ rawOutputChunks.push(chunk);
96
+
97
+ if (chunk.bytes) {
98
+ const decodedResponse = new TextDecoder('utf-8').decode(chunk.bytes);
99
+ collectedOutput += decodedResponse;
100
+ completionTokens += 1;
101
+ }
102
+
103
+ if (chunk.attribution && chunk.attribution.citations) {
104
+ citations.push(...chunk.attribution.citations);
105
+ }
106
+ }
107
+
108
+ // Handle trace events
109
+ if (chunkEvent.trace) {
110
+ traceData.push(chunkEvent.trace);
111
+
112
+ if (chunkEvent.trace.trace) {
113
+ const trace = chunkEvent.trace.trace;
114
+
115
+ // Extract tokens and model info
116
+ if (
117
+ 'orchestrationTrace' in trace &&
118
+ trace.orchestrationTrace?.modelInvocationOutput?.metadata?.usage
119
+ ) {
120
+ const usage = trace.orchestrationTrace.modelInvocationOutput.metadata.usage;
121
+ promptTokens += usage.inputTokens || 0;
122
+ completionTokens += usage.outputTokens || 0;
123
+ }
124
+
125
+ if (
126
+ 'orchestrationTrace' in trace &&
127
+ trace.orchestrationTrace?.modelInvocationInput?.foundationModel
128
+ ) {
129
+ agentModel = trace.orchestrationTrace.modelInvocationInput.foundationModel;
130
+ }
131
+ }
132
+ }
133
+ }
134
+
135
+ // After the stream is complete, send trace data
136
+ const endTime = performance.now();
137
+ totalTokens = promptTokens + completionTokens;
138
+
139
+ // Send trace data to Openlayer
140
+ const inputs = extractInputs(input, traceData);
141
+ const metadata: Record<string, any> = {
142
+ agentId: input.agentId,
143
+ agentAliasId: input.agentAliasId,
144
+ sessionId: input.sessionId,
145
+ timeToFirstToken: firstTokenTime ? firstTokenTime - startTime : null,
146
+ };
147
+
148
+ if (citations.length > 0) {
149
+ metadata['citations'] = citations;
150
+ }
151
+
152
+ const reasoning = extractReasoning(traceData);
153
+ if (reasoning && reasoning.length > 0) {
154
+ metadata['reasoning'] = reasoning;
155
+ }
156
+
157
+ if (input.sessionState) {
158
+ metadata['sessionState'] = {
159
+ hasSessionAttributes: !!input.sessionState.sessionAttributes,
160
+ hasPromptSessionAttributes: !!input.sessionState.promptSessionAttributes,
161
+ hasFiles: !!input.sessionState.files && input.sessionState.files.length > 0,
162
+ hasKnowledgeBaseConfigurations:
163
+ !!input.sessionState.knowledgeBaseConfigurations &&
164
+ input.sessionState.knowledgeBaseConfigurations.length > 0,
165
+ };
166
+ }
167
+
168
+ const traceStepData = {
169
+ name: 'AWS Bedrock Agent Invocation',
170
+ inputs: inputs,
171
+ output: collectedOutput,
172
+ latency: endTime - startTime,
173
+ tokens: totalTokens > 0 ? totalTokens : null,
174
+ promptTokens: promptTokens > 0 ? promptTokens : null,
175
+ completionTokens: completionTokens > 0 ? completionTokens : null,
176
+ model: agentModel || `${input.agentId}:${input.agentAliasId}`,
177
+ modelParameters: extractModelParameters(input),
178
+ rawOutput: JSON.stringify(rawOutputChunks, null, 2),
179
+ metadata: metadata,
180
+ provider: 'Bedrock',
181
+ };
182
+
183
+ addChatCompletionStepToTrace(traceStepData);
184
+ } catch (error) {
185
+ console.error('Error in traced completion:', error);
186
+ // Don't rethrow - we don't want tracing errors to break the user's stream
187
+ }
188
+ },
189
+ };
190
+ }
191
+
192
+ function extractInputs(input: any, traceData: any[]): Record<string, any> {
193
+ const inputs: Record<string, any> = {};
194
+
195
+ // Build the prompt in OpenAI-compatible format
196
+ const prompt: Array<{ role: string; content: string }> = [];
197
+
198
+ // Add the main user message
199
+ if (input.inputText) {
200
+ prompt.push({
201
+ role: 'user',
202
+ content: input.inputText,
203
+ });
204
+ }
205
+
206
+ // Add conversation history if present
207
+ if (input.sessionState?.conversationHistory?.messages) {
208
+ for (const message of input.sessionState.conversationHistory.messages) {
209
+ const content =
210
+ message.content ?
211
+ message.content.map((block: any) => ('text' in block ? block.text || '' : '')).join('')
212
+ : '';
213
+
214
+ const role = message.role || 'user';
215
+
216
+ prompt.unshift({
217
+ role: role,
218
+ content: content,
219
+ });
220
+ }
221
+ }
222
+
223
+ // Extract system prompt from trace data if available
224
+ const systemPrompt = extractSystemPrompt(traceData);
225
+ if (systemPrompt) {
226
+ prompt.unshift({
227
+ role: 'system',
228
+ content: systemPrompt,
229
+ });
230
+ }
231
+
232
+ inputs['prompt'] = prompt;
233
+
234
+ // Add additional context as separate fields
235
+ if (input.sessionState?.sessionAttributes) {
236
+ inputs['sessionAttributes'] = input.sessionState.sessionAttributes;
237
+ }
238
+
239
+ if (input.sessionState?.promptSessionAttributes) {
240
+ inputs['promptSessionAttributes'] = input.sessionState.promptSessionAttributes;
241
+ }
242
+
243
+ if (input.sessionState?.files && input.sessionState.files.length > 0) {
244
+ inputs['files'] = input.sessionState.files.map((file: any) => ({
245
+ name: file.name,
246
+ useCase: file.useCase,
247
+ sourceType: file.source?.sourceType,
248
+ }));
249
+ }
250
+
251
+ return inputs;
252
+ }
253
+
254
+ function extractSystemPrompt(traceData: any[]): string | null {
255
+ for (const trace of traceData) {
256
+ if (trace.trace?.orchestrationTrace?.modelInvocationInput?.text) {
257
+ try {
258
+ const parsed = JSON.parse(trace.trace.orchestrationTrace.modelInvocationInput.text);
259
+ if (parsed.system) {
260
+ return parsed.system;
261
+ }
262
+ } catch (e) {
263
+ // If parsing fails, continue
264
+ }
265
+ }
266
+ }
267
+ return null;
268
+ }
269
+
270
+ function extractReasoning(traceData: any[]): string[] | undefined {
271
+ const reasoning: string[] = [];
272
+
273
+ for (const trace of traceData) {
274
+ if (trace.trace?.orchestrationTrace?.rationale?.text) {
275
+ reasoning.push(trace.trace.orchestrationTrace.rationale.text);
276
+ }
277
+ }
278
+
279
+ return reasoning.length > 0 ? reasoning : undefined;
280
+ }
281
+
282
+ function extractModelParameters(input: any): Record<string, any> {
283
+ const params: Record<string, any> = {};
284
+
285
+ if (input.enableTrace !== undefined) {
286
+ params['enableTrace'] = input.enableTrace;
287
+ }
288
+
289
+ if (input.endSession !== undefined) {
290
+ params['endSession'] = input.endSession;
291
+ }
292
+
293
+ if (input.bedrockModelConfigurations) {
294
+ params['bedrockModelConfigurations'] = input.bedrockModelConfigurations;
295
+ }
296
+
297
+ if (input.streamingConfigurations) {
298
+ params['streamingConfigurations'] = input.streamingConfigurations;
299
+ }
300
+
301
+ if (input.promptCreationConfigurations) {
302
+ params['promptCreationConfigurations'] = input.promptCreationConfigurations;
303
+ }
304
+
305
+ return params;
306
+ }
@@ -71,19 +71,46 @@ function createStep(
71
71
  const { traceData: processedTraceData, inputVariableNames } = postProcessTrace(traceData!);
72
72
 
73
73
  if (publish && process.env['OPENLAYER_INFERENCE_PIPELINE_ID']) {
74
- client!.inferencePipelines.data.stream(process.env['OPENLAYER_INFERENCE_PIPELINE_ID'], {
75
- config: {
76
- outputColumnName: 'output',
77
- inputVariableNames: inputVariableNames,
78
- groundTruthColumnName: 'groundTruth',
79
- latencyColumnName: 'latency',
80
- costColumnName: 'cost',
81
- timestampColumnName: 'inferenceTimestamp',
82
- inferenceIdColumnName: 'inferenceId',
83
- numOfTokenColumnName: 'tokens',
84
- },
85
- rows: [processedTraceData],
86
- });
74
+ console.debug('Uploading trace to Openlayer...');
75
+
76
+ client!.inferencePipelines.data
77
+ .stream(process.env['OPENLAYER_INFERENCE_PIPELINE_ID'], {
78
+ config: {
79
+ outputColumnName: 'output',
80
+ inputVariableNames: inputVariableNames,
81
+ groundTruthColumnName: 'groundTruth',
82
+ latencyColumnName: 'latency',
83
+ costColumnName: 'cost',
84
+ timestampColumnName: 'inferenceTimestamp',
85
+ inferenceIdColumnName: 'inferenceId',
86
+ numOfTokenColumnName: 'tokens',
87
+ },
88
+ rows: [processedTraceData],
89
+ })
90
+ .then(() => {
91
+ console.debug('Trace uploaded successfully to Openlayer');
92
+ })
93
+ .catch((error) => {
94
+ console.error('Failed to upload trace to Openlayer:', error);
95
+ console.error(
96
+ 'Trace data that failed to upload:',
97
+ JSON.stringify(
98
+ {
99
+ pipelineId: process.env['OPENLAYER_INFERENCE_PIPELINE_ID'],
100
+ inputVariableNames,
101
+ processedTraceData,
102
+ },
103
+ null,
104
+ 2,
105
+ ),
106
+ );
107
+ });
108
+ } else {
109
+ if (!publish) {
110
+ console.debug('Trace upload disabled (OPENLAYER_DISABLE_PUBLISH=true)');
111
+ } else if (!process.env['OPENLAYER_INFERENCE_PIPELINE_ID']) {
112
+ console.warn('Trace upload skipped: OPENLAYER_INFERENCE_PIPELINE_ID environment variable not set');
113
+ }
87
114
  }
88
115
 
89
116
  // Reset the entire trace state
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const VERSION = '0.13.1'; // x-release-please-version
1
+ export const VERSION = '0.13.3'; // x-release-please-version
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.13.1";
1
+ export declare const VERSION = "0.13.3";
2
2
  //# sourceMappingURL=version.d.ts.map
package/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = '0.13.1'; // x-release-please-version
4
+ exports.VERSION = '0.13.3'; // x-release-please-version
5
5
  //# sourceMappingURL=version.js.map
package/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = '0.13.1'; // x-release-please-version
1
+ export const VERSION = '0.13.3'; // x-release-please-version
2
2
  //# sourceMappingURL=version.mjs.map