diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..1cf3c5a --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,34 @@ +version: 2 +updates: + - package-ecosystem: npm + directory: / + schedule: + interval: weekly + day: monday + time: "09:00" + timezone: America/Chicago + open-pull-requests-limit: 10 + commit-message: + prefix: chore + labels: + - dependencies + groups: + npm-dependencies: + patterns: + - "*" + - package-ecosystem: github-actions + directory: / + schedule: + interval: weekly + day: monday + time: "09:15" + timezone: America/Chicago + open-pull-requests-limit: 5 + commit-message: + prefix: chore + labels: + - dependencies + groups: + github-actions: + patterns: + - "*" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..03ece7b --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,36 @@ +name: CI + +on: + push: + branches: + - main + pull_request: + branches: + - main + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: ci-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + checks: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + filter: tree:0 + fetch-depth: 0 + - uses: pnpm/action-setup@v4 + name: Install pnpm + with: + run_install: false + - uses: actions/setup-node@v4 + with: + node-version: 24 + cache: pnpm + - run: pnpm install --frozen-lockfile + - run: pnpm exec nx run-many -t lint test typecheck build --projects=foundry-ai --outputStyle=static diff --git a/README.md b/README.md index b3c9100..6d74536 100644 --- a/README.md +++ b/README.md @@ -2,12 +2,14 @@ Typed TypeScript SDK for Palantir Foundry's LLM proxy endpoints, built on the Vercel AI SDK. -[![TypeScript](https://img.shields.io/badge/TypeScript-5.8.3-3178c6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/) -[![AI%20SDK](https://img.shields.io/badge/AI%20SDK-6.0.138-000000?logo=vercel&logoColor=white)](https://sdk.vercel.ai/) -[![Nx](https://img.shields.io/badge/Nx-21.0.0-143055?logo=nx&logoColor=white)](https://nx.dev/) +[![TypeScript](https://img.shields.io/badge/TypeScript-6.0.2-3178c6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/) +[![AI%20SDK](https://img.shields.io/badge/AI%20SDK-6.0.140-000000?logo=vercel&logoColor=white)](https://sdk.vercel.ai/) +[![Nx](https://img.shields.io/badge/Nx-22.6.2-143055?logo=nx&logoColor=white)](https://nx.dev/) [![pnpm](https://img.shields.io/badge/pnpm-10.24.0-f69220?logo=pnpm&logoColor=white)](https://pnpm.io/) -[![Biome](https://img.shields.io/badge/Biome-2.3.0-60a5fa)](https://biomejs.dev/) -[![Vitest](https://img.shields.io/badge/Vitest-3.2.0-6e9f18?logo=vitest&logoColor=white)](https://vitest.dev/) +[![Biome](https://img.shields.io/badge/Biome-2.4.9-60a5fa)](https://biomejs.dev/) +[![Vitest](https://img.shields.io/badge/Vitest-4.1.2-6e9f18?logo=vitest&logoColor=white)](https://vitest.dev/) +[![CI](https://github.com/nyrra-labs/nyrra-foundry-ai/actions/workflows/ci.yml/badge.svg)](https://github.com/nyrra-labs/nyrra-foundry-ai/actions/workflows/ci.yml) +[![DeepWiki](https://img.shields.io/badge/DeepWiki-nyrra--labs%2Fnyrra--foundry--ai-blue.svg)](https://deepwiki.com/nyrra-labs/nyrra-foundry-ai) [![License](https://img.shields.io/badge/license-MIT-0f172a)](./LICENSE) ## What It Does @@ -33,12 +35,12 @@ The root package exports shared catalog, config, error, and middleware utilities | Layer | Present | Tooling | Runs in CI | |---|---|---|---| -| unit | yes | Vitest | no | +| unit | yes | Vitest | yes | | integration | no | none | no | | e2e api | yes | Vitest live tests + manual Bun/Node example scripts against live Foundry | no | | e2e web | no | none | no | -This repo does not have CI configured yet. Live API verification is manual and requires Foundry credentials. Use `pnpm test:live` for the live Vitest suite or run the standalone scripts in [`examples/`](./examples). +GitHub Actions now runs lint, unit tests, typecheck, and build on `main` and pull requests. Live API verification still requires Foundry credentials and remains manual through `pnpm test:live` or the standalone scripts in [`examples/`](./examples). ## Quick Start diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..a6dca6c --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,18 @@ +# Security Policy + +## Supported Versions + +This project is pre-1.0 and not published yet. Security fixes land on the latest `main` branch. Once npm releases start, only the latest published release and `main` should be considered supported. + +## Reporting a Vulnerability + +Use GitHub private vulnerability reporting for this repository. Do not open a public issue for suspected vulnerabilities. + +Please include: + +- the affected provider path or SDK surface +- reproduction steps +- expected impact +- logs or traces with secrets redacted + +Maintainers aim to acknowledge reports within 3 business days and follow up with either a remediation plan or a triage update. diff --git a/nx.json b/nx.json index ac704ab..c9a70d6 100644 --- a/nx.json +++ b/nx.json @@ -9,6 +9,18 @@ "{workspaceRoot}/tsconfig.base.json", "{workspaceRoot}/biome.json" ], + "workspaceLintFiles": [ + "{workspaceRoot}/.github/**", + "{workspaceRoot}/AGENTS.md", + "{workspaceRoot}/README.md", + "{workspaceRoot}/SECURITY.md", + "{workspaceRoot}/docs/**", + "{workspaceRoot}/examples/**", + "{workspaceRoot}/justfile", + "{workspaceRoot}/opencode.jsonc", + "{workspaceRoot}/scripts/**", + "{workspaceRoot}/tsconfig.json" + ], "default": ["{projectRoot}/**/*", "sharedGlobals"], "production": [ "default", @@ -28,7 +40,7 @@ }, "lint": { "cache": true, - "inputs": ["default", "^default"] + "inputs": ["default", "^default", "workspaceLintFiles"] }, "test": { "cache": true, diff --git a/package.json b/package.json index 0d08556..64cd981 100644 --- a/package.json +++ b/package.json @@ -20,13 +20,13 @@ "@ai-sdk/openai": "3.0.48", "@biomejs/biome": "2.4.9", "@exalabs/ai-sdk": "2.0.1", - "@nx/js": "22.6.1", + "@nx/js": "22.6.2", "@swc-node/register": "~1.11.1", "@swc/core": "~1.15.21", "@swc/helpers": "~0.5.20", "@types/node": "25.5.0", - "ai": "6.0.138", - "nx": "22.6.1", + "ai": "6.0.140", + "nx": "22.6.2", "tslib": "2.8.1", "tsup": "8.5.1", "tsx": "4.21.0", diff --git a/packages/foundry-ai/project.json b/packages/foundry-ai/project.json index 5909ccc..31ad961 100644 --- a/packages/foundry-ai/project.json +++ b/packages/foundry-ai/project.json @@ -22,7 +22,7 @@ "lint": { "executor": "nx:run-commands", "options": { - "command": "pnpm exec biome check package.json nx.json tsconfig.base.json tsconfig.json pnpm-workspace.yaml biome.json AGENTS.md README.md docs/SPEC.md opencode.jsonc examples scripts packages/foundry-ai/package.json packages/foundry-ai/project.json packages/foundry-ai/src packages/foundry-ai/tsconfig.json packages/foundry-ai/tsconfig.lib.json packages/foundry-ai/tsconfig.test.json packages/foundry-ai/tsconfig.typecheck.json packages/foundry-ai/tsup.config.ts packages/foundry-ai/vitest.config.ts packages/foundry-ai/vitest.live.config.ts", + "command": "pnpm exec biome check .github AGENTS.md README.md SECURITY.md biome.json docs examples justfile nx.json opencode.jsonc package.json packages/foundry-ai pnpm-workspace.yaml scripts tsconfig.base.json tsconfig.json", "cwd": "{workspaceRoot}" } }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ba1a4ee..999208b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,10 +19,10 @@ importers: version: 2.4.9 '@exalabs/ai-sdk': specifier: 2.0.1 - version: 2.0.1(ai@6.0.138(zod@4.3.6)) + version: 2.0.1(ai@6.0.140(zod@4.3.6)) '@nx/js': - specifier: 22.6.1 - version: 22.6.1(@babel/traverse@7.29.0)(@swc-node/register@1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2))(@swc/core@1.15.21(@swc/helpers@0.5.20))(nx@22.6.1(@swc-node/register@1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2))(@swc/core@1.15.21(@swc/helpers@0.5.20)))(verdaccio@6.3.2(typanion@3.14.0)) + specifier: 22.6.2 + version: 22.6.2(@babel/traverse@7.29.0)(@swc-node/register@1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2))(@swc/core@1.15.21(@swc/helpers@0.5.20))(nx@22.6.2(@swc-node/register@1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2))(@swc/core@1.15.21(@swc/helpers@0.5.20)))(verdaccio@6.3.2(typanion@3.14.0)) '@swc-node/register': specifier: ~1.11.1 version: 1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2) @@ -36,11 +36,11 @@ importers: specifier: 25.5.0 version: 25.5.0 ai: - specifier: 6.0.138 - version: 6.0.138(zod@4.3.6) + specifier: 6.0.140 + version: 6.0.140(zod@4.3.6) nx: - specifier: 22.6.1 - version: 22.6.1(@swc-node/register@1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2))(@swc/core@1.15.21(@swc/helpers@0.5.20)) + specifier: 22.6.2 + version: 22.6.2(@swc-node/register@1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2))(@swc/core@1.15.21(@swc/helpers@0.5.20)) tslib: specifier: 2.8.1 version: 2.8.1 @@ -86,6 +86,12 @@ packages: peerDependencies: zod: ^3.25.76 || ^4.1.8 + '@ai-sdk/gateway@3.0.82': + resolution: {integrity: sha512-ddB9FrkHZank1zyx13vypU0RrPjsXWj3NvlsrJ4yFQnrpR+xh48W4wO9ijndUueBsaADjlvMz2Ghv8yq5tZGCQ==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.25.76 || ^4.1.8 + '@ai-sdk/openai@3.0.48': resolution: {integrity: sha512-ALmj/53EXpcRqMbGpPJPP4UOSWw0q4VGpnDo7YctvsynjkrKDmoneDG/1a7VQnSPYHnJp6tTRMf5ZdxZ5whulg==} engines: {node: '>=18'} @@ -1059,71 +1065,71 @@ packages: '@napi-rs/wasm-runtime@1.1.1': resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==} - '@nx/devkit@22.6.1': - resolution: {integrity: sha512-/mwG9zWY1phsWvMKzP0yZ4pE6aH0kLH31DuCYj4eLbhuUu0STL3xSdjPPzhDHf71R4K3YnuvG97e2qiGDbG5Qw==} + '@nx/devkit@22.6.2': + resolution: {integrity: sha512-XDSaapU6y75MLxvD68itwY0jzkzPhM8k5ZRngEl9eEQeBxDmwj9lDK85R58KuBl9F6j2FWULK27eAnH6nc9W6Q==} peerDependencies: nx: '>= 21 <= 23 || ^22.0.0-0' - '@nx/js@22.6.1': - resolution: {integrity: sha512-Ikp2+B5TzO5/2KV/yc1r4zl6Cnaf0cPgJf+YlBrDUpKss6yrY4n5ORArbvEw9E1q2llVhA5C/zRd+mM8eEMmkQ==} + '@nx/js@22.6.2': + resolution: {integrity: sha512-KYw/B9WektFxEig0gcybyv87eXBuOZFR89ITj6TxoH21iYS1jPsvU+p459IcIaraOsyQjTv7OU8NCoM4fL2foQ==} peerDependencies: verdaccio: ^6.0.5 peerDependenciesMeta: verdaccio: optional: true - '@nx/nx-darwin-arm64@22.6.1': - resolution: {integrity: sha512-lixkEBGFdEsUiqEZg9LIyjfiTv12Sg1Es/yUgrdOQUAZu+5oiUPMoybyBwrvINl+fZw+PLh66jOmB4GSP2aUMQ==} + '@nx/nx-darwin-arm64@22.6.2': + resolution: {integrity: sha512-pq21tJO3ykatm4P8P8owMThOor/Kg/kDs/y4xsmz+N68NUYKvFPgc3p90SCyJnFKbNohlMSPFJYHY3zxrDUYhQ==} cpu: [arm64] os: [darwin] - '@nx/nx-darwin-x64@22.6.1': - resolution: {integrity: sha512-HvgtOtuWnEf0dpfWb05N0ptdFg040YgzsKFhXg6+qaBJg5Hg0e0AXPKaSgh2PCqCIDlKu40YtwVgF7KXxXAGlA==} + '@nx/nx-darwin-x64@22.6.2': + resolution: {integrity: sha512-CllU9XhOM64dYJPcedQsfdJKmJNTIfDj+UYWInUJkkpf2Y/sl08qmZmUwHjWuOkH0L//ZrDSw8XE0SzyWCm7VA==} cpu: [x64] os: [darwin] - '@nx/nx-freebsd-x64@22.6.1': - resolution: {integrity: sha512-g2wUltGX+7/+mdTV5d6ODa0ylrNu/krgb9YdrsbhW6oZeXYm2LeLOAnYqIlL/Kx140NLrb5Kcz7bi7JrBAw4Ow==} + '@nx/nx-freebsd-x64@22.6.2': + resolution: {integrity: sha512-CUkXPLm9R5Wihv/WgrYNF2l169BEk6NwQbYhl7x4D6A2jpISf0JHKup42PetFoq62TT2KGMjuLRP3xOoVB/Yrg==} cpu: [x64] os: [freebsd] - '@nx/nx-linux-arm-gnueabihf@22.6.1': - resolution: {integrity: sha512-TTqisFPAPrj35EihvzotBbajS+0bX++PQggmRVmDmGwSTrpySRJwZnKNHYDqP6s9tigDvkNJOJftK+GkBEFRRA==} + '@nx/nx-linux-arm-gnueabihf@22.6.2': + resolution: {integrity: sha512-qV34eeQIZlagodInOXK6mUBfytxA39wK01es5CSHGmdRdYyQlwfaBkPY+GfWSA/sOem33lxYV2eu5H+rxkeRIA==} cpu: [arm] os: [linux] - '@nx/nx-linux-arm64-gnu@22.6.1': - resolution: {integrity: sha512-uIkPcanSTIcyh7/6LOoX0YpGO/7GkVhMRgyM9Mg/7ItFjCtRaeuPEPrJESsaNeB5zIVVhI4cXbGrM9NDnagiiw==} + '@nx/nx-linux-arm64-gnu@22.6.2': + resolution: {integrity: sha512-P7EGH74jsFGY/gd881EeHdz6MXSrjkLHDrwes4cs3ETpaa3ZnCSQrG84imFnOeRQucqB3P2QZc1eL44ATc6nVw==} cpu: [arm64] os: [linux] - '@nx/nx-linux-arm64-musl@22.6.1': - resolution: {integrity: sha512-eqkG8s/7remiRZ1Lo2zIrFLSNsQ/0x9fAj++CV1nqFE+rfykPQhC48F8pqsq6tUQpI5HqRQEfQgv4CnFNpLR+w==} + '@nx/nx-linux-arm64-musl@22.6.2': + resolution: {integrity: sha512-qwq2hFBsoR2tJSlflA3mKyrgzo5eNK2CTxcN3gPmBfxVA4jEIa+30pjpbQrK1C+lshhQrItZiPGlvcpL7rOESQ==} cpu: [arm64] os: [linux] - '@nx/nx-linux-x64-gnu@22.6.1': - resolution: {integrity: sha512-6DhSupCcDa6BYzQ48qsMK4LIdIO+y4E+4xuUBkX2YTGOZh58gctELCv7Gi6/FhiC8rzVzM7hDcygOvHCGc30zA==} + '@nx/nx-linux-x64-gnu@22.6.2': + resolution: {integrity: sha512-Ru92V5qOivrvhJqIXbJUaHTv2zS19OGf30+FFdD+gnyCz6EzWtVcozYHAsjVfIQRWtwM0kEql77SpdV7dEnIVQ==} cpu: [x64] os: [linux] - '@nx/nx-linux-x64-musl@22.6.1': - resolution: {integrity: sha512-QqtfaBhdfLRKGucpP8RSv7KJ51XRWpfUcXPhkb/1dKP/b9/Z0kpaCgczGHdrAtX9m6haWw+sQXYGxnStZIg/TQ==} + '@nx/nx-linux-x64-musl@22.6.2': + resolution: {integrity: sha512-/AIa8MNZZZh6EnPjWEq6EXsYl9B8JwD2QFcPGFRavXfpiYtK8Uk0q3NVSVcmg5L8WEW9ve5sxAY27lswym8cJw==} cpu: [x64] os: [linux] - '@nx/nx-win32-arm64-msvc@22.6.1': - resolution: {integrity: sha512-8pTWXphY5IIgY3edZ5SfzP8yPjBqoAxRV5snAYDctF4e0OC1nDOUims70jLesMle8DTSWiHPSfbLVfp2HkU9WQ==} + '@nx/nx-win32-arm64-msvc@22.6.2': + resolution: {integrity: sha512-0y9FHSbUj1bhD7obbQXFgnCYHNGuqajMks+oVhqsd0p48U8kjqLPG0aZchztDNzqPk52UHqIBBSiLeMofIcIzw==} cpu: [arm64] os: [win32] - '@nx/nx-win32-x64-msvc@22.6.1': - resolution: {integrity: sha512-XMYrtsR5O39uNR4fVpFs65rVB09FyLXvUM735r2rO7IUWWHxHWTAgVcc+gqQaAchBPqR9f1q+3u2i1Inub3Cdw==} + '@nx/nx-win32-x64-msvc@22.6.2': + resolution: {integrity: sha512-6rcB7ioI47GP+ocKO7m1NETW9yV6nW88kiEI8kkQv4kU5fPD3t9EcI7Gu5eF0Ms9cCx/EUspFgh1ZDwDDw4Uzg==} cpu: [x64] os: [win32] - '@nx/workspace@22.6.1': - resolution: {integrity: sha512-mrvGubfownO/m0CtFvtRwQxQm//UoBRgrT0WCxrQi5tGlgViTYFSDRumhy94EuU00OGiAHNa3yeXWFd72O981A==} + '@nx/workspace@22.6.2': + resolution: {integrity: sha512-G5Ft3eb7ZrvNN0D3j1tyIyT6BuRwMNbjgvNWfEnZ1fKHRTIwqsXvx5S5fK4aJhCgpxTlPzQZpIr0XUTS0t6sjQ==} '@opentelemetry/api@1.9.0': resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} @@ -1492,9 +1498,6 @@ packages: '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - '@types/node@22.19.15': - resolution: {integrity: sha512-F0R/h2+dsy5wJAUe3tAU6oqa2qbWY5TpNfL/RGmo1y38hiyO1w3x2jPtt76wmuaJI4DQnOBu21cNXQ2STIUUWg==} - '@types/node@25.5.0': resolution: {integrity: sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==} @@ -1658,6 +1661,12 @@ packages: peerDependencies: zod: ^3.25.76 || ^4.1.8 + ai@6.0.140: + resolution: {integrity: sha512-+jf6fQDPZe+gQlzPoP5mzy+DdfYOpE0cgUm99U8OxVTIPv19gCDuNzlKTZSntcQzLbo6LFXyNhJdV7XTWQ+5vA==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.25.76 || ^4.1.8 + ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} @@ -2077,8 +2086,8 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - electron-to-chromium@1.5.325: - resolution: {integrity: sha512-PwfIw7WQSt3xX7yOf5OE/unLzsK9CaN2f/FvV3WjPR1Knoc1T9vePRVV4W1EM301JzzysK51K7FNKcusCr0zYA==} + electron-to-chromium@1.5.327: + resolution: {integrity: sha512-hLxLdIJDf8zIzKoH2TPCs+Botc+wUmj9sp4jVMwklY/sKleM8xxxOExRX3Gxj73nCXmJe3anhG7SvsDDPDvmuQ==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -2704,8 +2713,8 @@ packages: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} - nx@22.6.1: - resolution: {integrity: sha512-b4eo52o5aCVt3oG6LPYvD2Cul3JFBMgr2p9OjMBIo6oU6QfSR693H2/UuUMepLtO6jcIniPKOcIrf6Ue8aXAww==} + nx@22.6.2: + resolution: {integrity: sha512-Swc/7VUNqXQ9aEU6OzHTqUh6PDQAtsIT6Zgc0pAb2LLDOBYtSr+PO3lMWcZX0SZcu4vEzUZxDYAhkls5b096kw==} hasBin: true peerDependencies: '@swc-node/register': ^1.11.1 @@ -3271,9 +3280,6 @@ packages: engines: {node: '>=0.8.0'} hasBin: true - undici-types@6.21.0: - resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - undici-types@7.18.2: resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} @@ -3490,6 +3496,13 @@ snapshots: '@vercel/oidc': 3.1.0 zod: 4.3.6 + '@ai-sdk/gateway@3.0.82(zod@4.3.6)': + dependencies: + '@ai-sdk/provider': 3.0.8 + '@ai-sdk/provider-utils': 4.0.21(zod@4.3.6) + '@vercel/oidc': 3.1.0 + zod: 4.3.6 + '@ai-sdk/openai@3.0.48(zod@4.3.6)': dependencies: '@ai-sdk/provider': 3.0.8 @@ -4445,9 +4458,9 @@ snapshots: '@esbuild/win32-x64@0.27.4': optional: true - '@exalabs/ai-sdk@2.0.1(ai@6.0.138(zod@4.3.6))': + '@exalabs/ai-sdk@2.0.1(ai@6.0.140(zod@4.3.6))': dependencies: - ai: 6.0.138(zod@4.3.6) + ai: 6.0.140(zod@4.3.6) zod: 3.25.76 '@jest/diff-sequences@30.3.0': {} @@ -4492,18 +4505,18 @@ snapshots: '@tybys/wasm-util': 0.10.1 optional: true - '@nx/devkit@22.6.1(nx@22.6.1(@swc-node/register@1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2))(@swc/core@1.15.21(@swc/helpers@0.5.20)))': + '@nx/devkit@22.6.2(nx@22.6.2(@swc-node/register@1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2))(@swc/core@1.15.21(@swc/helpers@0.5.20)))': dependencies: '@zkochan/js-yaml': 0.0.7 ejs: 3.1.10 enquirer: 2.3.6 minimatch: 10.2.4 - nx: 22.6.1(@swc-node/register@1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2))(@swc/core@1.15.21(@swc/helpers@0.5.20)) + nx: 22.6.2(@swc-node/register@1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2))(@swc/core@1.15.21(@swc/helpers@0.5.20)) semver: 7.7.4 tslib: 2.8.1 yargs-parser: 21.1.1 - '@nx/js@22.6.1(@babel/traverse@7.29.0)(@swc-node/register@1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2))(@swc/core@1.15.21(@swc/helpers@0.5.20))(nx@22.6.1(@swc-node/register@1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2))(@swc/core@1.15.21(@swc/helpers@0.5.20)))(verdaccio@6.3.2(typanion@3.14.0))': + '@nx/js@22.6.2(@babel/traverse@7.29.0)(@swc-node/register@1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2))(@swc/core@1.15.21(@swc/helpers@0.5.20))(nx@22.6.2(@swc-node/register@1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2))(@swc/core@1.15.21(@swc/helpers@0.5.20)))(verdaccio@6.3.2(typanion@3.14.0))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.29.0) @@ -4512,8 +4525,8 @@ snapshots: '@babel/preset-env': 7.29.2(@babel/core@7.29.0) '@babel/preset-typescript': 7.28.5(@babel/core@7.29.0) '@babel/runtime': 7.29.2 - '@nx/devkit': 22.6.1(nx@22.6.1(@swc-node/register@1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2))(@swc/core@1.15.21(@swc/helpers@0.5.20))) - '@nx/workspace': 22.6.1(@swc-node/register@1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2))(@swc/core@1.15.21(@swc/helpers@0.5.20)) + '@nx/devkit': 22.6.2(nx@22.6.2(@swc-node/register@1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2))(@swc/core@1.15.21(@swc/helpers@0.5.20))) + '@nx/workspace': 22.6.2(@swc-node/register@1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2))(@swc/core@1.15.21(@swc/helpers@0.5.20)) '@zkochan/js-yaml': 0.0.7 babel-plugin-const-enum: 1.2.0(@babel/core@7.29.0) babel-plugin-macros: 3.1.0 @@ -4541,43 +4554,43 @@ snapshots: - nx - supports-color - '@nx/nx-darwin-arm64@22.6.1': + '@nx/nx-darwin-arm64@22.6.2': optional: true - '@nx/nx-darwin-x64@22.6.1': + '@nx/nx-darwin-x64@22.6.2': optional: true - '@nx/nx-freebsd-x64@22.6.1': + '@nx/nx-freebsd-x64@22.6.2': optional: true - '@nx/nx-linux-arm-gnueabihf@22.6.1': + '@nx/nx-linux-arm-gnueabihf@22.6.2': optional: true - '@nx/nx-linux-arm64-gnu@22.6.1': + '@nx/nx-linux-arm64-gnu@22.6.2': optional: true - '@nx/nx-linux-arm64-musl@22.6.1': + '@nx/nx-linux-arm64-musl@22.6.2': optional: true - '@nx/nx-linux-x64-gnu@22.6.1': + '@nx/nx-linux-x64-gnu@22.6.2': optional: true - '@nx/nx-linux-x64-musl@22.6.1': + '@nx/nx-linux-x64-musl@22.6.2': optional: true - '@nx/nx-win32-arm64-msvc@22.6.1': + '@nx/nx-win32-arm64-msvc@22.6.2': optional: true - '@nx/nx-win32-x64-msvc@22.6.1': + '@nx/nx-win32-x64-msvc@22.6.2': optional: true - '@nx/workspace@22.6.1(@swc-node/register@1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2))(@swc/core@1.15.21(@swc/helpers@0.5.20))': + '@nx/workspace@22.6.2(@swc-node/register@1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2))(@swc/core@1.15.21(@swc/helpers@0.5.20))': dependencies: - '@nx/devkit': 22.6.1(nx@22.6.1(@swc-node/register@1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2))(@swc/core@1.15.21(@swc/helpers@0.5.20))) + '@nx/devkit': 22.6.2(nx@22.6.2(@swc-node/register@1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2))(@swc/core@1.15.21(@swc/helpers@0.5.20))) '@zkochan/js-yaml': 0.0.7 chalk: 4.1.2 enquirer: 2.3.6 - nx: 22.6.1(@swc-node/register@1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2))(@swc/core@1.15.21(@swc/helpers@0.5.20)) + nx: 22.6.2(@swc-node/register@1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2))(@swc/core@1.15.21(@swc/helpers@0.5.20)) picomatch: 4.0.2 semver: 7.7.4 tslib: 2.8.1 @@ -4849,11 +4862,6 @@ snapshots: '@types/estree@1.0.8': {} - '@types/node@22.19.15': - dependencies: - undici-types: 6.21.0 - optional: true - '@types/node@25.5.0': dependencies: undici-types: 7.18.2 @@ -4862,7 +4870,7 @@ snapshots: '@types/responselike@1.0.0': dependencies: - '@types/node': 22.19.15 + '@types/node': 25.5.0 optional: true '@vercel/oidc@3.1.0': {} @@ -5132,6 +5140,14 @@ snapshots: '@opentelemetry/api': 1.9.0 zod: 4.3.6 + ai@6.0.140(zod@4.3.6): + dependencies: + '@ai-sdk/gateway': 3.0.82(zod@4.3.6) + '@ai-sdk/provider': 3.0.8 + '@ai-sdk/provider-utils': 4.0.21(zod@4.3.6) + '@opentelemetry/api': 1.9.0 + zod: 4.3.6 + ajv@8.17.1: dependencies: fast-deep-equal: 3.1.3 @@ -5320,7 +5336,7 @@ snapshots: dependencies: baseline-browser-mapping: 2.10.11 caniuse-lite: 1.0.30001781 - electron-to-chromium: 1.5.325 + electron-to-chromium: 1.5.327 node-releases: 2.0.36 update-browserslist-db: 1.2.3(browserslist@4.28.1) @@ -5587,7 +5603,7 @@ snapshots: dependencies: jake: 10.9.4 - electron-to-chromium@1.5.325: {} + electron-to-chromium@1.5.327: {} emoji-regex@8.0.0: {} @@ -6299,7 +6315,7 @@ snapshots: dependencies: path-key: 3.1.1 - nx@22.6.1(@swc-node/register@1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2))(@swc/core@1.15.21(@swc/helpers@0.5.20)): + nx@22.6.2(@swc-node/register@1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2))(@swc/core@1.15.21(@swc/helpers@0.5.20)): dependencies: '@ltd/j-toml': 1.38.0 '@napi-rs/wasm-runtime': 0.2.4 @@ -6338,16 +6354,16 @@ snapshots: yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: - '@nx/nx-darwin-arm64': 22.6.1 - '@nx/nx-darwin-x64': 22.6.1 - '@nx/nx-freebsd-x64': 22.6.1 - '@nx/nx-linux-arm-gnueabihf': 22.6.1 - '@nx/nx-linux-arm64-gnu': 22.6.1 - '@nx/nx-linux-arm64-musl': 22.6.1 - '@nx/nx-linux-x64-gnu': 22.6.1 - '@nx/nx-linux-x64-musl': 22.6.1 - '@nx/nx-win32-arm64-msvc': 22.6.1 - '@nx/nx-win32-x64-msvc': 22.6.1 + '@nx/nx-darwin-arm64': 22.6.2 + '@nx/nx-darwin-x64': 22.6.2 + '@nx/nx-freebsd-x64': 22.6.2 + '@nx/nx-linux-arm-gnueabihf': 22.6.2 + '@nx/nx-linux-arm64-gnu': 22.6.2 + '@nx/nx-linux-arm64-musl': 22.6.2 + '@nx/nx-linux-x64-gnu': 22.6.2 + '@nx/nx-linux-x64-musl': 22.6.2 + '@nx/nx-win32-arm64-msvc': 22.6.2 + '@nx/nx-win32-x64-msvc': 22.6.2 '@swc-node/register': 1.11.1(@swc/core@1.15.21(@swc/helpers@0.5.20))(@swc/types@0.1.26)(typescript@6.0.2) '@swc/core': 1.15.21(@swc/helpers@0.5.20) transitivePeerDependencies: @@ -7053,9 +7069,6 @@ snapshots: uglify-js@3.19.3: optional: true - undici-types@6.21.0: - optional: true - undici-types@7.18.2: {} unicode-canonical-property-names-ecmascript@2.0.1: {}