@burdenoff/microfe-botmanor 2026.1109.2 → 2026.1110.1
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/botlit/components/Badge.js +2 -2
- package/dist/botlit/components/Badge.js.map +1 -1
- package/dist/botlit/components/ChannelSelectorSheet.js +4 -4
- package/dist/botlit/components/ChannelSelectorSheet.js.map +1 -1
- package/dist/botlit/components/LoadMore.d.ts +9 -0
- package/dist/botlit/components/LoadMore.js +22 -0
- package/dist/botlit/components/LoadMore.js.map +1 -0
- package/dist/botlit/components/index.d.ts +1 -0
- package/dist/botlit/hooks/internal/workspaceGateway.d.ts +47 -0
- package/dist/botlit/hooks/internal/workspaceGateway.js +59 -1
- package/dist/botlit/hooks/internal/workspaceGateway.js.map +1 -1
- package/dist/botlit/hooks/useAgents.d.ts +2 -6
- package/dist/botlit/hooks/useAgents.js +71 -95
- package/dist/botlit/hooks/useAgents.js.map +1 -1
- package/dist/botlit/hooks/useBots.d.ts +2 -6
- package/dist/botlit/hooks/useBots.js +51 -75
- package/dist/botlit/hooks/useBots.js.map +1 -1
- package/dist/botlit/hooks/useExecutions.d.ts +2 -2
- package/dist/botlit/hooks/useExecutions.js +30 -34
- package/dist/botlit/hooks/useExecutions.js.map +1 -1
- package/dist/botlit/hooks/useStore.d.ts +3 -3
- package/dist/botlit/hooks/useStore.js +41 -50
- package/dist/botlit/hooks/useStore.js.map +1 -1
- package/dist/botlit/pages/A2AAgentDetailPage.js +1 -1
- package/dist/botlit/pages/A2AAgentDetailPage.js.map +1 -1
- package/dist/botlit/pages/AgentDetailPage.js +1 -1
- package/dist/botlit/pages/AgentDetailPage.js.map +1 -1
- package/dist/botlit/pages/AgentsListPage.js +157 -156
- package/dist/botlit/pages/AgentsListPage.js.map +1 -1
- package/dist/botlit/pages/BotChannelsTab.js +24 -24
- package/dist/botlit/pages/BotChannelsTab.js.map +1 -1
- package/dist/botlit/pages/BotsListPage.js +147 -146
- package/dist/botlit/pages/BotsListPage.js.map +1 -1
- package/dist/botlit/pages/BucketsPage.js +3 -3
- package/dist/botlit/pages/BucketsPage.js.map +1 -1
- package/dist/botlit/pages/ChannelDetailPage.js +2 -2
- package/dist/botlit/pages/ChannelDetailPage.js.map +1 -1
- package/dist/botlit/pages/ExecutionsPage.js +141 -134
- package/dist/botlit/pages/ExecutionsPage.js.map +1 -1
- package/dist/botlit/pages/InstalledPackagesPage.js +43 -36
- package/dist/botlit/pages/InstalledPackagesPage.js.map +1 -1
- package/dist/botlit/pages/MCPServersPage.js +1 -1
- package/dist/botlit/pages/MCPServersPage.js.map +1 -1
- package/dist/botlit/pages/SettingsPage.js +2 -2
- package/dist/botlit/pages/SettingsPage.js.map +1 -1
- package/dist/botlit/pages/SkillDetailPage.js +1 -1
- package/dist/botlit/pages/SkillDetailPage.js.map +1 -1
- package/dist/botlit/pages/StorePackageDetailPage.js +1 -1
- package/dist/botlit/pages/StorePackageDetailPage.js.map +1 -1
- package/dist/botlit/pages/StorePage.js +150 -143
- package/dist/botlit/pages/StorePage.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { useBotlit as e } from "../providers/BotlitProvider.js";
|
|
2
2
|
import { buildMutationInput as t, fieldsOf as n } from "./internal/mutationInput.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { useWorkspacePaginatedQuery as r } from "./internal/workspaceGateway.js";
|
|
4
|
+
import { useCallback as i, useEffect as a, useMemo as o, useState as s } from "react";
|
|
5
|
+
import { gql as c } from "@apollo/client";
|
|
6
|
+
import { useGatewayClient as l } from "@burdenoff/fe-libs/shared/graphql";
|
|
6
7
|
// src/botlit/hooks/useAgents.ts
|
|
7
|
-
var
|
|
8
|
+
var u = c`
|
|
8
9
|
query ListBotmanorAgents($filters: BotmanorAgentFilterInput, $pagination: PaginationInput) {
|
|
9
10
|
listBotmanorAgents(filters: $filters, pagination: $pagination) {
|
|
10
11
|
id
|
|
@@ -28,7 +29,7 @@ var l = s`
|
|
|
28
29
|
workspaceId
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
|
-
`,
|
|
32
|
+
`, d = c`
|
|
32
33
|
query GetBotmanorAgent($id: ID!) {
|
|
33
34
|
getBotmanorAgent(id: $id) {
|
|
34
35
|
id
|
|
@@ -62,7 +63,7 @@ var l = s`
|
|
|
62
63
|
workspaceId
|
|
63
64
|
}
|
|
64
65
|
}
|
|
65
|
-
`,
|
|
66
|
+
`, f = c`
|
|
66
67
|
mutation CreateBotmanorAgent($input: CreateBotmanorAgentInput!) {
|
|
67
68
|
createBotmanorAgent(input: $input) {
|
|
68
69
|
id
|
|
@@ -84,7 +85,7 @@ var l = s`
|
|
|
84
85
|
workspaceId
|
|
85
86
|
}
|
|
86
87
|
}
|
|
87
|
-
`,
|
|
88
|
+
`, p = c`
|
|
88
89
|
mutation UpdateBotmanorAgent($id: ID!, $input: UpdateBotmanorAgentInput!) {
|
|
89
90
|
updateBotmanorAgent(id: $id, input: $input) {
|
|
90
91
|
id
|
|
@@ -111,11 +112,11 @@ var l = s`
|
|
|
111
112
|
workspaceId
|
|
112
113
|
}
|
|
113
114
|
}
|
|
114
|
-
`,
|
|
115
|
+
`, m = c`
|
|
115
116
|
mutation DeleteBotmanorAgent($id: ID!) {
|
|
116
117
|
deleteBotmanorAgent(id: $id)
|
|
117
118
|
}
|
|
118
|
-
`,
|
|
119
|
+
`, h = c`
|
|
119
120
|
query ListAgentVersions($agentId: ID!, $pagination: PaginationInput) {
|
|
120
121
|
listAgentVersions(agentId: $agentId, pagination: $pagination) {
|
|
121
122
|
id
|
|
@@ -130,7 +131,7 @@ var l = s`
|
|
|
130
131
|
publishedAt
|
|
131
132
|
}
|
|
132
133
|
}
|
|
133
|
-
`,
|
|
134
|
+
`, g = c`
|
|
134
135
|
mutation PublishAgentVersion($agentId: ID!, $versionId: ID!, $changelog: String) {
|
|
135
136
|
publishAgentVersion(agentId: $agentId, versionId: $versionId, changelog: $changelog) {
|
|
136
137
|
id
|
|
@@ -142,7 +143,7 @@ var l = s`
|
|
|
142
143
|
publishedAt
|
|
143
144
|
}
|
|
144
145
|
}
|
|
145
|
-
`,
|
|
146
|
+
`, _ = c`
|
|
146
147
|
mutation RollbackAgentVersion($agentId: ID!, $targetVersionId: ID!) {
|
|
147
148
|
rollbackAgentVersion(agentId: $agentId, targetVersionId: $targetVersionId) {
|
|
148
149
|
id
|
|
@@ -154,7 +155,7 @@ var l = s`
|
|
|
154
155
|
publishedAt
|
|
155
156
|
}
|
|
156
157
|
}
|
|
157
|
-
`,
|
|
158
|
+
`, v = 100, y = [], b = n({
|
|
158
159
|
bucketId: !0,
|
|
159
160
|
capabilities: !0,
|
|
160
161
|
context: !0,
|
|
@@ -177,10 +178,10 @@ var l = s`
|
|
|
177
178
|
visibility: !0,
|
|
178
179
|
workflowIds: !0
|
|
179
180
|
});
|
|
180
|
-
function
|
|
181
|
+
function x(e) {
|
|
181
182
|
return e;
|
|
182
183
|
}
|
|
183
|
-
function
|
|
184
|
+
function S(e, t) {
|
|
184
185
|
if (e || t) return {
|
|
185
186
|
workspaceId: e,
|
|
186
187
|
search: t?.search,
|
|
@@ -189,79 +190,54 @@ function y(e, t) {
|
|
|
189
190
|
bucketId: t?.bucketId
|
|
190
191
|
};
|
|
191
192
|
}
|
|
192
|
-
function
|
|
193
|
-
let
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
let e = await n.query({
|
|
205
|
-
query: l,
|
|
206
|
-
variables: g,
|
|
207
|
-
fetchPolicy: "network-only"
|
|
208
|
-
});
|
|
209
|
-
d(e.data?.listBotmanorAgents ?? []);
|
|
210
|
-
} catch (e) {
|
|
211
|
-
h(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to load agents"));
|
|
212
|
-
} finally {
|
|
213
|
-
p(!1);
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
}, [
|
|
217
|
-
n,
|
|
218
|
-
g,
|
|
219
|
-
s
|
|
220
|
-
]);
|
|
221
|
-
return i(() => {
|
|
222
|
-
_();
|
|
223
|
-
}, [_]), {
|
|
224
|
-
data: u,
|
|
225
|
-
loading: f,
|
|
226
|
-
error: m,
|
|
227
|
-
refetch: _
|
|
228
|
-
};
|
|
193
|
+
function C(t) {
|
|
194
|
+
let { workspaceId: n } = e(), i = o(() => ({ filters: S(n, t) }), [t, n]);
|
|
195
|
+
return r({
|
|
196
|
+
document: u,
|
|
197
|
+
variables: i,
|
|
198
|
+
pageSize: v,
|
|
199
|
+
extractRows: (e) => e?.listBotmanorAgents ?? [],
|
|
200
|
+
select: (e) => e,
|
|
201
|
+
fallback: y,
|
|
202
|
+
enabled: !!n,
|
|
203
|
+
errorMessage: "Failed to load agents"
|
|
204
|
+
});
|
|
229
205
|
}
|
|
230
|
-
function
|
|
231
|
-
let t =
|
|
232
|
-
if (!e)
|
|
206
|
+
function w(e) {
|
|
207
|
+
let t = x(l("workspace")), [n, r] = s(null), [o, c] = s(!1), [u, f] = s(), p = i(async () => {
|
|
208
|
+
if (!e) r(null);
|
|
233
209
|
else {
|
|
234
|
-
|
|
210
|
+
c(!0), f(void 0);
|
|
235
211
|
try {
|
|
236
212
|
let n = await t.query({
|
|
237
|
-
query:
|
|
213
|
+
query: d,
|
|
238
214
|
variables: { id: e },
|
|
239
215
|
fetchPolicy: "network-only"
|
|
240
216
|
});
|
|
241
|
-
|
|
217
|
+
r(n.data?.getBotmanorAgent ?? null);
|
|
242
218
|
} catch (e) {
|
|
243
219
|
f(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to load agent"));
|
|
244
220
|
} finally {
|
|
245
|
-
|
|
221
|
+
c(!1);
|
|
246
222
|
}
|
|
247
223
|
}
|
|
248
224
|
}, [e, t]);
|
|
249
|
-
return
|
|
225
|
+
return a(() => {
|
|
250
226
|
p();
|
|
251
227
|
}, [p]), {
|
|
252
228
|
data: n,
|
|
253
|
-
loading:
|
|
254
|
-
error:
|
|
229
|
+
loading: o,
|
|
230
|
+
error: u,
|
|
255
231
|
refetch: p
|
|
256
232
|
};
|
|
257
233
|
}
|
|
258
|
-
function
|
|
259
|
-
let e =
|
|
234
|
+
function T() {
|
|
235
|
+
let e = x(l("workspace")), [t, n] = s({
|
|
260
236
|
data: void 0,
|
|
261
237
|
loading: !1,
|
|
262
238
|
error: void 0
|
|
263
239
|
});
|
|
264
|
-
return [
|
|
240
|
+
return [i(async (t) => {
|
|
265
241
|
n({
|
|
266
242
|
data: void 0,
|
|
267
243
|
loading: !0,
|
|
@@ -269,7 +245,7 @@ function S() {
|
|
|
269
245
|
});
|
|
270
246
|
try {
|
|
271
247
|
let r = (await e.mutate({
|
|
272
|
-
mutation:
|
|
248
|
+
mutation: f,
|
|
273
249
|
variables: { input: t }
|
|
274
250
|
})).data?.createBotmanorAgent;
|
|
275
251
|
if (!r) throw Error("Failed to create agent");
|
|
@@ -288,35 +264,35 @@ function S() {
|
|
|
288
264
|
}
|
|
289
265
|
}, [e]), t];
|
|
290
266
|
}
|
|
291
|
-
function
|
|
292
|
-
let e =
|
|
267
|
+
function E() {
|
|
268
|
+
let e = x(l("workspace")), [n, r] = s({
|
|
293
269
|
data: void 0,
|
|
294
270
|
loading: !1,
|
|
295
271
|
error: void 0
|
|
296
272
|
});
|
|
297
|
-
return [
|
|
298
|
-
|
|
273
|
+
return [i(async ({ agentId: n, input: i }) => {
|
|
274
|
+
r({
|
|
299
275
|
data: void 0,
|
|
300
276
|
loading: !0,
|
|
301
277
|
error: void 0
|
|
302
278
|
});
|
|
303
279
|
try {
|
|
304
280
|
let a = (await e.mutate({
|
|
305
|
-
mutation:
|
|
281
|
+
mutation: p,
|
|
306
282
|
variables: {
|
|
307
283
|
id: n,
|
|
308
|
-
input: t(
|
|
284
|
+
input: t(i, b)
|
|
309
285
|
}
|
|
310
286
|
})).data?.updateBotmanorAgent;
|
|
311
287
|
if (!a) throw Error("Failed to update agent");
|
|
312
|
-
return
|
|
288
|
+
return r({
|
|
313
289
|
data: a,
|
|
314
290
|
loading: !1,
|
|
315
291
|
error: void 0
|
|
316
292
|
}), a;
|
|
317
293
|
} catch (e) {
|
|
318
294
|
let t = e instanceof Error ? e : /* @__PURE__ */ Error("Failed to update agent");
|
|
319
|
-
throw
|
|
295
|
+
throw r({
|
|
320
296
|
data: void 0,
|
|
321
297
|
loading: !1,
|
|
322
298
|
error: t
|
|
@@ -324,13 +300,13 @@ function C() {
|
|
|
324
300
|
}
|
|
325
301
|
}, [e]), n];
|
|
326
302
|
}
|
|
327
|
-
function
|
|
328
|
-
let e =
|
|
303
|
+
function D() {
|
|
304
|
+
let e = x(l("workspace")), [t, n] = s({
|
|
329
305
|
data: void 0,
|
|
330
306
|
loading: !1,
|
|
331
307
|
error: void 0
|
|
332
308
|
});
|
|
333
|
-
return [
|
|
309
|
+
return [i(async (t) => {
|
|
334
310
|
n({
|
|
335
311
|
data: void 0,
|
|
336
312
|
loading: !0,
|
|
@@ -338,7 +314,7 @@ function w() {
|
|
|
338
314
|
});
|
|
339
315
|
try {
|
|
340
316
|
let r = (await e.mutate({
|
|
341
|
-
mutation:
|
|
317
|
+
mutation: m,
|
|
342
318
|
variables: { id: t }
|
|
343
319
|
})).data?.deleteBotmanorAgent ?? !1;
|
|
344
320
|
return n({
|
|
@@ -356,14 +332,14 @@ function w() {
|
|
|
356
332
|
}
|
|
357
333
|
}, [e]), t];
|
|
358
334
|
}
|
|
359
|
-
function
|
|
360
|
-
let t =
|
|
361
|
-
if (!e)
|
|
335
|
+
function O(e) {
|
|
336
|
+
let t = x(l("workspace")), [n, r] = s([]), [o, c] = s(!1), [u, d] = s(), f = i(async () => {
|
|
337
|
+
if (!e) r([]);
|
|
362
338
|
else {
|
|
363
|
-
|
|
339
|
+
c(!0), d(void 0);
|
|
364
340
|
try {
|
|
365
341
|
let n = (await t.query({
|
|
366
|
-
query:
|
|
342
|
+
query: h,
|
|
367
343
|
variables: {
|
|
368
344
|
agentId: e,
|
|
369
345
|
pagination: {
|
|
@@ -373,30 +349,30 @@ function T(e) {
|
|
|
373
349
|
},
|
|
374
350
|
fetchPolicy: "network-only"
|
|
375
351
|
})).data?.listAgentVersions ?? [];
|
|
376
|
-
|
|
352
|
+
r([...n].sort((e, t) => e.createdAt && t.createdAt ? t.createdAt.localeCompare(e.createdAt) : 0));
|
|
377
353
|
} catch (e) {
|
|
378
354
|
d(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to load agent versions"));
|
|
379
355
|
} finally {
|
|
380
|
-
|
|
356
|
+
c(!1);
|
|
381
357
|
}
|
|
382
358
|
}
|
|
383
359
|
}, [e, t]);
|
|
384
|
-
return
|
|
360
|
+
return a(() => {
|
|
385
361
|
f();
|
|
386
362
|
}, [f]), {
|
|
387
363
|
data: n,
|
|
388
|
-
loading:
|
|
364
|
+
loading: o,
|
|
389
365
|
error: u,
|
|
390
366
|
refetch: f
|
|
391
367
|
};
|
|
392
368
|
}
|
|
393
|
-
function
|
|
394
|
-
let e =
|
|
369
|
+
function k() {
|
|
370
|
+
let e = x(l("workspace")), [t, n] = s({
|
|
395
371
|
data: void 0,
|
|
396
372
|
loading: !1,
|
|
397
373
|
error: void 0
|
|
398
374
|
});
|
|
399
|
-
return [
|
|
375
|
+
return [i(async ({ agentId: t, versionId: r, changelog: i }) => {
|
|
400
376
|
n({
|
|
401
377
|
data: void 0,
|
|
402
378
|
loading: !0,
|
|
@@ -404,7 +380,7 @@ function E() {
|
|
|
404
380
|
});
|
|
405
381
|
try {
|
|
406
382
|
let a = (await e.mutate({
|
|
407
|
-
mutation:
|
|
383
|
+
mutation: g,
|
|
408
384
|
variables: {
|
|
409
385
|
agentId: t,
|
|
410
386
|
versionId: r,
|
|
@@ -427,13 +403,13 @@ function E() {
|
|
|
427
403
|
}
|
|
428
404
|
}, [e]), t];
|
|
429
405
|
}
|
|
430
|
-
function
|
|
431
|
-
let e =
|
|
406
|
+
function A() {
|
|
407
|
+
let e = x(l("workspace")), [t, n] = s({
|
|
432
408
|
data: void 0,
|
|
433
409
|
loading: !1,
|
|
434
410
|
error: void 0
|
|
435
411
|
});
|
|
436
|
-
return [
|
|
412
|
+
return [i(async ({ agentId: t, targetVersionId: r }) => {
|
|
437
413
|
n({
|
|
438
414
|
data: void 0,
|
|
439
415
|
loading: !0,
|
|
@@ -441,7 +417,7 @@ function D() {
|
|
|
441
417
|
});
|
|
442
418
|
try {
|
|
443
419
|
let i = (await e.mutate({
|
|
444
|
-
mutation:
|
|
420
|
+
mutation: _,
|
|
445
421
|
variables: {
|
|
446
422
|
agentId: t,
|
|
447
423
|
targetVersionId: r
|
|
@@ -463,6 +439,6 @@ function D() {
|
|
|
463
439
|
}
|
|
464
440
|
}, [e]), t];
|
|
465
441
|
}
|
|
466
|
-
export {
|
|
442
|
+
export { w as useAgent, O as useAgentVersions, C as useAgents, T as useCreateAgent, D as useDeleteAgent, k as usePublishAgentVersion, A as useRollbackAgentVersion, E as useUpdateAgent };
|
|
467
443
|
|
|
468
444
|
//# sourceMappingURL=useAgents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAgents.js","names":["LIST_AGENTS_DOCUMENT","GET_AGENT_DOCUMENT","CREATE_AGENT_DOCUMENT","UPDATE_AGENT_DOCUMENT","DELETE_AGENT_DOCUMENT","LIST_AGENT_VERSIONS_DOCUMENT","PUBLISH_AGENT_VERSION_DOCUMENT","ROLLBACK_AGENT_VERSION_DOCUMENT","UPDATE_AGENT_FIELDS","fieldsOf","getWorkspaceClient","client","buildAgentFilter","workspaceId","filter","useAgents","useGatewayClient","useBotlit","data","setData","useState","loading","setLoading","error","setError","variables","useMemo","refetch","useCallback","result","queryError","useEffect","useAgent","agentId","useCreateAgent","state","setState","createdAgent","mutationError","useUpdateAgent","updatedAgent","buildMutationInput","input","useDeleteAgent","deleted","useAgentVersions","versions","a","b","usePublishAgentVersion","published","changelog","useRollbackAgentVersion","rolledBack"],"sources":["../../../src/botlit/hooks/useAgents.ts"],"sourcesContent":["import { gql, type ApolloClient } from '@apollo/client';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport { useGatewayClient } from '@burdenoff/fe-libs/shared/graphql';\n\nimport type { UpdateBotmanorAgentInput } from '../../generated/wspace-types';\nimport { useBotlit } from '../providers/BotlitProvider';\nimport type { BaseFilter } from '../types';\nimport { buildMutationInput, fieldsOf, type GraphQLInput } from './internal/mutationInput';\n\nconst LIST_AGENTS_DOCUMENT = gql`\n query ListBotmanorAgents($filters: BotmanorAgentFilterInput, $pagination: PaginationInput) {\n listBotmanorAgents(filters: $filters, pagination: $pagination) {\n id\n name\n slug\n description\n type\n status\n visibility\n capabilities\n llmModelId\n bucketId\n executionCount\n lastExecutedAt\n specialization\n tagIds\n createdAt\n updatedAt\n createdById\n updatedById\n workspaceId\n }\n }\n`;\n\nconst GET_AGENT_DOCUMENT = gql`\n query GetBotmanorAgent($id: ID!) {\n getBotmanorAgent(id: $id) {\n id\n name\n slug\n description\n type\n status\n visibility\n capabilities\n llmModelId\n bucketId\n currentVersionId\n draftVersionId\n executionCount\n lastExecutedAt\n specialization\n systemPrompt\n temperature\n maxTokens\n maxConcurrentExecutions\n knowledgeBaseIds\n mcpConnectionIds\n workflowIds\n tagIds\n metadata\n createdAt\n updatedAt\n createdById\n updatedById\n workspaceId\n }\n }\n`;\n\nconst CREATE_AGENT_DOCUMENT = gql`\n mutation CreateBotmanorAgent($input: CreateBotmanorAgentInput!) {\n createBotmanorAgent(input: $input) {\n id\n name\n slug\n description\n type\n status\n visibility\n capabilities\n llmModelId\n systemPrompt\n temperature\n maxTokens\n maxConcurrentExecutions\n tagIds\n createdAt\n updatedAt\n workspaceId\n }\n }\n`;\n\nconst UPDATE_AGENT_DOCUMENT = gql`\n mutation UpdateBotmanorAgent($id: ID!, $input: UpdateBotmanorAgentInput!) {\n updateBotmanorAgent(id: $id, input: $input) {\n id\n name\n slug\n description\n type\n status\n visibility\n capabilities\n llmModelId\n systemPrompt\n temperature\n maxTokens\n maxConcurrentExecutions\n knowledgeBaseIds\n mcpConnectionIds\n workflowIds\n tagIds\n metadata\n createdAt\n updatedAt\n updatedById\n workspaceId\n }\n }\n`;\n\nconst DELETE_AGENT_DOCUMENT = gql`\n mutation DeleteBotmanorAgent($id: ID!) {\n deleteBotmanorAgent(id: $id)\n }\n`;\n\n// BOFF-4381: agent version history, publish, and rollback.\nconst LIST_AGENT_VERSIONS_DOCUMENT = gql`\n query ListAgentVersions($agentId: ID!, $pagination: PaginationInput) {\n listAgentVersions(agentId: $agentId, pagination: $pagination) {\n id\n agentId\n version\n status\n changelog\n config\n createdById\n createdAt\n publishedById\n publishedAt\n }\n }\n`;\n\nconst PUBLISH_AGENT_VERSION_DOCUMENT = gql`\n mutation PublishAgentVersion($agentId: ID!, $versionId: ID!, $changelog: String) {\n publishAgentVersion(agentId: $agentId, versionId: $versionId, changelog: $changelog) {\n id\n agentId\n version\n status\n changelog\n publishedById\n publishedAt\n }\n }\n`;\n\nconst ROLLBACK_AGENT_VERSION_DOCUMENT = gql`\n mutation RollbackAgentVersion($agentId: ID!, $targetVersionId: ID!) {\n rollbackAgentVersion(agentId: $agentId, targetVersionId: $targetVersionId) {\n id\n agentId\n version\n status\n changelog\n publishedById\n publishedAt\n }\n }\n`;\n\ntype WorkspaceClient = ApolloClient;\n\nexport interface AgentRecord {\n id: string;\n name: string;\n slug: string;\n description?: string | null;\n type: string;\n status: string;\n visibility?: string | null;\n capabilities?: string[] | null;\n llmModelId?: string | null;\n bucketId?: string | null;\n currentVersionId?: string | null;\n draftVersionId?: string | null;\n executionCount?: number | null;\n lastExecutedAt?: string | null;\n specialization?: string | null;\n systemPrompt?: string | null;\n temperature?: number | null;\n maxTokens?: number | null;\n maxConcurrentExecutions?: number | null;\n knowledgeBaseIds?: string[] | null;\n mcpConnectionIds?: string[] | null;\n workflowIds?: string[] | null;\n tagIds?: string[] | null;\n metadata?: Record<string, unknown> | null;\n createdAt?: string | null;\n updatedAt?: string | null;\n createdById?: string | null;\n updatedById?: string | null;\n workspaceId?: string | null;\n}\n\ninterface ListBotmanorAgentsData {\n listBotmanorAgents: AgentRecord[];\n}\n\ninterface GetAgentData {\n getBotmanorAgent: AgentRecord | null;\n}\n\ninterface CreateAgentData {\n createBotmanorAgent: AgentRecord;\n}\n\ninterface UpdateAgentData {\n updateBotmanorAgent: AgentRecord;\n}\n\ninterface DeleteAgentData {\n deleteBotmanorAgent: boolean;\n}\n\nexport interface AgentVersionRecord {\n id: string;\n agentId: string;\n version: string;\n status: 'DRAFT' | 'PUBLISHED' | 'HISTORICAL';\n changelog?: string | null;\n config?: Record<string, unknown> | null;\n createdById?: string | null;\n createdAt?: string | null;\n publishedById?: string | null;\n publishedAt?: string | null;\n}\n\ninterface ListAgentVersionsData {\n listAgentVersions: AgentVersionRecord[];\n}\n\ninterface PublishAgentVersionData {\n publishAgentVersion: AgentVersionRecord;\n}\n\ninterface RollbackAgentVersionData {\n rollbackAgentVersion: AgentVersionRecord;\n}\n\ninterface AgentMutationState<T> {\n data: T | undefined;\n loading: boolean;\n error: Error | undefined;\n}\n\ninterface CreateAgentInput {\n workspaceId: string;\n name: string;\n slug?: string;\n description?: string;\n type: string;\n systemPrompt: string;\n temperature?: number;\n maxTokens?: number;\n capabilities?: string[];\n llmModelId?: string;\n}\n\ninterface UpdateAgentInput {\n agentId: string;\n input: GraphQLInput<UpdateBotmanorAgentInput>;\n}\n\nconst UPDATE_AGENT_FIELDS = fieldsOf<UpdateBotmanorAgentInput>({\n bucketId: true,\n capabilities: true,\n context: true,\n description: true,\n knowledgeBaseIds: true,\n llmModelId: true,\n maxConcurrentExecutions: true,\n maxTokens: true,\n mcpConnectionIds: true,\n metadata: true,\n name: true,\n slug: true,\n specialization: true,\n status: true,\n systemPrompt: true,\n tagIds: true,\n tags: true,\n temperature: true,\n type: true,\n visibility: true,\n workflowIds: true,\n});\n\nfunction getWorkspaceClient(client: unknown): WorkspaceClient {\n return client as WorkspaceClient;\n}\n\nfunction buildAgentFilter(\n workspaceId: string | undefined,\n filter?: BaseFilter\n): Record<string, unknown> | undefined {\n if (!workspaceId && !filter) return undefined;\n\n return {\n workspaceId,\n search: filter?.search,\n status: filter?.status?.[0],\n visibility: filter?.visibility?.[0],\n bucketId: filter?.bucketId,\n };\n}\n\nexport const agentKeys = {\n all: ['agents'] as const,\n lists: () => [...agentKeys.all, 'list'] as const,\n list: (filter?: BaseFilter) => [...agentKeys.lists(), filter] as const,\n details: () => [...agentKeys.all, 'detail'] as const,\n detail: (id: string) => [...agentKeys.details(), id] as const,\n};\n\nexport function useAgents(filter?: BaseFilter) {\n const client = getWorkspaceClient(useGatewayClient('workspace'));\n const { workspaceId } = useBotlit();\n const [data, setData] = useState<AgentRecord[]>([]);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | undefined>();\n\n const variables = useMemo(\n () => ({\n filters: buildAgentFilter(workspaceId, filter),\n pagination: { limit: 100, offset: 0 },\n }),\n [filter, workspaceId]\n );\n\n const refetch = useCallback(async () => {\n if (!workspaceId) {\n setData([]);\n return;\n }\n\n setLoading(true);\n setError(undefined);\n try {\n const result = await client.query<ListBotmanorAgentsData>({\n query: LIST_AGENTS_DOCUMENT,\n variables,\n fetchPolicy: 'network-only',\n });\n setData(result.data?.listBotmanorAgents ?? []);\n } catch (queryError) {\n setError(queryError instanceof Error ? queryError : new Error('Failed to load agents'));\n } finally {\n setLoading(false);\n }\n }, [client, variables, workspaceId]);\n\n useEffect(() => {\n void refetch();\n }, [refetch]);\n\n return { data, loading, error, refetch };\n}\n\nexport function useAgent(agentId: string | undefined) {\n const client = getWorkspaceClient(useGatewayClient('workspace'));\n const [data, setData] = useState<AgentRecord | null>(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | undefined>();\n\n const refetch = useCallback(async () => {\n if (!agentId) {\n setData(null);\n return;\n }\n\n setLoading(true);\n setError(undefined);\n try {\n const result = await client.query<GetAgentData>({\n query: GET_AGENT_DOCUMENT,\n variables: { id: agentId },\n fetchPolicy: 'network-only',\n });\n setData(result.data?.getBotmanorAgent ?? null);\n } catch (queryError) {\n setError(queryError instanceof Error ? queryError : new Error('Failed to load agent'));\n } finally {\n setLoading(false);\n }\n }, [agentId, client]);\n\n useEffect(() => {\n void refetch();\n }, [refetch]);\n\n return { data, loading, error, refetch };\n}\n\nexport function useCreateAgent() {\n const client = getWorkspaceClient(useGatewayClient('workspace'));\n const [state, setState] = useState<AgentMutationState<AgentRecord>>({\n data: undefined,\n loading: false,\n error: undefined,\n });\n\n const createAgent = useCallback(\n async (input: CreateAgentInput) => {\n setState({ data: undefined, loading: true, error: undefined });\n try {\n const result = await client.mutate<CreateAgentData>({\n mutation: CREATE_AGENT_DOCUMENT,\n variables: { input },\n });\n\n const createdAgent = result.data?.createBotmanorAgent;\n if (!createdAgent) {\n throw new Error('Failed to create agent');\n }\n\n setState({ data: createdAgent, loading: false, error: undefined });\n return createdAgent;\n } catch (mutationError) {\n const error =\n mutationError instanceof Error ? mutationError : new Error('Failed to create agent');\n setState({ data: undefined, loading: false, error });\n throw error;\n }\n },\n [client]\n );\n\n return [createAgent, state] as const;\n}\n\nexport function useUpdateAgent() {\n const client = getWorkspaceClient(useGatewayClient('workspace'));\n const [state, setState] = useState<AgentMutationState<AgentRecord>>({\n data: undefined,\n loading: false,\n error: undefined,\n });\n\n const updateAgent = useCallback(\n async ({ agentId, input }: UpdateAgentInput) => {\n setState({ data: undefined, loading: true, error: undefined });\n try {\n const result = await client.mutate<UpdateAgentData>({\n mutation: UPDATE_AGENT_DOCUMENT,\n variables: { id: agentId, input: buildMutationInput(input, UPDATE_AGENT_FIELDS) },\n });\n\n const updatedAgent = result.data?.updateBotmanorAgent;\n if (!updatedAgent) {\n throw new Error('Failed to update agent');\n }\n\n setState({ data: updatedAgent, loading: false, error: undefined });\n return updatedAgent;\n } catch (mutationError) {\n const error =\n mutationError instanceof Error ? mutationError : new Error('Failed to update agent');\n setState({ data: undefined, loading: false, error });\n throw error;\n }\n },\n [client]\n );\n\n return [updateAgent, state] as const;\n}\n\nexport function useDeleteAgent() {\n const client = getWorkspaceClient(useGatewayClient('workspace'));\n const [state, setState] = useState<AgentMutationState<boolean>>({\n data: undefined,\n loading: false,\n error: undefined,\n });\n\n const deleteAgent = useCallback(\n async (agentId: string) => {\n setState({ data: undefined, loading: true, error: undefined });\n try {\n const result = await client.mutate<DeleteAgentData>({\n mutation: DELETE_AGENT_DOCUMENT,\n variables: { id: agentId },\n });\n\n const deleted = result.data?.deleteBotmanorAgent ?? false;\n setState({ data: deleted, loading: false, error: undefined });\n return deleted;\n } catch (mutationError) {\n const error =\n mutationError instanceof Error ? mutationError : new Error('Failed to delete agent');\n setState({ data: undefined, loading: false, error });\n throw error;\n }\n },\n [client]\n );\n\n return [deleteAgent, state] as const;\n}\n\n// ============================================================================\n// VERSIONING (BOFF-4381) — version history, publish, rollback\n// ============================================================================\n\nexport function useAgentVersions(agentId: string | undefined) {\n const client = getWorkspaceClient(useGatewayClient('workspace'));\n const [data, setData] = useState<AgentVersionRecord[]>([]);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | undefined>();\n\n const refetch = useCallback(async () => {\n if (!agentId) {\n setData([]);\n return;\n }\n\n setLoading(true);\n setError(undefined);\n try {\n const result = await client.query<ListAgentVersionsData>({\n query: LIST_AGENT_VERSIONS_DOCUMENT,\n variables: { agentId, pagination: { limit: 50, offset: 0 } },\n fetchPolicy: 'network-only',\n });\n const versions = result.data?.listAgentVersions ?? [];\n // Newest first, regardless of what the server returned.\n setData(\n [...versions].sort((a, b) =>\n a.createdAt && b.createdAt ? b.createdAt.localeCompare(a.createdAt) : 0\n )\n );\n } catch (queryError) {\n setError(\n queryError instanceof Error ? queryError : new Error('Failed to load agent versions')\n );\n } finally {\n setLoading(false);\n }\n }, [agentId, client]);\n\n useEffect(() => {\n void refetch();\n }, [refetch]);\n\n return { data, loading, error, refetch };\n}\n\nexport function usePublishAgentVersion() {\n const client = getWorkspaceClient(useGatewayClient('workspace'));\n const [state, setState] = useState<AgentMutationState<AgentVersionRecord>>({\n data: undefined,\n loading: false,\n error: undefined,\n });\n\n const publishAgentVersion = useCallback(\n async ({\n agentId,\n versionId,\n changelog,\n }: {\n agentId: string;\n versionId: string;\n changelog?: string;\n }) => {\n setState({ data: undefined, loading: true, error: undefined });\n try {\n const result = await client.mutate<PublishAgentVersionData>({\n mutation: PUBLISH_AGENT_VERSION_DOCUMENT,\n variables: { agentId, versionId, changelog: changelog?.trim() || undefined },\n });\n\n const published = result.data?.publishAgentVersion;\n if (!published) {\n throw new Error('Failed to publish agent version');\n }\n\n setState({ data: published, loading: false, error: undefined });\n return published;\n } catch (mutationError) {\n const error =\n mutationError instanceof Error\n ? mutationError\n : new Error('Failed to publish agent version');\n setState({ data: undefined, loading: false, error });\n throw error;\n }\n },\n [client]\n );\n\n return [publishAgentVersion, state] as const;\n}\n\nexport function useRollbackAgentVersion() {\n const client = getWorkspaceClient(useGatewayClient('workspace'));\n const [state, setState] = useState<AgentMutationState<AgentVersionRecord>>({\n data: undefined,\n loading: false,\n error: undefined,\n });\n\n const rollbackAgentVersion = useCallback(\n async ({ agentId, targetVersionId }: { agentId: string; targetVersionId: string }) => {\n setState({ data: undefined, loading: true, error: undefined });\n try {\n const result = await client.mutate<RollbackAgentVersionData>({\n mutation: ROLLBACK_AGENT_VERSION_DOCUMENT,\n variables: { agentId, targetVersionId },\n });\n\n const rolledBack = result.data?.rollbackAgentVersion;\n if (!rolledBack) {\n throw new Error('Failed to roll back agent version');\n }\n\n setState({ data: rolledBack, loading: false, error: undefined });\n return rolledBack;\n } catch (mutationError) {\n const error =\n mutationError instanceof Error\n ? mutationError\n : new Error('Failed to roll back agent version');\n setState({ data: undefined, loading: false, error });\n throw error;\n }\n },\n [client]\n );\n\n return [rollbackAgentVersion, state] as const;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useAgents.js","names":["LIST_AGENTS_DOCUMENT","GET_AGENT_DOCUMENT","CREATE_AGENT_DOCUMENT","UPDATE_AGENT_DOCUMENT","DELETE_AGENT_DOCUMENT","LIST_AGENT_VERSIONS_DOCUMENT","PUBLISH_AGENT_VERSION_DOCUMENT","ROLLBACK_AGENT_VERSION_DOCUMENT","LIST_PAGE_SIZE","NO_AGENTS","UPDATE_AGENT_FIELDS","fieldsOf","getWorkspaceClient","client","buildAgentFilter","workspaceId","filter","useAgents","useBotlit","variables","useMemo","useWorkspacePaginatedQuery","data","rows","useAgent","useGatewayClient","setData","useState","loading","setLoading","error","setError","refetch","useCallback","agentId","result","queryError","useEffect","useCreateAgent","state","setState","createdAgent","mutationError","useUpdateAgent","updatedAgent","buildMutationInput","input","useDeleteAgent","deleted","useAgentVersions","versions","a","b","usePublishAgentVersion","published","changelog","useRollbackAgentVersion","rolledBack"],"sources":["../../../src/botlit/hooks/useAgents.ts"],"sourcesContent":["import { gql, type ApolloClient } from '@apollo/client';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport { useGatewayClient } from '@burdenoff/fe-libs/shared/graphql';\n\nimport type { UpdateBotmanorAgentInput } from '../../generated/wspace-types';\nimport { useBotlit } from '../providers/BotlitProvider';\nimport type { BaseFilter } from '../types';\nimport { buildMutationInput, fieldsOf, type GraphQLInput } from './internal/mutationInput';\nimport { useWorkspacePaginatedQuery, type PaginatedQueryResult } from './internal/workspaceGateway';\n\nconst LIST_AGENTS_DOCUMENT = gql`\n query ListBotmanorAgents($filters: BotmanorAgentFilterInput, $pagination: PaginationInput) {\n listBotmanorAgents(filters: $filters, pagination: $pagination) {\n id\n name\n slug\n description\n type\n status\n visibility\n capabilities\n llmModelId\n bucketId\n executionCount\n lastExecutedAt\n specialization\n tagIds\n createdAt\n updatedAt\n createdById\n updatedById\n workspaceId\n }\n }\n`;\n\nconst GET_AGENT_DOCUMENT = gql`\n query GetBotmanorAgent($id: ID!) {\n getBotmanorAgent(id: $id) {\n id\n name\n slug\n description\n type\n status\n visibility\n capabilities\n llmModelId\n bucketId\n currentVersionId\n draftVersionId\n executionCount\n lastExecutedAt\n specialization\n systemPrompt\n temperature\n maxTokens\n maxConcurrentExecutions\n knowledgeBaseIds\n mcpConnectionIds\n workflowIds\n tagIds\n metadata\n createdAt\n updatedAt\n createdById\n updatedById\n workspaceId\n }\n }\n`;\n\nconst CREATE_AGENT_DOCUMENT = gql`\n mutation CreateBotmanorAgent($input: CreateBotmanorAgentInput!) {\n createBotmanorAgent(input: $input) {\n id\n name\n slug\n description\n type\n status\n visibility\n capabilities\n llmModelId\n systemPrompt\n temperature\n maxTokens\n maxConcurrentExecutions\n tagIds\n createdAt\n updatedAt\n workspaceId\n }\n }\n`;\n\nconst UPDATE_AGENT_DOCUMENT = gql`\n mutation UpdateBotmanorAgent($id: ID!, $input: UpdateBotmanorAgentInput!) {\n updateBotmanorAgent(id: $id, input: $input) {\n id\n name\n slug\n description\n type\n status\n visibility\n capabilities\n llmModelId\n systemPrompt\n temperature\n maxTokens\n maxConcurrentExecutions\n knowledgeBaseIds\n mcpConnectionIds\n workflowIds\n tagIds\n metadata\n createdAt\n updatedAt\n updatedById\n workspaceId\n }\n }\n`;\n\nconst DELETE_AGENT_DOCUMENT = gql`\n mutation DeleteBotmanorAgent($id: ID!) {\n deleteBotmanorAgent(id: $id)\n }\n`;\n\n// BOFF-4381: agent version history, publish, and rollback.\nconst LIST_AGENT_VERSIONS_DOCUMENT = gql`\n query ListAgentVersions($agentId: ID!, $pagination: PaginationInput) {\n listAgentVersions(agentId: $agentId, pagination: $pagination) {\n id\n agentId\n version\n status\n changelog\n config\n createdById\n createdAt\n publishedById\n publishedAt\n }\n }\n`;\n\nconst PUBLISH_AGENT_VERSION_DOCUMENT = gql`\n mutation PublishAgentVersion($agentId: ID!, $versionId: ID!, $changelog: String) {\n publishAgentVersion(agentId: $agentId, versionId: $versionId, changelog: $changelog) {\n id\n agentId\n version\n status\n changelog\n publishedById\n publishedAt\n }\n }\n`;\n\nconst ROLLBACK_AGENT_VERSION_DOCUMENT = gql`\n mutation RollbackAgentVersion($agentId: ID!, $targetVersionId: ID!) {\n rollbackAgentVersion(agentId: $agentId, targetVersionId: $targetVersionId) {\n id\n agentId\n version\n status\n changelog\n publishedById\n publishedAt\n }\n }\n`;\n\ntype WorkspaceClient = ApolloClient;\n\nexport interface AgentRecord {\n id: string;\n name: string;\n slug: string;\n description?: string | null;\n type: string;\n status: string;\n visibility?: string | null;\n capabilities?: string[] | null;\n llmModelId?: string | null;\n bucketId?: string | null;\n currentVersionId?: string | null;\n draftVersionId?: string | null;\n executionCount?: number | null;\n lastExecutedAt?: string | null;\n specialization?: string | null;\n systemPrompt?: string | null;\n temperature?: number | null;\n maxTokens?: number | null;\n maxConcurrentExecutions?: number | null;\n knowledgeBaseIds?: string[] | null;\n mcpConnectionIds?: string[] | null;\n workflowIds?: string[] | null;\n tagIds?: string[] | null;\n metadata?: Record<string, unknown> | null;\n createdAt?: string | null;\n updatedAt?: string | null;\n createdById?: string | null;\n updatedById?: string | null;\n workspaceId?: string | null;\n}\n\ninterface ListBotmanorAgentsData {\n listBotmanorAgents: AgentRecord[];\n}\n\nconst LIST_PAGE_SIZE = 100;\nconst NO_AGENTS: AgentRecord[] = [];\n\ninterface GetAgentData {\n getBotmanorAgent: AgentRecord | null;\n}\n\ninterface CreateAgentData {\n createBotmanorAgent: AgentRecord;\n}\n\ninterface UpdateAgentData {\n updateBotmanorAgent: AgentRecord;\n}\n\ninterface DeleteAgentData {\n deleteBotmanorAgent: boolean;\n}\n\nexport interface AgentVersionRecord {\n id: string;\n agentId: string;\n version: string;\n status: 'DRAFT' | 'PUBLISHED' | 'HISTORICAL';\n changelog?: string | null;\n config?: Record<string, unknown> | null;\n createdById?: string | null;\n createdAt?: string | null;\n publishedById?: string | null;\n publishedAt?: string | null;\n}\n\ninterface ListAgentVersionsData {\n listAgentVersions: AgentVersionRecord[];\n}\n\ninterface PublishAgentVersionData {\n publishAgentVersion: AgentVersionRecord;\n}\n\ninterface RollbackAgentVersionData {\n rollbackAgentVersion: AgentVersionRecord;\n}\n\ninterface AgentMutationState<T> {\n data: T | undefined;\n loading: boolean;\n error: Error | undefined;\n}\n\ninterface CreateAgentInput {\n workspaceId: string;\n name: string;\n slug?: string;\n description?: string;\n type: string;\n systemPrompt: string;\n temperature?: number;\n maxTokens?: number;\n capabilities?: string[];\n llmModelId?: string;\n}\n\ninterface UpdateAgentInput {\n agentId: string;\n input: GraphQLInput<UpdateBotmanorAgentInput>;\n}\n\nconst UPDATE_AGENT_FIELDS = fieldsOf<UpdateBotmanorAgentInput>({\n bucketId: true,\n capabilities: true,\n context: true,\n description: true,\n knowledgeBaseIds: true,\n llmModelId: true,\n maxConcurrentExecutions: true,\n maxTokens: true,\n mcpConnectionIds: true,\n metadata: true,\n name: true,\n slug: true,\n specialization: true,\n status: true,\n systemPrompt: true,\n tagIds: true,\n tags: true,\n temperature: true,\n type: true,\n visibility: true,\n workflowIds: true,\n});\n\nfunction getWorkspaceClient(client: unknown): WorkspaceClient {\n return client as WorkspaceClient;\n}\n\nfunction buildAgentFilter(\n workspaceId: string | undefined,\n filter?: BaseFilter\n): Record<string, unknown> | undefined {\n if (!workspaceId && !filter) return undefined;\n\n return {\n workspaceId,\n search: filter?.search,\n status: filter?.status?.[0],\n visibility: filter?.visibility?.[0],\n bucketId: filter?.bucketId,\n };\n}\n\nexport const agentKeys = {\n all: ['agents'] as const,\n lists: () => [...agentKeys.all, 'list'] as const,\n list: (filter?: BaseFilter) => [...agentKeys.lists(), filter] as const,\n details: () => [...agentKeys.all, 'detail'] as const,\n detail: (id: string) => [...agentKeys.details(), id] as const,\n};\n\nexport function useAgents(filter?: BaseFilter): PaginatedQueryResult<AgentRecord[]> {\n const { workspaceId } = useBotlit();\n\n const variables = useMemo(\n () => ({ filters: buildAgentFilter(workspaceId, filter) }),\n [filter, workspaceId]\n );\n\n return useWorkspacePaginatedQuery<ListBotmanorAgentsData, AgentRecord, AgentRecord[]>({\n document: LIST_AGENTS_DOCUMENT,\n variables,\n pageSize: LIST_PAGE_SIZE,\n extractRows: (data) => data?.listBotmanorAgents ?? [],\n select: (rows) => rows,\n fallback: NO_AGENTS,\n enabled: Boolean(workspaceId),\n errorMessage: 'Failed to load agents',\n });\n}\n\nexport function useAgent(agentId: string | undefined) {\n const client = getWorkspaceClient(useGatewayClient('workspace'));\n const [data, setData] = useState<AgentRecord | null>(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | undefined>();\n\n const refetch = useCallback(async () => {\n if (!agentId) {\n setData(null);\n return;\n }\n\n setLoading(true);\n setError(undefined);\n try {\n const result = await client.query<GetAgentData>({\n query: GET_AGENT_DOCUMENT,\n variables: { id: agentId },\n fetchPolicy: 'network-only',\n });\n setData(result.data?.getBotmanorAgent ?? null);\n } catch (queryError) {\n setError(queryError instanceof Error ? queryError : new Error('Failed to load agent'));\n } finally {\n setLoading(false);\n }\n }, [agentId, client]);\n\n useEffect(() => {\n void refetch();\n }, [refetch]);\n\n return { data, loading, error, refetch };\n}\n\nexport function useCreateAgent() {\n const client = getWorkspaceClient(useGatewayClient('workspace'));\n const [state, setState] = useState<AgentMutationState<AgentRecord>>({\n data: undefined,\n loading: false,\n error: undefined,\n });\n\n const createAgent = useCallback(\n async (input: CreateAgentInput) => {\n setState({ data: undefined, loading: true, error: undefined });\n try {\n const result = await client.mutate<CreateAgentData>({\n mutation: CREATE_AGENT_DOCUMENT,\n variables: { input },\n });\n\n const createdAgent = result.data?.createBotmanorAgent;\n if (!createdAgent) {\n throw new Error('Failed to create agent');\n }\n\n setState({ data: createdAgent, loading: false, error: undefined });\n return createdAgent;\n } catch (mutationError) {\n const error =\n mutationError instanceof Error ? mutationError : new Error('Failed to create agent');\n setState({ data: undefined, loading: false, error });\n throw error;\n }\n },\n [client]\n );\n\n return [createAgent, state] as const;\n}\n\nexport function useUpdateAgent() {\n const client = getWorkspaceClient(useGatewayClient('workspace'));\n const [state, setState] = useState<AgentMutationState<AgentRecord>>({\n data: undefined,\n loading: false,\n error: undefined,\n });\n\n const updateAgent = useCallback(\n async ({ agentId, input }: UpdateAgentInput) => {\n setState({ data: undefined, loading: true, error: undefined });\n try {\n const result = await client.mutate<UpdateAgentData>({\n mutation: UPDATE_AGENT_DOCUMENT,\n variables: { id: agentId, input: buildMutationInput(input, UPDATE_AGENT_FIELDS) },\n });\n\n const updatedAgent = result.data?.updateBotmanorAgent;\n if (!updatedAgent) {\n throw new Error('Failed to update agent');\n }\n\n setState({ data: updatedAgent, loading: false, error: undefined });\n return updatedAgent;\n } catch (mutationError) {\n const error =\n mutationError instanceof Error ? mutationError : new Error('Failed to update agent');\n setState({ data: undefined, loading: false, error });\n throw error;\n }\n },\n [client]\n );\n\n return [updateAgent, state] as const;\n}\n\nexport function useDeleteAgent() {\n const client = getWorkspaceClient(useGatewayClient('workspace'));\n const [state, setState] = useState<AgentMutationState<boolean>>({\n data: undefined,\n loading: false,\n error: undefined,\n });\n\n const deleteAgent = useCallback(\n async (agentId: string) => {\n setState({ data: undefined, loading: true, error: undefined });\n try {\n const result = await client.mutate<DeleteAgentData>({\n mutation: DELETE_AGENT_DOCUMENT,\n variables: { id: agentId },\n });\n\n const deleted = result.data?.deleteBotmanorAgent ?? false;\n setState({ data: deleted, loading: false, error: undefined });\n return deleted;\n } catch (mutationError) {\n const error =\n mutationError instanceof Error ? mutationError : new Error('Failed to delete agent');\n setState({ data: undefined, loading: false, error });\n throw error;\n }\n },\n [client]\n );\n\n return [deleteAgent, state] as const;\n}\n\n// ============================================================================\n// VERSIONING (BOFF-4381) — version history, publish, rollback\n// ============================================================================\n\nexport function useAgentVersions(agentId: string | undefined) {\n const client = getWorkspaceClient(useGatewayClient('workspace'));\n const [data, setData] = useState<AgentVersionRecord[]>([]);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | undefined>();\n\n const refetch = useCallback(async () => {\n if (!agentId) {\n setData([]);\n return;\n }\n\n setLoading(true);\n setError(undefined);\n try {\n const result = await client.query<ListAgentVersionsData>({\n query: LIST_AGENT_VERSIONS_DOCUMENT,\n variables: { agentId, pagination: { limit: 50, offset: 0 } },\n fetchPolicy: 'network-only',\n });\n const versions = result.data?.listAgentVersions ?? [];\n // Newest first, regardless of what the server returned.\n setData(\n [...versions].sort((a, b) =>\n a.createdAt && b.createdAt ? b.createdAt.localeCompare(a.createdAt) : 0\n )\n );\n } catch (queryError) {\n setError(\n queryError instanceof Error ? queryError : new Error('Failed to load agent versions')\n );\n } finally {\n setLoading(false);\n }\n }, [agentId, client]);\n\n useEffect(() => {\n void refetch();\n }, [refetch]);\n\n return { data, loading, error, refetch };\n}\n\nexport function usePublishAgentVersion() {\n const client = getWorkspaceClient(useGatewayClient('workspace'));\n const [state, setState] = useState<AgentMutationState<AgentVersionRecord>>({\n data: undefined,\n loading: false,\n error: undefined,\n });\n\n const publishAgentVersion = useCallback(\n async ({\n agentId,\n versionId,\n changelog,\n }: {\n agentId: string;\n versionId: string;\n changelog?: string;\n }) => {\n setState({ data: undefined, loading: true, error: undefined });\n try {\n const result = await client.mutate<PublishAgentVersionData>({\n mutation: PUBLISH_AGENT_VERSION_DOCUMENT,\n variables: { agentId, versionId, changelog: changelog?.trim() || undefined },\n });\n\n const published = result.data?.publishAgentVersion;\n if (!published) {\n throw new Error('Failed to publish agent version');\n }\n\n setState({ data: published, loading: false, error: undefined });\n return published;\n } catch (mutationError) {\n const error =\n mutationError instanceof Error\n ? mutationError\n : new Error('Failed to publish agent version');\n setState({ data: undefined, loading: false, error });\n throw error;\n }\n },\n [client]\n );\n\n return [publishAgentVersion, state] as const;\n}\n\nexport function useRollbackAgentVersion() {\n const client = getWorkspaceClient(useGatewayClient('workspace'));\n const [state, setState] = useState<AgentMutationState<AgentVersionRecord>>({\n data: undefined,\n loading: false,\n error: undefined,\n });\n\n const rollbackAgentVersion = useCallback(\n async ({ agentId, targetVersionId }: { agentId: string; targetVersionId: string }) => {\n setState({ data: undefined, loading: true, error: undefined });\n try {\n const result = await client.mutate<RollbackAgentVersionData>({\n mutation: ROLLBACK_AGENT_VERSION_DOCUMENT,\n variables: { agentId, targetVersionId },\n });\n\n const rolledBack = result.data?.rollbackAgentVersion;\n if (!rolledBack) {\n throw new Error('Failed to roll back agent version');\n }\n\n setState({ data: rolledBack, loading: false, error: undefined });\n return rolledBack;\n } catch (mutationError) {\n const error =\n mutationError instanceof Error\n ? mutationError\n : new Error('Failed to roll back agent version');\n setState({ data: undefined, loading: false, error });\n throw error;\n }\n },\n [client]\n );\n\n return [rollbackAgentVersion, state] as const;\n}\n"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { UpdateBotAppInput } from '../../generated/wspace-types';
|
|
2
2
|
import { BaseFilter } from '../types';
|
|
3
3
|
import { GraphQLInput } from './internal/mutationInput';
|
|
4
|
+
import { PaginatedQueryResult } from './internal/workspaceGateway';
|
|
4
5
|
export interface BotAppRecord {
|
|
5
6
|
id: string;
|
|
6
7
|
name: string;
|
|
@@ -50,12 +51,7 @@ export declare const botKeys: {
|
|
|
50
51
|
details: () => readonly ["bots", "detail"];
|
|
51
52
|
detail: (id: string) => readonly ["bots", "detail", string];
|
|
52
53
|
};
|
|
53
|
-
export declare function useBots(filter?: BaseFilter):
|
|
54
|
-
data: BotAppRecord[];
|
|
55
|
-
loading: boolean;
|
|
56
|
-
error: Error | undefined;
|
|
57
|
-
refetch: () => Promise<void>;
|
|
58
|
-
};
|
|
54
|
+
export declare function useBots(filter?: BaseFilter): PaginatedQueryResult<BotAppRecord[]>;
|
|
59
55
|
export declare function useBot(botId: string | undefined): {
|
|
60
56
|
data: BotAppRecord | null;
|
|
61
57
|
loading: boolean;
|