@agentworkforce/deploy 3.0.8 → 3.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cloud-url.d.ts +29 -0
- package/dist/cloud-url.d.ts.map +1 -1
- package/dist/cloud-url.js +41 -0
- package/dist/cloud-url.js.map +1 -1
- package/dist/cloud-url.test.js +66 -1
- package/dist/cloud-url.test.js.map +1 -1
- package/dist/deploy.d.ts.map +1 -1
- package/dist/deploy.js +29 -10
- package/dist/deploy.js.map +1 -1
- package/dist/deploy.test.js +63 -0
- package/dist/deploy.test.js.map +1 -1
- package/dist/error-format.d.ts +17 -0
- package/dist/error-format.d.ts.map +1 -0
- package/dist/error-format.js +36 -0
- package/dist/error-format.js.map +1 -0
- package/dist/error-format.test.d.ts +2 -0
- package/dist/error-format.test.d.ts.map +1 -0
- package/dist/error-format.test.js +51 -0
- package/dist/error-format.test.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/login.d.ts.map +1 -1
- package/dist/login.js +17 -0
- package/dist/login.js.map +1 -1
- package/dist/modes/cloud.d.ts.map +1 -1
- package/dist/modes/cloud.js +160 -36
- package/dist/modes/cloud.js.map +1 -1
- package/dist/modes/cloud.test.js +363 -32
- package/dist/modes/cloud.test.js.map +1 -1
- package/dist/modes/input-values.test.js +4 -1
- package/dist/modes/input-values.test.js.map +1 -1
- package/package.json +3 -3
package/dist/modes/cloud.test.js
CHANGED
|
@@ -143,7 +143,7 @@ test('cloud launcher POSTs a deploy bundle and returns the cloud handle', async
|
|
|
143
143
|
},
|
|
144
144
|
input: { inputs: { topic: 'AI' } },
|
|
145
145
|
fetch(url, init) {
|
|
146
|
-
if (url.endsWith('/
|
|
146
|
+
if (init?.method === 'GET' && url.endsWith('/deployments')) {
|
|
147
147
|
return okJson({ agents: [] });
|
|
148
148
|
}
|
|
149
149
|
assert.equal(url, 'https://cloud.example.test/api/v1/workspaces/ws-test/deployments');
|
|
@@ -165,13 +165,13 @@ test('cloud URL precedence is flag env, cloud env, persona deployUrl, then defau
|
|
|
165
165
|
const { calls } = await launch({
|
|
166
166
|
env,
|
|
167
167
|
persona: spec,
|
|
168
|
-
fetch(url) {
|
|
169
|
-
if (url.
|
|
168
|
+
fetch(url, init) {
|
|
169
|
+
if (init?.method === 'GET' && url.endsWith('/deployments'))
|
|
170
170
|
return okJson({ agents: [] });
|
|
171
171
|
return okJson({ agentId: 'agent-1', deploymentId: 'dep-1', status: 'active' }, 201);
|
|
172
172
|
}
|
|
173
173
|
});
|
|
174
|
-
return calls.find((call) => call.url.endsWith('/deployments'))?.url;
|
|
174
|
+
return calls.find((call) => call.init?.method === 'POST' && call.url.endsWith('/deployments'))?.url;
|
|
175
175
|
}
|
|
176
176
|
const personaWithUrl = persona();
|
|
177
177
|
personaWithUrl.cloud = { deployUrl: 'https://persona.example.test/' };
|
|
@@ -194,7 +194,7 @@ test('cloud harness plan and BYOK save provider credentials through the cloud co
|
|
|
194
194
|
assert.equal(init?.body, undefined);
|
|
195
195
|
return okJson({ providerCredentialId: 'cred-plan' });
|
|
196
196
|
}
|
|
197
|
-
if (url.endsWith('/
|
|
197
|
+
if (init?.method === 'GET' && url.endsWith('/deployments'))
|
|
198
198
|
return okJson({ agents: [] });
|
|
199
199
|
if (url.endsWith('/deployments')) {
|
|
200
200
|
return okJson({ agentId: 'agent-plan', deploymentId: 'dep-plan', status: 'active' }, 201);
|
|
@@ -218,7 +218,7 @@ test('cloud harness plan and BYOK save provider credentials through the cloud co
|
|
|
218
218
|
});
|
|
219
219
|
return okJson({ providerCredentialId: 'cred-byok' });
|
|
220
220
|
}
|
|
221
|
-
if (url.endsWith('/
|
|
221
|
+
if (init?.method === 'GET' && url.endsWith('/deployments'))
|
|
222
222
|
return okJson({ agents: [] });
|
|
223
223
|
if (url.endsWith('/deployments')) {
|
|
224
224
|
return okJson({ agentId: 'agent-byok', deploymentId: 'dep-byok', status: 'active' }, 201);
|
|
@@ -239,7 +239,7 @@ test('cloud BYOK provider detection avoids substring false positives', async ()
|
|
|
239
239
|
assert.equal(JSON.parse(String(init?.body)).modelProvider, 'my-openai-alternative');
|
|
240
240
|
return okJson({ providerCredentialId: 'cred-byok' });
|
|
241
241
|
}
|
|
242
|
-
if (url.endsWith('/
|
|
242
|
+
if (init?.method === 'GET' && url.endsWith('/deployments'))
|
|
243
243
|
return okJson({ agents: [] });
|
|
244
244
|
if (url.endsWith('/deployments')) {
|
|
245
245
|
return okJson({ agentId: 'agent-byok', deploymentId: 'dep-byok', status: 'active' }, 201);
|
|
@@ -248,7 +248,12 @@ test('cloud BYOK provider detection avoids substring false positives', async ()
|
|
|
248
248
|
}
|
|
249
249
|
});
|
|
250
250
|
});
|
|
251
|
-
test('cloud harness OAuth
|
|
251
|
+
test('cloud harness OAuth probe hits /api/v1/cloud-agents and honors no-prompt failure', async () => {
|
|
252
|
+
// Cloud surfaces "is the harness connected?" via the cloud-agents list,
|
|
253
|
+
// not the (never-built) /users/me/provider_credentials route. When the
|
|
254
|
+
// list is empty for the persona's provider, --no-prompt must surface a
|
|
255
|
+
// clear actionable error rather than reaching the prompt path.
|
|
256
|
+
let probeCalls = 0;
|
|
252
257
|
const restoreDeps = configureCloudCredentialDepsForTest({
|
|
253
258
|
readStoredAuth: async () => ({
|
|
254
259
|
apiUrl: 'https://cloud.example.test',
|
|
@@ -259,13 +264,104 @@ test('cloud harness OAuth uses provider_credentials readiness and honors no-prom
|
|
|
259
264
|
createCloudApiClient() {
|
|
260
265
|
return {
|
|
261
266
|
async fetch(pathname, init) {
|
|
262
|
-
|
|
267
|
+
probeCalls += 1;
|
|
268
|
+
assert.equal(pathname, '/api/v1/cloud-agents');
|
|
263
269
|
assert.equal(init?.method, 'GET');
|
|
264
|
-
return okJson({});
|
|
270
|
+
return okJson({ agents: [] });
|
|
271
|
+
}
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
});
|
|
275
|
+
await assert.rejects(launch({
|
|
276
|
+
defaultPlanCredential: false,
|
|
277
|
+
env: {
|
|
278
|
+
WORKFORCE_DEPLOY_CLOUD_URL: 'https://cloud.example.test',
|
|
279
|
+
WORKFORCE_DEPLOY_NO_PROMPT: '1'
|
|
280
|
+
},
|
|
281
|
+
input: { harnessSource: 'oauth' },
|
|
282
|
+
fetch(url, init) {
|
|
283
|
+
throw new Error(`unexpected URL ${url}`);
|
|
284
|
+
}
|
|
285
|
+
}), /OAuth credentials are not connected/).finally(restoreDeps);
|
|
286
|
+
assert.ok(probeCalls >= 1);
|
|
287
|
+
});
|
|
288
|
+
test('cloud harness OAuth probe treats a matching connected entry as ready (skips prompt)', async () => {
|
|
289
|
+
// Regression for the user-facing M3 bug: an Anthropic-connected user
|
|
290
|
+
// hit "credentials are not connected" because the probe pointed at a
|
|
291
|
+
// phantom route. With the probe fixed and a connected entry present,
|
|
292
|
+
// the harness check resolves silently and the deploy proceeds.
|
|
293
|
+
const restoreDeps = configureCloudCredentialDepsForTest({
|
|
294
|
+
readStoredAuth: async () => ({
|
|
295
|
+
apiUrl: 'https://cloud.example.test',
|
|
296
|
+
accessToken: 'access',
|
|
297
|
+
refreshToken: 'refresh',
|
|
298
|
+
accessTokenExpiresAt: '2999-01-01T00:00:00.000Z'
|
|
299
|
+
}),
|
|
300
|
+
createCloudApiClient() {
|
|
301
|
+
return {
|
|
302
|
+
async fetch(pathname) {
|
|
303
|
+
assert.equal(pathname, '/api/v1/cloud-agents');
|
|
304
|
+
return okJson({
|
|
305
|
+
agents: [
|
|
306
|
+
{
|
|
307
|
+
id: 'cloud-agent-1',
|
|
308
|
+
harness: 'openai', // matches persona's derived provider
|
|
309
|
+
status: 'connected',
|
|
310
|
+
credentialStoredAt: '2026-05-13T12:00:00.000Z'
|
|
311
|
+
}
|
|
312
|
+
]
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
};
|
|
316
|
+
}
|
|
317
|
+
});
|
|
318
|
+
const { calls, handle } = await launch({
|
|
319
|
+
env: {
|
|
320
|
+
WORKFORCE_DEPLOY_CLOUD_URL: 'https://cloud.example.test',
|
|
321
|
+
WORKFORCE_DEPLOY_NO_PROMPT: '1'
|
|
322
|
+
},
|
|
323
|
+
input: { harnessSource: 'oauth' },
|
|
324
|
+
fetch(url, init) {
|
|
325
|
+
if (init?.method === 'GET' && url.endsWith('/deployments'))
|
|
326
|
+
return okJson({ agents: [] });
|
|
327
|
+
if (url.endsWith('/deployments')) {
|
|
328
|
+
return okJson({ agentId: 'agent-oauth-connected', deploymentId: 'dep-1', status: 'active' }, 201);
|
|
329
|
+
}
|
|
330
|
+
throw new Error(`unexpected URL ${url}`);
|
|
331
|
+
}
|
|
332
|
+
}).finally(restoreDeps);
|
|
333
|
+
assert.equal(handle.id, 'agent-oauth-connected');
|
|
334
|
+
// No connect-provider call should have fired because the probe already
|
|
335
|
+
// returned a connected entry.
|
|
336
|
+
assert.ok(!calls.some((c) => c.url.includes('/cli/auth')));
|
|
337
|
+
});
|
|
338
|
+
test('cloud harness OAuth probe ignores entries with the wrong harness', async () => {
|
|
339
|
+
// If the user has openai connected but the persona's provider is
|
|
340
|
+
// anthropic, the probe must NOT treat that as readiness — otherwise
|
|
341
|
+
// the deploy would proceed with cloud expecting an anthropic key it
|
|
342
|
+
// never received.
|
|
343
|
+
const restoreDeps = configureCloudCredentialDepsForTest({
|
|
344
|
+
readStoredAuth: async () => ({
|
|
345
|
+
apiUrl: 'https://cloud.example.test',
|
|
346
|
+
accessToken: 'access',
|
|
347
|
+
refreshToken: 'refresh',
|
|
348
|
+
accessTokenExpiresAt: '2999-01-01T00:00:00.000Z'
|
|
349
|
+
}),
|
|
350
|
+
createCloudApiClient() {
|
|
351
|
+
return {
|
|
352
|
+
async fetch() {
|
|
353
|
+
return okJson({
|
|
354
|
+
agents: [
|
|
355
|
+
{ harness: 'openai', status: 'connected' },
|
|
356
|
+
{ harness: 'anthropic', status: 'pending' }, // wrong status
|
|
357
|
+
{ harness: 'google', status: 'connected' } // wrong harness
|
|
358
|
+
]
|
|
359
|
+
});
|
|
265
360
|
}
|
|
266
361
|
};
|
|
267
362
|
}
|
|
268
363
|
});
|
|
364
|
+
// Override the persona to claude/anthropic so the expected provider mismatches.
|
|
269
365
|
await assert.rejects(launch({
|
|
270
366
|
defaultPlanCredential: false,
|
|
271
367
|
env: {
|
|
@@ -273,12 +369,13 @@ test('cloud harness OAuth uses provider_credentials readiness and honors no-prom
|
|
|
273
369
|
WORKFORCE_DEPLOY_NO_PROMPT: '1'
|
|
274
370
|
},
|
|
275
371
|
input: { harnessSource: 'oauth' },
|
|
276
|
-
|
|
372
|
+
persona: persona({ harness: 'claude', model: 'claude-sonnet-4-6' }),
|
|
373
|
+
fetch(url, init) {
|
|
277
374
|
throw new Error(`unexpected URL ${url}`);
|
|
278
375
|
}
|
|
279
376
|
}), /OAuth credentials are not connected/).finally(restoreDeps);
|
|
280
377
|
});
|
|
281
|
-
test('cloud harness OAuth starts auth and polls until
|
|
378
|
+
test('cloud harness OAuth starts auth and polls /cloud-agents until the harness is connected', async () => {
|
|
282
379
|
let credentialChecks = 0;
|
|
283
380
|
const connected = [];
|
|
284
381
|
const restoreDeps = configureCloudCredentialDepsForTest({
|
|
@@ -295,10 +392,14 @@ test('cloud harness OAuth starts auth and polls until provider credentials are c
|
|
|
295
392
|
createCloudApiClient() {
|
|
296
393
|
return {
|
|
297
394
|
async fetch(pathname, init) {
|
|
298
|
-
if (pathname
|
|
395
|
+
if (pathname === '/api/v1/cloud-agents') {
|
|
299
396
|
credentialChecks += 1;
|
|
300
397
|
assert.equal(init?.method, 'GET');
|
|
301
|
-
|
|
398
|
+
// First two polls: harness not yet connected (empty list).
|
|
399
|
+
// Third poll: openai entry appears with status connected.
|
|
400
|
+
return okJson(credentialChecks < 3
|
|
401
|
+
? { agents: [] }
|
|
402
|
+
: { agents: [{ id: 'cloud-agent-openai', harness: 'openai', status: 'connected' }] });
|
|
302
403
|
}
|
|
303
404
|
throw new Error(`unexpected path ${pathname}`);
|
|
304
405
|
}
|
|
@@ -308,8 +409,8 @@ test('cloud harness OAuth starts auth and polls until provider credentials are c
|
|
|
308
409
|
const io = createBufferedIO();
|
|
309
410
|
io.scriptConfirmations([true]);
|
|
310
411
|
const { bundle, cleanup } = await withBundle();
|
|
311
|
-
const fetchMock = installFetch((url) => {
|
|
312
|
-
if (url.endsWith('/
|
|
412
|
+
const fetchMock = installFetch((url, init) => {
|
|
413
|
+
if (init?.method === 'GET' && url.endsWith('/deployments'))
|
|
313
414
|
return okJson({ agents: [] });
|
|
314
415
|
if (url.endsWith('/deployments')) {
|
|
315
416
|
return okJson({ agentId: 'agent-oauth', deploymentId: 'dep-oauth', status: 'active' }, 201);
|
|
@@ -343,8 +444,8 @@ test('cloud harness OAuth starts auth and polls until provider credentials are c
|
|
|
343
444
|
test('cloud launcher maps 401 deploy responses to the workforce login guidance', async () => {
|
|
344
445
|
await assert.rejects(launch({
|
|
345
446
|
env: { WORKFORCE_DEPLOY_CLOUD_URL: 'https://cloud.example.test' },
|
|
346
|
-
fetch(url) {
|
|
347
|
-
if (url.endsWith('/
|
|
447
|
+
fetch(url, init) {
|
|
448
|
+
if (init?.method === 'GET' && url.endsWith('/deployments'))
|
|
348
449
|
return okJson({ agents: [] });
|
|
349
450
|
return okJson({ error: 'Unauthorized' }, 401);
|
|
350
451
|
}
|
|
@@ -354,8 +455,8 @@ test('cloud launcher retries retryable network failures three times', async () =
|
|
|
354
455
|
let deployAttempts = 0;
|
|
355
456
|
const { calls, handle } = await launch({
|
|
356
457
|
env: { WORKFORCE_DEPLOY_CLOUD_URL: 'https://cloud.example.test' },
|
|
357
|
-
fetch(url) {
|
|
358
|
-
if (url.endsWith('/
|
|
458
|
+
fetch(url, init) {
|
|
459
|
+
if (init?.method === 'GET' && url.endsWith('/deployments'))
|
|
359
460
|
return okJson({ agents: [] });
|
|
360
461
|
deployAttempts += 1;
|
|
361
462
|
if (deployAttempts < 3) {
|
|
@@ -365,16 +466,19 @@ test('cloud launcher retries retryable network failures three times', async () =
|
|
|
365
466
|
}
|
|
366
467
|
});
|
|
367
468
|
assert.equal(handle.id, 'agent-1');
|
|
368
|
-
|
|
469
|
+
// 3 POST attempts (2 failed + 1 success). The listing GET is filtered
|
|
470
|
+
// out so the retry count remains exact regardless of the existing-agent
|
|
471
|
+
// preflight call.
|
|
472
|
+
assert.equal(calls.filter((c) => c.init?.method === 'POST' && c.url.endsWith('/deployments')).length, 3);
|
|
369
473
|
});
|
|
370
474
|
test('cloud polling resolves done with code 0 on active and 1 on failed', async () => {
|
|
371
475
|
for (const finalStatus of ['active', 'failed']) {
|
|
372
476
|
const { bundle, cleanup } = await withBundle();
|
|
373
477
|
const io = createBufferedIO();
|
|
374
|
-
const fetchMock = installFetch((url) => {
|
|
478
|
+
const fetchMock = installFetch((url, init) => {
|
|
375
479
|
if (url.includes('/provider-credentials/managed'))
|
|
376
480
|
return okJson({ providerCredentialId: 'cred-1' });
|
|
377
|
-
if (url.endsWith('/
|
|
481
|
+
if (init?.method === 'GET' && url.endsWith('/deployments'))
|
|
378
482
|
return okJson({ agents: [] });
|
|
379
483
|
if (url.endsWith('/deployments')) {
|
|
380
484
|
return okJson({ agentId: `agent-${finalStatus}`, deploymentId: `dep-${finalStatus}`, status: 'starting' }, 201);
|
|
@@ -415,7 +519,7 @@ test('cloud stop calls the destroy agent endpoint', async () => {
|
|
|
415
519
|
const fetchMock = installFetch((url, init) => {
|
|
416
520
|
if (url.includes('/provider-credentials/managed'))
|
|
417
521
|
return okJson({ providerCredentialId: 'cred-1' });
|
|
418
|
-
if (url.endsWith('/
|
|
522
|
+
if (init?.method === 'GET' && url.endsWith('/deployments'))
|
|
419
523
|
return okJson({ agents: [] });
|
|
420
524
|
if (url.endsWith('/deployments')) {
|
|
421
525
|
return okJson({ agentId: 'agent-1', deploymentId: 'dep-1', status: 'active' }, 201);
|
|
@@ -448,10 +552,10 @@ test('cloud stop calls the destroy agent endpoint', async () => {
|
|
|
448
552
|
test('cloud launcher leaves integration preflight to the deploy orchestrator', async () => {
|
|
449
553
|
const io = createBufferedIO();
|
|
450
554
|
const { bundle, cleanup } = await withBundle();
|
|
451
|
-
const fetchMock = installFetch((url) => {
|
|
555
|
+
const fetchMock = installFetch((url, init) => {
|
|
452
556
|
if (url.includes('/provider-credentials/managed'))
|
|
453
557
|
return okJson({ providerCredentialId: 'cred-1' });
|
|
454
|
-
if (url.endsWith('/
|
|
558
|
+
if (init?.method === 'GET' && url.endsWith('/deployments'))
|
|
455
559
|
return okJson({ agents: [] });
|
|
456
560
|
if (url.endsWith('/deployments')) {
|
|
457
561
|
return okJson({ agentId: 'agent-1', deploymentId: 'dep-1', status: 'active' }, 201);
|
|
@@ -485,8 +589,20 @@ test('cloud existing-persona stage honors destroy and cancel choices', async ()
|
|
|
485
589
|
WORKFORCE_DEPLOY_ON_EXISTS: 'destroy'
|
|
486
590
|
},
|
|
487
591
|
fetch(url, init) {
|
|
488
|
-
if (url.endsWith('/
|
|
489
|
-
|
|
592
|
+
if (init?.method === 'GET' && url.endsWith('/deployments')) {
|
|
593
|
+
// Workspace-scoped listing must identify the persona it belongs to
|
|
594
|
+
// (deployedName is what cloud derives from the slug). A row without
|
|
595
|
+
// any persona-identifying field is intentionally NOT treated as a
|
|
596
|
+
// match by the post-cloud#580 client-side filter.
|
|
597
|
+
return okJson({
|
|
598
|
+
agents: [{
|
|
599
|
+
id: 'agent-old',
|
|
600
|
+
deployedName: 'demo',
|
|
601
|
+
status: 'active',
|
|
602
|
+
createdAt: '2026-05-12T00:00:00.000Z'
|
|
603
|
+
}]
|
|
604
|
+
});
|
|
605
|
+
}
|
|
490
606
|
if (url.endsWith('/agents/agent-old/destroy')) {
|
|
491
607
|
assert.equal(init?.method, 'POST');
|
|
492
608
|
return okJson({ ok: true });
|
|
@@ -504,16 +620,231 @@ test('cloud existing-persona stage honors destroy and cancel choices', async ()
|
|
|
504
620
|
WORKFORCE_DEPLOY_CLOUD_URL: 'https://cloud.example.test',
|
|
505
621
|
WORKFORCE_DEPLOY_ON_EXISTS: 'cancel'
|
|
506
622
|
},
|
|
507
|
-
fetch(url) {
|
|
508
|
-
if (url.endsWith('/
|
|
509
|
-
return okJson({
|
|
623
|
+
fetch(url, init) {
|
|
624
|
+
if (init?.method === 'GET' && url.endsWith('/deployments')) {
|
|
625
|
+
return okJson({
|
|
626
|
+
agents: [{
|
|
627
|
+
agentId: 'agent-old',
|
|
628
|
+
deployedName: 'demo',
|
|
629
|
+
status: 'active',
|
|
630
|
+
createdAt: '2026-05-13T00:00:00.000Z'
|
|
631
|
+
}],
|
|
632
|
+
nextCursor: null
|
|
633
|
+
});
|
|
634
|
+
}
|
|
510
635
|
throw new Error(`unexpected URL ${url}`);
|
|
511
636
|
}
|
|
512
637
|
});
|
|
513
638
|
assert.equal(cancel.handle.id, 'agent-old');
|
|
514
639
|
assert.equal(cancel.handle.status, 'cancelled');
|
|
515
640
|
assert.equal((await cancel.handle.done).code, 0);
|
|
516
|
-
|
|
641
|
+
// No deploy POST should fire — the listing GET is expected and not what
|
|
642
|
+
// this assertion is guarding against.
|
|
643
|
+
assert.equal(cancel.calls.some((call) => call.init?.method === 'POST' && call.url.endsWith('/deployments')), false);
|
|
644
|
+
});
|
|
645
|
+
test('findExistingAgent: parses the new /deployments shape ({agentId, personaId, status})', async () => {
|
|
646
|
+
// Regression for the production blocker: cloud#580 changed the list
|
|
647
|
+
// shape from {agent:{id}} → {agents:[{agentId, personaId, status}]}.
|
|
648
|
+
// We must accept the new keys (agentId) and still filter out
|
|
649
|
+
// destroyed tombstones + persona-id mismatches.
|
|
650
|
+
const result = await launch({
|
|
651
|
+
env: {
|
|
652
|
+
WORKFORCE_DEPLOY_CLOUD_URL: 'https://cloud.example.test',
|
|
653
|
+
WORKFORCE_DEPLOY_ON_EXISTS: 'cancel'
|
|
654
|
+
},
|
|
655
|
+
fetch(url, init) {
|
|
656
|
+
if (url.endsWith('/deployments')) {
|
|
657
|
+
return okJson({
|
|
658
|
+
agents: [
|
|
659
|
+
// Destroyed tombstone for the same persona — must be skipped.
|
|
660
|
+
{
|
|
661
|
+
agentId: 'agent-destroyed',
|
|
662
|
+
personaId: 'demo',
|
|
663
|
+
status: 'destroyed',
|
|
664
|
+
createdAt: '2026-05-12T00:00:00.000Z'
|
|
665
|
+
},
|
|
666
|
+
// Different persona — must be skipped even though the
|
|
667
|
+
// server-side filter should already exclude it.
|
|
668
|
+
{
|
|
669
|
+
agentId: 'agent-wrong-persona',
|
|
670
|
+
personaId: 'something-else',
|
|
671
|
+
status: 'active',
|
|
672
|
+
createdAt: '2026-05-13T00:00:00.000Z'
|
|
673
|
+
},
|
|
674
|
+
// The actual match.
|
|
675
|
+
{
|
|
676
|
+
agentId: 'agent-current',
|
|
677
|
+
personaId: 'demo',
|
|
678
|
+
status: 'active',
|
|
679
|
+
createdAt: '2026-05-13T12:00:00.000Z'
|
|
680
|
+
}
|
|
681
|
+
],
|
|
682
|
+
nextCursor: null
|
|
683
|
+
});
|
|
684
|
+
}
|
|
685
|
+
throw new Error(`unexpected URL ${url}`);
|
|
686
|
+
}
|
|
687
|
+
});
|
|
688
|
+
assert.equal(result.handle.id, 'agent-current');
|
|
689
|
+
assert.equal(result.handle.status, 'cancelled');
|
|
690
|
+
});
|
|
691
|
+
test('findExistingAgent: empty agents array means "no existing deployment"', async () => {
|
|
692
|
+
const { handle, calls } = await launch({
|
|
693
|
+
env: {
|
|
694
|
+
WORKFORCE_DEPLOY_CLOUD_URL: 'https://cloud.example.test'
|
|
695
|
+
},
|
|
696
|
+
fetch(url, init) {
|
|
697
|
+
if (init?.method === 'GET' && url.endsWith('/deployments')) {
|
|
698
|
+
return okJson({ agents: [], nextCursor: null });
|
|
699
|
+
}
|
|
700
|
+
if (init?.method === 'POST' && url.endsWith('/deployments')) {
|
|
701
|
+
return okJson({ agentId: 'agent-fresh', deploymentId: 'dep-1', status: 'active' }, 201);
|
|
702
|
+
}
|
|
703
|
+
throw new Error(`unexpected URL ${url} (${init?.method})`);
|
|
704
|
+
}
|
|
705
|
+
});
|
|
706
|
+
assert.equal(handle.id, 'agent-fresh');
|
|
707
|
+
// The list lookup must have fired before the deploy POST.
|
|
708
|
+
const getIndex = calls.findIndex((c) => c.init?.method === 'GET' && c.url.endsWith('/deployments'));
|
|
709
|
+
const postIndex = calls.findIndex((c) => c.init?.method === 'POST' && c.url.endsWith('/deployments'));
|
|
710
|
+
assert.notEqual(getIndex, -1);
|
|
711
|
+
assert.notEqual(postIndex, -1);
|
|
712
|
+
assert.ok(getIndex < postIndex, 'listing GET must precede deploy POST');
|
|
713
|
+
});
|
|
714
|
+
test('findExistingAgent: workspace-scoped list rows without persona-identifying fields are NOT matched', async () => {
|
|
715
|
+
// The new /deployments endpoint is workspace-scoped, not persona-scoped.
|
|
716
|
+
// A row that lacks deployedName/personaSlug/personaId could belong to
|
|
717
|
+
// any persona in the workspace; client-side matching MUST refuse to
|
|
718
|
+
// treat it as "the persona we're deploying". Otherwise on-exists could
|
|
719
|
+
// act on the wrong agent. (Legacy `{agent:{id}}` envelope keeps its
|
|
720
|
+
// back-compat because the URL path implied persona-scoping; that
|
|
721
|
+
// path is exercised by the "cloud existing-persona stage" test.)
|
|
722
|
+
const result = await launch({
|
|
723
|
+
env: {
|
|
724
|
+
WORKFORCE_DEPLOY_CLOUD_URL: 'https://cloud.example.test'
|
|
725
|
+
},
|
|
726
|
+
fetch(url, init) {
|
|
727
|
+
if (init?.method === 'GET' && url.endsWith('/deployments')) {
|
|
728
|
+
return okJson({
|
|
729
|
+
agents: [
|
|
730
|
+
// Row with NO persona-identifying field — must be ignored.
|
|
731
|
+
{ agentId: 'agent-mystery', status: 'active' }
|
|
732
|
+
],
|
|
733
|
+
nextCursor: null
|
|
734
|
+
});
|
|
735
|
+
}
|
|
736
|
+
if (init?.method === 'POST' && url.endsWith('/deployments')) {
|
|
737
|
+
// Deploy proceeds as if no existing agent was found.
|
|
738
|
+
return okJson({ agentId: 'agent-fresh', deploymentId: 'dep-1', status: 'active' }, 201);
|
|
739
|
+
}
|
|
740
|
+
throw new Error(`unexpected URL ${url} (${init?.method})`);
|
|
741
|
+
}
|
|
742
|
+
});
|
|
743
|
+
assert.equal(result.handle.id, 'agent-fresh');
|
|
744
|
+
});
|
|
745
|
+
test('findExistingAgent: multiple active rows for the same persona — newest wins', async () => {
|
|
746
|
+
// During a destroy+redeploy race or a soft-delete window, the workspace
|
|
747
|
+
// can briefly hold two active rows for the same persona slug. The CLI
|
|
748
|
+
// should act on the newest one, not whichever cloud returns first in
|
|
749
|
+
// the unordered array.
|
|
750
|
+
const result = await launch({
|
|
751
|
+
env: {
|
|
752
|
+
WORKFORCE_DEPLOY_CLOUD_URL: 'https://cloud.example.test',
|
|
753
|
+
WORKFORCE_DEPLOY_ON_EXISTS: 'cancel'
|
|
754
|
+
},
|
|
755
|
+
fetch(url, init) {
|
|
756
|
+
if (init?.method === 'GET' && url.endsWith('/deployments')) {
|
|
757
|
+
return okJson({
|
|
758
|
+
agents: [
|
|
759
|
+
{
|
|
760
|
+
agentId: 'agent-stale',
|
|
761
|
+
deployedName: 'demo',
|
|
762
|
+
status: 'active',
|
|
763
|
+
createdAt: '2026-05-12T00:00:00.000Z'
|
|
764
|
+
},
|
|
765
|
+
{
|
|
766
|
+
agentId: 'agent-current',
|
|
767
|
+
deployedName: 'demo',
|
|
768
|
+
status: 'active',
|
|
769
|
+
createdAt: '2026-05-13T12:00:00.000Z'
|
|
770
|
+
},
|
|
771
|
+
{
|
|
772
|
+
agentId: 'agent-tombstone',
|
|
773
|
+
deployedName: 'demo',
|
|
774
|
+
status: 'destroyed',
|
|
775
|
+
createdAt: '2026-05-13T13:00:00.000Z'
|
|
776
|
+
}
|
|
777
|
+
],
|
|
778
|
+
nextCursor: null
|
|
779
|
+
});
|
|
780
|
+
}
|
|
781
|
+
throw new Error(`unexpected URL ${url} (${init?.method})`);
|
|
782
|
+
}
|
|
783
|
+
});
|
|
784
|
+
assert.equal(result.handle.id, 'agent-current', 'newest active row should win');
|
|
785
|
+
assert.equal(result.handle.status, 'cancelled');
|
|
786
|
+
});
|
|
787
|
+
test('findExistingAgent: active row wins over an older active and over inactive rows', async () => {
|
|
788
|
+
// Status tier (active > anything else) outranks createdAt — guards
|
|
789
|
+
// against picking a newer `failed` row over an older `active` one.
|
|
790
|
+
const result = await launch({
|
|
791
|
+
env: {
|
|
792
|
+
WORKFORCE_DEPLOY_CLOUD_URL: 'https://cloud.example.test',
|
|
793
|
+
WORKFORCE_DEPLOY_ON_EXISTS: 'cancel'
|
|
794
|
+
},
|
|
795
|
+
fetch(url, init) {
|
|
796
|
+
if (init?.method === 'GET' && url.endsWith('/deployments')) {
|
|
797
|
+
return okJson({
|
|
798
|
+
agents: [
|
|
799
|
+
{
|
|
800
|
+
agentId: 'agent-active-old',
|
|
801
|
+
deployedName: 'demo',
|
|
802
|
+
status: 'active',
|
|
803
|
+
createdAt: '2026-05-10T00:00:00.000Z'
|
|
804
|
+
},
|
|
805
|
+
{
|
|
806
|
+
agentId: 'agent-failed-new',
|
|
807
|
+
deployedName: 'demo',
|
|
808
|
+
status: 'failed',
|
|
809
|
+
createdAt: '2026-05-13T00:00:00.000Z'
|
|
810
|
+
}
|
|
811
|
+
],
|
|
812
|
+
nextCursor: null
|
|
813
|
+
});
|
|
814
|
+
}
|
|
815
|
+
throw new Error(`unexpected URL ${url} (${init?.method})`);
|
|
816
|
+
}
|
|
817
|
+
});
|
|
818
|
+
assert.equal(result.handle.id, 'agent-active-old');
|
|
819
|
+
});
|
|
820
|
+
test('findExistingAgent: malformed array entries (null/empty) are skipped without throwing', async () => {
|
|
821
|
+
const result = await launch({
|
|
822
|
+
env: {
|
|
823
|
+
WORKFORCE_DEPLOY_CLOUD_URL: 'https://cloud.example.test',
|
|
824
|
+
WORKFORCE_DEPLOY_ON_EXISTS: 'cancel'
|
|
825
|
+
},
|
|
826
|
+
fetch(url, init) {
|
|
827
|
+
if (init?.method === 'GET' && url.endsWith('/deployments')) {
|
|
828
|
+
return okJson({
|
|
829
|
+
agents: [
|
|
830
|
+
null,
|
|
831
|
+
undefined,
|
|
832
|
+
{},
|
|
833
|
+
{ agentId: '' },
|
|
834
|
+
{
|
|
835
|
+
agentId: 'agent-valid',
|
|
836
|
+
deployedName: 'demo',
|
|
837
|
+
status: 'active',
|
|
838
|
+
createdAt: '2026-05-13T00:00:00.000Z'
|
|
839
|
+
}
|
|
840
|
+
],
|
|
841
|
+
nextCursor: null
|
|
842
|
+
});
|
|
843
|
+
}
|
|
844
|
+
throw new Error(`unexpected URL ${url} (${init?.method})`);
|
|
845
|
+
}
|
|
846
|
+
});
|
|
847
|
+
assert.equal(result.handle.id, 'agent-valid');
|
|
517
848
|
});
|
|
518
849
|
function callsForUrl(calls, suffix) {
|
|
519
850
|
return calls.filter((call) => call.url.endsWith(suffix)).length;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud.test.js","sourceRoot":"","sources":["../../src/modes/cloud.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cloud.test.js","sourceRoot":"","sources":["../../src/modes/cloud.test.ts"],"names":[],"mappings":"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"}
|