@jixo/cli 0.26.0 → 4.0.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 +1 @@
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;AAyFpD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,MAAM,EAAE,MAAM,CAkB/D,CAAC"}
1
+ {"version":3,"file":"google-aistudio.d.ts","sourceRoot":"","sources":["../../src/commands/google-aistudio.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAY,aAAa,EAAC,MAAM,OAAO,CAAC;AAmFpD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,MAAM,EAAE,MAAM,CAkB/D,CAAC"}
@@ -1,5 +1,6 @@
1
- import { prompts } from "@gaubee/nodekit";
2
- import { doInit, doSync, startWsServer } from "@jixo/dev/google-aistudio";
1
+ import { red } from "@gaubee/nodekit";
2
+ import { doSync, initSession, startWsServer } from "@jixo/dev/google-aistudio";
3
+ import path from "node:path";
3
4
  // 定义 'sync' 子命令
4
5
  const syncCommand = {
5
6
  command: "sync [path]",
@@ -43,31 +44,26 @@ const browserCommand = {
43
44
  },
44
45
  };
45
46
  const initCommand = {
46
- command: "init [dir]",
47
+ command: "init <nid>",
47
48
  aliases: ["i", "I"],
48
- describe: "init an browser-kit directory for aistudio.google.com",
49
+ describe: "init an chrome ext workspace aistudio.google.com",
49
50
  builder: (yargs) => yargs
50
- .positional("dir", {
51
- describe: "Directory for aistudio input/output contents",
52
- type: "string",
51
+ .positional("nid", {
52
+ type: "number",
53
+ demandOption: true,
53
54
  })
54
- .option("force", {
55
- alias: "F",
56
- type: "boolean",
57
- describe: "override exits files",
55
+ .option("dir", {
56
+ alias: ["D", "d"],
57
+ type: "string",
58
+ describe: "Specify the workspace directory for chrome-ext",
58
59
  }),
59
60
  handler: async (argv) => {
60
- let { dir } = argv;
61
- if (dir == null) {
62
- dir = await prompts.input({
63
- message: "No directory specified. Do you want to use the default '.ai' directory?",
64
- default: ".ai", // 默认值为 Yes
65
- });
61
+ try {
62
+ initSession(argv.nid, argv.dir ? path.resolve(process.cwd(), argv.dir) : process.cwd());
63
+ }
64
+ catch (e) {
65
+ console.error(red(e instanceof Error ? e.message : String(e)));
66
66
  }
67
- doInit({
68
- ...argv,
69
- dir,
70
- });
71
67
  },
72
68
  };
73
69
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"google-aistudio.js","sourceRoot":"","sources":["../../src/commands/google-aistudio.ts"],"names":[],"mappings":"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","sourcesContent":["import {prompts} from \"@gaubee/nodekit\";\nimport {doInit, doSync, startWsServer, 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\", \"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\nconst browserCommand: CommandModule<object, BrowserArgs> = {\n command: \"browser\",\n aliases: [\"B\", \"b\"],\n describe: \"browser-kit for aistudio.google.com\",\n builder: (yargs) => yargs,\n handler: async () => {\n startWsServer();\n },\n};\ninterface InitOptions {\n dir?: string;\n force?: boolean;\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 })\n .option(\"force\", {\n alias: \"F\",\n type: \"boolean\",\n describe: \"override exits files\",\n }),\n handler: async (argv) => {\n let {dir} = argv;\n if (dir == null) {\n dir = await prompts.input({\n message: \"No directory specified. Do you want to use the default '.ai' directory?\",\n default: \".ai\", // 默认值为 Yes\n });\n }\n doInit({\n ...argv,\n dir,\n });\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(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"]}
1
+ {"version":3,"file":"google-aistudio.js","sourceRoot":"","sources":["../../src/commands/google-aistudio.ts"],"names":[],"mappings":"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","sourcesContent":["import {red} from \"@gaubee/nodekit\";\nimport {doSync, initSession, startWsServer, 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\nconst browserCommand: CommandModule<object, BrowserArgs> = {\n command: \"browser\",\n aliases: [\"B\", \"b\"],\n describe: \"browser-kit for aistudio.google.com\",\n builder: (yargs) => yargs,\n handler: async () => {\n startWsServer();\n },\n};\ninterface InitOptions {\n nid: number;\n dir?: string;\n}\nconst initCommand: CommandModule<object, InitOptions> = {\n command: \"init <nid>\",\n aliases: [\"i\", \"I\"],\n describe: \"init an chrome ext workspace aistudio.google.com\",\n builder: (yargs) =>\n yargs\n .positional(\"nid\", {\n type: \"number\",\n demandOption: true,\n })\n .option(\"dir\", {\n alias: [\"D\", \"d\"],\n type: \"string\",\n describe: \"Specify the workspace directory for chrome-ext\",\n }),\n handler: async (argv) => {\n try {\n initSession(argv.nid!, argv.dir ? path.resolve(process.cwd(), argv.dir) : process.cwd());\n } catch (e) {\n console.error(red(e instanceof Error ? e.message : String(e)));\n }\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(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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jixo/cli",
3
- "version": "0.26.0",
3
+ "version": "4.0.0",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "jixo": "./bundle/index.js"
@@ -27,7 +27,7 @@
27
27
  "tslib": "^2.8.1",
28
28
  "yargs": "^18.0.0",
29
29
  "zod": "^4.0.0",
30
- "@jixo/dev": "^1.17.0"
30
+ "@jixo/dev": "^4.0.0"
31
31
  },
32
32
  "peerDependenciesMeta": {
33
33
  "@jixo/dev": {
@@ -61,7 +61,7 @@
61
61
  "tslib": "^2.8.1",
62
62
  "yargs": "^18.0.0",
63
63
  "zod": "^4.1.5",
64
- "@jixo/dev": "^1.17.0"
64
+ "@jixo/dev": "^4.0.0"
65
65
  },
66
66
  "scripts": {
67
67
  "build": "pnpm run \"/^b\\:.*/\"",