@agentworkforce/deploy 3.0.2 → 3.0.4

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 (42) hide show
  1. package/dist/connect.d.ts +11 -0
  2. package/dist/connect.d.ts.map +1 -1
  3. package/dist/connect.js +120 -2
  4. package/dist/connect.js.map +1 -1
  5. package/dist/connect.test.d.ts +2 -0
  6. package/dist/connect.test.d.ts.map +1 -0
  7. package/dist/connect.test.js +93 -0
  8. package/dist/connect.test.js.map +1 -0
  9. package/dist/deploy.d.ts.map +1 -1
  10. package/dist/deploy.js +52 -19
  11. package/dist/deploy.js.map +1 -1
  12. package/dist/deploy.test.js +132 -11
  13. package/dist/deploy.test.js.map +1 -1
  14. package/dist/index.d.ts +4 -6
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +2 -2
  17. package/dist/index.js.map +1 -1
  18. package/dist/login.d.ts +41 -2
  19. package/dist/login.d.ts.map +1 -1
  20. package/dist/login.js +265 -6
  21. package/dist/login.js.map +1 -1
  22. package/dist/login.test.d.ts +2 -0
  23. package/dist/login.test.d.ts.map +1 -0
  24. package/dist/login.test.js +126 -0
  25. package/dist/login.test.js.map +1 -0
  26. package/dist/modes/cloud.d.ts +22 -14
  27. package/dist/modes/cloud.d.ts.map +1 -1
  28. package/dist/modes/cloud.js +635 -57
  29. package/dist/modes/cloud.js.map +1 -1
  30. package/dist/modes/cloud.test.d.ts +2 -0
  31. package/dist/modes/cloud.test.d.ts.map +1 -0
  32. package/dist/modes/cloud.test.js +519 -0
  33. package/dist/modes/cloud.test.js.map +1 -0
  34. package/dist/modes/input-values.test.js +17 -5
  35. package/dist/modes/input-values.test.js.map +1 -1
  36. package/dist/modes/sandbox.d.ts +1 -1
  37. package/dist/modes/sandbox.d.ts.map +1 -1
  38. package/dist/modes/sandbox.js +2 -2
  39. package/dist/modes/sandbox.js.map +1 -1
  40. package/dist/types.d.ts +27 -3
  41. package/dist/types.d.ts.map +1 -1
  42. package/package.json +4 -3
@@ -1 +1 @@
1
- {"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../src/modes/cloud.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../src/modes/cloud.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cloud.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud.test.d.ts","sourceRoot":"","sources":["../../src/modes/cloud.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,519 @@
1
+ import test from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import { mkdtemp, rm, writeFile } from 'node:fs/promises';
4
+ import os from 'node:os';
5
+ import path from 'node:path';
6
+ import { createBufferedIO } from '../io.js';
7
+ import { cloudLauncher, configureCloudCredentialDepsForTest } from './cloud.js';
8
+ const ENV_KEYS = [
9
+ 'WORKFORCE_WORKSPACE_TOKEN',
10
+ 'WORKFORCE_DEPLOY_CLOUD_URL',
11
+ 'WORKFORCE_CLOUD_URL',
12
+ 'WORKFORCE_DEPLOY_HARNESS_SOURCE',
13
+ 'WORKFORCE_DEPLOY_BYOK_KEY',
14
+ 'WORKFORCE_DEPLOY_ON_EXISTS',
15
+ 'WORKFORCE_DEPLOY_NO_PROMPT',
16
+ 'WORKFORCE_DEPLOY_INPUTS_JSON',
17
+ 'WORKFORCE_DEPLOY_POLL_INTERVAL_MS',
18
+ 'WORKFORCE_DEPLOY_POLL_TIMEOUT_MS',
19
+ 'WORKFORCE_DEPLOY_RETRY_BACKOFF_MS'
20
+ ];
21
+ function persona(overrides = {}) {
22
+ return {
23
+ id: 'demo',
24
+ intent: 'documentation',
25
+ tags: ['documentation'],
26
+ description: 'test persona',
27
+ harness: 'codex',
28
+ model: 'openai-codex/test',
29
+ systemPrompt: 'help',
30
+ harnessSettings: { reasoning: 'medium', timeoutSeconds: 300 },
31
+ cloud: true,
32
+ schedules: [{ name: 'daily', cron: '0 9 * * *' }],
33
+ onEvent: './agent.ts',
34
+ ...overrides
35
+ };
36
+ }
37
+ async function withBundle() {
38
+ const dir = await mkdtemp(path.join(os.tmpdir(), 'wf-cloud-test-'));
39
+ const runnerPath = path.join(dir, 'runner.mjs');
40
+ const bundlePath = path.join(dir, 'agent.bundle.mjs');
41
+ const personaCopyPath = path.join(dir, 'persona.json');
42
+ const packageJsonPath = path.join(dir, 'package.json');
43
+ await Promise.all([
44
+ writeFile(runnerPath, 'export {};', 'utf8'),
45
+ writeFile(bundlePath, 'export default {};', 'utf8'),
46
+ writeFile(personaCopyPath, '{}', 'utf8'),
47
+ writeFile(packageJsonPath, '{"type":"module"}', 'utf8')
48
+ ]);
49
+ return {
50
+ bundle: {
51
+ runnerPath,
52
+ bundlePath,
53
+ personaCopyPath,
54
+ packageJsonPath,
55
+ sizeBytes: 2
56
+ },
57
+ cleanup: () => rm(dir, { recursive: true, force: true })
58
+ };
59
+ }
60
+ function okJson(body, status = 200) {
61
+ return new Response(JSON.stringify(body), {
62
+ status,
63
+ headers: { 'content-type': 'application/json' }
64
+ });
65
+ }
66
+ function installFetch(handler) {
67
+ const previous = globalThis.fetch;
68
+ const calls = [];
69
+ globalThis.fetch = (async (input, init) => {
70
+ const url = typeof input === 'string' || input instanceof URL ? input.toString() : input.url;
71
+ calls.push({ url, init });
72
+ return await handler(url, init, calls);
73
+ });
74
+ return {
75
+ calls,
76
+ restore() {
77
+ globalThis.fetch = previous;
78
+ }
79
+ };
80
+ }
81
+ async function withEnv(env, fn) {
82
+ const previous = new Map();
83
+ for (const key of ENV_KEYS) {
84
+ previous.set(key, process.env[key]);
85
+ delete process.env[key];
86
+ }
87
+ for (const [key, value] of Object.entries(env)) {
88
+ if (value !== undefined)
89
+ process.env[key] = value;
90
+ }
91
+ try {
92
+ return await fn();
93
+ }
94
+ finally {
95
+ for (const key of ENV_KEYS) {
96
+ const value = previous.get(key);
97
+ if (value === undefined) {
98
+ delete process.env[key];
99
+ }
100
+ else {
101
+ process.env[key] = value;
102
+ }
103
+ }
104
+ }
105
+ }
106
+ async function launch(overrides) {
107
+ const { bundle, cleanup } = await withBundle();
108
+ const io = createBufferedIO();
109
+ const fetchMock = installFetch((url, init, calls) => {
110
+ if (overrides.defaultPlanCredential !== false && url.includes('/provider-credentials/managed')) {
111
+ assert.equal(init?.method, 'POST');
112
+ return okJson({ providerCredentialId: 'cred-1' });
113
+ }
114
+ return overrides.fetch(url, init, calls);
115
+ });
116
+ try {
117
+ const handle = await withEnv({
118
+ WORKFORCE_WORKSPACE_TOKEN: 'tok',
119
+ WORKFORCE_DEPLOY_HARNESS_SOURCE: 'plan',
120
+ WORKFORCE_DEPLOY_POLL_INTERVAL_MS: '0',
121
+ WORKFORCE_DEPLOY_POLL_TIMEOUT_MS: '50',
122
+ WORKFORCE_DEPLOY_RETRY_BACKOFF_MS: '0',
123
+ ...overrides.env
124
+ }, () => cloudLauncher.launch({
125
+ persona: overrides.persona ?? persona(),
126
+ bundle,
127
+ workspace: 'ws-test',
128
+ io,
129
+ ...overrides.input
130
+ }));
131
+ return { handle, calls: fetchMock.calls, io };
132
+ }
133
+ finally {
134
+ fetchMock.restore();
135
+ await cleanup();
136
+ }
137
+ }
138
+ test('cloud launcher POSTs a deploy bundle and returns the cloud handle', async () => {
139
+ const { handle, calls } = await launch({
140
+ env: {
141
+ WORKFORCE_DEPLOY_CLOUD_URL: 'https://cloud.example.test'
142
+ },
143
+ input: { inputs: { topic: 'AI' } },
144
+ fetch(url, init) {
145
+ if (url.endsWith('/agents?persona_slug=demo')) {
146
+ return okJson({ agents: [] });
147
+ }
148
+ assert.equal(url, 'https://cloud.example.test/api/v1/workspaces/ws-test/deployments');
149
+ assert.equal(init?.method, 'POST');
150
+ const body = JSON.parse(String(init?.body));
151
+ assert.equal(body.persona.id, 'demo');
152
+ assert.deepEqual(body.inputs, { topic: 'AI' });
153
+ assert.deepEqual(body.bundle.packageJson, { type: 'module' });
154
+ return okJson({ agentId: 'agent-1', deploymentId: 'dep-1', status: 'active' }, 201);
155
+ }
156
+ });
157
+ assert.equal(handle.id, 'agent-1');
158
+ assert.equal(handle.deploymentId, 'dep-1');
159
+ assert.equal((await handle.done).code, 0);
160
+ assert.equal(calls.filter((call) => call.url.includes('/provider-credentials/managed')).length, 1);
161
+ });
162
+ test('cloud URL precedence is flag env, cloud env, persona deployUrl, then default', async () => {
163
+ async function deployedUrl(env, spec = persona()) {
164
+ const { calls } = await launch({
165
+ env,
166
+ persona: spec,
167
+ fetch(url) {
168
+ if (url.includes('/agents?persona_slug='))
169
+ return okJson({ agents: [] });
170
+ return okJson({ agentId: 'agent-1', deploymentId: 'dep-1', status: 'active' }, 201);
171
+ }
172
+ });
173
+ return calls.find((call) => call.url.endsWith('/deployments'))?.url;
174
+ }
175
+ const personaWithUrl = persona({ cloud: { deployUrl: 'https://persona.example.test/' } });
176
+ assert.equal(await deployedUrl({
177
+ WORKFORCE_DEPLOY_CLOUD_URL: 'https://flag.example.test/',
178
+ WORKFORCE_CLOUD_URL: 'https://env.example.test/'
179
+ }, personaWithUrl), 'https://flag.example.test/api/v1/workspaces/ws-test/deployments');
180
+ assert.equal(await deployedUrl({ WORKFORCE_CLOUD_URL: 'https://env.example.test/' }, personaWithUrl), 'https://env.example.test/api/v1/workspaces/ws-test/deployments');
181
+ assert.equal(await deployedUrl({}, personaWithUrl), 'https://persona.example.test/api/v1/workspaces/ws-test/deployments');
182
+ assert.equal(await deployedUrl({}), 'https://agentrelay.com/cloud/api/v1/workspaces/ws-test/deployments');
183
+ });
184
+ test('cloud harness plan and BYOK save provider credentials through the cloud contract', async () => {
185
+ const plan = await launch({
186
+ defaultPlanCredential: false,
187
+ env: { WORKFORCE_DEPLOY_CLOUD_URL: 'https://cloud.example.test' },
188
+ input: { harnessSource: 'plan' },
189
+ fetch(url, init) {
190
+ if (url.endsWith('/provider-credentials/managed?provider=openai')) {
191
+ assert.equal(init?.method, 'POST');
192
+ assert.equal(init?.body, undefined);
193
+ return okJson({ providerCredentialId: 'cred-plan' });
194
+ }
195
+ if (url.endsWith('/agents?persona_slug=demo'))
196
+ return okJson({ agents: [] });
197
+ if (url.endsWith('/deployments')) {
198
+ return okJson({ agentId: 'agent-plan', deploymentId: 'dep-plan', status: 'active' }, 201);
199
+ }
200
+ throw new Error(`unexpected URL ${url}`);
201
+ }
202
+ });
203
+ assert.equal(plan.handle.id, 'agent-plan');
204
+ const byok = await launch({
205
+ defaultPlanCredential: false,
206
+ env: { WORKFORCE_DEPLOY_CLOUD_URL: 'https://cloud.example.test' },
207
+ input: { harnessSource: 'byok', byokKey: 'sk-test' },
208
+ fetch(url, init) {
209
+ if (url.endsWith('/provider-credentials/byok')) {
210
+ assert.equal(init?.method, 'POST');
211
+ assert.deepEqual(JSON.parse(String(init?.body)), {
212
+ modelProvider: 'openai',
213
+ model_provider: 'openai',
214
+ key: 'sk-test',
215
+ api_key: 'sk-test'
216
+ });
217
+ return okJson({ providerCredentialId: 'cred-byok' });
218
+ }
219
+ if (url.endsWith('/agents?persona_slug=demo'))
220
+ return okJson({ agents: [] });
221
+ if (url.endsWith('/deployments')) {
222
+ return okJson({ agentId: 'agent-byok', deploymentId: 'dep-byok', status: 'active' }, 201);
223
+ }
224
+ throw new Error(`unexpected URL ${url}`);
225
+ }
226
+ });
227
+ assert.equal(byok.handle.id, 'agent-byok');
228
+ });
229
+ test('cloud BYOK provider detection avoids substring false positives', async () => {
230
+ await launch({
231
+ defaultPlanCredential: false,
232
+ persona: persona({ model: 'my-openai-alternative' }),
233
+ env: { WORKFORCE_DEPLOY_CLOUD_URL: 'https://cloud.example.test' },
234
+ input: { harnessSource: 'byok', byokKey: 'sk-test' },
235
+ fetch(url, init) {
236
+ if (url.endsWith('/provider-credentials/byok')) {
237
+ assert.equal(JSON.parse(String(init?.body)).modelProvider, 'my-openai-alternative');
238
+ return okJson({ providerCredentialId: 'cred-byok' });
239
+ }
240
+ if (url.endsWith('/agents?persona_slug=demo'))
241
+ return okJson({ agents: [] });
242
+ if (url.endsWith('/deployments')) {
243
+ return okJson({ agentId: 'agent-byok', deploymentId: 'dep-byok', status: 'active' }, 201);
244
+ }
245
+ throw new Error(`unexpected URL ${url}`);
246
+ }
247
+ });
248
+ });
249
+ test('cloud harness OAuth uses provider_credentials readiness and honors no-prompt failure', async () => {
250
+ const restoreDeps = configureCloudCredentialDepsForTest({
251
+ readStoredAuth: async () => ({
252
+ apiUrl: 'https://cloud.example.test',
253
+ accessToken: 'access',
254
+ refreshToken: 'refresh',
255
+ accessTokenExpiresAt: '2999-01-01T00:00:00.000Z'
256
+ }),
257
+ createCloudApiClient() {
258
+ return {
259
+ async fetch(pathname, init) {
260
+ assert.equal(pathname, '/api/v1/users/me/provider_credentials?model_provider=openai');
261
+ assert.equal(init?.method, 'GET');
262
+ return okJson({});
263
+ }
264
+ };
265
+ }
266
+ });
267
+ await assert.rejects(launch({
268
+ defaultPlanCredential: false,
269
+ env: {
270
+ WORKFORCE_DEPLOY_CLOUD_URL: 'https://cloud.example.test',
271
+ WORKFORCE_DEPLOY_NO_PROMPT: '1'
272
+ },
273
+ input: { harnessSource: 'oauth' },
274
+ fetch(url) {
275
+ throw new Error(`unexpected URL ${url}`);
276
+ }
277
+ }), /OAuth credentials are not connected/).finally(restoreDeps);
278
+ });
279
+ test('cloud harness OAuth starts auth and polls until provider credentials are connected', async () => {
280
+ let credentialChecks = 0;
281
+ const connected = [];
282
+ const restoreDeps = configureCloudCredentialDepsForTest({
283
+ readStoredAuth: async () => ({
284
+ apiUrl: 'https://cloud.example.test',
285
+ accessToken: 'access',
286
+ refreshToken: 'refresh',
287
+ accessTokenExpiresAt: '2999-01-01T00:00:00.000Z'
288
+ }),
289
+ connectProvider: async (options) => {
290
+ connected.push(options.provider);
291
+ return { provider: options.provider, success: true };
292
+ },
293
+ createCloudApiClient() {
294
+ return {
295
+ async fetch(pathname, init) {
296
+ if (pathname.endsWith('/provider_credentials?model_provider=openai')) {
297
+ credentialChecks += 1;
298
+ assert.equal(init?.method, 'GET');
299
+ return okJson(credentialChecks < 3 ? {} : { id: 'cred-oauth', status: 'connected' });
300
+ }
301
+ throw new Error(`unexpected path ${pathname}`);
302
+ }
303
+ };
304
+ }
305
+ });
306
+ const io = createBufferedIO();
307
+ io.scriptConfirmations([true]);
308
+ const { bundle, cleanup } = await withBundle();
309
+ const fetchMock = installFetch((url) => {
310
+ if (url.endsWith('/agents?persona_slug=demo'))
311
+ return okJson({ agents: [] });
312
+ if (url.endsWith('/deployments')) {
313
+ return okJson({ agentId: 'agent-oauth', deploymentId: 'dep-oauth', status: 'active' }, 201);
314
+ }
315
+ throw new Error(`unexpected URL ${url}`);
316
+ });
317
+ try {
318
+ const handle = await withEnv({
319
+ WORKFORCE_WORKSPACE_TOKEN: 'tok',
320
+ WORKFORCE_DEPLOY_CLOUD_URL: 'https://cloud.example.test',
321
+ WORKFORCE_DEPLOY_HARNESS_SOURCE: 'oauth',
322
+ WORKFORCE_DEPLOY_POLL_INTERVAL_MS: '0',
323
+ WORKFORCE_DEPLOY_POLL_TIMEOUT_MS: '50',
324
+ WORKFORCE_DEPLOY_RETRY_BACKOFF_MS: '0'
325
+ }, () => cloudLauncher.launch({
326
+ persona: persona(),
327
+ bundle,
328
+ workspace: 'ws-test',
329
+ io
330
+ }));
331
+ assert.equal(handle.id, 'agent-oauth');
332
+ }
333
+ finally {
334
+ fetchMock.restore();
335
+ restoreDeps();
336
+ await cleanup();
337
+ }
338
+ assert.equal(credentialChecks, 3);
339
+ assert.deepEqual(connected, ['openai']);
340
+ });
341
+ test('cloud launcher maps 401 deploy responses to the workforce login guidance', async () => {
342
+ await assert.rejects(launch({
343
+ env: { WORKFORCE_DEPLOY_CLOUD_URL: 'https://cloud.example.test' },
344
+ fetch(url) {
345
+ if (url.endsWith('/agents?persona_slug=demo'))
346
+ return okJson({ agents: [] });
347
+ return okJson({ error: 'Unauthorized' }, 401);
348
+ }
349
+ }), /Run `workforce login`/);
350
+ });
351
+ test('cloud launcher retries retryable network failures three times', async () => {
352
+ let deployAttempts = 0;
353
+ const { calls, handle } = await launch({
354
+ env: { WORKFORCE_DEPLOY_CLOUD_URL: 'https://cloud.example.test' },
355
+ fetch(url) {
356
+ if (url.endsWith('/agents?persona_slug=demo'))
357
+ return okJson({ agents: [] });
358
+ deployAttempts += 1;
359
+ if (deployAttempts < 3) {
360
+ throw new Error('temporary network failure');
361
+ }
362
+ return okJson({ agentId: 'agent-1', deploymentId: 'dep-1', status: 'active' }, 201);
363
+ }
364
+ });
365
+ assert.equal(handle.id, 'agent-1');
366
+ assert.equal(callsForUrl(calls, '/deployments'), 3);
367
+ });
368
+ test('cloud polling resolves done with code 0 on active and 1 on failed', async () => {
369
+ for (const finalStatus of ['active', 'failed']) {
370
+ const { bundle, cleanup } = await withBundle();
371
+ const io = createBufferedIO();
372
+ const fetchMock = installFetch((url) => {
373
+ if (url.includes('/provider-credentials/managed'))
374
+ return okJson({ providerCredentialId: 'cred-1' });
375
+ if (url.endsWith('/agents?persona_slug=demo'))
376
+ return okJson({ agents: [] });
377
+ if (url.endsWith('/deployments')) {
378
+ return okJson({ agentId: `agent-${finalStatus}`, deploymentId: `dep-${finalStatus}`, status: 'starting' }, 201);
379
+ }
380
+ if (url.endsWith(`/agents/agent-${finalStatus}`)) {
381
+ return okJson({ status: finalStatus });
382
+ }
383
+ throw new Error(`unexpected URL ${url}`);
384
+ });
385
+ try {
386
+ const streamedLogs = [];
387
+ const handle = await withEnv({
388
+ WORKFORCE_WORKSPACE_TOKEN: 'tok',
389
+ WORKFORCE_DEPLOY_CLOUD_URL: `https://${finalStatus}.example.test`,
390
+ WORKFORCE_DEPLOY_HARNESS_SOURCE: 'plan',
391
+ WORKFORCE_DEPLOY_POLL_INTERVAL_MS: '0',
392
+ WORKFORCE_DEPLOY_POLL_TIMEOUT_MS: '50',
393
+ WORKFORCE_DEPLOY_RETRY_BACKOFF_MS: '0'
394
+ }, () => cloudLauncher.launch({
395
+ persona: persona(),
396
+ bundle,
397
+ workspace: 'ws-test',
398
+ io,
399
+ onLog: (line) => streamedLogs.push(line)
400
+ }));
401
+ assert.equal((await handle.done).code, finalStatus === 'active' ? 0 : 1);
402
+ assert.ok(streamedLogs.includes(`cloud: status ${finalStatus}`));
403
+ }
404
+ finally {
405
+ fetchMock.restore();
406
+ await cleanup();
407
+ }
408
+ }
409
+ });
410
+ test('cloud stop calls the destroy agent endpoint', async () => {
411
+ const { bundle, cleanup } = await withBundle();
412
+ const io = createBufferedIO();
413
+ const fetchMock = installFetch((url, init) => {
414
+ if (url.includes('/provider-credentials/managed'))
415
+ return okJson({ providerCredentialId: 'cred-1' });
416
+ if (url.endsWith('/agents?persona_slug=demo'))
417
+ return okJson({ agents: [] });
418
+ if (url.endsWith('/deployments')) {
419
+ return okJson({ agentId: 'agent-1', deploymentId: 'dep-1', status: 'active' }, 201);
420
+ }
421
+ assert.equal(url, 'https://cloud.example.test/api/v1/workspaces/ws-test/agents/agent-1/destroy');
422
+ assert.equal(init?.method, 'POST');
423
+ return okJson({ ok: true });
424
+ });
425
+ try {
426
+ const handle = await withEnv({
427
+ WORKFORCE_WORKSPACE_TOKEN: 'tok',
428
+ WORKFORCE_DEPLOY_CLOUD_URL: 'https://cloud.example.test',
429
+ WORKFORCE_DEPLOY_HARNESS_SOURCE: 'plan',
430
+ WORKFORCE_DEPLOY_POLL_INTERVAL_MS: '0',
431
+ WORKFORCE_DEPLOY_POLL_TIMEOUT_MS: '50'
432
+ }, () => cloudLauncher.launch({
433
+ persona: persona(),
434
+ bundle,
435
+ workspace: 'ws-test',
436
+ io
437
+ }));
438
+ await handle.stop();
439
+ assert.equal(fetchMock.calls.at(-1)?.init?.method, 'POST');
440
+ }
441
+ finally {
442
+ fetchMock.restore();
443
+ await cleanup();
444
+ }
445
+ });
446
+ test('cloud launcher leaves integration preflight to the deploy orchestrator', async () => {
447
+ const io = createBufferedIO();
448
+ const { bundle, cleanup } = await withBundle();
449
+ const fetchMock = installFetch((url) => {
450
+ if (url.includes('/provider-credentials/managed'))
451
+ return okJson({ providerCredentialId: 'cred-1' });
452
+ if (url.endsWith('/agents?persona_slug=demo'))
453
+ return okJson({ agents: [] });
454
+ if (url.endsWith('/deployments')) {
455
+ return okJson({ agentId: 'agent-1', deploymentId: 'dep-1', status: 'active' }, 201);
456
+ }
457
+ throw new Error(`unexpected URL ${url}`);
458
+ });
459
+ try {
460
+ await withEnv({
461
+ WORKFORCE_WORKSPACE_TOKEN: 'tok',
462
+ WORKFORCE_DEPLOY_CLOUD_URL: 'https://cloud.example.test',
463
+ WORKFORCE_DEPLOY_HARNESS_SOURCE: 'plan',
464
+ WORKFORCE_DEPLOY_POLL_INTERVAL_MS: '0',
465
+ WORKFORCE_DEPLOY_POLL_TIMEOUT_MS: '50'
466
+ }, () => cloudLauncher.launch({
467
+ persona: persona({ integrations: { github: { triggers: [{ on: 'pull_request.opened' }] } } }),
468
+ bundle,
469
+ workspace: 'ws-test',
470
+ io
471
+ }));
472
+ }
473
+ finally {
474
+ fetchMock.restore();
475
+ await cleanup();
476
+ }
477
+ assert.equal(fetchMock.calls.some((call) => call.url.includes('/integrations')), false);
478
+ });
479
+ test('cloud existing-persona stage honors destroy and cancel choices', async () => {
480
+ const destroy = await launch({
481
+ env: {
482
+ WORKFORCE_DEPLOY_CLOUD_URL: 'https://cloud.example.test',
483
+ WORKFORCE_DEPLOY_ON_EXISTS: 'destroy'
484
+ },
485
+ fetch(url, init) {
486
+ if (url.endsWith('/agents?persona_slug=demo'))
487
+ return okJson({ agents: [{ id: 'agent-old' }] });
488
+ if (url.endsWith('/agents/agent-old/destroy')) {
489
+ assert.equal(init?.method, 'POST');
490
+ return okJson({ ok: true });
491
+ }
492
+ if (url.endsWith('/deployments')) {
493
+ return okJson({ agentId: 'agent-new', deploymentId: 'dep-new', status: 'active' }, 201);
494
+ }
495
+ throw new Error(`unexpected URL ${url}`);
496
+ }
497
+ });
498
+ assert.equal(destroy.handle.id, 'agent-new');
499
+ assert.equal(destroy.calls.some((call) => call.init?.method === 'POST' && call.url.endsWith('/destroy')), true);
500
+ const cancel = await launch({
501
+ env: {
502
+ WORKFORCE_DEPLOY_CLOUD_URL: 'https://cloud.example.test',
503
+ WORKFORCE_DEPLOY_ON_EXISTS: 'cancel'
504
+ },
505
+ fetch(url) {
506
+ if (url.endsWith('/agents?persona_slug=demo'))
507
+ return okJson({ agent: { id: 'agent-old' } });
508
+ throw new Error(`unexpected URL ${url}`);
509
+ }
510
+ });
511
+ assert.equal(cancel.handle.id, 'agent-old');
512
+ assert.equal(cancel.handle.status, 'cancelled');
513
+ assert.equal((await cancel.handle.done).code, 0);
514
+ assert.equal(cancel.calls.some((call) => call.url.endsWith('/deployments')), false);
515
+ });
516
+ function callsForUrl(calls, suffix) {
517
+ return calls.filter((call) => call.url.endsWith(suffix)).length;
518
+ }
519
+ //# sourceMappingURL=cloud.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud.test.js","sourceRoot":"","sources":["../../src/modes/cloud.test.ts"],"names":[],"mappings":"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"}