@stack-spot/portal-network 1.0.0-stg.1768944863737 → 1.0.0-stg.1769540429713
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 +13 -0
- package/dist/api/accountAssetManager.d.ts +14 -10
- package/dist/api/accountAssetManager.d.ts.map +1 -1
- package/dist/api/accountAssetManager.js +5 -2
- package/dist/api/accountAssetManager.js.map +1 -1
- package/dist/client/account-asset-manager.d.ts +3 -0
- package/dist/client/account-asset-manager.d.ts.map +1 -1
- package/dist/client/ai.d.ts +27 -6
- package/dist/client/ai.d.ts.map +1 -1
- package/dist/client/ai.js +313 -3
- package/dist/client/ai.js.map +1 -1
- package/dist/client/types.d.ts +25 -2
- package/dist/client/types.d.ts.map +1 -1
- package/dist/utils/string.d.ts +6 -0
- package/dist/utils/string.d.ts.map +1 -1
- package/dist/utils/string.js +10 -0
- package/dist/utils/string.js.map +1 -1
- package/package.json +1 -1
- package/src/api/accountAssetManager.ts +18 -11
- package/src/client/ai.ts +365 -4
- package/src/client/types.ts +31 -2
- package/src/utils/string.ts +12 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.216.0](https://github.com/stack-spot/portal-commons/compare/portal-network@v0.215.1...portal-network@v0.216.0) (2026-01-21)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* add new ai methods ([#1999](https://github.com/stack-spot/portal-commons/issues/1999)) ([455c941](https://github.com/stack-spot/portal-commons/commit/455c941d7c5525434ffabe7f5f6de3c29b95f1a3))
|
|
9
|
+
* update agent tools swagger ([#2001](https://github.com/stack-spot/portal-commons/issues/2001)) ([c051cac](https://github.com/stack-spot/portal-commons/commit/c051cac32ea707a8b00293ecb0f145b798339c59))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* Update swagger asset manager ([#1992](https://github.com/stack-spot/portal-commons/issues/1992)) ([20cb652](https://github.com/stack-spot/portal-commons/commit/20cb6520380ab92a971d9a0410953ca05ed0c2a4))
|
|
15
|
+
|
|
3
16
|
## [0.215.1](https://github.com/stack-spot/portal-commons/compare/portal-network@v0.215.0...portal-network@v0.215.1) (2026-01-12)
|
|
4
17
|
|
|
5
18
|
|
|
@@ -63,8 +63,8 @@ export type FolderResponse = {
|
|
|
63
63
|
export type AccessGroupIdsRequest = {
|
|
64
64
|
/** Group id */
|
|
65
65
|
groupId: string;
|
|
66
|
-
/**
|
|
67
|
-
accessLevel:
|
|
66
|
+
/** Access Level. (e.g READ, WRITE) */
|
|
67
|
+
accessLevel: "READ" | "WRITE";
|
|
68
68
|
};
|
|
69
69
|
export type CreateFolderRequest = {
|
|
70
70
|
/** New folder's name */
|
|
@@ -147,6 +147,11 @@ export type UpdateAssetRequest = {
|
|
|
147
147
|
/** Asset's updatedBy user. Required only for Service Token. */
|
|
148
148
|
updatedBy?: string;
|
|
149
149
|
};
|
|
150
|
+
export type AccessGroupDetailsResponse = {
|
|
151
|
+
id: string;
|
|
152
|
+
name: string;
|
|
153
|
+
inherited: boolean;
|
|
154
|
+
};
|
|
150
155
|
export type FolderProjectResponse = {
|
|
151
156
|
/** Project's id */
|
|
152
157
|
id: string;
|
|
@@ -176,24 +181,20 @@ export type FoldersDetailsResponse = {
|
|
|
176
181
|
createdAt: string;
|
|
177
182
|
/** Parent folder's id */
|
|
178
183
|
parentId?: string;
|
|
184
|
+
/** Access Group Detail for each folder */
|
|
185
|
+
accessGroupDetails?: AccessGroupDetailsResponse[];
|
|
179
186
|
/** Projects linked to a folder */
|
|
180
187
|
projects?: FolderProjectResponse[];
|
|
181
188
|
/** Folder linked to a folder */
|
|
182
189
|
folders?: FoldersDetailsResponse[];
|
|
183
190
|
};
|
|
184
|
-
export type AccessGroupRequest = {
|
|
185
|
-
/** Group id */
|
|
186
|
-
groupId: string;
|
|
187
|
-
/** Access Level. (e.g READ, WRITE) */
|
|
188
|
-
accessLevel: "READ" | "WRITE";
|
|
189
|
-
};
|
|
190
191
|
export type UpdateFolderRequest = {
|
|
191
192
|
/** Folder name */
|
|
192
193
|
name: string;
|
|
193
194
|
/** Folder description */
|
|
194
195
|
description: string;
|
|
195
196
|
/** List of access groupId level */
|
|
196
|
-
accessGroupIds?:
|
|
197
|
+
accessGroupIds?: AccessGroupIdsRequest[];
|
|
197
198
|
};
|
|
198
199
|
export type UpdateAssetTypeRequest = {
|
|
199
200
|
/** Asset type's name */
|
|
@@ -219,8 +220,11 @@ export declare function saveAsset({ projectId, createAssetRequest }: {
|
|
|
219
220
|
/**
|
|
220
221
|
* List folders
|
|
221
222
|
*/
|
|
222
|
-
export declare function listFolders({ withPermission }: {
|
|
223
|
+
export declare function listFolders({ withPermission, name, sort, direction }: {
|
|
223
224
|
withPermission?: "READ" | "WRITE";
|
|
225
|
+
name?: string;
|
|
226
|
+
sort?: string;
|
|
227
|
+
direction?: "ASC" | "DESC";
|
|
224
228
|
}, opts?: Oazapfts.RequestOpts): Promise<FolderResponse[]>;
|
|
225
229
|
/**
|
|
226
230
|
* Create folder
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountAssetManager.d.ts","sourceRoot":"","sources":["../../src/api/accountAssetManager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAE9C,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAG9D,CAAC;AAEF,eAAO,MAAM,OAAO;;CAEnB,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;CACpB,CAAC;AACF,MAAM,MAAM,aAAa,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;CACd,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AACF,MAAM,MAAM,SAAS,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC1C,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IACzB,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB;IAClB,OAAO,EAAE,GAAG,EAAE,CAAC;CAClB,CAAC;AACF,MAAM,MAAM,qBAAqB,GAAG;IAChC,eAAe;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,
|
|
1
|
+
{"version":3,"file":"accountAssetManager.d.ts","sourceRoot":"","sources":["../../src/api/accountAssetManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,9 +37,12 @@ export function saveAsset({ projectId, createAssetRequest }, opts) {
|
|
|
37
37
|
/**
|
|
38
38
|
* List folders
|
|
39
39
|
*/
|
|
40
|
-
export function listFolders({ withPermission }, opts) {
|
|
40
|
+
export function listFolders({ withPermission, name, sort, direction }, opts) {
|
|
41
41
|
return oazapfts.ok(oazapfts.fetchJson(`/v1/account/folders${QS.query(QS.explode({
|
|
42
|
-
"with-permission": withPermission
|
|
42
|
+
"with-permission": withPermission,
|
|
43
|
+
name,
|
|
44
|
+
sort,
|
|
45
|
+
direction
|
|
43
46
|
}))}`, {
|
|
44
47
|
...opts
|
|
45
48
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountAssetManager.js","sourceRoot":"","sources":["../../src/api/accountAssetManager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC9C,MAAM,CAAC,MAAM,QAAQ,GAA8C;IAC/D,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,iDAAiD;CAC7D,CAAC;AACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM,OAAO,GAAG;IACnB,kBAAkB,EAAE,iDAAiD;CACxE,CAAC;
|
|
1
|
+
{"version":3,"file":"accountAssetManager.js","sourceRoot":"","sources":["../../src/api/accountAssetManager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC9C,MAAM,CAAC,MAAM,QAAQ,GAA8C;IAC/D,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,iDAAiD;CAC7D,CAAC;AACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM,OAAO,GAAG;IACnB,kBAAkB,EAAE,iDAAiD;CACxE,CAAC;AAoMF;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,EAAE,oBAAoB,EAEjD,EAAE,IAA2B;IAC1B,OAAO,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAuBlC,sBAAsB,EAAE,QAAQ,CAAC,IAAI,CAAC;QACrC,GAAG,IAAI;QACP,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,oBAAoB;KAC7B,CAAC,CAAC,CAAC,CAAC;AACT,CAAC;AACD;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAGxD,EAAE,IAA2B;IAC1B,OAAO,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAwBlC,wBAAwB,kBAAkB,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC;QAC7E,GAAG,IAAI;QACP,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,kBAAkB;KAC3B,CAAC,CAAC,CAAC,CAAC;AACT,CAAC;AACD;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAKlE,EAAE,IAA2B;IAC1B,OAAO,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAwBlC,sBAAsB,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC;QACzC,iBAAiB,EAAE,cAAc;QACjC,IAAI;QACJ,IAAI;QACJ,SAAS;KACZ,CAAC,CAAC,EAAE,EAAE;QACH,GAAG,IAAI;KACV,CAAC,CAAC,CAAC;AACR,CAAC;AACD;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,EAAE,mBAAmB,EAE/C,EAAE,IAA2B;IAC1B,OAAO,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CA2BlC,qBAAqB,EAAE,QAAQ,CAAC,IAAI,CAAC;QACpC,GAAG,IAAI;QACP,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,mBAAmB;KAC5B,CAAC,CAAC,CAAC,CAAC;AACT,CAAC;AACD;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,EAAE,IAAI,EAEpC,EAAE,IAA2B;IAC1B,OAAO,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAwBlC,2BAA2B,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC;QAC9C,IAAI;KACP,CAAC,CAAC,EAAE,EAAE;QACH,GAAG,IAAI;KACV,CAAC,CAAC,CAAC;AACR,CAAC;AACD;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,EAAE,sBAAsB,EAErD,EAAE,IAA2B;IAC1B,OAAO,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAwBlC,0BAA0B,EAAE,QAAQ,CAAC,IAAI,CAAC;QACzC,GAAG,IAAI;QACP,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,sBAAsB;KAC/B,CAAC,CAAC,CAAC,CAAC;AACT,CAAC;AACD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAE,SAAS,EAE5C,EAAE,IAA2B;IAC1B,OAAO,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAuBlC,wBAAwB,kBAAkB,CAAC,SAAS,CAAC,EAAE,EAAE;QACxD,GAAG,IAAI;KACV,CAAC,CAAC,CAAC;AACR,CAAC;AACD;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,EAAE,SAAS,EAExC,EAAE,IAA2B;IAC1B,OAAO,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAqBlC,wBAAwB,kBAAkB,CAAC,SAAS,CAAC,EAAE,EAAE;QACxD,GAAG,IAAI;QACP,MAAM,EAAE,QAAQ;KACnB,CAAC,CAAC,CAAC;AACR,CAAC;AACD;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAG9D,EAAE,IAA2B;IAC1B,OAAO,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAuBlC,wBAAwB,kBAAkB,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC;QACtE,GAAG,IAAI;QACP,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,oBAAoB;KAC7B,CAAC,CAAC,CAAC,CAAC;AACT,CAAC;AACD;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,EAAE,SAAS,EAAE,OAAO,EAG5D,EAAE,IAA2B;IAC1B,OAAO,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAsBlC,wBAAwB,kBAAkB,CAAC,SAAS,CAAC,WAAW,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE;QAC9F,GAAG,IAAI;QACP,MAAM,EAAE,QAAQ;KACnB,CAAC,CAAC,CAAC;AACR,CAAC;AACD;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,EAInE,EAAE,IAA2B;IAC1B,OAAO,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAwBlC,wBAAwB,kBAAkB,CAAC,SAAS,CAAC,WAAW,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC;QAC5G,GAAG,IAAI;QACP,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,kBAAkB;KAC3B,CAAC,CAAC,CAAC,CAAC;AACT,CAAC;AACD;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAE,QAAQ,EAE1C,EAAE,IAA2B;IAC1B,OAAO,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAuBlC,uBAAuB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE;QACtD,GAAG,IAAI;KACV,CAAC,CAAC,CAAC;AACR,CAAC;AACD;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,EAAE,QAAQ,EAEtC,EAAE,IAA2B;IAC1B,OAAO,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAqBlC,uBAAuB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE;QACtD,GAAG,IAAI;QACP,MAAM,EAAE,QAAQ;KACnB,CAAC,CAAC,CAAC;AACR,CAAC;AACD;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAG5D,EAAE,IAA2B;IAC1B,OAAO,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAuBlC,uBAAuB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC;QACpE,GAAG,IAAI;QACP,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,mBAAmB;KAC5B,CAAC,CAAC,CAAC,CAAC;AACT,CAAC;AACD;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,EAAE,WAAW,EAE5C,EAAE,IAA2B;IAC1B,OAAO,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAqBlC,4BAA4B,kBAAkB,CAAC,WAAW,CAAC,EAAE,EAAE;QAC9D,GAAG,IAAI;QACP,MAAM,EAAE,QAAQ;KACnB,CAAC,CAAC,CAAC;AACR,CAAC;AACD;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,EAAE,WAAW,EAAE,sBAAsB,EAGpE,EAAE,IAA2B;IAC1B,OAAO,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAuBlC,4BAA4B,kBAAkB,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC;QAC5E,GAAG,IAAI;QACP,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,sBAAsB;KAC/B,CAAC,CAAC,CAAC,CAAC;AACT,CAAC"}
|
|
@@ -41,6 +41,9 @@ declare class AccountAssetManagerClient extends ReactQueryNetworkClient {
|
|
|
41
41
|
*/
|
|
42
42
|
folders: import("../network/types.js").QueryObject<Omit<{
|
|
43
43
|
withPermission?: "READ" | "WRITE";
|
|
44
|
+
name?: string;
|
|
45
|
+
sort?: string;
|
|
46
|
+
direction?: "ASC" | "DESC";
|
|
44
47
|
}, "authorization" | "authorizationHeader" | "jwtToken"> & {}, import("../api/accountAssetManager.js").FolderResponse[]>;
|
|
45
48
|
/**
|
|
46
49
|
* Create new folder in account
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-asset-manager.d.ts","sourceRoot":"","sources":["../../src/client/account-asset-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAK7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAG5E,cAAM,yBAA0B,SAAQ,uBAAuB;;IAK7D,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,iBAAiB;IAIlE;;OAEG;IACH,WAAW;;uHAAuD;IAElE;;OAEG;IACH,iBAAiB;;gIAA0D;IAE3E;;OAEG;IACH,aAAa;;4EAAyD;IAEtE;;OAEG;IACH,aAAa;;;yHAAyD;IAEtE;;OAEG;IACH,wBAAwB;;;4EAAoE;IAE5F;;OAEG;IACH,OAAO
|
|
1
|
+
{"version":3,"file":"account-asset-manager.d.ts","sourceRoot":"","sources":["../../src/client/account-asset-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAK7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAA;AAG5E,cAAM,yBAA0B,SAAQ,uBAAuB;;IAK7D,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,iBAAiB;IAIlE;;OAEG;IACH,WAAW;;uHAAuD;IAElE;;OAEG;IACH,iBAAiB;;gIAA0D;IAE3E;;OAEG;IACH,aAAa;;4EAAyD;IAEtE;;OAEG;IACH,aAAa;;;yHAAyD;IAEtE;;OAEG;IACH,wBAAwB;;;4EAAoE;IAE5F;;OAEG;IACH,OAAO;;;;;0HAAoD;IAE3D;;OAEG;IACH,YAAY;;uHAAsD;IAElE;;OAEG;IACH,aAAa;;gIAAyD;IAEtE;;OAEG;IACH,YAAY;;4EAAwD;IAEpE;;OAEG;IACH,YAAY;;;uHAAyD;IAErE;;OAEG;IACH,WAAW;;uHAAyD;IAEpE;;OAEG;IACH,WAAW;;;;uHAAuD;IAElE;;OAEG;IACH,UAAU;;6HAAuD;IAEjE;;OAEG;IACH,aAAa;;uHAAyD;IAEtE;;OAEG;IACH,eAAe;;4EAA2D;IAE1E;;OAEG;IACH,eAAe;;;uHAA2D;CAC3E;AAED,eAAO,MAAM,yBAAyB,2BAAkC,CAAA"}
|
package/dist/client/ai.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { HttpError } from '@oazapfts/runtime';
|
|
2
|
-
import { QuickCommandPromptResponse2, QuickCommandsExecutionRequest } from '../api/ai.js';
|
|
2
|
+
import { QuickCommandPromptResponse2, QuickCommandScriptExecutionResponse, QuickCommandsExecutionRequest, QuickCommandStepFetchResponse } from '../api/ai.js';
|
|
3
3
|
import { StackspotAPIError } from '../error/StackspotAPIError.js';
|
|
4
4
|
import { ReactQueryNetworkClient } from '../network/ReactQueryNetworkClient.js';
|
|
5
5
|
import { StreamedJson } from '../utils/StreamedJson.js';
|
|
6
|
-
import { FixedConversationResponse, FixedDependencyResponse } from './types.js';
|
|
6
|
+
import { FixedConversationResponse, FixedDependencyResponse, QCContext, QCContextExecution, QCProgressProps } from './types.js';
|
|
7
7
|
declare class AIClient extends ReactQueryNetworkClient {
|
|
8
8
|
constructor();
|
|
9
9
|
protected buildStackSpotError(error: HttpError): StackspotAPIError;
|
|
@@ -187,7 +187,7 @@ declare class AIClient extends ReactQueryNetworkClient {
|
|
|
187
187
|
quickCommandsCreateRequest: import("../api/ai.js").QuickCommandsCreateRequest;
|
|
188
188
|
}, "authorization" | "authorizationHeader" | "jwtToken"> & {}, any>;
|
|
189
189
|
/**
|
|
190
|
-
*
|
|
190
|
+
* Deletes a QC
|
|
191
191
|
*/
|
|
192
192
|
deleteQuickCommand: import("../network/types.js").MutationObject<Omit<{
|
|
193
193
|
slug: string;
|
|
@@ -346,7 +346,7 @@ declare class AIClient extends ReactQueryNetworkClient {
|
|
|
346
346
|
xMemberId?: string | null;
|
|
347
347
|
xUsername?: string | null;
|
|
348
348
|
quickCommandsExecutionRequest: QuickCommandsExecutionRequest;
|
|
349
|
-
}, "authorization" | "authorizationHeader" | "jwtToken"> & {},
|
|
349
|
+
}, "authorization" | "authorizationHeader" | "jwtToken"> & {}, QuickCommandStepFetchResponse>;
|
|
350
350
|
/**
|
|
351
351
|
* Remotely runs a step of type "fetch" of a quick command remotely (used when secrets are present).
|
|
352
352
|
*/
|
|
@@ -360,7 +360,7 @@ declare class AIClient extends ReactQueryNetworkClient {
|
|
|
360
360
|
quickCommandsExecutionRequest: QuickCommandsExecutionRequest;
|
|
361
361
|
}, "authorization"> & {
|
|
362
362
|
headers?: Record<string, any>;
|
|
363
|
-
},
|
|
363
|
+
}, QuickCommandStepFetchResponse>;
|
|
364
364
|
/**
|
|
365
365
|
* @deprecated This method does not use stream, only json. The json support has been removed
|
|
366
366
|
* So this method might not work as expected.
|
|
@@ -501,7 +501,7 @@ declare class AIClient extends ReactQueryNetworkClient {
|
|
|
501
501
|
xAccountId?: string | null;
|
|
502
502
|
xMemberId?: string | null;
|
|
503
503
|
xUsername?: string | null;
|
|
504
|
-
}, "authorization" | "authorizationHeader" | "jwtToken"> & {},
|
|
504
|
+
}, "authorization" | "authorizationHeader" | "jwtToken"> & {}, QuickCommandScriptExecutionResponse>;
|
|
505
505
|
/**
|
|
506
506
|
* Get reviews by resource
|
|
507
507
|
*/
|
|
@@ -594,6 +594,27 @@ declare class AIClient extends ReactQueryNetworkClient {
|
|
|
594
594
|
xMemberId?: string | null;
|
|
595
595
|
xUsername?: string | null;
|
|
596
596
|
}, "authorization" | "authorizationHeader" | "jwtToken"> & {}, any>;
|
|
597
|
+
/**
|
|
598
|
+
* Runs an Router step of a quick command.
|
|
599
|
+
*/
|
|
600
|
+
runRouterStep(ctx: QCContextExecution, stepIndex: number, iteration: Record<string, number>, progress?: QCProgressProps): Promise<void>;
|
|
601
|
+
getScriptStepStatus(scriptExecutionId: string, interval?: number, maxAttempts?: number, currentAttempt?: number): Promise<QuickCommandScriptExecutionResponse>;
|
|
602
|
+
/**
|
|
603
|
+
* Runs a fetch step of a quick command and puts the result in the `resultMap` of the context passed as parameter.
|
|
604
|
+
*/
|
|
605
|
+
runFetchStep(ctx: QCContextExecution, stepIndex: number, progress?: QCProgressProps): Promise<void>;
|
|
606
|
+
/**
|
|
607
|
+
* Runs an LLM step of a quick command and puts the result in the `resultMap` of the context passed as parameter.
|
|
608
|
+
*/
|
|
609
|
+
runLLMStep({ qc: { slug, steps }, code, customInputs, context, executionId, resultMap, signal }: QCContextExecution, stepIndex: number, progress?: QCProgressProps): Promise<unknown>;
|
|
610
|
+
runScriptStep({ qc: { slug, steps }, code, context, resultMap, customInputs, signal }: QCContextExecution, stepIndex: number, progress?: QCProgressProps): Promise<void>;
|
|
611
|
+
runStepsRecursively(currentIndex: number, ctx: QCContextExecution, iteration: Record<string, number>, progress?: QCProgressProps): Promise<void>;
|
|
612
|
+
formatResult({ qc, code, executionId, context, resultMap, customInputs, signal }: QCContextExecution): Promise<string>;
|
|
613
|
+
/**
|
|
614
|
+
* This registers a quick command event in the backend (analytics).
|
|
615
|
+
*/
|
|
616
|
+
private registerQCAnalyticsEvent;
|
|
617
|
+
runQuickCommand(ctx: QCContext, progress?: QCProgressProps): Promise<string>;
|
|
597
618
|
contentDependencies: import("../network/types.js").QueryObject<Omit<{
|
|
598
619
|
contentType: import("../api/ai.js").ContentDependencyType;
|
|
599
620
|
contentId: string;
|
package/dist/client/ai.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/client/ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAG7C,OAAO,
|
|
1
|
+
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/client/ai.ts"],"names":[],"mappings":"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"}
|
package/dist/client/ai.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { isArray } from 'lodash';
|
|
1
|
+
import { isArray, isNil } from 'lodash';
|
|
2
2
|
import { getApiAddresses } from '../api-addresses.js';
|
|
3
|
-
import { addFavoriteV1AiStacksStackIdFavoritePost, addFavoriteV1QuickCommandsSlugFavoritePost, calculateNextStepV1QuickCommandsSlugStepsStepSlugCalculateNextStepPost, callbackV1QuickCommandsCallbackExecutionIdGet, checkQuickCommandExistsV1QuickCommandsSlugExistsGet, conversationHistoryV1ConversationsConversationIdGet, createAnswerForReviewV1ResourcesResourceTypeSlugResourceSlugReviewsReviewIdAnswersPost, createExecutionV1QuickCommandsCreateExecutionSlugPost, createQuickCommandV1QuickCommandsPost, createResourceReviewV1ResourcesResourceTypeSlugResourceSlugReviewsPost, currentV1TokensUsageCurrentGet, defaults, deleteConversationV1ConversationsConversationIdDelete, deleteFavoriteV1AiStacksStackIdFavoriteDelete, deleteFavoriteV1QuickCommandsSlugFavoriteDelete, deleteKnowledgeObjectByCustomIdV1KnowledgeSourcesSlugObjectsCustomIdDelete, deleteKnowledgeSourceV1KnowledgeSourcesSlugDelete, deleteQuickCommandV1QuickCommandsSlugDelete, deleteResourceReviewV1ResourcesResourceTypeSlugResourceSlugReviewsReviewIdDelete, deleteReviewCommentV1ResourcesResourceTypeSlugResourceSlugReviewsReviewIdAnswersAnswerIdDelete, downloadConversationV1ConversationsConversationIdDownloadGet, findKnowledgeObjectByCustomIdV1KnowledgeSourcesSlugObjectsCustomIdGet, findKnowledgeSourceDependenciesV1KnowledgeSourcesSlugDependenciesGet, findKnowledgeSourceV1KnowledgeSourcesSlugGet, forkV1QuickCommandsSlugForkPost, formatFetchStepV1QuickCommandsSlugStepsStepSlugFetchFormatPost, formatResultV1QuickCommandsSlugResultFormatPost, getContentDependenciesV1ContentContentTypeContentIdDependenciesGet, getFlagsV1FlagsGet, getQuickCommandV1QuickCommandsSlugGet, getReviewsByResourceV1ResourcesResourceTypeSlugResourceSlugReviewsGet, getScriptExecutionStatusV1QuickCommandsScriptExecutionsScriptExecutionIdGet, getUploadFormV1FileUploadFormPost, listAiStacksV1AiStacksGet, listAllV1QuickCommandsAllGet, listAllV2QuickCommandsAllGet, listAllV3QuickCommandsGet, listAssociationV1WorkspaceWorkspaceIdGet, listConversationsV1ConversationsGet, listKnowledgeSourcesV1KnowledgeSourcesGet, postEventV1EventsPost, publishV1QuickCommandsSlugPublishPost, quickActionsV1QuickActionsPost, quickCommandsRunV2V2QuickCommandsSlugStepsStepSlugRunPost, resetKnowledgeObjectsV1KnowledgeSourcesSlugObjectsDelete, runFetchStepV1QuickCommandsSlugStepsStepSlugFetchRunPost, searchKnowledgeSourcesV1KnowledgeSourcesSearchPost, startScriptStepV1QuickCommandsSlugStepsStepSlugStartScriptPost, tokensByUserV1AnalyticsTokensByUserGet, tokensDailyUsageV1AnalyticsTokensDailyUsageGet, totalV1TokensUsageTotalGet, updateQuickCommandV1QuickCommandsSlugPatch, updateResourceReviewV1ResourcesResourceTypeSlugResourceSlugReviewsReviewIdPatch, updateReviewCommentV1ResourcesResourceTypeSlugResourceSlugReviewsReviewIdAnswersAnswerIdPatch, updateTitleV1ConversationsConversationIdPatch, vectorizeCustomKnowledgeSourceV1KnowledgeSourcesSlugCustomPost } from '../api/ai.js';
|
|
3
|
+
import { addFavoriteV1AiStacksStackIdFavoritePost, addFavoriteV1QuickCommandsSlugFavoritePost, calculateNextStepV1QuickCommandsSlugStepsStepSlugCalculateNextStepPost, callbackV1QuickCommandsCallbackExecutionIdGet, checkQuickCommandExistsV1QuickCommandsSlugExistsGet, conversationHistoryV1ConversationsConversationIdGet, createAnswerForReviewV1ResourcesResourceTypeSlugResourceSlugReviewsReviewIdAnswersPost, createExecutionV1QuickCommandsCreateExecutionSlugPost, createQuickCommandV1QuickCommandsPost, createResourceReviewV1ResourcesResourceTypeSlugResourceSlugReviewsPost, currentV1TokensUsageCurrentGet, defaults, deleteConversationV1ConversationsConversationIdDelete, deleteFavoriteV1AiStacksStackIdFavoriteDelete, deleteFavoriteV1QuickCommandsSlugFavoriteDelete, deleteKnowledgeObjectByCustomIdV1KnowledgeSourcesSlugObjectsCustomIdDelete, deleteKnowledgeSourceV1KnowledgeSourcesSlugDelete, deleteQuickCommandV1QuickCommandsSlugDelete, deleteResourceReviewV1ResourcesResourceTypeSlugResourceSlugReviewsReviewIdDelete, deleteReviewCommentV1ResourcesResourceTypeSlugResourceSlugReviewsReviewIdAnswersAnswerIdDelete, downloadConversationV1ConversationsConversationIdDownloadGet, findKnowledgeObjectByCustomIdV1KnowledgeSourcesSlugObjectsCustomIdGet, findKnowledgeSourceDependenciesV1KnowledgeSourcesSlugDependenciesGet, findKnowledgeSourceV1KnowledgeSourcesSlugGet, forkV1QuickCommandsSlugForkPost, formatFetchStepV1QuickCommandsSlugStepsStepSlugFetchFormatPost, formatResultV1QuickCommandsSlugResultFormatPost, getContentDependenciesV1ContentContentTypeContentIdDependenciesGet, getFlagsV1FlagsGet, getQuickCommandV1QuickCommandsSlugGet, getReviewsByResourceV1ResourcesResourceTypeSlugResourceSlugReviewsGet, getScriptExecutionStatusV1QuickCommandsScriptExecutionsScriptExecutionIdGet, getUploadFormV1FileUploadFormPost, listAiStacksV1AiStacksGet, listAllV1QuickCommandsAllGet, listAllV2QuickCommandsAllGet, listAllV3QuickCommandsGet, listAssociationV1WorkspaceWorkspaceIdGet, listConversationsV1ConversationsGet, listKnowledgeSourcesV1KnowledgeSourcesGet, postEventV1EventsPost, publishV1QuickCommandsSlugPublishPost, quickActionsV1QuickActionsPost, quickCommandsRunV2V2QuickCommandsSlugStepsStepSlugRunPost, resetKnowledgeObjectsV1KnowledgeSourcesSlugObjectsDelete, runFetchStepV1QuickCommandsSlugStepsStepSlugFetchRunPost, searchKnowledgeSourcesV1KnowledgeSourcesSearchPost, startScriptStepV1QuickCommandsSlugStepsStepSlugStartScriptPost, tokensByUserV1AnalyticsTokensByUserGet, tokensDailyUsageV1AnalyticsTokensDailyUsageGet, totalV1TokensUsageTotalGet, updateQuickCommandV1QuickCommandsSlugPatch, updateResourceReviewV1ResourcesResourceTypeSlugResourceSlugReviewsReviewIdPatch, updateReviewCommentV1ResourcesResourceTypeSlugResourceSlugReviewsReviewIdAnswersAnswerIdPatch, updateTitleV1ConversationsConversationIdPatch, vectorizeCustomKnowledgeSourceV1KnowledgeSourcesSlugCustomPost, } from '../api/ai.js';
|
|
4
4
|
import { StackspotAPIError } from '../error/StackspotAPIError.js';
|
|
5
5
|
import { ReactQueryNetworkClient } from '../network/ReactQueryNetworkClient.js';
|
|
6
6
|
import { removeAuthorizationParam } from '../utils/remove-authorization-param.js';
|
|
7
7
|
import { StreamedJson } from '../utils/StreamedJson.js';
|
|
8
|
+
import { getSizeOfString } from '../utils/string.js';
|
|
8
9
|
const listQAV3WithoutAuthorization = removeAuthorizationParam(listAllV3QuickCommandsGet);
|
|
9
10
|
class AIClient extends ReactQueryNetworkClient {
|
|
10
11
|
constructor() {
|
|
@@ -164,7 +165,7 @@ class AIClient extends ReactQueryNetworkClient {
|
|
|
164
165
|
value: this.mutation(removeAuthorizationParam(createQuickCommandV1QuickCommandsPost))
|
|
165
166
|
});
|
|
166
167
|
/**
|
|
167
|
-
*
|
|
168
|
+
* Deletes a QC
|
|
168
169
|
*/
|
|
169
170
|
Object.defineProperty(this, "deleteQuickCommand", {
|
|
170
171
|
enumerable: true,
|
|
@@ -538,6 +539,315 @@ class AIClient extends ReactQueryNetworkClient {
|
|
|
538
539
|
minChangeIntervalMS,
|
|
539
540
|
});
|
|
540
541
|
}
|
|
542
|
+
/**
|
|
543
|
+
* Runs an Router step of a quick command.
|
|
544
|
+
*/
|
|
545
|
+
async runRouterStep(ctx, stepIndex, iteration, progress) {
|
|
546
|
+
const { qc: { slug, steps }, code, resultMap, customInputs } = ctx;
|
|
547
|
+
const step = steps[stepIndex];
|
|
548
|
+
const inputData = Object.keys(customInputs).length > 0 && code ? { ...customInputs, [code]: code } : code ?? customInputs;
|
|
549
|
+
try {
|
|
550
|
+
progress?.onStepChange?.({ step: step.slug, ...resultMap, ...{ statusResult: 'START' } });
|
|
551
|
+
if (step.slug in iteration) {
|
|
552
|
+
iteration[step.slug] = iteration[step.slug] + 1;
|
|
553
|
+
}
|
|
554
|
+
else {
|
|
555
|
+
iteration[step.slug] = 1;
|
|
556
|
+
}
|
|
557
|
+
const { next_step_slug } = await aiClient.calculateNextStep.mutate({
|
|
558
|
+
stepSlug: step.slug,
|
|
559
|
+
slug: slug,
|
|
560
|
+
quickCommandEvaluateStepRouterRequest: {
|
|
561
|
+
executions_count: iteration[step.slug],
|
|
562
|
+
input_data: inputData,
|
|
563
|
+
slugs_executions: resultMap,
|
|
564
|
+
},
|
|
565
|
+
});
|
|
566
|
+
progress?.onStepChange?.({ step: step.slug, ...resultMap, ...{ statusResult: 'END' } });
|
|
567
|
+
if (next_step_slug === step.slug) {
|
|
568
|
+
return aiClient.runStepsRecursively(stepIndex, ctx, iteration, progress);
|
|
569
|
+
}
|
|
570
|
+
const nextStepIndex = steps?.findIndex((step) => step.slug === next_step_slug);
|
|
571
|
+
if (isNil(nextStepIndex) || nextStepIndex === -1)
|
|
572
|
+
return;
|
|
573
|
+
return aiClient.runStepsRecursively(nextStepIndex, ctx, iteration, progress);
|
|
574
|
+
}
|
|
575
|
+
catch (error) {
|
|
576
|
+
progress?.onStepChange?.({
|
|
577
|
+
step: step.slug, error: error, answer: JSON.stringify(error.message), statusResult: 'ERROR', ...resultMap,
|
|
578
|
+
});
|
|
579
|
+
// eslint-disable-next-line no-console
|
|
580
|
+
console.error('Error executing QC step', error);
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
async getScriptStepStatus(scriptExecutionId, interval = 5000, maxAttempts = 500, currentAttempt = 0) {
|
|
584
|
+
if (currentAttempt >= maxAttempts) {
|
|
585
|
+
throw new Error('Max attempts reached in verify script status');
|
|
586
|
+
}
|
|
587
|
+
await aiClient.getStatusScriptStep.invalidate({ scriptExecutionId });
|
|
588
|
+
const response = await aiClient.getStatusScriptStep.query({ scriptExecutionId });
|
|
589
|
+
if (response.status === 'success') {
|
|
590
|
+
return response;
|
|
591
|
+
}
|
|
592
|
+
if (response.status === 'failure') {
|
|
593
|
+
throw response;
|
|
594
|
+
}
|
|
595
|
+
await new Promise(resolve => { setTimeout(resolve, interval); });
|
|
596
|
+
return aiClient.getScriptStepStatus(scriptExecutionId, interval, maxAttempts, currentAttempt + 1);
|
|
597
|
+
}
|
|
598
|
+
/**
|
|
599
|
+
* Runs a fetch step of a quick command and puts the result in the `resultMap` of the context passed as parameter.
|
|
600
|
+
*/
|
|
601
|
+
async runFetchStep(ctx, stepIndex, progress) {
|
|
602
|
+
const { qc: { slug, steps }, code, context, resultMap, customInputs, executionId, signal } = ctx;
|
|
603
|
+
const step = steps[stepIndex];
|
|
604
|
+
progress?.onStepChange?.({ step: step.slug, ...resultMap, answer: undefined, statusResult: 'START' });
|
|
605
|
+
//If is_remote we call backend to execute for us and we only have the response
|
|
606
|
+
if (step.is_remote) {
|
|
607
|
+
ctx.isRemote = true;
|
|
608
|
+
try {
|
|
609
|
+
const { data } = await aiClient.fetchStepOfQuickCommandRemotely.mutate({
|
|
610
|
+
slug, stepSlug: step.slug,
|
|
611
|
+
quickCommandsExecutionRequest: {
|
|
612
|
+
code_selection: code, context, qc_execution_id: executionId,
|
|
613
|
+
slugs_executions: { ...resultMap, ...customInputs },
|
|
614
|
+
},
|
|
615
|
+
}, signal);
|
|
616
|
+
//data is the return of the request in the QC so we do not have full control over the response
|
|
617
|
+
//We handle the usual format with body, status_code and headers, but we might also handle other formats
|
|
618
|
+
const responseData = data;
|
|
619
|
+
progress?.onStepChange?.({
|
|
620
|
+
step: step.slug, ...resultMap, answer: JSON.stringify(responseData.body) ?? JSON.stringify(responseData), statusResult: 'END'
|
|
621
|
+
});
|
|
622
|
+
resultMap[step.slug] = {
|
|
623
|
+
status: responseData.status_code || 200,
|
|
624
|
+
data: JSON.stringify(responseData.body) ?? JSON.stringify(responseData),
|
|
625
|
+
headers: responseData.headers ?? {},
|
|
626
|
+
};
|
|
627
|
+
return;
|
|
628
|
+
}
|
|
629
|
+
catch (error) {
|
|
630
|
+
const errorMessage = `${error}, Failed to execute step "${step.slug}" of quick command "${slug}".`;
|
|
631
|
+
progress?.onStepChange?.({ step: step.slug, ...resultMap, answer: errorMessage, error: errorMessage, statusResult: 'ERROR' });
|
|
632
|
+
throw new Error(errorMessage);
|
|
633
|
+
}
|
|
634
|
+
}
|
|
635
|
+
const { headers, data, method, url } = await aiClient.fetchStepOfQuickCommand.mutate({
|
|
636
|
+
slug,
|
|
637
|
+
stepSlug: step.slug,
|
|
638
|
+
quickCommandsExecutionRequest: {
|
|
639
|
+
input_data: code, context, qc_execution_id: executionId,
|
|
640
|
+
slugs_executions: { ...resultMap, ...customInputs },
|
|
641
|
+
},
|
|
642
|
+
}, signal);
|
|
643
|
+
const body = ['get', 'head'].includes(method.toLowerCase()) ? undefined : data;
|
|
644
|
+
try {
|
|
645
|
+
//Local execution
|
|
646
|
+
const response = await fetch(url, { headers: headers || undefined, body, method, signal });
|
|
647
|
+
const responseData = await response.text();
|
|
648
|
+
if (!response.ok)
|
|
649
|
+
throw new Error(`Failed to execute step "${step.slug}" of quick command "${slug}". Status ${response.status}.`);
|
|
650
|
+
progress?.onStepChange?.({ step: step.slug, ...resultMap, answer: responseData, statusResult: 'END' });
|
|
651
|
+
resultMap[step.slug] = {
|
|
652
|
+
status: response.status,
|
|
653
|
+
data: responseData,
|
|
654
|
+
headers: Object.fromEntries(response.headers.entries()),
|
|
655
|
+
};
|
|
656
|
+
}
|
|
657
|
+
catch (error) {
|
|
658
|
+
const errorMessage = `${error}, Failed to execute step "${step.slug}" of quick command "${slug}".`;
|
|
659
|
+
progress?.onStepChange?.({ step: step.slug, ...resultMap, answer: errorMessage, error: errorMessage, statusResult: 'ERROR' });
|
|
660
|
+
throw new Error(errorMessage);
|
|
661
|
+
}
|
|
662
|
+
}
|
|
663
|
+
/**
|
|
664
|
+
* Runs an LLM step of a quick command and puts the result in the `resultMap` of the context passed as parameter.
|
|
665
|
+
*/
|
|
666
|
+
async runLLMStep({ qc: { slug, steps }, code, customInputs, context, executionId, resultMap, signal }, stepIndex, progress) {
|
|
667
|
+
const step = steps[stepIndex];
|
|
668
|
+
let stepContext = context;
|
|
669
|
+
if (!step.use_uploaded_files) {
|
|
670
|
+
const { upload_ids: _upload_ids, ...contextDataProps } = context;
|
|
671
|
+
stepContext = { ...contextDataProps };
|
|
672
|
+
}
|
|
673
|
+
// eslint-disable-next-line no-async-promise-executor
|
|
674
|
+
return new Promise(async (resolve) => {
|
|
675
|
+
progress?.onStepChange?.({ step: step.slug, ...resultMap, answer: undefined, statusResult: 'START' });
|
|
676
|
+
const stream = aiClient.streamLlmStepOfQuickCommand(slug, step.slug, {
|
|
677
|
+
input_data: code,
|
|
678
|
+
context: stepContext,
|
|
679
|
+
qc_execution_id: executionId,
|
|
680
|
+
slugs_executions: { ...resultMap, ...customInputs },
|
|
681
|
+
});
|
|
682
|
+
signal.addEventListener('abort', () => stream.cancel());
|
|
683
|
+
stream.onChange(item => {
|
|
684
|
+
if (item?.sources?.length) {
|
|
685
|
+
progress?.onStepChange?.({ step: step.slug, ...resultMap, sources: JSON.stringify(item.sources) });
|
|
686
|
+
}
|
|
687
|
+
else {
|
|
688
|
+
item.answer !== undefined && progress?.onStepChange?.({ step: step.slug, ...resultMap, answer: item.answer });
|
|
689
|
+
}
|
|
690
|
+
});
|
|
691
|
+
try {
|
|
692
|
+
const finalValue = await stream.getValue();
|
|
693
|
+
resultMap[step.slug] = finalValue;
|
|
694
|
+
progress?.onStepChange?.({ step: step.slug, ...resultMap, answer: finalValue.answer,
|
|
695
|
+
sources: finalValue.sources ? JSON.stringify(finalValue.sources) : '', statusResult: 'END' });
|
|
696
|
+
resolve(finalValue);
|
|
697
|
+
}
|
|
698
|
+
catch (error) {
|
|
699
|
+
// eslint-disable-next-line no-console
|
|
700
|
+
console.error('Error executing QC step', error);
|
|
701
|
+
const errorStep = `Failed to execute step "${step.slug}" of quick command "${slug}". Reason: ${error.message}`;
|
|
702
|
+
progress?.onStepChange?.({ step: step.slug, ...resultMap, answer: errorStep, error: errorStep, statusResult: 'ERROR' });
|
|
703
|
+
throw error;
|
|
704
|
+
}
|
|
705
|
+
});
|
|
706
|
+
}
|
|
707
|
+
async runScriptStep({ qc: { slug, steps }, code, context, resultMap, customInputs, signal }, stepIndex, progress) {
|
|
708
|
+
const step = steps[stepIndex];
|
|
709
|
+
let stepContext = context;
|
|
710
|
+
progress?.onStepChange?.({ step: step.slug, ...resultMap, ...{ statusResult: 'START' } });
|
|
711
|
+
if (!step.use_uploaded_files) {
|
|
712
|
+
const { upload_ids: _upload_ids, ...contextDataProps } = context;
|
|
713
|
+
stepContext = { ...contextDataProps };
|
|
714
|
+
}
|
|
715
|
+
try {
|
|
716
|
+
const { script_execution_id } = await aiClient.startScriptStep.mutate({
|
|
717
|
+
stepSlug: step.slug,
|
|
718
|
+
slug: slug,
|
|
719
|
+
quickCommandStartScriptRequest: {
|
|
720
|
+
input_data: code,
|
|
721
|
+
custom_inputs: customInputs,
|
|
722
|
+
context: stepContext,
|
|
723
|
+
slugs_executions: resultMap,
|
|
724
|
+
},
|
|
725
|
+
}, signal);
|
|
726
|
+
const scriptResult = await aiClient.getScriptStepStatus(script_execution_id);
|
|
727
|
+
progress?.onStepChange?.({ step: step.slug, ...scriptResult, ...{ statusResult: 'END' } });
|
|
728
|
+
resultMap[step.slug] = scriptResult;
|
|
729
|
+
}
|
|
730
|
+
catch (error) {
|
|
731
|
+
progress?.onStepChange?.({ step: step.slug, ...error, statusResult: 'ERROR', ...resultMap });
|
|
732
|
+
let message = error.result?.error ?? error.message ?? `${error}`;
|
|
733
|
+
if (error instanceof StackspotAPIError)
|
|
734
|
+
message = error.translate();
|
|
735
|
+
throw new Error(`Failed to execute step "${step.slug}" of quick command "${slug}". Error ${message}.`);
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
async runStepsRecursively(currentIndex, ctx, iteration, progress) {
|
|
739
|
+
const { qc, resultMap } = ctx;
|
|
740
|
+
if (!qc.steps || currentIndex >= qc.steps?.length)
|
|
741
|
+
return;
|
|
742
|
+
progress?.update?.(currentIndex);
|
|
743
|
+
const currentStep = qc.steps[currentIndex];
|
|
744
|
+
if (currentStep.type === 'ROUTER') {
|
|
745
|
+
await aiClient.runRouterStep(ctx, currentIndex, iteration, progress);
|
|
746
|
+
return;
|
|
747
|
+
}
|
|
748
|
+
const parsedStep = currentStep;
|
|
749
|
+
let nextIndex = currentIndex + 1;
|
|
750
|
+
let nextStepSlug = parsedStep.next_step_slug;
|
|
751
|
+
if (currentStep.type === 'SCRIPT') {
|
|
752
|
+
await aiClient.runScriptStep(ctx, currentIndex, progress);
|
|
753
|
+
}
|
|
754
|
+
else if (currentStep.type === 'FETCH') {
|
|
755
|
+
await aiClient.runFetchStep(ctx, currentIndex, progress);
|
|
756
|
+
}
|
|
757
|
+
else {
|
|
758
|
+
try {
|
|
759
|
+
await aiClient.runLLMStep(ctx, currentIndex, progress);
|
|
760
|
+
}
|
|
761
|
+
catch (error) {
|
|
762
|
+
progress?.onStepChange?.({ step: currentStep.slug,
|
|
763
|
+
error: error, answer: JSON.stringify(error), statusResult: 'ERROR', ...resultMap });
|
|
764
|
+
}
|
|
765
|
+
const stepResult = resultMap[currentStep.slug];
|
|
766
|
+
//When we have an error but there is an error path defined
|
|
767
|
+
if (typeof stepResult !== 'string' && stepResult.answer_status?.next_step_slug) {
|
|
768
|
+
nextStepSlug = stepResult?.answer_status?.next_step_slug;
|
|
769
|
+
}
|
|
770
|
+
else if (!stepResult?.answer_status?.success) { //When we have an error but no error path defined we should fail the execution
|
|
771
|
+
progress?.onStepChange?.({
|
|
772
|
+
step: currentStep.slug, error: stepResult?.answer_status,
|
|
773
|
+
answer: JSON.stringify(stepResult?.answer_status?.failure_message), statusResult: 'ERROR', ...resultMap
|
|
774
|
+
});
|
|
775
|
+
throw new Error();
|
|
776
|
+
}
|
|
777
|
+
}
|
|
778
|
+
const stepResult = ctx.resultMap[currentStep.slug];
|
|
779
|
+
if (stepResult && typeof stepResult !== 'string' && 'answer_status' in stepResult && !!stepResult.answer_status?.next_step_slug) {
|
|
780
|
+
nextStepSlug = stepResult.answer_status.next_step_slug;
|
|
781
|
+
}
|
|
782
|
+
if (nextStepSlug) {
|
|
783
|
+
nextIndex = nextStepSlug === 'end' ?
|
|
784
|
+
qc.steps.length : qc.steps?.findIndex((step) => step.slug === nextStepSlug);
|
|
785
|
+
}
|
|
786
|
+
await aiClient.runStepsRecursively(nextIndex, ctx, iteration, progress);
|
|
787
|
+
}
|
|
788
|
+
async formatResult({ qc, code, executionId, context, resultMap, customInputs, signal }) {
|
|
789
|
+
const formatted = await aiClient.formatResultOfQuickCommand.mutate({
|
|
790
|
+
slug: qc.slug,
|
|
791
|
+
quickCommandsExecutionRequest: {
|
|
792
|
+
input_data: code,
|
|
793
|
+
context,
|
|
794
|
+
qc_execution_id: executionId,
|
|
795
|
+
slugs_executions: { ...resultMap, ...customInputs },
|
|
796
|
+
},
|
|
797
|
+
}, signal);
|
|
798
|
+
return formatted.result;
|
|
799
|
+
}
|
|
800
|
+
/**
|
|
801
|
+
* This registers a quick command event in the backend (analytics).
|
|
802
|
+
*/
|
|
803
|
+
async registerQCAnalyticsEvent({ qc, isRemote, executionId, code = '', context }, status, start) {
|
|
804
|
+
const now = new Date().getTime();
|
|
805
|
+
try {
|
|
806
|
+
await aiClient.createEvent.mutate({
|
|
807
|
+
body: [{
|
|
808
|
+
type: 'custom_quick_command_execution',
|
|
809
|
+
quick_command_event: {
|
|
810
|
+
type: qc.type || '',
|
|
811
|
+
duration_execution: now - start,
|
|
812
|
+
status_execution: status,
|
|
813
|
+
slug: qc.slug,
|
|
814
|
+
qc_execution_id: executionId,
|
|
815
|
+
id: qc.id,
|
|
816
|
+
is_remote: isRemote,
|
|
817
|
+
},
|
|
818
|
+
code,
|
|
819
|
+
context,
|
|
820
|
+
knowledge_sources: [],
|
|
821
|
+
size: getSizeOfString(code),
|
|
822
|
+
generated_at: now,
|
|
823
|
+
}],
|
|
824
|
+
});
|
|
825
|
+
}
|
|
826
|
+
catch (error) {
|
|
827
|
+
// eslint-disable-next-line no-console
|
|
828
|
+
console.warn('Failed to register event: quick command.');
|
|
829
|
+
}
|
|
830
|
+
}
|
|
831
|
+
async runQuickCommand(ctx, progress) {
|
|
832
|
+
const start = new Date().getTime();
|
|
833
|
+
const { slug } = ctx;
|
|
834
|
+
const qc = await aiClient.quickCommand.query({ slug });
|
|
835
|
+
const ctxExecution = { ...ctx, qc };
|
|
836
|
+
try {
|
|
837
|
+
await aiClient.runStepsRecursively(0, ctxExecution, {}, progress);
|
|
838
|
+
progress?.remove?.();
|
|
839
|
+
const result = await aiClient.formatResult(ctxExecution);
|
|
840
|
+
await aiClient.registerQCAnalyticsEvent(ctxExecution, '200', start);
|
|
841
|
+
return result;
|
|
842
|
+
}
|
|
843
|
+
catch (error) {
|
|
844
|
+
let message = error.message || `${error}`;
|
|
845
|
+
if (error instanceof StackspotAPIError)
|
|
846
|
+
message = error.translate();
|
|
847
|
+
await aiClient.registerQCAnalyticsEvent(ctxExecution, message, start);
|
|
848
|
+
throw error;
|
|
849
|
+
}
|
|
850
|
+
}
|
|
541
851
|
}
|
|
542
852
|
export const aiClient = new AIClient();
|
|
543
853
|
//# sourceMappingURL=ai.js.map
|