toc-ocra 0.2.11 → 0.2.13
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/README.md +1 -1
- package/dist/service/agent.mjs +162 -32
- package/dist/src/providers/tb-switch-control.d.ts +25 -0
- package/dist/src/providers/tb-switch-control.js +129 -0
- package/dist/src/providers/tb-switch-control.js.map +1 -0
- package/dist/src/runtime/agent-runtime.d.ts +2 -0
- package/dist/src/runtime/agent-runtime.js +10 -1
- package/dist/src/runtime/agent-runtime.js.map +1 -1
- package/dist/src/types/protocol.d.ts +20 -0
- package/dist/src/types/protocol.js +7 -0
- package/dist/src/types/protocol.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -44,7 +44,7 @@ node dist/src/index.js run
|
|
|
44
44
|
|
|
45
45
|
本机控制接口(`/control/*`)只接受 `127.0.0.1` / `localhost` 的 Host 和来源,除 `info`、`pair` 外都要 `Authorization: Bearer <控制令牌>`。控制令牌保存在数据目录的 `control-token`(0600),连接码在 `connection-code`(0600,使用后或连续输错 5 次后更换)。
|
|
46
46
|
|
|
47
|
-
发布:`./publish-latest.sh`(或 `npm run publish:latest
|
|
47
|
+
发布:`./publish-latest.sh`(或 `npm run publish:latest`)。脚本会先校验 npm 身份,再构建、校验插件包;本地版本不高于 npm 上的版本时自动升一个补丁号,再发布到 npm 的 `latest`。可复用 `npm login` 的登录状态,也可在终端输入令牌,或通过环境变量 `NPM_TOKEN` 传入;显式传入的令牌仅写入临时认证文件,退出时删除,认证失败时不会继续构建和发布。管理员在「系统管理 › 插件目录」收录包名 `toc-ocra` 并批准版本后,用户即可在插件市场安装。
|
|
48
48
|
|
|
49
49
|
## 配置
|
|
50
50
|
|
package/dist/service/agent.mjs
CHANGED
|
@@ -7,7 +7,7 @@ var __export = (target, all) => {
|
|
|
7
7
|
|
|
8
8
|
// src/plugin-service.ts
|
|
9
9
|
import { existsSync as existsSync6 } from "node:fs";
|
|
10
|
-
import { delimiter as delimiter5, join as
|
|
10
|
+
import { delimiter as delimiter5, join as join11 } from "node:path";
|
|
11
11
|
|
|
12
12
|
// src/config.ts
|
|
13
13
|
import { randomUUID } from "node:crypto";
|
|
@@ -14556,8 +14556,8 @@ function defaultDataDir() {
|
|
|
14556
14556
|
function dataDirFromEnv() {
|
|
14557
14557
|
return resolve(process.env.TOC_OCRA_DATA_DIR ?? defaultDataDir());
|
|
14558
14558
|
}
|
|
14559
|
-
function defaultConfigPath(
|
|
14560
|
-
return resolve(process.env.TOC_OCRA_CONFIG ?? join(
|
|
14559
|
+
function defaultConfigPath(dataDir2 = dataDirFromEnv()) {
|
|
14560
|
+
return resolve(process.env.TOC_OCRA_CONFIG ?? join(dataDir2, "config.json"));
|
|
14561
14561
|
}
|
|
14562
14562
|
function readFileConfig(configPath) {
|
|
14563
14563
|
return existsSync(configPath) ? FileConfigSchema.parse(JSON.parse(readFileSync(configPath, "utf8"))) : {};
|
|
@@ -14638,8 +14638,8 @@ function envBool(name) {
|
|
|
14638
14638
|
return value === "1" || value === "true" || value === "yes";
|
|
14639
14639
|
}
|
|
14640
14640
|
function loadBaseConfig() {
|
|
14641
|
-
const
|
|
14642
|
-
const configPath = defaultConfigPath(
|
|
14641
|
+
const dataDir2 = dataDirFromEnv();
|
|
14642
|
+
const configPath = defaultConfigPath(dataDir2);
|
|
14643
14643
|
const file2 = readFileConfig(configPath);
|
|
14644
14644
|
const token = process.env.TOC_OCRA_TOKEN ?? file2.token ?? "";
|
|
14645
14645
|
const healthPort = envInt("TOC_OCRA_HEALTH_PORT") ?? file2.healthPort ?? 17339;
|
|
@@ -14658,9 +14658,9 @@ function loadBaseConfig() {
|
|
|
14658
14658
|
maxRunSeconds: envInt("TOC_OCRA_MAX_RUN_SECONDS") ?? file2.maxRunSeconds ?? 4 * 3600,
|
|
14659
14659
|
disableScript: envBool("TOC_OCRA_DISABLE_SCRIPT") ?? file2.disableScript ?? false,
|
|
14660
14660
|
disableSql: envBool("TOC_OCRA_DISABLE_SQL") ?? file2.disableSql ?? false,
|
|
14661
|
-
dataDir,
|
|
14661
|
+
dataDir: dataDir2,
|
|
14662
14662
|
configPath,
|
|
14663
|
-
logFile: join(
|
|
14663
|
+
logFile: join(dataDir2, "logs", "agent.log"),
|
|
14664
14664
|
healthHost: process.env.TOC_OCRA_HEALTH_HOST ?? file2.healthHost ?? "127.0.0.1",
|
|
14665
14665
|
healthPort,
|
|
14666
14666
|
logLevel: process.env.TOC_OCRA_LOG_LEVEL ?? file2.logLevel ?? "info"
|
|
@@ -14690,8 +14690,8 @@ var TOKEN_FILE = "control-token";
|
|
|
14690
14690
|
var MAX_ATTEMPTS = 5;
|
|
14691
14691
|
var LOCK_MS = 3e4;
|
|
14692
14692
|
var PairingStore = class {
|
|
14693
|
-
constructor(
|
|
14694
|
-
this.dataDir =
|
|
14693
|
+
constructor(dataDir2, now = Date.now, hostToken = "") {
|
|
14694
|
+
this.dataDir = dataDir2;
|
|
14695
14695
|
this.now = now;
|
|
14696
14696
|
this.hostToken = /^[A-Za-z0-9_-]{32,128}$/.test(hostToken) ? hostToken : "";
|
|
14697
14697
|
}
|
|
@@ -15740,7 +15740,7 @@ var cliDetection = new CliDetectionService();
|
|
|
15740
15740
|
|
|
15741
15741
|
// src/runtime/agent-runtime.ts
|
|
15742
15742
|
import { randomUUID as randomUUID3 } from "node:crypto";
|
|
15743
|
-
import { join as
|
|
15743
|
+
import { join as join10 } from "node:path";
|
|
15744
15744
|
|
|
15745
15745
|
// src/exec/script-runner.ts
|
|
15746
15746
|
import { spawn as spawn3 } from "node:child_process";
|
|
@@ -16597,9 +16597,124 @@ async function readCLIQuotaReport(agentType) {
|
|
|
16597
16597
|
return { agent_type: provider, quota_windows: quotaWindows, next_reset_at: reset, fetched_at: now };
|
|
16598
16598
|
}
|
|
16599
16599
|
|
|
16600
|
+
// src/providers/tb-switch-control.ts
|
|
16601
|
+
import { readFile as readFile4 } from "node:fs/promises";
|
|
16602
|
+
import { homedir as homedir5 } from "node:os";
|
|
16603
|
+
import { join as join6 } from "node:path";
|
|
16604
|
+
function dataDir() {
|
|
16605
|
+
return process.env.TB_SWITCH_HOME?.trim() || join6(homedir5(), ".tb-switch");
|
|
16606
|
+
}
|
|
16607
|
+
async function readLocalService() {
|
|
16608
|
+
let discovery;
|
|
16609
|
+
try {
|
|
16610
|
+
discovery = JSON.parse(await readFile4(join6(dataDir(), "api.json"), "utf8"));
|
|
16611
|
+
} catch {
|
|
16612
|
+
throw new Error("\u8FD9\u53F0\u8BBE\u5907\u4E0A\u7684 TB Switch \u670D\u52A1\u672A\u8FD0\u884C\uFF0C\u8BF7\u6253\u5F00\u684C\u9762\u7AEF\u63D2\u4EF6\u540E\u91CD\u8BD5\u3002");
|
|
16613
|
+
}
|
|
16614
|
+
if (typeof discovery.url !== "string") throw new Error("\u65E0\u6CD5\u8BFB\u53D6 TB Switch \u672C\u673A\u670D\u52A1\u5730\u5740\u3002");
|
|
16615
|
+
let url2;
|
|
16616
|
+
try {
|
|
16617
|
+
url2 = new URL(discovery.url);
|
|
16618
|
+
} catch {
|
|
16619
|
+
throw new Error("TB Switch \u672C\u673A\u670D\u52A1\u5730\u5740\u65E0\u6548\u3002");
|
|
16620
|
+
}
|
|
16621
|
+
if (url2.protocol !== "http:" || !["127.0.0.1", "localhost", "[::1]", "::1"].includes(url2.hostname) || url2.pathname !== "/" || url2.search || url2.hash || url2.username || url2.password) {
|
|
16622
|
+
throw new Error("TB Switch \u670D\u52A1\u5730\u5740\u4E0D\u662F\u672C\u673A\u56DE\u73AF\u5730\u5740\uFF0C\u5DF2\u62D2\u7EDD\u8FDE\u63A5\u3002");
|
|
16623
|
+
}
|
|
16624
|
+
let token = process.env.TB_SWITCH_API_TOKEN?.trim() ?? "";
|
|
16625
|
+
try {
|
|
16626
|
+
token = (await readFile4(join6(dataDir(), "api-token"), "utf8")).trim();
|
|
16627
|
+
} catch {
|
|
16628
|
+
}
|
|
16629
|
+
if (!token) throw new Error("\u65E0\u6CD5\u8BFB\u53D6 TB Switch \u672C\u673A\u670D\u52A1\u51ED\u636E\uFF0C\u8BF7\u91CD\u542F\u684C\u9762\u7AEF\u63D2\u4EF6\u540E\u91CD\u8BD5\u3002");
|
|
16630
|
+
return { url: url2.origin, token };
|
|
16631
|
+
}
|
|
16632
|
+
async function rpc(method, params) {
|
|
16633
|
+
const local = await readLocalService();
|
|
16634
|
+
let response;
|
|
16635
|
+
try {
|
|
16636
|
+
response = await fetch(`${local.url}/rpc`, {
|
|
16637
|
+
method: "POST",
|
|
16638
|
+
headers: { authorization: `Bearer ${local.token}`, "content-type": "application/json" },
|
|
16639
|
+
body: JSON.stringify({ jsonrpc: "2.0", id: "echo-device-agent", method, params }),
|
|
16640
|
+
signal: AbortSignal.timeout(1e4)
|
|
16641
|
+
});
|
|
16642
|
+
} catch {
|
|
16643
|
+
throw new Error("\u65E0\u6CD5\u8FDE\u63A5 TB Switch \u672C\u673A\u670D\u52A1\uFF0C\u8BF7\u786E\u8BA4\u684C\u9762\u7AEF\u63D2\u4EF6\u4ECD\u5728\u8FD0\u884C\u3002");
|
|
16644
|
+
}
|
|
16645
|
+
const envelope = await response.json().catch(() => null);
|
|
16646
|
+
if (!response.ok) throw new Error(`TB Switch \u672C\u673A\u670D\u52A1\u8FD4\u56DE HTTP ${response.status}\u3002`);
|
|
16647
|
+
if (!envelope) throw new Error("TB Switch \u672C\u673A\u670D\u52A1\u54CD\u5E94\u65E0\u6CD5\u89E3\u6790\u3002");
|
|
16648
|
+
if (envelope.error) throw new Error(envelope.error.message || "TB Switch \u64CD\u4F5C\u5931\u8D25\u3002");
|
|
16649
|
+
if (!("result" in envelope)) throw new Error("TB Switch \u672C\u673A\u670D\u52A1\u6CA1\u6709\u8FD4\u56DE\u64CD\u4F5C\u7ED3\u679C\u3002");
|
|
16650
|
+
return envelope.result;
|
|
16651
|
+
}
|
|
16652
|
+
async function readState(app, warnings = []) {
|
|
16653
|
+
const [list, multi] = await Promise.all([
|
|
16654
|
+
rpc("providers.list", { app }),
|
|
16655
|
+
rpc("multi.get", { app })
|
|
16656
|
+
]);
|
|
16657
|
+
return {
|
|
16658
|
+
app,
|
|
16659
|
+
mode: multi.mode,
|
|
16660
|
+
multi_supported: multi.supported,
|
|
16661
|
+
current_provider_id: list.currentId,
|
|
16662
|
+
providers: list.providers.map((provider) => ({
|
|
16663
|
+
id: provider.id,
|
|
16664
|
+
name: provider.name,
|
|
16665
|
+
category: provider.category ?? "custom",
|
|
16666
|
+
...provider.icon ? { icon: provider.icon } : {},
|
|
16667
|
+
...provider.iconColor ? { icon_color: provider.iconColor } : {}
|
|
16668
|
+
})),
|
|
16669
|
+
routes: multi.routes.map((route) => ({
|
|
16670
|
+
id: route.id,
|
|
16671
|
+
provider_id: route.providerId,
|
|
16672
|
+
route_model: route.routeModel,
|
|
16673
|
+
model: route.model,
|
|
16674
|
+
display_name: route.displayName,
|
|
16675
|
+
enabled: route.enabled !== false
|
|
16676
|
+
})),
|
|
16677
|
+
current_route_id: multi.currentRouteId,
|
|
16678
|
+
proxy_running: multi.proxyRunning,
|
|
16679
|
+
warnings
|
|
16680
|
+
};
|
|
16681
|
+
}
|
|
16682
|
+
async function controlTbSwitch(payload) {
|
|
16683
|
+
const warnings = [];
|
|
16684
|
+
switch (payload.action) {
|
|
16685
|
+
case "state":
|
|
16686
|
+
return readState(payload.app);
|
|
16687
|
+
case "switch_provider": {
|
|
16688
|
+
if (!payload.provider_id) throw new Error("\u7F3A\u5C11\u8981\u5207\u6362\u7684\u4F9B\u5E94\u5546\u3002");
|
|
16689
|
+
const result = await rpc("providers.switch", { app: payload.app, id: payload.provider_id });
|
|
16690
|
+
warnings.push(...result.warnings ?? []);
|
|
16691
|
+
return readState(payload.app, warnings);
|
|
16692
|
+
}
|
|
16693
|
+
case "set_mode": {
|
|
16694
|
+
if (!payload.mode) throw new Error("\u7F3A\u5C11\u4F9B\u5E94\u5546\u5DE5\u4F5C\u6A21\u5F0F\u3002");
|
|
16695
|
+
const result = await rpc("multi.setMode", { app: payload.app, mode: payload.mode });
|
|
16696
|
+
warnings.push(...result.warnings ?? []);
|
|
16697
|
+
return readState(payload.app, warnings);
|
|
16698
|
+
}
|
|
16699
|
+
case "select_route": {
|
|
16700
|
+
if (!payload.route_id) throw new Error("\u7F3A\u5C11\u8981\u8BBE\u4E3A\u9ED8\u8BA4\u7684\u6A21\u578B\u8DEF\u7531\u3002");
|
|
16701
|
+
const current = await rpc("multi.get", { app: payload.app });
|
|
16702
|
+
if (!current.supported || current.mode !== "multi") throw new Error("\u5F53\u524D CLI \u672A\u542F\u7528\u591A\u4F9B\u5E94\u5546\u8DEF\u7531\u3002");
|
|
16703
|
+
if (!current.routes.some((route) => route.id === payload.route_id)) throw new Error("\u8BE5\u6A21\u578B\u8DEF\u7531\u5DF2\u4E0D\u5B58\u5728\uFF0C\u8BF7\u5237\u65B0\u540E\u91CD\u8BD5\u3002");
|
|
16704
|
+
const result = await rpc("multi.save", {
|
|
16705
|
+
app: payload.app,
|
|
16706
|
+
routes: current.routes,
|
|
16707
|
+
currentRouteId: payload.route_id
|
|
16708
|
+
});
|
|
16709
|
+
warnings.push(...result.warnings ?? []);
|
|
16710
|
+
return readState(payload.app, warnings);
|
|
16711
|
+
}
|
|
16712
|
+
}
|
|
16713
|
+
}
|
|
16714
|
+
|
|
16600
16715
|
// src/runs/orphan-registry.ts
|
|
16601
16716
|
import { execFile as execFile2 } from "node:child_process";
|
|
16602
|
-
import { mkdir as mkdir3, readFile as
|
|
16717
|
+
import { mkdir as mkdir3, readFile as readFile5, rename as rename3, writeFile as writeFile3 } from "node:fs/promises";
|
|
16603
16718
|
import { basename, dirname as dirname5 } from "node:path";
|
|
16604
16719
|
|
|
16605
16720
|
// src/runs/process-tree.ts
|
|
@@ -16695,7 +16810,7 @@ var OrphanRegistry = class {
|
|
|
16695
16810
|
async reapPrevious() {
|
|
16696
16811
|
let previous = [];
|
|
16697
16812
|
try {
|
|
16698
|
-
previous = JSON.parse(await
|
|
16813
|
+
previous = JSON.parse(await readFile5(this.file, "utf8"));
|
|
16699
16814
|
} catch {
|
|
16700
16815
|
return [];
|
|
16701
16816
|
}
|
|
@@ -16726,7 +16841,7 @@ function commandOf(pid) {
|
|
|
16726
16841
|
// src/runs/run-supervisor.ts
|
|
16727
16842
|
import { spawn as spawn7 } from "node:child_process";
|
|
16728
16843
|
import { mkdir as mkdir5, realpath as realpath2, stat as stat2, writeFile as writeFile5 } from "node:fs/promises";
|
|
16729
|
-
import { basename as basename3, isAbsolute as isAbsolute3, join as
|
|
16844
|
+
import { basename as basename3, isAbsolute as isAbsolute3, join as join8, relative as relative2, resolve as resolve3 } from "node:path";
|
|
16730
16845
|
import { createInterface as createInterface2 } from "node:readline";
|
|
16731
16846
|
|
|
16732
16847
|
// src/session/terminal-line-sanitizer.ts
|
|
@@ -16853,7 +16968,7 @@ function clipToCharacterBudget(rows, budget) {
|
|
|
16853
16968
|
import { createHash as createHash2, randomUUID as randomUUID2 } from "node:crypto";
|
|
16854
16969
|
import { constants as constants2 } from "node:fs";
|
|
16855
16970
|
import { lstat, mkdir as mkdir4, open, realpath, rename as rename4, rm as rm2, writeFile as writeFile4 } from "node:fs/promises";
|
|
16856
|
-
import { basename as basename2, isAbsolute as isAbsolute2, join as
|
|
16971
|
+
import { basename as basename2, isAbsolute as isAbsolute2, join as join7, relative } from "node:path";
|
|
16857
16972
|
function within(root, path) {
|
|
16858
16973
|
const segment = relative(root, path);
|
|
16859
16974
|
return segment === "" || !segment.startsWith("..") && !isAbsolute2(segment);
|
|
@@ -16861,7 +16976,7 @@ function within(root, path) {
|
|
|
16861
16976
|
async function attachmentDirectory(workdir, messageId) {
|
|
16862
16977
|
let directory = workdir;
|
|
16863
16978
|
for (const segment of [".echo", "attachments", `message-${encodeURIComponent(messageId).slice(0, 180)}`]) {
|
|
16864
|
-
directory =
|
|
16979
|
+
directory = join7(directory, segment);
|
|
16865
16980
|
await mkdir4(directory, { mode: 448 }).catch((error51) => {
|
|
16866
16981
|
if (error51.code !== "EEXIST") throw error51;
|
|
16867
16982
|
});
|
|
@@ -16869,7 +16984,7 @@ async function attachmentDirectory(workdir, messageId) {
|
|
|
16869
16984
|
if (metadata.isSymbolicLink() || !metadata.isDirectory() || !within(workdir, await realpath(directory))) {
|
|
16870
16985
|
throw new Error("\u9644\u4EF6\u76EE\u5F55\u5FC5\u987B\u4F4D\u4E8E CLI \u5DE5\u4F5C\u76EE\u5F55\u5185\uFF0C\u4E14\u4E0D\u80FD\u662F\u7B26\u53F7\u94FE\u63A5");
|
|
16871
16986
|
}
|
|
16872
|
-
if (segment === ".echo") await writeFile4(
|
|
16987
|
+
if (segment === ".echo") await writeFile4(join7(directory, ".gitignore"), "*\n", { flag: "wx", mode: 384 }).catch((error51) => {
|
|
16873
16988
|
if (error51.code !== "EEXIST") throw error51;
|
|
16874
16989
|
});
|
|
16875
16990
|
}
|
|
@@ -16906,9 +17021,9 @@ async function prepareTaskAttachments(payload, workdir, download, signal2) {
|
|
|
16906
17021
|
const characters = Array.from(basename2(file2.name.replace(/\\/g, "/")).replace(/[^\p{L}\p{N}._-]/gu, "_").replace(/\.+$/u, ""));
|
|
16907
17022
|
while (Buffer.byteLength(characters.join("")) > 160) characters.shift();
|
|
16908
17023
|
const name = characters.join("") || "attachment";
|
|
16909
|
-
const path =
|
|
17024
|
+
const path = join7(directory, `${file2.file_id}-${name}`);
|
|
16910
17025
|
if (!await matches(path, file2.size, file2.sha256, signal2)) {
|
|
16911
|
-
const temporary =
|
|
17026
|
+
const temporary = join7(directory, `.download-${file2.file_id}-${randomUUID2()}.part`);
|
|
16912
17027
|
try {
|
|
16913
17028
|
await download(payload.run_id, file2.file_id, temporary, file2.size, file2.sha256, signal2);
|
|
16914
17029
|
signal2.throwIfAborted();
|
|
@@ -17248,12 +17363,12 @@ var RunSupervisor = class {
|
|
|
17248
17363
|
async prepareChatAttachments(payload) {
|
|
17249
17364
|
if (!payload.attachments?.length) return [];
|
|
17250
17365
|
if (!this.reporter.chatMedia) throw new Error("\u9644\u4EF6\u8F6C\u53D1\u672A\u914D\u7F6E");
|
|
17251
|
-
const directory =
|
|
17366
|
+
const directory = join8(this.config.dataDir, "chat-media", encodeURIComponent(payload.chat_session_id ?? payload.run_id));
|
|
17252
17367
|
await mkdir5(directory, { recursive: true, mode: 448 });
|
|
17253
17368
|
const files = [];
|
|
17254
17369
|
for (const attachment of payload.attachments) {
|
|
17255
17370
|
const name = basename3(attachment.name).replace(/[^\p{L}\p{N}._-]/gu, "_").slice(-120) || "attachment";
|
|
17256
|
-
const path =
|
|
17371
|
+
const path = join8(directory, `${encodeURIComponent(attachment.media_id)}-${name}`);
|
|
17257
17372
|
const existing = await stat2(path).catch(() => void 0);
|
|
17258
17373
|
if (!existing?.isFile()) {
|
|
17259
17374
|
const data = await this.reporter.chatMedia(payload.run_id, attachment.media_id);
|
|
@@ -17482,11 +17597,11 @@ var GatewayClient = class {
|
|
|
17482
17597
|
|
|
17483
17598
|
// src/workspace/directory-browser.ts
|
|
17484
17599
|
import { readdir, realpath as realpath3, stat as stat3 } from "node:fs/promises";
|
|
17485
|
-
import { homedir as
|
|
17600
|
+
import { homedir as homedir6 } from "node:os";
|
|
17486
17601
|
import { dirname as dirname6, parse as parse3, resolve as resolve4 } from "node:path";
|
|
17487
17602
|
var MAX_ENTRIES = 1e3;
|
|
17488
17603
|
async function listDirectory(requested, allowedRoots) {
|
|
17489
|
-
const raw = requested.trim().replace(/^~(?=$|[\\/])/,
|
|
17604
|
+
const raw = requested.trim().replace(/^~(?=$|[\\/])/, homedir6()) || homedir6();
|
|
17490
17605
|
const directory = await realpath3(resolve4(raw)).catch(() => {
|
|
17491
17606
|
throw new Error(`\u76EE\u5F55\u4E0D\u5B58\u5728\uFF1A${requested}`);
|
|
17492
17607
|
});
|
|
@@ -17504,8 +17619,8 @@ async function listDirectory(requested, allowedRoots) {
|
|
|
17504
17619
|
else if (entry.isFile()) files.push(item);
|
|
17505
17620
|
}
|
|
17506
17621
|
const parent = dirname6(directory);
|
|
17507
|
-
const places = [{ label: "\u4E3B\u76EE\u5F55", path:
|
|
17508
|
-
for (const root of allowedRoots) if (root !==
|
|
17622
|
+
const places = [{ label: "\u4E3B\u76EE\u5F55", path: homedir6() }];
|
|
17623
|
+
for (const root of allowedRoots) if (root !== homedir6()) places.push({ label: "\u5141\u8BB8\u7684\u76EE\u5F55", path: root });
|
|
17509
17624
|
places.push({ label: "\u6839\u76EE\u5F55", path: process.platform === "win32" ? parse3(directory).root : "/" });
|
|
17510
17625
|
return {
|
|
17511
17626
|
path: directory,
|
|
@@ -17520,8 +17635,8 @@ async function listDirectory(requested, allowedRoots) {
|
|
|
17520
17635
|
// src/workspace/workspace-manager.ts
|
|
17521
17636
|
import { spawn as spawn8 } from "node:child_process";
|
|
17522
17637
|
import { chmod as chmod3, mkdir as mkdir6, mkdtemp, opendir, realpath as realpath4, rm as rm3, stat as stat4, writeFile as writeFile6 } from "node:fs/promises";
|
|
17523
|
-
import { homedir as
|
|
17524
|
-
import { isAbsolute as isAbsolute4, join as
|
|
17638
|
+
import { homedir as homedir7, tmpdir } from "node:os";
|
|
17639
|
+
import { isAbsolute as isAbsolute4, join as join9, relative as relative3, resolve as resolve5 } from "node:path";
|
|
17525
17640
|
var MAX_NODES = 2e3;
|
|
17526
17641
|
var MAX_DIRECTORY_ENTRIES = 12e3;
|
|
17527
17642
|
var IGNORED_DIRECTORIES = /* @__PURE__ */ new Set([
|
|
@@ -17569,7 +17684,7 @@ var WorkspaceManager = class {
|
|
|
17569
17684
|
};
|
|
17570
17685
|
}
|
|
17571
17686
|
validateRootPath(value) {
|
|
17572
|
-
const raw = value.trim().replace(/^~(?=$|[\\/])/,
|
|
17687
|
+
const raw = value.trim().replace(/^~(?=$|[\\/])/, homedir7());
|
|
17573
17688
|
const root = resolve5(raw);
|
|
17574
17689
|
if (!isAbsolute4(raw)) throw new Error("\u6839\u76EE\u5F55\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84");
|
|
17575
17690
|
if (relative3(root, resolve5(root, "..")) === "") throw new Error("\u4E0D\u80FD\u628A\u6587\u4EF6\u7CFB\u7EDF\u6839\u76EE\u5F55\u4F5C\u4E3A\u76EE\u5F55\u6839");
|
|
@@ -17896,12 +18011,12 @@ var WorkspaceManager = class {
|
|
|
17896
18011
|
}
|
|
17897
18012
|
async createGitAuthEnvironment(auth) {
|
|
17898
18013
|
if (!auth) return void 0;
|
|
17899
|
-
const directory = await mkdtemp(
|
|
18014
|
+
const directory = await mkdtemp(join9(tmpdir(), "toc-ocra-git-auth-"));
|
|
17900
18015
|
const isWindows = process.platform === "win32";
|
|
17901
|
-
const scriptPath =
|
|
18016
|
+
const scriptPath = join9(directory, isWindows ? "askpass.cmd" : "askpass.sh");
|
|
17902
18017
|
let script;
|
|
17903
18018
|
if (isWindows) {
|
|
17904
|
-
const helperPath =
|
|
18019
|
+
const helperPath = join9(directory, "askpass.cjs");
|
|
17905
18020
|
await writeFile6(
|
|
17906
18021
|
helperPath,
|
|
17907
18022
|
'const prompt = process.argv.slice(2).join(" ");\nprocess.stdout.write(/username/i.test(prompt) ? process.env.ECHO_GIT_USERNAME ?? "" : process.env.ECHO_GIT_PASSWORD ?? "");\n',
|
|
@@ -17974,6 +18089,13 @@ var SqlRunPayloadSchema = external_exports.object({
|
|
|
17974
18089
|
});
|
|
17975
18090
|
var CliModelsPayloadSchema = external_exports.object({ agent_type: external_exports.string().max(40).optional().default("") });
|
|
17976
18091
|
var CliQuotaPayloadSchema = external_exports.object({ agent_type: external_exports.string().min(1).max(40) });
|
|
18092
|
+
var CliProviderControlPayloadSchema = external_exports.object({
|
|
18093
|
+
app: external_exports.enum(["claude", "codex", "gemini"]),
|
|
18094
|
+
action: external_exports.enum(["state", "switch_provider", "set_mode", "select_route"]),
|
|
18095
|
+
provider_id: external_exports.string().min(1).max(128).optional(),
|
|
18096
|
+
mode: external_exports.enum(["single", "multi"]).optional(),
|
|
18097
|
+
route_id: external_exports.string().min(1).max(128).optional()
|
|
18098
|
+
}).strict();
|
|
17977
18099
|
var RelativePathSchema = external_exports.string().min(1).max(500);
|
|
17978
18100
|
var FsListPayloadSchema = external_exports.object({ path: external_exports.string().max(4096).optional().default("") });
|
|
17979
18101
|
var WorkspaceScanPayloadSchema = external_exports.object({
|
|
@@ -18025,7 +18147,7 @@ var AgentRuntime = class {
|
|
|
18025
18147
|
}
|
|
18026
18148
|
};
|
|
18027
18149
|
this.workspaces = new WorkspaceManager(config2, this.logger);
|
|
18028
|
-
this.orphans = new OrphanRegistry(
|
|
18150
|
+
this.orphans = new OrphanRegistry(join10(config2.dataDir, chatOnly ? "chat-active-runs.json" : "active-runs.json"));
|
|
18029
18151
|
this.runs = new RunSupervisor(config2, this.logger, reporter, this.orphans);
|
|
18030
18152
|
}
|
|
18031
18153
|
config;
|
|
@@ -18054,6 +18176,8 @@ var AgentRuntime = class {
|
|
|
18054
18176
|
deviceName;
|
|
18055
18177
|
/** Finish reports not yet acknowledged; retried on every heartbeat. */
|
|
18056
18178
|
pendingReports = /* @__PURE__ */ new Map();
|
|
18179
|
+
/** Serialize provider mutations so a rapid iOS toggle cannot race a config write. */
|
|
18180
|
+
providerControlTail = Promise.resolve();
|
|
18057
18181
|
/** Model catalogs of the installed CLIs; re-read in the background. */
|
|
18058
18182
|
models = new ModelCatalogCollector();
|
|
18059
18183
|
catalogReport;
|
|
@@ -18278,6 +18402,12 @@ var AgentRuntime = class {
|
|
|
18278
18402
|
return { success: false, error: error51 instanceof Error ? error51.message : String(error51) };
|
|
18279
18403
|
}
|
|
18280
18404
|
}
|
|
18405
|
+
case "cli.providers": {
|
|
18406
|
+
const payload = CliProviderControlPayloadSchema.parse(command.payload);
|
|
18407
|
+
const run = this.providerControlTail.then(() => controlTbSwitch(payload));
|
|
18408
|
+
this.providerControlTail = run.then(() => void 0, () => void 0);
|
|
18409
|
+
return { success: true, result: await run };
|
|
18410
|
+
}
|
|
18281
18411
|
case "script.run": {
|
|
18282
18412
|
const payload = ScriptRunPayloadSchema.parse(command.payload);
|
|
18283
18413
|
this.checkPolicy("script", payload.policy);
|
|
@@ -18573,7 +18703,7 @@ function preferSystemNode() {
|
|
|
18573
18703
|
const names = process.platform === "win32" ? ["node.exe"] : ["node"];
|
|
18574
18704
|
for (const directory of (process.env.PATH ?? "").split(delimiter5)) {
|
|
18575
18705
|
for (const name of names) {
|
|
18576
|
-
const candidate = directory &&
|
|
18706
|
+
const candidate = directory && join11(directory, name);
|
|
18577
18707
|
if (candidate && existsSync6(candidate)) {
|
|
18578
18708
|
process.env.TOC_OCRA_NODE_PATH = candidate;
|
|
18579
18709
|
return;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { CliProviderControlPayload } from '../types/protocol.js';
|
|
2
|
+
export declare function controlTbSwitch(payload: CliProviderControlPayload): Promise<{
|
|
3
|
+
app: "claude" | "codex" | "gemini";
|
|
4
|
+
mode: "single" | "multi";
|
|
5
|
+
multi_supported: boolean;
|
|
6
|
+
current_provider_id: string | null;
|
|
7
|
+
providers: {
|
|
8
|
+
icon_color?: string;
|
|
9
|
+
icon?: string;
|
|
10
|
+
id: string;
|
|
11
|
+
name: string;
|
|
12
|
+
category: string;
|
|
13
|
+
}[];
|
|
14
|
+
routes: {
|
|
15
|
+
id: string;
|
|
16
|
+
provider_id: string;
|
|
17
|
+
route_model: string;
|
|
18
|
+
model: string;
|
|
19
|
+
display_name: string;
|
|
20
|
+
enabled: boolean;
|
|
21
|
+
}[];
|
|
22
|
+
current_route_id: string | null;
|
|
23
|
+
proxy_running: boolean;
|
|
24
|
+
warnings: string[];
|
|
25
|
+
}>;
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { readFile } from 'node:fs/promises';
|
|
2
|
+
import { homedir } from 'node:os';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
function dataDir() {
|
|
5
|
+
return process.env.TB_SWITCH_HOME?.trim() || join(homedir(), '.tb-switch');
|
|
6
|
+
}
|
|
7
|
+
async function readLocalService() {
|
|
8
|
+
let discovery;
|
|
9
|
+
try {
|
|
10
|
+
discovery = JSON.parse(await readFile(join(dataDir(), 'api.json'), 'utf8'));
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
throw new Error('这台设备上的 TB Switch 服务未运行,请打开桌面端插件后重试。');
|
|
14
|
+
}
|
|
15
|
+
if (typeof discovery.url !== 'string')
|
|
16
|
+
throw new Error('无法读取 TB Switch 本机服务地址。');
|
|
17
|
+
let url;
|
|
18
|
+
try {
|
|
19
|
+
url = new URL(discovery.url);
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
throw new Error('TB Switch 本机服务地址无效。');
|
|
23
|
+
}
|
|
24
|
+
if (url.protocol !== 'http:' || !['127.0.0.1', 'localhost', '[::1]', '::1'].includes(url.hostname)
|
|
25
|
+
|| url.pathname !== '/' || url.search || url.hash || url.username || url.password) {
|
|
26
|
+
throw new Error('TB Switch 服务地址不是本机回环地址,已拒绝连接。');
|
|
27
|
+
}
|
|
28
|
+
let token = process.env.TB_SWITCH_API_TOKEN?.trim() ?? '';
|
|
29
|
+
try {
|
|
30
|
+
token = (await readFile(join(dataDir(), 'api-token'), 'utf8')).trim();
|
|
31
|
+
}
|
|
32
|
+
catch { /* The desktop host token is process-local. */ }
|
|
33
|
+
if (!token)
|
|
34
|
+
throw new Error('无法读取 TB Switch 本机服务凭据,请重启桌面端插件后重试。');
|
|
35
|
+
return { url: url.origin, token };
|
|
36
|
+
}
|
|
37
|
+
async function rpc(method, params) {
|
|
38
|
+
const local = await readLocalService();
|
|
39
|
+
let response;
|
|
40
|
+
try {
|
|
41
|
+
response = await fetch(`${local.url}/rpc`, {
|
|
42
|
+
method: 'POST',
|
|
43
|
+
headers: { authorization: `Bearer ${local.token}`, 'content-type': 'application/json' },
|
|
44
|
+
body: JSON.stringify({ jsonrpc: '2.0', id: 'echo-device-agent', method, params }),
|
|
45
|
+
signal: AbortSignal.timeout(10_000)
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
throw new Error('无法连接 TB Switch 本机服务,请确认桌面端插件仍在运行。');
|
|
50
|
+
}
|
|
51
|
+
const envelope = await response.json().catch(() => null);
|
|
52
|
+
if (!response.ok)
|
|
53
|
+
throw new Error(`TB Switch 本机服务返回 HTTP ${response.status}。`);
|
|
54
|
+
if (!envelope)
|
|
55
|
+
throw new Error('TB Switch 本机服务响应无法解析。');
|
|
56
|
+
if (envelope.error)
|
|
57
|
+
throw new Error(envelope.error.message || 'TB Switch 操作失败。');
|
|
58
|
+
if (!('result' in envelope))
|
|
59
|
+
throw new Error('TB Switch 本机服务没有返回操作结果。');
|
|
60
|
+
return envelope.result;
|
|
61
|
+
}
|
|
62
|
+
async function readState(app, warnings = []) {
|
|
63
|
+
const [list, multi] = await Promise.all([
|
|
64
|
+
rpc('providers.list', { app }),
|
|
65
|
+
rpc('multi.get', { app })
|
|
66
|
+
]);
|
|
67
|
+
return {
|
|
68
|
+
app,
|
|
69
|
+
mode: multi.mode,
|
|
70
|
+
multi_supported: multi.supported,
|
|
71
|
+
current_provider_id: list.currentId,
|
|
72
|
+
providers: list.providers.map(provider => ({
|
|
73
|
+
id: provider.id,
|
|
74
|
+
name: provider.name,
|
|
75
|
+
category: provider.category ?? 'custom',
|
|
76
|
+
...(provider.icon ? { icon: provider.icon } : {}),
|
|
77
|
+
...(provider.iconColor ? { icon_color: provider.iconColor } : {})
|
|
78
|
+
})),
|
|
79
|
+
routes: multi.routes.map(route => ({
|
|
80
|
+
id: route.id,
|
|
81
|
+
provider_id: route.providerId,
|
|
82
|
+
route_model: route.routeModel,
|
|
83
|
+
model: route.model,
|
|
84
|
+
display_name: route.displayName,
|
|
85
|
+
enabled: route.enabled !== false
|
|
86
|
+
})),
|
|
87
|
+
current_route_id: multi.currentRouteId,
|
|
88
|
+
proxy_running: multi.proxyRunning,
|
|
89
|
+
warnings
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
export async function controlTbSwitch(payload) {
|
|
93
|
+
const warnings = [];
|
|
94
|
+
switch (payload.action) {
|
|
95
|
+
case 'state':
|
|
96
|
+
return readState(payload.app);
|
|
97
|
+
case 'switch_provider': {
|
|
98
|
+
if (!payload.provider_id)
|
|
99
|
+
throw new Error('缺少要切换的供应商。');
|
|
100
|
+
const result = await rpc('providers.switch', { app: payload.app, id: payload.provider_id });
|
|
101
|
+
warnings.push(...(result.warnings ?? []));
|
|
102
|
+
return readState(payload.app, warnings);
|
|
103
|
+
}
|
|
104
|
+
case 'set_mode': {
|
|
105
|
+
if (!payload.mode)
|
|
106
|
+
throw new Error('缺少供应商工作模式。');
|
|
107
|
+
const result = await rpc('multi.setMode', { app: payload.app, mode: payload.mode });
|
|
108
|
+
warnings.push(...(result.warnings ?? []));
|
|
109
|
+
return readState(payload.app, warnings);
|
|
110
|
+
}
|
|
111
|
+
case 'select_route': {
|
|
112
|
+
if (!payload.route_id)
|
|
113
|
+
throw new Error('缺少要设为默认的模型路由。');
|
|
114
|
+
const current = await rpc('multi.get', { app: payload.app });
|
|
115
|
+
if (!current.supported || current.mode !== 'multi')
|
|
116
|
+
throw new Error('当前 CLI 未启用多供应商路由。');
|
|
117
|
+
if (!current.routes.some(route => route.id === payload.route_id))
|
|
118
|
+
throw new Error('该模型路由已不存在,请刷新后重试。');
|
|
119
|
+
const result = await rpc('multi.save', {
|
|
120
|
+
app: payload.app,
|
|
121
|
+
routes: current.routes,
|
|
122
|
+
currentRouteId: payload.route_id
|
|
123
|
+
});
|
|
124
|
+
warnings.push(...(result.warnings ?? []));
|
|
125
|
+
return readState(payload.app, warnings);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=tb-switch-control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tb-switch-control.js","sourceRoot":"","sources":["../../../src/providers/tb-switch-control.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,8 @@ export declare class AgentRuntime {
|
|
|
35
35
|
private deviceName;
|
|
36
36
|
/** Finish reports not yet acknowledged; retried on every heartbeat. */
|
|
37
37
|
private readonly pendingReports;
|
|
38
|
+
/** Serialize provider mutations so a rapid iOS toggle cannot race a config write. */
|
|
39
|
+
private providerControlTail;
|
|
38
40
|
/** Model catalogs of the installed CLIs; re-read in the background. */
|
|
39
41
|
private readonly models;
|
|
40
42
|
private catalogReport;
|
|
@@ -6,12 +6,13 @@ import { cliDetection } from '../providers/detection.js';
|
|
|
6
6
|
import { CHAT_PROVIDERS } from '../providers/chat/index.js';
|
|
7
7
|
import { ModelCatalogCollector } from '../providers/model-catalog-collector.js';
|
|
8
8
|
import { readCLIQuotaReport } from '../providers/quota-reader.js';
|
|
9
|
+
import { controlTbSwitch } from '../providers/tb-switch-control.js';
|
|
9
10
|
import { OrphanRegistry } from '../runs/orphan-registry.js';
|
|
10
11
|
import { RunSupervisor } from '../runs/run-supervisor.js';
|
|
11
12
|
import { GatewayClient, GatewayError } from '../transport/gateway-client.js';
|
|
12
13
|
import { listDirectory } from '../workspace/directory-browser.js';
|
|
13
14
|
import { WorkspaceManager } from '../workspace/workspace-manager.js';
|
|
14
|
-
import { CliModelsPayloadSchema, CliQuotaPayloadSchema, DEFAULT_POLICY, FsListPayloadSchema, WorkspaceScanPayloadSchema, WorkspaceSyncPayloadSchema, RunCancelPayloadSchema, RunStartPayloadSchema, RunTailPayloadSchema, ScriptRunPayloadSchema, SqlRunPayloadSchema } from '../types/protocol.js';
|
|
15
|
+
import { CliModelsPayloadSchema, CliQuotaPayloadSchema, CliProviderControlPayloadSchema, DEFAULT_POLICY, FsListPayloadSchema, WorkspaceScanPayloadSchema, WorkspaceSyncPayloadSchema, RunCancelPayloadSchema, RunStartPayloadSchema, RunTailPayloadSchema, ScriptRunPayloadSchema, SqlRunPayloadSchema } from '../types/protocol.js';
|
|
15
16
|
const sleep = (ms, signal) => new Promise((resolve) => {
|
|
16
17
|
const timer = setTimeout(resolve, ms);
|
|
17
18
|
signal?.addEventListener('abort', () => { clearTimeout(timer); resolve(); }, { once: true });
|
|
@@ -49,6 +50,8 @@ export class AgentRuntime {
|
|
|
49
50
|
deviceName;
|
|
50
51
|
/** Finish reports not yet acknowledged; retried on every heartbeat. */
|
|
51
52
|
pendingReports = new Map();
|
|
53
|
+
/** Serialize provider mutations so a rapid iOS toggle cannot race a config write. */
|
|
54
|
+
providerControlTail = Promise.resolve();
|
|
52
55
|
/** Model catalogs of the installed CLIs; re-read in the background. */
|
|
53
56
|
models = new ModelCatalogCollector();
|
|
54
57
|
catalogReport;
|
|
@@ -328,6 +331,12 @@ export class AgentRuntime {
|
|
|
328
331
|
return { success: false, error: error instanceof Error ? error.message : String(error) };
|
|
329
332
|
}
|
|
330
333
|
}
|
|
334
|
+
case 'cli.providers': {
|
|
335
|
+
const payload = CliProviderControlPayloadSchema.parse(command.payload);
|
|
336
|
+
const run = this.providerControlTail.then(() => controlTbSwitch(payload));
|
|
337
|
+
this.providerControlTail = run.then(() => undefined, () => undefined);
|
|
338
|
+
return { success: true, result: await run };
|
|
339
|
+
}
|
|
331
340
|
case 'script.run': {
|
|
332
341
|
const payload = ScriptRunPayloadSchema.parse(command.payload);
|
|
333
342
|
this.checkPolicy('script', payload.policy);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-runtime.js","sourceRoot":"","sources":["../../../src/runtime/agent-runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-runtime.js","sourceRoot":"","sources":["../../../src/runtime/agent-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -149,6 +149,26 @@ export declare const CliQuotaPayloadSchema: z.ZodObject<{
|
|
|
149
149
|
agent_type: z.ZodString;
|
|
150
150
|
}, z.core.$strip>;
|
|
151
151
|
export type CliQuotaPayload = z.infer<typeof CliQuotaPayloadSchema>;
|
|
152
|
+
export declare const CliProviderControlPayloadSchema: z.ZodObject<{
|
|
153
|
+
app: z.ZodEnum<{
|
|
154
|
+
claude: "claude";
|
|
155
|
+
codex: "codex";
|
|
156
|
+
gemini: "gemini";
|
|
157
|
+
}>;
|
|
158
|
+
action: z.ZodEnum<{
|
|
159
|
+
state: "state";
|
|
160
|
+
switch_provider: "switch_provider";
|
|
161
|
+
set_mode: "set_mode";
|
|
162
|
+
select_route: "select_route";
|
|
163
|
+
}>;
|
|
164
|
+
provider_id: z.ZodOptional<z.ZodString>;
|
|
165
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
166
|
+
single: "single";
|
|
167
|
+
multi: "multi";
|
|
168
|
+
}>>;
|
|
169
|
+
route_id: z.ZodOptional<z.ZodString>;
|
|
170
|
+
}, z.core.$strict>;
|
|
171
|
+
export type CliProviderControlPayload = z.infer<typeof CliProviderControlPayloadSchema>;
|
|
152
172
|
export declare const FsListPayloadSchema: z.ZodObject<{
|
|
153
173
|
path: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
154
174
|
}, z.core.$strip>;
|
|
@@ -37,6 +37,13 @@ export const SqlRunPayloadSchema = z.object({
|
|
|
37
37
|
});
|
|
38
38
|
export const CliModelsPayloadSchema = z.object({ agent_type: z.string().max(40).optional().default('') });
|
|
39
39
|
export const CliQuotaPayloadSchema = z.object({ agent_type: z.string().min(1).max(40) });
|
|
40
|
+
export const CliProviderControlPayloadSchema = z.object({
|
|
41
|
+
app: z.enum(['claude', 'codex', 'gemini']),
|
|
42
|
+
action: z.enum(['state', 'switch_provider', 'set_mode', 'select_route']),
|
|
43
|
+
provider_id: z.string().min(1).max(128).optional(),
|
|
44
|
+
mode: z.enum(['single', 'multi']).optional(),
|
|
45
|
+
route_id: z.string().min(1).max(128).optional()
|
|
46
|
+
}).strict();
|
|
40
47
|
// ---- Device directories ----
|
|
41
48
|
const RelativePathSchema = z.string().min(1).max(500);
|
|
42
49
|
export const FsListPayloadSchema = z.object({ path: z.string().max(4096).optional().default('') });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/types/protocol.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/types/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAkBvB,MAAM,CAAC,MAAM,cAAc,GAAiB,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAA;AAuBnG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACjC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACzC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACnD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACrC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAChD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC;IAClC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC9C,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtJ,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE;IAC3P,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACtD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACjD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CACrD,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;AAErF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC7C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;IACxD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACpD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACxE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;CACrH,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACtD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;IACvC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACxE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;CACrH,CAAC,CAAA;AA4CF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;AAEzG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;AAGxF,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC1C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IACxE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAClD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CAChD,CAAC,CAAC,MAAM,EAAE,CAAA;AAGX,+BAA+B;AAE/B,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAErD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;AAElG,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACzD,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;CAC3I,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IACtC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/D,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACtB,aAAa,EAAE,kBAAkB;QACjC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;KAClD,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;IAC5D,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;CAChH,CAAC,CAAA"}
|