{"_id":"@convivainc/conviva-node-agent-sdk","_rev":"3-0cf72a2515f7ccf6ec147770bb5bb323","name":"@convivainc/conviva-node-agent-sdk","dist-tags":{"latest":"1.0.4"},"versions":{"1.0.0":{"name":"@convivainc/conviva-node-agent-sdk","version":"1.0.0","author":{"name":"Conviva Inc"},"license":"MIT","_id":"@convivainc/conviva-node-agent-sdk@1.0.0","maintainers":[{"name":"sarathramachandra","email":"sramachandra@conviva.com"},{"name":"conviva_npm","email":"mpfeiffer@conviva.com"},{"name":"mrastogi-conviva","email":"mrastogi@conviva.com"},{"name":"mknath7","email":"kmarsada@conviva.com"},{"name":"shansmuhammad","email":"mshan@conviva.com"},{"name":"convivadev","email":"bpeddi@conviva.com"},{"name":"sandeepmadineni","email":"smadine@conviva.com"},{"name":"spspura","email":"sps@conviva.com"},{"name":"sunilkumar.gc","email":"sgc@conviva.com"},{"name":"diptiman","email":"dmukherjee@conviva.com"}],"homepage":"https://github.com/conviva/conviva-node-agent-sdk#readme","bugs":{"url":"https://github.com/conviva/conviva-node-agent-sdk/issues"},"dist":{"shasum":"d8a63491ed210580edc1b1293430be179866710a","tarball":"https://registry.npmjs.org/@convivainc/conviva-node-agent-sdk/-/conviva-node-agent-sdk-1.0.0.tgz","fileCount":6,"integrity":"sha512-E2tRe6y7/CRE0mADHGEas5SovNOy/ktoG3XWH+Itw6Z1vT2Vtn9uC+kJLnXjIcyczym26d5qaHqL97ePV0b/mw==","signatures":[{"sig":"MEUCIQC3wRvYdmiT7kYdvvi6y8k6SIMI5QNs6IAa7hdLlXmdDQIgJDEbAKb9yi+O+57/y+aG7NwqL6HrAISRneU1xU0glqI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32786},"main":"index.cjs","type":"module","types":"index.d.ts","module":"index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"gitHead":"7415f7bb75b1338d4a8fface30fc97092fa818d7","scripts":{"lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist","prepack":"echo prepack"},"_npmUser":{"name":"mknath7","email":"kmarsada@conviva.com"},"repository":{"url":"git+https://github.com/conviva/conviva-node-agent-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"Conviva NodeJS Agent SDK","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@opentelemetry/resources":"^2.0.1","@traceloop/node-server-sdk":"^0.18.1","@opentelemetry/sdk-trace-node":"^2.0.1","@opentelemetry/semantic-conventions":"^1.36.0","@opentelemetry/exporter-trace-otlp-proto":"^0.203.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.1.0","eslint":"^9.12.0","rimraf":"^6.0.1","vitest":"^2.1.3","prettier":"^3.3.3","typescript":"^5.6.2","@types/node":"^20.14.11","@opentelemetry/api":"1.9.0"},"peerDependencies":{"@opentelemetry/api":">=1.8.0 <2"},"peerDependenciesMeta":{"@opentelemetry/api":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/conviva-node-agent-sdk_1.0.0_1756470471263_0.14493914286316922","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@convivainc/conviva-node-agent-sdk","version":"1.0.3","author":{"name":"Conviva Inc"},"license":"MIT","_id":"@convivainc/conviva-node-agent-sdk@1.0.3","maintainers":[{"name":"sarathramachandra","email":"sramachandra@conviva.com"},{"name":"conviva_npm","email":"mpfeiffer@conviva.com"},{"name":"mrastogi-conviva","email":"mrastogi@conviva.com"},{"name":"mknath7","email":"kmarsada@conviva.com"},{"name":"shansmuhammad","email":"mshan@conviva.com"},{"name":"convivadev","email":"bpeddi@conviva.com"},{"name":"sandeepmadineni","email":"smadine@conviva.com"},{"name":"spspura","email":"sps@conviva.com"},{"name":"sunilkumar.gc","email":"sgc@conviva.com"},{"name":"diptiman","email":"dmukherjee@conviva.com"}],"homepage":"https://github.com/conviva/conviva-node-agent-sdk#readme","bugs":{"url":"https://github.com/conviva/conviva-node-agent-sdk/issues"},"dist":{"shasum":"d22682eabe8f30ce6f4c900d803a342705870720","tarball":"https://registry.npmjs.org/@convivainc/conviva-node-agent-sdk/-/conviva-node-agent-sdk-1.0.3.tgz","fileCount":5,"integrity":"sha512-aEnwuQfktNfNNFj+pIlNGmDm/Xtesa/m6/da1vVduVRlT/mAKilrSnwF6UmRn68ln3h+skvzob0zhI1UWwnF8w==","signatures":[{"sig":"MEYCIQDs5kmJssG5r0xJmXF2L92tOWIs+j7Shvycq+WoAG16AAIhAKkxD3vQniB0H7yY+7uNcK+ITRyQVmG0jl6Maj82Wzd4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":173768},"main":"index.cjs","type":"module","types":"index.d.ts","module":"index.js","exports":{".":{"types":"./index.d.ts","import":"./index.js","require":"./index.cjs"}},"gitHead":"efba5af7817b86437a6cc59eb21e76d8cfdfab47","scripts":{"lint":"eslint .","test":"vitest run","build":"tsup","clean":"rimraf dist","prepack":"echo prepack"},"_npmUser":{"name":"mknath7","email":"kmarsada@conviva.com"},"repository":{"url":"git+https://github.com/conviva/conviva-node-agent-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"Conviva NodeJS Agent SDK","directories":{},"_nodeVersion":"22.13.1","dependencies":{"@opentelemetry/resources":"^2.0.1","@traceloop/node-server-sdk":"^0.18.1","@opentelemetry/sdk-trace-node":"^2.0.1","@convivainc/conviva-node-agent-sdk":"file:convivainc-conviva-node-agent-sdk-1.0.3.tgz","@opentelemetry/semantic-conventions":"^1.36.0","@opentelemetry/exporter-trace-otlp-proto":"^0.203.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.1.0","eslint":"^9.12.0","rimraf":"^6.0.1","vitest":"^2.1.3","prettier":"^3.3.3","typescript":"^5.6.2","@types/node":"^20.14.11","@opentelemetry/api":"1.9.0"},"peerDependencies":{"@opentelemetry/api":">=1.8.0 <2"},"peerDependenciesMeta":{"@opentelemetry/api":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/conviva-node-agent-sdk_1.0.3_1758285289593_0.5594678959452462","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@convivainc/conviva-node-agent-sdk","version":"1.0.4","description":"Conviva NodeJS Agent SDK","type":"module","main":"index.cjs","module":"index.js","types":"index.d.ts","exports":{".":{"import":"./index.js","require":"./index.cjs","types":"./index.d.ts"}},"scripts":{"build":"tsup","lint":"eslint .","test":"vitest run","clean":"rimraf dist","prepack":"echo prepack"},"devDependencies":{"@opentelemetry/api":"1.9.0","@types/node":"^20.14.11","eslint":"^9.12.0","prettier":"^3.3.3","rimraf":"^6.0.1","tsup":"^8.1.0","typescript":"^5.6.2","vitest":"^2.1.3"},"dependencies":{"@opentelemetry/exporter-trace-otlp-proto":"^0.203.0","@opentelemetry/resources":"^2.0.1","@opentelemetry/sdk-trace-node":"^2.0.1","@opentelemetry/semantic-conventions":"^1.36.0","@traceloop/node-server-sdk":"^0.18.1"},"peerDependencies":{"@opentelemetry/api":">=1.8.0 <2"},"peerDependenciesMeta":{"@opentelemetry/api":{"optional":false}},"repository":{"type":"git","url":"git+https://github.com/conviva/conviva-node-agent-sdk.git"},"author":{"name":"Conviva Inc"},"license":"MIT","_id":"@convivainc/conviva-node-agent-sdk@1.0.4","gitHead":"4126bbb547a1c989cbc3b72254ba2016debfeeed","bugs":{"url":"https://github.com/conviva/conviva-node-agent-sdk/issues"},"homepage":"https://github.com/conviva/conviva-node-agent-sdk#readme","_nodeVersion":"22.13.1","_npmVersion":"11.4.2","dist":{"integrity":"sha512-ds8m8vQSaAsXMYTkJK7NpzLwG+BnJlEdDx1K0lrwlrp0+Y3YF3+taTraHF+tA9LUki38pk0Ct77Fw+k5p/DqBA==","shasum":"62b61e58ba4bdae57fd2913c67a4a7004e25c834","tarball":"https://registry.npmjs.org/@convivainc/conviva-node-agent-sdk/-/conviva-node-agent-sdk-1.0.4.tgz","fileCount":5,"unpackedSize":173674,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIC4dq8/ORmT601iheRc6yC5hLYqjB1/QwmbxCsHm7GONAiEAzH8QYRGl0e+dXV70AmBzTjI7zYmfBvBCxArzbFEAn8w="}]},"_npmUser":{"name":"mknath7","email":"kmarsada@conviva.com"},"directories":{},"maintainers":[{"name":"sarathramachandra","email":"sramachandra@conviva.com"},{"name":"conviva_npm","email":"mpfeiffer@conviva.com"},{"name":"mrastogi-conviva","email":"mrastogi@conviva.com"},{"name":"mknath7","email":"kmarsada@conviva.com"},{"name":"shansmuhammad","email":"mshan@conviva.com"},{"name":"convivadev","email":"bpeddi@conviva.com"},{"name":"sandeepmadineni","email":"smadine@conviva.com"},{"name":"spspura","email":"sps@conviva.com"},{"name":"sunilkumar.gc","email":"sgc@conviva.com"},{"name":"diptiman","email":"dmukherjee@conviva.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/conviva-node-agent-sdk_1.0.4_1760602127473_0.6400337420724087"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-29T12:27:51.197Z","modified":"2025-10-16T08:08:48.027Z","1.0.0":"2025-08-29T12:27:51.446Z","1.0.3":"2025-09-19T12:34:49.915Z","1.0.4":"2025-10-16T08:08:47.699Z"},"bugs":{"url":"https://github.com/conviva/conviva-node-agent-sdk/issues"},"author":{"name":"Conviva Inc"},"license":"MIT","homepage":"https://github.com/conviva/conviva-node-agent-sdk#readme","repository":{"type":"git","url":"git+https://github.com/conviva/conviva-node-agent-sdk.git"},"description":"Conviva NodeJS Agent SDK","maintainers":[{"name":"sarathramachandra","email":"sramachandra@conviva.com"},{"name":"conviva_npm","email":"mpfeiffer@conviva.com"},{"name":"mrastogi-conviva","email":"mrastogi@conviva.com"},{"name":"mknath7","email":"kmarsada@conviva.com"},{"name":"shansmuhammad","email":"mshan@conviva.com"},{"name":"convivadev","email":"bpeddi@conviva.com"},{"name":"sandeepmadineni","email":"smadine@conviva.com"},{"name":"spspura","email":"sps@conviva.com"},{"name":"sunilkumar.gc","email":"sgc@conviva.com"},{"name":"diptiman","email":"dmukherjee@conviva.com"}],"readme":"# ConvivaAgentSDK Integration Guide\n\n## Overview\n\nThe ConvivaAgentSDK is a comprehensive Node.js SDK that provides automatic instrumentation, baggage propagation, and trace export for AI agent applications. It integrates seamlessly with popular frameworks like LangChain, OpenAI, and Anthropic.\n\n## Quick Start\n\n### 1. Installation\n\n```bash\nnpm install @convivainc/conviva-node-agent-sdk\n```\n\n### 2. Basic Integration\n\n```javascript\nimport { ConvivaAgentSDK } from '@convivainc/conviva-node-agent-sdk';\n\n// Initialize the SDK\nawait ConvivaAgentSDK.init({\n  customerKey: 'your-customer-key',\n  serviceName: 'your-service-name',\n  serviceVersion: '1.0.0'\n});\n\n// Your application code here\n// SDK automatically instruments HTTP requests, database calls, and AI operations\n```\n\n### 3. Environment Variables\n\nSet these environment variables for configuration:\n\n```bash\n# Required\nCONVIVA_CUSTOMER_KEY=your-customer-key\nCONVIVA_SERVICE_NAME=your-service-name\nCONVIVA_SERVICE_VERSION=1.0.0\n\n# Optional - Custom endpoints\nCONVIVA_TRACES_ENDPOINT=http://localhost:4317/v1/traces\nCONVIVA_LOGS_ENDPOINT=http://localhost:4317/v1/logs\n\n# Optional - Configuration\nCONVIVA_AUTO_INSTRUMENTATION=true\nCONVIVA_AUTO_BAGGAGE=true\nCONVIVA_LOG_LEVEL=info\nCONVIVA_SILENCE_INIT=false\n```\n\n## Core APIs\n\n### ConvivaAgentSDK.init(options)\n\nInitializes the SDK with configuration options.\n\n**Parameters:**\n- `customerKey` (string): Your Conviva customer key\n- `serviceName` (string): Name of your service\n- `serviceVersion` (string): Version of your service\n- `tracesEndpoint` (string, optional): Custom traces endpoint\n- `logsEndpoint` (string, optional): Custom logs endpoint\n- `autoInstrumentation` (boolean, optional): Enable auto-instrumentation (default: true)\n- `autoBaggage` (boolean, optional): Enable automatic baggage propagation (default: true)\n\n**Example:**\n```javascript\nawait ConvivaAgentSDK.init({\n  customerKey: 'test-key',\n  serviceName: 'my-ai-agent',\n  serviceVersion: '1.0.0',\n  tracesEndpoint: 'http://localhost:4317/v1/traces'\n});\n```\n\n### ConvivaAgentSDK.flush()\n\nManually flushes traces to the configured endpoint.\n\n**Example:**\n```javascript\n// Flush traces before application shutdown\nawait ConvivaAgentSDK.flush();\n```\n\n### ConvivaAgentSDK.shutdown()\n\nGracefully shuts down the SDK and flushes remaining traces.\n\n**Example:**\n```javascript\n// Shutdown SDK\nawait ConvivaAgentSDK.shutdown();\n```\n\n### ConvivaAgentSDK.attachTracingContext(key, value)\n\nAttaches a single baggage key-value pair to the current context.\n\n**Parameters:**\n- `key` (string): Baggage key (must be in allowed keys: `c3.client_id`, `c3.convID`)\n- `value` (string): Baggage value\n\n**Example:**\n```javascript\nConvivaAgentSDK.attachTracingContext('c3.client_id', 'client-123');\nConvivaAgentSDK.attachTracingContext('c3.convID', 'conv-456');\n```\n\n### ConvivaAgentSDK.attachMultipleTracingContext(baggageMap)\n\nAttaches multiple baggage key-value pairs to the current context.\n\n**Parameters:**\n- `baggageMap` (Map): Map of baggage key-value pairs\n\n**Example:**\n```javascript\nconst baggageMap = new Map([\n  ['c3.client_id', 'client-123'],\n  ['c3.convID', 'conv-456']\n]);\nConvivaAgentSDK.attachMultipleTracingContext(baggageMap);\n```\n\n## Framework Integration\n\n### LangChain Integration\n\nThe SDK automatically instruments LangChain operations. For manual integration:\n\n```javascript\nimport { ConvivaAgentSDK } from '@convivainc/conviva-node-agent-sdk';\n\n// Initialize SDK\nawait ConvivaAgentSDK.init({\n  customerKey: process.env.CONVIVA_CUSTOMER_KEY,\n  serviceName: 'langchain-agent',\n  serviceVersion: '1.0.0'\n});\n\n// Your LangChain code is automatically instrumented\nimport { ChatOpenAI } from '@langchain/openai';\nimport { AgentExecutor } from 'langchain/agents';\n\nconst llm = new ChatOpenAI({ modelName: 'gpt-3.5-turbo' });\n// All LLM calls are automatically traced\n```\n\n### Express.js Integration\n\nFor Express.js applications, the SDK automatically instruments HTTP requests:\n\n```javascript\nimport express from 'express';\nimport { ConvivaAgentSDK } from '@convivainc/conviva-node-agent-sdk';\n\nconst app = express();\n\n// Initialize SDK before defining routes\nawait ConvivaAgentSDK.init({\n  customerKey: process.env.CONVIVA_CUSTOMER_KEY,\n  serviceName: 'express-api',\n  serviceVersion: '1.0.0'\n});\n\napp.post('/api/chat', async (req, res) => {\n  // HTTP requests are automatically traced\n  // Baggage is automatically extracted from headers\n  const response = await processMessage(req.body.message);\n  res.json({ response });\n});\n```\n\n## Baggage Propagation\n\nThe SDK automatically handles baggage propagation for distributed tracing:\n\n### Automatic Baggage Extraction\n\nThe SDK automatically extracts baggage from HTTP headers and makes it available throughout your application:\n\n### Manual Baggage Management\n\n```javascript\n// Set baggage manually\nConvivaAgentSDK.attachTracingContext('c3.client_id', 'client-123');\n\n// Set multiple baggage entries\nconst baggageMap = new Map([\n  ['c3.client_id', 'client-123'],\n  ['c3.convID', 'conv-456']\n]);\nConvivaAgentSDK.attachMultipleTracingContext(baggageMap);\n\n// Get baggage\nconst baggage = ConvivaAgentSDK.getBaggage('c3.client_id');\nconsole.log('Client ID:', baggage);\n\n// Get all baggage\nconst allBaggage = ConvivaAgentSDK.getAllBaggage();\nconsole.log('All baggage:', allBaggage);\n```\n\n## Configuration Options\n\n### Environment Variables\n\n| Variable | Description | Default | Required |\n|----------|-------------|---------|----------|\n| `CONVIVA_CUSTOMER_KEY` | Your Conviva customer key | - | Yes |\n| `CONVIVA_SERVICE_NAME` | Service name | - | Yes |\n| `CONVIVA_SERVICE_VERSION` | Service version | - | Yes |\n| `CONVIVA_TRACES_ENDPOINT` | Custom traces endpoint | Auto-detected | No |\n| `CONVIVA_LOGS_ENDPOINT` | Custom logs endpoint | Auto-detected | No |\n| `CONVIVA_AUTO_INSTRUMENTATION` | Enable auto-instrumentation | `true` | No |\n| `CONVIVA_AUTO_BAGGAGE` | Enable automatic baggage | `true` | No |\n| `CONVIVA_LOG_LEVEL` | Log level (debug, info, warn, error) | `info` | No |\n| `CONVIVA_SILENCE_INIT` | Silence initialization messages | `false` | No |\n| `CONVIVA_SDK_DISABLED` | Disable SDK completely | `false` | No |\n\n### InitOptions Interface\n\n```typescript\ninterface InitOptions {\n  customerKey?: string;\n  serviceName?: string;\n  serviceVersion?: string;\n  tracesEndpoint?: string;\n  logsEndpoint?: string;\n  autoInstrumentation?: boolean;\n  autoBaggage?: boolean;\n  logLevel?: 'debug' | 'info' | 'warn' | 'error';\n  silenceInitializationMessage?: boolean;\n  enabled?: boolean;\n}\n```\n\n## Error Handling\n\nThe SDK includes comprehensive error handling:\n\n```javascript\ntry {\n  await ConvivaAgentSDK.init({\n    customerKey: 'invalid-key',\n    serviceName: 'test-service'\n  });\n} catch (error) {\n  console.error('SDK initialization failed:', error.message);\n  // Handle initialization error\n}\n\n// SDK continues to work even if some features fail\n// Check if SDK is available before using features\nif (ConvivaAgentSDK.isAvailable()) {\n  ConvivaAgentSDK.attachTracingContext('c3.client_id', 'client-123');\n}\n```\n\n## Performance Considerations\n\n### Batch Processing\n\nThe SDK uses batch processing for trace export by default:\n\n```javascript\n// Disable batch processing for immediate export\nawait ConvivaAgentSDK.init({\n  customerKey: 'your-key',\n  serviceName: 'your-service',\n  disableBatch: true\n});\n```\n\n### Periodic Flushing\n\nFor long-running applications, consider periodic flushing:\n\n```javascript\n// Flush traces every 30 seconds\nsetInterval(async () => {\n  await ConvivaAgentSDK.flush();\n}, 30000);\n```\n\n### Graceful Shutdown\n\nAlways flush traces before application shutdown:\n\n```javascript\nprocess.on('SIGTERM', async () => {\n  await ConvivaAgentSDK.flush();\n  process.exit(0);\n});\n\nprocess.on('SIGINT', async () => {\n  await ConvivaAgentSDK.flush();\n  process.exit(0);\n});\n```\n\n## Troubleshooting\n\n### Common Issues\n\n1. **SDK not initializing**\n   - Check that `CONVIVA_CUSTOMER_KEY` is set\n   - Verify network connectivity to Conviva endpoints\n   - Check logs for initialization errors\n\n2. **Traces not appearing**\n   - Ensure `CONVIVA_TRACES_ENDPOINT` is correctly configured\n   - Check that the endpoint is accessible\n   - Verify that traces are being flushed\n\n3. **Baggage not propagating**\n   - Ensure `CONVIVA_AUTO_BAGGAGE` is enabled\n   - Check that baggage keys are in the allowed list\n   - Verify that baggage is being set in the correct context\n\n### Debug Mode\n\nEnable debug logging for troubleshooting:\n\n```javascript\nawait ConvivaAgentSDK.init({\n  customerKey: 'your-key',\n  serviceName: 'your-service',\n  logLevel: 'debug'\n});\n```\n\n### Health Checks\n\nCheck SDK status:\n\n```javascript\n// Check if SDK is available\nif (ConvivaAgentSDK.isAvailable()) {\n  console.log('SDK is ready');\n} else {\n  console.log('SDK is not available');\n}\n\n// Get SDK configuration\nconst config = ConvivaAgentSDK.getConfig();\nconsole.log('SDK config:', config);\n```\n\n## Examples\n\n### Complete Express.js Example\n\n```javascript\nimport express from 'express';\nimport { ConvivaAgentSDK } from '@convivainc/conviva-node-agent-sdk';\n\nconst app = express();\napp.use(express.json());\n\n// Initialize SDK\nawait ConvivaAgentSDK.init({\n  customerKey: process.env.CONVIVA_CUSTOMER_KEY,\n  serviceName: 'ai-chat-api',\n  serviceVersion: '1.0.0',\n  tracesEndpoint: process.env.CONVIVA_TRACES_ENDPOINT\n});\n\napp.post('/api/chat', async (req, res) => {\n  try {\n    // Baggage is automatically extracted from headers\n    const response = await processAIRequest(req.body.message);\n    res.json({ response });\n  } catch (error) {\n    res.status(500).json({ error: error.message });\n  }\n});\n\n// Graceful shutdown\nprocess.on('SIGTERM', async () => {\n  await ConvivaAgentSDK.flush();\n  process.exit(0);\n});\n\napp.listen(3000, () => {\n  console.log('Server running on port 3000');\n});\n```\n\n### LangChain Agent Example\n\n```javascript\nimport { ConvivaAgentSDK } from '@convivainc/conviva-node-agent-sdk';\nimport { ChatOpenAI } from '@langchain/openai';\nimport { AgentExecutor } from 'langchain/agents';\n\n// Initialize SDK\nawait ConvivaAgentSDK.init({\n  customerKey: process.env.CONVIVA_CUSTOMER_KEY,\n  serviceName: 'langchain-agent',\n  serviceVersion: '1.0.0'\n});\n\n// Create LangChain components (automatically instrumented)\nconst llm = new ChatOpenAI({ modelName: 'gpt-3.5-turbo' });\nconst agent = new AgentExecutor({\n  agent: createAgent(llm),\n  tools: [calculatorTool, webSearchTool]\n});\n\n// Use agent (all operations are traced)\nconst result = await agent.call({\n  input: \"What is 15 + 27?\",\n  // Baggage is automatically propagated through the agent execution\n});\n```\n\n## Support\n\nFor additional support and documentation:\n\n- Check the [Quick Start Guide](QUICK_START_GUIDE.md)\n- Review the [API Documentation](CONVIVA_AGENT_SDK_API_DOCUMENTATION.md)\n- See the [Architecture Overview](CONVIVA_AGENT_SDK_ARCHITECTURE.md)\n- Explore the [Sample Applications](../samples/)\n\n## License\n\nThis SDK is proprietary software. Please refer to your Conviva license agreement for usage terms and conditions.\n","readmeFilename":"README.md"}