@cliangdev/conductor 0.7.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/claude/commands/conductor/workflow.md +95 -12
- package/dist/daemon/job-runner.d.ts +16 -0
- package/dist/daemon/job-runner.d.ts.map +1 -1
- package/dist/daemon/job-runner.js +211 -14
- package/dist/daemon/job-runner.js.map +1 -1
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +182 -6
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/tools/documents.d.ts +11 -0
- package/dist/mcp/tools/documents.d.ts.map +1 -1
- package/dist/mcp/tools/documents.js +22 -2
- package/dist/mcp/tools/documents.js.map +1 -1
- package/dist/mcp/tools/integrations.d.ts +1 -0
- package/dist/mcp/tools/integrations.d.ts.map +1 -1
- package/dist/mcp/tools/integrations.js +3 -0
- package/dist/mcp/tools/integrations.js.map +1 -1
- package/dist/mcp/tools/knowledge.d.ts +51 -0
- package/dist/mcp/tools/knowledge.d.ts.map +1 -0
- package/dist/mcp/tools/knowledge.js +92 -0
- package/dist/mcp/tools/knowledge.js.map +1 -0
- package/dist/mcp/tools/workflows.d.ts +12 -0
- package/dist/mcp/tools/workflows.d.ts.map +1 -1
- package/dist/mcp/tools/workflows.js +21 -0
- package/dist/mcp/tools/workflows.js.map +1 -1
- package/package.json +1 -1
|
@@ -37,8 +37,10 @@ If ambiguous, ask:
|
|
|
37
37
|
Run these in parallel before designing anything:
|
|
38
38
|
|
|
39
39
|
```
|
|
40
|
-
1. list_integration_tools
|
|
41
|
-
2. list_workflows
|
|
40
|
+
1. list_integration_tools → what data sources/actions are already connected + their operations
|
|
41
|
+
2. list_workflows → existing workflows (for naming/area conventions)
|
|
42
|
+
3. list_connector_catalog → integrations NOT yet connected, for recommending a fit
|
|
43
|
+
4. list_workflow_secrets → which ${{ secrets.X }} keys already exist (never their values)
|
|
42
44
|
```
|
|
43
45
|
|
|
44
46
|
Then ask the user (use AskUserQuestion for structured choices where applicable):
|
|
@@ -50,11 +52,21 @@ Then ask the user (use AskUserQuestion for structured choices where applicable):
|
|
|
50
52
|
- Work Item status change → `on: conductor.work_item.status_changed:`
|
|
51
53
|
- Manual run button → `on: workflow_dispatch:`
|
|
52
54
|
3. **What data or actions does it need?** (use `list_integration_tools` output to suggest connected options)
|
|
53
|
-
4. **Where do results go?** Discord
|
|
55
|
+
4. **Where do results go?** Discord/Slack post, create a Conductor issue, HTTP POST, etc.
|
|
54
56
|
|
|
55
57
|
If `list_integration_tools` shows relevant connected integrations, name them explicitly:
|
|
56
58
|
> "I can see Google Search Console is connected (operations: search_analytics, top_queries, top_pages). Should I use that as the data source?"
|
|
57
59
|
|
|
60
|
+
If the goal needs a data source or outbound action that **isn't** connected yet, check
|
|
61
|
+
`list_connector_catalog` and name the specific connector rather than falling back to a raw `http`
|
|
62
|
+
step silently:
|
|
63
|
+
> "Posting to Discord needs the Discord connector — it's not connected yet. Connect it under
|
|
64
|
+
> **Settings → Integrations**, or I can use a raw `http` step with a webhook secret instead."
|
|
65
|
+
|
|
66
|
+
If the design will reference `${{ secrets.SOME_KEY }}`, confirm it's in the `list_workflow_secrets`
|
|
67
|
+
result before designing around it — don't assume a secret exists because the user mentioned it.
|
|
68
|
+
Secrets are added under **Settings → Secrets**.
|
|
69
|
+
|
|
58
70
|
---
|
|
59
71
|
|
|
60
72
|
## Step 2 — Design
|
|
@@ -92,19 +104,30 @@ steps:
|
|
|
92
104
|
| Step type | `uses` value | When to use |
|
|
93
105
|
|-----------|-------------|-------------|
|
|
94
106
|
| Integration | `integration` | Connected data source (GSC, PostHog, RevenueCat, GCP Billing) |
|
|
107
|
+
| Action | `action` | Outbound side effect via a connector with the ACTION capability (e.g. `discord post_message`) |
|
|
95
108
|
| HTTP | `http` | Any REST API call; custom integrations |
|
|
96
109
|
| Docker | `docker://image` | Run a script or CLI tool in a container |
|
|
110
|
+
| Agent | `agent` | Hand a task to a named AI agent (Settings → Agents) |
|
|
111
|
+
| Claude Code | `claude-code` | Headless Claude Code (`claude -p`), full tool-calling loop, optional Conductor MCP access |
|
|
97
112
|
| Condition | `condition` | Branch to different jobs based on a runtime value |
|
|
98
113
|
| Kestra | `kestra` | Delegate to an existing Kestra flow |
|
|
99
114
|
|
|
115
|
+
Prefer `uses: action` over a raw `http` step with a webhook-secret whenever an action connector
|
|
116
|
+
exists for the target — same reasoning as preferring `integration` over `http` for reads:
|
|
117
|
+
credentials stay off the connector, never in the YAML.
|
|
118
|
+
|
|
100
119
|
### Reference: Interpolation
|
|
101
120
|
|
|
102
121
|
| Expression | Value |
|
|
103
122
|
|------------|-------|
|
|
104
123
|
| `${{ event.FIELD }}` | Trigger event payload field |
|
|
105
124
|
| `${{ secrets.SECRET_NAME }}` | Project secret (custom secrets only; integrations don't need this) |
|
|
125
|
+
| `${{ inputs.KEY }}` | A manual-dispatch input value (see `on.workflow_dispatch.inputs`) |
|
|
106
126
|
| `${{ steps.STEP_ID.outputs.KEY }}` | Output from a step in the current job |
|
|
127
|
+
| `${{ steps.STEP_ID.result }}` | Terminal result of a prior step: `success` / `failure` / `skipped` |
|
|
107
128
|
| `${{ needs.JOB_ID.outputs.KEY }}` | Output from a completed upstream job |
|
|
129
|
+
| `${{ needs.JOB_ID.result }}` | Terminal result of an upstream job: `success` / `failure` / `skipped` |
|
|
130
|
+
| `${{ needs.JOB_ID.artifacts.NAME }}` | Signed download URL for an artifact an upstream job produced |
|
|
108
131
|
| `${{ loop.iteration }}` | Current loop iteration (1-based) |
|
|
109
132
|
|
|
110
133
|
### Annotated example — Weekly SEO report
|
|
@@ -131,14 +154,70 @@ jobs:
|
|
|
131
154
|
runs-on: conductor
|
|
132
155
|
steps:
|
|
133
156
|
- id: notify
|
|
134
|
-
uses:
|
|
157
|
+
uses: action
|
|
135
158
|
with:
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
159
|
+
connector: discord
|
|
160
|
+
action: post_message
|
|
161
|
+
input:
|
|
162
|
+
content: "📊 Weekly SEO Report\nTop pages: ${{ needs.fetch_seo.outputs.data }}"
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Resilience patterns
|
|
168
|
+
|
|
169
|
+
These are the skill's key value-add for digest/report-style workflows: don't let one failed
|
|
170
|
+
collector job silently kill the whole report.
|
|
171
|
+
|
|
172
|
+
**`if: always()` / `if: failure()` on downstream jobs.** A digest job should usually still post even
|
|
173
|
+
if one collector failed — pair with `needs.JOB.result` to mark that section unavailable instead of
|
|
174
|
+
skipping the whole digest:
|
|
175
|
+
|
|
176
|
+
```yaml
|
|
177
|
+
digest:
|
|
178
|
+
needs: [collect_gsc, collect_posthog]
|
|
179
|
+
if: always()
|
|
180
|
+
steps:
|
|
181
|
+
- uses: action
|
|
182
|
+
with:
|
|
183
|
+
connector: discord
|
|
184
|
+
action: post_message
|
|
185
|
+
input:
|
|
186
|
+
content: "GSC (${{ needs.collect_gsc.result }}): ${{ needs.collect_gsc.outputs.data }}"
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
**Step-level `continue-on-error`.** Let one optional step fail without failing the job; branch later
|
|
190
|
+
steps on `${{ steps.ID.result }}`:
|
|
191
|
+
|
|
192
|
+
```yaml
|
|
193
|
+
- id: optional_lint
|
|
194
|
+
type: http
|
|
195
|
+
url: https://lint.example.com/check
|
|
196
|
+
continue-on-error: true
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
**Dispatch `inputs` for parameterized/backfill runs.** Declare `on.workflow_dispatch.inputs` so a
|
|
200
|
+
manual re-run (e.g. `dispatch_workflow` with `inputs: {date: "2026-06-01"}`) can target a specific
|
|
201
|
+
date/env rather than always running "now":
|
|
202
|
+
|
|
203
|
+
```yaml
|
|
204
|
+
on:
|
|
205
|
+
workflow_dispatch:
|
|
206
|
+
inputs:
|
|
207
|
+
date: { description: "Backfill date (YYYY-MM-DD)", required: false }
|
|
140
208
|
```
|
|
141
209
|
|
|
210
|
+
Reference it as `${{ inputs.date }}` anywhere in the workflow.
|
|
211
|
+
|
|
212
|
+
## Artifacts
|
|
213
|
+
|
|
214
|
+
For whole-file handoff between jobs (a build binary, a rendered report, a dataset) — not the small
|
|
215
|
+
string values `outputs:` is for — a `docker` or `claude-code` step declares `artifacts: [{name, path}]`
|
|
216
|
+
and a downstream job declares `consumes: [name]`. Reach for this when a job needs to hand a real file
|
|
217
|
+
to another job rather than a string. Note: `docker` artifact producers require `runs-on: self-hosted`
|
|
218
|
+
(the Conductor-hosted docker path doesn't support artifact upload); `claude-code` supports artifacts
|
|
219
|
+
on any runtime.
|
|
220
|
+
|
|
142
221
|
---
|
|
143
222
|
|
|
144
223
|
## Step 3 — Creation Loop
|
|
@@ -174,9 +253,10 @@ publish_workflow(workflowId)
|
|
|
174
253
|
|
|
175
254
|
### 3d. Test dispatch (optional)
|
|
176
255
|
|
|
177
|
-
dispatch_workflow(workflowId)
|
|
256
|
+
dispatch_workflow(workflowId, inputs?)
|
|
178
257
|
|
|
179
|
-
Offer to trigger a test run immediately so the user can see it work.
|
|
258
|
+
Offer to trigger a test run immediately so the user can see it work. Pass `inputs` if the workflow
|
|
259
|
+
declares `on.workflow_dispatch.inputs` (e.g. a backfill date) — otherwise omit it. Returns workflowId + runId.
|
|
180
260
|
|
|
181
261
|
After dispatching, call get_workflow_run once to check the run started:
|
|
182
262
|
|
|
@@ -184,6 +264,9 @@ get_workflow_run(workflowId, runId)
|
|
|
184
264
|
|
|
185
265
|
Don't poll — one check is enough since runs are async. Include the status in the final report to the user. A RUNNING or SUCCESS status means the workflow is live and executing.
|
|
186
266
|
|
|
267
|
+
For a scheduled or event-triggered workflow (no immediate dispatch to check), use
|
|
268
|
+
`list_workflow_runs(workflowId)` later to see whether it has actually fired since going live.
|
|
269
|
+
|
|
187
270
|
---
|
|
188
271
|
|
|
189
272
|
## Step 4 — Report to User
|
|
@@ -267,10 +350,10 @@ publish_workflow(workflowId) // DRAFT → PUBLISHED
|
|
|
267
350
|
These rules apply regardless of the user's request. Never deviate from them.
|
|
268
351
|
|
|
269
352
|
1. **Always call `list_integration_tools` before designing** — never guess what integrations are available from secret key names or conversation context.
|
|
270
|
-
2. **Use `uses: integration` for any connected integration
|
|
353
|
+
2. **Use `uses: integration` for reads and `uses: action` for outbound side effects** on any connected integration — credentials must never appear in workflow YAML.
|
|
271
354
|
3. **Always call `get_workflow` after `create_workflow`** — close the observability loop before publishing.
|
|
272
355
|
4. **DRAFT is the safe buffer** — only call `publish_workflow` when the design is fully confirmed.
|
|
273
356
|
5. **Fix publish errors in place** — call `update_workflow` and retry; never call `create_workflow` a second time for the same workflow.
|
|
274
|
-
6. **
|
|
357
|
+
6. **Never invent connector IDs** — use `list_integration_tools` for what's connected, `list_connector_catalog` for what's available but not yet connected. Same for secrets: verify with `list_workflow_secrets` before designing around a `${{ secrets.X }}` reference.
|
|
275
358
|
7. **Register a custom skill before binding it** — for a statechart `skill` step whose id is not a built-in or
|
|
276
359
|
already registered (`list_skills`), call `register_skill` first, or Publish will reject the definition.
|
|
@@ -16,6 +16,16 @@ export interface WorkflowJobEvent {
|
|
|
16
16
|
projectId: string;
|
|
17
17
|
workflowName: string;
|
|
18
18
|
}
|
|
19
|
+
/** One declared producer artifact — {@link DispatchStep.artifacts}. */
|
|
20
|
+
export interface DispatchArtifact {
|
|
21
|
+
name: string;
|
|
22
|
+
path: string;
|
|
23
|
+
}
|
|
24
|
+
/** One resolved consumed artifact — {@link DispatchPayload.consumedArtifacts}. */
|
|
25
|
+
export interface ConsumedArtifact {
|
|
26
|
+
name: string;
|
|
27
|
+
downloadUrl: string;
|
|
28
|
+
}
|
|
19
29
|
export interface DispatchStep {
|
|
20
30
|
stepIndex: number;
|
|
21
31
|
workerJobId: string;
|
|
@@ -30,6 +40,8 @@ export interface DispatchStep {
|
|
|
30
40
|
maxTurns?: number;
|
|
31
41
|
inputsJson?: string;
|
|
32
42
|
outputSchemaJson?: string;
|
|
43
|
+
/** This step's declared `artifacts:` (docker/claude-code only). Optional/additive. */
|
|
44
|
+
artifacts?: DispatchArtifact[];
|
|
33
45
|
}
|
|
34
46
|
export interface DispatchPayload {
|
|
35
47
|
jobRunId: string;
|
|
@@ -42,6 +54,10 @@ export interface DispatchPayload {
|
|
|
42
54
|
logChunkUrlTemplate: string;
|
|
43
55
|
stepCompleteUrlTemplate: string;
|
|
44
56
|
};
|
|
57
|
+
/** Internal base URL for this run's artifact endpoints. Present iff any step declares artifacts. */
|
|
58
|
+
artifactsUrl?: string;
|
|
59
|
+
/** This job's `consumes:` artifacts, pre-resolved to signed download URLs. Optional/additive. */
|
|
60
|
+
consumedArtifacts?: ConsumedArtifact[];
|
|
45
61
|
}
|
|
46
62
|
export declare const DEFAULT_RUNNER_IMAGE = "ghcr.io/cliangdev/conductor-runner:3";
|
|
47
63
|
export declare const DEFAULT_TIMEOUT_MINUTES = 30;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-runner.d.ts","sourceRoot":"","sources":["../../src/daemon/job-runner.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAM9C;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,CAAC,CAAA;IACX,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"job-runner.d.ts","sourceRoot":"","sources":["../../src/daemon/job-runner.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAM9C;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,CAAC,CAAA;IACX,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,uEAAuE;AACvE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,kFAAkF;AAClF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,sFAAsF;IACtF,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3B,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE;QACT,mBAAmB,EAAE,MAAM,CAAA;QAC3B,uBAAuB,EAAE,MAAM,CAAA;KAChC,CAAA;IACD,oGAAoG;IACpG,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iGAAiG;IACjG,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAA;CACvC;AAUD,eAAO,MAAM,oBAAoB,yCAAyC,CAAA;AAC1E,eAAO,MAAM,uBAAuB,KAAK,CAAA;AAqCzC;+EAC+E;AAC/E,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,GAClB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA0CxB;AAmbD;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4D3F"}
|
|
@@ -8,6 +8,13 @@ import { acknowledgeEvent, completeJob } from './run-lifecycle.js';
|
|
|
8
8
|
export const DEFAULT_RUNNER_IMAGE = 'ghcr.io/cliangdev/conductor-runner:3';
|
|
9
9
|
export const DEFAULT_TIMEOUT_MINUTES = 30;
|
|
10
10
|
const LOG_BATCH_INTERVAL_MS = 2000;
|
|
11
|
+
/** Fixed in-container path consumed artifacts are made available at — mirrors
|
|
12
|
+
* ClaudeCodeStepExecutor's CONDUCTOR_ARTIFACTS_DIR value for the Cloud Run path, so the same
|
|
13
|
+
* entrypoint contract works regardless of which launcher runs it. */
|
|
14
|
+
const ARTIFACTS_CONTAINER_DIR = '/conductor/artifacts';
|
|
15
|
+
/** Workspace-relative root a producing step's declared `path:` is resolved against, inside the
|
|
16
|
+
* container — matches the claude-code entrypoint's WORKSPACE_DIR. */
|
|
17
|
+
const WORKSPACE_CONTAINER_DIR = '/conductor/workspace';
|
|
11
18
|
/** Extra headroom for the daemon's kill backstop on claude-code steps: the
|
|
12
19
|
* entrypoint enforces the real timeout itself (SIGTERM→SIGKILL, then
|
|
13
20
|
* self-reports CLAUDE_TIMEOUT); killing at exactly the same moment would race
|
|
@@ -72,6 +79,14 @@ export function buildStepEnv(payload, step, event, config, stepCompleteUrl, logC
|
|
|
72
79
|
contractEnv.CONDUCTOR_OUTPUT_SCHEMA_JSON = step.outputSchemaJson;
|
|
73
80
|
// Caller (runStep) guarantees this is present before reaching here.
|
|
74
81
|
contractEnv.CLAUDE_CODE_OAUTH_TOKEN = config.claudeCodeOauthToken ?? '';
|
|
82
|
+
if (step.artifacts && step.artifacts.length > 0 && payload.artifactsUrl) {
|
|
83
|
+
contractEnv.CONDUCTOR_ARTIFACTS_URL = payload.artifactsUrl;
|
|
84
|
+
contractEnv.CONDUCTOR_STEP_ARTIFACTS_JSON = JSON.stringify(step.artifacts);
|
|
85
|
+
}
|
|
86
|
+
if (payload.consumedArtifacts && payload.consumedArtifacts.length > 0) {
|
|
87
|
+
contractEnv.CONDUCTOR_CONSUMED_ARTIFACTS_JSON = JSON.stringify(payload.consumedArtifacts);
|
|
88
|
+
contractEnv.CONDUCTOR_ARTIFACTS_DIR = ARTIFACTS_CONTAINER_DIR;
|
|
89
|
+
}
|
|
75
90
|
}
|
|
76
91
|
const merged = { ...baseEnv, ...contractEnv };
|
|
77
92
|
delete merged['ANTHROPIC_API_KEY'];
|
|
@@ -190,6 +205,153 @@ function writeSecretEnvFile(fileEnv) {
|
|
|
190
205
|
fs.writeFileSync(filePath, contents + '\n', { mode: 0o600 });
|
|
191
206
|
return filePath;
|
|
192
207
|
}
|
|
208
|
+
/**
|
|
209
|
+
* Downloads every consumed artifact into a fresh per-job temp directory, once per job (not per
|
|
210
|
+
* step) — the same directory is bind-mounted at {@link ARTIFACTS_CONTAINER_DIR} into every
|
|
211
|
+
* container this job runs, so any step (not just claude-code, whose entrypoint additionally gets
|
|
212
|
+
* `CONDUCTOR_CONSUMED_ARTIFACTS_JSON`) can read the files directly.
|
|
213
|
+
*
|
|
214
|
+
* A failed download (non-OK response or a network error) fails fast with a named reason — mirrors
|
|
215
|
+
* conductor-claude-entrypoint.mjs's materializeConsumedArtifacts, which throws a ConfigError on the
|
|
216
|
+
* same condition: a consumer job that can't get a file it declared `consumes:` on has nothing
|
|
217
|
+
* sensible to fall back to, and silently running steps against a missing file is exactly the
|
|
218
|
+
* silent-absence failure mode artifact passing exists to prevent.
|
|
219
|
+
*/
|
|
220
|
+
async function downloadConsumedArtifacts(payload, jobRunId) {
|
|
221
|
+
if (!payload.consumedArtifacts || payload.consumedArtifacts.length === 0)
|
|
222
|
+
return { ok: true, dir: null };
|
|
223
|
+
const dir = path.join(os.tmpdir(), `conductor-artifacts-${jobRunId}`);
|
|
224
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
225
|
+
for (const artifact of payload.consumedArtifacts) {
|
|
226
|
+
let res;
|
|
227
|
+
try {
|
|
228
|
+
res = await fetch(artifact.downloadUrl);
|
|
229
|
+
}
|
|
230
|
+
catch (err) {
|
|
231
|
+
cleanupDir(dir);
|
|
232
|
+
return {
|
|
233
|
+
ok: false,
|
|
234
|
+
errorReason: `ARTIFACT_DOWNLOAD_FAILED: failed to download consumed artifact '${artifact.name}': ${String(err)}`,
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
if (!res.ok) {
|
|
238
|
+
cleanupDir(dir);
|
|
239
|
+
return {
|
|
240
|
+
ok: false,
|
|
241
|
+
errorReason: `ARTIFACT_DOWNLOAD_FAILED: failed to download consumed artifact '${artifact.name}': HTTP ${res.status}`,
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
const buf = Buffer.from(await res.arrayBuffer());
|
|
245
|
+
fs.writeFileSync(path.join(dir, artifact.name), buf);
|
|
246
|
+
}
|
|
247
|
+
return { ok: true, dir };
|
|
248
|
+
}
|
|
249
|
+
/** Best-effort recursive removal — used to clean up the per-job artifacts dir when a partial
|
|
250
|
+
* download fails partway through, since the caller never gets a handle to it in that case. */
|
|
251
|
+
function cleanupDir(dir) {
|
|
252
|
+
try {
|
|
253
|
+
fs.rmSync(dir, { recursive: true, force: true });
|
|
254
|
+
}
|
|
255
|
+
catch (err) {
|
|
256
|
+
console.error('[job-runner] Failed to remove consumed-artifacts dir after a failed download:', err);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
/** Declares one artifact (`POST {artifactsUrl}`) and returns its upload target, or null on failure. */
|
|
260
|
+
async function createArtifact(artifactsUrl, jobId, name, runToken) {
|
|
261
|
+
try {
|
|
262
|
+
const res = await fetch(artifactsUrl, {
|
|
263
|
+
method: 'POST',
|
|
264
|
+
headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${runToken}` },
|
|
265
|
+
body: JSON.stringify({ jobId, name }),
|
|
266
|
+
});
|
|
267
|
+
if (!res.ok)
|
|
268
|
+
return null;
|
|
269
|
+
return (await res.json());
|
|
270
|
+
}
|
|
271
|
+
catch (err) {
|
|
272
|
+
console.error(`[job-runner] Failed to create artifact '${name}':`, err);
|
|
273
|
+
return null;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* PUTs the artifact's raw bytes to its upload URL. A signed GCS URL is self-contained and must NOT
|
|
278
|
+
* carry an Authorization header (it would invalidate the signature); the local-profile passthrough
|
|
279
|
+
* URL is backend-relative (starts with `apiUrl`) and DOES need the run-token bearer header — that's
|
|
280
|
+
* the only signal available to tell the two apart.
|
|
281
|
+
*/
|
|
282
|
+
async function putArtifactContent(uploadUrl, content, runToken, apiUrl) {
|
|
283
|
+
const headers = {};
|
|
284
|
+
if (uploadUrl.startsWith(apiUrl)) {
|
|
285
|
+
headers['Authorization'] = `Bearer ${runToken}`;
|
|
286
|
+
}
|
|
287
|
+
try {
|
|
288
|
+
const res = await fetch(uploadUrl, { method: 'PUT', headers, body: content });
|
|
289
|
+
return res.ok;
|
|
290
|
+
}
|
|
291
|
+
catch (err) {
|
|
292
|
+
console.error('[job-runner] Failed to PUT artifact content:', err);
|
|
293
|
+
return false;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
async function completeArtifact(artifactsUrl, artifactId, runToken) {
|
|
297
|
+
try {
|
|
298
|
+
const res = await fetch(`${artifactsUrl}/${artifactId}/complete`, {
|
|
299
|
+
method: 'POST',
|
|
300
|
+
headers: { Authorization: `Bearer ${runToken}` },
|
|
301
|
+
});
|
|
302
|
+
return res.ok;
|
|
303
|
+
}
|
|
304
|
+
catch (err) {
|
|
305
|
+
console.error(`[job-runner] Failed to complete artifact ${artifactId}:`, err);
|
|
306
|
+
return false;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Uploads a `docker` step's declared artifacts after it exits successfully — `claude-code` steps
|
|
311
|
+
* never reach here (the entrypoint uploads its own artifacts over the network, from inside the
|
|
312
|
+
* container, before exiting). Requires the container to still exist (caller must not have used
|
|
313
|
+
* `--rm`): each declared `path:` is `docker cp`'d out of {@link WORKSPACE_CONTAINER_DIR} before the
|
|
314
|
+
* create/PUT/complete sequence. Returns a FAILED StepResult on the first problem (missing file or
|
|
315
|
+
* any HTTP step failing) — no partial credit for a job that promised an artifact it didn't deliver.
|
|
316
|
+
*/
|
|
317
|
+
async function uploadDockerStepArtifacts(payload, event, step, containerName, config) {
|
|
318
|
+
if (!step.artifacts || step.artifacts.length === 0)
|
|
319
|
+
return null;
|
|
320
|
+
if (!payload.artifactsUrl) {
|
|
321
|
+
return { status: 'FAILED', errorReason: 'ARTIFACTS_URL_MISSING' };
|
|
322
|
+
}
|
|
323
|
+
for (const artifact of step.artifacts) {
|
|
324
|
+
const tmpFile = path.join(os.tmpdir(), `conductor-artifact-${randomUUID()}`);
|
|
325
|
+
const containerPath = `${containerName}:${WORKSPACE_CONTAINER_DIR}/${artifact.path}`;
|
|
326
|
+
const cpCode = await spawnAndWait('docker', ['cp', containerPath, tmpFile]);
|
|
327
|
+
if (cpCode !== 0 || !fs.existsSync(tmpFile)) {
|
|
328
|
+
return {
|
|
329
|
+
status: 'FAILED',
|
|
330
|
+
errorReason: `ARTIFACT_MISSING: declared artifact '${artifact.name}' not found at ${artifact.path}`,
|
|
331
|
+
};
|
|
332
|
+
}
|
|
333
|
+
const content = fs.readFileSync(tmpFile);
|
|
334
|
+
try {
|
|
335
|
+
fs.unlinkSync(tmpFile);
|
|
336
|
+
}
|
|
337
|
+
catch {
|
|
338
|
+
// best-effort cleanup
|
|
339
|
+
}
|
|
340
|
+
const created = await createArtifact(payload.artifactsUrl, event.jobId, artifact.name, payload.runToken);
|
|
341
|
+
if (!created) {
|
|
342
|
+
return { status: 'FAILED', errorReason: `ARTIFACT_UPLOAD_FAILED: could not declare artifact '${artifact.name}'` };
|
|
343
|
+
}
|
|
344
|
+
const putOk = await putArtifactContent(created.uploadUrl, content, payload.runToken, config.apiUrl);
|
|
345
|
+
if (!putOk) {
|
|
346
|
+
return { status: 'FAILED', errorReason: `ARTIFACT_UPLOAD_FAILED: upload failed for '${artifact.name}'` };
|
|
347
|
+
}
|
|
348
|
+
const completedOk = await completeArtifact(payload.artifactsUrl, created.artifactId, payload.runToken);
|
|
349
|
+
if (!completedOk) {
|
|
350
|
+
return { status: 'FAILED', errorReason: `ARTIFACT_UPLOAD_FAILED: complete failed for '${artifact.name}'` };
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
return null;
|
|
354
|
+
}
|
|
193
355
|
async function postStepComplete(stepCompleteUrl, runToken, body) {
|
|
194
356
|
try {
|
|
195
357
|
await fetch(stepCompleteUrl, {
|
|
@@ -206,7 +368,7 @@ async function postStepComplete(stepCompleteUrl, runToken, body) {
|
|
|
206
368
|
}
|
|
207
369
|
}
|
|
208
370
|
// ─── Step execution ─────────────────────────────────────────────────────────
|
|
209
|
-
async function runStep(event, payload, step, config) {
|
|
371
|
+
async function runStep(event, payload, step, config, artifactsDir) {
|
|
210
372
|
const stepCompleteUrl = fillTemplate(payload.callbacks.stepCompleteUrlTemplate, step.workerJobId);
|
|
211
373
|
const logChunkUrl = fillTemplate(payload.callbacks.logChunkUrlTemplate, step.workerJobId);
|
|
212
374
|
const isClaudeCode = step.stepType === 'claude-code';
|
|
@@ -221,11 +383,17 @@ async function runStep(event, payload, step, config) {
|
|
|
221
383
|
const image = payload.image ?? DEFAULT_RUNNER_IMAGE;
|
|
222
384
|
const containerName = `conductor-job-${payload.jobRunId}-${step.stepIndex}`;
|
|
223
385
|
const command = isClaudeCode ? ['conductor-claude-entrypoint'] : [];
|
|
386
|
+
// `claude-code` steps self-upload their declared artifacts over the network before exiting, so
|
|
387
|
+
// `--rm` is always safe for them. A `docker` step's produced files must be `docker cp`'d out
|
|
388
|
+
// AFTER it exits (see uploadDockerStepArtifacts), so its container is kept around and removed
|
|
389
|
+
// explicitly further down instead.
|
|
390
|
+
const hasProducerArtifacts = !isClaudeCode && (step.artifacts?.length ?? 0) > 0;
|
|
224
391
|
const runArgs = [
|
|
225
392
|
'run',
|
|
226
|
-
'--rm',
|
|
393
|
+
...(hasProducerArtifacts ? [] : ['--rm']),
|
|
227
394
|
'--name',
|
|
228
395
|
containerName,
|
|
396
|
+
...(artifactsDir ? ['-v', `${artifactsDir}:${ARTIFACTS_CONTAINER_DIR}`] : []),
|
|
229
397
|
...(envFilePath ? ['--env-file', envFilePath] : []),
|
|
230
398
|
...buildEnvArgs(argEnv),
|
|
231
399
|
image,
|
|
@@ -287,8 +455,17 @@ async function runStep(event, payload, step, config) {
|
|
|
287
455
|
};
|
|
288
456
|
}
|
|
289
457
|
// Non-claude-code steps don't self-report; the daemon posts on their behalf.
|
|
290
|
-
|
|
291
|
-
|
|
458
|
+
let result = exitCode === 0 ? { status: 'SUCCESS' } : { status: 'FAILED', errorReason: 'STEP_FAILED', exitCode };
|
|
459
|
+
if (exitCode === 0 && hasProducerArtifacts) {
|
|
460
|
+
const artifactFailure = await uploadDockerStepArtifacts(payload, event, step, containerName, config);
|
|
461
|
+
if (artifactFailure)
|
|
462
|
+
result = artifactFailure;
|
|
463
|
+
}
|
|
464
|
+
if (hasProducerArtifacts) {
|
|
465
|
+
// Container was kept alive (no --rm) so uploadDockerStepArtifacts could `docker cp` out of it —
|
|
466
|
+
// remove it now regardless of outcome.
|
|
467
|
+
await spawnAndWait('docker', ['rm', containerName]);
|
|
468
|
+
}
|
|
292
469
|
await postStepComplete(stepCompleteUrl, payload.runToken, result);
|
|
293
470
|
return result;
|
|
294
471
|
}
|
|
@@ -314,22 +491,42 @@ export async function runWorkflowJob(event, config) {
|
|
|
314
491
|
let jobStatus = 'SUCCESS';
|
|
315
492
|
let jobErrorReason;
|
|
316
493
|
let jobExitCode;
|
|
317
|
-
|
|
318
|
-
|
|
494
|
+
// Downloaded once per job (not per step) and bind-mounted into every step's container — see
|
|
495
|
+
// downloadConsumedArtifacts. A failed download fails the whole job before any step (or even the
|
|
496
|
+
// image pull) runs — no step should ever start against a consumed artifact that's silently missing.
|
|
497
|
+
const artifactsResult = await downloadConsumedArtifacts(payload, payload.jobRunId);
|
|
498
|
+
let artifactsDir = null;
|
|
499
|
+
if (!artifactsResult.ok) {
|
|
319
500
|
jobStatus = 'FAILED';
|
|
320
|
-
jobErrorReason =
|
|
501
|
+
jobErrorReason = artifactsResult.errorReason;
|
|
321
502
|
}
|
|
322
503
|
else {
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
504
|
+
artifactsDir = artifactsResult.dir;
|
|
505
|
+
const pullCode = await spawnAndWait('docker', ['pull', image]);
|
|
506
|
+
if (pullCode !== 0) {
|
|
507
|
+
jobStatus = 'FAILED';
|
|
508
|
+
jobErrorReason = 'IMAGE_PULL_FAILED';
|
|
509
|
+
}
|
|
510
|
+
else {
|
|
511
|
+
for (const step of payload.steps) {
|
|
512
|
+
const result = await runStep(event, payload, step, config, artifactsDir);
|
|
513
|
+
if (result.status === 'FAILED') {
|
|
514
|
+
jobStatus = 'FAILED';
|
|
515
|
+
jobErrorReason = result.errorReason;
|
|
516
|
+
jobExitCode = result.exitCode;
|
|
517
|
+
break;
|
|
518
|
+
}
|
|
330
519
|
}
|
|
331
520
|
}
|
|
332
521
|
}
|
|
522
|
+
if (artifactsDir) {
|
|
523
|
+
try {
|
|
524
|
+
fs.rmSync(artifactsDir, { recursive: true, force: true });
|
|
525
|
+
}
|
|
526
|
+
catch (err) {
|
|
527
|
+
console.error('[job-runner] Failed to remove consumed-artifacts dir:', err);
|
|
528
|
+
}
|
|
529
|
+
}
|
|
333
530
|
await completeJob(event.workflowRunId, event.jobId, jobStatus, config, jobErrorReason, jobExitCode);
|
|
334
531
|
await acknowledgeEvent(event.projectId, event.eventId, config);
|
|
335
532
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-runner.js","sourceRoot":"","sources":["../../src/daemon/job-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"job-runner.js","sourceRoot":"","sources":["../../src/daemon/job-runner.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";AAudA,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAuWlD"}
|