chatlab-cli 0.36.0 → 0.36.1

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 (193) hide show
  1. package/README.md +7 -7
  2. package/dist/{chat-command-SXW67RF7.mjs → chat-command-XPJ43KSW.mjs} +10 -10
  3. package/dist/chat-command-XPJ43KSW.mjs.map +1 -0
  4. package/dist/{chunk-BSGLH6G3.mjs → chunk-2JPFBIAG.mjs} +144 -79
  5. package/dist/chunk-2JPFBIAG.mjs.map +1 -0
  6. package/dist/{chunk-VDWI4A4U.mjs → chunk-5MJO4AJB.mjs} +2 -2
  7. package/dist/{chunk-GVW3BDGZ.mjs → chunk-67HNPYZJ.mjs} +3 -3
  8. package/dist/{chunk-UNIKQFI5.mjs → chunk-6QP47LID.mjs} +2 -2
  9. package/dist/{chunk-4YPNYQSP.mjs → chunk-FJOGBUXU.mjs} +390 -96
  10. package/dist/chunk-FJOGBUXU.mjs.map +1 -0
  11. package/dist/{chunk-XDF6PMVZ.mjs → chunk-JOVL7OTW.mjs} +2 -2
  12. package/dist/{chunk-CNEWMCGX.mjs → chunk-L7TIIVAY.mjs} +57 -57
  13. package/dist/chunk-L7TIIVAY.mjs.map +1 -0
  14. package/dist/{chunk-U2NXHIJK.mjs → chunk-NFTCEJBJ.mjs} +3 -3
  15. package/dist/{chunk-AAGDVTP2.mjs → chunk-NQHZPSW2.mjs} +2 -2
  16. package/dist/{chunk-OWOEWZIC.mjs → chunk-Q3NEL2KK.mjs} +82 -28
  17. package/dist/chunk-Q3NEL2KK.mjs.map +1 -0
  18. package/dist/{chunk-LZGOIRLV.mjs → chunk-R73XMAB2.mjs} +9 -5
  19. package/dist/chunk-R73XMAB2.mjs.map +1 -0
  20. package/dist/{chunk-JHON5FN7.mjs → chunk-X2QBH24F.mjs} +8 -3
  21. package/dist/chunk-X2QBH24F.mjs.map +1 -0
  22. package/dist/cli.mjs +9 -9
  23. package/dist/contacts-worker.mjs +2 -2
  24. package/dist/global-insight-worker.mjs +1 -1
  25. package/dist/{http-LVOGJFDL.mjs → http-5RVY5J5U.mjs} +12 -12
  26. package/dist/{import-7OU57ZHM.mjs → import-ILTWVHKU.mjs} +7 -7
  27. package/dist/index.mjs +12 -12
  28. package/dist/{mcp-CUKHTTII.mjs → mcp-Y2YXOFB4.mjs} +8 -8
  29. package/dist/people-relationships-worker.mjs +2 -2
  30. package/dist/semantic-index-worker.mjs +1 -1
  31. package/dist/{service-KZTHBDQ5.mjs → service-ZAHXRSFD.mjs} +6 -6
  32. package/dist/service-ZAHXRSFD.mjs.map +1 -0
  33. package/dist/{src-LORFXAUE.mjs → src-OV5ZNE3Z.mjs} +10 -6
  34. package/dist/{stream-import-7YUWIAD6.mjs → stream-import-XOUM3Z5W.mjs} +7 -7
  35. package/dist/{undici-MU5I3L6Q.mjs → undici-UGXDRJLV.mjs} +193 -193
  36. package/dist/undici-UGXDRJLV.mjs.map +1 -0
  37. package/dist/{update-checker-3N7HQEP2.mjs → update-checker-UL2FBLXH.mjs} +3 -5
  38. package/dist/{update-checker-3N7HQEP2.mjs.map → update-checker-UL2FBLXH.mjs.map} +1 -1
  39. package/dist/{worker-runtime-GQ5SY7E3.mjs → worker-runtime-JNGURHDM.mjs} +5 -5
  40. package/dist-cli-web/assets/AISettingsTab-vvjijrc5.js +1 -0
  41. package/dist-cli-web/assets/AboutTab-CxI8zJNz.js +1 -0
  42. package/dist-cli-web/assets/ActionToolsPanel.vue_vue_type_script_setup_true_lang-w0hHEodr.js +110 -0
  43. package/dist-cli-web/assets/{Alert-DJzXKcec.js → Alert-_MYcI_E2.js} +1 -1
  44. package/dist-cli-web/assets/ApiSettingsTab-CK7U6dVA.js +2 -0
  45. package/dist-cli-web/assets/BatchManageTab-1WnEqqpB.js +1 -0
  46. package/dist-cli-web/assets/{BufferResource-DY3P-dGs.js → BufferResource-i64DlwQT.js} +1 -1
  47. package/dist-cli-web/assets/{CanvasRenderer-As2MJTWZ.js → CanvasRenderer-B76mEt9A.js} +1 -1
  48. package/dist-cli-web/assets/ChatRecordDrawer-Bp6OSCrz.js +1 -0
  49. package/dist-cli-web/assets/{ChatRecordWorkspace-CVDPBmcl.js → ChatRecordWorkspace-CyfPIlIy.js} +1 -1
  50. package/dist-cli-web/assets/{Checkbox-4F1WAuVF.js → Checkbox-Ci7IeRw1.js} +1 -1
  51. package/dist-cli-web/assets/DataDirCleanupNotice-Dh63pOLt.js +1 -0
  52. package/dist-cli-web/assets/DatePicker.vue_vue_type_script_setup_true_lang-DqNBNa1D.js +1 -0
  53. package/dist-cli-web/assets/{DebugToolsPanel-BLU6SY8a.js → DebugToolsPanel-CbNsD9co.js} +1 -1
  54. package/dist-cli-web/assets/EChart.vue_vue_type_script_setup_true_lang-YeqmodwE.js +1 -0
  55. package/dist-cli-web/assets/EChartBar.vue_vue_type_script_setup_true_lang-C3pZmq0v.js +1 -0
  56. package/dist-cli-web/assets/{EChartLine.vue_vue_type_script_setup_true_lang-BYhukELX.js → EChartLine.vue_vue_type_script_setup_true_lang-Co6olfwv.js} +1 -1
  57. package/dist-cli-web/assets/{EChartWordcloud-C16xh7Tx.js → EChartWordcloud-rDusZwSq.js} +1 -1
  58. package/dist-cli-web/assets/{Filter-BEtPORqF.js → Filter-yxkeHO78.js} +1 -1
  59. package/dist-cli-web/assets/GlobalTaskBar-BlZ-fFiq.js +1 -0
  60. package/dist-cli-web/assets/GroupRelationshipGalaxyView-BXQBX0zJ.js +1 -0
  61. package/dist-cli-web/assets/{Label-Dgl3ghzT.js → Label-CFAZFBQX.js} +1 -1
  62. package/dist-cli-web/assets/LoadingState.vue_vue_type_script_setup_true_lang-CwgpqtMZ.js +1 -0
  63. package/dist-cli-web/assets/MessageExportModal-DU71grc7.js +1 -0
  64. package/dist-cli-web/assets/{PageHeader-CL9AFfvl.js → PageHeader-BDPf4NuI.js} +1 -1
  65. package/dist-cli-web/assets/{PageTabs.vue_vue_type_script_setup_true_lang-C22kOxIK.js → PageTabs.vue_vue_type_script_setup_true_lang-_j82asQU.js} +1 -1
  66. package/dist-cli-web/assets/{RelationshipGalaxyCanvas-BnkcrIpk.js → RelationshipGalaxyCanvas-BODk18aA.js} +14 -14
  67. package/dist-cli-web/assets/RelationshipGalaxyThreeCanvas-BJyuRiC-.js +4168 -0
  68. package/dist-cli-web/assets/RelationshipGalaxyThreeCanvas-CCasBcBQ.css +1 -0
  69. package/dist-cli-web/assets/{RenderTargetSystem-CPwnC2X3.js → RenderTargetSystem-CVMvAUSv.js} +1 -1
  70. package/dist-cli-web/assets/RovingFocusItem-DC_06OmN.js +1 -0
  71. package/dist-cli-web/assets/{ScreenCaptureModal-ByKxzNQe.js → ScreenCaptureModal-DrBFDOtC.js} +1 -1
  72. package/dist-cli-web/assets/SectionTabs.vue_vue_type_script_setup_true_lang-C-Zj2biH.js +1 -0
  73. package/dist-cli-web/assets/{Select-jVtfc_xc.js → Select-DLK2LYhO.js} +1 -1
  74. package/dist-cli-web/assets/SettingsModal-BFkxzo0Y.css +1 -0
  75. package/dist-cli-web/assets/SettingsModal-DqaR4Dx5.js +2 -0
  76. package/dist-cli-web/assets/{StorageTab-QdcDqA6Q.js → StorageTab-B0ebN0f8.js} +1 -1
  77. package/dist-cli-web/assets/{Switch-DYHM64k9.js → Switch-CokhQWxm.js} +1 -1
  78. package/dist-cli-web/assets/{Tabs-B6Nzq2NQ.js → Tabs-D1UiZNaZ.js} +1 -1
  79. package/dist-cli-web/assets/Tabs-N3Q-Mpqi.js +1 -0
  80. package/dist-cli-web/assets/{ThemeCard.vue_vue_type_script_setup_true_lang-Bsq7gpC0.js → ThemeCard.vue_vue_type_script_setup_true_lang-OT-I0mbU.js} +1 -1
  81. package/dist-cli-web/assets/TimeSelect.vue_vue_type_script_setup_true_lang-Ccunouyf.js +1 -0
  82. package/dist-cli-web/assets/{VisuallyHiddenInput-IQpmK9yR.js → VisuallyHiddenInput-OAJEt_Y5.js} +1 -1
  83. package/dist-cli-web/assets/{WebGLRenderer-8JHbnkTc.js → WebGLRenderer-DuUeftYD.js} +1 -1
  84. package/dist-cli-web/assets/{WebGPURenderer-CLWfB4CC.js → WebGPURenderer-DoWQxiWZ.js} +1 -1
  85. package/dist-cli-web/assets/aiChat-CdADfRnU.js +8 -0
  86. package/dist-cli-web/assets/{browserAll-Cin6ghNg.js → browserAll-Cb-mtR2y.js} +1 -1
  87. package/dist-cli-web/assets/{cli-web-D7IBc3AX.js → cli-web-BHQCZLLg.js} +1 -1
  88. package/dist-cli-web/assets/{fetch-B7kuohCt.js → fetch-AvsnJLWJ.js} +1 -1
  89. package/dist-cli-web/assets/{fetch-BR71C0K9.js → fetch-B-6tyYWu.js} +1 -1
  90. package/dist-cli-web/assets/{fetch-OnnCjzee.js → fetch-B4PYy5JS.js} +1 -1
  91. package/dist-cli-web/assets/{fetch-_CN1EVMt.js → fetch-BbcFaCRB.js} +1 -1
  92. package/dist-cli-web/assets/{fetch-C8tTTsCm.js → fetch-BkA_so1e.js} +1 -1
  93. package/dist-cli-web/assets/{fetch-2QEQPA9q.js → fetch-BzXuAaT3.js} +1 -1
  94. package/dist-cli-web/assets/fetch-CW2fKvGp.js +1 -0
  95. package/dist-cli-web/assets/{fetch-CuUeyk0N.js → fetch-DEub4tOo.js} +1 -1
  96. package/dist-cli-web/assets/{fetch-1NiXh-_B.js → fetch-DLTlYnDB.js} +1 -1
  97. package/dist-cli-web/assets/{fetch-B2agy1hy.js → fetch-Qs38Hx1V.js} +1 -1
  98. package/dist-cli-web/assets/{fetch-Bk-7vxHV.js → fetch-sYDJ-Zs8.js} +1 -1
  99. package/dist-cli-web/assets/{fetch-DPRDSI39.js → fetch-ul8-uQIb.js} +1 -1
  100. package/dist-cli-web/assets/host-B6SQ6OGo.js +1 -0
  101. package/dist-cli-web/assets/host-DYIkQqvY.js +1 -0
  102. package/dist-cli-web/assets/{index-BCEk6ZpL.js → index--IEkRjKe.js} +10 -10
  103. package/dist-cli-web/assets/index-9iaY_EWG.js +1 -0
  104. package/dist-cli-web/assets/index-BnaLj2dx.css +1 -0
  105. package/dist-cli-web/assets/index-C7omDgiJ.js +2 -0
  106. package/dist-cli-web/assets/index-CHsM84U1.js +2 -0
  107. package/dist-cli-web/assets/index-CL8u01Pf.js +137 -0
  108. package/dist-cli-web/assets/{index-BIHFuCJK.js → index-CShh95fU.js} +1 -1
  109. package/dist-cli-web/assets/index-C_OS8Y8W.js +1 -0
  110. package/dist-cli-web/assets/{index-Colc58j-.js → index-D64XYYts.js} +1 -1
  111. package/dist-cli-web/assets/index-DrCc8p_I.css +1 -0
  112. package/dist-cli-web/assets/index-Dz_ddyZS.css +1 -0
  113. package/dist-cli-web/assets/index-UpTe1KzQ.js +1 -0
  114. package/dist-cli-web/assets/index-a8Hw6eD8.js +1 -0
  115. package/dist-cli-web/assets/index-jwjzZNKm.js +1 -0
  116. package/dist-cli-web/assets/index-pkxlF8Ee.js +1 -0
  117. package/dist-cli-web/assets/index-sWxuTsa7.js +36 -0
  118. package/dist-cli-web/assets/{people-page-header-DNPjaSt4.js → people-page-header-0jvXFFnh.js} +1 -1
  119. package/dist-cli-web/assets/{prompt-BgywZQ_g.js → prompt-BPYj29Vq.js} +1 -1
  120. package/dist-cli-web/assets/{semantic-index-config-builder-bji_UxYE.js → semantic-index-config-builder-vO37z355.js} +1 -1
  121. package/dist-cli-web/assets/service-CVoA9yNf.js +1 -0
  122. package/dist-cli-web/assets/{service-DpU9fa-l.js → service-D29Vftq9.js} +1 -1
  123. package/dist-cli-web/assets/service-DMysyLCa.js +1 -0
  124. package/dist-cli-web/assets/{useFormControl-De24E2zT.js → useFormControl-DVawP2DO.js} +1 -1
  125. package/dist-cli-web/assets/useTable-Bv3R_Hux.js +1 -0
  126. package/dist-cli-web/assets/useToast-BA0EwImD.js +1 -0
  127. package/dist-cli-web/assets/{vendor-echarts-DfAMQxdr.js → vendor-echarts-hTLhTs52.js} +5 -5
  128. package/dist-cli-web/assets/{vendor-echarts-wordcloud-BsaEJTPY.js → vendor-echarts-wordcloud-B8CF_NgP.js} +1 -1
  129. package/dist-cli-web/assets/{vendor-zrender-PFmZe1EY.js → vendor-zrender-D8psf1AA.js} +2 -2
  130. package/dist-cli-web/assets/{webworkerAll-BRnv6GvJ.js → webworkerAll-ZPE_yGnC.js} +1 -1
  131. package/dist-cli-web/index.html +2 -2
  132. package/package.json +4 -4
  133. package/dist/chat-command-SXW67RF7.mjs.map +0 -1
  134. package/dist/chunk-4YPNYQSP.mjs.map +0 -1
  135. package/dist/chunk-BSGLH6G3.mjs.map +0 -1
  136. package/dist/chunk-CNEWMCGX.mjs.map +0 -1
  137. package/dist/chunk-JHON5FN7.mjs.map +0 -1
  138. package/dist/chunk-LZGOIRLV.mjs.map +0 -1
  139. package/dist/chunk-OWOEWZIC.mjs.map +0 -1
  140. package/dist/service-KZTHBDQ5.mjs.map +0 -1
  141. package/dist/undici-MU5I3L6Q.mjs.map +0 -1
  142. package/dist-cli-web/assets/AISettingsTab-BmhNcUEh.js +0 -1
  143. package/dist-cli-web/assets/AboutTab-CFklrZt8.js +0 -1
  144. package/dist-cli-web/assets/ActionToolsPanel.vue_vue_type_script_setup_true_lang-B-dIPvcs.js +0 -110
  145. package/dist-cli-web/assets/ApiSettingsTab-DvDm421U.js +0 -2
  146. package/dist-cli-web/assets/BatchManageTab-DhIDH3Q1.js +0 -1
  147. package/dist-cli-web/assets/ChatRecordDrawer-DHdas7Jp.js +0 -1
  148. package/dist-cli-web/assets/DataDirCleanupNotice-jebQ9il3.js +0 -1
  149. package/dist-cli-web/assets/DatePicker.vue_vue_type_script_setup_true_lang-Cal624eP.js +0 -1
  150. package/dist-cli-web/assets/EChart.vue_vue_type_script_setup_true_lang-CsgJ-Xn3.js +0 -1
  151. package/dist-cli-web/assets/GlobalTaskBar-BvNmFO7q.js +0 -1
  152. package/dist-cli-web/assets/GroupRelationshipGalaxyView-DEUIrvgz.js +0 -1
  153. package/dist-cli-web/assets/LoadingState.vue_vue_type_script_setup_true_lang-CwDIA0UP.js +0 -1
  154. package/dist-cli-web/assets/MessageExportModal-DYjhBuzO.js +0 -1
  155. package/dist-cli-web/assets/RelationshipGalaxyThreeCanvas-CqdqveEJ.js +0 -4108
  156. package/dist-cli-web/assets/RelationshipGalaxyThreeCanvas-TYGOUDiv.css +0 -1
  157. package/dist-cli-web/assets/RovingFocusItem-j33Nsbbn.js +0 -1
  158. package/dist-cli-web/assets/SectionTabs.vue_vue_type_script_setup_true_lang-C6EHKB_i.js +0 -1
  159. package/dist-cli-web/assets/SettingsModal-CjVax3I6.css +0 -1
  160. package/dist-cli-web/assets/SettingsModal-Dg27piEO.js +0 -2
  161. package/dist-cli-web/assets/Tabs-CRZdCcU4.js +0 -1
  162. package/dist-cli-web/assets/TimeSelect.vue_vue_type_script_setup_true_lang-BLpQds4F.js +0 -1
  163. package/dist-cli-web/assets/aiChat-4JvxWGXZ.js +0 -8
  164. package/dist-cli-web/assets/base-D6fxqD_X.js +0 -1
  165. package/dist-cli-web/assets/dateFormat-Bu4-Ux3L.js +0 -1
  166. package/dist-cli-web/assets/index-BUz_Vl9U.js +0 -2
  167. package/dist-cli-web/assets/index-BWZIoPV3.css +0 -1
  168. package/dist-cli-web/assets/index-BYQV3OA5.js +0 -1
  169. package/dist-cli-web/assets/index-CVVv_6qu.js +0 -2
  170. package/dist-cli-web/assets/index-CacwXQL4.js +0 -1
  171. package/dist-cli-web/assets/index-DImo7TQN.js +0 -1
  172. package/dist-cli-web/assets/index-DV9zQVPV.js +0 -137
  173. package/dist-cli-web/assets/index-DXKS-q-w.css +0 -1
  174. package/dist-cli-web/assets/index-DZc5A4_J.js +0 -1
  175. package/dist-cli-web/assets/index-DkWTvE7d.js +0 -36
  176. package/dist-cli-web/assets/index-DmEn0PAI.js +0 -1
  177. package/dist-cli-web/assets/index-b9eEQeVt.js +0 -1
  178. package/dist-cli-web/assets/index-waDxab2e.css +0 -1
  179. package/dist-cli-web/assets/insight-time-range-MJxLEu6o.js +0 -1
  180. package/dist-cli-web/assets/useTable-C7BH94MF.js +0 -1
  181. package/dist-cli-web/assets/useToast-CxhJkhXK.js +0 -1
  182. /package/dist/{chunk-VDWI4A4U.mjs.map → chunk-5MJO4AJB.mjs.map} +0 -0
  183. /package/dist/{chunk-GVW3BDGZ.mjs.map → chunk-67HNPYZJ.mjs.map} +0 -0
  184. /package/dist/{chunk-UNIKQFI5.mjs.map → chunk-6QP47LID.mjs.map} +0 -0
  185. /package/dist/{chunk-XDF6PMVZ.mjs.map → chunk-JOVL7OTW.mjs.map} +0 -0
  186. /package/dist/{chunk-U2NXHIJK.mjs.map → chunk-NFTCEJBJ.mjs.map} +0 -0
  187. /package/dist/{chunk-AAGDVTP2.mjs.map → chunk-NQHZPSW2.mjs.map} +0 -0
  188. /package/dist/{http-LVOGJFDL.mjs.map → http-5RVY5J5U.mjs.map} +0 -0
  189. /package/dist/{import-7OU57ZHM.mjs.map → import-ILTWVHKU.mjs.map} +0 -0
  190. /package/dist/{mcp-CUKHTTII.mjs.map → mcp-Y2YXOFB4.mjs.map} +0 -0
  191. /package/dist/{src-LORFXAUE.mjs.map → src-OV5ZNE3Z.mjs.map} +0 -0
  192. /package/dist/{stream-import-7YUWIAD6.mjs.map → stream-import-XOUM3Z5W.mjs.map} +0 -0
  193. /package/dist/{worker-runtime-GQ5SY7E3.mjs.map → worker-runtime-JNGURHDM.mjs.map} +0 -0
@@ -9,7 +9,7 @@ import {
9
9
  createEmptyContactsDiagnostics,
10
10
  normalizeContactsTimeRangePreset,
11
11
  resolveContactsTimeRange
12
- } from "./chunk-XDF6PMVZ.mjs";
12
+ } from "./chunk-JOVL7OTW.mjs";
13
13
  import {
14
14
  PEOPLE_RELATIONSHIPS_ALGORITHM_VERSION,
15
15
  buildPeopleRelationshipsNeighborhoodGraph,
@@ -18,7 +18,7 @@ import {
18
18
  computePeopleRelationshipsSnapshot,
19
19
  normalizePeopleRelationshipsTimeRangePreset,
20
20
  resolvePeopleRelationshipsTimeRange
21
- } from "./chunk-AAGDVTP2.mjs";
21
+ } from "./chunk-NQHZPSW2.mjs";
22
22
  import {
23
23
  ANNUAL_SUMMARY_ALGORITHM_VERSION,
24
24
  TIME_INVESTMENT_ALGORITHM_VERSION,
@@ -34,6 +34,7 @@ import {
34
34
  DataDirCompatibilityError,
35
35
  KNOWN_PLATFORMS,
36
36
  MessageType,
37
+ NAVIGATION_LAYOUT_SCHEMA_VERSION,
37
38
  appLogger,
38
39
  applyPreprocessingPipeline,
39
40
  buildSessionInfo,
@@ -98,7 +99,7 @@ import {
98
99
  writeAuthProfile,
99
100
  writeParseResultToDb,
100
101
  writeTimeInvestmentSnapshot
101
- } from "./chunk-OWOEWZIC.mjs";
102
+ } from "./chunk-Q3NEL2KK.mjs";
102
103
  import {
103
104
  __commonJS,
104
105
  __export,
@@ -106,9 +107,9 @@ import {
106
107
  __toESM
107
108
  } from "./chunk-VSOWNKPA.mjs";
108
109
 
109
- // ../../node_modules/stream-json/utils/Utf8Stream.js
110
+ // ../../node_modules/.pnpm/stream-json@1.9.1/node_modules/stream-json/utils/Utf8Stream.js
110
111
  var require_Utf8Stream = __commonJS({
111
- "../../node_modules/stream-json/utils/Utf8Stream.js"(exports, module) {
112
+ "../../node_modules/.pnpm/stream-json@1.9.1/node_modules/stream-json/utils/Utf8Stream.js"(exports, module) {
112
113
  "use strict";
113
114
  var { Transform } = __require("stream");
114
115
  var { StringDecoder } = __require("string_decoder");
@@ -155,9 +156,9 @@ var require_Utf8Stream = __commonJS({
155
156
  }
156
157
  });
157
158
 
158
- // ../../node_modules/stream-json/Parser.js
159
+ // ../../node_modules/.pnpm/stream-json@1.9.1/node_modules/stream-json/Parser.js
159
160
  var require_Parser = __commonJS({
160
- "../../node_modules/stream-json/Parser.js"(exports, module) {
161
+ "../../node_modules/.pnpm/stream-json@1.9.1/node_modules/stream-json/Parser.js"(exports, module) {
161
162
  "use strict";
162
163
  var Utf8Stream = require_Utf8Stream();
163
164
  var patterns = {
@@ -684,18 +685,18 @@ var require_Parser = __commonJS({
684
685
  }
685
686
  });
686
687
 
687
- // ../../node_modules/stream-json/utils/emit.js
688
+ // ../../node_modules/.pnpm/stream-json@1.9.1/node_modules/stream-json/utils/emit.js
688
689
  var require_emit = __commonJS({
689
- "../../node_modules/stream-json/utils/emit.js"(exports, module) {
690
+ "../../node_modules/.pnpm/stream-json@1.9.1/node_modules/stream-json/utils/emit.js"(exports, module) {
690
691
  "use strict";
691
692
  var emit = (stream) => stream.on("data", (item) => stream.emit(item.name, item.value));
692
693
  module.exports = emit;
693
694
  }
694
695
  });
695
696
 
696
- // ../../node_modules/stream-json/index.js
697
+ // ../../node_modules/.pnpm/stream-json@1.9.1/node_modules/stream-json/index.js
697
698
  var require_stream_json = __commonJS({
698
- "../../node_modules/stream-json/index.js"(exports, module) {
699
+ "../../node_modules/.pnpm/stream-json@1.9.1/node_modules/stream-json/index.js"(exports, module) {
699
700
  "use strict";
700
701
  var Parser = require_Parser();
701
702
  var emit = require_emit();
@@ -706,16 +707,16 @@ var require_stream_json = __commonJS({
706
707
  }
707
708
  });
708
709
 
709
- // ../../node_modules/stream-json/filters/FilterBase.js
710
+ // ../../node_modules/.pnpm/stream-json@1.9.1/node_modules/stream-json/filters/FilterBase.js
710
711
  var require_FilterBase = __commonJS({
711
- "../../node_modules/stream-json/filters/FilterBase.js"(exports, module) {
712
+ "../../node_modules/.pnpm/stream-json@1.9.1/node_modules/stream-json/filters/FilterBase.js"(exports, module) {
712
713
  "use strict";
713
714
  var { Transform } = __require("stream");
714
715
  var FilterBase = class _FilterBase extends Transform {
715
716
  static stringFilter(string, separator) {
716
717
  return (stack) => {
717
- const path25 = stack.join(separator);
718
- return path25.length === string.length && path25 === string || path25.length > string.length && path25.substr(0, string.length) === string && path25.substr(string.length, separator.length) === separator;
718
+ const path26 = stack.join(separator);
719
+ return path26.length === string.length && path26 === string || path26.length > string.length && path26.substr(0, string.length) === string && path26.substr(string.length, separator.length) === separator;
719
720
  };
720
721
  }
721
722
  static regExpFilter(regExp, separator) {
@@ -881,9 +882,9 @@ var require_FilterBase = __commonJS({
881
882
  }
882
883
  });
883
884
 
884
- // ../../node_modules/stream-chain/index.js
885
+ // ../../node_modules/.pnpm/stream-chain@2.2.5/node_modules/stream-chain/index.js
885
886
  var require_stream_chain = __commonJS({
886
- "../../node_modules/stream-chain/index.js"(exports, module) {
887
+ "../../node_modules/.pnpm/stream-chain@2.2.5/node_modules/stream-chain/index.js"(exports, module) {
887
888
  "use strict";
888
889
  var { Readable, Writable, Duplex, Transform } = __require("stream");
889
890
  var none = /* @__PURE__ */ Symbol.for("object-stream.none");
@@ -1053,9 +1054,9 @@ var require_stream_chain = __commonJS({
1053
1054
  }
1054
1055
  });
1055
1056
 
1056
- // ../../node_modules/stream-json/utils/withParser.js
1057
+ // ../../node_modules/.pnpm/stream-json@1.9.1/node_modules/stream-json/utils/withParser.js
1057
1058
  var require_withParser = __commonJS({
1058
- "../../node_modules/stream-json/utils/withParser.js"(exports, module) {
1059
+ "../../node_modules/.pnpm/stream-json@1.9.1/node_modules/stream-json/utils/withParser.js"(exports, module) {
1059
1060
  "use strict";
1060
1061
  var { chain: chain9 } = require_stream_chain();
1061
1062
  var Parser = require_Parser();
@@ -1064,9 +1065,9 @@ var require_withParser = __commonJS({
1064
1065
  }
1065
1066
  });
1066
1067
 
1067
- // ../../node_modules/stream-json/filters/Pick.js
1068
+ // ../../node_modules/.pnpm/stream-json@1.9.1/node_modules/stream-json/filters/Pick.js
1068
1069
  var require_Pick = __commonJS({
1069
- "../../node_modules/stream-json/filters/Pick.js"(exports, module) {
1070
+ "../../node_modules/.pnpm/stream-json@1.9.1/node_modules/stream-json/filters/Pick.js"(exports, module) {
1070
1071
  "use strict";
1071
1072
  var FilterBase = require_FilterBase();
1072
1073
  var withParser = require_withParser();
@@ -1123,9 +1124,9 @@ var require_Pick = __commonJS({
1123
1124
  }
1124
1125
  });
1125
1126
 
1126
- // ../../node_modules/stream-json/Assembler.js
1127
+ // ../../node_modules/.pnpm/stream-json@1.9.1/node_modules/stream-json/Assembler.js
1127
1128
  var require_Assembler = __commonJS({
1128
- "../../node_modules/stream-json/Assembler.js"(exports, module) {
1129
+ "../../node_modules/.pnpm/stream-json@1.9.1/node_modules/stream-json/Assembler.js"(exports, module) {
1129
1130
  "use strict";
1130
1131
  var EventEmitter = __require("events");
1131
1132
  var startObject = (Ctr) => function() {
@@ -1169,12 +1170,12 @@ var require_Assembler = __commonJS({
1169
1170
  return (this.stack.length >> 1) + (this.done ? 0 : 1);
1170
1171
  }
1171
1172
  get path() {
1172
- const path25 = [];
1173
+ const path26 = [];
1173
1174
  for (let i = 0; i < this.stack.length; i += 2) {
1174
1175
  const key = this.stack[i + 1];
1175
- path25.push(key === null ? this.stack[i].length : key);
1176
+ path26.push(key === null ? this.stack[i].length : key);
1176
1177
  }
1177
- return path25;
1178
+ return path26;
1178
1179
  }
1179
1180
  dropToLevel(level) {
1180
1181
  if (level < this.depth) {
@@ -1264,9 +1265,9 @@ var require_Assembler = __commonJS({
1264
1265
  }
1265
1266
  });
1266
1267
 
1267
- // ../../node_modules/stream-json/streamers/StreamBase.js
1268
+ // ../../node_modules/.pnpm/stream-json@1.9.1/node_modules/stream-json/streamers/StreamBase.js
1268
1269
  var require_StreamBase = __commonJS({
1269
- "../../node_modules/stream-json/streamers/StreamBase.js"(exports, module) {
1270
+ "../../node_modules/.pnpm/stream-json@1.9.1/node_modules/stream-json/streamers/StreamBase.js"(exports, module) {
1270
1271
  "use strict";
1271
1272
  var { Transform } = __require("stream");
1272
1273
  var Assembler2 = require_Assembler();
@@ -1363,9 +1364,9 @@ var require_StreamBase = __commonJS({
1363
1364
  }
1364
1365
  });
1365
1366
 
1366
- // ../../node_modules/stream-json/streamers/StreamValues.js
1367
+ // ../../node_modules/.pnpm/stream-json@1.9.1/node_modules/stream-json/streamers/StreamValues.js
1367
1368
  var require_StreamValues = __commonJS({
1368
- "../../node_modules/stream-json/streamers/StreamValues.js"(exports, module) {
1369
+ "../../node_modules/.pnpm/stream-json@1.9.1/node_modules/stream-json/streamers/StreamValues.js"(exports, module) {
1369
1370
  "use strict";
1370
1371
  var StreamBase = require_StreamBase();
1371
1372
  var withParser = require_withParser();
@@ -1396,9 +1397,181 @@ var require_StreamValues = __commonJS({
1396
1397
  }
1397
1398
  });
1398
1399
 
1399
- // ../../node_modules/pend/index.js
1400
+ // ../../node_modules/stream-chain/index.js
1401
+ var require_stream_chain2 = __commonJS({
1402
+ "../../node_modules/stream-chain/index.js"(exports, module) {
1403
+ "use strict";
1404
+ var { Readable, Writable, Duplex, Transform } = __require("stream");
1405
+ var none = /* @__PURE__ */ Symbol.for("object-stream.none");
1406
+ var finalSymbol = /* @__PURE__ */ Symbol.for("object-stream.final");
1407
+ var manySymbol = /* @__PURE__ */ Symbol.for("object-stream.many");
1408
+ var final = (value) => ({ [finalSymbol]: value });
1409
+ var many = (values) => ({ [manySymbol]: values });
1410
+ var isFinal = (o) => o && typeof o == "object" && finalSymbol in o;
1411
+ var isMany = (o) => o && typeof o == "object" && manySymbol in o;
1412
+ var getFinalValue = (o) => o[finalSymbol];
1413
+ var getManyValues = (o) => o[manySymbol];
1414
+ var runAsyncGenerator = async (gen, stream) => {
1415
+ for (; ; ) {
1416
+ let data = gen.next();
1417
+ if (data && typeof data.then == "function") {
1418
+ data = await data;
1419
+ }
1420
+ if (data.done) break;
1421
+ let value = data.value;
1422
+ if (value && typeof value.then == "function") {
1423
+ value = await value;
1424
+ }
1425
+ Chain.sanitize(value, stream);
1426
+ }
1427
+ };
1428
+ var wrapFunction = (fn) => new Transform({
1429
+ writableObjectMode: true,
1430
+ readableObjectMode: true,
1431
+ transform(chunk, encoding, callback) {
1432
+ try {
1433
+ const result = fn.call(this, chunk, encoding);
1434
+ if (result && typeof result.then == "function") {
1435
+ result.then(
1436
+ (result2) => (Chain.sanitize(result2, this), callback(null)),
1437
+ (error) => callback(error)
1438
+ );
1439
+ return;
1440
+ }
1441
+ if (result && typeof result.next == "function") {
1442
+ runAsyncGenerator(result, this).then(
1443
+ () => callback(null),
1444
+ (error) => callback(error)
1445
+ );
1446
+ return;
1447
+ }
1448
+ Chain.sanitize(result, this);
1449
+ callback(null);
1450
+ } catch (error) {
1451
+ callback(error);
1452
+ }
1453
+ }
1454
+ });
1455
+ var wrapArray = (fns) => new Transform({
1456
+ writableObjectMode: true,
1457
+ readableObjectMode: true,
1458
+ transform(chunk, encoding, callback) {
1459
+ try {
1460
+ let value = chunk;
1461
+ for (let i = 0; i < fns.length; ++i) {
1462
+ const result = fns[i].call(this, value, encoding);
1463
+ if (result === Chain.none) {
1464
+ callback(null);
1465
+ return;
1466
+ }
1467
+ if (Chain.isFinal(result)) {
1468
+ value = Chain.getFinalValue(result);
1469
+ break;
1470
+ }
1471
+ value = result;
1472
+ }
1473
+ Chain.sanitize(value, this);
1474
+ callback(null);
1475
+ } catch (error) {
1476
+ callback(error);
1477
+ }
1478
+ }
1479
+ });
1480
+ var isReadableNodeStream = (obj) => obj && typeof obj.pipe === "function" && typeof obj.on === "function" && (!obj._writableState || (typeof obj._readableState === "object" ? obj._readableState.readable : null) !== false) && // Duplex
1481
+ (!obj._writableState || obj._readableState);
1482
+ var isWritableNodeStream = (obj) => obj && typeof obj.write === "function" && typeof obj.on === "function" && (!obj._readableState || (typeof obj._writableState === "object" ? obj._writableState.writable : null) !== false);
1483
+ var isDuplexNodeStream = (obj) => obj && typeof obj.pipe === "function" && obj._readableState && typeof obj.on === "function" && typeof obj.write === "function";
1484
+ var Chain = class _Chain extends Duplex {
1485
+ constructor(fns, options2) {
1486
+ super(options2 || { writableObjectMode: true, readableObjectMode: true });
1487
+ if (!(fns instanceof Array) || !fns.length) {
1488
+ throw Error("Chain's argument should be a non-empty array.");
1489
+ }
1490
+ this.streams = fns.filter((fn) => fn).map((fn, index, fns2) => {
1491
+ if (typeof fn === "function" || fn instanceof Array) return _Chain.convertToTransform(fn);
1492
+ if (isDuplexNodeStream(fn) || !index && isReadableNodeStream(fn) || index === fns2.length - 1 && isWritableNodeStream(fn)) {
1493
+ return fn;
1494
+ }
1495
+ throw Error("Arguments should be functions, arrays or streams.");
1496
+ }).filter((s) => s);
1497
+ this.input = this.streams[0];
1498
+ this.output = this.streams.reduce((output, stream) => output && output.pipe(stream) || stream);
1499
+ if (!isWritableNodeStream(this.input)) {
1500
+ this._write = (_1, _2, callback) => callback(null);
1501
+ this._final = (callback) => callback(null);
1502
+ this.input.on("end", () => this.end());
1503
+ }
1504
+ if (isReadableNodeStream(this.output)) {
1505
+ this.output.on("data", (chunk) => !this.push(chunk) && this.output.pause());
1506
+ this.output.on("end", () => this.push(null));
1507
+ } else {
1508
+ this._read = () => {
1509
+ };
1510
+ this.resume();
1511
+ this.output.on("finish", () => this.push(null));
1512
+ }
1513
+ if (!options2 || !options2.skipEvents) {
1514
+ this.streams.forEach((stream) => stream.on("error", (error) => this.emit("error", error)));
1515
+ }
1516
+ }
1517
+ _write(chunk, encoding, callback) {
1518
+ let error = null;
1519
+ try {
1520
+ this.input.write(chunk, encoding, (e) => callback(e || error));
1521
+ } catch (e) {
1522
+ error = e;
1523
+ }
1524
+ }
1525
+ _final(callback) {
1526
+ let error = null;
1527
+ try {
1528
+ this.input.end(null, null, (e) => callback(e || error));
1529
+ } catch (e) {
1530
+ error = e;
1531
+ }
1532
+ }
1533
+ _read() {
1534
+ this.output.resume();
1535
+ }
1536
+ static make(fns, options2) {
1537
+ return new _Chain(fns, options2);
1538
+ }
1539
+ static sanitize(result, stream) {
1540
+ if (_Chain.isFinal(result)) {
1541
+ result = _Chain.getFinalValue(result);
1542
+ } else if (_Chain.isMany(result)) {
1543
+ result = _Chain.getManyValues(result);
1544
+ }
1545
+ if (result !== void 0 && result !== null && result !== _Chain.none) {
1546
+ if (result instanceof Array) {
1547
+ result.forEach((value) => value !== void 0 && value !== null && stream.push(value));
1548
+ } else {
1549
+ stream.push(result);
1550
+ }
1551
+ }
1552
+ }
1553
+ static convertToTransform(fn) {
1554
+ if (typeof fn === "function") return wrapFunction(fn);
1555
+ if (fn instanceof Array) return fn.length ? wrapArray(fn) : null;
1556
+ return null;
1557
+ }
1558
+ };
1559
+ Chain.none = none;
1560
+ Chain.final = final;
1561
+ Chain.isFinal = isFinal;
1562
+ Chain.getFinalValue = getFinalValue;
1563
+ Chain.many = many;
1564
+ Chain.isMany = isMany;
1565
+ Chain.getManyValues = getManyValues;
1566
+ Chain.chain = Chain.make;
1567
+ Chain.make.Constructor = Chain;
1568
+ module.exports = Chain;
1569
+ }
1570
+ });
1571
+
1572
+ // ../../node_modules/.pnpm/pend@1.2.0/node_modules/pend/index.js
1400
1573
  var require_pend = __commonJS({
1401
- "../../node_modules/pend/index.js"(exports, module) {
1574
+ "../../node_modules/.pnpm/pend@1.2.0/node_modules/pend/index.js"(exports, module) {
1402
1575
  "use strict";
1403
1576
  module.exports = Pend;
1404
1577
  function Pend() {
@@ -1452,11 +1625,11 @@ var require_pend = __commonJS({
1452
1625
  }
1453
1626
  });
1454
1627
 
1455
- // ../../packages/node-runtime/node_modules/yauzl/fd-slicer.js
1628
+ // ../../node_modules/.pnpm/yauzl@3.4.0/node_modules/yauzl/fd-slicer.js
1456
1629
  var require_fd_slicer = __commonJS({
1457
- "../../packages/node-runtime/node_modules/yauzl/fd-slicer.js"(exports) {
1630
+ "../../node_modules/.pnpm/yauzl@3.4.0/node_modules/yauzl/fd-slicer.js"(exports) {
1458
1631
  "use strict";
1459
- var fs35 = __require("fs");
1632
+ var fs36 = __require("fs");
1460
1633
  var util = __require("util");
1461
1634
  var stream = __require("stream");
1462
1635
  var Readable = stream.Readable;
@@ -1476,7 +1649,7 @@ var require_fd_slicer = __commonJS({
1476
1649
  FdSlicer.prototype.read = function(buffer, offset, length, position, callback) {
1477
1650
  var self = this;
1478
1651
  self.pend.go(function(cb) {
1479
- fs35.read(self.fd, buffer, offset, length, position, function(err, bytesRead, buffer2) {
1652
+ fs36.read(self.fd, buffer, offset, length, position, function(err, bytesRead, buffer2) {
1480
1653
  cb();
1481
1654
  callback(err, bytesRead, buffer2);
1482
1655
  });
@@ -1493,7 +1666,7 @@ var require_fd_slicer = __commonJS({
1493
1666
  self.refCount -= 1;
1494
1667
  if (self.refCount < 0) throw new Error("invalid unref");
1495
1668
  if (self.refCount > 0) return;
1496
- fs35.close(self.fd, onCloseDone);
1669
+ fs36.close(self.fd, onCloseDone);
1497
1670
  function onCloseDone(err) {
1498
1671
  if (err) {
1499
1672
  self.emit("error", err);
@@ -1525,7 +1698,7 @@ var require_fd_slicer = __commonJS({
1525
1698
  }
1526
1699
  self.context.pend.go(function(cb) {
1527
1700
  var buffer = Buffer.allocUnsafe(toRead);
1528
- fs35.read(self.context.fd, buffer, 0, toRead, self.pos, function(err, bytesRead) {
1701
+ fs36.read(self.context.fd, buffer, 0, toRead, self.pos, function(err, bytesRead) {
1529
1702
  if (err) {
1530
1703
  self.destroy(err);
1531
1704
  } else if (bytesRead === 0) {
@@ -1610,9 +1783,9 @@ var require_fd_slicer = __commonJS({
1610
1783
  }
1611
1784
  });
1612
1785
 
1613
- // ../../packages/node-runtime/node_modules/yauzl/crc32.js
1786
+ // ../../node_modules/.pnpm/yauzl@3.4.0/node_modules/yauzl/crc32.js
1614
1787
  var require_crc32 = __commonJS({
1615
- "../../packages/node-runtime/node_modules/yauzl/crc32.js"(exports, module) {
1788
+ "../../node_modules/.pnpm/yauzl@3.4.0/node_modules/yauzl/crc32.js"(exports, module) {
1616
1789
  "use strict";
1617
1790
  var CRC_TABLE = new Int32Array([
1618
1791
  0,
@@ -1883,11 +2056,11 @@ var require_crc32 = __commonJS({
1883
2056
  }
1884
2057
  });
1885
2058
 
1886
- // ../../packages/node-runtime/node_modules/yauzl/index.js
2059
+ // ../../node_modules/.pnpm/yauzl@3.4.0/node_modules/yauzl/index.js
1887
2060
  var require_yauzl = __commonJS({
1888
- "../../packages/node-runtime/node_modules/yauzl/index.js"(exports) {
2061
+ "../../node_modules/.pnpm/yauzl@3.4.0/node_modules/yauzl/index.js"(exports) {
1889
2062
  "use strict";
1890
- var fs35 = __require("fs");
2063
+ var fs36 = __require("fs");
1891
2064
  var zlib = __require("zlib");
1892
2065
  var fd_slicer = require_fd_slicer();
1893
2066
  var util = __require("util");
@@ -1912,9 +2085,9 @@ var require_yauzl = __commonJS({
1912
2085
  exports.Entry = Entry;
1913
2086
  exports.LocalFileHeader = LocalFileHeader;
1914
2087
  exports.RandomAccessReader = RandomAccessReader;
1915
- function openPromise2(path25, options2) {
2088
+ function openPromise2(path26, options2) {
1916
2089
  return new Promise((resolve4, reject) => {
1917
- open(path25, { ...options2, lazyEntries: true }, function(err, zipfile) {
2090
+ open(path26, { ...options2, lazyEntries: true }, function(err, zipfile) {
1918
2091
  if (err) return reject(err);
1919
2092
  resolve4(zipfile);
1920
2093
  });
@@ -1944,7 +2117,7 @@ var require_yauzl = __commonJS({
1944
2117
  });
1945
2118
  });
1946
2119
  }
1947
- function open(path25, options2, callback) {
2120
+ function open(path26, options2, callback) {
1948
2121
  if (typeof options2 === "function") {
1949
2122
  callback = options2;
1950
2123
  options2 = null;
@@ -1956,10 +2129,10 @@ var require_yauzl = __commonJS({
1956
2129
  if (options2.validateEntrySizes == null) options2.validateEntrySizes = true;
1957
2130
  if (options2.strictFileNames == null) options2.strictFileNames = false;
1958
2131
  if (callback == null) callback = defaultCallback;
1959
- fs35.open(path25, "r", function(err, fd) {
2132
+ fs36.open(path26, "r", function(err, fd) {
1960
2133
  if (err) return callback(err);
1961
2134
  fromFd(fd, options2, function(err2, zipfile) {
1962
- if (err2) fs35.close(fd, defaultCallback);
2135
+ if (err2) fs36.close(fd, defaultCallback);
1963
2136
  callback(err2, zipfile);
1964
2137
  });
1965
2138
  });
@@ -1976,7 +2149,7 @@ var require_yauzl = __commonJS({
1976
2149
  if (options2.validateEntrySizes == null) options2.validateEntrySizes = true;
1977
2150
  if (options2.strictFileNames == null) options2.strictFileNames = false;
1978
2151
  if (callback == null) callback = defaultCallback;
1979
- fs35.fstat(fd, function(err, stats) {
2152
+ fs36.fstat(fd, function(err, stats) {
1980
2153
  if (err) return callback(err);
1981
2154
  var reader = new fd_slicer.FdSlicer(fd);
1982
2155
  fromRandomAccessReader(reader, stats.size, options2, callback);
@@ -3033,7 +3206,7 @@ function createSniffer() {
3033
3206
  var import_stream_json = __toESM(require_stream_json(), 1);
3034
3207
  var import_Pick = __toESM(require_Pick(), 1);
3035
3208
  var import_StreamValues = __toESM(require_StreamValues(), 1);
3036
- var import_stream_chain = __toESM(require_stream_chain(), 1);
3209
+ var import_stream_chain = __toESM(require_stream_chain2(), 1);
3037
3210
  import * as fs4 from "fs";
3038
3211
 
3039
3212
  // ../../packages/parser/src/utils.ts
@@ -3623,7 +3796,7 @@ var chatlab_jsonl_default = module_2;
3623
3796
  var import_stream_json3 = __toESM(require_stream_json(), 1);
3624
3797
  var import_Pick3 = __toESM(require_Pick(), 1);
3625
3798
  var import_StreamValues3 = __toESM(require_StreamValues(), 1);
3626
- var import_stream_chain3 = __toESM(require_stream_chain(), 1);
3799
+ var import_stream_chain3 = __toESM(require_stream_chain2(), 1);
3627
3800
  import * as fs7 from "fs";
3628
3801
  import * as path6 from "path";
3629
3802
 
@@ -3631,7 +3804,7 @@ import * as path6 from "path";
3631
3804
  var import_stream_json2 = __toESM(require_stream_json(), 1);
3632
3805
  var import_Pick2 = __toESM(require_Pick(), 1);
3633
3806
  var import_StreamValues2 = __toESM(require_StreamValues(), 1);
3634
- var import_stream_chain2 = __toESM(require_stream_chain(), 1);
3807
+ var import_stream_chain2 = __toESM(require_stream_chain2(), 1);
3635
3808
  import * as fs6 from "fs";
3636
3809
  import * as path5 from "path";
3637
3810
  import * as os2 from "os";
@@ -4512,7 +4685,7 @@ var shuakami_qq_exporter_chunked_default = module_4;
4512
4685
  var import_stream_json4 = __toESM(require_stream_json(), 1);
4513
4686
  var import_Pick4 = __toESM(require_Pick(), 1);
4514
4687
  var import_StreamValues4 = __toESM(require_StreamValues(), 1);
4515
- var import_stream_chain4 = __toESM(require_stream_chain(), 1);
4688
+ var import_stream_chain4 = __toESM(require_stream_chain2(), 1);
4516
4689
  import * as fs9 from "fs";
4517
4690
  import * as path8 from "path";
4518
4691
 
@@ -5008,7 +5181,7 @@ var ycccccccy_echotrace_default = module_6;
5008
5181
  var import_stream_json5 = __toESM(require_stream_json(), 1);
5009
5182
  var import_Pick5 = __toESM(require_Pick(), 1);
5010
5183
  var import_StreamValues5 = __toESM(require_StreamValues(), 1);
5011
- var import_stream_chain5 = __toESM(require_stream_chain(), 1);
5184
+ var import_stream_chain5 = __toESM(require_stream_chain2(), 1);
5012
5185
  import * as fs10 from "fs";
5013
5186
  var { parser: parser6 } = import_stream_json5.default;
5014
5187
  var { pick: pick5 } = import_Pick5.default;
@@ -5271,7 +5444,7 @@ var module_7 = {
5271
5444
  var tyrrrz_discord_exporter_default = module_7;
5272
5445
 
5273
5446
  // ../../packages/parser/src/formats/telegram-native.ts
5274
- var import_stream_chain6 = __toESM(require_stream_chain(), 1);
5447
+ var import_stream_chain6 = __toESM(require_stream_chain2(), 1);
5275
5448
  var import_stream_json6 = __toESM(require_stream_json(), 1);
5276
5449
  var import_Pick6 = __toESM(require_Pick(), 1);
5277
5450
  var import_StreamValues6 = __toESM(require_StreamValues(), 1);
@@ -6342,7 +6515,7 @@ var module_12 = {
6342
6515
  var instagram_native_default = module_12;
6343
6516
 
6344
6517
  // ../../packages/parser/src/formats/google-chat-takeout.ts
6345
- var import_stream_chain7 = __toESM(require_stream_chain(), 1);
6518
+ var import_stream_chain7 = __toESM(require_stream_chain2(), 1);
6346
6519
  var import_stream_json8 = __toESM(require_stream_json(), 1);
6347
6520
  var import_Pick7 = __toESM(require_Pick(), 1);
6348
6521
  var import_StreamValues7 = __toESM(require_StreamValues(), 1);
@@ -6932,21 +7105,21 @@ function isRecord(value) {
6932
7105
  function hasOwn(value, key) {
6933
7106
  return Object.prototype.hasOwnProperty.call(value, key);
6934
7107
  }
6935
- function childLocation(location, path25) {
6936
- return { ...location, path: path25 };
7108
+ function childLocation(location, path26) {
7109
+ return { ...location, path: path26 };
6937
7110
  }
6938
- function validateRequiredString(state, value, path25, location) {
7111
+ function validateRequiredString(state, value, path26, location) {
6939
7112
  if (typeof value === "string" && value.trim().length > 0) return true;
6940
- addIssue(state, "error", "INVALID_REQUIRED_STRING", "Expected a non-empty string.", childLocation(location, path25));
7113
+ addIssue(state, "error", "INVALID_REQUIRED_STRING", "Expected a non-empty string.", childLocation(location, path26));
6941
7114
  return false;
6942
7115
  }
6943
- function validateOptionalString(state, object, key, path25, location) {
7116
+ function validateOptionalString(state, object, key, path26, location) {
6944
7117
  if (!hasOwn(object, key)) return;
6945
7118
  if (typeof object[key] !== "string") {
6946
- addIssue(state, "error", "INVALID_OPTIONAL_STRING", "Expected a string.", childLocation(location, path25));
7119
+ addIssue(state, "error", "INVALID_OPTIONAL_STRING", "Expected a string.", childLocation(location, path26));
6947
7120
  }
6948
7121
  }
6949
- function validateUnixSeconds(state, value, path25, location) {
7122
+ function validateUnixSeconds(state, value, path26, location) {
6950
7123
  if (typeof value === "number" && Number.isInteger(value) && value >= 0 && value < MAX_UNIX_SECONDS) {
6951
7124
  return true;
6952
7125
  }
@@ -6955,7 +7128,7 @@ function validateUnixSeconds(state, value, path25, location) {
6955
7128
  "error",
6956
7129
  "INVALID_UNIX_SECONDS",
6957
7130
  "Expected a non-negative integer Unix timestamp in seconds, not milliseconds.",
6958
- childLocation(location, path25)
7131
+ childLocation(location, path26)
6959
7132
  );
6960
7133
  return false;
6961
7134
  }
@@ -7016,30 +7189,30 @@ function validateHeader(state, chatlab, meta, location, basePath = "") {
7016
7189
  }
7017
7190
  validateOptionalString(state, meta, "sourceSessionId", `${basePath}meta.sourceSessionId`, location);
7018
7191
  }
7019
- function validateMember(state, value, path25, location) {
7192
+ function validateMember(state, value, path26, location) {
7020
7193
  state.stats.memberCount++;
7021
7194
  if (!isRecord(value)) {
7022
- addIssue(state, "error", "INVALID_MEMBER", "Expected a member object.", childLocation(location, path25));
7195
+ addIssue(state, "error", "INVALID_MEMBER", "Expected a member object.", childLocation(location, path26));
7023
7196
  return;
7024
7197
  }
7025
- if (validateRequiredString(state, value.platformId, `${path25}.platformId`, location)) {
7198
+ if (validateRequiredString(state, value.platformId, `${path26}.platformId`, location)) {
7026
7199
  if (state.memberIds.has(value.platformId)) {
7027
7200
  addIssue(state, "error", "DUPLICATE_MEMBER_ID", "Member platformId must be unique.", {
7028
7201
  ...location,
7029
- path: `${path25}.platformId`
7202
+ path: `${path26}.platformId`
7030
7203
  });
7031
7204
  } else {
7032
7205
  state.memberIds.add(value.platformId);
7033
7206
  }
7034
7207
  }
7035
- validateRequiredString(state, value.accountName, `${path25}.accountName`, location);
7036
- validateOptionalString(state, value, "groupNickname", `${path25}.groupNickname`, location);
7037
- validateOptionalString(state, value, "avatar", `${path25}.avatar`, location);
7208
+ validateRequiredString(state, value.accountName, `${path26}.accountName`, location);
7209
+ validateOptionalString(state, value, "groupNickname", `${path26}.groupNickname`, location);
7210
+ validateOptionalString(state, value, "avatar", `${path26}.avatar`, location);
7038
7211
  if (hasOwn(value, "aliases")) {
7039
7212
  if (!Array.isArray(value.aliases) || value.aliases.some((alias) => typeof alias !== "string")) {
7040
7213
  addIssue(state, "error", "INVALID_ALIASES", "Expected aliases to be an array of strings.", {
7041
7214
  ...location,
7042
- path: `${path25}.aliases`
7215
+ path: `${path26}.aliases`
7043
7216
  });
7044
7217
  }
7045
7218
  }
@@ -7047,11 +7220,11 @@ function validateMember(state, value, path25, location) {
7047
7220
  if (!Array.isArray(value.roles)) {
7048
7221
  addIssue(state, "error", "INVALID_ROLES", "Expected roles to be an array.", {
7049
7222
  ...location,
7050
- path: `${path25}.roles`
7223
+ path: `${path26}.roles`
7051
7224
  });
7052
7225
  } else {
7053
7226
  value.roles.forEach((role, index) => {
7054
- const rolePath = `${path25}.roles[${index}]`;
7227
+ const rolePath = `${path26}.roles[${index}]`;
7055
7228
  if (!isRecord(role)) {
7056
7229
  addIssue(state, "error", "INVALID_ROLE", "Expected a role object.", {
7057
7230
  ...location,
@@ -7065,25 +7238,25 @@ function validateMember(state, value, path25, location) {
7065
7238
  }
7066
7239
  }
7067
7240
  }
7068
- function validateMessage(state, value, path25, location) {
7241
+ function validateMessage(state, value, path26, location) {
7069
7242
  state.stats.messageCount++;
7070
7243
  if (!isRecord(value)) {
7071
- addIssue(state, "error", "INVALID_MESSAGE", "Expected a message object.", childLocation(location, path25));
7244
+ addIssue(state, "error", "INVALID_MESSAGE", "Expected a message object.", childLocation(location, path26));
7072
7245
  return;
7073
7246
  }
7074
- const sender = validateRequiredString(state, value.sender, `${path25}.sender`, location) ? value.sender : void 0;
7247
+ const sender = validateRequiredString(state, value.sender, `${path26}.sender`, location) ? value.sender : void 0;
7075
7248
  if (sender !== void 0) {
7076
7249
  state.senderIds.add(sender);
7077
7250
  }
7078
- validateRequiredString(state, value.accountName, `${path25}.accountName`, location);
7079
- if (validateUnixSeconds(state, value.timestamp, `${path25}.timestamp`, location)) {
7251
+ validateRequiredString(state, value.accountName, `${path26}.accountName`, location);
7252
+ if (validateUnixSeconds(state, value.timestamp, `${path26}.timestamp`, location)) {
7080
7253
  if (state.lastTimestamp !== void 0 && value.timestamp < state.lastTimestamp) {
7081
7254
  addIssue(
7082
7255
  state,
7083
7256
  "warning",
7084
7257
  "OUT_OF_ORDER_TIMESTAMP",
7085
7258
  "Messages should be ordered by timestamp ascending.",
7086
- childLocation(location, `${path25}.timestamp`)
7259
+ childLocation(location, `${path26}.timestamp`)
7087
7260
  );
7088
7261
  }
7089
7262
  state.lastTimestamp = value.timestamp;
@@ -7092,7 +7265,7 @@ function validateMessage(state, value, path25, location) {
7092
7265
  if (messageType === void 0) {
7093
7266
  addIssue(state, "error", "INVALID_MESSAGE_TYPE", "Expected a supported numeric ChatLab message type.", {
7094
7267
  ...location,
7095
- path: `${path25}.type`
7268
+ path: `${path26}.type`
7096
7269
  });
7097
7270
  } else if (sender === SYSTEM_SENDER_ID && !SYSTEM_SENDER_MESSAGE_TYPES.has(messageType)) {
7098
7271
  addIssue(
@@ -7100,22 +7273,22 @@ function validateMessage(state, value, path25, location) {
7100
7273
  "error",
7101
7274
  "INVALID_SYSTEM_SENDER_TYPE",
7102
7275
  "The reserved SYSTEM sender is only valid for system and recall messages.",
7103
- childLocation(location, `${path25}.sender`)
7276
+ childLocation(location, `${path26}.sender`)
7104
7277
  );
7105
7278
  }
7106
7279
  if (!hasOwn(value, "content") || typeof value.content !== "string" && value.content !== null) {
7107
7280
  addIssue(state, "error", "INVALID_MESSAGE_CONTENT", "Expected content to be a string or null.", {
7108
7281
  ...location,
7109
- path: `${path25}.content`
7282
+ path: `${path26}.content`
7110
7283
  });
7111
7284
  }
7112
- validateOptionalString(state, value, "groupNickname", `${path25}.groupNickname`, location);
7285
+ validateOptionalString(state, value, "groupNickname", `${path26}.groupNickname`, location);
7113
7286
  if (hasOwn(value, "platformMessageId")) {
7114
- if (validateRequiredString(state, value.platformMessageId, `${path25}.platformMessageId`, location)) {
7287
+ if (validateRequiredString(state, value.platformMessageId, `${path26}.platformMessageId`, location)) {
7115
7288
  if (state.messageIds.has(value.platformMessageId)) {
7116
7289
  addIssue(state, "error", "DUPLICATE_MESSAGE_ID", "platformMessageId must be unique.", {
7117
7290
  ...location,
7118
- path: `${path25}.platformMessageId`
7291
+ path: `${path26}.platformMessageId`
7119
7292
  });
7120
7293
  } else {
7121
7294
  state.messageIds.add(value.platformMessageId);
@@ -7123,7 +7296,7 @@ function validateMessage(state, value, path25, location) {
7123
7296
  }
7124
7297
  }
7125
7298
  if (hasOwn(value, "replyToMessageId")) {
7126
- if (validateRequiredString(state, value.replyToMessageId, `${path25}.replyToMessageId`, location)) {
7299
+ if (validateRequiredString(state, value.replyToMessageId, `${path26}.replyToMessageId`, location)) {
7127
7300
  state.replyTargetIds.add(value.replyToMessageId);
7128
7301
  }
7129
7302
  }
@@ -13356,7 +13529,7 @@ async function createProxyFetch(proxyUrl) {
13356
13529
  `SOCKS proxy is not supported for local embedding model downloads: ${parsed.protocol}//${parsed.host}`
13357
13530
  );
13358
13531
  }
13359
- const { fetch: undiciFetch, ProxyAgent } = await import("./undici-MU5I3L6Q.mjs");
13532
+ const { fetch: undiciFetch, ProxyAgent } = await import("./undici-UGXDRJLV.mjs");
13360
13533
  const dispatcher = new ProxyAgent(proxyUrl);
13361
13534
  return ((input, init) => {
13362
13535
  const nextInit = { ...init, dispatcher };
@@ -15558,9 +15731,128 @@ function createLocalEmbeddingRuntimeManager(options2) {
15558
15731
  return new LocalEmbeddingRuntimeManager(options2);
15559
15732
  }
15560
15733
 
15561
- // ../../packages/node-runtime/src/services/merge-cache.ts
15734
+ // ../../packages/node-runtime/src/services/navigation-layout-service.ts
15562
15735
  import * as fs33 from "fs";
15563
15736
  import * as path24 from "path";
15737
+ var NAVIGATION_LAYOUT_FILE = "navigation-layout.json";
15738
+ var NavigationLayoutValidationError = class extends Error {
15739
+ constructor(message) {
15740
+ super(message);
15741
+ this.name = "NavigationLayoutValidationError";
15742
+ }
15743
+ };
15744
+ function createNavigationLayoutService(systemDir) {
15745
+ const settingsDir = path24.join(systemDir, "settings");
15746
+ const filePath = path24.join(settingsDir, NAVIGATION_LAYOUT_FILE);
15747
+ return {
15748
+ load() {
15749
+ if (!fs33.existsSync(filePath)) return { status: "missing", layout: null };
15750
+ try {
15751
+ const layout = normalizeNavigationLayout(JSON.parse(fs33.readFileSync(filePath, "utf-8")));
15752
+ return { status: "saved", layout };
15753
+ } catch (error) {
15754
+ appLogger.warn("navigation-layout", "Saved navigation layout is invalid; using plugin defaults", error);
15755
+ return { status: "invalid", layout: null };
15756
+ }
15757
+ },
15758
+ save(input) {
15759
+ const layout = normalizeNavigationLayout(input);
15760
+ fs33.mkdirSync(settingsDir, { recursive: true });
15761
+ const tempPath = path24.join(settingsDir, `.navigation-layout.${process.pid}.${Date.now()}.tmp`);
15762
+ try {
15763
+ fs33.writeFileSync(tempPath, `${JSON.stringify(layout, null, 2)}
15764
+ `, "utf-8");
15765
+ fs33.renameSync(tempPath, filePath);
15766
+ } finally {
15767
+ if (fs33.existsSync(tempPath)) fs33.rmSync(tempPath, { force: true });
15768
+ }
15769
+ appLogger.info("navigation-layout", "Navigation layout saved");
15770
+ return layout;
15771
+ },
15772
+ reset() {
15773
+ if (fs33.existsSync(filePath)) fs33.rmSync(filePath);
15774
+ appLogger.info("navigation-layout", "Navigation layout reset to plugin defaults");
15775
+ }
15776
+ };
15777
+ }
15778
+ function normalizeNavigationLayout(input) {
15779
+ const record = requireRecord(input, "layout");
15780
+ if (record.schemaVersion !== NAVIGATION_LAYOUT_SCHEMA_VERSION) {
15781
+ throw new NavigationLayoutValidationError(
15782
+ `Unsupported navigation layout schema version: ${String(record.schemaVersion)}`
15783
+ );
15784
+ }
15785
+ if (!Array.isArray(record.primary))
15786
+ throw new NavigationLayoutValidationError("Navigation layout primary must be an array");
15787
+ if (!Array.isArray(record.hiddenEntryIds)) {
15788
+ throw new NavigationLayoutValidationError("Navigation layout hiddenEntryIds must be an array");
15789
+ }
15790
+ const groupIds = /* @__PURE__ */ new Set();
15791
+ const visibleEntryIds = /* @__PURE__ */ new Set();
15792
+ const primary = record.primary.map((item, index) => normalizePrimaryItem(item, index, groupIds, visibleEntryIds));
15793
+ const hiddenEntryIds = normalizeUniqueIds(record.hiddenEntryIds, "hiddenEntryIds");
15794
+ for (const entryId of hiddenEntryIds) {
15795
+ if (visibleEntryIds.has(entryId)) {
15796
+ throw new NavigationLayoutValidationError(`Navigation entry "${entryId}" cannot be both visible and hidden`);
15797
+ }
15798
+ }
15799
+ return { schemaVersion: NAVIGATION_LAYOUT_SCHEMA_VERSION, primary, hiddenEntryIds };
15800
+ }
15801
+ function normalizePrimaryItem(input, index, groupIds, visibleEntryIds) {
15802
+ const item = requireRecord(input, `primary[${index}]`);
15803
+ if (item.kind === "entry") {
15804
+ const entryId = requireId(item.entryId, `primary[${index}].entryId`);
15805
+ addUnique(visibleEntryIds, entryId, "navigation entry");
15806
+ return { kind: "entry", entryId };
15807
+ }
15808
+ if (item.kind === "group") {
15809
+ const id = requireId(item.id, `primary[${index}].id`);
15810
+ addUnique(groupIds, id, "navigation group");
15811
+ if (item.title !== void 0 && (typeof item.title !== "string" || item.title.trim().length === 0)) {
15812
+ throw new NavigationLayoutValidationError(`primary[${index}].title must be a non-empty string when provided`);
15813
+ }
15814
+ if (!Array.isArray(item.children)) {
15815
+ throw new NavigationLayoutValidationError(`primary[${index}].children must be an array`);
15816
+ }
15817
+ const children = normalizeUniqueIds(item.children, `primary[${index}].children`);
15818
+ for (const entryId of children) addUnique(visibleEntryIds, entryId, "navigation entry");
15819
+ return {
15820
+ kind: "group",
15821
+ id,
15822
+ ...typeof item.title === "string" && { title: item.title },
15823
+ children
15824
+ };
15825
+ }
15826
+ throw new NavigationLayoutValidationError(`primary[${index}].kind must be "entry" or "group"`);
15827
+ }
15828
+ function normalizeUniqueIds(input, field) {
15829
+ const ids = /* @__PURE__ */ new Set();
15830
+ return input.map((value, index) => {
15831
+ const id = requireId(value, `${field}[${index}]`);
15832
+ addUnique(ids, id, field);
15833
+ return id;
15834
+ });
15835
+ }
15836
+ function requireRecord(input, field) {
15837
+ if (typeof input !== "object" || input === null || Array.isArray(input)) {
15838
+ throw new NavigationLayoutValidationError(`${field} must be an object`);
15839
+ }
15840
+ return input;
15841
+ }
15842
+ function requireId(input, field) {
15843
+ if (typeof input !== "string" || input.trim().length === 0) {
15844
+ throw new NavigationLayoutValidationError(`${field} must be a non-empty string`);
15845
+ }
15846
+ return input;
15847
+ }
15848
+ function addUnique(ids, id, field) {
15849
+ if (ids.has(id)) throw new NavigationLayoutValidationError(`Duplicate ${field} "${id}"`);
15850
+ ids.add(id);
15851
+ }
15852
+
15853
+ // ../../packages/node-runtime/src/services/merge-cache.ts
15854
+ import * as fs34 from "fs";
15855
+ import * as path25 from "path";
15564
15856
  import * as crypto from "crypto";
15565
15857
  var MergeSessionCache = class {
15566
15858
  cache = /* @__PURE__ */ new Map();
@@ -15569,15 +15861,15 @@ var MergeSessionCache = class {
15569
15861
  constructor(pathProvider, options2) {
15570
15862
  this.tempDir = pathProvider.getTempDir();
15571
15863
  this.nativeBinding = options2?.nativeBinding;
15572
- if (!fs33.existsSync(this.tempDir)) {
15573
- fs33.mkdirSync(this.tempDir, { recursive: true });
15864
+ if (!fs34.existsSync(this.tempDir)) {
15865
+ fs34.mkdirSync(this.tempDir, { recursive: true });
15574
15866
  }
15575
15867
  }
15576
15868
  generateTempDbPath(filename) {
15577
15869
  const ts = Date.now();
15578
15870
  const rand = Math.random().toString(36).slice(2, 8);
15579
15871
  const safeName = filename.replace(/[/\\?%*:|"<>]/g, "_").slice(0, 40);
15580
- return path24.join(this.tempDir, `merge_${safeName}_${ts}_${rand}.db`);
15872
+ return path25.join(this.tempDir, `merge_${safeName}_${ts}_${rand}.db`);
15581
15873
  }
15582
15874
  /** Store a parsed file's temp DB and return a handle for subsequent requests. */
15583
15875
  store(filename, tempDbPath) {
@@ -15588,7 +15880,7 @@ var MergeSessionCache = class {
15588
15880
  /** Open a TempDbReader for a given handle. Caller must close the reader. */
15589
15881
  openReader(handle) {
15590
15882
  const entry = this.cache.get(handle);
15591
- if (!entry || !fs33.existsSync(entry.tempDbPath)) return null;
15883
+ if (!entry || !fs34.existsSync(entry.tempDbPath)) return null;
15592
15884
  const adapter = openBetterSqliteDatabase(entry.tempDbPath, {
15593
15885
  readonly: true,
15594
15886
  nativeBinding: this.nativeBinding
@@ -15633,7 +15925,7 @@ var MergeSessionCache = class {
15633
15925
  };
15634
15926
 
15635
15927
  // ../../packages/node-runtime/src/services/push-importer.ts
15636
- import * as fs34 from "fs";
15928
+ import * as fs35 from "fs";
15637
15929
  var SYSTEM_SENDER_ID3 = "SYSTEM";
15638
15930
  var SYSTEM_MEMBER_NAME2 = "\u7CFB\u7EDF\u6D88\u606F";
15639
15931
  function isRecord4(value) {
@@ -15991,7 +16283,7 @@ async function executePushImportUnlocked(deps, sessionId, payload) {
15991
16283
  return { ok: false, reason: "invalid_payload", message: "sessionId contains invalid characters" };
15992
16284
  }
15993
16285
  const dbPath = deps.getDbPath(sessionId);
15994
- const isNew = !fs34.existsSync(dbPath);
16286
+ const isNew = !fs35.existsSync(dbPath);
15995
16287
  const validationError = validatePayload(payload, isNew);
15996
16288
  if (validationError) {
15997
16289
  return { ok: false, reason: "invalid_payload", message: validationError };
@@ -16224,6 +16516,8 @@ export {
16224
16516
  LOCAL_EMBEDDING_RUNTIME_PACKAGE,
16225
16517
  LOCAL_EMBEDDING_RUNTIME_VERSION,
16226
16518
  createLocalEmbeddingRuntimeManager,
16519
+ NavigationLayoutValidationError,
16520
+ createNavigationLayoutService,
16227
16521
  MergeSessionCache,
16228
16522
  pushImport,
16229
16523
  executePushImportUnlocked,
@@ -16231,4 +16525,4 @@ export {
16231
16525
  hashImportBody,
16232
16526
  ImportIdempotencyCache
16233
16527
  };
16234
- //# sourceMappingURL=chunk-4YPNYQSP.mjs.map
16528
+ //# sourceMappingURL=chunk-FJOGBUXU.mjs.map