oroute-cli 0.1.0 → 0.2.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 (72) hide show
  1. package/bin/oroute.cjs +2 -0
  2. package/dist/oroute.cjs +244526 -0
  3. package/package.json +27 -6
  4. package/dist/agent.d.ts +0 -11
  5. package/dist/agent.js +0 -569
  6. package/dist/agent.js.map +0 -1
  7. package/dist/commands.d.ts +0 -24
  8. package/dist/commands.js +0 -173
  9. package/dist/commands.js.map +0 -1
  10. package/dist/context.d.ts +0 -13
  11. package/dist/context.js +0 -110
  12. package/dist/context.js.map +0 -1
  13. package/dist/cost.d.ts +0 -18
  14. package/dist/cost.js +0 -80
  15. package/dist/cost.js.map +0 -1
  16. package/dist/history.d.ts +0 -20
  17. package/dist/history.js +0 -49
  18. package/dist/history.js.map +0 -1
  19. package/dist/hooks.d.ts +0 -13
  20. package/dist/hooks.js +0 -101
  21. package/dist/hooks.js.map +0 -1
  22. package/dist/index.d.ts +0 -2
  23. package/dist/index.js +0 -475
  24. package/dist/index.js.map +0 -1
  25. package/dist/markdown.d.ts +0 -4
  26. package/dist/markdown.js +0 -126
  27. package/dist/markdown.js.map +0 -1
  28. package/dist/memory.d.ts +0 -27
  29. package/dist/memory.js +0 -208
  30. package/dist/memory.js.map +0 -1
  31. package/dist/session.d.ts +0 -43
  32. package/dist/session.js +0 -166
  33. package/dist/session.js.map +0 -1
  34. package/dist/streaming.d.ts +0 -27
  35. package/dist/streaming.js +0 -201
  36. package/dist/streaming.js.map +0 -1
  37. package/dist/tools/editFile.d.ts +0 -34
  38. package/dist/tools/editFile.js +0 -40
  39. package/dist/tools/editFile.js.map +0 -1
  40. package/dist/tools/executeCommand.d.ts +0 -32
  41. package/dist/tools/executeCommand.js +0 -75
  42. package/dist/tools/executeCommand.js.map +0 -1
  43. package/dist/tools/glob.d.ts +0 -24
  44. package/dist/tools/glob.js +0 -128
  45. package/dist/tools/glob.js.map +0 -1
  46. package/dist/tools/index.d.ts +0 -40
  47. package/dist/tools/index.js +0 -28
  48. package/dist/tools/index.js.map +0 -1
  49. package/dist/tools/listDirectory.d.ts +0 -23
  50. package/dist/tools/listDirectory.js +0 -57
  51. package/dist/tools/listDirectory.js.map +0 -1
  52. package/dist/tools/notebook.d.ts +0 -7
  53. package/dist/tools/notebook.js +0 -76
  54. package/dist/tools/notebook.js.map +0 -1
  55. package/dist/tools/readFile.d.ts +0 -28
  56. package/dist/tools/readFile.js +0 -40
  57. package/dist/tools/readFile.js.map +0 -1
  58. package/dist/tools/readImage.d.ts +0 -25
  59. package/dist/tools/readImage.js +0 -52
  60. package/dist/tools/readImage.js.map +0 -1
  61. package/dist/tools/searchFiles.d.ts +0 -33
  62. package/dist/tools/searchFiles.js +0 -95
  63. package/dist/tools/searchFiles.js.map +0 -1
  64. package/dist/tools/writeFile.d.ts +0 -30
  65. package/dist/tools/writeFile.js +0 -54
  66. package/dist/tools/writeFile.js.map +0 -1
  67. package/dist/ui.d.ts +0 -30
  68. package/dist/ui.js +0 -79
  69. package/dist/ui.js.map +0 -1
  70. package/dist/update.d.ts +0 -10
  71. package/dist/update.js +0 -93
  72. package/dist/update.js.map +0 -1
package/dist/agent.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import { type SessionStats } from './cost.js';
2
- interface Message {
3
- role: string;
4
- content: string | Array<{
5
- type: string;
6
- [key: string]: unknown;
7
- }>;
8
- }
9
- interface CommandContext {
10
- messages: Message[];
11
- stats: SessionStats;
12
- model: string;
13
- cwd: string;
14
- apiUrl: string;
15
- apiKey: string;
16
- setModel: (m: string) => void;
17
- setCwd: (d: string) => void;
18
- setMessages: (m: Message[]) => void;
19
- setStats: (s: SessionStats) => void;
20
- }
21
- export type CommandResult = 'handled' | 'exit' | 'not_command';
22
- /** Handle a slash command, returns whether it was handled */
23
- export declare function handleSlashCommand(input: string, ctx: CommandContext): CommandResult;
24
- export {};
package/dist/commands.js DELETED
@@ -1,173 +0,0 @@
1
- /**
2
- * A5: Slash Commands — handle user slash commands in the agent loop.
3
- * B7: Session commands, C5: Memory commands
4
- */
5
- import * as fs from 'node:fs';
6
- import * as path from 'node:path';
7
- import { GREEN, GRAY, BOLD, RESET, WHITE, YELLOW } from './ui.js';
8
- import { printCostSummary } from './cost.js';
9
- import { compressHistory } from './history.js';
10
- import { handleSaveCommand, printSessionList, handleResumeCommand } from './session.js';
11
- import { handleRememberCommand, handleMemoriesCommand, handleForgetCommand } from './memory.js';
12
- /** Known slash commands — anything else starting with / is NOT a command */
13
- const KNOWN_COMMANDS = new Set([
14
- '/help', '/clear', '/compact', '/model', '/cost', '/status',
15
- '/cd', '/exit', '/quit', '/save', '/sessions', '/resume',
16
- '/remember', '/memories', '/forget',
17
- ]);
18
- /** Handle a slash command, returns whether it was handled */
19
- export function handleSlashCommand(input, ctx) {
20
- if (!input.startsWith('/'))
21
- return 'not_command';
22
- const parts = input.split(/\s+/);
23
- const cmd = parts[0].toLowerCase();
24
- const arg = parts.slice(1).join(' ').trim();
25
- // Only treat as command if it's a known slash command
26
- // This prevents paths like /Users/... from being intercepted
27
- if (!KNOWN_COMMANDS.has(cmd))
28
- return 'not_command';
29
- switch (cmd) {
30
- case '/help':
31
- printHelp();
32
- return 'handled';
33
- case '/clear':
34
- ctx.setMessages([]);
35
- console.log(`${GREEN} Conversation cleared.${RESET}`);
36
- return 'handled';
37
- case '/compact': {
38
- const result = compressHistory(ctx.messages);
39
- if (result.compressed) {
40
- ctx.setMessages(result.messages);
41
- console.log(`${GREEN} History compressed: ${ctx.messages.length} messages → ${result.messages.length} messages${RESET}`);
42
- }
43
- else {
44
- console.log(`${GRAY} History is already compact (${ctx.messages.length} messages).${RESET}`);
45
- }
46
- return 'handled';
47
- }
48
- case '/model':
49
- if (arg) {
50
- ctx.setModel(arg);
51
- console.log(`${GREEN} Model set to: ${arg}${RESET}`);
52
- }
53
- else {
54
- console.log(`${WHITE} Current model: ${ctx.model}${RESET}`);
55
- console.log(`${GRAY} Options: auto, anthropic/claude-sonnet-4-6, openai/gpt-4o, google/gemini-2.5-pro, etc.${RESET}`);
56
- }
57
- return 'handled';
58
- case '/cost':
59
- printCostSummary(ctx.stats);
60
- return 'handled';
61
- case '/status':
62
- printStatus(ctx);
63
- return 'handled';
64
- case '/cd':
65
- if (!arg) {
66
- console.log(`${WHITE} Current directory: ${ctx.cwd}${RESET}`);
67
- return 'handled';
68
- }
69
- return handleCd(arg, ctx);
70
- // B7: Session commands
71
- case '/save':
72
- handleSaveCommand(arg, ctx.messages, ctx.stats, ctx.cwd);
73
- return 'handled';
74
- case '/sessions':
75
- printSessionList();
76
- return 'handled';
77
- case '/resume': {
78
- const loaded = handleResumeCommand(arg);
79
- if (loaded) {
80
- ctx.setMessages(loaded.messages);
81
- ctx.setStats(loaded.stats);
82
- if (loaded.cwd !== ctx.cwd && fs.existsSync(loaded.cwd)) {
83
- process.chdir(loaded.cwd);
84
- ctx.setCwd(loaded.cwd);
85
- console.log(`${GRAY} Restored cwd: ${loaded.cwd}${RESET}`);
86
- }
87
- }
88
- return 'handled';
89
- }
90
- // C5: Memory commands
91
- case '/remember':
92
- handleRememberCommand(arg);
93
- return 'handled';
94
- case '/memories':
95
- handleMemoriesCommand();
96
- return 'handled';
97
- case '/forget':
98
- handleForgetCommand(arg);
99
- return 'handled';
100
- case '/exit':
101
- case '/quit':
102
- return 'exit';
103
- default:
104
- console.log(`${YELLOW} Unknown command: ${cmd}. Type /help for available commands.${RESET}`);
105
- return 'handled';
106
- }
107
- }
108
- function printHelp() {
109
- console.log();
110
- console.log(`${BOLD} Available Commands${RESET}`);
111
- console.log(`${GRAY} ${'─'.repeat(40)}${RESET}`);
112
- console.log(`${GREEN} /help${RESET} Show this help`);
113
- console.log(`${GREEN} /clear${RESET} Clear conversation history`);
114
- console.log(`${GREEN} /compact${RESET} Compress conversation history`);
115
- console.log(`${GREEN} /model [name]${RESET} Show or change model`);
116
- console.log(`${GREEN} /cost${RESET} Show session token usage and cost`);
117
- console.log(`${GREEN} /status${RESET} Show current project, model, cwd, API`);
118
- console.log(`${GREEN} /cd [path]${RESET} Change working directory`);
119
- console.log();
120
- console.log(`${BOLD} Session Commands${RESET}`);
121
- console.log(`${GRAY} ${'─'.repeat(40)}${RESET}`);
122
- console.log(`${GREEN} /save [name]${RESET} Save current session`);
123
- console.log(`${GREEN} /sessions${RESET} List saved sessions`);
124
- console.log(`${GREEN} /resume [id]${RESET} Resume a saved session`);
125
- console.log();
126
- console.log(`${BOLD} Memory Commands${RESET}`);
127
- console.log(`${GRAY} ${'─'.repeat(40)}${RESET}`);
128
- console.log(`${GREEN} /remember <text>${RESET} Save a memory`);
129
- console.log(`${GREEN} /memories${RESET} List all memories`);
130
- console.log(`${GREEN} /forget <name>${RESET} Delete a memory`);
131
- console.log();
132
- console.log(`${GREEN} /exit${RESET} Exit CLI`);
133
- console.log();
134
- console.log(`${BOLD} Multi-line Input${RESET}`);
135
- console.log(`${GRAY} Type ${WHITE}"""${GRAY} to start multi-line mode, type ${WHITE}"""${GRAY} again to send.${RESET}`);
136
- console.log();
137
- console.log(`${BOLD} Available Tools${RESET}`);
138
- console.log(`${GRAY} ${'─'.repeat(40)}${RESET}`);
139
- console.log(`${GREEN} read_file${RESET} Read file contents (.ipynb supported)`);
140
- console.log(`${GREEN} write_file${RESET} Create or overwrite files`);
141
- console.log(`${GREEN} edit_file${RESET} Replace text in a file`);
142
- console.log(`${GREEN} list_directory${RESET} List directory tree`);
143
- console.log(`${GREEN} search_files${RESET} Search for text patterns`);
144
- console.log(`${GREEN} execute_command${RESET} Run shell commands`);
145
- console.log(`${GREEN} glob${RESET} Find files by pattern`);
146
- console.log(`${GREEN} read_image${RESET} Read image for analysis`);
147
- console.log();
148
- }
149
- function printStatus(ctx) {
150
- console.log();
151
- console.log(`${BOLD} O'Route Agent Status${RESET}`);
152
- console.log(`${GRAY} ${'─'.repeat(35)}${RESET}`);
153
- console.log(`${WHITE} Model: ${ctx.model}${RESET}`);
154
- console.log(`${WHITE} CWD: ${ctx.cwd}${RESET}`);
155
- console.log(`${WHITE} API: ${ctx.apiUrl}${RESET}`);
156
- console.log(`${WHITE} Key: ${ctx.apiKey.slice(0, 11)}...${RESET}`);
157
- console.log(`${WHITE} Messages: ${ctx.messages.length}${RESET}`);
158
- console.log(`${WHITE} Requests: ${ctx.stats.requests}${RESET}`);
159
- console.log();
160
- }
161
- function handleCd(arg, ctx) {
162
- const newDir = path.resolve(ctx.cwd, arg);
163
- if (fs.existsSync(newDir) && fs.statSync(newDir).isDirectory()) {
164
- process.chdir(newDir);
165
- ctx.setCwd(newDir);
166
- console.log(`${GREEN} Changed to: ${newDir}${RESET}`);
167
- }
168
- else {
169
- console.log(`${YELLOW} Directory not found: ${newDir}${RESET}`);
170
- }
171
- return 'handled';
172
- }
173
- //# sourceMappingURL=commands.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
package/dist/context.d.ts DELETED
@@ -1,13 +0,0 @@
1
- interface ProjectContext {
2
- files: Array<{
3
- name: string;
4
- content: string;
5
- }>;
6
- gitBranch?: string;
7
- gitStatus?: string;
8
- }
9
- /** Load project context from cwd */
10
- export declare function loadProjectContext(cwd: string): ProjectContext;
11
- /** Build context string for system prompt */
12
- export declare function buildContextString(ctx: ProjectContext): string;
13
- export {};
package/dist/context.js DELETED
@@ -1,110 +0,0 @@
1
- /**
2
- * A2: Context Auto-Loading — read project context files and git info.
3
- */
4
- import * as fs from 'node:fs';
5
- import * as path from 'node:path';
6
- import { execSync } from 'node:child_process';
7
- /** Maximum total chars for auto-loaded context */
8
- const MAX_CONTEXT_CHARS = 2000;
9
- /** Read a file safely, return empty string on failure */
10
- function safeReadFile(filePath, maxChars = 800) {
11
- try {
12
- if (!fs.existsSync(filePath))
13
- return '';
14
- const content = fs.readFileSync(filePath, 'utf-8');
15
- return content.length > maxChars ? content.slice(0, maxChars) + '\n...(truncated)' : content;
16
- }
17
- catch {
18
- return '';
19
- }
20
- }
21
- /** Extract relevant keys from package.json */
22
- function extractPackageJson(filePath) {
23
- try {
24
- if (!fs.existsSync(filePath))
25
- return '';
26
- const raw = JSON.parse(fs.readFileSync(filePath, 'utf-8'));
27
- const extracted = {};
28
- for (const key of ['name', 'description', 'scripts', 'dependencies']) {
29
- if (raw[key] !== undefined)
30
- extracted[key] = raw[key];
31
- }
32
- return JSON.stringify(extracted, null, 2);
33
- }
34
- catch {
35
- return '';
36
- }
37
- }
38
- /** Get git branch name */
39
- function getGitBranch(cwd) {
40
- try {
41
- return execSync('git rev-parse --abbrev-ref HEAD 2>/dev/null', { cwd, encoding: 'utf-8' }).trim() || undefined;
42
- }
43
- catch {
44
- return undefined;
45
- }
46
- }
47
- /** Get git status summary */
48
- function getGitStatusSummary(cwd) {
49
- try {
50
- const isGit = execSync('git rev-parse --is-inside-work-tree 2>/dev/null', { cwd, encoding: 'utf-8' }).trim();
51
- if (isGit !== 'true')
52
- return undefined;
53
- const status = execSync('git status --short 2>/dev/null', { cwd, encoding: 'utf-8' }).trim();
54
- if (!status)
55
- return 'clean';
56
- const lines = status.split('\n');
57
- const modified = lines.filter(l => l.startsWith(' M') || l.startsWith('M ')).length;
58
- const added = lines.filter(l => l.startsWith('A ') || l.startsWith('??')).length;
59
- const deleted = lines.filter(l => l.startsWith(' D') || l.startsWith('D ')).length;
60
- const parts = [];
61
- if (modified > 0)
62
- parts.push(`${modified} modified`);
63
- if (added > 0)
64
- parts.push(`${added} untracked/added`);
65
- if (deleted > 0)
66
- parts.push(`${deleted} deleted`);
67
- return parts.join(', ') || 'clean';
68
- }
69
- catch {
70
- return undefined;
71
- }
72
- }
73
- /** Load project context from cwd */
74
- export function loadProjectContext(cwd) {
75
- const contextFiles = [];
76
- // Context file candidates (priority order)
77
- const candidates = [
78
- { name: 'CLAUDE.md', loader: () => safeReadFile(path.join(cwd, 'CLAUDE.md')) },
79
- { name: '.claude/CLAUDE.md', loader: () => safeReadFile(path.join(cwd, '.claude', 'CLAUDE.md')) },
80
- { name: '.oroute.md', loader: () => safeReadFile(path.join(cwd, '.oroute.md')) },
81
- { name: 'package.json', loader: () => extractPackageJson(path.join(cwd, 'package.json')) },
82
- ];
83
- let totalChars = 0;
84
- for (const c of candidates) {
85
- if (totalChars >= MAX_CONTEXT_CHARS)
86
- break;
87
- const content = c.loader();
88
- if (!content)
89
- continue;
90
- const remaining = MAX_CONTEXT_CHARS - totalChars;
91
- const trimmed = content.length > remaining ? content.slice(0, remaining) + '\n...(truncated)' : content;
92
- contextFiles.push({ name: c.name, content: trimmed });
93
- totalChars += trimmed.length;
94
- }
95
- const gitBranch = getGitBranch(cwd);
96
- const gitStatus = getGitStatusSummary(cwd);
97
- return { files: contextFiles, gitBranch, gitStatus };
98
- }
99
- /** Build context string for system prompt */
100
- export function buildContextString(ctx) {
101
- const parts = [];
102
- if (ctx.gitBranch) {
103
- parts.push(`Git branch: ${ctx.gitBranch}${ctx.gitStatus ? `, Status: ${ctx.gitStatus}` : ''}`);
104
- }
105
- for (const f of ctx.files) {
106
- parts.push(`--- ${f.name} ---\n${f.content}`);
107
- }
108
- return parts.join('\n\n');
109
- }
110
- //# sourceMappingURL=context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,kDAAkD;AAClD,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAQ/B,yDAAyD;AACzD,SAAS,YAAY,CAAC,QAAgB,EAAE,QAAQ,GAAG,GAAG;IACpD,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC;IAC/F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,8CAA8C;AAC9C,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3D,MAAM,SAAS,GAA4B,EAAE,CAAC;QAC9C,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,CAAC,EAAE,CAAC;YACrE,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS;gBAAE,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,0BAA0B;AAC1B,SAAS,YAAY,CAAC,GAAW;IAC/B,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,6CAA6C,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;IACjH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,6BAA6B;AAC7B,SAAS,mBAAmB,CAAC,GAAW;IACtC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,QAAQ,CAAC,iDAAiD,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7G,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,SAAS,CAAC;QAEvC,MAAM,MAAM,GAAG,QAAQ,CAAC,gCAAgC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7F,IAAI,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC;QAE5B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QACpF,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QACjF,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QAEnF,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,QAAQ,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,WAAW,CAAC,CAAC;QACrD,IAAI,KAAK,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,kBAAkB,CAAC,CAAC;QACtD,IAAI,OAAO,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,UAAU,CAAC,CAAC;QAClD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,MAAM,YAAY,GAA6C,EAAE,CAAC;IAElE,2CAA2C;IAC3C,MAAM,UAAU,GAAkD;QAChE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE;QAC9E,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,EAAE;QACjG,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,EAAE;QAChF,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE;KAC3F,CAAC;IAEF,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,UAAU,IAAI,iBAAiB;YAAE,MAAM;QAC3C,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,MAAM,SAAS,GAAG,iBAAiB,GAAG,UAAU,CAAC;QACjD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC;QACxG,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACtD,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAE3C,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AACvD,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,kBAAkB,CAAC,GAAmB;IACpD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC"}
package/dist/cost.d.ts DELETED
@@ -1,18 +0,0 @@
1
- export interface SessionStats {
2
- inputTokens: number;
3
- outputTokens: number;
4
- requests: number;
5
- startTime: number;
6
- providerCounts: Record<string, number>;
7
- }
8
- export declare function createSessionStats(): SessionStats;
9
- export declare function updateStats(stats: SessionStats, usage: {
10
- input_tokens: number;
11
- output_tokens: number;
12
- }, provider?: string): SessionStats;
13
- /** Estimate cost in USD */
14
- export declare function estimateCost(stats: SessionStats): number;
15
- /** Print cost summary for /cost command */
16
- export declare function printCostSummary(stats: SessionStats): void;
17
- /** Print brief cost on exit */
18
- export declare function printExitSummary(stats: SessionStats): void;
package/dist/cost.js DELETED
@@ -1,80 +0,0 @@
1
- /**
2
- * B6: Cost Tracking — track session usage and estimate costs.
3
- */
4
- import { GREEN, GRAY, BOLD, DIM, RESET, WHITE } from './ui.js';
5
- /** Per-million-token pricing by provider (approximate USD) */
6
- const PRICING = {
7
- 'anthropic': { input: 3.0, output: 15.0 },
8
- 'openai': { input: 2.5, output: 10.0 },
9
- 'google': { input: 1.25, output: 5.0 },
10
- 'qwen': { input: 0.5, output: 1.5 },
11
- 'deepseek': { input: 0.27, output: 1.1 },
12
- 'default': { input: 2.0, output: 8.0 },
13
- };
14
- export function createSessionStats() {
15
- return {
16
- inputTokens: 0,
17
- outputTokens: 0,
18
- requests: 0,
19
- startTime: Date.now(),
20
- providerCounts: {},
21
- };
22
- }
23
- export function updateStats(stats, usage, provider) {
24
- const providerKey = provider ?? 'default';
25
- const newProviderCounts = { ...stats.providerCounts };
26
- newProviderCounts[providerKey] = (newProviderCounts[providerKey] ?? 0) + 1;
27
- return {
28
- ...stats,
29
- inputTokens: stats.inputTokens + usage.input_tokens,
30
- outputTokens: stats.outputTokens + usage.output_tokens,
31
- requests: stats.requests + 1,
32
- startTime: stats.startTime,
33
- providerCounts: newProviderCounts,
34
- };
35
- }
36
- /** Estimate cost in USD */
37
- export function estimateCost(stats) {
38
- // Use default pricing (approximation)
39
- const pricing = PRICING['default'];
40
- const inputCost = (stats.inputTokens / 1_000_000) * pricing.input;
41
- const outputCost = (stats.outputTokens / 1_000_000) * pricing.output;
42
- return inputCost + outputCost;
43
- }
44
- /** Format duration in human-readable */
45
- function formatDuration(ms) {
46
- const seconds = Math.floor(ms / 1000);
47
- if (seconds < 60)
48
- return `${seconds}s`;
49
- const minutes = Math.floor(seconds / 60);
50
- const secs = seconds % 60;
51
- return `${minutes}m ${secs}s`;
52
- }
53
- /** Print cost summary for /cost command */
54
- export function printCostSummary(stats) {
55
- const cost = estimateCost(stats);
56
- const duration = formatDuration(Date.now() - stats.startTime);
57
- console.log();
58
- console.log(`${BOLD} Session Cost Summary${RESET}`);
59
- console.log(`${GRAY} ${'─'.repeat(35)}${RESET}`);
60
- console.log(`${WHITE} Requests: ${stats.requests}${RESET}`);
61
- console.log(`${WHITE} Input tokens: ${stats.inputTokens.toLocaleString()}${RESET}`);
62
- console.log(`${WHITE} Output tokens: ${stats.outputTokens.toLocaleString()}${RESET}`);
63
- console.log(`${WHITE} Total tokens: ${(stats.inputTokens + stats.outputTokens).toLocaleString()}${RESET}`);
64
- console.log(`${GREEN} Est. cost: $${cost.toFixed(4)}${RESET}`);
65
- console.log(`${GRAY} Duration: ${duration}${RESET}`);
66
- const providers = Object.entries(stats.providerCounts);
67
- if (providers.length > 0) {
68
- console.log(`${GRAY} Providers: ${providers.map(([p, c]) => `${p}(${c})`).join(', ')}${RESET}`);
69
- }
70
- console.log();
71
- }
72
- /** Print brief cost on exit */
73
- export function printExitSummary(stats) {
74
- if (stats.requests === 0)
75
- return;
76
- const cost = estimateCost(stats);
77
- const duration = formatDuration(Date.now() - stats.startTime);
78
- console.log(`${DIM} Session: ${stats.requests} requests, ${(stats.inputTokens + stats.outputTokens).toLocaleString()} tokens, ~$${cost.toFixed(4)}, ${duration}${RESET}`);
79
- }
80
- //# sourceMappingURL=cost.js.map
package/dist/cost.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cost.js","sourceRoot":"","sources":["../src/cost.ts"],"names":[],"mappings":"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"}
package/dist/history.d.ts DELETED
@@ -1,20 +0,0 @@
1
- /**
2
- * A4: History Compression — summarize old messages to stay within token limits.
3
- */
4
- interface Message {
5
- role: string;
6
- content: string | Array<{
7
- type: string;
8
- [key: string]: unknown;
9
- }>;
10
- }
11
- /** Approximate token count from message content */
12
- export declare function estimateTokens(messages: Message[]): number;
13
- /** Token threshold above which we compress */
14
- export declare const TOKEN_THRESHOLD = 6000;
15
- /** Compress conversation history by summarizing old messages */
16
- export declare function compressHistory(messages: Message[]): {
17
- messages: Message[];
18
- compressed: boolean;
19
- };
20
- export {};
package/dist/history.js DELETED
@@ -1,49 +0,0 @@
1
- /**
2
- * A4: History Compression — summarize old messages to stay within token limits.
3
- */
4
- /** Approximate token count from message content */
5
- export function estimateTokens(messages) {
6
- return messages.reduce((sum, m) => {
7
- const contentStr = typeof m.content === 'string' ? m.content : JSON.stringify(m.content);
8
- return sum + Math.ceil(contentStr.length / 4);
9
- }, 0);
10
- }
11
- /** Token threshold above which we compress */
12
- export const TOKEN_THRESHOLD = 6000;
13
- /** Number of recent messages to always keep */
14
- const KEEP_RECENT = 4;
15
- /** Compress conversation history by summarizing old messages */
16
- export function compressHistory(messages) {
17
- if (messages.length <= KEEP_RECENT + 1) {
18
- return { messages, compressed: false };
19
- }
20
- const estimated = estimateTokens(messages);
21
- if (estimated <= TOKEN_THRESHOLD) {
22
- return { messages, compressed: false };
23
- }
24
- // Keep the last KEEP_RECENT messages
25
- const recentMessages = messages.slice(-KEEP_RECENT);
26
- const oldMessages = messages.slice(0, -KEEP_RECENT);
27
- // Build a summary of old messages
28
- const summaryParts = [];
29
- for (const msg of oldMessages) {
30
- const contentStr = typeof msg.content === 'string'
31
- ? msg.content
32
- : JSON.stringify(msg.content);
33
- // Truncate individual messages in summary
34
- const truncated = contentStr.length > 200
35
- ? contentStr.slice(0, 200) + '...'
36
- : contentStr;
37
- summaryParts.push(`[${msg.role}]: ${truncated}`);
38
- }
39
- const summary = summaryParts.join('\n');
40
- const summaryMessage = {
41
- role: 'user',
42
- content: `[Previous context summary — ${oldMessages.length} messages compressed]:\n${summary}`,
43
- };
44
- return {
45
- messages: [summaryMessage, ...recentMessages],
46
- compressed: true,
47
- };
48
- }
49
- //# sourceMappingURL=history.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,mDAAmD;AACnD,MAAM,UAAU,cAAc,CAAC,QAAmB;IAChD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAChC,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACzF,OAAO,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,CAAC;AAED,8CAA8C;AAC9C,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAEpC,+CAA+C;AAC/C,MAAM,WAAW,GAAG,CAAC,CAAC;AAEtB,gEAAgE;AAChE,MAAM,UAAU,eAAe,CAAC,QAAmB;IACjD,IAAI,QAAQ,CAAC,MAAM,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,SAAS,IAAI,eAAe,EAAE,CAAC;QACjC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACzC,CAAC;IAED,qCAAqC;IACrC,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;IAEpD,kCAAkC;IAClC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;YAChD,CAAC,CAAC,GAAG,CAAC,OAAO;YACb,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEhC,0CAA0C;QAC1C,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,GAAG,GAAG;YACvC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK;YAClC,CAAC,CAAC,UAAU,CAAC;QAEf,YAAY,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,MAAM,SAAS,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,cAAc,GAAY;QAC9B,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,+BAA+B,WAAW,CAAC,MAAM,2BAA2B,OAAO,EAAE;KAC/F,CAAC;IAEF,OAAO;QACL,QAAQ,EAAE,CAAC,cAAc,EAAE,GAAG,cAAc,CAAC;QAC7C,UAAU,EAAE,IAAI;KACjB,CAAC;AACJ,CAAC"}
package/dist/hooks.d.ts DELETED
@@ -1,13 +0,0 @@
1
- interface Hook {
2
- matcher: string;
3
- command: string;
4
- }
5
- interface HooksConfig {
6
- PreToolUse?: Hook[];
7
- PostToolUse?: Hook[];
8
- }
9
- /** Load hooks configuration from .oroute/hooks.json or .claude/settings.json */
10
- export declare function loadHooks(cwd: string): HooksConfig;
11
- /** Run matching hooks for a given phase and tool */
12
- export declare function runHooks(phase: 'PreToolUse' | 'PostToolUse', hooks: HooksConfig, toolName: string, toolInput: Record<string, unknown>, cwd: string): boolean;
13
- export {};