@n1k1t/pipelain 0.1.0 → 0.1.2
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/README.md +1 -2
- package/lib/src/env.d.ts +20 -0
- package/lib/src/env.d.ts.map +1 -0
- package/lib/src/env.js +36 -0
- package/lib/src/env.js.map +1 -0
- package/lib/src/index.d.ts +22 -0
- package/lib/src/index.d.ts.map +1 -0
- package/lib/src/index.js +61 -0
- package/lib/src/index.js.map +1 -0
- package/lib/src/models/bash.d.ts +27 -0
- package/lib/src/models/bash.d.ts.map +1 -0
- package/lib/src/models/bash.js +59 -0
- package/lib/src/models/bash.js.map +1 -0
- package/lib/src/models/content/factory.d.ts +36 -0
- package/lib/src/models/content/factory.d.ts.map +1 -0
- package/lib/src/models/content/factory.js +104 -0
- package/lib/src/models/content/factory.js.map +1 -0
- package/lib/src/models/content/index.d.ts +4 -0
- package/lib/src/models/content/index.d.ts.map +1 -0
- package/lib/src/models/content/index.js +20 -0
- package/lib/src/models/content/index.js.map +1 -0
- package/lib/src/models/content/kinds/article.d.ts +12 -0
- package/lib/src/models/content/kinds/article.d.ts.map +1 -0
- package/lib/src/models/content/kinds/article.js +20 -0
- package/lib/src/models/content/kinds/article.js.map +1 -0
- package/lib/src/models/content/kinds/attachment.d.ts +14 -0
- package/lib/src/models/content/kinds/attachment.d.ts.map +1 -0
- package/lib/src/models/content/kinds/attachment.js +30 -0
- package/lib/src/models/content/kinds/attachment.js.map +1 -0
- package/lib/src/models/content/kinds/group.d.ts +7 -0
- package/lib/src/models/content/kinds/group.d.ts.map +1 -0
- package/lib/src/models/content/kinds/group.js +23 -0
- package/lib/src/models/content/kinds/group.js.map +1 -0
- package/lib/src/models/content/kinds/index.d.ts +8 -0
- package/lib/src/models/content/kinds/index.d.ts.map +1 -0
- package/lib/src/models/content/kinds/index.js +24 -0
- package/lib/src/models/content/kinds/index.js.map +1 -0
- package/lib/src/models/content/kinds/model.d.ts +10 -0
- package/lib/src/models/content/kinds/model.d.ts.map +1 -0
- package/lib/src/models/content/kinds/model.js +11 -0
- package/lib/src/models/content/kinds/model.js.map +1 -0
- package/lib/src/models/content/kinds/plain.d.ts +6 -0
- package/lib/src/models/content/kinds/plain.d.ts.map +1 -0
- package/lib/src/models/content/kinds/plain.js +18 -0
- package/lib/src/models/content/kinds/plain.js.map +1 -0
- package/lib/src/models/content/kinds/rules.d.ts +6 -0
- package/lib/src/models/content/kinds/rules.d.ts.map +1 -0
- package/lib/src/models/content/kinds/rules.js +19 -0
- package/lib/src/models/content/kinds/rules.js.map +1 -0
- package/lib/src/models/content/kinds/sources.d.ts +10 -0
- package/lib/src/models/content/kinds/sources.d.ts.map +1 -0
- package/lib/src/models/content/kinds/sources.js +22 -0
- package/lib/src/models/content/kinds/sources.js.map +1 -0
- package/lib/src/models/content/kinds/tasks.d.ts +6 -0
- package/lib/src/models/content/kinds/tasks.d.ts.map +1 -0
- package/lib/src/models/content/kinds/tasks.js +19 -0
- package/lib/src/models/content/kinds/tasks.js.map +1 -0
- package/lib/src/models/file.d.ts +34 -0
- package/lib/src/models/file.d.ts.map +1 -0
- package/lib/src/models/file.js +101 -0
- package/lib/src/models/file.js.map +1 -0
- package/lib/src/models/index.d.ts +9 -0
- package/lib/src/models/index.d.ts.map +1 -0
- package/lib/src/models/index.js +25 -0
- package/lib/src/models/index.js.map +1 -0
- package/lib/src/models/llm/factory.d.ts +43 -0
- package/lib/src/models/llm/factory.d.ts.map +1 -0
- package/lib/src/models/llm/factory.js +134 -0
- package/lib/src/models/llm/factory.js.map +1 -0
- package/lib/src/models/llm/index.d.ts +9 -0
- package/lib/src/models/llm/index.d.ts.map +1 -0
- package/lib/src/models/llm/index.js +25 -0
- package/lib/src/models/llm/index.js.map +1 -0
- package/lib/src/models/llm/mcp.d.ts +30 -0
- package/lib/src/models/llm/mcp.d.ts.map +1 -0
- package/lib/src/models/llm/mcp.js +53 -0
- package/lib/src/models/llm/mcp.js.map +1 -0
- package/lib/src/models/llm/providers/anthropic.d.ts +15 -0
- package/lib/src/models/llm/providers/anthropic.d.ts.map +1 -0
- package/lib/src/models/llm/providers/anthropic.js +39 -0
- package/lib/src/models/llm/providers/anthropic.js.map +1 -0
- package/lib/src/models/llm/providers/google.d.ts +11 -0
- package/lib/src/models/llm/providers/google.d.ts.map +1 -0
- package/lib/src/models/llm/providers/google.js +39 -0
- package/lib/src/models/llm/providers/google.js.map +1 -0
- package/lib/src/models/llm/providers/index.d.ts +6 -0
- package/lib/src/models/llm/providers/index.d.ts.map +1 -0
- package/lib/src/models/llm/providers/index.js +22 -0
- package/lib/src/models/llm/providers/index.js.map +1 -0
- package/lib/src/models/llm/providers/mistral.d.ts +10 -0
- package/lib/src/models/llm/providers/mistral.d.ts.map +1 -0
- package/lib/src/models/llm/providers/mistral.js +31 -0
- package/lib/src/models/llm/providers/mistral.js.map +1 -0
- package/lib/src/models/llm/providers/model.d.ts +43 -0
- package/lib/src/models/llm/providers/model.d.ts.map +1 -0
- package/lib/src/models/llm/providers/model.js +47 -0
- package/lib/src/models/llm/providers/model.js.map +1 -0
- package/lib/src/models/llm/providers/openai.d.ts +12 -0
- package/lib/src/models/llm/providers/openai.d.ts.map +1 -0
- package/lib/src/models/llm/providers/openai.js +36 -0
- package/lib/src/models/llm/providers/openai.js.map +1 -0
- package/lib/src/models/llm/providers/proxy.d.ts +10 -0
- package/lib/src/models/llm/providers/proxy.d.ts.map +1 -0
- package/lib/src/models/llm/providers/proxy.js +31 -0
- package/lib/src/models/llm/providers/proxy.js.map +1 -0
- package/lib/src/models/llm/router.d.ts +15 -0
- package/lib/src/models/llm/router.d.ts.map +1 -0
- package/lib/src/models/llm/router.js +86 -0
- package/lib/src/models/llm/router.js.map +1 -0
- package/lib/src/models/llm/tools/edit.d.ts +17 -0
- package/lib/src/models/llm/tools/edit.d.ts.map +1 -0
- package/lib/src/models/llm/tools/edit.js +59 -0
- package/lib/src/models/llm/tools/edit.js.map +1 -0
- package/lib/src/models/llm/tools/fetch.d.ts +12 -0
- package/lib/src/models/llm/tools/fetch.d.ts.map +1 -0
- package/lib/src/models/llm/tools/fetch.js +131 -0
- package/lib/src/models/llm/tools/fetch.js.map +1 -0
- package/lib/src/models/llm/tools/glob.d.ts +10 -0
- package/lib/src/models/llm/tools/glob.d.ts.map +1 -0
- package/lib/src/models/llm/tools/glob.js +36 -0
- package/lib/src/models/llm/tools/glob.js.map +1 -0
- package/lib/src/models/llm/tools/grep.d.ts +12 -0
- package/lib/src/models/llm/tools/grep.d.ts.map +1 -0
- package/lib/src/models/llm/tools/grep.js +69 -0
- package/lib/src/models/llm/tools/grep.js.map +1 -0
- package/lib/src/models/llm/tools/index.d.ts +14 -0
- package/lib/src/models/llm/tools/index.d.ts.map +1 -0
- package/lib/src/models/llm/tools/index.js +33 -0
- package/lib/src/models/llm/tools/index.js.map +1 -0
- package/lib/src/models/llm/tools/ls.d.ts +10 -0
- package/lib/src/models/llm/tools/ls.d.ts.map +1 -0
- package/lib/src/models/llm/tools/ls.js +45 -0
- package/lib/src/models/llm/tools/ls.js.map +1 -0
- package/lib/src/models/llm/tools/mkdir.d.ts +10 -0
- package/lib/src/models/llm/tools/mkdir.d.ts.map +1 -0
- package/lib/src/models/llm/tools/mkdir.js +29 -0
- package/lib/src/models/llm/tools/mkdir.js.map +1 -0
- package/lib/src/models/llm/tools/model.d.ts +62 -0
- package/lib/src/models/llm/tools/model.d.ts.map +1 -0
- package/lib/src/models/llm/tools/model.js +76 -0
- package/lib/src/models/llm/tools/model.js.map +1 -0
- package/lib/src/models/llm/tools/npm.d.ts +10 -0
- package/lib/src/models/llm/tools/npm.d.ts.map +1 -0
- package/lib/src/models/llm/tools/npm.js +25 -0
- package/lib/src/models/llm/tools/npm.js.map +1 -0
- package/lib/src/models/llm/tools/npx.d.ts +10 -0
- package/lib/src/models/llm/tools/npx.d.ts.map +1 -0
- package/lib/src/models/llm/tools/npx.js +25 -0
- package/lib/src/models/llm/tools/npx.js.map +1 -0
- package/lib/src/models/llm/tools/read.d.ts +12 -0
- package/lib/src/models/llm/tools/read.d.ts.map +1 -0
- package/lib/src/models/llm/tools/read.js +68 -0
- package/lib/src/models/llm/tools/read.js.map +1 -0
- package/lib/src/models/llm/tools/rm.d.ts +13 -0
- package/lib/src/models/llm/tools/rm.d.ts.map +1 -0
- package/lib/src/models/llm/tools/rm.js +40 -0
- package/lib/src/models/llm/tools/rm.js.map +1 -0
- package/lib/src/models/llm/tools/search.d.ts +14 -0
- package/lib/src/models/llm/tools/search.d.ts.map +1 -0
- package/lib/src/models/llm/tools/search.js +95 -0
- package/lib/src/models/llm/tools/search.js.map +1 -0
- package/lib/src/models/llm/tools/skill.d.ts +10 -0
- package/lib/src/models/llm/tools/skill.d.ts.map +1 -0
- package/lib/src/models/llm/tools/skill.js +31 -0
- package/lib/src/models/llm/tools/skill.js.map +1 -0
- package/lib/src/models/llm/tools/utils.d.ts +3 -0
- package/lib/src/models/llm/tools/utils.d.ts.map +1 -0
- package/lib/src/models/llm/tools/utils.js +28 -0
- package/lib/src/models/llm/tools/utils.js.map +1 -0
- package/lib/src/models/llm/tools/write.d.ts +14 -0
- package/lib/src/models/llm/tools/write.d.ts.map +1 -0
- package/lib/src/models/llm/tools/write.js +39 -0
- package/lib/src/models/llm/tools/write.js.map +1 -0
- package/lib/src/models/llm/types.d.ts +9 -0
- package/lib/src/models/llm/types.d.ts.map +1 -0
- package/lib/src/models/llm/types.js +5 -0
- package/lib/src/models/llm/types.js.map +1 -0
- package/lib/src/models/pipeline/context.d.ts +23 -0
- package/lib/src/models/pipeline/context.d.ts.map +1 -0
- package/lib/src/models/pipeline/context.js +49 -0
- package/lib/src/models/pipeline/context.js.map +1 -0
- package/lib/src/models/pipeline/factory.d.ts +22 -0
- package/lib/src/models/pipeline/factory.d.ts.map +1 -0
- package/lib/src/models/pipeline/factory.js +39 -0
- package/lib/src/models/pipeline/factory.js.map +1 -0
- package/lib/src/models/pipeline/index.d.ts +8 -0
- package/lib/src/models/pipeline/index.d.ts.map +1 -0
- package/lib/src/models/pipeline/index.js +24 -0
- package/lib/src/models/pipeline/index.js.map +1 -0
- package/lib/src/models/pipeline/model.d.ts +79 -0
- package/lib/src/models/pipeline/model.d.ts.map +1 -0
- package/lib/src/models/pipeline/model.js +138 -0
- package/lib/src/models/pipeline/model.js.map +1 -0
- package/lib/src/models/pipeline/parameters.d.ts +26 -0
- package/lib/src/models/pipeline/parameters.d.ts.map +1 -0
- package/lib/src/models/pipeline/parameters.js +31 -0
- package/lib/src/models/pipeline/parameters.js.map +1 -0
- package/lib/src/models/pipeline/session.d.ts +61 -0
- package/lib/src/models/pipeline/session.d.ts.map +1 -0
- package/lib/src/models/pipeline/session.js +26 -0
- package/lib/src/models/pipeline/session.js.map +1 -0
- package/lib/src/models/pipeline/stdout/compiled/console.d.ts +4 -0
- package/lib/src/models/pipeline/stdout/compiled/console.d.ts.map +1 -0
- package/lib/src/models/pipeline/stdout/compiled/console.js +71 -0
- package/lib/src/models/pipeline/stdout/compiled/console.js.map +1 -0
- package/lib/src/models/pipeline/stdout/compiled/index.d.ts +2 -0
- package/lib/src/models/pipeline/stdout/compiled/index.d.ts.map +1 -0
- package/lib/src/models/pipeline/stdout/compiled/index.js +9 -0
- package/lib/src/models/pipeline/stdout/compiled/index.js.map +1 -0
- package/lib/src/models/pipeline/stdout/index.d.ts +2 -0
- package/lib/src/models/pipeline/stdout/index.d.ts.map +1 -0
- package/lib/src/models/pipeline/stdout/index.js +18 -0
- package/lib/src/models/pipeline/stdout/index.js.map +1 -0
- package/lib/src/models/pipeline/stdout/model.d.ts +16 -0
- package/lib/src/models/pipeline/stdout/model.d.ts.map +1 -0
- package/lib/src/models/pipeline/stdout/model.js +32 -0
- package/lib/src/models/pipeline/stdout/model.js.map +1 -0
- package/lib/src/models/pipeline/steps/ai.d.ts +40 -0
- package/lib/src/models/pipeline/steps/ai.d.ts.map +1 -0
- package/lib/src/models/pipeline/steps/ai.js +538 -0
- package/lib/src/models/pipeline/steps/ai.js.map +1 -0
- package/lib/src/models/pipeline/steps/errors.d.ts +5 -0
- package/lib/src/models/pipeline/steps/errors.d.ts.map +1 -0
- package/lib/src/models/pipeline/steps/errors.js +10 -0
- package/lib/src/models/pipeline/steps/errors.js.map +1 -0
- package/lib/src/models/pipeline/steps/index.d.ts +7 -0
- package/lib/src/models/pipeline/steps/index.d.ts.map +1 -0
- package/lib/src/models/pipeline/steps/index.js +23 -0
- package/lib/src/models/pipeline/steps/index.js.map +1 -0
- package/lib/src/models/pipeline/steps/loop.d.ts +68 -0
- package/lib/src/models/pipeline/steps/loop.d.ts.map +1 -0
- package/lib/src/models/pipeline/steps/loop.js +96 -0
- package/lib/src/models/pipeline/steps/loop.js.map +1 -0
- package/lib/src/models/pipeline/steps/model.d.ts +28 -0
- package/lib/src/models/pipeline/steps/model.d.ts.map +1 -0
- package/lib/src/models/pipeline/steps/model.js +25 -0
- package/lib/src/models/pipeline/steps/model.js.map +1 -0
- package/lib/src/models/pipeline/steps/self.d.ts +25 -0
- package/lib/src/models/pipeline/steps/self.d.ts.map +1 -0
- package/lib/src/models/pipeline/steps/self.js +62 -0
- package/lib/src/models/pipeline/steps/self.js.map +1 -0
- package/lib/src/models/pipeline/steps/swarm.d.ts +25 -0
- package/lib/src/models/pipeline/steps/swarm.d.ts.map +1 -0
- package/lib/src/models/pipeline/steps/swarm.js +68 -0
- package/lib/src/models/pipeline/steps/swarm.js.map +1 -0
- package/lib/src/models/pipeline/steps/types.d.ts +6 -0
- package/lib/src/models/pipeline/steps/types.d.ts.map +1 -0
- package/lib/src/models/pipeline/steps/types.js +3 -0
- package/lib/src/models/pipeline/steps/types.js.map +1 -0
- package/lib/src/models/pipeline/types.d.ts +22 -0
- package/lib/src/models/pipeline/types.d.ts.map +1 -0
- package/lib/src/models/pipeline/types.js +3 -0
- package/lib/src/models/pipeline/types.js.map +1 -0
- package/lib/src/models/project.d.ts +29 -0
- package/lib/src/models/project.d.ts.map +1 -0
- package/lib/src/models/project.js +117 -0
- package/lib/src/models/project.js.map +1 -0
- package/lib/src/models/rg.d.ts +268 -0
- package/lib/src/models/rg.d.ts.map +1 -0
- package/lib/src/models/rg.js +154 -0
- package/lib/src/models/rg.js.map +1 -0
- package/lib/src/models/vfs.d.ts +11 -0
- package/lib/src/models/vfs.d.ts.map +1 -0
- package/lib/src/models/vfs.js +23 -0
- package/lib/src/models/vfs.js.map +1 -0
- package/lib/src/opentelemetry.d.ts +2 -0
- package/lib/src/opentelemetry.d.ts.map +1 -0
- package/lib/src/opentelemetry.js +19 -0
- package/lib/src/opentelemetry.js.map +1 -0
- package/lib/src/setup.d.ts +2 -0
- package/lib/src/setup.d.ts.map +1 -0
- package/lib/src/setup.js +25 -0
- package/lib/src/setup.js.map +1 -0
- package/lib/src/utils/common.d.ts +81 -0
- package/lib/src/utils/common.d.ts.map +1 -0
- package/lib/src/utils/common.js +133 -0
- package/lib/src/utils/common.js.map +1 -0
- package/lib/src/utils/index.d.ts +3 -0
- package/lib/src/utils/index.d.ts.map +1 -0
- package/lib/src/utils/index.js +19 -0
- package/lib/src/utils/index.js.map +1 -0
- package/lib/src/utils/meta.d.ts +9 -0
- package/lib/src/utils/meta.d.ts.map +1 -0
- package/lib/src/utils/meta.js +15 -0
- package/lib/src/utils/meta.js.map +1 -0
- package/lib/types/common.d.ts +73 -0
- package/lib/types/common.d.ts.map +1 -0
- package/lib/types/common.js +3 -0
- package/lib/types/common.js.map +1 -0
- package/lib/types/html-to-markdown.global.d.ts +6 -0
- package/lib/types/html-to-markdown.global.d.ts.map +1 -0
- package/lib/types/html-to-markdown.global.js +2 -0
- package/lib/types/html-to-markdown.global.js.map +1 -0
- package/lib/types/index.d.ts +2 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +18 -0
- package/lib/types/index.js.map +1 -0
- package/lib/types/json2md.global.d.ts +14 -0
- package/lib/types/json2md.global.d.ts.map +1 -0
- package/lib/types/json2md.global.js +4 -0
- package/lib/types/json2md.global.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { FlexibleSchema, Tool, ToolExecuteFunction } from 'ai';
|
|
2
|
+
import type { PipelineParameters, PipelineStep } from '../../pipeline';
|
|
3
|
+
import type { VirtualFileSystem } from '../../vfs';
|
|
4
|
+
export interface ILlmToolParameters<TOptions extends object> extends PipelineParameters {
|
|
5
|
+
options: TOptions;
|
|
6
|
+
step: PipelineStep;
|
|
7
|
+
vfs: VirtualFileSystem;
|
|
8
|
+
}
|
|
9
|
+
export declare class LlmToolCompilationError extends Error {
|
|
10
|
+
property: string;
|
|
11
|
+
constructor(property: string);
|
|
12
|
+
}
|
|
13
|
+
export declare class LlmToolExecutionError extends Error {
|
|
14
|
+
name: string;
|
|
15
|
+
constructor(name: string, reason: string);
|
|
16
|
+
static build(name: string, source: unknown): LlmToolExecutionError;
|
|
17
|
+
}
|
|
18
|
+
export declare class LlmToolCompiler<TSchema extends {
|
|
19
|
+
input: unknown;
|
|
20
|
+
output: unknown;
|
|
21
|
+
options: {};
|
|
22
|
+
} = any> {
|
|
23
|
+
description: string;
|
|
24
|
+
protected provided: {
|
|
25
|
+
executor?: LlmToolCompiler<TSchema>['TExecutor'];
|
|
26
|
+
options?: TSchema['options'];
|
|
27
|
+
schema: {
|
|
28
|
+
input?: FlexibleSchema<TSchema['input']>;
|
|
29
|
+
output?: FlexibleSchema<TSchema['output']>;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
TOptions: TSchema['options'];
|
|
33
|
+
TExecutor: (parameters: ILlmToolParameters<TSchema['options']>) => ToolExecuteFunction<TSchema['input'], TSchema['output']>;
|
|
34
|
+
constructor(description: string, provided: {
|
|
35
|
+
executor?: LlmToolCompiler<TSchema>['TExecutor'];
|
|
36
|
+
options?: TSchema['options'];
|
|
37
|
+
schema: {
|
|
38
|
+
input?: FlexibleSchema<TSchema['input']>;
|
|
39
|
+
output?: FlexibleSchema<TSchema['output']>;
|
|
40
|
+
};
|
|
41
|
+
});
|
|
42
|
+
input<T, U extends LlmToolCompiler<{
|
|
43
|
+
input: T;
|
|
44
|
+
output: TSchema['output'];
|
|
45
|
+
options: TSchema['options'];
|
|
46
|
+
}>>(schema: FlexibleSchema<T>): U;
|
|
47
|
+
output<T, U extends LlmToolCompiler<{
|
|
48
|
+
input: TSchema['input'];
|
|
49
|
+
output: T;
|
|
50
|
+
options: TSchema['options'];
|
|
51
|
+
}>>(schema: FlexibleSchema<T>): U;
|
|
52
|
+
/** Provides options to tool (makes clone of this instance) */
|
|
53
|
+
options(payload: TSchema['options']): this;
|
|
54
|
+
execute(executor: NonNullable<LlmToolCompiler<TSchema>['TExecutor']>): this;
|
|
55
|
+
compile(parameters: Omit<ILlmToolParameters<any>, 'options'>): Tool<TSchema['input'], TSchema['output']>;
|
|
56
|
+
static build<TOptions extends object = {}, TOutput = any>(description: string): LlmToolCompiler<{
|
|
57
|
+
input: unknown;
|
|
58
|
+
output: TOutput;
|
|
59
|
+
options: TOptions;
|
|
60
|
+
}>;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/models/llm/tools/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LlmToolCompiler = exports.LlmToolExecutionError = exports.LlmToolCompilationError = void 0;
|
|
4
|
+
const ai_1 = require("ai");
|
|
5
|
+
const bash_1 = require("../../bash");
|
|
6
|
+
class LlmToolCompilationError extends Error {
|
|
7
|
+
constructor(property) {
|
|
8
|
+
super(`Cannot compile without [${property}] property`);
|
|
9
|
+
this.property = property;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.LlmToolCompilationError = LlmToolCompilationError;
|
|
13
|
+
class LlmToolExecutionError extends Error {
|
|
14
|
+
constructor(name, reason) {
|
|
15
|
+
super(`Execution of [${name}] has failed: ${reason}`);
|
|
16
|
+
this.name = name;
|
|
17
|
+
}
|
|
18
|
+
static build(name, source) {
|
|
19
|
+
const reason = source instanceof bash_1.BashExecError
|
|
20
|
+
? source.stderr
|
|
21
|
+
: source instanceof Error
|
|
22
|
+
? source.message
|
|
23
|
+
: Array.isArray(source)
|
|
24
|
+
? source.join('. ')
|
|
25
|
+
: String(source);
|
|
26
|
+
return new LlmToolExecutionError(name, reason);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.LlmToolExecutionError = LlmToolExecutionError;
|
|
30
|
+
class LlmToolCompiler {
|
|
31
|
+
constructor(description, provided) {
|
|
32
|
+
this.description = description;
|
|
33
|
+
this.provided = provided;
|
|
34
|
+
}
|
|
35
|
+
input(schema) {
|
|
36
|
+
this.provided.schema.input = schema;
|
|
37
|
+
return this;
|
|
38
|
+
}
|
|
39
|
+
output(schema) {
|
|
40
|
+
this.provided.schema.output = schema;
|
|
41
|
+
return this;
|
|
42
|
+
}
|
|
43
|
+
/** Provides options to tool (makes clone of this instance) */
|
|
44
|
+
options(payload) {
|
|
45
|
+
const clone = new LlmToolCompiler(this.description, {
|
|
46
|
+
executor: this.provided.executor,
|
|
47
|
+
schema: this.provided.schema,
|
|
48
|
+
options: payload,
|
|
49
|
+
});
|
|
50
|
+
return clone;
|
|
51
|
+
}
|
|
52
|
+
execute(executor) {
|
|
53
|
+
this.provided.executor = executor;
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
56
|
+
compile(parameters) {
|
|
57
|
+
if (!this.provided.executor) {
|
|
58
|
+
throw new LlmToolCompilationError('executor');
|
|
59
|
+
}
|
|
60
|
+
return (0, ai_1.tool)({
|
|
61
|
+
description: this.description,
|
|
62
|
+
execute: this.provided.executor(parameters.extend({
|
|
63
|
+
vfs: parameters.vfs,
|
|
64
|
+
step: parameters.step,
|
|
65
|
+
options: this.provided.options ?? {},
|
|
66
|
+
})),
|
|
67
|
+
inputSchema: this.provided.schema.input,
|
|
68
|
+
outputSchema: this.provided.schema.output,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
static build(description) {
|
|
72
|
+
return new LlmToolCompiler(description, { schema: {} });
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.LlmToolCompiler = LlmToolCompiler;
|
|
76
|
+
//# sourceMappingURL=model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../../src/models/llm/tools/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npm.d.ts","sourceRoot":"","sources":["../../../../../src/models/llm/tools/npm.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAyB,MAAM,SAAS,CAAC;;;;;;;;AAGjE,wBAqBK"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const v3_1 = require("zod/v3");
|
|
4
|
+
const model_1 = require("./model");
|
|
5
|
+
const bash_1 = require("../../bash");
|
|
6
|
+
exports.default = model_1.LlmToolCompiler
|
|
7
|
+
.build('Run an npm command')
|
|
8
|
+
.input(v3_1.z.object({
|
|
9
|
+
command: v3_1.z.string().describe('The npm command to run (e.g., "install", "test")'),
|
|
10
|
+
}))
|
|
11
|
+
.output(v3_1.z.string().describe('Command output'))
|
|
12
|
+
.execute(() => async ({ command }) => {
|
|
13
|
+
try {
|
|
14
|
+
const bash = bash_1.Bash.build({ argv0: 'npm' });
|
|
15
|
+
const result = await bash.exec(command);
|
|
16
|
+
if (result.status === 'ERROR') {
|
|
17
|
+
throw result.error;
|
|
18
|
+
}
|
|
19
|
+
return result.stdout;
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
throw model_1.LlmToolExecutionError.build('npm', error);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=npm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npm.js","sourceRoot":"","sources":["../../../../../src/models/llm/tools/npm.ts"],"names":[],"mappings":";;AAAA,+BAA2B;AAE3B,mCAAiE;AACjE,qCAAkC;AAElC,kBAAe,uBAAe;KAC3B,KAAK,CAAC,oBAAoB,CAAC;KAC3B,KAAK,CACJ,MAAC,CAAC,MAAM,CAAC;IACP,OAAO,EAAE,MAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;CACjF,CAAC,CACH;KACA,MAAM,CAAC,MAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;KAC7C,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IACnC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,WAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAExC,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,MAAM,CAAC,KAAK,CAAC;QACrB,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,6BAAqB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npx.d.ts","sourceRoot":"","sources":["../../../../../src/models/llm/tools/npx.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAyB,MAAM,SAAS,CAAC;;;;;;;;AAGjE,wBAqBK"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const v3_1 = require("zod/v3");
|
|
4
|
+
const model_1 = require("./model");
|
|
5
|
+
const bash_1 = require("../../bash");
|
|
6
|
+
exports.default = model_1.LlmToolCompiler
|
|
7
|
+
.build('Run an npx command')
|
|
8
|
+
.input(v3_1.z.object({
|
|
9
|
+
command: v3_1.z.string().describe('The npx command to run (e.g., "tsc", "eslint")'),
|
|
10
|
+
}))
|
|
11
|
+
.output(v3_1.z.string().describe('Command output'))
|
|
12
|
+
.execute(() => async ({ command }) => {
|
|
13
|
+
try {
|
|
14
|
+
const bash = bash_1.Bash.build({ argv0: 'npx' });
|
|
15
|
+
const result = await bash.exec(command);
|
|
16
|
+
if (result.status === 'ERROR') {
|
|
17
|
+
throw result.error;
|
|
18
|
+
}
|
|
19
|
+
return result.stdout;
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
throw model_1.LlmToolExecutionError.build('npx', error);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=npx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npx.js","sourceRoot":"","sources":["../../../../../src/models/llm/tools/npx.ts"],"names":[],"mappings":";;AAAA,+BAA2B;AAE3B,mCAAiE;AACjE,qCAAkC;AAElC,kBAAe,uBAAe;KAC3B,KAAK,CAAC,oBAAoB,CAAC;KAC3B,KAAK,CACJ,MAAC,CAAC,MAAM,CAAC;IACP,OAAO,EAAE,MAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;CAC/E,CAAC,CACH;KACA,MAAM,CAAC,MAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;KAC7C,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IACnC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,WAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAExC,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,MAAM,CAAC,KAAK,CAAC;QACrB,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,6BAAqB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { LlmToolCompiler } from './model';
|
|
2
|
+
declare const _default: LlmToolCompiler<{
|
|
3
|
+
input: {
|
|
4
|
+
path: string;
|
|
5
|
+
start?: number | undefined;
|
|
6
|
+
end?: number | undefined;
|
|
7
|
+
};
|
|
8
|
+
output: string;
|
|
9
|
+
options: {};
|
|
10
|
+
}>;
|
|
11
|
+
export default _default;
|
|
12
|
+
//# sourceMappingURL=read.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../../../src/models/llm/tools/read.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAyB,MAAM,SAAS,CAAC;;;;;;;;;;AAKjE,wBAuEK"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const v3_1 = require("zod/v3");
|
|
4
|
+
const model_1 = require("./model");
|
|
5
|
+
const utils_1 = require("./utils");
|
|
6
|
+
const content_1 = require("../../content");
|
|
7
|
+
const file_1 = require("../../file");
|
|
8
|
+
exports.default = model_1.LlmToolCompiler
|
|
9
|
+
.build(content_1.ArticleContent
|
|
10
|
+
.build({
|
|
11
|
+
title: 'Read files contents',
|
|
12
|
+
content: [
|
|
13
|
+
{ p: `**Features:**` },
|
|
14
|
+
{
|
|
15
|
+
ul: [
|
|
16
|
+
'Parameter `path` should be relative to the project',
|
|
17
|
+
'Options `start` and `end` are helpful to cut file content (not acceptable for virtual files)',
|
|
18
|
+
],
|
|
19
|
+
},
|
|
20
|
+
{ p: `**Usage:**` },
|
|
21
|
+
{
|
|
22
|
+
ul: [
|
|
23
|
+
'Use the `grep` tool before this to catch a required context',
|
|
24
|
+
'Use this tool only when there are no any ways to get a context of files',
|
|
25
|
+
],
|
|
26
|
+
},
|
|
27
|
+
],
|
|
28
|
+
})
|
|
29
|
+
.render())
|
|
30
|
+
.input(v3_1.z.object({
|
|
31
|
+
path: v3_1.z.string().describe('The path to the file to read'),
|
|
32
|
+
start: v3_1.z.number().optional().describe('The line number to start reading from (1-indexed)'),
|
|
33
|
+
end: v3_1.z.number().optional().describe('The line number to end reading at (inclusive)'),
|
|
34
|
+
}))
|
|
35
|
+
.output(v3_1.z.string().describe('File content'))
|
|
36
|
+
.execute(({ vfs, context }) => async ({ path, start, end }) => {
|
|
37
|
+
try {
|
|
38
|
+
const virtual = vfs.get(path);
|
|
39
|
+
if (virtual) {
|
|
40
|
+
return virtual.content;
|
|
41
|
+
}
|
|
42
|
+
if (!(0, utils_1.checkPatternIsRestricted)(path)) {
|
|
43
|
+
throw model_1.LlmToolExecutionError.build('read', `Path "${path}" is going to out of scope the project`);
|
|
44
|
+
}
|
|
45
|
+
const file = await file_1.File.build(path, {
|
|
46
|
+
cwd: context.project.cwd,
|
|
47
|
+
state: 'existent',
|
|
48
|
+
strict: true,
|
|
49
|
+
});
|
|
50
|
+
if (start === undefined && end === undefined) {
|
|
51
|
+
return file.content;
|
|
52
|
+
}
|
|
53
|
+
const lines = file.content.split('\n');
|
|
54
|
+
const sliced = lines.slice(start ? start - 1 : 0, end ? end : lines.length);
|
|
55
|
+
const content = sliced.join('\n');
|
|
56
|
+
if (content.split(/\s+/).length > 5000) {
|
|
57
|
+
throw model_1.LlmToolExecutionError.build('read', [
|
|
58
|
+
'The file content is too large (over 5000 tokens).',
|
|
59
|
+
'Please use a smaller range with "start" and "end" parameters, or use the "grep" tool to find the relevant context',
|
|
60
|
+
]);
|
|
61
|
+
}
|
|
62
|
+
return content;
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
throw model_1.LlmToolExecutionError.build('read', error);
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
//# sourceMappingURL=read.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../../src/models/llm/tools/read.ts"],"names":[],"mappings":";;AAAA,+BAA2B;AAE3B,mCAAiE;AACjE,mCAAmD;AACnD,2CAA+C;AAC/C,qCAAkC;AAElC,kBAAe,uBAAe;KAC3B,KAAK,CACJ,wBAAc;KACX,KAAK,CAAC;IACL,KAAK,EAAE,qBAAqB;IAE5B,OAAO,EAAE;QACP,EAAE,CAAC,EAAE,eAAe,EAAE;QACtB;YACE,EAAE,EAAE;gBACF,oDAAoD;gBACpD,8FAA8F;aAC/F;SACF;QAED,EAAE,CAAC,EAAE,YAAY,EAAE;QACnB;YACE,EAAE,EAAE;gBACF,6DAA6D;gBAC7D,yEAAyE;aAC1E;SACF;KACF;CACF,CAAC;KACD,MAAM,EAAE,CACZ;KACA,KAAK,CACJ,MAAC,CAAC,MAAM,CAAC;IACP,IAAI,EAAE,MAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAEzD,KAAK,EAAE,MAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IAC1F,GAAG,EAAE,MAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;CACrF,CAAC,CACH;KACA,MAAM,CAAC,MAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;KAC3C,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;IAC5D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,OAAO,CAAC,OAAO,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,IAAA,gCAAwB,EAAC,IAAI,CAAC,EAAE,CAAC;YACpC,MAAM,6BAAqB,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,IAAI,wCAAwC,CAAC,CAAC;QACnG,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,WAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAClC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG;YACxB,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAElC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;YACvC,MAAM,6BAAqB,CAAC,KAAK,CAAC,MAAM,EAAE;gBACxC,mDAAmD;gBACnD,mHAAmH;aACpH,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,6BAAqB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { LlmToolCompiler } from './model';
|
|
2
|
+
declare const _default: LlmToolCompiler<{
|
|
3
|
+
input: {
|
|
4
|
+
path: string;
|
|
5
|
+
};
|
|
6
|
+
output: string;
|
|
7
|
+
options: {
|
|
8
|
+
/** Allowed paths/minimatch patterns to remove file */
|
|
9
|
+
allowed?: string[];
|
|
10
|
+
};
|
|
11
|
+
}>;
|
|
12
|
+
export default _default;
|
|
13
|
+
//# sourceMappingURL=rm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rm.d.ts","sourceRoot":"","sources":["../../../../../src/models/llm/tools/rm.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAyB,MAAM,SAAS,CAAC;;;;;;;QAK7D,sDAAsD;kBAC5C,MAAM,EAAE;;;AAHtB,wBAkCK"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const minimatch_1 = __importDefault(require("minimatch"));
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const promises_1 = __importDefault(require("fs/promises"));
|
|
9
|
+
const v3_1 = require("zod/v3");
|
|
10
|
+
const model_1 = require("./model");
|
|
11
|
+
const utils_1 = require("./utils");
|
|
12
|
+
exports.default = model_1.LlmToolCompiler
|
|
13
|
+
.build('Delete files or directories')
|
|
14
|
+
.input(v3_1.z.object({
|
|
15
|
+
path: v3_1.z.string().describe('The path to the file or directory to delete'),
|
|
16
|
+
}))
|
|
17
|
+
.output(v3_1.z.string().describe('Success message'))
|
|
18
|
+
.execute(({ context, options }) => async ({ path: location }) => {
|
|
19
|
+
try {
|
|
20
|
+
if (!(0, utils_1.checkPatternIsRestricted)(location)) {
|
|
21
|
+
throw model_1.LlmToolExecutionError.build('rm', `Path "${location}" is going to out of scope the project`);
|
|
22
|
+
}
|
|
23
|
+
if (options.allowed && !options.allowed.some((pattern) => (0, minimatch_1.default)(location, pattern, { matchBase: true }))) {
|
|
24
|
+
throw model_1.LlmToolExecutionError.build('rm', `Path "${location}" is not to be allowed to edit. Examinate the task again`);
|
|
25
|
+
}
|
|
26
|
+
const stats = await promises_1.default.stat(path_1.default.join(context.project.cwd, location)).catch(() => null);
|
|
27
|
+
if (!stats) {
|
|
28
|
+
throw model_1.LlmToolExecutionError.build('rm', `Path "${location}" does not exist`);
|
|
29
|
+
}
|
|
30
|
+
stats.isDirectory()
|
|
31
|
+
? await promises_1.default.rm(path_1.default.join(context.project.cwd, location), { recursive: true, force: true })
|
|
32
|
+
: await promises_1.default.rm(path_1.default.join(context.project.cwd, location));
|
|
33
|
+
context.project.files.rm(location);
|
|
34
|
+
return `Path "${location}" deleted successfully`;
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
throw model_1.LlmToolExecutionError.build('rm', error);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
//# sourceMappingURL=rm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rm.js","sourceRoot":"","sources":["../../../../../src/models/llm/tools/rm.ts"],"names":[],"mappings":";;;;;AAAA,0DAAkC;AAClC,gDAAwB;AACxB,2DAA6B;AAE7B,+BAA2B;AAE3B,mCAAiE;AACjE,mCAAmD;AAEnD,kBAAe,uBAAe;KAC3B,KAAK,CAGH,6BAA6B,CAAC;KAChC,KAAK,CACJ,MAAC,CAAC,MAAM,CAAC;IACP,IAAI,EAAE,MAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;CACzE,CAAC,CACH;KACA,MAAM,CAAC,MAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;KAC9C,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC9D,IAAI,CAAC;QACH,IAAI,CAAC,IAAA,gCAAwB,EAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,MAAM,6BAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,QAAQ,wCAAwC,CAAC,CAAC;QACrG,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,mBAAS,EAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAC7G,MAAM,6BAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,QAAQ,0DAA0D,CAAC,CAAC;QACvH,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,kBAAE,CAAC,IAAI,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAS,EAAE,CAAC,IAAI,CAAC,CAAC;QAC9F,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,6BAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,QAAQ,kBAAkB,CAAC,CAAC;QAC/E,CAAC;QAED,KAAK,CAAC,WAAW,EAAE;YACjB,CAAC,CAAC,MAAM,kBAAE,CAAC,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACzF,CAAC,CAAC,MAAM,kBAAE,CAAC,EAAE,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAA;QAEzD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,SAAS,QAAQ,wBAAwB,CAAC;IACnD,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,6BAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { LlmToolCompiler } from './model';
|
|
2
|
+
declare const _default: LlmToolCompiler<{
|
|
3
|
+
input: {
|
|
4
|
+
query: string;
|
|
5
|
+
type?: "auto" | "fast" | "deep" | undefined;
|
|
6
|
+
count?: number | undefined;
|
|
7
|
+
livecrawl?: "fallback" | "preferred" | undefined;
|
|
8
|
+
contextMaxCharacters?: number | undefined;
|
|
9
|
+
};
|
|
10
|
+
output: string;
|
|
11
|
+
options: {};
|
|
12
|
+
}>;
|
|
13
|
+
export default _default;
|
|
14
|
+
//# sourceMappingURL=search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../../../src/models/llm/tools/search.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAyB,MAAM,SAAS,CAAC;;;;;;;;;;;;AA6BjE,wBA8GK"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const v3_1 = require("zod/v3");
|
|
4
|
+
const model_1 = require("./model");
|
|
5
|
+
const content_1 = require("../../content");
|
|
6
|
+
exports.default = model_1.LlmToolCompiler
|
|
7
|
+
.build(content_1.ArticleContent
|
|
8
|
+
.build({
|
|
9
|
+
title: 'Search information from the internet',
|
|
10
|
+
content: [
|
|
11
|
+
{ p: `**Features:**` },
|
|
12
|
+
{
|
|
13
|
+
ul: [
|
|
14
|
+
'Search the web using Exa AI - performs real-time web searches and can scrape content from specific URLs',
|
|
15
|
+
'Provides up-to-date information for current events and recent data',
|
|
16
|
+
'Supports configurable result counts and returns the content from the most relevant websites',
|
|
17
|
+
'Use this tool for accessing information beyond knowledge cutoff',
|
|
18
|
+
'Searches are performed automatically within a single API call',
|
|
19
|
+
],
|
|
20
|
+
},
|
|
21
|
+
{ p: `**Usage:**` },
|
|
22
|
+
{
|
|
23
|
+
ul: [
|
|
24
|
+
'Supports live crawling modes: `fallback` (backup if cached unavailable) or `preferred` (prioritize live crawling)',
|
|
25
|
+
'Search types: `auto` (balanced), `fast` (quick results), `deep` (comprehensive search)',
|
|
26
|
+
'Configurable context length for optimal LLM integration',
|
|
27
|
+
'Domain filtering and advanced search options available',
|
|
28
|
+
],
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
})
|
|
32
|
+
.render())
|
|
33
|
+
.input(v3_1.z.object({
|
|
34
|
+
query: v3_1.z.string().describe('Websearch query'),
|
|
35
|
+
count: v3_1.z.number().optional().describe('Number of search results to return (default: 8)'),
|
|
36
|
+
livecrawl: v3_1.z
|
|
37
|
+
.enum(['fallback', 'preferred'])
|
|
38
|
+
.optional()
|
|
39
|
+
.describe('Live crawl mode - `fallback`: use live crawling as backup if cached content unavailable, `preferred`: prioritize live crawling (default: `fallback`)'),
|
|
40
|
+
type: v3_1.z
|
|
41
|
+
.enum(['auto', 'fast', 'deep'])
|
|
42
|
+
.optional()
|
|
43
|
+
.describe('Search type - `auto`: balanced search (default), `fast`: quick results, `deep`: comprehensive search'),
|
|
44
|
+
contextMaxCharacters: v3_1.z
|
|
45
|
+
.number()
|
|
46
|
+
.optional()
|
|
47
|
+
.describe('Maximum characters for context string optimized for LLMs (default: 10000)'),
|
|
48
|
+
}))
|
|
49
|
+
.output(v3_1.z.string().describe('Search results'))
|
|
50
|
+
.execute(() => async (parameters) => {
|
|
51
|
+
try {
|
|
52
|
+
const searchRequest = {
|
|
53
|
+
id: 1,
|
|
54
|
+
jsonrpc: '2.0',
|
|
55
|
+
method: 'tools/call',
|
|
56
|
+
params: {
|
|
57
|
+
name: 'web_search_exa',
|
|
58
|
+
arguments: {
|
|
59
|
+
query: parameters.query,
|
|
60
|
+
type: parameters.type ?? 'auto',
|
|
61
|
+
numResults: parameters.count ?? 8,
|
|
62
|
+
livecrawl: parameters.livecrawl ?? 'fallback',
|
|
63
|
+
contextMaxCharacters: parameters.contextMaxCharacters,
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
const response = await fetch('https://mcp.exa.ai/mcp', {
|
|
68
|
+
method: 'POST',
|
|
69
|
+
body: JSON.stringify(searchRequest),
|
|
70
|
+
headers: {
|
|
71
|
+
accept: 'application/json, text/event-stream',
|
|
72
|
+
'content-type': 'application/json',
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
if (!response.ok) {
|
|
76
|
+
const errorText = await response.text();
|
|
77
|
+
throw model_1.LlmToolExecutionError.build('search', `Search error (${response.status}): ${errorText}`);
|
|
78
|
+
}
|
|
79
|
+
const responseText = await response.text();
|
|
80
|
+
const lines = responseText.split('\n');
|
|
81
|
+
for (const line of lines) {
|
|
82
|
+
if (line.startsWith('data: ')) {
|
|
83
|
+
const data = JSON.parse(line.substring(6));
|
|
84
|
+
if (data.result?.content?.[0]?.text) {
|
|
85
|
+
return data.result.content[0].text;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return 'No search results found. Please try a different query.';
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
throw model_1.LlmToolExecutionError.build('search', error);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../../src/models/llm/tools/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../../../../src/models/llm/tools/skill.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAyB,MAAM,SAAS,CAAC;;;;;;;;AAGjE,wBA6BK"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const v3_1 = require("zod/v3");
|
|
4
|
+
const model_1 = require("./model");
|
|
5
|
+
const content_1 = require("../../content");
|
|
6
|
+
exports.default = model_1.LlmToolCompiler
|
|
7
|
+
.build(content_1.ArticleContent
|
|
8
|
+
.build({
|
|
9
|
+
title: 'Skill content extraction',
|
|
10
|
+
content: [
|
|
11
|
+
{ p: 'Extracts the content of a specific skill by its name.' },
|
|
12
|
+
],
|
|
13
|
+
})
|
|
14
|
+
.render())
|
|
15
|
+
.input(v3_1.z.object({
|
|
16
|
+
name: v3_1.z.string().describe('The name of the skill to extract content for'),
|
|
17
|
+
}))
|
|
18
|
+
.output(v3_1.z.string().describe('Skill content'))
|
|
19
|
+
.execute(({ context }) => async ({ name }) => {
|
|
20
|
+
try {
|
|
21
|
+
const skill = context.project.sources.skills[name];
|
|
22
|
+
if (!skill) {
|
|
23
|
+
throw model_1.LlmToolExecutionError.build('skill', `Skill "${name}" not found`);
|
|
24
|
+
}
|
|
25
|
+
return skill.content;
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
throw model_1.LlmToolExecutionError.build('skill', error);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=skill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../../../src/models/llm/tools/skill.ts"],"names":[],"mappings":";;AAAA,+BAA2B;AAE3B,mCAAiE;AACjE,2CAA+C;AAE/C,kBAAe,uBAAe;KAC3B,KAAK,CACJ,wBAAc;KACX,KAAK,CAAC;IACL,KAAK,EAAE,0BAA0B;IAEjC,OAAO,EAAE;QACP,EAAE,CAAC,EAAE,uDAAuD,EAAE;KAC/D;CACF,CAAC;KACD,MAAM,EAAE,CACZ;KACA,KAAK,CACJ,MAAC,CAAC,MAAM,CAAC;IACP,IAAI,EAAE,MAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;CAC1E,CAAC,CACH;KACA,MAAM,CAAC,MAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;KAC5C,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IAC3C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,6BAAqB,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,aAAa,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,6BAAqB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/models/llm/tools/utils.ts"],"names":[],"mappings":"AAEA,sEAAsE;AACtE,eAAO,MAAM,wBAAwB,YAAa,MAAM,KAAG,OAkB1D,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.checkPatternIsRestricted = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
/** Checks for path pattern restrictions like `.env`, `../` and etc */
|
|
9
|
+
const checkPatternIsRestricted = (pattern) => {
|
|
10
|
+
if (pattern.includes('..')) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
if (pattern.startsWith(path_1.default.sep)) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
if (pattern.startsWith('/')) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
if (pattern.startsWith('~')) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
if (pattern.endsWith('.env')) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
return true;
|
|
26
|
+
};
|
|
27
|
+
exports.checkPatternIsRestricted = checkPatternIsRestricted;
|
|
28
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/models/llm/tools/utils.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,sEAAsE;AAC/D,MAAM,wBAAwB,GAAG,CAAC,OAAe,EAAW,EAAE;IACnE,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,cAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAA;AAlBY,QAAA,wBAAwB,4BAkBpC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { LlmToolCompiler } from './model';
|
|
2
|
+
declare const _default: LlmToolCompiler<{
|
|
3
|
+
input: {
|
|
4
|
+
path: string;
|
|
5
|
+
content: string;
|
|
6
|
+
};
|
|
7
|
+
output: string;
|
|
8
|
+
options: {
|
|
9
|
+
/** Allowed paths/minimatch patterns to write file */
|
|
10
|
+
allowed?: string[];
|
|
11
|
+
};
|
|
12
|
+
}>;
|
|
13
|
+
export default _default;
|
|
14
|
+
//# sourceMappingURL=write.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write.d.ts","sourceRoot":"","sources":["../../../../../src/models/llm/tools/write.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAyB,MAAM,SAAS,CAAC;;;;;;;;QAM7D,qDAAqD;kBAC3C,MAAM,EAAE;;;AAHtB,wBAkCK"}
|