@dylanpiercey/work 0.0.178 → 0.0.180
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/index.mjs +819 -615
- package/dist/public/assets/_9Dw0rpRB.js +1 -0
- package/dist/public/assets/{_DLuGH9wP.js → _B-oTUisw.js} +66 -66
- package/dist/public/assets/_B-oTUisw.js.br +0 -0
- package/dist/public/assets/_BJMBesC8.js +1 -0
- package/dist/public/assets/_BaB2KTgs.js +1 -0
- package/dist/public/assets/_BafWVR1Z.js +1 -0
- package/dist/public/assets/_BdyS62ck.js +1 -0
- package/dist/public/assets/_CAiITnSL.js +1 -0
- package/dist/public/assets/{_D8fFV5Ym.js → _CWOQeVjT.js} +1 -1
- package/dist/public/assets/_CWOQeVjT.js.br +0 -0
- package/dist/public/assets/_ChYNFrbw.js +1 -0
- package/dist/public/assets/_CoVBMgR8.js +1 -0
- package/dist/public/assets/_Cwrxarqf.js +1 -0
- package/dist/public/assets/{_s72b-JB_.js → _D1_IgqEt.js} +5 -5
- package/dist/public/assets/_D1_IgqEt.js.br +0 -0
- package/dist/public/assets/_DLAN1x2w.js +1 -0
- package/dist/public/assets/_DTpscZKE.js +1 -0
- package/dist/public/assets/_Ddm9l-a6.js +1 -0
- package/dist/public/assets/_Dkh2Hw3W.js +1 -0
- package/dist/public/assets/_DnVYWVdu.js +1 -0
- package/dist/public/assets/_DxXAXTdz.js +1 -0
- package/dist/public/assets/_VR1nKvIB.js +1 -0
- package/dist/public/assets/_gKHSDI0E.js +1 -0
- package/dist/public/assets/_qaArnTZN.js +1 -0
- package/dist/public/assets/_sJ4x-tl2.js +1 -0
- package/dist/public/assets/_yTfgsrNO.js +1 -0
- package/dist/public/assets/_zFEdMvq1.js +1 -0
- package/dist/public/assets/{app-page-mpLi5gUf.css → app-page-ujOO9O9j.css} +1 -1
- package/dist/public/assets/app-page-ujOO9O9j.css.br +0 -0
- package/dist/public/assets/{icon-arrow-down-DSmBsYc0.css → icon-arrow-down-CnC9B8zr.css} +1 -1
- package/dist/public/assets/icon-arrow-down-CnC9B8zr.css.br +0 -0
- package/dist/public/assets/new-OkHtBkzU.js +1 -0
- package/dist/public/assets/review-view-BYC11tmH.css +1 -0
- package/dist/public/assets/review-view-BYC11tmH.css.br +0 -0
- package/dist/public/assets/review-view-X_RUf4F7.js +2 -0
- package/dist/public/assets/settings-OkHtBkzU.js +1 -0
- package/dist/public/assets/w-OkHtBkzU.js +1 -0
- package/dist/public/assets/w._-Bl7_ITGh.js +1 -0
- package/dist/public/assets/w._-OkHtBkzU.js +1 -0
- package/lib/preview/media.d.mts +10 -0
- package/lib/preview/media.mjs +41 -0
- package/lib/review/markdown.mjs +14 -6
- package/package.json +1 -1
- package/dist/public/assets/_B6o8FkwV.js +0 -1
- package/dist/public/assets/_BDGElzVm.js +0 -1
- package/dist/public/assets/_BDeylpEs.js +0 -1
- package/dist/public/assets/_BEEyk_EB.js +0 -1
- package/dist/public/assets/_BWDbM5E_.js +0 -1
- package/dist/public/assets/_C8jIJ1Pj.js +0 -1
- package/dist/public/assets/_CFdGarWX.js +0 -1
- package/dist/public/assets/_CFfZ3sMn.js +0 -1
- package/dist/public/assets/_CIfRmO5F.js +0 -1
- package/dist/public/assets/_CV1Q2C2m.js +0 -1
- package/dist/public/assets/_CZgExeYN.js +0 -1
- package/dist/public/assets/_D8fFV5Ym.js.br +0 -0
- package/dist/public/assets/_D8vUoiS4.js +0 -1
- package/dist/public/assets/_DFta0PoX.js +0 -1
- package/dist/public/assets/_DHMJGzjE.js +0 -1
- package/dist/public/assets/_DLuGH9wP.js.br +0 -0
- package/dist/public/assets/_DVNDyccF.js +0 -1
- package/dist/public/assets/_DxjeG8P_.js +0 -1
- package/dist/public/assets/_E4p2FxoI.js +0 -1
- package/dist/public/assets/_GnbYDeRV.js +0 -1
- package/dist/public/assets/_OGDCaCq3.js +0 -1
- package/dist/public/assets/_RIV-3qh5.js +0 -1
- package/dist/public/assets/_ibANXg_A.js +0 -1
- package/dist/public/assets/_s72b-JB_.js.br +0 -0
- package/dist/public/assets/app-page-mpLi5gUf.css.br +0 -0
- package/dist/public/assets/icon-arrow-down-DSmBsYc0.css.br +0 -0
- package/dist/public/assets/new-CkY2AXTw.js +0 -1
- package/dist/public/assets/review-view-BrfjQmXA.css +0 -1
- package/dist/public/assets/review-view-BrfjQmXA.css.br +0 -0
- package/dist/public/assets/review-view-DtiHctEJ.js +0 -2
- package/dist/public/assets/settings-CkY2AXTw.js +0 -1
- package/dist/public/assets/w-CkY2AXTw.js +0 -1
- package/dist/public/assets/w._-CkY2AXTw.js +0 -1
- package/dist/public/assets/w._-Csr1ikwd.js +0 -1
package/dist/index.mjs
CHANGED
|
@@ -4175,7 +4175,7 @@ var Query$2 = /* @__PURE__ */ object({
|
|
|
4175
4175
|
});
|
|
4176
4176
|
//#endregion
|
|
4177
4177
|
//#region __marko-run__index.js
|
|
4178
|
-
var getHandler$
|
|
4178
|
+
var getHandler$28 = normalizeHandler(Run.GET({ search: Query$2 }, async (ctx) => {
|
|
4179
4179
|
const active = listWorkspaces().filter((ws) => ws.status === "active");
|
|
4180
4180
|
const { ws: linked, session } = checked(ctx.search, "query");
|
|
4181
4181
|
if (linked && active.some((ws) => ws.id === linked)) return ctx.redirect(`/w/${encodeURIComponent(linked)}${session ? `?s=${encodeURIComponent(session)}` : ""}`, 302);
|
|
@@ -4189,10 +4189,10 @@ var getHandler$27 = normalizeHandler(Run.GET({ search: Query$2 }, async (ctx) =>
|
|
|
4189
4189
|
}
|
|
4190
4190
|
return ctx.redirect("/new", 302);
|
|
4191
4191
|
}), "GET");
|
|
4192
|
-
var get1_options = normalizeOptions("GET", getHandler$
|
|
4192
|
+
var get1_options = normalizeOptions("GET", getHandler$28);
|
|
4193
4193
|
var head1_options = {};
|
|
4194
4194
|
function get1(context) {
|
|
4195
|
-
return call(getHandler$
|
|
4195
|
+
return call(getHandler$28, noContent, context);
|
|
4196
4196
|
}
|
|
4197
4197
|
function head1(context) {
|
|
4198
4198
|
return stripResponseBody(get1(context));
|
|
@@ -6999,14 +6999,14 @@ var openable = (ws) => ws.status === "active" && !ws.pending;
|
|
|
6999
6999
|
*/
|
|
7000
7000
|
var numbered = (all) => all.filter(openable).sort((a, b) => a.name.localeCompare(b.name));
|
|
7001
7001
|
var toastKind = {
|
|
7002
|
-
error: "
|
|
7003
|
-
warn: "
|
|
7004
|
-
info: "
|
|
7002
|
+
error: "_bl",
|
|
7003
|
+
warn: "_bm",
|
|
7004
|
+
info: "_bn"
|
|
7005
7005
|
};
|
|
7006
7006
|
var toastTitle = {
|
|
7007
|
-
error: "
|
|
7008
|
-
warn: "
|
|
7009
|
-
info: "
|
|
7007
|
+
error: "_bo",
|
|
7008
|
+
warn: "_bp",
|
|
7009
|
+
info: "_bq"
|
|
7010
7010
|
};
|
|
7011
7011
|
//#endregion
|
|
7012
7012
|
//#region src/styles/tokens.css.ts
|
|
@@ -7052,18 +7052,18 @@ var toast_default = _template("J", (input) => {
|
|
|
7052
7052
|
const kind = inputKind || "error";
|
|
7053
7053
|
const placement = inputPlacement || "float";
|
|
7054
7054
|
const placementClass = {
|
|
7055
|
-
float: "
|
|
7056
|
-
inline: "
|
|
7055
|
+
float: "_bj",
|
|
7056
|
+
inline: "_bk"
|
|
7057
7057
|
}[placement];
|
|
7058
7058
|
_html(`<div${_attr_class([
|
|
7059
|
-
"
|
|
7059
|
+
"_bi",
|
|
7060
7060
|
toastKind[kind],
|
|
7061
7061
|
placementClass,
|
|
7062
7062
|
inputClass
|
|
7063
7063
|
])} role=${kind === "error" ? "alert" : "status"}${_attrs_partial(htmlInput, {
|
|
7064
7064
|
class: 1,
|
|
7065
7065
|
role: 1
|
|
7066
|
-
}, "a", $scope0_id, "div")}><div${_attr_class("
|
|
7066
|
+
}, "a", $scope0_id, "div")}><div${_attr_class("_br")}>`);
|
|
7067
7067
|
_if(() => {
|
|
7068
7068
|
if (title) {
|
|
7069
7069
|
const $scope1_id = _scope_id();
|
|
@@ -7075,7 +7075,7 @@ var toast_default = _template("J", (input) => {
|
|
|
7075
7075
|
_if(() => {
|
|
7076
7076
|
if (content) {
|
|
7077
7077
|
const $scope2_id = _scope_id();
|
|
7078
|
-
_html(`<div${_attr_class("
|
|
7078
|
+
_html(`<div${_attr_class("_bs")}>`);
|
|
7079
7079
|
_dynamic_tag($scope2_id, "b", content, {}, 0, 0, $sg__input_content);
|
|
7080
7080
|
_html("</div>");
|
|
7081
7081
|
$si__input_content && writeScope($scope2_id, { _: _scope_with_id($scope0_id) });
|
|
@@ -7086,7 +7086,7 @@ var toast_default = _template("J", (input) => {
|
|
|
7086
7086
|
_if(() => {
|
|
7087
7087
|
if (action || onDismiss) {
|
|
7088
7088
|
const $scope3_id = _scope_id();
|
|
7089
|
-
_html(`<div${_attr_class(["
|
|
7089
|
+
_html(`<div${_attr_class(["_bt", action && "_bu"])}>`);
|
|
7090
7090
|
_if(() => {
|
|
7091
7091
|
if (action) {
|
|
7092
7092
|
const $scope4_id = _scope_id();
|
|
@@ -7098,7 +7098,7 @@ var toast_default = _template("J", (input) => {
|
|
|
7098
7098
|
_if(() => {
|
|
7099
7099
|
if (onDismiss) {
|
|
7100
7100
|
const $scope5_id = _scope_id();
|
|
7101
|
-
_html(`<button${_attr_class([iconBtnRow, "
|
|
7101
|
+
_html(`<button${_attr_class([iconBtnRow, "_bv"])} type=button title=Dismiss aria-label=Dismiss>`);
|
|
7102
7102
|
icon_xmark_default({ size: 14 });
|
|
7103
7103
|
_html(`</button>${_el_resume($scope5_id, "a")}`);
|
|
7104
7104
|
_script($scope5_id, "J0");
|
|
@@ -7322,15 +7322,15 @@ var agentRow = "_c_ _cL";
|
|
|
7322
7322
|
var toolGrid = "_dh _cV";
|
|
7323
7323
|
var toolRow = "_di _cW";
|
|
7324
7324
|
var themeSeg = "_dF _bd";
|
|
7325
|
-
var checkList = "_ea
|
|
7326
|
-
var list$2 = "_cX
|
|
7325
|
+
var checkList = "_ea _ca";
|
|
7326
|
+
var list$2 = "_cX _cc _cK _cV";
|
|
7327
7327
|
var flatCardRow = "_cY _cW";
|
|
7328
7328
|
var chip$1 = "_c7 _X _W";
|
|
7329
|
-
var pop$1 = "
|
|
7330
|
-
var spinner = "
|
|
7331
|
-
var busy = "
|
|
7332
|
-
var pop = "
|
|
7333
|
-
var sectionCount$1 = "
|
|
7329
|
+
var pop$1 = "_cz _9";
|
|
7330
|
+
var spinner = "_cC _1 _G";
|
|
7331
|
+
var busy = "_cG _cF";
|
|
7332
|
+
var pop = "_cI _9";
|
|
7333
|
+
var sectionCount$1 = "_b_ _N _O";
|
|
7334
7334
|
//#endregion
|
|
7335
7335
|
//#region src/tags/icons/icon-refresh.marko
|
|
7336
7336
|
var icon_refresh_default = _template("pb", (input) => {
|
|
@@ -7374,14 +7374,14 @@ var page_head_default = _template("t", (input) => {
|
|
|
7374
7374
|
_if(() => {
|
|
7375
7375
|
if (input.backHref) {
|
|
7376
7376
|
const $scope1_id = _scope_id();
|
|
7377
|
-
_html(`<a${_attr("href", input.backHref)}${_attr_class([iconBtnRow, "
|
|
7377
|
+
_html(`<a${_attr("href", input.backHref)}${_attr_class([iconBtnRow, "_eP"])}${_attr_or("title", input.backTitle, " title=\"Back (Esc)\"")}${_attr_or("aria-label", input.backTitle, " aria-label=Back")}>`);
|
|
7378
7378
|
icon_back_default({ size: 14 });
|
|
7379
7379
|
_html(`</a>${_el_resume($scope1_id, "a", _serialize_guard($scope0_reason, 0))}`);
|
|
7380
7380
|
_serialize_if($scope0_reason, 2) && writeScope($scope1_id, { _: _serialize_if($scope0_reason, 0) && _scope_with_id($scope0_id) });
|
|
7381
7381
|
return 0;
|
|
7382
7382
|
} else if (input.onBack) {
|
|
7383
7383
|
const $scope2_id = _scope_id();
|
|
7384
|
-
_html(`<button${_attr_class([iconBtnRow, "
|
|
7384
|
+
_html(`<button${_attr_class([iconBtnRow, "_eP"])}${_attr_or("title", input.backTitle, " title=\"Back (Esc)\"")}${_attr_or("aria-label", input.backTitle, " aria-label=Back")}>`);
|
|
7385
7385
|
icon_back_default({ size: 14 });
|
|
7386
7386
|
_html(`</button>${_el_resume($scope2_id, "a")}`);
|
|
7387
7387
|
_script($scope2_id, "t0");
|
|
@@ -7472,7 +7472,7 @@ var icon_agent_default = _template("P", (input) => {
|
|
|
7472
7472
|
n: $badge__closures
|
|
7473
7473
|
});
|
|
7474
7474
|
});
|
|
7475
|
-
var usageNote = "
|
|
7475
|
+
var usageNote = "_fE _W";
|
|
7476
7476
|
//#endregion
|
|
7477
7477
|
//#region src/tags/icons/icon-warning.marko
|
|
7478
7478
|
var icon_warning_default = _template("xb", (input) => {
|
|
@@ -7502,11 +7502,11 @@ var usage_meters_default = _template("L", (input) => {
|
|
|
7502
7502
|
const $scope0_reason = _scope_reason(), $sg__input_agent__OR__input_hideName = _serialize_guard($scope0_reason, 0), $sg__input_agent = _serialize_guard($scope0_reason, 1), $si__input_agent = _serialize_if($scope0_reason, 1), $sg__input_hideName = _serialize_guard($scope0_reason, 2), $si__input_agent__OR__input_hideName = _serialize_if($scope0_reason, 0);
|
|
7503
7503
|
const $scope0_id = _scope_id();
|
|
7504
7504
|
const agent = input.agent;
|
|
7505
|
-
_html(`<div${_attr_class(["
|
|
7505
|
+
_html(`<div${_attr_class(["_fy", { ["_fz"]: input.hideName }])}><div${_attr_class("_fA")}>`);
|
|
7506
7506
|
_if(() => {
|
|
7507
7507
|
if (!input.hideName) {
|
|
7508
7508
|
const $scope1_id = _scope_id();
|
|
7509
|
-
_html(`<strong${_attr_class("
|
|
7509
|
+
_html(`<strong${_attr_class("_fT")}>${_text_resume($scope1_id, "b", agent.agent, $sg__input_agent)}</strong>`);
|
|
7510
7510
|
$si__input_agent__OR__input_hideName && writeScope($scope1_id, { _: $si__input_agent && _scope_with_id($scope0_id) });
|
|
7511
7511
|
return 0;
|
|
7512
7512
|
}
|
|
@@ -7514,7 +7514,7 @@ var usage_meters_default = _template("L", (input) => {
|
|
|
7514
7514
|
_if(() => {
|
|
7515
7515
|
if (agent.plan && agent.plan.toLowerCase() !== agent.agent.toLowerCase()) {
|
|
7516
7516
|
const $scope2_id = _scope_id();
|
|
7517
|
-
_html(`<span${_attr_class("
|
|
7517
|
+
_html(`<span${_attr_class("_fB")}>${_text_resume($scope2_id, "b", agent.plan.replace(/^default_/, "").replaceAll("_", " "), $sg__input_agent)}</span>`);
|
|
7518
7518
|
$si__input_agent && writeScope($scope2_id, { _: _scope_with_id($scope0_id) });
|
|
7519
7519
|
return 0;
|
|
7520
7520
|
}
|
|
@@ -7522,21 +7522,21 @@ var usage_meters_default = _template("L", (input) => {
|
|
|
7522
7522
|
_if(() => {
|
|
7523
7523
|
if (agent.stale_seconds != null) {
|
|
7524
7524
|
const $scope3_id = _scope_id();
|
|
7525
|
-
_html(`<span${_attr_class("
|
|
7525
|
+
_html(`<span${_attr_class("_fC")}${_attr("title", `${agent.note || "provider unreachable"}. Last cached numbers, ${duration(agent.stale_seconds * 1e3)} old`)}>`);
|
|
7526
7526
|
icon_warning_default({ size: 12 });
|
|
7527
7527
|
_html(` ${_text_resume($scope3_id, "c", duration(agent.stale_seconds * 1e3), $sg__input_agent * 2)} old</span>${_el_resume($scope3_id, "a", $sg__input_agent)}`);
|
|
7528
7528
|
$si__input_agent && writeScope($scope3_id, { _: _scope_with_id($scope0_id) });
|
|
7529
7529
|
return 0;
|
|
7530
7530
|
}
|
|
7531
7531
|
}, $scope0_id, "e", $sg__input_agent, $sg__input_agent, $sg__input_agent__OR__input_hideName, 0, 1);
|
|
7532
|
-
_html(`</div><div${_attr_class(["
|
|
7532
|
+
_html(`</div><div${_attr_class(["_fD", { ["_fU"]: agent.stale_seconds != null }])}>`);
|
|
7533
7533
|
_for_of(agent.windows || [], (win) => {
|
|
7534
7534
|
const $scope4_id = _scope_id();
|
|
7535
7535
|
const pct = pctText(win.used_percent);
|
|
7536
7536
|
const label = resetLabel(win.resets_at, agent.stale_seconds != null);
|
|
7537
|
-
const fillClass = win.used_percent >= 90 ? "
|
|
7538
|
-
const pctClass = win.used_percent >= 90 ? "
|
|
7539
|
-
_html(`<div${_attr_class("
|
|
7537
|
+
const fillClass = win.used_percent >= 90 ? "_fM" : win.used_percent >= 70 ? "_fL" : win.used_percent >= 40 ? "_fK" : "_fJ";
|
|
7538
|
+
const pctClass = win.used_percent >= 90 ? "_fR" : win.used_percent >= 70 ? "_fQ" : win.used_percent >= 40 ? "_fP" : "_fO";
|
|
7539
|
+
_html(`<div${_attr_class("_fF")}${_attr("title", `${win.window}: ${pct} used${win.resets_at ? `, resets ${new Date(win.resets_at).toLocaleString()}` : ""}`)}><span${_attr_class("_fG")}>${_text_resume($scope4_id, "c", win.window, $sg__input_agent)}</span><span${_attr_class("_fH")}><span${_attr_class(["_fI", fillClass])}${_attr_style(`width:${Math.min(100, Math.max(2, win.used_percent))}%`)}></span>${_el_resume($scope4_id, "e", $sg__input_agent)}</span><span${_attr_class(["_fN", pctClass])}>${_text_resume($scope4_id, "g", pct, $sg__input_agent)}</span>${_el_resume($scope4_id, "f", $sg__input_agent)}<span${_attr_class("_fS")}>`);
|
|
7540
7540
|
_if(() => {
|
|
7541
7541
|
if (label) {
|
|
7542
7542
|
const $scope6_id = _scope_id();
|
|
@@ -7635,10 +7635,10 @@ var add_field_default = _template("b", (input$3) => {
|
|
|
7635
7635
|
}
|
|
7636
7636
|
}, $scope0_id, "a", 1, 1, 1, 0, 1);
|
|
7637
7637
|
_html(`<form${_attr_class([
|
|
7638
|
-
"
|
|
7638
|
+
"_cs",
|
|
7639
7639
|
input$3.class,
|
|
7640
|
-
{ ["
|
|
7641
|
-
])}><label${_attr_class(["_0", "
|
|
7640
|
+
{ ["_ct"]: !open }
|
|
7641
|
+
])}><label${_attr_class(["_0", "_cv"])}>`);
|
|
7642
7642
|
_if(() => {
|
|
7643
7643
|
if (input$3.searching) {
|
|
7644
7644
|
const $scope5_id = _scope_id();
|
|
@@ -7665,7 +7665,7 @@ var add_field_default = _template("b", (input$3) => {
|
|
|
7665
7665
|
}, "b0", $scope0_id))}${_attr_class([
|
|
7666
7666
|
"_Y",
|
|
7667
7667
|
"_2",
|
|
7668
|
-
"
|
|
7668
|
+
"_cw"
|
|
7669
7669
|
])} type=text${_attr("placeholder", input$3.placeholder)}${_attr("aria-label", input$3.ariaLabel)} autocomplete=off spellcheck=false>${_el_resume($scope0_id, "e")}</label>`);
|
|
7670
7670
|
_if(() => {
|
|
7671
7671
|
if (input$3.submitLabel) {
|
|
@@ -7673,19 +7673,19 @@ var add_field_default = _template("b", (input$3) => {
|
|
|
7673
7673
|
_html(`<button${_attr_class([
|
|
7674
7674
|
btnSm,
|
|
7675
7675
|
"_r",
|
|
7676
|
-
"
|
|
7676
|
+
"_cx"
|
|
7677
7677
|
])} type=submit${_attr("hidden", !open)}${_attr("disabled", !value.trim() || input$3.busy)}>${_text_resume($scope3_id, "b", input$3.busy ? "Adding…" : input$3.submitLabel, _serialize_guard($scope0_reason, 1))}</button>${_el_resume($scope3_id, "a")}`);
|
|
7678
7678
|
writeScope($scope3_id, { _: _scope_with_id($scope0_id) });
|
|
7679
7679
|
return 0;
|
|
7680
7680
|
}
|
|
7681
7681
|
}, $scope0_id, "f", 1, _serialize_guard($scope0_reason, 7), 1, 0, 1);
|
|
7682
|
-
_html(`<button${_attr_class([iconBtnRow, "
|
|
7682
|
+
_html(`<button${_attr_class([iconBtnRow, "_cy"])} type=button${_attr("hidden", !open)} title=Close aria-label=Close${_attr("disabled", input$3.busy)}>`);
|
|
7683
7683
|
icon_xmark_default({ size: 14 });
|
|
7684
7684
|
_html(`</button>${_el_resume($scope0_id, "g")}`);
|
|
7685
7685
|
_if(() => {
|
|
7686
7686
|
if (input$3.content) {
|
|
7687
7687
|
const $scope4_id = _scope_id();
|
|
7688
|
-
_html(`<ul${_attr_class([pop$1, "
|
|
7688
|
+
_html(`<ul${_attr_class([pop$1, "_cA"])}${_attr("hidden", !open || !value.trim())}>`);
|
|
7689
7689
|
_dynamic_tag($scope4_id, "b", input$3.content, {}, 0, 0, $sg__input_content);
|
|
7690
7690
|
_html(`</ul>${_el_resume($scope4_id, "a")}`);
|
|
7691
7691
|
writeScope($scope4_id, { _: _scope_with_id($scope0_id) });
|
|
@@ -7812,14 +7812,14 @@ var sso_auth_default = _template("G", (input) => {
|
|
|
7812
7812
|
localCode = null;
|
|
7813
7813
|
}
|
|
7814
7814
|
}, "G0", $scope0_id);
|
|
7815
|
-
_html(`<div${_attr_class(["
|
|
7815
|
+
_html(`<div${_attr_class(["_fV", input.class])}>`);
|
|
7816
7816
|
_for_of(input.items, (s) => {
|
|
7817
7817
|
const $scope1_id = _scope_id();
|
|
7818
|
-
_html(`<div${_attr_class("
|
|
7818
|
+
_html(`<div${_attr_class("_fW")}><span${_attr_class("_fY")}><span${_attr_class("_fZ")}>${_text_resume($scope1_id, "d", s.org, $sg__input_items)}</span><span${_attr_class(["_f0", "_f1"])} title="Repos and PRs in this org stay hidden until the GitHub CLI is authorized for it.">SSO not authorized</span></span>`);
|
|
7819
7819
|
_if(() => {
|
|
7820
7820
|
if (!busy) {
|
|
7821
7821
|
const $scope2_id = _scope_id();
|
|
7822
|
-
_html(`<button type=button${_attr_class([btnSm, "_r"])} title="Re-authorize GitHub CLI (same device flow as Sign in)">Authorize</button>${_el_resume($scope2_id, "a")}<button type=button${_attr_class([btnSm, "
|
|
7822
|
+
_html(`<button type=button${_attr_class([btnSm, "_r"])} title="Re-authorize GitHub CLI (same device flow as Sign in)">Authorize</button>${_el_resume($scope2_id, "a")}<button type=button${_attr_class([btnSm, "_f2"])}${_attr("title", `Ignore ${s.org} — stop asking about it`)}>Ignore</button>${_el_resume($scope2_id, "b")}`);
|
|
7823
7823
|
_script($scope2_id, "G1");
|
|
7824
7824
|
writeScope($scope2_id, {});
|
|
7825
7825
|
return 0;
|
|
@@ -7834,13 +7834,13 @@ var sso_auth_default = _template("G", (input) => {
|
|
|
7834
7834
|
_if(() => {
|
|
7835
7835
|
if (localBusy && localCode) {
|
|
7836
7836
|
const $scope4_id = _scope_id();
|
|
7837
|
-
_html(`<div${_attr_class(["
|
|
7837
|
+
_html(`<div${_attr_class(["_fW", "_f3"])}><span${_attr_class("_G")}></span> Enter code <strong${_attr_class("_f4")}>${_text_resume($scope4_id, "d", localCode)}</strong> at <a${_attr("href", `https://${host}/login/device`)}${_attr_class("_f5")}>${_text_resume($scope4_id, "f", host, _serialize_guard($scope0_reason, 3))}/login/device</a>${_el_resume($scope4_id, "e")}</div>`);
|
|
7838
7838
|
_script($scope4_id, "G2");
|
|
7839
7839
|
writeScope($scope4_id, {});
|
|
7840
7840
|
return 0;
|
|
7841
7841
|
} else if (localBusy) {
|
|
7842
7842
|
const $scope6_id = _scope_id();
|
|
7843
|
-
_html(`<div${_attr_class(["
|
|
7843
|
+
_html(`<div${_attr_class(["_fW", "_f3"])}><span${_attr_class("_G")}></span>Starting GitHub re-authorization…</div>`);
|
|
7844
7844
|
writeScope($scope6_id, {});
|
|
7845
7845
|
return 1;
|
|
7846
7846
|
}
|
|
@@ -7848,14 +7848,14 @@ var sso_auth_default = _template("G", (input) => {
|
|
|
7848
7848
|
_if(() => {
|
|
7849
7849
|
if (localError) {
|
|
7850
7850
|
const $scope5_id = _scope_id();
|
|
7851
|
-
_html(`<p${_attr_class(["
|
|
7851
|
+
_html(`<p${_attr_class(["_fW", "_f6"])}>${_text_resume($scope5_id, "b", localError)}</p>`);
|
|
7852
7852
|
writeScope($scope5_id, {});
|
|
7853
7853
|
return 0;
|
|
7854
7854
|
}
|
|
7855
7855
|
}, $scope0_id, "d", 1, 1, 1, 0, 1);
|
|
7856
7856
|
_for_of(skipped, (s) => {
|
|
7857
7857
|
const $scope3_id = _scope_id();
|
|
7858
|
-
_html(`<div${_attr_class(["
|
|
7858
|
+
_html(`<div${_attr_class(["_fW", "_fX"])}><span${_attr_class("_fY")}><span${_attr_class("_fZ")}>${_text_resume($scope3_id, "d", s.org, $sg__input_skipped)}</span><span${_attr_class("_f0")}>Ignored</span></span><button type=button${_attr_class([btnSm, "_f2"])}${_attr("title", `Ask about ${s.org} again`)}>Undo</button>${_el_resume($scope3_id, "f")}</div>`);
|
|
7859
7859
|
_script($scope3_id, "G3");
|
|
7860
7860
|
writeScope($scope3_id, {
|
|
7861
7861
|
i: s?.org,
|
|
@@ -7906,7 +7906,7 @@ var skill_chip_default = _template("F", (input) => {
|
|
|
7906
7906
|
const $input_tags__closures = /* @__PURE__ */ new Set();
|
|
7907
7907
|
const $input_actions__closures = /* @__PURE__ */ new Set();
|
|
7908
7908
|
const $input_trailing__closures = /* @__PURE__ */ new Set();
|
|
7909
|
-
_html(`<li${_attr_class("
|
|
7909
|
+
_html(`<li${_attr_class("_cE")}>`);
|
|
7910
7910
|
_if(() => {
|
|
7911
7911
|
if (input.busy != null) {
|
|
7912
7912
|
const $scope1_id = _scope_id();
|
|
@@ -7916,20 +7916,20 @@ var skill_chip_default = _template("F", (input) => {
|
|
|
7916
7916
|
} else {
|
|
7917
7917
|
const $scope2_id = _scope_id();
|
|
7918
7918
|
const popId = _id();
|
|
7919
|
-
_html(`<button${_attr_class("
|
|
7919
|
+
_html(`<button${_attr_class("_cF")}${_attr("popovertarget", popId)}${_attr("title", `About ${input.name}`)}>${_text_resume($scope2_id, "b", input.name, $sg__input_name)}`);
|
|
7920
7920
|
_if(() => {
|
|
7921
7921
|
if (input.hint) {
|
|
7922
7922
|
const $scope3_id = _scope_id();
|
|
7923
|
-
_html(`<span${_attr_class("
|
|
7923
|
+
_html(`<span${_attr_class("_cH")}>${_text_resume($scope3_id, "b", input.hint, $sg__input_hint)}</span>`);
|
|
7924
7924
|
$si__input_busy__OR__input_hint && _subscribe($si__input_hint && $input_hint__closures, writeScope($scope3_id, { _: _scope_with_id($scope2_id) }));
|
|
7925
7925
|
return 0;
|
|
7926
7926
|
}
|
|
7927
7927
|
}, $scope2_id, "c", $sg__input_hint, $sg__input_hint, $sg__input_hint__OR__input_description__OR__input_sourceUrl__OR__input_source__OR__input_noteLocal__OR__input_tags__OR__input_actions__OR__input_trailing, 0, 1);
|
|
7928
|
-
_html(`</button>${_el_resume($scope2_id, "a")}<div${_attr("id", popId)} popover=auto${_attr_class(pop)}><span${_attr_class(["
|
|
7928
|
+
_html(`</button>${_el_resume($scope2_id, "a")}<div${_attr("id", popId)} popover=auto${_attr_class(pop)}><span${_attr_class(["_ce", "_y"])}>${_text_resume($scope2_id, "f", input.name, $sg__input_name)}</span>`);
|
|
7929
7929
|
_if(() => {
|
|
7930
7930
|
if (input.description) {
|
|
7931
7931
|
const $scope4_id = _scope_id();
|
|
7932
|
-
_html(`<span${_attr_class("
|
|
7932
|
+
_html(`<span${_attr_class("_cg")}${_attr("title", input.description)}>${_text_resume($scope4_id, "b", input.description, $sg__input_description)}</span>${_el_resume($scope4_id, "a", $sg__input_description)}`);
|
|
7933
7933
|
$si__input_busy__OR__input_description && _subscribe($si__input_description && $input_description__closures, writeScope($scope4_id, { _: _scope_with_id($scope2_id) }));
|
|
7934
7934
|
return 0;
|
|
7935
7935
|
}
|
|
@@ -7937,12 +7937,12 @@ var skill_chip_default = _template("F", (input) => {
|
|
|
7937
7937
|
_if(() => {
|
|
7938
7938
|
if (input.sourceUrl) {
|
|
7939
7939
|
const $scope5_id = _scope_id();
|
|
7940
|
-
_html(`<a${_attr_class(["
|
|
7940
|
+
_html(`<a${_attr_class(["_cg", "_K"])}${_attr("href", input.sourceUrl)} target=_blank rel=noopener${_attr("title", `Open ${input.source} on GitHub`)}>${_text_resume($scope5_id, "b", input.source, $sg__input_source)}</a>${_el_resume($scope5_id, "a", _serialize_guard($scope0_reason, 6))}`);
|
|
7941
7941
|
$si__input_busy__OR__input_sourceUrl__OR__input_source__OR__input_noteLocal && _subscribe($si__input_source && $input_source__closures, _subscribe($si__input_sourceUrl && $input_sourceUrl__closures, writeScope($scope5_id, { _: _scope_with_id($scope2_id) })));
|
|
7942
7942
|
return 0;
|
|
7943
7943
|
} else if (input.source) {
|
|
7944
7944
|
const $scope6_id = _scope_id();
|
|
7945
|
-
_html(`<span${_attr_class("
|
|
7945
|
+
_html(`<span${_attr_class("_cg")}>${_text_resume($scope6_id, "b", input.source, $sg__input_source)}</span>`);
|
|
7946
7946
|
$si__input_busy__OR__input_sourceUrl__OR__input_source__OR__input_noteLocal && _subscribe($si__input_source && $input_source__closures, writeScope($scope6_id, {
|
|
7947
7947
|
_: _scope_with_id($scope2_id),
|
|
7948
7948
|
Cs: $si__input_source && 1
|
|
@@ -7950,7 +7950,7 @@ var skill_chip_default = _template("F", (input) => {
|
|
|
7950
7950
|
return 1;
|
|
7951
7951
|
} else if (input.noteLocal) {
|
|
7952
7952
|
const $scope10_id = _scope_id();
|
|
7953
|
-
_html(`<span${_attr_class(["
|
|
7953
|
+
_html(`<span${_attr_class(["_cg", "_x"])} title="Not installed from a source, so it cannot be updated">local only</span>`);
|
|
7954
7954
|
_serialize_if($scope0_reason, 8) && writeScope($scope10_id, {});
|
|
7955
7955
|
return 2;
|
|
7956
7956
|
}
|
|
@@ -7958,7 +7958,7 @@ var skill_chip_default = _template("F", (input) => {
|
|
|
7958
7958
|
_if(() => {
|
|
7959
7959
|
if (input.tags) {
|
|
7960
7960
|
const $scope7_id = _scope_id();
|
|
7961
|
-
_html(`<span${_attr_class("
|
|
7961
|
+
_html(`<span${_attr_class("_cf")}>`);
|
|
7962
7962
|
_dynamic_tag($scope7_id, "b", input.tags, {}, 0, 0, $sg__input_tags);
|
|
7963
7963
|
_html("</span>");
|
|
7964
7964
|
$si__input_busy__OR__input_tags && _subscribe($si__input_tags && $input_tags__closures, writeScope($scope7_id, { _: _scope_with_id($scope2_id) }));
|
|
@@ -7968,7 +7968,7 @@ var skill_chip_default = _template("F", (input) => {
|
|
|
7968
7968
|
_if(() => {
|
|
7969
7969
|
if (input.actions) {
|
|
7970
7970
|
const $scope8_id = _scope_id();
|
|
7971
|
-
_html(`<div${_attr_class("
|
|
7971
|
+
_html(`<div${_attr_class("_cJ")}>`);
|
|
7972
7972
|
_dynamic_tag($scope8_id, "b", input.actions, {}, 0, 0, $sg__input_actions);
|
|
7973
7973
|
_html("</div>");
|
|
7974
7974
|
$si__input_busy__OR__input_actions && _subscribe($si__input_actions && $input_actions__closures, writeScope($scope8_id, { _: _scope_with_id($scope2_id) }));
|
|
@@ -8079,7 +8079,7 @@ var icon_moon_default = _template("nb", (input) => {
|
|
|
8079
8079
|
});
|
|
8080
8080
|
//#endregion
|
|
8081
8081
|
//#region src/tags/prompt-dialog.css.ts
|
|
8082
|
-
var promptDlg = "
|
|
8082
|
+
var promptDlg = "_fm _fi";
|
|
8083
8083
|
//#endregion
|
|
8084
8084
|
//#region src/tags/dialog-close.marko
|
|
8085
8085
|
var dialog_close_default = _template("h", (input) => {
|
|
@@ -8103,7 +8103,7 @@ var modal_view_default = _template("q", (input) => {
|
|
|
8103
8103
|
const { label, class: inputClass, open: _open, openChange: _openChange, dismissable: _dismissable, content, footer, closedby: _closedby, onCancel: _onCancel, onClose: _onClose, "aria-label": inputAriaLabel, "aria-labelledby": inputLabelledBy, ...htmlInput } = input;
|
|
8104
8104
|
const dismissable = input.dismissable !== false;
|
|
8105
8105
|
let open = input.open;
|
|
8106
|
-
_html(`<dialog${_attr_class(["
|
|
8106
|
+
_html(`<dialog${_attr_class(["_fh", inputClass])}${_attr("aria-labelledby", inputLabelledBy)}${inputLabelledBy ? _attr("aria-label", inputAriaLabel) : _attr("aria-label", inputAriaLabel || label)} closedby=${dismissable ? "any" : "none"}${_attrs_partial({
|
|
8107
8107
|
...htmlInput,
|
|
8108
8108
|
open: null
|
|
8109
8109
|
}, {
|
|
@@ -8113,20 +8113,20 @@ var modal_view_default = _template("q", (input) => {
|
|
|
8113
8113
|
closedby: 1,
|
|
8114
8114
|
"on-cancel": 1,
|
|
8115
8115
|
"on-close": 1
|
|
8116
|
-
}, "a", $scope0_id, "dialog")}><div${_attr_class("
|
|
8116
|
+
}, "a", $scope0_id, "dialog")}><div${_attr_class("_fk")}>`);
|
|
8117
8117
|
_dynamic_tag($scope0_id, "c", content, {}, 0, 0, _serialize_guard($scope0_reason, 6));
|
|
8118
8118
|
_html("</div>");
|
|
8119
8119
|
_if(() => {
|
|
8120
8120
|
if (footer) {
|
|
8121
8121
|
const $scope1_id = _scope_id();
|
|
8122
|
-
_html(`<form method=dialog${_attr_class("
|
|
8122
|
+
_html(`<form method=dialog${_attr_class("_fl")}>`);
|
|
8123
8123
|
_dynamic_tag($scope1_id, "b", footer.content, {}, 0, 0, _serialize_guard($scope0_reason, 7));
|
|
8124
8124
|
_html("</form>");
|
|
8125
8125
|
$si__input_openChange__OR__input_footer && writeScope($scope1_id, { _: _serialize_if($scope0_reason, 7) && _scope_with_id($scope0_id) });
|
|
8126
8126
|
return 0;
|
|
8127
8127
|
} else if (input.openChange) {
|
|
8128
8128
|
const $scope2_id = _scope_id();
|
|
8129
|
-
_html(`<form method=dialog${_attr_class("
|
|
8129
|
+
_html(`<form method=dialog${_attr_class("_fl")}>`);
|
|
8130
8130
|
dialog_close_default({
|
|
8131
8131
|
class: ["_q", "_r"],
|
|
8132
8132
|
content: _content("q0", () => {
|
|
@@ -8210,7 +8210,7 @@ var prompt_dialog_default = _template("u", (input) => {
|
|
|
8210
8210
|
content: _content("u7", () => {
|
|
8211
8211
|
_scope_reason();
|
|
8212
8212
|
const $scope2_id = _scope_id();
|
|
8213
|
-
_html(`<h2${_attr_class("
|
|
8213
|
+
_html(`<h2${_attr_class("_fj")}${_attr("id", titleId)}>${_text_resume($scope2_id, "b", input.label, $sg__input_label)}</h2><input${_attr_input_value($scope2_id, "c", value, _resume((_new_value) => {
|
|
8214
8214
|
value = _new_value;
|
|
8215
8215
|
}, "u0", $scope2_id))}${_attr("placeholder", input.placeholder)}>${_el_resume($scope2_id, "c")}`);
|
|
8216
8216
|
_script($scope2_id, "u5");
|
|
@@ -8868,7 +8868,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
8868
8868
|
_: _scope_with_id($scope0_id)
|
|
8869
8869
|
});
|
|
8870
8870
|
}, $scope0_id) };
|
|
8871
|
-
_html(`<section${_attr_class("
|
|
8871
|
+
_html(`<section${_attr_class("_b8")}${_attr("aria-labelledby", agentsId)}><div${_attr_class("_b9")}><h2${_attr("id", agentsId)}${_attr_class("_cl")}>Agents</h2><div${_attr_class("_z")}></div><label${_attr_class("_da")}><span${_attr_class("_W")}>Default</span><span${_attr_class("_o")}>`);
|
|
8872
8872
|
_attr_select_value($scope0_id, "p", input.preferred, _resume(function(v) {
|
|
8873
8873
|
setPreferred(v);
|
|
8874
8874
|
}, "B0", $scope0_id), () => {
|
|
@@ -8894,7 +8894,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
8894
8894
|
agent: a.id,
|
|
8895
8895
|
size: 18
|
|
8896
8896
|
});
|
|
8897
|
-
_html(`<div${_attr_class("
|
|
8897
|
+
_html(`<div${_attr_class("_cd")}><span${_attr_class("_cf")}><span${_attr_class("_ce")}>${_text_resume($scope1_id, "g", a.label)}</span>`);
|
|
8898
8898
|
_if(() => {
|
|
8899
8899
|
if (lone && input.preferred === lone.id) {
|
|
8900
8900
|
const $scope85_id = _scope_id();
|
|
@@ -8912,7 +8912,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
8912
8912
|
return 0;
|
|
8913
8913
|
} else if (!a.installed) {
|
|
8914
8914
|
const $scope86_id = _scope_id();
|
|
8915
|
-
_html(`<span${_attr_class("
|
|
8915
|
+
_html(`<span${_attr_class("_cg")}>Not installed</span>`);
|
|
8916
8916
|
writeScope($scope86_id, {});
|
|
8917
8917
|
return 1;
|
|
8918
8918
|
}
|
|
@@ -9030,17 +9030,17 @@ var settings_page_default = _template("B", (input) => {
|
|
|
9030
9030
|
_if(() => {
|
|
9031
9031
|
if (!usage && families.length) {
|
|
9032
9032
|
const $scope90_id = _scope_id();
|
|
9033
|
-
_html(`<p${_attr_class("
|
|
9033
|
+
_html(`<p${_attr_class("_ci")}><span${_attr_class("_G")}></span> Loading usage…</p>`);
|
|
9034
9034
|
writeScope($scope90_id, {});
|
|
9035
9035
|
return 0;
|
|
9036
9036
|
} else if (usage?.error) {
|
|
9037
9037
|
const $scope9_id = _scope_id();
|
|
9038
|
-
_html(`<p${_attr_class("
|
|
9038
|
+
_html(`<p${_attr_class("_ci")}>${_text_resume($scope9_id, "b", usage.error)}</p>`);
|
|
9039
9039
|
writeScope($scope9_id, {});
|
|
9040
9040
|
return 1;
|
|
9041
9041
|
}
|
|
9042
9042
|
}, $scope0_id, "t", 1, 1, 1, 0, 1);
|
|
9043
|
-
_html(`</section></div><div${_attr_class("_eh")}><section${_attr_class("
|
|
9043
|
+
_html(`</section></div><div${_attr_class("_eh")}><section${_attr_class("_b8")}${_attr("aria-labelledby", githubId)}><div${_attr_class("_b9")}><h2${_attr("id", githubId)}${_attr_class("_cl")}>GitHub</h2>`);
|
|
9044
9044
|
_if(() => {
|
|
9045
9045
|
if (setup) {
|
|
9046
9046
|
const $scope41_id = _scope_id();
|
|
@@ -9077,7 +9077,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
9077
9077
|
return 0;
|
|
9078
9078
|
}
|
|
9079
9079
|
}, $scope0_id, "y");
|
|
9080
|
-
_html(`</div><div${_attr_class(["
|
|
9080
|
+
_html(`</div><div${_attr_class(["_cc", "_cK"])}>`);
|
|
9081
9081
|
_for_of(setup?.github || [], (h) => {
|
|
9082
9082
|
const $scope7_id = _scope_id();
|
|
9083
9083
|
const $for_content3__h_host__closures = /* @__PURE__ */ new Set();
|
|
@@ -9089,7 +9089,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
9089
9089
|
size: 18,
|
|
9090
9090
|
class: "_dr"
|
|
9091
9091
|
});
|
|
9092
|
-
_html(`<div${_attr_class("
|
|
9092
|
+
_html(`<div${_attr_class("_cd")}><span${_attr_class("_cf")}><span${_attr_class("_ce")}>${_text_resume($scope7_id, "g", h.host)}</span>`);
|
|
9093
9093
|
_if(() => {
|
|
9094
9094
|
if (h.isEnterprise) {
|
|
9095
9095
|
const $scope94_id = _scope_id();
|
|
@@ -9102,12 +9102,12 @@ var settings_page_default = _template("B", (input) => {
|
|
|
9102
9102
|
_if(() => {
|
|
9103
9103
|
if (busy) {
|
|
9104
9104
|
const $scope14_id = _scope_id();
|
|
9105
|
-
_html(`<span${_attr_class(["
|
|
9105
|
+
_html(`<span${_attr_class(["_cg", "_ds"])}><span${_attr_class("_G")}></span>${_text_resume($scope14_id, "c", authCodes.has(h.host) ? "Waiting for the browser…" : active.get(h.host) || "Starting…")}</span>`);
|
|
9106
9106
|
_subscribe($authCodes__closures, _subscribe($active__closures, writeScope($scope14_id, { Ch1: 1 })));
|
|
9107
9107
|
return 0;
|
|
9108
9108
|
} else if (h.authed) {
|
|
9109
9109
|
const $scope92_id = _scope_id();
|
|
9110
|
-
_html(`<span${_attr_class(["
|
|
9110
|
+
_html(`<span${_attr_class(["_cg", "_ds"])}>`);
|
|
9111
9111
|
icon_check_default({
|
|
9112
9112
|
size: 12,
|
|
9113
9113
|
class: "_dt"
|
|
@@ -9118,7 +9118,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
9118
9118
|
} else if (h.error) {
|
|
9119
9119
|
const $scope93_id = _scope_id();
|
|
9120
9120
|
_html(`<span${_attr_class([
|
|
9121
|
-
"
|
|
9121
|
+
"_cg",
|
|
9122
9122
|
"_ds",
|
|
9123
9123
|
"_du"
|
|
9124
9124
|
])}>`);
|
|
@@ -9128,7 +9128,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
9128
9128
|
return 2;
|
|
9129
9129
|
} else {
|
|
9130
9130
|
const $scope95_id = _scope_id();
|
|
9131
|
-
_html(`<span${_attr_class(["
|
|
9131
|
+
_html(`<span${_attr_class(["_cg", "_ds"])}>Not signed in</span>`);
|
|
9132
9132
|
writeScope($scope95_id, {});
|
|
9133
9133
|
return 3;
|
|
9134
9134
|
}
|
|
@@ -9171,7 +9171,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
9171
9171
|
const $childScope12 = _peek_scope_id();
|
|
9172
9172
|
arm_button_default({
|
|
9173
9173
|
class: [
|
|
9174
|
-
"
|
|
9174
|
+
"_ch",
|
|
9175
9175
|
"_7",
|
|
9176
9176
|
"_8"
|
|
9177
9177
|
],
|
|
@@ -9248,12 +9248,12 @@ var settings_page_default = _template("B", (input) => {
|
|
|
9248
9248
|
_if(() => {
|
|
9249
9249
|
if (setup && !setup.github.length) {
|
|
9250
9250
|
const $scope98_id = _scope_id();
|
|
9251
|
-
_html(`<p${_attr_class("
|
|
9251
|
+
_html(`<p${_attr_class("_ci")}>Install the GitHub CLI below to sign in.</p>`);
|
|
9252
9252
|
writeScope($scope98_id, {});
|
|
9253
9253
|
return 0;
|
|
9254
9254
|
}
|
|
9255
9255
|
}, $scope0_id, "a0", 1, 1, 1, 0, 1);
|
|
9256
|
-
_html(`</section><section${_attr_class("
|
|
9256
|
+
_html(`</section><section${_attr_class("_b8")}${_attr("aria-labelledby", machineId)}><div${_attr_class("_b9")}><h2${_attr("id", machineId)}${_attr_class("_cl")}>Machine</h2></div><div${_attr_class(["_cc", "_cK"])}><div${_attr_class(["_cL", "_cM"])}><div${_attr_class(["_cN", { ["_cO"]: skillsOpen }])}><button${_attr_class("_cP")} aria-expanded=true>`);
|
|
9257
9257
|
_set_serialize_reason(1);
|
|
9258
9258
|
const $childScope14 = _peek_scope_id();
|
|
9259
9259
|
icon_chevron_right_default({
|
|
@@ -9292,7 +9292,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
9292
9292
|
_if(() => {
|
|
9293
9293
|
if (skillSearching && !skillHits?.length && !looksLikeSource(skillQuery)) {
|
|
9294
9294
|
const $scope99_id = _scope_id();
|
|
9295
|
-
_html(`<li${_attr_class("
|
|
9295
|
+
_html(`<li${_attr_class("_cB")}>Searching skills.sh…</li>`);
|
|
9296
9296
|
writeScope($scope99_id, {});
|
|
9297
9297
|
return 0;
|
|
9298
9298
|
}
|
|
@@ -9300,7 +9300,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
9300
9300
|
_if(() => {
|
|
9301
9301
|
if (looksLikeSource(skillQuery)) {
|
|
9302
9302
|
const $scope17_id = _scope_id();
|
|
9303
|
-
_html(`<li${_attr_class(toolRow)}><div${_attr_class("
|
|
9303
|
+
_html(`<li${_attr_class(toolRow)}><div${_attr_class("_cd")}><span${_attr_class(["_dk", "_y"])}>${_text_resume($scope17_id, "d", skillQuery.trim())}</span>`);
|
|
9304
9304
|
_if(() => {
|
|
9305
9305
|
if (active.has(skillQuery.trim())) {
|
|
9306
9306
|
const $scope18_id = _scope_id();
|
|
@@ -9312,7 +9312,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
9312
9312
|
return 0;
|
|
9313
9313
|
} else {
|
|
9314
9314
|
const $scope100_id = _scope_id();
|
|
9315
|
-
_html(`<span${_attr_class("
|
|
9315
|
+
_html(`<span${_attr_class("_cg")}>Add straight from this source</span>`);
|
|
9316
9316
|
writeScope($scope100_id, {});
|
|
9317
9317
|
return 1;
|
|
9318
9318
|
}
|
|
@@ -9338,7 +9338,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
9338
9338
|
_for_of(skillHits || [], (h) => {
|
|
9339
9339
|
const $scope19_id = _scope_id();
|
|
9340
9340
|
const $for_content4__h_installs__closures = /* @__PURE__ */ new Set();
|
|
9341
|
-
_html(`<li${_attr_class(toolRow)}><div${_attr_class("
|
|
9341
|
+
_html(`<li${_attr_class(toolRow)}><div${_attr_class("_cd")}><span${_attr_class(["_dk", "_y"])}>${_text_resume($scope19_id, "d", h.name)}</span>`);
|
|
9342
9342
|
_if(() => {
|
|
9343
9343
|
if (active.has(h.skillId)) {
|
|
9344
9344
|
const $scope20_id = _scope_id();
|
|
@@ -9347,7 +9347,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
9347
9347
|
return 0;
|
|
9348
9348
|
} else {
|
|
9349
9349
|
const $scope101_id = _scope_id();
|
|
9350
|
-
_html(`<span${_attr_class("
|
|
9350
|
+
_html(`<span${_attr_class("_cg")}${_attr("title", h.source)}>${_text_resume($scope101_id, "b", h.source)}</span>${_el_resume($scope101_id, "a")}`);
|
|
9351
9351
|
writeScope($scope101_id, {});
|
|
9352
9352
|
return 1;
|
|
9353
9353
|
}
|
|
@@ -9395,7 +9395,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
9395
9395
|
_if(() => {
|
|
9396
9396
|
if (skillHits && !skillHits.length && !skillSearching && !looksLikeSource(skillQuery)) {
|
|
9397
9397
|
const $scope52_id = _scope_id();
|
|
9398
|
-
_html(`<li${_attr_class("
|
|
9398
|
+
_html(`<li${_attr_class("_cB")}>No skills match "${_text_resume($scope52_id, "b", skillQuery, 2)}".</li>`);
|
|
9399
9399
|
_subscribe($skillQuery__closures, writeScope($scope52_id, { Chs: 3 }));
|
|
9400
9400
|
return 0;
|
|
9401
9401
|
}
|
|
@@ -9416,18 +9416,18 @@ var settings_page_default = _template("B", (input) => {
|
|
|
9416
9416
|
_if(() => {
|
|
9417
9417
|
if (skills && !skills.agents.length) {
|
|
9418
9418
|
const $scope104_id = _scope_id();
|
|
9419
|
-
_html(`<p${_attr_class("
|
|
9419
|
+
_html(`<p${_attr_class("_ci")}>No agent CLIs are installed, so a skill would have nowhere to go. Install one from Agents above.</p>`);
|
|
9420
9420
|
writeScope($scope104_id, {});
|
|
9421
9421
|
return 0;
|
|
9422
9422
|
} else if (skills && !skills.available) {
|
|
9423
9423
|
const $scope22_id = _scope_id();
|
|
9424
|
-
_html(`<p${_attr_class("
|
|
9424
|
+
_html(`<p${_attr_class("_ci")}>The skills CLI is not installed, so skills can be listed but not added or removed. <button${_attr_class(btnSm)}${_attr("disabled", active.has("skills"))}>${_text_resume($scope22_id, "c", active.has("skills") ? "Installing…" : "Install it")}</button>${_el_resume($scope22_id, "b")}</p>`);
|
|
9425
9425
|
_script($scope22_id, "B66");
|
|
9426
9426
|
_subscribe($active__closures, writeScope($scope22_id, { Ch1: 6 }));
|
|
9427
9427
|
return 1;
|
|
9428
9428
|
}
|
|
9429
9429
|
}, $scope21_id, "b", 1, 1, 1, 0, 1);
|
|
9430
|
-
_html(`<ul${_attr_class("
|
|
9430
|
+
_html(`<ul${_attr_class("_cD")}>`);
|
|
9431
9431
|
_for_of(skills?.global || [], (s) => {
|
|
9432
9432
|
const $scope23_id = _scope_id();
|
|
9433
9433
|
const $for_content5__s_agents__closures = /* @__PURE__ */ new Set();
|
|
@@ -9505,7 +9505,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
9505
9505
|
_if(() => {
|
|
9506
9506
|
if (skills && !skills.global.length && skills.available && skills.agents.length) {
|
|
9507
9507
|
const $scope108_id = _scope_id();
|
|
9508
|
-
_html(`<p${_attr_class("
|
|
9508
|
+
_html(`<p${_attr_class("_ci")}>No skills installed. Search below, or paste an owner/repo.</p>`);
|
|
9509
9509
|
writeScope($scope108_id, {});
|
|
9510
9510
|
return 0;
|
|
9511
9511
|
}
|
|
@@ -9575,7 +9575,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
9575
9575
|
_if(() => {
|
|
9576
9576
|
if (searching && !hits?.length) {
|
|
9577
9577
|
const $scope109_id = _scope_id();
|
|
9578
|
-
_html(`<li${_attr_class("
|
|
9578
|
+
_html(`<li${_attr_class("_cB")}>Searching the mise registry…</li>`);
|
|
9579
9579
|
writeScope($scope109_id, {});
|
|
9580
9580
|
return 0;
|
|
9581
9581
|
}
|
|
@@ -9583,14 +9583,14 @@ var settings_page_default = _template("B", (input) => {
|
|
|
9583
9583
|
_if(() => {
|
|
9584
9584
|
if (hits && !hits.length && !searching) {
|
|
9585
9585
|
const $scope42_id = _scope_id();
|
|
9586
|
-
_html(`<li${_attr_class("
|
|
9586
|
+
_html(`<li${_attr_class("_cB")}>No tools match "${_text_resume($scope42_id, "b", query, 2)}".</li>`);
|
|
9587
9587
|
_subscribe($query__closures, writeScope($scope42_id, {}));
|
|
9588
9588
|
return 0;
|
|
9589
9589
|
}
|
|
9590
9590
|
}, $scope28_id, "b", 1, 1, 1, 0, 1);
|
|
9591
9591
|
_for_of(hits || [], (h) => {
|
|
9592
9592
|
const $scope29_id = _scope_id();
|
|
9593
|
-
_html(`<li${_attr_class(toolRow)}><div${_attr_class("
|
|
9593
|
+
_html(`<li${_attr_class(toolRow)}><div${_attr_class("_cd")}><span${_attr_class(["_dk", "_y"])}>${_text_resume($scope29_id, "d", h.name)}</span>`);
|
|
9594
9594
|
_if(() => {
|
|
9595
9595
|
if (active.has(h.name)) {
|
|
9596
9596
|
const $scope30_id = _scope_id();
|
|
@@ -9599,7 +9599,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
9599
9599
|
return 0;
|
|
9600
9600
|
} else if (h.description) {
|
|
9601
9601
|
const $scope110_id = _scope_id();
|
|
9602
|
-
_html(`<span${_attr_class("
|
|
9602
|
+
_html(`<span${_attr_class("_cg")}${_attr("title", h.description)}>${_text_resume($scope110_id, "b", h.description)}</span>${_el_resume($scope110_id, "a")}`);
|
|
9603
9603
|
writeScope($scope110_id, {});
|
|
9604
9604
|
return 1;
|
|
9605
9605
|
}
|
|
@@ -9650,7 +9650,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
9650
9650
|
_if(() => {
|
|
9651
9651
|
if (setup && !setup.mise.installed) {
|
|
9652
9652
|
const $scope31_id = _scope_id();
|
|
9653
|
-
_html(`<p${_attr_class("
|
|
9653
|
+
_html(`<p${_attr_class("_ci")}>mise is not installed. It provides every tool below. <button${_attr_class(btnSm)}${_attr("disabled", active.has("mise"))}>${_text_resume($scope31_id, "c", active.has("mise") ? "Installing…" : "Install mise")}</button>${_el_resume($scope31_id, "b")}</p>`);
|
|
9654
9654
|
_script($scope31_id, "B76");
|
|
9655
9655
|
_subscribe($active__closures, writeScope($scope31_id, { Ch1: 10 }));
|
|
9656
9656
|
return 0;
|
|
@@ -9877,7 +9877,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
9877
9877
|
label: "Dark"
|
|
9878
9878
|
}
|
|
9879
9879
|
];
|
|
9880
|
-
_html(`</div></div></section><section${_attr_class("
|
|
9880
|
+
_html(`</div></div></section><section${_attr_class("_b8")}${_attr("aria-labelledby", appearanceId)}><div${_attr_class("_b9")}><h2${_attr("id", appearanceId)}${_attr_class("_cl")}>Appearance</h2></div><div${_attr_class(["_cc", "_dB"])}><div${_attr_class("_dN")}><img${_attr_class("_dO")}${_attr("src", `/api/instance/icon${accent ? `?v=${accent.slice(1)}` : ""}`)} alt aria-hidden=true>${_el_resume($scope0_id, "au", $sg__input_instance_accent)}<span${_attr_class("_dP")}><span${_attr_class("_dQ")}>${_text_resume($scope0_id, "ax", input.instance.name || "work", _serialize_guard($scope0_reason, 7))}</span><span${_attr_class("_dR")}>Sidebar, tab title, home-screen icon and notifications</span></span></div><label${_attr_class("_dC")}><span${_attr_class("_dD")}>Name</span><input${_attr_input_value($scope0_id, "b1", input.instance.name, _resume(function(v) {
|
|
9881
9881
|
setInstance({ name: v });
|
|
9882
9882
|
}, "B1", $scope0_id))}${_attr_class(["_Y", "_dE"])} type=text placeholder=work maxlength=32 autocomplete=off spellcheck=false>${_el_resume($scope0_id, "b1")}</label><div${_attr_class("_dC")}><span${_attr_class("_dD")}>Theme</span><span${_attr_class("_dG")}><span${_attr_class(themeSeg)} role=radiogroup aria-label="Color theme">`);
|
|
9883
9883
|
_for_of(themeOpts, (opt) => {
|
|
@@ -9975,7 +9975,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
9975
9975
|
return 1;
|
|
9976
9976
|
}
|
|
9977
9977
|
}, $scope0_id, "bf", $sg__input_instance_accent, $sg__input_instance_accent, 1, 0, 1);
|
|
9978
|
-
_html(`</label>${_el_resume($scope0_id, "bd", $sg__input_instance_accent)}</span></div></div></section><section${_attr_class("
|
|
9978
|
+
_html(`</label>${_el_resume($scope0_id, "bd", $sg__input_instance_accent)}</span></div></div></section><section${_attr_class("_b8")}${_attr("aria-labelledby", backupId)}><div${_attr_class("_b9")}><h2${_attr("id", backupId)}${_attr_class("_cl")}>Backup</h2></div><div${_attr_class(["_cc", "_cK"])}><div${_attr_class("_cL")}><div${_attr_class("_d0")}><div${_attr_class("_cd")}>`);
|
|
9979
9979
|
_if(() => {
|
|
9980
9980
|
if (backupBusy === "preflight") {
|
|
9981
9981
|
const $scope66_id = _scope_id();
|
|
@@ -9984,7 +9984,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
9984
9984
|
return 0;
|
|
9985
9985
|
} else {
|
|
9986
9986
|
const $scope130_id = _scope_id();
|
|
9987
|
-
_html(`<span${_attr_class("
|
|
9987
|
+
_html(`<span${_attr_class("_cg")}>Save workspaces, settings, skills and tool pins to a file. Code stays on GitHub.</span>`);
|
|
9988
9988
|
writeScope($scope130_id, {});
|
|
9989
9989
|
return 1;
|
|
9990
9990
|
}
|
|
@@ -10023,7 +10023,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
10023
10023
|
_for_of(preflight.workspaces, (w) => {
|
|
10024
10024
|
const $scope132_id = _scope_id();
|
|
10025
10025
|
const $for_content17__w_name__closures = /* @__PURE__ */ new Set();
|
|
10026
|
-
_html(`<li${_attr_class("_d5")}><span${_attr_class("
|
|
10026
|
+
_html(`<li${_attr_class("_d5")}><span${_attr_class("_ce")}>${_text_resume($scope132_id, "c", w.name)}</span><ul${_attr_class("_d4")}>`);
|
|
10027
10027
|
_for_of(w.repos, (r) => {
|
|
10028
10028
|
const $scope133_id = _scope_id();
|
|
10029
10029
|
const $for_content18__r_more__closures = /* @__PURE__ */ new Set();
|
|
@@ -10100,7 +10100,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
10100
10100
|
return 0;
|
|
10101
10101
|
}
|
|
10102
10102
|
}, $scope0_id, "bo", 1, 1, 1, 0, 1);
|
|
10103
|
-
_html(`</div><div${_attr_class("_cL")}><div${_attr_class("_d0")}><div${_attr_class("
|
|
10103
|
+
_html(`</div><div${_attr_class("_cL")}><div${_attr_class("_d0")}><div${_attr_class("_cd")}>`);
|
|
10104
10104
|
_if(() => {
|
|
10105
10105
|
if (backupBusy === "restore") {
|
|
10106
10106
|
const $scope67_id = _scope_id();
|
|
@@ -10109,12 +10109,12 @@ var settings_page_default = _template("B", (input) => {
|
|
|
10109
10109
|
return 0;
|
|
10110
10110
|
} else if (restoreDone) {
|
|
10111
10111
|
const $scope75_id = _scope_id();
|
|
10112
|
-
_html(`<span${_attr_class("
|
|
10112
|
+
_html(`<span${_attr_class("_cg")}>${_text_resume($scope75_id, "b", restoreDone)}</span>`);
|
|
10113
10113
|
writeScope($scope75_id, {});
|
|
10114
10114
|
return 1;
|
|
10115
10115
|
} else {
|
|
10116
10116
|
const $scope141_id = _scope_id();
|
|
10117
|
-
_html(`<span${_attr_class("
|
|
10117
|
+
_html(`<span${_attr_class("_cg")}>Load a backup file. Repos clone in the background.</span>`);
|
|
10118
10118
|
writeScope($scope141_id, {});
|
|
10119
10119
|
return 2;
|
|
10120
10120
|
}
|
|
@@ -10140,7 +10140,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
10140
10140
|
_html(`<ul${_attr_class(checkList)}>`);
|
|
10141
10141
|
_for_of(preview.workspaces, (w) => {
|
|
10142
10142
|
const $scope72_id = _scope_id();
|
|
10143
|
-
_html(`<li><label${_attr_class(["_eb", { ["_ed"]: w.exists || !!w.unknownHost }])}><input${_attr_input_checked($scope72_id, "b", restoreWs.has(w.id))}${_attr_class("_ec")} type=checkbox${_attr("disabled", w.exists || !!w.unknownHost)}>${_el_resume($scope72_id, "b")}<span${_attr_class("
|
|
10143
|
+
_html(`<li><label${_attr_class(["_eb", { ["_ed"]: w.exists || !!w.unknownHost }])}><input${_attr_input_checked($scope72_id, "b", restoreWs.has(w.id))}${_attr_class("_ec")} type=checkbox${_attr("disabled", w.exists || !!w.unknownHost)}>${_el_resume($scope72_id, "b")}<span${_attr_class("_cd")}><span${_attr_class("_cf")}><span${_attr_class("_ce")}>${_text_resume($scope72_id, "f", w.name)}</span>`);
|
|
10144
10144
|
_if(() => {
|
|
10145
10145
|
if (w.status === "archived") {
|
|
10146
10146
|
const $scope145_id = _scope_id();
|
|
@@ -10162,7 +10162,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
10162
10162
|
return 1;
|
|
10163
10163
|
}
|
|
10164
10164
|
}, $scope72_id, "h", 1, 1, 1, 0, 1);
|
|
10165
|
-
_html(`</span><span${_attr_class("
|
|
10165
|
+
_html(`</span><span${_attr_class("_cg")}>${_text_resume($scope72_id, "j", w.repos.join(", ") || "no repos")}</span></span></label>${_el_resume($scope72_id, "a")}</li>`);
|
|
10166
10166
|
_script($scope72_id, "B88");
|
|
10167
10167
|
_subscribe($restoreWs__closures, writeScope($scope72_id, {
|
|
10168
10168
|
n: w?.unknownHost,
|
|
@@ -10173,7 +10173,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
10173
10173
|
return 0;
|
|
10174
10174
|
} else {
|
|
10175
10175
|
const $scope143_id = _scope_id();
|
|
10176
|
-
_html(`<p${_attr_class("
|
|
10176
|
+
_html(`<p${_attr_class("_ci")}>No workspaces in this file.</p>`);
|
|
10177
10177
|
writeScope($scope143_id, {});
|
|
10178
10178
|
return 1;
|
|
10179
10179
|
}
|
|
@@ -10213,7 +10213,7 @@ var settings_page_default = _template("B", (input) => {
|
|
|
10213
10213
|
_if(() => {
|
|
10214
10214
|
if (p.total) {
|
|
10215
10215
|
const $scope74_id = _scope_id();
|
|
10216
|
-
_html(`<li><label${_attr_class(["_eb", { ["_ed"]: !p.missing.length && p.key !== "settings" }])}><input${_attr_input_checked($scope74_id, "b", restoreParts[p.key])}${_attr_class("_ec")} type=checkbox${_attr("disabled", !p.missing.length && p.key !== "settings")}>${_el_resume($scope74_id, "b")}<span${_attr_class("
|
|
10216
|
+
_html(`<li><label${_attr_class(["_eb", { ["_ed"]: !p.missing.length && p.key !== "settings" }])}><input${_attr_input_checked($scope74_id, "b", restoreParts[p.key])}${_attr_class("_ec")} type=checkbox${_attr("disabled", !p.missing.length && p.key !== "settings")}>${_el_resume($scope74_id, "b")}<span${_attr_class("_cd")}><span${_attr_class("_ce")}>${_text_resume($scope74_id, "e", p.label)}</span><span${_attr_class("_cg")}>`);
|
|
10217
10217
|
_if(() => {
|
|
10218
10218
|
if (p.key === "settings") {
|
|
10219
10219
|
const $scope142_id = _scope_id();
|
|
@@ -10497,13 +10497,13 @@ function vapidKey(base64) {
|
|
|
10497
10497
|
const raw = atob(padded.replace(/-/g, "+").replace(/_/g, "/"));
|
|
10498
10498
|
return Uint8Array.from(raw, (c) => c.charCodeAt(0));
|
|
10499
10499
|
}
|
|
10500
|
-
var iconBtn = "
|
|
10501
|
-
var settingsDot = "
|
|
10502
|
-
var navToggle = "
|
|
10500
|
+
var iconBtn = "_bQ _l";
|
|
10501
|
+
var settingsDot = "_bR _bb";
|
|
10502
|
+
var navToggle = "_bV _l";
|
|
10503
10503
|
//#endregion
|
|
10504
10504
|
//#region src/styles/session-pop.css.ts
|
|
10505
|
-
var sessionPop = "
|
|
10506
|
-
var sessionPopBtn = "
|
|
10505
|
+
var sessionPop = "_bN _9";
|
|
10506
|
+
var sessionPopBtn = "_bO _I";
|
|
10507
10507
|
_template("X", (input) => {
|
|
10508
10508
|
const $scope0_reason = _scope_reason(), $sg__input_size__OR__input_class = _serialize_guard($scope0_reason, 0);
|
|
10509
10509
|
const $scope0_id = _scope_id();
|
|
@@ -10557,14 +10557,14 @@ function activeAgent(session) {
|
|
|
10557
10557
|
const command = session.state?.command?.trim();
|
|
10558
10558
|
return command && agentFromCommand(command) || session.agent;
|
|
10559
10559
|
}
|
|
10560
|
-
var heroTag = "
|
|
10561
|
-
var rowState = "
|
|
10562
|
-
var prChip$1 = "
|
|
10563
|
-
var portChip = "
|
|
10560
|
+
var heroTag = "_e4 _N _Q";
|
|
10561
|
+
var rowState = "_ff _N";
|
|
10562
|
+
var prChip$1 = "_iz _u _iy";
|
|
10563
|
+
var portChip = "_iA _u _iy";
|
|
10564
10564
|
var prState = {
|
|
10565
|
-
open: "
|
|
10566
|
-
merged: "
|
|
10567
|
-
closed: "
|
|
10565
|
+
open: "_iE",
|
|
10566
|
+
merged: "_iF",
|
|
10567
|
+
closed: "_iG"
|
|
10568
10568
|
};
|
|
10569
10569
|
//#endregion
|
|
10570
10570
|
//#region src/tags/icons/icon-diff.marko
|
|
@@ -10645,7 +10645,7 @@ var side_nav_chips_default = _template("C", (input) => {
|
|
|
10645
10645
|
const name = repo.full_name.split("/").at(-1);
|
|
10646
10646
|
return repos.some((r) => r.full_name !== repo.full_name && r.full_name.split("/").at(-1) === name) ? repoLabel$1(repo.full_name) : name;
|
|
10647
10647
|
}, "C3", $scope1_id);
|
|
10648
|
-
_html(`<div${_attr_class("
|
|
10648
|
+
_html(`<div${_attr_class("_ix")}>`);
|
|
10649
10649
|
_for_of(repos, (repo) => {
|
|
10650
10650
|
const $scope2_id = _scope_id();
|
|
10651
10651
|
const $for_content__repo_worktree__closures = /* @__PURE__ */ new Set();
|
|
@@ -10661,11 +10661,11 @@ var side_nav_chips_default = _template("C", (input) => {
|
|
|
10661
10661
|
[prState.merged]: pr$1.state === "MERGED",
|
|
10662
10662
|
[prState.closed]: pr$1.state === "CLOSED"
|
|
10663
10663
|
}
|
|
10664
|
-
])}${_attr("title", prTitle(repo, pr$1))}><a${_attr_class(["
|
|
10664
|
+
])}${_attr("title", prTitle(repo, pr$1))}><a${_attr_class(["_iB", { ["_iJ"]: !open }])}${_attr("href", pr$1.url)} target=_blank rel=noopener>${_text_resume($scope3_id, "c", repoLabel(repo))}#${_text_resume($scope3_id, "d", pr$1.number, 2)}</a>${_el_resume($scope3_id, "b")}`);
|
|
10665
10665
|
_if(() => {
|
|
10666
10666
|
if (open) {
|
|
10667
10667
|
const $scope4_id = _scope_id();
|
|
10668
|
-
_html(`<a${_attr_class(["
|
|
10668
|
+
_html(`<a${_attr_class(["_iB", "_iC"])}${_attr("href", `/w/${input.workspaceId}/review?pr=${encodeURIComponent(`${repo.worktree}/${pr$1.number}`)}`)}${_attr("title", `Review #${pr$1.number} changes`)}>`);
|
|
10669
10669
|
icon_diff_default({ size: 12 });
|
|
10670
10670
|
_html(`</a>${_el_resume($scope4_id, "a")}`);
|
|
10671
10671
|
_subscribe($for_content__repo_worktree__closures, _subscribe($si__input_workspaceId && $input_workspaceId__closures, writeScope($scope4_id, {})));
|
|
@@ -10673,9 +10673,9 @@ var side_nav_chips_default = _template("C", (input) => {
|
|
|
10673
10673
|
} else {
|
|
10674
10674
|
const $scope5_id = _scope_id();
|
|
10675
10675
|
_html(`<button type=button${_attr_class([
|
|
10676
|
-
"
|
|
10677
|
-
"
|
|
10678
|
-
"
|
|
10676
|
+
"_iB",
|
|
10677
|
+
"_iC",
|
|
10678
|
+
"_iD"
|
|
10679
10679
|
])}${_attr("title", `Dismiss #${pr$1.number}`)}>`);
|
|
10680
10680
|
icon_xmark_default({ size: 12 });
|
|
10681
10681
|
_html(`</button>${_el_resume($scope5_id, "a")}`);
|
|
@@ -10703,12 +10703,12 @@ var side_nav_chips_default = _template("C", (input) => {
|
|
|
10703
10703
|
_if(() => {
|
|
10704
10704
|
if (dead.has(p.port)) {
|
|
10705
10705
|
const $scope7_id = _scope_id();
|
|
10706
|
-
_html(`<span${_attr_class(["
|
|
10706
|
+
_html(`<span${_attr_class(["_iB", "_iH"])}${_attr("title", dead.get(p.port))} aria-disabled=true>:${_text_resume($scope7_id, "b", p.port, 2)}</span>${_el_resume($scope7_id, "a")}`);
|
|
10707
10707
|
_subscribe($dead__closures, writeScope($scope7_id, { Cy: 1 }));
|
|
10708
10708
|
return 0;
|
|
10709
10709
|
} else {
|
|
10710
10710
|
const $scope8_id = _scope_id();
|
|
10711
|
-
_html(`<button type=button${_attr_class(["
|
|
10711
|
+
_html(`<button type=button${_attr_class(["_iB", "_iI"])}${_attr("title", `Open port ${p.port}`)}>:${_text_resume($scope8_id, "b", p.port, 2)}</button>${_el_resume($scope8_id, "a")}`);
|
|
10712
10712
|
_script($scope8_id, "C6");
|
|
10713
10713
|
writeScope($scope8_id, {});
|
|
10714
10714
|
return 1;
|
|
@@ -10717,9 +10717,9 @@ var side_nav_chips_default = _template("C", (input) => {
|
|
|
10717
10717
|
const $childScope = _peek_scope_id();
|
|
10718
10718
|
arm_button_default({
|
|
10719
10719
|
class: [
|
|
10720
|
-
"
|
|
10721
|
-
"
|
|
10722
|
-
"
|
|
10720
|
+
"_iB",
|
|
10721
|
+
"_iC",
|
|
10722
|
+
"_iD"
|
|
10723
10723
|
],
|
|
10724
10724
|
title: `Kill ${p.cmd} (pid ${p.pid})`,
|
|
10725
10725
|
armedTitle: "Kill?",
|
|
@@ -10766,12 +10766,12 @@ var side_nav_chips_default = _template("C", (input) => {
|
|
|
10766
10766
|
});
|
|
10767
10767
|
_resume_branch($scope0_id);
|
|
10768
10768
|
});
|
|
10769
|
-
var railBtn = "
|
|
10770
|
-
var wsBtn = "
|
|
10771
|
-
var rowIcon = "
|
|
10772
|
-
var close = "
|
|
10773
|
-
var sessRename$1 = "
|
|
10774
|
-
var sessBtn$1 = "
|
|
10769
|
+
var railBtn = "_gp _l";
|
|
10770
|
+
var wsBtn = "_gt _I";
|
|
10771
|
+
var rowIcon = "_gw _3 _l";
|
|
10772
|
+
var close = "_gx _6 _l _7";
|
|
10773
|
+
var sessRename$1 = "_gD _J";
|
|
10774
|
+
var sessBtn$1 = "_gF _I";
|
|
10775
10775
|
//#endregion
|
|
10776
10776
|
//#region src/tags/icons/icon-manage.marko
|
|
10777
10777
|
var icon_manage_default = _template("lb", (input) => {
|
|
@@ -10886,7 +10886,7 @@ var side_nav_item_default = _template("D", (input) => {
|
|
|
10886
10886
|
_if(() => {
|
|
10887
10887
|
if (input.rail) {
|
|
10888
10888
|
const $scope2_id = _scope_id();
|
|
10889
|
-
_html(`<a${_attr("href", `/w/${ws$1.id}`)}${_attr_class([railBtn, { ["
|
|
10889
|
+
_html(`<a${_attr("href", `/w/${ws$1.id}`)}${_attr_class([railBtn, { ["_gm"]: input.current }])}${ws$1.pending ? _attr("title", `${ws$1.name} — restoring`) : _attr("title", ws$1.name)}>${_text_resume($scope2_id, "b", input.index === void 0 ? "·" : input.index + 1, _serialize_guard($scope0_reason, 18))}<span${_attr_class([
|
|
10890
10890
|
"_A",
|
|
10891
10891
|
phase[dot$1],
|
|
10892
10892
|
"_bb"
|
|
@@ -10896,31 +10896,31 @@ var side_nav_item_default = _template("D", (input) => {
|
|
|
10896
10896
|
} else if (ws$1.pending) {
|
|
10897
10897
|
const $scope3_id = _scope_id();
|
|
10898
10898
|
_html(`<section${_attr_class([
|
|
10899
|
-
"
|
|
10900
|
-
"
|
|
10901
|
-
{ ["
|
|
10902
|
-
])} aria-busy=${ws$1.pending_error ? "false" : "true"}><div${_attr_class("
|
|
10899
|
+
"_gr",
|
|
10900
|
+
"_gH",
|
|
10901
|
+
{ ["_gq"]: input.page }
|
|
10902
|
+
])} aria-busy=${ws$1.pending_error ? "false" : "true"}><div${_attr_class("_gs")}><div${_attr_class(wsBtn)}>`);
|
|
10903
10903
|
_if(() => {
|
|
10904
10904
|
if (ws$1.pending_error) {
|
|
10905
10905
|
const $scope11_id = _scope_id();
|
|
10906
10906
|
icon_warning_default({
|
|
10907
10907
|
size: 12,
|
|
10908
|
-
class: "
|
|
10908
|
+
class: "_gJ"
|
|
10909
10909
|
});
|
|
10910
10910
|
$si__input_workspace && writeScope($scope11_id, {});
|
|
10911
10911
|
return 0;
|
|
10912
10912
|
} else {
|
|
10913
10913
|
const $scope12_id = _scope_id();
|
|
10914
|
-
_html(`<span${_attr_class(["_G", "
|
|
10914
|
+
_html(`<span${_attr_class(["_G", "_gI"])}></span>`);
|
|
10915
10915
|
$si__input_workspace && writeScope($scope12_id, {});
|
|
10916
10916
|
return 1;
|
|
10917
10917
|
}
|
|
10918
10918
|
}, $scope3_id, "d", $sg__input_workspace, $sg__input_workspace, 1, 0, 1);
|
|
10919
|
-
_html(`<span${_attr_class("
|
|
10919
|
+
_html(`<span${_attr_class("_gz")}><span${_attr_class("_gA")}>${_text_resume($scope3_id, "g", ws$1.name, $sg__input_workspace)}</span><span${_attr_class("_gL")}${_attr("title", ws$1.pending_error || restoreLine)}>${_text_resume($scope3_id, "i", ws$1.pending_error ? `Restore failed: ${ws$1.pending_error}` : restoreLine || "Restoring…")}</span>${_el_resume($scope3_id, "h")}</span></div></div>`);
|
|
10920
10920
|
_if(() => {
|
|
10921
10921
|
if (ws$1.pending_error && !retrying) {
|
|
10922
10922
|
const $scope10_id = _scope_id();
|
|
10923
|
-
_html(`<div${_attr_class("
|
|
10923
|
+
_html(`<div${_attr_class("_gK")}><button type=button${_attr_class(["_q", btnSm])} title="Run the restore again">Retry</button>${_el_resume($scope10_id, "b")}`);
|
|
10924
10924
|
arm_button_default({
|
|
10925
10925
|
class: ["_q", btnSm],
|
|
10926
10926
|
title: "Delete workspace",
|
|
@@ -10951,11 +10951,11 @@ var side_nav_item_default = _template("D", (input) => {
|
|
|
10951
10951
|
const $scope4_id = _scope_id();
|
|
10952
10952
|
const sessions$1 = input.sessions || [];
|
|
10953
10953
|
const phaseLabel = dot$1 === "working" ? "Working" : dot$1 === "waiting" ? "Needs input" : dot$1 === "idle" ? "Idle" : "Not running";
|
|
10954
|
-
_html(`<section${_attr_class(["
|
|
10955
|
-
["
|
|
10954
|
+
_html(`<section${_attr_class(["_gr", {
|
|
10955
|
+
["_gm"]: input.current,
|
|
10956
10956
|
["_bc"]: input.current,
|
|
10957
|
-
["
|
|
10958
|
-
}])}><div${_attr_class("
|
|
10957
|
+
["_go"]: input.menuOpen
|
|
10958
|
+
}])}><div${_attr_class("_gs")}><a${_attr("href", `/w/${ws$1.id}`)}${_attr_class(wsBtn)}><span${_attr_class(["_A", phase[dot$1]])}${_attr("title", phaseLabel)}></span>${_el_resume($scope4_id, "d", $sg__input_status)}`);
|
|
10959
10959
|
_if(() => {
|
|
10960
10960
|
if (sessions$1.length === 1) {
|
|
10961
10961
|
const $scope14_id = _scope_id();
|
|
@@ -10967,7 +10967,7 @@ var side_nav_item_default = _template("D", (input) => {
|
|
|
10967
10967
|
icon_agent_default({
|
|
10968
10968
|
agent: activeAgent(sessions$1[0]),
|
|
10969
10969
|
size: 12,
|
|
10970
|
-
class: "
|
|
10970
|
+
class: "_gy"
|
|
10971
10971
|
});
|
|
10972
10972
|
$si__input_sessions && writeScope($scope14_id, {
|
|
10973
10973
|
_: _scope_with_id($scope4_id),
|
|
@@ -10976,7 +10976,7 @@ var side_nav_item_default = _template("D", (input) => {
|
|
|
10976
10976
|
return 0;
|
|
10977
10977
|
}
|
|
10978
10978
|
}, $scope4_id, "e", $sg__input_sessions, $sg__input_sessions, $sg__input_sessions__OR__input_onNewSession__OR__input_onReview);
|
|
10979
|
-
_html(`<span${_attr_class("
|
|
10979
|
+
_html(`<span${_attr_class("_gz")}><span${_attr_class("_gA")}>${_text_resume($scope4_id, "h", ws$1.name, $sg__input_workspace)}</span></span> </a>${_el_resume($scope4_id, "c", $sg__input_workspace)}<div${_attr_class("_gu")}>`);
|
|
10980
10980
|
_if(() => {
|
|
10981
10981
|
if (input.onNewSession) {
|
|
10982
10982
|
const $scope5_id = _scope_id();
|
|
@@ -11004,19 +11004,19 @@ var side_nav_item_default = _template("D", (input) => {
|
|
|
11004
11004
|
return 0;
|
|
11005
11005
|
}
|
|
11006
11006
|
}, $scope4_id, "k", $sg__input_onReview, $sg__input_onReview, $sg__input_sessions__OR__input_onNewSession__OR__input_onReview, 0, 1);
|
|
11007
|
-
_html(`<a${input.managing ? _attr("href", `/w/${ws$1.id}`) : _attr("href", `/w/${ws$1.id}/manage`)}${_attr_class([rowIcon, { ["
|
|
11007
|
+
_html(`<a${input.managing ? _attr("href", `/w/${ws$1.id}`) : _attr("href", `/w/${ws$1.id}/manage`)}${_attr_class([rowIcon, { ["_gn"]: input.managing }])} title=${input.managing ? "\"Back to terminal\"" : "\"Manage workspace\""}${input.managing ? " aria-current=page" : ""}>`);
|
|
11008
11008
|
icon_manage_default({ size: 12 });
|
|
11009
|
-
_html(`</a>${_el_resume($scope4_id, "l", _serialize_guard($scope0_reason, 4))}</div></div><div${_attr_class("
|
|
11009
|
+
_html(`</a>${_el_resume($scope4_id, "l", _serialize_guard($scope0_reason, 4))}</div></div><div${_attr_class("_gE")}>`);
|
|
11010
11010
|
_for_of(sessions$1.length > 1 ? sessions$1 : [], (s) => {
|
|
11011
11011
|
const $scope6_id = _scope_id();
|
|
11012
|
-
_html(`<div${_attr_class(["
|
|
11012
|
+
_html(`<div${_attr_class(["_gv", { ["_gm"]: s.id === input.currentTab }])}>`);
|
|
11013
11013
|
_if(() => {
|
|
11014
11014
|
if (renamingId === s.id) {
|
|
11015
11015
|
const $scope7_id = _scope_id();
|
|
11016
11016
|
_html(`<span${_attr_class([
|
|
11017
11017
|
"_A",
|
|
11018
11018
|
phase[sessionPhase(s.state)],
|
|
11019
|
-
"
|
|
11019
|
+
"_gC"
|
|
11020
11020
|
])}></span>${_el_resume($scope7_id, "a", $sg__input_sessions)}`);
|
|
11021
11021
|
_set_serialize_reason({
|
|
11022
11022
|
1: $sg__input_sessions,
|
|
@@ -11026,7 +11026,7 @@ var side_nav_item_default = _template("D", (input) => {
|
|
|
11026
11026
|
icon_agent_default({
|
|
11027
11027
|
agent: activeAgent(s),
|
|
11028
11028
|
size: 12,
|
|
11029
|
-
class: "
|
|
11029
|
+
class: "_gG"
|
|
11030
11030
|
});
|
|
11031
11031
|
const $childScope3 = _peek_scope_id();
|
|
11032
11032
|
rename_input_default({
|
|
@@ -11057,9 +11057,9 @@ var side_nav_item_default = _template("D", (input) => {
|
|
|
11057
11057
|
icon_agent_default({
|
|
11058
11058
|
agent: activeAgent(s),
|
|
11059
11059
|
size: 12,
|
|
11060
|
-
class: "
|
|
11060
|
+
class: "_gG"
|
|
11061
11061
|
});
|
|
11062
|
-
_html(`<span${_attr_class("
|
|
11062
|
+
_html(`<span${_attr_class("_gB")}>${_text_resume($scope8_id, "e", s.title || activeAgent(s), $sg__input_sessions)}</span></a>${_el_resume($scope8_id, "a", _serialize_guard($scope0_reason, 3))}<button${_attr_class(rowIcon)} title="Rename session">`);
|
|
11063
11063
|
icon_edit_default({ size: 12 });
|
|
11064
11064
|
_html(`</button>${_el_resume($scope8_id, "f")}`);
|
|
11065
11065
|
arm_button_default({
|
|
@@ -11182,11 +11182,11 @@ var workspace_switcher_default = _template("O", (input) => {
|
|
|
11182
11182
|
const sessions = input.sessions || st?.sessions || [];
|
|
11183
11183
|
const manySessions = sessions.length > 1;
|
|
11184
11184
|
const heroMeta$1 = sessions.length === 0 ? "No sessions" : manySessions ? `${sessions.length} sessions` : "";
|
|
11185
|
-
_html(`<div${_attr_class("
|
|
11185
|
+
_html(`<div${_attr_class("_e0")}>`);
|
|
11186
11186
|
_if(() => {
|
|
11187
11187
|
if (ws) {
|
|
11188
11188
|
const $scope1_id = _scope_id();
|
|
11189
|
-
_html(`<section${_attr_class("
|
|
11189
|
+
_html(`<section${_attr_class("_e1")} aria-current=page><a${_attr("href", `/w/${ws.id}`)}${_attr_class("_e2")} data-open><span${_attr_class(["_A", phase[phase$1]])}></span>${_el_resume($scope1_id, "c", _serialize_guard($scope0_reason, 0))}`);
|
|
11190
11190
|
_if(() => {
|
|
11191
11191
|
if (sessions.length === 1) {
|
|
11192
11192
|
const $scope8_id = _scope_id();
|
|
@@ -11198,7 +11198,7 @@ var workspace_switcher_default = _template("O", (input) => {
|
|
|
11198
11198
|
icon_agent_default({
|
|
11199
11199
|
agent: activeAgent(sessions[0]),
|
|
11200
11200
|
size: 16,
|
|
11201
|
-
class: "
|
|
11201
|
+
class: "_e6"
|
|
11202
11202
|
});
|
|
11203
11203
|
$si__input_workspace__OR__input_allStatus__OR__input_sessions && _subscribe($sessions___closures, writeScope($scope8_id, {
|
|
11204
11204
|
_: _scope_with_id($scope1_id),
|
|
@@ -11207,14 +11207,14 @@ var workspace_switcher_default = _template("O", (input) => {
|
|
|
11207
11207
|
return 0;
|
|
11208
11208
|
}
|
|
11209
11209
|
}, $scope1_id, "d", $sg__input_workspace__OR__input_allStatus__OR__input_sessions, $sg__input_workspace__OR__input_allStatus__OR__input_sessions, $sg__input_workspace__OR__input_allStatus__OR__input_sessions);
|
|
11210
|
-
_html(`<span${_attr_class("
|
|
11210
|
+
_html(`<span${_attr_class("_e3")}>${_text_resume($scope1_id, "f", ws.name, $sg__input_workspace)}</span><span${_attr_class(heroTag)}>open</span><span${_attr_class("_e5")}>${_text_resume($scope1_id, "i", heroMeta$1, $sg__input_workspace__OR__input_allStatus__OR__input_sessions)}</span></a>${_el_resume($scope1_id, "b", $sg__input_workspace)}`);
|
|
11211
11211
|
_if(() => {
|
|
11212
11212
|
if (manySessions) {
|
|
11213
11213
|
const $scope2_id = _scope_id();
|
|
11214
|
-
_html(`<div${_attr_class("
|
|
11214
|
+
_html(`<div${_attr_class("_e7")}>`);
|
|
11215
11215
|
_for_of(sessions, (s) => {
|
|
11216
11216
|
const $scope3_id = _scope_id();
|
|
11217
|
-
_html(`<a${_attr("href", `/w/${ws.id}?s=${s.id}`)}${_attr_class(["
|
|
11217
|
+
_html(`<a${_attr("href", `/w/${ws.id}?s=${s.id}`)}${_attr_class(["_e9", { ["_e8"]: s.id === input.tab }])}><span${_attr_class(["_A", phase[sessionPhase(s.state)]])}></span>${_el_resume($scope3_id, "b", $sg__input_workspace__OR__input_allStatus__OR__input_sessions)}`);
|
|
11218
11218
|
_set_serialize_reason({
|
|
11219
11219
|
1: $sg__input_workspace__OR__input_allStatus__OR__input_sessions,
|
|
11220
11220
|
2: $sg__input_workspace__OR__input_allStatus__OR__input_sessions
|
|
@@ -11224,7 +11224,7 @@ var workspace_switcher_default = _template("O", (input) => {
|
|
|
11224
11224
|
agent: activeAgent(s),
|
|
11225
11225
|
size: 14
|
|
11226
11226
|
});
|
|
11227
|
-
_html(`<span${_attr_class("
|
|
11227
|
+
_html(`<span${_attr_class("_e_")}>${_text_resume($scope3_id, "e", s.title || activeAgent(s), $sg__input_workspace__OR__input_allStatus__OR__input_sessions)}</span></a>${_el_resume($scope3_id, "a", _serialize_guard($scope0_reason, 7))}`);
|
|
11228
11228
|
$si__input_workspace__OR__input_allStatus__OR__input_sessions__OR__input_tab && _subscribe($si__input_workspace && $ws_id__closures, _subscribe($si__input_tab && $input_tab__closures, writeScope($scope3_id, {
|
|
11229
11229
|
h: $si__input_tab && s?.id,
|
|
11230
11230
|
_: _scope_with_id($scope2_id),
|
|
@@ -11253,7 +11253,7 @@ var workspace_switcher_default = _template("O", (input) => {
|
|
|
11253
11253
|
_if(() => {
|
|
11254
11254
|
if (input.ids.length) {
|
|
11255
11255
|
const $scope4_id = _scope_id();
|
|
11256
|
-
_html(`<div${_attr_class("
|
|
11256
|
+
_html(`<div${_attr_class("_fa")}>`);
|
|
11257
11257
|
_for_of(input.ids, (id) => {
|
|
11258
11258
|
const $scope5_id = _scope_id();
|
|
11259
11259
|
const w = input.byId.get(id);
|
|
@@ -11297,7 +11297,7 @@ var workspace_switcher_default = _template("O", (input) => {
|
|
|
11297
11297
|
const rp = phaseOf(rs);
|
|
11298
11298
|
const rowSessions = rs?.sessions || [];
|
|
11299
11299
|
const many = rowSessions.length > 1;
|
|
11300
|
-
_html(`<div${_attr_class("
|
|
11300
|
+
_html(`<div${_attr_class("_fb")}><a${_attr("href", `/w/${id}`)}${_attr_class("_fc")}><span${_attr_class(["_A", phase[rp]])}></span>${_el_resume($scope7_id, "c", $sg__input_allStatus__OR__input_ids)}`);
|
|
11301
11301
|
_if(() => {
|
|
11302
11302
|
if (rowSessions.length === 1) {
|
|
11303
11303
|
const $scope9_id = _scope_id();
|
|
@@ -11309,7 +11309,7 @@ var workspace_switcher_default = _template("O", (input) => {
|
|
|
11309
11309
|
icon_agent_default({
|
|
11310
11310
|
agent: activeAgent(rowSessions[0]),
|
|
11311
11311
|
size: 16,
|
|
11312
|
-
class: "
|
|
11312
|
+
class: "_fe"
|
|
11313
11313
|
});
|
|
11314
11314
|
$si__input_allStatus__OR__input_ids && writeScope($scope9_id, {
|
|
11315
11315
|
_: _scope_with_id($scope7_id),
|
|
@@ -11318,7 +11318,7 @@ var workspace_switcher_default = _template("O", (input) => {
|
|
|
11318
11318
|
return 0;
|
|
11319
11319
|
}
|
|
11320
11320
|
}, $scope7_id, "d", $sg__input_allStatus__OR__input_ids, $sg__input_allStatus__OR__input_ids, $sg__input_allStatus__OR__input_ids);
|
|
11321
|
-
_html(`<span${_attr_class("
|
|
11321
|
+
_html(`<span${_attr_class("_fd")}>${_text_resume($scope7_id, "f", w.name, $sg__input_ids__OR__input_byId)}</span>`);
|
|
11322
11322
|
_if(() => {
|
|
11323
11323
|
if (many) {
|
|
11324
11324
|
const $scope10_id = _scope_id();
|
|
@@ -11329,7 +11329,7 @@ var workspace_switcher_default = _template("O", (input) => {
|
|
|
11329
11329
|
}, $scope7_id, "g", $sg__input_allStatus__OR__input_ids, $sg__input_allStatus__OR__input_ids, $sg__input_allStatus__OR__input_ids, 0, 1);
|
|
11330
11330
|
icon_chevron_right_default({
|
|
11331
11331
|
size: 14,
|
|
11332
|
-
class: "
|
|
11332
|
+
class: "_fg"
|
|
11333
11333
|
});
|
|
11334
11334
|
_html(`</a>${_el_resume($scope7_id, "b", $sg__input_ids)}`);
|
|
11335
11335
|
_set_serialize_reason($sg__input_ids);
|
|
@@ -11449,13 +11449,13 @@ var usage_bars_default = _template("K", (input) => {
|
|
|
11449
11449
|
if (windows.length) {
|
|
11450
11450
|
const $scope1_id = _scope_id();
|
|
11451
11451
|
_html(`<span${_attr_class([
|
|
11452
|
-
"
|
|
11452
|
+
"_hL",
|
|
11453
11453
|
input.class,
|
|
11454
|
-
{ ["
|
|
11454
|
+
{ ["_hM"]: agent.stale_seconds != null }
|
|
11455
11455
|
])} role=img${_attr("aria-label", `Plan usage: ${summary}`)}${agent.stale_seconds != null ? _attr("title", `${summary} — ${agent.note || "provider unreachable"}; last cached numbers`) : _attr("title", summary)}>`);
|
|
11456
11456
|
_for_of(windows, (win) => {
|
|
11457
11457
|
const $scope2_id = _scope_id();
|
|
11458
|
-
_html(`<span${_attr_class(["
|
|
11458
|
+
_html(`<span${_attr_class(["_hN", win.used_percent >= 90 ? "_hR" : win.used_percent >= 70 ? "_hQ" : win.used_percent >= 40 ? "_hP" : "_hO"])}${_attr_style(`--pct:${Math.max(2, Math.min(100, win.used_percent))}%`)}></span>${_el_resume($scope2_id, "a", $sg__input_agent)}`);
|
|
11459
11459
|
$si__input_agent && writeScope($scope2_id, {});
|
|
11460
11460
|
}, "window", $scope1_id, "a", $sg__input_agent, $sg__input_agent__OR__input_class, $sg__input_agent, "</span>", 1);
|
|
11461
11461
|
$si__input_agent__OR__input_class && writeScope($scope1_id, { _: _scope_with_id($scope0_id) });
|
|
@@ -11487,7 +11487,7 @@ var nav_usage_default = _template("r", (input) => {
|
|
|
11487
11487
|
const plan = openSess ? usageFor$1(openSess.agent, usage) : null;
|
|
11488
11488
|
const all = usage?.agents || [];
|
|
11489
11489
|
const peak = Math.max(0, ...(plan?.windows || []).map((w) => w.used_percent));
|
|
11490
|
-
const ringTone = _resume((pct) => pct >= 90 ? "
|
|
11490
|
+
const ringTone = _resume((pct) => pct >= 90 ? "_eZ" : pct >= 70 ? "_eY" : pct >= 40 ? "_eX" : "_eW", "r0");
|
|
11491
11491
|
let card$2 = null;
|
|
11492
11492
|
const showCard = _resume((el) => {
|
|
11493
11493
|
const r = el.getBoundingClientRect();
|
|
@@ -11499,18 +11499,18 @@ var nav_usage_default = _template("r", (input) => {
|
|
|
11499
11499
|
_if(() => {
|
|
11500
11500
|
if (plan) {
|
|
11501
11501
|
const $scope1_id = _scope_id();
|
|
11502
|
-
_html(`<span${_attr_class("
|
|
11502
|
+
_html(`<span${_attr_class("_eQ")} tabindex=0>`);
|
|
11503
11503
|
_set_serialize_reason(1);
|
|
11504
11504
|
const $childScope = _peek_scope_id();
|
|
11505
11505
|
usage_bars_default({
|
|
11506
|
-
class: "
|
|
11506
|
+
class: "_eS",
|
|
11507
11507
|
agent: plan
|
|
11508
11508
|
});
|
|
11509
|
-
_html(`<svg${_attr_class(["
|
|
11509
|
+
_html(`<svg${_attr_class(["_eT", ringTone(peak)])} viewBox="0 0 16 16" width=16 height=16 aria-hidden=true><circle${_attr_class("_eU")} cx=8 cy=8 r=6.5></circle><circle${_attr_class("_eV")} cx=8 cy=8 r=6.5${_attr_style(`stroke-dasharray:${Math.max(2, Math.min(100, peak)) / 100 * 40.84} 40.84`)}></circle>${_el_resume($scope1_id, "e")}</svg>${_el_resume($scope1_id, "c")}</span>${_el_resume($scope1_id, "a")}`);
|
|
11510
11510
|
_if(() => {
|
|
11511
11511
|
if (card$2) {
|
|
11512
11512
|
const $scope2_id = _scope_id();
|
|
11513
|
-
_html(`<div${_attr_class(["_9", "
|
|
11513
|
+
_html(`<div${_attr_class(["_9", "_eR"])}${_attr_style(`left:${card$2.left}px;bottom:${card$2.bottom}px`)} role=tooltip>`);
|
|
11514
11514
|
_for_of(all, (a) => {
|
|
11515
11515
|
const $scope3_id = _scope_id();
|
|
11516
11516
|
_set_serialize_reason(6);
|
|
@@ -11607,14 +11607,14 @@ var side_nav_default = _template("E", (input) => {
|
|
|
11607
11607
|
const backHref = ws ? `/w/${ws.id}` : "/new";
|
|
11608
11608
|
const iconSrc = `/api/instance/icon${input.instanceAccent ? `?v=${input.instanceAccent.slice(1)}` : ""}`;
|
|
11609
11609
|
const pageIds = orderedIds.filter((id) => id !== ws?.id);
|
|
11610
|
-
_html(`<aside${_attr_class(["
|
|
11611
|
-
["
|
|
11612
|
-
["
|
|
11610
|
+
_html(`<aside${_attr_class(["_bU", {
|
|
11611
|
+
["_bS"]: !navOpen,
|
|
11612
|
+
["_bT"]: isPage
|
|
11613
11613
|
}])}${_attr("hidden", view === "diff")}>`);
|
|
11614
11614
|
_if(() => {
|
|
11615
11615
|
if (isPage) {
|
|
11616
11616
|
const $scope1_id = _scope_id();
|
|
11617
|
-
_html(`<div${_attr_class("
|
|
11617
|
+
_html(`<div${_attr_class("_bX")}>`);
|
|
11618
11618
|
_set_serialize_reason({
|
|
11619
11619
|
3: $sg__input_instanceName,
|
|
11620
11620
|
6: $sg__input_instanceName
|
|
@@ -11623,7 +11623,7 @@ var side_nav_default = _template("E", (input) => {
|
|
|
11623
11623
|
if (input.instanceName) $meta = attrTag({ content: _content_resume("E8", () => {
|
|
11624
11624
|
_scope_reason();
|
|
11625
11625
|
const $scope2_id = _scope_id();
|
|
11626
|
-
_html(`<span${_attr_class("
|
|
11626
|
+
_html(`<span${_attr_class("_bY")} title="This work server (Settings → Appearance)"><img${_attr_class("_b1")}${_attr("src", iconSrc)} alt aria-hidden=true>${_el_resume($scope2_id, "b", $sg__input_instanceAccent)}${_text_resume($scope2_id, "c", input.instanceName, $sg__input_instanceName)}</span>`);
|
|
11627
11627
|
_subscribe($si__input_instanceAccent && $iconSrc__closures, _subscribe($si__input_instanceName && $input_instanceName__closures, writeScope($scope2_id, { _: _scope_with_id($scope1_id) })));
|
|
11628
11628
|
_resume_branch($scope2_id);
|
|
11629
11629
|
}, $scope1_id) });
|
|
@@ -11638,7 +11638,7 @@ var side_nav_default = _template("E", (input) => {
|
|
|
11638
11638
|
_html(`<a${view === "settings" ? _attr("href", backHref) : " href=/settings"}${_attr_class([
|
|
11639
11639
|
iconBtnRow,
|
|
11640
11640
|
iconBtn,
|
|
11641
|
-
{ ["
|
|
11641
|
+
{ ["_bP"]: view === "settings" }
|
|
11642
11642
|
])} title=${view === "settings" ? "\"Back to workspace\"" : "Settings"}${view === "settings" ? " aria-current=page" : ""}>`);
|
|
11643
11643
|
icon_settings_default({ size: 16 });
|
|
11644
11644
|
_if(() => {
|
|
@@ -11662,7 +11662,7 @@ var side_nav_default = _template("E", (input) => {
|
|
|
11662
11662
|
_if(() => {
|
|
11663
11663
|
if (!isPage && input.instanceName) {
|
|
11664
11664
|
const $scope4_id = _scope_id();
|
|
11665
|
-
_html(`<div${_attr_class("
|
|
11665
|
+
_html(`<div${_attr_class("_b0")} title="This work server (Settings → Appearance)"><img${_attr_class("_b1")}${_attr("src", iconSrc)} alt aria-hidden=true>${_el_resume($scope4_id, "b", $sg__input_instanceAccent)}<span${_attr_class("_b2")}>${_text_resume($scope4_id, "d", input.instanceName, $sg__input_instanceName)}</span></div>`);
|
|
11666
11666
|
writeScope($scope4_id, {});
|
|
11667
11667
|
return 0;
|
|
11668
11668
|
}
|
|
@@ -11730,7 +11730,7 @@ var side_nav_default = _template("E", (input) => {
|
|
|
11730
11730
|
b: _serialize_if($scope0_reason, 21) && _existing_scope($childScope3)
|
|
11731
11731
|
});
|
|
11732
11732
|
}, (a) => a, $scope6_id, "a", $sg__input_agents, 1, $sg__input_workspace__OR__input_allWorkspaces__OR__input_agents, "</div>", 1);
|
|
11733
|
-
_html(`<div${_attr_class("
|
|
11733
|
+
_html(`<div${_attr_class("_b3")}>`);
|
|
11734
11734
|
_for_of(orderedIds, (wsId) => {
|
|
11735
11735
|
const $scope8_id = _scope_id();
|
|
11736
11736
|
_set_serialize_reason({
|
|
@@ -11807,7 +11807,7 @@ var side_nav_default = _template("E", (input) => {
|
|
|
11807
11807
|
_if(() => {
|
|
11808
11808
|
if (!navOpen) {
|
|
11809
11809
|
const $scope9_id = _scope_id();
|
|
11810
|
-
_html(`<div${_attr_class("
|
|
11810
|
+
_html(`<div${_attr_class("_b4")}>`);
|
|
11811
11811
|
_for_of(orderedIds, (wsId, i) => {
|
|
11812
11812
|
const $scope10_id = _scope_id();
|
|
11813
11813
|
_set_serialize_reason({
|
|
@@ -11855,14 +11855,14 @@ var side_nav_default = _template("E", (input) => {
|
|
|
11855
11855
|
return 0;
|
|
11856
11856
|
}
|
|
11857
11857
|
}, $scope0_id, "e", 1, 1, 1, 0, 1);
|
|
11858
|
-
_html(`<div${_attr_class("
|
|
11858
|
+
_html(`<div${_attr_class("_b5")}>`);
|
|
11859
11859
|
_if(() => {
|
|
11860
11860
|
if (isPage) {
|
|
11861
11861
|
const $scope12_id = _scope_id();
|
|
11862
11862
|
_html(`<a${view === "new" ? _attr("href", backHref) : " href=/new"}${_attr_class([
|
|
11863
11863
|
"_q",
|
|
11864
11864
|
btnLg,
|
|
11865
|
-
"
|
|
11865
|
+
"_bZ"
|
|
11866
11866
|
])} title=${view === "new" ? "\"Back to workspace\"" : "\"New workspace\""}${view === "new" ? " aria-current=page" : ""}>`);
|
|
11867
11867
|
icon_folder_plus_default({ size: 16 });
|
|
11868
11868
|
_html(` New workspace</a>${_el_resume($scope12_id, "a")}`);
|
|
@@ -11894,9 +11894,9 @@ var side_nav_default = _template("E", (input) => {
|
|
|
11894
11894
|
sessions: input.sessions,
|
|
11895
11895
|
tab: view === "term" ? tab : null
|
|
11896
11896
|
});
|
|
11897
|
-
_html(`<div${_attr_class(["_z", "
|
|
11897
|
+
_html(`<div${_attr_class(["_z", "_b6"])}></div>`);
|
|
11898
11898
|
_if(() => {}, $scope11_id, "d", 1, 1, 1, 0, 1);
|
|
11899
|
-
_html(`<a${view === "settings" ? _attr("href", backHref) : " href=/settings"}${_attr_class([iconBtn, { ["
|
|
11899
|
+
_html(`<a${view === "settings" ? _attr("href", backHref) : " href=/settings"}${_attr_class([iconBtn, { ["_bP"]: view === "settings" }])} title=${view === "settings" ? "\"Back to workspace\"" : "Settings"}${view === "settings" ? " aria-current=page" : ""}>`);
|
|
11900
11900
|
icon_settings_default({});
|
|
11901
11901
|
_if(() => {
|
|
11902
11902
|
if (input.setupReady === false) {
|
|
@@ -11906,7 +11906,7 @@ var side_nav_default = _template("E", (input) => {
|
|
|
11906
11906
|
return 0;
|
|
11907
11907
|
}
|
|
11908
11908
|
}, $scope11_id, "g", $sg__input_setupReady, $sg__input_setupReady, 1, 0, 1);
|
|
11909
|
-
_html(`</a>${_el_resume($scope11_id, "e")}<a${view === "new" ? _attr("href", backHref) : " href=/new"}${_attr_class([iconBtn, { ["
|
|
11909
|
+
_html(`</a>${_el_resume($scope11_id, "e")}<a${view === "new" ? _attr("href", backHref) : " href=/new"}${_attr_class([iconBtn, { ["_bP"]: view === "new" }])} title=${view === "new" ? "\"Back to workspace\"" : "\"New workspace\""}${view === "new" ? " aria-current=page" : ""}>`);
|
|
11910
11910
|
icon_folder_plus_default({ size: 16 });
|
|
11911
11911
|
_html(`</a>${_el_resume($scope11_id, "h")}`);
|
|
11912
11912
|
_script($scope11_id, "E13");
|
|
@@ -12869,6 +12869,38 @@ function termMatcher(term) {
|
|
|
12869
12869
|
}
|
|
12870
12870
|
}
|
|
12871
12871
|
//#endregion
|
|
12872
|
+
//#region lib/preview/media.mjs
|
|
12873
|
+
/** @typedef {"image" | "pdf"} PreviewKind */
|
|
12874
|
+
/** @typedef {{ kind: PreviewKind, type: string }} Preview */
|
|
12875
|
+
/** @type {Record<string, string>} */
|
|
12876
|
+
var TYPES = {
|
|
12877
|
+
apng: "image/apng",
|
|
12878
|
+
avif: "image/avif",
|
|
12879
|
+
bmp: "image/bmp",
|
|
12880
|
+
gif: "image/gif",
|
|
12881
|
+
ico: "image/x-icon",
|
|
12882
|
+
jpeg: "image/jpeg",
|
|
12883
|
+
jpg: "image/jpeg",
|
|
12884
|
+
png: "image/png",
|
|
12885
|
+
svg: "image/svg+xml",
|
|
12886
|
+
webp: "image/webp",
|
|
12887
|
+
pdf: "application/pdf"
|
|
12888
|
+
};
|
|
12889
|
+
/**
|
|
12890
|
+
* How to show a path, or null when nothing can.
|
|
12891
|
+
* @param {string} filePath
|
|
12892
|
+
* @returns {Preview | null}
|
|
12893
|
+
*/
|
|
12894
|
+
function previewFor(filePath) {
|
|
12895
|
+
const dot = filePath.lastIndexOf(".");
|
|
12896
|
+
const type = TYPES[dot < 0 ? "" : filePath.slice(dot + 1).toLowerCase()];
|
|
12897
|
+
if (!type) return null;
|
|
12898
|
+
return {
|
|
12899
|
+
kind: type === "application/pdf" ? "pdf" : "image",
|
|
12900
|
+
type
|
|
12901
|
+
};
|
|
12902
|
+
}
|
|
12903
|
+
//#endregion
|
|
12872
12904
|
//#region lib/review/markdown.mjs
|
|
12873
12905
|
/**
|
|
12874
12906
|
* @typedef {{ worktree: string, path: string, side: "additions"|"deletions",
|
|
@@ -12895,10 +12927,9 @@ function commentMarkdown(comments, repos) {
|
|
|
12895
12927
|
chunks.push(repoHeader(worktree, repo, list));
|
|
12896
12928
|
for (const c of list) {
|
|
12897
12929
|
n++;
|
|
12898
|
-
const
|
|
12899
|
-
const range = c.line_start === c.line_end ? `line ${c.line_start}` : `lines ${c.line_start}-${c.line_end}`;
|
|
12930
|
+
const where = c.line_end === 0 ? "whole file" : rowsOf(c);
|
|
12900
12931
|
chunks.push("");
|
|
12901
|
-
chunks.push(`${n}. **${c.path}** (${
|
|
12932
|
+
chunks.push(`${n}. **${c.path}** (${where})`);
|
|
12902
12933
|
const snippet = c.snippet;
|
|
12903
12934
|
if (snippet != null) {
|
|
12904
12935
|
const fence = markdownFence(snippet);
|
|
@@ -12911,6 +12942,12 @@ function commentMarkdown(comments, repos) {
|
|
|
12911
12942
|
}
|
|
12912
12943
|
return chunks.join("\n");
|
|
12913
12944
|
}
|
|
12945
|
+
/** Which rows a comment is against, as the reviewer saw them.
|
|
12946
|
+
* @param {Comment} c */
|
|
12947
|
+
function rowsOf(c) {
|
|
12948
|
+
const side = c.side === "deletions" ? "Old" : "New";
|
|
12949
|
+
return c.line_start === c.line_end ? `${side} line ${c.line_start}` : `${side} lines ${c.line_start}-${c.line_end}`;
|
|
12950
|
+
}
|
|
12914
12951
|
/** @param {string} worktree @param {Repo | undefined} repo @param {Comment[]} list */
|
|
12915
12952
|
function repoHeader(worktree, repo, list) {
|
|
12916
12953
|
if (repo?.head) {
|
|
@@ -12999,8 +13036,8 @@ function shortBranch(name, wsBranch = "", wsName = "") {
|
|
|
12999
13036
|
}
|
|
13000
13037
|
return shortHeadFallback(head);
|
|
13001
13038
|
}
|
|
13002
|
-
var treeToggle = "
|
|
13003
|
-
var pageTitle = "
|
|
13039
|
+
var treeToggle = "_g3 _4 _l";
|
|
13040
|
+
var pageTitle = "_g9 _ej";
|
|
13004
13041
|
//#endregion
|
|
13005
13042
|
//#region src/tags/icons/icon-comment.marko
|
|
13006
13043
|
var icon_comment_default = _template("bb", (input) => {
|
|
@@ -13061,12 +13098,12 @@ var diff_send_default = _template("k", (input) => {
|
|
|
13061
13098
|
}
|
|
13062
13099
|
})();
|
|
13063
13100
|
}, "k1", $scope0_id);
|
|
13064
|
-
_html(`<div${_attr_class("
|
|
13101
|
+
_html(`<div${_attr_class("_iK")} role=group${_attr("aria-label", label)}><span${_attr_class("_iL")}${_attr("title", label)}>`);
|
|
13065
13102
|
icon_comment_default({
|
|
13066
13103
|
size: 18,
|
|
13067
|
-
class: "
|
|
13104
|
+
class: "_iM"
|
|
13068
13105
|
});
|
|
13069
|
-
_html(`<span${_attr_class("
|
|
13106
|
+
_html(`<span${_attr_class("_iN")} aria-hidden=true>${_text_resume($scope0_id, "e", input.count > 99 ? "99+" : input.count, $sg__input_count)}</span></span>${_el_resume($scope0_id, "b", $sg__input_count)}<button type=button${_attr_class("_iO")} title="Copy comments as markdown" aria-label="Copy comments as markdown">`);
|
|
13070
13107
|
_if(() => {
|
|
13071
13108
|
{
|
|
13072
13109
|
const $scope6_id = _scope_id();
|
|
@@ -13078,11 +13115,11 @@ var diff_send_default = _template("k", (input) => {
|
|
|
13078
13115
|
_if(() => {
|
|
13079
13116
|
if (target) {
|
|
13080
13117
|
const $scope1_id = _scope_id();
|
|
13081
|
-
_html(`<button type=button${_attr_class(["
|
|
13118
|
+
_html(`<button type=button${_attr_class(["_iO", "_iP"])}${_attr("disabled", sending)}${_attr("title", `Send comments to ${target.title || target.agent}`)}>`);
|
|
13082
13119
|
_if(() => {
|
|
13083
13120
|
if (sessions.length > 1) {
|
|
13084
13121
|
const $scope2_id = _scope_id();
|
|
13085
|
-
_html(`<span${_attr_class(["
|
|
13122
|
+
_html(`<span${_attr_class(["_iS", "_iR"])}>${_text_resume($scope2_id, "b", sending ? "Sending…" : `Send to ${target.title || target.agent}`)}</span><span${_attr_class("_iQ")}>${_text_resume($scope2_id, "d", sending ? "Sending…" : "Send")}</span>`);
|
|
13086
13123
|
_subscribe($target_agent__closures, _subscribe($target_title__closures, _subscribe($sending__closures, writeScope($scope2_id, { _: _scope_with_id($scope1_id) }))));
|
|
13087
13124
|
return 0;
|
|
13088
13125
|
} else {
|
|
@@ -13098,15 +13135,15 @@ var diff_send_default = _template("k", (input) => {
|
|
|
13098
13135
|
_if(() => {
|
|
13099
13136
|
if (sessions.length > 1) {
|
|
13100
13137
|
const $scope4_id = _scope_id();
|
|
13101
|
-
_html(`<span${_attr_class("
|
|
13102
|
-
"
|
|
13103
|
-
"
|
|
13104
|
-
"
|
|
13138
|
+
_html(`<span${_attr_class("_iT")}><button type=button${_attr_class([
|
|
13139
|
+
"_iO",
|
|
13140
|
+
"_iP",
|
|
13141
|
+
"_iU"
|
|
13105
13142
|
])} aria-label="Choose session to send to"${_attr("disabled", sending)}></button>${_el_resume($scope4_id, "b")}`);
|
|
13106
13143
|
_attr_select_value($scope4_id, "c", target.id, _resume(function(v) {
|
|
13107
13144
|
sendTarget = v;
|
|
13108
13145
|
}, "k0", $scope4_id), () => {
|
|
13109
|
-
_html(`<select${_attr_class("
|
|
13146
|
+
_html(`<select${_attr_class("_iV")} aria-label="Send comments to session" tabindex=-1${_attr("disabled", sending)}>`);
|
|
13110
13147
|
_for_of(sessions, (s) => {
|
|
13111
13148
|
const $scope7_id = _scope_id();
|
|
13112
13149
|
_html(`<option${_attr_option_value(s.id)}>${_text_resume($scope7_id, "b", s.title || s.agent, $sg__input_sessions)}</option>${_el_resume($scope7_id, "a", $sg__input_sessions)}`);
|
|
@@ -13183,8 +13220,8 @@ var icon_branch_default = _template("Y", (input) => {
|
|
|
13183
13220
|
});
|
|
13184
13221
|
_serialize_if($scope0_reason, 0) && writeScope($scope0_id, { a: _existing_scope($childScope) });
|
|
13185
13222
|
});
|
|
13186
|
-
var findInput = "
|
|
13187
|
-
var findIconBtn = "
|
|
13223
|
+
var findInput = "_eE _n";
|
|
13224
|
+
var findIconBtn = "_eH _l";
|
|
13188
13225
|
//#endregion
|
|
13189
13226
|
//#region src/tags/icons/icon-arrow-down.marko
|
|
13190
13227
|
var icon_arrow_down_default = _template("R", (input) => {
|
|
@@ -13276,18 +13313,18 @@ var diff_find_default = _template("j", (input) => {
|
|
|
13276
13313
|
}, 0);
|
|
13277
13314
|
}, "j0", $scope0_id);
|
|
13278
13315
|
_html(`<div${_attr_class([
|
|
13279
|
-
"
|
|
13280
|
-
input.keybar && "
|
|
13281
|
-
!open && "
|
|
13282
|
-
])} aria-hidden=${open ? "false" : "true"}><span${_attr_class("
|
|
13316
|
+
"_eC",
|
|
13317
|
+
input.keybar && "_eL",
|
|
13318
|
+
!open && "_eB"
|
|
13319
|
+
])} aria-hidden=${open ? "false" : "true"}><span${_attr_class("_eD")} aria-hidden=true>`);
|
|
13283
13320
|
icon_search_default({ size: 13 });
|
|
13284
13321
|
_html(`</span><input${_attr_input_value($scope0_id, "d", query || "", _resume(function(v) {
|
|
13285
13322
|
type(v);
|
|
13286
|
-
}, "j1", $scope0_id))}${_attr_class([findInput, input.keybar && "
|
|
13323
|
+
}, "j1", $scope0_id))}${_attr_class([findInput, input.keybar && "_eN"])} type=search enterkeyhint=search autocomplete=off tabindex=${open ? "0" : "-1"} placeholder="Find in review" aria-label="Find in review">${_el_resume($scope0_id, "d")}<span${_attr_class("_eG")}>${_text_resume($scope0_id, "f", open && (query || "").trim() ? hits.length ? `${at + 1}/${hits.length}` : "0/0" : "")}</span><button type=button${_attr_class([findIconBtn, input.keybar && "_eO"])} title="Previous match"${_attr("disabled", !hits.length || !open)} tabindex=${open ? "0" : "-1"}>`);
|
|
13287
13324
|
icon_arrow_up_default({ size: 14 });
|
|
13288
|
-
_html(`</button>${_el_resume($scope0_id, "g")}<button type=button${_attr_class([findIconBtn, input.keybar && "
|
|
13325
|
+
_html(`</button>${_el_resume($scope0_id, "g")}<button type=button${_attr_class([findIconBtn, input.keybar && "_eO"])} title="Next match"${_attr("disabled", !hits.length || !open)} tabindex=${open ? "0" : "-1"}>`);
|
|
13289
13326
|
icon_arrow_down_default({ size: 14 });
|
|
13290
|
-
_html(`</button>${_el_resume($scope0_id, "i")}<button type=button${_attr_class([findIconBtn, input.keybar && "
|
|
13327
|
+
_html(`</button>${_el_resume($scope0_id, "i")}<button type=button${_attr_class([findIconBtn, input.keybar && "_eO"])} title="Close find"${_attr("hidden", input.pinned)} tabindex=${open ? "0" : "-1"}>`);
|
|
13291
13328
|
icon_xmark_default({ size: 14 });
|
|
13292
13329
|
_html(`</button>${_el_resume($scope0_id, "k")}</div>${_el_resume($scope0_id, "a")}`);
|
|
13293
13330
|
const $return = focusInput;
|
|
@@ -13326,8 +13363,8 @@ var diff_find_default = _template("j", (input) => {
|
|
|
13326
13363
|
_resume_branch($scope0_id);
|
|
13327
13364
|
return $return;
|
|
13328
13365
|
});
|
|
13329
|
-
var worktree = "
|
|
13330
|
-
var repoTitle = "
|
|
13366
|
+
var worktree = "_jG _y";
|
|
13367
|
+
var repoTitle = "_jR _x";
|
|
13331
13368
|
//#endregion
|
|
13332
13369
|
//#region src/tags/review-head.marko
|
|
13333
13370
|
var review_head_default = _template("x", (input) => {
|
|
@@ -13339,7 +13376,7 @@ var review_head_default = _template("x", (input) => {
|
|
|
13339
13376
|
const baseRef = (repo.pr?.baseRefName || repo.base).replace(/^origin\//, "");
|
|
13340
13377
|
const headRef = (repo.pr?.headRefName || repo.branch).replace(/^origin\//, "");
|
|
13341
13378
|
const unusual = !!compare$1.topic || !!input.workspaceBranch && headRef !== input.workspaceBranch || !!repo.default_branch && baseRef !== repo.default_branch;
|
|
13342
|
-
_html(`<div${_attr_class("
|
|
13379
|
+
_html(`<div${_attr_class("_jL")}${repo.pr ? _attr("data-pr", `${repo.worktree}/${repo.pr.number}`) : ""}>`);
|
|
13343
13380
|
_if(() => {
|
|
13344
13381
|
if (repo.pr) {
|
|
13345
13382
|
const $scope6_id = _scope_id();
|
|
@@ -13348,7 +13385,7 @@ var review_head_default = _template("x", (input) => {
|
|
|
13348
13385
|
return 0;
|
|
13349
13386
|
} else {
|
|
13350
13387
|
const $scope7_id = _scope_id();
|
|
13351
|
-
_html(`<span${_attr_class([repoTitle, "
|
|
13388
|
+
_html(`<span${_attr_class([repoTitle, "_jS"])}>${_text_resume($scope7_id, "b", repoLabel$1(repo.full_name), $sg__input_repo)}</span>`);
|
|
13352
13389
|
$si__input_repo && writeScope($scope7_id, { _: _scope_with_id($scope0_id) });
|
|
13353
13390
|
return 1;
|
|
13354
13391
|
}
|
|
@@ -13356,14 +13393,14 @@ var review_head_default = _template("x", (input) => {
|
|
|
13356
13393
|
_if(() => {
|
|
13357
13394
|
if (unusual) {
|
|
13358
13395
|
const $scope8_id = _scope_id();
|
|
13359
|
-
_html(`<span${_attr_class("
|
|
13396
|
+
_html(`<span${_attr_class("_jT")}${_attr("title", `${compare$1.title} · ${repo.head.slice(0, 7)}…${repo.baseSha.slice(0, 7)}`)}><span${_attr_class(["_N", "_jU"])}>${_text_resume($scope8_id, "c", compare$1.base, $sg__input_repo__OR__input_workspaceBranch__OR__input_workspaceName)}</span><span${_attr_class(["_P", "_jW"])} aria-hidden=true>vs</span><span${_attr_class(["_N", "_jV"])}>${_text_resume($scope8_id, "f", compare$1.head, $sg__input_repo__OR__input_workspaceBranch__OR__input_workspaceName)}</span>`);
|
|
13360
13397
|
_if(() => {
|
|
13361
13398
|
if (compare$1.topic) {
|
|
13362
13399
|
const $scope11_id = _scope_id();
|
|
13363
13400
|
_html(`<span${_attr_class([
|
|
13364
13401
|
"_N",
|
|
13365
13402
|
tone.accent,
|
|
13366
|
-
"
|
|
13403
|
+
"_jX"
|
|
13367
13404
|
])}>${_text_resume($scope11_id, "b", compare$1.topic, $sg__input_repo__OR__input_workspaceBranch__OR__input_workspaceName)}</span>`);
|
|
13368
13405
|
$si__input_repo__OR__input_workspaceBranch__OR__input_workspaceName && _subscribe($compare_topic__closures, writeScope($scope11_id, { _: _scope_with_id($scope8_id) }));
|
|
13369
13406
|
return 0;
|
|
@@ -13377,7 +13414,7 @@ var review_head_default = _template("x", (input) => {
|
|
|
13377
13414
|
_if(() => {
|
|
13378
13415
|
if (repo.rev) {
|
|
13379
13416
|
const $scope9_id = _scope_id();
|
|
13380
|
-
_html(`<span${_attr_class(["_N", "
|
|
13417
|
+
_html(`<span${_attr_class(["_N", "_jY"])} title="One commit against its parent">commit ${_text_resume($scope9_id, "b", shortSha(repo.rev, 7), $sg__input_repo * 2)}</span>`);
|
|
13381
13418
|
$si__input_repo && writeScope($scope9_id, { _: _scope_with_id($scope0_id) });
|
|
13382
13419
|
return 0;
|
|
13383
13420
|
}
|
|
@@ -13388,7 +13425,7 @@ var review_head_default = _template("x", (input) => {
|
|
|
13388
13425
|
_html(`<button type=button${_attr_class([
|
|
13389
13426
|
"_N",
|
|
13390
13427
|
tone.warn,
|
|
13391
|
-
"
|
|
13428
|
+
"_jY"
|
|
13392
13429
|
])}${_attr("title", `origin/${repo.pr.headRefName} ${repo.head} · GitHub ${repo.pr.headRefOid}. Reload to re-ask GitHub`)}${_attr("disabled", input.loading)}>behind GitHub ${_text_resume($scope1_id, "b", shortSha(repo.head, 7), $sg__input_repo * 2)} → ${_text_resume($scope1_id, "c", shortSha(repo.pr.headRefOid, 7), $sg__input_repo * 2)}</button>${_el_resume($scope1_id, "a")}`);
|
|
13393
13430
|
_script($scope1_id, "x0");
|
|
13394
13431
|
writeScope($scope1_id, { _: _scope_with_id($scope0_id) });
|
|
@@ -13398,7 +13435,7 @@ var review_head_default = _template("x", (input) => {
|
|
|
13398
13435
|
_if(() => {
|
|
13399
13436
|
if (repo.contained && input.fileCount) {
|
|
13400
13437
|
const $scope10_id = _scope_id();
|
|
13401
|
-
_html(`<span${_attr_class(["_N", "
|
|
13438
|
+
_html(`<span${_attr_class(["_N", "_jY"])}${_attr("title", `${repo.pr ? `#${repo.pr.number}` : repo.branch} is already in ${repo.base}; showing the working tree only`)}>already in ${_text_resume($scope10_id, "b", repo.base, $sg__input_repo * 2)}</span>${_el_resume($scope10_id, "a", $sg__input_repo)}`);
|
|
13402
13439
|
$si__input_repo__OR__input_fileCount && writeScope($scope10_id, { _: $si__input_repo && _scope_with_id($scope0_id) });
|
|
13403
13440
|
return 0;
|
|
13404
13441
|
}
|
|
@@ -13406,16 +13443,16 @@ var review_head_default = _template("x", (input) => {
|
|
|
13406
13443
|
_if(() => {
|
|
13407
13444
|
if (input.localDiffers) {
|
|
13408
13445
|
const $scope2_id = _scope_id();
|
|
13409
|
-
_html(`<span${_attr_class(["_N", "
|
|
13446
|
+
_html(`<span${_attr_class(["_N", "_jY"])}${_attr("title", `This view is ${shortSha(repo.head)} (${repo.pr.headRefName}); checked out is ${shortSha(repo.localHead)} (${repo.branch})`)}>local ${_text_resume($scope2_id, "b", shortBranch(repo.branch, input.workspaceBranch, input.workspaceName), $sg__input_repo__OR__input_workspaceBranch__OR__input_workspaceName * 2)}${_text_resume($scope2_id, "c", shortSha(repo.localHead, 7), $sg__input_repo * 2)}</span>${_el_resume($scope2_id, "a", $sg__input_repo)}`);
|
|
13410
13447
|
$si__input_repo__OR__input_workspaceBranch__OR__input_workspaceName__OR__input_localDiffers && writeScope($scope2_id, { _: $si__input_repo__OR__input_workspaceBranch__OR__input_workspaceName && _scope_with_id($scope0_id) });
|
|
13411
13448
|
return 0;
|
|
13412
13449
|
}
|
|
13413
13450
|
}, $scope0_id, "g", _serialize_guard($scope0_reason, 8), _serialize_guard($scope0_reason, 13), $sg__input_repo__OR__input_workspaceBranch__OR__input_workspaceName__OR__input_fileCount__OR__input_localDiffers__OR__input_additions__OR__input_deletions__OR__input_hiddenCount__OR__input_newCount__OR__input_onlyNew, 0, 1);
|
|
13414
|
-
_html(`<span${_attr_class("
|
|
13451
|
+
_html(`<span${_attr_class("_jM")}><span>${_text_resume($scope0_id, "i", input.fileCount, $sg__input_fileCount)} file${_text_resume($scope0_id, "j", input.fileCount === 1 ? "" : "s", $sg__input_fileCount * 2)}</span>`);
|
|
13415
13452
|
_if(() => {
|
|
13416
13453
|
if (input.additions || input.deletions) {
|
|
13417
13454
|
const $scope3_id = _scope_id();
|
|
13418
|
-
_html(`<span${_attr_class("
|
|
13455
|
+
_html(`<span${_attr_class("_jN")}>+${_text_resume($scope3_id, "b", input.additions, _serialize_guard($scope0_reason, 14) * 2)}</span><span${_attr_class("_jO")}>−${_text_resume($scope3_id, "d", input.deletions, _serialize_guard($scope0_reason, 15) * 2)}</span>`);
|
|
13419
13456
|
$si__input_additions__OR__input_deletions && writeScope($scope3_id, { _: _scope_with_id($scope0_id) });
|
|
13420
13457
|
return 0;
|
|
13421
13458
|
}
|
|
@@ -13423,7 +13460,7 @@ var review_head_default = _template("x", (input) => {
|
|
|
13423
13460
|
_if(() => {
|
|
13424
13461
|
if (input.hiddenCount) {
|
|
13425
13462
|
const $scope4_id = _scope_id();
|
|
13426
|
-
_html(`<button type=button${_attr_class("
|
|
13463
|
+
_html(`<button type=button${_attr_class("_jQ")} title="Filtered out of the list — show every file">${_text_resume($scope4_id, "b", input.hiddenCount, $sg__input_hiddenCount)} hidden</button>${_el_resume($scope4_id, "a")}`);
|
|
13427
13464
|
_script($scope4_id, "x1");
|
|
13428
13465
|
writeScope($scope4_id, { _: _scope_with_id($scope0_id) });
|
|
13429
13466
|
return 0;
|
|
@@ -13432,7 +13469,7 @@ var review_head_default = _template("x", (input) => {
|
|
|
13432
13469
|
_if(() => {
|
|
13433
13470
|
if (input.newCount || input.onlyNew) {
|
|
13434
13471
|
const $scope5_id = _scope_id();
|
|
13435
|
-
_html(`<button type=button${_attr_class(["
|
|
13472
|
+
_html(`<button type=button${_attr_class(["_jQ", { ["_jP"]: input.onlyNew }])} aria-pressed=${input.onlyNew ? "true" : "false"} title=${input.onlyNew ? "\"Show every file\"" : "\"Show only files changed since your last visit\""}>${_text_resume($scope5_id, "b", input.newCount, _serialize_guard($scope0_reason, 17))} new</button>${_el_resume($scope5_id, "a")}`);
|
|
13436
13473
|
_script($scope5_id, "x2");
|
|
13437
13474
|
writeScope($scope5_id, { _: _scope_with_id($scope0_id) });
|
|
13438
13475
|
return 0;
|
|
@@ -13521,30 +13558,30 @@ var review_repos_default = _template("y", (input) => {
|
|
|
13521
13558
|
_if(() => {
|
|
13522
13559
|
if (input.tabs.length) {
|
|
13523
13560
|
const $scope1_id = _scope_id();
|
|
13524
|
-
_html(`<div${_attr_class(["
|
|
13561
|
+
_html(`<div${_attr_class(["_jv", { ["_ju"]: many }])}>`);
|
|
13525
13562
|
_if(() => {
|
|
13526
13563
|
if (many) {
|
|
13527
13564
|
const $scope2_id = _scope_id();
|
|
13528
|
-
_html(`<div${_attr_class(["
|
|
13529
|
-
["
|
|
13530
|
-
["
|
|
13565
|
+
_html(`<div${_attr_class(["_jy", {
|
|
13566
|
+
["_jx"]: edges.end,
|
|
13567
|
+
["_jw"]: edges.start
|
|
13531
13568
|
}])} role=tablist>`);
|
|
13532
13569
|
_for_of(input.tabs, (tab$1) => {
|
|
13533
13570
|
const $scope3_id = _scope_id();
|
|
13534
13571
|
const repo = tab$1.repo;
|
|
13535
13572
|
const isOn = current?.repo.id === repo.id;
|
|
13536
13573
|
const isFolded = input.folded.has(repo.id);
|
|
13537
|
-
_html(`<div${_attr_class(["
|
|
13538
|
-
["
|
|
13539
|
-
["
|
|
13540
|
-
}])} role=tab aria-selected=${isOn ? "true" : "false"}${repo.pr ? _attr("data-pr", `${repo.worktree}/${repo.pr.number}`) : ""}><button type=button${_attr_class("
|
|
13574
|
+
_html(`<div${_attr_class(["_jB", {
|
|
13575
|
+
["_jz"]: isOn,
|
|
13576
|
+
["_jA"]: isFolded
|
|
13577
|
+
}])} role=tab aria-selected=${isOn ? "true" : "false"}${repo.pr ? _attr("data-pr", `${repo.worktree}/${repo.pr.number}`) : ""}><button type=button${_attr_class("_jE")} title=${isFolded ? "\"Show this section's files\"" : "\"Hide this section's files\""} aria-expanded=${isFolded ? "false" : "true"}><span${_attr_class("_jF")}>▾</span></button>${_el_resume($scope3_id, "b")}<button type=button${_attr_class("_jD")} title="Scroll to this section"><span${_attr_class(worktree)}>${_text_resume($scope3_id, "f", repo.worktree, $sg__input_tabs)}</span>`);
|
|
13541
13578
|
_if(() => {
|
|
13542
13579
|
if (repo.pr) {
|
|
13543
13580
|
const $scope5_id = _scope_id();
|
|
13544
13581
|
_html(`<span${_attr_class([
|
|
13545
13582
|
"_u",
|
|
13546
13583
|
"_v",
|
|
13547
|
-
"
|
|
13584
|
+
"_jH"
|
|
13548
13585
|
])}>#${_text_resume($scope5_id, "b", repo.pr.number, $sg__input_tabs * 2)}</span>`);
|
|
13549
13586
|
$si__input_tabs && writeScope($scope5_id, { _: _scope_with_id($scope3_id) });
|
|
13550
13587
|
return 0;
|
|
@@ -13570,11 +13607,11 @@ var review_repos_default = _template("y", (input) => {
|
|
|
13570
13607
|
if (current) {
|
|
13571
13608
|
const $scope4_id = _scope_id();
|
|
13572
13609
|
const one = current.repo;
|
|
13573
|
-
_html(`<div${_attr_class("
|
|
13610
|
+
_html(`<div${_attr_class("_jI")}>`);
|
|
13574
13611
|
_if(() => {
|
|
13575
13612
|
if (!many) {
|
|
13576
13613
|
const $scope6_id = _scope_id();
|
|
13577
|
-
_html(`<span${_attr_class([worktree, "
|
|
13614
|
+
_html(`<span${_attr_class([worktree, "_jC"])}>${_text_resume($scope6_id, "b", one.worktree, $sg__input_tabs__OR__input_active)}</span>`);
|
|
13578
13615
|
$si__input_tabs__OR__input_active && writeScope($scope6_id, { _: _scope_with_id($scope4_id) });
|
|
13579
13616
|
return 0;
|
|
13580
13617
|
}
|
|
@@ -13683,7 +13720,7 @@ var review_repos_default = _template("y", (input) => {
|
|
|
13683
13720
|
});
|
|
13684
13721
|
_resume_branch($scope0_id);
|
|
13685
13722
|
});
|
|
13686
|
-
var fileFilter = "
|
|
13723
|
+
var fileFilter = "_jK _n";
|
|
13687
13724
|
//#endregion
|
|
13688
13725
|
//#region src/tags/file-filter.marko
|
|
13689
13726
|
var file_filter_default = _template("l", (input) => {
|
|
@@ -13713,7 +13750,7 @@ var file_filter_default = _template("l", (input) => {
|
|
|
13713
13750
|
pending = v;
|
|
13714
13751
|
box.timer = setTimeout(flush, 150);
|
|
13715
13752
|
}, "l2", $scope0_id);
|
|
13716
|
-
_html(`<div${_attr_class("
|
|
13753
|
+
_html(`<div${_attr_class("_jJ")}><input${_attr_input_value($scope0_id, "b", draft, _resume(function(v) {
|
|
13717
13754
|
type(v);
|
|
13718
13755
|
}, "l0", $scope0_id))}${_attr_class(fileFilter)} type=search placeholder="Filter files…" aria-label="Filter files">${_el_resume($scope0_id, "b")}</div>`);
|
|
13719
13756
|
_script($scope0_id, "l3");
|
|
@@ -13759,7 +13796,7 @@ var review_tree_default = _template("z", (input) => {
|
|
|
13759
13796
|
dragging$1 = false;
|
|
13760
13797
|
if (width != null) setDiffTreeWidth(width);
|
|
13761
13798
|
}, "z2", $scope0_id);
|
|
13762
|
-
_html(`<div${_attr_class(["
|
|
13799
|
+
_html(`<div${_attr_class(["_i0", { ["_iZ"]: input.open === false }])}${width != null ? _attr_style(`--tree-w:${width}px`) : ""}><div${_attr_class(["_jc", { ["_jb"]: dragging$1 }])} title="Drag to resize"></div>${_el_resume($scope0_id, "b")}<div${_attr_class("_i1")}>`);
|
|
13763
13800
|
_set_serialize_reason(2);
|
|
13764
13801
|
const $childScope = _peek_scope_id();
|
|
13765
13802
|
file_filter_default({
|
|
@@ -13768,22 +13805,22 @@ var review_tree_default = _template("z", (input) => {
|
|
|
13768
13805
|
filter$1 = _new_filter;
|
|
13769
13806
|
}, "z3", $scope0_id)
|
|
13770
13807
|
});
|
|
13771
|
-
_html(`</div><div${_attr_class("
|
|
13808
|
+
_html(`</div><div${_attr_class("_i2")}>`);
|
|
13772
13809
|
_for_of(input.sections, (section$2) => {
|
|
13773
13810
|
const $scope1_id = _scope_id();
|
|
13774
|
-
_html(`<div${_attr_class(["
|
|
13811
|
+
_html(`<div${_attr_class(["_i4", { ["_i3"]: input.sections.length === 1 }])}${_attr("data-section", section$2.id)}>`);
|
|
13775
13812
|
_if(() => {
|
|
13776
13813
|
if (input.sections.length > 1) {
|
|
13777
13814
|
const $scope2_id = _scope_id();
|
|
13778
|
-
_html(`<button type=button${_attr_class("
|
|
13815
|
+
_html(`<button type=button${_attr_class("_i5")}${_attr("title", section$2.label)} aria-expanded=${closed$4.has(section$2.id) ? "false" : "true"}><span${_attr_class(["_i6", { ["_i7"]: !closed$4.has(section$2.id) }])} aria-hidden=true>`);
|
|
13779
13816
|
icon_chevron_right_default({ size: 12 });
|
|
13780
|
-
_html(`</span>${_el_resume($scope2_id, "b")}<span${_attr_class("
|
|
13817
|
+
_html(`</span>${_el_resume($scope2_id, "b")}<span${_attr_class("_i8")}>${_text_resume($scope2_id, "e", section$2.label, $sg__input_sections)}</span><span${_attr_class("_i9")}>${_text_resume($scope2_id, "g", section$2.files.length, $sg__input_sections)}</span></button>${_el_resume($scope2_id, "a")}`);
|
|
13781
13818
|
_script($scope2_id, "z4");
|
|
13782
13819
|
_subscribe($closed__closures, writeScope($scope2_id, { _: _scope_with_id($scope1_id) }));
|
|
13783
13820
|
return 0;
|
|
13784
13821
|
}
|
|
13785
13822
|
}, $scope1_id, "b", $sg__input_sections, $sg__input_sections_length, $sg__input_sections_length, 0, 1);
|
|
13786
|
-
_html(`<div${_attr_class(["
|
|
13823
|
+
_html(`<div${_attr_class(["_ja", { ["_i_"]: input.sections.length === 1 }])}${_attr("data-tree", section$2.id)}${_attr("hidden", closed$4.has(section$2.id))}></div>${_el_resume($scope1_id, "c")}</div>${_el_resume($scope1_id, "a", $sg__input_sections)}`);
|
|
13787
13824
|
writeScope($scope1_id, {
|
|
13788
13825
|
f: section$2?.id,
|
|
13789
13826
|
h: $si__input_sections_length && section$2?.label,
|
|
@@ -13802,20 +13839,19 @@ var review_tree_default = _template("z", (input) => {
|
|
|
13802
13839
|
n: input.commentCounts,
|
|
13803
13840
|
o: input.newKeys,
|
|
13804
13841
|
p: input.onSelect,
|
|
13805
|
-
q: filter$1,
|
|
13806
13842
|
t: closed$4,
|
|
13807
13843
|
u: width,
|
|
13808
13844
|
x: dragBox.id,
|
|
13809
13845
|
z: startDrag,
|
|
13810
13846
|
a0: moveDrag,
|
|
13811
13847
|
a1: endDrag,
|
|
13812
|
-
|
|
13848
|
+
s: input.filterChange || void 0,
|
|
13813
13849
|
d: _existing_scope($childScope),
|
|
13814
13850
|
a3: $closed__closures
|
|
13815
13851
|
});
|
|
13816
13852
|
_resume_branch($scope0_id);
|
|
13817
13853
|
});
|
|
13818
|
-
var sheetDir = "
|
|
13854
|
+
var sheetDir = "_jo _ba";
|
|
13819
13855
|
//#endregion
|
|
13820
13856
|
//#region src/tags/diff-file-sheet.marko
|
|
13821
13857
|
var diff_file_sheet_default = _template("i", (input) => {
|
|
@@ -13839,9 +13875,8 @@ var diff_file_sheet_default = _template("i", (input) => {
|
|
|
13839
13875
|
const out = [];
|
|
13840
13876
|
const byRepo = /* @__PURE__ */ new Map();
|
|
13841
13877
|
for (const file of input.files) {
|
|
13842
|
-
const
|
|
13843
|
-
const
|
|
13844
|
-
const path = file.key.slice(slash + 1);
|
|
13878
|
+
const repo = file.key.slice(0, file.key.indexOf("/")).replace("#", " #");
|
|
13879
|
+
const path = file.label.slice(file.label.indexOf("/") + 1);
|
|
13845
13880
|
const at = path.lastIndexOf("/");
|
|
13846
13881
|
const dir = at < 0 ? "" : path.slice(0, at);
|
|
13847
13882
|
const name = at < 0 ? path : path.slice(at + 1);
|
|
@@ -13871,9 +13906,9 @@ var diff_file_sheet_default = _template("i", (input) => {
|
|
|
13871
13906
|
_if(() => {
|
|
13872
13907
|
if (open) {
|
|
13873
13908
|
const $scope1_id = _scope_id();
|
|
13874
|
-
_html(`<div${_attr_class("
|
|
13909
|
+
_html(`<div${_attr_class("_jf")}></div>${_el_resume($scope1_id, "a")}<div${_attr_class("_jg")} role=dialog aria-label="Jump to file"><div${_attr_class("_jh")}><strong${_attr_class("_je")}>Files</strong><span${_attr_class("_ji")}>${_text_resume($scope1_id, "f", input.files.length, $sg__input_files_length)}${_text_resume($scope1_id, "g", input.files.length !== total ? ` / ${total}` : "", _serialize_guard($scope0_reason, 2) * 2)}</span><button type=button${_attr_class([iconBtnLg, "_jd"])} title=Close aria-label=Close>`);
|
|
13875
13910
|
icon_xmark_default({ size: 16 });
|
|
13876
|
-
_html(`</button>${_el_resume($scope1_id, "h")}</div><div${_attr_class("
|
|
13911
|
+
_html(`</button>${_el_resume($scope1_id, "h")}</div><div${_attr_class("_jq")}>`);
|
|
13877
13912
|
_set_serialize_reason(2);
|
|
13878
13913
|
const $childScope = _peek_scope_id();
|
|
13879
13914
|
file_filter_default({
|
|
@@ -13882,13 +13917,13 @@ var diff_file_sheet_default = _template("i", (input) => {
|
|
|
13882
13917
|
filter = _new_filter;
|
|
13883
13918
|
}, "i1", $scope1_id)
|
|
13884
13919
|
});
|
|
13885
|
-
_html(`</div><div${_attr_class("
|
|
13920
|
+
_html(`</div><div${_attr_class("_jj")}>`);
|
|
13886
13921
|
_for_of(groups, (group) => {
|
|
13887
13922
|
const $scope2_id = _scope_id();
|
|
13888
|
-
_html(`<div${_attr_class("
|
|
13923
|
+
_html(`<div${_attr_class("_jk")}><div${_attr_class("_jl")}>${_text_resume($scope2_id, "c", group.repo, $sg__input_files)}</div>`);
|
|
13889
13924
|
_for_of(group.dirs, ({ dir, files }) => {
|
|
13890
13925
|
const $scope3_id = _scope_id();
|
|
13891
|
-
_html(`<div${_attr_class("
|
|
13926
|
+
_html(`<div${_attr_class("_jm")}>`);
|
|
13892
13927
|
_if(() => {
|
|
13893
13928
|
if (dir) {
|
|
13894
13929
|
const $scope5_id = _scope_id();
|
|
@@ -13899,11 +13934,11 @@ var diff_file_sheet_default = _template("i", (input) => {
|
|
|
13899
13934
|
}, $scope3_id, "b", $sg__input_files, $sg__input_files, $sg__input_files, 0, 1);
|
|
13900
13935
|
_for_of(files, ({ file, name }) => {
|
|
13901
13936
|
const $scope4_id = _scope_id();
|
|
13902
|
-
_html(`<a${_attr("href", hrefFor(file.key))}${_attr_class(["
|
|
13937
|
+
_html(`<a${_attr("href", hrefFor(file.key))}${_attr_class(["_jn", "_y"])}><span${_attr_class("__")}${_attr("data-status", file.status)}>${_text_resume($scope4_id, "c", file.status, $sg__input_files)}</span>${_el_resume($scope4_id, "b", $sg__input_files)}<span${_attr_class("_jp")}><bdi>${_text_resume($scope4_id, "e", name, $sg__input_files)}</bdi></span>`);
|
|
13903
13938
|
_if(() => {
|
|
13904
13939
|
if (newKeys.has(file.key)) {
|
|
13905
13940
|
const $scope6_id = _scope_id();
|
|
13906
|
-
_html(`<span${_attr_class(["_A", "
|
|
13941
|
+
_html(`<span${_attr_class(["_A", "_js"])} title="Changed since your last visit"></span>`);
|
|
13907
13942
|
_serialize_if($scope0_reason, 1) && writeScope($scope6_id, {});
|
|
13908
13943
|
return 0;
|
|
13909
13944
|
}
|
|
@@ -13913,7 +13948,7 @@ var diff_file_sheet_default = _template("i", (input) => {
|
|
|
13913
13948
|
const $scope7_id = _scope_id();
|
|
13914
13949
|
icon_comment_default({
|
|
13915
13950
|
size: 12,
|
|
13916
|
-
class: "
|
|
13951
|
+
class: "_jt"
|
|
13917
13952
|
});
|
|
13918
13953
|
_serialize_if($scope0_reason, 0) && writeScope($scope7_id, {});
|
|
13919
13954
|
return 0;
|
|
@@ -13938,7 +13973,7 @@ var diff_file_sheet_default = _template("i", (input) => {
|
|
|
13938
13973
|
_if(() => {
|
|
13939
13974
|
if (!input.files.length) {
|
|
13940
13975
|
const $scope8_id = _scope_id();
|
|
13941
|
-
_html(`<p${_attr_class("
|
|
13976
|
+
_html(`<p${_attr_class("_jr")}>No files match.</p>`);
|
|
13942
13977
|
$si__input_files_length && writeScope($scope8_id, {});
|
|
13943
13978
|
return 0;
|
|
13944
13979
|
}
|
|
@@ -14033,10 +14068,9 @@ var review_view_default = _template("A", (input) => {
|
|
|
14033
14068
|
}, "A6", $scope0_id);
|
|
14034
14069
|
const jumpTo = _resume((key) => {
|
|
14035
14070
|
const owner = key.slice(0, key.indexOf("/"));
|
|
14036
|
-
|
|
14037
|
-
if (foldedId) {
|
|
14071
|
+
if (foldedRepos.has(owner)) {
|
|
14038
14072
|
const next = new Set(foldedRepos);
|
|
14039
|
-
next.delete(
|
|
14073
|
+
next.delete(owner);
|
|
14040
14074
|
foldedRepos = next;
|
|
14041
14075
|
}
|
|
14042
14076
|
restoreBox.pos = null;
|
|
@@ -14049,7 +14083,7 @@ var review_view_default = _template("A", (input) => {
|
|
|
14049
14083
|
const first = section?.files[0];
|
|
14050
14084
|
if (section && first) {
|
|
14051
14085
|
restoreBox.pos = null;
|
|
14052
|
-
viewBox.scrollToItem(`${section.
|
|
14086
|
+
viewBox.scrollToItem(`${section.id}/${first.path}`);
|
|
14053
14087
|
}
|
|
14054
14088
|
}, "A8", $scope0_id);
|
|
14055
14089
|
const load = _resume(async (which = scope, refresh = false) => {
|
|
@@ -14148,11 +14182,12 @@ var review_view_default = _template("A", (input) => {
|
|
|
14148
14182
|
const allFiles = shownRepos.flatMap((r) => r.files.map((f) => ({
|
|
14149
14183
|
...f,
|
|
14150
14184
|
repo: r.id,
|
|
14151
|
-
key: `${r.
|
|
14185
|
+
key: `${r.id}/${f.path}`,
|
|
14186
|
+
label: `${r.worktree}/${f.path}`
|
|
14152
14187
|
})));
|
|
14153
14188
|
const fileFiltered = (() => {
|
|
14154
14189
|
const match = makeFileFilter(fileFilter);
|
|
14155
|
-
return allFiles.filter((f) => match(f.
|
|
14190
|
+
return allFiles.filter((f) => match(f.label) && (!onlyNew || f.changedSince));
|
|
14156
14191
|
})();
|
|
14157
14192
|
const findKeys = findState.query.trim() ? new Set(findState.keys) : null;
|
|
14158
14193
|
const listFiles = findKeys ? fileFiltered.filter((f) => findKeys.has(f.key) || f.key === findState.hit?.key) : fileFiltered;
|
|
@@ -14166,8 +14201,11 @@ var review_view_default = _template("A", (input) => {
|
|
|
14166
14201
|
}
|
|
14167
14202
|
return map;
|
|
14168
14203
|
})();
|
|
14169
|
-
const
|
|
14170
|
-
|
|
14204
|
+
const commentCounts = new Map(allFiles.flatMap((f) => {
|
|
14205
|
+
const n = commentsByFile.get(f.label)?.length;
|
|
14206
|
+
return n ? [[f.key, n]] : [];
|
|
14207
|
+
}));
|
|
14208
|
+
const commentKeys = new Set(commentCounts.keys());
|
|
14171
14209
|
const findFiles = fileFiltered.map((f) => ({
|
|
14172
14210
|
...f,
|
|
14173
14211
|
fileDiff: fileDiffFor(f, f.key)
|
|
@@ -14196,12 +14234,15 @@ var review_view_default = _template("A", (input) => {
|
|
|
14196
14234
|
working: "Working tree",
|
|
14197
14235
|
dirty: "Uncommitted"
|
|
14198
14236
|
}[scope];
|
|
14199
|
-
const treeSections =
|
|
14200
|
-
|
|
14201
|
-
|
|
14202
|
-
|
|
14203
|
-
|
|
14204
|
-
|
|
14237
|
+
const treeSections = (() => {
|
|
14238
|
+
const perWorktree = /* @__PURE__ */ new Map();
|
|
14239
|
+
for (const r of shownRepos) perWorktree.set(r.worktree, (perWorktree.get(r.worktree) || 0) + 1);
|
|
14240
|
+
return shownRepos.map((r) => ({
|
|
14241
|
+
id: r.id,
|
|
14242
|
+
label: r.pr && (perWorktree.get(r.worktree) || 0) > 1 ? `${r.worktree} #${r.pr.number}` : r.worktree,
|
|
14243
|
+
files: shownFiles.filter((f) => f.repo === r.id)
|
|
14244
|
+
})).filter((s) => s.files.length);
|
|
14245
|
+
})();
|
|
14205
14246
|
const statsFor = _resume((repo) => {
|
|
14206
14247
|
let additions = 0;
|
|
14207
14248
|
let deletions = 0;
|
|
@@ -14268,7 +14309,7 @@ var review_view_default = _template("A", (input) => {
|
|
|
14268
14309
|
...anchorFor(file, range)
|
|
14269
14310
|
})
|
|
14270
14311
|
});
|
|
14271
|
-
comments = comments.concat(comment);
|
|
14312
|
+
comments = comments.some((c) => c.id === comment.id) ? comments : comments.concat(comment);
|
|
14272
14313
|
} catch (err) {
|
|
14273
14314
|
error = String(err.message || err);
|
|
14274
14315
|
}
|
|
@@ -14379,11 +14420,11 @@ var review_view_default = _template("A", (input) => {
|
|
|
14379
14420
|
else viewBox.scrollToLine(hit.key, hit.line, hit.side);
|
|
14380
14421
|
}, 0);
|
|
14381
14422
|
};
|
|
14382
|
-
_html(`<div${_attr_class("
|
|
14423
|
+
_html(`<div${_attr_class("_g0")}><div${_attr_class("_g5")}><div${_attr_class("_hE")}><div${_attr_class("_g6")}><div${_attr_class("_hc")}>`);
|
|
14383
14424
|
_if(() => {
|
|
14384
14425
|
if (input.onExit) {
|
|
14385
14426
|
const $scope1_id = _scope_id();
|
|
14386
|
-
_html(`<a${_attr("href", `/w/${input.workspaceId}`)}${_attr_class([iconBtnRow, "
|
|
14427
|
+
_html(`<a${_attr("href", `/w/${input.workspaceId}`)}${_attr_class([iconBtnRow, "_g7"])} title="Back to terminal (⌘/Ctrl+Shift+D)">`);
|
|
14387
14428
|
icon_back_default({ size: 14 });
|
|
14388
14429
|
_html(`</a>${_el_resume($scope1_id, "a", _serialize_guard($scope0_reason, 2))}`);
|
|
14389
14430
|
_serialize_if($scope0_reason, 0) && writeScope($scope1_id, { _: _serialize_if($scope0_reason, 2) && _scope_with_id($scope0_id) });
|
|
@@ -14394,7 +14435,7 @@ var review_view_default = _template("A", (input) => {
|
|
|
14394
14435
|
_if(() => {
|
|
14395
14436
|
if (comments.length) {
|
|
14396
14437
|
const $scope2_id = _scope_id();
|
|
14397
|
-
_html(`<span${_attr_class("
|
|
14438
|
+
_html(`<span${_attr_class("_g8")}>`);
|
|
14398
14439
|
_set_serialize_reason({
|
|
14399
14440
|
0: _serialize_guard($scope0_reason, 10),
|
|
14400
14441
|
1: 1
|
|
@@ -14411,14 +14452,14 @@ var review_view_default = _template("A", (input) => {
|
|
|
14411
14452
|
return 0;
|
|
14412
14453
|
}
|
|
14413
14454
|
}, $scope0_id, "h", 1, 1, 1, 0, 1);
|
|
14414
|
-
_html(`</div><div${_attr_class(["
|
|
14455
|
+
_html(`</div><div${_attr_class(["_g4", "_hD"])}>`);
|
|
14415
14456
|
_if(() => {
|
|
14416
14457
|
if (hasFiles) {
|
|
14417
14458
|
const $scope9_id = _scope_id();
|
|
14418
14459
|
_html(`<button${_attr_class([
|
|
14419
14460
|
treeToggle,
|
|
14420
|
-
"
|
|
14421
|
-
{ ["
|
|
14461
|
+
"_g2",
|
|
14462
|
+
{ ["_g1"]: treeOpen }
|
|
14422
14463
|
])} title=${treeOpen ? "\"Hide file tree\"" : "\"Show file tree\""}>`);
|
|
14423
14464
|
icon_sidebar_default({ size: 14 });
|
|
14424
14465
|
_html(`</button>${_el_resume($scope9_id, "a")}`);
|
|
@@ -14427,7 +14468,7 @@ var review_view_default = _template("A", (input) => {
|
|
|
14427
14468
|
return 0;
|
|
14428
14469
|
}
|
|
14429
14470
|
}, $scope0_id, "j", 1, 1, 1, 0, 1);
|
|
14430
|
-
_html(`<button${_attr_class([iconBtnRow, "
|
|
14471
|
+
_html(`<button${_attr_class([iconBtnRow, "_g2"])} title="Refresh diff"${_attr("disabled", loading)}>`);
|
|
14431
14472
|
_set_serialize_reason(1);
|
|
14432
14473
|
const $childScope2 = _peek_scope_id();
|
|
14433
14474
|
icon_refresh_default({
|
|
@@ -14440,30 +14481,30 @@ var review_view_default = _template("A", (input) => {
|
|
|
14440
14481
|
const $scope10_id = _scope_id();
|
|
14441
14482
|
_html(`<button${_attr_class([
|
|
14442
14483
|
iconBtnRow,
|
|
14443
|
-
"
|
|
14444
|
-
"
|
|
14445
|
-
])}${_attr("title", `Jump to file (${shownFiles.length})`)}${_attr("aria-label", `Jump to file (${shownFiles.length} files)`)}><span${_attr_class("
|
|
14484
|
+
"_g2",
|
|
14485
|
+
"_ho"
|
|
14486
|
+
])}${_attr("title", `Jump to file (${shownFiles.length})`)}${_attr("aria-label", `Jump to file (${shownFiles.length} files)`)}><span${_attr_class("_hp")} aria-hidden=true>`);
|
|
14446
14487
|
icon_folder_default({
|
|
14447
14488
|
size: 20,
|
|
14448
|
-
class: "
|
|
14489
|
+
class: "_hq"
|
|
14449
14490
|
});
|
|
14450
|
-
_html(`<span${_attr_class("
|
|
14491
|
+
_html(`<span${_attr_class("_hr")}>${_text_resume($scope10_id, "e", shownFiles.length > 99 ? "99+" : shownFiles.length)}</span></span></button>${_el_resume($scope10_id, "a")}`);
|
|
14451
14492
|
_script($scope10_id, "A41");
|
|
14452
14493
|
writeScope($scope10_id, {});
|
|
14453
14494
|
return 0;
|
|
14454
14495
|
}
|
|
14455
14496
|
}, $scope0_id, "m", 1, 1, 1, 0, 1);
|
|
14456
|
-
_html(`<span${_attr_class("
|
|
14497
|
+
_html(`<span${_attr_class("_hd")}><button${_attr_class([
|
|
14457
14498
|
iconBtnRow,
|
|
14458
|
-
"
|
|
14459
|
-
{ ["
|
|
14499
|
+
"_g2",
|
|
14500
|
+
{ ["_g1"]: !!rev }
|
|
14460
14501
|
])}${_attr("title", `${compareLabel}\n${compareTitle}`)} aria-label=Compare${_attr("disabled", loading)}>`);
|
|
14461
14502
|
icon_branch_default({ size: 14 });
|
|
14462
14503
|
_html(`</button>${_el_resume($scope0_id, "o")}`);
|
|
14463
14504
|
_attr_select_value($scope0_id, "q", rev ? `rev:${rev}` : scope, _resume(function(v) {
|
|
14464
14505
|
pickCompare(v);
|
|
14465
14506
|
}, "A0", $scope0_id), () => {
|
|
14466
|
-
_html(`<select${_attr_class("
|
|
14507
|
+
_html(`<select${_attr_class("_he")} aria-label=Compare tabindex=-1${_attr("disabled", loading)}><option${_attr_option_value("committed")}>Committed</option><option${_attr_option_value("working")}>Working tree</option><option${_attr_option_value("dirty")}>Uncommitted</option>`);
|
|
14467
14508
|
_if(() => {
|
|
14468
14509
|
if (commitOptions.length) {
|
|
14469
14510
|
const $scope12_id = _scope_id();
|
|
@@ -14479,7 +14520,7 @@ var review_view_default = _template("A", (input) => {
|
|
|
14479
14520
|
}, $scope0_id, "r", 1, 1, 1, 0, 1);
|
|
14480
14521
|
_html("</select>");
|
|
14481
14522
|
});
|
|
14482
|
-
_html(`${_el_resume($scope0_id, "q")}</span> <div${_attr_class(["
|
|
14523
|
+
_html(`${_el_resume($scope0_id, "q")}</span> <div${_attr_class(["_hb", { ["_ha"]: !findOpen }])}>`);
|
|
14483
14524
|
_set_serialize_reason(2);
|
|
14484
14525
|
const $childScope3 = _peek_scope_id();
|
|
14485
14526
|
let findFocus = diff_find_default({
|
|
@@ -14502,8 +14543,8 @@ var review_view_default = _template("A", (input) => {
|
|
|
14502
14543
|
const $scope11_id = _scope_id();
|
|
14503
14544
|
_html(`<button${_attr_class([
|
|
14504
14545
|
iconBtnRow,
|
|
14505
|
-
"
|
|
14506
|
-
"
|
|
14546
|
+
"_g_",
|
|
14547
|
+
"_g2"
|
|
14507
14548
|
])} title="Find in review (⌘/Ctrl+F)" aria-label="Find in review"${_attr("hidden", findOpen)}>`);
|
|
14508
14549
|
icon_search_default({ size: 14 });
|
|
14509
14550
|
_html(`</button>${_el_resume($scope11_id, "a")}`);
|
|
@@ -14516,7 +14557,7 @@ var review_view_default = _template("A", (input) => {
|
|
|
14516
14557
|
_if(() => {
|
|
14517
14558
|
if (!repos && loading) {
|
|
14518
14559
|
const $scope14_id = _scope_id();
|
|
14519
|
-
_html(`<div${_attr_class("
|
|
14560
|
+
_html(`<div${_attr_class("_hl")} aria-hidden=true><div${_attr_class(["_hh", "_hm"])}></div><div${_attr_class(["_hh", "_hn"])}></div></div>`);
|
|
14520
14561
|
writeScope($scope14_id, {});
|
|
14521
14562
|
return 0;
|
|
14522
14563
|
}
|
|
@@ -14589,7 +14630,7 @@ var review_view_default = _template("A", (input) => {
|
|
|
14589
14630
|
onReload: reload,
|
|
14590
14631
|
loading
|
|
14591
14632
|
});
|
|
14592
|
-
_html(`</div><div${_attr_class("
|
|
14633
|
+
_html(`</div><div${_attr_class("_hs")}>`);
|
|
14593
14634
|
_if(() => {
|
|
14594
14635
|
if (error) {
|
|
14595
14636
|
const $scope3_id = _scope_id();
|
|
@@ -14634,10 +14675,10 @@ var review_view_default = _template("A", (input) => {
|
|
|
14634
14675
|
_if(() => {
|
|
14635
14676
|
if (!repos && loading) {
|
|
14636
14677
|
const $scope15_id = _scope_id();
|
|
14637
|
-
_html(`<div${_attr_class("
|
|
14678
|
+
_html(`<div${_attr_class("_hg")} aria-hidden=true>`);
|
|
14638
14679
|
forTo(2, 0, 1, () => {
|
|
14639
14680
|
_scope_id();
|
|
14640
|
-
_html(`<div${_attr_class("
|
|
14681
|
+
_html(`<div${_attr_class("_hi")}><div${_attr_class(["_hh", "_hj"])}></div><div${_attr_class(["_hh", "_hk"])}></div></div>`);
|
|
14641
14682
|
});
|
|
14642
14683
|
_html("</div>");
|
|
14643
14684
|
writeScope($scope15_id, {});
|
|
@@ -14647,17 +14688,17 @@ var review_view_default = _template("A", (input) => {
|
|
|
14647
14688
|
_if(() => {
|
|
14648
14689
|
if (repos && !allFiles.length) {
|
|
14649
14690
|
const $scope8_id = _scope_id();
|
|
14650
|
-
_html(`<p${_attr_class("
|
|
14691
|
+
_html(`<p${_attr_class("_cj")}>${_text_resume($scope8_id, "b", rev ? "This commit is not in any of these repos." : repoList.some((r) => r.unborn) ? "No commits yet." : scope === "dirty" ? "Nothing uncommitted." : repoList.some((r) => r.pr) ? "No file changes on these PRs." : "No changes vs base.")}</p>`);
|
|
14651
14692
|
writeScope($scope8_id, {});
|
|
14652
14693
|
return 0;
|
|
14653
14694
|
} else if (repos && !listFiles.length && !findState.hit) {
|
|
14654
14695
|
const $scope5_id = _scope_id();
|
|
14655
|
-
_html(`<p${_attr_class("
|
|
14696
|
+
_html(`<p${_attr_class("_cj")}>${_text_resume($scope5_id, "b", findState.query.trim() ? "No matches in review." : onlyNew && !fileFilter ? "Nothing changed since your last visit." : `No files match "${fileFilter}".`)}</p>`);
|
|
14656
14697
|
writeScope($scope5_id, {});
|
|
14657
14698
|
return 1;
|
|
14658
14699
|
}
|
|
14659
14700
|
}, $scope0_id, "a2", 1, 1, 1, 0, 1);
|
|
14660
|
-
_html(`</div></div><div${_attr_class("
|
|
14701
|
+
_html(`</div></div><div${_attr_class("_ht")} data-diff-main></div>${_el_resume($scope0_id, "a3")}</div>`);
|
|
14661
14702
|
_set_serialize_reason(26);
|
|
14662
14703
|
const $childScope6 = _peek_scope_id();
|
|
14663
14704
|
review_tree_default({
|
|
@@ -14789,36 +14830,36 @@ var review_view_default = _template("A", (input) => {
|
|
|
14789
14830
|
d2: shownFiles,
|
|
14790
14831
|
d4: shownFiles?.length,
|
|
14791
14832
|
d6: commentsByFile,
|
|
14792
|
-
|
|
14793
|
-
|
|
14794
|
-
|
|
14795
|
-
|
|
14796
|
-
|
|
14797
|
-
|
|
14798
|
-
|
|
14799
|
-
|
|
14800
|
-
|
|
14801
|
-
|
|
14802
|
-
|
|
14803
|
-
|
|
14804
|
-
|
|
14805
|
-
|
|
14806
|
-
|
|
14807
|
-
|
|
14808
|
-
|
|
14809
|
-
|
|
14810
|
-
|
|
14811
|
-
|
|
14812
|
-
|
|
14813
|
-
|
|
14814
|
-
|
|
14833
|
+
de: commitOptions,
|
|
14834
|
+
dh: compareLabel,
|
|
14835
|
+
dl: _serialize_if($scope0_reason, 1) && repoTabs,
|
|
14836
|
+
dn: compareTitle,
|
|
14837
|
+
dp: fileWorktree,
|
|
14838
|
+
dq: anchorFor,
|
|
14839
|
+
dr: filesByKey,
|
|
14840
|
+
ds: fileByKey,
|
|
14841
|
+
du: saveComment,
|
|
14842
|
+
dv: deleteRemote,
|
|
14843
|
+
dx: removeComment,
|
|
14844
|
+
dy: editComment,
|
|
14845
|
+
e0: sendGate.busy,
|
|
14846
|
+
e2: dispatch,
|
|
14847
|
+
e5: copyMarkdown,
|
|
14848
|
+
e6: sendTo,
|
|
14849
|
+
e7: sendOneComment,
|
|
14850
|
+
e8: sendDraftComment,
|
|
14851
|
+
e9: openFind,
|
|
14852
|
+
ec: findFocus,
|
|
14853
|
+
ee: dockBox.home,
|
|
14854
|
+
ef: dockBox.raf,
|
|
14855
|
+
eh: dockFind,
|
|
14815
14856
|
bc: input.findOpenChange || void 0,
|
|
14816
14857
|
bg: input.findTickChange || void 0,
|
|
14817
14858
|
l: _existing_scope($childScope2),
|
|
14818
14859
|
t: _existing_scope($childScope3),
|
|
14819
14860
|
x: _existing_scope($childScope4),
|
|
14820
|
-
|
|
14821
|
-
|
|
14861
|
+
em: $error__closures,
|
|
14862
|
+
ep: $scope__closures,
|
|
14822
14863
|
a4: _existing_scope($childScope6),
|
|
14823
14864
|
a5: _existing_scope($childScope7)
|
|
14824
14865
|
});
|
|
@@ -14937,10 +14978,10 @@ function parseInvite(text) {
|
|
|
14937
14978
|
}
|
|
14938
14979
|
//#endregion
|
|
14939
14980
|
//#region src/tags/manage-workspace.css.ts
|
|
14940
|
-
var procCmd = "
|
|
14941
|
-
var skillRow = "
|
|
14942
|
-
var skillName = "
|
|
14943
|
-
var skillDesc = "
|
|
14981
|
+
var procCmd = "_gM _c2";
|
|
14982
|
+
var skillRow = "_gO _c0";
|
|
14983
|
+
var skillName = "_gQ _gM _c2";
|
|
14984
|
+
var skillDesc = "_gT _c3";
|
|
14944
14985
|
//#endregion
|
|
14945
14986
|
//#region src/tags/icons/icon-archive.marko
|
|
14946
14987
|
var icon_archive_default = _template("Q", (input) => {
|
|
@@ -14975,10 +15016,10 @@ var icon_trash_default = _template("wb", (input) => {
|
|
|
14975
15016
|
});
|
|
14976
15017
|
_serialize_if($scope0_reason, 0) && writeScope($scope0_id, { a: _existing_scope($childScope) });
|
|
14977
15018
|
});
|
|
14978
|
-
var resultRow = "
|
|
14979
|
-
var resultBranch = "
|
|
14980
|
-
var urlAction = "
|
|
14981
|
-
var addedRow = "
|
|
15019
|
+
var resultRow = "_hW _I";
|
|
15020
|
+
var resultBranch = "_hX _c7 _X _W _3 _l";
|
|
15021
|
+
var urlAction = "_hY _c7 _X _W _c8";
|
|
15022
|
+
var addedRow = "_h9 _c0";
|
|
14982
15023
|
//#endregion
|
|
14983
15024
|
//#region src/tags/branch-pick.marko
|
|
14984
15025
|
var branch_pick_default = _template("f", (input) => {
|
|
@@ -14991,11 +15032,11 @@ var branch_pick_default = _template("f", (input) => {
|
|
|
14991
15032
|
let branchFilter = "";
|
|
14992
15033
|
let reloadTick = 0;
|
|
14993
15034
|
let refreshing = false;
|
|
14994
|
-
_html(`<div${_attr_class("
|
|
15035
|
+
_html(`<div${_attr_class("_hZ")}>`);
|
|
14995
15036
|
_if(() => {
|
|
14996
15037
|
{
|
|
14997
15038
|
const $scope4_id = _scope_id();
|
|
14998
|
-
_html(`<p${_attr_class("
|
|
15039
|
+
_html(`<p${_attr_class("_ci")}><span${_attr_class("_G")}></span> Loading branches…</p>`);
|
|
14999
15040
|
writeScope($scope4_id, {});
|
|
15000
15041
|
return 0;
|
|
15001
15042
|
}
|
|
@@ -15098,10 +15139,10 @@ var repo_picker_default = _template("w", (input$2) => {
|
|
|
15098
15139
|
}, $scope0_id) };
|
|
15099
15140
|
const addedList = sheet ? input$2.added || [] : [];
|
|
15100
15141
|
const hasBody = !!(pasted || results.length || filter && (!catalog || !pasted) || ssoPending.length || sheet && !!input$2.added);
|
|
15101
|
-
_html(`<div${_attr_class(["
|
|
15102
|
-
["
|
|
15103
|
-
["
|
|
15104
|
-
}])}><label${_attr_class(["_0", "
|
|
15142
|
+
_html(`<div${_attr_class(["_cs", {
|
|
15143
|
+
["_ct"]: !input$2.open,
|
|
15144
|
+
["_cu"]: input$2.pinned
|
|
15145
|
+
}])}><label${_attr_class(["_0", "_cv"])}>`);
|
|
15105
15146
|
icon_search_default({
|
|
15106
15147
|
size: 14,
|
|
15107
15148
|
class: "_1"
|
|
@@ -15113,14 +15154,14 @@ var repo_picker_default = _template("w", (input$2) => {
|
|
|
15113
15154
|
}, "w0", $scope0_id))}${_attr_class([
|
|
15114
15155
|
"_Y",
|
|
15115
15156
|
"_2",
|
|
15116
|
-
"
|
|
15117
|
-
])} placeholder="Add a repo…" aria-label="Add a repo"${_attr("disabled", input$2.disabled)}>${_el_resume($scope0_id, "d")}</label><button${_attr_class([iconBtnRow, "
|
|
15157
|
+
"_cw"
|
|
15158
|
+
])} placeholder="Add a repo…" aria-label="Add a repo"${_attr("disabled", input$2.disabled)}>${_el_resume($scope0_id, "d")}</label><button${_attr_class([iconBtnRow, "_cy"])} type=button title="Close search" aria-label="Close search"${_attr("hidden", !input$2.open)}>`);
|
|
15118
15159
|
icon_xmark_default({ size: 14 });
|
|
15119
15160
|
_html(`</button>${_el_resume($scope0_id, "e")}<div${_attr_class(pop$1)}${_attr("hidden", !hasBody || !input$2.open && !input$2.pinned)}>`);
|
|
15120
15161
|
_if(() => {
|
|
15121
15162
|
if (ssoPending.length) {
|
|
15122
15163
|
const $scope11_id = _scope_id();
|
|
15123
|
-
_html(`<div${_attr_class("
|
|
15164
|
+
_html(`<div${_attr_class("_hS")}>`);
|
|
15124
15165
|
ssoBlock.content({});
|
|
15125
15166
|
_html("</div>");
|
|
15126
15167
|
writeScope($scope11_id, {});
|
|
@@ -15130,12 +15171,12 @@ var repo_picker_default = _template("w", (input$2) => {
|
|
|
15130
15171
|
_if(() => {
|
|
15131
15172
|
if (pasted) {
|
|
15132
15173
|
const $scope1_id = _scope_id();
|
|
15133
|
-
_html(`<ul${_attr_class("
|
|
15174
|
+
_html(`<ul${_attr_class("_hT")}><li><div${_attr_class(["_hV", "_hU"])}><button${_attr_class(resultRow)}${pasteWillFork ? _attr("title", `Fork ${pasted} to your account and add the fork`) : _attr("title", `Add ${pasted} as-is (pushes go to that repo)`)}>`);
|
|
15134
15175
|
icon_plus_default({
|
|
15135
15176
|
size: 12,
|
|
15136
|
-
class: "
|
|
15177
|
+
class: "_h1"
|
|
15137
15178
|
});
|
|
15138
|
-
_html(`<span${_attr_class("
|
|
15179
|
+
_html(`<span${_attr_class("_h2")}>${_text_resume($scope1_id, "f", repoLabel$1(pasted))}</span></button>${_el_resume($scope1_id, "c")}`);
|
|
15139
15180
|
_if(() => {
|
|
15140
15181
|
if (pastedForkable) {
|
|
15141
15182
|
const $scope10_id = _scope_id();
|
|
@@ -15186,7 +15227,7 @@ var repo_picker_default = _template("w", (input$2) => {
|
|
|
15186
15227
|
return 0;
|
|
15187
15228
|
} else if (filter && !catalog) {
|
|
15188
15229
|
const $scope12_id = _scope_id();
|
|
15189
|
-
_html(`<p${_attr_class("
|
|
15230
|
+
_html(`<p${_attr_class("_ci")}>Loading repos…</p>`);
|
|
15190
15231
|
writeScope($scope12_id, {});
|
|
15191
15232
|
return 1;
|
|
15192
15233
|
}
|
|
@@ -15194,15 +15235,15 @@ var repo_picker_default = _template("w", (input$2) => {
|
|
|
15194
15235
|
_if(() => {
|
|
15195
15236
|
if (results.length) {
|
|
15196
15237
|
const $scope3_id = _scope_id();
|
|
15197
|
-
_html(`<ul${_attr_class("
|
|
15238
|
+
_html(`<ul${_attr_class("_hT")}>`);
|
|
15198
15239
|
_for_of(results, (repo, i) => {
|
|
15199
15240
|
const $scope4_id = _scope_id();
|
|
15200
|
-
_html(`<li><div${_attr_class(["
|
|
15241
|
+
_html(`<li><div${_attr_class(["_hV", { ["_hU"]: i === highlight }])}><button${_attr_class(resultRow)}>`);
|
|
15201
15242
|
icon_plus_default({
|
|
15202
15243
|
size: 12,
|
|
15203
|
-
class: "
|
|
15244
|
+
class: "_h1"
|
|
15204
15245
|
});
|
|
15205
|
-
_html(`<span${_attr_class("
|
|
15246
|
+
_html(`<span${_attr_class("_h2")}>${_text_resume($scope4_id, "e", repoLabel$1(repo.nameWithOwner))}</span></button>${_el_resume($scope4_id, "b")}<button${_attr_class([resultBranch, { ["_c6"]: branchesFor === repo.nameWithOwner }])}${_attr("title", `Pick a base branch for ${repo.nameWithOwner}`)}${_attr("aria-label", `Pick a base branch for ${repo.nameWithOwner}`)}>`);
|
|
15206
15247
|
icon_branch_default({ size: 12 });
|
|
15207
15248
|
_html(`</button>${_el_resume($scope4_id, "f")}</div>${_el_resume($scope4_id, "a")}`);
|
|
15208
15249
|
_if(() => {
|
|
@@ -15237,7 +15278,7 @@ var repo_picker_default = _template("w", (input$2) => {
|
|
|
15237
15278
|
return 0;
|
|
15238
15279
|
} else if (filter && catalog && !pasted) {
|
|
15239
15280
|
const $scope8_id = _scope_id();
|
|
15240
|
-
_html(`<p${_attr_class("
|
|
15281
|
+
_html(`<p${_attr_class("_ci")}>No repos match "${_text_resume($scope8_id, "b", filter, 2)}". Paste a clone URL to add any repo.</p>`);
|
|
15241
15282
|
writeScope($scope8_id, {});
|
|
15242
15283
|
return 1;
|
|
15243
15284
|
}
|
|
@@ -15245,7 +15286,7 @@ var repo_picker_default = _template("w", (input$2) => {
|
|
|
15245
15286
|
_if(() => {
|
|
15246
15287
|
if (sheet && input$2.added) {
|
|
15247
15288
|
const $scope6_id = _scope_id();
|
|
15248
|
-
_html(`<div${_attr_class("
|
|
15289
|
+
_html(`<div${_attr_class("_h7")}><p${_attr_class("_h8")}>Repos <span${_attr_class(sectionCount$1)}>${_text_resume($scope6_id, "d", addedList.length, $sg__input_added)}</span></p><ul${_attr_class(list$2)}>`);
|
|
15249
15290
|
_for_of(addedList, (repo) => {
|
|
15250
15291
|
const $scope15_id = _scope_id();
|
|
15251
15292
|
_html(`<li${_attr_class([addedRow, { ["_c5"]: repo.pending }])}>`);
|
|
@@ -15259,13 +15300,13 @@ var repo_picker_default = _template("w", (input$2) => {
|
|
|
15259
15300
|
const $scope18_id = _scope_id();
|
|
15260
15301
|
icon_check_default({
|
|
15261
15302
|
size: 12,
|
|
15262
|
-
class: "
|
|
15303
|
+
class: "_h1"
|
|
15263
15304
|
});
|
|
15264
15305
|
$si__input_added && writeScope($scope18_id, {});
|
|
15265
15306
|
return 1;
|
|
15266
15307
|
}
|
|
15267
15308
|
}, $scope15_id, "b", $sg__input_added, $sg__input_added, $sg__input_added, 0, 1);
|
|
15268
|
-
_html(`<span${_attr_class("
|
|
15309
|
+
_html(`<span${_attr_class("_h2")}>${_text_resume($scope15_id, "d", repoLabel$1(repo.name), $sg__input_added)}</span>`);
|
|
15269
15310
|
_if(() => {
|
|
15270
15311
|
if (repo.baseBranch) {
|
|
15271
15312
|
const $scope16_id = _scope_id();
|
|
@@ -15628,7 +15669,7 @@ var manage_workspace_default = _template("p", (input) => {
|
|
|
15628
15669
|
_resume_branch($scope6_id);
|
|
15629
15670
|
}, $scope0_id) })
|
|
15630
15671
|
});
|
|
15631
|
-
_html(`<div${_attr_class("_eh")}><section${_attr_class("
|
|
15672
|
+
_html(`<div${_attr_class("_eh")}><section${_attr_class("_b8")}><div${_attr_class("_b9")}><h2${_attr_class("_cl")}>Details</h2></div><div${_attr_class(list$2)}><div${_attr_class(flatCardRow)}><span${_attr_class("_gX")}>Name</span><span${_attr_class(["_gY", "_gZ"])}>${_text_resume($scope0_id, "m", ws.name)}</span>`);
|
|
15632
15673
|
_if(() => {
|
|
15633
15674
|
if (ws.status !== "active") {
|
|
15634
15675
|
const $scope23_id = _scope_id();
|
|
@@ -15637,8 +15678,8 @@ var manage_workspace_default = _template("p", (input) => {
|
|
|
15637
15678
|
return 0;
|
|
15638
15679
|
}
|
|
15639
15680
|
}, $scope0_id, "n", 1, 1, 1, 0, 1);
|
|
15640
|
-
_html(`</div><div${_attr_class(flatCardRow)}><span${_attr_class("
|
|
15641
|
-
"
|
|
15681
|
+
_html(`</div><div${_attr_class(flatCardRow)}><span${_attr_class("_gX")}>Path</span><span${_attr_class([
|
|
15682
|
+
"_gY",
|
|
15642
15683
|
"_y",
|
|
15643
15684
|
"_ba"
|
|
15644
15685
|
])}${_attr("title", ws.display_path || ws.path)}><bdi>${_text_resume($scope0_id, "r", ws.display_path || ws.path)}</bdi></span>${_el_resume($scope0_id, "q")}<button type=button${_attr_class(iconBtnXs)} title=${copiedFact === "path" ? "Copied" : "\"Copy path\""} aria-label="Copy path">`);
|
|
@@ -15655,7 +15696,7 @@ var manage_workspace_default = _template("p", (input) => {
|
|
|
15655
15696
|
return 1;
|
|
15656
15697
|
}
|
|
15657
15698
|
}, $scope0_id, "s", 1, 1, 1, "</button>", 1);
|
|
15658
|
-
_html(`</div><div${_attr_class(flatCardRow)}><span${_attr_class("
|
|
15699
|
+
_html(`</div><div${_attr_class(flatCardRow)}><span${_attr_class("_gX")}>Branch</span><span${_attr_class(["_gY", "_y"])}${_attr("title", ws.branch)}>${_text_resume($scope0_id, "w", ws.branch)}</span>${_el_resume($scope0_id, "v")}<button type=button${_attr_class(iconBtnXs)} title=${copiedFact === "branch" ? "Copied" : "\"Copy branch\""} aria-label="Copy branch">`);
|
|
15659
15700
|
_if(() => {
|
|
15660
15701
|
if (copiedFact === "branch") {
|
|
15661
15702
|
const $scope26_id = _scope_id();
|
|
@@ -15693,12 +15734,12 @@ var manage_workspace_default = _template("p", (input) => {
|
|
|
15693
15734
|
_if(() => {
|
|
15694
15735
|
if (pendingAction && actionStep) {
|
|
15695
15736
|
const $scope10_id = _scope_id();
|
|
15696
|
-
_html(`<p${_attr_class("
|
|
15737
|
+
_html(`<p${_attr_class("_b7")}><span${_attr_class("_G")}></span>${_text_resume($scope10_id, "c", actionStep)}</p>`);
|
|
15697
15738
|
writeScope($scope10_id, {});
|
|
15698
15739
|
return 0;
|
|
15699
15740
|
}
|
|
15700
15741
|
}, $scope0_id, "z", 1, 1, 1, 0, 1);
|
|
15701
|
-
_html(`<section${_attr_class("
|
|
15742
|
+
_html(`<section${_attr_class("_b8")}><div${_attr_class("_b9")}><h2${_attr_class("_cl")}>Repos</h2><span${_attr_class(sectionCount$1)}>${_text_resume($scope0_id, "a4", ws.repos.length)}</span><div${_attr_class("_z")}></div><button${_attr_class([iconBtnRow, "_gW"])} title="Add repo" aria-label="Add repo"${_attr("hidden", addingRepo)}>`);
|
|
15702
15743
|
icon_plus_default({ size: 16 });
|
|
15703
15744
|
_html(`</button>${_el_resume($scope0_id, "a6")}`);
|
|
15704
15745
|
_set_serialize_reason(34);
|
|
@@ -15761,7 +15802,7 @@ var manage_workspace_default = _template("p", (input) => {
|
|
|
15761
15802
|
const $childScope5 = _peek_scope_id();
|
|
15762
15803
|
arm_button_default({
|
|
15763
15804
|
class: [
|
|
15764
|
-
"
|
|
15805
|
+
"_ch",
|
|
15765
15806
|
"_7",
|
|
15766
15807
|
"_8"
|
|
15767
15808
|
],
|
|
@@ -15794,14 +15835,14 @@ var manage_workspace_default = _template("p", (input) => {
|
|
|
15794
15835
|
_html(`<li${_attr_class([
|
|
15795
15836
|
"_c0",
|
|
15796
15837
|
"_c1",
|
|
15797
|
-
"
|
|
15798
|
-
])}><span${_attr_class("_G")}></span><span${_attr_class("
|
|
15838
|
+
"_cb"
|
|
15839
|
+
])}><span${_attr_class("_G")}></span><span${_attr_class("_cg")}>Adding ${_text_resume($scope31_id, "d", name, 2)}…</span></li>`);
|
|
15799
15840
|
writeScope($scope31_id, {});
|
|
15800
15841
|
}, (n) => n, $scope0_id, "ae", 1, 1, 1, 0, 1);
|
|
15801
15842
|
_if(() => {
|
|
15802
15843
|
if (!ws.repos.length && !busy.size) {
|
|
15803
15844
|
const $scope32_id = _scope_id();
|
|
15804
|
-
_html(`<li${_attr_class(["_c0", "_c1"])}><span${_attr_class("
|
|
15845
|
+
_html(`<li${_attr_class(["_c0", "_c1"])}><span${_attr_class("_cg")}>No repos yet. Add one to start.</span></li>`);
|
|
15805
15846
|
writeScope($scope32_id, {});
|
|
15806
15847
|
return 0;
|
|
15807
15848
|
}
|
|
@@ -15811,7 +15852,7 @@ var manage_workspace_default = _template("p", (input) => {
|
|
|
15811
15852
|
_if(() => {
|
|
15812
15853
|
if (running.length) {
|
|
15813
15854
|
const $scope15_id = _scope_id();
|
|
15814
|
-
_html(`<section${_attr_class("
|
|
15855
|
+
_html(`<section${_attr_class("_b8")}><div${_attr_class("_b9")}><h2${_attr_class("_cl")}>Running</h2><span${_attr_class(sectionCount$1)}>${_text_resume($scope15_id, "e", running.length)}</span></div><ul${_attr_class(list$2)}>`);
|
|
15815
15856
|
_for_of(running, (p) => {
|
|
15816
15857
|
const $scope16_id = _scope_id();
|
|
15817
15858
|
_html(`<li${_attr_class("_c0")}${_attr("title", `${p.cmd} ${p.args}`.trim())}><span${_attr_class(["_y", procCmd])}>${_text_resume($scope16_id, "c", p.cmd)}</span><span${_attr_class(["_y", "_c3"])}>${_text_resume($scope16_id, "e", p.args)}</span><span${_attr_class("_c4")}>`);
|
|
@@ -15821,10 +15862,10 @@ var manage_workspace_default = _template("p", (input) => {
|
|
|
15821
15862
|
_script($scope33_id, "p28");
|
|
15822
15863
|
writeScope($scope33_id, { d: port });
|
|
15823
15864
|
}, (x) => String(x), $scope16_id, "g", 1, 1, 1, 0, 1);
|
|
15824
|
-
_html(`<span${_attr_class(["_y", "
|
|
15825
|
-
"
|
|
15865
|
+
_html(`<span${_attr_class(["_y", "_gN"])}>${_text_resume($scope16_id, "i", p.pid)}</span><button${_attr_class([
|
|
15866
|
+
"_ch",
|
|
15826
15867
|
"_7",
|
|
15827
|
-
"
|
|
15868
|
+
"_gV"
|
|
15828
15869
|
])} type=button${_attr("title", `Kill process ${p.pid}`)}${_attr("aria-label", `Kill process ${p.pid}`)}>`);
|
|
15829
15870
|
icon_xmark_default({ size: 14 });
|
|
15830
15871
|
_html(`</button>${_el_resume($scope16_id, "j")}</span></li>${_el_resume($scope16_id, "a")}`);
|
|
@@ -15849,18 +15890,18 @@ var manage_workspace_default = _template("p", (input) => {
|
|
|
15849
15890
|
_if(() => {
|
|
15850
15891
|
if (allSkills.length) {
|
|
15851
15892
|
const $scope2_id = _scope_id();
|
|
15852
|
-
_html(`<section${_attr_class("
|
|
15893
|
+
_html(`<section${_attr_class("_b8")}><div${_attr_class("_b9")}><h2${_attr_class("_cl")}>Skills</h2><span${_attr_class(sectionCount$1)}>${_text_resume($scope2_id, "e", wsSkills.length)}/${_text_resume($scope2_id, "f", allSkills.length, 2)}</span></div><ul${_attr_class([list$2, "_cZ"])}>`);
|
|
15853
15894
|
_for_of(allSkills, ({ s, linked }) => {
|
|
15854
15895
|
const $scope3_id = _scope_id();
|
|
15855
15896
|
const isBusy = skillBusy.has(s.id);
|
|
15856
|
-
_html(`<li${_attr_class([skillRow, { ["
|
|
15897
|
+
_html(`<li${_attr_class([skillRow, { ["_gP"]: !linked }])}><span${_attr_class("_gR")}><span${_attr_class(["_y", skillName])}>${_text_resume($scope3_id, "d", s.name)}</span>`);
|
|
15857
15898
|
_if(() => {
|
|
15858
15899
|
if (s.worktree && !s.broken) {
|
|
15859
15900
|
const $scope34_id = _scope_id();
|
|
15860
15901
|
_html(`<span${_attr_class([
|
|
15861
15902
|
"_N",
|
|
15862
15903
|
"_y",
|
|
15863
|
-
"
|
|
15904
|
+
"_gS"
|
|
15864
15905
|
])}${linked ? _attr("title", `Linked from ${s.worktree}/ in this workspace`) : _attr("title", `Ships in ${s.worktree}/ — not linked into this workspace yet`)}>${_text_resume($scope34_id, "b", s.worktree)}/</span>${_el_resume($scope34_id, "a")}`);
|
|
15865
15906
|
writeScope($scope34_id, {});
|
|
15866
15907
|
return 0;
|
|
@@ -15914,10 +15955,10 @@ var manage_workspace_default = _template("p", (input) => {
|
|
|
15914
15955
|
const $childScope6 = _peek_scope_id();
|
|
15915
15956
|
arm_button_default({
|
|
15916
15957
|
class: [
|
|
15917
|
-
"
|
|
15958
|
+
"_ch",
|
|
15918
15959
|
"_7",
|
|
15919
15960
|
"_8",
|
|
15920
|
-
"
|
|
15961
|
+
"_gU"
|
|
15921
15962
|
],
|
|
15922
15963
|
disabled: isBusy,
|
|
15923
15964
|
busy: isBusy,
|
|
@@ -16027,10 +16068,10 @@ var manage_workspace_default = _template("p", (input) => {
|
|
|
16027
16068
|
});
|
|
16028
16069
|
_resume_branch($scope0_id);
|
|
16029
16070
|
});
|
|
16030
|
-
var curRow = "
|
|
16031
|
-
var archived = "
|
|
16032
|
-
var archivedHint = "
|
|
16033
|
-
var archivedRow = "
|
|
16071
|
+
var curRow = "_gd _c0";
|
|
16072
|
+
var archived = "_gi _b8";
|
|
16073
|
+
var archivedHint = "_gj _W";
|
|
16074
|
+
var archivedRow = "_gk _cY _cW";
|
|
16034
16075
|
//#endregion
|
|
16035
16076
|
//#region src/tags/icons/icon-group.marko
|
|
16036
16077
|
var icon_group_default = _template("jb", (input) => {
|
|
@@ -16050,8 +16091,8 @@ var icon_group_default = _template("jb", (input) => {
|
|
|
16050
16091
|
});
|
|
16051
16092
|
//#endregion
|
|
16052
16093
|
//#region src/tags/join-dialog.css.ts
|
|
16053
|
-
var dlg = "
|
|
16054
|
-
var hint = "
|
|
16094
|
+
var dlg = "_il _fi";
|
|
16095
|
+
var hint = "_im _W";
|
|
16055
16096
|
//#endregion
|
|
16056
16097
|
//#region src/tags/join-dialog.marko
|
|
16057
16098
|
var api$3;
|
|
@@ -16180,26 +16221,26 @@ var join_dialog_default = _template("m", (input) => {
|
|
|
16180
16221
|
content: _content("m12", () => {
|
|
16181
16222
|
_scope_reason();
|
|
16182
16223
|
const $scope1_id = _scope_id();
|
|
16183
|
-
_html(`<h2${_attr_class("
|
|
16224
|
+
_html(`<h2${_attr_class("_fj")}${_attr("id", titleId)}>Join a workspace</h2><p${_attr_class(hint)}>Paste an invite: the same repos, on your own lane of their branch.</p><textarea${_attr_class([
|
|
16184
16225
|
"_Y",
|
|
16185
16226
|
"_y",
|
|
16186
|
-
"
|
|
16227
|
+
"_io"
|
|
16187
16228
|
])} placeholder="{ "name": …, "branch": …, "repos": ["owner/name", …] }" aria-label="Workspace invite" rows=6 autocomplete=off spellcheck=false${_attr("disabled", busy)} autofocus>${_attr_textarea_value($scope1_id, "c", invite, setInvite)}</textarea>${_el_resume($scope1_id, "c")}`);
|
|
16188
16229
|
_if(() => {
|
|
16189
16230
|
if (parsed.error) {
|
|
16190
16231
|
const $scope8_id = _scope_id();
|
|
16191
|
-
_html(`<p${_attr_class([hint, "
|
|
16232
|
+
_html(`<p${_attr_class([hint, "_in"])}>${_text_resume($scope8_id, "b", parsed.error)}</p>`);
|
|
16192
16233
|
_subscribe($parsed_error__closures, writeScope($scope8_id, { Cag: 1 }));
|
|
16193
16234
|
return 0;
|
|
16194
16235
|
} else if (parsed.ok) {
|
|
16195
16236
|
const $scope3_id = _scope_id();
|
|
16196
|
-
_html(`<ul${_attr_class("
|
|
16237
|
+
_html(`<ul${_attr_class("_ip")}>`);
|
|
16197
16238
|
_for_of(parsed.ok.repos, (fullName) => {
|
|
16198
16239
|
const $scope9_id = _scope_id();
|
|
16199
|
-
_html(`<li${_attr_class("
|
|
16240
|
+
_html(`<li${_attr_class("_iq")}><span${_attr_class("_ir")}>${_text_resume($scope9_id, "c", repoLabel$1(fullName))}</span></li>`);
|
|
16200
16241
|
writeScope($scope9_id, {});
|
|
16201
16242
|
}, (r) => r, $scope3_id, "a", 1, 1, 1, "</ul>", 1);
|
|
16202
|
-
_html(`<p${_attr_class(hint)}>Your own lane of <span${_attr_class("_y")}>${_text_resume($scope3_id, "d", parsed.ok.branch)}</span> in each; PRs target theirs.</p><label${_attr_class("
|
|
16243
|
+
_html(`<p${_attr_class(hint)}>Your own lane of <span${_attr_class("_y")}>${_text_resume($scope3_id, "d", parsed.ok.branch)}</span> in each; PRs target theirs.</p><label${_attr_class("_is")}><span${_attr_class("_cl")}>Name</span><input${_attr_input_value($scope3_id, "g", name, _resume((_new_name) => {
|
|
16203
16244
|
name = _new_name;
|
|
16204
16245
|
}, "m1", $scope3_id))}${_attr_class("_Y")}${_attr("placeholder", parsed.ok.name)}${_attr("disabled", busy)}>${_el_resume($scope3_id, "g")}</label>`);
|
|
16205
16246
|
_script($scope3_id, "m8");
|
|
@@ -16236,10 +16277,10 @@ var join_dialog_default = _template("m", (input) => {
|
|
|
16236
16277
|
_if(() => {
|
|
16237
16278
|
if (busy && steps$2.length) {
|
|
16238
16279
|
const $scope6_id = _scope_id();
|
|
16239
|
-
_html(`<ul${_attr_class("
|
|
16280
|
+
_html(`<ul${_attr_class("_it")}>`);
|
|
16240
16281
|
_for_of(steps$2, (step$2, i) => {
|
|
16241
16282
|
const $scope7_id = _scope_id();
|
|
16242
|
-
_html(`<li${_attr_class(["
|
|
16283
|
+
_html(`<li${_attr_class(["_iv", { ["_iu"]: i === steps$2.length - 1 }])}>`);
|
|
16243
16284
|
_if(() => {
|
|
16244
16285
|
if (i === steps$2.length - 1) {
|
|
16245
16286
|
const $scope10_id = _scope_id();
|
|
@@ -16248,7 +16289,7 @@ var join_dialog_default = _template("m", (input) => {
|
|
|
16248
16289
|
return 0;
|
|
16249
16290
|
} else {
|
|
16250
16291
|
const $scope11_id = _scope_id();
|
|
16251
|
-
_html(`<span${_attr_class("
|
|
16292
|
+
_html(`<span${_attr_class("_iw")}>`);
|
|
16252
16293
|
icon_check_default({ size: 14 });
|
|
16253
16294
|
_html("</span>");
|
|
16254
16295
|
writeScope($scope11_id, {});
|
|
@@ -16451,9 +16492,9 @@ var new_workspace_default = _template("s", (input) => {
|
|
|
16451
16492
|
return 0;
|
|
16452
16493
|
}
|
|
16453
16494
|
}, $scope0_id, "f", 1, 1, 1, 0, 1);
|
|
16454
|
-
_html(`<label${_attr_class("
|
|
16495
|
+
_html(`<label${_attr_class("_f9")}><span${_attr_class("_cl")}>Name</span><input${_attr_input_value($scope0_id, "i", name, _resume((_new_name) => {
|
|
16455
16496
|
name = _new_name;
|
|
16456
|
-
}, "s0", $scope0_id))}${_attr_class(inputLg)} placeholder=my-feature${_attr("disabled", busy)} autofocus>${_el_resume($scope0_id, "i")}</label><section${_attr_class("
|
|
16497
|
+
}, "s0", $scope0_id))}${_attr_class(inputLg)} placeholder=my-feature${_attr("disabled", busy)} autofocus>${_el_resume($scope0_id, "i")}</label><section${_attr_class("_b8")}><div${_attr_class("_gb")}><h2${_attr_class("_cl")}>Repos</h2><span${_attr_class(sectionCount$1)}>${_text_resume($scope0_id, "n", selected.length)}</span><div${_attr_class("_z")}></div><button type=button${_attr_class([iconBtnRow, "_ga"])} title="Add repo" aria-label="Add repo"${_attr("hidden", addingRepo)}${_attr("disabled", busy)}>`);
|
|
16457
16498
|
icon_plus_default({ size: 16 });
|
|
16458
16499
|
_html(`</button>${_el_resume($scope0_id, "p")}`);
|
|
16459
16500
|
_set_serialize_reason(34);
|
|
@@ -16491,7 +16532,7 @@ var new_workspace_default = _template("s", (input) => {
|
|
|
16491
16532
|
_html(`</button>${_el_resume($scope0_id, "t")}</div><ul${_attr_class(list$2)}>`);
|
|
16492
16533
|
_for_of(selected, (repo) => {
|
|
16493
16534
|
const $scope3_id = _scope_id();
|
|
16494
|
-
_html(`<li${_attr_class("
|
|
16535
|
+
_html(`<li${_attr_class("_gc")}><div${_attr_class(curRow)}><span${_attr_class("_c2")}>${_text_resume($scope3_id, "d", repoLabel$1(repo.fullName))}</span><span${_attr_class("_c4")}>`);
|
|
16495
16536
|
_if(() => {
|
|
16496
16537
|
if (repo.fork !== void 0) {
|
|
16497
16538
|
const $scope4_id = _scope_id();
|
|
@@ -16531,7 +16572,7 @@ var new_workspace_default = _template("s", (input) => {
|
|
|
16531
16572
|
_if(() => {
|
|
16532
16573
|
if (branchesFor === repo.fullName) {
|
|
16533
16574
|
const $scope9_id = _scope_id();
|
|
16534
|
-
_html(`<div${_attr_class("
|
|
16575
|
+
_html(`<div${_attr_class("_ge")}>`);
|
|
16535
16576
|
const $childScope4 = _peek_scope_id();
|
|
16536
16577
|
branch_pick_default({
|
|
16537
16578
|
repo: repo.fullName,
|
|
@@ -16569,10 +16610,10 @@ var new_workspace_default = _template("s", (input) => {
|
|
|
16569
16610
|
_if(() => {
|
|
16570
16611
|
if (busy && steps.length) {
|
|
16571
16612
|
const $scope10_id = _scope_id();
|
|
16572
|
-
_html(`<ul${_attr_class("
|
|
16613
|
+
_html(`<ul${_attr_class("_gf")}>`);
|
|
16573
16614
|
_for_of(steps, (step, i) => {
|
|
16574
16615
|
const $scope11_id = _scope_id();
|
|
16575
|
-
_html(`<li${_attr_class(["
|
|
16616
|
+
_html(`<li${_attr_class(["_gl", { ["_gg"]: i === steps.length - 1 }])}>`);
|
|
16576
16617
|
_if(() => {
|
|
16577
16618
|
if (i === steps.length - 1) {
|
|
16578
16619
|
const $scope15_id = _scope_id();
|
|
@@ -16581,7 +16622,7 @@ var new_workspace_default = _template("s", (input) => {
|
|
|
16581
16622
|
return 0;
|
|
16582
16623
|
} else {
|
|
16583
16624
|
const $scope16_id = _scope_id();
|
|
16584
|
-
_html(`<span${_attr_class("
|
|
16625
|
+
_html(`<span${_attr_class("_gh")}>`);
|
|
16585
16626
|
icon_check_default({ size: 14 });
|
|
16586
16627
|
_html("</span>");
|
|
16587
16628
|
writeScope($scope16_id, {});
|
|
@@ -16595,18 +16636,18 @@ var new_workspace_default = _template("s", (input) => {
|
|
|
16595
16636
|
return 0;
|
|
16596
16637
|
}
|
|
16597
16638
|
}, $scope0_id, "y", 1, 1, 1, 0, 1);
|
|
16598
|
-
_html(`<div${_attr_class("
|
|
16639
|
+
_html(`<div${_attr_class("_f7")}><button type=button${_attr_class([
|
|
16599
16640
|
btnLg,
|
|
16600
16641
|
"_r",
|
|
16601
|
-
"
|
|
16642
|
+
"_f8"
|
|
16602
16643
|
])}${_attr("disabled", busy || !!restoring || !name.trim())}>${_text_resume($scope0_id, "a1", busy ? "Creating…" : "Create workspace")}</button>${_el_resume($scope0_id, "a0")}</div></div><div${_attr_class("_eh")}>`);
|
|
16603
16644
|
_if(() => {
|
|
16604
16645
|
if (archived$1.length) {
|
|
16605
16646
|
const $scope5_id = _scope_id();
|
|
16606
|
-
_html(`<section${_attr_class(archived)}><div${_attr_class("
|
|
16647
|
+
_html(`<section${_attr_class(archived)}><div${_attr_class("_gb")}><h2${_attr_class("_cl")}>Archived</h2><span${_attr_class(sectionCount$1)}>${_text_resume($scope5_id, "e", archived$1.length, $sg__input_workspaces)}</span></div><p${_attr_class(archivedHint)}>Restore an archived workspace instead of creating a new one.</p><ul${_attr_class(list$2)}>`);
|
|
16607
16648
|
_for_of(archived$1, (ws) => {
|
|
16608
16649
|
const $scope6_id = _scope_id();
|
|
16609
|
-
_html(`<li${_attr_class(archivedRow)}><div${_attr_class("
|
|
16650
|
+
_html(`<li${_attr_class(archivedRow)}><div${_attr_class("_cd")}><span${_attr_class("_ce")}>${_text_resume($scope6_id, "d", ws.name, $sg__input_workspaces)}</span><span${_attr_class([metaTrunc, "_y"])}${_attr("title", ws.display_path || ws.path)}>${_text_resume($scope6_id, "f", ws.display_path || ws.path, $sg__input_workspaces)}</span>${_el_resume($scope6_id, "e", $sg__input_workspaces)}</div><button type=button${_attr_class(btnSm)}${_attr("disabled", busy || !!restoring)}>`);
|
|
16610
16651
|
_if(() => {
|
|
16611
16652
|
if (restoring === ws.id) {
|
|
16612
16653
|
const $scope17_id = _scope_id();
|
|
@@ -16723,19 +16764,19 @@ var term_find_default = _template("H", (input) => {
|
|
|
16723
16764
|
const canStep = hasQuery && open;
|
|
16724
16765
|
const keybar = input.placement === "keybar";
|
|
16725
16766
|
_html(`<div${_attr_class([
|
|
16726
|
-
"
|
|
16727
|
-
keybar ? "
|
|
16728
|
-
!open && "
|
|
16729
|
-
])} aria-hidden=${open ? "false" : "true"}><div${_attr_class(["
|
|
16767
|
+
"_eI",
|
|
16768
|
+
keybar ? "_eK" : "_eJ",
|
|
16769
|
+
!open && "_eM"
|
|
16770
|
+
])} aria-hidden=${open ? "false" : "true"}><div${_attr_class(["_eC", keybar ? "_eL" : "_eF"])}><input${_attr_input_value($scope0_id, "c", query, _resume(function(v) {
|
|
16730
16771
|
if (!open) return;
|
|
16731
16772
|
query = v;
|
|
16732
16773
|
live.query = v;
|
|
16733
16774
|
run(0);
|
|
16734
|
-
}, "H1", $scope0_id))}${_attr_class([findInput, keybar && "
|
|
16775
|
+
}, "H1", $scope0_id))}${_attr_class([findInput, keybar && "_eN"])} type=search enterkeyhint=search autocomplete=off tabindex=${open ? "0" : "-1"} placeholder="Find in terminal" aria-label="Find in terminal">${_el_resume($scope0_id, "c")}<button type=button${_attr_class([findIconBtn, keybar && "_eO"])} title="Previous match"${_attr("disabled", !canStep)} tabindex=${open ? "0" : "-1"}>`);
|
|
16735
16776
|
icon_arrow_up_default({ size: 14 });
|
|
16736
|
-
_html(`</button>${_el_resume($scope0_id, "d")}<button type=button${_attr_class([findIconBtn, keybar && "
|
|
16777
|
+
_html(`</button>${_el_resume($scope0_id, "d")}<button type=button${_attr_class([findIconBtn, keybar && "_eO"])} title="Next match"${_attr("disabled", !canStep)} tabindex=${open ? "0" : "-1"}>`);
|
|
16737
16778
|
icon_arrow_down_default({ size: 14 });
|
|
16738
|
-
_html(`</button>${_el_resume($scope0_id, "f")}<button type=button${_attr_class([findIconBtn, keybar && "
|
|
16779
|
+
_html(`</button>${_el_resume($scope0_id, "f")}<button type=button${_attr_class([findIconBtn, keybar && "_eO"])} title="Close find" tabindex=${open ? "0" : "-1"}>`);
|
|
16739
16780
|
icon_xmark_default({ size: 14 });
|
|
16740
16781
|
_html(`</button>${_el_resume($scope0_id, "h")}</div>${_el_resume($scope0_id, "b", _serialize_guard($scope0_reason, 2))}</div>${_el_resume($scope0_id, "a")}`);
|
|
16741
16782
|
const $return = focusInput;
|
|
@@ -16886,7 +16927,7 @@ var term_default = _template("I", (input) => {
|
|
|
16886
16927
|
}
|
|
16887
16928
|
}, "I9", $scope0_id);
|
|
16888
16929
|
input.keys;
|
|
16889
|
-
_html(`<div${_attr("hidden", !onTermPage)}${_attr_class("
|
|
16930
|
+
_html(`<div${_attr("hidden", !onTermPage)}${_attr_class("_fn")}><div${_attr_class("_fo")}></div>${_el_resume($scope0_id, "b")}`);
|
|
16890
16931
|
_if(() => {
|
|
16891
16932
|
if (findOpen) {
|
|
16892
16933
|
const $scope4_id = _scope_id();
|
|
@@ -16913,7 +16954,7 @@ var term_default = _template("I", (input) => {
|
|
|
16913
16954
|
_if(() => {
|
|
16914
16955
|
if (uploading) {
|
|
16915
16956
|
const $scope5_id = _scope_id();
|
|
16916
|
-
_html(`<div${_attr_class("
|
|
16957
|
+
_html(`<div${_attr_class("_fu")}>uploading…</div>`);
|
|
16917
16958
|
writeScope($scope5_id, {});
|
|
16918
16959
|
return 0;
|
|
16919
16960
|
}
|
|
@@ -16921,7 +16962,7 @@ var term_default = _template("I", (input) => {
|
|
|
16921
16962
|
_if(() => {
|
|
16922
16963
|
if (copiedFlash) {
|
|
16923
16964
|
const $scope6_id = _scope_id();
|
|
16924
|
-
_html(`<div${_attr_class("
|
|
16965
|
+
_html(`<div${_attr_class("_ft")}>Copied</div>`);
|
|
16925
16966
|
writeScope($scope6_id, {});
|
|
16926
16967
|
return 0;
|
|
16927
16968
|
}
|
|
@@ -16930,7 +16971,7 @@ var term_default = _template("I", (input) => {
|
|
|
16930
16971
|
_if(() => {
|
|
16931
16972
|
if (trapOpen) {
|
|
16932
16973
|
const $scope3_id = _scope_id();
|
|
16933
|
-
_html(`<div${_attr_class("
|
|
16974
|
+
_html(`<div${_attr_class("_fv")}><div${_attr_class("_fw")}><p${_attr_class("_fx")}>Long-press the field below and choose Paste</p><input placeholder="Paste here…">${_el_resume($scope3_id, "d")}<button${_attr_class("_q")}>Cancel</button>${_el_resume($scope3_id, "e")}</div>${_el_resume($scope3_id, "b")}</div>${_el_resume($scope3_id, "a")}`);
|
|
16934
16975
|
_script($scope3_id, "I16");
|
|
16935
16976
|
_script($scope3_id, "I17");
|
|
16936
16977
|
writeScope($scope3_id, {});
|
|
@@ -17192,7 +17233,7 @@ var work_view_default = _template("N", (input) => {
|
|
|
17192
17233
|
toggleDiff();
|
|
17193
17234
|
}
|
|
17194
17235
|
}, "N14", $scope0_id);
|
|
17195
|
-
_html(`<div${_attr_class(["
|
|
17236
|
+
_html(`<div${_attr_class(["_cn", { ["_cm"]: !input.active }])}><div${_attr_class("_co")}>`);
|
|
17196
17237
|
_if(() => {
|
|
17197
17238
|
if (error) {
|
|
17198
17239
|
const $scope8_id = _scope_id();
|
|
@@ -17215,7 +17256,7 @@ var work_view_default = _template("N", (input) => {
|
|
|
17215
17256
|
_if(() => {
|
|
17216
17257
|
if (diffMounted && ws) {
|
|
17217
17258
|
const $scope1_id = _scope_id();
|
|
17218
|
-
_html(`<div${_attr_class("
|
|
17259
|
+
_html(`<div${_attr_class("_cp")}${_attr_or("data-live", view === "diff", "")}${_attr("inert", view !== "diff")}>`);
|
|
17219
17260
|
_set_serialize_reason({
|
|
17220
17261
|
0: $sg__input_workspace,
|
|
17221
17262
|
1: $sg__input_workspace,
|
|
@@ -17277,7 +17318,7 @@ var work_view_default = _template("N", (input) => {
|
|
|
17277
17318
|
_if(() => {
|
|
17278
17319
|
if (manageMounted && ws) {
|
|
17279
17320
|
const $scope2_id = _scope_id();
|
|
17280
|
-
_html(`<div${_attr_class("
|
|
17321
|
+
_html(`<div${_attr_class("_cp")}${_attr_or("data-live", view === "manage", "")}${_attr("inert", view !== "manage")}>`);
|
|
17281
17322
|
_set_serialize_reason({
|
|
17282
17323
|
0: $sg__input_workspace,
|
|
17283
17324
|
1: _serialize_guard($scope0_reason, 9)
|
|
@@ -17303,7 +17344,7 @@ var work_view_default = _template("N", (input) => {
|
|
|
17303
17344
|
_if(() => {
|
|
17304
17345
|
if (settingsMounted) {
|
|
17305
17346
|
const $scope3_id = _scope_id();
|
|
17306
|
-
_html(`<div${_attr_class("
|
|
17347
|
+
_html(`<div${_attr_class("_cp")}${_attr_or("data-live", view === "settings", "")}${_attr("inert", view !== "settings")}>`);
|
|
17307
17348
|
_set_serialize_reason({
|
|
17308
17349
|
0: _serialize_guard($scope0_reason, 0),
|
|
17309
17350
|
1: $sg__input_workspace,
|
|
@@ -17345,7 +17386,7 @@ var work_view_default = _template("N", (input) => {
|
|
|
17345
17386
|
_if(() => {
|
|
17346
17387
|
if (newMounted) {
|
|
17347
17388
|
const $scope4_id = _scope_id();
|
|
17348
|
-
_html(`<div${_attr_class("
|
|
17389
|
+
_html(`<div${_attr_class("_cp")}${_attr_or("data-live", view === "new", "")}${_attr("inert", view !== "new")}>`);
|
|
17349
17390
|
_set_serialize_reason({
|
|
17350
17391
|
0: 1,
|
|
17351
17392
|
1: _serialize_guard($scope0_reason, 13),
|
|
@@ -17370,13 +17411,13 @@ var work_view_default = _template("N", (input) => {
|
|
|
17370
17411
|
return 0;
|
|
17371
17412
|
}
|
|
17372
17413
|
}, $scope0_id, "g", 1, 1, 1, 0, 1);
|
|
17373
|
-
_html(`<div${_attr_class("
|
|
17414
|
+
_html(`<div${_attr_class("_cq")}${_attr("inert", view !== "term")}>`);
|
|
17374
17415
|
_if(() => {
|
|
17375
17416
|
if (ws && shownSessions) {
|
|
17376
17417
|
const $scope5_id = _scope_id();
|
|
17377
17418
|
_for_of(input.active ? shownSessions : shownSessions.filter((x) => x.id === curTab), (s) => {
|
|
17378
17419
|
const $scope6_id = _scope_id();
|
|
17379
|
-
_html(`<div${_attr_class("
|
|
17420
|
+
_html(`<div${_attr_class("_cr")}${_attr_or("data-live", s.id === curTab, "")}${_attr("inert", s.id !== curTab)}>`);
|
|
17380
17421
|
_set_serialize_reason(2);
|
|
17381
17422
|
const $childScope5 = _peek_scope_id();
|
|
17382
17423
|
term_default({
|
|
@@ -17402,7 +17443,7 @@ var work_view_default = _template("N", (input) => {
|
|
|
17402
17443
|
_if(() => {
|
|
17403
17444
|
if (!shownSessions.length && view === "term") {
|
|
17404
17445
|
const $scope7_id = _scope_id();
|
|
17405
|
-
_html(`<div${_attr_class("
|
|
17446
|
+
_html(`<div${_attr_class("_cj")}><span>No sessions in this workspace.</span><button${_attr_class(["_q", "_r"])}${_attr("disabled", spawning)}>${_text_resume($scope7_id, "c", spawning ? "Starting…" : `Start ${input.preferred || "shell"}`)}</button>${_el_resume($scope7_id, "b")}</div>`);
|
|
17406
17447
|
_script($scope7_id, "N39");
|
|
17407
17448
|
_subscribe($spawning__closures, _subscribe($si__input_preferred && $input_preferred__closures, writeScope($scope7_id, {})));
|
|
17408
17449
|
return 0;
|
|
@@ -17412,7 +17453,7 @@ var work_view_default = _template("N", (input) => {
|
|
|
17412
17453
|
return 0;
|
|
17413
17454
|
} else if (ws) {
|
|
17414
17455
|
const $scope10_id = _scope_id();
|
|
17415
|
-
_html(`<p${_attr_class("
|
|
17456
|
+
_html(`<p${_attr_class("_cj")}>Loading sessions…</p>`);
|
|
17416
17457
|
writeScope($scope10_id, {});
|
|
17417
17458
|
return 1;
|
|
17418
17459
|
}
|
|
@@ -17531,8 +17572,8 @@ _template("yb", (input) => {
|
|
|
17531
17572
|
});
|
|
17532
17573
|
_serialize_if($scope0_reason, 0) && writeScope($scope0_id, { a: _existing_scope($childScope) });
|
|
17533
17574
|
});
|
|
17534
|
-
var sessOpen = "
|
|
17535
|
-
var sessRename = "
|
|
17575
|
+
var sessOpen = "_er _I";
|
|
17576
|
+
var sessRename = "_ev _J";
|
|
17536
17577
|
//#endregion
|
|
17537
17578
|
//#region src/tags/usage-pcts.marko
|
|
17538
17579
|
var usage_pcts_default = _template("M", (input) => {
|
|
@@ -17544,22 +17585,22 @@ var usage_pcts_default = _template("M", (input) => {
|
|
|
17544
17585
|
if (windows.length) {
|
|
17545
17586
|
const $scope1_id = _scope_id();
|
|
17546
17587
|
_html(`<span${_attr_class([
|
|
17547
|
-
"
|
|
17588
|
+
"_hF",
|
|
17548
17589
|
input.class,
|
|
17549
|
-
{ ["
|
|
17590
|
+
{ ["_hG"]: agent.stale_seconds != null }
|
|
17550
17591
|
])}${agent.stale_seconds != null ? _attr("title", `${agent.note || "provider unreachable"}; last cached numbers`) : " title=\"Plan usage\""}>`);
|
|
17551
17592
|
_for_of(windows, (win$1, i) => {
|
|
17552
17593
|
const $scope2_id = _scope_id();
|
|
17553
|
-
_html(`<span${_attr_class("
|
|
17594
|
+
_html(`<span${_attr_class("_hH")}>`);
|
|
17554
17595
|
_if(() => {
|
|
17555
17596
|
if (i) {
|
|
17556
17597
|
const $scope3_id = _scope_id();
|
|
17557
|
-
_html(`<span${_attr_class("
|
|
17598
|
+
_html(`<span${_attr_class("_hK")} aria-hidden=true>·</span>`);
|
|
17558
17599
|
$si__input_agent && writeScope($scope3_id, {});
|
|
17559
17600
|
return 0;
|
|
17560
17601
|
}
|
|
17561
17602
|
}, $scope2_id, "b", $sg__input_agent, $sg__input_agent, $sg__input_agent, 0, 1);
|
|
17562
|
-
_html(`<span${_attr_class("
|
|
17603
|
+
_html(`<span${_attr_class("_hI")}>${_text_resume($scope2_id, "d", win$1.window, $sg__input_agent)}</span><span${_attr_class(["_hJ", win$1.used_percent >= 90 ? "_fR" : win$1.used_percent >= 70 ? "_fQ" : win$1.used_percent >= 40 ? "_fP" : "_fO"])}>${_text_resume($scope2_id, "f", pctText(win$1.used_percent), $sg__input_agent)}</span>${_el_resume($scope2_id, "e", $sg__input_agent)}</span>`);
|
|
17563
17604
|
$si__input_agent && writeScope($scope2_id, {});
|
|
17564
17605
|
}, "window", $scope1_id, "a", $sg__input_agent, $sg__input_agent__OR__input_class, $sg__input_agent, "</span>", 1);
|
|
17565
17606
|
$si__input_agent__OR__input_class && writeScope($scope1_id, { _: _scope_with_id($scope0_id) });
|
|
@@ -17601,7 +17642,7 @@ _template("n", (input) => {
|
|
|
17601
17642
|
align: "center",
|
|
17602
17643
|
gap: 8
|
|
17603
17644
|
}), "n2", $scope0_id);
|
|
17604
|
-
_html(`<button${_attr_class([kbtn, "
|
|
17645
|
+
_html(`<button${_attr_class([kbtn, "_en"])} title=${input.onTermPage ? "Sessions" : "\"Back to session\""}${input.onTermPage ? _attr("popovertarget", popId) : ""}>`);
|
|
17605
17646
|
_set_serialize_reason({
|
|
17606
17647
|
1: $sg__input_sessions__OR__input_sessionId,
|
|
17607
17648
|
2: $sg__input_sessions__OR__input_sessionId
|
|
@@ -17615,11 +17656,11 @@ _template("n", (input) => {
|
|
|
17615
17656
|
"_A",
|
|
17616
17657
|
"_bb",
|
|
17617
17658
|
phase[sessionPhase(current$2?.state)]
|
|
17618
|
-
])}></span>${_el_resume($scope0_id, "c", $sg__input_sessions__OR__input_sessionId)}</button>${_el_resume($scope0_id, "a")}<div${_attr("id", popId)} popover=auto${_attr_class(["_9", "
|
|
17659
|
+
])}></span>${_el_resume($scope0_id, "c", $sg__input_sessions__OR__input_sessionId)}</button>${_el_resume($scope0_id, "a")}<div${_attr("id", popId)} popover=auto${_attr_class(["_9", "_eo"])}>`);
|
|
17619
17660
|
_for_of(input.sessions, (s) => {
|
|
17620
17661
|
const $scope1_id = _scope_id();
|
|
17621
17662
|
const $for_content__s_agent__closures = /* @__PURE__ */ new Set();
|
|
17622
|
-
_html(`<div${_attr_class(["
|
|
17663
|
+
_html(`<div${_attr_class(["_eq", { ["_ep"]: s.id === input.sessionId }])}>`);
|
|
17623
17664
|
_if(() => {
|
|
17624
17665
|
if (renamingId === s.id) {
|
|
17625
17666
|
const $scope5_id = _scope_id();
|
|
@@ -17651,7 +17692,7 @@ _template("n", (input) => {
|
|
|
17651
17692
|
agent: activeAgent(s),
|
|
17652
17693
|
size: 14
|
|
17653
17694
|
});
|
|
17654
|
-
_html(`<span${_attr_class("
|
|
17695
|
+
_html(`<span${_attr_class("_es")}><span${_attr_class("_eu")}>${_text_resume($scope2_id, "f", s.title || activeAgent(s), $sg__input_sessions)}</span>`);
|
|
17655
17696
|
_if(() => {
|
|
17656
17697
|
if (s.id === input.sessionId) {
|
|
17657
17698
|
const $scope7_id = _scope_id();
|
|
@@ -17663,7 +17704,7 @@ _template("n", (input) => {
|
|
|
17663
17704
|
const $childScope4 = _peek_scope_id();
|
|
17664
17705
|
usage_pcts_default({
|
|
17665
17706
|
agent: plan,
|
|
17666
|
-
class: "
|
|
17707
|
+
class: "_et"
|
|
17667
17708
|
});
|
|
17668
17709
|
writeScope($scope8_id, { a: _existing_scope($childScope4) });
|
|
17669
17710
|
return 0;
|
|
@@ -17680,7 +17721,7 @@ _template("n", (input) => {
|
|
|
17680
17721
|
_if(() => {
|
|
17681
17722
|
if (input.onRenameSession) {
|
|
17682
17723
|
const $scope6_id = _scope_id();
|
|
17683
|
-
_html(`<button${_attr_class(["
|
|
17724
|
+
_html(`<button${_attr_class(["_ew", "_ex"])} title="Rename session">`);
|
|
17684
17725
|
icon_edit_default({ size: 12 });
|
|
17685
17726
|
_html(`</button>${_el_resume($scope6_id, "a")}`);
|
|
17686
17727
|
_script($scope6_id, "n5");
|
|
@@ -17692,7 +17733,7 @@ _template("n", (input) => {
|
|
|
17692
17733
|
if (input.onCloseSession) {
|
|
17693
17734
|
const $scope3_id = _scope_id();
|
|
17694
17735
|
arm_button_default({
|
|
17695
|
-
class: ["
|
|
17736
|
+
class: ["_ew", "_7"],
|
|
17696
17737
|
title: "Close session",
|
|
17697
17738
|
armedTitle: "Close?",
|
|
17698
17739
|
onFire: _resume(function() {
|
|
@@ -17724,7 +17765,7 @@ _template("n", (input) => {
|
|
|
17724
17765
|
m: $si__input_sessions && $for_content__s_agent__closures
|
|
17725
17766
|
});
|
|
17726
17767
|
}, "id", $scope0_id, "e", 1, $sg__input_sessions, $sg__input_sessions__OR__input_agents, 0, 1);
|
|
17727
|
-
_html(`<div${_attr_class("
|
|
17768
|
+
_html(`<div${_attr_class("_ey")}><span${_attr_class("_ez")}>New session</span><div${_attr_class("_eA")}>`);
|
|
17728
17769
|
_for_of(["shell", ...input.agents], (agent) => {
|
|
17729
17770
|
const $scope4_id = _scope_id();
|
|
17730
17771
|
_html(`<button${_attr_class(iconBtnRow)}${_attr("title", `New ${agent} session`)}>`);
|
|
@@ -18520,7 +18561,7 @@ function head2(context) {
|
|
|
18520
18561
|
//#region src/routes/_app/settings/+handler.ts
|
|
18521
18562
|
/** Settings is about the doctor snapshot, so this page waits for it and
|
|
18522
18563
|
* server-renders every section (the shell never streams, see CLAUDE.md). */
|
|
18523
|
-
var GET$
|
|
18564
|
+
var GET$27 = Run.GET(async (_ctx, next) => {
|
|
18524
18565
|
return next({ setup: await getSetup().catch(() => null) });
|
|
18525
18566
|
});
|
|
18526
18567
|
//#endregion
|
|
@@ -18545,12 +18586,12 @@ var settings_server_entry_default = withPageAssets(_template("AA0T2xt", (input)
|
|
|
18545
18586
|
}, 1), flush$1, "AA0T2xt");
|
|
18546
18587
|
//#endregion
|
|
18547
18588
|
//#region __marko-run__settings.js
|
|
18548
|
-
var getHandler$
|
|
18549
|
-
var get3_options = normalizeOptions("GET", mware3, getHandler$
|
|
18589
|
+
var getHandler$27 = normalizeHandler(GET$27, "GET");
|
|
18590
|
+
var get3_options = normalizeOptions("GET", mware3, getHandler$27);
|
|
18550
18591
|
var head3_options = normalizeOptions("HEAD", mware3);
|
|
18551
18592
|
function get3(context) {
|
|
18552
18593
|
const __page = (data) => render$1(context, settings_server_entry_default, {}, data);
|
|
18553
|
-
const __getHandler = (data) => call(getHandler$
|
|
18594
|
+
const __getHandler = (data) => call(getHandler$27, __page, context, data);
|
|
18554
18595
|
return call(mware3, __getHandler, context);
|
|
18555
18596
|
}
|
|
18556
18597
|
function head3(context) {
|
|
@@ -19539,7 +19580,7 @@ async function restore(m, sel) {
|
|
|
19539
19580
|
}
|
|
19540
19581
|
//#endregion
|
|
19541
19582
|
//#region __marko-run__api.backup.export.js
|
|
19542
|
-
var getHandler$
|
|
19583
|
+
var getHandler$26 = normalizeHandler(Run.GET(() => {
|
|
19543
19584
|
const body = JSON.stringify(encodeManifest(buildManifest()), null, 1) + "\n";
|
|
19544
19585
|
return new Response(body, { headers: {
|
|
19545
19586
|
"content-type": "application/json; charset=utf-8",
|
|
@@ -19547,10 +19588,10 @@ var getHandler$25 = normalizeHandler(Run.GET(() => {
|
|
|
19547
19588
|
"cache-control": "no-store"
|
|
19548
19589
|
} });
|
|
19549
19590
|
}), "GET");
|
|
19550
|
-
var get8_options = normalizeOptions("GET", mware11, getHandler$
|
|
19591
|
+
var get8_options = normalizeOptions("GET", mware11, getHandler$26);
|
|
19551
19592
|
var head8_options = normalizeOptions("HEAD", mware11);
|
|
19552
19593
|
function get8(context) {
|
|
19553
|
-
const __getHandler = (data) => call(getHandler$
|
|
19594
|
+
const __getHandler = (data) => call(getHandler$26, noContent, context, data);
|
|
19554
19595
|
return call(mware11, __getHandler, context);
|
|
19555
19596
|
}
|
|
19556
19597
|
function head8(context) {
|
|
@@ -19688,13 +19729,13 @@ ensureAllPushHooks();
|
|
|
19688
19729
|
resumePendingWorkspaces();
|
|
19689
19730
|
//#endregion
|
|
19690
19731
|
//#region __marko-run__api.boot.js
|
|
19691
|
-
var getHandler$
|
|
19732
|
+
var getHandler$25 = normalizeHandler(Run.GET(() => {
|
|
19692
19733
|
return Response.json({ boot: BOOT_ID }, { headers: { "cache-control": "no-store" } });
|
|
19693
19734
|
}), "GET");
|
|
19694
|
-
var get12_options = normalizeOptions("GET", mware11, getHandler$
|
|
19735
|
+
var get12_options = normalizeOptions("GET", mware11, getHandler$25);
|
|
19695
19736
|
var head12_options = normalizeOptions("HEAD", mware11);
|
|
19696
19737
|
function get12(context) {
|
|
19697
|
-
const __getHandler = (data) => call(getHandler$
|
|
19738
|
+
const __getHandler = (data) => call(getHandler$25, noContent, context, data);
|
|
19698
19739
|
return call(mware11, __getHandler, context);
|
|
19699
19740
|
}
|
|
19700
19741
|
function head12(context) {
|
|
@@ -19702,11 +19743,11 @@ function head12(context) {
|
|
|
19702
19743
|
}
|
|
19703
19744
|
//#endregion
|
|
19704
19745
|
//#region __marko-run__api.events.js
|
|
19705
|
-
var getHandler$
|
|
19706
|
-
var get13_options = normalizeOptions("GET", mware11, getHandler$
|
|
19746
|
+
var getHandler$24 = normalizeHandler(Run.GET(() => Response.json({ error: "events bus is websocket — connect with ws(s)://host/api/events" }, { status: 410 })), "GET");
|
|
19747
|
+
var get13_options = normalizeOptions("GET", mware11, getHandler$24);
|
|
19707
19748
|
var head13_options = normalizeOptions("HEAD", mware11);
|
|
19708
19749
|
function get13(context) {
|
|
19709
|
-
const __getHandler = (data) => call(getHandler$
|
|
19750
|
+
const __getHandler = (data) => call(getHandler$24, noContent, context, data);
|
|
19710
19751
|
return call(mware11, __getHandler, context);
|
|
19711
19752
|
}
|
|
19712
19753
|
function head13(context) {
|
|
@@ -19737,14 +19778,14 @@ function post14(context) {
|
|
|
19737
19778
|
}
|
|
19738
19779
|
//#endregion
|
|
19739
19780
|
//#region __marko-run__api.instance.icon.js
|
|
19740
|
-
var getHandler$
|
|
19781
|
+
var getHandler$23 = normalizeHandler(Run.GET({ search: (value) => ({ v: typeof value.v === "string" ? value.v : "" }) }, (ctx) => new Response(iconSvg(ctx.search.v && normalizeAccent(`#${ctx.search.v}`) || getInstance().accent), { headers: {
|
|
19741
19782
|
"content-type": "image/svg+xml",
|
|
19742
19783
|
"cache-control": "public, max-age=3600"
|
|
19743
19784
|
} })), "GET");
|
|
19744
|
-
var get15_options = normalizeOptions("GET", mware11, getHandler$
|
|
19785
|
+
var get15_options = normalizeOptions("GET", mware11, getHandler$23);
|
|
19745
19786
|
var head15_options = normalizeOptions("HEAD", mware11);
|
|
19746
19787
|
function get15(context) {
|
|
19747
|
-
const __getHandler = (data) => call(getHandler$
|
|
19788
|
+
const __getHandler = (data) => call(getHandler$23, noContent, context, data);
|
|
19748
19789
|
return call(mware11, __getHandler, context);
|
|
19749
19790
|
}
|
|
19750
19791
|
function head15(context) {
|
|
@@ -19953,14 +19994,14 @@ function iconPng(art, accent) {
|
|
|
19953
19994
|
}
|
|
19954
19995
|
//#endregion
|
|
19955
19996
|
//#region __marko-run__api.instance.icon-png.js
|
|
19956
|
-
var getHandler$
|
|
19997
|
+
var getHandler$22 = normalizeHandler(Run.GET({ search: (value) => ({ art: typeof value.art === "string" && isIconArt(value.art) ? value.art : "512" }) }, (ctx) => new Response(iconPng(ctx.search.art, getInstance().accent), { headers: {
|
|
19957
19998
|
"content-type": "image/png",
|
|
19958
19999
|
"cache-control": "public, max-age=3600"
|
|
19959
20000
|
} })), "GET");
|
|
19960
|
-
var get16_options = normalizeOptions("GET", mware11, getHandler$
|
|
20001
|
+
var get16_options = normalizeOptions("GET", mware11, getHandler$22);
|
|
19961
20002
|
var head16_options = normalizeOptions("HEAD", mware11);
|
|
19962
20003
|
function get16(context) {
|
|
19963
|
-
const __getHandler = (data) => call(getHandler$
|
|
20004
|
+
const __getHandler = (data) => call(getHandler$22, noContent, context, data);
|
|
19964
20005
|
return call(mware11, __getHandler, context);
|
|
19965
20006
|
}
|
|
19966
20007
|
function head16(context) {
|
|
@@ -19968,14 +20009,14 @@ function head16(context) {
|
|
|
19968
20009
|
}
|
|
19969
20010
|
//#endregion
|
|
19970
20011
|
//#region __marko-run__api.instance.manifest.js
|
|
19971
|
-
var getHandler$
|
|
20012
|
+
var getHandler$21 = normalizeHandler(Run.GET(() => Response.json(manifest(getInstance()), { headers: {
|
|
19972
20013
|
"content-type": "application/manifest+json; charset=UTF-8",
|
|
19973
20014
|
"cache-control": "no-cache"
|
|
19974
20015
|
} })), "GET");
|
|
19975
|
-
var get17_options = normalizeOptions("GET", mware11, getHandler$
|
|
20016
|
+
var get17_options = normalizeOptions("GET", mware11, getHandler$21);
|
|
19976
20017
|
var head17_options = normalizeOptions("HEAD", mware11);
|
|
19977
20018
|
function get17(context) {
|
|
19978
|
-
const __getHandler = (data) => call(getHandler$
|
|
20019
|
+
const __getHandler = (data) => call(getHandler$21, noContent, context, data);
|
|
19979
20020
|
return call(mware11, __getHandler, context);
|
|
19980
20021
|
}
|
|
19981
20022
|
function head17(context) {
|
|
@@ -19989,7 +20030,7 @@ var Pref = /* @__PURE__ */ object({
|
|
|
19989
20030
|
});
|
|
19990
20031
|
/** Per-workspace UI prefs — the workspace id is the suffix after the last `:`. */
|
|
19991
20032
|
var OWNED = /^(?:tab|diff-filter|diff-pos):(.+)$/;
|
|
19992
|
-
var GET$
|
|
20033
|
+
var GET$20 = Run.GET(() => Response.json(allPrefs()));
|
|
19993
20034
|
//#endregion
|
|
19994
20035
|
//#region __marko-run__api.prefs.js
|
|
19995
20036
|
var postHandler$14 = normalizeHandler(Run.POST({ json: Pref }, async (ctx) => {
|
|
@@ -19999,12 +20040,12 @@ var postHandler$14 = normalizeHandler(Run.POST({ json: Pref }, async (ctx) => {
|
|
|
19999
20040
|
setPref(body.key, body.value);
|
|
20000
20041
|
return Response.json({ ok: true });
|
|
20001
20042
|
}), "POST");
|
|
20002
|
-
var getHandler$
|
|
20003
|
-
var get18_options = normalizeOptions("GET", mware11, getHandler$
|
|
20043
|
+
var getHandler$20 = normalizeHandler(GET$20, "GET");
|
|
20044
|
+
var get18_options = normalizeOptions("GET", mware11, getHandler$20);
|
|
20004
20045
|
var head18_options = normalizeOptions("HEAD", mware11);
|
|
20005
20046
|
var post18_options = normalizeOptions("POST", mware11, postHandler$14);
|
|
20006
20047
|
function get18(context) {
|
|
20007
|
-
const __getHandler = (data) => call(getHandler$
|
|
20048
|
+
const __getHandler = (data) => call(getHandler$20, noContent, context, data);
|
|
20008
20049
|
return call(mware11, __getHandler, context);
|
|
20009
20050
|
}
|
|
20010
20051
|
function head18(context) {
|
|
@@ -20032,14 +20073,14 @@ function delete19(context) {
|
|
|
20032
20073
|
}
|
|
20033
20074
|
//#endregion
|
|
20034
20075
|
//#region __marko-run__api.progress.js
|
|
20035
|
-
var getHandler$
|
|
20076
|
+
var getHandler$19 = normalizeHandler(Run.GET({ search: (value) => ({
|
|
20036
20077
|
since: typeof value.since === "string" ? Number(value.since) : void 0,
|
|
20037
20078
|
op: typeof value.op === "string" && value.op ? value.op : void 0
|
|
20038
20079
|
}) }, (ctx) => Response.json(progressSince(ctx.search.since, ctx.search.op))), "GET");
|
|
20039
|
-
var get20_options = normalizeOptions("GET", mware11, getHandler$
|
|
20080
|
+
var get20_options = normalizeOptions("GET", mware11, getHandler$19);
|
|
20040
20081
|
var head20_options = normalizeOptions("HEAD", mware11);
|
|
20041
20082
|
function get20(context) {
|
|
20042
|
-
const __getHandler = (data) => call(getHandler$
|
|
20083
|
+
const __getHandler = (data) => call(getHandler$19, noContent, context, data);
|
|
20043
20084
|
return call(mware11, __getHandler, context);
|
|
20044
20085
|
}
|
|
20045
20086
|
function head20(context) {
|
|
@@ -20047,7 +20088,7 @@ function head20(context) {
|
|
|
20047
20088
|
}
|
|
20048
20089
|
//#endregion
|
|
20049
20090
|
//#region src/routes/api/push/+handler.ts
|
|
20050
|
-
var GET$
|
|
20091
|
+
var GET$18 = Run.GET(() => Response.json({ publicKey: pushPublicKey() }));
|
|
20051
20092
|
var Subscription = /* @__PURE__ */ object({
|
|
20052
20093
|
endpoint: /* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ url()),
|
|
20053
20094
|
keys: /* @__PURE__ */ object({
|
|
@@ -20066,13 +20107,13 @@ var deleteHandler$3 = normalizeHandler(Run.DELETE({ search: (value) => ({ endpoi
|
|
|
20066
20107
|
return Response.json({ ok: true });
|
|
20067
20108
|
}), "DELETE");
|
|
20068
20109
|
var postHandler$13 = normalizeHandler(POST$13, "POST");
|
|
20069
|
-
var getHandler$
|
|
20070
|
-
var get21_options = normalizeOptions("GET", mware11, getHandler$
|
|
20110
|
+
var getHandler$18 = normalizeHandler(GET$18, "GET");
|
|
20111
|
+
var get21_options = normalizeOptions("GET", mware11, getHandler$18);
|
|
20071
20112
|
var head21_options = normalizeOptions("HEAD", mware11);
|
|
20072
20113
|
var post21_options = normalizeOptions("POST", mware11, postHandler$13);
|
|
20073
20114
|
var delete21_options = normalizeOptions("DELETE", mware11, deleteHandler$3);
|
|
20074
20115
|
function get21(context) {
|
|
20075
|
-
const __getHandler = (data) => call(getHandler$
|
|
20116
|
+
const __getHandler = (data) => call(getHandler$18, noContent, context, data);
|
|
20076
20117
|
return call(mware11, __getHandler, context);
|
|
20077
20118
|
}
|
|
20078
20119
|
function head21(context) {
|
|
@@ -20117,11 +20158,11 @@ function post22(context) {
|
|
|
20117
20158
|
}
|
|
20118
20159
|
//#endregion
|
|
20119
20160
|
//#region __marko-run__api.repos.js
|
|
20120
|
-
var getHandler$
|
|
20121
|
-
var get23_options = normalizeOptions("GET", mware11, getHandler$
|
|
20161
|
+
var getHandler$17 = normalizeHandler(Run.GET({ search: (value) => ({ refresh: "refresh" in value }) }, async (ctx) => Response.json(await repoCatalog(ctx.search.refresh))), "GET");
|
|
20162
|
+
var get23_options = normalizeOptions("GET", mware11, getHandler$17);
|
|
20122
20163
|
var head23_options = normalizeOptions("HEAD", mware11);
|
|
20123
20164
|
function get23(context) {
|
|
20124
|
-
const __getHandler = (data) => call(getHandler$
|
|
20165
|
+
const __getHandler = (data) => call(getHandler$17, noContent, context, data);
|
|
20125
20166
|
return call(mware11, __getHandler, context);
|
|
20126
20167
|
}
|
|
20127
20168
|
function head23(context) {
|
|
@@ -20129,7 +20170,7 @@ function head23(context) {
|
|
|
20129
20170
|
}
|
|
20130
20171
|
//#endregion
|
|
20131
20172
|
//#region __marko-run__api.repos.branches.js
|
|
20132
|
-
var getHandler$
|
|
20173
|
+
var getHandler$16 = normalizeHandler(Run.GET({ search: (value) => {
|
|
20133
20174
|
const repo = typeof value.repo === "string" ? value.repo : "";
|
|
20134
20175
|
if (!/^(?:[\w.-]+\/)?[\w.-]+\/[\w.-]+$/.test(repo)) throw httpError(400, "invalid repo");
|
|
20135
20176
|
return {
|
|
@@ -20148,10 +20189,10 @@ var getHandler$15 = normalizeHandler(Run.GET({ search: (value) => {
|
|
|
20148
20189
|
defaultBranch: looked || fromCatalog || null
|
|
20149
20190
|
});
|
|
20150
20191
|
}), "GET");
|
|
20151
|
-
var get24_options = normalizeOptions("GET", mware11, getHandler$
|
|
20192
|
+
var get24_options = normalizeOptions("GET", mware11, getHandler$16);
|
|
20152
20193
|
var head24_options = normalizeOptions("HEAD", mware11);
|
|
20153
20194
|
function get24(context) {
|
|
20154
|
-
const __getHandler = (data) => call(getHandler$
|
|
20195
|
+
const __getHandler = (data) => call(getHandler$16, noContent, context, data);
|
|
20155
20196
|
return call(mware11, __getHandler, context);
|
|
20156
20197
|
}
|
|
20157
20198
|
function head24(context) {
|
|
@@ -20228,7 +20269,7 @@ function snapshot$1() {
|
|
|
20228
20269
|
instance: getInstance()
|
|
20229
20270
|
};
|
|
20230
20271
|
}
|
|
20231
|
-
var GET$
|
|
20272
|
+
var GET$15 = Run.GET(() => Response.json(snapshot$1()));
|
|
20232
20273
|
//#endregion
|
|
20233
20274
|
//#region __marko-run__api.settings.js
|
|
20234
20275
|
var putHandler = normalizeHandler(Run.PUT({ json: Patch }, async (ctx) => {
|
|
@@ -20245,12 +20286,12 @@ var putHandler = normalizeHandler(Run.PUT({ json: Patch }, async (ctx) => {
|
|
|
20245
20286
|
}
|
|
20246
20287
|
return Response.json(snapshot$1());
|
|
20247
20288
|
}), "PUT");
|
|
20248
|
-
var getHandler$
|
|
20249
|
-
var get27_options = normalizeOptions("GET", mware11, getHandler$
|
|
20289
|
+
var getHandler$15 = normalizeHandler(GET$15, "GET");
|
|
20290
|
+
var get27_options = normalizeOptions("GET", mware11, getHandler$15);
|
|
20250
20291
|
var head27_options = normalizeOptions("HEAD", mware11);
|
|
20251
20292
|
var put27_options = normalizeOptions("PUT", mware11, putHandler);
|
|
20252
20293
|
function get27(context) {
|
|
20253
|
-
const __getHandler = (data) => call(getHandler$
|
|
20294
|
+
const __getHandler = (data) => call(getHandler$15, noContent, context, data);
|
|
20254
20295
|
return call(mware11, __getHandler, context);
|
|
20255
20296
|
}
|
|
20256
20297
|
function head27(context) {
|
|
@@ -20262,11 +20303,11 @@ function put27(context) {
|
|
|
20262
20303
|
}
|
|
20263
20304
|
//#endregion
|
|
20264
20305
|
//#region __marko-run__api.setup.js
|
|
20265
|
-
var getHandler$
|
|
20266
|
-
var get28_options = normalizeOptions("GET", mware11, getHandler$
|
|
20306
|
+
var getHandler$14 = normalizeHandler(Run.GET({ search: (value) => ({ refresh: "refresh" in value }) }, async (ctx) => Response.json(await getSetup(ctx.search.refresh))), "GET");
|
|
20307
|
+
var get28_options = normalizeOptions("GET", mware11, getHandler$14);
|
|
20267
20308
|
var head28_options = normalizeOptions("HEAD", mware11);
|
|
20268
20309
|
function get28(context) {
|
|
20269
|
-
const __getHandler = (data) => call(getHandler$
|
|
20310
|
+
const __getHandler = (data) => call(getHandler$14, noContent, context, data);
|
|
20270
20311
|
return call(mware11, __getHandler, context);
|
|
20271
20312
|
}
|
|
20272
20313
|
function head28(context) {
|
|
@@ -20298,11 +20339,11 @@ function post29(context) {
|
|
|
20298
20339
|
}
|
|
20299
20340
|
//#endregion
|
|
20300
20341
|
//#region __marko-run__api.setup.search.js
|
|
20301
|
-
var getHandler$
|
|
20302
|
-
var get30_options = normalizeOptions("GET", mware11, getHandler$
|
|
20342
|
+
var getHandler$13 = normalizeHandler(Run.GET({ search: (value) => ({ q: typeof value.q === "string" ? value.q : "" }) }, async (ctx) => Response.json(await searchMise(ctx.search.q))), "GET");
|
|
20343
|
+
var get30_options = normalizeOptions("GET", mware11, getHandler$13);
|
|
20303
20344
|
var head30_options = normalizeOptions("HEAD", mware11);
|
|
20304
20345
|
function get30(context) {
|
|
20305
|
-
const __getHandler = (data) => call(getHandler$
|
|
20346
|
+
const __getHandler = (data) => call(getHandler$13, noContent, context, data);
|
|
20306
20347
|
return call(mware11, __getHandler, context);
|
|
20307
20348
|
}
|
|
20308
20349
|
function head30(context) {
|
|
@@ -20421,16 +20462,16 @@ function hasSystemdRun() {
|
|
|
20421
20462
|
//#region src/routes/api/setup/self/+handler.ts
|
|
20422
20463
|
/** work's own version, the newest published one, and the self-update
|
|
20423
20464
|
* trigger (POST). `?refresh` re-asks the registry. */
|
|
20424
|
-
var GET$
|
|
20465
|
+
var GET$12 = Run.GET({ search: (value) => ({ refresh: "refresh" in value }) }, async (ctx) => Response.json(await selfInfo(ctx.search.refresh)));
|
|
20425
20466
|
//#endregion
|
|
20426
20467
|
//#region __marko-run__api.setup.self.js
|
|
20427
20468
|
var postHandler$9 = normalizeHandler(Run.POST(async () => Response.json(startSelfUpdate())), "POST");
|
|
20428
|
-
var getHandler$
|
|
20429
|
-
var get31_options = normalizeOptions("GET", mware11, getHandler$
|
|
20469
|
+
var getHandler$12 = normalizeHandler(GET$12, "GET");
|
|
20470
|
+
var get31_options = normalizeOptions("GET", mware11, getHandler$12);
|
|
20430
20471
|
var head31_options = normalizeOptions("HEAD", mware11);
|
|
20431
20472
|
var post31_options = normalizeOptions("POST", mware11, postHandler$9);
|
|
20432
20473
|
function get31(context) {
|
|
20433
|
-
const __getHandler = (data) => call(getHandler$
|
|
20474
|
+
const __getHandler = (data) => call(getHandler$12, noContent, context, data);
|
|
20434
20475
|
return call(mware11, __getHandler, context);
|
|
20435
20476
|
}
|
|
20436
20477
|
function head31(context) {
|
|
@@ -20443,7 +20484,7 @@ function post31(context) {
|
|
|
20443
20484
|
//#endregion
|
|
20444
20485
|
//#region src/routes/api/skills/+handler.ts
|
|
20445
20486
|
/** System-wide skills: what every agent CLI on this machine can see. */
|
|
20446
|
-
var GET$
|
|
20487
|
+
var GET$11 = Run.GET({ search: (value) => ({ refresh: "refresh" in value }) }, async (ctx) => Response.json(await skillsSnapshot(void 0, [], ctx.search.refresh)));
|
|
20447
20488
|
var Body$1 = /* @__PURE__ */ object({
|
|
20448
20489
|
action: /* @__PURE__ */ picklist([
|
|
20449
20490
|
"add",
|
|
@@ -20471,12 +20512,12 @@ var postHandler$8 = normalizeHandler(Run.POST({ json: Body$1 }, async (ctx) => {
|
|
|
20471
20512
|
});
|
|
20472
20513
|
return Response.json(await skillsSnapshot(void 0, [], true));
|
|
20473
20514
|
}), "POST");
|
|
20474
|
-
var getHandler$
|
|
20475
|
-
var get32_options = normalizeOptions("GET", mware11, getHandler$
|
|
20515
|
+
var getHandler$11 = normalizeHandler(GET$11, "GET");
|
|
20516
|
+
var get32_options = normalizeOptions("GET", mware11, getHandler$11);
|
|
20476
20517
|
var head32_options = normalizeOptions("HEAD", mware11);
|
|
20477
20518
|
var post32_options = normalizeOptions("POST", mware11, postHandler$8);
|
|
20478
20519
|
function get32(context) {
|
|
20479
|
-
const __getHandler = (data) => call(getHandler$
|
|
20520
|
+
const __getHandler = (data) => call(getHandler$11, noContent, context, data);
|
|
20480
20521
|
return call(mware11, __getHandler, context);
|
|
20481
20522
|
}
|
|
20482
20523
|
function head32(context) {
|
|
@@ -20488,11 +20529,11 @@ function post32(context) {
|
|
|
20488
20529
|
}
|
|
20489
20530
|
//#endregion
|
|
20490
20531
|
//#region __marko-run__api.skills.search.js
|
|
20491
|
-
var getHandler$
|
|
20492
|
-
var get33_options = normalizeOptions("GET", mware11, getHandler$
|
|
20532
|
+
var getHandler$10 = normalizeHandler(Run.GET({ search: (value) => ({ q: typeof value.q === "string" ? value.q : "" }) }, async (ctx) => Response.json(await searchRegistry(ctx.search.q))), "GET");
|
|
20533
|
+
var get33_options = normalizeOptions("GET", mware11, getHandler$10);
|
|
20493
20534
|
var head33_options = normalizeOptions("HEAD", mware11);
|
|
20494
20535
|
function get33(context) {
|
|
20495
|
-
const __getHandler = (data) => call(getHandler$
|
|
20536
|
+
const __getHandler = (data) => call(getHandler$10, noContent, context, data);
|
|
20496
20537
|
return call(mware11, __getHandler, context);
|
|
20497
20538
|
}
|
|
20498
20539
|
function head33(context) {
|
|
@@ -20500,11 +20541,11 @@ function head33(context) {
|
|
|
20500
20541
|
}
|
|
20501
20542
|
//#endregion
|
|
20502
20543
|
//#region __marko-run__api.status.js
|
|
20503
|
-
var getHandler$
|
|
20504
|
-
var get34_options = normalizeOptions("GET", mware11, getHandler$
|
|
20544
|
+
var getHandler$9 = normalizeHandler(Run.GET({ search: (value) => ({ fresh: "fresh" in value }) }, async (ctx) => Response.json(await (ctx.search.fresh ? statusForAllFresh() : statusForAll()))), "GET");
|
|
20545
|
+
var get34_options = normalizeOptions("GET", mware11, getHandler$9);
|
|
20505
20546
|
var head34_options = normalizeOptions("HEAD", mware11);
|
|
20506
20547
|
function get34(context) {
|
|
20507
|
-
const __getHandler = (data) => call(getHandler$
|
|
20548
|
+
const __getHandler = (data) => call(getHandler$9, noContent, context, data);
|
|
20508
20549
|
return call(mware11, __getHandler, context);
|
|
20509
20550
|
}
|
|
20510
20551
|
function head34(context) {
|
|
@@ -20512,11 +20553,11 @@ function head34(context) {
|
|
|
20512
20553
|
}
|
|
20513
20554
|
//#endregion
|
|
20514
20555
|
//#region __marko-run__api.usage.js
|
|
20515
|
-
var getHandler$
|
|
20516
|
-
var get35_options = normalizeOptions("GET", mware11, getHandler$
|
|
20556
|
+
var getHandler$8 = normalizeHandler(Run.GET({ search: (value) => ({ refresh: "refresh" in value }) }, async (ctx) => Response.json(await usage(ctx.search.refresh))), "GET");
|
|
20557
|
+
var get35_options = normalizeOptions("GET", mware11, getHandler$8);
|
|
20517
20558
|
var head35_options = normalizeOptions("HEAD", mware11);
|
|
20518
20559
|
function get35(context) {
|
|
20519
|
-
const __getHandler = (data) => call(getHandler$
|
|
20560
|
+
const __getHandler = (data) => call(getHandler$8, noContent, context, data);
|
|
20520
20561
|
return call(mware11, __getHandler, context);
|
|
20521
20562
|
}
|
|
20522
20563
|
function head35(context) {
|
|
@@ -20534,7 +20575,7 @@ var CreateWorkspace = /* @__PURE__ */ object({
|
|
|
20534
20575
|
opId: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ maxLength(40))),
|
|
20535
20576
|
join: /* @__PURE__ */ optional(/* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ trim(), /* @__PURE__ */ maxLength(200)))
|
|
20536
20577
|
});
|
|
20537
|
-
var GET$
|
|
20578
|
+
var GET$7 = Run.GET(() => {
|
|
20538
20579
|
return Response.json(listWorkspaces());
|
|
20539
20580
|
});
|
|
20540
20581
|
//#endregion
|
|
@@ -20553,12 +20594,12 @@ var postHandler$7 = normalizeHandler(Run.POST({ json: CreateWorkspace }, async (
|
|
|
20553
20594
|
throw err;
|
|
20554
20595
|
}
|
|
20555
20596
|
}), "POST");
|
|
20556
|
-
var getHandler$
|
|
20557
|
-
var get36_options = normalizeOptions("GET", mware11, getHandler$
|
|
20597
|
+
var getHandler$7 = normalizeHandler(GET$7, "GET");
|
|
20598
|
+
var get36_options = normalizeOptions("GET", mware11, getHandler$7);
|
|
20558
20599
|
var head36_options = normalizeOptions("HEAD", mware11);
|
|
20559
20600
|
var post36_options = normalizeOptions("POST", mware11, postHandler$7);
|
|
20560
20601
|
function get36(context) {
|
|
20561
|
-
const __getHandler = (data) => call(getHandler$
|
|
20602
|
+
const __getHandler = (data) => call(getHandler$7, noContent, context, data);
|
|
20562
20603
|
return call(mware11, __getHandler, context);
|
|
20563
20604
|
}
|
|
20564
20605
|
function head36(context) {
|
|
@@ -20669,6 +20710,10 @@ function markReviewSeen(workspaceId, seen) {
|
|
|
20669
20710
|
//#endregion
|
|
20670
20711
|
//#region src/server/diff.ts
|
|
20671
20712
|
var MAX_FILE_BYTES = 5e5;
|
|
20713
|
+
/** A preview ships the whole file, so its ceiling is not MAX_FILE_BYTES
|
|
20714
|
+
* (that is a patch's worth of text): a screenshot committed to a repo is
|
|
20715
|
+
* routinely over a megabyte. */
|
|
20716
|
+
var MAX_PREVIEW_BYTES = 8388608;
|
|
20672
20717
|
/** Working-tree reads in flight per section: a stat+read per changed file
|
|
20673
20718
|
* is cheap, but a few hundred at once on a network volume is not. */
|
|
20674
20719
|
var FILE_READ_CONCURRENCY = 32;
|
|
@@ -21184,12 +21229,27 @@ async function collectPatches(dir, revs, entries, stats, untrackedPaths, dirtyPa
|
|
|
21184
21229
|
file.additions = file.patch.split("\n").filter((l) => l[0] === "+" && !l.startsWith("+++")).length;
|
|
21185
21230
|
file.deletions = 0;
|
|
21186
21231
|
}
|
|
21187
|
-
if (dirtyPaths.has(e.path))
|
|
21232
|
+
if (dirtyPaths.has(e.path)) {
|
|
21233
|
+
const stamp = file.binary ? await worktreeStamp(dir, e.path) : "";
|
|
21234
|
+
file.hash = createHash("sha1").update(e.status).update(file.patch ?? "").update(stamp).digest("hex").slice(0, 16);
|
|
21235
|
+
}
|
|
21188
21236
|
return file;
|
|
21189
21237
|
});
|
|
21190
21238
|
files.sort((a, b) => a.path.localeCompare(b.path));
|
|
21191
21239
|
return files;
|
|
21192
21240
|
}
|
|
21241
|
+
/** Size and mtime of a working-tree file: enough to tell a binary edit
|
|
21242
|
+
* from the same bytes, without reading a megabyte to hash it. Empty when
|
|
21243
|
+
* the file is gone (a delete, which its status already says). */
|
|
21244
|
+
async function worktreeStamp(dir, filePath) {
|
|
21245
|
+
if (!insideWorktree(dir, filePath)) return "";
|
|
21246
|
+
try {
|
|
21247
|
+
const st = await fs$1.stat(path.resolve(dir, filePath));
|
|
21248
|
+
return `${st.size}:${st.mtimeMs}`;
|
|
21249
|
+
} catch {
|
|
21250
|
+
return "";
|
|
21251
|
+
}
|
|
21252
|
+
}
|
|
21193
21253
|
/** Per-file chunks of a multi-file `git diff`, keyed by the new path
|
|
21194
21254
|
* (`b/<path>` in the header; the old path for a deletion). */
|
|
21195
21255
|
function splitPatch(full) {
|
|
@@ -21289,15 +21349,19 @@ async function batchContents(dir, rev, paths) {
|
|
|
21289
21349
|
});
|
|
21290
21350
|
return result;
|
|
21291
21351
|
}
|
|
21352
|
+
/** git-reported paths are normally relative and inside the tree, but
|
|
21353
|
+
* crafted repo content must not read outside it. */
|
|
21354
|
+
function insideWorktree(dir, filePath) {
|
|
21355
|
+
const root = path.resolve(dir);
|
|
21356
|
+
const full = path.resolve(dir, filePath);
|
|
21357
|
+
return full === root || full.startsWith(root + path.sep);
|
|
21358
|
+
}
|
|
21292
21359
|
/** The checkout's copy of a file, or null when it is missing, over
|
|
21293
|
-
* MAX_FILE_BYTES, or binary.
|
|
21294
|
-
* normally relative and inside the tree, but crafted repo content must
|
|
21295
|
-
* not read outside it. */
|
|
21360
|
+
* MAX_FILE_BYTES, or binary. */
|
|
21296
21361
|
async function readWorktreeFile(dir, filePath) {
|
|
21297
21362
|
try {
|
|
21298
|
-
|
|
21363
|
+
if (!insideWorktree(dir, filePath)) throw new Error(`path escapes worktree: ${filePath}`);
|
|
21299
21364
|
const full = path.resolve(dir, filePath);
|
|
21300
|
-
if (full !== root && !full.startsWith(root + path.sep)) throw new Error(`path escapes worktree: ${filePath}`);
|
|
21301
21365
|
if ((await fs$1.stat(full)).size > MAX_FILE_BYTES) return null;
|
|
21302
21366
|
const text = await fs$1.readFile(full, "utf8");
|
|
21303
21367
|
return text.includes("\0") ? null : text;
|
|
@@ -21305,6 +21369,42 @@ async function readWorktreeFile(dir, filePath) {
|
|
|
21305
21369
|
return null;
|
|
21306
21370
|
}
|
|
21307
21371
|
}
|
|
21372
|
+
/** Raw bytes of one side of a file, for the review's inline preview of a
|
|
21373
|
+
* binary it can show: a blob at `rev`, or the checkout when `rev` is
|
|
21374
|
+
* `worktree`. Null for a side that does not exist, is unreadable, or is
|
|
21375
|
+
* over MAX_PREVIEW_BYTES — the card falls back to a link either way, so
|
|
21376
|
+
* the reasons do not need telling apart. */
|
|
21377
|
+
async function readBlobAt(dir, rev, filePath) {
|
|
21378
|
+
if (!insideWorktree(dir, filePath)) return null;
|
|
21379
|
+
if (rev === "worktree") try {
|
|
21380
|
+
const full = path.resolve(dir, filePath);
|
|
21381
|
+
if ((await fs$1.stat(full)).size > MAX_PREVIEW_BYTES) return null;
|
|
21382
|
+
return await fs$1.readFile(full);
|
|
21383
|
+
} catch {
|
|
21384
|
+
return null;
|
|
21385
|
+
}
|
|
21386
|
+
return new Promise((resolve) => {
|
|
21387
|
+
const proc = spawn("git", [
|
|
21388
|
+
"cat-file",
|
|
21389
|
+
"blob",
|
|
21390
|
+
`${rev}:${filePath}`
|
|
21391
|
+
], { cwd: dir });
|
|
21392
|
+
const chunks = [];
|
|
21393
|
+
let size = 0;
|
|
21394
|
+
let over = false;
|
|
21395
|
+
proc.stdout.on("data", (chunk) => {
|
|
21396
|
+
size += chunk.length;
|
|
21397
|
+
if (size > MAX_PREVIEW_BYTES) {
|
|
21398
|
+
over = true;
|
|
21399
|
+
proc.kill();
|
|
21400
|
+
return;
|
|
21401
|
+
}
|
|
21402
|
+
chunks.push(chunk);
|
|
21403
|
+
});
|
|
21404
|
+
proc.on("error", () => resolve(null));
|
|
21405
|
+
proc.on("close", (code) => resolve(over || code !== 0 ? null : Buffer.concat(chunks)));
|
|
21406
|
+
});
|
|
21407
|
+
}
|
|
21308
21408
|
//#endregion
|
|
21309
21409
|
//#region src/routes/api/workspaces/$id/diff/+handler.ts
|
|
21310
21410
|
var SCOPES = [
|
|
@@ -21314,7 +21414,7 @@ var SCOPES = [
|
|
|
21314
21414
|
];
|
|
21315
21415
|
//#endregion
|
|
21316
21416
|
//#region __marko-run__api.workspaces.$.diff.js
|
|
21317
|
-
var getHandler$
|
|
21417
|
+
var getHandler$6 = normalizeHandler(Run.GET({ search: (value) => ({
|
|
21318
21418
|
base: typeof value.base === "string" && value.base ? value.base : void 0,
|
|
21319
21419
|
scope: SCOPES.includes(value.scope) ? value.scope : value.uncommitted === "1" || value.uncommitted === "true" ? "working" : "committed",
|
|
21320
21420
|
pr: typeof value.pr === "string" && value.pr ? value.pr : void 0,
|
|
@@ -21330,10 +21430,10 @@ var getHandler$5 = normalizeHandler(Run.GET({ search: (value) => ({
|
|
|
21330
21430
|
}),
|
|
21331
21431
|
...reviewState(ctx.data.workspace.id)
|
|
21332
21432
|
})), "GET");
|
|
21333
|
-
var get39_options = normalizeOptions("GET", mware11, mware43, getHandler$
|
|
21433
|
+
var get39_options = normalizeOptions("GET", mware11, mware43, getHandler$6);
|
|
21334
21434
|
var head39_options = normalizeOptions("HEAD", mware11, mware43);
|
|
21335
21435
|
function get39(context) {
|
|
21336
|
-
const __getHandler = (data) => call(getHandler$
|
|
21436
|
+
const __getHandler = (data) => call(getHandler$6, noContent, context, data);
|
|
21337
21437
|
const __mware43 = (data) => call(mware43, __getHandler, context, data);
|
|
21338
21438
|
return call(mware11, __mware43, context);
|
|
21339
21439
|
}
|
|
@@ -21341,6 +21441,43 @@ function head39(context) {
|
|
|
21341
21441
|
return stripResponseBody(get39(context));
|
|
21342
21442
|
}
|
|
21343
21443
|
//#endregion
|
|
21444
|
+
//#region src/routes/api/workspaces/$id/diff/blob/+handler.ts
|
|
21445
|
+
var SHA$1 = /^[0-9a-f]{7,64}$/i;
|
|
21446
|
+
//#endregion
|
|
21447
|
+
//#region __marko-run__api.workspaces.$.diff.blob.js
|
|
21448
|
+
var getHandler$5 = normalizeHandler(Run.GET({ search: (value) => ({
|
|
21449
|
+
worktree: typeof value.worktree === "string" ? value.worktree : "",
|
|
21450
|
+
path: typeof value.path === "string" ? value.path : "",
|
|
21451
|
+
rev: typeof value.rev === "string" ? value.rev : ""
|
|
21452
|
+
}) }, async (ctx) => {
|
|
21453
|
+
const ws = ctx.data.workspace;
|
|
21454
|
+
const { worktree, path: filePath, rev } = ctx.search;
|
|
21455
|
+
const repo = ws.repos.find((r) => r.worktree === worktree);
|
|
21456
|
+
const preview = previewFor(filePath);
|
|
21457
|
+
if (!repo || !filePath || !rev || !preview) throw httpError(400, "bad request");
|
|
21458
|
+
if (rev !== "worktree" && !SHA$1.test(rev)) throw httpError(400, "bad rev");
|
|
21459
|
+
const bytes = await readBlobAt(path.join(ws.path, repo.worktree), rev, filePath);
|
|
21460
|
+
if (!bytes) throw httpError(404, "not found");
|
|
21461
|
+
const body = new Uint8Array(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
21462
|
+
return new Response(body, { headers: {
|
|
21463
|
+
"content-type": preview.type,
|
|
21464
|
+
"content-length": String(bytes.length),
|
|
21465
|
+
"x-content-type-options": "nosniff",
|
|
21466
|
+
"cache-control": rev === "worktree" ? "no-store" : "private, max-age=31536000, immutable",
|
|
21467
|
+
...preview.kind === "image" && { "content-security-policy": "default-src 'none'; style-src 'unsafe-inline'; sandbox" }
|
|
21468
|
+
} });
|
|
21469
|
+
}), "GET");
|
|
21470
|
+
var get40_options = normalizeOptions("GET", mware11, mware43, getHandler$5);
|
|
21471
|
+
var head40_options = normalizeOptions("HEAD", mware11, mware43);
|
|
21472
|
+
function get40(context) {
|
|
21473
|
+
const __getHandler = (data) => call(getHandler$5, noContent, context, data);
|
|
21474
|
+
const __mware43 = (data) => call(mware43, __getHandler, context, data);
|
|
21475
|
+
return call(mware11, __mware43, context);
|
|
21476
|
+
}
|
|
21477
|
+
function head40(context) {
|
|
21478
|
+
return stripResponseBody(get40(context));
|
|
21479
|
+
}
|
|
21480
|
+
//#endregion
|
|
21344
21481
|
//#region src/routes/api/workspaces/$id/diff/contents/+handler.ts
|
|
21345
21482
|
var SHA = /^[0-9a-f]{7,64}$/i;
|
|
21346
21483
|
/** One side of a file at a section's `oldRev`/`newRev` — what the patch
|
|
@@ -21358,28 +21495,28 @@ var getHandler$4 = normalizeHandler(Run.GET({ search: (value) => ({
|
|
|
21358
21495
|
path: typeof value.path === "string" ? value.path : "",
|
|
21359
21496
|
rev: typeof value.rev === "string" ? value.rev : ""
|
|
21360
21497
|
}) }, async (ctx) => Response.json({ contents: await contentsAt(ctx.data.workspace, ctx.search) })), "GET");
|
|
21361
|
-
var
|
|
21362
|
-
var
|
|
21363
|
-
function
|
|
21498
|
+
var get41_options = normalizeOptions("GET", mware11, mware43, getHandler$4);
|
|
21499
|
+
var head41_options = normalizeOptions("HEAD", mware11, mware43);
|
|
21500
|
+
function get41(context) {
|
|
21364
21501
|
const __getHandler = (data) => call(getHandler$4, noContent, context, data);
|
|
21365
21502
|
const __mware43 = (data) => call(mware43, __getHandler, context, data);
|
|
21366
21503
|
return call(mware11, __mware43, context);
|
|
21367
21504
|
}
|
|
21368
|
-
function
|
|
21369
|
-
return stripResponseBody(
|
|
21505
|
+
function head41(context) {
|
|
21506
|
+
return stripResponseBody(get41(context));
|
|
21370
21507
|
}
|
|
21371
21508
|
//#endregion
|
|
21372
21509
|
//#region __marko-run__api.workspaces.$.procs.js
|
|
21373
21510
|
var getHandler$3 = normalizeHandler(Run.GET(async (ctx) => Response.json(await workspaceProcs(ctx.data.workspace.path))), "GET");
|
|
21374
|
-
var
|
|
21375
|
-
var
|
|
21376
|
-
function
|
|
21511
|
+
var get42_options = normalizeOptions("GET", mware11, mware43, getHandler$3);
|
|
21512
|
+
var head42_options = normalizeOptions("HEAD", mware11, mware43);
|
|
21513
|
+
function get42(context) {
|
|
21377
21514
|
const __getHandler = (data) => call(getHandler$3, noContent, context, data);
|
|
21378
21515
|
const __mware43 = (data) => call(mware43, __getHandler, context, data);
|
|
21379
21516
|
return call(mware11, __mware43, context);
|
|
21380
21517
|
}
|
|
21381
|
-
function
|
|
21382
|
-
return stripResponseBody(
|
|
21518
|
+
function head42(context) {
|
|
21519
|
+
return stripResponseBody(get42(context));
|
|
21383
21520
|
}
|
|
21384
21521
|
//#endregion
|
|
21385
21522
|
//#region src/routes/api/workspaces/$id/prs/+handler.ts
|
|
@@ -21416,8 +21553,8 @@ async function pruneDismissedLane(ws, fullName, number) {
|
|
|
21416
21553
|
//#endregion
|
|
21417
21554
|
//#region __marko-run__api.workspaces.$.prs.js
|
|
21418
21555
|
var postHandler$4 = normalizeHandler(POST$4, "POST");
|
|
21419
|
-
var
|
|
21420
|
-
function
|
|
21556
|
+
var post43_options = normalizeOptions("POST", mware11, mware43, postHandler$4);
|
|
21557
|
+
function post43(context) {
|
|
21421
21558
|
const __postHandler = (data) => call(postHandler$4, noContent, context, data);
|
|
21422
21559
|
const __mware43 = (data) => call(mware43, __postHandler, context, data);
|
|
21423
21560
|
return call(mware11, __mware43, context);
|
|
@@ -21435,8 +21572,8 @@ var postHandler$3 = normalizeHandler(Run.POST({ json: AddRepo }, async (ctx) =>
|
|
|
21435
21572
|
const body = await readBody(ctx);
|
|
21436
21573
|
return Response.json(await withProgressOp(ctx.params.id, () => addRepo(ctx.params.id, body.fullName, body.baseBranch, body.fork)));
|
|
21437
21574
|
}), "POST");
|
|
21438
|
-
var
|
|
21439
|
-
function
|
|
21575
|
+
var post44_options = normalizeOptions("POST", mware11, mware43, postHandler$3);
|
|
21576
|
+
function post44(context) {
|
|
21440
21577
|
const __postHandler = (data) => call(postHandler$3, noContent, context, data);
|
|
21441
21578
|
const __mware43 = (data) => call(mware43, __postHandler, context, data);
|
|
21442
21579
|
return call(mware11, __mware43, context);
|
|
@@ -21447,8 +21584,8 @@ var deleteHandler$1 = normalizeHandler(Run.DELETE(async (ctx) => {
|
|
|
21447
21584
|
await withProgressOp(ctx.params.id, () => removeRepo(ctx.params.id, ctx.params.worktree));
|
|
21448
21585
|
return Response.json({ ok: true });
|
|
21449
21586
|
}), "DELETE");
|
|
21450
|
-
var
|
|
21451
|
-
function
|
|
21587
|
+
var delete45_options = normalizeOptions("DELETE", mware11, mware43, deleteHandler$1);
|
|
21588
|
+
function delete45(context) {
|
|
21452
21589
|
const __deleteHandler = (data) => call(deleteHandler$1, noContent, context, data);
|
|
21453
21590
|
const __mware43 = (data) => call(mware43, __deleteHandler, context, data);
|
|
21454
21591
|
return call(mware11, __mware43, context);
|
|
@@ -21461,8 +21598,8 @@ var ReviewAction = /* @__PURE__ */ union([
|
|
|
21461
21598
|
worktree: /* @__PURE__ */ string(),
|
|
21462
21599
|
path: /* @__PURE__ */ string(),
|
|
21463
21600
|
side: /* @__PURE__ */ picklist(["additions", "deletions"]),
|
|
21464
|
-
line_start: /* @__PURE__ */ pipe(/* @__PURE__ */ number(), /* @__PURE__ */ integer(), /* @__PURE__ */ minValue(
|
|
21465
|
-
line_end: /* @__PURE__ */ pipe(/* @__PURE__ */ number(), /* @__PURE__ */ integer(), /* @__PURE__ */ minValue(
|
|
21601
|
+
line_start: /* @__PURE__ */ pipe(/* @__PURE__ */ number(), /* @__PURE__ */ integer(), /* @__PURE__ */ minValue(0)),
|
|
21602
|
+
line_end: /* @__PURE__ */ pipe(/* @__PURE__ */ number(), /* @__PURE__ */ integer(), /* @__PURE__ */ minValue(0)),
|
|
21466
21603
|
text: /* @__PURE__ */ pipe(/* @__PURE__ */ string(), /* @__PURE__ */ trim(), /* @__PURE__ */ minLength(1)),
|
|
21467
21604
|
head: /* @__PURE__ */ optional(/* @__PURE__ */ string()),
|
|
21468
21605
|
snippet: /* @__PURE__ */ optional(/* @__PURE__ */ string())
|
|
@@ -21497,18 +21634,18 @@ var postHandler$2 = normalizeHandler(Run.POST({ json: ReviewAction }, async (ctx
|
|
|
21497
21634
|
return Response.json({ ok: true });
|
|
21498
21635
|
}), "POST");
|
|
21499
21636
|
var getHandler$2 = normalizeHandler(GET$2, "GET");
|
|
21500
|
-
var
|
|
21501
|
-
var
|
|
21502
|
-
var
|
|
21503
|
-
function
|
|
21637
|
+
var get46_options = normalizeOptions("GET", mware11, mware43, getHandler$2);
|
|
21638
|
+
var head46_options = normalizeOptions("HEAD", mware11, mware43);
|
|
21639
|
+
var post46_options = normalizeOptions("POST", mware11, mware43, postHandler$2);
|
|
21640
|
+
function get46(context) {
|
|
21504
21641
|
const __getHandler = (data) => call(getHandler$2, noContent, context, data);
|
|
21505
21642
|
const __mware43 = (data) => call(mware43, __getHandler, context, data);
|
|
21506
21643
|
return call(mware11, __mware43, context);
|
|
21507
21644
|
}
|
|
21508
|
-
function
|
|
21509
|
-
return stripResponseBody(
|
|
21645
|
+
function head46(context) {
|
|
21646
|
+
return stripResponseBody(get46(context));
|
|
21510
21647
|
}
|
|
21511
|
-
function
|
|
21648
|
+
function post46(context) {
|
|
21512
21649
|
const __postHandler = (data) => call(postHandler$2, noContent, context, data);
|
|
21513
21650
|
const __mware43 = (data) => call(mware43, __postHandler, context, data);
|
|
21514
21651
|
return call(mware11, __mware43, context);
|
|
@@ -21543,14 +21680,14 @@ var deleteHandler = normalizeHandler(Run.DELETE({ params: ({ id, commentId }) =>
|
|
|
21543
21680
|
return Response.json({ ok: true });
|
|
21544
21681
|
}), "DELETE");
|
|
21545
21682
|
var patchHandler = normalizeHandler(PATCH, "PATCH");
|
|
21546
|
-
var
|
|
21547
|
-
var
|
|
21548
|
-
function
|
|
21683
|
+
var delete47_options = normalizeOptions("DELETE", mware11, mware43, deleteHandler);
|
|
21684
|
+
var patch47_options = normalizeOptions("PATCH", mware11, mware43, patchHandler);
|
|
21685
|
+
function delete47(context) {
|
|
21549
21686
|
const __deleteHandler = (data) => call(deleteHandler, noContent, context, data);
|
|
21550
21687
|
const __mware43 = (data) => call(mware43, __deleteHandler, context, data);
|
|
21551
21688
|
return call(mware11, __mware43, context);
|
|
21552
21689
|
}
|
|
21553
|
-
function
|
|
21690
|
+
function patch47(context) {
|
|
21554
21691
|
const __patchHandler = (data) => call(patchHandler, noContent, context, data);
|
|
21555
21692
|
const __mware43 = (data) => call(mware43, __patchHandler, context, data);
|
|
21556
21693
|
return call(mware11, __mware43, context);
|
|
@@ -21572,18 +21709,18 @@ var postHandler$1 = normalizeHandler(Run.POST({ json: CreateSession }, async (ct
|
|
|
21572
21709
|
return Response.json(createSession(ctx.params.id, body.agent || preferredAgent()));
|
|
21573
21710
|
}), "POST");
|
|
21574
21711
|
var getHandler$1 = normalizeHandler(GET$1, "GET");
|
|
21575
|
-
var
|
|
21576
|
-
var
|
|
21577
|
-
var
|
|
21578
|
-
function
|
|
21712
|
+
var get48_options = normalizeOptions("GET", mware11, mware43, getHandler$1);
|
|
21713
|
+
var head48_options = normalizeOptions("HEAD", mware11, mware43);
|
|
21714
|
+
var post48_options = normalizeOptions("POST", mware11, mware43, postHandler$1);
|
|
21715
|
+
function get48(context) {
|
|
21579
21716
|
const __getHandler = (data) => call(getHandler$1, noContent, context, data);
|
|
21580
21717
|
const __mware43 = (data) => call(mware43, __getHandler, context, data);
|
|
21581
21718
|
return call(mware11, __mware43, context);
|
|
21582
21719
|
}
|
|
21583
|
-
function
|
|
21584
|
-
return stripResponseBody(
|
|
21720
|
+
function head48(context) {
|
|
21721
|
+
return stripResponseBody(get48(context));
|
|
21585
21722
|
}
|
|
21586
|
-
function
|
|
21723
|
+
function post48(context) {
|
|
21587
21724
|
const __postHandler = (data) => call(postHandler$1, noContent, context, data);
|
|
21588
21725
|
const __mware43 = (data) => call(mware43, __postHandler, context, data);
|
|
21589
21726
|
return call(mware11, __mware43, context);
|
|
@@ -21634,18 +21771,18 @@ var postHandler = normalizeHandler(Run.POST({ json: Body }, async (ctx) => {
|
|
|
21634
21771
|
return Response.json(await snapshot(ws, true));
|
|
21635
21772
|
}), "POST");
|
|
21636
21773
|
var getHandler = normalizeHandler(GET, "GET");
|
|
21637
|
-
var
|
|
21638
|
-
var
|
|
21639
|
-
var
|
|
21640
|
-
function
|
|
21774
|
+
var get49_options = normalizeOptions("GET", mware11, mware43, getHandler);
|
|
21775
|
+
var head49_options = normalizeOptions("HEAD", mware11, mware43);
|
|
21776
|
+
var post49_options = normalizeOptions("POST", mware11, mware43, postHandler);
|
|
21777
|
+
function get49(context) {
|
|
21641
21778
|
const __getHandler = (data) => call(getHandler, noContent, context, data);
|
|
21642
21779
|
const __mware43 = (data) => call(mware43, __getHandler, context, data);
|
|
21643
21780
|
return call(mware11, __mware43, context);
|
|
21644
21781
|
}
|
|
21645
|
-
function
|
|
21646
|
-
return stripResponseBody(
|
|
21782
|
+
function head49(context) {
|
|
21783
|
+
return stripResponseBody(get49(context));
|
|
21647
21784
|
}
|
|
21648
|
-
function
|
|
21785
|
+
function post49(context) {
|
|
21649
21786
|
const __postHandler = (data) => call(postHandler, noContent, context, data);
|
|
21650
21787
|
const __mware43 = (data) => call(mware43, __postHandler, context, data);
|
|
21651
21788
|
return call(mware11, __mware43, context);
|
|
@@ -21922,44 +22059,51 @@ function match_internal(method, pathname) {
|
|
|
21922
22059
|
meta: {}
|
|
21923
22060
|
};
|
|
21924
22061
|
case "procs": return {
|
|
21925
|
-
handler:
|
|
22062
|
+
handler: get42,
|
|
21926
22063
|
path: "/api/workspaces/$id/procs",
|
|
21927
22064
|
params: { id: s3 },
|
|
21928
|
-
options:
|
|
22065
|
+
options: get42_options,
|
|
21929
22066
|
meta: {}
|
|
21930
22067
|
};
|
|
21931
22068
|
case "review": return {
|
|
21932
|
-
handler:
|
|
22069
|
+
handler: get46,
|
|
21933
22070
|
path: "/api/workspaces/$id/review",
|
|
21934
22071
|
params: { id: s3 },
|
|
21935
|
-
options:
|
|
22072
|
+
options: get46_options,
|
|
21936
22073
|
meta: {}
|
|
21937
22074
|
};
|
|
21938
22075
|
case "sessions": return {
|
|
21939
|
-
handler:
|
|
22076
|
+
handler: get48,
|
|
21940
22077
|
path: "/api/workspaces/$id/sessions",
|
|
21941
22078
|
params: { id: s3 },
|
|
21942
|
-
options:
|
|
22079
|
+
options: get48_options,
|
|
21943
22080
|
meta: {}
|
|
21944
22081
|
};
|
|
21945
22082
|
case "skills": return {
|
|
21946
|
-
handler:
|
|
22083
|
+
handler: get49,
|
|
21947
22084
|
path: "/api/workspaces/$id/skills",
|
|
21948
22085
|
params: { id: s3 },
|
|
21949
|
-
options:
|
|
22086
|
+
options: get49_options,
|
|
21950
22087
|
meta: {}
|
|
21951
22088
|
};
|
|
21952
22089
|
}
|
|
21953
22090
|
else if (pathname.slice(i3, i4 - 1) === "diff") {
|
|
21954
22091
|
const i5 = pathname.indexOf("/", i4) + 1;
|
|
21955
|
-
if (!i5 || i5 === len) {
|
|
21956
|
-
|
|
22092
|
+
if (!i5 || i5 === len) switch (pathname.slice(i4, i5 ? -1 : len)) {
|
|
22093
|
+
case "blob": return {
|
|
21957
22094
|
handler: get40,
|
|
21958
|
-
path: "/api/workspaces/$id/diff/
|
|
22095
|
+
path: "/api/workspaces/$id/diff/blob",
|
|
21959
22096
|
params: { id: s3 },
|
|
21960
22097
|
options: get40_options,
|
|
21961
22098
|
meta: {}
|
|
21962
22099
|
};
|
|
22100
|
+
case "contents": return {
|
|
22101
|
+
handler: get41,
|
|
22102
|
+
path: "/api/workspaces/$id/diff/contents",
|
|
22103
|
+
params: { id: s3 },
|
|
22104
|
+
options: get41_options,
|
|
22105
|
+
meta: {}
|
|
22106
|
+
};
|
|
21963
22107
|
}
|
|
21964
22108
|
}
|
|
21965
22109
|
}
|
|
@@ -22228,44 +22372,51 @@ function match_internal(method, pathname) {
|
|
|
22228
22372
|
meta: {}
|
|
22229
22373
|
};
|
|
22230
22374
|
case "procs": return {
|
|
22231
|
-
handler:
|
|
22375
|
+
handler: head42,
|
|
22232
22376
|
path: "/api/workspaces/$id/procs",
|
|
22233
22377
|
params: { id: s3 },
|
|
22234
|
-
options:
|
|
22378
|
+
options: head42_options,
|
|
22235
22379
|
meta: {}
|
|
22236
22380
|
};
|
|
22237
22381
|
case "review": return {
|
|
22238
|
-
handler:
|
|
22382
|
+
handler: head46,
|
|
22239
22383
|
path: "/api/workspaces/$id/review",
|
|
22240
22384
|
params: { id: s3 },
|
|
22241
|
-
options:
|
|
22385
|
+
options: head46_options,
|
|
22242
22386
|
meta: {}
|
|
22243
22387
|
};
|
|
22244
22388
|
case "sessions": return {
|
|
22245
|
-
handler:
|
|
22389
|
+
handler: head48,
|
|
22246
22390
|
path: "/api/workspaces/$id/sessions",
|
|
22247
22391
|
params: { id: s3 },
|
|
22248
|
-
options:
|
|
22392
|
+
options: head48_options,
|
|
22249
22393
|
meta: {}
|
|
22250
22394
|
};
|
|
22251
22395
|
case "skills": return {
|
|
22252
|
-
handler:
|
|
22396
|
+
handler: head49,
|
|
22253
22397
|
path: "/api/workspaces/$id/skills",
|
|
22254
22398
|
params: { id: s3 },
|
|
22255
|
-
options:
|
|
22399
|
+
options: head49_options,
|
|
22256
22400
|
meta: {}
|
|
22257
22401
|
};
|
|
22258
22402
|
}
|
|
22259
22403
|
else if (pathname.slice(i3, i4 - 1) === "diff") {
|
|
22260
22404
|
const i5 = pathname.indexOf("/", i4) + 1;
|
|
22261
|
-
if (!i5 || i5 === len) {
|
|
22262
|
-
|
|
22405
|
+
if (!i5 || i5 === len) switch (pathname.slice(i4, i5 ? -1 : len)) {
|
|
22406
|
+
case "blob": return {
|
|
22263
22407
|
handler: head40,
|
|
22264
|
-
path: "/api/workspaces/$id/diff/
|
|
22408
|
+
path: "/api/workspaces/$id/diff/blob",
|
|
22265
22409
|
params: { id: s3 },
|
|
22266
22410
|
options: head40_options,
|
|
22267
22411
|
meta: {}
|
|
22268
22412
|
};
|
|
22413
|
+
case "contents": return {
|
|
22414
|
+
handler: head41,
|
|
22415
|
+
path: "/api/workspaces/$id/diff/contents",
|
|
22416
|
+
params: { id: s3 },
|
|
22417
|
+
options: head41_options,
|
|
22418
|
+
meta: {}
|
|
22419
|
+
};
|
|
22269
22420
|
}
|
|
22270
22421
|
}
|
|
22271
22422
|
}
|
|
@@ -22436,38 +22587,38 @@ function match_internal(method, pathname) {
|
|
|
22436
22587
|
meta: {}
|
|
22437
22588
|
};
|
|
22438
22589
|
case "prs": return {
|
|
22439
|
-
handler:
|
|
22590
|
+
handler: post43,
|
|
22440
22591
|
path: "/api/workspaces/$id/prs",
|
|
22441
22592
|
params: { id: s3 },
|
|
22442
|
-
options:
|
|
22593
|
+
options: post43_options,
|
|
22443
22594
|
meta: {}
|
|
22444
22595
|
};
|
|
22445
22596
|
case "repos": return {
|
|
22446
|
-
handler:
|
|
22597
|
+
handler: post44,
|
|
22447
22598
|
path: "/api/workspaces/$id/repos",
|
|
22448
22599
|
params: { id: s3 },
|
|
22449
|
-
options:
|
|
22600
|
+
options: post44_options,
|
|
22450
22601
|
meta: {}
|
|
22451
22602
|
};
|
|
22452
22603
|
case "review": return {
|
|
22453
|
-
handler:
|
|
22604
|
+
handler: post46,
|
|
22454
22605
|
path: "/api/workspaces/$id/review",
|
|
22455
22606
|
params: { id: s3 },
|
|
22456
|
-
options:
|
|
22607
|
+
options: post46_options,
|
|
22457
22608
|
meta: {}
|
|
22458
22609
|
};
|
|
22459
22610
|
case "sessions": return {
|
|
22460
|
-
handler:
|
|
22611
|
+
handler: post48,
|
|
22461
22612
|
path: "/api/workspaces/$id/sessions",
|
|
22462
22613
|
params: { id: s3 },
|
|
22463
|
-
options:
|
|
22614
|
+
options: post48_options,
|
|
22464
22615
|
meta: {}
|
|
22465
22616
|
};
|
|
22466
22617
|
case "skills": return {
|
|
22467
|
-
handler:
|
|
22618
|
+
handler: post49,
|
|
22468
22619
|
path: "/api/workspaces/$id/skills",
|
|
22469
22620
|
params: { id: s3 },
|
|
22470
|
-
options:
|
|
22621
|
+
options: post49_options,
|
|
22471
22622
|
meta: {}
|
|
22472
22623
|
};
|
|
22473
22624
|
}
|
|
@@ -22558,13 +22709,13 @@ function match_internal(method, pathname) {
|
|
|
22558
22709
|
if (!i5 || i5 === len) {
|
|
22559
22710
|
const s5 = decodeURIComponent(pathname.slice(i4, i5 ? -1 : len));
|
|
22560
22711
|
if (s5) return {
|
|
22561
|
-
handler:
|
|
22712
|
+
handler: delete45,
|
|
22562
22713
|
path: "/api/workspaces/$id/repos/$worktree",
|
|
22563
22714
|
params: {
|
|
22564
22715
|
id: s3,
|
|
22565
22716
|
worktree: s5
|
|
22566
22717
|
},
|
|
22567
|
-
options:
|
|
22718
|
+
options: delete45_options,
|
|
22568
22719
|
meta: {}
|
|
22569
22720
|
};
|
|
22570
22721
|
}
|
|
@@ -22575,13 +22726,13 @@ function match_internal(method, pathname) {
|
|
|
22575
22726
|
if (!i5 || i5 === len) {
|
|
22576
22727
|
const s5 = decodeURIComponent(pathname.slice(i4, i5 ? -1 : len));
|
|
22577
22728
|
if (s5) return {
|
|
22578
|
-
handler:
|
|
22729
|
+
handler: delete47,
|
|
22579
22730
|
path: "/api/workspaces/$id/review/$commentId",
|
|
22580
22731
|
params: {
|
|
22581
22732
|
id: s3,
|
|
22582
22733
|
commentId: s5
|
|
22583
22734
|
},
|
|
22584
|
-
options:
|
|
22735
|
+
options: delete47_options,
|
|
22585
22736
|
meta: {}
|
|
22586
22737
|
};
|
|
22587
22738
|
}
|
|
@@ -22630,13 +22781,13 @@ function match_internal(method, pathname) {
|
|
|
22630
22781
|
if (!i5 || i5 === len) {
|
|
22631
22782
|
const s5 = decodeURIComponent(pathname.slice(i4, i5 ? -1 : len));
|
|
22632
22783
|
if (s5) return {
|
|
22633
|
-
handler:
|
|
22784
|
+
handler: patch47,
|
|
22634
22785
|
path: "/api/workspaces/$id/review/$commentId",
|
|
22635
22786
|
params: {
|
|
22636
22787
|
id: s3,
|
|
22637
22788
|
commentId: s5
|
|
22638
22789
|
},
|
|
22639
|
-
options:
|
|
22790
|
+
options: patch47_options,
|
|
22640
22791
|
meta: {}
|
|
22641
22792
|
};
|
|
22642
22793
|
}
|
|
@@ -26374,21 +26525,47 @@ var import_websocket_server = /* @__PURE__ */ __toESM(require_websocket_server()
|
|
|
26374
26525
|
* same question through tmux passthrough to choose between a real image and
|
|
26375
26526
|
* chafa's ASCII art. Answering without the 4 is how a pane that can show
|
|
26376
26527
|
* pictures ends up saying "failed to spawn chafa". The claim is true: the
|
|
26377
|
-
* browser terminal decodes sixel (@xterm/addon-image in term.marko).
|
|
26528
|
+
* browser terminal decodes sixel (@xterm/addon-image in term.marko).
|
|
26529
|
+
*
|
|
26530
|
+
* The two XTWINOPS size queries are tmux's, sent on every attach: it needs
|
|
26531
|
+
* the client's cell size before it will paint a stored image, and the pty's
|
|
26532
|
+
* winsize never carries one (node-pty leaves the pixel fields at zero). The
|
|
26533
|
+
* server knows the grid from the handshake and the pixels from what the
|
|
26534
|
+
* client reports, so it answers both without the query ever leaving the
|
|
26535
|
+
* machine — see the note on `push` for why that matters.
|
|
26536
|
+
*/
|
|
26378
26537
|
var queries = [
|
|
26379
|
-
["\x1B[>0c", "\x1B[>0;276;0c"],
|
|
26380
|
-
["\x1B[>c", "\x1B[>0;276;0c"],
|
|
26381
|
-
["\x1B[0c", "\x1B[?1;2;4c"],
|
|
26382
|
-
["\x1B[c", "\x1B[?1;2;4c"]
|
|
26538
|
+
["\x1B[>0c", () => "\x1B[>0;276;0c"],
|
|
26539
|
+
["\x1B[>c", () => "\x1B[>0;276;0c"],
|
|
26540
|
+
["\x1B[0c", () => "\x1B[?1;2;4c"],
|
|
26541
|
+
["\x1B[c", () => "\x1B[?1;2;4c"],
|
|
26542
|
+
["\x1B[18t", (s) => `\x1b[8;${s.rows};${s.cols}t`],
|
|
26543
|
+
["\x1B[14t", (s) => s.pixels ? `\x1b[4;${s.pixels[1]};${s.pixels[0]}t` : null]
|
|
26383
26544
|
];
|
|
26384
26545
|
/**
|
|
26385
|
-
* Answer terminal identity probes beside the PTY instead of making
|
|
26386
|
-
* cross the browser websocket. A short-lived TUI can otherwise exit
|
|
26387
|
-
* xterm's answer returns, leaving the answer as editable text at the
|
|
26388
|
-
* prompt. The carry handles an escape sequence split between PTY
|
|
26546
|
+
* Answer terminal identity and size probes beside the PTY instead of making
|
|
26547
|
+
* them cross the browser websocket. A short-lived TUI can otherwise exit
|
|
26548
|
+
* before xterm's answer returns, leaving the answer as editable text at the
|
|
26549
|
+
* shell prompt. The carry handles an escape sequence split between PTY
|
|
26550
|
+
* reads.
|
|
26551
|
+
*
|
|
26552
|
+
* For the size probes the round trip is worse than late — it is unbalanced.
|
|
26553
|
+
* tmux absorbs a size reply only while it still has a query outstanding;
|
|
26554
|
+
* one reply more than it asked for is passed straight through to the pane
|
|
26555
|
+
* as if typed, which is how `8;42;49t4;714;392t` ends up in an agent's
|
|
26556
|
+
* input box. A reply can outlive its query: the client queues anything it
|
|
26557
|
+
* produces while the socket is closed (a pane suspends when nobody is
|
|
26558
|
+
* looking at it) and flushes that on the next connect — into a new tmux
|
|
26559
|
+
* client that has already had its own queries answered. Answering here,
|
|
26560
|
+
* in the same tick the query arrives, means one query is one reply and a
|
|
26561
|
+
* reply can never cross a socket.
|
|
26389
26562
|
*/
|
|
26390
26563
|
var TerminalReplies = class {
|
|
26564
|
+
size;
|
|
26391
26565
|
carry = "";
|
|
26566
|
+
constructor(size) {
|
|
26567
|
+
this.size = size;
|
|
26568
|
+
}
|
|
26392
26569
|
get pending() {
|
|
26393
26570
|
return !!this.carry;
|
|
26394
26571
|
}
|
|
@@ -26408,7 +26585,9 @@ var TerminalReplies = class {
|
|
|
26408
26585
|
const rest = input.slice(esc);
|
|
26409
26586
|
const match = queries.find(([query]) => rest.startsWith(query));
|
|
26410
26587
|
if (match) {
|
|
26411
|
-
|
|
26588
|
+
const reply = match[1](this.size());
|
|
26589
|
+
if (reply == null) output += match[0];
|
|
26590
|
+
else replies.push(reply);
|
|
26412
26591
|
offset = esc + match[0].length;
|
|
26413
26592
|
continue;
|
|
26414
26593
|
}
|
|
@@ -26474,10 +26653,12 @@ var PING_MS$1 = 15e3;
|
|
|
26474
26653
|
* 5–20× on the wire. Few sockets live at once, so per-socket zlib state is
|
|
26475
26654
|
* not the concern ws's docs raise for large fleets. */
|
|
26476
26655
|
var DEFLATE_THRESHOLD = 512;
|
|
26477
|
-
/** The
|
|
26478
|
-
*
|
|
26479
|
-
*
|
|
26480
|
-
* is the moment tmux stopped guessing.
|
|
26656
|
+
/** The answer to tmux's CSI 14t — window size in pixels, which divided by
|
|
26657
|
+
* the grid is the cell size tmux needs before it will paint an image.
|
|
26658
|
+
* Normally this server's own (terminal-replies.ts); matched rather than
|
|
26659
|
+
* parsed, because all it marks is the moment tmux stopped guessing. Still
|
|
26660
|
+
* matched on client input too: a browser from an older build answers the
|
|
26661
|
+
* query itself. */
|
|
26481
26662
|
var WINDOW_PIXELS_REPLY = /\x1b\[4;\d+;\d+t/;
|
|
26482
26663
|
/** Long enough for the reply above to reach tmux's client and reach the
|
|
26483
26664
|
* server as a new cell size, short enough to stay inside the repaint the
|
|
@@ -26555,6 +26736,8 @@ async function handleTermConnection(ws, req) {
|
|
|
26555
26736
|
const rows = Number(url.searchParams.get("rows")) || 24;
|
|
26556
26737
|
const connectedVisible = url.searchParams.get("visible") !== "0";
|
|
26557
26738
|
const respawn = url.searchParams.get("respawn") === "1";
|
|
26739
|
+
let dims = [cols, rows];
|
|
26740
|
+
let pixels = pixelPair(Number(url.searchParams.get("pw")), Number(url.searchParams.get("ph")));
|
|
26558
26741
|
let proc;
|
|
26559
26742
|
let ping;
|
|
26560
26743
|
let flushTimer;
|
|
@@ -26643,7 +26826,11 @@ async function handleTermConnection(ws, req) {
|
|
|
26643
26826
|
}
|
|
26644
26827
|
};
|
|
26645
26828
|
let exited = false;
|
|
26646
|
-
const terminalReplies = new TerminalReplies()
|
|
26829
|
+
const terminalReplies = new TerminalReplies(() => ({
|
|
26830
|
+
cols: dims[0],
|
|
26831
|
+
rows: dims[1],
|
|
26832
|
+
pixels
|
|
26833
|
+
}));
|
|
26647
26834
|
let replyCarryTimer;
|
|
26648
26835
|
const queueOutput = (data) => {
|
|
26649
26836
|
if (!data) return;
|
|
@@ -26655,7 +26842,10 @@ async function handleTermConnection(ws, req) {
|
|
|
26655
26842
|
clearTimeout(replyCarryTimer);
|
|
26656
26843
|
replyCarryTimer = void 0;
|
|
26657
26844
|
const handled = terminalReplies.push(data);
|
|
26658
|
-
for (const reply of handled.replies)
|
|
26845
|
+
for (const reply of handled.replies) {
|
|
26846
|
+
if (!exited) ptyProc.write(reply);
|
|
26847
|
+
if (WINDOW_PIXELS_REPLY.test(reply)) redrawWithCellSize();
|
|
26848
|
+
}
|
|
26659
26849
|
queueOutput(handled.output);
|
|
26660
26850
|
if (terminalReplies.pending) replyCarryTimer = setTimeout(() => {
|
|
26661
26851
|
replyCarryTimer = void 0;
|
|
@@ -26682,7 +26872,6 @@ async function handleTermConnection(ws, req) {
|
|
|
26682
26872
|
});
|
|
26683
26873
|
visible = connectedVisible;
|
|
26684
26874
|
if (visible) trackViewer(session.id, 1);
|
|
26685
|
-
let dims = [cols, rows];
|
|
26686
26875
|
const forceWindowSize = () => {
|
|
26687
26876
|
if (!visible) return;
|
|
26688
26877
|
lastForced.set(session.id, `${dims[0]}x${dims[1]}`);
|
|
@@ -26724,6 +26913,8 @@ async function handleTermConnection(ws, req) {
|
|
|
26724
26913
|
if (WINDOW_PIXELS_REPLY.test(input)) redrawWithCellSize();
|
|
26725
26914
|
} else {
|
|
26726
26915
|
const text = data.toString();
|
|
26916
|
+
const px = parsePixels(text);
|
|
26917
|
+
if (px) pixels = px;
|
|
26727
26918
|
const resize = parseResize(text);
|
|
26728
26919
|
if (resize) {
|
|
26729
26920
|
const moved = dims[0] !== resize[0] || dims[1] !== resize[1];
|
|
@@ -26785,6 +26976,19 @@ function parseResize(text) {
|
|
|
26785
26976
|
if (Array.isArray(resize) && Number.isInteger(resize[0]) && Number.isInteger(resize[1]) && resize[0] > 0 && resize[1] > 0) return [resize[0], resize[1]];
|
|
26786
26977
|
} catch {}
|
|
26787
26978
|
}
|
|
26979
|
+
/** The text area in CSS pixels, as `{ px: [w, h] }` on a resize frame or
|
|
26980
|
+
* `pw`/`ph` on the handshake. What tmux's `CSI 14t` asks for, and the one
|
|
26981
|
+
* part of the answer the server cannot work out for itself. */
|
|
26982
|
+
function pixelPair(w, h) {
|
|
26983
|
+
return Number.isFinite(w) && Number.isFinite(h) && w > 0 && h > 0 ? [Math.round(w), Math.round(h)] : null;
|
|
26984
|
+
}
|
|
26985
|
+
function parsePixels(text) {
|
|
26986
|
+
try {
|
|
26987
|
+
const px = JSON.parse(text)?.px;
|
|
26988
|
+
if (Array.isArray(px)) return pixelPair(px[0], px[1]);
|
|
26989
|
+
} catch {}
|
|
26990
|
+
return null;
|
|
26991
|
+
}
|
|
26788
26992
|
//#endregion
|
|
26789
26993
|
//#region src/server/events-ws.ts
|
|
26790
26994
|
/** App-level heartbeat — keeps NAT/VPN mappings warm and lets the client
|
|
@@ -26931,4 +27135,4 @@ server.listen(port, () => {
|
|
|
26931
27135
|
//#endregion
|
|
26932
27136
|
export {};
|
|
26933
27137
|
|
|
26934
|
-
;var __MARKO_MANIFEST__={"
|
|
27138
|
+
;var __MARKO_MANIFEST__={"ibphXY4":{"block":[2,"stylesheet#/assets/icon-arrow-down-CnC9B8zr.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/icon-arrow-down-CnC9B8zr.css\"",">",2,"stylesheet#/assets/app-page-ujOO9O9j.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-ujOO9O9j.css\"",">"],"defer":[2,"/assets/w._-OkHtBkzU.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/w._-OkHtBkzU.js\"","></script>",2,"modulepreload#/assets/_4WrdbxBF.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_4WrdbxBF.js\"",">",2,"modulepreload#/assets/_hePW80VL.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_hePW80VL.js\"",">",2,"modulepreload#/assets/_CWOQeVjT.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_CWOQeVjT.js\"",">",2,"modulepreload#/assets/_D1_IgqEt.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_D1_IgqEt.js\"",">"]},"ZLT8joi":{"block":[2,"stylesheet#/assets/icon-arrow-down-CnC9B8zr.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/icon-arrow-down-CnC9B8zr.css\"",">",2,"stylesheet#/assets/app-page-ujOO9O9j.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-ujOO9O9j.css\"",">"],"defer":[2,"/assets/new-OkHtBkzU.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/new-OkHtBkzU.js\"","></script>",2,"modulepreload#/assets/_4WrdbxBF.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_4WrdbxBF.js\"",">",2,"modulepreload#/assets/_hePW80VL.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_hePW80VL.js\"",">",2,"modulepreload#/assets/_CWOQeVjT.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_CWOQeVjT.js\"",">",2,"modulepreload#/assets/_D1_IgqEt.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_D1_IgqEt.js\"",">"]},"T$MNY0k":{"block":[2,"stylesheet#/assets/icon-arrow-down-CnC9B8zr.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/icon-arrow-down-CnC9B8zr.css\"",">",2,"stylesheet#/assets/app-page-ujOO9O9j.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-ujOO9O9j.css\"",">"],"defer":[2,"/assets/w._-Bl7_ITGh.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/w._-Bl7_ITGh.js\"","></script>",2,"modulepreload#/assets/_4WrdbxBF.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_4WrdbxBF.js\"",">",2,"modulepreload#/assets/_hePW80VL.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_hePW80VL.js\"",">",2,"modulepreload#/assets/_CWOQeVjT.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_CWOQeVjT.js\"",">",2,"modulepreload#/assets/_D1_IgqEt.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_D1_IgqEt.js\"",">"]},"AA0T2xt":{"block":[2,"stylesheet#/assets/icon-arrow-down-CnC9B8zr.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/icon-arrow-down-CnC9B8zr.css\"",">",2,"stylesheet#/assets/app-page-ujOO9O9j.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-ujOO9O9j.css\"",">"],"defer":[2,"/assets/settings-OkHtBkzU.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/settings-OkHtBkzU.js\"","></script>",2,"modulepreload#/assets/_4WrdbxBF.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_4WrdbxBF.js\"",">",2,"modulepreload#/assets/_hePW80VL.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_hePW80VL.js\"",">",2,"modulepreload#/assets/_CWOQeVjT.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_CWOQeVjT.js\"",">",2,"modulepreload#/assets/_D1_IgqEt.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_D1_IgqEt.js\"",">"]},"LH2lXAg":{"block":[2,"stylesheet#/assets/icon-arrow-down-CnC9B8zr.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/icon-arrow-down-CnC9B8zr.css\"",">",2,"stylesheet#/assets/app-page-ujOO9O9j.css",6,"<link",0," rel=\"stylesheet\" crossorigin href=\"",1,"assets/app-page-ujOO9O9j.css\"",">"],"defer":[2,"/assets/w-OkHtBkzU.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/w-OkHtBkzU.js\"","></script>",2,"modulepreload#/assets/_4WrdbxBF.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_4WrdbxBF.js\"",">",2,"modulepreload#/assets/_hePW80VL.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_hePW80VL.js\"",">",2,"modulepreload#/assets/_CWOQeVjT.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_CWOQeVjT.js\"",">",2,"modulepreload#/assets/_D1_IgqEt.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_D1_IgqEt.js\"",">"]},"_A":{"block":[2,"stylesheet#/assets/review-view-BYC11tmH.css",6,"<link",0," rel=\"stylesheet\" href=\"",1,"assets/review-view-BYC11tmH.css\"",">",2,"stylesheet#/assets/icon-arrow-down-CnC9B8zr.css",6,"<link",0," rel=\"stylesheet\" href=\"",1,"assets/icon-arrow-down-CnC9B8zr.css\"",">"],"defer":[2,"/assets/review-view-X_RUf4F7.js",6,"<script",0," async type=\"module\" crossorigin src=\"",1,"assets/review-view-X_RUf4F7.js\"","></script>",2,"modulepreload#/assets/_4WrdbxBF.js",6,"<link",0," rel=\"modulepreload\" crossorigin href=\"",1,"assets/_4WrdbxBF.js\"",">"]}};
|