@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
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"14405":{"*":{"id":"27297","name":"*","chunks":[],"async":false}},"20094":{"*":{"id":"71152","name":"*","chunks":[],"async":false}},"21358":{"*":{"id":"41051","name":"*","chunks":[],"async":false}},"22432":{"*":{"id":"1480","name":"*","chunks":[],"async":false}},"23367":{"*":{"id":"49453","name":"*","chunks":[],"async":false}},"33948":{"*":{"id":"79460","name":"*","chunks":[],"async":false}},"44478":{"*":{"id":"97016","name":"*","chunks":[],"async":false}},"49230":{"*":{"id":"99920","name":"*","chunks":[],"async":false}},"66999":{"*":{"id":"4527","name":"*","chunks":[],"async":false}},"69173":{"*":{"id":"7005","name":"*","chunks":[],"async":false}},"71713":{"*":{"id":"21147","name":"*","chunks":[],"async":false}},"84845":{"*":{"id":"43305","name":"*","chunks":[],"async":false}},"88219":{"*":{"id":"23579","name":"*","chunks":[],"async":false}},"90184":{"*":{"id":"88476","name":"*","chunks":[],"async":false}},"97457":{"*":{"id":"28317","name":"*","chunks":[],"async":false}},"97876":{"*":{"id":"58044","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/client/components/client-page.js":{"id":69173,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/client/components/client-page.js":{"id":69173,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/client/components/client-segment.js":{"id":23367,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/client/components/client-segment.js":{"id":23367,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":33948,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":33948,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/client/components/layout-router.js":{"id":90184,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/client/components/layout-router.js":{"id":90184,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/client/components/render-from-template-context.js":{"id":44478,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":44478,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/lib/framework/boundary-components.js":{"id":14405,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":14405,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":22432,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":22432,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l1_entry/pages/l1-error-page.tsx":{"id":66999,"name":"*","chunks":["57235","static/chunks/57235-03ba1044f22b6c84.js","22092","static/chunks/22092-6d1bfbefa825ec03.js","24345","static/chunks/app/not-found-720cdf6a606b821a.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/client/script.js":{"id":97876,"name":"*","chunks":["57235","static/chunks/57235-03ba1044f22b6c84.js","14825","static/chunks/14825-5579aed34a631ad7.js","82371","static/chunks/82371-f7ba4a07a5dbcf34.js","15302","static/chunks/15302-9c807afc6c60de0c.js","11937","static/chunks/11937-1d0a9822f2c7995b.js","7177","static/chunks/app/layout-20718f1503910291.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/client/script.js":{"id":97876,"name":"*","chunks":["57235","static/chunks/57235-03ba1044f22b6c84.js","14825","static/chunks/14825-5579aed34a631ad7.js","82371","static/chunks/82371-f7ba4a07a5dbcf34.js","15302","static/chunks/15302-9c807afc6c60de0c.js","11937","static/chunks/11937-1d0a9822f2c7995b.js","7177","static/chunks/app/layout-20718f1503910291.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l1_entry/providers/l1-app-providers.tsx":{"id":88219,"name":"*","chunks":["57235","static/chunks/57235-03ba1044f22b6c84.js","14825","static/chunks/14825-5579aed34a631ad7.js","82371","static/chunks/82371-f7ba4a07a5dbcf34.js","15302","static/chunks/15302-9c807afc6c60de0c.js","11937","static/chunks/11937-1d0a9822f2c7995b.js","7177","static/chunks/app/layout-20718f1503910291.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l4_foundation/styles/l4-globals.css":{"id":84178,"name":"*","chunks":["57235","static/chunks/57235-03ba1044f22b6c84.js","14825","static/chunks/14825-5579aed34a631ad7.js","82371","static/chunks/82371-f7ba4a07a5dbcf34.js","15302","static/chunks/15302-9c807afc6c60de0c.js","11937","static/chunks/11937-1d0a9822f2c7995b.js","7177","static/chunks/app/layout-20718f1503910291.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/app/error.tsx":{"id":84845,"name":"*","chunks":["57235","static/chunks/57235-03ba1044f22b6c84.js","22092","static/chunks/22092-6d1bfbefa825ec03.js","18039","static/chunks/app/error-216b14b5da089ed3.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/app/global-error.tsx":{"id":71713,"name":"*","chunks":["34219","static/chunks/app/global-error-6f5fc4928fd1966c.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l1_entry/pages/l1-project-preview-page.tsx":{"id":97457,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l2_biz/auth/l2-login.tsx":{"id":21358,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l1_entry/pages/l1-home-page.tsx":{"id":20094,"name":"*","chunks":["85959","static/chunks/287c71e3-32bb21af66f1f035.js","26717","static/chunks/6c0b963a-c492581a5b6359f7.js","94287","static/chunks/cdfede43-b007dd93b1fdb122.js","57235","static/chunks/57235-03ba1044f22b6c84.js","14825","static/chunks/14825-5579aed34a631ad7.js","82371","static/chunks/82371-f7ba4a07a5dbcf34.js","79267","static/chunks/79267-7d21d7cdbd7cfca1.js","46270","static/chunks/46270-3e42514685626190.js","37313","static/chunks/37313-d5970e2d0c270d22.js","14197","static/chunks/14197-3d3ddd426ac06c9c.js","51474","static/chunks/51474-8dc714cb76b2e60a.js","15302","static/chunks/15302-9c807afc6c60de0c.js","9038","static/chunks/9038-05fd2688407b39c1.js","11937","static/chunks/11937-1d0a9822f2c7995b.js","58974","static/chunks/app/page-54040b9fd54ee8b3.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l1_entry/providers/l1-app-runtime-provider.tsx":{"id":49230,"name":"*","chunks":["85959","static/chunks/287c71e3-32bb21af66f1f035.js","26717","static/chunks/6c0b963a-c492581a5b6359f7.js","94287","static/chunks/cdfede43-b007dd93b1fdb122.js","57235","static/chunks/57235-03ba1044f22b6c84.js","14825","static/chunks/14825-5579aed34a631ad7.js","82371","static/chunks/82371-f7ba4a07a5dbcf34.js","79267","static/chunks/79267-7d21d7cdbd7cfca1.js","46270","static/chunks/46270-3e42514685626190.js","37313","static/chunks/37313-d5970e2d0c270d22.js","14197","static/chunks/14197-3d3ddd426ac06c9c.js","51474","static/chunks/51474-8dc714cb76b2e60a.js","15302","static/chunks/15302-9c807afc6c60de0c.js","9038","static/chunks/9038-05fd2688407b39c1.js","11937","static/chunks/11937-1d0a9822f2c7995b.js","58974","static/chunks/app/page-54040b9fd54ee8b3.js"],"async":false}},"entryCSSFiles":{"/home/runner/work/pi-desk/pi-desk/src/":[],"/home/runner/work/pi-desk/pi-desk/src/app/not-found":[],"/home/runner/work/pi-desk/pi-desk/src/app/layout":[{"inlined":false,"path":"static/css/10e063cfb3cda7bd.css"}],"/home/runner/work/pi-desk/pi-desk/src/app/error":[],"/home/runner/work/pi-desk/pi-desk/src/app/global-error":[],"/home/runner/work/pi-desk/pi-desk/src/app/page":[{"inlined":false,"path":"static/css/1e780a4936aa6ba3.css"},{"inlined":false,"path":"static/css/2c3b0c0ff1f49c68.css"}]},"rscModuleMapping":{"14405":{"*":{"id":"52047","name":"*","chunks":[],"async":false}},"20094":{"*":{"id":"11568","name":"*","chunks":[],"async":false}},"21358":{"*":{"id":"69079","name":"*","chunks":[],"async":false}},"22432":{"*":{"id":"7770","name":"*","chunks":[],"async":false}},"23367":{"*":{"id":"39159","name":"*","chunks":[],"async":false}},"33948":{"*":{"id":"52442","name":"*","chunks":[],"async":false}},"44478":{"*":{"id":"47594","name":"*","chunks":[],"async":false}},"49230":{"*":{"id":"66757","name":"*","chunks":[],"async":false}},"66999":{"*":{"id":"88893","name":"*","chunks":[],"async":false}},"69173":{"*":{"id":"17179","name":"*","chunks":[],"async":false}},"71713":{"*":{"id":"70961","name":"*","chunks":[],"async":false}},"84178":{"*":{"id":"12707","name":"*","chunks":[],"async":false}},"84845":{"*":{"id":"56951","name":"*","chunks":[],"async":false}},"88219":{"*":{"id":"64669","name":"*","chunks":[],"async":false}},"90184":{"*":{"id":"270","name":"*","chunks":[],"async":false}},"97457":{"*":{"id":"40571","name":"*","chunks":[],"async":false}},"97876":{"*":{"id":"29190","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"14405":{"*":{"id":"27297","name":"*","chunks":[],"async":false}},"20094":{"*":{"id":"71152","name":"*","chunks":[],"async":false}},"21358":{"*":{"id":"41051","name":"*","chunks":[],"async":false}},"22432":{"*":{"id":"1480","name":"*","chunks":[],"async":false}},"23367":{"*":{"id":"49453","name":"*","chunks":[],"async":false}},"33948":{"*":{"id":"79460","name":"*","chunks":[],"async":false}},"44478":{"*":{"id":"97016","name":"*","chunks":[],"async":false}},"49230":{"*":{"id":"99920","name":"*","chunks":[],"async":false}},"66999":{"*":{"id":"4527","name":"*","chunks":[],"async":false}},"69173":{"*":{"id":"7005","name":"*","chunks":[],"async":false}},"71713":{"*":{"id":"21147","name":"*","chunks":[],"async":false}},"84845":{"*":{"id":"43305","name":"*","chunks":[],"async":false}},"88219":{"*":{"id":"23579","name":"*","chunks":[],"async":false}},"90184":{"*":{"id":"88476","name":"*","chunks":[],"async":false}},"97457":{"*":{"id":"28317","name":"*","chunks":[],"async":false}},"97876":{"*":{"id":"58044","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/client/components/client-page.js":{"id":69173,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/client/components/client-page.js":{"id":69173,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/client/components/client-segment.js":{"id":23367,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/client/components/client-segment.js":{"id":23367,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":33948,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":33948,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/client/components/layout-router.js":{"id":90184,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/client/components/layout-router.js":{"id":90184,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/client/components/render-from-template-context.js":{"id":44478,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":44478,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/lib/framework/boundary-components.js":{"id":14405,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":14405,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":22432,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":22432,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l1_entry/pages/l1-error-page.tsx":{"id":66999,"name":"*","chunks":["57235","static/chunks/57235-03ba1044f22b6c84.js","22092","static/chunks/22092-6d1bfbefa825ec03.js","24345","static/chunks/app/not-found-720cdf6a606b821a.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/client/script.js":{"id":97876,"name":"*","chunks":["57235","static/chunks/57235-03ba1044f22b6c84.js","14825","static/chunks/14825-5579aed34a631ad7.js","82371","static/chunks/82371-f7ba4a07a5dbcf34.js","15302","static/chunks/15302-6e070e13fa65c863.js","11937","static/chunks/11937-1d0a9822f2c7995b.js","7177","static/chunks/app/layout-20718f1503910291.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/client/script.js":{"id":97876,"name":"*","chunks":["57235","static/chunks/57235-03ba1044f22b6c84.js","14825","static/chunks/14825-5579aed34a631ad7.js","82371","static/chunks/82371-f7ba4a07a5dbcf34.js","15302","static/chunks/15302-6e070e13fa65c863.js","11937","static/chunks/11937-1d0a9822f2c7995b.js","7177","static/chunks/app/layout-20718f1503910291.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l1_entry/providers/l1-app-providers.tsx":{"id":88219,"name":"*","chunks":["57235","static/chunks/57235-03ba1044f22b6c84.js","14825","static/chunks/14825-5579aed34a631ad7.js","82371","static/chunks/82371-f7ba4a07a5dbcf34.js","15302","static/chunks/15302-6e070e13fa65c863.js","11937","static/chunks/11937-1d0a9822f2c7995b.js","7177","static/chunks/app/layout-20718f1503910291.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l4_foundation/styles/l4-globals.css":{"id":84178,"name":"*","chunks":["57235","static/chunks/57235-03ba1044f22b6c84.js","14825","static/chunks/14825-5579aed34a631ad7.js","82371","static/chunks/82371-f7ba4a07a5dbcf34.js","15302","static/chunks/15302-6e070e13fa65c863.js","11937","static/chunks/11937-1d0a9822f2c7995b.js","7177","static/chunks/app/layout-20718f1503910291.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/app/error.tsx":{"id":84845,"name":"*","chunks":["57235","static/chunks/57235-03ba1044f22b6c84.js","22092","static/chunks/22092-6d1bfbefa825ec03.js","18039","static/chunks/app/error-216b14b5da089ed3.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/app/global-error.tsx":{"id":71713,"name":"*","chunks":["34219","static/chunks/app/global-error-6f5fc4928fd1966c.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l1_entry/pages/l1-project-preview-page.tsx":{"id":97457,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l2_biz/auth/l2-login.tsx":{"id":21358,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l1_entry/pages/l1-home-page.tsx":{"id":20094,"name":"*","chunks":["85959","static/chunks/287c71e3-32bb21af66f1f035.js","26717","static/chunks/6c0b963a-c492581a5b6359f7.js","94287","static/chunks/cdfede43-b007dd93b1fdb122.js","57235","static/chunks/57235-03ba1044f22b6c84.js","14825","static/chunks/14825-5579aed34a631ad7.js","82371","static/chunks/82371-f7ba4a07a5dbcf34.js","79267","static/chunks/79267-7d21d7cdbd7cfca1.js","46270","static/chunks/46270-3e42514685626190.js","37313","static/chunks/37313-d5970e2d0c270d22.js","14197","static/chunks/14197-3d3ddd426ac06c9c.js","51474","static/chunks/51474-8dc714cb76b2e60a.js","15302","static/chunks/15302-6e070e13fa65c863.js","65232","static/chunks/65232-ef4e5a4174f62faf.js","11937","static/chunks/11937-1d0a9822f2c7995b.js","58974","static/chunks/app/page-18d63fd3920dfae0.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l1_entry/providers/l1-app-runtime-provider.tsx":{"id":49230,"name":"*","chunks":["85959","static/chunks/287c71e3-32bb21af66f1f035.js","26717","static/chunks/6c0b963a-c492581a5b6359f7.js","94287","static/chunks/cdfede43-b007dd93b1fdb122.js","57235","static/chunks/57235-03ba1044f22b6c84.js","14825","static/chunks/14825-5579aed34a631ad7.js","82371","static/chunks/82371-f7ba4a07a5dbcf34.js","79267","static/chunks/79267-7d21d7cdbd7cfca1.js","46270","static/chunks/46270-3e42514685626190.js","37313","static/chunks/37313-d5970e2d0c270d22.js","14197","static/chunks/14197-3d3ddd426ac06c9c.js","51474","static/chunks/51474-8dc714cb76b2e60a.js","15302","static/chunks/15302-6e070e13fa65c863.js","65232","static/chunks/65232-ef4e5a4174f62faf.js","11937","static/chunks/11937-1d0a9822f2c7995b.js","58974","static/chunks/app/page-18d63fd3920dfae0.js"],"async":false}},"entryCSSFiles":{"/home/runner/work/pi-desk/pi-desk/src/":[],"/home/runner/work/pi-desk/pi-desk/src/app/not-found":[],"/home/runner/work/pi-desk/pi-desk/src/app/layout":[{"inlined":false,"path":"static/css/c43b04c244a64fb4.css"}],"/home/runner/work/pi-desk/pi-desk/src/app/error":[],"/home/runner/work/pi-desk/pi-desk/src/app/global-error":[],"/home/runner/work/pi-desk/pi-desk/src/app/page":[{"inlined":false,"path":"static/css/1e780a4936aa6ba3.css"},{"inlined":false,"path":"static/css/2c3b0c0ff1f49c68.css"}]},"rscModuleMapping":{"14405":{"*":{"id":"52047","name":"*","chunks":[],"async":false}},"20094":{"*":{"id":"11568","name":"*","chunks":[],"async":false}},"21358":{"*":{"id":"69079","name":"*","chunks":[],"async":false}},"22432":{"*":{"id":"7770","name":"*","chunks":[],"async":false}},"23367":{"*":{"id":"39159","name":"*","chunks":[],"async":false}},"33948":{"*":{"id":"52442","name":"*","chunks":[],"async":false}},"44478":{"*":{"id":"47594","name":"*","chunks":[],"async":false}},"49230":{"*":{"id":"66757","name":"*","chunks":[],"async":false}},"66999":{"*":{"id":"88893","name":"*","chunks":[],"async":false}},"69173":{"*":{"id":"17179","name":"*","chunks":[],"async":false}},"71713":{"*":{"id":"70961","name":"*","chunks":[],"async":false}},"84178":{"*":{"id":"12707","name":"*","chunks":[],"async":false}},"84845":{"*":{"id":"56951","name":"*","chunks":[],"async":false}},"88219":{"*":{"id":"64669","name":"*","chunks":[],"async":false}},"90184":{"*":{"id":"270","name":"*","chunks":[],"async":false}},"97457":{"*":{"id":"40571","name":"*","chunks":[],"async":false}},"97876":{"*":{"id":"29190","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
@@ -1 +1 @@
1
- (()=>{var a={};a.id=78161,a.ids=[78161],a.modules={1708:a=>{"use strict";a.exports=require("node:process")},2771:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>r,handler:()=>t,routeModule:()=>s});var d=c(85426),e=c(3372),f=c(2629),g=c(86804),h={};for(let a in g)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(h[a]=()=>g[a]);c.d(b,h);let i=(0,d.p)(()=>Promise.resolve().then(c.bind(c,19623))),j=(0,d.p)(()=>Promise.resolve().then(c.bind(c,56951))),k=(0,d.p)(()=>Promise.resolve().then(c.bind(c,70961))),l=(0,d.p)(()=>Promise.resolve().then(c.bind(c,82117))),m=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,10719,23))),n=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,58434,23))),o=(0,d.p)(()=>Promise.resolve().then(c.bind(c,70961))),p={children:["",{children:["project-preview",{children:["__PAGE__",{},{page:[(0,d.p)(()=>Promise.resolve().then(c.bind(c,58563))),"/home/runner/work/pi-desk/pi-desk/src/app/project-preview/page.tsx"]}]},{"global-error":[o,"/home/runner/work/pi-desk/pi-desk/src/app/global-error.tsx"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,5057)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}},[]]},{layout:[i,"/home/runner/work/pi-desk/pi-desk/src/app/layout.tsx"],error:[j,"/home/runner/work/pi-desk/pi-desk/src/app/error.tsx"],"global-error":[k,"/home/runner/work/pi-desk/pi-desk/src/app/global-error.tsx"],"not-found":[l,"/home/runner/work/pi-desk/pi-desk/src/app/not-found.tsx"],forbidden:[m,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[n,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,5057)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}},[]]}.children,q=(0,e.H)({tree:p,page:"/project-preview/page",pathname:"/project-preview",require:c,loadChunk:()=>Promise.resolve(),interopDefault:f.T}),r=q.__next_app__,s=q.routeModule,t=q.handler},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},28317:(a,b,c)=>{"use strict";c.d(b,{L1ProjectPreviewPage:()=>x});var d=c(52834),e=c(49147),f=c(57880),g=c(35021),h=c(55579),i=c(96298),j=c(9365),k=c(57850),l=c(5319),m=c(95198),n=c(95186),o=c(68341),p=c(90814),q=c(79739),r=c(75152),s=c(37496),t=c(11071);function u({picker:a,onSelect:b}){let{t:c}=(0,k.Bd)("projectHistory"),[f,g]=(0,e.useState)(""),h="browser"===a.target.view;return(0,d.jsxs)("section",{className:"mx-auto flex w-full max-w-3xl flex-col gap-6 px-4 py-8 sm:px-6 sm:py-12","data-testid":"project-picker",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h1",{className:"text-xl font-semibold",children:c("chooseProject")}),(0,d.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:c("serverDirectoryHint")})]}),(0,d.jsxs)("form",{onSubmit:a=>{let c;a.preventDefault(),(c=f.trim().replace(/^(["'])(.*)\1$/,"$2").trim())&&b(c)},className:"space-y-2",children:[(0,d.jsx)("label",{htmlFor:"project-directory",className:"text-sm font-medium",children:c("directoryPath")}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(t.p,{id:"project-directory",value:f,onChange:a=>g(a.target.value),placeholder:c("directoryPlaceholder"),autoComplete:"off",className:"min-w-0 flex-1 font-mono",onKeyDown:a=>{"Enter"===a.key&&a.nativeEvent.isComposing&&a.preventDefault()}}),(0,d.jsx)(l.$,{type:"submit",disabled:!f.trim(),children:c("openProject")})]})]}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("div",{className:"mb-3 flex flex-wrap items-center gap-2",children:[(0,d.jsx)(l.$,{variant:h?"ghost":"secondary",onClick:a.showProjects,disabled:a.loading,children:c("recentProjects")}),(0,d.jsxs)(l.$,{variant:h?"secondary":"ghost",onClick:()=>a.browse(null),disabled:a.loading,children:[(0,d.jsx)(j.A,{className:"size-4"}),c("browseDirectories")]})]}),a.error?(0,d.jsxs)("div",{role:"alert",className:"space-y-3 rounded-lg border p-4",children:[(0,d.jsx)("p",{className:"break-words text-sm text-destructive",children:a.error}),(0,d.jsx)(l.$,{variant:"outline",onClick:a.retry,children:c("retry")})]}):a.loading?(0,d.jsxs)("div",{role:"status",className:"flex items-center gap-2 py-6 text-sm text-muted-foreground",children:[(0,d.jsx)(p.A,{className:"size-4 animate-spin"}),c("loadingDirectories")]}):h&&a.browser?(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"mb-2 flex items-center gap-2",children:[(0,d.jsx)(l.$,{size:"icon-sm",variant:"ghost","aria-label":c("parentDirectory"),disabled:null===a.browser.cwd,onClick:()=>a.browse(a.browser?.parentCwd??null),children:(0,d.jsx)(q.A,{className:"size-4"})}),(0,d.jsx)("span",{className:"min-w-0 flex-1 break-all font-mono text-sm",children:a.browser.cwd??c("directoryRoots")}),a.browser.cwd?(0,d.jsx)(l.$,{size:"sm",onClick:()=>b(a.browser.cwd),children:c("openThisDirectory")}):null]}),(0,d.jsxs)("div",{className:"divide-y rounded-lg border",children:[a.browser.directories.map(b=>(0,d.jsxs)("button",{type:"button",className:"flex min-h-10 w-full items-center gap-2 px-3 py-2 text-left hover:bg-accent focus-visible:outline-2 focus-visible:outline-ring",onClick:()=>a.browse(b.cwd),children:[(0,d.jsx)(r.A,{className:"size-4 shrink-0 text-muted-foreground"}),(0,d.jsx)("span",{className:"min-w-0 flex-1 break-all text-sm",children:b.name}),(0,d.jsx)(s.A,{className:"size-4 shrink-0"})]},b.cwd)),a.browser.directories.length?null:(0,d.jsx)("p",{className:"p-4 text-sm text-muted-foreground",children:c("noSubdirectories")})]})]}):(0,d.jsxs)("div",{className:"divide-y rounded-lg border",children:[a.projects.map(a=>(0,d.jsxs)("button",{type:"button",className:"flex min-h-14 w-full items-center gap-3 px-3 py-2 text-left hover:bg-accent focus-visible:outline-2 focus-visible:outline-ring",onClick:()=>b(a.cwd),children:[(0,d.jsx)(r.A,{className:"size-4 shrink-0 text-muted-foreground"}),(0,d.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,d.jsx)("span",{className:"block truncate text-sm font-medium",children:a.cwd.replaceAll("\\","/").split("/").filter(Boolean).at(-1)??a.cwd}),(0,d.jsx)("span",{className:"block break-all font-mono text-xs text-muted-foreground",children:a.cwd})]}),(0,d.jsx)(s.A,{className:"size-4 shrink-0"})]},a.cwd)),a.projects.length?null:(0,d.jsx)("p",{className:"p-4 text-sm text-muted-foreground",children:c("noRecentProjects")})]})]})]})}function v({clientId:a,onSelect:b,onUnauthorized:c}){let f=function(a,b){let[c,d]=(0,e.useState)({target:{view:"projects"},projects:[],browser:null,loading:!0,error:null}),f=(0,e.useRef)(null),g=(0,e.useCallback)(c=>{f.current?.abort();let e=new AbortController;f.current=e,d(a=>({...a,target:c,loading:!0,error:null})),(async()=>{try{if("projects"===c.view){let b=await (0,o.Tk)(a,e.signal);e.signal.aborted||d(a=>({...a,projects:b.directories,loading:!1}))}else{let b=await (0,o.Cp)(a,c.cwd,e.signal);e.signal.aborted||d(a=>({...a,browser:b,loading:!1}))}}catch(a){if(e.signal.aborted)return;a instanceof n.aw&&401===a.status&&b(),d(b=>({...b,loading:!1,error:a instanceof Error?a.message:String(a)}))}})()},[a,b]);return{...c,showProjects:()=>g({view:"projects"}),browse:a=>g({view:"browser",cwd:a}),retry:()=>g(c.target)}}(a,c);return(0,d.jsx)(u,{picker:f,onSelect:b})}function w({clientId:a,cwd:b,onSelect:c,onUnauthorized:e}){let{t:f}=(0,k.Bd)("projectHistory");return(0,d.jsx)("main",{className:"flex h-dvh min-w-0 flex-col overflow-hidden bg-background text-foreground","data-testid":"project-preview-page",children:b?(0,d.jsx)(m.q,{clientId:a,cwd:b,refreshOnFocus:!1,onUnauthorized:e,actions:(0,d.jsxs)(l.$,{size:"sm",variant:"ghost",onClick:()=>c(null),children:[(0,d.jsx)(j.A,{className:"size-4"}),(0,d.jsx)("span",{children:f("switchProject")})]})},b):(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-auto",children:(0,d.jsx)(v,{clientId:a,onSelect:c,onUnauthorized:e})})})}function x(){let a=(0,i.A)(),b=(0,f.useSearchParams)(),c=(0,f.useRouter)(),j=b.get("cwd")?.trim()||null,k=(0,e.useRef)(!1),l=(0,e.useCallback)(()=>{k.current||(k.current=!0,window.location.assign((0,g.R)(window.location.pathname+window.location.search)))},[]);return(0,d.jsx)(w,{clientId:a,cwd:j,onUnauthorized:l,onSelect:a=>c.push((0,h.F)(a))})}},28354:a=>{"use strict";a.exports=require("util")},29146:(a,b,c)=>{Promise.resolve().then(c.bind(c,40571))},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},35021:(a,b,c)=>{"use strict";function d(a){return Array.from(a).some(a=>{let b=a.charCodeAt(0);return b<=31||b>=127&&b<=159})}function e(a){let b;if("string"!=typeof a||!a.startsWith("/")||a.startsWith("//")||a.includes("\\")||d(a))return"/";try{if(b=decodeURIComponent(a.split(/[?#]/,1)[0]),d(decodeURIComponent(a)))return"/"}catch{return"/"}if(b.startsWith("//")||b.includes("\\"))return"/";let c=[];for(let a of b.split("/"))".."===a?c.pop():""!==a&&"."!==a&&c.push(a);return"login"===c.join("/").toLowerCase()?"/":a}function f(a){let b=e(a);return"/"===b?"/login":`/login?returnTo=${encodeURIComponent(b)}`}c.d(b,{R:()=>f,S:()=>e})},38522:a=>{"use strict";a.exports=require("node:zlib")},40571:(a,b,c)=>{"use strict";c.d(b,{L1ProjectPreviewPage:()=>d});let d=(0,c(68032).registerClientReference)(function(){throw Error("Attempted to call L1ProjectPreviewPage() from the server but L1ProjectPreviewPage is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/pi-desk/pi-desk/src/client/l1_entry/pages/l1-project-preview-page.tsx","L1ProjectPreviewPage")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},58563:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>g});var d=c(89564),e=c(76549),f=c(40571);function g(){return(0,d.jsx)(e.Suspense,{children:(0,d.jsx)(f.L1ProjectPreviewPage,{})})}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63426:(a,b,c)=>{Promise.resolve().then(c.bind(c,28317))},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},75430:a=>{"use strict";a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[43416,59473,9874,79686,80780,56830,35985,20460],()=>b(b.s=2771));module.exports=c})();
1
+ (()=>{var a={};a.id=78161,a.ids=[78161],a.modules={1708:a=>{"use strict";a.exports=require("node:process")},2771:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>r,handler:()=>t,routeModule:()=>s});var d=c(85426),e=c(3372),f=c(2629),g=c(86804),h={};for(let a in g)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(h[a]=()=>g[a]);c.d(b,h);let i=(0,d.p)(()=>Promise.resolve().then(c.bind(c,19623))),j=(0,d.p)(()=>Promise.resolve().then(c.bind(c,56951))),k=(0,d.p)(()=>Promise.resolve().then(c.bind(c,70961))),l=(0,d.p)(()=>Promise.resolve().then(c.bind(c,82117))),m=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,10719,23))),n=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,58434,23))),o=(0,d.p)(()=>Promise.resolve().then(c.bind(c,70961))),p={children:["",{children:["project-preview",{children:["__PAGE__",{},{page:[(0,d.p)(()=>Promise.resolve().then(c.bind(c,58563))),"/home/runner/work/pi-desk/pi-desk/src/app/project-preview/page.tsx"]}]},{"global-error":[o,"/home/runner/work/pi-desk/pi-desk/src/app/global-error.tsx"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,5057)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}},[]]},{layout:[i,"/home/runner/work/pi-desk/pi-desk/src/app/layout.tsx"],error:[j,"/home/runner/work/pi-desk/pi-desk/src/app/error.tsx"],"global-error":[k,"/home/runner/work/pi-desk/pi-desk/src/app/global-error.tsx"],"not-found":[l,"/home/runner/work/pi-desk/pi-desk/src/app/not-found.tsx"],forbidden:[m,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[n,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,5057)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}},[]]}.children,q=(0,e.H)({tree:p,page:"/project-preview/page",pathname:"/project-preview",require:c,loadChunk:()=>Promise.resolve(),interopDefault:f.T}),r=q.__next_app__,s=q.routeModule,t=q.handler},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},28317:(a,b,c)=>{"use strict";c.d(b,{L1ProjectPreviewPage:()=>x});var d=c(52834),e=c(49147),f=c(57880),g=c(35021),h=c(55579),i=c(96298),j=c(9365),k=c(57850),l=c(5319),m=c(84386),n=c(95186),o=c(68341),p=c(90814),q=c(79739),r=c(75152),s=c(37496),t=c(11071);function u({picker:a,onSelect:b}){let{t:c}=(0,k.Bd)("projectHistory"),[f,g]=(0,e.useState)(""),h="browser"===a.target.view;return(0,d.jsxs)("section",{className:"mx-auto flex w-full max-w-3xl flex-col gap-6 px-4 py-8 sm:px-6 sm:py-12","data-testid":"project-picker",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h1",{className:"text-xl font-semibold",children:c("chooseProject")}),(0,d.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:c("serverDirectoryHint")})]}),(0,d.jsxs)("form",{onSubmit:a=>{let c;a.preventDefault(),(c=f.trim().replace(/^(["'])(.*)\1$/,"$2").trim())&&b(c)},className:"space-y-2",children:[(0,d.jsx)("label",{htmlFor:"project-directory",className:"text-sm font-medium",children:c("directoryPath")}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(t.p,{id:"project-directory",value:f,onChange:a=>g(a.target.value),placeholder:c("directoryPlaceholder"),autoComplete:"off",className:"min-w-0 flex-1 font-mono",onKeyDown:a=>{"Enter"===a.key&&a.nativeEvent.isComposing&&a.preventDefault()}}),(0,d.jsx)(l.$,{type:"submit",disabled:!f.trim(),children:c("openProject")})]})]}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("div",{className:"mb-3 flex flex-wrap items-center gap-2",children:[(0,d.jsx)(l.$,{variant:h?"ghost":"secondary",onClick:a.showProjects,disabled:a.loading,children:c("recentProjects")}),(0,d.jsxs)(l.$,{variant:h?"secondary":"ghost",onClick:()=>a.browse(null),disabled:a.loading,children:[(0,d.jsx)(j.A,{className:"size-4"}),c("browseDirectories")]})]}),a.error?(0,d.jsxs)("div",{role:"alert",className:"space-y-3 rounded-lg border p-4",children:[(0,d.jsx)("p",{className:"break-words text-sm text-destructive",children:a.error}),(0,d.jsx)(l.$,{variant:"outline",onClick:a.retry,children:c("retry")})]}):a.loading?(0,d.jsxs)("div",{role:"status",className:"flex items-center gap-2 py-6 text-sm text-muted-foreground",children:[(0,d.jsx)(p.A,{className:"size-4 animate-spin"}),c("loadingDirectories")]}):h&&a.browser?(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"mb-2 flex items-center gap-2",children:[(0,d.jsx)(l.$,{size:"icon-sm",variant:"ghost","aria-label":c("parentDirectory"),disabled:null===a.browser.cwd,onClick:()=>a.browse(a.browser?.parentCwd??null),children:(0,d.jsx)(q.A,{className:"size-4"})}),(0,d.jsx)("span",{className:"min-w-0 flex-1 break-all font-mono text-sm",children:a.browser.cwd??c("directoryRoots")}),a.browser.cwd?(0,d.jsx)(l.$,{size:"sm",onClick:()=>b(a.browser.cwd),children:c("openThisDirectory")}):null]}),(0,d.jsxs)("div",{className:"divide-y rounded-lg border",children:[a.browser.directories.map(b=>(0,d.jsxs)("button",{type:"button",className:"flex min-h-10 w-full items-center gap-2 px-3 py-2 text-left hover:bg-accent focus-visible:outline-2 focus-visible:outline-ring",onClick:()=>a.browse(b.cwd),children:[(0,d.jsx)(r.A,{className:"size-4 shrink-0 text-muted-foreground"}),(0,d.jsx)("span",{className:"min-w-0 flex-1 break-all text-sm",children:b.name}),(0,d.jsx)(s.A,{className:"size-4 shrink-0"})]},b.cwd)),a.browser.directories.length?null:(0,d.jsx)("p",{className:"p-4 text-sm text-muted-foreground",children:c("noSubdirectories")})]})]}):(0,d.jsxs)("div",{className:"divide-y rounded-lg border",children:[a.projects.map(a=>(0,d.jsxs)("button",{type:"button",className:"flex min-h-14 w-full items-center gap-3 px-3 py-2 text-left hover:bg-accent focus-visible:outline-2 focus-visible:outline-ring",onClick:()=>b(a.cwd),children:[(0,d.jsx)(r.A,{className:"size-4 shrink-0 text-muted-foreground"}),(0,d.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,d.jsx)("span",{className:"block truncate text-sm font-medium",children:a.cwd.replaceAll("\\","/").split("/").filter(Boolean).at(-1)??a.cwd}),(0,d.jsx)("span",{className:"block break-all font-mono text-xs text-muted-foreground",children:a.cwd})]}),(0,d.jsx)(s.A,{className:"size-4 shrink-0"})]},a.cwd)),a.projects.length?null:(0,d.jsx)("p",{className:"p-4 text-sm text-muted-foreground",children:c("noRecentProjects")})]})]})]})}function v({clientId:a,onSelect:b,onUnauthorized:c}){let f=function(a,b){let[c,d]=(0,e.useState)({target:{view:"projects"},projects:[],browser:null,loading:!0,error:null}),f=(0,e.useRef)(null),g=(0,e.useCallback)(c=>{f.current?.abort();let e=new AbortController;f.current=e,d(a=>({...a,target:c,loading:!0,error:null})),(async()=>{try{if("projects"===c.view){let b=await (0,o.Tk)(a,e.signal);e.signal.aborted||d(a=>({...a,projects:b.directories,loading:!1}))}else{let b=await (0,o.Cp)(a,c.cwd,e.signal);e.signal.aborted||d(a=>({...a,browser:b,loading:!1}))}}catch(a){if(e.signal.aborted)return;a instanceof n.aw&&401===a.status&&b(),d(b=>({...b,loading:!1,error:a instanceof Error?a.message:String(a)}))}})()},[a,b]);return{...c,showProjects:()=>g({view:"projects"}),browse:a=>g({view:"browser",cwd:a}),retry:()=>g(c.target)}}(a,c);return(0,d.jsx)(u,{picker:f,onSelect:b})}function w({clientId:a,cwd:b,onSelect:c,onUnauthorized:e}){let{t:f}=(0,k.Bd)("projectHistory");return(0,d.jsx)("main",{className:"flex h-dvh min-w-0 flex-col overflow-hidden bg-background text-foreground","data-testid":"project-preview-page",children:b?(0,d.jsx)(m.q,{clientId:a,cwd:b,refreshOnFocus:!1,onUnauthorized:e,actions:(0,d.jsxs)(l.$,{size:"sm",variant:"ghost",onClick:()=>c(null),children:[(0,d.jsx)(j.A,{className:"size-4"}),(0,d.jsx)("span",{children:f("switchProject")})]})},b):(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-auto",children:(0,d.jsx)(v,{clientId:a,onSelect:c,onUnauthorized:e})})})}function x(){let a=(0,i.A)(),b=(0,f.useSearchParams)(),c=(0,f.useRouter)(),j=b.get("cwd")?.trim()||null,k=(0,e.useRef)(!1),l=(0,e.useCallback)(()=>{k.current||(k.current=!0,window.location.assign((0,g.R)(window.location.pathname+window.location.search)))},[]);return(0,d.jsx)(w,{clientId:a,cwd:j,onUnauthorized:l,onSelect:a=>c.push((0,h.Fj)(a))})}},28354:a=>{"use strict";a.exports=require("util")},29146:(a,b,c)=>{Promise.resolve().then(c.bind(c,40571))},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},35021:(a,b,c)=>{"use strict";function d(a){return Array.from(a).some(a=>{let b=a.charCodeAt(0);return b<=31||b>=127&&b<=159})}function e(a){let b;if("string"!=typeof a||!a.startsWith("/")||a.startsWith("//")||a.includes("\\")||d(a))return"/";try{if(b=decodeURIComponent(a.split(/[?#]/,1)[0]),d(decodeURIComponent(a)))return"/"}catch{return"/"}if(b.startsWith("//")||b.includes("\\"))return"/";let c=[];for(let a of b.split("/"))".."===a?c.pop():""!==a&&"."!==a&&c.push(a);return"login"===c.join("/").toLowerCase()?"/":a}function f(a){let b=e(a);return"/"===b?"/login":`/login?returnTo=${encodeURIComponent(b)}`}c.d(b,{R:()=>f,S:()=>e})},38522:a=>{"use strict";a.exports=require("node:zlib")},40571:(a,b,c)=>{"use strict";c.d(b,{L1ProjectPreviewPage:()=>d});let d=(0,c(68032).registerClientReference)(function(){throw Error("Attempted to call L1ProjectPreviewPage() from the server but L1ProjectPreviewPage is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/pi-desk/pi-desk/src/client/l1_entry/pages/l1-project-preview-page.tsx","L1ProjectPreviewPage")},40911:(a,b,c)=>{"use strict";c.d(b,{Ax:()=>e});let d={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 历史失败"}};function e(a,b){let c=a?.trim()||null;return[c?.replaceAll("\\","/").split("/").filter(Boolean).at(-1)??c,d[b].previewTitle,"Pi Desk"].filter(Boolean).join(" \xb7 ")}},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},58563:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{default:()=>l,generateMetadata:()=>k});var e=c(89564),f=c(76549),g=c(40571),h=c(40911),i=c(61035),j=a([i]);async function k({searchParams:a}){let{cwd:b}=await a,{region:c}=(0,i.J)().getSnapshot();return{title:(0,h.Ax)(Array.isArray(b)?b[0]:b,c.locale)}}function l(){return(0,e.jsx)(f.Suspense,{children:(0,e.jsx)(g.L1ProjectPreviewPage,{})})}i=(j.then?(await j)():j)[0],d()}catch(a){d(a)}})},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63426:(a,b,c)=>{Promise.resolve().then(c.bind(c,28317))},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},75430:a=>{"use strict";a.exports=import("@earendil-works/pi-coding-agent")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[43416,59473,9874,79686,80780,56830,35985,27344],()=>b(b.s=2771));module.exports=c})();
@@ -1 +1 @@
1
- globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/project-preview/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"14405":{"*":{"id":"27297","name":"*","chunks":[],"async":false}},"20094":{"*":{"id":"71152","name":"*","chunks":[],"async":false}},"21358":{"*":{"id":"41051","name":"*","chunks":[],"async":false}},"22432":{"*":{"id":"1480","name":"*","chunks":[],"async":false}},"23367":{"*":{"id":"49453","name":"*","chunks":[],"async":false}},"33948":{"*":{"id":"79460","name":"*","chunks":[],"async":false}},"44478":{"*":{"id":"97016","name":"*","chunks":[],"async":false}},"49230":{"*":{"id":"99920","name":"*","chunks":[],"async":false}},"66999":{"*":{"id":"4527","name":"*","chunks":[],"async":false}},"69173":{"*":{"id":"7005","name":"*","chunks":[],"async":false}},"71713":{"*":{"id":"21147","name":"*","chunks":[],"async":false}},"84845":{"*":{"id":"43305","name":"*","chunks":[],"async":false}},"88219":{"*":{"id":"23579","name":"*","chunks":[],"async":false}},"90184":{"*":{"id":"88476","name":"*","chunks":[],"async":false}},"97457":{"*":{"id":"28317","name":"*","chunks":[],"async":false}},"97876":{"*":{"id":"58044","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/client/components/client-page.js":{"id":69173,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/client/components/client-page.js":{"id":69173,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/client/components/client-segment.js":{"id":23367,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/client/components/client-segment.js":{"id":23367,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":33948,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":33948,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/client/components/layout-router.js":{"id":90184,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/client/components/layout-router.js":{"id":90184,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/client/components/render-from-template-context.js":{"id":44478,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":44478,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/lib/framework/boundary-components.js":{"id":14405,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":14405,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":22432,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":22432,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l1_entry/pages/l1-error-page.tsx":{"id":66999,"name":"*","chunks":["57235","static/chunks/57235-03ba1044f22b6c84.js","22092","static/chunks/22092-6d1bfbefa825ec03.js","24345","static/chunks/app/not-found-720cdf6a606b821a.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/client/script.js":{"id":97876,"name":"*","chunks":["57235","static/chunks/57235-03ba1044f22b6c84.js","14825","static/chunks/14825-5579aed34a631ad7.js","82371","static/chunks/82371-f7ba4a07a5dbcf34.js","15302","static/chunks/15302-9c807afc6c60de0c.js","11937","static/chunks/11937-1d0a9822f2c7995b.js","7177","static/chunks/app/layout-20718f1503910291.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/client/script.js":{"id":97876,"name":"*","chunks":["57235","static/chunks/57235-03ba1044f22b6c84.js","14825","static/chunks/14825-5579aed34a631ad7.js","82371","static/chunks/82371-f7ba4a07a5dbcf34.js","15302","static/chunks/15302-9c807afc6c60de0c.js","11937","static/chunks/11937-1d0a9822f2c7995b.js","7177","static/chunks/app/layout-20718f1503910291.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l1_entry/providers/l1-app-providers.tsx":{"id":88219,"name":"*","chunks":["57235","static/chunks/57235-03ba1044f22b6c84.js","14825","static/chunks/14825-5579aed34a631ad7.js","82371","static/chunks/82371-f7ba4a07a5dbcf34.js","15302","static/chunks/15302-9c807afc6c60de0c.js","11937","static/chunks/11937-1d0a9822f2c7995b.js","7177","static/chunks/app/layout-20718f1503910291.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l4_foundation/styles/l4-globals.css":{"id":84178,"name":"*","chunks":["57235","static/chunks/57235-03ba1044f22b6c84.js","14825","static/chunks/14825-5579aed34a631ad7.js","82371","static/chunks/82371-f7ba4a07a5dbcf34.js","15302","static/chunks/15302-9c807afc6c60de0c.js","11937","static/chunks/11937-1d0a9822f2c7995b.js","7177","static/chunks/app/layout-20718f1503910291.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/app/error.tsx":{"id":84845,"name":"*","chunks":["57235","static/chunks/57235-03ba1044f22b6c84.js","22092","static/chunks/22092-6d1bfbefa825ec03.js","18039","static/chunks/app/error-216b14b5da089ed3.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/app/global-error.tsx":{"id":71713,"name":"*","chunks":["34219","static/chunks/app/global-error-6f5fc4928fd1966c.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l1_entry/pages/l1-project-preview-page.tsx":{"id":97457,"name":"*","chunks":["57235","static/chunks/57235-03ba1044f22b6c84.js","14825","static/chunks/14825-5579aed34a631ad7.js","82371","static/chunks/82371-f7ba4a07a5dbcf34.js","79267","static/chunks/79267-7d21d7cdbd7cfca1.js","46270","static/chunks/46270-3e42514685626190.js","37313","static/chunks/37313-d5970e2d0c270d22.js","15302","static/chunks/15302-9c807afc6c60de0c.js","9038","static/chunks/9038-05fd2688407b39c1.js","78161","static/chunks/app/project-preview/page-bc18765121950e65.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l2_biz/auth/l2-login.tsx":{"id":21358,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l1_entry/pages/l1-home-page.tsx":{"id":20094,"name":"*","chunks":["85959","static/chunks/287c71e3-32bb21af66f1f035.js","26717","static/chunks/6c0b963a-c492581a5b6359f7.js","94287","static/chunks/cdfede43-b007dd93b1fdb122.js","57235","static/chunks/57235-03ba1044f22b6c84.js","14825","static/chunks/14825-5579aed34a631ad7.js","82371","static/chunks/82371-f7ba4a07a5dbcf34.js","79267","static/chunks/79267-7d21d7cdbd7cfca1.js","46270","static/chunks/46270-3e42514685626190.js","37313","static/chunks/37313-d5970e2d0c270d22.js","14197","static/chunks/14197-3d3ddd426ac06c9c.js","51474","static/chunks/51474-8dc714cb76b2e60a.js","15302","static/chunks/15302-9c807afc6c60de0c.js","9038","static/chunks/9038-05fd2688407b39c1.js","11937","static/chunks/11937-1d0a9822f2c7995b.js","58974","static/chunks/app/page-54040b9fd54ee8b3.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l1_entry/providers/l1-app-runtime-provider.tsx":{"id":49230,"name":"*","chunks":["85959","static/chunks/287c71e3-32bb21af66f1f035.js","26717","static/chunks/6c0b963a-c492581a5b6359f7.js","94287","static/chunks/cdfede43-b007dd93b1fdb122.js","57235","static/chunks/57235-03ba1044f22b6c84.js","14825","static/chunks/14825-5579aed34a631ad7.js","82371","static/chunks/82371-f7ba4a07a5dbcf34.js","79267","static/chunks/79267-7d21d7cdbd7cfca1.js","46270","static/chunks/46270-3e42514685626190.js","37313","static/chunks/37313-d5970e2d0c270d22.js","14197","static/chunks/14197-3d3ddd426ac06c9c.js","51474","static/chunks/51474-8dc714cb76b2e60a.js","15302","static/chunks/15302-9c807afc6c60de0c.js","9038","static/chunks/9038-05fd2688407b39c1.js","11937","static/chunks/11937-1d0a9822f2c7995b.js","58974","static/chunks/app/page-54040b9fd54ee8b3.js"],"async":false}},"entryCSSFiles":{"/home/runner/work/pi-desk/pi-desk/src/":[],"/home/runner/work/pi-desk/pi-desk/src/app/not-found":[],"/home/runner/work/pi-desk/pi-desk/src/app/layout":[{"inlined":false,"path":"static/css/10e063cfb3cda7bd.css"}],"/home/runner/work/pi-desk/pi-desk/src/app/error":[],"/home/runner/work/pi-desk/pi-desk/src/app/global-error":[],"/home/runner/work/pi-desk/pi-desk/src/app/page":[{"inlined":false,"path":"static/css/1e780a4936aa6ba3.css"},{"inlined":false,"path":"static/css/2c3b0c0ff1f49c68.css"}],"/home/runner/work/pi-desk/pi-desk/src/app/project-preview/page":[{"inlined":false,"path":"static/css/2c3b0c0ff1f49c68.css"},{"inlined":false,"path":"static/css/1e780a4936aa6ba3.css"}]},"rscModuleMapping":{"14405":{"*":{"id":"52047","name":"*","chunks":[],"async":false}},"20094":{"*":{"id":"11568","name":"*","chunks":[],"async":false}},"21358":{"*":{"id":"69079","name":"*","chunks":[],"async":false}},"22432":{"*":{"id":"7770","name":"*","chunks":[],"async":false}},"23367":{"*":{"id":"39159","name":"*","chunks":[],"async":false}},"33948":{"*":{"id":"52442","name":"*","chunks":[],"async":false}},"44478":{"*":{"id":"47594","name":"*","chunks":[],"async":false}},"49230":{"*":{"id":"66757","name":"*","chunks":[],"async":false}},"66999":{"*":{"id":"88893","name":"*","chunks":[],"async":false}},"69173":{"*":{"id":"17179","name":"*","chunks":[],"async":false}},"71713":{"*":{"id":"70961","name":"*","chunks":[],"async":false}},"84178":{"*":{"id":"12707","name":"*","chunks":[],"async":false}},"84845":{"*":{"id":"56951","name":"*","chunks":[],"async":false}},"88219":{"*":{"id":"64669","name":"*","chunks":[],"async":false}},"90184":{"*":{"id":"270","name":"*","chunks":[],"async":false}},"97457":{"*":{"id":"40571","name":"*","chunks":[],"async":false}},"97876":{"*":{"id":"29190","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/project-preview/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"14405":{"*":{"id":"27297","name":"*","chunks":[],"async":false}},"20094":{"*":{"id":"71152","name":"*","chunks":[],"async":false}},"21358":{"*":{"id":"41051","name":"*","chunks":[],"async":false}},"22432":{"*":{"id":"1480","name":"*","chunks":[],"async":false}},"23367":{"*":{"id":"49453","name":"*","chunks":[],"async":false}},"33948":{"*":{"id":"79460","name":"*","chunks":[],"async":false}},"44478":{"*":{"id":"97016","name":"*","chunks":[],"async":false}},"49230":{"*":{"id":"99920","name":"*","chunks":[],"async":false}},"66999":{"*":{"id":"4527","name":"*","chunks":[],"async":false}},"69173":{"*":{"id":"7005","name":"*","chunks":[],"async":false}},"71713":{"*":{"id":"21147","name":"*","chunks":[],"async":false}},"84845":{"*":{"id":"43305","name":"*","chunks":[],"async":false}},"88219":{"*":{"id":"23579","name":"*","chunks":[],"async":false}},"90184":{"*":{"id":"88476","name":"*","chunks":[],"async":false}},"97457":{"*":{"id":"28317","name":"*","chunks":[],"async":false}},"97876":{"*":{"id":"58044","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/client/components/client-page.js":{"id":69173,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/client/components/client-page.js":{"id":69173,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/client/components/client-segment.js":{"id":23367,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/client/components/client-segment.js":{"id":23367,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":33948,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":33948,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/client/components/layout-router.js":{"id":90184,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/client/components/layout-router.js":{"id":90184,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/client/components/render-from-template-context.js":{"id":44478,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":44478,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/lib/framework/boundary-components.js":{"id":14405,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":14405,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":22432,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":22432,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l1_entry/pages/l1-error-page.tsx":{"id":66999,"name":"*","chunks":["57235","static/chunks/57235-03ba1044f22b6c84.js","22092","static/chunks/22092-6d1bfbefa825ec03.js","24345","static/chunks/app/not-found-720cdf6a606b821a.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/client/script.js":{"id":97876,"name":"*","chunks":["57235","static/chunks/57235-03ba1044f22b6c84.js","14825","static/chunks/14825-5579aed34a631ad7.js","82371","static/chunks/82371-f7ba4a07a5dbcf34.js","15302","static/chunks/15302-6e070e13fa65c863.js","11937","static/chunks/11937-1d0a9822f2c7995b.js","7177","static/chunks/app/layout-20718f1503910291.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/node_modules/.pnpm/next@16.3.1_@babel+core@7.29.7_@opentelemetry+api@1.9.0_@types+node@20.19.43_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/next/dist/esm/client/script.js":{"id":97876,"name":"*","chunks":["57235","static/chunks/57235-03ba1044f22b6c84.js","14825","static/chunks/14825-5579aed34a631ad7.js","82371","static/chunks/82371-f7ba4a07a5dbcf34.js","15302","static/chunks/15302-6e070e13fa65c863.js","11937","static/chunks/11937-1d0a9822f2c7995b.js","7177","static/chunks/app/layout-20718f1503910291.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l1_entry/providers/l1-app-providers.tsx":{"id":88219,"name":"*","chunks":["57235","static/chunks/57235-03ba1044f22b6c84.js","14825","static/chunks/14825-5579aed34a631ad7.js","82371","static/chunks/82371-f7ba4a07a5dbcf34.js","15302","static/chunks/15302-6e070e13fa65c863.js","11937","static/chunks/11937-1d0a9822f2c7995b.js","7177","static/chunks/app/layout-20718f1503910291.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l4_foundation/styles/l4-globals.css":{"id":84178,"name":"*","chunks":["57235","static/chunks/57235-03ba1044f22b6c84.js","14825","static/chunks/14825-5579aed34a631ad7.js","82371","static/chunks/82371-f7ba4a07a5dbcf34.js","15302","static/chunks/15302-6e070e13fa65c863.js","11937","static/chunks/11937-1d0a9822f2c7995b.js","7177","static/chunks/app/layout-20718f1503910291.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/app/error.tsx":{"id":84845,"name":"*","chunks":["57235","static/chunks/57235-03ba1044f22b6c84.js","22092","static/chunks/22092-6d1bfbefa825ec03.js","18039","static/chunks/app/error-216b14b5da089ed3.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/app/global-error.tsx":{"id":71713,"name":"*","chunks":["34219","static/chunks/app/global-error-6f5fc4928fd1966c.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l1_entry/pages/l1-project-preview-page.tsx":{"id":97457,"name":"*","chunks":["57235","static/chunks/57235-03ba1044f22b6c84.js","14825","static/chunks/14825-5579aed34a631ad7.js","82371","static/chunks/82371-f7ba4a07a5dbcf34.js","79267","static/chunks/79267-7d21d7cdbd7cfca1.js","46270","static/chunks/46270-3e42514685626190.js","37313","static/chunks/37313-d5970e2d0c270d22.js","15302","static/chunks/15302-6e070e13fa65c863.js","65232","static/chunks/65232-ef4e5a4174f62faf.js","78161","static/chunks/app/project-preview/page-038b6c14e03ed878.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l2_biz/auth/l2-login.tsx":{"id":21358,"name":"*","chunks":[],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l1_entry/pages/l1-home-page.tsx":{"id":20094,"name":"*","chunks":["85959","static/chunks/287c71e3-32bb21af66f1f035.js","26717","static/chunks/6c0b963a-c492581a5b6359f7.js","94287","static/chunks/cdfede43-b007dd93b1fdb122.js","57235","static/chunks/57235-03ba1044f22b6c84.js","14825","static/chunks/14825-5579aed34a631ad7.js","82371","static/chunks/82371-f7ba4a07a5dbcf34.js","79267","static/chunks/79267-7d21d7cdbd7cfca1.js","46270","static/chunks/46270-3e42514685626190.js","37313","static/chunks/37313-d5970e2d0c270d22.js","14197","static/chunks/14197-3d3ddd426ac06c9c.js","51474","static/chunks/51474-8dc714cb76b2e60a.js","15302","static/chunks/15302-6e070e13fa65c863.js","65232","static/chunks/65232-ef4e5a4174f62faf.js","11937","static/chunks/11937-1d0a9822f2c7995b.js","58974","static/chunks/app/page-18d63fd3920dfae0.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l1_entry/providers/l1-app-runtime-provider.tsx":{"id":49230,"name":"*","chunks":["85959","static/chunks/287c71e3-32bb21af66f1f035.js","26717","static/chunks/6c0b963a-c492581a5b6359f7.js","94287","static/chunks/cdfede43-b007dd93b1fdb122.js","57235","static/chunks/57235-03ba1044f22b6c84.js","14825","static/chunks/14825-5579aed34a631ad7.js","82371","static/chunks/82371-f7ba4a07a5dbcf34.js","79267","static/chunks/79267-7d21d7cdbd7cfca1.js","46270","static/chunks/46270-3e42514685626190.js","37313","static/chunks/37313-d5970e2d0c270d22.js","14197","static/chunks/14197-3d3ddd426ac06c9c.js","51474","static/chunks/51474-8dc714cb76b2e60a.js","15302","static/chunks/15302-6e070e13fa65c863.js","65232","static/chunks/65232-ef4e5a4174f62faf.js","11937","static/chunks/11937-1d0a9822f2c7995b.js","58974","static/chunks/app/page-18d63fd3920dfae0.js"],"async":false}},"entryCSSFiles":{"/home/runner/work/pi-desk/pi-desk/src/":[],"/home/runner/work/pi-desk/pi-desk/src/app/not-found":[],"/home/runner/work/pi-desk/pi-desk/src/app/layout":[{"inlined":false,"path":"static/css/c43b04c244a64fb4.css"}],"/home/runner/work/pi-desk/pi-desk/src/app/error":[],"/home/runner/work/pi-desk/pi-desk/src/app/global-error":[],"/home/runner/work/pi-desk/pi-desk/src/app/page":[{"inlined":false,"path":"static/css/1e780a4936aa6ba3.css"},{"inlined":false,"path":"static/css/2c3b0c0ff1f49c68.css"}],"/home/runner/work/pi-desk/pi-desk/src/app/project-preview/page":[{"inlined":false,"path":"static/css/2c3b0c0ff1f49c68.css"},{"inlined":false,"path":"static/css/1e780a4936aa6ba3.css"}]},"rscModuleMapping":{"14405":{"*":{"id":"52047","name":"*","chunks":[],"async":false}},"20094":{"*":{"id":"11568","name":"*","chunks":[],"async":false}},"21358":{"*":{"id":"69079","name":"*","chunks":[],"async":false}},"22432":{"*":{"id":"7770","name":"*","chunks":[],"async":false}},"23367":{"*":{"id":"39159","name":"*","chunks":[],"async":false}},"33948":{"*":{"id":"52442","name":"*","chunks":[],"async":false}},"44478":{"*":{"id":"47594","name":"*","chunks":[],"async":false}},"49230":{"*":{"id":"66757","name":"*","chunks":[],"async":false}},"66999":{"*":{"id":"88893","name":"*","chunks":[],"async":false}},"69173":{"*":{"id":"17179","name":"*","chunks":[],"async":false}},"71713":{"*":{"id":"70961","name":"*","chunks":[],"async":false}},"84178":{"*":{"id":"12707","name":"*","chunks":[],"async":false}},"84845":{"*":{"id":"56951","name":"*","chunks":[],"async":false}},"88219":{"*":{"id":"64669","name":"*","chunks":[],"async":false}},"90184":{"*":{"id":"270","name":"*","chunks":[],"async":false}},"97457":{"*":{"id":"40571","name":"*","chunks":[],"async":false}},"97876":{"*":{"id":"29190","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
@@ -1 +1 @@
1
- "use strict";exports.id=16438,exports.ids=[16438],exports.modules={16438:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{FW:()=>r,Uf:()=>q,ZY:()=>n,aJ:()=>o,b7:()=>s,eq:()=>p,oO:()=>t,qE:()=>m}),c(95220);var e=c(71473);c(42633),c(77598),c(51455),c(76760);var f=c(75430);c(26519),c(58417);var g=c(74982),h=c(46107),i=c(96459);c(18053),c(56433);var j=c(56971);c(37720),c(56571);var k=c(17683),l=a([e,f,g,h,i,j,k]);[e,f,g,h,i,j,k]=l.then?(await l)():l;class o extends Error{constructor(a){super(`插件不存在:${a}`),this.source=a,this.name="L2PluginManagementNotFoundError"}}class p extends Error{constructor(a){super(a),this.name="L2PluginManagementOperationConflictError"}}class q extends Error{constructor(a){super(a),this.name="L2PluginManagementInvalidPackageError"}}class r extends Error{constructor(a){super(a.message),this.rootError=a,this.name="L2PluginManagementPackageRootError"}}class s extends Error{constructor(){super("已有插件操作需要重启完成"),this.name="L2PluginManagementRestartPendingError"}}class t extends Error{constructor(){super("当前启动方式不支持自动重启 Pi Desk"),this.name="L2PluginManagementRestartUnavailableError"}}function m(){globalThis.__piDeskPluginManagement?.dispose()}function n(){if(!globalThis.__piDeskPluginManagement)throw Error("插件管理尚未完成进程级装配");return globalThis.__piDeskPluginManagement}d()}catch(a){d(a)}})},17683:(a,b,c)=>{c.a(a,async(a,b)=>{try{var d=c(75430);c(58417);var e=c(46107),f=c(74982),g=a([d,e,f]);[d,e,f]=g.then?(await g)():g,b()}catch(a){b(a)}})},18053:(a,b,c)=>{c(76760),c(32537)},26519:(a,b,c)=>{c.d(b,{FX:()=>H,LC:()=>C,MF:()=>G,Rw:()=>K,SW:()=>I,i:()=>J,jH:()=>F,o0:()=>L});var d=c(59473),e=c(24187),f=c(42633),g=c(58417),h=c(2002),i=c(99431);let j=d.Yj().trim().min(1).max(2048),k=g.mR,l=d.YO(j).min(1).max(32),m=d.Ik({phase:d.k5(["package","entry","setup","resources","resolve","native"]),message:f.qf.refine(a=>"string"==typeof a?a.length>0:a.default.length>0)}).strict(),n=d.Yj().trim().min(1).max(4096),o=d.Yj().trim().min(1).max(256),p=d.Yj().max(32768),q=d.Ik({name:o,label:p,state:d.k5(["active","inactive","shadowed"]),description:p,promptSnippet:p.nullable(),promptGuidelineCount:d.ai().int().nonnegative(),promptGuidelinePreview:p.nullable()}).strict(),r=d.Ik({name:o,label:p,state:d.k5(["active","inactive","shadowed"]),description:p,parameters:e.Dz,promptSnippet:p.nullable(),promptGuidelines:d.YO(p)}).strict(),s=d.Ik({path:n,events:d.YO(d.Ik({name:o,count:d.ai().int().positive()}).strict()),commands:d.YO(d.Ik({name:o,description:p.nullable()}).strict()),shortcuts:d.YO(d.Ik({shortcut:o,description:p.nullable()}).strict()),flags:d.YO(d.Ik({name:o,type:d.k5(["boolean","string"]),description:p.nullable(),default:d.KC([d.zM(),d.Yj(),d.ch()])}).strict()),messageRenderers:d.YO(o),entryRenderers:d.YO(o)}).strict(),t=d.Ik({name:o,description:p,path:n}).strict(),u=t.extend({modelVisible:d.zM()}).strict(),v=t.extend({content:d.Yj().max(65536),truncated:d.zM()}).strict(),w=v.extend({modelVisible:d.zM()}).strict(),x=d.Ik({name:o,path:n}).strict(),y=d.Ik({name:o,kind:d.k5(["config","native"])}).strict(),z=d.Ik({methods:d.YO(d.Ik({pluginName:o,method:o}).strict()),browserEntries:d.YO(d.Ik({pluginName:o}).strict()),messageDeclarations:d.YO(d.Ik({pluginName:o,declarationName:o,priority:d.ai().int().safe()}).strict())}).strict(),A=d.Ik({error:f.qf.refine(a=>"string"==typeof a?a.length<=32768:[a.default,...Object.values(a.translations)].every(a=>a.length<=32768)).nullable(),extensions:d.YO(s),tools:d.YO(q),skills:d.YO(u),prompts:d.YO(t),themes:d.YO(x),providers:d.YO(y),piDesk:z}).strict(),B=d.Ik({action:d.k5(["add","update","del","apply","enable","disable"]),phase:d.k5(["queued","checking","applying","waiting","failed"]),message:d.Yj().max(4e3).nullable()}).strict(),C=(0,h._G)({path:"plugins/management-update",bodySchema:d.Ik({}).strict()}),D=d.Ik({source:j,kind:d.k5(["package","extension"]).default("package"),operation:B.nullable().default(null),pluginName:d.Yj().trim().min(1).nullable(),description:f.qf.nullable().default(null),version:d.Yj().trim().min(1).nullable(),updateAvailable:d.zM().nullable(),updateTag:k.nullable().optional(),availableVersion:d.Yj().min(1).nullable().optional(),updateError:d.Yj().max(4e3).nullable().optional(),status:d.k5(["ready","available","disabled","failed"]),error:m.nullable(),capabilities:A}).strict();d.Ik({source:j,readme:f.qf.nullable().default(null),tools:d.YO(r),skills:d.YO(w),prompts:d.YO(v)}).strict();let E=d.Ik({plugins:d.YO(D),restartRequired:d.zM(),loadError:f.qf.refine(a=>"string"==typeof a?a.length>0:a.default.length>0).nullable()}).strict(),F=d.Ik({sources:d.YO(j).min(1).max(32).optional()}).strict(),G=d.Ik({}).strict().extend({mode:d.k5(["normal","basic"]).optional()}).strict(),H=d.Ik({checkUpdates:d.zM().optional(),sources:l.optional(),tag:k.optional()}).strict(),I=d.Ik({source:j}).strict(),J=I.extend({downloadSource:i.EU.optional(),registry:i.C6.optional(),tag:k.optional()}).strict(),K=d.gM("action",[d.Ik({action:d.eu("add"),items:d.YO(J).min(1).max(32)}).strict(),d.Ik({action:d.eu("update"),sources:l}).strict(),d.Ik({action:d.eu("del"),sources:l}).strict(),d.Ik({action:d.eu("tag"),sources:l,tag:k}).strict()]);d.Ik({snapshot:E,results:d.YO(d.Ik({source:j,error:d.Yj().max(4e3).nullable()}).strict()).max(32)}).strict();let L=I.extend({enabled:d.zM()}).strict()},32537:(a,b,c)=>{c(31421);var d=c(76760);c(73136);let{createRequire:e}=process.getBuiltinModule("module");e((0,d.join)(process.cwd(),"package.json"))("./src/server/l4_foundation/process/l4-process-tree.js")},37720:(a,b,c)=>{c(76760);var d=c(59473);c(32537);let e=d.Yj(),f=d.Ik({name:d.Yj(),description:d.Yj().nullable()}).strict();d.Ik({packages:d.YO(d.Ik({source:d.Yj(),error:d.Yj().nullable(),extensions:d.YO(d.Ik({path:d.Yj(),events:d.YO(d.Ik({name:d.Yj(),count:d.ai().int().positive()}).strict()),commands:d.YO(f),shortcuts:d.YO(d.Ik({shortcut:d.Yj(),description:d.Yj().nullable()}).strict()),flags:d.YO(d.Ik({name:d.Yj(),type:d.k5(["boolean","string"]),description:d.Yj().nullable(),default:d.KC([d.zM(),d.Yj(),d.ch()])}).strict()),messageRenderers:d.YO(d.Yj()),entryRenderers:d.YO(d.Yj())}).strict()),tools:d.YO(d.Ik({name:d.Yj(),label:e,state:d.k5(["active","inactive","shadowed"]),description:e,parameters:d.g1(d.Yj(),d.Pq()),promptSnippet:e.nullable(),promptSnippetDetail:e.nullable(),promptGuidelines:d.YO(e),promptGuidelineCount:d.ai().int().nonnegative(),promptGuidelinePreview:e.nullable()}).strict()),skills:d.YO(d.Ik({name:d.Yj(),description:d.Yj(),path:d.Yj(),filePath:d.Yj(),modelVisible:d.zM()}).strict()),prompts:d.YO(d.Ik({name:d.Yj(),description:d.Yj(),path:d.Yj(),filePath:d.Yj()}).strict()),themes:d.YO(d.Ik({name:d.Yj(),path:d.Yj()}).strict()),providers:d.YO(d.Ik({name:d.Yj(),kind:d.k5(["config","native"])}).strict())}).strict()),loadError:d.Yj().nullable()}).strict()},56433:(a,b,c)=>{c(51455),c(76760)},56571:(a,b,c)=>{c(76760);var d=c(59473);c(32537),d.Ik({packages:d.YO(d.Ik({source:d.Yj(),packageName:d.Yj().nullable(),version:d.Yj().nullable(),pluginName:d.Yj().nullable(),status:d.k5(["ready","failed"]),error:d.Ik({phase:d.k5(["package","entry","setup","resources","resolve"]),message:d.Yj()}).strict().nullable()}).strict()),loadError:d.Yj().nullable()}).strict()}};
1
+ "use strict";exports.id=16438,exports.ids=[16438],exports.modules={16438:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Uf:()=>q,ZY:()=>n,aJ:()=>o,b7:()=>r,eq:()=>p,oO:()=>s,qE:()=>m}),c(95220);var e=c(71473);c(42633),c(77598),c(51455),c(76760);var f=c(75430);c(26519),c(58417);var g=c(74982),h=c(46107),i=c(96459);c(18053),c(56433);var j=c(56971);c(37720),c(56571);var k=c(17683),l=a([e,f,g,h,i,j,k]);[e,f,g,h,i,j,k]=l.then?(await l)():l;class o extends Error{constructor(a){super(`插件不存在:${a}`),this.source=a,this.name="L2PluginManagementNotFoundError"}}class p extends Error{constructor(a){super(a),this.name="L2PluginManagementOperationConflictError"}}class q extends Error{constructor(a){super(a),this.name="L2PluginManagementInvalidPackageError"}}class r extends Error{constructor(){super("已有插件操作需要重启完成"),this.name="L2PluginManagementRestartPendingError"}}class s extends Error{constructor(){super("当前启动方式不支持自动重启 Pi Desk"),this.name="L2PluginManagementRestartUnavailableError"}}function m(){globalThis.__piDeskPluginManagement?.dispose()}function n(){if(!globalThis.__piDeskPluginManagement)throw Error("插件管理尚未完成进程级装配");return globalThis.__piDeskPluginManagement}d()}catch(a){d(a)}})},17683:(a,b,c)=>{c.a(a,async(a,b)=>{try{var d=c(75430);c(58417);var e=c(46107),f=c(74982),g=a([d,e,f]);[d,e,f]=g.then?(await g)():g,b()}catch(a){b(a)}})},18053:(a,b,c)=>{c(76760),c(32537)},26519:(a,b,c)=>{c.d(b,{FX:()=>H,LC:()=>C,MF:()=>G,Rw:()=>K,SW:()=>I,i:()=>J,jH:()=>F,o0:()=>L});var d=c(59473),e=c(24187),f=c(42633),g=c(58417),h=c(2002),i=c(99431);let j=d.Yj().trim().min(1).max(2048),k=g.mR,l=d.YO(j).min(1).max(32),m=d.Ik({phase:d.k5(["package","entry","setup","resources","resolve","native"]),message:f.qf.refine(a=>"string"==typeof a?a.length>0:a.default.length>0)}).strict(),n=d.Yj().trim().min(1).max(4096),o=d.Yj().trim().min(1).max(256),p=d.Yj().max(32768),q=d.Ik({name:o,label:p,state:d.k5(["active","inactive","shadowed"]),description:p,promptSnippet:p.nullable(),promptGuidelineCount:d.ai().int().nonnegative(),promptGuidelinePreview:p.nullable()}).strict(),r=d.Ik({name:o,label:p,state:d.k5(["active","inactive","shadowed"]),description:p,parameters:e.Dz,promptSnippet:p.nullable(),promptGuidelines:d.YO(p)}).strict(),s=d.Ik({path:n,events:d.YO(d.Ik({name:o,count:d.ai().int().positive()}).strict()),commands:d.YO(d.Ik({name:o,description:p.nullable()}).strict()),shortcuts:d.YO(d.Ik({shortcut:o,description:p.nullable()}).strict()),flags:d.YO(d.Ik({name:o,type:d.k5(["boolean","string"]),description:p.nullable(),default:d.KC([d.zM(),d.Yj(),d.ch()])}).strict()),messageRenderers:d.YO(o),entryRenderers:d.YO(o)}).strict(),t=d.Ik({name:o,description:p,path:n}).strict(),u=t.extend({modelVisible:d.zM()}).strict(),v=t.extend({content:d.Yj().max(65536),truncated:d.zM()}).strict(),w=v.extend({modelVisible:d.zM()}).strict(),x=d.Ik({name:o,path:n}).strict(),y=d.Ik({name:o,kind:d.k5(["config","native"])}).strict(),z=d.Ik({methods:d.YO(d.Ik({pluginName:o,method:o}).strict()),browserEntries:d.YO(d.Ik({pluginName:o}).strict()),messageDeclarations:d.YO(d.Ik({pluginName:o,declarationName:o,priority:d.ai().int().safe()}).strict())}).strict(),A=d.Ik({error:f.qf.refine(a=>"string"==typeof a?a.length<=32768:[a.default,...Object.values(a.translations)].every(a=>a.length<=32768)).nullable(),extensions:d.YO(s),tools:d.YO(q),skills:d.YO(u),prompts:d.YO(t),themes:d.YO(x),providers:d.YO(y),piDesk:z}).strict(),B=d.Ik({action:d.k5(["add","update","del","apply","enable","disable"]),phase:d.k5(["queued","checking","applying","waiting","failed"]),message:d.Yj().max(4e3).nullable()}).strict(),C=(0,h._G)({path:"plugins/management-update",bodySchema:d.Ik({}).strict()}),D=d.Ik({source:j,kind:d.k5(["package","extension"]).default("package"),operation:B.nullable().default(null),pluginName:d.Yj().trim().min(1).nullable(),description:f.qf.nullable().default(null),version:d.Yj().trim().min(1).nullable(),updateAvailable:d.zM().nullable(),updateTag:k.nullable().optional(),availableVersion:d.Yj().min(1).nullable().optional(),updateError:d.Yj().max(4e3).nullable().optional(),status:d.k5(["ready","available","disabled","failed"]),error:m.nullable(),capabilities:A}).strict();d.Ik({source:j,readme:f.qf.nullable().default(null),tools:d.YO(r),skills:d.YO(w),prompts:d.YO(v)}).strict();let E=d.Ik({plugins:d.YO(D),restartRequired:d.zM(),loadError:f.qf.refine(a=>"string"==typeof a?a.length>0:a.default.length>0).nullable()}).strict(),F=d.Ik({sources:d.YO(j).min(1).max(32).optional()}).strict(),G=d.Ik({}).strict().extend({mode:d.k5(["normal","basic"]).optional()}).strict(),H=d.Ik({checkUpdates:d.zM().optional(),sources:l.optional(),tag:k.optional()}).strict(),I=d.Ik({source:j}).strict(),J=I.extend({downloadSource:i.EU.optional(),registry:i.C6.optional(),tag:k.optional()}).strict(),K=d.gM("action",[d.Ik({action:d.eu("add"),items:d.YO(J).min(1).max(32)}).strict(),d.Ik({action:d.eu("update"),sources:l}).strict(),d.Ik({action:d.eu("del"),sources:l}).strict(),d.Ik({action:d.eu("tag"),sources:l,tag:k}).strict()]);d.Ik({snapshot:E,results:d.YO(d.Ik({source:j,error:d.Yj().max(4e3).nullable()}).strict()).max(32)}).strict();let L=I.extend({enabled:d.zM()}).strict()},32537:(a,b,c)=>{c(31421);var d=c(76760);c(73136);let{createRequire:e}=process.getBuiltinModule("module");e((0,d.join)(process.cwd(),"package.json"))("./src/server/l4_foundation/process/l4-process-tree.js")},37720:(a,b,c)=>{c(76760);var d=c(59473);c(32537);let e=d.Yj(),f=d.Ik({name:d.Yj(),description:d.Yj().nullable()}).strict();d.Ik({packages:d.YO(d.Ik({source:d.Yj(),error:d.Yj().nullable(),extensions:d.YO(d.Ik({path:d.Yj(),events:d.YO(d.Ik({name:d.Yj(),count:d.ai().int().positive()}).strict()),commands:d.YO(f),shortcuts:d.YO(d.Ik({shortcut:d.Yj(),description:d.Yj().nullable()}).strict()),flags:d.YO(d.Ik({name:d.Yj(),type:d.k5(["boolean","string"]),description:d.Yj().nullable(),default:d.KC([d.zM(),d.Yj(),d.ch()])}).strict()),messageRenderers:d.YO(d.Yj()),entryRenderers:d.YO(d.Yj())}).strict()),tools:d.YO(d.Ik({name:d.Yj(),label:e,state:d.k5(["active","inactive","shadowed"]),description:e,parameters:d.g1(d.Yj(),d.Pq()),promptSnippet:e.nullable(),promptSnippetDetail:e.nullable(),promptGuidelines:d.YO(e),promptGuidelineCount:d.ai().int().nonnegative(),promptGuidelinePreview:e.nullable()}).strict()),skills:d.YO(d.Ik({name:d.Yj(),description:d.Yj(),path:d.Yj(),filePath:d.Yj(),modelVisible:d.zM()}).strict()),prompts:d.YO(d.Ik({name:d.Yj(),description:d.Yj(),path:d.Yj(),filePath:d.Yj()}).strict()),themes:d.YO(d.Ik({name:d.Yj(),path:d.Yj()}).strict()),providers:d.YO(d.Ik({name:d.Yj(),kind:d.k5(["config","native"])}).strict())}).strict()),loadError:d.Yj().nullable()}).strict()},56433:(a,b,c)=>{c(51455),c(76760)},56571:(a,b,c)=>{c(76760);var d=c(59473);c(32537),d.Ik({packages:d.YO(d.Ik({source:d.Yj(),packageName:d.Yj().nullable(),version:d.Yj().nullable(),pluginName:d.Yj().nullable(),status:d.k5(["ready","failed"]),error:d.Ik({phase:d.k5(["package","entry","setup","resources","resolve"]),message:d.Yj()}).strict().nullable()}).strict()),loadError:d.Yj().nullable()}).strict()}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=18748,exports.ids=[18748],exports.modules={13127:(a,b,c)=>{c.d(b,{HE:()=>e,Wu:()=>d.j0,rY:()=>d.a4});var d=c(63603);function e(a){return Object.fromEntries(Object.entries(a).map(([a,b])=>[a,b.name]))}},17691:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{M:()=>j});var e=c(77598),f=c(73024),g=c(76760),h=c(75430),i=a([h]);function j(){let a=(0,h.getAgentDir)(),b=(0,g.join)(a,"pi-desk"),c=(0,g.join)(a,"pi-super");if((0,f.existsSync)(b)||!(0,f.existsSync)(c))return b;let d=(0,g.join)(a,`.pi-desk-migration-${(0,e.randomUUID)()}`);try{(0,f.cpSync)(c,d,{recursive:!0,errorOnExist:!0,force:!1}),(0,f.renameSync)(d,b),console.info("[Pi Desk] 已复制旧版应用数据到新目录")}finally{(0,f.rmSync)(d,{recursive:!0,force:!0})}return b}h=(i.then?(await i)():i)[0],d()}catch(a){d(a)}})},33290:(a,b,c)=>{function d(){return globalThis.__piDeskNativePluginDiagnostics||(globalThis.__piDeskNativePluginDiagnostics=[]),globalThis.__piDeskNativePluginDiagnostics}function e(a,b){let c=d();!c.some(c=>c.cwd===a&&c.message===b)&&(c.push({cwd:a,message:b}),c.length>100&&c.splice(0,c.length-100))}function f(a){let b=a=>{let b=a.replaceAll("\\","/");return"win32"===process.platform?b.toLowerCase():b},c=b(a).replace(/\/$/,""),e=d();for(let a=e.length-1;a>=0;a-=1){let d=b(e[a].message);(d.includes(`${c}:`)||d.includes(`${c}/`))&&e.splice(a,1)}}function g(){return d().map(a=>({...a}))}c.d(b,{pL:()=>e,tt:()=>f,u7:()=>g})},69375:(a,b,c)=>{c.d(b,{Od:()=>r,tU:()=>n,hE:()=>q,P9:()=>f,_G:()=>j,Vc:()=>i});var d=c(36153);d.Yj().uuid();let e=d.Ik({key:d.Yj().min(1).max(160),params:d.g1(d.Yj().min(1).max(80),d.KC([d.Yj().max(1e3),d.ai().finite()])).optional()}).strict(),f=4001,g=d.Yj().trim().min(1),h=d.Yj().uuid();function i(a){return Object.freeze({op:"req",path:g.parse(a.path),inputSchema:a.inputSchema,outputSchema:a.outputSchema,...void 0===a.timeoutMs?{}:{timeoutMs:d.ai().int().positive().parse(a.timeoutMs)}})}function j(a){return Object.freeze({op:"push",path:g.parse(a.path),bodySchema:a.bodySchema})}let k=d.Ik({op:d.eu("req"),path:g,requestId:h}).strict(),l=d.Ik({op:d.eu("resp"),path:g,requestId:h}).strict(),m=d.Ik({op:d.eu("push"),path:g}).strict(),n=d.Ik({head:k,body:d.Pq()}).strict(),o=d.Ik({head:l,body:d.Ik({code:d.eu(0),msg:d.eu(""),data:d.Pq()}).strict()}).strict(),p=d.Ik({head:l,body:d.Ik({code:d.ai().int().positive(),msg:d.Yj().min(1),data:d.ch(),i18n:e.optional()}).strict()}).strict(),q=d.KC([o,p]),r=d.Ik({head:m,body:d.Pq()}).strict()},72497:(a,b,c)=>{c.d(b,{Dz:()=>h,f7:()=>g,tv:()=>f});var d=c(36153);let e=d.Yj().trim().min(1).max(64).regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/),f=e,g=e,h=d.g1(d.Yj(),d.Pq());d.Yj().trim().min(3).max(129).regex(/^[a-z0-9]+(?:-[a-z0-9]+)*\/[a-z0-9]+(?:-[a-z0-9]+)*$/);let i=d.k5(["plugin","server","rocket","settings","panel","message","terminal","file","folder","bot","wrench","database","globe"]);d.gM("type",[d.Ik({type:d.eu("builtin"),name:i}).strict(),d.Ik({type:d.eu("svg"),content:d.Yj().trim().min(1).max(16384)}).strict()])},75106:(a,b,c)=>{c.d(b,{k:()=>d});let d=c(36153).ai().int().nonnegative().max(Number.MAX_SAFE_INTEGER)},76019:(a,b,c)=>{c.d(b,{J8:()=>f,fD:()=>g,qf:()=>e});var d=c(36153);let e=d.KC([d.Yj(),d.Ik({default:d.Yj(),translations:d.g1(d.Yj().min(1).max(35),d.Yj()).refine(a=>Object.keys(a).length<=16,"too many translations")}).strict()]);function f(a,b){return{default:a,translations:{en:b}}}function g(a,b){return"string"==typeof a?a:a.translations[b]??a.translations[b.split("-")[0]]??a.default}},98761:(a,b,c)=>{c.d(b,{$C:()=>A,A8:()=>E,GR:()=>q,MQ:()=>D,Pq:()=>B,UH:()=>j,Wh:()=>r,Xo:()=>o,YT:()=>z});var d=c(36153),e=c(59214),f=c(13127),g=c(72497),h=c(75106);let i=d.Yj().uuid(),j=d.Yj().trim().min(1).max(256),k=d.k5(["info","success","warning","error"]),l=d.Yj().trim().min(1).max(120),m=d.Yj().trim().max(320).nullable(),n=d.Ik({type:d.eu("plugin"),pluginName:g.tv,name:g.f7,data:g.Dz}).strict(),o=d.Ik({notificationId:i,level:k,title:l,description:m,createdAt:h.k,event:n.nullable()}).strict(),p=d.g1(g.tv,g.Dz),q=d.Ik({mode:d.k5(["normal","basic"]).default("normal"),notifications:d.YO(o),plugins:p,capabilityModes:f.Wu,settings:e.J.default({region:{locale:"en",timeZone:"UTC"}})}).strict(),r=d.Ik({level:k.optional(),title:l.optional(),description:m.optional(),event:n.nullable().optional()}).strict().refine(a=>Object.keys(a).length>0,{message:"notification changes cannot be empty"}),s=d.Ik({type:d.eu("add"),notification:o}).strict(),t=d.Ik({type:d.eu("update"),notificationId:i,changes:r}).strict(),u=d.Ik({type:d.eu("delete"),notificationId:i}).strict(),v=d.gM("type",[s,t,u]),w=d.Ik({pluginName:g.tv,state:g.Dz.nullable()}).strict(),x=d.Ik({key:d.eu("capabilityModes"),update:f.Wu}).strict(),y=d.Ik({key:d.eu("settings"),update:e.J}).strict();d.gM("key",[y,x,d.Ik({key:d.eu("notifications"),update:v}).strict(),d.Ik({key:d.eu("plugins"),update:w}).strict()]);let z=d.KC([y.extend({type:d.eu("update")}),x.extend({type:d.eu("update")}),d.Ik({type:d.eu("replace"),runtime:q}).strict(),d.Ik({type:d.eu("update"),key:d.eu("notifications"),update:v}).strict(),d.Ik({type:d.eu("update"),key:d.eu("plugins"),update:w}).strict()]),A=d.gM("key",[d.Ik({key:d.eu("notifications"),update:u}).strict(),d.Ik({key:d.eu("settings"),update:d.Ik({region:e.a.unwrap().partial().strict().refine(a=>Object.keys(a).length>0,"地区更新不能为空")}).strict()}).strict()]),B=d.Ik({}).strict(),C=d.Ik({name:g.f7,data:g.Dz}).strict(),D=d.Ik({key:j.optional(),level:k,title:l,description:d.Yj().trim().max(320).optional(),event:C.optional()}).strict(),E=d.Ik({level:k.optional(),title:l.optional(),description:m.optional()}).strict().refine(a=>Object.keys(a).length>0,{message:"plugin notification changes cannot be empty"})}};
@@ -1 +1 @@
1
- "use strict";exports.id=24557,exports.ids=[24557],exports.modules={489:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A:()=>k});var e=c(75430),f=c(96459),g=c(72498),h=c(42222),i=a([e,f,g,h]);function j(a){return[...new Map(a.map(a=>[a.name,{value:a.name,description:a.description.replace(/\s+/g," ").trim().slice(0,1e3)}])).values()].sort((a,b)=>a.value.localeCompare(b.value))}async function k(){let[a,b,c]=await Promise.all([(0,g.Zd)(),(0,h.Jj)(null),(0,f.WE)().listCapabilityDeclarations()]),d=(0,e.getAgentDir)();return{tools:j([...(0,e.createCodingTools)(d),...(0,e.createReadOnlyTools)(d),...a]),skills:j(b.skills),plugins:c}}[e,f,g,h]=i.then?(await i)():i,d()}catch(a){d(a)}})},15760:(a,b,c)=>{c.d(b,{i:()=>k});var d=c(76760),e=c(51455),f=c(63719),g=c(42633),h=c(13982),i=c(20416);function j(a){return/^(npm:|git:|https?:\/\/|ssh:\/\/|git:\/\/)/i.test(a)}function k(a){return(0,h.V)(async()=>{let{CONFIG_DIR_NAME:b,DefaultPackageManager:h,getAgentDir:k,loadSkills:l,SettingsManager:m}=await Promise.resolve().then(c.bind(c,75430)),n=k(),o=a??process.cwd(),p=null===a?"user":"project",q=m.create(o,n,{projectTrusted:null!==a}),r=new h({cwd:o,agentDir:n,settingsManager:q}),s=q.drainErrors().map(({scope:a,error:c})=>({path:(0,i.p0)("global"===a?(0,d.join)(n,"settings.json"):(0,d.join)(o,b,"settings.json")),message:c.message})),t=r.listConfiguredPackages(),u=new Set(t.filter(a=>a.scope===p&&!a.installedPath).map(a=>a.source)),v=await r.resolve(async a=>(t.some(b=>b.source===a&&b.scope===p)&&u.add(a),"skip"));for(let a of u)s.push({path:a,message:(0,g.J8)("包未安装或版本不匹配,已跳过;查看 Skills 不会自动安装包。","Package not installed or version mismatch. Skills are not installed automatically.")});let w=[(0,d.join)(n,"npm"),(0,d.join)(n,"git"),...t.flatMap(a=>j(a.source)&&a.installedPath?[a.installedPath]:[]),...null===a?[]:[(0,d.join)(a,b,"npm"),(0,d.join)(a,b,"git")]],x=await Promise.all(w.map(async a=>{try{return await (0,e.realpath)(a)}catch{return(0,d.resolve)(a)}})),y=new Set(await Promise.all(t.filter(a=>"user"===a.scope&&a.installedPath).map(async a=>{try{return(0,i.wX)(await (0,e.realpath)(a.installedPath))}catch{return(0,i.wX)(a.installedPath)}}))),z=[],A=new Set;for(let a of v.skills){if(a.metadata.scope!==p)continue;if("project"===p&&"package"===a.metadata.origin&&a.metadata.baseDir){let b=a.metadata.baseDir;try{b=await (0,e.realpath)(b)}catch{}if(y.has((0,i.wX)(b)))continue}let b=(0,i.p0)(a.path),c=(0,i.wX)(b);if(A.has(c))continue;A.add(c);let h=("SKILL.md"===(0,d.basename)(b)?(0,d.basename)((0,d.dirname)(b)):(0,d.basename)(b,".md"))||"Skill",k="";try{let a=await (0,e.stat)(b);if(!a.isFile())continue;if(a.size>f.NL)s.push({path:b,message:(0,g.J8)("入口文件超过文本读取限制。","The entry file exceeds the text read limit.")});else{let a=l({cwd:o,agentDir:n,skillPaths:[b],includeDefaults:!1});h=a.skills[0]?.name||h,k=a.skills[0]?.description??"",s.push(...a.diagnostics.map(a=>({path:(0,i.p0)(a.path??b),message:a.message})))}}catch(a){s.push({path:b,message:a instanceof Error?a.message:(0,g.J8)("入口文件读取失败","Could not read the entry file")})}a.enabled||s.push({path:b,message:(0,g.J8)("此资源已被 Pi 配置排除;仍可查看文件。","This resource is excluded by Pi configuration; its files are still available to view.")}),z.push({skillPath:b,name:h,description:k,packageSource:"package"===a.metadata.origin?a.metadata.source:null,managed:"package"===a.metadata.origin&&j(a.metadata.source)})}let B=new Map;for(let a of z){let b=B.get(a.name);b?s.push({path:a.skillPath,message:(0,g.J8)(`同名 Skill:${b};这里保留各自来源,不代表会话加载结果。`,`Duplicate Skill name: ${b}. Each source is shown here; this does not indicate the session load result.`)}):B.set(a.name,a.skillPath)}return z.sort((a,b)=>a.name.localeCompare(b.name,"zh-CN",{numeric:!0})||a.skillPath.localeCompare(b.skillPath)),{skills:z,diagnostics:s,managedRoots:x}})}},20416:(a,b,c)=>{c.d(b,{_w:()=>f,ml:()=>i,mt:()=>j,p0:()=>h,wX:()=>g});var d=c(76760),e=c(51455);class f extends Error{constructor(a,b){super(b),this.status=a,this.name="L4SkillError"}}function g(a){let b=(0,d.resolve)(a);return"win32"===process.platform?b.toLowerCase():b}function h(a){return(0,d.resolve)(a).split(d.sep).join("/")}function i(a,b){let c=(0,d.relative)(a,b);return""===c||".."!==c&&!c.startsWith(`..${d.sep}`)&&!(0,d.isAbsolute)(c)}async function j(a){try{return await (0,e.realpath)(a)}catch(a){if(a&&"object"==typeof a&&"code"in a&&("EACCES"===a.code||"EPERM"===a.code))throw new f(403,"没有权限访问 Skill 文件");throw new f(404,"Skill 或文件不存在")}}},24557:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{R:()=>i,l:()=>j});var e=c(93865),f=c(70580),g=c(8602),h=a([f]);async function i(a){let b;try{b=await a.json()}catch{return(0,g.e)(400,"请求 JSON 格式无效",{key:"errors:invalidJson"})}if(!e.XD.safeParse(b).success)return(0,g.e)(400,"能力模式查询参数无效",{key:"errors:capabilityGetInvalid"});try{return(0,g.n)(await (0,f.F)())}catch(a){return console.error("[Pi Desk][Capabilities] 读取模式设置失败",a),(0,g.e)(500,a instanceof Error?a.message:"读取能力模式失败",a instanceof Error?void 0:{key:"errors:capabilityGetFailed"})}}async function j(a){let b;try{b=await a.json()}catch{return(0,g.e)(400,"请求 JSON 格式无效",{key:"errors:invalidJson"})}let c=e.xm.safeParse(b);if(!c.success)return(0,g.e)(400,c.error.issues[0]?.message??"能力模式格式无效",c.error.issues[0]?void 0:{key:"errors:capabilityReplaceInvalid"});try{return await (0,f.x)(c.data),(0,g.n)({})}catch(a){return console.error("[Pi Desk][Capabilities] 保存模式设置失败",a),(0,g.e)(500,a instanceof Error?a.message:"保存能力模式失败",a instanceof Error?void 0:{key:"errors:capabilityReplaceFailed"})}}f=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},35324:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Qg:()=>q,uf:()=>r,zD:()=>p});var e=c(77598),f=c(73024),g=c(51455),h=c(76760),i=c(42633),j=c(63719),k=c(60351),l=c(20416),m=a([k]);async function n(a,b,c){if(!(c?j.rh:j._g).safeParse(b).success)throw new l._w(400,"Skill 内路径必须是规范相对路径");if("SKILL.md"!==(0,h.basename)(a.skillPath)&&""!==b&&b!==(0,h.basename)(a.skillPath))throw new l._w(400,"独立 Markdown Skill 只允许访问入口文件自身");let d=await (0,l.mt)((0,h.dirname)(a.skillPath)),e=await (0,l.mt)((0,h.resolve)(d,b));if(!(0,l.ml)(d,e))throw new l._w(400,"目标文件不在此 Skill 的资源目录内");return{root:d,target:e}}async function o(a,b,c){if(b.managed||a.managedRoots.some(a=>(0,l.ml)(a,c)))return(0,i.J8)("此文件由 Pi 包管理器维护,请在包的源码目录修改;更新安装包会覆盖这里的内容。","This file is managed by the Pi package manager. Edit the package source; updates will overwrite this copy.");try{return await (0,g.access)(c,f.constants.W_OK),await (0,g.access)((0,h.dirname)(c),f.constants.W_OK),null}catch{return(0,i.J8)("当前服务没有修改此文件或其所在目录的权限。","The service does not have permission to edit this file or its directory.")}}async function p(a,b){let{root:c,target:d}=await n(a,b,!0);if(!(await (0,g.stat)(d)).isDirectory())throw new l._w(400,"目标不是目录");if("SKILL.md"!==(0,h.basename)(a.skillPath))return{entries:[{name:(0,h.basename)(a.skillPath),type:"file"}],truncated:!1};let e=[];for(let a of(await (0,g.readdir)(d,{withFileTypes:!0})))if(!(a.name.includes("\\")||a.name.includes("\0")||a.name.startsWith(".pi-desk-save-")))try{let b=a.isSymbolicLink()?await (0,l.mt)((0,h.join)(d,a.name)):(0,h.join)(d,a.name);if(!(0,l.ml)(c,b))continue;let f=a.isSymbolicLink()?await (0,g.stat)(b):a;f.isDirectory()?e.push({name:a.name,type:"directory"}):f.isFile()&&e.push({name:a.name,type:"file"})}catch{}return e.sort((a,b)=>"SKILL.md"===a.name?-1:"SKILL.md"===b.name?1:(a.type===b.type?0:"directory"===a.type?-1:1)||a.name.localeCompare(b.name,"zh-CN",{numeric:!0})),{entries:e.slice(0,j.xm),truncated:e.length>j.xm}}async function q(a,b,c){let{root:d,target:e}=await n(b,c,!1),f=await (0,g.stat)(e);if(!f.isFile())throw new l._w(400,"目标不是文件");try{let c=await (0,k.dy)(d,e,"original");return"text"===c.kind?{...c,readOnlyReason:await o(a,b,e)}:c}catch(a){if(a instanceof k.n){if("unsupported"===a.kind)return{kind:"unsupported",size:f.size,reason:"此文件不是支持的图片或 UTF-8 文本,不能在 Monaco 中编辑。"};if("text-too-large"===a.kind||"image-too-large"===a.kind)throw new l._w(413,"文件超过预览大小限制,不提供截断编辑");if("not-found"===a.kind)throw new l._w(404,"文件已不存在")}throw a}}async function r(a,b,d,f){if(f.includes("\0"))throw new l._w(400,"不能保存包含空字节的文本");if(Buffer.byteLength(f,"utf8")>j.NL)throw new l._w(413,"提交文本超过大小限制");let{target:i}=await n(b,d,!1),{withFileMutationQueue:k}=await Promise.resolve().then(c.bind(c,75430));await k(i,async()=>{let c,k,m,p=await n(b,d,!1);if((0,l.wX)(p.target)!==(0,l.wX)(i))throw new l._w(409,"文件位置已变化,请重新打开后保存");let q=await o(a,b,i);if(q)throw new l._w(403,"string"==typeof q?q:q.default);let r=await (0,g.open)(i,"r");try{let a=await r.stat();if(!a.isFile())throw new l._w(400,"只能替换已有文本文件");if(a.size>j.NL)throw new l._w(413,"原文件超过文本编辑限制");k=a.mode;let b=Buffer.alloc(j.NL+1),d=0;for(;d<b.length;){let a=await r.read(b,d,b.length-d,null);if(0===a.bytesRead)break;d+=a.bytesRead}if(d>j.NL)throw new l._w(413,"原文件超过文本编辑限制");c=b.subarray(0,d)}finally{await r.close()}try{if(c.includes(0))throw Error("binary");m=new TextDecoder("utf-8",{fatal:!0}).decode(c)}catch{throw new l._w(400,"只能保存完整的 UTF-8 文本文件")}let s=239===c[0]&&187===c[1]&&191===c[2],t=m.match(/\r\n|\n|\r/)?.[0]??"\n",u=f.replace(/^\uFEFF/,"").replace(/\r\n|\r/g,"\n").replace(/\n/g,t),v=Buffer.from(`${s?"\uFEFF":""}${u}`,"utf8");if(v.length>j.NL)throw new l._w(413,"保存后的文件超过文本大小限制");let w=(0,h.join)((0,h.dirname)(i),`.pi-desk-save-${(0,e.randomUUID)()}`);try{let a=await (0,g.open)(w,"wx",k);try{await a.writeFile(v),await a.chmod(511&k),await a.sync()}finally{await a.close()}await (0,g.stat)(i),await (0,g.rename)(w,i)}finally{await (0,g.rm)(w,{force:!0})}})}k=(m.then?(await m)():m)[0],d()}catch(a){d(a)}})},42222:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Jj:()=>j,Lx:()=>k,W3:()=>m,_w:()=>g._w,ed:()=>l});var e=c(15760),f=c(35324),g=c(20416),h=a([f]);function i(a,b){let c=a.skills.find(a=>(0,g.wX)(a.skillPath)===(0,g.wX)(b));if(!c)throw new g._w(404,"当前范围内未找到此 Skill,请刷新目录");return c}async function j(a){let b=await (0,e.i)(a);return{skills:b.skills.map(({skillPath:a,name:b,description:c,packageSource:d})=>({skillPath:a,name:b,description:c,packageSource:d})),diagnostics:b.diagnostics}}async function k(a,b,c){let d=await (0,e.i)(a);return(0,f.zD)(i(d,b),c)}async function l(a,b,c){let d=await (0,e.i)(a);return(0,f.Qg)(d,i(d,b),c)}async function m(a,b,c,d){let g=await (0,e.i)(a);await (0,f.uf)(g,i(g,b),c,d)}f=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},70580:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{F:()=>i,x:()=>j});var e=c(93865),f=c(489),g=c(61518),h=a([f,g]);async function i(){let a=(0,g.O)().read(),b=await (0,f.A)();return e.zh.parse({modes:a,catalog:b})}async function j(a){await (0,g.O)().replace(a.modes)}[f,g]=h.then?(await h)():h,d()}catch(a){d(a)}})},93865:(a,b,c)=>{c.d(b,{XD:()=>f,xm:()=>h,zh:()=>g});var d=c(59473),e=c(20369);let f=d.Ik({}).strict(),g=d.Ik({modes:e.f$,catalog:e.IS}).strict(),h=d.Ik({modes:e.f$}).strict();d.Ik({}).strict()}};
1
+ "use strict";exports.id=24557,exports.ids=[24557],exports.modules={489:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A:()=>k});var e=c(75430),f=c(96459),g=c(72498),h=c(42222),i=a([e,f,g,h]);function j(a){return[...new Map(a.map(a=>[a.name,{value:a.name,description:a.description.replace(/\s+/g," ").trim().slice(0,1e3)}])).values()].sort((a,b)=>a.value.localeCompare(b.value))}async function k(){let[a,b,c]=await Promise.all([(0,g.Zd)(),(0,h.Jj)(null),(0,f.WE)().listCapabilityDeclarations()]),d=(0,e.getAgentDir)();return{tools:j([...(0,e.createCodingTools)(d),...(0,e.createReadOnlyTools)(d),...a]),skills:j(b.skills),plugins:c}}[e,f,g,h]=i.then?(await i)():i,d()}catch(a){d(a)}})},15760:(a,b,c)=>{c.d(b,{i:()=>j});var d=c(76760),e=c(51455),f=c(63719),g=c(42633),h=c(20416);function i(a){return/^(npm:|git:|https?:\/\/|ssh:\/\/|git:\/\/)/i.test(a)}async function j(a){let{CONFIG_DIR_NAME:b,DefaultPackageManager:j,getAgentDir:k,loadSkills:l,SettingsManager:m}=await Promise.resolve().then(c.bind(c,75430)),n=k(),o=a??process.cwd(),p=null===a?"user":"project",q=m.create(o,n,{projectTrusted:null!==a}),r=new j({cwd:o,agentDir:n,settingsManager:q}),s=q.drainErrors().map(({scope:a,error:c})=>({path:(0,h.p0)("global"===a?(0,d.join)(n,"settings.json"):(0,d.join)(o,b,"settings.json")),message:c.message})),t=r.listConfiguredPackages(),u=new Set(t.filter(a=>a.scope===p&&!a.installedPath).map(a=>a.source)),v=await r.resolve(async a=>(t.some(b=>b.source===a&&b.scope===p)&&u.add(a),"skip"));for(let a of u)s.push({path:a,message:(0,g.J8)("包未安装或版本不匹配,已跳过;查看 Skills 不会自动安装包。","Package not installed or version mismatch. Skills are not installed automatically.")});let w=[(0,d.join)(n,"npm"),(0,d.join)(n,"git"),...t.flatMap(a=>i(a.source)&&a.installedPath?[a.installedPath]:[]),...null===a?[]:[(0,d.join)(a,b,"npm"),(0,d.join)(a,b,"git")]],x=await Promise.all(w.map(async a=>{try{return await (0,e.realpath)(a)}catch{return(0,d.resolve)(a)}})),y=new Set(await Promise.all(t.filter(a=>"user"===a.scope&&a.installedPath).map(async a=>{try{return(0,h.wX)(await (0,e.realpath)(a.installedPath))}catch{return(0,h.wX)(a.installedPath)}}))),z=[],A=new Set;for(let a of v.skills){if(a.metadata.scope!==p)continue;if("project"===p&&"package"===a.metadata.origin&&a.metadata.baseDir){let b=a.metadata.baseDir;try{b=await (0,e.realpath)(b)}catch{}if(y.has((0,h.wX)(b)))continue}let b=(0,h.p0)(a.path),c=(0,h.wX)(b);if(A.has(c))continue;A.add(c);let j=("SKILL.md"===(0,d.basename)(b)?(0,d.basename)((0,d.dirname)(b)):(0,d.basename)(b,".md"))||"Skill",k="";try{let a=await (0,e.stat)(b);if(!a.isFile())continue;if(a.size>f.NL)s.push({path:b,message:(0,g.J8)("入口文件超过文本读取限制。","The entry file exceeds the text read limit.")});else{let a=l({cwd:o,agentDir:n,skillPaths:[b],includeDefaults:!1});j=a.skills[0]?.name||j,k=a.skills[0]?.description??"",s.push(...a.diagnostics.map(a=>({path:(0,h.p0)(a.path??b),message:a.message})))}}catch(a){s.push({path:b,message:a instanceof Error?a.message:(0,g.J8)("入口文件读取失败","Could not read the entry file")})}a.enabled||s.push({path:b,message:(0,g.J8)("此资源已被 Pi 配置排除;仍可查看文件。","This resource is excluded by Pi configuration; its files are still available to view.")}),z.push({skillPath:b,name:j,description:k,packageSource:"package"===a.metadata.origin?a.metadata.source:null,managed:"package"===a.metadata.origin&&i(a.metadata.source)})}let B=new Map;for(let a of z){let b=B.get(a.name);b?s.push({path:a.skillPath,message:(0,g.J8)(`同名 Skill:${b};这里保留各自来源,不代表会话加载结果。`,`Duplicate Skill name: ${b}. Each source is shown here; this does not indicate the session load result.`)}):B.set(a.name,a.skillPath)}return z.sort((a,b)=>a.name.localeCompare(b.name,"zh-CN",{numeric:!0})||a.skillPath.localeCompare(b.skillPath)),{skills:z,diagnostics:s,managedRoots:x}}},20416:(a,b,c)=>{c.d(b,{_w:()=>f,ml:()=>i,mt:()=>j,p0:()=>h,wX:()=>g});var d=c(76760),e=c(51455);class f extends Error{constructor(a,b){super(b),this.status=a,this.name="L4SkillError"}}function g(a){let b=(0,d.resolve)(a);return"win32"===process.platform?b.toLowerCase():b}function h(a){return(0,d.resolve)(a).split(d.sep).join("/")}function i(a,b){let c=(0,d.relative)(a,b);return""===c||".."!==c&&!c.startsWith(`..${d.sep}`)&&!(0,d.isAbsolute)(c)}async function j(a){try{return await (0,e.realpath)(a)}catch(a){if(a&&"object"==typeof a&&"code"in a&&("EACCES"===a.code||"EPERM"===a.code))throw new f(403,"没有权限访问 Skill 文件");throw new f(404,"Skill 或文件不存在")}}},24557:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{R:()=>i,l:()=>j});var e=c(93865),f=c(70580),g=c(8602),h=a([f]);async function i(a){let b;try{b=await a.json()}catch{return(0,g.e)(400,"请求 JSON 格式无效",{key:"errors:invalidJson"})}if(!e.XD.safeParse(b).success)return(0,g.e)(400,"能力模式查询参数无效",{key:"errors:capabilityGetInvalid"});try{return(0,g.n)(await (0,f.F)())}catch(a){return console.error("[Pi Desk][Capabilities] 读取模式设置失败",a),(0,g.e)(500,a instanceof Error?a.message:"读取能力模式失败",a instanceof Error?void 0:{key:"errors:capabilityGetFailed"})}}async function j(a){let b;try{b=await a.json()}catch{return(0,g.e)(400,"请求 JSON 格式无效",{key:"errors:invalidJson"})}let c=e.xm.safeParse(b);if(!c.success)return(0,g.e)(400,c.error.issues[0]?.message??"能力模式格式无效",c.error.issues[0]?void 0:{key:"errors:capabilityReplaceInvalid"});try{return await (0,f.x)(c.data),(0,g.n)({})}catch(a){return console.error("[Pi Desk][Capabilities] 保存模式设置失败",a),(0,g.e)(500,a instanceof Error?a.message:"保存能力模式失败",a instanceof Error?void 0:{key:"errors:capabilityReplaceFailed"})}}f=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},35324:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Qg:()=>q,uf:()=>r,zD:()=>p});var e=c(77598),f=c(73024),g=c(51455),h=c(76760),i=c(42633),j=c(63719),k=c(60351),l=c(20416),m=a([k]);async function n(a,b,c){if(!(c?j.rh:j._g).safeParse(b).success)throw new l._w(400,"Skill 内路径必须是规范相对路径");if("SKILL.md"!==(0,h.basename)(a.skillPath)&&""!==b&&b!==(0,h.basename)(a.skillPath))throw new l._w(400,"独立 Markdown Skill 只允许访问入口文件自身");let d=await (0,l.mt)((0,h.dirname)(a.skillPath)),e=await (0,l.mt)((0,h.resolve)(d,b));if(!(0,l.ml)(d,e))throw new l._w(400,"目标文件不在此 Skill 的资源目录内");return{root:d,target:e}}async function o(a,b,c){if(b.managed||a.managedRoots.some(a=>(0,l.ml)(a,c)))return(0,i.J8)("此文件由 Pi 包管理器维护,请在包的源码目录修改;更新安装包会覆盖这里的内容。","This file is managed by the Pi package manager. Edit the package source; updates will overwrite this copy.");try{return await (0,g.access)(c,f.constants.W_OK),await (0,g.access)((0,h.dirname)(c),f.constants.W_OK),null}catch{return(0,i.J8)("当前服务没有修改此文件或其所在目录的权限。","The service does not have permission to edit this file or its directory.")}}async function p(a,b){let{root:c,target:d}=await n(a,b,!0);if(!(await (0,g.stat)(d)).isDirectory())throw new l._w(400,"目标不是目录");if("SKILL.md"!==(0,h.basename)(a.skillPath))return{entries:[{name:(0,h.basename)(a.skillPath),type:"file"}],truncated:!1};let e=[];for(let a of(await (0,g.readdir)(d,{withFileTypes:!0})))if(!(a.name.includes("\\")||a.name.includes("\0")||a.name.startsWith(".pi-desk-save-")))try{let b=a.isSymbolicLink()?await (0,l.mt)((0,h.join)(d,a.name)):(0,h.join)(d,a.name);if(!(0,l.ml)(c,b))continue;let f=a.isSymbolicLink()?await (0,g.stat)(b):a;f.isDirectory()?e.push({name:a.name,type:"directory"}):f.isFile()&&e.push({name:a.name,type:"file"})}catch{}return e.sort((a,b)=>"SKILL.md"===a.name?-1:"SKILL.md"===b.name?1:(a.type===b.type?0:"directory"===a.type?-1:1)||a.name.localeCompare(b.name,"zh-CN",{numeric:!0})),{entries:e.slice(0,j.xm),truncated:e.length>j.xm}}async function q(a,b,c){let{root:d,target:e}=await n(b,c,!1),f=await (0,g.stat)(e);if(!f.isFile())throw new l._w(400,"目标不是文件");try{let c=await (0,k.dy)(d,e,"original");return"text"===c.kind?{...c,readOnlyReason:await o(a,b,e)}:c}catch(a){if(a instanceof k.n){if("unsupported"===a.kind)return{kind:"unsupported",size:f.size,reason:"此文件不是支持的图片或 UTF-8 文本,不能在 Monaco 中编辑。"};if("text-too-large"===a.kind||"image-too-large"===a.kind)throw new l._w(413,"文件超过预览大小限制,不提供截断编辑");if("not-found"===a.kind)throw new l._w(404,"文件已不存在")}throw a}}async function r(a,b,d,f){if(f.includes("\0"))throw new l._w(400,"不能保存包含空字节的文本");if(Buffer.byteLength(f,"utf8")>j.NL)throw new l._w(413,"提交文本超过大小限制");let{target:i}=await n(b,d,!1),{withFileMutationQueue:k}=await Promise.resolve().then(c.bind(c,75430));await k(i,async()=>{let c,k,m,p=await n(b,d,!1);if((0,l.wX)(p.target)!==(0,l.wX)(i))throw new l._w(409,"文件位置已变化,请重新打开后保存");let q=await o(a,b,i);if(q)throw new l._w(403,"string"==typeof q?q:q.default);let r=await (0,g.open)(i,"r");try{let a=await r.stat();if(!a.isFile())throw new l._w(400,"只能替换已有文本文件");if(a.size>j.NL)throw new l._w(413,"原文件超过文本编辑限制");k=a.mode;let b=Buffer.alloc(j.NL+1),d=0;for(;d<b.length;){let a=await r.read(b,d,b.length-d,null);if(0===a.bytesRead)break;d+=a.bytesRead}if(d>j.NL)throw new l._w(413,"原文件超过文本编辑限制");c=b.subarray(0,d)}finally{await r.close()}try{if(c.includes(0))throw Error("binary");m=new TextDecoder("utf-8",{fatal:!0}).decode(c)}catch{throw new l._w(400,"只能保存完整的 UTF-8 文本文件")}let s=239===c[0]&&187===c[1]&&191===c[2],t=m.match(/\r\n|\n|\r/)?.[0]??"\n",u=f.replace(/^\uFEFF/,"").replace(/\r\n|\r/g,"\n").replace(/\n/g,t),v=Buffer.from(`${s?"\uFEFF":""}${u}`,"utf8");if(v.length>j.NL)throw new l._w(413,"保存后的文件超过文本大小限制");let w=(0,h.join)((0,h.dirname)(i),`.pi-desk-save-${(0,e.randomUUID)()}`);try{let a=await (0,g.open)(w,"wx",k);try{await a.writeFile(v),await a.chmod(511&k),await a.sync()}finally{await a.close()}await (0,g.stat)(i),await (0,g.rename)(w,i)}finally{await (0,g.rm)(w,{force:!0})}})}k=(m.then?(await m)():m)[0],d()}catch(a){d(a)}})},42222:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Jj:()=>j,Lx:()=>k,W3:()=>m,_w:()=>g._w,ed:()=>l});var e=c(15760),f=c(35324),g=c(20416),h=a([f]);function i(a,b){let c=a.skills.find(a=>(0,g.wX)(a.skillPath)===(0,g.wX)(b));if(!c)throw new g._w(404,"当前范围内未找到此 Skill,请刷新目录");return c}async function j(a){let b=await (0,e.i)(a);return{skills:b.skills.map(({skillPath:a,name:b,description:c,packageSource:d})=>({skillPath:a,name:b,description:c,packageSource:d})),diagnostics:b.diagnostics}}async function k(a,b,c){let d=await (0,e.i)(a);return(0,f.zD)(i(d,b),c)}async function l(a,b,c){let d=await (0,e.i)(a);return(0,f.Qg)(d,i(d,b),c)}async function m(a,b,c,d){let g=await (0,e.i)(a);await (0,f.uf)(g,i(g,b),c,d)}f=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},70580:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{F:()=>i,x:()=>j});var e=c(93865),f=c(489),g=c(61518),h=a([f,g]);async function i(){let a=(0,g.O)().read(),b=await (0,f.A)();return e.zh.parse({modes:a,catalog:b})}async function j(a){await (0,g.O)().replace(a.modes)}[f,g]=h.then?(await h)():h,d()}catch(a){d(a)}})},93865:(a,b,c)=>{c.d(b,{XD:()=>f,xm:()=>h,zh:()=>g});var d=c(59473),e=c(20369);let f=d.Ik({}).strict(),g=d.Ik({modes:e.f$,catalog:e.IS}).strict(),h=d.Ik({modes:e.f$}).strict();d.Ik({}).strict()}};