@vybestack/llxprt-code-core 0.5.0-nightly.251105.e148f3d8 → 0.5.0-nightly.251106.2c6eee18

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 (50) hide show
  1. package/dist/prompt-config/defaults/default-prompts.json +3 -0
  2. package/dist/src/auth/precedence.js +1 -1
  3. package/dist/src/auth/precedence.js.map +1 -1
  4. package/dist/src/config/config.js +6 -0
  5. package/dist/src/config/config.js.map +1 -1
  6. package/dist/src/core/client.d.ts +9 -1
  7. package/dist/src/core/client.js +275 -86
  8. package/dist/src/core/client.js.map +1 -1
  9. package/dist/src/core/subagent.js +34 -23
  10. package/dist/src/core/subagent.js.map +1 -1
  11. package/dist/src/core/subagentOrchestrator.js +1 -0
  12. package/dist/src/core/subagentOrchestrator.js.map +1 -1
  13. package/dist/src/parsers/TextToolCallParser.d.ts +4 -0
  14. package/dist/src/parsers/TextToolCallParser.js +82 -3
  15. package/dist/src/parsers/TextToolCallParser.js.map +1 -1
  16. package/dist/src/prompt-config/defaults/tool-defaults.js +3 -0
  17. package/dist/src/prompt-config/defaults/tool-defaults.js.map +1 -1
  18. package/dist/src/prompt-config/defaults/tools/delete_line_range.md +3 -0
  19. package/dist/src/prompt-config/defaults/tools/insert_at_line.md +3 -0
  20. package/dist/src/prompt-config/defaults/tools/read_line_range.md +2 -0
  21. package/dist/src/providers/BaseProvider.d.ts +5 -0
  22. package/dist/src/providers/BaseProvider.js +38 -2
  23. package/dist/src/providers/BaseProvider.js.map +1 -1
  24. package/dist/src/providers/anthropic/AnthropicProvider.d.ts +4 -0
  25. package/dist/src/providers/anthropic/AnthropicProvider.js +34 -2
  26. package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
  27. package/dist/src/providers/gemini/GeminiProvider.d.ts +0 -4
  28. package/dist/src/providers/gemini/GeminiProvider.js +35 -66
  29. package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
  30. package/dist/src/providers/openai/OpenAIProvider.d.ts +0 -5
  31. package/dist/src/providers/openai/OpenAIProvider.js +21 -31
  32. package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
  33. package/dist/src/services/todo-reminder-service.d.ts +3 -0
  34. package/dist/src/services/todo-reminder-service.js +10 -1
  35. package/dist/src/services/todo-reminder-service.js.map +1 -1
  36. package/dist/src/tools/delete_line_range.d.ts +34 -0
  37. package/dist/src/tools/delete_line_range.js +147 -0
  38. package/dist/src/tools/delete_line_range.js.map +1 -0
  39. package/dist/src/tools/fuzzy-replacer.js +50 -31
  40. package/dist/src/tools/fuzzy-replacer.js.map +1 -1
  41. package/dist/src/tools/insert_at_line.d.ts +34 -0
  42. package/dist/src/tools/insert_at_line.js +164 -0
  43. package/dist/src/tools/insert_at_line.js.map +1 -0
  44. package/dist/src/tools/read_line_range.d.ts +34 -0
  45. package/dist/src/tools/read_line_range.js +119 -0
  46. package/dist/src/tools/read_line_range.js.map +1 -0
  47. package/dist/src/tools/todo-write.d.ts +1 -0
  48. package/dist/src/tools/todo-write.js +38 -8
  49. package/dist/src/tools/todo-write.js.map +1 -1
  50. package/package.json +1 -1
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { BaseDeclarativeTool, ToolInvocation, ToolResult } from './tools.js';
7
+ import { Config } from '../config/config.js';
8
+ /**
9
+ * Parameters for the InsertAtLine tool
10
+ */
11
+ export interface InsertAtLineToolParams {
12
+ /**
13
+ * The absolute path to the file to modify
14
+ */
15
+ absolute_path: string;
16
+ /**
17
+ * The 1-based line number to insert before. Content will be inserted before this line.
18
+ */
19
+ line_number: number;
20
+ /**
21
+ * The content to insert
22
+ */
23
+ content: string;
24
+ }
25
+ /**
26
+ * Implementation of the InsertAtLine tool logic
27
+ */
28
+ export declare class InsertAtLineTool extends BaseDeclarativeTool<InsertAtLineToolParams, ToolResult> {
29
+ private config;
30
+ static readonly Name: string;
31
+ constructor(config: Config);
32
+ protected validateToolParamValues(params: InsertAtLineToolParams): string | null;
33
+ protected createInvocation(params: InsertAtLineToolParams): ToolInvocation<InsertAtLineToolParams, ToolResult>;
34
+ }
@@ -0,0 +1,164 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import path from 'path';
7
+ import { makeRelative, shortenPath } from '../utils/paths.js';
8
+ import { BaseDeclarativeTool, BaseToolInvocation, Kind, } from './tools.js';
9
+ import { ToolErrorType } from './tool-error.js';
10
+ import { recordFileOperationMetric, FileOperation, } from '../telemetry/metrics.js';
11
+ import { getSpecificMimeType } from '../utils/fileUtils.js';
12
+ import { isNodeError } from '../utils/errors.js';
13
+ class InsertAtLineToolInvocation extends BaseToolInvocation {
14
+ config;
15
+ constructor(config, params) {
16
+ super(params);
17
+ this.config = config;
18
+ }
19
+ getDescription() {
20
+ const relativePath = makeRelative(this.params.absolute_path, this.config.getTargetDir());
21
+ return `Insert content at line ${this.params.line_number} in ${shortenPath(relativePath)}`;
22
+ }
23
+ toolLocations() {
24
+ return [{ path: this.params.absolute_path, line: this.params.line_number }];
25
+ }
26
+ async execute() {
27
+ const fileService = this.config.getFileSystemService();
28
+ // Read the file content
29
+ let content;
30
+ let fileExists = true;
31
+ try {
32
+ content = await fileService.readTextFile(this.params.absolute_path);
33
+ }
34
+ catch (error) {
35
+ if (isNodeError(error) && error.code === 'ENOENT') {
36
+ // File doesn't exist - only allow insertion at line 1
37
+ if (this.params.line_number !== 1) {
38
+ return {
39
+ llmContent: `Cannot insert at line ${this.params.line_number}: file does not exist. For new files, you can only insert at line_number: 1`,
40
+ returnDisplay: `Cannot insert at line ${this.params.line_number}: file does not exist`,
41
+ error: {
42
+ message: `File does not exist, can only insert at line 1`,
43
+ type: ToolErrorType.INVALID_TOOL_PARAMS,
44
+ },
45
+ };
46
+ }
47
+ content = '';
48
+ fileExists = false;
49
+ }
50
+ else {
51
+ return {
52
+ llmContent: `Error reading file: ${error instanceof Error ? error.message : String(error)}`,
53
+ returnDisplay: `Error reading file: ${error instanceof Error ? error.message : String(error)}`,
54
+ error: {
55
+ message: error instanceof Error ? error.message : String(error),
56
+ type: ToolErrorType.FILE_NOT_FOUND,
57
+ },
58
+ };
59
+ }
60
+ }
61
+ // Split into lines
62
+ const lines = content.split('\n');
63
+ // Validate line number
64
+ const totalLines = lines.length;
65
+ if (fileExists && this.params.line_number > totalLines + 1) {
66
+ return {
67
+ llmContent: `Cannot insert at line ${this.params.line_number}: exceeds file length (${totalLines}). Use line_number <= ${totalLines + 1} to append.`,
68
+ returnDisplay: `Cannot insert at line ${this.params.line_number}: exceeds file length (${totalLines})`,
69
+ error: {
70
+ message: `line_number ${this.params.line_number} exceeds file length (${totalLines})`,
71
+ type: ToolErrorType.INVALID_TOOL_PARAMS,
72
+ },
73
+ };
74
+ }
75
+ // Calculate 0-based insertion index
76
+ const insertIndex = this.params.line_number - 1;
77
+ // Split new content into lines
78
+ const newLines = this.params.content.split('\n');
79
+ // Insert the lines
80
+ lines.splice(insertIndex, 0, ...newLines);
81
+ // Join back
82
+ const newContent = lines.join('\n');
83
+ // Write back
84
+ try {
85
+ await fileService.writeTextFile(this.params.absolute_path, newContent);
86
+ // Record metrics
87
+ const linesInserted = newLines.length;
88
+ const mimetype = getSpecificMimeType(this.params.absolute_path);
89
+ recordFileOperationMetric(this.config, fileExists ? FileOperation.UPDATE : FileOperation.CREATE, linesInserted, mimetype, path.extname(this.params.absolute_path));
90
+ const action = fileExists ? 'inserted' : 'created and inserted';
91
+ return {
92
+ llmContent: `Successfully ${action} content at line ${this.params.line_number} in ${this.params.absolute_path}`,
93
+ returnDisplay: `${action.charAt(0).toUpperCase() + action.slice(1)} ${linesInserted} lines at line ${this.params.line_number}`,
94
+ };
95
+ }
96
+ catch (error) {
97
+ return {
98
+ llmContent: `Error writing file: ${error instanceof Error ? error.message : String(error)}`,
99
+ returnDisplay: `Error writing file: ${error instanceof Error ? error.message : String(error)}`,
100
+ error: {
101
+ message: error instanceof Error ? error.message : String(error),
102
+ type: ToolErrorType.FILE_WRITE_FAILURE,
103
+ },
104
+ };
105
+ }
106
+ }
107
+ }
108
+ /**
109
+ * Implementation of the InsertAtLine tool logic
110
+ */
111
+ export class InsertAtLineTool extends BaseDeclarativeTool {
112
+ config;
113
+ static Name = 'insert_at_line';
114
+ constructor(config) {
115
+ super(InsertAtLineTool.Name, 'InsertAtLine', `Inserts new content at a specific line in a file. This is the "paste" operation for refactoring. The 'line_number' is 1-based. The new content will be inserted *before* this line number. To prepend to the top of a file, use 'line_number: 1'. If 'line_number' is greater than the total lines, the content will be appended to the end of the file.`, Kind.Edit, {
116
+ properties: {
117
+ absolute_path: {
118
+ description: "The absolute path to the file to modify. Must start with '/' and be within the workspace.",
119
+ type: 'string',
120
+ },
121
+ line_number: {
122
+ description: 'The 1-based line number to insert before. Content will be inserted before this line.',
123
+ type: 'number',
124
+ minimum: 1,
125
+ },
126
+ content: {
127
+ description: 'The content to insert at the specified line.',
128
+ type: 'string',
129
+ },
130
+ },
131
+ required: ['absolute_path', 'line_number', 'content'],
132
+ type: 'object',
133
+ });
134
+ this.config = config;
135
+ }
136
+ validateToolParamValues(params) {
137
+ if (!params.absolute_path || params.absolute_path.trim() === '') {
138
+ return "The 'absolute_path' parameter must be non-empty.";
139
+ }
140
+ if (!path.isAbsolute(params.absolute_path)) {
141
+ return `File path must be absolute: ${params.absolute_path}`;
142
+ }
143
+ const workspaceContext = this.config.getWorkspaceContext();
144
+ if (!workspaceContext.isPathWithinWorkspace(params.absolute_path)) {
145
+ const directories = workspaceContext.getDirectories();
146
+ return `File path must be within one of the workspace directories: ${directories.join(', ')}`;
147
+ }
148
+ if (params.line_number < 1) {
149
+ return 'line_number must be a positive integer (>= 1)';
150
+ }
151
+ if (!params.content) {
152
+ return 'content parameter must be provided and non-empty';
153
+ }
154
+ const fileService = this.config.getFileService();
155
+ if (fileService.shouldLlxprtIgnoreFile(params.absolute_path)) {
156
+ return `File path '${params.absolute_path}' is ignored by .llxprtignore pattern(s).`;
157
+ }
158
+ return null;
159
+ }
160
+ createInvocation(params) {
161
+ return new InsertAtLineToolInvocation(this.config, params);
162
+ }
163
+ }
164
+ //# sourceMappingURL=insert_at_line.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insert_at_line.js","sourceRoot":"","sources":["../../../src/tools/insert_at_line.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { BaseDeclarativeTool, ToolInvocation, ToolResult } from './tools.js';
7
+ import { Config } from '../config/config.js';
8
+ /**
9
+ * Parameters for the ReadLineRange tool
10
+ */
11
+ export interface ReadLineRangeToolParams {
12
+ /**
13
+ * The absolute path to the file to read
14
+ */
15
+ absolute_path: string;
16
+ /**
17
+ * The 1-based line number to start reading from (inclusive)
18
+ */
19
+ start_line: number;
20
+ /**
21
+ * The 1-based line number to end reading at (inclusive)
22
+ */
23
+ end_line: number;
24
+ }
25
+ /**
26
+ * Implementation of the ReadLineRange tool logic
27
+ */
28
+ export declare class ReadLineRangeTool extends BaseDeclarativeTool<ReadLineRangeToolParams, ToolResult> {
29
+ private config;
30
+ static readonly Name: string;
31
+ constructor(config: Config);
32
+ protected validateToolParamValues(params: ReadLineRangeToolParams): string | null;
33
+ protected createInvocation(params: ReadLineRangeToolParams): ToolInvocation<ReadLineRangeToolParams, ToolResult>;
34
+ }
@@ -0,0 +1,119 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import path from 'path';
7
+ import { makeRelative, shortenPath } from '../utils/paths.js';
8
+ import { BaseDeclarativeTool, BaseToolInvocation, Kind, } from './tools.js';
9
+ import { processSingleFileContent, getSpecificMimeType, } from '../utils/fileUtils.js';
10
+ import { recordFileOperationMetric, FileOperation, } from '../telemetry/metrics.js';
11
+ class ReadLineRangeToolInvocation extends BaseToolInvocation {
12
+ config;
13
+ constructor(config, params) {
14
+ super(params);
15
+ this.config = config;
16
+ }
17
+ getDescription() {
18
+ const relativePath = makeRelative(this.params.absolute_path, this.config.getTargetDir());
19
+ return shortenPath(relativePath);
20
+ }
21
+ toolLocations() {
22
+ return [{ path: this.params.absolute_path, line: this.params.start_line }];
23
+ }
24
+ async execute() {
25
+ // Convert 1-based line numbers to 0-based offset and limit
26
+ const offset = this.params.start_line - 1;
27
+ const limit = this.params.end_line - this.params.start_line + 1;
28
+ const result = await processSingleFileContent(this.params.absolute_path, this.config.getTargetDir(), this.config.getFileSystemService(), offset, limit);
29
+ if (result.error) {
30
+ return {
31
+ llmContent: result.llmContent,
32
+ returnDisplay: result.returnDisplay || 'Error reading file',
33
+ error: {
34
+ message: result.error,
35
+ type: result.errorType,
36
+ },
37
+ };
38
+ }
39
+ let llmContent;
40
+ if (result.isTruncated) {
41
+ const [start, end] = result.linesShown;
42
+ const total = result.originalLineCount;
43
+ llmContent = `\nIMPORTANT: The file content has been truncated.\nStatus: Showing lines ${start}-${end} of ${total} total lines.\nAction: To read more of the file, you can use the 'read_file' tool with 'offset' and 'limit' parameters.\n\n--- FILE CONTENT (truncated) ---\n${result.llmContent}`;
44
+ }
45
+ else {
46
+ llmContent = result.llmContent || '';
47
+ }
48
+ const lines = typeof result.llmContent === 'string'
49
+ ? result.llmContent.split('\n').length
50
+ : undefined;
51
+ const mimetype = getSpecificMimeType(this.params.absolute_path);
52
+ recordFileOperationMetric(this.config, FileOperation.READ, lines, mimetype, path.extname(this.params.absolute_path));
53
+ return {
54
+ llmContent,
55
+ returnDisplay: result.returnDisplay || '',
56
+ };
57
+ }
58
+ }
59
+ /**
60
+ * Implementation of the ReadLineRange tool logic
61
+ */
62
+ export class ReadLineRangeTool extends BaseDeclarativeTool {
63
+ config;
64
+ static Name = 'read_line_range';
65
+ constructor(config) {
66
+ super(ReadLineRangeTool.Name, 'ReadLineRange', `Reads a specific range of lines from a file. This is very useful for "copying" a function or class after finding its definition. The 'start_line' and 'end_line' parameters are 1-based and inclusive.`, Kind.Read, {
67
+ properties: {
68
+ absolute_path: {
69
+ description: "The absolute path to the file to read (e.g., '/home/user/project/file.txt'). Relative paths are not supported. You must provide an absolute path.",
70
+ type: 'string',
71
+ },
72
+ start_line: {
73
+ description: 'The 1-based line number to start reading from (inclusive).',
74
+ type: 'number',
75
+ minimum: 1,
76
+ },
77
+ end_line: {
78
+ description: 'The 1-based line number to end reading at (inclusive). Must be >= start_line.',
79
+ type: 'number',
80
+ minimum: 1,
81
+ },
82
+ },
83
+ required: ['absolute_path', 'start_line', 'end_line'],
84
+ type: 'object',
85
+ });
86
+ this.config = config;
87
+ }
88
+ validateToolParamValues(params) {
89
+ if (!params.absolute_path || params.absolute_path.trim() === '') {
90
+ return "The 'absolute_path' parameter must be non-empty.";
91
+ }
92
+ if (!path.isAbsolute(params.absolute_path)) {
93
+ return `File path must be absolute: ${params.absolute_path}`;
94
+ }
95
+ const workspaceContext = this.config.getWorkspaceContext();
96
+ if (!workspaceContext.isPathWithinWorkspace(params.absolute_path)) {
97
+ const directories = workspaceContext.getDirectories();
98
+ return `File path must be within one of the workspace directories: ${directories.join(', ')}`;
99
+ }
100
+ if (params.start_line < 1) {
101
+ return 'start_line must be a positive integer (>= 1)';
102
+ }
103
+ if (params.end_line < 1) {
104
+ return 'end_line must be a positive integer (>= 1)';
105
+ }
106
+ if (params.end_line < params.start_line) {
107
+ return 'end_line must be greater than or equal to start_line';
108
+ }
109
+ const fileService = this.config.getFileService();
110
+ if (fileService.shouldLlxprtIgnoreFile(params.absolute_path)) {
111
+ return `File path '${params.absolute_path}' is ignored by .llxprtignore pattern(s).`;
112
+ }
113
+ return null;
114
+ }
115
+ createInvocation(params) {
116
+ return new ReadLineRangeToolInvocation(this.config, params);
117
+ }
118
+ }
119
+ //# sourceMappingURL=read_line_range.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read_line_range.js","sourceRoot":"","sources":["../../../src/tools/read_line_range.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ export declare class TodoWrite extends BaseTool<TodoWriteParams, ToolResult> {
14
14
  constructor();
15
15
  getDescription(params: TodoWriteParams): string;
16
16
  execute(params: TodoWriteParams, _signal: AbortSignal, _updateOutput?: (output: string) => void): Promise<ToolResult>;
17
+ private normalizeTodos;
17
18
  private calculateStatistics;
18
19
  private determineNextAction;
19
20
  }
@@ -98,12 +98,14 @@ export class TodoWrite extends BaseTool {
98
98
  return `Update todo list with ${params.todos.length} items`;
99
99
  }
100
100
  async execute(params, _signal, _updateOutput) {
101
+ const normalizedTodos = this.normalizeTodos(params.todos);
101
102
  // Validate todos with Zod schema
102
- const result = TodoArraySchema.safeParse(params.todos);
103
+ const result = TodoArraySchema.safeParse(normalizedTodos);
103
104
  if (!result.success) {
104
105
  const error = result.error.errors[0];
105
106
  throw new Error(`Validation error: ${error.path.join('.')} - ${error.message}`);
106
107
  }
108
+ const todos = result.data;
107
109
  // Get session and agent IDs from context
108
110
  const sessionId = this.context?.sessionId || 'default';
109
111
  const agentId = this.context?.agentId;
@@ -111,9 +113,9 @@ export class TodoWrite extends BaseTool {
111
113
  // Read old todos for diff tracking
112
114
  const oldTodos = await store.readTodos();
113
115
  // Write new todos
114
- await store.writeTodos(params.todos);
116
+ await store.writeTodos(todos);
115
117
  // Calculate state change
116
- const stateChange = this.reminderService.calculateStateChange(oldTodos, params.todos);
118
+ const stateChange = this.reminderService.calculateStateChange(oldTodos, todos);
117
119
  // Generate reminder if needed
118
120
  let reminder = null;
119
121
  if (this.reminderService.shouldGenerateReminder(stateChange)) {
@@ -124,7 +126,7 @@ export class TodoWrite extends BaseTool {
124
126
  // Set active todo ID if there's an in_progress todo
125
127
  if (isInteractive) {
126
128
  const scopedAgentId = agentId ?? DEFAULT_AGENT_ID;
127
- const inProgressTodo = params.todos.find((todo) => todo.status === 'in_progress');
129
+ const inProgressTodo = todos.find((todo) => todo.status === 'in_progress');
128
130
  const contextTracker = TodoContextTracker.forAgent(sessionId, scopedAgentId);
129
131
  contextTracker.setActiveTodo(inProgressTodo ? inProgressTodo.id : null);
130
132
  const event = {
@@ -135,11 +137,11 @@ export class TodoWrite extends BaseTool {
135
137
  };
136
138
  todoEvents.emitTodoUpdated(event);
137
139
  }
138
- const formattedOutput = formatTodoListForDisplay(params.todos);
139
- const statistics = this.calculateStatistics(params.todos);
140
- const nextAction = this.determineNextAction(params.todos);
140
+ const formattedOutput = formatTodoListForDisplay(todos);
141
+ const statistics = this.calculateStatistics(todos);
142
+ const nextAction = this.determineNextAction(todos);
141
143
  return {
142
- llmContent: formattedOutput + (reminder || ''),
144
+ llmContent: formattedOutput,
143
145
  returnDisplay: formattedOutput,
144
146
  metadata: {
145
147
  stateChanged: this.reminderService.shouldGenerateReminder(stateChange),
@@ -148,9 +150,37 @@ export class TodoWrite extends BaseTool {
148
150
  statusChanged: stateChange.statusChanged.length,
149
151
  statistics,
150
152
  nextAction,
153
+ reminder: reminder ?? undefined,
151
154
  },
152
155
  };
153
156
  }
157
+ normalizeTodos(rawTodos) {
158
+ return rawTodos.map((todo, index) => {
159
+ const normalizedId = todo?.id !== undefined &&
160
+ todo?.id !== null &&
161
+ `${todo.id}`.trim() !== ''
162
+ ? String(todo.id)
163
+ : String(index + 1);
164
+ const normalizedSubtasks = Array.isArray(todo?.subtasks)
165
+ ? todo.subtasks.map((subtask, subIndex) => {
166
+ const subtaskId = subtask?.id !== undefined &&
167
+ subtask?.id !== null &&
168
+ `${subtask.id}`.trim() !== ''
169
+ ? String(subtask.id)
170
+ : `${normalizedId}-${subIndex + 1}`;
171
+ return {
172
+ ...subtask,
173
+ id: subtaskId,
174
+ };
175
+ })
176
+ : todo?.subtasks;
177
+ return {
178
+ ...todo,
179
+ id: normalizedId,
180
+ subtasks: normalizedSubtasks,
181
+ };
182
+ });
183
+ }
154
184
  calculateStatistics(todos) {
155
185
  return {
156
186
  total: todos.length,
@@ -1 +1 @@
1
- {"version":3,"file":"todo-write.js","sourceRoot":"","sources":["../../../src/tools/todo-write.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"todo-write.js","sourceRoot":"","sources":["../../../src/tools/todo-write.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vybestack/llxprt-code-core",
3
- "version": "0.5.0-nightly.251105.e148f3d8",
3
+ "version": "0.5.0-nightly.251106.2c6eee18",
4
4
  "description": "LLxprt Code Core",
5
5
  "repository": {
6
6
  "type": "git",