@deepseek-insight/dsi 0.5.27 → 0.5.29

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 (40) hide show
  1. package/bin/lib/mirror-skills.mjs +1 -1
  2. package/build/client/_app/immutable/assets/0.BbBUj8Gs.css +2 -0
  3. package/build/client/_app/immutable/assets/{2.Bfl8hQcu.css → 2.B2JMICOx.css} +1 -1
  4. package/build/client/_app/immutable/chunks/Ch00tocz.js +2 -0
  5. package/build/client/_app/immutable/chunks/{DuItqZFP.js → D4yILG4p.js} +1 -1
  6. package/build/client/_app/immutable/chunks/Zxb_bQ44.js +1 -0
  7. package/build/client/_app/immutable/chunks/muEkqSbS.js +1 -0
  8. package/build/client/_app/immutable/entry/{app.DjIR2gNq.js → app.CxAgK_V4.js} +2 -2
  9. package/build/client/_app/immutable/entry/start.CImCAUy1.js +1 -0
  10. package/build/client/_app/immutable/nodes/{1.CERO4WcC.js → 1.DJ0wIUro.js} +1 -1
  11. package/build/client/_app/immutable/nodes/{2.DwsATN7B.js → 2.8eo5qS19.js} +88 -88
  12. package/build/client/_app/version.json +1 -1
  13. package/build/handler.js +4 -4
  14. package/build/index.js +4 -4
  15. package/build/server/chunks/chunks/engine.js-BRoFbCnL.js +151 -0
  16. package/build/server/chunks/chunks/{internal.js-9ErK1M89.js → internal.js-D-70iBmc.js} +2 -2
  17. package/build/server/chunks/chunks/{state.js-CoQ1E4r6.js → state.js-BKUnFOB4.js} +2 -2
  18. package/build/server/chunks/entries/endpoints/api/skills/install/{_server.ts.js-CtHQQsxC.js → _server.ts.js-DijnCqgt.js} +2 -2
  19. package/build/server/chunks/entries/endpoints/api/skills/progress/_server.ts.js-DdqqTrFN.js +59 -0
  20. package/build/server/chunks/entries/endpoints/api/skills/reload/{_server.ts.js-BOlSdtQw.js → _server.ts.js-Cqig6BdK.js} +7 -2
  21. package/build/server/chunks/entries/endpoints/api/skills/reload/cancel/_server.ts.js-CGlFnmuI.js +31 -0
  22. package/build/server/chunks/entries/endpoints/api/skills/snapshot/{_server.ts.js-Yz5rNblU.js → _server.ts.js-p7P1CFjG.js} +2 -2
  23. package/build/server/chunks/entries/endpoints/api/skills/uninstall/{_server.ts.js-Bzy9Oq4k.js → _server.ts.js-h5IfIfov.js} +2 -2
  24. package/build/server/chunks/entries/pages/{_error.svelte.js-jdm5qmCK.js → _error.svelte.js-Bee5xNts.js} +3 -3
  25. package/build/server/chunks/entries/pages/{_page.svelte.js-qgIk1zgI.js → _page.svelte.js-B2EA5ccE.js} +200 -71
  26. package/build/server/chunks/{handler-DBjyvmti.js → handler-BVZR5A-R.js} +3 -3
  27. package/build/server/chunks/{index.js-DP_xAH0H.js → index.js-Nwzp6b_k.js} +2 -2
  28. package/build/server/chunks/{manifest.js-B3WD8tJ6.js → manifest.js-Bof9naPY.js} +23 -9
  29. package/build/server/chunks/nodes/{0.js-DO4F8XMq.js → 0.js-iA5BIbe7.js} +3 -3
  30. package/build/server/chunks/nodes/1.js-CxOuNsR_.js +9 -0
  31. package/build/server/chunks/nodes/{2.js-DtdHKW9v.js → 2.js-QPzVOzfX.js} +4 -4
  32. package/package.json +8 -3
  33. package/build/client/_app/immutable/assets/0.DoqT6ojN.css +0 -2
  34. package/build/client/_app/immutable/chunks/DL2Y4nxy.js +0 -1
  35. package/build/client/_app/immutable/chunks/Xs5m2yqM.js +0 -1
  36. package/build/client/_app/immutable/chunks/pNaMQbLr.js +0 -2
  37. package/build/client/_app/immutable/entry/start.Bho-erid.js +0 -1
  38. package/build/server/chunks/chunks/engine.js-CBxHjv0c.js +0 -96
  39. package/build/server/chunks/nodes/1.js-Vh-e4em9.js +0 -9
  40. /package/build/client/_app/immutable/nodes/{0.DlNmLZ8S.js → 0.B3l2ZewD.js} +0 -0
@@ -1,4 +1,4 @@
1
- import { c as onDestroy, d as __exportAll } from '../../chunks/internal.js-9ErK1M89.js';
1
+ import { c as onDestroy, d as __exportAll } from '../../chunks/internal.js-D-70iBmc.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-BvW5LrfQ.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-F-U5xz0r.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-CoQ1E4r6.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-BKUnFOB4.js';
11
11
  import 'yaml';
12
12
  import 'html-to-image';
13
13
  import hljs from 'highlight.js/lib/core';
@@ -2742,6 +2742,38 @@ var ctxchipuserapproval3 = ((inputs = {}, options = {}) => {
2742
2742
  return en_ctxchipuserapproval3();
2743
2743
  });
2744
2744
  //#endregion
2745
+ //#region src/lib/paraglide/messages/ctxsnapshotsupersedes2.js
2746
+ /** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
2747
+ /** @typedef {{}} Ctxsnapshotsupersedes2Inputs */
2748
+ var en_ctxsnapshotsupersedes2 = () => {
2749
+ return `Supersedes earlier snapshots`;
2750
+ };
2751
+ var zh_ctxsnapshotsupersedes2 = () => {
2752
+ return `取代先前的快照`;
2753
+ };
2754
+ var id_ctxsnapshotsupersedes2 = () => {
2755
+ return `Menggantikan cuplikan sebelumnya`;
2756
+ };
2757
+ var es_ctxsnapshotsupersedes2 = () => {
2758
+ return `Sustituye a las instantáneas anteriores`;
2759
+ };
2760
+ /**
2761
+ * | output |
2762
+ * | --- |
2763
+ * | "Supersedes earlier snapshots" |
2764
+ *
2765
+ * @param {Ctxsnapshotsupersedes2Inputs} inputs
2766
+ * @param {{ locale?: "en" | "zh" | "id" | "es" }} options
2767
+ * @returns {LocalizedString}
2768
+ */
2769
+ var ctxsnapshotsupersedes2 = ((inputs = {}, options = {}) => {
2770
+ const locale = options.locale ?? getLocale();
2771
+ if (locale === "zh") return zh_ctxsnapshotsupersedes2();
2772
+ if (locale === "id") return id_ctxsnapshotsupersedes2();
2773
+ if (locale === "es") return es_ctxsnapshotsupersedes2();
2774
+ return en_ctxsnapshotsupersedes2();
2775
+ });
2776
+ //#endregion
2745
2777
  //#region src/lib/paraglide/messages/ctxwindowtitle2.js
2746
2778
  /** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
2747
2779
  /** @typedef {{ used: NonNullable<unknown>, limit: NonNullable<unknown> }} Ctxwindowtitle2Inputs */
@@ -9686,6 +9718,38 @@ var skillsshelfreload2 = ((inputs = {}, options = {}) => {
9686
9718
  return en_skillsshelfreload2();
9687
9719
  });
9688
9720
  //#endregion
9721
+ //#region src/lib/paraglide/messages/skillsshelfreloadcancel3.js
9722
+ /** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
9723
+ /** @typedef {{}} Skillsshelfreloadcancel3Inputs */
9724
+ var en_skillsshelfreloadcancel3 = () => {
9725
+ return `Cancel reload`;
9726
+ };
9727
+ var zh_skillsshelfreloadcancel3 = () => {
9728
+ return `取消重新加载`;
9729
+ };
9730
+ var id_skillsshelfreloadcancel3 = () => {
9731
+ return `Batalkan muat ulang`;
9732
+ };
9733
+ var es_skillsshelfreloadcancel3 = () => {
9734
+ return `Cancelar recarga`;
9735
+ };
9736
+ /**
9737
+ * | output |
9738
+ * | --- |
9739
+ * | "Cancel reload" |
9740
+ *
9741
+ * @param {Skillsshelfreloadcancel3Inputs} inputs
9742
+ * @param {{ locale?: "en" | "zh" | "id" | "es" }} options
9743
+ * @returns {LocalizedString}
9744
+ */
9745
+ var skillsshelfreloadcancel3 = ((inputs = {}, options = {}) => {
9746
+ const locale = options.locale ?? getLocale();
9747
+ if (locale === "zh") return zh_skillsshelfreloadcancel3();
9748
+ if (locale === "id") return id_skillsshelfreloadcancel3();
9749
+ if (locale === "es") return es_skillsshelfreloadcancel3();
9750
+ return en_skillsshelfreloadcancel3();
9751
+ });
9752
+ //#endregion
9689
9753
  //#region src/lib/paraglide/messages/skillsshelfreloaded2.js
9690
9754
  /** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
9691
9755
  /** @typedef {{}} Skillsshelfreloaded2Inputs */
@@ -11982,6 +12046,7 @@ var _index_exports = /* @__PURE__ */ __exportAll({
11982
12046
  ctxChipSkill: () => ctxchipskill2,
11983
12047
  ctxChipSkills: () => ctxchipskills2,
11984
12048
  ctxChipUserApproval: () => ctxchipuserapproval3,
12049
+ ctxSnapshotSupersedes: () => ctxsnapshotsupersedes2,
11985
12050
  ctxWindowTitle: () => ctxwindowtitle2,
11986
12051
  ctxWindowUnknown: () => ctxwindowunknown2,
11987
12052
  currentModel: () => currentmodel1,
@@ -12202,6 +12267,7 @@ var _index_exports = /* @__PURE__ */ __exportAll({
12202
12267
  skillsShelfOpenAuthor: () => skillsshelfopenauthor3,
12203
12268
  skillsShelfOpenRepo: () => skillsshelfopenrepo3,
12204
12269
  skillsShelfReload: () => skillsshelfreload2,
12270
+ skillsShelfReloadCancel: () => skillsshelfreloadcancel3,
12205
12271
  skillsShelfReloaded: () => skillsshelfreloaded2,
12206
12272
  skillsShelfReloading: () => skillsshelfreloading2,
12207
12273
  skillsShelfRescan: () => skillsshelfrescan2,
@@ -12362,6 +12428,7 @@ var messages_exports = /* @__PURE__ */ __exportAll({
12362
12428
  ctxChipSkill: () => ctxchipskill2,
12363
12429
  ctxChipSkills: () => ctxchipskills2,
12364
12430
  ctxChipUserApproval: () => ctxchipuserapproval3,
12431
+ ctxSnapshotSupersedes: () => ctxsnapshotsupersedes2,
12365
12432
  ctxWindowTitle: () => ctxwindowtitle2,
12366
12433
  ctxWindowUnknown: () => ctxwindowunknown2,
12367
12434
  currentModel: () => currentmodel1,
@@ -12583,6 +12650,7 @@ var messages_exports = /* @__PURE__ */ __exportAll({
12583
12650
  skillsShelfOpenAuthor: () => skillsshelfopenauthor3,
12584
12651
  skillsShelfOpenRepo: () => skillsshelfopenrepo3,
12585
12652
  skillsShelfReload: () => skillsshelfreload2,
12653
+ skillsShelfReloadCancel: () => skillsshelfreloadcancel3,
12586
12654
  skillsShelfReloaded: () => skillsshelfreloaded2,
12587
12655
  skillsShelfReloading: () => skillsshelfreloading2,
12588
12656
  skillsShelfRescan: () => skillsshelfrescan2,
@@ -19793,6 +19861,111 @@ function ContextInjection($$renderer, $$props) {
19793
19861
  });
19794
19862
  }
19795
19863
  //#endregion
19864
+ //#region src/lib/utils/context-chip.ts
19865
+ /** The wire-carried chip name for name-bearing producers, read from the
19866
+ * entry's verbatim source (BC-11): the invoked skill's name, the first
19867
+ * recall reference's label, the injecting plugin's own string, or an
19868
+ * unknown kind string; undefined when none is readable (the chip falls
19869
+ * back to its bare category). */
19870
+ function chipNameOf(meta, metaSource) {
19871
+ const str = (v) => typeof v === "string" && v !== "" ? v : void 0;
19872
+ switch (meta) {
19873
+ case "skill-invocation": return str(metaSource?.name);
19874
+ case "recall": {
19875
+ const refs = metaSource?.references;
19876
+ if (!Array.isArray(refs)) return void 0;
19877
+ return str(refs[0]?.label);
19878
+ }
19879
+ case "plugin": return str(metaSource?.plugin);
19880
+ case "injected": return str(metaSource?.kind);
19881
+ default: return;
19882
+ }
19883
+ }
19884
+ /**
19885
+ * The runtime-context snapshot's named contributions, read off the entry's
19886
+ * verbatim wire source (ADR "The Section Split", D1). All-or-nothing, the
19887
+ * same contract DSH's chat applies: every section must carry a non-empty
19888
+ * string name and a string text, and the list must be non-empty — one
19889
+ * malformed element discards the whole list. Undefined when the source is
19890
+ * absent or unreadable, which callers render as the plain body.
19891
+ * @param metaSource - the entry's verbatim source object, if any.
19892
+ * @returns the sections in wire order, or undefined when unusable.
19893
+ */
19894
+ function snapshotSectionsOf(metaSource) {
19895
+ const sections = metaSource?.sections;
19896
+ if (!Array.isArray(sections) || sections.length === 0) return void 0;
19897
+ const parsed = [];
19898
+ for (const item of sections) {
19899
+ if (typeof item !== "object" || item === null) return void 0;
19900
+ const { name, text } = item;
19901
+ if (typeof name !== "string" || name === "" || typeof text !== "string") return void 0;
19902
+ parsed.push({
19903
+ name,
19904
+ text
19905
+ });
19906
+ }
19907
+ return parsed;
19908
+ }
19909
+ /**
19910
+ * The sender session of a subagent report/settled chip, read from the
19911
+ * entry's verbatim source (`subagent-report`/`subagent-settled` carry
19912
+ * `senderSessionId`): the open affordance targets that child panel.
19913
+ * Structural only — every other chip yields undefined (no affordance).
19914
+ */
19915
+ function subagentSenderOf(meta, metaSource) {
19916
+ if (meta !== "injected") return void 0;
19917
+ const kind = metaSource?.kind;
19918
+ if (kind !== "subagent-report" && kind !== "subagent-settled") return void 0;
19919
+ const sender = metaSource?.senderSessionId;
19920
+ return typeof sender === "string" && sender !== "" ? sender : void 0;
19921
+ }
19922
+ /** The chip's `onopen` callback — present only on subagent report/settled
19923
+ * chips whose source names a sender session. Opens the sender's panel
19924
+ * through the floor registry (graceful no-op when no floor is mounted);
19925
+ * the sender row is never focused. */
19926
+ function subagentOpenOf(meta, metaSource) {
19927
+ const sender = subagentSenderOf(meta, metaSource);
19928
+ return sender === void 0 ? void 0 : () => addPanelFromSidebar();
19929
+ }
19930
+ //#endregion
19931
+ //#region src/lib/components/message/ContextSnapshotBody.svelte
19932
+ function ContextSnapshotBody($$renderer, $$props) {
19933
+ $$renderer.component(($$renderer) => {
19934
+ /**
19935
+ * ContextSnapshotBody — the expanded body of a context chip (ADR "The
19936
+ * Section Split", D2/D4): for a runtime-context snapshot whose wire
19937
+ * `sections` parse all-or-nothing, the supersedes caption plus one
19938
+ * text-node block per section (the producer's own boundaries — DSH
19939
+ * ContextBody parity). Anything unreadable falls back to today's
19940
+ * markdown body over the joined text, so every other producer and every
19941
+ * malformed record renders byte-identically to the pre-split chip.
19942
+ *
19943
+ * XSS posture: section names and text render as TEXT nodes only
19944
+ * (BC-12 — no {@html}); markdown syntax inside a section shows raw.
19945
+ */
19946
+ let { text, metaSource } = $$props;
19947
+ const sections = derived(() => snapshotSectionsOf(metaSource));
19948
+ if (sections()) {
19949
+ $$renderer.push("<!--[0-->");
19950
+ $$renderer.push(`<p data-svelte="ContextSnapshotBody"${attr("data-csb", "s:" + (sections()?.length ?? "none") + ";src:" + JSON.stringify(metaSource ?? null))} data-testid="context-snapshot-supersedes" class="mb-1.5 flex items-center gap-1 text-[10px] font-medium uppercase tracking-wide text-accent-purple/80">${escape_html(t(ctxsnapshotsupersedes2))}</p> <div data-svelte="ContextSnapshotBody" data-testid="context-sections" class="flex flex-col gap-1.5"><!--[-->`);
19951
+ const each_array = ensure_array_like(sections());
19952
+ for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
19953
+ let section = each_array[$$index];
19954
+ $$renderer.push(`<div class="rounded-md border border-slate-500/15 bg-slate-500/5 p-1.5" data-testid="context-section"><span class="font-mono text-[10px] font-medium text-accent-purple">${escape_html(section.name)}</span> <p class="mt-0.5 whitespace-pre-wrap break-words font-mono text-[11px] leading-relaxed text-text-secondary">${escape_html(section.text)}</p></div>`);
19955
+ }
19956
+ $$renderer.push(`<!--]--></div>`);
19957
+ } else {
19958
+ $$renderer.push("<!--[-1-->");
19959
+ MarkdownContent($$renderer, {
19960
+ content: text,
19961
+ small: true,
19962
+ hideToggle: true
19963
+ });
19964
+ }
19965
+ $$renderer.push(`<!--]-->`);
19966
+ });
19967
+ }
19968
+ //#endregion
19796
19969
  //#region src/lib/components/message/SystemPromptChip.svelte
19797
19970
  function SystemPromptChip($$renderer, $$props) {
19798
19971
  $$renderer.component(($$renderer) => {
@@ -21564,48 +21737,6 @@ function ReasoningContentViewer($$renderer, $$props) {
21564
21737
  });
21565
21738
  }
21566
21739
  //#endregion
21567
- //#region src/lib/utils/context-chip.ts
21568
- /** The wire-carried chip name for name-bearing producers, read from the
21569
- * entry's verbatim source (BC-11): the invoked skill's name, the first
21570
- * recall reference's label, the injecting plugin's own string, or an
21571
- * unknown kind string; undefined when none is readable (the chip falls
21572
- * back to its bare category). */
21573
- function chipNameOf(meta, metaSource) {
21574
- const str = (v) => typeof v === "string" && v !== "" ? v : void 0;
21575
- switch (meta) {
21576
- case "skill-invocation": return str(metaSource?.name);
21577
- case "recall": {
21578
- const refs = metaSource?.references;
21579
- if (!Array.isArray(refs)) return void 0;
21580
- return str(refs[0]?.label);
21581
- }
21582
- case "plugin": return str(metaSource?.plugin);
21583
- case "injected": return str(metaSource?.kind);
21584
- default: return;
21585
- }
21586
- }
21587
- /**
21588
- * The sender session of a subagent report/settled chip, read from the
21589
- * entry's verbatim source (`subagent-report`/`subagent-settled` carry
21590
- * `senderSessionId`): the open affordance targets that child panel.
21591
- * Structural only — every other chip yields undefined (no affordance).
21592
- */
21593
- function subagentSenderOf(meta, metaSource) {
21594
- if (meta !== "injected") return void 0;
21595
- const kind = metaSource?.kind;
21596
- if (kind !== "subagent-report" && kind !== "subagent-settled") return void 0;
21597
- const sender = metaSource?.senderSessionId;
21598
- return typeof sender === "string" && sender !== "" ? sender : void 0;
21599
- }
21600
- /** The chip's `onopen` callback — present only on subagent report/settled
21601
- * chips whose source names a sender session. Opens the sender's panel
21602
- * through the floor registry (graceful no-op when no floor is mounted);
21603
- * the sender row is never focused. */
21604
- function subagentOpenOf(meta, metaSource) {
21605
- const sender = subagentSenderOf(meta, metaSource);
21606
- return sender === void 0 ? void 0 : () => addPanelFromSidebar();
21607
- }
21608
- //#endregion
21609
21740
  //#region src/lib/utils/tool-preview.ts
21610
21741
  /**
21611
21742
  * tool-preview — peek-list args preview (OCI extractArgsPreview port,
@@ -21934,10 +22065,9 @@ function InlineToolCalls($$renderer, $$props) {
21934
22065
  ChipPopup($$renderer, {
21935
22066
  children: ($$renderer) => {
21936
22067
  $$renderer.push(`<div class="p-2" data-testid="context-injection-body">`);
21937
- MarkdownContent($$renderer, {
21938
- content: openEntry.text,
21939
- small: true,
21940
- hideToggle: true
22068
+ ContextSnapshotBody($$renderer, {
22069
+ text: openEntry.text,
22070
+ metaSource: openEntry.metaSource
21941
22071
  });
21942
22072
  $$renderer.push(`<!----></div>`);
21943
22073
  },
@@ -22488,10 +22618,9 @@ function ConversationScrollArea($$renderer, $$props) {
22488
22618
  ChipPopup($$renderer, {
22489
22619
  children: ($$renderer) => {
22490
22620
  $$renderer.push(`<div data-testid="context-injection-body" class="p-2">`);
22491
- MarkdownContent($$renderer, {
22492
- content: ctx.text,
22493
- small: true,
22494
- hideToggle: true
22621
+ ContextSnapshotBody($$renderer, {
22622
+ text: ctx.text,
22623
+ metaSource: ctx.metaSource
22495
22624
  });
22496
22625
  $$renderer.push(`<!----></div>`);
22497
22626
  },
@@ -22523,10 +22652,9 @@ function ConversationScrollArea($$renderer, $$props) {
22523
22652
  ChipPopup($$renderer, {
22524
22653
  children: ($$renderer) => {
22525
22654
  $$renderer.push(`<div data-testid="context-injection-body" class="p-2">`);
22526
- MarkdownContent($$renderer, {
22527
- content: ctx.text,
22528
- small: true,
22529
- hideToggle: true
22655
+ ContextSnapshotBody($$renderer, {
22656
+ text: ctx.text,
22657
+ metaSource: ctx.metaSource
22530
22658
  });
22531
22659
  $$renderer.push(`<!----></div>`);
22532
22660
  },
@@ -25347,6 +25475,7 @@ function visiblePhase(state, now) {
25347
25475
  function SettingsSkillsPanel($$renderer, $$props) {
25348
25476
  $$renderer.component(($$renderer) => {
25349
25477
  let busy = false;
25478
+ let progress = null;
25350
25479
  const reloadState = derived(() => visiblePhase());
25351
25480
  /** Persisted reload feedback (hard-reload survival): a restored
25352
25481
  * 'done' lives out its remaining 5s window; a restored 'loading'
@@ -25356,17 +25485,6 @@ function SettingsSkillsPanel($$renderer, $$props) {
25356
25485
  initialCollapsed === null ? null : new Set(initialCollapsed);
25357
25486
  let searchQ = initialSearch;
25358
25487
  let rootEl = null;
25359
- /** The ALL-COLLAPSED default set — every source id in the snapshot.
25360
- * The one expression behind the first-load seed, the group toggle's
25361
- * null fallback, and the collapse-all verb. */
25362
- function allCollapsedIds(snap) {
25363
- return new Set([]);
25364
- }
25365
- function collapseAll() {
25366
- allCollapsedIds();
25367
- }
25368
- function expandAll() {
25369
- }
25370
25488
  let $$settled = true;
25371
25489
  let $$inner_renderer;
25372
25490
  function $$render_inner($$renderer) {
@@ -25374,8 +25492,6 @@ function SettingsSkillsPanel($$renderer, $$props) {
25374
25492
  SettingsSkillsToolbar($$renderer, {
25375
25493
  generatedAt: "",
25376
25494
  container: rootEl,
25377
- oncollapseall: collapseAll,
25378
- onexpandall: expandAll,
25379
25495
  get searchQ() {
25380
25496
  return searchQ;
25381
25497
  },
@@ -25413,7 +25529,20 @@ function SettingsSkillsPanel($$renderer, $$props) {
25413
25529
  "aria-hidden": "true"
25414
25530
  });
25415
25531
  }
25416
- $$renderer.push(`<!--]--></button>`);
25532
+ $$renderer.push(`<!--]--> `);
25533
+ if (reloadState() === "loading" && progress);
25534
+ else $$renderer.push("<!--[-1-->");
25535
+ $$renderer.push(`<!--]--></button> `);
25536
+ if (tab === "install" && reloadState() === "loading") {
25537
+ $$renderer.push("<!--[0-->");
25538
+ $$renderer.push(`<button type="button" class="shelf-reload-cancel svelte-lnunga" data-testid="shelf-reload-cancel"${attr("title", t(skillsshelfreloadcancel3))}${attr("aria-label", t(skillsshelfreloadcancel3))}>`);
25539
+ X($$renderer, {
25540
+ size: 13,
25541
+ "aria-hidden": "true"
25542
+ });
25543
+ $$renderer.push(`<!----></button>`);
25544
+ } else $$renderer.push("<!--[-1-->");
25545
+ $$renderer.push(`<!--]-->`);
25417
25546
  } else $$renderer.push("<!--[-1-->");
25418
25547
  $$renderer.push(`<!--]--> <div class="seg-group svelte-lnunga" role="group"${attr("aria-label", t(skillsshelftitle2))} data-testid="shelf-fold-toggle"><button type="button" class="seg left svelte-lnunga"${attr("aria-label", t(skillsshelfcollapseall3))}${attr("title", t(skillsshelfcollapseall3))} data-testid="shelf-collapse-all">`);
25419
25548
  Chevrons_down_up($$renderer, {
@@ -28427,4 +28556,4 @@ function _page($$renderer, $$props) {
28427
28556
  }
28428
28557
 
28429
28558
  export { _page as default };
28430
- //# sourceMappingURL=_page.svelte.js-qgIk1zgI.js.map
28559
+ //# sourceMappingURL=_page.svelte.js-B2EA5ccE.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-DP_xAH0H.js';
13
- import { m as manifest } from './manifest.js-B3WD8tJ6.js';
12
+ import { S as Server } from './index.js-Nwzp6b_k.js';
13
+ import { m as manifest } from './manifest.js-Bof9naPY.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-DBjyvmti.js.map
1735
+ //# sourceMappingURL=handler-BVZR5A-R.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-9ErK1M89.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-D-70iBmc.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-DP_xAH0H.js.map
3864
+ //# sourceMappingURL=index.js-Nwzp6b_k.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.Bho-erid.js",app:"_app/immutable/entry/app.DjIR2gNq.js",imports:["_app/immutable/entry/start.Bho-erid.js","_app/immutable/chunks/pNaMQbLr.js","_app/immutable/chunks/DnA33f7e.js","_app/immutable/entry/app.DjIR2gNq.js","_app/immutable/chunks/DnA33f7e.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.CImCAUy1.js",app:"_app/immutable/entry/app.CxAgK_V4.js",imports:["_app/immutable/entry/start.CImCAUy1.js","_app/immutable/chunks/Ch00tocz.js","_app/immutable/chunks/DnA33f7e.js","_app/immutable/entry/app.CxAgK_V4.js","_app/immutable/chunks/DnA33f7e.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-DO4F8XMq.js')),
16
- __memo(() => import('./nodes/1.js-Vh-e4em9.js')),
17
- __memo(() => import('./nodes/2.js-DtdHKW9v.js'))
15
+ __memo(() => import('./nodes/0.js-iA5BIbe7.js')),
16
+ __memo(() => import('./nodes/1.js-CxOuNsR_.js')),
17
+ __memo(() => import('./nodes/2.js-QPzVOzfX.js'))
18
18
  ],
19
19
  remotes: {
20
20
 
@@ -284,28 +284,42 @@ return {
284
284
  pattern: /^\/api\/skills\/install\/?$/,
285
285
  params: [],
286
286
  page: null,
287
- endpoint: __memo(() => import('./entries/endpoints/api/skills/install/_server.ts.js-CtHQQsxC.js'))
287
+ endpoint: __memo(() => import('./entries/endpoints/api/skills/install/_server.ts.js-DijnCqgt.js'))
288
+ },
289
+ {
290
+ id: "/api/skills/progress",
291
+ pattern: /^\/api\/skills\/progress\/?$/,
292
+ params: [],
293
+ page: null,
294
+ endpoint: __memo(() => import('./entries/endpoints/api/skills/progress/_server.ts.js-DdqqTrFN.js'))
288
295
  },
289
296
  {
290
297
  id: "/api/skills/reload",
291
298
  pattern: /^\/api\/skills\/reload\/?$/,
292
299
  params: [],
293
300
  page: null,
294
- endpoint: __memo(() => import('./entries/endpoints/api/skills/reload/_server.ts.js-BOlSdtQw.js'))
301
+ endpoint: __memo(() => import('./entries/endpoints/api/skills/reload/_server.ts.js-Cqig6BdK.js'))
302
+ },
303
+ {
304
+ id: "/api/skills/reload/cancel",
305
+ pattern: /^\/api\/skills\/reload\/cancel\/?$/,
306
+ params: [],
307
+ page: null,
308
+ endpoint: __memo(() => import('./entries/endpoints/api/skills/reload/cancel/_server.ts.js-CGlFnmuI.js'))
295
309
  },
296
310
  {
297
311
  id: "/api/skills/snapshot",
298
312
  pattern: /^\/api\/skills\/snapshot\/?$/,
299
313
  params: [],
300
314
  page: null,
301
- endpoint: __memo(() => import('./entries/endpoints/api/skills/snapshot/_server.ts.js-Yz5rNblU.js'))
315
+ endpoint: __memo(() => import('./entries/endpoints/api/skills/snapshot/_server.ts.js-p7P1CFjG.js'))
302
316
  },
303
317
  {
304
318
  id: "/api/skills/uninstall",
305
319
  pattern: /^\/api\/skills\/uninstall\/?$/,
306
320
  params: [],
307
321
  page: null,
308
- endpoint: __memo(() => import('./entries/endpoints/api/skills/uninstall/_server.ts.js-Bzy9Oq4k.js'))
322
+ endpoint: __memo(() => import('./entries/endpoints/api/skills/uninstall/_server.ts.js-h5IfIfov.js'))
309
323
  },
310
324
  {
311
325
  id: "/api/skills/voice",
@@ -368,4 +382,4 @@ return {
368
382
  })();
369
383
 
370
384
  export { manifest as m };
371
- //# sourceMappingURL=manifest.js-B3WD8tJ6.js.map
385
+ //# sourceMappingURL=manifest.js-Bof9naPY.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-EFiihTdF.js')).default;
6
6
  const universal_id = "src/routes/+layout.ts";
7
- const imports = ["_app/immutable/nodes/0.DlNmLZ8S.js","_app/immutable/chunks/DnA33f7e.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/CT33sMmw.js","_app/immutable/chunks/DlfWhx6l.js"];
8
- const stylesheets = ["_app/immutable/assets/0.DoqT6ojN.css"];
7
+ const imports = ["_app/immutable/nodes/0.B3l2ZewD.js","_app/immutable/chunks/DnA33f7e.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/CT33sMmw.js","_app/immutable/chunks/DlfWhx6l.js"];
8
+ const stylesheets = ["_app/immutable/assets/0.BbBUj8Gs.css"];
9
9
  const fonts = [];
10
10
 
11
11
  export { component, fonts, imports, index, stylesheets, universal_id };
12
- //# sourceMappingURL=0.js-DO4F8XMq.js.map
12
+ //# sourceMappingURL=0.js-iA5BIbe7.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-Bee5xNts.js')).default;
4
+ const imports = ["_app/immutable/nodes/1.DJ0wIUro.js","_app/immutable/chunks/DnA33f7e.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/D4yILG4p.js","_app/immutable/chunks/Ch00tocz.js","_app/immutable/chunks/DlfWhx6l.js"];
5
+ const stylesheets = [];
6
+ const fonts = [];
7
+
8
+ export { component, fonts, imports, index, stylesheets };
9
+ //# sourceMappingURL=1.js-CxOuNsR_.js.map
@@ -17,11 +17,11 @@ import '../chunks/uneval.js-BJ9Qq2SF.js';
17
17
 
18
18
  const index = 2;
19
19
  let component_cache;
20
- const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js-qgIk1zgI.js')).default;
20
+ const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js-B2EA5ccE.js')).default;
21
21
  const server_id = "src/routes/+page.server.ts";
22
- const imports = ["_app/immutable/nodes/2.DwsATN7B.js","_app/immutable/chunks/DnA33f7e.js","_app/immutable/chunks/pNaMQbLr.js","_app/immutable/chunks/HclGiUj8.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/DlfWhx6l.js","_app/immutable/chunks/CT33sMmw.js","_app/immutable/chunks/DuItqZFP.js"];
23
- const stylesheets = ["_app/immutable/assets/2.Bfl8hQcu.css"];
22
+ const imports = ["_app/immutable/nodes/2.8eo5qS19.js","_app/immutable/chunks/DnA33f7e.js","_app/immutable/chunks/Ch00tocz.js","_app/immutable/chunks/HclGiUj8.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/DlfWhx6l.js","_app/immutable/chunks/CT33sMmw.js","_app/immutable/chunks/D4yILG4p.js"];
23
+ const stylesheets = ["_app/immutable/assets/2.B2JMICOx.css"];
24
24
  const fonts = [];
25
25
 
26
26
  export { component, fonts, imports, index, server_id, stylesheets };
27
- //# sourceMappingURL=2.js-DtdHKW9v.js.map
27
+ //# sourceMappingURL=2.js-QPzVOzfX.js.map
package/package.json CHANGED
@@ -1,8 +1,13 @@
1
1
  {
2
2
  "name": "@deepseek-insight/dsi",
3
- "version": "0.5.27",
3
+ "version": "0.5.29",
4
4
  "description": "See your multiple agents run on the floor (agent, sub-agent, etc), each conversation on the floor are updated instantly.",
5
- "keywords": ["Deepseek", "Harness", "Agent", "Sub-agent"],
5
+ "keywords": [
6
+ "Deepseek",
7
+ "Harness",
8
+ "Agent",
9
+ "Sub-agent"
10
+ ],
6
11
  "homepage": "https://github.com/mitmplay/deepseek-insight#readme",
7
12
  "bugs": {
8
13
  "url": "https://github.com/mitmplay/deepseek-insight/issues"
@@ -33,7 +38,7 @@
33
38
  "node": ">=22.19"
34
39
  },
35
40
  "dsh": {
36
- "webVersion": "0.1.6-alpha.2"
41
+ "webVersion": "0.1.7-rc.1"
37
42
  },
38
43
  "bin": {
39
44
  "dsi": "bin/dsi.mjs"