@cmmd-center/forge 0.13.101 → 0.13.103
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/dist/bin.cjs +22 -8
- package/dist/bin.mjs +46 -32
- package/dist/client/assets/{DiffPanel-B1O5esHH.js → DiffPanel-WWhSWAaf.js} +2 -2
- package/dist/client/assets/{DiffPanel.logic-BVcZbNTB.js → DiffPanel.logic-Bu6MDmmr.js} +2 -2
- package/dist/client/assets/{DiffWorkerPoolProvider-Bz8DClVb.js → DiffWorkerPoolProvider-BLhaCAUc.js} +2 -2
- package/dist/client/assets/{PullRequestCodePanel-DKNNpjez.js → PullRequestCodePanel-Bn2lCALy.js} +2 -2
- package/dist/client/assets/{Virtualizer-DGjaQEMH.js → Virtualizer-BdR7IE2H.js} +2 -2
- package/dist/client/assets/{WorkerPoolContext-BUT5KWaW.js → WorkerPoolContext-Cqkudld4.js} +3 -3
- package/dist/client/assets/{index-BiWD8lur.js → index-DWp6jdTW.js} +6 -6
- package/dist/client/index.html +4 -4
- package/dist/forge-build.json +1 -1
- package/dist/{open-2-reBrpv.mjs → open-yHTUkd2Y.mjs} +3 -3
- package/package.json +1 -1
package/dist/bin.cjs
CHANGED
|
@@ -66332,7 +66332,7 @@ function normalizeNumberish(value) {
|
|
|
66332
66332
|
}
|
|
66333
66333
|
//#endregion
|
|
66334
66334
|
//#region package.json
|
|
66335
|
-
var version$1 = "0.13.
|
|
66335
|
+
var version$1 = "0.13.103";
|
|
66336
66336
|
//#endregion
|
|
66337
66337
|
//#region src/sentry.ts
|
|
66338
66338
|
const SERVER_APP_NAME = "forge-server";
|
|
@@ -154444,6 +154444,7 @@ var CodexAppServerManager = class extends node_events.EventEmitter {
|
|
|
154444
154444
|
}
|
|
154445
154445
|
if (isChildConversation && this.shouldSuppressChildConversationNotification(notification.method)) return;
|
|
154446
154446
|
const textDelta = notification.method === "item/agentMessage/delta" ? this.readString(notification.params, "delta") : void 0;
|
|
154447
|
+
const routedTurnId = notification.method === "thread/tokenUsage/updated" && !isChildConversation && rawRoute.turnId !== void 0 && rawRoute.turnId !== context.session.activeTurnId ? void 0 : childParentTurnId ?? rawRoute.turnId;
|
|
154447
154448
|
this.emitEvent({
|
|
154448
154449
|
id: EventId.make((0, node_crypto.randomUUID)()),
|
|
154449
154450
|
kind: "notification",
|
|
@@ -154451,7 +154452,7 @@ var CodexAppServerManager = class extends node_events.EventEmitter {
|
|
|
154451
154452
|
threadId: context.session.threadId,
|
|
154452
154453
|
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
154453
154454
|
method: notification.method,
|
|
154454
|
-
...
|
|
154455
|
+
...routedTurnId ? { turnId: routedTurnId } : {},
|
|
154455
154456
|
...rawRoute.itemId ? { itemId: rawRoute.itemId } : {},
|
|
154456
154457
|
textDelta,
|
|
154457
154458
|
payload: notification.params
|
|
@@ -295897,16 +295898,29 @@ const makeSpriteTaskHoldReactor = (overrides = {}) => require_Schema$1.gen(funct
|
|
|
295897
295898
|
const runtimeId = replicationRuntimeId;
|
|
295898
295899
|
const streamKey = `thread:${threadId}`;
|
|
295899
295900
|
const startedAt = Date.now();
|
|
295900
|
-
const poll = (phase) => replicationOutbox.readPendingCount({
|
|
295901
|
+
const poll = (phase, seenNonzero = false) => replicationOutbox.readPendingCount({
|
|
295901
295902
|
runtimeId,
|
|
295902
295903
|
streamKey
|
|
295903
295904
|
}).pipe(require_Schema$1.flatMap((pending) => {
|
|
295904
295905
|
if (pending === 0) {
|
|
295905
|
-
if (phase === "initial"
|
|
295906
|
+
if (phase === "initial" || phase === "steady") {
|
|
295907
|
+
const remaining = flushTimeoutMs - (Date.now() - startedAt);
|
|
295908
|
+
if (remaining <= 0) return require_Schema$1.succeed({
|
|
295909
|
+
outcome: "timed_out",
|
|
295910
|
+
pending,
|
|
295911
|
+
settled: false
|
|
295912
|
+
});
|
|
295913
|
+
return require_Schema$1.sleep(Math.min(flushSettleMs, remaining)).pipe(require_Schema$1.andThen(require_Schema$1.suspend$1(() => poll("settle-recheck", seenNonzero))));
|
|
295914
|
+
}
|
|
295915
|
+
if (Date.now() - startedAt >= flushTimeoutMs) return require_Schema$1.succeed({
|
|
295916
|
+
outcome: "timed_out",
|
|
295917
|
+
pending,
|
|
295918
|
+
settled: false
|
|
295919
|
+
});
|
|
295906
295920
|
return require_Schema$1.succeed({
|
|
295907
|
-
outcome:
|
|
295921
|
+
outcome: seenNonzero ? "delivered" : "nothing_pending",
|
|
295908
295922
|
pending,
|
|
295909
|
-
settled:
|
|
295923
|
+
settled: true
|
|
295910
295924
|
});
|
|
295911
295925
|
}
|
|
295912
295926
|
if (Date.now() - startedAt >= flushTimeoutMs) return require_Schema$1.succeed({
|
|
@@ -295914,7 +295928,7 @@ const makeSpriteTaskHoldReactor = (overrides = {}) => require_Schema$1.gen(funct
|
|
|
295914
295928
|
pending,
|
|
295915
295929
|
settled: false
|
|
295916
295930
|
});
|
|
295917
|
-
return require_Schema$1.sleep(flushPollIntervalMs).pipe(require_Schema$1.andThen(require_Schema$1.suspend$1(() => poll("steady"))));
|
|
295931
|
+
return require_Schema$1.sleep(flushPollIntervalMs).pipe(require_Schema$1.andThen(require_Schema$1.suspend$1(() => poll("steady", true))));
|
|
295918
295932
|
}));
|
|
295919
295933
|
return poll("initial").pipe(require_Schema$1.flatMap(({ outcome, pending, settled }) => {
|
|
295920
295934
|
const elapsedMs = Date.now() - startedAt;
|
|
@@ -300283,7 +300297,7 @@ function resolveBuildCommitFromEnv(env) {
|
|
|
300283
300297
|
* environment descriptor down instead of reporting an honest "unknown".
|
|
300284
300298
|
*/
|
|
300285
300299
|
function readBakedBuildCommit() {
|
|
300286
|
-
return "
|
|
300300
|
+
return "f4f070acefe07be6602f75334f311f7b63bbecab";
|
|
300287
300301
|
}
|
|
300288
300302
|
async function resolveServerBuildCommit(input) {
|
|
300289
300303
|
if (isFullCommitSha(input.baked)) return input.baked;
|
package/dist/bin.mjs
CHANGED
|
@@ -23,7 +23,7 @@ import { createCipheriv, createDecipheriv, createHash, createHmac, createPublicK
|
|
|
23
23
|
import * as FS$1 from "node:fs";
|
|
24
24
|
import fs, { accessSync, chmodSync, constants, createReadStream, existsSync, mkdirSync, mkdtempSync, promises, readFile, readFileSync, readdir, readdirSync, realpathSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
|
|
25
25
|
import * as NodeOS from "node:os";
|
|
26
|
-
import
|
|
26
|
+
import os, { homedir, networkInterfaces, tmpdir } from "node:os";
|
|
27
27
|
import * as Path$1 from "node:path";
|
|
28
28
|
import path, { basename, delimiter, dirname, extname, isAbsolute, join, posix, relative, resolve, sep } from "node:path";
|
|
29
29
|
import { pathToFileURL } from "node:url";
|
|
@@ -50653,7 +50653,7 @@ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
|
|
|
50653
50653
|
const min = forceColor || 0;
|
|
50654
50654
|
if (env.TERM === "dumb") return min;
|
|
50655
50655
|
if (process$1.platform === "win32") {
|
|
50656
|
-
const osRelease =
|
|
50656
|
+
const osRelease = os.release().split(".");
|
|
50657
50657
|
if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) return Number(osRelease[2]) >= 14931 ? 3 : 2;
|
|
50658
50658
|
return 1;
|
|
50659
50659
|
}
|
|
@@ -53096,7 +53096,7 @@ var require_ProcessDetector = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
53096
53096
|
exports.processDetector = void 0;
|
|
53097
53097
|
const api_1 = (init_esm$1(), __toCommonJS(esm_exports$1));
|
|
53098
53098
|
const semconv_1 = require_semconv$1();
|
|
53099
|
-
const os$
|
|
53099
|
+
const os$4 = __require("os");
|
|
53100
53100
|
/**
|
|
53101
53101
|
* ProcessDetector will be used to detect the resources related current process running
|
|
53102
53102
|
* and being instrumented from the NodeJS Process module.
|
|
@@ -53118,7 +53118,7 @@ var require_ProcessDetector = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
53118
53118
|
};
|
|
53119
53119
|
if (process.argv.length > 1) attributes[semconv_1.ATTR_PROCESS_COMMAND] = process.argv[1];
|
|
53120
53120
|
try {
|
|
53121
|
-
const userInfo = os$
|
|
53121
|
+
const userInfo = os$4.userInfo();
|
|
53122
53122
|
attributes[semconv_1.ATTR_PROCESS_OWNER] = userInfo.username;
|
|
53123
53123
|
} catch (e) {
|
|
53124
53124
|
api_1.diag.debug(`error obtaining process owner: ${e}`);
|
|
@@ -66041,7 +66041,7 @@ function normalizeNumberish(value) {
|
|
|
66041
66041
|
}
|
|
66042
66042
|
//#endregion
|
|
66043
66043
|
//#region package.json
|
|
66044
|
-
var version$1 = "0.13.
|
|
66044
|
+
var version$1 = "0.13.103";
|
|
66045
66045
|
//#endregion
|
|
66046
66046
|
//#region src/sentry.ts
|
|
66047
66047
|
const SERVER_APP_NAME = "forge-server";
|
|
@@ -76111,7 +76111,7 @@ var require_node_gyp_build = /* @__PURE__ */ __commonJSMin(((exports, module) =>
|
|
|
76111
76111
|
var fs$6 = __require("fs");
|
|
76112
76112
|
var path$5 = __require("path");
|
|
76113
76113
|
var url$1 = __require("url");
|
|
76114
|
-
var os$
|
|
76114
|
+
var os$3 = __require("os");
|
|
76115
76115
|
var runtimeRequire = typeof __webpack_require__ === "function" ? __non_webpack_require__ : __require;
|
|
76116
76116
|
var vars = process.config && process.config.variables || {};
|
|
76117
76117
|
var prebuildsOnly = !!process.env.PREBUILDS_ONLY;
|
|
@@ -76119,8 +76119,8 @@ var require_node_gyp_build = /* @__PURE__ */ __commonJSMin(((exports, module) =>
|
|
|
76119
76119
|
var abi = versions.modules;
|
|
76120
76120
|
if (versions.deno || process.isBun) abi = "unsupported";
|
|
76121
76121
|
var runtime = isElectron() ? "electron" : isNwjs() ? "node-webkit" : "node";
|
|
76122
|
-
var arch = process.env.npm_config_arch || os$
|
|
76123
|
-
var platform = process.env.npm_config_platform || os$
|
|
76122
|
+
var arch = process.env.npm_config_arch || os$3.arch();
|
|
76123
|
+
var platform = process.env.npm_config_platform || os$3.platform();
|
|
76124
76124
|
var libc = process.env.LIBC || (isMusl(platform) ? "musl" : "glibc");
|
|
76125
76125
|
var armv = process.env.ARM_VERSION || (arch === "arm64" ? "8" : vars.arm_version) || "";
|
|
76126
76126
|
var uv = (versions.uv || "").split(".")[0];
|
|
@@ -93964,7 +93964,7 @@ const launchDetached = (launch) => gen(function* () {
|
|
|
93964
93964
|
});
|
|
93965
93965
|
const OpenLive = effect(Open, gen(function* () {
|
|
93966
93966
|
const open = yield* tryPromise({
|
|
93967
|
-
try: () => import("./open-
|
|
93967
|
+
try: () => import("./open-yHTUkd2Y.mjs"),
|
|
93968
93968
|
catch: (cause) => new OpenError$1({
|
|
93969
93969
|
message: "failed to load browser opener",
|
|
93970
93970
|
cause
|
|
@@ -154022,6 +154022,7 @@ var CodexAppServerManager = class extends EventEmitter$1 {
|
|
|
154022
154022
|
}
|
|
154023
154023
|
if (isChildConversation && this.shouldSuppressChildConversationNotification(notification.method)) return;
|
|
154024
154024
|
const textDelta = notification.method === "item/agentMessage/delta" ? this.readString(notification.params, "delta") : void 0;
|
|
154025
|
+
const routedTurnId = notification.method === "thread/tokenUsage/updated" && !isChildConversation && rawRoute.turnId !== void 0 && rawRoute.turnId !== context.session.activeTurnId ? void 0 : childParentTurnId ?? rawRoute.turnId;
|
|
154025
154026
|
this.emitEvent({
|
|
154026
154027
|
id: EventId.make(randomUUID()),
|
|
154027
154028
|
kind: "notification",
|
|
@@ -154029,7 +154030,7 @@ var CodexAppServerManager = class extends EventEmitter$1 {
|
|
|
154029
154030
|
threadId: context.session.threadId,
|
|
154030
154031
|
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
154031
154032
|
method: notification.method,
|
|
154032
|
-
...
|
|
154033
|
+
...routedTurnId ? { turnId: routedTurnId } : {},
|
|
154033
154034
|
...rawRoute.itemId ? { itemId: rawRoute.itemId } : {},
|
|
154034
154035
|
textDelta,
|
|
154035
154036
|
payload: notification.params
|
|
@@ -192214,7 +192215,7 @@ var Vce = {
|
|
|
192214
192215
|
function Ve() {
|
|
192215
192216
|
return Vce;
|
|
192216
192217
|
}
|
|
192217
|
-
var Us =
|
|
192218
|
+
var Us = os.homedir(), lk = os.tmpdir(), { env: Vc } = process$1, Yce = (e) => {
|
|
192218
192219
|
let t = path.join(Us, "Library");
|
|
192219
192220
|
return {
|
|
192220
192221
|
data: path.join(t, "Application Support", e),
|
|
@@ -202414,12 +202415,12 @@ function qZ(e, t) {
|
|
|
202414
202415
|
}
|
|
202415
202416
|
return n;
|
|
202416
202417
|
}
|
|
202417
|
-
var os$
|
|
202418
|
+
var os$2 = "https://code.claude.com/docs/en", kKe = [
|
|
202418
202419
|
{
|
|
202419
202420
|
matches: (e) => e.path === "permissions.defaultMode" && e.code === "invalid_value",
|
|
202420
202421
|
tip: {
|
|
202421
202422
|
suggestion: "Valid modes: \"acceptEdits\" (ask before file changes), \"plan\" (analysis only), \"bypassPermissions\" (auto-accept all), or \"default\" (standard behavior)",
|
|
202422
|
-
docLink: `${os$
|
|
202423
|
+
docLink: `${os$2}/iam#permission-modes`
|
|
202423
202424
|
}
|
|
202424
202425
|
},
|
|
202425
202426
|
{
|
|
@@ -202434,7 +202435,7 @@ var os$1 = "https://code.claude.com/docs/en", kKe = [
|
|
|
202434
202435
|
matches: (e) => e.path.startsWith("env.") && e.code === "invalid_type",
|
|
202435
202436
|
tip: {
|
|
202436
202437
|
suggestion: "Environment variables must be strings. Wrap numbers and booleans in quotes. Example: \"DEBUG\": \"true\", \"PORT\": \"3000\"",
|
|
202437
|
-
docLink: `${os$
|
|
202438
|
+
docLink: `${os$2}/settings#environment-variables`
|
|
202438
202439
|
}
|
|
202439
202440
|
},
|
|
202440
202441
|
{
|
|
@@ -202445,14 +202446,14 @@ var os$1 = "https://code.claude.com/docs/en", kKe = [
|
|
|
202445
202446
|
matches: (e) => e.path.startsWith("hooks.") && e.code === "invalid_key",
|
|
202446
202447
|
tip: {
|
|
202447
202448
|
suggestion: "Not a recognized hook event. Common events: PreToolUse, PostToolUse, UserPromptSubmit, SessionStart, SessionEnd, Stop. Check spelling and capitalization.",
|
|
202448
|
-
docLink: `${os$
|
|
202449
|
+
docLink: `${os$2}/hooks`
|
|
202449
202450
|
}
|
|
202450
202451
|
},
|
|
202451
202452
|
{
|
|
202452
202453
|
matches: (e) => /\.hooks\.\d+\.command$/.test(e.path) && e.code === "invalid_type" && e.received === "undefined",
|
|
202453
202454
|
tip: {
|
|
202454
202455
|
suggestion: "Command hooks require `command`. For exec form (no shell), set `command` to the executable and `args` to its arguments: {\"type\": \"command\", \"command\": \"echo\", \"args\": [\"hi\"]}. For shell form, set `command` to the full shell string: {\"type\": \"command\", \"command\": \"echo hi\"}.",
|
|
202455
|
-
docLink: `${os$
|
|
202456
|
+
docLink: `${os$2}/hooks#exec-form-and-shell-form`
|
|
202456
202457
|
}
|
|
202457
202458
|
},
|
|
202458
202459
|
{
|
|
@@ -202467,7 +202468,7 @@ var os$1 = "https://code.claude.com/docs/en", kKe = [
|
|
|
202467
202468
|
matches: (e) => e.code === "unrecognized_keys",
|
|
202468
202469
|
tip: {
|
|
202469
202470
|
suggestion: "Check for typos or refer to the documentation for valid fields",
|
|
202470
|
-
docLink: `${os$
|
|
202471
|
+
docLink: `${os$2}/settings`
|
|
202471
202472
|
}
|
|
202472
202473
|
},
|
|
202473
202474
|
{
|
|
@@ -202482,13 +202483,13 @@ var os$1 = "https://code.claude.com/docs/en", kKe = [
|
|
|
202482
202483
|
matches: (e) => e.path === "permissions.additionalDirectories" && e.code === "invalid_type",
|
|
202483
202484
|
tip: {
|
|
202484
202485
|
suggestion: "Must be an array of directory paths. Example: [\"~/projects\", \"/tmp/workspace\"]. You can also use --add-dir flag or /add-dir command",
|
|
202485
|
-
docLink: `${os$
|
|
202486
|
+
docLink: `${os$2}/iam#working-directories`
|
|
202486
202487
|
}
|
|
202487
202488
|
}
|
|
202488
202489
|
], AKe = {
|
|
202489
|
-
permissions: `${os$
|
|
202490
|
-
env: `${os$
|
|
202491
|
-
hooks: `${os$
|
|
202490
|
+
permissions: `${os$2}/iam#configuring-permissions`,
|
|
202491
|
+
env: `${os$2}/settings#environment-variables`,
|
|
202492
|
+
hooks: `${os$2}/hooks`
|
|
202492
202493
|
};
|
|
202493
202494
|
function GZ(e) {
|
|
202494
202495
|
let t = kKe.find((r) => r.matches(e));
|
|
@@ -271013,7 +271014,7 @@ var import_multicast_dns = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMi
|
|
|
271013
271014
|
var dgram = __require("dgram");
|
|
271014
271015
|
var thunky = require_thunky();
|
|
271015
271016
|
var events = __require("events");
|
|
271016
|
-
var os = __require("os");
|
|
271017
|
+
var os$1 = __require("os");
|
|
271017
271018
|
var noop = function() {};
|
|
271018
271019
|
module.exports = function(opts) {
|
|
271019
271020
|
if (!opts) opts = {};
|
|
@@ -271144,14 +271145,14 @@ var import_multicast_dns = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMi
|
|
|
271144
271145
|
return that;
|
|
271145
271146
|
};
|
|
271146
271147
|
function defaultInterface() {
|
|
271147
|
-
var networks = os.networkInterfaces();
|
|
271148
|
+
var networks = os$1.networkInterfaces();
|
|
271148
271149
|
var names = Object.keys(networks);
|
|
271149
271150
|
for (var i = 0; i < names.length; i++) {
|
|
271150
271151
|
var net = networks[names[i]];
|
|
271151
271152
|
for (var j = 0; j < net.length; j++) {
|
|
271152
271153
|
var iface = net[j];
|
|
271153
271154
|
if (isIPv4(iface.family) && !iface.internal) {
|
|
271154
|
-
if (os.platform() === "darwin" && names[i] === "en0") return iface.address;
|
|
271155
|
+
if (os$1.platform() === "darwin" && names[i] === "en0") return iface.address;
|
|
271155
271156
|
return "0.0.0.0";
|
|
271156
271157
|
}
|
|
271157
271158
|
}
|
|
@@ -271159,7 +271160,7 @@ var import_multicast_dns = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMi
|
|
|
271159
271160
|
return "127.0.0.1";
|
|
271160
271161
|
}
|
|
271161
271162
|
function allInterfaces() {
|
|
271162
|
-
var networks = os.networkInterfaces();
|
|
271163
|
+
var networks = os$1.networkInterfaces();
|
|
271163
271164
|
var names = Object.keys(networks);
|
|
271164
271165
|
var res = [];
|
|
271165
271166
|
for (var i = 0; i < names.length; i++) {
|
|
@@ -295375,16 +295376,29 @@ const makeSpriteTaskHoldReactor = (overrides = {}) => gen(function* () {
|
|
|
295375
295376
|
const runtimeId = replicationRuntimeId;
|
|
295376
295377
|
const streamKey = `thread:${threadId}`;
|
|
295377
295378
|
const startedAt = Date.now();
|
|
295378
|
-
const poll = (phase) => replicationOutbox.readPendingCount({
|
|
295379
|
+
const poll = (phase, seenNonzero = false) => replicationOutbox.readPendingCount({
|
|
295379
295380
|
runtimeId,
|
|
295380
295381
|
streamKey
|
|
295381
295382
|
}).pipe(flatMap((pending) => {
|
|
295382
295383
|
if (pending === 0) {
|
|
295383
|
-
if (phase === "initial"
|
|
295384
|
+
if (phase === "initial" || phase === "steady") {
|
|
295385
|
+
const remaining = flushTimeoutMs - (Date.now() - startedAt);
|
|
295386
|
+
if (remaining <= 0) return succeed({
|
|
295387
|
+
outcome: "timed_out",
|
|
295388
|
+
pending,
|
|
295389
|
+
settled: false
|
|
295390
|
+
});
|
|
295391
|
+
return sleep$4(Math.min(flushSettleMs, remaining)).pipe(andThen(suspend$1(() => poll("settle-recheck", seenNonzero))));
|
|
295392
|
+
}
|
|
295393
|
+
if (Date.now() - startedAt >= flushTimeoutMs) return succeed({
|
|
295394
|
+
outcome: "timed_out",
|
|
295395
|
+
pending,
|
|
295396
|
+
settled: false
|
|
295397
|
+
});
|
|
295384
295398
|
return succeed({
|
|
295385
|
-
outcome:
|
|
295399
|
+
outcome: seenNonzero ? "delivered" : "nothing_pending",
|
|
295386
295400
|
pending,
|
|
295387
|
-
settled:
|
|
295401
|
+
settled: true
|
|
295388
295402
|
});
|
|
295389
295403
|
}
|
|
295390
295404
|
if (Date.now() - startedAt >= flushTimeoutMs) return succeed({
|
|
@@ -295392,7 +295406,7 @@ const makeSpriteTaskHoldReactor = (overrides = {}) => gen(function* () {
|
|
|
295392
295406
|
pending,
|
|
295393
295407
|
settled: false
|
|
295394
295408
|
});
|
|
295395
|
-
return sleep$4(flushPollIntervalMs).pipe(andThen(suspend$1(() => poll("steady"))));
|
|
295409
|
+
return sleep$4(flushPollIntervalMs).pipe(andThen(suspend$1(() => poll("steady", true))));
|
|
295396
295410
|
}));
|
|
295397
295411
|
return poll("initial").pipe(flatMap(({ outcome, pending, settled }) => {
|
|
295398
295412
|
const elapsedMs = Date.now() - startedAt;
|
|
@@ -299730,7 +299744,7 @@ function resolveBuildCommitFromEnv(env) {
|
|
|
299730
299744
|
* environment descriptor down instead of reporting an honest "unknown".
|
|
299731
299745
|
*/
|
|
299732
299746
|
function readBakedBuildCommit() {
|
|
299733
|
-
return "
|
|
299747
|
+
return "f4f070acefe07be6602f75334f311f7b63bbecab";
|
|
299734
299748
|
}
|
|
299735
299749
|
async function resolveServerBuildCommit(input) {
|
|
299736
299750
|
if (isFullCommitSha(input.baked)) return input.baked;
|
|
@@ -324693,7 +324707,7 @@ const connectLoginCommand = make$33("login", {
|
|
|
324693
324707
|
})).json();
|
|
324694
324708
|
},
|
|
324695
324709
|
openBrowser: async (url) => {
|
|
324696
|
-
const open = (await import("./open-
|
|
324710
|
+
const open = (await import("./open-yHTUkd2Y.mjs")).default;
|
|
324697
324711
|
await open(url);
|
|
324698
324712
|
return true;
|
|
324699
324713
|
},
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{Ha as t,Mi as n,Ua as r,Wa as i}from"./Stream-mUTFnSY9.js";import{$l as a,Er as o,Fn as s,Hs as c,Rr as l,Sr as u,Tn as d,Tr as f,_l as p,c as m,d as h,ei as g,fi as _,fl as v,fn as y,gl as b,ii as x,is as S,jn as C,m as w,mi as T,ml as E,ms as D,o as O,qt as k,s as A,t as j,ti as M,u as N}from"./WorkerPoolContext-
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{Ha as t,Mi as n,Ua as r,Wa as i}from"./Stream-mUTFnSY9.js";import{$l as a,Er as o,Fn as s,Hs as c,Rr as l,Sr as u,Tn as d,Tr as f,_l as p,c as m,d as h,ei as g,fi as _,fl as v,fn as y,gl as b,ii as x,is as S,jn as C,m as w,mi as T,ml as E,ms as D,o as O,qt as k,s as A,t as j,ti as M,u as N}from"./WorkerPoolContext-Cqkudld4.js";import{hn as P}from"./CompositeItem-DNkNENOR.js";import{a as F,c as I,f as L,i as R,l as z,m as B,n as V,o as H,p as U,r as W,s as G,t as K}from"./Virtualizer-BdR7IE2H.js";import{Dn as q,at as J,it as ee}from"./src-DFTFXdyK.js";import"./cmmdAuthRedirect-DCgS12fq.js";import{a as te,c as ne,d as re,h as ie,i as ae,l as oe,m as se,n as ce,o as Y,p as le,r as ue,s as de,t as fe,u as pe}from"./DiffPanel.logic-Bu6MDmmr.js";var X=e(i(),1),me=typeof window>`u`?X.useEffect:X.useLayoutEffect;function he({fileDiff:e,options:t,editorOptions:n,lineAnnotations:r,selectedLines:i,prerenderedHTML:a,metrics:o,hasGutterRenderUtility:s,hasCustomHeader:c,disableWorkerPool:l,edit:u}){let d=V(),f=i!==void 0,p=(0,X.useContext)(j),h=A(),g=(0,X.useRef)(null),_=m(n=>{if(n!=null){if(g.current!=null)throw Error(`useFileDiffInstance: An instance should not already exist when a node is created`);d==null?g.current=new re(Z({controlledSelection:f,hasCustomHeader:c,hasGutterRenderUtility:s,options:t}),l?void 0:p,!0):g.current=new pe(Z({controlledSelection:f,hasCustomHeader:c,hasGutterRenderUtility:s,options:t}),d,o,l?void 0:p,!0),g.current.hydrate({fileDiff:e,fileContainer:n,lineAnnotations:r,prerenderedHTML:a})}else{if(g.current==null)throw Error(`useFileDiffInstance: A FileDiff instance should exist when unmounting`);g.current.cleanUp(),g.current=null}});return me(()=>{let{current:n}=g;if(n==null)return;let a=Z({controlledSelection:f,hasCustomHeader:c,hasGutterRenderUtility:s,options:t}),o=a!==void 0&&!k(n.options,a);n.setOptions(a),n.render({forceRender:o,fileDiff:e,lineAnnotations:r}),i!==void 0&&n.setSelectedLines(i)}),me(()=>{if(u&&g.current!=null){if(h===void 0)throw Error(`FileDiff: EditContext is not attached`);let e=h(n??{});if(e==null)throw Error(`FileDiff: EditProvider.createEditor must return an editor instance`);try{return e.edit(g.current)}catch(t){throw e.cleanUp(),t}}},[u]),{ref:_,getHoveredLine:(0,X.useCallback)(()=>g.current?.getHoveredLine(),[])}}function Z({options:e,controlledSelection:t,hasCustomHeader:n,hasGutterRenderUtility:r}){return t||r||n?{...e,controlledSelection:t,renderCustomHeader:n?O:e?.renderCustomHeader,renderGutterUtility:r?O:e?.renderGutterUtility}:e}var Q=r();function ge({fileDiff:e,options:t,editorOptions:n,metrics:r,lineAnnotations:i,selectedLines:a,className:o,style:s,prerenderedHTML:c,renderAnnotation:l,renderCustomHeader:u,renderHeaderPrefix:d,renderHeaderFilenameSuffix:f,renderHeaderMetadata:p,renderGutterUtility:m,disableWorkerPool:h=!1,edit:g=!1}){let{ref:_,getHoveredLine:v}=he({fileDiff:e,options:t,editorOptions:n,metrics:r,lineAnnotations:i,selectedLines:a,prerenderedHTML:c,hasGutterRenderUtility:m!=null,hasCustomHeader:u!=null,disableWorkerPool:h,edit:g});return(0,Q.jsx)(y,{ref:_,className:o,style:s,children:W(oe({fileDiff:e,renderCustomHeader:u,renderHeaderPrefix:d,renderHeaderFilenameSuffix:f,renderHeaderMetadata:p,renderAnnotation:l,renderGutterUtility:m,lineAnnotations:i,getHoveredLine:v}),c)})}var $=t();function _e(e){return e.fromTurnCount===0?q(ee)({threadId:e.threadId,toTurnCount:e.toTurnCount}).pipe(n(e=>({kind:`fullThreadDiff`,input:e}))):q(J)({threadId:e.threadId,fromTurnCount:e.fromTurnCount,toTurnCount:e.toTurnCount}).pipe(n(e=>({kind:`turnDiff`,input:e})))}function ve(e){return e instanceof Error?e.message:typeof e==`string`?e:``}function ye(e){let t=ve(e).trim();if(t.length===0)return`Failed to load checkpoint diff.`;let n=t.toLowerCase();if(n.includes(`not a git repository`))return`Turn diffs are unavailable because this project is not a git repository.`;if(n.includes(`checkpoint unavailable for thread`)||n.includes(`checkpoint invariant violation`)){let e=t.indexOf(`:`);if(e>=0){let n=t.slice(e+1).trim();if(n.length>0)return n}}return t}function be(e){let t=ve(e).toLowerCase();return t.includes(`exceeds current turn count`)||t.includes(`checkpoint is unavailable for turn`)||t.includes(`filesystem checkpoint is unavailable`)}function xe(e){let t=_e(e);return b({queryKey:c.checkpointDiff(e),queryFn:async({signal:n})=>{if(!e.environmentId||!e.threadId||t._tag===`None`)throw Error(`Checkpoint diff is unavailable.`);let r=x(e.environmentId);try{return t.value.kind===`fullThreadDiff`?await r.orchestration.getFullThreadDiff(t.value.input,{signal:n}):await r.orchestration.getTurnDiff(t.value.input,{signal:n})}catch(e){throw Error(ye(e),{cause:e})}},enabled:(e.enabled??!0)&&!!e.environmentId&&!!e.threadId&&t._tag===`Some`,staleTime:1/0,retry:(e,t)=>be(t)?e<12:e<3,retryDelay:(e,t)=>be(t)?Math.min(5e3,250*2**(e-1)):Math.min(1e3,100*2**(e-1))})}function Se(e){if(!(!e.canScrollLeft&&!e.canScrollRight))return{maskImage:`linear-gradient(to right, ${e.canScrollLeft?`transparent 24px, black 72px`:`black`}, ${e.canScrollRight?`black calc(100% - 72px), transparent calc(100% - 24px)`:`black`})`}}function Ce(e){return e instanceof Error?e.message:e?`Failed to load checkpoint diff.`:null}function we(e){return{environmentId:e.environmentId??null,threadId:e.threadId,fromTurnCount:e.range?.fromTurnCount??null,toTurnCount:e.range?.toTurnCount??null,cacheScope:e.selectedTurnId?`turn:${e.selectedTurnId}`:e.conversationCacheScope,enabled:e.enabled}}function Te(){let e=(0,$.c)(8),t=(0,X.useRef)(null),[n,r]=(0,X.useState)(!1),[i,a]=(0,X.useState)(!1),o;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>{let e=t.current;if(!e){r(!1),a(!1);return}let n=de({scrollLeft:e.scrollLeft,scrollWidth:e.scrollWidth,clientWidth:e.clientWidth});r(n.canScrollLeft),a(n.canScrollRight)},e[0]=o):o=e[0];let s=o,c;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(c=e=>{t.current?.scrollBy({left:e,behavior:`smooth`})},e[1]=c):c=e[1];let l=c,u;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=e=>{let n=t.current;n&&ne({scrollWidth:n.scrollWidth,clientWidth:n.clientWidth,deltaX:e.deltaX,deltaY:e.deltaY})&&(e.preventDefault(),n.scrollBy({left:e.deltaY,behavior:`auto`}))},e[2]=u):u=e[2];let d=u,f,p;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>{let e=t.current;if(!e)return;let n=window.requestAnimationFrame(s),r=()=>s();e.addEventListener(`scroll`,r,{passive:!0});let i=new ResizeObserver(()=>s());return i.observe(e),()=>{window.cancelAnimationFrame(n),e.removeEventListener(`scroll`,r),i.disconnect()}},p=[s],e[3]=f,e[4]=p):(f=e[3],p=e[4]),(0,X.useEffect)(f,p);let m;return e[5]!==n||e[6]!==i?(m={ref:t,canScrollLeft:n,canScrollRight:i,scrollBy:l,onWheel:d,remeasure:s},e[5]=n,e[6]=i,e[7]=m):m=e[7],m}function Ee(e,t){let n=(0,$.c)(5),r;n[0]===e.current?r=n[1]:(r=()=>{(e.current?.querySelector(`[data-turn-chip-selected='true']`))?.scrollIntoView({block:`nearest`,inline:`nearest`,behavior:`smooth`})},n[0]=e.current,n[1]=r);let i;n[2]!==e||n[3]!==t?(i=[e,t],n[2]=e,n[3]=t,n[4]=i):i=n[4],(0,X.useEffect)(r,i)}var De=`
|
|
2
2
|
[data-diffs-header],
|
|
3
3
|
[data-diff],
|
|
4
4
|
[data-file],
|
|
@@ -61,4 +61,4 @@ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{Ha as t,Mi as n,Ua as
|
|
|
61
61
|
text-decoration-color: currentColor;
|
|
62
62
|
}
|
|
63
63
|
`;function Oe(e){let t=(0,$.c)(44),{mode:n}=e,r=n===void 0?`inline`:n,{resolvedTheme:i}=f(),a=o(),[c,u]=(0,X.useState)(`stacked`),[p,m]=(0,X.useState)(a.diffWordWrap),g=(0,X.useRef)(null),_=(0,X.useRef)(!1),y=Te(),{activeCwd:b,activeThread:x,bodyState:S,diffOpen:C,inferredCheckpointTurnCountByTurnId:w,orderedTurnDiffSummaries:T,renderableFiles:D,renderablePatch:O,selectedFilePath:k,selectedTurn:A,selectedTurnId:j}=Le(i),N,P;t[0]!==C||t[1]!==a.diffWordWrap?(N=()=>{C&&!_.current&&m(a.diffWordWrap),_.current=C},P=[C,a.diffWordWrap],t[0]=C,t[1]=a.diffWordWrap,t[2]=N,t[3]=P):(N=t[2],P=t[3]),(0,X.useEffect)(N,P);let F;t[4]===k?F=t[5]:(F=()=>{!k||!g.current||Array.from(g.current.querySelectorAll(`[data-diff-file-path]`)).find(e=>e.dataset.diffFilePath===k)?.scrollIntoView({block:`nearest`})},t[4]=k,t[5]=F);let I;t[6]!==D||t[7]!==k?(I=[k,D],t[6]=D,t[7]=k,t[8]=I):I=t[8],(0,X.useEffect)(F,I);let L;t[9]===b?L=t[10]:(L=e=>{let t=l();if(!t)return;let n=b?d(e,b):e;M(t,n).catch(ke)},t[9]=b,t[10]=L);let R=L,z;t[11]===x?z=t[12]:(z=e=>{x&&s.getState().openDiff(E(v(x.environmentId,x.id)),e)},t[11]=x,t[12]=z);let B=z,V;t[13]===x?V=t[14]:(V=()=>{x&&s.getState().openDiff(E(v(x.environmentId,x.id)))},t[13]=x,t[14]=V);let H=V,U;t[15]===y.remeasure?U=t[16]:(U=()=>{let e=window.requestAnimationFrame(y.remeasure);return()=>window.cancelAnimationFrame(e)},t[15]=y.remeasure,t[16]=U);let W;t[17]!==T||t[18]!==j||t[19]!==y.remeasure?(W=[T,j,y.remeasure],t[17]=T,t[18]=j,t[19]=y.remeasure,t[20]=W):W=t[20],(0,X.useEffect)(U,W),Ee(y.ref,A?.turnId??j);let G;t[21]!==c||t[22]!==p||t[23]!==w||t[24]!==T||t[25]!==B||t[26]!==H||t[27]!==A||t[28]!==j||t[29]!==a||t[30]!==y?(G=(0,Q.jsx)(Ae,{diffRenderMode:c,diffWordWrap:p,inferredCheckpointTurnCountByTurnId:w,orderedTurnDiffSummaries:T,selectTurn:B,selectWholeConversation:H,selectedTurn:A,selectedTurnId:j,setDiffRenderMode:u,setDiffWordWrap:m,settings:a,turnStrip:y}),t[21]=c,t[22]=p,t[23]=w,t[24]=T,t[25]=B,t[26]=H,t[27]=A,t[28]=j,t[29]=a,t[30]=y,t[31]=G):G=t[31];let K=G,q;t[32]!==S||t[33]!==c||t[34]!==p||t[35]!==R||t[36]!==D||t[37]!==O||t[38]!==i?(q=(0,Q.jsx)(je,{bodyState:S,diffRenderMode:c,diffWordWrap:p,openDiffFileInEditor:R,patchViewportRef:g,renderableFiles:D,renderablePatch:O,resolvedTheme:i}),t[32]=S,t[33]=c,t[34]=p,t[35]=R,t[36]=D,t[37]=O,t[38]=i,t[39]=q):q=t[39];let J;return t[40]!==K||t[41]!==r||t[42]!==q?(J=(0,Q.jsx)(h,{mode:r,header:K,children:q}),t[40]=K,t[41]=r,t[42]=q,t[43]=J):J=t[43],J}function ke(e){console.warn(`Failed to open diff file in editor.`,e)}function Ae(e){let t=(0,$.c)(59),{diffRenderMode:n,diffWordWrap:r,inferredCheckpointTurnCountByTurnId:i,orderedTurnDiffSummaries:a,selectTurn:o,selectWholeConversation:s,selectedTurn:c,selectedTurnId:l,setDiffRenderMode:u,setDiffWordWrap:d,settings:f,turnStrip:p}=e,m,h;t[0]===p?(m=t[1],h=t[2]):(m=(0,Q.jsx)(Be,{direction:`left`,strip:p}),h=(0,Q.jsx)(Be,{direction:`right`,strip:p}),t[0]=p,t[1]=m,t[2]=h);let g=p.ref,_;t[3]!==p.canScrollLeft||t[4]!==p.canScrollRight?(_=Se({canScrollLeft:p.canScrollLeft,canScrollRight:p.canScrollRight}),t[3]=p.canScrollLeft,t[4]=p.canScrollRight,t[5]=_):_=t[5];let v=p.onWheel,y=l===null,b=l===null?`border-border bg-accent text-accent-foreground`:`border-border/70 bg-background/70 text-muted-foreground/80 hover:border-border hover:text-foreground/80`,x;t[6]===b?x=t[7]:(x=P(`rounded-md border px-2 py-1 text-left transition-colors`,b),t[6]=b,t[7]=x);let S;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,Q.jsx)(`div`,{className:`text-[10px] leading-tight font-medium`,children:`All turns`}),t[8]=S):S=t[8];let C;t[9]===x?C=t[10]:(C=(0,Q.jsx)(`div`,{className:x,children:S}),t[9]=x,t[10]=C);let w;t[11]!==s||t[12]!==C||t[13]!==y?(w=(0,Q.jsx)(`button`,{type:`button`,className:`shrink-0 rounded-md`,onClick:s,"data-turn-chip-selected":y,children:C}),t[11]=s,t[12]=C,t[13]=y,t[14]=w):w=t[14];let T;if(t[15]!==i||t[16]!==a||t[17]!==o||t[18]!==c?.turnId||t[19]!==f){let e;t[21]!==i||t[22]!==o||t[23]!==c?.turnId||t[24]!==f?(e=e=>(0,Q.jsx)(Ve,{summary:e,selected:e.turnId===c?.turnId,turnCount:e.checkpointTurnCount??i[e.turnId],timestampFormat:f.timestampFormat,onSelect:o},e.turnId),t[21]=i,t[22]=o,t[23]=c?.turnId,t[24]=f,t[25]=e):e=t[25],T=a.map(e),t[15]=i,t[16]=a,t[17]=o,t[18]=c?.turnId,t[19]=f,t[20]=T}else T=t[20];let E;t[26]!==w||t[27]!==T||t[28]!==_||t[29]!==p.onWheel||t[30]!==p.ref?(E=(0,Q.jsxs)(`div`,{ref:g,className:`turn-chip-strip flex gap-1 overflow-x-auto px-8 py-0.5`,style:_,onWheel:v,children:[w,T]}),t[26]=w,t[27]=T,t[28]=_,t[29]=p.onWheel,t[30]=p.ref,t[31]=E):E=t[31];let D;t[32]!==m||t[33]!==E||t[34]!==h?(D=(0,Q.jsxs)(`div`,{className:`relative min-w-0 flex-1 [-webkit-app-region:no-drag]`,children:[m,h,E]}),t[32]=m,t[33]=E,t[34]=h,t[35]=D):D=t[35];let O;t[36]===n?O=t[37]:(O=[n],t[36]=n,t[37]=O);let k;t[38]===u?k=t[39]:(k=e=>{let t=e[0];(t===`stacked`||t===`split`)&&u(t)},t[38]=u,t[39]=k);let A;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,Q.jsx)(R,{"aria-label":`Stacked diff view`,value:`stacked`,children:(0,Q.jsx)(se,{className:`size-3`})}),t[40]=A):A=t[40];let j;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,Q.jsx)(R,{"aria-label":`Split diff view`,value:`split`,children:(0,Q.jsx)(ie,{className:`size-3`})}),t[41]=j):j=t[41];let M;t[42]!==O||t[43]!==k?(M=(0,Q.jsxs)(F,{className:`shrink-0`,variant:`outline`,size:`xs`,value:O,onValueChange:k,children:[A,j]}),t[42]=O,t[43]=k,t[44]=M):M=t[44];let N=r?`Disable diff line wrapping`:`Enable diff line wrapping`,I=r?`Disable line wrapping`:`Enable line wrapping`,L;t[45]===d?L=t[46]:(L=e=>{d(!!e)},t[45]=d,t[46]=L);let z;t[47]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,Q.jsx)(le,{className:`size-3`}),t[47]=z):z=t[47];let B;t[48]!==r||t[49]!==N||t[50]!==I||t[51]!==L?(B=(0,Q.jsx)(R,{"aria-label":N,title:I,variant:`outline`,size:`xs`,pressed:r,onPressedChange:L,children:z}),t[48]=r,t[49]=N,t[50]=I,t[51]=L,t[52]=B):B=t[52];let V;t[53]!==M||t[54]!==B?(V=(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 [-webkit-app-region:no-drag]`,children:[M,B]}),t[53]=M,t[54]=B,t[55]=V):V=t[55];let H;return t[56]!==D||t[57]!==V?(H=(0,Q.jsxs)(Q.Fragment,{children:[D,V]}),t[56]=D,t[57]=V,t[58]=H):H=t[58],H}function je(e){let t=(0,$.c)(18),{bodyState:n,diffRenderMode:r,diffWordWrap:i,openDiffFileInEditor:a,patchViewportRef:o,renderableFiles:s,renderablePatch:c,resolvedTheme:l}=e;if(n.kind===`no-thread`){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsx)(Ne,{children:`Select a thread to inspect turn diffs.`}),t[0]=e):e=t[0],e}if(n.kind===`not-git-repo`){let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsx)(Ne,{children:`Turn diffs are unavailable because this project is not a git repository.`}),t[1]=e):e=t[1],e}if(n.kind===`no-completed-turns`){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsx)(Ne,{children:`No completed turns yet.`}),t[2]=e):e=t[2],e}let u;t[3]!==n.error||t[4]!==c?(u=n.error&&!c&&(0,Q.jsx)(`div`,{className:`px-3`,children:(0,Q.jsx)(`p`,{className:`mb-2 text-[11px] text-destructive-foreground`,children:n.error})}),t[3]=n.error,t[4]=c,t[5]=u):u=t[5];let d;t[6]!==n||t[7]!==r||t[8]!==i||t[9]!==a||t[10]!==s||t[11]!==c||t[12]!==l?(d=c?c.kind===`files`?(0,Q.jsx)(K,{className:`diff-render-surface h-full min-h-0 overflow-auto px-2 pb-2`,config:{overscrollSize:600,intersectionObserverMargin:1200},children:s.map(e=>{let t=Y(e),n=`${fe(e)}:${l}`;return(0,Q.jsx)(`div`,{"data-diff-file-path":t,className:`diff-render-file mb-2 rounded-md first:mt-2 last:mb-0`,onClickCapture:e=>{(e.nativeEvent.composedPath?.()??[]).some(Me)&&a(t)},children:(0,Q.jsx)(ge,{fileDiff:e,options:{diffStyle:r===`split`?`split`:`unified`,lineDiffType:`none`,overflow:i?`wrap`:`scroll`,theme:w(l),themeType:l,unsafeCSS:De}})},n)})}):(0,Q.jsx)(`div`,{className:`h-full overflow-auto p-2`,children:(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(`p`,{className:`text-[11px] text-muted-foreground/75`,children:c.reason}),(0,Q.jsx)(`pre`,{className:P(`max-h-[72vh] rounded-md border border-border/70 bg-background/70 p-3 font-mono text-[11px] leading-relaxed text-muted-foreground/90`,i?`overflow-auto whitespace-pre-wrap wrap-break-word`:`overflow-auto`),children:c.text})]})}):(0,Q.jsx)(Re,{bodyState:n}),t[6]=n,t[7]=r,t[8]=i,t[9]=a,t[10]=s,t[11]=c,t[12]=l,t[13]=d):d=t[13];let f;return t[14]!==o||t[15]!==u||t[16]!==d?(f=(0,Q.jsx)(Q.Fragment,{children:(0,Q.jsxs)(`div`,{ref:o,className:`diff-panel-viewport min-h-0 min-w-0 flex-1 overflow-hidden`,children:[u,d]})}),t[14]=o,t[15]=u,t[16]=d,t[17]=f):f=t[17],f}function Me(e){return e instanceof Element&&e.hasAttribute(`data-title`)}function Ne(e){let t=(0,$.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:n}),t[0]=n,t[1]=r),r}function Pe(){let e=(0,$.c)(19),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={strict:!1,select:Ie},e[0]=t):t=e[0];let n=a(t),r;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(r={strict:!1,select:Fe},e[1]=r):r=e[1];let i=B(r),o=i.rightPanel===`diff`,s=n?.threadId??null,c,l;e[2]===n?l=e[3]:(l=C(n),e[2]=n,e[3]=l),c=l;let u=D(c),d=He(u),f=u?.worktreePath,p=d?.cwd,m;e[4]!==f||e[5]!==p?(m=I({threadWorktreePath:f,projectCwd:p}),e[4]=f,e[5]=p,e[6]=m):m=e[6];let h=m,_=u?.environmentId??null,v=h??null,y;e[7]!==_||e[8]!==v?(y={environmentId:_,cwd:v},e[7]=_,e[8]=v,e[9]=y):y=e[9];let b=g(y),x;e[10]===b.data?x=e[11]:(x=z(b.data),e[10]=b.data,e[11]=x);let S=x,w;return e[12]!==h||e[13]!==u||e[14]!==s||e[15]!==o||e[16]!==i||e[17]!==S?(w={activeThread:u,activeThreadId:s,activeCwd:h,isGitRepo:S,diffSearch:i,diffOpen:o},e[12]=h,e[13]=u,e[14]=s,e[15]=o,e[16]=i,e[17]=S,e[18]=w):w=e[18],w}function Fe(e){return G(e)}function Ie(e){return _(e)}function Le(e){let{activeThread:t,activeThreadId:n,activeCwd:r,isGitRepo:i,diffSearch:a,diffOpen:o}=Pe(),{turnDiffSummaries:s,inferredCheckpointTurnCountByTurnId:c}=H(t),l=a.diffTurnId??null,u=l===null?null:a.diffFilePath??null,{activeCheckpointRange:d,conversationCacheScope:f,orderedTurnDiffSummaries:m,selectedTurn:h}=(0,X.useMemo)(()=>te({summaries:s,inferredCheckpointTurnCountByTurnId:c,selectedTurnId:l}),[c,l,s]),g=p(xe(we({environmentId:t?.environmentId,threadId:n,range:d,selectedTurnId:h?.turnId,conversationCacheScope:f,enabled:i}))),_=g.isLoading,v=Ce(g.error),y=g.data?.diff,b=typeof y==`string`&&y.trim().length===0,{emptyDiffMessage:x}=(0,X.useMemo)(()=>ae(h),[h]),S=(0,X.useMemo)(()=>ce(y,`diff-panel:${e}`),[e,y]),C=(0,X.useMemo)(()=>Ue(S),[S]);return{activeCwd:r,activeThread:t,bodyState:ue({hasActiveThread:!!t,isGitRepo:i,turnSummaryCount:m.length,checkpointDiffError:v,hasRenderablePatch:!!S,isLoadingCheckpointDiff:_,hasNoNetChanges:b,emptyDiffMessage:x}),diffOpen:o,inferredCheckpointTurnCountByTurnId:c,orderedTurnDiffSummaries:m,renderableFiles:C,renderablePatch:S,selectedFilePath:u,selectedTurn:h,selectedTurnId:l}}function Re(e){let t=(0,$.c)(4),{bodyState:n}=e;if(n.kind===`loading`){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsx)(N,{label:`Loading checkpoint diff...`}),t[0]=e):e=t[0],e}let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Q.jsx)(L,{className:`size-7 text-muted-foreground/25`}),t[1]=r):r=t[1];let i=n.kind===`empty`?n.message:`No diff is available for this range.`,a;return t[2]===i?a=t[3]:(a=(0,Q.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-2 px-5 py-2 text-center`,children:[r,(0,Q.jsx)(`p`,{className:`text-xs text-muted-foreground/70`,children:i})]}),t[2]=i,t[3]=a),a}var ze=180;function Be(e){let t=(0,$.c)(14),{direction:n,strip:r}=e,i=n===`left`,a=i?r.canScrollLeft:r.canScrollRight,o=i?U:T,s=i?`left-0`:`right-0`,c=a?`border-border/70 hover:border-border hover:text-foreground`:`cursor-not-allowed border-border/40 text-muted-foreground/40`,l;t[0]!==s||t[1]!==c?(l=P(`absolute top-1/2 z-20 inline-flex size-6 -translate-y-1/2 items-center justify-center rounded-md border bg-background/90 text-muted-foreground transition-colors`,s,c),t[0]=s,t[1]=c,t[2]=l):l=t[2];let u;t[3]!==i||t[4]!==r?(u=()=>r.scrollBy(i?-180:ze),t[3]=i,t[4]=r,t[5]=u):u=t[5];let d=!a,f=`Scroll turn list ${n}`,p;t[6]===o?p=t[7]:(p=(0,Q.jsx)(o,{className:`size-3.5`}),t[6]=o,t[7]=p);let m;return t[8]!==l||t[9]!==u||t[10]!==d||t[11]!==f||t[12]!==p?(m=(0,Q.jsx)(`button`,{type:`button`,className:l,onClick:u,disabled:d,"aria-label":f,children:p}),t[8]=l,t[9]=u,t[10]=d,t[11]=f,t[12]=p,t[13]=m):m=t[13],m}function Ve(e){let t=(0,$.c)(23),{summary:n,selected:r,turnCount:i,timestampFormat:a,onSelect:o}=e,s;t[0]!==o||t[1]!==n.turnId?(s=()=>o(n.turnId),t[0]=o,t[1]=n.turnId,t[2]=s):s=t[2];let c=n.turnId,l=r?`border-border bg-accent text-accent-foreground`:`border-border/70 bg-background/70 text-muted-foreground/80 hover:border-border hover:text-foreground/80`,d;t[3]===l?d=t[4]:(d=P(`rounded-md border px-2 py-1 text-left transition-colors`,l),t[3]=l,t[4]=d);let f=i??`?`,p;t[5]===f?p=t[6]:(p=(0,Q.jsxs)(`span`,{className:`text-[10px] leading-tight font-medium`,children:[`Turn `,f]}),t[5]=f,t[6]=p);let m;t[7]!==n.completedAt||t[8]!==a?(m=u(n.completedAt,a),t[7]=n.completedAt,t[8]=a,t[9]=m):m=t[9];let h;t[10]===m?h=t[11]:(h=(0,Q.jsx)(`span`,{className:`text-[9px] leading-tight opacity-70`,children:m}),t[10]=m,t[11]=h);let g;t[12]!==p||t[13]!==h?(g=(0,Q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[p,h]}),t[12]=p,t[13]=h,t[14]=g):g=t[14];let _;t[15]!==d||t[16]!==g?(_=(0,Q.jsx)(`div`,{className:d,children:g}),t[15]=d,t[16]=g,t[17]=_):_=t[17];let v;return t[18]!==r||t[19]!==n.turnId||t[20]!==s||t[21]!==_?(v=(0,Q.jsx)(`button`,{type:`button`,className:`shrink-0 rounded-md`,onClick:s,title:c,"data-turn-chip-selected":r,children:_}),t[18]=r,t[19]=n.turnId,t[20]=s,t[21]=_,t[22]=v):v=t[22],v}function He(e){let t=(0,$.c)(3),n=e?.environmentId,r=e?.projectId,i;return t[0]!==n||t[1]!==r?(i=e=>n&&r?S(e,{environmentId:n,projectId:r}):void 0,t[0]=n,t[1]=r,t[2]=i):i=t[2],D(i)}function Ue(e){return!e||e.kind!==`files`?[]:e.files.toSorted((e,t)=>Y(e).localeCompare(Y(t),void 0,{numeric:!0,sensitivity:`base`}))}export{Oe as default};
|
|
64
|
-
//# sourceMappingURL=DiffPanel-
|
|
64
|
+
//# sourceMappingURL=DiffPanel-WWhSWAaf.js.map
|