larkci 0.2.5 → 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.
- package/README.md +115 -84
- package/dist/commands/invoke.d.ts.map +1 -1
- package/dist/commands/invoke.js +66 -4
- package/dist/commands/invoke.js.map +1 -1
- package/package.json +5 -3
package/README.md
CHANGED
|
@@ -2,6 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
Command-line interface for creating, invoking, and managing [LarkCI](https://getlark.ai) testing workflows.
|
|
4
4
|
|
|
5
|
+
## Table of Contents
|
|
6
|
+
|
|
7
|
+
- [Quickstart](#quickstart)
|
|
8
|
+
- [Configuration](#configuration)
|
|
9
|
+
- [CI Pipeline Usage](#ci-pipeline-usage)
|
|
10
|
+
- [Usage](#usage)
|
|
11
|
+
- [workflows](#commands) — create, get, update, list, archive, invoke
|
|
12
|
+
- [workflows executions](#workflows-executions-get--get-execution-details) — get, logs, cancel
|
|
13
|
+
- [workflows repairs](#workflows-repairs-trigger--trigger-a-workflow-repair) — trigger, list, get, cancel, logs
|
|
14
|
+
- [workflows generations](#workflows-generations-cancel--cancel-a-running-generation) — cancel
|
|
15
|
+
- [workflows events](#workflows-events-list--list-workflow-events) — list
|
|
16
|
+
- [workflow-groups](#workflow-groups-create--create-a-workflow-group) — create, list, get, update, delete
|
|
17
|
+
- [secret-contexts](#secret-contexts-list--list-secret-contexts) — list, get, create, update, delete, delete-key
|
|
18
|
+
- [Examples](#examples)
|
|
19
|
+
- [Contributing](#contributing)
|
|
20
|
+
- [License](#license)
|
|
21
|
+
|
|
5
22
|
## Quickstart
|
|
6
23
|
|
|
7
24
|
Requires Node.js >= 18.
|
|
@@ -30,6 +47,37 @@ Alternatively, pass it inline with the `--api-key` flag (see [Global Options](#g
|
|
|
30
47
|
|
|
31
48
|
The CLI also supports a `.env` file in the current directory.
|
|
32
49
|
|
|
50
|
+
## CI Pipeline Usage
|
|
51
|
+
|
|
52
|
+
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.
|
|
53
|
+
|
|
54
|
+
### GitHub Actions Example
|
|
55
|
+
|
|
56
|
+
Set the `LARKCI_API_KEY` environment variable in GitHub Actions secrets.
|
|
57
|
+
|
|
58
|
+
```yaml
|
|
59
|
+
- name: Run LarkCI Tests
|
|
60
|
+
run: npx -y larkci@latest workflows invoke --all --wait
|
|
61
|
+
env:
|
|
62
|
+
LARKCI_API_KEY: ${{ secrets.LARKCI_API_KEY }}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### CircleCI Example
|
|
66
|
+
|
|
67
|
+
Set the `LARKCI_API_KEY` environment variable in CircleCI.
|
|
68
|
+
|
|
69
|
+
```yaml
|
|
70
|
+
larkci_tests:
|
|
71
|
+
docker:
|
|
72
|
+
- image: cimg/node:lts
|
|
73
|
+
resource_class: small
|
|
74
|
+
steps:
|
|
75
|
+
- run:
|
|
76
|
+
name: Run LarkCI Tests
|
|
77
|
+
command: |
|
|
78
|
+
npx -y larkci@latest workflows invoke --all --wait
|
|
79
|
+
```
|
|
80
|
+
|
|
33
81
|
## Usage
|
|
34
82
|
|
|
35
83
|
```bash
|
|
@@ -52,13 +100,13 @@ larkci [options] <command>
|
|
|
52
100
|
larkci workflows create --name "login-flow" --description "Test the login process end-to-end"
|
|
53
101
|
```
|
|
54
102
|
|
|
55
|
-
| Flag | Required | Description
|
|
56
|
-
| --------------------------------- | -------- |
|
|
57
|
-
| `--name <name>` | Yes | Workflow name
|
|
58
|
-
| `--description <description>` | Yes | Workflow description
|
|
59
|
-
| `--mode <mode>` | No | Execution mode: `ai_driven` or `deterministic`
|
|
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
|
|
103
|
+
| Flag | Required | Description | Default |
|
|
104
|
+
| --------------------------------- | -------- | ---------------------------------------------- | ----------- |
|
|
105
|
+
| `--name <name>` | Yes | Workflow name | |
|
|
106
|
+
| `--description <description>` | Yes | Workflow description | |
|
|
107
|
+
| `--mode <mode>` | No | Execution mode: `ai_driven` or `deterministic` | `ai_driven` |
|
|
108
|
+
| `--secret-contexts <contexts...>` | No | Secret contexts to attach to the workflow | |
|
|
109
|
+
| `--group-id <groupId>` | No | Workflow group ID to assign this workflow to | |
|
|
62
110
|
|
|
63
111
|
```bash
|
|
64
112
|
# Create a deterministic workflow with secret contexts
|
|
@@ -83,13 +131,13 @@ Returns the full workflow resource including status, mode, schedule, and last ex
|
|
|
83
131
|
larkci workflows update <workflow_id> --name "new-name" --description "updated description"
|
|
84
132
|
```
|
|
85
133
|
|
|
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)
|
|
134
|
+
| Flag | Description |
|
|
135
|
+
| --------------------------------- | ----------------------------------------- |
|
|
136
|
+
| `--name <name>` | New name for the workflow |
|
|
137
|
+
| `--description <description>` | New description for the workflow |
|
|
138
|
+
| `--secret-contexts <contexts...>` | Secret contexts to attach |
|
|
139
|
+
| `--schedule <cron>` | Cron schedule for the workflow |
|
|
140
|
+
| `--group-id <groupId>` | Workflow group ID (use `null` to ungroup) |
|
|
93
141
|
|
|
94
142
|
At least one option is required.
|
|
95
143
|
|
|
@@ -115,11 +163,11 @@ Restores an archived workflow so it appears in the list and can be invoked again
|
|
|
115
163
|
larkci workflows list
|
|
116
164
|
```
|
|
117
165
|
|
|
118
|
-
| Flag
|
|
119
|
-
|
|
|
120
|
-
| `--limit <number>`
|
|
121
|
-
| `--offset <number>`
|
|
122
|
-
| `--group-id <groupId
|
|
166
|
+
| Flag | Description | Default |
|
|
167
|
+
| ---------------------- | ------------------------------- | ------- |
|
|
168
|
+
| `--limit <number>` | Max workflows to return (1–100) | `10` |
|
|
169
|
+
| `--offset <number>` | Number of workflows to skip | `0` |
|
|
170
|
+
| `--group-id <groupId>` | Filter workflows by group ID | |
|
|
123
171
|
|
|
124
172
|
#### `workflows invoke` — Invoke workflows
|
|
125
173
|
|
|
@@ -129,17 +177,25 @@ larkci workflows invoke --all --wait --timeout 300
|
|
|
129
177
|
|
|
130
178
|
# Invoke specific workflows and wait
|
|
131
179
|
larkci workflows invoke --workflow-ids wf_abc123 wf_def456 --wait --timeout 300
|
|
180
|
+
|
|
181
|
+
# Invoke all workflows in a group by ID
|
|
182
|
+
larkci workflows invoke --group-id wfl_grp_abc123 --wait
|
|
183
|
+
|
|
184
|
+
# Invoke all workflows in a group by name
|
|
185
|
+
larkci workflows invoke --group-name "Checkout Flow" --wait
|
|
132
186
|
```
|
|
133
187
|
|
|
134
|
-
| Flag
|
|
135
|
-
|
|
|
136
|
-
| `--workflow-ids <id...>`
|
|
137
|
-
| `--all`
|
|
138
|
-
| `--
|
|
139
|
-
| `--
|
|
140
|
-
| `--
|
|
188
|
+
| Flag | Description |
|
|
189
|
+
| -------------------------- | -------------------------------------------------------------------------------- |
|
|
190
|
+
| `--workflow-ids <id...>` | The IDs of the workflows to invoke |
|
|
191
|
+
| `--all` | Invoke all workflows |
|
|
192
|
+
| `--group-id <groupId>` | Invoke all workflows in a group (by group ID) |
|
|
193
|
+
| `--group-name <groupName>` | Invoke all workflows in a group (by group name) |
|
|
194
|
+
| `--wait` | Wait for the execution to finish (successfully or unsuccessfully) before exiting |
|
|
195
|
+
| `--timeout <seconds>` | Maximum time to wait in seconds (default: 600, requires `--wait`) |
|
|
196
|
+
| `--verbose` | Print verbose output (includes logs) |
|
|
141
197
|
|
|
142
|
-
|
|
198
|
+
One of `--workflow-ids`, `--all`, `--group-id`, or `--group-name` is required.
|
|
143
199
|
|
|
144
200
|
Exit codes: `0` = success, `1` = workflow failure, `2` = timeout, `3` = unexpected error.
|
|
145
201
|
|
|
@@ -175,10 +231,10 @@ Triggers a repair for a workflow. Returns the repair resource.
|
|
|
175
231
|
larkci workflows repairs list <workflow_id>
|
|
176
232
|
```
|
|
177
233
|
|
|
178
|
-
| Flag
|
|
179
|
-
|
|
|
180
|
-
| `--limit <number>`
|
|
181
|
-
| `--offset <number
|
|
234
|
+
| Flag | Description | Default |
|
|
235
|
+
| ------------------- | ----------------------------- | ------- |
|
|
236
|
+
| `--limit <number>` | Max repairs to return (1–100) | `10` |
|
|
237
|
+
| `--offset <number>` | Number of repairs to skip | `0` |
|
|
182
238
|
|
|
183
239
|
#### `workflows repairs get` — Get repair details
|
|
184
240
|
|
|
@@ -210,10 +266,10 @@ larkci workflows generations cancel <workflow_id> <generation_id>
|
|
|
210
266
|
larkci workflows events list <workflow_id>
|
|
211
267
|
```
|
|
212
268
|
|
|
213
|
-
| Flag
|
|
214
|
-
|
|
|
215
|
-
| `--limit <number>`
|
|
216
|
-
| `--offset <number
|
|
269
|
+
| Flag | Description | Default |
|
|
270
|
+
| ------------------- | ---------------------------- | ------- |
|
|
271
|
+
| `--limit <number>` | Max events to return (1–100) | `10` |
|
|
272
|
+
| `--offset <number>` | Number of events to skip | `0` |
|
|
217
273
|
|
|
218
274
|
Lists all events (generations, executions, repairs) for a workflow.
|
|
219
275
|
|
|
@@ -223,9 +279,9 @@ Lists all events (generations, executions, repairs) for a workflow.
|
|
|
223
279
|
larkci workflow-groups create --name "Checkout Flow"
|
|
224
280
|
```
|
|
225
281
|
|
|
226
|
-
| Flag
|
|
227
|
-
|
|
|
228
|
-
| `--name <name
|
|
282
|
+
| Flag | Required | Description |
|
|
283
|
+
| --------------- | -------- | -------------------------- |
|
|
284
|
+
| `--name <name>` | Yes | Name of the workflow group |
|
|
229
285
|
|
|
230
286
|
#### `workflow-groups list` — List workflow groups
|
|
231
287
|
|
|
@@ -233,10 +289,10 @@ larkci workflow-groups create --name "Checkout Flow"
|
|
|
233
289
|
larkci workflow-groups list
|
|
234
290
|
```
|
|
235
291
|
|
|
236
|
-
| Flag
|
|
237
|
-
|
|
|
238
|
-
| `--limit <number>`
|
|
239
|
-
| `--offset <number
|
|
292
|
+
| Flag | Description | Default |
|
|
293
|
+
| ------------------- | ---------------------------- | ------- |
|
|
294
|
+
| `--limit <number>` | Max groups to return (1–100) | `10` |
|
|
295
|
+
| `--offset <number>` | Number of groups to skip | `0` |
|
|
240
296
|
|
|
241
297
|
#### `workflow-groups get` — Get a workflow group
|
|
242
298
|
|
|
@@ -250,9 +306,9 @@ larkci workflow-groups get <group_id>
|
|
|
250
306
|
larkci workflow-groups update <group_id> --name "Updated Name"
|
|
251
307
|
```
|
|
252
308
|
|
|
253
|
-
| Flag | Description
|
|
254
|
-
| --------------- |
|
|
255
|
-
| `--name <name>` | New name for the workflow group
|
|
309
|
+
| Flag | Description |
|
|
310
|
+
| --------------- | ------------------------------- |
|
|
311
|
+
| `--name <name>` | New name for the workflow group |
|
|
256
312
|
|
|
257
313
|
#### `workflow-groups delete` — Delete a workflow group
|
|
258
314
|
|
|
@@ -284,10 +340,10 @@ Returns the context name and the list of key names stored in it. Does not return
|
|
|
284
340
|
larkci secret-contexts create --context production --secret username=admin --secret password=s3cret
|
|
285
341
|
```
|
|
286
342
|
|
|
287
|
-
| Flag
|
|
288
|
-
|
|
|
289
|
-
| `--context <name>`
|
|
290
|
-
| `--secret <key=value>`
|
|
343
|
+
| Flag | Required | Description |
|
|
344
|
+
| ---------------------- | -------- | -------------------------------------------------- |
|
|
345
|
+
| `--context <name>` | Yes | Name of the secret context |
|
|
346
|
+
| `--secret <key=value>` | Yes | Secret key-value pair (repeat for multiple values) |
|
|
291
347
|
|
|
292
348
|
```bash
|
|
293
349
|
# Create a secret context with multiple credentials
|
|
@@ -304,10 +360,10 @@ larkci secret-contexts create \
|
|
|
304
360
|
larkci secret-contexts update <context> --key <key> --value <value>
|
|
305
361
|
```
|
|
306
362
|
|
|
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
|
|
363
|
+
| Flag | Required | Description |
|
|
364
|
+
| ----------------- | -------- | --------------------------- |
|
|
365
|
+
| `--key <key>` | Yes | The key to create or update |
|
|
366
|
+
| `--value <value>` | Yes | The new value for the key |
|
|
311
367
|
|
|
312
368
|
If the key already exists its value is replaced; if it does not exist it is added.
|
|
313
369
|
|
|
@@ -360,6 +416,12 @@ larkci workflows invoke --workflow-ids wf_abc123 --wait
|
|
|
360
416
|
# Invoke and wait (up to 5 minutes) with verbose logs
|
|
361
417
|
larkci workflows invoke --workflow-ids wf_abc123 --wait --timeout 300 --verbose
|
|
362
418
|
|
|
419
|
+
# Invoke all workflows in a group by ID
|
|
420
|
+
larkci workflows invoke --group-id wfl_grp_abc123 --wait
|
|
421
|
+
|
|
422
|
+
# Invoke all workflows in a group by name
|
|
423
|
+
larkci workflows invoke --group-name "Checkout Flow" --wait
|
|
424
|
+
|
|
363
425
|
# Check execution status
|
|
364
426
|
larkci workflows executions get wf_abc123 exec_xyz789
|
|
365
427
|
|
|
@@ -412,37 +474,6 @@ larkci secret-contexts delete-key production password
|
|
|
412
474
|
larkci secret-contexts delete production
|
|
413
475
|
```
|
|
414
476
|
|
|
415
|
-
## CI Pipeline Usage
|
|
416
|
-
|
|
417
|
-
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.
|
|
418
|
-
|
|
419
|
-
### GitHub Actions Example
|
|
420
|
-
|
|
421
|
-
Set the `LARKCI_API_KEY` environment variable in GitHub Actions secrets.
|
|
422
|
-
|
|
423
|
-
```yaml
|
|
424
|
-
- name: Run LarkCI Tests
|
|
425
|
-
run: npx -y larkci@latest workflows invoke --all --wait
|
|
426
|
-
env:
|
|
427
|
-
LARKCI_API_KEY: ${{ secrets.LARKCI_API_KEY }}
|
|
428
|
-
```
|
|
429
|
-
|
|
430
|
-
### CircleCI Example
|
|
431
|
-
|
|
432
|
-
Set the `LARKCI_API_KEY` environment variable in CircleCI.
|
|
433
|
-
|
|
434
|
-
```yaml
|
|
435
|
-
larkci_tests:
|
|
436
|
-
docker:
|
|
437
|
-
- image: cimg/node:lts
|
|
438
|
-
resource_class: small
|
|
439
|
-
steps:
|
|
440
|
-
- run:
|
|
441
|
-
name: Run LarkCI Tests
|
|
442
|
-
command: |
|
|
443
|
-
npx -y larkci@latest workflows invoke --all --wait
|
|
444
|
-
```
|
|
445
|
-
|
|
446
477
|
## Contributing
|
|
447
478
|
|
|
448
479
|
See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and guidelines.
|
|
@@ -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;
|
|
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"}
|
package/dist/commands/invoke.js
CHANGED
|
@@ -1,6 +1,38 @@
|
|
|
1
1
|
import { Option } from "commander";
|
|
2
2
|
import { LarkCIClient, TimeoutError } from "../api/client.js";
|
|
3
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
|
+
}
|
|
4
36
|
const DEFAULT_TIMEOUT_SECONDS = 600;
|
|
5
37
|
const POLL_INTERVAL_MS = 5_000;
|
|
6
38
|
function formatElapsed(ms) {
|
|
@@ -50,12 +82,17 @@ export function registerInvokeCommand(workflows, program) {
|
|
|
50
82
|
.description("Invoke workflow(s)")
|
|
51
83
|
.option("--workflow-ids <id...>", "The IDs of the workflow to invoke")
|
|
52
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)")
|
|
53
87
|
.option("--verbose", "Verbose output", false)
|
|
54
88
|
.option("--wait", "Wait for the execution to reach a terminal status before exiting", false)
|
|
55
89
|
.addOption(new Option("--timeout <seconds>", "Maximum time to wait in seconds.")
|
|
56
90
|
.preset(600)
|
|
57
91
|
.argParser(Number))
|
|
58
|
-
.addHelpText("after", "
|
|
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')
|
|
59
96
|
.action(async (cmdOpts) => {
|
|
60
97
|
const opts = program.opts();
|
|
61
98
|
const config = getConfig({
|
|
@@ -66,14 +103,39 @@ export function registerInvokeCommand(workflows, program) {
|
|
|
66
103
|
const verbose = cmdOpts.verbose ?? false;
|
|
67
104
|
let workflowIds = [];
|
|
68
105
|
if (cmdOpts.all) {
|
|
69
|
-
const
|
|
70
|
-
workflowIds =
|
|
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
|
+
}
|
|
71
133
|
}
|
|
72
134
|
else if (cmdOpts.workflowIds) {
|
|
73
135
|
workflowIds = cmdOpts.workflowIds;
|
|
74
136
|
}
|
|
75
137
|
else {
|
|
76
|
-
console.error("Error: No workflow IDs provided. Use --workflow-ids or --all to specify workflows.");
|
|
138
|
+
console.error("Error: No workflow IDs provided. Use --workflow-ids, --group-id, --group-name, or --all to specify workflows.");
|
|
77
139
|
process.exit(1);
|
|
78
140
|
}
|
|
79
141
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke.js","sourceRoot":"","sources":["../../src/commands/invoke.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAgB,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"invoke.js","sourceRoot":"","sources":["../../src/commands/invoke.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "larkci",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "LarkCI CLI - Invoke testing workflows and manage test executions",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"author": "",
|
|
@@ -21,7 +21,9 @@
|
|
|
21
21
|
"cli",
|
|
22
22
|
"testing",
|
|
23
23
|
"ci",
|
|
24
|
-
"e2e-testing"
|
|
24
|
+
"e2e-testing",
|
|
25
|
+
"sanity-testing",
|
|
26
|
+
"qa"
|
|
25
27
|
],
|
|
26
28
|
"scripts": {
|
|
27
29
|
"build": "tsc",
|
|
@@ -39,4 +41,4 @@
|
|
|
39
41
|
"tsx": "^4.19.0",
|
|
40
42
|
"typescript": "^5.7.0"
|
|
41
43
|
}
|
|
42
|
-
}
|
|
44
|
+
}
|