Skip to content

Commit adf50c6

Browse files
committed
fix(dagster): replace invalid ... on Error interface spreads with concrete union members
- list_runs: InvalidPipelineRunsFilterError + PythonError - list_jobs: RepositoryNotFoundError + PythonError - reexecute_run: PipelineNotFoundError, RunConflict, UnauthorizedError, PythonError - terminate_run: RunNotFoundError, UnauthorizedError, PythonError - delete_run: RunNotFoundError, UnauthorizedError, PythonError - list_sensors: RepositoryNotFoundError + PythonError - start_sensor: SensorNotFoundError, UnauthorizedError, PythonError - stop_sensor: UnauthorizedError + PythonError - stop_schedule: fix $id variable type String! → String (matches nullable schema arg) - dagster.mdx: add manual intro description section
1 parent 3f7839c commit adf50c6

File tree

10 files changed

+67
-9
lines changed

10 files changed

+67
-9
lines changed

apps/docs/content/docs/en/tools/dagster.mdx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,19 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
1010
color="#ffffff"
1111
/>
1212

13+
{/* MANUAL-CONTENT-START:intro */}
14+
[Dagster](https://dagster.io/) is an open-source data orchestration platform designed for building, testing, and monitoring data pipelines. It provides a unified model for defining data assets, scheduling jobs, and observing pipeline execution — whether running locally or deployed to Dagster+.
15+
16+
With Dagster, you can:
17+
18+
- **Orchestrate data pipelines**: Define and run jobs composed of ops and assets with full dependency tracking
19+
- **Monitor executions**: Track run status, inspect logs, and debug failures step by step
20+
- **Manage schedules and sensors**: Automate pipeline triggers on a cron schedule or in response to external events
21+
- **Reexecute selectively**: Resume failed pipelines from the point of failure without rerunning successful steps
22+
23+
In Sim, the Dagster integration enables your agents to interact with a Dagster instance programmatically. Agents can launch and monitor job runs, retrieve execution logs, reexecute failed runs, and manage schedules and sensors — all as part of a larger automated workflow. Use Dagster as an orchestration layer your agents can control and observe, enabling data-driven automation that responds dynamically to pipeline outcomes.
24+
{/* MANUAL-CONTENT-END */}
25+
1326
## Usage Instructions
1427

1528
Connect to a Dagster instance to launch job runs, monitor run status, list available jobs across repositories, terminate or delete runs, reexecute failed runs, fetch run logs, and manage schedules and sensors. API token only required for Dagster+.

apps/sim/tools/dagster/delete_run.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,13 @@ const DELETE_RUN_MUTATION = `
1515
... on DeletePipelineRunSuccess {
1616
runId
1717
}
18-
... on Error {
18+
... on RunNotFoundError {
19+
message
20+
}
21+
... on UnauthorizedError {
22+
message
23+
}
24+
... on PythonError {
1925
message
2026
}
2127
}

apps/sim/tools/dagster/list_jobs.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,11 @@ const LIST_JOBS_QUERY = `
1313
}
1414
}
1515
}
16-
... on Error {
16+
... on RepositoryNotFoundError {
17+
__typename
18+
message
19+
}
20+
... on PythonError {
1721
__typename
1822
message
1923
}

apps/sim/tools/dagster/list_runs.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,11 @@ function buildListRunsQuery(hasFilter: boolean) {
2929
endTime
3030
}
3131
}
32-
... on Error {
32+
... on InvalidPipelineRunsFilterError {
33+
__typename
34+
message
35+
}
36+
... on PythonError {
3337
__typename
3438
message
3539
}

apps/sim/tools/dagster/list_sensors.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,11 @@ function buildListSensorsQuery(hasStatus: boolean) {
2727
}
2828
}
2929
}
30-
... on Error {
30+
... on RepositoryNotFoundError {
31+
__typename
32+
message
33+
}
34+
... on PythonError {
3135
__typename
3236
message
3337
}

apps/sim/tools/dagster/reexecute_run.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,16 @@ const REEXECUTE_RUN_MUTATION = `
4141
message
4242
}
4343
}
44-
... on Error {
44+
... on PipelineNotFoundError {
45+
message
46+
}
47+
... on RunConflict {
48+
message
49+
}
50+
... on UnauthorizedError {
51+
message
52+
}
53+
... on PythonError {
4554
message
4655
}
4756
}

apps/sim/tools/dagster/start_sensor.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,15 @@ const START_SENSOR_MUTATION = `
2121
status
2222
}
2323
}
24-
... on Error {
24+
... on SensorNotFoundError {
25+
__typename
26+
message
27+
}
28+
... on UnauthorizedError {
29+
__typename
30+
message
31+
}
32+
... on PythonError {
2533
__typename
2634
message
2735
}

apps/sim/tools/dagster/stop_schedule.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ interface ScheduleMutationResult {
1515
}
1616

1717
const STOP_SCHEDULE_MUTATION = `
18-
mutation StopSchedule($id: String!) {
18+
mutation StopSchedule($id: String) {
1919
stopRunningSchedule(id: $id) {
2020
type: __typename
2121
... on ScheduleStateResult {

apps/sim/tools/dagster/stop_sensor.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,11 @@ const STOP_SENSOR_MUTATION = `
2121
status
2222
}
2323
}
24-
... on Error {
24+
... on UnauthorizedError {
25+
__typename
26+
message
27+
}
28+
... on PythonError {
2529
__typename
2630
message
2731
}

apps/sim/tools/dagster/terminate_run.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,13 @@ const TERMINATE_RUN_MUTATION = `
2424
}
2525
message
2626
}
27-
... on Error {
27+
... on RunNotFoundError {
28+
message
29+
}
30+
... on UnauthorizedError {
31+
message
32+
}
33+
... on PythonError {
2834
message
2935
}
3036
}

0 commit comments

Comments
 (0)