{"_id":"@arcanada/model-connector-sdk","_rev":"3-2a114f0c72257aadc1d37bec1152d448","name":"@arcanada/model-connector-sdk","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@arcanada/model-connector-sdk","version":"0.1.0","keywords":["model-connector","arcanada","llm","output-guard","structured-output","claude","cursor","gemini","openrouter","ai-sdk"],"license":"MIT","_id":"@arcanada/model-connector-sdk@0.1.0","maintainers":[{"name":"arcanada-origin","email":"mail@veritasarcana.ai"}],"homepage":"https://github.com/Arcanada-one/model-connector/tree/main/packages/sdk-ts#readme","bugs":{"url":"https://github.com/Arcanada-one/model-connector/issues"},"dist":{"shasum":"f495814118f0920ea49ec7907e6e6ee9c397ab94","tarball":"https://registry.npmjs.org/@arcanada/model-connector-sdk/-/model-connector-sdk-0.1.0.tgz","fileCount":9,"integrity":"sha512-mxrgHqc5xca51GAphaklaF7pjXiS1FbJi29HSG9WftgSVbfpmEV/s8DEndKwfwn4uysai08vNGj+lgOnsjObTw==","signatures":[{"sig":"MEUCIBMRka1kZ7tPAtwTzq47UEmBk/tVpQwNe998HXFO1vxOAiEAg3zCGNBCiNl+YrRMFNMWRfYN9lWPXecbPUvT04jPrvc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49962},"main":"./dist/index.cjs","type":"module","_from":"file:arcanada-model-connector-sdk-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"vitest run","build":"tsup","test:watch":"vitest"},"_npmUser":{"name":"arcanada-origin","email":"mail@veritasarcana.ai"},"_resolved":"/private/var/folders/jx/rjnc0jxj6bl40hcw0bf523wh0000gn/T/eb18a78b915ce1ccb40364cb3b4d9e14/arcanada-model-connector-sdk-0.1.0.tgz","_integrity":"sha512-mxrgHqc5xca51GAphaklaF7pjXiS1FbJi29HSG9WftgSVbfpmEV/s8DEndKwfwn4uysai08vNGj+lgOnsjObTw==","repository":{"url":"git+https://github.com/Arcanada-one/model-connector.git","type":"git","directory":"packages/sdk-ts"},"_npmVersion":"11.11.0","description":"Typed TypeScript client SDK for the Arcanada Model Connector — unified API for AI CLI agents and cloud model providers.","directories":{},"_nodeVersion":"24.11.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.4","tsup":"^8.5.0","vitest":"^3.2.4","typescript":"^5.7.3","@types/node":"^22.10.7"},"_npmOperationalInternal":{"tmp":"tmp/model-connector-sdk_0.1.0_1778626396633_0.8547532694002362","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@arcanada/model-connector-sdk","version":"0.1.1","keywords":["model-connector","arcanada","llm","output-guard","structured-output","claude","cursor","gemini","openrouter","ai-sdk"],"license":"MIT","_id":"@arcanada/model-connector-sdk@0.1.1","maintainers":[{"name":"arcanada-origin","email":"mail@veritasarcana.ai"}],"homepage":"https://github.com/Arcanada-one/model-connector/tree/main/packages/sdk-ts#readme","bugs":{"url":"https://github.com/Arcanada-one/model-connector/issues"},"dist":{"shasum":"2be61758269ef374f9c86ccdc594a3773d30c8e2","tarball":"https://registry.npmjs.org/@arcanada/model-connector-sdk/-/model-connector-sdk-0.1.1.tgz","fileCount":9,"integrity":"sha512-uHoB1EmknPqh0JiZUhDFP/UrgiJG4L1gT32GkeERHjedRfPuyTiRA2aAPKeVLf+ZRtEoMNKMCCeAuClalUhEeQ==","signatures":[{"sig":"MEQCIF4hfYhxM7MTVztFueu1yeTE8Hs+0gwNoB/l5mDY6/ZlAiBcC1l6gmDC2FTSVt+C1tW6JpWc8G4zDpSelw857g4gaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49962},"main":"./dist/index.cjs","type":"module","_from":"file:arcanada-model-connector-sdk-0.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","test":"vitest run","build":"tsup","test:watch":"vitest"},"_npmUser":{"name":"arcanada-origin","email":"mail@veritasarcana.ai"},"_resolved":"/tmp/f9078693da9f572a4d7a17753746661b/arcanada-model-connector-sdk-0.1.1.tgz","_integrity":"sha512-uHoB1EmknPqh0JiZUhDFP/UrgiJG4L1gT32GkeERHjedRfPuyTiRA2aAPKeVLf+ZRtEoMNKMCCeAuClalUhEeQ==","repository":{"url":"git+https://github.com/Arcanada-one/model-connector.git","type":"git","directory":"packages/sdk-ts"},"_npmVersion":"10.9.7","description":"Typed TypeScript client SDK for the Arcanada Model Connector — unified API for AI CLI agents and cloud model providers.","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.14.4","tsup":"^8.5.0","vitest":"^3.2.4","typescript":"^5.7.3","@types/node":"^22.10.7"},"_npmOperationalInternal":{"tmp":"tmp/model-connector-sdk_0.1.1_1778659727643_0.7927589915449273","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@arcanada/model-connector-sdk","version":"0.1.2","description":"Typed TypeScript client SDK for the Arcanada Model Connector — unified API for AI CLI agents and cloud model providers.","license":"MIT","type":"module","main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"engines":{"node":">=20"},"publishConfig":{"access":"public"},"keywords":["model-connector","arcanada","llm","output-guard","structured-output","claude","cursor","gemini","openrouter","ai-sdk"],"repository":{"type":"git","url":"git+https://github.com/Arcanada-one/model-connector.git","directory":"packages/sdk-ts"},"homepage":"https://github.com/Arcanada-one/model-connector/tree/main/packages/sdk-ts#readme","bugs":{"url":"https://github.com/Arcanada-one/model-connector/issues"},"devDependencies":{"@types/node":"^22.10.7","msw":"^2.14.4","tsup":"^8.5.0","typescript":"^5.7.3","vitest":"^3.2.4"},"scripts":{"build":"tsup","test":"vitest run","test:watch":"vitest","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\""},"_id":"@arcanada/model-connector-sdk@0.1.2","_integrity":"sha512-7rSNUDT/SAgJ0aCAIWetVyvFHP3d3vokMg0dpR8j537Sxpu0qZQgIGcM6uS64jxpnjzM+738LVzT8ss+ikbxTA==","_resolved":"/tmp/9b14996be02351b3d5d029c516838882/arcanada-model-connector-sdk-0.1.2.tgz","_from":"file:arcanada-model-connector-sdk-0.1.2.tgz","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-7rSNUDT/SAgJ0aCAIWetVyvFHP3d3vokMg0dpR8j537Sxpu0qZQgIGcM6uS64jxpnjzM+738LVzT8ss+ikbxTA==","shasum":"4457a6286cc35a21e3a2f3ef061229e40902c737","tarball":"https://registry.npmjs.org/@arcanada/model-connector-sdk/-/model-connector-sdk-0.1.2.tgz","fileCount":9,"unpackedSize":49962,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDDS0RJcGVQGH9zBUphyFv4sdxGHFWJ38s9h33FtbcIVAiAP1WohL5bTNFIsTZvMemgMfOFezhUZ2aVWIJrwqlIcEA=="}]},"_npmUser":{"name":"arcanada-origin","email":"mail@veritasarcana.ai"},"directories":{},"maintainers":[{"name":"arcanada-origin","email":"mail@veritasarcana.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/model-connector-sdk_0.1.2_1778665907065_0.692113121544947"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-12T22:53:16.550Z","modified":"2026-05-13T09:51:47.319Z","0.1.0":"2026-05-12T22:53:16.772Z","0.1.1":"2026-05-13T08:08:47.784Z","0.1.2":"2026-05-13T09:51:47.203Z"},"bugs":{"url":"https://github.com/Arcanada-one/model-connector/issues"},"license":"MIT","homepage":"https://github.com/Arcanada-one/model-connector/tree/main/packages/sdk-ts#readme","keywords":["model-connector","arcanada","llm","output-guard","structured-output","claude","cursor","gemini","openrouter","ai-sdk"],"repository":{"type":"git","url":"git+https://github.com/Arcanada-one/model-connector.git","directory":"packages/sdk-ts"},"description":"Typed TypeScript client SDK for the Arcanada Model Connector — unified API for AI CLI agents and cloud model providers.","maintainers":[{"name":"arcanada-origin","email":"mail@veritasarcana.ai"}],"readme":"# @arcanada/model-connector-sdk\n\n[![npm](https://img.shields.io/npm/v/@arcanada/model-connector-sdk.svg)](https://www.npmjs.com/package/@arcanada/model-connector-sdk)\n[![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](https://opensource.org/licenses/MIT)\n[![CI](https://github.com/Arcanada-one/model-connector/actions/workflows/ci.yml/badge.svg)](https://github.com/Arcanada-one/model-connector/actions)\n[![Node](https://img.shields.io/node/v/@arcanada/model-connector-sdk.svg)](https://nodejs.org)\n\nTyped TypeScript client SDK for the **Arcanada Model Connector** — a unified API for AI CLI agents (Claude Code, Cursor, Gemini, Codex) and cloud model providers (OpenRouter, Groq, Grok, embedding services).\n\n```bash\npnpm add @arcanada/model-connector-sdk\n# or: npm install @arcanada/model-connector-sdk\n# or: yarn add @arcanada/model-connector-sdk\n```\n\n## Quick start\n\n```ts\nimport { Client } from '@arcanada/model-connector-sdk';\n\nconst client = new Client({ apiKey: process.env.ARC_API_KEY! });\n\nconst response = await client.execute({\n  connector: 'openrouter',\n  prompt: 'Explain BGE-M3 in 30 words.',\n  model: 'mistralai/mistral-small-3.2-24b-instruct',\n});\n\nconsole.log(response.result);\n```\n\n### Structured output with `output_format` + `schema`\n\n```ts\nconst response = await client.execute({\n  connector: 'openrouter',\n  prompt: \"Return a JSON object with keys 'city' and 'population'.\",\n  output_format: 'json',\n  schema: {\n    type: 'object',\n    properties: {\n      city: { type: 'string' },\n      population: { type: 'integer' },\n    },\n    required: ['city', 'population'],\n  },\n});\n\nconsole.log(response.repair_report);\nconsole.log(response.structured);\n```\n\n`repair_report.pass` is one of:\n\n- `native` — provider returned valid output, no repair needed.\n- `guarded` — output-guard middleware applied repair strategies successfully.\n- `failed` — output-guard exhausted retries; thrown as `GuardExhaustedError`.\n\n## Error handling\n\n```ts\nimport { ConnectorError, GuardExhaustedError, TimeoutError } from '@arcanada/model-connector-sdk';\n\ntry {\n  const response = await client.execute({ connector: 'openrouter', prompt: '...' });\n} catch (err) {\n  if (err instanceof GuardExhaustedError) {\n    console.error('guard exhausted:', err.envelope?.message);\n  } else if (err instanceof ConnectorError) {\n    console.error(`HTTP ${err.status}: ${err.envelope?.type}`);\n    if (err.retryAfter) console.error(`retry after ${err.retryAfter}s`);\n  } else if (err instanceof TimeoutError) {\n    console.error('timed out');\n  }\n}\n```\n\nThe SDK redacts `Authorization` headers and `Bearer` tokens from `err.cause` before throwing.\n\n## Requirements\n\n- Node.js >= 20 (global `fetch` is used out of the box)\n- No runtime dependencies\n\n## Documentation\n\n- [TypeScript SDK how-to](https://github.com/Arcanada-one/model-connector/blob/main/docs/sdk-typescript.md)\n- [Model Connector overview](https://github.com/Arcanada-one/model-connector#readme)\n- [Capability matrix](https://github.com/Arcanada-one/model-connector/blob/main/docs/capability-matrix.md)\n\n## License\n\nMIT © Arcanada\n\n---\n\n**Жизнь одного человека имеет значение / One human life matters**\n","readmeFilename":"README.md"}