@deepseek-insight/dsi 0.8.3 → 0.8.4

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.
Files changed (46) hide show
  1. package/build/client/_app/immutable/assets/0.cswkTiBk.css +2 -0
  2. package/build/client/_app/immutable/chunks/C7Sg_49n.js +1 -0
  3. package/build/client/_app/immutable/chunks/{BoHeiMOU.js → CnzmIbjr.js} +1 -1
  4. package/build/client/_app/immutable/chunks/DY0MQ1mO.js +1 -0
  5. package/build/client/_app/immutable/chunks/{C9QAOGL1.js → GKkjunMm.js} +2 -2
  6. package/build/client/_app/immutable/entry/{app.S_mxIoOg.js → app.DYNedUxy.js} +2 -2
  7. package/build/client/_app/immutable/entry/start.BzyrBssE.js +1 -0
  8. package/build/client/_app/immutable/nodes/{1.D20V6eTe.js → 1.CHB5qqQ9.js} +1 -1
  9. package/build/client/_app/immutable/nodes/{2.BHcBdFqH.js → 2.C6No1310.js} +197 -197
  10. package/build/client/_app/version.json +1 -1
  11. package/build/handler.js +4 -4
  12. package/build/index.js +4 -4
  13. package/build/server/chunks/chunks/{internal2.js-Ba5p8uFM.js → internal2.js-J3h-US64.js} +2 -2
  14. package/build/server/chunks/chunks/{registry.js-C2MdrfNv.js → registry.js-CZNJZ0C-.js} +64 -15
  15. package/build/server/chunks/chunks/{state.js-BSiAgink.js → state.js-8RBD56dL.js} +2 -2
  16. package/build/server/chunks/entries/endpoints/api/browser/_id_/activate/{_server.ts.js-CogDOHKu.js → _server.ts.js-BdMJzENm.js} +2 -2
  17. package/build/server/chunks/entries/endpoints/api/browser/_id_/close/{_server.ts.js-xOt7LnS1.js → _server.ts.js-B5z9-N8Y.js} +2 -2
  18. package/build/server/chunks/entries/endpoints/api/browser/_id_/closetab/{_server.ts.js-CSmVPvSM.js → _server.ts.js-CnZHun5r.js} +2 -2
  19. package/build/server/chunks/entries/endpoints/api/browser/_id_/element/{_server.ts.js-BA40oCDW.js → _server.ts.js-C1oM2Ihf.js} +2 -2
  20. package/build/server/chunks/entries/endpoints/api/browser/_id_/input/{_server.ts.js-EX7eVzjp.js → _server.ts.js-DmbqGRMg.js} +2 -2
  21. package/build/server/chunks/entries/endpoints/api/browser/_id_/mcp/{_server.ts.js-B_EcmyFt.js → _server.ts.js-Cj80T1yH.js} +2 -2
  22. package/build/server/chunks/entries/endpoints/api/browser/_id_/navigate/{_server.ts.js-C3dYbyS3.js → _server.ts.js-6gi1UYTJ.js} +2 -2
  23. package/build/server/chunks/entries/endpoints/api/browser/_id_/opentab/{_server.ts.js-CMhJJO25.js → _server.ts.js-Bhx_J7ot.js} +8 -6
  24. package/build/server/chunks/entries/endpoints/api/browser/_id_/page/{_server.ts.js-DIW4uI2S.js → _server.ts.js-DvQXNnX9.js} +2 -2
  25. package/build/server/chunks/entries/endpoints/api/browser/_id_/stream/{_server.ts.js-CIPIlq5X.js → _server.ts.js-MflkVWUn.js} +2 -2
  26. package/build/server/chunks/entries/endpoints/api/browser/_id_/tabs/{_server.ts.js-CoEdOiml.js → _server.ts.js-CoUSlLcP.js} +2 -2
  27. package/build/server/chunks/entries/endpoints/api/browser/_id_/viewport/{_server.ts.js-CdELUoGT.js → _server.ts.js-DNk4EgjJ.js} +2 -2
  28. package/build/server/chunks/entries/endpoints/api/browser/{_server.ts.js-ea6HpNGh.js → _server.ts.js-CECKap7O.js} +2 -2
  29. package/build/server/chunks/entries/pages/{_error.svelte.js-D8-G0evO.js → _error.svelte.js-DRPduJdP.js} +3 -3
  30. package/build/server/chunks/entries/pages/{_page.svelte.js-7xWLRsiZ.js → _page.svelte.js-Dek8Q1_v.js} +238 -20
  31. package/build/server/chunks/{handler-BedQ0jP-.js → handler-DUyvzXsb.js} +3 -3
  32. package/build/server/chunks/{index.js-BF6tPPQs.js → index.js-BrP1SRzN.js} +2 -2
  33. package/build/server/chunks/{manifest.js-3c0p7QAl.js → manifest.js-C4z6aoYx.js} +18 -18
  34. package/build/server/chunks/nodes/{0.js-B3i7sGR_.js → 0.js-BuB3t8Br.js} +3 -3
  35. package/build/server/chunks/nodes/1.js-CW4V8ni8.js +9 -0
  36. package/build/server/chunks/nodes/{2.js-CgnRGwm6.js → 2.js-C-o9KF10.js} +3 -3
  37. package/package.json +1 -1
  38. package/template/.dsi/prompts.sqlite-shm +0 -0
  39. package/template/.dsi/prompts.sqlite-wal +0 -0
  40. package/template/.dsi/settings.yaml +2 -2
  41. package/build/client/_app/immutable/assets/0.DyOAkKS-.css +0 -2
  42. package/build/client/_app/immutable/chunks/QJuSx3RG.js +0 -1
  43. package/build/client/_app/immutable/chunks/sC_8Ss7w.js +0 -1
  44. package/build/client/_app/immutable/entry/start.BPQAB3iV.js +0 -1
  45. package/build/server/chunks/nodes/1.js-eUf50uxI.js +0 -9
  46. /package/build/client/_app/immutable/nodes/{0.6dTmg1Xv.js → 0.DQYP6BCS.js} +0 -0
@@ -9,7 +9,7 @@ import { D as DEFAULT_IMAGE_LIMITS } from '../../chunks/image-limits.js-CUdJ0f7r
9
9
  import { s as sanitizeWorkspaceProfile, d as dsiKey, t as themePrefs } from '../../chunks/theme-prefs.svelte.js-8CaWz46g.js';
10
10
  import { a as appConfig, p as previewSegments, b as parseTagWords, i as isValidTagWord, s as shouldRecordPrompt, g as getTrigger, t as triggerMode, c as searchKey, d as textPreviewOf } from '../../chunks/app-config.svelte.js-BM4WbMFB.js';
11
11
  import { c as getLocale } from '../../chunks/runtime.js-CCJi3XaY.js';
12
- import { p as page, a as afterNavigate, t, c as currentLocale, e as replaceState, u as unexpectederror1, s as sessionnotfound2, r as reapednote1, d as dshunreachable1, b as backtoworkspace2 } from '../../chunks/state.js-BSiAgink.js';
12
+ import { p as page, a as afterNavigate, t, c as currentLocale, e as replaceState, u as unexpectederror1, s as sessionnotfound2, r as reapednote1, d as dshunreachable1, b as backtoworkspace2 } from '../../chunks/state.js-8RBD56dL.js';
13
13
  import 'yaml';
14
14
  import 'html-to-image';
15
15
  import hljs from 'highlight.js/lib/core';
@@ -21,7 +21,7 @@ import xml from 'highlight.js/lib/languages/xml';
21
21
  import css from 'highlight.js/lib/languages/css';
22
22
  import '../../chunks/uneval.js-BJ9Qq2SF.js';
23
23
  import '../../chunks/shared.js-HQ0rfhm4.js';
24
- import '../../chunks/internal2.js-Ba5p8uFM.js';
24
+ import '../../chunks/internal2.js-J3h-US64.js';
25
25
  import '../../chunks/utils.js-CAdNO8Tu.js';
26
26
 
27
27
  //#region src/lib/paraglide/messages/abort.js
@@ -984,6 +984,166 @@ var browserclosedelete2 = ((inputs = {}, options = {}) => {
984
984
  return en_browserclosedelete2();
985
985
  });
986
986
  //#endregion
987
+ //#region src/lib/paraglide/messages/browserctxcopyimage3.js
988
+ /** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
989
+ /** @typedef {{}} Browserctxcopyimage3Inputs */
990
+ var en_browserctxcopyimage3 = () => {
991
+ return `Copy image address`;
992
+ };
993
+ var zh_browserctxcopyimage3 = () => {
994
+ return `复制图片地址`;
995
+ };
996
+ var id_browserctxcopyimage3 = () => {
997
+ return `Salin alamat gambar`;
998
+ };
999
+ var es_browserctxcopyimage3 = () => {
1000
+ return `Copiar la dirección de la imagen`;
1001
+ };
1002
+ /**
1003
+ * | output |
1004
+ * | --- |
1005
+ * | "Copy image address" |
1006
+ *
1007
+ * @param {Browserctxcopyimage3Inputs} inputs
1008
+ * @param {{ locale?: "en" | "zh" | "id" | "es" }} options
1009
+ * @returns {LocalizedString}
1010
+ */
1011
+ var browserctxcopyimage3 = ((inputs = {}, options = {}) => {
1012
+ const locale = options.locale ?? getLocale();
1013
+ if (locale === "zh") return zh_browserctxcopyimage3();
1014
+ if (locale === "id") return id_browserctxcopyimage3();
1015
+ if (locale === "es") return es_browserctxcopyimage3();
1016
+ return en_browserctxcopyimage3();
1017
+ });
1018
+ //#endregion
1019
+ //#region src/lib/paraglide/messages/browserctxcopylink3.js
1020
+ /** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
1021
+ /** @typedef {{}} Browserctxcopylink3Inputs */
1022
+ var en_browserctxcopylink3 = () => {
1023
+ return `Copy link address`;
1024
+ };
1025
+ var zh_browserctxcopylink3 = () => {
1026
+ return `复制链接地址`;
1027
+ };
1028
+ var id_browserctxcopylink3 = () => {
1029
+ return `Salin alamat tautan`;
1030
+ };
1031
+ var es_browserctxcopylink3 = () => {
1032
+ return `Copiar la dirección del enlace`;
1033
+ };
1034
+ /**
1035
+ * | output |
1036
+ * | --- |
1037
+ * | "Copy link address" |
1038
+ *
1039
+ * @param {Browserctxcopylink3Inputs} inputs
1040
+ * @param {{ locale?: "en" | "zh" | "id" | "es" }} options
1041
+ * @returns {LocalizedString}
1042
+ */
1043
+ var browserctxcopylink3 = ((inputs = {}, options = {}) => {
1044
+ const locale = options.locale ?? getLocale();
1045
+ if (locale === "zh") return zh_browserctxcopylink3();
1046
+ if (locale === "id") return id_browserctxcopylink3();
1047
+ if (locale === "es") return es_browserctxcopylink3();
1048
+ return en_browserctxcopylink3();
1049
+ });
1050
+ //#endregion
1051
+ //#region src/lib/paraglide/messages/browserctxopenimage3.js
1052
+ /** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
1053
+ /** @typedef {{}} Browserctxopenimage3Inputs */
1054
+ var en_browserctxopenimage3 = () => {
1055
+ return `Open image in new tab`;
1056
+ };
1057
+ var zh_browserctxopenimage3 = () => {
1058
+ return `在新标签页中打开图片`;
1059
+ };
1060
+ var id_browserctxopenimage3 = () => {
1061
+ return `Buka gambar di tab baru`;
1062
+ };
1063
+ var es_browserctxopenimage3 = () => {
1064
+ return `Abrir imagen en una pestaña nueva`;
1065
+ };
1066
+ /**
1067
+ * | output |
1068
+ * | --- |
1069
+ * | "Open image in new tab" |
1070
+ *
1071
+ * @param {Browserctxopenimage3Inputs} inputs
1072
+ * @param {{ locale?: "en" | "zh" | "id" | "es" }} options
1073
+ * @returns {LocalizedString}
1074
+ */
1075
+ var browserctxopenimage3 = ((inputs = {}, options = {}) => {
1076
+ const locale = options.locale ?? getLocale();
1077
+ if (locale === "zh") return zh_browserctxopenimage3();
1078
+ if (locale === "id") return id_browserctxopenimage3();
1079
+ if (locale === "es") return es_browserctxopenimage3();
1080
+ return en_browserctxopenimage3();
1081
+ });
1082
+ //#endregion
1083
+ //#region src/lib/paraglide/messages/browserctxopenlink3.js
1084
+ /** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
1085
+ /** @typedef {{}} Browserctxopenlink3Inputs */
1086
+ var en_browserctxopenlink3 = () => {
1087
+ return `Open link in new tab`;
1088
+ };
1089
+ var zh_browserctxopenlink3 = () => {
1090
+ return `在新标签页中打开链接`;
1091
+ };
1092
+ var id_browserctxopenlink3 = () => {
1093
+ return `Buka tautan di tab baru`;
1094
+ };
1095
+ var es_browserctxopenlink3 = () => {
1096
+ return `Abrir enlace en una pestaña nueva`;
1097
+ };
1098
+ /**
1099
+ * | output |
1100
+ * | --- |
1101
+ * | "Open link in new tab" |
1102
+ *
1103
+ * @param {Browserctxopenlink3Inputs} inputs
1104
+ * @param {{ locale?: "en" | "zh" | "id" | "es" }} options
1105
+ * @returns {LocalizedString}
1106
+ */
1107
+ var browserctxopenlink3 = ((inputs = {}, options = {}) => {
1108
+ const locale = options.locale ?? getLocale();
1109
+ if (locale === "zh") return zh_browserctxopenlink3();
1110
+ if (locale === "id") return id_browserctxopenlink3();
1111
+ if (locale === "es") return es_browserctxopenlink3();
1112
+ return en_browserctxopenlink3();
1113
+ });
1114
+ //#endregion
1115
+ //#region src/lib/paraglide/messages/browserctxsendrightclick4.js
1116
+ /** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
1117
+ /** @typedef {{}} Browserctxsendrightclick4Inputs */
1118
+ var en_browserctxsendrightclick4 = () => {
1119
+ return `Send right-click to the page`;
1120
+ };
1121
+ var zh_browserctxsendrightclick4 = () => {
1122
+ return `向页面发送右键点击`;
1123
+ };
1124
+ var id_browserctxsendrightclick4 = () => {
1125
+ return `Kirim klik kanan ke halaman`;
1126
+ };
1127
+ var es_browserctxsendrightclick4 = () => {
1128
+ return `Enviar clic derecho a la página`;
1129
+ };
1130
+ /**
1131
+ * | output |
1132
+ * | --- |
1133
+ * | "Send right-click to the page" |
1134
+ *
1135
+ * @param {Browserctxsendrightclick4Inputs} inputs
1136
+ * @param {{ locale?: "en" | "zh" | "id" | "es" }} options
1137
+ * @returns {LocalizedString}
1138
+ */
1139
+ var browserctxsendrightclick4 = ((inputs = {}, options = {}) => {
1140
+ const locale = options.locale ?? getLocale();
1141
+ if (locale === "zh") return zh_browserctxsendrightclick4();
1142
+ if (locale === "id") return id_browserctxsendrightclick4();
1143
+ if (locale === "es") return es_browserctxsendrightclick4();
1144
+ return en_browserctxsendrightclick4();
1145
+ });
1146
+ //#endregion
987
1147
  //#region src/lib/paraglide/messages/browserforward1.js
988
1148
  /** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
989
1149
  /** @typedef {{}} Browserforward1Inputs */
@@ -1176,6 +1336,38 @@ var browsersessionfailed2 = ((inputs, options = {}) => {
1176
1336
  return en_browsersessionfailed2(inputs);
1177
1337
  });
1178
1338
  //#endregion
1339
+ //#region src/lib/paraglide/messages/browsertabclosetitle3.js
1340
+ /** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
1341
+ /** @typedef {{}} Browsertabclosetitle3Inputs */
1342
+ var en_browsertabclosetitle3 = () => {
1343
+ return `Close tab`;
1344
+ };
1345
+ var zh_browsertabclosetitle3 = () => {
1346
+ return `关闭标签页`;
1347
+ };
1348
+ var id_browsertabclosetitle3 = () => {
1349
+ return `Tutup tab`;
1350
+ };
1351
+ var es_browsertabclosetitle3 = () => {
1352
+ return `Cerrar pestaña`;
1353
+ };
1354
+ /**
1355
+ * | output |
1356
+ * | --- |
1357
+ * | "Close tab" |
1358
+ *
1359
+ * @param {Browsertabclosetitle3Inputs} inputs
1360
+ * @param {{ locale?: "en" | "zh" | "id" | "es" }} options
1361
+ * @returns {LocalizedString}
1362
+ */
1363
+ var browsertabclosetitle3 = ((inputs = {}, options = {}) => {
1364
+ const locale = options.locale ?? getLocale();
1365
+ if (locale === "zh") return zh_browsertabclosetitle3();
1366
+ if (locale === "id") return id_browsertabclosetitle3();
1367
+ if (locale === "es") return es_browsertabclosetitle3();
1368
+ return en_browsertabclosetitle3();
1369
+ });
1370
+ //#endregion
1179
1371
  //#region src/lib/paraglide/messages/browserurlplaceholder2.js
1180
1372
  /** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
1181
1373
  /** @typedef {{}} Browserurlplaceholder2Inputs */
@@ -14873,12 +15065,18 @@ var _index_exports = /* @__PURE__ */ __exportAll({
14873
15065
  browserBack: () => browserback1,
14874
15066
  browserChipLabel: () => browserchiplabel2,
14875
15067
  browserCloseDelete: () => browserclosedelete2,
15068
+ browserCtxCopyImage: () => browserctxcopyimage3,
15069
+ browserCtxCopyLink: () => browserctxcopylink3,
15070
+ browserCtxOpenImage: () => browserctxopenimage3,
15071
+ browserCtxOpenLink: () => browserctxopenlink3,
15072
+ browserCtxSendRightClick: () => browserctxsendrightclick4,
14876
15073
  browserForward: () => browserforward1,
14877
15074
  browserLaunching: () => browserlaunching1,
14878
15075
  browserOpenTitle: () => browseropentitle2,
14879
15076
  browserPanelTitle: () => browserpaneltitle2,
14880
15077
  browserReload: () => browserreload1,
14881
15078
  browserSessionFailed: () => browsersessionfailed2,
15079
+ browserTabCloseTitle: () => browsertabclosetitle3,
14882
15080
  browserUrlPlaceholder: () => browserurlplaceholder2,
14883
15081
  browserWaitingFrames: () => browserwaitingframes2,
14884
15082
  cacheHit: () => cachehit1,
@@ -15345,12 +15543,18 @@ var messages_exports = /* @__PURE__ */ __exportAll({
15345
15543
  browserBack: () => browserback1,
15346
15544
  browserChipLabel: () => browserchiplabel2,
15347
15545
  browserCloseDelete: () => browserclosedelete2,
15546
+ browserCtxCopyImage: () => browserctxcopyimage3,
15547
+ browserCtxCopyLink: () => browserctxcopylink3,
15548
+ browserCtxOpenImage: () => browserctxopenimage3,
15549
+ browserCtxOpenLink: () => browserctxopenlink3,
15550
+ browserCtxSendRightClick: () => browserctxsendrightclick4,
15348
15551
  browserForward: () => browserforward1,
15349
15552
  browserLaunching: () => browserlaunching1,
15350
15553
  browserOpenTitle: () => browseropentitle2,
15351
15554
  browserPanelTitle: () => browserpaneltitle2,
15352
15555
  browserReload: () => browserreload1,
15353
15556
  browserSessionFailed: () => browsersessionfailed2,
15557
+ browserTabCloseTitle: () => browsertabclosetitle3,
15354
15558
  browserUrlPlaceholder: () => browserurlplaceholder2,
15355
15559
  browserWaitingFrames: () => browserwaitingframes2,
15356
15560
  cacheHit: () => cachehit1,
@@ -17619,7 +17823,7 @@ function ThemeToggle($$renderer, $$props) {
17619
17823
  }
17620
17824
  //#endregion
17621
17825
  //#region package.json
17622
- var version = "0.8.3";
17826
+ var version = "0.8.4";
17623
17827
  var dsh = { "webVersion": "0.2.1-rc.3" };
17624
17828
  //#endregion
17625
17829
  //#region src/lib/version.ts
@@ -32972,14 +33176,14 @@ function BrowserContent($$renderer, $$props) {
32972
33176
  $$renderer.push(`<div class="absolute z-50 min-w-44 rounded-md border border-zinc-700 bg-white py-1 text-xs shadow-xl"${attr_style(`left:${stringify(ctxMenu.px)}px; top:${stringify(ctxMenu.py)}px`)} data-testid="browser-ctxmenu">`);
32973
33177
  if (ctxMenu.src) {
32974
33178
  $$renderer.push("<!--[0-->");
32975
- $$renderer.push(`<button type="button" class="block w-full px-3 py-1.5 text-left text-zinc-900 hover:bg-zinc-200" data-testid="browser-ctxmenu-item">Open image in new tab</button> <button type="button" class="block w-full px-3 py-1.5 text-left text-zinc-900 hover:bg-zinc-200" data-testid="browser-ctxmenu-item">Copy image address</button>`);
33179
+ $$renderer.push(`<button type="button" class="block w-full px-3 py-1.5 text-left text-zinc-900 hover:bg-zinc-200" data-testid="browser-ctxmenu-item">${escape_html(browserctxopenimage3())}</button> <button type="button" class="block w-full px-3 py-1.5 text-left text-zinc-900 hover:bg-zinc-200" data-testid="browser-ctxmenu-item">${escape_html(browserctxcopyimage3())}</button>`);
32976
33180
  } else $$renderer.push("<!--[-1-->");
32977
33181
  $$renderer.push(`<!--]--> `);
32978
33182
  if (ctxMenu.href) {
32979
33183
  $$renderer.push("<!--[0-->");
32980
- $$renderer.push(`<button type="button" class="block w-full px-3 py-1.5 text-left text-zinc-900 hover:bg-zinc-200" data-testid="browser-ctxmenu-item">Open link in new tab</button> <button type="button" class="block w-full px-3 py-1.5 text-left text-zinc-900 hover:bg-zinc-200" data-testid="browser-ctxmenu-item">Copy link address</button>`);
33184
+ $$renderer.push(`<button type="button" class="block w-full px-3 py-1.5 text-left text-zinc-900 hover:bg-zinc-200" data-testid="browser-ctxmenu-item">${escape_html(browserctxopenlink3())}</button> <button type="button" class="block w-full px-3 py-1.5 text-left text-zinc-900 hover:bg-zinc-200" data-testid="browser-ctxmenu-item">${escape_html(browserctxcopylink3())}</button>`);
32981
33185
  } else $$renderer.push("<!--[-1-->");
32982
- $$renderer.push(`<!--]--> <button type="button" class="block w-full px-3 py-1.5 text-left text-zinc-900 hover:bg-zinc-200" data-testid="browser-ctxmenu-item">Reload</button> <div class="my-1 border-t border-zinc-300"></div> <button type="button" class="block w-full px-3 py-1.5 text-left text-zinc-900 hover:bg-zinc-200" data-testid="browser-ctxmenu-item">Send right-click to the page</button></div>`);
33186
+ $$renderer.push(`<!--]--> <button type="button" class="block w-full px-3 py-1.5 text-left text-zinc-900 hover:bg-zinc-200" data-testid="browser-ctxmenu-item">${escape_html(browserreload1())}</button> <div class="my-1 border-t border-zinc-300"></div> <button type="button" class="block w-full px-3 py-1.5 text-left text-zinc-900 hover:bg-zinc-200" data-testid="browser-ctxmenu-item">${escape_html(browserctxsendrightclick4())}</button></div>`);
32983
33187
  } else $$renderer.push("<!--[-1-->");
32984
33188
  $$renderer.push(`<!--]--> `);
32985
33189
  if (status !== "live") {
@@ -32996,6 +33200,20 @@ function BrowserContent($$renderer, $$props) {
32996
33200
  });
32997
33201
  }
32998
33202
  //#endregion
33203
+ //#region src/lib/components/browser/BrowserTab.svelte
33204
+ function BrowserTab($$renderer, $$props) {
33205
+ $$renderer.component(($$renderer) => {
33206
+ let { tab, disabled = false} = $$props;
33207
+ $$renderer.push(`<div data-svelte="BrowserTab" class="relative shrink-0"><button type="button"${attr_class("w-32 truncate rounded px-1.5 py-0.5 pr-4 text-left whitespace-nowrap", void 0, {
33208
+ "bg-blue-200": tab.active,
33209
+ "text-blue-900": tab.active,
33210
+ "text-zinc-600": !tab.active,
33211
+ "hover:bg-zinc-100": !tab.active,
33212
+ "font-medium": tab.active
33213
+ })}${attr("disabled", disabled || tab.active, true)} data-testid="browser-tab"${attr("data-active", tab.active)}${attr("title", tab.url)}>${escape_html(tab.title || tab.url || "tab")}</button> <button type="button" class="absolute right-0.5 top-1/2 -translate-y-1/2 rounded text-[10px] leading-none text-red-500 hover:bg-red-500 hover:text-white"${attr("title", browsertabclosetitle3())} data-testid="browser-tab-close">✕</button></div>`);
33214
+ });
33215
+ }
33216
+ //#endregion
32999
33217
  //#region src/lib/components/browser/mirror-input.ts
33000
33218
  /** The on-screen rect of the PAGE image inside its wrapper. The frame is
33001
33219
  * drawn aspect-true (canvas object-contain): when the frame is wider or
@@ -33154,6 +33372,7 @@ function BrowserPanel($$renderer, $$props) {
33154
33372
  /** ADR-0040 D5: the tab strip — the registry's tab list mirrored here;
33155
33373
  * the SERVER stays the authority (activeTargetId), this is a view. */
33156
33374
  let tabs = [];
33375
+ let switching = false;
33157
33376
  const moves = createMoveCoalescer((cb) => requestAnimationFrame(cb), (x, y) => void post());
33158
33377
  async function post(input) {}
33159
33378
  function toViewportCx(e) {
@@ -33220,16 +33439,19 @@ function BrowserPanel($$renderer, $$props) {
33220
33439
  x: p.x,
33221
33440
  y: p.y});
33222
33441
  }
33223
- async function ctxOpenTab(url) {
33224
- ctxClose();
33225
- }
33442
+ /** ADR-0042 D3: ONE client choreography for tab creation — the context
33443
+ * menu's open-link/image (url present) and the strip's + chip (url
33444
+ * empty = BLANK, the birth state again). Empty body per D1: absence is
33445
+ * the blank signal, never a literal about:blank. Callers own their own
33446
+ * ctxClose(). */
33447
+ async function openTab(url) {}
33226
33448
  function ctxAct(action) {
33227
33449
  const m = ctxMenu;
33228
33450
  ctxClose();
33229
33451
  if (!m) return;
33230
- if (action === "open-image" && m.src) return void ctxOpenTab(m.src);
33452
+ if (action === "open-image" && m.src) return void openTab(m.src);
33231
33453
  if (action === "copy-image" && m.src) return void ctxCopy(m.src);
33232
- if (action === "open-link" && m.href) return void ctxOpenTab(m.href);
33454
+ if (action === "open-link" && m.href) return void openTab(m.href);
33233
33455
  if (action === "copy-link" && m.href) return void ctxCopy(m.href);
33234
33456
  if (action === "reload") return void proxy();
33235
33457
  if (action === "send-right-click") return ctxSendRightClick();
@@ -33315,15 +33537,11 @@ function BrowserPanel($$renderer, $$props) {
33315
33537
  const each_array = ensure_array_like(tabs);
33316
33538
  for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
33317
33539
  let t = each_array[$$index];
33318
- $$renderer.push(`<div class="relative shrink-0"><button type="button"${attr_class("w-32 truncate rounded px-1.5 py-0.5 pr-4 text-left whitespace-nowrap", void 0, {
33319
- "bg-blue-200": t.active,
33320
- "text-blue-900": t.active,
33321
- "text-zinc-600": !t.active,
33322
- "hover:bg-zinc-100": !t.active,
33323
- "font-medium": t.active
33324
- })}${attr("disabled", t.active, true)} data-testid="browser-tab"${attr("data-active", t.active)}${attr("title", t.url)}>${escape_html(t.title || t.url || "tab")}</button> <button type="button" class="absolute right-0.5 top-1/2 -translate-y-1/2 rounded text-[10px] leading-none text-red-500 hover:bg-red-500 hover:text-white" title="Close tab" data-testid="browser-tab-close">✕</button></div>`);
33540
+ BrowserTab($$renderer, {
33541
+ tab: t,
33542
+ disabled: switching});
33325
33543
  }
33326
- $$renderer.push(`<!--]--></div>`);
33544
+ $$renderer.push(`<!--]--> <button type="button" class="shrink-0 rounded px-1.5 leading-none text-zinc-500 hover:bg-zinc-100 disabled:opacity-40" title="New tab" aria-label="New tab" data-testid="browser-tab-new"${attr("disabled", true, true)}>+</button></div>`);
33327
33545
  } else $$renderer.push("<!--[-1-->");
33328
33546
  $$renderer.push(`<!--]--> `);
33329
33547
  BrowserContent($$renderer, {
@@ -36117,4 +36335,4 @@ function _page($$renderer, $$props) {
36117
36335
  }
36118
36336
 
36119
36337
  export { _page as default };
36120
- //# sourceMappingURL=_page.svelte.js-7xWLRsiZ.js.map
36338
+ //# sourceMappingURL=_page.svelte.js-Dek8Q1_v.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-BF6tPPQs.js';
13
- import { m as manifest } from './manifest.js-3c0p7QAl.js';
12
+ import { S as Server } from './index.js-BrP1SRzN.js';
13
+ import { m as manifest } from './manifest.js-C4z6aoYx.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-BedQ0jP-.js.map
1735
+ //# sourceMappingURL=handler-DUyvzXsb.js.map
@@ -3,7 +3,7 @@ import { n as noop, T as TRAILING_SLASH_PARAM, I as INVALIDATED_PARAM, R as Redi
3
3
  import { b as base, o as override, a as assets, r as reset, c as app_dir } from './chunks/internal.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';
5
5
  import { u as uneval } from './chunks/uneval.js-BJ9Qq2SF.js';
6
- import { 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/internal2.js-Ba5p8uFM.js';
6
+ import { 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/internal2.js-J3h-US64.js';
7
7
  import { d as decode_pathname, f as find_route, n as normalize_path, a as disable_search, v as validate_layout_server_exports, b as validate_layout_exports, c as validate_page_server_exports, e as validate_page_exports, r as resolve, h as hash, m as make_trackable } from './chunks/exports.js-DH_tjtdv.js';
8
8
  import { S as readable, T as writable } from './chunks/server.js-B1bDXhHu.js';
9
9
 
@@ -3862,4 +3862,4 @@ var Server = class {
3862
3862
  };
3863
3863
 
3864
3864
  export { Server as S };
3865
- //# sourceMappingURL=index.js-BF6tPPQs.js.map
3865
+ //# sourceMappingURL=index.js-BrP1SRzN.js.map
@@ -10,11 +10,11 @@ return {
10
10
  assets: new Set(["favicon.svg"]),
11
11
  mimeTypes: {".svg":"image/svg+xml"},
12
12
  _: {
13
- client: {start:"_app/immutable/entry/start.BPQAB3iV.js",app:"_app/immutable/entry/app.S_mxIoOg.js",imports:["_app/immutable/entry/start.BPQAB3iV.js","_app/immutable/chunks/C9QAOGL1.js","_app/immutable/chunks/cHj8EuyS.js","_app/immutable/entry/app.S_mxIoOg.js","_app/immutable/chunks/cHj8EuyS.js","_app/immutable/chunks/HclGiUj8.js","_app/immutable/chunks/xihTtKlq.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
13
+ client: {start:"_app/immutable/entry/start.BzyrBssE.js",app:"_app/immutable/entry/app.DYNedUxy.js",imports:["_app/immutable/entry/start.BzyrBssE.js","_app/immutable/chunks/GKkjunMm.js","_app/immutable/chunks/cHj8EuyS.js","_app/immutable/entry/app.DYNedUxy.js","_app/immutable/chunks/cHj8EuyS.js","_app/immutable/chunks/HclGiUj8.js","_app/immutable/chunks/xihTtKlq.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
14
14
  nodes: [
15
- __memo(() => import('./nodes/0.js-B3i7sGR_.js')),
16
- __memo(() => import('./nodes/1.js-eUf50uxI.js')),
17
- __memo(() => import('./nodes/2.js-CgnRGwm6.js'))
15
+ __memo(() => import('./nodes/0.js-BuB3t8Br.js')),
16
+ __memo(() => import('./nodes/1.js-CW4V8ni8.js')),
17
+ __memo(() => import('./nodes/2.js-C-o9KF10.js'))
18
18
  ],
19
19
  remotes: {
20
20
 
@@ -53,91 +53,91 @@ return {
53
53
  pattern: /^\/api\/browser\/?$/,
54
54
  params: [],
55
55
  page: null,
56
- endpoint: __memo(() => import('./entries/endpoints/api/browser/_server.ts.js-ea6HpNGh.js'))
56
+ endpoint: __memo(() => import('./entries/endpoints/api/browser/_server.ts.js-CECKap7O.js'))
57
57
  },
58
58
  {
59
59
  id: "/api/browser/[id]/activate",
60
60
  pattern: /^\/api\/browser\/([^/]+?)\/activate\/?$/,
61
61
  params: [{"name":"id","optional":false,"rest":false,"chained":false}],
62
62
  page: null,
63
- endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/activate/_server.ts.js-CogDOHKu.js'))
63
+ endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/activate/_server.ts.js-BdMJzENm.js'))
64
64
  },
65
65
  {
66
66
  id: "/api/browser/[id]/closetab",
67
67
  pattern: /^\/api\/browser\/([^/]+?)\/closetab\/?$/,
68
68
  params: [{"name":"id","optional":false,"rest":false,"chained":false}],
69
69
  page: null,
70
- endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/closetab/_server.ts.js-CSmVPvSM.js'))
70
+ endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/closetab/_server.ts.js-CnZHun5r.js'))
71
71
  },
72
72
  {
73
73
  id: "/api/browser/[id]/close",
74
74
  pattern: /^\/api\/browser\/([^/]+?)\/close\/?$/,
75
75
  params: [{"name":"id","optional":false,"rest":false,"chained":false}],
76
76
  page: null,
77
- endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/close/_server.ts.js-xOt7LnS1.js'))
77
+ endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/close/_server.ts.js-B5z9-N8Y.js'))
78
78
  },
79
79
  {
80
80
  id: "/api/browser/[id]/element",
81
81
  pattern: /^\/api\/browser\/([^/]+?)\/element\/?$/,
82
82
  params: [{"name":"id","optional":false,"rest":false,"chained":false}],
83
83
  page: null,
84
- endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/element/_server.ts.js-BA40oCDW.js'))
84
+ endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/element/_server.ts.js-C1oM2Ihf.js'))
85
85
  },
86
86
  {
87
87
  id: "/api/browser/[id]/input",
88
88
  pattern: /^\/api\/browser\/([^/]+?)\/input\/?$/,
89
89
  params: [{"name":"id","optional":false,"rest":false,"chained":false}],
90
90
  page: null,
91
- endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/input/_server.ts.js-EX7eVzjp.js'))
91
+ endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/input/_server.ts.js-DmbqGRMg.js'))
92
92
  },
93
93
  {
94
94
  id: "/api/browser/[id]/mcp",
95
95
  pattern: /^\/api\/browser\/([^/]+?)\/mcp\/?$/,
96
96
  params: [{"name":"id","optional":false,"rest":false,"chained":false}],
97
97
  page: null,
98
- endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/mcp/_server.ts.js-B_EcmyFt.js'))
98
+ endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/mcp/_server.ts.js-Cj80T1yH.js'))
99
99
  },
100
100
  {
101
101
  id: "/api/browser/[id]/navigate",
102
102
  pattern: /^\/api\/browser\/([^/]+?)\/navigate\/?$/,
103
103
  params: [{"name":"id","optional":false,"rest":false,"chained":false}],
104
104
  page: null,
105
- endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/navigate/_server.ts.js-C3dYbyS3.js'))
105
+ endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/navigate/_server.ts.js-6gi1UYTJ.js'))
106
106
  },
107
107
  {
108
108
  id: "/api/browser/[id]/opentab",
109
109
  pattern: /^\/api\/browser\/([^/]+?)\/opentab\/?$/,
110
110
  params: [{"name":"id","optional":false,"rest":false,"chained":false}],
111
111
  page: null,
112
- endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/opentab/_server.ts.js-CMhJJO25.js'))
112
+ endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/opentab/_server.ts.js-Bhx_J7ot.js'))
113
113
  },
114
114
  {
115
115
  id: "/api/browser/[id]/page",
116
116
  pattern: /^\/api\/browser\/([^/]+?)\/page\/?$/,
117
117
  params: [{"name":"id","optional":false,"rest":false,"chained":false}],
118
118
  page: null,
119
- endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/page/_server.ts.js-DIW4uI2S.js'))
119
+ endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/page/_server.ts.js-DvQXNnX9.js'))
120
120
  },
121
121
  {
122
122
  id: "/api/browser/[id]/stream",
123
123
  pattern: /^\/api\/browser\/([^/]+?)\/stream\/?$/,
124
124
  params: [{"name":"id","optional":false,"rest":false,"chained":false}],
125
125
  page: null,
126
- endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/stream/_server.ts.js-CIPIlq5X.js'))
126
+ endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/stream/_server.ts.js-MflkVWUn.js'))
127
127
  },
128
128
  {
129
129
  id: "/api/browser/[id]/tabs",
130
130
  pattern: /^\/api\/browser\/([^/]+?)\/tabs\/?$/,
131
131
  params: [{"name":"id","optional":false,"rest":false,"chained":false}],
132
132
  page: null,
133
- endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/tabs/_server.ts.js-CoEdOiml.js'))
133
+ endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/tabs/_server.ts.js-CoUSlLcP.js'))
134
134
  },
135
135
  {
136
136
  id: "/api/browser/[id]/viewport",
137
137
  pattern: /^\/api\/browser\/([^/]+?)\/viewport\/?$/,
138
138
  params: [{"name":"id","optional":false,"rest":false,"chained":false}],
139
139
  page: null,
140
- endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/viewport/_server.ts.js-CdELUoGT.js'))
140
+ endpoint: __memo(() => import('./entries/endpoints/api/browser/_id_/viewport/_server.ts.js-DNk4EgjJ.js'))
141
141
  },
142
142
  {
143
143
  id: "/api/config",
@@ -571,4 +571,4 @@ return {
571
571
  })();
572
572
 
573
573
  export { manifest as m };
574
- //# sourceMappingURL=manifest.js-3c0p7QAl.js.map
574
+ //# sourceMappingURL=manifest.js-C4z6aoYx.js.map
@@ -4,9 +4,9 @@ const index = 0;
4
4
  let component_cache;
5
5
  const component = async () => component_cache ??= (await import('../entries/pages/_layout.svelte.js-DRfiLzlz.js')).default;
6
6
  const universal_id = "src/routes/+layout.ts";
7
- const imports = ["_app/immutable/nodes/0.6dTmg1Xv.js","_app/immutable/chunks/cHj8EuyS.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/NcOjFWr3.js","_app/immutable/chunks/D-Rolhzs.js"];
8
- const stylesheets = ["_app/immutable/assets/0.DyOAkKS-.css"];
7
+ const imports = ["_app/immutable/nodes/0.DQYP6BCS.js","_app/immutable/chunks/cHj8EuyS.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/NcOjFWr3.js","_app/immutable/chunks/D-Rolhzs.js"];
8
+ const stylesheets = ["_app/immutable/assets/0.cswkTiBk.css"];
9
9
  const fonts = [];
10
10
 
11
11
  export { component, fonts, imports, index, stylesheets, universal_id };
12
- //# sourceMappingURL=0.js-B3i7sGR_.js.map
12
+ //# sourceMappingURL=0.js-BuB3t8Br.js.map
@@ -0,0 +1,9 @@
1
+ const index = 1;
2
+ let component_cache;
3
+ const component = async () => component_cache ??= (await import('../entries/pages/_error.svelte.js-DRPduJdP.js')).default;
4
+ const imports = ["_app/immutable/nodes/1.CHB5qqQ9.js","_app/immutable/chunks/cHj8EuyS.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/CnzmIbjr.js","_app/immutable/chunks/GKkjunMm.js","_app/immutable/chunks/D-Rolhzs.js"];
5
+ const stylesheets = [];
6
+ const fonts = [];
7
+
8
+ export { component, fonts, imports, index, stylesheets };
9
+ //# sourceMappingURL=1.js-CW4V8ni8.js.map
@@ -19,11 +19,11 @@ import '../chunks/uneval.js-BJ9Qq2SF.js';
19
19
 
20
20
  const index = 2;
21
21
  let component_cache;
22
- const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js-7xWLRsiZ.js')).default;
22
+ const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js-Dek8Q1_v.js')).default;
23
23
  const server_id = "src/routes/+page.server.ts";
24
- const imports = ["_app/immutable/nodes/2.BHcBdFqH.js","_app/immutable/chunks/cHj8EuyS.js","_app/immutable/chunks/C9QAOGL1.js","_app/immutable/chunks/HclGiUj8.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/D-Rolhzs.js","_app/immutable/chunks/NcOjFWr3.js","_app/immutable/chunks/BoHeiMOU.js"];
24
+ const imports = ["_app/immutable/nodes/2.C6No1310.js","_app/immutable/chunks/cHj8EuyS.js","_app/immutable/chunks/GKkjunMm.js","_app/immutable/chunks/HclGiUj8.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/D-Rolhzs.js","_app/immutable/chunks/NcOjFWr3.js","_app/immutable/chunks/CnzmIbjr.js"];
25
25
  const stylesheets = ["_app/immutable/assets/2.BPprd30B.css"];
26
26
  const fonts = [];
27
27
 
28
28
  export { component, fonts, imports, index, server_id, stylesheets };
29
- //# sourceMappingURL=2.js-CgnRGwm6.js.map
29
+ //# sourceMappingURL=2.js-C-o9KF10.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deepseek-insight/dsi",
3
- "version": "0.8.3",
3
+ "version": "0.8.4",
4
4
  "description": "See your multiple agents run on the floor (agent, sub-agent, etc), each conversation on the floor are updated instantly.",
5
5
  "keywords": [
6
6
  "Deepseek",
Binary file
Binary file
@@ -35,7 +35,7 @@ dsh:
35
35
  presetEnglish: true
36
36
  browser:
37
37
  headless: true
38
- screencastQuality: 60
39
- screencastMaxFps: 10
38
+ screencastQuality: 90
39
+ screencastMaxFps: 15
40
40
  jobs:
41
41
  autoClose: false