@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,152 @@
1
+ import { LarkCIClient } from "../api/client.js";
2
+ import { getConfig } from "../config.js";
3
+ export function registerSecretContextsCommand(program) {
4
+ const secrets = program
5
+ .command("secret-contexts")
6
+ .description("Manage secret contexts for storing credentials");
7
+ secrets
8
+ .command("list")
9
+ .description("List all secret contexts")
10
+ .action(async () => {
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.listSecretContexts();
19
+ console.log(JSON.stringify(response, null, 2));
20
+ }
21
+ catch (error) {
22
+ const message = error instanceof Error ? error.message : String(error);
23
+ console.error(`Error: ${message}`);
24
+ process.exit(1);
25
+ }
26
+ });
27
+ secrets
28
+ .command("get")
29
+ .description("Get a secret context (shows key names, not values)")
30
+ .argument("<context>", "The name of the secret context")
31
+ .action(async (context) => {
32
+ const opts = program.opts();
33
+ const config = getConfig({
34
+ apiKey: opts.apiKey,
35
+ apiUrl: opts.apiUrl,
36
+ });
37
+ const client = new LarkCIClient(config);
38
+ try {
39
+ const response = await client.getSecretContext(context);
40
+ console.log(JSON.stringify(response, null, 2));
41
+ }
42
+ catch (error) {
43
+ const message = error instanceof Error ? error.message : String(error);
44
+ console.error(`Error: ${message}`);
45
+ process.exit(1);
46
+ }
47
+ });
48
+ secrets
49
+ .command("create")
50
+ .description("Create or replace a secret context with key-value pairs")
51
+ .requiredOption("--context <name>", "Name of the secret context")
52
+ .requiredOption("--secret <key=value...>", "Secret key-value pairs (e.g. --secret username=admin --secret password=s3cret)", (val, acc) => {
53
+ acc.push(val);
54
+ return acc;
55
+ }, [])
56
+ .action(async (cmdOpts) => {
57
+ const opts = program.opts();
58
+ const config = getConfig({
59
+ apiKey: opts.apiKey,
60
+ apiUrl: opts.apiUrl,
61
+ });
62
+ const client = new LarkCIClient(config);
63
+ const value = {};
64
+ for (const pair of cmdOpts.secret) {
65
+ const eqIndex = pair.indexOf("=");
66
+ if (eqIndex === -1) {
67
+ console.error(`Error: Invalid secret format "${pair}". Expected key=value.`);
68
+ process.exit(1);
69
+ }
70
+ value[pair.slice(0, eqIndex)] = pair.slice(eqIndex + 1);
71
+ }
72
+ try {
73
+ await client.createSecretContext({
74
+ context: cmdOpts.context,
75
+ value,
76
+ });
77
+ console.log(`Secret context "${cmdOpts.context}" created successfully.`);
78
+ }
79
+ catch (error) {
80
+ const message = error instanceof Error ? error.message : String(error);
81
+ console.error(`Error: ${message}`);
82
+ process.exit(1);
83
+ }
84
+ });
85
+ secrets
86
+ .command("update")
87
+ .description("Update or add a key-value pair in an existing secret context")
88
+ .argument("<context>", "The name of the secret context")
89
+ .requiredOption("--key <key>", "The key to create or update")
90
+ .requiredOption("--value <value>", "The new value for the key")
91
+ .action(async (context, cmdOpts) => {
92
+ const opts = program.opts();
93
+ const config = getConfig({
94
+ apiKey: opts.apiKey,
95
+ apiUrl: opts.apiUrl,
96
+ });
97
+ const client = new LarkCIClient(config);
98
+ try {
99
+ await client.updateSecretContext(context, cmdOpts.key, cmdOpts.value);
100
+ console.log(`Secret context "${context}" key "${cmdOpts.key}" updated successfully.`);
101
+ }
102
+ catch (error) {
103
+ const message = error instanceof Error ? error.message : String(error);
104
+ console.error(`Error: ${message}`);
105
+ process.exit(1);
106
+ }
107
+ });
108
+ secrets
109
+ .command("delete")
110
+ .description("Delete a secret context")
111
+ .argument("<context>", "The name of the secret context to delete")
112
+ .action(async (context) => {
113
+ const opts = program.opts();
114
+ const config = getConfig({
115
+ apiKey: opts.apiKey,
116
+ apiUrl: opts.apiUrl,
117
+ });
118
+ const client = new LarkCIClient(config);
119
+ try {
120
+ await client.deleteSecretContext(context);
121
+ console.log(`Secret context "${context}" deleted successfully.`);
122
+ }
123
+ catch (error) {
124
+ const message = error instanceof Error ? error.message : String(error);
125
+ console.error(`Error: ${message}`);
126
+ process.exit(1);
127
+ }
128
+ });
129
+ secrets
130
+ .command("delete-key")
131
+ .description("Delete a single key from a secret context")
132
+ .argument("<context>", "The name of the secret context")
133
+ .argument("<key>", "The key to delete")
134
+ .action(async (context, key) => {
135
+ const opts = program.opts();
136
+ const config = getConfig({
137
+ apiKey: opts.apiKey,
138
+ apiUrl: opts.apiUrl,
139
+ });
140
+ const client = new LarkCIClient(config);
141
+ try {
142
+ await client.deleteSecretContextKey(context, key);
143
+ console.log(`Key "${key}" deleted from secret context "${context}" successfully.`);
144
+ }
145
+ catch (error) {
146
+ const message = error instanceof Error ? error.message : String(error);
147
+ console.error(`Error: ${message}`);
148
+ process.exit(1);
149
+ }
150
+ });
151
+ }
152
+ //# sourceMappingURL=secret-contexts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-contexts.js","sourceRoot":"","sources":["../../src/commands/secret-contexts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerUpdateWorkflowCommand(workflows: Command, program: Command): void;
3
+ //# sourceMappingURL=update-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-workflow.d.ts","sourceRoot":"","sources":["../../src/commands/update-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,OAAO,GACf,IAAI,CAiEN"}
@@ -0,0 +1,48 @@
1
+ import { LarkCIClient } from "../api/client.js";
2
+ import { getConfig } from "../config.js";
3
+ export function registerUpdateWorkflowCommand(workflows, program) {
4
+ workflows
5
+ .command("update")
6
+ .description("Update a workflow's name, description, secret contexts, schedule, or group")
7
+ .argument("<workflow_id>", "The ID of the workflow to update")
8
+ .option("--name <name>", "New name for the workflow")
9
+ .option("--description <description>", "New description for the workflow")
10
+ .option("--secret-contexts <contexts...>", "Secret contexts to attach to the workflow")
11
+ .option("--schedule <cron>", "Cron schedule for the workflow")
12
+ .option("--group-id <groupId>", "Workflow group ID (use 'null' to ungroup)")
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
+ const updatePayload = {};
21
+ if (cmdOpts.name !== undefined)
22
+ updatePayload.name = cmdOpts.name;
23
+ if (cmdOpts.description !== undefined)
24
+ updatePayload.description = cmdOpts.description;
25
+ if (cmdOpts.secretContexts !== undefined)
26
+ updatePayload.secret_contexts = cmdOpts.secretContexts;
27
+ if (cmdOpts.schedule !== undefined)
28
+ updatePayload.schedule =
29
+ cmdOpts.schedule === "null" ? null : cmdOpts.schedule;
30
+ if (cmdOpts.groupId !== undefined)
31
+ updatePayload.group_id =
32
+ cmdOpts.groupId === "null" ? null : cmdOpts.groupId;
33
+ if (Object.keys(updatePayload).length === 0) {
34
+ console.error("Error: At least one option (--name, --description, --secret-contexts, --schedule, --group-id) is required.");
35
+ process.exit(1);
36
+ }
37
+ try {
38
+ const workflow = await client.updateWorkflow(workflowId, updatePayload);
39
+ console.log(JSON.stringify(workflow, null, 2));
40
+ }
41
+ catch (error) {
42
+ const message = error instanceof Error ? error.message : String(error);
43
+ console.error(`Error: ${message}`);
44
+ process.exit(1);
45
+ }
46
+ });
47
+ }
48
+ //# sourceMappingURL=update-workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-workflow.js","sourceRoot":"","sources":["../../src/commands/update-workflow.ts"],"names":[],"mappings":"AACA,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,4EAA4E,CAAC;SACzF,QAAQ,CAAC,eAAe,EAAE,kCAAkC,CAAC;SAC7D,MAAM,CAAC,eAAe,EAAE,2BAA2B,CAAC;SACpD,MAAM,CAAC,6BAA6B,EAAE,kCAAkC,CAAC;SACzE,MAAM,CACL,iCAAiC,EACjC,2CAA2C,CAC5C;SACA,MAAM,CAAC,mBAAmB,EAAE,gCAAgC,CAAC;SAC7D,MAAM,CAAC,sBAAsB,EAAE,2CAA2C,CAAC;SAC3E,MAAM,CACL,KAAK,EACH,UAAkB,EAClB,OAMC,EACD,EAAE;QACF,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,MAAM,aAAa,GAA4B,EAAE,CAAC;QAClD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,aAAa,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAClE,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YACnC,aAAa,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAClD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS;YACtC,aAAa,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;QACzD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAChC,aAAa,CAAC,QAAQ;gBACpB,OAAO,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC1D,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;YAC/B,aAAa,CAAC,QAAQ;gBACpB,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAExD,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,KAAK,CACX,4GAA4G,CAC7G,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,cAAc,CAC1C,UAAU,EACV,aAA8D,CAC/D,CAAC;YACF,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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerWorkflowGroupsCommand(program: Command): void;
3
+ //# sourceMappingURL=workflow-groups.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-groups.d.ts","sourceRoot":"","sources":["../../src/commands/workflow-groups.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,OAAO,GACf,IAAI,CAyIN"}
@@ -0,0 +1,126 @@
1
+ import { LarkCIClient } from "../api/client.js";
2
+ import { getConfig } from "../config.js";
3
+ export function registerWorkflowGroupsCommand(program) {
4
+ const groups = program
5
+ .command("workflow-groups")
6
+ .description("Manage workflow groups for organizing workflows");
7
+ groups
8
+ .command("list")
9
+ .description("List workflow groups")
10
+ .option("--limit <number>", "Max number of groups to return (1-100)", "10")
11
+ .option("--offset <number>", "Number of groups to skip", "0")
12
+ .action(async (cmdOpts) => {
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.listWorkflowGroups({
21
+ limit: parseInt(cmdOpts.limit, 10),
22
+ offset: parseInt(cmdOpts.offset, 10),
23
+ });
24
+ console.log(JSON.stringify(result, 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
+ groups
33
+ .command("get")
34
+ .description("Get details of a workflow group")
35
+ .argument("<group_id>", "The ID of the workflow group")
36
+ .action(async (groupId) => {
37
+ const opts = program.opts();
38
+ const config = getConfig({
39
+ apiKey: opts.apiKey,
40
+ apiUrl: opts.apiUrl,
41
+ });
42
+ const client = new LarkCIClient(config);
43
+ try {
44
+ const result = await client.getWorkflowGroup(groupId);
45
+ console.log(JSON.stringify(result, null, 2));
46
+ }
47
+ catch (error) {
48
+ const message = error instanceof Error ? error.message : String(error);
49
+ console.error(`Error: ${message}`);
50
+ process.exit(1);
51
+ }
52
+ });
53
+ groups
54
+ .command("create")
55
+ .description("Create a new workflow group")
56
+ .requiredOption("--name <name>", "Name of the workflow group")
57
+ .action(async (cmdOpts) => {
58
+ const opts = program.opts();
59
+ const config = getConfig({
60
+ apiKey: opts.apiKey,
61
+ apiUrl: opts.apiUrl,
62
+ });
63
+ const client = new LarkCIClient(config);
64
+ try {
65
+ const result = await client.createWorkflowGroup({
66
+ name: cmdOpts.name,
67
+ });
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
+ groups
77
+ .command("update")
78
+ .description("Update a workflow group's name")
79
+ .argument("<group_id>", "The ID of the workflow group")
80
+ .option("--name <name>", "New name for the workflow group")
81
+ .action(async (groupId, cmdOpts) => {
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
+ if (!cmdOpts.name) {
89
+ console.error("Error: --name is required.");
90
+ process.exit(1);
91
+ }
92
+ try {
93
+ const result = await client.updateWorkflowGroup(groupId, {
94
+ name: cmdOpts.name,
95
+ });
96
+ console.log(JSON.stringify(result, null, 2));
97
+ }
98
+ catch (error) {
99
+ const message = error instanceof Error ? error.message : String(error);
100
+ console.error(`Error: ${message}`);
101
+ process.exit(1);
102
+ }
103
+ });
104
+ groups
105
+ .command("delete")
106
+ .description("Delete a workflow group")
107
+ .argument("<group_id>", "The ID of the workflow group to delete")
108
+ .action(async (groupId) => {
109
+ const opts = program.opts();
110
+ const config = getConfig({
111
+ apiKey: opts.apiKey,
112
+ apiUrl: opts.apiUrl,
113
+ });
114
+ const client = new LarkCIClient(config);
115
+ try {
116
+ await client.deleteWorkflowGroup(groupId);
117
+ console.log(`Workflow group "${groupId}" deleted successfully.`);
118
+ }
119
+ catch (error) {
120
+ const message = error instanceof Error ? error.message : String(error);
121
+ console.error(`Error: ${message}`);
122
+ process.exit(1);
123
+ }
124
+ });
125
+ }
126
+ //# sourceMappingURL=workflow-groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-groups.js","sourceRoot":"","sources":["../../src/commands/workflow-groups.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export interface Config {
2
+ apiKey: string;
3
+ apiUrl: string;
4
+ }
5
+ export declare function getConfig(options: {
6
+ apiKey?: string;
7
+ apiUrl?: string;
8
+ }): Config;
9
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAID,wBAAgB,SAAS,CAAC,OAAO,EAAE;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,MAAM,CAYT"}
package/dist/config.js ADDED
@@ -0,0 +1,13 @@
1
+ import dotenv from "dotenv";
2
+ dotenv.config();
3
+ const DEFAULT_API_URL = "https://api.getlark.ai";
4
+ export function getConfig(options) {
5
+ const apiKey = options.apiKey ?? process.env.LARKCI_API_KEY;
6
+ const apiUrl = options.apiUrl ?? process.env.LARKCI_API_URL ?? DEFAULT_API_URL;
7
+ if (!apiKey) {
8
+ console.error("Error: API key is required. Set LARKCI_API_KEY environment variable or pass --api-key.");
9
+ process.exit(1);
10
+ }
11
+ return { apiKey, apiUrl };
12
+ }
13
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,EAAE,CAAC;AAOhB,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAEjD,MAAM,UAAU,SAAS,CAAC,OAGzB;IACC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,eAAe,CAAC;IAE/E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CACX,wFAAwF,CACzF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,36 @@
1
+ #!/usr/bin/env node
2
+ import { Command, Option } from "commander";
3
+ import { registerInvokeCommand } from "./commands/invoke.js";
4
+ import { registerExecutionCommand } from "./commands/execution.js";
5
+ import { registerListWorkflowsCommand } from "./commands/list-workflows.js";
6
+ import { registerCreateWorkflowCommand } from "./commands/create-workflow.js";
7
+ import { registerGetWorkflowCommand } from "./commands/get-workflow.js";
8
+ import { registerUpdateWorkflowCommand } from "./commands/update-workflow.js";
9
+ import { registerArchiveWorkflowCommands } from "./commands/archive-workflow.js";
10
+ import { registerRepairsCommand } from "./commands/repairs.js";
11
+ import { registerGenerationsCommand } from "./commands/generations.js";
12
+ import { registerEventsCommand } from "./commands/events.js";
13
+ import { registerSecretContextsCommand } from "./commands/secret-contexts.js";
14
+ import { registerWorkflowGroupsCommand } from "./commands/workflow-groups.js";
15
+ const program = new Command();
16
+ program
17
+ .name("larkci")
18
+ .description("LarkCI CLI - Invoke testing workflows and manage test executions")
19
+ .version("0.2.5")
20
+ .addOption(new Option("--api-key <key>", "API key").env("LARKCI_API_KEY"))
21
+ .addOption(new Option("--api-url <url>", "API base URL (overrides LARKCI_API_URL env var)").hideHelp());
22
+ const workflows = program.command("workflows").description("Manage workflows");
23
+ registerListWorkflowsCommand(workflows, program);
24
+ registerGetWorkflowCommand(workflows, program);
25
+ registerCreateWorkflowCommand(workflows, program);
26
+ registerUpdateWorkflowCommand(workflows, program);
27
+ registerArchiveWorkflowCommands(workflows, program);
28
+ registerInvokeCommand(workflows, program);
29
+ registerExecutionCommand(workflows, program);
30
+ registerRepairsCommand(workflows, program);
31
+ registerGenerationsCommand(workflows, program);
32
+ registerEventsCommand(workflows, program);
33
+ registerSecretContextsCommand(program);
34
+ registerWorkflowGroupsCommand(program);
35
+ program.parse();
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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;AAC5E,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,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,0BAA0B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC/C,6BAA6B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAClD,6BAA6B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAClD,+BAA+B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACpD,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC1C,wBAAwB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC7C,sBAAsB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC3C,0BAA0B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC/C,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAE1C,6BAA6B,CAAC,OAAO,CAAC,CAAC;AACvC,6BAA6B,CAAC,OAAO,CAAC,CAAC;AAEvC,OAAO,CAAC,KAAK,EAAE,CAAC"}
package/package.json ADDED
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "@getlark/cli",
3
+ "version": "0.3.0",
4
+ "description": "LarkCI CLI - Invoke testing workflows and manage test executions",
5
+ "license": "ISC",
6
+ "author": "",
7
+ "type": "module",
8
+ "main": "dist/index.js",
9
+ "bin": {
10
+ "getlark": "./dist/index.js"
11
+ },
12
+ "publishConfig": {
13
+ "access": "public"
14
+ },
15
+ "files": [
16
+ "dist",
17
+ "README.md"
18
+ ],
19
+ "engines": {
20
+ "node": ">=18"
21
+ },
22
+ "keywords": [
23
+ "larkci",
24
+ "cli",
25
+ "testing",
26
+ "ci",
27
+ "e2e-testing",
28
+ "sanity-testing",
29
+ "qa"
30
+ ],
31
+ "scripts": {
32
+ "build": "tsc",
33
+ "start": "node dist/index.js",
34
+ "dev": "tsx src/index.ts",
35
+ "typecheck": "tsc --noEmit",
36
+ "prepublishOnly": "npm run build",
37
+ "publish:larkci": "npm pkg set name=larkci bin.larkci=./dist/index.js && npm pkg delete bin.getlark && npm publish",
38
+ "publish:scoped": "npm pkg set name=@getlark/cli bin.getlark=./dist/index.js && npm pkg delete bin.larkci && npm publish; code=$?; npm pkg set name=larkci bin.larkci=./dist/index.js && npm pkg delete bin.getlark; exit $code",
39
+ "publish:all": "npm run publish:larkci && npm run publish:scoped"
40
+ },
41
+ "dependencies": {
42
+ "commander": "^13.1.0",
43
+ "dotenv": "^16.4.5"
44
+ },
45
+ "devDependencies": {
46
+ "@types/node": "^22.10.0",
47
+ "tsx": "^4.19.0",
48
+ "typescript": "^5.7.0"
49
+ }
50
+ }