@silkweave/cli 1.7.1 → 1.8.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,16 +1,17 @@
1
-
2
- > @silkweave/cli@1.6.0 build /Users/atomic/projects/ai/silkweave/packages/cli
3
- > tsdown
4
-
5
- ℹ tsdown v0.21.8 powered by rolldown v1.0.0-rc.15
6
- ℹ config file: /Users/atomic/projects/ai/silkweave/packages/cli/tsdown.config.ts
7
- ℹ entry: ./src/index.ts
8
- ℹ tsconfig: tsconfig.json
9
- ℹ Build start
10
- ℹ Cleaning 4 files
11
- ℹ build/index.mjs 3.11 kB │ gzip: 1.18 kB
12
- ℹ build/index.mjs.map 5.71 kB │ gzip: 2.06 kB
13
- ℹ build/index.d.mts.map 0.12 kB │ gzip: 0.13 kB
14
- ℹ build/index.d.mts 0.18 kB │ gzip: 0.16 kB
15
- ℹ 4 files, total: 9.12 kB
16
- ✔ Build complete in 623ms
1
+
2
+ 
3
+ > @silkweave/cli@1.7.1 build /Users/atomic/projects/silkweave/silkweave/packages/cli
4
+ > tsdown
5
+
6
+ ℹ tsdown v0.21.8 powered by rolldown v1.0.0-rc.15
7
+ ℹ config file: /Users/atomic/projects/silkweave/silkweave/packages/cli/tsdown.config.ts
8
+ ℹ entry: ./src/index.ts
9
+ ℹ tsconfig: tsconfig.json
10
+ ℹ Build start
11
+ ℹ Cleaning 4 files
12
+ ℹ build/index.mjs 3.11 kB │ gzip: 1.18 kB
13
+ ℹ build/index.mjs.map 5.68 kB │ gzip: 2.06 kB
14
+ ℹ build/index.d.mts.map 0.12 kB │ gzip: 0.13 kB
15
+ ℹ build/index.d.mts 0.18 kB │ gzip: 0.16 kB
16
+ ℹ 4 files, total: 9.09 kB
17
+ ✔ Build complete in 619ms
@@ -1,5 +1,5 @@
1
1
 
2
2
  
3
- > @silkweave/cli@1.4.1 lint /Users/atomic/projects/ai/silkweave/packages/cli
3
+ > @silkweave/cli@1.7.1 lint /Users/atomic/projects/silkweave/silkweave/packages/cli
4
4
  > eslint
5
5
 
@@ -1,24 +1,24 @@
1
1
 
2
2
  
3
- > @silkweave/cli@1.6.0 prepack /Users/atomic/projects/ai/silkweave/packages/cli
3
+ > @silkweave/cli@1.7.1 prepack /Users/atomic/projects/silkweave/silkweave/packages/cli
4
4
  > pnpm clean && pnpm build
5
5
 
6
6
 
7
- > @silkweave/cli@1.6.0 clean /Users/atomic/projects/ai/silkweave/packages/cli
7
+ > @silkweave/cli@1.7.1 clean /Users/atomic/projects/silkweave/silkweave/packages/cli
8
8
  > rimraf build
9
9
 
10
10
 
11
- > @silkweave/cli@1.6.0 build /Users/atomic/projects/ai/silkweave/packages/cli
11
+ > @silkweave/cli@1.7.1 build /Users/atomic/projects/silkweave/silkweave/packages/cli
12
12
  > tsdown
13
13
 
14
14
  ℹ tsdown v0.21.8 powered by rolldown v1.0.0-rc.15
15
- ℹ config file: /Users/atomic/projects/ai/silkweave/packages/cli/tsdown.config.ts
15
+ ℹ config file: /Users/atomic/projects/silkweave/silkweave/packages/cli/tsdown.config.ts
16
16
  ℹ entry: ./src/index.ts
17
17
  ℹ tsconfig: tsconfig.json
18
18
  ℹ Build start
19
19
  ℹ build/index.mjs 3.11 kB │ gzip: 1.18 kB
20
- ℹ build/index.mjs.map 5.71 kB │ gzip: 2.06 kB
20
+ ℹ build/index.mjs.map 5.68 kB │ gzip: 2.06 kB
21
21
  ℹ build/index.d.mts.map 0.12 kB │ gzip: 0.13 kB
22
22
  ℹ build/index.d.mts 0.18 kB │ gzip: 0.16 kB
23
- ℹ 4 files, total: 9.12 kB
24
- ✔ Build complete in 501ms
23
+ ℹ 4 files, total: 9.09 kB
24
+ ✔ Build complete in 476ms
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/adapter/cli.ts"],"mappings":";;;cA8Ea,GAAA,EAAK,cAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/adapter/cli.ts"],"mappings":";;;cA6Ea,GAAA,EAAK,cAAA"}
package/build/index.mjs CHANGED
@@ -3,7 +3,7 @@ import { SilkweaveError, unwrap } from "@silkweave/core";
3
3
  import { createCLILogger } from "@silkweave/logger";
4
4
  import { camelCase, kebabCase } from "change-case";
5
5
  import { Command } from "commander";
6
- import z from "zod";
6
+ import z from "zod/v4";
7
7
  //#region src/adapter/cli.ts
8
8
  function handleCLIError(error) {
9
9
  if (error instanceof SilkweaveError) log.error(`[${error.code}] ${error.message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"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":";;;;;;;AASA,SAAS,eAAe,OAAgB;AACtC,KAAI,iBAAiB,eACnB,KAAI,MAAM,IAAI,MAAM,KAAK,IAAI,MAAM,UAAU;UACpC,iBAAiB,EAAE,UAAU;AACtC,MAAI,MAAM,oBAAoB,EAAE,WAAW,OAAO,CAAC;AACnD,OAAK,MAAM,SAAS,MAAM,OACxB,KAAI,MAAM,GAAG,MAAM,KAAK,IAAI,MAAM,UAAU;YAErC,iBAAiB,MAC1B,KAAI,MAAM,MAAM,QAAQ;UACf,OAAO,UAAU,SAC1B,KAAI,MAAM,MAAM;KAEhB,KAAI,MAAM,KAAK,UAAU,MAAM,CAAC;AAElC,SAAQ,WAAW;;AAGrB,SAAS,cAAc,QAAgB,MAAa;CAElD,MAAM,WADU,KAAK,MAAM,GAAG,GAAG,CACR,KAAK;AAC9B,QAAO,MAAM,SAAS,GAAG,UAAU;AAAE,WAAS,KAAK,KAAK;GAAS;CACjE,MAAM,EAAE,OAAO,SAAS,OAAO,MAAM,UAAU,SAAS;AACxD,KAAI,SAAS,CAAC,MAAM;AAClB,iBAAe,MAAM;AACrB,UAAQ,MAAM;;AAGhB,QAAO;;AAGT,SAAS,aAAa,SAAkB,KAAa,MAAiB,cAAmB,YAAqB;CAC5G,MAAM,cAAc,KAAK;AACzB,KAAI,YAAY;AACd,UAAQ,SAAS,IAAI,UAAU,IAAI,CAAC,IAAI,aAAa,aAAa;AAClE;;CAEF,MAAM,OAAO,UAAU,IAAI;AAC3B,KAAI,gBAAgB,EAAE,YAAY;AAChC,UAAQ,OAAO,KAAK,QAAQ,aAAa,aAAa;AACtD,UAAQ,OAAO,QAAQ,OAAO;YACrB,gBAAgB,EAAE,UAC3B,SAAQ,OAAO,KAAK,KAAK,YAAY,aAAa,aAAa;UACtD,gBAAgB,EAAE,aAAa,gBAAgB,EAAE,QAC1D,SAAQ,OAAO,KAAK,KAAK,YAAY,aAAa,aAAa;UACtD,gBAAgB,EAAE,aAAa,gBAAgB,EAAE,aAAa,gBAAgB,EAAE,SACzF,SAAQ,OAAO,KAAK,KAAK,UAAU,eAAe,IAAI,KAAK,OAAO,aAAa;KAE/E,OAAM,IAAI,MAAM,qBAAqB,KAAK,IAAI,OAAO;;AAIzD,SAAS,gBAAgB,SAAkB,QAAgB,SAA2B,SAA2B;CAC/G,MAAM,UAAU,QAAQ,QAAQ,UAAU,OAAO,KAAK,CAAC,CAAC,YAAY,OAAO,YAAY;CACvF,MAAM,QAAQ,OAAO,MAAM;AAC3B,MAAK,MAAM,OAAO,OAAO,KAAK,MAAM,EAAE;EACpC,MAAM,CAAC,MAAM,EAAE,kBAAkB,OAAO,MAAM,KAAK;AACnD,eAAa,SAAS,KAAK,MAAM,cAAc,OAAO,MAAM,SAAS,IAAI,IAAI,MAAM;;AAErF,SAAQ,QAAQ,GAAG,SAAS;EAC1B,MAAM,SAAS,iBAAiB;EAChC,MAAM,QAAQ,cAAc,QAAQ,KAAK;AACzC,QAAM,GAAG,QAAQ,KAAK,KAAK,OAAO,OAAO;AACzC,SAAO,IAAI,OAAO,QAAQ,KAAK;GAAE;GAAQ;GAAS,CAAC,CAAC,CAAC,MAAM,WAAW;AACpE,UAAO,KAAK,KAAK,UAAU,QAAQ,MAAM,EAAE,CAAC;IAC5C,CAAC,MAAM,eAAe;GACxB;;AAGJ,MAAa,YAA4B;AACvC,SAAQ,SAAS,gBAAgB;EAC/B,MAAM,UAAU,YAAY,KAAK,EAAE,SAAS,OAAO,CAAC;EACpD,MAAM,UAAU,IAAI,SAAS,CAC1B,KAAK,QAAQ,KAAK,CAClB,YAAY,QAAQ,YAAY,CAChC,QAAQ,QAAQ,QAAQ;AAE3B,SAAO;GACL;GACA,OAAO,OAAO,YAAY;AACxB,SAAK,MAAM,UAAU,QACnB,iBAAgB,SAAS,QAAQ,SAAS,QAAQ;AAEpD,YAAQ,OAAO;;GAEjB,MAAM,YAAY;GACnB"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../src/adapter/cli.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { intro, log } from '@clack/prompts'\nimport { Action, AdapterFactory, SilkweaveContext, SilkweaveError, SilkweaveOptions, unwrap } from '@silkweave/core'\nimport { createCLILogger } from '@silkweave/logger'\nimport { camelCase, kebabCase } from 'change-case'\nimport { Command } from 'commander'\nimport z from 'zod/v4'\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":";;;;;;;AAQA,SAAS,eAAe,OAAgB;AACtC,KAAI,iBAAiB,eACnB,KAAI,MAAM,IAAI,MAAM,KAAK,IAAI,MAAM,UAAU;UACpC,iBAAiB,EAAE,UAAU;AACtC,MAAI,MAAM,oBAAoB,EAAE,WAAW,OAAO,CAAC;AACnD,OAAK,MAAM,SAAS,MAAM,OACxB,KAAI,MAAM,GAAG,MAAM,KAAK,IAAI,MAAM,UAAU;YAErC,iBAAiB,MAC1B,KAAI,MAAM,MAAM,QAAQ;UACf,OAAO,UAAU,SAC1B,KAAI,MAAM,MAAM;KAEhB,KAAI,MAAM,KAAK,UAAU,MAAM,CAAC;AAElC,SAAQ,WAAW;;AAGrB,SAAS,cAAc,QAAgB,MAAa;CAElD,MAAM,WADU,KAAK,MAAM,GAAG,GAAG,CACR,KAAK;AAC9B,QAAO,MAAM,SAAS,GAAG,UAAU;AAAE,WAAS,KAAK,KAAK;GAAS;CACjE,MAAM,EAAE,OAAO,SAAS,OAAO,MAAM,UAAU,SAAS;AACxD,KAAI,SAAS,CAAC,MAAM;AAClB,iBAAe,MAAM;AACrB,UAAQ,MAAM;;AAGhB,QAAO;;AAGT,SAAS,aAAa,SAAkB,KAAa,MAAiB,cAAmB,YAAqB;CAC5G,MAAM,cAAc,KAAK;AACzB,KAAI,YAAY;AACd,UAAQ,SAAS,IAAI,UAAU,IAAI,CAAC,IAAI,aAAa,aAAa;AAClE;;CAEF,MAAM,OAAO,UAAU,IAAI;AAC3B,KAAI,gBAAgB,EAAE,YAAY;AAChC,UAAQ,OAAO,KAAK,QAAQ,aAAa,aAAa;AACtD,UAAQ,OAAO,QAAQ,OAAO;YACrB,gBAAgB,EAAE,UAC3B,SAAQ,OAAO,KAAK,KAAK,YAAY,aAAa,aAAa;UACtD,gBAAgB,EAAE,aAAa,gBAAgB,EAAE,QAC1D,SAAQ,OAAO,KAAK,KAAK,YAAY,aAAa,aAAa;UACtD,gBAAgB,EAAE,aAAa,gBAAgB,EAAE,aAAa,gBAAgB,EAAE,SACzF,SAAQ,OAAO,KAAK,KAAK,UAAU,eAAe,IAAI,KAAK,OAAO,aAAa;KAE/E,OAAM,IAAI,MAAM,qBAAqB,KAAK,IAAI,OAAO;;AAIzD,SAAS,gBAAgB,SAAkB,QAAgB,SAA2B,SAA2B;CAC/G,MAAM,UAAU,QAAQ,QAAQ,UAAU,OAAO,KAAK,CAAC,CAAC,YAAY,OAAO,YAAY;CACvF,MAAM,QAAQ,OAAO,MAAM;AAC3B,MAAK,MAAM,OAAO,OAAO,KAAK,MAAM,EAAE;EACpC,MAAM,CAAC,MAAM,EAAE,kBAAkB,OAAO,MAAM,KAAK;AACnD,eAAa,SAAS,KAAK,MAAM,cAAc,OAAO,MAAM,SAAS,IAAI,IAAI,MAAM;;AAErF,SAAQ,QAAQ,GAAG,SAAS;EAC1B,MAAM,SAAS,iBAAiB;EAChC,MAAM,QAAQ,cAAc,QAAQ,KAAK;AACzC,QAAM,GAAG,QAAQ,KAAK,KAAK,OAAO,OAAO;AACzC,SAAO,IAAI,OAAO,QAAQ,KAAK;GAAE;GAAQ;GAAS,CAAC,CAAC,CAAC,MAAM,WAAW;AACpE,UAAO,KAAK,KAAK,UAAU,QAAQ,MAAM,EAAE,CAAC;IAC5C,CAAC,MAAM,eAAe;GACxB;;AAGJ,MAAa,YAA4B;AACvC,SAAQ,SAAS,gBAAgB;EAC/B,MAAM,UAAU,YAAY,KAAK,EAAE,SAAS,OAAO,CAAC;EACpD,MAAM,UAAU,IAAI,SAAS,CAC1B,KAAK,QAAQ,KAAK,CAClB,YAAY,QAAQ,YAAY,CAChC,QAAQ,QAAQ,QAAQ;AAE3B,SAAO;GACL;GACA,OAAO,OAAO,YAAY;AACxB,SAAK,MAAM,UAAU,QACnB,iBAAgB,SAAS,QAAQ,SAAS,QAAQ;AAEpD,YAAQ,OAAO;;GAEjB,MAAM,YAAY;GACnB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silkweave/cli",
3
- "version": "1.7.1",
3
+ "version": "1.8.0",
4
4
  "description": "Silkweave CLI Adapter",
5
5
  "repository": {
6
6
  "type": "git",
@@ -13,9 +13,9 @@
13
13
  "@clack/prompts": "^1.0.1",
14
14
  "change-case": "^5.4.4",
15
15
  "commander": "^13.1.0",
16
- "zod": "^4.3.6",
17
- "@silkweave/core": "1.7.1",
18
- "@silkweave/logger": "1.7.1"
16
+ "zod": "^3.25.0",
17
+ "@silkweave/core": "1.8.0",
18
+ "@silkweave/logger": "1.8.0"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@eslint/js": "^10.0.1",