@agentworkforce/cli 0.10.0 → 0.12.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.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=persona-picker.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persona-picker.test.d.ts","sourceRoot":"","sources":["../src/persona-picker.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,184 @@
1
+ import test from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import { buildUserPrompt, parsePickerOutput, pickPersona } from './persona-picker.js';
4
+ const SAMPLE_CANDIDATES = [
5
+ {
6
+ id: 'code-reviewer',
7
+ intent: 'review',
8
+ tags: ['review'],
9
+ description: 'Reviews PRs.'
10
+ },
11
+ {
12
+ id: 'debugger',
13
+ intent: 'debugging',
14
+ tags: ['debugging'],
15
+ description: 'Roots out bugs.'
16
+ }
17
+ ];
18
+ function fakeRunner(result) {
19
+ const calls = [];
20
+ return {
21
+ calls,
22
+ runner(req) {
23
+ calls.push(req);
24
+ return result;
25
+ }
26
+ };
27
+ }
28
+ test('buildUserPrompt: includes the task and a JSON candidate list', () => {
29
+ const prompt = buildUserPrompt('fix the login bug', SAMPLE_CANDIDATES);
30
+ assert.match(prompt, /Task:\nfix the login bug/);
31
+ assert.match(prompt, /"id":"code-reviewer"/);
32
+ assert.match(prompt, /"id":"debugger"/);
33
+ });
34
+ test('parsePickerOutput: parses a bare JSON response object', () => {
35
+ const out = '{"persona":"code-reviewer","confidence":"high","reason":"PR review"}';
36
+ assert.deepEqual(parsePickerOutput(out), {
37
+ persona: 'code-reviewer',
38
+ confidence: 'high',
39
+ reason: 'PR review'
40
+ });
41
+ });
42
+ test('parsePickerOutput: unwraps the Claude CLI {result: "<json>"} envelope', () => {
43
+ const inner = JSON.stringify({
44
+ persona: 'debugger',
45
+ confidence: 'medium',
46
+ reason: 'looks like a bug hunt'
47
+ });
48
+ const envelope = JSON.stringify({
49
+ type: 'result',
50
+ subtype: 'success',
51
+ is_error: false,
52
+ result: inner
53
+ });
54
+ assert.deepEqual(parsePickerOutput(envelope), {
55
+ persona: 'debugger',
56
+ confidence: 'medium',
57
+ reason: 'looks like a bug hunt'
58
+ });
59
+ });
60
+ test('parsePickerOutput: returns undefined on non-JSON', () => {
61
+ assert.equal(parsePickerOutput('not json'), undefined);
62
+ assert.equal(parsePickerOutput(''), undefined);
63
+ assert.equal(parsePickerOutput(' \n '), undefined);
64
+ });
65
+ test('parsePickerOutput: returns undefined on shape mismatch', () => {
66
+ assert.equal(parsePickerOutput('{"persona":42,"confidence":"high","reason":"x"}'), undefined);
67
+ assert.equal(parsePickerOutput('{"persona":"x","confidence":"sky-high","reason":"x"}'), undefined);
68
+ assert.equal(parsePickerOutput('{"persona":"x","confidence":"high"}'), undefined);
69
+ });
70
+ test('pickPersona: well-formed match propagates id, confidence, reason', () => {
71
+ const { runner, calls } = fakeRunner({
72
+ status: 'ok',
73
+ stdout: '{"persona":"code-reviewer","confidence":"high","reason":"PR review fits"}',
74
+ stderr: ''
75
+ });
76
+ const result = pickPersona('review my PR', SAMPLE_CANDIDATES, { runner });
77
+ assert.equal(result.kind, 'match');
78
+ if (result.kind === 'match') {
79
+ assert.equal(result.personaId, 'code-reviewer');
80
+ assert.equal(result.confidence, 'high');
81
+ assert.equal(result.reason, 'PR review fits');
82
+ }
83
+ assert.equal(calls.length, 1);
84
+ assert.equal(calls[0].bin, 'claude');
85
+ assert.ok(calls[0].args.includes('-p'));
86
+ assert.ok(calls[0].args.includes('--output-format'));
87
+ });
88
+ test('pickPersona: persona=null collapses to no-match', () => {
89
+ const { runner } = fakeRunner({
90
+ status: 'ok',
91
+ stdout: '{"persona":null,"confidence":"low","reason":"none fit"}',
92
+ stderr: ''
93
+ });
94
+ const result = pickPersona('xyzzy', SAMPLE_CANDIDATES, { runner });
95
+ assert.equal(result.kind, 'no-match');
96
+ });
97
+ test('pickPersona: low confidence collapses to no-match even with a persona id', () => {
98
+ const { runner } = fakeRunner({
99
+ status: 'ok',
100
+ stdout: '{"persona":"code-reviewer","confidence":"low","reason":"weak match"}',
101
+ stderr: ''
102
+ });
103
+ const result = pickPersona('something', SAMPLE_CANDIDATES, { runner });
104
+ assert.equal(result.kind, 'no-match');
105
+ });
106
+ test('pickPersona: unknown persona id from model is rejected as no-match', () => {
107
+ const { runner } = fakeRunner({
108
+ status: 'ok',
109
+ stdout: '{"persona":"made-up-persona","confidence":"high","reason":"hallucinated"}',
110
+ stderr: ''
111
+ });
112
+ const result = pickPersona('do work', SAMPLE_CANDIDATES, { runner });
113
+ assert.equal(result.kind, 'no-match');
114
+ if (result.kind === 'no-match') {
115
+ assert.match(result.reason, /unknown persona id/);
116
+ }
117
+ });
118
+ test('pickPersona: ENOENT from subprocess maps to picker-unavailable', () => {
119
+ const { runner } = fakeRunner({
120
+ status: 'enoent',
121
+ stdout: '',
122
+ stderr: '',
123
+ errorMessage: 'spawn claude ENOENT'
124
+ });
125
+ const result = pickPersona('do work', SAMPLE_CANDIDATES, { runner });
126
+ assert.equal(result.kind, 'picker-unavailable');
127
+ if (result.kind === 'picker-unavailable') {
128
+ assert.match(result.message, /not found on PATH/);
129
+ }
130
+ });
131
+ test('pickPersona: non-zero exit maps to picker-unavailable with stderr', () => {
132
+ const { runner } = fakeRunner({
133
+ status: 'error',
134
+ stdout: '',
135
+ stderr: 'rate limited',
136
+ errorMessage: 'exit 1'
137
+ });
138
+ const result = pickPersona('do work', SAMPLE_CANDIDATES, { runner });
139
+ assert.equal(result.kind, 'picker-unavailable');
140
+ if (result.kind === 'picker-unavailable') {
141
+ assert.match(result.message, /rate limited/);
142
+ }
143
+ });
144
+ test('pickPersona: unparseable stdout collapses to no-match', () => {
145
+ const { runner } = fakeRunner({
146
+ status: 'ok',
147
+ stdout: 'I refuse to answer in JSON.',
148
+ stderr: ''
149
+ });
150
+ const result = pickPersona('do work', SAMPLE_CANDIDATES, { runner });
151
+ assert.equal(result.kind, 'no-match');
152
+ if (result.kind === 'no-match') {
153
+ assert.match(result.reason, /no parseable response/);
154
+ }
155
+ });
156
+ test('pickPersona: empty task short-circuits to no-match without invoking runner', () => {
157
+ const { runner, calls } = fakeRunner({ status: 'ok', stdout: '', stderr: '' });
158
+ const result = pickPersona(' ', SAMPLE_CANDIDATES, { runner });
159
+ assert.equal(result.kind, 'no-match');
160
+ assert.equal(calls.length, 0);
161
+ });
162
+ test('pickPersona: empty candidates short-circuits to no-match', () => {
163
+ const { runner, calls } = fakeRunner({ status: 'ok', stdout: '', stderr: '' });
164
+ const result = pickPersona('do work', [], { runner });
165
+ assert.equal(result.kind, 'no-match');
166
+ assert.equal(calls.length, 0);
167
+ });
168
+ test('pickPersona: respects custom claudeBin and model in args', () => {
169
+ const { runner, calls } = fakeRunner({
170
+ status: 'ok',
171
+ stdout: '{"persona":"debugger","confidence":"medium","reason":"x"}',
172
+ stderr: ''
173
+ });
174
+ pickPersona('hunt a bug', SAMPLE_CANDIDATES, {
175
+ runner,
176
+ claudeBin: '/custom/claude',
177
+ model: 'claude-opus-4-7'
178
+ });
179
+ assert.equal(calls[0].bin, '/custom/claude');
180
+ const modelIdx = calls[0].args.indexOf('--model');
181
+ assert.notEqual(modelIdx, -1);
182
+ assert.equal(calls[0].args[modelIdx + 1], 'claude-opus-4-7');
183
+ });
184
+ //# sourceMappingURL=persona-picker.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persona-picker.test.js","sourceRoot":"","sources":["../src/persona-picker.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentworkforce/cli",
3
- "version": "0.10.0",
3
+ "version": "0.12.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "files": [
@@ -10,10 +10,11 @@
10
10
  "package.json"
11
11
  ],
12
12
  "dependencies": {
13
+ "@relayburn/sdk": "^2.3.0",
13
14
  "@relayfile/local-mount": "^0.6.1",
14
15
  "ora": "^9.4.0",
15
- "@agentworkforce/harness-kit": "0.10.0",
16
- "@agentworkforce/workload-router": "0.10.0"
16
+ "@agentworkforce/harness-kit": "0.12.0",
17
+ "@agentworkforce/workload-router": "0.12.0"
17
18
  },
18
19
  "repository": {
19
20
  "type": "git",