daedalus-cli 3.5.0 → 3.6.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.
Files changed (66) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +5 -1
  3. package/dist/agents/orchestrator.d.ts +2 -1
  4. package/dist/agents/orchestrator.d.ts.map +1 -1
  5. package/dist/agents/orchestrator.js +9 -4
  6. package/dist/agents/orchestrator.js.map +1 -1
  7. package/dist/agents/orchestrator.test.js +21 -0
  8. package/dist/agents/orchestrator.test.js.map +1 -1
  9. package/dist/commands/agents.js +4 -4
  10. package/dist/commands/agents.js.map +1 -1
  11. package/dist/config/index.d.ts +11 -0
  12. package/dist/config/index.d.ts.map +1 -1
  13. package/dist/config/index.js +3 -0
  14. package/dist/config/index.js.map +1 -1
  15. package/dist/docs.test.js +9 -3
  16. package/dist/docs.test.js.map +1 -1
  17. package/dist/extraction.d.ts.map +1 -1
  18. package/dist/extraction.js +23 -0
  19. package/dist/extraction.js.map +1 -1
  20. package/dist/formatting.d.ts +1 -1
  21. package/dist/formatting.d.ts.map +1 -1
  22. package/dist/formatting.js +55 -21
  23. package/dist/formatting.js.map +1 -1
  24. package/dist/index.test.js +49 -0
  25. package/dist/index.test.js.map +1 -1
  26. package/dist/model.d.ts.map +1 -1
  27. package/dist/model.js +63 -11
  28. package/dist/model.js.map +1 -1
  29. package/dist/model.test.js +28 -0
  30. package/dist/model.test.js.map +1 -1
  31. package/dist/router/complexity.d.ts +23 -0
  32. package/dist/router/complexity.d.ts.map +1 -0
  33. package/dist/router/complexity.js +104 -0
  34. package/dist/router/complexity.js.map +1 -0
  35. package/dist/router/complexity.test.d.ts +2 -0
  36. package/dist/router/complexity.test.d.ts.map +1 -0
  37. package/dist/router/complexity.test.js +130 -0
  38. package/dist/router/complexity.test.js.map +1 -0
  39. package/dist/router/index.d.ts +8 -0
  40. package/dist/router/index.d.ts.map +1 -1
  41. package/dist/router/index.js +34 -4
  42. package/dist/router/index.js.map +1 -1
  43. package/dist/router/index.test.js +59 -0
  44. package/dist/router/index.test.js.map +1 -1
  45. package/dist/router/types.d.ts +2 -0
  46. package/dist/router/types.d.ts.map +1 -1
  47. package/dist/system-prompt.d.ts +1 -1
  48. package/dist/system-prompt.d.ts.map +1 -1
  49. package/dist/system-prompt.js +3 -0
  50. package/dist/system-prompt.js.map +1 -1
  51. package/dist/system-prompt.test.d.ts +2 -0
  52. package/dist/system-prompt.test.d.ts.map +1 -0
  53. package/dist/system-prompt.test.js +13 -0
  54. package/dist/system-prompt.test.js.map +1 -0
  55. package/dist/tools/builtin/delegation.d.ts.map +1 -1
  56. package/dist/tools/builtin/delegation.js +1 -0
  57. package/dist/tools/builtin/delegation.js.map +1 -1
  58. package/dist/tools/builtin/patch-utils.d.ts +2 -0
  59. package/dist/tools/builtin/patch-utils.d.ts.map +1 -1
  60. package/dist/tools/builtin/patch-utils.js +91 -60
  61. package/dist/tools/builtin/patch-utils.js.map +1 -1
  62. package/dist/tools/builtin/patch-utils.test.d.ts +2 -0
  63. package/dist/tools/builtin/patch-utils.test.d.ts.map +1 -0
  64. package/dist/tools/builtin/patch-utils.test.js +33 -0
  65. package/dist/tools/builtin/patch-utils.test.js.map +1 -0
  66. package/package.json +1 -1
package/dist/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
@@ -388,6 +388,34 @@ describe('Tool failure handling', () => {
388
388
  expect(result.content).toBe('done.');
389
389
  delete process.env.DAEDALUS_AUTO_APPROVE;
390
390
  });
391
+ it('classifies task complexity and passes it to the router', async () => {
392
+ process.env.DAEDALUS_AUTO_APPROVE = 'true';
393
+ const chatStreamMock = vi.fn()
394
+ .mockResolvedValueOnce(toolStream('read_file', '{"path":"a.ts"}'))
395
+ .mockResolvedValueOnce(contentStream('done.'));
396
+ const executorMod = await import('./tools/executor.js');
397
+ vi.spyOn(executorMod, 'executeToolCalls').mockResolvedValue([{
398
+ toolCallId: 'call_1',
399
+ name: 'read_file',
400
+ success: true,
401
+ content: 'export const a = 1;',
402
+ }]);
403
+ const { callModelWithTools } = createModelFunctions({
404
+ messages,
405
+ config: { ui: { showTokens: false } },
406
+ router: makeRouter(chatStreamMock),
407
+ toolContext,
408
+ buildFileContext: () => '',
409
+ askLine: vi.fn().mockResolvedValue('y'),
410
+ });
411
+ process.env.DAEDALUS_DEBUG = 'true';
412
+ await callModelWithTools('Refactor the module and implement the new API');
413
+ const firstCall = chatStreamMock.mock.calls[0]?.[0];
414
+ expect(firstCall.complexity).toBe('complex');
415
+ expect(consoleOutput()).toContain('[ROUTE] Task classified as complex');
416
+ delete process.env.DAEDALUS_AUTO_APPROVE;
417
+ delete process.env.DAEDALUS_DEBUG;
418
+ });
391
419
  it('stops after 5 consecutive tool failures', async () => {
392
420
  process.env.DAEDALUS_AUTO_APPROVE = 'true';
393
421
  let callCount = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"model.test.js","sourceRoot":"","sources":["../src/model.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.test.js","sourceRoot":"","sources":["../src/model.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { TaskComplexity } from './types.js';
2
+ export interface ComplexityOptions {
3
+ smallTaskTokens: number;
4
+ largeTaskTokens: number;
5
+ forceComplex?: boolean;
6
+ }
7
+ export declare const DEFAULT_COMPLEXITY_OPTIONS: ComplexityOptions;
8
+ export declare function classifyTaskStart(taskText: string, opts?: Partial<ComplexityOptions>): TaskComplexity;
9
+ export interface TurnSignals {
10
+ completionTokensThisTurn: number;
11
+ writesThisTurn: number;
12
+ toolCallsThisTurn: number;
13
+ failedToolsThisTurn: number;
14
+ toolMentionsThisTurn?: number;
15
+ }
16
+ export interface RoutingState {
17
+ current: TaskComplexity;
18
+ totalCompletionTokens: number;
19
+ trivialTurnStreak: number;
20
+ }
21
+ export declare function rankOf(level: TaskComplexity): number;
22
+ export declare function stepRouting(state: RoutingState, s: TurnSignals): RoutingState;
23
+ //# sourceMappingURL=complexity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complexity.d.ts","sourceRoot":"","sources":["../../src/router/complexity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,0BAA0B,EAAE,iBAGxC,CAAC;AA0DF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,cAAc,CAgBrG;AAED,MAAM,WAAW,WAAW;IAC1B,wBAAwB,EAAE,MAAM,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,cAAc,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAOD,wBAAgB,MAAM,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAEpD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,GAAG,YAAY,CAmB7E"}
@@ -0,0 +1,104 @@
1
+ export const DEFAULT_COMPLEXITY_OPTIONS = {
2
+ smallTaskTokens: 1500,
3
+ largeTaskTokens: 8000,
4
+ };
5
+ const COMPLEX_KEYWORDS = [
6
+ 'refactor',
7
+ 'implement',
8
+ 'architect',
9
+ 'architecture',
10
+ 'feature',
11
+ 'investigate',
12
+ 'migrate',
13
+ 'optimize',
14
+ 'redesign',
15
+ 'overhaul',
16
+ 'integrate',
17
+ 'autopilot',
18
+ 'orchestrate',
19
+ 'troubleshoot',
20
+ 'end-to-end',
21
+ 'comprehensive',
22
+ 'multistep',
23
+ 'debug',
24
+ 'audit',
25
+ 'assess',
26
+ 'assessment',
27
+ 'roadmap',
28
+ 'sprint',
29
+ 'prioritize',
30
+ 'todo list',
31
+ ];
32
+ const SIMPLE_KEYWORDS = [
33
+ 'comma',
34
+ 'typo',
35
+ 'semicolon',
36
+ 'whitespace',
37
+ 'capitalize',
38
+ 'rename',
39
+ 'formatting',
40
+ 'missing comma',
41
+ ];
42
+ const FILE_PATH_RE = /[A-Za-z0-9_./\\-]+\.[a-zA-Z0-9]{1,4}/g;
43
+ function countFilePaths(text) {
44
+ const matches = text.match(FILE_PATH_RE);
45
+ return matches ? new Set(matches).size : 0;
46
+ }
47
+ function estimateTokens(text) {
48
+ return Math.ceil(text.length / 4);
49
+ }
50
+ function countSentenceFragments(text) {
51
+ const trimmed = text.trim();
52
+ if (!trimmed)
53
+ return 0;
54
+ return trimmed.split(/[.!?;]+/).filter(s => s.trim().length > 0).length;
55
+ }
56
+ export function classifyTaskStart(taskText, opts) {
57
+ const options = { ...DEFAULT_COMPLEXITY_OPTIONS, ...opts };
58
+ if (options.forceComplex)
59
+ return 'complex';
60
+ const lower = taskText.toLowerCase();
61
+ const tokenEstimate = estimateTokens(taskText);
62
+ const fileCount = countFilePaths(taskText);
63
+ const complexScore = COMPLEX_KEYWORDS.filter(k => lower.includes(k)).length;
64
+ const simpleScore = SIMPLE_KEYWORDS.filter(k => lower.includes(k)).length;
65
+ if (tokenEstimate >= options.largeTaskTokens)
66
+ return 'complex';
67
+ if (fileCount >= 3)
68
+ return 'complex';
69
+ if (complexScore >= 1)
70
+ return 'complex';
71
+ if (countSentenceFragments(taskText) >= 2)
72
+ return 'complex';
73
+ if (simpleScore > 0 && tokenEstimate <= options.smallTaskTokens)
74
+ return 'simple';
75
+ return 'standard';
76
+ }
77
+ const COMPLEX_OUTPUT_TOKENS = 8000;
78
+ const STANDARD_OUTPUT_TOKENS = 2500;
79
+ const DOWNGRADE_TRIVIAL_TURNS = 3;
80
+ const TRIVIAL_OUTPUT_TOKENS = 500;
81
+ export function rankOf(level) {
82
+ return level === 'simple' ? 0 : level === 'standard' ? 1 : 2;
83
+ }
84
+ export function stepRouting(state, s) {
85
+ const trivial = s.writesThisTurn === 0 && s.failedToolsThisTurn === 0 && s.completionTokensThisTurn <= TRIVIAL_OUTPUT_TOKENS;
86
+ const trivialTurnStreak = trivial ? state.trivialTurnStreak + 1 : 0;
87
+ const totalCompletionTokens = state.totalCompletionTokens + s.completionTokensThisTurn;
88
+ let current = state.current;
89
+ const plannedToolCalls = (s.toolMentionsThisTurn ?? 0) >= 3 && s.toolCallsThisTurn === 0;
90
+ if (current !== 'complex' && (totalCompletionTokens >= COMPLEX_OUTPUT_TOKENS || s.failedToolsThisTurn >= 3 || s.toolCallsThisTurn >= 20 || plannedToolCalls)) {
91
+ current = 'complex';
92
+ }
93
+ else if (current === 'simple' && totalCompletionTokens >= STANDARD_OUTPUT_TOKENS) {
94
+ current = 'standard';
95
+ }
96
+ else if (current !== 'simple' && trivialTurnStreak >= DOWNGRADE_TRIVIAL_TURNS) {
97
+ current = current === 'complex' ? 'standard' : 'simple';
98
+ }
99
+ if (current !== state.current && rankOf(current) < rankOf(state.current)) {
100
+ return { current, totalCompletionTokens: 0, trivialTurnStreak: 0 };
101
+ }
102
+ return { current, totalCompletionTokens, trivialTurnStreak };
103
+ }
104
+ //# sourceMappingURL=complexity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complexity.js","sourceRoot":"","sources":["../../src/router/complexity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=complexity.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complexity.test.d.ts","sourceRoot":"","sources":["../../src/router/complexity.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,130 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { classifyTaskStart, stepRouting } from './complexity.js';
3
+ describe('classifyTaskStart', () => {
4
+ it('classifies a tiny trivial edit as simple', () => {
5
+ expect(classifyTaskStart('add a missing comma to line 5')).toBe('simple');
6
+ expect(classifyTaskStart('fix the typo in the README')).toBe('simple');
7
+ });
8
+ it('classifies a large prompt as complex', () => {
9
+ const big = 'Implement the following feature in full detail. '.repeat(1200);
10
+ expect(classifyTaskStart(big)).toBe('complex');
11
+ });
12
+ it('classifies multi-file work as complex', () => {
13
+ expect(classifyTaskStart('Update src/a.ts, src/b.ts, and src/c.ts to use the new API')).toBe('complex');
14
+ });
15
+ it('classifies prompts with complex keywords as complex', () => {
16
+ expect(classifyTaskStart('Refactor the routing module and implement proper retry logic')).toBe('complex');
17
+ expect(classifyTaskStart('Architect a multi-agent orchestration layer')).toBe('complex');
18
+ });
19
+ it('classifies audit, sprint, and todo-list requests as complex', () => {
20
+ expect(classifyTaskStart('just do an audit of the project and give me a starting point')).toBe('complex');
21
+ expect(classifyTaskStart('go ahead and make a todo list and lets knock those out in sprints')).toBe('complex');
22
+ expect(classifyTaskStart('prioritize the outstanding issues for this sprint')).toBe('complex');
23
+ });
24
+ it('classifies multi-sentence natural phrasing as complex without any keywords', () => {
25
+ expect(classifyTaskStart('Look at the project. Tell me what is wrong. Fix the worst issues.')).toBe('complex');
26
+ expect(classifyTaskStart('this is a mess. can you clean it up for me.')).toBe('complex');
27
+ });
28
+ it('keeps single-sentence natural phrasing on the standard tier', () => {
29
+ expect(classifyTaskStart('make this better')).toBe('standard');
30
+ expect(classifyTaskStart('can you look at this project and tell me what it needs')).toBe('standard');
31
+ });
32
+ it('returns standard for medium-sized ambiguous prompts', () => {
33
+ expect(classifyTaskStart('can you look at this project and tell me what it needs')).toBe('standard');
34
+ });
35
+ it('honors forceComplex', () => {
36
+ expect(classifyTaskStart('add a comma', { forceComplex: true })).toBe('complex');
37
+ });
38
+ it('defaults to standard for short prompts without explicit signals', () => {
39
+ expect(classifyTaskStart('change the port to 3000')).toBe('standard');
40
+ });
41
+ });
42
+ describe('stepRouting', () => {
43
+ const fresh = (current) => ({ current, totalCompletionTokens: 0, trivialTurnStreak: 0 });
44
+ it('upgrades to complex on heavy cumulative output', () => {
45
+ const st = stepRouting(fresh('standard'), { completionTokensThisTurn: 9000, writesThisTurn: 1, toolCallsThisTurn: 3, failedToolsThisTurn: 0 });
46
+ expect(st.current).toBe('complex');
47
+ });
48
+ it('upgrades to complex on repeated tool failures', () => {
49
+ const st = stepRouting(fresh('standard'), { completionTokensThisTurn: 1000, writesThisTurn: 0, toolCallsThisTurn: 2, failedToolsThisTurn: 3 });
50
+ expect(st.current).toBe('complex');
51
+ });
52
+ it('upgrades to complex on a very long tool chain', () => {
53
+ const st = stepRouting(fresh('standard'), { completionTokensThisTurn: 2000, writesThisTurn: 0, toolCallsThisTurn: 25, failedToolsThisTurn: 0 });
54
+ expect(st.current).toBe('complex');
55
+ });
56
+ it('upgrades simple to standard on moderate output', () => {
57
+ const st = stepRouting(fresh('simple'), { completionTokensThisTurn: 3000, writesThisTurn: 0, toolCallsThisTurn: 1, failedToolsThisTurn: 0 });
58
+ expect(st.current).toBe('standard');
59
+ });
60
+ it('keeps current tier when signals are weak', () => {
61
+ const st = stepRouting(fresh('standard'), { completionTokensThisTurn: 800, writesThisTurn: 0, toolCallsThisTurn: 1, failedToolsThisTurn: 0 });
62
+ expect(st.current).toBe('standard');
63
+ });
64
+ it('downgrades complex to standard after enough trivial turns and resets the token ratchet', () => {
65
+ const st = stepRouting({ current: 'complex', totalCompletionTokens: 2000, trivialTurnStreak: 2 }, { completionTokensThisTurn: 100, writesThisTurn: 0, toolCallsThisTurn: 1, failedToolsThisTurn: 0 });
66
+ expect(st.current).toBe('standard');
67
+ expect(st.totalCompletionTokens).toBe(0);
68
+ });
69
+ it('downgrades standard to simple after enough trivial turns', () => {
70
+ const st = stepRouting({ current: 'standard', totalCompletionTokens: 600, trivialTurnStreak: 2 }, { completionTokensThisTurn: 100, writesThisTurn: 0, toolCallsThisTurn: 1, failedToolsThisTurn: 0 });
71
+ expect(st.current).toBe('simple');
72
+ });
73
+ it('does not downgrade below simple', () => {
74
+ const st = stepRouting({ current: 'simple', totalCompletionTokens: 300, trivialTurnStreak: 9 }, { completionTokensThisTurn: 100, writesThisTurn: 0, toolCallsThisTurn: 1, failedToolsThisTurn: 0 });
75
+ expect(st.current).toBe('simple');
76
+ });
77
+ it('holds complex tier on trivial turns before hysteresis threshold', () => {
78
+ const st = stepRouting({ current: 'complex', totalCompletionTokens: 2000, trivialTurnStreak: 1 }, { completionTokensThisTurn: 100, writesThisTurn: 0, toolCallsThisTurn: 1, failedToolsThisTurn: 0 });
79
+ expect(st.current).toBe('complex');
80
+ });
81
+ it('resets the trivial streak when a write occurs', () => {
82
+ const st = stepRouting({ current: 'standard', totalCompletionTokens: 0, trivialTurnStreak: 2 }, { completionTokensThisTurn: 200, writesThisTurn: 1, toolCallsThisTurn: 1, failedToolsThisTurn: 0 });
83
+ expect(st.current).toBe('standard');
84
+ expect(st.trivialTurnStreak).toBe(0);
85
+ });
86
+ it('does not re-upgrade to complex immediately after a downgrade', () => {
87
+ const st = stepRouting({ current: 'complex', totalCompletionTokens: 15857, trivialTurnStreak: 2 }, { completionTokensThisTurn: 100, writesThisTurn: 0, toolCallsThisTurn: 1, failedToolsThisTurn: 0 });
88
+ expect(st.current).toBe('standard');
89
+ expect(st.totalCompletionTokens).toBe(0);
90
+ const next = stepRouting(st, { completionTokensThisTurn: 100, writesThisTurn: 1, toolCallsThisTurn: 1, failedToolsThisTurn: 0 });
91
+ expect(next.current).toBe('standard');
92
+ });
93
+ it('re-upgrades to complex only after significant fresh output post-downgrade', () => {
94
+ let st = stepRouting({ current: 'complex', totalCompletionTokens: 15857, trivialTurnStreak: 2 }, { completionTokensThisTurn: 100, writesThisTurn: 0, toolCallsThisTurn: 1, failedToolsThisTurn: 0 });
95
+ expect(st.current).toBe('standard');
96
+ st = stepRouting(st, { completionTokensThisTurn: 8500, writesThisTurn: 1, toolCallsThisTurn: 5, failedToolsThisTurn: 0 });
97
+ expect(st.current).toBe('complex');
98
+ });
99
+ it('escalates to complex when a weak model narrates a plan but makes no real tool calls', () => {
100
+ const st = stepRouting(fresh('standard'), {
101
+ completionTokensThisTurn: 200,
102
+ writesThisTurn: 0,
103
+ toolCallsThisTurn: 0,
104
+ failedToolsThisTurn: 0,
105
+ toolMentionsThisTurn: 4,
106
+ });
107
+ expect(st.current).toBe('complex');
108
+ });
109
+ it('does not escalate on tool mentions when real tool calls were made', () => {
110
+ const st = stepRouting(fresh('standard'), {
111
+ completionTokensThisTurn: 200,
112
+ writesThisTurn: 0,
113
+ toolCallsThisTurn: 3,
114
+ failedToolsThisTurn: 0,
115
+ toolMentionsThisTurn: 5,
116
+ });
117
+ expect(st.current).toBe('standard');
118
+ });
119
+ it('does not escalate on few tool mentions', () => {
120
+ const st = stepRouting(fresh('standard'), {
121
+ completionTokensThisTurn: 200,
122
+ writesThisTurn: 0,
123
+ toolCallsThisTurn: 0,
124
+ failedToolsThisTurn: 0,
125
+ toolMentionsThisTurn: 2,
126
+ });
127
+ expect(st.current).toBe('standard');
128
+ });
129
+ });
130
+ //# sourceMappingURL=complexity.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complexity.test.js","sourceRoot":"","sources":["../../src/router/complexity.test.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,8 @@ export declare class LocalRouter {
11
11
  private discoveredModels;
12
12
  lastRoutedModel?: string;
13
13
  lastRoutedModelName?: string;
14
+ lastRoutedTier?: string;
15
+ private routeStats;
14
16
  constructor(config: RouterConfig);
15
17
  private initializeRateLimiters;
16
18
  private getOrCreateClient;
@@ -27,6 +29,12 @@ export declare class LocalRouter {
27
29
  private discoverModel;
28
30
  listModels(): Promise<string[]>;
29
31
  getConfig(): RouterConfig;
32
+ getRouteStats(): {
33
+ fast: number;
34
+ standard: number;
35
+ complex: number;
36
+ override: number;
37
+ };
30
38
  updateConfig(config: Partial<RouterConfig>): void;
31
39
  get chat(): {
32
40
  completions: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAA0C,MAAM,aAAa,CAAC;AACvF,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;AAIxD,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,YAAY,CAAgE;IACpF,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,gBAAgB,CAAkC;IACnD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;gBAExB,MAAM,EAAE,YAAY;IAKhC,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,iBAAiB;IAenB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBlC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;YAOzB,eAAe;IAoB7B,gBAAgB,IAAI,UAAU,EAAE;IAIhC,gBAAgB,IAAI,UAAU,EAAE;IAYhC,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAgBnD,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IA2JrF,OAAO,CAAC,cAAc;IAuBhB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IA2D1D,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC;YAoEtD,aAAa;IAmBrB,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAcrC,SAAS,IAAI,YAAY;IAIzB,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;IAgBjD,IAAI,IAAI;;8BAGgB,WAAW;;MAGlC;CACF;AAWD,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,UAAU,GAAG,0BAA0B,EAAE,CAgDjH;AAGD,wBAAgB,YAAY,CAAC,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM,GAAG,WAAW,CAU5E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAA0C,MAAM,aAAa,CAAC;AACvF,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;AAIxD,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,YAAY,CAAgE;IACpF,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,gBAAgB,CAAkC;IACnD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,UAAU,CAAqD;gBAE3D,MAAM,EAAE,YAAY;IAKhC,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,iBAAiB;IAenB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBlC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;YAOzB,eAAe;IAoB7B,gBAAgB,IAAI,UAAU,EAAE;IAIhC,gBAAgB,IAAI,UAAU,EAAE;IAYhC,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAgBnD,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;IAiLrF,OAAO,CAAC,cAAc;IAuBhB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IA4D1D,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC;YAqEtD,aAAa;IAmBrB,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAcrC,SAAS,IAAI,YAAY;IAIzB,aAAa;;;;;;IAIb,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;IAgBjD,IAAI,IAAI;;8BAGgB,WAAW;;MAGlC;CACF;AAWD,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,UAAU,GAAG,0BAA0B,EAAE,CAgDjH;AAGD,wBAAgB,YAAY,CAAC,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM,GAAG,WAAW,CAU5E"}