@codexhost/cli-darwin-x64 0.9.2 → 0.10.0
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/THIRD_PARTY_NOTICES.txt +0 -4
- package/app/codexhost-distribution.json +1 -1
- package/app/desktop-controller.mjs +49 -18
- package/app/host-runtime.mjs +980 -650
- 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 +272 -79
- package/app/plugins/hermes/plugin.mjs +162 -63
- package/app/plugins/kimi-code/manifest.json +11 -0
- package/app/plugins/kimi-code/plugin.mjs +24226 -0
- package/app/plugins/kiro-cli/plugin.mjs +257 -65
- 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 +279 -187
- package/app/plugins/qoder-cn/plugin.mjs +279 -187
- package/app/plugins/workbuddy/plugin.mjs +102 -5
- package/app/renderer-extension.js +1394 -520
- package/bin/codexhost +0 -0
- package/libexec/codexhost-shim +0 -0
- package/libexec/codexhost-updater +0 -0
- package/package.json +1 -1
- package/licenses/opencodex-LICENSE.txt +0 -21
|
@@ -15277,10 +15277,21 @@ var harnessCommandDescriptorSchema = external_exports.object({
|
|
|
15277
15277
|
invocation: commandInvocationSchema,
|
|
15278
15278
|
label: commandLabelSchema,
|
|
15279
15279
|
description: commandDescriptionSchema.optional(),
|
|
15280
|
-
argumentMode: external_exports.enum(["none", "text"])
|
|
15280
|
+
argumentMode: external_exports.enum(["none", "text"]),
|
|
15281
|
+
/**
|
|
15282
|
+
* Native distinction reported by the Harness. Omitted when the Harness does
|
|
15283
|
+
* not tell skills and commands apart; consumers treat that as "command".
|
|
15284
|
+
*/
|
|
15285
|
+
kind: external_exports.enum(["command", "skill"]).optional()
|
|
15281
15286
|
}).strict();
|
|
15282
15287
|
var harnessCommandCatalogSchema = external_exports.object({
|
|
15283
|
-
commands: external_exports.array(harnessCommandDescriptorSchema)
|
|
15288
|
+
commands: external_exports.array(harnessCommandDescriptorSchema),
|
|
15289
|
+
/**
|
|
15290
|
+
* `live` when the catalog includes what a native Session reports for its
|
|
15291
|
+
* workspace (custom commands, skills); `static` for Adapter built-ins only.
|
|
15292
|
+
* Omitted by Adapters; set by the Host on inspection results.
|
|
15293
|
+
*/
|
|
15294
|
+
source: external_exports.enum(["live", "static"]).optional()
|
|
15284
15295
|
}).strict().superRefine((catalog, context) => {
|
|
15285
15296
|
const ids = /* @__PURE__ */ new Set();
|
|
15286
15297
|
for (const [index, command] of catalog.commands.entries()) {
|
|
@@ -15294,7 +15305,11 @@ var harnessCommandCatalogSchema = external_exports.object({
|
|
|
15294
15305
|
ids.add(command.id);
|
|
15295
15306
|
}
|
|
15296
15307
|
});
|
|
15297
|
-
var harnessCommandsInspectParamsSchema = external_exports.object({
|
|
15308
|
+
var harnessCommandsInspectParamsSchema = external_exports.object({
|
|
15309
|
+
harnessId: harnessIdSchema,
|
|
15310
|
+
/** Workspace of a draft without a Thread, for its live catalog when known. */
|
|
15311
|
+
cwd: external_exports.string().min(1).optional()
|
|
15312
|
+
}).strict();
|
|
15298
15313
|
var threadCommandsInspectParamsSchema = external_exports.object({
|
|
15299
15314
|
threadId: hostThreadIdSchema
|
|
15300
15315
|
}).strict();
|
|
@@ -15441,66 +15456,6 @@ var updateStatusResultSchema = external_exports.strictObject({
|
|
|
15441
15456
|
// ../../shared-contracts/dist/index.js
|
|
15442
15457
|
var workspaceContractVersionSchema = external_exports.literal(WORKSPACE_CONTRACT_VERSION);
|
|
15443
15458
|
|
|
15444
|
-
// dist/hermes-commands.js
|
|
15445
|
-
var SUPPORTED_COMMANDS = /* @__PURE__ */ new Set(["help", "tools", "context", "compress", "version"]);
|
|
15446
|
-
function hermesCommandCatalog(commands) {
|
|
15447
|
-
return harnessCommandCatalogSchema.parse({
|
|
15448
|
-
commands: commands.filter((command) => SUPPORTED_COMMANDS.has(command.name)).map((command) => ({
|
|
15449
|
-
id: `hermes.${command.name}`,
|
|
15450
|
-
invocation: `/${command.name}`,
|
|
15451
|
-
label: `/${command.name}`,
|
|
15452
|
-
description: command.description.slice(0, 512) || `Hermes /${command.name}`,
|
|
15453
|
-
argumentMode: command.input ? "text" : "none"
|
|
15454
|
-
}))
|
|
15455
|
-
});
|
|
15456
|
-
}
|
|
15457
|
-
var HERMES_GATEWAY_COMMANDS = [
|
|
15458
|
-
...["help", "tools", "context", "version"].map((name) => ({
|
|
15459
|
-
name,
|
|
15460
|
-
description: `Hermes /${name}`
|
|
15461
|
-
})),
|
|
15462
|
-
{
|
|
15463
|
-
name: "compress",
|
|
15464
|
-
description: "Compress conversation context",
|
|
15465
|
-
input: { hint: "Optional compression focus" }
|
|
15466
|
-
}
|
|
15467
|
-
];
|
|
15468
|
-
var HERMES_COMMAND_CATALOG = hermesCommandCatalog(HERMES_GATEWAY_COMMANDS);
|
|
15469
|
-
function hermesCommandText(command, catalog) {
|
|
15470
|
-
const descriptor = catalog.commands.find((entry) => entry.id === command.commandId);
|
|
15471
|
-
if (!descriptor)
|
|
15472
|
-
return {
|
|
15473
|
-
ok: false,
|
|
15474
|
-
error: {
|
|
15475
|
-
code: "unsupported",
|
|
15476
|
-
message: "Hermes did not advertise this command",
|
|
15477
|
-
retryable: false
|
|
15478
|
-
}
|
|
15479
|
-
};
|
|
15480
|
-
const args = command.arguments ?? {};
|
|
15481
|
-
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()) {
|
|
15482
|
-
return {
|
|
15483
|
-
ok: false,
|
|
15484
|
-
error: {
|
|
15485
|
-
code: "invalidRequest",
|
|
15486
|
-
message: "Invalid Hermes command arguments",
|
|
15487
|
-
retryable: false
|
|
15488
|
-
}
|
|
15489
|
-
};
|
|
15490
|
-
}
|
|
15491
|
-
return {
|
|
15492
|
-
ok: true,
|
|
15493
|
-
value: `${descriptor.invocation}${typeof args.text === "string" && args.text.trim() ? ` ${args.text.trim()}` : ""}`
|
|
15494
|
-
};
|
|
15495
|
-
}
|
|
15496
|
-
|
|
15497
|
-
// dist/hermes-adapter.js
|
|
15498
|
-
import { createHash } from "node:crypto";
|
|
15499
|
-
|
|
15500
|
-
// dist/acp-transport.js
|
|
15501
|
-
import { spawn, spawnSync } from "node:child_process";
|
|
15502
|
-
import { Readable, Writable } from "node:stream";
|
|
15503
|
-
|
|
15504
15459
|
// ../../harness-adapter/dist/approval.js
|
|
15505
15460
|
function invalidRequest(message) {
|
|
15506
15461
|
return { code: "invalidRequest", message, retryable: false };
|
|
@@ -15633,6 +15588,149 @@ var usageFields = /* @__PURE__ */ new Set([
|
|
|
15633
15588
|
"contextUsagePercent"
|
|
15634
15589
|
]);
|
|
15635
15590
|
|
|
15591
|
+
// ../../harness-adapter/dist/live-command-catalog.js
|
|
15592
|
+
var COMMON_EXCLUDED_LIVE_COMMANDS = /* @__PURE__ */ new Set([
|
|
15593
|
+
// Session lifecycle
|
|
15594
|
+
"branch",
|
|
15595
|
+
"clear",
|
|
15596
|
+
"exit",
|
|
15597
|
+
"fork",
|
|
15598
|
+
"fresh",
|
|
15599
|
+
"new",
|
|
15600
|
+
"quit",
|
|
15601
|
+
"rename",
|
|
15602
|
+
"rename-chat",
|
|
15603
|
+
"reset",
|
|
15604
|
+
"resume",
|
|
15605
|
+
"rewind",
|
|
15606
|
+
"session",
|
|
15607
|
+
"sessions",
|
|
15608
|
+
// Desktop-owned configuration
|
|
15609
|
+
"autocompact",
|
|
15610
|
+
"color",
|
|
15611
|
+
"config",
|
|
15612
|
+
"effort",
|
|
15613
|
+
"fast",
|
|
15614
|
+
"keybindings",
|
|
15615
|
+
"model",
|
|
15616
|
+
"models",
|
|
15617
|
+
"output-style",
|
|
15618
|
+
"permissions",
|
|
15619
|
+
"settings",
|
|
15620
|
+
"statusline",
|
|
15621
|
+
"terminal-setup",
|
|
15622
|
+
"theme",
|
|
15623
|
+
"vim",
|
|
15624
|
+
// Trust and approval policy
|
|
15625
|
+
"always-approve",
|
|
15626
|
+
"auto-mode-setup",
|
|
15627
|
+
// Native login
|
|
15628
|
+
"login",
|
|
15629
|
+
"logout",
|
|
15630
|
+
// Work outliving the Turn
|
|
15631
|
+
"autopilot",
|
|
15632
|
+
"background",
|
|
15633
|
+
"bg",
|
|
15634
|
+
"goal",
|
|
15635
|
+
"jobs",
|
|
15636
|
+
"loop",
|
|
15637
|
+
"multitask",
|
|
15638
|
+
"queue",
|
|
15639
|
+
"remote-control",
|
|
15640
|
+
"schedule",
|
|
15641
|
+
"steer",
|
|
15642
|
+
// Native terminal UI
|
|
15643
|
+
"copy",
|
|
15644
|
+
"debug",
|
|
15645
|
+
"feedback",
|
|
15646
|
+
"heapdump",
|
|
15647
|
+
"share",
|
|
15648
|
+
"shell",
|
|
15649
|
+
// Plugin and MCP management
|
|
15650
|
+
"marketplace",
|
|
15651
|
+
"mcp",
|
|
15652
|
+
"plugins",
|
|
15653
|
+
"reload-plugins"
|
|
15654
|
+
]);
|
|
15655
|
+
var COMMON_EXCLUDED_LIVE_COMMAND_PREFIXES = ["__", "hooks-"];
|
|
15656
|
+
function isExcludedLiveCommand(name, kind, extra = {}) {
|
|
15657
|
+
const normalized = name.trim().replace(/^\//u, "");
|
|
15658
|
+
if (new Set(extra.names ?? []).has(normalized))
|
|
15659
|
+
return true;
|
|
15660
|
+
if (extra.prefixes?.some((prefix) => normalized.startsWith(prefix)))
|
|
15661
|
+
return true;
|
|
15662
|
+
if (kind === "skill")
|
|
15663
|
+
return false;
|
|
15664
|
+
return COMMON_EXCLUDED_LIVE_COMMANDS.has(normalized) || COMMON_EXCLUDED_LIVE_COMMAND_PREFIXES.some((prefix) => normalized.startsWith(prefix));
|
|
15665
|
+
}
|
|
15666
|
+
|
|
15667
|
+
// dist/hermes-commands.js
|
|
15668
|
+
function hermesCommandCatalog(commands) {
|
|
15669
|
+
const seen = /* @__PURE__ */ new Set();
|
|
15670
|
+
const descriptors = commands.flatMap((command) => {
|
|
15671
|
+
if (isExcludedLiveCommand(command.name, "command"))
|
|
15672
|
+
return [];
|
|
15673
|
+
const parsed2 = harnessCommandDescriptorSchema.safeParse({
|
|
15674
|
+
id: `hermes.${command.name}`,
|
|
15675
|
+
invocation: `/${command.name}`,
|
|
15676
|
+
label: `/${command.name}`,
|
|
15677
|
+
description: command.description.slice(0, 512) || `Hermes /${command.name}`,
|
|
15678
|
+
argumentMode: command.input ? "text" : "none"
|
|
15679
|
+
});
|
|
15680
|
+
if (!parsed2.success || seen.has(parsed2.data.id))
|
|
15681
|
+
return [];
|
|
15682
|
+
seen.add(parsed2.data.id);
|
|
15683
|
+
return [parsed2.data];
|
|
15684
|
+
});
|
|
15685
|
+
return harnessCommandCatalogSchema.parse({ commands: descriptors });
|
|
15686
|
+
}
|
|
15687
|
+
var HERMES_GATEWAY_COMMANDS = [
|
|
15688
|
+
...["help", "tools", "context", "version"].map((name) => ({
|
|
15689
|
+
name,
|
|
15690
|
+
description: `Hermes /${name}`
|
|
15691
|
+
})),
|
|
15692
|
+
{
|
|
15693
|
+
name: "compress",
|
|
15694
|
+
description: "Compress conversation context",
|
|
15695
|
+
input: { hint: "Optional compression focus" }
|
|
15696
|
+
}
|
|
15697
|
+
];
|
|
15698
|
+
var HERMES_COMMAND_CATALOG = hermesCommandCatalog(HERMES_GATEWAY_COMMANDS);
|
|
15699
|
+
function hermesCommandText(command, catalog) {
|
|
15700
|
+
const descriptor = catalog.commands.find((entry) => entry.id === command.commandId);
|
|
15701
|
+
if (!descriptor)
|
|
15702
|
+
return {
|
|
15703
|
+
ok: false,
|
|
15704
|
+
error: {
|
|
15705
|
+
code: "unsupported",
|
|
15706
|
+
message: "Hermes did not advertise this command",
|
|
15707
|
+
retryable: false
|
|
15708
|
+
}
|
|
15709
|
+
};
|
|
15710
|
+
const args = command.arguments ?? {};
|
|
15711
|
+
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()) {
|
|
15712
|
+
return {
|
|
15713
|
+
ok: false,
|
|
15714
|
+
error: {
|
|
15715
|
+
code: "invalidRequest",
|
|
15716
|
+
message: "Invalid Hermes command arguments",
|
|
15717
|
+
retryable: false
|
|
15718
|
+
}
|
|
15719
|
+
};
|
|
15720
|
+
}
|
|
15721
|
+
return {
|
|
15722
|
+
ok: true,
|
|
15723
|
+
value: `${descriptor.invocation}${typeof args.text === "string" && args.text.trim() ? ` ${args.text.trim()}` : ""}`
|
|
15724
|
+
};
|
|
15725
|
+
}
|
|
15726
|
+
|
|
15727
|
+
// dist/hermes-adapter.js
|
|
15728
|
+
import { createHash } from "node:crypto";
|
|
15729
|
+
|
|
15730
|
+
// dist/acp-transport.js
|
|
15731
|
+
import { spawn, spawnSync } from "node:child_process";
|
|
15732
|
+
import { Readable, Writable } from "node:stream";
|
|
15733
|
+
|
|
15636
15734
|
// ../../../node_modules/@agentclientprotocol/sdk/dist/schema/index.js
|
|
15637
15735
|
var AGENT_METHODS = {
|
|
15638
15736
|
initialize: "initialize",
|
|
@@ -23555,6 +23653,7 @@ var IMPORT_TIMEOUT_MS = 2e4;
|
|
|
23555
23653
|
var HERMES_THREAD_ID_ENV = "CODEXHOST_THREAD_ID";
|
|
23556
23654
|
var HermesAdapter = class {
|
|
23557
23655
|
commandCatalog = HERMES_COMMAND_CATALOG;
|
|
23656
|
+
liveCommandCatalog = true;
|
|
23558
23657
|
harnessId = hermesHarnessId;
|
|
23559
23658
|
sessionImport = {
|
|
23560
23659
|
listCandidates: () => this.#listImportCandidates(),
|