{"_id":"@auto-genesis/sdk","_rev":"3-c8cbe841d42c12b625b1a71d9117d127","name":"@auto-genesis/sdk","dist-tags":{"latest":"0.1.1"},"versions":{"0.0.0":{"name":"@auto-genesis/sdk","version":"0.0.0","_id":"@auto-genesis/sdk@0.0.0","maintainers":[{"name":"muhamed-shahabas-autonomize","email":"muhamed@autonomize.ai"},{"name":"autonomizecloud","email":"autonomizecloud@autonomize.ai"}],"dist":{"shasum":"5f507cdd29d28ad464ec1857c38b26350844e98a","tarball":"https://registry.npmjs.org/@auto-genesis/sdk/-/sdk-0.0.0.tgz","fileCount":10,"integrity":"sha512-p9SFhAl1ZxS6mOn1OuYCiKLSIf784mHoYTrzGHarV3daK9hiI+qi+ZoHzniZvVn4MIFtcMLM2NschUVEN3ji4g==","signatures":[{"sig":"MEYCIQDFw3HL+3FrJX25H9oXU44kH5zOZLP3cOPnfEaWsxJjaAIhAIS60kQrS74Rl58nfvgifmBk9Tus0QmL9TS6Rqe1C4si","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9022},"main":"./dist/index.cjs","type":"module","_from":"file:auto-genesis-sdk-0.0.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"private":false,"scripts":{"build":"tsup","clean":"rimraf --no-glob dist","prebuild":"rimraf --no-glob dist"},"_npmUser":{"name":"autonomizecloud","email":"autonomizecloud@autonomize.ai"},"_resolved":"/tmp/eab477a9a6a1a4fab1bed06e3d104944/auto-genesis-sdk-0.0.0.tgz","_integrity":"sha512-p9SFhAl1ZxS6mOn1OuYCiKLSIf784mHoYTrzGHarV3daK9hiI+qi+ZoHzniZvVn4MIFtcMLM2NschUVEN3ji4g==","_npmVersion":"10.8.2","description":"A lightweight, easy-to-use SDK for implementing OpenTelemetry in Node.js and Nest.js applications. This SDK provides unified instrumentation for traces, metrics, and logs with automatic context propagation.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"@auto-genesis/core":"^0.0.0","@auto-genesis/telemetry":"^0.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","dependencies":{"@auto-genesis/core":"latest","@auto-genesis/telemetry":"latest"}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^7.2.0","esbuild":"0.19.5","typescript":"^5.7.2","@types/node":"^20.9.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.0_1738566113613_0.11810939797102105","host":"s3://npm-registry-packages-npm-production"}},"0.0.1":{"name":"@auto-genesis/sdk","version":"0.0.1","_id":"@auto-genesis/sdk@0.0.1","maintainers":[{"name":"muhamed-shahabas-autonomize","email":"muhamed@autonomize.ai"},{"name":"autonomizecloud","email":"autonomizecloud@autonomize.ai"}],"dist":{"shasum":"06bc55be559c256f7a9c623d75f2332e42dbfc35","tarball":"https://registry.npmjs.org/@auto-genesis/sdk/-/sdk-0.0.1.tgz","fileCount":10,"integrity":"sha512-IMGWBLWTxfNPF3xh8YSglVPubnwY46mtmEz5jcHeY4qsFTMTQIWMYZ+PUi+zz090tvdCKALdrq5Mv+oudiYP3A==","signatures":[{"sig":"MEUCIQCmOlDx+SxyhmpICfuLZwzzs4+n5ea28dNnbmlHx2N7NAIgPOWLZoN/HHbtwlfyKkyWireQHTxLSCFIquOe+gyAWkI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9185},"main":"./dist/index.cjs","type":"module","_from":"file:auto-genesis-sdk-0.0.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"private":false,"scripts":{"build":"tsup","clean":"rimraf --no-glob dist","prebuild":"rimraf --no-glob dist"},"_npmUser":{"name":"autonomizecloud","email":"autonomizecloud@autonomize.ai"},"_resolved":"/tmp/4cb17fce1534941179ca438db88baf16/auto-genesis-sdk-0.0.1.tgz","_integrity":"sha512-IMGWBLWTxfNPF3xh8YSglVPubnwY46mtmEz5jcHeY4qsFTMTQIWMYZ+PUi+zz090tvdCKALdrq5Mv+oudiYP3A==","_npmVersion":"10.8.2","description":"A lightweight, easy-to-use SDK for implementing OpenTelemetry in Node.js and Nest.js applications. This SDK provides unified instrumentation for traces, metrics, and logs with automatic context propagation.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"@auto-genesis/core":"^0.0.0","@auto-genesis/telemetry":"^0.0.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","dependencies":{"@auto-genesis/core":"latest","@auto-genesis/telemetry":"latest"}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^7.2.0","esbuild":"0.19.5","typescript":"^5.7.2","@types/node":"^20.9.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.0.1_1738568475000_0.7895158817060959","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@auto-genesis/sdk","version":"0.1.0","_id":"@auto-genesis/sdk@0.1.0","maintainers":[{"name":"muhamed-shahabas-autonomize","email":"muhamed@autonomize.ai"},{"name":"autonomizecloud","email":"autonomizecloud@autonomize.ai"}],"dist":{"shasum":"88fdd9ed3eaf724b63227033f5fddc8760e840d3","tarball":"https://registry.npmjs.org/@auto-genesis/sdk/-/sdk-0.1.0.tgz","fileCount":10,"integrity":"sha512-BJTak69b7U1RKAXOqsE2o91E1SpJG7bcR/aofedY/rMim5FbV/3q6OYBLEn59ek8WFPWt35AlseYRTSLmzIceQ==","signatures":[{"sig":"MEQCIFqVlrJuGNyiWPvrm9PAW27GW8Y9D2n2xSYVc+iet8EuAiBLpfBPOoTrPtvYajXPp7SlFLcrIWJjgYgKqTz9rZ4iaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9364},"main":"./dist/index.cjs","type":"module","_from":"file:auto-genesis-sdk-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/index.cjs"}},"private":false,"scripts":{"build":"tsup","clean":"rimraf --no-glob dist","prebuild":"rimraf --no-glob dist"},"_npmUser":{"name":"autonomizecloud","email":"autonomizecloud@autonomize.ai"},"_resolved":"/tmp/9777294bb262e1a9bf55e21a8567db3c/auto-genesis-sdk-0.1.0.tgz","_integrity":"sha512-BJTak69b7U1RKAXOqsE2o91E1SpJG7bcR/aofedY/rMim5FbV/3q6OYBLEn59ek8WFPWt35AlseYRTSLmzIceQ==","_npmVersion":"10.8.2","description":"A lightweight, easy-to-use SDK for implementing OpenTelemetry in Node.js and Nest.js applications. This SDK provides unified instrumentation for traces, metrics, and logs with automatic context propagation.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"@auto-genesis/core":"^0.1.0","@auto-genesis/telemetry":"^0.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","dependencies":{"@auto-genesis/core":"latest","@auto-genesis/telemetry":"latest"}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^7.2.0","esbuild":"0.19.5","typescript":"^5.7.2","@types/node":"^20.9.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0_1738570249655_0.28392035344243505","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@auto-genesis/sdk","version":"0.1.1","private":false,"dependencies":{"@auto-genesis/core":"^0.1.0","@auto-genesis/telemetry":"^0.1.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/","dependencies":{"@auto-genesis/core":"latest","@auto-genesis/telemetry":"latest"}},"devDependencies":{"esbuild":"0.19.5","@types/node":"^20.9.0","tsup":"^7.2.0","typescript":"^5.7.2"},"type":"module","description":"A lightweight, easy-to-use SDK for implementing OpenTelemetry in Node.js and Nest.js applications. This SDK provides unified instrumentation for traces, metrics, and logs with automatic context propagation.","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs","default":"./dist/index.js"}},"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"prebuild":"rimraf --no-glob dist","build":"tsup","clean":"rimraf --no-glob dist"},"_id":"@auto-genesis/sdk@0.1.1","_integrity":"sha512-pttpaU0wiJdh+UVs4QchSm2V+ahV2vd76/zMhm/pWmnNgsEQICinGHJDAIohnvuYRdGSU0CTtzrnvqLd0fv0mg==","_resolved":"/tmp/69509a6e496b800247536760bcc852ea/auto-genesis-sdk-0.1.1.tgz","_from":"file:auto-genesis-sdk-0.1.1.tgz","_nodeVersion":"20.18.1","_npmVersion":"10.8.2","dist":{"integrity":"sha512-pttpaU0wiJdh+UVs4QchSm2V+ahV2vd76/zMhm/pWmnNgsEQICinGHJDAIohnvuYRdGSU0CTtzrnvqLd0fv0mg==","shasum":"543951ac4a5f0a35667a46f46633912a4231aac6","tarball":"https://registry.npmjs.org/@auto-genesis/sdk/-/sdk-0.1.1.tgz","fileCount":10,"unpackedSize":9528,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAUX0l35u6uqdAXvJBMbWf0WYxuK0HoVzGRkTpjRSioiAiEA+aTUdmYlpl6ixP0X0xoKrq9l/SQUhSR16TRBYtfzpsQ="}]},"_npmUser":{"name":"autonomizecloud","email":"autonomizecloud@autonomize.ai"},"directories":{},"maintainers":[{"name":"muhamed-shahabas-autonomize","email":"muhamed@autonomize.ai"},{"name":"autonomizecloud","email":"autonomizecloud@autonomize.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_0.1.1_1739869719593_0.6287637540658362"},"_hasShrinkwrap":false}},"time":{"created":"2025-02-03T07:01:53.532Z","modified":"2025-02-18T09:08:39.975Z","0.0.0":"2025-02-03T07:01:53.807Z","0.0.1":"2025-02-03T07:41:15.176Z","0.1.0":"2025-02-03T08:10:49.852Z","0.1.1":"2025-02-18T09:08:39.769Z"},"description":"A lightweight, easy-to-use SDK for implementing OpenTelemetry in Node.js and Nest.js applications. This SDK provides unified instrumentation for traces, metrics, and logs with automatic context propagation.","maintainers":[{"name":"muhamed-shahabas-autonomize","email":"muhamed@autonomize.ai"},{"name":"autonomizecloud","email":"autonomizecloud@autonomize.ai"}],"readme":"# Autonomize SDK\n\nThe official TypeScript SDK for Autonomize platform, providing unified access to Genesis API and OpenTelemetry capabilities. This SDK bundles both `@auto-genesis/core` and `@auto-genesis/telemetry` packages for a seamless integration experience.\n\n## Installation\n\n```bash\n# Using npm\nnpm install @auto-genesis/sdk\n\n# Using yarn\nyarn add @auto-genesis/sdk\n\n# Using pnpm\npnpm add @auto-genesis/sdk\n```\n\n## Quick Start\n\n```typescript\nimport { Genesis, Telemetry } from '@auto-genesis/sdk';\n// or\nimport SDK from '@auto-genesis/sdk';\n\n// Initialize Genesis\nconst genesis = new Genesis({\n  baseURL: 'https://api-genesis.sprint.autonomize.dev/api/v1/',\n  auth: {\n    baseUrl: 'https://auth.sprint.autonomize.dev/',\n    realm: 'autonomize',\n    clientId: 'your-client-id',\n    clientSecret: 'your-client-secret',\n  },\n});\n\n// Initialize Telemetry\nconst telemetry = new Telemetry({\n  serviceName: 'your-service-name',\n  environment: 'production',\n  version: '1.0.0',\n  otlpEndpoint: 'http://localhost:4318',\n});\n\n// Start services\nawait genesis.initialize();\nawait telemetry.start();\n```\n\n## Features\n\n### Genesis Features\n\n- **Secure Authentication**\n- Keycloak integration\n- Multiple authentication flows\n- Automatic token management\n\n- **Copilot Management**\n- Assign and manage copilots\n- Customize copilot behavior\n- Monitor copilot performance\n\n### Telemetry Features\n\n- **Unified Metrics Collection**\n- Custom metrics with counters and histograms\n- Configurable export intervals\n- Pre-configured attributes\n\n- **Distributed Tracing**\n- Automatic context propagation\n- Built-in span management\n- Error recording\n\n- **Structured Logging**\n- Trace correlation\n- Multiple severity levels\n- Error stack trace handling\n\n## Package Components\n\n### Genesis Module\n\n```typescript\nimport { Genesis } from '@auto-genesis/sdk';\n\nconst genesis = new Genesis({\n  baseURL: 'https://api.example.com',\n  auth: {\n    baseUrl: 'https://auth.example.com',\n    realm: 'your-realm',\n    clientId: 'your-client-id',\n    clientSecret: 'your-client-secret',\n  },\n});\n\n// Make API calls\nconst copilots = await genesis.copilots.getAssignedCopilots({\n  page: 1,\n  limit: 10,\n});\n```\n\n### Telemetry Module\n\n```typescript\nimport { Telemetry } from '@auto-genesis/sdk';\n\nconst telemetry = new Telemetry({\n  serviceName: 'your-service',\n  environment: 'production',\n});\n\n// Create metrics\nconst requestCounter = telemetry.createCounter({\n  name: 'http_requests_total',\n  description: 'Total HTTP requests',\n  unit: 'requests',\n});\n\n// Create traces\nawait telemetry.createSpan('operation-name', async () => {\n  // Your operation code\n});\n\n// Add logs\ntelemetry.info('Operation started', { type: 'process' });\n```\n\n## Requirements\n\n- Node.js >= 18\n- TypeScript >= 5 (if using TypeScript)\n- Auth (Keycloak) server for Genesis features\n- OpenTelemetry collector for Telemetry features\n\n## Error Handling\n\nThe SDK provides consistent error handling across all components:\n\n```typescript\ntry {\n  // Genesis operations\n  await genesis.copilots.findOne(args);\n\n  // Telemetry operations\n  await telemetry.createSpan('operation', async () => {\n    // Your code\n  });\n} catch (error) {\n  console.error('Error:', error.message);\n  console.error('Details:', error.error);\n}\n```\n\n## Playground\n\nTo test new features or debug locally:\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/autonomize-ai/autonomize-sdk-js.git\n   cd autonomize-sdk-js\n   ```\n\n2. Set up the playground:\n\n   ```bash\n   cd playground\n   cp .env.example .env   # Configure your environment variables\n   pnpm install\n   ```\n\n3. Run the playground:\n   ```bash\n   pnpm dev\n   ```\n\nThis will start a development environment where you can test SDK features without publishing to npm.\n\n## Support\n\nFor support and inquiries:\n\n- Email: info@autonomize.ai\n- Issues: [GitHub Repository](https://github.com/autonomize-ai/autonomize-sdk-js)\n\n## Contributing\n\nWe welcome contributions! Please read our contributing guidelines for details on our code of conduct and the process for submitting pull requests.\n","readmeFilename":"README.md"}