kaze-cli 2.0.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 (91) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +224 -0
  3. package/dist/api/client.d.ts +15 -0
  4. package/dist/api/client.d.ts.map +1 -0
  5. package/dist/api/client.js +129 -0
  6. package/dist/api/client.js.map +1 -0
  7. package/dist/api/universal-client.d.ts +36 -0
  8. package/dist/api/universal-client.d.ts.map +1 -0
  9. package/dist/api/universal-client.js +184 -0
  10. package/dist/api/universal-client.js.map +1 -0
  11. package/dist/cli/config-command.d.ts +29 -0
  12. package/dist/cli/config-command.d.ts.map +1 -0
  13. package/dist/cli/config-command.js +458 -0
  14. package/dist/cli/config-command.js.map +1 -0
  15. package/dist/cli/repl.d.ts +98 -0
  16. package/dist/cli/repl.d.ts.map +1 -0
  17. package/dist/cli/repl.js +1782 -0
  18. package/dist/cli/repl.js.map +1 -0
  19. package/dist/config/interactive-setup.d.ts +26 -0
  20. package/dist/config/interactive-setup.d.ts.map +1 -0
  21. package/dist/config/interactive-setup.js +308 -0
  22. package/dist/config/interactive-setup.js.map +1 -0
  23. package/dist/config/manager.d.ts +125 -0
  24. package/dist/config/manager.d.ts.map +1 -0
  25. package/dist/config/manager.js +240 -0
  26. package/dist/config/manager.js.map +1 -0
  27. package/dist/config/setup.d.ts +29 -0
  28. package/dist/config/setup.d.ts.map +1 -0
  29. package/dist/config/setup.js +442 -0
  30. package/dist/config/setup.js.map +1 -0
  31. package/dist/context/memory.d.ts +65 -0
  32. package/dist/context/memory.d.ts.map +1 -0
  33. package/dist/context/memory.js +215 -0
  34. package/dist/context/memory.js.map +1 -0
  35. package/dist/index.d.ts +2 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +207 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/mcp/client.d.ts +38 -0
  40. package/dist/mcp/client.d.ts.map +1 -0
  41. package/dist/mcp/client.js +288 -0
  42. package/dist/mcp/client.js.map +1 -0
  43. package/dist/mcp/manager.d.ts +43 -0
  44. package/dist/mcp/manager.d.ts.map +1 -0
  45. package/dist/mcp/manager.js +230 -0
  46. package/dist/mcp/manager.js.map +1 -0
  47. package/dist/mcp/types.d.ts +106 -0
  48. package/dist/mcp/types.d.ts.map +1 -0
  49. package/dist/mcp/types.js +3 -0
  50. package/dist/mcp/types.js.map +1 -0
  51. package/dist/personality/manager.d.ts +24 -0
  52. package/dist/personality/manager.d.ts.map +1 -0
  53. package/dist/personality/manager.js +217 -0
  54. package/dist/personality/manager.js.map +1 -0
  55. package/dist/tools/codebase.d.ts +34 -0
  56. package/dist/tools/codebase.d.ts.map +1 -0
  57. package/dist/tools/codebase.js +291 -0
  58. package/dist/tools/codebase.js.map +1 -0
  59. package/dist/tools/filesystem.d.ts +41 -0
  60. package/dist/tools/filesystem.d.ts.map +1 -0
  61. package/dist/tools/filesystem.js +263 -0
  62. package/dist/tools/filesystem.js.map +1 -0
  63. package/dist/tools/terminal.d.ts +30 -0
  64. package/dist/tools/terminal.d.ts.map +1 -0
  65. package/dist/tools/terminal.js +217 -0
  66. package/dist/tools/terminal.js.map +1 -0
  67. package/dist/tools/todo.d.ts +58 -0
  68. package/dist/tools/todo.d.ts.map +1 -0
  69. package/dist/tools/todo.js +233 -0
  70. package/dist/tools/todo.js.map +1 -0
  71. package/dist/types/index.d.ts +104 -0
  72. package/dist/types/index.d.ts.map +1 -0
  73. package/dist/types/index.js +3 -0
  74. package/dist/types/index.js.map +1 -0
  75. package/dist/types/personality.d.ts +21 -0
  76. package/dist/types/personality.d.ts.map +1 -0
  77. package/dist/types/personality.js +3 -0
  78. package/dist/types/personality.js.map +1 -0
  79. package/dist/ui/logger.d.ts +76 -0
  80. package/dist/ui/logger.d.ts.map +1 -0
  81. package/dist/ui/logger.js +488 -0
  82. package/dist/ui/logger.js.map +1 -0
  83. package/dist/ui/renderer.d.ts +52 -0
  84. package/dist/ui/renderer.d.ts.map +1 -0
  85. package/dist/ui/renderer.js +294 -0
  86. package/dist/ui/renderer.js.map +1 -0
  87. package/dist/ui/tui.d.ts +53 -0
  88. package/dist/ui/tui.d.ts.map +1 -0
  89. package/dist/ui/tui.js +131 -0
  90. package/dist/ui/tui.js.map +1 -0
  91. package/package.json +70 -0
@@ -0,0 +1,30 @@
1
+ export interface CommandResult {
2
+ stdout: string;
3
+ stderr: string;
4
+ exitCode: number | null;
5
+ pid: number;
6
+ }
7
+ export interface CommandOptions {
8
+ cwd?: string;
9
+ env?: Record<string, string>;
10
+ timeout?: number;
11
+ captureOutput?: boolean;
12
+ }
13
+ export declare class TerminalManager {
14
+ private activeProcesses;
15
+ private processCounter;
16
+ executeCommand(command: string, args?: string[], options?: CommandOptions): Promise<CommandResult>;
17
+ executeCommandStream(command: string, args: string[] | undefined, options: CommandOptions | undefined, onData: (data: string, isStderr: boolean) => void): Promise<CommandResult>;
18
+ spawnLongRunningProcess(command: string, args?: string[], options?: CommandOptions, onData?: (data: string, isStderr: boolean) => void): Promise<string>;
19
+ stopProcess(processId: string): Promise<boolean>;
20
+ stopAllProcesses(): void;
21
+ getActiveProcesses(): string[];
22
+ isProcessRunning(processId: string): boolean;
23
+ private generateProcessId;
24
+ checkCommandExists(command: string): Promise<boolean>;
25
+ parseCommandString(commandStr: string): {
26
+ command: string;
27
+ args: string[];
28
+ };
29
+ }
30
+ //# sourceMappingURL=terminal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../src/tools/terminal.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;CACb;AACD,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AACD,qBAAa,eAAe;IAC1B,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,cAAc,CAAK;IACrB,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC;IA6CnB,oBAAoB,CACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,YAAK,EACnB,OAAO,EAAE,cAAc,YAAK,EAC5B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,GAChD,OAAO,CAAC,aAAa,CAAC;IAoDnB,uBAAuB,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,GAAE,cAAmB,EAC5B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,GACjD,OAAO,CAAC,MAAM,CAAC;IA0BlB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoBhD,gBAAgB,IAAI,IAAI;IAMxB,kBAAkB,IAAI,MAAM,EAAE;IAG9B,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI5C,OAAO,CAAC,iBAAiB;IAGnB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAa3D,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE;CAM5E"}
@@ -0,0 +1,217 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.TerminalManager = void 0;
37
+ const child_process_1 = require("child_process");
38
+ const path = __importStar(require("path"));
39
+ class TerminalManager {
40
+ activeProcesses = new Map();
41
+ processCounter = 0;
42
+ async executeCommand(command, args = [], options = {}) {
43
+ return new Promise((resolve, reject) => {
44
+ const { cwd = process.cwd(), env = process.env, timeout = 300000 } = options;
45
+ const stdout = [];
46
+ const stderr = [];
47
+ const child = (0, child_process_1.spawn)(command, args, {
48
+ cwd: path.resolve(cwd),
49
+ env: { ...env },
50
+ shell: true
51
+ });
52
+ const pid = child.pid;
53
+ if (options.captureOutput !== false) {
54
+ child.stdout?.on('data', (data) => {
55
+ stdout.push(data.toString());
56
+ });
57
+ child.stderr?.on('data', (data) => {
58
+ stderr.push(data.toString());
59
+ });
60
+ }
61
+ let timeoutHandle;
62
+ if (timeout) {
63
+ timeoutHandle = setTimeout(() => {
64
+ child.kill('SIGTERM');
65
+ reject(new Error(`Command timed out after ${timeout}ms`));
66
+ }, timeout);
67
+ }
68
+ child.on('close', (code) => {
69
+ if (timeoutHandle)
70
+ clearTimeout(timeoutHandle);
71
+ resolve({
72
+ stdout: stdout.join(''),
73
+ stderr: stderr.join(''),
74
+ exitCode: code,
75
+ pid: pid || -1
76
+ });
77
+ });
78
+ child.on('error', (error) => {
79
+ if (timeoutHandle)
80
+ clearTimeout(timeoutHandle);
81
+ reject(error);
82
+ });
83
+ });
84
+ }
85
+ async executeCommandStream(command, args = [], options = {}, onData) {
86
+ return new Promise((resolve, reject) => {
87
+ const { cwd = process.cwd(), env = process.env, timeout = 300000 } = options;
88
+ const stdout = [];
89
+ const stderr = [];
90
+ const child = (0, child_process_1.spawn)(command, args, {
91
+ cwd: path.resolve(cwd),
92
+ env: { ...env },
93
+ shell: true
94
+ });
95
+ const pid = child.pid;
96
+ const processId = this.generateProcessId();
97
+ this.activeProcesses.set(processId, child);
98
+ child.stdout?.on('data', (data) => {
99
+ const output = data.toString();
100
+ stdout.push(output);
101
+ onData(output, false);
102
+ });
103
+ child.stderr?.on('data', (data) => {
104
+ const output = data.toString();
105
+ stderr.push(output);
106
+ onData(output, true);
107
+ });
108
+ let timeoutHandle;
109
+ if (timeout) {
110
+ timeoutHandle = setTimeout(() => {
111
+ child.kill('SIGTERM');
112
+ this.activeProcesses.delete(processId);
113
+ reject(new Error(`Command timed out after ${timeout}ms`));
114
+ }, timeout);
115
+ }
116
+ child.on('close', (code) => {
117
+ if (timeoutHandle)
118
+ clearTimeout(timeoutHandle);
119
+ this.activeProcesses.delete(processId);
120
+ resolve({
121
+ stdout: stdout.join(''),
122
+ stderr: stderr.join(''),
123
+ exitCode: code,
124
+ pid: pid || -1
125
+ });
126
+ });
127
+ child.on('error', (error) => {
128
+ if (timeoutHandle)
129
+ clearTimeout(timeoutHandle);
130
+ this.activeProcesses.delete(processId);
131
+ reject(error);
132
+ });
133
+ });
134
+ }
135
+ async spawnLongRunningProcess(command, args = [], options = {}, onData) {
136
+ const processId = this.generateProcessId();
137
+ const { cwd = process.cwd(), env = process.env } = options;
138
+ const child = (0, child_process_1.spawn)(command, args, {
139
+ cwd: path.resolve(cwd),
140
+ env: { ...env },
141
+ shell: true,
142
+ detached: false
143
+ });
144
+ if (onData) {
145
+ child.stdout?.on('data', (data) => {
146
+ onData(data.toString(), false);
147
+ });
148
+ child.stderr?.on('data', (data) => {
149
+ onData(data.toString(), true);
150
+ });
151
+ }
152
+ child.on('error', (error) => {
153
+ console.error(`Process error: ${error.message}`);
154
+ });
155
+ this.activeProcesses.set(processId, child);
156
+ return processId;
157
+ }
158
+ stopProcess(processId) {
159
+ return new Promise((resolve) => {
160
+ const process = this.activeProcesses.get(processId);
161
+ if (!process) {
162
+ resolve(false);
163
+ return;
164
+ }
165
+ process.kill('SIGTERM');
166
+ const timeout = setTimeout(() => {
167
+ process.kill('SIGKILL');
168
+ this.activeProcesses.delete(processId);
169
+ resolve(true);
170
+ }, 5000);
171
+ process.on('exit', () => {
172
+ clearTimeout(timeout);
173
+ this.activeProcesses.delete(processId);
174
+ resolve(true);
175
+ });
176
+ });
177
+ }
178
+ stopAllProcesses() {
179
+ this.activeProcesses.forEach((process, id) => {
180
+ process.kill('SIGTERM');
181
+ this.activeProcesses.delete(id);
182
+ });
183
+ }
184
+ getActiveProcesses() {
185
+ return Array.from(this.activeProcesses.keys());
186
+ }
187
+ isProcessRunning(processId) {
188
+ const process = this.activeProcesses.get(processId);
189
+ return process !== undefined;
190
+ }
191
+ generateProcessId() {
192
+ return `proc_${++this.processCounter}_${Date.now()}`;
193
+ }
194
+ async checkCommandExists(command) {
195
+ try {
196
+ await this.executeCommand('which', [command], { captureOutput: true });
197
+ return true;
198
+ }
199
+ catch {
200
+ try {
201
+ await this.executeCommand('where', [command], { captureOutput: true });
202
+ return true;
203
+ }
204
+ catch {
205
+ return false;
206
+ }
207
+ }
208
+ }
209
+ parseCommandString(commandStr) {
210
+ const parts = commandStr.match(/(?:[^\s"]+|"[^"]*")+/g) || [];
211
+ const command = parts[0] || '';
212
+ const args = parts.slice(1).map(arg => arg.replace(/^"|"$/g, ''));
213
+ return { command, args };
214
+ }
215
+ }
216
+ exports.TerminalManager = TerminalManager;
217
+ //# sourceMappingURL=terminal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/tools/terminal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ export interface TodoItem {
2
+ id: string;
3
+ content: string;
4
+ status: 'pending' | 'in_progress' | 'completed';
5
+ priority: 'high' | 'medium' | 'low';
6
+ createdAt: number;
7
+ completedAt?: number;
8
+ subtasks?: TodoItem[];
9
+ dependencies?: string[];
10
+ notes?: string;
11
+ }
12
+ export interface TodoList {
13
+ items: Map<string, TodoItem>;
14
+ rootItems: string[];
15
+ }
16
+ export declare class TodoManager {
17
+ private todoList;
18
+ private currentTaskId;
19
+ constructor();
20
+ addTodo(content: string, priority?: TodoItem['priority'], parentId?: string): string;
21
+ updateTodo(id: string, updates: Partial<Omit<TodoItem, 'id' | 'createdAt' | 'subtasks'>>): boolean;
22
+ deleteTodo(id: string): boolean;
23
+ setTodoStatus(id: string, status: TodoItem['status']): boolean;
24
+ setPriority(id: string, priority: TodoItem['priority']): boolean;
25
+ setCurrentTask(id: string | null): void;
26
+ getCurrentTask(): TodoItem | null;
27
+ clearCurrentTask(): void;
28
+ addDependency(todoId: string, dependsOnId: string): boolean;
29
+ removeDependency(todoId: string, dependsOnId: string): boolean;
30
+ getDependencies(todoId: string): TodoItem[];
31
+ getDependents(todoId: string): TodoItem[];
32
+ addNote(todoId: string, note: string): boolean;
33
+ getTodo(id: string): TodoItem | undefined;
34
+ getAllTodos(): TodoItem[];
35
+ getTodosByStatus(status: TodoItem['status']): TodoItem[];
36
+ getTodosByPriority(priority: TodoItem['priority']): TodoItem[];
37
+ getRootTodos(): TodoItem[];
38
+ getTodoTree(): TodoItem[];
39
+ getCompletedCount(): number;
40
+ getPendingCount(): number;
41
+ getInProgressCount(): number;
42
+ getTotalCount(): number;
43
+ getCompletionPercentage(): number;
44
+ clearAll(): void;
45
+ clearCompleted(): void;
46
+ importTodos(todos: TodoItem[]): void;
47
+ exportTodos(): TodoItem[];
48
+ getSummary(): {
49
+ total: number;
50
+ completed: number;
51
+ inProgress: number;
52
+ pending: number;
53
+ completionPercentage: number;
54
+ currentTask: TodoItem | null;
55
+ };
56
+ private generateId;
57
+ }
58
+ //# sourceMappingURL=todo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todo.d.ts","sourceRoot":"","sources":["../../src/tools/todo.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,CAAC;IAChD,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7B,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AACD,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,aAAa,CAAuB;;IAO5C,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAQ,CAAC,UAAU,CAAY,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;IAuB9F,UAAU,CACR,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,WAAW,GAAG,UAAU,CAAC,CAAC,GAChE,OAAO;IASV,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAe/B,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO;IAW9D,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,OAAO;IAMhE,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAYvC,cAAc,IAAI,QAAQ,GAAG,IAAI;IAIjC,gBAAgB,IAAI,IAAI;IASxB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAY3D,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAM9D,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE;IAO3C,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE;IAIzC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAU9C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAGzC,WAAW,IAAI,QAAQ,EAAE;IAGzB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,EAAE;IAIxD,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,QAAQ,EAAE;IAI9D,YAAY,IAAI,QAAQ,EAAE;IAS1B,WAAW,IAAI,QAAQ,EAAE;IAGzB,iBAAiB,IAAI,MAAM;IAG3B,eAAe,IAAI,MAAM;IAGzB,kBAAkB,IAAI,MAAM;IAG5B,aAAa,IAAI,MAAM;IAGvB,uBAAuB,IAAI,MAAM;IAKjC,QAAQ,IAAI,IAAI;IAKhB,cAAc,IAAI,IAAI;IAItB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI;IASpC,WAAW,IAAI,QAAQ,EAAE;IAGzB,UAAU,IAAI;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,WAAW,EAAE,QAAQ,GAAG,IAAI,CAAC;KAC9B;IAUD,OAAO,CAAC,UAAU;CAGnB"}
@@ -0,0 +1,233 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TodoManager = void 0;
4
+ class TodoManager {
5
+ todoList;
6
+ currentTaskId = null;
7
+ constructor() {
8
+ this.todoList = {
9
+ items: new Map(),
10
+ rootItems: []
11
+ };
12
+ }
13
+ addTodo(content, priority = 'medium', parentId) {
14
+ const id = this.generateId();
15
+ const todo = {
16
+ id,
17
+ content,
18
+ status: 'pending',
19
+ priority,
20
+ createdAt: Date.now()
21
+ };
22
+ this.todoList.items.set(id, todo);
23
+ if (parentId) {
24
+ const parent = this.todoList.items.get(parentId);
25
+ if (parent) {
26
+ if (!parent.subtasks) {
27
+ parent.subtasks = [];
28
+ }
29
+ parent.subtasks.push(todo);
30
+ }
31
+ }
32
+ else {
33
+ this.todoList.rootItems.push(id);
34
+ }
35
+ return id;
36
+ }
37
+ updateTodo(id, updates) {
38
+ const todo = this.todoList.items.get(id);
39
+ if (!todo)
40
+ return false;
41
+ Object.assign(todo, updates);
42
+ if (updates.status === 'completed' && !todo.completedAt) {
43
+ todo.completedAt = Date.now();
44
+ }
45
+ return true;
46
+ }
47
+ deleteTodo(id) {
48
+ const todo = this.todoList.items.get(id);
49
+ if (!todo)
50
+ return false;
51
+ this.todoList.items.delete(id);
52
+ this.todoList.rootItems = this.todoList.rootItems.filter(itemId => itemId !== id);
53
+ this.todoList.items.forEach((item, itemId) => {
54
+ if (item.dependencies) {
55
+ item.dependencies = item.dependencies.filter(depId => depId !== id);
56
+ }
57
+ if (item.subtasks) {
58
+ item.subtasks = item.subtasks.filter(subtask => subtask.id !== id);
59
+ }
60
+ });
61
+ return true;
62
+ }
63
+ setTodoStatus(id, status) {
64
+ const todo = this.todoList.items.get(id);
65
+ if (!todo)
66
+ return false;
67
+ todo.status = status;
68
+ if (status === 'completed') {
69
+ todo.completedAt = Date.now();
70
+ }
71
+ else {
72
+ todo.completedAt = undefined;
73
+ }
74
+ return true;
75
+ }
76
+ setPriority(id, priority) {
77
+ const todo = this.todoList.items.get(id);
78
+ if (!todo)
79
+ return false;
80
+ todo.priority = priority;
81
+ return true;
82
+ }
83
+ setCurrentTask(id) {
84
+ if (id === null) {
85
+ this.clearCurrentTask();
86
+ return;
87
+ }
88
+ const todo = this.todoList.items.get(id);
89
+ if (todo) {
90
+ this.clearCurrentTask();
91
+ this.setTodoStatus(id, 'in_progress');
92
+ this.currentTaskId = id;
93
+ }
94
+ }
95
+ getCurrentTask() {
96
+ if (!this.currentTaskId)
97
+ return null;
98
+ return this.todoList.items.get(this.currentTaskId) || null;
99
+ }
100
+ clearCurrentTask() {
101
+ if (this.currentTaskId) {
102
+ const todo = this.todoList.items.get(this.currentTaskId);
103
+ if (todo && todo.status === 'in_progress') {
104
+ todo.status = 'pending';
105
+ }
106
+ this.currentTaskId = null;
107
+ }
108
+ }
109
+ addDependency(todoId, dependsOnId) {
110
+ const todo = this.todoList.items.get(todoId);
111
+ const dependsOn = this.todoList.items.get(dependsOnId);
112
+ if (!todo || !dependsOn)
113
+ return false;
114
+ if (!todo.dependencies) {
115
+ todo.dependencies = [];
116
+ }
117
+ if (!todo.dependencies.includes(dependsOnId)) {
118
+ todo.dependencies.push(dependsOnId);
119
+ }
120
+ return true;
121
+ }
122
+ removeDependency(todoId, dependsOnId) {
123
+ const todo = this.todoList.items.get(todoId);
124
+ if (!todo || !todo.dependencies)
125
+ return false;
126
+ todo.dependencies = todo.dependencies.filter(id => id !== dependsOnId);
127
+ return true;
128
+ }
129
+ getDependencies(todoId) {
130
+ const todo = this.todoList.items.get(todoId);
131
+ if (!todo || !todo.dependencies)
132
+ return [];
133
+ return todo.dependencies
134
+ .map(id => this.todoList.items.get(id))
135
+ .filter((item) => item !== undefined);
136
+ }
137
+ getDependents(todoId) {
138
+ return Array.from(this.todoList.items.values())
139
+ .filter(item => item.dependencies?.includes(todoId));
140
+ }
141
+ addNote(todoId, note) {
142
+ const todo = this.todoList.items.get(todoId);
143
+ if (!todo)
144
+ return false;
145
+ if (!todo.notes) {
146
+ todo.notes = note;
147
+ }
148
+ else {
149
+ todo.notes += '\n\n' + note;
150
+ }
151
+ return true;
152
+ }
153
+ getTodo(id) {
154
+ return this.todoList.items.get(id);
155
+ }
156
+ getAllTodos() {
157
+ return Array.from(this.todoList.items.values());
158
+ }
159
+ getTodosByStatus(status) {
160
+ return Array.from(this.todoList.items.values())
161
+ .filter(todo => todo.status === status);
162
+ }
163
+ getTodosByPriority(priority) {
164
+ return Array.from(this.todoList.items.values())
165
+ .filter(todo => todo.priority === priority);
166
+ }
167
+ getRootTodos() {
168
+ return this.todoList.rootItems
169
+ .map(id => this.todoList.items.get(id))
170
+ .filter((item) => item !== undefined)
171
+ .sort((a, b) => {
172
+ const priorityOrder = { high: 0, medium: 1, low: 2 };
173
+ return priorityOrder[a.priority] - priorityOrder[b.priority] || a.createdAt - b.createdAt;
174
+ });
175
+ }
176
+ getTodoTree() {
177
+ return this.getRootTodos();
178
+ }
179
+ getCompletedCount() {
180
+ return this.getTodosByStatus('completed').length;
181
+ }
182
+ getPendingCount() {
183
+ return this.getTodosByStatus('pending').length;
184
+ }
185
+ getInProgressCount() {
186
+ return this.getTodosByStatus('in_progress').length;
187
+ }
188
+ getTotalCount() {
189
+ return this.todoList.items.size;
190
+ }
191
+ getCompletionPercentage() {
192
+ const total = this.getTotalCount();
193
+ if (total === 0)
194
+ return 0;
195
+ return Math.round((this.getCompletedCount() / total) * 100);
196
+ }
197
+ clearAll() {
198
+ this.todoList.items.clear();
199
+ this.todoList.rootItems = [];
200
+ this.currentTaskId = null;
201
+ }
202
+ clearCompleted() {
203
+ const completedIds = this.getTodosByStatus('completed').map(todo => todo.id);
204
+ completedIds.forEach(id => this.deleteTodo(id));
205
+ }
206
+ importTodos(todos) {
207
+ this.clearAll();
208
+ todos.forEach(todo => {
209
+ this.todoList.items.set(todo.id, todo);
210
+ if (!this.todoList.rootItems.includes(todo.id)) {
211
+ this.todoList.rootItems.push(todo.id);
212
+ }
213
+ });
214
+ }
215
+ exportTodos() {
216
+ return Array.from(this.todoList.items.values());
217
+ }
218
+ getSummary() {
219
+ return {
220
+ total: this.getTotalCount(),
221
+ completed: this.getCompletedCount(),
222
+ inProgress: this.getInProgressCount(),
223
+ pending: this.getPendingCount(),
224
+ completionPercentage: this.getCompletionPercentage(),
225
+ currentTask: this.getCurrentTask()
226
+ };
227
+ }
228
+ generateId() {
229
+ return `todo_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
230
+ }
231
+ }
232
+ exports.TodoManager = TodoManager;
233
+ //# sourceMappingURL=todo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todo.js","sourceRoot":"","sources":["../../src/tools/todo.ts"],"names":[],"mappings":";;;AAeA,MAAa,WAAW;IACd,QAAQ,CAAW;IACnB,aAAa,GAAkB,IAAI,CAAC;IAC5C;QACE,IAAI,CAAC,QAAQ,GAAG;YACd,KAAK,EAAE,IAAI,GAAG,EAAE;YAChB,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,OAAe,EAAE,WAAiC,QAAQ,EAAE,QAAiB;QACnF,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAa;YACrB,EAAE;YACF,OAAO;YACP,MAAM,EAAE,SAAS;YACjB,QAAQ;YACR,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACrB,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACvB,CAAC;gBACD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,UAAU,CACR,EAAU,EACV,OAAiE;QAEjE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACxD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,UAAU,CAAC,EAAU;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACrE,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IACD,aAAa,CAAC,EAAU,EAAE,MAA0B;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,WAAW,CAAC,EAAU,EAAE,QAA8B;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,cAAc,CAAC,EAAiB;QAC9B,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YACtC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,cAAc;QACZ,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC;IAC7D,CAAC;IACD,gBAAgB;QACd,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACzD,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;gBAC1C,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YAC1B,CAAC;YACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,aAAa,CAAC,MAAc,EAAE,WAAmB;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,gBAAgB,CAAC,MAAc,EAAE,WAAmB;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,KAAK,CAAC;QAC9C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,eAAe,CAAC,MAAc;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,YAAY;aACrB,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACtC,MAAM,CAAC,CAAC,IAAI,EAAoB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAC5D,CAAC;IACD,aAAa,CAAC,MAAc;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aAC5C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,CAAC,MAAc,EAAE,IAAY;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,IAAI,MAAM,GAAG,IAAI,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,EAAU;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IACD,WAAW;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,gBAAgB,CAAC,MAA0B;QACzC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aAC5C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAC5C,CAAC;IACD,kBAAkB,CAAC,QAA8B;QAC/C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aAC5C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IAChD,CAAC;IACD,YAAY;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS;aAC3B,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACtC,MAAM,CAAC,CAAC,IAAI,EAAoB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC;aACtD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACb,MAAM,aAAa,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YACrD,OAAO,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;QAC5F,CAAC,CAAC,CAAC;IACP,CAAC;IACD,WAAW;QACT,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;IACD,iBAAiB;QACf,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;IACnD,CAAC;IACD,eAAe;QACb,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;IACjD,CAAC;IACD,kBAAkB;QAChB,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC;IACrD,CAAC;IACD,aAAa;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;IAClC,CAAC;IACD,uBAAuB;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACnC,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;IAC9D,CAAC;IACD,QAAQ;QACN,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IACD,cAAc;QACZ,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7E,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,WAAW,CAAC,KAAiB;QAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,WAAW;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,UAAU;QAQR,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE;YAC3B,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE;YACnC,UAAU,EAAE,IAAI,CAAC,kBAAkB,EAAE;YACrC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE;YAC/B,oBAAoB,EAAE,IAAI,CAAC,uBAAuB,EAAE;YACpD,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE;SACnC,CAAC;IACJ,CAAC;IACO,UAAU;QAChB,OAAO,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACzE,CAAC;CACF;AAhOD,kCAgOC"}
@@ -0,0 +1,104 @@
1
+ export interface Message {
2
+ role: 'system' | 'user' | 'assistant' | 'tool';
3
+ content: string;
4
+ tool_calls?: ToolCall[];
5
+ tool_call_id?: string;
6
+ timestamp?: number;
7
+ }
8
+ export interface ToolCall {
9
+ id: string;
10
+ type: 'function';
11
+ function: {
12
+ name: string;
13
+ arguments: string;
14
+ };
15
+ }
16
+ export interface Tool {
17
+ type: 'function';
18
+ function: {
19
+ name: string;
20
+ description: string;
21
+ parameters: Record<string, any>;
22
+ };
23
+ }
24
+ export interface ThinkingConfig {
25
+ type: 'enabled' | 'disabled';
26
+ }
27
+ export interface ChatCompletionRequest {
28
+ messages: Message[];
29
+ model: string;
30
+ tools?: Tool[];
31
+ tool_choice?: 'auto' | 'none' | {
32
+ type: 'required';
33
+ };
34
+ thinking?: ThinkingConfig;
35
+ tool_stream?: boolean;
36
+ temperature?: number;
37
+ max_tokens?: number;
38
+ top_p?: number;
39
+ stream?: boolean;
40
+ }
41
+ export interface ChatCompletionDelta {
42
+ role?: string;
43
+ content?: string;
44
+ tool_calls?: ToolCall[];
45
+ }
46
+ export interface ChatCompletionChunk {
47
+ id: string;
48
+ object: string;
49
+ created: number;
50
+ model: string;
51
+ choices: Array<{
52
+ index: number;
53
+ delta: ChatCompletionDelta;
54
+ finish_reason: string | null;
55
+ }>;
56
+ }
57
+ export interface StreamCallbacks {
58
+ onContent: (content: string) => void;
59
+ onToolCall?: (toolCall: ToolCall) => void;
60
+ onComplete: () => void;
61
+ onError?: (error: Error) => void;
62
+ }
63
+ export interface FileContext {
64
+ path: string;
65
+ content: string;
66
+ language?: string;
67
+ }
68
+ export interface ProjectContext {
69
+ rootPath: string;
70
+ files: FileContext[];
71
+ structure?: string;
72
+ }
73
+ export interface ToolResult {
74
+ tool: string;
75
+ success: boolean;
76
+ result: any;
77
+ error?: string;
78
+ }
79
+ export interface ToolConfig {
80
+ enabled: boolean;
81
+ maxSize?: number;
82
+ autoBackup?: boolean;
83
+ confirmOverwrite?: boolean;
84
+ maxResults?: number;
85
+ caseSensitive?: boolean;
86
+ allowShell?: boolean;
87
+ timeout?: number;
88
+ maxFileSize?: number;
89
+ }
90
+ export interface ToolsConfig {
91
+ enabled: boolean;
92
+ autoExecute: boolean;
93
+ confirmDestructive: boolean;
94
+ timeout: number;
95
+ tools: {
96
+ read_file: ToolConfig;
97
+ edit_file: ToolConfig;
98
+ write_file: ToolConfig;
99
+ search_files: ToolConfig;
100
+ execute_command: ToolConfig;
101
+ search_code: ToolConfig;
102
+ };
103
+ }
104
+ //# sourceMappingURL=index.d.ts.map