@deepseek-insight/dsi 0.5.19 → 0.5.22

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 (102) hide show
  1. package/.agents/skills/dsh-jump-prepare-fix/SKILL.md +99 -0
  2. package/.agents/skills/dsi-ov-setup/SKILL.md +150 -0
  3. package/.agents/skills/dsi-sync/SKILL.md +69 -0
  4. package/README.md +23 -29
  5. package/bin/dsi.mjs +79 -16
  6. package/build/client/_app/immutable/assets/2.DRj7JwRK.css +1 -0
  7. package/build/client/_app/immutable/chunks/Ch36fHI9.js +1 -0
  8. package/build/client/_app/immutable/chunks/{BeeAmuEs.js → D94Od7GQ.js} +2 -2
  9. package/build/client/_app/immutable/chunks/DUawi_ZZ.js +1 -0
  10. package/build/client/_app/immutable/chunks/DXSIz1Bv.js +1 -0
  11. package/build/client/_app/immutable/chunks/DlfWhx6l.js +1 -0
  12. package/build/client/_app/immutable/chunks/{CLNDb8QN.js → zBRTraNY.js} +2 -2
  13. package/build/client/_app/immutable/entry/{app.C8CwtYTr.js → app.DLUi0EIr.js} +2 -2
  14. package/build/client/_app/immutable/entry/start.CWU06EOY.js +1 -0
  15. package/build/client/_app/immutable/nodes/{0.VWq3h0rH.js → 0.DfmjWWCy.js} +1 -1
  16. package/build/client/_app/immutable/nodes/1.Cy_8L_sF.js +1 -0
  17. package/build/client/_app/immutable/nodes/2.hEv7awQ2.js +171 -0
  18. package/build/client/_app/version.json +1 -1
  19. package/build/handler.js +4 -4
  20. package/build/index.js +4 -4
  21. package/build/server/chunks/chunks/{app-config.svelte.js-rN4N5yAI.js → app-config.svelte.js-DX-xENzY.js} +8 -4
  22. package/build/server/chunks/chunks/{config.js-iG_1bK3r.js → config.js-BvW5LrfQ.js} +3 -2
  23. package/build/server/chunks/chunks/{db.js-DbbYS9o8.js → db.js-DUiYPVrk.js} +2 -2
  24. package/build/server/chunks/chunks/{db2.js-BQWa7bEG.js → db2.js-B2wnWJ5y.js} +7 -5
  25. package/build/server/chunks/chunks/{dsh-connection.js-CpcCtA42.js → dsh-connection.js-DLLvHgxn.js} +5 -4
  26. package/build/server/chunks/chunks/{dsh-events.js-BtDxaV6Q.js → dsh-events.js-DEZgATm-.js} +4 -2
  27. package/build/server/chunks/chunks/{git-probe.js-CvkToKO4.js → git-probe.js-CNhqEFLP.js} +4 -4
  28. package/build/server/chunks/chunks/{insight-config.js-Dw_Qi0fO.js → insight-config.js-BgiNeS6f.js} +15 -6
  29. package/build/server/chunks/chunks/{internal.js-BDS_h7zE.js → internal.js-Du2x925l.js} +3 -3
  30. package/build/server/chunks/chunks/{permission-state.js-yvwUSnug.js → permission-state.js-B7UpAHBv.js} +20 -16
  31. package/build/server/chunks/chunks/{runtime.js-BPLc5RLR.js → runtime.js-CCJi3XaY.js} +3 -2
  32. package/build/server/chunks/chunks/{settings-document.js-BKnRkLVq.js → settings-document.js-i5MkkSFH.js} +2 -2
  33. package/build/server/chunks/chunks/settings-home.js-CqnqJVOu.js +9 -0
  34. package/build/server/chunks/chunks/settings-home2.js-f75-B6RI.js +102 -0
  35. package/build/server/chunks/chunks/{state.js-eZmA7eF7.js → state.js-BOUZ4Mdx.js} +4 -4
  36. package/build/server/chunks/chunks/{watcher.js-C97Xyorx.js → watcher.js-DMNZ6PC_.js} +5 -5
  37. package/build/server/chunks/entries/endpoints/api/a2a/_id_/{_server.ts.js-Cqh1iqgu.js → _server.ts.js-BFZR8uHn.js} +6 -5
  38. package/build/server/chunks/entries/endpoints/api/a2a/{_server.ts.js-DNKD4rZu.js → _server.ts.js-BgqhjoUU.js} +9 -8
  39. package/build/server/chunks/entries/endpoints/api/a2a/register/{_server.ts.js-CJ-FwkrZ.js → _server.ts.js-CLVptu9i.js} +9 -8
  40. package/build/server/chunks/entries/endpoints/api/config/{_server.ts.js-CMM4kYVx.js → _server.ts.js-D8M_XizI.js} +7 -5
  41. package/build/server/chunks/entries/endpoints/api/dsh/directory/{_server.ts.js-epVplzwB.js → _server.ts.js-DS8L3_Bt.js} +6 -5
  42. package/build/server/chunks/entries/endpoints/api/dsh/pick-directory/{_server.ts.js-bXHb97gT.js → _server.ts.js-BUEokCIX.js} +6 -5
  43. package/build/server/chunks/entries/endpoints/api/dsh/presets/{_server.ts.js-BNOHhtzy.js → _server.ts.js-lLG8ls0C.js} +6 -5
  44. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/attachment/{_server.ts.js-BBi6jeVj.js → _server.ts.js-BSenSXeg.js} +6 -5
  45. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/cancel/{_server.ts.js-N0nKPuqL.js → _server.ts.js-DCXKkJ0v.js} +6 -5
  46. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/catalog/{_server.ts.js-VGFCPAbs.js → _server.ts.js-BED7HhEP.js} +6 -5
  47. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/command/{_server.ts.js-na_sUb0Z.js → _server.ts.js-Bg8nHHOZ.js} +6 -5
  48. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/events/{_server.ts.js-CeNf028P.js → _server.ts.js-Dyo678sQ.js} +8 -7
  49. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/fork/{_server.ts.js-DfqO-GO4.js → _server.ts.js-Bo1MLZzv.js} +6 -5
  50. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/goal/{_server.ts.js-Dj9GYNl7.js → _server.ts.js-B5hEmzA3.js} +6 -5
  51. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/history/{_server.ts.js-DqShsRl9.js → _server.ts.js-B0YMraSe.js} +7 -6
  52. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/models/{_server.ts.js-BQSBUf70.js → _server.ts.js-B7E_ugh9.js} +6 -5
  53. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/path/{_server.ts.js-CeCKDyKB.js → _server.ts.js-CpSm33QW.js} +5 -4
  54. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/permission/{_server.ts.js-CadTCNUJ.js → _server.ts.js-qX_48Xfk.js} +6 -5
  55. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/prompt/{_server.ts.js-BXzgi8xX.js → _server.ts.js-BmMx7VT-.js} +6 -5
  56. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/rename/{_server.ts.js-BfD5FXiL.js → _server.ts.js-D9WGgQkP.js} +6 -5
  57. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/respond/{_server.ts.js-CiDPC9TY.js → _server.ts.js-JNQ1THCO.js} +6 -5
  58. package/build/server/chunks/entries/endpoints/api/dsh/session/_sessionId_/select-model/{_server.ts.js-DGcZgN96.js → _server.ts.js-CyYEK2YZ.js} +6 -5
  59. package/build/server/chunks/entries/endpoints/api/dsh/sessions/{_server.ts.js-DnU1CCOw.js → _server.ts.js-9teKQw8I.js} +6 -5
  60. package/build/server/chunks/entries/endpoints/api/dsh/workspace-file/{_server.ts.js-BZ0UV1n2.js → _server.ts.js-D0EtJceT.js} +6 -5
  61. package/build/server/chunks/entries/endpoints/api/dsh/workspace-file-bytes/{_server.ts.js-lxLpuPFL.js → _server.ts.js-DVBe8VFL.js} +6 -5
  62. package/build/server/chunks/entries/endpoints/api/dsh/workspace-tree/{_server.ts.js-Cw3vl704.js → _server.ts.js-_ICn-AJI.js} +6 -5
  63. package/build/server/chunks/entries/endpoints/api/dsh/workspaces/{_server.ts.js-KKnR2UO4.js → _server.ts.js-deEnJXis.js} +6 -5
  64. package/build/server/chunks/entries/endpoints/api/dsh/workspaces/_workspaceId_/delete/{_server.ts.js-I1eSZn60.js → _server.ts.js-C99S7qPG.js} +6 -5
  65. package/build/server/chunks/entries/endpoints/api/dsh/workspaces/_workspaceId_/rename/{_server.ts.js-B0zqAKnV.js → _server.ts.js-DIbV5U-C.js} +6 -5
  66. package/build/server/chunks/entries/endpoints/api/prompts/_id_/{_server.ts.js-C-QN0enK.js → _server.ts.js-C9sx5xeq.js} +6 -5
  67. package/build/server/chunks/entries/endpoints/api/prompts/{_server.ts.js-CwTGUPIp.js → _server.ts.js-BQN2GfYg.js} +14 -6
  68. package/build/server/chunks/entries/endpoints/api/prompts/use/{_server.ts.js-Bvotxm37.js → _server.ts.js-Ya8ewOIo.js} +6 -5
  69. package/build/server/chunks/entries/endpoints/api/settings/{_server.ts.js-CRRLXk0y.js → _server.ts.js-Dtq_vXJc.js} +5 -4
  70. package/build/server/chunks/entries/endpoints/api/settings-home/file/_server.ts.js-C1gSFX1P.js +68 -0
  71. package/build/server/chunks/entries/endpoints/api/settings-home/file-write/_server.ts.js-Dx0glK_q.js +68 -0
  72. package/build/server/chunks/entries/endpoints/api/settings-home/tree/_server.ts.js-CAmn2SKB.js +61 -0
  73. package/build/server/chunks/entries/endpoints/api/workspace/file-write/{_server.ts.js-DY_NDlYl.js → _server.ts.js-DptPqI-s.js} +9 -8
  74. package/build/server/chunks/entries/endpoints/api/workspace/git-events/{_server.ts.js-DHEaymrG.js → _server.ts.js-B4C7kLHl.js} +9 -8
  75. package/build/server/chunks/entries/endpoints/api/workspace/git-file-head/{_server.ts.js-AQgNkfCV.js → _server.ts.js-Db9JKnPM.js} +13 -21
  76. package/build/server/chunks/entries/endpoints/api/workspace/git-map/{_server.ts.js-C9vxPbB3.js → _server.ts.js-C8gzgR2I.js} +15 -23
  77. package/build/server/chunks/entries/endpoints/api/workspace/git-status/{_server.ts.js-BlMRR11v.js → _server.ts.js-BIlHfNA_.js} +15 -23
  78. package/build/server/chunks/entries/endpoints/api/workspace/write-gate/_server.ts.js-DRza8q_m.js +54 -0
  79. package/build/server/chunks/entries/{hooks.server.js-B_E1wCwG.js → hooks.server.js-Bt6VP5fg.js} +4 -4
  80. package/build/server/chunks/entries/pages/{_error.svelte.js-DIRRk8AK.js → _error.svelte.js-B6QZqJkc.js} +30 -10
  81. package/build/server/chunks/entries/pages/{_page.server.ts.js-ze2dUhXW.js → _page.server.ts.js-BOFnfJKx.js} +4 -4
  82. package/build/server/chunks/entries/pages/{_page.svelte.js-CYT_NWww.js → _page.svelte.js-GQS2SRws.js} +3098 -755
  83. package/build/server/chunks/{handler-jvQdYpdY.js → handler-cx07G9-G.js} +3 -3
  84. package/build/server/chunks/{index.js-BGLJR092.js → index.js-Dfzyw-2i.js} +2 -2
  85. package/build/server/chunks/{manifest.js-CIb6Wm5j.js → manifest.js-CFJqE5Kz.js} +71 -43
  86. package/build/server/chunks/nodes/{0.js-CQ3k21rg.js → 0.js-CLm26i36.js} +2 -2
  87. package/build/server/chunks/nodes/1.js-cfJjJ8lx.js +9 -0
  88. package/build/server/chunks/nodes/2.js-BtKfdVVe.js +27 -0
  89. package/package.json +2 -2
  90. package/template/.dsi/config.json +2 -2
  91. package/template/.dsi/prompts.sqlite +0 -0
  92. package/template/.dsi/settings.yaml +2 -1
  93. package/build/client/_app/immutable/assets/2.Da1CnqbG.css +0 -1
  94. package/build/client/_app/immutable/chunks/7MCZCUsX.js +0 -1
  95. package/build/client/_app/immutable/chunks/BgF4MPCH.js +0 -1
  96. package/build/client/_app/immutable/chunks/Dv2f6AVG.js +0 -1
  97. package/build/client/_app/immutable/chunks/h_AAZIXW.js +0 -1
  98. package/build/client/_app/immutable/entry/start.CCr7WSxA.js +0 -1
  99. package/build/client/_app/immutable/nodes/1.Dnl1P2aB.js +0 -1
  100. package/build/client/_app/immutable/nodes/2.0fqLf_Nw.js +0 -170
  101. package/build/server/chunks/nodes/1.js-NI6SZ6un.js +0 -9
  102. package/build/server/chunks/nodes/2.js-BG_HkTrm.js +0 -26
@@ -1,12 +1,13 @@
1
- import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../chunks/dsh-connection.js-CpcCtA42.js';
1
+ import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../chunks/dsh-connection.js-DLLvHgxn.js';
2
2
  import { j as json } from '../../../../../chunks/utils.js-CAdNO8Tu.js';
3
- import '../../../../../chunks/config.js-iG_1bK3r.js';
4
- import '../../../../../chunks/insight-config.js-Dw_Qi0fO.js';
5
- import '../../../../../chunks/settings-document.js-BKnRkLVq.js';
3
+ import '../../../../../chunks/config.js-BvW5LrfQ.js';
4
+ import '../../../../../chunks/insight-config.js-BgiNeS6f.js';
5
+ import '../../../../../chunks/settings-document.js-i5MkkSFH.js';
6
6
  import 'node:fs';
7
7
  import 'node:path';
8
8
  import 'node:os';
9
9
  import 'yaml';
10
+ import '../../../../../chunks/settings-home2.js-f75-B6RI.js';
10
11
  import '../../../../../chunks/shared.js-HQ0rfhm4.js';
11
12
  import '../../../../../chunks/uneval.js-BJ9Qq2SF.js';
12
13
 
@@ -53,4 +54,4 @@ var POST = async ({ request }) => {
53
54
  };
54
55
 
55
56
  export { POST };
56
- //# sourceMappingURL=_server.ts.js-KKnR2UO4.js.map
57
+ //# sourceMappingURL=_server.ts.js-deEnJXis.js.map
@@ -1,12 +1,13 @@
1
- import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../../../chunks/dsh-connection.js-CpcCtA42.js';
1
+ import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../../../chunks/dsh-connection.js-DLLvHgxn.js';
2
2
  import { j as json } from '../../../../../../../chunks/utils.js-CAdNO8Tu.js';
3
- import '../../../../../../../chunks/config.js-iG_1bK3r.js';
4
- import '../../../../../../../chunks/insight-config.js-Dw_Qi0fO.js';
5
- import '../../../../../../../chunks/settings-document.js-BKnRkLVq.js';
3
+ import '../../../../../../../chunks/config.js-BvW5LrfQ.js';
4
+ import '../../../../../../../chunks/insight-config.js-BgiNeS6f.js';
5
+ import '../../../../../../../chunks/settings-document.js-i5MkkSFH.js';
6
6
  import 'node:fs';
7
7
  import 'node:path';
8
8
  import 'node:os';
9
9
  import 'yaml';
10
+ import '../../../../../../../chunks/settings-home2.js-f75-B6RI.js';
10
11
  import '../../../../../../../chunks/shared.js-HQ0rfhm4.js';
11
12
  import '../../../../../../../chunks/uneval.js-BJ9Qq2SF.js';
12
13
 
@@ -43,4 +44,4 @@ var POST = async ({ params }) => {
43
44
  };
44
45
 
45
46
  export { POST };
46
- //# sourceMappingURL=_server.ts.js-I1eSZn60.js.map
47
+ //# sourceMappingURL=_server.ts.js-C99S7qPG.js.map
@@ -1,12 +1,13 @@
1
- import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../../../chunks/dsh-connection.js-CpcCtA42.js';
1
+ import { g as getDshConnection, s as statusFor, m as mapRpcFailure } from '../../../../../../../chunks/dsh-connection.js-DLLvHgxn.js';
2
2
  import { j as json } from '../../../../../../../chunks/utils.js-CAdNO8Tu.js';
3
- import '../../../../../../../chunks/config.js-iG_1bK3r.js';
4
- import '../../../../../../../chunks/insight-config.js-Dw_Qi0fO.js';
5
- import '../../../../../../../chunks/settings-document.js-BKnRkLVq.js';
3
+ import '../../../../../../../chunks/config.js-BvW5LrfQ.js';
4
+ import '../../../../../../../chunks/insight-config.js-BgiNeS6f.js';
5
+ import '../../../../../../../chunks/settings-document.js-i5MkkSFH.js';
6
6
  import 'node:fs';
7
7
  import 'node:path';
8
8
  import 'node:os';
9
9
  import 'yaml';
10
+ import '../../../../../../../chunks/settings-home2.js-f75-B6RI.js';
10
11
  import '../../../../../../../chunks/shared.js-HQ0rfhm4.js';
11
12
  import '../../../../../../../chunks/uneval.js-BJ9Qq2SF.js';
12
13
 
@@ -61,4 +62,4 @@ var POST = async ({ params, request }) => {
61
62
  };
62
63
 
63
64
  export { POST };
64
- //# sourceMappingURL=_server.ts.js-B0zqAKnV.js.map
65
+ //# sourceMappingURL=_server.ts.js-DIbV5U-C.js.map
@@ -1,12 +1,13 @@
1
- import { d as deletePrompt, u as updatePrompt, r as renamePromptLabel } from '../../../../../chunks/db2.js-BQWa7bEG.js';
1
+ import { d as deletePrompt, u as updatePrompt, r as renamePromptLabel } from '../../../../../chunks/db2.js-B2wnWJ5y.js';
2
2
  import { j as json } from '../../../../../chunks/utils.js-CAdNO8Tu.js';
3
- import '../../../../../chunks/insight-config.js-Dw_Qi0fO.js';
4
- import '../../../../../chunks/config.js-iG_1bK3r.js';
5
- import '../../../../../chunks/settings-document.js-BKnRkLVq.js';
3
+ import '../../../../../chunks/insight-config.js-BgiNeS6f.js';
4
+ import '../../../../../chunks/config.js-BvW5LrfQ.js';
5
+ import '../../../../../chunks/settings-document.js-i5MkkSFH.js';
6
6
  import 'node:fs';
7
7
  import 'node:path';
8
8
  import 'node:os';
9
9
  import 'yaml';
10
+ import '../../../../../chunks/settings-home2.js-f75-B6RI.js';
10
11
  import 'node:sqlite';
11
12
  import '../../../../../chunks/shared.js-HQ0rfhm4.js';
12
13
  import '../../../../../chunks/uneval.js-BJ9Qq2SF.js';
@@ -64,4 +65,4 @@ var DELETE = async ({ params }) => {
64
65
  };
65
66
 
66
67
  export { DELETE, PATCH };
67
- //# sourceMappingURL=_server.ts.js-C-QN0enK.js.map
68
+ //# sourceMappingURL=_server.ts.js-C9sx5xeq.js.map
@@ -1,12 +1,13 @@
1
- import { p as parseTagWords, l as isValidTagWord } from '../../../../chunks/insight-config.js-Dw_Qi0fO.js';
2
- import { l as listPrompts, s as searchPrompts, c as createPrompt } from '../../../../chunks/db2.js-BQWa7bEG.js';
1
+ import { p as parseTagWords, m as isValidTagWord } from '../../../../chunks/insight-config.js-BgiNeS6f.js';
2
+ import { l as listPrompts, s as searchPrompts, c as createPrompt } from '../../../../chunks/db2.js-B2wnWJ5y.js';
3
3
  import { j as json } from '../../../../chunks/utils.js-CAdNO8Tu.js';
4
- import '../../../../chunks/config.js-iG_1bK3r.js';
5
- import '../../../../chunks/settings-document.js-BKnRkLVq.js';
4
+ import '../../../../chunks/config.js-BvW5LrfQ.js';
5
+ import '../../../../chunks/settings-document.js-i5MkkSFH.js';
6
6
  import 'node:fs';
7
7
  import 'node:path';
8
8
  import 'node:os';
9
9
  import 'yaml';
10
+ import '../../../../chunks/settings-home2.js-f75-B6RI.js';
10
11
  import 'node:sqlite';
11
12
  import '../../../../chunks/shared.js-HQ0rfhm4.js';
12
13
  import '../../../../chunks/uneval.js-BJ9Qq2SF.js';
@@ -75,13 +76,20 @@ var POST = async ({ request }) => {
75
76
  }
76
77
  const text = body?.text;
77
78
  const label = body?.label;
79
+ const useCount = body?.use_count;
80
+ const macro = body?.macro;
78
81
  if (typeof text !== "string" || text.trim().length === 0) return json({ error: "text must be a non-empty string" }, { status: 400 });
79
82
  if (label !== void 0 && label !== null && typeof label !== "string") return json({ error: "label must be a string or null" }, { status: 400 });
83
+ if (useCount !== void 0 && typeof useCount !== "number") return json({ error: "use_count must be a number" }, { status: 400 });
84
+ if (macro !== void 0 && typeof macro !== "boolean") return json({ error: "macro must be a boolean" }, { status: 400 });
80
85
  const rawTags = body?.tags;
81
86
  if (rawTags !== void 0 && (!Array.isArray(rawTags) || !rawTags.every((t) => typeof t === "string"))) return json({ error: "tags must be an array of strings" }, { status: 400 });
82
87
  const tagWords = (Array.isArray(rawTags) ? rawTags : []).map((t) => t.trim().toLowerCase());
83
88
  if (tagWords.some((t) => !isValidTagWord(t))) return json({ error: "invalid tag word" }, { status: 400 });
84
- const result = createPrompt(text, label, tagWords);
89
+ const result = createPrompt(text, label, tagWords, useCount !== void 0 ? {
90
+ use_count: useCount,
91
+ macro: macro === true
92
+ } : void 0);
85
93
  if (!result.ok) {
86
94
  if (result.existing) return json({
87
95
  error: "Duplicate",
@@ -93,4 +101,4 @@ var POST = async ({ request }) => {
93
101
  };
94
102
 
95
103
  export { GET, POST };
96
- //# sourceMappingURL=_server.ts.js-CwTGUPIp.js.map
104
+ //# sourceMappingURL=_server.ts.js-BQN2GfYg.js.map
@@ -1,12 +1,13 @@
1
- import { a as countPromptUse } from '../../../../../chunks/db2.js-BQWa7bEG.js';
1
+ import { a as countPromptUse } from '../../../../../chunks/db2.js-B2wnWJ5y.js';
2
2
  import { j as json } from '../../../../../chunks/utils.js-CAdNO8Tu.js';
3
- import '../../../../../chunks/insight-config.js-Dw_Qi0fO.js';
4
- import '../../../../../chunks/config.js-iG_1bK3r.js';
5
- import '../../../../../chunks/settings-document.js-BKnRkLVq.js';
3
+ import '../../../../../chunks/insight-config.js-BgiNeS6f.js';
4
+ import '../../../../../chunks/config.js-BvW5LrfQ.js';
5
+ import '../../../../../chunks/settings-document.js-i5MkkSFH.js';
6
6
  import 'node:fs';
7
7
  import 'node:path';
8
8
  import 'node:os';
9
9
  import 'yaml';
10
+ import '../../../../../chunks/settings-home2.js-f75-B6RI.js';
10
11
  import 'node:sqlite';
11
12
  import '../../../../../chunks/shared.js-HQ0rfhm4.js';
12
13
  import '../../../../../chunks/uneval.js-BJ9Qq2SF.js';
@@ -42,4 +43,4 @@ var POST = async ({ request }) => {
42
43
  };
43
44
 
44
45
  export { POST };
45
- //# sourceMappingURL=_server.ts.js-Bvotxm37.js.map
46
+ //# sourceMappingURL=_server.ts.js-Ya8ewOIo.js.map
@@ -1,11 +1,12 @@
1
- import { r as readSettingsDocument, s as saveSettingsDocument, S as SettingsParseError } from '../../../../chunks/settings-document.js-BKnRkLVq.js';
2
- import { m as DEFAULT_DSH_PRESET_ENGLISH, n as DEFAULT_SERVER_CONFIG, o as DEFAULT_PROMPTS_CONFIG, q as DEFAULT_SIDEBAR_CONFIG, s as DEFAULT_PANEL_CONFIG, t as DEFAULT_A2A_CONFIG, u as DEFAULT_HOME_CONFIG, v as DEFAULT_CONVERSATION_CONFIG, w as DEFAULT_CHAT_CONFIG } from '../../../../chunks/insight-config.js-Dw_Qi0fO.js';
1
+ import { r as readSettingsDocument, s as saveSettingsDocument, S as SettingsParseError } from '../../../../chunks/settings-document.js-i5MkkSFH.js';
2
+ import { n as DEFAULT_DSH_PRESET_ENGLISH, o as DEFAULT_SERVER_CONFIG, q as DEFAULT_PROMPTS_CONFIG, s as DEFAULT_SIDEBAR_CONFIG, t as DEFAULT_PANEL_CONFIG, u as DEFAULT_A2A_CONFIG, v as DEFAULT_HOME_CONFIG, w as DEFAULT_CONVERSATION_CONFIG, x as DEFAULT_CHAT_CONFIG } from '../../../../chunks/insight-config.js-BgiNeS6f.js';
3
3
  import { j as json } from '../../../../chunks/utils.js-CAdNO8Tu.js';
4
4
  import { stringify } from 'yaml';
5
- import '../../../../chunks/config.js-iG_1bK3r.js';
5
+ import '../../../../chunks/config.js-BvW5LrfQ.js';
6
6
  import 'node:fs';
7
7
  import 'node:path';
8
8
  import 'node:os';
9
+ import '../../../../chunks/settings-home2.js-f75-B6RI.js';
9
10
  import '../../../../chunks/shared.js-HQ0rfhm4.js';
10
11
  import '../../../../chunks/uneval.js-BJ9Qq2SF.js';
11
12
 
@@ -99,4 +100,4 @@ var PUT = async ({ url, request }) => {
99
100
  };
100
101
 
101
102
  export { GET, PUT };
102
- //# sourceMappingURL=_server.ts.js-CRRLXk0y.js.map
103
+ //# sourceMappingURL=_server.ts.js-Dtq_vXJc.js.map
@@ -0,0 +1,68 @@
1
+ import { i as isSettingsHome, S as SettingsHomeRefusal } from '../../../../../chunks/settings-home2.js-f75-B6RI.js';
2
+ import { j as json } from '../../../../../chunks/utils.js-CAdNO8Tu.js';
3
+ import 'node:fs';
4
+ import 'node:path';
5
+ import 'node:os';
6
+ import '../../../../../chunks/shared.js-HQ0rfhm4.js';
7
+ import '../../../../../chunks/uneval.js-BJ9Qq2SF.js';
8
+
9
+ //#region src/routes/api/settings-home/file/+server.ts
10
+ /**
11
+ * api-settings-home — GET /api/settings-home/file?home=dsi|dsh&path=<rel>
12
+ * Read one TEXT file of a settings home (the explorer file tab).
13
+ *
14
+ * The Settings Tree ADR (2026-09-18, D2): the DSI-LOCAL data plane for a
15
+ * session-less settings explorer. Containment refusals map to 400;
16
+ * missing paths to 404; everything else is a 500 with the reason.
17
+ */
18
+ var GET = async ({ url }) => {
19
+ const home = url.searchParams.get("home");
20
+ const rel = url.searchParams.get("path");
21
+ if (!isSettingsHome(home)) return json({
22
+ ok: false,
23
+ error: {
24
+ code: "bad-home",
25
+ message: "home must be dsi or dsh"
26
+ }
27
+ }, { status: 400 });
28
+ if (rel === null || rel.length === 0) return json({
29
+ ok: false,
30
+ error: {
31
+ code: "bad-path",
32
+ message: "path is required"
33
+ }
34
+ }, { status: 400 });
35
+ try {
36
+ const { readSettingsHomeFile } = await import('../../../../../chunks/settings-home.js-CqnqJVOu.js');
37
+ const file = await readSettingsHomeFile(home, rel);
38
+ return json({
39
+ ok: true,
40
+ file
41
+ });
42
+ } catch (err) {
43
+ if (err instanceof SettingsHomeRefusal) return json({
44
+ ok: false,
45
+ error: {
46
+ code: err.code,
47
+ message: err.message
48
+ }
49
+ }, { status: 400 });
50
+ if ((err.code ?? "io-error") === "ENOENT") return json({
51
+ ok: false,
52
+ error: {
53
+ code: "not-found",
54
+ message: "no such file"
55
+ }
56
+ }, { status: 404 });
57
+ return json({
58
+ ok: false,
59
+ error: {
60
+ code: "io-error",
61
+ message: String(err.message ?? err)
62
+ }
63
+ }, { status: 500 });
64
+ }
65
+ };
66
+
67
+ export { GET };
68
+ //# sourceMappingURL=_server.ts.js-C1gSFX1P.js.map
@@ -0,0 +1,68 @@
1
+ import { i as isSettingsHome, S as SettingsHomeRefusal } from '../../../../../chunks/settings-home2.js-f75-B6RI.js';
2
+ import { j as json } from '../../../../../chunks/utils.js-CAdNO8Tu.js';
3
+ import 'node:fs';
4
+ import 'node:path';
5
+ import 'node:os';
6
+ import '../../../../../chunks/shared.js-HQ0rfhm4.js';
7
+ import '../../../../../chunks/uneval.js-BJ9Qq2SF.js';
8
+
9
+ //#region src/routes/api/settings-home/file-write/+server.ts
10
+ /**
11
+ * api-settings-home — POST /api/settings-home/file-write
12
+ * { home, path, content } — save one TEXT file of a settings home.
13
+ *
14
+ * The Settings Tree ADR (2026-09-18, D2): the DSI-LOCAL data plane for a
15
+ * session-less settings explorer. Containment refusals map to 400;
16
+ * missing paths to 404; everything else is a 500 with the reason.
17
+ */
18
+ var POST = async ({ request }) => {
19
+ let body;
20
+ try {
21
+ body = await request.json();
22
+ } catch {
23
+ return json({
24
+ ok: false,
25
+ error: {
26
+ code: "bad-json",
27
+ message: "body must be JSON"
28
+ }
29
+ }, { status: 400 });
30
+ }
31
+ if (!isSettingsHome(body.home)) return json({
32
+ ok: false,
33
+ error: {
34
+ code: "bad-home",
35
+ message: "home must be dsi or dsh"
36
+ }
37
+ }, { status: 400 });
38
+ if (typeof body.path !== "string" || body.path.length === 0) return json({
39
+ ok: false,
40
+ error: {
41
+ code: "bad-path",
42
+ message: "path is required"
43
+ }
44
+ }, { status: 400 });
45
+ try {
46
+ const { writeSettingsHomeFile } = await import('../../../../../chunks/settings-home.js-CqnqJVOu.js');
47
+ await writeSettingsHomeFile(body.home, body.path, body.content);
48
+ return json({ ok: true });
49
+ } catch (err) {
50
+ if (err instanceof SettingsHomeRefusal) return json({
51
+ ok: false,
52
+ error: {
53
+ code: err.code,
54
+ message: err.message
55
+ }
56
+ }, { status: 400 });
57
+ return json({
58
+ ok: false,
59
+ error: {
60
+ code: "io-error",
61
+ message: String(err.message ?? err)
62
+ }
63
+ }, { status: 500 });
64
+ }
65
+ };
66
+
67
+ export { POST };
68
+ //# sourceMappingURL=_server.ts.js-Dx0glK_q.js.map
@@ -0,0 +1,61 @@
1
+ import { i as isSettingsHome, S as SettingsHomeRefusal } from '../../../../../chunks/settings-home2.js-f75-B6RI.js';
2
+ import { j as json } from '../../../../../chunks/utils.js-CAdNO8Tu.js';
3
+ import 'node:fs';
4
+ import 'node:path';
5
+ import 'node:os';
6
+ import '../../../../../chunks/shared.js-HQ0rfhm4.js';
7
+ import '../../../../../chunks/uneval.js-BJ9Qq2SF.js';
8
+
9
+ //#region src/routes/api/settings-home/tree/+server.ts
10
+ /**
11
+ * api-settings-home — GET /api/settings-home/tree?home=dsi|dsh&path=<rel>
12
+ * One directory level of a settings home for the session-less explorer.
13
+ *
14
+ * The Settings Tree ADR (2026-09-18, D2): the DSI-LOCAL data plane for a
15
+ * session-less settings explorer. Containment refusals map to 400;
16
+ * missing paths to 404; everything else is a 500 with the reason.
17
+ */
18
+ var GET = async ({ url }) => {
19
+ const home = url.searchParams.get("home");
20
+ const rel = url.searchParams.get("path") ?? "";
21
+ if (!isSettingsHome(home)) return json({
22
+ ok: false,
23
+ error: {
24
+ code: "bad-home",
25
+ message: "home must be dsi or dsh"
26
+ }
27
+ }, { status: 400 });
28
+ try {
29
+ const { listSettingsHomeDir } = await import('../../../../../chunks/settings-home.js-CqnqJVOu.js');
30
+ const listing = await listSettingsHomeDir(home, rel);
31
+ return json({
32
+ ok: true,
33
+ listing
34
+ });
35
+ } catch (err) {
36
+ if (err instanceof SettingsHomeRefusal) return json({
37
+ ok: false,
38
+ error: {
39
+ code: err.code,
40
+ message: err.message
41
+ }
42
+ }, { status: 400 });
43
+ if ((err.code ?? "io-error") === "ENOENT") return json({
44
+ ok: false,
45
+ error: {
46
+ code: "not-found",
47
+ message: "no such directory"
48
+ }
49
+ }, { status: 404 });
50
+ return json({
51
+ ok: false,
52
+ error: {
53
+ code: "io-error",
54
+ message: String(err.message ?? err)
55
+ }
56
+ }, { status: 500 });
57
+ }
58
+ };
59
+
60
+ export { GET };
61
+ //# sourceMappingURL=_server.ts.js-CAmn2SKB.js.map
@@ -1,15 +1,16 @@
1
- import { s as statusFor, m as mapRpcFailure } from '../../../../../chunks/dsh-connection.js-CpcCtA42.js';
2
- import { g as gitGateEnabled, i as isInsideRoot } from '../../../../../chunks/git-probe.js-CvkToKO4.js';
1
+ import { s as statusFor, m as mapRpcFailure } from '../../../../../chunks/dsh-connection.js-DLLvHgxn.js';
2
+ import { g as gitGateEnabled, i as isInsideRoot } from '../../../../../chunks/git-probe.js-CNhqEFLP.js';
3
3
  import { j as json } from '../../../../../chunks/utils.js-CAdNO8Tu.js';
4
4
  import { promises } from 'node:fs';
5
5
  import * as nodePath from 'node:path';
6
- import '../../../../../chunks/config.js-iG_1bK3r.js';
7
- import '../../../../../chunks/insight-config.js-Dw_Qi0fO.js';
8
- import '../../../../../chunks/settings-document.js-BKnRkLVq.js';
6
+ import '../../../../../chunks/config.js-BvW5LrfQ.js';
7
+ import '../../../../../chunks/insight-config.js-BgiNeS6f.js';
8
+ import '../../../../../chunks/settings-document.js-i5MkkSFH.js';
9
9
  import 'node:os';
10
10
  import 'yaml';
11
- import '../../../../../chunks/dsh-events.js-BtDxaV6Q.js';
12
- import '../../../../../chunks/permission-state.js-yvwUSnug.js';
11
+ import '../../../../../chunks/settings-home2.js-f75-B6RI.js';
12
+ import '../../../../../chunks/dsh-events.js-DEZgATm-.js';
13
+ import '../../../../../chunks/permission-state.js-B7UpAHBv.js';
13
14
  import 'node:child_process';
14
15
  import '../../../../../chunks/shared.js-HQ0rfhm4.js';
15
16
  import '../../../../../chunks/uneval.js-BJ9Qq2SF.js';
@@ -106,4 +107,4 @@ var POST = async ({ request }) => {
106
107
  };
107
108
 
108
109
  export { POST };
109
- //# sourceMappingURL=_server.ts.js-DY_NDlYl.js.map
110
+ //# sourceMappingURL=_server.ts.js-DptPqI-s.js.map
@@ -1,16 +1,17 @@
1
- import { s as statusFor, m as mapRpcFailure } from '../../../../../chunks/dsh-connection.js-CpcCtA42.js';
2
- import { g as gitGateEnabled, i as isInsideRoot, a as gitStatus, p as parsePorcelainStatus } from '../../../../../chunks/git-probe.js-CvkToKO4.js';
1
+ import { s as statusFor, m as mapRpcFailure } from '../../../../../chunks/dsh-connection.js-DLLvHgxn.js';
2
+ import { g as gitGateEnabled, i as isInsideRoot, a as gitStatus, p as parsePorcelainStatus } from '../../../../../chunks/git-probe.js-CNhqEFLP.js';
3
3
  import { j as json } from '../../../../../chunks/utils.js-CAdNO8Tu.js';
4
4
  import { watch } from 'node:fs';
5
5
  import { join } from 'node:path';
6
6
  import { execFileSync } from 'node:child_process';
7
- import '../../../../../chunks/config.js-iG_1bK3r.js';
8
- import '../../../../../chunks/insight-config.js-Dw_Qi0fO.js';
9
- import '../../../../../chunks/settings-document.js-BKnRkLVq.js';
7
+ import '../../../../../chunks/config.js-BvW5LrfQ.js';
8
+ import '../../../../../chunks/insight-config.js-BgiNeS6f.js';
9
+ import '../../../../../chunks/settings-document.js-i5MkkSFH.js';
10
10
  import 'node:os';
11
11
  import 'yaml';
12
- import '../../../../../chunks/dsh-events.js-BtDxaV6Q.js';
13
- import '../../../../../chunks/permission-state.js-yvwUSnug.js';
12
+ import '../../../../../chunks/settings-home2.js-f75-B6RI.js';
13
+ import '../../../../../chunks/dsh-events.js-DEZgATm-.js';
14
+ import '../../../../../chunks/permission-state.js-B7UpAHBv.js';
14
15
  import '../../../../../chunks/shared.js-HQ0rfhm4.js';
15
16
  import '../../../../../chunks/uneval.js-BJ9Qq2SF.js';
16
17
 
@@ -292,4 +293,4 @@ var GET = async ({ url, request }) => {
292
293
  };
293
294
 
294
295
  export { GET };
295
- //# sourceMappingURL=_server.ts.js-DHEaymrG.js.map
296
+ //# sourceMappingURL=_server.ts.js-B4C7kLHl.js.map
@@ -1,15 +1,16 @@
1
- import { s as statusFor, m as mapRpcFailure } from '../../../../../chunks/dsh-connection.js-CpcCtA42.js';
2
- import { g as gitGateEnabled, r as resolveEnclosingRepo, i as isInsideRoot, b as gitFileHead, G as GitUnavailableError } from '../../../../../chunks/git-probe.js-CvkToKO4.js';
1
+ import { s as statusFor } from '../../../../../chunks/dsh-connection.js-DLLvHgxn.js';
2
+ import { r as resolveEnclosingRepo, i as isInsideRoot, b as gitFileHead, G as GitUnavailableError } from '../../../../../chunks/git-probe.js-CNhqEFLP.js';
3
3
  import { j as json } from '../../../../../chunks/utils.js-CAdNO8Tu.js';
4
- import '../../../../../chunks/config.js-iG_1bK3r.js';
5
- import '../../../../../chunks/insight-config.js-Dw_Qi0fO.js';
6
- import '../../../../../chunks/settings-document.js-BKnRkLVq.js';
4
+ import '../../../../../chunks/config.js-BvW5LrfQ.js';
5
+ import '../../../../../chunks/insight-config.js-BgiNeS6f.js';
6
+ import '../../../../../chunks/settings-document.js-i5MkkSFH.js';
7
7
  import 'node:fs';
8
8
  import 'node:path';
9
9
  import 'node:os';
10
10
  import 'yaml';
11
- import '../../../../../chunks/dsh-events.js-BtDxaV6Q.js';
12
- import '../../../../../chunks/permission-state.js-yvwUSnug.js';
11
+ import '../../../../../chunks/settings-home2.js-f75-B6RI.js';
12
+ import '../../../../../chunks/dsh-events.js-DEZgATm-.js';
13
+ import '../../../../../chunks/permission-state.js-B7UpAHBv.js';
13
14
  import 'node:child_process';
14
15
  import '../../../../../chunks/shared.js-HQ0rfhm4.js';
15
16
  import '../../../../../chunks/uneval.js-BJ9Qq2SF.js';
@@ -20,9 +21,10 @@ import '../../../../../chunks/uneval.js-BJ9Qq2SF.js';
20
21
  *
21
22
  * The File Eye's "before" side (ADR The File Eye 2026-09-12, D2): the
22
23
  * DSI server resolves the file's enclosing repo and runs a READ-ONLY
23
- * git show HEAD:<rel>, gated exactly like git-status. head is null when
24
- * git has no version of the path (untracked / newly added) — the honest
25
- * no-before-version, never an error. Containment over realpaths.
24
+ * git show HEAD:<rel>, DESK-INDEPENDENT (The Always Tabs ADR 2026-09-16,
25
+ * D2 — a point-in-time read answers on every access mode). head is null
26
+ * when git has no version of the path (untracked / newly added) — the
27
+ * honest no-before-version, never an error. Containment over realpaths.
26
28
  */
27
29
  var GET = async ({ url }) => {
28
30
  const sessionId = url.searchParams.get("sessionId");
@@ -35,16 +37,6 @@ var GET = async ({ url }) => {
35
37
  message: "sessionId, root and path are required"
36
38
  }
37
39
  }, { status: 400 });
38
- let enabled;
39
- try {
40
- enabled = await gitGateEnabled(sessionId);
41
- } catch (err) {
42
- return json(mapRpcFailure(err), { status: statusFor(err) });
43
- }
44
- if (!enabled) return json({
45
- ok: true,
46
- enabled: false
47
- });
48
40
  const enclosing = await resolveEnclosingRepo(root, path);
49
41
  if (enclosing === null) return json({
50
42
  ok: false,
@@ -84,4 +76,4 @@ var GET = async ({ url }) => {
84
76
  };
85
77
 
86
78
  export { GET };
87
- //# sourceMappingURL=_server.ts.js-AQgNkfCV.js.map
79
+ //# sourceMappingURL=_server.ts.js-Db9JKnPM.js.map
@@ -1,15 +1,16 @@
1
- import { s as statusFor, m as mapRpcFailure } from '../../../../../chunks/dsh-connection.js-CpcCtA42.js';
2
- import { g as gitGateEnabled, d as detectRepos } from '../../../../../chunks/git-probe.js-CvkToKO4.js';
1
+ import { s as statusFor } from '../../../../../chunks/dsh-connection.js-DLLvHgxn.js';
2
+ import { d as detectRepos } from '../../../../../chunks/git-probe.js-CNhqEFLP.js';
3
3
  import { j as json } from '../../../../../chunks/utils.js-CAdNO8Tu.js';
4
- import '../../../../../chunks/config.js-iG_1bK3r.js';
5
- import '../../../../../chunks/insight-config.js-Dw_Qi0fO.js';
6
- import '../../../../../chunks/settings-document.js-BKnRkLVq.js';
4
+ import '../../../../../chunks/config.js-BvW5LrfQ.js';
5
+ import '../../../../../chunks/insight-config.js-BgiNeS6f.js';
6
+ import '../../../../../chunks/settings-document.js-i5MkkSFH.js';
7
7
  import 'node:fs';
8
8
  import 'node:path';
9
9
  import 'node:os';
10
10
  import 'yaml';
11
- import '../../../../../chunks/dsh-events.js-BtDxaV6Q.js';
12
- import '../../../../../chunks/permission-state.js-yvwUSnug.js';
11
+ import '../../../../../chunks/settings-home2.js-f75-B6RI.js';
12
+ import '../../../../../chunks/dsh-events.js-DEZgATm-.js';
13
+ import '../../../../../chunks/permission-state.js-B7UpAHBv.js';
13
14
  import 'node:child_process';
14
15
  import '../../../../../chunks/shared.js-HQ0rfhm4.js';
15
16
  import '../../../../../chunks/uneval.js-BJ9Qq2SF.js';
@@ -21,11 +22,12 @@ import '../../../../../chunks/uneval.js-BJ9Qq2SF.js';
21
22
  * Per-level repo flags for the workspace explorer (Git Eye ADR 2026-09-12,
22
23
  * D1/D3): which immediate child directories host a .git entry, and whether
23
24
  * the level itself does. Detection lives in $lib/server/git-probe and is
24
- * GATED (ADR D2): unless the owning session's sandbox mode is
25
- * danger-full-access, the route answers { ok:true, enabled:false } and
26
- * touches the filesystem for NOTHING. Errors keep the explorer's honest
27
- * failure face: a vanished directory is 404 not-found, a forbidden one 403,
28
- * anything else the shared status mapping.
25
+ * DESK-INDEPENDENT (The Always Tabs ADR 2026-09-16, D2 — superseding the
26
+ * Git Eye's gate here): a point-in-time READ answers on every access mode,
27
+ * the same read class as the workspace-tree listing. The watcher stream
28
+ * (git-events) and the write route keep their gates. Errors keep the
29
+ * explorer's honest failure face: a vanished directory is 404 not-found, a
30
+ * forbidden one 403, anything else the shared status mapping.
29
31
  */
30
32
  function errnoStatus(err) {
31
33
  const code = err?.code;
@@ -43,16 +45,6 @@ var GET = async ({ url }) => {
43
45
  message: "sessionId and dir are required"
44
46
  }
45
47
  }, { status: 400 });
46
- let enabled;
47
- try {
48
- enabled = await gitGateEnabled(sessionId);
49
- } catch (err) {
50
- return json(mapRpcFailure(err), { status: statusFor(err) });
51
- }
52
- if (!enabled) return json({
53
- ok: true,
54
- enabled: false
55
- });
56
48
  try {
57
49
  const map = await detectRepos(dir);
58
50
  return json({
@@ -72,4 +64,4 @@ var GET = async ({ url }) => {
72
64
  };
73
65
 
74
66
  export { GET };
75
- //# sourceMappingURL=_server.ts.js-C9vxPbB3.js.map
67
+ //# sourceMappingURL=_server.ts.js-C8gzgR2I.js.map