@liberseek/boft-cli-win32-arm64 0.6.9 → 0.7.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/THIRD_PARTY_NOTICES.txt +12 -0
- package/app/codexhost-distribution.json +1 -1
- package/app/desktop-controller.mjs +67 -27
- package/app/host-runtime.mjs +1963 -880
- package/app/plugins/antigravity/plugin.mjs +44 -15
- package/app/plugins/claude-code/plugin.mjs +59 -12
- package/app/plugins/codebuddy/plugin.mjs +76 -23
- package/app/plugins/cursor-cli/plugin.mjs +43 -4
- package/app/plugins/deepseek-harness/plugin.mjs +55 -7
- package/app/plugins/enabled.json +3 -1
- package/app/plugins/grok/plugin.mjs +68 -15
- package/app/plugins/hermes/plugin.mjs +40 -3
- package/app/plugins/kiro-cli/plugin.mjs +50 -3
- package/app/plugins/muse/plugin.mjs +40 -0
- package/app/plugins/omp/plugin.mjs +53 -6
- package/app/plugins/opencode/plugin.mjs +92 -46
- package/app/plugins/pi/plugin.mjs +53 -6
- package/app/plugins/qoder/assets/icon.svg +1 -0
- package/app/plugins/qoder/manifest.json +12 -0
- package/app/plugins/qoder/plugin.mjs +52290 -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 +52288 -0
- package/app/renderer-extension.js +3297 -162
- package/bin/boft.exe +0 -0
- package/libexec/boft-node-repl.exe +0 -0
- package/libexec/boft-shim.exe +0 -0
- package/libexec/boft-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
|
@@ -18687,6 +18687,46 @@ var ClientSideConnection = class {
|
|
|
18687
18687
|
// ../../shared-contracts/dist/version.js
|
|
18688
18688
|
var WORKSPACE_CONTRACT_VERSION = 1;
|
|
18689
18689
|
|
|
18690
|
+
// ../../shared-contracts/dist/idle-release.js
|
|
18691
|
+
var IDLE_RELEASE_TIMEOUT_MINUTES_MIN = 5;
|
|
18692
|
+
var IDLE_RELEASE_TIMEOUT_MINUTES_MAX = 1440;
|
|
18693
|
+
var idleReleaseSettingsSchema = external_exports.strictObject({
|
|
18694
|
+
enabled: external_exports.boolean(),
|
|
18695
|
+
timeoutMinutes: external_exports.number().int().min(IDLE_RELEASE_TIMEOUT_MINUTES_MIN).max(IDLE_RELEASE_TIMEOUT_MINUTES_MAX)
|
|
18696
|
+
});
|
|
18697
|
+
var DEFAULT_IDLE_RELEASE_SETTINGS = Object.freeze({
|
|
18698
|
+
enabled: false,
|
|
18699
|
+
timeoutMinutes: 30
|
|
18700
|
+
});
|
|
18701
|
+
|
|
18702
|
+
// ../../shared-contracts/dist/loaded-sessions.js
|
|
18703
|
+
var loadedSessionStateSchema = external_exports.enum([
|
|
18704
|
+
"idle",
|
|
18705
|
+
"running",
|
|
18706
|
+
"busy",
|
|
18707
|
+
"closing",
|
|
18708
|
+
"failed",
|
|
18709
|
+
"blocked"
|
|
18710
|
+
]);
|
|
18711
|
+
var loadedSessionReasonSchema = external_exports.enum([
|
|
18712
|
+
"none",
|
|
18713
|
+
"disabled",
|
|
18714
|
+
"timeout",
|
|
18715
|
+
"operation",
|
|
18716
|
+
"background",
|
|
18717
|
+
"identity",
|
|
18718
|
+
"persistence",
|
|
18719
|
+
"closeFailed"
|
|
18720
|
+
]);
|
|
18721
|
+
var loadedSessionsSchema = external_exports.array(external_exports.strictObject({
|
|
18722
|
+
threadId: external_exports.string(),
|
|
18723
|
+
title: external_exports.string(),
|
|
18724
|
+
harnessId: external_exports.string(),
|
|
18725
|
+
state: loadedSessionStateSchema,
|
|
18726
|
+
reason: loadedSessionReasonSchema,
|
|
18727
|
+
inactiveMs: external_exports.number().nonnegative()
|
|
18728
|
+
}));
|
|
18729
|
+
|
|
18690
18730
|
// ../../shared-contracts/dist/ids.js
|
|
18691
18731
|
var opaqueIdSchema = external_exports.string().refine((value) => value.trim().length > 0, {
|
|
18692
18732
|
message: "Identifier must not be empty or whitespace"
|
|
@@ -21490,6 +21530,7 @@ function mapGrokReplay(replay, harnessId, sessionId, cwd, knownTurnRefs = [], to
|
|
|
21490
21530
|
const fileItem = {
|
|
21491
21531
|
type: "fileChange",
|
|
21492
21532
|
itemId: stableId("file-change", turnIndex, ++messageIndex),
|
|
21533
|
+
sourceItemIds: [tool.itemId],
|
|
21493
21534
|
changes
|
|
21494
21535
|
};
|
|
21495
21536
|
items.push({ item: fileItem, outcome: { status: "succeeded" } });
|
|
@@ -22164,6 +22205,12 @@ async function rewindGrokLastTurn(input) {
|
|
|
22164
22205
|
|
|
22165
22206
|
// dist/grok-plan-review.js
|
|
22166
22207
|
var GROK_PLAN_DECISION_ID = "plan-decision";
|
|
22208
|
+
var GROK_PLAN_APPROVE_VALUE = "approve";
|
|
22209
|
+
var GROK_PLAN_APPROVE_LABEL = "Approve plan and exit plan mode";
|
|
22210
|
+
var GROK_PLAN_STAY_VALUE = "stay";
|
|
22211
|
+
var GROK_PLAN_STAY_LABEL = "Stay in plan mode";
|
|
22212
|
+
var GROK_PLAN_OUTCOME_APPROVED = "approved";
|
|
22213
|
+
var GROK_PLAN_OUTCOME_CANCELLED = "cancelled";
|
|
22167
22214
|
function isRecord10(value) {
|
|
22168
22215
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
22169
22216
|
}
|
|
@@ -22202,19 +22249,23 @@ function createGrokPlanReview(request, interactionId, turnId) {
|
|
|
22202
22249
|
prompt: request.plan ? `${warning}
|
|
22203
22250
|
|
|
22204
22251
|
${request.plan}` : "Grok did not provide plan text. Stay in plan mode and ask Grok to present the plan before approving it.",
|
|
22205
|
-
options: [
|
|
22252
|
+
options: request.plan ? [
|
|
22206
22253
|
{
|
|
22207
|
-
value:
|
|
22208
|
-
label:
|
|
22209
|
-
description: "
|
|
22254
|
+
value: GROK_PLAN_APPROVE_VALUE,
|
|
22255
|
+
label: GROK_PLAN_APPROVE_LABEL,
|
|
22256
|
+
description: "Leave plan mode and begin implementation."
|
|
22210
22257
|
},
|
|
22211
|
-
|
|
22212
|
-
|
|
22213
|
-
|
|
22214
|
-
|
|
22215
|
-
|
|
22216
|
-
|
|
22217
|
-
|
|
22258
|
+
{
|
|
22259
|
+
value: GROK_PLAN_STAY_VALUE,
|
|
22260
|
+
label: GROK_PLAN_STAY_LABEL,
|
|
22261
|
+
description: "Do not approve the plan or begin implementation."
|
|
22262
|
+
}
|
|
22263
|
+
] : [
|
|
22264
|
+
{
|
|
22265
|
+
value: GROK_PLAN_STAY_VALUE,
|
|
22266
|
+
label: GROK_PLAN_STAY_LABEL,
|
|
22267
|
+
description: "Do not approve the plan or begin implementation."
|
|
22268
|
+
}
|
|
22218
22269
|
],
|
|
22219
22270
|
multiple: false,
|
|
22220
22271
|
allowOther: false,
|
|
@@ -22224,12 +22275,13 @@ ${request.plan}` : "Grok did not provide plan text. Stay in plan mode and ask Gr
|
|
|
22224
22275
|
};
|
|
22225
22276
|
}
|
|
22226
22277
|
function grokPlanRejectedResponse() {
|
|
22227
|
-
return {
|
|
22278
|
+
return { outcome: GROK_PLAN_OUTCOME_CANCELLED };
|
|
22228
22279
|
}
|
|
22229
22280
|
function grokExitPlanModeResponse(request, response) {
|
|
22281
|
+
const decision = response.answers[GROK_PLAN_DECISION_ID]?.[0];
|
|
22282
|
+
const approved = !response.cancelled && request.plan !== null && (decision === GROK_PLAN_APPROVE_VALUE || decision === GROK_PLAN_APPROVE_LABEL);
|
|
22230
22283
|
return {
|
|
22231
|
-
|
|
22232
|
-
feedback: ""
|
|
22284
|
+
outcome: approved ? GROK_PLAN_OUTCOME_APPROVED : GROK_PLAN_OUTCOME_CANCELLED
|
|
22233
22285
|
};
|
|
22234
22286
|
}
|
|
22235
22287
|
|
|
@@ -24059,7 +24111,7 @@ var GrokHarnessSession = class {
|
|
|
24059
24111
|
return this.#configure(model, parsed.data);
|
|
24060
24112
|
}
|
|
24061
24113
|
async #configure(model, thinkingOptionId) {
|
|
24062
|
-
if (this.#
|
|
24114
|
+
if (this.#configuring) {
|
|
24063
24115
|
return {
|
|
24064
24116
|
ok: false,
|
|
24065
24117
|
error: {
|
|
@@ -24545,6 +24597,7 @@ var GrokHarnessSession = class {
|
|
|
24545
24597
|
const fileItem = {
|
|
24546
24598
|
type: "fileChange",
|
|
24547
24599
|
itemId: hostItemIdSchema.parse(this.#randomUUID()),
|
|
24600
|
+
sourceItemIds: [tool.item.itemId],
|
|
24548
24601
|
changes
|
|
24549
24602
|
};
|
|
24550
24603
|
this.#event({ type: "item.started", turnId: active.command.turnId, item: fileItem });
|
|
@@ -14525,6 +14525,46 @@ config(en_default());
|
|
|
14525
14525
|
// ../../shared-contracts/dist/version.js
|
|
14526
14526
|
var WORKSPACE_CONTRACT_VERSION = 1;
|
|
14527
14527
|
|
|
14528
|
+
// ../../shared-contracts/dist/idle-release.js
|
|
14529
|
+
var IDLE_RELEASE_TIMEOUT_MINUTES_MIN = 5;
|
|
14530
|
+
var IDLE_RELEASE_TIMEOUT_MINUTES_MAX = 1440;
|
|
14531
|
+
var idleReleaseSettingsSchema = external_exports.strictObject({
|
|
14532
|
+
enabled: external_exports.boolean(),
|
|
14533
|
+
timeoutMinutes: external_exports.number().int().min(IDLE_RELEASE_TIMEOUT_MINUTES_MIN).max(IDLE_RELEASE_TIMEOUT_MINUTES_MAX)
|
|
14534
|
+
});
|
|
14535
|
+
var DEFAULT_IDLE_RELEASE_SETTINGS = Object.freeze({
|
|
14536
|
+
enabled: false,
|
|
14537
|
+
timeoutMinutes: 30
|
|
14538
|
+
});
|
|
14539
|
+
|
|
14540
|
+
// ../../shared-contracts/dist/loaded-sessions.js
|
|
14541
|
+
var loadedSessionStateSchema = external_exports.enum([
|
|
14542
|
+
"idle",
|
|
14543
|
+
"running",
|
|
14544
|
+
"busy",
|
|
14545
|
+
"closing",
|
|
14546
|
+
"failed",
|
|
14547
|
+
"blocked"
|
|
14548
|
+
]);
|
|
14549
|
+
var loadedSessionReasonSchema = external_exports.enum([
|
|
14550
|
+
"none",
|
|
14551
|
+
"disabled",
|
|
14552
|
+
"timeout",
|
|
14553
|
+
"operation",
|
|
14554
|
+
"background",
|
|
14555
|
+
"identity",
|
|
14556
|
+
"persistence",
|
|
14557
|
+
"closeFailed"
|
|
14558
|
+
]);
|
|
14559
|
+
var loadedSessionsSchema = external_exports.array(external_exports.strictObject({
|
|
14560
|
+
threadId: external_exports.string(),
|
|
14561
|
+
title: external_exports.string(),
|
|
14562
|
+
harnessId: external_exports.string(),
|
|
14563
|
+
state: loadedSessionStateSchema,
|
|
14564
|
+
reason: loadedSessionReasonSchema,
|
|
14565
|
+
inactiveMs: external_exports.number().nonnegative()
|
|
14566
|
+
}));
|
|
14567
|
+
|
|
14528
14568
|
// ../../shared-contracts/dist/ids.js
|
|
14529
14569
|
var opaqueIdSchema = external_exports.string().refine((value) => value.trim().length > 0, {
|
|
14530
14570
|
message: "Identifier must not be empty or whitespace"
|
|
@@ -21257,9 +21297,6 @@ var HermesSession = class {
|
|
|
21257
21297
|
}
|
|
21258
21298
|
}
|
|
21259
21299
|
async #selectModel(command) {
|
|
21260
|
-
if (this.#activeTurn) {
|
|
21261
|
-
return err("sessionBusy", "Model selection conflicts with an active Turn", true);
|
|
21262
|
-
}
|
|
21263
21300
|
const native = decodeHermesModelRefId(command.model.id);
|
|
21264
21301
|
if (!native) {
|
|
21265
21302
|
return err("invalidRequest", "Model Ref does not belong to Hermes");
|
|
@@ -14526,6 +14526,46 @@ config(en_default());
|
|
|
14526
14526
|
// ../../shared-contracts/dist/version.js
|
|
14527
14527
|
var WORKSPACE_CONTRACT_VERSION = 1;
|
|
14528
14528
|
|
|
14529
|
+
// ../../shared-contracts/dist/idle-release.js
|
|
14530
|
+
var IDLE_RELEASE_TIMEOUT_MINUTES_MIN = 5;
|
|
14531
|
+
var IDLE_RELEASE_TIMEOUT_MINUTES_MAX = 1440;
|
|
14532
|
+
var idleReleaseSettingsSchema = external_exports.strictObject({
|
|
14533
|
+
enabled: external_exports.boolean(),
|
|
14534
|
+
timeoutMinutes: external_exports.number().int().min(IDLE_RELEASE_TIMEOUT_MINUTES_MIN).max(IDLE_RELEASE_TIMEOUT_MINUTES_MAX)
|
|
14535
|
+
});
|
|
14536
|
+
var DEFAULT_IDLE_RELEASE_SETTINGS = Object.freeze({
|
|
14537
|
+
enabled: false,
|
|
14538
|
+
timeoutMinutes: 30
|
|
14539
|
+
});
|
|
14540
|
+
|
|
14541
|
+
// ../../shared-contracts/dist/loaded-sessions.js
|
|
14542
|
+
var loadedSessionStateSchema = external_exports.enum([
|
|
14543
|
+
"idle",
|
|
14544
|
+
"running",
|
|
14545
|
+
"busy",
|
|
14546
|
+
"closing",
|
|
14547
|
+
"failed",
|
|
14548
|
+
"blocked"
|
|
14549
|
+
]);
|
|
14550
|
+
var loadedSessionReasonSchema = external_exports.enum([
|
|
14551
|
+
"none",
|
|
14552
|
+
"disabled",
|
|
14553
|
+
"timeout",
|
|
14554
|
+
"operation",
|
|
14555
|
+
"background",
|
|
14556
|
+
"identity",
|
|
14557
|
+
"persistence",
|
|
14558
|
+
"closeFailed"
|
|
14559
|
+
]);
|
|
14560
|
+
var loadedSessionsSchema = external_exports.array(external_exports.strictObject({
|
|
14561
|
+
threadId: external_exports.string(),
|
|
14562
|
+
title: external_exports.string(),
|
|
14563
|
+
harnessId: external_exports.string(),
|
|
14564
|
+
state: loadedSessionStateSchema,
|
|
14565
|
+
reason: loadedSessionReasonSchema,
|
|
14566
|
+
inactiveMs: external_exports.number().nonnegative()
|
|
14567
|
+
}));
|
|
14568
|
+
|
|
14529
14569
|
// ../../shared-contracts/dist/ids.js
|
|
14530
14570
|
var opaqueIdSchema = external_exports.string().refine((value) => value.trim().length > 0, {
|
|
14531
14571
|
message: "Identifier must not be empty or whitespace"
|
|
@@ -21708,6 +21748,7 @@ var KiroTurnOutput = class {
|
|
|
21708
21748
|
const file2 = {
|
|
21709
21749
|
type: "fileChange",
|
|
21710
21750
|
itemId: hostItemIdSchema.parse(`file-${tool.item.itemId}`),
|
|
21751
|
+
sourceItemIds: [tool.item.itemId],
|
|
21711
21752
|
changes: changes ?? []
|
|
21712
21753
|
};
|
|
21713
21754
|
if (tool.file) {
|
|
@@ -22091,6 +22132,10 @@ async function readKiroSnapshot(location) {
|
|
|
22091
22132
|
const completedAtMs = Date.parse(end?.timestamp ?? "");
|
|
22092
22133
|
const hasTiming = Number.isFinite(startedAtMs) && Number.isFinite(completedAtMs) && startedAtMs >= 0 && completedAtMs >= startedAtMs;
|
|
22093
22134
|
const lastContent = turn.rows.findLast((row) => row.payload.type === "tool_call" || row.payload.type === "assistant" && kiroVisibleText(historyText(row.payload)).trim().length > 0 && !["Reasoning", "Summary"].includes(String(row.payload.operationType)));
|
|
22135
|
+
const toolSources = new Map(turn.rows.filter((row) => row.payload.type === "tool_call").map((row) => [
|
|
22136
|
+
row.payload.toolCallId,
|
|
22137
|
+
hostItemIdSchema.parse(`kiro-${nativeSessionId}-${row.id}`)
|
|
22138
|
+
]));
|
|
22094
22139
|
for (const row of turn.rows) {
|
|
22095
22140
|
const type = row.payload?.type;
|
|
22096
22141
|
const itemId = hostItemIdSchema.parse(`kiro-${nativeSessionId}-${row.id}`);
|
|
@@ -22141,10 +22186,12 @@ async function readKiroSnapshot(location) {
|
|
|
22141
22186
|
} else if (type === "tool_result") {
|
|
22142
22187
|
const changes = row.payload.success === true ? projectKiroFileChanges(row.payload.content, location.cwd) : null;
|
|
22143
22188
|
if (changes) {
|
|
22189
|
+
const sourceItemId = toolSources.get(row.payload.toolCallId);
|
|
22144
22190
|
items.push({
|
|
22145
22191
|
item: {
|
|
22146
22192
|
type: "fileChange",
|
|
22147
22193
|
itemId,
|
|
22194
|
+
sourceItemIds: sourceItemId ? [sourceItemId] : [],
|
|
22148
22195
|
changes
|
|
22149
22196
|
},
|
|
22150
22197
|
outcome: { status: "succeeded" }
|
|
@@ -23005,12 +23052,12 @@ var KiroSession = class {
|
|
|
23005
23052
|
return { ok: true, value: { accepted: true } };
|
|
23006
23053
|
}
|
|
23007
23054
|
async #selectModel(command) {
|
|
23008
|
-
if (this.#
|
|
23055
|
+
if (this.#configBusy) {
|
|
23009
23056
|
return {
|
|
23010
23057
|
ok: false,
|
|
23011
23058
|
error: {
|
|
23012
23059
|
code: "sessionBusy",
|
|
23013
|
-
message: "
|
|
23060
|
+
message: "Another configuration change is in progress",
|
|
23014
23061
|
retryable: false
|
|
23015
23062
|
}
|
|
23016
23063
|
};
|
|
@@ -23101,7 +23148,7 @@ var KiroSession = class {
|
|
|
23101
23148
|
});
|
|
23102
23149
|
}
|
|
23103
23150
|
async #selectThinking(command) {
|
|
23104
|
-
if (this.#
|
|
23151
|
+
if (this.#configBusy) {
|
|
23105
23152
|
return {
|
|
23106
23153
|
ok: false,
|
|
23107
23154
|
error: { code: "sessionBusy", message: "Session is busy", retryable: true }
|
|
@@ -14777,6 +14777,46 @@ config(en_default());
|
|
|
14777
14777
|
// ../../shared-contracts/dist/version.js
|
|
14778
14778
|
var WORKSPACE_CONTRACT_VERSION = 1;
|
|
14779
14779
|
|
|
14780
|
+
// ../../shared-contracts/dist/idle-release.js
|
|
14781
|
+
var IDLE_RELEASE_TIMEOUT_MINUTES_MIN = 5;
|
|
14782
|
+
var IDLE_RELEASE_TIMEOUT_MINUTES_MAX = 1440;
|
|
14783
|
+
var idleReleaseSettingsSchema = external_exports.strictObject({
|
|
14784
|
+
enabled: external_exports.boolean(),
|
|
14785
|
+
timeoutMinutes: external_exports.number().int().min(IDLE_RELEASE_TIMEOUT_MINUTES_MIN).max(IDLE_RELEASE_TIMEOUT_MINUTES_MAX)
|
|
14786
|
+
});
|
|
14787
|
+
var DEFAULT_IDLE_RELEASE_SETTINGS = Object.freeze({
|
|
14788
|
+
enabled: false,
|
|
14789
|
+
timeoutMinutes: 30
|
|
14790
|
+
});
|
|
14791
|
+
|
|
14792
|
+
// ../../shared-contracts/dist/loaded-sessions.js
|
|
14793
|
+
var loadedSessionStateSchema = external_exports.enum([
|
|
14794
|
+
"idle",
|
|
14795
|
+
"running",
|
|
14796
|
+
"busy",
|
|
14797
|
+
"closing",
|
|
14798
|
+
"failed",
|
|
14799
|
+
"blocked"
|
|
14800
|
+
]);
|
|
14801
|
+
var loadedSessionReasonSchema = external_exports.enum([
|
|
14802
|
+
"none",
|
|
14803
|
+
"disabled",
|
|
14804
|
+
"timeout",
|
|
14805
|
+
"operation",
|
|
14806
|
+
"background",
|
|
14807
|
+
"identity",
|
|
14808
|
+
"persistence",
|
|
14809
|
+
"closeFailed"
|
|
14810
|
+
]);
|
|
14811
|
+
var loadedSessionsSchema = external_exports.array(external_exports.strictObject({
|
|
14812
|
+
threadId: external_exports.string(),
|
|
14813
|
+
title: external_exports.string(),
|
|
14814
|
+
harnessId: external_exports.string(),
|
|
14815
|
+
state: loadedSessionStateSchema,
|
|
14816
|
+
reason: loadedSessionReasonSchema,
|
|
14817
|
+
inactiveMs: external_exports.number().nonnegative()
|
|
14818
|
+
}));
|
|
14819
|
+
|
|
14780
14820
|
// ../../shared-contracts/dist/ids.js
|
|
14781
14821
|
var opaqueIdSchema = external_exports.string().refine((value) => value.trim().length > 0, {
|
|
14782
14822
|
message: "Identifier must not be empty or whitespace"
|
|
@@ -15046,6 +15046,46 @@ config(en_default());
|
|
|
15046
15046
|
// ../../shared-contracts/dist/version.js
|
|
15047
15047
|
var WORKSPACE_CONTRACT_VERSION = 1;
|
|
15048
15048
|
|
|
15049
|
+
// ../../shared-contracts/dist/idle-release.js
|
|
15050
|
+
var IDLE_RELEASE_TIMEOUT_MINUTES_MIN = 5;
|
|
15051
|
+
var IDLE_RELEASE_TIMEOUT_MINUTES_MAX = 1440;
|
|
15052
|
+
var idleReleaseSettingsSchema = external_exports.strictObject({
|
|
15053
|
+
enabled: external_exports.boolean(),
|
|
15054
|
+
timeoutMinutes: external_exports.number().int().min(IDLE_RELEASE_TIMEOUT_MINUTES_MIN).max(IDLE_RELEASE_TIMEOUT_MINUTES_MAX)
|
|
15055
|
+
});
|
|
15056
|
+
var DEFAULT_IDLE_RELEASE_SETTINGS = Object.freeze({
|
|
15057
|
+
enabled: false,
|
|
15058
|
+
timeoutMinutes: 30
|
|
15059
|
+
});
|
|
15060
|
+
|
|
15061
|
+
// ../../shared-contracts/dist/loaded-sessions.js
|
|
15062
|
+
var loadedSessionStateSchema = external_exports.enum([
|
|
15063
|
+
"idle",
|
|
15064
|
+
"running",
|
|
15065
|
+
"busy",
|
|
15066
|
+
"closing",
|
|
15067
|
+
"failed",
|
|
15068
|
+
"blocked"
|
|
15069
|
+
]);
|
|
15070
|
+
var loadedSessionReasonSchema = external_exports.enum([
|
|
15071
|
+
"none",
|
|
15072
|
+
"disabled",
|
|
15073
|
+
"timeout",
|
|
15074
|
+
"operation",
|
|
15075
|
+
"background",
|
|
15076
|
+
"identity",
|
|
15077
|
+
"persistence",
|
|
15078
|
+
"closeFailed"
|
|
15079
|
+
]);
|
|
15080
|
+
var loadedSessionsSchema = external_exports.array(external_exports.strictObject({
|
|
15081
|
+
threadId: external_exports.string(),
|
|
15082
|
+
title: external_exports.string(),
|
|
15083
|
+
harnessId: external_exports.string(),
|
|
15084
|
+
state: loadedSessionStateSchema,
|
|
15085
|
+
reason: loadedSessionReasonSchema,
|
|
15086
|
+
inactiveMs: external_exports.number().nonnegative()
|
|
15087
|
+
}));
|
|
15088
|
+
|
|
15049
15089
|
// ../../shared-contracts/dist/ids.js
|
|
15050
15090
|
var opaqueIdSchema = external_exports.string().refine((value) => value.trim().length > 0, {
|
|
15051
15091
|
message: "Identifier must not be empty or whitespace"
|
|
@@ -18609,7 +18649,8 @@ function synthesizeFileChange(kind, args, cwd) {
|
|
|
18609
18649
|
{
|
|
18610
18650
|
path: displayed.path,
|
|
18611
18651
|
kind: "add",
|
|
18612
|
-
unifiedDiff: createTwoFilesPatch(oldHeader2, newHeader2, "", content, "", "", { context: 3 })
|
|
18652
|
+
unifiedDiff: createTwoFilesPatch(oldHeader2, newHeader2, "", content, "", "", { context: 3 }),
|
|
18653
|
+
diffScope: "fragment"
|
|
18613
18654
|
}
|
|
18614
18655
|
];
|
|
18615
18656
|
}
|
|
@@ -18631,7 +18672,8 @@ function synthesizeFileChange(kind, args, cwd) {
|
|
|
18631
18672
|
kind: "update",
|
|
18632
18673
|
unifiedDiff: createTwoFilesPatch(oldHeader, newHeader, oldText, newText, "", "", {
|
|
18633
18674
|
context: 3
|
|
18634
|
-
})
|
|
18675
|
+
}),
|
|
18676
|
+
diffScope: "fragment"
|
|
18635
18677
|
}
|
|
18636
18678
|
];
|
|
18637
18679
|
}
|
|
@@ -19028,7 +19070,7 @@ var OmpHarnessSession = class {
|
|
|
19028
19070
|
return this.#closePromise;
|
|
19029
19071
|
}
|
|
19030
19072
|
async #selectModel(command) {
|
|
19031
|
-
if (this.#acceptingTurn || this.#
|
|
19073
|
+
if (this.#acceptingTurn || this.#configuring) {
|
|
19032
19074
|
return {
|
|
19033
19075
|
ok: false,
|
|
19034
19076
|
error: {
|
|
@@ -19100,7 +19142,7 @@ var OmpHarnessSession = class {
|
|
|
19100
19142
|
}
|
|
19101
19143
|
};
|
|
19102
19144
|
}
|
|
19103
|
-
if (this.#acceptingTurn || this.#
|
|
19145
|
+
if (this.#acceptingTurn || this.#configuring) {
|
|
19104
19146
|
return {
|
|
19105
19147
|
ok: false,
|
|
19106
19148
|
error: {
|
|
@@ -19885,12 +19927,17 @@ var OmpHarnessSession = class {
|
|
|
19885
19927
|
try {
|
|
19886
19928
|
const kind = fileMutatingKind(event.toolName);
|
|
19887
19929
|
const args = tool.arguments;
|
|
19888
|
-
if (kind && synthesizeFileChange(kind, args, this.#cwd)) {
|
|
19930
|
+
if (kind && !patchFromResult(event.result) && synthesizeFileChange(kind, args, this.#cwd)) {
|
|
19889
19931
|
return;
|
|
19890
19932
|
}
|
|
19891
19933
|
const changes = reliableFileChange(event.toolName, args, event.result, this.#cwd);
|
|
19892
19934
|
if (changes) {
|
|
19893
|
-
const fileItem = {
|
|
19935
|
+
const fileItem = {
|
|
19936
|
+
type: "fileChange",
|
|
19937
|
+
itemId: this.#newItemId(),
|
|
19938
|
+
sourceItemIds: [tool.item.itemId],
|
|
19939
|
+
changes
|
|
19940
|
+
};
|
|
19894
19941
|
this.#event({ type: "item.started", turnId: active.command.turnId, item: fileItem });
|
|
19895
19942
|
this.#completeItem(active, fileItem, { status: "succeeded" });
|
|
19896
19943
|
}
|