From 06ecd055dfff625abb491e698e71b397714eb996 Mon Sep 17 00:00:00 2001 From: Lachlan Collins <1667261+lachlancollins@users.noreply.github.com> Date: Wed, 10 Dec 2025 11:20:19 +1100 Subject: [PATCH 1/3] ci: update publish workflow --- .github/workflows/autofix.yml | 2 -- .github/workflows/release.yml | 9 ++++++- package.json | 7 ++--- .../src/text/text-provider-options.ts | 3 +-- .../conversation/ChunksCollapsible.tsx | 4 +-- .../src/text/text-provider-options.ts | 3 +-- packages/typescript/ai/src/base-adapter.ts | 26 ++++++++----------- packages/typescript/ai/src/types.ts | 6 ++--- pnpm-lock.yaml | 20 +++++++------- 9 files changed, 36 insertions(+), 44 deletions(-) diff --git a/.github/workflows/autofix.yml b/.github/workflows/autofix.yml index 0d047936..515ca18b 100644 --- a/.github/workflows/autofix.yml +++ b/.github/workflows/autofix.yml @@ -23,8 +23,6 @@ jobs: uses: tanstack/config/.github/setup@main - name: Fix formatting run: pnpm prettier:write - - name: Generate Docs - run: pnpm generate-docs - name: Apply fixes uses: autofix-ci/action@635ffb0c9798bd160680f18fd73371e355b85f27 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f0b8db36..2a4d1746 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -40,7 +40,9 @@ jobs: title: "ci: Version Packages" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + - name: Generate Docs + if: steps.changesets.outputs.published == 'true' + run: pnpm generate-docs - name: Commit Generated Docs if: steps.changesets.outputs.published == 'true' run: | @@ -56,3 +58,8 @@ jobs: fi env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Comment on PRs about release + if: steps.changesets.outputs.published == 'true' + uses: tanstack/config/.github/comment-on-release@main + with: + published-packages: ${{ steps.changesets.outputs.publishedPackages }} \ No newline at end of file diff --git a/package.json b/package.json index e8e317ef..6b172bcb 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,6 @@ "test:pr": "nx affected --targets=test:sherif,test:knip,test:eslint,test:lib,test:types,test:build,build", "test:ci": "nx run-many --targets=test:sherif,test:knip,test:eslint,test:lib,test:types,test:build,build", "test:eslint": "nx affected --target=test:eslint --exclude=examples/**", - "test:format": "pnpm run prettier --check", "test:sherif": "sherif", "test:lib": "nx affected --targets=test:lib --exclude=examples/**", "test:lib:dev": "pnpm test:lib && nx watch --all -- pnpm test:lib", @@ -31,11 +30,9 @@ "build:all": "nx run-many --targets=build --exclude=examples/**", "watch": "pnpm run build:all && nx watch --all -- pnpm run build:all", "dev": "pnpm run watch", - "prettier": "prettier --ignore-unknown '**/*'", - "prettier:write": "pnpm run prettier --write", + "format": "prettier --experimental-cli --ignore-unknown '**/*' --write", "generate-docs": "node scripts/generate-docs.ts && pnpm run copy:readme", "copy:readme": "cp README.md packages/typescript/ai/README.md && cp README.md packages/typescript/ai-devtools/README.md && cp README.md packages/typescript/ai-client/README.md && cp README.md packages/typescript/ai-gemini/README.md && cp README.md packages/typescript/ai-ollama/README.md && cp README.md packages/typescript/ai-openai/README.md && cp README.md packages/typescript/ai-react/README.md && cp README.md packages/typescript/ai-react-ui/README.md && cp README.md packages/typescript/react-ai-devtools/README.md && cp README.md packages/typescript/solid-ai-devtools/README.md", - "format": "pnpm run prettier:write", "changeset": "changeset", "changeset:publish": "changeset publish", "changeset:version": "changeset version && pnpm install --no-frozen-lockfile && pnpm prettier:write" @@ -61,7 +58,7 @@ "markdown-link-extractor": "^4.0.3", "nx": "22.1.2", "premove": "^4.0.0", - "prettier": "^3.6.2", + "prettier": "^3.7.4", "prettier-plugin-svelte": "^3.4.0", "publint": "^0.3.15", "sherif": "^1.9.0", diff --git a/packages/typescript/ai-anthropic/src/text/text-provider-options.ts b/packages/typescript/ai-anthropic/src/text/text-provider-options.ts index fc872026..8c4dfecc 100644 --- a/packages/typescript/ai-anthropic/src/text/text-provider-options.ts +++ b/packages/typescript/ai-anthropic/src/text/text-provider-options.ts @@ -117,8 +117,7 @@ export type ExternalTextProviderOptions = AnthropicContainerOptions & AnthropicToolChoiceOptions & AnthropicSamplingOptions -export interface InternalTextProviderOptions - extends ExternalTextProviderOptions { +export interface InternalTextProviderOptions extends ExternalTextProviderOptions { model: string messages: Array diff --git a/packages/typescript/ai-devtools/src/components/conversation/ChunksCollapsible.tsx b/packages/typescript/ai-devtools/src/components/conversation/ChunksCollapsible.tsx index 9d3c03e6..b47375c6 100644 --- a/packages/typescript/ai-devtools/src/components/conversation/ChunksCollapsible.tsx +++ b/packages/typescript/ai-devtools/src/components/conversation/ChunksCollapsible.tsx @@ -26,9 +26,7 @@ export const ChunksCollapsible: Component = (props) => {
- - ▶ - + 📦 {totalRawChunks()} chunks diff --git a/packages/typescript/ai-openai/src/text/text-provider-options.ts b/packages/typescript/ai-openai/src/text/text-provider-options.ts index 85424f00..ba9d6049 100644 --- a/packages/typescript/ai-openai/src/text/text-provider-options.ts +++ b/packages/typescript/ai-openai/src/text/text-provider-options.ts @@ -245,8 +245,7 @@ export type ExternalTextProviderOptions = OpenAIBaseOptions & * Options your SDK forwards to OpenAI when doing chat/responses. * Tip: gate these by model capability in your SDK, not just by presence. */ -export interface InternalTextProviderOptions - extends ExternalTextProviderOptions { +export interface InternalTextProviderOptions extends ExternalTextProviderOptions { input: string | OpenAI.Responses.ResponseInput /** * A system (or developer) message inserted into the model's context. diff --git a/packages/typescript/ai/src/base-adapter.ts b/packages/typescript/ai/src/base-adapter.ts index 3291c805..f533becc 100644 --- a/packages/typescript/ai/src/base-adapter.ts +++ b/packages/typescript/ai/src/base-adapter.ts @@ -29,10 +29,8 @@ export abstract class BaseAdapter< TChatProviderOptions extends Record = Record, TEmbeddingProviderOptions extends Record = Record, TModelProviderOptionsByName extends Record = Record, - TModelInputModalitiesByName extends Record< - string, - ReadonlyArray - > = Record>, + TModelInputModalitiesByName extends Record> = + Record>, TMessageMetadataByModality extends { text: unknown image: unknown @@ -40,17 +38,15 @@ export abstract class BaseAdapter< video: unknown document: unknown } = DefaultMessageMetadataByModality, -> implements - AIAdapter< - TChatModels, - TEmbeddingModels, - TChatProviderOptions, - TEmbeddingProviderOptions, - TModelProviderOptionsByName, - TModelInputModalitiesByName, - TMessageMetadataByModality - > -{ +> implements AIAdapter< + TChatModels, + TEmbeddingModels, + TChatProviderOptions, + TEmbeddingProviderOptions, + TModelProviderOptionsByName, + TModelInputModalitiesByName, + TMessageMetadataByModality +> { abstract name: string abstract models: TChatModels embeddingModels?: TEmbeddingModels diff --git a/packages/typescript/ai/src/types.ts b/packages/typescript/ai/src/types.ts index 8f96fcfe..7efae921 100644 --- a/packages/typescript/ai/src/types.ts +++ b/packages/typescript/ai/src/types.ts @@ -687,10 +687,8 @@ export interface AIAdapter< TChatProviderOptions extends Record = Record, TEmbeddingProviderOptions extends Record = Record, TModelProviderOptionsByName extends Record = Record, - TModelInputModalitiesByName extends Record< - string, - ReadonlyArray - > = Record>, + TModelInputModalitiesByName extends Record> = + Record>, TMessageMetadataByModality extends { text: unknown image: unknown diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 486008b7..214dfb20 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -54,11 +54,11 @@ importers: specifier: ^4.0.0 version: 4.0.0 prettier: - specifier: ^3.6.2 - version: 3.6.2 + specifier: ^3.7.4 + version: 3.7.4 prettier-plugin-svelte: specifier: ^3.4.0 - version: 3.4.0(prettier@3.6.2)(svelte@5.44.1) + version: 3.4.0(prettier@3.7.4)(svelte@5.44.1) publint: specifier: ^0.3.15 version: 0.3.15 @@ -5864,8 +5864,8 @@ packages: engines: {node: '>=10.13.0'} hasBin: true - prettier@3.6.2: - resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} + prettier@3.7.4: + resolution: {integrity: sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==} engines: {node: '>=14'} hasBin: true @@ -8976,7 +8976,7 @@ snapshots: '@tanstack/router-core': 1.139.10 '@tanstack/router-utils': 1.139.0 '@tanstack/virtual-file-routes': 1.139.0 - prettier: 3.6.2 + prettier: 3.7.4 recast: 0.23.11 source-map: 0.7.6 tsx: 4.20.6 @@ -8989,7 +8989,7 @@ snapshots: '@tanstack/router-core': 1.139.7 '@tanstack/router-utils': 1.139.0 '@tanstack/virtual-file-routes': 1.139.0 - prettier: 3.6.2 + prettier: 3.7.4 recast: 0.23.11 source-map: 0.7.6 tsx: 4.20.6 @@ -12714,14 +12714,14 @@ snapshots: premove@4.0.0: {} - prettier-plugin-svelte@3.4.0(prettier@3.6.2)(svelte@5.44.1): + prettier-plugin-svelte@3.4.0(prettier@3.7.4)(svelte@5.44.1): dependencies: - prettier: 3.6.2 + prettier: 3.7.4 svelte: 5.44.1 prettier@2.8.8: {} - prettier@3.6.2: {} + prettier@3.7.4: {} pretty-bytes@7.1.0: {} From 14d1bc4dc81c034b22b2bc123a7a904c23188b89 Mon Sep 17 00:00:00 2001 From: Lachlan Collins <1667261+lachlancollins@users.noreply.github.com> Date: Wed, 10 Dec 2025 11:22:07 +1100 Subject: [PATCH 2/3] Add back doc testing --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 6b172bcb..399bcd0d 100644 --- a/package.json +++ b/package.json @@ -15,8 +15,8 @@ "scripts": { "clean": "pnpm --filter \"./packages/**\" run clean", "test": "pnpm run test:ci", - "test:pr": "nx affected --targets=test:sherif,test:knip,test:eslint,test:lib,test:types,test:build,build", - "test:ci": "nx run-many --targets=test:sherif,test:knip,test:eslint,test:lib,test:types,test:build,build", + "test:pr": "nx affected --targets=test:sherif,test:knip,test:docs,test:eslint,test:lib,test:types,test:build,build", + "test:ci": "nx run-many --targets=test:sherif,test:knip,test:docs,test:eslint,test:lib,test:types,test:build,build", "test:eslint": "nx affected --target=test:eslint --exclude=examples/**", "test:sherif": "sherif", "test:lib": "nx affected --targets=test:lib --exclude=examples/**", @@ -39,6 +39,7 @@ }, "nx": { "includedScripts": [ + "test:docs", "test:knip", "test:sherif" ] From bd32064404a5396381dbc44520a9f807c830f5b6 Mon Sep 17 00:00:00 2001 From: Lachlan Collins <1667261+lachlancollins@users.noreply.github.com> Date: Wed, 10 Dec 2025 11:25:15 +1100 Subject: [PATCH 3/3] Fix format --- .github/workflows/autofix.yml | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/autofix.yml b/.github/workflows/autofix.yml index 515ca18b..a3eebb92 100644 --- a/.github/workflows/autofix.yml +++ b/.github/workflows/autofix.yml @@ -22,7 +22,7 @@ jobs: - name: Setup Tools uses: tanstack/config/.github/setup@main - name: Fix formatting - run: pnpm prettier:write + run: pnpm format - name: Apply fixes uses: autofix-ci/action@635ffb0c9798bd160680f18fd73371e355b85f27 with: diff --git a/package.json b/package.json index 399bcd0d..2b7d740f 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "copy:readme": "cp README.md packages/typescript/ai/README.md && cp README.md packages/typescript/ai-devtools/README.md && cp README.md packages/typescript/ai-client/README.md && cp README.md packages/typescript/ai-gemini/README.md && cp README.md packages/typescript/ai-ollama/README.md && cp README.md packages/typescript/ai-openai/README.md && cp README.md packages/typescript/ai-react/README.md && cp README.md packages/typescript/ai-react-ui/README.md && cp README.md packages/typescript/react-ai-devtools/README.md && cp README.md packages/typescript/solid-ai-devtools/README.md", "changeset": "changeset", "changeset:publish": "changeset publish", - "changeset:version": "changeset version && pnpm install --no-frozen-lockfile && pnpm prettier:write" + "changeset:version": "changeset version && pnpm install --no-frozen-lockfile && pnpm format" }, "nx": { "includedScripts": [