@cobaltio/cobalt-js 9.0.0 → 9.1.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/cobalt.d.ts +30 -0
- package/cobalt.js +46 -0
- package/cobalt.ts +65 -0
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/Cobalt.html +32 -21
- package/docs/enums/AuthStatus.html +2 -2
- package/docs/enums/AuthType.html +2 -2
- package/docs/interfaces/Application.html +14 -14
- package/docs/interfaces/CobaltOptions.html +3 -3
- package/docs/interfaces/Config.html +2 -2
- package/docs/interfaces/ConfigField.html +4 -4
- package/docs/interfaces/ConfigPayload.html +4 -4
- package/docs/interfaces/ConfigWorkflow.html +2 -2
- package/docs/interfaces/ExecuteWorkflowPayload.html +9 -0
- package/docs/interfaces/Execution.html +2 -2
- package/docs/interfaces/InputField.html +9 -9
- package/docs/interfaces/Label.html +3 -3
- package/docs/interfaces/PublicWorkflow.html +8 -8
- package/docs/interfaces/PublicWorkflowPayload.html +4 -4
- package/docs/interfaces/PublicWorkflowsPayload.html +2 -2
- package/docs/interfaces/RuleOptions.html +2 -2
- package/docs/interfaces/UpdateConfigPayload.html +5 -5
- package/docs/interfaces/WorkflowPayload.html +4 -4
- package/docs/interfaces/WorkflowPayloadResponse.html +4 -0
- package/docs/llms.txt +224 -157
- package/docs/modules.html +1 -1
- package/package.json +1 -1
package/cobalt.d.ts
CHANGED
|
@@ -232,6 +232,21 @@ export interface ConfigWorkflow {
|
|
|
232
232
|
enabled: boolean;
|
|
233
233
|
fields?: ConfigField[];
|
|
234
234
|
}
|
|
235
|
+
export interface WorkflowPayloadResponse {
|
|
236
|
+
payload: Record<string, any>;
|
|
237
|
+
schema?: unknown;
|
|
238
|
+
schema_interpreted?: unknown;
|
|
239
|
+
}
|
|
240
|
+
export interface ExecuteWorkflowPayload {
|
|
241
|
+
/**The workflow id or alias. */
|
|
242
|
+
worklfow: string;
|
|
243
|
+
/** The application's slug this workflow belongs to. */
|
|
244
|
+
slug?: string;
|
|
245
|
+
/** The payload to execute the workflow. */
|
|
246
|
+
payload?: Record<string, any>;
|
|
247
|
+
/** Whether to execute the workflow synchronously. */
|
|
248
|
+
sync_execution?: boolean;
|
|
249
|
+
}
|
|
235
250
|
export interface Execution {
|
|
236
251
|
_id: string;
|
|
237
252
|
id?: string;
|
|
@@ -455,6 +470,21 @@ declare class Cobalt {
|
|
|
455
470
|
* @returns {Promise<unknown>}
|
|
456
471
|
*/
|
|
457
472
|
deleteWorkflow(workflowId: string): Promise<unknown>;
|
|
473
|
+
/**
|
|
474
|
+
* Returns the execution payload for the specified public workflow.
|
|
475
|
+
* @param {String} workflowId The workflow ID.
|
|
476
|
+
* @returns {Promise<WorkflowPayloadResponse>} The workflow payload response.
|
|
477
|
+
*/
|
|
478
|
+
getWorkflowPayload(workflowId: string): Promise<WorkflowPayloadResponse>;
|
|
479
|
+
/**
|
|
480
|
+
* Execute the specified public workflow.
|
|
481
|
+
* @param {ExecuteWorkflowPayload} options The execution payload.
|
|
482
|
+
* @param {String} options.worklfow The workflow id or alias.
|
|
483
|
+
* @param {String} [options.slug] The application's slug this workflow belongs to. Slug is required if you're using workflow alias.
|
|
484
|
+
* @param {Record<string, any>} [options.payload] The execution payload.
|
|
485
|
+
* @returns {Promise<unknown>}
|
|
486
|
+
*/
|
|
487
|
+
executeWorkflow(options: ExecuteWorkflowPayload): Promise<unknown>;
|
|
458
488
|
/**
|
|
459
489
|
* Returns the workflow execution logs for the linked account.
|
|
460
490
|
* @param {Object} [params]
|
package/cobalt.js
CHANGED
|
@@ -538,6 +538,52 @@ class Cobalt {
|
|
|
538
538
|
return yield res.json();
|
|
539
539
|
});
|
|
540
540
|
}
|
|
541
|
+
/**
|
|
542
|
+
* Returns the execution payload for the specified public workflow.
|
|
543
|
+
* @param {String} workflowId The workflow ID.
|
|
544
|
+
* @returns {Promise<WorkflowPayloadResponse>} The workflow payload response.
|
|
545
|
+
*/
|
|
546
|
+
getWorkflowPayload(workflowId) {
|
|
547
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
548
|
+
const res = yield fetch(`${this.baseUrl}/api/v2/public/workflow/request-structure/${workflowId}`, {
|
|
549
|
+
headers: {
|
|
550
|
+
authorization: `Bearer ${this.token}`,
|
|
551
|
+
},
|
|
552
|
+
});
|
|
553
|
+
if (res.status >= 400 && res.status < 600) {
|
|
554
|
+
const error = yield res.json();
|
|
555
|
+
throw error;
|
|
556
|
+
}
|
|
557
|
+
return yield res.json();
|
|
558
|
+
});
|
|
559
|
+
}
|
|
560
|
+
/**
|
|
561
|
+
* Execute the specified public workflow.
|
|
562
|
+
* @param {ExecuteWorkflowPayload} options The execution payload.
|
|
563
|
+
* @param {String} options.worklfow The workflow id or alias.
|
|
564
|
+
* @param {String} [options.slug] The application's slug this workflow belongs to. Slug is required if you're using workflow alias.
|
|
565
|
+
* @param {Record<string, any>} [options.payload] The execution payload.
|
|
566
|
+
* @returns {Promise<unknown>}
|
|
567
|
+
*/
|
|
568
|
+
executeWorkflow(options) {
|
|
569
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
570
|
+
const res = yield fetch(`${this.baseUrl}/api/v2/public/workflow/${options === null || options === void 0 ? void 0 : options.worklfow}/execute`, {
|
|
571
|
+
method: "POST",
|
|
572
|
+
headers: {
|
|
573
|
+
authorization: `Bearer ${this.token}`,
|
|
574
|
+
"content-type": "application/json",
|
|
575
|
+
slug: (options === null || options === void 0 ? void 0 : options.slug) || "",
|
|
576
|
+
sync_execution: (options === null || options === void 0 ? void 0 : options.sync_execution) ? "true" : "false",
|
|
577
|
+
},
|
|
578
|
+
body: JSON.stringify(options === null || options === void 0 ? void 0 : options.payload),
|
|
579
|
+
});
|
|
580
|
+
if (res.status >= 400 && res.status < 600) {
|
|
581
|
+
const error = yield res.json();
|
|
582
|
+
throw error;
|
|
583
|
+
}
|
|
584
|
+
return yield res.json();
|
|
585
|
+
});
|
|
586
|
+
}
|
|
541
587
|
/**
|
|
542
588
|
* Returns the workflow execution logs for the linked account.
|
|
543
589
|
* @param {Object} [params]
|
package/cobalt.ts
CHANGED
|
@@ -252,6 +252,23 @@ export interface ConfigWorkflow {
|
|
|
252
252
|
fields?: ConfigField[];
|
|
253
253
|
}
|
|
254
254
|
|
|
255
|
+
export interface WorkflowPayloadResponse {
|
|
256
|
+
payload: Record<string, any>;
|
|
257
|
+
schema?: unknown;
|
|
258
|
+
schema_interpreted?: unknown;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
export interface ExecuteWorkflowPayload {
|
|
262
|
+
/**The workflow id or alias. */
|
|
263
|
+
worklfow: string;
|
|
264
|
+
/** The application's slug this workflow belongs to. */
|
|
265
|
+
slug?: string;
|
|
266
|
+
/** The payload to execute the workflow. */
|
|
267
|
+
payload?: Record<string, any>;
|
|
268
|
+
/** Whether to execute the workflow synchronously. */
|
|
269
|
+
sync_execution?: boolean;
|
|
270
|
+
}
|
|
271
|
+
|
|
255
272
|
export interface Execution {
|
|
256
273
|
_id: string;
|
|
257
274
|
id?: string;
|
|
@@ -861,6 +878,54 @@ class Cobalt {
|
|
|
861
878
|
return await res.json();
|
|
862
879
|
}
|
|
863
880
|
|
|
881
|
+
/**
|
|
882
|
+
* Returns the execution payload for the specified public workflow.
|
|
883
|
+
* @param {String} workflowId The workflow ID.
|
|
884
|
+
* @returns {Promise<WorkflowPayloadResponse>} The workflow payload response.
|
|
885
|
+
*/
|
|
886
|
+
async getWorkflowPayload(workflowId: string): Promise<WorkflowPayloadResponse> {
|
|
887
|
+
const res = await fetch(`${this.baseUrl}/api/v2/public/workflow/request-structure/${workflowId}`, {
|
|
888
|
+
headers: {
|
|
889
|
+
authorization: `Bearer ${this.token}`,
|
|
890
|
+
},
|
|
891
|
+
});
|
|
892
|
+
|
|
893
|
+
if (res.status >= 400 && res.status < 600) {
|
|
894
|
+
const error = await res.json();
|
|
895
|
+
throw error;
|
|
896
|
+
}
|
|
897
|
+
|
|
898
|
+
return await res.json();
|
|
899
|
+
}
|
|
900
|
+
|
|
901
|
+
/**
|
|
902
|
+
* Execute the specified public workflow.
|
|
903
|
+
* @param {ExecuteWorkflowPayload} options The execution payload.
|
|
904
|
+
* @param {String} options.worklfow The workflow id or alias.
|
|
905
|
+
* @param {String} [options.slug] The application's slug this workflow belongs to. Slug is required if you're using workflow alias.
|
|
906
|
+
* @param {Record<string, any>} [options.payload] The execution payload.
|
|
907
|
+
* @returns {Promise<unknown>}
|
|
908
|
+
*/
|
|
909
|
+
async executeWorkflow(options: ExecuteWorkflowPayload): Promise<unknown> {
|
|
910
|
+
const res = await fetch(`${this.baseUrl}/api/v2/public/workflow/${options?.worklfow}/execute`, {
|
|
911
|
+
method: "POST",
|
|
912
|
+
headers: {
|
|
913
|
+
authorization: `Bearer ${this.token}`,
|
|
914
|
+
"content-type": "application/json",
|
|
915
|
+
slug: options?.slug || "",
|
|
916
|
+
sync_execution: options?.sync_execution ? "true" : "false",
|
|
917
|
+
},
|
|
918
|
+
body: JSON.stringify(options?.payload),
|
|
919
|
+
});
|
|
920
|
+
|
|
921
|
+
if (res.status >= 400 && res.status < 600) {
|
|
922
|
+
const error = await res.json();
|
|
923
|
+
throw error;
|
|
924
|
+
}
|
|
925
|
+
|
|
926
|
+
return await res.json();
|
|
927
|
+
}
|
|
928
|
+
|
|
864
929
|
/**
|
|
865
930
|
* Returns the workflow execution logs for the linked account.
|
|
866
931
|
* @param {Object} [params]
|
package/docs/assets/hierarchy.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
window.hierarchyData = "
|
|
1
|
+
window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzytWsqqurQUAmx4Kpg=="
|
|
@@ -1 +1 @@
|
|
|
1
|
-
window.navigationData = "
|
|
1
|
+
window.navigationData = "eJyVk1FLwzAUhf9LnovFgSJ9E1EQBMc28UF8SNtbG5YlYfcGN8T/Lp3WLi69ja853/kaDs3LhyDYkSjEtad2SZI8ikw4Sa0oBBi/wXxIzlraaJGJtTK1KK4+s6C92juIdbvz8eaNLaWmoVdpiQiYf5+HvfNZ8E3ntKokKWuGujIE20ZWgPlRHmpmF5cnF3h0HYdRUUDwKtOotxFHF02X7xTomjEc8mnNXO61lZzoh5hWPdvtutH2nXH1CCe73UHlCXqUu2AcnZaP/Qi/Kae4N87T+PpDzEkeZAk62j8kXHXuS60qduwQSZdxW0fJdDWmuzFBvvAauJd4lHOaJ1dLgumXEOE4bcqe/1jyD7oAdNYgpGh79lT/+gV47gL5"
|
package/docs/assets/search.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
window.searchData = "
|
|
1
|
+
window.searchData = "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";
|