@jetcrab/pi-desk 1.1.28-dev → 1.1.29-dev

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 (337) hide show
  1. package/package.json +1 -1
  2. package/src/app/api/work-sessions/search/route.ts +1 -0
  3. package/src/app/project-preview/page.tsx +1 -3
  4. package/src/client/l2_biz/project-preview/hooks/l2-use-project-preview.ts +1 -14
  5. package/src/client/l2_biz/project-preview/l2-project-preview-dialog.tsx +0 -1
  6. package/src/client/l2_biz/project-preview/l2-project-preview-page.tsx +0 -1
  7. package/src/client/l2_biz/project-preview/l2-project-preview.tsx +1 -4
  8. package/src/client/l2_biz/project-preview/views/l2-project-branch-select.tsx +42 -3
  9. package/src/client/l2_biz/workbench/git-workspace/l2-git-workspace-runtime.ts +11 -10
  10. package/src/client/l2_biz/workbench/hooks/l2-work-session-search.ts +52 -0
  11. package/src/client/l2_biz/workbench/hooks/l2-workbench-branch-picker.ts +42 -7
  12. package/src/client/l2_biz/workbench/hooks/l2-workbench-session-history.ts +143 -131
  13. package/src/client/l2_biz/workbench/hooks/l2-workbench-session-search.ts +97 -0
  14. package/src/client/l2_biz/workbench/l2-work-session-columns.tsx +8 -0
  15. package/src/client/l2_biz/workbench/l2-work-session-sidebar.tsx +129 -10
  16. package/src/client/l2_biz/workbench/l2-workbench-biz.ts +20 -2
  17. package/src/client/l2_biz/workbench/l2-workbench-branch-filter-preferences.ts +34 -0
  18. package/src/client/l2_biz/workbench/l2-workbench-branch-picker.tsx +34 -71
  19. package/src/client/l2_biz/workbench/l2-workbench-chat-input-runtime.ts +38 -1
  20. package/src/client/l2_biz/workbench/l2-workbench-chat-view.tsx +11 -1
  21. package/src/client/l2_biz/workbench/l2-workbench-picker-dialog.tsx +55 -215
  22. package/src/client/l2_biz/workbench/l2-workbench.tsx +20 -38
  23. package/src/client/l2_biz/workbench/views/l2-workbench-session-search.tsx +123 -0
  24. package/src/client/l3_modules/conversation/l3-conversation-messages.tsx +43 -4
  25. package/src/client/l3_modules/project-files/l3-markdown-preview.module.css +1 -1
  26. package/src/client/l3_modules/project-files/l3-project-document-git.ts +13 -29
  27. package/src/client/l3_modules/project-files/l3-project-document-view.tsx +1 -4
  28. package/src/client/l3_modules/project-files/l3-project-file-browser.module.css +14 -18
  29. package/src/client/l3_modules/project-files/l3-project-file-browser.tsx +52 -95
  30. package/src/client/l3_modules/project-files/l3-project-file-runtime.ts +52 -21
  31. package/src/client/l3_modules/project-files/l3-project-file-tabs.tsx +41 -62
  32. package/src/client/l3_modules/project-files/l3-project-git-runtime.ts +5 -4
  33. package/src/client/l3_modules/project-files/l3-use-project-refresh.ts +36 -0
  34. package/src/client/l3_modules/project-files/views/l3-project-search-results.tsx +2 -2
  35. package/src/client/l3_modules/project-files/views/l3-project-tree-folder.tsx +86 -0
  36. package/src/client/l4_foundation/ui/file-icons/README.md +1 -1
  37. package/src/client/l4_foundation/ui/file-icons/l4-file-icon.tsx +49 -2
  38. package/src/common/l2_biz/pi-session/l2-pi-session-contract.ts +11 -24
  39. package/src/common/l2_biz/project-preview/l2-project-preview-navigation.ts +5 -12
  40. package/src/common/l2_biz/work-session/l2-work-session-search-contract.ts +26 -0
  41. package/src/common/l2_biz/work-session/l2-work-session-tree-contract.ts +9 -1
  42. package/src/common/l2_biz/workbench/l2-workbench-locale-messages.ts +12 -0
  43. package/src/common/l2_biz/workbench/l2-workbench-picker-messages.ts +6 -2
  44. package/src/common/l3_modules/conversation/l3-conversation-locale-messages.ts +2 -0
  45. package/src/common/l3_modules/pi/l3-pi-session-search-contract.ts +26 -0
  46. package/src/common/l4_foundation/locale/l4-host-error-messages.ts +2 -0
  47. package/src/server/l1_entry/api/l1-work-session-branch-route.ts +21 -15
  48. package/src/server/l1_entry/api/l1-work-session-search-route.ts +38 -0
  49. package/src/server/l2_biz/work-session/l2-work-session-chat-runtime.ts +4 -2
  50. package/src/server/l2_biz/work-session/l2-work-session-manage.ts +46 -10
  51. package/src/server/l3_modules/work-session/l3-work-session.ts +11 -6
  52. package/src/server/l4_foundation/pi/l4-pi-chat-worker.ts +35 -2
  53. package/src/server/l4_foundation/pi/l4-pi-session-history-catalog.ts +62 -113
  54. package/src/server/l4_foundation/pi/l4-pi-session-search.ts +166 -0
  55. package/src/server/l4_foundation/pi/l4-pi-work-session-runtime.ts +66 -5
  56. package/temp/build/pi-desk/release/.next/BUILD_ID +1 -1
  57. package/temp/build/pi-desk/release/.next/app-path-routes-manifest.json +1 -0
  58. package/temp/build/pi-desk/release/.next/build-manifest.json +2 -2
  59. package/temp/build/pi-desk/release/.next/required-server-files.js +2 -2
  60. package/temp/build/pi-desk/release/.next/required-server-files.json +2 -2
  61. package/temp/build/pi-desk/release/.next/routes-manifest.json +6 -0
  62. package/temp/build/pi-desk/release/.next/server/app/_global-error/page.js +1 -1
  63. package/temp/build/pi-desk/release/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  64. package/temp/build/pi-desk/release/.next/server/app/_global-error.html +1 -1
  65. package/temp/build/pi-desk/release/.next/server/app/_global-error.rsc +1 -1
  66. package/temp/build/pi-desk/release/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  67. package/temp/build/pi-desk/release/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  68. package/temp/build/pi-desk/release/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  69. package/temp/build/pi-desk/release/.next/server/app/_not-found/page.js +1 -1
  70. package/temp/build/pi-desk/release/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  71. package/temp/build/pi-desk/release/.next/server/app/api/auth/login/route.js +2 -2
  72. package/temp/build/pi-desk/release/.next/server/app/api/auth/logout/route.js +1 -1
  73. package/temp/build/pi-desk/release/.next/server/app/api/auth-settings/get/route.js +1 -1
  74. package/temp/build/pi-desk/release/.next/server/app/api/auth-settings/replace/route.js +1 -1
  75. package/temp/build/pi-desk/release/.next/server/app/api/capability-modes/get/route.js +1 -1
  76. package/temp/build/pi-desk/release/.next/server/app/api/capability-modes/replace/route.js +1 -1
  77. package/temp/build/pi-desk/release/.next/server/app/api/chat/context/get/route.js +1 -1
  78. package/temp/build/pi-desk/release/.next/server/app/api/chat/images/get/route.js +1 -1
  79. package/temp/build/pi-desk/release/.next/server/app/api/chat/messages/get/route.js +1 -1
  80. package/temp/build/pi-desk/release/.next/server/app/api/health/route.js +1 -1
  81. package/temp/build/pi-desk/release/.next/server/app/api/mcp-check/get/route.js +1 -1
  82. package/temp/build/pi-desk/release/.next/server/app/api/mcp-settings/del/route.js +1 -1
  83. package/temp/build/pi-desk/release/.next/server/app/api/mcp-settings/get/route.js +1 -1
  84. package/temp/build/pi-desk/release/.next/server/app/api/mcp-settings/replace/route.js +1 -1
  85. package/temp/build/pi-desk/release/.next/server/app/api/model-catalog/list/route.js +1 -1
  86. package/temp/build/pi-desk/release/.next/server/app/api/model-settings/get/route.js +1 -1
  87. package/temp/build/pi-desk/release/.next/server/app/api/model-settings/preview/route.js +1 -1
  88. package/temp/build/pi-desk/release/.next/server/app/api/model-settings/replace/route.js +1 -1
  89. package/temp/build/pi-desk/release/.next/server/app/api/pi/directories/list/route.js +1 -1
  90. package/temp/build/pi-desk/release/.next/server/app/api/pi/directory-entries/list/route.js +1 -1
  91. package/temp/build/pi-desk/release/.next/server/app/api/pi/directory-ignores/list/route.js +1 -1
  92. package/temp/build/pi-desk/release/.next/server/app/api/pi/directory-ignores/replace/route.js +1 -1
  93. package/temp/build/pi-desk/release/.next/server/app/api/pi/models/list/route.js +1 -1
  94. package/temp/build/pi-desk/release/.next/server/app/api/pi/session-user-messages/list/route.js +1 -1
  95. package/temp/build/pi-desk/release/.next/server/app/api/pi/sessions/list/route.js +1 -1
  96. package/temp/build/pi-desk/release/.next/server/app/api/plugin-catalog/get/route.js +1 -1
  97. package/temp/build/pi-desk/release/.next/server/app/api/plugin-catalog/search/route.js +1 -1
  98. package/temp/build/pi-desk/release/.next/server/app/api/plugin-catalog/settings-get/route.js +1 -1
  99. package/temp/build/pi-desk/release/.next/server/app/api/plugin-catalog/settings-replace/route.js +1 -1
  100. package/temp/build/pi-desk/release/.next/server/app/api/plugins/add/route.js +1 -1
  101. package/temp/build/pi-desk/release/.next/server/app/api/plugins/apply/route.js +1 -1
  102. package/temp/build/pi-desk/release/.next/server/app/api/plugins/batch/route.js +1 -1
  103. package/temp/build/pi-desk/release/.next/server/app/api/plugins/browser-resources/[resourceGroup]/[...resourcePath]/route.js +1 -1
  104. package/temp/build/pi-desk/release/.next/server/app/api/plugins/del/route.js +1 -1
  105. package/temp/build/pi-desk/release/.next/server/app/api/plugins/enabled-set/route.js +1 -1
  106. package/temp/build/pi-desk/release/.next/server/app/api/plugins/get/route.js +1 -1
  107. package/temp/build/pi-desk/release/.next/server/app/api/plugins/host-runtime/[runtimeVersion]/[...resourcePath]/route.js +1 -1
  108. package/temp/build/pi-desk/release/.next/server/app/api/plugins/list/route.js +1 -1
  109. package/temp/build/pi-desk/release/.next/server/app/api/plugins/reload/route.js +1 -1
  110. package/temp/build/pi-desk/release/.next/server/app/api/plugins/update/route.js +1 -1
  111. package/temp/build/pi-desk/release/.next/server/app/api/project-files/get/route.js +2 -2
  112. package/temp/build/pi-desk/release/.next/server/app/api/project-files/list/route.js +1 -1
  113. package/temp/build/pi-desk/release/.next/server/app/api/project-files/reveal/route.js +1 -1
  114. package/temp/build/pi-desk/release/.next/server/app/api/project-files/search/route.js +1 -1
  115. package/temp/build/pi-desk/release/.next/server/app/api/project-git/get/route.js +2 -2
  116. package/temp/build/pi-desk/release/.next/server/app/api/project-git-branches/list/route.js +2 -2
  117. package/temp/build/pi-desk/release/.next/server/app/api/project-git-changes/list/route.js +1 -1
  118. package/temp/build/pi-desk/release/.next/server/app/api/project-git-diff/get/route.js +2 -2
  119. package/temp/build/pi-desk/release/.next/server/app/api/project-git-heads/get/route.js +1 -1
  120. package/temp/build/pi-desk/release/.next/server/app/api/project-git-log/list/route.js +2 -2
  121. package/temp/build/pi-desk/release/.next/server/app/api/project-model-default/get/route.js +1 -1
  122. package/temp/build/pi-desk/release/.next/server/app/api/project-model-default/replace/route.js +1 -1
  123. package/temp/build/pi-desk/release/.next/server/app/api/skill-files/get/route.js +1 -1
  124. package/temp/build/pi-desk/release/.next/server/app/api/skill-files/list/route.js +1 -1
  125. package/temp/build/pi-desk/release/.next/server/app/api/skill-files/replace/route.js +1 -1
  126. package/temp/build/pi-desk/release/.next/server/app/api/skills/list/route.js +1 -1
  127. package/temp/build/pi-desk/release/.next/server/app/api/task-center/images/get/route.js +1 -1
  128. package/temp/build/pi-desk/release/.next/server/app/api/task-center/messages/get/route.js +1 -1
  129. package/temp/build/pi-desk/release/.next/server/app/api/work-session-git-branch/add/route.js +1 -1
  130. package/temp/build/pi-desk/release/.next/server/app/api/work-session-git-branch/replace/route.js +1 -1
  131. package/temp/build/pi-desk/release/.next/server/app/api/work-session-tree/get/route.js +1 -1
  132. package/temp/build/pi-desk/release/.next/server/app/api/work-session-tree-entry/get/route.js +1 -1
  133. package/temp/build/pi-desk/release/.next/server/app/api/work-sessions/add/route.js +1 -1
  134. package/temp/build/pi-desk/release/.next/server/app/api/work-sessions/branch/route.js +1 -1
  135. package/temp/build/pi-desk/release/.next/server/app/api/work-sessions/del/route.js +1 -1
  136. package/temp/build/pi-desk/release/.next/server/app/api/work-sessions/rename/route.js +1 -1
  137. package/temp/build/pi-desk/release/.next/server/app/api/work-sessions/replace/route.js +1 -1
  138. package/temp/build/pi-desk/release/.next/server/app/api/work-sessions/search/route.js +1 -0
  139. package/temp/build/pi-desk/release/.next/server/app/api/work-sessions/search/route_client-reference-manifest.js +1 -0
  140. package/temp/build/pi-desk/release/.next/server/app/api/work-sessions/sort/route.js +1 -1
  141. package/temp/build/pi-desk/release/.next/server/app/favicon.ico/route.js +1 -1
  142. package/temp/build/pi-desk/release/.next/server/app/login/page.js +1 -1
  143. package/temp/build/pi-desk/release/.next/server/app/login/page_client-reference-manifest.js +1 -1
  144. package/temp/build/pi-desk/release/.next/server/app/page.js +138 -138
  145. package/temp/build/pi-desk/release/.next/server/app/page_client-reference-manifest.js +1 -1
  146. package/temp/build/pi-desk/release/.next/server/app/project-preview/page.js +1 -1
  147. package/temp/build/pi-desk/release/.next/server/app/project-preview/page_client-reference-manifest.js +1 -1
  148. package/temp/build/pi-desk/release/.next/server/app-paths-manifest.json +1 -0
  149. package/temp/build/pi-desk/release/.next/server/chunks/23054.js +2 -2
  150. package/temp/build/pi-desk/release/.next/server/chunks/25406.js +8 -8
  151. package/temp/build/pi-desk/release/.next/server/chunks/27344.js +3 -3
  152. package/temp/build/pi-desk/release/.next/server/chunks/3108.js +3 -3
  153. package/temp/build/pi-desk/release/.next/server/chunks/35985.js +2 -2
  154. package/temp/build/pi-desk/release/.next/server/chunks/41856.js +1 -0
  155. package/temp/build/pi-desk/release/.next/server/chunks/62900.js +235 -0
  156. package/temp/build/pi-desk/release/.next/server/chunks/6917.js +1 -1
  157. package/temp/build/pi-desk/release/.next/server/chunks/81363.js +1 -1
  158. package/temp/build/pi-desk/release/.next/server/chunks/81912.js +3 -0
  159. package/temp/build/pi-desk/release/.next/server/chunks/92386.js +2 -2
  160. package/temp/build/pi-desk/release/.next/server/middleware-build-manifest.js +1 -1
  161. package/temp/build/pi-desk/release/.next/server/pages/500.html +1 -1
  162. package/temp/build/pi-desk/release/.next/static/Yyfg-r17aYmEzlYYlIwDo/_buildManifest.js +1 -0
  163. package/temp/build/pi-desk/release/.next/static/chunks/10043-9d6c3735418ccaf9.js +238 -0
  164. package/temp/build/pi-desk/release/.next/static/chunks/11937-ac71fb0f7cef482a.js +1 -0
  165. package/temp/build/pi-desk/release/.next/static/chunks/30669-ffa76d39e0e25194.js +1 -0
  166. package/temp/build/pi-desk/release/.next/static/chunks/36643-f60e98278740073c.js +3 -0
  167. package/temp/build/pi-desk/release/.next/static/chunks/65232-a8571f78020eede2.js +15 -0
  168. package/temp/build/pi-desk/release/.next/static/chunks/{51474-8dc714cb76b2e60a.js → 65350-23bb961d87addf14.js} +3 -3
  169. package/temp/build/pi-desk/release/.next/static/chunks/app/_global-error/page-295cb63da5f7262f.js +1 -0
  170. package/temp/build/pi-desk/release/.next/static/chunks/app/_not-found/page-295cb63da5f7262f.js +1 -0
  171. package/temp/build/pi-desk/release/.next/static/chunks/app/api/auth/login/route-295cb63da5f7262f.js +1 -0
  172. package/temp/build/pi-desk/release/.next/static/chunks/app/api/auth/logout/route-295cb63da5f7262f.js +1 -0
  173. package/temp/build/pi-desk/release/.next/static/chunks/app/api/auth-settings/get/route-295cb63da5f7262f.js +1 -0
  174. package/temp/build/pi-desk/release/.next/static/chunks/app/api/auth-settings/replace/route-295cb63da5f7262f.js +1 -0
  175. package/temp/build/pi-desk/release/.next/static/chunks/app/api/capability-modes/get/route-295cb63da5f7262f.js +1 -0
  176. package/temp/build/pi-desk/release/.next/static/chunks/app/api/capability-modes/replace/route-295cb63da5f7262f.js +1 -0
  177. package/temp/build/pi-desk/release/.next/static/chunks/app/api/chat/context/get/route-295cb63da5f7262f.js +1 -0
  178. package/temp/build/pi-desk/release/.next/static/chunks/app/api/chat/images/get/route-295cb63da5f7262f.js +1 -0
  179. package/temp/build/pi-desk/release/.next/static/chunks/app/api/chat/messages/get/route-295cb63da5f7262f.js +1 -0
  180. package/temp/build/pi-desk/release/.next/static/chunks/app/api/health/route-295cb63da5f7262f.js +1 -0
  181. package/temp/build/pi-desk/release/.next/static/chunks/app/api/mcp-check/get/route-295cb63da5f7262f.js +1 -0
  182. package/temp/build/pi-desk/release/.next/static/chunks/app/api/mcp-settings/del/route-295cb63da5f7262f.js +1 -0
  183. package/temp/build/pi-desk/release/.next/static/chunks/app/api/mcp-settings/get/route-295cb63da5f7262f.js +1 -0
  184. package/temp/build/pi-desk/release/.next/static/chunks/app/api/mcp-settings/replace/route-295cb63da5f7262f.js +1 -0
  185. package/temp/build/pi-desk/release/.next/static/chunks/app/api/model-catalog/list/route-295cb63da5f7262f.js +1 -0
  186. package/temp/build/pi-desk/release/.next/static/chunks/app/api/model-settings/get/route-295cb63da5f7262f.js +1 -0
  187. package/temp/build/pi-desk/release/.next/static/chunks/app/api/model-settings/preview/route-295cb63da5f7262f.js +1 -0
  188. package/temp/build/pi-desk/release/.next/static/chunks/app/api/model-settings/replace/route-295cb63da5f7262f.js +1 -0
  189. package/temp/build/pi-desk/release/.next/static/chunks/app/api/pi/directories/list/route-295cb63da5f7262f.js +1 -0
  190. package/temp/build/pi-desk/release/.next/static/chunks/app/api/pi/directory-entries/list/route-295cb63da5f7262f.js +1 -0
  191. package/temp/build/pi-desk/release/.next/static/chunks/app/api/pi/directory-ignores/list/route-295cb63da5f7262f.js +1 -0
  192. package/temp/build/pi-desk/release/.next/static/chunks/app/api/pi/directory-ignores/replace/route-295cb63da5f7262f.js +1 -0
  193. package/temp/build/pi-desk/release/.next/static/chunks/app/api/pi/models/list/route-295cb63da5f7262f.js +1 -0
  194. package/temp/build/pi-desk/release/.next/static/chunks/app/api/pi/session-user-messages/list/route-295cb63da5f7262f.js +1 -0
  195. package/temp/build/pi-desk/release/.next/static/chunks/app/api/pi/sessions/list/route-295cb63da5f7262f.js +1 -0
  196. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugin-catalog/get/route-295cb63da5f7262f.js +1 -0
  197. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugin-catalog/search/route-295cb63da5f7262f.js +1 -0
  198. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugin-catalog/settings-get/route-295cb63da5f7262f.js +1 -0
  199. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugin-catalog/settings-replace/route-295cb63da5f7262f.js +1 -0
  200. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugins/add/route-295cb63da5f7262f.js +1 -0
  201. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugins/apply/route-295cb63da5f7262f.js +1 -0
  202. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugins/batch/route-295cb63da5f7262f.js +1 -0
  203. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugins/browser-resources/[resourceGroup]/[...resourcePath]/route-295cb63da5f7262f.js +1 -0
  204. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugins/del/route-295cb63da5f7262f.js +1 -0
  205. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugins/enabled-set/route-295cb63da5f7262f.js +1 -0
  206. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugins/get/route-295cb63da5f7262f.js +1 -0
  207. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugins/host-runtime/[runtimeVersion]/[...resourcePath]/route-295cb63da5f7262f.js +1 -0
  208. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugins/list/route-295cb63da5f7262f.js +1 -0
  209. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugins/reload/route-295cb63da5f7262f.js +1 -0
  210. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugins/update/route-295cb63da5f7262f.js +1 -0
  211. package/temp/build/pi-desk/release/.next/static/chunks/app/api/project-files/get/route-295cb63da5f7262f.js +1 -0
  212. package/temp/build/pi-desk/release/.next/static/chunks/app/api/project-files/list/route-295cb63da5f7262f.js +1 -0
  213. package/temp/build/pi-desk/release/.next/static/chunks/app/api/project-files/reveal/route-295cb63da5f7262f.js +1 -0
  214. package/temp/build/pi-desk/release/.next/static/chunks/app/api/project-files/search/route-295cb63da5f7262f.js +1 -0
  215. package/temp/build/pi-desk/release/.next/static/chunks/app/api/project-git/get/route-295cb63da5f7262f.js +1 -0
  216. package/temp/build/pi-desk/release/.next/static/chunks/app/api/project-git-branches/list/route-295cb63da5f7262f.js +1 -0
  217. package/temp/build/pi-desk/release/.next/static/chunks/app/api/project-git-changes/list/route-295cb63da5f7262f.js +1 -0
  218. package/temp/build/pi-desk/release/.next/static/chunks/app/api/project-git-diff/get/route-295cb63da5f7262f.js +1 -0
  219. package/temp/build/pi-desk/release/.next/static/chunks/app/api/project-git-heads/get/route-295cb63da5f7262f.js +1 -0
  220. package/temp/build/pi-desk/release/.next/static/chunks/app/api/project-git-log/list/route-295cb63da5f7262f.js +1 -0
  221. package/temp/build/pi-desk/release/.next/static/chunks/app/api/project-model-default/get/route-295cb63da5f7262f.js +1 -0
  222. package/temp/build/pi-desk/release/.next/static/chunks/app/api/project-model-default/replace/route-295cb63da5f7262f.js +1 -0
  223. package/temp/build/pi-desk/release/.next/static/chunks/app/api/skill-files/get/route-295cb63da5f7262f.js +1 -0
  224. package/temp/build/pi-desk/release/.next/static/chunks/app/api/skill-files/list/route-295cb63da5f7262f.js +1 -0
  225. package/temp/build/pi-desk/release/.next/static/chunks/app/api/skill-files/replace/route-295cb63da5f7262f.js +1 -0
  226. package/temp/build/pi-desk/release/.next/static/chunks/app/api/skills/list/route-295cb63da5f7262f.js +1 -0
  227. package/temp/build/pi-desk/release/.next/static/chunks/app/api/task-center/images/get/route-295cb63da5f7262f.js +1 -0
  228. package/temp/build/pi-desk/release/.next/static/chunks/app/api/task-center/messages/get/route-295cb63da5f7262f.js +1 -0
  229. package/temp/build/pi-desk/release/.next/static/chunks/app/api/work-session-git-branch/add/route-295cb63da5f7262f.js +1 -0
  230. package/temp/build/pi-desk/release/.next/static/chunks/app/api/work-session-git-branch/replace/route-295cb63da5f7262f.js +1 -0
  231. package/temp/build/pi-desk/release/.next/static/chunks/app/api/work-session-tree/get/route-295cb63da5f7262f.js +1 -0
  232. package/temp/build/pi-desk/release/.next/static/chunks/app/api/work-session-tree-entry/get/route-295cb63da5f7262f.js +1 -0
  233. package/temp/build/pi-desk/release/.next/static/chunks/app/api/work-sessions/add/route-295cb63da5f7262f.js +1 -0
  234. package/temp/build/pi-desk/release/.next/static/chunks/app/api/work-sessions/branch/route-295cb63da5f7262f.js +1 -0
  235. package/temp/build/pi-desk/release/.next/static/chunks/app/api/work-sessions/del/route-295cb63da5f7262f.js +1 -0
  236. package/temp/build/pi-desk/release/.next/static/chunks/app/api/work-sessions/rename/route-295cb63da5f7262f.js +1 -0
  237. package/temp/build/pi-desk/release/.next/static/chunks/app/api/work-sessions/replace/route-295cb63da5f7262f.js +1 -0
  238. package/temp/build/pi-desk/release/.next/static/chunks/app/api/work-sessions/search/route-295cb63da5f7262f.js +1 -0
  239. package/temp/build/pi-desk/release/.next/static/chunks/app/api/work-sessions/sort/route-295cb63da5f7262f.js +1 -0
  240. package/temp/build/pi-desk/release/.next/static/chunks/app/layout-2c6a573d3004516e.js +1 -0
  241. package/temp/build/pi-desk/release/.next/static/chunks/app/login/{page-0d3d4827802108e5.js → page-0df9df996aa68060.js} +1 -1
  242. package/temp/build/pi-desk/release/.next/static/chunks/app/page-f78be007d97f0d95.js +158 -0
  243. package/temp/build/pi-desk/release/.next/static/chunks/app/project-preview/{page-038b6c14e03ed878.js → page-e1dbfcfc0f333e01.js} +1 -1
  244. package/temp/build/pi-desk/release/.next/static/chunks/next/dist/client/components/builtin/app-error-295cb63da5f7262f.js +1 -0
  245. package/temp/build/pi-desk/release/.next/static/chunks/next/dist/client/components/builtin/forbidden-295cb63da5f7262f.js +1 -0
  246. package/temp/build/pi-desk/release/.next/static/chunks/next/dist/client/components/builtin/unauthorized-295cb63da5f7262f.js +1 -0
  247. package/temp/build/pi-desk/release/.next/static/css/{1e780a4936aa6ba3.css → 2bb393927ba8f71d.css} +1 -1
  248. package/temp/build/pi-desk/release/.next/static/css/3a07dcc86ffdf88c.css +1 -0
  249. package/temp/build/pi-desk/release/.next/static/css/a677e7fbf6e2173e.css +1 -0
  250. package/temp/build/pi-desk/release/.next/trace-build +1 -1
  251. package/temp/build/pi-desk/release/.next/server/chunks/35348.js +0 -3
  252. package/temp/build/pi-desk/release/.next/server/chunks/56830.js +0 -235
  253. package/temp/build/pi-desk/release/.next/server/chunks/80780.js +0 -1
  254. package/temp/build/pi-desk/release/.next/static/bj2dB_Z10YB_CqK_VNhDx/_buildManifest.js +0 -1
  255. package/temp/build/pi-desk/release/.next/static/chunks/11937-1d0a9822f2c7995b.js +0 -1
  256. package/temp/build/pi-desk/release/.next/static/chunks/14197-3d3ddd426ac06c9c.js +0 -3
  257. package/temp/build/pi-desk/release/.next/static/chunks/37313-d5970e2d0c270d22.js +0 -238
  258. package/temp/build/pi-desk/release/.next/static/chunks/65232-ef4e5a4174f62faf.js +0 -15
  259. package/temp/build/pi-desk/release/.next/static/chunks/79267-7d21d7cdbd7cfca1.js +0 -1
  260. package/temp/build/pi-desk/release/.next/static/chunks/app/_global-error/page-9969fe0baa238786.js +0 -1
  261. package/temp/build/pi-desk/release/.next/static/chunks/app/_not-found/page-9969fe0baa238786.js +0 -1
  262. package/temp/build/pi-desk/release/.next/static/chunks/app/api/auth/login/route-9969fe0baa238786.js +0 -1
  263. package/temp/build/pi-desk/release/.next/static/chunks/app/api/auth/logout/route-9969fe0baa238786.js +0 -1
  264. package/temp/build/pi-desk/release/.next/static/chunks/app/api/auth-settings/get/route-9969fe0baa238786.js +0 -1
  265. package/temp/build/pi-desk/release/.next/static/chunks/app/api/auth-settings/replace/route-9969fe0baa238786.js +0 -1
  266. package/temp/build/pi-desk/release/.next/static/chunks/app/api/capability-modes/get/route-9969fe0baa238786.js +0 -1
  267. package/temp/build/pi-desk/release/.next/static/chunks/app/api/capability-modes/replace/route-9969fe0baa238786.js +0 -1
  268. package/temp/build/pi-desk/release/.next/static/chunks/app/api/chat/context/get/route-9969fe0baa238786.js +0 -1
  269. package/temp/build/pi-desk/release/.next/static/chunks/app/api/chat/images/get/route-9969fe0baa238786.js +0 -1
  270. package/temp/build/pi-desk/release/.next/static/chunks/app/api/chat/messages/get/route-9969fe0baa238786.js +0 -1
  271. package/temp/build/pi-desk/release/.next/static/chunks/app/api/health/route-9969fe0baa238786.js +0 -1
  272. package/temp/build/pi-desk/release/.next/static/chunks/app/api/mcp-check/get/route-9969fe0baa238786.js +0 -1
  273. package/temp/build/pi-desk/release/.next/static/chunks/app/api/mcp-settings/del/route-9969fe0baa238786.js +0 -1
  274. package/temp/build/pi-desk/release/.next/static/chunks/app/api/mcp-settings/get/route-9969fe0baa238786.js +0 -1
  275. package/temp/build/pi-desk/release/.next/static/chunks/app/api/mcp-settings/replace/route-9969fe0baa238786.js +0 -1
  276. package/temp/build/pi-desk/release/.next/static/chunks/app/api/model-catalog/list/route-9969fe0baa238786.js +0 -1
  277. package/temp/build/pi-desk/release/.next/static/chunks/app/api/model-settings/get/route-9969fe0baa238786.js +0 -1
  278. package/temp/build/pi-desk/release/.next/static/chunks/app/api/model-settings/preview/route-9969fe0baa238786.js +0 -1
  279. package/temp/build/pi-desk/release/.next/static/chunks/app/api/model-settings/replace/route-9969fe0baa238786.js +0 -1
  280. package/temp/build/pi-desk/release/.next/static/chunks/app/api/pi/directories/list/route-9969fe0baa238786.js +0 -1
  281. package/temp/build/pi-desk/release/.next/static/chunks/app/api/pi/directory-entries/list/route-9969fe0baa238786.js +0 -1
  282. package/temp/build/pi-desk/release/.next/static/chunks/app/api/pi/directory-ignores/list/route-9969fe0baa238786.js +0 -1
  283. package/temp/build/pi-desk/release/.next/static/chunks/app/api/pi/directory-ignores/replace/route-9969fe0baa238786.js +0 -1
  284. package/temp/build/pi-desk/release/.next/static/chunks/app/api/pi/models/list/route-9969fe0baa238786.js +0 -1
  285. package/temp/build/pi-desk/release/.next/static/chunks/app/api/pi/session-user-messages/list/route-9969fe0baa238786.js +0 -1
  286. package/temp/build/pi-desk/release/.next/static/chunks/app/api/pi/sessions/list/route-9969fe0baa238786.js +0 -1
  287. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugin-catalog/get/route-9969fe0baa238786.js +0 -1
  288. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugin-catalog/search/route-9969fe0baa238786.js +0 -1
  289. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugin-catalog/settings-get/route-9969fe0baa238786.js +0 -1
  290. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugin-catalog/settings-replace/route-9969fe0baa238786.js +0 -1
  291. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugins/add/route-9969fe0baa238786.js +0 -1
  292. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugins/apply/route-9969fe0baa238786.js +0 -1
  293. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugins/batch/route-9969fe0baa238786.js +0 -1
  294. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugins/browser-resources/[resourceGroup]/[...resourcePath]/route-9969fe0baa238786.js +0 -1
  295. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugins/del/route-9969fe0baa238786.js +0 -1
  296. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugins/enabled-set/route-9969fe0baa238786.js +0 -1
  297. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugins/get/route-9969fe0baa238786.js +0 -1
  298. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugins/host-runtime/[runtimeVersion]/[...resourcePath]/route-9969fe0baa238786.js +0 -1
  299. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugins/list/route-9969fe0baa238786.js +0 -1
  300. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugins/reload/route-9969fe0baa238786.js +0 -1
  301. package/temp/build/pi-desk/release/.next/static/chunks/app/api/plugins/update/route-9969fe0baa238786.js +0 -1
  302. package/temp/build/pi-desk/release/.next/static/chunks/app/api/project-files/get/route-9969fe0baa238786.js +0 -1
  303. package/temp/build/pi-desk/release/.next/static/chunks/app/api/project-files/list/route-9969fe0baa238786.js +0 -1
  304. package/temp/build/pi-desk/release/.next/static/chunks/app/api/project-files/reveal/route-9969fe0baa238786.js +0 -1
  305. package/temp/build/pi-desk/release/.next/static/chunks/app/api/project-files/search/route-9969fe0baa238786.js +0 -1
  306. package/temp/build/pi-desk/release/.next/static/chunks/app/api/project-git/get/route-9969fe0baa238786.js +0 -1
  307. package/temp/build/pi-desk/release/.next/static/chunks/app/api/project-git-branches/list/route-9969fe0baa238786.js +0 -1
  308. package/temp/build/pi-desk/release/.next/static/chunks/app/api/project-git-changes/list/route-9969fe0baa238786.js +0 -1
  309. package/temp/build/pi-desk/release/.next/static/chunks/app/api/project-git-diff/get/route-9969fe0baa238786.js +0 -1
  310. package/temp/build/pi-desk/release/.next/static/chunks/app/api/project-git-heads/get/route-9969fe0baa238786.js +0 -1
  311. package/temp/build/pi-desk/release/.next/static/chunks/app/api/project-git-log/list/route-9969fe0baa238786.js +0 -1
  312. package/temp/build/pi-desk/release/.next/static/chunks/app/api/project-model-default/get/route-9969fe0baa238786.js +0 -1
  313. package/temp/build/pi-desk/release/.next/static/chunks/app/api/project-model-default/replace/route-9969fe0baa238786.js +0 -1
  314. package/temp/build/pi-desk/release/.next/static/chunks/app/api/skill-files/get/route-9969fe0baa238786.js +0 -1
  315. package/temp/build/pi-desk/release/.next/static/chunks/app/api/skill-files/list/route-9969fe0baa238786.js +0 -1
  316. package/temp/build/pi-desk/release/.next/static/chunks/app/api/skill-files/replace/route-9969fe0baa238786.js +0 -1
  317. package/temp/build/pi-desk/release/.next/static/chunks/app/api/skills/list/route-9969fe0baa238786.js +0 -1
  318. package/temp/build/pi-desk/release/.next/static/chunks/app/api/task-center/images/get/route-9969fe0baa238786.js +0 -1
  319. package/temp/build/pi-desk/release/.next/static/chunks/app/api/task-center/messages/get/route-9969fe0baa238786.js +0 -1
  320. package/temp/build/pi-desk/release/.next/static/chunks/app/api/work-session-git-branch/add/route-9969fe0baa238786.js +0 -1
  321. package/temp/build/pi-desk/release/.next/static/chunks/app/api/work-session-git-branch/replace/route-9969fe0baa238786.js +0 -1
  322. package/temp/build/pi-desk/release/.next/static/chunks/app/api/work-session-tree/get/route-9969fe0baa238786.js +0 -1
  323. package/temp/build/pi-desk/release/.next/static/chunks/app/api/work-session-tree-entry/get/route-9969fe0baa238786.js +0 -1
  324. package/temp/build/pi-desk/release/.next/static/chunks/app/api/work-sessions/add/route-9969fe0baa238786.js +0 -1
  325. package/temp/build/pi-desk/release/.next/static/chunks/app/api/work-sessions/branch/route-9969fe0baa238786.js +0 -1
  326. package/temp/build/pi-desk/release/.next/static/chunks/app/api/work-sessions/del/route-9969fe0baa238786.js +0 -1
  327. package/temp/build/pi-desk/release/.next/static/chunks/app/api/work-sessions/rename/route-9969fe0baa238786.js +0 -1
  328. package/temp/build/pi-desk/release/.next/static/chunks/app/api/work-sessions/replace/route-9969fe0baa238786.js +0 -1
  329. package/temp/build/pi-desk/release/.next/static/chunks/app/api/work-sessions/sort/route-9969fe0baa238786.js +0 -1
  330. package/temp/build/pi-desk/release/.next/static/chunks/app/layout-20718f1503910291.js +0 -1
  331. package/temp/build/pi-desk/release/.next/static/chunks/app/page-ce2ebf7d8ea7a330.js +0 -158
  332. package/temp/build/pi-desk/release/.next/static/chunks/next/dist/client/components/builtin/app-error-9969fe0baa238786.js +0 -1
  333. package/temp/build/pi-desk/release/.next/static/chunks/next/dist/client/components/builtin/forbidden-9969fe0baa238786.js +0 -1
  334. package/temp/build/pi-desk/release/.next/static/chunks/next/dist/client/components/builtin/unauthorized-9969fe0baa238786.js +0 -1
  335. package/temp/build/pi-desk/release/.next/static/css/2c3b0c0ff1f49c68.css +0 -1
  336. package/temp/build/pi-desk/release/.next/static/css/c43b04c244a64fb4.css +0 -1
  337. /package/temp/build/pi-desk/release/.next/static/{bj2dB_Z10YB_CqK_VNhDx → Yyfg-r17aYmEzlYYlIwDo}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[74520],{5816:(e,t,n)=>{"use strict";n.d(t,{A:()=>f,i:()=>c});var r=n(7962),i=n(44297),a=n(78121),s=n(69266),o=n(73230),l=n(48708);let d=()=>null;function c(){let e=(0,s.useSyncExternalStore)(l.re,l.fx,d);if(!e)throw Error("区域设置尚未就绪");return e}function u({children:e,locale:t,resources:n}){let[l]=(0,s.useState)(()=>{let e;return(e=(0,i.Q_)()).init({lng:t,fallbackLng:"en",resources:n,defaultNS:"common",ns:Object.keys(n.en??{}),initAsync:!1,interpolation:{escapeValue:!1}}),e});return(0,s.useEffect)(()=>(document.documentElement.lang=t,l.changeLanguage(t),(0,o.o)((e,t)=>l.exists(e)?l.t(e,t):null),()=>(0,o.o)(null)),[l,t]),(0,r.jsx)(a.xC,{i18n:l,children:e})}function f({children:e,resources:t,initialSettings:n}){let i=(0,s.useSyncExternalStore)(l.re,l.fx,d);return(0,s.useEffect)(()=>((0,l.UV)(n),(0,l.Hc)()),[n]),i?(0,r.jsx)(u,{locale:i.locale,resources:t,children:e}):null}},8416:(e,t,n)=>{Promise.resolve().then(n.bind(n,21358))},15710:(e,t,n)=>{"use strict";n.d(t,{J:()=>a,a:()=>i});var r=n(38979);let i=r.Ik({locale:r.k5(["zh-CN","en"]),timeZone:r.Yj().trim().min(1).max(100).refine(e=>{try{return new Intl.DateTimeFormat("en",{timeZone:e}),!0}catch{return!1}},"无效的 IANA 时区")}).strict().readonly(),a=r.Ik({region:i}).strict().readonly()},19562:(e,t,n)=>{"use strict";n.d(t,{k:()=>c});var r=n(7962),i=n(66153),a=n(95929),s=n(69266),o=n(78121),l=n(49426),d=n(73429);function c({className:e,disabled:t,id:n,...u}){let{t:f}=(0,o.Bd)("common"),[g,m]=(0,s.useState)(!1),p=f(g?"hidePassword":"showPassword");return(0,r.jsxs)("div",{className:"relative min-w-0",children:[(0,r.jsx)(d.p,{...u,id:n,disabled:t,type:g?"text":"password",autoCapitalize:"none",spellCheck:!1,className:(0,l.cn)("pr-9",e)}),(0,r.jsx)("button",{type:"button",className:"absolute top-1/2 right-1 flex size-6 -translate-y-1/2 cursor-pointer items-center justify-center rounded-md text-muted-foreground outline-none hover:bg-accent hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50","aria-label":p,"aria-controls":n,"aria-pressed":g,title:p,disabled:t,onClick:()=>m(e=>!e),children:g?(0,r.jsx)(i.A,{className:"size-4","aria-hidden":"true"}):(0,r.jsx)(a.A,{className:"size-4","aria-hidden":"true"})})]})}},21358:(e,t,n)=>{"use strict";n.d(t,{L2Login:()=>_});var r=n(7962),i=n(11831),a=n(14044),s=n(56164),o=n(69266),l=n(78121),d=n(26586),c=n(5816),u=n(48708),f=n(86963);n(38979).k5(["zh-CN","en"]);var g=n(19562),m=n(42655),p=n(54379),h=n(69013),v=n(73230),b=n(33941);async function x(e,t){let n,r=b.W.safeParse(t);if(!r.success)throw Error((0,v.B)({msg:"登录失败,请检查登录信息后重试。",i18n:{key:"auth:invalidInput"}}));let i=await fetch("/api/auth/login",{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json","X-Pi-Desk-Client-Id":e},body:JSON.stringify(r.data)});try{n=await i.json()}catch{throw Error((0,v.B)({msg:"登录服务响应无效",i18n:{key:"auth:invalidResponse"}}))}if(!i.ok||0!==n.code||null===n.data)throw Error(0===n.code?(0,v.B)({msg:"登录失败",i18n:{key:"auth:loginFailed"}}):(0,v.B)(n));b.mj.parse(n.data);let a=new URLSearchParams(window.location.search).get("returnTo");window.location.replace((0,h.S)(a))}var j=n(75677),y=n.n(j);function _(){let{t:e}=(0,l.Bd)("auth"),t=(0,c.i)(),n=(0,d.A)(),[h,v]=(0,o.useState)(""),[b,j]=(0,o.useState)(null),[_,w]=(0,o.useState)(!1),N=(0,o.useRef)(!1);(0,o.useEffect)(()=>{(0,u.pW)(function(e){for(let t of e){let e=t.toLowerCase().split("-")[0];if("zh"===e)return"zh-CN";if("en"===e)break}return"en"}(navigator.languages.length?navigator.languages:[navigator.language]))},[]);let k=async t=>{if(t.preventDefault(),!N.current){N.current=!0,j(null),w(!0);try{await x(n,{password:h})}catch(t){N.current=!1,j(t instanceof Error?t.message:e("loginFailed")),w(!1)}}};return(0,r.jsxs)("main",{className:y().page,children:[(0,r.jsxs)("header",{className:y().header,children:[(0,r.jsxs)("div",{className:y().brand,children:[(0,r.jsx)(m.V,{className:"shrink-0"}),(0,r.jsx)("span",{children:"Pi Desk"})]}),(0,r.jsxs)(p.l6,{value:t.locale,onValueChange:e=>{("en"===e||"zh-CN"===e)&&(0,u.pW)(e)},children:[(0,r.jsxs)(p.bq,{"aria-label":e("settings:language"),className:"w-fit border-transparent bg-transparent shadow-none",children:[(0,r.jsx)(i.A,{className:"size-4 text-muted-foreground","aria-hidden":"true"}),(0,r.jsx)(p.yv,{children:"zh-CN"===t.locale?e("common:chinese"):"English"})]}),(0,r.jsxs)(p.gC,{children:[(0,r.jsx)(p.eb,{value:"zh-CN",children:"简体中文"}),(0,r.jsx)(p.eb,{value:"en",children:"English"})]})]})]}),(0,r.jsx)("div",{className:y().content,children:(0,r.jsxs)("section",{className:y().panel,"aria-labelledby":"login-title",children:[(0,r.jsxs)("div",{className:y().heading,children:[(0,r.jsx)("h1",{id:"login-title",children:e("title")}),(0,r.jsx)("p",{children:e("subtitle")})]}),(0,r.jsxs)("form",{className:y().form,onSubmit:e=>void k(e),"aria-busy":_,children:[(0,r.jsxs)("div",{className:y().field,children:[(0,r.jsx)("label",{htmlFor:"password",children:e("password")}),(0,r.jsx)(g.k,{id:"password",name:"password",value:h,autoComplete:"current-password",maxLength:64,disabled:_,"aria-describedby":b?"login-error":void 0,onChange:e=>v(e.target.value),required:!0})]}),b?(0,r.jsx)("p",{id:"login-error",className:y().error,role:"alert",children:b}):null,(0,r.jsxs)(f.$,{className:y().submit,type:"submit",disabled:_,children:[_?(0,r.jsx)(a.A,{className:"motion-safe:animate-spin","aria-hidden":"true"}):null,_?e("submitting"):e("submit"),_?null:(0,r.jsx)(s.A,{"aria-hidden":"true"})]})]})]})})]})}},26586:(e,t,n)=>{"use strict";n.d(t,{A:()=>a,O:()=>i});var r=n(69266);let i=(0,r.createContext)(null);function a(){let e=(0,r.useContext)(i);if(null===e)throw Error("缺少页面 clientId Provider");return e}},33941:(e,t,n)=>{"use strict";n.d(t,{G6:()=>o,Kc:()=>c,W:()=>i,Xm:()=>s,mj:()=>a,uZ:()=>d});var r=n(38979);let i=r.Ik({password:r.Yj().min(1).max(64)}).strict(),a=r.Ik({}).strict();r.Ik({}).strict();let s=r.Ik({}).strict();r.Ik({}).strict();let o=r.Ik({enabled:r.zM(),configPath:r.Yj()}).strict(),l=r.Yj().min(12).max(64).refine(e=>e===e.trim()&&!/[\p{Cc}\p{Cf}\p{Zl}\p{Zp}]/u.test(e)).refine(e=>[/[A-Z]/,/[a-z]/,/[0-9]/,/[\p{P}\p{S}]/u].filter(t=>t.test(e)).length>=3),d=r.KC([i.extend({password:l}),r.Ik({password:r.ch()}).strict()]),c=r.Ik({}).strict()},42655:(e,t,n)=>{"use strict";n.d(t,{V:()=>s});var r=n(7962),i=n(50153);let a={src:"/_next/static/media/l4-brand-icon.d4f68daf.svg",height:348,width:464,blurWidth:0,blurHeight:0};function s({size:e=40,className:t}){return(0,r.jsx)(i.default,{src:a,width:e,height:3*e/4,alt:"",className:t})}},48708:(e,t,n)=>{"use strict";n.d(t,{Hc:()=>v,SJ:()=>u,UV:()=>g,ae:()=>f,fx:()=>p,pW:()=>m,re:()=>h});var r=n(15710);let i=new Set,a=new Set,s=r.J.parse({region:{locale:"en",timeZone:"UTC"}}),o=null,l=!1,d=0;function c(e){return{locale:e,timeZone:s.region.timeZone,localePreference:s.region.locale,timeZonePreference:s.region.timeZone,pendingLocale:e===s.region.locale?null:s.region.locale}}function u(){return s}function f(e){return a.add(e),()=>a.delete(e)}function g(e){let t=r.J.parse(e),n=JSON.stringify(s)!==JSON.stringify(t);if(l&&!n)return;let d=l&&o?o.locale:t.region.locale;for(let e of(s=t,l=!0,o=c(d),i))e();if(n)for(let e of a)e()}function m(e){for(let t of(o={...c(e),pendingLocale:null},i))t()}function p(){return o}function h(e){return i.add(e),()=>i.delete(e)}function v(){if(d+=1,!o)for(let e of(o=c(s.region.locale),i))e();return()=>{0==(d-=1)&&(o=null,l=!1,s=r.J.parse({region:{locale:"en",timeZone:"UTC"}}),i.clear(),a.clear())}}},49426:(e,t,n)=>{"use strict";n.d(t,{cn:()=>a});var r=n(77694),i=n(37810);function a(...e){return(0,i.QP)((0,r.$)(e))}},54379:(e,t,n)=>{"use strict";n.d(t,{TR:()=>S,bq:()=>z,eb:()=>A,gC:()=>C,l6:()=>w,s3:()=>N,yv:()=>k});var r=n(7962);n(69266);var i=n(66341),a=n(91068),s=n(57160),o=n(39148),l=n(95532),d=n(34358),c=n(75970),u=n(12124),f=n(6398),g=n(15639),m=n(44788),p=n(40963),h=n(10949),v=n(46468),b=n(93282),x=n(49426),j=n(86758),y=n(90458),_=n(24121);let w=i.H;function N({className:e,...t}){return(0,r.jsx)(a.s,{"data-slot":"select-group",className:(0,x.cn)("scroll-my-1 p-1",e),...t})}function k({className:e,...t}){return(0,r.jsx)(s.y,{"data-slot":"select-value",className:(0,x.cn)("flex flex-1 text-left",e),...t})}function z({className:e,size:t="default",children:n,...i}){return(0,r.jsxs)(o.b,{"data-slot":"select-trigger","data-size":t,className:(0,x.cn)("flex w-fit cursor-pointer items-center justify-between gap-2 rounded-lg border border-input bg-card px-2.5 py-1 text-sm leading-5 whitespace-nowrap transition-colors outline-none select-none hover:bg-accent focus-visible:border-ring focus-visible:outline-2 focus-visible:outline-solid focus-visible:-outline-offset-2 focus-visible:outline-ring disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:min-h-8 data-[size=sm]:min-h-7 data-[size=sm]:rounded-md data-[size=sm]:py-0.5 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...i,children:[n,(0,r.jsx)(l.w,{render:(0,r.jsx)(j.A,{className:"pointer-events-none size-4 text-muted-foreground"})})]})}function C({className:e,positionerClassName:t,children:n,side:i="bottom",sideOffset:a=4,align:s="center",alignOffset:o=0,alignItemWithTrigger:l=!0,finalFocus:g=!1,...m}){return(0,r.jsx)(d.V,{children:(0,r.jsx)(c.l,{side:i,sideOffset:a,align:s,alignOffset:o,alignItemWithTrigger:l,className:(0,x.cn)("isolate z-50",t),children:(0,r.jsxs)(u.t,{"data-slot":"select-content",finalFocus:g,"data-align-trigger":l,className:(0,x.cn)("relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",e),...m,children:[(0,r.jsx)(I,{}),(0,r.jsx)(f.B,{children:n}),(0,r.jsx)(E,{})]})})})}function S({className:e,...t}){return(0,r.jsx)(g.M,{"data-slot":"select-label",className:(0,x.cn)("px-1.5 py-1 text-xs text-muted-foreground",e),...t})}function A({className:e,children:t,...n}){return(0,r.jsxs)(m.e,{"data-slot":"select-item",className:(0,x.cn)("relative flex min-h-8 w-full cursor-pointer items-center gap-2 rounded-md py-1 pr-8 pl-2 text-sm outline-hidden select-none data-highlighted:bg-accent data-highlighted:text-accent-foreground focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...n,children:[(0,r.jsx)(p.h,{className:"flex flex-1 shrink-0 gap-2 whitespace-nowrap",children:t}),(0,r.jsx)(h.h,{render:(0,r.jsx)("span",{className:"pointer-events-none absolute right-2 flex size-4 items-center justify-center"}),children:(0,r.jsx)(y.A,{className:"pointer-events-none"})})]})}function I({className:e,...t}){return(0,r.jsx)(v.w,{"data-slot":"select-scroll-up-button",className:(0,x.cn)("top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",e),...t,children:(0,r.jsx)(_.A,{})})}function E({className:e,...t}){return(0,r.jsx)(b.d,{"data-slot":"select-scroll-down-button",className:(0,x.cn)("bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",e),...t,children:(0,r.jsx)(j.A,{})})}},69013:(e,t,n)=>{"use strict";function r(e){return Array.from(e).some(e=>{let t=e.charCodeAt(0);return t<=31||t>=127&&t<=159})}function i(e){let t;if("string"!=typeof e||!e.startsWith("/")||e.startsWith("//")||e.includes("\\")||r(e))return"/";try{if(t=decodeURIComponent(e.split(/[?#]/,1)[0]),r(decodeURIComponent(e)))return"/"}catch{return"/"}if(t.startsWith("//")||t.includes("\\"))return"/";let n=[];for(let e of t.split("/"))".."===e?n.pop():""!==e&&"."!==e&&n.push(e);return"login"===n.join("/").toLowerCase()?"/":e}function a(e){let t=i(e);return"/"===t?"/login":`/login?returnTo=${encodeURIComponent(t)}`}n.d(t,{R:()=>a,S:()=>i})},73230:(e,t,n)=>{"use strict";n.d(t,{B:()=>a,o:()=>i});let r=null;function i(e){r=e}function a(e){return e.i18n?r?.(e.i18n.key,e.i18n.params)??e.msg:e.msg}},73429:(e,t,n)=>{"use strict";n.d(t,{p:()=>s});var r=n(7962);n(69266);var i=n(53555),a=n(49426);function s({className:e,type:t,...n}){return(0,r.jsx)(i.p,{type:t,"data-slot":"input",className:(0,a.cn)("min-h-8 w-full min-w-0 rounded-lg border border-input bg-card px-2.5 py-1 text-sm leading-5 transition-colors duration-150 outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:outline-2 focus-visible:outline-solid focus-visible:-outline-offset-2 focus-visible:outline-ring disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-muted disabled:opacity-50 aria-invalid:border-destructive aria-invalid:outline-destructive",e),...n})}},75677:e=>{e.exports={page:"l2-login_page__9Rg_1",header:"l2-login_header__0MhG2",brand:"l2-login_brand__Y21Ar",content:"l2-login_content__2Ufa1",panel:"l2-login_panel___qDe1",heading:"l2-login_heading__JZYb_",form:"l2-login_form__h_uTc",field:"l2-login_field__xGFqJ",error:"l2-login_error__9TKEh",submit:"l2-login_submit__NfBba"}},86963:(e,t,n)=>{"use strict";n.d(t,{$:()=>l,r:()=>o});var r=n(7962),i=n(28549),a=n(73392),s=n(49426);let o=(0,a.F)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap cursor-pointer transition-colors duration-150 ease-out outline-none select-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-solid focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 aria-pressed:bg-accent aria-pressed:text-accent-foreground aria-pressed:hover:bg-[color-mix(in_oklab,var(--accent),var(--foreground)_5%)] aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-[color-mix(in_oklab,var(--primary),var(--primary-foreground)_8%)] active:bg-[color-mix(in_oklab,var(--primary),var(--primary-foreground)_14%)]",outline:"border-border bg-card text-card-foreground hover:bg-accent active:bg-[color-mix(in_oklab,var(--accent),var(--foreground)_6%)] aria-expanded:bg-accent aria-expanded:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklab,var(--secondary),var(--foreground)_8%)] active:bg-[color-mix(in_oklab,var(--secondary),var(--foreground)_14%)] aria-expanded:bg-accent aria-expanded:text-accent-foreground",ghost:"hover:bg-foreground/8 hover:text-foreground active:bg-foreground/14 aria-expanded:bg-accent aria-expanded:text-accent-foreground",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-foreground underline underline-offset-4 hover:text-muted-foreground"},size:{default:"min-h-8 gap-2 px-2 py-1",xs:"min-h-7 gap-2 rounded-md px-2 py-0.5 text-sm",sm:"min-h-7 gap-2 rounded-md px-2 py-0.5 text-sm",lg:"min-h-10 gap-2 px-3 py-2",icon:"size-8","icon-xs":"size-7 rounded-md","icon-sm":"size-7 rounded-md","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function l({className:e,variant:t="default",size:n="default",...a}){return(0,r.jsx)(i.$,{"data-slot":"button",className:(0,s.cn)(o({variant:t,size:n,className:e})),...a})}}},e=>{e.O(0,[41304,57235,14825,79267,14197,4904,64444,77358],()=>e(e.s=8416)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[74520],{5816:(e,t,n)=>{"use strict";n.d(t,{A:()=>f,i:()=>c});var r=n(7962),i=n(44297),a=n(78121),s=n(69266),o=n(73230),l=n(48708);let d=()=>null;function c(){let e=(0,s.useSyncExternalStore)(l.re,l.fx,d);if(!e)throw Error("区域设置尚未就绪");return e}function u({children:e,locale:t,resources:n}){let[l]=(0,s.useState)(()=>{let e;return(e=(0,i.Q_)()).init({lng:t,fallbackLng:"en",resources:n,defaultNS:"common",ns:Object.keys(n.en??{}),initAsync:!1,interpolation:{escapeValue:!1}}),e});return(0,s.useEffect)(()=>(document.documentElement.lang=t,l.changeLanguage(t),(0,o.o)((e,t)=>l.exists(e)?l.t(e,t):null),()=>(0,o.o)(null)),[l,t]),(0,r.jsx)(a.xC,{i18n:l,children:e})}function f({children:e,resources:t,initialSettings:n}){let i=(0,s.useSyncExternalStore)(l.re,l.fx,d);return(0,s.useEffect)(()=>((0,l.UV)(n),(0,l.Hc)()),[n]),i?(0,r.jsx)(u,{locale:i.locale,resources:t,children:e}):null}},8416:(e,t,n)=>{Promise.resolve().then(n.bind(n,21358))},15710:(e,t,n)=>{"use strict";n.d(t,{J:()=>a,a:()=>i});var r=n(38979);let i=r.Ik({locale:r.k5(["zh-CN","en"]),timeZone:r.Yj().trim().min(1).max(100).refine(e=>{try{return new Intl.DateTimeFormat("en",{timeZone:e}),!0}catch{return!1}},"无效的 IANA 时区")}).strict().readonly(),a=r.Ik({region:i}).strict().readonly()},19562:(e,t,n)=>{"use strict";n.d(t,{k:()=>c});var r=n(7962),i=n(66153),a=n(95929),s=n(69266),o=n(78121),l=n(49426),d=n(73429);function c({className:e,disabled:t,id:n,...u}){let{t:f}=(0,o.Bd)("common"),[g,m]=(0,s.useState)(!1),p=f(g?"hidePassword":"showPassword");return(0,r.jsxs)("div",{className:"relative min-w-0",children:[(0,r.jsx)(d.p,{...u,id:n,disabled:t,type:g?"text":"password",autoCapitalize:"none",spellCheck:!1,className:(0,l.cn)("pr-9",e)}),(0,r.jsx)("button",{type:"button",className:"absolute top-1/2 right-1 flex size-6 -translate-y-1/2 cursor-pointer items-center justify-center rounded-md text-muted-foreground outline-none hover:bg-accent hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50","aria-label":p,"aria-controls":n,"aria-pressed":g,title:p,disabled:t,onClick:()=>m(e=>!e),children:g?(0,r.jsx)(i.A,{className:"size-4","aria-hidden":"true"}):(0,r.jsx)(a.A,{className:"size-4","aria-hidden":"true"})})]})}},21358:(e,t,n)=>{"use strict";n.d(t,{L2Login:()=>_});var r=n(7962),i=n(11831),a=n(14044),s=n(56164),o=n(69266),l=n(78121),d=n(26586),c=n(5816),u=n(48708),f=n(86963);n(38979).k5(["zh-CN","en"]);var g=n(19562),m=n(42655),p=n(54379),h=n(69013),v=n(73230),b=n(33941);async function x(e,t){let n,r=b.W.safeParse(t);if(!r.success)throw Error((0,v.B)({msg:"登录失败,请检查登录信息后重试。",i18n:{key:"auth:invalidInput"}}));let i=await fetch("/api/auth/login",{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json","X-Pi-Desk-Client-Id":e},body:JSON.stringify(r.data)});try{n=await i.json()}catch{throw Error((0,v.B)({msg:"登录服务响应无效",i18n:{key:"auth:invalidResponse"}}))}if(!i.ok||0!==n.code||null===n.data)throw Error(0===n.code?(0,v.B)({msg:"登录失败",i18n:{key:"auth:loginFailed"}}):(0,v.B)(n));b.mj.parse(n.data);let a=new URLSearchParams(window.location.search).get("returnTo");window.location.replace((0,h.S)(a))}var j=n(75677),y=n.n(j);function _(){let{t:e}=(0,l.Bd)("auth"),t=(0,c.i)(),n=(0,d.A)(),[h,v]=(0,o.useState)(""),[b,j]=(0,o.useState)(null),[_,w]=(0,o.useState)(!1),N=(0,o.useRef)(!1);(0,o.useEffect)(()=>{(0,u.pW)(function(e){for(let t of e){let e=t.toLowerCase().split("-")[0];if("zh"===e)return"zh-CN";if("en"===e)break}return"en"}(navigator.languages.length?navigator.languages:[navigator.language]))},[]);let k=async t=>{if(t.preventDefault(),!N.current){N.current=!0,j(null),w(!0);try{await x(n,{password:h})}catch(t){N.current=!1,j(t instanceof Error?t.message:e("loginFailed")),w(!1)}}};return(0,r.jsxs)("main",{className:y().page,children:[(0,r.jsxs)("header",{className:y().header,children:[(0,r.jsxs)("div",{className:y().brand,children:[(0,r.jsx)(m.V,{className:"shrink-0"}),(0,r.jsx)("span",{children:"Pi Desk"})]}),(0,r.jsxs)(p.l6,{value:t.locale,onValueChange:e=>{("en"===e||"zh-CN"===e)&&(0,u.pW)(e)},children:[(0,r.jsxs)(p.bq,{"aria-label":e("settings:language"),className:"w-fit border-transparent bg-transparent shadow-none",children:[(0,r.jsx)(i.A,{className:"size-4 text-muted-foreground","aria-hidden":"true"}),(0,r.jsx)(p.yv,{children:"zh-CN"===t.locale?e("common:chinese"):"English"})]}),(0,r.jsxs)(p.gC,{children:[(0,r.jsx)(p.eb,{value:"zh-CN",children:"简体中文"}),(0,r.jsx)(p.eb,{value:"en",children:"English"})]})]})]}),(0,r.jsx)("div",{className:y().content,children:(0,r.jsxs)("section",{className:y().panel,"aria-labelledby":"login-title",children:[(0,r.jsxs)("div",{className:y().heading,children:[(0,r.jsx)("h1",{id:"login-title",children:e("title")}),(0,r.jsx)("p",{children:e("subtitle")})]}),(0,r.jsxs)("form",{className:y().form,onSubmit:e=>void k(e),"aria-busy":_,children:[(0,r.jsxs)("div",{className:y().field,children:[(0,r.jsx)("label",{htmlFor:"password",children:e("password")}),(0,r.jsx)(g.k,{id:"password",name:"password",value:h,autoComplete:"current-password",maxLength:64,disabled:_,"aria-describedby":b?"login-error":void 0,onChange:e=>v(e.target.value),required:!0})]}),b?(0,r.jsx)("p",{id:"login-error",className:y().error,role:"alert",children:b}):null,(0,r.jsxs)(f.$,{className:y().submit,type:"submit",disabled:_,children:[_?(0,r.jsx)(a.A,{className:"motion-safe:animate-spin","aria-hidden":"true"}):null,_?e("submitting"):e("submit"),_?null:(0,r.jsx)(s.A,{"aria-hidden":"true"})]})]})]})})]})}},26586:(e,t,n)=>{"use strict";n.d(t,{A:()=>a,O:()=>i});var r=n(69266);let i=(0,r.createContext)(null);function a(){let e=(0,r.useContext)(i);if(null===e)throw Error("缺少页面 clientId Provider");return e}},33941:(e,t,n)=>{"use strict";n.d(t,{G6:()=>o,Kc:()=>c,W:()=>i,Xm:()=>s,mj:()=>a,uZ:()=>d});var r=n(38979);let i=r.Ik({password:r.Yj().min(1).max(64)}).strict(),a=r.Ik({}).strict();r.Ik({}).strict();let s=r.Ik({}).strict();r.Ik({}).strict();let o=r.Ik({enabled:r.zM(),configPath:r.Yj()}).strict(),l=r.Yj().min(12).max(64).refine(e=>e===e.trim()&&!/[\p{Cc}\p{Cf}\p{Zl}\p{Zp}]/u.test(e)).refine(e=>[/[A-Z]/,/[a-z]/,/[0-9]/,/[\p{P}\p{S}]/u].filter(t=>t.test(e)).length>=3),d=r.KC([i.extend({password:l}),r.Ik({password:r.ch()}).strict()]),c=r.Ik({}).strict()},42655:(e,t,n)=>{"use strict";n.d(t,{V:()=>s});var r=n(7962),i=n(50153);let a={src:"/_next/static/media/l4-brand-icon.d4f68daf.svg",height:348,width:464,blurWidth:0,blurHeight:0};function s({size:e=40,className:t}){return(0,r.jsx)(i.default,{src:a,width:e,height:3*e/4,alt:"",className:t})}},48708:(e,t,n)=>{"use strict";n.d(t,{Hc:()=>v,SJ:()=>u,UV:()=>g,ae:()=>f,fx:()=>p,pW:()=>m,re:()=>h});var r=n(15710);let i=new Set,a=new Set,s=r.J.parse({region:{locale:"en",timeZone:"UTC"}}),o=null,l=!1,d=0;function c(e){return{locale:e,timeZone:s.region.timeZone,localePreference:s.region.locale,timeZonePreference:s.region.timeZone,pendingLocale:e===s.region.locale?null:s.region.locale}}function u(){return s}function f(e){return a.add(e),()=>a.delete(e)}function g(e){let t=r.J.parse(e),n=JSON.stringify(s)!==JSON.stringify(t);if(l&&!n)return;let d=l&&o?o.locale:t.region.locale;for(let e of(s=t,l=!0,o=c(d),i))e();if(n)for(let e of a)e()}function m(e){for(let t of(o={...c(e),pendingLocale:null},i))t()}function p(){return o}function h(e){return i.add(e),()=>i.delete(e)}function v(){if(d+=1,!o)for(let e of(o=c(s.region.locale),i))e();return()=>{0==(d-=1)&&(o=null,l=!1,s=r.J.parse({region:{locale:"en",timeZone:"UTC"}}),i.clear(),a.clear())}}},49426:(e,t,n)=>{"use strict";n.d(t,{cn:()=>a});var r=n(77694),i=n(37810);function a(...e){return(0,i.QP)((0,r.$)(e))}},54379:(e,t,n)=>{"use strict";n.d(t,{TR:()=>S,bq:()=>z,eb:()=>A,gC:()=>C,l6:()=>w,s3:()=>N,yv:()=>k});var r=n(7962);n(69266);var i=n(66341),a=n(91068),s=n(57160),o=n(39148),l=n(95532),d=n(34358),c=n(75970),u=n(12124),f=n(6398),g=n(15639),m=n(44788),p=n(40963),h=n(10949),v=n(46468),b=n(93282),x=n(49426),j=n(86758),y=n(90458),_=n(24121);let w=i.H;function N({className:e,...t}){return(0,r.jsx)(a.s,{"data-slot":"select-group",className:(0,x.cn)("scroll-my-1 p-1",e),...t})}function k({className:e,...t}){return(0,r.jsx)(s.y,{"data-slot":"select-value",className:(0,x.cn)("flex flex-1 text-left",e),...t})}function z({className:e,size:t="default",children:n,...i}){return(0,r.jsxs)(o.b,{"data-slot":"select-trigger","data-size":t,className:(0,x.cn)("flex w-fit cursor-pointer items-center justify-between gap-2 rounded-lg border border-input bg-card px-2.5 py-1 text-sm leading-5 whitespace-nowrap transition-colors outline-none select-none hover:bg-accent focus-visible:border-ring focus-visible:outline-2 focus-visible:outline-solid focus-visible:-outline-offset-2 focus-visible:outline-ring disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:min-h-8 data-[size=sm]:min-h-7 data-[size=sm]:rounded-md data-[size=sm]:py-0.5 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...i,children:[n,(0,r.jsx)(l.w,{render:(0,r.jsx)(j.A,{className:"pointer-events-none size-4 text-muted-foreground"})})]})}function C({className:e,positionerClassName:t,children:n,side:i="bottom",sideOffset:a=4,align:s="center",alignOffset:o=0,alignItemWithTrigger:l=!0,finalFocus:g=!1,...m}){return(0,r.jsx)(d.V,{children:(0,r.jsx)(c.l,{side:i,sideOffset:a,align:s,alignOffset:o,alignItemWithTrigger:l,className:(0,x.cn)("isolate z-50",t),children:(0,r.jsxs)(u.t,{"data-slot":"select-content",finalFocus:g,"data-align-trigger":l,className:(0,x.cn)("relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",e),...m,children:[(0,r.jsx)(I,{}),(0,r.jsx)(f.B,{children:n}),(0,r.jsx)(E,{})]})})})}function S({className:e,...t}){return(0,r.jsx)(g.M,{"data-slot":"select-label",className:(0,x.cn)("px-1.5 py-1 text-xs text-muted-foreground",e),...t})}function A({className:e,children:t,...n}){return(0,r.jsxs)(m.e,{"data-slot":"select-item",className:(0,x.cn)("relative flex min-h-8 w-full cursor-pointer items-center gap-2 rounded-md py-1 pr-8 pl-2 text-sm outline-hidden select-none data-highlighted:bg-accent data-highlighted:text-accent-foreground focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...n,children:[(0,r.jsx)(p.h,{className:"flex flex-1 shrink-0 gap-2 whitespace-nowrap",children:t}),(0,r.jsx)(h.h,{render:(0,r.jsx)("span",{className:"pointer-events-none absolute right-2 flex size-4 items-center justify-center"}),children:(0,r.jsx)(y.A,{className:"pointer-events-none"})})]})}function I({className:e,...t}){return(0,r.jsx)(v.w,{"data-slot":"select-scroll-up-button",className:(0,x.cn)("top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",e),...t,children:(0,r.jsx)(_.A,{})})}function E({className:e,...t}){return(0,r.jsx)(b.d,{"data-slot":"select-scroll-down-button",className:(0,x.cn)("bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",e),...t,children:(0,r.jsx)(j.A,{})})}},69013:(e,t,n)=>{"use strict";function r(e){return Array.from(e).some(e=>{let t=e.charCodeAt(0);return t<=31||t>=127&&t<=159})}function i(e){let t;if("string"!=typeof e||!e.startsWith("/")||e.startsWith("//")||e.includes("\\")||r(e))return"/";try{if(t=decodeURIComponent(e.split(/[?#]/,1)[0]),r(decodeURIComponent(e)))return"/"}catch{return"/"}if(t.startsWith("//")||t.includes("\\"))return"/";let n=[];for(let e of t.split("/"))".."===e?n.pop():""!==e&&"."!==e&&n.push(e);return"login"===n.join("/").toLowerCase()?"/":e}function a(e){let t=i(e);return"/"===t?"/login":`/login?returnTo=${encodeURIComponent(t)}`}n.d(t,{R:()=>a,S:()=>i})},73230:(e,t,n)=>{"use strict";n.d(t,{B:()=>a,o:()=>i});let r=null;function i(e){r=e}function a(e){return e.i18n?r?.(e.i18n.key,e.i18n.params)??e.msg:e.msg}},73429:(e,t,n)=>{"use strict";n.d(t,{p:()=>s});var r=n(7962);n(69266);var i=n(53555),a=n(49426);function s({className:e,type:t,...n}){return(0,r.jsx)(i.p,{type:t,"data-slot":"input",className:(0,a.cn)("min-h-8 w-full min-w-0 rounded-lg border border-input bg-card px-2.5 py-1 text-sm leading-5 transition-colors duration-150 outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:outline-2 focus-visible:outline-solid focus-visible:-outline-offset-2 focus-visible:outline-ring disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-muted disabled:opacity-50 aria-invalid:border-destructive aria-invalid:outline-destructive",e),...n})}},75677:e=>{e.exports={page:"l2-login_page__9Rg_1",header:"l2-login_header__0MhG2",brand:"l2-login_brand__Y21Ar",content:"l2-login_content__2Ufa1",panel:"l2-login_panel___qDe1",heading:"l2-login_heading__JZYb_",form:"l2-login_form__h_uTc",field:"l2-login_field__xGFqJ",error:"l2-login_error__9TKEh",submit:"l2-login_submit__NfBba"}},86963:(e,t,n)=>{"use strict";n.d(t,{$:()=>l,r:()=>o});var r=n(7962),i=n(28549),a=n(73392),s=n(49426);let o=(0,a.F)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap cursor-pointer transition-colors duration-150 ease-out outline-none select-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-solid focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 aria-pressed:bg-accent aria-pressed:text-accent-foreground aria-pressed:hover:bg-[color-mix(in_oklab,var(--accent),var(--foreground)_5%)] aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-[color-mix(in_oklab,var(--primary),var(--primary-foreground)_8%)] active:bg-[color-mix(in_oklab,var(--primary),var(--primary-foreground)_14%)]",outline:"border-border bg-card text-card-foreground hover:bg-accent active:bg-[color-mix(in_oklab,var(--accent),var(--foreground)_6%)] aria-expanded:bg-accent aria-expanded:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklab,var(--secondary),var(--foreground)_8%)] active:bg-[color-mix(in_oklab,var(--secondary),var(--foreground)_14%)] aria-expanded:bg-accent aria-expanded:text-accent-foreground",ghost:"hover:bg-foreground/8 hover:text-foreground active:bg-foreground/14 aria-expanded:bg-accent aria-expanded:text-accent-foreground",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-foreground underline underline-offset-4 hover:text-muted-foreground"},size:{default:"min-h-8 gap-2 px-2 py-1",xs:"min-h-7 gap-2 rounded-md px-2 py-0.5 text-sm",sm:"min-h-7 gap-2 rounded-md px-2 py-0.5 text-sm",lg:"min-h-10 gap-2 px-3 py-2",icon:"size-8","icon-xs":"size-7 rounded-md","icon-sm":"size-7 rounded-md","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function l({className:e,variant:t="default",size:n="default",...a}){return(0,r.jsx)(i.$,{"data-slot":"button",className:(0,s.cn)(o({variant:t,size:n,className:e})),...a})}}},e=>{e.O(0,[41304,57235,14825,36643,30669,4904,64444,77358],()=>e(e.s=8416)),_N_E=e.O()}]);