@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
|
@@ -15301,10 +15301,21 @@ var harnessCommandDescriptorSchema = external_exports.object({
|
|
|
15301
15301
|
invocation: commandInvocationSchema,
|
|
15302
15302
|
label: commandLabelSchema,
|
|
15303
15303
|
description: commandDescriptionSchema.optional(),
|
|
15304
|
-
argumentMode: external_exports.enum(["none", "text"])
|
|
15304
|
+
argumentMode: external_exports.enum(["none", "text"]),
|
|
15305
|
+
/**
|
|
15306
|
+
* Native distinction reported by the Harness. Omitted when the Harness does
|
|
15307
|
+
* not tell skills and commands apart; consumers treat that as "command".
|
|
15308
|
+
*/
|
|
15309
|
+
kind: external_exports.enum(["command", "skill"]).optional()
|
|
15305
15310
|
}).strict();
|
|
15306
15311
|
var harnessCommandCatalogSchema = external_exports.object({
|
|
15307
|
-
commands: external_exports.array(harnessCommandDescriptorSchema)
|
|
15312
|
+
commands: external_exports.array(harnessCommandDescriptorSchema),
|
|
15313
|
+
/**
|
|
15314
|
+
* `live` when the catalog includes what a native Session reports for its
|
|
15315
|
+
* workspace (custom commands, skills); `static` for Adapter built-ins only.
|
|
15316
|
+
* Omitted by Adapters; set by the Host on inspection results.
|
|
15317
|
+
*/
|
|
15318
|
+
source: external_exports.enum(["live", "static"]).optional()
|
|
15308
15319
|
}).strict().superRefine((catalog, context) => {
|
|
15309
15320
|
const ids = /* @__PURE__ */ new Set();
|
|
15310
15321
|
for (const [index, command] of catalog.commands.entries()) {
|
|
@@ -15318,7 +15329,11 @@ var harnessCommandCatalogSchema = external_exports.object({
|
|
|
15318
15329
|
ids.add(command.id);
|
|
15319
15330
|
}
|
|
15320
15331
|
});
|
|
15321
|
-
var harnessCommandsInspectParamsSchema = external_exports.object({
|
|
15332
|
+
var harnessCommandsInspectParamsSchema = external_exports.object({
|
|
15333
|
+
harnessId: harnessIdSchema,
|
|
15334
|
+
/** Workspace of a draft without a Thread, for its live catalog when known. */
|
|
15335
|
+
cwd: external_exports.string().min(1).optional()
|
|
15336
|
+
}).strict();
|
|
15322
15337
|
var threadCommandsInspectParamsSchema = external_exports.object({
|
|
15323
15338
|
threadId: hostThreadIdSchema
|
|
15324
15339
|
}).strict();
|
|
@@ -15465,66 +15480,6 @@ var updateStatusResultSchema = external_exports.strictObject({
|
|
|
15465
15480
|
// ../../shared-contracts/dist/index.js
|
|
15466
15481
|
var workspaceContractVersionSchema = external_exports.literal(WORKSPACE_CONTRACT_VERSION);
|
|
15467
15482
|
|
|
15468
|
-
// dist/hermes-commands.js
|
|
15469
|
-
var SUPPORTED_COMMANDS = /* @__PURE__ */ new Set(["help", "tools", "context", "compress", "version"]);
|
|
15470
|
-
function hermesCommandCatalog(commands) {
|
|
15471
|
-
return harnessCommandCatalogSchema.parse({
|
|
15472
|
-
commands: commands.filter((command) => SUPPORTED_COMMANDS.has(command.name)).map((command) => ({
|
|
15473
|
-
id: `hermes.${command.name}`,
|
|
15474
|
-
invocation: `/${command.name}`,
|
|
15475
|
-
label: `/${command.name}`,
|
|
15476
|
-
description: command.description.slice(0, 512) || `Hermes /${command.name}`,
|
|
15477
|
-
argumentMode: command.input ? "text" : "none"
|
|
15478
|
-
}))
|
|
15479
|
-
});
|
|
15480
|
-
}
|
|
15481
|
-
var HERMES_GATEWAY_COMMANDS = [
|
|
15482
|
-
...["help", "tools", "context", "version"].map((name) => ({
|
|
15483
|
-
name,
|
|
15484
|
-
description: `Hermes /${name}`
|
|
15485
|
-
})),
|
|
15486
|
-
{
|
|
15487
|
-
name: "compress",
|
|
15488
|
-
description: "Compress conversation context",
|
|
15489
|
-
input: { hint: "Optional compression focus" }
|
|
15490
|
-
}
|
|
15491
|
-
];
|
|
15492
|
-
var HERMES_COMMAND_CATALOG = hermesCommandCatalog(HERMES_GATEWAY_COMMANDS);
|
|
15493
|
-
function hermesCommandText(command, catalog) {
|
|
15494
|
-
const descriptor = catalog.commands.find((entry) => entry.id === command.commandId);
|
|
15495
|
-
if (!descriptor)
|
|
15496
|
-
return {
|
|
15497
|
-
ok: false,
|
|
15498
|
-
error: {
|
|
15499
|
-
code: "unsupported",
|
|
15500
|
-
message: "Hermes did not advertise this command",
|
|
15501
|
-
retryable: false
|
|
15502
|
-
}
|
|
15503
|
-
};
|
|
15504
|
-
const args = command.arguments ?? {};
|
|
15505
|
-
if (Object.keys(args).some((key) => key !== "text") || args.text !== void 0 && typeof args.text !== "string" || descriptor.argumentMode === "none" && typeof args.text === "string" && args.text.trim()) {
|
|
15506
|
-
return {
|
|
15507
|
-
ok: false,
|
|
15508
|
-
error: {
|
|
15509
|
-
code: "invalidRequest",
|
|
15510
|
-
message: "Invalid Hermes command arguments",
|
|
15511
|
-
retryable: false
|
|
15512
|
-
}
|
|
15513
|
-
};
|
|
15514
|
-
}
|
|
15515
|
-
return {
|
|
15516
|
-
ok: true,
|
|
15517
|
-
value: `${descriptor.invocation}${typeof args.text === "string" && args.text.trim() ? ` ${args.text.trim()}` : ""}`
|
|
15518
|
-
};
|
|
15519
|
-
}
|
|
15520
|
-
|
|
15521
|
-
// dist/hermes-adapter.js
|
|
15522
|
-
import { createHash } from "node:crypto";
|
|
15523
|
-
|
|
15524
|
-
// dist/acp-transport.js
|
|
15525
|
-
import { spawn, spawnSync } from "node:child_process";
|
|
15526
|
-
import { Readable, Writable } from "node:stream";
|
|
15527
|
-
|
|
15528
15483
|
// ../../harness-adapter/dist/approval.js
|
|
15529
15484
|
function invalidRequest(message) {
|
|
15530
15485
|
return { code: "invalidRequest", message, retryable: false };
|
|
@@ -15657,6 +15612,149 @@ var usageFields = /* @__PURE__ */ new Set([
|
|
|
15657
15612
|
"contextUsagePercent"
|
|
15658
15613
|
]);
|
|
15659
15614
|
|
|
15615
|
+
// ../../harness-adapter/dist/live-command-catalog.js
|
|
15616
|
+
var COMMON_EXCLUDED_LIVE_COMMANDS = /* @__PURE__ */ new Set([
|
|
15617
|
+
// Session lifecycle
|
|
15618
|
+
"branch",
|
|
15619
|
+
"clear",
|
|
15620
|
+
"exit",
|
|
15621
|
+
"fork",
|
|
15622
|
+
"fresh",
|
|
15623
|
+
"new",
|
|
15624
|
+
"quit",
|
|
15625
|
+
"rename",
|
|
15626
|
+
"rename-chat",
|
|
15627
|
+
"reset",
|
|
15628
|
+
"resume",
|
|
15629
|
+
"rewind",
|
|
15630
|
+
"session",
|
|
15631
|
+
"sessions",
|
|
15632
|
+
// Desktop-owned configuration
|
|
15633
|
+
"autocompact",
|
|
15634
|
+
"color",
|
|
15635
|
+
"config",
|
|
15636
|
+
"effort",
|
|
15637
|
+
"fast",
|
|
15638
|
+
"keybindings",
|
|
15639
|
+
"model",
|
|
15640
|
+
"models",
|
|
15641
|
+
"output-style",
|
|
15642
|
+
"permissions",
|
|
15643
|
+
"settings",
|
|
15644
|
+
"statusline",
|
|
15645
|
+
"terminal-setup",
|
|
15646
|
+
"theme",
|
|
15647
|
+
"vim",
|
|
15648
|
+
// Trust and approval policy
|
|
15649
|
+
"always-approve",
|
|
15650
|
+
"auto-mode-setup",
|
|
15651
|
+
// Native login
|
|
15652
|
+
"login",
|
|
15653
|
+
"logout",
|
|
15654
|
+
// Work outliving the Turn
|
|
15655
|
+
"autopilot",
|
|
15656
|
+
"background",
|
|
15657
|
+
"bg",
|
|
15658
|
+
"goal",
|
|
15659
|
+
"jobs",
|
|
15660
|
+
"loop",
|
|
15661
|
+
"multitask",
|
|
15662
|
+
"queue",
|
|
15663
|
+
"remote-control",
|
|
15664
|
+
"schedule",
|
|
15665
|
+
"steer",
|
|
15666
|
+
// Native terminal UI
|
|
15667
|
+
"copy",
|
|
15668
|
+
"debug",
|
|
15669
|
+
"feedback",
|
|
15670
|
+
"heapdump",
|
|
15671
|
+
"share",
|
|
15672
|
+
"shell",
|
|
15673
|
+
// Plugin and MCP management
|
|
15674
|
+
"marketplace",
|
|
15675
|
+
"mcp",
|
|
15676
|
+
"plugins",
|
|
15677
|
+
"reload-plugins"
|
|
15678
|
+
]);
|
|
15679
|
+
var COMMON_EXCLUDED_LIVE_COMMAND_PREFIXES = ["__", "hooks-"];
|
|
15680
|
+
function isExcludedLiveCommand(name, kind, extra = {}) {
|
|
15681
|
+
const normalized = name.trim().replace(/^\//u, "");
|
|
15682
|
+
if (new Set(extra.names ?? []).has(normalized))
|
|
15683
|
+
return true;
|
|
15684
|
+
if (extra.prefixes?.some((prefix) => normalized.startsWith(prefix)))
|
|
15685
|
+
return true;
|
|
15686
|
+
if (kind === "skill")
|
|
15687
|
+
return false;
|
|
15688
|
+
return COMMON_EXCLUDED_LIVE_COMMANDS.has(normalized) || COMMON_EXCLUDED_LIVE_COMMAND_PREFIXES.some((prefix) => normalized.startsWith(prefix));
|
|
15689
|
+
}
|
|
15690
|
+
|
|
15691
|
+
// dist/hermes-commands.js
|
|
15692
|
+
function hermesCommandCatalog(commands) {
|
|
15693
|
+
const seen = /* @__PURE__ */ new Set();
|
|
15694
|
+
const descriptors = commands.flatMap((command) => {
|
|
15695
|
+
if (isExcludedLiveCommand(command.name, "command"))
|
|
15696
|
+
return [];
|
|
15697
|
+
const parsed2 = harnessCommandDescriptorSchema.safeParse({
|
|
15698
|
+
id: `hermes.${command.name}`,
|
|
15699
|
+
invocation: `/${command.name}`,
|
|
15700
|
+
label: `/${command.name}`,
|
|
15701
|
+
description: command.description.slice(0, 512) || `Hermes /${command.name}`,
|
|
15702
|
+
argumentMode: command.input ? "text" : "none"
|
|
15703
|
+
});
|
|
15704
|
+
if (!parsed2.success || seen.has(parsed2.data.id))
|
|
15705
|
+
return [];
|
|
15706
|
+
seen.add(parsed2.data.id);
|
|
15707
|
+
return [parsed2.data];
|
|
15708
|
+
});
|
|
15709
|
+
return harnessCommandCatalogSchema.parse({ commands: descriptors });
|
|
15710
|
+
}
|
|
15711
|
+
var HERMES_GATEWAY_COMMANDS = [
|
|
15712
|
+
...["help", "tools", "context", "version"].map((name) => ({
|
|
15713
|
+
name,
|
|
15714
|
+
description: `Hermes /${name}`
|
|
15715
|
+
})),
|
|
15716
|
+
{
|
|
15717
|
+
name: "compress",
|
|
15718
|
+
description: "Compress conversation context",
|
|
15719
|
+
input: { hint: "Optional compression focus" }
|
|
15720
|
+
}
|
|
15721
|
+
];
|
|
15722
|
+
var HERMES_COMMAND_CATALOG = hermesCommandCatalog(HERMES_GATEWAY_COMMANDS);
|
|
15723
|
+
function hermesCommandText(command, catalog) {
|
|
15724
|
+
const descriptor = catalog.commands.find((entry) => entry.id === command.commandId);
|
|
15725
|
+
if (!descriptor)
|
|
15726
|
+
return {
|
|
15727
|
+
ok: false,
|
|
15728
|
+
error: {
|
|
15729
|
+
code: "unsupported",
|
|
15730
|
+
message: "Hermes did not advertise this command",
|
|
15731
|
+
retryable: false
|
|
15732
|
+
}
|
|
15733
|
+
};
|
|
15734
|
+
const args = command.arguments ?? {};
|
|
15735
|
+
if (Object.keys(args).some((key) => key !== "text") || args.text !== void 0 && typeof args.text !== "string" || descriptor.argumentMode === "none" && typeof args.text === "string" && args.text.trim()) {
|
|
15736
|
+
return {
|
|
15737
|
+
ok: false,
|
|
15738
|
+
error: {
|
|
15739
|
+
code: "invalidRequest",
|
|
15740
|
+
message: "Invalid Hermes command arguments",
|
|
15741
|
+
retryable: false
|
|
15742
|
+
}
|
|
15743
|
+
};
|
|
15744
|
+
}
|
|
15745
|
+
return {
|
|
15746
|
+
ok: true,
|
|
15747
|
+
value: `${descriptor.invocation}${typeof args.text === "string" && args.text.trim() ? ` ${args.text.trim()}` : ""}`
|
|
15748
|
+
};
|
|
15749
|
+
}
|
|
15750
|
+
|
|
15751
|
+
// dist/hermes-adapter.js
|
|
15752
|
+
import { createHash } from "node:crypto";
|
|
15753
|
+
|
|
15754
|
+
// dist/acp-transport.js
|
|
15755
|
+
import { spawn, spawnSync } from "node:child_process";
|
|
15756
|
+
import { Readable, Writable } from "node:stream";
|
|
15757
|
+
|
|
15660
15758
|
// ../../../node_modules/@agentclientprotocol/sdk/dist/schema/index.js
|
|
15661
15759
|
var AGENT_METHODS = {
|
|
15662
15760
|
initialize: "initialize",
|
|
@@ -23579,6 +23677,7 @@ var IMPORT_TIMEOUT_MS = 2e4;
|
|
|
23579
23677
|
var HERMES_THREAD_ID_ENV = "CODEXHOST_THREAD_ID";
|
|
23580
23678
|
var HermesAdapter = class {
|
|
23581
23679
|
commandCatalog = HERMES_COMMAND_CATALOG;
|
|
23680
|
+
liveCommandCatalog = true;
|
|
23582
23681
|
harnessId = hermesHarnessId;
|
|
23583
23682
|
sessionImport = {
|
|
23584
23683
|
listCandidates: () => this.#listImportCandidates(),
|