daedalus-cli 3.28.7 → 3.28.9

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 (43) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/agents/orchestrator-verification.js +1 -1
  3. package/dist/agents/orchestrator-verification.js.map +1 -1
  4. package/dist/agents/orchestrator.d.ts +1 -0
  5. package/dist/agents/orchestrator.d.ts.map +1 -1
  6. package/dist/agents/orchestrator.js +16 -2
  7. package/dist/agents/orchestrator.js.map +1 -1
  8. package/dist/commands/agents-manifest.test.d.ts +2 -0
  9. package/dist/commands/agents-manifest.test.d.ts.map +1 -0
  10. package/dist/commands/agents-manifest.test.js +53 -0
  11. package/dist/commands/agents-manifest.test.js.map +1 -0
  12. package/dist/commands/agents.d.ts +18 -0
  13. package/dist/commands/agents.d.ts.map +1 -1
  14. package/dist/commands/agents.js +202 -156
  15. package/dist/commands/agents.js.map +1 -1
  16. package/dist/commands/config.js +5 -5
  17. package/dist/commands/config.js.map +1 -1
  18. package/dist/commands/context.js +2 -2
  19. package/dist/commands/context.js.map +1 -1
  20. package/dist/commands/index.js +1 -1
  21. package/dist/commands/index.js.map +1 -1
  22. package/dist/commands/spinner.js +2 -2
  23. package/dist/commands/spinner.js.map +1 -1
  24. package/dist/model.js +2 -2
  25. package/dist/model.js.map +1 -1
  26. package/dist/repl.js +1 -1
  27. package/dist/repl.js.map +1 -1
  28. package/dist/tools/builtin/patch-utils.d.ts.map +1 -1
  29. package/dist/tools/builtin/patch-utils.js +1 -0
  30. package/dist/tools/builtin/patch-utils.js.map +1 -1
  31. package/dist/tui/index.js +1 -1
  32. package/dist/tui/index.js.map +1 -1
  33. package/dist/types.d.ts +1 -0
  34. package/dist/types.d.ts.map +1 -1
  35. package/dist/ui/emit.d.ts +6 -0
  36. package/dist/ui/emit.d.ts.map +1 -0
  37. package/dist/ui/emit.js +41 -0
  38. package/dist/ui/emit.js.map +1 -0
  39. package/dist/ui/emit.test.d.ts +2 -0
  40. package/dist/ui/emit.test.d.ts.map +1 -0
  41. package/dist/ui/emit.test.js +108 -0
  42. package/dist/ui/emit.test.js.map +1 -0
  43. package/package.json +1 -1
@@ -0,0 +1,6 @@
1
+ export type Tier = 'info' | 'progress' | 'prompt' | 'warn' | 'error';
2
+ export declare const TOKEN_TIERS: Record<string, Tier>;
3
+ export declare function tierFor(token: string): Tier;
4
+ export declare function emit(token: string, msg?: string, tierOverride?: Tier): void;
5
+ export declare function emitPrompt(token: string, msg?: string): void;
6
+ //# sourceMappingURL=emit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../src/ui/emit.ts"],"names":[],"mappings":"AAeA,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAErE,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAc5C,CAAC;AAUF,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE3C;AAKD,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAK,EAAE,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,CAIvE;AAID,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAK,GAAG,IAAI,CAGxD"}
@@ -0,0 +1,41 @@
1
+ import pc from 'picocolors';
2
+ export const TOKEN_TIERS = {
3
+ // Routine / expected — dim, never an alarm.
4
+ '[RETRY]': 'info',
5
+ '[SELF-CORRECT]': 'info',
6
+ '[RECOVERED]': 'info',
7
+ '[ROUTE]': 'info',
8
+ '[DONE]': 'info',
9
+ '[CHECK]': 'info',
10
+ '[ROLLBACK]': 'info',
11
+ // Non-fatal problem the user should know about.
12
+ '[WARN]': 'warn',
13
+ // Actual failure requiring attention.
14
+ '[ERROR]': 'error',
15
+ '[FAILED]': 'error',
16
+ };
17
+ const RENDER = {
18
+ info: (s) => pc.dim(s),
19
+ progress: (s) => pc.cyan(s),
20
+ prompt: (s) => pc.blue(s),
21
+ warn: (s) => pc.yellow(s),
22
+ error: (s) => pc.red(s),
23
+ };
24
+ export function tierFor(token) {
25
+ return TOKEN_TIERS[token] ?? 'info';
26
+ }
27
+ // Emit a [TOKEN]-prefixed message. The token's tier (and thus its color) is
28
+ // resolved from TOKEN_TIERS; callers never choose a color. `token` may be ''
29
+ // for an unprefixed line.
30
+ export function emit(token, msg = '', tierOverride) {
31
+ const tier = tierOverride ?? tierFor(token);
32
+ const body = token ? `${token} ${msg}` : msg;
33
+ console.log(RENDER[tier](body.trimEnd()));
34
+ }
35
+ // Like emit but writes a prompt the user must answer (blue, no trailing newline
36
+ // so the cursor stays on the same line for their input).
37
+ export function emitPrompt(token, msg = '') {
38
+ const body = token ? `${token} ${msg}` : msg;
39
+ process.stdout.write(pc.blue(body));
40
+ }
41
+ //# sourceMappingURL=emit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emit.js","sourceRoot":"","sources":["../../src/ui/emit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAiB5B,MAAM,CAAC,MAAM,WAAW,GAAyB;IAC/C,4CAA4C;IAC5C,SAAS,EAAE,MAAM;IACjB,gBAAgB,EAAE,MAAM;IACxB,aAAa,EAAE,MAAM;IACrB,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,MAAM;IAChB,SAAS,EAAE,MAAM;IACjB,YAAY,EAAE,MAAM;IACpB,gDAAgD;IAChD,QAAQ,EAAE,MAAM;IAChB,sCAAsC;IACtC,SAAS,EAAE,OAAO;IAClB,UAAU,EAAE,OAAO;CACpB,CAAC;AAEF,MAAM,MAAM,GAAwC;IAClD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACzB,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACzB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACxB,CAAC;AAEF,MAAM,UAAU,OAAO,CAAC,KAAa;IACnC,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC;AACtC,CAAC;AAED,4EAA4E;AAC5E,6EAA6E;AAC7E,0BAA0B;AAC1B,MAAM,UAAU,IAAI,CAAC,KAAa,EAAE,GAAG,GAAG,EAAE,EAAE,YAAmB;IAC/D,MAAM,IAAI,GAAG,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,gFAAgF;AAChF,yDAAyD;AACzD,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,GAAG,GAAG,EAAE;IAChD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=emit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emit.test.d.ts","sourceRoot":"","sources":["../../src/ui/emit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,108 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { TOKEN_TIERS, tierFor, emit, emitPrompt } from './emit.js';
3
+ import { readFileSync, readdirSync, statSync } from 'node:fs';
4
+ import { join, dirname } from 'node:path';
5
+ import { fileURLToPath } from 'node:url';
6
+ const __dirname = dirname(fileURLToPath(import.meta.url));
7
+ const SRC_ROOT = join(__dirname, '..', '..');
8
+ // Walk src/ and collect every non-test source file so we can statically assert
9
+ // that no CURATED token is ever painted in a color that disagrees with
10
+ // TOKEN_TIERS. App-specific section labels ([INFO], [AGENT], [HUNT],
11
+ // [AUTOPILOT], [VERIFY], [TUI], ...) are intentionally NOT in TOKEN_TIERS and
12
+ // are exempt — they keep their own conventions. This test makes the
13
+ // mis-coloring class of bug non-mergeable: a future edit that writes
14
+ // pc.red('[WARN] ...') fails CI.
15
+ function collectTsFiles(dir, acc = []) {
16
+ for (const entry of readdirSync(dir)) {
17
+ if (entry === 'node_modules' || entry === '.git')
18
+ continue;
19
+ const full = join(dir, entry);
20
+ const st = statSync(full);
21
+ if (st.isDirectory())
22
+ collectTsFiles(full, acc);
23
+ else if (entry.endsWith('.ts') && !entry.endsWith('.test.ts'))
24
+ acc.push(full);
25
+ }
26
+ return acc;
27
+ }
28
+ const COLOR_FN = {
29
+ 'pc.dim': 'info',
30
+ 'pc.cyan': 'progress',
31
+ 'pc.blue': 'prompt',
32
+ 'pc.yellow': 'warn',
33
+ 'pc.red': 'error',
34
+ };
35
+ // Matches: pc.<color>( `<text> [TOKEN]` — captures the color, the text before
36
+ // the token (which may itself contain a [TOKEN]), and the final [TOKEN].
37
+ const TOKEN_RE = /(?:pc\.(dim|cyan|blue|yellow|red))\(\s*[`']((?:[^`'"]|\\.)*?)(\[[A-Z ]+\])/g;
38
+ describe('curated token color tiers (contract)', () => {
39
+ const files = collectTsFiles(SRC_ROOT);
40
+ it('finds source files to scan', () => {
41
+ expect(files.length).toBeGreaterThan(20);
42
+ });
43
+ for (const file of files) {
44
+ const src = readFileSync(file, 'utf8');
45
+ const rel = file.replace(SRC_ROOT, 'src');
46
+ it(`respects curated token tiers in ${rel}`, () => {
47
+ const bad = [];
48
+ let m;
49
+ TOKEN_RE.lastIndex = 0;
50
+ while ((m = TOKEN_RE.exec(src)) !== null) {
51
+ const fn = m[1];
52
+ const token = m[3];
53
+ // Only enforce tokens that are part of the calm contract.
54
+ if (!(token in TOKEN_TIERS))
55
+ continue;
56
+ const paintedTier = COLOR_FN[`pc.${fn}`];
57
+ const expectedTier = tierFor(token);
58
+ if (paintedTier !== expectedTier) {
59
+ bad.push(`${fn} -> ${token} (expected ${expectedTier})`);
60
+ }
61
+ }
62
+ expect(bad, `mis-colored curated tokens in ${rel}: ${bad.join(', ')}`).toEqual([]);
63
+ });
64
+ }
65
+ });
66
+ describe('emit', () => {
67
+ it('resolves unknown tokens to info tier (never an alarm)', () => {
68
+ expect(tierFor('[NEWTHING]')).toBe('info');
69
+ });
70
+ it('keeps [WARN] as warn and [ERROR] as error', () => {
71
+ expect(tierFor('[WARN]')).toBe('warn');
72
+ expect(tierFor('[ERROR]')).toBe('error');
73
+ });
74
+ it('maps routine tokens ([RETRY]/[CHECK]/[ROLLBACK]) to info', () => {
75
+ expect(tierFor('[RETRY]')).toBe('info');
76
+ expect(tierFor('[CHECK]')).toBe('info');
77
+ expect(tierFor('[ROLLBACK]')).toBe('info');
78
+ });
79
+ it('emit prints the token + message', () => {
80
+ const out = [];
81
+ const orig = console.log;
82
+ console.log = (s) => out.push(s);
83
+ try {
84
+ emit('[CHECK]', 'verification held');
85
+ }
86
+ finally {
87
+ console.log = orig;
88
+ }
89
+ expect(out[0]).toContain('[CHECK]');
90
+ expect(out[0]).toContain('verification held');
91
+ });
92
+ it('emitPrompt writes the token without a trailing newline', () => {
93
+ const out = [];
94
+ const orig = process.stdout.write.bind(process.stdout);
95
+ process.stdout.write = (s) => {
96
+ out.push(s);
97
+ return true;
98
+ };
99
+ try {
100
+ emitPrompt('[TEST SUITE LOCK]', 'allow? (y/N): ');
101
+ }
102
+ finally {
103
+ process.stdout.write = orig;
104
+ }
105
+ expect(out[0]).toContain('[TEST SUITE LOCK]');
106
+ });
107
+ });
108
+ //# sourceMappingURL=emit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emit.test.js","sourceRoot":"","sources":["../../src/ui/emit.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "daedalus-cli",
3
- "version": "3.28.7",
3
+ "version": "3.28.9",
4
4
  "description": "Local-first AI coding CLI with embedded model router, multi-agent orchestration, and codebase indexing",
5
5
  "type": "module",
6
6
  "bin": {