diff --git a/.docker/scripts/clickhouse/001-create-tables.sql b/.docker/scripts/clickhouse/001-create-tables.sql index e332e93b26..6845880ea2 100644 --- a/.docker/scripts/clickhouse/001-create-tables.sql +++ b/.docker/scripts/clickhouse/001-create-tables.sql @@ -21,6 +21,9 @@ CREATE TABLE IF NOT EXISTS default.events `modelId` Nullable(String), `diffStrategy` Nullable(String), `isSubtask` Nullable(Bool), + `repositoryUrl` Nullable(String), + `repositoryName` Nullable(String), + `defaultBranch` Nullable(String), -- Completion `inputTokens` Nullable(Int32), diff --git a/apps/roomote/package.json b/apps/roomote/package.json index 3dd9f4fa5c..da0d7f0d6f 100644 --- a/apps/roomote/package.json +++ b/apps/roomote/package.json @@ -16,7 +16,7 @@ "dependencies": { "@roo-code-cloud/db": "workspace:^", "@roo-code-cloud/ipc": "workspace:^", - "@roo-code/types": "^1.26.0", + "@roo-code/types": "^1.29.0", "bullmq": "^5.37.0", "drizzle-orm": "^0.44.2", "execa": "^9.6.0", diff --git a/apps/web/package.json b/apps/web/package.json index 2d250e2eb4..bc80081a87 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -32,7 +32,7 @@ "@radix-ui/react-toast": "^1.2.14", "@radix-ui/react-tooltip": "^1.2.7", "@roo-code-cloud/db": "workspace:^", - "@roo-code/types": "^1.28.0", + "@roo-code/types": "^1.29.0", "@sentry/nextjs": "^9.23.0", "@t3-oss/env-nextjs": "^0.13.6", "@tailwindcss/postcss": "^4.1.8", diff --git a/apps/web/src/actions/analytics/events.ts b/apps/web/src/actions/analytics/events.ts index 48334bf542..6c01b65713 100644 --- a/apps/web/src/actions/analytics/events.ts +++ b/apps/web/src/actions/analytics/events.ts @@ -311,6 +311,9 @@ const taskSchema = z.object({ tokens: z.coerce.number(), cost: z.coerce.number(), timestamp: z.coerce.number(), + repositoryUrl: z.string().nullable().optional(), + repositoryName: z.string().nullable().optional(), + defaultBranch: z.string().nullable().optional(), }); export type TaskWithUser = z.infer & { user: User }; @@ -404,7 +407,10 @@ export const getTasks = async ({ SUM(CASE WHEN e.type = 'LLM Completion' THEN ${tokenSumSql('e')} ELSE 0 END) AS tokens, SUM(CASE WHEN e.type = 'LLM Completion' THEN COALESCE(e.cost, 0) ELSE 0 END) AS cost, MIN(e.timestamp) AS timestamp, - any(fm.title) AS title + any(fm.title) AS title, + any(e.repositoryUrl) AS repositoryUrl, + any(e.repositoryName) AS repositoryName, + any(e.defaultBranch) AS defaultBranch FROM events e LEFT JOIN first_messages fm ON e.taskId = fm.taskId WHERE diff --git a/apps/web/src/components/task-sharing/TaskDetails.tsx b/apps/web/src/components/task-sharing/TaskDetails.tsx index 8f764ce08a..86bbc30f79 100644 --- a/apps/web/src/components/task-sharing/TaskDetails.tsx +++ b/apps/web/src/components/task-sharing/TaskDetails.tsx @@ -53,7 +53,7 @@ export const TaskDetails = ({ -
+

Developer

{task.user.name}

@@ -74,6 +74,17 @@ export const TaskDetails = ({

Cost

{formatCurrency(task.cost)}

+
+

Git Workspace

+ + {task.repositoryName ? ( +

{task.repositoryName}

+ ) : ( +

+ Not available +

+ )} +
{task.mode && (
diff --git a/apps/web/src/lib/providers.ts b/apps/web/src/lib/providers.ts index a811b1ec28..7a4ac1c426 100644 --- a/apps/web/src/lib/providers.ts +++ b/apps/web/src/lib/providers.ts @@ -75,4 +75,8 @@ export const PROVIDERS: Record< litellm: { id: 'litellm', label: 'LiteLLM', models: [] }, unbound: { id: 'unbound', label: 'Unbound', models: [] }, glama: { id: 'glama', label: 'Glama', models: [] }, -}; + 'claude-code': { id: 'claude-code', label: 'Claude Code', models: [] }, +} as Record< + Exclude, + { id: ProviderName; label: string; models: string[] } +>; diff --git a/packages/db/clickhouse/events.sql b/packages/db/clickhouse/events.sql index 21f5351016..df064512e8 100644 --- a/packages/db/clickhouse/events.sql +++ b/packages/db/clickhouse/events.sql @@ -21,6 +21,9 @@ CREATE TABLE default.events `modelId` Nullable(String), `diffStrategy` Nullable(String), `isSubtask` Nullable(Bool), + `repositoryUrl` Nullable(String), + `repositoryName` Nullable(String), + `defaultBranch` Nullable(String), -- Completion `inputTokens` Nullable(Int32), diff --git a/packages/db/package.json b/packages/db/package.json index 7e19ca7909..1180d189b8 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -26,7 +26,7 @@ "db:test:push": "dotenvx run -f .env.test -- drizzle-kit push" }, "dependencies": { - "@roo-code/types": "^1.26.0", + "@roo-code/types": "^1.29.0", "drizzle-orm": "^0.44.2", "postgres": "^3.4.7", "zod": "^3.25.41" diff --git a/packages/ipc/package.json b/packages/ipc/package.json index ebfbd641fe..7d23c32d22 100644 --- a/packages/ipc/package.json +++ b/packages/ipc/package.json @@ -9,7 +9,7 @@ "clean": "rimraf .turbo" }, "dependencies": { - "@roo-code/types": "^1.26.0", + "@roo-code/types": "^1.29.0", "node-ipc": "^12.0.0" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cae020f2e8..38c9c075d0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -46,8 +46,8 @@ importers: specifier: workspace:^ version: link:../../packages/ipc '@roo-code/types': - specifier: ^1.26.0 - version: 1.26.0 + specifier: ^1.29.0 + version: 1.29.0 bullmq: specifier: ^5.37.0 version: 5.54.3 @@ -201,8 +201,8 @@ importers: specifier: workspace:^ version: link:../../packages/db '@roo-code/types': - specifier: ^1.28.0 - version: 1.28.0 + specifier: ^1.29.0 + version: 1.29.0 '@sentry/nextjs': specifier: ^9.23.0 version: 9.23.0(@opentelemetry/context-async-hooks@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.57.2(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(next@15.3.3(@babel/core@7.27.3)(@opentelemetry/api@1.9.0)(@playwright/test@1.52.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(webpack@5.99.9) @@ -435,8 +435,8 @@ importers: packages/db: dependencies: '@roo-code/types': - specifier: ^1.26.0 - version: 1.26.0 + specifier: ^1.29.0 + version: 1.29.0 drizzle-orm: specifier: ^0.44.2 version: 0.44.2(@electric-sql/pglite@0.3.0)(@libsql/client-wasm@0.15.5)(@opentelemetry/api@1.9.0)(@types/pg@8.15.2)(pg@8.15.6)(postgres@3.4.7) @@ -463,8 +463,8 @@ importers: packages/ipc: dependencies: '@roo-code/types': - specifier: ^1.26.0 - version: 1.26.0 + specifier: ^1.29.0 + version: 1.29.0 node-ipc: specifier: ^12.0.0 version: 12.0.0 @@ -2291,8 +2291,8 @@ packages: cpu: [x64] os: [win32] - '@roo-code/types@1.26.0': - resolution: {integrity: sha512-FX+9jl+PRpZG0n+MUFXjlelDdzEVLQULfHAdBCT7npOs0MrC5IaBGxtuZMYRKWYzEvgwRM96oqXgr6CYkNIWZQ==} + '@roo-code/types@1.29.0': + resolution: {integrity: sha512-bovFOCVQYuWnV2Cvdcx5tWp8aUpF0tEoxN0rS05hzzwdDeDxB6F6q5orKsQqghTS0yqv5pYclQLZRyAV7oBsbw==} '@roo-code/types@1.28.0': resolution: {integrity: sha512-kJAWDaY80BLPRxVa1Nz3Fuj7tvnSVMsRlpgNq3YXvFyQwWsui7DZz/AgX5qm+CwcAHXHBPmCUn5oV5XnEAEykw==} @@ -8357,7 +8357,7 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.41.1': optional: true - '@roo-code/types@1.26.0': {} + '@roo-code/types@1.29.0': {} '@roo-code/types@1.28.0': {}