@codexhost/cli-darwin-x64 0.9.1-test.2 → 0.9.2

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.
@@ -14523,6 +14523,61 @@ function date4(params) {
14523
14523
  // ../../../node_modules/zod/v4/classic/external.js
14524
14524
  config(en_default());
14525
14525
 
14526
+ // ../../shared-contracts/dist/credential-imports.js
14527
+ var credentialSourceSchema = external_exports.object({
14528
+ id: external_exports.string().min(1).max(256),
14529
+ harnessId: external_exports.string().min(1),
14530
+ label: external_exports.string().min(1).max(512),
14531
+ provider: external_exports.enum(["openai-codex", "xai"])
14532
+ }).strict();
14533
+ var credentialImportNameSchema = external_exports.string().regex(/^[a-z][a-z0-9-]{0,47}$/);
14534
+ var credentialImportRecordSchema = external_exports.object({
14535
+ name: credentialImportNameSchema,
14536
+ source: credentialSourceSchema,
14537
+ importedAt: external_exports.string()
14538
+ }).strict();
14539
+ var credentialImportsRequestSchema = external_exports.discriminatedUnion("action", [
14540
+ external_exports.object({ action: external_exports.literal("list") }).strict(),
14541
+ external_exports.object({
14542
+ action: external_exports.literal("import"),
14543
+ sourceId: external_exports.string().min(1).max(256),
14544
+ name: credentialImportNameSchema,
14545
+ confirmed: external_exports.literal(true)
14546
+ }).strict(),
14547
+ external_exports.object({
14548
+ action: external_exports.literal("reimport"),
14549
+ sourceId: external_exports.string().min(1).max(256),
14550
+ name: credentialImportNameSchema,
14551
+ confirmed: external_exports.literal(true)
14552
+ }).strict(),
14553
+ external_exports.object({
14554
+ action: external_exports.literal("remove"),
14555
+ name: credentialImportNameSchema,
14556
+ confirmed: external_exports.literal(true)
14557
+ }).strict()
14558
+ ]);
14559
+ var credentialOtherLoginSchema = external_exports.object({
14560
+ provider: external_exports.string().min(1).max(128),
14561
+ type: external_exports.enum(["oauth", "api_key", "unknown"]),
14562
+ /** Best-effort account label (e.g. the email in a Codex token), derived locally when present. */
14563
+ label: external_exports.string().min(1).max(512).optional(),
14564
+ /** Recognized credential vendor, derived from the OAuth token issuer. Absent when unknown. */
14565
+ vendor: external_exports.enum(["openai-codex", "xai"]).optional()
14566
+ }).strict();
14567
+ var credentialImportsResultSchema = external_exports.object({
14568
+ sources: external_exports.array(credentialSourceSchema),
14569
+ targets: external_exports.array(external_exports.object({
14570
+ harnessId: external_exports.string(),
14571
+ providers: external_exports.array(external_exports.enum(["openai-codex", "xai"])),
14572
+ imports: external_exports.array(credentialImportRecordSchema),
14573
+ others: external_exports.array(credentialOtherLoginSchema).default([])
14574
+ }).strict())
14575
+ }).strict();
14576
+ var credentialImportsParamsSchema = external_exports.object({
14577
+ targetHarnessId: external_exports.string().min(1).max(128).optional(),
14578
+ request: credentialImportsRequestSchema
14579
+ }).strict();
14580
+
14526
14581
  // ../../shared-contracts/dist/version.js
14527
14582
  var WORKSPACE_CONTRACT_VERSION = 1;
14528
14583
 
@@ -15051,6 +15106,8 @@ var pluginPresentationShape = {
15051
15106
  id: harnessPluginIdSchema,
15052
15107
  name: external_exports.string().trim().min(1).max(128),
15053
15108
  version: external_exports.string().min(1).max(128),
15109
+ /** The factory accepts a persisted local entrypoint through its construction context. */
15110
+ launchCommand: external_exports.literal(true).optional(),
15054
15111
  links: external_exports.object({
15055
15112
  documentation: documentationUrlSchema.optional(),
15056
15113
  installation: documentationUrlSchema.optional()
@@ -15088,6 +15145,19 @@ var harnessPluginRouteSchema = external_exports.object({
15088
15145
  permissionModeId: harnessPermissionModeIdSchema.optional()
15089
15146
  }).strict();
15090
15147
 
15148
+ // ../../shared-contracts/dist/harness-launch-settings.js
15149
+ var harnessLaunchPathSchema = external_exports.string().trim().min(1).max(4096).refine((value) => !/[\u0000\r\n]/u.test(value), "Invalid entrypoint path");
15150
+ var harnessLaunchSettingsGetSchema = external_exports.object({
15151
+ harnessId: harnessPluginIdSchema
15152
+ }).strict();
15153
+ var harnessLaunchSettingsSetSchema = harnessLaunchSettingsGetSchema.extend({
15154
+ path: harnessLaunchPathSchema.nullable()
15155
+ });
15156
+ var harnessLaunchSettingsSchema = external_exports.object({
15157
+ path: harnessLaunchPathSchema.nullable(),
15158
+ restartRequired: external_exports.boolean()
15159
+ }).strict();
15160
+
15091
15161
  // ../../shared-contracts/dist/codex-accounts.js
15092
15162
  var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
15093
15163
  var nonBlankTextSchema3 = external_exports.string().trim().min(1);
@@ -15043,6 +15043,61 @@ function date4(params) {
15043
15043
  // ../../../node_modules/zod/v4/classic/external.js
15044
15044
  config(en_default());
15045
15045
 
15046
+ // ../../shared-contracts/dist/credential-imports.js
15047
+ var credentialSourceSchema = external_exports.object({
15048
+ id: external_exports.string().min(1).max(256),
15049
+ harnessId: external_exports.string().min(1),
15050
+ label: external_exports.string().min(1).max(512),
15051
+ provider: external_exports.enum(["openai-codex", "xai"])
15052
+ }).strict();
15053
+ var credentialImportNameSchema = external_exports.string().regex(/^[a-z][a-z0-9-]{0,47}$/);
15054
+ var credentialImportRecordSchema = external_exports.object({
15055
+ name: credentialImportNameSchema,
15056
+ source: credentialSourceSchema,
15057
+ importedAt: external_exports.string()
15058
+ }).strict();
15059
+ var credentialImportsRequestSchema = external_exports.discriminatedUnion("action", [
15060
+ external_exports.object({ action: external_exports.literal("list") }).strict(),
15061
+ external_exports.object({
15062
+ action: external_exports.literal("import"),
15063
+ sourceId: external_exports.string().min(1).max(256),
15064
+ name: credentialImportNameSchema,
15065
+ confirmed: external_exports.literal(true)
15066
+ }).strict(),
15067
+ external_exports.object({
15068
+ action: external_exports.literal("reimport"),
15069
+ sourceId: external_exports.string().min(1).max(256),
15070
+ name: credentialImportNameSchema,
15071
+ confirmed: external_exports.literal(true)
15072
+ }).strict(),
15073
+ external_exports.object({
15074
+ action: external_exports.literal("remove"),
15075
+ name: credentialImportNameSchema,
15076
+ confirmed: external_exports.literal(true)
15077
+ }).strict()
15078
+ ]);
15079
+ var credentialOtherLoginSchema = external_exports.object({
15080
+ provider: external_exports.string().min(1).max(128),
15081
+ type: external_exports.enum(["oauth", "api_key", "unknown"]),
15082
+ /** Best-effort account label (e.g. the email in a Codex token), derived locally when present. */
15083
+ label: external_exports.string().min(1).max(512).optional(),
15084
+ /** Recognized credential vendor, derived from the OAuth token issuer. Absent when unknown. */
15085
+ vendor: external_exports.enum(["openai-codex", "xai"]).optional()
15086
+ }).strict();
15087
+ var credentialImportsResultSchema = external_exports.object({
15088
+ sources: external_exports.array(credentialSourceSchema),
15089
+ targets: external_exports.array(external_exports.object({
15090
+ harnessId: external_exports.string(),
15091
+ providers: external_exports.array(external_exports.enum(["openai-codex", "xai"])),
15092
+ imports: external_exports.array(credentialImportRecordSchema),
15093
+ others: external_exports.array(credentialOtherLoginSchema).default([])
15094
+ }).strict())
15095
+ }).strict();
15096
+ var credentialImportsParamsSchema = external_exports.object({
15097
+ targetHarnessId: external_exports.string().min(1).max(128).optional(),
15098
+ request: credentialImportsRequestSchema
15099
+ }).strict();
15100
+
15046
15101
  // ../../shared-contracts/dist/version.js
15047
15102
  var WORKSPACE_CONTRACT_VERSION = 1;
15048
15103
 
@@ -15571,6 +15626,8 @@ var pluginPresentationShape = {
15571
15626
  id: harnessPluginIdSchema,
15572
15627
  name: external_exports.string().trim().min(1).max(128),
15573
15628
  version: external_exports.string().min(1).max(128),
15629
+ /** The factory accepts a persisted local entrypoint through its construction context. */
15630
+ launchCommand: external_exports.literal(true).optional(),
15574
15631
  links: external_exports.object({
15575
15632
  documentation: documentationUrlSchema.optional(),
15576
15633
  installation: documentationUrlSchema.optional()
@@ -15608,6 +15665,19 @@ var harnessPluginRouteSchema = external_exports.object({
15608
15665
  permissionModeId: harnessPermissionModeIdSchema.optional()
15609
15666
  }).strict();
15610
15667
 
15668
+ // ../../shared-contracts/dist/harness-launch-settings.js
15669
+ var harnessLaunchPathSchema = external_exports.string().trim().min(1).max(4096).refine((value) => !/[\u0000\r\n]/u.test(value), "Invalid entrypoint path");
15670
+ var harnessLaunchSettingsGetSchema = external_exports.object({
15671
+ harnessId: harnessPluginIdSchema
15672
+ }).strict();
15673
+ var harnessLaunchSettingsSetSchema = harnessLaunchSettingsGetSchema.extend({
15674
+ path: harnessLaunchPathSchema.nullable()
15675
+ });
15676
+ var harnessLaunchSettingsSchema = external_exports.object({
15677
+ path: harnessLaunchPathSchema.nullable(),
15678
+ restartRequired: external_exports.boolean()
15679
+ }).strict();
15680
+
15611
15681
  // ../../shared-contracts/dist/codex-accounts.js
15612
15682
  var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
15613
15683
  var nonBlankTextSchema3 = external_exports.string().trim().min(1);
@@ -16584,7 +16654,7 @@ function withNodeRuntimeOnPath(environment, runtimeExecutable = process.execPath
16584
16654
  const directories = (environment[pathKey] ?? "").split(delimiter).filter(Boolean);
16585
16655
  const equal = platform === "win32" ? (value) => value.toLowerCase() : (value) => value;
16586
16656
  if (!directories.some((directory) => equal(directory) === equal(runtimeDirectory))) {
16587
- directories.unshift(runtimeDirectory);
16657
+ directories.push(runtimeDirectory);
16588
16658
  }
16589
16659
  return { ...environment, [pathKey]: directories.join(delimiter) };
16590
16660
  }
@@ -17209,7 +17279,8 @@ function ompRpcProcessCommand(options, dependencies = {}) {
17209
17279
  const permissionArguments = options.permissionMode ? ["--approval-mode", options.permissionMode] : [];
17210
17280
  const arguments_ = [
17211
17281
  "--mode",
17212
- "rpc",
17282
+ // OMP only creates ask and connects its tool UI in rpc-ui mode.
17283
+ "rpc-ui",
17213
17284
  ...permissionArguments,
17214
17285
  ...modelArguments,
17215
17286
  ...sessionArguments
@@ -17557,7 +17628,12 @@ var OmpRpcSession = class {
17557
17628
  if ("confirmed" in response && pending.request.method !== "confirm") {
17558
17629
  throw new Error("Omp RPC confirmation does not match the request");
17559
17630
  }
17560
- const frame = "cancelled" in response ? { type: "extension_ui_response", id: response.requestId, cancelled: true } : "confirmed" in response ? { type: "extension_ui_response", id: response.requestId, confirmed: response.confirmed } : { type: "extension_ui_response", id: response.requestId, value: response.value };
17631
+ const frame = "cancelled" in response ? {
17632
+ type: "extension_ui_response",
17633
+ id: response.requestId,
17634
+ cancelled: true,
17635
+ ...reason === "expired" ? { timedOut: true } : {}
17636
+ } : "confirmed" in response ? { type: "extension_ui_response", id: response.requestId, confirmed: response.confirmed } : { type: "extension_ui_response", id: response.requestId, value: response.value };
17561
17637
  if (!active.interactions.delete(response.requestId)) {
17562
17638
  throw new Error("Omp RPC interaction is not pending");
17563
17639
  }
@@ -17867,11 +17943,19 @@ var OmpRpcSession = class {
17867
17943
  if (!Array.isArray(value.options) || value.options.length === 0 || !value.options.every((option) => typeof option === "string" && option.length > 0)) {
17868
17944
  throw new OmpRpcFaultError("protocolError", "Omp RPC select request has invalid options");
17869
17945
  }
17946
+ let optionDetails;
17947
+ if (value.optionDetails !== void 0) {
17948
+ if (!Array.isArray(value.optionDetails) || value.optionDetails.length !== value.options.length || !value.optionDetails.every((detail) => typeof detail === "object" && detail !== null && !Array.isArray(detail) && (detail.description === void 0 || typeof detail.description === "string"))) {
17949
+ throw new OmpRpcFaultError("protocolError", "Omp RPC select option details are invalid");
17950
+ }
17951
+ optionDetails = value.optionDetails.map(({ description }) => description === void 0 ? {} : { description });
17952
+ }
17870
17953
  request = {
17871
17954
  requestId,
17872
17955
  method,
17873
17956
  title,
17874
17957
  options: [...value.options],
17958
+ ...optionDetails ? { optionDetails } : {},
17875
17959
  ...typeof timeoutMs === "number" ? { timeoutMs } : {}
17876
17960
  };
17877
17961
  } else if (method === "confirm") {
@@ -17966,8 +18050,13 @@ var OmpRpcSession = class {
17966
18050
  }
17967
18051
  #updateTool(active, value) {
17968
18052
  const callId = value.toolCallId;
17969
- const outputResult = jsonValueSchema.safeParse(value.partialResult);
17970
- if (typeof callId !== "string" || !active.tools.has(callId) || !outputResult.success) {
18053
+ if (typeof callId !== "string" || callId.length === 0) {
18054
+ throw new OmpRpcFaultError("protocolError", "Omp RPC returned an invalid Tool update");
18055
+ }
18056
+ if (!active.tools.has(callId))
18057
+ return;
18058
+ const outputResult = jsonValueSchema.safeParse(value.partialResult ?? null);
18059
+ if (!outputResult.success) {
17971
18060
  throw new OmpRpcFaultError("protocolError", "Omp RPC returned an invalid Tool update");
17972
18061
  }
17973
18062
  active.onEvent({ type: "tool.updated", callId, output: outputResult.data });
@@ -17975,9 +18064,14 @@ var OmpRpcSession = class {
17975
18064
  #completeTool(active, value) {
17976
18065
  const callId = value.toolCallId;
17977
18066
  const toolName = value.toolName;
18067
+ if (typeof callId !== "string" || callId.length === 0) {
18068
+ throw new OmpRpcFaultError("protocolError", "Omp RPC returned an invalid Tool end");
18069
+ }
18070
+ const expectedName = active.tools.get(callId);
18071
+ if (expectedName === void 0)
18072
+ return;
17978
18073
  const result = jsonValueSchema.safeParse(value.result);
17979
- const expectedName = typeof callId === "string" ? active.tools.get(callId) : void 0;
17980
- if (typeof callId !== "string" || typeof toolName !== "string" || expectedName !== toolName || value.isError !== void 0 && typeof value.isError !== "boolean" || !result.success) {
18074
+ if (typeof toolName !== "string" || expectedName !== toolName || value.isError !== void 0 && typeof value.isError !== "boolean" || !result.success) {
17981
18075
  throw new OmpRpcFaultError("protocolError", "Omp RPC returned an invalid Tool end");
17982
18076
  }
17983
18077
  active.tools.delete(callId);
@@ -19662,7 +19756,11 @@ var OmpHarnessSession = class {
19662
19756
  id: "answer",
19663
19757
  type: "choice",
19664
19758
  prompt: request.title,
19665
- options: request.options.map((option) => ({ value: option, label: option })),
19759
+ options: request.options.map((option, index) => ({
19760
+ value: option,
19761
+ label: option,
19762
+ ...request.optionDetails?.[index]?.description ? { description: request.optionDetails[index].description } : {}
19763
+ })),
19666
19764
  multiple: false,
19667
19765
  allowOther: false,
19668
19766
  optional: false
@@ -14524,6 +14524,61 @@ function date4(params) {
14524
14524
  // ../../../node_modules/zod/v4/classic/external.js
14525
14525
  config(en_default());
14526
14526
 
14527
+ // ../../shared-contracts/dist/credential-imports.js
14528
+ var credentialSourceSchema = external_exports.object({
14529
+ id: external_exports.string().min(1).max(256),
14530
+ harnessId: external_exports.string().min(1),
14531
+ label: external_exports.string().min(1).max(512),
14532
+ provider: external_exports.enum(["openai-codex", "xai"])
14533
+ }).strict();
14534
+ var credentialImportNameSchema = external_exports.string().regex(/^[a-z][a-z0-9-]{0,47}$/);
14535
+ var credentialImportRecordSchema = external_exports.object({
14536
+ name: credentialImportNameSchema,
14537
+ source: credentialSourceSchema,
14538
+ importedAt: external_exports.string()
14539
+ }).strict();
14540
+ var credentialImportsRequestSchema = external_exports.discriminatedUnion("action", [
14541
+ external_exports.object({ action: external_exports.literal("list") }).strict(),
14542
+ external_exports.object({
14543
+ action: external_exports.literal("import"),
14544
+ sourceId: external_exports.string().min(1).max(256),
14545
+ name: credentialImportNameSchema,
14546
+ confirmed: external_exports.literal(true)
14547
+ }).strict(),
14548
+ external_exports.object({
14549
+ action: external_exports.literal("reimport"),
14550
+ sourceId: external_exports.string().min(1).max(256),
14551
+ name: credentialImportNameSchema,
14552
+ confirmed: external_exports.literal(true)
14553
+ }).strict(),
14554
+ external_exports.object({
14555
+ action: external_exports.literal("remove"),
14556
+ name: credentialImportNameSchema,
14557
+ confirmed: external_exports.literal(true)
14558
+ }).strict()
14559
+ ]);
14560
+ var credentialOtherLoginSchema = external_exports.object({
14561
+ provider: external_exports.string().min(1).max(128),
14562
+ type: external_exports.enum(["oauth", "api_key", "unknown"]),
14563
+ /** Best-effort account label (e.g. the email in a Codex token), derived locally when present. */
14564
+ label: external_exports.string().min(1).max(512).optional(),
14565
+ /** Recognized credential vendor, derived from the OAuth token issuer. Absent when unknown. */
14566
+ vendor: external_exports.enum(["openai-codex", "xai"]).optional()
14567
+ }).strict();
14568
+ var credentialImportsResultSchema = external_exports.object({
14569
+ sources: external_exports.array(credentialSourceSchema),
14570
+ targets: external_exports.array(external_exports.object({
14571
+ harnessId: external_exports.string(),
14572
+ providers: external_exports.array(external_exports.enum(["openai-codex", "xai"])),
14573
+ imports: external_exports.array(credentialImportRecordSchema),
14574
+ others: external_exports.array(credentialOtherLoginSchema).default([])
14575
+ }).strict())
14576
+ }).strict();
14577
+ var credentialImportsParamsSchema = external_exports.object({
14578
+ targetHarnessId: external_exports.string().min(1).max(128).optional(),
14579
+ request: credentialImportsRequestSchema
14580
+ }).strict();
14581
+
14527
14582
  // ../../shared-contracts/dist/version.js
14528
14583
  var WORKSPACE_CONTRACT_VERSION = 1;
14529
14584
 
@@ -15052,6 +15107,8 @@ var pluginPresentationShape = {
15052
15107
  id: harnessPluginIdSchema,
15053
15108
  name: external_exports.string().trim().min(1).max(128),
15054
15109
  version: external_exports.string().min(1).max(128),
15110
+ /** The factory accepts a persisted local entrypoint through its construction context. */
15111
+ launchCommand: external_exports.literal(true).optional(),
15055
15112
  links: external_exports.object({
15056
15113
  documentation: documentationUrlSchema.optional(),
15057
15114
  installation: documentationUrlSchema.optional()
@@ -15089,6 +15146,19 @@ var harnessPluginRouteSchema = external_exports.object({
15089
15146
  permissionModeId: harnessPermissionModeIdSchema.optional()
15090
15147
  }).strict();
15091
15148
 
15149
+ // ../../shared-contracts/dist/harness-launch-settings.js
15150
+ var harnessLaunchPathSchema = external_exports.string().trim().min(1).max(4096).refine((value) => !/[\u0000\r\n]/u.test(value), "Invalid entrypoint path");
15151
+ var harnessLaunchSettingsGetSchema = external_exports.object({
15152
+ harnessId: harnessPluginIdSchema
15153
+ }).strict();
15154
+ var harnessLaunchSettingsSetSchema = harnessLaunchSettingsGetSchema.extend({
15155
+ path: harnessLaunchPathSchema.nullable()
15156
+ });
15157
+ var harnessLaunchSettingsSchema = external_exports.object({
15158
+ path: harnessLaunchPathSchema.nullable(),
15159
+ restartRequired: external_exports.boolean()
15160
+ }).strict();
15161
+
15092
15162
  // ../../shared-contracts/dist/codex-accounts.js
15093
15163
  var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
15094
15164
  var nonBlankTextSchema3 = external_exports.string().trim().min(1);