@n8n/agents 0.1.0
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/LICENSE.md +88 -0
- package/dist/build.tsbuildinfo +1 -0
- package/dist/evals/categorization.d.ts +2 -0
- package/dist/evals/categorization.js +23 -0
- package/dist/evals/categorization.js.map +1 -0
- package/dist/evals/contains-keywords.d.ts +2 -0
- package/dist/evals/contains-keywords.js +29 -0
- package/dist/evals/contains-keywords.js.map +1 -0
- package/dist/evals/correctness.d.ts +2 -0
- package/dist/evals/correctness.js +28 -0
- package/dist/evals/correctness.js.map +1 -0
- package/dist/evals/helpfulness.d.ts +2 -0
- package/dist/evals/helpfulness.js +26 -0
- package/dist/evals/helpfulness.js.map +1 -0
- package/dist/evals/index.d.ts +7 -0
- package/dist/evals/index.js +18 -0
- package/dist/evals/index.js.map +1 -0
- package/dist/evals/json-validity.d.ts +2 -0
- package/dist/evals/json-validity.js +21 -0
- package/dist/evals/json-validity.js.map +1 -0
- package/dist/evals/parse-judge-response.d.ts +2 -0
- package/dist/evals/parse-judge-response.js +25 -0
- package/dist/evals/parse-judge-response.js.map +1 -0
- package/dist/evals/string-similarity.d.ts +2 -0
- package/dist/evals/string-similarity.js +42 -0
- package/dist/evals/string-similarity.js.map +1 -0
- package/dist/evals/tool-call-accuracy.d.ts +2 -0
- package/dist/evals/tool-call-accuracy.js +29 -0
- package/dist/evals/tool-call-accuracy.js.map +1 -0
- package/dist/index.d.ts +34 -0
- package/dist/index.js +85 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations/langsmith.d.ts +13 -0
- package/dist/integrations/langsmith.js +77 -0
- package/dist/integrations/langsmith.js.map +1 -0
- package/dist/runtime/agent-runtime.d.ts +80 -0
- package/dist/runtime/agent-runtime.js +1246 -0
- package/dist/runtime/agent-runtime.js.map +1 -0
- package/dist/runtime/event-bus.d.ts +14 -0
- package/dist/runtime/event-bus.js +53 -0
- package/dist/runtime/event-bus.js.map +1 -0
- package/dist/runtime/logger.d.ts +22 -0
- package/dist/runtime/logger.js +40 -0
- package/dist/runtime/logger.js.map +1 -0
- package/dist/runtime/mcp-connection.d.ts +23 -0
- package/dist/runtime/mcp-connection.js +135 -0
- package/dist/runtime/mcp-connection.js.map +1 -0
- package/dist/runtime/mcp-tool-resolver.d.ts +7 -0
- package/dist/runtime/mcp-tool-resolver.js +64 -0
- package/dist/runtime/mcp-tool-resolver.js.map +1 -0
- package/dist/runtime/memory-store.d.ts +29 -0
- package/dist/runtime/memory-store.js +68 -0
- package/dist/runtime/memory-store.js.map +1 -0
- package/dist/runtime/message-list.d.ts +25 -0
- package/dist/runtime/message-list.js +79 -0
- package/dist/runtime/message-list.js.map +1 -0
- package/dist/runtime/messages.d.ts +8 -0
- package/dist/runtime/messages.js +239 -0
- package/dist/runtime/messages.js.map +1 -0
- package/dist/runtime/model-factory.d.ts +33 -0
- package/dist/runtime/model-factory.js +68 -0
- package/dist/runtime/model-factory.js.map +1 -0
- package/dist/runtime/run-state.d.ts +9 -0
- package/dist/runtime/run-state.js +49 -0
- package/dist/runtime/run-state.js.map +1 -0
- package/dist/runtime/runtime-helpers.d.ts +21 -0
- package/dist/runtime/runtime-helpers.js +96 -0
- package/dist/runtime/runtime-helpers.js.map +1 -0
- package/dist/runtime/stream.d.ts +15 -0
- package/dist/runtime/stream.js +94 -0
- package/dist/runtime/stream.js.map +1 -0
- package/dist/runtime/strip-orphaned-tool-messages.d.ts +2 -0
- package/dist/runtime/strip-orphaned-tool-messages.js +48 -0
- package/dist/runtime/strip-orphaned-tool-messages.js.map +1 -0
- package/dist/runtime/title-generation.d.ts +11 -0
- package/dist/runtime/title-generation.js +56 -0
- package/dist/runtime/title-generation.js.map +1 -0
- package/dist/runtime/tool-adapter.d.ts +23 -0
- package/dist/runtime/tool-adapter.js +104 -0
- package/dist/runtime/tool-adapter.js.map +1 -0
- package/dist/runtime/working-memory.d.ts +21 -0
- package/dist/runtime/working-memory.js +138 -0
- package/dist/runtime/working-memory.js.map +1 -0
- package/dist/sdk/agent.d.ts +88 -0
- package/dist/sdk/agent.js +327 -0
- package/dist/sdk/agent.js.map +1 -0
- package/dist/sdk/catalog.d.ts +31 -0
- package/dist/sdk/catalog.js +80 -0
- package/dist/sdk/catalog.js.map +1 -0
- package/dist/sdk/eval.d.ts +23 -0
- package/dist/sdk/eval.js +99 -0
- package/dist/sdk/eval.js.map +1 -0
- package/dist/sdk/evaluate.d.ts +13 -0
- package/dist/sdk/evaluate.js +84 -0
- package/dist/sdk/evaluate.js.map +1 -0
- package/dist/sdk/guardrail.d.ts +14 -0
- package/dist/sdk/guardrail.js +41 -0
- package/dist/sdk/guardrail.js.map +1 -0
- package/dist/sdk/mcp-client.d.ts +16 -0
- package/dist/sdk/mcp-client.js +128 -0
- package/dist/sdk/mcp-client.js.map +1 -0
- package/dist/sdk/memory.d.ts +22 -0
- package/dist/sdk/memory.js +101 -0
- package/dist/sdk/memory.js.map +1 -0
- package/dist/sdk/message.d.ts +4 -0
- package/dist/sdk/message.js +18 -0
- package/dist/sdk/message.js.map +1 -0
- package/dist/sdk/network.d.ts +20 -0
- package/dist/sdk/network.js +46 -0
- package/dist/sdk/network.js.map +1 -0
- package/dist/sdk/provider-tools.d.ts +18 -0
- package/dist/sdk/provider-tools.js +31 -0
- package/dist/sdk/provider-tools.js.map +1 -0
- package/dist/sdk/telemetry.d.ts +31 -0
- package/dist/sdk/telemetry.js +186 -0
- package/dist/sdk/telemetry.js.map +1 -0
- package/dist/sdk/tool.d.ts +38 -0
- package/dist/sdk/tool.js +143 -0
- package/dist/sdk/tool.js.map +1 -0
- package/dist/sdk/verify.d.ts +5 -0
- package/dist/sdk/verify.js +37 -0
- package/dist/sdk/verify.js.map +1 -0
- package/dist/storage/postgres-memory.d.ts +79 -0
- package/dist/storage/postgres-memory.js +411 -0
- package/dist/storage/postgres-memory.js.map +1 -0
- package/dist/storage/sqlite-memory.d.ts +60 -0
- package/dist/storage/sqlite-memory.js +349 -0
- package/dist/storage/sqlite-memory.js.map +1 -0
- package/dist/types/index.d.ts +13 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/runtime/event.d.ts +41 -0
- package/dist/types/runtime/event.js +14 -0
- package/dist/types/runtime/event.js.map +1 -0
- package/dist/types/runtime/message-list.d.ts +7 -0
- package/dist/types/runtime/message-list.js +3 -0
- package/dist/types/runtime/message-list.js.map +1 -0
- package/dist/types/sdk/agent.d.ts +174 -0
- package/dist/types/sdk/agent.js +3 -0
- package/dist/types/sdk/agent.js.map +1 -0
- package/dist/types/sdk/eval.d.ts +41 -0
- package/dist/types/sdk/eval.js +3 -0
- package/dist/types/sdk/eval.js.map +1 -0
- package/dist/types/sdk/guardrail.d.ts +9 -0
- package/dist/types/sdk/guardrail.js +3 -0
- package/dist/types/sdk/guardrail.js.map +1 -0
- package/dist/types/sdk/mcp.d.ts +24 -0
- package/dist/types/sdk/mcp.js +3 -0
- package/dist/types/sdk/mcp.js.map +1 -0
- package/dist/types/sdk/memory.d.ts +99 -0
- package/dist/types/sdk/memory.js +3 -0
- package/dist/types/sdk/memory.js.map +1 -0
- package/dist/types/sdk/message.d.ts +79 -0
- package/dist/types/sdk/message.js +3 -0
- package/dist/types/sdk/message.js.map +1 -0
- package/dist/types/sdk/provider.d.ts +16 -0
- package/dist/types/sdk/provider.js +3 -0
- package/dist/types/sdk/provider.js.map +1 -0
- package/dist/types/sdk/tool.d.ts +32 -0
- package/dist/types/sdk/tool.js +3 -0
- package/dist/types/sdk/tool.js.map +1 -0
- package/dist/types/telemetry.d.ts +18 -0
- package/dist/types/telemetry.js +3 -0
- package/dist/types/telemetry.js.map +1 -0
- package/dist/types/utils/json.d.ts +5 -0
- package/dist/types/utils/json.js +3 -0
- package/dist/types/utils/json.js.map +1 -0
- package/dist/utils/zod.d.ts +3 -0
- package/dist/utils/zod.js +7 -0
- package/dist/utils/zod.js.map +1 -0
- package/dist/workspace/filesystem/base-filesystem.d.ts +40 -0
- package/dist/workspace/filesystem/base-filesystem.js +99 -0
- package/dist/workspace/filesystem/base-filesystem.js.map +1 -0
- package/dist/workspace/index.d.ts +8 -0
- package/dist/workspace/index.js +17 -0
- package/dist/workspace/index.js.map +1 -0
- package/dist/workspace/lifecycle.d.ts +13 -0
- package/dist/workspace/lifecycle.js +11 -0
- package/dist/workspace/lifecycle.js.map +1 -0
- package/dist/workspace/process.d.ts +36 -0
- package/dist/workspace/process.js +76 -0
- package/dist/workspace/process.js.map +1 -0
- package/dist/workspace/sandbox/base-sandbox.d.ts +28 -0
- package/dist/workspace/sandbox/base-sandbox.js +163 -0
- package/dist/workspace/sandbox/base-sandbox.js.map +1 -0
- package/dist/workspace/tools/append-file.d.ts +3 -0
- package/dist/workspace/tools/append-file.js +22 -0
- package/dist/workspace/tools/append-file.js.map +1 -0
- package/dist/workspace/tools/copy-file.d.ts +3 -0
- package/dist/workspace/tools/copy-file.js +26 -0
- package/dist/workspace/tools/copy-file.js.map +1 -0
- package/dist/workspace/tools/delete-file.d.ts +3 -0
- package/dist/workspace/tools/delete-file.js +26 -0
- package/dist/workspace/tools/delete-file.js.map +1 -0
- package/dist/workspace/tools/execute-command.d.ts +3 -0
- package/dist/workspace/tools/execute-command.js +39 -0
- package/dist/workspace/tools/execute-command.js.map +1 -0
- package/dist/workspace/tools/file-stat.d.ts +3 -0
- package/dist/workspace/tools/file-stat.js +33 -0
- package/dist/workspace/tools/file-stat.js.map +1 -0
- package/dist/workspace/tools/list-files.d.ts +3 -0
- package/dist/workspace/tools/list-files.js +28 -0
- package/dist/workspace/tools/list-files.js.map +1 -0
- package/dist/workspace/tools/mkdir.d.ts +3 -0
- package/dist/workspace/tools/mkdir.js +22 -0
- package/dist/workspace/tools/mkdir.js.map +1 -0
- package/dist/workspace/tools/move-file.d.ts +3 -0
- package/dist/workspace/tools/move-file.js +26 -0
- package/dist/workspace/tools/move-file.js.map +1 -0
- package/dist/workspace/tools/process-tools.d.ts +4 -0
- package/dist/workspace/tools/process-tools.js +37 -0
- package/dist/workspace/tools/process-tools.js.map +1 -0
- package/dist/workspace/tools/read-file.d.ts +3 -0
- package/dist/workspace/tools/read-file.js +24 -0
- package/dist/workspace/tools/read-file.js.map +1 -0
- package/dist/workspace/tools/rmdir.d.ts +3 -0
- package/dist/workspace/tools/rmdir.js +26 -0
- package/dist/workspace/tools/rmdir.js.map +1 -0
- package/dist/workspace/tools/workspace-tools.d.ts +8 -0
- package/dist/workspace/tools/workspace-tools.js +39 -0
- package/dist/workspace/tools/workspace-tools.js.map +1 -0
- package/dist/workspace/tools/write-file.d.ts +3 -0
- package/dist/workspace/tools/write-file.js +26 -0
- package/dist/workspace/tools/write-file.js.map +1 -0
- package/dist/workspace/types.d.ts +178 -0
- package/dist/workspace/types.js +7 -0
- package/dist/workspace/types.js.map +1 -0
- package/dist/workspace/workspace.d.ts +21 -0
- package/dist/workspace/workspace.js +131 -0
- package/dist/workspace/workspace.js.map +1 -0
- package/package.json +65 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export interface EvalInput {
|
|
2
|
+
input: string;
|
|
3
|
+
output: string;
|
|
4
|
+
expected?: string;
|
|
5
|
+
toolCalls?: Array<{
|
|
6
|
+
tool: string;
|
|
7
|
+
input: unknown;
|
|
8
|
+
output: unknown;
|
|
9
|
+
}>;
|
|
10
|
+
}
|
|
11
|
+
export interface EvalScore {
|
|
12
|
+
pass: boolean;
|
|
13
|
+
reasoning: string;
|
|
14
|
+
}
|
|
15
|
+
export type JudgeFn = (prompt: string) => Promise<{
|
|
16
|
+
text: string;
|
|
17
|
+
}>;
|
|
18
|
+
export interface JudgeInput extends EvalInput {
|
|
19
|
+
llm: JudgeFn;
|
|
20
|
+
}
|
|
21
|
+
export type CheckFn = (input: EvalInput) => EvalScore | Promise<EvalScore>;
|
|
22
|
+
export type JudgeHandlerFn = (input: JudgeInput) => EvalScore | Promise<EvalScore>;
|
|
23
|
+
export interface BuiltEval {
|
|
24
|
+
readonly name: string;
|
|
25
|
+
readonly description?: string;
|
|
26
|
+
readonly _run: (input: EvalInput) => Promise<EvalScore>;
|
|
27
|
+
}
|
|
28
|
+
export interface EvalRunResult {
|
|
29
|
+
input: string;
|
|
30
|
+
output: string;
|
|
31
|
+
expected?: string;
|
|
32
|
+
scores: Record<string, EvalScore>;
|
|
33
|
+
}
|
|
34
|
+
export interface EvalResults {
|
|
35
|
+
runs: EvalRunResult[];
|
|
36
|
+
summary: Record<string, {
|
|
37
|
+
passed: number;
|
|
38
|
+
failed: number;
|
|
39
|
+
total: number;
|
|
40
|
+
}>;
|
|
41
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eval.js","sourceRoot":"","sources":["../../../src/types/sdk/eval.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type GuardrailType = 'pii' | 'prompt-injection' | 'moderation' | 'custom';
|
|
2
|
+
export type GuardrailStrategy = 'block' | 'redact' | 'warn';
|
|
3
|
+
export type PiiDetectionType = 'email' | 'phone' | 'credit-card' | 'ssn' | 'address';
|
|
4
|
+
export interface BuiltGuardrail {
|
|
5
|
+
readonly name: string;
|
|
6
|
+
readonly guardType: 'pii' | 'prompt-injection' | 'moderation' | 'custom';
|
|
7
|
+
readonly strategy: 'block' | 'redact' | 'warn';
|
|
8
|
+
readonly _config: Record<string, unknown>;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guardrail.js","sourceRoot":"","sources":["../../../src/types/sdk/guardrail.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type McpVerifyResult = {
|
|
2
|
+
ok: true;
|
|
3
|
+
servers: Array<{
|
|
4
|
+
name: string;
|
|
5
|
+
tools: number;
|
|
6
|
+
}>;
|
|
7
|
+
} | {
|
|
8
|
+
ok: false;
|
|
9
|
+
errors: Array<{
|
|
10
|
+
server: string;
|
|
11
|
+
error: string;
|
|
12
|
+
}>;
|
|
13
|
+
};
|
|
14
|
+
export interface McpServerConfig {
|
|
15
|
+
name: string;
|
|
16
|
+
url?: string;
|
|
17
|
+
transport?: 'sse' | 'streamableHttp';
|
|
18
|
+
command?: string;
|
|
19
|
+
args?: string[];
|
|
20
|
+
env?: Record<string, string>;
|
|
21
|
+
headers?: Record<string, string>;
|
|
22
|
+
connectionTimeoutMs?: number;
|
|
23
|
+
requireApproval?: string[] | boolean;
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/types/sdk/mcp.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
import type { ModelConfig, SerializableAgentState } from './agent';
|
|
3
|
+
import type { AgentDbMessage, AgentMessage } from './message';
|
|
4
|
+
export interface Thread {
|
|
5
|
+
id: string;
|
|
6
|
+
resourceId: string;
|
|
7
|
+
title?: string;
|
|
8
|
+
createdAt: Date;
|
|
9
|
+
updatedAt: Date;
|
|
10
|
+
metadata?: Record<string, unknown>;
|
|
11
|
+
}
|
|
12
|
+
export interface BuiltMemory {
|
|
13
|
+
getThread(threadId: string): Promise<Thread | null>;
|
|
14
|
+
saveThread(thread: Omit<Thread, 'createdAt' | 'updatedAt'>): Promise<Thread>;
|
|
15
|
+
deleteThread(threadId: string): Promise<void>;
|
|
16
|
+
getMessages(threadId: string, opts?: {
|
|
17
|
+
limit?: number;
|
|
18
|
+
before?: Date;
|
|
19
|
+
}): Promise<AgentDbMessage[]>;
|
|
20
|
+
saveMessages(args: {
|
|
21
|
+
threadId: string;
|
|
22
|
+
resourceId: string;
|
|
23
|
+
messages: AgentMessage[];
|
|
24
|
+
}): Promise<void>;
|
|
25
|
+
deleteMessages(messageIds: string[]): Promise<void>;
|
|
26
|
+
search?(query: string, opts?: {
|
|
27
|
+
scope?: 'thread' | 'resource';
|
|
28
|
+
threadId?: string;
|
|
29
|
+
resourceId?: string;
|
|
30
|
+
topK?: number;
|
|
31
|
+
messageRange?: {
|
|
32
|
+
before: number;
|
|
33
|
+
after: number;
|
|
34
|
+
};
|
|
35
|
+
}): Promise<AgentMessage[]>;
|
|
36
|
+
getWorkingMemory?(params: {
|
|
37
|
+
threadId: string;
|
|
38
|
+
resourceId: string;
|
|
39
|
+
scope: 'resource' | 'thread';
|
|
40
|
+
}): Promise<string | null>;
|
|
41
|
+
saveWorkingMemory?(params: {
|
|
42
|
+
threadId: string;
|
|
43
|
+
resourceId: string;
|
|
44
|
+
scope: 'resource' | 'thread';
|
|
45
|
+
}, content: string): Promise<void>;
|
|
46
|
+
saveEmbeddings?(opts: {
|
|
47
|
+
scope?: 'thread' | 'resource';
|
|
48
|
+
threadId?: string;
|
|
49
|
+
resourceId?: string;
|
|
50
|
+
entries: Array<{
|
|
51
|
+
id: string;
|
|
52
|
+
vector: number[];
|
|
53
|
+
text: string;
|
|
54
|
+
model: string;
|
|
55
|
+
}>;
|
|
56
|
+
}): Promise<void>;
|
|
57
|
+
queryEmbeddings?(opts: {
|
|
58
|
+
scope?: 'thread' | 'resource';
|
|
59
|
+
threadId?: string;
|
|
60
|
+
resourceId?: string;
|
|
61
|
+
vector: number[];
|
|
62
|
+
topK: number;
|
|
63
|
+
}): Promise<Array<{
|
|
64
|
+
id: string;
|
|
65
|
+
score: number;
|
|
66
|
+
}>>;
|
|
67
|
+
close?(): Promise<void>;
|
|
68
|
+
}
|
|
69
|
+
export interface SemanticRecallConfig {
|
|
70
|
+
scope?: 'thread' | 'resource';
|
|
71
|
+
topK: number;
|
|
72
|
+
messageRange?: {
|
|
73
|
+
before: number;
|
|
74
|
+
after: number;
|
|
75
|
+
};
|
|
76
|
+
embedder?: string;
|
|
77
|
+
apiKey?: string;
|
|
78
|
+
}
|
|
79
|
+
export interface TitleGenerationConfig {
|
|
80
|
+
model?: ModelConfig;
|
|
81
|
+
instructions?: string;
|
|
82
|
+
}
|
|
83
|
+
export interface MemoryConfig {
|
|
84
|
+
memory: BuiltMemory;
|
|
85
|
+
lastMessages: number;
|
|
86
|
+
workingMemory?: {
|
|
87
|
+
template: string;
|
|
88
|
+
structured: boolean;
|
|
89
|
+
schema?: z.ZodObject<z.ZodRawShape>;
|
|
90
|
+
scope: 'resource' | 'thread';
|
|
91
|
+
};
|
|
92
|
+
semanticRecall?: SemanticRecallConfig;
|
|
93
|
+
titleGeneration?: TitleGenerationConfig;
|
|
94
|
+
}
|
|
95
|
+
export interface CheckpointStore {
|
|
96
|
+
save(key: string, state: SerializableAgentState): Promise<void>;
|
|
97
|
+
load(key: string): Promise<SerializableAgentState | undefined>;
|
|
98
|
+
delete(key: string): Promise<void>;
|
|
99
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/types/sdk/memory.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import type { ProviderOptions } from '@ai-sdk/provider-utils';
|
|
2
|
+
import type { JSONValue } from '../utils/json';
|
|
3
|
+
export type MessageRole = 'system' | 'user' | 'assistant' | 'tool';
|
|
4
|
+
export type MessageContent = ContentText | ContentToolCall | ContentInvalidToolCall | ContentToolResult | ContentReasoning | ContentFile | ContentCitation | ContentProvider;
|
|
5
|
+
export interface ContentMetadata {
|
|
6
|
+
providerMetadata?: Record<string, unknown>;
|
|
7
|
+
providerOptions?: ProviderOptions;
|
|
8
|
+
}
|
|
9
|
+
export type ContentCitation = ContentMetadata & {
|
|
10
|
+
type: 'citation';
|
|
11
|
+
source?: string;
|
|
12
|
+
url?: string;
|
|
13
|
+
title?: string;
|
|
14
|
+
startIndex?: number;
|
|
15
|
+
endIndex?: number;
|
|
16
|
+
text?: string;
|
|
17
|
+
};
|
|
18
|
+
export type ContentText = ContentMetadata & {
|
|
19
|
+
type: 'text';
|
|
20
|
+
text: string;
|
|
21
|
+
};
|
|
22
|
+
export type ContentReasoning = ContentMetadata & {
|
|
23
|
+
type: 'reasoning';
|
|
24
|
+
text: string;
|
|
25
|
+
};
|
|
26
|
+
export type ContentFile = ContentMetadata & {
|
|
27
|
+
type: 'file';
|
|
28
|
+
mediaType?: string;
|
|
29
|
+
data: Uint8Array | ArrayBuffer | Buffer | string;
|
|
30
|
+
};
|
|
31
|
+
export type ContentToolCall = ContentMetadata & {
|
|
32
|
+
type: 'tool-call';
|
|
33
|
+
toolCallId?: string;
|
|
34
|
+
toolName: string;
|
|
35
|
+
input: JSONValue;
|
|
36
|
+
providerExecuted?: boolean;
|
|
37
|
+
};
|
|
38
|
+
export type ContentToolResult = ContentMetadata & {
|
|
39
|
+
type: 'tool-result';
|
|
40
|
+
toolName: string;
|
|
41
|
+
toolCallId: string;
|
|
42
|
+
result: JSONValue;
|
|
43
|
+
isError?: boolean;
|
|
44
|
+
};
|
|
45
|
+
export type ContentInvalidToolCall = ContentMetadata & {
|
|
46
|
+
type: 'invalid-tool-call';
|
|
47
|
+
toolCallId?: string;
|
|
48
|
+
error?: string;
|
|
49
|
+
args?: JSONValue;
|
|
50
|
+
name?: string;
|
|
51
|
+
};
|
|
52
|
+
export type ContentProvider = ContentMetadata & {
|
|
53
|
+
type: 'provider';
|
|
54
|
+
value: Record<string, unknown>;
|
|
55
|
+
};
|
|
56
|
+
export interface Message {
|
|
57
|
+
id?: string;
|
|
58
|
+
type?: 'llm';
|
|
59
|
+
role: MessageRole;
|
|
60
|
+
content: MessageContent[];
|
|
61
|
+
name?: string;
|
|
62
|
+
providerOptions?: ProviderOptions;
|
|
63
|
+
}
|
|
64
|
+
export interface AgentMessageBase {
|
|
65
|
+
type: 'agent';
|
|
66
|
+
}
|
|
67
|
+
export interface CustomAgentMessages {
|
|
68
|
+
___dummyCustomMessage: {
|
|
69
|
+
dummy: string;
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
export type CustomAgentMessage = {
|
|
73
|
+
type: 'custom';
|
|
74
|
+
data: CustomAgentMessages[keyof CustomAgentMessages];
|
|
75
|
+
};
|
|
76
|
+
export type AgentMessage = Message | CustomAgentMessage;
|
|
77
|
+
export type AgentDbMessage = {
|
|
78
|
+
id: string;
|
|
79
|
+
} & AgentMessage;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/types/sdk/message.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type Provider = 'anthropic' | 'cerebras' | 'deepinfra' | 'deepseek' | 'google' | 'groq' | 'mistral' | 'openai' | 'openrouter' | 'perplexity' | 'togetherai' | 'vercel' | 'xai' | (string & {});
|
|
2
|
+
export interface AnthropicThinkingConfig {
|
|
3
|
+
budgetTokens?: number;
|
|
4
|
+
}
|
|
5
|
+
export interface OpenAIThinkingConfig {
|
|
6
|
+
reasoningEffort?: 'low' | 'medium' | 'high';
|
|
7
|
+
}
|
|
8
|
+
export interface GoogleThinkingConfig {
|
|
9
|
+
thinkingBudget?: number;
|
|
10
|
+
thinkingLevel?: 'minimal' | 'low' | 'medium' | 'high';
|
|
11
|
+
}
|
|
12
|
+
export interface XaiThinkingConfig {
|
|
13
|
+
reasoningEffort?: 'low' | 'high';
|
|
14
|
+
}
|
|
15
|
+
export type ThinkingConfigFor<P> = P extends 'anthropic' ? AnthropicThinkingConfig : P extends 'google' ? GoogleThinkingConfig : P extends 'xai' ? XaiThinkingConfig : P extends string ? OpenAIThinkingConfig : ThinkingConfig;
|
|
16
|
+
export type ThinkingConfig = AnthropicThinkingConfig | OpenAIThinkingConfig | GoogleThinkingConfig | XaiThinkingConfig;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/types/sdk/provider.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { JSONSchema7 } from 'json-schema';
|
|
2
|
+
import type { ZodType } from 'zod';
|
|
3
|
+
import type { AgentMessage } from './message';
|
|
4
|
+
import type { BuiltTelemetry } from '../telemetry';
|
|
5
|
+
import type { JSONObject } from '../utils/json';
|
|
6
|
+
export interface ToolContext {
|
|
7
|
+
parentTelemetry?: BuiltTelemetry;
|
|
8
|
+
}
|
|
9
|
+
export interface InterruptibleToolContext<S = unknown, R = unknown> {
|
|
10
|
+
suspend: (payload: S) => Promise<never>;
|
|
11
|
+
resumeData: R | undefined;
|
|
12
|
+
parentTelemetry?: BuiltTelemetry;
|
|
13
|
+
}
|
|
14
|
+
export interface BuiltTool {
|
|
15
|
+
readonly name: string;
|
|
16
|
+
readonly description: string;
|
|
17
|
+
readonly suspendSchema?: ZodType;
|
|
18
|
+
readonly resumeSchema?: ZodType;
|
|
19
|
+
readonly toMessage?: (output: unknown) => AgentMessage | undefined;
|
|
20
|
+
readonly toModelOutput?: (output: unknown) => unknown;
|
|
21
|
+
readonly handler?: (input: unknown, ctx: ToolContext | InterruptibleToolContext) => Promise<unknown>;
|
|
22
|
+
readonly inputSchema?: ZodType | JSONSchema7;
|
|
23
|
+
readonly outputSchema?: ZodType;
|
|
24
|
+
readonly mcpTool?: boolean;
|
|
25
|
+
readonly mcpServerName?: string;
|
|
26
|
+
readonly providerOptions?: Record<string, JSONObject>;
|
|
27
|
+
}
|
|
28
|
+
export interface BuiltProviderTool {
|
|
29
|
+
readonly name: `${string}.${string}`;
|
|
30
|
+
readonly args: Record<string, unknown>;
|
|
31
|
+
inputSchema?: ZodType;
|
|
32
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/types/sdk/tool.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { TelemetryIntegration } from 'ai';
|
|
2
|
+
export type AttributeValue = string | number | boolean | string[] | number[] | boolean[];
|
|
3
|
+
export type OpaqueTracer = unknown;
|
|
4
|
+
export interface OpaqueTracerProvider {
|
|
5
|
+
forceFlush(): Promise<void>;
|
|
6
|
+
shutdown(): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export interface BuiltTelemetry {
|
|
9
|
+
readonly enabled: boolean;
|
|
10
|
+
readonly functionId?: string;
|
|
11
|
+
readonly metadata?: Record<string, AttributeValue>;
|
|
12
|
+
readonly recordInputs: boolean;
|
|
13
|
+
readonly recordOutputs: boolean;
|
|
14
|
+
readonly integrations: TelemetryIntegration[];
|
|
15
|
+
readonly tracer?: OpaqueTracer;
|
|
16
|
+
readonly provider?: OpaqueTracerProvider;
|
|
17
|
+
readonly credentialName?: string;
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/types/telemetry.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/types/utils/json.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zod.js","sourceRoot":"","sources":["../../src/utils/zod.ts"],"names":[],"mappings":";;AAIA,kCAEC;AAFD,SAAgB,WAAW,CAAC,MAA6B;IACxD,OAAO,OAAQ,MAAkB,CAAC,SAAS,KAAK,UAAU,CAAC;AAC5D,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { ProviderStatus, WorkspaceFilesystem, FileContent, FileStat, FileEntry, ReadOptions, WriteOptions, ListOptions, RemoveOptions, CopyOptions } from '../types';
|
|
2
|
+
export type FilesystemLifecycleHook = (args: {
|
|
3
|
+
filesystem: WorkspaceFilesystem;
|
|
4
|
+
}) => void | Promise<void>;
|
|
5
|
+
export interface BaseFilesystemOptions {
|
|
6
|
+
onInit?: FilesystemLifecycleHook;
|
|
7
|
+
onDestroy?: FilesystemLifecycleHook;
|
|
8
|
+
}
|
|
9
|
+
export declare abstract class BaseFilesystem implements WorkspaceFilesystem {
|
|
10
|
+
abstract readonly id: string;
|
|
11
|
+
abstract readonly name: string;
|
|
12
|
+
abstract readonly provider: string;
|
|
13
|
+
abstract status: ProviderStatus;
|
|
14
|
+
error?: string;
|
|
15
|
+
private initPromise?;
|
|
16
|
+
private destroyPromise?;
|
|
17
|
+
private readonly onInitHook?;
|
|
18
|
+
private readonly onDestroyHook?;
|
|
19
|
+
constructor(options?: BaseFilesystemOptions);
|
|
20
|
+
_init(): Promise<void>;
|
|
21
|
+
private executeInit;
|
|
22
|
+
init(): Promise<void>;
|
|
23
|
+
protected ensureReady(): Promise<void>;
|
|
24
|
+
_destroy(): Promise<void>;
|
|
25
|
+
private executeDestroy;
|
|
26
|
+
destroy(): Promise<void>;
|
|
27
|
+
abstract readFile(path: string, options?: ReadOptions): Promise<string | Buffer>;
|
|
28
|
+
abstract writeFile(path: string, content: FileContent, options?: WriteOptions): Promise<void>;
|
|
29
|
+
abstract appendFile(path: string, content: FileContent): Promise<void>;
|
|
30
|
+
abstract deleteFile(path: string, options?: RemoveOptions): Promise<void>;
|
|
31
|
+
abstract copyFile(src: string, dest: string, options?: CopyOptions): Promise<void>;
|
|
32
|
+
abstract moveFile(src: string, dest: string, options?: CopyOptions): Promise<void>;
|
|
33
|
+
abstract mkdir(path: string, options?: {
|
|
34
|
+
recursive?: boolean;
|
|
35
|
+
}): Promise<void>;
|
|
36
|
+
abstract rmdir(path: string, options?: RemoveOptions): Promise<void>;
|
|
37
|
+
abstract readdir(path: string, options?: ListOptions): Promise<FileEntry[]>;
|
|
38
|
+
abstract exists(path: string): Promise<boolean>;
|
|
39
|
+
abstract stat(path: string): Promise<FileStat>;
|
|
40
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseFilesystem = void 0;
|
|
4
|
+
class BaseFilesystem {
|
|
5
|
+
constructor(options) {
|
|
6
|
+
this.onInitHook = options?.onInit;
|
|
7
|
+
this.onDestroyHook = options?.onDestroy;
|
|
8
|
+
}
|
|
9
|
+
async _init() {
|
|
10
|
+
if (this.status === 'ready' ||
|
|
11
|
+
this.status === 'destroying' ||
|
|
12
|
+
this.status === 'destroyed' ||
|
|
13
|
+
this.status === 'error') {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
if (this.initPromise)
|
|
17
|
+
return await this.initPromise;
|
|
18
|
+
this.initPromise = this.executeInit();
|
|
19
|
+
try {
|
|
20
|
+
await this.initPromise;
|
|
21
|
+
}
|
|
22
|
+
finally {
|
|
23
|
+
this.initPromise = undefined;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
async executeInit() {
|
|
27
|
+
this.status = 'initializing';
|
|
28
|
+
this.error = undefined;
|
|
29
|
+
try {
|
|
30
|
+
await this.init();
|
|
31
|
+
this.status = 'ready';
|
|
32
|
+
try {
|
|
33
|
+
await this.onInitHook?.({ filesystem: this });
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
this.status = 'error';
|
|
40
|
+
this.error = error instanceof Error ? error.message : String(error);
|
|
41
|
+
throw error;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
async init() {
|
|
45
|
+
}
|
|
46
|
+
async ensureReady() {
|
|
47
|
+
if (this.status !== 'ready') {
|
|
48
|
+
await this._init();
|
|
49
|
+
}
|
|
50
|
+
if (this.status !== 'ready') {
|
|
51
|
+
throw new Error(`Filesystem "${this.id}" is not ready (status: ${this.status})`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
async _destroy() {
|
|
55
|
+
if (this.status === 'destroyed')
|
|
56
|
+
return;
|
|
57
|
+
if (this.status === 'pending') {
|
|
58
|
+
this.status = 'destroyed';
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
if (this.destroyPromise)
|
|
62
|
+
return await this.destroyPromise;
|
|
63
|
+
this.destroyPromise = this.executeDestroy();
|
|
64
|
+
try {
|
|
65
|
+
await this.destroyPromise;
|
|
66
|
+
}
|
|
67
|
+
finally {
|
|
68
|
+
this.destroyPromise = undefined;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
async executeDestroy() {
|
|
72
|
+
if (this.initPromise) {
|
|
73
|
+
try {
|
|
74
|
+
await this.initPromise;
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
this.status = 'destroying';
|
|
80
|
+
try {
|
|
81
|
+
await this.onDestroyHook?.({ filesystem: this });
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
}
|
|
85
|
+
try {
|
|
86
|
+
await this.destroy();
|
|
87
|
+
this.status = 'destroyed';
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
this.status = 'error';
|
|
91
|
+
this.error = error instanceof Error ? error.message : String(error);
|
|
92
|
+
throw error;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
async destroy() {
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
exports.BaseFilesystem = BaseFilesystem;
|
|
99
|
+
//# sourceMappingURL=base-filesystem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-filesystem.js","sourceRoot":"","sources":["../../../src/workspace/filesystem/base-filesystem.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { Workspace } from './workspace';
|
|
2
|
+
export { BaseFilesystem } from './filesystem/base-filesystem';
|
|
3
|
+
export { BaseSandbox } from './sandbox/base-sandbox';
|
|
4
|
+
export { createWorkspaceTools } from './tools/workspace-tools';
|
|
5
|
+
export { callLifecycle } from './lifecycle';
|
|
6
|
+
export type { BaseFilesystemOptions, FilesystemLifecycleHook } from './filesystem/base-filesystem';
|
|
7
|
+
export type { WorkspaceFilesystem, WorkspaceSandbox, WorkspaceConfig, CommandResult, CommandOptions, ExecuteCommandOptions, FileContent, FileStat, FileEntry, ReadOptions, WriteOptions, ListOptions, RemoveOptions, CopyOptions, ProviderStatus, SandboxInfo, LocalFilesystemOptions, LocalSandboxOptions, DaytonaSandboxOptions, BaseSandboxOptions, MountConfig, MountResult, SpawnProcessOptions, ProcessInfo, } from './types';
|
|
8
|
+
export { SandboxProcessManager, ProcessHandle } from './process';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProcessHandle = exports.SandboxProcessManager = exports.callLifecycle = exports.createWorkspaceTools = exports.BaseSandbox = exports.BaseFilesystem = exports.Workspace = void 0;
|
|
4
|
+
var workspace_1 = require("./workspace");
|
|
5
|
+
Object.defineProperty(exports, "Workspace", { enumerable: true, get: function () { return workspace_1.Workspace; } });
|
|
6
|
+
var base_filesystem_1 = require("./filesystem/base-filesystem");
|
|
7
|
+
Object.defineProperty(exports, "BaseFilesystem", { enumerable: true, get: function () { return base_filesystem_1.BaseFilesystem; } });
|
|
8
|
+
var base_sandbox_1 = require("./sandbox/base-sandbox");
|
|
9
|
+
Object.defineProperty(exports, "BaseSandbox", { enumerable: true, get: function () { return base_sandbox_1.BaseSandbox; } });
|
|
10
|
+
var workspace_tools_1 = require("./tools/workspace-tools");
|
|
11
|
+
Object.defineProperty(exports, "createWorkspaceTools", { enumerable: true, get: function () { return workspace_tools_1.createWorkspaceTools; } });
|
|
12
|
+
var lifecycle_1 = require("./lifecycle");
|
|
13
|
+
Object.defineProperty(exports, "callLifecycle", { enumerable: true, get: function () { return lifecycle_1.callLifecycle; } });
|
|
14
|
+
var process_1 = require("./process");
|
|
15
|
+
Object.defineProperty(exports, "SandboxProcessManager", { enumerable: true, get: function () { return process_1.SandboxProcessManager; } });
|
|
16
|
+
Object.defineProperty(exports, "ProcessHandle", { enumerable: true, get: function () { return process_1.ProcessHandle; } });
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workspace/index.ts"],"names":[],"mappings":";;;AAAA,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAElB,gEAA8D;AAArD,iHAAA,cAAc,OAAA;AAEvB,uDAAqD;AAA5C,2GAAA,WAAW,OAAA;AAEpB,2DAA+D;AAAtD,uHAAA,oBAAoB,OAAA;AAC7B,yCAA4C;AAAnC,0GAAA,aAAa,OAAA;AA8BtB,qCAAiE;AAAxD,gHAAA,qBAAqB,OAAA;AAAE,wGAAA,aAAa,OAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type LifecycleMethod = 'init' | 'start' | 'stop' | 'destroy';
|
|
2
|
+
interface LifecycleTarget {
|
|
3
|
+
_init?(): Promise<void>;
|
|
4
|
+
_start?(): Promise<void>;
|
|
5
|
+
_stop?(): Promise<void>;
|
|
6
|
+
_destroy?(): Promise<void>;
|
|
7
|
+
init?(): Promise<void>;
|
|
8
|
+
start?(): Promise<void>;
|
|
9
|
+
stop?(): Promise<void>;
|
|
10
|
+
destroy?(): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
export declare function callLifecycle(provider: LifecycleTarget, method: LifecycleMethod): Promise<void>;
|
|
13
|
+
export type { LifecycleMethod };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.callLifecycle = callLifecycle;
|
|
4
|
+
async function callLifecycle(provider, method) {
|
|
5
|
+
const internalKey = `_${method}`;
|
|
6
|
+
const plainKey = method;
|
|
7
|
+
const fn = (provider[internalKey] ?? provider[plainKey]);
|
|
8
|
+
if (fn)
|
|
9
|
+
await fn.call(provider);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=lifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/workspace/lifecycle.ts"],"names":[],"mappings":";;AAaA,sCAQC;AARM,KAAK,UAAU,aAAa,CAClC,QAAyB,EACzB,MAAuB;IAEvB,MAAM,WAAW,GAAG,IAAI,MAAM,EAA2B,CAAC;IAC1D,MAAM,QAAQ,GAAG,MAA+B,CAAC;IACjD,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAsC,CAAC;IAC9F,IAAI,EAAE;QAAE,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC"}
|