clawt 3.8.9 → 3.8.10

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.
package/dist/index.js CHANGED
@@ -708,6 +708,7 @@ var ITERM2_APP_PATH = "/Applications/iTerm.app";
708
708
 
709
709
  // src/constants/config.ts
710
710
  var APPEND_SYSTEM_PROMPT = "Currently, you are in the git worktree directory.";
711
+ var CLAUDE_CODE_ENTRYPOINT_VALUE = "cli";
711
712
  var CONFIG_DEFINITIONS = {
712
713
  autoDeleteBranch: {
713
714
  defaultValue: false,
@@ -1048,7 +1049,7 @@ function throwIfGitIndexLockError(error, cwd) {
1048
1049
  // src/utils/shell.ts
1049
1050
  function getEnvWithoutNestedSessionFlag() {
1050
1051
  const { CLAUDECODE: _, ...env } = process.env;
1051
- return env;
1052
+ return { ...env, CLAUDE_CODE_ENTRYPOINT: CLAUDE_CODE_ENTRYPOINT_VALUE };
1052
1053
  }
1053
1054
  function execCommand(command, options) {
1054
1055
  logger.debug(`\u6267\u884C\u547D\u4EE4: ${command}${options?.cwd ? ` (cwd: ${options.cwd})` : ""}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clawt",
3
- "version": "3.8.9",
3
+ "version": "3.8.10",
4
4
  "description": "本地并行执行多个Claude Code Agent任务,融合 Git Worktree 与 Claude Code CLI 的命令行工具",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -5,6 +5,9 @@ import { VALID_TERMINAL_APPS } from './terminal.js';
5
5
  export const APPEND_SYSTEM_PROMPT =
6
6
  'Currently, you are in the git worktree directory.';
7
7
 
8
+ /** 通过 clawt 启动的 Claude Code 非交互式会话(claude -p)的 entrypoint 标识 */
9
+ export const CLAUDE_CODE_ENTRYPOINT_VALUE = 'cli';
10
+
8
11
  /**
9
12
  * 配置项完整定义(单一数据源)
10
13
  * 新增配置项时只需在此处维护,DEFAULT_CONFIG 和 CONFIG_DESCRIPTIONS 会自动同步
@@ -5,7 +5,7 @@ export { CONFIG_ALIAS_DISABLED_HINT } from './messages/index.js';
5
5
  export { UPDATE_MESSAGES, UPDATE_COMMANDS } from './messages/update.js';
6
6
  export { EXIT_CODES } from './exitCodes.js';
7
7
  export { ENABLE_BRACKETED_PASTE, DISABLE_BRACKETED_PASTE, PASTE_THRESHOLD_MS, VALID_TERMINAL_APPS, ITERM2_APP_PATH } from './terminal.js';
8
- export { DEFAULT_CONFIG, CONFIG_DESCRIPTIONS, CONFIG_DEFINITIONS, APPEND_SYSTEM_PROMPT } from './config.js';
8
+ export { DEFAULT_CONFIG, CONFIG_DESCRIPTIONS, CONFIG_DEFINITIONS, APPEND_SYSTEM_PROMPT, CLAUDE_CODE_ENTRYPOINT_VALUE } from './config.js';
9
9
  export { PROJECT_CONFIG_DEFINITIONS, PROJECT_DEFAULT_CONFIG, PROJECT_CONFIG_DESCRIPTIONS } from './project-config.js';
10
10
  export { AUTO_SAVE_COMMIT_MESSAGE_PREFIX } from './git.js';
11
11
  export { DEBUG_LOG_PREFIX, DEBUG_TIMESTAMP_FORMAT } from './logger.js';
@@ -1,17 +1,18 @@
1
1
  import { execSync, execFileSync, spawn, spawnSync, type ChildProcess, type SpawnSyncReturns, type StdioOptions } from 'node:child_process';
2
2
  import { logger } from '../logger/index.js';
3
3
  import { EXEC_MAX_BUFFER } from '../constants/git.js';
4
+ import { CLAUDE_CODE_ENTRYPOINT_VALUE } from '../constants/index.js';
4
5
  import { throwIfGitIndexLockError } from './git-lock.js';
5
6
 
6
7
  /**
7
- * 获取移除了 CLAUDECODE 嵌套会话标记的环境变量副本
8
+ * 获取移除了 CLAUDECODE 嵌套会话标记的环境变量副本,并注入 CLAUDE_CODE_ENTRYPOINT 标识
8
9
  * 仅用于 claude -p 等非交互式子进程,避免被 Claude Code 误判为嵌套会话而拒绝启动
9
10
  * 不适用于交互式启动 Claude Code(如 clawt resume),交互式场景应保留原始环境变量
10
- * @returns {NodeJS.ProcessEnv} 移除 CLAUDECODE 后的环境变量
11
+ * @returns {NodeJS.ProcessEnv} 移除 CLAUDECODE 并注入 CLAUDE_CODE_ENTRYPOINT 后的环境变量
11
12
  */
12
13
  export function getEnvWithoutNestedSessionFlag(): NodeJS.ProcessEnv {
13
14
  const { CLAUDECODE: _, ...env } = process.env;
14
- return env;
15
+ return { ...env, CLAUDE_CODE_ENTRYPOINT: CLAUDE_CODE_ENTRYPOINT_VALUE };
15
16
  }
16
17
 
17
18
  /** 并行命令执行的单个结果 */