@microsoft/agents-a365-observability-extensions-openai 0.1.0-preview.95 → 0.2.0-preview.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.
Files changed (51) hide show
  1. package/dist/cjs/OpenAIAgentsTraceInstrumentor.js +1 -1
  2. package/dist/cjs/OpenAIAgentsTraceProcessor.d.ts +1 -2
  3. package/dist/cjs/OpenAIAgentsTraceProcessor.d.ts.map +1 -1
  4. package/dist/cjs/OpenAIAgentsTraceProcessor.js +34 -42
  5. package/dist/cjs/OpenAIAgentsTraceProcessor.js.map +1 -1
  6. package/dist/cjs/Utils.d.ts +30 -4
  7. package/dist/cjs/Utils.d.ts.map +1 -1
  8. package/dist/cjs/Utils.js +188 -28
  9. package/dist/cjs/Utils.js.map +1 -1
  10. package/dist/cjs/configuration/OpenAIObservabilityConfiguration.d.ts +53 -0
  11. package/dist/cjs/configuration/OpenAIObservabilityConfiguration.d.ts.map +1 -0
  12. package/dist/cjs/configuration/OpenAIObservabilityConfiguration.js +60 -0
  13. package/dist/cjs/configuration/OpenAIObservabilityConfiguration.js.map +1 -0
  14. package/dist/cjs/configuration/OpenAIObservabilityConfigurationOptions.d.ts +9 -0
  15. package/dist/cjs/configuration/OpenAIObservabilityConfigurationOptions.d.ts.map +1 -0
  16. package/dist/cjs/configuration/OpenAIObservabilityConfigurationOptions.js +5 -0
  17. package/dist/cjs/configuration/OpenAIObservabilityConfigurationOptions.js.map +1 -0
  18. package/dist/cjs/configuration/index.d.ts +9 -0
  19. package/dist/cjs/configuration/index.d.ts.map +1 -0
  20. package/dist/cjs/configuration/index.js +28 -0
  21. package/dist/cjs/configuration/index.js.map +1 -0
  22. package/dist/cjs/index.d.ts +1 -0
  23. package/dist/cjs/index.d.ts.map +1 -1
  24. package/dist/cjs/index.js +4 -1
  25. package/dist/cjs/index.js.map +1 -1
  26. package/dist/esm/OpenAIAgentsTraceInstrumentor.js +1 -1
  27. package/dist/esm/OpenAIAgentsTraceProcessor.d.ts +1 -2
  28. package/dist/esm/OpenAIAgentsTraceProcessor.d.ts.map +1 -1
  29. package/dist/esm/OpenAIAgentsTraceProcessor.js +35 -43
  30. package/dist/esm/OpenAIAgentsTraceProcessor.js.map +1 -1
  31. package/dist/esm/Utils.d.ts +30 -4
  32. package/dist/esm/Utils.d.ts.map +1 -1
  33. package/dist/esm/Utils.js +185 -28
  34. package/dist/esm/Utils.js.map +1 -1
  35. package/dist/esm/configuration/OpenAIObservabilityConfiguration.d.ts +53 -0
  36. package/dist/esm/configuration/OpenAIObservabilityConfiguration.d.ts.map +1 -0
  37. package/dist/esm/configuration/OpenAIObservabilityConfiguration.js +56 -0
  38. package/dist/esm/configuration/OpenAIObservabilityConfiguration.js.map +1 -0
  39. package/dist/esm/configuration/OpenAIObservabilityConfigurationOptions.d.ts +9 -0
  40. package/dist/esm/configuration/OpenAIObservabilityConfigurationOptions.d.ts.map +1 -0
  41. package/dist/esm/configuration/OpenAIObservabilityConfigurationOptions.js +4 -0
  42. package/dist/esm/configuration/OpenAIObservabilityConfigurationOptions.js.map +1 -0
  43. package/dist/esm/configuration/index.d.ts +9 -0
  44. package/dist/esm/configuration/index.d.ts.map +1 -0
  45. package/dist/esm/configuration/index.js +11 -0
  46. package/dist/esm/configuration/index.js.map +1 -0
  47. package/dist/esm/index.d.ts +1 -0
  48. package/dist/esm/index.d.ts.map +1 -1
  49. package/dist/esm/index.js +1 -0
  50. package/dist/esm/index.js.map +1 -1
  51. package/package.json +12 -6
package/dist/esm/Utils.js CHANGED
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) Microsoft Corporation. All rights reserved.
3
3
  // ------------------------------------------------------------------------------
4
4
  import { SpanStatusCode } from '@opentelemetry/api';
5
- import { OpenTelemetryConstants } from '@microsoft/agents-a365-observability';
5
+ import { OpenTelemetryConstants, serializeMessages, safeSerializeToJson, A365_MESSAGE_SCHEMA_VERSION, MessageRole, MAX_SPAN_SIZE_BYTES, } from '@microsoft/agents-a365-observability';
6
6
  import * as Constants from './Constants';
7
7
  /**
8
8
  * Safely stringify an object to JSON
@@ -75,15 +75,10 @@ export function getAttributesFromGenerationSpanData(data) {
75
75
  attributes[OpenTelemetryConstants.GEN_AI_EXECUTION_PAYLOAD_KEY] = safeJsonDumps(config);
76
76
  }
77
77
  if (genData.input) {
78
- attributes[Constants.GEN_AI_REQUEST_CONTENT_KEY] = safeJsonDumps(genData.input);
79
- attributes[OpenTelemetryConstants.GEN_AI_EXECUTION_TYPE_KEY] = 'application/json';
78
+ attributes[Constants.GEN_AI_REQUEST_CONTENT_KEY] = serializeMessages(wrapRawContentAsInputMessages(genData.input));
80
79
  }
81
80
  if (genData.output) {
82
- attributes[Constants.GEN_AI_RESPONSE_CONTENT_KEY] = safeJsonDumps(genData.output);
83
- const output = genData.output;
84
- if (output.id) {
85
- attributes[OpenTelemetryConstants.GEN_AI_RESPONSE_ID_KEY] = output.id;
86
- }
81
+ attributes[Constants.GEN_AI_RESPONSE_CONTENT_KEY] = serializeMessages(wrapRawContentAsOutputMessages(genData.output));
87
82
  }
88
83
  if (genData.usage) {
89
84
  const usage = genData.usage;
@@ -105,14 +100,11 @@ export function getAttributesFromFunctionSpanData(data) {
105
100
  if (funcData.name) {
106
101
  attributes['gen_ai.tool.name'] = funcData.name;
107
102
  }
108
- if (funcData.input) {
109
- attributes[Constants.GEN_AI_REQUEST_CONTENT_KEY] =
110
- typeof funcData.input === 'string' ? funcData.input : safeJsonDumps(funcData.input);
111
- attributes[OpenTelemetryConstants.GEN_AI_EXECUTION_TYPE_KEY] = 'application/json';
103
+ if (funcData.input != null) {
104
+ attributes[Constants.GEN_AI_REQUEST_CONTENT_KEY] = safeSerializeToJson(typeof funcData.input === 'object' ? funcData.input : String(funcData.input), 'arguments');
112
105
  }
113
106
  if (funcData.output !== undefined && funcData.output !== null) {
114
- const output = typeof funcData.output === 'object' ? safeJsonDumps(funcData.output) : String(funcData.output);
115
- attributes[Constants.GEN_AI_RESPONSE_CONTENT_KEY] = output;
107
+ attributes[Constants.GEN_AI_RESPONSE_CONTENT_KEY] = safeSerializeToJson(typeof funcData.output === 'object' ? funcData.output : String(funcData.output), 'result');
116
108
  }
117
109
  return attributes;
118
110
  }
@@ -124,7 +116,6 @@ export function getAttributesFromMCPListToolsSpanData(data) {
124
116
  const mcpData = data;
125
117
  if (mcpData.result) {
126
118
  attributes[Constants.GEN_AI_RESPONSE_CONTENT_KEY] = safeJsonDumps(mcpData.result);
127
- attributes[OpenTelemetryConstants.GEN_AI_EXECUTION_TYPE_KEY] = 'application/json';
128
119
  }
129
120
  return attributes;
130
121
  }
@@ -148,19 +139,6 @@ export function getAttributesFromResponse(response) {
148
139
  }
149
140
  return attributes;
150
141
  }
151
- /**
152
- * Get attributes from input data
153
- */
154
- export function getAttributesFromInput(input) {
155
- const attributes = {};
156
- if (typeof input === 'string') {
157
- attributes[Constants.GEN_AI_REQUEST_CONTENT_KEY] = input;
158
- }
159
- else if (Array.isArray(input)) {
160
- attributes[Constants.GEN_AI_REQUEST_CONTENT_KEY] = safeJsonDumps(input);
161
- }
162
- return attributes;
163
- }
164
142
  /**
165
143
  * Get span status from OpenAI Agents SDK span
166
144
  */
@@ -174,4 +152,183 @@ export function getSpanStatus(span) {
174
152
  }
175
153
  return { code: SpanStatusCode.OK };
176
154
  }
155
+ /**
156
+ * Map an OpenAI role string to a MessageRole value.
157
+ */
158
+ function mapOpenAIRole(role) {
159
+ switch (role) {
160
+ case 'user':
161
+ return MessageRole.USER;
162
+ case 'assistant':
163
+ return MessageRole.ASSISTANT;
164
+ case 'system':
165
+ return MessageRole.SYSTEM;
166
+ case 'tool':
167
+ return MessageRole.TOOL;
168
+ default:
169
+ return role;
170
+ }
171
+ }
172
+ function getModalityFromMimeType(mimeType) {
173
+ return String(mimeType ?? 'file').split('/')[0] || 'file';
174
+ }
175
+ function mapGenericBlock(blockType, block) {
176
+ return { type: blockType ?? 'unknown', content: safeJsonDumps(block) };
177
+ }
178
+ function parseToolCallArguments(args) {
179
+ if (typeof args === 'string') {
180
+ try {
181
+ return JSON.parse(args);
182
+ }
183
+ catch {
184
+ return { raw: args };
185
+ }
186
+ }
187
+ if (args && typeof args === 'object') {
188
+ return args;
189
+ }
190
+ return undefined;
191
+ }
192
+ function getToolCallId(block) {
193
+ if (block.call_id != null)
194
+ return String(block.call_id);
195
+ if (block.id != null)
196
+ return String(block.id);
197
+ return undefined;
198
+ }
199
+ function wrapRawContentAsMessages(raw, role) {
200
+ const content = typeof raw === 'string' ? raw : safeJsonDumps(raw);
201
+ return {
202
+ version: A365_MESSAGE_SCHEMA_VERSION,
203
+ messages: [{ role, parts: [{ type: 'text', content }] }],
204
+ };
205
+ }
206
+ /**
207
+ * Map an OpenAI input content block to a MessagePart.
208
+ */
209
+ function mapInputContentBlock(block) {
210
+ const blockType = block.type;
211
+ switch (blockType) {
212
+ case 'input_text':
213
+ return { type: 'text', content: String(block.text ?? '') };
214
+ case 'input_image':
215
+ return { type: 'blob', modality: 'image', ...stripBinaryFields(block) };
216
+ case 'input_file':
217
+ return {
218
+ type: 'file',
219
+ modality: getModalityFromMimeType(block.mime_type),
220
+ ...stripBinaryFields(block),
221
+ };
222
+ default:
223
+ return mapGenericBlock(blockType, block);
224
+ }
225
+ }
226
+ /**
227
+ * Strip large binary fields from a content block for telemetry.
228
+ */
229
+ function stripBinaryFields(block) {
230
+ const result = {};
231
+ for (const [key, value] of Object.entries(block)) {
232
+ if (key === 'type')
233
+ continue;
234
+ if (typeof value === 'string' && value.length > MAX_SPAN_SIZE_BYTES) {
235
+ result[key] = '[truncated]';
236
+ }
237
+ else {
238
+ result[key] = value;
239
+ }
240
+ }
241
+ return result;
242
+ }
243
+ /**
244
+ * Map an OpenAI output content block to a MessagePart.
245
+ */
246
+ function mapOutputContentBlock(block) {
247
+ const blockType = block.type;
248
+ switch (blockType) {
249
+ case 'output_text':
250
+ return { type: 'text', content: String(block.text ?? '') };
251
+ case 'refusal':
252
+ return { type: 'text', content: String(block.refusal ?? '') };
253
+ case 'tool_call':
254
+ case 'function_call': {
255
+ const parsedArgs = parseToolCallArguments(block.arguments ?? block.args);
256
+ return {
257
+ type: 'tool_call',
258
+ name: String(block.name ?? block.function ?? ''),
259
+ id: getToolCallId(block),
260
+ arguments: parsedArgs,
261
+ };
262
+ }
263
+ case 'reasoning':
264
+ return { type: 'reasoning', content: String(block.text ?? block.content ?? '') };
265
+ default:
266
+ return mapGenericBlock(blockType, block);
267
+ }
268
+ }
269
+ /**
270
+ * Build structured InputMessages from an OpenAI _input message array.
271
+ * Includes all roles (system, user, assistant, tool).
272
+ */
273
+ export function buildStructuredInputMessages(arr) {
274
+ const messages = [];
275
+ for (const msg of arr) {
276
+ if (!msg || typeof msg !== 'object')
277
+ continue;
278
+ const role = mapOpenAIRole(msg.role ?? 'user');
279
+ let parts;
280
+ if (typeof msg.content === 'string') {
281
+ parts = [{ type: 'text', content: msg.content }];
282
+ }
283
+ else if (Array.isArray(msg.content)) {
284
+ parts = msg.content.map(mapInputContentBlock);
285
+ }
286
+ else {
287
+ parts = [{ type: 'text', content: safeJsonDumps(msg.content) }];
288
+ }
289
+ messages.push({ role, parts });
290
+ }
291
+ return { version: A365_MESSAGE_SCHEMA_VERSION, messages };
292
+ }
293
+ /**
294
+ * Build structured OutputMessages from an OpenAI response.output array.
295
+ */
296
+ export function buildStructuredOutputMessages(arr) {
297
+ const messages = [];
298
+ for (const item of arr) {
299
+ if (!item || typeof item !== 'object')
300
+ continue;
301
+ const role = mapOpenAIRole(item.role ?? 'assistant');
302
+ // Items with a content array (standard response format)
303
+ if (Array.isArray(item.content)) {
304
+ const parts = item.content.map(mapOutputContentBlock);
305
+ messages.push({ role, parts });
306
+ continue;
307
+ }
308
+ // Items that are themselves content blocks (e.g., type: 'message' with text)
309
+ if (item.type && typeof item.type === 'string') {
310
+ const parts = [mapOutputContentBlock(item)];
311
+ messages.push({ role, parts });
312
+ continue;
313
+ }
314
+ // Fallback: stringify the item
315
+ messages.push({
316
+ role,
317
+ parts: [{ type: 'text', content: safeJsonDumps(item) }],
318
+ });
319
+ }
320
+ return { version: A365_MESSAGE_SCHEMA_VERSION, messages };
321
+ }
322
+ /**
323
+ * Wrap opaque raw content as InputMessages (for generation span data).
324
+ */
325
+ export function wrapRawContentAsInputMessages(raw) {
326
+ return wrapRawContentAsMessages(raw, MessageRole.USER);
327
+ }
328
+ /**
329
+ * Wrap opaque raw content as OutputMessages (for generation span data).
330
+ */
331
+ export function wrapRawContentAsOutputMessages(raw) {
332
+ return wrapRawContentAsMessages(raw, MessageRole.ASSISTANT);
333
+ }
177
334
  //# sourceMappingURL=Utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../src/Utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../src/Utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { ObservabilityConfiguration } from '@microsoft/agents-a365-observability';
2
+ import { OpenAIObservabilityConfigurationOptions } from './OpenAIObservabilityConfigurationOptions';
3
+ /**
4
+ * Configuration for OpenAI observability extension package.
5
+ * Inherits all observability and runtime settings.
6
+ *
7
+ * ## Why This Class Exists
8
+ *
9
+ * Although this class currently adds no new settings beyond what ObservabilityConfiguration
10
+ * provides, it exists for several important reasons:
11
+ *
12
+ * 1. **Type Safety**: Allows OpenAI-specific services to declare their dependency on
13
+ * `IConfigurationProvider<OpenAIObservabilityConfiguration>`, making the configuration
14
+ * contract explicit and enabling compile-time checking.
15
+ *
16
+ * 2. **Extension Point**: Provides a clear place to add OpenAI-specific observability settings
17
+ * (e.g., trace sampling rates, span attribute limits, custom exporter options) without
18
+ * breaking existing code when those needs arise.
19
+ *
20
+ * 3. **Consistent Pattern**: Maintains symmetry with other extension packages
21
+ * (Claude, LangChain tooling extensions), making the SDK easier to understand and navigate.
22
+ *
23
+ * 4. **Dependency Injection**: Services can be designed to accept this specific
24
+ * configuration type, enabling proper IoC patterns and testability.
25
+ *
26
+ * ## Relationship to OpenAIAgentsInstrumentationConfig
27
+ *
28
+ * This class is separate from and complementary to `OpenAIAgentsInstrumentationConfig`:
29
+ *
30
+ * - **OpenAIObservabilityConfiguration**: SDK-wide configuration following the
31
+ * configuration provider pattern, supporting function-based overrides and
32
+ * environment variable fallbacks.
33
+ *
34
+ * - **OpenAIAgentsInstrumentationConfig**: OpenTelemetry instrumentation-specific
35
+ * configuration passed to `OpenAIAgentsTraceInstrumentor`, following OTel conventions.
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * // Service declares explicit dependency on OpenAI observability configuration
40
+ * class OpenAITracingService {
41
+ * constructor(private configProvider: IConfigurationProvider<OpenAIObservabilityConfiguration>) {}
42
+ * }
43
+ *
44
+ * // Future: Add OpenAI-specific settings without breaking changes
45
+ * class OpenAIObservabilityConfiguration extends ObservabilityConfiguration {
46
+ * get traceSamplingRate(): number { ... }
47
+ * }
48
+ * ```
49
+ */
50
+ export declare class OpenAIObservabilityConfiguration extends ObservabilityConfiguration {
51
+ constructor(overrides?: OpenAIObservabilityConfigurationOptions);
52
+ }
53
+ //# sourceMappingURL=OpenAIObservabilityConfiguration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenAIObservabilityConfiguration.d.ts","sourceRoot":"","sources":["../../../src/configuration/OpenAIObservabilityConfiguration.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,uCAAuC,EAAE,MAAM,2CAA2C,CAAC;AAEpG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,qBAAa,gCAAiC,SAAQ,0BAA0B;gBAClE,SAAS,CAAC,EAAE,uCAAuC;CAMhE"}
@@ -0,0 +1,56 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { ObservabilityConfiguration } from '@microsoft/agents-a365-observability';
4
+ /**
5
+ * Configuration for OpenAI observability extension package.
6
+ * Inherits all observability and runtime settings.
7
+ *
8
+ * ## Why This Class Exists
9
+ *
10
+ * Although this class currently adds no new settings beyond what ObservabilityConfiguration
11
+ * provides, it exists for several important reasons:
12
+ *
13
+ * 1. **Type Safety**: Allows OpenAI-specific services to declare their dependency on
14
+ * `IConfigurationProvider<OpenAIObservabilityConfiguration>`, making the configuration
15
+ * contract explicit and enabling compile-time checking.
16
+ *
17
+ * 2. **Extension Point**: Provides a clear place to add OpenAI-specific observability settings
18
+ * (e.g., trace sampling rates, span attribute limits, custom exporter options) without
19
+ * breaking existing code when those needs arise.
20
+ *
21
+ * 3. **Consistent Pattern**: Maintains symmetry with other extension packages
22
+ * (Claude, LangChain tooling extensions), making the SDK easier to understand and navigate.
23
+ *
24
+ * 4. **Dependency Injection**: Services can be designed to accept this specific
25
+ * configuration type, enabling proper IoC patterns and testability.
26
+ *
27
+ * ## Relationship to OpenAIAgentsInstrumentationConfig
28
+ *
29
+ * This class is separate from and complementary to `OpenAIAgentsInstrumentationConfig`:
30
+ *
31
+ * - **OpenAIObservabilityConfiguration**: SDK-wide configuration following the
32
+ * configuration provider pattern, supporting function-based overrides and
33
+ * environment variable fallbacks.
34
+ *
35
+ * - **OpenAIAgentsInstrumentationConfig**: OpenTelemetry instrumentation-specific
36
+ * configuration passed to `OpenAIAgentsTraceInstrumentor`, following OTel conventions.
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * // Service declares explicit dependency on OpenAI observability configuration
41
+ * class OpenAITracingService {
42
+ * constructor(private configProvider: IConfigurationProvider<OpenAIObservabilityConfiguration>) {}
43
+ * }
44
+ *
45
+ * // Future: Add OpenAI-specific settings without breaking changes
46
+ * class OpenAIObservabilityConfiguration extends ObservabilityConfiguration {
47
+ * get traceSamplingRate(): number { ... }
48
+ * }
49
+ * ```
50
+ */
51
+ export class OpenAIObservabilityConfiguration extends ObservabilityConfiguration {
52
+ constructor(overrides) {
53
+ super(overrides);
54
+ }
55
+ }
56
+ //# sourceMappingURL=OpenAIObservabilityConfiguration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenAIObservabilityConfiguration.js","sourceRoot":"","sources":["../../../src/configuration/OpenAIObservabilityConfiguration.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAGlF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAM,OAAO,gCAAiC,SAAQ,0BAA0B;IAC9E,YAAY,SAAmD;QAC7D,KAAK,CAAC,SAAS,CAAC,CAAC;IACnB,CAAC;CAIF"}
@@ -0,0 +1,9 @@
1
+ import { ObservabilityConfigurationOptions } from '@microsoft/agents-a365-observability';
2
+ /**
3
+ * OpenAI observability configuration options - extends observability options.
4
+ * All overrides are functions called on each property access.
5
+ *
6
+ * Currently no additional settings; this type exists for future extensibility.
7
+ */
8
+ export type OpenAIObservabilityConfigurationOptions = ObservabilityConfigurationOptions;
9
+ //# sourceMappingURL=OpenAIObservabilityConfigurationOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenAIObservabilityConfigurationOptions.d.ts","sourceRoot":"","sources":["../../../src/configuration/OpenAIObservabilityConfigurationOptions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iCAAiC,EAAE,MAAM,sCAAsC,CAAC;AAEzF;;;;;GAKG;AACH,MAAM,MAAM,uCAAuC,GAAG,iCAAiC,CAAC"}
@@ -0,0 +1,4 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ export {};
4
+ //# sourceMappingURL=OpenAIObservabilityConfigurationOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenAIObservabilityConfigurationOptions.js","sourceRoot":"","sources":["../../../src/configuration/OpenAIObservabilityConfigurationOptions.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC"}
@@ -0,0 +1,9 @@
1
+ import { DefaultConfigurationProvider } from '@microsoft/agents-a365-runtime';
2
+ import { OpenAIObservabilityConfiguration } from './OpenAIObservabilityConfiguration';
3
+ export * from './OpenAIObservabilityConfigurationOptions';
4
+ export * from './OpenAIObservabilityConfiguration';
5
+ /**
6
+ * Shared default provider for OpenAIObservabilityConfiguration.
7
+ */
8
+ export declare const defaultOpenAIObservabilityConfigurationProvider: DefaultConfigurationProvider<OpenAIObservabilityConfiguration>;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/configuration/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAEtF,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,+CAA+C,gEACoB,CAAC"}
@@ -0,0 +1,11 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { DefaultConfigurationProvider } from '@microsoft/agents-a365-runtime';
4
+ import { OpenAIObservabilityConfiguration } from './OpenAIObservabilityConfiguration';
5
+ export * from './OpenAIObservabilityConfigurationOptions';
6
+ export * from './OpenAIObservabilityConfiguration';
7
+ /**
8
+ * Shared default provider for OpenAIObservabilityConfiguration.
9
+ */
10
+ export const defaultOpenAIObservabilityConfigurationProvider = new DefaultConfigurationProvider(() => new OpenAIObservabilityConfiguration());
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/configuration/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAEtF,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oCAAoC,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,MAAM,+CAA+C,GAC1D,IAAI,4BAA4B,CAAC,GAAG,EAAE,CAAC,IAAI,gCAAgC,EAAE,CAAC,CAAC"}
@@ -3,4 +3,5 @@
3
3
  */
4
4
  export { OpenAIAgentsTraceInstrumentor, OpenAIAgentsInstrumentationConfig } from './OpenAIAgentsTraceInstrumentor';
5
5
  export { OpenAIAgentsTraceProcessor } from './OpenAIAgentsTraceProcessor';
6
+ export { OpenAIObservabilityConfiguration, OpenAIObservabilityConfigurationOptions, defaultOpenAIObservabilityConfigurationProvider } from './configuration';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,6BAA6B,EAAE,iCAAiC,EAAE,MAAM,iCAAiC,CAAC;AACnH,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,6BAA6B,EAAE,iCAAiC,EAAE,MAAM,iCAAiC,CAAC;AACnH,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EACL,gCAAgC,EAChC,uCAAuC,EACvC,+CAA+C,EAChD,MAAM,iBAAiB,CAAC"}
package/dist/esm/index.js CHANGED
@@ -6,4 +6,5 @@
6
6
  */
7
7
  export { OpenAIAgentsTraceInstrumentor } from './OpenAIAgentsTraceInstrumentor';
8
8
  export { OpenAIAgentsTraceProcessor } from './OpenAIAgentsTraceProcessor';
9
+ export { OpenAIObservabilityConfiguration, defaultOpenAIObservabilityConfigurationProvider } from './configuration';
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,4DAA4D;AAC5D,iFAAiF;AAEjF;;GAEG;AAEH,OAAO,EAAE,6BAA6B,EAAqC,MAAM,iCAAiC,CAAC;AACnH,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,4DAA4D;AAC5D,iFAAiF;AAEjF;;GAEG;AAEH,OAAO,EAAE,6BAA6B,EAAqC,MAAM,iCAAiC,CAAC;AACnH,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EACL,gCAAgC,EAEhC,+CAA+C,EAChD,MAAM,iBAAiB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/agents-a365-observability-extensions-openai",
3
- "version": "0.1.0-preview.95",
3
+ "version": "0.2.0-preview.3",
4
4
  "description": "Microsoft Agent 365 SDK OpenAI Agents instrumentation extensions for telemetry and observability",
5
5
  "keywords": [
6
6
  "agent365",
@@ -32,11 +32,11 @@
32
32
  "LICENSE.md"
33
33
  ],
34
34
  "dependencies": {
35
- "@microsoft/agents-a365-observability": "0.1.0-preview.95",
36
- "@openai/agents": "^0.4.0",
35
+ "@microsoft/agents-a365-observability": "0.2.0-preview.3",
36
+ "@microsoft/agents-a365-runtime": "0.2.0-preview.3",
37
+ "@openai/agents": "^0.7.0",
37
38
  "@opentelemetry/api": "^1.9.0",
38
- "@opentelemetry/instrumentation": "^0.204.0",
39
- "hono": "^4.11.7"
39
+ "@opentelemetry/instrumentation": "^0.213.0"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@eslint/js": "^9.39.1",
@@ -52,7 +52,13 @@
52
52
  "typescript-eslint": "^8.47.0"
53
53
  },
54
54
  "peerDependencies": {
55
- "@openai/agents": "^0.4.0"
55
+ "@openai/agents": "^0.7.0",
56
+ "hono": "^4.11.7"
57
+ },
58
+ "peerDependenciesMeta": {
59
+ "hono": {
60
+ "optional": true
61
+ }
56
62
  },
57
63
  "engines": {
58
64
  "node": ">=18.0.0"