hanseol-dev 4.4.0-dev.0 → 4.4.0-dev.3
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.
- package/dist/agents/index.d.ts +1 -2
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +0 -1
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/planner/index.d.ts +0 -4
- package/dist/agents/planner/index.d.ts.map +1 -1
- package/dist/agents/planner/index.js +18 -12
- package/dist/agents/planner/index.js.map +1 -1
- package/dist/cli.js +7 -0
- package/dist/cli.js.map +1 -1
- package/dist/constants.d.ts +3 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +3 -1
- package/dist/constants.js.map +1 -1
- package/dist/core/auth/auth-gate.d.ts.map +1 -1
- package/dist/core/auth/auth-gate.js +2 -0
- package/dist/core/auth/auth-gate.js.map +1 -1
- package/dist/core/background-sync.d.ts +35 -0
- package/dist/core/background-sync.d.ts.map +1 -0
- package/dist/core/background-sync.js +221 -0
- package/dist/core/background-sync.js.map +1 -0
- package/dist/core/compact/compact-manager.d.ts.map +1 -1
- package/dist/core/compact/compact-manager.js +2 -0
- package/dist/core/compact/compact-manager.js.map +1 -1
- package/dist/core/llm/llm-client.d.ts +1 -0
- package/dist/core/llm/llm-client.d.ts.map +1 -1
- package/dist/core/llm/llm-client.js +210 -21
- package/dist/core/llm/llm-client.js.map +1 -1
- package/dist/core/session/session-manager.d.ts +0 -1
- package/dist/core/session/session-manager.d.ts.map +1 -1
- package/dist/core/session/session-manager.js +2 -0
- package/dist/core/session/session-manager.js.map +1 -1
- package/dist/core/telemetry/error-reporter.d.ts.map +1 -1
- package/dist/core/telemetry/error-reporter.js +31 -9
- package/dist/core/telemetry/error-reporter.js.map +1 -1
- package/dist/orchestration/plan-executor.d.ts +0 -1
- package/dist/orchestration/plan-executor.d.ts.map +1 -1
- package/dist/orchestration/plan-executor.js +82 -54
- package/dist/orchestration/plan-executor.js.map +1 -1
- package/dist/prompts/agents/planning.d.ts.map +1 -1
- package/dist/prompts/agents/planning.js +25 -0
- package/dist/prompts/agents/planning.js.map +1 -1
- package/dist/prompts/index.d.ts +0 -2
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +0 -2
- package/dist/prompts/index.js.map +1 -1
- package/dist/prompts/shared/tool-usage.d.ts +2 -0
- package/dist/prompts/shared/tool-usage.d.ts.map +1 -1
- package/dist/prompts/shared/tool-usage.js +35 -1
- package/dist/prompts/shared/tool-usage.js.map +1 -1
- package/dist/prompts/system/plan-execute.d.ts +1 -0
- package/dist/prompts/system/plan-execute.d.ts.map +1 -1
- package/dist/prompts/system/plan-execute.js +24 -19
- package/dist/prompts/system/plan-execute.js.map +1 -1
- package/dist/tools/llm/index.d.ts +0 -1
- package/dist/tools/llm/index.d.ts.map +1 -1
- package/dist/tools/llm/index.js +0 -1
- package/dist/tools/llm/index.js.map +1 -1
- package/dist/tools/llm/simple/external-services/external-service-api-clients.d.ts +54 -0
- package/dist/tools/llm/simple/external-services/external-service-api-clients.d.ts.map +1 -0
- package/dist/tools/llm/simple/external-services/external-service-api-clients.js +205 -0
- package/dist/tools/llm/simple/external-services/external-service-api-clients.js.map +1 -0
- package/dist/tools/llm/simple/external-services/free-tools.d.ts +2 -0
- package/dist/tools/llm/simple/external-services/free-tools.d.ts.map +1 -0
- package/dist/tools/llm/simple/external-services/free-tools.js +2 -0
- package/dist/tools/llm/simple/external-services/free-tools.js.map +1 -0
- package/dist/tools/llm/simple/external-services/index.d.ts +3 -0
- package/dist/tools/llm/simple/external-services/index.d.ts.map +1 -0
- package/dist/tools/llm/simple/external-services/index.js +3 -0
- package/dist/tools/llm/simple/external-services/index.js.map +1 -0
- package/dist/tools/llm/simple/external-services/once-tools.d.ts +3 -0
- package/dist/tools/llm/simple/external-services/once-tools.d.ts.map +1 -0
- package/dist/tools/llm/simple/external-services/once-tools.js +106 -0
- package/dist/tools/llm/simple/external-services/once-tools.js.map +1 -0
- package/dist/tools/llm/simple/file-tools.d.ts +1 -1
- package/dist/tools/llm/simple/file-tools.d.ts.map +1 -1
- package/dist/tools/llm/simple/file-tools.js +49 -6
- package/dist/tools/llm/simple/file-tools.js.map +1 -1
- package/dist/tools/llm/simple/index.d.ts +1 -0
- package/dist/tools/llm/simple/index.d.ts.map +1 -1
- package/dist/tools/llm/simple/index.js +1 -0
- package/dist/tools/llm/simple/index.js.map +1 -1
- package/dist/tools/llm/simple/powershell-tool.d.ts.map +1 -1
- package/dist/tools/llm/simple/powershell-tool.js +15 -2
- package/dist/tools/llm/simple/powershell-tool.js.map +1 -1
- package/dist/tools/llm/simple/simple-tool-executor.d.ts +3 -0
- package/dist/tools/llm/simple/simple-tool-executor.d.ts.map +1 -1
- package/dist/tools/llm/simple/simple-tool-executor.js +9 -0
- package/dist/tools/llm/simple/simple-tool-executor.js.map +1 -1
- package/dist/tools/office/excel-tools/cells.d.ts.map +1 -1
- package/dist/tools/office/excel-tools/cells.js +5 -1
- package/dist/tools/office/excel-tools/cells.js.map +1 -1
- package/dist/tools/office/excel-tools/sheets.d.ts.map +1 -1
- package/dist/tools/office/excel-tools/sheets.js +6 -1
- package/dist/tools/office/excel-tools/sheets.js.map +1 -1
- package/dist/tools/office/excel-tools/tables.d.ts.map +1 -1
- package/dist/tools/office/excel-tools/tables.js +6 -1
- package/dist/tools/office/excel-tools/tables.js.map +1 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +3 -2
- package/dist/tools/registry.js.map +1 -1
- package/dist/ui/components/ActivityIndicator.d.ts +1 -1
- package/dist/ui/components/ActivityIndicator.d.ts.map +1 -1
- package/dist/ui/components/ActivityIndicator.js +0 -1
- package/dist/ui/components/ActivityIndicator.js.map +1 -1
- package/dist/ui/components/PlanExecuteApp.d.ts +1 -1
- package/dist/ui/components/PlanExecuteApp.d.ts.map +1 -1
- package/dist/ui/components/PlanExecuteApp.js +20 -64
- package/dist/ui/components/PlanExecuteApp.js.map +1 -1
- package/package.json +3 -1
- package/dist/agents/docs-search/index.d.ts +0 -33
- package/dist/agents/docs-search/index.d.ts.map +0 -1
- package/dist/agents/docs-search/index.js +0 -244
- package/dist/agents/docs-search/index.js.map +0 -1
- package/dist/prompts/agents/docs-search-decision.d.ts +0 -6
- package/dist/prompts/agents/docs-search-decision.d.ts.map +0 -1
- package/dist/prompts/agents/docs-search-decision.js +0 -46
- package/dist/prompts/agents/docs-search-decision.js.map +0 -1
- package/dist/prompts/agents/docs-search.d.ts +0 -4
- package/dist/prompts/agents/docs-search.d.ts.map +0 -1
- package/dist/prompts/agents/docs-search.js +0 -70
- package/dist/prompts/agents/docs-search.js.map +0 -1
- package/dist/tools/llm/agents/docs-search-tools.d.ts +0 -17
- package/dist/tools/llm/agents/docs-search-tools.d.ts.map +0 -1
- package/dist/tools/llm/agents/docs-search-tools.js +0 -265
- package/dist/tools/llm/agents/docs-search-tools.js.map +0 -1
- package/dist/tools/llm/simple/docs-search-agent-tool.d.ts +0 -6
- package/dist/tools/llm/simple/docs-search-agent-tool.d.ts.map +0 -1
- package/dist/tools/llm/simple/docs-search-agent-tool.js +0 -104
- package/dist/tools/llm/simple/docs-search-agent-tool.js.map +0 -1
- package/dist/ui/components/DocsSearchProgress.d.ts +0 -13
- package/dist/ui/components/DocsSearchProgress.d.ts.map +0 -1
- package/dist/ui/components/DocsSearchProgress.js +0 -37
- package/dist/ui/components/DocsSearchProgress.js.map +0 -1
|
@@ -1,265 +0,0 @@
|
|
|
1
|
-
import * as fs from 'fs/promises';
|
|
2
|
-
import * as path from 'path';
|
|
3
|
-
import * as os from 'os';
|
|
4
|
-
export { setTellToUserCallback } from '../simple/user-interaction-tools.js';
|
|
5
|
-
const DOCS_BASE_PATH = path.join(os.homedir(), '.hanseol', 'docs');
|
|
6
|
-
export const LIST_DIRECTORY_TOOL = {
|
|
7
|
-
type: 'function',
|
|
8
|
-
function: {
|
|
9
|
-
name: 'list_directory',
|
|
10
|
-
description: `List contents of a directory in ~/.hanseol/docs.
|
|
11
|
-
Returns folder names (directories) and file names with their types.
|
|
12
|
-
Use this to navigate the hierarchical documentation structure.`,
|
|
13
|
-
parameters: {
|
|
14
|
-
type: 'object',
|
|
15
|
-
properties: {
|
|
16
|
-
reason: {
|
|
17
|
-
type: 'string',
|
|
18
|
-
description: `A brief explanation of why you're listing this directory.
|
|
19
|
-
Examples:
|
|
20
|
-
- "Looking for agent framework documentation"
|
|
21
|
-
- "Exploring available tutorials"
|
|
22
|
-
- "Finding API reference files"`,
|
|
23
|
-
},
|
|
24
|
-
path: {
|
|
25
|
-
type: 'string',
|
|
26
|
-
description: 'Relative path from ~/.hanseol/docs. Use "" or "/" for root.',
|
|
27
|
-
},
|
|
28
|
-
},
|
|
29
|
-
required: ['reason', 'path'],
|
|
30
|
-
},
|
|
31
|
-
},
|
|
32
|
-
};
|
|
33
|
-
export const READ_DOCS_FILE_TOOL = {
|
|
34
|
-
type: 'function',
|
|
35
|
-
function: {
|
|
36
|
-
name: 'read_docs_file',
|
|
37
|
-
description: `Read the entire contents of a documentation file.
|
|
38
|
-
Use this after identifying relevant files via list_directory.`,
|
|
39
|
-
parameters: {
|
|
40
|
-
type: 'object',
|
|
41
|
-
properties: {
|
|
42
|
-
reason: {
|
|
43
|
-
type: 'string',
|
|
44
|
-
description: `A brief explanation of why you're reading this file.
|
|
45
|
-
Examples:
|
|
46
|
-
- "Reading the main overview to understand the framework"
|
|
47
|
-
- "Getting details about configuration options"
|
|
48
|
-
- "Checking example code for this feature"`,
|
|
49
|
-
},
|
|
50
|
-
path: {
|
|
51
|
-
type: 'string',
|
|
52
|
-
description: 'Relative path to the file from ~/.hanseol/docs',
|
|
53
|
-
},
|
|
54
|
-
},
|
|
55
|
-
required: ['reason', 'path'],
|
|
56
|
-
},
|
|
57
|
-
},
|
|
58
|
-
};
|
|
59
|
-
export const PREVIEW_FILE_TOOL = {
|
|
60
|
-
type: 'function',
|
|
61
|
-
function: {
|
|
62
|
-
name: 'preview_file',
|
|
63
|
-
description: `Read the first N lines of a file to quickly check if it's relevant.
|
|
64
|
-
Use this before reading the entire file to save time on large documents.`,
|
|
65
|
-
parameters: {
|
|
66
|
-
type: 'object',
|
|
67
|
-
properties: {
|
|
68
|
-
reason: {
|
|
69
|
-
type: 'string',
|
|
70
|
-
description: `A brief explanation of why you're previewing this file.
|
|
71
|
-
Examples:
|
|
72
|
-
- "Checking if this file covers the topic I need"
|
|
73
|
-
- "Previewing to see the document structure"
|
|
74
|
-
- "Quick look to verify this is the right file"`,
|
|
75
|
-
},
|
|
76
|
-
path: {
|
|
77
|
-
type: 'string',
|
|
78
|
-
description: 'Relative path to the file from ~/.hanseol/docs',
|
|
79
|
-
},
|
|
80
|
-
lines: {
|
|
81
|
-
type: 'number',
|
|
82
|
-
description: 'Number of lines to preview (default: 30, max: 100)',
|
|
83
|
-
},
|
|
84
|
-
},
|
|
85
|
-
required: ['reason', 'path'],
|
|
86
|
-
},
|
|
87
|
-
},
|
|
88
|
-
};
|
|
89
|
-
export const TELL_TO_USER_TOOL = {
|
|
90
|
-
type: 'function',
|
|
91
|
-
function: {
|
|
92
|
-
name: 'tell_to_user',
|
|
93
|
-
description: `Send a progress update to the user during the search.
|
|
94
|
-
Use this to inform the user about what you're doing or what you've found so far.
|
|
95
|
-
Keep messages concise and informative.`,
|
|
96
|
-
parameters: {
|
|
97
|
-
type: 'object',
|
|
98
|
-
properties: {
|
|
99
|
-
message: {
|
|
100
|
-
type: 'string',
|
|
101
|
-
description: 'Progress message to show the user',
|
|
102
|
-
},
|
|
103
|
-
},
|
|
104
|
-
required: ['message'],
|
|
105
|
-
},
|
|
106
|
-
},
|
|
107
|
-
};
|
|
108
|
-
export const SUBMIT_FINDINGS_TOOL = {
|
|
109
|
-
type: 'function',
|
|
110
|
-
function: {
|
|
111
|
-
name: 'submit_findings',
|
|
112
|
-
description: `Submit your final findings and terminate the search.
|
|
113
|
-
Call this when you have gathered enough information to answer the user's question.
|
|
114
|
-
This is the ONLY way to complete the search - you must call this when done.`,
|
|
115
|
-
parameters: {
|
|
116
|
-
type: 'object',
|
|
117
|
-
properties: {
|
|
118
|
-
summary: {
|
|
119
|
-
type: 'string',
|
|
120
|
-
description: 'A concise summary of what was found (1-3 sentences)',
|
|
121
|
-
},
|
|
122
|
-
findings: {
|
|
123
|
-
type: 'string',
|
|
124
|
-
description: 'Detailed findings formatted in markdown. Include relevant code snippets, explanations, and citations.',
|
|
125
|
-
},
|
|
126
|
-
sources: {
|
|
127
|
-
type: 'array',
|
|
128
|
-
items: { type: 'string' },
|
|
129
|
-
description: 'List of file paths that were referenced',
|
|
130
|
-
},
|
|
131
|
-
},
|
|
132
|
-
required: ['summary', 'findings', 'sources'],
|
|
133
|
-
},
|
|
134
|
-
},
|
|
135
|
-
};
|
|
136
|
-
export const DOCS_SEARCH_TOOLS = [
|
|
137
|
-
LIST_DIRECTORY_TOOL,
|
|
138
|
-
READ_DOCS_FILE_TOOL,
|
|
139
|
-
PREVIEW_FILE_TOOL,
|
|
140
|
-
TELL_TO_USER_TOOL,
|
|
141
|
-
SUBMIT_FINDINGS_TOOL,
|
|
142
|
-
];
|
|
143
|
-
export function createDocsToolExecutor(onTellUser, onComplete) {
|
|
144
|
-
return async (toolName, args) => {
|
|
145
|
-
switch (toolName) {
|
|
146
|
-
case 'list_directory':
|
|
147
|
-
return executeListDirectory(args);
|
|
148
|
-
case 'read_docs_file':
|
|
149
|
-
return executeReadDocsFile(args);
|
|
150
|
-
case 'preview_file':
|
|
151
|
-
return executePreviewFile(args);
|
|
152
|
-
case 'tell_to_user': {
|
|
153
|
-
const message = args['message'];
|
|
154
|
-
onTellUser?.(message);
|
|
155
|
-
return { success: true, result: 'Message sent to user' };
|
|
156
|
-
}
|
|
157
|
-
case 'submit_findings': {
|
|
158
|
-
const summary = args['summary'];
|
|
159
|
-
const findings = args['findings'];
|
|
160
|
-
const sources = args['sources'] || [];
|
|
161
|
-
onComplete?.(summary, findings, sources);
|
|
162
|
-
return {
|
|
163
|
-
success: true,
|
|
164
|
-
result: 'Findings submitted',
|
|
165
|
-
terminate: true,
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
default:
|
|
169
|
-
return { success: false, error: `Unknown tool: ${toolName}` };
|
|
170
|
-
}
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
|
-
async function executeListDirectory(args) {
|
|
174
|
-
try {
|
|
175
|
-
const relativePath = args['path'] || '';
|
|
176
|
-
const targetPath = path.join(DOCS_BASE_PATH, relativePath);
|
|
177
|
-
const resolvedPath = path.resolve(targetPath);
|
|
178
|
-
if (!resolvedPath.startsWith(DOCS_BASE_PATH)) {
|
|
179
|
-
return { success: false, error: 'Access denied: path outside docs directory' };
|
|
180
|
-
}
|
|
181
|
-
const entries = await fs.readdir(resolvedPath, { withFileTypes: true });
|
|
182
|
-
const result = [];
|
|
183
|
-
const dirs = [];
|
|
184
|
-
const files = [];
|
|
185
|
-
for (const entry of entries) {
|
|
186
|
-
if (entry.isDirectory()) {
|
|
187
|
-
dirs.push(`[DIR] ${entry.name}/`);
|
|
188
|
-
}
|
|
189
|
-
else if (entry.isFile()) {
|
|
190
|
-
const ext = path.extname(entry.name);
|
|
191
|
-
files.push(`[FILE] ${entry.name}${ext === '.md' ? ' (markdown)' : ''}`);
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
dirs.sort();
|
|
195
|
-
files.sort();
|
|
196
|
-
result.push(...dirs, ...files);
|
|
197
|
-
if (result.length === 0) {
|
|
198
|
-
return { success: true, result: '(empty directory)' };
|
|
199
|
-
}
|
|
200
|
-
return { success: true, result: result.join('\n') };
|
|
201
|
-
}
|
|
202
|
-
catch (error) {
|
|
203
|
-
const err = error;
|
|
204
|
-
if (err.code === 'ENOENT') {
|
|
205
|
-
return { success: false, error: 'Directory not found' };
|
|
206
|
-
}
|
|
207
|
-
return { success: false, error: `Failed to list directory: ${err.message}` };
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
async function executeReadDocsFile(args) {
|
|
211
|
-
try {
|
|
212
|
-
const relativePath = args['path'];
|
|
213
|
-
const targetPath = path.join(DOCS_BASE_PATH, relativePath);
|
|
214
|
-
const resolvedPath = path.resolve(targetPath);
|
|
215
|
-
if (!resolvedPath.startsWith(DOCS_BASE_PATH)) {
|
|
216
|
-
return { success: false, error: 'Access denied: path outside docs directory' };
|
|
217
|
-
}
|
|
218
|
-
const content = await fs.readFile(resolvedPath, 'utf-8');
|
|
219
|
-
const MAX_CONTENT_LENGTH = 30000;
|
|
220
|
-
if (content.length > MAX_CONTENT_LENGTH) {
|
|
221
|
-
return {
|
|
222
|
-
success: true,
|
|
223
|
-
result: content.slice(0, MAX_CONTENT_LENGTH) +
|
|
224
|
-
`\n\n... [TRUNCATED: File is ${content.length} characters, showing first ${MAX_CONTENT_LENGTH}]`,
|
|
225
|
-
};
|
|
226
|
-
}
|
|
227
|
-
return { success: true, result: content };
|
|
228
|
-
}
|
|
229
|
-
catch (error) {
|
|
230
|
-
const err = error;
|
|
231
|
-
if (err.code === 'ENOENT') {
|
|
232
|
-
return { success: false, error: 'File not found' };
|
|
233
|
-
}
|
|
234
|
-
return { success: false, error: `Failed to read file: ${err.message}` };
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
async function executePreviewFile(args) {
|
|
238
|
-
try {
|
|
239
|
-
const relativePath = args['path'];
|
|
240
|
-
let lines = args['lines'] || 30;
|
|
241
|
-
lines = Math.min(Math.max(lines, 1), 100);
|
|
242
|
-
const targetPath = path.join(DOCS_BASE_PATH, relativePath);
|
|
243
|
-
const resolvedPath = path.resolve(targetPath);
|
|
244
|
-
if (!resolvedPath.startsWith(DOCS_BASE_PATH)) {
|
|
245
|
-
return { success: false, error: 'Access denied: path outside docs directory' };
|
|
246
|
-
}
|
|
247
|
-
const content = await fs.readFile(resolvedPath, 'utf-8');
|
|
248
|
-
const allLines = content.split('\n');
|
|
249
|
-
const previewLines = allLines.slice(0, lines);
|
|
250
|
-
let result = previewLines.join('\n');
|
|
251
|
-
if (allLines.length > lines) {
|
|
252
|
-
result += `\n\n... [PREVIEW: Showing ${lines} of ${allLines.length} lines]`;
|
|
253
|
-
}
|
|
254
|
-
return { success: true, result };
|
|
255
|
-
}
|
|
256
|
-
catch (error) {
|
|
257
|
-
const err = error;
|
|
258
|
-
if (err.code === 'ENOENT') {
|
|
259
|
-
return { success: false, error: 'File not found' };
|
|
260
|
-
}
|
|
261
|
-
return { success: false, error: `Failed to preview file: ${err.message}` };
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
export default DOCS_SEARCH_TOOLS;
|
|
265
|
-
//# sourceMappingURL=docs-search-tools.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"docs-search-tools.js","sourceRoot":"","sources":["../../../../src/tools/llm/agents/docs-search-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { LLMSimpleTool } from '../../types.js';
|
|
2
|
-
export declare function setDocsSearchLLMClientGetter(getter: () => import('../../../core/llm/llm-client.js').LLMClient | null): void;
|
|
3
|
-
export declare function clearDocsSearchLLMClientGetter(): void;
|
|
4
|
-
export declare const docsSearchAgentTool: LLMSimpleTool;
|
|
5
|
-
export default docsSearchAgentTool;
|
|
6
|
-
//# sourceMappingURL=docs-search-agent-tool.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"docs-search-agent-tool.d.ts","sourceRoot":"","sources":["../../../../src/tools/llm/simple/docs-search-agent-tool.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAA4B,MAAM,gBAAgB,CAAC;AAYzE,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,OAAO,iCAAiC,EAAE,SAAS,GAAG,IAAI,GACvE,IAAI,CAEN;AAKD,wBAAgB,8BAA8B,IAAI,IAAI,CAErD;AA8CD,eAAO,MAAM,mBAAmB,EAAE,aAkEjC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import { executeDocsSearchAgent } from '../../../agents/docs-search/index.js';
|
|
2
|
-
import { logger } from '../../../utils/logger.js';
|
|
3
|
-
let llmClientGetter = null;
|
|
4
|
-
export function setDocsSearchLLMClientGetter(getter) {
|
|
5
|
-
llmClientGetter = getter;
|
|
6
|
-
}
|
|
7
|
-
export function clearDocsSearchLLMClientGetter() {
|
|
8
|
-
llmClientGetter = null;
|
|
9
|
-
}
|
|
10
|
-
const DOCS_SEARCH_AGENT_TOOL_DEFINITION = {
|
|
11
|
-
type: 'function',
|
|
12
|
-
function: {
|
|
13
|
-
name: 'call_docs_search_agent',
|
|
14
|
-
description: `Search local documentation in ~/.hanseol/docs directory.
|
|
15
|
-
|
|
16
|
-
Use this tool when:
|
|
17
|
-
- You need to find information in local documentation
|
|
18
|
-
- The task requires consulting project-specific docs
|
|
19
|
-
- User asks about topics that might be covered in local docs
|
|
20
|
-
|
|
21
|
-
The agent will:
|
|
22
|
-
1. Navigate the docs directory structure
|
|
23
|
-
2. Read relevant documentation files
|
|
24
|
-
3. Return a summary with findings and sources
|
|
25
|
-
|
|
26
|
-
Note: Only call this tool once per conversation - the results will be available for subsequent tasks.`,
|
|
27
|
-
parameters: {
|
|
28
|
-
type: 'object',
|
|
29
|
-
properties: {
|
|
30
|
-
reason: {
|
|
31
|
-
type: 'string',
|
|
32
|
-
description: `A natural, conversational explanation for the user about what you're searching for.
|
|
33
|
-
Examples:
|
|
34
|
-
- "Searching local docs for API authentication examples"
|
|
35
|
-
- "Looking up configuration options in project documentation"
|
|
36
|
-
- "Finding relevant code patterns from local references"`,
|
|
37
|
-
},
|
|
38
|
-
query: {
|
|
39
|
-
type: 'string',
|
|
40
|
-
description: 'The search query describing what information you need from the documentation',
|
|
41
|
-
},
|
|
42
|
-
},
|
|
43
|
-
required: ['reason', 'query'],
|
|
44
|
-
},
|
|
45
|
-
},
|
|
46
|
-
};
|
|
47
|
-
export const docsSearchAgentTool = {
|
|
48
|
-
definition: DOCS_SEARCH_AGENT_TOOL_DEFINITION,
|
|
49
|
-
categories: ['llm-simple'],
|
|
50
|
-
async execute(args) {
|
|
51
|
-
const query = args['query'];
|
|
52
|
-
const reason = args['reason'];
|
|
53
|
-
logger.enter('docsSearchAgentTool.execute', { query, reason });
|
|
54
|
-
if (!query || typeof query !== 'string') {
|
|
55
|
-
return {
|
|
56
|
-
success: false,
|
|
57
|
-
error: 'query is required and must be a string',
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
if (!llmClientGetter) {
|
|
61
|
-
logger.error('LLM client getter not set for docs search agent tool');
|
|
62
|
-
return {
|
|
63
|
-
success: false,
|
|
64
|
-
error: 'Documentation search is not available (internal configuration error)',
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
const llmClient = llmClientGetter();
|
|
68
|
-
if (!llmClient) {
|
|
69
|
-
logger.error('LLM client is null');
|
|
70
|
-
return {
|
|
71
|
-
success: false,
|
|
72
|
-
error: 'Documentation search is not available (LLM client not initialized)',
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
try {
|
|
76
|
-
logger.flow('Executing docs search agent', { query });
|
|
77
|
-
const result = await executeDocsSearchAgent(llmClient, query);
|
|
78
|
-
if (result.success && result.result) {
|
|
79
|
-
logger.exit('docsSearchAgentTool.execute', { success: true, resultLength: result.result.length });
|
|
80
|
-
return {
|
|
81
|
-
success: true,
|
|
82
|
-
result: result.result,
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
logger.warn('Docs search agent returned no results', { error: result.error });
|
|
87
|
-
return {
|
|
88
|
-
success: false,
|
|
89
|
-
error: result.error || 'No documentation found for the given query',
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
catch (error) {
|
|
94
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
95
|
-
logger.error('docsSearchAgentTool.execute failed', error);
|
|
96
|
-
return {
|
|
97
|
-
success: false,
|
|
98
|
-
error: `Documentation search failed: ${errorMessage}`,
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
},
|
|
102
|
-
};
|
|
103
|
-
export default docsSearchAgentTool;
|
|
104
|
-
//# sourceMappingURL=docs-search-agent-tool.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"docs-search-agent-tool.js","sourceRoot":"","sources":["../../../../src/tools/llm/simple/docs-search-agent-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export interface DocsSearchLog {
|
|
3
|
-
type: 'command' | 'file' | 'info' | 'result';
|
|
4
|
-
message: string;
|
|
5
|
-
timestamp: number;
|
|
6
|
-
}
|
|
7
|
-
interface DocsSearchProgressProps {
|
|
8
|
-
logs: DocsSearchLog[];
|
|
9
|
-
isSearching: boolean;
|
|
10
|
-
}
|
|
11
|
-
export declare const DocsSearchProgress: React.FC<DocsSearchProgressProps>;
|
|
12
|
-
export default DocsSearchProgress;
|
|
13
|
-
//# sourceMappingURL=DocsSearchProgress.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DocsSearchProgress.d.ts","sourceRoot":"","sources":["../../../src/ui/components/DocsSearchProgress.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,uBAAuB;IAC/B,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;CACtB;AAmBD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA2ChE,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Box, Text } from 'ink';
|
|
3
|
-
import Spinner from 'ink-spinner';
|
|
4
|
-
function formatLogEntry(log) {
|
|
5
|
-
switch (log.type) {
|
|
6
|
-
case 'command':
|
|
7
|
-
return { icon: '⚡', color: 'yellow' };
|
|
8
|
-
case 'file':
|
|
9
|
-
return { icon: '📄', color: 'cyan' };
|
|
10
|
-
case 'result':
|
|
11
|
-
return { icon: '✓', color: 'green' };
|
|
12
|
-
case 'info':
|
|
13
|
-
default:
|
|
14
|
-
return { icon: '→', color: 'gray' };
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
export const DocsSearchProgress = ({ logs, isSearching, }) => {
|
|
18
|
-
const visibleLogs = logs.slice(-8);
|
|
19
|
-
if (!isSearching && logs.length === 0) {
|
|
20
|
-
return null;
|
|
21
|
-
}
|
|
22
|
-
return (React.createElement(Box, { flexDirection: "column", marginY: 1, paddingLeft: 1 },
|
|
23
|
-
React.createElement(Box, null, isSearching ? (React.createElement(React.Fragment, null,
|
|
24
|
-
React.createElement(Text, { color: "yellow" },
|
|
25
|
-
React.createElement(Spinner, { type: "dots" })),
|
|
26
|
-
React.createElement(Text, { color: "yellow", bold: true }, " \uD83D\uDCDA Searching Local Documents..."))) : (React.createElement(Text, { color: "green", bold: true }, "\uD83D\uDCDA Document Search Complete"))),
|
|
27
|
-
React.createElement(Box, { flexDirection: "column", paddingLeft: 2, marginTop: 0 }, visibleLogs.map((log, index) => {
|
|
28
|
-
const { icon, color } = formatLogEntry(log);
|
|
29
|
-
return (React.createElement(Box, { key: `${log.timestamp}-${index}` },
|
|
30
|
-
React.createElement(Text, { color: color },
|
|
31
|
-
icon,
|
|
32
|
-
" "),
|
|
33
|
-
React.createElement(Text, { color: color, dimColor: log.type === 'info' }, log.message)));
|
|
34
|
-
}))));
|
|
35
|
-
};
|
|
36
|
-
export default DocsSearchProgress;
|
|
37
|
-
//# sourceMappingURL=DocsSearchProgress.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DocsSearchProgress.js","sourceRoot":"","sources":["../../../src/ui/components/DocsSearchProgress.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,OAAO,MAAM,aAAa,CAAC;AAgBlC,SAAS,cAAc,CAAC,GAAkB;IACxC,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QACxC,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACvC,KAAK,QAAQ;YACX,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC;QACZ;YACE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACxC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAsC,CAAC,EACpE,IAAI,EACJ,WAAW,GACZ,EAAE,EAAE;IAEH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC;QAEpD,oBAAC,GAAG,QACD,WAAW,CAAC,CAAC,CAAC,CACb;YACE,oBAAC,IAAI,IAAC,KAAK,EAAC,QAAQ;gBAClB,oBAAC,OAAO,IAAC,IAAI,EAAC,MAAM,GAAG,CAClB;YACP,oBAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,uDAAwC,CAChE,CACJ,CAAC,CAAC,CAAC,CACF,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,kDAAmC,CAC5D,CACG;QAGN,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,IACrD,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC9B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;YAC5C,OAAO,CACL,oBAAC,GAAG,IAAC,GAAG,EAAE,GAAG,GAAG,CAAC,SAAS,IAAI,KAAK,EAAE;gBACnC,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK;oBAAG,IAAI;wBAAS;gBAClC,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,KAAK,MAAM,IAC9C,GAAG,CAAC,OAAO,CACP,CACH,CACP,CAAC;QACJ,CAAC,CAAC,CACE,CACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|