{"_id":"@archicore/sdk","_rev":"2-6a2335e9f86c82718f39f3c726a155d9","name":"@archicore/sdk","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@archicore/sdk","version":"0.1.0","keywords":["archicore","architecture","code-analysis","api","sdk","typescript","ai","llm"],"author":{"name":"ArchiCore Team","email":"support@archicore.io"},"license":"MIT","_id":"@archicore/sdk@0.1.0","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"homepage":"https://archicore.io","bugs":{"url":"https://github.com/archicore/archicore-js/issues"},"dist":{"shasum":"1788975920db971be3cd981104ba30306bfd394d","tarball":"https://registry.npmjs.org/@archicore/sdk/-/sdk-0.1.0.tgz","fileCount":7,"integrity":"sha512-0o5yXCQfzu+lhBu8h6d3VkIDV3UiSQFN7MYHvLj7Ack5xNvLX7kVOR+peVElnQzWOElZd0Da9aQzt4/o9XEBEw==","signatures":[{"sig":"MEYCIQCdIVG8pXYh+FFTMi1PtOP57+ak3L9GCqVG5aAEYbiV4AIhAK0F7GeUOAWHiBBc+NHtNOLRXsu7b8fEBOA7+pKZodK0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38065},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src --ext .ts","test":"vitest run","build":"tsup src/index.ts --format cjs,esm --dts --clean","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"repository":{"url":"git+https://github.com/archicore/archicore-js.git","type":"git"},"_npmVersion":"10.8.2","description":"Official TypeScript/JavaScript SDK for ArchiCore Architecture Analysis API","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","eslint":"^8.55.0","vitest":"^1.0.0","typescript":"^5.3.0","@types/node":"^20.10.0","@typescript-eslint/parser":"^6.13.0","@typescript-eslint/eslint-plugin":"^6.13.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0_1769298643630_0.45083630356270454","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@archicore/sdk","version":"0.1.1","description":"Official TypeScript/JavaScript SDK for ArchiCore Architecture Analysis API","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"build":"tsup src/index.ts --format cjs,esm --dts --clean","dev":"tsup src/index.ts --format cjs,esm --dts --watch","test":"vitest run","test:watch":"vitest","lint":"eslint src --ext .ts","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"keywords":["archicore","architecture","code-analysis","api","sdk","typescript","ai","llm"],"author":{"name":"ArchiCore Team","email":"support@archicore.io"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/archicore/archicore-js.git"},"bugs":{"url":"https://github.com/archicore/archicore-js/issues"},"homepage":"https://archicore.io","engines":{"node":">=16.0.0"},"devDependencies":{"@types/node":"^20.10.0","tsup":"^8.0.0","typescript":"^5.3.0","vitest":"^1.0.0","eslint":"^8.55.0","@typescript-eslint/eslint-plugin":"^6.13.0","@typescript-eslint/parser":"^6.13.0"},"_id":"@archicore/sdk@0.1.1","gitHead":"0e0f60137d0809489163d4760420cad798d00fd0","_nodeVersion":"20.20.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-CEoQ7Wa5YWbHs3VrllaUaun6gmMBTsWvDZXhYyAElO0V9xybva5WuNmLbHiSGNswBHCS2roxVXY+QncZC2AHzQ==","shasum":"b0f336c4eb99cdf587ae3e87b2d887948f2b0a33","tarball":"https://registry.npmjs.org/@archicore/sdk/-/sdk-0.1.1.tgz","fileCount":7,"unpackedSize":51473,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFaCL9PHpKGPJpYI5WxCXu+W2N/m0SJl68YNbgrBIdsFAiAlcMWSJ87k6jRpn+DJUy8GZrU3RfNFJDoTKsVBNtgq+w=="}]},"_npmUser":{"name":"nalfami","email":"uhcabuse@mail.ru"},"directories":{},"maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_0.1.1_1769300185985_0.30489546486789876"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-24T23:50:43.448Z","modified":"2026-01-25T00:16:26.266Z","0.1.0":"2026-01-24T23:50:43.793Z","0.1.1":"2026-01-25T00:16:26.141Z"},"bugs":{"url":"https://github.com/archicore/archicore-js/issues"},"author":{"name":"ArchiCore Team","email":"support@archicore.io"},"license":"MIT","homepage":"https://archicore.io","keywords":["archicore","architecture","code-analysis","api","sdk","typescript","ai","llm"],"repository":{"type":"git","url":"git+https://github.com/archicore/archicore-js.git"},"description":"Official TypeScript/JavaScript SDK for ArchiCore Architecture Analysis API","maintainers":[{"name":"nalfami","email":"uhcabuse@mail.ru"}],"readme":"# @archicore/sdk\n\nOfficial TypeScript/JavaScript SDK for the [ArchiCore](https://archicore.io) Architecture Analysis API.\n\n## Installation\n\n```bash\nnpm install @archicore/sdk\n# or\nyarn add @archicore/sdk\n# or\npnpm add @archicore/sdk\n```\n\n## Quick Start\n\n```typescript\nimport { ArchiCore } from '@archicore/sdk';\n\n// Initialize client\nconst client = new ArchiCore({ apiKey: 'your-api-key' });\n\n// List projects\nconst projects = await client.projects.list();\nconsole.log(projects);\n\n// Search code semantically\nconst results = await client.projects.search('project-id', {\n  query: 'authentication middleware'\n});\n\n// Ask AI assistant\nconst answer = await client.projects.ask('project-id', {\n  question: 'How does the authentication system work?'\n});\nconsole.log(answer.response);\n```\n\n## Features\n\n- **Full TypeScript Support**: Complete type definitions included\n- **Projects**: Create, list, delete, and manage projects\n- **Semantic Search**: Search code using natural language\n- **AI Assistant**: Ask questions about your codebase\n- **Impact Analysis**: Analyze how changes affect your codebase\n- **Code Metrics**: Get code quality metrics\n- **Security Scanning**: Identify vulnerabilities\n- **Webhooks**: Subscribe to events\n\n## API Reference\n\n### Projects\n\n```typescript\n// List all projects\nconst projects = await client.projects.list();\n\n// Get a specific project\nconst project = await client.projects.get('project-id');\n\n// Create a project\nconst project = await client.projects.create({\n  name: 'my-project',\n  githubUrl: 'https://github.com/user/repo'\n});\n\n// Delete a project\nawait client.projects.delete('project-id');\n\n// Trigger indexing\nawait client.projects.index('project-id', { force: true });\n```\n\n### Search & AI\n\n```typescript\n// Semantic search\nconst results = await client.projects.search('project-id', {\n  query: 'error handling',\n  limit: 20,\n  threshold: 0.8\n});\n\n// Ask AI assistant\nconst answer = await client.projects.ask('project-id', {\n  question: 'What design patterns are used?',\n  context: 'Focus on the authentication module'\n});\n```\n\n### Analysis\n\n```typescript\n// Get code metrics\nconst metrics = await client.projects.metrics('project-id');\nconsole.log(`Total files: ${metrics.totalFiles}`);\nconsole.log(`Total lines: ${metrics.totalLines}`);\n\n// Get security scan results\nconst security = await client.projects.security('project-id');\nfor (const vuln of security.vulnerabilities) {\n  console.log(`[${vuln.severity}] ${vuln.message}`);\n}\n\n// Impact analysis\nconst impact = await client.projects.analyze('project-id', {\n  files: ['src/auth/login.ts', 'src/auth/middleware.ts']\n});\nconsole.log(`Affected files: ${impact.affectedFiles.length}`);\n```\n\n### Webhooks\n\n```typescript\n// List webhooks\nconst webhooks = await client.webhooks.list();\n\n// Create a webhook\nconst webhook = await client.webhooks.create({\n  url: 'https://example.com/webhook',\n  events: ['project.indexed', 'analysis.complete'],\n  secret: 'your-webhook-secret'\n});\n\n// Delete a webhook\nawait client.webhooks.delete('webhook-id');\n```\n\n## Error Handling\n\n```typescript\nimport {\n  ArchiCore,\n  AuthenticationError,\n  RateLimitError,\n  NotFoundError,\n  ValidationError\n} from '@archicore/sdk';\n\nconst client = new ArchiCore({ apiKey: 'your-api-key' });\n\ntry {\n  const project = await client.projects.get('non-existent-id');\n} catch (error) {\n  if (error instanceof NotFoundError) {\n    console.log('Project not found');\n  } else if (error instanceof AuthenticationError) {\n    console.log('Invalid API key');\n  } else if (error instanceof RateLimitError) {\n    console.log(`Rate limited. Retry after ${error.retryAfter} seconds`);\n  } else if (error instanceof ValidationError) {\n    console.log(`Invalid request: ${error.message}`);\n  }\n}\n```\n\n## Configuration\n\n### Custom Base URL\n\nFor self-hosted instances:\n\n```typescript\nconst client = new ArchiCore({\n  apiKey: 'your-api-key',\n  baseUrl: 'https://your-instance.com/api/v1'\n});\n```\n\n### Timeout\n\n```typescript\nconst client = new ArchiCore({\n  apiKey: 'your-api-key',\n  timeout: 60000 // milliseconds\n});\n```\n\n## Browser Support\n\nThis SDK works in both Node.js and browser environments. It uses the native `fetch` API.\n\nFor Node.js < 18, you may need to polyfill `fetch`:\n\n```typescript\nimport fetch from 'node-fetch';\nglobalThis.fetch = fetch;\n```\n\n## TypeScript\n\nFull TypeScript support is included. All types are exported:\n\n```typescript\nimport type {\n  Project,\n  SearchResult,\n  AskResponse,\n  Metrics,\n  SecurityReport,\n  ImpactAnalysis,\n  Webhook,\n  ArchiCoreConfig\n} from '@archicore/sdk';\n```\n\n## Requirements\n\n- Node.js >= 16 (for native fetch) or polyfill\n- Modern browsers with fetch support\n\n## License\n\nMIT License - see [LICENSE](LICENSE) for details.\n\n## Links\n\n- [Documentation](https://docs.archicore.io)\n- [API Reference](https://docs.archicore.io/docs/api/overview)\n- [ArchiCore Website](https://archicore.io)\n- [Report Issues](https://archicore.io/report-issue)\n","readmeFilename":"README.md"}