@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,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. Returens 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,75 @@
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
+ * @param id
28
+ * @returns InteractionResult
29
+ **/
30
+ retrieve(id) {
31
+ return this.get('/' + id);
32
+ }
33
+ /**
34
+ * Get filter options for a field
35
+ * return FilterOption[]
36
+ */
37
+ filterOptions(field, filters) {
38
+ const query = {
39
+ ...filters
40
+ };
41
+ return this.get(`/filter-options/${field}`, { query });
42
+ }
43
+ create(payload) {
44
+ const sessionTags = this.client.sessionTags;
45
+ if (sessionTags) {
46
+ let tags = Array.isArray(sessionTags) ? sessionTags : [sessionTags];
47
+ if (Array.isArray(payload.tags)) {
48
+ tags = tags.concat(payload.tags);
49
+ }
50
+ else if (payload.tags) {
51
+ tags = tags.concat([payload.tags]);
52
+ }
53
+ payload = { ...payload, tags };
54
+ }
55
+ return this.post("/", {
56
+ payload
57
+ });
58
+ }
59
+ /**
60
+ * Get the list of all runs facets
61
+ * @param payload query payload to filter facet search
62
+ * @returns ComputeRunFacetsResponse[]
63
+ **/
64
+ computeFacets(query) {
65
+ return this.post("/facets", {
66
+ payload: query
67
+ });
68
+ }
69
+ search(payload) {
70
+ return this.post("/search", {
71
+ payload
72
+ });
73
+ }
74
+ }
75
+ //# sourceMappingURL=RunsApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RunsApi.js","sourceRoot":"","sources":["../../src/RunsApi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAc,MAAM,4BAA4B,CAAC;AAkBlE,MAAM,OAAO,OAAQ,SAAQ,QAAQ;IAEjC,YAAY,MAAkB;QAC1B,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACjC,CAAC;IAED;;;;;QAKI;IACJ,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAA0B;QAEnD,MAAM,KAAK,GAAG;YACV,KAAK;YACL,MAAM;YACN,GAAG,OAAO;SACb,CAAA;QAED,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;;;;QAII;IACJ,QAAQ,CAAC,EAAU;QACf,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,CAAA;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAE3D,CAAC;IAED,MAAM,CAAC,OAAyB;QAC5B,MAAM,WAAW,GAAI,IAAI,CAAC,MAA2B,CAAC,WAAW,CAAC;QAClE,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,CAAA;YACpC,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACtB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;YACtC,CAAC;YACD,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAA;QAClC,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YAClB,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;CAEJ"}
@@ -0,0 +1,13 @@
1
+ export class StreamSource {
2
+ stream;
3
+ name;
4
+ type;
5
+ id;
6
+ constructor(stream, name, type, id) {
7
+ this.stream = stream;
8
+ this.name = name;
9
+ this.type = type;
10
+ this.id = id;
11
+ }
12
+ }
13
+ //# sourceMappingURL=StreamSource.js.map
@@ -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,154 @@
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 CommandsApi from "./CommandsApi.js";
7
+ import EnvironmentsApi from "./EnvironmentsApi.js";
8
+ import { IamApi } from "./IamApi.js";
9
+ import InteractionsApi from "./InteractionsApi.js";
10
+ import ProjectsApi from "./ProjectsApi.js";
11
+ import PromptsApi from "./PromptsApi.js";
12
+ import { RefsApi } from "./RefsApi.js";
13
+ import { RunsApi } from "./RunsApi.js";
14
+ import { ZenoClient } from "./store/client.js";
15
+ import TrainingApi from "./TrainingApi.js";
16
+ import UsersApi from "./UsersApi.js";
17
+ /**
18
+ * 1 min threshold constant in ms
19
+ */
20
+ const EXPIRATION_THRESHOLD = 60000;
21
+ export class ComposableClient extends AbstractFetchClient {
22
+ /**
23
+ * The JWT token linked to the API KEY (sk or pk)
24
+ */
25
+ _jwt = null;
26
+ /**
27
+ * The store client
28
+ */
29
+ store;
30
+ /**
31
+ * The session name will be sent when executing an interaction as a tag
32
+ */
33
+ sessionTags;
34
+ constructor(opts = {}) {
35
+ super(opts.serverUrl);
36
+ if (!opts.serverUrl) {
37
+ throw new Error("storeUrl is required for ComposableClient");
38
+ }
39
+ if (!opts.storeUrl) {
40
+ throw new Error("storeUrl is required for ComposableClient");
41
+ }
42
+ this.store = new ZenoClient({
43
+ serverUrl: opts.storeUrl,
44
+ apikey: opts.apikey,
45
+ onRequest: opts.onRequest,
46
+ onResponse: opts.onResponse
47
+ });
48
+ if (opts.apikey) {
49
+ this.withApiKey(opts.apikey);
50
+ }
51
+ if (opts.projectId) {
52
+ this.headers["x-project-id"] = opts.projectId;
53
+ }
54
+ this.onRequest = opts.onRequest;
55
+ this.onResponse = opts.onResponse;
56
+ this.sessionTags = opts.sessionTags;
57
+ }
58
+ /**
59
+ * Overwrite to keep store and composable clients synchronized on the auth callback
60
+ * @param authCb
61
+ * @returns
62
+ */
63
+ withAuthCallback(authCb) {
64
+ this.store.withAuthCallback(authCb);
65
+ return super.withAuthCallback(authCb);
66
+ }
67
+ async withApiKey(apiKey) {
68
+ return this.withAuthCallback(apiKey ? async () => {
69
+ if (!isApiKey(apiKey)) {
70
+ return `Bearer ${apiKey}`;
71
+ }
72
+ if (isTokenExpired(this._jwt)) {
73
+ const jwt = await this.getAuthToken(apiKey);
74
+ this._jwt = jwt.token;
75
+ }
76
+ return `Bearer ${this._jwt}`;
77
+ } : undefined);
78
+ }
79
+ /**
80
+ * Alias for store.workflows
81
+ */
82
+ get workflows() {
83
+ return this.store.workflows;
84
+ }
85
+ /**
86
+ * Alias for store.objects
87
+ */
88
+ get objects() {
89
+ return this.store.objects;
90
+ }
91
+ get files() {
92
+ return this.store.files;
93
+ }
94
+ /**
95
+ * Alias for store.types
96
+ */
97
+ get types() {
98
+ return this.store.types;
99
+ }
100
+ set project(projectId) {
101
+ if (projectId) {
102
+ this.headers["x-project-id"] = projectId;
103
+ }
104
+ else {
105
+ delete this.headers["x-project-id"];
106
+ }
107
+ }
108
+ get project() {
109
+ return this.headers["x-project-id"] || null;
110
+ }
111
+ /**
112
+ *
113
+ * Generate a token for use with other Composable's services
114
+ *
115
+ * @param accountId: selected account to generate the token for
116
+ * @returns AuthTokenResponse
117
+ */
118
+ async getAuthToken(token, accountId) {
119
+ const query = {
120
+ accountId,
121
+ token
122
+ };
123
+ return this.get('/auth/token', { query: query, headers: { "authorization": undefined } });
124
+ }
125
+ projects = new ProjectsApi(this);
126
+ environments = new EnvironmentsApi(this);
127
+ interactions = new InteractionsApi(this);
128
+ prompts = new PromptsApi(this);
129
+ runs = new RunsApi(this);
130
+ account = new AccountApi(this);
131
+ accounts = new AccountsApi(this);
132
+ apikeys = new ApiKeysApi(this);
133
+ analytics = new AnalyticsApi(this);
134
+ training = new TrainingApi(this);
135
+ users = new UsersApi(this);
136
+ iam = new IamApi(this);
137
+ refs = new RefsApi(this);
138
+ commands = new CommandsApi(this);
139
+ }
140
+ function isApiKey(apiKey) {
141
+ return (apiKey.startsWith('pk-') || apiKey.startsWith('sk-'));
142
+ }
143
+ function isTokenExpired(token) {
144
+ if (!token) {
145
+ return true;
146
+ }
147
+ const payloadBase64 = token.split('.')[1];
148
+ const decodedJson = Buffer.from(payloadBase64, 'base64').toString();
149
+ const decoded = JSON.parse(decodedJson);
150
+ const exp = decoded.exp;
151
+ const currentTime = Date.now();
152
+ return (currentTime <= exp * 1000 - EXPIRATION_THRESHOLD);
153
+ }
154
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ import { ExecutionRunStatus } from '@vertesia/common';
2
+ export function EventSourceProvider() {
3
+ if (typeof globalThis.EventSource === 'function') {
4
+ return Promise.resolve(globalThis.EventSource);
5
+ }
6
+ else {
7
+ return import('eventsource').then(module => module.default);
8
+ }
9
+ }
10
+ /**
11
+ *
12
+ * Execute an interaction and return a promise which will be resolved with the executed run when
13
+ * the run completes or fails.
14
+ * If the onChunk callback is passed then the streaming of the result is enabled.
15
+ * The onChunk callback with be called with the next chunk of the result as soon as it is available.
16
+ * When all chunks are received the fucntion will return the resolved promise
17
+ * @param id of the interaction to execute
18
+ * @param payload InteractionExecutionPayload
19
+ * @param onChunk callback to be called when the next chunk of the response is available
20
+ */
21
+ export async function executeInteraction(client, interactionId, payload = {}, onChunk) {
22
+ const stream = !!onChunk;
23
+ const response = await client.runs.create({
24
+ ...payload, interaction: interactionId, stream
25
+ });
26
+ if (stream) {
27
+ if (response.status === ExecutionRunStatus.failed) {
28
+ return response;
29
+ }
30
+ await handleStreaming(client, response.id, onChunk);
31
+ }
32
+ return response;
33
+ }
34
+ /**
35
+ * Same as executeInteraction but uses the interaction name selector instead of the id.
36
+ * A name selector is the interaction endpoint name suffuxed with an optional tag or version wich is starting with a `@` character.
37
+ * The special `draft` tag is used to select the draft version of the interaction. If no tag or version is specified then the latest version is selected.
38
+ * Examples of selectors:
39
+ * - `ReviewContract` - select the latest version of the ReviewContract interaction
40
+ * - `ReviewContract@1` - select the version 1 of the ReviewContract interaction
41
+ * - `ReviewContract@draft` - select the draft version of the ReviewContract interaction
42
+ * - `ReviewContract@fixed` - select the ReviewContract interaction which is tagged with 'fixed' tag.
43
+ *
44
+ * @param client
45
+ * @param interaction
46
+ * @param payload
47
+ * @param onChunk
48
+ * @returns
49
+ */
50
+ export async function executeInteractionByName(client, interaction, payload = {}, onChunk) {
51
+ const stream = !!onChunk;
52
+ const response = await client.post('/api/v1/execute', {
53
+ payload: {
54
+ ...payload,
55
+ interaction,
56
+ stream
57
+ },
58
+ });
59
+ if (stream) {
60
+ if (response.status === ExecutionRunStatus.failed) {
61
+ return response;
62
+ }
63
+ await handleStreaming(client, response.id, onChunk);
64
+ }
65
+ return response;
66
+ }
67
+ function handleStreaming(client, runId, onChunk) {
68
+ return new Promise(async (resolve, reject) => {
69
+ try {
70
+ const EventSourceImpl = await EventSourceProvider();
71
+ const streamUrl = new URL(client.runs.baseUrl + '/' + runId + '/stream');
72
+ const bearerToken = client._auth ? await client._auth() : undefined;
73
+ if (bearerToken) {
74
+ const token = bearerToken.split(' ')[1];
75
+ streamUrl.searchParams.set('access_token', token);
76
+ }
77
+ else {
78
+ throw new Error('No auth token available');
79
+ }
80
+ const sse = new EventSourceImpl(streamUrl.href);
81
+ sse.addEventListener("message", ev => {
82
+ try {
83
+ const data = JSON.parse(ev.data);
84
+ if (data) {
85
+ onChunk && onChunk(data);
86
+ }
87
+ }
88
+ catch (err) {
89
+ reject(err);
90
+ }
91
+ });
92
+ sse.addEventListener("close", (ev) => {
93
+ try {
94
+ sse.close();
95
+ const msg = JSON.parse(ev.data);
96
+ resolve(msg);
97
+ }
98
+ catch (err) {
99
+ reject(err);
100
+ }
101
+ });
102
+ }
103
+ catch (err) {
104
+ reject(err);
105
+ }
106
+ });
107
+ }
108
+ //# sourceMappingURL=execute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/execute.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export * from './InteractionBase.js';
2
+ export * from './client.js';
3
+ export * from './InteractionBase.js';
4
+ export * from "./store/index.js";
5
+ export * from "./StreamSource.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AAIrC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { ApiTopic } from "@vertesia/api-fetch-client";
2
+ export class CommandsApi extends ApiTopic {
3
+ constructor(parent) {
4
+ super(parent, "/api/v1/commands");
5
+ }
6
+ embeddings = new EmbeddingsApi(this);
7
+ }
8
+ export class EmbeddingsApi extends ApiTopic {
9
+ constructor(parent) {
10
+ super(parent, "/embeddings");
11
+ }
12
+ async status(type) {
13
+ return this.get(type + "/status");
14
+ }
15
+ async activate(type, config) {
16
+ if (!config.environment) {
17
+ throw new Error("Invalid configuration: select environment");
18
+ }
19
+ return this.post(type + "/enable", { payload: config });
20
+ }
21
+ async disable(type) {
22
+ return this.post(type + "/disable");
23
+ }
24
+ async recalculate(type) {
25
+ return this.post(type + "/recalculate");
26
+ }
27
+ }
28
+ //# sourceMappingURL=CommandsApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandsApi.js","sourceRoot":"","sources":["../../../src/store/CommandsApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAc,MAAM,4BAA4B,CAAC;AAIlE,MAAM,OAAO,WAAY,SAAQ,QAAQ;IAErC,YAAY,MAAkB;QAC1B,KAAK,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACtC,CAAC;IAED,UAAU,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;CAExC;AAED,MAAM,OAAO,aAAc,SAAQ,QAAQ;IAEvC,YAAY,MAAkB;QAC1B,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAA6B;QACtC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAA6B,EAAE,MAA+C;QAEzF,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAA6B;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAA6B;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,CAAC;IAC5C,CAAC;CAEJ"}