@vertesia/client 0.78.0-dev-28b447d → 0.79.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/lib/cjs/AccountApi.js +85 -0
- package/lib/cjs/AccountApi.js.map +1 -0
- package/lib/cjs/AccountsApi.js +16 -0
- package/lib/cjs/AccountsApi.js.map +1 -0
- package/lib/cjs/AnalyticsApi.js +13 -0
- package/lib/cjs/AnalyticsApi.js.map +1 -0
- package/lib/cjs/ApiKeysApi.js +63 -0
- package/lib/cjs/ApiKeysApi.js.map +1 -0
- package/lib/cjs/AppsApi.js +119 -0
- package/lib/cjs/AppsApi.js.map +1 -0
- package/lib/cjs/CommandsApi.js +19 -0
- package/lib/cjs/CommandsApi.js.map +1 -0
- package/lib/cjs/EnvironmentsApi.js +58 -0
- package/lib/cjs/EnvironmentsApi.js.map +1 -0
- package/lib/cjs/GroupsApi.js +78 -0
- package/lib/cjs/GroupsApi.js.map +1 -0
- package/lib/cjs/IamApi.js +53 -0
- package/lib/cjs/IamApi.js.map +1 -0
- package/lib/cjs/InteractionBase.js +44 -0
- package/lib/cjs/InteractionBase.js.map +1 -0
- package/lib/cjs/InteractionsApi.js +217 -0
- package/lib/cjs/InteractionsApi.js.map +1 -0
- package/lib/cjs/ProjectsApi.js +48 -0
- package/lib/cjs/ProjectsApi.js.map +1 -0
- package/lib/cjs/PromptsApi.js +133 -0
- package/lib/cjs/PromptsApi.js.map +1 -0
- package/lib/cjs/RefsApi.js +14 -0
- package/lib/cjs/RefsApi.js.map +1 -0
- package/lib/cjs/RunsApi.js +105 -0
- package/lib/cjs/RunsApi.js.map +1 -0
- package/lib/cjs/StreamSource.js +17 -0
- package/lib/cjs/StreamSource.js.map +1 -0
- package/lib/cjs/TrainingApi.js +54 -0
- package/lib/cjs/TrainingApi.js.map +1 -0
- package/lib/cjs/UsersApi.js +13 -0
- package/lib/cjs/UsersApi.js.map +1 -0
- package/lib/cjs/client.js +279 -0
- package/lib/cjs/client.js.map +1 -0
- package/lib/cjs/execute.js +158 -0
- package/lib/cjs/execute.js.map +1 -0
- package/lib/cjs/index.js +21 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/cjs/nodejs/NodeStreamSource.js +45 -0
- package/lib/cjs/nodejs/NodeStreamSource.js.map +1 -0
- package/lib/cjs/nodejs/index.js +18 -0
- package/lib/cjs/nodejs/index.js.map +1 -0
- package/lib/cjs/package.json +3 -0
- package/lib/cjs/store/AgentsApi.js +16 -0
- package/lib/cjs/store/AgentsApi.js.map +1 -0
- package/lib/cjs/store/AnalyzeDocApi.js +56 -0
- package/lib/cjs/store/AnalyzeDocApi.js.map +1 -0
- package/lib/cjs/store/CollectionsApi.js +101 -0
- package/lib/cjs/store/CollectionsApi.js.map +1 -0
- package/lib/cjs/store/CommandsApi.js +17 -0
- package/lib/cjs/store/CommandsApi.js.map +1 -0
- package/lib/cjs/store/EmbeddingsApi.js +29 -0
- package/lib/cjs/store/EmbeddingsApi.js.map +1 -0
- package/lib/cjs/store/FilesApi.js +147 -0
- package/lib/cjs/store/FilesApi.js.map +1 -0
- package/lib/cjs/store/ObjectsApi.js +281 -0
- package/lib/cjs/store/ObjectsApi.js.map +1 -0
- package/lib/cjs/store/TypesApi.js +57 -0
- package/lib/cjs/store/TypesApi.js.map +1 -0
- package/lib/cjs/store/WorkflowsApi.js +265 -0
- package/lib/cjs/store/WorkflowsApi.js.map +1 -0
- package/lib/cjs/store/client.js +71 -0
- package/lib/cjs/store/client.js.map +1 -0
- package/lib/cjs/store/errors.js +11 -0
- package/lib/cjs/store/errors.js.map +1 -0
- package/lib/cjs/store/index.js +22 -0
- package/lib/cjs/store/index.js.map +1 -0
- package/lib/cjs/store/version.js +6 -0
- package/lib/cjs/store/version.js.map +1 -0
- package/lib/esm/AccountApi.js +82 -0
- package/lib/esm/AccountApi.js.map +1 -0
- package/lib/esm/AccountsApi.js +13 -0
- package/lib/esm/AccountsApi.js.map +1 -0
- package/lib/esm/AnalyticsApi.js +10 -0
- package/lib/esm/AnalyticsApi.js.map +1 -0
- package/lib/esm/ApiKeysApi.js +59 -0
- package/lib/esm/ApiKeysApi.js.map +1 -0
- package/lib/esm/AppsApi.js +116 -0
- package/lib/esm/AppsApi.js.map +1 -0
- package/lib/esm/CommandsApi.js +16 -0
- package/lib/esm/CommandsApi.js.map +1 -0
- package/lib/esm/EnvironmentsApi.js +55 -0
- package/lib/esm/EnvironmentsApi.js.map +1 -0
- package/lib/esm/GroupsApi.js +74 -0
- package/lib/esm/GroupsApi.js.map +1 -0
- package/lib/esm/IamApi.js +47 -0
- package/lib/esm/IamApi.js.map +1 -0
- package/lib/esm/InteractionBase.js +40 -0
- package/lib/esm/InteractionBase.js.map +1 -0
- package/lib/esm/InteractionsApi.js +214 -0
- package/lib/esm/InteractionsApi.js.map +1 -0
- package/lib/esm/ProjectsApi.js +45 -0
- package/lib/esm/ProjectsApi.js.map +1 -0
- package/lib/esm/PromptsApi.js +130 -0
- package/lib/esm/PromptsApi.js.map +1 -0
- package/lib/esm/RefsApi.js +10 -0
- package/lib/esm/RefsApi.js.map +1 -0
- package/lib/esm/RunsApi.js +101 -0
- package/lib/esm/RunsApi.js.map +1 -0
- package/lib/esm/StreamSource.js +13 -0
- package/lib/esm/StreamSource.js.map +1 -0
- package/lib/esm/TrainingApi.js +51 -0
- package/lib/esm/TrainingApi.js.map +1 -0
- package/lib/esm/UsersApi.js +10 -0
- package/lib/esm/UsersApi.js.map +1 -0
- package/lib/esm/client.js +270 -0
- package/lib/esm/client.js.map +1 -0
- package/lib/esm/execute.js +118 -0
- package/lib/esm/execute.js.map +1 -0
- package/lib/esm/index.js +5 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/nodejs/NodeStreamSource.js +41 -0
- package/lib/esm/nodejs/NodeStreamSource.js.map +1 -0
- package/lib/esm/nodejs/index.js +2 -0
- package/lib/esm/nodejs/index.js.map +1 -0
- package/lib/esm/store/AgentsApi.js +12 -0
- package/lib/esm/store/AgentsApi.js.map +1 -0
- package/lib/esm/store/AnalyzeDocApi.js +52 -0
- package/lib/esm/store/AnalyzeDocApi.js.map +1 -0
- package/lib/esm/store/CollectionsApi.js +97 -0
- package/lib/esm/store/CollectionsApi.js.map +1 -0
- package/lib/esm/store/CommandsApi.js +13 -0
- package/lib/esm/store/CommandsApi.js.map +1 -0
- package/lib/esm/store/EmbeddingsApi.js +25 -0
- package/lib/esm/store/EmbeddingsApi.js.map +1 -0
- package/lib/esm/store/FilesApi.js +142 -0
- package/lib/esm/store/FilesApi.js.map +1 -0
- package/lib/esm/store/ObjectsApi.js +277 -0
- package/lib/esm/store/ObjectsApi.js.map +1 -0
- package/lib/esm/store/TypesApi.js +53 -0
- package/lib/esm/store/TypesApi.js.map +1 -0
- package/lib/esm/store/WorkflowsApi.js +259 -0
- package/lib/esm/store/WorkflowsApi.js.map +1 -0
- package/lib/esm/store/client.js +67 -0
- package/lib/esm/store/client.js.map +1 -0
- package/lib/esm/store/errors.js +7 -0
- package/lib/esm/store/errors.js.map +1 -0
- package/lib/esm/store/index.js +6 -0
- package/lib/esm/store/index.js.map +1 -0
- package/lib/esm/store/version.js +3 -0
- package/lib/esm/store/version.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/lib/types/AccountApi.d.ts +59 -0
- package/lib/types/AccountApi.d.ts.map +1 -0
- package/lib/types/AccountsApi.d.ts +7 -0
- package/lib/types/AccountsApi.d.ts.map +1 -0
- package/lib/types/AnalyticsApi.d.ts +6 -0
- package/lib/types/AnalyticsApi.d.ts.map +1 -0
- package/lib/types/ApiKeysApi.d.ts +42 -0
- package/lib/types/ApiKeysApi.d.ts.map +1 -0
- package/lib/types/AppsApi.d.ts +65 -0
- package/lib/types/AppsApi.d.ts.map +1 -0
- package/lib/types/CommandsApi.d.ts +10 -0
- package/lib/types/CommandsApi.d.ts.map +1 -0
- package/lib/types/EnvironmentsApi.d.ts +30 -0
- package/lib/types/EnvironmentsApi.d.ts.map +1 -0
- package/lib/types/GroupsApi.d.ts +65 -0
- package/lib/types/GroupsApi.d.ts.map +1 -0
- package/lib/types/IamApi.d.ts +41 -0
- package/lib/types/IamApi.d.ts.map +1 -0
- package/lib/types/InteractionBase.d.ts +22 -0
- package/lib/types/InteractionBase.d.ts.map +1 -0
- package/lib/types/InteractionsApi.d.ts +156 -0
- package/lib/types/InteractionsApi.d.ts.map +1 -0
- package/lib/types/ProjectsApi.d.ts +17 -0
- package/lib/types/ProjectsApi.d.ts.map +1 -0
- package/lib/types/PromptsApi.d.ts +106 -0
- package/lib/types/PromptsApi.d.ts.map +1 -0
- package/lib/types/RefsApi.d.ts +6 -0
- package/lib/types/RefsApi.d.ts.map +1 -0
- package/lib/types/RunsApi.d.ts +77 -0
- package/lib/types/RunsApi.d.ts.map +1 -0
- package/lib/types/StreamSource.d.ts +7 -0
- package/lib/types/StreamSource.d.ts.map +1 -0
- package/lib/types/TrainingApi.d.ts +27 -0
- package/lib/types/TrainingApi.d.ts.map +1 -0
- package/lib/types/UsersApi.d.ts +6 -0
- package/lib/types/UsersApi.d.ts.map +1 -0
- package/lib/types/client.d.ts +119 -0
- package/lib/types/client.d.ts.map +1 -0
- package/lib/types/execute.d.ts +37 -0
- package/lib/types/execute.d.ts.map +1 -0
- package/lib/types/index.d.ts +8 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/nodejs/NodeStreamSource.d.ts +9 -0
- package/lib/types/nodejs/NodeStreamSource.d.ts.map +1 -0
- package/lib/types/nodejs/index.d.ts +1 -0
- package/lib/types/nodejs/index.d.ts.map +1 -0
- package/lib/types/store/AgentsApi.d.ts +6 -0
- package/lib/types/store/AgentsApi.d.ts.map +1 -0
- package/lib/types/store/AnalyzeDocApi.d.ts +17 -0
- package/lib/types/store/AnalyzeDocApi.d.ts.map +1 -0
- package/lib/types/store/CollectionsApi.d.ts +66 -0
- package/lib/types/store/CollectionsApi.d.ts.map +1 -0
- package/lib/types/store/CommandsApi.d.ts +10 -0
- package/lib/types/store/CommandsApi.d.ts.map +1 -0
- package/lib/types/store/EmbeddingsApi.d.ts +12 -0
- package/lib/types/store/EmbeddingsApi.d.ts.map +1 -0
- package/lib/types/store/FilesApi.d.ts +47 -0
- package/lib/types/store/FilesApi.d.ts.map +1 -0
- package/lib/types/store/ObjectsApi.d.ts +122 -0
- package/lib/types/store/ObjectsApi.d.ts.map +1 -0
- package/lib/types/store/TypesApi.d.ts +23 -0
- package/lib/types/store/TypesApi.d.ts.map +1 -0
- package/lib/types/store/WorkflowsApi.d.ts +50 -0
- package/lib/types/store/WorkflowsApi.d.ts.map +1 -0
- package/lib/types/store/client.d.ts +34 -0
- package/lib/types/store/client.d.ts.map +1 -0
- package/lib/types/store/errors.d.ts +4 -0
- package/lib/types/store/errors.d.ts.map +1 -0
- package/lib/types/store/index.d.ts +5 -0
- package/lib/types/store/index.d.ts.map +1 -0
- package/lib/types/store/version.d.ts +2 -0
- package/lib/types/store/version.d.ts.map +1 -0
- package/lib/vertesia-client.js +2 -0
- package/lib/vertesia-client.js.map +1 -0
- package/package.json +54 -59
- package/src/InteractionsApi.ts +1 -2
- package/src/RunsApi.ts +1 -8
- package/src/client.test.ts +0 -2
- package/src/client.ts +69 -129
- package/src/store/FilesApi.ts +2 -2
- package/src/store/WorkflowsApi.ts +0 -166
- package/src/store/client.ts +12 -3
- package/src/store/version.ts +2 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { ApiTopic } from "@vertesia/api-fetch-client";
|
|
2
|
+
export default class PromptsApi extends ApiTopic {
|
|
3
|
+
constructor(parent) {
|
|
4
|
+
super(parent, "/api/v1/prompts");
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Get the list of all prompt templates
|
|
8
|
+
* @param payload query payload to filter search
|
|
9
|
+
* @returns PromptTemplateRef[]
|
|
10
|
+
**/
|
|
11
|
+
list(payload = {}) {
|
|
12
|
+
const query = payload.query || {};
|
|
13
|
+
return this.get("/", {
|
|
14
|
+
query: {
|
|
15
|
+
...query
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Get the list of all prompt facets
|
|
21
|
+
* @param payload query payload to filter facet search
|
|
22
|
+
* @returns ComputePromptFacetsResponse[]
|
|
23
|
+
**/
|
|
24
|
+
computeFacets(query) {
|
|
25
|
+
return this.post("/facets", {
|
|
26
|
+
payload: query
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Create a new prompt template
|
|
31
|
+
* @param payload PromptTemplateCreatePayload
|
|
32
|
+
* @returns PromptTemplate
|
|
33
|
+
* @throws ApiError
|
|
34
|
+
* @throws 400 if payload is invalid
|
|
35
|
+
* @throws 500 if creation fails
|
|
36
|
+
**/
|
|
37
|
+
create(payload) {
|
|
38
|
+
return this.post('/', {
|
|
39
|
+
payload
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Retrieve an existing prompt template
|
|
44
|
+
* @param id of the prompt template to retrieve
|
|
45
|
+
* @returns PromptTemplate
|
|
46
|
+
**/
|
|
47
|
+
retrieve(id) {
|
|
48
|
+
return this.get(`/${id}`);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Update an existing prompt template
|
|
52
|
+
* @param id of the prompt template to update
|
|
53
|
+
* @param payload PromptTemplateCreatePayload
|
|
54
|
+
* @returns PromptTemplate
|
|
55
|
+
* @throws ApiError
|
|
56
|
+
* @throws 400 if payload is invalid
|
|
57
|
+
* @throws 500 if update fails
|
|
58
|
+
* @throws 404 if not found
|
|
59
|
+
**/
|
|
60
|
+
update(id, payload) {
|
|
61
|
+
return this.put(`/${id}`, {
|
|
62
|
+
payload
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Delete an existing prompt template
|
|
67
|
+
* @param id of the prompt template to delete
|
|
68
|
+
* @returns void
|
|
69
|
+
*/
|
|
70
|
+
delete(id) {
|
|
71
|
+
return this.del(`/${id}`);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Fork an existing prompt template
|
|
75
|
+
* @param id of the prompt template to fork
|
|
76
|
+
* @param payload PromptTemplateForkPayload
|
|
77
|
+
* @returns Forked PromptTemplate
|
|
78
|
+
*/
|
|
79
|
+
fork(id, payload) {
|
|
80
|
+
return this.post(`/${id}/fork`, {
|
|
81
|
+
payload
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Render a prompt template
|
|
86
|
+
* @param id of the prompt template to render
|
|
87
|
+
* @param payload that will be passed to the prompt template to generate the prompts
|
|
88
|
+
* @returns PromptTemplate
|
|
89
|
+
* @throws ApiError
|
|
90
|
+
* @throws 404 if not found
|
|
91
|
+
* @throws 400 if payload is invalid
|
|
92
|
+
* @throws 500 if render fails
|
|
93
|
+
**/
|
|
94
|
+
render(id, payload) {
|
|
95
|
+
return this.post(`/${id}/render`, {
|
|
96
|
+
payload
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Get options for a field
|
|
101
|
+
* @param field name to get options for
|
|
102
|
+
* @returns string[]
|
|
103
|
+
*/
|
|
104
|
+
options(field) {
|
|
105
|
+
return this.get(`/options/${field}`);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* List the versions of the prompt template. Returns an empty array if no versions are found
|
|
109
|
+
* @param id
|
|
110
|
+
* @returns the versions list or an empty array if no versions are found
|
|
111
|
+
*/
|
|
112
|
+
listVersions(id) {
|
|
113
|
+
return this.get(`/${id}/versions`);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Retrieve list of interactions that use the prompt template
|
|
117
|
+
*/
|
|
118
|
+
listInteractions(id) {
|
|
119
|
+
return this.get(`/${id}/interactions`);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* List the forks of the prompt. Returns an empty array if no forks are found
|
|
123
|
+
* @param id of the prompt to search forks
|
|
124
|
+
* @returns the versions list or an empty array if no forks are found
|
|
125
|
+
*/
|
|
126
|
+
listForks(id) {
|
|
127
|
+
return this.get(`/${id}/forks`);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=PromptsApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PromptsApi.js","sourceRoot":"","sources":["../../src/PromptsApi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAc,MAAM,4BAA4B,CAAC;AAOlE,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,QAAQ;IAC5C,YAAY,MAAkB;QAC1B,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;IACpC,CAAC;IAED;;;;QAII;IACJ,IAAI,CAAC,UAA+B,EAAE;QAClC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAuB,CAAC;QAEvD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;YACjB,KAAK,EAAE;gBACH,GAAG,KAAK;aACX;SACJ,CAAC,CAAC;IACP,CAAC;IAED;;;;QAII;IACJ,aAAa,CAAC,KAAgC;QAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACxB,OAAO,EAAE,KAAK;SACjB,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;QAOI;IACJ,MAAM,CAAC,OAAoC;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YAClB,OAAO;SACV,CAAC,CAAC;IACP,CAAC;IAED;;;;QAII;IACJ,QAAQ,CAAC,EAAU;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;;;;QASI;IACJ,MAAM,CAAC,EAAU,EAAE,OAAoC;QACnD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE;YACtB,OAAO;SACV,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,EAAU;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,EAAU,EAAE,OAAkC;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE;YAC5B,OAAO;SACV,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;QASI;IACJ,MAAM,CAAC,EAAU,EAAE,OAAW;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE;YAC9B,OAAO;SACV,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,KAAa;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,KAAK,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,EAAU;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACvC,CAAC;IAGD;;OAEG;IACH,gBAAgB,CAAC,EAAU;QACvB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,EAAU;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;CAEJ"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ApiTopic } from "@vertesia/api-fetch-client";
|
|
2
|
+
export class RefsApi extends ApiTopic {
|
|
3
|
+
constructor(parent) {
|
|
4
|
+
super(parent, "/api/v1/refs");
|
|
5
|
+
}
|
|
6
|
+
resolve(refs) {
|
|
7
|
+
return this.post('/resolve', { payload: { refs } });
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=RefsApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RefsApi.js","sourceRoot":"","sources":["../../src/RefsApi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAc,MAAM,4BAA4B,CAAA;AAGjE,MAAM,OAAO,OAAQ,SAAQ,QAAQ;IAEjC,YAAY,MAAkB;QAC1B,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACjC,CAAC;IAGD,OAAO,CAAC,IAAqB;QAEzB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;IAEvD,CAAC;CAEJ"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { ApiTopic } from "@vertesia/api-fetch-client";
|
|
2
|
+
export class RunsApi extends ApiTopic {
|
|
3
|
+
constructor(parent) {
|
|
4
|
+
super(parent, "/api/v1/runs");
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Get the list of all runs
|
|
8
|
+
* @param project optional project id to filter by
|
|
9
|
+
* @param interaction optional interaction id to filter by
|
|
10
|
+
* @returns InteractionResult[]
|
|
11
|
+
**/
|
|
12
|
+
list({ limit, offset, filters }) {
|
|
13
|
+
const query = {
|
|
14
|
+
limit,
|
|
15
|
+
offset,
|
|
16
|
+
...filters,
|
|
17
|
+
};
|
|
18
|
+
return this.get("/", { query: query });
|
|
19
|
+
}
|
|
20
|
+
find(payload) {
|
|
21
|
+
return this.post("/find", {
|
|
22
|
+
payload,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Get a run by id
|
|
27
|
+
*
|
|
28
|
+
* @param id
|
|
29
|
+
* @returns InteractionResult
|
|
30
|
+
**/
|
|
31
|
+
retrieve(id) {
|
|
32
|
+
return this.get("/" + id);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Get filter options for a field
|
|
36
|
+
* return FilterOption[]
|
|
37
|
+
*/
|
|
38
|
+
filterOptions(field, filters) {
|
|
39
|
+
const query = {
|
|
40
|
+
...filters,
|
|
41
|
+
};
|
|
42
|
+
return this.get(`/filter-options/${field}`, { query });
|
|
43
|
+
}
|
|
44
|
+
create(payload) {
|
|
45
|
+
const sessionTags = this.client.sessionTags;
|
|
46
|
+
if (sessionTags) {
|
|
47
|
+
let tags = Array.isArray(sessionTags) ? sessionTags : [sessionTags];
|
|
48
|
+
if (Array.isArray(payload.tags)) {
|
|
49
|
+
tags = tags.concat(payload.tags);
|
|
50
|
+
}
|
|
51
|
+
else if (payload.tags) {
|
|
52
|
+
tags = tags.concat([payload.tags]);
|
|
53
|
+
}
|
|
54
|
+
payload = { ...payload, tags };
|
|
55
|
+
}
|
|
56
|
+
return this.post("/", {
|
|
57
|
+
payload,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Send tool results and continues the conversation
|
|
62
|
+
* @param payload
|
|
63
|
+
* @returns
|
|
64
|
+
*/
|
|
65
|
+
sendToolResults(payload) {
|
|
66
|
+
return this.post(`/tool-results`, {
|
|
67
|
+
payload,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
*
|
|
72
|
+
* @param payload
|
|
73
|
+
* @returns
|
|
74
|
+
*/
|
|
75
|
+
sendUserMessage(payload) {
|
|
76
|
+
return this.post(`/user-message`, {
|
|
77
|
+
payload,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
createCheckpoint(payload) {
|
|
81
|
+
return this.post(`/checkpoint`, {
|
|
82
|
+
payload,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Get the list of all runs facets
|
|
87
|
+
* @param payload query payload to filter facet search
|
|
88
|
+
* @returns ComputeRunFacetsResponse[]
|
|
89
|
+
**/
|
|
90
|
+
computeFacets(query) {
|
|
91
|
+
return this.post("/facets", {
|
|
92
|
+
payload: query,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
search(payload) {
|
|
96
|
+
return this.post("/search", {
|
|
97
|
+
payload,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=RunsApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RunsApi.js","sourceRoot":"","sources":["../../src/RunsApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAc,MAAM,4BAA4B,CAAC;AAgClE,MAAM,OAAO,OAAQ,SAAQ,QAAQ;IACjC,YAAY,MAAkB;QAC1B,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAClC,CAAC;IAED;;;;;QAKI;IACJ,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAA0B;QACnD,MAAM,KAAK,GAAG;YACV,KAAK;YACL,MAAM;YACN,GAAG,OAAO;SACb,CAAC;QAEF,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,CAAC,OAAoB;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACtB,OAAO;SACV,CAAC,CAAC;IACP,CAAC;IAED;;;;;QAKI;IACJ,QAAQ,CAAU,EAAU;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,KAAa,EAAE,OAA0B;QACnD,MAAM,KAAK,GAAG;YACV,GAAG,OAAO;SACb,CAAC;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,OAAyB;QAC5B,MAAM,WAAW,GAAI,IAAI,CAAC,MAAyB,CAAC,WAAW,CAAC;QAChE,IAAI,WAAW,EAAE,CAAC;YACd,IAAI,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YACpE,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACtB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACvC,CAAC;YACD,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YAClB,OAAO;SACV,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,OAA2B;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YAC9B,OAAO;SACV,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,OAA2B;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YAC9B,OAAO;SACV,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB,CAAC,OAAsC;QACnD,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAC5B,OAAO;SACV,CAAC,CAAC;IACP,CAAC;IAED;;;;QAII;IACJ,aAAa,CAAC,KAA6B;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACxB,OAAO,EAAE,KAAK;SACjB,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,OAAyB;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACxB,OAAO;SACV,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StreamSource.js","sourceRoot":"","sources":["../../src/StreamSource.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAY;IACF;IAA+B;IAAqB;IAAsB;IAA7F,YAAmB,MAAsB,EAAS,IAAY,EAAS,IAAa,EAAS,EAAW;QAArF,WAAM,GAAN,MAAM,CAAgB;QAAS,SAAI,GAAJ,IAAI,CAAQ;QAAS,SAAI,GAAJ,IAAI,CAAS;QAAS,OAAE,GAAF,EAAE,CAAS;IAAI,CAAC;CAChH"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ApiTopic } from "@vertesia/api-fetch-client";
|
|
2
|
+
export default class TrainingApi extends ApiTopic {
|
|
3
|
+
constructor(parent) {
|
|
4
|
+
super(parent, "/api/v1/training");
|
|
5
|
+
}
|
|
6
|
+
listSessions(query = {}) {
|
|
7
|
+
return this.get('/', { query: query });
|
|
8
|
+
}
|
|
9
|
+
listSessionNames(query = {}) {
|
|
10
|
+
return this.get('/names', { query: query });
|
|
11
|
+
}
|
|
12
|
+
createSession(payload) {
|
|
13
|
+
return this.post('/', { payload });
|
|
14
|
+
}
|
|
15
|
+
getSession(sessionId) {
|
|
16
|
+
return this.get('/' + sessionId);
|
|
17
|
+
}
|
|
18
|
+
addToSession(sessionId, runs) {
|
|
19
|
+
return this.post('/' + sessionId + '/add', { payload: { runs } });
|
|
20
|
+
}
|
|
21
|
+
listSessionRuns(sessionId, limit = 100, offset = 0) {
|
|
22
|
+
return this.get('/' + sessionId + '/runs', { query: { limit, offset } });
|
|
23
|
+
}
|
|
24
|
+
buildSession(sessionId) {
|
|
25
|
+
return this.post('/' + sessionId + '/build');
|
|
26
|
+
}
|
|
27
|
+
getDataUrl(sessionId) {
|
|
28
|
+
return this.get('/' + sessionId + '/url');
|
|
29
|
+
}
|
|
30
|
+
getDataUploadUrl(sessionId, isResumable = false) {
|
|
31
|
+
return this.get('/' + sessionId + '/upload-url', isResumable ? { query: { resumable: 'true' } } : {});
|
|
32
|
+
}
|
|
33
|
+
startTraining(sessionId) {
|
|
34
|
+
return this.post('/' + sessionId + '/start');
|
|
35
|
+
}
|
|
36
|
+
cancelTraining(sessionId) {
|
|
37
|
+
return this.post('/' + sessionId + '/cancel');
|
|
38
|
+
}
|
|
39
|
+
getTrainingJob(jobId) {
|
|
40
|
+
return this.get(`/job/${jobId}`);
|
|
41
|
+
}
|
|
42
|
+
getAndSyncTrainingJob(jobId) {
|
|
43
|
+
return this.get(`/job/${jobId}`, {
|
|
44
|
+
query: { sync: 'true' }
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
setDataset(sessionId, name = "default") {
|
|
48
|
+
return this.post('/' + sessionId + '/dataset', { payload: { dataset: name } });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=TrainingApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TrainingApi.js","sourceRoot":"","sources":["../../src/TrainingApi.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAc,MAAM,4BAA4B,CAAC;AAGlE,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,QAAQ;IAE7C,YAAY,MAAkB;QAC1B,KAAK,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IACrC,CAAC;IAED,YAAY,CAAC,QAAmC,EAAE;QAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAY,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,gBAAgB,CAAC,QAAmC,EAAE;QAClD,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAY,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,aAAa,CAAC,OAAqC;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;IACtC,CAAC;IAED,UAAU,CAAC,SAAiB;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,SAAS,CAAC,CAAA;IACpC,CAAC;IAED,YAAY,CAAC,SAAiB,EAAE,IAAc;QAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,SAAS,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;IACrE,CAAC;IAED,eAAe,CAAC,SAAiB,EAAE,KAAK,GAAG,GAAG,EAAE,MAAM,GAAG,CAAC;QACtD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,SAAS,GAAG,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,YAAY,CAAC,SAAiB;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,UAAU,CAAC,SAAiB;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,SAAS,GAAG,MAAM,CAAC,CAAA;IAC7C,CAAC;IAED,gBAAgB,CAAC,SAAiB,EAAE,WAAW,GAAG,KAAK;QACnD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,SAAS,GAAG,aAAa,EAC3C,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAC5D,CAAC;IAED,aAAa,CAAC,SAAiB;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,cAAc,CAAC,SAAiB;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC;IAClD,CAAC;IAED,cAAc,CAAC,KAAa;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,qBAAqB,CAAC,KAAa;QAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,EAAE,EAAE;YAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SAC1B,CAAC,CAAC;IACP,CAAC;IAED,UAAU,CAAC,SAAiB,EAAE,OAAe,SAAS;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,SAAS,GAAG,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;IAClF,CAAC;CAEJ"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ApiTopic } from "@vertesia/api-fetch-client";
|
|
2
|
+
export default class UsersApi extends ApiTopic {
|
|
3
|
+
constructor(parent) {
|
|
4
|
+
super(parent, "/api/v1/users");
|
|
5
|
+
}
|
|
6
|
+
retrieve(userId) {
|
|
7
|
+
return this.get('/' + userId);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=UsersApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UsersApi.js","sourceRoot":"","sources":["../../src/UsersApi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAc,MAAM,4BAA4B,CAAC;AAKlE,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,QAAQ;IAE1C,YAAY,MAAkB;QAC1B,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAClC,CAAC;IAED,QAAQ,CAAC,MAAc;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;IAClC,CAAC;CAGJ"}
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
import { AbstractFetchClient } from "@vertesia/api-fetch-client";
|
|
2
|
+
import AccountApi from "./AccountApi.js";
|
|
3
|
+
import AccountsApi from "./AccountsApi.js";
|
|
4
|
+
import AnalyticsApi from "./AnalyticsApi.js";
|
|
5
|
+
import { ApiKeysApi } from "./ApiKeysApi.js";
|
|
6
|
+
import AppsApi from "./AppsApi.js";
|
|
7
|
+
import CommandsApi from "./CommandsApi.js";
|
|
8
|
+
import EnvironmentsApi from "./EnvironmentsApi.js";
|
|
9
|
+
import { IamApi } from "./IamApi.js";
|
|
10
|
+
import InteractionsApi from "./InteractionsApi.js";
|
|
11
|
+
import ProjectsApi from "./ProjectsApi.js";
|
|
12
|
+
import PromptsApi from "./PromptsApi.js";
|
|
13
|
+
import { RefsApi } from "./RefsApi.js";
|
|
14
|
+
import { RunsApi } from "./RunsApi.js";
|
|
15
|
+
import { ZenoClient } from "./store/client.js";
|
|
16
|
+
import TrainingApi from "./TrainingApi.js";
|
|
17
|
+
import UsersApi from "./UsersApi.js";
|
|
18
|
+
import { VERSION, VERSION_HEADER } from "./store/version.js";
|
|
19
|
+
/**
|
|
20
|
+
* 1 min threshold constant in ms
|
|
21
|
+
*/
|
|
22
|
+
const EXPIRATION_THRESHOLD = 60000;
|
|
23
|
+
export class VertesiaClient extends AbstractFetchClient {
|
|
24
|
+
/**
|
|
25
|
+
* The JWT token linked to the API KEY (sk or pk)
|
|
26
|
+
*/
|
|
27
|
+
_jwt = null;
|
|
28
|
+
/**
|
|
29
|
+
* The store client
|
|
30
|
+
*/
|
|
31
|
+
store;
|
|
32
|
+
/**
|
|
33
|
+
* The session name will be sent when executing an interaction as a tag
|
|
34
|
+
*/
|
|
35
|
+
sessionTags;
|
|
36
|
+
/**
|
|
37
|
+
* Create a client from the given token.
|
|
38
|
+
* If you already have the decoded token you can pass it as the second argument to avoid decodinf it again.
|
|
39
|
+
*
|
|
40
|
+
* @param token the raw JWT token
|
|
41
|
+
* @param payload the decoded JWT token as an AuthTokenPayload - optional
|
|
42
|
+
*/
|
|
43
|
+
static async fromAuthToken(token, payload) {
|
|
44
|
+
if (!payload) {
|
|
45
|
+
payload = decodeJWT(token);
|
|
46
|
+
}
|
|
47
|
+
const endpoints = decodeEndpoints(payload.endpoints);
|
|
48
|
+
return await new VertesiaClient({
|
|
49
|
+
serverUrl: endpoints.studio,
|
|
50
|
+
storeUrl: endpoints.store
|
|
51
|
+
}).withApiKey(token);
|
|
52
|
+
}
|
|
53
|
+
static decodeEndpoints() {
|
|
54
|
+
}
|
|
55
|
+
constructor(opts = {
|
|
56
|
+
site: 'api.vertesia.io',
|
|
57
|
+
}) {
|
|
58
|
+
let studioServerUrl;
|
|
59
|
+
let zenoServerUrl;
|
|
60
|
+
if (opts.serverUrl) {
|
|
61
|
+
studioServerUrl = opts.serverUrl;
|
|
62
|
+
}
|
|
63
|
+
else if (opts.site) {
|
|
64
|
+
studioServerUrl = `https://${opts.site}`;
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
throw new Error("Parameter 'site' or 'serverUrl' is required for VertesiaClient");
|
|
68
|
+
}
|
|
69
|
+
if (opts.storeUrl) {
|
|
70
|
+
zenoServerUrl = opts.storeUrl;
|
|
71
|
+
}
|
|
72
|
+
else if (opts.site) {
|
|
73
|
+
zenoServerUrl = `https://${opts.site}`;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
throw new Error("Parameter 'site' or 'storeUrl' is required for VertesiaClient");
|
|
77
|
+
}
|
|
78
|
+
super(studioServerUrl);
|
|
79
|
+
this.store = new ZenoClient({
|
|
80
|
+
serverUrl: zenoServerUrl,
|
|
81
|
+
apikey: opts.apikey,
|
|
82
|
+
onRequest: opts.onRequest,
|
|
83
|
+
onResponse: opts.onResponse
|
|
84
|
+
});
|
|
85
|
+
if (opts.apikey) {
|
|
86
|
+
this.withApiKey(opts.apikey);
|
|
87
|
+
}
|
|
88
|
+
//TODO: this is no more used, remove in next major version
|
|
89
|
+
if (opts.projectId) {
|
|
90
|
+
this.headers["x-project-id"] = opts.projectId;
|
|
91
|
+
}
|
|
92
|
+
this.onRequest = opts.onRequest;
|
|
93
|
+
this.onResponse = opts.onResponse;
|
|
94
|
+
this.sessionTags = opts.sessionTags;
|
|
95
|
+
}
|
|
96
|
+
withApiVersion(version) {
|
|
97
|
+
if (!version) {
|
|
98
|
+
delete this.headers[VERSION_HEADER];
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
this.headers[VERSION_HEADER] = String(version);
|
|
102
|
+
}
|
|
103
|
+
return this;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Overwrite to keep store and composable clients synchronized on the auth callback
|
|
107
|
+
* @param authCb
|
|
108
|
+
* @returns
|
|
109
|
+
*/
|
|
110
|
+
withAuthCallback(authCb) {
|
|
111
|
+
this.store.withAuthCallback(authCb);
|
|
112
|
+
return super.withAuthCallback(authCb);
|
|
113
|
+
}
|
|
114
|
+
async withApiKey(apiKey) {
|
|
115
|
+
return this.withAuthCallback(apiKey ? async () => {
|
|
116
|
+
if (!isApiKey(apiKey)) {
|
|
117
|
+
return `Bearer ${apiKey}`;
|
|
118
|
+
}
|
|
119
|
+
if (isTokenExpired(this._jwt)) {
|
|
120
|
+
const jwt = await this.getAuthToken(apiKey);
|
|
121
|
+
this._jwt = jwt.token;
|
|
122
|
+
}
|
|
123
|
+
return `Bearer ${this._jwt}`;
|
|
124
|
+
} : undefined);
|
|
125
|
+
}
|
|
126
|
+
async getRawJWT() {
|
|
127
|
+
if (!this._jwt && this._auth) {
|
|
128
|
+
const auth = await this._auth();
|
|
129
|
+
if (!this._jwt) { // the _jwt may be set by the auth callback
|
|
130
|
+
this._jwt = auth.trim().split(' ')[1]; // remove Bearer prefix
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return this._jwt || null;
|
|
134
|
+
}
|
|
135
|
+
async getDecodedJWT() {
|
|
136
|
+
const jwt = await this.getRawJWT();
|
|
137
|
+
return jwt ? decodeJWT(jwt) : null;
|
|
138
|
+
}
|
|
139
|
+
async getProject() {
|
|
140
|
+
const jwt = await this.getDecodedJWT();
|
|
141
|
+
return jwt?.project || null;
|
|
142
|
+
}
|
|
143
|
+
async getAccount() {
|
|
144
|
+
const jwt = await this.getDecodedJWT();
|
|
145
|
+
return jwt?.account || null;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Alias for store.workflows
|
|
149
|
+
*/
|
|
150
|
+
get workflows() {
|
|
151
|
+
return this.store.workflows;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Alias for store.objects
|
|
155
|
+
*/
|
|
156
|
+
get objects() {
|
|
157
|
+
return this.store.objects;
|
|
158
|
+
}
|
|
159
|
+
get files() {
|
|
160
|
+
return this.store.files;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Alias for store.types
|
|
164
|
+
*/
|
|
165
|
+
get types() {
|
|
166
|
+
return this.store.types;
|
|
167
|
+
}
|
|
168
|
+
get storeUrl() {
|
|
169
|
+
return this.store.baseUrl;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
*
|
|
173
|
+
* Generate a token for use with other Composable's services
|
|
174
|
+
*
|
|
175
|
+
* @param accountId: selected account to generate the token for
|
|
176
|
+
* @returns AuthTokenResponse
|
|
177
|
+
*/
|
|
178
|
+
async getAuthToken(token, accountId) {
|
|
179
|
+
const query = {
|
|
180
|
+
accountId,
|
|
181
|
+
token
|
|
182
|
+
};
|
|
183
|
+
return this.get('/auth/token', { query: query, headers: { "authorization": undefined } });
|
|
184
|
+
}
|
|
185
|
+
get initialHeaders() {
|
|
186
|
+
return {
|
|
187
|
+
...super.initialHeaders,
|
|
188
|
+
[VERSION_HEADER]: VERSION
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
projects = new ProjectsApi(this);
|
|
192
|
+
environments = new EnvironmentsApi(this);
|
|
193
|
+
interactions = new InteractionsApi(this);
|
|
194
|
+
prompts = new PromptsApi(this);
|
|
195
|
+
runs = new RunsApi(this);
|
|
196
|
+
account = new AccountApi(this);
|
|
197
|
+
accounts = new AccountsApi(this);
|
|
198
|
+
apikeys = new ApiKeysApi(this);
|
|
199
|
+
analytics = new AnalyticsApi(this);
|
|
200
|
+
training = new TrainingApi(this);
|
|
201
|
+
users = new UsersApi(this);
|
|
202
|
+
iam = new IamApi(this);
|
|
203
|
+
refs = new RefsApi(this);
|
|
204
|
+
commands = new CommandsApi(this);
|
|
205
|
+
apps = new AppsApi(this);
|
|
206
|
+
}
|
|
207
|
+
function isApiKey(apiKey) {
|
|
208
|
+
return (apiKey.startsWith('pk-') || apiKey.startsWith('sk-'));
|
|
209
|
+
}
|
|
210
|
+
function isTokenExpired(token) {
|
|
211
|
+
if (!token) {
|
|
212
|
+
return true;
|
|
213
|
+
}
|
|
214
|
+
const decoded = decodeJWT(token);
|
|
215
|
+
const exp = decoded.exp;
|
|
216
|
+
const currentTime = Date.now();
|
|
217
|
+
return (currentTime <= exp * 1000 - EXPIRATION_THRESHOLD);
|
|
218
|
+
}
|
|
219
|
+
export function decodeJWT(jwt) {
|
|
220
|
+
const payloadBase64 = jwt.split('.')[1];
|
|
221
|
+
const decodedJson = base64UrlDecode(payloadBase64);
|
|
222
|
+
return JSON.parse(decodedJson);
|
|
223
|
+
}
|
|
224
|
+
function base64UrlDecode(input) {
|
|
225
|
+
// Convert base64url to base64
|
|
226
|
+
const base64 = input.replace(/-/g, '+').replace(/_/g, '/')
|
|
227
|
+
// Pad with '=' to make length a multiple of 4
|
|
228
|
+
.padEnd(Math.ceil(input.length / 4) * 4, '=');
|
|
229
|
+
if (typeof Buffer !== 'undefined') {
|
|
230
|
+
// Node.js
|
|
231
|
+
return Buffer.from(base64, 'base64').toString('utf-8');
|
|
232
|
+
}
|
|
233
|
+
else if (typeof atob !== 'undefined' && typeof TextDecoder !== 'undefined') {
|
|
234
|
+
// Browser
|
|
235
|
+
const binary = atob(base64);
|
|
236
|
+
const bytes = Uint8Array.from(binary, c => c.charCodeAt(0));
|
|
237
|
+
// decode to utf8
|
|
238
|
+
return new TextDecoder().decode(bytes);
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
throw new Error('No base64 decoder available');
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
export function decodeEndpoints(endpoints) {
|
|
245
|
+
if (!endpoints) {
|
|
246
|
+
return getEndpointsFromDomain("api.vertesia.io");
|
|
247
|
+
}
|
|
248
|
+
if (typeof endpoints === "string") {
|
|
249
|
+
return getEndpointsFromDomain(endpoints);
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
return endpoints;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
function getEndpointsFromDomain(domain) {
|
|
256
|
+
if (domain === "local") {
|
|
257
|
+
return {
|
|
258
|
+
studio: `http://localhost:8091`,
|
|
259
|
+
store: `http://localhost:8092`,
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
else {
|
|
263
|
+
const url = `https://${domain}`;
|
|
264
|
+
return {
|
|
265
|
+
studio: url,
|
|
266
|
+
store: url,
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|