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.


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