Skip to content

fix(maintainer): add .ts extensions so node can load the sweep - #1943

Merged
AlemTuzlak merged 2 commits into
mainfrom
1941-fixmaintainer-add-ts-extensions-so-node-can-run-the-sweep
Oct 29, 2026
Merged

AlemTuzlak merged 2 commits into
mainfrom
1941-fixmaintainer-add-ts-extensions-so-node-can-run-the-sweep

Conversation

@tombeckenham

@tombeckenham tombeckenham commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Run the import command in Testing. The scheduled Maintainer Sweep fails before it assigns anyone. Node cannot load scripts/maintainer/sweep.ts because each relative import has no .ts suffix. This PR adds that suffix and allows .ts imports in the root tsconfig. ai-angular now extends tsconfig.base.json, so its build does not get that flag.

Fixes #1941

🎯 Changes

Relative imports under scripts/maintainer/ now end in .ts. Node resolves the specifier as written. These source files use that suffix. The root tsconfig.json sets allowImportingTsExtensions. tsconfig.base.json already has noEmit: true.

packages/ai-angular/tsconfig.json extended the root tsconfig.json. It was the only package to do that. The other 76 extend tsconfig.base.json. The Angular build emits files, so the new flag failed it with TS5096. It now extends tsconfig.base.json. The root file only adds include, and ai-angular sets its own include. Its compiler options do not change.

No docs change. These scripts are not a published package, so there is no changeset. The package.json scripts stay on node.

✅ Checklist

  • I have followed the steps in the Contributing guide.
  • I have tested code changes locally with pnpm run test:pr, or these tests do not apply to this pull request.
  • I fully understand the code in this pull request, including any code generated with AI assistance.
  • Docs: I updated docs/ for this change, or this change is not user-facing.
  • Changeset: I added a changeset (pnpm changeset), or this PR does not change a published package.

🚀 Release Impact

  • This change affects published code, and I have generated a changeset.
  • This change is docs/CI/dev-only (no release).

Root cause

Issue. Since #1890, every scheduled Maintainer Sweep run fails. The job exits before main() in scripts/maintainer/sweep.ts assigns anyone.

Cause. sweep.ts imports ./actions with no file suffix. Node's type stripper does not add .ts during module resolution. The same gap is in the rest of scripts/maintainer/.

Fix. Each relative import in that directory now includes .ts. The root tsconfig allows the suffix, so tsc does not report TS5097. ai-angular stops extending the root tsconfig, so its emitting build does not get the flag.

Possible alternatives

  • Restore tsx. tsx resolves an import with no suffix. This PR does not do that. Issue feat(maintainer): assign a PR to the assignee of the issue it closes #1890 changed these scripts to node.
  • Use a .js suffix. Node resolves the specifier as written. There is no .js file on disk for these modules.
  • Add a custom loader. A loader can append .ts. That is more code for the same result.

Testing

Commands run

  1. On clean main (669fd31d9), a dynamic import of scripts/maintainer/sweep.ts failed with ERR_MODULE_NOT_FOUND.
  2. On this branch, the same import printed sweep-module-linked.
  3. pnpm exec vitest run --root scripts/maintainer passed (95 tests).
  4. pnpm exec oxlint scripts/maintainer passed, and oxfmt --check passed after a format.
  5. The first push failed CI on @tanstack/ai-angular:build with TS5096. After the tsconfig change, nx run @tanstack/ai-angular:build --skip-nx-cache passed locally.
  6. pnpm exec tsc -p tsconfig.json --noEmit --pretty false reports zero TS5097 errors. The command still exits 1 for other errors outside this change.

I did not run pnpm test:pr. I did not run the E2E suite. This change does not touch chat behavior.

The import does not call main(). For node --eval, process.argv[1] is empty, so the direct-run guard in sweep.ts stays false.

Fail transcript on main (worktrees/bugfix-4031C6C38308-main, commit 669fd31d9):

code=ERR_MODULE_NOT_FOUND
message=Cannot find module '/Users/tom/.herdr/worktrees/ai/1941-fixmaintainer-add-ts-extensions-so-node-can-run-the-sweep/worktrees/bugfix-4031C6C38308-main/scripts/maintainer/actions' imported from /Users/tom/.herdr/worktrees/ai/1941-fixmaintainer-add-ts-extensions-so-node-can-run-the-sweep/worktrees/bugfix-4031C6C38308-main/scripts/maintainer/sweep.ts

Pass transcript on this branch:

sweep-module-linked

Manual test

  1. Check out 669fd31d9.
  2. From the repo root, run:
node --input-type=module --eval 'const { pathToFileURL } = await import("node:url"); const href = pathToFileURL(process.cwd() + "/scripts/maintainer/sweep.ts").href; await import(href); console.log("sweep-module-linked");'
  1. Make sure that Node exits with ERR_MODULE_NOT_FOUND for scripts/maintainer/actions.
  2. Check out this branch and run the same command.
  3. Make sure that Node prints sweep-module-linked. Then run pnpm exec vitest run --root scripts/maintainer.

How this PR makes testing easy. scripts/maintainer/sweep.test.ts loads sweep.ts through Node and expects sweep-module-linked.

Risk / rollback

Risk is low. The change is limited to maintainer-script imports, one tsconfig flag, and the base that ai-angular extends. A revert of this PR restores the old import paths. The sweep stays broken until another fix is on main.

Summary by CodeRabbit

  • Chores
    • Updated internal module references to use explicit TypeScript file extensions.
    • Adjusted TypeScript configuration to support these imports.
  • Tests
    • Added a check that a maintenance module can be loaded in Node.js module mode.

Node's type stripper does not resolve extensionless relative imports, so the scheduled sweep exits before it assigns anyone.
@tombeckenham tombeckenham linked an issue Oct 29, 2026 that may be closed by this pull request
@tombeckenham
tombeckenham requested a review from a team as a code owner October 29, 2026 09:06
@changeset-bot

changeset-bot Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: f8bb6a1

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@nx-cloud

nx-cloud Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

View your CI Pipeline Execution ↗ for commit f8bb6a1

Command Status Duration Result
nx run-many --targets=test:coverage --projects=... ✅ Succeeded 6s View ↗
nx affected --targets=test:sherif,test:knip,tes... ✅ Succeeded 26s View ↗
nx run-many --targets=build --exclude=examples/... ✅ Succeeded 9s View ↗

☁️ Nx Cloud last updated this comment at 2026-10-29 09:41:32 UTC

@coderabbitai

coderabbitai Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Caution

Review failed

The pull request is closed.

No actionable comments were generated in the recent review.

Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between 669fd31 and e569924.

Files selected for processing: 16
  • scripts/maintainer/actions.ts
  • scripts/maintainer/classify.test.ts
  • scripts/maintainer/classify.ts
  • scripts/maintainer/collect.ts
  • scripts/maintainer/comments.ts
  • scripts/maintainer/config.ts
  • scripts/maintainer/discord.ts
  • scripts/maintainer/fixtures.ts
  • scripts/maintainer/metrics.test.ts
  • scripts/maintainer/metrics.ts
  • scripts/maintainer/route.test.ts
  • scripts/maintainer/route.ts
  • scripts/maintainer/scorecard.ts
  • scripts/maintainer/sweep.test.ts
  • scripts/maintainer/sweep.ts
  • tsconfig.json

Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 5 remain after this review.

Walkthrough

Maintainer scripts now use explicit .ts extensions for relative imports, and root TypeScript configuration permits those import specifiers. The ai-angular TypeScript configuration now extends the base configuration. Sweep tests check Node module loading in a subprocess.

Changes: Maintainer Node imports

Layer / File(s) Summary
Maintainer imports and TypeScript configuration
scripts/maintainer/actions.ts, scripts/maintainer/classify.ts, scripts/maintainer/collect.ts, scripts/maintainer/comments.ts, scripts/maintainer/config.ts, scripts/maintainer/discord.ts, scripts/maintainer/fixtures.ts, scripts/maintainer/metrics.ts, scripts/maintainer/route.ts, scripts/maintainer/scorecard.ts, scripts/maintainer/sweep.ts, tsconfig.json, packages/ai-angular/tsconfig.json
Relative imports in maintainer modules now use .ts specifiers. Root tsconfig.json enables allowImportingTsExtensions. The ai-angular configuration now extends tsconfig.base.json.
Import test updates and Node loading check
scripts/maintainer/classify.test.ts, scripts/maintainer/metrics.test.ts, scripts/maintainer/route.test.ts, scripts/maintainer/sweep.test.ts
Test imports and dynamic imports now use .ts specifiers. A subprocess test checks that Node can load sweep.ts.

Priority: Not assessed

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix · Severity of issue fixed: Medium

Possibly related issues

  • TanStack/ai#1941: The issue describes Node failing to resolve extensionless imports in Maintainer Sweep. This pull request adds the requested .ts suffixes and enables the TypeScript compiler option.

Possibly related PRs

  • TanStack/ai#1890: That PR changed Maintainer Sweep and Scorecard to run with Node. This pull request updates the imports used by those scripts.

Suggested reviewers: alemtuzlak

Merge Risk: Minimal · up to f8bb6

The maintainer scripts can load under the repository’s configured Node runtime, with no verified merge-blocking risk.

Pre-merge checks: Passed 5
Check name Status Explanation
Title check Passed The title clearly identifies the main change: adding .ts extensions to maintainer imports so Node can load the sweep.
Description check Passed The description follows the required template and explains the cause, fix, testing, release impact, and rollback. It also clearly states that pnpm test:pr and the E2E suite were not run.
Linked Issues check Passed Issue #1941 has one active direct link. Its coding requirements are: (1) add a .ts suffix to every relative import under scripts/maintainer/, including dynamic imports in sweep.test.ts; (2) set …
Out of Scope Changes check Passed The whole-PR change set (merge base 669fd31d9 to head e5699246) touches only tsconfig.json and files under scripts/maintainer/. Changed files are actions.ts, classify.ts, `classify.test.ts…
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Full details: Linked Issues check

Explanation

Issue #1941 has one active direct link. Its coding requirements are: (1) add a .ts suffix to every relative import under scripts/maintainer/, including dynamic imports in sweep.test.ts; (2) set allowImportingTsExtensions: true in the root tsconfig.json; (3) keep package scripts on node; (4) do not change packages/.

Evidence at head e5699246:

  • Req 1: sweep.ts imports ./actions.ts, ./classify.ts, ./collect.ts, ./comments.ts, ./config.ts, ./github.ts, ./route.ts, ./env.ts, and ./types.ts with .ts suffixes. sweep.test.ts static imports and dynamic import() calls (./collect.ts, ./github.ts, ./classify.ts, ./metrics.ts, ./discord.ts) all use .ts. env.ts and github.ts contain no relative imports. The change summary reports .ts suffixes in the remaining changed modules. types.ts and glob.ts do not appear in the changed-file summary. I did not read their full contents, so this is inferred from the summary.
  • Req 2: tsconfig.json sets compilerOptions.allowImportingTsExtensions: true and extends tsconfig.base.json. The issue states that base already sets noEmit: true. I did not read tsconfig.base.json directly.
  • Req 3: package.json is not in the changed-file summary, so its scripts remain at base.
  • Req 4: No file under packages/ appears in the changed-file summary.
  • Checks: sweep.test.ts adds a subprocess test that imports sweep.ts through Node in module mode and expects sweep-module-linked. This test covers the reported ERR_MODULE_NOT_FOUND path. The author reports vitest (95 tests), oxlint, and tsc results. I did not re-run these commands.

All explicit coding requirements in #1941 are met by the code at head.

Full details: Out of Scope Changes check

Explanation

The whole-PR change set (merge base 669fd31d9 to head e5699246) touches only tsconfig.json and files under scripts/maintainer/. Changed files are actions.ts, classify.ts, classify.test.ts, collect.ts, comments.ts, config.ts, discord.ts, fixtures.ts, metrics.ts, metrics.test.ts, route.ts, route.test.ts, scorecard.ts, sweep.ts, sweep.test.ts, and tsconfig.json.

The summary reports import-only edits in the source modules. It also reports minor reformatting in route.test.ts where an import block spans multiple lines. This formatting supports the import edits and does not change behavior. The new subprocess test in sweep.test.ts verifies the #1941 module-loading fix. No package, docs, runtime-logic, or packages/ changes appear in the summary. The change set does not include unrelated work.

Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 15 files. (1 skipped: 1 unsupported.)

Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@github-actions

Copy link
Copy Markdown
Contributor

Coverage

✅ Coverage held across 75 compared package(s).

Each package is measured twice in this job — on this PR and on its merge-base with main — and compared. A metric fails only when it is at or above 60% on the merge-base and under 60% on this PR. Other drops are listed but do not fail. Packages your PR doesn't affect are not measured and not listed.

package statements branches functions lines
ai 91.95% (0.00) 85.79% (0.00) 92.12% (0.00) 93.54% (0.00) ok
ai-acp 83.04% (0.00) 71.25% (0.00) 79.01% (0.00) 84.93% (0.00) ok
ai-angular 73.83% (0.00) 60.89% (0.00) 61.83% (0.00) 75.40% (0.00) ok
ai-anthropic 93.19% (0.00) 88.31% (0.00) 95.93% (0.00) 93.70% (0.00) ok
ai-bedrock 90.05% (0.00) 82.59% (0.00) 94.20% (0.00) 91.27% (0.00) ok
ai-byteplus 97.05% (0.00) 91.62% (0.00) 98.27% (0.00) 98.48% (0.00) ok
ai-claude-code 88.90% (0.00) 76.88% (0.00) 86.66% (0.00) 90.38% (0.00) ok
ai-client 87.81% (0.00) 79.97% (0.00) 87.01% (0.00) 90.13% (0.00) ok
ai-cloudflare 85.76% (0.00) 77.52% (0.00) 85.48% (0.00) 86.94% (0.00) ok
ai-code-mode 93.47% (0.00) 85.63% (0.00) 92.04% (0.00) 94.44% (0.00) ok
ai-code-mode-snippets 87.13% (0.00) 75.67% (0.00) 91.11% (0.00) 88.39% (0.00) ok
ai-codex 94.53% (0.00) 85.10% (0.00) 89.09% (0.00) 95.54% (0.00) ok
ai-cohere 88.97% (0.00) 88.37% (0.00) 85.71% (0.00) 91.80% (0.00) ok
ai-compaction 97.41% (0.00) 92.89% (0.00) 100.00% (0.00) 98.89% (0.00) ok
ai-computer-local 97.29% (0.00) 85.71% (0.00) 88.00% (0.00) 96.84% (0.00) ok
ai-computer-playwright 100.00% (0.00) 100.00% (0.00) 100.00% (0.00) 100.00% (0.00) ok
ai-computer-sandbox 96.20% (0.00) 84.37% (0.00) 100.00% (0.00) 95.94% (0.00) ok
ai-computer-use 96.95% (0.00) 92.63% (0.00) 100.00% (0.00) 99.45% (0.00) ok
ai-devtools 83.13% (0.00) 72.77% (0.00) 87.07% (0.00) 85.22% (0.00) ok
ai-durable-stream 86.70% (0.00) 82.25% (0.00) 92.30% (0.00) 88.72% (0.00) ok
ai-elevenlabs 74.68% (0.00) 69.59% (0.00) 59.13% (0.00) 75.46% (0.00) ok
ai-event-client 56.83% (0.00) 48.07% (0.00) 68.96% (0.00) 58.33% (0.00) ok
ai-fal 91.10% (0.00) 82.63% (0.00) 92.40% (0.00) 91.60% (0.00) ok
ai-gemini 68.65% (0.00) 68.66% (0.00) 65.38% (0.00) 69.25% (0.00) ok
ai-grok 48.80% (0.00) 53.49% (0.00) 56.46% (0.00) 49.63% (0.00) ok
ai-grok-build 79.14% (0.00) 63.56% (0.00) 76.99% (0.00) 80.97% (0.00) ok
ai-groq 51.30% (0.00) 47.73% (0.00) 67.39% (0.00) 53.42% (0.00) ok
ai-harness 93.78% (0.00) 88.07% (0.00) 93.60% (0.00) 95.57% (0.00) ok
ai-harness-cli 91.08% (0.00) 83.24% (0.00) 83.85% (0.00) 92.12% (0.00) ok
ai-isolate-cloudflare 94.11% (0.00) 70.66% (0.00) 100.00% (0.00) 93.96% (0.00) ok
ai-isolate-daytona 90.25% (0.00) 80.59% (0.00) 100.00% (0.00) 90.15% (0.00) ok
ai-isolate-e2b 92.11% (0.00) 81.48% (0.00) 97.36% (0.00) 95.05% (0.00) ok
ai-isolate-node 84.00% (0.00) 43.39% (0.00) 100.00% (0.00) 83.78% (0.00) ok
ai-isolate-quickjs 89.07% (0.00) 76.41% (0.00) 90.90% (0.00) 90.30% (0.00) ok
ai-isolate-quickjs-bun 7.76% (0.00) 8.08% (0.00) 5.00% (0.00) 8.33% (0.00) ok
ai-llmgateway 97.77% (0.00) 100.00% (0.00) 88.88% (0.00) 97.77% (0.00) ok
ai-lovable 73.21% (0.00) 55.63% (0.00) 85.07% (0.00) 73.96% (0.00) ok
ai-mcp 94.69% (0.00) 89.38% (0.00) 96.80% (0.00) 96.84% (0.00) ok
ai-memory 73.87% (0.00) 52.70% (0.00) 79.74% (0.00) 76.04% (0.00) ok
ai-mistral 84.75% (0.00) 79.82% (0.00) 92.59% (0.00) 85.39% (0.00) ok
ai-neon 95.34% (0.00) 88.88% (0.00) 94.73% (0.00) 96.85% (0.00) ok
ai-octane 91.19% (0.00) 68.26% (0.00) 87.44% (0.00) 91.47% (0.00) ok
ai-ollama 93.80% (0.00) 80.92% (0.00) 90.62% (0.00) 93.76% (0.00) ok
ai-ollaya 86.84% (0.00) 89.28% (0.00) 85.71% (0.00) 91.66% (0.00) ok
ai-openai 65.36% (0.00) 65.83% (0.00) 66.99% (0.00) 65.80% (0.00) ok
ai-opencode 70.50% (0.00) 62.29% (0.00) 66.32% (0.00) 72.12% (0.00) ok
ai-openrouter 88.28% (0.00) 73.44% (0.00) 90.78% (0.00) 90.23% (0.00) ok
ai-perplexity 91.34% (0.00) 90.43% (0.00) 100.00% (0.00) 93.87% (0.00) ok
ai-persistence 94.33% (0.00) 82.59% (0.00) 97.81% (0.00) 96.04% (0.00) ok
ai-preact 86.50% (0.00) 71.00% (0.00) 87.50% (0.00) 87.98% (0.00) ok
ai-react 81.94% (0.00) 65.42% (0.00) 80.73% (0.00) 82.67% (0.00) ok
ai-reactor 94.91% (0.00) 83.33% (0.00) 93.33% (0.00) 96.55% (0.00) ok
ai-remix 43.02% (0.00) 30.35% (0.00) 39.02% (0.00) 46.23% (0.00) ok
ai-sandbox 78.49% (0.00) 83.16% (0.00) 75.52% (0.00) 79.03% (0.00) ok
ai-sandbox-blaxel 87.66% (0.00) 77.18% (0.00) 82.26% (0.00) 89.69% (0.00) ok
ai-sandbox-boxd 96.01% (0.00) 87.12% (0.00) 95.31% (0.00) 98.24% (0.00) ok
ai-sandbox-cloudflare 67.50% (0.00) 57.27% (0.00) 71.64% (0.00) 68.66% (0.00) ok
ai-sandbox-daytona 81.04% (0.00) 81.89% (0.00) 67.60% (0.00) 83.18% (0.00) ok
ai-sandbox-docker 82.34% (0.00) 73.69% (0.00) 79.82% (0.00) 84.06% (0.00) ok
ai-sandbox-e2b 94.84% (0.00) 89.70% (0.00) 93.24% (0.00) 98.64% (0.00) ok
ai-sandbox-local-process 69.27% (0.00) 53.59% (0.00) 77.01% (0.00) 70.30% (0.00) ok
ai-sandbox-railway 94.87% (0.00) 92.68% (0.00) 90.90% (0.00) 97.65% (0.00) ok
ai-sandbox-sprites 73.10% (0.00) 59.70% (0.00) 73.83% (0.00) 75.95% (0.00) ok
ai-sandbox-upstash-box 94.61% (0.00) 91.52% (0.00) 91.04% (0.00) 97.42% (0.00) ok
ai-sandbox-vercel 43.20% (0.00) 38.18% (0.00) 35.18% (0.00) 44.08% (0.00) ok
ai-skills 83.94% (0.00) 67.95% (0.00) 88.00% (0.00) 86.03% (0.00) ok
ai-solid 75.81% (0.00) 57.63% (0.00) 71.28% (0.00) 78.11% (0.00) ok
ai-svelte 74.05% (0.00) 50.99% (0.00) 70.05% (0.00) 78.64% (0.00) ok
ai-typesafe 78.04% (0.00) 84.61% (0.00) 66.66% (0.00) 82.05% (0.00) ok
ai-utils 82.81% (0.00) 75.64% (0.00) 89.47% (0.00) 84.21% (0.00) ok
ai-vercel-gateway 77.56% (0.00) 63.38% (0.00) 84.90% (0.00) 80.76% (0.00) ok
ai-vertex 96.77% (0.00) 97.22% (0.00) 100.00% (0.00) 96.77% (0.00) ok
ai-vue 73.33% (0.00) 48.73% (0.00) 73.28% (0.00) 74.66% (0.00) ok
ai-worldlabs 79.62% (0.00) 71.50% (0.00) 91.42% (0.00) 82.66% (0.00) ok
openai-base 91.04% (0.00) 79.96% (0.00) 97.81% (0.00) 93.18% (0.00) ok

The root tsconfig now sets allowImportingTsExtensions for scripts/. ng-packagr emits, so inheriting that flag fails the build with TS5096.
@pkg-pr-new

pkg-pr-new Bot commented Oct 29, 2026

Copy link
Copy Markdown

Open in StackBlitz

@tanstack/ai

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

@tanstack/ai-acp

npm i https://pkg.pr.new/@tanstack/ai-acp@1943

@tanstack/ai-angular

npm i https://pkg.pr.new/@tanstack/ai-angular@1943

@tanstack/ai-anthropic

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

@tanstack/ai-bedrock

npm i https://pkg.pr.new/@tanstack/ai-bedrock@1943

@tanstack/ai-byteplus

npm i https://pkg.pr.new/@tanstack/ai-byteplus@1943

@tanstack/ai-claude-code

npm i https://pkg.pr.new/@tanstack/ai-claude-code@1943

@tanstack/ai-client

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

@tanstack/ai-cloudflare

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

@tanstack/ai-code-mode

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

@tanstack/ai-code-mode-snippets

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

@tanstack/ai-codex

npm i https://pkg.pr.new/@tanstack/ai-codex@1943

@tanstack/ai-cohere

npm i https://pkg.pr.new/@tanstack/ai-cohere@1943

@tanstack/ai-compaction

npm i https://pkg.pr.new/@tanstack/ai-compaction@1943

@tanstack/ai-computer-local

npm i https://pkg.pr.new/@tanstack/ai-computer-local@1943

@tanstack/ai-computer-playwright

npm i https://pkg.pr.new/@tanstack/ai-computer-playwright@1943

@tanstack/ai-computer-sandbox

npm i https://pkg.pr.new/@tanstack/ai-computer-sandbox@1943

@tanstack/ai-computer-use

npm i https://pkg.pr.new/@tanstack/ai-computer-use@1943

@tanstack/ai-devtools-core

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

@tanstack/ai-durable-stream

npm i https://pkg.pr.new/@tanstack/ai-durable-stream@1943

@tanstack/ai-elevenlabs

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

@tanstack/ai-event-client

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

@tanstack/ai-fal

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

@tanstack/ai-gemini

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

@tanstack/ai-grok

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

@tanstack/ai-grok-build

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

@tanstack/ai-groq

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

@tanstack/ai-harness

npm i https://pkg.pr.new/@tanstack/ai-harness@1943

@tanstack/ai-harness-cli

npm i https://pkg.pr.new/@tanstack/ai-harness-cli@1943

@tanstack/ai-isolate-cloudflare

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

@tanstack/ai-isolate-daytona

npm i https://pkg.pr.new/@tanstack/ai-isolate-daytona@1943

@tanstack/ai-isolate-e2b

npm i https://pkg.pr.new/@tanstack/ai-isolate-e2b@1943

@tanstack/ai-isolate-node

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

@tanstack/ai-isolate-quickjs

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

@tanstack/ai-isolate-quickjs-bun

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

@tanstack/ai-llmgateway

npm i https://pkg.pr.new/@tanstack/ai-llmgateway@1943

@tanstack/ai-lovable

npm i https://pkg.pr.new/@tanstack/ai-lovable@1943

@tanstack/ai-mcp

npm i https://pkg.pr.new/@tanstack/ai-mcp@1943

@tanstack/ai-memory

npm i https://pkg.pr.new/@tanstack/ai-memory@1943

@tanstack/ai-mistral

npm i https://pkg.pr.new/@tanstack/ai-mistral@1943

@tanstack/ai-neon

npm i https://pkg.pr.new/@tanstack/ai-neon@1943

@tanstack/ai-octane

npm i https://pkg.pr.new/@tanstack/ai-octane@1943

@tanstack/ai-ollama

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

@tanstack/ai-ollaya

npm i https://pkg.pr.new/@tanstack/ai-ollaya@1943

@tanstack/ai-openai

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

@tanstack/ai-opencode

npm i https://pkg.pr.new/@tanstack/ai-opencode@1943

@tanstack/ai-openrouter

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

@tanstack/ai-perplexity

npm i https://pkg.pr.new/@tanstack/ai-perplexity@1943

@tanstack/ai-persistence

npm i https://pkg.pr.new/@tanstack/ai-persistence@1943

@tanstack/ai-preact

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

@tanstack/ai-react

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

@tanstack/ai-reactor

npm i https://pkg.pr.new/@tanstack/ai-reactor@1943

@tanstack/ai-remix

npm i https://pkg.pr.new/@tanstack/ai-remix@1943

@tanstack/ai-sandbox

npm i https://pkg.pr.new/@tanstack/ai-sandbox@1943

@tanstack/ai-sandbox-blaxel

npm i https://pkg.pr.new/@tanstack/ai-sandbox-blaxel@1943

@tanstack/ai-sandbox-boxd

npm i https://pkg.pr.new/@tanstack/ai-sandbox-boxd@1943

@tanstack/ai-sandbox-cloudflare

npm i https://pkg.pr.new/@tanstack/ai-sandbox-cloudflare@1943

@tanstack/ai-sandbox-daytona

npm i https://pkg.pr.new/@tanstack/ai-sandbox-daytona@1943

@tanstack/ai-sandbox-docker

npm i https://pkg.pr.new/@tanstack/ai-sandbox-docker@1943

@tanstack/ai-sandbox-e2b

npm i https://pkg.pr.new/@tanstack/ai-sandbox-e2b@1943

@tanstack/ai-sandbox-local-process

npm i https://pkg.pr.new/@tanstack/ai-sandbox-local-process@1943

@tanstack/ai-sandbox-railway

npm i https://pkg.pr.new/@tanstack/ai-sandbox-railway@1943

@tanstack/ai-sandbox-sprites

npm i https://pkg.pr.new/@tanstack/ai-sandbox-sprites@1943

@tanstack/ai-sandbox-upstash-box

npm i https://pkg.pr.new/@tanstack/ai-sandbox-upstash-box@1943

@tanstack/ai-sandbox-vercel

npm i https://pkg.pr.new/@tanstack/ai-sandbox-vercel@1943

@tanstack/ai-skills

npm i https://pkg.pr.new/@tanstack/ai-skills@1943

@tanstack/ai-solid

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

@tanstack/ai-svelte

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

@tanstack/ai-typesafe

npm i https://pkg.pr.new/@tanstack/ai-typesafe@1943

@tanstack/ai-utils

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

@tanstack/ai-vercel-gateway

npm i https://pkg.pr.new/@tanstack/ai-vercel-gateway@1943

@tanstack/ai-vertex

npm i https://pkg.pr.new/@tanstack/ai-vertex@1943

@tanstack/ai-vue

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

@tanstack/ai-worldlabs

npm i https://pkg.pr.new/@tanstack/ai-worldlabs@1943

@tanstack/openai-base

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

@tanstack/preact-ai-devtools

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

@tanstack/react-ai-devtools

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

@tanstack/solid-ai-devtools

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

@tanstack/svelte-ai-devtools

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

commit: f8bb6a1

@AlemTuzlak
AlemTuzlak merged commit 83b9fa9 into main Oct 29, 2026
14 of 15 checks passed
@AlemTuzlak
AlemTuzlak deleted the 1941-fixmaintainer-add-ts-extensions-so-node-can-run-the-sweep branch October 29, 2026 09:44
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.

fix(maintainer): add .ts extensions so node can run the sweep

2 participants