@librechat/agents 3.1.89 → 3.1.91
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/cjs/agents/AgentContext.cjs +9 -5
- package/dist/cjs/agents/AgentContext.cjs.map +1 -1
- package/dist/cjs/graphs/Graph.cjs +53 -14
- package/dist/cjs/graphs/Graph.cjs.map +1 -1
- package/dist/cjs/hooks/executeHooks.cjs +14 -7
- package/dist/cjs/hooks/executeHooks.cjs.map +1 -1
- package/dist/cjs/langfuse.cjs +234 -0
- package/dist/cjs/langfuse.cjs.map +1 -0
- package/dist/cjs/llm/anthropic/index.cjs +8 -2
- package/dist/cjs/llm/anthropic/index.cjs.map +1 -1
- package/dist/cjs/llm/anthropic/utils/message_inputs.cjs +34 -0
- package/dist/cjs/llm/anthropic/utils/message_inputs.cjs.map +1 -1
- package/dist/cjs/main.cjs +34 -0
- package/dist/cjs/main.cjs.map +1 -1
- package/dist/cjs/run.cjs +44 -27
- package/dist/cjs/run.cjs.map +1 -1
- package/dist/cjs/stream.cjs +10 -3
- package/dist/cjs/stream.cjs.map +1 -1
- package/dist/cjs/tools/BashExecutor.cjs +10 -9
- package/dist/cjs/tools/BashExecutor.cjs.map +1 -1
- package/dist/cjs/tools/BashProgrammaticToolCalling.cjs +12 -8
- package/dist/cjs/tools/BashProgrammaticToolCalling.cjs.map +1 -1
- package/dist/cjs/tools/CodeExecutor.cjs +35 -11
- package/dist/cjs/tools/CodeExecutor.cjs.map +1 -1
- package/dist/cjs/tools/CodeSessionFileSummary.cjs +63 -0
- package/dist/cjs/tools/CodeSessionFileSummary.cjs.map +1 -0
- package/dist/cjs/tools/ProgrammaticToolCalling.cjs +16 -12
- package/dist/cjs/tools/ProgrammaticToolCalling.cjs.map +1 -1
- package/dist/cjs/tools/ToolNode.cjs +8 -5
- package/dist/cjs/tools/ToolNode.cjs.map +1 -1
- package/dist/cjs/tools/cloudflare/CloudflareBridgeRuntime.cjs +380 -0
- package/dist/cjs/tools/cloudflare/CloudflareBridgeRuntime.cjs.map +1 -0
- package/dist/cjs/tools/cloudflare/CloudflareProgrammaticToolCalling.cjs +997 -0
- package/dist/cjs/tools/cloudflare/CloudflareProgrammaticToolCalling.cjs.map +1 -0
- package/dist/cjs/tools/cloudflare/CloudflareSandboxExecutionEngine.cjs +575 -0
- package/dist/cjs/tools/cloudflare/CloudflareSandboxExecutionEngine.cjs.map +1 -0
- package/dist/cjs/tools/cloudflare/CloudflareSandboxTools.cjs +165 -0
- package/dist/cjs/tools/cloudflare/CloudflareSandboxTools.cjs.map +1 -0
- package/dist/cjs/tools/local/LocalExecutionEngine.cjs +17 -5
- package/dist/cjs/tools/local/LocalExecutionEngine.cjs.map +1 -1
- package/dist/cjs/tools/local/resolveLocalExecutionTools.cjs +110 -6
- package/dist/cjs/tools/local/resolveLocalExecutionTools.cjs.map +1 -1
- package/dist/cjs/tools/subagent/SubagentExecutor.cjs +319 -29
- package/dist/cjs/tools/subagent/SubagentExecutor.cjs.map +1 -1
- package/dist/esm/agents/AgentContext.mjs +9 -5
- package/dist/esm/agents/AgentContext.mjs.map +1 -1
- package/dist/esm/graphs/Graph.mjs +53 -14
- package/dist/esm/graphs/Graph.mjs.map +1 -1
- package/dist/esm/hooks/executeHooks.mjs +14 -7
- package/dist/esm/hooks/executeHooks.mjs.map +1 -1
- package/dist/esm/langfuse.mjs +226 -0
- package/dist/esm/langfuse.mjs.map +1 -0
- package/dist/esm/llm/anthropic/index.mjs +9 -3
- package/dist/esm/llm/anthropic/index.mjs.map +1 -1
- package/dist/esm/llm/anthropic/utils/message_inputs.mjs +33 -1
- package/dist/esm/llm/anthropic/utils/message_inputs.mjs.map +1 -1
- package/dist/esm/main.mjs +7 -2
- package/dist/esm/main.mjs.map +1 -1
- package/dist/esm/run.mjs +44 -27
- package/dist/esm/run.mjs.map +1 -1
- package/dist/esm/stream.mjs +10 -3
- package/dist/esm/stream.mjs.map +1 -1
- package/dist/esm/tools/BashExecutor.mjs +11 -10
- package/dist/esm/tools/BashExecutor.mjs.map +1 -1
- package/dist/esm/tools/BashProgrammaticToolCalling.mjs +13 -9
- package/dist/esm/tools/BashProgrammaticToolCalling.mjs.map +1 -1
- package/dist/esm/tools/CodeExecutor.mjs +29 -12
- package/dist/esm/tools/CodeExecutor.mjs.map +1 -1
- package/dist/esm/tools/CodeSessionFileSummary.mjs +60 -0
- package/dist/esm/tools/CodeSessionFileSummary.mjs.map +1 -0
- package/dist/esm/tools/ProgrammaticToolCalling.mjs +17 -13
- package/dist/esm/tools/ProgrammaticToolCalling.mjs.map +1 -1
- package/dist/esm/tools/ToolNode.mjs +8 -5
- package/dist/esm/tools/ToolNode.mjs.map +1 -1
- package/dist/esm/tools/cloudflare/CloudflareBridgeRuntime.mjs +378 -0
- package/dist/esm/tools/cloudflare/CloudflareBridgeRuntime.mjs.map +1 -0
- package/dist/esm/tools/cloudflare/CloudflareProgrammaticToolCalling.mjs +994 -0
- package/dist/esm/tools/cloudflare/CloudflareProgrammaticToolCalling.mjs.map +1 -0
- package/dist/esm/tools/cloudflare/CloudflareSandboxExecutionEngine.mjs +566 -0
- package/dist/esm/tools/cloudflare/CloudflareSandboxExecutionEngine.mjs.map +1 -0
- package/dist/esm/tools/cloudflare/CloudflareSandboxTools.mjs +155 -0
- package/dist/esm/tools/cloudflare/CloudflareSandboxTools.mjs.map +1 -0
- package/dist/esm/tools/local/LocalExecutionEngine.mjs +17 -6
- package/dist/esm/tools/local/LocalExecutionEngine.mjs.map +1 -1
- package/dist/esm/tools/local/resolveLocalExecutionTools.mjs +111 -7
- package/dist/esm/tools/local/resolveLocalExecutionTools.mjs.map +1 -1
- package/dist/esm/tools/subagent/SubagentExecutor.mjs +320 -31
- package/dist/esm/tools/subagent/SubagentExecutor.mjs.map +1 -1
- package/dist/types/agents/AgentContext.d.ts +4 -1
- package/dist/types/graphs/Graph.d.ts +6 -5
- package/dist/types/index.d.ts +1 -0
- package/dist/types/langfuse.d.ts +48 -0
- package/dist/types/llm/anthropic/index.d.ts +3 -1
- package/dist/types/llm/anthropic/utils/message_inputs.d.ts +4 -0
- package/dist/types/tools/BashExecutor.d.ts +3 -3
- package/dist/types/tools/CodeExecutor.d.ts +10 -3
- package/dist/types/tools/CodeSessionFileSummary.d.ts +3 -0
- package/dist/types/tools/ProgrammaticToolCalling.d.ts +4 -4
- package/dist/types/tools/cloudflare/CloudflareBridgeRuntime.d.ts +23 -0
- package/dist/types/tools/cloudflare/CloudflareProgrammaticToolCalling.d.ts +4 -0
- package/dist/types/tools/cloudflare/CloudflareSandboxExecutionEngine.d.ts +21 -0
- package/dist/types/tools/cloudflare/CloudflareSandboxTools.d.ts +22 -0
- package/dist/types/tools/cloudflare/index.d.ts +4 -0
- package/dist/types/tools/local/LocalExecutionEngine.d.ts +1 -0
- package/dist/types/tools/subagent/SubagentExecutor.d.ts +8 -5
- package/dist/types/types/graph.d.ts +8 -0
- package/dist/types/types/tools.d.ts +120 -5
- package/package.json +4 -4
- package/src/__tests__/stream.eagerEventExecution.test.ts +66 -0
- package/src/agents/AgentContext.ts +13 -3
- package/src/graphs/Graph.ts +60 -16
- package/src/hooks/__tests__/executeHooks.test.ts +38 -0
- package/src/hooks/executeHooks.ts +27 -7
- package/src/index.ts +1 -0
- package/src/langfuse.ts +358 -0
- package/src/llm/anthropic/index.ts +27 -3
- package/src/llm/anthropic/llm.spec.ts +60 -1
- package/src/llm/anthropic/utils/message_inputs.ts +46 -0
- package/src/run.ts +60 -38
- package/src/specs/langfuse-config.test.ts +57 -0
- package/src/specs/langfuse-metadata.test.ts +19 -1
- package/src/stream.ts +13 -3
- package/src/tools/BashExecutor.ts +21 -10
- package/src/tools/BashProgrammaticToolCalling.ts +21 -9
- package/src/tools/CodeExecutor.ts +55 -12
- package/src/tools/CodeSessionFileSummary.ts +80 -0
- package/src/tools/ProgrammaticToolCalling.ts +25 -12
- package/src/tools/ToolNode.ts +8 -5
- package/src/tools/__tests__/BashExecutor.test.ts +9 -0
- package/src/tools/__tests__/CloudflareSandboxExecution.test.ts +537 -0
- package/src/tools/__tests__/CodeApiAuthHeaders.test.ts +43 -0
- package/src/tools/__tests__/ProgrammaticToolCalling.test.ts +100 -16
- package/src/tools/__tests__/SubagentExecutor.test.ts +540 -6
- package/src/tools/__tests__/ToolNode.outputReferences.test.ts +52 -0
- package/src/tools/__tests__/subagentHooks.test.ts +237 -0
- package/src/tools/cloudflare/CloudflareBridgeRuntime.ts +480 -0
- package/src/tools/cloudflare/CloudflareProgrammaticToolCalling.ts +1162 -0
- package/src/tools/cloudflare/CloudflareSandboxExecutionEngine.ts +744 -0
- package/src/tools/cloudflare/CloudflareSandboxTools.ts +225 -0
- package/src/tools/cloudflare/index.ts +4 -0
- package/src/tools/local/LocalExecutionEngine.ts +20 -4
- package/src/tools/local/resolveLocalExecutionTools.ts +169 -7
- package/src/tools/subagent/SubagentExecutor.ts +514 -36
- package/src/types/graph.ts +9 -0
- package/src/types/tools.ts +143 -5
package/src/types/tools.ts
CHANGED
|
@@ -303,9 +303,8 @@ export type FileRef = {
|
|
|
303
303
|
* `true` when the codeapi sandbox echoed this entry as an unchanged
|
|
304
304
|
* passthrough of an input the caller already owns (skill files,
|
|
305
305
|
* downloaded inputs whose hash matched the baseline, inherited
|
|
306
|
-
* `.dirkeep` markers). The
|
|
307
|
-
*
|
|
308
|
-
* conflate infrastructure inputs with newly-produced outputs.
|
|
306
|
+
* `.dirkeep` markers). The host can use this flag to skip
|
|
307
|
+
* post-processing work for files the caller already owns.
|
|
309
308
|
*/
|
|
310
309
|
inherited?: true;
|
|
311
310
|
};
|
|
@@ -506,11 +505,12 @@ export type ToolOutputReferencesConfig = {
|
|
|
506
505
|
maxTotalSize?: number;
|
|
507
506
|
};
|
|
508
507
|
|
|
509
|
-
export type ToolExecutionEngine = 'sandbox' | 'local';
|
|
508
|
+
export type ToolExecutionEngine = 'sandbox' | 'local' | 'cloudflare-sandbox';
|
|
510
509
|
|
|
511
510
|
/**
|
|
512
511
|
* Records pre-write file contents so callers can rewind edits/writes
|
|
513
|
-
* made by
|
|
512
|
+
* made by local-compatible coding-tool engines. Implementations live
|
|
513
|
+
* in `src/tools/local`.
|
|
514
514
|
*/
|
|
515
515
|
export interface LocalFileCheckpointer {
|
|
516
516
|
/**
|
|
@@ -635,6 +635,12 @@ export type LocalExecConfig = {
|
|
|
635
635
|
* overridden together for non-host engines.
|
|
636
636
|
*/
|
|
637
637
|
fs?: import('@/tools/local/workspaceFS').WorkspaceFS;
|
|
638
|
+
/**
|
|
639
|
+
* Set by custom execution backends that already provide their own
|
|
640
|
+
* sandbox boundary. Suppresses the local host-sandbox warning while
|
|
641
|
+
* preserving the warning for plain host `child_process` execution.
|
|
642
|
+
*/
|
|
643
|
+
sandboxed?: boolean;
|
|
638
644
|
};
|
|
639
645
|
|
|
640
646
|
export type LocalExecutionConfig = {
|
|
@@ -791,11 +797,143 @@ export type LocalExecutionConfig = {
|
|
|
791
797
|
};
|
|
792
798
|
};
|
|
793
799
|
|
|
800
|
+
export type CloudflareSandboxExecOptions = {
|
|
801
|
+
cwd?: string;
|
|
802
|
+
env?: Record<string, string | undefined>;
|
|
803
|
+
timeout?: number;
|
|
804
|
+
stream?: boolean;
|
|
805
|
+
onOutput?: (stream: 'stdout' | 'stderr', data: string) => void;
|
|
806
|
+
signal?: AbortSignal;
|
|
807
|
+
};
|
|
808
|
+
|
|
809
|
+
export type CloudflareSandboxExecResult = {
|
|
810
|
+
success?: boolean;
|
|
811
|
+
exitCode: number;
|
|
812
|
+
stdout: string;
|
|
813
|
+
stderr: string;
|
|
814
|
+
command?: string;
|
|
815
|
+
duration?: number;
|
|
816
|
+
timestamp?: string;
|
|
817
|
+
};
|
|
818
|
+
|
|
819
|
+
export type CloudflareSandboxReadFileResult =
|
|
820
|
+
| string
|
|
821
|
+
| Buffer
|
|
822
|
+
| Uint8Array
|
|
823
|
+
| {
|
|
824
|
+
content: string | Buffer | Uint8Array | ReadableStream<Uint8Array>;
|
|
825
|
+
size?: number;
|
|
826
|
+
mimeType?: string;
|
|
827
|
+
encoding?: 'utf-8' | 'utf8' | 'base64';
|
|
828
|
+
isBinary?: boolean;
|
|
829
|
+
};
|
|
830
|
+
|
|
831
|
+
export type CloudflareSandboxListFilesOptions = {
|
|
832
|
+
recursive?: boolean;
|
|
833
|
+
includeHidden?: boolean;
|
|
834
|
+
};
|
|
835
|
+
|
|
836
|
+
export type CloudflareSandboxFileInfo = {
|
|
837
|
+
name: string;
|
|
838
|
+
absolutePath?: string;
|
|
839
|
+
relativePath?: string;
|
|
840
|
+
type?: 'file' | 'directory' | 'symlink' | 'other';
|
|
841
|
+
size?: number;
|
|
842
|
+
modifiedAt?: string;
|
|
843
|
+
mode?: string;
|
|
844
|
+
};
|
|
845
|
+
|
|
846
|
+
export type CloudflareSandboxListFilesResult =
|
|
847
|
+
| CloudflareSandboxFileInfo[]
|
|
848
|
+
| {
|
|
849
|
+
files: CloudflareSandboxFileInfo[];
|
|
850
|
+
count?: number;
|
|
851
|
+
path?: string;
|
|
852
|
+
success?: boolean;
|
|
853
|
+
};
|
|
854
|
+
|
|
855
|
+
export interface CloudflareSandboxRuntime {
|
|
856
|
+
exec(
|
|
857
|
+
command: string,
|
|
858
|
+
options?: CloudflareSandboxExecOptions
|
|
859
|
+
): Promise<CloudflareSandboxExecResult>;
|
|
860
|
+
readFile(
|
|
861
|
+
path: string,
|
|
862
|
+
options?: { encoding?: string }
|
|
863
|
+
): Promise<CloudflareSandboxReadFileResult>;
|
|
864
|
+
writeFile(
|
|
865
|
+
path: string,
|
|
866
|
+
content: string | ReadableStream<Uint8Array>,
|
|
867
|
+
options?: { encoding?: string }
|
|
868
|
+
): Promise<unknown>;
|
|
869
|
+
mkdir(path: string, options?: { recursive?: boolean }): Promise<unknown>;
|
|
870
|
+
listFiles(
|
|
871
|
+
path: string,
|
|
872
|
+
options?: CloudflareSandboxListFilesOptions
|
|
873
|
+
): Promise<CloudflareSandboxListFilesResult>;
|
|
874
|
+
deleteFile(path: string): Promise<unknown>;
|
|
875
|
+
}
|
|
876
|
+
|
|
877
|
+
export type CloudflareSandboxExecutionConfig = {
|
|
878
|
+
sandbox:
|
|
879
|
+
| CloudflareSandboxRuntime
|
|
880
|
+
| (() => CloudflareSandboxRuntime | Promise<CloudflareSandboxRuntime>);
|
|
881
|
+
/** Working directory inside the sandbox. Defaults to `/workspace`. */
|
|
882
|
+
workspaceRoot?: string;
|
|
883
|
+
/** Extra environment variables merged into sandbox command executions. */
|
|
884
|
+
env?: Record<string, string | undefined>;
|
|
885
|
+
/** Default timeout for sandbox commands, in milliseconds. */
|
|
886
|
+
timeoutMs?: number;
|
|
887
|
+
/** Maximum stdout/stderr characters surfaced to the model. */
|
|
888
|
+
maxOutputChars?: number;
|
|
889
|
+
/**
|
|
890
|
+
* Add the built-in coding suite when `engine` is `cloudflare-sandbox`.
|
|
891
|
+
* Defaults to true, matching the local execution backend.
|
|
892
|
+
*/
|
|
893
|
+
includeCodingTools?: boolean;
|
|
894
|
+
/**
|
|
895
|
+
* Optional exact coding-tool names to expose when `includeCodingTools`
|
|
896
|
+
* is on. Defaults to the full local-parity Cloudflare bundle. Use this
|
|
897
|
+
* to publish a bash-only sandbox surface, for example file/search tools
|
|
898
|
+
* plus `bash_tool` and `run_tools_with_bash`, without exposing
|
|
899
|
+
* `execute_code`.
|
|
900
|
+
*/
|
|
901
|
+
codingToolNames?: readonly string[];
|
|
902
|
+
/** Optional shell executable for bash-style tools. Defaults to `bash`. */
|
|
903
|
+
shell?: string;
|
|
904
|
+
/**
|
|
905
|
+
* Optional project-level compile check configuration. Mirrors the local
|
|
906
|
+
* execution backend.
|
|
907
|
+
*/
|
|
908
|
+
compileCheck?: LocalExecutionConfig['compileCheck'];
|
|
909
|
+
/** Optional read-only guard for mutating coding tools. */
|
|
910
|
+
readOnly?: boolean;
|
|
911
|
+
/** Permit dangerous commands that the validator otherwise blocks. */
|
|
912
|
+
allowDangerousCommands?: LocalExecutionConfig['allowDangerousCommands'];
|
|
913
|
+
/** Tree-sitter-bash AST validation pass for bash commands. */
|
|
914
|
+
bashAst?: LocalExecutionConfig['bashAst'];
|
|
915
|
+
/**
|
|
916
|
+
* Enable per-Run file checkpointing for `edit_file` / `write_file`
|
|
917
|
+
* against the Cloudflare Sandbox workspace.
|
|
918
|
+
*/
|
|
919
|
+
fileCheckpointing?: LocalExecutionConfig['fileCheckpointing'];
|
|
920
|
+
/** Maximum bytes to read in `read_file` before returning a stub. */
|
|
921
|
+
maxReadBytes?: LocalExecutionConfig['maxReadBytes'];
|
|
922
|
+
/** Controls whether `read_file` returns binary files as attachments. */
|
|
923
|
+
attachReadAttachments?: LocalExecutionConfig['attachReadAttachments'];
|
|
924
|
+
/** Maximum pre-encoding byte size to embed inline. */
|
|
925
|
+
maxAttachmentBytes?: LocalExecutionConfig['maxAttachmentBytes'];
|
|
926
|
+
/** Run a fast per-file syntax check after successful edits/writes. */
|
|
927
|
+
postEditSyntaxCheck?: LocalExecutionConfig['postEditSyntaxCheck'];
|
|
928
|
+
};
|
|
929
|
+
|
|
794
930
|
export type ToolExecutionConfig = {
|
|
795
931
|
/** `sandbox` preserves the remote Code API behavior and is the default. */
|
|
796
932
|
engine?: ToolExecutionEngine;
|
|
797
933
|
/** Local process execution settings used when `engine` is `local`. */
|
|
798
934
|
local?: LocalExecutionConfig;
|
|
935
|
+
/** Cloudflare Sandbox execution settings used when `engine` is `cloudflare-sandbox`. */
|
|
936
|
+
cloudflare?: CloudflareSandboxExecutionConfig;
|
|
799
937
|
};
|
|
800
938
|
|
|
801
939
|
export type ProgrammaticCache = {
|