@liberseek/boft-cli-win32-arm64 0.7.1 → 0.7.3
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/app/codexhost-distribution.json +1 -1
- package/app/desktop-controller.mjs +49 -18
- package/app/host-runtime.mjs +1025 -671
- package/app/plugins/antigravity/plugin.mjs +18 -3
- package/app/plugins/claude-code/plugin.mjs +214 -7
- package/app/plugins/codebuddy/plugin.mjs +103 -5
- package/app/plugins/cursor-cli/plugin.mjs +152 -53
- package/app/plugins/deepseek-harness/plugin.mjs +34 -21
- package/app/plugins/enabled.json +2 -1
- package/app/plugins/grok/plugin.mjs +281 -88
- package/app/plugins/hermes/plugin.mjs +162 -63
- package/app/plugins/kimi-code/manifest.json +11 -0
- package/app/plugins/kimi-code/plugin.mjs +24259 -0
- package/app/plugins/kiro-cli/plugin.mjs +257 -65
- package/app/plugins/muse/plugin.mjs +18 -3
- package/app/plugins/omp/plugin.mjs +258 -67
- package/app/plugins/opencode/plugin.mjs +18 -3
- package/app/plugins/pi/plugin.mjs +211 -4
- package/app/plugins/qoder/plugin.mjs +285 -193
- package/app/plugins/qoder-cn/plugin.mjs +285 -193
- package/app/plugins/workbuddy/plugin.mjs +102 -5
- package/app/renderer-extension.js +1304 -468
- package/bin/boft.exe +0 -0
- package/libexec/boft-node-repl.exe +0 -0
- package/libexec/boft-shim.exe +0 -0
- package/libexec/boft-updater.exe +0 -0
- package/package.json +1 -1
|
@@ -27990,10 +27990,21 @@ var harnessCommandDescriptorSchema = external_exports.object({
|
|
|
27990
27990
|
invocation: commandInvocationSchema,
|
|
27991
27991
|
label: commandLabelSchema,
|
|
27992
27992
|
description: commandDescriptionSchema.optional(),
|
|
27993
|
-
argumentMode: external_exports.enum(["none", "text"])
|
|
27993
|
+
argumentMode: external_exports.enum(["none", "text"]),
|
|
27994
|
+
/**
|
|
27995
|
+
* Native distinction reported by the Harness. Omitted when the Harness does
|
|
27996
|
+
* not tell skills and commands apart; consumers treat that as "command".
|
|
27997
|
+
*/
|
|
27998
|
+
kind: external_exports.enum(["command", "skill"]).optional()
|
|
27994
27999
|
}).strict();
|
|
27995
28000
|
var harnessCommandCatalogSchema = external_exports.object({
|
|
27996
|
-
commands: external_exports.array(harnessCommandDescriptorSchema)
|
|
28001
|
+
commands: external_exports.array(harnessCommandDescriptorSchema),
|
|
28002
|
+
/**
|
|
28003
|
+
* `live` when the catalog includes what a native Session reports for its
|
|
28004
|
+
* workspace (custom commands, skills); `static` for Adapter built-ins only.
|
|
28005
|
+
* Omitted by Adapters; set by the Host on inspection results.
|
|
28006
|
+
*/
|
|
28007
|
+
source: external_exports.enum(["live", "static"]).optional()
|
|
27997
28008
|
}).strict().superRefine((catalog, context) => {
|
|
27998
28009
|
const ids = /* @__PURE__ */ new Set();
|
|
27999
28010
|
for (const [index, command] of catalog.commands.entries()) {
|
|
@@ -28007,7 +28018,11 @@ var harnessCommandCatalogSchema = external_exports.object({
|
|
|
28007
28018
|
ids.add(command.id);
|
|
28008
28019
|
}
|
|
28009
28020
|
});
|
|
28010
|
-
var harnessCommandsInspectParamsSchema = external_exports.object({
|
|
28021
|
+
var harnessCommandsInspectParamsSchema = external_exports.object({
|
|
28022
|
+
harnessId: harnessIdSchema,
|
|
28023
|
+
/** Workspace of a draft without a Thread, for its live catalog when known. */
|
|
28024
|
+
cwd: external_exports.string().min(1).optional()
|
|
28025
|
+
}).strict();
|
|
28011
28026
|
var threadCommandsInspectParamsSchema = external_exports.object({
|
|
28012
28027
|
threadId: hostThreadIdSchema
|
|
28013
28028
|
}).strict();
|
|
@@ -28154,56 +28169,6 @@ var updateStatusResultSchema = external_exports.strictObject({
|
|
|
28154
28169
|
// ../../shared-contracts/dist/index.js
|
|
28155
28170
|
var workspaceContractVersionSchema = external_exports.literal(WORKSPACE_CONTRACT_VERSION);
|
|
28156
28171
|
|
|
28157
|
-
// dist/slash-commands.js
|
|
28158
|
-
function cursorCommands(native) {
|
|
28159
|
-
const commands = /* @__PURE__ */ new Map();
|
|
28160
|
-
for (const command of native) {
|
|
28161
|
-
const result = harnessCommandDescriptorSchema.safeParse({
|
|
28162
|
-
id: `cursor.${command.name}`,
|
|
28163
|
-
invocation: `/${command.name}`,
|
|
28164
|
-
label: `/${command.name}`,
|
|
28165
|
-
...command.description.trim() ? { description: command.description.slice(0, 512) } : {},
|
|
28166
|
-
// Cursor 2026.09.10 omits input metadata for both its administrative command
|
|
28167
|
-
// and custom commands/skills, whose parser still accepts trailing text.
|
|
28168
|
-
// Honor an explicit native no-input declaration without disabling those skills.
|
|
28169
|
-
argumentMode: command.input === null || command.name === "copy-request-id" ? "none" : "text"
|
|
28170
|
-
});
|
|
28171
|
-
if (result.success)
|
|
28172
|
-
commands.set(result.data.id, result.data);
|
|
28173
|
-
}
|
|
28174
|
-
return { commands: [...commands.values()] };
|
|
28175
|
-
}
|
|
28176
|
-
var CURSOR_COMMAND_CATALOG = cursorCommands([
|
|
28177
|
-
{ name: "copy-request-id", description: "Copy the current request ID", input: null }
|
|
28178
|
-
]);
|
|
28179
|
-
function cursorCommandPrompt(command, catalog) {
|
|
28180
|
-
const descriptor = catalog.commands.find(({ id }) => id === command.commandId);
|
|
28181
|
-
if (!descriptor)
|
|
28182
|
-
return {
|
|
28183
|
-
ok: false,
|
|
28184
|
-
error: {
|
|
28185
|
-
code: "unsupported",
|
|
28186
|
-
message: "Cursor did not advertise this command",
|
|
28187
|
-
retryable: false
|
|
28188
|
-
}
|
|
28189
|
-
};
|
|
28190
|
-
const args = command.arguments;
|
|
28191
|
-
if (args && (Object.keys(args).some((key) => key !== "text") || args.text !== void 0 && typeof args.text !== "string" || descriptor.argumentMode === "none" && Object.keys(args).length))
|
|
28192
|
-
return {
|
|
28193
|
-
ok: false,
|
|
28194
|
-
error: {
|
|
28195
|
-
code: "invalidRequest",
|
|
28196
|
-
message: "Invalid Cursor command arguments",
|
|
28197
|
-
retryable: false
|
|
28198
|
-
}
|
|
28199
|
-
};
|
|
28200
|
-
const text2 = typeof args?.text === "string" ? args.text.trim() : "";
|
|
28201
|
-
return { ok: true, value: `${descriptor.invocation}${text2 ? ` ${text2}` : ""}` };
|
|
28202
|
-
}
|
|
28203
|
-
|
|
28204
|
-
// dist/adapter.js
|
|
28205
|
-
import path7 from "node:path";
|
|
28206
|
-
|
|
28207
28172
|
// ../../harness-adapter/dist/approval.js
|
|
28208
28173
|
function invalidRequest(message) {
|
|
28209
28174
|
return { code: "invalidRequest", message, retryable: false };
|
|
@@ -28419,6 +28384,135 @@ function parseHostUsage(value) {
|
|
|
28419
28384
|
return { ...value };
|
|
28420
28385
|
}
|
|
28421
28386
|
|
|
28387
|
+
// ../../harness-adapter/dist/live-command-catalog.js
|
|
28388
|
+
var COMMON_EXCLUDED_LIVE_COMMANDS = /* @__PURE__ */ new Set([
|
|
28389
|
+
// Session lifecycle
|
|
28390
|
+
"branch",
|
|
28391
|
+
"clear",
|
|
28392
|
+
"exit",
|
|
28393
|
+
"fork",
|
|
28394
|
+
"fresh",
|
|
28395
|
+
"new",
|
|
28396
|
+
"quit",
|
|
28397
|
+
"rename",
|
|
28398
|
+
"rename-chat",
|
|
28399
|
+
"reset",
|
|
28400
|
+
"resume",
|
|
28401
|
+
"rewind",
|
|
28402
|
+
"session",
|
|
28403
|
+
"sessions",
|
|
28404
|
+
// Desktop-owned configuration
|
|
28405
|
+
"autocompact",
|
|
28406
|
+
"color",
|
|
28407
|
+
"config",
|
|
28408
|
+
"effort",
|
|
28409
|
+
"fast",
|
|
28410
|
+
"keybindings",
|
|
28411
|
+
"model",
|
|
28412
|
+
"models",
|
|
28413
|
+
"output-style",
|
|
28414
|
+
"permissions",
|
|
28415
|
+
"settings",
|
|
28416
|
+
"statusline",
|
|
28417
|
+
"terminal-setup",
|
|
28418
|
+
"theme",
|
|
28419
|
+
"vim",
|
|
28420
|
+
// Trust and approval policy
|
|
28421
|
+
"always-approve",
|
|
28422
|
+
"auto-mode-setup",
|
|
28423
|
+
// Native login
|
|
28424
|
+
"login",
|
|
28425
|
+
"logout",
|
|
28426
|
+
// Work outliving the Turn
|
|
28427
|
+
"autopilot",
|
|
28428
|
+
"background",
|
|
28429
|
+
"bg",
|
|
28430
|
+
"goal",
|
|
28431
|
+
"jobs",
|
|
28432
|
+
"loop",
|
|
28433
|
+
"multitask",
|
|
28434
|
+
"queue",
|
|
28435
|
+
"remote-control",
|
|
28436
|
+
"schedule",
|
|
28437
|
+
"steer",
|
|
28438
|
+
// Native terminal UI
|
|
28439
|
+
"copy",
|
|
28440
|
+
"debug",
|
|
28441
|
+
"feedback",
|
|
28442
|
+
"heapdump",
|
|
28443
|
+
"share",
|
|
28444
|
+
"shell",
|
|
28445
|
+
// Plugin and MCP management
|
|
28446
|
+
"marketplace",
|
|
28447
|
+
"mcp",
|
|
28448
|
+
"plugins",
|
|
28449
|
+
"reload-plugins"
|
|
28450
|
+
]);
|
|
28451
|
+
var COMMON_EXCLUDED_LIVE_COMMAND_PREFIXES = ["__", "hooks-"];
|
|
28452
|
+
function isExcludedLiveCommand(name, kind, extra = {}) {
|
|
28453
|
+
const normalized = name.trim().replace(/^\//u, "");
|
|
28454
|
+
if (new Set(extra.names ?? []).has(normalized))
|
|
28455
|
+
return true;
|
|
28456
|
+
if (extra.prefixes?.some((prefix) => normalized.startsWith(prefix)))
|
|
28457
|
+
return true;
|
|
28458
|
+
if (kind === "skill")
|
|
28459
|
+
return false;
|
|
28460
|
+
return COMMON_EXCLUDED_LIVE_COMMANDS.has(normalized) || COMMON_EXCLUDED_LIVE_COMMAND_PREFIXES.some((prefix) => normalized.startsWith(prefix));
|
|
28461
|
+
}
|
|
28462
|
+
|
|
28463
|
+
// dist/slash-commands.js
|
|
28464
|
+
var CURSOR_EXCLUSIONS = { names: ["update-cli-config"] };
|
|
28465
|
+
function cursorCommands(native) {
|
|
28466
|
+
const commands = /* @__PURE__ */ new Map();
|
|
28467
|
+
for (const command of native) {
|
|
28468
|
+
if (isExcludedLiveCommand(command.name, "command", CURSOR_EXCLUSIONS))
|
|
28469
|
+
continue;
|
|
28470
|
+
const result = harnessCommandDescriptorSchema.safeParse({
|
|
28471
|
+
id: `cursor.${command.name}`,
|
|
28472
|
+
invocation: `/${command.name}`,
|
|
28473
|
+
label: `/${command.name}`,
|
|
28474
|
+
...command.description.trim() ? { description: command.description.slice(0, 512) } : {},
|
|
28475
|
+
// Cursor 2026.09.10 omits input metadata for both its administrative command
|
|
28476
|
+
// and custom commands/skills, whose parser still accepts trailing text.
|
|
28477
|
+
// Honor an explicit native no-input declaration without disabling those skills.
|
|
28478
|
+
argumentMode: command.input === null || command.name === "copy-request-id" ? "none" : "text"
|
|
28479
|
+
});
|
|
28480
|
+
if (result.success)
|
|
28481
|
+
commands.set(result.data.id, result.data);
|
|
28482
|
+
}
|
|
28483
|
+
return { commands: [...commands.values()] };
|
|
28484
|
+
}
|
|
28485
|
+
var CURSOR_COMMAND_CATALOG = cursorCommands([
|
|
28486
|
+
{ name: "copy-request-id", description: "Copy the current request ID", input: null }
|
|
28487
|
+
]);
|
|
28488
|
+
function cursorCommandPrompt(command, catalog) {
|
|
28489
|
+
const descriptor = catalog.commands.find(({ id }) => id === command.commandId);
|
|
28490
|
+
if (!descriptor)
|
|
28491
|
+
return {
|
|
28492
|
+
ok: false,
|
|
28493
|
+
error: {
|
|
28494
|
+
code: "unsupported",
|
|
28495
|
+
message: "Cursor did not advertise this command",
|
|
28496
|
+
retryable: false
|
|
28497
|
+
}
|
|
28498
|
+
};
|
|
28499
|
+
const args = command.arguments;
|
|
28500
|
+
if (args && (Object.keys(args).some((key) => key !== "text") || args.text !== void 0 && typeof args.text !== "string" || descriptor.argumentMode === "none" && Object.keys(args).length))
|
|
28501
|
+
return {
|
|
28502
|
+
ok: false,
|
|
28503
|
+
error: {
|
|
28504
|
+
code: "invalidRequest",
|
|
28505
|
+
message: "Invalid Cursor command arguments",
|
|
28506
|
+
retryable: false
|
|
28507
|
+
}
|
|
28508
|
+
};
|
|
28509
|
+
const text2 = typeof args?.text === "string" ? args.text.trim() : "";
|
|
28510
|
+
return { ok: true, value: `${descriptor.invocation}${text2 ? ` ${text2}` : ""}` };
|
|
28511
|
+
}
|
|
28512
|
+
|
|
28513
|
+
// dist/adapter.js
|
|
28514
|
+
import path7 from "node:path";
|
|
28515
|
+
|
|
28422
28516
|
// dist/thinking.js
|
|
28423
28517
|
var choices = (option) => option.type === "select" ? option.options.flatMap((entry) => "value" in entry ? [entry] : entry.options) : [];
|
|
28424
28518
|
function cursorThinking(options) {
|
|
@@ -46158,6 +46252,7 @@ function rejected(code, message) {
|
|
|
46158
46252
|
var CursorAdapter = class {
|
|
46159
46253
|
options;
|
|
46160
46254
|
commandCatalog = CURSOR_COMMAND_CATALOG;
|
|
46255
|
+
liveCommandCatalog = true;
|
|
46161
46256
|
subagents = {
|
|
46162
46257
|
readSnapshot: async ({ parent, nativeSubagentId, cwd }) => {
|
|
46163
46258
|
if (parent.harnessId !== this.harnessId || this.#closed)
|
|
@@ -47529,6 +47624,7 @@ var BrokeredHarnessSession = class {
|
|
|
47529
47624
|
var BrokeredHarnessAdapter = class {
|
|
47530
47625
|
#sessions = /* @__PURE__ */ new Set();
|
|
47531
47626
|
commandCatalog;
|
|
47627
|
+
liveCommandCatalog;
|
|
47532
47628
|
harnessId;
|
|
47533
47629
|
#descriptorPath;
|
|
47534
47630
|
#forwardEnvironment;
|
|
@@ -47630,6 +47726,8 @@ var BrokeredHarnessAdapter = class {
|
|
|
47630
47726
|
this.#forwardEnvironment = input.forwardDelegationEnvironment === true;
|
|
47631
47727
|
if (input.commandCatalog)
|
|
47632
47728
|
this.commandCatalog = input.commandCatalog;
|
|
47729
|
+
if (input.liveCommandCatalog)
|
|
47730
|
+
this.liveCommandCatalog = true;
|
|
47633
47731
|
this.#descriptorPath = input.descriptorPath ?? defaultHarnessBrokerDescriptorPath(input.environment, this.harnessId);
|
|
47634
47732
|
}
|
|
47635
47733
|
async inspectAccount() {
|
|
@@ -47724,6 +47822,7 @@ function createHarnessAdapter(context) {
|
|
|
47724
47822
|
harnessId: "cursor-cli",
|
|
47725
47823
|
forwardDelegationEnvironment: true,
|
|
47726
47824
|
commandCatalog: CURSOR_COMMAND_CATALOG,
|
|
47825
|
+
liveCommandCatalog: true,
|
|
47727
47826
|
environment: { ...context.environment }
|
|
47728
47827
|
});
|
|
47729
47828
|
return new CursorAdapter({ environment: { ...context.environment } });
|
|
@@ -19009,10 +19009,21 @@ var harnessCommandDescriptorSchema = external_exports.object({
|
|
|
19009
19009
|
invocation: commandInvocationSchema,
|
|
19010
19010
|
label: commandLabelSchema,
|
|
19011
19011
|
description: commandDescriptionSchema.optional(),
|
|
19012
|
-
argumentMode: external_exports.enum(["none", "text"])
|
|
19012
|
+
argumentMode: external_exports.enum(["none", "text"]),
|
|
19013
|
+
/**
|
|
19014
|
+
* Native distinction reported by the Harness. Omitted when the Harness does
|
|
19015
|
+
* not tell skills and commands apart; consumers treat that as "command".
|
|
19016
|
+
*/
|
|
19017
|
+
kind: external_exports.enum(["command", "skill"]).optional()
|
|
19013
19018
|
}).strict();
|
|
19014
19019
|
var harnessCommandCatalogSchema = external_exports.object({
|
|
19015
|
-
commands: external_exports.array(harnessCommandDescriptorSchema)
|
|
19020
|
+
commands: external_exports.array(harnessCommandDescriptorSchema),
|
|
19021
|
+
/**
|
|
19022
|
+
* `live` when the catalog includes what a native Session reports for its
|
|
19023
|
+
* workspace (custom commands, skills); `static` for Adapter built-ins only.
|
|
19024
|
+
* Omitted by Adapters; set by the Host on inspection results.
|
|
19025
|
+
*/
|
|
19026
|
+
source: external_exports.enum(["live", "static"]).optional()
|
|
19016
19027
|
}).strict().superRefine((catalog, context) => {
|
|
19017
19028
|
const ids = /* @__PURE__ */ new Set();
|
|
19018
19029
|
for (const [index, command] of catalog.commands.entries()) {
|
|
@@ -19026,7 +19037,11 @@ var harnessCommandCatalogSchema = external_exports.object({
|
|
|
19026
19037
|
ids.add(command.id);
|
|
19027
19038
|
}
|
|
19028
19039
|
});
|
|
19029
|
-
var harnessCommandsInspectParamsSchema = external_exports.object({
|
|
19040
|
+
var harnessCommandsInspectParamsSchema = external_exports.object({
|
|
19041
|
+
harnessId: harnessIdSchema,
|
|
19042
|
+
/** Workspace of a draft without a Thread, for its live catalog when known. */
|
|
19043
|
+
cwd: external_exports.string().min(1).optional()
|
|
19044
|
+
}).strict();
|
|
19030
19045
|
var threadCommandsInspectParamsSchema = external_exports.object({
|
|
19031
19046
|
threadId: hostThreadIdSchema
|
|
19032
19047
|
}).strict();
|
|
@@ -19638,7 +19653,7 @@ function parseDeepSeekEndpoint(endpoint = DEFAULT_DEEPSEEK_ENDPOINT) {
|
|
|
19638
19653
|
throw probeError("protocolError", "DeepSeek Harness endpoint must be an uncredentialed loopback HTTP root");
|
|
19639
19654
|
}
|
|
19640
19655
|
if (parsed.searchParams.has("token")) {
|
|
19641
|
-
throw probeError("authenticationRequired", "DeepSeek Harness Web bootstrap URL 不可作为连接端点;请关闭该实例,让 codexhost
|
|
19656
|
+
throw probeError("authenticationRequired", "DeepSeek Harness Web bootstrap URL 不可作为连接端点;请关闭该实例,让 codexhost 启动本地 DSH Web。\nA DeepSeek Harness Web bootstrap URL cannot be used as an endpoint. Close that instance and let codexhost start the local DSH Web.");
|
|
19642
19657
|
}
|
|
19643
19658
|
if (parsed.search !== "") {
|
|
19644
19659
|
throw probeError("protocolError", "DeepSeek Harness endpoint must not contain a query");
|
|
@@ -19670,11 +19685,7 @@ function classifyDeepSeekVersionOutput(output) {
|
|
|
19670
19685
|
if (version2 === null || !SEMVER_PATTERN.test(version2)) {
|
|
19671
19686
|
throw probeError("protocolError", "DeepSeek Harness --version did not return exactly one semantic version");
|
|
19672
19687
|
}
|
|
19673
|
-
|
|
19674
|
-
return { generation: "modern", version: version2 };
|
|
19675
|
-
}
|
|
19676
|
-
throw probeError("unsupported", `当前 DeepSeek Harness 版本 ${version2} 不受支持;codexhost 仅支持 dsh-v0.1.2-rc.1 和 dsh-v0.1.5-rc.1,推荐安装 dsh-v0.1.5-rc.1。
|
|
19677
|
-
DeepSeek Harness ${version2} is unsupported. codexhost only supports dsh-v0.1.2-rc.1 and dsh-v0.1.5-rc.1; dsh-v0.1.5-rc.1 is recommended.`);
|
|
19688
|
+
return { generation: "modern", version: version2 };
|
|
19678
19689
|
}
|
|
19679
19690
|
function appendOutput(target, value, limit) {
|
|
19680
19691
|
const chunk = Buffer.isBuffer(value) ? value : Buffer.from(String(value));
|
|
@@ -22895,14 +22906,11 @@ function matchesForkTail2(expectedPrefix, childEvents) {
|
|
|
22895
22906
|
|
|
22896
22907
|
// dist/profiles/profile.js
|
|
22897
22908
|
function deepSeekModernProfile(version2) {
|
|
22898
|
-
|
|
22899
|
-
|
|
22900
|
-
if (version2 === "0.1.5-rc.1")
|
|
22901
|
-
return DEEPSEEK_V015_PROFILE;
|
|
22902
|
-
throw new TypeError("DeepSeek Harness only supports 0.1.2-rc.1 and 0.1.5-rc.1");
|
|
22909
|
+
const base = /^0\.1\.2(?:-|\+|$)/u.test(version2) ? DEEPSEEK_V012_PROFILE : DEEPSEEK_V015_PROFILE;
|
|
22910
|
+
return base.version === version2 ? base : Object.freeze({ ...base, version: version2 });
|
|
22903
22911
|
}
|
|
22904
22912
|
function isDeepSeekV015(profile) {
|
|
22905
|
-
return profile.
|
|
22913
|
+
return profile.sessionFormatVersion === 3;
|
|
22906
22914
|
}
|
|
22907
22915
|
|
|
22908
22916
|
// dist/modern/commands.js
|
|
@@ -31063,7 +31071,15 @@ function parseModernForkInput(input, profile) {
|
|
|
31063
31071
|
function sessionLocatorMatches(locator, profile) {
|
|
31064
31072
|
if (locator === void 0)
|
|
31065
31073
|
return true;
|
|
31066
|
-
|
|
31074
|
+
if (!isDeepSeekV015(profile) || !isRecord8(locator) || Reflect.ownKeys(locator).length !== 1 || typeof locator.dshVersion !== "string") {
|
|
31075
|
+
return false;
|
|
31076
|
+
}
|
|
31077
|
+
try {
|
|
31078
|
+
const { version: version2 } = classifyDeepSeekVersionOutput(locator.dshVersion);
|
|
31079
|
+
return isDeepSeekV015(deepSeekModernProfile(version2));
|
|
31080
|
+
} catch {
|
|
31081
|
+
return false;
|
|
31082
|
+
}
|
|
31067
31083
|
}
|
|
31068
31084
|
function checkpointLocatorMatches(locator, profile) {
|
|
31069
31085
|
return isDeepSeekV015(profile) ? profileLocatorMatches(locator, profile) : locator === void 0;
|
|
@@ -31277,7 +31293,7 @@ var DeepSeekHarnessAdapter = class {
|
|
|
31277
31293
|
harnessId: this.harnessId,
|
|
31278
31294
|
nativeSessionId,
|
|
31279
31295
|
formatVersion: 1,
|
|
31280
|
-
...this.#delegate
|
|
31296
|
+
...this.#delegate && isDeepSeekV015(deepSeekModernProfile(this.#delegate.version)) ? { locator: { dshVersion: this.#delegate.version } } : {}
|
|
31281
31297
|
})
|
|
31282
31298
|
}
|
|
31283
31299
|
};
|
|
@@ -31429,9 +31445,6 @@ var DeepSeekHarnessAdapter = class {
|
|
|
31429
31445
|
durationMs: Math.max(0, Date.now() - startedAt)
|
|
31430
31446
|
};
|
|
31431
31447
|
}
|
|
31432
|
-
if (executableFailure?.code === "unsupported") {
|
|
31433
|
-
throw new DelegateSelectionError(executableFailure);
|
|
31434
|
-
}
|
|
31435
31448
|
if (await hasDeepSeekModernAuthenticationFingerprint(endpoint, signal)) {
|
|
31436
31449
|
throw new DelegateSelectionError({
|
|
31437
31450
|
code: "authenticationRequired",
|
|
@@ -31447,7 +31460,7 @@ var DeepSeekHarnessAdapter = class {
|
|
|
31447
31460
|
if (!executable) {
|
|
31448
31461
|
throw new DelegateSelectionError(executableFailure ? { ...executableFailure, durationMs: Math.max(0, Date.now() - startedAt) } : {
|
|
31449
31462
|
code: "notInstalled",
|
|
31450
|
-
message: "No
|
|
31463
|
+
message: "No local DeepSeek Harness executable was found",
|
|
31451
31464
|
retryable: false,
|
|
31452
31465
|
stage: "resolve-executable",
|
|
31453
31466
|
durationMs: Math.max(0, Date.now() - startedAt)
|