Conversation
|
WalkthroughAdds a query execution feature end-to-end: new query schemas and types in core (request/response shapes, runs table row types, and RunFriendlyStatus), a new ApiClient.executeQuery method, SDK-level query.execute with JSON/CSV overloads and re-exports, a Remix action route to run queries and return JSON or CSV, and a small UI update adding a "query" icon case and re-exporting run-friendly status from core. Estimated code review effort🎯 4 (Complex) | ⏱️ ~40 minutes 🚥 Pre-merge checks | ✅ 1 | ❌ 3❌ Failed checks (3 warnings)
✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
⚔️ Resolve merge conflicts (beta)
No actionable comments were generated in the recent review. 🎉 🧹 Recent nitpick comments
📜 Recent review detailsConfiguration used: Repository UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🧰 Additional context used📓 Path-based instructions (6)**/*.{ts,tsx}📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Files:
{packages/core,apps/webapp}/**/*.{ts,tsx}📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Files:
**/*.{ts,tsx,js,jsx}📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Files:
**/*.ts📄 CodeRabbit inference engine (.cursor/rules/otel-metrics.mdc)
Files:
**/*.{js,ts,jsx,tsx,json,md,yaml,yml}📄 CodeRabbit inference engine (AGENTS.md)
Files:
{packages,integrations}/**/*📄 CodeRabbit inference engine (CLAUDE.md)
Files:
🧠 Learnings (4)📓 Common learnings📚 Learning: 2025-11-27T16:26:37.432ZApplied to files:
📚 Learning: 2025-11-27T16:27:35.304ZApplied to files:
📚 Learning: 2025-11-27T16:26:37.432ZApplied to files:
🧬 Code graph analysis (1)packages/core/src/v3/schemas/query.ts (2)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (28)
🔇 Additional comments (3)
✏️ Tip: You can disable this entire section by setting 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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Fix all issues with AI agents
In `@apps/webapp/app/routes/api.v1.query.ts`:
- Around line 42-53: The handler currently returns status 400 for all
non-success queryResult cases; change it to return 400 only when
queryResult.error is an instance of QueryError and return 500 for all other
unexpected errors. In the block that checks !queryResult.success (using symbols
queryResult and QueryError), keep the existing message logic and logger.error
call, but set the response status passed to json(...) to 400 when
queryResult.error instanceof QueryError, otherwise 500.
In `@packages/core/src/v3/schemas/query.ts`:
- Line 28: The exported type QueryExecuteJSONResponseBody is incorrectly
inferred from the discriminated union QueryExecuteResponseBody; update the type
alias to infer from the JSON-only Zod schema (replace z.infer<typeof
QueryExecuteResponseBody> with z.infer<typeof <the JSON-only schema>), i.e.,
point QueryExecuteJSONResponseBody at the JSON-only schema (e.g.,
QueryExecuteJSONResponseBodySchema or the actual JSON variant schema name)
instead of QueryExecuteResponseBody so the alias represents only the JSON
variant.
🧹 Nitpick comments (7)
packages/core/src/v3/schemas/query.ts (2)
1-1: Unused import:TypeOf.
TypeOfis imported from zod but never used in this file.🧹 Proposed fix
-import { TypeOf, z } from "zod"; +import { z } from "zod";
88-179:RunsTableRowusesinterfaceinstead oftype.Coding guidelines prefer types over interfaces for TypeScript. Consider converting to a type alias, though given the size this is a low-priority nit.
As per coding guidelines: "Use types over interfaces for TypeScript".
packages/core/src/v3/apiClient/index.ts (2)
33-35: Unused imports:QueryExecuteRequestBodyandQueryExecuteCSVResponseBody.Only
QueryExecuteResponseBodyis referenced inexecuteQuery. The other two are imported but never used.🧹 Proposed fix
QueryExecuteRequestBody, QueryExecuteResponseBody, - QueryExecuteCSVResponseBody, + // Remove unused: QueryExecuteCSVResponseBodyIf
QueryExecuteRequestBodyis also unused:- QueryExecuteRequestBody, QueryExecuteResponseBody,
1432-1432: Dead code:formatvariable is assigned but never read.This appears to be a leftover from a prior iteration. The format is already included in the
bodyobject on line 1429.🧹 Proposed fix
- const format = options?.format ?? "json"; - // For JSON, use zodfetch return zodfetch(apps/webapp/app/routes/api.v1.query.ts (1)
9-16: Schema duplicatesQueryExecuteRequestBodyfrom@trigger.dev/core/v3.
BodySchemais identical to theQueryExecuteRequestBodyschema defined inpackages/core/src/v3/schemas/query.ts. Consider importing and reusing it to keep the contract in sync.♻️ Proposed fix
-const BodySchema = z.object({ - query: z.string(), - scope: z.enum(["organization", "project", "environment"]).default("environment"), - period: z.string().nullish(), - from: z.string().nullish(), - to: z.string().nullish(), - format: z.enum(["json", "csv"]).default("json"), -}); +import { QueryExecuteRequestBody } from "@trigger.dev/core/v3"; + +// Use the shared schema from core +const BodySchema = QueryExecuteRequestBody;packages/trigger-sdk/src/v3/query.ts (2)
1-6: Unused import:QueryExecuteCSVResponseBody.This type is imported but not referenced anywhere in the file.
🧹 Proposed fix
import type { ApiRequestOptions, Prettify, QueryExecuteResponseBody, - QueryExecuteCSVResponseBody, } from "@trigger.dev/core/v3";
156-158: No-op.then()can be removed.The
.then((response) => { return response; })is a passthrough that adds no value.🧹 Proposed fix
- return apiClient.executeQuery(tsql, options, $requestOptions).then((response) => { - return response; - }) as Promise<{ format: "json"; results: Array<TRow> } | { format: "csv"; results: string }>; + return apiClient.executeQuery(tsql, options, $requestOptions) as Promise< + { format: "json"; results: Array<TRow> } | { format: "csv"; results: string } + >;
📜 Review details
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
references/hello-world/src/trigger/query.tsis excluded by!references/**
📒 Files selected for processing (8)
apps/webapp/app/components/runs/v3/RunIcon.tsxapps/webapp/app/components/runs/v3/TaskRunStatus.tsxapps/webapp/app/routes/api.v1.query.tspackages/core/src/v3/apiClient/index.tspackages/core/src/v3/schemas/index.tspackages/core/src/v3/schemas/query.tspackages/trigger-sdk/src/v3/index.tspackages/trigger-sdk/src/v3/query.ts
🧰 Additional context used
📓 Path-based instructions (9)
**/*.{ts,tsx}
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
**/*.{ts,tsx}: Use types over interfaces for TypeScript
Avoid using enums; prefer string unions or const objects instead
**/*.{ts,tsx}: Always import tasks from@trigger.dev/sdk, never use@trigger.dev/sdk/v3or deprecatedclient.defineJobpattern
Every Trigger.dev task must be exported and have a uniqueidproperty with no timeouts in the run function
Files:
packages/core/src/v3/schemas/index.tsapps/webapp/app/routes/api.v1.query.tspackages/core/src/v3/apiClient/index.tsapps/webapp/app/components/runs/v3/TaskRunStatus.tsxpackages/core/src/v3/schemas/query.tsapps/webapp/app/components/runs/v3/RunIcon.tsxpackages/trigger-sdk/src/v3/query.tspackages/trigger-sdk/src/v3/index.ts
{packages/core,apps/webapp}/**/*.{ts,tsx}
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Use zod for validation in packages/core and apps/webapp
Files:
packages/core/src/v3/schemas/index.tsapps/webapp/app/routes/api.v1.query.tspackages/core/src/v3/apiClient/index.tsapps/webapp/app/components/runs/v3/TaskRunStatus.tsxpackages/core/src/v3/schemas/query.tsapps/webapp/app/components/runs/v3/RunIcon.tsx
**/*.{ts,tsx,js,jsx}
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Use function declarations instead of default exports
Import from
@trigger.dev/coreusing subpaths only, never import from root
Files:
packages/core/src/v3/schemas/index.tsapps/webapp/app/routes/api.v1.query.tspackages/core/src/v3/apiClient/index.tsapps/webapp/app/components/runs/v3/TaskRunStatus.tsxpackages/core/src/v3/schemas/query.tsapps/webapp/app/components/runs/v3/RunIcon.tsxpackages/trigger-sdk/src/v3/query.tspackages/trigger-sdk/src/v3/index.ts
**/*.ts
📄 CodeRabbit inference engine (.cursor/rules/otel-metrics.mdc)
**/*.ts: When creating or editing OTEL metrics (counters, histograms, gauges), ensure metric attributes have low cardinality by using only enums, booleans, bounded error codes, or bounded shard IDs
Do not use high-cardinality attributes in OTEL metrics such as UUIDs/IDs (envId, userId, runId, projectId, organizationId), unbounded integers (itemCount, batchSize, retryCount), timestamps (createdAt, startTime), or free-form strings (errorMessage, taskName, queueName)
When exporting OTEL metrics via OTLP to Prometheus, be aware that the exporter automatically adds unit suffixes to metric names (e.g., 'my_duration_ms' becomes 'my_duration_ms_milliseconds', 'my_counter' becomes 'my_counter_total'). Account for these transformations when writing Grafana dashboards or Prometheus queries
Files:
packages/core/src/v3/schemas/index.tsapps/webapp/app/routes/api.v1.query.tspackages/core/src/v3/apiClient/index.tspackages/core/src/v3/schemas/query.tspackages/trigger-sdk/src/v3/query.tspackages/trigger-sdk/src/v3/index.ts
**/*.{js,ts,jsx,tsx,json,md,yaml,yml}
📄 CodeRabbit inference engine (AGENTS.md)
Format code using Prettier before committing
Files:
packages/core/src/v3/schemas/index.tsapps/webapp/app/routes/api.v1.query.tspackages/core/src/v3/apiClient/index.tsapps/webapp/app/components/runs/v3/TaskRunStatus.tsxpackages/core/src/v3/schemas/query.tsapps/webapp/app/components/runs/v3/RunIcon.tsxpackages/trigger-sdk/src/v3/query.tspackages/trigger-sdk/src/v3/index.ts
{packages,integrations}/**/*
📄 CodeRabbit inference engine (CLAUDE.md)
Add a changeset when modifying any public package in
packages/*orintegrations/*usingpnpm run changeset:add
Files:
packages/core/src/v3/schemas/index.tspackages/core/src/v3/apiClient/index.tspackages/core/src/v3/schemas/query.tspackages/trigger-sdk/src/v3/query.tspackages/trigger-sdk/src/v3/index.ts
apps/webapp/app/**/*.{ts,tsx}
📄 CodeRabbit inference engine (.cursor/rules/webapp.mdc)
Access all environment variables through the
envexport ofenv.server.tsinstead of directly accessingprocess.envin the Trigger.dev webapp
Files:
apps/webapp/app/routes/api.v1.query.tsapps/webapp/app/components/runs/v3/TaskRunStatus.tsxapps/webapp/app/components/runs/v3/RunIcon.tsx
apps/webapp/**/*.{ts,tsx}
📄 CodeRabbit inference engine (.cursor/rules/webapp.mdc)
apps/webapp/**/*.{ts,tsx}: When importing from@trigger.dev/corein the webapp, use subpath exports from the package.json instead of importing from the root path
Follow the Remix 2.1.0 and Express server conventions when updating the main trigger.dev webappAccess environment variables via
envexport fromapps/webapp/app/env.server.ts, never useprocess.envdirectly
Files:
apps/webapp/app/routes/api.v1.query.tsapps/webapp/app/components/runs/v3/TaskRunStatus.tsxapps/webapp/app/components/runs/v3/RunIcon.tsx
packages/trigger-sdk/**/*.{ts,tsx}
📄 CodeRabbit inference engine (.github/copilot-instructions.md)
In the Trigger.dev SDK (packages/trigger-sdk), prefer isomorphic code like fetch and ReadableStream instead of Node.js-specific code
Files:
packages/trigger-sdk/src/v3/query.tspackages/trigger-sdk/src/v3/index.ts
🧠 Learnings (21)
📚 Learning: 2025-11-27T16:26:37.432Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-11-27T16:26:37.432Z
Learning: Applies to **/*.{ts,tsx,js,jsx} : Use function declarations instead of default exports
Applied to files:
packages/core/src/v3/schemas/index.ts
📚 Learning: 2025-11-27T16:26:58.661Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/webapp.mdc:0-0
Timestamp: 2025-11-27T16:26:58.661Z
Learning: Applies to apps/webapp/**/*.{ts,tsx} : Follow the Remix 2.1.0 and Express server conventions when updating the main trigger.dev webapp
Applied to files:
apps/webapp/app/routes/api.v1.query.ts
📚 Learning: 2025-11-27T16:27:35.304Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2025-11-27T16:27:35.304Z
Learning: Applies to **/trigger/**/*.{ts,tsx,js,jsx} : Export tasks with unique IDs within the project to enable proper task discovery and execution
Applied to files:
apps/webapp/app/components/runs/v3/TaskRunStatus.tsxpackages/trigger-sdk/src/v3/index.ts
📚 Learning: 2026-01-15T11:50:06.067Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-01-15T11:50:06.067Z
Learning: Applies to **/*.{ts,tsx} : Every Trigger.dev task must be exported and have a unique `id` property with no timeouts in the run function
Applied to files:
apps/webapp/app/components/runs/v3/TaskRunStatus.tsx
📚 Learning: 2026-01-15T11:50:06.067Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: CLAUDE.md:0-0
Timestamp: 2026-01-15T11:50:06.067Z
Learning: Applies to **/*.{ts,tsx} : Always import tasks from `trigger.dev/sdk`, never use `trigger.dev/sdk/v3` or deprecated `client.defineJob` pattern
Applied to files:
apps/webapp/app/components/runs/v3/TaskRunStatus.tsxpackages/trigger-sdk/src/v3/query.tspackages/trigger-sdk/src/v3/index.ts
📚 Learning: 2025-11-27T16:27:35.304Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2025-11-27T16:27:35.304Z
Learning: Applies to **/trigger/**/*.{ts,tsx,js,jsx} : Use `trigger.dev/sdk/v3` for all imports in Trigger.dev tasks
Applied to files:
apps/webapp/app/components/runs/v3/TaskRunStatus.tsxpackages/trigger-sdk/src/v3/query.tspackages/trigger-sdk/src/v3/index.ts
📚 Learning: 2025-11-27T16:27:35.304Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2025-11-27T16:27:35.304Z
Learning: Applies to **/trigger/**/*.{ts,tsx,js,jsx} : Export every task, including subtasks
Applied to files:
apps/webapp/app/components/runs/v3/TaskRunStatus.tsxpackages/trigger-sdk/src/v3/index.ts
📚 Learning: 2025-11-27T16:27:35.304Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2025-11-27T16:27:35.304Z
Learning: Applies to **/trigger/**/*.{ts,tsx,js,jsx} : Use the `task()` function from `trigger.dev/sdk/v3` to define tasks with id and run properties
Applied to files:
apps/webapp/app/components/runs/v3/TaskRunStatus.tsxpackages/trigger-sdk/src/v3/query.ts
📚 Learning: 2025-11-27T16:27:35.304Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2025-11-27T16:27:35.304Z
Learning: Applies to **/trigger/**/*.{ts,tsx,js,jsx} : Subscribe to run updates using `runs.subscribeToRun()` for realtime monitoring of task execution
Applied to files:
apps/webapp/app/components/runs/v3/TaskRunStatus.tsx
📚 Learning: 2025-11-27T16:27:35.304Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2025-11-27T16:27:35.304Z
Learning: Applies to **/trigger/**/*.{ts,tsx,js,jsx} : Attach metadata to task runs using the metadata option when triggering, and access/update it inside runs using metadata functions
Applied to files:
apps/webapp/app/components/runs/v3/TaskRunStatus.tsx
📚 Learning: 2025-11-27T16:27:35.304Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2025-11-27T16:27:35.304Z
Learning: Applies to **/trigger/**/*.{ts,tsx,js,jsx} : Use `tasks.trigger()` with type-only imports to trigger tasks from backend code without importing the task implementation
Applied to files:
apps/webapp/app/components/runs/v3/TaskRunStatus.tsxpackages/trigger-sdk/src/v3/index.ts
📚 Learning: 2025-11-27T16:26:58.661Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/webapp.mdc:0-0
Timestamp: 2025-11-27T16:26:58.661Z
Learning: Applies to apps/webapp/**/*.{ts,tsx} : When importing from `trigger.dev/core` in the webapp, use subpath exports from the package.json instead of importing from the root path
Applied to files:
apps/webapp/app/components/runs/v3/TaskRunStatus.tsxpackages/trigger-sdk/src/v3/index.ts
📚 Learning: 2025-11-27T16:27:35.304Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2025-11-27T16:27:35.304Z
Learning: Use `useRun`, `useRealtimeRun` and other SWR/realtime hooks from `trigger.dev/react-hooks` for data fetching
Applied to files:
apps/webapp/app/components/runs/v3/TaskRunStatus.tsx
📚 Learning: 2024-10-18T15:41:52.352Z
Learnt from: nicktrn
Repo: triggerdotdev/trigger.dev PR: 1418
File: packages/core/src/v3/errors.ts:364-371
Timestamp: 2024-10-18T15:41:52.352Z
Learning: In `packages/core/src/v3/errors.ts`, within the `taskRunErrorEnhancer` function, `error.message` is always defined, so it's safe to directly call `error.message.includes("SIGTERM")` without additional checks.
Applied to files:
apps/webapp/app/components/runs/v3/TaskRunStatus.tsx
📚 Learning: 2026-02-11T16:37:32.429Z
Learnt from: matt-aitken
Repo: triggerdotdev/trigger.dev PR: 3019
File: apps/webapp/app/components/primitives/charts/Card.tsx:26-30
Timestamp: 2026-02-11T16:37:32.429Z
Learning: In projects using react-grid-layout, avoid relying on drag-handle class to imply draggability. Ensure drag-handle elements only affect dragging when the parent grid item is configured draggable in the layout; conditionally apply cursor styles based on the draggable prop. This improves correctness and accessibility.
Applied to files:
apps/webapp/app/components/runs/v3/TaskRunStatus.tsxapps/webapp/app/components/runs/v3/RunIcon.tsx
📚 Learning: 2026-02-03T18:27:49.039Z
Learnt from: 0ski
Repo: triggerdotdev/trigger.dev PR: 2994
File: apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.environment-variables/route.tsx:553-555
Timestamp: 2026-02-03T18:27:49.039Z
Learning: In apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.environment-variables/route.tsx, the menu buttons (like the Edit button with PencilSquareIcon) intentionally have no text labels - only icons are shown in the TableCellMenu. This is a deliberate UI design pattern for compact icon-only menu items.
Applied to files:
apps/webapp/app/components/runs/v3/RunIcon.tsx
📚 Learning: 2025-11-27T16:27:35.304Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2025-11-27T16:27:35.304Z
Learning: Applies to **/trigger/**/*.{ts,tsx,js,jsx} : Use `schemaTask()` from `trigger.dev/sdk/v3` with Zod schema for payload validation
Applied to files:
packages/trigger-sdk/src/v3/query.tspackages/trigger-sdk/src/v3/index.ts
📚 Learning: 2025-11-27T16:26:37.432Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-11-27T16:26:37.432Z
Learning: Applies to packages/trigger-sdk/**/*.{ts,tsx} : In the Trigger.dev SDK (packages/trigger-sdk), prefer isomorphic code like fetch and ReadableStream instead of Node.js-specific code
Applied to files:
packages/trigger-sdk/src/v3/query.tspackages/trigger-sdk/src/v3/index.ts
📚 Learning: 2025-11-27T16:26:37.432Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-11-27T16:26:37.432Z
Learning: The SDK at packages/trigger-sdk is an isomorphic TypeScript SDK
Applied to files:
packages/trigger-sdk/src/v3/index.ts
📚 Learning: 2025-11-27T16:27:35.304Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .cursor/rules/writing-tasks.mdc:0-0
Timestamp: 2025-11-27T16:27:35.304Z
Learning: Applies to **/trigger.config.ts : Configure OpenTelemetry instrumentations and exporters in trigger.config.ts for enhanced logging
Applied to files:
packages/trigger-sdk/src/v3/index.ts
📚 Learning: 2025-11-27T16:26:37.432Z
Learnt from: CR
Repo: triggerdotdev/trigger.dev PR: 0
File: .github/copilot-instructions.md:0-0
Timestamp: 2025-11-27T16:26:37.432Z
Learning: Applies to internal-packages/database/**/*.{ts,tsx} : Use Prisma for database interactions in internal-packages/database with PostgreSQL
Applied to files:
packages/trigger-sdk/src/v3/index.ts
🧬 Code graph analysis (3)
apps/webapp/app/routes/api.v1.query.ts (3)
packages/core/src/v3/apiClient/index.ts (1)
executeQuery(1412-1444)packages/trigger-sdk/src/v3/query.ts (1)
QueryScope(12-12)apps/webapp/app/utils/dataExport.ts (1)
rowsToCSV(36-50)
packages/core/src/v3/apiClient/index.ts (2)
packages/core/src/v3/apiClient/core.ts (2)
ZodFetchOptions(31-39)zodfetch(71-78)packages/core/src/v3/schemas/query.ts (2)
QueryExecuteResponseBody(40-43)QueryExecuteResponseBody(44-44)
packages/core/src/v3/schemas/query.ts (2)
apps/webapp/app/components/runs/v3/TaskRunStatus.tsx (2)
runFriendlyStatus(254-254)RunFriendlyStatus(254-254)packages/trigger-sdk/src/v3/query.ts (3)
RunFriendlyStatus(10-10)RunsTableRow(10-10)QueryTable(10-10)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (26)
- GitHub Check: units / internal / 🧪 Unit Tests: Internal (1, 8)
- GitHub Check: units / internal / 🧪 Unit Tests: Internal (7, 8)
- GitHub Check: units / internal / 🧪 Unit Tests: Internal (6, 8)
- GitHub Check: units / internal / 🧪 Unit Tests: Internal (4, 8)
- GitHub Check: units / internal / 🧪 Unit Tests: Internal (8, 8)
- GitHub Check: units / internal / 🧪 Unit Tests: Internal (2, 8)
- GitHub Check: units / internal / 🧪 Unit Tests: Internal (3, 8)
- GitHub Check: units / internal / 🧪 Unit Tests: Internal (5, 8)
- GitHub Check: units / webapp / 🧪 Unit Tests: Webapp (8, 8)
- GitHub Check: units / webapp / 🧪 Unit Tests: Webapp (1, 8)
- GitHub Check: units / webapp / 🧪 Unit Tests: Webapp (7, 8)
- GitHub Check: units / webapp / 🧪 Unit Tests: Webapp (4, 8)
- GitHub Check: units / webapp / 🧪 Unit Tests: Webapp (2, 8)
- GitHub Check: units / webapp / 🧪 Unit Tests: Webapp (5, 8)
- GitHub Check: units / webapp / 🧪 Unit Tests: Webapp (3, 8)
- GitHub Check: units / webapp / 🧪 Unit Tests: Webapp (6, 8)
- GitHub Check: units / packages / 🧪 Unit Tests: Packages (1, 1)
- GitHub Check: sdk-compat / Cloudflare Workers
- GitHub Check: e2e / 🧪 CLI v3 tests (windows-latest - npm)
- GitHub Check: e2e / 🧪 CLI v3 tests (ubuntu-latest - pnpm)
- GitHub Check: e2e / 🧪 CLI v3 tests (windows-latest - pnpm)
- GitHub Check: sdk-compat / Node.js 22.12 (ubuntu-latest)
- GitHub Check: sdk-compat / Deno Runtime
- GitHub Check: sdk-compat / Node.js 20.20 (ubuntu-latest)
- GitHub Check: typecheck / typecheck
- GitHub Check: Analyze (javascript-typescript)
🔇 Additional comments (6)
apps/webapp/app/components/runs/v3/TaskRunStatus.tsx (1)
15-15: LGTM — re-export from core with local usage is clean.The import on line 15 supplies
runFriendlyStatusfor local runtime use (e.g.,isRunFriendlyStatus), and the re-export on line 254 preserves the public API for existing consumers. Subpath import from@trigger.dev/core/v3aligns with the coding guidelines.Also applies to: 252-254
apps/webapp/app/components/runs/v3/RunIcon.tsx (1)
7-7: LGTM —TableCellsIconimport and streams formatting.The new import and the minor whitespace adjustment on the
"streams"case are fine.Also applies to: 116-116
packages/core/src/v3/schemas/index.ts (1)
18-18: LGTM!Re-export of
./query.jsis consistent with the existing pattern in this barrel file.packages/core/src/v3/apiClient/index.ts (1)
1412-1444: LGTM on theexecuteQuerymethod structure.The method correctly follows the existing
zodfetchpattern used throughout the class, with proper header injection, body serialization, and request option merging.packages/trigger-sdk/src/v3/query.ts (1)
60-158: Well-designed overloads and type-safe API surface.The CSV/JSON overloads with discriminated return types provide excellent DX. The generic
TRowparameter for JSON queries and thePrettifywrapper are nice touches.packages/trigger-sdk/src/v3/index.ts (1)
20-20: LGTM!Re-export of
./query.jsfollows the established pattern and surfaces the new query API from the SDK's public entry point.
✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.
Summary