@codexhost/cli-darwin-x64 0.13.3 → 0.15.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/app/codexhost-distribution.json +1 -1
- package/app/console-server.mjs +109 -11
- package/app/console-web.js +649 -132
- package/app/desktop-controller.mjs +120 -12
- package/app/host-runtime.mjs +1124 -293
- package/app/plugins/antigravity/plugin.mjs +431 -66
- package/app/plugins/claude-code/plugin.mjs +761 -139
- package/app/plugins/codebuddy/plugin.mjs +322 -68
- package/app/plugins/codex-usage/plugin.mjs +249 -102
- package/app/plugins/copilot/assets/icon.png +0 -0
- package/app/plugins/copilot/manifest.json +26 -0
- package/app/plugins/copilot/plugin.mjs +34591 -0
- package/app/plugins/cursor-cli/plugin.mjs +21011 -44970
- package/app/plugins/deepseek-harness/plugin.mjs +160 -43
- package/app/plugins/enabled.json +1 -0
- package/app/plugins/grok/plugin.mjs +565 -107
- package/app/plugins/hermes/plugin.mjs +128 -12
- package/app/plugins/kimi-code/plugin.mjs +136 -22
- package/app/plugins/kiro-cli/plugin.mjs +136 -22
- package/app/plugins/omp/plugin.mjs +2236 -2036
- package/app/plugins/opencode/plugin.mjs +187 -68
- package/app/plugins/pi/plugin.mjs +2621 -2304
- package/app/plugins/qoder/plugin.mjs +153 -36
- package/app/plugins/qoder-cn/plugin.mjs +153 -36
- package/app/plugins/workbuddy/plugin.mjs +583 -92
- package/app/plugins/zcode/plugin.mjs +183 -40
- package/app/renderer-extension.js +1758 -392
- package/bin/codexhost +0 -0
- package/libexec/codexhost-shim +0 -0
- package/libexec/codexhost-updater +0 -0
- package/package.json +1 -1
|
@@ -16026,10 +16026,10 @@ var $ZodObject = /* @__PURE__ */ $constructor("$ZodObject", (inst, def) => {
|
|
|
16026
16026
|
const shape = def.shape;
|
|
16027
16027
|
const propValues = {};
|
|
16028
16028
|
for (const key in shape) {
|
|
16029
|
-
const
|
|
16030
|
-
if (
|
|
16029
|
+
const field2 = shape[key]._zod;
|
|
16030
|
+
if (field2.values) {
|
|
16031
16031
|
propValues[key] ?? (propValues[key] = /* @__PURE__ */ new Set());
|
|
16032
|
-
for (const v3 of
|
|
16032
|
+
for (const v3 of field2.values)
|
|
16033
16033
|
propValues[key].add(v3);
|
|
16034
16034
|
}
|
|
16035
16035
|
}
|
|
@@ -27648,10 +27648,19 @@ var model = external_exports.string().min(1).max(512);
|
|
|
27648
27648
|
var project = external_exports.string().min(1).max(4096);
|
|
27649
27649
|
var usageStatisticsParamsSchema = external_exports.strictObject({
|
|
27650
27650
|
range: external_exports.enum(USAGE_STATISTICS_RANGES),
|
|
27651
|
+
/** Display timezone for ranges, dates and hourly buckets; omitted means the Host's local zone. */
|
|
27652
|
+
timeZone: external_exports.string().min(1).max(128).refine((value) => {
|
|
27653
|
+
try {
|
|
27654
|
+
new Intl.DateTimeFormat("en", { timeZone: value });
|
|
27655
|
+
return true;
|
|
27656
|
+
} catch {
|
|
27657
|
+
return false;
|
|
27658
|
+
}
|
|
27659
|
+
}, "Unsupported usage statistics timezone").optional(),
|
|
27651
27660
|
harness: harness.optional(),
|
|
27652
27661
|
model: model.nullable().optional(),
|
|
27653
27662
|
project: project.nullable().optional(),
|
|
27654
|
-
/** One
|
|
27663
|
+
/** One date in the query timezone inside the range. */
|
|
27655
27664
|
date: localDate.optional()
|
|
27656
27665
|
});
|
|
27657
27666
|
var usageStatisticsTotalsSchema = external_exports.strictObject({
|
|
@@ -27687,7 +27696,7 @@ var usageStatisticsSessionSchema = external_exports.strictObject({
|
|
|
27687
27696
|
});
|
|
27688
27697
|
var usageStatisticsResultSchema = external_exports.strictObject({
|
|
27689
27698
|
range: external_exports.enum(USAGE_STATISTICS_RANGES),
|
|
27690
|
-
/** First
|
|
27699
|
+
/** First date in the query timezone (Host local when omitted); null for all time. */
|
|
27691
27700
|
from: localDate.nullable(),
|
|
27692
27701
|
to: localDate,
|
|
27693
27702
|
/** The filters these figures apply, echoed so a late answer to older filters is recognised. */
|
|
@@ -27727,7 +27736,7 @@ var usageStatisticsResultSchema = external_exports.strictObject({
|
|
|
27727
27736
|
totals: usageStatisticsTotalsSchema,
|
|
27728
27737
|
/** Each date and Harness of the range: every filter except the day. */
|
|
27729
27738
|
daily: external_exports.array(external_exports.strictObject({ date: localDate, harness, ...totals })).max(2e5),
|
|
27730
|
-
/**
|
|
27739
|
+
/** Weekday (0 = Sunday) and hour in the query timezone, all filters applied. */
|
|
27731
27740
|
hourly: external_exports.array(external_exports.strictObject({
|
|
27732
27741
|
weekday: external_exports.number().int().min(0).max(6),
|
|
27733
27742
|
hour: external_exports.number().int().min(0).max(23),
|
|
@@ -27767,6 +27776,51 @@ var hostInteractionIdSchema = opaqueIdSchema.brand();
|
|
|
27767
27776
|
var threadPrewarmDiscardParamsSchema = external_exports.object({ threadId: hostThreadIdSchema });
|
|
27768
27777
|
var threadPrewarmDiscardResultSchema = external_exports.object({ discarded: external_exports.boolean() });
|
|
27769
27778
|
|
|
27779
|
+
// ../../shared-contracts/dist/thread-questions.js
|
|
27780
|
+
var field = external_exports.discriminatedUnion("type", [
|
|
27781
|
+
external_exports.object({
|
|
27782
|
+
id: external_exports.string().min(1),
|
|
27783
|
+
type: external_exports.literal("choice"),
|
|
27784
|
+
prompt: external_exports.string(),
|
|
27785
|
+
options: external_exports.array(external_exports.object({
|
|
27786
|
+
value: external_exports.string().min(1),
|
|
27787
|
+
label: external_exports.string(),
|
|
27788
|
+
description: external_exports.string().optional()
|
|
27789
|
+
})).min(1),
|
|
27790
|
+
multiple: external_exports.boolean(),
|
|
27791
|
+
allowOther: external_exports.boolean(),
|
|
27792
|
+
optional: external_exports.boolean()
|
|
27793
|
+
}),
|
|
27794
|
+
external_exports.object({
|
|
27795
|
+
id: external_exports.string().min(1),
|
|
27796
|
+
type: external_exports.literal("text"),
|
|
27797
|
+
prompt: external_exports.string(),
|
|
27798
|
+
multiline: external_exports.boolean(),
|
|
27799
|
+
secret: external_exports.literal(false),
|
|
27800
|
+
optional: external_exports.boolean(),
|
|
27801
|
+
placeholder: external_exports.string().optional(),
|
|
27802
|
+
prefill: external_exports.string().optional()
|
|
27803
|
+
})
|
|
27804
|
+
]);
|
|
27805
|
+
var threadQuestionSchema = external_exports.object({
|
|
27806
|
+
interactionId: external_exports.string().min(1),
|
|
27807
|
+
turnId: external_exports.string().min(1),
|
|
27808
|
+
title: external_exports.string().optional(),
|
|
27809
|
+
questions: external_exports.array(field).min(1)
|
|
27810
|
+
}).refine(({ questions }) => questions.some((q3) => q3.type === "choice" && q3.multiple), {
|
|
27811
|
+
message: "Shared cards require at least one multi-select question"
|
|
27812
|
+
});
|
|
27813
|
+
var threadQuestionsListParamsSchema = external_exports.strictObject({ threadId: external_exports.string().min(1) });
|
|
27814
|
+
var threadQuestionsResultSchema = external_exports.object({ questions: external_exports.array(threadQuestionSchema) });
|
|
27815
|
+
var threadQuestionRespondParamsSchema = external_exports.strictObject({
|
|
27816
|
+
threadId: external_exports.string().min(1),
|
|
27817
|
+
turnId: external_exports.string().min(1),
|
|
27818
|
+
interactionId: external_exports.string().min(1),
|
|
27819
|
+
answers: external_exports.record(external_exports.string(), external_exports.array(external_exports.string())),
|
|
27820
|
+
cancelled: external_exports.boolean().default(false)
|
|
27821
|
+
});
|
|
27822
|
+
var threadQuestionRespondResultSchema = external_exports.object({ accepted: external_exports.literal(true) });
|
|
27823
|
+
|
|
27770
27824
|
// ../../shared-contracts/dist/console.js
|
|
27771
27825
|
var consoleAnnouncementSchema = external_exports.strictObject({
|
|
27772
27826
|
title: external_exports.string().trim().min(1).max(200),
|
|
@@ -27787,6 +27841,8 @@ var CONSOLE_HOST_METHODS = Object.freeze([
|
|
|
27787
27841
|
"codexhost/harness/display-settings/set",
|
|
27788
27842
|
"codexhost/harness/inspect",
|
|
27789
27843
|
"codexhost/harness/installation",
|
|
27844
|
+
"codexhost/harness/installation/start",
|
|
27845
|
+
"codexhost/harness/installation/status",
|
|
27790
27846
|
"codexhost/harness/launch-settings/get",
|
|
27791
27847
|
"codexhost/harness/launch-settings/set",
|
|
27792
27848
|
"codexhost/harness/web-ui/open",
|
|
@@ -27862,7 +27918,18 @@ var threadManualCompactionStartedSchema = external_exports.strictObject({
|
|
|
27862
27918
|
var nonNegativeSafeIntegerSchema = external_exports.number().int().safe().nonnegative();
|
|
27863
27919
|
var finiteNonNegativeNumberSchema = external_exports.number().finite().nonnegative();
|
|
27864
27920
|
var cacheHitRatePercentSchema = external_exports.number().finite().min(0).max(100);
|
|
27921
|
+
var indicatorTextSchema = (maximum) => harnessLocalizedTextSchema.refine((entries) => Object.values(entries).every((text) => text.length <= maximum));
|
|
27922
|
+
var composerIndicatorsSchema = external_exports.array(external_exports.object({
|
|
27923
|
+
kind: external_exports.literal("countdown"),
|
|
27924
|
+
id: external_exports.string().min(1).max(64),
|
|
27925
|
+
expiresAtUnix: nonNegativeSafeIntegerSchema,
|
|
27926
|
+
label: indicatorTextSchema(256).optional(),
|
|
27927
|
+
tooltip: indicatorTextSchema(1024).optional()
|
|
27928
|
+
}).strict()).max(2).refine((entries) => new Set(entries.map(({ id }) => id)).size === entries.length, {
|
|
27929
|
+
message: "Composer indicator IDs must be unique"
|
|
27930
|
+
});
|
|
27865
27931
|
var threadUsageSnapshotSchema = external_exports.object({
|
|
27932
|
+
composerIndicators: composerIndicatorsSchema.optional(),
|
|
27866
27933
|
inputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
27867
27934
|
cachedInputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
27868
27935
|
cacheWriteInputTokens: nonNegativeSafeIntegerSchema.optional(),
|
|
@@ -28270,7 +28337,9 @@ var harnessSessionCapabilitiesSchema = external_exports.object({
|
|
|
28270
28337
|
}).strict().optional(),
|
|
28271
28338
|
autonomousTurns: external_exports.object({
|
|
28272
28339
|
observe: external_exports.boolean()
|
|
28273
|
-
}).strict().optional()
|
|
28340
|
+
}).strict().optional(),
|
|
28341
|
+
/** True only when `turn.steer` delivers input into the active Turn through a native primitive. */
|
|
28342
|
+
steer: external_exports.boolean().optional()
|
|
28274
28343
|
}).strict();
|
|
28275
28344
|
var harnessConfigurationStateSchema = external_exports.object({
|
|
28276
28345
|
effectiveModel: harnessModelRefSchema.optional(),
|
|
@@ -28317,7 +28386,9 @@ var harnessInspectionSchema = external_exports.union([
|
|
|
28317
28386
|
var harnessInspectParamsSchema = external_exports.object({
|
|
28318
28387
|
harnessId: harnessIdSchema,
|
|
28319
28388
|
cwd: nonBlankTextSchema2.max(16384).optional(),
|
|
28320
|
-
refresh: external_exports.boolean().optional()
|
|
28389
|
+
refresh: external_exports.boolean().optional(),
|
|
28390
|
+
/** `availability` asks only whether the Harness can run; see `InspectHarnessInput.purpose`. */
|
|
28391
|
+
purpose: external_exports.literal("availability").optional()
|
|
28321
28392
|
}).strict();
|
|
28322
28393
|
var harnessWebUiOpenParamsSchema = external_exports.object({
|
|
28323
28394
|
harnessId: harnessIdSchema
|
|
@@ -28400,6 +28471,15 @@ var threadOwnershipListResultSchema = external_exports.object({
|
|
|
28400
28471
|
seen.add(thread.threadId);
|
|
28401
28472
|
}
|
|
28402
28473
|
});
|
|
28474
|
+
var threadSteeringInspectParamsSchema = external_exports.object({
|
|
28475
|
+
threadId: hostThreadIdSchema,
|
|
28476
|
+
/** The text about to be steered; a Harness command always stops and restarts. */
|
|
28477
|
+
text: external_exports.string().optional()
|
|
28478
|
+
}).strict();
|
|
28479
|
+
var threadSteerDeliverySchema = external_exports.enum(["activeTurn", "newTurn"]);
|
|
28480
|
+
var threadSteeringInspectResultSchema = external_exports.object({
|
|
28481
|
+
delivery: external_exports.enum(["official", "activeTurn", "newTurn"])
|
|
28482
|
+
}).strict();
|
|
28403
28483
|
|
|
28404
28484
|
// ../../shared-contracts/dist/harness-plugins.js
|
|
28405
28485
|
var HARNESS_PLUGIN_MANIFEST_MAX_BYTES = 32 * 1024;
|
|
@@ -28501,6 +28581,10 @@ var harnessInstallationStateSchema = external_exports.object({
|
|
|
28501
28581
|
latestVersion: external_exports.string().min(1).max(128),
|
|
28502
28582
|
updateAvailable: external_exports.boolean(),
|
|
28503
28583
|
canUpdate: external_exports.boolean(),
|
|
28584
|
+
/** Defaults to CLI; some Harnesses ship only inside a desktop application. */
|
|
28585
|
+
versionKind: external_exports.enum(["cli", "application"]).optional(),
|
|
28586
|
+
/** Official download opened by the user; does not imply an automatic installation. */
|
|
28587
|
+
manualUpdateUrl: external_exports.url().max(2048).refine((value) => /^https:\/\/[^/?#@]+(?:[/?#]|$)/iu.test(value), "Manual updates require a credential-free HTTPS URL").optional(),
|
|
28504
28588
|
// Adapter-owned diagnostic text; UI uses messageCode rather than displaying it verbatim.
|
|
28505
28589
|
message: external_exports.string().max(2048).optional(),
|
|
28506
28590
|
messageCode: external_exports.string().min(1).max(128).optional(),
|
|
@@ -28508,6 +28592,20 @@ var harnessInstallationStateSchema = external_exports.object({
|
|
|
28508
28592
|
notice: harnessLocalizedTextSchema.optional(),
|
|
28509
28593
|
latestVersionKind: external_exports.enum(["unknown", "tracking-branch"]).optional()
|
|
28510
28594
|
}).strict();
|
|
28595
|
+
var harnessInstallationTaskParamsSchema = external_exports.object({ taskId: external_exports.string().uuid() }).strict();
|
|
28596
|
+
var harnessInstallationTaskSchema = external_exports.discriminatedUnion("status", [
|
|
28597
|
+
external_exports.object({ taskId: external_exports.string().uuid(), status: external_exports.literal("running") }).strict(),
|
|
28598
|
+
external_exports.object({
|
|
28599
|
+
taskId: external_exports.string().uuid(),
|
|
28600
|
+
status: external_exports.literal("succeeded"),
|
|
28601
|
+
result: harnessInstallationStateSchema
|
|
28602
|
+
}).strict(),
|
|
28603
|
+
external_exports.object({
|
|
28604
|
+
taskId: external_exports.string().uuid(),
|
|
28605
|
+
status: external_exports.literal("failed"),
|
|
28606
|
+
error: external_exports.object({ code: external_exports.number().int(), message: external_exports.string().min(1).max(2048) }).strict()
|
|
28607
|
+
}).strict()
|
|
28608
|
+
]);
|
|
28511
28609
|
|
|
28512
28610
|
// ../../shared-contracts/dist/codex-accounts.js
|
|
28513
28611
|
var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
|
|
@@ -29261,6 +29359,18 @@ var HarnessOutputChannel = class {
|
|
|
29261
29359
|
}
|
|
29262
29360
|
};
|
|
29263
29361
|
|
|
29362
|
+
// ../../harness-adapter/dist/steer.js
|
|
29363
|
+
function unsupportedSteer(harnessLabel) {
|
|
29364
|
+
return {
|
|
29365
|
+
ok: false,
|
|
29366
|
+
error: {
|
|
29367
|
+
code: "unsupported",
|
|
29368
|
+
message: `${harnessLabel} cannot steer an active Turn natively`,
|
|
29369
|
+
retryable: false
|
|
29370
|
+
}
|
|
29371
|
+
};
|
|
29372
|
+
}
|
|
29373
|
+
|
|
29264
29374
|
// ../../harness-adapter/dist/usage.js
|
|
29265
29375
|
var tokenFields = [
|
|
29266
29376
|
"inputTokens",
|
|
@@ -29288,6 +29398,7 @@ var usageFields = /* @__PURE__ */ new Set([
|
|
|
29288
29398
|
...safeIntegerFields,
|
|
29289
29399
|
...percentFields,
|
|
29290
29400
|
"sessionCacheUsage",
|
|
29401
|
+
"composerIndicators",
|
|
29291
29402
|
"totalCostUsd",
|
|
29292
29403
|
"totalCredits",
|
|
29293
29404
|
"contextUsagePercent",
|
|
@@ -29310,26 +29421,27 @@ function parseHostUsage(value) {
|
|
|
29310
29421
|
throw new Error(`Harness Usage contains unknown field '${key}'`);
|
|
29311
29422
|
}
|
|
29312
29423
|
}
|
|
29313
|
-
|
|
29424
|
+
const indicators = value.composerIndicators === void 0 ? {} : { composerIndicators: composerIndicatorsSchema.parse(value.composerIndicators) };
|
|
29425
|
+
for (const field2 of [
|
|
29314
29426
|
"totalCredits",
|
|
29315
29427
|
"contextUsagePercent",
|
|
29316
29428
|
"apiOutputTokensPerSecond"
|
|
29317
29429
|
]) {
|
|
29318
|
-
const candidate = value[
|
|
29430
|
+
const candidate = value[field2];
|
|
29319
29431
|
if (candidate !== void 0 && (typeof candidate !== "number" || !Number.isFinite(candidate) || candidate < 0)) {
|
|
29320
|
-
throw new Error(`Harness Usage '${
|
|
29432
|
+
throw new Error(`Harness Usage '${field2}' must be a finite non-negative number`);
|
|
29321
29433
|
}
|
|
29322
29434
|
}
|
|
29323
|
-
for (const
|
|
29324
|
-
const candidate = value[
|
|
29435
|
+
for (const field2 of tokenFields) {
|
|
29436
|
+
const candidate = value[field2];
|
|
29325
29437
|
if (candidate !== void 0 && (typeof candidate !== "number" || !Number.isSafeInteger(candidate) || candidate < 0)) {
|
|
29326
|
-
throw new Error(`Harness Usage '${
|
|
29438
|
+
throw new Error(`Harness Usage '${field2}' must be a non-negative safe integer`);
|
|
29327
29439
|
}
|
|
29328
29440
|
}
|
|
29329
|
-
for (const
|
|
29330
|
-
const candidate = value[
|
|
29441
|
+
for (const field2 of safeIntegerFields) {
|
|
29442
|
+
const candidate = value[field2];
|
|
29331
29443
|
if (candidate !== void 0 && (typeof candidate !== "number" || !Number.isSafeInteger(candidate) || candidate < 0)) {
|
|
29332
|
-
throw new Error(`Harness Usage '${
|
|
29444
|
+
throw new Error(`Harness Usage '${field2}' must be a non-negative safe integer`);
|
|
29333
29445
|
}
|
|
29334
29446
|
}
|
|
29335
29447
|
if (value.outputTokensPerSecond !== void 0 && (typeof value.outputTokensPerSecond !== "number" || !Number.isFinite(value.outputTokensPerSecond) || value.outputTokensPerSecond < 0)) {
|
|
@@ -29338,10 +29450,10 @@ function parseHostUsage(value) {
|
|
|
29338
29450
|
if (value.totalCostUsd !== void 0 && (typeof value.totalCostUsd !== "number" || !Number.isFinite(value.totalCostUsd) || value.totalCostUsd < 0)) {
|
|
29339
29451
|
throw new Error("Harness Usage 'totalCostUsd' must be a finite non-negative number");
|
|
29340
29452
|
}
|
|
29341
|
-
for (const
|
|
29342
|
-
const candidate = value[
|
|
29453
|
+
for (const field2 of percentFields) {
|
|
29454
|
+
const candidate = value[field2];
|
|
29343
29455
|
if (candidate !== void 0 && (typeof candidate !== "number" || !Number.isFinite(candidate) || candidate < 0 || candidate > 100)) {
|
|
29344
|
-
throw new Error(`Harness Usage '${
|
|
29456
|
+
throw new Error(`Harness Usage '${field2}' must be between 0 and 100`);
|
|
29345
29457
|
}
|
|
29346
29458
|
}
|
|
29347
29459
|
if (value.sessionCacheUsage !== void 0) {
|
|
@@ -29380,9 +29492,9 @@ function parseHostUsage(value) {
|
|
|
29380
29492
|
if (value.costSource !== "publicPrice") {
|
|
29381
29493
|
throw new Error("Harness Usage 'unpricedModels' must be provided with a 'publicPrice' cost");
|
|
29382
29494
|
}
|
|
29383
|
-
return { ...value, unpricedModels: [...models] };
|
|
29495
|
+
return { ...value, ...indicators, unpricedModels: [...models] };
|
|
29384
29496
|
}
|
|
29385
|
-
return { ...value };
|
|
29497
|
+
return { ...value, ...indicators };
|
|
29386
29498
|
}
|
|
29387
29499
|
var requestTokenFields = [
|
|
29388
29500
|
"inputTokens",
|
|
@@ -39160,11 +39272,11 @@ var McpServer = class {
|
|
|
39160
39272
|
return EMPTY_COMPLETION_RESULT;
|
|
39161
39273
|
}
|
|
39162
39274
|
const promptShape = getObjectShape(prompt.argsSchema);
|
|
39163
|
-
const
|
|
39164
|
-
if (!isCompletable(
|
|
39275
|
+
const field2 = promptShape?.[request.params.argument.name];
|
|
39276
|
+
if (!isCompletable(field2)) {
|
|
39165
39277
|
return EMPTY_COMPLETION_RESULT;
|
|
39166
39278
|
}
|
|
39167
|
-
const completer = getCompleter(
|
|
39279
|
+
const completer = getCompleter(field2);
|
|
39168
39280
|
if (!completer) {
|
|
39169
39281
|
return EMPTY_COMPLETION_RESULT;
|
|
39170
39282
|
}
|
|
@@ -39437,8 +39549,8 @@ var McpServer = class {
|
|
|
39437
39549
|
};
|
|
39438
39550
|
this._registeredPrompts[name] = registeredPrompt;
|
|
39439
39551
|
if (argsSchema) {
|
|
39440
|
-
const hasCompletable = Object.values(argsSchema).some((
|
|
39441
|
-
const inner =
|
|
39552
|
+
const hasCompletable = Object.values(argsSchema).some((field2) => {
|
|
39553
|
+
const inner = field2 instanceof ZodOptional ? field2._def?.innerType : field2;
|
|
39442
39554
|
return isCompletable(inner);
|
|
39443
39555
|
});
|
|
39444
39556
|
if (hasCompletable) {
|
|
@@ -39647,9 +39759,9 @@ function promptArgumentsFromSchema(schema) {
|
|
|
39647
39759
|
const shape = getObjectShape(schema);
|
|
39648
39760
|
if (!shape)
|
|
39649
39761
|
return [];
|
|
39650
|
-
return Object.entries(shape).map(([name,
|
|
39651
|
-
const description = getSchemaDescription(
|
|
39652
|
-
const isOptional = isSchemaOptional(
|
|
39762
|
+
return Object.entries(shape).map(([name, field2]) => {
|
|
39763
|
+
const description = getSchemaDescription(field2);
|
|
39764
|
+
const isOptional = isSchemaOptional(field2);
|
|
39653
39765
|
return {
|
|
39654
39766
|
name,
|
|
39655
39767
|
description,
|
|
@@ -52270,6 +52382,8 @@ var QoderSession = class {
|
|
|
52270
52382
|
};
|
|
52271
52383
|
}
|
|
52272
52384
|
switch (command.type) {
|
|
52385
|
+
case "turn.steer":
|
|
52386
|
+
return unsupportedSteer("Qoder");
|
|
52273
52387
|
case "turn.start": {
|
|
52274
52388
|
if (this.#activeTurn) {
|
|
52275
52389
|
return {
|
|
@@ -52980,10 +53094,13 @@ function usageSessionTitle(value) {
|
|
|
52980
53094
|
return void 0;
|
|
52981
53095
|
if (normalized.length <= MAX_SESSION_TITLE_LENGTH)
|
|
52982
53096
|
return normalized;
|
|
52983
|
-
|
|
52984
|
-
|
|
52985
|
-
|
|
52986
|
-
|
|
53097
|
+
let title = "";
|
|
53098
|
+
for (const character of normalized) {
|
|
53099
|
+
if (title.length + character.length >= MAX_SESSION_TITLE_LENGTH)
|
|
53100
|
+
break;
|
|
53101
|
+
title += character;
|
|
53102
|
+
}
|
|
53103
|
+
return `${title.trimEnd()}…`;
|
|
52987
53104
|
}
|
|
52988
53105
|
function sessionIdOk(value) {
|
|
52989
53106
|
return typeof value === "string" && value.length > 0 && value.length <= MAX_SESSION_ID_LENGTH;
|
|
@@ -53020,13 +53137,13 @@ function parseHarnessUsageEntry(value) {
|
|
|
53020
53137
|
}
|
|
53021
53138
|
if (!tokenCount(entry.inputTokens) || !tokenCount(entry.outputTokens))
|
|
53022
53139
|
return null;
|
|
53023
|
-
for (const
|
|
53140
|
+
for (const field2 of [
|
|
53024
53141
|
"cachedInputTokens",
|
|
53025
53142
|
"cacheWriteInputTokens",
|
|
53026
53143
|
"cacheWrite1hInputTokens",
|
|
53027
53144
|
"reasoningOutputTokens"
|
|
53028
53145
|
]) {
|
|
53029
|
-
if (entry[
|
|
53146
|
+
if (entry[field2] !== void 0 && !tokenCount(entry[field2]))
|
|
53030
53147
|
return null;
|
|
53031
53148
|
}
|
|
53032
53149
|
const cached2 = entry.cachedInputTokens ?? 0;
|