@agentworkforce/cli 2.0.1 → 2.1.1
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/CHANGELOG.md +13 -0
- package/dist/cli.d.ts +8 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +69 -2
- package/dist/cli.js.map +1 -1
- package/dist/launch-metadata.d.ts.map +1 -1
- package/dist/launch-metadata.js +12 -1
- package/dist/launch-metadata.js.map +1 -1
- package/dist/launch-metadata.test.js +58 -0
- package/dist/launch-metadata.test.js.map +1 -1
- package/dist/persona-tui.d.ts +85 -0
- package/dist/persona-tui.d.ts.map +1 -0
- package/dist/persona-tui.js +390 -0
- package/dist/persona-tui.js.map +1 -0
- package/dist/persona-tui.test.d.ts +2 -0
- package/dist/persona-tui.test.d.ts.map +1 -0
- package/dist/persona-tui.test.js +130 -0
- package/dist/persona-tui.test.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import test from 'node:test';
|
|
2
|
+
import assert from 'node:assert/strict';
|
|
3
|
+
import { mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
|
|
4
|
+
import { tmpdir } from 'node:os';
|
|
5
|
+
import { join } from 'node:path';
|
|
6
|
+
import { computeTuiView, fuzzyScore, nextRecents, parseRecents, rankCandidates, recentCandidates, recordRecent, loadRecents } from './persona-tui.js';
|
|
7
|
+
const CANDIDATES = [
|
|
8
|
+
{
|
|
9
|
+
id: 'code-reviewer',
|
|
10
|
+
description: 'Reviews pull requests for quality, correctness and security.',
|
|
11
|
+
source: 'library'
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
id: 'fix-flaky',
|
|
15
|
+
description: 'Repairs flaky tests across the test suite.',
|
|
16
|
+
source: 'user'
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
id: 'persona-maker',
|
|
20
|
+
description: 'Scaffolds a new persona via interactive Q&A.',
|
|
21
|
+
source: 'library'
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
id: 'my-reviewer',
|
|
25
|
+
description: 'Local reviewer override with team-specific style rules.',
|
|
26
|
+
source: 'cwd'
|
|
27
|
+
}
|
|
28
|
+
];
|
|
29
|
+
test('fuzzyScore returns null when chars are absent or out of order', () => {
|
|
30
|
+
assert.equal(fuzzyScore('zzz', 'code-reviewer'), null);
|
|
31
|
+
assert.equal(fuzzyScore('reverse', 'reviewer'), null);
|
|
32
|
+
});
|
|
33
|
+
test('fuzzyScore prefers prefix and dense matches', () => {
|
|
34
|
+
const prefix = fuzzyScore('code', 'code-reviewer');
|
|
35
|
+
const scattered = fuzzyScore('code', 'committed-old-de');
|
|
36
|
+
assert.ok(prefix !== null && scattered !== null);
|
|
37
|
+
assert.ok(prefix < scattered, `expected prefix=${prefix} < scattered=${scattered}`);
|
|
38
|
+
});
|
|
39
|
+
test('rankCandidates surfaces name matches over description matches', () => {
|
|
40
|
+
// Both reviewer ids match by name; "review" doesn't subsequence-match
|
|
41
|
+
// anything else, so the two name matches are the only results and rank
|
|
42
|
+
// by leading-offset (my-reviewer first because "r" appears earlier).
|
|
43
|
+
const ranked = rankCandidates(CANDIDATES, 'review');
|
|
44
|
+
assert.deepEqual(ranked.map((c) => c.id), ['my-reviewer', 'code-reviewer']);
|
|
45
|
+
});
|
|
46
|
+
test('rankCandidates returns empty array when nothing matches', () => {
|
|
47
|
+
assert.deepEqual(rankCandidates(CANDIDATES, 'xxxxxxxx'), []);
|
|
48
|
+
});
|
|
49
|
+
test('rankCandidates returns all candidates with empty query', () => {
|
|
50
|
+
const ranked = rankCandidates(CANDIDATES, ' ');
|
|
51
|
+
assert.equal(ranked.length, CANDIDATES.length);
|
|
52
|
+
});
|
|
53
|
+
test('rankCandidates can match purely from description text', () => {
|
|
54
|
+
const ranked = rankCandidates(CANDIDATES, 'flaky');
|
|
55
|
+
assert.equal(ranked[0].id, 'fix-flaky');
|
|
56
|
+
});
|
|
57
|
+
test('recentCandidates preserves order and drops unknown ids', () => {
|
|
58
|
+
const recents = recentCandidates(CANDIDATES, ['fix-flaky', 'gone-persona', 'code-reviewer', 'my-reviewer'], 3);
|
|
59
|
+
assert.deepEqual(recents.map((c) => c.id), ['fix-flaky', 'code-reviewer', 'my-reviewer']);
|
|
60
|
+
});
|
|
61
|
+
test('nextRecents moves an existing id to the front and caps the list', () => {
|
|
62
|
+
const result = nextRecents(['a', 'b', 'c', 'd', 'e'], 'c', 3);
|
|
63
|
+
assert.deepEqual(result, ['c', 'a', 'b']);
|
|
64
|
+
});
|
|
65
|
+
test('nextRecents prepends a new id', () => {
|
|
66
|
+
assert.deepEqual(nextRecents(['a', 'b'], 'z'), ['z', 'a', 'b']);
|
|
67
|
+
});
|
|
68
|
+
test('parseRecents tolerates garbage input', () => {
|
|
69
|
+
assert.deepEqual(parseRecents('not json'), []);
|
|
70
|
+
assert.deepEqual(parseRecents('null'), []);
|
|
71
|
+
assert.deepEqual(parseRecents('{"ids": "nope"}'), []);
|
|
72
|
+
assert.deepEqual(parseRecents('{"ids": [1, "ok", " ", "ok"]}'), ['ok']);
|
|
73
|
+
});
|
|
74
|
+
test('recordRecent + loadRecents round-trip via the filesystem', () => {
|
|
75
|
+
const dir = mkdtempSync(join(tmpdir(), 'aw-tui-'));
|
|
76
|
+
const path = join(dir, 'nested', 'recents.json');
|
|
77
|
+
try {
|
|
78
|
+
recordRecent('code-reviewer', path);
|
|
79
|
+
recordRecent('fix-flaky', path);
|
|
80
|
+
recordRecent('code-reviewer', path);
|
|
81
|
+
assert.deepEqual(loadRecents(path), ['code-reviewer', 'fix-flaky']);
|
|
82
|
+
const onDisk = JSON.parse(readFileSync(path, 'utf8'));
|
|
83
|
+
assert.equal(onDisk.version, 1);
|
|
84
|
+
assert.deepEqual(onDisk.ids, ['code-reviewer', 'fix-flaky']);
|
|
85
|
+
}
|
|
86
|
+
finally {
|
|
87
|
+
rmSync(dir, { recursive: true, force: true });
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
test('computeTuiView: empty query with resolved recents → recents mode', () => {
|
|
91
|
+
const view = computeTuiView(CANDIDATES, ['fix-flaky', 'code-reviewer'], '');
|
|
92
|
+
assert.equal(view.mode, 'recents');
|
|
93
|
+
assert.deepEqual(view.items.map((c) => c.id), ['fix-flaky', 'code-reviewer']);
|
|
94
|
+
});
|
|
95
|
+
test('computeTuiView: recents pointing only at unknown ids → all mode (regression)', () => {
|
|
96
|
+
// Prior bug: header said "RECENT" because recentIds was non-empty even
|
|
97
|
+
// though every id had been uninstalled/renamed and the full catalog was
|
|
98
|
+
// being shown.
|
|
99
|
+
const view = computeTuiView(CANDIDATES, ['ghost-persona', 'also-gone'], '');
|
|
100
|
+
assert.equal(view.mode, 'all');
|
|
101
|
+
assert.equal(view.items.length, CANDIDATES.length);
|
|
102
|
+
});
|
|
103
|
+
test('computeTuiView: empty query with no recents → all mode', () => {
|
|
104
|
+
const view = computeTuiView(CANDIDATES, [], '');
|
|
105
|
+
assert.equal(view.mode, 'all');
|
|
106
|
+
});
|
|
107
|
+
test('computeTuiView: non-empty query → matches mode', () => {
|
|
108
|
+
const view = computeTuiView(CANDIDATES, ['fix-flaky'], 'review');
|
|
109
|
+
assert.equal(view.mode, 'matches');
|
|
110
|
+
assert.ok(view.items.length > 0);
|
|
111
|
+
assert.ok(view.items.every((c) => c.id.includes('review')));
|
|
112
|
+
});
|
|
113
|
+
test('computeTuiView: matches mode honors visibleCap', () => {
|
|
114
|
+
const view = computeTuiView(CANDIDATES, [], 'e', 2);
|
|
115
|
+
assert.equal(view.mode, 'matches');
|
|
116
|
+
assert.ok(view.items.length <= 2);
|
|
117
|
+
});
|
|
118
|
+
test('loadRecents returns [] when the file is absent or corrupt', () => {
|
|
119
|
+
const dir = mkdtempSync(join(tmpdir(), 'aw-tui-'));
|
|
120
|
+
const path = join(dir, 'recents.json');
|
|
121
|
+
try {
|
|
122
|
+
assert.deepEqual(loadRecents(path), []);
|
|
123
|
+
writeFileSync(path, '{ not json', 'utf8');
|
|
124
|
+
assert.deepEqual(loadRecents(path), []);
|
|
125
|
+
}
|
|
126
|
+
finally {
|
|
127
|
+
rmSync(dir, { recursive: true, force: true });
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
//# sourceMappingURL=persona-tui.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persona-tui.test.js","sourceRoot":"","sources":["../src/persona-tui.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": "2.
|
|
3
|
+
"version": "2.1.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
"@relayburn/sdk": "^2.5.2",
|
|
14
14
|
"@relayfile/local-mount": "^0.7.0",
|
|
15
15
|
"ora": "^9.4.0",
|
|
16
|
-
"@agentworkforce/persona-kit": "2.
|
|
17
|
-
"@agentworkforce/workload-router": "2.
|
|
16
|
+
"@agentworkforce/persona-kit": "2.1.1",
|
|
17
|
+
"@agentworkforce/workload-router": "2.1.1"
|
|
18
18
|
},
|
|
19
19
|
"repository": {
|
|
20
20
|
"type": "git",
|