larkci 0.2.0 → 0.2.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.
- package/README.md +49 -23
- package/dist/api/client.d.ts +16 -2
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +29 -4
- package/dist/api/client.js.map +1 -1
- package/dist/api/types.d.ts +41 -3
- package/dist/api/types.d.ts.map +1 -1
- package/dist/commands/create-workflow.d.ts +3 -0
- package/dist/commands/create-workflow.d.ts.map +1 -0
- package/dist/commands/create-workflow.js +37 -0
- package/dist/commands/create-workflow.js.map +1 -0
- package/dist/commands/execution.d.ts.map +1 -1
- package/dist/commands/execution.js +48 -0
- package/dist/commands/execution.js.map +1 -1
- package/dist/commands/invoke.d.ts.map +1 -1
- package/dist/commands/invoke.js +13 -2
- package/dist/commands/invoke.js.map +1 -1
- package/dist/commands/list-workflows.d.ts.map +1 -1
- package/dist/commands/list-workflows.js +9 -4
- package/dist/commands/list-workflows.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -2,18 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
Command-line interface for invoking and managing LarkCI testing workflows.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Quickstart
|
|
6
6
|
|
|
7
7
|
Requires Node.js >= 18.
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
|
|
10
|
+
npx -y larkci@latest workflows invoke --all --wait
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
Or
|
|
13
|
+
Or install globally:
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
|
-
|
|
16
|
+
npm install -g larkci@latest
|
|
17
|
+
|
|
18
|
+
larkci workflows invoke --all --wait
|
|
17
19
|
```
|
|
18
20
|
|
|
19
21
|
## Configuration
|
|
@@ -34,28 +36,33 @@ larkci [options] <command>
|
|
|
34
36
|
|
|
35
37
|
### Global Options
|
|
36
38
|
|
|
37
|
-
| Flag
|
|
38
|
-
|
|
39
|
+
| Flag | Description |
|
|
40
|
+
| ----------------- | -------------------------------------------- |
|
|
39
41
|
| `--api-key <key>` | API key (overrides `LARKCI_API_KEY` env var) |
|
|
40
|
-
| `-V, --version`
|
|
41
|
-
| `-h, --help`
|
|
42
|
+
| `-V, --version` | Display the current version |
|
|
43
|
+
| `-h, --help` | Display help |
|
|
42
44
|
|
|
43
45
|
### Commands
|
|
44
46
|
|
|
45
|
-
#### Invoke
|
|
46
|
-
|
|
47
|
-
Start a new execution for a workflow:
|
|
47
|
+
#### Invoke workflows
|
|
48
48
|
|
|
49
49
|
```bash
|
|
50
|
-
|
|
50
|
+
# Invoke all workflows and wait (up to 5 minutes) for completion
|
|
51
|
+
larkci workflows invoke --all --wait --timeout 300
|
|
52
|
+
|
|
53
|
+
# Invoke specific workflows and wait (up to 5 minutes) for completion
|
|
54
|
+
larkci workflows invoke --workflow-ids wf_abc123 wf_def456 wf_ghi789 --wait --timeout 300
|
|
51
55
|
```
|
|
52
56
|
|
|
53
|
-
| Flag
|
|
54
|
-
|
|
55
|
-
| `--
|
|
56
|
-
| `--
|
|
57
|
+
| Flag | Description |
|
|
58
|
+
| ------------------------ | -------------------------------------------------------------------------------- |
|
|
59
|
+
| `--workflow-ids <id...>` | The IDs of the workflow to invoke |
|
|
60
|
+
| `--all` | Invoke all workflows |
|
|
61
|
+
| `--wait` | Wait for the execution to finish (successfully or unsuccessfully) before exiting |
|
|
62
|
+
| `--timeout <seconds>` | Maximum time to wait in seconds (default: 600, requires `--wait`) |
|
|
63
|
+
| `--verbose` | Print verbose output (includes logs) |
|
|
57
64
|
|
|
58
|
-
|
|
65
|
+
Exit codes: `0` = success, `1` = workflow failure, `2` = timeout, `3` = unexpected error.
|
|
59
66
|
|
|
60
67
|
#### Get a workflow execution
|
|
61
68
|
|
|
@@ -76,13 +83,13 @@ larkci workflows executions logs <workflow_id> <execution_id>
|
|
|
76
83
|
### Examples
|
|
77
84
|
|
|
78
85
|
```bash
|
|
79
|
-
# Invoke a workflow
|
|
86
|
+
# Invoke a workflow but don't wait for completion
|
|
80
87
|
larkci workflows invoke wf_abc123
|
|
81
88
|
|
|
82
89
|
# Invoke and wait for completion (10 min default timeout)
|
|
83
90
|
larkci workflows invoke wf_abc123 --wait
|
|
84
91
|
|
|
85
|
-
# Invoke and wait
|
|
92
|
+
# Invoke and wait (up to 5 minutes) for completion
|
|
86
93
|
larkci workflows invoke wf_abc123 --wait --timeout 300
|
|
87
94
|
|
|
88
95
|
# Check execution status
|
|
@@ -95,18 +102,37 @@ larkci workflows executions logs wf_abc123 exec_xyz789
|
|
|
95
102
|
larkci --api-key sk-test-key workflows invoke wf_abc123
|
|
96
103
|
```
|
|
97
104
|
|
|
98
|
-
|
|
105
|
+
## CI Pipeline Usage
|
|
99
106
|
|
|
100
107
|
The `--wait` flag makes it easy to use in CI pipelines. The command will block until the workflow completes and exit with a non-zero code on failure:
|
|
101
108
|
|
|
109
|
+
### GitHub Actions Example
|
|
110
|
+
|
|
111
|
+
Be sure to set the `LARKCI_API_KEY` environment variable in GitHub Actions secrets.
|
|
112
|
+
|
|
102
113
|
```yaml
|
|
103
|
-
|
|
104
|
-
-
|
|
105
|
-
run: larkci workflows invoke ${{ vars.WORKFLOW_ID }} --wait --timeout 300
|
|
114
|
+
- name: Run LarkCI Tests
|
|
115
|
+
run: npx -y larkci@latest workflows invoke --all --wait
|
|
106
116
|
env:
|
|
107
117
|
LARKCI_API_KEY: ${{ secrets.LARKCI_API_KEY }}
|
|
108
118
|
```
|
|
109
119
|
|
|
120
|
+
### CircleCI Example
|
|
121
|
+
|
|
122
|
+
Be sure to set the `LARKCI_API_KEY` environment variable in CircleCI.
|
|
123
|
+
|
|
124
|
+
```yaml
|
|
125
|
+
larkci_tests:
|
|
126
|
+
docker:
|
|
127
|
+
- image: cimg/node:lts
|
|
128
|
+
resource_class: small
|
|
129
|
+
steps:
|
|
130
|
+
- run:
|
|
131
|
+
name: Run LarkCI Tests
|
|
132
|
+
command: |
|
|
133
|
+
npx -y larkci@latest workflows invoke --all --wait
|
|
134
|
+
```
|
|
135
|
+
|
|
110
136
|
## Contributing
|
|
111
137
|
|
|
112
138
|
See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and guidelines.
|
package/dist/api/client.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Config } from "../config.js";
|
|
2
|
-
import type { WorkflowExecutionResource, WorkflowResource } from "./types.js";
|
|
2
|
+
import type { ListWorkflowExecutionsResponse, ListWorkflowsResponse, WorkflowExecutionResource, WorkflowResource } from "./types.js";
|
|
3
3
|
export declare class TimeoutError extends Error {
|
|
4
4
|
constructor(message: string);
|
|
5
5
|
}
|
|
@@ -13,10 +13,24 @@ export declare class LarkCIClient {
|
|
|
13
13
|
private apiKey;
|
|
14
14
|
constructor(config: Config);
|
|
15
15
|
private request;
|
|
16
|
+
createWorkflow(options: {
|
|
17
|
+
name: string;
|
|
18
|
+
description: string;
|
|
19
|
+
secret_contexts?: string[];
|
|
20
|
+
mode?: "ai_driven" | "deterministic";
|
|
21
|
+
}): Promise<WorkflowResource>;
|
|
16
22
|
invokeWorkflow(workflowId: string): Promise<WorkflowExecutionResource>;
|
|
17
|
-
listWorkflows(
|
|
23
|
+
listWorkflows(options?: {
|
|
24
|
+
limit?: number;
|
|
25
|
+
offset?: number;
|
|
26
|
+
}): Promise<ListWorkflowsResponse>;
|
|
27
|
+
listWorkflowExecutions(workflowId: string, options?: {
|
|
28
|
+
limit?: number;
|
|
29
|
+
offset?: number;
|
|
30
|
+
}): Promise<ListWorkflowExecutionsResponse>;
|
|
18
31
|
getWorkflowExecution(workflowId: string, executionId: string): Promise<WorkflowExecutionResource>;
|
|
19
32
|
getWorkflowExecutionLogs(workflowId: string, executionId: string): Promise<string[]>;
|
|
33
|
+
cancelWorkflowExecution(workflowId: string, executionId: string): Promise<WorkflowExecutionResource>;
|
|
20
34
|
pollWorkflowExecution(workflowId: string, executionId: string, options: PollOptions): Promise<WorkflowExecutionResource>;
|
|
21
35
|
}
|
|
22
36
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/api/client.d.ts.map
CHANGED
|
@@ -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,
|
|
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,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;IAyCf,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,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,qBAAqB,CACzB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,yBAAyB,CAAC;CA+BtC"}
|
package/dist/api/client.js
CHANGED
|
@@ -42,12 +42,33 @@ export class LarkCIClient {
|
|
|
42
42
|
}
|
|
43
43
|
return (await response.json());
|
|
44
44
|
}
|
|
45
|
+
async createWorkflow(options) {
|
|
46
|
+
return this.request("POST", "/workflows", options);
|
|
47
|
+
}
|
|
45
48
|
async invokeWorkflow(workflowId) {
|
|
46
49
|
return this.request("POST", `/workflows/${workflowId}/invoke`, {});
|
|
47
50
|
}
|
|
48
|
-
async listWorkflows() {
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
+
async listWorkflows(options) {
|
|
52
|
+
const params = new URLSearchParams();
|
|
53
|
+
if (options?.limit !== undefined)
|
|
54
|
+
params.set("limit", String(options.limit));
|
|
55
|
+
if (options?.offset !== undefined)
|
|
56
|
+
params.set("offset", String(options.offset));
|
|
57
|
+
const query = params.toString();
|
|
58
|
+
const path = query ? `/workflows?${query}` : "/workflows";
|
|
59
|
+
return this.request("GET", path);
|
|
60
|
+
}
|
|
61
|
+
async listWorkflowExecutions(workflowId, options) {
|
|
62
|
+
const params = new URLSearchParams();
|
|
63
|
+
if (options?.limit !== undefined)
|
|
64
|
+
params.set("limit", String(options.limit));
|
|
65
|
+
if (options?.offset !== undefined)
|
|
66
|
+
params.set("offset", String(options.offset));
|
|
67
|
+
const query = params.toString();
|
|
68
|
+
const path = query
|
|
69
|
+
? `/workflows/${workflowId}/executions?${query}`
|
|
70
|
+
: `/workflows/${workflowId}/executions`;
|
|
71
|
+
return this.request("GET", path);
|
|
51
72
|
}
|
|
52
73
|
async getWorkflowExecution(workflowId, executionId) {
|
|
53
74
|
return this.request("GET", `/workflows/${workflowId}/executions/${executionId}`);
|
|
@@ -55,15 +76,19 @@ export class LarkCIClient {
|
|
|
55
76
|
async getWorkflowExecutionLogs(workflowId, executionId) {
|
|
56
77
|
return this.request("GET", `/workflows/${workflowId}/executions/${executionId}/logs`);
|
|
57
78
|
}
|
|
79
|
+
async cancelWorkflowExecution(workflowId, executionId) {
|
|
80
|
+
return this.request("POST", `/workflows/${workflowId}/executions/${executionId}/cancel`);
|
|
81
|
+
}
|
|
58
82
|
async pollWorkflowExecution(workflowId, executionId, options) {
|
|
59
83
|
const { timeoutMs, pollIntervalMs, onPoll } = options;
|
|
60
84
|
const startTime = Date.now();
|
|
61
85
|
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
86
|
+
const terminalStatuses = new Set(["success", "failure", "cancelled"]);
|
|
62
87
|
while (true) {
|
|
63
88
|
const execution = await this.getWorkflowExecution(workflowId, executionId);
|
|
64
89
|
const elapsedMs = Date.now() - startTime;
|
|
65
90
|
await onPoll?.(execution, elapsedMs);
|
|
66
|
-
if (
|
|
91
|
+
if (terminalStatuses.has(execution.status)) {
|
|
67
92
|
return execution;
|
|
68
93
|
}
|
|
69
94
|
if (elapsedMs >= timeoutMs) {
|
package/dist/api/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
|
package/dist/api/types.d.ts
CHANGED
|
@@ -1,17 +1,38 @@
|
|
|
1
|
+
export interface DeterministicWorkflowDetailsResource {
|
|
2
|
+
executable_test_artifact: string | null;
|
|
3
|
+
executable_test_artifact_download_url: string | null;
|
|
4
|
+
}
|
|
1
5
|
export interface WorkflowResource {
|
|
2
6
|
id: string;
|
|
3
7
|
name: string;
|
|
8
|
+
status: "active" | "generating" | "generation_successful" | "generation_failed" | "archived";
|
|
4
9
|
description: string;
|
|
5
|
-
|
|
10
|
+
secret_contexts: string[] | null;
|
|
11
|
+
mode: "ai_driven" | "deterministic";
|
|
12
|
+
deterministic_details: DeterministicWorkflowDetailsResource | null;
|
|
13
|
+
last_execution_id: string | null;
|
|
14
|
+
last_execution_started_at: string | null;
|
|
15
|
+
last_execution_stopped_at: string | null;
|
|
16
|
+
last_execution_result_type: "success" | "failure" | null;
|
|
17
|
+
archived_at: string | null;
|
|
6
18
|
created_at: string;
|
|
7
19
|
updated_at: string;
|
|
8
20
|
}
|
|
21
|
+
export interface ListWorkflowsResponse {
|
|
22
|
+
workflows: WorkflowResource[];
|
|
23
|
+
has_more: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface FrictionPointInterface {
|
|
26
|
+
friction_point: string;
|
|
27
|
+
friction_score: number;
|
|
28
|
+
}
|
|
9
29
|
export interface WorkflowExecutionStepResource {
|
|
10
30
|
step: string;
|
|
11
31
|
result: boolean;
|
|
32
|
+
friction_points: FrictionPointInterface[] | null;
|
|
12
33
|
}
|
|
13
34
|
export interface WorkflowExecutionArtifactResource {
|
|
14
|
-
artifact_type: "screenshot" | "video";
|
|
35
|
+
artifact_type: "screenshot" | "video" | "javascript" | "python" | "shellscript";
|
|
15
36
|
filename: string;
|
|
16
37
|
presigned_url: string;
|
|
17
38
|
presigned_url_expires_at: string;
|
|
@@ -21,7 +42,8 @@ export interface WorkflowExecutionArtifactResource {
|
|
|
21
42
|
export interface WorkflowExecutionResource {
|
|
22
43
|
id: string;
|
|
23
44
|
workflow_id: string;
|
|
24
|
-
status: "pending" | "running" | "success" | "failure";
|
|
45
|
+
status: "pending" | "running" | "success" | "failure" | "cancelled";
|
|
46
|
+
type: string | null;
|
|
25
47
|
artifacts: WorkflowExecutionArtifactResource[];
|
|
26
48
|
steps: WorkflowExecutionStepResource[] | null;
|
|
27
49
|
summary: string | null;
|
|
@@ -30,6 +52,22 @@ export interface WorkflowExecutionResource {
|
|
|
30
52
|
created_at: string;
|
|
31
53
|
updated_at: string;
|
|
32
54
|
}
|
|
55
|
+
export interface ListedWorkflowExecutionResource {
|
|
56
|
+
id: string;
|
|
57
|
+
workflow_id: string;
|
|
58
|
+
status: "pending" | "running" | "success" | "failure" | "cancelled";
|
|
59
|
+
type: string | null;
|
|
60
|
+
steps: WorkflowExecutionStepResource[] | null;
|
|
61
|
+
summary: string | null;
|
|
62
|
+
started_at: string | null;
|
|
63
|
+
stopped_at: string | null;
|
|
64
|
+
created_at: string;
|
|
65
|
+
updated_at: string;
|
|
66
|
+
}
|
|
67
|
+
export interface ListWorkflowExecutionsResponse {
|
|
68
|
+
workflow_executions: ListedWorkflowExecutionResource[];
|
|
69
|
+
has_more: boolean;
|
|
70
|
+
}
|
|
33
71
|
export interface ApiErrorResponse {
|
|
34
72
|
detail: string;
|
|
35
73
|
}
|
package/dist/api/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oCAAoC;IACnD,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,qCAAqC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EACF,QAAQ,GACR,YAAY,GACZ,uBAAuB,GACvB,mBAAmB,GACnB,UAAU,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACjC,IAAI,EAAE,WAAW,GAAG,eAAe,CAAC;IACpC,qBAAqB,EAAE,oCAAoC,GAAG,IAAI,CAAC;IACnE,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,0BAA0B,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC;IACzD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,iCAAiC;IAChD,aAAa,EACT,YAAY,GACZ,OAAO,GACP,YAAY,GACZ,QAAQ,GACR,aAAa,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,wBAAwB,EAAE,MAAM,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IACpE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,iCAAiC,EAAE,CAAC;IAC/C,KAAK,EAAE,6BAA6B,EAAE,GAAG,IAAI,CAAC;IAC9C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,+BAA+B;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IACpE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,6BAA6B,EAAE,GAAG,IAAI,CAAC;IAC9C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,8BAA8B;IAC7C,mBAAmB,EAAE,+BAA+B,EAAE,CAAC;IACvD,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-workflow.d.ts","sourceRoot":"","sources":["../../src/commands/create-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAIjD,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,OAAO,GACf,IAAI,CA6CN"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Option } from "commander";
|
|
2
|
+
import { LarkCIClient } from "../api/client.js";
|
|
3
|
+
import { getConfig } from "../config.js";
|
|
4
|
+
export function registerCreateWorkflowCommand(workflows, program) {
|
|
5
|
+
workflows
|
|
6
|
+
.command("create")
|
|
7
|
+
.description("Create a new workflow")
|
|
8
|
+
.requiredOption("--name <name>", "Name of the workflow")
|
|
9
|
+
.requiredOption("--description <description>", "Description of the workflow")
|
|
10
|
+
.addOption(new Option("--mode <mode>", "Execution mode")
|
|
11
|
+
.choices(["ai_driven", "deterministic"])
|
|
12
|
+
.default("ai_driven"))
|
|
13
|
+
.option("--secret-contexts <contexts...>", "Secret contexts to attach to the workflow")
|
|
14
|
+
.action(async (cmdOpts) => {
|
|
15
|
+
const opts = program.opts();
|
|
16
|
+
const config = getConfig({
|
|
17
|
+
apiKey: opts.apiKey,
|
|
18
|
+
apiUrl: opts.apiUrl,
|
|
19
|
+
});
|
|
20
|
+
const client = new LarkCIClient(config);
|
|
21
|
+
try {
|
|
22
|
+
const workflow = await client.createWorkflow({
|
|
23
|
+
name: cmdOpts.name,
|
|
24
|
+
description: cmdOpts.description,
|
|
25
|
+
mode: cmdOpts.mode,
|
|
26
|
+
secret_contexts: cmdOpts.secretContexts,
|
|
27
|
+
});
|
|
28
|
+
console.log(JSON.stringify(workflow, null, 2));
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
32
|
+
console.error(`Error: ${message}`);
|
|
33
|
+
process.exit(1);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=create-workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-workflow.js","sourceRoot":"","sources":["../../src/commands/create-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAgB,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,UAAU,6BAA6B,CAC3C,SAAkB,EAClB,OAAgB;IAEhB,SAAS;SACN,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,uBAAuB,CAAC;SACpC,cAAc,CAAC,eAAe,EAAE,sBAAsB,CAAC;SACvD,cAAc,CAAC,6BAA6B,EAAE,6BAA6B,CAAC;SAC5E,SAAS,CACR,IAAI,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC;SAC1C,OAAO,CAAC,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;SACvC,OAAO,CAAC,WAAW,CAAC,CACxB;SACA,MAAM,CACL,iCAAiC,EACjC,2CAA2C,CAC5C;SACA,MAAM,CACL,KAAK,EAAE,OAKN,EAAE,EAAE;QACH,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,cAAc,CAAC;gBAC3C,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,eAAe,EAAE,OAAO,CAAC,cAAc;aACxC,CAAC,CAAC;YACH,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,CACF,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/commands/execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,OAAO,GACf,IAAI,
|
|
1
|
+
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/commands/execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,OAAO,GACf,IAAI,CAmHN"}
|
|
@@ -4,6 +4,32 @@ export function registerExecutionCommand(workflows, program) {
|
|
|
4
4
|
const executions = workflows
|
|
5
5
|
.command("executions")
|
|
6
6
|
.description("Manage workflow executions");
|
|
7
|
+
executions
|
|
8
|
+
.command("list")
|
|
9
|
+
.description("List executions for a workflow")
|
|
10
|
+
.argument("<workflow_id>", "The ID of the workflow")
|
|
11
|
+
.option("--limit <number>", "Max number of executions to return (1-100)", "10")
|
|
12
|
+
.option("--offset <number>", "Number of executions to skip", "0")
|
|
13
|
+
.action(async (workflowId, cmdOpts) => {
|
|
14
|
+
const opts = program.opts();
|
|
15
|
+
const config = getConfig({
|
|
16
|
+
apiKey: opts.apiKey,
|
|
17
|
+
apiUrl: opts.apiUrl,
|
|
18
|
+
});
|
|
19
|
+
const client = new LarkCIClient(config);
|
|
20
|
+
try {
|
|
21
|
+
const result = await client.listWorkflowExecutions(workflowId, {
|
|
22
|
+
limit: parseInt(cmdOpts.limit, 10),
|
|
23
|
+
offset: parseInt(cmdOpts.offset, 10),
|
|
24
|
+
});
|
|
25
|
+
console.log(JSON.stringify(result, null, 2));
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
29
|
+
console.error(`Error: ${message}`);
|
|
30
|
+
process.exit(1);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
7
33
|
executions
|
|
8
34
|
.command("get")
|
|
9
35
|
.description("Get details of a specific workflow execution")
|
|
@@ -50,5 +76,27 @@ export function registerExecutionCommand(workflows, program) {
|
|
|
50
76
|
process.exit(1);
|
|
51
77
|
}
|
|
52
78
|
});
|
|
79
|
+
executions
|
|
80
|
+
.command("cancel")
|
|
81
|
+
.description("Cancel a running workflow execution")
|
|
82
|
+
.argument("<workflow_id>", "The ID of the workflow")
|
|
83
|
+
.argument("<execution_id>", "The ID of the execution")
|
|
84
|
+
.action(async (workflowId, executionId) => {
|
|
85
|
+
const opts = program.opts();
|
|
86
|
+
const config = getConfig({
|
|
87
|
+
apiKey: opts.apiKey,
|
|
88
|
+
apiUrl: opts.apiUrl,
|
|
89
|
+
});
|
|
90
|
+
const client = new LarkCIClient(config);
|
|
91
|
+
try {
|
|
92
|
+
const result = await client.cancelWorkflowExecution(workflowId, executionId);
|
|
93
|
+
console.log(JSON.stringify(result, null, 2));
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
97
|
+
console.error(`Error: ${message}`);
|
|
98
|
+
process.exit(1);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
53
101
|
}
|
|
54
102
|
//# sourceMappingURL=execution.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/commands/execution.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,UAAU,wBAAwB,CACtC,SAAkB,EAClB,OAAgB;IAEhB,MAAM,UAAU,GAAG,SAAS;SACzB,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,4BAA4B,CAAC,CAAC;IAE7C,UAAU;SACP,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,8CAA8C,CAAC;SAC3D,QAAQ,CAAC,eAAe,EAAE,wBAAwB,CAAC;SACnD,QAAQ,CAAC,gBAAgB,EAAE,yBAAyB,CAAC;SACrD,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,WAAmB,EAAE,EAAE;QACxD,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,oBAAoB,CAC9C,UAAU,EACV,WAAW,CACZ,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;IAEL,UAAU;SACP,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,4CAA4C,CAAC;SACzD,QAAQ,CAAC,eAAe,EAAE,wBAAwB,CAAC;SACnD,QAAQ,CAAC,gBAAgB,EAAE,yBAAyB,CAAC;SACrD,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,WAAmB,EAAE,EAAE;QACxD,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,IAAI,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAChD,UAAU,EACV,WAAW,CACZ,CAAC;YACF,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;QACH,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"}
|
|
1
|
+
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/commands/execution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +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;AA4EjD,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,OAAO,GACf,IAAI,
|
|
1
|
+
{"version":3,"file":"invoke.d.ts","sourceRoot":"","sources":["../../src/commands/invoke.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AA4EjD,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,OAAO,GACf,IAAI,CAgKN"}
|
package/dist/commands/invoke.js
CHANGED
|
@@ -66,8 +66,8 @@ export function registerInvokeCommand(workflows, program) {
|
|
|
66
66
|
const verbose = cmdOpts.verbose ?? false;
|
|
67
67
|
let workflowIds = [];
|
|
68
68
|
if (cmdOpts.all) {
|
|
69
|
-
const
|
|
70
|
-
workflowIds = workflows.map((workflow) => workflow.id);
|
|
69
|
+
const response = await client.listWorkflows();
|
|
70
|
+
workflowIds = response.workflows.map((workflow) => workflow.id);
|
|
71
71
|
}
|
|
72
72
|
else if (cmdOpts.workflowIds) {
|
|
73
73
|
workflowIds = cmdOpts.workflowIds;
|
|
@@ -109,6 +109,7 @@ export function registerInvokeCommand(workflows, program) {
|
|
|
109
109
|
workflowExecutionResults = await Promise.allSettled(workflowExecutionPromises);
|
|
110
110
|
}
|
|
111
111
|
const failedWorkflowIds = [];
|
|
112
|
+
const cancelledWorkflowIds = [];
|
|
112
113
|
for (const result of workflowExecutionResults) {
|
|
113
114
|
if (result.status === "fulfilled") {
|
|
114
115
|
if (result.value.status === "success") {
|
|
@@ -118,15 +119,25 @@ export function registerInvokeCommand(workflows, program) {
|
|
|
118
119
|
console.error(`Workflow ${result.value.workflow_id} executed with failure. Execution ID: ${result.value.id}. Summary: ${result.value.summary}`);
|
|
119
120
|
failedWorkflowIds.push(result.value.workflow_id);
|
|
120
121
|
}
|
|
122
|
+
else if (result.value.status === "cancelled") {
|
|
123
|
+
console.error(`Workflow ${result.value.workflow_id} was cancelled. Execution ID: ${result.value.id}`);
|
|
124
|
+
cancelledWorkflowIds.push(result.value.workflow_id);
|
|
125
|
+
}
|
|
121
126
|
}
|
|
122
127
|
else {
|
|
123
128
|
console.error(`Error: ${result.reason}`);
|
|
124
129
|
}
|
|
125
130
|
}
|
|
131
|
+
if (cancelledWorkflowIds.length > 0) {
|
|
132
|
+
console.error(`Workflows cancelled: ${cancelledWorkflowIds.join(", ")}`);
|
|
133
|
+
}
|
|
126
134
|
if (failedWorkflowIds.length > 0) {
|
|
127
135
|
console.error(`Workflows finished with status "failure": ${failedWorkflowIds.join(", ")}`);
|
|
128
136
|
process.exit(1);
|
|
129
137
|
}
|
|
138
|
+
if (cancelledWorkflowIds.length > 0) {
|
|
139
|
+
process.exit(1);
|
|
140
|
+
}
|
|
130
141
|
process.exit(0);
|
|
131
142
|
}
|
|
132
143
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke.js","sourceRoot":"","sources":["../../src/commands/invoke.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"invoke.js","sourceRoot":"","sources":["../../src/commands/invoke.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +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,
|
|
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,CAmCN"}
|
|
@@ -4,7 +4,9 @@ export function registerListWorkflowsCommand(workflows, program) {
|
|
|
4
4
|
workflows
|
|
5
5
|
.command("list")
|
|
6
6
|
.description("List non-archived workflows")
|
|
7
|
-
.
|
|
7
|
+
.option("--limit <number>", "Max number of workflows to return (1-100)", "10")
|
|
8
|
+
.option("--offset <number>", "Number of workflows to skip", "0")
|
|
9
|
+
.action(async (cmdOpts) => {
|
|
8
10
|
const opts = program.opts();
|
|
9
11
|
const config = getConfig({
|
|
10
12
|
apiKey: opts.apiKey,
|
|
@@ -12,9 +14,12 @@ export function registerListWorkflowsCommand(workflows, program) {
|
|
|
12
14
|
});
|
|
13
15
|
const client = new LarkCIClient(config);
|
|
14
16
|
try {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
const response = await client.listWorkflows({
|
|
18
|
+
limit: parseInt(cmdOpts.limit, 10),
|
|
19
|
+
offset: parseInt(cmdOpts.offset, 10),
|
|
20
|
+
});
|
|
21
|
+
const activeWorkflows = response.workflows.filter((workflow) => !workflow.archived_at);
|
|
22
|
+
console.log(JSON.stringify({ workflows: activeWorkflows, has_more: response.has_more }, null, 2));
|
|
18
23
|
}
|
|
19
24
|
catch (error) {
|
|
20
25
|
const message = error instanceof Error ? error.message : String(error);
|
|
@@ -1 +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,
|
|
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,KAAK,EAAE,OAA0C,EAAE,EAAE;QAC3D,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;aACrC,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"}
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,7 @@ import { Command, Option } from "commander";
|
|
|
3
3
|
import { registerInvokeCommand } from "./commands/invoke.js";
|
|
4
4
|
import { registerExecutionCommand } from "./commands/execution.js";
|
|
5
5
|
import { registerListWorkflowsCommand } from "./commands/list-workflows.js";
|
|
6
|
+
import { registerCreateWorkflowCommand } from "./commands/create-workflow.js";
|
|
6
7
|
const program = new Command();
|
|
7
8
|
program
|
|
8
9
|
.name("larkci")
|
|
@@ -12,6 +13,7 @@ program
|
|
|
12
13
|
.addOption(new Option("--api-url <url>", "API base URL (overrides LARKCI_API_URL env var)").hideHelp());
|
|
13
14
|
const workflows = program.command("workflows").description("Manage workflows");
|
|
14
15
|
registerListWorkflowsCommand(workflows, program);
|
|
16
|
+
registerCreateWorkflowCommand(workflows, program);
|
|
15
17
|
registerInvokeCommand(workflows, program);
|
|
16
18
|
registerExecutionCommand(workflows, program);
|
|
17
19
|
program.parse();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAE9E,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CACV,kEAAkE,CACnE;KACA,OAAO,CAAC,OAAO,CAAC;KAChB,SAAS,CAAC,IAAI,MAAM,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;KACzE,SAAS,CACR,IAAI,MAAM,CACR,iBAAiB,EACjB,iDAAiD,CAClD,CAAC,QAAQ,EAAE,CACb,CAAC;AAEJ,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;AAE/E,4BAA4B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACjD,6BAA6B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAClD,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC1C,wBAAwB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAE7C,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "larkci",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "LarkCI CLI - Invoke testing workflows and manage test executions",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"author": "",
|
|
@@ -20,7 +20,8 @@
|
|
|
20
20
|
"larkci",
|
|
21
21
|
"cli",
|
|
22
22
|
"testing",
|
|
23
|
-
"ci"
|
|
23
|
+
"ci",
|
|
24
|
+
"e2e-testing"
|
|
24
25
|
],
|
|
25
26
|
"scripts": {
|
|
26
27
|
"build": "tsc",
|
|
@@ -38,4 +39,4 @@
|
|
|
38
39
|
"tsx": "^4.19.0",
|
|
39
40
|
"typescript": "^5.7.0"
|
|
40
41
|
}
|
|
41
|
-
}
|
|
42
|
+
}
|