@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.
@@ -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({ harnessId: harnessIdSchema }).strict();
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(),
@@ -0,0 +1,11 @@
1
+ {
2
+ "manifestVersion": 1,
3
+ "id": "kimi-code",
4
+ "name": "Kimi Code",
5
+ "version": "0.1.0",
6
+ "links": {
7
+ "documentation": "https://moonshotai.github.io/kimi-code/en/reference/kimi-acp.html"
8
+ },
9
+ "adapterApiVersion": 1,
10
+ "entry": "plugin.mjs"
11
+ }