@elizaos/autonomous 2.0.0-alpha.10
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 +21 -0
- package/package.json +270 -0
- package/src/actions/emote.ts +101 -0
- package/src/actions/restart.ts +101 -0
- package/src/actions/send-message.ts +168 -0
- package/src/actions/stream-control.ts +439 -0
- package/src/actions/switch-stream-source.ts +126 -0
- package/src/actions/terminal.ts +186 -0
- package/src/api/agent-admin-routes.ts +178 -0
- package/src/api/agent-lifecycle-routes.ts +129 -0
- package/src/api/agent-model.ts +143 -0
- package/src/api/agent-transfer-routes.ts +211 -0
- package/src/api/apps-routes.ts +210 -0
- package/src/api/auth-routes.ts +90 -0
- package/src/api/bsc-trade.ts +736 -0
- package/src/api/bug-report-routes.ts +161 -0
- package/src/api/character-routes.ts +421 -0
- package/src/api/cloud-billing-routes.ts +598 -0
- package/src/api/cloud-compat-routes.ts +192 -0
- package/src/api/cloud-routes.ts +529 -0
- package/src/api/cloud-status-routes.ts +234 -0
- package/src/api/compat-utils.ts +154 -0
- package/src/api/connector-health.ts +135 -0
- package/src/api/coordinator-wiring.ts +179 -0
- package/src/api/credit-detection.ts +47 -0
- package/src/api/database.ts +1357 -0
- package/src/api/diagnostics-routes.ts +389 -0
- package/src/api/drop-service.ts +205 -0
- package/src/api/early-logs.ts +111 -0
- package/src/api/http-helpers.ts +252 -0
- package/src/api/index.ts +85 -0
- package/src/api/knowledge-routes.ts +1189 -0
- package/src/api/knowledge-service-loader.ts +92 -0
- package/src/api/memory-bounds.ts +121 -0
- package/src/api/memory-routes.ts +349 -0
- package/src/api/merkle-tree.ts +239 -0
- package/src/api/models-routes.ts +72 -0
- package/src/api/nfa-routes.ts +169 -0
- package/src/api/nft-verify.ts +188 -0
- package/src/api/og-tracker.ts +72 -0
- package/src/api/parse-action-block.ts +145 -0
- package/src/api/permissions-routes.ts +222 -0
- package/src/api/plugin-validation.ts +355 -0
- package/src/api/provider-switch-config.ts +455 -0
- package/src/api/registry-routes.ts +165 -0
- package/src/api/registry-service.ts +292 -0
- package/src/api/route-helpers.ts +21 -0
- package/src/api/sandbox-routes.ts +1480 -0
- package/src/api/server.ts +17674 -0
- package/src/api/signal-routes.ts +265 -0
- package/src/api/stream-persistence.ts +297 -0
- package/src/api/stream-route-state.ts +48 -0
- package/src/api/stream-routes.ts +1046 -0
- package/src/api/stream-voice-routes.ts +208 -0
- package/src/api/streaming-text.ts +129 -0
- package/src/api/streaming-types.ts +23 -0
- package/src/api/subscription-routes.ts +283 -0
- package/src/api/terminal-run-limits.ts +31 -0
- package/src/api/training-backend-check.ts +40 -0
- package/src/api/training-routes.ts +314 -0
- package/src/api/training-service-like.ts +46 -0
- package/src/api/trajectory-routes.ts +714 -0
- package/src/api/trigger-routes.ts +438 -0
- package/src/api/twitter-verify.ts +226 -0
- package/src/api/tx-service.ts +193 -0
- package/src/api/wallet-dex-prices.ts +206 -0
- package/src/api/wallet-evm-balance.ts +989 -0
- package/src/api/wallet-routes.ts +505 -0
- package/src/api/wallet-rpc.ts +523 -0
- package/src/api/wallet-trading-profile.ts +694 -0
- package/src/api/wallet.ts +745 -0
- package/src/api/whatsapp-routes.ts +282 -0
- package/src/api/zip-utils.ts +130 -0
- package/src/auth/anthropic.ts +63 -0
- package/src/auth/apply-stealth.ts +38 -0
- package/src/auth/claude-code-stealth.ts +141 -0
- package/src/auth/credentials.ts +226 -0
- package/src/auth/index.ts +18 -0
- package/src/auth/openai-codex.ts +94 -0
- package/src/auth/types.ts +24 -0
- package/src/awareness/registry.ts +220 -0
- package/src/bin.ts +10 -0
- package/src/cli/index.ts +36 -0
- package/src/cli/parse-duration.ts +43 -0
- package/src/cloud/auth.test.ts +370 -0
- package/src/cloud/auth.ts +176 -0
- package/src/cloud/backup.test.ts +150 -0
- package/src/cloud/backup.ts +50 -0
- package/src/cloud/base-url.ts +45 -0
- package/src/cloud/bridge-client.test.ts +481 -0
- package/src/cloud/bridge-client.ts +307 -0
- package/src/cloud/cloud-manager.test.ts +223 -0
- package/src/cloud/cloud-manager.ts +151 -0
- package/src/cloud/cloud-proxy.test.ts +122 -0
- package/src/cloud/cloud-proxy.ts +52 -0
- package/src/cloud/index.ts +23 -0
- package/src/cloud/reconnect.test.ts +178 -0
- package/src/cloud/reconnect.ts +108 -0
- package/src/cloud/validate-url.test.ts +147 -0
- package/src/cloud/validate-url.ts +176 -0
- package/src/config/character-schema.ts +44 -0
- package/src/config/config.ts +149 -0
- package/src/config/env-vars.ts +86 -0
- package/src/config/includes.ts +196 -0
- package/src/config/index.ts +15 -0
- package/src/config/object-utils.ts +10 -0
- package/src/config/paths.ts +92 -0
- package/src/config/plugin-auto-enable.ts +520 -0
- package/src/config/schema.ts +1342 -0
- package/src/config/telegram-custom-commands.ts +99 -0
- package/src/config/types.agent-defaults.ts +342 -0
- package/src/config/types.agents.ts +112 -0
- package/src/config/types.gateway.ts +243 -0
- package/src/config/types.hooks.ts +124 -0
- package/src/config/types.messages.ts +201 -0
- package/src/config/types.milady.ts +791 -0
- package/src/config/types.tools.ts +416 -0
- package/src/config/types.ts +7 -0
- package/src/config/zod-schema.agent-runtime.ts +777 -0
- package/src/config/zod-schema.core.ts +778 -0
- package/src/config/zod-schema.hooks.ts +139 -0
- package/src/config/zod-schema.providers-core.ts +1126 -0
- package/src/config/zod-schema.session.ts +98 -0
- package/src/config/zod-schema.ts +865 -0
- package/src/contracts/apps.ts +46 -0
- package/src/contracts/awareness.ts +56 -0
- package/src/contracts/config.ts +172 -0
- package/src/contracts/drop.ts +21 -0
- package/src/contracts/index.ts +8 -0
- package/src/contracts/onboarding.ts +592 -0
- package/src/contracts/permissions.ts +52 -0
- package/src/contracts/verification.ts +9 -0
- package/src/contracts/wallet.ts +503 -0
- package/src/diagnostics/integration-observability.ts +132 -0
- package/src/emotes/catalog.ts +655 -0
- package/src/external-modules.d.ts +7 -0
- package/src/hooks/discovery.test.ts +357 -0
- package/src/hooks/discovery.ts +231 -0
- package/src/hooks/eligibility.ts +146 -0
- package/src/hooks/hooks.test.ts +320 -0
- package/src/hooks/index.ts +8 -0
- package/src/hooks/loader.test.ts +418 -0
- package/src/hooks/loader.ts +256 -0
- package/src/hooks/registry.test.ts +168 -0
- package/src/hooks/registry.ts +74 -0
- package/src/hooks/types.ts +121 -0
- package/src/index.ts +19 -0
- package/src/onboarding-presets.ts +828 -0
- package/src/plugins/custom-rtmp/index.ts +40 -0
- package/src/providers/admin-trust.ts +76 -0
- package/src/providers/session-bridge.ts +143 -0
- package/src/providers/session-utils.ts +42 -0
- package/src/providers/simple-mode.ts +113 -0
- package/src/providers/ui-catalog.ts +135 -0
- package/src/providers/workspace-provider.ts +213 -0
- package/src/providers/workspace.ts +497 -0
- package/src/runtime/agent-event-service.ts +57 -0
- package/src/runtime/cloud-onboarding.test.ts +489 -0
- package/src/runtime/cloud-onboarding.ts +408 -0
- package/src/runtime/core-plugins.ts +53 -0
- package/src/runtime/custom-actions.ts +605 -0
- package/src/runtime/eliza.ts +4941 -0
- package/src/runtime/embedding-presets.ts +73 -0
- package/src/runtime/index.ts +8 -0
- package/src/runtime/milady-plugin.ts +180 -0
- package/src/runtime/onboarding-names.ts +76 -0
- package/src/runtime/release-plugin-policy.ts +119 -0
- package/src/runtime/restart.ts +59 -0
- package/src/runtime/trajectory-persistence.ts +2584 -0
- package/src/runtime/version.ts +6 -0
- package/src/security/audit-log.ts +222 -0
- package/src/security/network-policy.ts +91 -0
- package/src/server/index.ts +6 -0
- package/src/services/agent-export.ts +976 -0
- package/src/services/app-manager.ts +755 -0
- package/src/services/browser-capture.ts +215 -0
- package/src/services/coding-agent-context.ts +355 -0
- package/src/services/fallback-training-service.ts +196 -0
- package/src/services/index.ts +17 -0
- package/src/services/mcp-marketplace.ts +327 -0
- package/src/services/plugin-manager-types.ts +185 -0
- package/src/services/privy-wallets.ts +352 -0
- package/src/services/registry-client-app-meta.ts +201 -0
- package/src/services/registry-client-endpoints.ts +253 -0
- package/src/services/registry-client-local.ts +485 -0
- package/src/services/registry-client-network.ts +173 -0
- package/src/services/registry-client-queries.ts +176 -0
- package/src/services/registry-client-types.ts +104 -0
- package/src/services/registry-client.ts +366 -0
- package/src/services/remote-signing-service.ts +261 -0
- package/src/services/sandbox-engine.ts +753 -0
- package/src/services/sandbox-manager.ts +503 -0
- package/src/services/self-updater.ts +213 -0
- package/src/services/signal-pairing.ts +189 -0
- package/src/services/signing-policy.ts +230 -0
- package/src/services/skill-catalog-client.ts +195 -0
- package/src/services/skill-marketplace.ts +909 -0
- package/src/services/stream-manager.ts +707 -0
- package/src/services/tts-stream-bridge.ts +465 -0
- package/src/services/update-checker.ts +163 -0
- package/src/services/version-compat.ts +367 -0
- package/src/services/whatsapp-pairing.ts +279 -0
- package/src/shared/ui-catalog-prompt.ts +1158 -0
- package/src/test-support/process-helpers.ts +35 -0
- package/src/test-support/route-test-helpers.ts +113 -0
- package/src/test-support/test-helpers.ts +304 -0
- package/src/testing/index.ts +3 -0
- package/src/triggers/action.ts +342 -0
- package/src/triggers/runtime.ts +432 -0
- package/src/triggers/scheduling.ts +472 -0
- package/src/triggers/types.ts +133 -0
- package/src/types/app-hyperscape-routes-shim.d.ts +29 -0
- package/src/types/external-modules.d.ts +7 -0
- package/src/utils/exec-safety.ts +23 -0
- package/src/utils/number-parsing.ts +112 -0
- package/src/utils/spoken-text.ts +65 -0
- package/src/version-resolver.ts +60 -0
- package/test/api/agent-admin-routes.test.ts +160 -0
- package/test/api/agent-lifecycle-routes.test.ts +164 -0
- package/test/api/agent-transfer-routes.test.ts +136 -0
- package/test/api/apps-routes.test.ts +140 -0
- package/test/api/auth-routes.test.ts +160 -0
- package/test/api/bug-report-routes.test.ts +88 -0
- package/test/api/knowledge-routes.test.ts +73 -0
- package/test/api/lifecycle.test.ts +342 -0
- package/test/api/memory-routes.test.ts +74 -0
- package/test/api/models-routes.test.ts +112 -0
- package/test/api/nfa-routes.test.ts +78 -0
- package/test/api/permissions-routes.test.ts +185 -0
- package/test/api/registry-routes.test.ts +157 -0
- package/test/api/signal-routes.test.ts +113 -0
- package/test/api/subscription-routes.test.ts +90 -0
- package/test/api/trigger-routes.test.ts +87 -0
- package/test/api/wallet-routes.observability.test.ts +191 -0
- package/test/api/wallet-routes.test.ts +502 -0
- package/test/diagnostics/integration-observability.test.ts +135 -0
- package/test/security/audit-log.test.ts +229 -0
- package/test/security/network-policy.test.ts +143 -0
- package/test/services/version-compat.test.ts +127 -0
- package/tsconfig.build.json +21 -0
- package/tsconfig.json +19 -0
|
@@ -0,0 +1,416 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
AgentElevatedAllowFromConfig,
|
|
3
|
+
NormalizedChatType,
|
|
4
|
+
SessionSendPolicyAction,
|
|
5
|
+
ToolPolicyConfig,
|
|
6
|
+
ToolProfileId,
|
|
7
|
+
} from "@elizaos/core";
|
|
8
|
+
|
|
9
|
+
export type MediaUnderstandingScopeMatch = {
|
|
10
|
+
channel?: string;
|
|
11
|
+
chatType?: NormalizedChatType;
|
|
12
|
+
keyPrefix?: string;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export type MediaUnderstandingScopeRule = {
|
|
16
|
+
action: SessionSendPolicyAction;
|
|
17
|
+
match?: MediaUnderstandingScopeMatch;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export type MediaUnderstandingScopeConfig = {
|
|
21
|
+
default?: SessionSendPolicyAction;
|
|
22
|
+
rules?: MediaUnderstandingScopeRule[];
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export type MediaUnderstandingCapability = "image" | "audio" | "video";
|
|
26
|
+
|
|
27
|
+
export type MediaUnderstandingAttachmentsConfig = {
|
|
28
|
+
/** Select the first matching attachment or process multiple. */
|
|
29
|
+
mode?: "first" | "all";
|
|
30
|
+
/** Max number of attachments to process (default: 1). */
|
|
31
|
+
maxAttachments?: number;
|
|
32
|
+
/** Attachment ordering preference. */
|
|
33
|
+
prefer?: "first" | "last" | "path" | "url";
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export type MediaUnderstandingModelConfig = {
|
|
37
|
+
/** provider API id (e.g. openai, google). */
|
|
38
|
+
provider?: string;
|
|
39
|
+
/** Model id for provider-based understanding. */
|
|
40
|
+
model?: string;
|
|
41
|
+
/** Optional capability tags for shared model lists. */
|
|
42
|
+
capabilities?: MediaUnderstandingCapability[];
|
|
43
|
+
/** Use a CLI command instead of provider API. */
|
|
44
|
+
type?: "provider" | "cli";
|
|
45
|
+
/** CLI binary (required when type=cli). */
|
|
46
|
+
command?: string;
|
|
47
|
+
/** CLI args (template-enabled). */
|
|
48
|
+
args?: string[];
|
|
49
|
+
/** Optional prompt override for this model entry. */
|
|
50
|
+
prompt?: string;
|
|
51
|
+
/** Optional max output characters for this model entry. */
|
|
52
|
+
maxChars?: number;
|
|
53
|
+
/** Optional max bytes for this model entry. */
|
|
54
|
+
maxBytes?: number;
|
|
55
|
+
/** Optional timeout override (seconds) for this model entry. */
|
|
56
|
+
timeoutSeconds?: number;
|
|
57
|
+
/** Optional language hint for audio transcription. */
|
|
58
|
+
language?: string;
|
|
59
|
+
/** Optional provider-specific query params (merged into requests). */
|
|
60
|
+
providerOptions?: Record<string, Record<string, string | number | boolean>>;
|
|
61
|
+
/** Optional base URL override for provider requests. */
|
|
62
|
+
baseUrl?: string;
|
|
63
|
+
/** Optional headers merged into provider requests. */
|
|
64
|
+
headers?: Record<string, string>;
|
|
65
|
+
/** Auth profile id to use for this provider. */
|
|
66
|
+
profile?: string;
|
|
67
|
+
/** Preferred profile id if multiple are available. */
|
|
68
|
+
preferredProfile?: string;
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export type MediaUnderstandingConfig = {
|
|
72
|
+
/** Enable media understanding when models are configured. */
|
|
73
|
+
enabled?: boolean;
|
|
74
|
+
/** Optional scope gating for understanding. */
|
|
75
|
+
scope?: MediaUnderstandingScopeConfig;
|
|
76
|
+
/** Default max bytes to send. */
|
|
77
|
+
maxBytes?: number;
|
|
78
|
+
/** Default max output characters. */
|
|
79
|
+
maxChars?: number;
|
|
80
|
+
/** Default prompt. */
|
|
81
|
+
prompt?: string;
|
|
82
|
+
/** Default timeout (seconds). */
|
|
83
|
+
timeoutSeconds?: number;
|
|
84
|
+
/** Default language hint (audio). */
|
|
85
|
+
language?: string;
|
|
86
|
+
/** Optional provider-specific query params (merged into requests). */
|
|
87
|
+
providerOptions?: Record<string, Record<string, string | number | boolean>>;
|
|
88
|
+
/** Optional base URL override for provider requests. */
|
|
89
|
+
baseUrl?: string;
|
|
90
|
+
/** Optional headers merged into provider requests. */
|
|
91
|
+
headers?: Record<string, string>;
|
|
92
|
+
/** Attachment selection policy. */
|
|
93
|
+
attachments?: MediaUnderstandingAttachmentsConfig;
|
|
94
|
+
/** Ordered model list (fallbacks in order). */
|
|
95
|
+
models?: MediaUnderstandingModelConfig[];
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
export type LinkModelConfig = {
|
|
99
|
+
/** Use a CLI command for link processing. */
|
|
100
|
+
type?: "cli";
|
|
101
|
+
/** CLI binary (required when type=cli). */
|
|
102
|
+
command: string;
|
|
103
|
+
/** CLI args (template-enabled). */
|
|
104
|
+
args?: string[];
|
|
105
|
+
/** Optional timeout override (seconds) for this model entry. */
|
|
106
|
+
timeoutSeconds?: number;
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
export type LinkToolsConfig = {
|
|
110
|
+
/** Enable link understanding when models are configured. */
|
|
111
|
+
enabled?: boolean;
|
|
112
|
+
/** Optional scope gating for understanding. */
|
|
113
|
+
scope?: MediaUnderstandingScopeConfig;
|
|
114
|
+
/** Max number of links to process per message. */
|
|
115
|
+
maxLinks?: number;
|
|
116
|
+
/** Default timeout (seconds). */
|
|
117
|
+
timeoutSeconds?: number;
|
|
118
|
+
/** Ordered model list (fallbacks in order). */
|
|
119
|
+
models?: LinkModelConfig[];
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
export type MediaToolsConfig = {
|
|
123
|
+
/** Shared model list applied across image/audio/video. */
|
|
124
|
+
models?: MediaUnderstandingModelConfig[];
|
|
125
|
+
/** Max concurrent media understanding runs. */
|
|
126
|
+
concurrency?: number;
|
|
127
|
+
image?: MediaUnderstandingConfig;
|
|
128
|
+
audio?: MediaUnderstandingConfig;
|
|
129
|
+
video?: MediaUnderstandingConfig;
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
export type ExecToolConfig = {
|
|
133
|
+
/** Exec host routing (default: sandbox). */
|
|
134
|
+
host?: "sandbox" | "gateway" | "node";
|
|
135
|
+
/** Exec security mode (default: deny). */
|
|
136
|
+
security?: "deny" | "allowlist" | "full";
|
|
137
|
+
/** Exec ask mode (default: on-miss). */
|
|
138
|
+
ask?: "off" | "on-miss" | "always";
|
|
139
|
+
/** Default node binding for exec.host=node (node id/name). */
|
|
140
|
+
node?: string;
|
|
141
|
+
/** Directories to prepend to PATH when running exec (gateway/sandbox). */
|
|
142
|
+
pathPrepend?: string[];
|
|
143
|
+
/** Safe stdin-only binaries that can run without allowlist entries. */
|
|
144
|
+
safeBins?: string[];
|
|
145
|
+
/** Default time (ms) before an exec command auto-backgrounds. */
|
|
146
|
+
backgroundMs?: number;
|
|
147
|
+
/** Default timeout (seconds) before auto-killing exec commands. */
|
|
148
|
+
timeoutSec?: number;
|
|
149
|
+
/** Emit a running notice (ms) when approval-backed exec runs long (default: 10000, 0 = off). */
|
|
150
|
+
approvalRunningNoticeMs?: number;
|
|
151
|
+
/** How long to keep finished sessions in memory (ms). */
|
|
152
|
+
cleanupMs?: number;
|
|
153
|
+
/** Emit a system event and heartbeat when a backgrounded exec exits. */
|
|
154
|
+
notifyOnExit?: boolean;
|
|
155
|
+
/** apply_patch subtool configuration (experimental). */
|
|
156
|
+
applyPatch?: {
|
|
157
|
+
/** Enable apply_patch for OpenAI models (default: false). */
|
|
158
|
+
enabled?: boolean;
|
|
159
|
+
/**
|
|
160
|
+
* Optional allowlist of model ids that can use apply_patch.
|
|
161
|
+
* Accepts either raw ids (e.g. "gpt-5.2") or full ids (e.g. "openai/gpt-5.2").
|
|
162
|
+
*/
|
|
163
|
+
allowModels?: string[];
|
|
164
|
+
};
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
export type AgentToolsConfig = {
|
|
168
|
+
/** Base tool profile applied before allow/deny lists. */
|
|
169
|
+
profile?: ToolProfileId;
|
|
170
|
+
allow?: string[];
|
|
171
|
+
/** Additional allowlist entries merged into allow and/or profile allowlist. */
|
|
172
|
+
alsoAllow?: string[];
|
|
173
|
+
deny?: string[];
|
|
174
|
+
/** Optional tool policy overrides keyed by provider id or "provider/model". */
|
|
175
|
+
byProvider?: Record<string, ToolPolicyConfig>;
|
|
176
|
+
/** Per-agent elevated exec gate (can only further restrict global tools.elevated). */
|
|
177
|
+
elevated?: {
|
|
178
|
+
/** Enable or disable elevated mode for this agent (default: true). */
|
|
179
|
+
enabled?: boolean;
|
|
180
|
+
/** Approved senders for /elevated (per-provider allowlists). */
|
|
181
|
+
allowFrom?: AgentElevatedAllowFromConfig;
|
|
182
|
+
};
|
|
183
|
+
/** Exec tool defaults for this agent. */
|
|
184
|
+
exec?: ExecToolConfig;
|
|
185
|
+
sandbox?: {
|
|
186
|
+
tools?: {
|
|
187
|
+
allow?: string[];
|
|
188
|
+
deny?: string[];
|
|
189
|
+
};
|
|
190
|
+
};
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
export type MemorySearchConfig = {
|
|
194
|
+
/** Enable vector memory search (default: true). */
|
|
195
|
+
enabled?: boolean;
|
|
196
|
+
/** Sources to index and search (default: ["memory"]). */
|
|
197
|
+
sources?: Array<"memory" | "sessions">;
|
|
198
|
+
/** Extra paths to include in memory search (directories or .md files). */
|
|
199
|
+
extraPaths?: string[];
|
|
200
|
+
/** Experimental memory search settings. */
|
|
201
|
+
experimental?: {
|
|
202
|
+
/** Enable session transcript indexing (experimental, default: false). */
|
|
203
|
+
sessionMemory?: boolean;
|
|
204
|
+
};
|
|
205
|
+
/** Embedding provider mode. */
|
|
206
|
+
provider?: "openai" | "gemini" | "local";
|
|
207
|
+
remote?: {
|
|
208
|
+
baseUrl?: string;
|
|
209
|
+
apiKey?: string;
|
|
210
|
+
headers?: Record<string, string>;
|
|
211
|
+
batch?: {
|
|
212
|
+
/** Enable batch API for embedding indexing (OpenAI/Gemini; default: true). */
|
|
213
|
+
enabled?: boolean;
|
|
214
|
+
/** Wait for batch completion (default: true). */
|
|
215
|
+
wait?: boolean;
|
|
216
|
+
/** Max concurrent batch jobs (default: 2). */
|
|
217
|
+
concurrency?: number;
|
|
218
|
+
/** Poll interval in ms (default: 5000). */
|
|
219
|
+
pollIntervalMs?: number;
|
|
220
|
+
/** Timeout in minutes (default: 60). */
|
|
221
|
+
timeoutMinutes?: number;
|
|
222
|
+
};
|
|
223
|
+
};
|
|
224
|
+
/** Fallback behavior when embeddings fail. */
|
|
225
|
+
fallback?: "openai" | "gemini" | "local" | "none";
|
|
226
|
+
/** Embedding model id (remote) or alias (local). */
|
|
227
|
+
model?: string;
|
|
228
|
+
/** Local embedding settings (node-llama-cpp). */
|
|
229
|
+
local?: {
|
|
230
|
+
/** GGUF model path or hf: URI. */
|
|
231
|
+
modelPath?: string;
|
|
232
|
+
/** Optional cache directory for local models. */
|
|
233
|
+
modelCacheDir?: string;
|
|
234
|
+
};
|
|
235
|
+
/** Index storage configuration. */
|
|
236
|
+
store?: {
|
|
237
|
+
driver?: "sqlite";
|
|
238
|
+
path?: string;
|
|
239
|
+
vector?: {
|
|
240
|
+
/** Enable sqlite-vec extension for vector search (default: true). */
|
|
241
|
+
enabled?: boolean;
|
|
242
|
+
/** Optional override path to sqlite-vec extension (.dylib/.so/.dll). */
|
|
243
|
+
extensionPath?: string;
|
|
244
|
+
};
|
|
245
|
+
cache?: {
|
|
246
|
+
/** Enable embedding cache (default: true). */
|
|
247
|
+
enabled?: boolean;
|
|
248
|
+
/** Optional max cache entries per provider/model. */
|
|
249
|
+
maxEntries?: number;
|
|
250
|
+
};
|
|
251
|
+
};
|
|
252
|
+
/** Chunking configuration. */
|
|
253
|
+
chunking?: {
|
|
254
|
+
tokens?: number;
|
|
255
|
+
overlap?: number;
|
|
256
|
+
};
|
|
257
|
+
/** Sync behavior. */
|
|
258
|
+
sync?: {
|
|
259
|
+
onSessionStart?: boolean;
|
|
260
|
+
onSearch?: boolean;
|
|
261
|
+
watch?: boolean;
|
|
262
|
+
watchDebounceMs?: number;
|
|
263
|
+
intervalMinutes?: number;
|
|
264
|
+
sessions?: {
|
|
265
|
+
/** Minimum appended bytes before session transcripts are reindexed. */
|
|
266
|
+
deltaBytes?: number;
|
|
267
|
+
/** Minimum appended JSONL lines before session transcripts are reindexed. */
|
|
268
|
+
deltaMessages?: number;
|
|
269
|
+
};
|
|
270
|
+
};
|
|
271
|
+
/** Query behavior. */
|
|
272
|
+
query?: {
|
|
273
|
+
maxResults?: number;
|
|
274
|
+
minScore?: number;
|
|
275
|
+
hybrid?: {
|
|
276
|
+
/** Enable hybrid BM25 + vector search (default: true). */
|
|
277
|
+
enabled?: boolean;
|
|
278
|
+
/** Weight for vector similarity when merging results (0-1). */
|
|
279
|
+
vectorWeight?: number;
|
|
280
|
+
/** Weight for BM25 text relevance when merging results (0-1). */
|
|
281
|
+
textWeight?: number;
|
|
282
|
+
/** Multiplier for candidate pool size (default: 4). */
|
|
283
|
+
candidateMultiplier?: number;
|
|
284
|
+
};
|
|
285
|
+
};
|
|
286
|
+
/** Index cache behavior. */
|
|
287
|
+
cache?: {
|
|
288
|
+
/** Cache chunk embeddings in SQLite (default: true). */
|
|
289
|
+
enabled?: boolean;
|
|
290
|
+
/** Optional cap on cached embeddings (best-effort). */
|
|
291
|
+
maxEntries?: number;
|
|
292
|
+
};
|
|
293
|
+
};
|
|
294
|
+
|
|
295
|
+
export type ToolsConfig = {
|
|
296
|
+
/** Base tool profile applied before allow/deny lists. */
|
|
297
|
+
profile?: ToolProfileId;
|
|
298
|
+
allow?: string[];
|
|
299
|
+
/** Additional allowlist entries merged into allow and/or profile allowlist. */
|
|
300
|
+
alsoAllow?: string[];
|
|
301
|
+
deny?: string[];
|
|
302
|
+
/** Optional tool policy overrides keyed by provider id or "provider/model". */
|
|
303
|
+
byProvider?: Record<string, ToolPolicyConfig>;
|
|
304
|
+
web?: {
|
|
305
|
+
search?: {
|
|
306
|
+
/** Enable web search tool (default: true when API key is present). */
|
|
307
|
+
enabled?: boolean;
|
|
308
|
+
/** Search provider ("brave" or "perplexity"). */
|
|
309
|
+
provider?: "brave" | "perplexity";
|
|
310
|
+
/** Brave Search API key (optional; defaults to BRAVE_API_KEY env var). */
|
|
311
|
+
apiKey?: string;
|
|
312
|
+
/** Default search results count (1-10). */
|
|
313
|
+
maxResults?: number;
|
|
314
|
+
/** Timeout in seconds for search requests. */
|
|
315
|
+
timeoutSeconds?: number;
|
|
316
|
+
/** Cache TTL in minutes for search results. */
|
|
317
|
+
cacheTtlMinutes?: number;
|
|
318
|
+
/** Perplexity-specific configuration (used when provider="perplexity"). */
|
|
319
|
+
perplexity?: {
|
|
320
|
+
/** API key for Perplexity or OpenRouter (defaults to PERPLEXITY_API_KEY or OPENROUTER_API_KEY env var). */
|
|
321
|
+
apiKey?: string;
|
|
322
|
+
/** Base URL for API requests (defaults to OpenRouter: https://openrouter.ai/api/v1). */
|
|
323
|
+
baseUrl?: string;
|
|
324
|
+
/** Model to use (defaults to "perplexity/sonar-pro"). */
|
|
325
|
+
model?: string;
|
|
326
|
+
};
|
|
327
|
+
};
|
|
328
|
+
fetch?: {
|
|
329
|
+
/** Enable web fetch tool (default: true). */
|
|
330
|
+
enabled?: boolean;
|
|
331
|
+
/** Max characters to return from fetched content. */
|
|
332
|
+
maxChars?: number;
|
|
333
|
+
/** Hard cap for maxChars (tool or config), defaults to 50000. */
|
|
334
|
+
maxCharsCap?: number;
|
|
335
|
+
/** Timeout in seconds for fetch requests. */
|
|
336
|
+
timeoutSeconds?: number;
|
|
337
|
+
/** Cache TTL in minutes for fetched content. */
|
|
338
|
+
cacheTtlMinutes?: number;
|
|
339
|
+
/** Maximum number of redirects to follow (default: 3). */
|
|
340
|
+
maxRedirects?: number;
|
|
341
|
+
/** Override User-Agent header for fetch requests. */
|
|
342
|
+
userAgent?: string;
|
|
343
|
+
/** Use Readability to extract main content (default: true). */
|
|
344
|
+
readability?: boolean;
|
|
345
|
+
firecrawl?: {
|
|
346
|
+
/** Enable Firecrawl fallback (default: true when apiKey is set). */
|
|
347
|
+
enabled?: boolean;
|
|
348
|
+
/** Firecrawl API key (optional; defaults to FIRECRAWL_API_KEY env var). */
|
|
349
|
+
apiKey?: string;
|
|
350
|
+
/** Firecrawl base URL (default: https://api.firecrawl.dev). */
|
|
351
|
+
baseUrl?: string;
|
|
352
|
+
/** Whether to keep only main content (default: true). */
|
|
353
|
+
onlyMainContent?: boolean;
|
|
354
|
+
/** Max age (ms) for cached Firecrawl content. */
|
|
355
|
+
maxAgeMs?: number;
|
|
356
|
+
/** Timeout in seconds for Firecrawl requests. */
|
|
357
|
+
timeoutSeconds?: number;
|
|
358
|
+
};
|
|
359
|
+
};
|
|
360
|
+
};
|
|
361
|
+
media?: MediaToolsConfig;
|
|
362
|
+
links?: LinkToolsConfig;
|
|
363
|
+
/** Message tool configuration. */
|
|
364
|
+
message?: {
|
|
365
|
+
crossContext?: {
|
|
366
|
+
/** Allow sends to other channels within the same provider (default: true). */
|
|
367
|
+
allowWithinProvider?: boolean;
|
|
368
|
+
/** Allow sends across different providers (default: false). */
|
|
369
|
+
allowAcrossProviders?: boolean;
|
|
370
|
+
/** Cross-context marker configuration. */
|
|
371
|
+
marker?: {
|
|
372
|
+
/** Enable origin markers for cross-context sends (default: true). */
|
|
373
|
+
enabled?: boolean;
|
|
374
|
+
/** Text prefix template, supports {channel}. */
|
|
375
|
+
prefix?: string;
|
|
376
|
+
/** Text suffix template, supports {channel}. */
|
|
377
|
+
suffix?: string;
|
|
378
|
+
};
|
|
379
|
+
};
|
|
380
|
+
broadcast?: {
|
|
381
|
+
/** Enable broadcast action (default: true). */
|
|
382
|
+
enabled?: boolean;
|
|
383
|
+
};
|
|
384
|
+
};
|
|
385
|
+
agentToAgent?: {
|
|
386
|
+
/** Enable agent-to-agent messaging tools. Default: false. */
|
|
387
|
+
enabled?: boolean;
|
|
388
|
+
/** Allowlist of agent ids or patterns (implementation-defined). */
|
|
389
|
+
allow?: string[];
|
|
390
|
+
};
|
|
391
|
+
/** Elevated exec permissions for the host machine. */
|
|
392
|
+
elevated?: {
|
|
393
|
+
/** Enable or disable elevated mode (default: true). */
|
|
394
|
+
enabled?: boolean;
|
|
395
|
+
/** Approved senders for /elevated (per-provider allowlists). */
|
|
396
|
+
allowFrom?: AgentElevatedAllowFromConfig;
|
|
397
|
+
};
|
|
398
|
+
/** Exec tool defaults. */
|
|
399
|
+
exec?: ExecToolConfig;
|
|
400
|
+
/** Sub-agent tool policy defaults (deny wins). */
|
|
401
|
+
subagents?: {
|
|
402
|
+
/** Default model selection for spawned sub-agents (string or {primary,fallbacks}). */
|
|
403
|
+
model?: string | { primary?: string; fallbacks?: string[] };
|
|
404
|
+
tools?: {
|
|
405
|
+
allow?: string[];
|
|
406
|
+
deny?: string[];
|
|
407
|
+
};
|
|
408
|
+
};
|
|
409
|
+
/** Sandbox tool policy defaults (deny wins). */
|
|
410
|
+
sandbox?: {
|
|
411
|
+
tools?: {
|
|
412
|
+
allow?: string[];
|
|
413
|
+
deny?: string[];
|
|
414
|
+
};
|
|
415
|
+
};
|
|
416
|
+
};
|