@getlark/cli 0.3.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.
Files changed (66) hide show
  1. package/README.md +483 -0
  2. package/dist/api/client.d.ts +79 -0
  3. package/dist/api/client.d.ts.map +1 -0
  4. package/dist/api/client.js +179 -0
  5. package/dist/api/client.js.map +1 -0
  6. package/dist/api/types.d.ts +143 -0
  7. package/dist/api/types.d.ts.map +1 -0
  8. package/dist/api/types.js +2 -0
  9. package/dist/api/types.js.map +1 -0
  10. package/dist/commands/archive-workflow.d.ts +3 -0
  11. package/dist/commands/archive-workflow.d.ts.map +1 -0
  12. package/dist/commands/archive-workflow.js +47 -0
  13. package/dist/commands/archive-workflow.js.map +1 -0
  14. package/dist/commands/create-workflow.d.ts +3 -0
  15. package/dist/commands/create-workflow.d.ts.map +1 -0
  16. package/dist/commands/create-workflow.js +39 -0
  17. package/dist/commands/create-workflow.js.map +1 -0
  18. package/dist/commands/events.d.ts +3 -0
  19. package/dist/commands/events.d.ts.map +1 -0
  20. package/dist/commands/events.js +34 -0
  21. package/dist/commands/events.js.map +1 -0
  22. package/dist/commands/execution.d.ts +3 -0
  23. package/dist/commands/execution.d.ts.map +1 -0
  24. package/dist/commands/execution.js +76 -0
  25. package/dist/commands/execution.js.map +1 -0
  26. package/dist/commands/generations.d.ts +3 -0
  27. package/dist/commands/generations.d.ts.map +1 -0
  28. package/dist/commands/generations.js +30 -0
  29. package/dist/commands/generations.js.map +1 -0
  30. package/dist/commands/get-workflow.d.ts +3 -0
  31. package/dist/commands/get-workflow.d.ts.map +1 -0
  32. package/dist/commands/get-workflow.js +26 -0
  33. package/dist/commands/get-workflow.js.map +1 -0
  34. package/dist/commands/invoke.d.ts +3 -0
  35. package/dist/commands/invoke.d.ts.map +1 -0
  36. package/dist/commands/invoke.js +216 -0
  37. package/dist/commands/invoke.js.map +1 -0
  38. package/dist/commands/list-workflows.d.ts +3 -0
  39. package/dist/commands/list-workflows.d.ts.map +1 -0
  40. package/dist/commands/list-workflows.js +33 -0
  41. package/dist/commands/list-workflows.js.map +1 -0
  42. package/dist/commands/repairs.d.ts +3 -0
  43. package/dist/commands/repairs.d.ts.map +1 -0
  44. package/dist/commands/repairs.js +123 -0
  45. package/dist/commands/repairs.js.map +1 -0
  46. package/dist/commands/secret-contexts.d.ts +3 -0
  47. package/dist/commands/secret-contexts.d.ts.map +1 -0
  48. package/dist/commands/secret-contexts.js +152 -0
  49. package/dist/commands/secret-contexts.js.map +1 -0
  50. package/dist/commands/update-workflow.d.ts +3 -0
  51. package/dist/commands/update-workflow.d.ts.map +1 -0
  52. package/dist/commands/update-workflow.js +48 -0
  53. package/dist/commands/update-workflow.js.map +1 -0
  54. package/dist/commands/workflow-groups.d.ts +3 -0
  55. package/dist/commands/workflow-groups.d.ts.map +1 -0
  56. package/dist/commands/workflow-groups.js +126 -0
  57. package/dist/commands/workflow-groups.js.map +1 -0
  58. package/dist/config.d.ts +9 -0
  59. package/dist/config.d.ts.map +1 -0
  60. package/dist/config.js +13 -0
  61. package/dist/config.js.map +1 -0
  62. package/dist/index.d.ts +3 -0
  63. package/dist/index.d.ts.map +1 -0
  64. package/dist/index.js +36 -0
  65. package/dist/index.js.map +1 -0
  66. package/package.json +50 -0
@@ -0,0 +1,30 @@
1
+ import { LarkCIClient } from "../api/client.js";
2
+ import { getConfig } from "../config.js";
3
+ export function registerGenerationsCommand(workflows, program) {
4
+ const generations = workflows
5
+ .command("generations")
6
+ .description("Manage workflow generations");
7
+ generations
8
+ .command("cancel")
9
+ .description("Cancel a running workflow generation")
10
+ .argument("<workflow_id>", "The ID of the workflow")
11
+ .argument("<generation_id>", "The ID of the generation")
12
+ .action(async (workflowId, generationId) => {
13
+ const opts = program.opts();
14
+ const config = getConfig({
15
+ apiKey: opts.apiKey,
16
+ apiUrl: opts.apiUrl,
17
+ });
18
+ const client = new LarkCIClient(config);
19
+ try {
20
+ const result = await client.cancelWorkflowGeneration(workflowId, generationId);
21
+ console.log(JSON.stringify(result, null, 2));
22
+ }
23
+ catch (error) {
24
+ const message = error instanceof Error ? error.message : String(error);
25
+ console.error(`Error: ${message}`);
26
+ process.exit(1);
27
+ }
28
+ });
29
+ }
30
+ //# sourceMappingURL=generations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generations.js","sourceRoot":"","sources":["../../src/commands/generations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,UAAU,0BAA0B,CACxC,SAAkB,EAClB,OAAgB;IAEhB,MAAM,WAAW,GAAG,SAAS;SAC1B,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,6BAA6B,CAAC,CAAC;IAE9C,WAAW;SACR,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,sCAAsC,CAAC;SACnD,QAAQ,CAAC,eAAe,EAAE,wBAAwB,CAAC;SACnD,QAAQ,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;SACvD,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,YAAoB,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,SAAS,CAAC;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QAExC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAClD,UAAU,EACV,YAAY,CACb,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzD,OAAO,CAAC,KAAK,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerGetWorkflowCommand(workflows: Command, program: Command): void;
3
+ //# sourceMappingURL=get-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-workflow.d.ts","sourceRoot":"","sources":["../../src/commands/get-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,OAAO,GACf,IAAI,CAuBN"}
@@ -0,0 +1,26 @@
1
+ import { LarkCIClient } from "../api/client.js";
2
+ import { getConfig } from "../config.js";
3
+ export function registerGetWorkflowCommand(workflows, program) {
4
+ workflows
5
+ .command("get")
6
+ .description("Get details of a specific workflow")
7
+ .argument("<workflow_id>", "The ID of the workflow")
8
+ .action(async (workflowId) => {
9
+ const opts = program.opts();
10
+ const config = getConfig({
11
+ apiKey: opts.apiKey,
12
+ apiUrl: opts.apiUrl,
13
+ });
14
+ const client = new LarkCIClient(config);
15
+ try {
16
+ const workflow = await client.getWorkflow(workflowId);
17
+ console.log(JSON.stringify(workflow, null, 2));
18
+ }
19
+ catch (error) {
20
+ const message = error instanceof Error ? error.message : String(error);
21
+ console.error(`Error: ${message}`);
22
+ process.exit(1);
23
+ }
24
+ });
25
+ }
26
+ //# sourceMappingURL=get-workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-workflow.js","sourceRoot":"","sources":["../../src/commands/get-workflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,UAAU,0BAA0B,CACxC,SAAkB,EAClB,OAAgB;IAEhB,SAAS;SACN,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,oCAAoC,CAAC;SACjD,QAAQ,CAAC,eAAe,EAAE,wBAAwB,CAAC;SACnD,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,EAAE;QACnC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,SAAS,CAAC;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QAExC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzD,OAAO,CAAC,KAAK,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type Command } from "commander";
2
+ export declare function registerInvokeCommand(workflows: Command, program: Command): void;
3
+ //# sourceMappingURL=invoke.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invoke.d.ts","sourceRoot":"","sources":["../../src/commands/invoke.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAsHjD,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,OAAO,GACf,IAAI,CAmNN"}
@@ -0,0 +1,216 @@
1
+ import { Option } from "commander";
2
+ import { LarkCIClient, TimeoutError } from "../api/client.js";
3
+ import { getConfig } from "../config.js";
4
+ const PAGE_SIZE = 100;
5
+ async function fetchAllWorkflows(client, options) {
6
+ const all = [];
7
+ let offset = 0;
8
+ while (true) {
9
+ const response = await client.listWorkflows({
10
+ limit: PAGE_SIZE,
11
+ offset,
12
+ group_id: options?.group_id,
13
+ });
14
+ all.push(...response.workflows);
15
+ if (!response.has_more)
16
+ break;
17
+ offset += PAGE_SIZE;
18
+ }
19
+ return all;
20
+ }
21
+ async function findGroupByName(client, name) {
22
+ let offset = 0;
23
+ while (true) {
24
+ const response = await client.listWorkflowGroups({
25
+ limit: PAGE_SIZE,
26
+ offset,
27
+ });
28
+ const match = response.workflow_groups.find((g) => g.name === name);
29
+ if (match)
30
+ return match;
31
+ if (!response.has_more)
32
+ return undefined;
33
+ offset += PAGE_SIZE;
34
+ }
35
+ }
36
+ const DEFAULT_TIMEOUT_SECONDS = 600;
37
+ const POLL_INTERVAL_MS = 5_000;
38
+ function formatElapsed(ms) {
39
+ const totalSeconds = Math.round(ms / 1000);
40
+ if (totalSeconds < 60)
41
+ return `${totalSeconds}s`;
42
+ const minutes = Math.floor(totalSeconds / 60);
43
+ const seconds = totalSeconds % 60;
44
+ return `${minutes}m${seconds}s`;
45
+ }
46
+ const logForWorkflow = (workflowId, message, ...optionalParams) => {
47
+ console.log(`[${workflowId}] ${message}`, ...optionalParams);
48
+ };
49
+ async function invokeWorkflow(client, workflowId, wait, timeoutSeconds, verbose) {
50
+ const execution = await client.invokeWorkflow(workflowId);
51
+ if (!wait) {
52
+ return execution;
53
+ }
54
+ let logOffset = 0;
55
+ const finalExecution = await client.pollWorkflowExecution(workflowId, execution.id, {
56
+ timeoutMs: timeoutSeconds * 1000,
57
+ pollIntervalMs: POLL_INTERVAL_MS,
58
+ onPoll: async (exec, elapsedMs) => {
59
+ if (!verbose) {
60
+ return;
61
+ }
62
+ logForWorkflow(workflowId, "Status: %s (%s elapsed)", exec.status, formatElapsed(elapsedMs));
63
+ try {
64
+ const logs = await client.getWorkflowExecutionLogs(workflowId, execution.id);
65
+ if (logs.length > logOffset) {
66
+ for (const line of logs.slice(logOffset)) {
67
+ logForWorkflow(workflowId, "Log: %s", line);
68
+ }
69
+ logOffset = logs.length;
70
+ }
71
+ }
72
+ catch {
73
+ // Logs may not be available yet (e.g. execution is still pending)
74
+ }
75
+ },
76
+ });
77
+ return finalExecution;
78
+ }
79
+ export function registerInvokeCommand(workflows, program) {
80
+ workflows
81
+ .command("invoke")
82
+ .description("Invoke workflow(s)")
83
+ .option("--workflow-ids <id...>", "The IDs of the workflow to invoke")
84
+ .option("--all", "Invoke all workflows", false)
85
+ .option("--group-id <groupId>", "Invoke all workflows in a group (by group ID)")
86
+ .option("--group-name <groupName>", "Invoke all workflows in a group (by group name)")
87
+ .option("--verbose", "Verbose output", false)
88
+ .option("--wait", "Wait for the execution to reach a terminal status before exiting", false)
89
+ .addOption(new Option("--timeout <seconds>", "Maximum time to wait in seconds.")
90
+ .preset(600)
91
+ .argParser(Number))
92
+ .addHelpText("after", "\nRun all workflows and wait for completion:\n$ larkci workflows invoke --all --wait")
93
+ .addHelpText("after", "\nRun a specific workflow and wait for completion:\n$ larkci workflows invoke --workflow-ids wf_abc123 --wait")
94
+ .addHelpText("after", "\nRun all workflows in a group:\n$ larkci workflows invoke --group-id wfl_grp_abc123 --wait")
95
+ .addHelpText("after", '\nRun all workflows in a group by name:\n$ larkci workflows invoke --group-name "Checkout Flow" --wait')
96
+ .action(async (cmdOpts) => {
97
+ const opts = program.opts();
98
+ const config = getConfig({
99
+ apiKey: opts.apiKey,
100
+ apiUrl: opts.apiUrl,
101
+ });
102
+ const client = new LarkCIClient(config);
103
+ const verbose = cmdOpts.verbose ?? false;
104
+ let workflowIds = [];
105
+ if (cmdOpts.all) {
106
+ const workflows = await fetchAllWorkflows(client);
107
+ workflowIds = workflows.map((w) => w.id);
108
+ }
109
+ else if (cmdOpts.groupId) {
110
+ const workflows = await fetchAllWorkflows(client, {
111
+ group_id: cmdOpts.groupId,
112
+ });
113
+ workflowIds = workflows.map((w) => w.id);
114
+ if (workflowIds.length === 0) {
115
+ console.error(`Error: No workflows found in group "${cmdOpts.groupId}".`);
116
+ process.exit(1);
117
+ }
118
+ }
119
+ else if (cmdOpts.groupName) {
120
+ const group = await findGroupByName(client, cmdOpts.groupName);
121
+ if (!group) {
122
+ console.error(`Error: No workflow group found with name "${cmdOpts.groupName}".`);
123
+ process.exit(1);
124
+ }
125
+ const workflows = await fetchAllWorkflows(client, {
126
+ group_id: group.id,
127
+ });
128
+ workflowIds = workflows.map((w) => w.id);
129
+ if (workflowIds.length === 0) {
130
+ console.error(`Error: No workflows found in group "${cmdOpts.groupName}".`);
131
+ process.exit(1);
132
+ }
133
+ }
134
+ else if (cmdOpts.workflowIds) {
135
+ workflowIds = cmdOpts.workflowIds;
136
+ }
137
+ else {
138
+ console.error("Error: No workflow IDs provided. Use --workflow-ids, --group-id, --group-name, or --all to specify workflows.");
139
+ process.exit(1);
140
+ }
141
+ try {
142
+ const timeoutSeconds = cmdOpts.timeout
143
+ ? parseInt(cmdOpts.timeout, 10)
144
+ : DEFAULT_TIMEOUT_SECONDS;
145
+ if (isNaN(timeoutSeconds) || timeoutSeconds <= 0) {
146
+ console.error("Error: --timeout must be a positive number of seconds");
147
+ process.exit(3);
148
+ }
149
+ const workflowExecutionPromises = workflowIds.map((workflowId) => invokeWorkflow(client, workflowId, cmdOpts.wait ?? false, timeoutSeconds, verbose));
150
+ let timeoutPromise;
151
+ if (cmdOpts.timeout) {
152
+ timeoutPromise = new Promise((resolve) => {
153
+ setTimeout(() => {
154
+ resolve();
155
+ }, parseInt(cmdOpts.timeout, 10) * 1000);
156
+ });
157
+ }
158
+ let workflowExecutionResults = [];
159
+ if (timeoutPromise) {
160
+ const result = await Promise.race([
161
+ Promise.allSettled(workflowExecutionPromises),
162
+ timeoutPromise,
163
+ ]);
164
+ if (!result) {
165
+ console.error("Timed out waiting for workflow executions to complete");
166
+ process.exit(2);
167
+ }
168
+ workflowExecutionResults = result;
169
+ }
170
+ else {
171
+ workflowExecutionResults = await Promise.allSettled(workflowExecutionPromises);
172
+ }
173
+ const failedWorkflowIds = [];
174
+ const cancelledWorkflowIds = [];
175
+ for (const result of workflowExecutionResults) {
176
+ if (result.status === "fulfilled") {
177
+ if (result.value.status === "success") {
178
+ console.log(`Workflow ${result.value.workflow_id} executed successfully. Execution ID: ${result.value.id}`);
179
+ }
180
+ else if (result.value.status === "failure") {
181
+ console.error(`Workflow ${result.value.workflow_id} executed with failure. Execution ID: ${result.value.id}. Summary: ${result.value.summary}`);
182
+ failedWorkflowIds.push(result.value.workflow_id);
183
+ }
184
+ else if (result.value.status === "cancelled") {
185
+ console.error(`Workflow ${result.value.workflow_id} was cancelled. Execution ID: ${result.value.id}`);
186
+ cancelledWorkflowIds.push(result.value.workflow_id);
187
+ }
188
+ }
189
+ else {
190
+ console.error(`Error: ${result.reason}`);
191
+ }
192
+ }
193
+ if (cancelledWorkflowIds.length > 0) {
194
+ console.error(`Workflows cancelled: ${cancelledWorkflowIds.join(", ")}`);
195
+ }
196
+ if (failedWorkflowIds.length > 0) {
197
+ console.error(`Workflows finished with status "failure": ${failedWorkflowIds.join(", ")}`);
198
+ process.exit(1);
199
+ }
200
+ if (cancelledWorkflowIds.length > 0) {
201
+ process.exit(1);
202
+ }
203
+ process.exit(0);
204
+ }
205
+ catch (error) {
206
+ if (error instanceof TimeoutError) {
207
+ console.error(`Error: ${error.message}`);
208
+ process.exit(2);
209
+ }
210
+ const message = error instanceof Error ? error.message : String(error);
211
+ console.error(`Error: ${message}`);
212
+ process.exit(3);
213
+ }
214
+ });
215
+ }
216
+ //# sourceMappingURL=invoke.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invoke.js","sourceRoot":"","sources":["../../src/commands/invoke.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerListWorkflowsCommand(workflows: Command, program: Command): void;
3
+ //# sourceMappingURL=list-workflows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-workflows.d.ts","sourceRoot":"","sources":["../../src/commands/list-workflows.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,OAAO,GACf,IAAI,CAqCN"}
@@ -0,0 +1,33 @@
1
+ import { LarkCIClient } from "../api/client.js";
2
+ import { getConfig } from "../config.js";
3
+ export function registerListWorkflowsCommand(workflows, program) {
4
+ workflows
5
+ .command("list")
6
+ .description("List non-archived workflows")
7
+ .option("--limit <number>", "Max number of workflows to return (1-100)", "10")
8
+ .option("--offset <number>", "Number of workflows to skip", "0")
9
+ .option("--group-id <groupId>", "Filter workflows by group ID")
10
+ .action(async (cmdOpts) => {
11
+ const opts = program.opts();
12
+ const config = getConfig({
13
+ apiKey: opts.apiKey,
14
+ apiUrl: opts.apiUrl,
15
+ });
16
+ const client = new LarkCIClient(config);
17
+ try {
18
+ const response = await client.listWorkflows({
19
+ limit: parseInt(cmdOpts.limit, 10),
20
+ offset: parseInt(cmdOpts.offset, 10),
21
+ group_id: cmdOpts.groupId,
22
+ });
23
+ const activeWorkflows = response.workflows.filter((workflow) => !workflow.archived_at);
24
+ console.log(JSON.stringify({ workflows: activeWorkflows, has_more: response.has_more }, null, 2));
25
+ }
26
+ catch (error) {
27
+ const message = error instanceof Error ? error.message : String(error);
28
+ console.error(`Error: ${message}`);
29
+ process.exit(1);
30
+ }
31
+ });
32
+ }
33
+ //# sourceMappingURL=list-workflows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-workflows.js","sourceRoot":"","sources":["../../src/commands/list-workflows.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,UAAU,4BAA4B,CAC1C,SAAkB,EAClB,OAAgB;IAEhB,SAAS;SACN,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,6BAA6B,CAAC;SAC1C,MAAM,CAAC,kBAAkB,EAAE,2CAA2C,EAAE,IAAI,CAAC;SAC7E,MAAM,CAAC,mBAAmB,EAAE,6BAA6B,EAAE,GAAG,CAAC;SAC/D,MAAM,CAAC,sBAAsB,EAAE,8BAA8B,CAAC;SAC9D,MAAM,CAAC,KAAK,EAAE,OAA4D,EAAE,EAAE;QAC7E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,SAAS,CAAC;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QAExC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;gBAC1C,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;gBAClC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBACpC,QAAQ,EAAE,OAAO,CAAC,OAAO;aAC1B,CAAC,CAAC;YACH,MAAM,eAAe,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAC/C,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CACpC,CAAC;YACF,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAC3D,IAAI,EACJ,CAAC,CACF,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,CAAC,KAAK,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerRepairsCommand(workflows: Command, program: Command): void;
3
+ //# sourceMappingURL=repairs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repairs.d.ts","sourceRoot":"","sources":["../../src/commands/repairs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,OAAO,GACf,IAAI,CAgJN"}
@@ -0,0 +1,123 @@
1
+ import { LarkCIClient } from "../api/client.js";
2
+ import { getConfig } from "../config.js";
3
+ export function registerRepairsCommand(workflows, program) {
4
+ const repairs = workflows
5
+ .command("repairs")
6
+ .description("Manage workflow repairs");
7
+ repairs
8
+ .command("trigger")
9
+ .description("Trigger a repair for a workflow")
10
+ .argument("<workflow_id>", "The ID of the workflow")
11
+ .action(async (workflowId) => {
12
+ const opts = program.opts();
13
+ const config = getConfig({
14
+ apiKey: opts.apiKey,
15
+ apiUrl: opts.apiUrl,
16
+ });
17
+ const client = new LarkCIClient(config);
18
+ try {
19
+ const result = await client.repairWorkflow(workflowId);
20
+ console.log(JSON.stringify(result, null, 2));
21
+ }
22
+ catch (error) {
23
+ const message = error instanceof Error ? error.message : String(error);
24
+ console.error(`Error: ${message}`);
25
+ process.exit(1);
26
+ }
27
+ });
28
+ repairs
29
+ .command("list")
30
+ .description("List repairs for a workflow")
31
+ .argument("<workflow_id>", "The ID of the workflow")
32
+ .option("--limit <number>", "Max number of repairs to return (1-100)", "10")
33
+ .option("--offset <number>", "Number of repairs to skip", "0")
34
+ .action(async (workflowId, cmdOpts) => {
35
+ const opts = program.opts();
36
+ const config = getConfig({
37
+ apiKey: opts.apiKey,
38
+ apiUrl: opts.apiUrl,
39
+ });
40
+ const client = new LarkCIClient(config);
41
+ try {
42
+ const result = await client.listWorkflowRepairs(workflowId, {
43
+ limit: parseInt(cmdOpts.limit, 10),
44
+ offset: parseInt(cmdOpts.offset, 10),
45
+ });
46
+ console.log(JSON.stringify(result, null, 2));
47
+ }
48
+ catch (error) {
49
+ const message = error instanceof Error ? error.message : String(error);
50
+ console.error(`Error: ${message}`);
51
+ process.exit(1);
52
+ }
53
+ });
54
+ repairs
55
+ .command("get")
56
+ .description("Get details of a specific workflow repair")
57
+ .argument("<workflow_id>", "The ID of the workflow")
58
+ .argument("<repair_id>", "The ID of the repair")
59
+ .action(async (workflowId, repairId) => {
60
+ const opts = program.opts();
61
+ const config = getConfig({
62
+ apiKey: opts.apiKey,
63
+ apiUrl: opts.apiUrl,
64
+ });
65
+ const client = new LarkCIClient(config);
66
+ try {
67
+ const result = await client.getWorkflowRepair(workflowId, repairId);
68
+ console.log(JSON.stringify(result, null, 2));
69
+ }
70
+ catch (error) {
71
+ const message = error instanceof Error ? error.message : String(error);
72
+ console.error(`Error: ${message}`);
73
+ process.exit(1);
74
+ }
75
+ });
76
+ repairs
77
+ .command("cancel")
78
+ .description("Cancel a running workflow repair")
79
+ .argument("<workflow_id>", "The ID of the workflow")
80
+ .argument("<repair_id>", "The ID of the repair")
81
+ .action(async (workflowId, repairId) => {
82
+ const opts = program.opts();
83
+ const config = getConfig({
84
+ apiKey: opts.apiKey,
85
+ apiUrl: opts.apiUrl,
86
+ });
87
+ const client = new LarkCIClient(config);
88
+ try {
89
+ const result = await client.cancelWorkflowRepair(workflowId, repairId);
90
+ console.log(JSON.stringify(result, null, 2));
91
+ }
92
+ catch (error) {
93
+ const message = error instanceof Error ? error.message : String(error);
94
+ console.error(`Error: ${message}`);
95
+ process.exit(1);
96
+ }
97
+ });
98
+ repairs
99
+ .command("logs")
100
+ .description("Get logs for a specific workflow repair")
101
+ .argument("<workflow_id>", "The ID of the workflow")
102
+ .argument("<repair_id>", "The ID of the repair")
103
+ .action(async (workflowId, repairId) => {
104
+ const opts = program.opts();
105
+ const config = getConfig({
106
+ apiKey: opts.apiKey,
107
+ apiUrl: opts.apiUrl,
108
+ });
109
+ const client = new LarkCIClient(config);
110
+ try {
111
+ const logs = await client.getWorkflowRepairLogs(workflowId, repairId);
112
+ for (const line of logs) {
113
+ console.log(line);
114
+ }
115
+ }
116
+ catch (error) {
117
+ const message = error instanceof Error ? error.message : String(error);
118
+ console.error(`Error: ${message}`);
119
+ process.exit(1);
120
+ }
121
+ });
122
+ }
123
+ //# sourceMappingURL=repairs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repairs.js","sourceRoot":"","sources":["../../src/commands/repairs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerSecretContextsCommand(program: Command): void;
3
+ //# sourceMappingURL=secret-contexts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-contexts.d.ts","sourceRoot":"","sources":["../../src/commands/secret-contexts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,OAAO,GACf,IAAI,CAyLN"}