@igniter-js/agents 0.1.1 → 0.1.12

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.
@@ -216,8 +216,8 @@ declare const IgniterAgentTelemetryEvents: _igniter_js_telemetry.IgniterTelemetr
216
216
  "ctx.agent.scopeId": z.ZodOptional<z.ZodString>;
217
217
  "ctx.mcp.name": z.ZodString;
218
218
  "ctx.mcp.type": z.ZodEnum<{
219
- http: "http";
220
219
  stdio: "stdio";
220
+ http: "http";
221
221
  }>;
222
222
  "ctx.mcp.toolCount": z.ZodOptional<z.ZodNumber>;
223
223
  "ctx.mcp.durationMs": z.ZodOptional<z.ZodNumber>;
@@ -229,8 +229,8 @@ declare const IgniterAgentTelemetryEvents: _igniter_js_telemetry.IgniterTelemetr
229
229
  "ctx.agent.scopeId": z.ZodOptional<z.ZodString>;
230
230
  "ctx.mcp.name": z.ZodString;
231
231
  "ctx.mcp.type": z.ZodEnum<{
232
- http: "http";
233
232
  stdio: "stdio";
233
+ http: "http";
234
234
  }>;
235
235
  "ctx.mcp.toolCount": z.ZodOptional<z.ZodNumber>;
236
236
  "ctx.mcp.durationMs": z.ZodOptional<z.ZodNumber>;
@@ -252,8 +252,8 @@ declare const IgniterAgentTelemetryEvents: _igniter_js_telemetry.IgniterTelemetr
252
252
  "ctx.agent.scopeId": z.ZodOptional<z.ZodString>;
253
253
  "ctx.mcp.name": z.ZodString;
254
254
  "ctx.mcp.type": z.ZodEnum<{
255
- http: "http";
256
255
  stdio: "stdio";
256
+ http: "http";
257
257
  }>;
258
258
  "ctx.mcp.toolCount": z.ZodOptional<z.ZodNumber>;
259
259
  "ctx.mcp.durationMs": z.ZodOptional<z.ZodNumber>;
@@ -265,8 +265,8 @@ declare const IgniterAgentTelemetryEvents: _igniter_js_telemetry.IgniterTelemetr
265
265
  "ctx.agent.scopeId": z.ZodOptional<z.ZodString>;
266
266
  "ctx.mcp.name": z.ZodString;
267
267
  "ctx.mcp.type": z.ZodEnum<{
268
- http: "http";
269
268
  stdio: "stdio";
269
+ http: "http";
270
270
  }>;
271
271
  "ctx.mcp.toolCount": z.ZodOptional<z.ZodNumber>;
272
272
  "ctx.mcp.durationMs": z.ZodOptional<z.ZodNumber>;
@@ -335,6 +335,6 @@ declare const IgniterAgentTelemetryEvents: _igniter_js_telemetry.IgniterTelemetr
335
335
  /**
336
336
  * Type for the telemetry events registry.
337
337
  */
338
- type IgniterAgentTelemetryEventsType = typeof IgniterAgentTelemetryEvents;
338
+ type IgniterAgentTelemetryEventsType = typeof IgniterAgentTelemetryEvents.$Infer.events;
339
339
 
340
340
  export { IgniterAgentTelemetryEvents, type IgniterAgentTelemetryEventsType };
@@ -216,8 +216,8 @@ declare const IgniterAgentTelemetryEvents: _igniter_js_telemetry.IgniterTelemetr
216
216
  "ctx.agent.scopeId": z.ZodOptional<z.ZodString>;
217
217
  "ctx.mcp.name": z.ZodString;
218
218
  "ctx.mcp.type": z.ZodEnum<{
219
- http: "http";
220
219
  stdio: "stdio";
220
+ http: "http";
221
221
  }>;
222
222
  "ctx.mcp.toolCount": z.ZodOptional<z.ZodNumber>;
223
223
  "ctx.mcp.durationMs": z.ZodOptional<z.ZodNumber>;
@@ -229,8 +229,8 @@ declare const IgniterAgentTelemetryEvents: _igniter_js_telemetry.IgniterTelemetr
229
229
  "ctx.agent.scopeId": z.ZodOptional<z.ZodString>;
230
230
  "ctx.mcp.name": z.ZodString;
231
231
  "ctx.mcp.type": z.ZodEnum<{
232
- http: "http";
233
232
  stdio: "stdio";
233
+ http: "http";
234
234
  }>;
235
235
  "ctx.mcp.toolCount": z.ZodOptional<z.ZodNumber>;
236
236
  "ctx.mcp.durationMs": z.ZodOptional<z.ZodNumber>;
@@ -252,8 +252,8 @@ declare const IgniterAgentTelemetryEvents: _igniter_js_telemetry.IgniterTelemetr
252
252
  "ctx.agent.scopeId": z.ZodOptional<z.ZodString>;
253
253
  "ctx.mcp.name": z.ZodString;
254
254
  "ctx.mcp.type": z.ZodEnum<{
255
- http: "http";
256
255
  stdio: "stdio";
256
+ http: "http";
257
257
  }>;
258
258
  "ctx.mcp.toolCount": z.ZodOptional<z.ZodNumber>;
259
259
  "ctx.mcp.durationMs": z.ZodOptional<z.ZodNumber>;
@@ -265,8 +265,8 @@ declare const IgniterAgentTelemetryEvents: _igniter_js_telemetry.IgniterTelemetr
265
265
  "ctx.agent.scopeId": z.ZodOptional<z.ZodString>;
266
266
  "ctx.mcp.name": z.ZodString;
267
267
  "ctx.mcp.type": z.ZodEnum<{
268
- http: "http";
269
268
  stdio: "stdio";
269
+ http: "http";
270
270
  }>;
271
271
  "ctx.mcp.toolCount": z.ZodOptional<z.ZodNumber>;
272
272
  "ctx.mcp.durationMs": z.ZodOptional<z.ZodNumber>;
@@ -335,6 +335,6 @@ declare const IgniterAgentTelemetryEvents: _igniter_js_telemetry.IgniterTelemetr
335
335
  /**
336
336
  * Type for the telemetry events registry.
337
337
  */
338
- type IgniterAgentTelemetryEventsType = typeof IgniterAgentTelemetryEvents;
338
+ type IgniterAgentTelemetryEventsType = typeof IgniterAgentTelemetryEvents.$Infer.events;
339
339
 
340
340
  export { IgniterAgentTelemetryEvents, type IgniterAgentTelemetryEventsType };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/telemetry/index.ts"],"names":["z","IgniterTelemetryEvents"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * @fileoverview Telemetry events for @igniter-js/agents\n * @module @igniter-js/agents/telemetry\n *\n * @description\n * Defines telemetry events for agent operations including lifecycle,\n * tool execution, MCP connections, memory operations, and generation.\n * Events use dot notation namespacing and follow the IgniterTelemetry pattern.\n *\n * ### Important Redaction Rules\n *\n * **NEVER** expose these fields in telemetry attributes:\n * - Message contents or prompts (may contain sensitive user data)\n * - Tool execution results (may contain PII)\n * - Memory contents (may contain sensitive context)\n * - API keys or credentials\n *\n * **SAFE** to expose:\n * - Operation names and types\n * - Agent and toolset names\n * - Success/failure states\n * - Error codes and sanitized messages\n * - Timing/duration metrics\n * - Token counts (input/output)\n * - Tool names (not arguments)\n *\n * @example\n * ```typescript\n * import { IgniterAgentTelemetryEvents } from '@igniter-js/agents/telemetry'\n * import { IgniterTelemetry } from '@igniter-js/telemetry'\n *\n * const telemetry = IgniterTelemetry.create()\n * .withService('my-api')\n * .addEvents(IgniterAgentTelemetryEvents)\n * .withRedaction({\n * denylistKeys: ['content', 'message', 'prompt', 'result'],\n * hashKeys: ['ctx.agent.userId'],\n * })\n * .build()\n *\n * const agent = IgniterAgent.create('assistant')\n * .withModel(openai('gpt-4'))\n * .withTelemetry(telemetry)\n * .build()\n * ```\n */\n\nimport { IgniterTelemetryEvents } from \"@igniter-js/telemetry\";\nimport { z } from \"zod\";\n\n/**\n * Base attributes present in all agent events.\n * These are safe to expose and provide operational context.\n */\nconst BaseAgentAttributesSchema = z.object({\n /**\n * The agent name.\n */\n \"ctx.agent.name\": z.string(),\n\n /**\n * The current scope (if scoped).\n */\n \"ctx.agent.scope\": z.string().optional(),\n\n /**\n * The scope identifier value.\n */\n \"ctx.agent.scopeId\": z.string().optional(),\n});\n\n/**\n * Attributes for lifecycle events (start, stop).\n */\nconst LifecycleAttributesSchema = BaseAgentAttributesSchema.extend({\n /**\n * Number of toolsets registered.\n */\n \"ctx.lifecycle.toolsetCount\": z.number().optional(),\n\n /**\n * Number of MCP connections configured.\n */\n \"ctx.lifecycle.mcpCount\": z.number().optional(),\n\n /**\n * Whether memory adapter is configured.\n */\n \"ctx.lifecycle.hasMemory\": z.boolean().optional(),\n});\n\n/**\n * Attributes for generation events.\n */\nconst GenerationAttributesSchema = BaseAgentAttributesSchema.extend({\n /**\n * The model used for generation.\n */\n \"ctx.generation.model\": z.string().optional(),\n\n /**\n * Number of input messages.\n */\n \"ctx.generation.inputMessages\": z.number().optional(),\n\n /**\n * Number of input tokens (if available).\n */\n \"ctx.generation.inputTokens\": z.number().optional(),\n\n /**\n * Number of output tokens (if available).\n */\n \"ctx.generation.outputTokens\": z.number().optional(),\n\n /**\n * Total tokens used (if available).\n */\n \"ctx.generation.totalTokens\": z.number().optional(),\n\n /**\n * Generation duration in milliseconds.\n */\n \"ctx.generation.durationMs\": z.number().optional(),\n\n /**\n * Number of tool calls made during generation.\n */\n \"ctx.generation.toolCalls\": z.number().optional(),\n\n /**\n * Whether the response was streamed.\n */\n \"ctx.generation.streamed\": z.boolean().optional(),\n});\n\n/**\n * Attributes for tool execution events.\n */\nconst ToolAttributesSchema = BaseAgentAttributesSchema.extend({\n /**\n * The toolset name.\n */\n \"ctx.tool.toolset\": z.string(),\n\n /**\n * The tool name (within the toolset).\n */\n \"ctx.tool.name\": z.string(),\n\n /**\n * The full tool identifier (toolset_name).\n */\n \"ctx.tool.fullName\": z.string(),\n\n /**\n * Tool execution duration in milliseconds.\n */\n \"ctx.tool.durationMs\": z.number().optional(),\n});\n\n/**\n * Attributes for MCP events.\n */\nconst MCPAttributesSchema = BaseAgentAttributesSchema.extend({\n /**\n * The MCP configuration name.\n */\n \"ctx.mcp.name\": z.string(),\n\n /**\n * The MCP transport type (stdio, http).\n */\n \"ctx.mcp.type\": z.enum([\"stdio\", \"http\"]),\n\n /**\n * Number of tools provided by this MCP.\n */\n \"ctx.mcp.toolCount\": z.number().optional(),\n\n /**\n * Connection duration in milliseconds.\n */\n \"ctx.mcp.durationMs\": z.number().optional(),\n});\n\n/**\n * Attributes for memory events.\n */\nconst MemoryAttributesSchema = BaseAgentAttributesSchema.extend({\n /**\n * The memory operation type.\n */\n \"ctx.memory.operation\": z.enum([\n \"getWorkingMemory\",\n \"updateWorkingMemory\",\n \"getMessages\",\n \"saveMessage\",\n \"getChats\",\n \"saveChat\",\n \"getChat\",\n \"updateChatTitle\",\n \"deleteChat\",\n ]),\n\n /**\n * The memory scope (user, chat, global).\n */\n \"ctx.memory.scope\": z.string().optional(),\n\n /**\n * Number of items affected.\n */\n \"ctx.memory.count\": z.number().optional(),\n\n /**\n * Operation duration in milliseconds.\n */\n \"ctx.memory.durationMs\": z.number().optional(),\n});\n\n/**\n * Attributes for error events.\n */\nconst ErrorAttributesSchema = BaseAgentAttributesSchema.extend({\n /**\n * The error code.\n */\n \"ctx.error.code\": z.string(),\n\n /**\n * The sanitized error message (no sensitive data).\n */\n \"ctx.error.message\": z.string().optional(),\n\n /**\n * The operation that failed.\n */\n \"ctx.error.operation\": z.string().optional(),\n\n /**\n * The component that threw the error.\n */\n \"ctx.error.component\": z.string().optional(),\n});\n\n/**\n * Telemetry events for @igniter-js/agents.\n *\n * ### Event Naming Convention\n * All events are prefixed with 'igniter.agent' followed by:\n * - `lifecycle.*` - Agent start/stop events\n * - `generation.*` - Text generation events\n * - `tool.*` - Tool execution events\n * - `mcp.*` - MCP connection events\n * - `memory.*` - Memory operation events\n * - `error.*` - Error events\n *\n * ### Usage with IgniterAgent\n *\n * These events are automatically emitted when you use `withTelemetry()`:\n *\n * ```typescript\n * import { IgniterAgent } from '@igniter-js/agents'\n * import { IgniterTelemetry } from '@igniter-js/telemetry'\n * import { IgniterAgentTelemetryEvents } from '@igniter-js/agents/telemetry'\n *\n * const telemetry = IgniterTelemetry.create()\n * .withService('my-api')\n * .addEvents(IgniterAgentTelemetryEvents)\n * .build()\n *\n * const agent = IgniterAgent.create('assistant')\n * .withModel(openai('gpt-4'))\n * .withTelemetry(telemetry)\n * .build()\n * ```\n */\nexport const IgniterAgentTelemetryEvents = IgniterTelemetryEvents.namespace(\n \"igniter.agent\",\n)\n // ============================================================================\n // LIFECYCLE EVENTS\n // ============================================================================\n .event(\"lifecycle.start.started\", LifecycleAttributesSchema)\n .event(\"lifecycle.start.success\", LifecycleAttributesSchema)\n .event(\"lifecycle.start.error\", ErrorAttributesSchema)\n .event(\"lifecycle.stop.started\", LifecycleAttributesSchema)\n .event(\"lifecycle.stop.success\", LifecycleAttributesSchema)\n .event(\"lifecycle.stop.error\", ErrorAttributesSchema)\n // ============================================================================\n // GENERATION EVENTS\n // ============================================================================\n .event(\"generation.generate.started\", GenerationAttributesSchema)\n .event(\"generation.generate.success\", GenerationAttributesSchema)\n .event(\"generation.generate.error\", ErrorAttributesSchema)\n .event(\"generation.stream.started\", GenerationAttributesSchema)\n .event(\"generation.stream.chunk\", GenerationAttributesSchema)\n .event(\"generation.stream.success\", GenerationAttributesSchema)\n .event(\"generation.stream.error\", ErrorAttributesSchema)\n // ============================================================================\n // TOOL EVENTS\n // ============================================================================\n .event(\"tool.execute.started\", ToolAttributesSchema)\n .event(\"tool.execute.success\", ToolAttributesSchema)\n .event(\"tool.execute.error\", ErrorAttributesSchema)\n // ============================================================================\n // MCP EVENTS\n // ============================================================================\n .event(\"mcp.connect.started\", MCPAttributesSchema)\n .event(\"mcp.connect.success\", MCPAttributesSchema)\n .event(\"mcp.connect.error\", ErrorAttributesSchema)\n .event(\"mcp.disconnect.started\", MCPAttributesSchema)\n .event(\"mcp.disconnect.success\", MCPAttributesSchema)\n .event(\"mcp.disconnect.error\", ErrorAttributesSchema)\n // ============================================================================\n // MEMORY EVENTS\n // ============================================================================\n .event(\"memory.operation.started\", MemoryAttributesSchema)\n .event(\"memory.operation.success\", MemoryAttributesSchema)\n .event(\"memory.operation.error\", ErrorAttributesSchema)\n .build();\n\n/**\n * Type for the telemetry events registry.\n */\nexport type IgniterAgentTelemetryEventsType =\n typeof IgniterAgentTelemetryEvents;\n"]}
1
+ {"version":3,"sources":["../../src/telemetry/index.ts"],"names":["z","IgniterTelemetryEvents"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * @fileoverview Telemetry events for @igniter-js/agents\n * @module @igniter-js/agents/telemetry\n *\n * @description\n * Defines telemetry events for agent operations including lifecycle,\n * tool execution, MCP connections, memory operations, and generation.\n * Events use dot notation namespacing and follow the IgniterTelemetry pattern.\n *\n * ### Important Redaction Rules\n *\n * **NEVER** expose these fields in telemetry attributes:\n * - Message contents or prompts (may contain sensitive user data)\n * - Tool execution results (may contain PII)\n * - Memory contents (may contain sensitive context)\n * - API keys or credentials\n *\n * **SAFE** to expose:\n * - Operation names and types\n * - Agent and toolset names\n * - Success/failure states\n * - Error codes and sanitized messages\n * - Timing/duration metrics\n * - Token counts (input/output)\n * - Tool names (not arguments)\n *\n * @example\n * ```typescript\n * import { IgniterAgentTelemetryEvents } from '@igniter-js/agents/telemetry'\n * import { IgniterTelemetry } from '@igniter-js/telemetry'\n *\n * const telemetry = IgniterTelemetry.create()\n * .withService('my-api')\n * .addEvents(IgniterAgentTelemetryEvents)\n * .withRedaction({\n * denylistKeys: ['content', 'message', 'prompt', 'result'],\n * hashKeys: ['ctx.agent.userId'],\n * })\n * .build()\n *\n * const agent = IgniterAgent.create('assistant')\n * .withModel(openai('gpt-4'))\n * .withTelemetry(telemetry)\n * .build()\n * ```\n */\n\nimport { IgniterTelemetryEvents } from \"@igniter-js/telemetry\";\nimport { z } from \"zod\";\n\n/**\n * Base attributes present in all agent events.\n * These are safe to expose and provide operational context.\n */\nconst BaseAgentAttributesSchema = z.object({\n /**\n * The agent name.\n */\n \"ctx.agent.name\": z.string(),\n\n /**\n * The current scope (if scoped).\n */\n \"ctx.agent.scope\": z.string().optional(),\n\n /**\n * The scope identifier value.\n */\n \"ctx.agent.scopeId\": z.string().optional(),\n});\n\n/**\n * Attributes for lifecycle events (start, stop).\n */\nconst LifecycleAttributesSchema = BaseAgentAttributesSchema.extend({\n /**\n * Number of toolsets registered.\n */\n \"ctx.lifecycle.toolsetCount\": z.number().optional(),\n\n /**\n * Number of MCP connections configured.\n */\n \"ctx.lifecycle.mcpCount\": z.number().optional(),\n\n /**\n * Whether memory adapter is configured.\n */\n \"ctx.lifecycle.hasMemory\": z.boolean().optional(),\n});\n\n/**\n * Attributes for generation events.\n */\nconst GenerationAttributesSchema = BaseAgentAttributesSchema.extend({\n /**\n * The model used for generation.\n */\n \"ctx.generation.model\": z.string().optional(),\n\n /**\n * Number of input messages.\n */\n \"ctx.generation.inputMessages\": z.number().optional(),\n\n /**\n * Number of input tokens (if available).\n */\n \"ctx.generation.inputTokens\": z.number().optional(),\n\n /**\n * Number of output tokens (if available).\n */\n \"ctx.generation.outputTokens\": z.number().optional(),\n\n /**\n * Total tokens used (if available).\n */\n \"ctx.generation.totalTokens\": z.number().optional(),\n\n /**\n * Generation duration in milliseconds.\n */\n \"ctx.generation.durationMs\": z.number().optional(),\n\n /**\n * Number of tool calls made during generation.\n */\n \"ctx.generation.toolCalls\": z.number().optional(),\n\n /**\n * Whether the response was streamed.\n */\n \"ctx.generation.streamed\": z.boolean().optional(),\n});\n\n/**\n * Attributes for tool execution events.\n */\nconst ToolAttributesSchema = BaseAgentAttributesSchema.extend({\n /**\n * The toolset name.\n */\n \"ctx.tool.toolset\": z.string(),\n\n /**\n * The tool name (within the toolset).\n */\n \"ctx.tool.name\": z.string(),\n\n /**\n * The full tool identifier (toolset_name).\n */\n \"ctx.tool.fullName\": z.string(),\n\n /**\n * Tool execution duration in milliseconds.\n */\n \"ctx.tool.durationMs\": z.number().optional(),\n});\n\n/**\n * Attributes for MCP events.\n */\nconst MCPAttributesSchema = BaseAgentAttributesSchema.extend({\n /**\n * The MCP configuration name.\n */\n \"ctx.mcp.name\": z.string(),\n\n /**\n * The MCP transport type (stdio, http).\n */\n \"ctx.mcp.type\": z.enum([\"stdio\", \"http\"]),\n\n /**\n * Number of tools provided by this MCP.\n */\n \"ctx.mcp.toolCount\": z.number().optional(),\n\n /**\n * Connection duration in milliseconds.\n */\n \"ctx.mcp.durationMs\": z.number().optional(),\n});\n\n/**\n * Attributes for memory events.\n */\nconst MemoryAttributesSchema = BaseAgentAttributesSchema.extend({\n /**\n * The memory operation type.\n */\n \"ctx.memory.operation\": z.enum([\n \"getWorkingMemory\",\n \"updateWorkingMemory\",\n \"getMessages\",\n \"saveMessage\",\n \"getChats\",\n \"saveChat\",\n \"getChat\",\n \"updateChatTitle\",\n \"deleteChat\",\n ]),\n\n /**\n * The memory scope (user, chat, global).\n */\n \"ctx.memory.scope\": z.string().optional(),\n\n /**\n * Number of items affected.\n */\n \"ctx.memory.count\": z.number().optional(),\n\n /**\n * Operation duration in milliseconds.\n */\n \"ctx.memory.durationMs\": z.number().optional(),\n});\n\n/**\n * Attributes for error events.\n */\nconst ErrorAttributesSchema = BaseAgentAttributesSchema.extend({\n /**\n * The error code.\n */\n \"ctx.error.code\": z.string(),\n\n /**\n * The sanitized error message (no sensitive data).\n */\n \"ctx.error.message\": z.string().optional(),\n\n /**\n * The operation that failed.\n */\n \"ctx.error.operation\": z.string().optional(),\n\n /**\n * The component that threw the error.\n */\n \"ctx.error.component\": z.string().optional(),\n});\n\n/**\n * Telemetry events for @igniter-js/agents.\n *\n * ### Event Naming Convention\n * All events are prefixed with 'igniter.agent' followed by:\n * - `lifecycle.*` - Agent start/stop events\n * - `generation.*` - Text generation events\n * - `tool.*` - Tool execution events\n * - `mcp.*` - MCP connection events\n * - `memory.*` - Memory operation events\n * - `error.*` - Error events\n *\n * ### Usage with IgniterAgent\n *\n * These events are automatically emitted when you use `withTelemetry()`:\n *\n * ```typescript\n * import { IgniterAgent } from '@igniter-js/agents'\n * import { IgniterTelemetry } from '@igniter-js/telemetry'\n * import { IgniterAgentTelemetryEvents } from '@igniter-js/agents/telemetry'\n *\n * const telemetry = IgniterTelemetry.create()\n * .withService('my-api')\n * .addEvents(IgniterAgentTelemetryEvents)\n * .build()\n *\n * const agent = IgniterAgent.create('assistant')\n * .withModel(openai('gpt-4'))\n * .withTelemetry(telemetry)\n * .build()\n * ```\n */\nexport const IgniterAgentTelemetryEvents = IgniterTelemetryEvents.namespace(\n \"igniter.agent\",\n)\n // ============================================================================\n // LIFECYCLE EVENTS\n // ============================================================================\n .event(\"lifecycle.start.started\", LifecycleAttributesSchema)\n .event(\"lifecycle.start.success\", LifecycleAttributesSchema)\n .event(\"lifecycle.start.error\", ErrorAttributesSchema)\n .event(\"lifecycle.stop.started\", LifecycleAttributesSchema)\n .event(\"lifecycle.stop.success\", LifecycleAttributesSchema)\n .event(\"lifecycle.stop.error\", ErrorAttributesSchema)\n // ============================================================================\n // GENERATION EVENTS\n // ============================================================================\n .event(\"generation.generate.started\", GenerationAttributesSchema)\n .event(\"generation.generate.success\", GenerationAttributesSchema)\n .event(\"generation.generate.error\", ErrorAttributesSchema)\n .event(\"generation.stream.started\", GenerationAttributesSchema)\n .event(\"generation.stream.chunk\", GenerationAttributesSchema)\n .event(\"generation.stream.success\", GenerationAttributesSchema)\n .event(\"generation.stream.error\", ErrorAttributesSchema)\n // ============================================================================\n // TOOL EVENTS\n // ============================================================================\n .event(\"tool.execute.started\", ToolAttributesSchema)\n .event(\"tool.execute.success\", ToolAttributesSchema)\n .event(\"tool.execute.error\", ErrorAttributesSchema)\n // ============================================================================\n // MCP EVENTS\n // ============================================================================\n .event(\"mcp.connect.started\", MCPAttributesSchema)\n .event(\"mcp.connect.success\", MCPAttributesSchema)\n .event(\"mcp.connect.error\", ErrorAttributesSchema)\n .event(\"mcp.disconnect.started\", MCPAttributesSchema)\n .event(\"mcp.disconnect.success\", MCPAttributesSchema)\n .event(\"mcp.disconnect.error\", ErrorAttributesSchema)\n // ============================================================================\n // MEMORY EVENTS\n // ============================================================================\n .event(\"memory.operation.started\", MemoryAttributesSchema)\n .event(\"memory.operation.success\", MemoryAttributesSchema)\n .event(\"memory.operation.error\", ErrorAttributesSchema)\n .build();\n\n/**\n * Type for the telemetry events registry.\n */\nexport type IgniterAgentTelemetryEventsType =\n typeof IgniterAgentTelemetryEvents.$Infer.events;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/telemetry/index.ts"],"names":[],"mappings":"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","file":"index.mjs","sourcesContent":["/**\n * @fileoverview Telemetry events for @igniter-js/agents\n * @module @igniter-js/agents/telemetry\n *\n * @description\n * Defines telemetry events for agent operations including lifecycle,\n * tool execution, MCP connections, memory operations, and generation.\n * Events use dot notation namespacing and follow the IgniterTelemetry pattern.\n *\n * ### Important Redaction Rules\n *\n * **NEVER** expose these fields in telemetry attributes:\n * - Message contents or prompts (may contain sensitive user data)\n * - Tool execution results (may contain PII)\n * - Memory contents (may contain sensitive context)\n * - API keys or credentials\n *\n * **SAFE** to expose:\n * - Operation names and types\n * - Agent and toolset names\n * - Success/failure states\n * - Error codes and sanitized messages\n * - Timing/duration metrics\n * - Token counts (input/output)\n * - Tool names (not arguments)\n *\n * @example\n * ```typescript\n * import { IgniterAgentTelemetryEvents } from '@igniter-js/agents/telemetry'\n * import { IgniterTelemetry } from '@igniter-js/telemetry'\n *\n * const telemetry = IgniterTelemetry.create()\n * .withService('my-api')\n * .addEvents(IgniterAgentTelemetryEvents)\n * .withRedaction({\n * denylistKeys: ['content', 'message', 'prompt', 'result'],\n * hashKeys: ['ctx.agent.userId'],\n * })\n * .build()\n *\n * const agent = IgniterAgent.create('assistant')\n * .withModel(openai('gpt-4'))\n * .withTelemetry(telemetry)\n * .build()\n * ```\n */\n\nimport { IgniterTelemetryEvents } from \"@igniter-js/telemetry\";\nimport { z } from \"zod\";\n\n/**\n * Base attributes present in all agent events.\n * These are safe to expose and provide operational context.\n */\nconst BaseAgentAttributesSchema = z.object({\n /**\n * The agent name.\n */\n \"ctx.agent.name\": z.string(),\n\n /**\n * The current scope (if scoped).\n */\n \"ctx.agent.scope\": z.string().optional(),\n\n /**\n * The scope identifier value.\n */\n \"ctx.agent.scopeId\": z.string().optional(),\n});\n\n/**\n * Attributes for lifecycle events (start, stop).\n */\nconst LifecycleAttributesSchema = BaseAgentAttributesSchema.extend({\n /**\n * Number of toolsets registered.\n */\n \"ctx.lifecycle.toolsetCount\": z.number().optional(),\n\n /**\n * Number of MCP connections configured.\n */\n \"ctx.lifecycle.mcpCount\": z.number().optional(),\n\n /**\n * Whether memory adapter is configured.\n */\n \"ctx.lifecycle.hasMemory\": z.boolean().optional(),\n});\n\n/**\n * Attributes for generation events.\n */\nconst GenerationAttributesSchema = BaseAgentAttributesSchema.extend({\n /**\n * The model used for generation.\n */\n \"ctx.generation.model\": z.string().optional(),\n\n /**\n * Number of input messages.\n */\n \"ctx.generation.inputMessages\": z.number().optional(),\n\n /**\n * Number of input tokens (if available).\n */\n \"ctx.generation.inputTokens\": z.number().optional(),\n\n /**\n * Number of output tokens (if available).\n */\n \"ctx.generation.outputTokens\": z.number().optional(),\n\n /**\n * Total tokens used (if available).\n */\n \"ctx.generation.totalTokens\": z.number().optional(),\n\n /**\n * Generation duration in milliseconds.\n */\n \"ctx.generation.durationMs\": z.number().optional(),\n\n /**\n * Number of tool calls made during generation.\n */\n \"ctx.generation.toolCalls\": z.number().optional(),\n\n /**\n * Whether the response was streamed.\n */\n \"ctx.generation.streamed\": z.boolean().optional(),\n});\n\n/**\n * Attributes for tool execution events.\n */\nconst ToolAttributesSchema = BaseAgentAttributesSchema.extend({\n /**\n * The toolset name.\n */\n \"ctx.tool.toolset\": z.string(),\n\n /**\n * The tool name (within the toolset).\n */\n \"ctx.tool.name\": z.string(),\n\n /**\n * The full tool identifier (toolset_name).\n */\n \"ctx.tool.fullName\": z.string(),\n\n /**\n * Tool execution duration in milliseconds.\n */\n \"ctx.tool.durationMs\": z.number().optional(),\n});\n\n/**\n * Attributes for MCP events.\n */\nconst MCPAttributesSchema = BaseAgentAttributesSchema.extend({\n /**\n * The MCP configuration name.\n */\n \"ctx.mcp.name\": z.string(),\n\n /**\n * The MCP transport type (stdio, http).\n */\n \"ctx.mcp.type\": z.enum([\"stdio\", \"http\"]),\n\n /**\n * Number of tools provided by this MCP.\n */\n \"ctx.mcp.toolCount\": z.number().optional(),\n\n /**\n * Connection duration in milliseconds.\n */\n \"ctx.mcp.durationMs\": z.number().optional(),\n});\n\n/**\n * Attributes for memory events.\n */\nconst MemoryAttributesSchema = BaseAgentAttributesSchema.extend({\n /**\n * The memory operation type.\n */\n \"ctx.memory.operation\": z.enum([\n \"getWorkingMemory\",\n \"updateWorkingMemory\",\n \"getMessages\",\n \"saveMessage\",\n \"getChats\",\n \"saveChat\",\n \"getChat\",\n \"updateChatTitle\",\n \"deleteChat\",\n ]),\n\n /**\n * The memory scope (user, chat, global).\n */\n \"ctx.memory.scope\": z.string().optional(),\n\n /**\n * Number of items affected.\n */\n \"ctx.memory.count\": z.number().optional(),\n\n /**\n * Operation duration in milliseconds.\n */\n \"ctx.memory.durationMs\": z.number().optional(),\n});\n\n/**\n * Attributes for error events.\n */\nconst ErrorAttributesSchema = BaseAgentAttributesSchema.extend({\n /**\n * The error code.\n */\n \"ctx.error.code\": z.string(),\n\n /**\n * The sanitized error message (no sensitive data).\n */\n \"ctx.error.message\": z.string().optional(),\n\n /**\n * The operation that failed.\n */\n \"ctx.error.operation\": z.string().optional(),\n\n /**\n * The component that threw the error.\n */\n \"ctx.error.component\": z.string().optional(),\n});\n\n/**\n * Telemetry events for @igniter-js/agents.\n *\n * ### Event Naming Convention\n * All events are prefixed with 'igniter.agent' followed by:\n * - `lifecycle.*` - Agent start/stop events\n * - `generation.*` - Text generation events\n * - `tool.*` - Tool execution events\n * - `mcp.*` - MCP connection events\n * - `memory.*` - Memory operation events\n * - `error.*` - Error events\n *\n * ### Usage with IgniterAgent\n *\n * These events are automatically emitted when you use `withTelemetry()`:\n *\n * ```typescript\n * import { IgniterAgent } from '@igniter-js/agents'\n * import { IgniterTelemetry } from '@igniter-js/telemetry'\n * import { IgniterAgentTelemetryEvents } from '@igniter-js/agents/telemetry'\n *\n * const telemetry = IgniterTelemetry.create()\n * .withService('my-api')\n * .addEvents(IgniterAgentTelemetryEvents)\n * .build()\n *\n * const agent = IgniterAgent.create('assistant')\n * .withModel(openai('gpt-4'))\n * .withTelemetry(telemetry)\n * .build()\n * ```\n */\nexport const IgniterAgentTelemetryEvents = IgniterTelemetryEvents.namespace(\n \"igniter.agent\",\n)\n // ============================================================================\n // LIFECYCLE EVENTS\n // ============================================================================\n .event(\"lifecycle.start.started\", LifecycleAttributesSchema)\n .event(\"lifecycle.start.success\", LifecycleAttributesSchema)\n .event(\"lifecycle.start.error\", ErrorAttributesSchema)\n .event(\"lifecycle.stop.started\", LifecycleAttributesSchema)\n .event(\"lifecycle.stop.success\", LifecycleAttributesSchema)\n .event(\"lifecycle.stop.error\", ErrorAttributesSchema)\n // ============================================================================\n // GENERATION EVENTS\n // ============================================================================\n .event(\"generation.generate.started\", GenerationAttributesSchema)\n .event(\"generation.generate.success\", GenerationAttributesSchema)\n .event(\"generation.generate.error\", ErrorAttributesSchema)\n .event(\"generation.stream.started\", GenerationAttributesSchema)\n .event(\"generation.stream.chunk\", GenerationAttributesSchema)\n .event(\"generation.stream.success\", GenerationAttributesSchema)\n .event(\"generation.stream.error\", ErrorAttributesSchema)\n // ============================================================================\n // TOOL EVENTS\n // ============================================================================\n .event(\"tool.execute.started\", ToolAttributesSchema)\n .event(\"tool.execute.success\", ToolAttributesSchema)\n .event(\"tool.execute.error\", ErrorAttributesSchema)\n // ============================================================================\n // MCP EVENTS\n // ============================================================================\n .event(\"mcp.connect.started\", MCPAttributesSchema)\n .event(\"mcp.connect.success\", MCPAttributesSchema)\n .event(\"mcp.connect.error\", ErrorAttributesSchema)\n .event(\"mcp.disconnect.started\", MCPAttributesSchema)\n .event(\"mcp.disconnect.success\", MCPAttributesSchema)\n .event(\"mcp.disconnect.error\", ErrorAttributesSchema)\n // ============================================================================\n // MEMORY EVENTS\n // ============================================================================\n .event(\"memory.operation.started\", MemoryAttributesSchema)\n .event(\"memory.operation.success\", MemoryAttributesSchema)\n .event(\"memory.operation.error\", ErrorAttributesSchema)\n .build();\n\n/**\n * Type for the telemetry events registry.\n */\nexport type IgniterAgentTelemetryEventsType =\n typeof IgniterAgentTelemetryEvents;\n"]}
1
+ {"version":3,"sources":["../../src/telemetry/index.ts"],"names":[],"mappings":"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","file":"index.mjs","sourcesContent":["/**\n * @fileoverview Telemetry events for @igniter-js/agents\n * @module @igniter-js/agents/telemetry\n *\n * @description\n * Defines telemetry events for agent operations including lifecycle,\n * tool execution, MCP connections, memory operations, and generation.\n * Events use dot notation namespacing and follow the IgniterTelemetry pattern.\n *\n * ### Important Redaction Rules\n *\n * **NEVER** expose these fields in telemetry attributes:\n * - Message contents or prompts (may contain sensitive user data)\n * - Tool execution results (may contain PII)\n * - Memory contents (may contain sensitive context)\n * - API keys or credentials\n *\n * **SAFE** to expose:\n * - Operation names and types\n * - Agent and toolset names\n * - Success/failure states\n * - Error codes and sanitized messages\n * - Timing/duration metrics\n * - Token counts (input/output)\n * - Tool names (not arguments)\n *\n * @example\n * ```typescript\n * import { IgniterAgentTelemetryEvents } from '@igniter-js/agents/telemetry'\n * import { IgniterTelemetry } from '@igniter-js/telemetry'\n *\n * const telemetry = IgniterTelemetry.create()\n * .withService('my-api')\n * .addEvents(IgniterAgentTelemetryEvents)\n * .withRedaction({\n * denylistKeys: ['content', 'message', 'prompt', 'result'],\n * hashKeys: ['ctx.agent.userId'],\n * })\n * .build()\n *\n * const agent = IgniterAgent.create('assistant')\n * .withModel(openai('gpt-4'))\n * .withTelemetry(telemetry)\n * .build()\n * ```\n */\n\nimport { IgniterTelemetryEvents } from \"@igniter-js/telemetry\";\nimport { z } from \"zod\";\n\n/**\n * Base attributes present in all agent events.\n * These are safe to expose and provide operational context.\n */\nconst BaseAgentAttributesSchema = z.object({\n /**\n * The agent name.\n */\n \"ctx.agent.name\": z.string(),\n\n /**\n * The current scope (if scoped).\n */\n \"ctx.agent.scope\": z.string().optional(),\n\n /**\n * The scope identifier value.\n */\n \"ctx.agent.scopeId\": z.string().optional(),\n});\n\n/**\n * Attributes for lifecycle events (start, stop).\n */\nconst LifecycleAttributesSchema = BaseAgentAttributesSchema.extend({\n /**\n * Number of toolsets registered.\n */\n \"ctx.lifecycle.toolsetCount\": z.number().optional(),\n\n /**\n * Number of MCP connections configured.\n */\n \"ctx.lifecycle.mcpCount\": z.number().optional(),\n\n /**\n * Whether memory adapter is configured.\n */\n \"ctx.lifecycle.hasMemory\": z.boolean().optional(),\n});\n\n/**\n * Attributes for generation events.\n */\nconst GenerationAttributesSchema = BaseAgentAttributesSchema.extend({\n /**\n * The model used for generation.\n */\n \"ctx.generation.model\": z.string().optional(),\n\n /**\n * Number of input messages.\n */\n \"ctx.generation.inputMessages\": z.number().optional(),\n\n /**\n * Number of input tokens (if available).\n */\n \"ctx.generation.inputTokens\": z.number().optional(),\n\n /**\n * Number of output tokens (if available).\n */\n \"ctx.generation.outputTokens\": z.number().optional(),\n\n /**\n * Total tokens used (if available).\n */\n \"ctx.generation.totalTokens\": z.number().optional(),\n\n /**\n * Generation duration in milliseconds.\n */\n \"ctx.generation.durationMs\": z.number().optional(),\n\n /**\n * Number of tool calls made during generation.\n */\n \"ctx.generation.toolCalls\": z.number().optional(),\n\n /**\n * Whether the response was streamed.\n */\n \"ctx.generation.streamed\": z.boolean().optional(),\n});\n\n/**\n * Attributes for tool execution events.\n */\nconst ToolAttributesSchema = BaseAgentAttributesSchema.extend({\n /**\n * The toolset name.\n */\n \"ctx.tool.toolset\": z.string(),\n\n /**\n * The tool name (within the toolset).\n */\n \"ctx.tool.name\": z.string(),\n\n /**\n * The full tool identifier (toolset_name).\n */\n \"ctx.tool.fullName\": z.string(),\n\n /**\n * Tool execution duration in milliseconds.\n */\n \"ctx.tool.durationMs\": z.number().optional(),\n});\n\n/**\n * Attributes for MCP events.\n */\nconst MCPAttributesSchema = BaseAgentAttributesSchema.extend({\n /**\n * The MCP configuration name.\n */\n \"ctx.mcp.name\": z.string(),\n\n /**\n * The MCP transport type (stdio, http).\n */\n \"ctx.mcp.type\": z.enum([\"stdio\", \"http\"]),\n\n /**\n * Number of tools provided by this MCP.\n */\n \"ctx.mcp.toolCount\": z.number().optional(),\n\n /**\n * Connection duration in milliseconds.\n */\n \"ctx.mcp.durationMs\": z.number().optional(),\n});\n\n/**\n * Attributes for memory events.\n */\nconst MemoryAttributesSchema = BaseAgentAttributesSchema.extend({\n /**\n * The memory operation type.\n */\n \"ctx.memory.operation\": z.enum([\n \"getWorkingMemory\",\n \"updateWorkingMemory\",\n \"getMessages\",\n \"saveMessage\",\n \"getChats\",\n \"saveChat\",\n \"getChat\",\n \"updateChatTitle\",\n \"deleteChat\",\n ]),\n\n /**\n * The memory scope (user, chat, global).\n */\n \"ctx.memory.scope\": z.string().optional(),\n\n /**\n * Number of items affected.\n */\n \"ctx.memory.count\": z.number().optional(),\n\n /**\n * Operation duration in milliseconds.\n */\n \"ctx.memory.durationMs\": z.number().optional(),\n});\n\n/**\n * Attributes for error events.\n */\nconst ErrorAttributesSchema = BaseAgentAttributesSchema.extend({\n /**\n * The error code.\n */\n \"ctx.error.code\": z.string(),\n\n /**\n * The sanitized error message (no sensitive data).\n */\n \"ctx.error.message\": z.string().optional(),\n\n /**\n * The operation that failed.\n */\n \"ctx.error.operation\": z.string().optional(),\n\n /**\n * The component that threw the error.\n */\n \"ctx.error.component\": z.string().optional(),\n});\n\n/**\n * Telemetry events for @igniter-js/agents.\n *\n * ### Event Naming Convention\n * All events are prefixed with 'igniter.agent' followed by:\n * - `lifecycle.*` - Agent start/stop events\n * - `generation.*` - Text generation events\n * - `tool.*` - Tool execution events\n * - `mcp.*` - MCP connection events\n * - `memory.*` - Memory operation events\n * - `error.*` - Error events\n *\n * ### Usage with IgniterAgent\n *\n * These events are automatically emitted when you use `withTelemetry()`:\n *\n * ```typescript\n * import { IgniterAgent } from '@igniter-js/agents'\n * import { IgniterTelemetry } from '@igniter-js/telemetry'\n * import { IgniterAgentTelemetryEvents } from '@igniter-js/agents/telemetry'\n *\n * const telemetry = IgniterTelemetry.create()\n * .withService('my-api')\n * .addEvents(IgniterAgentTelemetryEvents)\n * .build()\n *\n * const agent = IgniterAgent.create('assistant')\n * .withModel(openai('gpt-4'))\n * .withTelemetry(telemetry)\n * .build()\n * ```\n */\nexport const IgniterAgentTelemetryEvents = IgniterTelemetryEvents.namespace(\n \"igniter.agent\",\n)\n // ============================================================================\n // LIFECYCLE EVENTS\n // ============================================================================\n .event(\"lifecycle.start.started\", LifecycleAttributesSchema)\n .event(\"lifecycle.start.success\", LifecycleAttributesSchema)\n .event(\"lifecycle.start.error\", ErrorAttributesSchema)\n .event(\"lifecycle.stop.started\", LifecycleAttributesSchema)\n .event(\"lifecycle.stop.success\", LifecycleAttributesSchema)\n .event(\"lifecycle.stop.error\", ErrorAttributesSchema)\n // ============================================================================\n // GENERATION EVENTS\n // ============================================================================\n .event(\"generation.generate.started\", GenerationAttributesSchema)\n .event(\"generation.generate.success\", GenerationAttributesSchema)\n .event(\"generation.generate.error\", ErrorAttributesSchema)\n .event(\"generation.stream.started\", GenerationAttributesSchema)\n .event(\"generation.stream.chunk\", GenerationAttributesSchema)\n .event(\"generation.stream.success\", GenerationAttributesSchema)\n .event(\"generation.stream.error\", ErrorAttributesSchema)\n // ============================================================================\n // TOOL EVENTS\n // ============================================================================\n .event(\"tool.execute.started\", ToolAttributesSchema)\n .event(\"tool.execute.success\", ToolAttributesSchema)\n .event(\"tool.execute.error\", ErrorAttributesSchema)\n // ============================================================================\n // MCP EVENTS\n // ============================================================================\n .event(\"mcp.connect.started\", MCPAttributesSchema)\n .event(\"mcp.connect.success\", MCPAttributesSchema)\n .event(\"mcp.connect.error\", ErrorAttributesSchema)\n .event(\"mcp.disconnect.started\", MCPAttributesSchema)\n .event(\"mcp.disconnect.success\", MCPAttributesSchema)\n .event(\"mcp.disconnect.error\", ErrorAttributesSchema)\n // ============================================================================\n // MEMORY EVENTS\n // ============================================================================\n .event(\"memory.operation.started\", MemoryAttributesSchema)\n .event(\"memory.operation.success\", MemoryAttributesSchema)\n .event(\"memory.operation.error\", ErrorAttributesSchema)\n .build();\n\n/**\n * Type for the telemetry events registry.\n */\nexport type IgniterAgentTelemetryEventsType =\n typeof IgniterAgentTelemetryEvents.$Infer.events;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@igniter-js/agents",
3
- "version": "0.1.1",
3
+ "version": "0.1.12",
4
4
  "description": "Type-safe AI agent framework for Igniter.js with MCP integration, custom toolsets, and memory system",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -70,6 +70,9 @@
70
70
  "url": "https://github.com/felipebarcelospro/igniter-js/issues"
71
71
  },
72
72
  "homepage": "https://igniterjs.com",
73
+ "dependencies": {
74
+ "@igniter-js/telemetry": ">=0.1.12"
75
+ },
73
76
  "devDependencies": {
74
77
  "@ai-sdk/mcp": "^0.0.12",
75
78
  "@igniter-js/core": "*",
@@ -85,15 +88,12 @@
85
88
  "peerDependencies": {
86
89
  "@ai-sdk/mcp": "^0.0.12",
87
90
  "@igniter-js/core": ">=0.2.0",
88
- "@igniter-js/telemetry": ">=0.1.0",
91
+ "@igniter-js/telemetry": ">=0.1.12",
89
92
  "@modelcontextprotocol/sdk": "^1.25.1",
90
93
  "ai": "^6.0.3",
91
94
  "zod": "^4.2.1"
92
95
  },
93
96
  "peerDependenciesMeta": {
94
- "@igniter-js/telemetry": {
95
- "optional": true
96
- },
97
97
  "@modelcontextprotocol/sdk": {
98
98
  "optional": true
99
99
  },