@viewportai/daemon 0.9.1 → 0.11.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 (113) hide show
  1. package/dist/agents/custom-command.d.ts +3 -0
  2. package/dist/agents/custom-command.d.ts.map +1 -0
  3. package/dist/agents/custom-command.js +58 -0
  4. package/dist/agents/custom-command.js.map +1 -0
  5. package/dist/cli/workflow-commands.d.ts.map +1 -1
  6. package/dist/cli/workflow-commands.js +142 -4
  7. package/dist/cli/workflow-commands.js.map +1 -1
  8. package/dist/cli/workflow-managed-worker-format.d.ts +10 -0
  9. package/dist/cli/workflow-managed-worker-format.d.ts.map +1 -0
  10. package/dist/cli/workflow-managed-worker-format.js +120 -0
  11. package/dist/cli/workflow-managed-worker-format.js.map +1 -0
  12. package/dist/cli/workflow-managed-worker-types.d.ts +55 -0
  13. package/dist/cli/workflow-managed-worker-types.d.ts.map +1 -0
  14. package/dist/cli/workflow-managed-worker-types.js +2 -0
  15. package/dist/cli/workflow-managed-worker-types.js.map +1 -0
  16. package/dist/cli/workflow-managed-worker-util.d.ts +5 -0
  17. package/dist/cli/workflow-managed-worker-util.d.ts.map +1 -0
  18. package/dist/cli/workflow-managed-worker-util.js +28 -0
  19. package/dist/cli/workflow-managed-worker-util.js.map +1 -0
  20. package/dist/cli/workflow-managed-worker.d.ts +2 -0
  21. package/dist/cli/workflow-managed-worker.d.ts.map +1 -0
  22. package/dist/cli/workflow-managed-worker.js +279 -0
  23. package/dist/cli/workflow-managed-worker.js.map +1 -0
  24. package/dist/server/http-request-schemas.d.ts +6 -0
  25. package/dist/server/http-request-schemas.d.ts.map +1 -1
  26. package/dist/server/http-request-schemas.js +2 -0
  27. package/dist/server/http-request-schemas.js.map +1 -1
  28. package/dist/server/http-server.d.ts.map +1 -1
  29. package/dist/server/http-server.js +13 -0
  30. package/dist/server/http-server.js.map +1 -1
  31. package/dist/startup-agents.d.ts.map +1 -1
  32. package/dist/startup-agents.js +5 -0
  33. package/dist/startup-agents.js.map +1 -1
  34. package/dist/workflows/action-adapters.d.ts +7 -0
  35. package/dist/workflows/action-adapters.d.ts.map +1 -0
  36. package/dist/workflows/action-adapters.js +152 -0
  37. package/dist/workflows/action-adapters.js.map +1 -0
  38. package/dist/workflows/action-digest.d.ts +8 -0
  39. package/dist/workflows/action-digest.d.ts.map +1 -0
  40. package/dist/workflows/action-digest.js +36 -0
  41. package/dist/workflows/action-digest.js.map +1 -0
  42. package/dist/workflows/action-execution-ledger.d.ts +8 -0
  43. package/dist/workflows/action-execution-ledger.d.ts.map +1 -0
  44. package/dist/workflows/action-execution-ledger.js +57 -0
  45. package/dist/workflows/action-execution-ledger.js.map +1 -0
  46. package/dist/workflows/action-policy.d.ts +3 -0
  47. package/dist/workflows/action-policy.d.ts.map +1 -0
  48. package/dist/workflows/action-policy.js +13 -0
  49. package/dist/workflows/action-policy.js.map +1 -0
  50. package/dist/workflows/action-provider-adapters.d.ts +13 -0
  51. package/dist/workflows/action-provider-adapters.d.ts.map +1 -0
  52. package/dist/workflows/action-provider-adapters.js +284 -0
  53. package/dist/workflows/action-provider-adapters.js.map +1 -0
  54. package/dist/workflows/context-node-resolver.d.ts +3 -0
  55. package/dist/workflows/context-node-resolver.d.ts.map +1 -0
  56. package/dist/workflows/context-node-resolver.js +122 -0
  57. package/dist/workflows/context-node-resolver.js.map +1 -0
  58. package/dist/workflows/event-types.d.ts +1 -1
  59. package/dist/workflows/event-types.d.ts.map +1 -1
  60. package/dist/workflows/node-executor.d.ts.map +1 -1
  61. package/dist/workflows/node-executor.js +24 -0
  62. package/dist/workflows/node-executor.js.map +1 -1
  63. package/dist/workflows/node-registry.d.ts.map +1 -1
  64. package/dist/workflows/node-registry.js +115 -1
  65. package/dist/workflows/node-registry.js.map +1 -1
  66. package/dist/workflows/parser.js +30 -0
  67. package/dist/workflows/parser.js.map +1 -1
  68. package/dist/workflows/platform-command-applier.d.ts.map +1 -1
  69. package/dist/workflows/platform-command-applier.js +4 -0
  70. package/dist/workflows/platform-command-applier.js.map +1 -1
  71. package/dist/workflows/platform-runtime-command.d.ts +2 -0
  72. package/dist/workflows/platform-runtime-command.d.ts.map +1 -1
  73. package/dist/workflows/platform-runtime-command.js +9 -0
  74. package/dist/workflows/platform-runtime-command.js.map +1 -1
  75. package/dist/workflows/plugin-loader.d.ts.map +1 -1
  76. package/dist/workflows/plugin-loader.js +6 -0
  77. package/dist/workflows/plugin-loader.js.map +1 -1
  78. package/dist/workflows/preflight.d.ts.map +1 -1
  79. package/dist/workflows/preflight.js +6 -2
  80. package/dist/workflows/preflight.js.map +1 -1
  81. package/dist/workflows/run-types.d.ts +19 -0
  82. package/dist/workflows/run-types.d.ts.map +1 -1
  83. package/dist/workflows/runner-hook-events.d.ts +19 -0
  84. package/dist/workflows/runner-hook-events.d.ts.map +1 -0
  85. package/dist/workflows/runner-hook-events.js +16 -0
  86. package/dist/workflows/runner-hook-events.js.map +1 -0
  87. package/dist/workflows/runner-shared.d.ts.map +1 -1
  88. package/dist/workflows/runner-shared.js +26 -2
  89. package/dist/workflows/runner-shared.js.map +1 -1
  90. package/dist/workflows/runner.d.ts +0 -1
  91. package/dist/workflows/runner.d.ts.map +1 -1
  92. package/dist/workflows/runner.js +31 -17
  93. package/dist/workflows/runner.js.map +1 -1
  94. package/dist/workflows/types.d.ts +55 -13
  95. package/dist/workflows/types.d.ts.map +1 -1
  96. package/dist/workflows/workflow-production-schema.d.ts +100 -0
  97. package/dist/workflows/workflow-production-schema.d.ts.map +1 -0
  98. package/dist/workflows/workflow-production-schema.js +107 -0
  99. package/dist/workflows/workflow-production-schema.js.map +1 -0
  100. package/dist/workflows/workflow-production-types.d.ts +71 -0
  101. package/dist/workflows/workflow-production-types.d.ts.map +1 -0
  102. package/dist/workflows/workflow-production-types.js +2 -0
  103. package/dist/workflows/workflow-production-types.js.map +1 -0
  104. package/dist/workflows/workflow-schema-common.d.ts +86 -0
  105. package/dist/workflows/workflow-schema-common.d.ts.map +1 -0
  106. package/dist/workflows/workflow-schema-common.js +79 -0
  107. package/dist/workflows/workflow-schema-common.js.map +1 -0
  108. package/dist/workflows/workflow-schema.d.ts +454 -3
  109. package/dist/workflows/workflow-schema.d.ts.map +1 -1
  110. package/dist/workflows/workflow-schema.js +63 -77
  111. package/dist/workflows/workflow-schema.js.map +1 -1
  112. package/package.json +1 -1
  113. package/schemas/workflow-v1.schema.json +262 -1
@@ -0,0 +1,3 @@
1
+ import type { AgentDefinition } from '../core/agent-registry.js';
2
+ export declare function customCommandAgentFromEnv(env?: NodeJS.ProcessEnv): AgentDefinition | null;
3
+ //# sourceMappingURL=custom-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-command.d.ts","sourceRoot":"","sources":["../../src/agents/custom-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAMjE,wBAAgB,yBAAyB,CACvC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,eAAe,GAAG,IAAI,CA0CxB"}
@@ -0,0 +1,58 @@
1
+ import { PtyAdapter } from '../adapters/pty.js';
2
+ const DEFAULT_CUSTOM_AGENT_ID = 'custom-command';
3
+ const SAFE_AGENT_ID = /^[A-Za-z0-9._-]+$/;
4
+ export function customCommandAgentFromEnv(env = process.env) {
5
+ const command = env['VIEWPORT_CUSTOM_AGENT_COMMAND']?.trim();
6
+ if (!command)
7
+ return null;
8
+ const id = env['VIEWPORT_CUSTOM_AGENT_ID']?.trim() || DEFAULT_CUSTOM_AGENT_ID;
9
+ if (!SAFE_AGENT_ID.test(id)) {
10
+ throw new Error(`Invalid VIEWPORT_CUSTOM_AGENT_ID '${id}'. Use letters, numbers, '.', '_' or '-'.`);
11
+ }
12
+ const displayName = env['VIEWPORT_CUSTOM_AGENT_NAME']?.trim() || 'Custom command agent';
13
+ const defaultArgs = parseCustomAgentArgs(env);
14
+ const promptMode = parsePromptMode(env['VIEWPORT_CUSTOM_AGENT_PROMPT_MODE']);
15
+ return {
16
+ id,
17
+ displayName,
18
+ tier: 'pty',
19
+ defaults: {
20
+ commitOn: [],
21
+ autoApprove: [],
22
+ requireApproval: [],
23
+ deny: [],
24
+ },
25
+ capabilities: {
26
+ structuredToolCalls: false,
27
+ permissionCallbacks: false,
28
+ tokenUsage: false,
29
+ resume: false,
30
+ extendedThinking: false,
31
+ },
32
+ detection: {
33
+ check: async () => true,
34
+ description: `Custom command agent (${command})`,
35
+ },
36
+ createAdapter: async () => new PtyAdapter(id, command, {
37
+ defaultArgs,
38
+ promptMode,
39
+ }),
40
+ };
41
+ }
42
+ function parseCustomAgentArgs(env) {
43
+ const json = env['VIEWPORT_CUSTOM_AGENT_ARGS_JSON'];
44
+ if (json) {
45
+ const parsed = JSON.parse(json);
46
+ if (!Array.isArray(parsed) || parsed.some((entry) => typeof entry !== 'string')) {
47
+ throw new Error('VIEWPORT_CUSTOM_AGENT_ARGS_JSON must be a JSON array of strings.');
48
+ }
49
+ return parsed;
50
+ }
51
+ const raw = env['VIEWPORT_CUSTOM_AGENT_ARGS']?.trim();
52
+ return raw ? raw.split(/\s+/).filter(Boolean) : [];
53
+ }
54
+ function parsePromptMode(value) {
55
+ const mode = value?.trim();
56
+ return mode || 'stdin';
57
+ }
58
+ //# sourceMappingURL=custom-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-command.js","sourceRoot":"","sources":["../../src/agents/custom-command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,uBAAuB,GAAG,gBAAgB,CAAC;AACjD,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAE1C,MAAM,UAAU,yBAAyB,CACvC,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,OAAO,GAAG,GAAG,CAAC,+BAA+B,CAAC,EAAE,IAAI,EAAE,CAAC;IAC7D,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,EAAE,GAAG,GAAG,CAAC,0BAA0B,CAAC,EAAE,IAAI,EAAE,IAAI,uBAAuB,CAAC;IAC9E,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,qCAAqC,EAAE,2CAA2C,CACnF,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,CAAC,4BAA4B,CAAC,EAAE,IAAI,EAAE,IAAI,sBAAsB,CAAC;IACxF,MAAM,WAAW,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAE7E,OAAO;QACL,EAAE;QACF,WAAW;QACX,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE;YACR,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,EAAE;YACf,eAAe,EAAE,EAAE;YACnB,IAAI,EAAE,EAAE;SACT;QACD,YAAY,EAAE;YACZ,mBAAmB,EAAE,KAAK;YAC1B,mBAAmB,EAAE,KAAK;YAC1B,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,KAAK;YACb,gBAAgB,EAAE,KAAK;SACxB;QACD,SAAS,EAAE;YACT,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;YACvB,WAAW,EAAE,yBAAyB,OAAO,GAAG;SACjD;QACD,aAAa,EAAE,KAAK,IAAI,EAAE,CACxB,IAAI,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE;YAC1B,WAAW;YACX,UAAU;SACX,CAAC;KACL,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAsB;IAClD,MAAM,IAAI,GAAG,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACpD,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,EAAE,CAAC;YAChF,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,CAAC,4BAA4B,CAAC,EAAE,IAAI,EAAE,CAAC;IACtD,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,eAAe,CAAC,KAAyB;IAChD,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;IAC3B,OAAO,IAAI,IAAI,OAAO,CAAC;AACzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-commands.d.ts","sourceRoot":"","sources":["../../src/cli/workflow-commands.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAWpE,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAmC9C"}
1
+ {"version":3,"file":"workflow-commands.d.ts","sourceRoot":"","sources":["../../src/cli/workflow-commands.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAepE,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAgD9C"}
@@ -20,6 +20,14 @@ export async function workflow() {
20
20
  await runWorkflow();
21
21
  return;
22
22
  }
23
+ if (subcommand === 'smoke') {
24
+ await smokeWorkflow();
25
+ return;
26
+ }
27
+ if (subcommand === 'agents') {
28
+ await listWorkflowAgents();
29
+ return;
30
+ }
23
31
  if (subcommand === 'runs') {
24
32
  await listWorkflowRuns();
25
33
  return;
@@ -40,10 +48,15 @@ export async function workflow() {
40
48
  await cancelWorkflowRun();
41
49
  return;
42
50
  }
51
+ if (subcommand === 'worker') {
52
+ const { workflowWorker } = await import('./workflow-managed-worker.js');
53
+ await workflowWorker();
54
+ return;
55
+ }
43
56
  throw new Error(workflowUsage());
44
57
  }
45
58
  function workflowUsage() {
46
- return 'Usage: vpd workflow <validate|run|runs|show|rerun|approve|cancel> ...';
59
+ return 'Usage: vpd workflow <validate|run|smoke|agents|runs|show|rerun|approve|cancel|worker> ...';
47
60
  }
48
61
  function showWorkflowHelp() {
49
62
  console.log(workflowUsage());
@@ -85,6 +98,64 @@ async function runWorkflow() {
85
98
  const completed = await pollWorkflowRun(started.run.id);
86
99
  printRun(completed.run);
87
100
  }
101
+ async function smokeWorkflow() {
102
+ await ensureDaemonRunningOrThrow();
103
+ const directory = await resolveDirectoryFromInput(getFlag('path') ?? getFlag('directory'));
104
+ const agent = getFlag('agent');
105
+ if (agent)
106
+ await ensureAgentAvailableForSmoke(agent);
107
+ const sentinel = `VIEWPORT_WORKFLOW_SMOKE_${Date.now()}`;
108
+ const workflowYaml = agent
109
+ ? agentSmokeWorkflowYaml(agent, sentinel)
110
+ : shellSmokeWorkflowYaml(sentinel);
111
+ const started = (await postJson('/api/workflows/runs', {
112
+ workflowYaml,
113
+ workflowSourceRef: 'viewport://workflow-smoke/local',
114
+ directoryId: directory.id,
115
+ inputs: { sentinel },
116
+ initiation: 'cli',
117
+ }));
118
+ const completed = hasFlag('detach') || isTerminalWorkflowStatus(started.run.status)
119
+ ? started
120
+ : await pollWorkflowRun(started.run.id);
121
+ if (isJsonMode()) {
122
+ printJson({
123
+ command: 'workflow smoke',
124
+ ok: completed.run.status === 'completed',
125
+ sentinel,
126
+ ...buildWorkflowRunJsonOutput(completed.run),
127
+ });
128
+ return;
129
+ }
130
+ printRun(completed.run);
131
+ if (completed.run.status === 'completed') {
132
+ console.log(`Smoke: ${sentinel}`);
133
+ }
134
+ }
135
+ async function listWorkflowAgents() {
136
+ await ensureDaemonRunningOrThrow();
137
+ const body = (await getJson('/api/agents'));
138
+ const agents = body.agents ?? [];
139
+ if (isJsonMode()) {
140
+ printJson({ command: 'workflow agents', ok: true, agents });
141
+ return;
142
+ }
143
+ if (agents.length === 0) {
144
+ console.log('No workflow agents registered.');
145
+ return;
146
+ }
147
+ console.log('Workflow agents:');
148
+ for (const agent of agents) {
149
+ if (typeof agent === 'string') {
150
+ console.log(`- ${agent} available`);
151
+ continue;
152
+ }
153
+ const id = typeof agent.id === 'string' ? agent.id : 'unknown';
154
+ const name = typeof agent.displayName === 'string' ? agent.displayName : id;
155
+ const status = agent.available === false ? 'unavailable' : 'available';
156
+ console.log(`- ${id} ${status} ${name}`);
157
+ }
158
+ }
88
159
  async function listWorkflowRuns() {
89
160
  await ensureDaemonRunningOrThrow();
90
161
  const response = await getJson('/api/workflows/runs');
@@ -125,10 +196,15 @@ async function rerunWorkflowRun() {
125
196
  }
126
197
  async function approveWorkflowNode() {
127
198
  await ensureDaemonRunningOrThrow();
128
- const runId = requiredArg(2, 'Usage: vpd workflow approve <run-id> <node-id> [--deny] [--message <text>] [--json]');
129
- const nodeId = requiredArg(3, 'Usage: vpd workflow approve <run-id> <node-id> [--deny] [--message <text>] [--json]');
199
+ const usage = 'Usage: vpd workflow approve <run-id> <node-id> [--request-changes|--reject|--deny] [--expected-action-digest sha256:...] [--message <text>] [--json]';
200
+ const runId = requiredArg(2, usage);
201
+ const nodeId = requiredArg(3, usage);
202
+ const decision = workflowApprovalDecisionFromFlags();
203
+ const expectedActionDigest = getFlag('expected-action-digest') ?? getFlag('digest');
130
204
  const response = (await postJson(`/api/workflows/runs/${encodeURIComponent(runId)}/approvals/${encodeURIComponent(nodeId)}`, {
131
- approved: !hasFlag('deny'),
205
+ approved: decision === 'approve',
206
+ decision,
207
+ ...(expectedActionDigest ? { expectedActionDigest } : {}),
132
208
  ...(getFlag('message') ? { message: getFlag('message') } : {}),
133
209
  actor: {
134
210
  name: 'Local CLI',
@@ -141,6 +217,17 @@ async function approveWorkflowNode() {
141
217
  }
142
218
  printRun(response.run);
143
219
  }
220
+ function workflowApprovalDecisionFromFlags() {
221
+ const negativeFlags = [hasFlag('request-changes'), hasFlag('reject'), hasFlag('deny')].filter(Boolean).length;
222
+ if (negativeFlags > 1) {
223
+ throw new Error('Use only one of --request-changes, --reject, or --deny.');
224
+ }
225
+ if (hasFlag('request-changes'))
226
+ return 'request_changes';
227
+ if (hasFlag('reject') || hasFlag('deny'))
228
+ return 'reject';
229
+ return 'approve';
230
+ }
144
231
  async function cancelWorkflowRun() {
145
232
  await ensureDaemonRunningOrThrow();
146
233
  const runId = requiredArg(2, 'Usage: vpd workflow cancel <run-id> [--message <text>] [--json]');
@@ -179,6 +266,57 @@ function printRun(run) {
179
266
  console.log(`Error: ${run.error}`);
180
267
  console.log(`Inspect: vpd workflow show ${run.id}`);
181
268
  }
269
+ function isTerminalWorkflowStatus(status) {
270
+ return ['completed', 'failed', 'blocked', 'canceled'].includes(status);
271
+ }
272
+ function shellSmokeWorkflowYaml(sentinel) {
273
+ return `schema: viewport.workflow/v1
274
+ name: viewport-smoke
275
+ title: Viewport workflow smoke
276
+ nodes:
277
+ smoke:
278
+ type: shell
279
+ title: Local shell smoke
280
+ command: ${JSON.stringify(`printf ${sentinel}`)}
281
+ `;
282
+ }
283
+ function agentSmokeWorkflowYaml(agent, sentinel) {
284
+ return `schema: viewport.workflow/v1
285
+ name: viewport-agent-smoke
286
+ title: Viewport agent smoke
287
+ requires:
288
+ agents:
289
+ - ${JSON.stringify(agent)}
290
+ nodes:
291
+ smoke:
292
+ type: agent
293
+ agent: ${JSON.stringify(agent)}
294
+ title: Agent smoke
295
+ prompt: "Reply with exactly this sentinel: ${sentinel}"
296
+ `;
297
+ }
298
+ async function ensureAgentAvailableForSmoke(agentId) {
299
+ const response = await daemonFetch('/api/agents', {
300
+ method: 'GET',
301
+ timeoutMs: 30_000,
302
+ });
303
+ if (!response?.ok) {
304
+ throw new Error(`Daemon request failed: ${response?.status ?? 'no response'}`);
305
+ }
306
+ const body = (await response.json());
307
+ const availableAgents = new Set((body.agents ?? []).flatMap((agent) => {
308
+ if (typeof agent === 'string')
309
+ return [agent];
310
+ if (!agent || typeof agent !== 'object')
311
+ return [];
312
+ if (agent.available === false)
313
+ return [];
314
+ return typeof agent.id === 'string' ? [agent.id] : [];
315
+ }));
316
+ if (availableAgents.has(agentId))
317
+ return;
318
+ throw new Error(`Daemon cannot launch workflow agent '${agentId}'. Start the daemon with that built-in agent available, or configure VIEWPORT_CUSTOM_AGENT_COMMAND and VIEWPORT_CUSTOM_AGENT_ID=${agentId}.`);
319
+ }
182
320
  async function ensureDaemonRunningOrThrow() {
183
321
  if (await isDaemonRunning())
184
322
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-commands.js","sourceRoot":"","sources":["../../src/cli/workflow-commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-commands.js","sourceRoot":"","sources":["../../src/cli/workflow-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { WorkflowRunRecord } from '../workflows/types.js';
2
+ import type { ManagedAssignment, ManagedWorkerCapabilities } from './workflow-managed-worker-types.js';
3
+ export declare function localRunToSyncPayload(run: WorkflowRunRecord): Record<string, unknown>;
4
+ export declare function capabilityPayload(capabilities: ManagedWorkerCapabilities): Record<string, string[]>;
5
+ export declare function dataFrom(body: unknown): unknown;
6
+ export declare function readRun(body: unknown): WorkflowRunRecord;
7
+ export declare function approvalMessage(node: NonNullable<ManagedAssignment['nodes']>[number]): string;
8
+ export declare function approvalActor(node: NonNullable<ManagedAssignment['nodes']>[number]): Record<string, string>;
9
+ export declare function progressSyncEveryMs(leaseSeconds: number): number;
10
+ //# sourceMappingURL=workflow-managed-worker-format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-managed-worker-format.d.ts","sourceRoot":"","sources":["../../src/cli/workflow-managed-worker-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,oCAAoC,CAAC;AAE5C,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqBrF;AAED,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,yBAAyB,GACtC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAY1B;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAK/C;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,iBAAiB,CAOxD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAO7F;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GACpD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOxB;AAED,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEhE"}
@@ -0,0 +1,120 @@
1
+ export function localRunToSyncPayload(run) {
2
+ return {
3
+ runtime_run_id: run.id,
4
+ status: run.status,
5
+ data_capture_policy: run.dataCapturePolicy,
6
+ output_snapshot: {
7
+ inputs: run.inputs,
8
+ nodes: Object.fromEntries(Object.entries(run.nodes).map(([key, node]) => [
9
+ key,
10
+ { status: node.status, output: node.output, outputs: node.outputs ?? null },
11
+ ])),
12
+ },
13
+ error_summary: run.error ?? null,
14
+ started_at: iso(run.startedAt),
15
+ completed_at: iso(run.completedAt),
16
+ nodes: Object.values(run.nodes).map(formatNode),
17
+ artifacts: run.artifacts.map(formatArtifact),
18
+ events: run.events.map(formatEvent),
19
+ };
20
+ }
21
+ export function capabilityPayload(capabilities) {
22
+ return {
23
+ tools: ['shell'],
24
+ ...(capabilities.agentCommand && capabilities.agents.length > 0
25
+ ? { agents: capabilities.agents }
26
+ : {}),
27
+ ...(capabilities.agentCommand && capabilities.models.length > 0
28
+ ? { models: capabilities.models }
29
+ : {}),
30
+ ...(capabilities.integrations.length > 0 ? { integrations: capabilities.integrations } : {}),
31
+ ...(capabilities.secrets.length > 0 ? { secrets: capabilities.secrets } : {}),
32
+ };
33
+ }
34
+ export function dataFrom(body) {
35
+ if (body && typeof body === 'object' && 'data' in body) {
36
+ return body.data;
37
+ }
38
+ return body;
39
+ }
40
+ export function readRun(body) {
41
+ const run = body && typeof body === 'object' && 'run' in body ? body.run : body;
42
+ if (!run || typeof run !== 'object' || typeof run.id !== 'string') {
43
+ throw new Error('Daemon workflow response did not include a run.');
44
+ }
45
+ return run;
46
+ }
47
+ export function approvalMessage(node) {
48
+ const approval = node.metadata?.['approval'];
49
+ if (approval && typeof approval === 'object' && 'message' in approval) {
50
+ const message = approval.message;
51
+ if (typeof message === 'string' && message.trim() !== '')
52
+ return message;
53
+ }
54
+ return node.output ?? 'Approved from Viewport';
55
+ }
56
+ export function approvalActor(node) {
57
+ const approval = node.metadata?.['approval'];
58
+ const actor = approval && typeof approval === 'object' ? approval.actor : null;
59
+ return actor && typeof actor === 'object'
60
+ ? actor
61
+ : { name: 'Viewport', source: 'managed-executor' };
62
+ }
63
+ export function progressSyncEveryMs(leaseSeconds) {
64
+ return Math.max(500, Math.min(30_000, Math.floor(leaseSeconds * 500)));
65
+ }
66
+ function formatNode(node) {
67
+ return {
68
+ node_key: node.id,
69
+ title: node.title ?? node.id,
70
+ type: node.type,
71
+ status: node.status,
72
+ session_id: node.sessionId ?? null,
73
+ worktree_path: node.worktreePath ?? null,
74
+ output: node.output ?? null,
75
+ output_snapshot: node.outputs ?? null,
76
+ transcript_excerpt: node.transcriptExcerpt ?? null,
77
+ error: node.error ?? null,
78
+ started_at: iso(node.startedAt),
79
+ completed_at: iso(node.completedAt),
80
+ metadata: {
81
+ ...(node.metadata ?? {}),
82
+ approval: node.approval ?? null,
83
+ inlineAgents: node.inlineAgents ?? null,
84
+ nativeSessionId: node.nativeSessionId ?? null,
85
+ exitCode: node.exitCode ?? null,
86
+ skipReason: node.skipReason ?? null,
87
+ },
88
+ };
89
+ }
90
+ function formatArtifact(artifact) {
91
+ return {
92
+ node_key: artifact.nodeId,
93
+ name: artifact.name,
94
+ kind: artifact.kind ?? null,
95
+ path: artifact.path,
96
+ uri: null,
97
+ mime_type: null,
98
+ digest: artifact.digest ?? null,
99
+ metadata: {
100
+ ...(artifact.metadata ?? {}),
101
+ description: artifact.description ?? null,
102
+ sizeBytes: artifact.sizeBytes ?? null,
103
+ },
104
+ };
105
+ }
106
+ function formatEvent(event) {
107
+ return {
108
+ runtime_event_id: event.id,
109
+ node_key: event.nodeId ?? null,
110
+ type: event.type,
111
+ severity: event.type.includes('failed') ? 'error' : 'info',
112
+ message: event.message,
113
+ payload: event.data ?? null,
114
+ occurred_at: iso(event.timestamp),
115
+ };
116
+ }
117
+ function iso(value) {
118
+ return value ? new Date(value).toISOString() : null;
119
+ }
120
+ //# sourceMappingURL=workflow-managed-worker-format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-managed-worker-format.js","sourceRoot":"","sources":["../../src/cli/workflow-managed-worker-format.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import type { WorkflowInputValue } from '../workflows/types.js';
2
+ export interface ManagedWorkerOptions {
3
+ server: string;
4
+ workspaceId: string;
5
+ executorId: string;
6
+ credential: string;
7
+ workdir?: string;
8
+ leaseSeconds: number;
9
+ sleepSeconds: number;
10
+ maxRuns?: number;
11
+ once: boolean;
12
+ capabilities: ManagedWorkerCapabilities;
13
+ }
14
+ export interface ManagedWorkerCapabilities {
15
+ agentCommand?: string;
16
+ agents: string[];
17
+ models: string[];
18
+ integrations: string[];
19
+ secrets: string[];
20
+ }
21
+ export interface ManagedAssignment {
22
+ id: string;
23
+ assignment_claim_token?: string | null;
24
+ yaml_snapshot?: string | null;
25
+ source_ref?: string | null;
26
+ directory_path?: string | null;
27
+ runtime_run_id?: string | null;
28
+ runtime_target_id?: string | null;
29
+ input_snapshot?: Record<string, WorkflowInputValue> | null;
30
+ data_capture_policy?: {
31
+ transcripts?: 'none' | 'excerpt';
32
+ logs?: 'metadata' | 'content';
33
+ artifacts?: 'metadata' | 'local_reference';
34
+ } | null;
35
+ status?: string | null;
36
+ nodes?: Array<{
37
+ node_key: string;
38
+ type?: string | null;
39
+ status?: string | null;
40
+ output?: string | null;
41
+ error?: string | null;
42
+ metadata?: Record<string, unknown> | null;
43
+ }>;
44
+ }
45
+ export interface DirectoryInfo {
46
+ id: string;
47
+ path: string;
48
+ }
49
+ export interface WorkerStats {
50
+ claimed: number;
51
+ completed: number;
52
+ blocked: number;
53
+ failed: number;
54
+ }
55
+ //# sourceMappingURL=workflow-managed-worker-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-managed-worker-types.d.ts","sourceRoot":"","sources":["../../src/cli/workflow-managed-worker-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,yBAAyB,CAAC;CACzC;AAED,MAAM,WAAW,yBAAyB;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,IAAI,CAAC;IAC3D,mBAAmB,CAAC,EAAE;QACpB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;QAC9B,SAAS,CAAC,EAAE,UAAU,GAAG,iBAAiB,CAAC;KAC5C,GAAG,IAAI,CAAC;IACT,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;KAC3C,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=workflow-managed-worker-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-managed-worker-types.js","sourceRoot":"","sources":["../../src/cli/workflow-managed-worker-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export declare function listFlagValue(value: string | undefined): string[];
2
+ export declare function positiveIntFlagValue(value: string | undefined): number | undefined;
3
+ export declare function safeText(response: Response | undefined): Promise<string>;
4
+ export declare function delay(ms: number): Promise<void>;
5
+ //# sourceMappingURL=workflow-managed-worker-util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-managed-worker-util.d.ts","sourceRoot":"","sources":["../../src/cli/workflow-managed-worker-util.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAMjE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAIlF;AAED,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAO9E;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C"}
@@ -0,0 +1,28 @@
1
+ export function listFlagValue(value) {
2
+ if (!value)
3
+ return [];
4
+ return value
5
+ .split(',')
6
+ .map((entry) => entry.trim())
7
+ .filter(Boolean);
8
+ }
9
+ export function positiveIntFlagValue(value) {
10
+ if (!value)
11
+ return undefined;
12
+ const parsed = Number.parseInt(value, 10);
13
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : undefined;
14
+ }
15
+ export async function safeText(response) {
16
+ if (!response)
17
+ return '';
18
+ try {
19
+ return await response.text();
20
+ }
21
+ catch {
22
+ return '';
23
+ }
24
+ }
25
+ export function delay(ms) {
26
+ return new Promise((resolve) => setTimeout(resolve, ms));
27
+ }
28
+ //# sourceMappingURL=workflow-managed-worker-util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-managed-worker-util.js","sourceRoot":"","sources":["../../src/cli/workflow-managed-worker-util.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,OAAO,KAAK;SACT,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC5B,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAyB;IAC5D,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,QAA8B;IAC3D,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzB,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function workflowWorker(): Promise<void>;
2
+ //# sourceMappingURL=workflow-managed-worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-managed-worker.d.ts","sourceRoot":"","sources":["../../src/cli/workflow-managed-worker.ts"],"names":[],"mappings":"AA4BA,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAkEpD"}