@sesamespace/hivemind 0.8.5 → 0.8.6
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/config/default.toml +3 -0
- package/dist/{chunk-ELRUZHT5.js → chunk-AYHCHIM2.js} +2 -2
- package/dist/{chunk-FQ2HFJDZ.js → chunk-CJ4Y2BCE.js} +2 -2
- package/dist/{chunk-TRRT2WFH.js → chunk-K7YQY253.js} +3 -3
- package/dist/{chunk-ESY7ZS46.js → chunk-LSLF7AGW.js} +14 -3
- package/dist/chunk-LSLF7AGW.js.map +1 -0
- package/dist/{chunk-Q5ZO5WXM.js → chunk-S4QRR3ZJ.js} +685 -24
- package/dist/chunk-S4QRR3ZJ.js.map +1 -0
- package/dist/{chunk-TTL73U2P.js → chunk-WIJHKLB3.js} +3 -3
- package/dist/commands/fleet.js +3 -4
- package/dist/commands/init.js +3 -2
- package/dist/commands/start.js +3 -4
- package/dist/commands/watchdog.js +3 -4
- package/dist/index.js +5 -4
- package/dist/main.js +6 -7
- package/dist/main.js.map +1 -1
- package/dist/start.js +1 -2
- package/dist/start.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-ESY7ZS46.js.map +0 -1
- package/dist/chunk-GPI4RU7N.js +0 -624
- package/dist/chunk-GPI4RU7N.js.map +0 -1
- package/dist/chunk-Q5ZO5WXM.js.map +0 -1
- /package/dist/{chunk-ELRUZHT5.js.map → chunk-AYHCHIM2.js.map} +0 -0
- /package/dist/{chunk-FQ2HFJDZ.js.map → chunk-CJ4Y2BCE.js.map} +0 -0
- /package/dist/{chunk-TRRT2WFH.js.map → chunk-K7YQY253.js.map} +0 -0
- /package/dist/{chunk-TTL73U2P.js.map → chunk-WIJHKLB3.js.map} +0 -0
package/dist/chunk-GPI4RU7N.js
DELETED
|
@@ -1,624 +0,0 @@
|
|
|
1
|
-
// node_modules/.pnpm/@sesamespace+sdk@0.1.6/node_modules/@sesamespace/sdk/dist/client.js
|
|
2
|
-
import WebSocket from "ws";
|
|
3
|
-
|
|
4
|
-
// node_modules/.pnpm/@sesamespace+sdk@0.1.6/node_modules/@sesamespace/sdk/dist/auth.js
|
|
5
|
-
import { sign } from "crypto";
|
|
6
|
-
function createAuthSignature(handle, privateKeyBase64url) {
|
|
7
|
-
const timestamp = Date.now();
|
|
8
|
-
const message = `AUTH:${handle}:${timestamp}`;
|
|
9
|
-
const privateKeyDer = Buffer.from(privateKeyBase64url, "base64url");
|
|
10
|
-
const privateKey = {
|
|
11
|
-
key: privateKeyDer,
|
|
12
|
-
format: "der",
|
|
13
|
-
type: "pkcs8"
|
|
14
|
-
};
|
|
15
|
-
const sig = sign(null, Buffer.from(message), privateKey);
|
|
16
|
-
return {
|
|
17
|
-
signature: sig.toString("base64url"),
|
|
18
|
-
timestamp
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
// node_modules/.pnpm/@sesamespace+sdk@0.1.6/node_modules/@sesamespace/sdk/dist/client.js
|
|
23
|
-
var SesameClient = class {
|
|
24
|
-
config;
|
|
25
|
-
ws = null;
|
|
26
|
-
eventHandlers = /* @__PURE__ */ new Map();
|
|
27
|
-
reconnectAttempts = 0;
|
|
28
|
-
reconnectTimer = null;
|
|
29
|
-
heartbeatTimer = null;
|
|
30
|
-
cursors = /* @__PURE__ */ new Map();
|
|
31
|
-
authenticated = false;
|
|
32
|
-
constructor(config) {
|
|
33
|
-
this.config = {
|
|
34
|
-
autoReconnect: true,
|
|
35
|
-
maxReconnectAttempts: 10,
|
|
36
|
-
...config
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
// ── HTTP Methods ──
|
|
40
|
-
async fetch(path, options = {}) {
|
|
41
|
-
const headers = {
|
|
42
|
-
"Content-Type": "application/json",
|
|
43
|
-
...options.headers ?? {}
|
|
44
|
-
};
|
|
45
|
-
if (this.config.apiKey) {
|
|
46
|
-
headers["Authorization"] = `Bearer ${this.config.apiKey}`;
|
|
47
|
-
} else if (this.config.token) {
|
|
48
|
-
headers["Authorization"] = `Bearer ${this.config.token}`;
|
|
49
|
-
} else if (this.config.agent) {
|
|
50
|
-
const { signature, timestamp } = createAuthSignature(this.config.agent.handle, this.config.agent.privateKey);
|
|
51
|
-
headers["Authorization"] = `Signature ${this.config.agent.handle}.${signature}.${timestamp}`;
|
|
52
|
-
}
|
|
53
|
-
const response = await globalThis.fetch(`${this.config.apiUrl}${path}`, {
|
|
54
|
-
...options,
|
|
55
|
-
headers
|
|
56
|
-
});
|
|
57
|
-
if (!response.ok) {
|
|
58
|
-
const error = await response.json().catch(() => ({ error: response.statusText }));
|
|
59
|
-
throw new SesameApiError(response.status, error.error ?? "Request failed");
|
|
60
|
-
}
|
|
61
|
-
return response.json();
|
|
62
|
-
}
|
|
63
|
-
get(path) {
|
|
64
|
-
return this.fetch(path);
|
|
65
|
-
}
|
|
66
|
-
post(path, body) {
|
|
67
|
-
return this.fetch(path, {
|
|
68
|
-
method: "POST",
|
|
69
|
-
body: body ? JSON.stringify(body) : void 0
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
patch(path, body) {
|
|
73
|
-
return this.fetch(path, {
|
|
74
|
-
method: "PATCH",
|
|
75
|
-
body: JSON.stringify(body)
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
del(path) {
|
|
79
|
-
return this.fetch(path, { method: "DELETE" });
|
|
80
|
-
}
|
|
81
|
-
// ── Auth ──
|
|
82
|
-
async login(email, password) {
|
|
83
|
-
const result = await this.post("/api/v1/auth/login", { email, password });
|
|
84
|
-
this.config.token = result.accessToken;
|
|
85
|
-
return result;
|
|
86
|
-
}
|
|
87
|
-
// ── Channels ──
|
|
88
|
-
async listChannels() {
|
|
89
|
-
const result = await this.get("/api/v1/channels");
|
|
90
|
-
const channels = result.data ?? result.channels ?? result;
|
|
91
|
-
return { channels: Array.isArray(channels) ? channels : [] };
|
|
92
|
-
}
|
|
93
|
-
async getChannel(id) {
|
|
94
|
-
const result = await this.get(`/api/v1/channels/${id}`);
|
|
95
|
-
const channel = result.data ?? result.channel ?? result;
|
|
96
|
-
return { channel };
|
|
97
|
-
}
|
|
98
|
-
async createChannel(data) {
|
|
99
|
-
const result = await this.post("/api/v1/channels", data);
|
|
100
|
-
const channel = result.data ?? result.channel ?? result;
|
|
101
|
-
return { channel };
|
|
102
|
-
}
|
|
103
|
-
async getOrCreateDM(principalId) {
|
|
104
|
-
const result = await this.post("/api/v1/channels/dm", { principalId });
|
|
105
|
-
const channel = result.data ?? result.channel ?? result;
|
|
106
|
-
return { channel };
|
|
107
|
-
}
|
|
108
|
-
async getUnread() {
|
|
109
|
-
return this.get("/api/v1/channels/unread");
|
|
110
|
-
}
|
|
111
|
-
// ── Messages ──
|
|
112
|
-
async sendMessage(channelId, options) {
|
|
113
|
-
const result = await this.post(`/api/v1/channels/${channelId}/messages`, options);
|
|
114
|
-
const message = this.normalizeMessage(result.data ?? result.message ?? result);
|
|
115
|
-
if (message.seq) {
|
|
116
|
-
this.cursors.set(channelId, message.seq);
|
|
117
|
-
}
|
|
118
|
-
return { message };
|
|
119
|
-
}
|
|
120
|
-
async getMessages(channelId, options) {
|
|
121
|
-
const params = new URLSearchParams();
|
|
122
|
-
if (options?.cursor)
|
|
123
|
-
params.set("cursor", options.cursor.toString());
|
|
124
|
-
if (options?.limit)
|
|
125
|
-
params.set("limit", options.limit.toString());
|
|
126
|
-
if (options?.direction)
|
|
127
|
-
params.set("direction", options.direction);
|
|
128
|
-
if (options?.threadRootId)
|
|
129
|
-
params.set("threadRootId", options.threadRootId);
|
|
130
|
-
const qs = params.toString();
|
|
131
|
-
const result = await this.get(`/api/v1/channels/${channelId}/messages${qs ? `?${qs}` : ""}`);
|
|
132
|
-
const messages = (result.data ?? result.messages ?? []).map((m) => this.normalizeMessage(m));
|
|
133
|
-
if (messages.length > 0) {
|
|
134
|
-
const maxSeq = Math.max(...messages.map((m) => m.seq));
|
|
135
|
-
const current = this.cursors.get(channelId) ?? 0;
|
|
136
|
-
if (maxSeq > current)
|
|
137
|
-
this.cursors.set(channelId, maxSeq);
|
|
138
|
-
}
|
|
139
|
-
return {
|
|
140
|
-
messages,
|
|
141
|
-
cursor: result.pagination?.cursor ? Number(result.pagination.cursor) : 0,
|
|
142
|
-
hasMore: result.pagination?.hasMore ?? false
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
async editMessage(channelId, messageId, content) {
|
|
146
|
-
const result = await this.patch(`/api/v1/channels/${channelId}/messages/${messageId}`, { content });
|
|
147
|
-
const message = this.normalizeMessage(result.data ?? result.message ?? result);
|
|
148
|
-
return { message };
|
|
149
|
-
}
|
|
150
|
-
async deleteMessage(channelId, messageId) {
|
|
151
|
-
await this.del(`/api/v1/channels/${channelId}/messages/${messageId}`);
|
|
152
|
-
}
|
|
153
|
-
async markRead(channelId, seq) {
|
|
154
|
-
await this.post(`/api/v1/channels/${channelId}/messages/read`, { seq });
|
|
155
|
-
}
|
|
156
|
-
async addReaction(channelId, messageId, emoji) {
|
|
157
|
-
await this.post(`/api/v1/channels/${channelId}/messages/${messageId}/reactions`, { emoji });
|
|
158
|
-
}
|
|
159
|
-
async removeReaction(channelId, messageId, emoji) {
|
|
160
|
-
await this.del(`/api/v1/channels/${channelId}/messages/${messageId}/reactions/${encodeURIComponent(emoji)}`);
|
|
161
|
-
}
|
|
162
|
-
// ── Vault ──
|
|
163
|
-
async listVaults() {
|
|
164
|
-
return this.get("/api/v1/vault/vaults");
|
|
165
|
-
}
|
|
166
|
-
async listVaultItems(vaultId) {
|
|
167
|
-
const qs = vaultId ? `?vaultId=${vaultId}` : "";
|
|
168
|
-
return this.get(`/api/v1/vault/items${qs}`);
|
|
169
|
-
}
|
|
170
|
-
async getVaultItem(id) {
|
|
171
|
-
return this.get(`/api/v1/vault/items/${id}`);
|
|
172
|
-
}
|
|
173
|
-
async createVaultItem(options) {
|
|
174
|
-
return this.post("/api/v1/vault/items", options);
|
|
175
|
-
}
|
|
176
|
-
async revealItem(id, fields) {
|
|
177
|
-
return this.post(`/api/v1/vault/items/${id}/reveal`, fields ? { fields } : void 0);
|
|
178
|
-
}
|
|
179
|
-
async shareItem(itemId, principalId, options) {
|
|
180
|
-
await this.post(`/api/v1/vault/items/${itemId}/share`, {
|
|
181
|
-
principalId,
|
|
182
|
-
...options
|
|
183
|
-
});
|
|
184
|
-
}
|
|
185
|
-
async revokeShare(itemId, principalId) {
|
|
186
|
-
await this.del(`/api/v1/vault/items/${itemId}/share/${principalId}`);
|
|
187
|
-
}
|
|
188
|
-
async getWallet() {
|
|
189
|
-
return this.get("/api/v1/vault/wallet");
|
|
190
|
-
}
|
|
191
|
-
// ── Leases ──
|
|
192
|
-
async requestLease(options) {
|
|
193
|
-
return this.post("/api/v1/vault/leases/request", options);
|
|
194
|
-
}
|
|
195
|
-
async approveLease(leaseId, options) {
|
|
196
|
-
return this.post(`/api/v1/vault/leases/${leaseId}/approve`, options ?? {});
|
|
197
|
-
}
|
|
198
|
-
async denyLease(leaseId) {
|
|
199
|
-
return this.post(`/api/v1/vault/leases/${leaseId}/deny`, {});
|
|
200
|
-
}
|
|
201
|
-
async useSecret(leaseId) {
|
|
202
|
-
return this.post(`/api/v1/vault/leases/${leaseId}/use`, {});
|
|
203
|
-
}
|
|
204
|
-
async revokeLease(leaseId) {
|
|
205
|
-
await this.del(`/api/v1/vault/leases/${leaseId}`);
|
|
206
|
-
}
|
|
207
|
-
// ── HTTP helper: PUT ──
|
|
208
|
-
put(path, body) {
|
|
209
|
-
return this.fetch(path, {
|
|
210
|
-
method: "PUT",
|
|
211
|
-
body: body ? JSON.stringify(body) : void 0
|
|
212
|
-
});
|
|
213
|
-
}
|
|
214
|
-
// ── Agents ──
|
|
215
|
-
async listAgents() {
|
|
216
|
-
return this.get("/api/v1/agents");
|
|
217
|
-
}
|
|
218
|
-
async provisionAgent(data) {
|
|
219
|
-
return this.post("/api/v1/agents", data);
|
|
220
|
-
}
|
|
221
|
-
async generateApiKey(agentId, label) {
|
|
222
|
-
const res = await this.post(`/api/v1/agents/${agentId}/api-keys`, { label });
|
|
223
|
-
return res.data ?? res;
|
|
224
|
-
}
|
|
225
|
-
// ── Capabilities ──
|
|
226
|
-
async registerCapabilities(capabilities) {
|
|
227
|
-
const agentId = this.getAgentId();
|
|
228
|
-
const result = await this.put(`/api/v1/agents/${agentId}/capabilities`, { capabilities });
|
|
229
|
-
return { capabilities: result.data ?? result };
|
|
230
|
-
}
|
|
231
|
-
async addCapability(capability) {
|
|
232
|
-
const agentId = this.getAgentId();
|
|
233
|
-
const result = await this.post(`/api/v1/agents/${agentId}/capabilities`, capability);
|
|
234
|
-
return { capability: result.data ?? result };
|
|
235
|
-
}
|
|
236
|
-
async getCapabilities(agentId) {
|
|
237
|
-
const id = agentId ?? this.getAgentId();
|
|
238
|
-
const result = await this.get(`/api/v1/agents/${id}/capabilities`);
|
|
239
|
-
return { capabilities: result.data ?? result };
|
|
240
|
-
}
|
|
241
|
-
async removeCapability(capabilityId) {
|
|
242
|
-
const agentId = this.getAgentId();
|
|
243
|
-
await this.del(`/api/v1/agents/${agentId}/capabilities/${capabilityId}`);
|
|
244
|
-
}
|
|
245
|
-
// ── Discovery ──
|
|
246
|
-
async discoverAgents(query = {}) {
|
|
247
|
-
const params = new URLSearchParams();
|
|
248
|
-
if (query.namespace)
|
|
249
|
-
params.set("namespace", query.namespace);
|
|
250
|
-
if (query.name)
|
|
251
|
-
params.set("name", query.name);
|
|
252
|
-
if (query.capability) {
|
|
253
|
-
const caps = Array.isArray(query.capability) ? query.capability : [query.capability];
|
|
254
|
-
for (const cap of caps) {
|
|
255
|
-
params.append("capability", cap);
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
if (query.active !== void 0)
|
|
259
|
-
params.set("active", String(query.active));
|
|
260
|
-
const qs = params.toString();
|
|
261
|
-
const result = await this.get(`/api/v1/agents/discover${qs ? `?${qs}` : ""}`);
|
|
262
|
-
return { agents: result.data ?? result };
|
|
263
|
-
}
|
|
264
|
-
// ── Manifest & Context ──
|
|
265
|
-
async getManifest() {
|
|
266
|
-
if (!this._principalId) {
|
|
267
|
-
const me = await this.get("/api/v1/auth/me");
|
|
268
|
-
this.setPrincipalId(me.data?.id ?? me.id);
|
|
269
|
-
}
|
|
270
|
-
const agentId = this.getAgentId();
|
|
271
|
-
const result = await this.get(`/api/v1/agents/${agentId}/manifest`);
|
|
272
|
-
return result.data ?? result;
|
|
273
|
-
}
|
|
274
|
-
async getChannelContext(channelId, options) {
|
|
275
|
-
const agentId = this.getAgentId();
|
|
276
|
-
const params = new URLSearchParams();
|
|
277
|
-
if (options?.strategy)
|
|
278
|
-
params.set("strategy", options.strategy);
|
|
279
|
-
if (options?.window)
|
|
280
|
-
params.set("window", String(options.window));
|
|
281
|
-
const qs = params.toString();
|
|
282
|
-
const result = await this.get(`/api/v1/agents/${agentId}/channels/${channelId}/context${qs ? `?${qs}` : ""}`);
|
|
283
|
-
return result.data ?? result;
|
|
284
|
-
}
|
|
285
|
-
// ── Channel Config ──
|
|
286
|
-
async setChannelConfig(channelId, config) {
|
|
287
|
-
const agentId = this.getAgentId();
|
|
288
|
-
const result = await this.put(`/api/v1/agents/${agentId}/channels/${channelId}/config`, config);
|
|
289
|
-
return result.data ?? result;
|
|
290
|
-
}
|
|
291
|
-
async getChannelConfig(channelId) {
|
|
292
|
-
const agentId = this.getAgentId();
|
|
293
|
-
const result = await this.get(`/api/v1/agents/${agentId}/channels/${channelId}/config`);
|
|
294
|
-
return result.data ?? result;
|
|
295
|
-
}
|
|
296
|
-
async deleteChannelConfig(channelId) {
|
|
297
|
-
const agentId = this.getAgentId();
|
|
298
|
-
await this.del(`/api/v1/agents/${agentId}/channels/${channelId}/config`);
|
|
299
|
-
}
|
|
300
|
-
// ── Collaboration ──
|
|
301
|
-
async createCollaborationChannel(options) {
|
|
302
|
-
const result = await this.createChannel({
|
|
303
|
-
kind: "topic",
|
|
304
|
-
name: options.name,
|
|
305
|
-
description: options.description,
|
|
306
|
-
memberIds: options.memberIds
|
|
307
|
-
});
|
|
308
|
-
const channel = result.data ?? result.channel ?? result;
|
|
309
|
-
const channelId = channel.id;
|
|
310
|
-
if (options.context) {
|
|
311
|
-
await this.put(`/api/v1/channels/${channelId}/context`, { context: options.context });
|
|
312
|
-
}
|
|
313
|
-
if (options.visibility) {
|
|
314
|
-
await this.patch(`/api/v1/channels/${channelId}`, { visibility: options.visibility });
|
|
315
|
-
}
|
|
316
|
-
if (options.coordinationMode) {
|
|
317
|
-
await this.put(`/api/v1/channels/${channelId}/coordination`, {
|
|
318
|
-
mode: options.coordinationMode
|
|
319
|
-
});
|
|
320
|
-
}
|
|
321
|
-
return { channel };
|
|
322
|
-
}
|
|
323
|
-
// ── Tasks ──
|
|
324
|
-
async createTask(channelId, options) {
|
|
325
|
-
const result = await this.post(`/api/v1/channels/${channelId}/tasks`, options);
|
|
326
|
-
return { task: result.data ?? result };
|
|
327
|
-
}
|
|
328
|
-
async listTasks(channelId, filters) {
|
|
329
|
-
const params = new URLSearchParams();
|
|
330
|
-
if (filters?.status)
|
|
331
|
-
params.set("status", filters.status);
|
|
332
|
-
if (filters?.priority)
|
|
333
|
-
params.set("priority", filters.priority);
|
|
334
|
-
if (filters?.assigneeId)
|
|
335
|
-
params.set("assigneeId", filters.assigneeId);
|
|
336
|
-
const qs = params.toString();
|
|
337
|
-
const result = await this.get(`/api/v1/channels/${channelId}/tasks${qs ? `?${qs}` : ""}`);
|
|
338
|
-
return { tasks: result.data ?? result };
|
|
339
|
-
}
|
|
340
|
-
async updateTask(channelId, taskId, updates) {
|
|
341
|
-
const result = await this.patch(`/api/v1/channels/${channelId}/tasks/${taskId}`, updates);
|
|
342
|
-
return { task: result.data ?? result };
|
|
343
|
-
}
|
|
344
|
-
async claimTask(channelId, taskId) {
|
|
345
|
-
const result = await this.post(`/api/v1/channels/${channelId}/tasks/${taskId}/claim`);
|
|
346
|
-
return { task: result.data ?? result };
|
|
347
|
-
}
|
|
348
|
-
async addTaskAssignee(channelId, taskId, principalId, role) {
|
|
349
|
-
const result = await this.post(`/api/v1/channels/${channelId}/tasks/${taskId}/assignees`, { principalId, role });
|
|
350
|
-
return { task: result.data ?? result };
|
|
351
|
-
}
|
|
352
|
-
async removeTaskAssignee(channelId, taskId, principalId) {
|
|
353
|
-
const result = await this.del(`/api/v1/channels/${channelId}/tasks/${taskId}/assignees/${principalId}`);
|
|
354
|
-
return { task: result.data ?? result };
|
|
355
|
-
}
|
|
356
|
-
async createTaskChannel(channelId, taskId, options) {
|
|
357
|
-
const result = await this.post(`/api/v1/channels/${channelId}/tasks/${taskId}/channel`, options ?? {});
|
|
358
|
-
return result.data ?? result;
|
|
359
|
-
}
|
|
360
|
-
// ── Webhooks ──
|
|
361
|
-
async createWebhook(options) {
|
|
362
|
-
const agentId = this.getAgentId();
|
|
363
|
-
const result = await this.post(`/api/v1/agents/${agentId}/webhooks`, options);
|
|
364
|
-
return { webhook: result.data ?? result };
|
|
365
|
-
}
|
|
366
|
-
async listWebhooks() {
|
|
367
|
-
const agentId = this.getAgentId();
|
|
368
|
-
const result = await this.get(`/api/v1/agents/${agentId}/webhooks`);
|
|
369
|
-
return { webhooks: result.data ?? result };
|
|
370
|
-
}
|
|
371
|
-
async updateWebhook(webhookId, updates) {
|
|
372
|
-
const agentId = this.getAgentId();
|
|
373
|
-
const result = await this.patch(`/api/v1/agents/${agentId}/webhooks/${webhookId}`, updates);
|
|
374
|
-
return { webhook: result.data ?? result };
|
|
375
|
-
}
|
|
376
|
-
async deleteWebhook(webhookId) {
|
|
377
|
-
const agentId = this.getAgentId();
|
|
378
|
-
await this.del(`/api/v1/agents/${agentId}/webhooks/${webhookId}`);
|
|
379
|
-
}
|
|
380
|
-
async rotateWebhookSecret(webhookId) {
|
|
381
|
-
const agentId = this.getAgentId();
|
|
382
|
-
const result = await this.post(`/api/v1/agents/${agentId}/webhooks/${webhookId}/rotate-secret`);
|
|
383
|
-
return result.data ?? result;
|
|
384
|
-
}
|
|
385
|
-
async listWebhookDeliveries(webhookId, options) {
|
|
386
|
-
const agentId = this.getAgentId();
|
|
387
|
-
const params = new URLSearchParams();
|
|
388
|
-
if (options?.limit)
|
|
389
|
-
params.set("limit", String(options.limit));
|
|
390
|
-
if (options?.status)
|
|
391
|
-
params.set("status", options.status);
|
|
392
|
-
const qs = params.toString();
|
|
393
|
-
const result = await this.get(`/api/v1/agents/${agentId}/webhooks/${webhookId}/deliveries${qs ? `?${qs}` : ""}`);
|
|
394
|
-
return { deliveries: result.data ?? result };
|
|
395
|
-
}
|
|
396
|
-
// ── Profile ──
|
|
397
|
-
async setReadReceiptEmoji(emoji) {
|
|
398
|
-
const agentId = this.getAgentId();
|
|
399
|
-
const result = await this.put(`/api/v1/agents/${agentId}/read-receipt-emoji`, { emoji });
|
|
400
|
-
return { emoji: result.data?.emoji ?? emoji };
|
|
401
|
-
}
|
|
402
|
-
async getReadReceiptEmoji() {
|
|
403
|
-
const agentId = this.getAgentId();
|
|
404
|
-
const result = await this.get(`/api/v1/agents/${agentId}/read-receipt-emoji`);
|
|
405
|
-
return { emoji: result.data?.emoji ?? "\u{1F440}" };
|
|
406
|
-
}
|
|
407
|
-
// ── Internal helpers ──
|
|
408
|
-
normalizeMessage(msg) {
|
|
409
|
-
return {
|
|
410
|
-
...msg,
|
|
411
|
-
content: msg.content ?? msg.plaintext ?? null
|
|
412
|
-
};
|
|
413
|
-
}
|
|
414
|
-
getAgentId() {
|
|
415
|
-
const principal = this._principalId;
|
|
416
|
-
if (principal)
|
|
417
|
-
return principal;
|
|
418
|
-
throw new SesameApiError(400, "Agent ID not resolved. Call boot() or setPrincipalId(id) first.");
|
|
419
|
-
}
|
|
420
|
-
/**
|
|
421
|
-
* Set the current agent's principal ID (resolved after auth).
|
|
422
|
-
*/
|
|
423
|
-
setPrincipalId(id) {
|
|
424
|
-
this._principalId = id;
|
|
425
|
-
}
|
|
426
|
-
/**
|
|
427
|
-
* Bootstrap the agent: resolves identity via /auth/me and loads manifest.
|
|
428
|
-
*/
|
|
429
|
-
async boot() {
|
|
430
|
-
const me = await this.get("/api/v1/auth/me");
|
|
431
|
-
const principal = me.data ?? me;
|
|
432
|
-
this.setPrincipalId(principal.id);
|
|
433
|
-
const manifest = await this.getManifest();
|
|
434
|
-
return manifest;
|
|
435
|
-
}
|
|
436
|
-
// ── WebSocket ──
|
|
437
|
-
/**
|
|
438
|
-
* Connect to the real-time WebSocket gateway.
|
|
439
|
-
*/
|
|
440
|
-
connect() {
|
|
441
|
-
return new Promise((resolve, reject) => {
|
|
442
|
-
try {
|
|
443
|
-
this.ws = new WebSocket(`${this.config.wsUrl}/v1/connect`);
|
|
444
|
-
this.ws.on("open", () => {
|
|
445
|
-
this.reconnectAttempts = 0;
|
|
446
|
-
this.sendAuth();
|
|
447
|
-
});
|
|
448
|
-
this.ws.on("message", (data) => {
|
|
449
|
-
try {
|
|
450
|
-
const event = JSON.parse(data.toString());
|
|
451
|
-
if (event.type === "authenticated") {
|
|
452
|
-
this.authenticated = true;
|
|
453
|
-
this.startHeartbeat(event.heartbeatIntervalMs ?? 3e4);
|
|
454
|
-
this.sendReplay();
|
|
455
|
-
resolve();
|
|
456
|
-
return;
|
|
457
|
-
}
|
|
458
|
-
if (event.type === "pong")
|
|
459
|
-
return;
|
|
460
|
-
if (event.type === "error") {
|
|
461
|
-
console.error("WS error:", event.message);
|
|
462
|
-
return;
|
|
463
|
-
}
|
|
464
|
-
if (event.type === "message" && event.data) {
|
|
465
|
-
event.data = this.normalizeMessage(event.data);
|
|
466
|
-
const seq = event.data.seq;
|
|
467
|
-
if (seq) {
|
|
468
|
-
const channelId = event.data.channelId;
|
|
469
|
-
const current = this.cursors.get(channelId) ?? 0;
|
|
470
|
-
if (seq > current)
|
|
471
|
-
this.cursors.set(channelId, seq);
|
|
472
|
-
}
|
|
473
|
-
}
|
|
474
|
-
this.emit(event);
|
|
475
|
-
} catch {
|
|
476
|
-
}
|
|
477
|
-
});
|
|
478
|
-
this.ws.on("close", () => {
|
|
479
|
-
this.authenticated = false;
|
|
480
|
-
this.stopHeartbeat();
|
|
481
|
-
if (this.config.autoReconnect) {
|
|
482
|
-
this.scheduleReconnect();
|
|
483
|
-
}
|
|
484
|
-
});
|
|
485
|
-
this.ws.on("error", (err) => {
|
|
486
|
-
if (!this.authenticated) {
|
|
487
|
-
reject(err);
|
|
488
|
-
}
|
|
489
|
-
});
|
|
490
|
-
} catch (err) {
|
|
491
|
-
reject(err);
|
|
492
|
-
}
|
|
493
|
-
});
|
|
494
|
-
}
|
|
495
|
-
/**
|
|
496
|
-
* Disconnect from the WebSocket gateway.
|
|
497
|
-
*/
|
|
498
|
-
disconnect() {
|
|
499
|
-
this.config.autoReconnect = false;
|
|
500
|
-
this.stopHeartbeat();
|
|
501
|
-
if (this.reconnectTimer) {
|
|
502
|
-
clearTimeout(this.reconnectTimer);
|
|
503
|
-
this.reconnectTimer = null;
|
|
504
|
-
}
|
|
505
|
-
if (this.ws) {
|
|
506
|
-
this.ws.close();
|
|
507
|
-
this.ws = null;
|
|
508
|
-
}
|
|
509
|
-
}
|
|
510
|
-
/**
|
|
511
|
-
* Subscribe to WebSocket events.
|
|
512
|
-
*/
|
|
513
|
-
on(eventType, handler) {
|
|
514
|
-
if (!this.eventHandlers.has(eventType)) {
|
|
515
|
-
this.eventHandlers.set(eventType, /* @__PURE__ */ new Set());
|
|
516
|
-
}
|
|
517
|
-
this.eventHandlers.get(eventType).add(handler);
|
|
518
|
-
return () => {
|
|
519
|
-
this.eventHandlers.get(eventType)?.delete(handler);
|
|
520
|
-
};
|
|
521
|
-
}
|
|
522
|
-
/**
|
|
523
|
-
* Subscribe to all events.
|
|
524
|
-
*/
|
|
525
|
-
onAny(handler) {
|
|
526
|
-
return this.on("*", handler);
|
|
527
|
-
}
|
|
528
|
-
emit(event) {
|
|
529
|
-
this.eventHandlers.get(event.type)?.forEach((h) => h(event));
|
|
530
|
-
this.eventHandlers.get("*")?.forEach((h) => h(event));
|
|
531
|
-
}
|
|
532
|
-
sendAuth() {
|
|
533
|
-
if (!this.ws)
|
|
534
|
-
return;
|
|
535
|
-
if (this.config.apiKey) {
|
|
536
|
-
this.ws.send(JSON.stringify({ type: "auth", apiKey: this.config.apiKey }));
|
|
537
|
-
} else if (this.config.token) {
|
|
538
|
-
this.ws.send(JSON.stringify({ type: "auth", token: this.config.token }));
|
|
539
|
-
} else if (this.config.agent) {
|
|
540
|
-
const { signature, timestamp } = createAuthSignature(this.config.agent.handle, this.config.agent.privateKey);
|
|
541
|
-
this.ws.send(JSON.stringify({
|
|
542
|
-
type: "auth",
|
|
543
|
-
signature: {
|
|
544
|
-
handle: this.config.agent.handle,
|
|
545
|
-
sig: signature,
|
|
546
|
-
timestamp
|
|
547
|
-
}
|
|
548
|
-
}));
|
|
549
|
-
}
|
|
550
|
-
}
|
|
551
|
-
sendReplay() {
|
|
552
|
-
if (!this.ws || this.cursors.size === 0)
|
|
553
|
-
return;
|
|
554
|
-
const cursors = {};
|
|
555
|
-
this.cursors.forEach((seq, channelId) => {
|
|
556
|
-
cursors[channelId] = seq;
|
|
557
|
-
});
|
|
558
|
-
this.ws.send(JSON.stringify({ type: "replay", cursors }));
|
|
559
|
-
}
|
|
560
|
-
startHeartbeat(intervalMs) {
|
|
561
|
-
this.stopHeartbeat();
|
|
562
|
-
this.heartbeatTimer = setInterval(() => {
|
|
563
|
-
if (this.ws?.readyState === WebSocket.OPEN) {
|
|
564
|
-
this.ws.send(JSON.stringify({ type: "ping" }));
|
|
565
|
-
}
|
|
566
|
-
}, intervalMs);
|
|
567
|
-
}
|
|
568
|
-
stopHeartbeat() {
|
|
569
|
-
if (this.heartbeatTimer) {
|
|
570
|
-
clearInterval(this.heartbeatTimer);
|
|
571
|
-
this.heartbeatTimer = null;
|
|
572
|
-
}
|
|
573
|
-
}
|
|
574
|
-
scheduleReconnect() {
|
|
575
|
-
if (this.reconnectAttempts >= this.config.maxReconnectAttempts) {
|
|
576
|
-
console.error("Max reconnect attempts reached");
|
|
577
|
-
return;
|
|
578
|
-
}
|
|
579
|
-
const delay = Math.min(1e3 * Math.pow(2, this.reconnectAttempts), 3e4);
|
|
580
|
-
this.reconnectAttempts++;
|
|
581
|
-
this.reconnectTimer = setTimeout(() => {
|
|
582
|
-
this.connect().catch(() => {
|
|
583
|
-
this.scheduleReconnect();
|
|
584
|
-
});
|
|
585
|
-
}, delay);
|
|
586
|
-
}
|
|
587
|
-
/**
|
|
588
|
-
* Send a typing indicator for a channel.
|
|
589
|
-
*/
|
|
590
|
-
sendTyping(channelId) {
|
|
591
|
-
if (this.ws?.readyState === WebSocket.OPEN) {
|
|
592
|
-
this.ws.send(JSON.stringify({ type: "typing", channelId }));
|
|
593
|
-
}
|
|
594
|
-
}
|
|
595
|
-
/**
|
|
596
|
-
* Send a message via WebSocket (alternative to HTTP).
|
|
597
|
-
*/
|
|
598
|
-
sendWsMessage(channelId, content, options) {
|
|
599
|
-
if (this.ws?.readyState === WebSocket.OPEN) {
|
|
600
|
-
this.ws.send(JSON.stringify({
|
|
601
|
-
type: "send",
|
|
602
|
-
channelId,
|
|
603
|
-
content,
|
|
604
|
-
...options
|
|
605
|
-
}));
|
|
606
|
-
}
|
|
607
|
-
}
|
|
608
|
-
};
|
|
609
|
-
var SesameApiError = class extends Error {
|
|
610
|
-
status;
|
|
611
|
-
constructor(status, message) {
|
|
612
|
-
super(message);
|
|
613
|
-
this.status = status;
|
|
614
|
-
this.name = "SesameApiError";
|
|
615
|
-
}
|
|
616
|
-
};
|
|
617
|
-
|
|
618
|
-
// node_modules/.pnpm/@sesamespace+sdk@0.1.6/node_modules/@sesamespace/sdk/dist/verify-webhook.js
|
|
619
|
-
import { createHmac, timingSafeEqual } from "crypto";
|
|
620
|
-
|
|
621
|
-
export {
|
|
622
|
-
SesameClient
|
|
623
|
-
};
|
|
624
|
-
//# sourceMappingURL=chunk-GPI4RU7N.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../node_modules/.pnpm/@sesamespace+sdk@0.1.6/node_modules/@sesamespace/sdk/src/client.ts","../node_modules/.pnpm/@sesamespace+sdk@0.1.6/node_modules/@sesamespace/sdk/src/auth.ts","../node_modules/.pnpm/@sesamespace+sdk@0.1.6/node_modules/@sesamespace/sdk/src/verify-webhook.ts"],"sourcesContent":[null,null,null],"mappings":"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","names":[]}
|