@syntero/orca-cli 1.3.1 → 1.3.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.
Files changed (68) hide show
  1. package/dist/assistant/anthropic.js +1 -1
  2. package/dist/assistant/anthropic.js.map +1 -1
  3. package/dist/assistant/helpers.js +1 -1
  4. package/dist/assistant/helpers.js.map +1 -1
  5. package/dist/assistant/openai.js +1 -1
  6. package/dist/assistant/openai.js.map +1 -1
  7. package/dist/assistant/prompts.d.ts.map +1 -1
  8. package/dist/assistant/prompts.js +53 -24
  9. package/dist/assistant/prompts.js.map +1 -1
  10. package/dist/assistant/types.d.ts +1 -1
  11. package/dist/assistant/types.d.ts.map +1 -1
  12. package/dist/components/ChatApp.d.ts +0 -1
  13. package/dist/components/ChatApp.d.ts.map +1 -1
  14. package/dist/components/ChatApp.js +43 -47
  15. package/dist/components/ChatApp.js.map +1 -1
  16. package/dist/components/InputFooter.d.ts +3 -1
  17. package/dist/components/InputFooter.d.ts.map +1 -1
  18. package/dist/components/InputFooter.js +3 -2
  19. package/dist/components/InputFooter.js.map +1 -1
  20. package/dist/tools/auth-tools.d.ts +26 -0
  21. package/dist/tools/auth-tools.d.ts.map +1 -0
  22. package/dist/tools/auth-tools.js +53 -0
  23. package/dist/tools/auth-tools.js.map +1 -0
  24. package/dist/tools/command.d.ts +28 -0
  25. package/dist/tools/command.d.ts.map +1 -0
  26. package/dist/tools/command.js +76 -0
  27. package/dist/tools/command.js.map +1 -0
  28. package/dist/tools/database.d.ts +19 -0
  29. package/dist/tools/database.d.ts.map +1 -0
  30. package/dist/tools/database.js +90 -0
  31. package/dist/tools/database.js.map +1 -0
  32. package/dist/tools/deployment.d.ts +195 -0
  33. package/dist/tools/deployment.d.ts.map +1 -0
  34. package/dist/tools/deployment.js +324 -0
  35. package/dist/tools/deployment.js.map +1 -0
  36. package/dist/tools/docker.d.ts +51 -0
  37. package/dist/tools/docker.d.ts.map +1 -0
  38. package/dist/tools/docker.js +68 -0
  39. package/dist/tools/docker.js.map +1 -0
  40. package/dist/tools/env.d.ts +18 -0
  41. package/dist/tools/env.d.ts.map +1 -0
  42. package/dist/tools/env.js +52 -0
  43. package/dist/tools/env.js.map +1 -0
  44. package/dist/tools/filesystem.d.ts +77 -0
  45. package/dist/tools/filesystem.d.ts.map +1 -0
  46. package/dist/tools/filesystem.js +138 -0
  47. package/dist/tools/filesystem.js.map +1 -0
  48. package/dist/tools/handler.d.ts +5 -0
  49. package/dist/tools/handler.d.ts.map +1 -0
  50. package/dist/tools/handler.js +51 -0
  51. package/dist/tools/handler.js.map +1 -0
  52. package/dist/tools/index.d.ts +462 -0
  53. package/dist/tools/index.d.ts.map +1 -0
  54. package/dist/tools/index.js +38 -0
  55. package/dist/tools/index.js.map +1 -0
  56. package/dist/tools/shared.d.ts +21 -0
  57. package/dist/tools/shared.d.ts.map +1 -0
  58. package/dist/tools/shared.js +75 -0
  59. package/dist/tools/shared.js.map +1 -0
  60. package/dist/tools/types.d.ts +2 -0
  61. package/dist/tools/types.d.ts.map +1 -0
  62. package/dist/tools/types.js +3 -0
  63. package/dist/tools/types.js.map +1 -0
  64. package/package.json +1 -1
  65. package/dist/tools.d.ts +0 -616
  66. package/dist/tools.d.ts.map +0 -1
  67. package/dist/tools.js +0 -678
  68. package/dist/tools.js.map +0 -1
@@ -0,0 +1,138 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ import { resolvePath, formatMode, formatSize, formatDate } from './shared.js';
4
+ import { runCommand } from './command.js';
5
+ export const FILESYSTEM_TOOLS = [
6
+ {
7
+ name: 'read_file',
8
+ description: `Read the contents of a file. Use for config files, logs, etc.
9
+ Paths can be absolute or relative to the deployment directory.
10
+ Do not read .env directly - use inspect_env instead.`,
11
+ input_schema: {
12
+ type: 'object',
13
+ properties: {
14
+ path: { type: 'string', description: 'Path to the file' },
15
+ tail: { type: 'integer', description: 'Only return the last N lines' },
16
+ },
17
+ required: ['path'],
18
+ },
19
+ },
20
+ {
21
+ name: 'list_directory',
22
+ description: 'List contents of a directory with details.',
23
+ input_schema: {
24
+ type: 'object',
25
+ properties: {
26
+ path: { type: 'string', description: 'Directory path' },
27
+ },
28
+ required: ['path'],
29
+ },
30
+ },
31
+ {
32
+ name: 'grep_file',
33
+ description: `Search for a pattern in a file or directory using grep.
34
+ Use for searching through:
35
+ - Log files for errors or patterns
36
+ - Config files for specific settings
37
+ - Documentation like TROUBLESHOOTING.md for known issues
38
+ - Any text file
39
+
40
+ Returns matching lines with line numbers and optional context.`,
41
+ input_schema: {
42
+ type: 'object',
43
+ properties: {
44
+ pattern: { type: 'string', description: 'Regex pattern to search for' },
45
+ path: { type: 'string', description: 'File or directory path to search' },
46
+ case_insensitive: { type: 'boolean', description: 'Case insensitive search (default: true)' },
47
+ context_lines: { type: 'integer', description: 'Lines of context before and after each match' },
48
+ },
49
+ required: ['pattern', 'path'],
50
+ },
51
+ },
52
+ ];
53
+ /**
54
+ * Read a file's contents.
55
+ */
56
+ export function readFile(filePath, tail) {
57
+ const resolved = resolvePath(filePath);
58
+ if (path.basename(resolved) === '.env' && !resolved.includes('.template')) {
59
+ return 'Error: Use inspect_env tool to safely view environment variables.';
60
+ }
61
+ try {
62
+ let content = fs.readFileSync(resolved, 'utf-8');
63
+ if (tail) {
64
+ const lines = content.split('\n');
65
+ content = lines.slice(-tail).join('\n');
66
+ }
67
+ if (content.length > 100000) {
68
+ content = content.slice(0, 100000) + '\n... [truncated]';
69
+ }
70
+ return content;
71
+ }
72
+ catch (e) {
73
+ if (e && typeof e === 'object' && 'code' in e && e.code === 'ENOENT') {
74
+ return `Error: File not found: ${resolved}`;
75
+ }
76
+ return `Error: ${e instanceof Error ? e.message : String(e)}`;
77
+ }
78
+ }
79
+ /**
80
+ * List directory contents using Node.js fs APIs (cross-platform).
81
+ */
82
+ export function listDirectory(dirPath) {
83
+ const resolved = resolvePath(dirPath);
84
+ try {
85
+ const stats = fs.statSync(resolved);
86
+ if (!stats.isDirectory()) {
87
+ return `Error: Not a directory: ${resolved}`;
88
+ }
89
+ const entries = fs.readdirSync(resolved, { withFileTypes: true });
90
+ const lines = [];
91
+ lines.push(`total ${entries.length}`);
92
+ // Sort entries: directories first, then alphabetically
93
+ const sortedEntries = entries.sort((a, b) => {
94
+ if (a.isDirectory() && !b.isDirectory())
95
+ return -1;
96
+ if (!a.isDirectory() && b.isDirectory())
97
+ return 1;
98
+ return a.name.localeCompare(b.name);
99
+ });
100
+ for (const entry of sortedEntries) {
101
+ const fullPath = path.join(resolved, entry.name);
102
+ try {
103
+ const entryStats = fs.lstatSync(fullPath);
104
+ const mode = formatMode(entryStats.mode, entry.isDirectory(), entry.isSymbolicLink());
105
+ const size = formatSize(entryStats.size);
106
+ const date = formatDate(entryStats.mtime);
107
+ const name = entry.isSymbolicLink()
108
+ ? `${entry.name} -> ${fs.readlinkSync(fullPath)}`
109
+ : entry.name;
110
+ lines.push(`${mode} ${size} ${date} ${name}`);
111
+ }
112
+ catch {
113
+ // If we can't stat the entry, show minimal info
114
+ lines.push(`?????????? ? ??? ?? ??:?? ${entry.name}`);
115
+ }
116
+ }
117
+ return lines.join('\n');
118
+ }
119
+ catch (e) {
120
+ if (e && typeof e === 'object' && 'code' in e && e.code === 'ENOENT') {
121
+ return `Error: Directory not found: ${resolved}`;
122
+ }
123
+ return `Error: ${e instanceof Error ? e.message : String(e)}`;
124
+ }
125
+ }
126
+ /**
127
+ * Search for a pattern in a file or directory using grep.
128
+ */
129
+ export async function grepFile(pattern, filePath, caseInsensitive = true, contextLines = 0, signal) {
130
+ const resolved = resolvePath(filePath);
131
+ const flags = [
132
+ '-n', // line numbers
133
+ caseInsensitive ? '-i' : '',
134
+ contextLines > 0 ? `-C ${contextLines}` : '',
135
+ ].filter(Boolean).join(' ');
136
+ return runCommand(`grep ${flags} -E "${pattern}" "${resolved}"`, undefined, signal);
137
+ }
138
+ //# sourceMappingURL=filesystem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../src/tools/filesystem.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Handle a tool call and return the result.
3
+ */
4
+ export declare function handleToolCall(name: string, inputData: Record<string, unknown>, signal?: AbortSignal): Promise<string>;
5
+ //# sourceMappingURL=handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/tools/handler.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAyD5H"}
@@ -0,0 +1,51 @@
1
+ import { runCommand } from './command.js';
2
+ import { readFile, listDirectory, grepFile } from './filesystem.js';
3
+ import { inspectEnv } from './env.js';
4
+ import { queryDatabase } from './database.js';
5
+ import { checkContainerHealth, searchLogs } from './docker.js';
6
+ import { handleDockerLoginGhcr, handleCheckAuthStatus } from './auth-tools.js';
7
+ import { handleDownloadDeploymentFiles, handleSaveDeploymentDir, handleGetDeploymentDir, logDeploymentEvent, getDeploymentHistory, listAvailableVersions, handleRecreateContainers, } from './deployment.js';
8
+ /**
9
+ * Handle a tool call and return the result.
10
+ */
11
+ export async function handleToolCall(name, inputData, signal) {
12
+ switch (name) {
13
+ case 'run_command':
14
+ return runCommand(inputData.command, undefined, signal);
15
+ case 'read_file':
16
+ return readFile(inputData.path, inputData.tail);
17
+ case 'list_directory':
18
+ return listDirectory(inputData.path);
19
+ case 'inspect_env':
20
+ return inspectEnv(inputData.show_all || false);
21
+ case 'query_database':
22
+ return queryDatabase(inputData.query, signal);
23
+ case 'search_logs':
24
+ return searchLogs(inputData.container, inputData.pattern, inputData.case_insensitive ?? true, inputData.context_lines ?? 2, signal);
25
+ case 'check_container_health':
26
+ return checkContainerHealth(inputData.container || 'all', signal);
27
+ case 'grep_file':
28
+ return grepFile(inputData.pattern, inputData.path, inputData.case_insensitive ?? true, inputData.context_lines ?? 0, signal);
29
+ case 'docker_login_ghcr':
30
+ return handleDockerLoginGhcr();
31
+ case 'check_auth_status':
32
+ return handleCheckAuthStatus();
33
+ case 'download_deployment_files':
34
+ return handleDownloadDeploymentFiles(inputData.target_dir);
35
+ case 'save_deployment_dir':
36
+ return handleSaveDeploymentDir(inputData.path);
37
+ case 'get_deployment_dir':
38
+ return handleGetDeploymentDir();
39
+ case 'log_deployment_event':
40
+ return logDeploymentEvent(inputData.event, inputData.version, inputData.status, inputData.previous_version, inputData.notes);
41
+ case 'get_deployment_history':
42
+ return getDeploymentHistory(inputData.limit ?? 10);
43
+ case 'list_available_versions':
44
+ return listAvailableVersions(inputData.include_prerelease ?? false);
45
+ case 'recreate_containers':
46
+ return handleRecreateContainers(inputData.org_id);
47
+ default:
48
+ return `Unknown tool: ${name}`;
49
+ }
50
+ }
51
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/tools/handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,462 @@
1
+ /**
2
+ * Tools module — barrel file.
3
+ * Aggregates tool definitions from domain submodules and re-exports
4
+ * the central handleToolCall dispatcher plus shared types.
5
+ */
6
+ export { detectDangerousCommand, checkCommand, allCategoriesApproved, type DangerousCommand, type DangerCheckResult, type RiskLevel, } from './types.js';
7
+ export { runCommand } from './command.js';
8
+ export { handleToolCall } from './handler.js';
9
+ export declare const TOOLS_ANTHROPIC: ({
10
+ name: string;
11
+ description: string;
12
+ input_schema: {
13
+ type: string;
14
+ properties: {
15
+ command: {
16
+ type: string;
17
+ description: string;
18
+ };
19
+ gist: {
20
+ type: string;
21
+ description: string;
22
+ };
23
+ };
24
+ required: string[];
25
+ };
26
+ } | {
27
+ name: string;
28
+ description: string;
29
+ input_schema: {
30
+ type: string;
31
+ properties: {
32
+ path: {
33
+ type: string;
34
+ description: string;
35
+ };
36
+ tail: {
37
+ type: string;
38
+ description: string;
39
+ };
40
+ pattern?: undefined;
41
+ case_insensitive?: undefined;
42
+ context_lines?: undefined;
43
+ };
44
+ required: string[];
45
+ };
46
+ } | {
47
+ name: string;
48
+ description: string;
49
+ input_schema: {
50
+ type: string;
51
+ properties: {
52
+ path: {
53
+ type: string;
54
+ description: string;
55
+ };
56
+ tail?: undefined;
57
+ pattern?: undefined;
58
+ case_insensitive?: undefined;
59
+ context_lines?: undefined;
60
+ };
61
+ required: string[];
62
+ };
63
+ } | {
64
+ name: string;
65
+ description: string;
66
+ input_schema: {
67
+ type: string;
68
+ properties: {
69
+ pattern: {
70
+ type: string;
71
+ description: string;
72
+ };
73
+ path: {
74
+ type: string;
75
+ description: string;
76
+ };
77
+ case_insensitive: {
78
+ type: string;
79
+ description: string;
80
+ };
81
+ context_lines: {
82
+ type: string;
83
+ description: string;
84
+ };
85
+ tail?: undefined;
86
+ };
87
+ required: string[];
88
+ };
89
+ } | {
90
+ name: string;
91
+ description: string;
92
+ input_schema: {
93
+ type: string;
94
+ properties: {
95
+ show_all: {
96
+ type: string;
97
+ description: string;
98
+ };
99
+ };
100
+ };
101
+ } | {
102
+ name: string;
103
+ description: string;
104
+ input_schema: {
105
+ type: string;
106
+ properties: {
107
+ query: {
108
+ type: string;
109
+ description: string;
110
+ };
111
+ };
112
+ required: string[];
113
+ };
114
+ } | {
115
+ name: string;
116
+ description: string;
117
+ input_schema: {
118
+ type: string;
119
+ properties: {
120
+ container: {
121
+ type: string;
122
+ description: string;
123
+ };
124
+ pattern: {
125
+ type: string;
126
+ description: string;
127
+ };
128
+ case_insensitive: {
129
+ type: string;
130
+ description: string;
131
+ };
132
+ context_lines: {
133
+ type: string;
134
+ description: string;
135
+ };
136
+ };
137
+ required: string[];
138
+ };
139
+ } | {
140
+ name: string;
141
+ description: string;
142
+ input_schema: {
143
+ type: string;
144
+ properties: {};
145
+ required?: undefined;
146
+ };
147
+ } | {
148
+ name: string;
149
+ description: string;
150
+ input_schema: {
151
+ type: string;
152
+ properties: {};
153
+ required: never[];
154
+ };
155
+ } | {
156
+ name: string;
157
+ description: string;
158
+ input_schema: {
159
+ type: string;
160
+ properties: {
161
+ target_dir: {
162
+ type: string;
163
+ description: string;
164
+ };
165
+ path?: undefined;
166
+ event?: undefined;
167
+ version?: undefined;
168
+ previous_version?: undefined;
169
+ status?: undefined;
170
+ notes?: undefined;
171
+ limit?: undefined;
172
+ include_prerelease?: undefined;
173
+ org_id?: undefined;
174
+ };
175
+ required: string[];
176
+ };
177
+ } | {
178
+ name: string;
179
+ description: string;
180
+ input_schema: {
181
+ type: string;
182
+ properties: {
183
+ path: {
184
+ type: string;
185
+ description: string;
186
+ };
187
+ target_dir?: undefined;
188
+ event?: undefined;
189
+ version?: undefined;
190
+ previous_version?: undefined;
191
+ status?: undefined;
192
+ notes?: undefined;
193
+ limit?: undefined;
194
+ include_prerelease?: undefined;
195
+ org_id?: undefined;
196
+ };
197
+ required: string[];
198
+ };
199
+ } | {
200
+ name: string;
201
+ description: string;
202
+ input_schema: {
203
+ type: string;
204
+ properties: {
205
+ event: {
206
+ type: string;
207
+ enum: string[];
208
+ description: string;
209
+ };
210
+ version: {
211
+ type: string;
212
+ description: string;
213
+ };
214
+ previous_version: {
215
+ type: string;
216
+ description: string;
217
+ };
218
+ status: {
219
+ type: string;
220
+ enum: string[];
221
+ description: string;
222
+ };
223
+ notes: {
224
+ type: string;
225
+ description: string;
226
+ };
227
+ target_dir?: undefined;
228
+ path?: undefined;
229
+ limit?: undefined;
230
+ include_prerelease?: undefined;
231
+ org_id?: undefined;
232
+ };
233
+ required: string[];
234
+ };
235
+ } | {
236
+ name: string;
237
+ description: string;
238
+ input_schema: {
239
+ type: string;
240
+ properties: {
241
+ org_id: {
242
+ type: string;
243
+ description: string;
244
+ };
245
+ target_dir?: undefined;
246
+ path?: undefined;
247
+ event?: undefined;
248
+ version?: undefined;
249
+ previous_version?: undefined;
250
+ status?: undefined;
251
+ notes?: undefined;
252
+ limit?: undefined;
253
+ include_prerelease?: undefined;
254
+ };
255
+ required: string[];
256
+ };
257
+ })[];
258
+ export declare const TOOLS_OPENAI: {
259
+ type: "function";
260
+ function: {
261
+ name: string;
262
+ description: string;
263
+ parameters: {
264
+ type: string;
265
+ properties: {
266
+ command: {
267
+ type: string;
268
+ description: string;
269
+ };
270
+ gist: {
271
+ type: string;
272
+ description: string;
273
+ };
274
+ };
275
+ required: string[];
276
+ } | {
277
+ type: string;
278
+ properties: {
279
+ path: {
280
+ type: string;
281
+ description: string;
282
+ };
283
+ tail: {
284
+ type: string;
285
+ description: string;
286
+ };
287
+ pattern?: undefined;
288
+ case_insensitive?: undefined;
289
+ context_lines?: undefined;
290
+ };
291
+ required: string[];
292
+ } | {
293
+ type: string;
294
+ properties: {
295
+ path: {
296
+ type: string;
297
+ description: string;
298
+ };
299
+ tail?: undefined;
300
+ pattern?: undefined;
301
+ case_insensitive?: undefined;
302
+ context_lines?: undefined;
303
+ };
304
+ required: string[];
305
+ } | {
306
+ type: string;
307
+ properties: {
308
+ pattern: {
309
+ type: string;
310
+ description: string;
311
+ };
312
+ path: {
313
+ type: string;
314
+ description: string;
315
+ };
316
+ case_insensitive: {
317
+ type: string;
318
+ description: string;
319
+ };
320
+ context_lines: {
321
+ type: string;
322
+ description: string;
323
+ };
324
+ tail?: undefined;
325
+ };
326
+ required: string[];
327
+ } | {
328
+ type: string;
329
+ properties: {
330
+ show_all: {
331
+ type: string;
332
+ description: string;
333
+ };
334
+ };
335
+ } | {
336
+ type: string;
337
+ properties: {
338
+ query: {
339
+ type: string;
340
+ description: string;
341
+ };
342
+ };
343
+ required: string[];
344
+ } | {
345
+ type: string;
346
+ properties: {
347
+ container: {
348
+ type: string;
349
+ description: string;
350
+ };
351
+ pattern: {
352
+ type: string;
353
+ description: string;
354
+ };
355
+ case_insensitive: {
356
+ type: string;
357
+ description: string;
358
+ };
359
+ context_lines: {
360
+ type: string;
361
+ description: string;
362
+ };
363
+ };
364
+ required: string[];
365
+ } | {
366
+ type: string;
367
+ properties: {};
368
+ required?: undefined;
369
+ } | {
370
+ type: string;
371
+ properties: {};
372
+ required: never[];
373
+ } | {
374
+ type: string;
375
+ properties: {
376
+ target_dir: {
377
+ type: string;
378
+ description: string;
379
+ };
380
+ path?: undefined;
381
+ event?: undefined;
382
+ version?: undefined;
383
+ previous_version?: undefined;
384
+ status?: undefined;
385
+ notes?: undefined;
386
+ limit?: undefined;
387
+ include_prerelease?: undefined;
388
+ org_id?: undefined;
389
+ };
390
+ required: string[];
391
+ } | {
392
+ type: string;
393
+ properties: {
394
+ path: {
395
+ type: string;
396
+ description: string;
397
+ };
398
+ target_dir?: undefined;
399
+ event?: undefined;
400
+ version?: undefined;
401
+ previous_version?: undefined;
402
+ status?: undefined;
403
+ notes?: undefined;
404
+ limit?: undefined;
405
+ include_prerelease?: undefined;
406
+ org_id?: undefined;
407
+ };
408
+ required: string[];
409
+ } | {
410
+ type: string;
411
+ properties: {
412
+ event: {
413
+ type: string;
414
+ enum: string[];
415
+ description: string;
416
+ };
417
+ version: {
418
+ type: string;
419
+ description: string;
420
+ };
421
+ previous_version: {
422
+ type: string;
423
+ description: string;
424
+ };
425
+ status: {
426
+ type: string;
427
+ enum: string[];
428
+ description: string;
429
+ };
430
+ notes: {
431
+ type: string;
432
+ description: string;
433
+ };
434
+ target_dir?: undefined;
435
+ path?: undefined;
436
+ limit?: undefined;
437
+ include_prerelease?: undefined;
438
+ org_id?: undefined;
439
+ };
440
+ required: string[];
441
+ } | {
442
+ type: string;
443
+ properties: {
444
+ org_id: {
445
+ type: string;
446
+ description: string;
447
+ };
448
+ target_dir?: undefined;
449
+ path?: undefined;
450
+ event?: undefined;
451
+ version?: undefined;
452
+ previous_version?: undefined;
453
+ status?: undefined;
454
+ notes?: undefined;
455
+ limit?: undefined;
456
+ include_prerelease?: undefined;
457
+ };
458
+ required: string[];
459
+ };
460
+ };
461
+ }[];
462
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,SAAS,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAY9C,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQ3B,CAAC;AAGF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAOtB,CAAC"}