@codexhost/cli-darwin-x64 0.9.2 → 0.10.1
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 +1050 -673
- 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 +622 -109
- 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 +407 -156
- package/app/plugins/opencode/plugin.mjs +18 -3
- package/app/plugins/pi/plugin.mjs +215 -5
- 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 +1445 -497
- 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
|
@@ -27966,10 +27966,21 @@ var harnessCommandDescriptorSchema = external_exports.object({
|
|
|
27966
27966
|
invocation: commandInvocationSchema,
|
|
27967
27967
|
label: commandLabelSchema,
|
|
27968
27968
|
description: commandDescriptionSchema.optional(),
|
|
27969
|
-
argumentMode: external_exports.enum(["none", "text"])
|
|
27969
|
+
argumentMode: external_exports.enum(["none", "text"]),
|
|
27970
|
+
/**
|
|
27971
|
+
* Native distinction reported by the Harness. Omitted when the Harness does
|
|
27972
|
+
* not tell skills and commands apart; consumers treat that as "command".
|
|
27973
|
+
*/
|
|
27974
|
+
kind: external_exports.enum(["command", "skill"]).optional()
|
|
27970
27975
|
}).strict();
|
|
27971
27976
|
var harnessCommandCatalogSchema = external_exports.object({
|
|
27972
|
-
commands: external_exports.array(harnessCommandDescriptorSchema)
|
|
27977
|
+
commands: external_exports.array(harnessCommandDescriptorSchema),
|
|
27978
|
+
/**
|
|
27979
|
+
* `live` when the catalog includes what a native Session reports for its
|
|
27980
|
+
* workspace (custom commands, skills); `static` for Adapter built-ins only.
|
|
27981
|
+
* Omitted by Adapters; set by the Host on inspection results.
|
|
27982
|
+
*/
|
|
27983
|
+
source: external_exports.enum(["live", "static"]).optional()
|
|
27973
27984
|
}).strict().superRefine((catalog, context) => {
|
|
27974
27985
|
const ids = /* @__PURE__ */ new Set();
|
|
27975
27986
|
for (const [index, command] of catalog.commands.entries()) {
|
|
@@ -27983,7 +27994,11 @@ var harnessCommandCatalogSchema = external_exports.object({
|
|
|
27983
27994
|
ids.add(command.id);
|
|
27984
27995
|
}
|
|
27985
27996
|
});
|
|
27986
|
-
var harnessCommandsInspectParamsSchema = external_exports.object({
|
|
27997
|
+
var harnessCommandsInspectParamsSchema = external_exports.object({
|
|
27998
|
+
harnessId: harnessIdSchema,
|
|
27999
|
+
/** Workspace of a draft without a Thread, for its live catalog when known. */
|
|
28000
|
+
cwd: external_exports.string().min(1).optional()
|
|
28001
|
+
}).strict();
|
|
27987
28002
|
var threadCommandsInspectParamsSchema = external_exports.object({
|
|
27988
28003
|
threadId: hostThreadIdSchema
|
|
27989
28004
|
}).strict();
|
|
@@ -28130,56 +28145,6 @@ var updateStatusResultSchema = external_exports.strictObject({
|
|
|
28130
28145
|
// ../../shared-contracts/dist/index.js
|
|
28131
28146
|
var workspaceContractVersionSchema = external_exports.literal(WORKSPACE_CONTRACT_VERSION);
|
|
28132
28147
|
|
|
28133
|
-
// dist/slash-commands.js
|
|
28134
|
-
function cursorCommands(native) {
|
|
28135
|
-
const commands = /* @__PURE__ */ new Map();
|
|
28136
|
-
for (const command of native) {
|
|
28137
|
-
const result = harnessCommandDescriptorSchema.safeParse({
|
|
28138
|
-
id: `cursor.${command.name}`,
|
|
28139
|
-
invocation: `/${command.name}`,
|
|
28140
|
-
label: `/${command.name}`,
|
|
28141
|
-
...command.description.trim() ? { description: command.description.slice(0, 512) } : {},
|
|
28142
|
-
// Cursor 2026.09.10 omits input metadata for both its administrative command
|
|
28143
|
-
// and custom commands/skills, whose parser still accepts trailing text.
|
|
28144
|
-
// Honor an explicit native no-input declaration without disabling those skills.
|
|
28145
|
-
argumentMode: command.input === null || command.name === "copy-request-id" ? "none" : "text"
|
|
28146
|
-
});
|
|
28147
|
-
if (result.success)
|
|
28148
|
-
commands.set(result.data.id, result.data);
|
|
28149
|
-
}
|
|
28150
|
-
return { commands: [...commands.values()] };
|
|
28151
|
-
}
|
|
28152
|
-
var CURSOR_COMMAND_CATALOG = cursorCommands([
|
|
28153
|
-
{ name: "copy-request-id", description: "Copy the current request ID", input: null }
|
|
28154
|
-
]);
|
|
28155
|
-
function cursorCommandPrompt(command, catalog) {
|
|
28156
|
-
const descriptor = catalog.commands.find(({ id }) => id === command.commandId);
|
|
28157
|
-
if (!descriptor)
|
|
28158
|
-
return {
|
|
28159
|
-
ok: false,
|
|
28160
|
-
error: {
|
|
28161
|
-
code: "unsupported",
|
|
28162
|
-
message: "Cursor did not advertise this command",
|
|
28163
|
-
retryable: false
|
|
28164
|
-
}
|
|
28165
|
-
};
|
|
28166
|
-
const args = command.arguments;
|
|
28167
|
-
if (args && (Object.keys(args).some((key) => key !== "text") || args.text !== void 0 && typeof args.text !== "string" || descriptor.argumentMode === "none" && Object.keys(args).length))
|
|
28168
|
-
return {
|
|
28169
|
-
ok: false,
|
|
28170
|
-
error: {
|
|
28171
|
-
code: "invalidRequest",
|
|
28172
|
-
message: "Invalid Cursor command arguments",
|
|
28173
|
-
retryable: false
|
|
28174
|
-
}
|
|
28175
|
-
};
|
|
28176
|
-
const text2 = typeof args?.text === "string" ? args.text.trim() : "";
|
|
28177
|
-
return { ok: true, value: `${descriptor.invocation}${text2 ? ` ${text2}` : ""}` };
|
|
28178
|
-
}
|
|
28179
|
-
|
|
28180
|
-
// dist/adapter.js
|
|
28181
|
-
import path7 from "node:path";
|
|
28182
|
-
|
|
28183
28148
|
// ../../harness-adapter/dist/approval.js
|
|
28184
28149
|
function invalidRequest(message) {
|
|
28185
28150
|
return { code: "invalidRequest", message, retryable: false };
|
|
@@ -28389,6 +28354,135 @@ function parseHostUsage(value) {
|
|
|
28389
28354
|
return { ...value };
|
|
28390
28355
|
}
|
|
28391
28356
|
|
|
28357
|
+
// ../../harness-adapter/dist/live-command-catalog.js
|
|
28358
|
+
var COMMON_EXCLUDED_LIVE_COMMANDS = /* @__PURE__ */ new Set([
|
|
28359
|
+
// Session lifecycle
|
|
28360
|
+
"branch",
|
|
28361
|
+
"clear",
|
|
28362
|
+
"exit",
|
|
28363
|
+
"fork",
|
|
28364
|
+
"fresh",
|
|
28365
|
+
"new",
|
|
28366
|
+
"quit",
|
|
28367
|
+
"rename",
|
|
28368
|
+
"rename-chat",
|
|
28369
|
+
"reset",
|
|
28370
|
+
"resume",
|
|
28371
|
+
"rewind",
|
|
28372
|
+
"session",
|
|
28373
|
+
"sessions",
|
|
28374
|
+
// Desktop-owned configuration
|
|
28375
|
+
"autocompact",
|
|
28376
|
+
"color",
|
|
28377
|
+
"config",
|
|
28378
|
+
"effort",
|
|
28379
|
+
"fast",
|
|
28380
|
+
"keybindings",
|
|
28381
|
+
"model",
|
|
28382
|
+
"models",
|
|
28383
|
+
"output-style",
|
|
28384
|
+
"permissions",
|
|
28385
|
+
"settings",
|
|
28386
|
+
"statusline",
|
|
28387
|
+
"terminal-setup",
|
|
28388
|
+
"theme",
|
|
28389
|
+
"vim",
|
|
28390
|
+
// Trust and approval policy
|
|
28391
|
+
"always-approve",
|
|
28392
|
+
"auto-mode-setup",
|
|
28393
|
+
// Native login
|
|
28394
|
+
"login",
|
|
28395
|
+
"logout",
|
|
28396
|
+
// Work outliving the Turn
|
|
28397
|
+
"autopilot",
|
|
28398
|
+
"background",
|
|
28399
|
+
"bg",
|
|
28400
|
+
"goal",
|
|
28401
|
+
"jobs",
|
|
28402
|
+
"loop",
|
|
28403
|
+
"multitask",
|
|
28404
|
+
"queue",
|
|
28405
|
+
"remote-control",
|
|
28406
|
+
"schedule",
|
|
28407
|
+
"steer",
|
|
28408
|
+
// Native terminal UI
|
|
28409
|
+
"copy",
|
|
28410
|
+
"debug",
|
|
28411
|
+
"feedback",
|
|
28412
|
+
"heapdump",
|
|
28413
|
+
"share",
|
|
28414
|
+
"shell",
|
|
28415
|
+
// Plugin and MCP management
|
|
28416
|
+
"marketplace",
|
|
28417
|
+
"mcp",
|
|
28418
|
+
"plugins",
|
|
28419
|
+
"reload-plugins"
|
|
28420
|
+
]);
|
|
28421
|
+
var COMMON_EXCLUDED_LIVE_COMMAND_PREFIXES = ["__", "hooks-"];
|
|
28422
|
+
function isExcludedLiveCommand(name, kind, extra = {}) {
|
|
28423
|
+
const normalized = name.trim().replace(/^\//u, "");
|
|
28424
|
+
if (new Set(extra.names ?? []).has(normalized))
|
|
28425
|
+
return true;
|
|
28426
|
+
if (extra.prefixes?.some((prefix) => normalized.startsWith(prefix)))
|
|
28427
|
+
return true;
|
|
28428
|
+
if (kind === "skill")
|
|
28429
|
+
return false;
|
|
28430
|
+
return COMMON_EXCLUDED_LIVE_COMMANDS.has(normalized) || COMMON_EXCLUDED_LIVE_COMMAND_PREFIXES.some((prefix) => normalized.startsWith(prefix));
|
|
28431
|
+
}
|
|
28432
|
+
|
|
28433
|
+
// dist/slash-commands.js
|
|
28434
|
+
var CURSOR_EXCLUSIONS = { names: ["update-cli-config"] };
|
|
28435
|
+
function cursorCommands(native) {
|
|
28436
|
+
const commands = /* @__PURE__ */ new Map();
|
|
28437
|
+
for (const command of native) {
|
|
28438
|
+
if (isExcludedLiveCommand(command.name, "command", CURSOR_EXCLUSIONS))
|
|
28439
|
+
continue;
|
|
28440
|
+
const result = harnessCommandDescriptorSchema.safeParse({
|
|
28441
|
+
id: `cursor.${command.name}`,
|
|
28442
|
+
invocation: `/${command.name}`,
|
|
28443
|
+
label: `/${command.name}`,
|
|
28444
|
+
...command.description.trim() ? { description: command.description.slice(0, 512) } : {},
|
|
28445
|
+
// Cursor 2026.09.10 omits input metadata for both its administrative command
|
|
28446
|
+
// and custom commands/skills, whose parser still accepts trailing text.
|
|
28447
|
+
// Honor an explicit native no-input declaration without disabling those skills.
|
|
28448
|
+
argumentMode: command.input === null || command.name === "copy-request-id" ? "none" : "text"
|
|
28449
|
+
});
|
|
28450
|
+
if (result.success)
|
|
28451
|
+
commands.set(result.data.id, result.data);
|
|
28452
|
+
}
|
|
28453
|
+
return { commands: [...commands.values()] };
|
|
28454
|
+
}
|
|
28455
|
+
var CURSOR_COMMAND_CATALOG = cursorCommands([
|
|
28456
|
+
{ name: "copy-request-id", description: "Copy the current request ID", input: null }
|
|
28457
|
+
]);
|
|
28458
|
+
function cursorCommandPrompt(command, catalog) {
|
|
28459
|
+
const descriptor = catalog.commands.find(({ id }) => id === command.commandId);
|
|
28460
|
+
if (!descriptor)
|
|
28461
|
+
return {
|
|
28462
|
+
ok: false,
|
|
28463
|
+
error: {
|
|
28464
|
+
code: "unsupported",
|
|
28465
|
+
message: "Cursor did not advertise this command",
|
|
28466
|
+
retryable: false
|
|
28467
|
+
}
|
|
28468
|
+
};
|
|
28469
|
+
const args = command.arguments;
|
|
28470
|
+
if (args && (Object.keys(args).some((key) => key !== "text") || args.text !== void 0 && typeof args.text !== "string" || descriptor.argumentMode === "none" && Object.keys(args).length))
|
|
28471
|
+
return {
|
|
28472
|
+
ok: false,
|
|
28473
|
+
error: {
|
|
28474
|
+
code: "invalidRequest",
|
|
28475
|
+
message: "Invalid Cursor command arguments",
|
|
28476
|
+
retryable: false
|
|
28477
|
+
}
|
|
28478
|
+
};
|
|
28479
|
+
const text2 = typeof args?.text === "string" ? args.text.trim() : "";
|
|
28480
|
+
return { ok: true, value: `${descriptor.invocation}${text2 ? ` ${text2}` : ""}` };
|
|
28481
|
+
}
|
|
28482
|
+
|
|
28483
|
+
// dist/adapter.js
|
|
28484
|
+
import path7 from "node:path";
|
|
28485
|
+
|
|
28392
28486
|
// dist/thinking.js
|
|
28393
28487
|
var choices = (option) => option.type === "select" ? option.options.flatMap((entry) => "value" in entry ? [entry] : entry.options) : [];
|
|
28394
28488
|
function cursorThinking(options) {
|
|
@@ -46128,6 +46222,7 @@ function rejected(code, message) {
|
|
|
46128
46222
|
var CursorAdapter = class {
|
|
46129
46223
|
options;
|
|
46130
46224
|
commandCatalog = CURSOR_COMMAND_CATALOG;
|
|
46225
|
+
liveCommandCatalog = true;
|
|
46131
46226
|
subagents = {
|
|
46132
46227
|
readSnapshot: async ({ parent, nativeSubagentId, cwd }) => {
|
|
46133
46228
|
if (parent.harnessId !== this.harnessId || this.#closed)
|
|
@@ -47473,6 +47568,7 @@ var BrokeredHarnessSession = class {
|
|
|
47473
47568
|
var BrokeredHarnessAdapter = class {
|
|
47474
47569
|
#sessions = /* @__PURE__ */ new Set();
|
|
47475
47570
|
commandCatalog;
|
|
47571
|
+
liveCommandCatalog;
|
|
47476
47572
|
harnessId;
|
|
47477
47573
|
#descriptorPath;
|
|
47478
47574
|
#forwardEnvironment;
|
|
@@ -47495,6 +47591,8 @@ var BrokeredHarnessAdapter = class {
|
|
|
47495
47591
|
this.#forwardEnvironment = input.forwardDelegationEnvironment === true;
|
|
47496
47592
|
if (input.commandCatalog)
|
|
47497
47593
|
this.commandCatalog = input.commandCatalog;
|
|
47594
|
+
if (input.liveCommandCatalog)
|
|
47595
|
+
this.liveCommandCatalog = true;
|
|
47498
47596
|
this.#descriptorPath = input.descriptorPath ?? defaultHarnessBrokerDescriptorPath(input.environment, this.harnessId);
|
|
47499
47597
|
}
|
|
47500
47598
|
async inspectAccount() {
|
|
@@ -47589,6 +47687,7 @@ function createHarnessAdapter(context) {
|
|
|
47589
47687
|
harnessId: "cursor-cli",
|
|
47590
47688
|
forwardDelegationEnvironment: true,
|
|
47591
47689
|
commandCatalog: CURSOR_COMMAND_CATALOG,
|
|
47690
|
+
liveCommandCatalog: true,
|
|
47592
47691
|
environment: { ...context.environment }
|
|
47593
47692
|
});
|
|
47594
47693
|
return new CursorAdapter({ environment: { ...context.environment } });
|