@oneie/mcp 0.2.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +18 -0
- package/README.md +64 -65
- package/dist/index.d.ts +8 -7
- package/dist/index.js +12 -10
- package/dist/index.js.map +1 -1
- package/dist/serve.d.ts +4 -0
- package/dist/serve.js +53 -0
- package/dist/serve.js.map +1 -1
- package/dist/tools/broadcast.d.ts +4 -0
- package/dist/tools/broadcast.js +67 -0
- package/dist/tools/broadcast.js.map +1 -0
- package/dist/tools/lifecycle.js +210 -14
- package/dist/tools/lifecycle.js.map +1 -1
- package/dist/tools/observability.js +13 -42
- package/dist/tools/observability.js.map +1 -1
- package/dist/tools/social.d.ts +2 -0
- package/dist/tools/social.js +83 -0
- package/dist/tools/social.js.map +1 -0
- package/dist/tools/substrate.js +302 -38
- package/dist/tools/substrate.js.map +1 -1
- package/dist/tools/video.d.ts +2 -0
- package/dist/tools/video.js +185 -0
- package/dist/tools/video.js.map +1 -0
- package/package.json +6 -4
- package/dist/tools/commerce.d.ts +0 -2
- package/dist/tools/commerce.js +0 -303
- package/dist/tools/commerce.js.map +0 -1
- package/dist/tools/groups.d.ts +0 -2
- package/dist/tools/groups.js +0 -95
- package/dist/tools/groups.js.map +0 -1
package/dist/tools/substrate.js
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import { RECIPES } from "@oneie/sdk/receivers";
|
|
2
|
+
// Tools group by goal: an agent reads the recipe menu, then calls meta:catalog
|
|
3
|
+
// for the full typed surface (cost/risk) and meta:schema for one payload shape.
|
|
4
|
+
const RECEIVER_HINT = `\n\nReceivers group by goal (recipe):\n${Object.entries(RECIPES)
|
|
5
|
+
.map(([goal, steps]) => ` ${goal}: ${steps.join(" → ")}`)
|
|
6
|
+
.join("\n")}\n\nFor the full typed surface (with cost/reversibility/settlement) call ask("meta:catalog"); for one receiver's payload schema call ask("meta:schema", { receiver }).`;
|
|
1
7
|
async function apiCall(baseUrl, apiKey, path, init = {}) {
|
|
2
8
|
const headers = new Headers(init.headers);
|
|
3
9
|
headers.set("Accept", "application/json");
|
|
@@ -17,98 +23,356 @@ export function substrateTools() {
|
|
|
17
23
|
return [
|
|
18
24
|
{
|
|
19
25
|
name: "signal",
|
|
20
|
-
description: "
|
|
21
|
-
|
|
22
|
-
|
|
26
|
+
description: "Fire-and-forget signal to any receiver. Receiver namespacing reaches any capability: 'market:hire', 'inbox:workspace', 'agents:commend', 'groups:join', etc. Use this instead of dedicated tools for any action not listed explicitly." +
|
|
27
|
+
RECEIVER_HINT,
|
|
28
|
+
inputSchema: {
|
|
29
|
+
type: "object",
|
|
30
|
+
properties: { receiver: { type: "string" }, data: {} },
|
|
31
|
+
required: ["receiver"],
|
|
32
|
+
},
|
|
33
|
+
handler: async (args, env) => apiCall(env.baseUrl, env.apiKey, `/api/signal/${encodeURIComponent(String(args.receiver))}`, {
|
|
23
34
|
method: "POST",
|
|
24
|
-
body: JSON.stringify({
|
|
35
|
+
body: JSON.stringify({ data: args.data }),
|
|
25
36
|
}),
|
|
26
37
|
},
|
|
27
38
|
{
|
|
28
39
|
name: "ask",
|
|
29
|
-
description: "Signal + wait for outcome (result | timeout | dissolved | failure)."
|
|
30
|
-
|
|
31
|
-
|
|
40
|
+
description: "Signal + wait for outcome (result | timeout | dissolved | failure). Receiver namespacing reaches any capability: 'stats:current', 'auth:sign-in', 'market:hire', 'agents:capabilities', etc. Use this instead of dedicated tools when you need a response." +
|
|
41
|
+
RECEIVER_HINT,
|
|
42
|
+
inputSchema: {
|
|
43
|
+
type: "object",
|
|
44
|
+
properties: { receiver: { type: "string" }, data: {}, timeoutMs: { type: "number" } },
|
|
45
|
+
required: ["receiver"],
|
|
46
|
+
},
|
|
47
|
+
handler: async (args, env) => apiCall(env.baseUrl, env.apiKey, `/api/ask/${encodeURIComponent(String(args.receiver))}`, {
|
|
32
48
|
method: "POST",
|
|
33
|
-
body: JSON.stringify({
|
|
49
|
+
body: JSON.stringify({ data: args.data, timeoutMs: args.timeoutMs }),
|
|
34
50
|
}),
|
|
35
51
|
},
|
|
36
52
|
{
|
|
37
53
|
name: "mark",
|
|
38
|
-
description: "Strengthen a path.",
|
|
39
|
-
inputSchema: {
|
|
40
|
-
|
|
54
|
+
description: "Strengthen a path (mark deposit). Edge format: 'source>target'.",
|
|
55
|
+
inputSchema: {
|
|
56
|
+
type: "object",
|
|
57
|
+
properties: { edge: { type: "string" }, strength: { type: "number" } },
|
|
58
|
+
required: ["edge"],
|
|
59
|
+
},
|
|
60
|
+
handler: async (args, env) => apiCall(env.baseUrl, env.apiKey, `/api/mark/${encodeURIComponent(String(args.edge))}`, {
|
|
41
61
|
method: "POST",
|
|
42
|
-
body: JSON.stringify({
|
|
62
|
+
body: JSON.stringify({ strength: args.strength ?? 1 }),
|
|
43
63
|
}),
|
|
44
64
|
},
|
|
45
65
|
{
|
|
46
66
|
name: "warn",
|
|
47
|
-
description: "Raise resistance on a path.",
|
|
48
|
-
inputSchema: {
|
|
49
|
-
|
|
67
|
+
description: "Raise resistance on a path. Edge format: 'source>target'.",
|
|
68
|
+
inputSchema: {
|
|
69
|
+
type: "object",
|
|
70
|
+
properties: { edge: { type: "string" }, strength: { type: "number" } },
|
|
71
|
+
required: ["edge"],
|
|
72
|
+
},
|
|
73
|
+
handler: async (args, env) => apiCall(env.baseUrl, env.apiKey, `/api/warn/${encodeURIComponent(String(args.edge))}`, {
|
|
50
74
|
method: "POST",
|
|
51
|
-
body: JSON.stringify({
|
|
75
|
+
body: JSON.stringify({ strength: args.strength ?? 1 }),
|
|
52
76
|
}),
|
|
53
77
|
},
|
|
54
78
|
{
|
|
55
79
|
name: "fade",
|
|
56
|
-
description: "Asymmetric decay of all paths.",
|
|
80
|
+
description: "Asymmetric decay of all paths (resistance forgives 2x faster than strength).",
|
|
57
81
|
inputSchema: { type: "object", properties: { rate: { type: "number" } } },
|
|
58
|
-
handler: async (args, env) => apiCall(env.baseUrl, env.apiKey,
|
|
82
|
+
handler: async (args, env) => apiCall(env.baseUrl, env.apiKey, "/api/fade", {
|
|
83
|
+
method: "POST",
|
|
84
|
+
body: JSON.stringify({ rate: args.rate }),
|
|
85
|
+
}),
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
name: "follow",
|
|
89
|
+
description: "Deterministic path selection — returns the strongest path for a tag type.",
|
|
90
|
+
inputSchema: { type: "object", properties: { tag: { type: "string" } } },
|
|
91
|
+
handler: async (args, env) => {
|
|
92
|
+
const q = new URLSearchParams();
|
|
93
|
+
if (args.tag)
|
|
94
|
+
q.set("tag", String(args.tag));
|
|
95
|
+
const qs = q.toString();
|
|
96
|
+
return apiCall(env.baseUrl, env.apiKey, `/api/follow${qs ? `?${qs}` : ""}`);
|
|
97
|
+
},
|
|
59
98
|
},
|
|
60
99
|
{
|
|
61
100
|
name: "select",
|
|
62
|
-
description: "Probabilistic path selection
|
|
63
|
-
inputSchema: {
|
|
101
|
+
description: "Probabilistic path selection — strength-weighted with exploration bias. Returns next target or null.",
|
|
102
|
+
inputSchema: {
|
|
103
|
+
type: "object",
|
|
104
|
+
properties: {
|
|
105
|
+
type: { type: "string", description: "Tag/type to route toward" },
|
|
106
|
+
exploration: { type: "number", description: "Exploration factor 0–1 (default 0.3)" },
|
|
107
|
+
},
|
|
108
|
+
},
|
|
64
109
|
handler: async (args, env) => {
|
|
65
110
|
const q = new URLSearchParams();
|
|
66
111
|
if (args.type)
|
|
67
112
|
q.set("type", String(args.type));
|
|
68
|
-
|
|
69
|
-
|
|
113
|
+
if (args.exploration != null)
|
|
114
|
+
q.set("exploration", String(args.exploration));
|
|
115
|
+
const qs = q.toString();
|
|
116
|
+
return apiCall(env.baseUrl, env.apiKey, `/api/select${qs ? `?${qs}` : ""}`);
|
|
70
117
|
},
|
|
71
118
|
},
|
|
72
119
|
{
|
|
73
120
|
name: "recall",
|
|
74
121
|
description: "Query hypotheses from the brain.",
|
|
75
|
-
inputSchema: {
|
|
122
|
+
inputSchema: {
|
|
123
|
+
type: "object",
|
|
124
|
+
properties: {
|
|
125
|
+
status: { type: "string", enum: ["pending", "testing", "confirmed", "rejected"] },
|
|
126
|
+
search: { type: "string" },
|
|
127
|
+
limit: { type: "number" },
|
|
128
|
+
},
|
|
129
|
+
},
|
|
76
130
|
handler: async (args, env) => {
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
131
|
+
const q = new URLSearchParams();
|
|
132
|
+
if (args.status)
|
|
133
|
+
q.set("status", String(args.status));
|
|
134
|
+
if (args.search)
|
|
135
|
+
q.set("search", String(args.search));
|
|
136
|
+
if (args.limit)
|
|
137
|
+
q.set("limit", String(args.limit));
|
|
138
|
+
const qs = q.toString();
|
|
139
|
+
return apiCall(env.baseUrl, env.apiKey, `/api/learning${qs ? `?${qs}` : ""}`);
|
|
81
140
|
},
|
|
82
141
|
},
|
|
83
142
|
{
|
|
84
143
|
name: "reveal",
|
|
85
144
|
description: "Full memory card for a uid.",
|
|
86
|
-
inputSchema: {
|
|
87
|
-
|
|
145
|
+
inputSchema: {
|
|
146
|
+
type: "object",
|
|
147
|
+
properties: { uid: { type: "string" } },
|
|
148
|
+
required: ["uid"],
|
|
149
|
+
},
|
|
150
|
+
handler: async (args, env) => apiCall(env.baseUrl, env.apiKey, `/api/pii/reveal/${encodeURIComponent(String(args.uid))}`),
|
|
88
151
|
},
|
|
89
152
|
{
|
|
90
153
|
name: "forget",
|
|
91
154
|
description: "GDPR erasure of a uid.",
|
|
92
|
-
inputSchema: {
|
|
93
|
-
|
|
155
|
+
inputSchema: {
|
|
156
|
+
type: "object",
|
|
157
|
+
properties: { uid: { type: "string" } },
|
|
158
|
+
required: ["uid"],
|
|
159
|
+
},
|
|
160
|
+
handler: async (args, env) => apiCall(env.baseUrl, env.apiKey, "/api/forget", {
|
|
161
|
+
method: "POST",
|
|
162
|
+
body: JSON.stringify({ actorId: args.uid }),
|
|
163
|
+
}),
|
|
94
164
|
},
|
|
95
165
|
{
|
|
96
166
|
name: "frontier",
|
|
97
|
-
description: "Unexplored tag clusters
|
|
98
|
-
inputSchema: { type: "object", properties: {
|
|
99
|
-
handler: async (args, env) =>
|
|
167
|
+
description: "Unexplored tag clusters.",
|
|
168
|
+
inputSchema: { type: "object", properties: { limit: { type: "number" } } },
|
|
169
|
+
handler: async (args, env) => {
|
|
170
|
+
const q = new URLSearchParams();
|
|
171
|
+
if (args.limit)
|
|
172
|
+
q.set("limit", String(args.limit));
|
|
173
|
+
const qs = q.toString();
|
|
174
|
+
return apiCall(env.baseUrl, env.apiKey, `/api/frontiers${qs ? `?${qs}` : ""}`);
|
|
175
|
+
},
|
|
100
176
|
},
|
|
101
177
|
{
|
|
102
178
|
name: "know",
|
|
103
179
|
description: "Promote highways to hypotheses (L6 learning).",
|
|
104
180
|
inputSchema: { type: "object", properties: {} },
|
|
105
|
-
handler: async (_args, env) => apiCall(env.baseUrl, env.apiKey,
|
|
181
|
+
handler: async (_args, env) => apiCall(env.baseUrl, env.apiKey, `/api/signal/${encodeURIComponent("learning:know")}`, {
|
|
182
|
+
method: "POST",
|
|
183
|
+
body: JSON.stringify({ data: {} }),
|
|
184
|
+
}),
|
|
106
185
|
},
|
|
107
186
|
{
|
|
108
187
|
name: "highways",
|
|
109
|
-
description: "Top weighted paths (proven routes).",
|
|
110
|
-
inputSchema: {
|
|
111
|
-
|
|
188
|
+
description: "Top weighted paths (proven routes). Optionally filter by source unit with 'from'.",
|
|
189
|
+
inputSchema: {
|
|
190
|
+
type: "object",
|
|
191
|
+
properties: { limit: { type: "number" }, from: { type: "string" } },
|
|
192
|
+
},
|
|
193
|
+
handler: async (args, env) => {
|
|
194
|
+
const q = new URLSearchParams({ limit: String(args.limit ?? 20) });
|
|
195
|
+
if (args.from)
|
|
196
|
+
q.set("from", String(args.from));
|
|
197
|
+
return apiCall(env.baseUrl, env.apiKey, `/api/export/highways?${q}`);
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
name: "groups",
|
|
202
|
+
description: "List or get a group (dimension 1 — containers: worlds, teams, orgs). Pass gid for a single record.",
|
|
203
|
+
inputSchema: {
|
|
204
|
+
type: "object",
|
|
205
|
+
properties: {
|
|
206
|
+
gid: { type: "string", description: "Group ID — returns single record" },
|
|
207
|
+
type: { type: "string" },
|
|
208
|
+
limit: { type: "number" },
|
|
209
|
+
after: { type: "string", description: "Cursor for pagination" },
|
|
210
|
+
},
|
|
211
|
+
},
|
|
212
|
+
handler: async (args, env) => {
|
|
213
|
+
if (args.gid)
|
|
214
|
+
return apiCall(env.baseUrl, env.apiKey, `/api/export/groups/${encodeURIComponent(String(args.gid))}`);
|
|
215
|
+
const q = new URLSearchParams();
|
|
216
|
+
if (args.type)
|
|
217
|
+
q.set("type", String(args.type));
|
|
218
|
+
if (args.limit)
|
|
219
|
+
q.set("limit", String(args.limit));
|
|
220
|
+
if (args.after)
|
|
221
|
+
q.set("after", String(args.after));
|
|
222
|
+
const qs = q.toString();
|
|
223
|
+
return apiCall(env.baseUrl, env.apiKey, `/api/export/groups${qs ? `?${qs}` : ""}`);
|
|
224
|
+
},
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
name: "actors",
|
|
228
|
+
description: "List or get an actor (dimension 2 — humans, agents, bots). Pass aid for a single record.",
|
|
229
|
+
inputSchema: {
|
|
230
|
+
type: "object",
|
|
231
|
+
properties: {
|
|
232
|
+
aid: { type: "string", description: "Actor ID — returns single record" },
|
|
233
|
+
type: { type: "string" },
|
|
234
|
+
tag: { type: "string" },
|
|
235
|
+
limit: { type: "number" },
|
|
236
|
+
after: { type: "string" },
|
|
237
|
+
},
|
|
238
|
+
},
|
|
239
|
+
handler: async (args, env) => {
|
|
240
|
+
if (args.aid)
|
|
241
|
+
return apiCall(env.baseUrl, env.apiKey, `/api/actors/${encodeURIComponent(String(args.aid))}`);
|
|
242
|
+
const q = new URLSearchParams();
|
|
243
|
+
if (args.type)
|
|
244
|
+
q.set("type", String(args.type));
|
|
245
|
+
if (args.tag)
|
|
246
|
+
q.set("tag", String(args.tag));
|
|
247
|
+
if (args.limit)
|
|
248
|
+
q.set("limit", String(args.limit));
|
|
249
|
+
if (args.after)
|
|
250
|
+
q.set("after", String(args.after));
|
|
251
|
+
const qs = q.toString();
|
|
252
|
+
return apiCall(env.baseUrl, env.apiKey, `/api/export/actors${qs ? `?${qs}` : ""}`);
|
|
253
|
+
},
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
name: "things",
|
|
257
|
+
description: "List or get a thing (dimension 3 — skills, tasks, tokens, items). Pass tid for a single record.",
|
|
258
|
+
inputSchema: {
|
|
259
|
+
type: "object",
|
|
260
|
+
properties: {
|
|
261
|
+
tid: { type: "string", description: "Thing ID — returns single record" },
|
|
262
|
+
type: { type: "string" },
|
|
263
|
+
tag: { type: "string" },
|
|
264
|
+
limit: { type: "number" },
|
|
265
|
+
after: { type: "string" },
|
|
266
|
+
},
|
|
267
|
+
},
|
|
268
|
+
handler: async (args, env) => {
|
|
269
|
+
if (args.tid)
|
|
270
|
+
return apiCall(env.baseUrl, env.apiKey, `/api/things/${encodeURIComponent(String(args.tid))}`);
|
|
271
|
+
const q = new URLSearchParams();
|
|
272
|
+
if (args.type)
|
|
273
|
+
q.set("type", String(args.type));
|
|
274
|
+
if (args.tag)
|
|
275
|
+
q.set("tag", String(args.tag));
|
|
276
|
+
if (args.limit)
|
|
277
|
+
q.set("limit", String(args.limit));
|
|
278
|
+
if (args.after)
|
|
279
|
+
q.set("after", String(args.after));
|
|
280
|
+
const qs = q.toString();
|
|
281
|
+
return apiCall(env.baseUrl, env.apiKey, `/api/things${qs ? `?${qs}` : ""}`);
|
|
282
|
+
},
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
name: "paths",
|
|
286
|
+
description: "List or get a path (dimension 4 — weighted connections with strength/resistance). Pass edge for a single record.",
|
|
287
|
+
inputSchema: {
|
|
288
|
+
type: "object",
|
|
289
|
+
properties: {
|
|
290
|
+
edge: { type: "string", description: "Edge identifier e.g. 'alice>bob' — returns single record" },
|
|
291
|
+
source: { type: "string" },
|
|
292
|
+
target: { type: "string" },
|
|
293
|
+
minStrength: { type: "number" },
|
|
294
|
+
limit: { type: "number" },
|
|
295
|
+
after: { type: "string" },
|
|
296
|
+
},
|
|
297
|
+
},
|
|
298
|
+
handler: async (args, env) => {
|
|
299
|
+
if (args.edge)
|
|
300
|
+
return apiCall(env.baseUrl, env.apiKey, `/api/export/paths/${encodeURIComponent(String(args.edge))}`);
|
|
301
|
+
const q = new URLSearchParams();
|
|
302
|
+
if (args.source)
|
|
303
|
+
q.set("source", String(args.source));
|
|
304
|
+
if (args.target)
|
|
305
|
+
q.set("target", String(args.target));
|
|
306
|
+
if (args.minStrength)
|
|
307
|
+
q.set("minStrength", String(args.minStrength));
|
|
308
|
+
if (args.limit)
|
|
309
|
+
q.set("limit", String(args.limit));
|
|
310
|
+
if (args.after)
|
|
311
|
+
q.set("after", String(args.after));
|
|
312
|
+
const qs = q.toString();
|
|
313
|
+
return apiCall(env.baseUrl, env.apiKey, `/api/export/paths${qs ? `?${qs}` : ""}`);
|
|
314
|
+
},
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
name: "events",
|
|
318
|
+
description: "List or get an event (dimension 5 — signals, payments, what happened). Pass id for a single record.",
|
|
319
|
+
inputSchema: {
|
|
320
|
+
type: "object",
|
|
321
|
+
properties: {
|
|
322
|
+
id: { type: "string", description: "Event ID — returns single record" },
|
|
323
|
+
actor: { type: "string" },
|
|
324
|
+
tag: { type: "string" },
|
|
325
|
+
from: { type: "string", description: "ISO timestamp — filter from" },
|
|
326
|
+
to: { type: "string", description: "ISO timestamp — filter to" },
|
|
327
|
+
limit: { type: "number" },
|
|
328
|
+
},
|
|
329
|
+
},
|
|
330
|
+
handler: async (args, env) => {
|
|
331
|
+
if (args.id)
|
|
332
|
+
return apiCall(env.baseUrl, env.apiKey, `/api/events/${encodeURIComponent(String(args.id))}`);
|
|
333
|
+
const q = new URLSearchParams();
|
|
334
|
+
if (args.actor)
|
|
335
|
+
q.set("actor", String(args.actor));
|
|
336
|
+
if (args.tag)
|
|
337
|
+
q.set("tag", String(args.tag));
|
|
338
|
+
if (args.from)
|
|
339
|
+
q.set("from", String(args.from));
|
|
340
|
+
if (args.to)
|
|
341
|
+
q.set("to", String(args.to));
|
|
342
|
+
if (args.limit)
|
|
343
|
+
q.set("limit", String(args.limit));
|
|
344
|
+
const qs = q.toString();
|
|
345
|
+
return apiCall(env.baseUrl, env.apiKey, `/api/events${qs ? `?${qs}` : ""}`);
|
|
346
|
+
},
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
name: "learning",
|
|
350
|
+
description: "List or get a hypothesis (dimension 6 — what was discovered, confirmed patterns). Pass hid for a single record. Alias for recall with canonical name.",
|
|
351
|
+
inputSchema: {
|
|
352
|
+
type: "object",
|
|
353
|
+
properties: {
|
|
354
|
+
hid: { type: "string", description: "Hypothesis ID — returns single record" },
|
|
355
|
+
status: { type: "string", enum: ["pending", "testing", "confirmed", "rejected"] },
|
|
356
|
+
actor: { type: "string" },
|
|
357
|
+
tag: { type: "string" },
|
|
358
|
+
limit: { type: "number" },
|
|
359
|
+
},
|
|
360
|
+
},
|
|
361
|
+
handler: async (args, env) => {
|
|
362
|
+
if (args.hid)
|
|
363
|
+
return apiCall(env.baseUrl, env.apiKey, `/api/learning/${encodeURIComponent(String(args.hid))}`);
|
|
364
|
+
const q = new URLSearchParams();
|
|
365
|
+
if (args.status)
|
|
366
|
+
q.set("status", String(args.status));
|
|
367
|
+
if (args.actor)
|
|
368
|
+
q.set("actor", String(args.actor));
|
|
369
|
+
if (args.tag)
|
|
370
|
+
q.set("tag", String(args.tag));
|
|
371
|
+
if (args.limit)
|
|
372
|
+
q.set("limit", String(args.limit));
|
|
373
|
+
const qs = q.toString();
|
|
374
|
+
return apiCall(env.baseUrl, env.apiKey, `/api/learning${qs ? `?${qs}` : ""}`);
|
|
375
|
+
},
|
|
112
376
|
},
|
|
113
377
|
];
|
|
114
378
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"substrate.js","sourceRoot":"","sources":["../../src/tools/substrate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"substrate.js","sourceRoot":"","sources":["../../src/tools/substrate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
async function apiCall(baseUrl, apiKey, path, init = {}) {
|
|
2
|
+
const headers = new Headers(init.headers);
|
|
3
|
+
headers.set("Accept", "application/json");
|
|
4
|
+
if (init.body && !headers.has("Content-Type"))
|
|
5
|
+
headers.set("Content-Type", "application/json");
|
|
6
|
+
if (apiKey)
|
|
7
|
+
headers.set("Authorization", `Bearer ${apiKey}`);
|
|
8
|
+
const res = await fetch(`${baseUrl.replace(/\/$/, "")}${path}`, { ...init, headers });
|
|
9
|
+
if (!res.ok)
|
|
10
|
+
throw new Error(`${init.method ?? "GET"} ${path} → ${res.status}`);
|
|
11
|
+
if (res.status === 204)
|
|
12
|
+
return null;
|
|
13
|
+
const ct = res.headers.get("content-type") ?? "";
|
|
14
|
+
return ct.includes("json") ? res.json() : res.text();
|
|
15
|
+
}
|
|
16
|
+
function ask(baseUrl, apiKey, receiver, data) {
|
|
17
|
+
return apiCall(baseUrl, apiKey, `/api/ask/${encodeURIComponent(receiver)}`, {
|
|
18
|
+
method: "POST",
|
|
19
|
+
body: JSON.stringify({ data }),
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
export function videoTools() {
|
|
23
|
+
return [
|
|
24
|
+
{
|
|
25
|
+
name: "create_room",
|
|
26
|
+
description: "Create a 100ms video room for a workspace. Returns the room slug and join URL.",
|
|
27
|
+
inputSchema: {
|
|
28
|
+
type: "object",
|
|
29
|
+
properties: {
|
|
30
|
+
workspace: { type: "string", description: "Workspace slug" },
|
|
31
|
+
roomSlug: { type: "string", description: "URL-safe room identifier" },
|
|
32
|
+
name: { type: "string", description: "Display name for the room" },
|
|
33
|
+
description: { type: "string" },
|
|
34
|
+
type: { type: "string", enum: ["meeting", "classroom", "webinar"] },
|
|
35
|
+
region: { type: "string" },
|
|
36
|
+
},
|
|
37
|
+
required: ["workspace", "roomSlug", "name"],
|
|
38
|
+
},
|
|
39
|
+
handler: async (args, env) => ask(env.baseUrl, env.apiKey, "video:create-room", args),
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: "delete_room",
|
|
43
|
+
description: "Disable a video room and its 100ms counterpart; room is no longer joinable.",
|
|
44
|
+
inputSchema: {
|
|
45
|
+
type: "object",
|
|
46
|
+
properties: {
|
|
47
|
+
workspace: { type: "string" },
|
|
48
|
+
roomSlug: { type: "string" },
|
|
49
|
+
},
|
|
50
|
+
required: ["workspace", "roomSlug"],
|
|
51
|
+
},
|
|
52
|
+
handler: async (args, env) => ask(env.baseUrl, env.apiKey, "video:delete-room", args),
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
name: "contact_call",
|
|
56
|
+
description: "Provision a one-to-one video room for a contact and link it to their CRM record. Returns host and guest join URLs.",
|
|
57
|
+
inputSchema: {
|
|
58
|
+
type: "object",
|
|
59
|
+
properties: {
|
|
60
|
+
workspace: { type: "string" },
|
|
61
|
+
actorId: { type: "string", description: "Contact actor ID" },
|
|
62
|
+
name: { type: "string", description: "Call display name" },
|
|
63
|
+
},
|
|
64
|
+
required: ["workspace", "actorId"],
|
|
65
|
+
},
|
|
66
|
+
handler: async (args, env) => ask(env.baseUrl, env.apiKey, "video:contact-call", args),
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: "invite_to_call",
|
|
70
|
+
description: "Generate a tracked /go/ join link for a contact into an existing room.",
|
|
71
|
+
inputSchema: {
|
|
72
|
+
type: "object",
|
|
73
|
+
properties: {
|
|
74
|
+
workspace: { type: "string" },
|
|
75
|
+
roomSlug: { type: "string" },
|
|
76
|
+
actorId: { type: "string" },
|
|
77
|
+
},
|
|
78
|
+
required: ["workspace", "roomSlug"],
|
|
79
|
+
},
|
|
80
|
+
handler: async (args, env) => ask(env.baseUrl, env.apiKey, "video:invite", args),
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
name: "schedule_webinar",
|
|
84
|
+
description: "Create a webinar room and send tracked invite links to N contacts in one operation.",
|
|
85
|
+
inputSchema: {
|
|
86
|
+
type: "object",
|
|
87
|
+
properties: {
|
|
88
|
+
workspace: { type: "string" },
|
|
89
|
+
name: { type: "string" },
|
|
90
|
+
actorIds: { type: "array", items: { type: "string" }, description: "Contact actor IDs to invite" },
|
|
91
|
+
},
|
|
92
|
+
required: ["workspace", "actorIds"],
|
|
93
|
+
},
|
|
94
|
+
handler: async (args, env) => ask(env.baseUrl, env.apiKey, "video:schedule-webinar", args),
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
name: "create_session",
|
|
98
|
+
description: "Create a video session with host + guest tracked join links. Optionally attach to a booking and schedule a time.",
|
|
99
|
+
inputSchema: {
|
|
100
|
+
type: "object",
|
|
101
|
+
properties: {
|
|
102
|
+
workspace: { type: "string" },
|
|
103
|
+
roomSlug: { type: "string" },
|
|
104
|
+
name: { type: "string" },
|
|
105
|
+
type: { type: "string", enum: ["meeting", "classroom", "webinar"] },
|
|
106
|
+
guestActorId: { type: "string" },
|
|
107
|
+
scheduledAt: { type: "number", description: "Unix timestamp (seconds)" },
|
|
108
|
+
},
|
|
109
|
+
required: ["workspace", "roomSlug", "name"],
|
|
110
|
+
},
|
|
111
|
+
handler: async (args, env) => ask(env.baseUrl, env.apiKey, "video:create-session", args),
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
name: "quick_call",
|
|
115
|
+
description: "Start an ad-hoc video call from any chat thread. Creates a room and posts the join link into the thread.",
|
|
116
|
+
inputSchema: {
|
|
117
|
+
type: "object",
|
|
118
|
+
properties: {
|
|
119
|
+
workspace: { type: "string" },
|
|
120
|
+
threadId: { type: "string" },
|
|
121
|
+
name: { type: "string" },
|
|
122
|
+
},
|
|
123
|
+
required: ["workspace"],
|
|
124
|
+
},
|
|
125
|
+
handler: async (args, env) => ask(env.baseUrl, env.apiKey, "video:quick-room", args),
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
name: "start_recording",
|
|
129
|
+
description: "Start cloud recording for an active room. Returns a recordingId when recording begins.",
|
|
130
|
+
inputSchema: {
|
|
131
|
+
type: "object",
|
|
132
|
+
properties: {
|
|
133
|
+
workspace: { type: "string" },
|
|
134
|
+
roomSlug: { type: "string" },
|
|
135
|
+
},
|
|
136
|
+
required: ["workspace", "roomSlug"],
|
|
137
|
+
},
|
|
138
|
+
handler: async (args, env) => ask(env.baseUrl, env.apiKey, "video:start-recording", args),
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
name: "start_stream",
|
|
142
|
+
description: "Start an HLS live stream for a room. Returns the playback URL when the stream is ready.",
|
|
143
|
+
inputSchema: {
|
|
144
|
+
type: "object",
|
|
145
|
+
properties: {
|
|
146
|
+
workspace: { type: "string" },
|
|
147
|
+
roomSlug: { type: "string" },
|
|
148
|
+
hlsConfig: { type: "object" },
|
|
149
|
+
},
|
|
150
|
+
required: ["workspace", "roomSlug"],
|
|
151
|
+
},
|
|
152
|
+
handler: async (args, env) => ask(env.baseUrl, env.apiKey, "video:start-stream", args),
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
name: "video_summary",
|
|
156
|
+
description: "Run an AI summary of a call transcript and append it as a system message on the room thread.",
|
|
157
|
+
inputSchema: {
|
|
158
|
+
type: "object",
|
|
159
|
+
properties: {
|
|
160
|
+
threadId: { type: "string" },
|
|
161
|
+
transcript: { type: "string" },
|
|
162
|
+
},
|
|
163
|
+
required: ["threadId", "transcript"],
|
|
164
|
+
},
|
|
165
|
+
handler: async (args, env) => ask(env.baseUrl, env.apiKey, "video:summary", args),
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
name: "get_room_status",
|
|
169
|
+
description: "Check whether a room is currently active and how many peers are connected.",
|
|
170
|
+
inputSchema: {
|
|
171
|
+
type: "object",
|
|
172
|
+
properties: {
|
|
173
|
+
workspace: { type: "string" },
|
|
174
|
+
roomSlug: { type: "string" },
|
|
175
|
+
},
|
|
176
|
+
required: ["workspace", "roomSlug"],
|
|
177
|
+
},
|
|
178
|
+
handler: async (args, env) => apiCall(env.baseUrl, env.apiKey, `/api/ask/${encodeURIComponent("video:room-status")}`, {
|
|
179
|
+
method: "POST",
|
|
180
|
+
body: JSON.stringify({ data: args }),
|
|
181
|
+
}),
|
|
182
|
+
},
|
|
183
|
+
];
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=video.js.map
|