@stack-spot/portal-network 0.149.0 → 0.150.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/CHANGELOG.md +7 -0
- package/dist/api/agent-tools.d.ts +63 -2
- package/dist/api/agent-tools.d.ts.map +1 -1
- package/dist/api/agent-tools.js +55 -0
- package/dist/api/agent-tools.js.map +1 -1
- package/dist/api/agent.d.ts +30 -16
- package/dist/api/agent.d.ts.map +1 -1
- package/dist/api/agent.js +0 -18
- package/dist/api/agent.js.map +1 -1
- package/dist/client/agent-tools.d.ts +20 -6
- package/dist/client/agent-tools.d.ts.map +1 -1
- package/dist/client/agent-tools.js +21 -18
- package/dist/client/agent-tools.js.map +1 -1
- package/dist/client/agent.d.ts +8 -14
- package/dist/client/agent.d.ts.map +1 -1
- package/dist/client/agent.js +2 -10
- package/dist/client/agent.js.map +1 -1
- package/dist/client/ai.d.ts +6 -6
- package/dist/client/ai.d.ts.map +1 -1
- package/dist/client/ai.js +6 -6
- package/dist/client/ai.js.map +1 -1
- package/dist/client/secrets.d.ts +2 -2
- package/dist/client/secrets.d.ts.map +1 -1
- package/dist/client/secrets.js +2 -2
- package/dist/client/secrets.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/StreamedArray.d.ts +66 -0
- package/dist/utils/StreamedArray.d.ts.map +1 -0
- package/dist/utils/StreamedArray.js +148 -0
- package/dist/utils/StreamedArray.js.map +1 -0
- package/dist/utils/StreamedJson.d.ts +1 -1
- package/dist/utils/StreamedJson.d.ts.map +1 -1
- package/dist/utils/use-streamed-array.d.ts +4 -0
- package/dist/utils/use-streamed-array.d.ts.map +1 -0
- package/dist/utils/use-streamed-array.js +15 -0
- package/dist/utils/use-streamed-array.js.map +1 -0
- package/package.json +1 -1
- package/src/api/agent-tools.ts +130 -2
- package/src/api/agent.ts +30 -84
- package/src/client/agent-tools.ts +16 -17
- package/src/client/agent.ts +6 -6
- package/src/client/ai.ts +6 -6
- package/src/client/secrets.ts +2 -2
- package/src/index.ts +3 -1
- package/src/types.ts +1 -0
- package/src/utils/StreamedArray.tsx +146 -0
- package/src/utils/StreamedJson.tsx +1 -1
- package/src/utils/use-streamed-array.ts +17 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { CompletablePromise } from '@stack-spot/opa';
|
|
2
|
+
import { StreamCanceledError } from '../error/StreamCanceledError.js';
|
|
3
|
+
import { StreamError } from '../error/StreamError.js';
|
|
4
|
+
import { StreamJsonError } from '../error/StreamJsonError.js';
|
|
5
|
+
/**
|
|
6
|
+
* An array represented by a stream where each event contains an item of the array as a JSON string. This can be watched as the stream runs.
|
|
7
|
+
*/
|
|
8
|
+
export class StreamedArray {
|
|
9
|
+
/**
|
|
10
|
+
* @param response the fetch response.
|
|
11
|
+
* @param minChangeIntervalMS a stream can be too fast. This sets a minimum interval between running the listeners. The default is 50ms.
|
|
12
|
+
*/
|
|
13
|
+
constructor({ eventsPromises, abortController, minChangeIntervalMS = 50, signal }) {
|
|
14
|
+
Object.defineProperty(this, "onChangeListeners", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
configurable: true,
|
|
17
|
+
writable: true,
|
|
18
|
+
value: []
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(this, "error", {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
configurable: true,
|
|
23
|
+
writable: true,
|
|
24
|
+
value: void 0
|
|
25
|
+
});
|
|
26
|
+
Object.defineProperty(this, "data", {
|
|
27
|
+
enumerable: true,
|
|
28
|
+
configurable: true,
|
|
29
|
+
writable: true,
|
|
30
|
+
value: []
|
|
31
|
+
});
|
|
32
|
+
Object.defineProperty(this, "fullPromise", {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
configurable: true,
|
|
35
|
+
writable: true,
|
|
36
|
+
value: new CompletablePromise()
|
|
37
|
+
});
|
|
38
|
+
Object.defineProperty(this, "abortController", {
|
|
39
|
+
enumerable: true,
|
|
40
|
+
configurable: true,
|
|
41
|
+
writable: true,
|
|
42
|
+
value: void 0
|
|
43
|
+
});
|
|
44
|
+
this.abortController = abortController ?? new AbortController();
|
|
45
|
+
eventsPromises.forEach(eventsPromise => this.run(eventsPromise, minChangeIntervalMS));
|
|
46
|
+
if (signal) {
|
|
47
|
+
signal.addEventListener('abort', () => this.cancel());
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
async run(eventsPromise, minChangeIntervalMS) {
|
|
51
|
+
let lastChangeCall = 0;
|
|
52
|
+
try {
|
|
53
|
+
const events = await eventsPromise;
|
|
54
|
+
let flushed = true;
|
|
55
|
+
for await (const event of events) {
|
|
56
|
+
if (this.error)
|
|
57
|
+
return;
|
|
58
|
+
if (event.data) {
|
|
59
|
+
this.data.push(JSON.parse(event.data));
|
|
60
|
+
if (new Date().getTime() - lastChangeCall >= minChangeIntervalMS) {
|
|
61
|
+
this.onChangeListeners.forEach(l => l(this.data));
|
|
62
|
+
lastChangeCall = new Date().getTime();
|
|
63
|
+
flushed = true;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
flushed = false;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (!flushed)
|
|
71
|
+
this.onChangeListeners.forEach(l => l(this.data));
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
if (error instanceof DOMException && error.name === 'AbortError')
|
|
75
|
+
this.fail(new StreamCanceledError());
|
|
76
|
+
if (error instanceof SyntaxError)
|
|
77
|
+
this.fail(new StreamJsonError());
|
|
78
|
+
else if (error instanceof StreamError)
|
|
79
|
+
this.fail(error);
|
|
80
|
+
else
|
|
81
|
+
this.fail(new StreamError(error?.message || `${error}`));
|
|
82
|
+
}
|
|
83
|
+
if (!this.error)
|
|
84
|
+
this.complete();
|
|
85
|
+
}
|
|
86
|
+
clear() {
|
|
87
|
+
this.onChangeListeners = [];
|
|
88
|
+
this.abortController = undefined;
|
|
89
|
+
}
|
|
90
|
+
fail(error) {
|
|
91
|
+
this.error = error;
|
|
92
|
+
this.fullPromise.reject(this.error);
|
|
93
|
+
this.clear();
|
|
94
|
+
}
|
|
95
|
+
complete() {
|
|
96
|
+
this.fullPromise.resolve(this.data);
|
|
97
|
+
this.clear();
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Returns the full value of the array once the stream finishes.
|
|
101
|
+
*/
|
|
102
|
+
getValue() {
|
|
103
|
+
return this.fullPromise.promise;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Returns the streamed array with every item streamed until now. This will be the complete array if the stream has finished.
|
|
107
|
+
*/
|
|
108
|
+
getPartialValue() {
|
|
109
|
+
return this.data;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Watches the array as it's streamed. This doesn't wait for the value to be complete.
|
|
113
|
+
*
|
|
114
|
+
* The listener is called whenever the value changes.
|
|
115
|
+
*
|
|
116
|
+
* @param listener the function to call with the new value.
|
|
117
|
+
* @returns a function that, when called, removes the listener.
|
|
118
|
+
*/
|
|
119
|
+
onChange(listener) {
|
|
120
|
+
if (this.fullPromise.resolved) {
|
|
121
|
+
listener(this.data);
|
|
122
|
+
return () => { };
|
|
123
|
+
}
|
|
124
|
+
this.onChangeListeners.push(listener);
|
|
125
|
+
return () => {
|
|
126
|
+
const index = this.onChangeListeners?.findIndex(l => l === listener);
|
|
127
|
+
if (index !== undefined && index >= 0)
|
|
128
|
+
this.onChangeListeners?.splice(index, 1);
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
getStatus() {
|
|
132
|
+
if (this.error)
|
|
133
|
+
return 'error';
|
|
134
|
+
if (this.fullPromise.resolved)
|
|
135
|
+
return 'success';
|
|
136
|
+
return 'pending';
|
|
137
|
+
}
|
|
138
|
+
getError() {
|
|
139
|
+
return this.error;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* If this is a stream and it's not yet finished, calling this function cancels the stream.
|
|
143
|
+
*/
|
|
144
|
+
cancel() {
|
|
145
|
+
this.abortController?.abort(new StreamCanceledError());
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=StreamedArray.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StreamedArray.js","sourceRoot":"","sources":["../../src/utils/StreamedArray.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { StreamError } from '../error/StreamError.js';
|
|
2
2
|
import { FetchEventStream } from '../network/types.js';
|
|
3
|
-
|
|
3
|
+
import { StreamingStatus } from '../types.js';
|
|
4
4
|
interface ConstructorParams<T> {
|
|
5
5
|
/**
|
|
6
6
|
* The promise that results in the EventStream to build the final json.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StreamedJson.d.ts","sourceRoot":"","sources":["../../src/utils/StreamedJson.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"StreamedJson.d.ts","sourceRoot":"","sources":["../../src/utils/StreamedJson.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAI1C,UAAU,iBAAiB,CAAC,CAAC;IAC3B;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACzC;;OAEG;IACH,eAAe,EAAE,eAAe,CAAC;IACjC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,YAAY,CAAC,CAAC;IACzB,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,SAAS,CAAC,CAA+D;IACjF,OAAO,CAAC,UAAU,CAAC,CAAa;IAEhC;;;OAGG;gBACS,EAAE,aAAa,EAAE,eAAe,EAAE,mBAAwB,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;YAOvG,GAAG;IA8BjB,OAAO,CAAC,KAAK;IAWb,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,QAAQ;IAKhB;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC;IAItB;;OAEG;IACH,eAAe,IAAI,OAAO,CAAC,CAAC,CAAC;IAI7B;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI;IAY9C,SAAS,IAAI,eAAe;IAM5B,QAAQ;IAIR;;OAEG;IACH,MAAM;CAGP"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-streamed-array.d.ts","sourceRoot":"","sources":["../../src/utils/use-streamed-array.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,6BAYvE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useEffect, useState } from 'react';
|
|
2
|
+
export function useStreamedArray(stream) {
|
|
3
|
+
const [array, setArray] = useState(stream?.getPartialValue() ?? []);
|
|
4
|
+
const [status, setStatus] = useState(stream?.getStatus() ?? 'pending');
|
|
5
|
+
useEffect(() => {
|
|
6
|
+
setArray(stream?.getPartialValue() ?? []);
|
|
7
|
+
setStatus(stream?.getStatus() ?? 'pending');
|
|
8
|
+
return stream?.onChange((values) => {
|
|
9
|
+
setArray(values);
|
|
10
|
+
setStatus(stream.getStatus());
|
|
11
|
+
});
|
|
12
|
+
}, [stream]);
|
|
13
|
+
return [array, status];
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=use-streamed-array.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-streamed-array.js","sourceRoot":"","sources":["../../src/utils/use-streamed-array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAI3C,MAAM,UAAU,gBAAgB,CAAI,MAAoC;IACtE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAM,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAA;IACxE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAkB,MAAM,EAAE,SAAS,EAAE,IAAI,SAAS,CAAC,CAAA;IACvF,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAA;QACzC,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,SAAS,CAAC,CAAA;QAC3C,OAAO,MAAM,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE;YACjC,QAAQ,CAAC,MAAM,CAAC,CAAA;YAChB,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IACZ,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AACxB,CAAC"}
|
package/package.json
CHANGED
package/src/api/agent-tools.ts
CHANGED
|
@@ -260,6 +260,15 @@ export type DeleteToolsRequest = {
|
|
|
260
260
|
/** List of tool IDs to be deleted from the toolkit */
|
|
261
261
|
tool_ids: string[];
|
|
262
262
|
};
|
|
263
|
+
export type ListAgentsUsingToolsRequest = {
|
|
264
|
+
/** List of tool IDs to find agents that use at least one of them */
|
|
265
|
+
tool_ids: string[];
|
|
266
|
+
};
|
|
267
|
+
export type AgentUsingToolsResponse = {
|
|
268
|
+
id: string;
|
|
269
|
+
name: string;
|
|
270
|
+
avatar?: string | null;
|
|
271
|
+
};
|
|
263
272
|
export type AssignCustomToolsAgentRequest = {
|
|
264
273
|
toolkit_id: string;
|
|
265
274
|
tools_ids: string[];
|
|
@@ -312,7 +321,7 @@ export type ExecuteAgentToolRequest = {
|
|
|
312
321
|
export type AgentToolExecutionResponse = {
|
|
313
322
|
result: string;
|
|
314
323
|
};
|
|
315
|
-
export type AgentVisibilityLevelEnum = "built_in";
|
|
324
|
+
export type AgentVisibilityLevelEnum = "built_in" | "recently_used";
|
|
316
325
|
export type KnowledgeSourcesConfig = {
|
|
317
326
|
knowledge_sources: string[];
|
|
318
327
|
max_number_of_kos?: number;
|
|
@@ -328,7 +337,7 @@ export type ListAgentResponse = {
|
|
|
328
337
|
created_at: string | null;
|
|
329
338
|
visibility_level: string;
|
|
330
339
|
avatar: string | null;
|
|
331
|
-
|
|
340
|
+
suggested_prompts: string[] | null;
|
|
332
341
|
knowledge_sources_config: KnowledgeSourcesConfig;
|
|
333
342
|
"type"?: string;
|
|
334
343
|
system_prompt?: string;
|
|
@@ -465,6 +474,20 @@ export type AgentModel = {
|
|
|
465
474
|
updated_by?: string | null;
|
|
466
475
|
updated_at?: string | null;
|
|
467
476
|
};
|
|
477
|
+
export type ListAgentResponseV2 = {
|
|
478
|
+
id: string;
|
|
479
|
+
name: string;
|
|
480
|
+
slug: string;
|
|
481
|
+
created_by: string | null;
|
|
482
|
+
created_at: string | null;
|
|
483
|
+
visibility_level: string;
|
|
484
|
+
avatar: string | null;
|
|
485
|
+
conversation_starter: string[] | null;
|
|
486
|
+
knowledge_sources_config: KnowledgeSourcesConfig;
|
|
487
|
+
"type"?: string;
|
|
488
|
+
system_prompt?: string;
|
|
489
|
+
creator_name?: string;
|
|
490
|
+
};
|
|
468
491
|
export type InternalListToolkitsRequest = {
|
|
469
492
|
/** List of toolkit IDs to retrieve */
|
|
470
493
|
toolkit_ids: string[];
|
|
@@ -887,6 +910,39 @@ export function splitUploadedFilePreviewV1ToolkitsToolsPreviewFileUploadIdGet({
|
|
|
887
910
|
})
|
|
888
911
|
}));
|
|
889
912
|
}
|
|
913
|
+
/**
|
|
914
|
+
* List Agents Using Tools
|
|
915
|
+
*/
|
|
916
|
+
export function listAgentsUsingToolsV1ToolkitsToolkitIdToolsAgentsPost({ toolkitId, xAccountId, xUsername, xUserId, xUserFullName, authorization, listAgentsUsingToolsRequest }: {
|
|
917
|
+
toolkitId: string;
|
|
918
|
+
xAccountId?: string | null;
|
|
919
|
+
xUsername?: string | null;
|
|
920
|
+
xUserId?: string | null;
|
|
921
|
+
xUserFullName?: string | null;
|
|
922
|
+
authorization: string;
|
|
923
|
+
listAgentsUsingToolsRequest: ListAgentsUsingToolsRequest;
|
|
924
|
+
}, opts?: Oazapfts.RequestOpts) {
|
|
925
|
+
return oazapfts.ok(oazapfts.fetchJson<{
|
|
926
|
+
status: 200;
|
|
927
|
+
data: AgentUsingToolsResponse[];
|
|
928
|
+
} | {
|
|
929
|
+
status: 404;
|
|
930
|
+
} | {
|
|
931
|
+
status: 422;
|
|
932
|
+
data: HttpValidationError;
|
|
933
|
+
}>(`/v1/toolkits/${encodeURIComponent(toolkitId)}/tools/agents`, oazapfts.json({
|
|
934
|
+
...opts,
|
|
935
|
+
method: "POST",
|
|
936
|
+
body: listAgentsUsingToolsRequest,
|
|
937
|
+
headers: oazapfts.mergeHeaders(opts?.headers, {
|
|
938
|
+
"x-account-id": xAccountId,
|
|
939
|
+
"x-username": xUsername,
|
|
940
|
+
"x-user-id": xUserId,
|
|
941
|
+
"x-user-full-name": xUserFullName,
|
|
942
|
+
authorization
|
|
943
|
+
})
|
|
944
|
+
})));
|
|
945
|
+
}
|
|
890
946
|
/**
|
|
891
947
|
* Assign Tools
|
|
892
948
|
*/
|
|
@@ -1273,6 +1329,78 @@ export function publishAgentV1AgentsAgentIdPublishPost({ agentId }: {
|
|
|
1273
1329
|
method: "POST"
|
|
1274
1330
|
}));
|
|
1275
1331
|
}
|
|
1332
|
+
/**
|
|
1333
|
+
* List Agents
|
|
1334
|
+
*/
|
|
1335
|
+
export function listAgentsV2AgentsGet({ name, slug, visibility, size, page, xAccountId, xUsername, xUserId, xUserFullName, authorization }: {
|
|
1336
|
+
name?: string | null;
|
|
1337
|
+
slug?: string | null;
|
|
1338
|
+
visibility?: AgentVisibilityLevelEnum | VisibilityLevelEnum;
|
|
1339
|
+
size?: number;
|
|
1340
|
+
page?: number;
|
|
1341
|
+
xAccountId?: string | null;
|
|
1342
|
+
xUsername?: string | null;
|
|
1343
|
+
xUserId?: string | null;
|
|
1344
|
+
xUserFullName?: string | null;
|
|
1345
|
+
authorization: string;
|
|
1346
|
+
}, opts?: Oazapfts.RequestOpts) {
|
|
1347
|
+
return oazapfts.ok(oazapfts.fetchJson<{
|
|
1348
|
+
status: 200;
|
|
1349
|
+
data: ListAgentResponseV2[];
|
|
1350
|
+
} | {
|
|
1351
|
+
status: 404;
|
|
1352
|
+
} | {
|
|
1353
|
+
status: 422;
|
|
1354
|
+
data: HttpValidationError;
|
|
1355
|
+
}>(`/v2/agents${QS.query(QS.explode({
|
|
1356
|
+
name,
|
|
1357
|
+
slug,
|
|
1358
|
+
visibility,
|
|
1359
|
+
size,
|
|
1360
|
+
page
|
|
1361
|
+
}))}`, {
|
|
1362
|
+
...opts,
|
|
1363
|
+
headers: oazapfts.mergeHeaders(opts?.headers, {
|
|
1364
|
+
"x-account-id": xAccountId,
|
|
1365
|
+
"x-username": xUsername,
|
|
1366
|
+
"x-user-id": xUserId,
|
|
1367
|
+
"x-user-full-name": xUserFullName,
|
|
1368
|
+
authorization
|
|
1369
|
+
})
|
|
1370
|
+
}));
|
|
1371
|
+
}
|
|
1372
|
+
/**
|
|
1373
|
+
* Search Agents
|
|
1374
|
+
*/
|
|
1375
|
+
export function searchAgentsV2AgentsSearchPost({ xAccountId, xUsername, xUserId, xUserFullName, authorization, searchAgentsRequest }: {
|
|
1376
|
+
xAccountId?: string | null;
|
|
1377
|
+
xUsername?: string | null;
|
|
1378
|
+
xUserId?: string | null;
|
|
1379
|
+
xUserFullName?: string | null;
|
|
1380
|
+
authorization: string;
|
|
1381
|
+
searchAgentsRequest: SearchAgentsRequest;
|
|
1382
|
+
}, opts?: Oazapfts.RequestOpts) {
|
|
1383
|
+
return oazapfts.ok(oazapfts.fetchJson<{
|
|
1384
|
+
status: 200;
|
|
1385
|
+
data: ListAgentResponseV2[];
|
|
1386
|
+
} | {
|
|
1387
|
+
status: 404;
|
|
1388
|
+
} | {
|
|
1389
|
+
status: 422;
|
|
1390
|
+
data: HttpValidationError;
|
|
1391
|
+
}>("/v2/agents/search", oazapfts.json({
|
|
1392
|
+
...opts,
|
|
1393
|
+
method: "POST",
|
|
1394
|
+
body: searchAgentsRequest,
|
|
1395
|
+
headers: oazapfts.mergeHeaders(opts?.headers, {
|
|
1396
|
+
"x-account-id": xAccountId,
|
|
1397
|
+
"x-username": xUsername,
|
|
1398
|
+
"x-user-id": xUserId,
|
|
1399
|
+
"x-user-full-name": xUserFullName,
|
|
1400
|
+
authorization
|
|
1401
|
+
})
|
|
1402
|
+
})));
|
|
1403
|
+
}
|
|
1276
1404
|
/**
|
|
1277
1405
|
* Internal List Toolkits By Ids
|
|
1278
1406
|
*/
|
package/src/api/agent.ts
CHANGED
|
@@ -27,6 +27,10 @@ export type KnowledgeSourcesConfigRequestPart = {
|
|
|
27
27
|
/** List of knowledge source ids (ULID). */
|
|
28
28
|
knowledge_sources: string[];
|
|
29
29
|
};
|
|
30
|
+
export type CustomToolRequest = {
|
|
31
|
+
toolkit_id?: string;
|
|
32
|
+
tools_ids?: string[];
|
|
33
|
+
};
|
|
30
34
|
export type NewAgentRequest = {
|
|
31
35
|
name: string;
|
|
32
36
|
slug: string;
|
|
@@ -38,6 +42,7 @@ export type NewAgentRequest = {
|
|
|
38
42
|
llm_config?: (LlmConfigRequestPart) | null;
|
|
39
43
|
knowledge_sources_config?: (KnowledgeSourcesConfigRequestPart) | null;
|
|
40
44
|
builtin_tools_ids?: string[];
|
|
45
|
+
custom_tools?: CustomToolRequest[];
|
|
41
46
|
detail_mode?: boolean;
|
|
42
47
|
model_name?: string | null;
|
|
43
48
|
model_id?: string | null;
|
|
@@ -102,6 +107,7 @@ export type KnowledgeSourceResponse = {
|
|
|
102
107
|
knowledge_sources: string[];
|
|
103
108
|
knowledge_sources_details?: KnowledgeSourceDetailResponse[];
|
|
104
109
|
};
|
|
110
|
+
export type VisibilityLevel = "PERSONAL" | "SHARED" | "WORKSPACE" | "ACCOUNT" | "FAVORITE";
|
|
105
111
|
export type ZonedDateTime = string;
|
|
106
112
|
export type BuiltinToolResponse = {
|
|
107
113
|
id?: string;
|
|
@@ -115,12 +121,28 @@ export type BuiltinToolkitResponse = {
|
|
|
115
121
|
image_url?: string;
|
|
116
122
|
tools?: BuiltinToolResponse[];
|
|
117
123
|
};
|
|
124
|
+
export type CustomToolResponse = {
|
|
125
|
+
id?: string;
|
|
126
|
+
name?: string;
|
|
127
|
+
description?: string;
|
|
128
|
+
method?: string;
|
|
129
|
+
url?: string;
|
|
130
|
+
};
|
|
131
|
+
export type CustomToolkitResponse = {
|
|
132
|
+
id?: string;
|
|
133
|
+
name?: string;
|
|
134
|
+
description?: string;
|
|
135
|
+
avatar?: string;
|
|
136
|
+
secret_id?: string;
|
|
137
|
+
tools?: CustomToolResponse[];
|
|
138
|
+
};
|
|
118
139
|
export type ToolkitsInAgentResponse = {
|
|
119
140
|
builtins?: BuiltinToolkitResponse[];
|
|
141
|
+
customs?: CustomToolkitResponse[];
|
|
120
142
|
};
|
|
121
143
|
export type ModifiedAgentRequest = {
|
|
122
|
-
name
|
|
123
|
-
slug
|
|
144
|
+
name: string;
|
|
145
|
+
slug: string;
|
|
124
146
|
description?: string | null;
|
|
125
147
|
avatar?: string | null;
|
|
126
148
|
suggested_prompts?: string[] | null;
|
|
@@ -130,6 +152,7 @@ export type ModifiedAgentRequest = {
|
|
|
130
152
|
knowledge_sources_config?: (KnowledgeSourcesConfigRequestPart) | null;
|
|
131
153
|
use_only?: boolean | null;
|
|
132
154
|
builtin_tools_ids?: string[];
|
|
155
|
+
custom_tools?: CustomToolRequest[];
|
|
133
156
|
detail_mode?: boolean | null;
|
|
134
157
|
model_name?: string | null;
|
|
135
158
|
model_id?: string | null;
|
|
@@ -144,7 +167,6 @@ export type ForkAgentRequest = {
|
|
|
144
167
|
slug?: string;
|
|
145
168
|
name?: string | null;
|
|
146
169
|
};
|
|
147
|
-
export type VisibilityLevel = "PERSONAL" | "SHARED" | "WORKSPACE" | "ACCOUNT" | "FAVORITE";
|
|
148
170
|
export type PublishRequest = {
|
|
149
171
|
level: VisibilityLevel;
|
|
150
172
|
use_only?: boolean;
|
|
@@ -160,7 +182,7 @@ export type AgentResponse = {
|
|
|
160
182
|
llm_config?: LlmConfigResponse;
|
|
161
183
|
suggested_prompts?: string[];
|
|
162
184
|
knowledge_sources_config?: KnowledgeSourceResponse;
|
|
163
|
-
visibility_level:
|
|
185
|
+
visibility_level: VisibilityLevel;
|
|
164
186
|
use_only: boolean;
|
|
165
187
|
creator_name: string;
|
|
166
188
|
created_by: string;
|
|
@@ -380,7 +402,7 @@ export function getV1AgentByAgentId({ agentId }: {
|
|
|
380
402
|
llm_config?: LlmConfigResponse;
|
|
381
403
|
suggested_prompts?: string[];
|
|
382
404
|
knowledge_sources_config?: KnowledgeSourceResponse;
|
|
383
|
-
visibility_level:
|
|
405
|
+
visibility_level: VisibilityLevel;
|
|
384
406
|
use_only: boolean;
|
|
385
407
|
creator_name: string;
|
|
386
408
|
created_by: string;
|
|
@@ -673,7 +695,7 @@ export function getV1AgentByAgentSlugExists({ agentSlug }: {
|
|
|
673
695
|
llm_config?: LlmConfigResponse;
|
|
674
696
|
suggested_prompts?: string[];
|
|
675
697
|
knowledge_sources_config?: KnowledgeSourceResponse;
|
|
676
|
-
visibility_level:
|
|
698
|
+
visibility_level: VisibilityLevel;
|
|
677
699
|
use_only: boolean;
|
|
678
700
|
creator_name: string;
|
|
679
701
|
created_by: string;
|
|
@@ -737,44 +759,6 @@ export function getV1Agents({ visibility }: {
|
|
|
737
759
|
...opts
|
|
738
760
|
}));
|
|
739
761
|
}
|
|
740
|
-
/**
|
|
741
|
-
* Create agents trial
|
|
742
|
-
*/
|
|
743
|
-
export function postV1AgentsTrial(opts?: Oazapfts.RequestOpts) {
|
|
744
|
-
return oazapfts.ok(oazapfts.fetchJson<{
|
|
745
|
-
status: 204;
|
|
746
|
-
} | {
|
|
747
|
-
status: 404;
|
|
748
|
-
data: {
|
|
749
|
-
code?: string;
|
|
750
|
-
details?: string;
|
|
751
|
-
additionalInformation?: {
|
|
752
|
-
[key: string]: any;
|
|
753
|
-
} | null;
|
|
754
|
-
};
|
|
755
|
-
} | {
|
|
756
|
-
status: 422;
|
|
757
|
-
data: {
|
|
758
|
-
code?: string;
|
|
759
|
-
details?: string;
|
|
760
|
-
additionalInformation?: {
|
|
761
|
-
[key: string]: any;
|
|
762
|
-
} | null;
|
|
763
|
-
};
|
|
764
|
-
} | {
|
|
765
|
-
status: 500;
|
|
766
|
-
data: {
|
|
767
|
-
code?: string;
|
|
768
|
-
details?: string;
|
|
769
|
-
additionalInformation?: {
|
|
770
|
-
[key: string]: any;
|
|
771
|
-
} | null;
|
|
772
|
-
};
|
|
773
|
-
}>("/v1/agents/trial", {
|
|
774
|
-
...opts,
|
|
775
|
-
method: "POST"
|
|
776
|
-
}));
|
|
777
|
-
}
|
|
778
762
|
/**
|
|
779
763
|
* Creates a new built-in AI Agent.
|
|
780
764
|
*/
|
|
@@ -836,7 +820,7 @@ export function getV1PublicAgentByAgentId({ agentId }: {
|
|
|
836
820
|
llm_config?: LlmConfigResponse;
|
|
837
821
|
suggested_prompts?: string[];
|
|
838
822
|
knowledge_sources_config?: KnowledgeSourceResponse;
|
|
839
|
-
visibility_level:
|
|
823
|
+
visibility_level: VisibilityLevel;
|
|
840
824
|
use_only: boolean;
|
|
841
825
|
creator_name: string;
|
|
842
826
|
created_by: string;
|
|
@@ -1033,7 +1017,7 @@ export function getV1PublicAgentByAgentSlugExists({ agentSlug }: {
|
|
|
1033
1017
|
llm_config?: LlmConfigResponse;
|
|
1034
1018
|
suggested_prompts?: string[];
|
|
1035
1019
|
knowledge_sources_config?: KnowledgeSourceResponse;
|
|
1036
|
-
visibility_level:
|
|
1020
|
+
visibility_level: VisibilityLevel;
|
|
1037
1021
|
use_only: boolean;
|
|
1038
1022
|
creator_name: string;
|
|
1039
1023
|
created_by: string;
|
|
@@ -1097,41 +1081,3 @@ export function getV1PublicAgents({ visibility }: {
|
|
|
1097
1081
|
...opts
|
|
1098
1082
|
}));
|
|
1099
1083
|
}
|
|
1100
|
-
/**
|
|
1101
|
-
* Create agents trial
|
|
1102
|
-
*/
|
|
1103
|
-
export function postV1PublicAgentsTrial(opts?: Oazapfts.RequestOpts) {
|
|
1104
|
-
return oazapfts.ok(oazapfts.fetchJson<{
|
|
1105
|
-
status: 204;
|
|
1106
|
-
} | {
|
|
1107
|
-
status: 404;
|
|
1108
|
-
data: {
|
|
1109
|
-
code?: string;
|
|
1110
|
-
details?: string;
|
|
1111
|
-
additionalInformation?: {
|
|
1112
|
-
[key: string]: any;
|
|
1113
|
-
} | null;
|
|
1114
|
-
};
|
|
1115
|
-
} | {
|
|
1116
|
-
status: 422;
|
|
1117
|
-
data: {
|
|
1118
|
-
code?: string;
|
|
1119
|
-
details?: string;
|
|
1120
|
-
additionalInformation?: {
|
|
1121
|
-
[key: string]: any;
|
|
1122
|
-
} | null;
|
|
1123
|
-
};
|
|
1124
|
-
} | {
|
|
1125
|
-
status: 500;
|
|
1126
|
-
data: {
|
|
1127
|
-
code?: string;
|
|
1128
|
-
details?: string;
|
|
1129
|
-
additionalInformation?: {
|
|
1130
|
-
[key: string]: any;
|
|
1131
|
-
} | null;
|
|
1132
|
-
};
|
|
1133
|
-
}>("/v1/public/agents/trial", {
|
|
1134
|
-
...opts,
|
|
1135
|
-
method: "POST"
|
|
1136
|
-
}));
|
|
1137
|
-
}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { HttpError } from '@oazapfts/runtime'
|
|
2
|
-
import { createToolkitToolsV1ToolkitsToolkitIdToolsPost, createToolkitV1ToolkitsPost, defaults, deleteToolkitToolsV1ToolkitsToolkitIdToolsDelete, deleteToolkitV1ToolkitsToolkitIdDelete, editToolkitToolV1ToolkitsToolkitIdToolsToolIdPut, getPublicToolKitsV1BuiltinToolkitGet, getToolkitToolV1ToolkitsToolkitIdToolsToolIdGet, getToolkitV1ToolkitsToolkitIdGet, HttpValidationError, listToolkitsV1ToolkitsGet, updateToolkitV1ToolkitsToolkitIdPatch } from '../api/agent-tools'
|
|
2
|
+
import { createToolkitToolsV1ToolkitsToolkitIdToolsPost, createToolkitV1ToolkitsPost, defaults, deleteToolkitToolsV1ToolkitsToolkitIdToolsDelete, deleteToolkitV1ToolkitsToolkitIdDelete, editToolkitToolV1ToolkitsToolkitIdToolsToolIdPut, getPublicToolKitsV1BuiltinToolkitGet, getToolkitToolV1ToolkitsToolkitIdToolsToolIdGet, getToolkitV1ToolkitsToolkitIdGet, HttpValidationError, listAgentsUsingToolsV1ToolkitsToolkitIdToolsAgentsPost, listToolkitsV1ToolkitsGet, updateToolkitV1ToolkitsToolkitIdPatch } from '../api/agent-tools'
|
|
3
3
|
import apis from '../apis.json'
|
|
4
4
|
import { StackspotAPIError } from '../error/StackspotAPIError'
|
|
5
5
|
import { ReactQueryNetworkClient } from '../network/ReactQueryNetworkClient'
|
|
6
|
+
import { FetchEventStream } from '../network/types'
|
|
6
7
|
import { removeAuthorizationParam } from '../utils/remove-authorization-param'
|
|
8
|
+
import { StreamedArray } from '../utils/StreamedArray'
|
|
7
9
|
import { AgentToolsOpenAPIPreview } from './types'
|
|
8
10
|
|
|
9
11
|
class AgentToolsClient extends ReactQueryNetworkClient {
|
|
@@ -21,7 +23,7 @@ class AgentToolsClient extends ReactQueryNetworkClient {
|
|
|
21
23
|
})
|
|
22
24
|
}
|
|
23
25
|
|
|
24
|
-
tools = this.query(getPublicToolKitsV1BuiltinToolkitGet)
|
|
26
|
+
tools = this.query(removeAuthorizationParam(getPublicToolKitsV1BuiltinToolkitGet))
|
|
25
27
|
|
|
26
28
|
/**
|
|
27
29
|
* Get list of Toolkits
|
|
@@ -60,22 +62,19 @@ class AgentToolsClient extends ReactQueryNetworkClient {
|
|
|
60
62
|
*/
|
|
61
63
|
deleteToolFromToolkit = this.mutation(removeAuthorizationParam(deleteToolkitToolsV1ToolkitsToolkitIdToolsDelete))
|
|
62
64
|
/**
|
|
63
|
-
* Previews an uploaded open api file.
|
|
65
|
+
* Previews an uploaded open api file as a stream where each array item is an OpenAPI operation.
|
|
64
66
|
*/
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
return result
|
|
77
|
-
},
|
|
78
|
-
})
|
|
67
|
+
streamUploadedAPIs = ({ fileUploadIds, signal }: { fileUploadIds: string[], signal?: AbortSignal }) => {
|
|
68
|
+
const promises: Promise<FetchEventStream>[] = fileUploadIds.map((id) => {
|
|
69
|
+
const url = `/v1/toolkits/tools/preview/${encodeURIComponent(id)}`
|
|
70
|
+
return this.stream(url, { signal })
|
|
71
|
+
})
|
|
72
|
+
return new StreamedArray<AgentToolsOpenAPIPreview>({ eventsPromises: promises, signal })
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Lists the agents using the tools passed as parameter.
|
|
76
|
+
*/
|
|
77
|
+
agentsUsingTools = this.query(removeAuthorizationParam(listAgentsUsingToolsV1ToolkitsToolkitIdToolsAgentsPost))
|
|
79
78
|
}
|
|
80
79
|
|
|
81
80
|
export const agentToolsClient = new AgentToolsClient()
|
package/src/client/agent.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { HttpError } from '@oazapfts/runtime'
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
defaults, deleteV1AgentByAgentIdFavorite, getV1AgentByAgentId, getV1Agents, getV1PublicAgentByAgentId, getV1PublicAgents,
|
|
4
|
+
postV1AgentByAgentIdFavorite, putV1AgentByAgentId,
|
|
5
|
+
VisibilityLevel,
|
|
6
|
+
} from '../api/agent'
|
|
3
7
|
import apis from '../apis.json'
|
|
4
8
|
import { StackspotAPIError } from '../error/StackspotAPIError'
|
|
5
9
|
import { ReactQueryNetworkClient } from '../network/ReactQueryNetworkClient'
|
|
@@ -68,6 +72,7 @@ class AgentClient extends ReactQueryNetworkClient {
|
|
|
68
72
|
|
|
69
73
|
if (shouldIncludeBuiltInAgent) {
|
|
70
74
|
const builtInsAgents = publicAgents?.map((agent) => ({ ...agent, builtIn: true, visibility_level: 'BUILT-IN' }))
|
|
75
|
+
// @ts-ignore fixme: above, BUILT-IN is not a valid value for the enum VisibilityLevel.
|
|
71
76
|
allAgents.push(...builtInsAgents)
|
|
72
77
|
}
|
|
73
78
|
|
|
@@ -133,11 +138,6 @@ class AgentClient extends ReactQueryNetworkClient {
|
|
|
133
138
|
* Removes the resource of type Agent from the list of favorites.
|
|
134
139
|
*/
|
|
135
140
|
removeFavoriteAgent = this.mutation(deleteV1AgentByAgentIdFavorite)
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* Create a test agent if it does not exist
|
|
139
|
-
*/
|
|
140
|
-
createTrialAgents = this.mutation(postV1AgentsTrial)
|
|
141
141
|
/**
|
|
142
142
|
* Updates an agent
|
|
143
143
|
*/
|