@jingyi0605/codingns 0.9.8 → 1.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/bin/codingns.mjs +14 -0
  2. package/dist/public/assets/{AdaptiveButlerPage-D-gXre7Y.js → AdaptiveButlerPage-BYETYaIe.js} +2 -2
  3. package/dist/public/assets/App-CHsm-VrM.js +30 -0
  4. package/dist/public/assets/App-Z0Zd7gXR.css +1 -0
  5. package/dist/public/assets/{BootstrapPage-B-yMdfpQ.js → BootstrapPage-Bp0KfySv.js} +1 -1
  6. package/dist/public/assets/ConversationPage-BCrNml1k.js +9 -0
  7. package/dist/public/assets/{DesktopDetachPreviewPage-D1DMaGcy.js → DesktopDetachPreviewPage-DlDSb_tf.js} +1 -1
  8. package/dist/public/assets/{DesktopModal-BnfGW2gk.js → DesktopModal-Csj5AdAN.js} +1 -1
  9. package/dist/public/assets/DesktopWindowPage-CacXiWjV.js +2 -0
  10. package/dist/public/assets/FileContextPanel-DzMUQvE5.js +1 -0
  11. package/dist/public/assets/GitSidebar-C8IC18GH.js +6 -0
  12. package/dist/public/assets/MobileCreateSessionSheet-BtqR_hKc.js +1 -0
  13. package/dist/public/assets/{MobileSheet-rkn_CUOY.js → MobileSheet-Co-qPMBD.js} +1 -1
  14. package/dist/public/assets/PluginAccessOverview-D-KXkcyj.js +1 -0
  15. package/dist/public/assets/{PluginContainerPage-D-ly3i3H.js → PluginContainerPage-BKwCIs4r.js} +1 -1
  16. package/dist/public/assets/{PluginDetailPage-CWAHYyyG.js → PluginDetailPage-Djv_swcO.js} +1 -1
  17. package/dist/public/assets/{PluginsListPage-Cte3vBgR.js → PluginsListPage-DAECNoN6.js} +1 -1
  18. package/dist/public/assets/PureConversationPage-DP1X7Hix.js +1 -0
  19. package/dist/public/assets/{RelayConnectEntryPage-sRJlstx9.js → RelayConnectEntryPage-xL_IPH8a.js} +1 -1
  20. package/dist/public/assets/{ServerSettingsModal-BBft9KEC.js → ServerSettingsModal-CyhMgk10.js} +1 -1
  21. package/dist/public/assets/SessionIndexPage-CVEz50tc.js +1 -0
  22. package/dist/public/assets/SettingsPage-CQNCrgaj.js +2 -0
  23. package/dist/public/assets/TerminalManagerPanel-wVnoRA8u.js +1 -0
  24. package/dist/public/assets/ToolFilesPage-BospXumK.js +1 -0
  25. package/dist/public/assets/ToolGitPage-B2zOeCAD.js +1 -0
  26. package/dist/public/assets/ToolProcessesPage-BDShao4b.js +1 -0
  27. package/dist/public/assets/{ToolsHomePage-D1n4FU1s.js → ToolsHomePage-s4zH7D9M.js} +1 -1
  28. package/dist/public/assets/{WorkbenchLandingPage-BaU_dXls.js → WorkbenchLandingPage-D51QCU_u.js} +1 -1
  29. package/dist/public/assets/{WorkbenchLayout-BksVkkFF.css → WorkbenchLayout-BZdfVest.css} +32 -1
  30. package/dist/public/assets/WorkbenchLayout-Bo2BbMY6.js +1081 -0
  31. package/dist/public/assets/{WorkbenchModal-DWsNm2B2.js → WorkbenchModal-YsyEdJ_m.js} +1 -1
  32. package/dist/public/assets/WorkbenchShellRoute-D3l4aWJS.js +1 -0
  33. package/dist/public/assets/WorkbenchShellRoute-D5fnyF8z.css +1 -0
  34. package/dist/public/assets/WorkspaceDebugDetailPage-CMjNLqFq.js +1 -0
  35. package/dist/public/assets/WorkspaceDetailPage-CKxTbPKh.js +1 -0
  36. package/dist/public/assets/WorkspaceHomePage-CEy4ShCu.js +1 -0
  37. package/dist/public/assets/{client-runtime-manager-D9VbgJZ_.js → client-runtime-manager-BFXU9DmS.js} +1 -1
  38. package/dist/public/assets/host-alias-Zb2xyVrf.js +1 -0
  39. package/dist/public/assets/index-BilHJjYU.js +50 -0
  40. package/dist/public/assets/index-OR7OITpQ.css +1 -0
  41. package/dist/public/assets/{login-direct-candidate-resolver-17wEvjhh.js → login-direct-candidate-resolver-DL8DS-Si.js} +1 -1
  42. package/dist/public/assets/peer-host-config-sync-d2ZcPC5P.js +1 -0
  43. package/dist/public/assets/{plugin-permission-copy-apDn8EWG.js → plugin-permission-copy-DrLk22m5.js} +1 -1
  44. package/dist/public/assets/{plugins-api-CnZYRKoS.js → plugins-api-COF4oh24.js} +1 -1
  45. package/dist/public/assets/{preferences-service-PZlLLAWH.js → preferences-service-CEWNV1w9.js} +1 -1
  46. package/dist/public/assets/{relay-entry-DhHwflXl.js → relay-entry-Cmc8vTlE.js} +1 -1
  47. package/dist/public/assets/useRegisteredDebugTemplates-FdmHG2S4.js +1 -0
  48. package/dist/public/assets/workbench-navigation-ED0157V-.js +1 -0
  49. package/dist/public/index.html +2 -2
  50. package/dist/server/config/env.js +5 -3
  51. package/dist/server/config/env.js.map +1 -1
  52. package/dist/server/modules/assistant-capability/assistant-capability-controller.d.ts +3 -0
  53. package/dist/server/modules/assistant-capability/assistant-capability-controller.js +9 -0
  54. package/dist/server/modules/assistant-capability/assistant-capability-controller.js.map +1 -1
  55. package/dist/server/modules/assistant-capability/assistant-capability-service.d.ts +3 -0
  56. package/dist/server/modules/assistant-capability/assistant-capability-service.js +4 -1
  57. package/dist/server/modules/assistant-capability/assistant-capability-service.js.map +1 -1
  58. package/dist/server/modules/butler/butler-session-service.d.ts +1 -0
  59. package/dist/server/modules/butler/butler-session-service.js +2 -1
  60. package/dist/server/modules/butler/butler-session-service.js.map +1 -1
  61. package/dist/server/modules/client/npm-global-package-service.js +3 -0
  62. package/dist/server/modules/client/npm-global-package-service.js.map +1 -1
  63. package/dist/server/modules/client/service-update-types.d.ts +3 -0
  64. package/dist/server/modules/peer-host/peer-host-controller.d.ts +5 -0
  65. package/dist/server/modules/peer-host/peer-host-controller.js +3 -0
  66. package/dist/server/modules/peer-host/peer-host-controller.js.map +1 -1
  67. package/dist/server/modules/peer-host/peer-host-service.d.ts +1 -0
  68. package/dist/server/modules/peer-host/peer-host-service.js +44 -0
  69. package/dist/server/modules/peer-host/peer-host-service.js.map +1 -1
  70. package/dist/server/modules/sessions/session-controller.d.ts +10 -0
  71. package/dist/server/modules/sessions/session-controller.js +11 -0
  72. package/dist/server/modules/sessions/session-controller.js.map +1 -1
  73. package/dist/server/modules/sessions/session-history-service.d.ts +43 -1
  74. package/dist/server/modules/sessions/session-history-service.js +362 -27
  75. package/dist/server/modules/sessions/session-history-service.js.map +1 -1
  76. package/dist/server/modules/tasks/observability-controller.d.ts +2 -0
  77. package/dist/server/modules/tasks/observability-controller.js +16 -1
  78. package/dist/server/modules/tasks/observability-controller.js.map +1 -1
  79. package/dist/server/modules/tasks/observability-service.d.ts +12 -2
  80. package/dist/server/modules/tasks/observability-service.js +16 -3
  81. package/dist/server/modules/tasks/observability-service.js.map +1 -1
  82. package/dist/server/modules/terminal/runtime/terminal-log-spooler.d.ts +5 -0
  83. package/dist/server/modules/terminal/runtime/terminal-log-spooler.js +54 -7
  84. package/dist/server/modules/terminal/runtime/terminal-log-spooler.js.map +1 -1
  85. package/dist/server/modules/workbench/affairs-assistant-session-snapshot-service.js +2 -1
  86. package/dist/server/modules/workbench/affairs-assistant-session-snapshot-service.js.map +1 -1
  87. package/dist/server/modules/workbench/workbench-service.d.ts +2 -0
  88. package/dist/server/modules/workbench/workbench-service.js +173 -20
  89. package/dist/server/modules/workbench/workbench-service.js.map +1 -1
  90. package/dist/server/modules/workspace/affairs-library-controller.d.ts +1 -0
  91. package/dist/server/modules/workspace/affairs-library-controller.js +3 -0
  92. package/dist/server/modules/workspace/affairs-library-controller.js.map +1 -1
  93. package/dist/server/modules/workspace/affairs-library-service.d.ts +4 -0
  94. package/dist/server/modules/workspace/affairs-library-service.js +23 -4
  95. package/dist/server/modules/workspace/affairs-library-service.js.map +1 -1
  96. package/dist/server/modules/workspace/affairs-lightweight-session-controller.d.ts +4 -0
  97. package/dist/server/modules/workspace/affairs-lightweight-session-controller.js +26 -0
  98. package/dist/server/modules/workspace/affairs-lightweight-session-controller.js.map +1 -1
  99. package/dist/server/modules/workspace/affairs-lightweight-session-service.d.ts +15 -1
  100. package/dist/server/modules/workspace/affairs-lightweight-session-service.js +201 -22
  101. package/dist/server/modules/workspace/affairs-lightweight-session-service.js.map +1 -1
  102. package/dist/server/modules/workspace/workspace-controller.d.ts +7 -1
  103. package/dist/server/modules/workspace/workspace-controller.js +11 -1
  104. package/dist/server/modules/workspace/workspace-controller.js.map +1 -1
  105. package/dist/server/modules/workspace/workspace-service.d.ts +9 -2
  106. package/dist/server/modules/workspace/workspace-service.js +45 -10
  107. package/dist/server/modules/workspace/workspace-service.js.map +1 -1
  108. package/dist/server/routes/affairs.js +4 -0
  109. package/dist/server/routes/affairs.js.map +1 -1
  110. package/dist/server/routes/peer-hosts.js +1 -0
  111. package/dist/server/routes/peer-hosts.js.map +1 -1
  112. package/dist/server/routes/sessions.js +2 -0
  113. package/dist/server/routes/sessions.js.map +1 -1
  114. package/dist/server/server/create-server.js +2 -2
  115. package/dist/server/server/create-server.js.map +1 -1
  116. package/dist/server/storage/repositories/session-discovery-diagnostics-repository.d.ts +10 -0
  117. package/dist/server/storage/repositories/session-discovery-diagnostics-repository.js +68 -0
  118. package/dist/server/storage/repositories/session-discovery-diagnostics-repository.js.map +1 -0
  119. package/dist/server/storage/repositories/session-source-index-repository.d.ts +14 -0
  120. package/dist/server/storage/repositories/session-source-index-repository.js +164 -0
  121. package/dist/server/storage/repositories/session-source-index-repository.js.map +1 -0
  122. package/dist/server/storage/repositories/workspace-navigation-state-repository.js +16 -7
  123. package/dist/server/storage/repositories/workspace-navigation-state-repository.js.map +1 -1
  124. package/dist/server/storage/sqlite/client.js +26 -0
  125. package/dist/server/storage/sqlite/client.js.map +1 -1
  126. package/dist/server/storage/sqlite/schema.sql +57 -0
  127. package/dist/server/types/domain.d.ts +45 -0
  128. package/node_modules/@codingns/session-sync-core/dist/providers/claude-session-store.js +19 -2
  129. package/node_modules/@codingns/session-sync-core/dist/providers/claude-session-store.js.map +1 -1
  130. package/node_modules/@codingns/session-sync-core/dist/providers/codex.d.ts +1 -0
  131. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +45 -1
  132. package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
  133. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js +11 -4
  134. package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js.map +1 -1
  135. package/package.json +3 -2
  136. package/scripts/node22-runtime.mjs +176 -0
  137. package/scripts/postinstall.mjs +6 -0
  138. package/dist/public/assets/App-7zrCMhE-.css +0 -1
  139. package/dist/public/assets/App-Dl-mcdqy.js +0 -30
  140. package/dist/public/assets/ConversationPage-DRQ5Sg_d.js +0 -9
  141. package/dist/public/assets/DesktopWindowPage-2SWAi0xz.js +0 -2
  142. package/dist/public/assets/FileContextPanel-fbPuE9dO.js +0 -1
  143. package/dist/public/assets/GitSidebar-BkmesJJR.js +0 -6
  144. package/dist/public/assets/MobileCreateSessionSheet-CEJcDBZJ.js +0 -1
  145. package/dist/public/assets/MobileTopHeaderFrame-CU0wsYSS.js +0 -1
  146. package/dist/public/assets/MobileWorkspaceSwitcherHeader-idl8o1OB.js +0 -1
  147. package/dist/public/assets/PluginAccessOverview-BBgM6tb0.js +0 -1
  148. package/dist/public/assets/SessionIndexPage-CN7cEdl9.js +0 -1
  149. package/dist/public/assets/SettingsPage-BGT-YqG2.js +0 -2
  150. package/dist/public/assets/TerminalManagerPanel-6-ZJ8vGn.js +0 -1
  151. package/dist/public/assets/TerminalPage-6GBZ9nXN.css +0 -32
  152. package/dist/public/assets/TerminalPage-CUXXQYU2.js +0 -55
  153. package/dist/public/assets/TerminalRuntimeFallbackModal-zc3qqMKJ.js +0 -1
  154. package/dist/public/assets/ToolFilesPage-QzsZyr0F.js +0 -1
  155. package/dist/public/assets/ToolGitPage-CXg4ncuT.js +0 -1
  156. package/dist/public/assets/ToolProcessesPage-BPsOsg4w.js +0 -1
  157. package/dist/public/assets/WorkbenchLayout-DViAJhHz.js +0 -1027
  158. package/dist/public/assets/WorkbenchShellRoute-BGfRqBUa.js +0 -1
  159. package/dist/public/assets/WorkbenchShellRoute-f2jWjHWu.css +0 -1
  160. package/dist/public/assets/WorkspaceDebugDetailPage-BX0zVSsI.js +0 -1
  161. package/dist/public/assets/WorkspaceDetailPage-Dx6JX4jx.js +0 -1
  162. package/dist/public/assets/WorkspaceHomePage-DQVJ042Z.js +0 -1
  163. package/dist/public/assets/host-alias-0TfFnYxR.js +0 -1
  164. package/dist/public/assets/index-DREvg1Yu.css +0 -1
  165. package/dist/public/assets/index-FOhyOpGY.js +0 -50
  166. package/dist/public/assets/peer-host-config-sync-vYkmqzNz.js +0 -1
  167. package/dist/public/assets/terminal-runtime-meta-2zvacxvM.js +0 -1
  168. package/dist/public/assets/useRegisteredDebugTemplates-CJ-o4tFl.js +0 -1
  169. package/dist/public/assets/workbench-navigation-aqJ1ay4M.js +0 -1
@@ -1 +0,0 @@
1
- import{e as I,n as b}from"./index-FOhyOpGY.js";import{l as A,n as P}from"./host-alias-0TfFnYxR.js";async function h(){const a=await A();await U(a.items)}async function U(a){var f;const e=I.getState(),d=e.activeHostId??((f=e.hosts[0])==null?void 0:f.id)??null,l=new Date().toISOString(),u=new Map,n=e.hosts.map(t=>(t.peerHostId&&u.set(t.peerHostId,t),t));let s=!1;for(const t of a){const c=u.get(t.id),o=y(t,c,l);if(c){const r=n.findIndex(H=>H.id===c.id);r>=0&&!w(n[r],o)&&(n[r]=o,s=!0);continue}o.id!==d&&!n.some(r=>r.id===o.id)&&(n.push(o),s=!0)}const p=new Set(a.map(t=>t.id)),m=n.filter(t=>!t.peerHostId||p.has(t.peerHostId));m.length!==n.length&&(s=!0),s&&await I.update({hosts:m})}function y(a,e,d){const l=b(a.baseUrl);return{id:(e==null?void 0:e.id)??`peer-host-${a.id}`,name:a.name||C(l),alias:P(a.alias||a.name),baseUrl:l,kind:"lan",peerEnabled:a.status==="reachable",peerHostId:a.id,createdAt:(e==null?void 0:e.createdAt)??a.createdAt??d,updatedAt:a.updatedAt??d,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:(e==null?void 0:e.relayTunnel)??null}}function w(a,e){return a.name===e.name&&a.alias===e.alias&&a.baseUrl===e.baseUrl&&a.peerEnabled===e.peerEnabled&&a.peerHostId===e.peerHostId&&a.updatedAt===e.updatedAt}function C(a){try{return new URL(a).host}catch{return a}}export{U as mergePeerHostsIntoClientConfig,h as syncPeerHostsIntoClientConfig};
@@ -1 +0,0 @@
1
- import{h as a,t as r}from"./index-FOhyOpGY.js";function s(e){return a.request("/api/terminals/shells",{targetHostId:(e==null?void 0:e.targetHostId)??void 0})}function l(e,t){return a.request(`/api/terminals?workspaceId=${encodeURIComponent(e)}`,{targetHostId:(t==null?void 0:t.targetHostId)??void 0})}function d(e,t){return a.request(`/api/terminals/templates/runtime-status?workspaceId=${encodeURIComponent(e)}`,{targetHostId:void 0})}function u(e,t){return a.request(`/api/terminals/templates/${encodeURIComponent(e)}/stop`,{method:"POST",targetHostId:(t==null?void 0:t.targetHostId)??void 0})}function o(e,t){return a.request("/api/terminals",{method:"POST",targetHostId:(t==null?void 0:t.targetHostId)??void 0,body:JSON.stringify(e)})}function c(e,t){return a.request(`/api/terminals/${encodeURIComponent(e)}`,{method:"DELETE",targetHostId:(t==null?void 0:t.targetHostId)??void 0})}function f(e,t){return a.request(`/api/terminals/${encodeURIComponent(e)}/record`,{method:"DELETE",targetHostId:(t==null?void 0:t.targetHostId)??void 0})}function I(e,t={}){const n=new URLSearchParams;typeof t.beforeSeq=="number"&&n.set("beforeSeq",String(t.beforeSeq)),typeof t.limit=="number"&&n.set("limit",String(t.limit));const i=n.toString();return a.request(`/api/terminals/${encodeURIComponent(e)}/history${i?`?${i}`:""}`,{targetHostId:t.targetHostId??void 0})}function g(e,t){return a.request(`/api/terminals/templates?workspaceId=${encodeURIComponent(e)}`,{targetHostId:void 0})}function b(e,t){return a.request("/api/terminals/templates",{method:"POST",targetHostId:(t==null?void 0:t.targetHostId)??void 0,body:JSON.stringify(e)})}function h(e,t,n){return a.request(`/api/terminals/templates/${encodeURIComponent(e)}`,{method:"PUT",targetHostId:(n==null?void 0:n.targetHostId)??void 0,body:JSON.stringify(t)})}function H(e,t){return a.request(`/api/terminals/templates/${encodeURIComponent(e)}`,{method:"DELETE",targetHostId:(t==null?void 0:t.targetHostId)??void 0})}function p(e,t,n){return a.request(`/api/terminals/templates/${encodeURIComponent(e)}/run`,{method:"POST",targetHostId:(n==null?void 0:n.targetHostId)??void 0,body:JSON.stringify(t)})}function S(e){return[{value:"",label:r("terminal.runtimeAutoOption"),description:r("terminal.runtimeAutoDescription")},{value:"tmux",label:e==="windows"?r("terminal.runtimePersistentLabel"):"tmux",description:e==="windows"?r("terminal.runtimeWindowsPersistentDescription"):r("terminal.runtimeTmuxDescription")},{value:"embedded-pty",label:"embedded-pty",description:r("terminal.runtimeEmbeddedDescription")}]}function T(e,t){return e?e==="conpty-powershell"?r("terminal.runtimeConptyPowerShellLabel"):e==="conpty-cmd"?r("terminal.runtimeConptyCmdLabel"):e==="conpty-git-bash"?r("terminal.runtimeConptyGitBashLabel"):e==="tmux"&&t==="windows"?r("terminal.runtimePersistentLabel"):e:r("terminal.runtimeAutoOption")}function q(e,t){return e?e==="embedded-pty"?"pty":e==="conpty-powershell"||e==="conpty-cmd"||e==="conpty-git-bash"||e==="tmux"&&t==="windows"?r("terminal.runtimePersistentShortLabel"):e:r("terminal.runtimeAutoShortLabel")}export{d as a,S as b,l as c,s as d,q as e,c as f,T as g,I as h,o as i,f as j,b as k,g as l,H as m,p as r,u as s,h as u};
@@ -1 +0,0 @@
1
- import{j as l,t as s,b as u}from"./index-FOhyOpGY.js";import{aZ as x,a_ as k}from"./WorkbenchLayout-DViAJhHz.js";import{l as j,a as p}from"./terminal-runtime-meta-2zvacxvM.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 _(e,r){return e.port===null?s("shell.workspaceDetailRegisteredDebugTemplateStatusUntracked"):r!=null&&r.occupied?s("shell.workspaceDetailRegisteredDebugTemplateStatusOccupied"):s("shell.workspaceDetailRegisteredDebugTemplateStatusIdle")}function H(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 Z(e,r){return e.port===null?s("shell.workspaceDetailRegisteredDebugPlanReasonPortMissing"):r!=null&&r.occupied?s("shell.workspaceDetailRegisteredDebugPlanReasonPortOccupiedWillOrchestrate"):s("shell.workspaceDetailRegisteredDebugPlanReasonRunnable")}function G(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 J(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 K(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,_ as c,B as d,V as e,z as f,H as g,$ as h,Z as i,K as j,W as k,G as l,q as m,E as r,J as u};
@@ -1 +0,0 @@
1
- import{j as s,t as h}from"./index-FOhyOpGY.js";function Q({heading:e,description:t,actions:n,tone:a="default",className:r,children:l}){return s.jsxs("section",{className:f("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 X({label:e,description:t,className:n,htmlFor:a,children:r}){return s.jsxs("div",{className:f("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 Y({align:e="end",stack:t=!1,className:n,children:a,...r}){return s.jsx("div",{className:f("workbench-modal-actions","modal-actions",n),"data-align":e,"data-stack":t?"true":void 0,...r,children:a})}function Z({compact:e=!1,className:t,children:n,...a}){return s.jsx("div",{className:f("modal-list",t),"data-compact":e?"true":void 0,...a,children:n})}function ee(e){const{as:t="div",label:n,description:a,leading:r,trailing:l,tone:o="default",selected:u=!1,className:d,children:w,...b}=e,P={className:f("modal-list-item",d),"data-tone":o!=="default"?o:void 0,"data-selected":u?"true":void 0,"data-interactive":t==="button"?"true":void 0},S=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,w]})]}),l?s.jsx("div",{className:"modal-list-item-trailing",children:l}):null]});if(t==="button"){const I=b;return s.jsx("button",{type:I.type??"button",...I,...P,children:S})}return s.jsx("div",{...b,...P,children:S})}function te({title:e,description:t,action:n,className:a,compact:r=!1}){return s.jsxs("div",{className:f("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 ne({tone:e="default",className:t,children:n,...a}){return s.jsx("span",{className:f("modal-tag",t),"data-tone":e!=="default"?e:void 0,...a,children:n})}function f(...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)"}},T=2600,C="workbench.parallel.pane.palette";let m=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 L(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 ae(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 re(e){const t=g(e.overrideColor)??k(e.groupId,e.ordinal);return{"--parallel-group-accent":t,"--parallel-group-soft":M(t,.08),"--parallel-group-surface":M(t,.03)}}function se(e){if(typeof window>"u")return null;const t=e.trim();if(!t)return null;const n=x();return g(n[t]??null)}function le(e,t){if(typeof window>"u")return g(t);const n=e.trim();if(!n)return null;const a=x(),r=g(t);return r?a[n]=r:delete a[n],window.localStorage.setItem(C,JSON.stringify(a)),r}function k(e,t){const n=N.length,a=Math.abs(U(e))%n;return N[(a+t*5)%n]}function oe(e){return e?e.role==="anchor"?h("shell.parallelGroupAnchorBadge"):h("shell.parallelGroupMemberBadge"):null}function ie(e){return e?h("shell.parallelGroupBadge",{count:e.memberCount}):null}function ce(e){var n;return((n=e==null?void 0:e.branchName)==null?void 0:n.trim())||null}function ue(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 de(e,t){return t&&(t.lifecycleStatus==="active"||t.lifecycleStatus==="removing")?t.sourceWorkspaceId:e.workspaceId}function fe(e,t){return t&&(t.lifecycleStatus==="active"||t.lifecycleStatus==="promoted")?t.workspaceId:e.workspaceId}function me(e,t="create"){m={groupId:e,createdAt:Date.now(),...D(t)}}function pe(e){return!m||m.groupId!==e?null:Date.now()-m.createdAt>T?(m=null,null):m}function x(){if(typeof window>"u")return{};const e=window.localStorage.getItem(C);if(!e)return{};try{const t=JSON.parse(e);return!t||typeof t!="object"?{}:t}catch{return{}}}function U(e){let t=0;for(const n of e)t=t*31+n.charCodeAt(0)|0;return t}function g(e){const t=(e==null?void 0:e.trim().toUpperCase())??"";return/^#[0-9A-F]{6}$/.test(t)?t:null}function M(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 R(e,t){const n=new Map(e.map(l=>[t.getId(l),l])),a=new Map,r=[];for(const l of e){const o=W(l,n,t);if(!o){r.push(l);continue}const u=a.get(o)??[];a.set(o,[...u,l])}return[...r].sort(t.compare).map(l=>E(l,0,a,t,new Set))}function p(e){return Array.isArray(e==null?void 0:e.children)?e.children:[]}function _(e){return e.flatMap(t=>[t.item,..._(p(t))])}function B(e){return e.flatMap(t=>[t,...B(p(t))])}function F(e,t){return e.some(n=>t(n.item)||F(p(n),t))}function y(e,t,n){return e?n(e.item)===t?!0:p(e).some(a=>y(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(p(a),t,n);if(y(a,t,n)&&l.length>=0)return[r,...l]}return[]}function E(e,t,n,a,r){const l=a.getId(e),o=new Set(r);o.add(l);const u=[...n.get(l)??[]].filter(d=>!o.has(a.getId(d))).sort(a.compare).map(d=>E(d,t+1,n,a,o));return{item:e,depth:t,children:u}}function W(e,t,n){const a=A(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 u=n.getId(o);if(l.has(u))return null;l.add(u);const d=A(n.getParentId(o));if(!d||(o=t.get(d),!o))return a}return a}function A(e){const t=e==null?void 0:e.trim();return t||null}function ge(){return"/workspaces"}function c(e){return`/workspaces/${encodeURIComponent(e)}`}function he(e,t){return i(c(e),t)}function be(e,t){return i(`${c(e)}/debug`,t)}function Pe(e,t){return i(`/workspaces/${encodeURIComponent(e)}/sessions`,t)}function G(e,t,n){return i(`/workspaces/${encodeURIComponent(e)}/sessions/${encodeURIComponent(t)}`,n)}function z(){return"/affairs"}function Se(e){return z()}function Ie(e,t,n){const a=`${c(e)}/tools`;if(!t)return i(a,n);const r=new URLSearchParams({tab:t});return i(`${a}?${r.toString()}`,n)}function ve(e,t){return i(`${c(e)}/tools/files`,t)}function Ne(e,t){return i(`${c(e)}/tools/git`,t)}function i(e,t){const n=(t==null?void 0:t.hostId)==="current"?null:t==null?void 0:t.hostId;if(!n)return e;const a=e.includes("?")?"&":"?";return`${e}${a}targetHostId=${encodeURIComponent(n)}`}function Me(e,t){return i(`${c(e)}/tools/processes`,t)}function Ae(e,t){return i(`${c(e)}/plugins`,t)}function Ce(e,t,n){return i(`${c(e)}/plugins/${encodeURIComponent(t)}`,n)}function xe(e,t,n){return i(`${c(e)}/plugins/${encodeURIComponent(t)}/run`,n)}function ye(e,t){return i(`${c(e)}/terminals`,t)}function Ee(e,t,n){const a=`${c(e)}/butler`;if(!t)return i(a,n);const r=new URLSearchParams({tab:t});return i(`${a}?${r.toString()}`,n)}function $e(e){return j(e.flatMap(t=>[...t.sessions.map(n=>({session:n,workspace:t.workspace})),...$(t.childWorktrees??[])])).sort((t,n)=>(n.session.lastMessageAt??n.session.updatedAt).localeCompare(t.session.lastMessageAt??t.session.updatedAt))}function je(e,t){return R(j(e),{getId:n=>n.session.sessionId,getParentId:n=>H(n.session,t),compare:V})}function H(e,t){var n;return(t==null?void 0:t.mode)==="mobile"?((n=e.parentSessionId)==null?void 0:n.trim())||null:L(e)}function we(e,t,n){const a=J(),r=G(e,a,n),l=new URLSearchParams({provider:t}),o=r.includes("?")?"&":"?";return`${r}${o}${l.toString()}`}function J(){const e=globalThis.crypto;return e&&typeof e.randomUUID=="function"?`draft-${e.randomUUID()}`:`draft-${Date.now()}-${Math.random().toString(16).slice(2)}`}function V(e,t){return(t.session.lastMessageAt??t.session.updatedAt).localeCompare(e.session.lastMessageAt??e.session.updatedAt)}function $(e){return e.flatMap(t=>[...t.sessions.map(n=>({session:n,workspace:t.workspace})),...$(t.children)])}function j(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{me as A,H as B,Ie as C,Ee as D,Me as E,he as F,ve as G,Ne as H,oe as I,B as J,ne as K,Ce as L,Y as M,Ae as N,xe as O,N as P,z as Q,we as R,R as S,be as T,L as U,_ as V,Se as a,Pe as b,Q as c,X as d,G as e,$e as f,je as g,D as h,p as i,pe as j,se as k,ae as l,re as m,ie as n,ce as o,fe as p,ye as q,de as r,O as s,F as t,Z as u,ee as v,le as w,te as x,ge as y,ue as z};