@silkweave/cli 1.3.1 → 1.4.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.
@@ -1,6 +1,6 @@
1
1
 
2
2
  
3
- > @silkweave/cli@1.3.0 build /Users/atomic/projects/ai/silkweave/packages/cli
3
+ > @silkweave/cli@1.3.2 build /Users/atomic/projects/ai/silkweave/packages/cli
4
4
  > tsup
5
5
 
6
6
  CLI Building entry: src/index.ts
@@ -10,9 +10,9 @@
10
10
  CLI Target: es2022
11
11
  CLI Cleaning output folder
12
12
  ESM Build start
13
- ESM build/index.js 3.43 KB
13
+ ESM build/index.js 3.23 KB
14
14
  ESM build/index.js.map 6.04 KB
15
- ESM ⚡️ Build success in 10ms
15
+ ESM ⚡️ Build success in 8ms
16
16
  DTS Build start
17
- DTS ⚡️ Build success in 730ms
17
+ DTS ⚡️ Build success in 451ms
18
18
  DTS build/index.d.ts 103.00 B
@@ -1,14 +1,12 @@
1
1
 
2
- > @silkweave/cli@1.3.0 check /Users/atomic/projects/ai/silkweave/packages/cli
2
+ > @silkweave/cli@1.3.2 check /Users/atomic/projects/ai/silkweave/packages/cli
3
3
  > pnpm lint && pnpm typecheck
4
4
 
5
5
 
6
- > @silkweave/cli@1.3.0 lint /Users/atomic/projects/ai/silkweave/packages/cli
6
+ > @silkweave/cli@1.3.2 lint /Users/atomic/projects/ai/silkweave/packages/cli
7
7
  > eslint
8
8
 
9
9
 
10
- > @silkweave/cli@1.3.0 typecheck /Users/atomic/projects/ai/silkweave/packages/cli
10
+ > @silkweave/cli@1.3.2 typecheck /Users/atomic/projects/ai/silkweave/packages/cli
11
11
  > tsc --noEmit
12
12
 
13
-  ELIFECYCLE  Command failed.
14
-  ELIFECYCLE  Command failed.
@@ -1,5 +1,5 @@
1
1
 
2
2
  
3
- > @silkweave/cli@1.3.0 lint /Users/atomic/projects/ai/silkweave/packages/cli
3
+ > @silkweave/cli@1.3.2 lint /Users/atomic/projects/ai/silkweave/packages/cli
4
4
  > eslint
5
5
 
@@ -1,14 +1,14 @@
1
1
 
2
2
  
3
- > @silkweave/cli@1.3.0 prepack /Users/atomic/projects/ai/silkweave/packages/cli
3
+ > @silkweave/cli@1.4.0 prepack /Users/atomic/projects/ai/silkweave/packages/cli
4
4
  > pnpm clean && pnpm build
5
5
 
6
6
 
7
- > @silkweave/cli@1.3.0 clean /Users/atomic/projects/ai/silkweave/packages/cli
7
+ > @silkweave/cli@1.4.0 clean /Users/atomic/projects/ai/silkweave/packages/cli
8
8
  > rimraf build
9
9
 
10
10
 
11
- > @silkweave/cli@1.3.0 build /Users/atomic/projects/ai/silkweave/packages/cli
11
+ > @silkweave/cli@1.4.0 build /Users/atomic/projects/ai/silkweave/packages/cli
12
12
  > tsup
13
13
 
14
14
  CLI Building entry: src/index.ts
@@ -18,9 +18,9 @@
18
18
  CLI Target: es2022
19
19
  CLI Cleaning output folder
20
20
  ESM Build start
21
- ESM build/index.js 3.43 KB
21
+ ESM build/index.js 3.23 KB
22
22
  ESM build/index.js.map 6.04 KB
23
- ESM ⚡️ Build success in 9ms
23
+ ESM ⚡️ Build success in 7ms
24
24
  DTS Build start
25
- DTS ⚡️ Build success in 612ms
25
+ DTS ⚡️ Build success in 447ms
26
26
  DTS build/index.d.ts 103.00 B
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @silkweave/cli
2
2
 
3
- CLI adapter for [Silkweave](https://github.com/silkweave/silkweave) turn your actions into a complete command-line application with help text, option parsing, and styled terminal output via clack.
3
+ CLI adapter for [Silkweave](https://github.com/silkweave/silkweave) - turn your actions into a complete command-line application with help text, option parsing, and styled terminal output via clack.
4
4
 
5
5
  ## Install
6
6
 
@@ -63,5 +63,5 @@ $ mytool deploy production --dry-run
63
63
 
64
64
  ## See Also
65
65
 
66
- - [Silkweave README](https://github.com/silkweave/silkweave) Full documentation
67
- - [`@silkweave/core`](https://www.npmjs.com/package/@silkweave/core) Core library
66
+ - [Silkweave README](https://github.com/silkweave/silkweave) - Full documentation
67
+ - [`@silkweave/core`](https://www.npmjs.com/package/@silkweave/core) - Core library
package/build/index.js CHANGED
@@ -8,23 +8,19 @@ import z from "zod";
8
8
  function handleCLIError(error) {
9
9
  if (error instanceof SilkweaveError) {
10
10
  log.error(`[${error.code}] ${error.message}`);
11
- process.exitCode = 1;
12
11
  } else if (error instanceof z.ZodError) {
13
12
  log.error("Validation Error", { withGuide: false });
14
13
  for (const issue of error.issues) {
15
14
  log.error(`${issue.path}: ${issue.message}`);
16
15
  }
17
- process.exitCode = 1;
18
16
  } else if (error instanceof Error) {
19
17
  log.error(error.message);
20
- process.exitCode = 1;
21
18
  } else if (typeof error === "string") {
22
19
  log.error(error);
23
- process.exitCode = 1;
24
20
  } else {
25
21
  log.error(JSON.stringify(error));
26
- process.exitCode = 1;
27
22
  }
23
+ process.exitCode = 1;
28
24
  }
29
25
  function parseCLIInput(action, args) {
30
26
  const tmpArgs = args.slice(0, -1);
@@ -39,6 +35,42 @@ function parseCLIInput(action, args) {
39
35
  }
40
36
  return data;
41
37
  }
38
+ function addCliOption(command, key, type, defaultValue, isArgument) {
39
+ const description = type.description;
40
+ if (isArgument) {
41
+ command.argument(`[${camelCase(key)}]`, description, defaultValue);
42
+ return;
43
+ }
44
+ const flag = kebabCase(key);
45
+ if (type instanceof z.ZodBoolean) {
46
+ command.option(`--${flag}`, description, defaultValue);
47
+ command.option(`--no-${flag}`);
48
+ } else if (type instanceof z.ZodNumber) {
49
+ command.option(`--${flag} <number>`, description, defaultValue);
50
+ } else if (type instanceof z.ZodString || type instanceof z.ZodEnum) {
51
+ command.option(`--${flag} <string>`, description, defaultValue);
52
+ } else if (type instanceof z.ZodObject || type instanceof z.ZodRecord || type instanceof z.ZodArray) {
53
+ command.option(`--${flag} <json>`, description ?? "", JSON.parse, defaultValue);
54
+ } else {
55
+ throw new Error(`Invalid zod type: ${type.def.type}`);
56
+ }
57
+ }
58
+ function registerCommand(program, action, options, context) {
59
+ const command = program.command(kebabCase(action.name)).description(action.description);
60
+ const shape = action.input.shape;
61
+ for (const key of Object.keys(shape)) {
62
+ const [type, { defaultValue }] = unwrap(shape[key]);
63
+ addCliOption(command, key, type, defaultValue, action.args?.includes(key) ?? false);
64
+ }
65
+ command.action((...args) => {
66
+ const logger = createCLILogger();
67
+ const input = parseCLIInput(action, args);
68
+ intro(`${options.name} - ${action.name}`);
69
+ action.run(input, context.fork({ logger, command })).then((result) => {
70
+ logger.info(JSON.stringify(result, null, 2));
71
+ }).catch(handleCLIError);
72
+ });
73
+ }
42
74
  var cli = () => {
43
75
  return (options, baseContext) => {
44
76
  const context = baseContext.fork({ adapter: "cli" });
@@ -47,37 +79,7 @@ var cli = () => {
47
79
  context,
48
80
  start: async (actions) => {
49
81
  for (const action of actions) {
50
- const name = kebabCase(action.name);
51
- const command = program.command(name).description(action.description);
52
- const shape = action.input.shape;
53
- const keys = Object.keys(shape);
54
- for (const key of keys) {
55
- const [type, { defaultValue }] = unwrap(shape[key]);
56
- const description = type.description;
57
- const isArgument = action.args?.includes(key);
58
- if (isArgument) {
59
- command.argument(`[${camelCase(key)}]`, description, defaultValue);
60
- } else if (type instanceof z.ZodBoolean) {
61
- command.option(`--${kebabCase(key)}`, description, defaultValue);
62
- command.option(`--no-${kebabCase(key)}`);
63
- } else if (type instanceof z.ZodNumber) {
64
- command.option(`--${kebabCase(key)} <number>`, description, defaultValue);
65
- } else if (type instanceof z.ZodString || type instanceof z.ZodEnum) {
66
- command.option(`--${kebabCase(key)} <string>`, description, defaultValue);
67
- } else if (type instanceof z.ZodObject || type instanceof z.ZodRecord || type instanceof z.ZodArray) {
68
- command.option(`--${kebabCase(key)} <json>`, description ?? "", JSON.parse, defaultValue);
69
- } else {
70
- throw new Error(`Invalid zod type: ${type.def.type}`);
71
- }
72
- }
73
- command.action((...args) => {
74
- const logger = createCLILogger();
75
- const input = parseCLIInput(action, args);
76
- intro(`${options.name} - ${action.name}`);
77
- action.run(input, context.fork({ logger, command })).then((result) => {
78
- logger.info(JSON.stringify(result, null, 2));
79
- }).catch(handleCLIError);
80
- });
82
+ registerCommand(program, action, options, context);
81
83
  }
82
84
  program.parse();
83
85
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/adapter/cli.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { intro, log } from '@clack/prompts'\nimport { Action, AdapterFactory, SilkweaveError, unwrap } from '@silkweave/core'\nimport { createCLILogger } from '@silkweave/logger'\nimport { camelCase, kebabCase } from 'change-case'\nimport { Command } from 'commander'\nimport z from 'zod'\n\nfunction handleCLIError(error: unknown) {\n if (error instanceof SilkweaveError) {\n log.error(`[${error.code}] ${error.message}`)\n process.exitCode = 1\n } else if (error instanceof z.ZodError) {\n log.error('Validation Error', { withGuide: false })\n for (const issue of error.issues) {\n log.error(`${issue.path}: ${issue.message}`)\n }\n process.exitCode = 1\n } else if (error instanceof Error) {\n log.error(error.message)\n process.exitCode = 1\n } else if (typeof error === 'string') {\n log.error(error)\n process.exitCode = 1\n } else {\n log.error(JSON.stringify(error))\n process.exitCode = 1\n }\n}\n\nfunction parseCLIInput(action: Action, args: any[]) {\n const tmpArgs = args.slice(0, -1)\n const rawInput = tmpArgs.pop()\n action.args?.forEach((k, index) => { rawInput[k] = args[index] })\n const { error, data } = action.input.safeParse(rawInput)\n if (error || !data) {\n handleCLIError(error)\n process.exit()\n }\n\n return data\n}\n\nexport const cli: AdapterFactory = () => {\n return (options, baseContext) => {\n const context = baseContext.fork({ adapter: 'cli' })\n const program = new Command()\n .name(options.name)\n .description(options.description)\n .version(options.version)\n\n return {\n context,\n start: async (actions) => {\n for (const action of actions) {\n const name = kebabCase(action.name)\n const command = program.command(name).description(action.description)\n const shape = action.input.shape\n const keys = Object.keys(shape)\n for (const key of keys) {\n const [type, { defaultValue }] = unwrap(shape[key])\n const description = type.description\n const isArgument = action.args?.includes(key)\n if (isArgument) {\n command.argument(`[${camelCase(key)}]`, description, defaultValue)\n } else if (type instanceof z.ZodBoolean) {\n command.option(`--${kebabCase(key)}`, description, defaultValue)\n command.option(`--no-${kebabCase(key)}`)\n } else if (type instanceof z.ZodNumber) {\n command.option(`--${kebabCase(key)} <number>`, description, defaultValue)\n } else if (type instanceof z.ZodString || type instanceof z.ZodEnum) {\n command.option(`--${kebabCase(key)} <string>`, description, defaultValue)\n } else if (type instanceof z.ZodObject || type instanceof z.ZodRecord || type instanceof z.ZodArray) {\n command.option(`--${kebabCase(key)} <json>`, description ?? '', JSON.parse, defaultValue)\n } else {\n throw new Error(`Invalid zod type: ${type.def.type}`)\n }\n }\n command.action((...args) => {\n const logger = createCLILogger()\n const input = parseCLIInput(action, args)\n intro(`${options.name} - ${action.name}`)\n action.run(input, context.fork({ logger, command })).then((result) => {\n logger.info(JSON.stringify(result, null, 2))\n }).catch(handleCLIError)\n })\n }\n program.parse()\n },\n stop: async () => { }\n }\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/adapter/cli.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { intro, log } from '@clack/prompts'\nimport { Action, AdapterFactory, SilkweaveError, SilkweaveOptions, unwrap } from '@silkweave/core'\nimport { createCLILogger } from '@silkweave/logger'\nimport { SilkweaveContext } from '@silkweave/core'\nimport { camelCase, kebabCase } from 'change-case'\nimport { Command } from 'commander'\nimport z from 'zod'\n\nfunction handleCLIError(error: unknown) {\n if (error instanceof SilkweaveError) {\n log.error(`[${error.code}] ${error.message}`)\n } else if (error instanceof z.ZodError) {\n log.error('Validation Error', { withGuide: false })\n for (const issue of error.issues) {\n log.error(`${issue.path}: ${issue.message}`)\n }\n } else if (error instanceof Error) {\n log.error(error.message)\n } else if (typeof error === 'string') {\n log.error(error)\n } else {\n log.error(JSON.stringify(error))\n }\n process.exitCode = 1\n}\n\nfunction parseCLIInput(action: Action, args: any[]) {\n const tmpArgs = args.slice(0, -1)\n const rawInput = tmpArgs.pop()\n action.args?.forEach((k, index) => { rawInput[k] = args[index] })\n const { error, data } = action.input.safeParse(rawInput)\n if (error || !data) {\n handleCLIError(error)\n process.exit()\n }\n\n return data\n}\n\nfunction addCliOption(command: Command, key: string, type: z.ZodType, defaultValue: any, isArgument: boolean) {\n const description = type.description\n if (isArgument) {\n command.argument(`[${camelCase(key)}]`, description, defaultValue)\n return\n }\n const flag = kebabCase(key)\n if (type instanceof z.ZodBoolean) {\n command.option(`--${flag}`, description, defaultValue)\n command.option(`--no-${flag}`)\n } else if (type instanceof z.ZodNumber) {\n command.option(`--${flag} <number>`, description, defaultValue)\n } else if (type instanceof z.ZodString || type instanceof z.ZodEnum) {\n command.option(`--${flag} <string>`, description, defaultValue)\n } else if (type instanceof z.ZodObject || type instanceof z.ZodRecord || type instanceof z.ZodArray) {\n command.option(`--${flag} <json>`, description ?? '', JSON.parse, defaultValue)\n } else {\n throw new Error(`Invalid zod type: ${type.def.type}`)\n }\n}\n\nfunction registerCommand(program: Command, action: Action, options: SilkweaveOptions, context: SilkweaveContext) {\n const command = program.command(kebabCase(action.name)).description(action.description)\n const shape = action.input.shape\n for (const key of Object.keys(shape)) {\n const [type, { defaultValue }] = unwrap(shape[key])\n addCliOption(command, key, type, defaultValue, action.args?.includes(key) ?? false)\n }\n command.action((...args) => {\n const logger = createCLILogger()\n const input = parseCLIInput(action, args)\n intro(`${options.name} - ${action.name}`)\n action.run(input, context.fork({ logger, command })).then((result) => {\n logger.info(JSON.stringify(result, null, 2))\n }).catch(handleCLIError)\n })\n}\n\nexport const cli: AdapterFactory = () => {\n return (options, baseContext) => {\n const context = baseContext.fork({ adapter: 'cli' })\n const program = new Command()\n .name(options.name)\n .description(options.description)\n .version(options.version)\n\n return {\n context,\n start: async (actions) => {\n for (const action of actions) {\n registerCommand(program, action, options, context)\n }\n program.parse()\n },\n stop: async () => { }\n }\n }\n}\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silkweave/cli",
3
- "version": "1.3.1",
3
+ "version": "1.4.0",
4
4
  "description": "Silkweave CLI Adapter",
5
5
  "repository": {
6
6
  "type": "git",
@@ -15,8 +15,8 @@
15
15
  "change-case": "^5.4.4",
16
16
  "commander": "^13.1.0",
17
17
  "zod": "^4.3.6",
18
- "@silkweave/core": "1.3.1",
19
- "@silkweave/logger": "1.3.1"
18
+ "@silkweave/core": "1.4.0",
19
+ "@silkweave/logger": "1.4.0"
20
20
  },
21
21
  "devDependencies": {
22
22
  "@eslint/js": "^10.0.1",