jinzd-ai-cli 0.2.5 → 0.2.7

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.
@@ -8,7 +8,7 @@ import { platform } from "os";
8
8
  import chalk from "chalk";
9
9
 
10
10
  // src/core/constants.ts
11
- var VERSION = "0.2.5";
11
+ var VERSION = "0.2.7";
12
12
  var APP_NAME = "ai-cli";
13
13
  var CONFIG_DIR_NAME = ".aicli";
14
14
  var CONFIG_FILE_NAME = "config.json";
@@ -16,7 +16,7 @@ import {
16
16
  SUBAGENT_MAX_ROUNDS_LIMIT,
17
17
  VERSION,
18
18
  runTestsTool
19
- } from "./chunk-OIJT7K75.js";
19
+ } from "./chunk-AAMGMH6Z.js";
20
20
 
21
21
  // src/config/config-manager.ts
22
22
  import { readFileSync, writeFileSync, existsSync, mkdirSync } from "fs";
package/dist/index.js CHANGED
@@ -35,7 +35,7 @@ import {
35
35
  theme,
36
36
  truncateOutput,
37
37
  undoStack
38
- } from "./chunk-EKCYEBAS.js";
38
+ } from "./chunk-DFWAW3MP.js";
39
39
  import {
40
40
  AGENTIC_BEHAVIOR_GUIDELINE,
41
41
  AUTHOR,
@@ -55,7 +55,7 @@ import {
55
55
  REPO_URL,
56
56
  SKILLS_DIR_NAME,
57
57
  VERSION
58
- } from "./chunk-OIJT7K75.js";
58
+ } from "./chunk-AAMGMH6Z.js";
59
59
 
60
60
  // src/index.ts
61
61
  import { program } from "commander";
@@ -1904,7 +1904,7 @@ ${hint}` : "")
1904
1904
  description: "Run project tests and show structured report",
1905
1905
  usage: "/test [command|filter]",
1906
1906
  async execute(args, _ctx) {
1907
- const { executeTests } = await import("./run-tests-TEXIYKPE.js");
1907
+ const { executeTests } = await import("./run-tests-PNIALQ4P.js");
1908
1908
  const argStr = args.join(" ").trim();
1909
1909
  let testArgs = {};
1910
1910
  if (argStr) {
@@ -3395,6 +3395,8 @@ var Repl = class {
3395
3395
  _interjectionBuf = "";
3396
3396
  /** User interjection: stdin data handler reference */
3397
3397
  _interjectionHandler = null;
3398
+ /** Multi-line input buffer: accumulates lines ending with \ */
3399
+ _multilineBuf = [];
3398
3400
  /** 运行时动态添加的额外上下文目录(/add-dir 命令) */
3399
3401
  extraContextDirs = [];
3400
3402
  /** 启动时允许的工具名集合(--allowed-tools 限制) */
@@ -4126,13 +4128,12 @@ Session '${this.resumeSessionId}' not found.
4126
4128
  this.handleExit();
4127
4129
  });
4128
4130
  this.showPrompt();
4131
+ process.stdin.setMaxListeners(20);
4129
4132
  await new Promise((resolve3) => {
4130
4133
  let processing = false;
4131
- this.rl.on("line", async (line) => {
4132
- if (this.toolExecutor.confirming) return;
4133
- if (this.selecting) return;
4134
- if (askUserContext.prompting) return;
4135
- const input2 = line.trim();
4134
+ let pasteTimer = null;
4135
+ const PASTE_DEBOUNCE_MS = 50;
4136
+ const processInput = async (input2) => {
4136
4137
  if (!input2) {
4137
4138
  this.showPrompt();
4138
4139
  return;
@@ -4164,6 +4165,30 @@ Session '${this.resumeSessionId}' not found.
4164
4165
  resolve3();
4165
4166
  }
4166
4167
  }
4168
+ };
4169
+ this.rl.on("line", async (line) => {
4170
+ if (this.toolExecutor.confirming) return;
4171
+ if (this.selecting) return;
4172
+ if (askUserContext.prompting) return;
4173
+ if (processing) return;
4174
+ const rawTrimmed = line.trimEnd();
4175
+ if (rawTrimmed.endsWith("\\")) {
4176
+ this._multilineBuf.push(rawTrimmed.slice(0, -1));
4177
+ if (pasteTimer) {
4178
+ clearTimeout(pasteTimer);
4179
+ pasteTimer = null;
4180
+ }
4181
+ process.stdout.write(theme.dim("... > "));
4182
+ return;
4183
+ }
4184
+ this._multilineBuf.push(line);
4185
+ if (pasteTimer) clearTimeout(pasteTimer);
4186
+ pasteTimer = setTimeout(() => {
4187
+ pasteTimer = null;
4188
+ const combined = this._multilineBuf.join("\n").trim();
4189
+ this._multilineBuf = [];
4190
+ processInput(combined);
4191
+ }, PASTE_DEBOUNCE_MS);
4167
4192
  });
4168
4193
  this.rl.on("close", () => {
4169
4194
  if (!processing) {
@@ -5333,7 +5358,7 @@ program.command("web").description("Start Web UI server with browser-based chat
5333
5358
  console.error("Error: Invalid port number. Must be between 1 and 65535.");
5334
5359
  process.exit(1);
5335
5360
  }
5336
- const { startWebServer } = await import("./server-IT4WXV42.js");
5361
+ const { startWebServer } = await import("./server-IJRVKF6R.js");
5337
5362
  await startWebServer({ port, host: options.host });
5338
5363
  });
5339
5364
  program.command("user [action] [username]").description("Manage Web UI users (list | create <name> | delete <name> | reset-password <name> | migrate <name>)").action(async (action, username) => {
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  executeTests,
4
4
  runTestsTool
5
- } from "./chunk-OIJT7K75.js";
5
+ } from "./chunk-AAMGMH6Z.js";
6
6
  export {
7
7
  executeTests,
8
8
  runTestsTool
@@ -23,7 +23,7 @@ import {
23
23
  setupProxy,
24
24
  spawnAgentContext,
25
25
  truncateOutput
26
- } from "./chunk-EKCYEBAS.js";
26
+ } from "./chunk-DFWAW3MP.js";
27
27
  import {
28
28
  AGENTIC_BEHAVIOR_GUIDELINE,
29
29
  CONTEXT_FILE_CANDIDATES,
@@ -35,7 +35,7 @@ import {
35
35
  PLAN_MODE_SYSTEM_ADDON,
36
36
  SKILLS_DIR_NAME,
37
37
  VERSION
38
- } from "./chunk-OIJT7K75.js";
38
+ } from "./chunk-AAMGMH6Z.js";
39
39
  import {
40
40
  AuthManager
41
41
  } from "./chunk-CPLT6CD3.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jinzd-ai-cli",
3
- "version": "0.2.5",
3
+ "version": "0.2.7",
4
4
  "description": "Cross-platform REPL-style AI CLI with multi-provider support",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",