@codexhost/cli-darwin-x64 0.9.1 → 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 +304 -197
- package/app/host-runtime.mjs +1163 -666
- package/app/plugins/antigravity/plugin.mjs +73 -3
- package/app/plugins/claude-code/plugin.mjs +446 -48
- package/app/plugins/codebuddy/plugin.mjs +159 -6
- package/app/plugins/cursor-cli/plugin.mjs +207 -53
- package/app/plugins/deepseek-harness/plugin.mjs +89 -21
- package/app/plugins/enabled.json +2 -1
- package/app/plugins/grok/plugin.mjs +449 -160
- package/app/plugins/hermes/plugin.mjs +217 -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 +312 -65
- package/app/plugins/omp/plugin.mjs +313 -67
- package/app/plugins/opencode/plugin.mjs +73 -3
- package/app/plugins/pi/plugin.mjs +3029 -1671
- package/app/plugins/qoder/plugin.mjs +334 -187
- package/app/plugins/qoder-cn/plugin.mjs +334 -187
- package/app/plugins/workbuddy/plugin.mjs +158 -6
- package/app/renderer-extension.js +5580 -3301
- 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
|
@@ -14519,6 +14519,61 @@ function date4(params) {
|
|
|
14519
14519
|
// ../../../node_modules/zod/v4/classic/external.js
|
|
14520
14520
|
config(en_default());
|
|
14521
14521
|
|
|
14522
|
+
// ../../shared-contracts/dist/credential-imports.js
|
|
14523
|
+
var credentialSourceSchema = external_exports.object({
|
|
14524
|
+
id: external_exports.string().min(1).max(256),
|
|
14525
|
+
harnessId: external_exports.string().min(1),
|
|
14526
|
+
label: external_exports.string().min(1).max(512),
|
|
14527
|
+
provider: external_exports.enum(["openai-codex", "xai"])
|
|
14528
|
+
}).strict();
|
|
14529
|
+
var credentialImportNameSchema = external_exports.string().regex(/^[a-z][a-z0-9-]{0,47}$/);
|
|
14530
|
+
var credentialImportRecordSchema = external_exports.object({
|
|
14531
|
+
name: credentialImportNameSchema,
|
|
14532
|
+
source: credentialSourceSchema,
|
|
14533
|
+
importedAt: external_exports.string()
|
|
14534
|
+
}).strict();
|
|
14535
|
+
var credentialImportsRequestSchema = external_exports.discriminatedUnion("action", [
|
|
14536
|
+
external_exports.object({ action: external_exports.literal("list") }).strict(),
|
|
14537
|
+
external_exports.object({
|
|
14538
|
+
action: external_exports.literal("import"),
|
|
14539
|
+
sourceId: external_exports.string().min(1).max(256),
|
|
14540
|
+
name: credentialImportNameSchema,
|
|
14541
|
+
confirmed: external_exports.literal(true)
|
|
14542
|
+
}).strict(),
|
|
14543
|
+
external_exports.object({
|
|
14544
|
+
action: external_exports.literal("reimport"),
|
|
14545
|
+
sourceId: external_exports.string().min(1).max(256),
|
|
14546
|
+
name: credentialImportNameSchema,
|
|
14547
|
+
confirmed: external_exports.literal(true)
|
|
14548
|
+
}).strict(),
|
|
14549
|
+
external_exports.object({
|
|
14550
|
+
action: external_exports.literal("remove"),
|
|
14551
|
+
name: credentialImportNameSchema,
|
|
14552
|
+
confirmed: external_exports.literal(true)
|
|
14553
|
+
}).strict()
|
|
14554
|
+
]);
|
|
14555
|
+
var credentialOtherLoginSchema = external_exports.object({
|
|
14556
|
+
provider: external_exports.string().min(1).max(128),
|
|
14557
|
+
type: external_exports.enum(["oauth", "api_key", "unknown"]),
|
|
14558
|
+
/** Best-effort account label (e.g. the email in a Codex token), derived locally when present. */
|
|
14559
|
+
label: external_exports.string().min(1).max(512).optional(),
|
|
14560
|
+
/** Recognized credential vendor, derived from the OAuth token issuer. Absent when unknown. */
|
|
14561
|
+
vendor: external_exports.enum(["openai-codex", "xai"]).optional()
|
|
14562
|
+
}).strict();
|
|
14563
|
+
var credentialImportsResultSchema = external_exports.object({
|
|
14564
|
+
sources: external_exports.array(credentialSourceSchema),
|
|
14565
|
+
targets: external_exports.array(external_exports.object({
|
|
14566
|
+
harnessId: external_exports.string(),
|
|
14567
|
+
providers: external_exports.array(external_exports.enum(["openai-codex", "xai"])),
|
|
14568
|
+
imports: external_exports.array(credentialImportRecordSchema),
|
|
14569
|
+
others: external_exports.array(credentialOtherLoginSchema).default([])
|
|
14570
|
+
}).strict())
|
|
14571
|
+
}).strict();
|
|
14572
|
+
var credentialImportsParamsSchema = external_exports.object({
|
|
14573
|
+
targetHarnessId: external_exports.string().min(1).max(128).optional(),
|
|
14574
|
+
request: credentialImportsRequestSchema
|
|
14575
|
+
}).strict();
|
|
14576
|
+
|
|
14522
14577
|
// ../../shared-contracts/dist/version.js
|
|
14523
14578
|
var WORKSPACE_CONTRACT_VERSION = 1;
|
|
14524
14579
|
|
|
@@ -15222,10 +15277,21 @@ var harnessCommandDescriptorSchema = external_exports.object({
|
|
|
15222
15277
|
invocation: commandInvocationSchema,
|
|
15223
15278
|
label: commandLabelSchema,
|
|
15224
15279
|
description: commandDescriptionSchema.optional(),
|
|
15225
|
-
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()
|
|
15226
15286
|
}).strict();
|
|
15227
15287
|
var harnessCommandCatalogSchema = external_exports.object({
|
|
15228
|
-
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()
|
|
15229
15295
|
}).strict().superRefine((catalog, context) => {
|
|
15230
15296
|
const ids = /* @__PURE__ */ new Set();
|
|
15231
15297
|
for (const [index, command] of catalog.commands.entries()) {
|
|
@@ -15239,7 +15305,11 @@ var harnessCommandCatalogSchema = external_exports.object({
|
|
|
15239
15305
|
ids.add(command.id);
|
|
15240
15306
|
}
|
|
15241
15307
|
});
|
|
15242
|
-
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();
|
|
15243
15313
|
var threadCommandsInspectParamsSchema = external_exports.object({
|
|
15244
15314
|
threadId: hostThreadIdSchema
|
|
15245
15315
|
}).strict();
|
|
@@ -15386,66 +15456,6 @@ var updateStatusResultSchema = external_exports.strictObject({
|
|
|
15386
15456
|
// ../../shared-contracts/dist/index.js
|
|
15387
15457
|
var workspaceContractVersionSchema = external_exports.literal(WORKSPACE_CONTRACT_VERSION);
|
|
15388
15458
|
|
|
15389
|
-
// dist/hermes-commands.js
|
|
15390
|
-
var SUPPORTED_COMMANDS = /* @__PURE__ */ new Set(["help", "tools", "context", "compress", "version"]);
|
|
15391
|
-
function hermesCommandCatalog(commands) {
|
|
15392
|
-
return harnessCommandCatalogSchema.parse({
|
|
15393
|
-
commands: commands.filter((command) => SUPPORTED_COMMANDS.has(command.name)).map((command) => ({
|
|
15394
|
-
id: `hermes.${command.name}`,
|
|
15395
|
-
invocation: `/${command.name}`,
|
|
15396
|
-
label: `/${command.name}`,
|
|
15397
|
-
description: command.description.slice(0, 512) || `Hermes /${command.name}`,
|
|
15398
|
-
argumentMode: command.input ? "text" : "none"
|
|
15399
|
-
}))
|
|
15400
|
-
});
|
|
15401
|
-
}
|
|
15402
|
-
var HERMES_GATEWAY_COMMANDS = [
|
|
15403
|
-
...["help", "tools", "context", "version"].map((name) => ({
|
|
15404
|
-
name,
|
|
15405
|
-
description: `Hermes /${name}`
|
|
15406
|
-
})),
|
|
15407
|
-
{
|
|
15408
|
-
name: "compress",
|
|
15409
|
-
description: "Compress conversation context",
|
|
15410
|
-
input: { hint: "Optional compression focus" }
|
|
15411
|
-
}
|
|
15412
|
-
];
|
|
15413
|
-
var HERMES_COMMAND_CATALOG = hermesCommandCatalog(HERMES_GATEWAY_COMMANDS);
|
|
15414
|
-
function hermesCommandText(command, catalog) {
|
|
15415
|
-
const descriptor = catalog.commands.find((entry) => entry.id === command.commandId);
|
|
15416
|
-
if (!descriptor)
|
|
15417
|
-
return {
|
|
15418
|
-
ok: false,
|
|
15419
|
-
error: {
|
|
15420
|
-
code: "unsupported",
|
|
15421
|
-
message: "Hermes did not advertise this command",
|
|
15422
|
-
retryable: false
|
|
15423
|
-
}
|
|
15424
|
-
};
|
|
15425
|
-
const args = command.arguments ?? {};
|
|
15426
|
-
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()) {
|
|
15427
|
-
return {
|
|
15428
|
-
ok: false,
|
|
15429
|
-
error: {
|
|
15430
|
-
code: "invalidRequest",
|
|
15431
|
-
message: "Invalid Hermes command arguments",
|
|
15432
|
-
retryable: false
|
|
15433
|
-
}
|
|
15434
|
-
};
|
|
15435
|
-
}
|
|
15436
|
-
return {
|
|
15437
|
-
ok: true,
|
|
15438
|
-
value: `${descriptor.invocation}${typeof args.text === "string" && args.text.trim() ? ` ${args.text.trim()}` : ""}`
|
|
15439
|
-
};
|
|
15440
|
-
}
|
|
15441
|
-
|
|
15442
|
-
// dist/hermes-adapter.js
|
|
15443
|
-
import { createHash } from "node:crypto";
|
|
15444
|
-
|
|
15445
|
-
// dist/acp-transport.js
|
|
15446
|
-
import { spawn, spawnSync } from "node:child_process";
|
|
15447
|
-
import { Readable, Writable } from "node:stream";
|
|
15448
|
-
|
|
15449
15459
|
// ../../harness-adapter/dist/approval.js
|
|
15450
15460
|
function invalidRequest(message) {
|
|
15451
15461
|
return { code: "invalidRequest", message, retryable: false };
|
|
@@ -15578,6 +15588,149 @@ var usageFields = /* @__PURE__ */ new Set([
|
|
|
15578
15588
|
"contextUsagePercent"
|
|
15579
15589
|
]);
|
|
15580
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
|
+
|
|
15581
15734
|
// ../../../node_modules/@agentclientprotocol/sdk/dist/schema/index.js
|
|
15582
15735
|
var AGENT_METHODS = {
|
|
15583
15736
|
initialize: "initialize",
|
|
@@ -23500,6 +23653,7 @@ var IMPORT_TIMEOUT_MS = 2e4;
|
|
|
23500
23653
|
var HERMES_THREAD_ID_ENV = "CODEXHOST_THREAD_ID";
|
|
23501
23654
|
var HermesAdapter = class {
|
|
23502
23655
|
commandCatalog = HERMES_COMMAND_CATALOG;
|
|
23656
|
+
liveCommandCatalog = true;
|
|
23503
23657
|
harnessId = hermesHarnessId;
|
|
23504
23658
|
sessionImport = {
|
|
23505
23659
|
listCandidates: () => this.#listImportCandidates(),
|