larkci 0.2.4 → 0.2.5

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 (46) hide show
  1. package/README.md +188 -18
  2. package/dist/api/client.d.ts +39 -5
  3. package/dist/api/client.d.ts.map +1 -1
  4. package/dist/api/client.js +76 -19
  5. package/dist/api/client.js.map +1 -1
  6. package/dist/api/types.d.ts +75 -19
  7. package/dist/api/types.d.ts.map +1 -1
  8. package/dist/commands/create-workflow.d.ts.map +1 -1
  9. package/dist/commands/create-workflow.js +2 -0
  10. package/dist/commands/create-workflow.js.map +1 -1
  11. package/dist/commands/events.d.ts +3 -0
  12. package/dist/commands/events.d.ts.map +1 -0
  13. package/dist/commands/events.js +34 -0
  14. package/dist/commands/events.js.map +1 -0
  15. package/dist/commands/execution.d.ts.map +1 -1
  16. package/dist/commands/execution.js +0 -26
  17. package/dist/commands/execution.js.map +1 -1
  18. package/dist/commands/generations.d.ts +3 -0
  19. package/dist/commands/generations.d.ts.map +1 -0
  20. package/dist/commands/generations.js +30 -0
  21. package/dist/commands/generations.js.map +1 -0
  22. package/dist/commands/get-workflow.d.ts +3 -0
  23. package/dist/commands/get-workflow.d.ts.map +1 -0
  24. package/dist/commands/get-workflow.js +26 -0
  25. package/dist/commands/get-workflow.js.map +1 -0
  26. package/dist/commands/list-workflows.d.ts.map +1 -1
  27. package/dist/commands/list-workflows.js +2 -0
  28. package/dist/commands/list-workflows.js.map +1 -1
  29. package/dist/commands/repairs.d.ts +3 -0
  30. package/dist/commands/repairs.d.ts.map +1 -0
  31. package/dist/commands/repairs.js +123 -0
  32. package/dist/commands/repairs.js.map +1 -0
  33. package/dist/commands/secret-contexts.d.ts.map +1 -1
  34. package/dist/commands/secret-contexts.js +45 -0
  35. package/dist/commands/secret-contexts.js.map +1 -1
  36. package/dist/commands/update-workflow.d.ts +3 -0
  37. package/dist/commands/update-workflow.d.ts.map +1 -0
  38. package/dist/commands/update-workflow.js +48 -0
  39. package/dist/commands/update-workflow.js.map +1 -0
  40. package/dist/commands/workflow-groups.d.ts +3 -0
  41. package/dist/commands/workflow-groups.d.ts.map +1 -0
  42. package/dist/commands/workflow-groups.js +126 -0
  43. package/dist/commands/workflow-groups.js.map +1 -0
  44. package/dist/index.js +13 -1
  45. package/dist/index.js.map +1 -1
  46. package/package.json +1 -1
package/README.md CHANGED
@@ -58,6 +58,7 @@ larkci workflows create --name "login-flow" --description "Test the login proces
58
58
  | `--description <description>` | Yes | Workflow description | |
59
59
  | `--mode <mode>` | No | Execution mode: `ai_driven` or `deterministic` | `ai_driven` |
60
60
  | `--secret-contexts <contexts...>` | No | Secret contexts to attach to the workflow | |
61
+ | `--group-id <groupId>` | No | Workflow group ID to assign this workflow to | |
61
62
 
62
63
  ```bash
63
64
  # Create a deterministic workflow with secret contexts
@@ -68,6 +69,30 @@ larkci workflows create \
68
69
  --secret-contexts production staging
69
70
  ```
70
71
 
72
+ #### `workflows get` — Get workflow details
73
+
74
+ ```bash
75
+ larkci workflows get <workflow_id>
76
+ ```
77
+
78
+ Returns the full workflow resource including status, mode, schedule, and last execution/generation/repair info.
79
+
80
+ #### `workflows update` — Update a workflow
81
+
82
+ ```bash
83
+ larkci workflows update <workflow_id> --name "new-name" --description "updated description"
84
+ ```
85
+
86
+ | Flag | Description |
87
+ | --------------------------------- | ----------------------------------------------------- |
88
+ | `--name <name>` | New name for the workflow |
89
+ | `--description <description>` | New description for the workflow |
90
+ | `--secret-contexts <contexts...>` | Secret contexts to attach |
91
+ | `--schedule <cron>` | Cron schedule for the workflow |
92
+ | `--group-id <groupId>` | Workflow group ID (use `null` to ungroup) |
93
+
94
+ At least one option is required.
95
+
71
96
  #### `workflows archive` — Archive a workflow
72
97
 
73
98
  ```bash
@@ -90,10 +115,11 @@ Restores an archived workflow so it appears in the list and can be invoked again
90
115
  larkci workflows list
91
116
  ```
92
117
 
93
- | Flag | Description | Default |
94
- | ------------------ | ------------------------------- | ------- |
95
- | `--limit <number>` | Max workflows to return (1–100) | `10` |
96
- | `--offset <number>`| Number of workflows to skip | `0` |
118
+ | Flag | Description | Default |
119
+ | --------------------- | ------------------------------------ | ------- |
120
+ | `--limit <number>` | Max workflows to return (1–100) | `10` |
121
+ | `--offset <number>` | Number of workflows to skip | `0` |
122
+ | `--group-id <groupId>`| Filter workflows by group ID | |
97
123
 
98
124
  #### `workflows invoke` — Invoke workflows
99
125
 
@@ -117,17 +143,6 @@ Either `--workflow-ids` or `--all` is required.
117
143
 
118
144
  Exit codes: `0` = success, `1` = workflow failure, `2` = timeout, `3` = unexpected error.
119
145
 
120
- #### `workflows executions list` — List executions
121
-
122
- ```bash
123
- larkci workflows executions list <workflow_id>
124
- ```
125
-
126
- | Flag | Description | Default |
127
- | ------------------ | -------------------------------- | ------- |
128
- | `--limit <number>` | Max executions to return (1–100) | `10` |
129
- | `--offset <number>`| Number of executions to skip | `0` |
130
-
131
146
  #### `workflows executions get` — Get execution details
132
147
 
133
148
  ```bash
@@ -146,6 +161,107 @@ larkci workflows executions logs <workflow_id> <execution_id>
146
161
  larkci workflows executions cancel <workflow_id> <execution_id>
147
162
  ```
148
163
 
164
+ #### `workflows repairs trigger` — Trigger a workflow repair
165
+
166
+ ```bash
167
+ larkci workflows repairs trigger <workflow_id>
168
+ ```
169
+
170
+ Triggers a repair for a workflow. Returns the repair resource.
171
+
172
+ #### `workflows repairs list` — List workflow repairs
173
+
174
+ ```bash
175
+ larkci workflows repairs list <workflow_id>
176
+ ```
177
+
178
+ | Flag | Description | Default |
179
+ | ------------------ | ------------------------------ | ------- |
180
+ | `--limit <number>` | Max repairs to return (1–100) | `10` |
181
+ | `--offset <number>`| Number of repairs to skip | `0` |
182
+
183
+ #### `workflows repairs get` — Get repair details
184
+
185
+ ```bash
186
+ larkci workflows repairs get <workflow_id> <repair_id>
187
+ ```
188
+
189
+ #### `workflows repairs cancel` — Cancel a running repair
190
+
191
+ ```bash
192
+ larkci workflows repairs cancel <workflow_id> <repair_id>
193
+ ```
194
+
195
+ #### `workflows repairs logs` — Get repair logs
196
+
197
+ ```bash
198
+ larkci workflows repairs logs <workflow_id> <repair_id>
199
+ ```
200
+
201
+ #### `workflows generations cancel` — Cancel a running generation
202
+
203
+ ```bash
204
+ larkci workflows generations cancel <workflow_id> <generation_id>
205
+ ```
206
+
207
+ #### `workflows events list` — List workflow events
208
+
209
+ ```bash
210
+ larkci workflows events list <workflow_id>
211
+ ```
212
+
213
+ | Flag | Description | Default |
214
+ | ------------------ | ----------------------------- | ------- |
215
+ | `--limit <number>` | Max events to return (1–100) | `10` |
216
+ | `--offset <number>`| Number of events to skip | `0` |
217
+
218
+ Lists all events (generations, executions, repairs) for a workflow.
219
+
220
+ #### `workflow-groups create` — Create a workflow group
221
+
222
+ ```bash
223
+ larkci workflow-groups create --name "Checkout Flow"
224
+ ```
225
+
226
+ | Flag | Required | Description |
227
+ | -------------- | -------- | ---------------------------- |
228
+ | `--name <name>`| Yes | Name of the workflow group |
229
+
230
+ #### `workflow-groups list` — List workflow groups
231
+
232
+ ```bash
233
+ larkci workflow-groups list
234
+ ```
235
+
236
+ | Flag | Description | Default |
237
+ | ------------------ | ----------------------------- | ------- |
238
+ | `--limit <number>` | Max groups to return (1–100) | `10` |
239
+ | `--offset <number>`| Number of groups to skip | `0` |
240
+
241
+ #### `workflow-groups get` — Get a workflow group
242
+
243
+ ```bash
244
+ larkci workflow-groups get <group_id>
245
+ ```
246
+
247
+ #### `workflow-groups update` — Update a workflow group
248
+
249
+ ```bash
250
+ larkci workflow-groups update <group_id> --name "Updated Name"
251
+ ```
252
+
253
+ | Flag | Description |
254
+ | --------------- | -------------------------------- |
255
+ | `--name <name>` | New name for the workflow group |
256
+
257
+ #### `workflow-groups delete` — Delete a workflow group
258
+
259
+ ```bash
260
+ larkci workflow-groups delete <group_id>
261
+ ```
262
+
263
+ Workflows in the group become ungrouped.
264
+
149
265
  #### `secret-contexts list` — List secret contexts
150
266
 
151
267
  ```bash
@@ -182,6 +298,19 @@ larkci secret-contexts create \
182
298
  --secret password=testpass
183
299
  ```
184
300
 
301
+ #### `secret-contexts update` — Update a key in a secret context
302
+
303
+ ```bash
304
+ larkci secret-contexts update <context> --key <key> --value <value>
305
+ ```
306
+
307
+ | Flag | Required | Description |
308
+ | ----------------- | -------- | ------------------------------------ |
309
+ | `--key <key>` | Yes | The key to create or update |
310
+ | `--value <value>` | Yes | The new value for the key |
311
+
312
+ If the key already exists its value is replaced; if it does not exist it is added.
313
+
185
314
  #### `secret-contexts delete` — Delete a secret context
186
315
 
187
316
  ```bash
@@ -190,15 +319,32 @@ larkci secret-contexts delete <context>
190
319
 
191
320
  Permanently deletes a secret context. Workflows referencing it will no longer have access.
192
321
 
322
+ #### `secret-contexts delete-key` — Delete a key from a secret context
323
+
324
+ ```bash
325
+ larkci secret-contexts delete-key <context> <key>
326
+ ```
327
+
328
+ Removes a single key-value pair from an existing secret context.
329
+
193
330
  ### Examples
194
331
 
195
332
  ```bash
196
333
  # Create a workflow
197
334
  larkci workflows create --name "signup-flow" --description "Test user signup"
198
335
 
336
+ # Get workflow details
337
+ larkci workflows get wf_abc123
338
+
339
+ # Update a workflow
340
+ larkci workflows update wf_abc123 --name "updated-signup-flow" --schedule "0 9 * * *"
341
+
199
342
  # List your workflows
200
343
  larkci workflows list --limit 20
201
344
 
345
+ # List workflows in a group
346
+ larkci workflows list --group-id grp_abc123
347
+
202
348
  # Archive a workflow
203
349
  larkci workflows archive wf_abc123
204
350
 
@@ -214,9 +360,6 @@ larkci workflows invoke --workflow-ids wf_abc123 --wait
214
360
  # Invoke and wait (up to 5 minutes) with verbose logs
215
361
  larkci workflows invoke --workflow-ids wf_abc123 --wait --timeout 300 --verbose
216
362
 
217
- # List recent executions for a workflow
218
- larkci workflows executions list wf_abc123
219
-
220
363
  # Check execution status
221
364
  larkci workflows executions get wf_abc123 exec_xyz789
222
365
 
@@ -226,18 +369,45 @@ larkci workflows executions logs wf_abc123 exec_xyz789
226
369
  # Cancel a running execution
227
370
  larkci workflows executions cancel wf_abc123 exec_xyz789
228
371
 
372
+ # Trigger a repair
373
+ larkci workflows repairs trigger wf_abc123
374
+
375
+ # List repairs
376
+ larkci workflows repairs list wf_abc123
377
+
378
+ # Cancel a generation
379
+ larkci workflows generations cancel wf_abc123 gen_xyz789
380
+
381
+ # List events
382
+ larkci workflows events list wf_abc123
383
+
384
+ # Create a workflow group
385
+ larkci workflow-groups create --name "Checkout Flow"
386
+
387
+ # List workflow groups
388
+ larkci workflow-groups list
389
+
390
+ # Delete a workflow group
391
+ larkci workflow-groups delete grp_abc123
392
+
229
393
  # Override API key inline
230
394
  larkci --api-key sk-test-key workflows invoke --workflow-ids wf_abc123
231
395
 
232
396
  # Store credentials for a secret context
233
397
  larkci secret-contexts create --context production --secret username=admin --secret password=s3cret
234
398
 
399
+ # Update a single key in a secret context
400
+ larkci secret-contexts update production --key password --value new-s3cret
401
+
235
402
  # List all secret contexts
236
403
  larkci secret-contexts list
237
404
 
238
405
  # View the keys stored in a secret context
239
406
  larkci secret-contexts get production
240
407
 
408
+ # Delete a key from a secret context
409
+ larkci secret-contexts delete-key production password
410
+
241
411
  # Delete a secret context
242
412
  larkci secret-contexts delete production
243
413
  ```
@@ -1,5 +1,5 @@
1
1
  import type { Config } from "../config.js";
2
- import type { GetSecretContextResponse, ListSecretContextsResponse, ListWorkflowExecutionsResponse, ListWorkflowsResponse, WorkflowExecutionResource, WorkflowResource } from "./types.js";
2
+ import type { GetSecretContextResponse, ListSecretContextsResponse, ListWorkflowEventsResponse, ListWorkflowGroupsResponse, ListWorkflowRepairsResponse, ListWorkflowsResponse, WorkflowExecutionResource, WorkflowGenerationResource, WorkflowGroupResource, WorkflowRepairResource, WorkflowResource } from "./types.js";
3
3
  export declare class TimeoutError extends Error {
4
4
  constructor(message: string);
5
5
  }
@@ -13,11 +13,21 @@ export declare class LarkCIClient {
13
13
  private apiKey;
14
14
  constructor(config: Config);
15
15
  private request;
16
+ private buildQueryPath;
16
17
  createWorkflow(options: {
17
18
  name: string;
18
19
  description: string;
19
20
  secret_contexts?: string[];
20
21
  mode?: "ai_driven" | "deterministic";
22
+ group_id?: string;
23
+ }): Promise<WorkflowResource>;
24
+ getWorkflow(workflowId: string): Promise<WorkflowResource>;
25
+ updateWorkflow(workflowId: string, options: {
26
+ name?: string;
27
+ description?: string;
28
+ secret_contexts?: string[];
29
+ schedule?: string | null;
30
+ group_id?: string | null;
21
31
  }): Promise<WorkflowResource>;
22
32
  archiveWorkflow(workflowId: string): Promise<WorkflowResource>;
23
33
  unarchiveWorkflow(workflowId: string): Promise<WorkflowResource>;
@@ -25,21 +35,45 @@ export declare class LarkCIClient {
25
35
  listWorkflows(options?: {
26
36
  limit?: number;
27
37
  offset?: number;
38
+ group_id?: string;
28
39
  }): Promise<ListWorkflowsResponse>;
29
- listWorkflowExecutions(workflowId: string, options?: {
30
- limit?: number;
31
- offset?: number;
32
- }): Promise<ListWorkflowExecutionsResponse>;
33
40
  getWorkflowExecution(workflowId: string, executionId: string): Promise<WorkflowExecutionResource>;
34
41
  getWorkflowExecutionLogs(workflowId: string, executionId: string): Promise<string[]>;
35
42
  cancelWorkflowExecution(workflowId: string, executionId: string): Promise<WorkflowExecutionResource>;
43
+ cancelWorkflowGeneration(workflowId: string, generationId: string): Promise<WorkflowGenerationResource>;
44
+ repairWorkflow(workflowId: string): Promise<WorkflowRepairResource>;
45
+ listWorkflowRepairs(workflowId: string, options?: {
46
+ limit?: number;
47
+ offset?: number;
48
+ }): Promise<ListWorkflowRepairsResponse>;
49
+ getWorkflowRepair(workflowId: string, repairId: string): Promise<WorkflowRepairResource>;
50
+ cancelWorkflowRepair(workflowId: string, repairId: string): Promise<WorkflowRepairResource>;
51
+ getWorkflowRepairLogs(workflowId: string, repairId: string): Promise<string[]>;
52
+ listWorkflowEvents(workflowId: string, options?: {
53
+ limit?: number;
54
+ offset?: number;
55
+ }): Promise<ListWorkflowEventsResponse>;
36
56
  listSecretContexts(): Promise<ListSecretContextsResponse>;
37
57
  getSecretContext(context: string): Promise<GetSecretContextResponse>;
38
58
  createSecretContext(options: {
39
59
  context: string;
40
60
  value: Record<string, string>;
41
61
  }): Promise<void>;
62
+ updateSecretContext(context: string, key: string, value: string): Promise<void>;
42
63
  deleteSecretContext(context: string): Promise<void>;
64
+ deleteSecretContextKey(context: string, key: string): Promise<void>;
65
+ createWorkflowGroup(options: {
66
+ name: string;
67
+ }): Promise<WorkflowGroupResource>;
68
+ listWorkflowGroups(options?: {
69
+ limit?: number;
70
+ offset?: number;
71
+ }): Promise<ListWorkflowGroupsResponse>;
72
+ getWorkflowGroup(groupId: string): Promise<WorkflowGroupResource>;
73
+ updateWorkflowGroup(groupId: string, options: {
74
+ name?: string;
75
+ }): Promise<WorkflowGroupResource>;
76
+ deleteWorkflowGroup(groupId: string): Promise<void>;
43
77
  pollWorkflowExecution(workflowId: string, executionId: string, options: PollOptions): Promise<WorkflowExecutionResource>;
44
78
  }
45
79
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,qBAAqB,EACrB,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,CACP,SAAS,EAAE,yBAAyB,EACpC,SAAS,EAAE,MAAM,KACd,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;YAKZ,OAAO;IA2Cf,cAAc,CAAC,OAAO,EAAE;QAC5B,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,EAAE,WAAW,GAAG,eAAe,CAAC;KACtC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIvB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAO9D,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAOhE,cAAc,CAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,yBAAyB,CAAC;IAQ/B,aAAa,CAAC,OAAO,CAAC,EAAE;QAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAW5B,sBAAsB,CAC1B,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,8BAA8B,CAAC;IAapC,oBAAoB,CACxB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,yBAAyB,CAAC;IAO/B,wBAAwB,CAC5B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,EAAE,CAAC;IAOd,uBAAuB,CAC3B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,yBAAyB,CAAC;IAO/B,kBAAkB,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAIzD,gBAAgB,CACpB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,wBAAwB,CAAC;IAO9B,mBAAmB,CAAC,OAAO,EAAE;QACjC,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC/B,GAAG,OAAO,CAAC,IAAI,CAAC;IAIX,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnD,qBAAqB,CACzB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,yBAAyB,CAAC;CA+BtC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
@@ -45,9 +45,25 @@ export class LarkCIClient {
45
45
  return undefined;
46
46
  return JSON.parse(text);
47
47
  }
48
+ buildQueryPath(basePath, params) {
49
+ const qs = new URLSearchParams();
50
+ for (const [key, value] of Object.entries(params)) {
51
+ if (value !== undefined)
52
+ qs.set(key, String(value));
53
+ }
54
+ const query = qs.toString();
55
+ return query ? `${basePath}?${query}` : basePath;
56
+ }
57
+ // ── Workflows ──────────────────────────────────────────────
48
58
  async createWorkflow(options) {
49
59
  return this.request("POST", "/workflows", options);
50
60
  }
61
+ async getWorkflow(workflowId) {
62
+ return this.request("GET", `/workflows/${workflowId}`);
63
+ }
64
+ async updateWorkflow(workflowId, options) {
65
+ return this.request("PUT", `/workflows/${workflowId}`, options);
66
+ }
51
67
  async archiveWorkflow(workflowId) {
52
68
  return this.request("POST", `/workflows/${workflowId}/archive`);
53
69
  }
@@ -58,27 +74,14 @@ export class LarkCIClient {
58
74
  return this.request("POST", `/workflows/${workflowId}/invoke`, {});
59
75
  }
60
76
  async listWorkflows(options) {
61
- const params = new URLSearchParams();
62
- if (options?.limit !== undefined)
63
- params.set("limit", String(options.limit));
64
- if (options?.offset !== undefined)
65
- params.set("offset", String(options.offset));
66
- const query = params.toString();
67
- const path = query ? `/workflows?${query}` : "/workflows";
68
- return this.request("GET", path);
69
- }
70
- async listWorkflowExecutions(workflowId, options) {
71
- const params = new URLSearchParams();
72
- if (options?.limit !== undefined)
73
- params.set("limit", String(options.limit));
74
- if (options?.offset !== undefined)
75
- params.set("offset", String(options.offset));
76
- const query = params.toString();
77
- const path = query
78
- ? `/workflows/${workflowId}/executions?${query}`
79
- : `/workflows/${workflowId}/executions`;
77
+ const path = this.buildQueryPath("/workflows", {
78
+ limit: options?.limit,
79
+ offset: options?.offset,
80
+ group_id: options?.group_id,
81
+ });
80
82
  return this.request("GET", path);
81
83
  }
84
+ // ── Executions ─────────────────────────────────────────────
82
85
  async getWorkflowExecution(workflowId, executionId) {
83
86
  return this.request("GET", `/workflows/${workflowId}/executions/${executionId}`);
84
87
  }
@@ -88,6 +91,33 @@ export class LarkCIClient {
88
91
  async cancelWorkflowExecution(workflowId, executionId) {
89
92
  return this.request("POST", `/workflows/${workflowId}/executions/${executionId}/cancel`);
90
93
  }
94
+ // ── Generations ────────────────────────────────────────────
95
+ async cancelWorkflowGeneration(workflowId, generationId) {
96
+ return this.request("POST", `/workflows/${workflowId}/generations/${generationId}/cancel`);
97
+ }
98
+ // ── Repairs ────────────────────────────────────────────────
99
+ async repairWorkflow(workflowId) {
100
+ return this.request("POST", `/workflows/${workflowId}/repair`);
101
+ }
102
+ async listWorkflowRepairs(workflowId, options) {
103
+ const path = this.buildQueryPath(`/workflows/${workflowId}/repairs`, { limit: options?.limit, offset: options?.offset });
104
+ return this.request("GET", path);
105
+ }
106
+ async getWorkflowRepair(workflowId, repairId) {
107
+ return this.request("GET", `/workflows/${workflowId}/repairs/${repairId}`);
108
+ }
109
+ async cancelWorkflowRepair(workflowId, repairId) {
110
+ return this.request("POST", `/workflows/${workflowId}/repairs/${repairId}/cancel`);
111
+ }
112
+ async getWorkflowRepairLogs(workflowId, repairId) {
113
+ return this.request("GET", `/workflows/${workflowId}/repairs/${repairId}/logs`);
114
+ }
115
+ // ── Events ─────────────────────────────────────────────────
116
+ async listWorkflowEvents(workflowId, options) {
117
+ const path = this.buildQueryPath(`/workflows/${workflowId}/events`, { limit: options?.limit, offset: options?.offset });
118
+ return this.request("GET", path);
119
+ }
120
+ // ── Secret Contexts ────────────────────────────────────────
91
121
  async listSecretContexts() {
92
122
  return this.request("GET", "/secret-contexts");
93
123
  }
@@ -97,9 +127,36 @@ export class LarkCIClient {
97
127
  async createSecretContext(options) {
98
128
  await this.request("POST", "/secret-contexts", options);
99
129
  }
130
+ async updateSecretContext(context, key, value) {
131
+ await this.request("PATCH", `/secret-contexts/${encodeURIComponent(context)}`, { key, value });
132
+ }
100
133
  async deleteSecretContext(context) {
101
134
  await this.request("DELETE", `/secret-contexts/${encodeURIComponent(context)}`);
102
135
  }
136
+ async deleteSecretContextKey(context, key) {
137
+ await this.request("DELETE", `/secret-contexts/${encodeURIComponent(context)}/${encodeURIComponent(key)}`);
138
+ }
139
+ // ── Workflow Groups ────────────────────────────────────────
140
+ async createWorkflowGroup(options) {
141
+ return this.request("POST", "/workflow-groups", options);
142
+ }
143
+ async listWorkflowGroups(options) {
144
+ const path = this.buildQueryPath("/workflow-groups", {
145
+ limit: options?.limit,
146
+ offset: options?.offset,
147
+ });
148
+ return this.request("GET", path);
149
+ }
150
+ async getWorkflowGroup(groupId) {
151
+ return this.request("GET", `/workflow-groups/${groupId}`);
152
+ }
153
+ async updateWorkflowGroup(groupId, options) {
154
+ return this.request("PUT", `/workflow-groups/${groupId}`, options);
155
+ }
156
+ async deleteWorkflowGroup(groupId) {
157
+ await this.request("DELETE", `/workflow-groups/${groupId}`);
158
+ }
159
+ // ── Polling ────────────────────────────────────────────────
103
160
  async pollWorkflowExecution(workflowId, executionId, options) {
104
161
  const { timeoutMs, pollIntervalMs, onPoll } = options;
105
162
  const startTime = Date.now();
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}