@jetcrab/pi-desk 1.1.23-dev → 1.1.25

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 (95) hide show
  1. package/docs/commands.md +4 -2
  2. package/docs/plugins.md +2 -0
  3. package/package.json +2 -2
  4. package/src/app/project-preview/page.tsx +13 -0
  5. package/src/client/l1_entry/pages/l1-project-preview-page.tsx +1 -5
  6. package/src/client/l2_biz/project-preview/hooks/l2-use-project-preview.ts +25 -0
  7. package/src/client/l2_biz/project-preview/l2-project-preview-storage.ts +7 -7
  8. package/src/client/l2_biz/project-preview/l2-project-preview.tsx +8 -5
  9. package/src/client/l2_biz/project-preview/runtime/l2-project-history-runtime.ts +14 -11
  10. package/src/client/l2_biz/project-preview/views/l2-project-branch-select.tsx +347 -0
  11. package/src/client/l2_biz/project-preview/views/l2-project-change-tree.tsx +28 -11
  12. package/src/client/l2_biz/project-preview/views/l2-project-history-list.tsx +35 -8
  13. package/src/client/l2_biz/project-preview/views/l2-project-history-view.tsx +46 -48
  14. package/src/client/l2_biz/workbench/file-workspace/l2-file-workspace-runtime.ts +2 -1
  15. package/src/client/l2_biz/workbench/file-workspace/l2-file-workspace-view.tsx +6 -2
  16. package/src/client/l3_modules/conversation/l3-conversation-viewport.tsx +18 -8
  17. package/src/client/l3_modules/project-files/l3-project-document-view.tsx +7 -4
  18. package/src/client/l3_modules/project-files/l3-project-file-runtime.ts +181 -89
  19. package/src/client/l3_modules/project-files/l3-project-file-tabs.tsx +80 -28
  20. package/src/common/l2_biz/project-preview/l2-project-history-messages.ts +4 -2
  21. package/src/common/l2_biz/project-preview/l2-project-preview-navigation.ts +14 -0
  22. package/src/server/l1_entry/api/l1-plugin-management-route.ts +0 -4
  23. package/src/server/l2_biz/plugin-management/l2-plugin-management.ts +4 -37
  24. package/src/server/l2_biz/plugin-management/l2-plugin-updates.ts +1 -4
  25. package/src/server/l2_biz/work-session/l2-work-session-chat-runtime.ts +4 -2
  26. package/src/server/l4_foundation/pi/l4-pi-chat-worker.ts +16 -1
  27. package/src/server/l4_foundation/pi/l4-pi-package-root-consistency.ts +3 -6
  28. package/src/server/l4_foundation/pi/l4-pi-package-root-gate.ts +1 -1
  29. package/src/server/l4_foundation/pi/l4-pi-plugin-owner-runtime.ts +4 -0
  30. package/src/server/l4_foundation/pi/l4-pi-plugin-sources.ts +5 -1
  31. package/src/server/l4_foundation/pi/l4-pi-session-initialization.ts +30 -34
  32. package/src/server/l4_foundation/pi/l4-pi-session-resources.ts +15 -14
  33. package/src/server/l4_foundation/pi/l4-pi-work-session-runtime.ts +1 -1
  34. package/src/server/l4_foundation/skills/runtime/l4-skill-catalog.ts +159 -166
  35. package/temp/build/pi-desk/release/.next/BUILD_ID +1 -1
  36. package/temp/build/pi-desk/release/.next/build-manifest.json +3 -3
  37. package/temp/build/pi-desk/release/.next/prerender-manifest.json +3 -3
  38. package/temp/build/pi-desk/release/.next/react-loadable-manifest.json +1 -1
  39. package/temp/build/pi-desk/release/.next/required-server-files.js +3 -3
  40. package/temp/build/pi-desk/release/.next/required-server-files.json +3 -3
  41. package/temp/build/pi-desk/release/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  42. package/temp/build/pi-desk/release/.next/server/app/_global-error.html +1 -1
  43. package/temp/build/pi-desk/release/.next/server/app/_global-error.rsc +1 -1
  44. package/temp/build/pi-desk/release/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  45. package/temp/build/pi-desk/release/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  46. package/temp/build/pi-desk/release/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  47. package/temp/build/pi-desk/release/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  48. package/temp/build/pi-desk/release/.next/server/app/api/health/route.js +1 -1
  49. package/temp/build/pi-desk/release/.next/server/app/api/plugins/add/route.js +1 -1
  50. package/temp/build/pi-desk/release/.next/server/app/api/plugins/apply/route.js +1 -1
  51. package/temp/build/pi-desk/release/.next/server/app/api/plugins/batch/route.js +1 -1
  52. package/temp/build/pi-desk/release/.next/server/app/api/plugins/del/route.js +1 -1
  53. package/temp/build/pi-desk/release/.next/server/app/api/plugins/enabled-set/route.js +1 -1
  54. package/temp/build/pi-desk/release/.next/server/app/api/plugins/get/route.js +1 -1
  55. package/temp/build/pi-desk/release/.next/server/app/api/plugins/list/route.js +1 -1
  56. package/temp/build/pi-desk/release/.next/server/app/api/plugins/reload/route.js +1 -1
  57. package/temp/build/pi-desk/release/.next/server/app/api/plugins/update/route.js +1 -1
  58. package/temp/build/pi-desk/release/.next/server/app/login/page_client-reference-manifest.js +1 -1
  59. package/temp/build/pi-desk/release/.next/server/app/page.js +2 -2
  60. package/temp/build/pi-desk/release/.next/server/app/page_client-reference-manifest.js +1 -1
  61. package/temp/build/pi-desk/release/.next/server/app/project-preview/page.js +1 -1
  62. package/temp/build/pi-desk/release/.next/server/app/project-preview/page_client-reference-manifest.js +1 -1
  63. package/temp/build/pi-desk/release/.next/server/chunks/16438.js +1 -1
  64. package/temp/build/pi-desk/release/.next/server/chunks/18748.js +1 -0
  65. package/temp/build/pi-desk/release/.next/server/chunks/24557.js +1 -1
  66. package/temp/build/pi-desk/release/.next/server/chunks/25406.js +13 -14
  67. package/temp/build/pi-desk/release/.next/server/chunks/27344.js +15 -0
  68. package/temp/build/pi-desk/release/.next/server/chunks/35985.js +1 -1
  69. package/temp/build/pi-desk/release/.next/server/chunks/36361.js +2 -2
  70. package/temp/build/pi-desk/release/.next/server/chunks/50520.js +2 -2
  71. package/temp/build/pi-desk/release/.next/server/chunks/6917.js +1 -1
  72. package/temp/build/pi-desk/release/.next/server/chunks/80290.js +1 -1
  73. package/temp/build/pi-desk/release/.next/server/chunks/92386.js +15 -16
  74. package/temp/build/pi-desk/release/.next/server/instrumentation.js +1 -1
  75. package/temp/build/pi-desk/release/.next/server/middleware-build-manifest.js +1 -1
  76. package/temp/build/pi-desk/release/.next/server/middleware-react-loadable-manifest.js +1 -1
  77. package/temp/build/pi-desk/release/.next/server/pages/500.html +1 -1
  78. package/temp/build/pi-desk/release/.next/server/server-reference-manifest.json +1 -1
  79. package/temp/build/pi-desk/release/.next/static/chunks/15302-6e070e13fa65c863.js +1 -0
  80. package/temp/build/pi-desk/release/.next/static/chunks/19991.bcca96d396b83030.js +1 -0
  81. package/temp/build/pi-desk/release/.next/static/chunks/65232-ef4e5a4174f62faf.js +15 -0
  82. package/temp/build/pi-desk/release/.next/static/chunks/app/{page-54040b9fd54ee8b3.js → page-18d63fd3920dfae0.js} +3 -3
  83. package/temp/build/pi-desk/release/.next/static/chunks/app/project-preview/page-038b6c14e03ed878.js +1 -0
  84. package/temp/build/pi-desk/release/.next/static/chunks/{webpack-48eecbb66781c006.js → webpack-c0b805df46fcf8b3.js} +1 -1
  85. package/temp/build/pi-desk/release/.next/static/css/c43b04c244a64fb4.css +1 -0
  86. package/temp/build/pi-desk/release/.next/trace-build +1 -1
  87. package/temp/build/pi-desk/release/.next/server/chunks/20460.js +0 -15
  88. package/temp/build/pi-desk/release/.next/server/chunks/93049.js +0 -1
  89. package/temp/build/pi-desk/release/.next/static/chunks/15302-9c807afc6c60de0c.js +0 -1
  90. package/temp/build/pi-desk/release/.next/static/chunks/19991.8aa2e4b6df15fad6.js +0 -1
  91. package/temp/build/pi-desk/release/.next/static/chunks/9038-05fd2688407b39c1.js +0 -15
  92. package/temp/build/pi-desk/release/.next/static/chunks/app/project-preview/page-bc18765121950e65.js +0 -1
  93. package/temp/build/pi-desk/release/.next/static/css/10e063cfb3cda7bd.css +0 -1
  94. /package/temp/build/pi-desk/release/.next/static/{gAYTx4KJJR3vTtGYexj4J → 6a4eIEjmpW5l8Qlgtzzzg}/_buildManifest.js +0 -0
  95. /package/temp/build/pi-desk/release/.next/static/{gAYTx4KJJR3vTtGYexj4J → 6a4eIEjmpW5l8Qlgtzzzg}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-48eecbb66781c006.js"/><script src="/_next/static/chunks/e388c842-1ca92f1ea0dfe8ee.js" async=""></script><script src="/_next/static/chunks/64444-3e955f910569274d.js" async=""></script><script src="/_next/static/chunks/main-app-6230945a5a062fce.js" async=""></script><script src="/_next/static/chunks/57235-03ba1044f22b6c84.js" async=""></script><script src="/_next/static/chunks/22092-6d1bfbefa825ec03.js" async=""></script><script src="/_next/static/chunks/app/error-216b14b5da089ed3.js" async=""></script><script src="/_next/static/chunks/app/not-found-720cdf6a606b821a.js" async=""></script><script src="/_next/static/chunks/app/global-error-6f5fc4928fd1966c.js" async=""></script><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-48eecbb66781c006.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[90184,[],\"\"]\n3:I[84845,[\"57235\",\"static/chunks/57235-03ba1044f22b6c84.js\",\"22092\",\"static/chunks/22092-6d1bfbefa825ec03.js\",\"18039\",\"static/chunks/app/error-216b14b5da089ed3.js\"],\"default\"]\n4:I[44478,[],\"\"]\n5:I[66999,[\"57235\",\"static/chunks/57235-03ba1044f22b6c84.js\",\"22092\",\"static/chunks/22092-6d1bfbefa825ec03.js\",\"24345\",\"static/chunks/app/not-found-720cdf6a606b821a.js\"],\"L1ErrorPage\"]\n6:I[14405,[],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\na:I[14405,[],\"ViewportBoundary\"]\nc:I[14405,[],\"MetadataBoundary\"]\ne:I[71713,[\"34219\",\"static/chunks/app/global-error-6f5fc4928fd1966c.js\"],\"default\"]\n9:X\n0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_global-error\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4624]},\"$undefined\",\"$undefined\",4624]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$3\",\"errorStyles\":[],\"errorScripts\":null,\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$L5\",null,{\"notFound\":true}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,null]},null,false,\"$9\"]},null,false,\"$9\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Ld\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"gAYTx4KJJR3vTtGYexj4J\"}\n9:C\nb:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n8:null\nd:[]\n"])</script></body></html>
1
+ <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-c0b805df46fcf8b3.js"/><script src="/_next/static/chunks/e388c842-1ca92f1ea0dfe8ee.js" async=""></script><script src="/_next/static/chunks/64444-3e955f910569274d.js" async=""></script><script src="/_next/static/chunks/main-app-6230945a5a062fce.js" async=""></script><script src="/_next/static/chunks/57235-03ba1044f22b6c84.js" async=""></script><script src="/_next/static/chunks/22092-6d1bfbefa825ec03.js" async=""></script><script src="/_next/static/chunks/app/error-216b14b5da089ed3.js" async=""></script><script src="/_next/static/chunks/app/not-found-720cdf6a606b821a.js" async=""></script><script src="/_next/static/chunks/app/global-error-6f5fc4928fd1966c.js" async=""></script><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-c0b805df46fcf8b3.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[90184,[],\"\"]\n3:I[84845,[\"57235\",\"static/chunks/57235-03ba1044f22b6c84.js\",\"22092\",\"static/chunks/22092-6d1bfbefa825ec03.js\",\"18039\",\"static/chunks/app/error-216b14b5da089ed3.js\"],\"default\"]\n4:I[44478,[],\"\"]\n5:I[66999,[\"57235\",\"static/chunks/57235-03ba1044f22b6c84.js\",\"22092\",\"static/chunks/22092-6d1bfbefa825ec03.js\",\"24345\",\"static/chunks/app/not-found-720cdf6a606b821a.js\"],\"L1ErrorPage\"]\n6:I[14405,[],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\na:I[14405,[],\"ViewportBoundary\"]\nc:I[14405,[],\"MetadataBoundary\"]\ne:I[71713,[\"34219\",\"static/chunks/app/global-error-6f5fc4928fd1966c.js\"],\"default\"]\n9:X\n0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_global-error\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4624]},\"$undefined\",\"$undefined\",4624]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$3\",\"errorStyles\":[],\"errorScripts\":null,\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$L5\",null,{\"notFound\":true}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,null]},null,false,\"$9\"]},null,false,\"$9\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Ld\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"6a4eIEjmpW5l8Qlgtzzzg\"}\n9:C\nb:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n8:null\nd:[]\n"])</script></body></html>
@@ -1 +1 @@
1
- {"node":{},"edge":{},"encryptionKey":"h+Pe7Aa0RPKHNnW9bT1YiR/HRukfLJQOW8AKyGO3fjE="}
1
+ {"node":{},"edge":{},"encryptionKey":"98wo70Gem6eYmatGUgpNmihK90a/3+n8OVcNNuIpstA="}
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[15302],{5816:(e,t,i)=>{i.d(t,{A:()=>m,i:()=>d});var o=i(7962),r=i(44297),a=i(78121),n=i(69266),s=i(73230),l=i(48708);let c=()=>null;function d(){let e=(0,n.useSyncExternalStore)(l.re,l.fx,c);if(!e)throw Error("区域设置尚未就绪");return e}function h({children:e,locale:t,resources:i}){let[l]=(0,n.useState)(()=>{let e;return(e=(0,r.Q_)()).init({lng:t,fallbackLng:"en",resources:i,defaultNS:"common",ns:Object.keys(i.en??{}),initAsync:!1,interpolation:{escapeValue:!1}}),e});return(0,n.useEffect)(()=>(document.documentElement.lang=t,l.changeLanguage(t),(0,s.o)((e,t)=>l.exists(e)?l.t(e,t):null),()=>(0,s.o)(null)),[l,t]),(0,o.jsx)(a.xC,{i18n:l,children:e})}function m({children:e,resources:t,initialSettings:i}){let r=(0,n.useSyncExternalStore)(l.re,l.fx,c);return(0,n.useEffect)(()=>((0,l.UV)(i),(0,l.Hc)()),[i]),r?(0,o.jsx)(h,{locale:r.locale,resources:t,children:e}):null}},15710:(e,t,i)=>{i.d(t,{J:()=>a,a:()=>r});var o=i(38979);let r=o.Ik({locale:o.k5(["zh-CN","en"]),timeZone:o.Yj().trim().min(1).max(100).refine(e=>{try{return new Intl.DateTimeFormat("en",{timeZone:e}),!0}catch{return!1}},"无效的 IANA 时区")}).strict().readonly(),a=o.Ik({region:r}).strict().readonly()},26586:(e,t,i)=>{i.d(t,{A:()=>a,O:()=>r});var o=i(69266);let r=(0,o.createContext)(null);function a(){let e=(0,o.useContext)(r);if(null===e)throw Error("缺少页面 clientId Provider");return e}},32892:(e,t,i)=>{i.d(t,{Bc:()=>m,ZI:()=>u,k$:()=>f,m_:()=>p});var o=i(7962),r=i(82480),a=i(94970),n=i(68868),s=i(47716),l=i(64796),c=i(69036),d=i(76478),h=i(49426);function m({delay:e=0,...t}){return(0,o.jsx)(r.B,{"data-slot":"tooltip-provider",delay:e,...t})}function p({...e}){return(0,o.jsx)(a.s,{"data-slot":"tooltip",...e})}function f({...e}){return(0,o.jsx)(n.k,{"data-slot":"tooltip-trigger",...e})}function u({className:e,side:t="top",sideOffset:i=4,align:r="center",alignOffset:a=0,children:n,...m}){return(0,o.jsx)(s.K,{children:(0,o.jsx)(l.o,{align:r,alignOffset:a,side:t,sideOffset:i,className:"isolate z-50",children:(0,o.jsxs)(c.o,{"data-slot":"tooltip-content",className:(0,h.cn)("z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-2 rounded-md bg-foreground px-2 py-1 text-xs leading-5 text-background duration-100 motion-reduce:animate-none has-data-[slot=kbd]:pr-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",e),...m,children:[n,(0,o.jsx)(d.P,{className:"z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5"})]})})})}},33550:(e,t,i)=>{i.d(t,{E6:()=>u,TX:()=>C,ZQ:()=>g});var o=i(69266),r=i(38979);let a="pi-super:code-preferences",n=r.Ik({wrapLines:r.zM().default(!0),diffViewMode:r.k5(["side-by-side","inline"]).default("side-by-side"),collapseUnchanged:r.zM().default(!1)}),s=n.parse({}),l=new Set,c=null;function d(e){try{window.localStorage.setItem(a,JSON.stringify(e))}catch(e){console.warn("[Pi Desk][CodePreferences] 保存代码显示偏好失败",e)}}function h(){try{let e=window.localStorage.getItem(a);if(null!==e){let t=n.safeParse(JSON.parse(e));return t.success?t.data:s}let t=r.Ik({wrapLines:r.zM()}).safeParse(JSON.parse(window.localStorage.getItem("pi-super:project-preview:global")??"null"));if(t.success){let e={...s,wrapLines:t.data.wrapLines};return d(e),e}}catch{}return s}function m(e,t){return e?.wrapLines===t.wrapLines&&e.diffViewMode===t.diffViewMode&&e.collapseUnchanged===t.collapseUnchanged}function p(){for(let e of l)e()}function f(e){if(null!==e.key&&e.key!==a)return;let t=h();m(c,t)||(c=t,p())}function u(){return c??=h()}function g(e){let t=n.parse({...u(),...e});m(c,t)||(c=t,d(t),p())}function y(e){return 0===l.size&&(c=h(),window.addEventListener("storage",f)),l.add(e),()=>{l.delete(e),0===l.size&&window.removeEventListener("storage",f)}}function C(){return(0,o.useSyncExternalStore)(y,u,()=>s)}},42643:(e,t,i)=>{i.d(t,{p:()=>o});let o={en:{previewTitle:"Project preview",chooseProject:"Open a project",switchProject:"Switch project",directoryPath:"Directory path",directoryPlaceholder:"Enter an absolute directory path",serverDirectoryHint:"Browse directories on the connected server.",openProject:"Open",recentProjects:"Project history",browseDirectories:"Browse directories",loadingDirectories:"Loading directories…",parentDirectory:"Parent directory",directoryRoots:"Directories",openThisDirectory:"Open this directory",noSubdirectories:"No subdirectories",noRecentProjects:"No project history. Enter a path or browse directories.",currentHead:"Current HEAD",localBranch:"Local branch",remoteBranch:"Remote branch \xb7 local record",retry:"Retry",compareDirect:"Compare directly",loadingCommits:"Loading commits…",commitList:"Git commits",noCommitMessage:"(no commit message)",noMatchingCommits:"No matching commits",noCommits:"No commits",scanLimit:"History scan limit reached. Choose a more specific branch or commit.",loadedLimit:"2,000 commits loaded. Narrow your search.",noMoreCommits:"All commits loaded",backCommits:"Back to commits",commitChanges:"Commit changes",cumulativeChanges:"Cumulative changes",loadedFiles:"{{count}} files loaded",backCumulative:"Back to cumulative changes",loadingChanges:"Loading changes…",noDiff:"No file differences",loadMoreFiles:"Load more files",changesLimit:"Change file display limit reached.",commitDetails:"Commit details",copySha:"Copy commit SHA",compareParent:"Compare parent commit",parentCommit:"Parent {{count}} \xb7 {{oid}}",mergeBaseToTarget:"Common ancestor → target commit",baseToTarget:"Base commit → target commit",emptyRevision:"Empty revision",selectCommit:"Select a commit to view its details",historyAndCompare:"Git history and comparison",viewMode:"Git view mode",historyMode:"Commit history",compareMode:"Compare branches",selectRepository:"Select repository",viewBranch:"View branch",baseBranch:"Base branch",chooseBase:"Choose base branch",targetBranch:"Target branch",comparison:"Comparison method",introducedChanges:"Changes introduced by this branch",directComparison:"Compare two versions directly",filterAuthor:"Filter by author",author:"Commit author",searchCommits:"Search commit message or SHA",refreshGit:"Refresh Git history",localRecord:"Local record",refUnavailable:"Reference unavailable",aheadBehind:"{{ahead}} ahead \xb7 {{behind}} behind",chooseBaseBranch:"Choose a base branch",restoreGit:"Restore Git panel",maximizeGit:"Maximize Git panel",collapseGit:"Collapse Git panel",copyFailed:"Could not copy",findingGit:"Detecting Git repositories…",noGit:"No Git repository found",collapseDirectory:"Collapse folder tree",expandDirectory:"Expand folder tree",previewDescription:"Read-only preview of project files and Git history",gitRecords:"Git history",refreshPreview:"Refresh project preview",restoreWindow:"Restore preview window",maximizeWindow:"Maximize preview window",closePreview:"Close project preview",previewArea:"Project preview area",files:"Files",code:"Code",changeFiles:"Files changed in commit",viewDiff:"View diff",gitStatus:"Git status {{status}}",viewDiffPath:"View diff: {{path}}",historyDiffAncestor:"Common ancestor {{left}} ↔ {{target}}",historyDiffDirect:"{{left}} ↔ {{target}}",historyReadFailed:"Could not read Git history"},"zh-CN":{previewTitle:"项目预览",chooseProject:"打开项目",switchProject:"切换项目",directoryPath:"目录路径",directoryPlaceholder:"输入完整目录路径",serverDirectoryHint:"选择所连接服务上的目录。",openProject:"打开",recentProjects:"历史项目",browseDirectories:"浏览目录",loadingDirectories:"正在读取目录…",parentDirectory:"上级目录",directoryRoots:"目录",openThisDirectory:"打开此目录",noSubdirectories:"没有子目录",noRecentProjects:"没有历史项目,可输入路径或浏览目录。",currentHead:"当前 HEAD",localBranch:"本地分支",remoteBranch:"远程分支 \xb7 本地记录",retry:"重试",compareDirect:"直接比较",loadingCommits:"读取提交…",commitList:"Git 提交列表",noCommitMessage:"(无提交说明)",noMatchingCommits:"没有匹配的提交",noCommits:"没有提交记录",scanLimit:"历史扫描达到上限,请选择更具体的分支或提交。",loadedLimit:"已加载 2000 条,请缩小查询范围。",noMoreCommits:"已加载全部提交",backCommits:"返回提交列表",commitChanges:"提交变更",cumulativeChanges:"累计变更",loadedFiles:"已加载 {{count}} 个文件",backCumulative:"返回累计变更",loadingChanges:"读取变更…",noDiff:"没有文件差异",loadMoreFiles:"加载更多文件",changesLimit:"变更文件超过显示上限。",commitDetails:"提交详情",copySha:"复制提交SHA",compareParent:"比较父提交",parentCommit:"父提交 {{count}} \xb7 {{oid}}",mergeBaseToTarget:"共同祖先 → 目标提交",baseToTarget:"基准提交 → 目标提交",emptyRevision:"空版本",selectCommit:"选择提交查看详情",historyAndCompare:"Git 历史与比较",viewMode:"Git 查看方式",historyMode:"提交记录",compareMode:"分支比较",selectRepository:"查看仓库",viewBranch:"查看分支",baseBranch:"基准分支",chooseBase:"选择基准分支",targetBranch:"目标分支",comparison:"比较方式",introducedChanges:"本分支引入的变更",directComparison:"两个版本直接比较",filterAuthor:"按提交用户筛选",author:"提交用户",searchCommits:"搜索提交说明或 SHA",refreshGit:"刷新Git记录",localRecord:"本地记录",refUnavailable:"引用不可用",aheadBehind:"领先 {{ahead}} \xb7 落后 {{behind}}",chooseBaseBranch:"选择基准分支",restoreGit:"还原Git区域",maximizeGit:"最大化Git区域",collapseGit:"收起Git区域",copyFailed:"复制失败",findingGit:"正在识别 Git 仓库…",noGit:"未发现 Git 仓库",collapseDirectory:"收起目录",expandDirectory:"展开目录",previewDescription:"只读项目文件和 Git 历史预览",gitRecords:"Git 记录",refreshPreview:"刷新项目预览",restoreWindow:"还原预览窗口",maximizeWindow:"最大化预览窗口",closePreview:"关闭项目预览",previewArea:"项目预览区域",files:"文件",code:"代码",changeFiles:"提交变更文件",viewDiff:"查看差异",gitStatus:"Git 状态 {{status}}",viewDiffPath:"查看差异 {{path}}",historyDiffAncestor:"共同祖先 {{left}} ↔ {{target}}",historyDiffDirect:"{{left}} ↔ {{target}}",historyReadFailed:"读取 Git 历史失败"}}},48708:(e,t,i)=>{i.d(t,{Hc:()=>y,SJ:()=>h,UV:()=>p,ae:()=>m,fx:()=>u,pW:()=>f,re:()=>g});var o=i(15710);let r=new Set,a=new Set,n=o.J.parse({region:{locale:"en",timeZone:"UTC"}}),s=null,l=!1,c=0;function d(e){return{locale:e,timeZone:n.region.timeZone,localePreference:n.region.locale,timeZonePreference:n.region.timeZone,pendingLocale:e===n.region.locale?null:n.region.locale}}function h(){return n}function m(e){return a.add(e),()=>a.delete(e)}function p(e){let t=o.J.parse(e),i=JSON.stringify(n)!==JSON.stringify(t);if(l&&!i)return;let c=l&&s?s.locale:t.region.locale;for(let e of(n=t,l=!0,s=d(c),r))e();if(i)for(let e of a)e()}function f(e){for(let t of(s={...d(e),pendingLocale:null},r))t()}function u(){return s}function g(e){return r.add(e),()=>r.delete(e)}function y(){if(c+=1,!s)for(let e of(s=d(n.region.locale),r))e();return()=>{0==(c-=1)&&(s=null,l=!1,n=o.J.parse({region:{locale:"en",timeZone:"UTC"}}),r.clear(),a.clear())}}},49426:(e,t,i)=>{i.d(t,{cn:()=>a});var o=i(77694),r=i(37810);function a(...e){return(0,r.QP)((0,o.$)(e))}},51821:(e,t,i)=>{i.d(t,{G:()=>x,c:()=>b});var o=i(7962),r=i(96381),a=i(89261),n=i(42360),s=i(47800),l=i(82136),c=i(71859),d=i(73208),h=i(45968),m=i(85937),p=i(94173),f=i(27315),u=i(10672),g=i(49362),y=i(69266),C=i(78121),w=i(49426);function v(){let{t:e}=(0,C.Bd)("common"),t=r.I();return(0,o.jsx)(o.Fragment,{children:t.toasts.slice(0,3).map(t=>{let i=t.data?.level??"info";return(0,o.jsxs)(a.m,{toast:t,"data-pi-desk-toast":i,className:(0,w.cn)("pointer-events-auto flex w-full items-start gap-3 rounded-xl border bg-popover px-3 py-3 text-popover-foreground shadow-md transition-[transform,opacity] duration-200 data-starting-style:translate-y-2 data-starting-style:opacity-0 data-ending-style:translate-y-2 data-ending-style:opacity-0","error"===i?"border-destructive/40":"warning"===i?"border-status-warning/40":"border-border"),children:["error"===i?(0,o.jsx)(m.A,{className:"mt-0.5 size-4 shrink-0 text-destructive"}):"warning"===i?(0,o.jsx)(p.A,{className:"mt-0.5 size-4 shrink-0 text-status-warning"}):"success"===i?(0,o.jsx)(f.A,{className:"mt-0.5 size-4 shrink-0 text-status-success"}):(0,o.jsx)(u.A,{className:"mt-0.5 size-4 shrink-0 text-primary"}),(0,o.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,o.jsx)(n.S,{className:"text-sm leading-5 font-medium"}),(0,o.jsx)(s.a,{className:"mt-1 text-sm leading-5 text-muted-foreground"})]}),(0,o.jsx)(l.e,{"aria-label":e("closeNotice"),title:e("closeNotice"),className:"flex size-7 shrink-0 cursor-pointer items-center justify-center rounded-md text-muted-foreground outline-none hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring",children:(0,o.jsx)(g.A,{className:"size-3.5"})})]},t.id)})})}function b({children:e}){return(0,o.jsxs)(c.t,{timeout:3e3,limit:3,children:[e,(0,o.jsx)(d.S,{children:(0,o.jsx)(h.U,{className:"fixed right-3 bottom-3 z-[200] flex w-[min(24rem,calc(100vw-1.5rem))] flex-col gap-2 outline-none sm:right-5 sm:bottom-5",children:(0,o.jsx)(v,{})})})]})}function x(){let{add:e}=r.I(),{t}=(0,C.Bd)("common");return(0,y.useMemo)(()=>{let i=i=>{let o=i.title.trim().slice(0,120),r=i.description?.trim().slice(0,320);return e({title:o||t("pluginNotice"),...r?{description:r}:{},type:i.level,..."error"===i.level||"warning"===i.level?{priority:"high"}:{},data:{level:i.level}})};return{show:i,success:e=>i({level:"success",title:e}),error:e=>i({level:"error",title:e})}},[e,t])}},73230:(e,t,i)=>{i.d(t,{B:()=>a,o:()=>r});let o=null;function r(e){o=e}function a(e){return e.i18n?o?.(e.i18n.key,e.i18n.params)??e.msg:e.msg}},93540:(e,t,i)=>{i.d(t,{C:()=>o});let o={en:{reading:"Loading…",retryReading:"{{error}}. Retry",showMore:"Show more ({{visible}} / {{total}})",viewDiff:"View diff",openPreview:"Open preview",gitStatus:"Git status {{status}}",directoryLimit:"This folder has many entries. Showing the first 5,000; use search to find more.",emptyDirectory:"Empty folder",incompleteRepository:"Some repositories could not be read. The change list may be incomplete.",noChangedFiles:"No changed files",noChanges:"No changes",gitBranches:"Git branches",gitBranchReadOnly:"Git branch (read-only)",selectPreviewDirectory:"Switch preview directory",previewDirectories:"Preview directories",sessionDirectory:"Original folder",unavailable:"Unavailable",projectFiles:"{{name}} project files",searchFiles:"Search filenames or paths",searchAll:"Search files or content",searchContent:"Search file content",searchScope:"Search scope",searchScopeAll:"All",searchScopeFiles:"Files",searchScopeContent:"Content",searchCaseSensitive:"Match case",searchWholeWord:"Match whole word",searchRegex:"Use regular expression",searchResults:"Search results",searchStart:"Search this project",searchTryOptions:"Try another query or adjust the search options.",searchFailed:"Could not search the project. Please try again.",searchCounts:"{{files}} files \xb7 {{lines}} matching lines",searchShownCounts:"Shown: {{counts}}",searchFileHeading:"Filenames",searchContentHeading:"Content",searchContentCounts:"{{lines}} matching lines \xb7 {{files}} files",searchProjectRoot:"Project root",searchExpandFiles:"Show {{count}} more files",searchOpenLine:"Open {{path}}, line {{line}}",searchLineUnavailable:"The file content has changed and the matching line no longer exists.",searchTextLimit:"Content search: previewable UTF-8 text up to 5 MiB.",closeSearch:"Exit search",layout:"File organization",directory:"Folders",repository:"Repositories",changesOnly:"Changes only",searchProject:"Search project",noMatches:"No matching results",searching:"Searching…",resultLimit:"Results are limited. Refine your query or narrow the search scope.",copied:"Copied.",copyFailed:"Could not copy. Please try again.",revealRequested:"Opened the system file manager.",revealFailed:"Could not locate the file",collapse:"Collapse",expand:"Expand",openCurrentWorkspace:"Open current workspace folder",locateCurrentWorkspace:"Locate in current workspace",openFolder:"Open this folder",openContainingFolder:"Open containing folder",copyAbsolutePath:"Copy absolute path",copyRelativePath:"Copy relative path",copyFolderName:"Copy folder name",copyFileName:"Copy filename",copyOldRelativePath:"Copy original relative path",selectedCodeCopied:"Selected code copied.",allCodeCopied:"All code copied.",copyContentFailed:"Could not copy the file. Please copy it manually.",fileActions:"File actions",headToWorking:"HEAD ↔ working tree",gitChangesCount:"Against HEAD \xb7 {{count}} changes",gitChangesCompact:"{{count}} changes",gitMarkersLoading:"Comparing with HEAD…",gitMarkersFailed:"Could not read changes \xb7 Reload to retry",gitMarkersUnavailable:"Line change markers unavailable",gitAddedLines:"{{count}} lines added",gitModifiedLines:"{{count}} lines modified",gitDeletedLines:"{{count}} lines deleted",noDiffChanges:" \xb7 No content differences",previousChange:"Previous change",nextChange:"Next change",inlineDiff:"Switch to inline diff",sideBySideDiff:"Switch to side-by-side diff",wrapOff:"Turn off line wrapping",wrapOn:"Turn on line wrapping",expandUnchanged:"Expand unchanged content",collapseUnchanged:"Collapse unchanged content",reloadDiff:"Reload diff",htmlMode:"HTML display mode",markdownMode:"Markdown display mode",markdownPreview:"{{name}} Markdown preview",previewMode:"Preview",sourceMode:"Source",findInFile:"Find in file",goToLine:"Go to line",copySelectionOrAll:"Copy selected or all content",reloadCurrentFile:"Reload this file",binaryDiffUnavailable:"Binary files cannot be diffed online.",largeDiffUnavailable:"Files over 5 MB cannot be diffed online.",readAgain:"Reload",noOpenFile:"No file open",imageViewer:"{{name}} image viewer",htmlPreview:"{{name}} HTML preview",loadingFile:"Loading file…",closeTab:"Close tab",closeOtherTabs:"Close other tabs",closeRightTabs:"Close tabs to the right",closeLeftTabs:"Close tabs to the left",closeAllTabs:"Close all tabs",openFiles:"Open files",closeDiff:"Close diff {{name}}",closeFile:"Close file {{name}}",collapseTabs:"Collapse tabs",expandTabs:"Expand tabs \xb7 {{count}}",gitUnavailable:"Git unavailable",repositoriesUnit:"repositories",projectReadFailed:"Could not read project",revealUnavailable:"File location is not available yet",maxOpenFiles:"At most {{count}} files can be open. Close some files first.",branchFileClosed:"File no longer exists on the selected branch and was closed: {{path}}"},"zh-CN":{reading:"正在读取…",retryReading:"{{error}},点击重试",showMore:"显示更多({{visible}} / {{total}})",viewDiff:"查看差异",openPreview:"打开预览",gitStatus:"Git 状态 {{status}}",directoryLimit:"该目录内容较多,仅显示前 5000 项,请使用搜索。",emptyDirectory:"空目录",incompleteRepository:"仓库读取不完整,无法确认全部变更",noChangedFiles:"没有变更文件",noChanges:"没有变更",gitBranches:"Git 分支",gitBranchReadOnly:"Git 分支(只读)",selectPreviewDirectory:"切换预览目录",previewDirectories:"预览目录",sessionDirectory:"原目录",unavailable:"不可用",projectFiles:"{{name}} 项目文件",searchFiles:"搜索文件名或路径",searchAll:"搜索文件或内容",searchContent:"搜索文件内容",searchScope:"搜索范围",searchScopeAll:"全部",searchScopeFiles:"文件",searchScopeContent:"内容",searchCaseSensitive:"区分大小写",searchWholeWord:"全词匹配",searchRegex:"使用正则表达式",searchResults:"搜索结果",searchStart:"搜索这个项目",searchTryOptions:"试试其他关键词,或调整搜索选项。",searchFailed:"项目搜索失败,请重试。",searchCounts:"{{files}} 个文件 \xb7 {{lines}} 个命中行",searchShownCounts:"已显示:{{counts}}",searchFileHeading:"文件名",searchContentHeading:"内容",searchContentCounts:"{{lines}} 个命中行 \xb7 {{files}} 个文件",searchProjectRoot:"项目根目录",searchExpandFiles:"展开其余 {{count}} 个文件",searchOpenLine:"打开 {{path}} 第 {{line}} 行",searchLineUnavailable:"文件内容已变化,搜索命中行已不存在",searchTextLimit:"正文搜索:可预览的 UTF-8 文本,不超过 5 MiB。",closeSearch:"退出搜索",layout:"文件组织方式",directory:"目录",repository:"仓库",changesOnly:"只看变更",searchProject:"搜索项目",noMatches:"没有匹配结果",searching:"正在搜索…",resultLimit:"结果较多,已截断显示。请细化关键词或缩小搜索范围。",copied:"已复制。",copyFailed:"复制失败,请重试。",revealRequested:"已请求运行端文件管理器定位。",revealFailed:"系统定位失败",collapse:"收起",expand:"展开",openCurrentWorkspace:"打开当前工作区目录",locateCurrentWorkspace:"在当前工作区定位",openFolder:"打开此文件夹",openContainingFolder:"打开所在文件夹",copyAbsolutePath:"复制绝对路径",copyRelativePath:"复制相对路径",copyFolderName:"复制目录名",copyFileName:"复制文件名",copyOldRelativePath:"复制原相对路径",selectedCodeCopied:"已复制选中代码。",allCodeCopied:"已复制全部代码。",copyContentFailed:"复制文件内容失败,请手动复制。",fileActions:"文件操作",headToWorking:"HEAD ↔ 工作区",gitChangesCount:"相对 HEAD \xb7 {{count}} 处变更",gitChangesCompact:"{{count}} 处变更",gitMarkersLoading:"正在与 HEAD 比较…",gitMarkersFailed:"变更读取失败 \xb7 刷新重试",gitMarkersUnavailable:"此文件无法显示行变更",gitAddedLines:"新增 {{count}} 行",gitModifiedLines:"修改 {{count}} 行",gitDeletedLines:"删除 {{count}} 行",noDiffChanges:" \xb7 当前比较无内容差异",previousChange:"上一个变更",nextChange:"下一个变更",inlineDiff:"切换为单栏 Diff",sideBySideDiff:"切换为左右 Diff",wrapOff:"关闭自动换行",wrapOn:"开启自动换行",expandUnchanged:"展开未变更内容",collapseUnchanged:"折叠未变更内容",reloadDiff:"重新加载 Diff",htmlMode:"HTML 显示方式",markdownMode:"Markdown 显示方式",markdownPreview:"{{name}} Markdown 预览",previewMode:"预览",sourceMode:"源码",findInFile:"在文件中查找",goToLine:"跳转到行",copySelectionOrAll:"复制选中内容或全部",reloadCurrentFile:"重新加载当前文件",binaryDiffUnavailable:"二进制文件暂不支持在线 Diff。",largeDiffUnavailable:"文件超过 5MB,暂不支持在线 Diff。",readAgain:"重新读取",noOpenFile:"尚未打开文件",imageViewer:"{{name}} 图片查看器",htmlPreview:"{{name}} HTML 预览",loadingFile:"正在读取文件…",closeTab:"关闭标签",closeOtherTabs:"关闭其他标签",closeRightTabs:"关闭右侧标签",closeLeftTabs:"关闭左侧标签",closeAllTabs:"关闭全部标签",openFiles:"已打开文件",closeDiff:"关闭 Diff {{name}}",closeFile:"关闭文件 {{name}}",collapseTabs:"收起标签",expandTabs:"展开标签 \xb7 {{count}}",gitUnavailable:"Git 不可用",repositoriesUnit:"个仓库",projectReadFailed:"读取项目失败",revealUnavailable:"系统定位尚未准备好",maxOpenFiles:"最多打开 {{count}} 个文件,请先关闭部分文件",branchFileClosed:"文件在切换后的分支中不存在,已关闭:{{path}}"}}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[19991],{19991:(e,s,i)=>{i.r(s),i.d(s,{L2FileWorkspaceView:()=>b});var l=i(7962),a=i(39569),t=i(55079),n=i(49667),r=i(24925),c=i(48155),o=i(84630),d=i(59252),x=i(90680),f=i(69266),m=i(78121),p=i(73068),h=i(86963),u=i(70657),g=i(35842);function b({workSession:e,runtime:s,gitRuntime:i,mobile:j,presentation:w,onOpenGitBranches:v,onOpenSidebar:k,onHide:N,onExpand:z,onSwitchPane:y,onOpenTerminal:A}){let{t:C}=(0,m.Bd)("workbench");(0,f.useSyncExternalStore)(s.subscribe,s.getRevision,s.getRevision);let{workId:E,projectName:R}=e,T=s.getDirectory(E),$=s.getWorkspace(E),F=T.replaceAll("\\","/").split("/").filter(Boolean).at(-1)??T,P=T===e.cwd?R:F,[S,D]=(0,f.useState)(!0),K=(0,f.useRef)(null),B="expanded"===w,W=B&&S&&!j,_=j||"single"===w;if(!$)return null;let{activeDiff:I,activePath:O}=$,V=I?[I.repositoryRoot,I.path].filter(Boolean).join("/"):null,q=()=>{s.getExpandedWorkId()===E?z():N()},G=(V??O??C("file")).replaceAll("\\","/").split("/").at(-1);return(0,l.jsxs)("section",{"data-testid":"file-workspace","data-file-work-id":E,className:"relative isolate flex size-full min-h-0 min-w-0 flex-col overflow-hidden bg-background outline-none","aria-label":C("fileViewer",{name:R}),tabIndex:-1,onFocus:e=>{e.target===e.currentTarget&&K.current?.focus()},onKeyDown:e=>{if("Escape"!==e.key||e.defaultPrevented||e.repeat||e.nativeEvent.isComposing)return;let s=e.target instanceof Element?e.target:null;if(s?.closest('.monaco-editor, [role="menu"]')||e.currentTarget.querySelector(".viewer-fullscreen-exit"))return;let i=s?.closest('[role="dialog"]');i&&i!==e.currentTarget.closest('[role="dialog"]')||e.ctrlKey||e.altKey||e.metaKey||e.shiftKey||(e.preventDefault(),e.stopPropagation(),q())},children:[(0,l.jsxs)("header",{className:"flex min-h-14 shrink-0 items-center gap-2 border-b bg-muted px-3 pt-[env(safe-area-inset-top)]",children:[j||"single"===w?(0,l.jsx)(h.$,{variant:"ghost",size:"icon","aria-label":C("showSessionMenu"),onClick:k,children:(0,l.jsx)(a.A,{className:"size-5"})}):null,B&&!j?(0,l.jsx)(h.$,{variant:"ghost",size:"icon","aria-label":C(S?"collapseProjectTree":"expandProjectTree"),onClick:()=>D(e=>!e),children:S?(0,l.jsx)(t.A,{className:"size-4"}):(0,l.jsx)(n.A,{className:"size-4"})}):null,(0,l.jsxs)("div",{className:"min-w-0 flex-1 px-1",children:[(0,l.jsxs)("p",{className:"truncate text-sm font-semibold",title:V??O??R,children:[G,I?" \xb7 Diff":""]}),(0,l.jsxs)("p",{className:"truncate text-xs text-muted-foreground",title:`${T} \xb7 ${V??O??""}`,children:[P,V??O?` \xb7 ${V??O}`:""]})]}),j?null:(0,l.jsx)(h.$,{variant:"ghost",size:"icon","aria-label":C(B?"exitExpanded":"expandFile"),title:C(B?"exitExpanded":"expandFile"),"data-file-expand-trigger":"",onClick:z,children:B?(0,l.jsx)(r.A,{className:"size-4"}):(0,l.jsx)(c.A,{className:"size-4"})}),(0,l.jsxs)(h.$,{variant:"ghost","aria-label":C(_?"returnChat":"hideFile"),onClick:N,children:[(0,l.jsx)(o.A,{className:"size-4"}),C(_?"chat":"collapse")]})]}),(0,l.jsxs)("div",{className:"flex min-h-0 min-w-0 flex-1",children:[W?(0,l.jsxs)("aside",{className:"flex min-h-0 w-[clamp(200px,22%,280px)] shrink-0 flex-col border-r bg-sidebar","aria-label":C("browseProject"),children:[(0,l.jsxs)("div",{className:"flex min-h-9 shrink-0 items-center border-b px-3",children:[(0,l.jsx)("span",{className:"flex-1 text-xs font-medium",children:C("fileWorkspaceTitle")}),A?(0,l.jsx)(h.$,{variant:"ghost",size:"icon-sm","aria-label":C("newTerminal"),title:C("newTerminal"),onClick:()=>A(e.cwd),children:(0,l.jsx)(d.A,{className:"size-4"})}):null,(0,l.jsx)(h.$,{variant:"ghost",size:"icon-sm","aria-label":C("refreshFiles"),onClick:()=>{s.refreshTree(E),i.refreshSnapshot(T)},children:(0,l.jsx)(x.A,{className:"size-4"})})]}),(0,l.jsx)(u.k,{workId:E,cwd:e.cwd,projectName:R,runtime:s,gitRuntime:i,onOpenGitBranches:v})]}):null,(0,l.jsxs)("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[(0,l.jsx)(g.X,{cwd:T,gitRuntime:i,paths:$.tabs,activePath:O,diffs:$.diffs,activeDiff:I,mobile:j,onActivate:e=>{"string"==typeof e?s.activateFile(E,e):s.openDiff(E,e.repositoryRoot,e.path)},onClose:(e,i)=>s.closeTabs(E,e,i)}),(0,l.jsx)(p.R,{ref:K,runtime:s.getFileRuntime(E),gitRuntime:i,visible:B||$.windowOpen&&("split"===w||"files"===$.activePane),compact:_,onEscape:q,onSwitchPane:y},T)]})]})]})}}}]);