feat(block): Add Dagster block#3924
feat(block): Add Dagster block#3924abhinavDhulipala wants to merge 5 commits intosimstudioai:stagingfrom
Conversation
|
@abhinavDhulipala is attempting to deploy a commit to the Sim Team on Vercel. A member of the Team first needs to authorize it. |
PR SummaryMedium Risk Overview Implements a new Adds a new Reviewed by Cursor Bugbot for commit c53f2b7. Bugbot is set up for automated code reviews on this repo. Configure here. |
ae73ab1 to
fcd8ace
Compare
Greptile SummaryThis PR adds a new Dagster integration block (5 operations: Launch Run, Get Run, List Runs, List Jobs, Terminate Run) and a CloudWatch block (7 operations), both following the standard tool → block → icon → registry pattern. The implementation is functionally solid: the GraphQL queries and mutations are well-structured, the Key points:
Confidence Score: 5/5Safe to merge; all remaining findings are minor style and type-correctness suggestions that do not affect runtime correctness for typical usage. The core integration logic is correct — GraphQL queries/mutations are well-formed, the block params merge behaviour was verified against the executor, and edge-case error paths are handled. The only functional concern (limit=0 falsy guard) affects an impractical edge case. Remaining items are style violations and a type annotation improvement. apps/sim/blocks/blocks/dagster.ts (non-TSDoc comments + limit=0 guard), apps/sim/tools/dagster/types.ts (apiKey optionality), apps/sim/tools/dagster/terminate_run.ts (non-TSDoc comments) Important Files Changed
Sequence DiagramsequenceDiagram
participant UI as Sim Workflow UI
participant Exec as Block Executor
participant Tool as Dagster Tool
participant DG as Dagster GraphQL API
UI->>Exec: Execute DagsterBlock (operation, host, apiKey, ...params)
Exec->>Exec: tools.config.tool(params) resolves tool name
Exec->>Exec: merge(inputs, tools.config.params(inputs))
Exec->>Tool: executeTool(finalInputs)
alt Launch Run
Tool->>DG: POST /graphql mutation LaunchRun
DG-->>Tool: LaunchRunSuccess or Error
Tool-->>Exec: output runId
else Get Run
Tool->>DG: POST /graphql query GetRun
DG-->>Tool: Run or RunNotFoundError
Tool-->>Exec: output run details
else List Runs
Tool->>DG: POST /graphql query ListRuns
DG-->>Tool: Runs results
Tool-->>Exec: output runs array
else List Jobs
Tool->>DG: POST /graphql query ListJobNames
DG-->>Tool: RepositoryConnection nodes
Tool-->>Exec: output jobs array
else Terminate Run
Tool->>DG: POST /graphql mutation TerminateRun
DG-->>Tool: TerminateRunSuccess or Failure
Tool-->>Exec: output success status
end
Exec-->>UI: Block output
Reviews (1): Last reviewed commit: "feat(blocks): add dagster block" | Re-trigger Greptile |
fcd8ace to
473ea94
Compare
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
95d1b4c to
7f2101d
Compare
7f2101d to
d0b45c1
Compare
1979679 to
c53f2b7
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit c53f2b7. Configure here.
| } | ||
| } | ||
| } | ||
| ` |
There was a problem hiding this comment.
list_jobs query omits repository location name
Medium Severity
The LIST_JOBS_QUERY GraphQL query doesn't request location { name } from repository nodes, so repositoryLocationName is absent from the response. Since launch_run requires repositoryLocationName, users cannot chain list_jobs output into launch_run — the primary workflow for discovering and launching jobs. The response transform and type definition also only include name and repositoryName.
Reviewed by Cursor Bugbot for commit c53f2b7. Configure here.
|
merged in #4013 |


Summary
Add a new Dagster integration with 5 operations that work with both
Dagster instances via the GraphQL API.
Type of Change
Testing
Tested this by doing the following.
uv run dg dev --port 4000http://127.0.0.1:4000.Checklist
Screenshots/Videos