@deepseek-insight/dsi 0.5.30 → 0.5.32
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/build/client/_app/immutable/assets/0.BU1D48E8.css +2 -0
- package/build/client/_app/immutable/chunks/DBe02xXt.js +1 -0
- package/build/client/_app/immutable/chunks/{smd3Jq9O.js → DU8_fdC7.js} +2 -2
- package/build/client/_app/immutable/chunks/kgRREf9p.js +1 -0
- package/build/client/_app/immutable/chunks/{DX_pn7Eg.js → n6wHvlqG.js} +1 -1
- package/build/client/_app/immutable/entry/{app.CIeDJy8c.js → app.DbINeXv9.js} +2 -2
- package/build/client/_app/immutable/entry/start.CfKDOfK5.js +1 -0
- package/build/client/_app/immutable/nodes/{1.VxhMSm3s.js → 1.CgN4qkEI.js} +1 -1
- package/build/client/_app/immutable/nodes/2.D-rt0knM.js +174 -0
- package/build/client/_app/version.json +1 -1
- package/build/handler.js +4 -4
- package/build/index.js +4 -4
- package/build/server/chunks/chunks/{db.js-BTsRdpsi.js → db.js-BylhmazO.js} +2 -2
- package/build/server/chunks/chunks/{db2.js-ou6Vlz7O.js → db2.js-BDE3IYQf.js} +2 -2
- package/build/server/chunks/chunks/{dsh-connection.js-DawPog_I.js → dsh-connection.js-BSzUs8-n.js} +2 -2
- package/build/server/chunks/chunks/{git-probe.js-D5q52JMr.js → git-probe.js-DoWgYcXG.js} +2 -2
- package/build/server/chunks/chunks/{insight-config.js-DiF58x83.js → insight-config.js-XUD5BN0g.js} +6 -3
- package/build/server/chunks/chunks/{internal.js-Cr424dfu.js → internal.js-DFJpTf_o.js} +2 -2
- package/build/server/chunks/chunks/{state.js-BPfg8KK0.js → state.js-CpGQrOQj.js} +2 -2
- package/build/server/chunks/chunks/{watcher.js-BJlOJaBs.js → watcher.js-ZBFDj7d0.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/a2a/_id_/{_server.ts.js-CDJ0OmUG.js → _server.ts.js-DQenu1Rx.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/a2a/{_server.ts.js-BVFSRjvv.js → _server.ts.js-C12q5Acf.js} +5 -5
- package/build/server/chunks/entries/endpoints/api/a2a/register/{_server.ts.js-Bhou8F5X.js → _server.ts.js-CdMcLL0n.js} +5 -5
- package/build/server/chunks/entries/endpoints/api/config/{_server.ts.js-BJIzdaiA.js → _server.ts.js-CeSzWmzO.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/directory/{_server.ts.js-C6n_idy7.js → _server.ts.js-BJMlDa_R.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/pick-directory/{_server.ts.js-DADH8M-H.js → _server.ts.js-C5xgupWg.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/presets/{_server.ts.js-bC_NLj4U.js → _server.ts.js-DG0cxf9Y.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/attachment/{_server.ts.js-CoScceI5.js → _server.ts.js-CjIzvUMY.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/cancel/{_server.ts.js-C1FgtncS.js → _server.ts.js-DqvT86T0.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/catalog/{_server.ts.js-PIxDn234.js → _server.ts.js-BzBZnI3P.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/command/{_server.ts.js-B_CRf61I.js → _server.ts.js-DHWvuiKn.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/events/{_server.ts.js-DGGUjpY9.js → _server.ts.js-ARtFWpnE.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/fork/{_server.ts.js-xEVeT3pb.js → _server.ts.js-rH3qhAct.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/goal/{_server.ts.js-Df8t4hkX.js → _server.ts.js-D_fm0cJY.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/history/{_server.ts.js-CH1L9p8z.js → _server.ts.js-BqpeQTZq.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/models/{_server.ts.js-BvG76FMN.js → _server.ts.js-CHKAkZEq.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/path/{_server.ts.js-t8Oiyikl.js → _server.ts.js-DxiKkvE-.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/permission/{_server.ts.js-C7fokwxa.js → _server.ts.js-DmjKvFqc.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/prompt/{_server.ts.js-Cfm2eSa-.js → _server.ts.js-N1651orW.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/rename/{_server.ts.js-DJ3WSBOS.js → _server.ts.js-w1dYBirS.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/respond/{_server.ts.js-B8lDX-zk.js → _server.ts.js-Bwb62OTc.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/select-model/{_server.ts.js-DCKvoONe.js → _server.ts.js-D2BCSITG.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/sessions/{_server.ts.js-Bl4xBKoB.js → _server.ts.js-t_DpnCyJ.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/workspace-file/{_server.ts.js--FCZv4Np.js → _server.ts.js-BddU8qpx.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/workspace-file-bytes/{_server.ts.js-DEUnD1Mn.js → _server.ts.js-Di_7wqCI.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/workspace-tree/{_server.ts.js-BiHVvbW-.js → _server.ts.js-DPz9GQJJ.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/workspaces/{_server.ts.js-CcDE1rk8.js → _server.ts.js-C1jO88hY.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/workspaces/_workspaceId_/delete/{_server.ts.js-C8vdE5Jr.js → _server.ts.js-C1akVoP3.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/dsh/workspaces/_workspaceId_/rename/{_server.ts.js-C9cgB8t0.js → _server.ts.js-C4RkBuGZ.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/prompts/_id_/{_server.ts.js-oR6Qu-Wa.js → _server.ts.js-jiY6dVD-.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/prompts/{_server.ts.js-j8TNOmk3.js → _server.ts.js-C0r4Wyxc.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/prompts/use/{_server.ts.js-B6UZ2HZ5.js → _server.ts.js-wKxhb4I-.js} +3 -3
- package/build/server/chunks/entries/endpoints/api/settings/{_server.ts.js-BWE38_9X.js → _server.ts.js-DmU2MBc5.js} +2 -2
- package/build/server/chunks/entries/endpoints/api/terminal/_id_/reattach/_server.ts.js-wSsMKLiw.js +34 -0
- package/build/server/chunks/entries/endpoints/api/terminal/_id_/stream/{_server.ts.js-_-HKTzoH.js → _server.ts.js-C8PLMU0Y.js} +64 -43
- package/build/server/chunks/entries/endpoints/api/terminal/{_server.ts.js-CmM-ksLQ.js → _server.ts.js-DHhod6dT.js} +4 -2
- package/build/server/chunks/entries/endpoints/api/workspace/file-write/{_server.ts.js-1pMekv7y.js → _server.ts.js-D1gyOGEM.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/workspace/git-events/{_server.ts.js-Cwebkv8Y.js → _server.ts.js-D5XlAzdL.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/workspace/git-file-head/{_server.ts.js-4JF7UGE-.js → _server.ts.js-BKJbQR9z.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/workspace/git-map/{_server.ts.js-B5i8ziTR.js → _server.ts.js-CehoxXA_.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/workspace/git-status/{_server.ts.js-zYBj_jzG.js → _server.ts.js-DMhaSADa.js} +4 -4
- package/build/server/chunks/entries/endpoints/api/workspace/write-gate/{_server.ts.js-BbgR18Zo.js → _server.ts.js-BQRvPo9G.js} +4 -4
- package/build/server/chunks/entries/pages/{_error.svelte.js-izlnhqFW.js → _error.svelte.js-D1ggHK75.js} +3 -3
- package/build/server/chunks/entries/pages/{_page.server.ts.js-CNmIVlOY.js → _page.server.ts.js-C3_-EdaG.js} +2 -2
- package/build/server/chunks/entries/pages/{_page.svelte.js-DOcEfh5K.js → _page.svelte.js-C-gx9imA.js} +325 -58
- package/build/server/chunks/{handler-t4JeFn6X.js → handler-C-ZkJfQi.js} +3 -3
- package/build/server/chunks/{index.js-DgUdoRMr.js → index.js-BHhoIUPw.js} +2 -2
- package/build/server/chunks/{manifest.js-CuVIAGaj.js → manifest.js-DkA6N6z6.js} +53 -46
- package/build/server/chunks/nodes/{0.js-DphETTOT.js → 0.js-CWZQcgo6.js} +3 -3
- package/build/server/chunks/nodes/1.js-7HAwHjCf.js +9 -0
- package/build/server/chunks/nodes/{2.js-CmddEN1j.js → 2.js-CTiax7zN.js} +6 -6
- package/package.json +1 -1
- package/template/.dsi/resources/skills-reff.md +1 -1
- package/build/client/_app/immutable/assets/0.Ckapanfk.css +0 -2
- package/build/client/_app/immutable/chunks/BK9eh7ly.js +0 -1
- package/build/client/_app/immutable/chunks/DFcmLsZu.js +0 -1
- package/build/client/_app/immutable/entry/start.BdDgymYC.js +0 -1
- package/build/client/_app/immutable/nodes/2.xvwoCX2a.js +0 -174
- package/build/server/chunks/nodes/1.js-3gG-llw5.js +0 -9
- /package/build/client/_app/immutable/nodes/{0.tkrxyU6K.js → 0.ze9O6tWo.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as onDestroy, d as __exportAll } from '../../chunks/internal.js-
|
|
1
|
+
import { c as onDestroy, d as __exportAll } from '../../chunks/internal.js-DFJpTf_o.js';
|
|
2
2
|
import { V as head, y as derived, X as bind_props, W as escape_html, Y as attr, Z as attr_style, _ as attr_class, x as setContext, $ as spread_props, a0 as attributes, a1 as clsx, a2 as ensure_array_like, a3 as element, J as getContext, a4 as stringify, a5 as html, F as run, a6 as props_id } from '../../chunks/server.js-11-pxAWV.js';
|
|
3
3
|
import { U as UI_LOCALES } from '../../chunks/config.js-B0w1-uCA.js';
|
|
4
4
|
import { m as mergeEntries, c as collapseSystemPromptEntries, t as truncate } from '../../chunks/dsh-events.js-DEZgATm-.js';
|
|
@@ -7,7 +7,7 @@ import { b as applyKnobEvent, E as EMPTY_KNOBS, r as resolvePermission, l as loc
|
|
|
7
7
|
import { D as DEFAULT_IMAGE_LIMITS } from '../../chunks/image-limits.js-CUdJ0f7r.js';
|
|
8
8
|
import { a as appConfig, t as triggerMode, g as getTrigger, p as previewSegments, i as isValidTagWord, b as textPreviewOf, s as searchKey, c as shouldRecordPrompt, d as parseTagWords } from '../../chunks/app-config.svelte.js-BBPHOX4N.js';
|
|
9
9
|
import { c as getLocale } from '../../chunks/runtime.js-CCJi3XaY.js';
|
|
10
|
-
import { p as page, a as afterNavigate, t, c as replaceState, e as currentLocale, u as unexpectederror1, s as sessionnotfound2, r as reapednote1, d as dshunreachable1, b as backtoworkspace2 } from '../../chunks/state.js-
|
|
10
|
+
import { p as page, a as afterNavigate, t, c as replaceState, e as currentLocale, u as unexpectederror1, s as sessionnotfound2, r as reapednote1, d as dshunreachable1, b as backtoworkspace2 } from '../../chunks/state.js-CpGQrOQj.js';
|
|
11
11
|
import 'yaml';
|
|
12
12
|
import 'html-to-image';
|
|
13
13
|
import hljs from 'highlight.js/lib/core';
|
|
@@ -10742,38 +10742,6 @@ var tags = ((inputs = {}, options = {}) => {
|
|
|
10742
10742
|
return en_tags();
|
|
10743
10743
|
});
|
|
10744
10744
|
//#endregion
|
|
10745
|
-
//#region src/lib/paraglide/messages/terminalclose1.js
|
|
10746
|
-
/** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
|
|
10747
|
-
/** @typedef {{}} Terminalclose1Inputs */
|
|
10748
|
-
var en_terminalclose1 = () => {
|
|
10749
|
-
return `Close`;
|
|
10750
|
-
};
|
|
10751
|
-
var zh_terminalclose1 = () => {
|
|
10752
|
-
return `关闭`;
|
|
10753
|
-
};
|
|
10754
|
-
var id_terminalclose1 = () => {
|
|
10755
|
-
return `Tutup`;
|
|
10756
|
-
};
|
|
10757
|
-
var es_terminalclose1 = () => {
|
|
10758
|
-
return `Cerrar`;
|
|
10759
|
-
};
|
|
10760
|
-
/**
|
|
10761
|
-
* | output |
|
|
10762
|
-
* | --- |
|
|
10763
|
-
* | "Close" |
|
|
10764
|
-
*
|
|
10765
|
-
* @param {Terminalclose1Inputs} inputs
|
|
10766
|
-
* @param {{ locale?: "en" | "zh" | "id" | "es" }} options
|
|
10767
|
-
* @returns {LocalizedString}
|
|
10768
|
-
*/
|
|
10769
|
-
var terminalclose1 = ((inputs = {}, options = {}) => {
|
|
10770
|
-
const locale = options.locale ?? getLocale();
|
|
10771
|
-
if (locale === "zh") return zh_terminalclose1();
|
|
10772
|
-
if (locale === "id") return id_terminalclose1();
|
|
10773
|
-
if (locale === "es") return es_terminalclose1();
|
|
10774
|
-
return en_terminalclose1();
|
|
10775
|
-
});
|
|
10776
|
-
//#endregion
|
|
10777
10745
|
//#region src/lib/paraglide/messages/terminalclosed1.js
|
|
10778
10746
|
/** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
|
|
10779
10747
|
/** @typedef {{}} Terminalclosed1Inputs */
|
|
@@ -10902,6 +10870,38 @@ var terminalpaneltitle2 = ((inputs = {}, options = {}) => {
|
|
|
10902
10870
|
return en_terminalpaneltitle2();
|
|
10903
10871
|
});
|
|
10904
10872
|
//#endregion
|
|
10873
|
+
//#region src/lib/paraglide/messages/terminalsessioncap2.js
|
|
10874
|
+
/** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
|
|
10875
|
+
/** @typedef {{}} Terminalsessioncap2Inputs */
|
|
10876
|
+
var en_terminalsessioncap2 = () => {
|
|
10877
|
+
return `Session cap reached — close a terminal to open another.`;
|
|
10878
|
+
};
|
|
10879
|
+
var zh_terminalsessioncap2 = () => {
|
|
10880
|
+
return `已达会话上限 — 请先关闭一个终端。`;
|
|
10881
|
+
};
|
|
10882
|
+
var id_terminalsessioncap2 = () => {
|
|
10883
|
+
return `Batas sesi tercapai — tutup satu terminal untuk membuka yang lain.`;
|
|
10884
|
+
};
|
|
10885
|
+
var es_terminalsessioncap2 = () => {
|
|
10886
|
+
return `Límite de sesiones alcanzado — cierra una terminal para abrir otra.`;
|
|
10887
|
+
};
|
|
10888
|
+
/**
|
|
10889
|
+
* | output |
|
|
10890
|
+
* | --- |
|
|
10891
|
+
* | "Session cap reached — close a terminal to open another." |
|
|
10892
|
+
*
|
|
10893
|
+
* @param {Terminalsessioncap2Inputs} inputs
|
|
10894
|
+
* @param {{ locale?: "en" | "zh" | "id" | "es" }} options
|
|
10895
|
+
* @returns {LocalizedString}
|
|
10896
|
+
*/
|
|
10897
|
+
var terminalsessioncap2 = ((inputs = {}, options = {}) => {
|
|
10898
|
+
const locale = options.locale ?? getLocale();
|
|
10899
|
+
if (locale === "zh") return zh_terminalsessioncap2();
|
|
10900
|
+
if (locale === "id") return id_terminalsessioncap2();
|
|
10901
|
+
if (locale === "es") return es_terminalsessioncap2();
|
|
10902
|
+
return en_terminalsessioncap2();
|
|
10903
|
+
});
|
|
10904
|
+
//#endregion
|
|
10905
10905
|
//#region src/lib/paraglide/messages/terminalsettleinferredidle3.js
|
|
10906
10906
|
/** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
|
|
10907
10907
|
/** @typedef {{}} Terminalsettleinferredidle3Inputs */
|
|
@@ -11030,6 +11030,38 @@ var terminalsettletimeout2 = ((inputs = {}, options = {}) => {
|
|
|
11030
11030
|
return en_terminalsettletimeout2();
|
|
11031
11031
|
});
|
|
11032
11032
|
//#endregion
|
|
11033
|
+
//#region src/lib/paraglide/messages/terminaltabclose2.js
|
|
11034
|
+
/** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
|
|
11035
|
+
/** @typedef {{}} Terminaltabclose2Inputs */
|
|
11036
|
+
var en_terminaltabclose2 = () => {
|
|
11037
|
+
return `Close tab`;
|
|
11038
|
+
};
|
|
11039
|
+
var zh_terminaltabclose2 = () => {
|
|
11040
|
+
return `关闭标签页`;
|
|
11041
|
+
};
|
|
11042
|
+
var id_terminaltabclose2 = () => {
|
|
11043
|
+
return `Tutup tab`;
|
|
11044
|
+
};
|
|
11045
|
+
var es_terminaltabclose2 = () => {
|
|
11046
|
+
return `Cerrar pestaña`;
|
|
11047
|
+
};
|
|
11048
|
+
/**
|
|
11049
|
+
* | output |
|
|
11050
|
+
* | --- |
|
|
11051
|
+
* | "Close tab" |
|
|
11052
|
+
*
|
|
11053
|
+
* @param {Terminaltabclose2Inputs} inputs
|
|
11054
|
+
* @param {{ locale?: "en" | "zh" | "id" | "es" }} options
|
|
11055
|
+
* @returns {LocalizedString}
|
|
11056
|
+
*/
|
|
11057
|
+
var terminaltabclose2 = ((inputs = {}, options = {}) => {
|
|
11058
|
+
const locale = options.locale ?? getLocale();
|
|
11059
|
+
if (locale === "zh") return zh_terminaltabclose2();
|
|
11060
|
+
if (locale === "id") return id_terminaltabclose2();
|
|
11061
|
+
if (locale === "es") return es_terminaltabclose2();
|
|
11062
|
+
return en_terminaltabclose2();
|
|
11063
|
+
});
|
|
11064
|
+
//#endregion
|
|
11033
11065
|
//#region src/lib/paraglide/messages/text.js
|
|
11034
11066
|
/** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
|
|
11035
11067
|
/** @typedef {{}} TextInputs */
|
|
@@ -12587,15 +12619,16 @@ var _index_exports = /* @__PURE__ */ __exportAll({
|
|
|
12587
12619
|
syncComposer: () => synccomposer1,
|
|
12588
12620
|
systemPrompt: () => systemprompt1,
|
|
12589
12621
|
tags: () => tags,
|
|
12590
|
-
terminalClose: () => terminalclose1,
|
|
12591
12622
|
terminalClosed: () => terminalclosed1,
|
|
12592
12623
|
terminalDisabled: () => terminaldisabled1,
|
|
12593
12624
|
terminalOpening: () => terminalopening1,
|
|
12594
12625
|
terminalPanelTitle: () => terminalpaneltitle2,
|
|
12626
|
+
terminalSessionCap: () => terminalsessioncap2,
|
|
12595
12627
|
terminalSettleInferredIdle: () => terminalsettleinferredidle3,
|
|
12596
12628
|
terminalSettleSessionExit: () => terminalsettlesessionexit3,
|
|
12597
12629
|
terminalSettleStdinRead: () => terminalsettlestdinread3,
|
|
12598
12630
|
terminalSettleTimeout: () => terminalsettletimeout2,
|
|
12631
|
+
terminalTabClose: () => terminaltabclose2,
|
|
12599
12632
|
text: () => text,
|
|
12600
12633
|
thinkLabel: () => thinklabel1,
|
|
12601
12634
|
thinkingLabel: () => thinkinglabel1,
|
|
@@ -12979,15 +13012,16 @@ var messages_exports = /* @__PURE__ */ __exportAll({
|
|
|
12979
13012
|
syncComposer: () => synccomposer1,
|
|
12980
13013
|
systemPrompt: () => systemprompt1,
|
|
12981
13014
|
tags: () => tags,
|
|
12982
|
-
terminalClose: () => terminalclose1,
|
|
12983
13015
|
terminalClosed: () => terminalclosed1,
|
|
12984
13016
|
terminalDisabled: () => terminaldisabled1,
|
|
12985
13017
|
terminalOpening: () => terminalopening1,
|
|
12986
13018
|
terminalPanelTitle: () => terminalpaneltitle2,
|
|
13019
|
+
terminalSessionCap: () => terminalsessioncap2,
|
|
12987
13020
|
terminalSettleInferredIdle: () => terminalsettleinferredidle3,
|
|
12988
13021
|
terminalSettleSessionExit: () => terminalsettlesessionexit3,
|
|
12989
13022
|
terminalSettleStdinRead: () => terminalsettlestdinread3,
|
|
12990
13023
|
terminalSettleTimeout: () => terminalsettletimeout2,
|
|
13024
|
+
terminalTabClose: () => terminaltabclose2,
|
|
12991
13025
|
text: () => text,
|
|
12992
13026
|
thinkLabel: () => thinklabel1,
|
|
12993
13027
|
thinkingLabel: () => thinkinglabel1,
|
|
@@ -17987,13 +18021,21 @@ function parseCommand(text) {
|
|
|
17987
18021
|
args
|
|
17988
18022
|
};
|
|
17989
18023
|
}
|
|
17990
|
-
case "/dsi-prompts":
|
|
17991
18024
|
case "/dsi-terminal":
|
|
18025
|
+
if (args === "" || args === "--new-tab" || args === "--split-down") return {
|
|
18026
|
+
type: "terminal",
|
|
18027
|
+
args: "",
|
|
18028
|
+
...args !== "" ? { terminalAction: args.slice(2) } : {}
|
|
18029
|
+
};
|
|
18030
|
+
return {
|
|
18031
|
+
type: "terminal",
|
|
18032
|
+
args
|
|
18033
|
+
};
|
|
18034
|
+
case "/dsi-prompts":
|
|
17992
18035
|
case "/dsi-settings":
|
|
17993
18036
|
case "/dsh-settings": return {
|
|
17994
18037
|
type: {
|
|
17995
18038
|
"/dsi-prompts": "promptmanager",
|
|
17996
|
-
"/dsi-terminal": "terminal",
|
|
17997
18039
|
"/dsi-settings": "dsisettings",
|
|
17998
18040
|
"/dsh-settings": "dshsettings"
|
|
17999
18041
|
}[token],
|
|
@@ -18127,13 +18169,23 @@ var COMMAND_HELP = {
|
|
|
18127
18169
|
]
|
|
18128
18170
|
},
|
|
18129
18171
|
terminal: {
|
|
18130
|
-
usage: "/dsi-terminal",
|
|
18131
|
-
summary: "Aims the operator terminal
|
|
18172
|
+
usage: "/dsi-terminal [--new-tab | --split-down]",
|
|
18173
|
+
summary: "Aims the operator terminal desk: the open desk takes the focus; otherwise a NEW panel opens to the right of this conversation. --new-tab appends a tab; --split-down stacks another shell under the selected one; the two flags cannot combine. Renders the disabled note unless terminal.enabled is set in settings.",
|
|
18132
18174
|
params: [],
|
|
18133
|
-
examples: [
|
|
18134
|
-
|
|
18135
|
-
|
|
18136
|
-
|
|
18175
|
+
examples: [
|
|
18176
|
+
{
|
|
18177
|
+
line: "/dsi-terminal",
|
|
18178
|
+
description: "The terminal desk comes forward — beside this conversation if it was closed."
|
|
18179
|
+
},
|
|
18180
|
+
{
|
|
18181
|
+
line: "/dsi-terminal --new-tab",
|
|
18182
|
+
description: "A new desk tab, selected; the previous tab keeps running, hidden."
|
|
18183
|
+
},
|
|
18184
|
+
{
|
|
18185
|
+
line: "/dsi-terminal --split-down",
|
|
18186
|
+
description: "Another shell stacked under the selected one, in the same tab."
|
|
18187
|
+
}
|
|
18188
|
+
]
|
|
18137
18189
|
},
|
|
18138
18190
|
promptmanager: {
|
|
18139
18191
|
usage: "/dsi-prompts",
|
|
@@ -23564,7 +23616,7 @@ async function executeCommand(command, ctx, onNote) {
|
|
|
23564
23616
|
if (command.type === "workspace") return runWorkspaceLine(command.wsPath, command.wsName, ctx, onNote);
|
|
23565
23617
|
if (command.type === "mention") return runMention(command.sessionId ?? "", command.args, command.a2aId, ctx, onNote);
|
|
23566
23618
|
if (command.type === "promptmanager") return runPromptManager(command.args, ctx, onNote);
|
|
23567
|
-
if (command.type === "terminal") return runTerminal(command.args, ctx, onNote);
|
|
23619
|
+
if (command.type === "terminal") return runTerminal(command.args, command.terminalAction, ctx, onNote);
|
|
23568
23620
|
if (command.type === "skillshelf") return runSkillShelf(command.args, command.reload === true, ctx, onNote);
|
|
23569
23621
|
if (command.type === "dsisettings" || command.type === "dshsettings") return runSettingsEditor(command.type === "dsisettings" ? "dsi" : "dsh", command.type === "dsisettings" ? "/dsi-settings" : "/dsh-settings", command.args, ctx, onNote);
|
|
23570
23622
|
if (command.type === "loadinjected") return runLoadInjected(command.filename, command.addPanel === true, ctx, onNote);
|
|
@@ -23689,14 +23741,17 @@ async function executeCommand(command, ctx, onNote) {
|
|
|
23689
23741
|
* command. No wire call — the manager content talks to /api/prompts itself.
|
|
23690
23742
|
*/
|
|
23691
23743
|
/**
|
|
23692
|
-
* /dsi-terminal (Web Terminal spec Wave 5, 2026-09-24
|
|
23693
|
-
*
|
|
23694
|
-
*
|
|
23695
|
-
* a disabled flag notes the
|
|
23744
|
+
* /dsi-terminal (Web Terminal spec Wave 5, 2026-09-24; widened by The
|
|
23745
|
+
* Terminal Desk ADR 2026-09-24 D2): aim the operator terminal desk — the
|
|
23746
|
+
* manager-request grammar. The enabled gate lives HERE (the composer gives
|
|
23747
|
+
* honest feedback even before a panel exists): a disabled flag notes the
|
|
23748
|
+
* fact and opens nothing. action carries the parser-admitted flag
|
|
23749
|
+
* ('new-tab' | 'split-down') onward — with no desk on the floor all three
|
|
23750
|
+
* shapes create the first tab; the action discriminates only when one exists.
|
|
23696
23751
|
*/
|
|
23697
|
-
async function runTerminal(args, ctx, onNote) {
|
|
23752
|
+
async function runTerminal(args, action, ctx, onNote) {
|
|
23698
23753
|
if (args !== "") {
|
|
23699
|
-
const usage = "usage: /dsi-terminal";
|
|
23754
|
+
const usage = "usage: /dsi-terminal [--new-tab | --split-down]";
|
|
23700
23755
|
onNote?.(false, usage);
|
|
23701
23756
|
return {
|
|
23702
23757
|
ok: false,
|
|
@@ -25818,9 +25873,7 @@ function TerminalPanel($$renderer, $$props) {
|
|
|
25818
25873
|
$$renderer.push("<!--[0-->");
|
|
25819
25874
|
$$renderer.push(`<span data-testid="terminal-settle-badge" class="rounded bg-slate-700 px-1.5 py-0.5">${escape_html(settleText(panelState.lastSettle))}</span>`);
|
|
25820
25875
|
} else $$renderer.push("<!--[-1-->");
|
|
25821
|
-
$$renderer.push(`<!--]--> <div class="grow"></div> `);
|
|
25822
|
-
$$renderer.push("<!--[-1-->");
|
|
25823
|
-
$$renderer.push(`<!--]--></div> `);
|
|
25876
|
+
$$renderer.push(`<!--]--> <div class="grow"></div></div> `);
|
|
25824
25877
|
$$renderer.push("<!--[-1-->");
|
|
25825
25878
|
$$renderer.push(`<div class="relative min-h-72 grow overflow-hidden" data-testid="terminal-host" role="presentation"><div class="absolute inset-0"></div></div> `);
|
|
25826
25879
|
$$renderer.push("<!--[-1-->");
|
|
@@ -25836,6 +25889,173 @@ function TerminalPanel($$renderer, $$props) {
|
|
|
25836
25889
|
});
|
|
25837
25890
|
}
|
|
25838
25891
|
//#endregion
|
|
25892
|
+
//#region src/lib/components/terminal/TerminalTabHeader.svelte
|
|
25893
|
+
function TerminalTabHeader($$renderer, $$props) {
|
|
25894
|
+
let { children } = $$props;
|
|
25895
|
+
$$renderer.push(`<div data-svelte="TerminalTabHeader" role="tablist" class="flex items-center gap-1 border-b border-slate-800 px-1 py-0.5" data-testid="terminal-tab-header">`);
|
|
25896
|
+
children($$renderer);
|
|
25897
|
+
$$renderer.push(`<!----></div>`);
|
|
25898
|
+
}
|
|
25899
|
+
//#endregion
|
|
25900
|
+
//#region src/lib/components/terminal/TerminalTabButton.svelte
|
|
25901
|
+
function TerminalTabButton($$renderer, $$props) {
|
|
25902
|
+
$$renderer.component(($$renderer) => {
|
|
25903
|
+
let { index, selected, label} = $$props;
|
|
25904
|
+
$$renderer.push(`<div data-svelte="TerminalTabButton" role="tab"${attr("aria-selected", selected)} tabindex="0"${attr_class(`flex cursor-pointer items-center gap-1 rounded px-2 py-0.5 text-[10px] ${selected ? "bg-slate-700 text-slate-100" : "text-slate-400 hover:bg-slate-800"}`)}${attr("data-testid", `terminal-tab-button-${stringify(index)}`)}${attr("data-selected", selected ? "true" : "false")}><span>${escape_html(label)}</span> <span class="ml-1 rounded px-1 text-slate-500 hover:bg-slate-600 hover:text-slate-200" role="button" tabindex="-1"${attr("aria-label", t(terminaltabclose2) + " " + label)}${attr("data-testid", `terminal-tab-close-${stringify(index)}`)}>×</span></div>`);
|
|
25905
|
+
});
|
|
25906
|
+
}
|
|
25907
|
+
//#endregion
|
|
25908
|
+
//#region src/lib/components/terminal/TerminalTabContainer.svelte
|
|
25909
|
+
function TerminalTabContainer($$renderer, $$props) {
|
|
25910
|
+
let { index, visible, children } = $$props;
|
|
25911
|
+
$$renderer.push(`<div data-svelte="TerminalTabContainer"${attr_class(`min-h-0 grow ${visible ? "flex" : "hidden"} flex-col`)}${attr("hidden", !visible)}${attr("data-testid", `terminal-tab-container-${stringify(index)}`)}${attr("data-visible", visible ? "true" : "false")}>`);
|
|
25912
|
+
children($$renderer);
|
|
25913
|
+
$$renderer.push(`<!----></div>`);
|
|
25914
|
+
}
|
|
25915
|
+
//#endregion
|
|
25916
|
+
//#region src/lib/components/terminal/TerminalSplitContainer.svelte
|
|
25917
|
+
function TerminalSplitContainer($$renderer, $$props) {
|
|
25918
|
+
let { rowCount, children } = $$props;
|
|
25919
|
+
$$renderer.push(`<div data-svelte="TerminalSplitContainer"${attr_class(`flex min-h-0 grow flex-col gap-0.5 ${rowCount > 1 ? "overflow-y-auto" : "overflow-hidden"}`)} data-testid="terminal-split-container"${attr("data-rows", rowCount)}>`);
|
|
25920
|
+
children($$renderer);
|
|
25921
|
+
$$renderer.push(`<!----></div>`);
|
|
25922
|
+
}
|
|
25923
|
+
//#endregion
|
|
25924
|
+
//#region src/lib/components/terminal/TerminalDesk.svelte
|
|
25925
|
+
function TerminalDesk($$renderer, $$props) {
|
|
25926
|
+
$$renderer.component(($$renderer) => {
|
|
25927
|
+
/** TerminalDesk — the ONE terminal floor slot (Terminal Desk ADR,
|
|
25928
|
+
* 2026-09-24, D1/D3): tabs of stacked rows over the server's N-session
|
|
25929
|
+
* registry. The floor counts desks (always at most one); this
|
|
25930
|
+
* component owns the tab/row tree, selection, the close cascades (D5),
|
|
25931
|
+
* and the reload survival pair (D3): the blob MIRROR rides out via
|
|
25932
|
+
* onMirror; the probe's live session list adjudicates the REBUILD —
|
|
25933
|
+
* remembered ids that are gone or exited drop, survivors re-attach
|
|
25934
|
+
* (byte-0 replay per the Surviving Shell's amended D3), and an
|
|
25935
|
+
* all-dead desk falls back to one fresh self-open row. Row sessions
|
|
25936
|
+
* the desk mints itself are handed to the panel (row mode); the FIRST
|
|
25937
|
+
* row of a virgin desk self-opens via the panel's own ladder, so a
|
|
25938
|
+
* bare command behaves byte-identically to the pre-desk panel. */
|
|
25939
|
+
/** Null = self-open (the panel runs its own ladder and reports back
|
|
25940
|
+
* via onAssigned); set = the desk holds this session's lease. */
|
|
25941
|
+
let { onShellExit, restored = null, onMirror } = $$props;
|
|
25942
|
+
let nextKey = 1;
|
|
25943
|
+
const mkKey = () => nextKey++;
|
|
25944
|
+
const defaultTab = () => ({
|
|
25945
|
+
key: mkKey(),
|
|
25946
|
+
rows: [{
|
|
25947
|
+
key: mkKey(),
|
|
25948
|
+
assigned: null
|
|
25949
|
+
}]
|
|
25950
|
+
});
|
|
25951
|
+
let restoring = !!restored && restored.tabs.length > 0;
|
|
25952
|
+
let tabs = restoring ? [] : [defaultTab()];
|
|
25953
|
+
let selectedTab = 0;
|
|
25954
|
+
let opening = false;
|
|
25955
|
+
let capped = false;
|
|
25956
|
+
/** Mint a fresh session server-side and hand it to a new row (row
|
|
25957
|
+
* mode). A new tab or split-down NEVER re-attaches an existing
|
|
25958
|
+
* session — the reattach ladder is reload-recovery, not a spawner. */
|
|
25959
|
+
async function mintSession() {
|
|
25960
|
+
opening = true;
|
|
25961
|
+
try {
|
|
25962
|
+
const res = await fetch("/api/terminal", {
|
|
25963
|
+
method: "POST",
|
|
25964
|
+
headers: { "content-type": "application/json" },
|
|
25965
|
+
body: "{}"
|
|
25966
|
+
});
|
|
25967
|
+
if (!res.ok) {
|
|
25968
|
+
if ((await res.json().catch(() => ({})))?.error === "MAX_SESSIONS") capped = true;
|
|
25969
|
+
return null;
|
|
25970
|
+
}
|
|
25971
|
+
const body = await res.json();
|
|
25972
|
+
return {
|
|
25973
|
+
key: mkKey(),
|
|
25974
|
+
assigned: {
|
|
25975
|
+
sessionId: body.sessionId,
|
|
25976
|
+
token: body.token
|
|
25977
|
+
}
|
|
25978
|
+
};
|
|
25979
|
+
} finally {
|
|
25980
|
+
opening = false;
|
|
25981
|
+
}
|
|
25982
|
+
}
|
|
25983
|
+
/** The floor's forwarded command action (ADR D2): --new-tab appends a
|
|
25984
|
+
* tab and selects it; --split-down stacks a row on the SELECTED tab.
|
|
25985
|
+
* Both open a fresh session (never re-attach). */
|
|
25986
|
+
function applyAction(action) {
|
|
25987
|
+
(async () => {
|
|
25988
|
+
const row = await mintSession();
|
|
25989
|
+
if (!row) return;
|
|
25990
|
+
if (action === "new-tab") {
|
|
25991
|
+
tabs.push({
|
|
25992
|
+
key: mkKey(),
|
|
25993
|
+
rows: [row]
|
|
25994
|
+
});
|
|
25995
|
+
selectedTab = tabs.length - 1;
|
|
25996
|
+
} else tabs[selectedTab].rows.push(row);
|
|
25997
|
+
})();
|
|
25998
|
+
}
|
|
25999
|
+
$$renderer.push(`<div data-svelte="TerminalDesk" class="flex h-full min-h-0 flex-col rounded-lg bg-slate-900" data-testid="terminal-desk">`);
|
|
26000
|
+
if (restoring) {
|
|
26001
|
+
$$renderer.push("<!--[0-->");
|
|
26002
|
+
$$renderer.push(`<div class="p-3 text-xs text-slate-500" data-testid="terminal-desk-restoring">...</div>`);
|
|
26003
|
+
} else {
|
|
26004
|
+
$$renderer.push("<!--[-1-->");
|
|
26005
|
+
TerminalTabHeader($$renderer, {
|
|
26006
|
+
children: ($$renderer) => {
|
|
26007
|
+
$$renderer.push(`<!--[-->`);
|
|
26008
|
+
const each_array = ensure_array_like(tabs);
|
|
26009
|
+
for (let i = 0, $$length = each_array.length; i < $$length; i++) {
|
|
26010
|
+
each_array[i];
|
|
26011
|
+
TerminalTabButton($$renderer, {
|
|
26012
|
+
index: i,
|
|
26013
|
+
label: "T" + (i + 1),
|
|
26014
|
+
selected: i === selectedTab});
|
|
26015
|
+
}
|
|
26016
|
+
$$renderer.push(`<!--]-->`);
|
|
26017
|
+
}});
|
|
26018
|
+
$$renderer.push(`<!----> <!--[-->`);
|
|
26019
|
+
const each_array_1 = ensure_array_like(tabs);
|
|
26020
|
+
for (let i = 0, $$length = each_array_1.length; i < $$length; i++) {
|
|
26021
|
+
let tab = each_array_1[i];
|
|
26022
|
+
TerminalTabContainer($$renderer, {
|
|
26023
|
+
index: i,
|
|
26024
|
+
visible: i === selectedTab,
|
|
26025
|
+
children: ($$renderer) => {
|
|
26026
|
+
TerminalSplitContainer($$renderer, {
|
|
26027
|
+
rowCount: tab.rows.length,
|
|
26028
|
+
children: ($$renderer) => {
|
|
26029
|
+
$$renderer.push(`<!--[-->`);
|
|
26030
|
+
const each_array_2 = ensure_array_like(tab.rows);
|
|
26031
|
+
for (let $$index_1 = 0, $$length = each_array_2.length; $$index_1 < $$length; $$index_1++) {
|
|
26032
|
+
let row = each_array_2[$$index_1];
|
|
26033
|
+
$$renderer.push(`<div class="min-h-0" style="flex: 1 1 0; min-height: 10rem;">`);
|
|
26034
|
+
TerminalPanel($$renderer, {
|
|
26035
|
+
assigned: row.assigned});
|
|
26036
|
+
$$renderer.push(`<!----></div>`);
|
|
26037
|
+
}
|
|
26038
|
+
$$renderer.push(`<!--]-->`);
|
|
26039
|
+
}});
|
|
26040
|
+
}});
|
|
26041
|
+
}
|
|
26042
|
+
$$renderer.push(`<!--]--> `);
|
|
26043
|
+
if (opening) {
|
|
26044
|
+
$$renderer.push("<!--[0-->");
|
|
26045
|
+
$$renderer.push(`<div class="p-2 text-[10px] text-slate-500" data-testid="terminal-desk-opening">...</div>`);
|
|
26046
|
+
} else $$renderer.push("<!--[-1-->");
|
|
26047
|
+
$$renderer.push(`<!--]--> `);
|
|
26048
|
+
if (capped) {
|
|
26049
|
+
$$renderer.push("<!--[0-->");
|
|
26050
|
+
$$renderer.push(`<div class="p-2 text-[10px] text-slate-500" data-testid="terminal-desk-capped">${escape_html(t(terminalsessioncap2))}</div>`);
|
|
26051
|
+
} else $$renderer.push("<!--[-1-->");
|
|
26052
|
+
$$renderer.push(`<!--]-->`);
|
|
26053
|
+
}
|
|
26054
|
+
$$renderer.push(`<!--]--></div>`);
|
|
26055
|
+
bind_props($$props, { applyAction });
|
|
26056
|
+
});
|
|
26057
|
+
}
|
|
26058
|
+
//#endregion
|
|
25839
26059
|
//#region src/lib/components/settings-skills/SettingsSkillsToolbar.svelte
|
|
25840
26060
|
function SettingsSkillsToolbar($$renderer, $$props) {
|
|
25841
26061
|
$$renderer.component(($$renderer) => {
|
|
@@ -27433,6 +27653,31 @@ function clampExpanded(value) {
|
|
|
27433
27653
|
}
|
|
27434
27654
|
return out;
|
|
27435
27655
|
}
|
|
27656
|
+
/** The terminal desk's structure clamp (Terminal Desk ADR D3, Wave 3):
|
|
27657
|
+
* sanitize a stored desk mirror into { tabs, selectedTab } or undefined.
|
|
27658
|
+
* Junk drops FIELD-WISE — non-string sessionIds drop, empty/junk tabs
|
|
27659
|
+
* drop, selectedTab clamps into range — so a stale blob degrades to
|
|
27660
|
+
* "fewer rows remembered", never a phantom row. All tabs dropped (or
|
|
27661
|
+
* junk at the top) ⇒ undefined: the desk falls back to one fresh row. */
|
|
27662
|
+
function clampDeskMirror(value) {
|
|
27663
|
+
if (value === null || typeof value !== "object") return void 0;
|
|
27664
|
+
const raw = value;
|
|
27665
|
+
if (!Array.isArray(raw.tabs)) return void 0;
|
|
27666
|
+
const tabs = [];
|
|
27667
|
+
for (const tab of raw.tabs) {
|
|
27668
|
+
if (tab === null || typeof tab !== "object") continue;
|
|
27669
|
+
const ids = tab.sessionIds;
|
|
27670
|
+
if (!Array.isArray(ids)) continue;
|
|
27671
|
+
const sessionIds = ids.filter((id) => typeof id === "string" && id.length > 0);
|
|
27672
|
+
if (sessionIds.length === 0) continue;
|
|
27673
|
+
tabs.push({ sessionIds });
|
|
27674
|
+
}
|
|
27675
|
+
if (tabs.length === 0) return void 0;
|
|
27676
|
+
return {
|
|
27677
|
+
tabs,
|
|
27678
|
+
selectedTab: typeof raw.selectedTab === "number" && Number.isFinite(raw.selectedTab) ? Math.max(0, Math.min(tabs.length - 1, Math.round(raw.selectedTab))) : 0
|
|
27679
|
+
};
|
|
27680
|
+
}
|
|
27436
27681
|
/** Persisted defaults when nothing (usable) is stored. */
|
|
27437
27682
|
function defaultPanelPrefs() {
|
|
27438
27683
|
return {
|
|
@@ -27458,7 +27703,7 @@ function isPanelEntry(value) {
|
|
|
27458
27703
|
if (value === null || typeof value !== "object") return false;
|
|
27459
27704
|
const entry = value;
|
|
27460
27705
|
if (typeof entry.id !== "string" || entry.id.length === 0) return false;
|
|
27461
|
-
if (entry.kind !== void 0 && entry.kind !== "conversation" && entry.kind !== "prompt-manager" && entry.kind !== "settings-editor" && entry.kind !== "injected-doc" && entry.kind !== "skill-shelf" && entry.kind !== "workspace-explorer" && entry.kind !== "workspace-file") return false;
|
|
27706
|
+
if (entry.kind !== void 0 && entry.kind !== "conversation" && entry.kind !== "prompt-manager" && entry.kind !== "settings-editor" && entry.kind !== "injected-doc" && entry.kind !== "skill-shelf" && entry.kind !== "workspace-explorer" && entry.kind !== "workspace-file" && entry.kind !== "terminal") return false;
|
|
27462
27707
|
if (entry.kind === "settings-editor" && entry.target !== "dsi" && entry.target !== "dsh") return false;
|
|
27463
27708
|
if (entry.kind === "workspace-explorer") {
|
|
27464
27709
|
if (entry.sessionId !== null && (typeof entry.sessionId !== "string" || entry.sessionId.length === 0)) return false;
|
|
@@ -27475,7 +27720,7 @@ function isPanelEntry(value) {
|
|
|
27475
27720
|
if (typeof entry.sourceSessionId !== "string" || entry.sourceSessionId.length === 0) return false;
|
|
27476
27721
|
if (typeof entry.displayPath !== "string" || entry.displayPath.length === 0) return false;
|
|
27477
27722
|
}
|
|
27478
|
-
if (entry.kind !== "prompt-manager" && entry.kind !== "settings-editor" && entry.kind !== "skill-shelf" && entry.kind !== "injected-doc" && entry.kind !== "workspace-explorer" && entry.kind !== "workspace-file") {
|
|
27723
|
+
if (entry.kind !== "prompt-manager" && entry.kind !== "settings-editor" && entry.kind !== "skill-shelf" && entry.kind !== "injected-doc" && entry.kind !== "workspace-explorer" && entry.kind !== "workspace-file" && entry.kind !== "terminal") {
|
|
27479
27724
|
if (typeof entry.sessionId !== "string" || entry.sessionId.length === 0) return false;
|
|
27480
27725
|
if (entry.agentPreset !== void 0 && typeof entry.agentPreset !== "string" && entry.agentPreset !== null) return false;
|
|
27481
27726
|
}
|
|
@@ -27502,6 +27747,15 @@ function sanitizePanels(raw) {
|
|
|
27502
27747
|
kind: "prompt-manager",
|
|
27503
27748
|
width
|
|
27504
27749
|
};
|
|
27750
|
+
if (entry.kind === "terminal") {
|
|
27751
|
+
const desk = clampDeskMirror(entry.desk);
|
|
27752
|
+
return {
|
|
27753
|
+
id: entry.id,
|
|
27754
|
+
kind: "terminal",
|
|
27755
|
+
...desk ? { desk } : {},
|
|
27756
|
+
width
|
|
27757
|
+
};
|
|
27758
|
+
}
|
|
27505
27759
|
if (entry.kind === "settings-editor") return {
|
|
27506
27760
|
id: entry.id,
|
|
27507
27761
|
kind: "settings-editor",
|
|
@@ -28434,6 +28688,15 @@ function _page($$renderer, $$props) {
|
|
|
28434
28688
|
let treePct = clampTreePct(initialPrefs.treePct);
|
|
28435
28689
|
let panels = seededInitially ? [makePanel(seedSessionId(), seedCold?.agentPreset ?? null)] : initialPrefs.panels;
|
|
28436
28690
|
syncPanelIdSeq(panels);
|
|
28691
|
+
/** The one terminal desk's ref (Terminal Desk ADR D1/D2, Wave 2): the
|
|
28692
|
+
* floor forwards the parsed command action (--new-tab / --split-down)
|
|
28693
|
+
* into the desk's methods when the desk is already open — repeat bare
|
|
28694
|
+
* stays focus-only. */
|
|
28695
|
+
/** The desk's published structure mirror, by panel id (Terminal Desk
|
|
28696
|
+
* ADR D3, Wave 3): read at savePanelPrefs time — the $effect that
|
|
28697
|
+
* persists the floor serializes each terminal entry's desk field.
|
|
28698
|
+
* A copy, never the authority; the probe adjudicates on rebuild. */
|
|
28699
|
+
let terminalDeskMirrors = {};
|
|
28437
28700
|
let selectedPanelId = seededInitially ? panels[0]?.id ?? null : initialPrefs.selectedPanelId;
|
|
28438
28701
|
/** Which panel the loupe reads (The Panel Loupe ADR D5, 2026-09-04):
|
|
28439
28702
|
* session-local by decision — never persisted (the R2 effect above
|
|
@@ -28742,7 +29005,11 @@ function _page($$renderer, $$props) {
|
|
|
28742
29005
|
if (panel.kind === "terminal") {
|
|
28743
29006
|
$$renderer.push("<!--[0-->");
|
|
28744
29007
|
$$renderer.push(`<div class="panel-manager-body svelte-1uha8ag" data-testid="panel-terminal">`);
|
|
28745
|
-
|
|
29008
|
+
TerminalDesk($$renderer, {
|
|
29009
|
+
restored: panel.desk ?? null,
|
|
29010
|
+
onMirror: (m) => terminalDeskMirrors[panel.id] = m,
|
|
29011
|
+
onShellExit: () => removePanel(panel.id)
|
|
29012
|
+
});
|
|
28746
29013
|
$$renderer.push(`<!----></div>`);
|
|
28747
29014
|
} else if (panel.kind === "prompt-manager") {
|
|
28748
29015
|
$$renderer.push("<!--[1-->");
|
|
@@ -28978,4 +29245,4 @@ function _page($$renderer, $$props) {
|
|
|
28978
29245
|
}
|
|
28979
29246
|
|
|
28980
29247
|
export { _page as default };
|
|
28981
|
-
//# sourceMappingURL=_page.svelte.js-
|
|
29248
|
+
//# sourceMappingURL=_page.svelte.js-C-gx9imA.js.map
|
|
@@ -9,8 +9,8 @@ import * as qs from 'node:querystring';
|
|
|
9
9
|
import { Readable } from 'node:stream';
|
|
10
10
|
import { S as SvelteKitError } from './chunks/shared.js-HQ0rfhm4.js';
|
|
11
11
|
import './chunks/utils.js-CAdNO8Tu.js';
|
|
12
|
-
import { S as Server } from './index.js-
|
|
13
|
-
import { m as manifest } from './manifest.js-
|
|
12
|
+
import { S as Server } from './index.js-BHhoIUPw.js';
|
|
13
|
+
import { m as manifest } from './manifest.js-DkA6N6z6.js';
|
|
14
14
|
import { env, dir, env_prefix } from '../../env.js';
|
|
15
15
|
import { format } from 'node:url';
|
|
16
16
|
|
|
@@ -1732,4 +1732,4 @@ const handler = sequence(
|
|
|
1732
1732
|
);
|
|
1733
1733
|
|
|
1734
1734
|
export { format_listening_address as f, handler as h, polka as p };
|
|
1735
|
-
//# sourceMappingURL=handler-
|
|
1735
|
+
//# sourceMappingURL=handler-C-ZkJfQi.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as __commonJSMin, o as options, s as set_private_env, a as set_public_env, g as get_hooks, p as public_env, r as read_implementation, b as set_read_implementation } from './chunks/internal.js-
|
|
1
|
+
import { _ as __commonJSMin, o as options, s as set_private_env, a as set_public_env, g as get_hooks, p as public_env, r as read_implementation, b as set_read_implementation } from './chunks/internal.js-DFJpTf_o.js';
|
|
2
2
|
import { n as noop, T as TRAILING_SLASH_PARAM, I as INVALIDATED_PARAM, R as Redirect, b as get_relative_path, S as SvelteKitError, g as get_status, t as text_encoder, o as once, H as HttpError, d as normalize_error, e as create_remote_key, f as parse_remote_arg, s as stringify, h as stringify$1, A as ActionFailure, i as split_remote_key, j as base64_encode } from './chunks/shared.js-HQ0rfhm4.js';
|
|
3
3
|
import { b as base, o as override, a as assets, r as reset, c as app_dir } from './chunks/internal2.js-BcS47nI-.js';
|
|
4
4
|
import { f as format_server_error, j as json, i as is_form_content_type, t as text, h as has_prerendered_path, a as handle_fatal_error, r as redirect_response, g as get_set_cookies, n as negotiate, w as with_request_store, p as parseString, m as merge_tracing, b as method_not_allowed, s as static_error_page, c as handle_error_and_jsonify, d as get_global_name, e as create_replacer, k as serialize_uses, l as clarify_devalue_error, E as ENDPOINT_METHODS, P as PAGE_METHODS, o as get_node_type, q as isRedirect, u as escape_html, v as error, x as deserialize_binary_form } from './chunks/utils.js-CAdNO8Tu.js';
|
|
@@ -3861,4 +3861,4 @@ var Server = class {
|
|
|
3861
3861
|
};
|
|
3862
3862
|
|
|
3863
3863
|
export { Server as S };
|
|
3864
|
-
//# sourceMappingURL=index.js-
|
|
3864
|
+
//# sourceMappingURL=index.js-BHhoIUPw.js.map
|