@jingyi0605/codingns 0.8.5 → 0.9.0

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 (439) hide show
  1. package/bin/codingns.mjs +7 -156
  2. package/dist/public/assets/AdaptiveButlerPage-B17QiMyT.js +2 -0
  3. package/dist/public/assets/{App-BOHBGFOd.js → App-CFBwDUNA.js} +6 -6
  4. package/dist/public/assets/{BootstrapPage-BxHQT4nA.js → BootstrapPage-W5wU3BPh.js} +1 -1
  5. package/dist/public/assets/{ConversationPage-DWFsF6BB.js → ConversationPage-DQLX1bUh.js} +6 -6
  6. package/dist/public/assets/{DesktopDetachPreviewPage-DOgEjYEf.js → DesktopDetachPreviewPage-DTPeuAW-.js} +1 -1
  7. package/dist/public/assets/DesktopModal-6ii53_Y9.js +1 -0
  8. package/dist/public/assets/DesktopWindowPage-D0blSuKd.js +2 -0
  9. package/dist/public/assets/FileContextPanel-BrKO8Xt6.js +1 -0
  10. package/dist/public/assets/GitSidebar-BdwiDtOr.js +6 -0
  11. package/dist/public/assets/MobileCreateSessionSheet-Cx_dBiBb.js +1 -0
  12. package/dist/public/assets/MobileSheet-opTWyRe1.js +1 -0
  13. package/dist/public/assets/{MobileTopHeaderFrame-lcp2GscV.js → MobileTopHeaderFrame-BbNON3Y4.js} +1 -1
  14. package/dist/public/assets/MobileWorkspaceSwitcherHeader-BZEzPeMj.js +1 -0
  15. package/dist/public/assets/{PluginAccessOverview-DGcKAMQl.js → PluginAccessOverview-mQDmAljp.js} +1 -1
  16. package/dist/public/assets/PluginContainerPage-CcxUJpM4.js +1 -0
  17. package/dist/public/assets/{PluginDetailPage-CAJ7LFpD.js → PluginDetailPage-D5--ACIt.js} +1 -1
  18. package/dist/public/assets/{PluginsListPage-BxZG1NyT.js → PluginsListPage-D_oJxYXT.js} +1 -1
  19. package/dist/public/assets/{RelayConnectEntryPage-CfNO_TIl.js → RelayConnectEntryPage-DROxpnkv.js} +1 -1
  20. package/dist/public/assets/{ServerSettingsModal-by36Z_5k.js → ServerSettingsModal-CUUOPqSe.js} +1 -1
  21. package/dist/public/assets/SessionIndexPage-C2Jxh6Gp.js +1 -0
  22. package/dist/public/assets/SettingsPage-BlAZCHsy.js +2 -0
  23. package/dist/public/assets/{TerminalManagerPanel-NVZRxxmH.js → TerminalManagerPanel-CjzbiWjl.js} +1 -1
  24. package/dist/public/assets/{TerminalPage-C4LNoPBp.js → TerminalPage-CwWyFDj8.js} +2 -2
  25. package/dist/public/assets/TerminalRuntimeFallbackModal-CSVVbO8r.js +1 -0
  26. package/dist/public/assets/{ToolFilesPage-47zbdgTW.js → ToolFilesPage-QBEY8oCf.js} +1 -1
  27. package/dist/public/assets/{ToolGitPage-Fuk_b_jg.js → ToolGitPage-BKoZ2l9v.js} +1 -1
  28. package/dist/public/assets/{ToolProcessesPage-sWSMWD-9.js → ToolProcessesPage-BOH0ib4G.js} +1 -1
  29. package/dist/public/assets/{ToolsHomePage-R1mZlbZi.js → ToolsHomePage-BcMZ3BCQ.js} +1 -1
  30. package/dist/public/assets/{WorkbenchLandingPage-CqmiFH2u.js → WorkbenchLandingPage-B5zoppEl.js} +1 -1
  31. package/dist/public/assets/WorkbenchLayout-BksVkkFF.css +1 -0
  32. package/dist/public/assets/WorkbenchLayout-CikJBS62.js +1019 -0
  33. package/dist/public/assets/{WorkbenchModal-C7qoQElW.js → WorkbenchModal-NGmPgqaE.js} +1 -1
  34. package/dist/public/assets/WorkbenchShellRoute-BbbSOiZw.js +1 -0
  35. package/dist/public/assets/WorkbenchShellRoute-DT3VMjWD.css +1 -0
  36. package/dist/public/assets/WorkspaceDebugDetailPage-CVivdPx5.js +1 -0
  37. package/dist/public/assets/{WorkspaceDetailPage-BPsrFffw.js → WorkspaceDetailPage-DgOSjscR.js} +1 -1
  38. package/dist/public/assets/{WorkspaceHomePage-KAtqZOAb.js → WorkspaceHomePage-HPa7M_Vh.js} +1 -1
  39. package/dist/public/assets/{client-runtime-manager-wmCJZKYd.js → client-runtime-manager-DXbI9K1K.js} +1 -1
  40. package/dist/public/assets/index-BxJPQpFM.css +1 -0
  41. package/dist/public/assets/index-CeXGOT_T.js +50 -0
  42. package/dist/public/assets/{login-direct-candidate-resolver-BOAgTuUf.js → login-direct-candidate-resolver-DkKyFtQJ.js} +1 -1
  43. package/dist/public/assets/{plugin-permission-copy-Cq99cnzV.js → plugin-permission-copy-CzN269Bk.js} +1 -1
  44. package/dist/public/assets/{plugins-api-BQTV5DOp.js → plugins-api-Bv9DHpLF.js} +1 -1
  45. package/dist/public/assets/{preferences-service-DJxbEEeg.js → preferences-service-D2ISL2Zz.js} +1 -1
  46. package/dist/public/assets/{relay-entry-D-LfvdiX.js → relay-entry-Bg0OisQy.js} +1 -1
  47. package/dist/public/assets/{terminal-runtime-meta-BJmy8dyK.js → terminal-runtime-meta-C8t-CIDF.js} +1 -1
  48. package/dist/public/assets/{useRegisteredDebugTemplates-DQAWVdCo.js → useRegisteredDebugTemplates-Bol3NVfN.js} +1 -1
  49. package/dist/public/assets/{workbench-navigation-MEzCSmsK.js → workbench-navigation-B7IjRQd8.js} +1 -1
  50. package/dist/public/index.html +2 -2
  51. package/dist/server/middlewares/auth-guard.js +10 -5
  52. package/dist/server/middlewares/auth-guard.js.map +1 -1
  53. package/dist/server/modules/affairs-indexer/contracts/src/errors/app-error.d.ts +11 -0
  54. package/dist/server/modules/affairs-indexer/contracts/src/errors/app-error.js +22 -0
  55. package/dist/server/modules/affairs-indexer/contracts/src/errors/app-error.js.map +1 -0
  56. package/dist/server/modules/affairs-indexer/contracts/src/errors/error-codes.d.ts +23 -0
  57. package/dist/server/modules/affairs-indexer/contracts/src/errors/error-codes.js +23 -0
  58. package/dist/server/modules/affairs-indexer/contracts/src/errors/error-codes.js.map +1 -0
  59. package/dist/server/modules/affairs-indexer/contracts/src/index.d.ts +4 -0
  60. package/dist/server/modules/affairs-indexer/contracts/src/index.js +5 -0
  61. package/dist/server/modules/affairs-indexer/contracts/src/index.js.map +1 -0
  62. package/dist/server/modules/affairs-indexer/contracts/src/types/cli-command-context.d.ts +7 -0
  63. package/dist/server/modules/affairs-indexer/contracts/src/types/cli-command-context.js +2 -0
  64. package/dist/server/modules/affairs-indexer/contracts/src/types/cli-command-context.js.map +1 -0
  65. package/dist/server/modules/affairs-indexer/contracts/src/types/runtime-config.d.ts +16 -0
  66. package/dist/server/modules/affairs-indexer/contracts/src/types/runtime-config.js +2 -0
  67. package/dist/server/modules/affairs-indexer/contracts/src/types/runtime-config.js.map +1 -0
  68. package/dist/server/modules/affairs-indexer/core/src/config/load-runtime-config.d.ts +10 -0
  69. package/dist/server/modules/affairs-indexer/core/src/config/load-runtime-config.js +215 -0
  70. package/dist/server/modules/affairs-indexer/core/src/config/load-runtime-config.js.map +1 -0
  71. package/dist/server/modules/affairs-indexer/core/src/index.d.ts +31 -0
  72. package/dist/server/modules/affairs-indexer/core/src/index.js +32 -0
  73. package/dist/server/modules/affairs-indexer/core/src/index.js.map +1 -0
  74. package/dist/server/modules/affairs-indexer/core/src/logging/structured-logger.d.ts +20 -0
  75. package/dist/server/modules/affairs-indexer/core/src/logging/structured-logger.js +47 -0
  76. package/dist/server/modules/affairs-indexer/core/src/logging/structured-logger.js.map +1 -0
  77. package/dist/server/modules/affairs-indexer/core/src/parser/base-complex-parser-adapter.d.ts +17 -0
  78. package/dist/server/modules/affairs-indexer/core/src/parser/base-complex-parser-adapter.js +63 -0
  79. package/dist/server/modules/affairs-indexer/core/src/parser/base-complex-parser-adapter.js.map +1 -0
  80. package/dist/server/modules/affairs-indexer/core/src/parser/complex-document-skip-adapter.d.ts +12 -0
  81. package/dist/server/modules/affairs-indexer/core/src/parser/complex-document-skip-adapter.js +42 -0
  82. package/dist/server/modules/affairs-indexer/core/src/parser/complex-document-skip-adapter.js.map +1 -0
  83. package/dist/server/modules/affairs-indexer/core/src/parser/csv-parser-adapter.d.ts +7 -0
  84. package/dist/server/modules/affairs-indexer/core/src/parser/csv-parser-adapter.js +107 -0
  85. package/dist/server/modules/affairs-indexer/core/src/parser/csv-parser-adapter.js.map +1 -0
  86. package/dist/server/modules/affairs-indexer/core/src/parser/document-parser.d.ts +19 -0
  87. package/dist/server/modules/affairs-indexer/core/src/parser/document-parser.js +37 -0
  88. package/dist/server/modules/affairs-indexer/core/src/parser/document-parser.js.map +1 -0
  89. package/dist/server/modules/affairs-indexer/core/src/parser/docx-parser-adapter.d.ts +7 -0
  90. package/dist/server/modules/affairs-indexer/core/src/parser/docx-parser-adapter.js +123 -0
  91. package/dist/server/modules/affairs-indexer/core/src/parser/docx-parser-adapter.js.map +1 -0
  92. package/dist/server/modules/affairs-indexer/core/src/parser/openxml-utils.d.ts +8 -0
  93. package/dist/server/modules/affairs-indexer/core/src/parser/openxml-utils.js +111 -0
  94. package/dist/server/modules/affairs-indexer/core/src/parser/openxml-utils.js.map +1 -0
  95. package/dist/server/modules/affairs-indexer/core/src/parser/parser-adapter.d.ts +42 -0
  96. package/dist/server/modules/affairs-indexer/core/src/parser/parser-adapter.js +2 -0
  97. package/dist/server/modules/affairs-indexer/core/src/parser/parser-adapter.js.map +1 -0
  98. package/dist/server/modules/affairs-indexer/core/src/parser/parser-capability-registry.d.ts +18 -0
  99. package/dist/server/modules/affairs-indexer/core/src/parser/parser-capability-registry.js +91 -0
  100. package/dist/server/modules/affairs-indexer/core/src/parser/parser-capability-registry.js.map +1 -0
  101. package/dist/server/modules/affairs-indexer/core/src/parser/parser-router.d.ts +18 -0
  102. package/dist/server/modules/affairs-indexer/core/src/parser/parser-router.js +59 -0
  103. package/dist/server/modules/affairs-indexer/core/src/parser/parser-router.js.map +1 -0
  104. package/dist/server/modules/affairs-indexer/core/src/parser/parser-skip-repository.d.ts +48 -0
  105. package/dist/server/modules/affairs-indexer/core/src/parser/parser-skip-repository.js +193 -0
  106. package/dist/server/modules/affairs-indexer/core/src/parser/parser-skip-repository.js.map +1 -0
  107. package/dist/server/modules/affairs-indexer/core/src/parser/pdf-parser-adapter.d.ts +7 -0
  108. package/dist/server/modules/affairs-indexer/core/src/parser/pdf-parser-adapter.js +371 -0
  109. package/dist/server/modules/affairs-indexer/core/src/parser/pdf-parser-adapter.js.map +1 -0
  110. package/dist/server/modules/affairs-indexer/core/src/parser/plain-text-parser-adapter.d.ts +10 -0
  111. package/dist/server/modules/affairs-indexer/core/src/parser/plain-text-parser-adapter.js +55 -0
  112. package/dist/server/modules/affairs-indexer/core/src/parser/plain-text-parser-adapter.js.map +1 -0
  113. package/dist/server/modules/affairs-indexer/core/src/parser/plain-text-parser.d.ts +9 -0
  114. package/dist/server/modules/affairs-indexer/core/src/parser/plain-text-parser.js +2 -0
  115. package/dist/server/modules/affairs-indexer/core/src/parser/plain-text-parser.js.map +1 -0
  116. package/dist/server/modules/affairs-indexer/core/src/parser/pptx-parser-adapter.d.ts +7 -0
  117. package/dist/server/modules/affairs-indexer/core/src/parser/pptx-parser-adapter.js +130 -0
  118. package/dist/server/modules/affairs-indexer/core/src/parser/pptx-parser-adapter.js.map +1 -0
  119. package/dist/server/modules/affairs-indexer/core/src/parser/xlsx-parser-adapter.d.ts +7 -0
  120. package/dist/server/modules/affairs-indexer/core/src/parser/xlsx-parser-adapter.js +228 -0
  121. package/dist/server/modules/affairs-indexer/core/src/parser/xlsx-parser-adapter.js.map +1 -0
  122. package/dist/server/modules/affairs-indexer/core/src/repositories/catalog-repository.d.ts +205 -0
  123. package/dist/server/modules/affairs-indexer/core/src/repositories/catalog-repository.js +1471 -0
  124. package/dist/server/modules/affairs-indexer/core/src/repositories/catalog-repository.js.map +1 -0
  125. package/dist/server/modules/affairs-indexer/core/src/repositories/catalog-write-repository.d.ts +161 -0
  126. package/dist/server/modules/affairs-indexer/core/src/repositories/catalog-write-repository.js +1350 -0
  127. package/dist/server/modules/affairs-indexer/core/src/repositories/catalog-write-repository.js.map +1 -0
  128. package/dist/server/modules/affairs-indexer/core/src/scanner/file-scanner.d.ts +32 -0
  129. package/dist/server/modules/affairs-indexer/core/src/scanner/file-scanner.js +208 -0
  130. package/dist/server/modules/affairs-indexer/core/src/scanner/file-scanner.js.map +1 -0
  131. package/dist/server/modules/affairs-indexer/core/src/services/dirty/dirty-scope-resolver.d.ts +30 -0
  132. package/dist/server/modules/affairs-indexer/core/src/services/dirty/dirty-scope-resolver.js +66 -0
  133. package/dist/server/modules/affairs-indexer/core/src/services/dirty/dirty-scope-resolver.js.map +1 -0
  134. package/dist/server/modules/affairs-indexer/core/src/services/export/export-builder.d.ts +33 -0
  135. package/dist/server/modules/affairs-indexer/core/src/services/export/export-builder.js +705 -0
  136. package/dist/server/modules/affairs-indexer/core/src/services/export/export-builder.js.map +1 -0
  137. package/dist/server/modules/affairs-indexer/core/src/services/indexer/allowed-extensions-diff-service.d.ts +80 -0
  138. package/dist/server/modules/affairs-indexer/core/src/services/indexer/allowed-extensions-diff-service.js +193 -0
  139. package/dist/server/modules/affairs-indexer/core/src/services/indexer/allowed-extensions-diff-service.js.map +1 -0
  140. package/dist/server/modules/affairs-indexer/core/src/services/indexer/text-indexer.d.ts +77 -0
  141. package/dist/server/modules/affairs-indexer/core/src/services/indexer/text-indexer.js +467 -0
  142. package/dist/server/modules/affairs-indexer/core/src/services/indexer/text-indexer.js.map +1 -0
  143. package/dist/server/modules/affairs-indexer/core/src/services/mcp/mcp-stdio-server.d.ts +17 -0
  144. package/dist/server/modules/affairs-indexer/core/src/services/mcp/mcp-stdio-server.js +264 -0
  145. package/dist/server/modules/affairs-indexer/core/src/services/mcp/mcp-stdio-server.js.map +1 -0
  146. package/dist/server/modules/affairs-indexer/core/src/services/search/offline-search-service.d.ts +11 -0
  147. package/dist/server/modules/affairs-indexer/core/src/services/search/offline-search-service.js +76 -0
  148. package/dist/server/modules/affairs-indexer/core/src/services/search/offline-search-service.js.map +1 -0
  149. package/dist/server/modules/affairs-indexer/core/src/services/search/search-index-builder.d.ts +26 -0
  150. package/dist/server/modules/affairs-indexer/core/src/services/search/search-index-builder.js +305 -0
  151. package/dist/server/modules/affairs-indexer/core/src/services/search/search-index-builder.js.map +1 -0
  152. package/dist/server/modules/affairs-indexer/core/src/services/tagging/tag-recompute-service.d.ts +53 -0
  153. package/dist/server/modules/affairs-indexer/core/src/services/tagging/tag-recompute-service.js +566 -0
  154. package/dist/server/modules/affairs-indexer/core/src/services/tagging/tag-recompute-service.js.map +1 -0
  155. package/dist/server/modules/affairs-indexer/core/src/services/watch/watch-service.d.ts +47 -0
  156. package/dist/server/modules/affairs-indexer/core/src/services/watch/watch-service.js +227 -0
  157. package/dist/server/modules/affairs-indexer/core/src/services/watch/watch-service.js.map +1 -0
  158. package/dist/server/modules/affairs-indexer/core/src/sqlite/catalog-schema.d.ts +5 -0
  159. package/dist/server/modules/affairs-indexer/core/src/sqlite/catalog-schema.js +245 -0
  160. package/dist/server/modules/affairs-indexer/core/src/sqlite/catalog-schema.js.map +1 -0
  161. package/dist/server/modules/affairs-indexer/core/src/sqlite/detect-catalog-schema.d.ts +14 -0
  162. package/dist/server/modules/affairs-indexer/core/src/sqlite/detect-catalog-schema.js +87 -0
  163. package/dist/server/modules/affairs-indexer/core/src/sqlite/detect-catalog-schema.js.map +1 -0
  164. package/dist/server/modules/affairs-indexer/core/src/sqlite/init-catalog.d.ts +13 -0
  165. package/dist/server/modules/affairs-indexer/core/src/sqlite/init-catalog.js +16 -0
  166. package/dist/server/modules/affairs-indexer/core/src/sqlite/init-catalog.js.map +1 -0
  167. package/dist/server/modules/affairs-indexer/core/src/sqlite/migration-runner.d.ts +22 -0
  168. package/dist/server/modules/affairs-indexer/core/src/sqlite/migration-runner.js +430 -0
  169. package/dist/server/modules/affairs-indexer/core/src/sqlite/migration-runner.js.map +1 -0
  170. package/dist/server/modules/affairs-indexer/core/src/sqlite/open-database.d.ts +9 -0
  171. package/dist/server/modules/affairs-indexer/core/src/sqlite/open-database.js +19 -0
  172. package/dist/server/modules/affairs-indexer/core/src/sqlite/open-database.js.map +1 -0
  173. package/dist/server/modules/affairs-indexer/core/src/tagging/simple-tag-inference.d.ts +21 -0
  174. package/dist/server/modules/affairs-indexer/core/src/tagging/simple-tag-inference.js +94 -0
  175. package/dist/server/modules/affairs-indexer/core/src/tagging/simple-tag-inference.js.map +1 -0
  176. package/dist/server/modules/affairs-indexer/core/src/utils/abort.d.ts +2 -0
  177. package/dist/server/modules/affairs-indexer/core/src/utils/abort.js +13 -0
  178. package/dist/server/modules/affairs-indexer/core/src/utils/abort.js.map +1 -0
  179. package/dist/server/modules/affairs-indexer/core/src/utils/file-streaming.d.ts +9 -0
  180. package/dist/server/modules/affairs-indexer/core/src/utils/file-streaming.js +64 -0
  181. package/dist/server/modules/affairs-indexer/core/src/utils/file-streaming.js.map +1 -0
  182. package/dist/server/modules/affairs-indexer/core/src/utils/root-command-lock.d.ts +10 -0
  183. package/dist/server/modules/affairs-indexer/core/src/utils/root-command-lock.js +230 -0
  184. package/dist/server/modules/affairs-indexer/core/src/utils/root-command-lock.js.map +1 -0
  185. package/dist/server/modules/affairs-indexer/core/src/utils/rss-log.d.ts +2 -0
  186. package/dist/server/modules/affairs-indexer/core/src/utils/rss-log.js +19 -0
  187. package/dist/server/modules/affairs-indexer/core/src/utils/rss-log.js.map +1 -0
  188. package/dist/server/modules/affairs-indexer/internal-command-runner.d.ts +31 -0
  189. package/dist/server/modules/affairs-indexer/internal-command-runner.js +643 -0
  190. package/dist/server/modules/affairs-indexer/internal-command-runner.js.map +1 -0
  191. package/dist/server/modules/assistant-capability/assistant-capability-controller.d.ts +0 -49
  192. package/dist/server/modules/assistant-capability/assistant-capability-controller.js +10 -56
  193. package/dist/server/modules/assistant-capability/assistant-capability-controller.js.map +1 -1
  194. package/dist/server/modules/assistant-capability/assistant-capability-service.d.ts +2 -46
  195. package/dist/server/modules/assistant-capability/assistant-capability-service.js +15 -158
  196. package/dist/server/modules/assistant-capability/assistant-capability-service.js.map +1 -1
  197. package/dist/server/modules/browser-runtime/opencli-bridge-browser-executor.d.ts +4 -2
  198. package/dist/server/modules/browser-runtime/opencli-bridge-browser-executor.js +62 -21
  199. package/dist/server/modules/browser-runtime/opencli-bridge-browser-executor.js.map +1 -1
  200. package/dist/server/modules/butler/butler-control-session-service.d.ts +3 -4
  201. package/dist/server/modules/butler/butler-control-session-service.js +39 -62
  202. package/dist/server/modules/butler/butler-control-session-service.js.map +1 -1
  203. package/dist/server/modules/butler/butler-controller.d.ts +11 -3
  204. package/dist/server/modules/butler/butler-controller.js +19 -4
  205. package/dist/server/modules/butler/butler-controller.js.map +1 -1
  206. package/dist/server/modules/butler/butler-follow-up-service.js.map +1 -1
  207. package/dist/server/modules/butler/butler-profile-service.d.ts +1 -1
  208. package/dist/server/modules/butler/butler-profile-service.js +34 -63
  209. package/dist/server/modules/butler/butler-profile-service.js.map +1 -1
  210. package/dist/server/modules/butler/butler-project-service.d.ts +1 -3
  211. package/dist/server/modules/butler/butler-project-service.js +1 -7
  212. package/dist/server/modules/butler/butler-project-service.js.map +1 -1
  213. package/dist/server/modules/butler/butler-session-service.d.ts +1 -0
  214. package/dist/server/modules/butler/butler-session-service.js +109 -0
  215. package/dist/server/modules/butler/butler-session-service.js.map +1 -1
  216. package/dist/server/modules/butler/butler-session-summary-service.js +0 -2
  217. package/dist/server/modules/butler/butler-session-summary-service.js.map +1 -1
  218. package/dist/server/modules/butler/butler-workspace-context.d.ts +5 -1
  219. package/dist/server/modules/butler/butler-workspace-context.js +21 -12
  220. package/dist/server/modules/butler/butler-workspace-context.js.map +1 -1
  221. package/dist/server/modules/file/file-content-service.d.ts +11 -0
  222. package/dist/server/modules/file/file-content-service.js +55 -0
  223. package/dist/server/modules/file/file-content-service.js.map +1 -1
  224. package/dist/server/modules/file/file-controller.d.ts +26 -1
  225. package/dist/server/modules/file/file-controller.js +59 -4
  226. package/dist/server/modules/file/file-controller.js.map +1 -1
  227. package/dist/server/modules/file/file-preview-link-service.d.ts +1 -0
  228. package/dist/server/modules/file/file-preview-link-service.js +25 -0
  229. package/dist/server/modules/file/file-preview-link-service.js.map +1 -1
  230. package/dist/server/modules/file/file-preview-service.js +15 -4
  231. package/dist/server/modules/file/file-preview-service.js.map +1 -1
  232. package/dist/server/modules/file/file-preview-types.d.ts +9 -1
  233. package/dist/server/modules/file/file-preview-types.js +8 -1
  234. package/dist/server/modules/file/file-preview-types.js.map +1 -1
  235. package/dist/server/modules/file/recent-modified-file-service.d.ts +15 -0
  236. package/dist/server/modules/file/recent-modified-file-service.js +102 -0
  237. package/dist/server/modules/file/recent-modified-file-service.js.map +1 -0
  238. package/dist/server/modules/file/runtime/codingns-workspace-bridge.js +6 -0
  239. package/dist/server/modules/file/workspace-file-bridge-service.d.ts +11 -0
  240. package/dist/server/modules/file/workspace-file-bridge-service.js +19 -0
  241. package/dist/server/modules/file/workspace-file-bridge-service.js.map +1 -1
  242. package/dist/server/modules/file/workspace-index-apply-service.d.ts +25 -0
  243. package/dist/server/modules/file/workspace-index-apply-service.js +42 -0
  244. package/dist/server/modules/file/workspace-index-apply-service.js.map +1 -0
  245. package/dist/server/modules/office/office-controller.d.ts +15 -1
  246. package/dist/server/modules/office/office-controller.js +26 -1
  247. package/dist/server/modules/office/office-controller.js.map +1 -1
  248. package/dist/server/modules/office/onlyoffice-integration-service.d.ts +78 -0
  249. package/dist/server/modules/office/onlyoffice-integration-service.js +610 -0
  250. package/dist/server/modules/office/onlyoffice-integration-service.js.map +1 -0
  251. package/dist/server/modules/plugins/plugin-file-gateway-service.d.ts +12 -0
  252. package/dist/server/modules/plugins/plugin-file-gateway-service.js +13 -0
  253. package/dist/server/modules/plugins/plugin-file-gateway-service.js.map +1 -1
  254. package/dist/server/modules/preferences/profile-service.d.ts +1 -0
  255. package/dist/server/modules/preferences/profile-service.js +27 -3
  256. package/dist/server/modules/preferences/profile-service.js.map +1 -1
  257. package/dist/server/modules/sessions/codex-app-server-helper-process.js +0 -8
  258. package/dist/server/modules/sessions/codex-app-server-helper-process.js.map +1 -1
  259. package/dist/server/modules/sessions/session-controller.d.ts +1 -0
  260. package/dist/server/modules/sessions/session-controller.js +3 -0
  261. package/dist/server/modules/sessions/session-controller.js.map +1 -1
  262. package/dist/server/modules/sessions/session-history-service.d.ts +2 -0
  263. package/dist/server/modules/sessions/session-history-service.js +78 -3
  264. package/dist/server/modules/sessions/session-history-service.js.map +1 -1
  265. package/dist/server/modules/sessions/session-live-runtime-service.d.ts +1 -0
  266. package/dist/server/modules/sessions/session-live-runtime-service.js +4 -0
  267. package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
  268. package/dist/server/modules/sessions/session-permission-request-service.js +0 -4
  269. package/dist/server/modules/sessions/session-permission-request-service.js.map +1 -1
  270. package/dist/server/modules/sessions/workspace-session-instruction-watch-service.d.ts +23 -0
  271. package/dist/server/modules/sessions/workspace-session-instruction-watch-service.js +122 -0
  272. package/dist/server/modules/sessions/workspace-session-instruction-watch-service.js.map +1 -0
  273. package/dist/server/modules/sessions/workspace-session-runtime-context-service.d.ts +15 -0
  274. package/dist/server/modules/sessions/workspace-session-runtime-context-service.js +93 -10
  275. package/dist/server/modules/sessions/workspace-session-runtime-context-service.js.map +1 -1
  276. package/dist/server/modules/skills/builtin-skills/codingns-assistant/SKILL.md +6 -7
  277. package/dist/server/modules/skills/builtin-skills/codingns-assistant/references/cli-workflow.md +2 -3
  278. package/dist/server/modules/system/host-resource-controller.d.ts +7 -0
  279. package/dist/server/modules/system/host-resource-controller.js +12 -0
  280. package/dist/server/modules/system/host-resource-controller.js.map +1 -0
  281. package/dist/server/modules/system/host-resource-service.d.ts +54 -0
  282. package/dist/server/modules/system/host-resource-service.js +162 -0
  283. package/dist/server/modules/system/host-resource-service.js.map +1 -0
  284. package/dist/server/modules/tasks/observability-service.d.ts +12 -2
  285. package/dist/server/modules/tasks/observability-service.js +13 -1
  286. package/dist/server/modules/tasks/observability-service.js.map +1 -1
  287. package/dist/server/modules/tasks/task-helper-client.d.ts +36 -2
  288. package/dist/server/modules/tasks/task-helper-client.js +201 -19
  289. package/dist/server/modules/tasks/task-helper-client.js.map +1 -1
  290. package/dist/server/modules/tasks/task-helper-pool.d.ts +37 -0
  291. package/dist/server/modules/tasks/task-helper-pool.js +173 -0
  292. package/dist/server/modules/tasks/task-helper-pool.js.map +1 -0
  293. package/dist/server/modules/tasks/task-helper-process-handlers.d.ts +27 -0
  294. package/dist/server/modules/tasks/task-helper-process-handlers.js +25 -1
  295. package/dist/server/modules/tasks/task-helper-process-handlers.js.map +1 -1
  296. package/dist/server/modules/tasks/task-helper-process.js +75 -26
  297. package/dist/server/modules/tasks/task-helper-process.js.map +1 -1
  298. package/dist/server/modules/tasks/task-helper-scheduling.d.ts +11 -0
  299. package/dist/server/modules/tasks/task-helper-scheduling.js +43 -0
  300. package/dist/server/modules/tasks/task-helper-scheduling.js.map +1 -0
  301. package/dist/server/modules/tasks/task-lane-executors.js +19 -3
  302. package/dist/server/modules/tasks/task-lane-executors.js.map +1 -1
  303. package/dist/server/modules/tasks/task-manager.d.ts +1 -0
  304. package/dist/server/modules/tasks/task-manager.js +3 -0
  305. package/dist/server/modules/tasks/task-manager.js.map +1 -1
  306. package/dist/server/modules/tasks/task-registry.d.ts +1 -0
  307. package/dist/server/modules/tasks/task-registry.js +3 -0
  308. package/dist/server/modules/tasks/task-registry.js.map +1 -1
  309. package/dist/server/modules/tasks/task-scheduler.d.ts +6 -0
  310. package/dist/server/modules/tasks/task-scheduler.js +162 -7
  311. package/dist/server/modules/tasks/task-scheduler.js.map +1 -1
  312. package/dist/server/modules/tasks/task-types.d.ts +28 -3
  313. package/dist/server/modules/tasks/task-types.js +14 -2
  314. package/dist/server/modules/tasks/task-types.js.map +1 -1
  315. package/dist/server/modules/workbench/affairs-assistant-session-snapshot-service.d.ts +68 -0
  316. package/dist/server/modules/workbench/affairs-assistant-session-snapshot-service.js +286 -0
  317. package/dist/server/modules/workbench/affairs-assistant-session-snapshot-service.js.map +1 -0
  318. package/dist/server/modules/workbench/workbench-controller.js +11 -1
  319. package/dist/server/modules/workbench/workbench-controller.js.map +1 -1
  320. package/dist/server/modules/workbench/workbench-service.d.ts +9 -2
  321. package/dist/server/modules/workbench/workbench-service.js +58 -18
  322. package/dist/server/modules/workbench/workbench-service.js.map +1 -1
  323. package/dist/server/modules/workspace/affairs-library-controller.d.ts +117 -0
  324. package/dist/server/modules/workspace/affairs-library-controller.js +164 -0
  325. package/dist/server/modules/workspace/affairs-library-controller.js.map +1 -0
  326. package/dist/server/modules/workspace/affairs-library-debug-log.d.ts +23 -0
  327. package/dist/server/modules/workspace/affairs-library-debug-log.js +107 -0
  328. package/dist/server/modules/workspace/affairs-library-debug-log.js.map +1 -0
  329. package/dist/server/modules/workspace/affairs-library-dirty-watch-service.d.ts +52 -0
  330. package/dist/server/modules/workspace/affairs-library-dirty-watch-service.js +555 -0
  331. package/dist/server/modules/workspace/affairs-library-dirty-watch-service.js.map +1 -0
  332. package/dist/server/modules/workspace/affairs-library-preview-link-service.d.ts +24 -0
  333. package/dist/server/modules/workspace/affairs-library-preview-link-service.js +157 -0
  334. package/dist/server/modules/workspace/affairs-library-preview-link-service.js.map +1 -0
  335. package/dist/server/modules/workspace/affairs-library-refresh-contract.d.ts +56 -0
  336. package/dist/server/modules/workspace/affairs-library-refresh-contract.js +48 -0
  337. package/dist/server/modules/workspace/affairs-library-refresh-contract.js.map +1 -0
  338. package/dist/server/modules/workspace/affairs-library-service.d.ts +344 -0
  339. package/dist/server/modules/workspace/affairs-library-service.js +3755 -0
  340. package/dist/server/modules/workspace/affairs-library-service.js.map +1 -0
  341. package/dist/server/modules/workspace/affairs-lightweight-session-controller.d.ts +78 -0
  342. package/dist/server/modules/workspace/affairs-lightweight-session-controller.js +146 -0
  343. package/dist/server/modules/workspace/affairs-lightweight-session-controller.js.map +1 -0
  344. package/dist/server/modules/workspace/affairs-lightweight-session-service.d.ts +133 -0
  345. package/dist/server/modules/workspace/affairs-lightweight-session-service.js +1447 -0
  346. package/dist/server/modules/workspace/affairs-lightweight-session-service.js.map +1 -0
  347. package/dist/server/modules/workspace/affairs-tag-controller.d.ts +107 -0
  348. package/dist/server/modules/workspace/affairs-tag-controller.js +97 -0
  349. package/dist/server/modules/workspace/affairs-tag-controller.js.map +1 -0
  350. package/dist/server/modules/workspace/affairs-tag-service.d.ts +153 -0
  351. package/dist/server/modules/workspace/affairs-tag-service.js +680 -0
  352. package/dist/server/modules/workspace/affairs-tag-service.js.map +1 -0
  353. package/dist/server/modules/workspace/workspace-controller.d.ts +2 -1
  354. package/dist/server/modules/workspace/workspace-controller.js +8 -2
  355. package/dist/server/modules/workspace/workspace-controller.js.map +1 -1
  356. package/dist/server/modules/workspace/workspace-service.js +60 -9
  357. package/dist/server/modules/workspace/workspace-service.js.map +1 -1
  358. package/dist/server/routes/affairs.d.ts +3 -0
  359. package/dist/server/routes/affairs.js +7 -0
  360. package/dist/server/routes/affairs.js.map +1 -0
  361. package/dist/server/routes/assistant.js +0 -5
  362. package/dist/server/routes/assistant.js.map +1 -1
  363. package/dist/server/routes/files.js +5 -0
  364. package/dist/server/routes/files.js.map +1 -1
  365. package/dist/server/routes/office.js +4 -0
  366. package/dist/server/routes/office.js.map +1 -1
  367. package/dist/server/routes/system.d.ts +2 -1
  368. package/dist/server/routes/system.js +2 -1
  369. package/dist/server/routes/system.js.map +1 -1
  370. package/dist/server/routes/workspaces.d.ts +4 -1
  371. package/dist/server/routes/workspaces.js +46 -1
  372. package/dist/server/routes/workspaces.js.map +1 -1
  373. package/dist/server/server/create-server.d.ts +6 -2
  374. package/dist/server/server/create-server.js +113 -32
  375. package/dist/server/server/create-server.js.map +1 -1
  376. package/dist/server/shared/http/error-handler.js +10 -0
  377. package/dist/server/shared/http/error-handler.js.map +1 -1
  378. package/dist/server/storage/repositories/affairs-assistant-session-snapshot-repository.d.ts +10 -0
  379. package/dist/server/storage/repositories/affairs-assistant-session-snapshot-repository.js +47 -0
  380. package/dist/server/storage/repositories/affairs-assistant-session-snapshot-repository.js.map +1 -0
  381. package/dist/server/storage/repositories/butler-profile-repository.js +7 -3
  382. package/dist/server/storage/repositories/butler-profile-repository.js.map +1 -1
  383. package/dist/server/storage/repositories/office-onlyoffice-setting-repository.d.ts +19 -0
  384. package/dist/server/storage/repositories/office-onlyoffice-setting-repository.js +55 -0
  385. package/dist/server/storage/repositories/office-onlyoffice-setting-repository.js.map +1 -0
  386. package/dist/server/storage/repositories/session-index-repository.js +9 -2
  387. package/dist/server/storage/repositories/session-index-repository.js.map +1 -1
  388. package/dist/server/storage/repositories/user-affairs-library-setting-repository.d.ts +10 -0
  389. package/dist/server/storage/repositories/user-affairs-library-setting-repository.js +69 -0
  390. package/dist/server/storage/repositories/user-affairs-library-setting-repository.js.map +1 -0
  391. package/dist/server/storage/repositories/user-preference-profile-repository.js +6 -3
  392. package/dist/server/storage/repositories/user-preference-profile-repository.js.map +1 -1
  393. package/dist/server/storage/repositories/workspace-navigation-state-repository.d.ts +3 -0
  394. package/dist/server/storage/repositories/workspace-navigation-state-repository.js +47 -4
  395. package/dist/server/storage/repositories/workspace-navigation-state-repository.js.map +1 -1
  396. package/dist/server/storage/sqlite/client.js +230 -123
  397. package/dist/server/storage/sqlite/client.js.map +1 -1
  398. package/dist/server/storage/sqlite/schema.sql +48 -25
  399. package/dist/server/types/domain.d.ts +27 -20
  400. package/dist/server/ws/workbench-ws-hub.js +2 -2
  401. package/dist/server/ws/workbench-ws-hub.js.map +1 -1
  402. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-permissions.js +0 -2
  403. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-permissions.js.map +1 -1
  404. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +0 -6
  405. package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +1 -1
  406. package/package.json +1 -1
  407. package/dist/public/assets/AdaptiveButlerPage-B153lk5H.css +0 -1
  408. package/dist/public/assets/AdaptiveButlerPage-CJw8Ae62.js +0 -3
  409. package/dist/public/assets/DesktopModal-D_A8sgQU.js +0 -1
  410. package/dist/public/assets/DesktopWindowPage-DK7L7osV.js +0 -2
  411. package/dist/public/assets/FileContextPanel-BdCoubcJ.js +0 -1
  412. package/dist/public/assets/GitSidebar-BeZ0hj7A.js +0 -6
  413. package/dist/public/assets/MobileCreateSessionSheet-DfLMVu8q.js +0 -1
  414. package/dist/public/assets/MobileSheet-5kZ-w-gU.js +0 -1
  415. package/dist/public/assets/MobileWorkspaceSwitcherHeader-C6JMiOq_.js +0 -1
  416. package/dist/public/assets/PluginContainerPage-BlY-xJDh.js +0 -1
  417. package/dist/public/assets/SessionIndexPage-DkBp9Mqz.js +0 -1
  418. package/dist/public/assets/SettingsPage-C-ASmJAG.js +0 -2
  419. package/dist/public/assets/TerminalRuntimeFallbackModal-Bzum5nZ0.js +0 -1
  420. package/dist/public/assets/WorkbenchLayout-OFi6CWgH.js +0 -244
  421. package/dist/public/assets/WorkbenchShellRoute-B4XB8SwG.css +0 -1
  422. package/dist/public/assets/WorkbenchShellRoute-BAQe_E0O.js +0 -1
  423. package/dist/public/assets/WorkspaceDebugDetailPage-DhKa6e9y.js +0 -1
  424. package/dist/public/assets/file-tree-icon-Mg1DiBRX.js +0 -590
  425. package/dist/public/assets/index-C4t-vvqk.css +0 -1
  426. package/dist/public/assets/index-CL97fwWB.js +0 -42
  427. package/dist/public/assets/realtime-client-CLafKzzJ.js +0 -1
  428. package/dist/server/modules/butler/assistant-sandbox-cleanup-scheduler.d.ts +0 -32
  429. package/dist/server/modules/butler/assistant-sandbox-cleanup-scheduler.js +0 -93
  430. package/dist/server/modules/butler/assistant-sandbox-cleanup-scheduler.js.map +0 -1
  431. package/dist/server/modules/butler/assistant-sandbox-service.d.ts +0 -69
  432. package/dist/server/modules/butler/assistant-sandbox-service.js +0 -399
  433. package/dist/server/modules/butler/assistant-sandbox-service.js.map +0 -1
  434. package/dist/server/modules/channels/wechat-claw-client.d.ts +0 -51
  435. package/dist/server/modules/channels/wechat-claw-client.js +0 -245
  436. package/dist/server/modules/channels/wechat-claw-client.js.map +0 -1
  437. package/dist/server/storage/repositories/assistant-sandbox-workspace-repository.d.ts +0 -18
  438. package/dist/server/storage/repositories/assistant-sandbox-workspace-repository.js +0 -191
  439. package/dist/server/storage/repositories/assistant-sandbox-workspace-repository.js.map +0 -1
@@ -1 +1 @@
1
- import{D as c}from"./index-CL97fwWB.js";const l=350,u=2,s={loopback:0,lan:1,tailscale:2,custom:3};async function m(e){var t;const r=e.requestedBaseUrl??e.host.baseUrl;if(!d(e.host,r,e.platform))return r;const n=f(((t=e.host.relayTunnel)==null?void 0:t.candidateEndpoints)??[],r);for(const o of n)if(await y(o.url,e.fetchFn))return o.url;return r}function d(e,r,n){var o;if(n==="web")return!1;const t=e.relayTunnel;return!(t!=null&&t.enabled)||!((o=t.candidateEndpoints)!=null&&o.length)?!1:T(r,e)}function f(e,r){return e.filter(n=>n.kind!=="relay"&&n.url!==r).sort((n,t)=>{if(n.priority!==t.priority)return n.priority-t.priority;const o=s[n.kind],i=s[t.kind];return o!==i?o-i:n.url.localeCompare(t.url)}).slice(0,u)}async function y(e,r=fetch){const n=c("/api/public/bootstrap-status",e),t=typeof AbortController=="function"?new AbortController:null,o=globalThis.setTimeout(()=>{t==null||t.abort()},l);try{const i=await r(n,{method:"GET",signal:t==null?void 0:t.signal});if(!i.ok)return!1;const a=await p(i);return typeof(a==null?void 0:a.initialized)=="boolean"}catch{return!1}finally{globalThis.clearTimeout(o)}}function T(e,r){var o;const n=r.relayTunnel;if(!(n!=null&&n.tunnelDomain))return!1;const t=(o=n.candidateEndpoints)==null?void 0:o.find(i=>i.url===e);if(t)return t.kind==="relay";try{return new URL(e).hostname.toLowerCase()===n.tunnelDomain.trim().toLowerCase()}catch{return!1}}async function p(e){const r=await e.text();if(!r.trim())return null;try{return JSON.parse(r)}catch{return null}}export{m as resolveLoginBaseUrlWithDirectCandidates};
1
+ import{D as c}from"./index-CeXGOT_T.js";const l=350,u=2,s={loopback:0,lan:1,tailscale:2,custom:3};async function m(e){var t;const r=e.requestedBaseUrl??e.host.baseUrl;if(!d(e.host,r,e.platform))return r;const n=f(((t=e.host.relayTunnel)==null?void 0:t.candidateEndpoints)??[],r);for(const o of n)if(await y(o.url,e.fetchFn))return o.url;return r}function d(e,r,n){var o;if(n==="web")return!1;const t=e.relayTunnel;return!(t!=null&&t.enabled)||!((o=t.candidateEndpoints)!=null&&o.length)?!1:T(r,e)}function f(e,r){return e.filter(n=>n.kind!=="relay"&&n.url!==r).sort((n,t)=>{if(n.priority!==t.priority)return n.priority-t.priority;const o=s[n.kind],i=s[t.kind];return o!==i?o-i:n.url.localeCompare(t.url)}).slice(0,u)}async function y(e,r=fetch){const n=c("/api/public/bootstrap-status",e),t=typeof AbortController=="function"?new AbortController:null,o=globalThis.setTimeout(()=>{t==null||t.abort()},l);try{const i=await r(n,{method:"GET",signal:t==null?void 0:t.signal});if(!i.ok)return!1;const a=await p(i);return typeof(a==null?void 0:a.initialized)=="boolean"}catch{return!1}finally{globalThis.clearTimeout(o)}}function T(e,r){var o;const n=r.relayTunnel;if(!(n!=null&&n.tunnelDomain))return!1;const t=(o=n.candidateEndpoints)==null?void 0:o.find(i=>i.url===e);if(t)return t.kind==="relay";try{return new URL(e).hostname.toLowerCase()===n.tunnelDomain.trim().toLowerCase()}catch{return!1}}async function p(e){const r=await e.text();if(!r.trim())return null;try{return JSON.parse(r)}catch{return null}}export{m as resolveLoginBaseUrlWithDirectCandidates};
@@ -1 +1 @@
1
- import{t as e}from"./index-CL97fwWB.js";function n(i){switch(i){case"workspace.read_file":return e("plugins.permissionNameReadFile");case"workspace.list_dir":return e("plugins.permissionNameListDirectory");case"workspace.write_file":return e("plugins.permissionNameWriteFile");case"desktop.open_file":return e("plugins.permissionNameOpenFile");case"desktop.reveal_in_file_manager":return e("plugins.permissionNameRevealInFileManager");default:return i}}function t(i,r){return i==="workspace"?e("plugins.permissionScopeWorkspace"):r?i==="directory"?e("plugins.permissionScopeDirectory",{scopePath:r}):e("plugins.permissionScopeFile",{scopePath:r}):e("plugins.permissionScopeUnknown")}function o(i){switch(i){case"once":return e("plugins.permissionGrantModeOnce");case"session":return e("plugins.permissionGrantModeSession");case"persistent":return e("plugins.permissionGrantModePersistent");default:return i}}export{t as a,o as b,n as g};
1
+ import{t as e}from"./index-CeXGOT_T.js";function n(i){switch(i){case"workspace.read_file":return e("plugins.permissionNameReadFile");case"workspace.list_dir":return e("plugins.permissionNameListDirectory");case"workspace.write_file":return e("plugins.permissionNameWriteFile");case"desktop.open_file":return e("plugins.permissionNameOpenFile");case"desktop.reveal_in_file_manager":return e("plugins.permissionNameRevealInFileManager");default:return i}}function t(i,r){return i==="workspace"?e("plugins.permissionScopeWorkspace"):r?i==="directory"?e("plugins.permissionScopeDirectory",{scopePath:r}):e("plugins.permissionScopeFile",{scopePath:r}):e("plugins.permissionScopeUnknown")}function o(i){switch(i){case"once":return e("plugins.permissionGrantModeOnce");case"session":return e("plugins.permissionGrantModeSession");case"persistent":return e("plugins.permissionGrantModePersistent");default:return i}}export{t as a,o as b,n as g};
@@ -1 +1 @@
1
- import{C as t}from"./index-CL97fwWB.js";function r(){return t.request("/api/plugins")}function u(n){return t.request(`/api/plugins/${encodeURIComponent(n)}`)}function l(n,e){return t.request(`/api/plugins/${encodeURIComponent(n)}/runtime-sessions`,{method:"POST",body:JSON.stringify({workspaceId:e})})}function p(n,e){return t.request(`/api/plugins/${encodeURIComponent(n)}/runtime-sessions/${encodeURIComponent(e)}/close`,{method:"POST"})}function a(n){return t.request(`/api/plugins/${encodeURIComponent(n)}/enable`,{method:"POST"})}function d(n,e){return t.request(`/api/plugins/${encodeURIComponent(n)}/disable`,{method:"POST",body:JSON.stringify({reason:(e==null?void 0:e.trim())||void 0})})}function g(n,e,i,o){return t.request(`/api/plugins/${encodeURIComponent(n)}/actions/${encodeURIComponent(e)}`,{method:"POST",body:JSON.stringify({runtimeSessionId:i,input:o===void 0?null:o})})}function m(n){return t.request(`/api/plugins/${encodeURIComponent(n)}/runs`)}function c(n,e,i){return t.request(`/api/plugins/${encodeURIComponent(n)}/desktop/open-file`,{method:"POST",body:JSON.stringify({runtimeSessionId:e,path:i})})}function f(n,e,i){return t.request(`/api/plugins/${encodeURIComponent(n)}/desktop/reveal-in-file-manager`,{method:"POST",body:JSON.stringify({runtimeSessionId:e,path:i})})}function P(n,e,i){return t.request(`/api/plugins/${encodeURIComponent(n)}/files/read`,{method:"POST",body:JSON.stringify({runtimeSessionId:e,path:i})})}function S(n,e,i,o){return t.request(`/api/plugins/${encodeURIComponent(n)}/files/write`,{method:"POST",body:JSON.stringify({runtimeSessionId:e,path:i,content:o})})}function O(n,e,i){return t.request(`/api/plugins/${encodeURIComponent(n)}/files/list`,{method:"POST",body:JSON.stringify({runtimeSessionId:e,path:(i==null?void 0:i.trim())||void 0})})}function R(n,e){const i=new URLSearchParams({workspaceId:e});return t.request(`/api/plugins/${encodeURIComponent(n)}/permissions/grants?${i.toString()}`)}function y(n,e){return t.request(`/api/plugins/${encodeURIComponent(n)}/permissions/grants`,{method:"POST",body:JSON.stringify(e)})}function C(n,e,i){return t.request(`/api/plugins/${encodeURIComponent(n)}/permissions/grants/${encodeURIComponent(e)}/revoke`,{method:"POST",body:JSON.stringify({workspaceId:i})})}export{m as a,R as b,l as c,d,a as e,p as f,u as g,g as h,O as i,f as j,P as k,r as l,y as m,c as o,C as r,S as w};
1
+ import{C as t}from"./index-CeXGOT_T.js";function r(){return t.request("/api/plugins")}function u(n){return t.request(`/api/plugins/${encodeURIComponent(n)}`)}function l(n,e){return t.request(`/api/plugins/${encodeURIComponent(n)}/runtime-sessions`,{method:"POST",body:JSON.stringify({workspaceId:e})})}function p(n,e){return t.request(`/api/plugins/${encodeURIComponent(n)}/runtime-sessions/${encodeURIComponent(e)}/close`,{method:"POST"})}function a(n){return t.request(`/api/plugins/${encodeURIComponent(n)}/enable`,{method:"POST"})}function d(n,e){return t.request(`/api/plugins/${encodeURIComponent(n)}/disable`,{method:"POST",body:JSON.stringify({reason:(e==null?void 0:e.trim())||void 0})})}function g(n,e,i,o){return t.request(`/api/plugins/${encodeURIComponent(n)}/actions/${encodeURIComponent(e)}`,{method:"POST",body:JSON.stringify({runtimeSessionId:i,input:o===void 0?null:o})})}function m(n){return t.request(`/api/plugins/${encodeURIComponent(n)}/runs`)}function c(n,e,i){return t.request(`/api/plugins/${encodeURIComponent(n)}/desktop/open-file`,{method:"POST",body:JSON.stringify({runtimeSessionId:e,path:i})})}function f(n,e,i){return t.request(`/api/plugins/${encodeURIComponent(n)}/desktop/reveal-in-file-manager`,{method:"POST",body:JSON.stringify({runtimeSessionId:e,path:i})})}function P(n,e,i){return t.request(`/api/plugins/${encodeURIComponent(n)}/files/read`,{method:"POST",body:JSON.stringify({runtimeSessionId:e,path:i})})}function S(n,e,i,o){return t.request(`/api/plugins/${encodeURIComponent(n)}/files/write`,{method:"POST",body:JSON.stringify({runtimeSessionId:e,path:i,content:o})})}function O(n,e,i){return t.request(`/api/plugins/${encodeURIComponent(n)}/files/list`,{method:"POST",body:JSON.stringify({runtimeSessionId:e,path:(i==null?void 0:i.trim())||void 0})})}function R(n,e){const i=new URLSearchParams({workspaceId:e});return t.request(`/api/plugins/${encodeURIComponent(n)}/permissions/grants?${i.toString()}`)}function y(n,e){return t.request(`/api/plugins/${encodeURIComponent(n)}/permissions/grants`,{method:"POST",body:JSON.stringify(e)})}function C(n,e,i){return t.request(`/api/plugins/${encodeURIComponent(n)}/permissions/grants/${encodeURIComponent(e)}/revoke`,{method:"POST",body:JSON.stringify({workspaceId:i})})}export{m as a,R as b,l as c,d,a as e,p as f,u as g,g as h,O as i,f as j,P as k,r as l,y as m,c as o,C as r,S as w};
@@ -1 +1 @@
1
- import{C as e}from"./index-CL97fwWB.js";const r="/api/preferences/profile";async function f(){return e.request(r)}async function o(t){return e.request(r,{method:"PUT",body:JSON.stringify(t)})}export{f as fetchPreferencesProfile,o as updatePreferencesProfile};
1
+ import{C as e}from"./index-CeXGOT_T.js";const r="/api/preferences/profile";async function f(){return e.request(r)}async function o(t){return e.request(r,{method:"PUT",body:JSON.stringify(t)})}export{f as fetchPreferencesProfile,o as updatePreferencesProfile};
@@ -1 +1 @@
1
- import{k as A,n as m}from"./index-CL97fwWB.js";function S(r,t,n){var y;const a=p(t.tunnelDomain),l=m(t.controlBaseUrl),o=w(a,l),s=new Date().toISOString(),e=B(r.hosts,o,t.bindingId??null),c=z(n==null?void 0:n.displayName)??(e==null?void 0:e.name)??a,h={endpointId:`relay-entry:${o}`,kind:"relay",url:o,priority:0,expiresAt:null,source:"user_saved"},E=f(t.candidateEndpoints).filter(d=>d.url!==o),I=(((y=e==null?void 0:e.relayTunnel)==null?void 0:y.candidateEndpoints)??[]).filter(d=>d.url!==o),u={id:(e==null?void 0:e.id)??D(t.bindingId??null,a),name:c,baseUrl:o,kind:"remote",createdAt:(e==null?void 0:e.createdAt)??s,updatedAt:s,lastConnectedAt:(e==null?void 0:e.lastConnectedAt)??null,lastUserId:(e==null?void 0:e.lastUserId)??null,lastUsername:(e==null?void 0:e.lastUsername)??null,relayTunnel:{provider:"codingns_relay",enabled:!0,tunnelDomain:a,controlBaseUrl:l,bindingId:i(t.bindingId??null),hostFingerprint:i(t.hostFingerprint??null),candidateEndpoints:U([h,...E,...I])}},C=e?r.hosts.map(d=>d.id===e.id?u:d):[u,...r.hosts];return{activeHostId:(n==null?void 0:n.activate)===!1?r.activeHostId:u.id,activeDiscoveredHostId:(n==null?void 0:n.activate)===!1?r.activeDiscoveredHostId:null,hosts:C}}async function F(r,t=fetch){var l;const n=A(r);if(!n)return null;const a={tunnelDomain:n.tunnelDomain,controlBaseUrl:n.controlBaseUrl};try{const o=await t(new URL(`/api/v1/tunnels/${encodeURIComponent(n.tunnelDomain)}`,b(n.controlBaseUrl)).toString(),{method:"GET"});if(!o.ok)return a;const e=(await o.json()).binding;return{tunnelDomain:p((e==null?void 0:e.tunnelDomain)??n.tunnelDomain),controlBaseUrl:m((e==null?void 0:e.controlBaseUrl)??n.controlBaseUrl),bindingId:i((e==null?void 0:e.bindingId)??null),hostFingerprint:i((e==null?void 0:e.hostFingerprint)??null),candidateEndpoints:f((l=e==null?void 0:e.runtime)==null?void 0:l.candidateEndpoints)}}catch{return a}}function B(r,t,n){if(n){const a=r.find(l=>{var o;return((o=l.relayTunnel)==null?void 0:o.bindingId)===n})??null;if(a)return a}return r.find(a=>a.baseUrl===t)??null}function D(r,t){return r?`relay-entry:${r}`:`relay-entry:${t}`}function p(r){const t=r.trim().toLowerCase();if(!t||!/^[a-z0-9-]+(\.[a-z0-9-]+)+$/i.test(t))throw new Error("隧道域名无效");return t}function i(r){const t=r==null?void 0:r.trim();return t||null}function z(r){const t=r==null?void 0:r.trim();return t||null}function w(r,t){const n=new URL(t);return n.hostname=r,n.username="",n.password="",n.pathname="",n.search="",n.hash="",m(n.toString())}function b(r){return r.endsWith("/")?r:`${r}/`}function f(r){if(!Array.isArray(r))return[];const t=[];for(const n of r){if(typeof n!="object"||n===null||Array.isArray(n))continue;const a=i(n.endpointId),l=i(n.kind),o=i(n.url),s=n.priority,e=i(n.expiresAt),c=i(n.source);!a||!o||!Number.isFinite(s)||!R(l)||!k(c)||t.push({endpointId:a,kind:l,url:o,priority:Number(s),expiresAt:e,source:c})}return U(t)}function U(r){const t=new Map;for(const n of r)t.has(n.url)||t.set(n.url,n);return Array.from(t.values()).sort((n,a)=>n.priority!==a.priority?n.priority-a.priority:n.url.localeCompare(a.url))}function R(r){return r==="relay"||r==="lan"||r==="loopback"||r==="tailscale"||r==="custom"}function k(r){return r==="host_reported"||r==="desktop_scan"||r==="user_saved"}export{S as b,F as r};
1
+ import{k as A,n as m}from"./index-CeXGOT_T.js";function S(r,t,n){var y;const a=p(t.tunnelDomain),l=m(t.controlBaseUrl),o=w(a,l),s=new Date().toISOString(),e=B(r.hosts,o,t.bindingId??null),c=z(n==null?void 0:n.displayName)??(e==null?void 0:e.name)??a,h={endpointId:`relay-entry:${o}`,kind:"relay",url:o,priority:0,expiresAt:null,source:"user_saved"},E=f(t.candidateEndpoints).filter(d=>d.url!==o),I=(((y=e==null?void 0:e.relayTunnel)==null?void 0:y.candidateEndpoints)??[]).filter(d=>d.url!==o),u={id:(e==null?void 0:e.id)??D(t.bindingId??null,a),name:c,baseUrl:o,kind:"remote",createdAt:(e==null?void 0:e.createdAt)??s,updatedAt:s,lastConnectedAt:(e==null?void 0:e.lastConnectedAt)??null,lastUserId:(e==null?void 0:e.lastUserId)??null,lastUsername:(e==null?void 0:e.lastUsername)??null,relayTunnel:{provider:"codingns_relay",enabled:!0,tunnelDomain:a,controlBaseUrl:l,bindingId:i(t.bindingId??null),hostFingerprint:i(t.hostFingerprint??null),candidateEndpoints:U([h,...E,...I])}},C=e?r.hosts.map(d=>d.id===e.id?u:d):[u,...r.hosts];return{activeHostId:(n==null?void 0:n.activate)===!1?r.activeHostId:u.id,activeDiscoveredHostId:(n==null?void 0:n.activate)===!1?r.activeDiscoveredHostId:null,hosts:C}}async function F(r,t=fetch){var l;const n=A(r);if(!n)return null;const a={tunnelDomain:n.tunnelDomain,controlBaseUrl:n.controlBaseUrl};try{const o=await t(new URL(`/api/v1/tunnels/${encodeURIComponent(n.tunnelDomain)}`,b(n.controlBaseUrl)).toString(),{method:"GET"});if(!o.ok)return a;const e=(await o.json()).binding;return{tunnelDomain:p((e==null?void 0:e.tunnelDomain)??n.tunnelDomain),controlBaseUrl:m((e==null?void 0:e.controlBaseUrl)??n.controlBaseUrl),bindingId:i((e==null?void 0:e.bindingId)??null),hostFingerprint:i((e==null?void 0:e.hostFingerprint)??null),candidateEndpoints:f((l=e==null?void 0:e.runtime)==null?void 0:l.candidateEndpoints)}}catch{return a}}function B(r,t,n){if(n){const a=r.find(l=>{var o;return((o=l.relayTunnel)==null?void 0:o.bindingId)===n})??null;if(a)return a}return r.find(a=>a.baseUrl===t)??null}function D(r,t){return r?`relay-entry:${r}`:`relay-entry:${t}`}function p(r){const t=r.trim().toLowerCase();if(!t||!/^[a-z0-9-]+(\.[a-z0-9-]+)+$/i.test(t))throw new Error("隧道域名无效");return t}function i(r){const t=r==null?void 0:r.trim();return t||null}function z(r){const t=r==null?void 0:r.trim();return t||null}function w(r,t){const n=new URL(t);return n.hostname=r,n.username="",n.password="",n.pathname="",n.search="",n.hash="",m(n.toString())}function b(r){return r.endsWith("/")?r:`${r}/`}function f(r){if(!Array.isArray(r))return[];const t=[];for(const n of r){if(typeof n!="object"||n===null||Array.isArray(n))continue;const a=i(n.endpointId),l=i(n.kind),o=i(n.url),s=n.priority,e=i(n.expiresAt),c=i(n.source);!a||!o||!Number.isFinite(s)||!R(l)||!k(c)||t.push({endpointId:a,kind:l,url:o,priority:Number(s),expiresAt:e,source:c})}return U(t)}function U(r){const t=new Map;for(const n of r)t.has(n.url)||t.set(n.url,n);return Array.from(t.values()).sort((n,a)=>n.priority!==a.priority?n.priority-a.priority:n.url.localeCompare(a.url))}function R(r){return r==="relay"||r==="lan"||r==="loopback"||r==="tailscale"||r==="custom"}function k(r){return r==="host_reported"||r==="desktop_scan"||r==="user_saved"}export{S as b,F as r};
@@ -1 +1 @@
1
- import{C as n,t}from"./index-CL97fwWB.js";function o(){return n.request("/api/terminals/shells")}function m(e){return n.request(`/api/terminals?workspaceId=${encodeURIComponent(e)}`)}function l(e){return n.request(`/api/terminals/templates/runtime-status?workspaceId=${encodeURIComponent(e)}`)}function u(e){return n.request(`/api/terminals/templates/${encodeURIComponent(e)}/stop`,{method:"POST"})}function p(e){return n.request("/api/terminals",{method:"POST",body:JSON.stringify(e)})}function c(e){return n.request(`/api/terminals/${encodeURIComponent(e)}`,{method:"DELETE"})}function d(e){return n.request(`/api/terminals/${encodeURIComponent(e)}/record`,{method:"DELETE"})}function f(e,r={}){const i=new URLSearchParams;typeof r.beforeSeq=="number"&&i.set("beforeSeq",String(r.beforeSeq)),typeof r.limit=="number"&&i.set("limit",String(r.limit));const a=i.toString();return n.request(`/api/terminals/${encodeURIComponent(e)}/history${a?`?${a}`:""}`)}function b(e){return n.request(`/api/terminals/templates?workspaceId=${encodeURIComponent(e)}`)}function h(e){return n.request("/api/terminals/templates",{method:"POST",body:JSON.stringify(e)})}function S(e,r){return n.request(`/api/terminals/templates/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify(r)})}function T(e){return n.request(`/api/terminals/templates/${encodeURIComponent(e)}`,{method:"DELETE"})}function q(e,r){return n.request(`/api/terminals/templates/${encodeURIComponent(e)}/run`,{method:"POST",body:JSON.stringify(r)})}function w(e){return[{value:"",label:t("terminal.runtimeAutoOption"),description:t("terminal.runtimeAutoDescription")},{value:"tmux",label:e==="windows"?t("terminal.runtimePersistentLabel"):"tmux",description:e==="windows"?t("terminal.runtimeWindowsPersistentDescription"):t("terminal.runtimeTmuxDescription")},{value:"embedded-pty",label:"embedded-pty",description:t("terminal.runtimeEmbeddedDescription")}]}function C(e,r){return e?e==="conpty-powershell"?t("terminal.runtimeConptyPowerShellLabel"):e==="conpty-cmd"?t("terminal.runtimeConptyCmdLabel"):e==="conpty-git-bash"?t("terminal.runtimeConptyGitBashLabel"):e==="tmux"&&r==="windows"?t("terminal.runtimePersistentLabel"):e:t("terminal.runtimeAutoOption")}function R(e,r){return e?e==="embedded-pty"?"pty":e==="conpty-powershell"||e==="conpty-cmd"||e==="conpty-git-bash"||e==="tmux"&&r==="windows"?t("terminal.runtimePersistentShortLabel"):e:t("terminal.runtimeAutoShortLabel")}export{l as a,w as b,m as c,o as d,R as e,c as f,C as g,f as h,p as i,d as j,h as k,b as l,T as m,q as r,u as s,S as u};
1
+ import{C as n,t}from"./index-CeXGOT_T.js";function o(){return n.request("/api/terminals/shells")}function m(e){return n.request(`/api/terminals?workspaceId=${encodeURIComponent(e)}`)}function l(e){return n.request(`/api/terminals/templates/runtime-status?workspaceId=${encodeURIComponent(e)}`)}function u(e){return n.request(`/api/terminals/templates/${encodeURIComponent(e)}/stop`,{method:"POST"})}function p(e){return n.request("/api/terminals",{method:"POST",body:JSON.stringify(e)})}function c(e){return n.request(`/api/terminals/${encodeURIComponent(e)}`,{method:"DELETE"})}function d(e){return n.request(`/api/terminals/${encodeURIComponent(e)}/record`,{method:"DELETE"})}function f(e,r={}){const i=new URLSearchParams;typeof r.beforeSeq=="number"&&i.set("beforeSeq",String(r.beforeSeq)),typeof r.limit=="number"&&i.set("limit",String(r.limit));const a=i.toString();return n.request(`/api/terminals/${encodeURIComponent(e)}/history${a?`?${a}`:""}`)}function b(e){return n.request(`/api/terminals/templates?workspaceId=${encodeURIComponent(e)}`)}function h(e){return n.request("/api/terminals/templates",{method:"POST",body:JSON.stringify(e)})}function S(e,r){return n.request(`/api/terminals/templates/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify(r)})}function T(e){return n.request(`/api/terminals/templates/${encodeURIComponent(e)}`,{method:"DELETE"})}function q(e,r){return n.request(`/api/terminals/templates/${encodeURIComponent(e)}/run`,{method:"POST",body:JSON.stringify(r)})}function w(e){return[{value:"",label:t("terminal.runtimeAutoOption"),description:t("terminal.runtimeAutoDescription")},{value:"tmux",label:e==="windows"?t("terminal.runtimePersistentLabel"):"tmux",description:e==="windows"?t("terminal.runtimeWindowsPersistentDescription"):t("terminal.runtimeTmuxDescription")},{value:"embedded-pty",label:"embedded-pty",description:t("terminal.runtimeEmbeddedDescription")}]}function C(e,r){return e?e==="conpty-powershell"?t("terminal.runtimeConptyPowerShellLabel"):e==="conpty-cmd"?t("terminal.runtimeConptyCmdLabel"):e==="conpty-git-bash"?t("terminal.runtimeConptyGitBashLabel"):e==="tmux"&&r==="windows"?t("terminal.runtimePersistentLabel"):e:t("terminal.runtimeAutoOption")}function R(e,r){return e?e==="embedded-pty"?"pty":e==="conpty-powershell"||e==="conpty-cmd"||e==="conpty-git-bash"||e==="tmux"&&r==="windows"?t("terminal.runtimePersistentShortLabel"):e:t("terminal.runtimeAutoShortLabel")}export{l as a,w as b,m as c,o as d,R as e,c as f,C as g,f as h,p as i,d as j,h as k,b as l,T as m,q as r,u as s,S as u};
@@ -1 +1 @@
1
- import{j as l,t as s,b as u}from"./index-CL97fwWB.js";import{y as x,z as k}from"./WorkbenchLayout-OFi6CWgH.js";import{l as j,a as p}from"./terminal-runtime-meta-BJmy8dyK.js";function O({workspace:e,state:r,variant:t}){return e?t==="mobile"?l.jsx(v,{workspace:e,state:r}):l.jsx(P,{workspace:e,state:r}):l.jsx("p",{className:"workbench-section-empty",children:s("shell.workspaceDetailMissingBody")})}function v({workspace:e,state:r}){const t=r.primaryAnalysis,o=r.analyses.length;return l.jsx(l.Fragment,{children:l.jsxs("section",{className:"mobile-feature-panel surface-card mobile-workspace-composition-panel",children:[l.jsx("div",{className:"mobile-feature-section-header",children:l.jsx("div",{children:l.jsx("h2",{children:s("shell.workspaceDetailRegisteredDebugAnalysisTitle")})})}),r.loading&&t===null?l.jsx("p",{children:s("common.loading")}):null,r.error?l.jsx("p",{className:"status-text","data-tone":"error",children:r.error}):null,t?l.jsxs("div",{className:"mobile-detail-grid mobile-workspace-detail-grid",children:[l.jsxs("div",{className:"mobile-detail-metric",children:[l.jsx("span",{children:s("shell.workspaceDetailDebugFrameworkLabel")}),l.jsx("strong",{children:t.primaryFramework??s("common.unknown")})]}),l.jsxs("div",{className:"mobile-detail-metric",children:[l.jsx("span",{children:s("shell.workspaceDetailDebugConfidenceLabel")}),l.jsx("strong",{children:y(t.confidence)})]}),l.jsxs("div",{className:"mobile-detail-metric",children:[l.jsx("span",{children:s("shell.workspaceDetailDebugSummaryServiceCountLabel")}),l.jsx("strong",{children:o})]}),l.jsxs("div",{className:"mobile-detail-metric",children:[l.jsx("span",{children:s("shell.workspaceDetailDebugCompatibilityLabel")}),l.jsx("strong",{children:D(t.compatibilityLevel)})]}),l.jsxs("div",{className:"mobile-detail-metric",children:[l.jsx("span",{children:s("shell.workspaceDetailDebugLastAnalyzedAtLabel")}),l.jsx("strong",{children:r.lastAnalyzedAt??s("shell.workspaceDetailDebugFrameworkNoteEmpty")})]}),l.jsxs("div",{className:"mobile-detail-metric mobile-detail-metric-wide",children:[l.jsx("span",{children:s("shell.manageWorkspacePathLabel")}),l.jsx("strong",{children:e.path})]})]}):null]})})}function P({workspace:e,state:r}){const t=r.primaryAnalysis,o=r.analyses.length;return l.jsxs("section",{className:"debug-readiness-section surface-card",children:[l.jsx("div",{className:"debug-readiness-section-header",children:l.jsxs("div",{children:[l.jsx("h3",{children:s("shell.workspaceDetailRegisteredDebugAnalysisTitle")}),l.jsx("p",{children:s("shell.workspaceDetailRegisteredDebugAnalysisDescription")})]})}),r.loading&&t===null?l.jsx("p",{className:"workbench-section-empty",children:s("common.loading")}):null,r.error?l.jsx("p",{className:"workbench-manage-status status-text","data-tone":"error",children:r.error}):null,t?l.jsxs("div",{className:"debug-readiness-summary-grid",children:[l.jsxs("article",{className:"debug-readiness-summary-card",children:[l.jsx("span",{children:s("shell.workspaceDetailDebugFrameworkLabel")}),l.jsx("strong",{children:t.primaryFramework??s("common.unknown")})]}),l.jsxs("article",{className:"debug-readiness-summary-card",children:[l.jsx("span",{children:s("shell.workspaceDetailDebugConfidenceLabel")}),l.jsx("strong",{children:y(t.confidence)}),l.jsx("small",{children:r.lastAnalyzedAt??s("shell.workspaceDetailDebugFrameworkNoteEmpty")})]}),l.jsxs("article",{className:"debug-readiness-summary-card",children:[l.jsx("span",{children:s("shell.workspaceDetailDebugSummaryServiceCountLabel")}),l.jsx("strong",{children:o})]}),l.jsxs("article",{className:"debug-readiness-summary-card",children:[l.jsx("span",{children:s("shell.workspaceDetailDebugCompatibilityLabel")}),l.jsx("strong",{children:D(t.compatibilityLevel)})]}),l.jsxs("article",{className:"debug-readiness-summary-card",children:[l.jsx("span",{children:s("shell.manageWorkspacePathLabel")}),l.jsx("strong",{title:e.path,children:e.path})]})]}):null]})}function D(e){switch(e){case"supported":return s("shell.workspaceDetailDebugCompatibilitySupported");case"conditional":return s("shell.workspaceDetailDebugCompatibilityConditional");case"unsupported":return s("shell.workspaceDetailDebugCompatibilityUnsupported");default:return s("shell.workspaceDetailDebugCompatibilityUnknown")}}function y(e){switch(e){case"high":return s("shell.workspaceDetailDebugConfidenceHigh");case"medium":return s("shell.workspaceDetailDebugConfidenceMedium");case"low":return s("shell.workspaceDetailDebugConfidenceLow");default:return s("common.unknown")}}function F(e,r,t){const o=new Map(r.map(i=>[i.templateId,i])),c=new Map(((t==null?void 0:t.services)??[]).map(i=>[i.serviceId,i])),a=new Map;for(const i of e)i.port!==null&&a.set(i.port,(a.get(i.port)??0)+1);const n=e.map(i=>{const g=o.get(i.id)??null,m=c.get(i.id)??null;if(m){const w=m.autoStartAllowed?m.leasedPort!==null&&m.leasedPort!==i.port?"orchestrated":"runnable":"blocked";return{template:i,runtimeStatus:g,planItem:m,decision:w,assignedPort:m.leasedPort,reason:A(i,m)}}return i.port===null?{template:i,runtimeStatus:g,planItem:null,decision:"blocked",assignedPort:null,reason:s("shell.workspaceDetailRegisteredDebugPlanReasonPortMissing")}:(a.get(i.port)??0)>1||g!=null&&g.occupied?{template:i,runtimeStatus:g,planItem:null,decision:"orchestrated",assignedPort:i.port,reason:(a.get(i.port)??0)>1?s("shell.workspaceDetailRegisteredDebugPlanReasonDuplicatePortWillOrchestrate"):s("shell.workspaceDetailRegisteredDebugPlanReasonPortOccupiedWillOrchestrate")}:{template:i,runtimeStatus:g,planItem:null,decision:"runnable",assignedPort:i.port,reason:s("shell.workspaceDetailRegisteredDebugPlanReasonRunnable")}}),h=n.filter(i=>i.decision==="runnable").length,b=n.filter(i=>i.decision==="orchestrated").length,d=n.filter(i=>i.decision==="blocked").length;return{generatedAt:(t==null?void 0:t.runtimeSession.createdAt)??new Date().toISOString(),autoStartAllowed:(t==null?void 0:t.autoStartAllowed)??(n.length>0&&d===0),runnableCount:h,orchestratedCount:b,blockedCount:d,items:n}}function R(e){return e.autoStartAllowed&&e.blockedCount===0}function E(e,r){return r===0?"danger":R(e)?"success":"warn"}function z(e,r){return r===0?s("shell.workspaceDetailRegisteredDebugOverallStatusEmpty"):R(e)?s("shell.workspaceDetailRegisteredDebugOverallStatusReady"):s("shell.workspaceDetailRegisteredDebugOverallStatusPartial")}function W(e,r){return r===0?s("shell.workspaceDetailRegisteredDebugTemplatesEmpty"):s("shell.workspaceDetailRegisteredDebugOverallSummary",{runnable:e.runnableCount,orchestrated:e.orchestratedCount,blocked:e.blockedCount})}function $(e){const r=e.args.join(" ").trim();return r?`${e.command} ${r}`:e.command}function B(e,r){const t=r.replace(/[\\/]+$/,"");return e===t?".":e.startsWith(`${t}/`)||e.startsWith(`${t}\\`)?e.slice(t.length+1):e}function V(e){return e===null?s("shell.workspaceDetailRegisteredDebugTemplatePortMissing"):String(e)}function U(e){if(!e)return s("shell.workspaceDetailDebugPortEmpty");const r=new Date(e);return Number.isNaN(r.getTime())?e:new Intl.DateTimeFormat("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}).format(r)}function q(e,r){if(e.port!==null)return r!=null&&r.occupied?"warn":"success"}function H(e,r){return e.port===null?s("shell.workspaceDetailRegisteredDebugTemplateStatusUntracked"):r!=null&&r.occupied?s("shell.workspaceDetailRegisteredDebugTemplateStatusOccupied"):s("shell.workspaceDetailRegisteredDebugTemplateStatusIdle")}function _(e){return e!=null&&e.occupied?e.processId&&e.processName?`PID ${e.processId} · ${e.processName}`:e.processId?`PID ${e.processId}`:e.processName??s("shell.workspaceDetailRegisteredDebugRuntimeUnknown"):s("shell.workspaceDetailRegisteredDebugRuntimeIdle")}function G(e,r){return e.port===null?s("shell.workspaceDetailRegisteredDebugPlanReasonPortMissing"):r!=null&&r.occupied?s("shell.workspaceDetailRegisteredDebugPlanReasonPortOccupiedWillOrchestrate"):s("shell.workspaceDetailRegisteredDebugPlanReasonRunnable")}function J(e){switch(e){case"runnable":return s("shell.workspaceDetailRegisteredDebugPlanActionStart");case"orchestrated":return s("shell.workspaceDetailRegisteredDebugPlanActionOrchestrated");default:return s("shell.workspaceDetailRegisteredDebugPlanActionBlocked")}}function A(e,r){var t;return r.missingRequirements.length>0?r.missingRequirements.map(o=>C(o)).join(";"):(t=r.aiFallback)!=null&&t.eligible?r.aiFallback.reason:r.leasedPort!==null&&r.leasedPort!==e.port?s("shell.workspaceDetailRegisteredDebugPlanReasonPortOrchestrated",{port:r.leasedPort}):Object.keys(r.envPatch).length>0?s("shell.workspaceDetailRegisteredDebugPlanReasonServiceDiscoveryInjected"):s("shell.workspaceDetailRegisteredDebugPlanReasonRunnable")}function C(e){switch(e){case"analysis":return s("shell.workspaceDetailRegisteredDebugPlanReasonAnalysisMissing");case"service_discovery":return s("shell.workspaceDetailRegisteredDebugPlanReasonServiceDiscoveryMissing");case"callback":return s("shell.workspaceDetailRegisteredDebugPlanReasonCallbackMissing");case"port":return s("shell.workspaceDetailRegisteredDebugPlanReasonPortMissing");default:return e}}function K(e){const[r,t]=u.useState({loading:!1,error:null,targetId:null,targetSourceType:null,services:[],analyses:[],matrixItems:[]}),[o,c]=u.useState(0),a=u.useCallback(()=>{c(d=>d+1)},[]);u.useEffect(()=>{if(!(e!=null&&e.id)||!e.path){t({loading:!1,error:null,targetId:null,targetSourceType:null,services:[],analyses:[],matrixItems:[]});return}let d=!1;return t(i=>({...i,loading:!0,error:null})),(async()=>{try{const[i,g]=await Promise.all([x({workspaceId:e.id,rootPath:e.path}),k()]);if(d)return;t({loading:!1,error:null,targetId:i.target.id,targetSourceType:i.target.sourceType,services:i.services,analyses:i.analyses,matrixItems:g.items})}catch(i){if(d)return;t({loading:!1,error:i instanceof Error?i.message:s("shell.workspaceDetailDebugAnalyzeFailed"),targetId:null,targetSourceType:null,services:[],analyses:[],matrixItems:[]})}})(),()=>{d=!0}},[o,e==null?void 0:e.id,e==null?void 0:e.path]);const n=u.useMemo(()=>N(r.services,r.analyses),[r.analyses,r.services]),h=u.useMemo(()=>r.matrixItems.find(d=>d.framework===((n==null?void 0:n.primaryFramework)??"unknown"))??null,[n==null?void 0:n.primaryFramework,r.matrixItems]),b=u.useMemo(()=>{var d;return((d=r.analyses[0])==null?void 0:d.createdAt)??null},[r.analyses]);return{...r,primaryAnalysis:n,currentCompatibilityItem:h,lastAnalyzedAt:b,refresh:a}}function N(e,r){if(r.length===0)return null;const t=new Map(r.filter(c=>c.serviceId).map(c=>[c.serviceId,c]));return[...e].sort((c,a)=>I(c,a)).map(c=>t.get(c.id)??null).find(c=>c!==null)??r[0]??null}function I(e,r){const t=f(e.role)-f(r.role);return t!==0?t:e.name.localeCompare(r.name)}function f(e){switch(e){case"frontend":return 0;case"backend":return 1;case"worker":return 2;case"mock":return 3;default:return 4}}function Q(e){const[r,t]=u.useState({loading:!1,error:null,templates:[],runtimeStatuses:[],lastRefreshedAt:null}),o=u.useCallback(async()=>{if(!(e!=null&&e.id)){t({loading:!1,error:null,templates:[],runtimeStatuses:[],lastRefreshedAt:null});return}t(a=>({...a,loading:!0,error:null}));try{const[a,n]=await Promise.all([j(e.id),p(e.id)]);t({loading:!1,error:null,templates:T(a.items),runtimeStatuses:n.items,lastRefreshedAt:new Date().toISOString()})}catch(a){throw t(n=>({...n,loading:!1,error:a instanceof Error?a.message:s("shell.workspaceDetailRegisteredDebugLoadFailed")})),a}},[e==null?void 0:e.id]),c=u.useCallback(async()=>{if(e!=null&&e.id){t(a=>({...a,loading:!0,error:null}));try{const a=await p(e.id);t(n=>({...n,loading:!1,error:null,runtimeStatuses:a.items,lastRefreshedAt:new Date().toISOString()}))}catch(a){throw t(n=>({...n,loading:!1,error:a instanceof Error?a.message:s("shell.workspaceDetailRegisteredDebugActionRefreshFailed")})),a}}},[e==null?void 0:e.id]);return u.useEffect(()=>{o().catch(()=>{})},[o]),{...r,refreshAll:o,refreshRuntime:c}}function T(e){return[...e].sort((r,t)=>{const o=r.cwd.localeCompare(t.cwd);return o!==0?o:r.name.localeCompare(t.name)})}export{O as D,U as a,F as b,H as c,B as d,V as e,z as f,_ as g,$ as h,G as i,Q as j,W as k,J as l,q as m,E as r,K as u};
1
+ import{j as l,t as s,b as u}from"./index-CeXGOT_T.js";import{D as x,E as k}from"./WorkbenchLayout-CikJBS62.js";import{l as j,a as p}from"./terminal-runtime-meta-C8t-CIDF.js";function O({workspace:e,state:r,variant:t}){return e?t==="mobile"?l.jsx(v,{workspace:e,state:r}):l.jsx(P,{workspace:e,state:r}):l.jsx("p",{className:"workbench-section-empty",children:s("shell.workspaceDetailMissingBody")})}function v({workspace:e,state:r}){const t=r.primaryAnalysis,o=r.analyses.length;return l.jsx(l.Fragment,{children:l.jsxs("section",{className:"mobile-feature-panel surface-card mobile-workspace-composition-panel",children:[l.jsx("div",{className:"mobile-feature-section-header",children:l.jsx("div",{children:l.jsx("h2",{children:s("shell.workspaceDetailRegisteredDebugAnalysisTitle")})})}),r.loading&&t===null?l.jsx("p",{children:s("common.loading")}):null,r.error?l.jsx("p",{className:"status-text","data-tone":"error",children:r.error}):null,t?l.jsxs("div",{className:"mobile-detail-grid mobile-workspace-detail-grid",children:[l.jsxs("div",{className:"mobile-detail-metric",children:[l.jsx("span",{children:s("shell.workspaceDetailDebugFrameworkLabel")}),l.jsx("strong",{children:t.primaryFramework??s("common.unknown")})]}),l.jsxs("div",{className:"mobile-detail-metric",children:[l.jsx("span",{children:s("shell.workspaceDetailDebugConfidenceLabel")}),l.jsx("strong",{children:y(t.confidence)})]}),l.jsxs("div",{className:"mobile-detail-metric",children:[l.jsx("span",{children:s("shell.workspaceDetailDebugSummaryServiceCountLabel")}),l.jsx("strong",{children:o})]}),l.jsxs("div",{className:"mobile-detail-metric",children:[l.jsx("span",{children:s("shell.workspaceDetailDebugCompatibilityLabel")}),l.jsx("strong",{children:f(t.compatibilityLevel)})]}),l.jsxs("div",{className:"mobile-detail-metric",children:[l.jsx("span",{children:s("shell.workspaceDetailDebugLastAnalyzedAtLabel")}),l.jsx("strong",{children:r.lastAnalyzedAt??s("shell.workspaceDetailDebugFrameworkNoteEmpty")})]}),l.jsxs("div",{className:"mobile-detail-metric mobile-detail-metric-wide",children:[l.jsx("span",{children:s("shell.manageWorkspacePathLabel")}),l.jsx("strong",{children:e.path})]})]}):null]})})}function P({workspace:e,state:r}){const t=r.primaryAnalysis,o=r.analyses.length;return l.jsxs("section",{className:"debug-readiness-section surface-card",children:[l.jsx("div",{className:"debug-readiness-section-header",children:l.jsxs("div",{children:[l.jsx("h3",{children:s("shell.workspaceDetailRegisteredDebugAnalysisTitle")}),l.jsx("p",{children:s("shell.workspaceDetailRegisteredDebugAnalysisDescription")})]})}),r.loading&&t===null?l.jsx("p",{className:"workbench-section-empty",children:s("common.loading")}):null,r.error?l.jsx("p",{className:"workbench-manage-status status-text","data-tone":"error",children:r.error}):null,t?l.jsxs("div",{className:"debug-readiness-summary-grid",children:[l.jsxs("article",{className:"debug-readiness-summary-card",children:[l.jsx("span",{children:s("shell.workspaceDetailDebugFrameworkLabel")}),l.jsx("strong",{children:t.primaryFramework??s("common.unknown")})]}),l.jsxs("article",{className:"debug-readiness-summary-card",children:[l.jsx("span",{children:s("shell.workspaceDetailDebugConfidenceLabel")}),l.jsx("strong",{children:y(t.confidence)}),l.jsx("small",{children:r.lastAnalyzedAt??s("shell.workspaceDetailDebugFrameworkNoteEmpty")})]}),l.jsxs("article",{className:"debug-readiness-summary-card",children:[l.jsx("span",{children:s("shell.workspaceDetailDebugSummaryServiceCountLabel")}),l.jsx("strong",{children:o})]}),l.jsxs("article",{className:"debug-readiness-summary-card",children:[l.jsx("span",{children:s("shell.workspaceDetailDebugCompatibilityLabel")}),l.jsx("strong",{children:f(t.compatibilityLevel)})]}),l.jsxs("article",{className:"debug-readiness-summary-card",children:[l.jsx("span",{children:s("shell.manageWorkspacePathLabel")}),l.jsx("strong",{title:e.path,children:e.path})]})]}):null]})}function f(e){switch(e){case"supported":return s("shell.workspaceDetailDebugCompatibilitySupported");case"conditional":return s("shell.workspaceDetailDebugCompatibilityConditional");case"unsupported":return s("shell.workspaceDetailDebugCompatibilityUnsupported");default:return s("shell.workspaceDetailDebugCompatibilityUnknown")}}function y(e){switch(e){case"high":return s("shell.workspaceDetailDebugConfidenceHigh");case"medium":return s("shell.workspaceDetailDebugConfidenceMedium");case"low":return s("shell.workspaceDetailDebugConfidenceLow");default:return s("common.unknown")}}function F(e,r,t){const o=new Map(r.map(i=>[i.templateId,i])),c=new Map(((t==null?void 0:t.services)??[]).map(i=>[i.serviceId,i])),a=new Map;for(const i of e)i.port!==null&&a.set(i.port,(a.get(i.port)??0)+1);const n=e.map(i=>{const g=o.get(i.id)??null,m=c.get(i.id)??null;if(m){const w=m.autoStartAllowed?m.leasedPort!==null&&m.leasedPort!==i.port?"orchestrated":"runnable":"blocked";return{template:i,runtimeStatus:g,planItem:m,decision:w,assignedPort:m.leasedPort,reason:A(i,m)}}return i.port===null?{template:i,runtimeStatus:g,planItem:null,decision:"blocked",assignedPort:null,reason:s("shell.workspaceDetailRegisteredDebugPlanReasonPortMissing")}:(a.get(i.port)??0)>1||g!=null&&g.occupied?{template:i,runtimeStatus:g,planItem:null,decision:"orchestrated",assignedPort:i.port,reason:(a.get(i.port)??0)>1?s("shell.workspaceDetailRegisteredDebugPlanReasonDuplicatePortWillOrchestrate"):s("shell.workspaceDetailRegisteredDebugPlanReasonPortOccupiedWillOrchestrate")}:{template:i,runtimeStatus:g,planItem:null,decision:"runnable",assignedPort:i.port,reason:s("shell.workspaceDetailRegisteredDebugPlanReasonRunnable")}}),h=n.filter(i=>i.decision==="runnable").length,b=n.filter(i=>i.decision==="orchestrated").length,d=n.filter(i=>i.decision==="blocked").length;return{generatedAt:(t==null?void 0:t.runtimeSession.createdAt)??new Date().toISOString(),autoStartAllowed:(t==null?void 0:t.autoStartAllowed)??(n.length>0&&d===0),runnableCount:h,orchestratedCount:b,blockedCount:d,items:n}}function R(e){return e.autoStartAllowed&&e.blockedCount===0}function E(e,r){return r===0?"danger":R(e)?"success":"warn"}function z(e,r){return r===0?s("shell.workspaceDetailRegisteredDebugOverallStatusEmpty"):R(e)?s("shell.workspaceDetailRegisteredDebugOverallStatusReady"):s("shell.workspaceDetailRegisteredDebugOverallStatusPartial")}function W(e,r){return r===0?s("shell.workspaceDetailRegisteredDebugTemplatesEmpty"):s("shell.workspaceDetailRegisteredDebugOverallSummary",{runnable:e.runnableCount,orchestrated:e.orchestratedCount,blocked:e.blockedCount})}function $(e){const r=e.args.join(" ").trim();return r?`${e.command} ${r}`:e.command}function B(e,r){const t=r.replace(/[\\/]+$/,"");return e===t?".":e.startsWith(`${t}/`)||e.startsWith(`${t}\\`)?e.slice(t.length+1):e}function V(e){return e===null?s("shell.workspaceDetailRegisteredDebugTemplatePortMissing"):String(e)}function U(e){if(!e)return s("shell.workspaceDetailDebugPortEmpty");const r=new Date(e);return Number.isNaN(r.getTime())?e:new Intl.DateTimeFormat("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}).format(r)}function q(e,r){if(e.port!==null)return r!=null&&r.occupied?"warn":"success"}function H(e,r){return e.port===null?s("shell.workspaceDetailRegisteredDebugTemplateStatusUntracked"):r!=null&&r.occupied?s("shell.workspaceDetailRegisteredDebugTemplateStatusOccupied"):s("shell.workspaceDetailRegisteredDebugTemplateStatusIdle")}function _(e){return e!=null&&e.occupied?e.processId&&e.processName?`PID ${e.processId} · ${e.processName}`:e.processId?`PID ${e.processId}`:e.processName??s("shell.workspaceDetailRegisteredDebugRuntimeUnknown"):s("shell.workspaceDetailRegisteredDebugRuntimeIdle")}function G(e,r){return e.port===null?s("shell.workspaceDetailRegisteredDebugPlanReasonPortMissing"):r!=null&&r.occupied?s("shell.workspaceDetailRegisteredDebugPlanReasonPortOccupiedWillOrchestrate"):s("shell.workspaceDetailRegisteredDebugPlanReasonRunnable")}function J(e){switch(e){case"runnable":return s("shell.workspaceDetailRegisteredDebugPlanActionStart");case"orchestrated":return s("shell.workspaceDetailRegisteredDebugPlanActionOrchestrated");default:return s("shell.workspaceDetailRegisteredDebugPlanActionBlocked")}}function A(e,r){var t;return r.missingRequirements.length>0?r.missingRequirements.map(o=>C(o)).join(";"):(t=r.aiFallback)!=null&&t.eligible?r.aiFallback.reason:r.leasedPort!==null&&r.leasedPort!==e.port?s("shell.workspaceDetailRegisteredDebugPlanReasonPortOrchestrated",{port:r.leasedPort}):Object.keys(r.envPatch).length>0?s("shell.workspaceDetailRegisteredDebugPlanReasonServiceDiscoveryInjected"):s("shell.workspaceDetailRegisteredDebugPlanReasonRunnable")}function C(e){switch(e){case"analysis":return s("shell.workspaceDetailRegisteredDebugPlanReasonAnalysisMissing");case"service_discovery":return s("shell.workspaceDetailRegisteredDebugPlanReasonServiceDiscoveryMissing");case"callback":return s("shell.workspaceDetailRegisteredDebugPlanReasonCallbackMissing");case"port":return s("shell.workspaceDetailRegisteredDebugPlanReasonPortMissing");default:return e}}function K(e){const[r,t]=u.useState({loading:!1,error:null,targetId:null,targetSourceType:null,services:[],analyses:[],matrixItems:[]}),[o,c]=u.useState(0),a=u.useCallback(()=>{c(d=>d+1)},[]);u.useEffect(()=>{if(!(e!=null&&e.id)||!e.path){t({loading:!1,error:null,targetId:null,targetSourceType:null,services:[],analyses:[],matrixItems:[]});return}let d=!1;return t(i=>({...i,loading:!0,error:null})),(async()=>{try{const[i,g]=await Promise.all([x({workspaceId:e.id,rootPath:e.path}),k()]);if(d)return;t({loading:!1,error:null,targetId:i.target.id,targetSourceType:i.target.sourceType,services:i.services,analyses:i.analyses,matrixItems:g.items})}catch(i){if(d)return;t({loading:!1,error:i instanceof Error?i.message:s("shell.workspaceDetailDebugAnalyzeFailed"),targetId:null,targetSourceType:null,services:[],analyses:[],matrixItems:[]})}})(),()=>{d=!0}},[o,e==null?void 0:e.id,e==null?void 0:e.path]);const n=u.useMemo(()=>N(r.services,r.analyses),[r.analyses,r.services]),h=u.useMemo(()=>r.matrixItems.find(d=>d.framework===((n==null?void 0:n.primaryFramework)??"unknown"))??null,[n==null?void 0:n.primaryFramework,r.matrixItems]),b=u.useMemo(()=>{var d;return((d=r.analyses[0])==null?void 0:d.createdAt)??null},[r.analyses]);return{...r,primaryAnalysis:n,currentCompatibilityItem:h,lastAnalyzedAt:b,refresh:a}}function N(e,r){if(r.length===0)return null;const t=new Map(r.filter(c=>c.serviceId).map(c=>[c.serviceId,c]));return[...e].sort((c,a)=>I(c,a)).map(c=>t.get(c.id)??null).find(c=>c!==null)??r[0]??null}function I(e,r){const t=D(e.role)-D(r.role);return t!==0?t:e.name.localeCompare(r.name)}function D(e){switch(e){case"frontend":return 0;case"backend":return 1;case"worker":return 2;case"mock":return 3;default:return 4}}function Q(e){const[r,t]=u.useState({loading:!1,error:null,templates:[],runtimeStatuses:[],lastRefreshedAt:null}),o=u.useCallback(async()=>{if(!(e!=null&&e.id)){t({loading:!1,error:null,templates:[],runtimeStatuses:[],lastRefreshedAt:null});return}t(a=>({...a,loading:!0,error:null}));try{const[a,n]=await Promise.all([j(e.id),p(e.id)]);t({loading:!1,error:null,templates:T(a.items),runtimeStatuses:n.items,lastRefreshedAt:new Date().toISOString()})}catch(a){throw t(n=>({...n,loading:!1,error:a instanceof Error?a.message:s("shell.workspaceDetailRegisteredDebugLoadFailed")})),a}},[e==null?void 0:e.id]),c=u.useCallback(async()=>{if(e!=null&&e.id){t(a=>({...a,loading:!0,error:null}));try{const a=await p(e.id);t(n=>({...n,loading:!1,error:null,runtimeStatuses:a.items,lastRefreshedAt:new Date().toISOString()}))}catch(a){throw t(n=>({...n,loading:!1,error:a instanceof Error?a.message:s("shell.workspaceDetailRegisteredDebugActionRefreshFailed")})),a}}},[e==null?void 0:e.id]);return u.useEffect(()=>{o().catch(()=>{})},[o]),{...r,refreshAll:o,refreshRuntime:c}}function T(e){return[...e].sort((r,t)=>{const o=r.cwd.localeCompare(t.cwd);return o!==0?o:r.name.localeCompare(t.name)})}export{O as D,U as a,F as b,H as c,B as d,V as e,z as f,_ as g,$ as h,G as i,Q as j,W as k,J as l,q as m,E as r,K as u};
@@ -1 +1 @@
1
- import{j as s,t as g}from"./index-CL97fwWB.js";function X({heading:e,description:t,actions:n,tone:a="default",className:r,children:l}){return s.jsxs("section",{className:d("modal-section",r),"data-tone":a,children:[e||t||n?s.jsxs("div",{className:"modal-section-header",children:[s.jsxs("div",{className:"modal-section-copy",children:[e?s.jsx("strong",{className:"modal-section-heading",children:e}):null,t?s.jsx("p",{className:"modal-section-description",children:t}):null]}),n?s.jsx("div",{className:"modal-section-actions",children:n}):null]}):null,l]})}function Y({label:e,description:t,className:n,htmlFor:a,children:r}){return s.jsxs("div",{className:d("workbench-modal-field","modal-field",n),children:[s.jsxs("div",{className:"modal-field-copy",children:[a?s.jsx("label",{className:"modal-field-label",htmlFor:a,children:e}):s.jsx("span",{className:"modal-field-label",children:e}),t?s.jsx("span",{className:"modal-field-description",children:t}):null]}),r]})}function Z({align:e="end",stack:t=!1,className:n,children:a,...r}){return s.jsx("div",{className:d("workbench-modal-actions","modal-actions",n),"data-align":e,"data-stack":t?"true":void 0,...r,children:a})}function ee({compact:e=!1,className:t,children:n,...a}){return s.jsx("div",{className:d("modal-list",t),"data-compact":e?"true":void 0,...a,children:n})}function te(e){const{as:t="div",label:n,description:a,leading:r,trailing:l,tone:o="default",selected:c=!1,className:u,children:j,...h}=e,b={className:d("modal-list-item",u),"data-tone":o!=="default"?o:void 0,"data-selected":c?"true":void 0,"data-interactive":t==="button"?"true":void 0},P=s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"modal-list-item-main",children:[r?s.jsx("div",{className:"modal-list-item-leading",children:r}):null,s.jsxs("div",{className:"modal-list-item-copy",children:[n?s.jsx("span",{className:"modal-list-item-label",children:n}):null,a?s.jsx("span",{className:"modal-list-item-description",children:a}):null,j]})]}),l?s.jsx("div",{className:"modal-list-item-trailing",children:l}):null]});if(t==="button"){const S=h;return s.jsx("button",{type:S.type??"button",...S,...b,children:P})}return s.jsx("div",{...h,...b,children:P})}function ne({title:e,description:t,action:n,className:a,compact:r=!1}){return s.jsxs("div",{className:d("modal-empty-state",a),"data-compact":r?"true":void 0,children:[s.jsx("strong",{className:"modal-empty-state-title",children:e}),t?s.jsx("p",{className:"modal-empty-state-description",children:t}):null,n?s.jsx("div",{className:"modal-empty-state-action",children:n}):null]})}function ae({tone:e="default",className:t,children:n,...a}){return s.jsx("span",{className:d("modal-tag",t),"data-tone":e!=="default"?e:void 0,...a,children:n})}function d(...e){return e.filter(Boolean).join(" ")}const v={"parallel-group-1":{accent:"#0ea5e9",soft:"rgba(14, 165, 233, 0.16)",surface:"rgba(14, 165, 233, 0.08)"},"parallel-group-2":{accent:"#10b981",soft:"rgba(16, 185, 129, 0.16)",surface:"rgba(16, 185, 129, 0.08)"},"parallel-group-3":{accent:"#f59e0b",soft:"rgba(245, 158, 11, 0.16)",surface:"rgba(245, 158, 11, 0.08)"},"parallel-group-4":{accent:"#ec4899",soft:"rgba(236, 72, 153, 0.16)",surface:"rgba(236, 72, 153, 0.08)"},"parallel-group-5":{accent:"#8b5cf6",soft:"rgba(139, 92, 246, 0.16)",surface:"rgba(139, 92, 246, 0.08)"},"parallel-group-6":{accent:"#f97316",soft:"rgba(249, 115, 22, 0.16)",surface:"rgba(249, 115, 22, 0.08)"}},D=2600,A="workbench.parallel.pane.palette";let f=null;const N=["#34C759","#22C55E","#14B8A6","#06B6D4","#0EA5E9","#3B82F6","#6366F1","#8B5CF6","#A855F7","#D946EF","#EC4899","#F43F5E","#EF4444","#F97316","#F59E0B","#EAB308","#84CC16","#10B981"];function T(e="create"){return e==="append"?{totalDurationMs:1200,sidebarCollapseDurationMs:0,paneEnterDelayMs:0,paneEnterDurationMs:1e3,gridRevealDelayMs:0,gridRevealDurationMs:920,shellExpandDurationMs:0,paneStaggerMs:80}:{totalDurationMs:2e3,sidebarCollapseDurationMs:720,paneEnterDelayMs:520,paneEnterDurationMs:1480,gridRevealDelayMs:420,gridRevealDurationMs:1360,shellExpandDurationMs:720,paneStaggerMs:96}}function $(e){var n,a;const t=(n=e.displayParentSessionId)==null?void 0:n.trim();return t||((a=e.parentSessionId)==null?void 0:a.trim())||null}function re(e){var a;const t=(a=e==null?void 0:e.colorToken)==null?void 0:a.trim();if(!t)return;const n=v[t]??v["parallel-group-1"];return{"--parallel-group-accent":n.accent,"--parallel-group-soft":n.soft,"--parallel-group-surface":n.surface}}function se(e){const t=p(e.overrideColor)??k(e.groupId,e.ordinal);return{"--parallel-group-accent":t,"--parallel-group-soft":I(t,.08),"--parallel-group-surface":I(t,.03)}}function le(e){if(typeof window>"u")return null;const t=e.trim();if(!t)return null;const n=w();return p(n[t]??null)}function oe(e,t){if(typeof window>"u")return p(t);const n=e.trim();if(!n)return null;const a=w(),r=p(t);return r?a[n]=r:delete a[n],window.localStorage.setItem(A,JSON.stringify(a)),r}function k(e,t){const n=N.length,a=Math.abs(R(e))%n;return N[(a+t*5)%n]}function ie(e){return e?e.role==="anchor"?g("shell.parallelGroupAnchorBadge"):g("shell.parallelGroupMemberBadge"):null}function ce(e){return e?g("shell.parallelGroupBadge",{count:e.memberCount}):null}function ue(e){var n;return((n=e==null?void 0:e.branchName)==null?void 0:n.trim())||null}function de(e){var n,a,r;return((a=(n=e==null?void 0:e.parallelGroup)==null?void 0:n.groupId)==null?void 0:a.trim())?((r=e==null?void 0:e.sessionIsolatedWorkspace)==null?void 0:r.lifecycleStatus)!=="promoted":!1}function fe(e,t){return t&&(t.lifecycleStatus==="active"||t.lifecycleStatus==="removing")?t.sourceWorkspaceId:e.workspaceId}function me(e,t){return t&&(t.lifecycleStatus==="active"||t.lifecycleStatus==="promoted")?t.workspaceId:e.workspaceId}function pe(e,t="create"){f={groupId:e,createdAt:Date.now(),...T(t)}}function ge(e){return!f||f.groupId!==e?null:Date.now()-f.createdAt>D?(f=null,null):f}function w(){if(typeof window>"u")return{};const e=window.localStorage.getItem(A);if(!e)return{};try{const t=JSON.parse(e);return!t||typeof t!="object"?{}:t}catch{return{}}}function R(e){let t=0;for(const n of e)t=t*31+n.charCodeAt(0)|0;return t}function p(e){const t=(e==null?void 0:e.trim().toUpperCase())??"";return/^#[0-9A-F]{6}$/.test(t)?t:null}function I(e,t){const n=Math.max(0,Math.min(t,1)),a=Number.parseInt(e.slice(1,3),16),r=Number.parseInt(e.slice(3,5),16),l=Number.parseInt(e.slice(5,7),16);return`rgba(${a}, ${r}, ${l}, ${n})`}function L(e,t){const n=new Map(e.map(l=>[t.getId(l),l])),a=new Map,r=[];for(const l of e){const o=U(l,n,t);if(!o){r.push(l);continue}const c=a.get(o)??[];a.set(o,[...c,l])}return[...r].sort(t.compare).map(l=>y(l,0,a,t,new Set))}function m(e){return Array.isArray(e==null?void 0:e.children)?e.children:[]}function _(e){return e.flatMap(t=>[t.item,..._(m(t))])}function B(e){return e.flatMap(t=>[t,...B(m(t))])}function F(e,t){return e.some(n=>t(n.item)||F(m(n),t))}function x(e,t,n){return e?n(e.item)===t?!0:m(e).some(a=>x(a,t,n)):!1}function O(e,t,n){for(const a of e){const r=n(a.item);if(r===t)return[];const l=O(m(a),t,n);if(x(a,t,n)&&l.length>=0)return[r,...l]}return[]}function y(e,t,n,a,r){const l=a.getId(e),o=new Set(r);o.add(l);const c=[...n.get(l)??[]].filter(u=>!o.has(a.getId(u))).sort(a.compare).map(u=>y(u,t+1,n,a,o));return{item:e,depth:t,children:c}}function U(e,t,n){const a=M(n.getParentId(e));if(!a)return null;const r=t.get(a);if(!r)return null;const l=new Set([n.getId(e)]);let o=r;for(;o;){const c=n.getId(o);if(l.has(c))return null;l.add(c);const u=M(n.getParentId(o));if(!u||(o=t.get(u),!o))return a}return a}function M(e){const t=e==null?void 0:e.trim();return t||null}function he(){return"/workspaces"}function i(e){return`/workspaces/${encodeURIComponent(e)}`}function be(e){return`${i(e)}/debug`}function G(e){return`${i(e)}/sessions`}function W(e,t){return`${G(e)}/${encodeURIComponent(t)}`}function Pe(e,t){const n=`${i(e)}/tools`;if(!t)return n;const a=new URLSearchParams({tab:t});return`${n}?${a.toString()}`}function Se(e){return`${i(e)}/tools/files`}function ve(e){return`${i(e)}/tools/git`}function Ne(e){return`${i(e)}/tools/processes`}function z(e){return`${i(e)}/plugins`}function J(e,t){return`${z(e)}/${encodeURIComponent(t)}`}function Ie(e,t){return`${J(e,t)}/run`}function Me(e){return`${i(e)}/terminals`}function Ae(e,t){const n=`${i(e)}/butler`;if(!t)return n;const a=new URLSearchParams({tab:t});return`${n}?${a.toString()}`}function we(e){return E(e.flatMap(t=>[...t.sessions.map(n=>({session:n,workspace:t.workspace})),...C(t.childWorktrees??[])])).sort((t,n)=>(n.session.lastMessageAt??n.session.updatedAt).localeCompare(t.session.lastMessageAt??t.session.updatedAt))}function xe(e,t){return L(E(e),{getId:n=>n.session.sessionId,getParentId:n=>q(n.session,t),compare:K})}function q(e,t){var n;return(t==null?void 0:t.mode)==="mobile"?((n=e.parentSessionId)==null?void 0:n.trim())||null:$(e)}function ye(e,t){const n=H(),a=new URLSearchParams({provider:t});return`${W(e,n)}?${a.toString()}`}function H(){const e=globalThis.crypto;return e&&typeof e.randomUUID=="function"?`draft-${e.randomUUID()}`:`draft-${Date.now()}-${Math.random().toString(16).slice(2)}`}function K(e,t){return(t.session.lastMessageAt??t.session.updatedAt).localeCompare(e.session.lastMessageAt??e.session.updatedAt)}function C(e){return e.flatMap(t=>[...t.sessions.map(n=>({session:n,workspace:t.workspace})),...C(t.children)])}function E(e){const t=[],n=new Set;for(const a of e){const r=a.session.sessionId.trim();!r||n.has(r)||(n.add(r),t.push(a))}return t}export{le as A,se as B,ue as C,me as D,oe as E,F,ne as G,he as H,de as I,pe as J,J as K,z as L,X as M,Ie as N,ye as O,N as P,L as Q,be as R,$ as S,_ as T,G as a,W as b,Me as c,Pe as d,Ae as e,Ne as f,i as g,Se as h,ve as i,ie as j,re as k,q as l,xe as m,B as n,m as o,O as p,Y as q,ce as r,ee as s,te as t,ae as u,Z as v,we as w,fe as x,T as y,ge as z};
1
+ import{j as s,t as g}from"./index-CeXGOT_T.js";function X({heading:e,description:t,actions:n,tone:a="default",className:r,children:l}){return s.jsxs("section",{className:d("modal-section",r),"data-tone":a,children:[e||t||n?s.jsxs("div",{className:"modal-section-header",children:[s.jsxs("div",{className:"modal-section-copy",children:[e?s.jsx("strong",{className:"modal-section-heading",children:e}):null,t?s.jsx("p",{className:"modal-section-description",children:t}):null]}),n?s.jsx("div",{className:"modal-section-actions",children:n}):null]}):null,l]})}function Y({label:e,description:t,className:n,htmlFor:a,children:r}){return s.jsxs("div",{className:d("workbench-modal-field","modal-field",n),children:[s.jsxs("div",{className:"modal-field-copy",children:[a?s.jsx("label",{className:"modal-field-label",htmlFor:a,children:e}):s.jsx("span",{className:"modal-field-label",children:e}),t?s.jsx("span",{className:"modal-field-description",children:t}):null]}),r]})}function Z({align:e="end",stack:t=!1,className:n,children:a,...r}){return s.jsx("div",{className:d("workbench-modal-actions","modal-actions",n),"data-align":e,"data-stack":t?"true":void 0,...r,children:a})}function ee({compact:e=!1,className:t,children:n,...a}){return s.jsx("div",{className:d("modal-list",t),"data-compact":e?"true":void 0,...a,children:n})}function te(e){const{as:t="div",label:n,description:a,leading:r,trailing:l,tone:o="default",selected:c=!1,className:u,children:j,...h}=e,b={className:d("modal-list-item",u),"data-tone":o!=="default"?o:void 0,"data-selected":c?"true":void 0,"data-interactive":t==="button"?"true":void 0},P=s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"modal-list-item-main",children:[r?s.jsx("div",{className:"modal-list-item-leading",children:r}):null,s.jsxs("div",{className:"modal-list-item-copy",children:[n?s.jsx("span",{className:"modal-list-item-label",children:n}):null,a?s.jsx("span",{className:"modal-list-item-description",children:a}):null,j]})]}),l?s.jsx("div",{className:"modal-list-item-trailing",children:l}):null]});if(t==="button"){const S=h;return s.jsx("button",{type:S.type??"button",...S,...b,children:P})}return s.jsx("div",{...h,...b,children:P})}function ne({title:e,description:t,action:n,className:a,compact:r=!1}){return s.jsxs("div",{className:d("modal-empty-state",a),"data-compact":r?"true":void 0,children:[s.jsx("strong",{className:"modal-empty-state-title",children:e}),t?s.jsx("p",{className:"modal-empty-state-description",children:t}):null,n?s.jsx("div",{className:"modal-empty-state-action",children:n}):null]})}function ae({tone:e="default",className:t,children:n,...a}){return s.jsx("span",{className:d("modal-tag",t),"data-tone":e!=="default"?e:void 0,...a,children:n})}function d(...e){return e.filter(Boolean).join(" ")}const v={"parallel-group-1":{accent:"#0ea5e9",soft:"rgba(14, 165, 233, 0.16)",surface:"rgba(14, 165, 233, 0.08)"},"parallel-group-2":{accent:"#10b981",soft:"rgba(16, 185, 129, 0.16)",surface:"rgba(16, 185, 129, 0.08)"},"parallel-group-3":{accent:"#f59e0b",soft:"rgba(245, 158, 11, 0.16)",surface:"rgba(245, 158, 11, 0.08)"},"parallel-group-4":{accent:"#ec4899",soft:"rgba(236, 72, 153, 0.16)",surface:"rgba(236, 72, 153, 0.08)"},"parallel-group-5":{accent:"#8b5cf6",soft:"rgba(139, 92, 246, 0.16)",surface:"rgba(139, 92, 246, 0.08)"},"parallel-group-6":{accent:"#f97316",soft:"rgba(249, 115, 22, 0.16)",surface:"rgba(249, 115, 22, 0.08)"}},$=2600,A="workbench.parallel.pane.palette";let f=null;const N=["#34C759","#22C55E","#14B8A6","#06B6D4","#0EA5E9","#3B82F6","#6366F1","#8B5CF6","#A855F7","#D946EF","#EC4899","#F43F5E","#EF4444","#F97316","#F59E0B","#EAB308","#84CC16","#10B981"];function D(e="create"){return e==="append"?{totalDurationMs:1200,sidebarCollapseDurationMs:0,paneEnterDelayMs:0,paneEnterDurationMs:1e3,gridRevealDelayMs:0,gridRevealDurationMs:920,shellExpandDurationMs:0,paneStaggerMs:80}:{totalDurationMs:2e3,sidebarCollapseDurationMs:720,paneEnterDelayMs:520,paneEnterDurationMs:1480,gridRevealDelayMs:420,gridRevealDurationMs:1360,shellExpandDurationMs:720,paneStaggerMs:96}}function T(e){var n,a;const t=(n=e.displayParentSessionId)==null?void 0:n.trim();return t||((a=e.parentSessionId)==null?void 0:a.trim())||null}function re(e){var a;const t=(a=e==null?void 0:e.colorToken)==null?void 0:a.trim();if(!t)return;const n=v[t]??v["parallel-group-1"];return{"--parallel-group-accent":n.accent,"--parallel-group-soft":n.soft,"--parallel-group-surface":n.surface}}function se(e){const t=p(e.overrideColor)??k(e.groupId,e.ordinal);return{"--parallel-group-accent":t,"--parallel-group-soft":I(t,.08),"--parallel-group-surface":I(t,.03)}}function le(e){if(typeof window>"u")return null;const t=e.trim();if(!t)return null;const n=w();return p(n[t]??null)}function oe(e,t){if(typeof window>"u")return p(t);const n=e.trim();if(!n)return null;const a=w(),r=p(t);return r?a[n]=r:delete a[n],window.localStorage.setItem(A,JSON.stringify(a)),r}function k(e,t){const n=N.length,a=Math.abs(R(e))%n;return N[(a+t*5)%n]}function ie(e){return e?e.role==="anchor"?g("shell.parallelGroupAnchorBadge"):g("shell.parallelGroupMemberBadge"):null}function ce(e){return e?g("shell.parallelGroupBadge",{count:e.memberCount}):null}function ue(e){var n;return((n=e==null?void 0:e.branchName)==null?void 0:n.trim())||null}function de(e){var n,a,r;return((a=(n=e==null?void 0:e.parallelGroup)==null?void 0:n.groupId)==null?void 0:a.trim())?((r=e==null?void 0:e.sessionIsolatedWorkspace)==null?void 0:r.lifecycleStatus)!=="promoted":!1}function fe(e,t){return t&&(t.lifecycleStatus==="active"||t.lifecycleStatus==="removing")?t.sourceWorkspaceId:e.workspaceId}function me(e,t){return t&&(t.lifecycleStatus==="active"||t.lifecycleStatus==="promoted")?t.workspaceId:e.workspaceId}function pe(e,t="create"){f={groupId:e,createdAt:Date.now(),...D(t)}}function ge(e){return!f||f.groupId!==e?null:Date.now()-f.createdAt>$?(f=null,null):f}function w(){if(typeof window>"u")return{};const e=window.localStorage.getItem(A);if(!e)return{};try{const t=JSON.parse(e);return!t||typeof t!="object"?{}:t}catch{return{}}}function R(e){let t=0;for(const n of e)t=t*31+n.charCodeAt(0)|0;return t}function p(e){const t=(e==null?void 0:e.trim().toUpperCase())??"";return/^#[0-9A-F]{6}$/.test(t)?t:null}function I(e,t){const n=Math.max(0,Math.min(t,1)),a=Number.parseInt(e.slice(1,3),16),r=Number.parseInt(e.slice(3,5),16),l=Number.parseInt(e.slice(5,7),16);return`rgba(${a}, ${r}, ${l}, ${n})`}function L(e,t){const n=new Map(e.map(l=>[t.getId(l),l])),a=new Map,r=[];for(const l of e){const o=O(l,n,t);if(!o){r.push(l);continue}const c=a.get(o)??[];a.set(o,[...c,l])}return[...r].sort(t.compare).map(l=>y(l,0,a,t,new Set))}function m(e){return Array.isArray(e==null?void 0:e.children)?e.children:[]}function U(e){return e.flatMap(t=>[t.item,...U(m(t))])}function _(e){return e.flatMap(t=>[t,..._(m(t))])}function B(e,t){return e.some(n=>t(n.item)||B(m(n),t))}function x(e,t,n){return e?n(e.item)===t?!0:m(e).some(a=>x(a,t,n)):!1}function F(e,t,n){for(const a of e){const r=n(a.item);if(r===t)return[];const l=F(m(a),t,n);if(x(a,t,n)&&l.length>=0)return[r,...l]}return[]}function y(e,t,n,a,r){const l=a.getId(e),o=new Set(r);o.add(l);const c=[...n.get(l)??[]].filter(u=>!o.has(a.getId(u))).sort(a.compare).map(u=>y(u,t+1,n,a,o));return{item:e,depth:t,children:c}}function O(e,t,n){const a=M(n.getParentId(e));if(!a)return null;const r=t.get(a);if(!r)return null;const l=new Set([n.getId(e)]);let o=r;for(;o;){const c=n.getId(o);if(l.has(c))return null;l.add(c);const u=M(n.getParentId(o));if(!u||(o=t.get(u),!o))return a}return a}function M(e){const t=e==null?void 0:e.trim();return t||null}function he(){return"/workspaces"}function i(e){return`/workspaces/${encodeURIComponent(e)}`}function be(e){return`${i(e)}/debug`}function G(e){return`${i(e)}/sessions`}function W(e,t){return`${G(e)}/${encodeURIComponent(t)}`}function Pe(e){return`${i(e)}/affairs`}function Se(e,t){const n=`${i(e)}/tools`;if(!t)return n;const a=new URLSearchParams({tab:t});return`${n}?${a.toString()}`}function ve(e){return`${i(e)}/tools/files`}function Ne(e){return`${i(e)}/tools/git`}function Ie(e){return`${i(e)}/tools/processes`}function z(e){return`${i(e)}/plugins`}function J(e,t){return`${z(e)}/${encodeURIComponent(t)}`}function Me(e,t){return`${J(e,t)}/run`}function Ae(e){return`${i(e)}/terminals`}function we(e,t){const n=`${i(e)}/butler`;if(!t)return n;const a=new URLSearchParams({tab:t});return`${n}?${a.toString()}`}function xe(e){return E(e.flatMap(t=>[...t.sessions.map(n=>({session:n,workspace:t.workspace})),...C(t.childWorktrees??[])])).sort((t,n)=>(n.session.lastMessageAt??n.session.updatedAt).localeCompare(t.session.lastMessageAt??t.session.updatedAt))}function ye(e,t){return L(E(e),{getId:n=>n.session.sessionId,getParentId:n=>q(n.session,t),compare:K})}function q(e,t){var n;return(t==null?void 0:t.mode)==="mobile"?((n=e.parentSessionId)==null?void 0:n.trim())||null:T(e)}function Ce(e,t){const n=H(),a=new URLSearchParams({provider:t});return`${W(e,n)}?${a.toString()}`}function H(){const e=globalThis.crypto;return e&&typeof e.randomUUID=="function"?`draft-${e.randomUUID()}`:`draft-${Date.now()}-${Math.random().toString(16).slice(2)}`}function K(e,t){return(t.session.lastMessageAt??t.session.updatedAt).localeCompare(e.session.lastMessageAt??e.session.updatedAt)}function C(e){return e.flatMap(t=>[...t.sessions.map(n=>({session:n,workspace:t.workspace})),...C(t.children)])}function E(e){const t=[],n=new Set;for(const a of e){const r=a.session.sessionId.trim();!r||n.has(r)||(n.add(r),t.push(a))}return t}export{ee as A,te as B,ne as C,he as D,de as E,pe as F,q as G,ie as H,_ as I,ae as J,J as K,z as L,Z as M,Me as N,Pe as O,N as P,Ce as Q,L as R,be as S,T,U,W as a,G as b,Ae as c,Se as d,we as e,Ie as f,i as g,ve as h,Ne as i,X as j,Y as k,xe as l,ye as m,D as n,m as o,ge as p,le as q,fe as r,re as s,se as t,ce as u,ue as v,me as w,oe as x,F as y,B as z};
@@ -4,8 +4,8 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
6
6
  <title>CodingNS</title>
7
- <script type="module" crossorigin src="/assets/index-CL97fwWB.js"></script>
8
- <link rel="stylesheet" crossorigin href="/assets/index-C4t-vvqk.css">
7
+ <script type="module" crossorigin src="/assets/index-CeXGOT_T.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/assets/index-BxJPQpFM.css">
9
9
  </head>
10
10
  <body>
11
11
  <div id="root"></div>
@@ -14,7 +14,8 @@ export function isPublicRoute(method, routePath) {
14
14
  return PUBLIC_ROUTE_RULES.has(`${method.toUpperCase()}:${routePath}`);
15
15
  }
16
16
  function isPublicRoutePrefix(routePath) {
17
- return routePath.startsWith("/api/public/channel-gateways/");
17
+ return routePath.startsWith("/api/public/channel-gateways/")
18
+ || routePath.startsWith("/api/office/onlyoffice/callback/");
18
19
  }
19
20
  function isAssistantRoute(routePath) {
20
21
  return routePath.startsWith("/api/assistant/");
@@ -47,6 +48,12 @@ function isAllowedAssistantCaller(callerKind, requestSource, method) {
47
48
  }
48
49
  export function createAuthGuard(authService) {
49
50
  return async function authGuard(request, reply) {
51
+ if (reply.sent || reply.raw.headersSent) {
52
+ return;
53
+ }
54
+ if (request.method === "OPTIONS") {
55
+ return;
56
+ }
50
57
  const routePath = request.url.split("?")[0] ?? request.url;
51
58
  // 页面壳、静态资源和前端路由必须允许匿名访问,真正受保护的是 API。
52
59
  if (!routePath.startsWith("/api/")) {
@@ -58,19 +65,17 @@ export function createAuthGuard(authService) {
58
65
  authService.ensureInitialized();
59
66
  const authorization = request.headers.authorization;
60
67
  if (!authorization?.startsWith("Bearer ")) {
61
- sendError(reply, 401, "UNAUTHORIZED", "缺少有效的 Bearer token", "authorization");
62
- return;
68
+ return sendError(reply, 401, "UNAUTHORIZED", "缺少有效的 Bearer token", "authorization");
63
69
  }
64
70
  const accessToken = authorization.slice("Bearer ".length).trim();
65
71
  const authContext = authService.authenticateAccessToken(accessToken);
66
72
  if (isAssistantRoute(routePath)) {
67
73
  const requestSource = readAssistantRequestSource(request);
68
74
  if (!isAllowedAssistantCaller(authContext.callerKind, requestSource, request.method)) {
69
- sendError(reply, 403, "ASSISTANT_CALLER_NOT_ALLOWED", "当前调用者没有访问助手能力面的权限", undefined, {
75
+ return sendError(reply, 403, "ASSISTANT_CALLER_NOT_ALLOWED", "当前调用者没有访问助手能力面的权限", undefined, {
70
76
  callerKind: authContext.callerKind,
71
77
  requestSource
72
78
  });
73
- return;
74
79
  }
75
80
  reply.header(ASSISTANT_CALLER_KIND_HEADER, authContext.callerKind);
76
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth-guard.js","sourceRoot":"","sources":["../../../src/middlewares/auth-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-guard.js","sourceRoot":"","sources":["../../../src/middlewares/auth-guard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { AppErrorCode } from "./error-codes.js";
2
+ export interface AppErrorOptions {
3
+ details?: Record<string, unknown>;
4
+ cause?: unknown;
5
+ }
6
+ export declare class AppError extends Error {
7
+ readonly errorCode: AppErrorCode;
8
+ readonly details?: Record<string, unknown>;
9
+ constructor(message: string, errorCode: AppErrorCode, options?: AppErrorOptions);
10
+ toJSON(): Record<string, unknown>;
11
+ }
@@ -0,0 +1,22 @@
1
+ export class AppError extends Error {
2
+ errorCode;
3
+ details;
4
+ constructor(message, errorCode, options = {}) {
5
+ super(message);
6
+ this.errorCode = errorCode;
7
+ this.name = "AppError";
8
+ this.details = options.details;
9
+ if (options.cause !== undefined) {
10
+ this.cause = options.cause;
11
+ }
12
+ }
13
+ toJSON() {
14
+ return {
15
+ name: this.name,
16
+ message: this.message,
17
+ errorCode: this.errorCode,
18
+ ...(this.details ? { details: this.details } : {}),
19
+ };
20
+ }
21
+ }
22
+ //# sourceMappingURL=app-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-error.js","sourceRoot":"","sources":["../../../../../../../src/modules/affairs-indexer/contracts/src/errors/app-error.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,QAAS,SAAQ,KAAK;IAKf;IAJF,OAAO,CAA2B;IAElD,YACE,OAAe,EACC,SAAuB,EACvC,UAA2B,EAAE;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,cAAS,GAAT,SAAS,CAAc;QAIvC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAoC,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnD,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,23 @@
1
+ export declare const APP_ERROR_CODES: {
2
+ readonly CONFIG_FILE_NOT_FOUND: "CONFIG_FILE_NOT_FOUND";
3
+ readonly CONFIG_FILE_INVALID: "CONFIG_FILE_INVALID";
4
+ readonly CONFIG_INVALID_VALUE: "CONFIG_INVALID_VALUE";
5
+ readonly COMMAND_NOT_SUPPORTED: "COMMAND_NOT_SUPPORTED";
6
+ readonly SEARCH_QUERY_REQUIRED: "SEARCH_QUERY_REQUIRED";
7
+ readonly CONTEXT_TARGET_REQUIRED: "CONTEXT_TARGET_REQUIRED";
8
+ readonly PARSER_ROUTE_UNSUPPORTED: "PARSER_ROUTE_UNSUPPORTED";
9
+ readonly PARSER_ADAPTER_UNAVAILABLE: "PARSER_ADAPTER_UNAVAILABLE";
10
+ readonly PARSER_COMPLEX_SKIPPED: "PARSER_COMPLEX_SKIPPED";
11
+ readonly PARSER_COMPLEX_FORMAT_UNSUPPORTED: "PARSER_COMPLEX_FORMAT_UNSUPPORTED";
12
+ readonly PARSER_COMPLEX_CONTENT_UNREADABLE: "PARSER_COMPLEX_CONTENT_UNREADABLE";
13
+ readonly PARSER_COMPLEX_LIBRARY_FAILED: "PARSER_COMPLEX_LIBRARY_FAILED";
14
+ readonly PARSER_COMPLEX_OUTPUT_INVALID: "PARSER_COMPLEX_OUTPUT_INVALID";
15
+ readonly PARSER_UNKNOWN_ERROR: "PARSER_UNKNOWN_ERROR";
16
+ readonly SQLITE_QUERY_FAILED: "SQLITE_QUERY_FAILED";
17
+ readonly WATCH_PATH_NOT_FOUND: "WATCH_PATH_NOT_FOUND";
18
+ readonly SEARCH_INDEX_INVALID: "SEARCH_INDEX_INVALID";
19
+ readonly EXPORT_INVALID_PAYLOAD: "EXPORT_INVALID_PAYLOAD";
20
+ readonly MCP_INVALID_REQUEST: "MCP_INVALID_REQUEST";
21
+ readonly INTERNAL_UNKNOWN_ERROR: "INTERNAL_UNKNOWN_ERROR";
22
+ };
23
+ export type AppErrorCode = typeof APP_ERROR_CODES[keyof typeof APP_ERROR_CODES];
@@ -0,0 +1,23 @@
1
+ export const APP_ERROR_CODES = {
2
+ CONFIG_FILE_NOT_FOUND: "CONFIG_FILE_NOT_FOUND",
3
+ CONFIG_FILE_INVALID: "CONFIG_FILE_INVALID",
4
+ CONFIG_INVALID_VALUE: "CONFIG_INVALID_VALUE",
5
+ COMMAND_NOT_SUPPORTED: "COMMAND_NOT_SUPPORTED",
6
+ SEARCH_QUERY_REQUIRED: "SEARCH_QUERY_REQUIRED",
7
+ CONTEXT_TARGET_REQUIRED: "CONTEXT_TARGET_REQUIRED",
8
+ PARSER_ROUTE_UNSUPPORTED: "PARSER_ROUTE_UNSUPPORTED",
9
+ PARSER_ADAPTER_UNAVAILABLE: "PARSER_ADAPTER_UNAVAILABLE",
10
+ PARSER_COMPLEX_SKIPPED: "PARSER_COMPLEX_SKIPPED",
11
+ PARSER_COMPLEX_FORMAT_UNSUPPORTED: "PARSER_COMPLEX_FORMAT_UNSUPPORTED",
12
+ PARSER_COMPLEX_CONTENT_UNREADABLE: "PARSER_COMPLEX_CONTENT_UNREADABLE",
13
+ PARSER_COMPLEX_LIBRARY_FAILED: "PARSER_COMPLEX_LIBRARY_FAILED",
14
+ PARSER_COMPLEX_OUTPUT_INVALID: "PARSER_COMPLEX_OUTPUT_INVALID",
15
+ PARSER_UNKNOWN_ERROR: "PARSER_UNKNOWN_ERROR",
16
+ SQLITE_QUERY_FAILED: "SQLITE_QUERY_FAILED",
17
+ WATCH_PATH_NOT_FOUND: "WATCH_PATH_NOT_FOUND",
18
+ SEARCH_INDEX_INVALID: "SEARCH_INDEX_INVALID",
19
+ EXPORT_INVALID_PAYLOAD: "EXPORT_INVALID_PAYLOAD",
20
+ MCP_INVALID_REQUEST: "MCP_INVALID_REQUEST",
21
+ INTERNAL_UNKNOWN_ERROR: "INTERNAL_UNKNOWN_ERROR",
22
+ };
23
+ //# sourceMappingURL=error-codes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../../../../../../../src/modules/affairs-indexer/contracts/src/errors/error-codes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,qBAAqB,EAAE,uBAAuB;IAC9C,mBAAmB,EAAE,qBAAqB;IAC1C,oBAAoB,EAAE,sBAAsB;IAC5C,qBAAqB,EAAE,uBAAuB;IAC9C,qBAAqB,EAAE,uBAAuB;IAC9C,uBAAuB,EAAE,yBAAyB;IAClD,wBAAwB,EAAE,0BAA0B;IACpD,0BAA0B,EAAE,4BAA4B;IACxD,sBAAsB,EAAE,wBAAwB;IAChD,iCAAiC,EAAE,mCAAmC;IACtE,iCAAiC,EAAE,mCAAmC;IACtE,6BAA6B,EAAE,+BAA+B;IAC9D,6BAA6B,EAAE,+BAA+B;IAC9D,oBAAoB,EAAE,sBAAsB;IAC5C,mBAAmB,EAAE,qBAAqB;IAC1C,oBAAoB,EAAE,sBAAsB;IAC5C,oBAAoB,EAAE,sBAAsB;IAC5C,sBAAsB,EAAE,wBAAwB;IAChD,mBAAmB,EAAE,qBAAqB;IAC1C,sBAAsB,EAAE,wBAAwB;CACxC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./types/runtime-config.js";
2
+ export * from "./types/cli-command-context.js";
3
+ export * from "./errors/error-codes.js";
4
+ export * from "./errors/app-error.js";
@@ -0,0 +1,5 @@
1
+ export * from "./types/runtime-config.js";
2
+ export * from "./types/cli-command-context.js";
3
+ export * from "./errors/error-codes.js";
4
+ export * from "./errors/app-error.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/affairs-indexer/contracts/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { RuntimeConfig } from "./runtime-config.js";
2
+ export interface CliCommandContext {
3
+ command: string;
4
+ cwd: string;
5
+ args: Record<string, unknown>;
6
+ config: RuntimeConfig;
7
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cli-command-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-command-context.js","sourceRoot":"","sources":["../../../../../../../src/modules/affairs-indexer/contracts/src/types/cli-command-context.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ export type LogLevel = "silent" | "error" | "warn" | "info" | "debug";
2
+ export interface RuntimeConfig {
3
+ rootDir: string;
4
+ indexDir: string;
5
+ dbPath: string;
6
+ exportDir: string;
7
+ configFilePath: string | null;
8
+ watchDebounceMs: number;
9
+ parserTimeoutMs: number;
10
+ disabledParserExtensions: string[];
11
+ allowedExtensions: string[];
12
+ includedHiddenPaths: string[];
13
+ writeBatchSize: number;
14
+ maxIndexConcurrency: number;
15
+ logLevel: LogLevel;
16
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=runtime-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-config.js","sourceRoot":"","sources":["../../../../../../../src/modules/affairs-indexer/contracts/src/types/runtime-config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { type RuntimeConfig } from "../../../contracts/src/index.js";
2
+ export interface LoadRuntimeConfigOptions {
3
+ args?: Record<string, unknown>;
4
+ env?: Record<string, string | undefined>;
5
+ }
6
+ /**
7
+ * 加载运行时配置。
8
+ * 优先级:CLI args > 环境变量 > 配置文件 > 默认值。
9
+ */
10
+ export declare function loadRuntimeConfig(cwd: string, options?: LoadRuntimeConfigOptions): RuntimeConfig;