local-operator-ui 0.39.6 → 0.39.7
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/out/main/index.js +190 -23
- package/out/renderer/assets/{_basePickBy-CEM-62na.js → _basePickBy-CEnbnbbH.js} +1 -1
- package/out/renderer/assets/{_baseUniq-DKUG2lEn.js → _baseUniq-CdOS48Ck.js} +1 -1
- package/out/renderer/assets/{agent-details-page-uwmizvcA.js → agent-details-page-tp9kdqtV.js} +1 -1
- package/out/renderer/assets/{agent-hub-page-DY0hrFjh.js → agent-hub-page-DLGKHTRy.js} +1 -1
- package/out/renderer/assets/{agents-page-B82GhyEm.js → agents-page-zlHPJdIG.js} +3 -3
- package/out/renderer/assets/{arc-CwS59wEx.js → arc-BNz9sDxF.js} +1 -1
- package/out/renderer/assets/{architectureDiagram-IEHRJDOE-CrSOPHPj.js → architectureDiagram-IEHRJDOE-PT8IWaJd.js} +1 -1
- package/out/renderer/assets/{blockDiagram-JOT3LUYC-DOKW2aS1.js → blockDiagram-JOT3LUYC-TofPikdt.js} +1 -1
- package/out/renderer/assets/{book-open-BrVlmR50.js → book-open-C9j4VQTg.js} +1 -1
- package/out/renderer/assets/browser-page-_iKE2RNe.js +1 -0
- package/out/renderer/assets/{browser-webauthn-prompt-D4Pmblc_.js → browser-webauthn-prompt-7G2sk0mv.js} +1 -1
- package/out/renderer/assets/{building-2-BbJxBV3t.js → building-2-C-Qj7y2j.js} +1 -1
- package/out/renderer/assets/{c4Diagram-VJAJSXHY-BNZOSwVL.js → c4Diagram-VJAJSXHY-aQCw2eBK.js} +1 -1
- package/out/renderer/assets/channel-ckpV6c4V.js +1 -0
- package/out/renderer/assets/{chunk-4BMEZGHF-DatYJ8Pc.js → chunk-4BMEZGHF-BfamF_Ga.js} +1 -1
- package/out/renderer/assets/{chunk-A2AXSNBT-kofNI-nh.js → chunk-A2AXSNBT-DkYCFJWH.js} +1 -1
- package/out/renderer/assets/{chunk-AEK57VVT-RG-vyDkt.js → chunk-AEK57VVT-BJsKs1c3.js} +1 -1
- package/out/renderer/assets/{chunk-D6G4REZN-DbgxdXuD.js → chunk-D6G4REZN-DQafTOcO.js} +1 -1
- package/out/renderer/assets/{chunk-RZ5BOZE2-Pwbky5G7.js → chunk-RZ5BOZE2-BtdIGif_.js} +1 -1
- package/out/renderer/assets/{chunk-XZIHB7SX-nMQwH5Ev.js → chunk-XZIHB7SX-CPFZQYMe.js} +1 -1
- package/out/renderer/assets/classDiagram-GIVACNV2-B3X9me6N.js +1 -0
- package/out/renderer/assets/classDiagram-v2-COTLJTTW-B3X9me6N.js +1 -0
- package/out/renderer/assets/clone-gWuEtEL1.js +1 -0
- package/out/renderer/assets/{console-mirror-B7HDmLVb.js → console-mirror-BKH21iCK.js} +14 -14
- package/out/renderer/assets/{consoleCapture-wuvuMPlf.js → consoleCapture-CVwDUtXD.js} +1 -1
- package/out/renderer/assets/{conversation-input-sync-DeQTtOSG.js → conversation-input-sync-DTwv4LpE.js} +4 -4
- package/out/renderer/assets/{dagre-OKDRZEBW-BXF3VqDs.js → dagre-OKDRZEBW-OgXmMciL.js} +1 -1
- package/out/renderer/assets/{diagram-SSKATNLV-C6ZzdCUp.js → diagram-SSKATNLV-BmsZgHTq.js} +1 -1
- package/out/renderer/assets/{diagram-VNBRO52H-ND-gVRs3.js → diagram-VNBRO52H-Cr9Grlgh.js} +1 -1
- package/out/renderer/assets/{erDiagram-Q7BY3M3F-DJ8vCpMT.js → erDiagram-Q7BY3M3F-fgqi2edy.js} +1 -1
- package/out/renderer/assets/{error-boundary-D81PAlVn.js → error-boundary-aqUJ0ROL.js} +1 -1
- package/out/renderer/assets/{flowDiagram-4HSFHLVR-C0lG2NYg.js → flowDiagram-4HSFHLVR-Clb0_Qdc.js} +1 -1
- package/out/renderer/assets/{ganttDiagram-APWFNJXF-BBxt5Pgj.js → ganttDiagram-APWFNJXF-C2YI1HlL.js} +1 -1
- package/out/renderer/assets/{gitGraphDiagram-7IBYFJ6S-B5eei6E_.js → gitGraphDiagram-7IBYFJ6S-Bcg0BnMu.js} +1 -1
- package/out/renderer/assets/{graph-lWFNtwh7.js → graph-BzD7EvQb.js} +1 -1
- package/out/renderer/assets/{hash-3k6_lTgk.js → hash-neDzbCXS.js} +1 -1
- package/out/renderer/assets/{index-FqHXqlQT.js → index-B16LGlVe.js} +1 -1
- package/out/renderer/assets/index-CQml9u-9.js +57 -0
- package/out/renderer/assets/{index-ZC-NNW64.css → index-CXsn7x-M.css} +1 -1
- package/out/renderer/assets/{index-BtI7uak5.js → index-DTi580qk.js} +194 -194
- package/out/renderer/assets/{index-tyh1i-0R.js → index-_kad0jHX.js} +1 -1
- package/out/renderer/assets/{infoDiagram-PH2N3AL5-DfdIGj2q.js → infoDiagram-PH2N3AL5-DUD1Zb9n.js} +1 -1
- package/out/renderer/assets/{installer-OLhNHLbA.js → installer-CmbKACIX.js} +1 -1
- package/out/renderer/assets/{journeyDiagram-U35MCT3I-DY36aDPm.js → journeyDiagram-U35MCT3I-Bn1cTo4G.js} +1 -1
- package/out/renderer/assets/{kanban-definition-NDS4AKOZ-DkmkP4pt.js → kanban-definition-NDS4AKOZ-Bw7rDfia.js} +1 -1
- package/out/renderer/assets/{layout-Wh_eVbud.js → layout-BDVYAAmD.js} +1 -1
- package/out/renderer/assets/{legacy-agents-page-m5-4VKbu.js → legacy-agents-page-CuQMfUeR.js} +1 -1
- package/out/renderer/assets/{library-page-vUP7gWsI.js → library-page-B9s2FYnU.js} +3 -3
- package/out/renderer/assets/{mermaid.core-CIUeSke9.js → mermaid.core-D-DUuSel.js} +5 -5
- package/out/renderer/assets/{mesh-page-CoUCZ19i.js → mesh-page-CwkFm-eu.js} +1 -1
- package/out/renderer/assets/{mindmap-definition-ALO5MXBD-E7Cl2drf.js → mindmap-definition-ALO5MXBD-CiqYdj8Q.js} +1 -1
- package/out/renderer/assets/{mini-D6HdkQvd.js → mini-BVDybISg.js} +1 -1
- package/out/renderer/assets/{notebook-pen-CiUgTpp-.js → notebook-pen-DzZsHKPn.js} +1 -1
- package/out/renderer/assets/{org-access-DMUk8SEr.js → org-access-B2_ZIy5A.js} +1 -1
- package/out/renderer/assets/{org-surface-gate-DdKUA8S8.js → org-surface-gate-BygOcwMP.js} +1 -1
- package/out/renderer/assets/{page-header-DyRHEB-L.js → page-header-CPOxzTkT.js} +1 -1
- package/out/renderer/assets/{pieDiagram-IB7DONF6-C3KFzuOU.js → pieDiagram-IB7DONF6-B46iHAdf.js} +1 -1
- package/out/renderer/assets/{projects-page-BdU99VZf.js → projects-page-Dnu4aFn8.js} +1 -1
- package/out/renderer/assets/{publication-validation-Cv6lnH83.js → publication-validation-Drtrxi_K.js} +1 -1
- package/out/renderer/assets/{quadrantDiagram-7GDLP6J5-DommBk0z.js → quadrantDiagram-7GDLP6J5-C75t3aEo.js} +1 -1
- package/out/renderer/assets/{radar-MK3ICKWK-D5VUcmjY.js → radar-MK3ICKWK-CJBxj3CR.js} +1 -1
- package/out/renderer/assets/{radient-auth-buttons-BXc5xVU7.js → radient-auth-buttons-Bidxea5I.js} +1 -1
- package/out/renderer/assets/{requirementDiagram-KVF5MWMF-RSR1-rSs.js → requirementDiagram-KVF5MWMF-DU98zhsJ.js} +1 -1
- package/out/renderer/assets/{sankeyDiagram-QLVOVGJD-Caojpkpm.js → sankeyDiagram-QLVOVGJD-BZ6FyTnr.js} +1 -1
- package/out/renderer/assets/{schedules-page-BWM0NUo9.js → schedules-page-BuvWSSxo.js} +1 -1
- package/out/renderer/assets/{sequenceDiagram-X6HHIX6F-CrZCUpMQ.js → sequenceDiagram-X6HHIX6F-mLpOc_fL.js} +1 -1
- package/out/renderer/assets/{settings-page-sXBnyGof.js → settings-page-I6YHq2CK.js} +1 -1
- package/out/renderer/assets/{smartart-BJStpUh7.js → smartart-Dc8xSTBM.js} +1 -1
- package/out/renderer/assets/{stateDiagram-DGXRK772-PFp2Dzsd.js → stateDiagram-DGXRK772-tqceD2-c.js} +1 -1
- package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-BDhmSYxY.js +1 -0
- package/out/renderer/assets/{team-bridge-page-pZkYpCnA.js → team-bridge-page-DWzmxmoj.js} +1 -1
- package/out/renderer/assets/{timeline-definition-BDJGKUSR-BI2T4N_q.js → timeline-definition-BDJGKUSR-ByRwOK4b.js} +1 -1
- package/out/renderer/assets/ui-preferences-store-D031PAZ1.js +1 -0
- package/out/renderer/assets/{use-download-agent-mutation-B3ghS441.js → use-download-agent-mutation-DlpEsjDM.js} +1 -1
- package/out/renderer/assets/{use-session-snapshot-BbulmIXL.js → use-session-snapshot-BvNfXQEV.js} +1 -1
- package/out/renderer/assets/{xychartDiagram-VJFVF3MP-CuNt7ik-.js → xychartDiagram-VJFVF3MP-RnUOVpB_.js} +1 -1
- package/out/renderer/console-capture.html +5 -5
- package/out/renderer/index.html +7 -7
- package/out/renderer/installer.html +4 -4
- package/out/renderer/mini.html +7 -7
- package/package.json +1 -1
- package/out/renderer/assets/browser-page-kxT2NYqz.js +0 -1
- package/out/renderer/assets/channel-D2-Cirxc.js +0 -1
- package/out/renderer/assets/classDiagram-GIVACNV2-D1u4IPED.js +0 -1
- package/out/renderer/assets/classDiagram-v2-COTLJTTW-D1u4IPED.js +0 -1
- package/out/renderer/assets/clone-D45gbF22.js +0 -1
- package/out/renderer/assets/index-DsY6xpO9.js +0 -57
- package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-DhzpDrem.js +0 -1
- package/out/renderer/assets/ui-preferences-store-BZs48Tq1.js +0 -1
package/out/main/index.js
CHANGED
|
@@ -24765,7 +24765,7 @@ function consoleCompletionHooks(deps) {
|
|
|
24765
24765
|
const state2 = deps.host()?.state();
|
|
24766
24766
|
return state2?.displayed_surface === surface;
|
|
24767
24767
|
};
|
|
24768
|
-
const completionFor = (surface, exitCode, key) => {
|
|
24768
|
+
const completionFor = (surface, exitCode, key, exitSignal = null) => {
|
|
24769
24769
|
const described = describe2(surface);
|
|
24770
24770
|
if (!described) return null;
|
|
24771
24771
|
return {
|
|
@@ -24773,6 +24773,7 @@ function consoleCompletionHooks(deps) {
|
|
|
24773
24773
|
surface,
|
|
24774
24774
|
surfaceName: described.command,
|
|
24775
24775
|
exitCode,
|
|
24776
|
+
exitSignal,
|
|
24776
24777
|
displayed: displayed(surface),
|
|
24777
24778
|
key
|
|
24778
24779
|
};
|
|
@@ -24826,7 +24827,8 @@ function consoleCompletionHooks(deps) {
|
|
|
24826
24827
|
*/
|
|
24827
24828
|
onExit: ({
|
|
24828
24829
|
surface,
|
|
24829
|
-
exitCode
|
|
24830
|
+
exitCode,
|
|
24831
|
+
exitSignal
|
|
24830
24832
|
}) => {
|
|
24831
24833
|
const key = exitKey(surface);
|
|
24832
24834
|
const previous = lastBanner.get(surface);
|
|
@@ -24836,7 +24838,7 @@ function consoleCompletionHooks(deps) {
|
|
|
24836
24838
|
);
|
|
24837
24839
|
return;
|
|
24838
24840
|
}
|
|
24839
|
-
const notice = completionFor(surface, exitCode, key);
|
|
24841
|
+
const notice = completionFor(surface, exitCode, key, exitSignal ?? null);
|
|
24840
24842
|
if (notice) announce(notice, "exit");
|
|
24841
24843
|
}
|
|
24842
24844
|
};
|
|
@@ -25426,6 +25428,7 @@ class ConsoleRegistry {
|
|
|
25426
25428
|
rows: input.rows,
|
|
25427
25429
|
running: input.live !== false,
|
|
25428
25430
|
exitCode: null,
|
|
25431
|
+
exitSignal: null,
|
|
25429
25432
|
lastActivity: this.now(),
|
|
25430
25433
|
live: input.live !== false,
|
|
25431
25434
|
retain: input.retain,
|
|
@@ -25549,6 +25552,18 @@ const PERSIST_FLUSH_MS = 250;
|
|
|
25549
25552
|
const PERSIST_FLUSH_BYTES = 256 * 1024;
|
|
25550
25553
|
const FRAME_RETRY_DELAY_MS = 120;
|
|
25551
25554
|
const CLOSE_GRACE_MS = 1500;
|
|
25555
|
+
const QUIT_EXIT_CAPTURE_MS = 400;
|
|
25556
|
+
function signalName(signal) {
|
|
25557
|
+
if (typeof signal === "string") {
|
|
25558
|
+
if (signal.length === 0) return null;
|
|
25559
|
+
return signal.startsWith("SIG") ? signal : `SIG${signal}`;
|
|
25560
|
+
}
|
|
25561
|
+
if (typeof signal !== "number" || signal <= 0) return null;
|
|
25562
|
+
for (const [name, number] of Object.entries(os.constants.signals))
|
|
25563
|
+
if (number === signal) return name;
|
|
25564
|
+
return `SIG${signal}`;
|
|
25565
|
+
}
|
|
25566
|
+
const QUIT_SIGNAL_GRACE_MS = 900;
|
|
25552
25567
|
const SURFACE_ENV_MARKER = "LOCAL_OPERATOR_CONSOLE_SURFACE";
|
|
25553
25568
|
const SESSION_ENV_MARKER = "LOCAL_OPERATOR_CONSOLE_SESSION";
|
|
25554
25569
|
const SURFACE_TERM = "xterm-256color";
|
|
@@ -25624,6 +25639,12 @@ class ConsoleHost {
|
|
|
25624
25639
|
* removes the record rather than leaving a surface that lists as running.
|
|
25625
25640
|
*/
|
|
25626
25641
|
create(options) {
|
|
25642
|
+
if (this.disposing)
|
|
25643
|
+
throw new ConsoleError(
|
|
25644
|
+
"console_unavailable",
|
|
25645
|
+
"The console host is shutting down",
|
|
25646
|
+
{ reason: "host_disposing" }
|
|
25647
|
+
);
|
|
25627
25648
|
if (this.failedAllocations.size)
|
|
25628
25649
|
throw new ConsoleError(
|
|
25629
25650
|
"console_unavailable",
|
|
@@ -25708,7 +25729,9 @@ class ConsoleHost {
|
|
|
25708
25729
|
};
|
|
25709
25730
|
this.registry.attach(surface, runtime);
|
|
25710
25731
|
pty.onData((data) => this.consume(surface, data));
|
|
25711
|
-
pty.onExit(
|
|
25732
|
+
pty.onExit(
|
|
25733
|
+
(event) => this.exited(surface, event.exitCode, signalName(event.signal))
|
|
25734
|
+
);
|
|
25712
25735
|
if (options.input) pty.write(options.input);
|
|
25713
25736
|
if (entry.record.retain) this.flush(surface);
|
|
25714
25737
|
this.options.log(
|
|
@@ -25810,10 +25833,13 @@ class ConsoleHost {
|
|
|
25810
25833
|
meta.surface,
|
|
25811
25834
|
Number.isFinite(meta.exit_epoch) ? meta.exit_epoch : 0
|
|
25812
25835
|
);
|
|
25836
|
+
if (meta.end_reason === "app_quit")
|
|
25837
|
+
this.endReasons.set(meta.surface, "app_quit");
|
|
25813
25838
|
if (!existing)
|
|
25814
25839
|
this.registry.update(meta.surface, {
|
|
25815
25840
|
running: false,
|
|
25816
25841
|
exitCode: meta.exit_code,
|
|
25842
|
+
exitSignal: meta.exit_signal,
|
|
25817
25843
|
live: false,
|
|
25818
25844
|
secure: meta.secure === true,
|
|
25819
25845
|
lastActivity: meta.last_seen_at
|
|
@@ -25872,6 +25898,7 @@ class ConsoleHost {
|
|
|
25872
25898
|
this.registry.update(entry.record.surface, {
|
|
25873
25899
|
running: false,
|
|
25874
25900
|
exitCode: meta.exit_code,
|
|
25901
|
+
exitSignal: meta.exit_signal,
|
|
25875
25902
|
live: false,
|
|
25876
25903
|
lastActivity: meta.last_seen_at
|
|
25877
25904
|
});
|
|
@@ -25913,6 +25940,12 @@ class ConsoleHost {
|
|
|
25913
25940
|
rows: record.rows,
|
|
25914
25941
|
running: record.running,
|
|
25915
25942
|
exit_code: record.exitCode,
|
|
25943
|
+
exit_signal: record.exitSignal,
|
|
25944
|
+
/* Why the end happened when no code was observable (§7.3). Only the quit
|
|
25945
|
+
* path writes one, and it is the difference between "nobody could have
|
|
25946
|
+
* seen this" and main's old silence, which the pane read as an unknown
|
|
25947
|
+
* status. */
|
|
25948
|
+
end_reason: this.endReasons.get(record.surface) ?? null,
|
|
25916
25949
|
last_activity: record.lastActivity,
|
|
25917
25950
|
live: record.live,
|
|
25918
25951
|
agent_owned: record.origin === "agent",
|
|
@@ -25947,6 +25980,8 @@ class ConsoleHost {
|
|
|
25947
25980
|
return {
|
|
25948
25981
|
running: entry.record.running,
|
|
25949
25982
|
exit_code: entry.record.exitCode,
|
|
25983
|
+
exit_signal: entry.record.exitSignal,
|
|
25984
|
+
end_reason: this.endReasons.get(surface) ?? null,
|
|
25950
25985
|
// The retention layer's counter, bumped once per `process_exited` (§7.3,
|
|
25951
25986
|
// §10.2). Read from the host's live view of it: the sidecar is what makes
|
|
25952
25987
|
// it survive a relaunch, and this is what the running process reports.
|
|
@@ -26430,14 +26465,16 @@ class ConsoleHost {
|
|
|
26430
26465
|
}, OUTPUT_COALESCE_MS);
|
|
26431
26466
|
runtime.pendingTimer.unref?.();
|
|
26432
26467
|
}
|
|
26433
|
-
exited(surface, exitCode) {
|
|
26468
|
+
exited(surface, exitCode, exitSignal = null) {
|
|
26434
26469
|
const entry = this.registry.find(surface);
|
|
26435
26470
|
if (!entry || !entry.runtime) return;
|
|
26436
26471
|
this.registry.update(surface, {
|
|
26437
26472
|
running: false,
|
|
26438
26473
|
exitCode,
|
|
26474
|
+
exitSignal,
|
|
26439
26475
|
lastActivity: this.now()
|
|
26440
26476
|
});
|
|
26477
|
+
this.endReasons.delete(surface);
|
|
26441
26478
|
this.bumpExitEpoch(entry);
|
|
26442
26479
|
if (entry.record.retain) this.flush(surface);
|
|
26443
26480
|
const runtime = entry.runtime;
|
|
@@ -26446,18 +26483,20 @@ class ConsoleHost {
|
|
|
26446
26483
|
if (!runtime.exitDelivered) {
|
|
26447
26484
|
runtime.exitDelivered = true;
|
|
26448
26485
|
for (const subscriber of runtime.subscribers) {
|
|
26449
|
-
subscriber.exit({ surface, exitCode });
|
|
26486
|
+
subscriber.exit({ surface, exitCode, exitSignal });
|
|
26450
26487
|
}
|
|
26451
26488
|
}
|
|
26452
26489
|
this.options.log(
|
|
26453
|
-
`[console] surface ${redactSurface(surface)} exited ${exitCode}`
|
|
26490
|
+
`[console] surface ${redactSurface(surface)} exited ${exitCode}${exitSignal === null ? "" : ` by ${exitSignal}`}`
|
|
26454
26491
|
);
|
|
26455
26492
|
this.options.onChanged?.();
|
|
26456
|
-
this.
|
|
26457
|
-
|
|
26458
|
-
|
|
26459
|
-
|
|
26460
|
-
|
|
26493
|
+
if (!this.disposing)
|
|
26494
|
+
this.options.onExit?.({
|
|
26495
|
+
surface,
|
|
26496
|
+
sessionId: entry.record.sessionId,
|
|
26497
|
+
exitCode,
|
|
26498
|
+
exitSignal
|
|
26499
|
+
});
|
|
26461
26500
|
void runtime.emulator.whenIdle().then(() => {
|
|
26462
26501
|
const current = this.registry.find(surface);
|
|
26463
26502
|
if (!current || current.runtime !== runtime || current.record.running || !current.record.retain || current.record.secure || current.runtime.subscribers.size || surface === this.displayed || !this.options.history)
|
|
@@ -26812,6 +26851,8 @@ class ConsoleHost {
|
|
|
26812
26851
|
created_at: this.createdAt.get(surface) ?? this.now(),
|
|
26813
26852
|
last_seen_at: record.lastActivity,
|
|
26814
26853
|
exit_code: record.exitCode,
|
|
26854
|
+
exit_signal: record.exitSignal,
|
|
26855
|
+
end_reason: this.endReasons.get(surface) ?? null,
|
|
26815
26856
|
truncated: runtime.log.truncated,
|
|
26816
26857
|
exit_epoch: this.exitEpoch.get(surface) ?? 0,
|
|
26817
26858
|
secure: record.secure,
|
|
@@ -26926,10 +26967,62 @@ class ConsoleHost {
|
|
|
26926
26967
|
this.persistedBytes.delete(surface);
|
|
26927
26968
|
this.metaSignatures.delete(surface);
|
|
26928
26969
|
this.exitEpoch.delete(surface);
|
|
26970
|
+
this.endReasons.delete(surface);
|
|
26929
26971
|
this.options.onChanged?.();
|
|
26930
26972
|
}
|
|
26973
|
+
/**
|
|
26974
|
+
* Let the quit path OBSERVE a surface's exit instead of killing it blind (§7.3).
|
|
26975
|
+
*
|
|
26976
|
+
* THE DEFECT THIS CLOSES: `dispose` used to persist the sidecar (with
|
|
26977
|
+
* `exit_code: null`) and then kill the pty, so the next launch restored "exit
|
|
26978
|
+
* code not observed" for a surface the app itself closed — a status the app
|
|
26979
|
+
* could have had, reported as one nobody could have. The order is now flush,
|
|
26980
|
+
* signal, wait, and let the exit land in the record before the final persist.
|
|
26981
|
+
*
|
|
26982
|
+
* BOUNDED TWICE, AND IN PARALLEL ACROSS SURFACES (`dispose` awaits them all at
|
|
26983
|
+
* once): SIGTERM gets the same grace a user-initiated close does, SIGKILL gets
|
|
26984
|
+
* `QUIT_EXIT_CAPTURE_MS` for the event loop to deliver its `onExit`, and only
|
|
26985
|
+
* after BOTH fail is the end recorded as `app_quit` — the honest sentence for a
|
|
26986
|
+
* status that genuinely could not be observed, and distinguishable from a legacy
|
|
26987
|
+
* sidecar that never looked.
|
|
26988
|
+
*/
|
|
26989
|
+
async settleOnQuit(entry, persistHistory) {
|
|
26990
|
+
const runtime = entry.runtime;
|
|
26991
|
+
if (!runtime || !entry.record.running || !runtime.pty) return;
|
|
26992
|
+
if (persistHistory && entry.record.retain) this.persist(entry, runtime);
|
|
26993
|
+
const pty = runtime.pty;
|
|
26994
|
+
const exit = new Promise((resolve) => {
|
|
26995
|
+
runtime.exitWaiters.push(resolve);
|
|
26996
|
+
});
|
|
26997
|
+
let signalled = true;
|
|
26998
|
+
try {
|
|
26999
|
+
pty.kill();
|
|
27000
|
+
} catch {
|
|
27001
|
+
signalled = false;
|
|
27002
|
+
}
|
|
27003
|
+
const observed = await Promise.race([
|
|
27004
|
+
exit,
|
|
27005
|
+
delay(QUIT_SIGNAL_GRACE_MS).then(() => null)
|
|
27006
|
+
]);
|
|
27007
|
+
if (observed !== null) return;
|
|
27008
|
+
try {
|
|
27009
|
+
pty.kill("SIGKILL");
|
|
27010
|
+
} catch {
|
|
27011
|
+
}
|
|
27012
|
+
const killed = await Promise.race([
|
|
27013
|
+
exit,
|
|
27014
|
+
delay(QUIT_EXIT_CAPTURE_MS).then(() => null)
|
|
27015
|
+
]);
|
|
27016
|
+
if (killed === null) {
|
|
27017
|
+
this.endReasons.set(entry.record.surface, "app_quit");
|
|
27018
|
+
this.options.log(
|
|
27019
|
+
`[console] surface ${redactSurface(entry.record.surface)} did not report an exit within the quit bound${signalled ? "" : " (the signal itself was refused)"}; recording app_quit`
|
|
27020
|
+
);
|
|
27021
|
+
}
|
|
27022
|
+
}
|
|
26931
27023
|
/** Stop everything: every pty, every record, every subscriber. */
|
|
26932
|
-
dispose(persistHistory = true) {
|
|
27024
|
+
async dispose(persistHistory = true) {
|
|
27025
|
+
this.disposing = true;
|
|
26933
27026
|
const allocationFailures = [...this.failedAllocations].flatMap(
|
|
26934
27027
|
(allocation) => this.releaseFailedAllocation(allocation)
|
|
26935
27028
|
);
|
|
@@ -26980,21 +27073,31 @@ class ConsoleHost {
|
|
|
26980
27073
|
failures,
|
|
26981
27074
|
"Partial console runtime cleanup incomplete."
|
|
26982
27075
|
);
|
|
26983
|
-
} else
|
|
26984
|
-
|
|
27076
|
+
} else {
|
|
27077
|
+
const entries = this.registry.list();
|
|
27078
|
+
for (const entry of entries) {
|
|
26985
27079
|
const runtime = entry.runtime;
|
|
26986
27080
|
if (!runtime) continue;
|
|
26987
27081
|
if (runtime.pendingTimer) clearTimeout(runtime.pendingTimer);
|
|
26988
27082
|
if (runtime.persistTimer) clearTimeout(runtime.persistTimer);
|
|
26989
27083
|
runtime.subscribers.clear();
|
|
27084
|
+
}
|
|
27085
|
+
await Promise.all(
|
|
27086
|
+
entries.map((entry) => this.settleOnQuit(entry, persistHistory))
|
|
27087
|
+
);
|
|
27088
|
+
for (const entry of entries) {
|
|
27089
|
+
const runtime = entry.runtime;
|
|
27090
|
+
if (!runtime) continue;
|
|
26990
27091
|
if (persistHistory && entry.record.retain) this.persist(entry, runtime);
|
|
26991
|
-
if (entry.record.running) runtime.pty?.kill();
|
|
26992
27092
|
runtime.emulator.dispose();
|
|
26993
27093
|
}
|
|
27094
|
+
this.registry.clear();
|
|
27095
|
+
}
|
|
26994
27096
|
this.createdAt.clear();
|
|
26995
27097
|
this.persistedBytes.clear();
|
|
26996
27098
|
this.metaSignatures.clear();
|
|
26997
27099
|
this.exitEpoch.clear();
|
|
27100
|
+
this.endReasons.clear();
|
|
26998
27101
|
if (allocationFailures.length)
|
|
26999
27102
|
throw new AggregateError(
|
|
27000
27103
|
allocationFailures,
|
|
@@ -27012,10 +27115,23 @@ class ConsoleHost {
|
|
|
27012
27115
|
metaSignatures = /* @__PURE__ */ new Map();
|
|
27013
27116
|
/** Each surface's exit generation, seeded from the sidecar on restore (§7.3). */
|
|
27014
27117
|
exitEpoch = /* @__PURE__ */ new Map();
|
|
27118
|
+
/**
|
|
27119
|
+
* Why a surface's end could not be observed, when the quit path itself ended it.
|
|
27120
|
+
*
|
|
27121
|
+
* A SEPARATE MAP FROM THE RECORD, like `exitEpoch`: the reason has to outlive the
|
|
27122
|
+
* process that owns the record (it is persisted into the sidecar and read back on
|
|
27123
|
+
* the next launch), and it is cleared the moment a real exit is observed so a
|
|
27124
|
+
* subsequent run under the same handle cannot inherit the previous ending.
|
|
27125
|
+
*/
|
|
27126
|
+
endReasons = /* @__PURE__ */ new Map();
|
|
27127
|
+
/** True from the first line of `dispose`; refuses creates and suppresses the
|
|
27128
|
+
* completion seam for the whole teardown (M-1, m-2). */
|
|
27129
|
+
disposing = false;
|
|
27015
27130
|
}
|
|
27016
27131
|
function metaSignature(meta) {
|
|
27017
27132
|
return [
|
|
27018
27133
|
meta.exit_code,
|
|
27134
|
+
meta.end_reason ?? "",
|
|
27019
27135
|
meta.truncated,
|
|
27020
27136
|
meta.cols,
|
|
27021
27137
|
meta.rows,
|
|
@@ -27639,6 +27755,9 @@ class ConsoleHistory {
|
|
|
27639
27755
|
function parseMeta(raw) {
|
|
27640
27756
|
const meta = JSON.parse(raw);
|
|
27641
27757
|
if (typeof meta.exit_epoch !== "number") meta.exit_epoch = 0;
|
|
27758
|
+
if (meta.end_reason !== "app_quit") meta.end_reason = null;
|
|
27759
|
+
if (typeof meta.exit_signal !== "string" || !/^SIG[A-Z0-9]+$/.test(meta.exit_signal))
|
|
27760
|
+
meta.exit_signal = null;
|
|
27642
27761
|
return meta;
|
|
27643
27762
|
}
|
|
27644
27763
|
function enforceModes(path2) {
|
|
@@ -28171,12 +28290,12 @@ async function startConsoleHost(options) {
|
|
|
28171
28290
|
let policyWatcher = null;
|
|
28172
28291
|
let capacityProbe = null;
|
|
28173
28292
|
let rollbackOwners = [];
|
|
28174
|
-
const cleanupStartupOwners = () => {
|
|
28293
|
+
const cleanupStartupOwners = async () => {
|
|
28175
28294
|
const pending = [];
|
|
28176
28295
|
const failures = [];
|
|
28177
28296
|
for (const release of rollbackOwners.splice(0).reverse()) {
|
|
28178
28297
|
try {
|
|
28179
|
-
release();
|
|
28298
|
+
await release();
|
|
28180
28299
|
} catch (error) {
|
|
28181
28300
|
pending.unshift(release);
|
|
28182
28301
|
failures.push(error);
|
|
@@ -28326,13 +28445,13 @@ async function startConsoleHost(options) {
|
|
|
28326
28445
|
capacityProbe?.stop();
|
|
28327
28446
|
unregisterConsoleIpc();
|
|
28328
28447
|
capture?.dispose();
|
|
28329
|
-
readyHost.dispose();
|
|
28448
|
+
await readyHost.dispose();
|
|
28330
28449
|
log2("[console] host stopped");
|
|
28331
28450
|
}
|
|
28332
28451
|
};
|
|
28333
28452
|
} catch (error) {
|
|
28334
28453
|
try {
|
|
28335
|
-
cleanupStartupOwners();
|
|
28454
|
+
await cleanupStartupOwners();
|
|
28336
28455
|
} catch (cleanupError) {
|
|
28337
28456
|
log2(
|
|
28338
28457
|
`[console] partial cleanup retained for stop: ${String(cleanupError)}`
|
|
@@ -28350,7 +28469,7 @@ async function startConsoleHost(options) {
|
|
|
28350
28469
|
policyWatcher?.stop();
|
|
28351
28470
|
capacityProbe?.stop();
|
|
28352
28471
|
unregisterConsoleIpc();
|
|
28353
|
-
cleanupStartupOwners();
|
|
28472
|
+
await cleanupStartupOwners();
|
|
28354
28473
|
}
|
|
28355
28474
|
};
|
|
28356
28475
|
}
|
|
@@ -36236,6 +36355,7 @@ const enUiConsole = {
|
|
|
36236
36355
|
"ui.console.empty.detail": "A console runs a program in this conversation's directory and keeps its output, whether or not this pane is open.",
|
|
36237
36356
|
"ui.console.empty.title": "No console in this session",
|
|
36238
36357
|
"ui.console.ended.exit_code": "exit code {code}",
|
|
36358
|
+
"ui.console.ended.exit_signal": "killed by {signal}",
|
|
36239
36359
|
"ui.console.ended.exit_unknown": "exit code not observed",
|
|
36240
36360
|
"ui.console.ended.live": "This terminal has ended",
|
|
36241
36361
|
"ui.console.ended.restored": "This terminal has ended and its history was restored",
|
|
@@ -36256,6 +36376,7 @@ const enUiConsole = {
|
|
|
36256
36376
|
"ui.console.unavailable.title": "The console is not available in this app",
|
|
36257
36377
|
"ui.console.unavailable.unknown.detail": "This window could not reach the console, and did not say why. The app's log carries the reason.",
|
|
36258
36378
|
"ui.console.tab.ended": "ended",
|
|
36379
|
+
"ui.console.tab.exit_code": "exit {code}",
|
|
36259
36380
|
"ui.console.tab.agent_opened": "An agent opened this console",
|
|
36260
36381
|
"ui.console.tab.agent_typed": "An agent has typed into this console",
|
|
36261
36382
|
"ui.console.tab.close_label": "Close {title}, tab {index, number, ::group-off} of {total, number, ::group-off}",
|
|
@@ -36266,7 +36387,11 @@ const enUiConsole = {
|
|
|
36266
36387
|
"ui.console.secure_toggle.start_tooltip": "Secure input: stop recording this terminal",
|
|
36267
36388
|
"ui.console.close.cancel": "Cancel",
|
|
36268
36389
|
"ui.console.terminal.prompt_label": "Terminal input",
|
|
36269
|
-
"ui.console.terminal.too_much_output": "Too much output to announce, navigate to rows manually to read"
|
|
36390
|
+
"ui.console.terminal.too_much_output": "Too much output to announce, navigate to rows manually to read",
|
|
36391
|
+
"ui.console.ended.app_quit": "the app closed it when it quit",
|
|
36392
|
+
"ui.console.ended.marker": "End of history",
|
|
36393
|
+
"ui.console.ended.marker_detail": "This terminal is read-only. Select text to copy it.",
|
|
36394
|
+
"ui.console.ended.input_blocked": "This terminal has ended, so that key was not sent. Open a new console to type again."
|
|
36270
36395
|
};
|
|
36271
36396
|
const enUiHubComments = {
|
|
36272
36397
|
"ui.hub.comments.delete.confirm": "Are you sure you want to delete this comment?",
|
|
@@ -39816,9 +39941,14 @@ const esUiConsole = {
|
|
|
39816
39941
|
"ui.console.create_failed.title": "No se pudo iniciar la consola en esta sesión",
|
|
39817
39942
|
"ui.console.empty.detail": "Una consola ejecuta un programa en la carpeta de esta conversación y conserva su salida, aunque este panel esté cerrado.",
|
|
39818
39943
|
"ui.console.empty.title": "No hay ninguna consola en esta sesión",
|
|
39944
|
+
"ui.console.ended.app_quit": "la app la cerró al salir",
|
|
39819
39945
|
"ui.console.ended.exit_code": "código de salida {code}",
|
|
39946
|
+
"ui.console.ended.exit_signal": "terminada por {signal}",
|
|
39820
39947
|
"ui.console.ended.exit_unknown": "código de salida no observado",
|
|
39948
|
+
"ui.console.ended.input_blocked": "Esta terminal ha finalizado, así que esa tecla no se envió. Abre una nueva consola para volver a escribir.",
|
|
39821
39949
|
"ui.console.ended.live": "Esta terminal ha finalizado",
|
|
39950
|
+
"ui.console.ended.marker": "Fin del historial",
|
|
39951
|
+
"ui.console.ended.marker_detail": "Esta terminal es de solo lectura. Selecciona el texto para copiarlo.",
|
|
39822
39952
|
"ui.console.ended.restored": "Esta terminal ha finalizado y se ha restaurado su historial",
|
|
39823
39953
|
"ui.console.loading.create": "Iniciando una consola",
|
|
39824
39954
|
"ui.console.loading.read": "Leyendo la consola de esta sesión",
|
|
@@ -39837,6 +39967,7 @@ const esUiConsole = {
|
|
|
39837
39967
|
"ui.console.unavailable.title": "La consola no está disponible en esta app",
|
|
39838
39968
|
"ui.console.unavailable.unknown.detail": "Esta ventana no pudo acceder a la consola y no indicó por qué. El registro de la app contiene el motivo.",
|
|
39839
39969
|
"ui.console.tab.ended": "finalizada",
|
|
39970
|
+
"ui.console.tab.exit_code": "código {code}",
|
|
39840
39971
|
"ui.console.tab.agent_opened": "Un agente abrió esta consola",
|
|
39841
39972
|
"ui.console.tab.agent_typed": "Un agente ha escrito en esta consola",
|
|
39842
39973
|
"ui.console.tab.close_label": "Cerrar {title}, pestaña {index, number, ::group-off} de {total, number, ::group-off}",
|
|
@@ -43382,9 +43513,14 @@ const frUiConsole = {
|
|
|
43382
43513
|
"ui.console.create_failed.title": "Impossible de démarrer la console dans cette session",
|
|
43383
43514
|
"ui.console.empty.detail": "Une console exécute un programme dans le dossier de cette conversation et conserve sa sortie, même si ce volet est fermé.",
|
|
43384
43515
|
"ui.console.empty.title": "Aucune console dans cette session",
|
|
43516
|
+
"ui.console.ended.app_quit": "l’application l’a fermé en quittant",
|
|
43385
43517
|
"ui.console.ended.exit_code": "code de sortie {code}",
|
|
43518
|
+
"ui.console.ended.exit_signal": "tué par {signal}",
|
|
43386
43519
|
"ui.console.ended.exit_unknown": "code de sortie non observé",
|
|
43520
|
+
"ui.console.ended.input_blocked": "Ce terminal est terminé : cette touche n’a pas été envoyée. Ouvrez une nouvelle console pour saisir à nouveau.",
|
|
43387
43521
|
"ui.console.ended.live": "Ce terminal est terminé",
|
|
43522
|
+
"ui.console.ended.marker": "Fin de l’historique",
|
|
43523
|
+
"ui.console.ended.marker_detail": "Ce terminal est en lecture seule. Sélectionnez le texte à copier.",
|
|
43388
43524
|
"ui.console.ended.restored": "Ce terminal est terminé, historique restauré",
|
|
43389
43525
|
"ui.console.loading.create": "Démarrage d’une console",
|
|
43390
43526
|
"ui.console.loading.read": "Lecture de la console de cette session",
|
|
@@ -43418,6 +43554,7 @@ const frUiConsole = {
|
|
|
43418
43554
|
"ui.console.dismiss.title": "Effacer ce terminal ?",
|
|
43419
43555
|
"ui.console.dismiss.confirm": "Effacer le terminal",
|
|
43420
43556
|
"ui.console.tab.ended": "terminé",
|
|
43557
|
+
"ui.console.tab.exit_code": "sortie {code}",
|
|
43421
43558
|
"ui.console.tab.agent_opened": "Un agent a ouvert cette console",
|
|
43422
43559
|
"ui.console.tab.agent_typed": "Un agent a saisi du texte dans cette console",
|
|
43423
43560
|
"ui.console.tab.close_label": "Fermer {title}, onglet {index, number, ::group-off} sur {total, number, ::group-off}",
|
|
@@ -46947,9 +47084,14 @@ const hiUiConsole = {
|
|
|
46947
47084
|
"ui.console.create_failed.title": "इस सत्र में कंसोल शुरू नहीं हो सका",
|
|
46948
47085
|
"ui.console.empty.detail": "कंसोल इस बातचीत के फ़ोल्डर में प्रोग्राम चलाता है और उसका आउटपुट रखता है, चाहे यह पैनल खुला हो या नहीं।",
|
|
46949
47086
|
"ui.console.empty.title": "इस सत्र में कोई कंसोल नहीं है",
|
|
47087
|
+
"ui.console.ended.app_quit": "ऐप बंद होने पर इसे बंद किया गया",
|
|
46950
47088
|
"ui.console.ended.exit_code": "एग्ज़िट कोड {code}",
|
|
47089
|
+
"ui.console.ended.exit_signal": "{signal} से बंद किया गया",
|
|
46951
47090
|
"ui.console.ended.exit_unknown": "एग्ज़िट कोड उपलब्ध नहीं है",
|
|
47091
|
+
"ui.console.ended.input_blocked": "यह टर्मिनल समाप्त हो चुका है, इसलिए वह कुंजी नहीं भेजी गई। फिर से टाइप करने के लिए नया कंसोल खोलें।",
|
|
46952
47092
|
"ui.console.ended.live": "यह टर्मिनल समाप्त हो चुका है",
|
|
47093
|
+
"ui.console.ended.marker": "इतिहास का अंत",
|
|
47094
|
+
"ui.console.ended.marker_detail": "यह टर्मिनल सिर्फ़ पढ़ने के लिए है। कॉपी करने के लिए टेक्स्ट चुनें।",
|
|
46953
47095
|
"ui.console.ended.restored": "यह टर्मिनल समाप्त हो चुका है और उसका इतिहास बहाल किया गया है",
|
|
46954
47096
|
"ui.console.loading.create": "कंसोल शुरू हो रहा है",
|
|
46955
47097
|
"ui.console.loading.read": "इस सत्र का कंसोल पढ़ा जा रहा है",
|
|
@@ -46968,6 +47110,7 @@ const hiUiConsole = {
|
|
|
46968
47110
|
"ui.console.unavailable.title": "इस ऐप में कंसोल उपलब्ध नहीं है",
|
|
46969
47111
|
"ui.console.unavailable.unknown.detail": "यह विंडो कंसोल से संपर्क नहीं कर सकी और इसकी वजह नहीं बताई। वजह ऐप के लॉग में दी गई है।",
|
|
46970
47112
|
"ui.console.tab.ended": "समाप्त",
|
|
47113
|
+
"ui.console.tab.exit_code": "एग्ज़िट {code}",
|
|
46971
47114
|
"ui.console.tab.agent_opened": "यह कंसोल किसी एजेंट ने खोला था",
|
|
46972
47115
|
"ui.console.tab.agent_typed": "इस कंसोल में किसी एजेंट ने टाइप किया है",
|
|
46973
47116
|
"ui.console.tab.close_label": "{title} बंद करें, टैब {index, number, ::group-off}, कुल {total, number, ::group-off}",
|
|
@@ -50325,9 +50468,14 @@ const ruUiConsole = {
|
|
|
50325
50468
|
"ui.console.create_failed.title": "Не удалось запустить консоль в этой сессии",
|
|
50326
50469
|
"ui.console.empty.detail": "Консоль запускает программу в папке этого разговора и сохраняет её вывод, даже когда эта панель закрыта.",
|
|
50327
50470
|
"ui.console.empty.title": "В этой сессии нет консоли",
|
|
50471
|
+
"ui.console.ended.app_quit": "приложение закрыло его при выходе",
|
|
50328
50472
|
"ui.console.ended.exit_code": "код завершения {code}",
|
|
50473
|
+
"ui.console.ended.exit_signal": "остановлен сигналом {signal}",
|
|
50329
50474
|
"ui.console.ended.exit_unknown": "код завершения не получен",
|
|
50475
|
+
"ui.console.ended.input_blocked": "Этот терминал завершил работу, поэтому нажатие не отправлено. Откройте новую консоль, чтобы снова вводить текст.",
|
|
50330
50476
|
"ui.console.ended.live": "Этот терминал завершил работу",
|
|
50477
|
+
"ui.console.ended.marker": "Конец истории",
|
|
50478
|
+
"ui.console.ended.marker_detail": "Терминал только для чтения. Выделите текст, чтобы скопировать его.",
|
|
50331
50479
|
"ui.console.ended.restored": "Этот терминал завершил работу; его история восстановлена",
|
|
50332
50480
|
"ui.console.loading.create": "Запуск консоли",
|
|
50333
50481
|
"ui.console.loading.read": "Чтение консоли этой сессии",
|
|
@@ -50346,6 +50494,7 @@ const ruUiConsole = {
|
|
|
50346
50494
|
"ui.console.unavailable.title": "Консоль недоступна в этом приложении",
|
|
50347
50495
|
"ui.console.unavailable.unknown.detail": "Это окно не смогло подключиться к консоли и не сообщило причину. Она указана в журнале приложения.",
|
|
50348
50496
|
"ui.console.tab.ended": "завершён",
|
|
50497
|
+
"ui.console.tab.exit_code": "код {code}",
|
|
50349
50498
|
"ui.console.tab.agent_opened": "Агент открыл эту консоль",
|
|
50350
50499
|
"ui.console.tab.agent_typed": "Агент вводил текст в этой консоли",
|
|
50351
50500
|
"ui.console.tab.close_label": "Закрыть {title}, вкладка {index, number, ::group-off} из {total, number, ::group-off}",
|
|
@@ -53789,9 +53938,14 @@ const urUiConsole = {
|
|
|
53789
53938
|
"ui.console.create_failed.title": "اس سیشن میں کنسول شروع نہیں ہو سکا",
|
|
53790
53939
|
"ui.console.empty.detail": "کنسول اس گفتگو کی ڈائریکٹری میں پروگرام چلاتا اور اس کا آؤٹ پٹ محفوظ رکھتا ہے، چاہے یہ پین کھلا ہو یا نہ ہو۔",
|
|
53791
53940
|
"ui.console.empty.title": "اس سیشن میں کوئی کنسول نہیں",
|
|
53941
|
+
"ui.console.ended.app_quit": "ایپ کے بند ہونے پر اسے بند کر دیا گیا",
|
|
53792
53942
|
"ui.console.ended.exit_code": "اخراج کوڈ {code}",
|
|
53943
|
+
"ui.console.ended.exit_signal": "{signal} کے ذریعے ختم کیا گیا",
|
|
53793
53944
|
"ui.console.ended.exit_unknown": "اخراج کوڈ معلوم نہیں ہوا",
|
|
53945
|
+
"ui.console.ended.input_blocked": "یہ ٹرمینل ختم ہو چکا ہے، اس لیے وہ کلید نہیں بھیجی گئی۔ دوبارہ ٹائپ کرنے کے لیے نیا کنسول کھولیں۔",
|
|
53794
53946
|
"ui.console.ended.live": "یہ ٹرمینل ختم ہو چکا ہے",
|
|
53947
|
+
"ui.console.ended.marker": "تاریخچے کا اختتام",
|
|
53948
|
+
"ui.console.ended.marker_detail": "یہ ٹرمینل صرف پڑھنے کے لیے ہے۔ اسے نقل کرنے کے لیے متن منتخب کریں۔",
|
|
53795
53949
|
"ui.console.ended.restored": "یہ ٹرمینل ختم ہو چکا ہے اور اس کا تاریخچہ بحال ہو گیا",
|
|
53796
53950
|
"ui.console.loading.create": "کنسول شروع ہو رہا ہے",
|
|
53797
53951
|
"ui.console.loading.read": "اس سیشن کا کنسول پڑھا جا رہا ہے",
|
|
@@ -53810,6 +53964,7 @@ const urUiConsole = {
|
|
|
53810
53964
|
"ui.console.unavailable.title": "اس ایپ میں کنسول دستیاب نہیں",
|
|
53811
53965
|
"ui.console.unavailable.unknown.detail": "یہ ونڈو کنسول تک نہیں پہنچ سکی، اور وجہ نہیں بتائی۔ وجہ ایپ کے لاگ میں درج ہے۔",
|
|
53812
53966
|
"ui.console.tab.ended": "ختم شدہ",
|
|
53967
|
+
"ui.console.tab.exit_code": "اخراج {code}",
|
|
53813
53968
|
"ui.console.tab.agent_opened": "ایک ایجنٹ نے یہ کنسول کھولا",
|
|
53814
53969
|
"ui.console.tab.agent_typed": "ایک ایجنٹ نے اس کنسول میں ٹائپ کیا ہے",
|
|
53815
53970
|
"ui.console.tab.close_label": "{title} بند کریں، {total, number, ::group-off} میں سے ٹیب {index, number, ::group-off}",
|
|
@@ -57167,9 +57322,14 @@ const viUiConsole = {
|
|
|
57167
57322
|
"ui.console.create_failed.title": "Không thể khởi động bảng lệnh trong phiên này",
|
|
57168
57323
|
"ui.console.empty.detail": "Bảng lệnh chạy chương trình trong thư mục của cuộc trò chuyện này và giữ lại đầu ra, dù khung này có mở hay không.",
|
|
57169
57324
|
"ui.console.empty.title": "Phiên này chưa có bảng lệnh",
|
|
57325
|
+
"ui.console.ended.app_quit": "ứng dụng đã đóng nó khi thoát",
|
|
57170
57326
|
"ui.console.ended.exit_code": "mã thoát {code}",
|
|
57327
|
+
"ui.console.ended.exit_signal": "bị dừng bởi {signal}",
|
|
57171
57328
|
"ui.console.ended.exit_unknown": "chưa ghi nhận mã thoát",
|
|
57329
|
+
"ui.console.ended.input_blocked": "Cửa sổ dòng lệnh này đã kết thúc nên phím đó không được gửi. Mở bảng lệnh mới để nhập lại.",
|
|
57172
57330
|
"ui.console.ended.live": "Cửa sổ dòng lệnh này đã kết thúc",
|
|
57331
|
+
"ui.console.ended.marker": "Kết thúc lịch sử",
|
|
57332
|
+
"ui.console.ended.marker_detail": "Cửa sổ dòng lệnh này chỉ đọc. Chọn văn bản để sao chép.",
|
|
57173
57333
|
"ui.console.ended.restored": "Cửa sổ dòng lệnh này đã kết thúc và lịch sử đã được khôi phục",
|
|
57174
57334
|
"ui.console.loading.create": "Đang khởi động bảng lệnh",
|
|
57175
57335
|
"ui.console.loading.read": "Đang đọc bảng lệnh của phiên này",
|
|
@@ -57188,6 +57348,7 @@ const viUiConsole = {
|
|
|
57188
57348
|
"ui.console.unavailable.title": "Bảng lệnh không khả dụng trong ứng dụng này",
|
|
57189
57349
|
"ui.console.unavailable.unknown.detail": "Cửa sổ này không truy cập được bảng lệnh và không cho biết lý do. Lý do có trong nhật ký ứng dụng.",
|
|
57190
57350
|
"ui.console.tab.ended": "đã kết thúc",
|
|
57351
|
+
"ui.console.tab.exit_code": "mã thoát {code}",
|
|
57191
57352
|
"ui.console.tab.agent_opened": "Một tác nhân đã mở bảng lệnh này",
|
|
57192
57353
|
"ui.console.tab.agent_typed": "Một tác nhân đã nhập vào bảng lệnh này",
|
|
57193
57354
|
"ui.console.tab.close_label": "Đóng {title}, thẻ {index, number, ::group-off} trên {total, number, ::group-off}",
|
|
@@ -60451,9 +60612,14 @@ const zhCNUiConsole = {
|
|
|
60451
60612
|
"ui.console.create_failed.title": "无法在此会话中启动控制台",
|
|
60452
60613
|
"ui.console.empty.detail": "控制台在此对话的目录中运行程序,无论此面板是否打开,都会保留输出。",
|
|
60453
60614
|
"ui.console.empty.title": "此会话中没有控制台",
|
|
60615
|
+
"ui.console.ended.app_quit": "应用退出时将其关闭",
|
|
60454
60616
|
"ui.console.ended.exit_code": "退出码{code}",
|
|
60617
|
+
"ui.console.ended.exit_signal": "被{signal}终止",
|
|
60455
60618
|
"ui.console.ended.exit_unknown": "未获取退出码",
|
|
60619
|
+
"ui.console.ended.input_blocked": "此终端已结束,因此该按键未被发送。打开新的控制台即可再次输入。",
|
|
60456
60620
|
"ui.console.ended.live": "此终端已结束",
|
|
60621
|
+
"ui.console.ended.marker": "历史记录结束",
|
|
60622
|
+
"ui.console.ended.marker_detail": "此终端为只读状态。选中文本即可复制。",
|
|
60457
60623
|
"ui.console.ended.restored": "此终端已结束,历史记录已恢复",
|
|
60458
60624
|
"ui.console.loading.create": "正在启动控制台",
|
|
60459
60625
|
"ui.console.loading.read": "正在读取此会话的控制台",
|
|
@@ -60472,6 +60638,7 @@ const zhCNUiConsole = {
|
|
|
60472
60638
|
"ui.console.unavailable.title": "此应用中控制台不可用",
|
|
60473
60639
|
"ui.console.unavailable.unknown.detail": "此窗口无法连接控制台,也未说明原因。原因记录在应用日志中。",
|
|
60474
60640
|
"ui.console.tab.ended": "已结束",
|
|
60641
|
+
"ui.console.tab.exit_code": "退出{code}",
|
|
60475
60642
|
"ui.console.tab.agent_opened": "此控制台由智能体打开",
|
|
60476
60643
|
"ui.console.tab.agent_typed": "智能体已在此控制台中输入过内容",
|
|
60477
60644
|
"ui.console.tab.close_label": "关闭{title},第{index, number, ::group-off}个标签页,共{total, number, ::group-off}个",
|
|
@@ -73037,7 +73204,7 @@ class DesktopNotifier {
|
|
|
73037
73204
|
notice.sessionId,
|
|
73038
73205
|
notice.surfaceName,
|
|
73039
73206
|
"",
|
|
73040
|
-
notice.exitCode === null ? "Console finished" : `Console exited with code ${notice.exitCode}`,
|
|
73207
|
+
notice.exitSignal ? `Console killed by ${notice.exitSignal}` : notice.exitCode === null ? "Console finished" : `Console exited with code ${notice.exitCode}`,
|
|
73041
73208
|
false,
|
|
73042
73209
|
false,
|
|
73043
73210
|
notice.surface
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as o,c as b,g as v,k as O,h as P,j as p,l as w,m as A,n as x,t as c,o as N}from"./_baseUniq-
|
|
1
|
+
import{e as o,c as b,g as v,k as O,h as P,j as p,l as w,m as A,n as x,t as c,o as N}from"./_baseUniq-CdOS48Ck.js";import{as as g,aa as y,at as E,au as F,av as M,aw as I,ax as _,ay as $,az as B,aA as T}from"./mermaid.core-D-DUuSel.js";var S=/\s/;function z(n){for(var r=n.length;r--&&S.test(n.charAt(r)););return r}var G=/^\s+/;function H(n){return n&&n.slice(0,z(n)+1).replace(G,"")}var m=NaN,L=/^[-+]0x[0-9a-f]+$/i,R=/^0b[01]+$/i,q=/^0o[0-7]+$/i,C=parseInt;function K(n){if(typeof n=="number")return n;if(o(n))return m;if(g(n)){var r=typeof n.valueOf=="function"?n.valueOf():n;n=g(r)?r+"":r}if(typeof n!="string")return n===0?n:+n;n=H(n);var t=R.test(n);return t||q.test(n)?C(n.slice(2),t?2:8):L.test(n)?m:+n}var W=1/0,X=17976931348623157e292;function Y(n){if(!n)return n===0?n:0;if(n=K(n),n===W||n===-1/0){var r=n<0?-1:1;return r*X}return n===n?n:0}function D(n){var r=Y(n),t=r%1;return r===r?t?r-t:r:0}function fn(n){var r=n==null?0:n.length;return r?b(n):[]}var l=Object.prototype,J=l.hasOwnProperty,dn=y(function(n,r){n=Object(n);var t=-1,e=r.length,a=e>2?r[2]:void 0;for(a&&E(r[0],r[1],a)&&(e=1);++t<e;)for(var f=r[t],i=F(f),s=-1,d=i.length;++s<d;){var u=i[s],h=n[u];(h===void 0||M(h,l[u])&&!J.call(n,u))&&(n[u]=f[u])}return n});function un(n){var r=n==null?0:n.length;return r?n[r-1]:void 0}function Q(n){return function(r,t,e){var a=Object(r);if(!I(r)){var f=v(t);r=O(r),t=function(s){return f(a[s],s,a)}}var i=n(r,t,e);return i>-1?a[f?r[i]:i]:void 0}}var U=Math.max;function Z(n,r,t){var e=n==null?0:n.length;if(!e)return-1;var a=t==null?0:D(t);return a<0&&(a=U(e+a,0)),P(n,v(r),a)}var hn=Q(Z);function V(n,r){var t=-1,e=I(n)?Array(n.length):[];return p(n,function(a,f,i){e[++t]=r(a,f,i)}),e}function gn(n,r){var t=_(n)?w:V;return t(n,v(r))}var j=Object.prototype,k=j.hasOwnProperty;function nn(n,r){return n!=null&&k.call(n,r)}function vn(n,r){return n!=null&&A(n,r,nn)}function rn(n,r){return n<r}function tn(n,r,t){for(var e=-1,a=n.length;++e<a;){var f=n[e],i=r(f);if(i!=null&&(s===void 0?i===i&&!o(i):t(i,s)))var s=i,d=f}return d}function mn(n){return n&&n.length?tn(n,$,rn):void 0}function an(n,r,t,e){if(!g(n))return n;r=x(r,n);for(var a=-1,f=r.length,i=f-1,s=n;s!=null&&++a<f;){var d=c(r[a]),u=t;if(d==="__proto__"||d==="constructor"||d==="prototype")return n;if(a!=i){var h=s[d];u=void 0,u===void 0&&(u=g(h)?h:B(r[a+1])?[]:{})}T(s,d,u),s=s[d]}return n}function on(n,r,t){for(var e=-1,a=r.length,f={};++e<a;){var i=r[e],s=N(n,i);t(s,i)&&an(f,x(i,n),s)}return f}export{rn as a,tn as b,V as c,on as d,mn as e,fn as f,hn as g,vn as h,dn as i,D as j,un as l,gn as m,Y as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{aH as S,aI as Rn,ax as T,aJ as w,aK as xn,aL as Mn,aw as sn,aM as mn,aN as un,aO as x,au as U,aP as Cn,aQ as on,aR as Fn,aS as E,aF as gn,aT as R,as as ln,aU as Dn,aV as D,aW as Gn,aX as Un,aY as _,aA as Nn,aZ as Bn,av as Kn,a_ as X,a$ as Hn,b0 as jn,az as Yn,ay as cn,aD as Zn,b1 as m}from"./mermaid.core-CIUeSke9.js";var qn="[object Symbol]";function N(n){return typeof n=="symbol"||S(n)&&Rn(n)==qn}function dn(n,r){for(var e=-1,t=n==null?0:n.length,a=Array(t);++e<t;)a[e]=r(n[e],e,n);return a}var J=w?w.prototype:void 0,Q=J?J.toString:void 0;function pn(n){if(typeof n=="string")return n;if(T(n))return dn(n,pn)+"";if(N(n))return Q?Q.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function Xn(){}function An(n,r){for(var e=-1,t=n==null?0:n.length;++e<t&&r(n[e],e,n)!==!1;);return n}function Jn(n,r,e,t){for(var a=n.length,i=e+-1;++i<a;)if(r(n[i],i,n))return i;return-1}function Qn(n){return n!==n}function Wn(n,r,e){for(var t=e-1,a=n.length;++t<a;)if(n[t]===r)return t;return-1}function zn(n,r,e){return r===r?Wn(n,r,e):Jn(n,Qn,e)}function Vn(n,r){var e=n==null?0:n.length;return!!e&&zn(n,r,0)>-1}function $(n){return sn(n)?xn(n):Mn(n)}var kn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,nr=/^\w*$/;function B(n,r){if(T(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||N(n)?!0:nr.test(n)||!kn.test(n)||r!=null&&n in Object(r)}var rr=500;function er(n){var r=mn(n,function(t){return e.size===rr&&e.clear(),t}),e=r.cache;return r}var tr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ir=/\\(\\)?/g,ar=er(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(tr,function(e,t,a,i){r.push(a?i.replace(ir,"$1"):t||e)}),r});function fr(n){return n==null?"":pn(n)}function yn(n,r){return T(n)?n:B(n,r)?[n]:ar(fr(n))}function M(n){if(typeof n=="string"||N(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function bn(n,r){r=yn(r,n);for(var e=0,t=r.length;n!=null&&e<t;)n=n[M(r[e++])];return e&&e==t?n:void 0}function sr(n,r,e){var t=n==null?void 0:bn(n,r);return t===void 0?e:t}function K(n,r){for(var e=-1,t=r.length,a=n.length;++e<t;)n[a+e]=r[e];return n}var W=w?w.isConcatSpreadable:void 0;function ur(n){return T(n)||un(n)||!!(W&&n&&n[W])}function Ot(n,r,e,t,a){var i=-1,f=n.length;for(e||(e=ur),a||(a=[]);++i<f;){var s=n[i];e(s)?K(a,s):t||(a[a.length]=s)}return a}function or(n,r,e,t){var a=-1,i=n==null?0:n.length;for(t&&i&&(e=n[++a]);++a<i;)e=r(e,n[a],a,n);return e}function gr(n,r){return n&&x(r,$(r),n)}function lr(n,r){return n&&x(r,U(r),n)}function Tn(n,r){for(var e=-1,t=n==null?0:n.length,a=0,i=[];++e<t;){var f=n[e];r(f,e,n)&&(i[a++]=f)}return i}function hn(){return[]}var cr=Object.prototype,dr=cr.propertyIsEnumerable,z=Object.getOwnPropertySymbols,H=z?function(n){return n==null?[]:(n=Object(n),Tn(z(n),function(r){return dr.call(n,r)}))}:hn;function pr(n,r){return x(n,H(n),r)}var Ar=Object.getOwnPropertySymbols,wn=Ar?function(n){for(var r=[];n;)K(r,H(n)),n=Cn(n);return r}:hn;function yr(n,r){return x(n,wn(n),r)}function On(n,r,e){var t=r(n);return T(n)?t:K(t,e(n))}function G(n){return On(n,$,H)}function br(n){return On(n,U,wn)}var Tr=Object.prototype,hr=Tr.hasOwnProperty;function wr(n){var r=n.length,e=new n.constructor(r);return r&&typeof n[0]=="string"&&hr.call(n,"index")&&(e.index=n.index,e.input=n.input),e}function Or(n,r){var e=r?on(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}var $r=/\w*$/;function _r(n){var r=new n.constructor(n.source,$r.exec(n));return r.lastIndex=n.lastIndex,r}var V=w?w.prototype:void 0,k=V?V.valueOf:void 0;function Sr(n){return k?Object(k.call(n)):{}}var Er="[object Boolean]",Ir="[object Date]",Pr="[object Map]",vr="[object Number]",Lr="[object RegExp]",Rr="[object Set]",xr="[object String]",Mr="[object Symbol]",mr="[object ArrayBuffer]",Cr="[object DataView]",Fr="[object Float32Array]",Dr="[object Float64Array]",Gr="[object Int8Array]",Ur="[object Int16Array]",Nr="[object Int32Array]",Br="[object Uint8Array]",Kr="[object Uint8ClampedArray]",Hr="[object Uint16Array]",jr="[object Uint32Array]";function Yr(n,r,e){var t=n.constructor;switch(r){case mr:return on(n);case Er:case Ir:return new t(+n);case Cr:return Or(n,e);case Fr:case Dr:case Gr:case Ur:case Nr:case Br:case Kr:case Hr:case jr:return Fn(n,e);case Pr:return new t;case vr:case xr:return new t(n);case Lr:return _r(n);case Rr:return new t;case Mr:return Sr(n)}}var Zr="[object Map]";function qr(n){return S(n)&&E(n)==Zr}var nn=R&&R.isMap,Xr=nn?gn(nn):qr,Jr="[object Set]";function Qr(n){return S(n)&&E(n)==Jr}var rn=R&&R.isSet,Wr=rn?gn(rn):Qr,zr=1,Vr=2,kr=4,$n="[object Arguments]",ne="[object Array]",re="[object Boolean]",ee="[object Date]",te="[object Error]",_n="[object Function]",ie="[object GeneratorFunction]",ae="[object Map]",fe="[object Number]",Sn="[object Object]",se="[object RegExp]",ue="[object Set]",oe="[object String]",ge="[object Symbol]",le="[object WeakMap]",ce="[object ArrayBuffer]",de="[object DataView]",pe="[object Float32Array]",Ae="[object Float64Array]",ye="[object Int8Array]",be="[object Int16Array]",Te="[object Int32Array]",he="[object Uint8Array]",we="[object Uint8ClampedArray]",Oe="[object Uint16Array]",$e="[object Uint32Array]",g={};g[$n]=g[ne]=g[ce]=g[de]=g[re]=g[ee]=g[pe]=g[Ae]=g[ye]=g[be]=g[Te]=g[ae]=g[fe]=g[Sn]=g[se]=g[ue]=g[oe]=g[ge]=g[he]=g[we]=g[Oe]=g[$e]=!0;g[te]=g[_n]=g[le]=!1;function C(n,r,e,t,a,i){var f,s=r&zr,u=r&Vr,d=r&kr;if(f!==void 0)return f;if(!ln(n))return n;var l=T(n);if(l){if(f=wr(n),!s)return Dn(n,f)}else{var o=E(n),c=o==_n||o==ie;if(D(n))return Gn(n,s);if(o==Sn||o==$n||c&&!a){if(f=u||c?{}:Un(n),!s)return u?yr(n,lr(f,n)):pr(n,gr(f,n))}else{if(!g[o])return a?n:{};f=Yr(n,o,s)}}i||(i=new _);var h=i.get(n);if(h)return h;i.set(n,f),Wr(n)?n.forEach(function(p){f.add(C(p,r,e,p,n,i))}):Xr(n)&&n.forEach(function(p,A){f.set(A,C(p,r,e,A,n,i))});var y=d?u?br:G:u?U:$,b=l?void 0:y(n);return An(b||n,function(p,A){b&&(A=p,p=n[A]),Nn(f,A,C(p,r,e,A,n,i))}),f}var _e="__lodash_hash_undefined__";function Se(n){return this.__data__.set(n,_e),this}function Ee(n){return this.__data__.has(n)}function I(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new Bn;++r<e;)this.add(n[r])}I.prototype.add=I.prototype.push=Se;I.prototype.has=Ee;function Ie(n,r){for(var e=-1,t=n==null?0:n.length;++e<t;)if(r(n[e],e,n))return!0;return!1}function En(n,r){return n.has(r)}var Pe=1,ve=2;function In(n,r,e,t,a,i){var f=e&Pe,s=n.length,u=r.length;if(s!=u&&!(f&&u>s))return!1;var d=i.get(n),l=i.get(r);if(d&&l)return d==r&&l==n;var o=-1,c=!0,h=e&ve?new I:void 0;for(i.set(n,r),i.set(r,n);++o<s;){var y=n[o],b=r[o];if(t)var p=f?t(b,y,o,r,n,i):t(y,b,o,n,r,i);if(p!==void 0){if(p)continue;c=!1;break}if(h){if(!Ie(r,function(A,O){if(!En(h,O)&&(y===A||a(y,A,e,t,i)))return h.push(O)})){c=!1;break}}else if(!(y===b||a(y,b,e,t,i))){c=!1;break}}return i.delete(n),i.delete(r),c}function Le(n){var r=-1,e=Array(n.size);return n.forEach(function(t,a){e[++r]=[a,t]}),e}function j(n){var r=-1,e=Array(n.size);return n.forEach(function(t){e[++r]=t}),e}var Re=1,xe=2,Me="[object Boolean]",me="[object Date]",Ce="[object Error]",Fe="[object Map]",De="[object Number]",Ge="[object RegExp]",Ue="[object Set]",Ne="[object String]",Be="[object Symbol]",Ke="[object ArrayBuffer]",He="[object DataView]",en=w?w.prototype:void 0,F=en?en.valueOf:void 0;function je(n,r,e,t,a,i,f){switch(e){case He:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case Ke:return!(n.byteLength!=r.byteLength||!i(new X(n),new X(r)));case Me:case me:case De:return Kn(+n,+r);case Ce:return n.name==r.name&&n.message==r.message;case Ge:case Ne:return n==r+"";case Fe:var s=Le;case Ue:var u=tℜif(s||(s=j),n.size!=r.size&&!u)return!1;var d=f.get(n);if(d)return d==r;t|=xe,f.set(n,r);var l=In(s(n),s(r),t,a,i,f);return f.delete(n),l;case Be:if(F)return F.call(n)==F.call(r)}return!1}var Ye=1,Ze=Object.prototype,qe=Ze.hasOwnProperty;function Xe(n,r,e,t,a,i){var f=e&Ye,s=G(n),u=s.length,d=G(r),l=d.length;if(u!=l&&!f)return!1;for(var o=u;o--;){var c=s[o];if(!(f?c in r:qe.call(r,c)))return!1}var h=i.get(n),y=i.get(r);if(h&&y)return h==r&&y==n;var b=!0;i.set(n,r),i.set(r,n);for(var p=f;++o<u;){c=s[o];var A=n[c],O=r[c];if(t)var q=f?t(O,A,c,r,n,i):t(A,O,c,n,r,i);if(!(q===void 0?A===O||a(A,O,e,t,i):q)){b=!1;break}p||(p=c=="constructor")}if(b&&!p){var P=n.constructor,v=r.constructor;P!=v&&"constructor"in n&&"constructor"in r&&!(typeof P=="function"&&P instanceof P&&typeof v=="function"&&v instanceof v)&&(b=!1)}return i.delete(n),i.delete(r),b}var Je=1,tn="[object Arguments]",an="[object Array]",L="[object Object]",Qe=Object.prototype,fn=Qe.hasOwnProperty;function We(n,r,e,t,a,i){var f=T(n),s=T(r),u=f?an:E(n),d=s?an:E(r);u=u==tn?L:u,d=d==tn?L:d;var l=u==L,o=d==L,c=u==d;if(c&&D(n)){if(!D(r))return!1;f=!0,l=!1}if(c&&!l)return i||(i=new _),f||Hn(n)?In(n,r,e,t,a,i):je(n,r,u,e,t,a,i);if(!(e&Je)){var h=l&&fn.call(n,"__wrapped__"),y=o&&fn.call(r,"__wrapped__");if(h||y){var b=h?n.value():n,p=y?r.value():r;return i||(i=new _),a(b,p,e,t,i)}}return c?(i||(i=new _),Xe(n,r,e,t,a,i)):!1}function Y(n,r,e,t,a){return n===r?!0:n==null||r==null||!S(n)&&!S(r)?n!==n&&r!==r:We(n,r,e,t,Y,a)}var ze=1,Ve=2;function ke(n,r,e,t){var a=e.length,i=a;if(n==null)return!i;for(n=Object(n);a--;){var f=e[a];if(f[2]?f[1]!==n[f[0]]:!(f[0]in n))return!1}for(;++a<i;){f=e[a];var s=f[0],u=n[s],d=f[1];if(f[2]){if(u===void 0&&!(s in n))return!1}else{var l=new _,o;if(!(o===void 0?Y(d,u,ze|Ve,t,l):o))return!1}}return!0}function Pn(n){return n===n&&!ln(n)}function nt(n){for(var r=$(n),e=r.length;e--;){var t=r[e],a=n[t];r[e]=[t,a,Pn(a)]}return r}function vn(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function rt(n){var r=nt(n);return r.length==1&&r[0][2]?vn(r[0][0],r[0][1]):function(e){return e===n||ke(e,n,r)}}function et(n,r){return n!=null&&r in Object(n)}function tt(n,r,e){r=yn(r,n);for(var t=-1,a=r.length,i=!1;++t<a;){var f=M(r[t]);if(!(i=n!=null&&e(n,f)))break;n=n[f]}return i||++t!=a?i:(a=n==null?0:n.length,!!a&&jn(a)&&Yn(f,a)&&(T(n)||un(n)))}function it(n,r){return n!=null&&tt(n,r,et)}var at=1,ft=2;function st(n,r){return B(n)&&Pn(r)?vn(M(n),r):function(e){var t=sr(e,n);return t===void 0&&t===r?it(e,n):Y(r,t,at|ft)}}function ut(n){return function(r){return r?.[n]}}function ot(n){return function(r){return bn(r,n)}}function gt(n){return B(n)?ut(M(n)):ot(n)}function Ln(n){return typeof n=="function"?n:n==null?cn:typeof n=="object"?T(n)?st(n[0],n[1]):rt(n):gt(n)}function lt(n,r){return n&&Zn(n,r,$)}function ct(n,r){return function(e,t){if(e==null)return e;if(!sn(e))return n(e,t);for(var a=e.length,i=-1,f=Object(e);++i<a&&t(f[i],i,f)!==!1;);return e}}var Z=ct(lt);function dt(n){return typeof n=="function"?n:cn}function $t(n,r){var e=T(n)?An:Z;return e(n,dt(r))}function pt(n,r){var e=[];return Z(n,function(t,a,i){r(t,a,i)&&e.push(t)}),e}function _t(n,r){var e=T(n)?Tn:pt;return e(n,Ln(r))}function At(n,r){return dn(r,function(e){return n[e]})}function St(n){return n==null?[]:At(n,$(n))}function Et(n){return n===void 0}function yt(n,r,e,t,a){return a(n,function(i,f,s){e=t?(t=!1,i):r(e,i,f,s)}),e}function It(n,r,e){var t=T(n)?or:yt,a=arguments.length<3;return t(n,Ln(r),e,a,Z)}var bt=1/0,Tt=m&&1/j(new m([,-0]))[1]==bt?function(n){return new m(n)}:Xn,ht=200;function Pt(n,r,e){var t=-1,a=Vn,i=n.length,f=!0,s=[],u=s;if(i>=ht){var d=r?null:Tt(n);if(d)return j(d);f=!1,a=En,u=new I}else u=r?[]:s;n:for(;++t<i;){var l=n[t],o=r?r(l):l;if(l=l!==0?l:0,f&&o===o){for(var c=u.length;c--;)if(u[c]===o)continue n;r&&u.push(o),s.push(l)}else a(u,o,e)||(u!==s&&u.push(o),s.push(l))}return s}export{Tn as A,pt as B,Ie as C,Xn as D,I as S,Pt as a,C as b,Ot as c,$t as d,N as e,_t as f,Ln as g,Jn as h,Et as i,Z as j,$ as k,dn as l,tt as m,yn as n,bn as o,dt as p,lt as q,It as r,it as s,M as t,fr as u,St as v,Vn as w,En as x,zn as y,br as z};
|
|
1
|
+
import{aH as S,aI as Rn,ax as T,aJ as w,aK as xn,aL as Mn,aw as sn,aM as mn,aN as un,aO as x,au as U,aP as Cn,aQ as on,aR as Fn,aS as E,aF as gn,aT as R,as as ln,aU as Dn,aV as D,aW as Gn,aX as Un,aY as _,aA as Nn,aZ as Bn,av as Kn,a_ as X,a$ as Hn,b0 as jn,az as Yn,ay as cn,aD as Zn,b1 as m}from"./mermaid.core-D-DUuSel.js";var qn="[object Symbol]";function N(n){return typeof n=="symbol"||S(n)&&Rn(n)==qn}function dn(n,r){for(var e=-1,t=n==null?0:n.length,a=Array(t);++e<t;)a[e]=r(n[e],e,n);return a}var J=w?w.prototype:void 0,Q=J?J.toString:void 0;function pn(n){if(typeof n=="string")return n;if(T(n))return dn(n,pn)+"";if(N(n))return Q?Q.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function Xn(){}function An(n,r){for(var e=-1,t=n==null?0:n.length;++e<t&&r(n[e],e,n)!==!1;);return n}function Jn(n,r,e,t){for(var a=n.length,i=e+-1;++i<a;)if(r(n[i],i,n))return i;return-1}function Qn(n){return n!==n}function Wn(n,r,e){for(var t=e-1,a=n.length;++t<a;)if(n[t]===r)return t;return-1}function zn(n,r,e){return r===r?Wn(n,r,e):Jn(n,Qn,e)}function Vn(n,r){var e=n==null?0:n.length;return!!e&&zn(n,r,0)>-1}function $(n){return sn(n)?xn(n):Mn(n)}var kn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,nr=/^\w*$/;function B(n,r){if(T(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||N(n)?!0:nr.test(n)||!kn.test(n)||r!=null&&n in Object(r)}var rr=500;function er(n){var r=mn(n,function(t){return e.size===rr&&e.clear(),t}),e=r.cache;return r}var tr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ir=/\\(\\)?/g,ar=er(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(tr,function(e,t,a,i){r.push(a?i.replace(ir,"$1"):t||e)}),r});function fr(n){return n==null?"":pn(n)}function yn(n,r){return T(n)?n:B(n,r)?[n]:ar(fr(n))}function M(n){if(typeof n=="string"||N(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function bn(n,r){r=yn(r,n);for(var e=0,t=r.length;n!=null&&e<t;)n=n[M(r[e++])];return e&&e==t?n:void 0}function sr(n,r,e){var t=n==null?void 0:bn(n,r);return t===void 0?e:t}function K(n,r){for(var e=-1,t=r.length,a=n.length;++e<t;)n[a+e]=r[e];return n}var W=w?w.isConcatSpreadable:void 0;function ur(n){return T(n)||un(n)||!!(W&&n&&n[W])}function Ot(n,r,e,t,a){var i=-1,f=n.length;for(e||(e=ur),a||(a=[]);++i<f;){var s=n[i];e(s)?K(a,s):t||(a[a.length]=s)}return a}function or(n,r,e,t){var a=-1,i=n==null?0:n.length;for(t&&i&&(e=n[++a]);++a<i;)e=r(e,n[a],a,n);return e}function gr(n,r){return n&&x(r,$(r),n)}function lr(n,r){return n&&x(r,U(r),n)}function Tn(n,r){for(var e=-1,t=n==null?0:n.length,a=0,i=[];++e<t;){var f=n[e];r(f,e,n)&&(i[a++]=f)}return i}function hn(){return[]}var cr=Object.prototype,dr=cr.propertyIsEnumerable,z=Object.getOwnPropertySymbols,H=z?function(n){return n==null?[]:(n=Object(n),Tn(z(n),function(r){return dr.call(n,r)}))}:hn;function pr(n,r){return x(n,H(n),r)}var Ar=Object.getOwnPropertySymbols,wn=Ar?function(n){for(var r=[];n;)K(r,H(n)),n=Cn(n);return r}:hn;function yr(n,r){return x(n,wn(n),r)}function On(n,r,e){var t=r(n);return T(n)?t:K(t,e(n))}function G(n){return On(n,$,H)}function br(n){return On(n,U,wn)}var Tr=Object.prototype,hr=Tr.hasOwnProperty;function wr(n){var r=n.length,e=new n.constructor(r);return r&&typeof n[0]=="string"&&hr.call(n,"index")&&(e.index=n.index,e.input=n.input),e}function Or(n,r){var e=r?on(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}var $r=/\w*$/;function _r(n){var r=new n.constructor(n.source,$r.exec(n));return r.lastIndex=n.lastIndex,r}var V=w?w.prototype:void 0,k=V?V.valueOf:void 0;function Sr(n){return k?Object(k.call(n)):{}}var Er="[object Boolean]",Ir="[object Date]",Pr="[object Map]",vr="[object Number]",Lr="[object RegExp]",Rr="[object Set]",xr="[object String]",Mr="[object Symbol]",mr="[object ArrayBuffer]",Cr="[object DataView]",Fr="[object Float32Array]",Dr="[object Float64Array]",Gr="[object Int8Array]",Ur="[object Int16Array]",Nr="[object Int32Array]",Br="[object Uint8Array]",Kr="[object Uint8ClampedArray]",Hr="[object Uint16Array]",jr="[object Uint32Array]";function Yr(n,r,e){var t=n.constructor;switch(r){case mr:return on(n);case Er:case Ir:return new t(+n);case Cr:return Or(n,e);case Fr:case Dr:case Gr:case Ur:case Nr:case Br:case Kr:case Hr:case jr:return Fn(n,e);case Pr:return new t;case vr:case xr:return new t(n);case Lr:return _r(n);case Rr:return new t;case Mr:return Sr(n)}}var Zr="[object Map]";function qr(n){return S(n)&&E(n)==Zr}var nn=R&&R.isMap,Xr=nn?gn(nn):qr,Jr="[object Set]";function Qr(n){return S(n)&&E(n)==Jr}var rn=R&&R.isSet,Wr=rn?gn(rn):Qr,zr=1,Vr=2,kr=4,$n="[object Arguments]",ne="[object Array]",re="[object Boolean]",ee="[object Date]",te="[object Error]",_n="[object Function]",ie="[object GeneratorFunction]",ae="[object Map]",fe="[object Number]",Sn="[object Object]",se="[object RegExp]",ue="[object Set]",oe="[object String]",ge="[object Symbol]",le="[object WeakMap]",ce="[object ArrayBuffer]",de="[object DataView]",pe="[object Float32Array]",Ae="[object Float64Array]",ye="[object Int8Array]",be="[object Int16Array]",Te="[object Int32Array]",he="[object Uint8Array]",we="[object Uint8ClampedArray]",Oe="[object Uint16Array]",$e="[object Uint32Array]",g={};g[$n]=g[ne]=g[ce]=g[de]=g[re]=g[ee]=g[pe]=g[Ae]=g[ye]=g[be]=g[Te]=g[ae]=g[fe]=g[Sn]=g[se]=g[ue]=g[oe]=g[ge]=g[he]=g[we]=g[Oe]=g[$e]=!0;g[te]=g[_n]=g[le]=!1;function C(n,r,e,t,a,i){var f,s=r&zr,u=r&Vr,d=r&kr;if(f!==void 0)return f;if(!ln(n))return n;var l=T(n);if(l){if(f=wr(n),!s)return Dn(n,f)}else{var o=E(n),c=o==_n||o==ie;if(D(n))return Gn(n,s);if(o==Sn||o==$n||c&&!a){if(f=u||c?{}:Un(n),!s)return u?yr(n,lr(f,n)):pr(n,gr(f,n))}else{if(!g[o])return a?n:{};f=Yr(n,o,s)}}i||(i=new _);var h=i.get(n);if(h)return h;i.set(n,f),Wr(n)?n.forEach(function(p){f.add(C(p,r,e,p,n,i))}):Xr(n)&&n.forEach(function(p,A){f.set(A,C(p,r,e,A,n,i))});var y=d?u?br:G:u?U:$,b=l?void 0:y(n);return An(b||n,function(p,A){b&&(A=p,p=n[A]),Nn(f,A,C(p,r,e,A,n,i))}),f}var _e="__lodash_hash_undefined__";function Se(n){return this.__data__.set(n,_e),this}function Ee(n){return this.__data__.has(n)}function I(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new Bn;++r<e;)this.add(n[r])}I.prototype.add=I.prototype.push=Se;I.prototype.has=Ee;function Ie(n,r){for(var e=-1,t=n==null?0:n.length;++e<t;)if(r(n[e],e,n))return!0;return!1}function En(n,r){return n.has(r)}var Pe=1,ve=2;function In(n,r,e,t,a,i){var f=e&Pe,s=n.length,u=r.length;if(s!=u&&!(f&&u>s))return!1;var d=i.get(n),l=i.get(r);if(d&&l)return d==r&&l==n;var o=-1,c=!0,h=e&ve?new I:void 0;for(i.set(n,r),i.set(r,n);++o<s;){var y=n[o],b=r[o];if(t)var p=f?t(b,y,o,r,n,i):t(y,b,o,n,r,i);if(p!==void 0){if(p)continue;c=!1;break}if(h){if(!Ie(r,function(A,O){if(!En(h,O)&&(y===A||a(y,A,e,t,i)))return h.push(O)})){c=!1;break}}else if(!(y===b||a(y,b,e,t,i))){c=!1;break}}return i.delete(n),i.delete(r),c}function Le(n){var r=-1,e=Array(n.size);return n.forEach(function(t,a){e[++r]=[a,t]}),e}function j(n){var r=-1,e=Array(n.size);return n.forEach(function(t){e[++r]=t}),e}var Re=1,xe=2,Me="[object Boolean]",me="[object Date]",Ce="[object Error]",Fe="[object Map]",De="[object Number]",Ge="[object RegExp]",Ue="[object Set]",Ne="[object String]",Be="[object Symbol]",Ke="[object ArrayBuffer]",He="[object DataView]",en=w?w.prototype:void 0,F=en?en.valueOf:void 0;function je(n,r,e,t,a,i,f){switch(e){case He:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case Ke:return!(n.byteLength!=r.byteLength||!i(new X(n),new X(r)));case Me:case me:case De:return Kn(+n,+r);case Ce:return n.name==r.name&&n.message==r.message;case Ge:case Ne:return n==r+"";case Fe:var s=Le;case Ue:var u=tℜif(s||(s=j),n.size!=r.size&&!u)return!1;var d=f.get(n);if(d)return d==r;t|=xe,f.set(n,r);var l=In(s(n),s(r),t,a,i,f);return f.delete(n),l;case Be:if(F)return F.call(n)==F.call(r)}return!1}var Ye=1,Ze=Object.prototype,qe=Ze.hasOwnProperty;function Xe(n,r,e,t,a,i){var f=e&Ye,s=G(n),u=s.length,d=G(r),l=d.length;if(u!=l&&!f)return!1;for(var o=u;o--;){var c=s[o];if(!(f?c in r:qe.call(r,c)))return!1}var h=i.get(n),y=i.get(r);if(h&&y)return h==r&&y==n;var b=!0;i.set(n,r),i.set(r,n);for(var p=f;++o<u;){c=s[o];var A=n[c],O=r[c];if(t)var q=f?t(O,A,c,r,n,i):t(A,O,c,n,r,i);if(!(q===void 0?A===O||a(A,O,e,t,i):q)){b=!1;break}p||(p=c=="constructor")}if(b&&!p){var P=n.constructor,v=r.constructor;P!=v&&"constructor"in n&&"constructor"in r&&!(typeof P=="function"&&P instanceof P&&typeof v=="function"&&v instanceof v)&&(b=!1)}return i.delete(n),i.delete(r),b}var Je=1,tn="[object Arguments]",an="[object Array]",L="[object Object]",Qe=Object.prototype,fn=Qe.hasOwnProperty;function We(n,r,e,t,a,i){var f=T(n),s=T(r),u=f?an:E(n),d=s?an:E(r);u=u==tn?L:u,d=d==tn?L:d;var l=u==L,o=d==L,c=u==d;if(c&&D(n)){if(!D(r))return!1;f=!0,l=!1}if(c&&!l)return i||(i=new _),f||Hn(n)?In(n,r,e,t,a,i):je(n,r,u,e,t,a,i);if(!(e&Je)){var h=l&&fn.call(n,"__wrapped__"),y=o&&fn.call(r,"__wrapped__");if(h||y){var b=h?n.value():n,p=y?r.value():r;return i||(i=new _),a(b,p,e,t,i)}}return c?(i||(i=new _),Xe(n,r,e,t,a,i)):!1}function Y(n,r,e,t,a){return n===r?!0:n==null||r==null||!S(n)&&!S(r)?n!==n&&r!==r:We(n,r,e,t,Y,a)}var ze=1,Ve=2;function ke(n,r,e,t){var a=e.length,i=a;if(n==null)return!i;for(n=Object(n);a--;){var f=e[a];if(f[2]?f[1]!==n[f[0]]:!(f[0]in n))return!1}for(;++a<i;){f=e[a];var s=f[0],u=n[s],d=f[1];if(f[2]){if(u===void 0&&!(s in n))return!1}else{var l=new _,o;if(!(o===void 0?Y(d,u,ze|Ve,t,l):o))return!1}}return!0}function Pn(n){return n===n&&!ln(n)}function nt(n){for(var r=$(n),e=r.length;e--;){var t=r[e],a=n[t];r[e]=[t,a,Pn(a)]}return r}function vn(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function rt(n){var r=nt(n);return r.length==1&&r[0][2]?vn(r[0][0],r[0][1]):function(e){return e===n||ke(e,n,r)}}function et(n,r){return n!=null&&r in Object(n)}function tt(n,r,e){r=yn(r,n);for(var t=-1,a=r.length,i=!1;++t<a;){var f=M(r[t]);if(!(i=n!=null&&e(n,f)))break;n=n[f]}return i||++t!=a?i:(a=n==null?0:n.length,!!a&&jn(a)&&Yn(f,a)&&(T(n)||un(n)))}function it(n,r){return n!=null&&tt(n,r,et)}var at=1,ft=2;function st(n,r){return B(n)&&Pn(r)?vn(M(n),r):function(e){var t=sr(e,n);return t===void 0&&t===r?it(e,n):Y(r,t,at|ft)}}function ut(n){return function(r){return r?.[n]}}function ot(n){return function(r){return bn(r,n)}}function gt(n){return B(n)?ut(M(n)):ot(n)}function Ln(n){return typeof n=="function"?n:n==null?cn:typeof n=="object"?T(n)?st(n[0],n[1]):rt(n):gt(n)}function lt(n,r){return n&&Zn(n,r,$)}function ct(n,r){return function(e,t){if(e==null)return e;if(!sn(e))return n(e,t);for(var a=e.length,i=-1,f=Object(e);++i<a&&t(f[i],i,f)!==!1;);return e}}var Z=ct(lt);function dt(n){return typeof n=="function"?n:cn}function $t(n,r){var e=T(n)?An:Z;return e(n,dt(r))}function pt(n,r){var e=[];return Z(n,function(t,a,i){r(t,a,i)&&e.push(t)}),e}function _t(n,r){var e=T(n)?Tn:pt;return e(n,Ln(r))}function At(n,r){return dn(r,function(e){return n[e]})}function St(n){return n==null?[]:At(n,$(n))}function Et(n){return n===void 0}function yt(n,r,e,t,a){return a(n,function(i,f,s){e=t?(t=!1,i):r(e,i,f,s)}),e}function It(n,r,e){var t=T(n)?or:yt,a=arguments.length<3;return t(n,Ln(r),e,a,Z)}var bt=1/0,Tt=m&&1/j(new m([,-0]))[1]==bt?function(n){return new m(n)}:Xn,ht=200;function Pt(n,r,e){var t=-1,a=Vn,i=n.length,f=!0,s=[],u=s;if(i>=ht){var d=r?null:Tt(n);if(d)return j(d);f=!1,a=En,u=new I}else u=r?[]:s;n:for(;++t<i;){var l=n[t],o=r?r(l):l;if(l=l!==0?l:0,f&&o===o){for(var c=u.length;c--;)if(u[c]===o)continue n;r&&u.push(o),s.push(l)}else a(u,o,e)||(u!==s&&u.push(o),s.push(l))}return s}export{Tn as A,pt as B,Ie as C,Xn as D,I as S,Pt as a,C as b,Ot as c,$t as d,N as e,_t as f,Ln as g,Jn as h,Et as i,Z as j,$ as k,dn as l,tt as m,yn as n,bn as o,dt as p,lt as q,It as r,it as s,M as t,fr as u,St as v,Vn as w,En as x,zn as y,br as z};
|
package/out/renderer/assets/{agent-details-page-uwmizvcA.js → agent-details-page-tp9kdqtV.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as a,r as E,j as e,c as J}from"./index-
|
|
1
|
+
import{t as a,r as E,j as e,c as J}from"./index-CQml9u-9.js";import{i as ge,a as fe}from"./publication-validation-Drtrxi_K.js";import{_ as oe,u as U,aN as C,aO as O,a2 as Y,aP as Q,aQ as le,aR as ce,aS as be,V as je,aT as pe,aU as ee,a1 as ye,aV as we,aW as ve}from"./conversation-input-sync-DTwv4LpE.js";import{c as Ne,u as Ce,L as ke,T as te,B as l,S as K,t as de,v as q,w as I,x as v,X as Ae,y as N,A as se,z as ae,E as ne}from"./error-boundary-aqUJ0ROL.js";import{f as De,h as Se,u as _e,i as Te,a as Ee,b as Fe,c as Pe,O as ze,H as Me,A as Le,d as ie}from"./use-download-agent-mutation-DlpEsjDM.js";import{e as re}from"./en-US-CHJkXXr4.js";import{a6 as qe,a7 as Ie,a8 as Ke,a9 as Ue,aa as Oe,ab as Qe,ac as Be,ad as Re,L as He,ae as We,G as Ve,af as Ye}from"./index-DTi580qk.js";import"./ui-preferences-store-D031PAZ1.js";import"./book-open-C9j4VQTg.js";import"./console-mirror-BKH21iCK.js";/**
|
|
2
2
|
* @license lucide-react v0.507.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|