praisonai 1.7.1 → 1.7.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/dist/ai/agent-loop.d.ts +4 -0
- package/dist/ai/agent-loop.js +33 -10
- package/dist/cli/features/external-agents.d.ts +23 -0
- package/dist/cli/features/external-agents.js +84 -0
- package/dist/cli/features/sandbox-executor.d.ts +7 -1
- package/dist/cli/features/sandbox-executor.js +65 -15
- package/dist/index.d.ts +2 -2
- package/dist/index.js +20 -15
- package/dist/mcp/security.d.ts +4 -0
- package/dist/mcp/security.js +33 -10
- package/dist/mcp/server.d.ts +7 -0
- package/dist/mcp/server.js +25 -0
- package/dist/os/agentos.js +19 -0
- package/dist/os/config.d.ts +2 -0
- package/dist/os/config.js +3 -0
- package/dist/tools/builtins/code-mode.js +16 -16
- package/dist/tools/index.d.ts +5 -2
- package/dist/tools/index.js +32 -5
- package/dist/tools/registry/index.d.ts +2 -2
- package/dist/tools/registry/index.js +10 -1
- package/dist/tools/registry/registry.d.ts +33 -0
- package/dist/tools/registry/registry.js +79 -1
- package/dist/tools/registry/types.d.ts +17 -0
- package/dist/tools/registry/types.js +22 -1
- package/dist/tools/utility-tools.js +39 -9
- package/dist/workflows/yaml-parser.d.ts +4 -1
- package/dist/workflows/yaml-parser.js +42 -5
- package/package.json +2 -2
package/dist/ai/agent-loop.d.ts
CHANGED
|
@@ -154,6 +154,10 @@ export declare class AgentLoop {
|
|
|
154
154
|
* Get the final result.
|
|
155
155
|
*/
|
|
156
156
|
getResult(): AgentLoopResult;
|
|
157
|
+
/**
|
|
158
|
+
* Wrap tools so onToolCall approval runs before execution.
|
|
159
|
+
*/
|
|
160
|
+
private wrapToolsWithApproval;
|
|
157
161
|
/**
|
|
158
162
|
* Check if the loop should stop.
|
|
159
163
|
*/
|
package/dist/ai/agent-loop.js
CHANGED
|
@@ -111,6 +111,9 @@ class AgentLoop {
|
|
|
111
111
|
maxSteps: 10,
|
|
112
112
|
...config,
|
|
113
113
|
};
|
|
114
|
+
if (this.config.onToolCall && this.config.tools) {
|
|
115
|
+
this.config.tools = this.wrapToolsWithApproval(this.config.tools);
|
|
116
|
+
}
|
|
114
117
|
// Add system message if provided
|
|
115
118
|
if (config.system) {
|
|
116
119
|
this.messages.push({ role: 'system', content: config.system });
|
|
@@ -182,16 +185,9 @@ class AgentLoop {
|
|
|
182
185
|
}
|
|
183
186
|
// Handle tool calls
|
|
184
187
|
if (step.toolCalls.length > 0) {
|
|
185
|
-
//
|
|
186
|
-
if (
|
|
187
|
-
|
|
188
|
-
const approved = await this.config.onToolCall(toolCall);
|
|
189
|
-
if (!approved) {
|
|
190
|
-
this.complete = true;
|
|
191
|
-
step.finishReason = 'tool_rejected';
|
|
192
|
-
break;
|
|
193
|
-
}
|
|
194
|
-
}
|
|
188
|
+
// Rejection is handled in wrapped tool execute before execution
|
|
189
|
+
if (step.finishReason === 'tool_rejected') {
|
|
190
|
+
this.complete = true;
|
|
195
191
|
}
|
|
196
192
|
// Add tool call message
|
|
197
193
|
const toolCallParts = step.toolCalls.map(tc => ({
|
|
@@ -260,6 +256,33 @@ class AgentLoop {
|
|
|
260
256
|
finishReason: lastStep?.finishReason || 'unknown',
|
|
261
257
|
};
|
|
262
258
|
}
|
|
259
|
+
/**
|
|
260
|
+
* Wrap tools so onToolCall approval runs before execution.
|
|
261
|
+
*/
|
|
262
|
+
wrapToolsWithApproval(tools) {
|
|
263
|
+
const onToolCall = this.config.onToolCall;
|
|
264
|
+
if (!onToolCall) {
|
|
265
|
+
return tools;
|
|
266
|
+
}
|
|
267
|
+
const wrapped = {};
|
|
268
|
+
for (const [name, tool] of Object.entries(tools)) {
|
|
269
|
+
wrapped[name] = {
|
|
270
|
+
...tool,
|
|
271
|
+
execute: async (args) => {
|
|
272
|
+
const approved = await onToolCall({
|
|
273
|
+
toolCallId: `pending-${name}`,
|
|
274
|
+
toolName: name,
|
|
275
|
+
args,
|
|
276
|
+
});
|
|
277
|
+
if (!approved) {
|
|
278
|
+
throw new Error(`Tool call rejected: ${name}`);
|
|
279
|
+
}
|
|
280
|
+
return tool.execute(args);
|
|
281
|
+
},
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
return wrapped;
|
|
285
|
+
}
|
|
263
286
|
/**
|
|
264
287
|
* Check if the loop should stop.
|
|
265
288
|
*/
|
|
@@ -16,6 +16,16 @@ export interface ExternalAgentResult {
|
|
|
16
16
|
exitCode: number;
|
|
17
17
|
duration: number;
|
|
18
18
|
}
|
|
19
|
+
export type StreamEvent = {
|
|
20
|
+
type: 'text';
|
|
21
|
+
content: string;
|
|
22
|
+
} | {
|
|
23
|
+
type: 'json';
|
|
24
|
+
data: unknown;
|
|
25
|
+
} | {
|
|
26
|
+
type: 'error';
|
|
27
|
+
error: string;
|
|
28
|
+
};
|
|
19
29
|
/**
|
|
20
30
|
* Base class for external agent integrations
|
|
21
31
|
*/
|
|
@@ -30,6 +40,10 @@ export declare abstract class BaseExternalAgent {
|
|
|
30
40
|
* Execute a prompt with the external agent
|
|
31
41
|
*/
|
|
32
42
|
abstract execute(prompt: string): Promise<ExternalAgentResult>;
|
|
43
|
+
/**
|
|
44
|
+
* Stream output from the external agent
|
|
45
|
+
*/
|
|
46
|
+
abstract stream(prompt: string): AsyncGenerator<StreamEvent, void, unknown>;
|
|
33
47
|
/**
|
|
34
48
|
* Get the agent name
|
|
35
49
|
*/
|
|
@@ -38,6 +52,10 @@ export declare abstract class BaseExternalAgent {
|
|
|
38
52
|
* Execute a command and return result
|
|
39
53
|
*/
|
|
40
54
|
protected runCommand(args: string[]): Promise<ExternalAgentResult>;
|
|
55
|
+
/**
|
|
56
|
+
* Stream command output line by line
|
|
57
|
+
*/
|
|
58
|
+
protected streamCommand(args: string[]): AsyncGenerator<StreamEvent, void, unknown>;
|
|
41
59
|
/**
|
|
42
60
|
* Check if a command exists
|
|
43
61
|
*/
|
|
@@ -50,6 +68,7 @@ export declare class ClaudeCodeAgent extends BaseExternalAgent {
|
|
|
50
68
|
constructor(cwd?: string);
|
|
51
69
|
isAvailable(): Promise<boolean>;
|
|
52
70
|
execute(prompt: string): Promise<ExternalAgentResult>;
|
|
71
|
+
stream(prompt: string): AsyncGenerator<StreamEvent, void, unknown>;
|
|
53
72
|
executeWithSession(prompt: string, sessionId?: string): Promise<ExternalAgentResult>;
|
|
54
73
|
}
|
|
55
74
|
/**
|
|
@@ -60,6 +79,7 @@ export declare class GeminiCliAgent extends BaseExternalAgent {
|
|
|
60
79
|
constructor(cwd?: string, model?: string);
|
|
61
80
|
isAvailable(): Promise<boolean>;
|
|
62
81
|
execute(prompt: string): Promise<ExternalAgentResult>;
|
|
82
|
+
stream(prompt: string): AsyncGenerator<StreamEvent, void, unknown>;
|
|
63
83
|
}
|
|
64
84
|
/**
|
|
65
85
|
* OpenAI Codex CLI integration
|
|
@@ -68,6 +88,7 @@ export declare class CodexCliAgent extends BaseExternalAgent {
|
|
|
68
88
|
constructor(cwd?: string);
|
|
69
89
|
isAvailable(): Promise<boolean>;
|
|
70
90
|
execute(prompt: string): Promise<ExternalAgentResult>;
|
|
91
|
+
stream(prompt: string): AsyncGenerator<StreamEvent, void, unknown>;
|
|
71
92
|
}
|
|
72
93
|
/**
|
|
73
94
|
* Aider CLI integration
|
|
@@ -76,6 +97,7 @@ export declare class AiderAgent extends BaseExternalAgent {
|
|
|
76
97
|
constructor(cwd?: string);
|
|
77
98
|
isAvailable(): Promise<boolean>;
|
|
78
99
|
execute(prompt: string): Promise<ExternalAgentResult>;
|
|
100
|
+
stream(prompt: string): AsyncGenerator<StreamEvent, void, unknown>;
|
|
79
101
|
}
|
|
80
102
|
/**
|
|
81
103
|
* Generic external agent for any CLI tool
|
|
@@ -87,6 +109,7 @@ export declare class GenericExternalAgent extends BaseExternalAgent {
|
|
|
87
109
|
});
|
|
88
110
|
isAvailable(): Promise<boolean>;
|
|
89
111
|
execute(prompt: string): Promise<ExternalAgentResult>;
|
|
112
|
+
stream(prompt: string): AsyncGenerator<StreamEvent, void, unknown>;
|
|
90
113
|
}
|
|
91
114
|
/**
|
|
92
115
|
* External Agent Registry
|
|
@@ -97,6 +97,59 @@ class BaseExternalAgent {
|
|
|
97
97
|
});
|
|
98
98
|
});
|
|
99
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Stream command output line by line
|
|
102
|
+
*/
|
|
103
|
+
async *streamCommand(args) {
|
|
104
|
+
const { spawn } = await Promise.resolve().then(() => __importStar(require('child_process')));
|
|
105
|
+
const proc = spawn(this.config.command, args, {
|
|
106
|
+
cwd: this.config.cwd || process.cwd(),
|
|
107
|
+
env: { ...process.env, ...this.config.env },
|
|
108
|
+
timeout: this.config.timeout,
|
|
109
|
+
stdio: ['pipe', 'pipe', 'pipe']
|
|
110
|
+
});
|
|
111
|
+
if (!proc.stdout) {
|
|
112
|
+
throw new Error('Failed to create stdout stream');
|
|
113
|
+
}
|
|
114
|
+
let stderr = '';
|
|
115
|
+
proc.stderr?.on('data', (chunk) => {
|
|
116
|
+
stderr += chunk.toString();
|
|
117
|
+
});
|
|
118
|
+
const exit = new Promise((resolve, reject) => {
|
|
119
|
+
proc.once('error', reject);
|
|
120
|
+
proc.once('close', resolve);
|
|
121
|
+
});
|
|
122
|
+
const readline = await Promise.resolve().then(() => __importStar(require('readline')));
|
|
123
|
+
const rl = readline.createInterface({
|
|
124
|
+
input: proc.stdout,
|
|
125
|
+
crlfDelay: Infinity
|
|
126
|
+
});
|
|
127
|
+
try {
|
|
128
|
+
for await (const line of rl) {
|
|
129
|
+
if (line.trim()) {
|
|
130
|
+
// Try to parse as JSON first
|
|
131
|
+
try {
|
|
132
|
+
const event = JSON.parse(line);
|
|
133
|
+
yield { type: 'json', data: event };
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
// If not JSON, treat as text
|
|
137
|
+
yield { type: 'text', content: line };
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
const exitCode = await exit;
|
|
142
|
+
if (exitCode !== 0) {
|
|
143
|
+
throw new Error(stderr || `${this.config.command} exited with code ${exitCode}`);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
finally {
|
|
147
|
+
rl.close();
|
|
148
|
+
if (!proc.killed) {
|
|
149
|
+
proc.kill();
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
100
153
|
/**
|
|
101
154
|
* Check if a command exists
|
|
102
155
|
*/
|
|
@@ -127,6 +180,9 @@ class ClaudeCodeAgent extends BaseExternalAgent {
|
|
|
127
180
|
async execute(prompt) {
|
|
128
181
|
return this.runCommand(['--print', prompt]);
|
|
129
182
|
}
|
|
183
|
+
async *stream(prompt) {
|
|
184
|
+
yield* this.streamCommand(['--print', '--output-format', 'stream-json', prompt]);
|
|
185
|
+
}
|
|
130
186
|
async executeWithSession(prompt, sessionId) {
|
|
131
187
|
const args = ['--print'];
|
|
132
188
|
if (sessionId) {
|
|
@@ -155,6 +211,9 @@ class GeminiCliAgent extends BaseExternalAgent {
|
|
|
155
211
|
async execute(prompt) {
|
|
156
212
|
return this.runCommand(['-m', this.model, prompt]);
|
|
157
213
|
}
|
|
214
|
+
async *stream(prompt) {
|
|
215
|
+
yield* this.streamCommand(['-m', this.model, '--json', prompt]);
|
|
216
|
+
}
|
|
158
217
|
}
|
|
159
218
|
exports.GeminiCliAgent = GeminiCliAgent;
|
|
160
219
|
/**
|
|
@@ -174,6 +233,9 @@ class CodexCliAgent extends BaseExternalAgent {
|
|
|
174
233
|
async execute(prompt) {
|
|
175
234
|
return this.runCommand(['exec', '--full-auto', prompt]);
|
|
176
235
|
}
|
|
236
|
+
async *stream(prompt) {
|
|
237
|
+
yield* this.streamCommand(['exec', '--full-auto', '--json', prompt]);
|
|
238
|
+
}
|
|
177
239
|
}
|
|
178
240
|
exports.CodexCliAgent = CodexCliAgent;
|
|
179
241
|
/**
|
|
@@ -193,6 +255,18 @@ class AiderAgent extends BaseExternalAgent {
|
|
|
193
255
|
async execute(prompt) {
|
|
194
256
|
return this.runCommand(['--message', prompt, '--yes']);
|
|
195
257
|
}
|
|
258
|
+
async *stream(prompt) {
|
|
259
|
+
// Aider doesn't support JSON streaming, so just yield text events
|
|
260
|
+
const result = await this.execute(prompt);
|
|
261
|
+
if (!result.success) {
|
|
262
|
+
throw new Error(result.error || 'Aider execution failed');
|
|
263
|
+
}
|
|
264
|
+
for (const line of result.output.split('\n')) {
|
|
265
|
+
if (line.trim()) {
|
|
266
|
+
yield { type: 'text', content: line };
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
196
270
|
}
|
|
197
271
|
exports.AiderAgent = AiderAgent;
|
|
198
272
|
/**
|
|
@@ -216,6 +290,16 @@ class GenericExternalAgent extends BaseExternalAgent {
|
|
|
216
290
|
}
|
|
217
291
|
return this.runCommand(args);
|
|
218
292
|
}
|
|
293
|
+
async *stream(prompt) {
|
|
294
|
+
const args = [...(this.config.args || [])];
|
|
295
|
+
if (this.promptArg) {
|
|
296
|
+
args.push(this.promptArg, prompt);
|
|
297
|
+
}
|
|
298
|
+
else {
|
|
299
|
+
args.push(prompt);
|
|
300
|
+
}
|
|
301
|
+
yield* this.streamCommand(args);
|
|
302
|
+
}
|
|
219
303
|
}
|
|
220
304
|
exports.GenericExternalAgent = GenericExternalAgent;
|
|
221
305
|
/**
|
|
@@ -28,6 +28,11 @@ export declare const DEFAULT_BLOCKED_COMMANDS: string[];
|
|
|
28
28
|
* Default blocked paths
|
|
29
29
|
*/
|
|
30
30
|
export declare const DEFAULT_BLOCKED_PATHS: string[];
|
|
31
|
+
/** Shell metacharacters that enable command chaining or substitution */
|
|
32
|
+
export declare const SHELL_METACHAR_PATTERN: RegExp;
|
|
33
|
+
/** Commands that typically require network access */
|
|
34
|
+
export declare const NETWORK_COMMANDS: string[];
|
|
35
|
+
export declare function containsShellMetacharacters(command: string): boolean;
|
|
31
36
|
/**
|
|
32
37
|
* Command validator
|
|
33
38
|
*/
|
|
@@ -35,6 +40,7 @@ export declare class CommandValidator {
|
|
|
35
40
|
private blockedCommands;
|
|
36
41
|
private blockedPaths;
|
|
37
42
|
private allowedCommands?;
|
|
43
|
+
private networkIsolated;
|
|
38
44
|
constructor(config?: Partial<SandboxConfig>);
|
|
39
45
|
/**
|
|
40
46
|
* Validate a command
|
|
@@ -56,7 +62,7 @@ export declare class SandboxExecutor {
|
|
|
56
62
|
*/
|
|
57
63
|
execute(command: string): Promise<ExecutionResult>;
|
|
58
64
|
/**
|
|
59
|
-
* Spawn the command
|
|
65
|
+
* Spawn the command without shell when allowlisted or in strict mode
|
|
60
66
|
*/
|
|
61
67
|
private spawn;
|
|
62
68
|
/**
|
|
@@ -36,7 +36,8 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
36
36
|
};
|
|
37
37
|
})();
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.SandboxExecutor = exports.CommandValidator = exports.DEFAULT_BLOCKED_PATHS = exports.DEFAULT_BLOCKED_COMMANDS = void 0;
|
|
39
|
+
exports.SandboxExecutor = exports.CommandValidator = exports.NETWORK_COMMANDS = exports.SHELL_METACHAR_PATTERN = exports.DEFAULT_BLOCKED_PATHS = exports.DEFAULT_BLOCKED_COMMANDS = void 0;
|
|
40
|
+
exports.containsShellMetacharacters = containsShellMetacharacters;
|
|
40
41
|
exports.createSandboxExecutor = createSandboxExecutor;
|
|
41
42
|
exports.sandboxExec = sandboxExec;
|
|
42
43
|
/**
|
|
@@ -80,6 +81,28 @@ exports.DEFAULT_BLOCKED_PATHS = [
|
|
|
80
81
|
'/sys',
|
|
81
82
|
'/proc'
|
|
82
83
|
];
|
|
84
|
+
/** Shell metacharacters that enable command chaining or substitution */
|
|
85
|
+
exports.SHELL_METACHAR_PATTERN = /[;|&`><]|\$\([^)]*\)|\$\{/;
|
|
86
|
+
/** Commands that typically require network access */
|
|
87
|
+
exports.NETWORK_COMMANDS = [
|
|
88
|
+
'curl', 'wget', 'nc', 'netcat', 'ssh', 'scp', 'sftp', 'ftp', 'telnet',
|
|
89
|
+
'ping', 'nslookup', 'dig', 'host', 'traceroute', 'tracepath', 'nmap',
|
|
90
|
+
'socat', 'openssl', 'node', 'python', 'python3', 'ruby', 'perl',
|
|
91
|
+
];
|
|
92
|
+
/** Environment variables commonly used for network/proxy configuration */
|
|
93
|
+
const NETWORK_ENV_VARS = [
|
|
94
|
+
'http_proxy', 'https_proxy', 'HTTP_PROXY', 'HTTPS_PROXY',
|
|
95
|
+
'ALL_PROXY', 'all_proxy', 'NO_PROXY', 'no_proxy',
|
|
96
|
+
'FTP_PROXY', 'ftp_proxy', 'SOCKS_PROXY', 'socks_proxy',
|
|
97
|
+
];
|
|
98
|
+
function containsShellMetacharacters(command) {
|
|
99
|
+
return exports.SHELL_METACHAR_PATTERN.test(command);
|
|
100
|
+
}
|
|
101
|
+
function parseCommandParts(command) {
|
|
102
|
+
const parts = command.trim().match(/(?:[^\s"']+|"[^"]*"|'[^']*')+/g) ?? [];
|
|
103
|
+
const unquoted = parts.map((part) => part.replace(/^["']|["']$/g, ''));
|
|
104
|
+
return { cmd: unquoted[0] ?? '', args: unquoted.slice(1) };
|
|
105
|
+
}
|
|
83
106
|
/**
|
|
84
107
|
* Command validator
|
|
85
108
|
*/
|
|
@@ -88,19 +111,31 @@ class CommandValidator {
|
|
|
88
111
|
this.blockedCommands = config.blockedCommands || exports.DEFAULT_BLOCKED_COMMANDS;
|
|
89
112
|
this.blockedPaths = config.blockedPaths || exports.DEFAULT_BLOCKED_PATHS;
|
|
90
113
|
this.allowedCommands = config.allowedCommands;
|
|
114
|
+
this.networkIsolated = config.mode === 'network-isolated';
|
|
91
115
|
}
|
|
92
116
|
/**
|
|
93
117
|
* Validate a command
|
|
94
118
|
*/
|
|
95
119
|
validate(command) {
|
|
96
|
-
const
|
|
120
|
+
const trimmed = command.trim();
|
|
121
|
+
if (!trimmed) {
|
|
122
|
+
return { valid: false, reason: 'Empty command' };
|
|
123
|
+
}
|
|
124
|
+
if (containsShellMetacharacters(trimmed)) {
|
|
125
|
+
return { valid: false, reason: 'Shell metacharacters are not allowed' };
|
|
126
|
+
}
|
|
127
|
+
const { cmd } = parseCommandParts(trimmed);
|
|
128
|
+
const normalized = trimmed.toLowerCase();
|
|
97
129
|
// Check allowlist first if specified
|
|
98
130
|
if (this.allowedCommands) {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
return { valid: false, reason: `Command '${baseCmd}' not in allowlist` };
|
|
131
|
+
if (!this.allowedCommands.includes(cmd.toLowerCase())) {
|
|
132
|
+
return { valid: false, reason: `Command '${cmd}' not in allowlist` };
|
|
102
133
|
}
|
|
103
134
|
}
|
|
135
|
+
// network-isolated: reject network-oriented commands (proxy env alone is insufficient)
|
|
136
|
+
if (this.networkIsolated && exports.NETWORK_COMMANDS.includes(cmd.toLowerCase())) {
|
|
137
|
+
return { valid: false, reason: `Network command '${cmd}' blocked in network-isolated mode` };
|
|
138
|
+
}
|
|
104
139
|
// Check blocked commands
|
|
105
140
|
for (const blocked of this.blockedCommands) {
|
|
106
141
|
if (normalized.includes(blocked.toLowerCase())) {
|
|
@@ -190,18 +225,28 @@ class SandboxExecutor {
|
|
|
190
225
|
}
|
|
191
226
|
}
|
|
192
227
|
/**
|
|
193
|
-
* Spawn the command
|
|
228
|
+
* Spawn the command without shell when allowlisted or in strict mode
|
|
194
229
|
*/
|
|
195
230
|
async spawn(command) {
|
|
196
231
|
const { spawn } = await Promise.resolve().then(() => __importStar(require('child_process')));
|
|
232
|
+
const env = this.buildEnv();
|
|
233
|
+
const useDirectSpawn = Boolean(this.config.allowedCommands) || this.config.mode === 'strict';
|
|
234
|
+
const { cmd, args } = parseCommandParts(command);
|
|
197
235
|
return new Promise((resolve) => {
|
|
198
|
-
const
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
236
|
+
const proc = useDirectSpawn
|
|
237
|
+
? spawn(cmd, args, {
|
|
238
|
+
cwd: this.config.cwd,
|
|
239
|
+
env,
|
|
240
|
+
timeout: this.config.timeout,
|
|
241
|
+
shell: false,
|
|
242
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
243
|
+
})
|
|
244
|
+
: spawn('sh', ['-c', command], {
|
|
245
|
+
cwd: this.config.cwd,
|
|
246
|
+
env,
|
|
247
|
+
timeout: this.config.timeout,
|
|
248
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
249
|
+
});
|
|
205
250
|
let stdout = '';
|
|
206
251
|
let stderr = '';
|
|
207
252
|
let truncated = false;
|
|
@@ -260,7 +305,11 @@ class SandboxExecutor {
|
|
|
260
305
|
...this.config.env
|
|
261
306
|
};
|
|
262
307
|
case 'network-isolated':
|
|
263
|
-
//
|
|
308
|
+
// Proxy env vars alone do not block network; also reject network commands in validator.
|
|
309
|
+
// Strip common proxy/network env vars as a defence-in-depth measure.
|
|
310
|
+
for (const key of NETWORK_ENV_VARS) {
|
|
311
|
+
delete baseEnv[key];
|
|
312
|
+
}
|
|
264
313
|
return {
|
|
265
314
|
...baseEnv,
|
|
266
315
|
http_proxy: 'http://localhost:0',
|
|
@@ -268,7 +317,7 @@ class SandboxExecutor {
|
|
|
268
317
|
HTTP_PROXY: 'http://localhost:0',
|
|
269
318
|
HTTPS_PROXY: 'http://localhost:0',
|
|
270
319
|
no_proxy: '',
|
|
271
|
-
NO_PROXY: ''
|
|
320
|
+
NO_PROXY: '',
|
|
272
321
|
};
|
|
273
322
|
case 'basic':
|
|
274
323
|
default:
|
|
@@ -296,6 +345,7 @@ class SandboxExecutor {
|
|
|
296
345
|
*/
|
|
297
346
|
setMode(mode) {
|
|
298
347
|
this.config.mode = mode;
|
|
348
|
+
this.validator = new CommandValidator(this.config);
|
|
299
349
|
}
|
|
300
350
|
}
|
|
301
351
|
exports.SandboxExecutor = SandboxExecutor;
|
package/dist/index.d.ts
CHANGED
|
@@ -48,9 +48,9 @@ export { BaseTool, ToolResult, ToolValidationError, validateTool, createTool, Fu
|
|
|
48
48
|
export * from './tools/arxivTools';
|
|
49
49
|
export * from './tools/mcpSse';
|
|
50
50
|
export { tools, registerBuiltinTools } from './tools/tools';
|
|
51
|
-
export { getToolsRegistry, createToolsRegistry, resetToolsRegistry, ToolsRegistry } from './tools/registry';
|
|
51
|
+
export { getToolsRegistry, createToolsRegistry, resetToolsRegistry, ToolsRegistry, get_registry, get_tool, register_tool, validate_tool } from './tools/registry';
|
|
52
52
|
export type { ToolExecutionContext, ToolLimits, RedactionHooks, ToolLogger, ToolCapabilities, InstallHints, ToolMetadata, ToolExecutionResult, PraisonTool, ToolParameterSchema, ToolParameterProperty, ToolMiddleware, ToolHooks, ToolFactory, RegisteredTool, ToolInstallStatus } from './tools/registry';
|
|
53
|
-
export { MissingDependencyError, MissingEnvVarError } from './tools/registry';
|
|
53
|
+
export { MissingDependencyError, MissingEnvVarError, BudgetExceededError } from './tools/registry';
|
|
54
54
|
export { createLoggingMiddleware, createTimeoutMiddleware, createRedactionMiddleware, createRateLimitMiddleware, createRetryMiddleware, createTracingMiddleware, createValidationMiddleware, composeMiddleware } from './tools/registry';
|
|
55
55
|
export { codeExecution, tavilySearch, tavilyExtract, tavilyCrawl, exaSearch, perplexitySearch, parallelSearch, firecrawlScrape, firecrawlCrawl, superagentGuard, superagentRedact, superagentVerify, valyuWebSearch, valyuFinanceSearch, valyuPaperSearch, valyuBioSearch, valyuPatentSearch, valyuSecSearch, valyuEconomicsSearch, valyuCompanyResearch, bedrockCodeInterpreter, bedrockBrowserNavigate, bedrockBrowserClick, bedrockBrowserFill, airweaveSearch, codeMode, registerCustomTool, createCustomTool, registerNpmTool, registerLocalTool } from './tools/builtins';
|
|
56
56
|
export * from './session';
|
package/dist/index.js
CHANGED
|
@@ -52,21 +52,21 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
52
52
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
53
53
|
};
|
|
54
54
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
55
|
-
exports.
|
|
56
|
-
exports.
|
|
57
|
-
exports.
|
|
58
|
-
exports.
|
|
59
|
-
exports.
|
|
60
|
-
exports.
|
|
61
|
-
exports.
|
|
62
|
-
exports.
|
|
63
|
-
exports.
|
|
64
|
-
exports.
|
|
65
|
-
exports.
|
|
66
|
-
exports.
|
|
67
|
-
exports.
|
|
68
|
-
exports.
|
|
69
|
-
exports.trace_context = exports.resolve_guardrail_policies = exports.track_workflow = exports.get_dimensions = exports.evaluate_condition = void 0;
|
|
55
|
+
exports.MissingDependencyError = exports.validate_tool = exports.register_tool = exports.get_tool = exports.get_registry = exports.ToolsRegistry = exports.resetToolsRegistry = exports.createToolsRegistry = exports.getToolsRegistry = exports.registerBuiltinTools = exports.tools = exports.createDelegator = exports.createSubagentTools = exports.createSubagentTool = exports.SubagentTool = exports.getTool = exports.registerTool = exports.getRegistry = exports.ToolRegistry = exports.tool = exports.FunctionTool = exports.createTool = exports.validateTool = exports.ToolValidationError = exports.BaseTool = exports.setDefaultDbAdapter = exports.getDefaultDbAdapter = exports.createDbAdapter = exports.db = exports.mergeConfig = exports.DEFAULT_AGENTOS_CONFIG = exports.AgentApp = exports.AgentOS = exports.Task = exports.repeatPattern = exports.Repeat = exports.loopPattern = exports.Loop = exports.repeat = exports.loop = exports.route = exports.parallel = exports.Pipeline = exports.Workflow = exports.AgentFlow = exports.Router = exports.PraisonAIAgents = exports.Agents = exports.AgentTeam = exports.Agent = void 0;
|
|
56
|
+
exports.formatAnswerWithCitations = exports.createRAGResult = exports.formatContextPackForPrompt = exports.hasCitations = exports.createContextPack = exports.formatCitation = exports.createCitation = exports.RetrievalStrategy = exports.createRAG = exports.RAG = exports.registerLocalTool = exports.registerNpmTool = exports.createCustomTool = exports.registerCustomTool = exports.codeMode = exports.airweaveSearch = exports.bedrockBrowserFill = exports.bedrockBrowserClick = exports.bedrockBrowserNavigate = exports.bedrockCodeInterpreter = exports.valyuCompanyResearch = exports.valyuEconomicsSearch = exports.valyuSecSearch = exports.valyuPatentSearch = exports.valyuBioSearch = exports.valyuPaperSearch = exports.valyuFinanceSearch = exports.valyuWebSearch = exports.superagentVerify = exports.superagentRedact = exports.superagentGuard = exports.firecrawlCrawl = exports.firecrawlScrape = exports.parallelSearch = exports.perplexitySearch = exports.exaSearch = exports.tavilyCrawl = exports.tavilyExtract = exports.tavilySearch = exports.codeExecution = exports.composeMiddleware = exports.createValidationMiddleware = exports.createTracingMiddleware = exports.createRetryMiddleware = exports.createRateLimitMiddleware = exports.createRedactionMiddleware = exports.createTimeoutMiddleware = exports.createLoggingMiddleware = exports.BudgetExceededError = exports.MissingEnvVarError = void 0;
|
|
57
|
+
exports.addJudge = exports.RecipeJudge = exports.CriteriaJudge = exports.AccuracyJudge = exports.Judge = exports.noHarmfulContentCriterion = exports.containsKeywordsCriterion = exports.lengthCriterion = exports.relevanceCriterion = exports.createEvalResults = exports.EvalResults = exports.createDefaultEvaluator = exports.createEvaluator = exports.Evaluator = exports.EvalSuite = exports.reliabilityEval = exports.performanceEval = exports.accuracyEval = exports.createContextAgent = exports.ContextAgent = exports.routeConditions = exports.createRouter = exports.RouterAgent = exports.ContextPolicy = exports.HandoffTimeoutError = exports.HandoffDepthError = exports.HandoffCycleError = exports.HandoffError = exports.promptWithHandoffInstructions = exports.RECOMMENDED_PROMPT_PREFIX = exports.handoffFilters = exports.handoff = exports.Handoff = exports.createRateLimitPolicy = exports.createApiKeyPolicy = exports.createMCPSecurity = exports.MCPSecurity = exports.createMCPSession = exports.createMCPServer = exports.MCPServer = exports.getMCPTools = exports.createMCPClient = exports.MCPClient = exports.createSmartRetrievalConfig = exports.createSimpleRetrievalConfig = exports.createRetrievalConfig = exports.CitationsMode = exports.RetrievalPolicy = exports.createRAGConfig = exports.DEFAULT_RAG_TEMPLATE = void 0;
|
|
58
|
+
exports.DisplayTypes = exports.clearAllCallbacks = exports.getRegisteredDisplayTypes = exports.hasApprovalCallback = exports.requestApproval = exports.executeCallback = exports.executeSyncCallback = exports.clearApprovalCallback = exports.registerApprovalCallback = exports.unregisterDisplayCallback = exports.registerDisplayCallback = exports.createValidationOperationHooks = exports.createLoggingOperationHooks = exports.createHooksManager = exports.HooksManager = exports.createDocsManager = exports.DocsManager = exports.createSafetyRules = exports.createRulesManager = exports.RulesManager = exports.createEncryptionHooks = exports.createValidationHooks = exports.createLoggingHooks = exports.createMemoryHooks = exports.MemoryHooks = exports.DEFAULT_POLICIES = exports.createLLMSummarizer = exports.createAutoMemory = exports.AutoMemory = exports.createFileMemory = exports.FileMemory = exports.createMemory = exports.Memory = exports.CLI_SPEC_VERSION = exports.executeCommand = exports.parseArgs = exports.createSkillProperties = exports.createSkillLoader = exports.SkillLoader = exports.parseSkillFile = exports.createSkillManager = exports.SkillManager = exports.parseJudgeResponse = exports.removeOptimizationRule = exports.listOptimizationRules = exports.getOptimizationRule = exports.addOptimizationRule = exports.removeJudge = exports.listJudges = exports.getJudge = void 0;
|
|
59
|
+
exports.createTodoList = exports.createPlan = exports.RESEARCH_TOOLS = exports.RESTRICTED_TOOLS = exports.READ_ONLY_TOOLS = exports.createApprovalCallback = exports.ApprovalCallback = exports.TaskAgent = exports.PlanningAgent = exports.PlanStorage = exports.TodoItem = exports.TodoList = exports.PlanStep = exports.Plan = exports.createLLMGuardrail = exports.LLMGuardrail = exports.createPromptExpanderAgent = exports.PromptExpanderAgent = exports.createQueryRewriterAgent = exports.QueryRewriterAgent = exports.createDeepResearchAgent = exports.DeepResearchAgent = exports.createAudioAgent = exports.AudioAgent = exports.createImageAgent = exports.ImageAgent = exports.createAutoAgents = exports.AutoAgents = exports.cleanupTelemetryResources = exports.disablePerformanceMode = exports.enablePerformanceMode = exports.getMinimalTelemetry = exports.MinimalTelemetry = exports.createHTTPSink = exports.createConsoleSink = exports.createTelemetryIntegration = exports.TelemetryIntegration = exports.createPerformanceMonitor = exports.PerformanceMonitor = exports.createAgentTelemetry = exports.cleanupTelemetry = exports.disableTelemetry = exports.enableTelemetry = exports.getTelemetry = exports.AgentTelemetry = exports.TelemetryCollector = exports.createTimingWorkflowHooks = exports.createLoggingWorkflowHooks = exports.createWorkflowHooks = exports.WorkflowHooksExecutor = void 0;
|
|
60
|
+
exports.parse_policy_string = exports.is_policy_string = exports.clean_triple_backticks = exports.suggest_similar = exports.is_path_like = exports.detect_url_scheme = exports.resolve_guardrails = exports.resolve_routing = exports.resolve_skills = exports.resolve_hooks = exports.resolve_caching = exports.resolve_autonomy = exports.resolve_context = exports.resolve_knowledge = exports.resolve_reflection = exports.resolve_planning = exports.resolve_web = exports.resolve_execution = exports.resolve_output = exports.resolve_memory = exports.resolve = exports.KNOWLEDGE_PRESETS = exports.MULTI_AGENT_EXECUTION_PRESETS = exports.MULTI_AGENT_OUTPUT_PRESETS = exports.CACHING_PRESETS = exports.AUTONOMY_PRESETS = exports.CONTEXT_PRESETS = exports.GUARDRAIL_PRESETS = exports.REFLECTION_PRESETS = exports.PLANNING_PRESETS = exports.WEB_PRESETS = exports.EXECUTION_PRESETS = exports.OUTPUT_PRESETS = exports.MEMORY_URL_SCHEMES = exports.MEMORY_PRESETS = exports.ArrayMode = exports.ExecutionPreset = exports.OutputPreset = exports.WebSearchProvider = exports.GuardrailAction = exports.ChunkingStrategy = exports.MemoryBackend = exports.createFileCache = exports.createMemoryCache = exports.FileCache = exports.MemoryCache = exports.BaseCache = exports.createTaskAgent = exports.createPlanningAgent = exports.createPlanStorage = void 0;
|
|
61
|
+
exports.OpenAIVoiceProvider = exports.BaseVoiceProvider = exports.createLangfuseObservability = exports.createMemoryObservability = exports.createConsoleObservability = exports.LangfuseObservabilityProvider = exports.MemoryObservabilityProvider = exports.ConsoleObservabilityProvider = exports.BaseObservabilityProvider = exports.createChromaStore = exports.ChromaVectorStore = exports.createQdrantStore = exports.QdrantVectorStore = exports.createWeaviateStore = exports.WeaviateVectorStore = exports.createPineconeStore = exports.PineconeVectorStore = exports.createMemoryVectorStore = exports.MemoryVectorStore = exports.BaseVectorStore = exports.createPostgresSessionStorage = exports.createMemoryPostgres = exports.createNeonPostgres = exports.PostgresSessionStorage = exports.MemoryPostgresAdapter = exports.NeonPostgresAdapter = exports.createMemoryRedis = exports.createUpstashRedis = exports.MemoryRedisAdapter = exports.UpstashRedisAdapter = exports.createSQLiteAdapter = exports.SQLiteAdapter = exports.validateWorkflowDefinition = exports.loadWorkflowFromFile = exports.createWorkflowFromYAML = exports.parseYAMLWorkflow = exports.createPubSub = exports.createEventBus = exports.AgentEvents = exports.AgentEventBus = exports.EventEmitterPubSub = exports.PubSub = exports.ConfigValidationError = exports.get_plugins_config = exports.get_defaults_config = exports.get_default = exports.get_config_path = exports.get_config = exports.apply_config_defaults = exports.validate_config = void 0;
|
|
62
|
+
exports.ADAPTERS = exports.COMMUNITY_PROVIDERS = exports.PROVIDER_ALIASES = exports.AISDK_PROVIDERS = exports.trace = exports.resetObservabilityAdapter = exports.getObservabilityAdapter = exports.setObservabilityAdapter = exports.clearAdapterCache = exports.createObservabilityAdapter = exports.createConsoleAdapter = exports.ConsoleObservabilityAdapter = exports.createMemoryAdapter = exports.MemoryObservabilityAdapter = exports.noopAdapter = exports.NoopObservabilityAdapter = exports.hasObservabilityToolEnvVar = exports.listObservabilityTools = exports.getObservabilityToolInfo = exports.OBSERVABILITY_TOOLS = exports.registerBuiltinProviders = exports.createProviderRegistry = exports.getDefaultRegistry = exports.listProviders = exports.hasProvider = exports.unregisterProvider = exports.registerProvider = exports.ProviderRegistry = exports.BaseProvider = exports.GoogleProvider = exports.AnthropicProvider = exports.OpenAIProvider = exports.getAvailableProviders = exports.isProviderAvailable = exports.parseModelString = exports.getDefaultProvider = exports.createProvider = exports.createGraphRAG = exports.GraphRAG = exports.GraphStore = exports.createLLMReranker = exports.createCrossEncoderReranker = exports.createCohereReranker = exports.LLMReranker = exports.CrossEncoderReranker = exports.CohereReranker = exports.BaseReranker = exports.createElevenLabsVoice = exports.createOpenAIVoice = exports.ElevenLabsVoiceProvider = void 0;
|
|
63
|
+
exports.createFlowDisplay = exports.FlowDisplay = exports.createFileCheckpointStorage = exports.FileCheckpointStorage = exports.MemoryCheckpointStorage = exports.createCheckpointManager = exports.CheckpointManager = exports.createFileJobStorage = exports.FileJobStorage = exports.MemoryJobStorage = exports.createJobQueue = exports.JobQueue = exports.cronExpressions = exports.createScheduler = exports.Scheduler = exports.MODE_POLICIES = exports.cliApprovalPrompt = exports.createAutonomyManager = exports.AutonomyManager = exports.DEFAULT_BLOCKED_PATHS = exports.DEFAULT_BLOCKED_COMMANDS = exports.CommandValidator = exports.sandboxExec = exports.createSandboxExecutor = exports.SandboxExecutor = exports.createDiffViewer = exports.DiffViewer = exports.createGitManager = exports.GitManager = exports.DEFAULT_IGNORE_PATTERNS = exports.getRepoTree = exports.createRepoMap = exports.RepoMap = exports.createHistoryManager = exports.HistoryManager = exports.createStatusDisplay = exports.StatusDisplay = exports.createInteractiveTUI = exports.InteractiveTUI = exports.MODEL_PRICING = exports.formatCost = exports.estimateTokens = exports.createCostTracker = exports.CostTracker = exports.isSlashCommand = exports.executeSlashCommand = exports.parseSlashCommand = exports.registerCommand = exports.createSlashCommandHandler = exports.SlashCommandHandler = void 0;
|
|
64
|
+
exports.createTextPart = exports.createPdfPart = exports.createFilePart = exports.createImagePart = exports.getAICacheStats = exports.clearAICache = exports.applyMiddleware = exports.wrapModel = exports.createAILoggingMiddleware = exports.createCachingMiddleware = exports.resolveModelAlias = exports.hasModelAlias = exports.listModelAliases = exports.MODEL_ALIASES = exports.parseModel = exports.getModel = exports.createModel = exports.functionToTool = exports.createToolSet = exports.defineTool = exports.aiEmbedMany = exports.aiEmbed = exports.aiGenerateImage = exports.aiStreamObject = exports.aiGenerateObject = exports.aiStreamText = exports.aiGenerateText = exports.getTotalLines = exports.addLineRangeToFileMatch = exports.createFileMatch = exports.mergeRanges = exports.rangesOverlap = exports.getLineCount = exports.createLineRange = exports.getQuickContext = exports.createFastContext = exports.FastContext = exports.triggerN8NWebhook = exports.createN8NIntegration = exports.N8NIntegration = exports.externalAgentAsTool = exports.createExternalAgent = exports.getExternalAgentRegistry = exports.GenericExternalAgent = exports.AiderAgent = exports.CodexCliAgent = exports.GeminiCliAgent = exports.ClaudeCodeAgent = exports.BaseExternalAgent = exports.renderWorkflow = void 0;
|
|
65
|
+
exports.isDevToolsEnabled = exports.disableDevTools = exports.enableDevTools = exports.TRANSCRIPTION_MODELS = exports.SPEECH_MODELS = exports.transcribe = exports.generateSpeech = exports.createDangerousPatternChecker = exports.isDangerous = exports.DANGEROUS_PATTERNS = exports.ToolApprovalTimeoutError = exports.ToolApprovalDeniedError = exports.withApproval = exports.setApprovalManager = exports.getApprovalManager = exports.ApprovalManager = exports.pipeUIMessageStreamToResponse = exports.toUIMessageStreamResponse = exports.createApprovalResponse = exports.getToolsNeedingApproval = exports.hasPendingApprovals = exports.createSystemMessage = exports.createTextMessage = exports.safeValidateUIMessages = exports.validateUIMessages = exports.convertToUIMessages = exports.convertToModelMessages = exports.stopWhen = exports.stopWhenNoToolCalls = exports.stopAfterSteps = exports.AgentLoop = exports.createAgentLoop = exports.createPagesHandler = exports.createRouteHandler = exports.createNestHandler = exports.createFastifyHandler = exports.createHonoHandler = exports.createExpressHandler = exports.createHttpHandler = exports.mcpToolsToAITools = exports.closeAllMCPClients = exports.closeMCPClient = exports.getMCPClient = exports.createMCP = exports.isDataUrl = exports.isUrl = exports.uint8ArrayToBase64 = exports.base64ToUint8Array = exports.toMessageContent = exports.createMultimodalMessage = void 0;
|
|
66
|
+
exports.syncDisplayCallbacks = exports.registerDisplay = exports.isPluginEnabled = exports.listPlugins = exports.disablePlugins = exports.enablePlugins = exports.parsePluginHeaderFromFile = exports.parsePluginHeader = exports.getPluginTemplate = exports.discoverAndLoadPlugins = exports.loadPlugin = exports.discoverPlugins = exports.ensurePluginDir = exports.getDefaultPluginDirs = exports.getPluginManager = exports.PluginParseError = exports.PluginManager = exports.FunctionPlugin = exports.Plugin = exports.PluginType = exports.PluginHook = exports.createCLIApprovalPrompt = exports.createComputerUseAgent = exports.ComputerUseClient = exports.createComputerUse = exports.createPostgresTool = exports.NLPostgresClient = exports.createNLPostgres = exports.parseSlackMessage = exports.verifySlackSignature = exports.SlackBot = exports.createSlackBot = exports.createTelemetrySettings = exports.clearEvents = exports.getEvents = exports.recordEvent = exports.createTelemetryMiddleware = exports.withSpan = exports.createAISpan = exports.getTracer = exports.initOpenTelemetry = exports.isTelemetryEnabled = exports.disableAITelemetry = exports.enableAITelemetry = exports.getTelemetrySettings = exports.configureTelemetry = exports.autoEnableDevTools = exports.createDevToolsMiddleware = exports.getDevToolsUrl = exports.getDevToolsState = void 0;
|
|
67
|
+
exports.A2ARole = exports.A2ATaskState = exports.createTaskOutput = exports.BaseTask = exports.FailoverManager = exports.RagRetrievalPolicy = exports.AutonomyLevel = exports.SandboxStatus = exports.notCondition = exports.orConditions = exports.andConditions = exports.createCondition = exports.evaluateCondition = exports.FunctionCondition = exports.ExpressionCondition = exports.DictCondition = exports.trackWorkflow = exports.traceContext = exports.createContextEvent = exports.ContextTraceEmitter = exports.ContextNoOpSink = exports.ContextListSink = exports.ContextTraceSink = exports.TraceSink = exports.MessageType = exports.EventType = exports.ContextEventType = exports.normalizeEmbedding = exports.euclideanDistance = exports.cosineSimilarity = exports.setEmbeddingConfig = exports.getDimensions = exports.aembeddings = exports.aembedding = exports.aembed = exports.embeddings = exports.embedding = exports.embed = exports.DisplayFlow = exports.clearErrorLogs = exports.logError = exports.errorLogs = exports.displayToolCall = exports.displaySelfReflection = exports.displayInteraction = exports.displayInstruction = exports.displayGenerating = exports.displayError = exports.clearDisplayCallbacks = exports.asyncDisplayCallbacks = void 0;
|
|
68
|
+
exports.get_plugin_template = exports.ensure_plugin_dir = exports.get_default_plugin_dirs = exports.get_plugin_manager = exports.error_logs = exports.display_tool_call = exports.display_self_reflection = exports.display_interaction = exports.display_instruction = exports.display_generating = exports.display_error = exports.async_display_callbacks = exports.sync_display_callbacks = exports.register_display_callback = exports.cleanup_telemetry_resources = exports.disable_performance_mode = exports.enable_performance_mode = exports.get_telemetry = exports.disable_telemetry = exports.enable_telemetry = exports.MCP = exports.ContextManager = exports.Session = exports.Route = exports.Parallel = exports.Knowledge = exports.when = exports.If = exports.Chunking = exports.prompt_with_handoff_instructions = exports.handoff_filters = exports.create_context_agent = exports.EmbeddingAgent = exports.RealtimeAgent = exports.VideoAgent = exports.VisionAgent = exports.OCRAgent = exports.CodeAgent = exports.GUARDRAIL_POLICY_PRESETS = exports.resolveGuardrailPolicies = exports.workflows = exports.obs = exports.memory = exports.config = exports.Tools = exports.AutoRagAgent = exports.DEFAULT_AUTO_KEYWORDS = exports.AutoRetrievalPolicy = exports.AGUI = exports.A2A = void 0;
|
|
69
|
+
exports.trace_context = exports.resolve_guardrail_policies = exports.track_workflow = exports.get_dimensions = exports.evaluate_condition = exports.discover_and_load_plugins = exports.discover_plugins = exports.parse_plugin_header_from_file = exports.parse_plugin_header = exports.load_plugin = void 0;
|
|
70
70
|
// ============================================================================
|
|
71
71
|
// CORE API - The main classes users should use
|
|
72
72
|
// ============================================================================
|
|
@@ -138,9 +138,14 @@ Object.defineProperty(exports, "getToolsRegistry", { enumerable: true, get: func
|
|
|
138
138
|
Object.defineProperty(exports, "createToolsRegistry", { enumerable: true, get: function () { return registry_1.createToolsRegistry; } });
|
|
139
139
|
Object.defineProperty(exports, "resetToolsRegistry", { enumerable: true, get: function () { return registry_1.resetToolsRegistry; } });
|
|
140
140
|
Object.defineProperty(exports, "ToolsRegistry", { enumerable: true, get: function () { return registry_1.ToolsRegistry; } });
|
|
141
|
+
Object.defineProperty(exports, "get_registry", { enumerable: true, get: function () { return registry_1.get_registry; } });
|
|
142
|
+
Object.defineProperty(exports, "get_tool", { enumerable: true, get: function () { return registry_1.get_tool; } });
|
|
143
|
+
Object.defineProperty(exports, "register_tool", { enumerable: true, get: function () { return registry_1.register_tool; } });
|
|
144
|
+
Object.defineProperty(exports, "validate_tool", { enumerable: true, get: function () { return registry_1.validate_tool; } });
|
|
141
145
|
var registry_2 = require("./tools/registry");
|
|
142
146
|
Object.defineProperty(exports, "MissingDependencyError", { enumerable: true, get: function () { return registry_2.MissingDependencyError; } });
|
|
143
147
|
Object.defineProperty(exports, "MissingEnvVarError", { enumerable: true, get: function () { return registry_2.MissingEnvVarError; } });
|
|
148
|
+
Object.defineProperty(exports, "BudgetExceededError", { enumerable: true, get: function () { return registry_2.BudgetExceededError; } });
|
|
144
149
|
var registry_3 = require("./tools/registry");
|
|
145
150
|
Object.defineProperty(exports, "createLoggingMiddleware", { enumerable: true, get: function () { return registry_3.createLoggingMiddleware; } });
|
|
146
151
|
Object.defineProperty(exports, "createTimeoutMiddleware", { enumerable: true, get: function () { return registry_3.createTimeoutMiddleware; } });
|
package/dist/mcp/security.d.ts
CHANGED
|
@@ -117,6 +117,10 @@ export declare class MCPSecurity {
|
|
|
117
117
|
* Get rate limit remaining
|
|
118
118
|
*/
|
|
119
119
|
getRateLimitRemaining(clientId: string, config: RateLimitConfig): number;
|
|
120
|
+
/**
|
|
121
|
+
* Validate credentials for a given auth method (fail closed by default)
|
|
122
|
+
*/
|
|
123
|
+
private validateCredentials;
|
|
120
124
|
/**
|
|
121
125
|
* Match policy against request
|
|
122
126
|
*/
|