@deepseek-insight/dsi 0.5.25 → 0.5.27

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 (33) hide show
  1. package/.agents/skills/dsi-skill-shelf/shelf.mjs +44 -8
  2. package/build/client/_app/immutable/assets/{2.DqAZaZ6x.css → 2.Bfl8hQcu.css} +1 -1
  3. package/build/client/_app/immutable/chunks/DL2Y4nxy.js +1 -0
  4. package/build/client/_app/immutable/chunks/{DEg6k2po.js → DuItqZFP.js} +1 -1
  5. package/build/client/_app/immutable/chunks/Xs5m2yqM.js +1 -0
  6. package/build/client/_app/immutable/chunks/pNaMQbLr.js +2 -0
  7. package/build/client/_app/immutable/entry/{app.CkwTkkSM.js → app.DjIR2gNq.js} +2 -2
  8. package/build/client/_app/immutable/entry/start.Bho-erid.js +1 -0
  9. package/build/client/_app/immutable/nodes/{1.8K25GLCS.js → 1.CERO4WcC.js} +1 -1
  10. package/build/client/_app/immutable/nodes/{2.CZgpKf5S.js → 2.DwsATN7B.js} +88 -88
  11. package/build/client/_app/version.json +1 -1
  12. package/build/handler.js +4 -4
  13. package/build/index.js +4 -4
  14. package/build/server/chunks/chunks/{engine.js-DzJkajy7.js → engine.js-CBxHjv0c.js} +13 -7
  15. package/build/server/chunks/chunks/{internal.js-1R9PHQNf.js → internal.js-9ErK1M89.js} +2 -2
  16. package/build/server/chunks/chunks/{state.js-vRL4xZQO.js → state.js-CoQ1E4r6.js} +2 -2
  17. package/build/server/chunks/entries/endpoints/api/skills/install/{_server.ts.js-Dvoz59-b.js → _server.ts.js-CtHQQsxC.js} +2 -2
  18. package/build/server/chunks/entries/endpoints/api/skills/reload/{_server.ts.js-fUUcvsn3.js → _server.ts.js-BOlSdtQw.js} +2 -2
  19. package/build/server/chunks/entries/endpoints/api/skills/snapshot/{_server.ts.js-C4AvWpBK.js → _server.ts.js-Yz5rNblU.js} +2 -2
  20. package/build/server/chunks/entries/endpoints/api/skills/uninstall/{_server.ts.js-qqFlorKD.js → _server.ts.js-Bzy9Oq4k.js} +2 -2
  21. package/build/server/chunks/entries/pages/{_error.svelte.js-CtYKjJrf.js → _error.svelte.js-jdm5qmCK.js} +3 -3
  22. package/build/server/chunks/entries/pages/{_page.svelte.js-CZV29jqi.js → _page.svelte.js-qgIk1zgI.js} +211 -18
  23. package/build/server/chunks/{handler-BcFykRDA.js → handler-DBjyvmti.js} +3 -3
  24. package/build/server/chunks/{index.js-CYc5jGBw.js → index.js-DP_xAH0H.js} +2 -2
  25. package/build/server/chunks/{manifest.js-CgPn3jEA.js → manifest.js-B3WD8tJ6.js} +8 -8
  26. package/build/server/chunks/nodes/1.js-Vh-e4em9.js +9 -0
  27. package/build/server/chunks/nodes/{2.js-DVa5udLN.js → 2.js-DtdHKW9v.js} +4 -4
  28. package/package.json +9 -1
  29. package/build/client/_app/immutable/chunks/C1BIbywb.js +0 -1
  30. package/build/client/_app/immutable/chunks/CN_lPpCU.js +0 -1
  31. package/build/client/_app/immutable/chunks/QV2fW_C7.js +0 -2
  32. package/build/client/_app/immutable/entry/start.DxUGjIjy.js +0 -1
  33. package/build/server/chunks/nodes/1.js-B3lmNFSp.js +0 -9
@@ -1 +1 @@
1
- {"version":"1790074132758"}
1
+ {"version":"1790137618682"}
package/build/handler.js CHANGED
@@ -2,9 +2,9 @@ import './shims.js';
2
2
  import 'node:fs';
3
3
  import 'node:path';
4
4
  import 'node:process';
5
- export { h as handler } from './server/chunks/handler-BcFykRDA.js';
6
- import './server/chunks/index.js-CYc5jGBw.js';
7
- import './server/chunks/manifest.js-CgPn3jEA.js';
5
+ export { h as handler } from './server/chunks/handler-DBjyvmti.js';
6
+ import './server/chunks/index.js-DP_xAH0H.js';
7
+ import './server/chunks/manifest.js-B3WD8tJ6.js';
8
8
  import './env.js';
9
9
  import 'node:buffer';
10
10
  import 'node:crypto';
@@ -16,7 +16,7 @@ import './server/chunks/chunks/shared.js-HQ0rfhm4.js';
16
16
  import './server/chunks/chunks/uneval.js-BJ9Qq2SF.js';
17
17
  import './server/chunks/chunks/utils.js-CAdNO8Tu.js';
18
18
  import 'node:url';
19
- import './server/chunks/chunks/internal.js-1R9PHQNf.js';
19
+ import './server/chunks/chunks/internal.js-9ErK1M89.js';
20
20
  import './server/chunks/chunks/server.js-11-pxAWV.js';
21
21
  import './server/chunks/chunks/internal2.js-BcS47nI-.js';
22
22
  import './server/chunks/chunks/exports.js-DH_tjtdv.js';
package/build/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import http from 'node:http';
2
2
  import fs__default from 'node:fs';
3
3
  import process from 'node:process';
4
- import { p as polka, h as handler, f as format_listening_address } from './server/chunks/handler-BcFykRDA.js';
4
+ import { p as polka, h as handler, f as format_listening_address } from './server/chunks/handler-DBjyvmti.js';
5
5
  import { env, timeout_env } from './env.js';
6
6
  import { rm } from 'node:fs/promises';
7
7
  import './shims.js';
@@ -14,12 +14,12 @@ import 'node:stream';
14
14
  import './server/chunks/chunks/shared.js-HQ0rfhm4.js';
15
15
  import './server/chunks/chunks/uneval.js-BJ9Qq2SF.js';
16
16
  import './server/chunks/chunks/utils.js-CAdNO8Tu.js';
17
- import './server/chunks/index.js-CYc5jGBw.js';
18
- import './server/chunks/chunks/internal.js-1R9PHQNf.js';
17
+ import './server/chunks/index.js-DP_xAH0H.js';
18
+ import './server/chunks/chunks/internal.js-9ErK1M89.js';
19
19
  import './server/chunks/chunks/server.js-11-pxAWV.js';
20
20
  import './server/chunks/chunks/internal2.js-BcS47nI-.js';
21
21
  import './server/chunks/chunks/exports.js-DH_tjtdv.js';
22
- import './server/chunks/manifest.js-CgPn3jEA.js';
22
+ import './server/chunks/manifest.js-B3WD8tJ6.js';
23
23
  import 'node:url';
24
24
 
25
25
  const path = env('SOCKET_PATH', false);
@@ -28,27 +28,33 @@ function uninstallableIds(snapshot) {
28
28
  //#endregion
29
29
  //#region src/lib/server/skills/engine.ts
30
30
  var execFileP = promisify(execFile);
31
+ /** Fast commands (status, cached refresh, apply) stay on the snappy floor. */
31
32
  var ENGINE_TIMEOUT_MS = 12e4;
33
+ /** A FULL live refresh enumerates ~140 skills and fetches every raw
34
+ * SKILL.md + package.json sequentially (~6m measured 2026-09-22) — the
35
+ * reload verb dies at 120s with 'shelf engine timed out' (observed in
36
+ * headed verification). Give the slow command room to finish. */
37
+ var ENGINE_REFRESH_TIMEOUT_MS = Number(process.env.SHELF_REFRESH_TIMEOUT_MS) || 6e5;
32
38
  function defaultEnginePath() {
33
39
  return process.env.SHELF_ENGINE_PATH || join(homedir(), ".agents/skills/dsi-skill-shelf/shelf.mjs");
34
40
  }
35
41
  /** Test seam: override to stub the engine process. */
36
- var runner = async (enginePath, args) => {
42
+ var runner = async (enginePath, args, timeoutMs = ENGINE_TIMEOUT_MS) => {
37
43
  const { stdout } = await execFileP("node", [enginePath, ...args], {
38
- timeout: ENGINE_TIMEOUT_MS,
44
+ timeout: timeoutMs,
39
45
  maxBuffer: 33554432
40
46
  });
41
47
  return stdout;
42
48
  };
43
- async function run(args) {
49
+ async function run(args, timeoutMs = ENGINE_TIMEOUT_MS) {
44
50
  const enginePath = defaultEnginePath();
45
51
  if (!existsSync(enginePath)) throw new EngineMissingError(enginePath);
46
52
  let stdout;
47
53
  try {
48
- stdout = await runner(enginePath, args);
54
+ stdout = await runner(enginePath, args, timeoutMs);
49
55
  } catch (err) {
50
56
  const e = err;
51
- if (e.killed) throw new EngineFailedError("shelf engine timed out after 120000ms", null);
57
+ if (e.killed) throw new EngineFailedError("shelf engine timed out after " + timeoutMs + "ms", null);
52
58
  throw new EngineFailedError(String(e.message ?? e), null);
53
59
  }
54
60
  let payload;
@@ -67,7 +73,7 @@ function getEngine() {
67
73
  return { present: Boolean(p.present) };
68
74
  },
69
75
  async refresh(reload) {
70
- const p = await run(reload ? ["refresh", "--reload"] : ["refresh"]);
76
+ const p = await run(reload ? ["refresh", "--reload"] : ["refresh"], reload ? ENGINE_REFRESH_TIMEOUT_MS : ENGINE_TIMEOUT_MS);
71
77
  if (!p.ok || !p.snapshot) throw new EngineFailedError("refresh failed", p);
72
78
  return {
73
79
  snapshot: p.snapshot,
@@ -87,4 +93,4 @@ function getEngine() {
87
93
  }
88
94
 
89
95
  export { EngineMissingError as E, EngineFailedError as a, getEngine as g, uninstallableIds as u };
90
- //# sourceMappingURL=engine.js-DzJkajy7.js.map
96
+ //# sourceMappingURL=engine.js-CBxHjv0c.js.map
@@ -722,7 +722,7 @@ var options = {
722
722
  app: ({ head, body, assets, nonce, env }) => "<!doctype html>\n<html lang=\"%paraglide.locale%\">\n <head>\n <meta charset=\"utf-8\" />\n <link rel=\"icon\" href=\"" + assets + "/favicon.svg\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n " + head + "\n </head>\n <body data-sveltekit-preload-data=\"tap\">\n <div style=\"display: contents\">" + body + "</div>\n </body>\n</html>\n",
723
723
  error: error_template_default
724
724
  },
725
- version_hash: "ch4x77"
725
+ version_hash: "1u3g258"
726
726
  };
727
727
  async function get_hooks() {
728
728
  let handle;
@@ -745,4 +745,4 @@ async function get_hooks() {
745
745
  }
746
746
 
747
747
  export { __commonJSMin as _, set_public_env as a, set_read_implementation as b, onDestroy as c, __exportAll as d, get_hooks as g, index_server_exports as i, options as o, public_env as p, read_implementation as r, set_private_env as s };
748
- //# sourceMappingURL=internal.js-1R9PHQNf.js.map
748
+ //# sourceMappingURL=internal.js-9ErK1M89.js.map
@@ -1,4 +1,4 @@
1
- import { i as index_server_exports } from './internal.js-1R9PHQNf.js';
1
+ import { i as index_server_exports } from './internal.js-9ErK1M89.js';
2
2
  import './shared.js-HQ0rfhm4.js';
3
3
  import './exports.js-DH_tjtdv.js';
4
4
  import { U as snapshot, J as getContext, G as noop } from './server.js-11-pxAWV.js';
@@ -303,4 +303,4 @@ var page = {
303
303
  };
304
304
 
305
305
  export { afterNavigate as a, backtoworkspace2 as b, replaceState as c, dshunreachable1 as d, currentLocale as e, page as p, reapednote1 as r, sessionnotfound2 as s, t, unexpectederror1 as u };
306
- //# sourceMappingURL=state.js-vRL4xZQO.js.map
306
+ //# sourceMappingURL=state.js-CoQ1E4r6.js.map
@@ -1,4 +1,4 @@
1
- import { g as getEngine, E as EngineMissingError, a as EngineFailedError } from '../../../../../chunks/engine.js-DzJkajy7.js';
1
+ import { g as getEngine, E as EngineMissingError, a as EngineFailedError } from '../../../../../chunks/engine.js-CBxHjv0c.js';
2
2
  import { j as json } from '../../../../../chunks/utils.js-CAdNO8Tu.js';
3
3
  import 'node:fs';
4
4
  import 'node:path';
@@ -44,4 +44,4 @@ var POST = async ({ request }) => {
44
44
  };
45
45
 
46
46
  export { POST };
47
- //# sourceMappingURL=_server.ts.js-Dvoz59-b.js.map
47
+ //# sourceMappingURL=_server.ts.js-CtHQQsxC.js.map
@@ -1,4 +1,4 @@
1
- import { g as getEngine, u as uninstallableIds } from '../../../../../chunks/engine.js-DzJkajy7.js';
1
+ import { g as getEngine, u as uninstallableIds } from '../../../../../chunks/engine.js-CBxHjv0c.js';
2
2
  import { j as json } from '../../../../../chunks/utils.js-CAdNO8Tu.js';
3
3
  import 'node:fs';
4
4
  import 'node:path';
@@ -30,4 +30,4 @@ var POST = async () => {
30
30
  };
31
31
 
32
32
  export { POST };
33
- //# sourceMappingURL=_server.ts.js-fUUcvsn3.js.map
33
+ //# sourceMappingURL=_server.ts.js-BOlSdtQw.js.map
@@ -1,4 +1,4 @@
1
- import { g as getEngine, u as uninstallableIds } from '../../../../../chunks/engine.js-DzJkajy7.js';
1
+ import { g as getEngine, u as uninstallableIds } from '../../../../../chunks/engine.js-CBxHjv0c.js';
2
2
  import { j as json } from '../../../../../chunks/utils.js-CAdNO8Tu.js';
3
3
  import 'node:fs';
4
4
  import 'node:path';
@@ -34,4 +34,4 @@ var GET = async () => {
34
34
  };
35
35
 
36
36
  export { GET };
37
- //# sourceMappingURL=_server.ts.js-C4AvWpBK.js.map
37
+ //# sourceMappingURL=_server.ts.js-Yz5rNblU.js.map
@@ -1,4 +1,4 @@
1
- import { g as getEngine, E as EngineMissingError, a as EngineFailedError } from '../../../../../chunks/engine.js-DzJkajy7.js';
1
+ import { g as getEngine, E as EngineMissingError, a as EngineFailedError } from '../../../../../chunks/engine.js-CBxHjv0c.js';
2
2
  import { j as json } from '../../../../../chunks/utils.js-CAdNO8Tu.js';
3
3
  import 'node:fs';
4
4
  import 'node:path';
@@ -44,4 +44,4 @@ var POST = async ({ request }) => {
44
44
  };
45
45
 
46
46
  export { POST };
47
- //# sourceMappingURL=_server.ts.js-qqFlorKD.js.map
47
+ //# sourceMappingURL=_server.ts.js-Bzy9Oq4k.js.map
@@ -1,7 +1,7 @@
1
1
  import { V as head, W as escape_html, y as derived } from '../../chunks/server.js-11-pxAWV.js';
2
- import { t, p as page, s as sessionnotfound2, r as reapednote1, d as dshunreachable1, u as unexpectederror1, b as backtoworkspace2 } from '../../chunks/state.js-vRL4xZQO.js';
2
+ import { t, p as page, s as sessionnotfound2, r as reapednote1, d as dshunreachable1, u as unexpectederror1, b as backtoworkspace2 } from '../../chunks/state.js-CoQ1E4r6.js';
3
3
  import '../../chunks/uneval.js-BJ9Qq2SF.js';
4
- import '../../chunks/internal.js-1R9PHQNf.js';
4
+ import '../../chunks/internal.js-9ErK1M89.js';
5
5
  import '../../chunks/shared.js-HQ0rfhm4.js';
6
6
  import '../../chunks/exports.js-DH_tjtdv.js';
7
7
  import '../../chunks/config.js-BvW5LrfQ.js';
@@ -40,4 +40,4 @@ function _error($$renderer, $$props) {
40
40
  }
41
41
 
42
42
  export { _error as default };
43
- //# sourceMappingURL=_error.svelte.js-CtYKjJrf.js.map
43
+ //# sourceMappingURL=_error.svelte.js-jdm5qmCK.js.map
@@ -1,4 +1,4 @@
1
- import { c as onDestroy, d as __exportAll } from '../../chunks/internal.js-1R9PHQNf.js';
1
+ import { c as onDestroy, d as __exportAll } from '../../chunks/internal.js-9ErK1M89.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-vRL4xZQO.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';
11
11
  import 'yaml';
12
12
  import 'html-to-image';
13
13
  import hljs from 'highlight.js/lib/core';
@@ -9590,6 +9590,70 @@ var skillsshelfnooverview3 = ((inputs = {}, options = {}) => {
9590
9590
  return en_skillsshelfnooverview3();
9591
9591
  });
9592
9592
  //#endregion
9593
+ //#region src/lib/paraglide/messages/skillsshelfopenauthor3.js
9594
+ /** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
9595
+ /** @typedef {{}} Skillsshelfopenauthor3Inputs */
9596
+ var en_skillsshelfopenauthor3 = () => {
9597
+ return `Open the author profile in a new tab`;
9598
+ };
9599
+ var zh_skillsshelfopenauthor3 = () => {
9600
+ return `在新标签页打开作者主页`;
9601
+ };
9602
+ var id_skillsshelfopenauthor3 = () => {
9603
+ return `Buka profil penulis di tab baru`;
9604
+ };
9605
+ var es_skillsshelfopenauthor3 = () => {
9606
+ return `Abrir el perfil del autor en una pestaña nueva`;
9607
+ };
9608
+ /**
9609
+ * | output |
9610
+ * | --- |
9611
+ * | "Open the author profile in a new tab" |
9612
+ *
9613
+ * @param {Skillsshelfopenauthor3Inputs} inputs
9614
+ * @param {{ locale?: "en" | "zh" | "id" | "es" }} options
9615
+ * @returns {LocalizedString}
9616
+ */
9617
+ var skillsshelfopenauthor3 = ((inputs = {}, options = {}) => {
9618
+ const locale = options.locale ?? getLocale();
9619
+ if (locale === "zh") return zh_skillsshelfopenauthor3();
9620
+ if (locale === "id") return id_skillsshelfopenauthor3();
9621
+ if (locale === "es") return es_skillsshelfopenauthor3();
9622
+ return en_skillsshelfopenauthor3();
9623
+ });
9624
+ //#endregion
9625
+ //#region src/lib/paraglide/messages/skillsshelfopenrepo3.js
9626
+ /** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
9627
+ /** @typedef {{}} Skillsshelfopenrepo3Inputs */
9628
+ var en_skillsshelfopenrepo3 = () => {
9629
+ return `Open the source repository in a new tab`;
9630
+ };
9631
+ var zh_skillsshelfopenrepo3 = () => {
9632
+ return `在新标签页打开源代码仓库`;
9633
+ };
9634
+ var id_skillsshelfopenrepo3 = () => {
9635
+ return `Buka repositori sumber di tab baru`;
9636
+ };
9637
+ var es_skillsshelfopenrepo3 = () => {
9638
+ return `Abrir el repositorio fuente en una pestaña nueva`;
9639
+ };
9640
+ /**
9641
+ * | output |
9642
+ * | --- |
9643
+ * | "Open the source repository in a new tab" |
9644
+ *
9645
+ * @param {Skillsshelfopenrepo3Inputs} inputs
9646
+ * @param {{ locale?: "en" | "zh" | "id" | "es" }} options
9647
+ * @returns {LocalizedString}
9648
+ */
9649
+ var skillsshelfopenrepo3 = ((inputs = {}, options = {}) => {
9650
+ const locale = options.locale ?? getLocale();
9651
+ if (locale === "zh") return zh_skillsshelfopenrepo3();
9652
+ if (locale === "id") return id_skillsshelfopenrepo3();
9653
+ if (locale === "es") return es_skillsshelfopenrepo3();
9654
+ return en_skillsshelfopenrepo3();
9655
+ });
9656
+ //#endregion
9593
9657
  //#region src/lib/paraglide/messages/skillsshelfreload2.js
9594
9658
  /** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
9595
9659
  /** @typedef {{}} Skillsshelfreload2Inputs */
@@ -9622,6 +9686,70 @@ var skillsshelfreload2 = ((inputs = {}, options = {}) => {
9622
9686
  return en_skillsshelfreload2();
9623
9687
  });
9624
9688
  //#endregion
9689
+ //#region src/lib/paraglide/messages/skillsshelfreloaded2.js
9690
+ /** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
9691
+ /** @typedef {{}} Skillsshelfreloaded2Inputs */
9692
+ var en_skillsshelfreloaded2 = () => {
9693
+ return `Skills reloaded`;
9694
+ };
9695
+ var zh_skillsshelfreloaded2 = () => {
9696
+ return `技能已重新加载`;
9697
+ };
9698
+ var id_skillsshelfreloaded2 = () => {
9699
+ return `Keahlian dimuat ulang`;
9700
+ };
9701
+ var es_skillsshelfreloaded2 = () => {
9702
+ return `Habilidades recargadas`;
9703
+ };
9704
+ /**
9705
+ * | output |
9706
+ * | --- |
9707
+ * | "Skills reloaded" |
9708
+ *
9709
+ * @param {Skillsshelfreloaded2Inputs} inputs
9710
+ * @param {{ locale?: "en" | "zh" | "id" | "es" }} options
9711
+ * @returns {LocalizedString}
9712
+ */
9713
+ var skillsshelfreloaded2 = ((inputs = {}, options = {}) => {
9714
+ const locale = options.locale ?? getLocale();
9715
+ if (locale === "zh") return zh_skillsshelfreloaded2();
9716
+ if (locale === "id") return id_skillsshelfreloaded2();
9717
+ if (locale === "es") return es_skillsshelfreloaded2();
9718
+ return en_skillsshelfreloaded2();
9719
+ });
9720
+ //#endregion
9721
+ //#region src/lib/paraglide/messages/skillsshelfreloading2.js
9722
+ /** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
9723
+ /** @typedef {{}} Skillsshelfreloading2Inputs */
9724
+ var en_skillsshelfreloading2 = () => {
9725
+ return `Reloading skills…`;
9726
+ };
9727
+ var zh_skillsshelfreloading2 = () => {
9728
+ return `正在重新加载技能…`;
9729
+ };
9730
+ var id_skillsshelfreloading2 = () => {
9731
+ return `Memuat ulang keahlian…`;
9732
+ };
9733
+ var es_skillsshelfreloading2 = () => {
9734
+ return `Recargando habilidades…`;
9735
+ };
9736
+ /**
9737
+ * | output |
9738
+ * | --- |
9739
+ * | "Reloading skills…" |
9740
+ *
9741
+ * @param {Skillsshelfreloading2Inputs} inputs
9742
+ * @param {{ locale?: "en" | "zh" | "id" | "es" }} options
9743
+ * @returns {LocalizedString}
9744
+ */
9745
+ var skillsshelfreloading2 = ((inputs = {}, options = {}) => {
9746
+ const locale = options.locale ?? getLocale();
9747
+ if (locale === "zh") return zh_skillsshelfreloading2();
9748
+ if (locale === "id") return id_skillsshelfreloading2();
9749
+ if (locale === "es") return es_skillsshelfreloading2();
9750
+ return en_skillsshelfreloading2();
9751
+ });
9752
+ //#endregion
9625
9753
  //#region src/lib/paraglide/messages/skillsshelfrescan2.js
9626
9754
  /** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
9627
9755
  /** @typedef {{}} Skillsshelfrescan2Inputs */
@@ -12071,7 +12199,11 @@ var _index_exports = /* @__PURE__ */ __exportAll({
12071
12199
  skillsShelfInstall: () => skillsshelfinstall2,
12072
12200
  skillsShelfLoading: () => skillsshelfloading2,
12073
12201
  skillsShelfNoOverview: () => skillsshelfnooverview3,
12202
+ skillsShelfOpenAuthor: () => skillsshelfopenauthor3,
12203
+ skillsShelfOpenRepo: () => skillsshelfopenrepo3,
12074
12204
  skillsShelfReload: () => skillsshelfreload2,
12205
+ skillsShelfReloaded: () => skillsshelfreloaded2,
12206
+ skillsShelfReloading: () => skillsshelfreloading2,
12075
12207
  skillsShelfRescan: () => skillsshelfrescan2,
12076
12208
  skillsShelfSearch: () => skillsshelfsearch2,
12077
12209
  skillsShelfTabInstall: () => skillsshelftabinstall3,
@@ -12448,7 +12580,11 @@ var messages_exports = /* @__PURE__ */ __exportAll({
12448
12580
  skillsShelfInstall: () => skillsshelfinstall2,
12449
12581
  skillsShelfLoading: () => skillsshelfloading2,
12450
12582
  skillsShelfNoOverview: () => skillsshelfnooverview3,
12583
+ skillsShelfOpenAuthor: () => skillsshelfopenauthor3,
12584
+ skillsShelfOpenRepo: () => skillsshelfopenrepo3,
12451
12585
  skillsShelfReload: () => skillsshelfreload2,
12586
+ skillsShelfReloaded: () => skillsshelfreloaded2,
12587
+ skillsShelfReloading: () => skillsshelfreloading2,
12452
12588
  skillsShelfRescan: () => skillsshelfrescan2,
12453
12589
  skillsShelfSearch: () => skillsshelfsearch2,
12454
12590
  skillsShelfTabInstall: () => skillsshelftabinstall3,
@@ -12903,6 +13039,16 @@ function List_checks($$renderer, $$props) {
12903
13039
  ]));
12904
13040
  }
12905
13041
  //#endregion
13042
+ //#region node_modules/.pnpm/@lucide+svelte@1.35.0_svelte@5.56.10/node_modules/@lucide/svelte/dist/icons/loader-circle.svelte
13043
+ function Loader_circle($$renderer, $$props) {
13044
+ let { $$slots, $$events, ...props } = $$props;
13045
+ Icon($$renderer, spread_props([
13046
+ { name: "loader-circle" },
13047
+ props,
13048
+ { iconNode: [["path", { "d": "M21 12a9 9 0 1 1-6.219-8.56" }]] }
13049
+ ]));
13050
+ }
13051
+ //#endregion
12906
13052
  //#region node_modules/.pnpm/@lucide+svelte@1.35.0_svelte@5.56.10/node_modules/@lucide/svelte/dist/icons/message-square-text.svelte
12907
13053
  function Message_square_text($$renderer, $$props) {
12908
13054
  let { $$slots, $$events, ...props } = $$props;
@@ -25187,10 +25333,24 @@ function SettingsSkillsTabgroup($$renderer, $$props) {
25187
25333
  });
25188
25334
  }
25189
25335
  //#endregion
25336
+ //#region src/lib/utils/skill-shelf-reload-machine.ts
25337
+ /**
25338
+ * What the button should show RIGHT NOW. The deadline, not the mount moment,
25339
+ * is the contract: a done blob past its doneAt reads idle even before the
25340
+ * expiry timer fires (timer death is harmless — ADR D1).
25341
+ */
25342
+ function visiblePhase(state, now) {
25343
+ return "idle";
25344
+ }
25345
+ //#endregion
25190
25346
  //#region src/lib/components/settings-skills/SettingsSkillsPanel.svelte
25191
25347
  function SettingsSkillsPanel($$renderer, $$props) {
25192
25348
  $$renderer.component(($$renderer) => {
25193
25349
  let busy = false;
25350
+ const reloadState = derived(() => visiblePhase());
25351
+ /** Persisted reload feedback (hard-reload survival): a restored
25352
+ * 'done' lives out its remaining 5s window; a restored 'loading'
25353
+ * re-issues the reload so the check still lands. */
25194
25354
  let { initialTab = "install", initialCollapsed = null, initialSearch = ""} = $$props;
25195
25355
  let tab = initialTab;
25196
25356
  initialCollapsed === null ? null : new Set(initialCollapsed);
@@ -25230,12 +25390,30 @@ function SettingsSkillsPanel($$renderer, $$props) {
25230
25390
  $$renderer.push(`<!----> <div class="shelf-header-actions svelte-lnunga">`);
25231
25391
  if (tab === "install") {
25232
25392
  $$renderer.push("<!--[0-->");
25233
- $$renderer.push(`<button type="button" class="shelf-reload svelte-lnunga" data-testid="shelf-reload"${attr("title", t(skillsshelfreload2))}${attr("aria-label", t(skillsshelfreload2))}${attr("disabled", busy, true)}>`);
25234
- Rotate_cw($$renderer, {
25235
- size: 13,
25236
- "aria-hidden": "true"
25237
- });
25238
- $$renderer.push(`<!----></button>`);
25393
+ $$renderer.push(`<button type="button"${attr_class("shelf-reload svelte-lnunga", void 0, {
25394
+ "reloading": reloadState() === "loading",
25395
+ "reloaded": reloadState() === "done"
25396
+ })} data-testid="shelf-reload"${attr("data-reload-state", reloadState())}${attr("title", reloadState() === "loading" ? t(skillsshelfreloading2) : reloadState() === "done" ? t(skillsshelfreloaded2) : t(skillsshelfreload2))}${attr("aria-label", reloadState() === "loading" ? t(skillsshelfreloading2) : reloadState() === "done" ? t(skillsshelfreloaded2) : t(skillsshelfreload2))}${attr("disabled", busy, true)}>`);
25397
+ if (reloadState() === "loading") {
25398
+ $$renderer.push("<!--[0-->");
25399
+ Loader_circle($$renderer, {
25400
+ size: 13,
25401
+ "aria-hidden": "true"
25402
+ });
25403
+ } else if (reloadState() === "done") {
25404
+ $$renderer.push("<!--[1-->");
25405
+ Check($$renderer, {
25406
+ size: 13,
25407
+ "aria-hidden": "true"
25408
+ });
25409
+ } else {
25410
+ $$renderer.push("<!--[-1-->");
25411
+ Rotate_cw($$renderer, {
25412
+ size: 13,
25413
+ "aria-hidden": "true"
25414
+ });
25415
+ }
25416
+ $$renderer.push(`<!--]--></button>`);
25239
25417
  } else $$renderer.push("<!--[-1-->");
25240
25418
  $$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">`);
25241
25419
  Chevrons_down_up($$renderer, {
@@ -26784,14 +26962,28 @@ function sanitizePanels(raw) {
26784
26962
  target: entry.target,
26785
26963
  width
26786
26964
  };
26787
- if (entry.kind === "skill-shelf") return {
26788
- id: entry.id,
26789
- kind: "skill-shelf",
26790
- tab: entry.tab === "uninstall" ? "uninstall" : "install",
26791
- collapsed: clampExpanded(entry.collapsed),
26792
- searchQ: typeof entry.searchQ === "string" ? entry.searchQ : "",
26793
- width
26794
- };
26965
+ if (entry.kind === "skill-shelf") {
26966
+ let reload = null;
26967
+ const r = entry.reload;
26968
+ if (r && r.phase === "loading" && typeof r.startedAt === "number") reload = {
26969
+ phase: "loading",
26970
+ startedAt: r.startedAt
26971
+ };
26972
+ else if (r && r.phase === "done" && typeof r.startedAt === "number" && typeof r.doneAt === "number" && r.doneAt > Date.now()) reload = {
26973
+ phase: "done",
26974
+ startedAt: r.startedAt,
26975
+ doneAt: r.doneAt
26976
+ };
26977
+ return {
26978
+ id: entry.id,
26979
+ kind: "skill-shelf",
26980
+ tab: entry.tab === "uninstall" ? "uninstall" : "install",
26981
+ collapsed: clampExpanded(entry.collapsed),
26982
+ searchQ: typeof entry.searchQ === "string" ? entry.searchQ : "",
26983
+ reload,
26984
+ width
26985
+ };
26986
+ }
26795
26987
  if (entry.kind === "injected-doc") return {
26796
26988
  id: entry.id,
26797
26989
  kind: "injected-doc",
@@ -28016,7 +28208,8 @@ function _page($$renderer, $$props) {
28016
28208
  SettingsSkillsPanel($$renderer, {
28017
28209
  initialTab: panel.tab ?? "install",
28018
28210
  initialCollapsed: panel.collapsed ?? null,
28019
- initialSearch: panel.searchQ ?? ""});
28211
+ initialSearch: panel.searchQ ?? "",
28212
+ initialReload: panel.reload ?? null});
28020
28213
  $$renderer.push(`<!----></div>`);
28021
28214
  } else if (panel.kind === "settings-editor") {
28022
28215
  $$renderer.push("<!--[2-->");
@@ -28234,4 +28427,4 @@ function _page($$renderer, $$props) {
28234
28427
  }
28235
28428
 
28236
28429
  export { _page as default };
28237
- //# sourceMappingURL=_page.svelte.js-CZV29jqi.js.map
28430
+ //# sourceMappingURL=_page.svelte.js-qgIk1zgI.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-CYc5jGBw.js';
13
- import { m as manifest } from './manifest.js-CgPn3jEA.js';
12
+ import { S as Server } from './index.js-DP_xAH0H.js';
13
+ import { m as manifest } from './manifest.js-B3WD8tJ6.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-BcFykRDA.js.map
1735
+ //# sourceMappingURL=handler-DBjyvmti.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-1R9PHQNf.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-9ErK1M89.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-CYc5jGBw.js.map
3864
+ //# sourceMappingURL=index.js-DP_xAH0H.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.DxUGjIjy.js",app:"_app/immutable/entry/app.CkwTkkSM.js",imports:["_app/immutable/entry/start.DxUGjIjy.js","_app/immutable/chunks/QV2fW_C7.js","_app/immutable/chunks/DnA33f7e.js","_app/immutable/entry/app.CkwTkkSM.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.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},
14
14
  nodes: [
15
15
  __memo(() => import('./nodes/0.js-DO4F8XMq.js')),
16
- __memo(() => import('./nodes/1.js-B3lmNFSp.js')),
17
- __memo(() => import('./nodes/2.js-DVa5udLN.js'))
16
+ __memo(() => import('./nodes/1.js-Vh-e4em9.js')),
17
+ __memo(() => import('./nodes/2.js-DtdHKW9v.js'))
18
18
  ],
19
19
  remotes: {
20
20
 
@@ -284,28 +284,28 @@ 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-Dvoz59-b.js'))
287
+ endpoint: __memo(() => import('./entries/endpoints/api/skills/install/_server.ts.js-CtHQQsxC.js'))
288
288
  },
289
289
  {
290
290
  id: "/api/skills/reload",
291
291
  pattern: /^\/api\/skills\/reload\/?$/,
292
292
  params: [],
293
293
  page: null,
294
- endpoint: __memo(() => import('./entries/endpoints/api/skills/reload/_server.ts.js-fUUcvsn3.js'))
294
+ endpoint: __memo(() => import('./entries/endpoints/api/skills/reload/_server.ts.js-BOlSdtQw.js'))
295
295
  },
296
296
  {
297
297
  id: "/api/skills/snapshot",
298
298
  pattern: /^\/api\/skills\/snapshot\/?$/,
299
299
  params: [],
300
300
  page: null,
301
- endpoint: __memo(() => import('./entries/endpoints/api/skills/snapshot/_server.ts.js-C4AvWpBK.js'))
301
+ endpoint: __memo(() => import('./entries/endpoints/api/skills/snapshot/_server.ts.js-Yz5rNblU.js'))
302
302
  },
303
303
  {
304
304
  id: "/api/skills/uninstall",
305
305
  pattern: /^\/api\/skills\/uninstall\/?$/,
306
306
  params: [],
307
307
  page: null,
308
- endpoint: __memo(() => import('./entries/endpoints/api/skills/uninstall/_server.ts.js-qqFlorKD.js'))
308
+ endpoint: __memo(() => import('./entries/endpoints/api/skills/uninstall/_server.ts.js-Bzy9Oq4k.js'))
309
309
  },
310
310
  {
311
311
  id: "/api/skills/voice",
@@ -368,4 +368,4 @@ return {
368
368
  })();
369
369
 
370
370
  export { manifest as m };
371
- //# sourceMappingURL=manifest.js-CgPn3jEA.js.map
371
+ //# sourceMappingURL=manifest.js-B3WD8tJ6.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-jdm5qmCK.js')).default;
4
+ const imports = ["_app/immutable/nodes/1.CERO4WcC.js","_app/immutable/chunks/DnA33f7e.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/DuItqZFP.js","_app/immutable/chunks/pNaMQbLr.js","_app/immutable/chunks/DlfWhx6l.js"];
5
+ const stylesheets = [];
6
+ const fonts = [];
7
+
8
+ export { component, fonts, imports, index, stylesheets };
9
+ //# sourceMappingURL=1.js-Vh-e4em9.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-CZV29jqi.js')).default;
20
+ const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js-qgIk1zgI.js')).default;
21
21
  const server_id = "src/routes/+page.server.ts";
22
- const imports = ["_app/immutable/nodes/2.CZgpKf5S.js","_app/immutable/chunks/DnA33f7e.js","_app/immutable/chunks/QV2fW_C7.js","_app/immutable/chunks/HclGiUj8.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/DlfWhx6l.js","_app/immutable/chunks/CT33sMmw.js","_app/immutable/chunks/DEg6k2po.js"];
23
- const stylesheets = ["_app/immutable/assets/2.DqAZaZ6x.css"];
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"];
24
24
  const fonts = [];
25
25
 
26
26
  export { component, fonts, imports, index, server_id, stylesheets };
27
- //# sourceMappingURL=2.js-DVa5udLN.js.map
27
+ //# sourceMappingURL=2.js-DtdHKW9v.js.map