From 7cd968d6a6cdbfe5abc60c3c71dfd82b82c07ac8 Mon Sep 17 00:00:00 2001 From: Alem Tuzlak Date: Fri, 13 Feb 2026 16:53:35 +0100 Subject: [PATCH] refactor: migrate from Turborepo to Nx for task management (#3207) --- .github/workflows/e2e_dojo.yml | 12 +- .github/workflows/e2e_examples.yml | 6 +- .github/workflows/publish-commit.yml | 2 +- .github/workflows/publish_custom-pre.yml | 3 +- .github/workflows/publish_release.yml | 2 +- .github/workflows/static_quality.yml | 2 +- .github/workflows/test_unit-v1.yml | 5 +- .github/workflows/test_unit-v2.yml | 5 +- .gitignore | 9 +- .mcp.json | 12 + AGENTS.md | 14 + CLAUDE.md | 14 + CONTRIBUTING.md | 7 +- examples/v2/react/storybook/vercel.json | 4 +- nx.json | 113 ++++ package.json | 68 +- packages/v1/react-core/jest.config.js | 1 + packages/v1/react-core/package.json | 1 - .../src/__mocks__/analytics-node.js | 9 + packages/v1/react-textarea/package.json | 1 - packages/v1/react-ui/package.json | 1 - packages/v1/runtime-client-gql/package.json | 1 - packages/v1/runtime/package.json | 1 - packages/v1/sdk-js/package.json | 1 - packages/v1/shared/package.json | 1 - packages/v2/agent/package.json | 1 - packages/v2/angular/package.json | 1 - packages/v2/core/package.json | 1 - packages/v2/react/package.json | 3 +- packages/v2/runtime/package.json | 1 - packages/v2/shared/package.json | 3 +- packages/v2/sqlite-runner/package.json | 1 - .../src/__tests__/sqlite-runner.test.ts | 30 +- packages/v2/voice/package.json | 1 - packages/v2/web-inspector/package.json | 1 - pnpm-lock.yaml | 582 +++++++++++++++++- scripts/develop/example.sh | 4 +- src/v2.x/.cursor/rules/40-nx.auto.mdc | 9 + src/v2.x/.cursor/rules/40-turborepo.auto.mdc | 9 - turbo.json | 138 ----- 40 files changed, 819 insertions(+), 261 deletions(-) create mode 100644 .mcp.json create mode 100644 AGENTS.md create mode 100644 CLAUDE.md create mode 100644 nx.json create mode 100644 packages/v1/react-core/src/__mocks__/analytics-node.js create mode 100644 src/v2.x/.cursor/rules/40-nx.auto.mdc delete mode 100644 src/v2.x/.cursor/rules/40-turborepo.auto.mdc delete mode 100644 turbo.json diff --git a/.github/workflows/e2e_dojo.yml b/.github/workflows/e2e_dojo.yml index 7d625963af..43348ee3a0 100644 --- a/.github/workflows/e2e_dojo.yml +++ b/.github/workflows/e2e_dojo.yml @@ -16,9 +16,9 @@ on: workflow_dispatch: inputs: branch: - description: 'Branch to run the workflow on' + description: "Branch to run the workflow on" required: true - default: 'main' + default: "main" type: string jobs: @@ -178,12 +178,8 @@ jobs: working-directory: CopilotKit env: NODE_OPTIONS: --max-old-space-size=8192 - TURBO_CONCURRENCY: 2 - run: | - unset TURBO_API - unset TURBO_TOKEN - unset TURBO_TEAM - pnpm build:packages + NX_PARALLEL: 2 + run: pnpm build - name: Install ag-ui dependencies working-directory: ag-ui diff --git a/.github/workflows/e2e_examples.yml b/.github/workflows/e2e_examples.yml index 37fe324ee1..e5424cca0e 100644 --- a/.github/workflows/e2e_examples.yml +++ b/.github/workflows/e2e_examples.yml @@ -14,9 +14,9 @@ on: workflow_dispatch: inputs: branch: - description: 'Branch to run the workflow on' + description: "Branch to run the workflow on" required: true - default: 'main' + default: "main" type: string jobs: @@ -70,7 +70,7 @@ jobs: - name: Build CopilotKit id: build-cpk - run: pnpm build:packages + run: pnpm build - name: Install e2e dependencies working-directory: examples/e2e diff --git a/.github/workflows/publish-commit.yml b/.github/workflows/publish-commit.yml index fe2a8e2da0..7ec29d6e53 100644 --- a/.github/workflows/publish-commit.yml +++ b/.github/workflows/publish-commit.yml @@ -24,6 +24,6 @@ jobs: run: pnpm install - name: Build - run: pnpm run build:packages + run: pnpm run build - run: npx pkg-pr-new publish "./packages/v1/*" "./packages/v2/*" diff --git a/.github/workflows/publish_custom-pre.yml b/.github/workflows/publish_custom-pre.yml index 7c3aaf19e4..3b973ecdd8 100644 --- a/.github/workflows/publish_custom-pre.yml +++ b/.github/workflows/publish_custom-pre.yml @@ -21,7 +21,6 @@ jobs: - name: Install uv uses: astral-sh/setup-uv@v6 - - name: Setup Node uses: actions/setup-node@v4 with: @@ -34,7 +33,7 @@ jobs: run: pnpm i - name: Build - run: pnpm run build:packages + run: pnpm run build - name: Publish snapshot run: ./scripts/release/publish-snapshot-release.sh diff --git a/.github/workflows/publish_release.yml b/.github/workflows/publish_release.yml index 8a47378677..7cc54eb4d1 100644 --- a/.github/workflows/publish_release.yml +++ b/.github/workflows/publish_release.yml @@ -61,7 +61,7 @@ jobs: - name: Build id: build - run: pnpm run build:packages + run: pnpm run build - name: NPM Publish id: publish diff --git a/.github/workflows/static_quality.yml b/.github/workflows/static_quality.yml index 11f0599648..22fe1c94ee 100644 --- a/.github/workflows/static_quality.yml +++ b/.github/workflows/static_quality.yml @@ -46,7 +46,7 @@ jobs: run: pnpm install --frozen-lockfile - name: Run Prettier check - run: npx turbo run check-prettier + run: pnpm run check-prettier eslint: runs-on: ubuntu-latest diff --git a/.github/workflows/test_unit-v1.yml b/.github/workflows/test_unit-v1.yml index d8468f10df..90bcbe0063 100644 --- a/.github/workflows/test_unit-v1.yml +++ b/.github/workflows/test_unit-v1.yml @@ -55,7 +55,10 @@ jobs: run: pnpm install --frozen-lockfile - name: Generate GraphQL codegen files - run: pnpm turbo run graphql-codegen --filter=@copilotkit/runtime-client-gql + run: npx nx run @copilotkit/runtime-client-gql:graphql-codegen + + - name: Build + run: pnpm run build - name: Run tests run: npm run test:classic diff --git a/.github/workflows/test_unit-v2.yml b/.github/workflows/test_unit-v2.yml index e48a679357..4721f3b07a 100644 --- a/.github/workflows/test_unit-v2.yml +++ b/.github/workflows/test_unit-v2.yml @@ -49,5 +49,8 @@ jobs: - name: Install dependencies run: pnpm install --frozen-lockfile + - name: Build + run: pnpm run build + - name: Run tests - run: pnpm test:next + run: pnpm run test:next diff --git a/.gitignore b/.gitignore index 21ff6892b1..3b3d4ea745 100644 --- a/.gitignore +++ b/.gitignore @@ -11,7 +11,7 @@ node_modules .pnpm-store .idea/ cdk_outputs.json -.turbo +.nx test-run-comment.md *.egg-info/ @@ -34,7 +34,10 @@ docs/next-env.d.ts # External repos (cloned for development) ext-apps/ dist -.turbo +.nx .angular build -debug-storybook.log \ No newline at end of file +debug-storybook.log +storybook-static +coverage +.turbo diff --git a/.mcp.json b/.mcp.json new file mode 100644 index 0000000000..d20c98718f --- /dev/null +++ b/.mcp.json @@ -0,0 +1,12 @@ +{ + "mcpServers": { + "nx-mcp": { + "type": "stdio", + "command": "npx", + "args": [ + "nx", + "mcp" + ] + } + } +} diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000000..ec27f8330e --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,14 @@ + + + +# General Guidelines for working with Nx + +- When running tasks (for example build, lint, test, e2e, etc.), always prefer running the task through `nx` (i.e. `nx run`, `nx run-many`, `nx affected`) instead of using the underlying tooling directly +- You have access to the Nx MCP server and its tools, use them to help the user +- When answering questions about the repository, use the `nx_workspace` tool first to gain an understanding of the workspace architecture where applicable. +- When working in individual projects, use the `nx_project_details` mcp tool to analyze and understand the specific project structure and dependencies +- For questions around nx configuration, best practices or if you're unsure, use the `nx_docs` tool to get relevant, up-to-date docs. Always use this instead of assuming things about nx configuration +- If the user needs help with an Nx configuration or project graph error, use the `nx_workspace` tool to get any errors +- For Nx plugin best practices, check `node_modules/@nx//PLUGIN.md`. Not all plugins have this file - proceed without it if unavailable. + + diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000000..ec27f8330e --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,14 @@ + + + +# General Guidelines for working with Nx + +- When running tasks (for example build, lint, test, e2e, etc.), always prefer running the task through `nx` (i.e. `nx run`, `nx run-many`, `nx affected`) instead of using the underlying tooling directly +- You have access to the Nx MCP server and its tools, use them to help the user +- When answering questions about the repository, use the `nx_workspace` tool first to gain an understanding of the workspace architecture where applicable. +- When working in individual projects, use the `nx_project_details` mcp tool to analyze and understand the specific project structure and dependencies +- For questions around nx configuration, best practices or if you're unsure, use the `nx_docs` tool to get relevant, up-to-date docs. Always use this instead of assuming things about nx configuration +- If the user needs help with an Nx configuration or project graph error, use the `nx_workspace` tool to get any errors +- For Nx plugin best practices, check `node_modules/@nx//PLUGIN.md`. Not all plugins have this file - proceed without it if unavailable. + + diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 63edd3a60e..fc9bf19fec 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -57,7 +57,6 @@ git clone https://github.com//CopilotKit - Node.js 20.x or later - pnpm v9.x installed globally (npm i -g pnpm@^9) -- Turborepo v2.x installed globally (npm i -g turbo@2) ### 2)Install Dependencies @@ -74,7 +73,7 @@ To make sure everything works, let’s build all packages once: ```jsx cd CopilotKit -turbo run build +pnpm build ``` ## Step 4: Create a branch @@ -98,10 +97,10 @@ Now that everything is set up and works as expected, you can get started develop ```jsx # To start all packages in development mode -turbo run dev +pnpm dev # Start a specific package in development mode -turbo run dev --filter="@copilotkit/package-name" +nx run @copilotkit/package-name:dev ``` ## Step 6: Add the changes that are ready to be committed diff --git a/examples/v2/react/storybook/vercel.json b/examples/v2/react/storybook/vercel.json index 070f839e25..e169b1d226 100644 --- a/examples/v2/react/storybook/vercel.json +++ b/examples/v2/react/storybook/vercel.json @@ -1,5 +1,5 @@ { - "buildCommand": "cd ../../../../ && pnpm turbo run storybook:build --filter=storybook", + "buildCommand": "cd ../../../../ && npx nx run @copilotkit-storybook/react:storybook:build", "installCommand": "cd ../../../../ && pnpm install", "outputDirectory": "storybook-static" -} +} \ No newline at end of file diff --git a/nx.json b/nx.json new file mode 100644 index 0000000000..49d5a3763f --- /dev/null +++ b/nx.json @@ -0,0 +1,113 @@ +{ + "$schema": "https://nx.dev/reference/nx-json", + "namedInputs": { + "default": [ + "{projectRoot}/**/*", + "!{projectRoot}/node_modules/**/*" + ], + "production": [ + "default", + "!{projectRoot}/**/*.test.*", + "!{projectRoot}/**/*.spec.*", + "!{projectRoot}/**/__tests__/**" + ], + "test": [ + "{projectRoot}/src/**/*.ts", + "{projectRoot}/src/**/*.tsx", + "{projectRoot}/**/__tests__/**", + "{projectRoot}/**/*.test.*", + "{projectRoot}/**/*.spec.*" + ] + }, + "targetDefaults": { + "build": { + "dependsOn": [ + "^build" + ], + "inputs": [ + "production", + "{projectRoot}/.env*" + ], + "outputs": [ + "{projectRoot}/dist/**" + ], + "cache": true + }, + "dev": { + "dependsOn": [ + "^build" + ], + "cache": false + }, + "test": { + "inputs": [ + "test" + ], + "outputs": [ + "{projectRoot}/coverage/**" + ], + "cache": true + }, + "test:watch": { + "cache": false + }, + "test:coverage": { + "inputs": [ + "test" + ], + "outputs": [ + "{projectRoot}/coverage/**" + ], + "cache": true + }, + "lint": { + "dependsOn": [ + "^lint" + ], + "cache": true + }, + "check-types": { + "dependsOn": [ + "^build", + "^check-types" + ], + "cache": true + }, + "generate-graphql-schema": { + "dependsOn": [ + "^build" + ], + "cache": true + }, + "graphql-codegen": { + "dependsOn": [ + "^build" + ], + "cache": true + }, + "link:global": { + "cache": false + }, + "unlink:global": { + "cache": false + }, + "build:css": { + "cache": true, + "outputs": [ + "{projectRoot}/dist/styles.css", + "{projectRoot}/src/styles/generated.css" + ] + }, + "storybook:build": { + "dependsOn": [ + "^build" + ], + "outputs": [ + "{projectRoot}/storybook-static/**" + ], + "cache": true + } + }, + "parallel": 14, + "defaultBase": "main" +} \ No newline at end of file diff --git a/package.json b/package.json index e0c9cf0555..7f88a9df1a 100644 --- a/package.json +++ b/package.json @@ -2,53 +2,44 @@ "name": "CopilotKit", "private": true, "scripts": { - "build": "turbo run build --filter=!@copilotkit-examples/* --filter=!@copilotkit-storybook/*", - "build:classic": "turbo run build --filter=@copilotkit/*", - "build:next": "turbo run build --filter=@copilotkitnext/*", - "build:storybook": "turbo run build --filter=storybook-react --filter=storybook-angular", - "build:packages": "turbo run build --filter=@copilotkit/* --filter=@copilotkitnext/* --filter=!@copilotkit-examples/* --filter=!@copilotkit-storybook/*", - "build:examples": "turbo run build --filter=@copilotkit-examples/*", - "check-types": "turbo run check-types", - "check-types:classic": "turbo run check-types --filter=@copilotkit/*", - "check-types:next": "turbo run check-types --filter=@copilotkitnext/*", - "clean": "turbo clean", - "clean:classic": "turbo run clean --filter=@copilotkit/*", - "clean:next": "turbo run clean --filter=@copilotkitnext/*", - "lint": "turbo lint --filter=!@copilotkit-examples/* --filter=!@copilotkit-storybook/* --filter=!demo --filter=!next-openai --filter=!next-pages-router --filter=!node-express --filter=!node-http --filter=!@copilotkitnext/next-pages-router --filter=!@copilotkitnext/node-express", - "lint:classic": "turbo run lint --filter=@copilotkit/*", - "lint:next": "turbo run lint --filter=@copilotkitnext/*", + "build": "nx run-many -t build --projects=packages/**", + "build:examples": "nx run-many -t build --projects=examples/**", + "build:storybook": "nx run-many -t build --projects=examples/v2/*/storybook", + "check-types": "nx run-many -t check-types", + "clean": "git clean -fdX --exclude=\"!.env\"", + "lint": "nx run-many -t lint --projects=packages/**", "format": "prettier --write \"**/*.{ts,tsx,md}\"", - "format:classic": "prettier --write \"packages/v1/**/*.{ts,tsx,md}\" \"examples/v1/**/*.{ts,tsx,md}\"", - "format:next": "prettier --write \"packages/v2/**/*.{ts,tsx,md}\" \"examples/v2/**/*.{ts,tsx,md}\"", "check-prettier": "prettier --check \"**/*.{ts,tsx,md}\"", - "check-prettier:classic": "prettier --check \"packages/v1/**/*.{ts,tsx,md}\" \"examples/v1/**/*.{ts,tsx,md}\"", - "check-prettier:next": "prettier --check \"packages/v2/**/*.{ts,tsx,md}\" \"examples/v2/**/*.{ts,tsx,md}\"", - "test": "turbo test", - "test:classic": "turbo run test --filter=@copilotkit/* --filter=!@copilotkit/voice", - "test:next": "turbo run test --filter=@copilotkitnext/*", - "test:watch:classic": "turbo run test:watch --filter=@copilotkit/* --filter=!@copilotkit/voice", - "test:watch:next": "turbo run test:watch --filter=@copilotkitnext/*", - "test:coverage:classic": "turbo run test:coverage --filter=@copilotkit/* --filter=!@copilotkit/voice", - "test:coverage:next": "turbo run test:coverage --filter=@copilotkitnext/*", - "dev": "turbo run dev --concurrency 30", - "dev:classic": "turbo run dev --filter=@copilotkit/*", - "dev:next": "turbo run dev --concurrency 14 --filter=@copilotkitnext/* --filter=@copilotkit/voice", - "predev:next": "turbo run build --filter='@copilotkitnext/core' --filter='@copilotkitnext/shared' --filter='@copilotkitnext/web-inspector' --filter='@copilotkitnext/react' --filter='@copilotkitnext/angular' --filter='@copilotkitnext/agent' --filter='@copilotkitnext/sqlite-runner' --filter='@copilotkit/voice'", - "storybook:all": "echo 'Run storybooks in separate terminals: pnpm storybook:react | pnpm storybook:angular'", + "test": "nx run-many -t test", + "test:classic": "nx run-many -t test --projects=packages/v1/**,@copilotkit/voice", + "test:next": "nx run-many -t test --projects=packages/v2/**", + "test:watch": "pnpm run test && nx watch --all -- pnpm run test", + "test:watch:classic": "nx run-many -t test --projects=packages/v1/**,@copilotkit/voice && nx watch --projects=packages/v1/**,@copilotkit/voice -- nx run-many -t test --projects=packages/v1/**,@copilotkit/voice", + "test:watch:next": "nx run-many -t test --projects=packages/v2/** && nx watch --projects=packages/v2/** -- nx run-many -t test --projects=packages/v2/**", + "test:coverage": "nx run-many -t test:coverage", + "test:coverage:classic": "nx run-many -t test:coverage --projects=packages/v1/*,@copilotkit/voice", + "test:coverage:next": "nx run-many -t test:coverage --projects=packages/v2/*", + "dev": "pnpm run build && nx watch --projects=packages/** -- pnpm run build", + "dev:classic": "nx run-many -t build --projects=packages/v1/** && nx watch --projects=packages/v1/** -- nx run-many -t build --projects=packages/v1/**", + "dev:next": "nx run-many -t build --projects=packages/v2/** && nx watch --projects=packages/v2/** -- nx run-many -t build --projects=packages/v2/**", + "dev:examples": "pnpm run build:examples && nx watch --projects=examples/** -- pnpm run build:examples", + "dev:examples:classic": "nx run-many -t build --projects=examples/v1/** && nx watch --projects=examples/v1/** -- nx run-many -t build --projects=examples/v1/**", + "dev:examples:next": "nx run-many -t build --projects=examples/v2/** && nx watch --projects=examples/v2/** -- nx run-many -t build --projects=examples/v2/**", "storybook:angular": "pnpm -C examples/v2/angular/storybook dev", "storybook:react": "pnpm -C examples/v2/react/storybook dev", "storybook": "pnpm storybook:react", "docs:next": "pnpm -C examples/v2/docs dev", "docs:classic": "ts-node scripts/docs/gen.ts", - "demo:next:angular": "turbo run dev --filter='@copilotkitnext/angular-demo-server' --filter='@copilotkitnext/angular-demo'", + "demo:next:angular": "nx run-many -t dev --projects=examples/v2/angular/demo,examples/v2/angular/demo-server", "demo:next:react": "pnpm -C examples/v2/react/demo dev", - "dev:next:packages": "turbo run dev --filter='@copilotkitnext/core' --filter='@copilotkitnext/shared' --filter='@copilotkitnext/web-inspector' --filter='@copilotkitnext/runtime' --filter='@copilotkitnext/sqlite-runner' --filter='@copilotkitnext/react' --filter='@copilotkitnext/angular' --filter='@copilotkitnext/agent'", - "prepare": "husky" + "changeset": "changeset", + "prepare": "husky", + "graph": "nx graph" }, "v2Leftovers": { "bump:prerelease": "pnpm -r --filter='@copilotkitnext/agent' --filter='@copilotkitnext/angular' --filter='@copilotkitnext/core' --filter='@copilotkitnext/react' --filter='@copilotkitnext/runtime' --filter='@copilotkitnext/sqlite-runner' --filter='@copilotkitnext/shared' --filter='@copilotkitnext/web-inspector' exec pnpm version prerelease --preid=alpha", "bump:release": "pnpm -r --filter='@copilotkitnext/agent' --filter='@copilotkitnext/angular' --filter='@copilotkitnext/core' --filter='@copilotkitnext/react' --filter='@copilotkitnext/runtime' --filter='@copilotkitnext/sqlite-runner' --filter='@copilotkitnext/shared' --filter='@copilotkitnext/web-inspector' exec pnpm version patch", - "publish:prerelease": "pnpm -r clean && pnpm install && turbo build && pnpm publish -r --no-git-checks --filter='@copilotkitnext/agent' --filter='@copilotkitnext/angular' --filter='@copilotkitnext/core' --filter='@copilotkitnext/react' --filter='@copilotkitnext/runtime' --filter='@copilotkitnext/sqlite-runner' --filter='@copilotkitnext/shared' --filter='@copilotkitnext/web-inspector' --tag alpha", + "publish:prerelease": "pnpm -r clean && pnpm install && nx run-many -t build && pnpm publish -r --no-git-checks --filter='@copilotkitnext/agent' --filter='@copilotkitnext/angular' --filter='@copilotkitnext/core' --filter='@copilotkitnext/react' --filter='@copilotkitnext/runtime' --filter='@copilotkitnext/sqlite-runner' --filter='@copilotkitnext/shared' --filter='@copilotkitnext/web-inspector' --tag alpha", "publish:release:dry": "pnpm -r --filter '@copilotkitnext/*' publish --access public --dry-run", "publish:release": "pnpm -r --filter '@copilotkitnext/*' publish --access public", "server:node": "pnpm -C src/apps/node dev" @@ -56,12 +47,13 @@ "v1Leftovers": { "freshbuild": "pnpm -w clean && pnpm i && pnpm -w build", "precommit": "pnpm run docs", - "prepublish": "turbo run build" + "prepublish": "nx run-many -t build" }, "devDependencies": { "@changesets/cli": "^2.29.8", "@commitlint/cli": "^20.3.0", "@commitlint/config-conventional": "^20.3.0", + "@vitest/coverage-v8": "^3.2.4", "@rollup/plugin-commonjs": "^29.0.0", "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^16.0.3", @@ -79,13 +71,13 @@ "husky": "^9.1.4", "install": "^0.13.0", "npm": "^10.7.0", + "nx": "^22.5.0", "prettier": "^3.6.0", "prettier-plugin-tailwindcss": "^0.1.11", "rollup": "^4.55.3", "rollup-plugin-postcss": "^4.0.2", "storybook": "^10.1.10", "ts-node": "^10.9.2", - "turbo": "^2.5.4", "typescript": "^5.2.3" }, "packageManager": "pnpm@10.13.1", @@ -126,4 +118,4 @@ "@changesets/assemble-release-plan@6.0.9": "patches/@changesets__assemble-release-plan@6.0.9.patch" } } -} +} \ No newline at end of file diff --git a/packages/v1/react-core/jest.config.js b/packages/v1/react-core/jest.config.js index 35cd760527..e4fd364135 100644 --- a/packages/v1/react-core/jest.config.js +++ b/packages/v1/react-core/jest.config.js @@ -10,6 +10,7 @@ module.exports = { moduleNameMapper: { "^@/(.*)$": "/src/$1", "\\.(css|less|scss|sass)$": "identity-obj-proxy", + "^@segment/analytics-node$": "/src/__mocks__/analytics-node.js", }, transformIgnorePatterns: [ "node_modules/(?!(react-markdown|streamdown|@copilotkitnext)/)", diff --git a/packages/v1/react-core/package.json b/packages/v1/react-core/package.json index 9b2e00fa51..fa27e2d70f 100644 --- a/packages/v1/react-core/package.json +++ b/packages/v1/react-core/package.json @@ -37,7 +37,6 @@ "dev": "tsup --watch", "test": "jest", "check-types": "tsc --noEmit", - "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist && rm -rf .next", "link:global": "pnpm link --global", "unlink:global": "pnpm unlink --global" }, diff --git a/packages/v1/react-core/src/__mocks__/analytics-node.js b/packages/v1/react-core/src/__mocks__/analytics-node.js new file mode 100644 index 0000000000..15bc20ba5d --- /dev/null +++ b/packages/v1/react-core/src/__mocks__/analytics-node.js @@ -0,0 +1,9 @@ +module.exports = { + Analytics: jest.fn().mockImplementation(() => ({ + track: jest.fn(), + identify: jest.fn(), + page: jest.fn(), + group: jest.fn(), + alias: jest.fn(), + })), +}; diff --git a/packages/v1/react-textarea/package.json b/packages/v1/react-textarea/package.json index 94bce8f0d7..8fa0e3cb01 100644 --- a/packages/v1/react-textarea/package.json +++ b/packages/v1/react-textarea/package.json @@ -32,7 +32,6 @@ "dev": "tsup --watch --no-splitting", "test": "jest", "check-types": "tsc --noEmit", - "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist && rm -rf .next", "link:global": "pnpm link --global", "unlink:global": "pnpm unlink --global" }, diff --git a/packages/v1/react-ui/package.json b/packages/v1/react-ui/package.json index 6e8da50d4b..51aa5b8c40 100644 --- a/packages/v1/react-ui/package.json +++ b/packages/v1/react-ui/package.json @@ -33,7 +33,6 @@ "dev": "tsup --watch --no-splitting", "test": "jest", "check-types": "tsc --noEmit", - "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist && rm -rf .next", "link:global": "pnpm link --global", "unlink:global": "pnpm unlink --global" }, diff --git a/packages/v1/runtime-client-gql/package.json b/packages/v1/runtime-client-gql/package.json index 0dbb828179..921f512260 100644 --- a/packages/v1/runtime-client-gql/package.json +++ b/packages/v1/runtime-client-gql/package.json @@ -30,7 +30,6 @@ "test": "vitest run", "test:watch": "vitest", "check-types": "tsc --noEmit", - "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf ./src/graphql/@generated && rm -rf dist && rm -rf .next", "graphql-codegen": "graphql-codegen -c codegen.ts", "graphql-codegen:watch": "graphql-codegen -c codegen.ts --watch", "link:global": "pnpm link --global", diff --git a/packages/v1/runtime/package.json b/packages/v1/runtime/package.json index 0da9a4635d..791bb42504 100644 --- a/packages/v1/runtime/package.json +++ b/packages/v1/runtime/package.json @@ -37,7 +37,6 @@ "dev": "tsup --watch --onSuccess \"pnpm run generate-graphql-schema\"", "test": "jest --passWithNoTests", "check-types": "tsc --noEmit", - "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist && rm -rf .next && rm -rf __snapshots__", "generate-graphql-schema": "rm -rf __snapshots__ && ts-node ./scripts/generate-gql-schema.ts", "link:global": "pnpm link --global", "unlink:global": "pnpm unlink --global" diff --git a/packages/v1/sdk-js/package.json b/packages/v1/sdk-js/package.json index bd4b88a344..78aee9d8e0 100644 --- a/packages/v1/sdk-js/package.json +++ b/packages/v1/sdk-js/package.json @@ -37,7 +37,6 @@ "dev": "tsup --watch --no-splitting", "test": "jest --passWithNoTests", "check-types": "tsc --noEmit", - "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist && rm -rf .next", "link:global": "pnpm link --global", "unlink:global": "pnpm unlink --global" }, diff --git a/packages/v1/shared/package.json b/packages/v1/shared/package.json index 0e519ac223..ab57f7afc4 100644 --- a/packages/v1/shared/package.json +++ b/packages/v1/shared/package.json @@ -29,7 +29,6 @@ "dev": "tsup --watch --no-splitting", "test": "jest --passWithNoTests", "check-types": "tsc --noEmit", - "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist && rm -rf .next", "link:global": "pnpm link --global", "unlink:global": "pnpm unlink --global" }, diff --git a/packages/v2/agent/package.json b/packages/v2/agent/package.json index faff1bd2e9..f5354260a8 100644 --- a/packages/v2/agent/package.json +++ b/packages/v2/agent/package.json @@ -19,7 +19,6 @@ "dev": "tsup --watch", "lint": "eslint .", "check-types": "tsc --noEmit", - "clean": "rm -rf dist", "test": "vitest run", "test:watch": "vitest", "test:coverage": "vitest run --coverage" diff --git a/packages/v2/angular/package.json b/packages/v2/angular/package.json index 74390e797a..34d06594ef 100644 --- a/packages/v2/angular/package.json +++ b/packages/v2/angular/package.json @@ -23,7 +23,6 @@ "build:css": "npx @tailwindcss/cli -i ./src/styles/globals.css -o ./dist/styles.css", "dev": "concurrently \"ng-packagr -p ng-package.json --watch\" \"npm run dev:css\"", "dev:css": "npx @tailwindcss/cli -i ./src/styles/globals.css -o ./dist/styles.css --watch", - "clean": "rimraf dist", "lint": "eslint .", "check-types": "tsc --noEmit", "test": "vitest run", diff --git a/packages/v2/core/package.json b/packages/v2/core/package.json index 80a0fef434..73e2b9af1e 100644 --- a/packages/v2/core/package.json +++ b/packages/v2/core/package.json @@ -21,7 +21,6 @@ "dev": "tsup --watch", "lint": "eslint .", "check-types": "tsc --noEmit", - "clean": "rm -rf dist", "test": "vitest run", "test:watch": "vitest", "test:coverage": "vitest run --coverage" diff --git a/packages/v2/react/package.json b/packages/v2/react/package.json index 5158d39632..658b2c60fb 100644 --- a/packages/v2/react/package.json +++ b/packages/v2/react/package.json @@ -28,8 +28,7 @@ "test": "vitest run", "test:watch": "vitest", "test:coverage": "vitest run --coverage", - "test:ui": "vitest --ui", - "clean": "rm -rf dist" + "test:ui": "vitest --ui" }, "devDependencies": { "@copilotkitnext/eslint-config": "workspace:*", diff --git a/packages/v2/runtime/package.json b/packages/v2/runtime/package.json index 46f884c588..b7a46c4f6a 100644 --- a/packages/v2/runtime/package.json +++ b/packages/v2/runtime/package.json @@ -24,7 +24,6 @@ "dev": "tsup --watch", "lint": "eslint .", "check-types": "tsc --noEmit", - "clean": "rm -rf dist", "test": "vitest run", "test:watch": "vitest", "test:coverage": "vitest run --coverage" diff --git a/packages/v2/shared/package.json b/packages/v2/shared/package.json index 07e92f2121..9de76cc46d 100644 --- a/packages/v2/shared/package.json +++ b/packages/v2/shared/package.json @@ -20,8 +20,7 @@ "build": "tsup && rollup -c rollup.config.mjs", "dev": "tsup --watch", "lint": "eslint .", - "check-types": "tsc --noEmit", - "clean": "rm -rf dist" + "check-types": "tsc --noEmit" }, "devDependencies": { "@copilotkitnext/eslint-config": "workspace:*", diff --git a/packages/v2/sqlite-runner/package.json b/packages/v2/sqlite-runner/package.json index 95d5b99e5c..ef1eff4d8e 100644 --- a/packages/v2/sqlite-runner/package.json +++ b/packages/v2/sqlite-runner/package.json @@ -19,7 +19,6 @@ "dev": "tsup --watch", "lint": "eslint .", "check-types": "tsc --noEmit", - "clean": "rm -rf dist", "test": "vitest run", "test:watch": "vitest", "test:coverage": "vitest run --coverage" diff --git a/packages/v2/sqlite-runner/src/__tests__/sqlite-runner.test.ts b/packages/v2/sqlite-runner/src/__tests__/sqlite-runner.test.ts index 02b7fa22b9..f9dec4c5f9 100644 --- a/packages/v2/sqlite-runner/src/__tests__/sqlite-runner.test.ts +++ b/packages/v2/sqlite-runner/src/__tests__/sqlite-runner.test.ts @@ -178,6 +178,8 @@ describe("SqliteAgentRunner", () => { }); afterEach(() => { + runner.close(); + if (fs.existsSync(dbPath)) fs.unlinkSync(dbPath); if (fs.existsSync(tempDir)) fs.rmdirSync(tempDir); }); @@ -268,7 +270,9 @@ describe("SqliteAgentRunner", () => { .prepare( "SELECT events FROM agent_runs WHERE thread_id = ? ORDER BY created_at", ) - .all(threadId) as { events: string }[]; + .all(threadId) as { + events: string; + }[]; db.close(); expect(rows).toHaveLength(2); @@ -370,17 +374,21 @@ describe("SqliteAgentRunner", () => { ); const newRunner = new SqliteAgentRunner({ dbPath }); - const replayed = await firstValueFrom( - newRunner.connect({ threadId }).pipe(toArray()), - ); + try { + const replayed = await firstValueFrom( + newRunner.connect({ threadId }).pipe(toArray()), + ); - expect(replayed[0].type).toBe(EventType.RUN_STARTED); - expect(replayed.slice(1).map((event) => event.type)).toEqual([ - EventType.TEXT_MESSAGE_START, - EventType.TEXT_MESSAGE_CONTENT, - EventType.TEXT_MESSAGE_END, - EventType.RUN_FINISHED, - ]); + expect(replayed[0].type).toBe(EventType.RUN_STARTED); + expect(replayed.slice(1).map((event) => event.type)).toEqual([ + EventType.TEXT_MESSAGE_START, + EventType.TEXT_MESSAGE_CONTENT, + EventType.TEXT_MESSAGE_END, + EventType.RUN_FINISHED, + ]); + } finally { + newRunner.close(); + } }); it("returns false when stopping a thread that is not running", async () => { diff --git a/packages/v2/voice/package.json b/packages/v2/voice/package.json index 41b95f532d..cc6540ee8d 100644 --- a/packages/v2/voice/package.json +++ b/packages/v2/voice/package.json @@ -22,7 +22,6 @@ "dev": "tsup --watch", "lint": "eslint . --max-warnings 0", "check-types": "tsc --noEmit", - "clean": "rm -rf dist", "test": "vitest run", "test:watch": "vitest", "test:coverage": "vitest run --coverage" diff --git a/packages/v2/web-inspector/package.json b/packages/v2/web-inspector/package.json index dc6d5f2851..9d274845b5 100644 --- a/packages/v2/web-inspector/package.json +++ b/packages/v2/web-inspector/package.json @@ -24,7 +24,6 @@ "dev:css": "npx @tailwindcss/cli -i ./src/styles/tailwind.css -o ./src/styles/generated.css --watch --minify", "lint": "eslint .", "check-types": "pnpm run build:css && tsc --noEmit", - "clean": "rm -rf dist src/styles/generated.css", "test": "pnpm run build:css && vitest run" }, "dependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 02d77fe625..cfd4d00c91 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -68,6 +68,9 @@ importers: '@types/node': specifier: ^18.11.17 version: 18.19.130 + '@vitest/coverage-v8': + specifier: ^3.2.4 + version: 3.2.4(vitest@3.2.4) danger: specifier: ^12.3.3 version: 12.3.4(encoding@0.1.13) @@ -89,6 +92,9 @@ importers: npm: specifier: ^10.7.0 version: 10.9.4 + nx: + specifier: ^22.5.0 + version: 22.5.0(@swc/core@1.15.8(@swc/helpers@0.5.18)) prettier: specifier: ^3.6.0 version: 3.7.4 @@ -107,9 +113,6 @@ importers: ts-node: specifier: ^10.9.2 version: 10.9.2(@swc/core@1.15.8(@swc/helpers@0.5.18))(@types/node@18.19.130)(typescript@5.9.2) - turbo: - specifier: ^2.5.4 - version: 2.7.3 typescript: specifier: ^5.2.3 version: 5.9.2 @@ -342,7 +345,7 @@ importers: version: 0.1.13 eslint-config-next: specifier: ^15.0.2 - version: 15.4.4(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.2) + version: 15.4.4(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.2) flowtoken: specifier: ^1.0.40 version: 1.0.40(@types/react@19.2.7)(react@19.1.0) @@ -1345,7 +1348,7 @@ importers: version: 0.8.1(signal-polyfill@0.2.2) '@copilotkit/react-core': specifier: '>=1.51.4-next.7' - version: 1.51.4-next.7(9567062247607354657210c97c405edf) + version: 1.51.4-next.7(93b307345a615dd1f5670c121e34b0da) clsx: specifier: ^2.1.1 version: 2.1.1 @@ -5920,6 +5923,10 @@ packages: node-notifier: optional: true + '@jest/diff-sequences@30.0.1': + resolution: {integrity: sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + '@jest/environment-jsdom-abstract@30.2.0': resolution: {integrity: sha512-kazxw2L9IPuZpQ0mEt9lu9Z98SqR74xcagANmMBU16X0lS23yPc0+S6hGLUz8kVRlomZEs/5S/Zlpqwf5yu6OQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -5954,6 +5961,10 @@ packages: resolution: {integrity: sha512-HI3tRLjRxAbBy0VO8dqqm7Hb2mIa8d5bg/NJkyQcOk7V118ObQML8RC5luTF/Zsg4474a+gDvhce7eTnP4GhYw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + '@jest/get-type@30.1.0': + resolution: {integrity: sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + '@jest/globals@29.7.0': resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -6935,6 +6946,9 @@ packages: '@napi-rs/wasm-runtime@0.2.12': resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} + '@napi-rs/wasm-runtime@0.2.4': + resolution: {integrity: sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==} + '@next/env@15.4.10': resolution: {integrity: sha512-knhmoJ0Vv7VRf6pZEPSnciUG1S4bIhWx+qTYBW/AjxEtlzsiNORPk8sFDCEvqLfmKuey56UB9FL1UdHEV3uBrg==} @@ -7123,6 +7137,56 @@ packages: resolution: {integrity: sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==} engines: {node: ^16.14.0 || >=18.0.0} + '@nx/nx-darwin-arm64@22.5.0': + resolution: {integrity: sha512-MHnzv6tzucvLsh4oS9FTepj+ct/o8/DPXrQow+9Jid7GSgY59xrDX/8CleJOrwL5lqKEyGW7vv8TR+4wGtEWTA==} + cpu: [arm64] + os: [darwin] + + '@nx/nx-darwin-x64@22.5.0': + resolution: {integrity: sha512-/0w43hbR5Kia0XeCDZHDt/18FHhpwQs+Y+8TO8/ZsF1RgCI0knJDCyJieYk1yEZAq6E8dStAJnuzxK9uvETs4A==} + cpu: [x64] + os: [darwin] + + '@nx/nx-freebsd-x64@22.5.0': + resolution: {integrity: sha512-d4Pd1VFpD272R7kJTWm/Pj49BIz44GZ+QIVSfxlx3GWxyaPd25X9GBanUngL6qpactS+aLTwcoBmnSbZ4PEcEQ==} + cpu: [x64] + os: [freebsd] + + '@nx/nx-linux-arm-gnueabihf@22.5.0': + resolution: {integrity: sha512-cCyG23PikIlqE7I6s9j0aHJSqIxnpdOjFOXyRd224XmFyAB8tOyKl7vDD/WugcpAceos28i+Rgz4na189zm48A==} + cpu: [arm] + os: [linux] + + '@nx/nx-linux-arm64-gnu@22.5.0': + resolution: {integrity: sha512-vkQw8737fpta6oVEEqskzwq+d0GeZkGhtyl+U3pAcuUcYTdqbsZaofSQACFnGfngsqpYmlJCWJGU5Te00qcPQw==} + cpu: [arm64] + os: [linux] + + '@nx/nx-linux-arm64-musl@22.5.0': + resolution: {integrity: sha512-BkEsFBsnKrDK11N914rr5YKyIJwYoSVItJ7VzsQZIqAX0C7PdJeQ7KzqOGwoezbabdLmzFOBNg6s/o1ujoEYxw==} + cpu: [arm64] + os: [linux] + + '@nx/nx-linux-x64-gnu@22.5.0': + resolution: {integrity: sha512-Dsqoz4hWmqehMMm8oJY6Q0ckEUeeHz4+T/C8nHyDaaj/REKCSmqYf/+QV6f2Z5Up/CsQ/hoAsWYEhCHZ0tcSFg==} + cpu: [x64] + os: [linux] + + '@nx/nx-linux-x64-musl@22.5.0': + resolution: {integrity: sha512-Lcj/61BpsT85Qhm3hNTwQFrqGtsjLC+y4Kk21dh22d1/E5pOdVAwPXBuWrSPNo4lX+ESNoKmwxWjfgW3uoB05g==} + cpu: [x64] + os: [linux] + + '@nx/nx-win32-arm64-msvc@22.5.0': + resolution: {integrity: sha512-0DlnBDLvqNtseCyBBoBst0gwux+N91RBc4E41JDDcLcWpfntcwCQM39D6lA5qdma/0L7U0PUM7MYV9Q6igJMkQ==} + cpu: [arm64] + os: [win32] + + '@nx/nx-win32-x64-msvc@22.5.0': + resolution: {integrity: sha512-kMMsU4PxKQ76NvmPFKT0/RlzRTiuUfuNWVJUmsWF1onVcBkXgQNKkmLcSJk3wGwML5/tHChjtlI7Hpo705Uv/g==} + cpu: [x64] + os: [win32] + '@octokit/auth-token@2.5.0': resolution: {integrity: sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==} @@ -9300,6 +9364,9 @@ packages: '@tybys/wasm-util@0.10.1': resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} + '@tybys/wasm-util@0.9.0': + resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} + '@types/acorn@4.0.6': resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} @@ -10094,6 +10161,14 @@ packages: '@yarnpkg/lockfile@1.1.0': resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} + '@yarnpkg/parsers@3.0.2': + resolution: {integrity: sha512-/HcYgtUSiJiot/XWGLOlGxPYUG65+/31V8oqk17vZLW1xlCoR4PampyePljOxY2n8/3jz9+tIFzICsyGujJZoA==} + engines: {node: '>=18.12.0'} + + '@zkochan/js-yaml@0.0.7': + resolution: {integrity: sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ==} + hasBin: true + JSONStream@1.3.5: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} hasBin: true @@ -10412,6 +10487,9 @@ packages: async-retry@1.2.3: resolution: {integrity: sha512-tfDb02Th6CE6pJUF2gjW5ZVjsgwlucVXOEQMvEX9JgSJMs9gAX+Nz3xRuJBKuUYjTSYORqvDBORdAQ3LU59g7Q==} + async@3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} + asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -10987,6 +11065,10 @@ packages: resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} engines: {node: '>=18'} + cli-spinners@2.6.1: + resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==} + engines: {node: '>=6'} + cli-spinners@2.9.2: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} @@ -11948,10 +12030,18 @@ packages: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} + dotenv-expand@11.0.7: + resolution: {integrity: sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==} + engines: {node: '>=12'} + dotenv@16.0.3: resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} engines: {node: '>=12'} + dotenv@16.4.7: + resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} + engines: {node: '>=12'} + dotenv@16.6.1: resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} engines: {node: '>=12'} @@ -11973,6 +12063,11 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + ejs@3.1.10: + resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} + engines: {node: '>=0.10.0'} + hasBin: true + electron-to-chromium@1.5.267: resolution: {integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==} @@ -12025,6 +12120,10 @@ packages: resolution: {integrity: sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==} engines: {node: '>=10.13.0'} + enquirer@2.3.6: + resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} + engines: {node: '>=8.6'} + enquirer@2.4.1: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} @@ -12657,6 +12756,9 @@ packages: file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + filelist@1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} @@ -14005,6 +14107,11 @@ packages: jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + jake@10.9.4: + resolution: {integrity: sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==} + engines: {node: '>=10'} + hasBin: true + jest-changed-files@29.7.0: resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -14039,6 +14146,10 @@ packages: resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-diff@30.2.0: + resolution: {integrity: sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A==} + engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + jest-docblock@29.7.0: resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -14281,6 +14392,9 @@ packages: jsonc-parser@2.2.1: resolution: {integrity: sha512-o6/yDBYccGvTz1+QFevz6l6OBZ2+fMVu2JZ9CIhzsYRX4mjaK5IyX9eldUdCmga16zlgQxyrj5pt9kzuj2C02w==} + jsonc-parser@3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + jsonc-parser@3.3.1: resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} @@ -14597,6 +14711,10 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + lines-and-columns@2.0.3: + resolution: {integrity: sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + linkify-it@5.0.0: resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} @@ -15330,6 +15448,10 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + minimatch@9.0.3: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} @@ -15670,6 +15792,9 @@ packages: node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + node-machine-id@1.1.12: + resolution: {integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==} + node-polyfill-webpack-plugin@2.0.1: resolution: {integrity: sha512-ZUMiCnZkP1LF0Th2caY6J/eKKoA0TefpoVa68m/LQU1I/mE8rGt4fNYGgNuCcK+aG8P8P43nbeJ2RqJMOL/Y1A==} engines: {node: '>=12'} @@ -15828,6 +15953,18 @@ packages: nwsapi@2.2.23: resolution: {integrity: sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==} + nx@22.5.0: + resolution: {integrity: sha512-GOHhDHXvuscD28Hpj1bP38oVrCgZ/+5UWjA8R/VkpbtkfMHgRZ0uHlfKLYXQAZIsjmTq7Tr+e4QchJt0e76n0w==} + hasBin: true + peerDependencies: + '@swc-node/register': 1.11.1 + '@swc/core': 1.15.8 + peerDependenciesMeta: + '@swc-node/register': + optional: true + '@swc/core': + optional: true + object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -15950,6 +16087,10 @@ packages: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} + ora@5.3.0: + resolution: {integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==} + engines: {node: '>=10'} + ora@5.4.1: resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} engines: {node: '>=10'} @@ -18420,6 +18561,10 @@ packages: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} + tmp@0.2.5: + resolution: {integrity: sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==} + engines: {node: '>=14.14'} + tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} @@ -22769,13 +22914,13 @@ snapshots: '@types/conventional-commits-parser': 5.0.2 chalk: 5.6.2 - '@copilotkit/react-core@1.51.4-next.7(9567062247607354657210c97c405edf)': + '@copilotkit/react-core@1.51.4-next.7(93b307345a615dd1f5670c121e34b0da)': dependencies: '@ag-ui/client': 0.0.43 '@copilotkit/runtime-client-gql': 1.51.4-next.7(af3f6520c496d82baeae96b591deb448) '@copilotkit/shared': 1.51.4-next.7(@ag-ui/core@0.0.43)(encoding@0.1.13) '@copilotkitnext/core': 1.51.4-next.7 - '@copilotkitnext/react': 1.51.4-next.7(@types/mdast@4.0.4)(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(micromark-util-types@2.0.2)(micromark@4.0.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@copilotkitnext/react': 1.51.4-next.7(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@scarf/scarf': 1.4.0 react: 19.1.0 react-dom: 19.1.0(react@19.1.0) @@ -22914,7 +23059,7 @@ snapshots: zod: 3.25.76 zod-to-json-schema: 3.25.1(zod@3.25.76) - '@copilotkitnext/react@1.51.4-next.7(@types/mdast@4.0.4)(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(micromark-util-types@2.0.2)(micromark@4.0.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + '@copilotkitnext/react@1.51.4-next.7(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@ag-ui/client': 0.0.43 '@ag-ui/core': 0.0.43 @@ -23002,17 +23147,14 @@ snapshots: dependencies: '@emnapi/wasi-threads': 1.1.0 tslib: 2.8.1 - optional: true '@emnapi/runtime@1.8.1': dependencies: tslib: 2.8.1 - optional: true '@emnapi/wasi-threads@1.1.0': dependencies: tslib: 2.8.1 - optional: true '@emotion/babel-plugin@11.13.5': dependencies: @@ -23486,6 +23628,11 @@ snapshots: eslint: 8.57.1 eslint-visitor-keys: 3.4.3 + '@eslint-community/eslint-utils@4.9.1(eslint@9.39.2(jiti@1.21.7))': + dependencies: + eslint: 9.39.2(jiti@1.21.7) + eslint-visitor-keys: 3.4.3 + '@eslint-community/eslint-utils@4.9.1(eslint@9.39.2(jiti@2.6.1))': dependencies: eslint: 9.39.2(jiti@2.6.1) @@ -24851,6 +24998,8 @@ snapshots: - supports-color - ts-node + '@jest/diff-sequences@30.0.1': {} + '@jest/environment-jsdom-abstract@30.2.0(jsdom@26.1.0)': dependencies: '@jest/environment': 30.2.0 @@ -24905,6 +25054,8 @@ snapshots: jest-mock: 30.2.0 jest-util: 30.2.0 + '@jest/get-type@30.1.0': {} + '@jest/globals@29.7.0': dependencies: '@jest/environment': 29.7.0 @@ -26061,6 +26212,12 @@ snapshots: '@tybys/wasm-util': 0.10.1 optional: true + '@napi-rs/wasm-runtime@0.2.4': + dependencies: + '@emnapi/core': 1.8.1 + '@emnapi/runtime': 1.8.1 + '@tybys/wasm-util': 0.9.0 + '@next/env@15.4.10': {} '@next/env@15.6.0-canary.58': {} @@ -26228,6 +26385,36 @@ snapshots: - bluebird - supports-color + '@nx/nx-darwin-arm64@22.5.0': + optional: true + + '@nx/nx-darwin-x64@22.5.0': + optional: true + + '@nx/nx-freebsd-x64@22.5.0': + optional: true + + '@nx/nx-linux-arm-gnueabihf@22.5.0': + optional: true + + '@nx/nx-linux-arm64-gnu@22.5.0': + optional: true + + '@nx/nx-linux-arm64-musl@22.5.0': + optional: true + + '@nx/nx-linux-x64-gnu@22.5.0': + optional: true + + '@nx/nx-linux-x64-musl@22.5.0': + optional: true + + '@nx/nx-win32-arm64-msvc@22.5.0': + optional: true + + '@nx/nx-win32-x64-msvc@22.5.0': + optional: true + '@octokit/auth-token@2.5.0': dependencies: '@octokit/types': 6.41.0 @@ -29044,6 +29231,10 @@ snapshots: tslib: 2.8.1 optional: true + '@tybys/wasm-util@0.9.0': + dependencies: + tslib: 2.8.1 + '@types/acorn@4.0.6': dependencies: '@types/estree': 1.0.8 @@ -29502,6 +29693,26 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@7.2.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.2))(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.2)': + dependencies: + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 7.2.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.2) + '@typescript-eslint/scope-manager': 7.2.0 + '@typescript-eslint/type-utils': 7.2.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.2) + '@typescript-eslint/utils': 7.2.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.2) + '@typescript-eslint/visitor-keys': 7.2.0 + debug: 4.4.3(supports-color@5.5.0) + eslint: 9.39.2(jiti@1.21.7) + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare: 1.4.0 + semver: 7.7.3 + ts-api-utils: 1.4.3(typescript@5.9.2) + optionalDependencies: + typescript: 5.9.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@7.2.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.2))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.2)': dependencies: '@eslint-community/regexpp': 4.12.2 @@ -29567,6 +29778,19 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@7.2.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.2)': + dependencies: + '@typescript-eslint/scope-manager': 7.2.0 + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.9.2) + '@typescript-eslint/visitor-keys': 7.2.0 + debug: 4.4.3(supports-color@5.5.0) + eslint: 9.39.2(jiti@1.21.7) + optionalDependencies: + typescript: 5.9.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/parser@7.2.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.2)': dependencies: '@typescript-eslint/scope-manager': 7.2.0 @@ -29652,6 +29876,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/type-utils@7.2.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.2)': + dependencies: + '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.9.2) + '@typescript-eslint/utils': 7.2.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.2) + debug: 4.4.3(supports-color@5.5.0) + eslint: 9.39.2(jiti@1.21.7) + ts-api-utils: 1.4.3(typescript@5.9.2) + optionalDependencies: + typescript: 5.9.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/type-utils@7.2.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.2)': dependencies: '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.9.2) @@ -29751,6 +29987,20 @@ snapshots: - supports-color - typescript + '@typescript-eslint/utils@7.2.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.2)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@1.21.7)) + '@types/json-schema': 7.0.15 + '@types/semver': 7.7.1 + '@typescript-eslint/scope-manager': 7.2.0 + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.9.2) + eslint: 9.39.2(jiti@1.21.7) + semver: 7.7.3 + transitivePeerDependencies: + - supports-color + - typescript + '@typescript-eslint/utils@7.2.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.2)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) @@ -29902,7 +30152,7 @@ snapshots: std-env: 3.10.0 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.19.3)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@26.1.0)(less@4.5.1)(lightningcss@1.30.2)(sass@1.97.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@18.19.130)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@26.1.0)(less@4.5.1)(lightningcss@1.30.2)(sass@1.97.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color @@ -30027,7 +30277,7 @@ snapshots: sirv: 3.0.2 tinyglobby: 0.2.15 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@20.19.27)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@26.1.0)(less@4.5.1)(lightningcss@1.30.2)(sass@1.97.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@18.19.130)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@26.1.0)(less@4.5.1)(lightningcss@1.30.2)(sass@1.97.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2) '@vitest/utils@2.0.5': dependencies: @@ -30170,6 +30420,15 @@ snapshots: '@yarnpkg/lockfile@1.1.0': {} + '@yarnpkg/parsers@3.0.2': + dependencies: + js-yaml: 3.14.2 + tslib: 2.8.1 + + '@zkochan/js-yaml@0.0.7': + dependencies: + argparse: 2.0.1 + JSONStream@1.3.5: dependencies: jsonparse: 1.3.1 @@ -30495,6 +30754,8 @@ snapshots: dependencies: retry: 0.12.0 + async@3.2.6: {} + asynckit@0.4.0: {} atomic-sleep@1.0.0: {} @@ -31242,6 +31503,8 @@ snapshots: dependencies: restore-cursor: 5.1.0 + cli-spinners@2.6.1: {} + cli-spinners@2.9.2: {} cli-truncate@2.1.0: @@ -32393,8 +32656,14 @@ snapshots: dependencies: is-obj: 2.0.0 + dotenv-expand@11.0.7: + dependencies: + dotenv: 16.6.1 + dotenv@16.0.3: {} + dotenv@16.4.7: {} + dotenv@16.6.1: {} dset@3.1.4: {} @@ -32413,6 +32682,10 @@ snapshots: ee-first@1.1.1: {} + ejs@3.1.10: + dependencies: + jake: 10.9.4 + electron-to-chromium@1.5.267: {} elliptic@6.6.1: @@ -32477,6 +32750,10 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.3.0 + enquirer@2.3.6: + dependencies: + ansi-colors: 4.1.3 + enquirer@2.4.1: dependencies: ansi-colors: 4.1.3 @@ -32847,7 +33124,7 @@ snapshots: '@typescript-eslint/parser': 7.2.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.2) eslint: 9.39.2(jiti@2.6.1) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.2.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.2))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)) + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-import: 2.32.0(@typescript-eslint/parser@7.2.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-react: 7.37.5(eslint@9.39.2(jiti@2.6.1)) @@ -32868,7 +33145,7 @@ snapshots: eslint: 9.39.2(jiti@2.6.1) eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.2.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.2))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)) - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@7.2.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.2(jiti@2.6.1)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@7.2.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.2.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.2))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-react: 7.37.5(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-react-hooks: 5.2.0(eslint@9.39.2(jiti@2.6.1)) @@ -32939,6 +33216,26 @@ snapshots: - eslint-plugin-import-x - supports-color + eslint-config-next@15.4.4(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.2): + dependencies: + '@next/eslint-plugin-next': 15.4.4 + '@rushstack/eslint-patch': 1.15.0 + '@typescript-eslint/eslint-plugin': 7.2.0(@typescript-eslint/parser@7.2.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.2))(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.2) + '@typescript-eslint/parser': 7.2.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.2) + eslint: 9.39.2(jiti@1.21.7) + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.2(jiti@1.21.7)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@7.2.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.2(jiti@1.21.7)) + eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.2(jiti@1.21.7)) + eslint-plugin-react: 7.37.5(eslint@9.39.2(jiti@1.21.7)) + eslint-plugin-react-hooks: 5.2.0(eslint@9.39.2(jiti@1.21.7)) + optionalDependencies: + typescript: 5.9.2 + transitivePeerDependencies: + - eslint-import-resolver-webpack + - eslint-plugin-import-x + - supports-color + eslint-config-next@15.4.4(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.2): dependencies: '@next/eslint-plugin-next': 15.4.4 @@ -32947,8 +33244,8 @@ snapshots: '@typescript-eslint/parser': 7.2.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.2) eslint: 9.39.2(jiti@2.6.1) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.2.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.2))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)) - eslint-plugin-import: 2.32.0(@typescript-eslint/parser@7.2.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.2.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.2))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)) + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.2(jiti@2.6.1)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@7.2.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-react: 7.37.5(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-react-hooks: 5.2.0(eslint@9.39.2(jiti@2.6.1)) @@ -33025,6 +33322,36 @@ snapshots: transitivePeerDependencies: - supports-color + eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.2(jiti@1.21.7)): + dependencies: + '@nolyfill/is-core-module': 1.0.39 + debug: 4.4.3(supports-color@5.5.0) + eslint: 9.39.2(jiti@1.21.7) + get-tsconfig: 4.13.0 + is-bun-module: 2.0.0 + stable-hash: 0.0.5 + tinyglobby: 0.2.15 + unrs-resolver: 1.11.1 + optionalDependencies: + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@7.2.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.2(jiti@1.21.7)) + transitivePeerDependencies: + - supports-color + + eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.2(jiti@2.6.1)): + dependencies: + '@nolyfill/is-core-module': 1.0.39 + debug: 4.4.3(supports-color@5.5.0) + eslint: 9.39.2(jiti@2.6.1) + get-tsconfig: 4.13.0 + is-bun-module: 2.0.0 + stable-hash: 0.0.5 + tinyglobby: 0.2.15 + unrs-resolver: 1.11.1 + optionalDependencies: + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@7.2.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.2(jiti@2.6.1)) + transitivePeerDependencies: + - supports-color + eslint-module-utils@2.12.1(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.9.2))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1): dependencies: debug: 3.2.7 @@ -33058,6 +33385,17 @@ snapshots: transitivePeerDependencies: - supports-color + eslint-module-utils@2.12.1(@typescript-eslint/parser@7.2.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.2(jiti@1.21.7)): + dependencies: + debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 7.2.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.2) + eslint: 9.39.2(jiti@1.21.7) + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.2(jiti@1.21.7)) + transitivePeerDependencies: + - supports-color + eslint-module-utils@2.12.1(@typescript-eslint/parser@7.2.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.2.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.2))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)): dependencies: debug: 3.2.7 @@ -33076,7 +33414,7 @@ snapshots: '@typescript-eslint/parser': 7.2.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.2) eslint: 9.39.2(jiti@2.6.1) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.2.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.2))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)) + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.2(jiti@2.6.1)) transitivePeerDependencies: - supports-color @@ -33167,6 +33505,35 @@ snapshots: - eslint-import-resolver-webpack - supports-color + eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.2.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.2(jiti@1.21.7)): + dependencies: + '@rtsao/scc': 1.1.0 + array-includes: 3.1.9 + array.prototype.findlastindex: 1.2.6 + array.prototype.flat: 1.3.3 + array.prototype.flatmap: 1.3.3 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 9.39.2(jiti@1.21.7) + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.12.1(@typescript-eslint/parser@7.2.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.2(jiti@1.21.7)) + hasown: 2.0.2 + is-core-module: 2.16.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.1 + semver: 6.3.1 + string.prototype.trimend: 1.0.9 + tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 7.2.0(eslint@9.39.2(jiti@1.21.7))(typescript@5.9.2) + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.2.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(@typescript-eslint/parser@7.2.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.2))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)): dependencies: '@rtsao/scc': 1.1.0 @@ -33244,6 +33611,25 @@ snapshots: safe-regex-test: 1.1.0 string.prototype.includes: 2.0.1 + eslint-plugin-jsx-a11y@6.10.2(eslint@9.39.2(jiti@1.21.7)): + dependencies: + aria-query: 5.3.2 + array-includes: 3.1.9 + array.prototype.flatmap: 1.3.3 + ast-types-flow: 0.0.8 + axe-core: 4.11.1 + axobject-query: 4.1.0 + damerau-levenshtein: 1.0.8 + emoji-regex: 9.2.2 + eslint: 9.39.2(jiti@1.21.7) + hasown: 2.0.2 + jsx-ast-utils: 3.3.5 + language-tags: 1.0.9 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + safe-regex-test: 1.1.0 + string.prototype.includes: 2.0.1 + eslint-plugin-jsx-a11y@6.10.2(eslint@9.39.2(jiti@2.6.1)): dependencies: aria-query: 5.3.2 @@ -33277,6 +33663,10 @@ snapshots: dependencies: eslint: 8.57.1 + eslint-plugin-react-hooks@5.2.0(eslint@9.39.2(jiti@1.21.7)): + dependencies: + eslint: 9.39.2(jiti@1.21.7) + eslint-plugin-react-hooks@5.2.0(eslint@9.39.2(jiti@2.6.1)): dependencies: eslint: 9.39.2(jiti@2.6.1) @@ -33323,6 +33713,28 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 + eslint-plugin-react@7.37.5(eslint@9.39.2(jiti@1.21.7)): + dependencies: + array-includes: 3.1.9 + array.prototype.findlast: 1.2.5 + array.prototype.flatmap: 1.3.3 + array.prototype.tosorted: 1.1.4 + doctrine: 2.1.0 + es-iterator-helpers: 1.2.2 + eslint: 9.39.2(jiti@1.21.7) + estraverse: 5.3.0 + hasown: 2.0.2 + jsx-ast-utils: 3.3.5 + minimatch: 3.1.2 + object.entries: 1.1.9 + object.fromentries: 2.0.8 + object.values: 1.2.1 + prop-types: 15.8.1 + resolve: 2.0.0-next.5 + semver: 6.3.1 + string.prototype.matchall: 4.0.12 + string.prototype.repeat: 1.0.0 + eslint-plugin-react@7.37.5(eslint@9.39.2(jiti@2.6.1)): dependencies: array-includes: 3.1.9 @@ -33418,6 +33830,47 @@ snapshots: transitivePeerDependencies: - supports-color + eslint@9.39.2(jiti@1.21.7): + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@1.21.7)) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.21.1 + '@eslint/config-helpers': 0.4.2 + '@eslint/core': 0.17.0 + '@eslint/eslintrc': 3.3.3 + '@eslint/js': 9.39.2 + '@eslint/plugin-kit': 0.4.1 + '@humanfs/node': 0.16.7 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.3(supports-color@5.5.0) + escape-string-regexp: 4.0.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 + esquery: 1.7.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + optionalDependencies: + jiti: 1.21.7 + transitivePeerDependencies: + - supports-color + eslint@9.39.2(jiti@2.6.1): dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) @@ -33854,6 +34307,10 @@ snapshots: file-uri-to-path@1.0.0: {} + filelist@1.0.4: + dependencies: + minimatch: 5.1.6 + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -35547,6 +36004,12 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 + jake@10.9.4: + dependencies: + async: 3.2.6 + filelist: 1.0.4 + picocolors: 1.1.1 + jest-changed-files@29.7.0: dependencies: execa: 5.1.1 @@ -35850,6 +36313,13 @@ snapshots: jest-get-type: 29.6.3 pretty-format: 29.7.0 + jest-diff@30.2.0: + dependencies: + '@jest/diff-sequences': 30.0.1 + '@jest/get-type': 30.1.0 + chalk: 4.1.2 + pretty-format: 30.2.0 + jest-docblock@29.7.0: dependencies: detect-newline: 3.1.0 @@ -36285,6 +36755,8 @@ snapshots: jsonc-parser@2.2.1: {} + jsonc-parser@3.2.0: {} + jsonc-parser@3.3.1: {} jsonfile@4.0.0: @@ -36633,6 +37105,8 @@ snapshots: lines-and-columns@1.2.4: {} + lines-and-columns@2.0.3: {} + linkify-it@5.0.0: dependencies: uc.micro: 2.1.0 @@ -37777,6 +38251,10 @@ snapshots: dependencies: brace-expansion: 1.1.12 + minimatch@5.1.6: + dependencies: + brace-expansion: 2.0.2 + minimatch@9.0.3: dependencies: brace-expansion: 2.0.2 @@ -38183,6 +38661,8 @@ snapshots: node-int64@0.4.0: {} + node-machine-id@1.1.12: {} + node-polyfill-webpack-plugin@2.0.1(webpack@5.104.1(@swc/core@1.15.8(@swc/helpers@0.5.18))(esbuild@0.27.2)): dependencies: assert: 2.1.0 @@ -38304,6 +38784,59 @@ snapshots: nwsapi@2.2.23: {} + nx@22.5.0(@swc/core@1.15.8(@swc/helpers@0.5.18)): + dependencies: + '@napi-rs/wasm-runtime': 0.2.4 + '@yarnpkg/lockfile': 1.1.0 + '@yarnpkg/parsers': 3.0.2 + '@zkochan/js-yaml': 0.0.7 + axios: 1.13.2(debug@4.4.3) + cli-cursor: 3.1.0 + cli-spinners: 2.6.1 + cliui: 8.0.1 + dotenv: 16.4.7 + dotenv-expand: 11.0.7 + ejs: 3.1.10 + enquirer: 2.3.6 + figures: 3.2.0 + flat: 5.0.2 + front-matter: 4.0.2 + ignore: 7.0.5 + jest-diff: 30.2.0 + jsonc-parser: 3.2.0 + lines-and-columns: 2.0.3 + minimatch: 10.1.1 + node-machine-id: 1.1.12 + npm-run-path: 4.0.1 + open: 8.4.2 + ora: 5.3.0 + picocolors: 1.1.1 + resolve.exports: 2.0.3 + semver: 7.7.3 + string-width: 4.2.3 + tar-stream: 2.2.0 + tmp: 0.2.5 + tree-kill: 1.2.2 + tsconfig-paths: 4.2.0 + tslib: 2.8.1 + yaml: 2.8.2 + yargs: 17.7.2 + yargs-parser: 21.1.1 + optionalDependencies: + '@nx/nx-darwin-arm64': 22.5.0 + '@nx/nx-darwin-x64': 22.5.0 + '@nx/nx-freebsd-x64': 22.5.0 + '@nx/nx-linux-arm-gnueabihf': 22.5.0 + '@nx/nx-linux-arm64-gnu': 22.5.0 + '@nx/nx-linux-arm64-musl': 22.5.0 + '@nx/nx-linux-x64-gnu': 22.5.0 + '@nx/nx-linux-x64-musl': 22.5.0 + '@nx/nx-win32-arm64-msvc': 22.5.0 + '@nx/nx-win32-x64-msvc': 22.5.0 + '@swc/core': 1.15.8(@swc/helpers@0.5.18) + transitivePeerDependencies: + - debug + object-assign@4.1.1: {} object-hash@3.0.0: {} @@ -38442,6 +38975,17 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 + ora@5.3.0: + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.2 + is-interactive: 1.0.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + ora@5.4.1: dependencies: bl: 4.1.0 @@ -41628,6 +42172,8 @@ snapshots: dependencies: os-tmpdir: 1.0.2 + tmp@0.2.5: {} + tmpl@1.0.5: {} to-buffer@1.2.2: diff --git a/scripts/develop/example.sh b/scripts/develop/example.sh index 737dd16238..3c4af9e1a4 100644 --- a/scripts/develop/example.sh +++ b/scripts/develop/example.sh @@ -98,7 +98,7 @@ if [[ "$backend" == "fastapi" ]]; then fi echo "Linking packages globally..." -turbo link:global +npx nx run-many -t link:global echo "Setting up the JS environment..." cd "$root_dir/../examples/$example_dir/ui" @@ -136,7 +136,7 @@ fi echo "Running the app..." parallel --ungroup ::: \ - "cd $root_dir && exec > >(sed 's/^/$copilotkit_prompt /') 2>&1 && turbo run dev" \ + "cd $root_dir && exec > >(sed 's/^/$copilotkit_prompt /') 2>&1 && npx nx run-many -t dev" \ "cd $root_dir/../examples/$example_dir/$agent_dir && exec > >(sed 's/^/$agent_prompt /') 2>&1 && $agent_command" \ "cd $root_dir/../examples/$example_dir/ui && exec > >(sed 's/^/$frontend_prompt /') 2>&1 && pnpm dev" diff --git a/src/v2.x/.cursor/rules/40-nx.auto.mdc b/src/v2.x/.cursor/rules/40-nx.auto.mdc new file mode 100644 index 0000000000..60a061232f --- /dev/null +++ b/src/v2.x/.cursor/rules/40-nx.auto.mdc @@ -0,0 +1,9 @@ +--- +description: NX task runner guidance. +globs: "**/nx.{json,js}" +--- + +- Tasks are inferred from package.json scripts. Target defaults (dependsOn, cache, inputs, outputs) are configured in `nx.json`. +- Use `nx run :` for single-project tasks. +- Use `nx run-many -t ` for workspace-wide tasks. +- Avoid adding new targetDefaults without discussion. diff --git a/src/v2.x/.cursor/rules/40-turborepo.auto.mdc b/src/v2.x/.cursor/rules/40-turborepo.auto.mdc deleted file mode 100644 index ec7d48ac88..0000000000 --- a/src/v2.x/.cursor/rules/40-turborepo.auto.mdc +++ /dev/null @@ -1,9 +0,0 @@ ---- -description: Turborepo pipeline guidance. -globs: "**/turbo*.{json,js}" ---- - -- Tasks are defined in `turbo.json` with common names: `build`, `lint`, `dev`, `check-types`, `test`. -- Each task should specify `dependsOn` and `outputs` where caching matters. -- Avoid creating new pipelines at the repo root without discussion. -- Use `turbo run ` for workspace-wide scripts. diff --git a/turbo.json b/turbo.json deleted file mode 100644 index 6cbf345851..0000000000 --- a/turbo.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "$schema": "https://turborepo.com/schema.json", - "ui": "stream", - "concurrency": "14", - "tasks": { - "build": { - "cache": false, - "persistent": false, - "interactive": false, - "dependsOn": ["^build"], - "inputs": ["$TURBO_DEFAULT$", ".env*"], - "outputs": ["dist/**"], - "outputLogs": "full" - }, - "@copilotkit/runtime#generate-graphql-schema": { - "cache": false, - "persistent": false, - "dependsOn": ["^build"] - }, - "@copilotkit/runtime-client-gql#graphql-codegen": { - "cache": false, - "persistent": false, - "dependsOn": ["^build", "@copilotkit/runtime#generate-graphql-schema"] - }, - "dev": { - "cache": false, - "persistent": true, - "dependsOn": ["^build"] - }, - "test": { - "cache": false, - "dependsOn": ["^build"], - "inputs": [ - "src/**/*.ts", - "src/**/*.tsx", - "**/__tests__/**", - "**/*.test.*", - "**/*.spec.*" - ], - "outputs": ["coverage/**"], - "env": ["LOG_LEVEL", "NODE_ENV"] - }, - "test:watch": { - "cache": false, - "persistent": true, - "env": ["LOG_LEVEL", "NODE_ENV"] - }, - "test:coverage": { - "dependsOn": ["^build"], - "inputs": [ - "src/**/*.ts", - "src/**/*.tsx", - "**/__tests__/**", - "**/*.test.*", - "**/*.spec.*" - ], - "outputs": ["coverage/**"], - "env": ["LOG_LEVEL", "NODE_ENV"] - }, - "lint": { - "dependsOn": ["^lint"], - "env": ["LOG_LEVEL", "NODE_ENV"] - }, - "check-types": { - "cache": false, - "dependsOn": ["^build", "^check-types"] - }, - "clean": { - "cache": false, - "persistent": false, - "dependsOn": ["^clean"] - }, - "//#check-prettier": {}, - "//#format": { - "cache": false - }, - "//#freshbuild": { - "cache": false - }, - "link:global": { - "cache": false, - "persistent": false - }, - "unlink:global": { - "cache": false, - "persistent": false - }, - "build:css": { - "cache": true, - "outputs": ["dist/styles.css", "src/styles/generated.css"], - "outputLogs": "errors-only" - }, - "@copilotkitnext/web-inspector#build:css": { - "cache": true, - "outputs": ["src/styles/generated.css"], - "outputLogs": "errors-only" - }, - "@copilotkitnext/web-inspector#build": { - "dependsOn": ["^build", "@copilotkitnext/web-inspector#build:css"], - "outputs": ["dist/**"], - "outputLogs": "errors-only" - }, - "demo#dev": { - "cache": false, - "persistent": true - }, - "@copilotkitnext/angular-demo#dev": { - "cache": false, - "persistent": true - }, - "@copilotkitnext/angular-demo-server#dev": { - "cache": false, - "persistent": true - }, - "storybook:dev": { - "cache": false - }, - "storybook": { - "cache": false, - "dependsOn": ["^build"] - }, - "storybook-angular#dev": { - "cache": false, - "persistent": true - }, - "storybook#dev": { - "cache": false, - "persistent": true - }, - "storybook:build": { - "dependsOn": ["^build"], - "outputs": [ - "apps/react/storybook/storybook-static/**", - "apps/angular/storybook/storybook-static/**" - ] - } - } -}