Skip to content

chore: remove stale PHP and Python packages#643

Merged
AlemTuzlak merged 3 commits into
mainfrom
642-chore-remove-stale-php-and-python-packages
May 26, 2026
Merged

chore: remove stale PHP and Python packages#643
AlemTuzlak merged 3 commits into
mainfrom
642-chore-remove-stale-php-and-python-packages

Conversation

@tombeckenham
Copy link
Copy Markdown
Contributor

@tombeckenham tombeckenham commented May 26, 2026

Summary

Closes #642.

  • Deletes packages/php/, packages/python/, examples/php-slim/, and examples/python-fastapi/.
  • Updates CLAUDE.md, CONTRIBUTING.md, examples/README.md, examples/vanilla-chat/{README.md,vite.config.ts}, CHANGELOG.md, docs/migration/ag-ui-compliance.md, .changeset/config.json, and the self-learning lesson to remove references to the dropped packages and examples.
  • Regenerates pnpm-lock.yaml.
  • Adds an empty-bump changeset describing the removal (no published @tanstack/* packages are affected).

After discussion, we've decided to focus all our efforts on TypeScript. AG-UI lets you use any server runtime without first-party PHP/Python client packages, so the maintenance burden of those stale implementations is no longer worth it.

Test plan

  • pnpm install clean
  • pnpm test:sherif passes
  • pnpm test:knip passes
  • pnpm test:types passes
  • pnpm test:eslint passes (0 errors, only pre-existing warnings)
  • pnpm test:lib passes
  • pnpm test:build (publint) passes
  • rg sweep confirms no remaining references to php-slim, python-fastapi, packages/php, packages/python, @tanstack/ai-php, or @tanstack/ai-python

🤖 Generated with Claude Code

Summary by CodeRabbit

Release Notes

  • Chores
    • Removed PHP and Python package support; repository now focuses on TypeScript implementations.
    • Removed PHP Slim and Python FastAPI example applications; documentation updated accordingly.
    • Updated repository guides and examples to reflect TypeScript-first approach.

Review Change Stack

Drop the PHP and Python packages and their example apps. TanStack AI now
focuses exclusively on TypeScript; AG-UI handles interop with non-JS
servers, so first-party PHP/Python clients are no longer maintained.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@tombeckenham tombeckenham requested a review from a team as a code owner May 26, 2026 05:35
@tombeckenham tombeckenham linked an issue May 26, 2026 that may be closed by this pull request
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 26, 2026

Important

Review skipped

Too many files!

This PR contains 278 files, which is 128 over the limit of 150.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 6c6b1f84-0521-4575-80a8-687b88a15d99

📥 Commits

Reviewing files that changed from the base of the PR and between bda114e and 824eb7e.

📒 Files selected for processing (278)
  • .agent/self-learning/coupling.json
  • .agent/self-learning/lessons/2026-05-19-update-skills-with-feature-work.md
  • .claude/settings.json
  • .claude/skills/gap-analysis/SKILL.md
  • .claude/skills/gap-analysis/references/audit-checklist.md
  • .claude/skills/gap-analysis/references/report-template.md
  • .github/workflows/pr.yml
  • CHANGELOG.md
  • CLAUDE.md
  • CONTRIBUTING.md
  • _artifacts/domain_map.yaml
  • _artifacts/skill_tree.yaml
  • docs/architecture/approval-flow-processing.md
  • docs/code-mode/code-mode.md
  • docs/community-adapters/guide.md
  • docs/reference/classes/BatchStrategy.md
  • docs/reference/classes/CompositeStrategy.md
  • docs/reference/classes/ConsoleLogger.md
  • docs/reference/classes/ImmediateStrategy.md
  • docs/reference/classes/PartialJSONParser.md
  • docs/reference/classes/PunctuationStrategy.md
  • docs/reference/classes/StandardSchemaValidationError.md
  • docs/reference/classes/StreamProcessor.md
  • docs/reference/classes/ToolCallManager.md
  • docs/reference/classes/WordBoundaryStrategy.md
  • docs/reference/functions/brandProviderTool.md
  • docs/reference/functions/chat.md
  • docs/reference/functions/chatParamsFromRequest.md
  • docs/reference/functions/chatParamsFromRequestBody.md
  • docs/reference/functions/combineStrategies.md
  • docs/reference/functions/convertMessagesToModelMessages.md
  • docs/reference/functions/convertSchemaToJsonSchema.md
  • docs/reference/functions/createAudioOptions.md
  • docs/reference/functions/createChatOptions.md
  • docs/reference/functions/createFrozenRegistry.md
  • docs/reference/functions/createImageOptions.md
  • docs/reference/functions/createModel.md
  • docs/reference/functions/createReplayStream.md
  • docs/reference/functions/createSpeechOptions.md
  • docs/reference/functions/createSummarizeOptions.md
  • docs/reference/functions/createToolRegistry.md
  • docs/reference/functions/createTranscriptionOptions.md
  • docs/reference/functions/createVideoOptions.md
  • docs/reference/functions/detectImageMimeType.md
  • docs/reference/functions/extendAdapter.md
  • docs/reference/functions/generateAudio.md
  • docs/reference/functions/generateImage.md
  • docs/reference/functions/generateMessageId.md
  • docs/reference/functions/generateSpeech.md
  • docs/reference/functions/generateTranscription.md
  • docs/reference/functions/generateVideo.md
  • docs/reference/functions/getVideoJobStatus.md
  • docs/reference/functions/maxIterations.md
  • docs/reference/functions/mergeAgentTools.md
  • docs/reference/functions/modelMessageToUIMessage.md
  • docs/reference/functions/modelMessagesToUIMessages.md
  • docs/reference/functions/normalizeSystemPrompts.md
  • docs/reference/functions/normalizeToUIMessage.md
  • docs/reference/functions/parsePartialJSON.md
  • docs/reference/functions/realtimeToken.md
  • docs/reference/functions/streamToText.md
  • docs/reference/functions/summarize.md
  • docs/reference/functions/toHttpResponse.md
  • docs/reference/functions/toHttpStream.md
  • docs/reference/functions/toServerSentEventsResponse.md
  • docs/reference/functions/toServerSentEventsStream.md
  • docs/reference/functions/toolDefinition.md
  • docs/reference/functions/uiMessageToModelMessages.md
  • docs/reference/functions/uiMessagesToWire.md
  • docs/reference/functions/untilFinishReason.md
  • docs/reference/interfaces/AbortInfo.md
  • docs/reference/interfaces/AfterToolCallInfo.md
  • docs/reference/interfaces/AgentLoopState.md
  • docs/reference/interfaces/ApprovalRequestedEvent.md
  • docs/reference/interfaces/AudioAdapter.md
  • docs/reference/interfaces/AudioGenerationOptions.md
  • docs/reference/interfaces/AudioGenerationResult.md
  • docs/reference/interfaces/AudioPart.md
  • docs/reference/interfaces/AudioVisualization.md
  • docs/reference/interfaces/BaseAGUIEvent.md
  • docs/reference/interfaces/ChatMiddleware.md
  • docs/reference/interfaces/ChatMiddlewareConfig.md
  • docs/reference/interfaces/ChatMiddlewareContext.md
  • docs/reference/interfaces/ChunkRecording.md
  • docs/reference/interfaces/ChunkStrategy.md
  • docs/reference/interfaces/ClientTool.md
  • docs/reference/interfaces/ContentPartDataSource.md
  • docs/reference/interfaces/ContentPartUrlSource.md
  • docs/reference/interfaces/CustomEvent.md
  • docs/reference/interfaces/DebugCategories.md
  • docs/reference/interfaces/DebugConfig.md
  • docs/reference/interfaces/DefaultMessageMetadataByModality.md
  • docs/reference/interfaces/DocumentPart.md
  • docs/reference/interfaces/ErrorInfo.md
  • docs/reference/interfaces/ExtendedModelDef.md
  • docs/reference/interfaces/FinishInfo.md
  • docs/reference/interfaces/ImageAdapter.md
  • docs/reference/interfaces/ImageGenerationOptions.md
  • docs/reference/interfaces/ImageGenerationResult.md
  • docs/reference/interfaces/ImagePart.md
  • docs/reference/interfaces/InternalToolCallState.md
  • docs/reference/interfaces/IterationInfo.md
  • docs/reference/interfaces/JSONParser.md
  • docs/reference/interfaces/JSONSchema.md
  • docs/reference/interfaces/Logger.md
  • docs/reference/interfaces/MessagesSnapshotEvent.md
  • docs/reference/interfaces/ModelMessage.md
  • docs/reference/interfaces/NormalizedSystemPrompt.md
  • docs/reference/interfaces/ProcessorResult.md
  • docs/reference/interfaces/ProcessorState.md
  • docs/reference/interfaces/ProviderTool.md
  • docs/reference/interfaces/RealtimeAudioPart.md
  • docs/reference/interfaces/RealtimeError.md
  • docs/reference/interfaces/RealtimeEventPayloads.md
  • docs/reference/interfaces/RealtimeImagePart.md
  • docs/reference/interfaces/RealtimeMessage.md
  • docs/reference/interfaces/RealtimeSessionConfig.md
  • docs/reference/interfaces/RealtimeTextPart.md
  • docs/reference/interfaces/RealtimeToken.md
  • docs/reference/interfaces/RealtimeTokenAdapter.md
  • docs/reference/interfaces/RealtimeTokenOptions.md
  • docs/reference/interfaces/RealtimeToolCallPart.md
  • docs/reference/interfaces/RealtimeToolResultPart.md
  • docs/reference/interfaces/ReasoningEncryptedValueEvent.md
  • docs/reference/interfaces/ReasoningEndEvent.md
  • docs/reference/interfaces/ReasoningMessageContentEvent.md
  • docs/reference/interfaces/ReasoningMessageEndEvent.md
  • docs/reference/interfaces/ReasoningMessageStartEvent.md
  • docs/reference/interfaces/ReasoningStartEvent.md
  • docs/reference/interfaces/ResponseFormat.md
  • docs/reference/interfaces/RunErrorEvent.md
  • docs/reference/interfaces/RunFinishedEvent.md
  • docs/reference/interfaces/RunStartedEvent.md
  • docs/reference/interfaces/ServerTool.md
  • docs/reference/interfaces/StateDeltaEvent.md
  • docs/reference/interfaces/StateSnapshotEvent.md
  • docs/reference/interfaces/StepFinishedEvent.md
  • docs/reference/interfaces/StepStartedEvent.md
  • docs/reference/interfaces/StreamProcessorEvents.md
  • docs/reference/interfaces/StreamProcessorOptions.md
  • docs/reference/interfaces/StructuredOutputCompleteEvent.md
  • docs/reference/interfaces/StructuredOutputMiddlewareConfig.md
  • docs/reference/interfaces/StructuredOutputPart.md
  • docs/reference/interfaces/StructuredOutputStartEvent.md
  • docs/reference/interfaces/SummarizationOptions.md
  • docs/reference/interfaces/SummarizationResult.md
  • docs/reference/interfaces/SummarizeAdapter.md
  • docs/reference/interfaces/TTSAdapter.md
  • docs/reference/interfaces/TTSOptions.md
  • docs/reference/interfaces/TTSResult.md
  • docs/reference/interfaces/TextAdapter.md
  • docs/reference/interfaces/TextCompletionChunk.md
  • docs/reference/interfaces/TextMessageContentEvent.md
  • docs/reference/interfaces/TextMessageEndEvent.md
  • docs/reference/interfaces/TextMessageStartEvent.md
  • docs/reference/interfaces/TextOptions.md
  • docs/reference/interfaces/TextPart.md
  • docs/reference/interfaces/ThinkingPart.md
  • docs/reference/interfaces/Tool.md
  • docs/reference/interfaces/ToolCall.md
  • docs/reference/interfaces/ToolCallArgsEvent.md
  • docs/reference/interfaces/ToolCallEndEvent.md
  • docs/reference/interfaces/ToolCallHookContext.md
  • docs/reference/interfaces/ToolCallPart.md
  • docs/reference/interfaces/ToolCallResultEvent.md
  • docs/reference/interfaces/ToolCallStartEvent.md
  • docs/reference/interfaces/ToolConfig.md
  • docs/reference/interfaces/ToolDefinition.md
  • docs/reference/interfaces/ToolDefinitionConfig.md
  • docs/reference/interfaces/ToolDefinitionInstance.md
  • docs/reference/interfaces/ToolExecutionContext.md
  • docs/reference/interfaces/ToolInputAvailableEvent.md
  • docs/reference/interfaces/ToolPhaseCompleteInfo.md
  • docs/reference/interfaces/ToolRegistry.md
  • docs/reference/interfaces/ToolResultPart.md
  • docs/reference/interfaces/TranscriptionAdapter.md
  • docs/reference/interfaces/TranscriptionOptions.md
  • docs/reference/interfaces/TranscriptionResult.md
  • docs/reference/interfaces/TranscriptionSegment.md
  • docs/reference/interfaces/TranscriptionWord.md
  • docs/reference/interfaces/UIMessage.md
  • docs/reference/interfaces/UsageInfo.md
  • docs/reference/interfaces/VADConfig.md
  • docs/reference/interfaces/VideoAdapter.md
  • docs/reference/interfaces/VideoGenerationOptions.md
  • docs/reference/interfaces/VideoJobResult.md
  • docs/reference/interfaces/VideoPart.md
  • docs/reference/interfaces/VideoStatusResult.md
  • docs/reference/interfaces/VideoUrlResult.md
  • docs/reference/type-aliases/AGUIEvent.md
  • docs/reference/type-aliases/AGUIEventType.md
  • docs/reference/type-aliases/AIAdapter.md
  • docs/reference/type-aliases/AgentLoopStrategy.md
  • docs/reference/type-aliases/AnyAudioAdapter.md
  • docs/reference/type-aliases/AnyClientTool.md
  • docs/reference/type-aliases/AnyImageAdapter.md
  • docs/reference/type-aliases/AnySummarizeAdapter.md
  • docs/reference/type-aliases/AnyTTSAdapter.md
  • docs/reference/type-aliases/AnyTextAdapter.md
  • docs/reference/type-aliases/AnyTranscriptionAdapter.md
  • docs/reference/type-aliases/AnyVideoAdapter.md
  • docs/reference/type-aliases/BeforeToolCallDecision.md
  • docs/reference/type-aliases/ChatMiddlewarePhase.md
  • docs/reference/type-aliases/ConstrainedContent.md
  • docs/reference/type-aliases/ConstrainedModelMessage.md
  • docs/reference/type-aliases/ContentPart.md
  • docs/reference/type-aliases/ContentPartForInputModalitiesTypes.md
  • docs/reference/type-aliases/ContentPartSource.md
  • docs/reference/type-aliases/DebugOption.md
  • docs/reference/type-aliases/DeepPartial.md
  • docs/reference/type-aliases/GeneratedAudio.md
  • docs/reference/type-aliases/GeneratedImage.md
  • docs/reference/type-aliases/GeneratedMediaSource.md
  • docs/reference/type-aliases/InferSchemaType.md
  • docs/reference/type-aliases/InferToolInput.md
  • docs/reference/type-aliases/InferToolName.md
  • docs/reference/type-aliases/InferToolOutput.md
  • docs/reference/type-aliases/InputModalitiesTypes.md
  • docs/reference/type-aliases/MessagePart.md
  • docs/reference/type-aliases/ModalitiesArrayToUnion.md
  • docs/reference/type-aliases/Modality.md
  • docs/reference/type-aliases/RealtimeErrorCode.md
  • docs/reference/type-aliases/RealtimeEvent.md
  • docs/reference/type-aliases/RealtimeEventHandler.md
  • docs/reference/type-aliases/RealtimeMessagePart.md
  • docs/reference/type-aliases/RealtimeMode.md
  • docs/reference/type-aliases/RealtimeStatus.md
  • docs/reference/type-aliases/SchemaInput.md
  • docs/reference/type-aliases/StreamChunk.md
  • docs/reference/type-aliases/StreamChunkType.md
  • docs/reference/type-aliases/StructuredOutputStream.md
  • docs/reference/type-aliases/SystemPrompt.md
  • docs/reference/type-aliases/ToolCallState.md
  • docs/reference/type-aliases/ToolResultState.md
  • docs/reference/type-aliases/WireMessage.md
  • docs/reference/variables/defaultJSONParser.md
  • eslint.config.js
  • examples/README.md
  • knip.json
  • packages/ai-anthropic/CHANGELOG.md
  • packages/ai-anthropic/live-tests/README.md
  • packages/ai-anthropic/live-tests/package.json
  • packages/ai-anthropic/package.json
  • packages/ai-anthropic/src/adapters/summarize.ts
  • packages/ai-anthropic/src/adapters/text.ts
  • packages/ai-anthropic/src/index.ts
  • packages/ai-anthropic/src/message-types.ts
  • packages/ai-anthropic/src/model-meta.ts
  • packages/ai-anthropic/src/text/text-provider-options.ts
  • packages/ai-anthropic/src/tools/bash-tool.ts
  • packages/ai-anthropic/src/tools/code-execution-tool.ts
  • packages/ai-anthropic/src/tools/computer-use-tool.ts
  • packages/ai-anthropic/src/tools/custom-tool.ts
  • packages/ai-anthropic/src/tools/index.ts
  • packages/ai-anthropic/src/tools/memory-tool.ts
  • packages/ai-anthropic/src/tools/text-editor-tool.ts
  • packages/ai-anthropic/src/tools/tool-converter.ts
  • packages/ai-anthropic/src/tools/web-fetch-tool.ts
  • packages/ai-anthropic/src/tools/web-search-tool.ts
  • packages/ai-anthropic/src/utils/client.ts
  • packages/ai-anthropic/src/utils/index.ts
  • packages/ai-anthropic/tests/anthropic-adapter.test.ts
  • packages/ai-anthropic/tests/chat-per-model-type-safety.test.ts
  • packages/ai-anthropic/tests/model-meta.test.ts
  • packages/ai-anthropic/tests/provider-tools-smoke.test.ts
  • packages/ai-anthropic/tests/tools-per-model-type-safety.test.ts
  • packages/ai-anthropic/tsconfig.json
  • packages/ai-anthropic/vite.config.ts
  • packages/ai-client/CHANGELOG.md
  • packages/ai-client/README.md
  • packages/ai-client/package.json
  • packages/ai-client/src/chat-client.ts
  • packages/ai-client/src/connection-adapters.ts
  • packages/ai-client/src/events.ts
  • packages/ai-client/src/generation-client.ts
  • packages/ai-client/src/generation-types.ts
  • packages/ai-client/src/index.ts
  • packages/ai-client/src/realtime-client.ts

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

This PR removes first-party PHP and Python client packages (packages/php/tanstack-ai, packages/python/tanstack-ai), their example applications (examples/php-slim, examples/python-fastapi), and updates all repository documentation to reflect TypeScript-only focus.

Changes

PHP and Python package removal

Layer / File(s) Summary
Changeset and build configuration
.changeset/remove-php-and-python-packages.md, .changeset/config.json, .agent/self-learning/lessons/2026-05-14-build-before-running-examples.md
Announces removal of PHP Composer and Python PyPI packages in a new changeset, removes php-slim and python-fastapi from the Nx changeset ignore list, and updates lesson configuration to exclude those examples.
Repository overview and structure docs
CLAUDE.md, CONTRIBUTING.md
Updates monorepo diagrams and text to remove packages/php/ and packages/python/ directory entries and removes PHP/Python from example types enumeration.
Changelog and migration docs
CHANGELOG.md, docs/migration/ag-ui-compliance.md
Removes November 2025 "New Packages" entries for Python (tanstack-ai) and PHP (tanstack/ai), removes FastAPI backend mention from Vanilla Chat example feature list, and deletes out-of-scope PHP/Python parity note from migration docs.
Example applications and documentation
examples/README.md, examples/vanilla-chat/*, examples/python-fastapi/run.sh
Reduces Quick Start to TanStack Chat and Vanilla Chat only; rewrites Vanilla Chat section to remove Python/FastAPI and PHP/Slim backend setup options; removes multi-language backend SSE examples; simplifies Development Tips; updates vanilla-chat README to describe generic SSE backend instead of FastAPI; removes python-fastapi run.sh helper.
PHP/Python package source cleanup
packages/php/tanstack-ai/*, packages/python/tanstack-ai/*, packages/python/tanstack-ai-python/*
Deletes entire PHP package including StreamChunkConverter, MessageFormatters, SSEFormatter classes, composer.json, README, and example script; deletes entire Python package including StreamChunkConverter, message formatting, SSE utilities, adapter implementations, agent strategies, tool utilities, and configuration files.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~50 minutes

Possibly related PRs

  • TanStack/ai#572: Modifies .changeset/config.json ignore array configuration for PHP/Python targets and may represent related changes to the changeset infrastructure.

Suggested reviewers

  • AlemTuzlak
  • crutchcorn

Poem

🐰 Hop away, PHP and Python fell,
TypeScript now rules this carousel!
AG-UI breaks the language spell,
One stack to focus, and all is well. 🎯

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically summarizes the main change: removing stale PHP and Python packages from the repository.
Description check ✅ Passed The PR description is comprehensive and follows the expected structure, including summary of changes, motivations, test results, and rationale.
Linked Issues check ✅ Passed The PR successfully addresses issue #642 by removing all first-party PHP and Python packages (packages/php/, packages/python/) and associated examples (examples/php-slim/, examples/python-fastapi/), along with documentation updates.
Out of Scope Changes check ✅ Passed All changes are directly in scope: package/example deletions, documentation updates removing references, configuration adjustments, and changeset addition. No unrelated modifications present.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 642-chore-remove-stale-php-and-python-packages

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@nx-cloud
Copy link
Copy Markdown

nx-cloud Bot commented May 26, 2026

View your CI Pipeline Execution ↗ for commit 824eb7e

Command Status Duration Result
nx run-many --targets=build --exclude=examples/... ✅ Succeeded 1m 10s View ↗

☁️ Nx Cloud last updated this comment at 2026-05-26 07:42:43 UTC

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 26, 2026

🚀 Changeset Version Preview

6 package(s) bumped directly, 5 bumped as dependents.

🟥 Major bumps

Package Version Reason
@tanstack/ai-elevenlabs 0.2.11 → 1.0.0 Dependent
@tanstack/ai-openai 0.10.1 → 1.0.0 Dependent
@tanstack/ai-react-ui 0.8.1 → 1.0.0 Dependent
@tanstack/ai-solid-ui 0.7.1 → 1.0.0 Dependent

🟨 Minor bumps

Package Version Reason
@tanstack/ai-client 0.11.8 → 0.12.0 Changeset
@tanstack/ai-react 0.11.8 → 0.12.0 Changeset

🟩 Patch bumps

Package Version Reason
@tanstack/ai-preact 0.6.33 → 0.6.34 Changeset
@tanstack/ai-solid 0.10.8 → 0.10.9 Changeset
@tanstack/ai-svelte 0.10.8 → 0.10.9 Changeset
@tanstack/ai-vue 0.10.9 → 0.10.10 Changeset
@tanstack/ai-vue-ui 0.2.4 → 0.2.5 Dependent

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented May 26, 2026

Open in StackBlitz

@tanstack/ai

npm i https://pkg.pr.new/@tanstack/ai@643

@tanstack/ai-anthropic

npm i https://pkg.pr.new/@tanstack/ai-anthropic@643

@tanstack/ai-client

npm i https://pkg.pr.new/@tanstack/ai-client@643

@tanstack/ai-code-mode

npm i https://pkg.pr.new/@tanstack/ai-code-mode@643

@tanstack/ai-code-mode-skills

npm i https://pkg.pr.new/@tanstack/ai-code-mode-skills@643

@tanstack/ai-devtools-core

npm i https://pkg.pr.new/@tanstack/ai-devtools-core@643

@tanstack/ai-elevenlabs

npm i https://pkg.pr.new/@tanstack/ai-elevenlabs@643

@tanstack/ai-event-client

npm i https://pkg.pr.new/@tanstack/ai-event-client@643

@tanstack/ai-fal

npm i https://pkg.pr.new/@tanstack/ai-fal@643

@tanstack/ai-gemini

npm i https://pkg.pr.new/@tanstack/ai-gemini@643

@tanstack/ai-grok

npm i https://pkg.pr.new/@tanstack/ai-grok@643

@tanstack/ai-groq

npm i https://pkg.pr.new/@tanstack/ai-groq@643

@tanstack/ai-isolate-cloudflare

npm i https://pkg.pr.new/@tanstack/ai-isolate-cloudflare@643

@tanstack/ai-isolate-node

npm i https://pkg.pr.new/@tanstack/ai-isolate-node@643

@tanstack/ai-isolate-quickjs

npm i https://pkg.pr.new/@tanstack/ai-isolate-quickjs@643

@tanstack/ai-ollama

npm i https://pkg.pr.new/@tanstack/ai-ollama@643

@tanstack/ai-openai

npm i https://pkg.pr.new/@tanstack/ai-openai@643

@tanstack/ai-openrouter

npm i https://pkg.pr.new/@tanstack/ai-openrouter@643

@tanstack/ai-preact

npm i https://pkg.pr.new/@tanstack/ai-preact@643

@tanstack/ai-react

npm i https://pkg.pr.new/@tanstack/ai-react@643

@tanstack/ai-react-ui

npm i https://pkg.pr.new/@tanstack/ai-react-ui@643

@tanstack/ai-solid

npm i https://pkg.pr.new/@tanstack/ai-solid@643

@tanstack/ai-solid-ui

npm i https://pkg.pr.new/@tanstack/ai-solid-ui@643

@tanstack/ai-svelte

npm i https://pkg.pr.new/@tanstack/ai-svelte@643

@tanstack/ai-utils

npm i https://pkg.pr.new/@tanstack/ai-utils@643

@tanstack/ai-vue

npm i https://pkg.pr.new/@tanstack/ai-vue@643

@tanstack/ai-vue-ui

npm i https://pkg.pr.new/@tanstack/ai-vue-ui@643

@tanstack/openai-base

npm i https://pkg.pr.new/@tanstack/openai-base@643

@tanstack/preact-ai-devtools

npm i https://pkg.pr.new/@tanstack/preact-ai-devtools@643

@tanstack/react-ai-devtools

npm i https://pkg.pr.new/@tanstack/react-ai-devtools@643

@tanstack/solid-ai-devtools

npm i https://pkg.pr.new/@tanstack/solid-ai-devtools@643

commit: 824eb7e

@tombeckenham tombeckenham requested a review from a team May 26, 2026 05:37
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
examples/vanilla-chat/README.md (1)

57-63: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Align the backend URL in the README snippet with src/main.js.

The snippet uses http://localhost:8080/chat, but the current examples/vanilla-chat/src/main.js reference is http://localhost:8000/chat. Please keep these consistent to avoid setup confusion.

Suggested doc fix
 const client = new ChatClient({
-  connection: fetchServerSentEvents('http://localhost:8080/chat'),
+  connection: fetchServerSentEvents('http://localhost:8000/chat'),
   onMessagesChange: (messages) => {
     // Update UI when messages change
   },
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@examples/vanilla-chat/README.md` around lines 57 - 63, Update the README's
ChatClient example so the backend URL matches the app's actual URL: change the
URL string used in the ChatClient/ fetchServerSentEvents instantiation from
"http://localhost:8080/chat" to "http://localhost:8000/chat" (the same value
used when creating the client instance in src/main.js) so the example is
consistent with the app code.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.agent/self-learning/lessons/2026-05-14-build-before-running-examples.md:
- Line 15: The rule's example list mixes full paths and bare names; update the
line so all examples use the full `examples/...` path form (e.g., replace
`ts-solid-chat`, `ts-vue-chat`, `ts-svelte-chat`, `vanilla-chat`,
`ts-group-chat` with `examples/ts-solid-chat`, `examples/ts-vue-chat`,
`examples/ts-svelte-chat`, `examples/vanilla-chat`, `examples/ts-group-chat`) so
the entire rule consistently lists `examples/ts-react-chat`,
`examples/ts-solid-chat`, `examples/ts-vue-chat`, `examples/ts-svelte-chat`,
`examples/vanilla-chat`, and `examples/ts-group-chat`.

---

Outside diff comments:
In `@examples/vanilla-chat/README.md`:
- Around line 57-63: Update the README's ChatClient example so the backend URL
matches the app's actual URL: change the URL string used in the ChatClient/
fetchServerSentEvents instantiation from "http://localhost:8080/chat" to
"http://localhost:8000/chat" (the same value used when creating the client
instance in src/main.js) so the example is consistent with the app code.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 30441b2c-176c-4e93-b5a0-226424a15238

📥 Commits

Reviewing files that changed from the base of the PR and between ad23da9 and bda114e.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (50)
  • .agent/self-learning/lessons/2026-05-14-build-before-running-examples.md
  • .changeset/config.json
  • .changeset/remove-php-and-python-packages.md
  • CHANGELOG.md
  • CLAUDE.md
  • CONTRIBUTING.md
  • docs/migration/ag-ui-compliance.md
  • examples/README.md
  • examples/php-slim/.env.example
  • examples/php-slim/.gitignore
  • examples/php-slim/README.md
  • examples/php-slim/composer.json
  • examples/php-slim/package.json
  • examples/php-slim/public/anthropic-server.php
  • examples/php-slim/public/index.php
  • examples/php-slim/public/openai-server.php
  • examples/python-fastapi/.env.example
  • examples/python-fastapi/.gitignore
  • examples/python-fastapi/README.md
  • examples/python-fastapi/anthropic-server.py
  • examples/python-fastapi/openai-server.py
  • examples/python-fastapi/package.json
  • examples/python-fastapi/requirements.txt
  • examples/python-fastapi/run.sh
  • examples/vanilla-chat/README.md
  • examples/vanilla-chat/vite.config.ts
  • packages/php/tanstack-ai/.gitignore
  • packages/php/tanstack-ai/README.md
  • packages/php/tanstack-ai/composer.json
  • packages/php/tanstack-ai/example.php
  • packages/php/tanstack-ai/src/MessageFormatters.php
  • packages/php/tanstack-ai/src/SSEFormatter.php
  • packages/php/tanstack-ai/src/StreamChunkConverter.php
  • packages/python/tanstack-ai-python/src/tanstack_ai/__init__.py
  • packages/python/tanstack-ai-python/src/tanstack_ai/sse.py
  • packages/python/tanstack-ai/.gitignore
  • packages/python/tanstack-ai/README.md
  • packages/python/tanstack-ai/example_usage.py
  • packages/python/tanstack-ai/pyproject.toml
  • packages/python/tanstack-ai/src/tanstack_ai/__init__.py
  • packages/python/tanstack-ai/src/tanstack_ai/agent_strategies.py
  • packages/python/tanstack-ai/src/tanstack_ai/anthropic_adapter.py
  • packages/python/tanstack-ai/src/tanstack_ai/base_adapter.py
  • packages/python/tanstack-ai/src/tanstack_ai/chat.py
  • packages/python/tanstack-ai/src/tanstack_ai/converter.py
  • packages/python/tanstack-ai/src/tanstack_ai/message_formatters.py
  • packages/python/tanstack-ai/src/tanstack_ai/sse.py
  • packages/python/tanstack-ai/src/tanstack_ai/tool_manager.py
  • packages/python/tanstack-ai/src/tanstack_ai/tool_utils.py
  • packages/python/tanstack-ai/src/tanstack_ai/types.py
💤 Files with no reviewable changes (43)
  • packages/php/tanstack-ai/README.md
  • examples/python-fastapi/.env.example
  • examples/php-slim/package.json
  • docs/migration/ag-ui-compliance.md
  • examples/php-slim/.env.example
  • examples/python-fastapi/README.md
  • packages/php/tanstack-ai/composer.json
  • examples/python-fastapi/requirements.txt
  • packages/python/tanstack-ai/src/tanstack_ai/message_formatters.py
  • packages/python/tanstack-ai/pyproject.toml
  • examples/php-slim/README.md
  • packages/php/tanstack-ai/src/StreamChunkConverter.php
  • packages/python/tanstack-ai/src/tanstack_ai/agent_strategies.py
  • packages/python/tanstack-ai/README.md
  • examples/php-slim/.gitignore
  • packages/python/tanstack-ai-python/src/tanstack_ai/init.py
  • packages/python/tanstack-ai-python/src/tanstack_ai/sse.py
  • examples/python-fastapi/run.sh
  • packages/python/tanstack-ai/src/tanstack_ai/tool_utils.py
  • examples/php-slim/composer.json
  • examples/python-fastapi/.gitignore
  • examples/php-slim/public/index.php
  • packages/python/tanstack-ai/src/tanstack_ai/init.py
  • packages/php/tanstack-ai/src/SSEFormatter.php
  • examples/python-fastapi/package.json
  • packages/python/tanstack-ai/example_usage.py
  • packages/php/tanstack-ai/.gitignore
  • examples/python-fastapi/openai-server.py
  • packages/php/tanstack-ai/src/MessageFormatters.php
  • packages/php/tanstack-ai/example.php
  • examples/python-fastapi/anthropic-server.py
  • examples/php-slim/public/anthropic-server.php
  • packages/python/tanstack-ai/src/tanstack_ai/tool_manager.py
  • packages/python/tanstack-ai/src/tanstack_ai/base_adapter.py
  • examples/php-slim/public/openai-server.php
  • packages/python/tanstack-ai/src/tanstack_ai/anthropic_adapter.py
  • packages/python/tanstack-ai/src/tanstack_ai/sse.py
  • packages/python/tanstack-ai/src/tanstack_ai/converter.py
  • packages/python/tanstack-ai/src/tanstack_ai/types.py
  • .changeset/config.json
  • packages/python/tanstack-ai/src/tanstack_ai/chat.py
  • CHANGELOG.md
  • packages/python/tanstack-ai/.gitignore

# Build Workspace Packages Before Running Examples

**Rule:** Run `pnpm -w run build:all` from the repo root before starting any example dev server (`examples/ts-react-chat`, `ts-solid-chat`, `ts-vue-chat`, `ts-svelte-chat`, `vanilla-chat`, `php-slim`, `python-fastapi`, `ts-group-chat`).
**Rule:** Run `pnpm -w run build:all` from the repo root before starting any example dev server (`examples/ts-react-chat`, `ts-solid-chat`, `ts-vue-chat`, `ts-svelte-chat`, `vanilla-chat`, `ts-group-chat`).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Use consistent example path notation in the server list.

The list mixes examples/ts-react-chat with bare names (ts-solid-chat, etc.). Use a single style (prefer full examples/... paths) to avoid ambiguity in commands/docs.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.agent/self-learning/lessons/2026-05-14-build-before-running-examples.md at
line 15, The rule's example list mixes full paths and bare names; update the
line so all examples use the full `examples/...` path form (e.g., replace
`ts-solid-chat`, `ts-vue-chat`, `ts-svelte-chat`, `vanilla-chat`,
`ts-group-chat` with `examples/ts-solid-chat`, `examples/ts-vue-chat`,
`examples/ts-svelte-chat`, `examples/vanilla-chat`, `examples/ts-group-chat`) so
the entire rule consistently lists `examples/ts-react-chat`,
`examples/ts-solid-chat`, `examples/ts-vue-chat`, `examples/ts-svelte-chat`,
`examples/vanilla-chat`, and `examples/ts-group-chat`.

tombeckenham and others added 2 commits May 26, 2026 17:38
The `typescript/` nesting was a leftover from when other-language packages
lived alongside it. With those gone (commit bda114e), the extra level is
just noise. Moves all 31 packages with `git mv` so blame/history follow,
then updates workspace globs, tsconfig extends, package.json `directory`
fields, scripts, CI, docs, lockfile, and CLAUDE.md accordingly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@AlemTuzlak AlemTuzlak merged commit 2c0ebb3 into main May 26, 2026
10 checks passed
@AlemTuzlak AlemTuzlak deleted the 642-chore-remove-stale-php-and-python-packages branch May 26, 2026 08:06
AlemTuzlak added a commit that referenced this pull request May 26, 2026
Resolves conflicts after main flattened packages/typescript/* to packages/*
and removed PHP/Python packages (#643). Key conflict resolutions:

- packages/ai-client/src/connection-adapters.ts: combined imports and kept
  both StreamTruncatedError (from main) and WorkflowConnectionAdapter (PR)
- packages/ai-client/src/index.ts: re-exported both stream (PR) and
  StreamTruncatedError (main)
- examples/ts-react-chat/src/components/Header.tsx: import both Network
  (PR, orchestration link) and Server (main, server-fn-chat link) icons
- examples/ts-react-chat/src/routeTree.gen.ts: regenerated to include both
  orchestration/workflow (PR) and server-fn-chat (main) routes
- knip.json: adopted flattened workspace paths from main, kept PR's
  duplicates rule
- .agent/self-learning/coupling.json: flattened SKILL.md paths and kept
  the ai-orchestration entry added by the PR
- Moved packages/typescript/ai-orchestration/ to packages/ai-orchestration/
  via git mv to match main's flattened layout (fixes tsconfig extends path,
  package.json directory field)
- pnpm-lock.yaml: regenerated via pnpm install
AlemTuzlak added a commit that referenced this pull request May 26, 2026
One conflict: docs/reference/type-aliases/StreamChunk.md — kept main's
flattened path reference (`packages/ai/src/types.ts`) which superseded
the PR's `packages/typescript/ai/src/types.ts` after #643 flattened
the packages tree.
tombeckenham added a commit to tombeckenham/ai-tom that referenced this pull request May 26, 2026
…te entry

Main's packages/typescript/* -> packages/* flatten (PR TanStack#643) missed the
experimental/ subtree introduced on this branch — git left it at the
old path and the merged vite.config dropped the experimental entry. Move
the files with `git mv` and re-add the entry so the /experimental subpath
emits its runtime JS again.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore: remove stale php and python packages

2 participants