@easynet/agent-tool-buildin 0.0.14 → 0.0.16

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 (64) hide show
  1. package/dist/core-tools-manifest.json +472 -38
  2. package/dist/src/analyze/analyzeLog.d.ts +30 -0
  3. package/dist/src/analyze/analyzeLog.d.ts.map +1 -0
  4. package/dist/src/analyze/analyzeLog.js +168 -0
  5. package/dist/src/analyze/analyzeLog.js.map +1 -0
  6. package/dist/src/analyze/analyzeProjectRepo.d.ts +40 -0
  7. package/dist/src/analyze/analyzeProjectRepo.d.ts.map +1 -0
  8. package/dist/src/analyze/analyzeProjectRepo.js +370 -0
  9. package/dist/src/analyze/analyzeProjectRepo.js.map +1 -0
  10. package/dist/src/analyze/askProjectRepo.d.ts +42 -0
  11. package/dist/src/analyze/askProjectRepo.d.ts.map +1 -0
  12. package/dist/src/analyze/askProjectRepo.js +382 -0
  13. package/dist/src/analyze/askProjectRepo.js.map +1 -0
  14. package/dist/src/analyze/defaults.d.ts +17 -0
  15. package/dist/src/analyze/defaults.d.ts.map +1 -0
  16. package/dist/src/analyze/defaults.js +17 -0
  17. package/dist/src/analyze/defaults.js.map +1 -0
  18. package/dist/src/analyze/embedText.d.ts +27 -0
  19. package/dist/src/analyze/embedText.d.ts.map +1 -0
  20. package/dist/src/analyze/embedText.js +99 -0
  21. package/dist/src/analyze/embedText.js.map +1 -0
  22. package/dist/src/exec/runCommand.d.ts +1 -1
  23. package/dist/src/exec/runCommand.js +1 -1
  24. package/dist/src/fs/deletePath.d.ts +1 -3
  25. package/dist/src/fs/deletePath.d.ts.map +1 -1
  26. package/dist/src/fs/deletePath.js +3 -3
  27. package/dist/src/fs/deletePath.js.map +1 -1
  28. package/dist/src/fs/listDir.d.ts +1 -5
  29. package/dist/src/fs/listDir.d.ts.map +1 -1
  30. package/dist/src/fs/listDir.js +3 -3
  31. package/dist/src/fs/listDir.js.map +1 -1
  32. package/dist/src/fs/readText.d.ts +0 -2
  33. package/dist/src/fs/readText.d.ts.map +1 -1
  34. package/dist/src/fs/readText.js +2 -2
  35. package/dist/src/fs/readText.js.map +1 -1
  36. package/dist/src/fs/searchText.d.ts +1 -1
  37. package/dist/src/fs/searchText.js +1 -1
  38. package/dist/src/fs/sha256.d.ts +0 -2
  39. package/dist/src/fs/sha256.d.ts.map +1 -1
  40. package/dist/src/fs/sha256.js +2 -2
  41. package/dist/src/fs/sha256.js.map +1 -1
  42. package/dist/src/fs/writeText.d.ts +3 -7
  43. package/dist/src/fs/writeText.d.ts.map +1 -1
  44. package/dist/src/fs/writeText.js +5 -5
  45. package/dist/src/fs/writeText.js.map +1 -1
  46. package/dist/src/http/downloadFile.d.ts +1 -1
  47. package/dist/src/http/downloadFile.js +1 -1
  48. package/dist/src/http/duckduckgoSearch.d.ts +1 -1
  49. package/dist/src/http/duckduckgoSearch.js +1 -1
  50. package/dist/src/http/fetchPageMainContent.d.ts +1 -1
  51. package/dist/src/http/fetchPageMainContent.js +1 -1
  52. package/dist/src/http/fetchText.d.ts +1 -1
  53. package/dist/src/http/fetchText.js +1 -1
  54. package/dist/src/http/head.d.ts +1 -1
  55. package/dist/src/http/head.js +1 -1
  56. package/dist/src/http/yahooFinance.d.ts +1 -1
  57. package/dist/src/http/yahooFinance.js +1 -1
  58. package/dist/src/util/jsonSelect.d.ts +1 -1
  59. package/dist/src/util/jsonSelect.js +1 -1
  60. package/dist/src/util/now.d.ts +1 -1
  61. package/dist/src/util/now.js +1 -1
  62. package/dist/src/util/truncate.d.ts +1 -1
  63. package/dist/src/util/truncate.js +1 -1
  64. package/package.json +1 -1
@@ -1,9 +1,467 @@
1
1
  {
2
2
  "kind": "core",
3
3
  "tools": [
4
+ {
5
+ "name": "analyzeLog",
6
+ "description": "Analyze log text via OpenAI-compatible LLM, identifying errors, root causes, and suggestions.",
7
+ "inputSchema": {
8
+ "type": "object",
9
+ "properties": {
10
+ "logText": {
11
+ "type": "string"
12
+ },
13
+ "log": {
14
+ "type": "string"
15
+ },
16
+ "text": {
17
+ "type": "string"
18
+ },
19
+ "chunkSize": {
20
+ "type": "number"
21
+ },
22
+ "chunkOverlap": {
23
+ "type": "number"
24
+ },
25
+ "model": {
26
+ "type": "string"
27
+ },
28
+ "timeoutMs": {
29
+ "type": "number"
30
+ }
31
+ },
32
+ "required": [
33
+ "logText"
34
+ ]
35
+ },
36
+ "outputSchema": {
37
+ "type": "object",
38
+ "properties": {
39
+ "result": {
40
+ "type": "object",
41
+ "properties": {
42
+ "analysis": {
43
+ "type": "string"
44
+ },
45
+ "chunksProcessed": {
46
+ "type": "number"
47
+ }
48
+ },
49
+ "required": [
50
+ "analysis",
51
+ "chunksProcessed"
52
+ ]
53
+ },
54
+ "evidence": {
55
+ "type": "array",
56
+ "items": {
57
+ "type": "object",
58
+ "properties": {
59
+ "type": {
60
+ "type": "string"
61
+ },
62
+ "summary": {
63
+ "type": "string"
64
+ },
65
+ "createdAt": {
66
+ "type": "string"
67
+ }
68
+ },
69
+ "required": [
70
+ "type",
71
+ "summary",
72
+ "createdAt"
73
+ ]
74
+ }
75
+ }
76
+ },
77
+ "required": [
78
+ "result",
79
+ "evidence"
80
+ ]
81
+ },
82
+ "sourcePath": "src/analyze/analyzeLog",
83
+ "exportName": "analyzeLog",
84
+ "sideEffect": "none"
85
+ },
86
+ {
87
+ "name": "analyzeProjectRepo",
88
+ "description": "Build an index for a source-code repository and generate a whole-project understanding summary.",
89
+ "inputSchema": {
90
+ "type": "object",
91
+ "properties": {
92
+ "path": {
93
+ "type": "string"
94
+ },
95
+ "repoPath": {
96
+ "type": "string"
97
+ },
98
+ "projectPath": {
99
+ "type": "string"
100
+ },
101
+ "outputIndexPath": {
102
+ "type": "string"
103
+ },
104
+ "includeHidden": {
105
+ "type": "object",
106
+ "properties": {}
107
+ },
108
+ "maxFiles": {
109
+ "type": "number"
110
+ },
111
+ "maxFileBytes": {
112
+ "type": "number"
113
+ },
114
+ "includeExtensions": {
115
+ "type": "array",
116
+ "items": {
117
+ "type": "string"
118
+ }
119
+ },
120
+ "excludeDirs": {
121
+ "type": "array",
122
+ "items": {
123
+ "type": "string"
124
+ }
125
+ },
126
+ "model": {
127
+ "type": "string"
128
+ },
129
+ "timeoutMs": {
130
+ "type": "number"
131
+ }
132
+ },
133
+ "required": [
134
+ "path"
135
+ ]
136
+ },
137
+ "outputSchema": {
138
+ "type": "object",
139
+ "properties": {
140
+ "result": {
141
+ "type": "object",
142
+ "properties": {
143
+ "repoRoot": {
144
+ "type": "string"
145
+ },
146
+ "indexPath": {
147
+ "type": "string"
148
+ },
149
+ "totalIndexedFiles": {
150
+ "type": "number"
151
+ },
152
+ "truncated": {
153
+ "type": "boolean"
154
+ },
155
+ "skippedBinary": {
156
+ "type": "number"
157
+ },
158
+ "indexSplit": {
159
+ "type": "boolean"
160
+ },
161
+ "indexPartPaths": {
162
+ "type": "array",
163
+ "items": {
164
+ "type": "string"
165
+ }
166
+ },
167
+ "llmUsed": {
168
+ "type": "boolean"
169
+ },
170
+ "partialCount": {
171
+ "type": "number"
172
+ },
173
+ "model": {
174
+ "type": "string"
175
+ },
176
+ "understanding": {
177
+ "type": "string"
178
+ }
179
+ },
180
+ "required": [
181
+ "repoRoot",
182
+ "indexPath",
183
+ "totalIndexedFiles",
184
+ "truncated",
185
+ "skippedBinary",
186
+ "indexSplit",
187
+ "indexPartPaths",
188
+ "llmUsed",
189
+ "partialCount",
190
+ "model",
191
+ "understanding"
192
+ ]
193
+ },
194
+ "evidence": {
195
+ "type": "array",
196
+ "items": {
197
+ "type": "object",
198
+ "properties": {
199
+ "type": {
200
+ "type": "string"
201
+ },
202
+ "summary": {
203
+ "type": "string"
204
+ },
205
+ "createdAt": {
206
+ "type": "string"
207
+ }
208
+ },
209
+ "required": [
210
+ "type",
211
+ "summary",
212
+ "createdAt"
213
+ ]
214
+ }
215
+ }
216
+ },
217
+ "required": [
218
+ "result",
219
+ "evidence"
220
+ ]
221
+ },
222
+ "sourcePath": "src/analyze/analyzeProjectRepo",
223
+ "exportName": "analyzeProjectRepo",
224
+ "sideEffect": "local_write"
225
+ },
226
+ {
227
+ "name": "askProjectRepo",
228
+ "description": "Ask a concrete question about a repository based on .project-index.json (or split parts).",
229
+ "inputSchema": {
230
+ "type": "object",
231
+ "properties": {
232
+ "path": {
233
+ "type": "string"
234
+ },
235
+ "repoPath": {
236
+ "type": "string"
237
+ },
238
+ "projectPath": {
239
+ "type": "string"
240
+ },
241
+ "question": {
242
+ "type": "string"
243
+ },
244
+ "query": {
245
+ "type": "string"
246
+ },
247
+ "q": {
248
+ "type": "string"
249
+ },
250
+ "indexPath": {
251
+ "type": "string"
252
+ },
253
+ "topK": {
254
+ "type": "number"
255
+ },
256
+ "maxSnippetChars": {
257
+ "type": "number"
258
+ },
259
+ "model": {
260
+ "type": "string"
261
+ },
262
+ "timeoutMs": {
263
+ "type": "number"
264
+ }
265
+ },
266
+ "required": [
267
+ "path",
268
+ "question"
269
+ ]
270
+ },
271
+ "outputSchema": {
272
+ "type": "object",
273
+ "properties": {
274
+ "result": {
275
+ "type": "object",
276
+ "properties": {
277
+ "repoRoot": {
278
+ "type": "string"
279
+ },
280
+ "indexPath": {
281
+ "type": "string"
282
+ },
283
+ "question": {
284
+ "type": "string"
285
+ },
286
+ "model": {
287
+ "type": "string"
288
+ },
289
+ "answer": {
290
+ "type": "string"
291
+ },
292
+ "matchedFiles": {
293
+ "type": "array",
294
+ "items": {
295
+ "type": "object",
296
+ "properties": {
297
+ "path": {
298
+ "type": "string"
299
+ },
300
+ "score": {
301
+ "type": "number"
302
+ },
303
+ "source": {
304
+ "type": "string",
305
+ "enum": [
306
+ "index",
307
+ "live_scan"
308
+ ]
309
+ }
310
+ },
311
+ "required": [
312
+ "path",
313
+ "score",
314
+ "source"
315
+ ]
316
+ }
317
+ },
318
+ "retrievalMode": {
319
+ "type": "string"
320
+ },
321
+ "deepReadUsed": {
322
+ "type": "boolean"
323
+ },
324
+ "deepReadPaths": {
325
+ "type": "array",
326
+ "items": {
327
+ "type": "string"
328
+ }
329
+ }
330
+ },
331
+ "required": [
332
+ "repoRoot",
333
+ "indexPath",
334
+ "question",
335
+ "model",
336
+ "answer",
337
+ "matchedFiles",
338
+ "retrievalMode",
339
+ "deepReadUsed",
340
+ "deepReadPaths"
341
+ ]
342
+ },
343
+ "evidence": {
344
+ "type": "array",
345
+ "items": {
346
+ "type": "object",
347
+ "properties": {
348
+ "type": {
349
+ "type": "string"
350
+ },
351
+ "summary": {
352
+ "type": "string"
353
+ },
354
+ "createdAt": {
355
+ "type": "string"
356
+ }
357
+ },
358
+ "required": [
359
+ "type",
360
+ "summary",
361
+ "createdAt"
362
+ ]
363
+ }
364
+ }
365
+ },
366
+ "required": [
367
+ "result",
368
+ "evidence"
369
+ ]
370
+ },
371
+ "sourcePath": "src/analyze/askProjectRepo",
372
+ "exportName": "askProjectRepo",
373
+ "sideEffect": "none"
374
+ },
375
+ {
376
+ "name": "embedText",
377
+ "description": "Convert text into embedding vectors via OpenAI-compatible API.",
378
+ "inputSchema": {
379
+ "type": "object",
380
+ "properties": {
381
+ "text": {
382
+ "type": "string"
383
+ },
384
+ "texts": {
385
+ "type": "array",
386
+ "items": {
387
+ "type": "string"
388
+ }
389
+ },
390
+ "model": {
391
+ "type": "string"
392
+ },
393
+ "timeoutMs": {
394
+ "type": "number"
395
+ }
396
+ }
397
+ },
398
+ "outputSchema": {
399
+ "type": "object",
400
+ "properties": {
401
+ "result": {
402
+ "type": "object",
403
+ "properties": {
404
+ "embeddings": {
405
+ "type": "array",
406
+ "items": {
407
+ "type": "array",
408
+ "items": {
409
+ "type": "number"
410
+ }
411
+ }
412
+ },
413
+ "model": {
414
+ "type": "string"
415
+ },
416
+ "dimensions": {
417
+ "type": "number"
418
+ },
419
+ "count": {
420
+ "type": "number"
421
+ }
422
+ },
423
+ "required": [
424
+ "embeddings",
425
+ "model",
426
+ "dimensions",
427
+ "count"
428
+ ]
429
+ },
430
+ "evidence": {
431
+ "type": "array",
432
+ "items": {
433
+ "type": "object",
434
+ "properties": {
435
+ "type": {
436
+ "type": "string"
437
+ },
438
+ "summary": {
439
+ "type": "string"
440
+ },
441
+ "createdAt": {
442
+ "type": "string"
443
+ }
444
+ },
445
+ "required": [
446
+ "type",
447
+ "summary",
448
+ "createdAt"
449
+ ]
450
+ }
451
+ }
452
+ },
453
+ "required": [
454
+ "result",
455
+ "evidence"
456
+ ]
457
+ },
458
+ "sourcePath": "src/analyze/embedText",
459
+ "exportName": "embedText",
460
+ "sideEffect": "none"
461
+ },
4
462
  {
5
463
  "name": "runCommand",
6
- "description": "Run a Linux command in the sandbox with an allowlist and timeout.",
464
+ "description": "Run an allowlisted command in the sandbox via spawn (no shell), with timeout and output limits.",
7
465
  "inputSchema": {
8
466
  "type": "object",
9
467
  "properties": {
@@ -56,16 +514,13 @@
56
514
  },
57
515
  {
58
516
  "name": "deletePath",
59
- "description": "Delete a file or directory in the sandbox (dangerous, requires explicit confirmation).",
517
+ "description": "Delete a file or directory in the sandbox. Requires confirm=true to proceed.",
60
518
  "inputSchema": {
61
519
  "type": "object",
62
520
  "properties": {
63
521
  "path": {
64
522
  "type": "string"
65
523
  },
66
- "filePath": {
67
- "type": "string"
68
- },
69
524
  "recursive": {
70
525
  "type": "object",
71
526
  "properties": {}
@@ -139,22 +594,13 @@
139
594
  },
140
595
  {
141
596
  "name": "listDir",
142
- "description": "List directory contents in the sandbox.",
597
+ "description": "List files and subdirectories in a sandbox directory, optionally recursive with depth limit.",
143
598
  "inputSchema": {
144
599
  "type": "object",
145
600
  "properties": {
146
601
  "path": {
147
602
  "type": "string"
148
603
  },
149
- "filePath": {
150
- "type": "string"
151
- },
152
- "dir": {
153
- "type": "string"
154
- },
155
- "directory": {
156
- "type": "string"
157
- },
158
604
  "maxEntries": {
159
605
  "type": "number"
160
606
  },
@@ -274,9 +720,6 @@
274
720
  "path": {
275
721
  "type": "string"
276
722
  },
277
- "filePath": {
278
- "type": "string"
279
- },
280
723
  "maxBytes": {
281
724
  "type": "number"
282
725
  }
@@ -345,7 +788,7 @@
345
788
  },
346
789
  {
347
790
  "name": "searchText",
348
- "description": "Search for text patterns in files within the sandbox.",
791
+ "description": "Search files in the sandbox by regex pattern, with glob filtering and match limits.",
349
792
  "inputSchema": {
350
793
  "type": "object",
351
794
  "properties": {
@@ -479,9 +922,6 @@
479
922
  "properties": {
480
923
  "path": {
481
924
  "type": "string"
482
- },
483
- "filePath": {
484
- "type": "string"
485
925
  }
486
926
  },
487
927
  "required": [
@@ -548,19 +988,13 @@
548
988
  },
549
989
  {
550
990
  "name": "writeText",
551
- "description": "Write UTF-8 text to a file in the sandbox.",
991
+ "description": "Create or overwrite a UTF-8 text file in the sandbox, with auto mkdir and overwrite protection.",
552
992
  "inputSchema": {
553
993
  "type": "object",
554
994
  "properties": {
555
995
  "path": {
556
996
  "type": "string"
557
997
  },
558
- "filePath": {
559
- "type": "string"
560
- },
561
- "text": {
562
- "type": "string"
563
- },
564
998
  "content": {
565
999
  "type": "string"
566
1000
  },
@@ -634,7 +1068,7 @@
634
1068
  },
635
1069
  {
636
1070
  "name": "downloadFile",
637
- "description": "Download a file from a URL to the sandbox.",
1071
+ "description": "Download a file from a URL and save to the sandbox with size limit and SHA-256 integrity hash.",
638
1072
  "inputSchema": {
639
1073
  "type": "object",
640
1074
  "properties": {
@@ -741,7 +1175,7 @@
741
1175
  },
742
1176
  {
743
1177
  "name": "duckduckgoSearch",
744
- "description": "Search DuckDuckGo via the Instant Answer API (no API key).",
1178
+ "description": "Search the web via DuckDuckGo (no API key required), with HTML fallback when no instant answers.",
745
1179
  "inputSchema": {
746
1180
  "type": "object",
747
1181
  "properties": {
@@ -971,7 +1405,7 @@
971
1405
  },
972
1406
  {
973
1407
  "name": "fetchPageMainContent",
974
- "description": "Fetch a URL and return only the main content (main/article/body text), not full HTML.",
1408
+ "description": "Fetch a web page and extract its main readable content, stripping navigation, headers, and boilerplate.",
975
1409
  "inputSchema": {
976
1410
  "type": "object",
977
1411
  "properties": {
@@ -1064,7 +1498,7 @@
1064
1498
  },
1065
1499
  {
1066
1500
  "name": "fetchText",
1067
- "description": "Fetch a URL and return the response as text.",
1501
+ "description": "Fetch a URL and return the response body as text. Supports GET and POST.",
1068
1502
  "inputSchema": {
1069
1503
  "type": "object",
1070
1504
  "properties": {
@@ -1169,7 +1603,7 @@
1169
1603
  },
1170
1604
  {
1171
1605
  "name": "head",
1172
- "description": "Send a HEAD request to get response headers without body.",
1606
+ "description": "Send an HTTP HEAD request to check URL status and headers without downloading the body.",
1173
1607
  "inputSchema": {
1174
1608
  "type": "object",
1175
1609
  "properties": {
@@ -1252,7 +1686,7 @@
1252
1686
  },
1253
1687
  {
1254
1688
  "name": "yahooFinanceQuote",
1255
- "description": "Fetch stock quote(s) from Yahoo Finance chart API (no API key).",
1689
+ "description": "Fetch real-time stock quotes (price, change, volume) from Yahoo Finance (no API key required).",
1256
1690
  "inputSchema": {
1257
1691
  "type": "object",
1258
1692
  "properties": {
@@ -1472,7 +1906,7 @@
1472
1906
  },
1473
1907
  {
1474
1908
  "name": "jsonSelect",
1475
- "description": "Select fields from JSON data using JMESPath expressions.",
1909
+ "description": "Extract values from JSON data using a JMESPath query expression.",
1476
1910
  "inputSchema": {
1477
1911
  "type": "object",
1478
1912
  "properties": {
@@ -1539,7 +1973,7 @@
1539
1973
  },
1540
1974
  {
1541
1975
  "name": "now",
1542
- "description": "Get the current time in various formats.",
1976
+ "description": "Get the current date and time in ISO, epoch, and formatted forms with timezone support.",
1543
1977
  "inputSchema": {
1544
1978
  "type": "object",
1545
1979
  "properties": {
@@ -1681,7 +2115,7 @@
1681
2115
  },
1682
2116
  {
1683
2117
  "name": "truncate",
1684
- "description": "Truncate text to a maximum character length with a suffix marker.",
2118
+ "description": "Truncate text to a max length, appending a suffix (default '...') when exceeded.",
1685
2119
  "inputSchema": {
1686
2120
  "type": "object",
1687
2121
  "properties": {
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Analyze log text via OpenAI-compatible LLM, identifying errors, root causes, and suggestions.
3
+ * Splits large logs into chunks and combines analysis.
4
+ * Configurable via extension config: openaiBaseUrl, openaiApiKey, model, chunkSize, chunkOverlap, timeoutMs.
5
+ * openaiApiKey optional when baseUrl is local (e.g. http://localhost:11434/v1 for Ollama).
6
+ * @tool
7
+ * @effect none
8
+ */
9
+ export declare function analyzeLog(args: {
10
+ /** Raw log text to analyze (e.g. from readText). */
11
+ logText: string;
12
+ /** Alias for logText (accepted when agents send "log" or "text"). */
13
+ log?: string;
14
+ text?: string;
15
+ chunkSize?: number;
16
+ chunkOverlap?: number;
17
+ model?: string;
18
+ timeoutMs?: number;
19
+ }): Promise<{
20
+ result: {
21
+ analysis: string;
22
+ chunksProcessed: number;
23
+ };
24
+ evidence: {
25
+ type: string;
26
+ summary: string;
27
+ createdAt: string;
28
+ }[];
29
+ }>;
30
+ //# sourceMappingURL=analyzeLog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyzeLog.d.ts","sourceRoot":"","sources":["../../../src/analyze/analyzeLog.ts"],"names":[],"mappings":"AA2HA;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;;;;;;;;;;GAqFA"}