@vertesia/client 0.42.2

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.
Files changed (193) hide show
  1. package/LICENSE +13 -0
  2. package/lib/cjs/AccountApi.js +66 -0
  3. package/lib/cjs/AccountApi.js.map +1 -0
  4. package/lib/cjs/AccountsApi.js +13 -0
  5. package/lib/cjs/AccountsApi.js.map +1 -0
  6. package/lib/cjs/AnalyticsApi.js +13 -0
  7. package/lib/cjs/AnalyticsApi.js.map +1 -0
  8. package/lib/cjs/ApiKeysApi.js +63 -0
  9. package/lib/cjs/ApiKeysApi.js.map +1 -0
  10. package/lib/cjs/CommandsApi.js +19 -0
  11. package/lib/cjs/CommandsApi.js.map +1 -0
  12. package/lib/cjs/EnvironmentsApi.js +58 -0
  13. package/lib/cjs/EnvironmentsApi.js.map +1 -0
  14. package/lib/cjs/IamApi.js +51 -0
  15. package/lib/cjs/IamApi.js.map +1 -0
  16. package/lib/cjs/InteractionBase.js +44 -0
  17. package/lib/cjs/InteractionBase.js.map +1 -0
  18. package/lib/cjs/InteractionsApi.js +184 -0
  19. package/lib/cjs/InteractionsApi.js.map +1 -0
  20. package/lib/cjs/ProjectsApi.js +48 -0
  21. package/lib/cjs/ProjectsApi.js.map +1 -0
  22. package/lib/cjs/PromptsApi.js +133 -0
  23. package/lib/cjs/PromptsApi.js.map +1 -0
  24. package/lib/cjs/RefsApi.js +14 -0
  25. package/lib/cjs/RefsApi.js.map +1 -0
  26. package/lib/cjs/RunsApi.js +79 -0
  27. package/lib/cjs/RunsApi.js.map +1 -0
  28. package/lib/cjs/StreamSource.js +17 -0
  29. package/lib/cjs/StreamSource.js.map +1 -0
  30. package/lib/cjs/TrainingApi.js +54 -0
  31. package/lib/cjs/TrainingApi.js.map +1 -0
  32. package/lib/cjs/UsersApi.js +13 -0
  33. package/lib/cjs/UsersApi.js.map +1 -0
  34. package/lib/cjs/client.js +161 -0
  35. package/lib/cjs/client.js.map +1 -0
  36. package/lib/cjs/execute.js +146 -0
  37. package/lib/cjs/execute.js.map +1 -0
  38. package/lib/cjs/index.js +22 -0
  39. package/lib/cjs/index.js.map +1 -0
  40. package/lib/cjs/package.json +3 -0
  41. package/lib/cjs/store/CommandsApi.js +33 -0
  42. package/lib/cjs/store/CommandsApi.js.map +1 -0
  43. package/lib/cjs/store/FilesApi.js +122 -0
  44. package/lib/cjs/store/FilesApi.js.map +1 -0
  45. package/lib/cjs/store/ObjectsApi.js +185 -0
  46. package/lib/cjs/store/ObjectsApi.js.map +1 -0
  47. package/lib/cjs/store/TypesApi.js +52 -0
  48. package/lib/cjs/store/TypesApi.js.map +1 -0
  49. package/lib/cjs/store/WorkflowsApi.js +92 -0
  50. package/lib/cjs/store/WorkflowsApi.js.map +1 -0
  51. package/lib/cjs/store/client.js +49 -0
  52. package/lib/cjs/store/client.js.map +1 -0
  53. package/lib/cjs/store/errors.js +11 -0
  54. package/lib/cjs/store/errors.js.map +1 -0
  55. package/lib/cjs/store/index.js +22 -0
  56. package/lib/cjs/store/index.js.map +1 -0
  57. package/lib/esm/AccountApi.js +63 -0
  58. package/lib/esm/AccountApi.js.map +1 -0
  59. package/lib/esm/AccountsApi.js +10 -0
  60. package/lib/esm/AccountsApi.js.map +1 -0
  61. package/lib/esm/AnalyticsApi.js +10 -0
  62. package/lib/esm/AnalyticsApi.js.map +1 -0
  63. package/lib/esm/ApiKeysApi.js +59 -0
  64. package/lib/esm/ApiKeysApi.js.map +1 -0
  65. package/lib/esm/CommandsApi.js +16 -0
  66. package/lib/esm/CommandsApi.js.map +1 -0
  67. package/lib/esm/EnvironmentsApi.js +55 -0
  68. package/lib/esm/EnvironmentsApi.js.map +1 -0
  69. package/lib/esm/IamApi.js +45 -0
  70. package/lib/esm/IamApi.js.map +1 -0
  71. package/lib/esm/InteractionBase.js +40 -0
  72. package/lib/esm/InteractionBase.js.map +1 -0
  73. package/lib/esm/InteractionsApi.js +181 -0
  74. package/lib/esm/InteractionsApi.js.map +1 -0
  75. package/lib/esm/ProjectsApi.js +45 -0
  76. package/lib/esm/ProjectsApi.js.map +1 -0
  77. package/lib/esm/PromptsApi.js +130 -0
  78. package/lib/esm/PromptsApi.js.map +1 -0
  79. package/lib/esm/RefsApi.js +10 -0
  80. package/lib/esm/RefsApi.js.map +1 -0
  81. package/lib/esm/RunsApi.js +75 -0
  82. package/lib/esm/RunsApi.js.map +1 -0
  83. package/lib/esm/StreamSource.js +13 -0
  84. package/lib/esm/StreamSource.js.map +1 -0
  85. package/lib/esm/TrainingApi.js +51 -0
  86. package/lib/esm/TrainingApi.js.map +1 -0
  87. package/lib/esm/UsersApi.js +10 -0
  88. package/lib/esm/UsersApi.js.map +1 -0
  89. package/lib/esm/client.js +154 -0
  90. package/lib/esm/client.js.map +1 -0
  91. package/lib/esm/execute.js +108 -0
  92. package/lib/esm/execute.js.map +1 -0
  93. package/lib/esm/index.js +6 -0
  94. package/lib/esm/index.js.map +1 -0
  95. package/lib/esm/store/CommandsApi.js +28 -0
  96. package/lib/esm/store/CommandsApi.js.map +1 -0
  97. package/lib/esm/store/FilesApi.js +117 -0
  98. package/lib/esm/store/FilesApi.js.map +1 -0
  99. package/lib/esm/store/ObjectsApi.js +181 -0
  100. package/lib/esm/store/ObjectsApi.js.map +1 -0
  101. package/lib/esm/store/TypesApi.js +48 -0
  102. package/lib/esm/store/TypesApi.js.map +1 -0
  103. package/lib/esm/store/WorkflowsApi.js +86 -0
  104. package/lib/esm/store/WorkflowsApi.js.map +1 -0
  105. package/lib/esm/store/client.js +45 -0
  106. package/lib/esm/store/client.js.map +1 -0
  107. package/lib/esm/store/errors.js +7 -0
  108. package/lib/esm/store/errors.js.map +1 -0
  109. package/lib/esm/store/index.js +6 -0
  110. package/lib/esm/store/index.js.map +1 -0
  111. package/lib/tsconfig.tsbuildinfo +1 -0
  112. package/lib/types/AccountApi.d.ts +43 -0
  113. package/lib/types/AccountApi.d.ts.map +1 -0
  114. package/lib/types/AccountsApi.d.ts +6 -0
  115. package/lib/types/AccountsApi.d.ts.map +1 -0
  116. package/lib/types/AnalyticsApi.d.ts +6 -0
  117. package/lib/types/AnalyticsApi.d.ts.map +1 -0
  118. package/lib/types/ApiKeysApi.d.ts +42 -0
  119. package/lib/types/ApiKeysApi.d.ts.map +1 -0
  120. package/lib/types/CommandsApi.d.ts +10 -0
  121. package/lib/types/CommandsApi.d.ts.map +1 -0
  122. package/lib/types/EnvironmentsApi.d.ts +30 -0
  123. package/lib/types/EnvironmentsApi.d.ts.map +1 -0
  124. package/lib/types/IamApi.d.ts +39 -0
  125. package/lib/types/IamApi.d.ts.map +1 -0
  126. package/lib/types/InteractionBase.d.ts +22 -0
  127. package/lib/types/InteractionBase.d.ts.map +1 -0
  128. package/lib/types/InteractionsApi.d.ts +129 -0
  129. package/lib/types/InteractionsApi.d.ts.map +1 -0
  130. package/lib/types/ProjectsApi.d.ts +17 -0
  131. package/lib/types/ProjectsApi.d.ts.map +1 -0
  132. package/lib/types/PromptsApi.d.ts +106 -0
  133. package/lib/types/PromptsApi.d.ts.map +1 -0
  134. package/lib/types/RefsApi.d.ts +6 -0
  135. package/lib/types/RefsApi.d.ts.map +1 -0
  136. package/lib/types/RunsApi.d.ts +62 -0
  137. package/lib/types/RunsApi.d.ts.map +1 -0
  138. package/lib/types/StreamSource.d.ts +7 -0
  139. package/lib/types/StreamSource.d.ts.map +1 -0
  140. package/lib/types/TrainingApi.d.ts +27 -0
  141. package/lib/types/TrainingApi.d.ts.map +1 -0
  142. package/lib/types/UsersApi.d.ts +6 -0
  143. package/lib/types/UsersApi.d.ts.map +1 -0
  144. package/lib/types/client.d.ts +85 -0
  145. package/lib/types/client.d.ts.map +1 -0
  146. package/lib/types/execute.d.ts +32 -0
  147. package/lib/types/execute.d.ts.map +1 -0
  148. package/lib/types/index.d.ts +8 -0
  149. package/lib/types/index.d.ts.map +1 -0
  150. package/lib/types/store/CommandsApi.d.ts +13 -0
  151. package/lib/types/store/CommandsApi.d.ts.map +1 -0
  152. package/lib/types/store/FilesApi.d.ts +41 -0
  153. package/lib/types/store/FilesApi.d.ts.map +1 -0
  154. package/lib/types/store/ObjectsApi.d.ts +76 -0
  155. package/lib/types/store/ObjectsApi.d.ts.map +1 -0
  156. package/lib/types/store/TypesApi.d.ts +13 -0
  157. package/lib/types/store/TypesApi.d.ts.map +1 -0
  158. package/lib/types/store/WorkflowsApi.d.ts +39 -0
  159. package/lib/types/store/WorkflowsApi.d.ts.map +1 -0
  160. package/lib/types/store/client.d.ts +23 -0
  161. package/lib/types/store/client.d.ts.map +1 -0
  162. package/lib/types/store/errors.d.ts +4 -0
  163. package/lib/types/store/errors.d.ts.map +1 -0
  164. package/lib/types/store/index.d.ts +5 -0
  165. package/lib/types/store/index.d.ts.map +1 -0
  166. package/package.json +36 -0
  167. package/src/AccountApi.ts +75 -0
  168. package/src/AccountsApi.ts +18 -0
  169. package/src/AnalyticsApi.ts +20 -0
  170. package/src/ApiKeysApi.ts +67 -0
  171. package/src/CommandsApi.ts +23 -0
  172. package/src/EnvironmentsApi.ts +70 -0
  173. package/src/IamApi.ts +68 -0
  174. package/src/InteractionBase.ts +44 -0
  175. package/src/InteractionsApi.ts +210 -0
  176. package/src/ProjectsApi.ts +58 -0
  177. package/src/PromptsApi.ts +160 -0
  178. package/src/RefsApi.ts +18 -0
  179. package/src/RunsApi.ts +103 -0
  180. package/src/StreamSource.ts +3 -0
  181. package/src/TrainingApi.ts +71 -0
  182. package/src/UsersApi.ts +18 -0
  183. package/src/client.ts +191 -0
  184. package/src/execute.ts +114 -0
  185. package/src/index.ts +8 -0
  186. package/src/store/CommandsApi.ts +42 -0
  187. package/src/store/FilesApi.ts +139 -0
  188. package/src/store/ObjectsApi.ts +245 -0
  189. package/src/store/TypesApi.ts +61 -0
  190. package/src/store/WorkflowsApi.ts +121 -0
  191. package/src/store/client.ts +61 -0
  192. package/src/store/errors.ts +7 -0
  193. package/src/store/index.ts +6 -0
@@ -0,0 +1,117 @@
1
+ import { ApiTopic } from "@vertesia/api-fetch-client";
2
+ import { StreamSource } from "../StreamSource.js";
3
+ export const MEMORIES_PREFIX = 'memories';
4
+ export function getMemoryFilePath(name) {
5
+ const nameWithExt = name.endsWith(".tar.gz") ? name : name + ".tar.gz";
6
+ return `${MEMORIES_PREFIX}/${nameWithExt}`;
7
+ }
8
+ export class FilesApi extends ApiTopic {
9
+ constructor(parent) {
10
+ super(parent, "/api/v1/files");
11
+ }
12
+ /**
13
+ * get the metadata of a blob given its URI. Supported URI are:
14
+ * starting with s3:// and gs://.
15
+ * For s3 blobs use #region to specify the region. Ex: s3://bucket/key#us-west-2
16
+ * @param uri
17
+ * @returns
18
+ */
19
+ getMetadata(uri) {
20
+ return this.get("/metadata", {
21
+ query: {
22
+ file: uri
23
+ }
24
+ });
25
+ }
26
+ /**
27
+ * Get or create a bucket for the project. If the bucket already exists, it does nothing.
28
+ * The bucket URI is returned.
29
+ * @returns
30
+ */
31
+ getOrCreateBucket() {
32
+ return this.post('/bucket');
33
+ }
34
+ getUploadUrl(payload) {
35
+ return this.post('/upload-url', {
36
+ payload
37
+ });
38
+ }
39
+ getDownloadUrl(file) {
40
+ return this.post('/download-url', {
41
+ payload: {
42
+ file
43
+ }
44
+ });
45
+ }
46
+ /**
47
+ * Upload content to a file and return the full path (including bucket name) of the uploaded file
48
+ * @param source
49
+ * @returns
50
+ */
51
+ async uploadFile(source) {
52
+ const isStream = source instanceof StreamSource;
53
+ const { url, path } = await this.getUploadUrl(source);
54
+ await fetch(url, {
55
+ method: 'PUT',
56
+ body: isStream ? source.stream : source,
57
+ //@ts-ignore: duplex is not in the types. See https://github.com/node-fetch/node-fetch/issues/1769
58
+ duplex: isStream ? "half" : undefined,
59
+ headers: {
60
+ 'Content-Type': source.type || 'application/gzip'
61
+ }
62
+ }).then((res) => {
63
+ if (res.ok) {
64
+ return res;
65
+ }
66
+ else {
67
+ console.log(res);
68
+ throw new Error(`Failed to upload file: ${res.statusText}`);
69
+ }
70
+ }).catch(err => {
71
+ console.error('Failed to upload file', err);
72
+ throw err;
73
+ });
74
+ return path;
75
+ }
76
+ async downloadFile(name) {
77
+ const { url } = await this.getDownloadUrl(name);
78
+ const res = await fetch(url, {
79
+ method: 'GET',
80
+ }).then((res) => {
81
+ if (res.ok) {
82
+ return res;
83
+ }
84
+ else {
85
+ console.log(res);
86
+ throw new Error(`Failed to download file ${name}: ${res.statusText}`);
87
+ }
88
+ }).catch(err => {
89
+ console.error(`Failed to download file ${name}.`, err);
90
+ throw err;
91
+ });
92
+ if (!res.body) {
93
+ throw new Error(`No body in response while downloading memory pack ${name}`);
94
+ }
95
+ return res.body;
96
+ }
97
+ async uploadMemoryPack(source) {
98
+ const fileId = getMemoryFilePath(source.name);
99
+ const nameWithExt = source.name.endsWith(".tar.gz") ? source.name : source.name + ".tar.gz";
100
+ if (source instanceof File) {
101
+ let file = source;
102
+ return this.uploadFile(new StreamSource(file.stream(), nameWithExt, file.type, fileId));
103
+ }
104
+ else {
105
+ return this.uploadFile(new StreamSource(source.stream, nameWithExt, source.type, fileId));
106
+ }
107
+ }
108
+ async downloadMemoryPack(name, gunzip = false) {
109
+ let stream = await this.downloadFile(getMemoryFilePath(name));
110
+ if (gunzip) {
111
+ const ds = new DecompressionStream("gzip");
112
+ stream = stream.pipeThrough(ds);
113
+ }
114
+ return stream;
115
+ }
116
+ }
117
+ //# sourceMappingURL=FilesApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilesApi.js","sourceRoot":"","sources":["../../../src/store/FilesApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,181 @@
1
+ import { ApiTopic } from '@vertesia/api-fetch-client';
2
+ import { StreamSource } from '../StreamSource.js';
3
+ export class ObjectsApi extends ApiTopic {
4
+ constructor(parent) {
5
+ super(parent, "/api/v1/objects");
6
+ }
7
+ getUploadUrl(payload) {
8
+ return this.post('/upload-url', {
9
+ payload
10
+ });
11
+ }
12
+ getDownloadUrl(fileUri) {
13
+ return this.post('/download-url', {
14
+ payload: {
15
+ file: fileUri
16
+ }
17
+ });
18
+ }
19
+ getContentSource(objectId) {
20
+ return this.get(`/${objectId}/content-source`);
21
+ }
22
+ list(payload = {}) {
23
+ const limit = payload.limit || 100;
24
+ const offset = payload.offset || 0;
25
+ const query = payload.query || {};
26
+ return this.get("/", {
27
+ query: {
28
+ limit,
29
+ offset,
30
+ ...query
31
+ }
32
+ });
33
+ }
34
+ computeFacets(query) {
35
+ return this.post("/facets", {
36
+ payload: query
37
+ });
38
+ }
39
+ listFolders(path = '/') {
40
+ path; //TODO
41
+ }
42
+ find(payload) {
43
+ return this.post("/find", {
44
+ payload
45
+ });
46
+ }
47
+ search(payload) {
48
+ return this.post("/search", {
49
+ payload
50
+ });
51
+ }
52
+ retrieve(id, select) {
53
+ return this.get(`/${id}`, {
54
+ query: {
55
+ select
56
+ }
57
+ });
58
+ }
59
+ getObjectText(id) {
60
+ return this.get(`/${id}/text`);
61
+ }
62
+ async upload(source) {
63
+ const isStream = source instanceof StreamSource;
64
+ // get a signed URL to upload the file a computed mimeType and the file object id.
65
+ const { url, id, mime_type } = await this.getUploadUrl({
66
+ id: isStream ? source.id : undefined,
67
+ name: source.name,
68
+ mime_type: source.type
69
+ });
70
+ console.log(`Uploading file to ${url}`, { id, mime_type, isStream, source });
71
+ // upload the file content to the signed URL
72
+ /*const res = await this.fetch(url, {
73
+ method: 'PUT',
74
+ //@ts-ignore: duplex is not in the types. See https://github.com/node-fetch/node-fetch/issues/1769
75
+ duplex: isStream ? "half" : undefined,
76
+ body: isStream ? source.stream : source,
77
+ headers: {
78
+ 'Content-Type': mime_type || 'application/octet-stream'
79
+ }
80
+ }).then((res: Response) => {
81
+ if (res.ok) {
82
+ return res;
83
+ } else {
84
+ console.log(res);
85
+ throw new Error(`Failed to upload file: ${res.statusText}`);
86
+ }
87
+ });*/
88
+ const res = await fetch(url, {
89
+ method: 'PUT',
90
+ body: isStream ? source.stream : source,
91
+ //@ts-ignore: duplex is not in the types. See https://github.com/node-fetch/node-fetch/issues/1769
92
+ duplex: isStream ? "half" : undefined,
93
+ headers: {
94
+ 'Content-Type': mime_type || 'application/octet-stream'
95
+ }
96
+ }).then((res) => {
97
+ if (res.ok) {
98
+ return res;
99
+ }
100
+ else {
101
+ console.log(res);
102
+ throw new Error(`Failed to upload file: ${res.statusText}`);
103
+ }
104
+ }).catch(err => {
105
+ console.error('Failed to upload file', err);
106
+ throw err;
107
+ });
108
+ return {
109
+ source: id,
110
+ name: source.name,
111
+ type: mime_type,
112
+ etag: res.headers.get('etag') ?? undefined
113
+ };
114
+ }
115
+ async create(payload) {
116
+ const createPayload = {
117
+ ...payload
118
+ };
119
+ if (payload.content instanceof StreamSource || payload.content instanceof File) {
120
+ createPayload.content = await this.upload(payload.content);
121
+ }
122
+ return await this.post('/', {
123
+ payload: createPayload
124
+ });
125
+ }
126
+ /**
127
+ * Create an object which holds a reference to an external blob (i.e. not in the project bucket)
128
+ * The uri should starts either with gs:// or s3://. Not other protocols are supported yet.
129
+ * For the s3 blobs you must use a hash with the blob #region. Ex: s3://bucket/path/to/file#us-east-1
130
+ * @param uri
131
+ * @param payload
132
+ * @returns
133
+ */
134
+ async createFromExternalSource(uri, payload = {}) {
135
+ const metadata = await (this.client.files.getMetadata(uri));
136
+ const createPayload = {
137
+ ...payload,
138
+ content: {
139
+ source: uri,
140
+ name: metadata.name,
141
+ type: metadata.contentType,
142
+ etag: metadata.etag
143
+ }
144
+ };
145
+ return await this.post('/', {
146
+ payload: createPayload
147
+ });
148
+ }
149
+ update(id, payload) {
150
+ return this.put(`/${id}`, {
151
+ payload
152
+ });
153
+ }
154
+ delete(id) {
155
+ return this.del(`/${id}`);
156
+ }
157
+ listWorkflowRuns(documentId) {
158
+ return this.get(`/${documentId}/workflow-runs`);
159
+ }
160
+ listRenditions(documentId) {
161
+ return this.get(`/${documentId}/renditions`);
162
+ }
163
+ getRendition(documentId, options) {
164
+ const query = {
165
+ max_hw: options.max_hw,
166
+ generate_if_missing: options.generate_if_missing
167
+ };
168
+ return this.get(`/${documentId}/renditions/${options.format}`, { query });
169
+ }
170
+ exportProperties(payload) {
171
+ return this.post("/export", {
172
+ payload
173
+ });
174
+ }
175
+ setEmbedding(id, type, payload) {
176
+ return this.put(`/${id}/embeddings/${type}`, {
177
+ payload
178
+ });
179
+ }
180
+ }
181
+ //# sourceMappingURL=ObjectsApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectsApi.js","sourceRoot":"","sources":["../../../src/store/ObjectsApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { ApiTopic } from "@vertesia/api-fetch-client";
2
+ export class TypesApi extends ApiTopic {
3
+ constructor(parent) {
4
+ super(parent, "/api/v1/types");
5
+ }
6
+ list(payload = {}) {
7
+ const limit = payload.limit || 100;
8
+ const offset = payload.offset || 0;
9
+ const query = payload.query || {};
10
+ return this.get("/", {
11
+ query: {
12
+ limit,
13
+ offset,
14
+ ...query
15
+ }
16
+ });
17
+ }
18
+ find(payload) {
19
+ return this.post("/find", {
20
+ payload
21
+ });
22
+ }
23
+ layouts() {
24
+ return this.get('/', {
25
+ query: { layout: true }
26
+ });
27
+ }
28
+ retrieve(typeId) {
29
+ return this.get(`/${typeId}`);
30
+ }
31
+ getTypeByName(typeName) {
32
+ return this.get(`/name/${typeName}`);
33
+ }
34
+ update(typeId, payload) {
35
+ return this.put(`/${typeId}`, {
36
+ payload
37
+ });
38
+ }
39
+ create(payload) {
40
+ return this.post(`/`, {
41
+ payload
42
+ });
43
+ }
44
+ delete(id) {
45
+ return this.del(`/${id}`);
46
+ }
47
+ }
48
+ //# sourceMappingURL=TypesApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypesApi.js","sourceRoot":"","sources":["../../../src/store/TypesApi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAc,MAAM,4BAA4B,CAAC;AAGlE,MAAM,OAAO,QAAS,SAAQ,QAAQ;IAElC,YAAY,MAAkB;QAC1B,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,UAAmC,EAAE;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC;QACnC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAA2B,CAAC;QAE3D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;YACjB,KAAK,EAAE;gBACH,KAAK;gBACL,MAAM;gBACN,GAAG,KAAK;aACX;SACJ,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC,OAAoB;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACtB,OAAO;SACV,CAAC,CAAC;IACP,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;YACjB,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SAC1B,CAAC,CAAC;IACP,CAAC;IAED,QAAQ,CAAC,MAAc;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,aAAa,CAAC,QAAgB;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,OAAgD;QACnE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,EAAE;YAC1B,OAAO;SACV,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,OAAuC;QAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YAClB,OAAO;SACV,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,EAAU;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC9B,CAAC;CAEJ"}
@@ -0,0 +1,86 @@
1
+ import { ApiTopic } from '@vertesia/api-fetch-client';
2
+ export class WorkflowsApi extends ApiTopic {
3
+ constructor(parent) {
4
+ super(parent, "/api/v1/workflows");
5
+ }
6
+ getActivityCatalog() {
7
+ return this.get("/activity-catalog");
8
+ }
9
+ listRuns(documentId, eventName, ruleId) {
10
+ return this.post(`/runs`, { payload: { documentId, eventName, ruleId } });
11
+ }
12
+ searchRuns(payload) {
13
+ return this.post(`/runs`, { payload: payload });
14
+ }
15
+ getRunDetails(runId, workflowId) {
16
+ return this.get(`/runs/${workflowId}/${runId}`, { query: { workflowId } });
17
+ }
18
+ terminate(workflowId, runId, reason) {
19
+ return this.post(`/runs/${workflowId}/${runId}/terminate`, { payload: { reason } });
20
+ }
21
+ cancel(workflowId, runId, reason) {
22
+ return this.post(`/runs/${workflowId}/${runId}/cancel`, { payload: { reason } });
23
+ }
24
+ execute(name, payload = {}) {
25
+ return this.post(`/execute/${name}`, { payload });
26
+ }
27
+ rules = new WorkflowsRulesApi(this);
28
+ definitions = new WorkflowsDefinitionApi(this);
29
+ }
30
+ export class WorkflowsRulesApi extends ApiTopic {
31
+ constructor(parent) {
32
+ super(parent, "/rules");
33
+ }
34
+ list() {
35
+ return this.get("/");
36
+ }
37
+ retrieve(id) {
38
+ return this.get(`/${id}`);
39
+ }
40
+ update(id, payload) {
41
+ return this.put(`/${id}`, {
42
+ payload
43
+ });
44
+ }
45
+ create(payload) {
46
+ return this.post("/", {
47
+ payload
48
+ });
49
+ }
50
+ delete(id) {
51
+ return this.del(`/${id}`);
52
+ }
53
+ execute(id, objectIds, vars) {
54
+ const payload = {
55
+ objectIds,
56
+ vars
57
+ };
58
+ return this.post(`/${id}/execute`, { payload });
59
+ }
60
+ }
61
+ export class WorkflowsDefinitionApi extends ApiTopic {
62
+ //model: DSLWorkflowDefinition;
63
+ constructor(parent) {
64
+ super(parent, "/definitions");
65
+ }
66
+ list() {
67
+ return this.get("/");
68
+ }
69
+ retrieve(id) {
70
+ return this.get(`/${id}`);
71
+ }
72
+ update(id, payload) {
73
+ return this.put(`/${id}`, {
74
+ payload
75
+ });
76
+ }
77
+ create(payload) {
78
+ return this.post("/", {
79
+ payload
80
+ });
81
+ }
82
+ delete(id) {
83
+ return this.del(`/${id}`);
84
+ }
85
+ }
86
+ //# sourceMappingURL=WorkflowsApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowsApi.js","sourceRoot":"","sources":["../../../src/store/WorkflowsApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { AbstractFetchClient } from "@vertesia/api-fetch-client";
2
+ import { CommandsApi } from "./CommandsApi.js";
3
+ import { ZenoClientNotFoundError } from "./errors.js";
4
+ import { FilesApi } from "./FilesApi.js";
5
+ import { ObjectsApi } from "./ObjectsApi.js";
6
+ import { TypesApi } from "./TypesApi.js";
7
+ import { WorkflowsApi } from "./WorkflowsApi.js";
8
+ function ensureDefined(serverUrl) {
9
+ if (!serverUrl) {
10
+ throw new Error("zeno client serverUrl is required");
11
+ }
12
+ return serverUrl;
13
+ }
14
+ export class ZenoClient extends AbstractFetchClient {
15
+ constructor(opts = {}) {
16
+ super(ensureDefined(opts.serverUrl));
17
+ if (opts.apikey) {
18
+ this.withApiKey(opts.apikey);
19
+ }
20
+ this.onRequest = opts.onRequest;
21
+ this.onResponse = opts.onResponse;
22
+ this.errorFactory = (err) => {
23
+ if (err.status === 404) {
24
+ return new ZenoClientNotFoundError(err.request, err);
25
+ }
26
+ else {
27
+ return err;
28
+ }
29
+ };
30
+ }
31
+ withApiKey(apiKey) {
32
+ return this.withAuthCallback(apiKey ? () => Promise.resolve(`Bearer ${apiKey}`) : undefined);
33
+ }
34
+ runOperation(payload) {
35
+ return this.post("/api/v1/operations", {
36
+ payload
37
+ });
38
+ }
39
+ objects = new ObjectsApi(this);
40
+ types = new TypesApi(this);
41
+ workflows = new WorkflowsApi(this);
42
+ files = new FilesApi(this);
43
+ commands = new CommandsApi(this);
44
+ }
45
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/store/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAgB,MAAM,4BAA4B,CAAC;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AASjD,SAAS,aAAa,CAAC,SAA6B;IAChD,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,MAAM,OAAO,UAAW,SAAQ,mBAA+B;IAE3D,YACI,OAAwB,EAAE;QAE1B,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,CAAC,GAAiB,EAAE,EAAE;YACtC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACrB,OAAO,IAAI,uBAAuB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACJ,OAAO,GAAG,CAAC;YACf,CAAC;QACL,CAAC,CAAA;IACL,CAAC;IAED,UAAU,CAAC,MAAqB;QAC5B,OAAO,IAAI,CAAC,gBAAgB,CACxB,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CACjE,CAAC;IACN,CAAC;IAED,YAAY,CAAC,OAA6B;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YACnC,OAAO;SACV,CAAC,CAAC;IACP,CAAC;IAED,OAAO,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,SAAS,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,QAAQ,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;CACpC"}
@@ -0,0 +1,7 @@
1
+ import { RequestError } from "@vertesia/api-fetch-client";
2
+ export class ZenoClientNotFoundError extends RequestError {
3
+ constructor(req, error) {
4
+ super("Resource not found: " + error.message, req, 404, error.payload);
5
+ }
6
+ }
7
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/store/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,MAAM,OAAO,uBAAwB,SAAQ,YAAY;IACrD,YAAY,GAAY,EAAE,KAAmB;QACzC,KAAK,CAAC,sBAAsB,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3E,CAAC;CACJ"}
@@ -0,0 +1,6 @@
1
+ export * from "./client.js";
2
+ export * from "./CommandsApi.js";
3
+ export * from "./ObjectsApi.js";
4
+ export * from "./TypesApi.js";
5
+ export * from "./WorkflowsApi.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/store/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC"}