@codexhost/cli-win32-arm64 0.8.0 → 0.9.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 +12 -0
- package/app/codexhost-distribution.json +1 -1
- package/app/desktop-controller.mjs +67 -26
- package/app/host-runtime.mjs +3774 -6483
- package/app/plugins/antigravity/plugin.mjs +114 -93
- package/app/plugins/claude-code/plugin.mjs +480 -239
- package/app/plugins/codebuddy/plugin.mjs +2177 -846
- package/app/plugins/cursor-cli/plugin.mjs +35065 -10156
- package/app/plugins/deepseek-harness/plugin.mjs +72 -84
- package/app/plugins/enabled.json +4 -1
- package/app/plugins/grok/plugin.mjs +60 -78
- package/app/plugins/hermes/plugin.mjs +2431 -174
- package/app/plugins/kiro-cli/plugin.mjs +67 -80
- package/app/plugins/omp/plugin.mjs +106 -91
- package/app/plugins/opencode/plugin.mjs +109 -123
- package/app/plugins/pi/plugin.mjs +71 -84
- package/app/plugins/qoder/assets/icon.svg +1 -0
- package/app/plugins/qoder/manifest.json +12 -0
- package/app/plugins/qoder/plugin.mjs +52267 -0
- package/app/plugins/qoder-cn/assets/icon.svg +1 -0
- package/app/plugins/qoder-cn/manifest.json +12 -0
- package/app/plugins/qoder-cn/plugin.mjs +52265 -0
- package/app/plugins/workbuddy/assets/icon.svg +29 -0
- package/app/plugins/workbuddy/manifest.json +14 -0
- package/app/plugins/workbuddy/plugin.mjs +24818 -0
- package/app/renderer-extension.js +3182 -960
- package/bin/codexhost.exe +0 -0
- package/libexec/codexhost-node-repl.exe +0 -0
- package/libexec/codexhost-shim.exe +0 -0
- package/libexec/codexhost-updater.exe +0 -0
- package/licenses/Qoder-Agent-SDK-LICENSE.txt +7 -0
- package/licenses/QoderCN-Agent-SDK-LICENSE.txt +7 -0
- package/licenses/tailwindcss-LICENSE.txt +21 -0
- package/package.json +1 -1
|
@@ -14531,6 +14531,46 @@ config(en_default());
|
|
|
14531
14531
|
// ../../shared-contracts/dist/version.js
|
|
14532
14532
|
var WORKSPACE_CONTRACT_VERSION = 1;
|
|
14533
14533
|
|
|
14534
|
+
// ../../shared-contracts/dist/idle-release.js
|
|
14535
|
+
var IDLE_RELEASE_TIMEOUT_MINUTES_MIN = 5;
|
|
14536
|
+
var IDLE_RELEASE_TIMEOUT_MINUTES_MAX = 1440;
|
|
14537
|
+
var idleReleaseSettingsSchema = external_exports.strictObject({
|
|
14538
|
+
enabled: external_exports.boolean(),
|
|
14539
|
+
timeoutMinutes: external_exports.number().int().min(IDLE_RELEASE_TIMEOUT_MINUTES_MIN).max(IDLE_RELEASE_TIMEOUT_MINUTES_MAX)
|
|
14540
|
+
});
|
|
14541
|
+
var DEFAULT_IDLE_RELEASE_SETTINGS = Object.freeze({
|
|
14542
|
+
enabled: false,
|
|
14543
|
+
timeoutMinutes: 30
|
|
14544
|
+
});
|
|
14545
|
+
|
|
14546
|
+
// ../../shared-contracts/dist/loaded-sessions.js
|
|
14547
|
+
var loadedSessionStateSchema = external_exports.enum([
|
|
14548
|
+
"idle",
|
|
14549
|
+
"running",
|
|
14550
|
+
"busy",
|
|
14551
|
+
"closing",
|
|
14552
|
+
"failed",
|
|
14553
|
+
"blocked"
|
|
14554
|
+
]);
|
|
14555
|
+
var loadedSessionReasonSchema = external_exports.enum([
|
|
14556
|
+
"none",
|
|
14557
|
+
"disabled",
|
|
14558
|
+
"timeout",
|
|
14559
|
+
"operation",
|
|
14560
|
+
"background",
|
|
14561
|
+
"identity",
|
|
14562
|
+
"persistence",
|
|
14563
|
+
"closeFailed"
|
|
14564
|
+
]);
|
|
14565
|
+
var loadedSessionsSchema = external_exports.array(external_exports.strictObject({
|
|
14566
|
+
threadId: external_exports.string(),
|
|
14567
|
+
title: external_exports.string(),
|
|
14568
|
+
harnessId: external_exports.string(),
|
|
14569
|
+
state: loadedSessionStateSchema,
|
|
14570
|
+
reason: loadedSessionReasonSchema,
|
|
14571
|
+
inactiveMs: external_exports.number().nonnegative()
|
|
14572
|
+
}));
|
|
14573
|
+
|
|
14534
14574
|
// ../../shared-contracts/dist/ids.js
|
|
14535
14575
|
var opaqueIdSchema = external_exports.string().refine((value) => value.trim().length > 0, {
|
|
14536
14576
|
message: "Identifier must not be empty or whitespace"
|
|
@@ -15016,6 +15056,8 @@ var pluginPresentationShape = {
|
|
|
15016
15056
|
id: harnessPluginIdSchema,
|
|
15017
15057
|
name: external_exports.string().trim().min(1).max(128),
|
|
15018
15058
|
version: external_exports.string().min(1).max(128),
|
|
15059
|
+
/** The factory accepts a persisted local entrypoint through its construction context. */
|
|
15060
|
+
launchCommand: external_exports.literal(true).optional(),
|
|
15019
15061
|
links: external_exports.object({
|
|
15020
15062
|
documentation: documentationUrlSchema.optional(),
|
|
15021
15063
|
installation: documentationUrlSchema.optional()
|
|
@@ -15053,6 +15095,19 @@ var harnessPluginRouteSchema = external_exports.object({
|
|
|
15053
15095
|
permissionModeId: harnessPermissionModeIdSchema.optional()
|
|
15054
15096
|
}).strict();
|
|
15055
15097
|
|
|
15098
|
+
// ../../shared-contracts/dist/harness-launch-settings.js
|
|
15099
|
+
var harnessLaunchPathSchema = external_exports.string().trim().min(1).max(4096).refine((value) => !/[\u0000\r\n]/u.test(value), "Invalid entrypoint path");
|
|
15100
|
+
var harnessLaunchSettingsGetSchema = external_exports.object({
|
|
15101
|
+
harnessId: harnessPluginIdSchema
|
|
15102
|
+
}).strict();
|
|
15103
|
+
var harnessLaunchSettingsSetSchema = harnessLaunchSettingsGetSchema.extend({
|
|
15104
|
+
path: harnessLaunchPathSchema.nullable()
|
|
15105
|
+
});
|
|
15106
|
+
var harnessLaunchSettingsSchema = external_exports.object({
|
|
15107
|
+
path: harnessLaunchPathSchema.nullable(),
|
|
15108
|
+
restartRequired: external_exports.boolean()
|
|
15109
|
+
}).strict();
|
|
15110
|
+
|
|
15056
15111
|
// ../../shared-contracts/dist/codex-accounts.js
|
|
15057
15112
|
var accountIdSchema = external_exports.string().min(1).max(256).regex(/^[A-Za-z0-9._~-]+$/u);
|
|
15058
15113
|
var nonBlankTextSchema3 = external_exports.string().trim().min(1);
|
|
@@ -15081,75 +15136,15 @@ var codexAccountSchema = external_exports.object({
|
|
|
15081
15136
|
email: external_exports.string().email().max(320).optional(),
|
|
15082
15137
|
planType: codexAccountPlanTypeSchema.optional()
|
|
15083
15138
|
}).strict();
|
|
15084
|
-
var codexAccountPhaseSchema = external_exports.enum(["ready", "
|
|
15085
|
-
var codexAccountPendingOperationSchema = external_exports.object({
|
|
15086
|
-
operationId: nonBlankTextSchema3.max(1024),
|
|
15087
|
-
kind: external_exports.enum(["login", "switch", "logout", "recovery"])
|
|
15088
|
-
}).strict();
|
|
15089
|
-
var codexAccountCapabilitiesSchema = external_exports.object({
|
|
15090
|
-
manage: external_exports.boolean(),
|
|
15091
|
-
switch: external_exports.boolean(),
|
|
15092
|
-
login: external_exports.boolean(),
|
|
15093
|
-
delete: external_exports.boolean(),
|
|
15094
|
-
recover: external_exports.boolean().optional(),
|
|
15095
|
-
logout: external_exports.boolean().optional(),
|
|
15096
|
-
reason: external_exports.enum([
|
|
15097
|
-
"ssh-single-account",
|
|
15098
|
-
"unsupported-storage",
|
|
15099
|
-
"unsupported-version",
|
|
15100
|
-
"recovery-required",
|
|
15101
|
-
"keyring-unavailable",
|
|
15102
|
-
"migration-required"
|
|
15103
|
-
]).optional()
|
|
15104
|
-
}).strict();
|
|
15139
|
+
var codexAccountPhaseSchema = external_exports.enum(["ready", "unavailable"]);
|
|
15105
15140
|
var codexAccountListResultSchema = external_exports.object({
|
|
15106
15141
|
version: external_exports.literal(2),
|
|
15107
15142
|
currentAccountId: accountIdSchema.nullable(),
|
|
15108
15143
|
phase: codexAccountPhaseSchema,
|
|
15109
15144
|
revision: external_exports.number().int().nonnegative(),
|
|
15110
15145
|
instanceId: nonBlankTextSchema3.max(1024).optional(),
|
|
15111
|
-
|
|
15112
|
-
/** Credentials were adopted; other native homes/history remain unmerged. */
|
|
15113
|
-
legacyHistoryPreserved: external_exports.boolean().optional(),
|
|
15114
|
-
pendingOperation: codexAccountPendingOperationSchema.optional(),
|
|
15115
|
-
capabilities: codexAccountCapabilitiesSchema,
|
|
15116
|
-
accounts: external_exports.array(codexAccountSchema).max(128)
|
|
15146
|
+
accounts: external_exports.array(codexAccountSchema).max(1)
|
|
15117
15147
|
}).strict();
|
|
15118
|
-
var codexAccountActivateParamsSchema = external_exports.object({ accountId: accountIdSchema }).strict();
|
|
15119
|
-
var codexAccountSwitchParamsSchema = external_exports.object({ accountId: accountIdSchema }).strict();
|
|
15120
|
-
var codexAccountReadyMutationResultShape = {
|
|
15121
|
-
phase: external_exports.literal("ready"),
|
|
15122
|
-
revision: external_exports.number().int().nonnegative()
|
|
15123
|
-
};
|
|
15124
|
-
var codexAccountSwitchResultSchema = external_exports.object({
|
|
15125
|
-
currentAccountId: accountIdSchema,
|
|
15126
|
-
...codexAccountReadyMutationResultShape
|
|
15127
|
-
}).strict();
|
|
15128
|
-
var codexAccountDeleteParamsSchema = external_exports.object({ accountId: accountIdSchema }).strict();
|
|
15129
|
-
var codexAccountDeleteResultSchema = external_exports.object({ deletedAccountId: accountIdSchema }).strict();
|
|
15130
|
-
var codexAccountLoginStartParamsSchema = external_exports.object({ accountId: accountIdSchema.optional() }).strict();
|
|
15131
|
-
var codexAccountLoginStartResultSchema = external_exports.object({
|
|
15132
|
-
accountId: accountIdSchema,
|
|
15133
|
-
loginId: nonBlankTextSchema3.max(1024),
|
|
15134
|
-
verificationUrl: external_exports.string().url().max(16384),
|
|
15135
|
-
userCode: nonBlankTextSchema3.max(1024)
|
|
15136
|
-
}).strict();
|
|
15137
|
-
var codexAccountLoginCancelParamsSchema = external_exports.object({ loginId: nonBlankTextSchema3.max(1024) }).strict();
|
|
15138
|
-
var codexAccountLoginCancelResultSchema = external_exports.object({ cancelled: external_exports.boolean() }).strict();
|
|
15139
|
-
var codexAccountLoginCompletedSchema = external_exports.object({
|
|
15140
|
-
accountId: accountIdSchema,
|
|
15141
|
-
loginId: nonBlankTextSchema3.max(1024),
|
|
15142
|
-
success: external_exports.boolean(),
|
|
15143
|
-
error: external_exports.string().max(4096).nullable(),
|
|
15144
|
-
saved: external_exports.boolean().optional(),
|
|
15145
|
-
cleanupRequired: external_exports.boolean().optional()
|
|
15146
|
-
}).strict();
|
|
15147
|
-
var codexAccountLogoutParamsSchema = external_exports.object({}).strict();
|
|
15148
|
-
var codexAccountLogoutResultSchema = external_exports.object({
|
|
15149
|
-
currentAccountId: external_exports.null(),
|
|
15150
|
-
...codexAccountReadyMutationResultShape
|
|
15151
|
-
}).strict();
|
|
15152
|
-
var codexAccountRecoverParamsSchema = external_exports.object({}).strict();
|
|
15153
15148
|
var codexAccountUsageParamsSchema = external_exports.object({ accountId: accountIdSchema, refresh: external_exports.boolean().optional() }).strict();
|
|
15154
15149
|
var codexAccountUsageResultSchema = external_exports.object({
|
|
15155
15150
|
accountId: accountIdSchema,
|
|
@@ -15158,21 +15153,6 @@ var codexAccountUsageResultSchema = external_exports.object({
|
|
|
15158
15153
|
freshness: external_exports.enum(["live", "cached"]),
|
|
15159
15154
|
observedAt: external_exports.string().datetime().nullable()
|
|
15160
15155
|
}).strict();
|
|
15161
|
-
var codexAccountResetCreditConsumeParamsSchema = external_exports.object({
|
|
15162
|
-
accountId: accountIdSchema,
|
|
15163
|
-
idempotencyKey: external_exports.string().uuid().optional()
|
|
15164
|
-
}).strict();
|
|
15165
|
-
var codexAccountResetCreditConsumeOutcomeSchema = external_exports.enum([
|
|
15166
|
-
"reset",
|
|
15167
|
-
"nothingToReset",
|
|
15168
|
-
"noCredit",
|
|
15169
|
-
"alreadyRedeemed"
|
|
15170
|
-
]);
|
|
15171
|
-
var codexAccountResetCreditConsumeResultSchema = external_exports.object({
|
|
15172
|
-
accountId: accountIdSchema,
|
|
15173
|
-
outcome: codexAccountResetCreditConsumeOutcomeSchema,
|
|
15174
|
-
accountCredits: accountCreditsSnapshotSchema.optional()
|
|
15175
|
-
}).strict();
|
|
15176
15156
|
|
|
15177
15157
|
// ../../shared-contracts/dist/harness-session-import.js
|
|
15178
15158
|
var HARNESS_SESSION_IMPORT_ID_MAX_LENGTH = 1024;
|
|
@@ -17807,6 +17787,7 @@ var infoSchema = external_exports.object({
|
|
|
17807
17787
|
});
|
|
17808
17788
|
var AntigravitySubagents = class {
|
|
17809
17789
|
#states = /* @__PURE__ */ new Map();
|
|
17790
|
+
#lastObservedAt = /* @__PURE__ */ new Map();
|
|
17810
17791
|
#transcripts = /* @__PURE__ */ new Map();
|
|
17811
17792
|
#items = /* @__PURE__ */ new Map();
|
|
17812
17793
|
#options;
|
|
@@ -17902,18 +17883,27 @@ var AntigravitySubagents = class {
|
|
|
17902
17883
|
return;
|
|
17903
17884
|
const parentId = this.#options.parentId();
|
|
17904
17885
|
const port = await this.#options.port();
|
|
17905
|
-
if (!parentId || port === null)
|
|
17886
|
+
if (!parentId || port === null) {
|
|
17887
|
+
for (const id of this.#states.keys())
|
|
17888
|
+
this.#expireUnobserved(id);
|
|
17889
|
+
if (this.#ended && !this.running)
|
|
17890
|
+
this.stop();
|
|
17906
17891
|
return;
|
|
17892
|
+
}
|
|
17907
17893
|
for (const [id, previous] of this.#states) {
|
|
17908
17894
|
if (this.#stopped)
|
|
17909
17895
|
return;
|
|
17910
17896
|
let status = previous.status;
|
|
17897
|
+
let statusObserved = false;
|
|
17911
17898
|
try {
|
|
17912
17899
|
const value = await subagentRpc(port, id, "GetCascadeTrajectory");
|
|
17913
17900
|
const observed = subagentRunStatus(value, parentId);
|
|
17914
17901
|
if (observed !== "completed" || status !== "interrupted" && status !== "failed") {
|
|
17915
17902
|
status = observed ?? status;
|
|
17916
17903
|
}
|
|
17904
|
+
statusObserved = observed !== null;
|
|
17905
|
+
if (statusObserved)
|
|
17906
|
+
this.#lastObservedAt.set(id, Date.now());
|
|
17917
17907
|
} catch {
|
|
17918
17908
|
}
|
|
17919
17909
|
const transcript = await readSubagentTranscript({
|
|
@@ -17944,6 +17934,8 @@ var AntigravitySubagents = class {
|
|
|
17944
17934
|
this.#options.emit({ type: "subagent.transcript.changed", nativeSubagentId: id });
|
|
17945
17935
|
}
|
|
17946
17936
|
}
|
|
17937
|
+
if (!statusObserved)
|
|
17938
|
+
this.#expireUnobserved(id);
|
|
17947
17939
|
}
|
|
17948
17940
|
if (this.#ended && !this.running)
|
|
17949
17941
|
this.stop();
|
|
@@ -17954,9 +17946,35 @@ var AntigravitySubagents = class {
|
|
|
17954
17946
|
this.#complete(delegation, outcome);
|
|
17955
17947
|
}
|
|
17956
17948
|
this.#ended = true;
|
|
17949
|
+
const now = Date.now();
|
|
17950
|
+
for (const [id, state] of this.#states) {
|
|
17951
|
+
if (state.status === "running" || state.status === "pending") {
|
|
17952
|
+
this.#lastObservedAt.set(id, now);
|
|
17953
|
+
}
|
|
17954
|
+
}
|
|
17957
17955
|
if (!this.running)
|
|
17958
17956
|
this.stop();
|
|
17959
17957
|
}
|
|
17958
|
+
#expireUnobserved(id) {
|
|
17959
|
+
if (!this.#ended || this.#stopped)
|
|
17960
|
+
return;
|
|
17961
|
+
const state = this.#states.get(id);
|
|
17962
|
+
if (!state || state.status !== "running" && state.status !== "pending")
|
|
17963
|
+
return;
|
|
17964
|
+
const now = Date.now();
|
|
17965
|
+
if (now - (this.#lastObservedAt.get(id) ?? now) < this.#options.observationTimeoutMs)
|
|
17966
|
+
return;
|
|
17967
|
+
const resultSummary = "Observation timed out; native Subagent completion could not be confirmed.";
|
|
17968
|
+
this.#states.set(id, { ...state, status: "interrupted", resultSummary });
|
|
17969
|
+
this.#options.emit({
|
|
17970
|
+
type: "subagent.state.changed",
|
|
17971
|
+
nativeSubagentId: id,
|
|
17972
|
+
status: "interrupted",
|
|
17973
|
+
resultSummary
|
|
17974
|
+
});
|
|
17975
|
+
this.#options.emit({ type: "subagent.transcript.changed", nativeSubagentId: id });
|
|
17976
|
+
this.#lastObservedAt.delete(id);
|
|
17977
|
+
}
|
|
17960
17978
|
cancel() {
|
|
17961
17979
|
return this.#cancellation ??= this.#cancelNative();
|
|
17962
17980
|
}
|
|
@@ -18008,6 +18026,7 @@ var AntigravitySubagents = class {
|
|
|
18008
18026
|
stop() {
|
|
18009
18027
|
this.#stopped = true;
|
|
18010
18028
|
clearInterval(this.#timer);
|
|
18029
|
+
this.#lastObservedAt.clear();
|
|
18011
18030
|
this.#settled?.();
|
|
18012
18031
|
}
|
|
18013
18032
|
#watch() {
|
|
@@ -18041,6 +18060,7 @@ var antigravityHarnessId = harnessIdSchema.parse("antigravity");
|
|
|
18041
18060
|
var DEFAULT_INSPECT_TIMEOUT_MS = 2e4;
|
|
18042
18061
|
var DEFAULT_PRINT_TIMEOUT = "30m";
|
|
18043
18062
|
var DEFAULT_TOOL_OUTPUT_LIMIT = 64e3;
|
|
18063
|
+
var DEFAULT_SUBAGENT_OBSERVATION_TIMEOUT_MS = 3e4;
|
|
18044
18064
|
var CONTEXT_USAGE_TIMEOUT_MS = 8e3;
|
|
18045
18065
|
var CONTEXT_USAGE_RETRY_MS = 100;
|
|
18046
18066
|
var TRAJECTORY_TIMEOUT_MS = 2e3;
|
|
@@ -18286,6 +18306,7 @@ var AntigravitySession = class {
|
|
|
18286
18306
|
#onClosed;
|
|
18287
18307
|
#printTimeout;
|
|
18288
18308
|
#toolOutputLimit;
|
|
18309
|
+
#subagentObservationTimeoutMs;
|
|
18289
18310
|
#history;
|
|
18290
18311
|
#subagentObservers = /* @__PURE__ */ new Set();
|
|
18291
18312
|
#active = null;
|
|
@@ -18309,6 +18330,7 @@ var AntigravitySession = class {
|
|
|
18309
18330
|
this.#printTimeout = input.printTimeout;
|
|
18310
18331
|
this.#thinkingOptionId = input.thinkingOptionId ?? input.history.thinkingOptionId;
|
|
18311
18332
|
this.#toolOutputLimit = input.toolOutputLimit;
|
|
18333
|
+
this.#subagentObservationTimeoutMs = input.subagentObservationTimeoutMs;
|
|
18312
18334
|
this.#onClosed = input.onClosed;
|
|
18313
18335
|
this.initialState = this.#state();
|
|
18314
18336
|
this.outputs = this.#channel.outputs;
|
|
@@ -18462,6 +18484,7 @@ var AntigravitySession = class {
|
|
|
18462
18484
|
}
|
|
18463
18485
|
const active = {
|
|
18464
18486
|
command,
|
|
18487
|
+
model: this.#model,
|
|
18465
18488
|
process: child,
|
|
18466
18489
|
exited: new Promise((resolve) => child.once("close", () => resolve())),
|
|
18467
18490
|
questions,
|
|
@@ -18471,6 +18494,7 @@ var AntigravitySession = class {
|
|
|
18471
18494
|
port: () => this.#languageServerPort(active),
|
|
18472
18495
|
cwd: this.#cwd,
|
|
18473
18496
|
outputLimit: this.#toolOutputLimit,
|
|
18497
|
+
observationTimeoutMs: this.#subagentObservationTimeoutMs,
|
|
18474
18498
|
initialStates: this.#history.snapshot().flatMap((turn) => turn.items.flatMap(({ item }) => item.type === "subagentDelegation" ? item.subagents : [])),
|
|
18475
18499
|
emit: (event) => {
|
|
18476
18500
|
if (event.type === "subagent.state.changed") {
|
|
@@ -18630,7 +18654,7 @@ ${line}`).slice(-8e3);
|
|
|
18630
18654
|
if (event.step_update.conversation_id !== this.#nativeRef?.nativeSessionId)
|
|
18631
18655
|
return;
|
|
18632
18656
|
await this.#handleStep(active, event.step_update);
|
|
18633
|
-
const usage = hostUsage(event.step_update.usage,
|
|
18657
|
+
const usage = hostUsage(event.step_update.usage, active.model?.id);
|
|
18634
18658
|
if (usage)
|
|
18635
18659
|
this.#publishUsage(active, usage);
|
|
18636
18660
|
this.#ensureContextUsage(active, event.step_update.conversation_id);
|
|
@@ -18644,7 +18668,7 @@ ${line}`).slice(-8e3);
|
|
|
18644
18668
|
async #handleResult(active, event) {
|
|
18645
18669
|
if (this.#active !== active)
|
|
18646
18670
|
return;
|
|
18647
|
-
const usage = hostUsage(event.result.usage,
|
|
18671
|
+
const usage = hostUsage(event.result.usage, active.model?.id);
|
|
18648
18672
|
if (usage)
|
|
18649
18673
|
this.#publishUsage(active, usage);
|
|
18650
18674
|
this.#ensureContextUsage(active, event.result.conversation_id);
|
|
@@ -18716,7 +18740,7 @@ ${line}`).slice(-8e3);
|
|
|
18716
18740
|
#ensureContextUsage(active, conversationId) {
|
|
18717
18741
|
if (active.contextUsagePromise)
|
|
18718
18742
|
return;
|
|
18719
|
-
active.contextUsagePromise = pollAntigravityContextUsage(active.logPath, conversationId,
|
|
18743
|
+
active.contextUsagePromise = pollAntigravityContextUsage(active.logPath, conversationId, active.model?.id, () => active.receivedResult || active.cancellationRequested || active.process.exitCode !== null);
|
|
18720
18744
|
}
|
|
18721
18745
|
async #handleStep(active, step) {
|
|
18722
18746
|
if (step.step_type === "subagent") {
|
|
@@ -18964,12 +18988,6 @@ ${line}`).slice(-8e3);
|
|
|
18964
18988
|
return { ok: true, value: { cancellationRequested: true } };
|
|
18965
18989
|
}
|
|
18966
18990
|
#selectModel(command) {
|
|
18967
|
-
if (this.isActive) {
|
|
18968
|
-
return {
|
|
18969
|
-
ok: false,
|
|
18970
|
-
error: { code: "sessionBusy", message: "Turn is active", retryable: true }
|
|
18971
|
-
};
|
|
18972
|
-
}
|
|
18973
18991
|
this.#model = harnessModelRefSchema.parse(command.model);
|
|
18974
18992
|
const available = antigravityAvailableThinkingOptions(this.#catalog, this.#model);
|
|
18975
18993
|
if (this.#thinkingOptionId && !available?.some(({ id }) => id === this.#thinkingOptionId)) {
|
|
@@ -18980,12 +18998,6 @@ ${line}`).slice(-8e3);
|
|
|
18980
18998
|
return { ok: true, value: { completed: true } };
|
|
18981
18999
|
}
|
|
18982
19000
|
#selectThinking(command) {
|
|
18983
|
-
if (this.isActive) {
|
|
18984
|
-
return {
|
|
18985
|
-
ok: false,
|
|
18986
|
-
error: { code: "sessionBusy", message: "Turn is active", retryable: true }
|
|
18987
|
-
};
|
|
18988
|
-
}
|
|
18989
19001
|
const requested = harnessThinkingOptionIdSchema.safeParse(command.thinkingOptionId);
|
|
18990
19002
|
if (!requested.success) {
|
|
18991
19003
|
return {
|
|
@@ -19094,6 +19106,7 @@ var AntigravityAdapter = class {
|
|
|
19094
19106
|
#printTimeout;
|
|
19095
19107
|
#sessions = /* @__PURE__ */ new Set();
|
|
19096
19108
|
#toolOutputLimit;
|
|
19109
|
+
#subagentObservationTimeoutMs;
|
|
19097
19110
|
#closed = false;
|
|
19098
19111
|
#quota = null;
|
|
19099
19112
|
#quotaCwd = null;
|
|
@@ -19105,6 +19118,11 @@ var AntigravityAdapter = class {
|
|
|
19105
19118
|
this.#inspectTimeoutMs = options.inspectTimeoutMs ?? DEFAULT_INSPECT_TIMEOUT_MS;
|
|
19106
19119
|
this.#printTimeout = options.printTimeout ?? DEFAULT_PRINT_TIMEOUT;
|
|
19107
19120
|
this.#toolOutputLimit = options.toolOutputLimit ?? DEFAULT_TOOL_OUTPUT_LIMIT;
|
|
19121
|
+
const subagentObservationTimeoutMs = options.subagentObservationTimeoutMs ?? DEFAULT_SUBAGENT_OBSERVATION_TIMEOUT_MS;
|
|
19122
|
+
if (!Number.isFinite(subagentObservationTimeoutMs) || subagentObservationTimeoutMs <= 0) {
|
|
19123
|
+
throw new RangeError("subagentObservationTimeoutMs must be a finite positive number");
|
|
19124
|
+
}
|
|
19125
|
+
this.#subagentObservationTimeoutMs = subagentObservationTimeoutMs;
|
|
19108
19126
|
}
|
|
19109
19127
|
async inspect(input = {}) {
|
|
19110
19128
|
if (this.#closed) {
|
|
@@ -19287,6 +19305,7 @@ var AntigravityAdapter = class {
|
|
|
19287
19305
|
printTimeout: this.#printTimeout,
|
|
19288
19306
|
...params.thinkingOptionId ? { thinkingOptionId: params.thinkingOptionId } : {},
|
|
19289
19307
|
toolOutputLimit: this.#toolOutputLimit,
|
|
19308
|
+
subagentObservationTimeoutMs: this.#subagentObservationTimeoutMs,
|
|
19290
19309
|
onClosed: () => this.#sessions.delete(session2)
|
|
19291
19310
|
});
|
|
19292
19311
|
this.#sessions.add(session2);
|
|
@@ -19322,6 +19341,7 @@ var AntigravityAdapter = class {
|
|
|
19322
19341
|
printTimeout: this.#printTimeout,
|
|
19323
19342
|
...params.thinkingOptionId ? { thinkingOptionId: params.thinkingOptionId } : {},
|
|
19324
19343
|
toolOutputLimit: this.#toolOutputLimit,
|
|
19344
|
+
subagentObservationTimeoutMs: this.#subagentObservationTimeoutMs,
|
|
19325
19345
|
onClosed: () => this.#sessions.delete(session2)
|
|
19326
19346
|
});
|
|
19327
19347
|
this.#sessions.add(session2);
|
|
@@ -19378,6 +19398,7 @@ var AntigravityAdapter = class {
|
|
|
19378
19398
|
printTimeout: this.#printTimeout,
|
|
19379
19399
|
...thinkingOptionId ? { thinkingOptionId } : {},
|
|
19380
19400
|
toolOutputLimit: this.#toolOutputLimit,
|
|
19401
|
+
subagentObservationTimeoutMs: this.#subagentObservationTimeoutMs,
|
|
19381
19402
|
onClosed: () => this.#sessions.delete(session)
|
|
19382
19403
|
});
|
|
19383
19404
|
this.#sessions.add(session);
|