@agentworkforce/workload-router 0.1.4 → 0.3.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.
@@ -1,6 +1,6 @@
1
1
  import test from 'node:test';
2
2
  import assert from 'node:assert/strict';
3
- import { chmodSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
3
+ import { chmodSync, existsSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
4
4
  import { tmpdir } from 'node:os';
5
5
  import { join } from 'node:path';
6
6
  import { HARNESS_SKILL_TARGETS, HARNESS_VALUES, PersonaExecutionError, materializeSkills, materializeSkillsFor, personaCatalog, resolvePersona, resolvePersonaByTier, usePersona } from './index.js';
@@ -84,6 +84,26 @@ test('resolves review from custom routing profile rule', () => {
84
84
  'cloud-sandbox-infra': {
85
85
  tier: 'best',
86
86
  rationale: 'infra changes need deep reasoning'
87
+ },
88
+ 'sage-slack-egress-migration': {
89
+ tier: 'best-value',
90
+ rationale: 'migration wiring can use the balanced default'
91
+ },
92
+ 'sage-proactive-rewire': {
93
+ tier: 'best-value',
94
+ rationale: 'rewiring work is configuration-heavy rather than max-depth by default'
95
+ },
96
+ 'cloud-slack-proxy-guard': {
97
+ tier: 'best-value',
98
+ rationale: 'proxy guard checks usually fit the balanced default tier'
99
+ },
100
+ 'sage-cloud-e2e-conduction': {
101
+ tier: 'best-value',
102
+ rationale: 'e2e conduction benefits from strong reasoning without the highest-cost default'
103
+ },
104
+ 'capability-discovery': {
105
+ tier: 'best-value',
106
+ rationale: 'lightweight discovery work'
87
107
  }
88
108
  }
89
109
  });
@@ -199,6 +219,112 @@ test('materializeSkillsFor derives an install plan from a resolved persona', ()
199
219
  const cmd = plan.installs[0].installCommand.join(' ');
200
220
  assert.match(cmd, /prpm install @prpm\/npm-trusted-publishing --as /);
201
221
  });
222
+ test('materializeSkills emits a skill.sh install for a github#skill source', () => {
223
+ const plan = materializeSkills([
224
+ {
225
+ id: 'skill.sh/find-skills',
226
+ source: 'https://github.com/vercel-labs/skills#find-skills',
227
+ description: 'skill.sh discovery skill'
228
+ }
229
+ ], 'claude');
230
+ assert.equal(plan.installs.length, 1);
231
+ const [install] = plan.installs;
232
+ assert.equal(install.sourceKind, 'skill.sh');
233
+ assert.equal(install.packageRef, 'https://github.com/vercel-labs/skills#find-skills');
234
+ assert.deepEqual([...install.installCommand], ['npx', '-y', 'skills', 'add', 'https://github.com/vercel-labs/skills', '--skill', 'find-skills', '-y']);
235
+ // skill.sh uses a single universal content dir regardless of harness.
236
+ assert.equal(install.installedDir, '.agents/skills/find-skills');
237
+ assert.equal(install.installedManifest, '.agents/skills/find-skills/SKILL.md');
238
+ // Cleanup should target every harness symlink + the universal dir, but
239
+ // never the lockfile itself.
240
+ assert.deepEqual([...install.cleanupPaths], [
241
+ '.agents/skills/find-skills',
242
+ '.claude/skills/find-skills',
243
+ '.factory/skills/find-skills',
244
+ '.kiro/skills/find-skills',
245
+ 'skills/find-skills'
246
+ ]);
247
+ assert.ok(!install.cleanupPaths.includes('skills-lock.json'));
248
+ });
249
+ test('prpm installs carry a harness-scoped cleanup path (not the lockfile)', () => {
250
+ const plan = materializeSkills([
251
+ {
252
+ id: 'prpm/npm-trusted-publishing',
253
+ source: '@prpm/npm-trusted-publishing',
254
+ description: 'bare ref form'
255
+ }
256
+ ], 'codex');
257
+ const [install] = plan.installs;
258
+ assert.deepEqual([...install.cleanupPaths], ['.agents/skills/npm-trusted-publishing']);
259
+ assert.ok(!install.cleanupPaths.includes('prpm.lock'));
260
+ });
261
+ test('usePersona install command never embeds cleanup (agent must read skills first)', () => {
262
+ // Regression guard: previously buildInstallArtifacts inlined `&& rm -rf` into
263
+ // the install step, which ran BEFORE the agent step and deleted skill files
264
+ // the agent needed to read. Cleanup now lives on a separate post-agent step
265
+ // and on install.cleanupCommandString for Mode B callers.
266
+ const context = usePersona('npm-provenance');
267
+ assert.doesNotMatch(context.install.commandString, /rm -rf/);
268
+ assert.match(context.install.commandString, /prpm install @prpm\/npm-trusted-publishing --as [a-z]+/);
269
+ });
270
+ test('usePersona exposes a post-run cleanupCommandString targeting skill artifact paths', () => {
271
+ const context = usePersona('npm-provenance');
272
+ assert.ok(Array.isArray(context.install.cleanupCommand));
273
+ assert.equal(context.install.cleanupCommand[0], 'sh');
274
+ assert.match(context.install.cleanupCommandString, /^rm -rf /);
275
+ assert.match(context.install.cleanupCommandString, /npm-trusted-publishing/);
276
+ // The provider lockfile must never be cleaned — repeat runs depend on it.
277
+ assert.doesNotMatch(context.install.cleanupCommandString, /prpm\.lock|skills-lock\.json/);
278
+ });
279
+ test('usePersona cleanupCommandString chains paths from every install in the plan', () => {
280
+ const context = usePersona('capability-discovery');
281
+ const cleanup = context.install.cleanupCommandString;
282
+ // Both the skill.sh symlink set and the prpm per-harness dir should appear
283
+ // in a single rm -rf chain.
284
+ assert.match(cleanup, /^rm -rf /);
285
+ assert.match(cleanup, /find-skills/);
286
+ assert.match(cleanup, /self-improving/);
287
+ // Cover every skill.sh harness symlink, not just the universal dir.
288
+ assert.match(cleanup, /\.agents\/skills\/find-skills/);
289
+ assert.match(cleanup, /\.claude\/skills\/find-skills/);
290
+ assert.match(cleanup, /\.factory\/skills\/find-skills/);
291
+ assert.match(cleanup, /\.kiro\/skills\/find-skills/);
292
+ });
293
+ test('usePersona cleanupCommandString is a shell no-op when the persona declares no skills', () => {
294
+ const context = usePersona('architecture-plan');
295
+ assert.equal(context.install.cleanupCommandString, ':');
296
+ });
297
+ test('resolves capability-discovery persona carrying both skill.sh and prpm skills', () => {
298
+ const selection = resolvePersona('capability-discovery');
299
+ assert.equal(selection.personaId, 'capability-discoverer');
300
+ assert.equal(selection.tier, 'best-value');
301
+ assert.equal(selection.skills.length, 2);
302
+ const byId = new Map(selection.skills.map((s) => [s.id, s]));
303
+ const skillSh = byId.get('skill.sh/find-skills');
304
+ assert.ok(skillSh, 'missing skill.sh/find-skills skill');
305
+ assert.equal(skillSh.source, 'https://github.com/vercel-labs/skills#find-skills');
306
+ const prpm = byId.get('prpm/self-improving');
307
+ assert.ok(prpm, 'missing prpm/self-improving skill');
308
+ assert.match(prpm.source, /prpm\.dev\/packages\/@prpm\/self-improving/);
309
+ });
310
+ test('materializeSkillsFor capability-discovery plans both installs under one shell chain with cleanup', () => {
311
+ const selection = resolvePersona('capability-discovery');
312
+ const plan = materializeSkillsFor(selection);
313
+ assert.equal(plan.installs.length, 2);
314
+ const byKind = new Map(plan.installs.map((i) => [i.sourceKind, i]));
315
+ const skillShInstall = byKind.get('skill.sh');
316
+ const prpmInstall = byKind.get('prpm');
317
+ assert.ok(skillShInstall, 'missing skill.sh install');
318
+ assert.ok(prpmInstall, 'missing prpm install');
319
+ assert.deepEqual([...skillShInstall.installCommand], ['npx', '-y', 'skills', 'add', 'https://github.com/vercel-labs/skills', '--skill', 'find-skills', '-y']);
320
+ assert.equal(prpmInstall.packageRef, '@prpm/self-improving');
321
+ const context = usePersona('capability-discovery');
322
+ const cmd = context.install.commandString;
323
+ // Both installs should be chained back-to-back with `&&`, with NO inline
324
+ // cleanup — cleanup lives on a separate post-agent step.
325
+ assert.match(cmd, /skills add https:\/\/github\.com\/vercel-labs\/skills --skill find-skills -y && npx -y prpm install @prpm\/self-improving/);
326
+ assert.doesNotMatch(cmd, /rm -rf/);
327
+ });
202
328
  test('materializeSkills rejects unknown skill sources', () => {
203
329
  assert.throws(() => materializeSkills([
204
330
  {
@@ -212,20 +338,21 @@ test('materializeSkills handles personas with no skills', () => {
212
338
  const plan = materializeSkills([], 'claude');
213
339
  assert.equal(plan.installs.length, 0);
214
340
  });
215
- test('usePersona combines selection, install plan, and install commands into a frozen context', () => {
341
+ test('usePersona combines selection, grouped install metadata, and sendMessage into a frozen context', () => {
216
342
  const context = usePersona('npm-provenance');
217
343
  const selection = resolvePersona('npm-provenance');
218
344
  const plan = materializeSkillsFor(selection);
219
345
  assert.deepEqual(context.selection, selection);
220
- assert.deepEqual(context.installPlan, plan);
221
- assert.equal(context.installCommand[0], 'sh');
222
- assert.match(context.installCommandString, /prpm install/);
346
+ assert.deepEqual(context.install.plan, plan);
347
+ assert.equal(context.install.command[0], 'sh');
348
+ assert.match(context.install.commandString, /prpm install/);
223
349
  assert.ok(Object.isFrozen(context));
224
350
  assert.ok(Object.isFrozen(context.selection));
225
- assert.ok(Object.isFrozen(context.installPlan));
226
- assert.ok(Object.isFrozen(context.installCommand));
351
+ assert.ok(Object.isFrozen(context.install));
352
+ assert.ok(Object.isFrozen(context.install.plan));
353
+ assert.ok(Object.isFrozen(context.install.command));
227
354
  });
228
- test('usePersona.execute runs the selected harness and returns stdout, stderr, and run metadata', async () => {
355
+ test('usePersona.sendMessage runs the selected harness and returns stdout, stderr, and run metadata', async () => {
229
356
  const dir = mkdtempSync(join(tmpdir(), 'use-persona-success-'));
230
357
  try {
231
358
  writeNodeExecutable(dir, 'codex', `
@@ -238,9 +365,9 @@ process.stderr.write('stub-stderr');
238
365
  `);
239
366
  const context = usePersona('architecture-plan', { harness: 'codex' });
240
367
  const progress = [];
241
- const execution = context.execute('Draft the migration plan', {
368
+ const execution = context.sendMessage('Draft the migration plan', {
242
369
  workingDirectory: dir,
243
- env: buildEnv(dir, { TEST_ENV: 'persona-execute' }),
370
+ env: buildEnv(dir, { TEST_ENV: 'persona-send-message' }),
244
371
  onProgress: (chunk) => progress.push(chunk)
245
372
  });
246
373
  const runId = await execution.runId;
@@ -255,7 +382,7 @@ process.stderr.write('stub-stderr');
255
382
  assert.deepEqual(args.slice(0, 2), ['exec', '--dangerously-bypass-approvals-and-sandbox']);
256
383
  assert.match(args[2], /System Instructions:/);
257
384
  assert.match(args[2], /Draft the migration plan/);
258
- assert.deepEqual(env, { TEST_ENV: 'persona-execute' });
385
+ assert.deepEqual(env, { TEST_ENV: 'persona-send-message' });
259
386
  assert.deepEqual(progress, [
260
387
  { stream: 'stdout', text: 'stub-stdout' },
261
388
  { stream: 'stderr', text: 'stub-stderr' }
@@ -265,7 +392,7 @@ process.stderr.write('stub-stderr');
265
392
  rmSync(dir, { recursive: true, force: true });
266
393
  }
267
394
  });
268
- test('usePersona.execute installs persona skills before running the agent step', async () => {
395
+ test('usePersona.sendMessage installs persona skills before running the agent step', async () => {
269
396
  const dir = mkdtempSync(join(tmpdir(), 'use-persona-install-'));
270
397
  try {
271
398
  writeNodeExecutable(dir, 'npx', `
@@ -282,7 +409,7 @@ writeFileSync('agent-saw-install.txt', 'yes', 'utf8');
282
409
  process.stdout.write('agent-after-install');
283
410
  `);
284
411
  const context = usePersona('npm-provenance', { harness: 'codex' });
285
- const result = await context.execute('Configure publishing', {
412
+ const result = await context.sendMessage('Configure publishing', {
286
413
  workingDirectory: dir,
287
414
  env: buildEnv(dir)
288
415
  });
@@ -294,7 +421,56 @@ process.stdout.write('agent-after-install');
294
421
  rmSync(dir, { recursive: true, force: true });
295
422
  }
296
423
  });
297
- test('usePersona.execute maps non-zero exits to PersonaExecutionError with captured stderr', async () => {
424
+ test('usePersona.sendMessage keeps skill files on disk for the agent, then cleans them up after', async () => {
425
+ // Regression guard for the Devin-flagged P1: cleanup used to be chained
426
+ // into the install step with `&& rm -rf`, so by the time the agent step
427
+ // ran the skill manifest was already gone. This test:
428
+ // 1. Uses a fake `npx` that writes a stub SKILL.md into the exact path
429
+ // listed in the install plan's cleanupPaths (simulating prpm install).
430
+ // 2. Uses a fake `codex` that asserts the SKILL.md IS present and
431
+ // captures its location, then writes an agent-ran sentinel.
432
+ // 3. Asserts that after sendMessage settles, the cleanupPaths have been
433
+ // removed — proving the post-agent cleanup step ran.
434
+ const dir = mkdtempSync(join(tmpdir(), 'use-persona-cleanup-'));
435
+ try {
436
+ // The install plan cleanupPaths for npm-provenance under codex is
437
+ // `.agents/skills/npm-trusted-publishing`. The fake npx must materialize
438
+ // a SKILL.md inside that dir so the agent can verify it.
439
+ writeNodeExecutable(dir, 'npx', `
440
+ const { mkdirSync, writeFileSync } = require('node:fs');
441
+ const path = require('node:path');
442
+ const skillDir = path.join(process.cwd(), '.agents/skills/npm-trusted-publishing');
443
+ mkdirSync(skillDir, { recursive: true });
444
+ writeFileSync(path.join(skillDir, 'SKILL.md'), '# npm trusted publishing', 'utf8');
445
+ `);
446
+ writeNodeExecutable(dir, 'codex', `
447
+ const { existsSync, writeFileSync } = require('node:fs');
448
+ const skillPath = '.agents/skills/npm-trusted-publishing/SKILL.md';
449
+ if (!existsSync(skillPath)) {
450
+ process.stderr.write('SKILL.md missing during agent step');
451
+ process.exit(9);
452
+ }
453
+ writeFileSync('agent-saw-skill.txt', 'yes', 'utf8');
454
+ process.stdout.write('agent-read-skill');
455
+ `);
456
+ const context = usePersona('npm-provenance', { harness: 'codex' });
457
+ // Sanity check: plan must say this is the path we expect to verify.
458
+ assert.deepEqual(context.install.plan.installs[0]?.cleanupPaths, ['.agents/skills/npm-trusted-publishing']);
459
+ const result = await context.sendMessage('Configure publishing', {
460
+ workingDirectory: dir,
461
+ env: buildEnv(dir)
462
+ });
463
+ assert.equal(result.status, 'completed');
464
+ // Agent must have seen the skill during its run.
465
+ assert.equal(readFileSync(join(dir, 'agent-saw-skill.txt'), 'utf8'), 'yes');
466
+ // Post-agent cleanup must have removed the skill artifact path.
467
+ assert.equal(existsSync(join(dir, '.agents/skills/npm-trusted-publishing')), false, 'cleanup step should have removed the skill artifact dir after the agent ran');
468
+ }
469
+ finally {
470
+ rmSync(dir, { recursive: true, force: true });
471
+ }
472
+ });
473
+ test('usePersona.sendMessage maps non-zero exits to PersonaExecutionError with captured stderr', async () => {
298
474
  const dir = mkdtempSync(join(tmpdir(), 'use-persona-fail-'));
299
475
  try {
300
476
  writeNodeExecutable(dir, 'codex', `
@@ -302,7 +478,7 @@ process.stderr.write('boom');
302
478
  process.exit(17);
303
479
  `);
304
480
  const context = usePersona('architecture-plan', { harness: 'codex' });
305
- await assert.rejects(context.execute('Fail this run', {
481
+ await assert.rejects(context.sendMessage('Fail this run', {
306
482
  workingDirectory: dir,
307
483
  env: buildEnv(dir)
308
484
  }), (error) => {
@@ -317,7 +493,7 @@ process.exit(17);
317
493
  rmSync(dir, { recursive: true, force: true });
318
494
  }
319
495
  });
320
- test('usePersona.execute supports cancellation via AbortSignal', async () => {
496
+ test('usePersona.sendMessage supports cancellation via AbortSignal', async () => {
321
497
  const dir = mkdtempSync(join(tmpdir(), 'use-persona-cancel-'));
322
498
  try {
323
499
  writeNodeExecutable(dir, 'codex', `
@@ -326,7 +502,7 @@ setInterval(() => {}, 1_000);
326
502
  `);
327
503
  const controller = new AbortController();
328
504
  const context = usePersona('architecture-plan', { harness: 'codex' });
329
- const execution = context.execute('Wait for cancellation', {
505
+ const execution = context.sendMessage('Wait for cancellation', {
330
506
  workingDirectory: dir,
331
507
  env: buildEnv(dir),
332
508
  signal: controller.signal
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentworkforce/workload-router",
3
- "version": "0.1.4",
3
+ "version": "0.3.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -58,6 +58,26 @@
58
58
  "cloud-sandbox-infra": {
59
59
  "tier": "best",
60
60
  "rationale": "Cloud infrastructure changes (sandbox provisioning, credential handling, session durability) have high blast radius; prioritize deeper reasoning and thorough verification."
61
+ },
62
+ "sage-slack-egress-migration": {
63
+ "tier": "best-value",
64
+ "rationale": "Slack egress migration work is mostly mechanical integration plumbing, so best-value is the default tradeoff."
65
+ },
66
+ "sage-proactive-rewire": {
67
+ "tier": "best-value",
68
+ "rationale": "Proactive rewiring is configuration-heavy coordination work that usually does not need the highest-cost tier by default."
69
+ },
70
+ "cloud-slack-proxy-guard": {
71
+ "tier": "best-value",
72
+ "rationale": "Proxy guard updates are typically policy and wiring checks, so best-value is a sensible default tier."
73
+ },
74
+ "sage-cloud-e2e-conduction": {
75
+ "tier": "best-value",
76
+ "rationale": "End-to-end conduction is orchestration-heavy work where strong reasoning is useful without requiring the top tier by default."
77
+ },
78
+ "capability-discovery": {
79
+ "tier": "best-value",
80
+ "rationale": "Searching skill.sh and prpm.dev for existing skills, agents, and hooks is lightweight research; the balanced default is sufficient when guided by the skill.sh/find-skills and @prpm/self-improving skills."
61
81
  }
62
82
  }
63
83
  }