@tencent-ai/codebuddy-code 2.142.0-dev.4fe381f.202609031343 → 2.142.0-dev.fe3dd20.202609032157

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.
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 频道 jsonl 落盘后的进程内通知。
3
+ * SSE 不能只靠 macOS fs.watch:append 经常丢,客户端还要等切走才重新 GET。
4
+ */
5
+ type ChannelChangedListener = (channelId: string) => void;
6
+ export declare function notifyAgentHomeChannelChanged(channelId: string): void;
7
+ export declare function onAgentHomeChannelChanged(listener: ChannelChangedListener): () => void;
8
+ export {};
@@ -0,0 +1,12 @@
1
+ /**
2
+ * directory.json 跨进程锁。控制器 withLock 和 SpeakInChannel 共用。
3
+ * 进程内排队 + mkdir 锁目录。
4
+ *
5
+ * 约定:
6
+ * - 没拿到锁不要在 finally 里 rm 别人的锁目录。
7
+ * - 过期只在持有者 pid 已死时拆;不靠 mtime 抢活锁。
8
+ * - mkdir 成功但 pid 文件还没写 / 还是空的:等,不要当无主拆。
9
+ * - 可重入只限当前异步上下文(AsyncLocalStorage),并发 withLock 必须排队。
10
+ * - 释放时只删自己 pid 的锁。
11
+ */
12
+ export declare function withAgentHomeDirectoryLock<T>(homeDir: string, task: () => Promise<T>): Promise<T>;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * broker 控制 socket 的客户端原语。
3
+ *
4
+ * 刻意不依赖 DI、日志或任何会话基建:`SafeExitUtils` 这种最底层的工具也要
5
+ * 能问一句「我是不是跑在 broker 里」,从 utils 反向 import 一个 DI 组件
6
+ * 会绕成循环依赖。
7
+ */
8
+ import { type JobControlRequest, type JobControlResponse } from './agent-view-protocol';
9
+ /**
10
+ * broker 的本地控制 socket 路径。Windows 上是 named pipe。
11
+ *
12
+ * `generation` 区分同一 jobId 的不同 broker 代次:旧 inner 的看门狗与旧
13
+ * broker 的 exit 钩子会按路径 unlink,若不带代次就会删掉新 broker 正在
14
+ * 监听的文件。默认用调用方 pid(通常是 broker 自己)。
15
+ */
16
+ export declare function brokerSocketPath(jobId: string, generation?: string | number): string;
17
+ /** 开一条短连接发一条控制请求,读回一行应答。 */
18
+ export declare function sendControl(socketPath: string, request: JobControlRequest): Promise<JobControlResponse>;
19
+ /**
20
+ * 请 broker 把 attacher 脱开。会话本身不受影响,继续在后台跑。
21
+ *
22
+ * 不是 broker 托管的会话返回 false,调用方据此走原本的退出路径。
23
+ */
24
+ export declare function requestBrokerDetach(): Promise<boolean>;
@@ -0,0 +1,2 @@
1
+ import * as packageJson from '../../package.json';
2
+ export { packageJson };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tencent-ai/codebuddy-code",
3
- "version": "2.142.0-dev.4fe381f.202609031343",
3
+ "version": "2.142.0-dev.fe3dd20.202609032157",
4
4
  "description": "Use CodeBuddy, Tencent's AI assistant, right from your terminal. CodeBuddy can understand your codebase, edit files, run terminal commands, and handle entire workflows for you.",
5
5
  "main": "lib/node/index.js",
6
6
  "typings": "lib/node/index.d.ts",
@@ -822,6 +822,6 @@
822
822
  "SelectImage": true,
823
823
  "SkipToolCallSupportCheck": true
824
824
  },
825
- "commit": "4fe381ffb35988e611aa42270768134fe472debb",
826
- "date": "2026-09-03T05:41:58.500Z"
825
+ "commit": "fe3dd20e215af4f7c070ae4b65eec5a63ca4d5aa",
826
+ "date": "2026-09-03T13:56:25.377Z"
827
827
  }
@@ -832,6 +832,6 @@
832
832
  }
833
833
  }
834
834
  },
835
- "commit": "4fe381ffb35988e611aa42270768134fe472debb",
836
- "date": "2026-09-03T05:41:58.510Z"
835
+ "commit": "fe3dd20e215af4f7c070ae4b65eec5a63ca4d5aa",
836
+ "date": "2026-09-03T13:56:25.321Z"
837
837
  }
package/product.ioa.json CHANGED
@@ -1325,6 +1325,6 @@
1325
1325
  }
1326
1326
  }
1327
1327
  },
1328
- "commit": "4fe381ffb35988e611aa42270768134fe472debb",
1329
- "date": "2026-09-03T05:41:58.561Z"
1328
+ "commit": "fe3dd20e215af4f7c070ae4b65eec5a63ca4d5aa",
1329
+ "date": "2026-09-03T13:56:25.366Z"
1330
1330
  }
package/product.json CHANGED
@@ -2226,6 +2226,6 @@
2226
2226
  "description": "tool-a2acanceltask-description"
2227
2227
  }
2228
2228
  ],
2229
- "commit": "4fe381ffb35988e611aa42270768134fe472debb",
2230
- "date": "2026-09-03T05:41:58.441Z"
2229
+ "commit": "fe3dd20e215af4f7c070ae4b65eec5a63ca4d5aa",
2230
+ "date": "2026-09-03T13:56:25.341Z"
2231
2231
  }
@@ -359,6 +359,6 @@
359
359
  "ScheduledTasks": true,
360
360
  "SkipToolCallSupportCheck": true
361
361
  },
362
- "commit": "4fe381ffb35988e611aa42270768134fe472debb",
363
- "date": "2026-09-03T05:41:58.438Z"
362
+ "commit": "fe3dd20e215af4f7c070ae4b65eec5a63ca4d5aa",
363
+ "date": "2026-09-03T13:56:25.343Z"
364
364
  }
@@ -1,13 +0,0 @@
1
- import { Context, Middleware } from '@celljs/web/lib/node';
2
- import { ConsoleManager } from '../console';
3
- import { NavigationManager } from '../navigation';
4
- import { WorkspaceFolderManager } from '../runtime';
5
- import { SessionManager } from '../session';
6
- export declare class AddDirMiddleWare implements Middleware {
7
- protected readonly sessionManager: SessionManager;
8
- protected readonly workspaceFolderManager: WorkspaceFolderManager;
9
- protected readonly navigationManager: NavigationManager;
10
- protected readonly consoleManager: ConsoleManager;
11
- handle(ctx: Context, next: () => Promise<void>): Promise<void>;
12
- readonly priority: number;
13
- }
@@ -1,8 +0,0 @@
1
- import { Logger } from '@celljs/core';
2
- import { ExternalUriOpener } from '@genie/runtime';
3
- import { Subject } from 'rxjs';
4
- export declare class CliExternalUriOpener implements ExternalUriOpener {
5
- urlSubject: Subject<string>;
6
- protected readonly logger: Logger;
7
- open(uri: string): Promise<boolean>;
8
- }
@@ -1,17 +0,0 @@
1
- import { FileSystem, LocalStorage, LocalStorageChangeEvent } from '@genie/runtime';
2
- export declare class MemoryLocalStorage implements LocalStorage {
3
- protected readonly fileSystem: FileSystem;
4
- private emitter;
5
- changeEvent: import("@celljs/core").Event<LocalStorageChangeEvent>;
6
- /**
7
- * server 面缺省 no-op(CODEBUDDY_DISABLE_LOCAL_STORAGE=1):消费者全是
8
- * 交互产品面(问卷冷却、输入历史等),pod 上无消费者;写盘还会把多租户
9
- * 状态混进进程全局文件。no-op 而非内存 Map——假共享不如无共享。
10
- */
11
- private get disabled();
12
- set<T>(key: string, value: T): Promise<void>;
13
- getSync<T>(key: string, defaultValue?: T): T | undefined;
14
- get<T>(key: string, defaultValue?: T): Promise<T | undefined>;
15
- remove(key: string): Promise<void>;
16
- private resolveEntryPath;
17
- }
@@ -1,45 +0,0 @@
1
- import { Session, SessionManager } from '../session';
2
- import { SettingsManager, SettingsScope } from '../settings';
3
- export declare const WorkspaceFolderManager: unique symbol;
4
- /**
5
- * 工作目录的落点:
6
- * - 'session':仅当前会话生效,存 session.options.addDir,不落盘
7
- * - SettingsScope:持久化到对应的配置文件(user / project / project-local)
8
- */
9
- type WorkspaceFolderTarget = 'session' | SettingsScope;
10
- export interface WorkspaceFolderManager {
11
- /**
12
- * 添加工作目录
13
- */
14
- addWorkspaceFolder(directory: string, target: WorkspaceFolderTarget): Promise<void>;
15
- /**
16
- * 移除工作目录
17
- */
18
- removeWorkspaceFolder(directory: string, target: WorkspaceFolderTarget): Promise<void>;
19
- /**
20
- * 从所有落点(session + 所有持久化 scope)移除工作目录
21
- */
22
- removeWorkspaceFolderEverywhere(directory: string): Promise<void>;
23
- /**
24
- * 获取所有工作目录
25
- */
26
- getWorkspaceFolders(target?: WorkspaceFolderTarget): Promise<string[]>;
27
- /**
28
- * 判断是否包含工作目录
29
- */
30
- hasWorkspaceFolder(directory: string, target: WorkspaceFolderTarget): Promise<boolean>;
31
- }
32
- export declare class WorkspaceFolderManagerImpl implements WorkspaceFolderManager {
33
- protected readonly sessionManager: SessionManager;
34
- protected readonly settingsManager: SettingsManager;
35
- protected currentSession: Session | undefined;
36
- protected init(): void;
37
- private getScopeDirectories;
38
- private operateWorkspaceFolder;
39
- addWorkspaceFolder(directory: string, target: WorkspaceFolderTarget): Promise<void>;
40
- removeWorkspaceFolder(directory: string, target: WorkspaceFolderTarget): Promise<void>;
41
- removeWorkspaceFolderEverywhere(directory: string): Promise<void>;
42
- getWorkspaceFolders(target?: WorkspaceFolderTarget): Promise<string[]>;
43
- hasWorkspaceFolder(directory: string, target: WorkspaceFolderTarget): Promise<boolean>;
44
- }
45
- export {};
@@ -1,5 +0,0 @@
1
- import { Workspace, WorkspaceFolder } from '@genie/runtime';
2
- export declare class CliWorkspace implements Workspace {
3
- private readonly cwdService;
4
- get workspaceFolders(): readonly WorkspaceFolder[];
5
- }