@vertesia/client 0.80.1 → 0.81.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/InteractionCatalogApi.js +64 -0
- package/lib/cjs/InteractionCatalogApi.js.map +1 -0
- package/lib/cjs/InteractionOutput.js +300 -0
- package/lib/cjs/InteractionOutput.js.map +1 -0
- package/lib/cjs/InteractionResult.example.js +57 -0
- package/lib/cjs/InteractionResult.example.js.map +1 -0
- package/lib/cjs/InteractionsApi.js +243 -0
- package/lib/cjs/InteractionsApi.js.map +1 -0
- package/lib/cjs/ProjectsApi.js +53 -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 +113 -0
- package/lib/cjs/RunsApi.js.map +1 -0
- package/lib/cjs/SkillsApi.js +39 -0
- package/lib/cjs/SkillsApi.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 +351 -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 +22 -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/AnalyzeDocApi.js +56 -0
- package/lib/cjs/store/AnalyzeDocApi.js.map +1 -0
- package/lib/cjs/store/CollectionsApi.js +131 -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 +225 -0
- package/lib/cjs/store/FilesApi.js.map +1 -0
- package/lib/cjs/store/ObjectsApi.js +283 -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/WorkersApi.js +16 -0
- package/lib/cjs/store/WorkersApi.js.map +1 -0
- package/lib/cjs/store/WorkflowsApi.js +425 -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 +23 -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/InteractionCatalogApi.js +60 -0
- package/lib/esm/InteractionCatalogApi.js.map +1 -0
- package/lib/esm/InteractionOutput.js +293 -0
- package/lib/esm/InteractionOutput.js.map +1 -0
- package/lib/esm/InteractionResult.example.js +55 -0
- package/lib/esm/InteractionResult.example.js.map +1 -0
- package/lib/esm/InteractionsApi.js +240 -0
- package/lib/esm/InteractionsApi.js.map +1 -0
- package/lib/esm/ProjectsApi.js +50 -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 +109 -0
- package/lib/esm/RunsApi.js.map +1 -0
- package/lib/esm/SkillsApi.js +36 -0
- package/lib/esm/SkillsApi.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 +342 -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 +6 -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/AnalyzeDocApi.js +52 -0
- package/lib/esm/store/AnalyzeDocApi.js.map +1 -0
- package/lib/esm/store/CollectionsApi.js +127 -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 +219 -0
- package/lib/esm/store/FilesApi.js.map +1 -0
- package/lib/esm/store/ObjectsApi.js +279 -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/WorkersApi.js +12 -0
- package/lib/esm/store/WorkersApi.js.map +1 -0
- package/lib/esm/store/WorkflowsApi.js +419 -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 +7 -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/InteractionCatalogApi.d.ts +36 -0
- package/lib/types/InteractionCatalogApi.d.ts.map +1 -0
- package/lib/types/InteractionOutput.d.ts +174 -0
- package/lib/types/InteractionOutput.d.ts.map +1 -0
- package/lib/types/InteractionResult.example.d.ts +6 -0
- package/lib/types/InteractionResult.example.d.ts.map +1 -0
- package/lib/types/InteractionsApi.d.ts +165 -0
- package/lib/types/InteractionsApi.d.ts.map +1 -0
- package/lib/types/ProjectsApi.d.ts +18 -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 +79 -0
- package/lib/types/RunsApi.d.ts.map +1 -0
- package/lib/types/SkillsApi.d.ts +26 -0
- package/lib/types/SkillsApi.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 +125 -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 +10 -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/AnalyzeDocApi.d.ts +17 -0
- package/lib/types/store/AnalyzeDocApi.d.ts.map +1 -0
- package/lib/types/store/CollectionsApi.d.ts +82 -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 +103 -0
- package/lib/types/store/FilesApi.d.ts.map +1 -0
- package/lib/types/store/ObjectsApi.d.ts +117 -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/WorkersApi.d.ts +6 -0
- package/lib/types/store/WorkersApi.d.ts.map +1 -0
- package/lib/types/store/WorkflowsApi.d.ts +71 -0
- package/lib/types/store/WorkflowsApi.d.ts.map +1 -0
- package/lib/types/store/client.d.ts +35 -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 +6 -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 +4 -4
- package/src/store/WorkflowsApi.ts +12 -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,109 @@
|
|
|
1
|
+
import { ApiTopic } from "@vertesia/api-fetch-client";
|
|
2
|
+
import { enhanceExecutionRun } from "./InteractionOutput.js";
|
|
3
|
+
export class RunsApi extends ApiTopic {
|
|
4
|
+
constructor(parent) {
|
|
5
|
+
super(parent, "/api/v1/runs");
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Get the list of all runs
|
|
9
|
+
* @param project optional project id to filter by
|
|
10
|
+
* @param interaction optional interaction id to filter by
|
|
11
|
+
* @returns InteractionResult[]
|
|
12
|
+
**/
|
|
13
|
+
list({ limit, offset, filters }) {
|
|
14
|
+
const query = {
|
|
15
|
+
limit,
|
|
16
|
+
offset,
|
|
17
|
+
...filters,
|
|
18
|
+
};
|
|
19
|
+
return this.get("/", { query: query });
|
|
20
|
+
}
|
|
21
|
+
find(payload) {
|
|
22
|
+
return this.post("/find", {
|
|
23
|
+
payload,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Get a run by id
|
|
28
|
+
*
|
|
29
|
+
* @param id
|
|
30
|
+
* @returns InteractionResult
|
|
31
|
+
**/
|
|
32
|
+
async retrieve(id) {
|
|
33
|
+
const r = await this.get("/" + id);
|
|
34
|
+
return enhanceExecutionRun(r);
|
|
35
|
+
}
|
|
36
|
+
retrievePopulated(id) {
|
|
37
|
+
return this.get("/" + id, {
|
|
38
|
+
query: { populate: "true" },
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Get filter options for a field
|
|
43
|
+
* return FilterOption[]
|
|
44
|
+
*/
|
|
45
|
+
filterOptions(field, filters) {
|
|
46
|
+
const query = {
|
|
47
|
+
...filters,
|
|
48
|
+
};
|
|
49
|
+
return this.get(`/filter-options/${field}`, { query });
|
|
50
|
+
}
|
|
51
|
+
async create(payload) {
|
|
52
|
+
const sessionTags = this.client.sessionTags;
|
|
53
|
+
if (sessionTags) {
|
|
54
|
+
let tags = Array.isArray(sessionTags) ? sessionTags : [sessionTags];
|
|
55
|
+
if (Array.isArray(payload.tags)) {
|
|
56
|
+
tags = tags.concat(payload.tags);
|
|
57
|
+
}
|
|
58
|
+
else if (payload.tags) {
|
|
59
|
+
tags = tags.concat([payload.tags]);
|
|
60
|
+
}
|
|
61
|
+
payload = { ...payload, tags };
|
|
62
|
+
}
|
|
63
|
+
const r = await this.post("/", {
|
|
64
|
+
payload,
|
|
65
|
+
});
|
|
66
|
+
return enhanceExecutionRun(r);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Send tool results and continues the conversation
|
|
70
|
+
* @param payload
|
|
71
|
+
* @returns
|
|
72
|
+
*/
|
|
73
|
+
sendToolResults(payload) {
|
|
74
|
+
return this.post(`/tool-results`, {
|
|
75
|
+
payload,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
*
|
|
80
|
+
* @param payload
|
|
81
|
+
* @returns
|
|
82
|
+
*/
|
|
83
|
+
sendUserMessage(payload) {
|
|
84
|
+
return this.post(`/user-message`, {
|
|
85
|
+
payload,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
createCheckpoint(payload) {
|
|
89
|
+
return this.post(`/checkpoint`, {
|
|
90
|
+
payload,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Get the list of all runs facets
|
|
95
|
+
* @param payload query payload to filter facet search
|
|
96
|
+
* @returns ComputeRunFacetsResponse[]
|
|
97
|
+
**/
|
|
98
|
+
computeFacets(query) {
|
|
99
|
+
return this.post("/facets", {
|
|
100
|
+
payload: query,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
search(payload) {
|
|
104
|
+
return this.post("/search", {
|
|
105
|
+
payload,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=RunsApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RunsApi.js","sourceRoot":"","sources":["../../src/RunsApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ApiTopic } from "@vertesia/api-fetch-client";
|
|
2
|
+
/**
|
|
3
|
+
* API client for skill operations.
|
|
4
|
+
* Skills are interactions with agent_runner_options.is_skill = true.
|
|
5
|
+
* They provide contextual instructions to agents by executing/rendering
|
|
6
|
+
* the interaction and returning the result.
|
|
7
|
+
*/
|
|
8
|
+
export default class SkillsApi extends ApiTopic {
|
|
9
|
+
constructor(parent) {
|
|
10
|
+
super(parent, "/api/v1/skills");
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Find skills relevant to a given context.
|
|
14
|
+
* This is the core skill matching API for auto-injection.
|
|
15
|
+
* @param context The context to match against
|
|
16
|
+
* @param limit Maximum number of skills to return (default: 5)
|
|
17
|
+
* @returns Array of injected skills with match scores
|
|
18
|
+
*/
|
|
19
|
+
findRelevant(context, limit) {
|
|
20
|
+
const payload = { context, limit };
|
|
21
|
+
return this.post("/find-relevant", { payload });
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Convenience method to find relevant skills by task description
|
|
25
|
+
* @param taskDescription The task or prompt to match
|
|
26
|
+
* @param toolNames Optional list of tools being used
|
|
27
|
+
* @returns Array of injected skills
|
|
28
|
+
*/
|
|
29
|
+
findRelevantForTask(taskDescription, toolNames) {
|
|
30
|
+
return this.findRelevant({
|
|
31
|
+
task_description: taskDescription,
|
|
32
|
+
tool_names: toolNames,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=SkillsApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SkillsApi.js","sourceRoot":"","sources":["../../src/SkillsApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAc,MAAM,4BAA4B,CAAC;AAOlE;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,QAAQ;IAC3C,YAAY,MAAkB;QAC1B,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,OAAqB,EAAE,KAAc;QAC9C,MAAM,OAAO,GAA8B,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACH,mBAAmB,CACf,eAAuB,EACvB,SAAoB;QAEpB,OAAO,IAAI,CAAC,YAAY,CAAC;YACrB,gBAAgB,EAAE,eAAe;YACjC,UAAU,EAAE,SAAS;SACxB,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"}
|