@agentworkforce/cli 3.0.3 → 3.0.5

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.
@@ -1,6 +1,31 @@
1
1
  import path from 'node:path';
2
- import { createTerminalIO, deploy, resolveWorkspaceToken } from '@agentworkforce/deploy';
3
- const DEFAULT_CLOUD_URL = 'https://agentrelay.com';
2
+ import { CloudApiClient, clearStoredAuth, defaultApiUrl, ensureAuthenticated, issueWorkspaceToken } from '@agent-relay/cloud';
3
+ import { clearStoredWorkspaceToken, createTerminalIO, deploy, writeStoredWorkspaceToken } from '@agentworkforce/deploy';
4
+ import { BUILD_YOUR_OWN_RUNTIME_DOCS_URL, pickRuntime } from './runtime-picker.js';
5
+ const defaultDeployCommandDeps = {
6
+ ensureAuthenticated,
7
+ issueWorkspaceToken,
8
+ clearStoredAuth,
9
+ clearStoredWorkspaceToken,
10
+ writeStoredWorkspaceToken,
11
+ createTerminalIO,
12
+ createCloudApiClient(auth, apiUrl) {
13
+ return new CloudApiClient({
14
+ apiUrl,
15
+ accessToken: auth.accessToken,
16
+ refreshToken: auth.refreshToken,
17
+ accessTokenExpiresAt: auth.accessTokenExpiresAt
18
+ });
19
+ }
20
+ };
21
+ let deployCommandDeps = defaultDeployCommandDeps;
22
+ export function configureDeployCommandForTest(overrides) {
23
+ const previous = deployCommandDeps;
24
+ deployCommandDeps = { ...deployCommandDeps, ...overrides };
25
+ return () => {
26
+ deployCommandDeps = previous;
27
+ };
28
+ }
4
29
  /**
5
30
  * Argv parser + dispatcher for `agentworkforce deploy <persona-path> [flags]`.
6
31
  * Keeps cli.ts itself slim — the file is already a large dispatcher and
@@ -11,7 +36,18 @@ export async function runDeploy(args) {
11
36
  process.stdout.write(DEPLOY_USAGE);
12
37
  process.exit(args.length === 0 ? 1 : 0);
13
38
  }
14
- const parsed = parseDeployArgs(args);
39
+ let parsed = parseDeployArgs(args);
40
+ if (!parsed.mode && (parsed.noPrompt || !process.stdin.isTTY || !process.stdout.isTTY)) {
41
+ die('deploy: --mode is required when prompts are disabled or stdio is non-interactive');
42
+ }
43
+ if (!parsed.mode) {
44
+ const picked = await pickRuntime();
45
+ if (picked === 'docs') {
46
+ process.stdout.write(`${BUILD_YOUR_OWN_RUNTIME_DOCS_URL}\n`);
47
+ process.exit(0);
48
+ }
49
+ parsed = { ...parsed, mode: picked };
50
+ }
15
51
  try {
16
52
  const result = await deploy(parsed);
17
53
  if (parsed.dryRun) {
@@ -50,32 +86,58 @@ export async function runLogin(args) {
50
86
  process.exit(0);
51
87
  }
52
88
  const opts = parseLoginArgs(args);
53
- const io = createTerminalIO();
54
- const workspace = opts.workspace
55
- ?? process.env.WORKFORCE_WORKSPACE_ID?.trim()
56
- ?? (await io.prompt('Workspace ID')).trim();
57
- if (!workspace) {
58
- process.stderr.write('agentworkforce login failed: workspace is required; pass --workspace or set WORKFORCE_WORKSPACE_ID\n');
89
+ const io = deployCommandDeps.createTerminalIO();
90
+ const cloudUrl = normalizeCloudUrl(opts.cloudUrl ?? process.env.WORKFORCE_DEPLOY_CLOUD_URL ?? process.env.WORKFORCE_CLOUD_URL ?? defaultApiUrl());
91
+ try {
92
+ const auth = await deployCommandDeps.ensureAuthenticated(cloudUrl);
93
+ const apiUrl = normalizeCloudUrl(auth.apiUrl || cloudUrl);
94
+ const workspaces = await listWorkspacesForLogin(auth, apiUrl);
95
+ const chosen = opts.workspace
96
+ ?? await pickWorkspaceInteractive(workspaces, io);
97
+ const tokenResp = await deployCommandDeps.issueWorkspaceToken(chosen, {
98
+ apiUrl,
99
+ name: 'agentworkforce-cli'
100
+ });
101
+ const token = readWorkspaceToken(tokenResp);
102
+ const workspaceId = readWorkspaceId(tokenResp) ?? findWorkspace(workspaces, chosen)?.id ?? chosen;
103
+ await deployCommandDeps.writeStoredWorkspaceToken({
104
+ workspace: chosen,
105
+ workspaceSlug: findWorkspace(workspaces, chosen)?.slug ?? chosen,
106
+ workspaceId,
107
+ token,
108
+ cloudUrl: apiUrl
109
+ });
110
+ process.stdout.write(`\nlogged in: ${chosen}\n`);
111
+ process.exit(0);
112
+ }
113
+ catch (err) {
114
+ process.stderr.write(`\nagentworkforce login failed: ${err instanceof Error ? err.message : String(err)}\n`);
59
115
  process.exit(1);
60
116
  }
61
- const cloudUrl = normalizeCloudUrl(opts.cloudUrl
62
- ?? process.env.WORKFORCE_DEPLOY_CLOUD_URL
63
- ?? process.env.WORKFORCE_CLOUD_URL
64
- ?? DEFAULT_CLOUD_URL);
117
+ }
118
+ export async function runLogout(args) {
119
+ if (args.length > 0 && (args[0] === '-h' || args[0] === '--help')) {
120
+ process.stdout.write(LOGOUT_USAGE);
121
+ process.exit(0);
122
+ }
123
+ const opts = parseLogoutArgs(args);
65
124
  try {
66
- await resolveWorkspaceToken({ workspace, cloudUrl, io });
67
- process.stdout.write(`\nlogged in: ${workspace}\n`);
125
+ if (opts.cloudAuth) {
126
+ await deployCommandDeps.clearStoredAuth();
127
+ }
128
+ await deployCommandDeps.clearStoredWorkspaceToken(opts.workspace);
129
+ process.stdout.write(opts.cloudAuth ? 'logged out\n' : 'workspace login cleared\n');
68
130
  process.exit(0);
69
131
  }
70
132
  catch (err) {
71
- process.stderr.write(`\nagentworkforce login failed: ${err instanceof Error ? err.message : String(err)}\n`);
133
+ process.stderr.write(`\nagentworkforce logout failed: ${err instanceof Error ? err.message : String(err)}\n`);
72
134
  process.exit(1);
73
135
  }
74
136
  }
75
137
  const DEPLOY_USAGE = `usage: agentworkforce deploy <persona-path> [flags]
76
138
 
77
139
  Flags:
78
- --mode dev|sandbox|cloud Pick a run mode (default: sandbox if Daytona/workspace creds resolve, else dev)
140
+ --mode dev|sandbox|cloud Pick a run mode (prompts in an interactive terminal)
79
141
  --workspace <name> Workforce workspace; defaults to the active workspace
80
142
  --no-connect Skip integration-connect prompts; fail if any are missing
81
143
  --byo-sandbox Force BYO Daytona auth even when logged in
@@ -93,14 +155,26 @@ Flags:
93
155
  const LOGIN_USAGE = `usage: agentworkforce login [flags]
94
156
 
95
157
  Connect this machine to a workforce workspace using the browser OAuth flow.
96
- The resulting workspace token is stored in the OS keychain when available,
97
- falling back to ~/.agentworkforce/login.json.
158
+ If an Agent Relay Cloud login already exists, it is reused and the workforce
159
+ workspace token is stored beside it. Set WORKFORCE_LOGIN_FILE to force the
160
+ legacy ~/.agentworkforce/login.json-style fallback instead.
98
161
 
99
162
  Flags:
100
163
  --workspace <name> Workforce workspace; defaults to WORKFORCE_WORKSPACE_ID or prompt
101
164
  --cloud-url <url> Override the workforce cloud base URL
102
165
  -h, --help Print this message
103
166
  `;
167
+ const LOGOUT_USAGE = `usage: agentworkforce logout [flags]
168
+
169
+ Clear the stored workforce workspace token. Agent Relay Cloud browser auth is
170
+ shared with agent-relay and is preserved unless --cloud-auth is passed.
171
+
172
+ Flags:
173
+ --workspace <name> Optional workspace token entry to clear
174
+ --cloud-auth Also clear the shared Agent Relay Cloud login
175
+ --all Alias for --cloud-auth
176
+ -h, --help Print this message
177
+ `;
104
178
  const HARNESS_SOURCES = ['plan', 'byok', 'oauth'];
105
179
  const ON_EXISTS_CHOICES = ['update', 'destroy', 'cancel'];
106
180
  export function parseDeployArgs(args) {
@@ -281,9 +355,132 @@ function parseLoginArgs(args) {
281
355
  ...(cloudUrl ? { cloudUrl } : {})
282
356
  };
283
357
  }
358
+ function parseLogoutArgs(args) {
359
+ let workspace;
360
+ let cloudAuth = false;
361
+ for (let i = 0; i < args.length; i += 1) {
362
+ const a = args[i];
363
+ if (a === '-h' || a === '--help') {
364
+ process.stdout.write(LOGOUT_USAGE);
365
+ process.exit(0);
366
+ }
367
+ else if (a === '--workspace') {
368
+ workspace = expectValue('--workspace', args[++i]);
369
+ }
370
+ else if (a.startsWith('--workspace=')) {
371
+ workspace = expectInlineValue('--workspace', a.slice('--workspace='.length));
372
+ }
373
+ else if (a === '--cloud-auth' || a === '--all') {
374
+ cloudAuth = true;
375
+ }
376
+ else {
377
+ die(`logout: unknown argument "${a}"`);
378
+ }
379
+ }
380
+ return {
381
+ ...(workspace ? { workspace } : {}),
382
+ ...(cloudAuth ? { cloudAuth } : {})
383
+ };
384
+ }
385
+ async function listWorkspacesForLogin(auth, apiUrl) {
386
+ const client = deployCommandDeps.createCloudApiClient(auth, apiUrl);
387
+ const res = await client.fetch('/api/v1/workspaces');
388
+ if (res.ok) {
389
+ return parseWorkspaceList(await res.json().catch(() => null));
390
+ }
391
+ if (res.status !== 404 && res.status !== 405) {
392
+ throw new Error(`workspace list failed: ${res.status} ${await res.text().catch(() => '')}`.trim());
393
+ }
394
+ const who = await client.fetch('/api/v1/auth/whoami');
395
+ if (!who.ok)
396
+ return [];
397
+ return parseWorkspaceList(await who.json().catch(() => null));
398
+ }
399
+ async function pickWorkspaceInteractive(workspaces, io) {
400
+ if (workspaces.length === 1) {
401
+ return workspaceKey(workspaces[0]);
402
+ }
403
+ if (workspaces.length > 1) {
404
+ for (let i = 0; i < workspaces.length; i += 1) {
405
+ const ws = workspaces[i];
406
+ io.info(`[${i + 1}] ${workspaceKey(ws)}${ws.name ? ` (${ws.name})` : ''}`);
407
+ }
408
+ const answer = await io.prompt('Workspace', { defaultValue: '1' });
409
+ const index = Number(answer.trim());
410
+ if (Number.isInteger(index) && index >= 1 && index <= workspaces.length) {
411
+ return workspaceKey(workspaces[index - 1]);
412
+ }
413
+ const found = findWorkspace(workspaces, answer.trim());
414
+ if (found)
415
+ return workspaceKey(found);
416
+ throw new Error(`unknown workspace "${answer}"`);
417
+ }
418
+ const answer = await io.prompt('Workspace');
419
+ if (!answer.trim()) {
420
+ throw new Error('workspace is required');
421
+ }
422
+ return answer.trim();
423
+ }
424
+ function parseWorkspaceList(payload) {
425
+ const candidates = Array.isArray(payload)
426
+ ? payload
427
+ : payload && typeof payload === 'object' && Array.isArray(payload.workspaces)
428
+ ? payload.workspaces
429
+ : payload && typeof payload === 'object' && Array.isArray(payload.items)
430
+ ? payload.items
431
+ : payload && typeof payload === 'object' && payload.currentWorkspace
432
+ ? [payload.currentWorkspace]
433
+ : [];
434
+ return candidates.flatMap((candidate) => {
435
+ if (!candidate || typeof candidate !== 'object' || Array.isArray(candidate))
436
+ return [];
437
+ const record = candidate;
438
+ const id = readString(record, 'id') ?? readString(record, 'workspaceId');
439
+ if (!id)
440
+ return [];
441
+ return [{
442
+ id,
443
+ ...(readString(record, 'slug') ? { slug: readString(record, 'slug') } : {}),
444
+ ...(readString(record, 'name') ? { name: readString(record, 'name') } : {})
445
+ }];
446
+ });
447
+ }
448
+ function findWorkspace(workspaces, value) {
449
+ return workspaces.find((workspace) => [workspace.id, workspace.slug, workspace.name].includes(value));
450
+ }
451
+ function workspaceKey(workspace) {
452
+ return workspace.slug ?? workspace.id;
453
+ }
454
+ function readWorkspaceToken(value) {
455
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
456
+ throw new Error('workspace token response was not an object');
457
+ }
458
+ const record = value;
459
+ const token = readString(record, 'token') ?? readString(record, 'key');
460
+ if (!token) {
461
+ throw new Error('workspace token response did not include a token');
462
+ }
463
+ return token;
464
+ }
465
+ function readWorkspaceId(value) {
466
+ if (!value || typeof value !== 'object' || Array.isArray(value))
467
+ return undefined;
468
+ const record = value;
469
+ const direct = readString(record, 'workspaceId');
470
+ if (direct)
471
+ return direct;
472
+ const nested = record.workspaceToken;
473
+ if (!nested || typeof nested !== 'object' || Array.isArray(nested))
474
+ return undefined;
475
+ return readString(nested, 'workspaceId');
476
+ }
477
+ function readString(record, key) {
478
+ const value = record[key];
479
+ return typeof value === 'string' && value.trim() ? value.trim() : undefined;
480
+ }
284
481
  function normalizeCloudUrl(url) {
285
482
  const trimmed = url.trim();
286
- return trimmed ? trimmed.replace(/\/+$/, '') : DEFAULT_CLOUD_URL;
483
+ return trimmed ? trimmed.replace(/\/+$/, '') : defaultApiUrl().replace(/\/+$/, '');
287
484
  }
288
485
  function die(message) {
289
486
  process.stderr.write(`${message}\n`);
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-command.js","sourceRoot":"","sources":["../src/deploy-command.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,gBAAgB,EAChB,MAAM,EACN,qBAAqB,EAItB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAuB;IACrD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QAClE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAErC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,MAAM,CAAC,YAAY,cAAc,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;YACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,SAAS,MAAM,CAAC,YAAY,UAAU,MAAM,CAAC,IAAI,eAAe,MAAM,CAAC,SAAS,KAAK,CACtF,CAAC;QAEF,kEAAkE;QAClE,mEAAmE;QACnE,4CAA4C;QAC5C,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,mCAAmC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CACxF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC;QACtE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAI,KAA4B,CAAC,IAAI,CAAC;IAChD,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,OAAQ,IAA2B,CAAC,IAAI,KAAK,UAAU,CAAC;AAC9G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAuB;IACpD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;QAClE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS;WAC3B,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,EAAE;WAC1C,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sGAAsG,CAAC,CAAC;QAC7H,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAChC,IAAI,CAAC,QAAQ;WACR,OAAO,CAAC,GAAG,CAAC,0BAA0B;WACtC,OAAO,CAAC,GAAG,CAAC,mBAAmB;WAC/B,iBAAiB,CACvB,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,qBAAqB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,SAAS,IAAI,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kCAAkC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CACvF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;CAiBpB,CAAC;AAEF,MAAM,WAAW,GAAG;;;;;;;;;;CAUnB,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AAC3D,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAC;AAEnE,MAAM,UAAU,eAAe,CAAC,IAAuB;IACrD,IAAI,WAA+B,CAAC;IACpC,IAAI,IAA4B,CAAC;IACjC,IAAI,SAA6B,CAAC;IAClC,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,SAA6B,CAAC;IAClC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,QAA4B,CAAC;IACjC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,aAA6C,CAAC;IAClD,IAAI,OAA2B,CAAC;IAChC,IAAI,QAAmC,CAAC;IACxC,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;gBACpD,GAAG,CAAC,mDAAmD,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,GAAG,CAAC,CAAC;QACX,CAAC;aAAM,IAAI,CAAC,KAAK,aAAa,EAAE,CAAC;YAC/B,SAAS,GAAG,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;aAAM,IAAI,CAAC,KAAK,cAAc,EAAE,CAAC;YAChC,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;aAAM,IAAI,CAAC,KAAK,eAAe,EAAE,CAAC;YACjC,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;aAAM,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YAC5B,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;aAAM,IAAI,CAAC,KAAK,cAAc,EAAE,CAAC;YAChC,SAAS,GAAG,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC;aAAM,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;YAC7B,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;aAAM,IAAI,CAAC,KAAK,aAAa,EAAE,CAAC;YAC/B,QAAQ,GAAG,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACxC,QAAQ,GAAG,iBAAiB,CAAC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9E,CAAC;aAAM,IAAI,CAAC,KAAK,aAAa,EAAE,CAAC;YAC/B,QAAQ,GAAG,IAAI,CAAC;YAChB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;aAAM,IAAI,CAAC,KAAK,kBAAkB,EAAE,CAAC;YACpC,aAAa,GAAG,YAAY,CAAC,kBAAkB,EAAE,WAAW,CAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;QAChH,CAAC;aAAM,IAAI,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC7C,aAAa,GAAG,YAAY,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;QAChJ,CAAC;aAAM,IAAI,CAAC,KAAK,YAAY,EAAE,CAAC;YAC9B,OAAO,GAAG,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACvC,OAAO,GAAG,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3E,CAAC;aAAM,IAAI,CAAC,KAAK,aAAa,EAAE,CAAC;YAC/B,QAAQ,GAAG,YAAY,CAAC,aAAa,EAAE,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACnG,CAAC;aAAM,IAAI,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACxC,QAAQ,GAAG,YAAY,CAAC,aAAa,EAAE,iBAAiB,CAAC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAC9H,CAAC;aAAM,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAC3B,qBAAqB,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACnE,CAAC;aAAM,IAAI,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACpC,qBAAqB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QAC5D,CAAC;aAAM,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,GAAG,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YACxB,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,2CAA2C,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,GAAG,CAAC,2EAA2E,CAAC,CAAC;IACnF,CAAC;IAED,OAAO;QACL,WAAW;QACX,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtD,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAyB;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9E,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAW,EAAE,MAA8B;IACxE,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACZ,GAAG,CAAC,yCAAyC,GAAG,GAAG,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,KAAyB;IAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/C,GAAG,CAAC,GAAG,IAAI,iBAAiB,CAAC,CAAC;IAChC,CAAC;IACD,yEAAyE;IACzE,qEAAqE;IACrE,kBAAkB;IAClB,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,GAAG,CAAC,GAAG,IAAI,yBAAyB,KAAK,6BAA6B,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY,EAAE,KAAa;IACpD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAClB,GAAG,CAAC,GAAG,IAAI,iBAAiB,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAmB,IAAY,EAAE,KAAa,EAAE,OAAqB;IACxF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAU,CAAC,EAAE,CAAC;QAClC,GAAG,CAAC,GAAG,IAAI,qBAAqB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,KAAU,CAAC;AACpB,CAAC;AAED,SAAS,cAAc,CAAC,IAAuB;IAC7C,IAAI,SAA6B,CAAC;IAClC,IAAI,QAA4B,CAAC;IAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,CAAC,KAAK,aAAa,EAAE,CAAC;YAC/B,SAAS,GAAG,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;aAAM,IAAI,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACxC,SAAS,GAAG,iBAAiB,CAAC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/E,CAAC;aAAM,IAAI,CAAC,KAAK,aAAa,EAAE,CAAC;YAC/B,QAAQ,GAAG,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACxC,QAAQ,GAAG,iBAAiB,CAAC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9E,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,OAAO;QACL,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW;IACpC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;AACnE,CAAC;AAED,SAAS,GAAG,CAAC,OAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"deploy-command.js","sourceRoot":"","sources":["../src/deploy-command.ts"],"names":[],"mappings":"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"}
@@ -1,32 +1,165 @@
1
1
  import test from 'node:test';
2
2
  import assert from 'node:assert/strict';
3
3
  import path from 'node:path';
4
- import { parseDeployArgs } from './deploy-command.js';
5
- function trapExit() {
4
+ import { configureDeployCommandForTest, parseDeployArgs, runLogin, runLogout } from './deploy-command.js';
5
+ import { createBufferedIO } from '@agentworkforce/deploy';
6
+ function trapExit(throwOnExit = true) {
6
7
  const trap = {
7
8
  exits: [],
9
+ stdout: '',
8
10
  stderr: '',
9
11
  restore: () => {
10
12
  /* replaced below */
11
13
  }
12
14
  };
13
15
  const origExit = process.exit;
16
+ const origOut = process.stdout.write.bind(process.stdout);
14
17
  const origErr = process.stderr.write.bind(process.stderr);
15
18
  const fakeExit = ((code) => {
16
19
  trap.exits.push(code ?? 0);
17
- throw new Error(`__exit_trap__:${code ?? 0}`);
20
+ if (throwOnExit) {
21
+ throw new Error(`__exit_trap__:${code ?? 0}`);
22
+ }
23
+ return undefined;
18
24
  });
19
25
  process.exit = fakeExit;
26
+ process.stdout.write = ((chunk) => {
27
+ trap.stdout += typeof chunk === 'string' ? chunk : chunk.toString();
28
+ return true;
29
+ });
20
30
  process.stderr.write = ((chunk) => {
21
31
  trap.stderr += typeof chunk === 'string' ? chunk : chunk.toString();
22
32
  return true;
23
33
  });
24
34
  trap.restore = () => {
25
35
  process.exit = origExit;
36
+ process.stdout.write = origOut;
26
37
  process.stderr.write = origErr;
27
38
  };
28
39
  return trap;
29
40
  }
41
+ test('runLogin uses cloud SDK auth, mints a workspace token, and stores it', async () => {
42
+ const calls = [];
43
+ const writes = [];
44
+ const restoreDeps = configureDeployCommandForTest({
45
+ createTerminalIO: () => createBufferedIO(),
46
+ ensureAuthenticated: async (apiUrl) => {
47
+ calls.push(`ensure:${apiUrl}`);
48
+ return {
49
+ apiUrl,
50
+ accessToken: 'access',
51
+ refreshToken: 'refresh',
52
+ accessTokenExpiresAt: '2999-01-01T00:00:00.000Z'
53
+ };
54
+ },
55
+ createCloudApiClient() {
56
+ return {
57
+ async fetch(pathname) {
58
+ calls.push(`fetch:${pathname}`);
59
+ return new Response(JSON.stringify({ workspaces: [{ id: 'ws-1', slug: 'acme' }] }), {
60
+ status: 200,
61
+ headers: { 'content-type': 'application/json' }
62
+ });
63
+ }
64
+ };
65
+ },
66
+ issueWorkspaceToken: async (workspace, options = {}) => {
67
+ calls.push(`issue:${workspace}:${options.apiUrl}:${options.name}`);
68
+ return { key: 'tok-ws', workspaceToken: { workspaceId: 'ws-1', kind: 'workspace_token' } };
69
+ },
70
+ writeStoredWorkspaceToken: async (login) => {
71
+ writes.push(login);
72
+ }
73
+ });
74
+ const trap = trapExit(false);
75
+ try {
76
+ await runLogin(['--cloud-url', 'https://cloud.example.test/']);
77
+ assert.deepEqual(trap.exits, [0]);
78
+ assert.deepEqual(calls, [
79
+ 'ensure:https://cloud.example.test',
80
+ 'fetch:/api/v1/workspaces',
81
+ 'issue:acme:https://cloud.example.test:agentworkforce-cli'
82
+ ]);
83
+ assert.deepEqual(writes, [{
84
+ workspace: 'acme',
85
+ workspaceSlug: 'acme',
86
+ workspaceId: 'ws-1',
87
+ token: 'tok-ws',
88
+ cloudUrl: 'https://cloud.example.test'
89
+ }]);
90
+ assert.match(trap.stdout, /logged in: acme/);
91
+ }
92
+ finally {
93
+ trap.restore();
94
+ restoreDeps();
95
+ }
96
+ });
97
+ test('runLogout preserves shared cloud auth and clears only the workspace token by default', async () => {
98
+ const calls = [];
99
+ const restoreDeps = configureDeployCommandForTest({
100
+ clearStoredAuth: async () => {
101
+ calls.push('clear-auth');
102
+ },
103
+ clearStoredWorkspaceToken: async (workspace) => {
104
+ calls.push(`clear-workspace:${workspace ?? ''}`);
105
+ }
106
+ });
107
+ const trap = trapExit(false);
108
+ try {
109
+ await runLogout(['--workspace', 'acme']);
110
+ assert.deepEqual(trap.exits, [0]);
111
+ assert.deepEqual(calls, ['clear-workspace:acme']);
112
+ assert.match(trap.stdout, /workspace login cleared/);
113
+ }
114
+ finally {
115
+ trap.restore();
116
+ restoreDeps();
117
+ }
118
+ });
119
+ test('runLogout clears shared cloud auth when explicitly requested', async () => {
120
+ const calls = [];
121
+ const restoreDeps = configureDeployCommandForTest({
122
+ clearStoredAuth: async () => {
123
+ calls.push('clear-auth');
124
+ },
125
+ clearStoredWorkspaceToken: async (workspace) => {
126
+ calls.push(`clear-workspace:${workspace ?? ''}`);
127
+ }
128
+ });
129
+ const trap = trapExit(false);
130
+ try {
131
+ await runLogout(['--workspace', 'acme', '--cloud-auth']);
132
+ assert.deepEqual(trap.exits, [0]);
133
+ assert.deepEqual(calls, ['clear-auth', 'clear-workspace:acme']);
134
+ assert.match(trap.stdout, /logged out/);
135
+ }
136
+ finally {
137
+ trap.restore();
138
+ restoreDeps();
139
+ }
140
+ });
141
+ test('runLogout treats --all as an alias for clearing shared cloud auth', async () => {
142
+ const calls = [];
143
+ const restoreDeps = configureDeployCommandForTest({
144
+ clearStoredAuth: async () => {
145
+ calls.push('clear-auth');
146
+ },
147
+ clearStoredWorkspaceToken: async (workspace) => {
148
+ calls.push(`clear-workspace:${workspace ?? ''}`);
149
+ }
150
+ });
151
+ const trap = trapExit(false);
152
+ try {
153
+ await runLogout(['--all']);
154
+ assert.deepEqual(trap.exits, [0]);
155
+ assert.deepEqual(calls, ['clear-auth', 'clear-workspace:']);
156
+ assert.match(trap.stdout, /logged out/);
157
+ }
158
+ finally {
159
+ trap.restore();
160
+ restoreDeps();
161
+ }
162
+ });
30
163
  test('parseDeployArgs: single --input parses and forwards', () => {
31
164
  const parsed = parseDeployArgs(['./persona.json', '--input', 'TOPIC=Deploy v1']);
32
165
  assert.equal(parsed.personaPath, path.resolve('./persona.json'));
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-command.test.js","sourceRoot":"","sources":["../src/deploy-command.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAQtD,SAAS,QAAQ;IACf,MAAM,IAAI,GAAa;QACrB,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,GAAG,EAAE;YACZ,oBAAoB;QACtB,CAAC;KACF,CAAC;IACF,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAa,EAAE,EAAE;QAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAwB,CAAC;IAE1B,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;IACxB,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,KAA0B,EAAE,EAAE;QACrD,IAAI,CAAC,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC,CAAgC,CAAC;IAElC,IAAI,CAAC,OAAO,GAAG,GAAG,EAAE;QAClB,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC;IACjC,CAAC,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,IAAI,CAAC,qDAAqD,EAAE,GAAG,EAAE;IAC/D,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,gBAAgB,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEjF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACjE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oDAAoD,EAAE,GAAG,EAAE;IAC9D,MAAM,MAAM,GAAG,eAAe,CAAC;QAC7B,gBAAgB;QAChB,SAAS;QACT,iBAAiB;QACjB,0BAA0B;KAC3B,CAAC,CAAC;IAEH,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE;QAC9B,KAAK,EAAE,WAAW;QAClB,MAAM,EAAE,WAAW;KACpB,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2DAA2D,EAAE,GAAG,EAAE;IACrE,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,gBAAgB,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,EAC3D,iBAAiB,CAClB,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,4CAA4C,CAAC,CAAC;IAC1E,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"deploy-command.test.js","sourceRoot":"","sources":["../src/deploy-command.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export interface DestroyOptions {
2
+ /** Either a persona file path (.json) or a literal agent UUID. */
3
+ target: string;
4
+ /** Workforce workspace id. Falls back to WORKFORCE_WORKSPACE_ID. */
5
+ workspace?: string;
6
+ /** Override cloud base URL. Falls back to env, then DEFAULT_CLOUD_URL. */
7
+ cloudUrl?: string;
8
+ /** Fail instead of opening the browser to log in. */
9
+ noPrompt?: boolean;
10
+ }
11
+ /**
12
+ * Argv parser + dispatcher for `agentworkforce destroy <persona-or-agent-id> [flags]`.
13
+ * Mirrors the shape of runDeploy so cli.ts stays slim — destroy is a single
14
+ * remote DELETE plus user-friendly resolution from persona file -> agentId.
15
+ */
16
+ export declare function runDestroy(args: readonly string[]): Promise<void>;
17
+ export declare const DESTROY_USAGE = "usage: agentworkforce destroy <persona-or-agent-id> [flags]\n\nTear down a deployed agent: cancel all relaycron schedules and mark the\nagent as destroyed in the workspace. Accepts either a persona JSON path\n(slug/id is resolved via the workspace's agents index) or a literal agent\nUUID.\n\nFlags:\n --workspace <id> Workforce workspace; defaults to WORKFORCE_WORKSPACE_ID\n --cloud-url <url> Override the workforce cloud base URL\n --no-prompt Fail instead of opening the browser to log in\n -h, --help Print this message\n\nExit codes:\n 0 destroyed\n 2 agent not found or already destroyed\n 1 any other error\n";
18
+ export declare function parseDestroyArgs(args: readonly string[]): DestroyOptions;
19
+ //# sourceMappingURL=destroy-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"destroy-command.d.ts","sourceRoot":"","sources":["../src/destroy-command.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA4BD;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBvE;AAsMD,eAAO,MAAM,aAAa,opBAiBzB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,cAAc,CAwCxE"}