teamshare-bridge 0.24.0 → 0.25.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.
Files changed (47) hide show
  1. package/dist/bridge/daemon.js +6 -2
  2. package/dist/bridge/daemon.js.map +1 -1
  3. package/dist/bridge/local-server.d.ts +5 -1
  4. package/dist/bridge/local-server.js.map +1 -1
  5. package/dist/bridge/spawn.d.ts +11 -0
  6. package/dist/bridge/spawn.js +36 -0
  7. package/dist/bridge/spawn.js.map +1 -1
  8. package/dist/bridge/wake-handler.js +57 -3
  9. package/dist/bridge/wake-handler.js.map +1 -1
  10. package/dist/bridge/wake-lanes.d.ts +2 -0
  11. package/dist/bridge/wake-lanes.js +4 -1
  12. package/dist/bridge/wake-lanes.js.map +1 -1
  13. package/dist/bridge/wake-routing.d.ts +25 -2
  14. package/dist/bridge/wake-routing.js +57 -0
  15. package/dist/bridge/wake-routing.js.map +1 -1
  16. package/dist/cli/commands/research.js +27 -1
  17. package/dist/cli/commands/research.js.map +1 -1
  18. package/dist/cli/commands/workflow.d.ts +1 -0
  19. package/dist/cli/commands/workflow.js +419 -0
  20. package/dist/cli/commands/workflow.js.map +1 -0
  21. package/dist/cli/index.js +6 -0
  22. package/dist/cli/index.js.map +1 -1
  23. package/dist/lib/api-agents.d.ts +3 -1
  24. package/dist/lib/api-agents.js.map +1 -1
  25. package/dist/lib/api-types.d.ts +38 -1
  26. package/dist/lib/api.d.ts +62 -0
  27. package/dist/lib/api.js +48 -0
  28. package/dist/lib/api.js.map +1 -1
  29. package/dist/lib/browser/batch.d.ts +15 -0
  30. package/dist/lib/browser/batch.js +18 -0
  31. package/dist/lib/browser/batch.js.map +1 -1
  32. package/dist/lib/browser/index.d.ts +2 -0
  33. package/dist/lib/browser/index.js +7 -1
  34. package/dist/lib/browser/index.js.map +1 -1
  35. package/dist/lib/browser/login.d.ts +81 -0
  36. package/dist/lib/browser/login.js +371 -0
  37. package/dist/lib/browser/login.js.map +1 -0
  38. package/dist/lib/browser/session.d.ts +31 -2
  39. package/dist/lib/browser/session.js +36 -6
  40. package/dist/lib/browser/session.js.map +1 -1
  41. package/dist/lib/lock.d.ts +5 -1
  42. package/dist/lib/lock.js.map +1 -1
  43. package/dist/lib/orchestrator/handlers/browser.js +34 -0
  44. package/dist/lib/orchestrator/handlers/browser.js.map +1 -1
  45. package/dist/lib/tools/browser-tool.js +39 -0
  46. package/dist/lib/tools/browser-tool.js.map +1 -1
  47. package/package.json +1 -1
@@ -0,0 +1,419 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cmdWorkflow = cmdWorkflow;
4
+ /**
5
+ * `workflow` command (2026-10): execute a user-authored custom workflow.
6
+ *
7
+ * The hub creates a `WorkflowRun` row (+ a kind='workflow' backing task and
8
+ * seeded step rows) and wakes the assigned agent with `workflow.run`; this
9
+ * command fetches the frozen definition, runs the agent's harness on THIS
10
+ * machine, and posts progress + completion back. No provider key is needed on
11
+ * the server - the harness is the model.
12
+ *
13
+ * SECRETS: when the run packed env-var values (`hasSecrets`), they are
14
+ * fetched over the bridge channel and injected as process env vars for the
15
+ * harness child ONLY (memory of this process, cleared in `finally`). They are
16
+ * never written to disk, never logged (not even the keys' values - only key
17
+ * NAMES appear in the prompt), and the hub deletes the row when the run
18
+ * settles.
19
+ *
20
+ * DELIVERY CONTRACT: the harness drives the run through the workflow MCP
21
+ * tools (`get_workflow_run` / `update_workflow_step` /
22
+ * `complete_workflow_run`). Belt and braces, the CLI settles the run itself
23
+ * after the harness exits - a terminal run makes that call a no-op, so a
24
+ * harness that already delivered is never double-settled.
25
+ */
26
+ const node_path_1 = require("node:path");
27
+ const node_fs_1 = require("node:fs");
28
+ const node_os_1 = require("node:os");
29
+ const api_1 = require("../../lib/api");
30
+ const brief_1 = require("../../lib/brief");
31
+ const lock_1 = require("../../lib/lock");
32
+ const daemon_reporter_1 = require("../../lib/chat/daemon-reporter");
33
+ const session_stream_1 = require("../../lib/chat/session-stream");
34
+ const config_1 = require("../../lib/config");
35
+ const utils_1 = require("../utils");
36
+ const harness_1 = require("./harness");
37
+ const MAX_PROMPT_CHARS = 12000;
38
+ function scratchDirFor(runId) {
39
+ const base = process.env.TEAMSHARE_SCRATCH_DIR ?? (0, node_path_1.join)((0, node_os_1.homedir)(), ".teamshare", "scratch");
40
+ const dir = (0, node_path_1.join)(base, "workflow", runId);
41
+ (0, node_fs_1.mkdirSync)(dir, { recursive: true });
42
+ return dir;
43
+ }
44
+ function stepTypeLine(type) {
45
+ switch (type) {
46
+ case "command":
47
+ return "Run the command(s) in the instruction against the target system.";
48
+ case "checkpoint":
49
+ return "After finishing, report this step via update_workflow_step before continuing.";
50
+ case "ask_human":
51
+ return "If you are blocked, ask the human with ask_human and wait (wait_for_answer) - do not guess.";
52
+ default:
53
+ return "Follow the instruction.";
54
+ }
55
+ }
56
+ function buildBrief(ctx, agentName) {
57
+ const lines = [];
58
+ lines.push(`# Workflow run: ${ctx.workflowName}`);
59
+ lines.push("");
60
+ lines.push(`- Run: ${ctx.id}`);
61
+ lines.push(`- Agent: ${agentName}`);
62
+ lines.push(`- Working directory: ${ctx.isolation === "mirror" ? "a private worktree (commit + push + PR when you change code)" : "the linked project folder"}`);
63
+ if (ctx.taskId)
64
+ lines.push(`- Backing task: ${ctx.taskId} (claim it, move it, comment on it like any task)`);
65
+ lines.push("");
66
+ const params = ctx.params ?? {};
67
+ const keys = Object.keys(params);
68
+ if (keys.length > 0) {
69
+ lines.push("## Inputs");
70
+ lines.push("");
71
+ for (const k of keys) {
72
+ lines.push(`- ${k}: ${shortValue(params[k])}`);
73
+ }
74
+ lines.push("");
75
+ }
76
+ lines.push("## Steps (work them in order)");
77
+ lines.push("");
78
+ if (ctx.steps.length === 0) {
79
+ lines.push("(No steps - use your judgement to deliver the workflow goal.)");
80
+ }
81
+ else {
82
+ for (const s of ctx.steps) {
83
+ lines.push(`${s.index + 1}. **${s.title}** [${s.type}]${s.status !== "pending" ? ` (already ${s.status})` : ""}`);
84
+ lines.push(` ${stepTypeLine(s.type)}`);
85
+ lines.push(` ${s.instruction}`);
86
+ if (s.expect)
87
+ lines.push(` Done looks like: ${s.expect}`);
88
+ }
89
+ }
90
+ lines.push("");
91
+ if (ctx.credentialKeys.length > 0) {
92
+ lines.push("## Credentials");
93
+ lines.push("");
94
+ lines.push("The following secrets are available as environment variables in THIS session only " +
95
+ "(injected for this run, never persisted):");
96
+ for (const c of ctx.credentialKeys) {
97
+ lines.push(`- \`${c.key}\` (${c.tier})`);
98
+ }
99
+ lines.push("Never print, log, or persist secret VALUES - use them to authenticate your calls.");
100
+ lines.push("");
101
+ }
102
+ if (ctx.outputContract) {
103
+ lines.push("## Expected deliverables");
104
+ lines.push("");
105
+ try {
106
+ lines.push("```json");
107
+ const json = JSON.stringify(ctx.outputContract, null, 2);
108
+ lines.push(json.length > 2000 ? json.slice(0, 2000) : json);
109
+ lines.push("```");
110
+ }
111
+ catch {
112
+ lines.push("(unreadable output contract - use your judgement)");
113
+ }
114
+ lines.push("");
115
+ }
116
+ lines.push("## Rules");
117
+ lines.push("");
118
+ lines.push("- Read the full run first with get_workflow_run.");
119
+ lines.push("- Report every step with update_workflow_step (running when you start it, done/skipped/failed with a note when you finish it).");
120
+ lines.push("- Finish with complete_workflow_run (ok + summary + the document ids you produced).");
121
+ lines.push("- Persist deliverables with create_document on the target project; pass their ids to complete_workflow_run so they attach to the run.");
122
+ lines.push("- If the workflow needs something only the human can provide, ask with ask_human and wait - the run stays open while you wait.");
123
+ return lines.join("\n").slice(0, MAX_PROMPT_CHARS * 4);
124
+ }
125
+ function shortValue(value) {
126
+ if (value === null || value === undefined)
127
+ return "(empty)";
128
+ if (typeof value === "string") {
129
+ const v = value.trim();
130
+ return v.length > 120 ? `${v.slice(0, 120)}...` : v || "(empty)";
131
+ }
132
+ if (typeof value === "number" || typeof value === "boolean")
133
+ return String(value);
134
+ try {
135
+ const json = JSON.stringify(value);
136
+ return json.length > 120 ? `${json.slice(0, 120)}...` : json;
137
+ }
138
+ catch {
139
+ return "(value)";
140
+ }
141
+ }
142
+ async function cmdWorkflow(flags) {
143
+ const agentId = (0, utils_1.need)(flags, "agent");
144
+ const runId = flags.get("run");
145
+ if (!runId) {
146
+ console.error("workflow requires --run <runId>");
147
+ process.exitCode = 2;
148
+ return;
149
+ }
150
+ const apiKey = (0, utils_1.resolveApiKey)(flags);
151
+ const api = new api_1.TeamshareApi(process.env.TEAMSHARE_API_URL, apiKey, "run");
152
+ let log = (0, utils_1.makeLog)(null);
153
+ const settings = await (0, utils_1.fetchAgentSettings)(api, agentId, log);
154
+ const harness = (0, utils_1.harnessOf)(flags, settings);
155
+ const projectId = flags.get("project") ?? undefined;
156
+ const ctx = await api.getWorkflowRun(runId).catch((err) => {
157
+ log(`[workflow] cannot read run ${runId}: ${(0, config_1.msg)(err)}`, "stderr");
158
+ return null;
159
+ });
160
+ if (!ctx) {
161
+ process.exitCode = 1;
162
+ return;
163
+ }
164
+ if (ctx.status !== "pending" && ctx.status !== "running" && ctx.status !== "waiting_answer") {
165
+ log(`[workflow] run ${runId} is already ${ctx.status} - nothing to do`);
166
+ return;
167
+ }
168
+ const cwd = flags.get("cwd") ?? process.cwd();
169
+ const scratchDir = scratchDirFor(runId);
170
+ const dryRun = flags.get("dry-run") === "true";
171
+ const brief = buildBrief(ctx, agentId);
172
+ if (dryRun) {
173
+ log(`[workflow] ${ctx.workflowName} ${runId} (${ctx.status}) -> ${scratchDir}`);
174
+ log(brief);
175
+ return;
176
+ }
177
+ const sessionId = flags.get("session") ?? (0, session_stream_1.newSessionId)();
178
+ const lock = await (0, lock_1.acquireLock)(agentId, "workflow", {
179
+ projectId,
180
+ ...(ctx.taskId ? { taskId: ctx.taskId } : {}),
181
+ workflowRunId: runId,
182
+ }, { onWaiting: () => log(`[lock] agent ${agentId} is busy - waiting...`) });
183
+ if (!lock) {
184
+ console.error(`[lock] gave up waiting for agent ${agentId}`);
185
+ process.exitCode = 1;
186
+ return;
187
+ }
188
+ const fresh = await api.getWorkflowRun(runId).catch(() => null);
189
+ if (fresh &&
190
+ fresh.status !== "pending" &&
191
+ fresh.status !== "running" &&
192
+ fresh.status !== "waiting_answer") {
193
+ log(`[workflow] run ${runId} is already ${fresh.status} - nothing to do`);
194
+ (0, lock_1.releaseLock)(agentId);
195
+ return;
196
+ }
197
+ const reporter = new daemon_reporter_1.DaemonReporter({
198
+ sessionId,
199
+ agentId,
200
+ mode: "run",
201
+ projectId,
202
+ });
203
+ reporter.connect();
204
+ const progress = makeProgress(api, runId, sessionId);
205
+ const reporterLog = (0, utils_1.makeLog)(reporter);
206
+ log = (text, level = "stdout") => {
207
+ reporterLog(text, level);
208
+ progress([{ stream: level, text }]);
209
+ };
210
+ (0, utils_1.applyOpenCodeKey)(agentId, log, settings);
211
+ // Secrets ride in THIS process's env only, for the harness child's
212
+ // inheritance (`childEnv = { ...process.env }`). Cleared in `finally`.
213
+ const secretKeys = [];
214
+ const claim = await claimBackingTask(api, ctx.taskId, log);
215
+ if (!claim.ok) {
216
+ // The backing task is held by someone else or otherwise unworkable.
217
+ // Settle the run as failed (rather than leaving it pending, where the
218
+ // creation dedupe would block every retry) so the human can fix and
219
+ // re-run. Mirrors `research.ts`.
220
+ await api
221
+ .completeWorkflowRun(runId, {
222
+ ok: false,
223
+ error: `The agent could not claim the backing task${ctx.taskId ? ` (${ctx.taskId})` : ""} - it may be held by another agent.`,
224
+ ...(settings.model ? { model: settings.model } : {}),
225
+ sessionId,
226
+ })
227
+ .catch(() => undefined);
228
+ log(`[claim] aborting run ${runId} - backing task not claimable`, "stderr");
229
+ (0, lock_1.releaseLock)(agentId);
230
+ await reporter.end(1);
231
+ process.exitCode = 1;
232
+ return;
233
+ }
234
+ let exitCode = 0;
235
+ try {
236
+ await (0, brief_1.reportStatus)(api, agentId, "working", undefined, sessionId);
237
+ if (ctx.taskId) {
238
+ await (0, brief_1.markTaskInProgress)(api, ctx.taskId).catch(() => undefined);
239
+ }
240
+ if (ctx.hasSecrets) {
241
+ try {
242
+ const { secrets, keys } = await api.getWorkflowSecrets(runId);
243
+ for (const [k, v] of Object.entries(secrets)) {
244
+ process.env[k] = v;
245
+ secretKeys.push(k);
246
+ }
247
+ log(`[workflow] ${keys.length} secret(s) injected for this run only`);
248
+ }
249
+ catch (err) {
250
+ log(`[workflow] cannot read run secrets: ${(0, config_1.msg)(err)}`, "stderr");
251
+ await api
252
+ .completeWorkflowRun(runId, {
253
+ ok: false,
254
+ error: `The run could not read its packed secrets: ${(0, config_1.msg)(err)}`.slice(0, 500),
255
+ ...(settings.model ? { model: settings.model } : {}),
256
+ sessionId,
257
+ })
258
+ .catch(() => undefined);
259
+ process.exitCode = 1;
260
+ return;
261
+ }
262
+ }
263
+ progress([], "starting");
264
+ (0, node_fs_1.writeFileSync)((0, node_path_1.join)(scratchDir, "brief.md"), brief, "utf8");
265
+ const prompt = `You are executing a user-authored TeamShare workflow. Work the steps in order and report as you go.\n\n` +
266
+ brief +
267
+ ((0, utils_1.systemPromptOf)(flags, settings)
268
+ ? `\n\n## Additional instructions\n${(0, utils_1.systemPromptOf)(flags, settings)}`
269
+ : "");
270
+ exitCode = await (0, harness_1.spawnHarness)(harness, prompt, log, {
271
+ model: (0, utils_1.modelOf)(flags, settings),
272
+ temperature: (0, utils_1.temperatureOf)(flags, settings),
273
+ effort: (0, utils_1.effortOf)(flags, settings) ?? (0, utils_1.defaultEffort)(harness),
274
+ cwd,
275
+ timeoutMin: (0, utils_1.sessionTimeoutMin)(flags),
276
+ title: `Workflow ${ctx.workflowName} (${runId})`,
277
+ agentKey: api.apiKey,
278
+ apiBaseUrl: api.baseUrl,
279
+ providerKey: settings.providerKey ?? undefined,
280
+ sessionMode: "run",
281
+ sessionId,
282
+ sessionStore: { agentId, taskId: runId, mode: "workflow" },
283
+ fresh: flags.get("fresh") === "true",
284
+ fork: flags.get("fork") === "true",
285
+ });
286
+ if (exitCode !== 0) {
287
+ progress([], "failed");
288
+ // A harness that already delivered via complete_workflow_run makes
289
+ // this a no-op (terminal runs refuse) - so this is only the fallback.
290
+ await api
291
+ .completeWorkflowRun(runId, {
292
+ ok: false,
293
+ error: `The workflow session exited ${exitCode}`,
294
+ ...(settings.model ? { model: settings.model } : {}),
295
+ sessionId,
296
+ })
297
+ .catch(() => undefined);
298
+ if (ctx.taskId) {
299
+ await (0, brief_1.postClosingComment)(api, ctx.taskId, `Workflow run stalled: the harness exited with code ${exitCode}. ` +
300
+ `Retry it from the Workflows page.`).catch(() => undefined);
301
+ }
302
+ log(`[workflow] run ${runId} failed (harness exited ${exitCode})`);
303
+ process.exitCode = 1;
304
+ return;
305
+ }
306
+ // The harness delivers via complete_workflow_run; when it did not (a
307
+ // model that never calls tools), settle here so the run never dangles.
308
+ // Terminal no-op keeps this safe against a harness that already did.
309
+ const settled = await api
310
+ .completeWorkflowRun(runId, {
311
+ ok: true,
312
+ summary: "The workflow session finished.",
313
+ ...(settings.model ? { model: settings.model } : {}),
314
+ sessionId,
315
+ })
316
+ .catch(() => null);
317
+ if (settled?.applied && ctx.taskId) {
318
+ await (0, brief_1.postClosingComment)(api, ctx.taskId, `Workflow run finished. See the run in the Workflows page for steps and outputs.`).catch(() => undefined);
319
+ }
320
+ log(`[workflow] run ${runId} finished`);
321
+ progress([], "done");
322
+ }
323
+ catch (err) {
324
+ log(`[workflow] error: ${(0, config_1.msg)(err)}`, "stderr");
325
+ progress([], "failed");
326
+ await api
327
+ .completeWorkflowRun(runId, {
328
+ ok: false,
329
+ error: (0, config_1.msg)(err).slice(0, 1000),
330
+ sessionId,
331
+ })
332
+ .catch(() => undefined);
333
+ process.exitCode = 1;
334
+ }
335
+ finally {
336
+ for (const k of secretKeys) {
337
+ // Memory-only cleanup: the values were never written anywhere else.
338
+ delete process.env[k];
339
+ }
340
+ await claim.release().catch(() => undefined);
341
+ await (0, brief_1.reportStatus)(api, agentId, "online", undefined, sessionId).catch(() => undefined);
342
+ (0, lock_1.releaseLock)(agentId);
343
+ await reporter.end(exitCode);
344
+ }
345
+ }
346
+ /**
347
+ * Claim the backing task and keep the lease alive while the workflow session
348
+ * runs - work-guard parity with `run`/`build`/`research`, so the task UI
349
+ * shows "agent is working" + the lease countdown instead of a bare "Open".
350
+ */
351
+ async function claimBackingTask(api, taskId, log) {
352
+ if (!taskId)
353
+ return { ok: true, release: async () => undefined };
354
+ try {
355
+ // `manual: true` = a HUMAN asked for this run (Run now, retry, or a
356
+ // schedule they created). A workflow run is never spawned by an automated
357
+ // recovery path, so it must not be refused at the claim when the backing
358
+ // task has moved on - the deliverable is what the human wants.
359
+ const claim = await api.claimTask(taskId, undefined, true);
360
+ log(`[claim] task ${taskId} claimed - lease until ${claim.claimExpiresAt}`);
361
+ }
362
+ catch (err) {
363
+ const e = err;
364
+ const code = e.code ?? "";
365
+ if ([
366
+ "TASK_CLAIMED_BY",
367
+ "AGENT_TASK_LOCKED",
368
+ "AGENT_UNASSIGNED_BLOCKED",
369
+ "TASK_NOT_OPEN",
370
+ "TASK_NOT_ASSIGNED",
371
+ ].includes(code)) {
372
+ log(`[claim] cannot work task ${taskId}: ${e.message ?? code}`, "stderr");
373
+ return { ok: false, release: async () => undefined };
374
+ }
375
+ log(`[claim] warning: could not claim task ${taskId}: ${e.message ?? code}`, "stderr");
376
+ return { ok: true, release: async () => undefined };
377
+ }
378
+ const timer = setInterval(() => {
379
+ void api.renewClaim(taskId).catch(() => {
380
+ log(`[claim] renewal failed for ${taskId} - claim may have expired`, "stderr");
381
+ clearInterval(timer);
382
+ });
383
+ }, 5 * 60 * 1000);
384
+ return {
385
+ ok: true,
386
+ release: async () => {
387
+ clearInterval(timer);
388
+ await api.releaseTask(taskId).catch(() => undefined);
389
+ },
390
+ };
391
+ }
392
+ function makeProgress(api, runId, sessionId) {
393
+ let pending = [];
394
+ let timer = null;
395
+ let lastPhase;
396
+ const flush = () => {
397
+ const lines = pending;
398
+ pending = [];
399
+ timer = null;
400
+ if (!lines.length && !lastPhase)
401
+ return;
402
+ api
403
+ .reportWorkflowProgress(runId, lines, {
404
+ ...(lastPhase ? { phase: lastPhase } : {}),
405
+ sessionId,
406
+ })
407
+ .catch(() => undefined);
408
+ };
409
+ return (lines, phase) => {
410
+ if (phase)
411
+ lastPhase = phase;
412
+ pending.push(...lines.slice(-20));
413
+ if (!timer) {
414
+ timer = setTimeout(flush, 2000);
415
+ timer.unref?.();
416
+ }
417
+ };
418
+ }
419
+ //# sourceMappingURL=workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../src/cli/commands/workflow.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -59,6 +59,7 @@ const build_1 = require("./commands/build");
59
59
  const research_1 = require("./commands/research");
60
60
  const blog_1 = require("./commands/blog");
61
61
  const insight_1 = require("./commands/insight");
62
+ const workflow_1 = require("./commands/workflow");
62
63
  const plan_1 = require("./commands/plan");
63
64
  const usage_1 = require("./commands/usage");
64
65
  const skills_1 = require("./commands/skills");
@@ -101,6 +102,9 @@ function usage() {
101
102
  ' teamshare-agent insight --run <runId> --agent <agentId> --key <ts_...> [--project <id>] [--dry-run]',
102
103
  ' narrate insight facts on this machine (the harness runs here,',
103
104
  ' not on the server - no provider key needed on the hub)',
105
+ ' teamshare-agent workflow --run <runId> --agent <agentId> --key <ts_...> [--project <id>] [--dry-run]',
106
+ ' execute a user-authored custom workflow on this machine (the harness',
107
+ ' runs here, not on the server - no provider key needed on the hub)',
104
108
  ' teamshare-agent plan --task <taskId> --agent <agentId> [--project <id>] [--self] [--dry-run]',
105
109
  ' teamshare-agent doc-job --project <projectId> --agent <agentId> [--job <jobId>] [--list]',
106
110
  ' teamshare-agent worker --agent <agentId> --key <ts_...> [--once] [--self]',
@@ -221,6 +225,8 @@ async function main() {
221
225
  await (0, blog_1.cmdBlog)(flags);
222
226
  else if (command === 'insight')
223
227
  await (0, insight_1.cmdInsight)(flags);
228
+ else if (command === 'workflow')
229
+ await (0, workflow_1.cmdWorkflow)(flags);
224
230
  else if (command === 'doc-job')
225
231
  await (0, doc_job_1.cmdDocJob)(flags);
226
232
  else if (command === 'plan')
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;;;;;;;GAQG;AACH,iCAAmC;AACnC,oCAA6D;AAC7D,0CAAoC;AAEpC,kBAAkB;AAClB,gDAAgD;AAChD,sDAAsD;AACtD,0CAAqD;AACrD,sDAAqD;AACrD,wCAAwC;AACxC,0CAA0C;AAC1C,wCAAwC;AACxC,4CAA4C;AAC5C,4CAA4C;AAC5C,kDAAkD;AAClD,0CAA0C;AAC1C,gDAAgD;AAChD,0CAA0C;AAC1C,4CAA4C;AAC5C,8CAA8C;AAC9C,wCAAgD;AAChD,8CAAwD;AACxD,gDAAgD;AAChD,gDAAgD;AAChD,4CAA4C;AAC5C,kDAAkD;AAClD,gDAAgD;AAChD,8CAA8C;AAC9C,gDAAgD;AAChD,gDAA+C;AAC/C,8CAA8C;AAE9C,MAAM,UAAU,GAAG,oBAAc,CAAC;AAElC,SAAS,KAAK;IACZ,OAAO;QACL,uCAAuC;QACvC,EAAE;QACF,OAAO;QACP,4DAA4D;QAC5D,gDAAgD;QAChD,wFAAwF;QACxF,4CAA4C;QAC5C,yEAAyE;QACzE,oGAAoG;QACpG,+BAA+B;QAC/B,gDAAgD;QAChD,kEAAkE;QAClE,oEAAoE;QACpE,kFAAkF;QAClF,sFAAsF;QACtF,qHAAqH;QACrH,4HAA4H;QAC5H,0FAA0F;QAC1F,gGAAgG;QAChG,kHAAkH;QAClH,4EAA4E;QAC5E,8DAA8D;QAC9D,uGAAuG;QACvG,qEAAqE;QACrE,8DAA8D;QAC9D,gGAAgG;QAChG,4FAA4F;QAC5F,6EAA6E;QAC7E,kGAAkG;QAClG,wEAAwE;QACxE,wFAAwF;QACxF,gEAAgE;QAChE,gFAAgF;QAChF,gFAAgF;QAChF,iEAAiE;QACjE,wFAAwF;QACxF,+DAA+D;QAC/D,yGAAyG;QACzG,kEAAkE;QAClE,oFAAoF;QACpF,sEAAsE;QACtE,wDAAwD;QACxD,+EAA+E;QAC/E,gDAAgD;QAChD,8CAA8C;QAC9C,6EAA6E;QAC7E,2EAA2E;QAC3E,uGAAuG;QACvG,wFAAwF;QACxF,oFAAoF;QACpF,+FAA+F;QAC/F,EAAE;QACF,SAAS;QACT,oFAAoF;QACpF,+EAA+E;QAC/E,oFAAoF;QACpF,gFAAgF;QAChF,gEAAgE;QAChE,iKAAiK;QACjK,uGAAuG;QACvG,mFAAmF;QACnF,0EAA0E;QAC1E,wEAAwE;QACxE,iFAAiF;QACjF,iEAAiE;QACjE,yDAAyD;QACzD,+DAA+D;QAC/D,uDAAuD;QACvD,iEAAiE;QACjE,0EAA0E;QAC1E,uEAAuE;QACvE,2EAA2E;QAC3E,uEAAuE;QACvE,uEAAuE;QACvE,iFAAiF;QACjF,2FAA2F;QAC3F,wFAAwF;QACxF,qFAAqF;QACrF,oGAAoG;QACpG,iHAAiH;QACjH,oGAAoG;QACpG,4GAA4G;QAC5G,uHAAuH;QACvH,mGAAmG;QACnG,mFAAmF;QACnF,8FAA8F;QAC9F,kGAAkG;QAClG,gGAAgG;QAChG,gGAAgG;QAChG,yFAAyF;QACzF,4FAA4F;QAC5F,8DAA8D,GAAG,qBAAe,GAAG,GAAG;QACtF,oDAAoD;QACpD,EAAE;QACF,KAAK;QACL,0CAA0C;QAC1C,kDAAkD,GAAG,UAAU,GAAG,GAAG;QACrE,+CAA+C;QAC/C,uDAAuD;QACvD,kEAAkE;KACnE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAA,gBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC;QACH,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,IAAA,oBAAU,EAAC,KAAK,CAAC,CAAC;aAC9C,IAAI,OAAO,KAAK,YAAY;YAAE,MAAM,IAAA,0BAAa,EAAC,KAAK,CAAC,CAAC;aACzD,IAAI,OAAO,KAAK,MAAM;YAAE,MAAM,IAAA,cAAO,EAAC,KAAK,CAAC,CAAC;aAC7C,IAAI,OAAO,KAAK,QAAQ;YAAE,MAAM,IAAA,gBAAS,EAAC,KAAK,CAAC,CAAC;aACjD,IAAI,OAAO,KAAK,YAAY;YAAE,MAAM,IAAA,yBAAY,EAAC,KAAK,CAAC,CAAC;aACxD,IAAI,OAAO,KAAK,KAAK;YAAE,MAAM,IAAA,YAAM,EAAC,KAAK,CAAC,CAAC;aAC3C,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC7G,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC9B,MAAM,IAAA,YAAM,EAAC,KAAK,CAAC,CAAC;QACtB,CAAC;aAAU,IAAI,OAAO,KAAK,MAAM;YAAE,MAAM,IAAA,cAAO,EAAC,KAAK,CAAC,CAAC;aACnD,IAAI,OAAO,KAAK,KAAK;YAAE,MAAM,IAAA,YAAM,EAAC,KAAK,CAAC,CAAC;aAC/C,IAAI,OAAO,KAAK,OAAO;YAAE,MAAM,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;aAC3C,IAAI,OAAO,KAAK,OAAO;YAAE,MAAM,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;aAC/C,IAAI,OAAO,KAAK,UAAU;YAAE,MAAM,IAAA,sBAAW,EAAC,KAAK,CAAC,CAAC;aACrD,IAAI,OAAO,KAAK,MAAM;YAAE,MAAM,IAAA,cAAO,EAAC,KAAK,CAAC,CAAC;aAC7C,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,IAAA,oBAAU,EAAC,KAAK,CAAC,CAAC;aACvD,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,IAAA,mBAAS,EAAC,KAAK,CAAC,CAAC;aAC9C,IAAI,OAAO,KAAK,MAAM;YAAE,MAAM,IAAA,cAAO,EAAC,KAAK,CAAC,CAAC;aAC7C,IAAI,OAAO,KAAK,QAAQ;YAAE,MAAM,IAAA,kBAAS,EAAC,KAAK,CAAC,CAAC;aACjD,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,IAAA,oBAAU,EAAC,KAAK,CAAC,CAAC;aACnD,IAAI,OAAO,KAAK,OAAO;YAAE,MAAM,IAAA,iBAAQ,EAAC,KAAK,CAAC,CAAC;aAC/C,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,IAAA,oBAAU,EAAC,KAAK,CAAC,CAAC;aACnD,IAAI,OAAO,KAAK,OAAO;YAAE,MAAM,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;aAC/C,IAAI,OAAO,KAAK,QAAQ;YAAE,MAAM,IAAA,kBAAS,EAAC,KAAK,CAAC,CAAC;aACjD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC9B,sEAAsE;YACtE,MAAM,EAAE,MAAM,EAAE,GAAG,wDAAa,kBAAkB,GAAC,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC3D,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CACrD,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;aACI,IAAI,OAAO,KAAK,QAAQ;YAAE,MAAM,IAAA,kBAAS,EAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;aACjE,IAAI,OAAO,KAAK,KAAK;YAAE,MAAM,IAAA,YAAM,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3D,IAAI,OAAO,KAAK,KAAK;YAAE,MAAM,IAAA,YAAM,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3D,IAAI,OAAO,KAAK,OAAO;YAAE,MAAM,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;aAC/C,IAAI,OAAO,KAAK,UAAU;YAAE,MAAM,IAAA,sBAAW,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;aACrF,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,IAAA,oBAAU,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;aACnE,IAAI,OAAO,KAAK,QAAQ;YAAE,MAAM,IAAA,kBAAS,EAAC,KAAK,CAAC,CAAC;aACjD,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,IAAA,oBAAU,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;aACnE,CAAC;YAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;YAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QAAC,CAAC;IACpG,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAC/H,OAAO,CAAC,KAAK,CAAC,WAAW,IAAA,YAAG,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,KAAK,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -161,7 +161,9 @@ export declare class AgentEndpoints extends ApiCore {
161
161
  /** Blog authoring session (IMP-9xx). */
162
162
  | "blog"
163
163
  /** Insights harness session (2026-10). */
164
- | "insight";
164
+ | "insight"
165
+ /** Custom workflow session (2026-10). */
166
+ | "workflow";
165
167
  since?: string;
166
168
  taskId?: string;
167
169
  queued: number;
@@ -1 +1 @@
1
- {"version":3,"file":"api-agents.js","sourceRoot":"","sources":["../../src/lib/api-agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-agents.js","sourceRoot":"","sources":["../../src/lib/api-agents.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,41 @@ export interface InsightNarrativeContext {
26
26
  status: "pending" | "running" | "completed" | "failed" | "cancelled";
27
27
  facts: unknown;
28
28
  }
29
+ /**
30
+ * Workflow run context (2026-10) - `GET /workflows/runs/:id/context`.
31
+ *
32
+ * Everything a `workflow.run` session needs in one call: the frozen
33
+ * definition, resolved inputs, the step list with live statuses and the
34
+ * credential KEYS (never values - those ride the secrets endpoint).
35
+ */
36
+ export interface WorkflowRunContext {
37
+ id: string;
38
+ workflowId: string;
39
+ workflowName: string;
40
+ projectId: string;
41
+ taskId: string | null;
42
+ status: "pending" | "running" | "waiting_answer" | "completed" | "failed" | "cancelled";
43
+ isolation: "folder" | "mirror";
44
+ params: Record<string, unknown>;
45
+ paramContract: Array<Record<string, unknown>>;
46
+ steps: Array<{
47
+ index: number;
48
+ id: string;
49
+ title: string;
50
+ instruction: string;
51
+ type: "instruction" | "command" | "checkpoint" | "ask_human";
52
+ expect: string | null;
53
+ status: "pending" | "running" | "done" | "skipped" | "failed";
54
+ note: string | null;
55
+ }>;
56
+ credentialKeys: Array<{
57
+ key: string;
58
+ tier: string;
59
+ }>;
60
+ hasSecrets: boolean;
61
+ outputContract: unknown;
62
+ requiredCapabilities: string[];
63
+ }
29
64
  export interface BlogGenerationContext {
30
65
  id: string;
31
66
  kind: "generate" | "refine";
@@ -198,12 +233,14 @@ export interface Task {
198
233
  qaSteps?: string | null;
199
234
  qaExpectation?: string | null;
200
235
  /** Typed Tool Task fields (kind = tool|research). */
201
- kind?: "code" | "tool" | "research";
236
+ kind?: "code" | "tool" | "research" | "workflow";
202
237
  toolKey?: string | null;
203
238
  toolParams?: Record<string, unknown> | null;
204
239
  toolSpec?: ToolTaskSpec | null;
205
240
  toolProgress?: Record<string, unknown> | null;
206
241
  toolRunId?: string | null;
242
+ /** Custom workflows (2026-10): the WorkflowRun id (kind = 'workflow'). */
243
+ workflowRunId?: string | null;
207
244
  createdAt: string;
208
245
  updatedAt?: string;
209
246
  project?: {