@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.
@@ -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({ harnessId: harnessIdSchema }).strict();
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({ harnessId: harnessIdSchema }).strict();
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 启动 dsh-v0.1.2-rc.1 或 dsh-v0.1.5-rc.1(仅支持这两个版本)。\nA DeepSeek Harness Web bootstrap URL cannot be used as an endpoint. Close that instance and let codexhost start dsh-v0.1.2-rc.1 or dsh-v0.1.5-rc.1; only these two versions are supported.");
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
- if (version2 === "0.1.2-rc.1" || version2 === "0.1.5-rc.1") {
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
- if (version2 === "0.1.2-rc.1")
22899
- return DEEPSEEK_V012_PROFILE;
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.version === "0.1.5-rc.1";
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
- return isDeepSeekV015(profile) && profileLocatorMatches(locator, profile);
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?.version === "0.1.5-rc.1" ? { locator: { dshVersion: "0.1.5-rc.1" } } : {}
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 supported local DeepSeek Harness executable was found",
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)
@@ -15,6 +15,7 @@
15
15
  "workbuddy",
16
16
  "cursor-cli",
17
17
  "qoder",
18
- "qoder-cn"
18
+ "qoder-cn",
19
+ "kimi-code"
19
20
  ]
20
21
  }