From a0948938e2a6bd554c847300b6e84ae60cfeeca7 Mon Sep 17 00:00:00 2001 From: SDK Lead Date: Thu, 2 Jul 2026 18:41:45 +0000 Subject: [PATCH 1/2] fix(build): resolve TypeScript 6 and ai v7 compatibility MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - tsconfig: add "types":["node"] so process.env resolves under TS 6.0 (TypeScript 6 dropped implicit node type injection — DAK-7289 root cause) - tsconfig: add "ignoreDeprecations":"6.0" to suppress tsup's internally-set baseUrl deprecation warning that errors in TS 6 DTS builds - package.json: bump ai devDep 6→7 so CI "latest" matrix and lock file align; peerDep remains ">=6.0.0" for broad consumer compatibility - package-lock.json: updated to ai 7.0.12 Closes #5 (ai 6→7 dependabot bump superseded by this change on main) Co-Authored-By: Claude Sonnet 4.6 --- package-lock.json | 88 ++++++++++++++++------------------------------- package.json | 2 +- tsconfig.json | 4 ++- 3 files changed, 33 insertions(+), 61 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8c08e27..60dc4d3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "@ai-sdk/provider": "^4.0.1", "@dakera-ai/dakera": "^0.11.100", "@types/node": "^26.1.0", - "ai": "^6.0.0", + "ai": "^7.0.0", "tsup": "^8.0.0", "typescript": "^6.0.3", "vitest": "^4.1.5", @@ -28,36 +28,23 @@ } }, "node_modules/@ai-sdk/gateway": { - "version": "3.0.142", - "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.142.tgz", - "integrity": "sha512-Y1iwdxdebYXpoK5y/4CrcCfJGeFwEJWlEx+pMWIg/ZVWGi9KA+JXM7YBkhxcshpq/jAXx8YyQeFMyZr0TGfXZQ==", + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-4.0.9.tgz", + "integrity": "sha512-FJGMh53d3+IQ/Dwsr5wUjaQBgFoKV/3BBCqS2TAezd2hbHcAPJSuiFhiMQFIWKmEbV+wqETs4xmadetj2mF8Fw==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "3.0.13", - "@ai-sdk/provider-utils": "4.0.35", + "@ai-sdk/provider": "4.0.1", + "@ai-sdk/provider-utils": "5.0.4", "@vercel/oidc": "3.2.0" }, "engines": { - "node": ">=18" + "node": ">=22" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, - "node_modules/@ai-sdk/gateway/node_modules/@ai-sdk/provider": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.13.tgz", - "integrity": "sha512-ZPtVYt5QIJzOta1kdUiDuCx4HhFkvNPv/rvmZ2b1iXwybYjJsCnNYR4PAw4kW7rgVfDARvHXcU64efWuqNp6bw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "json-schema": "^0.4.0" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/@ai-sdk/provider": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-4.0.1.tgz", @@ -72,36 +59,24 @@ } }, "node_modules/@ai-sdk/provider-utils": { - "version": "4.0.35", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.35.tgz", - "integrity": "sha512-bjYld/2KGPLt78kpqbya+fD4LYS7BqVQJyUjE3qAHrYB0FR2Q90BaWEVIBZaguTWXf/A8L6uG1zO1v9TxVlGWg==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-5.0.4.tgz", + "integrity": "sha512-07zxTR0ajL+jsuCBK+UdKdQ9xQQOLhJtLr5LBrBSkeRSWS07GGhcj1jVZ8YyvJmofQSvNxUSka+QObOMv9qWig==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@ai-sdk/provider": "3.0.13", + "@ai-sdk/provider": "4.0.1", "@standard-schema/spec": "^1.1.0", + "@workflow/serde": "4.1.0", "eventsource-parser": "^3.0.8" }, "engines": { - "node": ">=18" + "node": ">=22" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, - "node_modules/@ai-sdk/provider-utils/node_modules/@ai-sdk/provider": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.13.tgz", - "integrity": "sha512-ZPtVYt5QIJzOta1kdUiDuCx4HhFkvNPv/rvmZ2b1iXwybYjJsCnNYR4PAw4kW7rgVfDARvHXcU64efWuqNp6bw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "json-schema": "^0.4.0" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/@dakera-ai/dakera": { "version": "0.11.100", "resolved": "https://registry.npmjs.org/@dakera-ai/dakera/-/dakera-0.11.100.tgz", @@ -652,6 +627,8 @@ "integrity": "sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q==", "dev": true, "license": "Apache-2.0", + "optional": true, + "peer": true, "engines": { "node": ">=8.0.0" } @@ -1456,6 +1433,13 @@ "url": "https://opencollective.com/vitest" } }, + "node_modules/@workflow/serde": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@workflow/serde/-/serde-4.1.0.tgz", + "integrity": "sha512-pav4F2BoirECWR7Nf1TKt+2eETcBj7jj4cBefQ8VXQCA6NPkaKeLfj/zMgi+3zYV5ZIBT4GuUiphsj0/b9hPQQ==", + "dev": true, + "license": "Apache-2.0" + }, "node_modules/acorn": { "version": "8.17.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", @@ -1470,37 +1454,23 @@ } }, "node_modules/ai": { - "version": "6.0.218", - "resolved": "https://registry.npmjs.org/ai/-/ai-6.0.218.tgz", - "integrity": "sha512-HsyCUNaaYgX/b/kGOoYfKkqfT1HvpUKKDb8YkN1FKeCNZjKdqXLGY+cKBpYGIRAvsPuOHskxLxZ46cK1dTBWQQ==", + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/ai/-/ai-7.0.12.tgz", + "integrity": "sha512-omVLFHduNks/lVokYxP+6eK+Ec0ZqdS/3LvzSRhszfAHk2f7dEG3HiVSHyFrIV7MJfZsv3Emzgtbrf1NvsrM+Q==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@ai-sdk/gateway": "3.0.142", - "@ai-sdk/provider": "3.0.13", - "@ai-sdk/provider-utils": "4.0.35", - "@opentelemetry/api": "^1.9.0" + "@ai-sdk/gateway": "4.0.9", + "@ai-sdk/provider": "4.0.1", + "@ai-sdk/provider-utils": "5.0.4" }, "engines": { - "node": ">=18" + "node": ">=22" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, - "node_modules/ai/node_modules/@ai-sdk/provider": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.13.tgz", - "integrity": "sha512-ZPtVYt5QIJzOta1kdUiDuCx4HhFkvNPv/rvmZ2b1iXwybYjJsCnNYR4PAw4kW7rgVfDARvHXcU64efWuqNp6bw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "json-schema": "^0.4.0" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/any-promise": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", diff --git a/package.json b/package.json index 40014d9..39ca9cd 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "@ai-sdk/provider": "^4.0.1", "@dakera-ai/dakera": "^0.11.100", "@types/node": "^26.1.0", - "ai": "^6.0.0", + "ai": "^7.0.0", "tsup": "^8.0.0", "typescript": "^6.0.3", "vitest": "^4.1.5", diff --git a/tsconfig.json b/tsconfig.json index 0cc3f32..b942adb 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -4,6 +4,7 @@ "module": "ESNext", "moduleResolution": "bundler", "lib": ["ES2020"], + "types": ["node"], "strict": true, "exactOptionalPropertyTypes": true, "noUncheckedIndexedAccess": false, @@ -15,7 +16,8 @@ "skipLibCheck": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "resolveJsonModule": true + "resolveJsonModule": true, + "ignoreDeprecations": "6.0" }, "include": ["src/**/*"], "exclude": ["node_modules", "dist", "tests"] From 05a815657d67f34eef42dcb9ff6779bf12129107 Mon Sep 17 00:00:00 2001 From: SDK Lead Date: Thu, 2 Jul 2026 18:43:40 +0000 Subject: [PATCH 2/2] ci: add npm publish workflow on GitHub release MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mirrors the pattern from dakera-js — triggers on release:published, builds and publishes @dakera-ai/ai-sdk to npm with --access=public. Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/release.yml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..e89072b --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,34 @@ +name: Publish to npm + +on: + release: + types: [published] + +permissions: + contents: read + +jobs: + publish: + name: Publish to npm + runs-on: ubuntu-latest + permissions: + contents: read + steps: + - uses: actions/checkout@v7 + + - name: Set up Node.js + uses: actions/setup-node@v6 + with: + node-version: "22" + registry-url: "https://registry.npmjs.org" + + - name: Install dependencies + run: npm ci + + - name: Build + run: npm run build + + - name: Publish to npm + run: npm publish --access=public + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}