@aria-cli/tools 1.0.12 → 1.0.14
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/index.js +378 -70
- package/dist/network-runtime/index.js +8 -12
- package/dist-cjs/index.js +400 -435
- package/dist-cjs/network-runtime/index.js +8 -172
- package/package.json +8 -6
- package/dist/.tsbuildinfo +0 -1
- package/dist/ask-user-interaction.js +0 -22
- package/dist/cache/web-cache.js +0 -66
- package/dist/definitions/arion.js +0 -104
- package/dist/definitions/browser/browser.js +0 -418
- package/dist/definitions/browser/index.js +0 -4
- package/dist/definitions/browser/pw-downloads.js +0 -114
- package/dist/definitions/browser/pw-interactions.js +0 -199
- package/dist/definitions/browser/pw-responses.js +0 -76
- package/dist/definitions/browser/pw-session.js +0 -310
- package/dist/definitions/browser/pw-shared.js +0 -66
- package/dist/definitions/browser/pw-snapshot.js +0 -301
- package/dist/definitions/browser/pw-state.js +0 -62
- package/dist/definitions/browser/types.js +0 -4
- package/dist/definitions/code-intelligence.js +0 -470
- package/dist/definitions/core.js +0 -109
- package/dist/definitions/delegation.js +0 -512
- package/dist/definitions/deploy.js +0 -65
- package/dist/definitions/filesystem.js +0 -196
- package/dist/definitions/frg.js +0 -63
- package/dist/definitions/index.js +0 -20
- package/dist/definitions/memory.js +0 -123
- package/dist/definitions/messaging.js +0 -625
- package/dist/definitions/meta.js +0 -349
- package/dist/definitions/network.js +0 -159
- package/dist/definitions/outlook.js +0 -277
- package/dist/definitions/patch/apply-patch.js +0 -184
- package/dist/definitions/patch/fuzzy-match.js +0 -166
- package/dist/definitions/patch/index.js +0 -1
- package/dist/definitions/patch/patch-parser.js +0 -207
- package/dist/definitions/patch/sandbox-paths.js +0 -105
- package/dist/definitions/process/index.js +0 -4
- package/dist/definitions/process/process-registry.js +0 -213
- package/dist/definitions/process/process.js +0 -386
- package/dist/definitions/process/pty-keys.js +0 -254
- package/dist/definitions/process/session-slug.js +0 -142
- package/dist/definitions/quip.js +0 -195
- package/dist/definitions/search.js +0 -60
- package/dist/definitions/session-history.js +0 -69
- package/dist/definitions/shell.js +0 -181
- package/dist/definitions/slack.js +0 -180
- package/dist/definitions/web.js +0 -109
- package/dist/executors/apply-patch.js +0 -901
- package/dist/executors/arion.js +0 -119
- package/dist/executors/code-intelligence.js +0 -882
- package/dist/executors/deploy.js +0 -848
- package/dist/executors/filesystem.js +0 -1122
- package/dist/executors/frg-freshness.js +0 -576
- package/dist/executors/frg.js +0 -298
- package/dist/executors/index.js +0 -46
- package/dist/executors/learning-meta.js +0 -1146
- package/dist/executors/lsp-client.js +0 -296
- package/dist/executors/memory.js +0 -750
- package/dist/executors/meta.js +0 -220
- package/dist/executors/process-registry.js +0 -465
- package/dist/executors/pty-session-store.js +0 -30
- package/dist/executors/pty.js +0 -271
- package/dist/executors/restart.js +0 -119
- package/dist/executors/search-freshness.js +0 -195
- package/dist/executors/search-types.js +0 -52
- package/dist/executors/search.js +0 -66
- package/dist/executors/self-diagnose.js +0 -398
- package/dist/executors/session-history.js +0 -283
- package/dist/executors/shell-safety.js +0 -473
- package/dist/executors/shell.js +0 -954
- package/dist/executors/utils.js +0 -33
- package/dist/executors/web.js +0 -542
- package/dist/extraction/content-extraction.js +0 -235
- package/dist/extraction/index.js +0 -4
- package/dist/headless-control-contract.js +0 -967
- package/dist/local-control-http-auth.js +0 -2
- package/dist/mcp/client.js +0 -181
- package/dist/mcp/connection.js +0 -480
- package/dist/mcp/index.js +0 -10
- package/dist/mcp/jsonrpc.js +0 -144
- package/dist/mcp/types.js +0 -7
- package/dist/network-control-adapter.js +0 -72
- package/dist/network-runtime/address-types.js +0 -165
- package/dist/network-runtime/db-owner-fencing.js +0 -69
- package/dist/network-runtime/delivery-receipts.js +0 -267
- package/dist/network-runtime/direct-endpoint-authority.js +0 -25
- package/dist/network-runtime/local-control-contract.js +0 -627
- package/dist/network-runtime/node-store-contract.js +0 -34
- package/dist/network-runtime/pair-route-contract.js +0 -77
- package/dist/network-runtime/peer-capabilities.js +0 -28
- package/dist/network-runtime/peer-principal-ref.js +0 -12
- package/dist/network-runtime/peer-state-machine.js +0 -121
- package/dist/network-runtime/protocol-schemas.js +0 -205
- package/dist/network-runtime/runtime-bootstrap-contract.js +0 -60
- package/dist/outlook/desktop-session.js +0 -279
- package/dist/policy.js +0 -149
- package/dist/providers/brave.js +0 -62
- package/dist/providers/duckduckgo.js +0 -176
- package/dist/providers/exa.js +0 -63
- package/dist/providers/firecrawl.js +0 -55
- package/dist/providers/index.js +0 -7
- package/dist/providers/jina.js +0 -49
- package/dist/providers/router.js +0 -96
- package/dist/providers/search-provider.js +0 -32
- package/dist/providers/tavily.js +0 -54
- package/dist/quip/desktop-session.js +0 -317
- package/dist/registry/index.js +0 -1
- package/dist/registry/registry.js +0 -756
- package/dist/runtime-socket-local-control-client.js +0 -330
- package/dist/security/dns-normalization.js +0 -19
- package/dist/security/dns-pinning.js +0 -123
- package/dist/security/external-content.js +0 -91
- package/dist/security/ssrf.js +0 -181
- package/dist/slack/desktop-session.js +0 -324
- package/dist/tool-factory.js +0 -47
- package/dist/types.js +0 -7
- package/dist/utils/retry.js +0 -132
- package/dist/utils/safe-parse-json.js +0 -160
- package/dist/utils/url.js +0 -19
- package/dist-cjs/.tsbuildinfo +0 -1
- package/dist-cjs/ask-user-interaction.js +0 -27
- package/dist-cjs/cache/web-cache.js +0 -70
- package/dist-cjs/definitions/arion.js +0 -107
- package/dist-cjs/definitions/browser/browser.js +0 -421
- package/dist-cjs/definitions/browser/index.js +0 -8
- package/dist-cjs/definitions/browser/pw-downloads.js +0 -117
- package/dist-cjs/definitions/browser/pw-interactions.js +0 -213
- package/dist-cjs/definitions/browser/pw-responses.js +0 -84
- package/dist-cjs/definitions/browser/pw-session.js +0 -326
- package/dist-cjs/definitions/browser/pw-shared.js +0 -72
- package/dist-cjs/definitions/browser/pw-snapshot.js +0 -307
- package/dist-cjs/definitions/browser/pw-state.js +0 -70
- package/dist-cjs/definitions/browser/types.js +0 -5
- package/dist-cjs/definitions/code-intelligence.js +0 -473
- package/dist-cjs/definitions/core.js +0 -133
- package/dist-cjs/definitions/delegation.js +0 -515
- package/dist-cjs/definitions/deploy.js +0 -68
- package/dist-cjs/definitions/filesystem.js +0 -199
- package/dist-cjs/definitions/frg.js +0 -66
- package/dist-cjs/definitions/index.js +0 -43
- package/dist-cjs/definitions/memory.js +0 -126
- package/dist-cjs/definitions/messaging.js +0 -631
- package/dist-cjs/definitions/meta.js +0 -352
- package/dist-cjs/definitions/network.js +0 -162
- package/dist-cjs/definitions/outlook.js +0 -280
- package/dist-cjs/definitions/patch/apply-patch.js +0 -191
- package/dist-cjs/definitions/patch/fuzzy-match.js +0 -172
- package/dist-cjs/definitions/patch/index.js +0 -5
- package/dist-cjs/definitions/patch/patch-parser.js +0 -215
- package/dist-cjs/definitions/patch/sandbox-paths.js +0 -113
- package/dist-cjs/definitions/process/index.js +0 -8
- package/dist-cjs/definitions/process/process-registry.js +0 -231
- package/dist-cjs/definitions/process/process.js +0 -389
- package/dist-cjs/definitions/process/pty-keys.js +0 -259
- package/dist-cjs/definitions/process/session-slug.js +0 -145
- package/dist-cjs/definitions/quip.js +0 -198
- package/dist-cjs/definitions/search.js +0 -63
- package/dist-cjs/definitions/session-history.js +0 -72
- package/dist-cjs/definitions/shell.js +0 -184
- package/dist-cjs/definitions/slack.js +0 -183
- package/dist-cjs/definitions/web.js +0 -112
- package/dist-cjs/executors/apply-patch.js +0 -938
- package/dist-cjs/executors/arion.js +0 -125
- package/dist-cjs/executors/code-intelligence.js +0 -925
- package/dist-cjs/executors/deploy.js +0 -869
- package/dist-cjs/executors/filesystem.js +0 -1167
- package/dist-cjs/executors/frg-freshness.js +0 -627
- package/dist-cjs/executors/frg.js +0 -334
- package/dist-cjs/executors/index.js +0 -143
- package/dist-cjs/executors/learning-meta.js +0 -1165
- package/dist-cjs/executors/lsp-client.js +0 -310
- package/dist-cjs/executors/memory.js +0 -796
- package/dist-cjs/executors/meta.js +0 -226
- package/dist-cjs/executors/process-registry.js +0 -469
- package/dist-cjs/executors/pty-session-store.js +0 -34
- package/dist-cjs/executors/pty.js +0 -312
- package/dist-cjs/executors/restart.js +0 -155
- package/dist-cjs/executors/search-freshness.js +0 -234
- package/dist-cjs/executors/search-types.js +0 -56
- package/dist-cjs/executors/search.js +0 -102
- package/dist-cjs/executors/self-diagnose.js +0 -434
- package/dist-cjs/executors/session-history.js +0 -320
- package/dist-cjs/executors/shell-safety.js +0 -478
- package/dist-cjs/executors/shell.js +0 -1001
- package/dist-cjs/executors/utils.js +0 -73
- package/dist-cjs/executors/web.js +0 -547
- package/dist-cjs/extraction/content-extraction.js +0 -243
- package/dist-cjs/extraction/index.js +0 -8
- package/dist-cjs/headless-control-contract.js +0 -972
- package/dist-cjs/local-control-http-auth.js +0 -5
- package/dist-cjs/mcp/client.js +0 -185
- package/dist-cjs/mcp/connection.js +0 -484
- package/dist-cjs/mcp/index.js +0 -30
- package/dist-cjs/mcp/jsonrpc.js +0 -148
- package/dist-cjs/mcp/types.js +0 -8
- package/dist-cjs/network-control-adapter.js +0 -77
- package/dist-cjs/network-runtime/address-types.js +0 -168
- package/dist-cjs/network-runtime/db-owner-fencing.js +0 -76
- package/dist-cjs/network-runtime/delivery-receipts.js +0 -276
- package/dist-cjs/network-runtime/direct-endpoint-authority.js +0 -29
- package/dist-cjs/network-runtime/local-control-contract.js +0 -633
- package/dist-cjs/network-runtime/node-store-contract.js +0 -38
- package/dist-cjs/network-runtime/pair-route-contract.js +0 -80
- package/dist-cjs/network-runtime/peer-capabilities.js +0 -37
- package/dist-cjs/network-runtime/peer-principal-ref.js +0 -15
- package/dist-cjs/network-runtime/peer-state-machine.js +0 -129
- package/dist-cjs/network-runtime/protocol-schemas.js +0 -212
- package/dist-cjs/network-runtime/runtime-bootstrap-contract.js +0 -63
- package/dist-cjs/outlook/desktop-session.js +0 -318
- package/dist-cjs/policy.js +0 -155
- package/dist-cjs/providers/brave.js +0 -66
- package/dist-cjs/providers/duckduckgo.js +0 -180
- package/dist-cjs/providers/exa.js +0 -67
- package/dist-cjs/providers/firecrawl.js +0 -59
- package/dist-cjs/providers/index.js +0 -17
- package/dist-cjs/providers/jina.js +0 -53
- package/dist-cjs/providers/router.js +0 -100
- package/dist-cjs/providers/search-provider.js +0 -36
- package/dist-cjs/providers/tavily.js +0 -58
- package/dist-cjs/quip/desktop-session.js +0 -353
- package/dist-cjs/registry/index.js +0 -6
- package/dist-cjs/registry/registry.js +0 -761
- package/dist-cjs/runtime-socket-local-control-client.js +0 -367
- package/dist-cjs/security/dns-normalization.js +0 -22
- package/dist-cjs/security/dns-pinning.js +0 -160
- package/dist-cjs/security/external-content.js +0 -95
- package/dist-cjs/security/ssrf.js +0 -221
- package/dist-cjs/slack/desktop-session.js +0 -366
- package/dist-cjs/tool-factory.js +0 -50
- package/dist-cjs/types.js +0 -8
- package/dist-cjs/utils/retry.js +0 -169
- package/dist-cjs/utils/safe-parse-json.js +0 -164
- package/dist-cjs/utils/url.js +0 -23
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
import { createSlackDesktopClient } from "../slack/desktop-session.js";
|
|
2
|
-
const check_slack_messages = {
|
|
3
|
-
name: "check_slack_messages",
|
|
4
|
-
description: "Read recent Slack messages from a channel or DM using the local Slack Desktop session on this machine.",
|
|
5
|
-
category: "messaging",
|
|
6
|
-
parameters: {
|
|
7
|
-
type: "object",
|
|
8
|
-
properties: {
|
|
9
|
-
teamId: {
|
|
10
|
-
type: "string",
|
|
11
|
-
description: "Optional Slack team id to target when the local Slack Desktop app is signed into multiple workspaces.",
|
|
12
|
-
},
|
|
13
|
-
channel: {
|
|
14
|
-
type: "string",
|
|
15
|
-
description: "Slack conversation id (C/G/D...) or channel name.",
|
|
16
|
-
},
|
|
17
|
-
limit: {
|
|
18
|
-
type: "number",
|
|
19
|
-
description: "Maximum number of messages to return (default 20, max 100).",
|
|
20
|
-
default: 20,
|
|
21
|
-
},
|
|
22
|
-
threadTs: {
|
|
23
|
-
type: "string",
|
|
24
|
-
description: "Optional thread timestamp. When provided, reads thread replies instead of the root channel history.",
|
|
25
|
-
},
|
|
26
|
-
},
|
|
27
|
-
required: ["channel"],
|
|
28
|
-
},
|
|
29
|
-
riskLevel: "safe",
|
|
30
|
-
isReadOnly: true,
|
|
31
|
-
loadingTier: "always",
|
|
32
|
-
execute: async (input) => {
|
|
33
|
-
const typedInput = input;
|
|
34
|
-
const client = await createSlackDesktopClient({
|
|
35
|
-
teamId: typeof typedInput.teamId === "string" ? typedInput.teamId : undefined,
|
|
36
|
-
});
|
|
37
|
-
try {
|
|
38
|
-
const result = await client.listMessages({
|
|
39
|
-
channel: String(typedInput.channel ?? ""),
|
|
40
|
-
limit: typeof typedInput.limit === "number" ? typedInput.limit : 20,
|
|
41
|
-
threadTs: typeof typedInput.threadTs === "string" ? typedInput.threadTs : undefined,
|
|
42
|
-
});
|
|
43
|
-
return {
|
|
44
|
-
success: true,
|
|
45
|
-
message: `Fetched ${result.messages.length} Slack messages from ${result.channelId}.`,
|
|
46
|
-
data: result,
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
catch (error) {
|
|
50
|
-
return {
|
|
51
|
-
success: false,
|
|
52
|
-
message: error instanceof Error ? error.message : "Slack read failed.",
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
finally {
|
|
56
|
-
await client.close();
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
};
|
|
60
|
-
const send_slack_message = {
|
|
61
|
-
name: "send_slack_message",
|
|
62
|
-
description: "Send a Slack message through the local Slack Desktop session on this machine. Requires confirmation because it posts externally.",
|
|
63
|
-
category: "messaging",
|
|
64
|
-
parameters: {
|
|
65
|
-
type: "object",
|
|
66
|
-
properties: {
|
|
67
|
-
teamId: {
|
|
68
|
-
type: "string",
|
|
69
|
-
description: "Optional Slack team id to target when the local Slack Desktop app is signed into multiple workspaces.",
|
|
70
|
-
},
|
|
71
|
-
channel: {
|
|
72
|
-
type: "string",
|
|
73
|
-
description: "Slack conversation id (C/G/D...) or channel name.",
|
|
74
|
-
},
|
|
75
|
-
text: {
|
|
76
|
-
type: "string",
|
|
77
|
-
description: "Message text to send.",
|
|
78
|
-
},
|
|
79
|
-
threadTs: {
|
|
80
|
-
type: "string",
|
|
81
|
-
description: "Optional thread timestamp to reply inside an existing thread.",
|
|
82
|
-
},
|
|
83
|
-
},
|
|
84
|
-
required: ["channel", "text"],
|
|
85
|
-
},
|
|
86
|
-
riskLevel: "dangerous",
|
|
87
|
-
requiresConfirmation: true,
|
|
88
|
-
isReadOnly: false,
|
|
89
|
-
loadingTier: "always",
|
|
90
|
-
execute: async (input) => {
|
|
91
|
-
const typedInput = input;
|
|
92
|
-
const client = await createSlackDesktopClient({
|
|
93
|
-
teamId: typeof typedInput.teamId === "string" ? typedInput.teamId : undefined,
|
|
94
|
-
});
|
|
95
|
-
try {
|
|
96
|
-
const result = await client.sendMessage({
|
|
97
|
-
channel: String(typedInput.channel ?? ""),
|
|
98
|
-
text: String(typedInput.text ?? ""),
|
|
99
|
-
threadTs: typeof typedInput.threadTs === "string" ? typedInput.threadTs : undefined,
|
|
100
|
-
});
|
|
101
|
-
return {
|
|
102
|
-
success: true,
|
|
103
|
-
message: `Sent Slack message to ${result.channelId}.`,
|
|
104
|
-
data: result,
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
catch (error) {
|
|
108
|
-
return {
|
|
109
|
-
success: false,
|
|
110
|
-
message: error instanceof Error ? error.message : "Slack send failed.",
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
finally {
|
|
114
|
-
await client.close();
|
|
115
|
-
}
|
|
116
|
-
},
|
|
117
|
-
};
|
|
118
|
-
const react_slack_message = {
|
|
119
|
-
name: "react_slack_message",
|
|
120
|
-
description: "Add an emoji reaction to a Slack message using the local Slack Desktop session on this machine. Requires confirmation because it modifies external state.",
|
|
121
|
-
category: "messaging",
|
|
122
|
-
parameters: {
|
|
123
|
-
type: "object",
|
|
124
|
-
properties: {
|
|
125
|
-
teamId: {
|
|
126
|
-
type: "string",
|
|
127
|
-
description: "Optional Slack team id to target when the local Slack Desktop app is signed into multiple workspaces.",
|
|
128
|
-
},
|
|
129
|
-
channel: {
|
|
130
|
-
type: "string",
|
|
131
|
-
description: "Slack conversation id (C/G/D...) or channel name.",
|
|
132
|
-
},
|
|
133
|
-
timestamp: {
|
|
134
|
-
type: "string",
|
|
135
|
-
description: "Message timestamp to react to.",
|
|
136
|
-
},
|
|
137
|
-
name: {
|
|
138
|
-
type: "string",
|
|
139
|
-
description: "Emoji name without colons (e.g., thumbsup, eyes, white_check_mark).",
|
|
140
|
-
},
|
|
141
|
-
},
|
|
142
|
-
required: ["channel", "timestamp", "name"],
|
|
143
|
-
},
|
|
144
|
-
riskLevel: "dangerous",
|
|
145
|
-
requiresConfirmation: true,
|
|
146
|
-
isReadOnly: false,
|
|
147
|
-
loadingTier: "always",
|
|
148
|
-
execute: async (input) => {
|
|
149
|
-
const typedInput = input;
|
|
150
|
-
const client = await createSlackDesktopClient({
|
|
151
|
-
teamId: typeof typedInput.teamId === "string" ? typedInput.teamId : undefined,
|
|
152
|
-
});
|
|
153
|
-
try {
|
|
154
|
-
const result = await client.addReaction({
|
|
155
|
-
channel: String(typedInput.channel ?? ""),
|
|
156
|
-
timestamp: String(typedInput.timestamp ?? ""),
|
|
157
|
-
name: String(typedInput.name ?? ""),
|
|
158
|
-
});
|
|
159
|
-
return {
|
|
160
|
-
success: true,
|
|
161
|
-
message: `Added :${typedInput.name}: reaction in ${result.channelId}.`,
|
|
162
|
-
data: result,
|
|
163
|
-
};
|
|
164
|
-
}
|
|
165
|
-
catch (error) {
|
|
166
|
-
return {
|
|
167
|
-
success: false,
|
|
168
|
-
message: error instanceof Error ? error.message : "Slack reaction failed.",
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
finally {
|
|
172
|
-
await client.close();
|
|
173
|
-
}
|
|
174
|
-
},
|
|
175
|
-
};
|
|
176
|
-
export const SLACK_TOOL_DEFINITIONS = [
|
|
177
|
-
check_slack_messages,
|
|
178
|
-
send_slack_message,
|
|
179
|
-
react_slack_message,
|
|
180
|
-
];
|
package/dist/definitions/web.js
DELETED
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Web tool definitions
|
|
3
|
-
*
|
|
4
|
-
* Tools: web_search, web_fetch, browse (3 tools)
|
|
5
|
-
*/
|
|
6
|
-
import { executeWebSearch, executeWebFetch, executeBrowse } from "../executors/index.js";
|
|
7
|
-
// web_search uses SearchProviderRouter with automatic provider selection
|
|
8
|
-
const web_search = {
|
|
9
|
-
name: "web_search",
|
|
10
|
-
description: "Search the web for information. Auto-selects the best available search provider (Brave, Firecrawl, Exa, Tavily, Jina, or DuckDuckGo). Works without any API key via Jina/DuckDuckGo fallback. Set ARIA_SEARCH_PROVIDER to override.",
|
|
11
|
-
category: "web",
|
|
12
|
-
parameters: {
|
|
13
|
-
type: "object",
|
|
14
|
-
properties: {
|
|
15
|
-
query: { type: "string", description: "Search query" },
|
|
16
|
-
limit: {
|
|
17
|
-
type: "number",
|
|
18
|
-
description: "Maximum number of results",
|
|
19
|
-
default: 10,
|
|
20
|
-
},
|
|
21
|
-
domains: {
|
|
22
|
-
type: "array",
|
|
23
|
-
items: { type: "string" },
|
|
24
|
-
description: "Only include results from these domains",
|
|
25
|
-
},
|
|
26
|
-
excludeDomains: {
|
|
27
|
-
type: "array",
|
|
28
|
-
items: { type: "string" },
|
|
29
|
-
description: "Exclude results from these domains",
|
|
30
|
-
},
|
|
31
|
-
topic: {
|
|
32
|
-
type: "string",
|
|
33
|
-
enum: ["general", "news"],
|
|
34
|
-
description: "Search topic classification",
|
|
35
|
-
},
|
|
36
|
-
timeRange: {
|
|
37
|
-
type: "string",
|
|
38
|
-
enum: ["day", "week", "month", "year"],
|
|
39
|
-
description: "Restrict results to a recent time window",
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
required: ["query"],
|
|
43
|
-
},
|
|
44
|
-
riskLevel: "moderate",
|
|
45
|
-
isReadOnly: true,
|
|
46
|
-
loadingTier: "always",
|
|
47
|
-
execute: executeWebSearch,
|
|
48
|
-
};
|
|
49
|
-
const web_fetch = {
|
|
50
|
-
name: "web_fetch",
|
|
51
|
-
description: "Fetch the content of a web page. Returns the page content as text or structured data.",
|
|
52
|
-
category: "web",
|
|
53
|
-
parameters: {
|
|
54
|
-
type: "object",
|
|
55
|
-
properties: {
|
|
56
|
-
url: { type: "string", description: "URL to fetch" },
|
|
57
|
-
format: {
|
|
58
|
-
type: "string",
|
|
59
|
-
enum: ["text", "html", "json"],
|
|
60
|
-
description: "Output format",
|
|
61
|
-
default: "text",
|
|
62
|
-
},
|
|
63
|
-
headers: {
|
|
64
|
-
type: "object",
|
|
65
|
-
description: "Custom request headers",
|
|
66
|
-
additionalProperties: { type: "string" },
|
|
67
|
-
},
|
|
68
|
-
timeoutMs: {
|
|
69
|
-
type: "number",
|
|
70
|
-
description: "Request timeout in milliseconds",
|
|
71
|
-
default: 30_000,
|
|
72
|
-
},
|
|
73
|
-
maxSizeBytes: {
|
|
74
|
-
type: "number",
|
|
75
|
-
description: "Maximum response body size in bytes",
|
|
76
|
-
default: 1 * 1024 * 1024,
|
|
77
|
-
},
|
|
78
|
-
},
|
|
79
|
-
required: ["url"],
|
|
80
|
-
},
|
|
81
|
-
riskLevel: "safe",
|
|
82
|
-
isReadOnly: true,
|
|
83
|
-
loadingTier: "always",
|
|
84
|
-
execute: executeWebFetch,
|
|
85
|
-
};
|
|
86
|
-
// browse uses Readability + Turndown for structured markdown extraction
|
|
87
|
-
const browse = {
|
|
88
|
-
name: "browse",
|
|
89
|
-
description: "Browse a web page and extract structured markdown content using Readability + Turndown. Returns the page title and markdown (up to 50K chars). Handles GitHub URL normalization and retry with backoff.",
|
|
90
|
-
category: "web",
|
|
91
|
-
parameters: {
|
|
92
|
-
type: "object",
|
|
93
|
-
properties: {
|
|
94
|
-
url: { type: "string", description: "URL to browse" },
|
|
95
|
-
timeoutMs: {
|
|
96
|
-
type: "number",
|
|
97
|
-
description: "Request timeout in milliseconds",
|
|
98
|
-
default: 30_000,
|
|
99
|
-
},
|
|
100
|
-
},
|
|
101
|
-
required: ["url"],
|
|
102
|
-
},
|
|
103
|
-
riskLevel: "safe",
|
|
104
|
-
isReadOnly: true,
|
|
105
|
-
loadingTier: "always",
|
|
106
|
-
execute: executeBrowse,
|
|
107
|
-
};
|
|
108
|
-
/** Web tool definitions (3) */
|
|
109
|
-
export const WEB_TOOL_DEFINITIONS = [web_search, web_fetch, browse];
|