@jixo/cli 0.22.0 → 0.23.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.
@@ -1 +1 @@
1
- {"version":3,"file":"google-aistudio.d.ts","sourceRoot":"","sources":["../../src/commands/google-aistudio.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAY,aAAa,EAAC,MAAM,OAAO,CAAC;AA+DpD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,MAAM,EAAE,MAAM,CAU/D,CAAC"}
1
+ {"version":3,"file":"google-aistudio.d.ts","sourceRoot":"","sources":["../../src/commands/google-aistudio.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAY,aAAa,EAAC,MAAM,OAAO,CAAC;AAoFpD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,MAAM,EAAE,MAAM,CAiB/D,CAAC"}
@@ -1,8 +1,9 @@
1
- import { doGoogleAiStudioAutomation, doSync } from "@jixo/dev/google-aistudio";
1
+ import { doGoogleAiStudioAutomation, doInit, doSync } from "@jixo/dev/google-aistudio";
2
+ import path from "node:path";
2
3
  // 定义 'sync' 子命令
3
4
  const syncCommand = {
4
5
  command: "sync [path]",
5
- aliases: ["S"],
6
+ aliases: ["S", "s"],
6
7
  describe: "Sync with aistudio.google.com contents",
7
8
  builder: (yargs) => yargs
8
9
  .positional("path", {
@@ -34,7 +35,7 @@ const syncCommand = {
34
35
  };
35
36
  const browserCommand = {
36
37
  command: "browser [dir]",
37
- aliases: ["B"],
38
+ aliases: ["B", "b"],
38
39
  describe: "browser-kit for aistudio.google.com",
39
40
  builder: (yargs) => yargs.positional("dir", {
40
41
  describe: "Directory for aistudio output contents",
@@ -45,6 +46,25 @@ const browserCommand = {
45
46
  doGoogleAiStudioAutomation(argv.dir);
46
47
  },
47
48
  };
49
+ const initCommand = {
50
+ command: "init [dir]",
51
+ aliases: ["i", "I"],
52
+ describe: "init an browser-kit directory for aistudio.google.com",
53
+ builder: (yargs) => yargs
54
+ .positional("dir", {
55
+ describe: "Directory for aistudio input/output contents",
56
+ type: "string",
57
+ default: path.resolve(process.cwd(), ".ai"),
58
+ })
59
+ .option("force", {
60
+ alias: "F",
61
+ type: "boolean",
62
+ describe: "override exits files",
63
+ }),
64
+ handler: async (argv) => {
65
+ doInit(argv);
66
+ },
67
+ };
48
68
  /**
49
69
  * @jixo/cli google-aistudio
50
70
  *
@@ -56,7 +76,12 @@ export const googleAistudioCommand = {
56
76
  describe: "Commands for Google AI Studio integration",
57
77
  builder: (yargs) => {
58
78
  // 将 syncCommand 注册为 google-aistudio 的子命令
59
- return yargs.command(syncCommand).command(browserCommand).demandCommand(1, "You must provide a sub-command for 'google-aistudio'.");
79
+ return (yargs
80
+ .command(syncCommand)
81
+ .command(browserCommand)
82
+ .command(initCommand)
83
+ //
84
+ .demandCommand(1, "You must provide a sub-command for 'google-aistudio'."));
60
85
  },
61
86
  // 这个 handler 理论上不会被执行,因为 yargs 会要求一个子命令
62
87
  handler: () => { },
@@ -1 +1 @@
1
- {"version":3,"file":"google-aistudio.js","sourceRoot":"","sources":["../../src/commands/google-aistudio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,0BAA0B,EAAE,MAAM,EAAmB,MAAM,2BAA2B,CAAC;AAU/F,gBAAgB;AAChB,MAAM,WAAW,GAAoC;IACnD,OAAO,EAAE,aAAa;IACtB,OAAO,EAAE,CAAC,GAAG,CAAC;IACd,QAAQ,EAAE,wCAAwC;IAClD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,UAAU,CAAC,MAAM,EAAE;QAClB,QAAQ,EAAE,gCAAgC;QAC1C,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;KACvB,CAAC;SACD,MAAM,CAAC,OAAO,EAAE;QACf,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,+CAA+C;QACzD,OAAO,EAAE,KAAK;KACf,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QAChB,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,2DAA2D;KACtE,CAAC;IACN,OAAO,EAAE,KAAK,EAAE,IAAyB,EAAE,EAAE;QAC3C,mCAAmC;QACnC,4CAA4C;QAC5C,qBAAqB;QACrB,MAAM,gBAAgB,GAAgB;YACpC,GAAG,IAAI;YACP,CAAC,EAAE,CAAC,IAAI,CAAC,IAAc,CAAC;SACzB,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC3B,CAAC;CACF,CAAC;AAMF,MAAM,cAAc,GAAuC;IACzD,OAAO,EAAE,eAAe;IACxB,OAAO,EAAE,CAAC,GAAG,CAAC;IACd,QAAQ,EAAE,qCAAqC;IAC/C,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE;QACtB,QAAQ,EAAE,wCAAwC;QAClD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;KACvB,CAAC;IACJ,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAkC;IAClE,OAAO,EAAE,2BAA2B;IACpC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IAC3B,QAAQ,EAAE,2CAA2C;IACrD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QACjB,yCAAyC;QACzC,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,uDAAuD,CAAC,CAAC;IACtI,CAAC;IACD,wCAAwC;IACxC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;CAClB,CAAC","sourcesContent":["import {doGoogleAiStudioAutomation, doSync, type SyncOptions} from \"@jixo/dev/google-aistudio\";\nimport type {Arguments, CommandModule} from \"yargs\";\n\n// 定义 yargs builder 所需的参数接口\ninterface SyncArgs {\n path?: string;\n watch?: boolean;\n outDir?: string;\n}\n\n// 定义 'sync' 子命令\nconst syncCommand: CommandModule<object, SyncArgs> = {\n command: \"sync [path]\",\n aliases: [\"S\"],\n describe: \"Sync with aistudio.google.com contents\",\n builder: (yargs) =>\n yargs\n .positional(\"path\", {\n describe: \"Directory or file path to sync\",\n type: \"string\",\n default: process.cwd(),\n })\n .option(\"watch\", {\n alias: \"W\",\n type: \"boolean\",\n describe: \"Watch for file changes and sync automatically\",\n default: false,\n })\n .option(\"outDir\", {\n alias: \"O\",\n type: \"string\",\n describe: \"Specify the output directory for generated markdown files\",\n }),\n handler: async (argv: Arguments<SyncArgs>) => {\n // 将 yargs 的解析结果适配为 doSync 函数期望的格式。\n // 关键是 yargs 的位置参数是命名好的 (argv.path),而 doSync\n // 期望它在 `_` 数组的第一个位置。\n const optionsForDoSync: SyncOptions = {\n ...argv,\n _: [argv.path as string],\n };\n doSync(optionsForDoSync);\n },\n};\n\ninterface BrowserArgs {\n dir?: string;\n}\n\nconst browserCommand: CommandModule<object, BrowserArgs> = {\n command: \"browser [dir]\",\n aliases: [\"B\"],\n describe: \"browser-kit for aistudio.google.com\",\n builder: (yargs) =>\n yargs.positional(\"dir\", {\n describe: \"Directory for aistudio output contents\",\n type: \"string\",\n default: process.cwd(),\n }),\n handler: async (argv) => {\n doGoogleAiStudioAutomation(argv.dir);\n },\n};\n\n/**\n * @jixo/cli google-aistudio\n *\n * Group of commands for interacting with Google AI Studio.\n */\nexport const googleAistudioCommand: CommandModule<object, object> = {\n command: \"google-aistudio <command>\",\n aliases: [\"GO\", \"Go\", \"go\"],\n describe: \"Commands for Google AI Studio integration\",\n builder: (yargs) => {\n // 将 syncCommand 注册为 google-aistudio 的子命令\n return yargs.command(syncCommand).command(browserCommand).demandCommand(1, \"You must provide a sub-command for 'google-aistudio'.\");\n },\n // 这个 handler 理论上不会被执行,因为 yargs 会要求一个子命令\n handler: () => {},\n};\n"]}
1
+ {"version":3,"file":"google-aistudio.js","sourceRoot":"","sources":["../../src/commands/google-aistudio.ts"],"names":[],"mappings":"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","sourcesContent":["import {doGoogleAiStudioAutomation, doInit, doSync, type InitOptions, type SyncOptions} from \"@jixo/dev/google-aistudio\";\nimport path from \"node:path\";\nimport type {Arguments, CommandModule} from \"yargs\";\n\n// 定义 yargs builder 所需的参数接口\ninterface SyncArgs {\n path?: string;\n watch?: boolean;\n outDir?: string;\n}\n\n// 定义 'sync' 子命令\nconst syncCommand: CommandModule<object, SyncArgs> = {\n command: \"sync [path]\",\n aliases: [\"S\", \"s\"],\n describe: \"Sync with aistudio.google.com contents\",\n builder: (yargs) =>\n yargs\n .positional(\"path\", {\n describe: \"Directory or file path to sync\",\n type: \"string\",\n default: process.cwd(),\n })\n .option(\"watch\", {\n alias: \"W\",\n type: \"boolean\",\n describe: \"Watch for file changes and sync automatically\",\n default: false,\n })\n .option(\"outDir\", {\n alias: \"O\",\n type: \"string\",\n describe: \"Specify the output directory for generated markdown files\",\n }),\n handler: async (argv: Arguments<SyncArgs>) => {\n // 将 yargs 的解析结果适配为 doSync 函数期望的格式。\n // 关键是 yargs 的位置参数是命名好的 (argv.path),而 doSync\n // 期望它在 `_` 数组的第一个位置。\n const optionsForDoSync: SyncOptions = {\n ...argv,\n _: [argv.path as string],\n };\n doSync(optionsForDoSync);\n },\n};\n\ninterface BrowserArgs {\n dir?: string;\n}\n\nconst browserCommand: CommandModule<object, BrowserArgs> = {\n command: \"browser [dir]\",\n aliases: [\"B\", \"b\"],\n describe: \"browser-kit for aistudio.google.com\",\n builder: (yargs) =>\n yargs.positional(\"dir\", {\n describe: \"Directory for aistudio output contents\",\n type: \"string\",\n default: process.cwd(),\n }),\n handler: async (argv) => {\n doGoogleAiStudioAutomation(argv.dir);\n },\n};\n\nconst initCommand: CommandModule<object, InitOptions> = {\n command: \"init [dir]\",\n aliases: [\"i\", \"I\"],\n describe: \"init an browser-kit directory for aistudio.google.com\",\n builder: (yargs) =>\n yargs\n .positional(\"dir\", {\n describe: \"Directory for aistudio input/output contents\",\n type: \"string\",\n default: path.resolve(process.cwd(), \".ai\"),\n })\n .option(\"force\", {\n alias: \"F\",\n type: \"boolean\",\n describe: \"override exits files\",\n }),\n handler: async (argv) => {\n doInit(argv);\n },\n};\n\n/**\n * @jixo/cli google-aistudio\n *\n * Group of commands for interacting with Google AI Studio.\n */\nexport const googleAistudioCommand: CommandModule<object, object> = {\n command: \"google-aistudio <command>\",\n aliases: [\"GO\", \"Go\", \"go\"],\n describe: \"Commands for Google AI Studio integration\",\n builder: (yargs) => {\n // 将 syncCommand 注册为 google-aistudio 的子命令\n return (\n yargs\n .command(syncCommand)\n .command(browserCommand)\n .command(initCommand)\n //\n .demandCommand(1, \"You must provide a sub-command for 'google-aistudio'.\")\n );\n },\n // 这个 handler 理论上不会被执行,因为 yargs 会要求一个子命令\n handler: () => {},\n};\n"]}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env node
1
2
  import { import_meta_ponyfill } from "import-meta-ponyfill";
2
3
  export * from "./runCli.js";
3
4
  export type AnyImportMeta = typeof import_meta_ponyfill extends (x: infer T) => any ? T : never;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAE1D,cAAc,aAAa,CAAC;AAE5B,MAAM,MAAM,aAAa,GAAG,OAAO,oBAAoB,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;AAChG,eAAO,MAAM,SAAS,GAAI,YAAY,aAAa,EAAE,OAAO,MAAM,EAAE,SAInE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAE1D,cAAc,aAAa,CAAC;AAE5B,MAAM,MAAM,aAAa,GAAG,OAAO,oBAAoB,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;AAChG,eAAO,MAAM,SAAS,GAAI,YAAY,aAAa,EAAE,OAAO,MAAM,EAAE,SAInE,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env node
1
2
  process.removeAllListeners("warning");
2
3
  import { import_meta_ponyfill } from "import-meta-ponyfill";
3
4
  import { runCli } from "./runCli.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;AACtC,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,cAAc,aAAa,CAAC;AAG5B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,UAAyB,EAAE,IAAe,EAAE,EAAE;IACtE,IAAI,oBAAoB,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC","sourcesContent":["process.removeAllListeners(\"warning\");\nimport {import_meta_ponyfill} from \"import-meta-ponyfill\";\nimport {runCli} from \"./runCli.js\";\nexport * from \"./runCli.js\";\n\nexport type AnyImportMeta = typeof import_meta_ponyfill extends (x: infer T) => any ? T : never;\nexport const tryRunCli = (importMeta: AnyImportMeta, args?: string[]) => {\n if (import_meta_ponyfill(importMeta).main) {\n runCli(args);\n }\n};\n\ntryRunCli(import.meta);\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;AACtC,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,cAAc,aAAa,CAAC;AAG5B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,UAAyB,EAAE,IAAe,EAAE,EAAE;IACtE,IAAI,oBAAoB,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC","sourcesContent":["#!/usr/bin/env node\nprocess.removeAllListeners(\"warning\");\nimport {import_meta_ponyfill} from \"import-meta-ponyfill\";\nimport {runCli} from \"./runCli.js\";\nexport * from \"./runCli.js\";\n\nexport type AnyImportMeta = typeof import_meta_ponyfill extends (x: infer T) => any ? T : never;\nexport const tryRunCli = (importMeta: AnyImportMeta, args?: string[]) => {\n if (import_meta_ponyfill(importMeta).main) {\n runCli(args);\n }\n};\n\ntryRunCli(import.meta);\n"]}
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@jixo/cli",
3
- "version": "0.22.0",
3
+ "version": "0.23.2",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "jixo": "./bundle/index.js"
7
7
  },
8
8
  "files": [
9
+ "assets",
9
10
  "bundle",
10
11
  "dist"
11
12
  ],
@@ -25,7 +26,7 @@
25
26
  "tslib": "^2.8.1",
26
27
  "yargs": "^18.0.0",
27
28
  "zod": "^4.0.0",
28
- "@jixo/dev": "^1.13.0"
29
+ "@jixo/dev": "^1.14.2"
29
30
  },
30
31
  "peerDependenciesMeta": {
31
32
  "@jixo/dev": {
@@ -59,10 +60,10 @@
59
60
  "tslib": "^2.8.1",
60
61
  "yargs": "^18.0.0",
61
62
  "zod": "^4.0.0",
62
- "@jixo/dev": "^1.13.0"
63
+ "@jixo/dev": "^1.14.2"
63
64
  },
64
65
  "scripts": {
65
- "build": "pnpm run '/^b\\:.*/'",
66
+ "build": "pnpm run \"/^b\\:.*/\"",
66
67
  "b:ts": "tsc --build",
67
68
  "b:bundle": "tsdown",
68
69
  "gen-prompts": "node ./scripts/gen-prompts.ts"