@codexhost/cli-darwin-arm64 0.18.0-beta.1 → 0.18.0-beta.4
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/app/codexhost-distribution.json +1 -1
- package/app/console-server.mjs +109 -94
- package/app/console-web.js +110 -95
- package/app/desktop-controller.mjs +109 -110
- package/app/host-runtime.mjs +14225 -10527
- package/app/plugins/antigravity/plugin.mjs +109 -94
- package/app/plugins/claude-code/plugin.mjs +229 -148
- package/app/plugins/codebuddy/plugin.mjs +109 -94
- package/app/plugins/codex-usage/plugin.mjs +109 -94
- package/app/plugins/copilot/plugin.mjs +109 -94
- package/app/plugins/cursor-cli/plugin.mjs +109 -94
- package/app/plugins/deepseek-harness/plugin.mjs +109 -94
- package/app/plugins/devin/plugin.mjs +109 -94
- package/app/plugins/enabled.json +0 -1
- package/app/plugins/grok/plugin.mjs +109 -94
- package/app/plugins/hermes/plugin.mjs +109 -94
- package/app/plugins/kimi-code/plugin.mjs +109 -94
- package/app/plugins/kiro-cli/plugin.mjs +109 -94
- package/app/plugins/omp/plugin.mjs +109 -94
- package/app/plugins/opencode/plugin.mjs +109 -94
- package/app/plugins/pi/plugin.mjs +109 -94
- package/app/plugins/qoder/plugin.mjs +109 -94
- package/app/plugins/qoder-cn/plugin.mjs +109 -94
- package/app/plugins/qwen-code/plugin.mjs +109 -94
- package/app/plugins/workbuddy/plugin.mjs +109 -94
- package/app/plugins/zcode/plugin.mjs +109 -94
- package/app/renderer-extension.js +128 -150
- package/app/web/assets/index-C3lniEH1.css +1 -0
- package/app/web/assets/index-D1dOzBMI.js +199 -0
- package/app/web/codexhost-settings.js +110 -95
- package/app/web/index.html +2 -2
- package/app/web/plugins/deepseek-ai__dsh-api-gateway/client.js +1 -1
- package/app/web/plugins/deepseek-ai__dsh-api-remotes/client.js +64 -64
- package/app/web/plugins/deepseek-ai__dsh-api-session-controller/client.js +69 -69
- package/app/web/plugins/deepseek-ai__dsh-client-connection/client.js +1 -1
- package/app/web/plugins/deepseek-ai__dsh-client-ui-chat/client.js +2 -2
- package/app/web/plugins/deepseek-ai__dsh-client-ui-codexhost/client.js +57 -56
- package/app/web/plugins/deepseek-ai__dsh-client-ui-conversation/client.js +87 -87
- package/app/web/plugins/deepseek-ai__dsh-client-ui-directory-picker-browse/client.js +10 -10
- package/app/web/plugins/deepseek-ai__dsh-client-ui-input-trigger/client.js +1 -1
- package/app/web/plugins/deepseek-ai__dsh-client-ui-layout/client.js +3 -3
- package/app/web/plugins/deepseek-ai__dsh-client-ui-model-selection/client.js +2 -2
- package/app/web/plugins/deepseek-ai__dsh-client-ui-permission-presets/client.js +1 -1
- package/app/web/plugins/deepseek-ai__dsh-client-ui-settings/client.js +1 -1
- package/app/web/plugins/deepseek-ai__dsh-client-ui-settings-general/client.js +2 -2
- package/app/web/plugins/deepseek-ai__dsh-client-ui-sidebar/client.js +2 -2
- package/app/web/plugins/deepseek-ai__dsh-client-ui-sidebar-right/client.js +55 -55
- package/app/web/plugins/deepseek-ai__dsh-client-ui-tool/client.js +18 -18
- package/app/web/plugins/deepseek-ai__dsh-client-ui-workspace/client.js +8 -12
- package/app/web/plugins.json +4 -0
- package/app/web/sw.js +55 -24
- package/app/web-modules/server.mjs +1415 -784
- package/bin/codexhost +0 -0
- package/libexec/codexhost-shim +0 -0
- package/libexec/codexhost-updater +0 -0
- package/package.json +1 -1
- package/app/plugins/codex-cli/manifest.json +0 -16
- package/app/plugins/codex-cli/plugin.mjs +0 -20374
- package/app/web/assets/index-CIeTchMu.css +0 -1
- package/app/web/assets/index-DeAPBQbV.js +0 -199
- /package/app/{plugins/codex-cli/assets/icon.png → web/codex.png} +0 -0
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ Run Pi and Claude Code as first-class external harnesses inside Codex Desktop.
|
|
|
7
7
|
## Install
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
npm install -g @codexhost/cli@0.18.0-beta.
|
|
10
|
+
npm install -g @codexhost/cli@0.18.0-beta.4
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
Do not install this package directly. npm selects it through the optional dependencies of `@codexhost/cli`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"schemaVersion":1,"version":"0.18.0-beta.
|
|
1
|
+
{"schemaVersion":1,"version":"0.18.0-beta.4","distribution":"npm","target":"macos-arm64"}
|
package/app/console-server.mjs
CHANGED
|
@@ -15580,7 +15580,7 @@ var HARNESS_PERMISSION_MODE_CATALOG_MAX_LENGTH = 32;
|
|
|
15580
15580
|
var nonBlankTextSchema = external_exports.string().refine((value) => value.trim().length > 0, {
|
|
15581
15581
|
message: "Value must not be empty or whitespace"
|
|
15582
15582
|
});
|
|
15583
|
-
var harnessPermissionModeIdSchema = nonBlankTextSchema.max(HARNESS_PERMISSION_MODE_ID_MAX_LENGTH).regex(/^[A-Za-z0-9._
|
|
15583
|
+
var harnessPermissionModeIdSchema = nonBlankTextSchema.max(HARNESS_PERMISSION_MODE_ID_MAX_LENGTH).regex(/^[A-Za-z0-9._~:-]+$/u, "Permission Mode ID must use transport-safe characters").brand();
|
|
15584
15584
|
var harnessPermissionModeSchema = external_exports.object({
|
|
15585
15585
|
id: harnessPermissionModeIdSchema,
|
|
15586
15586
|
label: nonBlankTextSchema.max(HARNESS_PERMISSION_MODE_LABEL_MAX_LENGTH),
|
|
@@ -15964,7 +15964,12 @@ var threadInspectionParamsSchema = external_exports.object({
|
|
|
15964
15964
|
}).strict();
|
|
15965
15965
|
var codexThreadInspectionSchema = external_exports.object({
|
|
15966
15966
|
owner: external_exports.literal("codex"),
|
|
15967
|
-
locked: external_exports.
|
|
15967
|
+
locked: external_exports.boolean(),
|
|
15968
|
+
effectiveModel: harnessModelRefSchema.optional(),
|
|
15969
|
+
resolvedModelLabel: harnessResolvedModelLabelSchema.optional(),
|
|
15970
|
+
effectiveThinkingOptionId: harnessThinkingOptionIdSchema.optional(),
|
|
15971
|
+
effectivePermissionModeId: harnessPermissionModeIdSchema.optional(),
|
|
15972
|
+
history: harnessHistoryCapabilitiesSchema.optional(),
|
|
15968
15973
|
supportsThreadReferences: external_exports.literal(true).optional()
|
|
15969
15974
|
}).strict();
|
|
15970
15975
|
var externalThreadInspectionSchema = external_exports.object({
|
|
@@ -16186,7 +16191,8 @@ var clientThreadSnapshotSchema = external_exports.object({
|
|
|
16186
16191
|
thread: external_exports.object({
|
|
16187
16192
|
id: external_exports.string().min(1),
|
|
16188
16193
|
cwd: external_exports.string(),
|
|
16189
|
-
|
|
16194
|
+
/** External rows use codexhost; native Codex rows retain their official provider. */
|
|
16195
|
+
modelProvider: external_exports.string().min(1),
|
|
16190
16196
|
createdAt: external_exports.number(),
|
|
16191
16197
|
updatedAt: external_exports.number(),
|
|
16192
16198
|
status: external_exports.object({ type: external_exports.string() }).passthrough(),
|
|
@@ -16200,6 +16206,11 @@ var clientThreadSnapshotSchema = external_exports.object({
|
|
|
16200
16206
|
nextCursor: external_exports.string().nullable()
|
|
16201
16207
|
}),
|
|
16202
16208
|
configuration: external_exports.object({
|
|
16209
|
+
/** Native Codex model names are not external Harness transport refs. */
|
|
16210
|
+
native: external_exports.object({
|
|
16211
|
+
model: external_exports.string().min(1).max(1024).optional(),
|
|
16212
|
+
reasoningEffort: external_exports.string().min(1).max(128).optional()
|
|
16213
|
+
}).optional(),
|
|
16203
16214
|
effectiveModel: harnessModelRefSchema.optional(),
|
|
16204
16215
|
effectiveThinkingOptionId: harnessThinkingOptionIdSchema.optional(),
|
|
16205
16216
|
effectivePermissionModeId: harnessPermissionModeIdSchema.optional()
|
|
@@ -16226,6 +16237,21 @@ var clientChannelResponseSchema = external_exports.object({
|
|
|
16226
16237
|
result: record3
|
|
16227
16238
|
});
|
|
16228
16239
|
|
|
16240
|
+
// packages/shared-contracts/dist/thread-catalog.js
|
|
16241
|
+
var threadCatalogReadParamsSchema = external_exports.object({
|
|
16242
|
+
includeArchived: external_exports.boolean().optional(),
|
|
16243
|
+
/** Absent means first page; null means this branch is exhausted. Native cursors only. */
|
|
16244
|
+
officialCursor: external_exports.object({ live: external_exports.string().nullable(), archived: external_exports.string().nullable().optional() }).strict().optional()
|
|
16245
|
+
}).strict();
|
|
16246
|
+
var threadCatalogReadResultSchema = external_exports.object({
|
|
16247
|
+
threads: external_exports.array(jsonObjectSchema),
|
|
16248
|
+
ownership: external_exports.array(threadOwnershipSchema),
|
|
16249
|
+
/** Known archived IDs, including visible local external records even when their rows are
|
|
16250
|
+
* excluded. Native archived IDs describe only the returned page, never a complete set. */
|
|
16251
|
+
archivedThreadIds: external_exports.array(hostThreadIdSchema),
|
|
16252
|
+
officialCursor: external_exports.object({ live: external_exports.string().nullable(), archived: external_exports.string().nullable().optional() }).strict().optional()
|
|
16253
|
+
}).strict();
|
|
16254
|
+
|
|
16229
16255
|
// packages/shared-contracts/dist/voice.js
|
|
16230
16256
|
var VOICE_AUDIO_MAX_BYTES = 10 * 1024 * 1024;
|
|
16231
16257
|
var voiceAudioMimeTypeSchema = external_exports.string().regex(/^audio\/[a-z0-9.+-]+(?:\s*;[^\r\n]*)?$/i);
|
|
@@ -16438,96 +16464,19 @@ var idleReleaseSettingsSchema = external_exports.strictObject({
|
|
|
16438
16464
|
});
|
|
16439
16465
|
var DEFAULT_IDLE_RELEASE_SETTINGS = Object.freeze({
|
|
16440
16466
|
enabled: false,
|
|
16441
|
-
timeoutMinutes:
|
|
16442
|
-
});
|
|
16443
|
-
|
|
16444
|
-
// packages/shared-contracts/dist/harness-plugins.js
|
|
16445
|
-
var HARNESS_PLUGIN_MANIFEST_MAX_BYTES = 32 * 1024;
|
|
16446
|
-
var HARNESS_PLUGIN_ICON_MAX_BYTES = 128 * 1024;
|
|
16447
|
-
var HARNESS_PLUGIN_LIMIT = 128;
|
|
16448
|
-
var HARNESS_PLUGIN_SURFACES = ["desktop", "web"];
|
|
16449
|
-
var harnessPluginSurfaceSchema = external_exports.enum(HARNESS_PLUGIN_SURFACES);
|
|
16450
|
-
var installedHarnessPluginIdSchema = external_exports.string().min(1).max(128).regex(/^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/u).pipe(harnessIdSchema);
|
|
16451
|
-
var harnessPluginIdSchema = installedHarnessPluginIdSchema.refine((id) => id !== "codex", "The official Codex identity is reserved");
|
|
16452
|
-
var relativeResourceSchema = external_exports.string().min(1).max(512).refine((value) => !/[\\\u0000:#?]/u.test(value) && !value.startsWith("/") && !value.split("/").some((part) => part === ".." || part === ""), "Plugin resources must be relative paths inside the plugin");
|
|
16453
|
-
var documentationUrlSchema = external_exports.url().refine((value) => /^https:\/\/[^/?#@]+(?:[/?#]|$)/iu.test(value), "Plugin documentation links must be credential-free HTTPS URLs");
|
|
16454
|
-
var localizedTextSchema = external_exports.object({ en: external_exports.string().max(4096), "zh-CN": external_exports.string().max(4096).optional() }).strict();
|
|
16455
|
-
var harnessInstallationGuideSchema = external_exports.object({
|
|
16456
|
-
commands: external_exports.array(external_exports.object({ terminal: external_exports.string().max(256), command: external_exports.string().max(4096) }).strict()).max(8),
|
|
16457
|
-
before: localizedTextSchema.optional(),
|
|
16458
|
-
after: localizedTextSchema.optional(),
|
|
16459
|
-
downloads: external_exports.array(external_exports.object({ label: external_exports.string().max(128), url: documentationUrlSchema }).strict()).max(8).optional()
|
|
16460
|
-
}).strict();
|
|
16461
|
-
var pluginPresentationShape = {
|
|
16462
|
-
id: installedHarnessPluginIdSchema,
|
|
16463
|
-
name: external_exports.string().trim().min(1).max(128),
|
|
16464
|
-
version: external_exports.string().min(1).max(128),
|
|
16465
|
-
/** Capability-only plugin; omitted for existing session-capable plugins. */
|
|
16466
|
-
kind: external_exports.literal("usage").optional(),
|
|
16467
|
-
/** Original image styling or bounded vector paths; never arbitrary CSS/SVG markup. */
|
|
16468
|
-
iconStyle: external_exports.object({
|
|
16469
|
-
vector: external_exports.object({
|
|
16470
|
-
viewBox: external_exports.string().max(128).regex(/^-?\d+(?:\.\d+)?(?: +-?\d+(?:\.\d+)?){3}$/u),
|
|
16471
|
-
color: external_exports.string().regex(/^(?:currentColor|#[a-f0-9]{6})$/iu),
|
|
16472
|
-
paths: external_exports.array(external_exports.object({
|
|
16473
|
-
d: external_exports.string().min(1).max(32768).regex(/^[MmLlHhVvCcSsQqTtAaZz\d.,+eE\s-]+$/u),
|
|
16474
|
-
fillRule: external_exports.enum(["evenodd", "nonzero"]).optional(),
|
|
16475
|
-
fill: external_exports.string().regex(/^(?:currentColor|#[a-f0-9]{6})$/iu).optional()
|
|
16476
|
-
}).strict()).min(1).max(32)
|
|
16477
|
-
}).strict().optional(),
|
|
16478
|
-
background: external_exports.string().regex(/^#[a-f0-9]{6}$/iu).optional(),
|
|
16479
|
-
borderRadius: external_exports.number().min(0).max(50).optional(),
|
|
16480
|
-
paddingRatio: external_exports.number().min(0).max(0.25).optional()
|
|
16481
|
-
}).strict().optional(),
|
|
16482
|
-
installation: harnessInstallationGuideSchema.optional(),
|
|
16483
|
-
notice: localizedTextSchema.optional(),
|
|
16484
|
-
/** The factory accepts a persisted local entrypoint through its construction context. */
|
|
16485
|
-
launchCommand: external_exports.literal(true).optional(),
|
|
16486
|
-
links: external_exports.object({
|
|
16487
|
-
website: documentationUrlSchema.optional(),
|
|
16488
|
-
documentation: documentationUrlSchema.optional(),
|
|
16489
|
-
installation: documentationUrlSchema.optional()
|
|
16490
|
-
}).strict().optional()
|
|
16491
|
-
};
|
|
16492
|
-
var harnessPluginSurfacesSchema = external_exports.array(harnessPluginSurfaceSchema).min(1).max(HARNESS_PLUGIN_SURFACES.length).refine((surfaces) => new Set(surfaces).size === surfaces.length, {
|
|
16493
|
-
message: "Plugin surfaces must be unique"
|
|
16494
|
-
});
|
|
16495
|
-
var harnessPluginManifestSchema = external_exports.object({
|
|
16496
|
-
manifestVersion: external_exports.literal(1),
|
|
16497
|
-
...pluginPresentationShape,
|
|
16498
|
-
adapterApiVersion: external_exports.number().int().positive(),
|
|
16499
|
-
entry: relativeResourceSchema,
|
|
16500
|
-
icon: relativeResourceSchema.optional(),
|
|
16501
|
-
/** Omitted means the plugin appears in every surface; never inferred from its identity. */
|
|
16502
|
-
surfaces: harnessPluginSurfacesSchema.optional()
|
|
16503
|
-
}).strict();
|
|
16504
|
-
var harnessPluginIconSchema = external_exports.string().max(Math.ceil(HARNESS_PLUGIN_ICON_MAX_BYTES / 3) * 4 + 64).regex(/^data:image\/(?:png|jpeg|webp|svg\+xml);base64,[A-Za-z0-9+/]+={0,2}$/u);
|
|
16505
|
-
var harnessPluginDescriptorSchema = external_exports.object({
|
|
16506
|
-
...pluginPresentationShape,
|
|
16507
|
-
icon: harnessPluginIconSchema.optional()
|
|
16508
|
-
}).strict();
|
|
16509
|
-
var harnessPluginListParamsSchema = external_exports.object({}).strict();
|
|
16510
|
-
var harnessPluginListResultSchema = external_exports.object({
|
|
16511
|
-
plugins: external_exports.array(harnessPluginDescriptorSchema.extend({ id: harnessPluginIdSchema })).max(HARNESS_PLUGIN_LIMIT)
|
|
16512
|
-
}).strict();
|
|
16513
|
-
var harnessPluginConfigurationSchema = external_exports.object({
|
|
16514
|
-
version: external_exports.literal(1),
|
|
16515
|
-
enabled: external_exports.array(installedHarnessPluginIdSchema).max(HARNESS_PLUGIN_LIMIT)
|
|
16516
|
-
}).strict().refine((value) => new Set(value.enabled).size === value.enabled.length, {
|
|
16517
|
-
message: "Enabled plugin IDs must be unique",
|
|
16518
|
-
path: ["enabled"]
|
|
16467
|
+
timeoutMinutes: 10
|
|
16519
16468
|
});
|
|
16520
16469
|
|
|
16521
16470
|
// packages/shared-contracts/dist/harness-preferences.js
|
|
16522
16471
|
var harnessPreferenceScopeSchema = external_exports.string().regex(/^external$/u);
|
|
16523
|
-
var preferenceHarnessKey =
|
|
16472
|
+
var preferenceHarnessKey = harnessIdSchema.transform((id) => String(id));
|
|
16524
16473
|
var harnessDefaultConfigurationSchema = external_exports.strictObject({
|
|
16525
16474
|
model: harnessModelRefSchema.optional(),
|
|
16526
16475
|
thinkingOptionId: harnessThinkingOptionIdSchema.optional(),
|
|
16527
16476
|
permissionModeId: harnessPermissionModeIdSchema.optional()
|
|
16528
16477
|
}).refine((value) => Boolean(value.model || value.thinkingOptionId || value.permissionModeId), "A default configuration must contain a preference");
|
|
16529
16478
|
var newThreadDefaultsSchema = external_exports.strictObject({
|
|
16530
|
-
lastHarness:
|
|
16479
|
+
lastHarness: harnessIdSchema.optional(),
|
|
16531
16480
|
byHarness: external_exports.record(preferenceHarnessKey, harnessDefaultConfigurationSchema)
|
|
16532
16481
|
});
|
|
16533
16482
|
var modelId = external_exports.string().min(1).max(1024);
|
|
@@ -16548,19 +16497,19 @@ var harnessPreferenceOperationSchema = external_exports.discriminatedUnion("kind
|
|
|
16548
16497
|
external_exports.strictObject({ kind: external_exports.literal("idleRelease"), value: idleReleaseSettingsSchema }),
|
|
16549
16498
|
external_exports.strictObject({
|
|
16550
16499
|
kind: external_exports.literal("favorite"),
|
|
16551
|
-
harnessId:
|
|
16500
|
+
harnessId: harnessIdSchema,
|
|
16552
16501
|
modelId,
|
|
16553
16502
|
enabled: external_exports.boolean()
|
|
16554
16503
|
}),
|
|
16555
16504
|
external_exports.strictObject({
|
|
16556
16505
|
kind: external_exports.literal("favorites"),
|
|
16557
|
-
harnessId:
|
|
16506
|
+
harnessId: harnessIdSchema,
|
|
16558
16507
|
modelIds: external_exports.array(modelId).max(2048)
|
|
16559
16508
|
}),
|
|
16560
16509
|
external_exports.strictObject({
|
|
16561
16510
|
kind: external_exports.literal("newThread"),
|
|
16562
|
-
lastHarness:
|
|
16563
|
-
harnessId:
|
|
16511
|
+
lastHarness: harnessIdSchema.optional(),
|
|
16512
|
+
harnessId: harnessIdSchema.optional(),
|
|
16564
16513
|
configuration: harnessDefaultConfigurationSchema.optional()
|
|
16565
16514
|
})
|
|
16566
16515
|
]);
|
|
@@ -16576,12 +16525,6 @@ var harnessPreferencePatchSchema = external_exports.strictObject({
|
|
|
16576
16525
|
code: "custom",
|
|
16577
16526
|
message: "A default Harness or complete configuration is required"
|
|
16578
16527
|
});
|
|
16579
|
-
const harnessId = "harnessId" in operation ? operation.harnessId : void 0;
|
|
16580
|
-
if (harnessId === "codex")
|
|
16581
|
-
ctx.addIssue({
|
|
16582
|
-
code: "custom",
|
|
16583
|
-
message: "Official Codex is not an external Harness"
|
|
16584
|
-
});
|
|
16585
16528
|
}
|
|
16586
16529
|
});
|
|
16587
16530
|
var harnessPreferencesDocumentSchema = external_exports.strictObject({
|
|
@@ -16961,6 +16904,76 @@ var harnessAccountListResultSchema = external_exports.object({
|
|
|
16961
16904
|
accounts: external_exports.array(requireReportedQuota(harnessAccountSnapshotObject.extend(harnessAccountIdentityShape))).max(128)
|
|
16962
16905
|
}).strict();
|
|
16963
16906
|
|
|
16907
|
+
// packages/shared-contracts/dist/harness-plugins.js
|
|
16908
|
+
var HARNESS_PLUGIN_MANIFEST_MAX_BYTES = 32 * 1024;
|
|
16909
|
+
var HARNESS_PLUGIN_ICON_MAX_BYTES = 128 * 1024;
|
|
16910
|
+
var HARNESS_PLUGIN_LIMIT = 128;
|
|
16911
|
+
var installedHarnessPluginIdSchema = external_exports.string().min(1).max(128).regex(/^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$/u).pipe(harnessIdSchema);
|
|
16912
|
+
var harnessPluginIdSchema = installedHarnessPluginIdSchema.refine((id) => id !== "codex", "The official Codex identity is reserved");
|
|
16913
|
+
var relativeResourceSchema = external_exports.string().min(1).max(512).refine((value) => !/[\\\u0000:#?]/u.test(value) && !value.startsWith("/") && !value.split("/").some((part) => part === ".." || part === ""), "Plugin resources must be relative paths inside the plugin");
|
|
16914
|
+
var documentationUrlSchema = external_exports.url().refine((value) => /^https:\/\/[^/?#@]+(?:[/?#]|$)/iu.test(value), "Plugin documentation links must be credential-free HTTPS URLs");
|
|
16915
|
+
var localizedTextSchema = external_exports.object({ en: external_exports.string().max(4096), "zh-CN": external_exports.string().max(4096).optional() }).strict();
|
|
16916
|
+
var harnessInstallationGuideSchema = external_exports.object({
|
|
16917
|
+
commands: external_exports.array(external_exports.object({ terminal: external_exports.string().max(256), command: external_exports.string().max(4096) }).strict()).max(8),
|
|
16918
|
+
before: localizedTextSchema.optional(),
|
|
16919
|
+
after: localizedTextSchema.optional(),
|
|
16920
|
+
downloads: external_exports.array(external_exports.object({ label: external_exports.string().max(128), url: documentationUrlSchema }).strict()).max(8).optional()
|
|
16921
|
+
}).strict();
|
|
16922
|
+
var pluginPresentationShape = {
|
|
16923
|
+
id: installedHarnessPluginIdSchema,
|
|
16924
|
+
name: external_exports.string().trim().min(1).max(128),
|
|
16925
|
+
version: external_exports.string().min(1).max(128),
|
|
16926
|
+
/** Capability-only plugin; omitted for existing session-capable plugins. */
|
|
16927
|
+
kind: external_exports.literal("usage").optional(),
|
|
16928
|
+
/** Original image styling or bounded vector paths; never arbitrary CSS/SVG markup. */
|
|
16929
|
+
iconStyle: external_exports.object({
|
|
16930
|
+
vector: external_exports.object({
|
|
16931
|
+
viewBox: external_exports.string().max(128).regex(/^-?\d+(?:\.\d+)?(?: +-?\d+(?:\.\d+)?){3}$/u),
|
|
16932
|
+
color: external_exports.string().regex(/^(?:currentColor|#[a-f0-9]{6})$/iu),
|
|
16933
|
+
paths: external_exports.array(external_exports.object({
|
|
16934
|
+
d: external_exports.string().min(1).max(32768).regex(/^[MmLlHhVvCcSsQqTtAaZz\d.,+eE\s-]+$/u),
|
|
16935
|
+
fillRule: external_exports.enum(["evenodd", "nonzero"]).optional(),
|
|
16936
|
+
fill: external_exports.string().regex(/^(?:currentColor|#[a-f0-9]{6})$/iu).optional()
|
|
16937
|
+
}).strict()).min(1).max(32)
|
|
16938
|
+
}).strict().optional(),
|
|
16939
|
+
background: external_exports.string().regex(/^#[a-f0-9]{6}$/iu).optional(),
|
|
16940
|
+
borderRadius: external_exports.number().min(0).max(50).optional(),
|
|
16941
|
+
paddingRatio: external_exports.number().min(0).max(0.25).optional()
|
|
16942
|
+
}).strict().optional(),
|
|
16943
|
+
installation: harnessInstallationGuideSchema.optional(),
|
|
16944
|
+
notice: localizedTextSchema.optional(),
|
|
16945
|
+
/** The factory accepts a persisted local entrypoint through its construction context. */
|
|
16946
|
+
launchCommand: external_exports.literal(true).optional(),
|
|
16947
|
+
links: external_exports.object({
|
|
16948
|
+
website: documentationUrlSchema.optional(),
|
|
16949
|
+
documentation: documentationUrlSchema.optional(),
|
|
16950
|
+
installation: documentationUrlSchema.optional()
|
|
16951
|
+
}).strict().optional()
|
|
16952
|
+
};
|
|
16953
|
+
var harnessPluginManifestSchema = external_exports.object({
|
|
16954
|
+
manifestVersion: external_exports.literal(1),
|
|
16955
|
+
...pluginPresentationShape,
|
|
16956
|
+
adapterApiVersion: external_exports.number().int().positive(),
|
|
16957
|
+
entry: relativeResourceSchema,
|
|
16958
|
+
icon: relativeResourceSchema.optional()
|
|
16959
|
+
}).strict();
|
|
16960
|
+
var harnessPluginIconSchema = external_exports.string().max(Math.ceil(HARNESS_PLUGIN_ICON_MAX_BYTES / 3) * 4 + 64).regex(/^data:image\/(?:png|jpeg|webp|svg\+xml);base64,[A-Za-z0-9+/]+={0,2}$/u);
|
|
16961
|
+
var harnessPluginDescriptorSchema = external_exports.object({
|
|
16962
|
+
...pluginPresentationShape,
|
|
16963
|
+
icon: harnessPluginIconSchema.optional()
|
|
16964
|
+
}).strict();
|
|
16965
|
+
var harnessPluginListParamsSchema = external_exports.object({}).strict();
|
|
16966
|
+
var harnessPluginListResultSchema = external_exports.object({
|
|
16967
|
+
plugins: external_exports.array(harnessPluginDescriptorSchema.extend({ id: harnessPluginIdSchema })).max(HARNESS_PLUGIN_LIMIT)
|
|
16968
|
+
}).strict();
|
|
16969
|
+
var harnessPluginConfigurationSchema = external_exports.object({
|
|
16970
|
+
version: external_exports.literal(1),
|
|
16971
|
+
enabled: external_exports.array(installedHarnessPluginIdSchema).max(HARNESS_PLUGIN_LIMIT)
|
|
16972
|
+
}).strict().refine((value) => new Set(value.enabled).size === value.enabled.length, {
|
|
16973
|
+
message: "Enabled plugin IDs must be unique",
|
|
16974
|
+
path: ["enabled"]
|
|
16975
|
+
});
|
|
16976
|
+
|
|
16964
16977
|
// packages/shared-contracts/dist/harness-route.js
|
|
16965
16978
|
var harnessPluginRouteSchema = external_exports.object({
|
|
16966
16979
|
harnessId: harnessPluginIdSchema,
|
|
@@ -17164,6 +17177,8 @@ var harnessCommandDescriptorSchema = external_exports.object({
|
|
|
17164
17177
|
}).strict();
|
|
17165
17178
|
var harnessCommandCatalogSchema = external_exports.object({
|
|
17166
17179
|
commands: external_exports.array(harnessCommandDescriptorSchema),
|
|
17180
|
+
/** Partial discovery failures; valid commands remain available. */
|
|
17181
|
+
warnings: external_exports.array(external_exports.string().min(1)).optional(),
|
|
17167
17182
|
/**
|
|
17168
17183
|
* `live` when the catalog includes what a native Session reports for its
|
|
17169
17184
|
* workspace (custom commands, skills); `static` for Adapter built-ins only.
|
|
@@ -17199,7 +17214,7 @@ var threadCommandExecuteParamsSchema = external_exports.object({
|
|
|
17199
17214
|
}).strict();
|
|
17200
17215
|
var threadCommandExecuteResultSchema = external_exports.object({
|
|
17201
17216
|
accepted: external_exports.literal(true),
|
|
17202
|
-
turnId: hostTurnIdSchema
|
|
17217
|
+
turnId: hostTurnIdSchema.optional()
|
|
17203
17218
|
}).strict();
|
|
17204
17219
|
|
|
17205
17220
|
// packages/shared-contracts/dist/json-rpc.js
|