@jetcrab/pi-desk 1.1.5 → 1.1.8-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 (95) hide show
  1. package/README.md +4 -4
  2. package/README.zh-CN.md +4 -4
  3. package/docs/README.md +8 -0
  4. package/docs/doc_asset/client-overview.webp +0 -0
  5. package/docs/doc_asset/multi-window.webp +0 -0
  6. package/docs/{pi-desk/plugins.md → plugins.md} +108 -1
  7. package/package.json +2 -2
  8. package/src/client/l2_biz/project-preview/l2-project-preview-dialog.tsx +3 -0
  9. package/src/client/l2_biz/workbench/file-workspace/l2-file-workspace-view.tsx +8 -0
  10. package/src/client/l2_biz/workbench/hooks/l2-workbench-chat-viewport.ts +81 -7
  11. package/src/client/l2_biz/workbench/l2-workbench-chat-view.tsx +2 -1
  12. package/src/client/l3_modules/project-files/l3-project-document-git.ts +82 -0
  13. package/src/client/l3_modules/project-files/l3-project-document-view.tsx +102 -5
  14. package/src/client/l3_modules/project-files/l3-project-file-browser.tsx +2 -6
  15. package/src/client/l3_modules/project-files/l3-project-file-runtime.ts +83 -1
  16. package/src/client/l3_modules/project-files/l3-project-file-tabs.tsx +24 -2
  17. package/src/client/l3_modules/project-files/l3-project-git-model.ts +32 -0
  18. package/src/client/l4_foundation/ui/code/l4-code-diff.tsx +25 -5
  19. package/src/client/l4_foundation/ui/code/l4-code-line-changes.ts +49 -0
  20. package/src/client/l4_foundation/ui/code/l4-code-line-changes.worker.ts +10 -0
  21. package/src/client/l4_foundation/ui/code/l4-code-line-markers.module.css +60 -0
  22. package/src/client/l4_foundation/ui/code/l4-code-line-markers.ts +156 -0
  23. package/src/client/l4_foundation/ui/code/l4-code-preview.tsx +61 -5
  24. package/src/client/l4_foundation/ui/code/l4-monaco-lines-diff.d.ts +21 -0
  25. package/src/client/l4_foundation/ui/shadcn/hover-card.tsx +28 -2
  26. package/src/common/l3_modules/project-files/l3-project-files-locale-messages.ts +16 -0
  27. package/src/server/l4_foundation/pidesk/l4-pidesk-runtime.ts +1 -1
  28. package/temp/build/pi-desk/release/.next/BUILD_ID +1 -1
  29. package/temp/build/pi-desk/release/.next/build-manifest.json +3 -3
  30. package/temp/build/pi-desk/release/.next/prerender-manifest.json +3 -3
  31. package/temp/build/pi-desk/release/.next/react-loadable-manifest.json +5 -4
  32. package/temp/build/pi-desk/release/.next/required-server-files.js +3 -3
  33. package/temp/build/pi-desk/release/.next/required-server-files.json +3 -3
  34. package/temp/build/pi-desk/release/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  35. package/temp/build/pi-desk/release/.next/server/app/_global-error.html +1 -1
  36. package/temp/build/pi-desk/release/.next/server/app/_global-error.rsc +1 -1
  37. package/temp/build/pi-desk/release/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  38. package/temp/build/pi-desk/release/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  39. package/temp/build/pi-desk/release/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  40. package/temp/build/pi-desk/release/.next/server/app/_not-found/page.js +1 -1
  41. package/temp/build/pi-desk/release/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  42. package/temp/build/pi-desk/release/.next/server/app/api/health/route.js +1 -1
  43. package/temp/build/pi-desk/release/.next/server/app/login/page.js +1 -1
  44. package/temp/build/pi-desk/release/.next/server/app/login/page_client-reference-manifest.js +1 -1
  45. package/temp/build/pi-desk/release/.next/server/app/page.js +6 -6
  46. package/temp/build/pi-desk/release/.next/server/app/page_client-reference-manifest.js +1 -1
  47. package/temp/build/pi-desk/release/.next/server/chunks/20842.js +1 -0
  48. package/temp/build/pi-desk/release/.next/server/chunks/25406.js +1 -1
  49. package/temp/build/pi-desk/release/.next/server/chunks/{9248.js → 354.js} +1 -1
  50. package/temp/build/pi-desk/release/.next/server/chunks/35985.js +6 -6
  51. package/temp/build/pi-desk/release/.next/server/chunks/45671.js +1 -0
  52. package/temp/build/pi-desk/release/.next/server/chunks/47757.js +1 -1
  53. package/temp/build/pi-desk/release/.next/server/chunks/56284.js +62 -0
  54. package/temp/build/pi-desk/release/.next/server/chunks/73691.js +1 -0
  55. package/temp/build/pi-desk/release/.next/server/chunks/82499.js +2 -2
  56. package/temp/build/pi-desk/release/.next/server/chunks/94296.js +2 -2
  57. package/temp/build/pi-desk/release/.next/server/chunks/pi-desk-line-changes.js +1 -0
  58. package/temp/build/pi-desk/release/.next/server/middleware-build-manifest.js +1 -1
  59. package/temp/build/pi-desk/release/.next/server/middleware-react-loadable-manifest.js +1 -1
  60. package/temp/build/pi-desk/release/.next/server/pages/500.html +1 -1
  61. package/temp/build/pi-desk/release/.next/server/server-reference-manifest.json +1 -1
  62. package/temp/build/pi-desk/release/.next/server/webpack-runtime.js +1 -1
  63. package/temp/build/pi-desk/release/.next/static/chunks/28739.540a4f24a8eaa3fd.js +1 -0
  64. package/temp/build/pi-desk/release/.next/static/chunks/31087-333cae396a52f232.js +1 -0
  65. package/temp/build/pi-desk/release/.next/static/chunks/3814-35cfab0ce3aa7c41.js +1 -0
  66. package/temp/build/pi-desk/release/.next/static/chunks/38459.9a9b6f4f3ec3ff50.js +1 -0
  67. package/temp/build/pi-desk/release/.next/static/chunks/45992-a39a014497ec4dd1.js +13 -0
  68. package/temp/build/pi-desk/release/.next/static/chunks/53291.ab6ef49016107124.js +1 -0
  69. package/temp/build/pi-desk/release/.next/static/chunks/{54206.82a63ab971911eda.js → 54206.ffb8c581c6661ae2.js} +2 -2
  70. package/temp/build/pi-desk/release/.next/static/chunks/5598.f34dce2a9de0d0e3.js +1 -0
  71. package/temp/build/pi-desk/release/.next/static/chunks/70669.8b4231a8675499e0.js +1 -0
  72. package/temp/build/pi-desk/release/.next/static/chunks/95287.34b860abf26f64a5.js +1 -0
  73. package/temp/build/pi-desk/release/.next/static/chunks/app/layout-586f6f88483051a7.js +3 -0
  74. package/temp/build/pi-desk/release/.next/static/chunks/app/{page-c6c68b33156be10a.js → page-0f2cf68a4666420b.js} +4 -4
  75. package/temp/build/pi-desk/release/.next/static/chunks/pi-desk-line-changes.49f8d59c256621d6.js +1 -0
  76. package/temp/build/pi-desk/release/.next/static/chunks/webpack-26261285e181235a.js +1 -0
  77. package/temp/build/pi-desk/release/.next/static/css/{f6a76a493aae9ae3.css → adb1d4e48dd43c0a.css} +1 -1
  78. package/temp/build/pi-desk/release/.next/trace-build +1 -1
  79. package/docs/pi-desk/README.md +0 -47
  80. package/temp/build/pi-desk/release/.next/server/chunks/6656.js +0 -1
  81. package/temp/build/pi-desk/release/.next/server/chunks/89236.js +0 -62
  82. package/temp/build/pi-desk/release/.next/static/chunks/19991.02fcb7c8ca3b1fe4.js +0 -1
  83. package/temp/build/pi-desk/release/.next/static/chunks/26285.54b8bcbf7a198c84.js +0 -1
  84. package/temp/build/pi-desk/release/.next/static/chunks/52354-6461358c522130be.js +0 -1
  85. package/temp/build/pi-desk/release/.next/static/chunks/74132-876f256c7a6101af.js +0 -13
  86. package/temp/build/pi-desk/release/.next/static/chunks/79615.7d68b269d93fcb93.js +0 -1
  87. package/temp/build/pi-desk/release/.next/static/chunks/app/layout-4faf3a52d219296d.js +0 -3
  88. package/temp/build/pi-desk/release/.next/static/chunks/webpack-7bfbf627379fb4c1.js +0 -1
  89. /package/docs/{pi-desk/commands.md → commands.md} +0 -0
  90. /package/docs/{pi-desk/examples → examples}/local-application/browser/application.js +0 -0
  91. /package/docs/{pi-desk/examples → examples}/local-application/browser/entry.js +0 -0
  92. /package/docs/{pi-desk/examples → examples}/local-application/package.json +0 -0
  93. /package/docs/{pi-desk/examples → examples}/local-application/pi-desk.ts +0 -0
  94. /package/temp/build/pi-desk/release/.next/static/{1LdtGYUckBhYZy0R-6yG0 → -pemk30NXpiExEU5tjb1t}/_buildManifest.js +0 -0
  95. /package/temp/build/pi-desk/release/.next/static/{1LdtGYUckBhYZy0R-6yG0 → -pemk30NXpiExEU5tjb1t}/_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}},"21358":{"*":{"id":"41051","name":"*","chunks":[],"async":false}},"22432":{"*":{"id":"1480","name":"*","chunks":[],"async":false}},"23367":{"*":{"id":"49453","name":"*","chunks":[],"async":false}},"32422":{"*":{"id":"48599","name":"*","chunks":[],"async":false}},"33948":{"*":{"id":"79460","name":"*","chunks":[],"async":false}},"44478":{"*":{"id":"97016","name":"*","chunks":[],"async":false}},"64282":{"*":{"id":"12104","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}},"90184":{"*":{"id":"88476","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":["78923","static/chunks/78923-17a9c337b29dcecd.js","81881","static/chunks/81881-f11dbe7dc0d04ed9.js","24345","static/chunks/app/not-found-2aab8b33ebbf3257.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":["78923","static/chunks/78923-17a9c337b29dcecd.js","96995","static/chunks/96995-8f8313ea2ac3abd7.js","57208","static/chunks/57208-d6d38167dabb91e4.js","74220","static/chunks/74220-795a2e7185bd66cb.js","74132","static/chunks/74132-876f256c7a6101af.js","52354","static/chunks/52354-6461358c522130be.js","7177","static/chunks/app/layout-4faf3a52d219296d.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":["78923","static/chunks/78923-17a9c337b29dcecd.js","96995","static/chunks/96995-8f8313ea2ac3abd7.js","57208","static/chunks/57208-d6d38167dabb91e4.js","74220","static/chunks/74220-795a2e7185bd66cb.js","74132","static/chunks/74132-876f256c7a6101af.js","52354","static/chunks/52354-6461358c522130be.js","7177","static/chunks/app/layout-4faf3a52d219296d.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l1_entry/providers/l1-app-providers.tsx":{"id":64282,"name":"*","chunks":["78923","static/chunks/78923-17a9c337b29dcecd.js","96995","static/chunks/96995-8f8313ea2ac3abd7.js","57208","static/chunks/57208-d6d38167dabb91e4.js","74220","static/chunks/74220-795a2e7185bd66cb.js","74132","static/chunks/74132-876f256c7a6101af.js","52354","static/chunks/52354-6461358c522130be.js","7177","static/chunks/app/layout-4faf3a52d219296d.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l4_foundation/styles/l4-globals.css":{"id":84178,"name":"*","chunks":["78923","static/chunks/78923-17a9c337b29dcecd.js","96995","static/chunks/96995-8f8313ea2ac3abd7.js","57208","static/chunks/57208-d6d38167dabb91e4.js","74220","static/chunks/74220-795a2e7185bd66cb.js","74132","static/chunks/74132-876f256c7a6101af.js","52354","static/chunks/52354-6461358c522130be.js","7177","static/chunks/app/layout-4faf3a52d219296d.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/app/error.tsx":{"id":84845,"name":"*","chunks":["78923","static/chunks/78923-17a9c337b29dcecd.js","81881","static/chunks/81881-f11dbe7dc0d04ed9.js","18039","static/chunks/app/error-0296a3b20cd1bf00.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-home-page.tsx":{"id":32422,"name":"*","chunks":["85959","static/chunks/287c71e3-32bb21af66f1f035.js","26717","static/chunks/6c0b963a-c492581a5b6359f7.js","94287","static/chunks/cdfede43-b007dd93b1fdb122.js","78923","static/chunks/78923-17a9c337b29dcecd.js","96995","static/chunks/96995-8f8313ea2ac3abd7.js","46270","static/chunks/46270-3e42514685626190.js","57208","static/chunks/57208-d6d38167dabb91e4.js","14197","static/chunks/14197-3d3ddd426ac06c9c.js","34903","static/chunks/34903-e4205c0becabea76.js","74220","static/chunks/74220-795a2e7185bd66cb.js","74132","static/chunks/74132-876f256c7a6101af.js","58974","static/chunks/app/page-c6c68b33156be10a.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l2_biz/auth/l2-login.tsx":{"id":21358,"name":"*","chunks":[],"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/3213ee28336bddc2.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/f6a76a493aae9ae3.css"}]},"rscModuleMapping":{"14405":{"*":{"id":"52047","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}},"32422":{"*":{"id":"11568","name":"*","chunks":[],"async":false}},"33948":{"*":{"id":"52442","name":"*","chunks":[],"async":false}},"44478":{"*":{"id":"47594","name":"*","chunks":[],"async":false}},"64282":{"*":{"id":"64669","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}},"90184":{"*":{"id":"270","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}},"21358":{"*":{"id":"41051","name":"*","chunks":[],"async":false}},"22432":{"*":{"id":"1480","name":"*","chunks":[],"async":false}},"23367":{"*":{"id":"49453","name":"*","chunks":[],"async":false}},"32422":{"*":{"id":"48599","name":"*","chunks":[],"async":false}},"33948":{"*":{"id":"79460","name":"*","chunks":[],"async":false}},"44478":{"*":{"id":"97016","name":"*","chunks":[],"async":false}},"64282":{"*":{"id":"45543","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}},"90184":{"*":{"id":"88476","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":["78923","static/chunks/78923-17a9c337b29dcecd.js","81881","static/chunks/81881-f11dbe7dc0d04ed9.js","24345","static/chunks/app/not-found-2aab8b33ebbf3257.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":["78923","static/chunks/78923-17a9c337b29dcecd.js","96995","static/chunks/96995-8f8313ea2ac3abd7.js","57208","static/chunks/57208-d6d38167dabb91e4.js","3814","static/chunks/3814-35cfab0ce3aa7c41.js","74220","static/chunks/74220-795a2e7185bd66cb.js","45992","static/chunks/45992-a39a014497ec4dd1.js","31087","static/chunks/31087-333cae396a52f232.js","7177","static/chunks/app/layout-586f6f88483051a7.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":["78923","static/chunks/78923-17a9c337b29dcecd.js","96995","static/chunks/96995-8f8313ea2ac3abd7.js","57208","static/chunks/57208-d6d38167dabb91e4.js","3814","static/chunks/3814-35cfab0ce3aa7c41.js","74220","static/chunks/74220-795a2e7185bd66cb.js","45992","static/chunks/45992-a39a014497ec4dd1.js","31087","static/chunks/31087-333cae396a52f232.js","7177","static/chunks/app/layout-586f6f88483051a7.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l1_entry/providers/l1-app-providers.tsx":{"id":64282,"name":"*","chunks":["78923","static/chunks/78923-17a9c337b29dcecd.js","96995","static/chunks/96995-8f8313ea2ac3abd7.js","57208","static/chunks/57208-d6d38167dabb91e4.js","3814","static/chunks/3814-35cfab0ce3aa7c41.js","74220","static/chunks/74220-795a2e7185bd66cb.js","45992","static/chunks/45992-a39a014497ec4dd1.js","31087","static/chunks/31087-333cae396a52f232.js","7177","static/chunks/app/layout-586f6f88483051a7.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l4_foundation/styles/l4-globals.css":{"id":84178,"name":"*","chunks":["78923","static/chunks/78923-17a9c337b29dcecd.js","96995","static/chunks/96995-8f8313ea2ac3abd7.js","57208","static/chunks/57208-d6d38167dabb91e4.js","3814","static/chunks/3814-35cfab0ce3aa7c41.js","74220","static/chunks/74220-795a2e7185bd66cb.js","45992","static/chunks/45992-a39a014497ec4dd1.js","31087","static/chunks/31087-333cae396a52f232.js","7177","static/chunks/app/layout-586f6f88483051a7.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/app/error.tsx":{"id":84845,"name":"*","chunks":["78923","static/chunks/78923-17a9c337b29dcecd.js","81881","static/chunks/81881-f11dbe7dc0d04ed9.js","18039","static/chunks/app/error-0296a3b20cd1bf00.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-home-page.tsx":{"id":32422,"name":"*","chunks":["85959","static/chunks/287c71e3-32bb21af66f1f035.js","26717","static/chunks/6c0b963a-c492581a5b6359f7.js","94287","static/chunks/cdfede43-b007dd93b1fdb122.js","78923","static/chunks/78923-17a9c337b29dcecd.js","96995","static/chunks/96995-8f8313ea2ac3abd7.js","46270","static/chunks/46270-3e42514685626190.js","57208","static/chunks/57208-d6d38167dabb91e4.js","14197","static/chunks/14197-3d3ddd426ac06c9c.js","34903","static/chunks/34903-e4205c0becabea76.js","74220","static/chunks/74220-795a2e7185bd66cb.js","45992","static/chunks/45992-a39a014497ec4dd1.js","58974","static/chunks/app/page-0f2cf68a4666420b.js"],"async":false},"/home/runner/work/pi-desk/pi-desk/src/client/l2_biz/auth/l2-login.tsx":{"id":21358,"name":"*","chunks":[],"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/adb1d4e48dd43c0a.css"},{"inlined":false,"path":"static/css/3213ee28336bddc2.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/adb1d4e48dd43c0a.css"}]},"rscModuleMapping":{"14405":{"*":{"id":"52047","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}},"32422":{"*":{"id":"11568","name":"*","chunks":[],"async":false}},"33948":{"*":{"id":"52442","name":"*","chunks":[],"async":false}},"44478":{"*":{"id":"47594","name":"*","chunks":[],"async":false}},"64282":{"*":{"id":"64669","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}},"90184":{"*":{"id":"270","name":"*","chunks":[],"async":false}},"97876":{"*":{"id":"29190","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=20842,exports.ids=[20842],exports.modules={12744:(a,b,c)=>{c.d(b,{y:()=>d});class d{constructor(a,b,c,d){this.originalStart=a,this.originalLength=b,this.modifiedStart=c,this.modifiedLength=d}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}},13101:(a,b,c)=>{let d,e,f;c.d(b,{Q:()=>aa});var g=c(28500),h=c(61822),i=c(72473);class j{constructor(a,b,c){const d=new Uint8Array(a*b);for(let e=0,f=a*b;e<f;e++)d[e]=c;this._data=d,this.rows=a,this.cols=b}get(a,b){return this._data[a*this.cols+b]}set(a,b,c){this._data[a*this.cols+b]=c}}class k{constructor(a){let b=0,c=0;for(let d=0,e=a.length;d<e;d++){const[e,f,g]=a[d];f>b&&(b=f),e>c&&(c=e),g>c&&(c=g)}b++;const d=new j(++c,b,0);for(let b=0,c=a.length;b<c;b++){const[c,e,f]=a[b];d.set(c,e,f)}this._states=d,this._maxCharCode=b}nextState(a,b){return b<0||b>=this._maxCharCode?0:this._states.get(a,b)}}let l=null;function m(){return null===l&&(l=new k([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),l}let n=null;class o{static _createLink(a,b,c,d,e){let f=e-1;do{let c=b.charCodeAt(f);if(2!==a.get(c))break;f--}while(f>d);if(d>0){let a=b.charCodeAt(d-1),c=b.charCodeAt(f);(40===a&&41===c||91===a&&93===c||123===a&&125===c)&&f--}return{range:{startLineNumber:c,startColumn:d+1,endLineNumber:c,endColumn:f+2},url:b.substring(d,f+1)}}static computeLinks(a,b=m()){let c=function(){if(null===n){n=new i.V(0);let a=" <>'\"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…|";for(let b=0;b<a.length;b++)n.set(a.charCodeAt(b),1);let b=".,;:";for(let a=0;a<b.length;a++)n.set(b.charCodeAt(a),2)}return n}(),d=[];for(let e=1,f=a.getLineCount();e<=f;e++){let f=a.getLineContent(e),g=f.length,h=0,i=0,j=0,k=1,l=!1,m=!1,n=!1,p=!1;for(;h<g;){let a=!1,g=f.charCodeAt(h);if(13===k){let b;switch(g){case 40:l=!0,b=0;break;case 41:b=+!l;break;case 91:n=!0,m=!0,b=0;break;case 93:n=!1,b=+!m;break;case 123:p=!0,b=0;break;case 125:b=+!p;break;case 39:case 34:case 96:b=j===g?1:+(39!==j&&34!==j&&96!==j);break;case 42:b=+(42===j);break;case 32:b=+!n;break;default:b=c.get(g)}1===b&&(d.push(o._createLink(c,f,e,i,h)),a=!0)}else if(12===k){let b;91===g?(m=!0,b=0):b=c.get(g),1===b?a=!0:k=13}else 0===(k=b.nextState(k,g))&&(a=!0);a&&(k=1,l=!1,m=!1,p=!1,i=h+1,j=g),h++}13===k&&d.push(o._createLink(c,f,e,i,g))}return d}}class p{constructor(){this._defaultValueSet=[["true","false"],["True","False"],["Private","Public","Friend","ReadOnly","Partial","Protected","WriteOnly"],["public","protected","private"]]}static{this.INSTANCE=new p}navigateValueSet(a,b,c,d,e){if(a&&b){let c=this.doNavigateValueSet(b,e);if(c)return{range:a,value:c}}if(c&&d){let a=this.doNavigateValueSet(d,e);if(a)return{range:c,value:a}}return null}doNavigateValueSet(a,b){let c=this.numberReplace(a,b);return null!==c?c:this.textReplace(a,b)}numberReplace(a,b){let c=Math.pow(10,a.length-(a.lastIndexOf(".")+1)),d=Number(a),e=parseFloat(a);if(!isNaN(d)&&!isNaN(e)&&d===e&&(0!==d||b))return String((d=Math.floor(d*c)+(b?c:-c))/c);return null}textReplace(a,b){return this.valueSetsReplace(this._defaultValueSet,a,b)}valueSetsReplace(a,b,c){let d=null;for(let e=0,f=a.length;null===d&&e<f;e++)d=this.valueSetReplace(a[e],b,c);return d}valueSetReplace(a,b,c){let d=a.indexOf(b);return d>=0?((d+=c?1:-1)<0?d=a.length-1:d%=a.length,a[d]):null}}var q=c(91328),r=c(28672),s=c(19225),t=c(26529),u=c(43765),v=c(57615);class w{static computeUnicodeHighlights(a,b,c){var d;let e,f,g=c?c.startLineNumber:1,i=c?c.endLineNumber:a.getLineCount(),j=new x(b),k=j.getCandidateCodePoints();e="allNonBasicAscii"===k?RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):RegExp(`${(d=Array.from(k),`[${(0,t.bm)(d.map(a=>String.fromCodePoint(a)).join(""))}]`)}`,"g");let l=new s.W5(null,e),m=[],n=!1,o=0,p=0,q=0;a:for(let b=g;b<=i;b++){let c=a.getLineContent(b),d=c.length;l.reset(0);do if(f=l.next(c)){let a=f.index,e=f.index+f[0].length;if(a>0){let b=c.charCodeAt(a-1);(0,t.pc)(b)&&a--}if(e+1<d){let a=c.charCodeAt(e-1);(0,t.pc)(a)&&e++}let g=c.substring(a,e),i=(0,v.Th)(a+1,v.Ld,c,0);i&&i.endColumn<=a+1&&(i=null);let k=j.shouldHighlightNonBasicASCII(g,i?i.word:null);if(0!==k){if(3===k?o++:2===k?p++:1===k?q++:(0,u.xb)(),m.length>=1e3){n=!0;break a}m.push(new h.Q(b,a+1,b,e+1))}}while(f)}return{ranges:m,hasMore:n,ambiguousCharacterCount:o,invisibleCharacterCount:p,nonBasicAsciiCharacterCount:q}}static computeUnicodeHighlightReason(a,b){let c=new x(b);switch(c.shouldHighlightNonBasicASCII(a,null)){case 0:return null;case 2:return{kind:1};case 3:{let d=a.codePointAt(0),e=c.ambiguousCharacters.getPrimaryConfusable(d),f=t.tl.getLocales().filter(a=>!t.tl.getInstance(new Set([...b.allowedLocales,a])).isAmbiguous(d));return{kind:0,confusableWith:String.fromCodePoint(e),notAmbiguousInLocales:f}}case 1:return{kind:2}}}}class x{constructor(a){this.options=a,this.allowedCodePoints=new Set(a.allowedCodePoints),this.ambiguousCharacters=t.tl.getInstance(new Set(a.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";let a=new Set;if(this.options.invisibleCharacters)for(let b of t.y_.codePoints)y(String.fromCodePoint(b))||a.add(b);if(this.options.ambiguousCharacters)for(let b of this.ambiguousCharacters.getConfusableCodePoints())a.add(b);for(let b of this.allowedCodePoints)a.delete(b);return a}shouldHighlightNonBasicASCII(a,b){let c=a.codePointAt(0);if(this.allowedCodePoints.has(c))return 0;if(this.options.nonBasicASCII)return 1;let d=!1,e=!1;if(b)for(let a of b){let b=a.codePointAt(0),c=(0,t.aC)(a);d=d||c,c||this.ambiguousCharacters.isAmbiguous(b)||t.y_.isInvisibleCharacter(b)||(e=!0)}return!d&&e?0:this.options.invisibleCharacters&&!y(a)&&t.y_.isInvisibleCharacter(c)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(c)?3:0}}function y(a){return" "===a||"\n"===a||" "===a}var z=c(27962),A=c(31526),B=c(1401);class C{computeDiff(a,b,c){let d=new I(a,b,{maxComputationTime:c.maxComputationTimeMs,shouldIgnoreTrimWhitespace:c.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),e=[],f=null;for(let a of d.changes){let b,c;b=0===a.originalEndLineNumber?new B.M(a.originalStartLineNumber+1,a.originalStartLineNumber+1):new B.M(a.originalStartLineNumber,a.originalEndLineNumber+1),c=0===a.modifiedEndLineNumber?new B.M(a.modifiedStartLineNumber+1,a.modifiedStartLineNumber+1):new B.M(a.modifiedStartLineNumber,a.modifiedEndLineNumber+1);let d=new A.wm(b,c,a.charChanges?.map(a=>new A.q6(new h.Q(a.originalStartLineNumber,a.originalStartColumn,a.originalEndLineNumber,a.originalEndColumn),new h.Q(a.modifiedStartLineNumber,a.modifiedStartColumn,a.modifiedEndLineNumber,a.modifiedEndColumn))));f&&(f.modified.endLineNumberExclusive===d.modified.startLineNumber||f.original.endLineNumberExclusive===d.original.startLineNumber)&&(d=new A.wm(f.original.join(d.original),f.modified.join(d.modified),f.innerChanges&&d.innerChanges?f.innerChanges.concat(d.innerChanges):void 0),e.pop()),e.push(d),f=d}return(0,u.Ft)(()=>(0,u.Xo)(e,(a,b)=>b.original.startLineNumber-a.original.endLineNumberExclusive==b.modified.startLineNumber-a.modified.endLineNumberExclusive&&a.original.endLineNumberExclusive<b.original.startLineNumber&&a.modified.endLineNumberExclusive<b.modified.startLineNumber)),new z.p(e,[],d.quitEarly)}}function D(a,b,c,d){return new g.uP(a,b,c).ComputeDiff(d)}class E{constructor(a){const b=[],c=[];for(let d=0,e=a.length;d<e;d++)b[d]=J(a[d],1),c[d]=K(a[d],1);this.lines=a,this._startColumns=b,this._endColumns=c}getElements(){let a=[];for(let b=0,c=this.lines.length;b<c;b++)a[b]=this.lines[b].substring(this._startColumns[b]-1,this._endColumns[b]-1);return a}getStrictElement(a){return this.lines[a]}getStartLineNumber(a){return a+1}getEndLineNumber(a){return a+1}createCharSequence(a,b,c){let d=[],e=[],f=[],g=0;for(let h=b;h<=c;h++){let b=this.lines[h],i=a?this._startColumns[h]:1,j=a?this._endColumns[h]:b.length+1;for(let a=i;a<j;a++)d[g]=b.charCodeAt(a-1),e[g]=h+1,f[g]=a,g++;!a&&h<c&&(d[g]=10,e[g]=h+1,f[g]=b.length+1,g++)}return new F(d,e,f)}}class F{constructor(a,b,c){this._charCodes=a,this._lineNumbers=b,this._columns=c}toString(){return"["+this._charCodes.map((a,b)=>(10===a?"\\n":String.fromCharCode(a))+`-(${this._lineNumbers[b]},${this._columns[b]})`).join(", ")+"]"}_assertIndex(a,b){if(a<0||a>=b.length)throw Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(a){return a>0&&a===this._lineNumbers.length?this.getEndLineNumber(a-1):(this._assertIndex(a,this._lineNumbers),this._lineNumbers[a])}getEndLineNumber(a){return -1===a?this.getStartLineNumber(a+1):(this._assertIndex(a,this._lineNumbers),10===this._charCodes[a])?this._lineNumbers[a]+1:this._lineNumbers[a]}getStartColumn(a){return a>0&&a===this._columns.length?this.getEndColumn(a-1):(this._assertIndex(a,this._columns),this._columns[a])}getEndColumn(a){return -1===a?this.getStartColumn(a+1):(this._assertIndex(a,this._columns),10===this._charCodes[a])?1:this._columns[a]+1}}class G{constructor(a,b,c,d,e,f,g,h){this.originalStartLineNumber=a,this.originalStartColumn=b,this.originalEndLineNumber=c,this.originalEndColumn=d,this.modifiedStartLineNumber=e,this.modifiedStartColumn=f,this.modifiedEndLineNumber=g,this.modifiedEndColumn=h}static createFromDiffChange(a,b,c){return new G(b.getStartLineNumber(a.originalStart),b.getStartColumn(a.originalStart),b.getEndLineNumber(a.originalStart+a.originalLength-1),b.getEndColumn(a.originalStart+a.originalLength-1),c.getStartLineNumber(a.modifiedStart),c.getStartColumn(a.modifiedStart),c.getEndLineNumber(a.modifiedStart+a.modifiedLength-1),c.getEndColumn(a.modifiedStart+a.modifiedLength-1))}}class H{constructor(a,b,c,d,e){this.originalStartLineNumber=a,this.originalEndLineNumber=b,this.modifiedStartLineNumber=c,this.modifiedEndLineNumber=d,this.charChanges=e}static createFromDiffResult(a,b,c,d,e,f,g){let h,i,j,k,l;if(0===b.originalLength?(h=c.getStartLineNumber(b.originalStart)-1,i=0):(h=c.getStartLineNumber(b.originalStart),i=c.getEndLineNumber(b.originalStart+b.originalLength-1)),0===b.modifiedLength?(j=d.getStartLineNumber(b.modifiedStart)-1,k=0):(j=d.getStartLineNumber(b.modifiedStart),k=d.getEndLineNumber(b.modifiedStart+b.modifiedLength-1)),f&&b.originalLength>0&&b.originalLength<20&&b.modifiedLength>0&&b.modifiedLength<20&&e()){let f=c.createCharSequence(a,b.originalStart,b.originalStart+b.originalLength-1),h=d.createCharSequence(a,b.modifiedStart,b.modifiedStart+b.modifiedLength-1);if(f.getElements().length>0&&h.getElements().length>0){let a=D(f,h,e,!0).changes;g&&(a=function(a){if(a.length<=1)return a;let b=[a[0]],c=b[0];for(let d=1,e=a.length;d<e;d++){let e=a[d];3>Math.min(e.originalStart-(c.originalStart+c.originalLength),e.modifiedStart-(c.modifiedStart+c.modifiedLength))?(c.originalLength=e.originalStart+e.originalLength-c.originalStart,c.modifiedLength=e.modifiedStart+e.modifiedLength-c.modifiedStart):(b.push(e),c=e)}return b}(a)),l=[];for(let b=0,c=a.length;b<c;b++)l.push(G.createFromDiffChange(a[b],f,h))}}return new H(h,i,j,k,l)}}class I{constructor(a,b,c){this.shouldComputeCharChanges=c.shouldComputeCharChanges,this.shouldPostProcessCharChanges=c.shouldPostProcessCharChanges,this.shouldIgnoreTrimWhitespace=c.shouldIgnoreTrimWhitespace,this.shouldMakePrettyDiff=c.shouldMakePrettyDiff,this.originalLines=a,this.modifiedLines=b,this.original=new E(a),this.modified=new E(b),this.continueLineDiff=L(c.maxComputationTime),this.continueCharDiff=L(0===c.maxComputationTime?0:Math.min(c.maxComputationTime,5e3))}computeDiff(){if(1===this.original.lines.length&&0===this.original.lines[0].length)return 1===this.modified.lines.length&&0===this.modified.lines[0].length?{quitEarly:!1,changes:[]}:{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:1,modifiedStartLineNumber:1,modifiedEndLineNumber:this.modified.lines.length,charChanges:void 0}]};if(1===this.modified.lines.length&&0===this.modified.lines[0].length)return{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:this.original.lines.length,modifiedStartLineNumber:1,modifiedEndLineNumber:1,charChanges:void 0}]};let a=D(this.original,this.modified,this.continueLineDiff,this.shouldMakePrettyDiff),b=a.changes,c=a.quitEarly;if(this.shouldIgnoreTrimWhitespace){let a=[];for(let c=0,d=b.length;c<d;c++)a.push(H.createFromDiffResult(this.shouldIgnoreTrimWhitespace,b[c],this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges));return{quitEarly:c,changes:a}}let d=[],e=0,f=0;for(let a=-1,c=b.length;a<c;a++){let g=a+1<c?b[a+1]:null,h=g?g.originalStart:this.originalLines.length,i=g?g.modifiedStart:this.modifiedLines.length;for(;e<h&&f<i;){let a=this.originalLines[e],b=this.modifiedLines[f];if(a!==b){{let c=J(a,1),g=J(b,1);for(;c>1&&g>1&&a.charCodeAt(c-2)===b.charCodeAt(g-2);){;c--,g--}(c>1||g>1)&&this._pushTrimWhitespaceCharChange(d,e+1,1,c,f+1,1,g)}{let c=K(a,1),g=K(b,1),h=a.length+1,i=b.length+1;for(;c<h&&g<i&&a.charCodeAt(c-1)===a.charCodeAt(g-1);){;c++,g++}(c<h||g<i)&&this._pushTrimWhitespaceCharChange(d,e+1,c,h,f+1,g,i)}}e++,f++}g&&(d.push(H.createFromDiffResult(this.shouldIgnoreTrimWhitespace,g,this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges)),e+=g.originalLength,f+=g.modifiedLength)}return{quitEarly:c,changes:d}}_pushTrimWhitespaceCharChange(a,b,c,d,e,f,g){let h;this._mergeTrimWhitespaceCharChange(a,b,c,d,e,f,g)||(this.shouldComputeCharChanges&&(h=[new G(b,c,b,d,e,f,e,g)]),a.push(new H(b,b,e,e,h)))}_mergeTrimWhitespaceCharChange(a,b,c,d,e,f,g){let h=a.length;if(0===h)return!1;let i=a[h-1];return 0!==i.originalEndLineNumber&&0!==i.modifiedEndLineNumber&&(i.originalEndLineNumber===b&&i.modifiedEndLineNumber===e?(this.shouldComputeCharChanges&&i.charChanges&&i.charChanges.push(new G(b,c,b,d,e,f,e,g)),!0):i.originalEndLineNumber+1===b&&i.modifiedEndLineNumber+1===e&&(i.originalEndLineNumber=b,i.modifiedEndLineNumber=e,this.shouldComputeCharChanges&&i.charChanges&&i.charChanges.push(new G(b,c,b,d,e,f,e,g)),!0))}}function J(a,b){let c=(0,t.HG)(a);return -1===c?b:c+1}function K(a,b){let c=(0,t.lT)(a);return -1===c?b:c+2}function L(a){if(0===a)return()=>!0;let b=Date.now();return()=>Date.now()-b<a}var M=c(51535),N=c(77497);c(18216);var O=c(39482),P=c(95510);function Q(){if(!d){let a,b,c,e=(a=globalThis._VSCODE_PRODUCT_JSON,(a??globalThis.vscode?.context?.configuration()?.product)?.commit,b=N.dy,c=`${b}/@vscode/diff/dist/index.js`,N.zl.asBrowserUri(c).toString(!0));d=import(`${e}`)}return d}async function R(a){return new S(await (a?(!f&&(f=Q().then(a=>a.createDiffComputer({useWasm:!0}))),f):(!e&&(e=Q().then(a=>a.createDiffComputer({useWasm:!1}))),e)))}c(96714);class S{constructor(a){this._computer=a}computeDiff(a,b,c){let d=new P.tp(a.join("\n")),e=new P.tp(b.join("\n")),f=this._computer.computeDiff(d.value,e.value,{ignoreTrimWhitespace:!0,computeMoves:c.computeMoves,extendToSubwords:c.extendToSubwords}),g=d.getTransformer(),h=e.getTransformer(),i=[],j=0;for(let a of f.edits.replacements){let b=a.range.start+j,c=b+a.newText.length,d=g.getRange(new O.L(a.range.start,a.range.endExclusive)),e=h.getRange(new O.L(b,c));i.push(new A.q6(d,e)),j+=a.newText.length-(a.range.endExclusive-a.range.start)}let k=(0,A.Ef)(i,d,e),l=[];if(c.computeMoves)for(let a of f.moves){let b=g.getPosition(a.range.original.start),c=g.getPosition(a.range.original.endExclusive),d=h.getPosition(a.range.modified.start),e=h.getPosition(a.range.modified.endExclusive),f=new B.M(b.lineNumber,c.lineNumber),i=new B.M(d.lineNumber,e.lineNumber);l.push(new z.t(new A.WL(f,i),[]))}return new z.p(k,l,f.hitTimeout)}}var T=c(55404);function U(a){let b=[];for(let c of a){let a=Number(c);(a||0===a&&""!==c.replace(/\s/g,""))&&b.push(a)}return b}function V(a,b,c,d){return{red:a/255,blue:c/255,green:b/255,alpha:d}}function W(a,b){let c=b.index,d=b[0].length;if(void 0===c)return;let e=a.positionAt(c);return{startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:e.lineNumber,endColumn:e.column+d}}function X(a,b,c){if(!a||1!==b.length)return;let d=U(b[0].values());return{range:a,color:V(d[0],d[1],d[2],c?d[3]:1)}}function Y(a,b,c){if(!a||1!==b.length)return;let d=U(b[0].values()),e=new T.Q1(new T.hB(d[0],d[1]/100,d[2]/100,c?d[3]:1));return{range:a,color:V(e.rgba.r,e.rgba.g,e.rgba.b,e.rgba.a)}}function Z(a,b){return"string"==typeof a?[...a.matchAll(b)]:a.findMatches(b)}let $=/^-+|-+$/g;var _=c(52559);class aa{constructor(a=null){this._foreignModule=a,this._requestHandlerBrand=void 0,this._workerTextModelSyncServer=new _.tQ}dispose(){}async $ping(){return"pong"}_getModel(a){return this._workerTextModelSyncServer.getModel(a)}getModels(){return this._workerTextModelSyncServer.getModels()}$acceptNewModel(a){this._workerTextModelSyncServer.$acceptNewModel(a)}$acceptModelChanged(a,b){this._workerTextModelSyncServer.$acceptModelChanged(a,b)}$acceptRemovedModel(a){this._workerTextModelSyncServer.$acceptRemovedModel(a)}async $computeUnicodeHighlights(a,b,c){let d=this._getModel(a);return d?w.computeUnicodeHighlights(d,b,c):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async $findSectionHeaders(a,b){let c=this._getModel(a);if(!c)return[];let d=[];if(b.findRegionSectionHeaders&&b.foldingRules?.markers){let a=function(a,b){let c=[],d=a.getLineCount();for(let e=1;e<=d;e++){let d=a.getLineContent(e),f=d.match(b.foldingRules.markers.start);if(f){let a={startLineNumber:e,startColumn:f[0].length+1,endLineNumber:e,endColumn:d.length+1};if(a.endColumn>a.startColumn){let b={range:a,...function(a){let b=(a=a.trim()).startsWith("-");return{text:a=a.replace($,""),hasSeparatorLine:b}}(d.substring(f[0].length)),shouldBeInComments:!1};(b.text||b.hasSeparatorLine)&&c.push(b)}}}return c}(c,b);d=d.concat(a)}if(b.findMarkSectionHeaders){let a=function(a,b){let c=[],d=a.getLineCount();if(!b.markSectionHeaderRegex||""===b.markSectionHeaderRegex.trim())return c;let e=(0,s.eV)(b.markSectionHeaderRegex),f=RegExp(b.markSectionHeaderRegex,`gdm${e?"s":""}`);if((0,t.eY)(f))return c;for(let b=1;b<=d;b+=95){let e,g=Math.min(b+100-1,d),h=[];for(let c=b;c<=g;c++)h.push(a.getLineContent(c));let i=h.join("\n");for(f.lastIndex=0;null!==(e=f.exec(i));){let a=i.substring(0,e.index),d=b+(a.match(/\n/g)||[]).length,g=e[0].split("\n"),h=g.length,j=d+h-1,k=a.lastIndexOf("\n")+1,l=e.index-k+1,m=g[g.length-1],n=1===h?l+e[0].length:m.length+1,o={range:{startLineNumber:d,startColumn:l,endLineNumber:j,endColumn:n},text:(e.groups??{}).label??"",hasSeparatorLine:((e.groups??{}).separator??"")!=="",shouldBeInComments:!0};(o.text||o.hasSeparatorLine)&&(0===c.length||c[c.length-1].range.endLineNumber<o.range.startLineNumber)&&c.push(o),f.lastIndex=e.index+e[0].length}}return c}(c,b);d=d.concat(a)}return d}async $computeDiff(a,b,c,d){let e=this._getModel(a),f=this._getModel(b);if(!e||!f)return null;let g=await function(a){switch(a){case"legacy":return new C;case"advanced":return new M.D;case"advanced-external":return R(!1);case"advanced-wasm":return R(!0)}}(d);return aa.computeDiff(e,f,c,g)}static computeDiff(a,b,c,d){let e=a.getLinesContent(),f=b.getLinesContent(),g=d.computeDiff(e,f,c);function h(a){return a.map(a=>[a.original.startLineNumber,a.original.endLineNumberExclusive,a.modified.startLineNumber,a.modified.endLineNumberExclusive,a.innerChanges?.map(a=>[a.originalRange.startLineNumber,a.originalRange.startColumn,a.originalRange.endLineNumber,a.originalRange.endColumn,a.modifiedRange.startLineNumber,a.modifiedRange.startColumn,a.modifiedRange.endLineNumber,a.modifiedRange.endColumn])])}return{identical:!(g.changes.length>0)&&this._modelsAreIdentical(a,b),quitEarly:g.hitTimeout,changes:h(g.changes),moves:g.moves.map(a=>[a.lineRangeMapping.original.startLineNumber,a.lineRangeMapping.original.endLineNumberExclusive,a.lineRangeMapping.modified.startLineNumber,a.lineRangeMapping.modified.endLineNumberExclusive,h(a.changes)])}}static _modelsAreIdentical(a,b){let c=a.getLineCount();if(c!==b.getLineCount())return!1;for(let d=1;d<=c;d++)if(a.getLineContent(d)!==b.getLineContent(d))return!1;return!0}static{this._diffLimit=1e5}async $computeMoreMinimalEdits(a,b,c){let d,e=this._getModel(a);if(!e)return b;let f=[];b=b.slice(0).sort((a,b)=>a.range&&b.range?h.Q.compareRangesUsingStarts(a.range,b.range):!a.range-!b.range);let i=0;for(let a=1;a<b.length;a++)h.Q.getEndPosition(b[i].range).equals(h.Q.getStartPosition(b[a].range))?(b[i].range=h.Q.fromPositions(h.Q.getStartPosition(b[i].range),h.Q.getEndPosition(b[a].range)),b[i].text+=b[a].text):b[++i]=b[a];for(let{range:a,text:j,eol:k}of(b.length=i+1,b)){if("number"==typeof k&&(d=k),h.Q.isEmpty(a)&&!j)continue;let b=e.getValueInRange(a);if(b===(j=j.replace(/\r\n|\n|\r/g,e.eol)))continue;if(Math.max(j.length,b.length)>aa._diffLimit){f.push({range:a,text:j});continue}let i=(0,g.F1)(b,j,c),l=e.offsetAt(h.Q.lift(a).getStartPosition());for(let a of i){let b=e.positionAt(l+a.originalStart),c=e.positionAt(l+a.originalStart+a.originalLength),d={text:j.substr(a.modifiedStart,a.modifiedLength),range:{startLineNumber:b.lineNumber,startColumn:b.column,endLineNumber:c.lineNumber,endColumn:c.column}};e.getValueInRange(d.range)!==d.text&&f.push(d)}}return"number"==typeof d&&f.push({eol:d,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),f}async $computeLinks(a){let b=this._getModel(a);return b?b&&"function"==typeof b.getLineCount&&"function"==typeof b.getLineContent?o.computeLinks(b):[]:null}async $computeDefaultDocumentColors(a){let b=this._getModel(a);return b?b&&"function"==typeof b.getValue&&"function"==typeof b.positionAt?function(a){let b=[],c=Z(a,/\b(rgb|rgba|hsl|hsla)(\([0-9\s,.\%\/]*\))|^(#)([A-Fa-f0-9]{3})\b|^(#)([A-Fa-f0-9]{4})\b|^(#)([A-Fa-f0-9]{6})\b|^(#)([A-Fa-f0-9]{8})\b|(?<=['"\s])(#)([A-Fa-f0-9]{3})\b|(?<=['"\s])(#)([A-Fa-f0-9]{4})\b|(?<=['"\s])(#)([A-Fa-f0-9]{6})\b|(?<=['"\s])(#)([A-Fa-f0-9]{8})\b/gm);if(c.length>0)for(let d of c){let c,e=d.filter(a=>void 0!==a),f=e[1],g=e[2];if(g){if("rgb"===f){let b=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*[\s,]\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*[\s,]\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm;c=X(W(a,d),Z(g,b),!1)}else if("rgba"===f){let b=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*[\s,]\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*[\s,]\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*(?:[\s,]|[\s]*\/)\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;c=X(W(a,d),Z(g,b),!0)}else if("hsl"===f){let b=/^\(\s*((?:360(?:\.0+)?|(?:36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])(?:\.\d+)?))\s*[\s,]\s*(100(?:\.0+)?|\d{1,2}[.]\d*|\d{1,2})%\s*[\s,]\s*(100(?:\.0+)?|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm;c=Y(W(a,d),Z(g,b),!1)}else if("hsla"===f){let b=/^\(\s*((?:360(?:\.0+)?|(?:36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])(?:\.\d+)?))\s*[\s,]\s*(100(?:\.0+)?|\d{1,2}[.]\d*|\d{1,2})%\s*[\s,]\s*(100(?:\.0+)?|\d{1,2}[.]\d*|\d{1,2})%\s*(?:[\s,]|[\s]*\/)\s*(0[.][0-9]+|[.][0-9]+|[01][.]0*|[01])\s*\)$/gm;c=Y(W(a,d),Z(g,b),!0)}else"#"===f&&(c=function(a,b){if(!a)return;let c=T.Q1.Format.CSS.parseHex(b);if(c)return{range:a,color:V(c.rgba.r,c.rgba.g,c.rgba.b,c.rgba.a)}}(W(a,d),f+g));c&&b.push(c)}}return b}(b):[]:null}static{this._suggestionsLimit=1e4}async $textualSuggest(a,b,c,d){let e=new r.W,f=new RegExp(c,d),g=new Set;b:for(let c of a){let a=this._getModel(c);if(a){for(let c of a.words(f))if(c!==b&&isNaN(Number(c))&&(g.add(c),g.size>aa._suggestionsLimit))break b}}return{words:Array.from(g),duration:e.elapsed()}}async $computeWordRanges(a,b,c,d){let e=this._getModel(a);if(!e)return Object.create(null);let f=new RegExp(c,d),g=Object.create(null);for(let a=b.startLineNumber;a<b.endLineNumber;a++)for(let b of e.getLineWords(a,f)){if(!isNaN(Number(b.word)))continue;let c=g[b.word];c||(c=[],g[b.word]=c),c.push({startLineNumber:a,startColumn:b.startColumn,endLineNumber:a,endColumn:b.endColumn})}return g}async $navigateValueSet(a,b,c,d,e){let f=this._getModel(a);if(!f)return null;let g=new RegExp(d,e);b.startColumn===b.endColumn&&(b={startLineNumber:b.startLineNumber,startColumn:b.startColumn,endLineNumber:b.endLineNumber,endColumn:b.endColumn+1});let h=f.getValueInRange(b),i=f.getWordAtPosition({lineNumber:b.startLineNumber,column:b.startColumn},g);if(!i)return null;let j=f.getValueInRange(i);return p.INSTANCE.navigateValueSet(b,h,i,j,c)}$fmr(a,b){if(!this._foreignModule||"function"!=typeof this._foreignModule[a])return Promise.reject(Error("Missing requestHandler or method: "+a));try{return Promise.resolve(this._foreignModule[a].apply(this._foreignModule,b))}catch(a){return Promise.reject(a)}}}"function"==typeof importScripts&&(globalThis.monaco=(0,q.r)())},14322:(a,b,c)=>{c.d(b,{w:()=>e});class d{static{this.Undefined=new d(void 0)}constructor(a){this.element=a,this.next=d.Undefined,this.prev=d.Undefined}}class e{constructor(){this._first=d.Undefined,this._last=d.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===d.Undefined}clear(){let a=this._first;for(;a!==d.Undefined;){let b=a.next;a.prev=d.Undefined,a.next=d.Undefined,a=b}this._first=d.Undefined,this._last=d.Undefined,this._size=0}unshift(a){return this._insert(a,!1)}push(a){return this._insert(a,!0)}_insert(a,b){let c=new d(a);if(this._first===d.Undefined)this._first=c,this._last=c;else if(b){let a=this._last;this._last=c,c.prev=a,a.next=c}else{let a=this._first;this._first=c,c.next=a,a.prev=c}this._size+=1;let e=!1;return()=>{e||(e=!0,this._remove(c))}}shift(){if(this._first!==d.Undefined){let a=this._first.element;return this._remove(this._first),a}}pop(){if(this._last!==d.Undefined){let a=this._last.element;return this._remove(this._last),a}}_remove(a){if(a.prev!==d.Undefined&&a.next!==d.Undefined){let b=a.prev;b.next=a.next,a.next.prev=b}else a.prev===d.Undefined&&a.next===d.Undefined?(this._first=d.Undefined,this._last=d.Undefined):a.next===d.Undefined?(this._last=this._last.prev,this._last.next=d.Undefined):a.prev===d.Undefined&&(this._first=this._first.next,this._first.prev=d.Undefined);this._size-=1}*[Symbol.iterator](){let a=this._first;for(;a!==d.Undefined;)yield a.element,a=a.next}}},14903:(a,b,c)=>{c.d(b,{M:()=>d});class d{static{this.CHANNEL_NAME="editorWorkerHost"}static getChannel(a){return a.getChannel(d.CHANNEL_NAME)}static setChannel(a,b){a.setChannel(d.CHANNEL_NAME,b)}}},28672:(a,b,c)=>{c.d(b,{W:()=>e});let d=globalThis.performance.now.bind(globalThis.performance);class e{static create(a){return new e(a)}constructor(a){this._now=!1===a?Date.now:d,this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return -1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}}},33040:(a,b,c)=>{c.d(b,{W:()=>g});var d=c(5355);let e={add:(0,d.k)("add",6e4),plus:(0,d.k)("plus",6e4),gistNew:(0,d.k)("gist-new",6e4),repoCreate:(0,d.k)("repo-create",6e4),lightbulb:(0,d.k)("lightbulb",60001),lightBulb:(0,d.k)("light-bulb",60001),repo:(0,d.k)("repo",60002),repoDelete:(0,d.k)("repo-delete",60002),gistFork:(0,d.k)("gist-fork",60003),repoForked:(0,d.k)("repo-forked",60003),gitPullRequest:(0,d.k)("git-pull-request",60004),gitPullRequestAbandoned:(0,d.k)("git-pull-request-abandoned",60004),recordKeys:(0,d.k)("record-keys",60005),keyboard:(0,d.k)("keyboard",60005),tag:(0,d.k)("tag",60006),gitPullRequestLabel:(0,d.k)("git-pull-request-label",60006),tagAdd:(0,d.k)("tag-add",60006),tagRemove:(0,d.k)("tag-remove",60006),person:(0,d.k)("person",60007),personFollow:(0,d.k)("person-follow",60007),personOutline:(0,d.k)("person-outline",60007),personFilled:(0,d.k)("person-filled",60007),sourceControl:(0,d.k)("source-control",60008),mirror:(0,d.k)("mirror",60009),mirrorPublic:(0,d.k)("mirror-public",60009),star:(0,d.k)("star",60010),starAdd:(0,d.k)("star-add",60010),starDelete:(0,d.k)("star-delete",60010),starEmpty:(0,d.k)("star-empty",60010),comment:(0,d.k)("comment",60011),commentAdd:(0,d.k)("comment-add",60011),alert:(0,d.k)("alert",60012),warning:(0,d.k)("warning",60012),search:(0,d.k)("search",60013),searchSave:(0,d.k)("search-save",60013),logOut:(0,d.k)("log-out",60014),signOut:(0,d.k)("sign-out",60014),logIn:(0,d.k)("log-in",60015),signIn:(0,d.k)("sign-in",60015),eye:(0,d.k)("eye",60016),eyeUnwatch:(0,d.k)("eye-unwatch",60016),eyeWatch:(0,d.k)("eye-watch",60016),circleFilled:(0,d.k)("circle-filled",60017),primitiveDot:(0,d.k)("primitive-dot",60017),closeDirty:(0,d.k)("close-dirty",60017),debugBreakpoint:(0,d.k)("debug-breakpoint",60017),debugBreakpointDisabled:(0,d.k)("debug-breakpoint-disabled",60017),debugHint:(0,d.k)("debug-hint",60017),terminalDecorationSuccess:(0,d.k)("terminal-decoration-success",60017),primitiveSquare:(0,d.k)("primitive-square",60018),edit:(0,d.k)("edit",60019),pencil:(0,d.k)("pencil",60019),info:(0,d.k)("info",60020),issueOpened:(0,d.k)("issue-opened",60020),gistPrivate:(0,d.k)("gist-private",60021),gitForkPrivate:(0,d.k)("git-fork-private",60021),lock:(0,d.k)("lock",60021),mirrorPrivate:(0,d.k)("mirror-private",60021),close:(0,d.k)("close",60022),removeClose:(0,d.k)("remove-close",60022),x:(0,d.k)("x",60022),repoSync:(0,d.k)("repo-sync",60023),sync:(0,d.k)("sync",60023),clone:(0,d.k)("clone",60024),desktopDownload:(0,d.k)("desktop-download",60024),beaker:(0,d.k)("beaker",60025),microscope:(0,d.k)("microscope",60025),vm:(0,d.k)("vm",60026),deviceDesktop:(0,d.k)("device-desktop",60026),file:(0,d.k)("file",60027),more:(0,d.k)("more",60028),ellipsis:(0,d.k)("ellipsis",60028),kebabHorizontal:(0,d.k)("kebab-horizontal",60028),mailReply:(0,d.k)("mail-reply",60029),reply:(0,d.k)("reply",60029),organization:(0,d.k)("organization",60030),organizationFilled:(0,d.k)("organization-filled",60030),organizationOutline:(0,d.k)("organization-outline",60030),newFile:(0,d.k)("new-file",60031),fileAdd:(0,d.k)("file-add",60031),newFolder:(0,d.k)("new-folder",60032),fileDirectoryCreate:(0,d.k)("file-directory-create",60032),trash:(0,d.k)("trash",60033),trashcan:(0,d.k)("trashcan",60033),history:(0,d.k)("history",60034),clock:(0,d.k)("clock",60034),folder:(0,d.k)("folder",60035),fileDirectory:(0,d.k)("file-directory",60035),symbolFolder:(0,d.k)("symbol-folder",60035),logoGithub:(0,d.k)("logo-github",60036),markGithub:(0,d.k)("mark-github",60036),github:(0,d.k)("github",60036),terminal:(0,d.k)("terminal",60037),console:(0,d.k)("console",60037),repl:(0,d.k)("repl",60037),zap:(0,d.k)("zap",60038),symbolEvent:(0,d.k)("symbol-event",60038),error:(0,d.k)("error",60039),stop:(0,d.k)("stop",60039),variable:(0,d.k)("variable",60040),symbolVariable:(0,d.k)("symbol-variable",60040),array:(0,d.k)("array",60042),symbolArray:(0,d.k)("symbol-array",60042),symbolModule:(0,d.k)("symbol-module",60043),symbolPackage:(0,d.k)("symbol-package",60043),symbolNamespace:(0,d.k)("symbol-namespace",60043),symbolObject:(0,d.k)("symbol-object",60043),symbolMethod:(0,d.k)("symbol-method",60044),symbolFunction:(0,d.k)("symbol-function",60044),symbolConstructor:(0,d.k)("symbol-constructor",60044),symbolBoolean:(0,d.k)("symbol-boolean",60047),symbolNull:(0,d.k)("symbol-null",60047),symbolNumeric:(0,d.k)("symbol-numeric",60048),symbolNumber:(0,d.k)("symbol-number",60048),symbolStructure:(0,d.k)("symbol-structure",60049),symbolStruct:(0,d.k)("symbol-struct",60049),symbolParameter:(0,d.k)("symbol-parameter",60050),symbolTypeParameter:(0,d.k)("symbol-type-parameter",60050),symbolKey:(0,d.k)("symbol-key",60051),symbolText:(0,d.k)("symbol-text",60051),symbolReference:(0,d.k)("symbol-reference",60052),goToFile:(0,d.k)("go-to-file",60052),symbolEnum:(0,d.k)("symbol-enum",60053),symbolValue:(0,d.k)("symbol-value",60053),symbolRuler:(0,d.k)("symbol-ruler",60054),symbolUnit:(0,d.k)("symbol-unit",60054),activateBreakpoints:(0,d.k)("activate-breakpoints",60055),archive:(0,d.k)("archive",60056),arrowBoth:(0,d.k)("arrow-both",60057),arrowDown:(0,d.k)("arrow-down",60058),arrowLeft:(0,d.k)("arrow-left",60059),arrowRight:(0,d.k)("arrow-right",60060),arrowSmallDown:(0,d.k)("arrow-small-down",60061),arrowSmallLeft:(0,d.k)("arrow-small-left",60062),arrowSmallRight:(0,d.k)("arrow-small-right",60063),arrowSmallUp:(0,d.k)("arrow-small-up",60064),arrowUp:(0,d.k)("arrow-up",60065),bell:(0,d.k)("bell",60066),bold:(0,d.k)("bold",60067),book:(0,d.k)("book",60068),bookmark:(0,d.k)("bookmark",60069),debugBreakpointConditionalUnverified:(0,d.k)("debug-breakpoint-conditional-unverified",60070),debugBreakpointConditional:(0,d.k)("debug-breakpoint-conditional",60071),debugBreakpointConditionalDisabled:(0,d.k)("debug-breakpoint-conditional-disabled",60071),debugBreakpointDataUnverified:(0,d.k)("debug-breakpoint-data-unverified",60072),debugBreakpointData:(0,d.k)("debug-breakpoint-data",60073),debugBreakpointDataDisabled:(0,d.k)("debug-breakpoint-data-disabled",60073),debugBreakpointLogUnverified:(0,d.k)("debug-breakpoint-log-unverified",60074),debugBreakpointLog:(0,d.k)("debug-breakpoint-log",60075),debugBreakpointLogDisabled:(0,d.k)("debug-breakpoint-log-disabled",60075),briefcase:(0,d.k)("briefcase",60076),broadcast:(0,d.k)("broadcast",60077),browser:(0,d.k)("browser",60078),bug:(0,d.k)("bug",60079),calendar:(0,d.k)("calendar",60080),caseSensitive:(0,d.k)("case-sensitive",60081),check:(0,d.k)("check",60082),checklist:(0,d.k)("checklist",60083),chevronDown:(0,d.k)("chevron-down",60084),chevronLeft:(0,d.k)("chevron-left",60085),chevronRight:(0,d.k)("chevron-right",60086),chevronUp:(0,d.k)("chevron-up",60087),chromeClose:(0,d.k)("chrome-close",60088),chromeMaximize:(0,d.k)("chrome-maximize",60089),chromeMinimize:(0,d.k)("chrome-minimize",60090),chromeRestore:(0,d.k)("chrome-restore",60091),circleOutline:(0,d.k)("circle-outline",60092),circle:(0,d.k)("circle",60092),debugBreakpointUnverified:(0,d.k)("debug-breakpoint-unverified",60092),terminalDecorationIncomplete:(0,d.k)("terminal-decoration-incomplete",60092),circleSlash:(0,d.k)("circle-slash",60093),circuitBoard:(0,d.k)("circuit-board",60094),clearAll:(0,d.k)("clear-all",60095),clippy:(0,d.k)("clippy",60096),closeAll:(0,d.k)("close-all",60097),cloudDownload:(0,d.k)("cloud-download",60098),cloudUpload:(0,d.k)("cloud-upload",60099),code:(0,d.k)("code",60100),collapseAll:(0,d.k)("collapse-all",60101),colorMode:(0,d.k)("color-mode",60102),commentDiscussion:(0,d.k)("comment-discussion",60103),creditCard:(0,d.k)("credit-card",60105),dash:(0,d.k)("dash",60108),dashboard:(0,d.k)("dashboard",60109),database:(0,d.k)("database",60110),debugContinue:(0,d.k)("debug-continue",60111),debugDisconnect:(0,d.k)("debug-disconnect",60112),debugPause:(0,d.k)("debug-pause",60113),debugRestart:(0,d.k)("debug-restart",60114),debugStart:(0,d.k)("debug-start",60115),debugStepInto:(0,d.k)("debug-step-into",60116),debugStepOut:(0,d.k)("debug-step-out",60117),debugStepOver:(0,d.k)("debug-step-over",60118),debugStop:(0,d.k)("debug-stop",60119),debug:(0,d.k)("debug",60120),deviceCameraVideo:(0,d.k)("device-camera-video",60121),deviceCamera:(0,d.k)("device-camera",60122),deviceMobile:(0,d.k)("device-mobile",60123),diffAdded:(0,d.k)("diff-added",60124),diffIgnored:(0,d.k)("diff-ignored",60125),diffModified:(0,d.k)("diff-modified",60126),diffRemoved:(0,d.k)("diff-removed",60127),diffRenamed:(0,d.k)("diff-renamed",60128),diff:(0,d.k)("diff",60129),diffSidebyside:(0,d.k)("diff-sidebyside",60129),discard:(0,d.k)("discard",60130),editorLayout:(0,d.k)("editor-layout",60131),emptyWindow:(0,d.k)("empty-window",60132),exclude:(0,d.k)("exclude",60133),extensions:(0,d.k)("extensions",60134),eyeClosed:(0,d.k)("eye-closed",60135),fileBinary:(0,d.k)("file-binary",60136),fileCode:(0,d.k)("file-code",60137),fileMedia:(0,d.k)("file-media",60138),filePdf:(0,d.k)("file-pdf",60139),fileSubmodule:(0,d.k)("file-submodule",60140),fileSymlinkDirectory:(0,d.k)("file-symlink-directory",60141),fileSymlinkFile:(0,d.k)("file-symlink-file",60142),fileZip:(0,d.k)("file-zip",60143),files:(0,d.k)("files",60144),filter:(0,d.k)("filter",60145),flame:(0,d.k)("flame",60146),foldDown:(0,d.k)("fold-down",60147),foldUp:(0,d.k)("fold-up",60148),fold:(0,d.k)("fold",60149),folderActive:(0,d.k)("folder-active",60150),folderOpened:(0,d.k)("folder-opened",60151),gear:(0,d.k)("gear",60152),gift:(0,d.k)("gift",60153),gistSecret:(0,d.k)("gist-secret",60154),gist:(0,d.k)("gist",60155),gitCommit:(0,d.k)("git-commit",60156),gitCompare:(0,d.k)("git-compare",60157),compareChanges:(0,d.k)("compare-changes",60157),gitMerge:(0,d.k)("git-merge",60158),githubAction:(0,d.k)("github-action",60159),githubAlt:(0,d.k)("github-alt",60160),globe:(0,d.k)("globe",60161),grabber:(0,d.k)("grabber",60162),graph:(0,d.k)("graph",60163),gripper:(0,d.k)("gripper",60164),heart:(0,d.k)("heart",60165),home:(0,d.k)("home",60166),horizontalRule:(0,d.k)("horizontal-rule",60167),hubot:(0,d.k)("hubot",60168),inbox:(0,d.k)("inbox",60169),issueReopened:(0,d.k)("issue-reopened",60171),issues:(0,d.k)("issues",60172),italic:(0,d.k)("italic",60173),jersey:(0,d.k)("jersey",60174),json:(0,d.k)("json",60175),bracket:(0,d.k)("bracket",60175),kebabVertical:(0,d.k)("kebab-vertical",60176),key:(0,d.k)("key",60177),law:(0,d.k)("law",60178),lightbulbAutofix:(0,d.k)("lightbulb-autofix",60179),linkExternal:(0,d.k)("link-external",60180),link:(0,d.k)("link",60181),listOrdered:(0,d.k)("list-ordered",60182),listUnordered:(0,d.k)("list-unordered",60183),liveShare:(0,d.k)("live-share",60184),loading:(0,d.k)("loading",60185),location:(0,d.k)("location",60186),mailRead:(0,d.k)("mail-read",60187),mail:(0,d.k)("mail",60188),markdown:(0,d.k)("markdown",60189),megaphone:(0,d.k)("megaphone",60190),mention:(0,d.k)("mention",60191),milestone:(0,d.k)("milestone",60192),gitPullRequestMilestone:(0,d.k)("git-pull-request-milestone",60192),mortarBoard:(0,d.k)("mortar-board",60193),move:(0,d.k)("move",60194),multipleWindows:(0,d.k)("multiple-windows",60195),mute:(0,d.k)("mute",60196),noNewline:(0,d.k)("no-newline",60197),note:(0,d.k)("note",60198),octoface:(0,d.k)("octoface",60199),openPreview:(0,d.k)("open-preview",60200),package:(0,d.k)("package",60201),paintcan:(0,d.k)("paintcan",60202),pin:(0,d.k)("pin",60203),play:(0,d.k)("play",60204),run:(0,d.k)("run",60204),plug:(0,d.k)("plug",60205),preserveCase:(0,d.k)("preserve-case",60206),preview:(0,d.k)("preview",60207),project:(0,d.k)("project",60208),pulse:(0,d.k)("pulse",60209),question:(0,d.k)("question",60210),quote:(0,d.k)("quote",60211),radioTower:(0,d.k)("radio-tower",60212),reactions:(0,d.k)("reactions",60213),references:(0,d.k)("references",60214),refresh:(0,d.k)("refresh",60215),regex:(0,d.k)("regex",60216),remoteExplorer:(0,d.k)("remote-explorer",60217),remote:(0,d.k)("remote",60218),remove:(0,d.k)("remove",60219),replaceAll:(0,d.k)("replace-all",60220),replace:(0,d.k)("replace",60221),repoClone:(0,d.k)("repo-clone",60222),repoForcePush:(0,d.k)("repo-force-push",60223),repoPull:(0,d.k)("repo-pull",60224),repoPush:(0,d.k)("repo-push",60225),report:(0,d.k)("report",60226),requestChanges:(0,d.k)("request-changes",60227),rocket:(0,d.k)("rocket",60228),rootFolderOpened:(0,d.k)("root-folder-opened",60229),rootFolder:(0,d.k)("root-folder",60230),rss:(0,d.k)("rss",60231),ruby:(0,d.k)("ruby",60232),saveAll:(0,d.k)("save-all",60233),saveAs:(0,d.k)("save-as",60234),save:(0,d.k)("save",60235),screenFull:(0,d.k)("screen-full",60236),screenNormal:(0,d.k)("screen-normal",60237),searchStop:(0,d.k)("search-stop",60238),server:(0,d.k)("server",60240),settingsGear:(0,d.k)("settings-gear",60241),settings:(0,d.k)("settings",60242),shield:(0,d.k)("shield",60243),smiley:(0,d.k)("smiley",60244),sortPrecedence:(0,d.k)("sort-precedence",60245),splitHorizontal:(0,d.k)("split-horizontal",60246),splitVertical:(0,d.k)("split-vertical",60247),squirrel:(0,d.k)("squirrel",60248),starFull:(0,d.k)("star-full",60249),starHalf:(0,d.k)("star-half",60250),symbolClass:(0,d.k)("symbol-class",60251),symbolColor:(0,d.k)("symbol-color",60252),symbolConstant:(0,d.k)("symbol-constant",60253),symbolEnumMember:(0,d.k)("symbol-enum-member",60254),symbolField:(0,d.k)("symbol-field",60255),symbolFile:(0,d.k)("symbol-file",60256),symbolInterface:(0,d.k)("symbol-interface",60257),symbolKeyword:(0,d.k)("symbol-keyword",60258),symbolMisc:(0,d.k)("symbol-misc",60259),symbolOperator:(0,d.k)("symbol-operator",60260),symbolProperty:(0,d.k)("symbol-property",60261),wrench:(0,d.k)("wrench",60261),wrenchSubaction:(0,d.k)("wrench-subaction",60261),symbolSnippet:(0,d.k)("symbol-snippet",60262),tasklist:(0,d.k)("tasklist",60263),telescope:(0,d.k)("telescope",60264),textSize:(0,d.k)("text-size",60265),threeBars:(0,d.k)("three-bars",60266),thumbsdown:(0,d.k)("thumbsdown",60267),thumbsup:(0,d.k)("thumbsup",60268),tools:(0,d.k)("tools",60269),triangleDown:(0,d.k)("triangle-down",60270),triangleLeft:(0,d.k)("triangle-left",60271),triangleRight:(0,d.k)("triangle-right",60272),triangleUp:(0,d.k)("triangle-up",60273),twitter:(0,d.k)("twitter",60274),unfold:(0,d.k)("unfold",60275),unlock:(0,d.k)("unlock",60276),unmute:(0,d.k)("unmute",60277),unverified:(0,d.k)("unverified",60278),verified:(0,d.k)("verified",60279),versions:(0,d.k)("versions",60280),vmActive:(0,d.k)("vm-active",60281),vmOutline:(0,d.k)("vm-outline",60282),vmRunning:(0,d.k)("vm-running",60283),watch:(0,d.k)("watch",60284),whitespace:(0,d.k)("whitespace",60285),wholeWord:(0,d.k)("whole-word",60286),window:(0,d.k)("window",60287),wordWrap:(0,d.k)("word-wrap",60288),zoomIn:(0,d.k)("zoom-in",60289),zoomOut:(0,d.k)("zoom-out",60290),listFilter:(0,d.k)("list-filter",60291),listFlat:(0,d.k)("list-flat",60292),listSelection:(0,d.k)("list-selection",60293),selection:(0,d.k)("selection",60293),listTree:(0,d.k)("list-tree",60294),debugBreakpointFunctionUnverified:(0,d.k)("debug-breakpoint-function-unverified",60295),debugBreakpointFunction:(0,d.k)("debug-breakpoint-function",60296),debugBreakpointFunctionDisabled:(0,d.k)("debug-breakpoint-function-disabled",60296),debugStackframeActive:(0,d.k)("debug-stackframe-active",60297),circleSmallFilled:(0,d.k)("circle-small-filled",60298),debugStackframeDot:(0,d.k)("debug-stackframe-dot",60298),terminalDecorationMark:(0,d.k)("terminal-decoration-mark",60298),debugStackframe:(0,d.k)("debug-stackframe",60299),debugStackframeFocused:(0,d.k)("debug-stackframe-focused",60299),debugBreakpointUnsupported:(0,d.k)("debug-breakpoint-unsupported",60300),symbolString:(0,d.k)("symbol-string",60301),debugReverseContinue:(0,d.k)("debug-reverse-continue",60302),debugStepBack:(0,d.k)("debug-step-back",60303),debugRestartFrame:(0,d.k)("debug-restart-frame",60304),debugAlt:(0,d.k)("debug-alt",60305),callIncoming:(0,d.k)("call-incoming",60306),callOutgoing:(0,d.k)("call-outgoing",60307),menu:(0,d.k)("menu",60308),expandAll:(0,d.k)("expand-all",60309),feedback:(0,d.k)("feedback",60310),gitPullRequestReviewer:(0,d.k)("git-pull-request-reviewer",60310),groupByRefType:(0,d.k)("group-by-ref-type",60311),ungroupByRefType:(0,d.k)("ungroup-by-ref-type",60312),account:(0,d.k)("account",60313),gitPullRequestAssignee:(0,d.k)("git-pull-request-assignee",60313),bellDot:(0,d.k)("bell-dot",60314),debugConsole:(0,d.k)("debug-console",60315),library:(0,d.k)("library",60316),output:(0,d.k)("output",60317),runAll:(0,d.k)("run-all",60318),syncIgnored:(0,d.k)("sync-ignored",60319),pinned:(0,d.k)("pinned",60320),githubInverted:(0,d.k)("github-inverted",60321),serverProcess:(0,d.k)("server-process",60322),serverEnvironment:(0,d.k)("server-environment",60323),pass:(0,d.k)("pass",60324),issueClosed:(0,d.k)("issue-closed",60324),stopCircle:(0,d.k)("stop-circle",60325),playCircle:(0,d.k)("play-circle",60326),record:(0,d.k)("record",60327),debugAltSmall:(0,d.k)("debug-alt-small",60328),vmConnect:(0,d.k)("vm-connect",60329),cloud:(0,d.k)("cloud",60330),merge:(0,d.k)("merge",60331),export:(0,d.k)("export",60332),graphLeft:(0,d.k)("graph-left",60333),magnet:(0,d.k)("magnet",60334),notebook:(0,d.k)("notebook",60335),redo:(0,d.k)("redo",60336),checkAll:(0,d.k)("check-all",60337),pinnedDirty:(0,d.k)("pinned-dirty",60338),passFilled:(0,d.k)("pass-filled",60339),circleLargeFilled:(0,d.k)("circle-large-filled",60340),circleLarge:(0,d.k)("circle-large",60341),circleLargeOutline:(0,d.k)("circle-large-outline",60341),combine:(0,d.k)("combine",60342),gather:(0,d.k)("gather",60342),table:(0,d.k)("table",60343),variableGroup:(0,d.k)("variable-group",60344),typeHierarchy:(0,d.k)("type-hierarchy",60345),typeHierarchySub:(0,d.k)("type-hierarchy-sub",60346),typeHierarchySuper:(0,d.k)("type-hierarchy-super",60347),gitPullRequestCreate:(0,d.k)("git-pull-request-create",60348),runAbove:(0,d.k)("run-above",60349),runBelow:(0,d.k)("run-below",60350),notebookTemplate:(0,d.k)("notebook-template",60351),debugRerun:(0,d.k)("debug-rerun",60352),workspaceTrusted:(0,d.k)("workspace-trusted",60353),workspaceUntrusted:(0,d.k)("workspace-untrusted",60354),workspaceUnknown:(0,d.k)("workspace-unknown",60355),terminalCmd:(0,d.k)("terminal-cmd",60356),terminalDebian:(0,d.k)("terminal-debian",60357),terminalLinux:(0,d.k)("terminal-linux",60358),terminalPowershell:(0,d.k)("terminal-powershell",60359),terminalTmux:(0,d.k)("terminal-tmux",60360),terminalUbuntu:(0,d.k)("terminal-ubuntu",60361),terminalBash:(0,d.k)("terminal-bash",60362),arrowSwap:(0,d.k)("arrow-swap",60363),copy:(0,d.k)("copy",60364),personAdd:(0,d.k)("person-add",60365),filterFilled:(0,d.k)("filter-filled",60366),wand:(0,d.k)("wand",60367),debugLineByLine:(0,d.k)("debug-line-by-line",60368),inspect:(0,d.k)("inspect",60369),layers:(0,d.k)("layers",60370),layersDot:(0,d.k)("layers-dot",60371),layersActive:(0,d.k)("layers-active",60372),compass:(0,d.k)("compass",60373),compassDot:(0,d.k)("compass-dot",60374),compassActive:(0,d.k)("compass-active",60375),azure:(0,d.k)("azure",60376),issueDraft:(0,d.k)("issue-draft",60377),gitPullRequestClosed:(0,d.k)("git-pull-request-closed",60378),gitPullRequestDraft:(0,d.k)("git-pull-request-draft",60379),debugAll:(0,d.k)("debug-all",60380),debugCoverage:(0,d.k)("debug-coverage",60381),runErrors:(0,d.k)("run-errors",60382),folderLibrary:(0,d.k)("folder-library",60383),debugContinueSmall:(0,d.k)("debug-continue-small",60384),beakerStop:(0,d.k)("beaker-stop",60385),graphLine:(0,d.k)("graph-line",60386),graphScatter:(0,d.k)("graph-scatter",60387),pieChart:(0,d.k)("pie-chart",60388),bracketDot:(0,d.k)("bracket-dot",60389),bracketError:(0,d.k)("bracket-error",60390),lockSmall:(0,d.k)("lock-small",60391),azureDevops:(0,d.k)("azure-devops",60392),verifiedFilled:(0,d.k)("verified-filled",60393),newline:(0,d.k)("newline",60394),layout:(0,d.k)("layout",60395),layoutActivitybarLeft:(0,d.k)("layout-activitybar-left",60396),layoutActivitybarRight:(0,d.k)("layout-activitybar-right",60397),layoutPanelLeft:(0,d.k)("layout-panel-left",60398),layoutPanelCenter:(0,d.k)("layout-panel-center",60399),layoutPanelJustify:(0,d.k)("layout-panel-justify",60400),layoutPanelRight:(0,d.k)("layout-panel-right",60401),layoutPanel:(0,d.k)("layout-panel",60402),layoutSidebarLeft:(0,d.k)("layout-sidebar-left",60403),layoutSidebarRight:(0,d.k)("layout-sidebar-right",60404),layoutStatusbar:(0,d.k)("layout-statusbar",60405),layoutMenubar:(0,d.k)("layout-menubar",60406),layoutCentered:(0,d.k)("layout-centered",60407),target:(0,d.k)("target",60408),indent:(0,d.k)("indent",60409),recordSmall:(0,d.k)("record-small",60410),errorSmall:(0,d.k)("error-small",60411),terminalDecorationError:(0,d.k)("terminal-decoration-error",60411),arrowCircleDown:(0,d.k)("arrow-circle-down",60412),arrowCircleLeft:(0,d.k)("arrow-circle-left",60413),arrowCircleRight:(0,d.k)("arrow-circle-right",60414),arrowCircleUp:(0,d.k)("arrow-circle-up",60415),layoutSidebarRightOff:(0,d.k)("layout-sidebar-right-off",60416),layoutPanelOff:(0,d.k)("layout-panel-off",60417),layoutSidebarLeftOff:(0,d.k)("layout-sidebar-left-off",60418),blank:(0,d.k)("blank",60419),heartFilled:(0,d.k)("heart-filled",60420),map:(0,d.k)("map",60421),mapHorizontal:(0,d.k)("map-horizontal",60421),foldHorizontal:(0,d.k)("fold-horizontal",60421),mapFilled:(0,d.k)("map-filled",60422),mapHorizontalFilled:(0,d.k)("map-horizontal-filled",60422),foldHorizontalFilled:(0,d.k)("fold-horizontal-filled",60422),circleSmall:(0,d.k)("circle-small",60423),bellSlash:(0,d.k)("bell-slash",60424),bellSlashDot:(0,d.k)("bell-slash-dot",60425),commentUnresolved:(0,d.k)("comment-unresolved",60426),gitPullRequestGoToChanges:(0,d.k)("git-pull-request-go-to-changes",60427),gitPullRequestNewChanges:(0,d.k)("git-pull-request-new-changes",60428),searchFuzzy:(0,d.k)("search-fuzzy",60429),commentDraft:(0,d.k)("comment-draft",60430),send:(0,d.k)("send",60431),sparkle:(0,d.k)("sparkle",60432),insert:(0,d.k)("insert",60433),mic:(0,d.k)("mic",60434),thumbsdownFilled:(0,d.k)("thumbsdown-filled",60435),thumbsupFilled:(0,d.k)("thumbsup-filled",60436),coffee:(0,d.k)("coffee",60437),snake:(0,d.k)("snake",60438),game:(0,d.k)("game",60439),vr:(0,d.k)("vr",60440),chip:(0,d.k)("chip",60441),piano:(0,d.k)("piano",60442),music:(0,d.k)("music",60443),micFilled:(0,d.k)("mic-filled",60444),repoFetch:(0,d.k)("repo-fetch",60445),copilot:(0,d.k)("copilot",60446),lightbulbSparkle:(0,d.k)("lightbulb-sparkle",60447),robot:(0,d.k)("robot",60448),sparkleFilled:(0,d.k)("sparkle-filled",60449),diffSingle:(0,d.k)("diff-single",60450),diffMultiple:(0,d.k)("diff-multiple",60451),surroundWith:(0,d.k)("surround-with",60452),share:(0,d.k)("share",60453),gitStash:(0,d.k)("git-stash",60454),gitStashApply:(0,d.k)("git-stash-apply",60455),gitStashPop:(0,d.k)("git-stash-pop",60456),vscode:(0,d.k)("vscode",60457),vscodeInsiders:(0,d.k)("vscode-insiders",60458),codeOss:(0,d.k)("code-oss",60459),runCoverage:(0,d.k)("run-coverage",60460),runAllCoverage:(0,d.k)("run-all-coverage",60461),coverage:(0,d.k)("coverage",60462),githubProject:(0,d.k)("github-project",60463),mapVertical:(0,d.k)("map-vertical",60464),foldVertical:(0,d.k)("fold-vertical",60464),mapVerticalFilled:(0,d.k)("map-vertical-filled",60465),foldVerticalFilled:(0,d.k)("fold-vertical-filled",60465),goToSearch:(0,d.k)("go-to-search",60466),percentage:(0,d.k)("percentage",60467),sortPercentage:(0,d.k)("sort-percentage",60467),attach:(0,d.k)("attach",60468),goToEditingSession:(0,d.k)("go-to-editing-session",60469),editSession:(0,d.k)("edit-session",60470),codeReview:(0,d.k)("code-review",60471),copilotWarning:(0,d.k)("copilot-warning",60472),python:(0,d.k)("python",60473),copilotLarge:(0,d.k)("copilot-large",60474),copilotWarningLarge:(0,d.k)("copilot-warning-large",60475),keyboardTab:(0,d.k)("keyboard-tab",60476),copilotBlocked:(0,d.k)("copilot-blocked",60477),copilotNotConnected:(0,d.k)("copilot-not-connected",60478),flag:(0,d.k)("flag",60479),lightbulbEmpty:(0,d.k)("lightbulb-empty",60480),symbolMethodArrow:(0,d.k)("symbol-method-arrow",60481),copilotUnavailable:(0,d.k)("copilot-unavailable",60482),repoPinned:(0,d.k)("repo-pinned",60483),keyboardTabAbove:(0,d.k)("keyboard-tab-above",60484),keyboardTabBelow:(0,d.k)("keyboard-tab-below",60485),gitPullRequestDone:(0,d.k)("git-pull-request-done",60486),mcp:(0,d.k)("mcp",60487),extensionsLarge:(0,d.k)("extensions-large",60488),layoutPanelDock:(0,d.k)("layout-panel-dock",60489),layoutSidebarLeftDock:(0,d.k)("layout-sidebar-left-dock",60490),layoutSidebarRightDock:(0,d.k)("layout-sidebar-right-dock",60491),copilotInProgress:(0,d.k)("copilot-in-progress",60492),copilotError:(0,d.k)("copilot-error",60493),copilotSuccess:(0,d.k)("copilot-success",60494),chatSparkle:(0,d.k)("chat-sparkle",60495),searchSparkle:(0,d.k)("search-sparkle",60496),editSparkle:(0,d.k)("edit-sparkle",60497),copilotSnooze:(0,d.k)("copilot-snooze",60498),sendToRemoteAgent:(0,d.k)("send-to-remote-agent",60499),commentDiscussionSparkle:(0,d.k)("comment-discussion-sparkle",60500),chatSparkleWarning:(0,d.k)("chat-sparkle-warning",60501),chatSparkleError:(0,d.k)("chat-sparkle-error",60502),collection:(0,d.k)("collection",60503),newCollection:(0,d.k)("new-collection",60504),thinking:(0,d.k)("thinking",60505),build:(0,d.k)("build",60506),commentDiscussionQuote:(0,d.k)("comment-discussion-quote",60507),cursor:(0,d.k)("cursor",60508),eraser:(0,d.k)("eraser",60509),fileText:(0,d.k)("file-text",60510),quotes:(0,d.k)("quotes",60512),rename:(0,d.k)("rename",60513),runWithDeps:(0,d.k)("run-with-deps",60514),debugConnected:(0,d.k)("debug-connected",60515),strikethrough:(0,d.k)("strikethrough",60516),openInProduct:(0,d.k)("open-in-product",60517),indexZero:(0,d.k)("index-zero",60518),agent:(0,d.k)("agent",60519),editCode:(0,d.k)("edit-code",60520),repoSelected:(0,d.k)("repo-selected",60521),skip:(0,d.k)("skip",60522),mergeInto:(0,d.k)("merge-into",60523),gitBranchChanges:(0,d.k)("git-branch-changes",60524),gitBranchStagedChanges:(0,d.k)("git-branch-staged-changes",60525),gitBranchConflicts:(0,d.k)("git-branch-conflicts",60526),gitBranch:(0,d.k)("git-branch",60527),gitBranchCreate:(0,d.k)("git-branch-create",60527),gitBranchDelete:(0,d.k)("git-branch-delete",60527),searchLarge:(0,d.k)("search-large",60528),terminalGitBash:(0,d.k)("terminal-git-bash",60529),windowActive:(0,d.k)("window-active",60530),forward:(0,d.k)("forward",60531),download:(0,d.k)("download",60532),clockface:(0,d.k)("clockface",60533),unarchive:(0,d.k)("unarchive",60534),sessionInProgress:(0,d.k)("session-in-progress",60535),collectionSmall:(0,d.k)("collection-small",60536),vmSmall:(0,d.k)("vm-small",60537),cloudSmall:(0,d.k)("cloud-small",60538),addSmall:(0,d.k)("add-small",60539),removeSmall:(0,d.k)("remove-small",60540),worktreeSmall:(0,d.k)("worktree-small",60541),worktree:(0,d.k)("worktree",60542),screenCut:(0,d.k)("screen-cut",60543),ask:(0,d.k)("ask",60544),openai:(0,d.k)("openai",60545),claude:(0,d.k)("claude",60546),openInWindow:(0,d.k)("open-in-window",60547),newSession:(0,d.k)("new-session",60548),terminalSecure:(0,d.k)("terminal-secure",60549),chatImport:(0,d.k)("chat-import",60550),chatExport:(0,d.k)("chat-export",60551),shareWindow:(0,d.k)("share-window",60552),circleSlashCompact:(0,d.k)("circle-slash-compact",60553),copilotCompact:(0,d.k)("copilot-compact",60554),folderOpenedCompact:(0,d.k)("folder-opened-compact",60555),folderCompact:(0,d.k)("folder-compact",60556),gearCompact:(0,d.k)("gear-compact",60557),gitBranchCompact:(0,d.k)("git-branch-compact",60558),libraryCompact:(0,d.k)("library-compact",60559),recordKeysCompact:(0,d.k)("record-keys-compact",60560),remoteCompact:(0,d.k)("remote-compact",60561),repoForkedCompact:(0,d.k)("repo-forked-compact",60562),repoCompact:(0,d.k)("repo-compact",60563),shieldCompact:(0,d.k)("shield-compact",60564),sparkleCompact:(0,d.k)("sparkle-compact",60565),symbolColorCompact:(0,d.k)("symbol-color-compact",60566),windowCompact:(0,d.k)("window-compact",60567),errorCompact:(0,d.k)("error-compact",60568),warningCompact:(0,d.k)("warning-compact",60569),passCompact:(0,d.k)("pass-compact",60570),important:(0,d.k)("important",60571),importantCompact:(0,d.k)("important-compact",60572),rocketCompact:(0,d.k)("rocket-compact",60573),unpin:(0,d.k)("unpin",60574),addCompact:(0,d.k)("add-compact",60575),attachCompact:(0,d.k)("attach-compact",60576),beakerCompact:(0,d.k)("beaker-compact",60577),checkCompact:(0,d.k)("check-compact",60578),checklistCompact:(0,d.k)("checklist-compact",60579),chevronDownCompact:(0,d.k)("chevron-down-compact",60580),chevronLeftCompact:(0,d.k)("chevron-left-compact",60581),chevronRightCompact:(0,d.k)("chevron-right-compact",60582),chevronUpCompact:(0,d.k)("chevron-up-compact",60583),circleFilledCompact:(0,d.k)("circle-filled-compact",60584),circleSmallFilledCompact:(0,d.k)("circle-small-filled-compact",60585),closeCompact:(0,d.k)("close-compact",60586),collapseAllCompact:(0,d.k)("collapse-all-compact",60587),commentCompact:(0,d.k)("comment-compact",60588),commentUnresolvedCompact:(0,d.k)("comment-unresolved-compact",60589),debugConnectedCompact:(0,d.k)("debug-connected-compact",60590),debugDisconnectCompact:(0,d.k)("debug-disconnect-compact",60591),editCompact:(0,d.k)("edit-compact",60592),fileMediaCompact:(0,d.k)("file-media-compact",60593),gitFetch:(0,d.k)("git-fetch",60594),lightbulbCompact:(0,d.k)("lightbulb-compact",60595),loadingCompact:(0,d.k)("loading-compact",60596),passFilledCompact:(0,d.k)("pass-filled-compact",60597),projectCompact:(0,d.k)("project-compact",60598),refreshCompact:(0,d.k)("refresh-compact",60599),searchCompact:(0,d.k)("search-compact",60600),sessionInProgressCompact:(0,d.k)("session-in-progress-compact",60601),syncCompact:(0,d.k)("sync-compact",60602),terminalCompact:(0,d.k)("terminal-compact",60603),vmPending:(0,d.k)("vm-pending",60604),worktreeCompact:(0,d.k)("worktree-compact",60605),developerTools:(0,d.k)("developer-tools",60606),cloudCompact:(0,d.k)("cloud-compact",60607),agentCompact:(0,d.k)("agent-compact",60608),askCompact:(0,d.k)("ask-compact",60609),settingsCompact:(0,d.k)("settings-compact",60610),vmCompact:(0,d.k)("vm-compact",60611),runCompact:(0,d.k)("run-compact",60612),gitPullRequestComment:(0,d.k)("git-pull-request-comment",60613),gitPullRequestError:(0,d.k)("git-pull-request-error",60614),rightPanelHide:(0,d.k)("right-panel-hide",60615),rightPanelShow:(0,d.k)("right-panel-show",60616),vscodeInsidersOutline:(0,d.k)("vscode-insiders-outline",60617),vscodeOutline:(0,d.k)("vscode-outline",60618),voiceMode:(0,d.k)("voice-mode",60619),voiceModeCompact:(0,d.k)("voice-mode-compact",60620)},f={dialogError:(0,d.k)("dialog-error","error"),dialogWarning:(0,d.k)("dialog-warning","warning"),dialogInfo:(0,d.k)("dialog-info","info"),dialogClose:(0,d.k)("dialog-close","close"),treeItemExpanded:(0,d.k)("tree-item-expanded","chevron-down"),treeFilterOnTypeOn:(0,d.k)("tree-filter-on-type-on","list-filter"),treeFilterOnTypeOff:(0,d.k)("tree-filter-on-type-off","list-selection"),treeFilterClear:(0,d.k)("tree-filter-clear","close"),treeItemLoading:(0,d.k)("tree-item-loading","loading"),menuSelection:(0,d.k)("menu-selection","check"),menuSubmenu:(0,d.k)("menu-submenu","chevron-right"),menuBarMore:(0,d.k)("menubar-more","more"),scrollbarButtonLeft:(0,d.k)("scrollbar-button-left","triangle-left"),scrollbarButtonRight:(0,d.k)("scrollbar-button-right","triangle-right"),scrollbarButtonUp:(0,d.k)("scrollbar-button-up","triangle-up"),scrollbarButtonDown:(0,d.k)("scrollbar-button-down","triangle-down"),toolBarMore:(0,d.k)("toolbar-more","more"),quickInputBack:(0,d.k)("quick-input-back","arrow-left"),dropDownButton:(0,d.k)("drop-down-button",60084),symbolCustomColor:(0,d.k)("symbol-customcolor",60252),exportIcon:(0,d.k)("export",60332),workspaceUnspecified:(0,d.k)("workspace-unspecified",60355),newLine:(0,d.k)("newline",60394),thumbsDownFilled:(0,d.k)("thumbsdown-filled",60435),thumbsUpFilled:(0,d.k)("thumbsup-filled",60436),gitFetch:(0,d.k)("git-fetch",60445),lightbulbSparkleAutofix:(0,d.k)("lightbulb-sparkle-autofix",60447),debugBreakpointPending:(0,d.k)("debug-breakpoint-pending",60377),chatImport:(0,d.k)("chat-import",60550),chatExport:(0,d.k)("chat-export",60551)},g={...e,...f}},35527:(a,b,c)=>{c.d(b,{x:()=>f});var d=c(2525),e=c(18216);let f={DateTimeFormat:(a,b)=>new d.d(()=>{try{return new Intl.DateTimeFormat(a,b)}catch{return new Intl.DateTimeFormat(void 0,b)}}),Collator:(a,b)=>new d.d(()=>{try{return new Intl.Collator(a,b)}catch{return new Intl.Collator(void 0,b)}}),Segmenter:(a,b)=>new d.d(()=>{try{return new Intl.Segmenter(a,b)}catch{return new Intl.Segmenter(void 0,b)}}),Locale:(a,b)=>new d.d(()=>{try{return new Intl.Locale(a,b)}catch{return new Intl.Locale(e.ti,b)}}),NumberFormat:(a,b)=>new d.d(()=>{try{return new Intl.NumberFormat(a,b)}catch{return new Intl.NumberFormat(void 0,b)}})}},36176:(a,b,c)=>{c.d(b,{Y:()=>g});var d=c(26529),e=c(6812),f=c(77095);class g{constructor(a,b,c,d){this._uri=a,this._lines=b,this._eol=c,this._versionId=d,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return null===this._cachedTextValue&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(a){for(let b of(a.eol&&a.eol!==this._eol&&(this._eol=a.eol,this._lineStarts=null),a.changes))this._acceptDeleteRange(b.range),this._acceptInsertText(new e.y(b.range.startLineNumber,b.range.startColumn),b.text);this._versionId=a.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){let a=this._eol.length,b=this._lines.length,c=new Uint32Array(b);for(let d=0;d<b;d++)c[d]=this._lines[d].length+a;this._lineStarts=new f.N(c)}}_setLineText(a,b){this._lines[a]=b,this._lineStarts&&this._lineStarts.setValue(a,this._lines[a].length+this._eol.length)}_acceptDeleteRange(a){if(a.startLineNumber===a.endLineNumber){if(a.startColumn===a.endColumn)return;this._setLineText(a.startLineNumber-1,this._lines[a.startLineNumber-1].substring(0,a.startColumn-1)+this._lines[a.startLineNumber-1].substring(a.endColumn-1));return}this._setLineText(a.startLineNumber-1,this._lines[a.startLineNumber-1].substring(0,a.startColumn-1)+this._lines[a.endLineNumber-1].substring(a.endColumn-1)),this._lines.splice(a.startLineNumber,a.endLineNumber-a.startLineNumber),this._lineStarts&&this._lineStarts.removeValues(a.startLineNumber,a.endLineNumber-a.startLineNumber)}_acceptInsertText(a,b){if(0===b.length)return;let c=(0,d.uz)(b);if(1===c.length)return void this._setLineText(a.lineNumber-1,this._lines[a.lineNumber-1].substring(0,a.column-1)+c[0]+this._lines[a.lineNumber-1].substring(a.column-1));c[c.length-1]+=this._lines[a.lineNumber-1].substring(a.column-1),this._setLineText(a.lineNumber-1,this._lines[a.lineNumber-1].substring(0,a.column-1)+c[0]);let e=new Uint32Array(c.length-1);for(let b=1;b<c.length;b++)this._lines.splice(a.lineNumber+b-1,0,c[b]),e[b-1]=c[b].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(a.lineNumber,e)}}},39474:(a,b,c)=>{c.d(b,{W:()=>m,m:()=>l});var d=c(81309),e=c(43765),f=c(66036),g=c(26529),h=c(6812),i=c(61822),j=c(67992),k=c(95510);class l{static fromStringEdit(a,b){return new l(a.replacements.map(a=>m.fromStringReplacement(a,b)))}static fromParallelReplacementsUnsorted(a){return new l(a.slice().sort((0,d.VE)(a=>a.range,i.Q.compareRangesUsingStarts)))}constructor(a){this.replacements=a,(0,e.Ft)(()=>(0,e.Xo)(a,(a,b)=>a.range.getEndPosition().isBeforeOrEqual(b.range.getStartPosition())))}mapPosition(a){let b=0,c=0,d=0;for(let e of this.replacements){let f=e.range.getStartPosition();if(a.isBeforeOrEqual(f))break;let g=e.range.getEndPosition(),i=j.W.ofText(e.text);if(a.isBefore(g)){let a=new h.y(f.lineNumber+b,f.column+(f.lineNumber+b===c?d:0)),e=i.addToPosition(a);return n(a,e)}f.lineNumber+b!==c&&(d=0),b+=i.lineCount-(e.range.endLineNumber-e.range.startLineNumber),0===i.lineCount?g.lineNumber!==f.lineNumber?d+=i.columnCount-(g.column-1):d+=i.columnCount-(g.column-f.column):d=i.columnCount,c=g.lineNumber+b}return new h.y(a.lineNumber+b,a.column+(a.lineNumber+b===c?d:0))}mapRange(a){var b,c;return n((b=this.mapPosition(a.getStartPosition()))instanceof h.y?b:b.getStartPosition(),(c=this.mapPosition(a.getEndPosition()))instanceof h.y?c:c.getEndPosition())}apply(a){let b="",c=new h.y(1,1);for(let d of this.replacements){let e=d.range,f=e.getStartPosition(),g=e.getEndPosition(),h=n(c,f);h.isEmpty()||(b+=a.getValueOfRange(h)),b+=d.text,c=g}let d=n(c,a.endPositionExclusive);return d.isEmpty()||(b+=a.getValueOfRange(d)),b}applyToString(a){let b=new k.tp(a);return this.apply(b)}getNewRanges(){let a=[],b=0,c=0,d=0;for(let e of this.replacements){let f=j.W.ofText(e.text),g=h.y.lift({lineNumber:e.range.startLineNumber+c,column:e.range.startColumn+(e.range.startLineNumber===b?d:0)}),i=f.createRange(g);a.push(i),c=i.endLineNumber-e.range.endLineNumber,d=i.endColumn-e.range.endColumn,b=e.range.endLineNumber}return a}toReplacement(a){if(0===this.replacements.length)throw new f.D7;if(1===this.replacements.length)return this.replacements[0];let b=this.replacements[0].range.getStartPosition(),c=this.replacements[this.replacements.length-1].range.getEndPosition(),d="";for(let b=0;b<this.replacements.length;b++){let c=this.replacements[b];if(d+=c.text,b<this.replacements.length-1){let e=this.replacements[b+1],f=i.Q.fromPositions(c.range.getEndPosition(),e.range.getStartPosition());d+=a.getValueOfRange(f)}}return new m(i.Q.fromPositions(b,c),d)}toString(a){return void 0===a?this.replacements.map(a=>a.toString()).join("\n"):"string"==typeof a?this.toString(new k.tp(a)):0===this.replacements.length?"":this.replacements.map(b=>{let c=a.getValueOfRange(b.range),d=i.Q.fromPositions(new h.y(Math.max(1,b.range.startLineNumber-1),1),b.range.getStartPosition()),e=a.getValueOfRange(d);e.length>10&&(e="..."+e.substring(e.length-10));let f=i.Q.fromPositions(b.range.getEndPosition(),new h.y(b.range.endLineNumber+1,1)),g=a.getValueOfRange(f);g.length>10&&(g=g.substring(0,10)+"...");let j=c;if(j.length>10){let a=Math.floor(5);j=j.substring(0,a)+"..."+j.substring(j.length-a)}let k=b.text;if(k.length>10){let a=Math.floor(5);k=k.substring(0,a)+"..."+k.substring(k.length-a)}return 0===j.length?`${e}❰${k}❱${g}`:`${e}❰${j}↦${k}❱${g}`}).join("\n")}}class m{static joinReplacements(a,b){if(0===a.length)throw new f.D7;if(1===a.length)return a[0];let c=a[0].range.getStartPosition(),d=a[a.length-1].range.getEndPosition(),e="";for(let c=0;c<a.length;c++){let d=a[c];if(e+=d.text,c<a.length-1){let f=a[c+1],g=i.Q.fromPositions(d.range.getEndPosition(),f.range.getStartPosition());e+=b.getValueOfRange(g)}}return new m(i.Q.fromPositions(c,d),e)}static fromStringReplacement(a,b){return new m(b.getTransformer().getRange(a.replaceRange),a.newText)}static delete(a){return new m(a,"")}constructor(a,b){this.range=a,this.text=b}get isEmpty(){return this.range.isEmpty()&&0===this.text.length}static equals(a,b){return a.range.equalsRange(b.range)&&a.text===b.text}equals(a){return m.equals(this,a)}removeCommonPrefixAndSuffix(a){return this.removeCommonPrefix(a).removeCommonSuffix(a)}removeCommonPrefix(a){let b=a.getValueOfRange(this.range).replaceAll("\r\n","\n"),c=this.text.replaceAll("\r\n","\n"),d=(0,g.Qp)(b,c),e=j.W.ofText(b.substring(0,d)).addToPosition(this.range.getStartPosition()),f=c.substring(d);return new m(i.Q.fromPositions(e,this.range.getEndPosition()),f)}removeCommonSuffix(a){let b=a.getValueOfRange(this.range).replaceAll("\r\n","\n"),c=this.text.replaceAll("\r\n","\n"),d=(0,g.Vi)(b,c),e=j.W.ofText(b.substring(0,b.length-d)).addToPosition(this.range.getStartPosition()),f=c.substring(0,c.length-d);return new m(i.Q.fromPositions(this.range.getStartPosition(),e),f)}toString(){let a=this.range.getStartPosition(),b=this.range.getEndPosition();return`(${a.lineNumber},${a.column} -> ${b.lineNumber},${b.column}): "${this.text}"`}}function n(a,b){if(a.lineNumber===b.lineNumber&&a.column===Number.MAX_SAFE_INTEGER)return i.Q.fromPositions(b,b);if(!a.isBeforeOrEqual(b))throw new f.D7("start must be before end");return new i.Q(a.lineNumber,a.column,b.lineNumber,b.column)}},62755:(a,b,c)=>{c.d(b,{c7:()=>k,aQ:()=>l});var d=c(26529),e=c(39482),f=c(66036);class g{constructor(a){this.replacements=a;let b=-1;for(const c of a){if(!(c.replaceRange.start>=b))throw new f.D7(`Edits must be disjoint and sorted. Found ${c} after ${b}`);b=c.replaceRange.endExclusive}}toString(){let a=this.replacements.map(a=>a.toString()).join(", ");return`[${a}]`}normalize(){let a,b=[];for(let c of this.replacements)if(0!==c.getNewLength()||0!==c.replaceRange.length){if(a&&a.replaceRange.endExclusive===c.replaceRange.start){let b=a.tryJoinTouching(c);if(b){a=b;continue}}a&&b.push(a),a=c}return a&&b.push(a),this._createNew(b)}compose(a){let b=this.normalize(),c=a.normalize();if(b.isEmpty())return c;if(c.isEmpty())return b;let d=[...b.replacements],g=[],h=0;for(let a of c.replacements){let b,c;for(;;){let b=d[0];if(!b||b.replaceRange.start+h+b.getNewLength()>=a.replaceRange.start)break;d.shift(),g.push(b),h+=b.getNewLength()-b.replaceRange.length}let i=h;for(;;){let e=d[0];if(!e||e.replaceRange.start+h>a.replaceRange.endExclusive)break;b||(b=e),c=e,d.shift(),h+=e.getNewLength()-e.replaceRange.length}if(b){let j=Math.min(b.replaceRange.start,a.replaceRange.start-i),k=a.replaceRange.start-(b.replaceRange.start+i);if(k>0){let a=b.slice(e.L.emptyAt(j),new e.L(0,k));g.push(a)}if(!c)throw new f.D7("Invariant violation: lastIntersecting is undefined");let l=c.replaceRange.endExclusive+h-a.replaceRange.endExclusive;if(l>0){let a=c.slice(e.L.ofStartAndLength(c.replaceRange.endExclusive,0),new e.L(c.getNewLength()-l,c.getNewLength()));d.unshift(a),h-=a.getNewLength()-a.replaceRange.length}let m=new e.L(j,a.replaceRange.endExclusive-h),n=a.slice(m,new e.L(0,a.getNewLength()));g.push(n)}else g.push(a.delta(-h))}for(;;){let a=d.shift();if(!a)break;g.push(a)}return this._createNew(g).normalize()}getNewRanges(){let a=[],b=0;for(let c of this.replacements)a.push(e.L.ofStartAndLength(c.replaceRange.start+b,c.getNewLength())),b+=c.getLengthDelta();return a}isEmpty(){return 0===this.replacements.length}applyToOffsetOrUndefined(a){let b=0;for(let c of this.replacements)if(c.replaceRange.start<=a){if(a<c.replaceRange.endExclusive)return;b+=c.getNewLength()-c.replaceRange.length}else break;return a+b}}class h{constructor(a){this.replaceRange=a}delta(a){return this.slice(this.replaceRange.delta(a),new e.L(0,this.getNewLength()))}getLengthDelta(){return this.getNewLength()-this.replaceRange.length}toString(){return`{ ${this.replaceRange.toString()} -> ${this.getNewLength()} }`}get isEmpty(){return 0===this.getNewLength()&&0===this.replaceRange.length}getRangeAfterReplace(){return new e.L(this.replaceRange.start,this.replaceRange.start+this.getNewLength())}}class i extends g{apply(a){let b=[],c=0;for(let d of this.replacements)b.push(a.substring(c,d.replaceRange.start)),b.push(d.newText),c=d.replaceRange.endExclusive;return b.push(a.substring(c)),b.join("")}removeCommonSuffixPrefix(a){let b=[];for(let c of this.replacements){let d=c.removeCommonSuffixPrefix(a);d.isEmpty||b.push(d)}return new k(b)}}class j extends h{constructor(a,b){super(a),this.newText=b}getNewLength(){return this.newText.length}toString(){return`${this.replaceRange} -> ${JSON.stringify(this.newText)}`}replace(a){return a.substring(0,this.replaceRange.start)+this.newText+a.substring(this.replaceRange.endExclusive)}removeCommonSuffixPrefix(a){let b=a.substring(this.replaceRange.start,this.replaceRange.endExclusive),c=(0,d.Qp)(b,this.newText),f=Math.min(b.length-c,this.newText.length-c,(0,d.Vi)(b,this.newText));return new l(new e.L(this.replaceRange.start+c,this.replaceRange.endExclusive-f),this.newText.substring(c,this.newText.length-f))}removeCommonSuffixAndPrefix(a){return this.removeCommonSuffix(a).removeCommonPrefix(a)}removeCommonPrefix(a){let b=this.replaceRange.substring(a),c=(0,d.Qp)(b,this.newText);return 0===c?this:this.slice(this.replaceRange.deltaStart(c),new e.L(c,this.newText.length))}removeCommonSuffix(a){let b=this.replaceRange.substring(a),c=(0,d.Vi)(b,this.newText);return 0===c?this:this.slice(this.replaceRange.deltaEnd(-c),new e.L(0,this.newText.length-c))}toJson(){return{txt:this.newText,pos:this.replaceRange.start,len:this.replaceRange.length}}}class k extends i{static{this.empty=new k([])}static replace(a,b){return new k([new l(a,b)])}static compose(a){if(0===a.length)return k.empty;let b=a[0];for(let c=1;c<a.length;c++)b=b.compose(a[c]);return b}constructor(a){super(a)}_createNew(a){return new k(a)}}class l extends j{static insert(a,b){return new l(e.L.emptyAt(a),b)}static replace(a,b){return new l(a,b)}equals(a){return this.replaceRange.equals(a.replaceRange)&&this.newText===a.newText}tryJoinTouching(a){return new l(this.replaceRange.joinRightTouching(a.replaceRange),this.newText+a.newText)}slice(a,b){return new l(a,b?b.substring(this.newText):this.newText)}}},72473:(a,b,c)=>{c.d(b,{V:()=>e});var d=c(96419);class e{constructor(a){const b=(0,d.W)(a);this._defaultValue=b,this._asciiMap=e._createAsciiMap(b),this._map=new Map}static _createAsciiMap(a){let b=new Uint8Array(256);return b.fill(a),b}set(a,b){let c=(0,d.W)(b);a>=0&&a<256?this._asciiMap[a]=c:this._map.set(a,c)}get(a){return a>=0&&a<256?this._asciiMap[a]:this._map.get(a)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}},75643:(a,b,c)=>{c.d(b,{d:()=>f});var d=c(95091),e=c(76631);class f{constructor(){this._tokenizationSupports=new Map,this._factories=new Map,this._onDidChange=new d.vl,this.onDidChange=this._onDidChange.event,this._colorMap=null}handleChange(a){this._onDidChange.fire({changedLanguages:a,changedColorMap:!1})}register(a,b){return this._tokenizationSupports.set(a,b),this.handleChange([a]),(0,e.s)(()=>{this._tokenizationSupports.get(a)===b&&(this._tokenizationSupports.delete(a),this.handleChange([a]))})}get(a){return this._tokenizationSupports.get(a)||null}registerFactory(a,b){this._factories.get(a)?.dispose();let c=new g(this,a,b);return this._factories.set(a,c),(0,e.s)(()=>{let b=this._factories.get(a);b&&b===c&&(this._factories.delete(a),b.dispose())})}async getOrCreate(a){let b=this.get(a);if(b)return b;let c=this._factories.get(a);return!c||c.isResolved?null:(await c.resolve(),this.get(a))}isResolved(a){if(this.get(a))return!0;let b=this._factories.get(a);return!b||!!b.isResolved}setColorMap(a){this._colorMap=a,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}}class g extends e.jG{get isResolved(){return this._isResolved}constructor(a,b,c){super(),this._registry=a,this._languageId=b,this._factory=c,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}dispose(){this._isDisposed=!0,super.dispose()}async resolve(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise}async _create(){let a=await this._factory.tokenizationSupport;this._isResolved=!0,a&&!this._isDisposed&&this._register(this._registry.register(this._languageId,a))}}},91328:(a,b,c)=>{c.d(b,{r:()=>n});var d=c(92640),e=c(95091),f=c(5436),g=c(54957),h=c(6812),i=c(61822),j=c(77509),k=c(36036),l=c(33896);class m{static{this.CtrlCmd=2048}static{this.Shift=1024}static{this.Alt=512}static{this.WinCtrl=256}static chord(a,b){return(0,f.m5)(a,b)}}function n(){return{editor:void 0,languages:void 0,CancellationTokenSource:d.Qi,Emitter:e.vl,KeyCode:l.DD,KeyMod:m,Position:h.y,Range:i.Q,Selection:j.L,SelectionDirection:l.SB,MarkerSeverity:l.cj,MarkerTag:l.d_,Uri:g.r,Token:k.ou}}},93914:(a,b,c)=>{let d;c.d(b,{_K:()=>h,bJ:()=>g,iD:()=>i});var e=c(18216);let f=globalThis.vscode;if(void 0!==f&&void 0!==f.process){let a=f.process;d={get platform(){return a.platform},get arch(){return a.arch},get env(){return a.env},cwd:()=>a.cwd()}}else d="u">typeof process&&"string"==typeof process?.versions?.node?{get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd:()=>process.env.VSCODE_CWD||process.cwd()}:{get platform(){return e.uF?"win32":e.zx?"darwin":"linux"},get arch(){return},get env(){return{}},cwd:()=>"/"};let g=d.cwd,h=d.env,i=d.platform},96419:(a,b,c)=>{function d(a){return a<0?0:a>255?255:0|a}function e(a){return a<0?0:a>0xffffffff?0xffffffff:0|a}c.d(b,{W:()=>d,j:()=>e})},96714:(a,b,c)=>{var d=c(62755),e=c(39474),f=c(58780),g=c(67992);(0,f.uO)({StringEdit:d.c7,StringReplacement:d.aQ,TextReplacement:e.W,TextEdit:e.m,TextLength:g.W})}};
@@ -22,7 +22,7 @@ ${g}`:b}catch{return a}}(a,c),d),j=(b??[]).map(a=>{let b=(0,g.Z)(a.data);if(b.me
22
22
  步骤:导入插件模块`,c,()=>(0,g.G)(a.path).catch(a=>{if(a instanceof Error&&a.message.includes("不支持模块顶层 await"))throw Error("原生扩展不支持模块顶层 await,请将异步初始化放入 async 工厂函数",{cause:a});throw a}));await l(`${d}
23
23
  步骤:执行插件工厂`,c,async()=>{if("function"!=typeof e.default)throw Error(`扩展必须导出工厂函数:${a.path}`);await e.default(b)})}})),q=f.SettingsManager.inMemory({},{projectTrusted:i.isProjectTrusted()});d=new f.DefaultResourceLoader({...b,cwd:a,agentDir:h,settingsManager:q,noExtensions:!0,noSkills:!0,noPromptTemplates:!0,noThemes:!0,extensionFactories:[...m.map(({name:a,create:b})=>({name:a,factory:b(),builtin:!0,replaceable:!0})),...p],additionalExtensionPaths:o,additionalSkillPaths:n.skills.map(a=>a.path),additionalPromptTemplatePaths:n.prompts.map(a=>a.path),additionalThemePaths:n.themes.map(a=>a.path)}),c?.("装配插件与会话资源"),await d.reload();let r=(a,b,c)=>{if(b)for(let d of c){let c=(0,e.relative)(d.path,b);if(!(c.startsWith("..")||(0,e.isAbsolute)(c))){a.sourceInfo={...d.metadata,path:b};break}}};for(let a of d.getSkills().skills)r(a,a.filePath,n.skills);for(let a of d.getPrompts().prompts)r(a,a.filePath,n.prompts);for(let a of d.getThemes().themes)r(a,a.sourcePath,n.themes);let s=d.getExtensions();for(let a of s.extensions){let b=n.extensions.find(b=>a.path===`<inline:${b.path}>`);if(b){for(let[d,e]of(a.path=b.path,a.resolvedPath=b.path,a.sourceInfo={...b.metadata,path:b.path},[["session_start","启动会话(session_start)"],["session_shutdown","关闭会话(session_shutdown)"],["resources_discover","补充会话资源(resources_discover)"]])){let f=a.handlers.get(d);f&&a.handlers.set(d,f.map(a=>(...d)=>l(`${k(b)}
24
24
  步骤:${e}`,c,()=>a(...d))))}for(let b of a.tools.values())b.sourceInfo=a.sourceInfo;for(let b of a.commands.values())b.sourceInfo=a.sourceInfo}}for(let a of s.errors){let b=n.extensions.find(b=>a.path===`<inline:${b.path}>`);b&&(a.path=b.path)}};await o(!1);let p=new Proxy(d,{get:(a,b)=>{if("reload"===b)return()=>o(!0);let c=Reflect.get(d,b,d);return"function"==typeof c?c.bind(d):c}}),q=p.getExtensions().runtime;for(let{name:a,config:b,extensionPath:c}of q.pendingProviderRegistrations)try{n.registerProvider(a,b)}catch(a){j.push({type:"error",message:`${c}: ${String(a)}`})}for(let{provider:a,extensionPath:b}of q.pendingNativeProviderRegistrations)try{n.registerNativeProvider(a)}catch(a){j.push({type:"error",message:`${b}: ${String(a)}`})}for(let{definition:a,extensionPath:b}of q.pendingVirtualModelRegistrations)try{n.registerVirtualModel(a)}catch(a){j.push({type:"error",message:`${b}: ${String(a)}`})}return q.pendingProviderRegistrations=[],q.pendingNativeProviderRegistrations=[],q.pendingVirtualModelRegistrations=[],await l("刷新模型与认证配置",c,()=>n.refresh({allowNetwork:!1})),j.push(...i.drainErrors().map(({error:a})=>({type:"error",message:a.message}))),{cwd:a,agentDir:h,settingsManager:i,modelRuntime:n,resourceLoader:p,diagnostics:j}}constructor(){this.selection=null}}d()}catch(a){d(a)}})},27519:(a,b,c)=>{c.d(b,{_g:()=>g,eC:()=>h,rh:()=>f});var d=c(36153);function e(a,b){return""===a?b:!(a.length>4096||a.startsWith("/")||a.includes("\\")||a.includes("\0")||/^[a-zA-Z]:/.test(a))&&a.split("/").every(a=>a.length>0&&"."!==a&&".."!==a)}let f=d.Yj().max(4096).refine(a=>e(a,!0),"目录路径必须是规范相对路径"),g=d.Yj().min(1).max(4096).refine(a=>e(a,!1),"文件路径必须是规范相对路径"),h=d.Yj().min(1).max(4096).refine(a=>e(a,!1)||a.length>0&&a.length<=4096&&!a.includes("\0")&&(a.startsWith("/")||a.startsWith("\\\\")||/^[a-zA-Z]:[\\/]/.test(a)),"预览路径必须是规范相对路径或绝对路径");d.k5(["compressed","original"]);let i=d.k5(["image/jpeg","image/png","image/webp","image/gif"]),j=d.Ik({name:d.Yj().min(1),type:d.k5(["directory","file"])}).strict();d.Ik({entries:d.YO(j).max(5e3),truncated:d.zM()}).strict(),d.Ik({matches:d.YO(g).max(100),truncated:d.zM()}).strict(),d.gM("kind",[d.Ik({kind:d.eu("text"),content:d.Yj(),size:d.ai().int().nonnegative().max(5242880)}).strict(),d.Ik({kind:d.eu("image"),mimeType:i,data:d.Yj().min(1),size:d.ai().int().positive().max(0xa00000)}).strict()])},32757:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{HJ:()=>x,Il:()=>u,L9:()=>v,dw:()=>w});var e=c(77598),f=c(73024),g=c(78555),h=c(60161),i=c(35350),j=c(42118),k=a([j]);function l(a){if(!a||"object"!=typeof a)return null;let b=a.role;return"string"==typeof b?b:null}function m(a){if(!a||"object"!=typeof a)return null;let b=a.toolCallId;return"string"==typeof b?b:null}function n(a){return null===a?null:"text-file"===a.kind?`text:${a.path}`:void 0!==a.session?a.session:`session-file:${a.sessionFile}`}function o(a,b,c){for(let d of[...a])try{d(b)}catch(a){console.error("[Pi Desk][TaskDetailRuntime] 事件监听器执行失败",{label:c,errorName:a instanceof Error?a.name:"UnknownError"})}}j=(k.then?(await k)():k)[0];class q{snapshot(){return null}subscribe(){return()=>void 0}dispose(){}}class r{constructor(a,b,c){this.path=a,this.observation=c,this.listeners=new Set,this.disposed=!1,this.current=b}static async create(a){let b=[],c=null,d=await (0,g.i)().observe(a,a=>{c?c.handleLogEvent(a):b.push(a)});for(let e of(c=new r(a,d.snapshot,d),b))c.handleLogEvent(e);return c}snapshot(){return{kind:"text",...this.current}}subscribe(a){return this.listeners.add(a),()=>this.listeners.delete(a)}dispose(){this.disposed||(this.disposed=!0,this.observation.release(),this.listeners.clear())}handleLogEvent(a){if(!this.disposed){if("snapshot"===a.type){this.current={...a.snapshot},o(this.listeners,{type:"snapshot"},this.path);return}if("text_append"===a.type){this.current={...this.current,text:this.current.text+a.text},o(this.listeners,a,this.path);return}o(this.listeners,a,this.path)}}}class s{constructor(a,b){this.sessionFile=a,this.listeners=new Set,this.watcher=null,this.interval=null,this.refreshTimer=null,this.refreshPromise=null,this.disposed=!1,this.current=b}static async create(a){let b=new s(a,await (0,j.mH)(a));return b.startWatching(),b}snapshot(){return{kind:"conversation",entries:this.current.entries,temporaryMessages:[],truncated:this.current.truncated}}subscribe(a){return this.listeners.add(a),()=>this.listeners.delete(a)}dispose(){this.disposed||(this.disposed=!0,this.watcher?.close(),this.interval&&clearInterval(this.interval),this.refreshTimer&&clearTimeout(this.refreshTimer),this.watcher=null,this.interval=null,this.refreshTimer=null,this.listeners.clear())}startWatching(){try{this.watcher=(0,f.watch)(this.sessionFile,()=>this.scheduleRefresh()),this.watcher.on("error",()=>this.scheduleRefresh())}catch{this.watcher=null}this.interval=setInterval(()=>this.scheduleRefresh(),500)}scheduleRefresh(){this.disposed||this.refreshTimer||(this.refreshTimer=setTimeout(()=>{this.refreshTimer=null,this.refresh()},40))}refresh(){return this.disposed?Promise.resolve():(this.refreshPromise||(this.refreshPromise=(async()=>{try{let a=await (0,j.mH)(this.sessionFile);if(this.disposed)return;let b=this.current.entries.map(a=>a.entryId),c=a.entries.map(a=>a.entryId);if(b.length===c.length&&b.every((a,b)=>a===c[b])){this.current=a;return}let d=!this.current.truncated&&!a.truncated&&b.every((a,b)=>a===c[b])?a.entries.slice(b.length):[];this.current=a,d.length>0?o(this.listeners,{type:"conversation_event",event:{type:"durable_append",entries:d}},this.sessionFile):o(this.listeners,{type:"snapshot"},this.sessionFile)}catch(a){console.warn("[Pi Desk][TaskSessionFileDetail] 刷新会话失败",{sessionFile:this.sessionFile,errorName:a instanceof Error?a.name:"UnknownError"}),o(this.listeners,{type:"unavailable"},this.sessionFile)}})().finally(()=>{this.refreshPromise=null})),this.refreshPromise)}}class t{constructor(a){for(const b of(this.session=a,this.listeners=new Set,this.temporaryMessages=new Map,this.temporaryOrder=[],this.pendingEvents=[],this.activeMessage=null,this.drainScheduled=!1,this.disposed=!1,this.toolRuntimeLease=(0,i.s)(a),this.toolRuntime=this.toolRuntimeLease.runtime,this.unsubscribeToolRuntime=this.toolRuntime.subscribe(a=>this.captureToolEvent(a)),this.unsubscribeAgent=a.agent.subscribe(b=>{try{this.captureAgentEvent(b)}catch(c){console.error("[Pi Desk][TaskAgentDetail] 捕获 AgentEvent 失败",{sessionId:a.sessionId,eventType:b.type,errorName:c instanceof Error?c.name:"UnknownError"})}}),this.entries=(0,h.xm)(a.sessionManager.getBranch()),this.toolRuntime.activeMessages()))this.setTemporary(b.tempId,b.message);const b=a.agent.state.streamingMessage;if(b){const a=(0,h.b7)(b);if(a){const c=(0,e.randomUUID)();for(const d of(this.activeMessage={tempId:c,started:!0,toolCallId:null},this.setTemporary(c,a),this.toolRuntime.syncStreamingTools(b,!1),this.toolRuntime.activeMessages()))this.setTemporary(d.tempId,d.message)}}}snapshot(){return{kind:"conversation",entries:this.entries,temporaryMessages:this.temporaryOrder.flatMap(a=>{let b=this.temporaryMessages.get(a);return b?[{tempId:a,message:b}]:[]}),truncated:!1}}subscribe(a){return this.listeners.add(a),()=>this.listeners.delete(a)}dispose(){this.disposed||(this.disposed=!0,this.unsubscribeAgent(),this.unsubscribeToolRuntime(),this.toolRuntimeLease.release(),this.listeners.clear(),this.pendingEvents.length=0,this.temporaryMessages.clear(),this.temporaryOrder.length=0)}captureAgentEvent(a){if(!this.disposed)switch(a.type){case"message_start":this.startMessage(a.message);return;case"message_update":this.updateMessage(a.message),this.toolRuntime.syncStreamingTools(a.message);return;case"message_end":this.toolRuntime.syncStreamingTools(a.message),this.endMessage(a.message);return;default:return}}captureToolEvent(a){if(!this.disposed){if("message_discard"===a.type){this.removeTemporary(a.tempId),this.queueEvent(a);return}this.setTemporary(a.tempId,a.message),this.queueEvent(a)}}startMessage(a){let b=l(a),c=(0,e.randomUUID)(),d=!0,f=null;if("toolResult"===b){let b=(f=m(a))?this.toolRuntime.tempId(f):null;b&&(c=b,d=!1)}let g=this.projectLiveMessage(a,f);g&&(this.activeMessage={tempId:c,started:d,toolCallId:f},this.setTemporary(c,g),this.queueEvent({type:d?"message_start":"message_update",tempId:c,message:g}))}updateMessage(a){let b=this.activeMessage;if(!b)return;let c=this.projectLiveMessage(a,b.toolCallId);c&&(this.setTemporary(b.tempId,c),this.queueEvent({type:"message_update",tempId:b.tempId,message:c}))}endMessage(a){let b=this.activeMessage,c=l(a),d="toolResult"===c?m(a):null;if(!b){let c=this.projectLiveMessage(a,d);if(!c)return;b={tempId:(0,e.randomUUID)(),started:!0,toolCallId:d},this.setTemporary(b.tempId,c),this.queueEvent({type:"message_start",tempId:b.tempId,message:c})}let f=this.projectLiveMessage(a,b.toolCallId);f&&(this.setTemporary(b.tempId,f),this.queueEvent({type:"message_update",tempId:b.tempId,message:f}));let g=this.session.sessionManager.getLeafEntry(),i=g?(0,h.B4)(g):null;g&&i?(this.entries.some(a=>a.entryId===i.entryId)||(this.entries=[...this.entries,i]),this.removeTemporary(b.tempId),this.queueEvent({type:"message_commit",tempId:b.tempId,entryId:i.entryId,timestampMs:function(a,b){let c=Date.parse(b);if(!Number.isSafeInteger(c)||c<0)throw Error(`Pi session entry has an invalid timestamp: ${a}`);return c}(g.id,g.timestamp)})):b.started&&(this.removeTemporary(b.tempId),this.queueEvent({type:"message_discard",tempId:b.tempId})),b.toolCallId&&this.toolRuntime.remove(b.toolCallId),this.activeMessage=null}projectLiveMessage(a,b){return"toolResult"===l(a)&&b?this.toolRuntime.projectLiveResult(a,b):(0,h.b7)(a)}setTemporary(a,b){this.temporaryMessages.has(a)||this.temporaryOrder.push(a),this.temporaryMessages.set(a,b)}removeTemporary(a){this.temporaryMessages.delete(a);let b=this.temporaryOrder.indexOf(a);b>=0&&this.temporaryOrder.splice(b,1)}queueEvent(a){if(!this.disposed){if("message_update"===a.type){let b=this.pendingEvents.at(-1);b?.type==="message_update"&&b.tempId===a.tempId?this.pendingEvents[this.pendingEvents.length-1]=a:this.pendingEvents.push(a)}else this.pendingEvents.push(a);this.drainScheduled||(this.drainScheduled=!0,queueMicrotask(()=>this.drainEvents()))}}drainEvents(){if(this.drainScheduled=!1,!this.disposed)for(;this.pendingEvents.length>0;){let a=this.pendingEvents.shift();o(this.listeners,{type:"conversation_event",event:a},this.session.sessionId)}}}async function p(a){return null===a?new q:"text-file"===a.kind?r.create(a.path):void 0!==a.session?new t(a.session):s.create(a.sessionFile)}class u{constructor(a){this.readRecord=a,this.sharedByTaskId=new Map,this.operationTail=Promise.resolve(),this.disposed=!1}watch(a,b){return this.enqueue(()=>this.watchInternal(a,b))}taskChanged(a){this.enqueue(async()=>{let b=this.sharedByTaskId.get(a);if(!b)return;let c=this.readRecord(a);if(!c){o(b.listeners,{type:"unavailable"},a),this.disposeShared(a,b);return}n(c.detailSource)!==b.sourceIdentity?await this.replaceShared(a,b,c):b.canInterrupt!==c.canInterrupt&&(b.canInterrupt=c.canInterrupt,o(b.listeners,{type:"snapshot",snapshot:this.snapshot(a,b)},a))})}async readMessage(a,b){let c=this.readRecord(a);if(!c)throw new v(a);let d=c.detailSource;if(d?.kind!=="pi-conversation")throw new w(a);if(void 0!==d.session){let a=(0,h.xm)(d.session.sessionManager.getBranch()),c=a.findIndex(a=>a.entryId===b);if(c<0)throw new x(b);return{index:c,entry:a[c]}}let e=await (0,j.uS)(d.sessionFile,b),f=e.snapshot.entries.findIndex(a=>a.entryId===b);if(f<0)throw new x(b);return{index:f,entry:e.projected}}async readImage(a,b,c){if(!Number.isSafeInteger(c)||c<0)throw Error("图片位置无效");let d=this.readRecord(a);if(!d)throw new v(a);let e=d.detailSource;if(e?.kind!=="pi-conversation")throw new w(a);if(void 0===e.session)return(0,j.tE)(e.sessionFile,b,c);if(!e.session.sessionManager.getBranch().some(a=>a.id===b))throw new x(b);let f=e.session.sessionManager.getEntry(b);if(f?.type!=="message"||"user"!==f.message.role&&"toolResult"!==f.message.role)throw new x(b);let g=(0,h.Wl)(f.message.content,c);if(!g)throw new x(`${b}/${c}`);return g}dispose(){if(!this.disposed){for(let[a,b]of(this.disposed=!0,this.sharedByTaskId))this.disposeShared(a,b);this.sharedByTaskId.clear()}}async watchInternal(a,b){if(this.disposed)throw Error("Task detail pool has been disposed");let c=this.readRecord(a);if(!c)throw new v(a);let d=this.sharedByTaskId.get(a),e=n(c.detailSource);if(!d||d.sourceIdentity!==e){d?.unsubscribeSource(),d?.sourceRuntime.dispose();let b=await p(c.detailSource);if(this.disposed)throw b.dispose(),Error("Task detail pool was disposed during initialization");(d={sourceRuntime:b,sourceIdentity:e,canInterrupt:c.canInterrupt,listeners:new Set,unsubscribeSource:()=>void 0}).unsubscribeSource=b.subscribe(b=>this.handleSourceEvent(a,d,b)),this.sharedByTaskId.set(a,d)}d.canInterrupt=c.canInterrupt,d.listeners.add(b);let f=!1;return{snapshot:this.snapshot(a,d),readSnapshot:()=>this.snapshot(a,d),release:()=>{f||(f=!0,this.release(a,d,b))}}}enqueue(a){let b=this.operationTail.then(a,a);return this.operationTail=b.then(()=>void 0,()=>void 0),b}snapshot(a,b){return{taskId:a,canInterrupt:b.canInterrupt,body:b.sourceRuntime.snapshot()}}handleSourceEvent(a,b,c){if(this.sharedByTaskId.get(a)===b){if("snapshot"===c.type)return void o(b.listeners,{type:"snapshot",snapshot:this.snapshot(a,b)},a);o(b.listeners,c,a)}}release(a,b,c){this.sharedByTaskId.get(a)===b&&(b.listeners.delete(c),0===b.listeners.size&&this.disposeShared(a,b))}disposeShared(a,b){this.sharedByTaskId.get(a)===b&&this.sharedByTaskId.delete(a),b.unsubscribeSource(),b.sourceRuntime.dispose(),b.listeners.clear()}async replaceShared(a,b,c){try{let d=await p(c.detailSource);if(this.sharedByTaskId.get(a)!==b)return void d.dispose();b.unsubscribeSource(),b.sourceRuntime.dispose(),b.sourceRuntime=d,b.sourceIdentity=n(c.detailSource),b.canInterrupt=c.canInterrupt,b.unsubscribeSource=d.subscribe(c=>this.handleSourceEvent(a,b,c)),o(b.listeners,{type:"snapshot",snapshot:this.snapshot(a,b)},a)}catch(c){console.warn("[Pi Desk][TaskDetailPool] 替换详情来源失败",{taskId:a,errorName:c instanceof Error?c.name:"UnknownError"}),o(b.listeners,{type:"unavailable"},a),this.disposeShared(a,b)}}}class v extends Error{constructor(a){super(`Task detail was not found: ${a}`),this.name="L4PiTaskDetailNotFoundError"}}class w extends Error{constructor(a){super(`Task does not provide conversation detail: ${a}`),this.name="L4PiTaskDetailUnsupportedError"}}class x extends Error{constructor(a){super(`Task conversation message was not found: ${a}`),this.name="L4PiTaskMessageNotFoundError"}}d()}catch(a){d(a)}})},33448:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Wo:()=>u,er:()=>v,gb:()=>s,ls:()=>r,vC:()=>w,wz:()=>t});var e=c(73024),f=c(76760),g=c(75430),h=c(8438),i=c(6676),j=c(94074),k=c(60161),l=c(37787),m=c(7832),n=c(55881),o=c(27177),p=a([g,h,i,l,o]);[g,h,i,l,o]=p.then?(await p)():p;class u extends Error{constructor(a){super(a),this.name="L4PiSessionBranchBlockedError"}}class v extends Error{constructor(){super("Pi session has no durable entry to clone"),this.name="L4PiSessionCloneEmptyError"}}function q(){return globalThis.__piDeskPiWorkSessionRuntimes||(globalThis.__piDeskPiWorkSessionRuntimes=new Map),globalThis.__piDeskPiWorkSessionRuntimes}class w{constructor(a,b){this.sessionManager=a,this.branchIndex=b,this.resources=new o.h,this.pendingBranchAppend=null,this.capabilityModeValue=null,this.capabilityTail=Promise.resolve(),this.disposed=!1,this.closePromise=null,this.indexedEntryCount=a.getEntries().length,this.branchIdValue=b.branchIdForHead(a.getLeafId()),this.chatWorker=this.createChatWorker(),this.unsubscribeCapabilities=(0,h.O)().subscribe(()=>{if(null===this.capabilityModeValue||this.disposed)return;let a=(0,h.O)().read(),b=Object.hasOwn(a,this.capabilityModeValue)?this.capabilityModeValue:null;this.setCapabilityMode(b).catch(a=>{console.error("[Pi Desk][Capabilities] 会话同步模式配置失败",{sessionId:this.sessionId,message:a instanceof Error?a.message:String(a)})})})}static create(a){let b=g.SessionManager.create(a),c=(0,m.l)(b);return(0,l.Ko)(a),w.fromManager(g.SessionManager.open(c,b.getSessionDir()))}static async open(a,b){let c=q().get(b);if(c){if(c.assertActive(),(0,f.resolve)(c.cwd)!==(0,f.resolve)(a))throw Error(`Pi session ${b} cwd does not match requested cwd`);return c}let d=await (0,l.vg)(a,b);if(!d)throw Error(`Pi session ${b} was not found in ${a}`);let e=w.fromManager(g.SessionManager.open(d));if((0,f.resolve)(e.cwd)!==(0,f.resolve)(a))throw Error(`Pi session ${b} cwd does not match persisted cwd`);return e}get cwd(){return this.sessionManager.getCwd()}get sessionId(){return this.sessionManager.getSessionId()}get branchId(){return this.branchIdValue}get isWorkerInitialized(){return this.assertActive(),this.chatWorker.isInitialized}readChatBackgroundTaskIds(){return this.assertActive(),this.chatWorker.getBackgroundTaskIds()}readPluginReloadBlockReason(){return this.assertActive(),this.chatWorker.readPluginReloadBlockReason()}readChatSnapshot(){return this.assertActive(),(0,k.xf)(this.sessionManager)}async readSessionTree(){this.assertActive();let a=this.sessionManager.getEntries().some(a=>"model_change"===a.type)?await g.ModelRuntime.create():void 0;return(0,n.cg)(this.sessionManager,a)}async readSessionTreeEntryDetail(a){this.assertActive();let b=this.sessionManager.getEntry(a)?.type==="model_change"?await g.ModelRuntime.create():void 0;return(0,n.j0)(this.sessionManager,a,b)}readChatImage(a,b){if(this.assertActive(),!Number.isSafeInteger(b)||b<0)throw Error("图片位置无效");if(!this.sessionManager.getBranch().some(b=>b.id===a))throw Error(`Pi session entry is not on the current branch: ${a}`);let c=this.sessionManager.getEntry(a);if(c?.type!=="message"||"user"!==c.message.role&&"toolResult"!==c.message.role)throw Error(`Pi session entry has no message images: ${a}`);let d=(0,k.Wl)(c.message.content,b);if(!d)throw Error(`Pi message image was not found: ${a}/${b}`);return d}subscribeChat(a){return this.assertActive(),this.chatWorker.subscribe(a)}get nativeUi(){return this.assertActive(),this.chatWorker.nativeUi}async readChatRuntime(){return this.assertActive(),this.chatWorker.getRuntime()}async readModelContext(){return this.assertActive(),this.chatWorker.readModelContext()}watchTaskDetail(a,b){return this.assertActive(),this.chatWorker.watchTaskDetail(a,b)}readTaskMessage(a,b){return this.assertActive(),this.chatWorker.readTaskMessage(a,b)}readTaskImage(a,b,c){return this.assertActive(),this.chatWorker.readTaskImage(a,b,c)}async interruptTask(a){this.assertActive(),await this.chatWorker.interruptTask(a)}async invokePluginMethod(a,b,c,d){if(this.assertActive(),a.sessionId!==this.sessionId||a.branchId!==this.branchId)throw Error("Pi session plugin source does not match the current runtime");return this.chatWorker.invokePluginMethod(b,c,d,a)}async listModels(){return this.assertActive(),this.chatWorker.listModels()}async listNativeCommands(){return this.assertActive(),this.chatWorker.listNativeCommands()}async executeNativeCommand(a,b){this.assertActive(),await this.chatWorker.executeNativeCommand(a,b)}async listNativeTools(a=!1){return a&&this.disposed?[]:(this.assertActive(),this.chatWorker.listNativeTools(a))}async executeDirectBash(a){return this.assertActive(),this.chatWorker.executeDirectBash(a)}async abortDirectBash(){this.assertActive(),await this.chatWorker.abortDirectBash()}async send(a){return this.assertActive(),this.chatWorker.send(a)}async interrupt(){this.assertActive(),await this.chatWorker.interrupt()}async compact(){this.assertActive(),await this.chatWorker.compact()}async reload(a){this.assertActive(),await this.chatWorker.reload(a)}async restoreQueuedMessages(){return this.assertActive(),this.chatWorker.restoreQueuedMessages()}async setModel(a){this.assertActive(),await this.chatWorker.setModel(a)}setCapabilityMode(a){let b=this.capabilityTail.then(async()=>{if(this.assertActive(),null!==a&&!Object.hasOwn((0,h.O)().read(),a))throw Error("能力模式已不存在,请重新选择");this.capabilityModeValue=a,await this.chatWorker.applyCapabilityMode()});return this.capabilityTail=b.catch(()=>void 0),b}async dispose(){this.closePromise||(this.disposed=!0,this.unsubscribeCapabilities(),this.closePromise=this.chatWorker.dispose().finally(()=>this.resources.reset()),this.closePromise.then(()=>{q().get(this.sessionId)===this&&q().delete(this.sessionId)},a=>{console.warn("[Pi Desk][WorkSessionRuntime] 会话关闭未确认,保留实例占用直到重启",{sessionId:this.sessionId,message:a instanceof Error?a.message:String(a)})})),await this.waitForWorkerClose(this.closePromise,1500).catch(()=>void 0)}async waitForWorkerClose(a,b){let c;try{await Promise.race([a.then(()=>!0),new Promise(a=>{c=setTimeout(()=>a(!1),b)})])}finally{c&&clearTimeout(c)}}async branch(a){this.assertActive(),this.assertBranchable(),this.syncBranchIndex();let b=(0,n.eD)(this.sessionManager,a);if(!b.changed)return b;let c=this.sessionManager.getLeafId(),d=this.pendingBranchAppend;this.pendingBranchAppend=null;let e=!1;try{return(e=await this.chatWorker.navigateTree(b.selectedEntryId))?b:{...b,changed:!1,targetLeafEntryId:this.sessionManager.getLeafId(),editorText:null}}finally{this.syncBranchIndex();let a=this.sessionManager.getLeafId();e||a!==c?(this.pendingBranchAppend=this.branchIndex.predictAppend(a),this.branchIdValue=this.pendingBranchAppend.branchId):this.pendingBranchAppend=d}}createBranchedSession(a){let b,c,d,f,h;this.assertActive(),"at"===a.position&&this.assertBranchable(),this.syncBranchIndex();let i=this.sessionManager.getSessionFile();if(!i||!(0,e.existsSync)(i))throw Error(`Pi session ${this.sessionId} has no authoritative JSONL file`);if("before"===a.position){if(!a.entryId)throw new n.Ns("");let e=(0,n.u3)(this.sessionManager,a.entryId);b=e.selectedEntryId,c=e.targetLeafEntryId,d=e.editorText}else{if(!(b=a.entryId??this.sessionManager.getLeafId()??""))throw new v;if(!this.sessionManager.getEntry(b))throw new n.Ns(b);c=b,d=null}if(!(h=null===c?(f=g.SessionManager.create(this.cwd,this.sessionManager.getSessionDir())).newSession({parentSession:i}):(f=g.SessionManager.open(i,this.sessionManager.getSessionDir())).createBranchedSession(c)))throw Error(`Failed to create Pi session from entry: ${b}`);(0,m.l)(f),(0,l.Ko)(this.cwd);let j=w.fromManager(g.SessionManager.open(h,this.sessionManager.getSessionDir()));return console.info("[Pi Desk][PiWorkSessionRuntime] 已创建路径分支 Pi 会话",{sourceSessionId:this.sessionId,sourceBranchId:this.branchIndex.branchIdForEntry(b),selectedEntryId:b,targetLeafEntryId:c,position:a.position,sessionId:j.sessionId,branchId:j.branchId}),{runtime:j,editorText:d}}assertBranchable(){try{this.chatWorker.assertIdle()}catch(a){throw new u(a instanceof Error?a.message:"当前 Pi 会话不能切换分支")}}createChatWorker(){return new i.EG(this.cwd,this.sessionManager,a=>this.confirmAppendedEntry(a),{mode:()=>this.capabilityModeValue,rules:()=>null===this.capabilityModeValue?void 0:(0,h.O)().read()[this.capabilityModeValue]},this.resources)}confirmAppendedEntry(a){try{this.syncBranchIndex(),this.branchIndex.branchIdForEntry(a.id)}catch(b){throw console.error("[Pi Desk][PiWorkSessionRuntime] 增量同步 Pi 分支索引失败",{sessionId:this.sessionId,entryId:a.id,parentId:a.parentId,errorName:b instanceof Error?b.name:"UnknownError",errorMessage:b instanceof Error?b.message:String(b)}),b}}syncBranchIndex(){let a=this.sessionManager.getEntries();for(;this.indexedEntryCount<a.length;){let b,c=a[this.indexedEntryCount];this.pendingBranchAppend?(b=this.branchIndex.confirmAppend(this.pendingBranchAppend,c),this.pendingBranchAppend=null):b=this.branchIndex.appendEntry(c).branchId,this.indexedEntryCount+=1,this.sessionManager.getLeafId()===c.id&&(this.branchIdValue=b)}}static fromManager(a){let b=q().get(a.getSessionId());if(b)return b.assertActive(),b;let c=new w(a,new j.u(a.getEntries()));return q().set(c.sessionId,c),c}assertActive(){if(this.disposed)throw Error(`Pi session runtime has been disposed: ${this.sessionId}`)}}function r(a){let b=q().get(a);if(!b)throw Error(`Pi session runtime is not initialized: ${a}`);return b}async function s(a){await q().get(a)?.dispose()}async function t(){await Promise.all([...q().values()].map(a=>a.dispose()))}d()}catch(a){d(a)}})},35350:(a,b,c)=>{c.d(b,{s:()=>i});var d=c(77598),e=c(60161);let f=new WeakMap;function g(a){try{let b=JSON.stringify(a);return void 0===b?null:JSON.parse(b)}catch{return null}}class h{constructor(a){this.session=a,this.listeners=new Set,this.toolsById=new Map,this.disposed=!1,this.unsubscribeAgent=a.agent.subscribe(a=>this.captureAgentEvent(a)),this.unsubscribeSession=a.subscribe(a=>this.captureSessionEvent(a));const b=a.sessionManager.getBranch(),c=a.agent.state.pendingToolCalls;for(const a of function(a){let b=new Map;for(let c of a)if("message"===c.type)if("assistant"===c.message.role)for(let a of(0,e.zz)(c.message.content))b.set(a.id,a);else"toolResult"===c.message.role&&b.delete(c.message.toolCallId);return[...b.values()]}(b))c.has(a.id)&&this.upsertTool(a.id,a.name,a.input);const d=a.agent.state.streamingMessage;d&&this.syncStreamingTools(d,!1)}get size(){return this.toolsById.size}subscribe(a){return this.listeners.add(a),()=>this.listeners.delete(a)}activeMessages(){return[...this.toolsById.values()].map(a=>({tempId:a.tempId,message:this.toolMessage(a)}))}tempId(a){return this.toolsById.get(a)?.tempId??null}syncStreamingTools(a,b=!0){if("assistant"===a.role)for(let c of(0,e.zz)(a.content)){let{tool:a,created:d,changed:e}=this.upsertTool(c.id,c.name,c.input);b&&(d?this.publish({type:"message_start",tempId:a.tempId,message:this.toolMessage(a)}):e&&this.publishToolUpdate(a))}}projectLiveResult(a,b){let c=this.toolsById.get(b);return(0,e.zK)(a,b,c?.display,c?.input)}remove(a){this.toolsById.delete(a)}discardAll(){for(let a of this.toolsById.values())this.publish({type:"message_discard",tempId:a.tempId});this.toolsById.clear()}dispose(){this.disposed||(this.disposed=!0,this.unsubscribeAgent(),this.unsubscribeSession(),this.listeners.clear(),this.toolsById.clear())}captureAgentEvent(a){if(!this.disposed&&(!("parentToolCallId"in a)||void 0===a.parentToolCallId))switch(a.type){case"tool_execution_start":this.startTool(a.toolCallId,a.toolName,a.args);return;case"tool_execution_update":this.updateTool(a.toolCallId,a.toolName,a.args,a.partialResult);return;case"tool_execution_end":this.endTool(a.toolCallId,a.toolName,a.result,a.isError);return;case"turn_end":this.discardAll();return;default:return}}captureSessionEvent(a){("agent_end"===a.type&&a.willRetry||"agent_settled"===a.type)&&queueMicrotask(()=>{this.disposed||this.discardAll()})}upsertTool(a,b,c){let f=c&&"object"==typeof c&&!Array.isArray(c)?{...c}:{},g=this.toolsById.get(a);if(g){var h;let a=(0,e.zG)(b,f,g.displayCache),c=g.name!==b||(h=g.display,h.reasoning!==a.reasoning||h.inputPreview!==a.inputPreview||h.activity!==a.activity);return g.name=b,g.input=f,g.display=a,{tool:g,created:!1,changed:c}}let i={},j={tempId:(0,d.randomUUID)(),toolCallId:a,name:b,display:(0,e.zG)(b,f,i),displayCache:i,input:f,partialResult:null,result:null,status:"running",startedAtMs:null,durationMs:null};return this.toolsById.set(a,j),{tool:j,created:!0,changed:!0}}startTool(a,b,c){let{tool:d,created:e,changed:f}=this.upsertTool(a,b,c),g="bash"===b&&null===d.startedAtMs;d.status="running",g&&(d.startedAtMs=Date.now()),e?this.publish({type:"message_start",tempId:d.tempId,message:this.toolMessage(d)}):(f||g)&&this.publishToolUpdate(d)}updateTool(a,b,c,d){this.startTool(a,b,c);let e=this.toolsById.get(a);e&&(e.partialResult=d,e.status="running",this.publishToolUpdate(e))}endTool(a,b,c,d){this.toolsById.has(a)||this.startTool(a,b,{});let e=this.toolsById.get(a);e&&("bash"===e.name&&null!==e.startedAtMs&&(e.durationMs=Math.max(0,Date.now()-e.startedAtMs),function(a,b){if(!a||"object"!=typeof a||Array.isArray(a))return;let c=a.details&&"object"==typeof a.details&&!Array.isArray(a.details)?a.details:{};a.details={...c,durationMs:b}}(c,e.durationMs)),e.result=c,e.status=d?"error":"completed",this.publishToolUpdate(e))}publishToolUpdate(a){this.publish({type:"message_update",tempId:a.tempId,message:this.toolMessage(a)})}toolMessage(a){let b;return{type:"tool",name:a.name,reasoning:a.display.reasoning,inputPreview:a.display.inputPreview,activity:a.display.activity,status:a.status,usage:null,output:"",startedAtMs:a.startedAtMs,durationMs:a.durationMs,declaration:{message:{kind:"tool",toolName:a.name,toolCallId:a.toolCallId,arguments:(b=g(a.input))&&"object"==typeof b&&!Array.isArray(b)?b:{},partialResult:g(a.partialResult),result:g(a.result),isError:"error"===a.status},raw:{toolCallId:a.toolCallId,toolName:a.name,args:a.input,partialResult:a.partialResult,result:a.result}}}}publish(a){for(let b of[...this.listeners])try{b(a)}catch(b){console.error("[Pi Desk][AgentToolRuntime] 事件监听器执行失败",{sessionId:this.session.sessionId,eventType:a.type,errorName:b instanceof Error?b.name:"UnknownError"})}}}function i(a){let b=f.get(a);b||(b={runtime:new h(a),references:0},f.set(a,b)),b.references+=1;let c=!1;return{runtime:b.runtime,release:()=>{c||(c=!0,b.references-=1,b.references>0||(f.delete(a),b.runtime.dispose()))}}}},37787:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Ko:()=>q,vg:()=>p,xt:()=>r});var e=c(17691),f=c(77598),g=c(73024),h=c(76760),i=c(36153),j=c(64791),k=c(78180),l=c(18200),m=a([e,j,k,l]);[e,j,k,l]=m.then?(await m)():m;let s=i.Ik({cwd:i.Yj().trim().min(1),sessionCount:i.ai().int().nonnegative(),updatedAt:i.ai().int().nonnegative()}).strict(),t=i.Ik({directories:i.YO(s)}).strict();function n(){return(0,h.join)((0,e.M)(),"pi-directories.json")}function o(a){return(0,h.resolve)(a)}async function p(a,b){return(0,l.p)(o(a),b,(0,k.Ph)(a,b))}function q(a){let b=function(){if(!globalThis.__piDeskPiSessionCatalogState){let a=function(){let a=n();if(!(0,g.existsSync)(a))return null;try{return t.parse(JSON.parse((0,g.readFileSync)(a,"utf8"))).directories}catch(b){return console.warn("[Pi Desk][PiSessionCatalog] 项目目录持久缓存无效",{path:a,errorName:b instanceof Error?b.name:"UnknownError"}),null}}();globalThis.__piDeskPiSessionCatalogState={directorySummaryCache:null,directorySummaryValue:a,directorySummaryNeedsRefresh:null!==a}}return globalThis.__piDeskPiSessionCatalogState}();if(a||(b.directorySummaryNeedsRefresh=!0),a&&b.directorySummaryValue){let d=o(a),e=b.directorySummaryValue.find(a=>(0,j.sC)(a.cwd)===(0,j.sC)(d));e?(e.sessionCount+=1,e.updatedAt=Math.max(e.updatedAt,Date.now())):b.directorySummaryValue=[...b.directorySummaryValue,{cwd:d,sessionCount:1,updatedAt:Date.now()}].sort((a,b)=>b.updatedAt-a.updatedAt);var c=b.directorySummaryValue;let i=n(),k=`${i}.${process.pid}.${(0,f.randomUUID)()}.tmp`;try{(0,g.mkdirSync)((0,h.dirname)(i),{recursive:!0}),(0,g.writeFileSync)(k,`${JSON.stringify({directories:c},null,2)}
25
- `,"utf8"),(0,g.renameSync)(k,i)}catch(a){console.warn("[Pi Desk][PiSessionCatalog] 写入项目目录持久缓存失败",{path:i,errorName:a instanceof Error?a.name:"UnknownError"})}finally{(0,g.existsSync)(k)&&(0,g.unlinkSync)(k)}}(0,k.xt)(a)}function r(a){(0,k.xt)(a)}d()}catch(a){d(a)}})},38617:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{I:()=>j});var e=c(73024),f=c(76760),g=c(47757),h=c(75430),i=a([g,h]);[g,h]=i.then?(await i)():i;class k{constructor(a,b,c,d){this.cwd=a,this.agentDir=b,this.settings=c,this.createHostExtension=d,this.extensions={extensions:[],errors:[],runtime:(0,h.createExtensionRuntime)()},this.agentsFiles={agentsFiles:[]}}getExtensions(){return this.extensions}getSkills(){return{skills:[],diagnostics:[]}}getPrompts(){return{prompts:[],diagnostics:[]}}getThemes(){return{themes:[],diagnostics:[]}}getAgentsFiles(){return this.agentsFiles}getSystemPrompt(){return this.systemPrompt?.content}getSystemPromptSource(){return this.systemPrompt?{path:this.systemPrompt.path}:void 0}getAppendSystemPrompt(){return(0,g.appendL4PiDeskSystemPrompt)(this.appendPrompt?[this.appendPrompt.content]:[])}getAppendSystemPromptSources(){return this.appendPrompt?[{path:this.appendPrompt.path}]:[]}extendResources(){}async reload(){await this.settings.reload(),this.extensions={extensions:[this.createHostExtension()],errors:[],runtime:(0,h.createExtensionRuntime)()},this.agentsFiles={agentsFiles:(0,h.loadProjectContextFiles)({cwd:this.cwd,agentDir:this.agentDir})},this.systemPrompt=this.readPrompt("SYSTEM.md"),this.appendPrompt=this.readPrompt("APPEND_SYSTEM.md")}readPrompt(a){let b=[...this.settings.isProjectTrusted()?[(0,f.join)(this.cwd,h.CONFIG_DIR_NAME,a)]:[],(0,f.join)(this.agentDir,a)].find(a=>(0,e.existsSync)(a));return b?{path:b,content:(0,e.readFileSync)(b,"utf8")}:void 0}}async function j(a){let b=(0,h.getAgentDir)(),c=h.SettingsManager.create(a.cwd,b),d=await h.ModelRuntime.create({authPath:(0,f.join)(b,"auth.json"),modelsPath:(0,f.join)(b,"models.json")}),e=new k(a.cwd,b,c,a.createHostExtension);return await e.reload(),await d.refresh({allowNetwork:!1}),{cwd:a.cwd,agentDir:b,settingsManager:c,modelRuntime:d,resourceLoader:e,diagnostics:c.drainErrors().map(({error:a})=>({type:"error",message:a.message}))}}d()}catch(a){d(a)}})},40104:(a,b,c)=>{c.d(b,{bV:()=>J,Ak:()=>I});var d=c(51455),e=c(76760);c(27519);var f=c(76019),g=c(88134);class h extends Error{constructor(a,b,c){super(b),this.kind=a,this.localizedMessage=c,this.name="L4WorkSessionGitError"}}var i=c(11819),j=c(31421);let k={GIT_OPTIONAL_LOCKS:"0",GIT_NO_LAZY_FETCH:"1",GIT_TERMINAL_PROMPT:"0"};function l(a,b,c={}){return new Promise(d=>{(0,j.execFile)("git",["-C",a,...b],{encoding:"utf8",timeout:c.timeout??15e3,maxBuffer:0x4000000,windowsHide:!0,env:{...process.env,LC_ALL:"C",...!1===c.readOnly?{}:k}},(a,b,c)=>{d({code:"number"==typeof a?.code?a.code:a?null:0,stdout:String(b??""),stderr:String(c||(a instanceof Error?a.message:""))})})})}let m=new Set([".git","node_modules",".next","dist","build","coverage",".turbo"]),n=new Map,o=new Map,p=new Map;function q(a,b){return(0,e.relative)(a,b).split(e.sep).join("/")}function r(a){let b=a.trim().replaceAll(/\s+/g," ");return b.length>1600?`${b.slice(0,1597)}...`:b}function s(a,b){let c=r(b.stderr)||`Git 退出码 ${String(b.code)}`;return`${a}失败:${c}`}async function t(a,b,c){let d=Array(a.length),e=0;async function f(){for(;e<a.length;){let b=e;e+=1,d[b]=await c(a[b])}}return await Promise.all(Array.from({length:Math.min(b,a.length)},()=>f())),d}async function u(a){try{let b=await (0,d.realpath)(a);if(!(await (0,d.stat)(b)).isDirectory())throw new h("project-not-found","项目目录不存在");return b}catch(a){if(a instanceof h)throw a;throw new h("project-not-found","项目目录不存在")}}async function v(a){try{let b=await (0,d.stat)((0,e.join)(a,".git"));return b.isDirectory()||b.isFile()}catch{return!1}}async function w(a){let b;try{b=await (0,d.readdir)(a,{withFileTypes:!0})}catch{throw new h("read-failed","无法读取项目目录")}let c=[a,...b.filter(a=>a.isDirectory()&&!m.has(a.name)).map(b=>(0,e.resolve)(a,b.name))],f=(await t(c,32,async a=>await v(a)?a:null)).filter(a=>null!==a);if(f.length>i.y2)throw new h("scan-limit","项目中的 Git 仓库数量超过 100 个");return f}async function x(a,b){let c=await l(b,["rev-parse","--show-toplevel"]);if(0!==c.code||!c.stdout.trim()){let c=await (0,d.realpath)(b);return(0,g.C)(a,c)?{absoluteRoot:c,protocolRoot:q(a,c)}:null}try{let e=await (0,d.realpath)(c.stdout.trim());if(!(0,g.C)(a,e))return null;let f=await (0,d.realpath)(b);if((0,g.b)(f)!==(0,g.b)(e))return null;return{absoluteRoot:e,protocolRoot:q(a,e)}}catch{return null}}async function y(a){let b=await u(a),c=(0,g.b)(b),d=Date.now(),e=n.get(c);if(e&&e.expiresAt>d)return e.repositories;let f=o.get(c);if(f)return f;let h=(async()=>{let a=await w(b),e=await t(a,4,a=>x(b,a)),f=new Map;for(let a of e)a&&f.set((0,g.b)(a.absoluteRoot),a);let h=[...f.values()].sort((a,b)=>""===a.protocolRoot?-1:""===b.protocolRoot?1:a.protocolRoot.localeCompare(b.protocolRoot,void 0,{numeric:!0,sensitivity:"base"}));for(let[a,b]of n)b.expiresAt<=d&&n.delete(a);for(;n.size>=20;){let a=n.keys().next().value;if(!a)break;n.delete(a)}return n.set(c,{repositories:h,expiresAt:d+3e4}),h})();o.set(c,h);try{return await h}finally{o.get(c)===h&&o.delete(c)}}function z(a,b){let c=[],d=0;for(let e=0;e<b;e+=1){let b=a.indexOf(" ",d);if(b<0)return null;c.push(a.slice(d,b)),d=b+1}let e=a.slice(d);return e?{fields:c,path:e}:null}function A(a){switch(a){case".":case" ":return null;case"A":case"C":return"added";case"M":case"T":return"modified";case"D":return"deleted";case"R":return"renamed";case"U":return"unmerged";case"?":return"untracked";default:throw new h("read-failed",`无法识别 Git 文件状态:${a}`)}}function B(a,b,c){if(2!==b.length)throw new h("read-failed",`无法识别 Git XY 状态:${b}`);return{path:a,oldPath:c,indexStatus:A(b[0]),worktreeStatus:A(b[1])}}async function C(a,b){let c=await l(a.absoluteRoot,["status","--porcelain=v2","-z","--branch","--renames","--untracked-files=all"]);if(0!==c.code){let a=r(c.stderr)||`Git 退出码 ${String(c.code)}`;throw new h("read-failed",s("读取 Git 状态",c),(0,f.J8)(`读取 Git 状态失败:${a}`,`Could not read Git status: ${a}`))}let d=function(a){let b=a.split("\0"),c=null,d=null,e=[];for(let a=0;a<b.length;a+=1){let f=b[a];if(f){if(f.startsWith("# branch.head ")){let a=f.slice(14);c="(detached)"===a?null:a;continue}if(f.startsWith("# branch.oid ")){let a=f.slice(13);d="(initial)"===a?null:a;continue}if(!f.startsWith("# ")){if(f.startsWith("? ")){e.push({path:f.slice(2),oldPath:null,indexStatus:null,worktreeStatus:"untracked"});continue}if(!f.startsWith("! ")){if(f.startsWith("1 ")){let a=z(f,8);if(!a)throw new h("read-failed","Git 状态记录格式无效");e.push(B(a.path,a.fields[1],null));continue}if(f.startsWith("2 ")){let c=z(f,9),d=b[a+1];if(!c||!d)throw new h("read-failed","Git 重命名状态记录格式无效");a+=1,e.push(B(c.path,c.fields[1],d));continue}if(f.startsWith("u ")){let a=z(f,10);if(!a)throw new h("read-failed","Git 冲突状态记录格式无效");e.push({path:a.path,oldPath:null,indexStatus:"unmerged",worktreeStatus:"unmerged"});continue}throw new h("read-failed","Git 返回了不支持的状态记录")}}}}return{head:c?{type:"branch",name:c}:d&&/^[0-9a-f]{40,64}$/.test(d)?{type:"detached",commit:d}:{type:"branch",name:"HEAD"},changes:e.sort((a,b)=>a.path.localeCompare(b.path))}}(c.stdout),e=b.filter(b=>b.absoluteRoot!==a.absoluteRoot&&(0,g.C)(a.absoluteRoot,b.absoluteRoot)).map(b=>q(a.absoluteRoot,b.absoluteRoot)).filter(Boolean),j=d.changes.filter(a=>{var b;return b=a.path,!e.some(a=>b===a||b.startsWith(`${a}/`))});if(j.length>i.vZ)throw new h("scan-limit","仓库变更文件超过 50000 个",(0,f.J8)("仓库变更文件超过 50000 个","Repository changes exceed 50,000 files"));return{root:a.protocolRoot,state:"ready",head:d.head,changes:j}}async function D(a,b){let c,f=await u(a);if(b.includes("/"))throw new h("not-repository","只支持项目根目录及其直接子目录中的 Git 仓库");let i=b?(0,e.resolve)(f,...b.split("/")):f;if(!(0,g.C)(f,i))throw new h("outside-project","Git 仓库不在当前项目目录内");try{c=await (0,d.realpath)(i)}catch{throw new h("not-repository","Git 仓库不存在")}if(!(0,g.C)(f,c))throw new h("outside-project","Git 仓库不在当前项目目录内");let j=await l(c,["rev-parse","--show-toplevel"]);if(0!==j.code||!j.stdout.trim())throw new h("not-repository","目标目录不是 Git 仓库");try{let a=await (0,d.realpath)(j.stdout.trim());if((0,g.b)(a)!==(0,g.b)(c))throw new h("not-repository","目标目录不是 Git 仓库根目录")}catch(a){if(a instanceof h)throw a;throw new h("not-repository","Git 仓库根目录无效")}return{absoluteRoot:c,protocolRoot:q(f,c)}}async function E(a,b){let c="local"===b.type?`refs/heads/${b.name}`:`refs/remotes/${b.name}`;if(0!==(await l(a,["show-ref","--verify","--quiet",c])).code)throw new h("invalid-ref",`${"local"===b.type?"本地":"远程"}分支不存在:${b.name}`);return b.name}async function F(a,b){if(0!==(await l(a,["check-ref-format","--branch",b])).code)throw new h("invalid-ref",`分支名称无效:${b}`);if(0===(await l(a,["show-ref","--verify","--quiet",`refs/heads/${b}`])).code)throw new h("invalid-ref",`本地分支已经存在:${b}`)}async function G(a,b){let c=(0,g.b)(a),d=p.get(c)??Promise.resolve(),e=()=>void 0,f=new Promise(a=>{e=a}),h=d.catch(()=>void 0).then(()=>f);p.set(c,h),await d.catch(()=>void 0);try{return await b()}finally{e(),p.get(c)===h&&p.delete(c)}}async function H(a,b){return C(b,await y(a))}async function I(a,b,c){let d=await D(a,b);return G(d.absoluteRoot,async()=>{let b=await E(d.absoluteRoot,c),e="local"===c.type?["switch",b]:["switch","--track",b],f=await l(d.absoluteRoot,e,{timeout:12e4,readOnly:!1});if(0!==f.code)throw new h("operation-failed",s("切换 Git 分支",f));return H(a,d)})}async function J(a,b,c,d){let e=await D(a,b);return G(e.absoluteRoot,async()=>{await F(e.absoluteRoot,c);let b=d?await E(e.absoluteRoot,d):null,f=await l(e.absoluteRoot,b?["switch","-c",c,b]:["switch","-c",c],{timeout:12e4,readOnly:!1});if(0!==f.code)throw new h("operation-failed",s("新建 Git 分支",f));return H(a,e)})}},41743:(a,b,c)=>{c.d(b,{AA:()=>p,C3:()=>j,ER:()=>m,Kx:()=>i,MT:()=>l,MY:()=>q,TO:()=>n,_A:()=>k,eW:()=>g,ik:()=>h,jw:()=>o,kg:()=>r});var d=c(36153),e=c(78143),f=c(75106);let g=d.Yj().trim().min(1),h=e.m4,i=e.$E,j=e.Rv,k=d.Yj().trim().min(1),l=d.ai().int().nonnegative(),m=d.Ik({workId:g,cwd:h,sessionId:i}).strict(),n=d.YO(m),o=d.k5(["main_running","background_running","completed","idle"]),p=d.Ik({user:d.ai().int().nonnegative(),total:d.ai().int().nonnegative()}).strict().refine(a=>a.user<=a.total,{message:"user message count cannot exceed total message count"}),q=m.extend({branchId:k,projectName:d.Yj().trim().min(1),sessionTitle:d.Yj().trim().min(1).nullable(),status:o,messageCounts:p,lastMessageUpdatedAt:f.k.nullable()}).strict(),r=d.Ik({workSessions:d.YO(q),pinnedCount:l}).strict().refine(a=>a.pinnedCount<=a.workSessions.length,{message:"pinnedCount cannot exceed work session count",path:["pinnedCount"]});d.Ik({cwd:h,sessionId:i.optional()}).strict(),d.Ik({workSession:q}).strict(),d.Ik({workId:g}).strict(),d.Ik({workIds:d.YO(g),pinnedCount:l}).strict().superRefine((a,b)=>{new Set(a.workIds).size!==a.workIds.length&&b.addIssue({code:"custom",message:"workIds cannot contain duplicates",path:["workIds"]}),a.pinnedCount>a.workIds.length&&b.addIssue({code:"custom",message:"pinnedCount cannot exceed workIds length",path:["pinnedCount"]})}),d.KC([d.Ik({workId:g,cwd:h,sessionId:i}).strict(),d.Ik({workId:g}).strict()])},42035:(a,b,c)=>{c.d(b,{LO:()=>d.L,Nb:()=>e.Nb,O0:()=>e.O0,Sl:()=>e.Sl,k0:()=>e.k0}),c(63603),c(59214);var d=c(48180),e=c(80159)},42118:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{mH:()=>i,tE:()=>k,uS:()=>j});var e=c(51455),f=c(75430),g=c(60161),h=a([f]);async function i(a){let b=await (0,e.readFile)(a,"utf8"),c=(0,f.parseSessionEntries)(b),d=c[0];if(!d||"session"!==d.type||!d.id||!d.cwd)throw Error(`Pi session file has an invalid header: ${a}`);let h=c.slice(1).filter(a=>"session"!==a.type),i=function(a){let b=a.at(-1);if(!b)return[];let c=new Map(a.map(a=>[a.id,a])),d=[],e=new Set,f=b;for(;f;){if(e.has(f.id))throw Error(`Pi session parent cycle detected: ${f.id}`);e.add(f.id),d.push(f),f=f.parentId?c.get(f.parentId):void 0}return d.reverse()}(h);return{header:d,branch:i,entries:(0,g.xm)(i),truncated:!1}}async function j(a,b){let c=await i(a),d=c.branch.findIndex(a=>a.id===b);if(d<0)throw Error(`Pi session entry is not on the current branch: ${b}`);let e=(0,g.xm)(c.branch.slice(0,d+1)).at(-1);if(!e||e.entryId!==b)throw Error(`Pi session entry is not a visible message: ${b}`);return{snapshot:c,entry:c.branch[d],projected:e}}async function k(a,b,c){if(!Number.isSafeInteger(c)||c<0)throw Error("图片位置无效");let{entry:d}=await j(a,b);if("message"!==d.type||"user"!==d.message.role&&"toolResult"!==d.message.role)throw Error(`Pi session entry has no message images: ${b}`);let e=(0,g.Wl)(d.message.content,c);if(!e)throw Error(`Pi message image was not found: ${b}/${c}`);return e}f=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},43520:(a,b,c)=>{c.d(b,{L6:()=>e,k_:()=>f});var d=c(87048);let e={extensionMode:"normal",presentationMode:"normal",initializationError:null,queues:{steering:[],followUp:[]},model:null,capabilityMode:null,contextUsage:null,plugins:{}};function f(a,b){if("session_sync"===b.type){if("full"===b.mode)return{...(0,d.zR)(a,b.messages,b.temporaryMessages),runtime:b.runtime};let c=a.messages.at(-1);if(!c||c.location.index!==b.baseCursor.index||c.location.entryId!==b.baseCursor.entryId)throw Error("Incremental chat sync does not match the current durable cursor");let e=new Set(a.messages.map(a=>a.location.entryId));for(let a of b.messages){if(e.has(a.location.entryId))throw Error(`Incremental chat sync contains a duplicate entryId: ${a.location.entryId}`);e.add(a.location.entryId)}return{messages:[...a.messages,...b.messages],temporaryMessages:b.temporaryMessages,runtime:b.runtime}}return"runtime_update"===b.type?{...a,runtime:b.runtime}:{...(0,d.kn)(a,b),runtime:a.runtime}}Object.freeze({messages:[],temporaryMessages:[],runtime:e})},44164:(a,b,c)=>{c.d(b,{H:()=>g});var d=c(75278);function e(a,b){return JSON.stringify(a)===JSON.stringify(b)}function f(a,b,c,d,f){for(let g of new Set([...Object.keys(b),...Object.keys(c)])){let h=b[g],i=Object.hasOwn(c,g),j=i?c[g]:null;if(e(h,j))continue;let k=i?function(a,b){if("string"==typeof a&&"string"==typeof b&&b.startsWith(a))return b.slice(a.length)||null;if(Array.isArray(a)&&Array.isArray(b)&&a.length<=b.length&&a.every((a,c)=>e(a,b[c]))){let c=b.slice(a.length);return c.length>0?c:null}return null}(h,j):null;null!==k?f[`${a}.${g.replace(/\\/g,"\\\\").replace(/\./g,"\\.")}`]=k:d[g]=j}}function g(a,b){var c,e;let g;if(a.fixed.type!==b.fixed.type)throw Error(`Chat message type changed: ${a.fixed.type}/${b.fixed.type}`);let h=(g={},a.fixed.viewKey!==b.fixed.viewKey&&(g.viewKey=b.fixed.viewKey),"status"in a.fixed&&"status"in b.fixed&&a.fixed.status!==b.fixed.status&&(g.status=b.fixed.status),a.fixed.hasDetail!==b.fixed.hasDetail&&(g.hasDetail=b.fixed.hasDetail),"usage"in a.fixed&&"usage"in b.fixed&&(c=a.fixed.usage)!==(e=b.fixed.usage)&&(null===c||null===e||c.inputTokens!==e.inputTokens||c.outputTokens!==e.outputTokens||c.cacheReadTokens!==e.cacheReadTokens||c.costUsd!==e.costUsd)&&(g.usage=b.fixed.usage),Object.keys(g).length>0?g:void 0),i={},j={},k={};f("summary",a.summary,b.summary,i,k),b.fixed.hasDetail&&f("detail",a.detail??{},b.detail??{},j,k);let l=Object.keys(i).length>0,m=Object.keys(j).length>0,n=Object.keys(k).length>0;return h||l||m||n?d.ef.parse({type:"message_update",location:a.location,...h?{fixed:h}:{},...l?{summary:i}:{},...m?{detail:j}:{},...n?{increments:k}:{}}):null}},44937:(a,b,c)=>{c.d(b,{FF:()=>h,LK:()=>i});var d=c(36153),e=c(72497),f=c(62695);let g=d.Ik({name:d.Yj().trim().min(1),description:d.Yj(),parameters:e.Dz}).strict(),h=d.Ik({source:f.Pi}).strict(),i=d.Ik({systemPrompt:d.Yj(),tools:d.YO(g)}).strict()},45166:(a,b,c)=>{c.d(b,{Z:()=>i,f1:()=>j});let d=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/;class e extends Error{constructor(a){super(a),this.name="L4PiImageValidationError"}}function f(a,b){if(!Number.isSafeInteger(a)||a<=0)throw new e(`图片 ${b} 无效`);return a}let g=new Set([192,193,194,195,197,198,199,201,202,203,205,206,207]);function h(a,b){return a[b]|a[b+1]<<8|a[b+2]<<16}function i(a){if(!a||a.startsWith("data:")||!d.test(a))throw new e("图片 Base64 无效");let b=Buffer.from(a,"base64");if(0===b.length)throw new e("图片内容为空");let c=function(a){if(a.length>=8&&137===a[0]&&80===a[1]&&78===a[2]&&71===a[3]&&13===a[4]&&10===a[5]&&26===a[6]&&10===a[7])return"image/png";if(a.length>=3&&255===a[0]&&216===a[1]&&255===a[2])return"image/jpeg";if(a.length>=10&&["GIF87a","GIF89a"].includes(a.toString("ascii",0,6)))return"image/gif";if(a.length>=16&&"RIFF"===a.toString("ascii",0,4)&&"WEBP"===a.toString("ascii",8,12))return"image/webp";throw new e("图片格式不受支持")}(b);return{bytes:b,metadata:{mimeType:c,...function(a,b){switch(b){case"image/png":if(a.length<24||"IHDR"!==a.toString("ascii",12,16))throw new e("PNG 图片头无效");return{width:f(a.readUInt32BE(16),"宽度"),height:f(a.readUInt32BE(20),"高度")};case"image/jpeg":let c=2;for(;c+3<a.length;){for(;c<a.length&&255!==a[c];)c+=1;for(;c<a.length&&255===a[c];)c+=1;if(c>=a.length)break;let b=a[c];if(c+=1,216===b||1===b||b>=208&&b<=215)continue;if(217===b||218===b||c+1>=a.length)break;let d=a.readUInt16BE(c);if(d<2||c+d>a.length)break;if(g.has(b)){if(d<7)break;return{width:f(a.readUInt16BE(c+5),"宽度"),height:f(a.readUInt16BE(c+3),"高度")}}c+=d}throw new e("JPEG 图片尺寸无效");case"image/gif":if(a.length<10)throw new e("GIF 图片头无效");return{width:f(a.readUInt16LE(6),"宽度"),height:f(a.readUInt16LE(8),"高度")};case"image/webp":return function(a){let b=a.toString("ascii",12,16);if("VP8X"===b){if(a.length<30)throw new e("WebP VP8X 图片头无效");return{width:f(h(a,24)+1,"宽度"),height:f(h(a,27)+1,"高度")}}if("VP8L"===b){if(a.length<25||47!==a[20])throw new e("WebP VP8L 图片头无效");let b=a[21],c=a[22],d=a[23],g=a[24];return{width:f(1+((63&c)<<8|b),"宽度"),height:f(1+((15&g)<<10|d<<2|(192&c)>>6),"高度")}}if("VP8 "===b){if(a.length<30||157!==a[23]||1!==a[24]||42!==a[25])throw new e("WebP VP8 图片头无效");return{width:f(16383&a.readUInt16LE(26),"宽度"),height:f(16383&a.readUInt16LE(28),"高度")}}throw new e("WebP 图片编码无效")}(a)}}(b,c)}}}function j(a){let b=i(a.data);if(b.metadata.mimeType!==a.mimeType)throw new e("图片 MIME 与实际内容不一致");if(b.metadata.width!==a.width||b.metadata.height!==a.height)throw new e("图片尺寸与实际内容不一致");return b}},45870:(a,b,c)=>{c.d(b,{H:()=>g,k:()=>h});var d=c(77598),e=c(57975),f=c(88277);class g extends Error{constructor(a,b){super(b),this.code=a,this.name="L4PiUiResponseError"}}class h{get hasPending(){return this.pending.size>0}snapshot(){return structuredClone(this.state)}subscribe(a){return this.listeners.add(a),()=>this.listeners.delete(a)}bind(a,b){let c=()=>{b()},d=(a,b)=>(c(),this.request(a,b));return{...a,select:async(a,b,c)=>await d({method:"select",title:a,options:b},c),confirm:async(a,b,c)=>await d({method:"confirm",title:a,message:b},c)===!0,input:async(a,b="",c)=>await d({method:"input",title:a,placeholder:b},c),editor:async(a,b="")=>await d({method:"editor",title:a,prefill:b}),notify:(a,b="info")=>{c(),this.active&&this.emit({type:"notify",message:(0,e.stripVTControlCharacters)(a).slice(0,65536),level:b})},setStatus:(a,b)=>{if(c(),!this.active)return;let d={...this.state.statuses};void 0===b?delete d[a]:d[a]=(0,e.stripVTControlCharacters)(b),this.replace({...this.state,statuses:d})},setWidget:(a,b,d)=>{if(c(),!this.active)return;if("function"==typeof b)return void this.emit({type:"notify",level:"warning",message:"该插件挂件需要终端界面,当前仅支持文本挂件。"});let f={...this.state.widgets};void 0===b?delete f[a]:f[a]={lines:b.map(e.stripVTControlCharacters),placement:d?.placement??"aboveEditor"},this.replace({...this.state,widgets:f})},setEditorText:a=>{c(),this.active&&this.emit({type:"editor_text",mode:"replace",text:a.slice(0,65536)})},pasteToEditor:a=>{c(),this.active&&this.emit({type:"editor_text",mode:"paste",text:a.slice(0,65536)})},custom:async()=>{throw c(),Error("当前界面不支持自定义终端组件,请使用插件提供的网页界面。")}}}respond(a){let b=this.pending.get(a.id);if(!b)throw new g(409,"问题已结束或已失效,请查看最新状态");let{request:c}=b;if(null!==c.expiresAt&&c.expiresAt<=Date.now())throw this.finish(a.id,void 0),new g(409,"问题已超时");if(null!==a.value){if("confirm"===c.method?"boolean"!=typeof a.value:"string"!=typeof a.value)throw new g(400,"回答类型不正确");if("select"===c.method&&!c.options.includes(a.value))throw new g(400,"选择的选项已无效")}this.finish(a.id,a.value??void 0)}cancelAll(){let a=[...this.pending.values()];for(let b of(this.pending.clear(),this.state={...this.state,requests:[]},a))b.cleanup();for(let b of(a.length>0&&(this.publishSnapshot(),console.info("[Pi Desk][NativeUI] 已取消待处理交互",{count:a.length})),a))b.resolve(void 0)}reset(a=!0){this.active=a,this.cancelAll(),this.state=(0,f.l3)(),this.publishSnapshot()}dispose(){this.reset(!1),this.listeners.clear()}async waitForOperation(a,b,c){let d,e=b,f=performance.now(),g=()=>void 0,h=new Promise((a,b)=>{g=b}),i=()=>{d&&(e-=performance.now()-f,clearTimeout(d),d=void 0),this.hasPending||(f=performance.now(),d=setTimeout(()=>g(c()),Math.max(0,e)))},j=this.subscribe(a=>{"snapshot"===a.type&&i()});i();try{return await Promise.race([a,h])}finally{d&&clearTimeout(d),j()}}request(a,b){if(!this.active||b?.signal?.aborted)return Promise.resolve(void 0);let c=f.WR.parse({...a,id:(0,d.randomUUID)(),expiresAt:b?.timeout===void 0?null:Date.now()+Math.max(0,b.timeout)}),e={...this.state,requests:[...this.state.requests,c]};return this.validate(e),new Promise(a=>{let d=()=>this.finish(c.id,void 0),f=null===c.expiresAt?void 0:setTimeout(d,Math.max(0,c.expiresAt-Date.now()));b?.signal?.addEventListener("abort",d,{once:!0}),this.pending.set(c.id,{request:c,resolve:a,cleanup:()=>{f&&clearTimeout(f),b?.signal?.removeEventListener("abort",d)}}),this.state=e,this.publishSnapshot()})}finish(a,b){let c=this.pending.get(a);c&&(this.pending.delete(a),c.cleanup(),this.state={...this.state,requests:this.state.requests.filter(b=>b.id!==a)},c.resolve(b),null===this.snapshotImmediate&&(this.snapshotImmediate=setImmediate(()=>{this.snapshotImmediate=null,this.publishSnapshot()})))}validate(a){if(f.P.parse(a),Object.keys(a.statuses).length>32||Object.keys(a.widgets).length>16||Buffer.byteLength(JSON.stringify(a),"utf8")>262144)throw Error("插件交互内容过多,请先清理已有状态或缩短内容")}replace(a){this.validate(a),this.state=a,this.publishSnapshot()}publishSnapshot(){null!==this.snapshotImmediate&&(clearImmediate(this.snapshotImmediate),this.snapshotImmediate=null),this.emit({type:"snapshot",snapshot:this.snapshot()})}emit(a){for(let b of this.listeners)try{b(a)}catch(a){console.error("[Pi Desk][NativeUI] 交互推送失败",{message:a instanceof Error?a.message:String(a)})}}constructor(){this.state=(0,f.l3)(),this.pending=new Map,this.listeners=new Set,this.active=!0,this.snapshotImmediate=null}}},47757:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{appendL4PiDeskSystemPrompt:()=>q,createL4PiDeskTool:()=>s,disposeL4PiDeskCommands:()=>p,executeL4PiDeskCommand:()=>r,initializeL4PiDeskCommands:()=>o});var e=c(51455),f=c(76760),g=c(75430),h=c(60815),i=c(17691),j=c(16056),k=c(55574),l=c(77167),m=a([g,h,i]);function n(a){return a.replaceAll("\\","/")}async function o(a,b=!1){let c=(0,g.getAgentDir)(),d=process.cwd(),h=JSON.parse(await (0,e.readFile)((0,f.join)(d,"package.json"),"utf8"));if(!h||"object"!=typeof h||!("version"in h)||"string"!=typeof h.version)throw Error("Pi Desk package.json 缺少版本号");let{createRequire:j}=process.getBuiltinModule("module"),k=(0,f.dirname)((0,f.dirname)(j((0,f.join)(d,"package.json")).resolve("@jetcrab/pi-desk-sdk"))),m=(0,f.join)(d,"docs","pi-desk");await Promise.all(["README.md","commands.md","plugins.md"].map(a=>(0,e.access)((0,f.join)(m,a)))),await (0,e.rm)((0,f.join)((0,i.M)(),b?"dev-skills":"skills","pi-desk"),{recursive:!0,force:!0});let p={handler:a,docsDirectory:m,systemPrompt:(0,l.O)({docsDirectory:n(m),sdkRoot:n(k)}),version:h.version,development:b,agentDir:c};globalThis.__piDeskCommandRuntime=p,console.info("[Pi Desk][Commands] 命令入口与系统资料导航已准备完成",{docsDirectory:m})}function p(){globalThis.__piDeskCommandRuntime=void 0}function q(a=[]){let b=globalThis.__piDeskCommandRuntime?.systemPrompt;return b?[...a,b]:[...a]}async function r(a,b){let c=globalThis.__piDeskCommandRuntime;if(!c)throw Error("Pi Desk 命令入口尚未准备完成");b.signal.throwIfAborted();let d=(0,k.h)(a);if("help"===d.kind)return{mode:"sync",message:d.message};if("version"===d.kind)return{mode:"sync",message:c.version};if("info"===d.kind)return{mode:"sync",message:JSON.stringify({version:c.version,environment:c.development?"development":"production",mode:(0,j.P)()?"basic":"normal",cwd:b.cwd,agentDir:c.agentDir,docsDirectory:c.docsDirectory})};if("session"===d.kind)return b.reload();if("plugins"!==d.kind)throw Error("Pi Desk 命令无效");return c.handler(d,b)}[g,h,i]=m.then?(await m)():m;let t=h.Type.Object({args:h.Type.Array(h.Type.String({minLength:1,maxLength:2048}),{maxItems:32})},{additionalProperties:!1});function s(a){return globalThis.__piDeskCommandRuntime?(0,g.defineTool)({name:"pidesk",exposure:"model-only",label:"Pi Desk",description:"Pi Desk 命令入口。",parameters:t,async execute(b,c){let d=await a(c.args,b),e=(0,g.truncateHead)(d.message),f={mode:d.mode,message:e.truncated?`${e.content}
25
+ `,"utf8"),(0,g.renameSync)(k,i)}catch(a){console.warn("[Pi Desk][PiSessionCatalog] 写入项目目录持久缓存失败",{path:i,errorName:a instanceof Error?a.name:"UnknownError"})}finally{(0,g.existsSync)(k)&&(0,g.unlinkSync)(k)}}(0,k.xt)(a)}function r(a){(0,k.xt)(a)}d()}catch(a){d(a)}})},38617:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{I:()=>j});var e=c(73024),f=c(76760),g=c(47757),h=c(75430),i=a([g,h]);[g,h]=i.then?(await i)():i;class k{constructor(a,b,c,d){this.cwd=a,this.agentDir=b,this.settings=c,this.createHostExtension=d,this.extensions={extensions:[],errors:[],runtime:(0,h.createExtensionRuntime)()},this.agentsFiles={agentsFiles:[]}}getExtensions(){return this.extensions}getSkills(){return{skills:[],diagnostics:[]}}getPrompts(){return{prompts:[],diagnostics:[]}}getThemes(){return{themes:[],diagnostics:[]}}getAgentsFiles(){return this.agentsFiles}getSystemPrompt(){return this.systemPrompt?.content}getSystemPromptSource(){return this.systemPrompt?{path:this.systemPrompt.path}:void 0}getAppendSystemPrompt(){return(0,g.appendL4PiDeskSystemPrompt)(this.appendPrompt?[this.appendPrompt.content]:[])}getAppendSystemPromptSources(){return this.appendPrompt?[{path:this.appendPrompt.path}]:[]}extendResources(){}async reload(){await this.settings.reload(),this.extensions={extensions:[this.createHostExtension()],errors:[],runtime:(0,h.createExtensionRuntime)()},this.agentsFiles={agentsFiles:(0,h.loadProjectContextFiles)({cwd:this.cwd,agentDir:this.agentDir})},this.systemPrompt=this.readPrompt("SYSTEM.md"),this.appendPrompt=this.readPrompt("APPEND_SYSTEM.md")}readPrompt(a){let b=[...this.settings.isProjectTrusted()?[(0,f.join)(this.cwd,h.CONFIG_DIR_NAME,a)]:[],(0,f.join)(this.agentDir,a)].find(a=>(0,e.existsSync)(a));return b?{path:b,content:(0,e.readFileSync)(b,"utf8")}:void 0}}async function j(a){let b=(0,h.getAgentDir)(),c=h.SettingsManager.create(a.cwd,b),d=await h.ModelRuntime.create({authPath:(0,f.join)(b,"auth.json"),modelsPath:(0,f.join)(b,"models.json")}),e=new k(a.cwd,b,c,a.createHostExtension);return await e.reload(),await d.refresh({allowNetwork:!1}),{cwd:a.cwd,agentDir:b,settingsManager:c,modelRuntime:d,resourceLoader:e,diagnostics:c.drainErrors().map(({error:a})=>({type:"error",message:a.message}))}}d()}catch(a){d(a)}})},40104:(a,b,c)=>{c.d(b,{bV:()=>J,Ak:()=>I});var d=c(51455),e=c(76760);c(27519);var f=c(76019),g=c(88134);class h extends Error{constructor(a,b,c){super(b),this.kind=a,this.localizedMessage=c,this.name="L4WorkSessionGitError"}}var i=c(11819),j=c(31421);let k={GIT_OPTIONAL_LOCKS:"0",GIT_NO_LAZY_FETCH:"1",GIT_TERMINAL_PROMPT:"0"};function l(a,b,c={}){return new Promise(d=>{(0,j.execFile)("git",["-C",a,...b],{encoding:"utf8",timeout:c.timeout??15e3,maxBuffer:0x4000000,windowsHide:!0,env:{...process.env,LC_ALL:"C",...!1===c.readOnly?{}:k}},(a,b,c)=>{d({code:"number"==typeof a?.code?a.code:a?null:0,stdout:String(b??""),stderr:String(c||(a instanceof Error?a.message:""))})})})}let m=new Set([".git","node_modules",".next","dist","build","coverage",".turbo"]),n=new Map,o=new Map,p=new Map;function q(a,b){return(0,e.relative)(a,b).split(e.sep).join("/")}function r(a){let b=a.trim().replaceAll(/\s+/g," ");return b.length>1600?`${b.slice(0,1597)}...`:b}function s(a,b){let c=r(b.stderr)||`Git 退出码 ${String(b.code)}`;return`${a}失败:${c}`}async function t(a,b,c){let d=Array(a.length),e=0;async function f(){for(;e<a.length;){let b=e;e+=1,d[b]=await c(a[b])}}return await Promise.all(Array.from({length:Math.min(b,a.length)},()=>f())),d}async function u(a){try{let b=await (0,d.realpath)(a);if(!(await (0,d.stat)(b)).isDirectory())throw new h("project-not-found","项目目录不存在");return b}catch(a){if(a instanceof h)throw a;throw new h("project-not-found","项目目录不存在")}}async function v(a){try{let b=await (0,d.stat)((0,e.join)(a,".git"));return b.isDirectory()||b.isFile()}catch{return!1}}async function w(a){let b;try{b=await (0,d.readdir)(a,{withFileTypes:!0})}catch{throw new h("read-failed","无法读取项目目录")}let c=[a,...b.filter(a=>a.isDirectory()&&!m.has(a.name)).map(b=>(0,e.resolve)(a,b.name))],f=(await t(c,32,async a=>await v(a)?a:null)).filter(a=>null!==a);if(f.length>i.y2)throw new h("scan-limit","项目中的 Git 仓库数量超过 100 个");return f}async function x(a,b){let c=await l(b,["rev-parse","--show-toplevel"]);if(0!==c.code||!c.stdout.trim()){let c=await (0,d.realpath)(b);return(0,g.C)(a,c)?{absoluteRoot:c,protocolRoot:q(a,c)}:null}try{let e=await (0,d.realpath)(c.stdout.trim());if(!(0,g.C)(a,e))return null;let f=await (0,d.realpath)(b);if((0,g.b)(f)!==(0,g.b)(e))return null;return{absoluteRoot:e,protocolRoot:q(a,e)}}catch{return null}}async function y(a){let b=await u(a),c=(0,g.b)(b),d=Date.now(),e=n.get(c);if(e&&e.expiresAt>d)return e.repositories;let f=o.get(c);if(f)return f;let h=(async()=>{let a=await w(b),e=await t(a,4,a=>x(b,a)),f=new Map;for(let a of e)a&&f.set((0,g.b)(a.absoluteRoot),a);let h=[...f.values()].sort((a,b)=>""===a.protocolRoot?-1:""===b.protocolRoot?1:a.protocolRoot.localeCompare(b.protocolRoot,void 0,{numeric:!0,sensitivity:"base"}));for(let[a,b]of n)b.expiresAt<=d&&n.delete(a);for(;n.size>=20;){let a=n.keys().next().value;if(!a)break;n.delete(a)}return n.set(c,{repositories:h,expiresAt:d+3e4}),h})();o.set(c,h);try{return await h}finally{o.get(c)===h&&o.delete(c)}}function z(a,b){let c=[],d=0;for(let e=0;e<b;e+=1){let b=a.indexOf(" ",d);if(b<0)return null;c.push(a.slice(d,b)),d=b+1}let e=a.slice(d);return e?{fields:c,path:e}:null}function A(a){switch(a){case".":case" ":return null;case"A":case"C":return"added";case"M":case"T":return"modified";case"D":return"deleted";case"R":return"renamed";case"U":return"unmerged";case"?":return"untracked";default:throw new h("read-failed",`无法识别 Git 文件状态:${a}`)}}function B(a,b,c){if(2!==b.length)throw new h("read-failed",`无法识别 Git XY 状态:${b}`);return{path:a,oldPath:c,indexStatus:A(b[0]),worktreeStatus:A(b[1])}}async function C(a,b){let c=await l(a.absoluteRoot,["status","--porcelain=v2","-z","--branch","--renames","--untracked-files=all"]);if(0!==c.code){let a=r(c.stderr)||`Git 退出码 ${String(c.code)}`;throw new h("read-failed",s("读取 Git 状态",c),(0,f.J8)(`读取 Git 状态失败:${a}`,`Could not read Git status: ${a}`))}let d=function(a){let b=a.split("\0"),c=null,d=null,e=[];for(let a=0;a<b.length;a+=1){let f=b[a];if(f){if(f.startsWith("# branch.head ")){let a=f.slice(14);c="(detached)"===a?null:a;continue}if(f.startsWith("# branch.oid ")){let a=f.slice(13);d="(initial)"===a?null:a;continue}if(!f.startsWith("# ")){if(f.startsWith("? ")){e.push({path:f.slice(2),oldPath:null,indexStatus:null,worktreeStatus:"untracked"});continue}if(!f.startsWith("! ")){if(f.startsWith("1 ")){let a=z(f,8);if(!a)throw new h("read-failed","Git 状态记录格式无效");e.push(B(a.path,a.fields[1],null));continue}if(f.startsWith("2 ")){let c=z(f,9),d=b[a+1];if(!c||!d)throw new h("read-failed","Git 重命名状态记录格式无效");a+=1,e.push(B(c.path,c.fields[1],d));continue}if(f.startsWith("u ")){let a=z(f,10);if(!a)throw new h("read-failed","Git 冲突状态记录格式无效");e.push({path:a.path,oldPath:null,indexStatus:"unmerged",worktreeStatus:"unmerged"});continue}throw new h("read-failed","Git 返回了不支持的状态记录")}}}}return{head:c?{type:"branch",name:c}:d&&/^[0-9a-f]{40,64}$/.test(d)?{type:"detached",commit:d}:{type:"branch",name:"HEAD"},changes:e.sort((a,b)=>a.path.localeCompare(b.path))}}(c.stdout),e=b.filter(b=>b.absoluteRoot!==a.absoluteRoot&&(0,g.C)(a.absoluteRoot,b.absoluteRoot)).map(b=>q(a.absoluteRoot,b.absoluteRoot)).filter(Boolean),j=d.changes.filter(a=>{var b;return b=a.path,!e.some(a=>b===a||b.startsWith(`${a}/`))});if(j.length>i.vZ)throw new h("scan-limit","仓库变更文件超过 50000 个",(0,f.J8)("仓库变更文件超过 50000 个","Repository changes exceed 50,000 files"));return{root:a.protocolRoot,state:"ready",head:d.head,changes:j}}async function D(a,b){let c,f=await u(a);if(b.includes("/"))throw new h("not-repository","只支持项目根目录及其直接子目录中的 Git 仓库");let i=b?(0,e.resolve)(f,...b.split("/")):f;if(!(0,g.C)(f,i))throw new h("outside-project","Git 仓库不在当前项目目录内");try{c=await (0,d.realpath)(i)}catch{throw new h("not-repository","Git 仓库不存在")}if(!(0,g.C)(f,c))throw new h("outside-project","Git 仓库不在当前项目目录内");let j=await l(c,["rev-parse","--show-toplevel"]);if(0!==j.code||!j.stdout.trim())throw new h("not-repository","目标目录不是 Git 仓库");try{let a=await (0,d.realpath)(j.stdout.trim());if((0,g.b)(a)!==(0,g.b)(c))throw new h("not-repository","目标目录不是 Git 仓库根目录")}catch(a){if(a instanceof h)throw a;throw new h("not-repository","Git 仓库根目录无效")}return{absoluteRoot:c,protocolRoot:q(f,c)}}async function E(a,b){let c="local"===b.type?`refs/heads/${b.name}`:`refs/remotes/${b.name}`;if(0!==(await l(a,["show-ref","--verify","--quiet",c])).code)throw new h("invalid-ref",`${"local"===b.type?"本地":"远程"}分支不存在:${b.name}`);return b.name}async function F(a,b){if(0!==(await l(a,["check-ref-format","--branch",b])).code)throw new h("invalid-ref",`分支名称无效:${b}`);if(0===(await l(a,["show-ref","--verify","--quiet",`refs/heads/${b}`])).code)throw new h("invalid-ref",`本地分支已经存在:${b}`)}async function G(a,b){let c=(0,g.b)(a),d=p.get(c)??Promise.resolve(),e=()=>void 0,f=new Promise(a=>{e=a}),h=d.catch(()=>void 0).then(()=>f);p.set(c,h),await d.catch(()=>void 0);try{return await b()}finally{e(),p.get(c)===h&&p.delete(c)}}async function H(a,b){return C(b,await y(a))}async function I(a,b,c){let d=await D(a,b);return G(d.absoluteRoot,async()=>{let b=await E(d.absoluteRoot,c),e="local"===c.type?["switch",b]:["switch","--track",b],f=await l(d.absoluteRoot,e,{timeout:12e4,readOnly:!1});if(0!==f.code)throw new h("operation-failed",s("切换 Git 分支",f));return H(a,d)})}async function J(a,b,c,d){let e=await D(a,b);return G(e.absoluteRoot,async()=>{await F(e.absoluteRoot,c);let b=d?await E(e.absoluteRoot,d):null,f=await l(e.absoluteRoot,b?["switch","-c",c,b]:["switch","-c",c],{timeout:12e4,readOnly:!1});if(0!==f.code)throw new h("operation-failed",s("新建 Git 分支",f));return H(a,e)})}},41743:(a,b,c)=>{c.d(b,{AA:()=>p,C3:()=>j,ER:()=>m,Kx:()=>i,MT:()=>l,MY:()=>q,TO:()=>n,_A:()=>k,eW:()=>g,ik:()=>h,jw:()=>o,kg:()=>r});var d=c(36153),e=c(78143),f=c(75106);let g=d.Yj().trim().min(1),h=e.m4,i=e.$E,j=e.Rv,k=d.Yj().trim().min(1),l=d.ai().int().nonnegative(),m=d.Ik({workId:g,cwd:h,sessionId:i}).strict(),n=d.YO(m),o=d.k5(["main_running","background_running","completed","idle"]),p=d.Ik({user:d.ai().int().nonnegative(),total:d.ai().int().nonnegative()}).strict().refine(a=>a.user<=a.total,{message:"user message count cannot exceed total message count"}),q=m.extend({branchId:k,projectName:d.Yj().trim().min(1),sessionTitle:d.Yj().trim().min(1).nullable(),status:o,messageCounts:p,lastMessageUpdatedAt:f.k.nullable()}).strict(),r=d.Ik({workSessions:d.YO(q),pinnedCount:l}).strict().refine(a=>a.pinnedCount<=a.workSessions.length,{message:"pinnedCount cannot exceed work session count",path:["pinnedCount"]});d.Ik({cwd:h,sessionId:i.optional()}).strict(),d.Ik({workSession:q}).strict(),d.Ik({workId:g}).strict(),d.Ik({workIds:d.YO(g),pinnedCount:l}).strict().superRefine((a,b)=>{new Set(a.workIds).size!==a.workIds.length&&b.addIssue({code:"custom",message:"workIds cannot contain duplicates",path:["workIds"]}),a.pinnedCount>a.workIds.length&&b.addIssue({code:"custom",message:"pinnedCount cannot exceed workIds length",path:["pinnedCount"]})}),d.KC([d.Ik({workId:g,cwd:h,sessionId:i}).strict(),d.Ik({workId:g}).strict()])},42035:(a,b,c)=>{c.d(b,{LO:()=>d.L,Nb:()=>e.Nb,O0:()=>e.O0,Sl:()=>e.Sl,k0:()=>e.k0}),c(63603),c(59214);var d=c(48180),e=c(80159)},42118:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{mH:()=>i,tE:()=>k,uS:()=>j});var e=c(51455),f=c(75430),g=c(60161),h=a([f]);async function i(a){let b=await (0,e.readFile)(a,"utf8"),c=(0,f.parseSessionEntries)(b),d=c[0];if(!d||"session"!==d.type||!d.id||!d.cwd)throw Error(`Pi session file has an invalid header: ${a}`);let h=c.slice(1).filter(a=>"session"!==a.type),i=function(a){let b=a.at(-1);if(!b)return[];let c=new Map(a.map(a=>[a.id,a])),d=[],e=new Set,f=b;for(;f;){if(e.has(f.id))throw Error(`Pi session parent cycle detected: ${f.id}`);e.add(f.id),d.push(f),f=f.parentId?c.get(f.parentId):void 0}return d.reverse()}(h);return{header:d,branch:i,entries:(0,g.xm)(i),truncated:!1}}async function j(a,b){let c=await i(a),d=c.branch.findIndex(a=>a.id===b);if(d<0)throw Error(`Pi session entry is not on the current branch: ${b}`);let e=(0,g.xm)(c.branch.slice(0,d+1)).at(-1);if(!e||e.entryId!==b)throw Error(`Pi session entry is not a visible message: ${b}`);return{snapshot:c,entry:c.branch[d],projected:e}}async function k(a,b,c){if(!Number.isSafeInteger(c)||c<0)throw Error("图片位置无效");let{entry:d}=await j(a,b);if("message"!==d.type||"user"!==d.message.role&&"toolResult"!==d.message.role)throw Error(`Pi session entry has no message images: ${b}`);let e=(0,g.Wl)(d.message.content,c);if(!e)throw Error(`Pi message image was not found: ${b}/${c}`);return e}f=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},43520:(a,b,c)=>{c.d(b,{L6:()=>e,k_:()=>f});var d=c(87048);let e={extensionMode:"normal",presentationMode:"normal",initializationError:null,queues:{steering:[],followUp:[]},model:null,capabilityMode:null,contextUsage:null,plugins:{}};function f(a,b){if("session_sync"===b.type){if("full"===b.mode)return{...(0,d.zR)(a,b.messages,b.temporaryMessages),runtime:b.runtime};let c=a.messages.at(-1);if(!c||c.location.index!==b.baseCursor.index||c.location.entryId!==b.baseCursor.entryId)throw Error("Incremental chat sync does not match the current durable cursor");let e=new Set(a.messages.map(a=>a.location.entryId));for(let a of b.messages){if(e.has(a.location.entryId))throw Error(`Incremental chat sync contains a duplicate entryId: ${a.location.entryId}`);e.add(a.location.entryId)}return{messages:[...a.messages,...b.messages],temporaryMessages:b.temporaryMessages,runtime:b.runtime}}return"runtime_update"===b.type?{...a,runtime:b.runtime}:{...(0,d.kn)(a,b),runtime:a.runtime}}Object.freeze({messages:[],temporaryMessages:[],runtime:e})},44164:(a,b,c)=>{c.d(b,{H:()=>g});var d=c(75278);function e(a,b){return JSON.stringify(a)===JSON.stringify(b)}function f(a,b,c,d,f){for(let g of new Set([...Object.keys(b),...Object.keys(c)])){let h=b[g],i=Object.hasOwn(c,g),j=i?c[g]:null;if(e(h,j))continue;let k=i?function(a,b){if("string"==typeof a&&"string"==typeof b&&b.startsWith(a))return b.slice(a.length)||null;if(Array.isArray(a)&&Array.isArray(b)&&a.length<=b.length&&a.every((a,c)=>e(a,b[c]))){let c=b.slice(a.length);return c.length>0?c:null}return null}(h,j):null;null!==k?f[`${a}.${g.replace(/\\/g,"\\\\").replace(/\./g,"\\.")}`]=k:d[g]=j}}function g(a,b){var c,e;let g;if(a.fixed.type!==b.fixed.type)throw Error(`Chat message type changed: ${a.fixed.type}/${b.fixed.type}`);let h=(g={},a.fixed.viewKey!==b.fixed.viewKey&&(g.viewKey=b.fixed.viewKey),"status"in a.fixed&&"status"in b.fixed&&a.fixed.status!==b.fixed.status&&(g.status=b.fixed.status),a.fixed.hasDetail!==b.fixed.hasDetail&&(g.hasDetail=b.fixed.hasDetail),"usage"in a.fixed&&"usage"in b.fixed&&(c=a.fixed.usage)!==(e=b.fixed.usage)&&(null===c||null===e||c.inputTokens!==e.inputTokens||c.outputTokens!==e.outputTokens||c.cacheReadTokens!==e.cacheReadTokens||c.costUsd!==e.costUsd)&&(g.usage=b.fixed.usage),Object.keys(g).length>0?g:void 0),i={},j={},k={};f("summary",a.summary,b.summary,i,k),b.fixed.hasDetail&&f("detail",a.detail??{},b.detail??{},j,k);let l=Object.keys(i).length>0,m=Object.keys(j).length>0,n=Object.keys(k).length>0;return h||l||m||n?d.ef.parse({type:"message_update",location:a.location,...h?{fixed:h}:{},...l?{summary:i}:{},...m?{detail:j}:{},...n?{increments:k}:{}}):null}},44937:(a,b,c)=>{c.d(b,{FF:()=>h,LK:()=>i});var d=c(36153),e=c(72497),f=c(62695);let g=d.Ik({name:d.Yj().trim().min(1),description:d.Yj(),parameters:e.Dz}).strict(),h=d.Ik({source:f.Pi}).strict(),i=d.Ik({systemPrompt:d.Yj(),tools:d.YO(g)}).strict()},45166:(a,b,c)=>{c.d(b,{Z:()=>i,f1:()=>j});let d=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/;class e extends Error{constructor(a){super(a),this.name="L4PiImageValidationError"}}function f(a,b){if(!Number.isSafeInteger(a)||a<=0)throw new e(`图片 ${b} 无效`);return a}let g=new Set([192,193,194,195,197,198,199,201,202,203,205,206,207]);function h(a,b){return a[b]|a[b+1]<<8|a[b+2]<<16}function i(a){if(!a||a.startsWith("data:")||!d.test(a))throw new e("图片 Base64 无效");let b=Buffer.from(a,"base64");if(0===b.length)throw new e("图片内容为空");let c=function(a){if(a.length>=8&&137===a[0]&&80===a[1]&&78===a[2]&&71===a[3]&&13===a[4]&&10===a[5]&&26===a[6]&&10===a[7])return"image/png";if(a.length>=3&&255===a[0]&&216===a[1]&&255===a[2])return"image/jpeg";if(a.length>=10&&["GIF87a","GIF89a"].includes(a.toString("ascii",0,6)))return"image/gif";if(a.length>=16&&"RIFF"===a.toString("ascii",0,4)&&"WEBP"===a.toString("ascii",8,12))return"image/webp";throw new e("图片格式不受支持")}(b);return{bytes:b,metadata:{mimeType:c,...function(a,b){switch(b){case"image/png":if(a.length<24||"IHDR"!==a.toString("ascii",12,16))throw new e("PNG 图片头无效");return{width:f(a.readUInt32BE(16),"宽度"),height:f(a.readUInt32BE(20),"高度")};case"image/jpeg":let c=2;for(;c+3<a.length;){for(;c<a.length&&255!==a[c];)c+=1;for(;c<a.length&&255===a[c];)c+=1;if(c>=a.length)break;let b=a[c];if(c+=1,216===b||1===b||b>=208&&b<=215)continue;if(217===b||218===b||c+1>=a.length)break;let d=a.readUInt16BE(c);if(d<2||c+d>a.length)break;if(g.has(b)){if(d<7)break;return{width:f(a.readUInt16BE(c+5),"宽度"),height:f(a.readUInt16BE(c+3),"高度")}}c+=d}throw new e("JPEG 图片尺寸无效");case"image/gif":if(a.length<10)throw new e("GIF 图片头无效");return{width:f(a.readUInt16LE(6),"宽度"),height:f(a.readUInt16LE(8),"高度")};case"image/webp":return function(a){let b=a.toString("ascii",12,16);if("VP8X"===b){if(a.length<30)throw new e("WebP VP8X 图片头无效");return{width:f(h(a,24)+1,"宽度"),height:f(h(a,27)+1,"高度")}}if("VP8L"===b){if(a.length<25||47!==a[20])throw new e("WebP VP8L 图片头无效");let b=a[21],c=a[22],d=a[23],g=a[24];return{width:f(1+((63&c)<<8|b),"宽度"),height:f(1+((15&g)<<10|d<<2|(192&c)>>6),"高度")}}if("VP8 "===b){if(a.length<30||157!==a[23]||1!==a[24]||42!==a[25])throw new e("WebP VP8 图片头无效");return{width:f(16383&a.readUInt16LE(26),"宽度"),height:f(16383&a.readUInt16LE(28),"高度")}}throw new e("WebP 图片编码无效")}(a)}}(b,c)}}}function j(a){let b=i(a.data);if(b.metadata.mimeType!==a.mimeType)throw new e("图片 MIME 与实际内容不一致");if(b.metadata.width!==a.width||b.metadata.height!==a.height)throw new e("图片尺寸与实际内容不一致");return b}},45870:(a,b,c)=>{c.d(b,{H:()=>g,k:()=>h});var d=c(77598),e=c(57975),f=c(88277);class g extends Error{constructor(a,b){super(b),this.code=a,this.name="L4PiUiResponseError"}}class h{get hasPending(){return this.pending.size>0}snapshot(){return structuredClone(this.state)}subscribe(a){return this.listeners.add(a),()=>this.listeners.delete(a)}bind(a,b){let c=()=>{b()},d=(a,b)=>(c(),this.request(a,b));return{...a,select:async(a,b,c)=>await d({method:"select",title:a,options:b},c),confirm:async(a,b,c)=>await d({method:"confirm",title:a,message:b},c)===!0,input:async(a,b="",c)=>await d({method:"input",title:a,placeholder:b},c),editor:async(a,b="")=>await d({method:"editor",title:a,prefill:b}),notify:(a,b="info")=>{c(),this.active&&this.emit({type:"notify",message:(0,e.stripVTControlCharacters)(a).slice(0,65536),level:b})},setStatus:(a,b)=>{if(c(),!this.active)return;let d={...this.state.statuses};void 0===b?delete d[a]:d[a]=(0,e.stripVTControlCharacters)(b),this.replace({...this.state,statuses:d})},setWidget:(a,b,d)=>{if(c(),!this.active)return;if("function"==typeof b)return void this.emit({type:"notify",level:"warning",message:"该插件挂件需要终端界面,当前仅支持文本挂件。"});let f={...this.state.widgets};void 0===b?delete f[a]:f[a]={lines:b.map(e.stripVTControlCharacters),placement:d?.placement??"aboveEditor"},this.replace({...this.state,widgets:f})},setEditorText:a=>{c(),this.active&&this.emit({type:"editor_text",mode:"replace",text:a.slice(0,65536)})},pasteToEditor:a=>{c(),this.active&&this.emit({type:"editor_text",mode:"paste",text:a.slice(0,65536)})},custom:async()=>{throw c(),Error("当前界面不支持自定义终端组件,请使用插件提供的网页界面。")}}}respond(a){let b=this.pending.get(a.id);if(!b)throw new g(409,"问题已结束或已失效,请查看最新状态");let{request:c}=b;if(null!==c.expiresAt&&c.expiresAt<=Date.now())throw this.finish(a.id,void 0),new g(409,"问题已超时");if(null!==a.value){if("confirm"===c.method?"boolean"!=typeof a.value:"string"!=typeof a.value)throw new g(400,"回答类型不正确");if("select"===c.method&&!c.options.includes(a.value))throw new g(400,"选择的选项已无效")}this.finish(a.id,a.value??void 0)}cancelAll(){let a=[...this.pending.values()];for(let b of(this.pending.clear(),this.state={...this.state,requests:[]},a))b.cleanup();for(let b of(a.length>0&&(this.publishSnapshot(),console.info("[Pi Desk][NativeUI] 已取消待处理交互",{count:a.length})),a))b.resolve(void 0)}reset(a=!0){this.active=a,this.cancelAll(),this.state=(0,f.l3)(),this.publishSnapshot()}dispose(){this.reset(!1),this.listeners.clear()}async waitForOperation(a,b,c){let d,e=b,f=performance.now(),g=()=>void 0,h=new Promise((a,b)=>{g=b}),i=()=>{d&&(e-=performance.now()-f,clearTimeout(d),d=void 0),this.hasPending||(f=performance.now(),d=setTimeout(()=>g(c()),Math.max(0,e)))},j=this.subscribe(a=>{"snapshot"===a.type&&i()});i();try{return await Promise.race([a,h])}finally{d&&clearTimeout(d),j()}}request(a,b){if(!this.active||b?.signal?.aborted)return Promise.resolve(void 0);let c=f.WR.parse({...a,id:(0,d.randomUUID)(),expiresAt:b?.timeout===void 0?null:Date.now()+Math.max(0,b.timeout)}),e={...this.state,requests:[...this.state.requests,c]};return this.validate(e),new Promise(a=>{let d=()=>this.finish(c.id,void 0),f=null===c.expiresAt?void 0:setTimeout(d,Math.max(0,c.expiresAt-Date.now()));b?.signal?.addEventListener("abort",d,{once:!0}),this.pending.set(c.id,{request:c,resolve:a,cleanup:()=>{f&&clearTimeout(f),b?.signal?.removeEventListener("abort",d)}}),this.state=e,this.publishSnapshot()})}finish(a,b){let c=this.pending.get(a);c&&(this.pending.delete(a),c.cleanup(),this.state={...this.state,requests:this.state.requests.filter(b=>b.id!==a)},c.resolve(b),null===this.snapshotImmediate&&(this.snapshotImmediate=setImmediate(()=>{this.snapshotImmediate=null,this.publishSnapshot()})))}validate(a){if(f.P.parse(a),Object.keys(a.statuses).length>32||Object.keys(a.widgets).length>16||Buffer.byteLength(JSON.stringify(a),"utf8")>262144)throw Error("插件交互内容过多,请先清理已有状态或缩短内容")}replace(a){this.validate(a),this.state=a,this.publishSnapshot()}publishSnapshot(){null!==this.snapshotImmediate&&(clearImmediate(this.snapshotImmediate),this.snapshotImmediate=null),this.emit({type:"snapshot",snapshot:this.snapshot()})}emit(a){for(let b of this.listeners)try{b(a)}catch(a){console.error("[Pi Desk][NativeUI] 交互推送失败",{message:a instanceof Error?a.message:String(a)})}}constructor(){this.state=(0,f.l3)(),this.pending=new Map,this.listeners=new Set,this.active=!0,this.snapshotImmediate=null}}},47757:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{appendL4PiDeskSystemPrompt:()=>q,createL4PiDeskTool:()=>s,disposeL4PiDeskCommands:()=>p,executeL4PiDeskCommand:()=>r,initializeL4PiDeskCommands:()=>o});var e=c(51455),f=c(76760),g=c(75430),h=c(60815),i=c(17691),j=c(16056),k=c(55574),l=c(77167),m=a([g,h,i]);function n(a){return a.replaceAll("\\","/")}async function o(a,b=!1){let c=(0,g.getAgentDir)(),d=process.cwd(),h=JSON.parse(await (0,e.readFile)((0,f.join)(d,"package.json"),"utf8"));if(!h||"object"!=typeof h||!("version"in h)||"string"!=typeof h.version)throw Error("Pi Desk package.json 缺少版本号");let{createRequire:j}=process.getBuiltinModule("module"),k=(0,f.dirname)((0,f.dirname)(j((0,f.join)(d,"package.json")).resolve("@jetcrab/pi-desk-sdk"))),m=(0,f.join)(d,"docs");await Promise.all(["README.md","commands.md","plugins.md"].map(a=>(0,e.access)((0,f.join)(m,a)))),await (0,e.rm)((0,f.join)((0,i.M)(),b?"dev-skills":"skills","pi-desk"),{recursive:!0,force:!0});let p={handler:a,docsDirectory:m,systemPrompt:(0,l.O)({docsDirectory:n(m),sdkRoot:n(k)}),version:h.version,development:b,agentDir:c};globalThis.__piDeskCommandRuntime=p,console.info("[Pi Desk][Commands] 命令入口与系统资料导航已准备完成",{docsDirectory:m})}function p(){globalThis.__piDeskCommandRuntime=void 0}function q(a=[]){let b=globalThis.__piDeskCommandRuntime?.systemPrompt;return b?[...a,b]:[...a]}async function r(a,b){let c=globalThis.__piDeskCommandRuntime;if(!c)throw Error("Pi Desk 命令入口尚未准备完成");b.signal.throwIfAborted();let d=(0,k.h)(a);if("help"===d.kind)return{mode:"sync",message:d.message};if("version"===d.kind)return{mode:"sync",message:c.version};if("info"===d.kind)return{mode:"sync",message:JSON.stringify({version:c.version,environment:c.development?"development":"production",mode:(0,j.P)()?"basic":"normal",cwd:b.cwd,agentDir:c.agentDir,docsDirectory:c.docsDirectory})};if("session"===d.kind)return b.reload();if("plugins"!==d.kind)throw Error("Pi Desk 命令无效");return c.handler(d,b)}[g,h,i]=m.then?(await m)():m;let t=h.Type.Object({args:h.Type.Array(h.Type.String({minLength:1,maxLength:2048}),{maxItems:32})},{additionalProperties:!1});function s(a){return globalThis.__piDeskCommandRuntime?(0,g.defineTool)({name:"pidesk",exposure:"model-only",label:"Pi Desk",description:"Pi Desk 命令入口。",parameters:t,async execute(b,c){let d=await a(c.args,b),e=(0,g.truncateHead)(d.message),f={mode:d.mode,message:e.truncated?`${e.content}
26
26
  …结果过长,已截断。`:d.message};return{content:[{type:"text",text:JSON.stringify(f)}],details:f}}}):null}d()}catch(a){d(a)}})},48180:(a,b,c)=>{c.d(b,{L:()=>d});function d(a){if(!(a instanceof Error)||"PiDeskPluginMethodError"!==a.name)return!1;let b=a.code;return 400===b||404===b||409===b}},48958:(a,b,c)=>{c.a(a,async(a,b)=>{try{var d=c(17691);c(77598),c(73024),c(76760);var e=c(75430),f=c(28802),g=a([d,e,f]);[d,e,f]=g.then?(await g)():g,b()}catch(a){b(a)}})},49240:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A:()=>l});var e=c(73024),f=c(76760),g=c(75430),h=c(26178),i=c(28802),j=a([g,h,i]);[g,h,i]=j.then?(await j)():j;let m=new Set(["off","minimal","low","medium","high","xhigh","max"]);function k(a,b){return`${a}\u0000${b}`}async function l(a,b=process.cwd()){let c=(0,g.getAgentDir)(),d=a?.modelRuntime??await g.ModelRuntime.create({authPath:(0,f.join)(c,"auth.json"),modelsPath:(0,f.join)(c,"models.json")}),j=a?.settingsManager??g.SettingsManager.create(b,c);await d.refresh({allowNetwork:!1});let n=j.getEnabledModels(),o=n?.length?(await (0,g.resolveModelScopeWithDiagnostics)(n,d)).scopedModels.map(a=>a.model):[...await d.getAvailable()],p=new Map;for(let a of(0,h.oj)(o,d))p.set(k(a.provider,a.id),a);let q=[...p.values()].map(a=>({provider:a.provider,modelId:a.id,name:a.name,input:[...a.input],kind:d.getPhysicalModel(a.provider,a.id)?"physical":"virtual",contextWindow:a.contextWindow>0?a.contextWindow:null,thinkingLevels:[...(0,i.getSupportedThinkingLevels)(a)]})),r=new Map(q.map(a=>[k(a.provider,a.modelId),a])),s=[],t=0;for(let a of function(){let a=(0,f.join)((0,g.getAgentDir)(),"models.json");if(!(0,e.existsSync)(a))return[];try{let b=JSON.parse((0,e.readFileSync)(a,"utf8"));return Array.isArray(b.modelPresets)?b.modelPresets:[]}catch(b){return console.warn("[Pi Desk][PiModelCatalog] models.json 读取失败",{path:a,errorName:b instanceof Error?b.name:"UnknownError"}),[]}}()){if("string"!=typeof a.provider||!a.provider.trim()||"string"!=typeof a.modelId||!a.modelId.trim()||"string"!=typeof a.thinkingLevel||!m.has(a.thinkingLevel)||void 0!==a.color&&null!==a.color&&"string"!=typeof a.color){t+=1;continue}let b=a.thinkingLevel,c=r.get(k(a.provider,a.modelId));if(!c||!c.thinkingLevels.includes(b)){t+=1;continue}s.push({provider:a.provider,modelId:a.modelId,thinkingLevel:b,color:"string"==typeof a.color&&a.color.trim()?a.color:null})}return t>0&&console.warn("[Pi Desk][PiModelCatalog] 已忽略无效或不可用的模型预设",{cwd:a?.sessionManager.getCwd()??b,count:t}),{models:q,presets:s}}d()}catch(a){d(a)}})},53120:(a,b,c)=>{c.d(b,{Cn:()=>l,WJ:()=>n,g$:()=>m,i0:()=>i,iW:()=>k,u1:()=>j});var d=c(36153),e=c(75106),f=c(41743);let g=d.k5(["user","assistant","tool","bash","custom_message","compaction","branch_summary","custom","model_change","thinking_level_change","session_info","label"]),h=d.Ik({entryId:f.C3,parentEntryId:f.C3.nullable(),timestampMs:e.k,kind:g,preview:d.Yj(),label:d.Yj().trim().min(1).nullable()}).strict(),i=d.Ik({workId:f.eW,sessionId:f.Kx}).strict(),j=d.Ik({sessionId:f.Kx,leafEntryId:f.C3.nullable(),nodes:d.YO(h)}).strict().superRefine((a,b)=>{let c=new Set;for(let[d,e]of a.nodes.entries())c.has(e.entryId)&&b.addIssue({code:"custom",message:"work session tree entryId values must be unique",path:["nodes",d,"entryId"]}),c.add(e.entryId);null===a.leafEntryId||c.has(a.leafEntryId)||b.addIssue({code:"custom",message:"work session tree leafEntryId must reference a node",path:["leafEntryId"]})}),k=d.Ik({workId:f.eW,sessionId:f.Kx,entryId:f.C3}).strict(),l=d.Ik({entryId:f.C3,kind:g,content:d.Yj(),truncated:d.zM()}).strict();d.k5(["tree","fork","clone"]);let m=d.gM("action",[d.Ik({action:d.eu("tree"),workId:f.eW,sessionId:f.Kx,entryId:f.C3}).strict(),d.Ik({action:d.eu("fork"),workId:f.eW,sessionId:f.Kx,entryId:f.C3}).strict(),d.Ik({action:d.eu("clone"),workId:f.eW,sessionId:f.Kx}).strict()]),n=d.Ik({workSessions:d.YO(f.MY),pinnedCount:f.MT,targetWorkId:f.eW,editorText:d.Yj().nullable()}).strict().superRefine((a,b)=>{a.pinnedCount>a.workSessions.length&&b.addIssue({code:"custom",message:"pinnedCount cannot exceed work session count",path:["pinnedCount"]}),a.workSessions.some(b=>b.workId===a.targetWorkId)||b.addIssue({code:"custom",message:"targetWorkId must reference a returned work session",path:["targetWorkId"]})})},55490:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{dM:()=>o,nJ:()=>q,yO:()=>s});var e=c(44937),f=c(62695),g=c(43520),h=c(16056),i=c(6676),j=c(5340),k=c(33448),l=a([i,j,k]);[i,j,k]=l.then?(await l)():l;class o extends Error{constructor(a){super(`Chat source is not current: ${a.workId}/${a.sessionId}/${a.branchId}`),this.name="L2ChatSourceBindingError"}}class p extends Error{constructor(a){super(`Chat message was not found: ${a}`),this.name="L2ChatMessageNotFoundError"}}class q extends Error{constructor(a){super(`Chat commands are blocked by WorkSession lifecycle: ${a}`),this.name="L2ChatLifecycleBlockedError"}}class r extends Error{constructor(a,b){super(`工作会话 ${a} 阻止插件重载:${b}`),this.workId=a,this.reason=b,this.name="L2PluginReloadBlockedError"}}function m(a){try{return structuredClone(a)}catch{let{declaration:b,...c}=a;return structuredClone(c)}}function n(a,b){return JSON.stringify(a)===JSON.stringify(b)}class s{async initialize(a){let b=a.map(a=>this.buildRecord(a));for(let a of(this.recordsByWorkId.clear(),b))this.recordsByWorkId.set(a.source.workId,a)}addWorkSession(a){this.recordsByWorkId.set(a.workId,this.buildRecord(a))}async replaceWorkSession(a,b){let c=this.recordsByWorkId.get(a.workId)?.source;await this.closeRecord(a.workId),c&&this.publish({type:"source_invalidated",source:c}),this.recordsByWorkId.set(b.workId,this.buildRecord(b)),a.sessionId!==b.sessionId&&await (0,k.gb)(a.sessionId)}async refreshWorkSession(a){let b=this.recordsByWorkId.get(a.workId)?.source;await this.closeRecord(a.workId),b&&this.publish({type:"source_invalidated",source:b}),this.recordsByWorkId.set(a.workId,this.buildRecord(a))}async removeWorkSession(a){let b=this.recordsByWorkId.get(a.workId)?.source;await this.closeRecord(a.workId),b&&this.publish({type:"source_invalidated",source:b}),await (0,k.gb)(a.sessionId)}async pauseWorkSession(a){let b=this.recordsByWorkId.get(a);b&&(b.acceptingCommands=!1,(0,k.ls)(b.source.sessionId).nativeUi.cancelAll(),await b.commandTail)}resumeWorkSession(a){let b=this.recordsByWorkId.get(a);b&&(b.acceptingCommands=!0)}async pauseForProcessRestart(){let a=[...this.recordsByWorkId.values()],b=a.map(a=>({record:a,reason:this.pluginReloadBlockReason(a)})).find(a=>null!==a.reason);if(b?.reason)throw new r(b.record.source.workId,b.reason);for(let b of a)b.acceptingCommands=!1;await Promise.all(a.map(a=>a.commandTail));let c=a.map(a=>({record:a,reason:this.pluginReloadBlockReason(a)})).find(a=>null!==a.reason);if(c?.reason){for(let b of a)b.acceptingCommands=!0;throw new r(c.record.source.workId,c.reason)}let d=!0;return()=>{if(d)for(let b of(d=!1,a))this.recordsByWorkId.get(b.source.workId)===b&&(b.acceptingCommands=!0)}}metadataFor(a){return this.recordFor(a).metadata}statusFor(a){return this.statusForRecord(this.recordFor(a))}statusForRecord(a){return a.mainRunning?"main_running":a.backgroundTaskIds.size>0?"background_running":a.completedPending?"completed":"idle"}acknowledgeCompleted(a){let b=this.recordsByWorkId.get(a);if(!b||!b.completedPending)return!1;let c=this.statusForRecord(b);return b.completedPending=!1,this.publishRecordChanged(a,b.metadata,c),!0}isCurrentSource(a){let b=f.Pi.parse(a),c=this.recordsByWorkId.get(b.workId);return void 0!==c&&this.matches(c.source,b)}refreshPluginMessages(){for(let a of this.recordsByWorkId.values())if("basic"!==a.state.runtime.presentationMode)try{this.reprojectRecord(a,a.state.runtime.presentationMode)}catch(b){console.error("[Pi Desk][WorkSessionChatRuntime] 插件消息刷新失败,保留已有聊天",{workId:a.source.workId,message:b instanceof Error?b.message:String(b)})}}setPresentation(a,b){let c=this.currentRecord(a);return this.enqueueCommand(c,async()=>{if(((0,h.P)()||"basic"===c.state.runtime.extensionMode)&&"normal"===b)throw Error("基础模式不启用插件消息展示,请先恢复插件聊天");c.state.runtime.presentationMode!==b&&this.reprojectRecord(c,b)})}reprojectRecord(a,b){let c=(0,k.ls)(a.source.sessionId).readChatSnapshot(),d=new Map(c.entries.map(a=>[a.entryId,a])),e="basic"===b,f=a.state.messages.map(b=>{let c=d.get(b.location.entryId);if(!c)throw Error(`无法重新投影消息:${b.location.entryId}`);return(0,j.Cz)(b.location.index,c.entryId,c.timestampMs,c.message,a.source,e)}),g=a.state.temporaryMessages.map(b=>{let c=a.rawTemporaryMessages.get(b.location.tempId);if(!c)throw Error(`临时消息基线尚不可重投影:${b.location.tempId}`);return(0,j.QS)(b.location.tempId,c,a.source,!1,"update",e)});a.state={messages:f,temporaryMessages:g,runtime:{...a.state.runtime,presentationMode:b}},a.forceFullSync=!0,a.sourceEventVersion+=1,this.publish({type:"source_event",source:a.source,version:a.sourceEventVersion,event:this.createSync(a.source,null).event})}prepareSource(a){let b=this.currentRecord(a);return this.enqueueCommand(b,()=>this.syncRecordRuntime(b))}async syncRecordRuntime(a){let b=a.source,c=f.wf.parse({...await (0,k.ls)(b.sessionId).readChatRuntime(),presentationMode:a.state.runtime.presentationMode});this.isCurrentSource(b)&&(n(a.state.runtime,c)||this.applySourceEvent(b,{type:"runtime_update",runtime:c}),"basic"===c.extensionMode&&"basic"!==a.state.runtime.presentationMode&&this.reprojectRecord(a,"basic"))}createSync(a,b){let c=this.currentRecord(a),d=c.source,e=c.state.messages,f=c.state.temporaryMessages,g=c.state.runtime,h=null===b?void 0:e[b.index],i=null!==b&&h?.location.entryId===b.entryId;return null===b||i||console.warn("[Pi Desk][WorkSessionChatRuntime] 客户端消息 cursor 不匹配,回退全量",{workId:d.workId,sessionId:d.sessionId,branchId:d.branchId,clientCursorIndex:b.index,clientCursorEntryId:b.entryId,serverEntryIdAtIndex:h?.location.entryId??null,serverLatestIndex:e.at(-1)?.location.index??-1}),{event:null!==b&&i&&!c.forceFullSync?{type:"session_sync",mode:"incremental",baseCursor:b,messages:e.slice(b.index+1).map(j.NA),temporaryMessages:f,runtime:g}:{type:"session_sync",mode:"full",baseCursor:null,messages:e.map(j.NA),temporaryMessages:f,runtime:g},watermark:c.sourceEventVersion}}getImage(a){let b=f.kF.parse(a),c=this.recordForSession(b.sessionId,b.branchId),d=c.state.messages.find(a=>a.location.entryId===b.entryId);if(!d||"user"!==d.fixed.type&&"tool"!==d.fixed.type)throw new p(`${b.entryId}/${b.imageIndex}`);return f.mB.parse((0,k.ls)(c.source.sessionId).readChatImage(b.entryId,b.imageIndex))}getMessageDetail(a){let b=f.VK.parse(a),c=this.recordForSession(b.sessionId,b.branchId).state.messages.find(a=>a.location.entryId===b.entryId);if(!c)throw new p(b.entryId);return f.ps.parse({index:c.location.index,entryId:c.location.entryId,detail:c.detail??null})}getModelContext(a){let b=e.FF.parse(a),c=this.currentRecord(b.source);return this.enqueueCommand(c,async()=>e.LK.parse(await (0,k.ls)(c.source.sessionId).readModelContext()))}send(a){let b=this.currentRecord(a.source);if((0,k.ls)(a.source.sessionId).nativeUi.hasPending)return Promise.reject(Error("请先处理当前插件问题,或停止当前任务"));let c=()=>b.workSession.send({mode:a.mode,text:a.text,images:a.images});return b.compactionStart?b.acceptingCommands?b.compactionStart.then(a=>{if(!b.acceptingCommands)throw new q(b.source.workId);return a?c():this.enqueueCommand(b,c)}):Promise.reject(new q(b.source.workId)):this.enqueueCommand(b,c)}interrupt(a){let b=this.currentRecord(a);return(0,k.ls)(a.sessionId).nativeUi.hasPending?b.workSession.interrupt():this.enqueueCommand(b,()=>b.workSession.interrupt())}compact(a){let b,c=this.currentRecord(a);if(c.compactionStart)return Promise.reject(Error("上下文正在压缩"));let d=new Promise(a=>{b=a});c.compactionStart=d;let e=this.enqueueCommand(c,()=>{try{let a=(0,k.ls)(c.source.sessionId).compact();return b(!0),a}catch(a){throw b(!1),a}});return e.then(()=>{b(!1),c.compactionStart===d&&(c.compactionStart=null)},()=>{b(!1),c.compactionStart===d&&(c.compactionStart=null)}),e}reload(a,b){let c=this.currentRecord(a);return(0,k.ls)(a.sessionId).nativeUi.cancelAll(),this.enqueueCommand(c,async()=>{try{await (0,k.ls)(c.source.sessionId).reload(b)}finally{this.recordsByWorkId.get(a.workId)===c&&(await this.syncRecordRuntime(c),"basic"===c.state.runtime.extensionMode&&"basic"!==c.state.runtime.presentationMode&&this.reprojectRecord(c,"basic"))}})}restoreQueuedMessages(a){let b=this.currentRecord(a);return this.enqueueCommand(b,()=>b.workSession.restoreQueuedMessages())}setModel(a){let b=this.currentRecord(a.source);return this.enqueueCommand(b,()=>b.workSession.setModel(a.model))}setCapabilityMode(a){let b=this.currentRecord(a.source);return this.enqueueCommand(b,()=>(0,k.ls)(b.source.sessionId).setCapabilityMode(a.capabilityMode))}invokePluginMethod(a){let b=this.currentRecord(a.source);return this.enqueueCommand(b,()=>(0,k.ls)(b.source.sessionId).invokePluginMethod(b.source,a.pluginName,a.method,a.input))}listNativeCommands(a){let b=this.currentRecord(a);return this.enqueueCommand(b,()=>(0,k.ls)(b.source.sessionId).listNativeCommands())}executeNativeCommand(a,b,c){let d=this.currentRecord(a);return this.enqueueCommand(d,()=>(0,k.ls)(d.source.sessionId).executeNativeCommand(b,c))}listNativeTools(a){let b=this.currentRecord(a);return this.enqueueCommand(b,()=>(0,k.ls)(b.source.sessionId).listNativeTools())}executeDirectBash(a,b){let c=this.currentRecord(a);return c.directBashActive?Promise.reject(new i.yT):(c.directBashActive=!0,this.enqueueCommand(c,()=>(0,k.ls)(c.source.sessionId).executeDirectBash(b)).finally(()=>{c.directBashActive=!1}))}abortDirectBash(a){let b=this.currentRecord(a);return(0,k.ls)(b.source.sessionId).abortDirectBash()}subscribe(a){return this.listeners.add(a),()=>this.listeners.delete(a)}subscribeRecordChanges(a){return this.recordListeners.add(a),()=>this.recordListeners.delete(a)}subscribePluginPush(a){return this.pluginPushListeners.add(a),()=>this.pluginPushListeners.delete(a)}buildRecord(a){let b=this.sourceFor(a),c=(0,k.ls)(a.sessionId),d=c.readChatSnapshot(),e=d.entries.map((a,c)=>(0,j.Cz)(c,a.entryId,a.timestampMs,a.message,b,(0,h.P)())),i=f.oc.parse({messages:e,temporaryMessages:[],runtime:{...g.L6,extensionMode:(0,h.P)()?"basic":"normal",presentationMode:(0,h.P)()?"basic":"normal"}}),l=i.messages.find(a=>"user"===a.fixed.type),m=l?f.xE.safeParse(l.summary):null,n=m?.success&&m.data.text.trim()||null,o={workSession:a,source:b,state:i,sourceEventVersion:0,forceFullSync:(0,h.P)(),rawTemporaryMessages:new Map,metadata:{sessionTitle:d.sessionName??n,messageCounts:{user:i.messages.filter(a=>"user"===a.fixed.type).length,total:i.messages.length},lastMessageUpdatedAt:i.messages.at(-1)?.fixed.timestampMs??null},mainRunning:!1,backgroundTaskIds:new Set(c.readChatBackgroundTaskIds()),completedPending:!1,acceptingCommands:!0,directBashActive:!1,compactionStart:null,commandTail:Promise.resolve(),unsubscribeWorker:()=>void 0};return o.unsubscribeWorker=c.subscribeChat(a=>this.handleWorkerEvent(o,a)),o}handleWorkerEvent(a,b){if(this.recordsByWorkId.get(a.source.workId)!==a)return;let c=a.metadata,d=this.statusForRecord(a);switch(b.type){case"message_start":a.rawTemporaryMessages.set(b.tempId,m(b.message)),this.applySourceEvent(a.source,{type:"message_start",snapshot:(0,j.QS)(b.tempId,b.message,a.source,!1,"temporary","basic"===a.state.runtime.presentationMode)});return;case"message_update":{let c=a.state.temporaryMessages.find(a=>a.location.tempId===b.tempId);if(!c)throw Error(`Temporary chat message was not found: ${b.tempId}`);a.rawTemporaryMessages.set(b.tempId,m(b.message));let d=(0,j.Ht)(c,(0,j.QS)(b.tempId,b.message,a.source,!1,"update","basic"===a.state.runtime.presentationMode));d&&this.applySourceEvent(a.source,d);return}case"message_commit":{let c=a.state.temporaryMessages.find(a=>a.location.tempId===b.tempId);if(!c)throw Error(`Temporary chat message was not found: ${b.tempId}`);let d=(0,j.QS)(b.tempId,b.message,a.source,!1,"final","basic"===a.state.runtime.presentationMode),e=(0,j.Ht)(c,d);e&&this.applySourceEvent(a.source,e),this.replaceCanonicalTemporary(a,b.tempId,b.message),a.rawTemporaryMessages.delete(b.tempId),this.applySourceEvent(a.source,{type:"message_commit",location:{tempId:b.tempId},durable:{index:a.state.messages.length,entryId:b.entryId},fixed:{timestampMs:b.timestampMs}});return}case"message_discard":a.rawTemporaryMessages.delete(b.tempId),this.applySourceEvent(a.source,{type:"message_discard",location:{tempId:b.tempId}});return;case"plugin_push":this.publishPluginPush({pluginName:b.pluginName,target:{scope:"session",source:a.source},event:b.event,data:structuredClone(b.data)});return;case"runtime_changed":{let c=f.wf.parse({...b.runtime,presentationMode:a.state.runtime.presentationMode});n(a.state.runtime,c)||this.applySourceEvent(a.source,{type:"runtime_update",runtime:c}),"basic"===c.extensionMode&&"basic"!==a.state.runtime.presentationMode&&this.reprojectRecord(a,"basic");return}case"agent_started":if(a.mainRunning)return;a.mainRunning=!0,a.completedPending=!1,this.publishRecordChanged(a.source.workId,c,d);return;case"main_operation_cancelled":case"main_operation_finished":if(!a.mainRunning)return;a.mainRunning=!1,a.completedPending=!1,this.publishRecordChanged(a.source.workId,c,d);return;case"agent_settled":{let b=a.mainRunning||a.backgroundTaskIds.size>0;a.mainRunning=!1,b&&0===a.backgroundTaskIds.size&&(a.completedPending=!0),this.publishRecordChanged(a.source.workId,c,d);return}case"background_tasks_changed":{let e=a.mainRunning||a.backgroundTaskIds.size>0;a.backgroundTaskIds=new Set(b.taskIds),e&&!a.mainRunning&&0===a.backgroundTaskIds.size&&(a.completedPending=!0),this.publishRecordChanged(a.source.workId,c,d);return}case"session_info_changed":a.metadata={...a.metadata,sessionTitle:b.sessionTitle},this.publishRecordChanged(a.source.workId,c,d);return}}replaceCanonicalTemporary(a,b,c){let d=a.state.temporaryMessages.findIndex(a=>a.location.tempId===b);if(d<0)throw Error(`Temporary chat message was not found: ${b}`);let e=[...a.state.temporaryMessages];e[d]=(0,j.QS)(b,c,a.source,!0,"final","basic"===a.state.runtime.presentationMode),a.state={...a.state,temporaryMessages:e}}applySourceEvent(a,b){let c=this.currentRecord(a),d=c.source;if(c.state=(0,g.k_)(c.state,b),c.sourceEventVersion+=1,"message_commit"===b.type){let a=c.state.messages[b.durable.index];if(!a||a.location.entryId!==b.durable.entryId)throw Error(`Committed chat message is missing: ${b.durable.index}/${b.durable.entryId}`);let e=c.metadata;c.metadata=this.metadataFromState(c),this.publishRecordChanged(d.workId,e,this.statusForRecord(c))}this.publish({type:"source_event",source:d,version:c.sourceEventVersion,event:b})}metadataFromState(a){let b=a.state.messages.find(a=>"user"===a.fixed.type),c=b?f.xE.safeParse(b.summary):null,d=c?.success&&c.data.text.trim()||null;return{sessionTitle:a.metadata.sessionTitle??d,messageCounts:{user:a.state.messages.filter(a=>"user"===a.fixed.type).length,total:a.state.messages.length},lastMessageUpdatedAt:a.state.messages.at(-1)?.fixed.timestampMs??null}}enqueueCommand(a,b){if(!a.acceptingCommands)return Promise.reject(new q(a.source.workId));let c=a.commandTail.then(b,b);return a.commandTail=c.then(()=>void 0,()=>void 0),c}pluginReloadBlockReason(a){return(0,k.ls)(a.source.sessionId).nativeUi.hasPending?"原生插件问题正在等待回答":a.directBashActive?"Direct Bash 正在运行":a.mainRunning?"主 Agent 正在运行":a.backgroundTaskIds.size>0?"插件后台任务正在运行":(0,k.ls)(a.source.sessionId).readPluginReloadBlockReason()}async closeRecord(a){let b=this.recordsByWorkId.get(a);b&&(b.acceptingCommands=!1,(0,k.ls)(b.source.sessionId).nativeUi.cancelAll(),await b.commandTail,b.unsubscribeWorker(),b.rawTemporaryMessages.clear(),this.recordsByWorkId.delete(a))}recordFor(a){let b=this.recordsByWorkId.get(a.workId);if(!b||!this.matches(b.source,this.sourceFor(a)))throw Error(`WorkSession chat state is not initialized: ${a.workId}`);return b}sourceFor(a){return f.Pi.parse({workId:a.workId,sessionId:a.sessionId,branchId:a.branchId})}currentRecord(a){let b=f.Pi.parse(a),c=this.recordsByWorkId.get(b.workId);if(!c||!this.matches(c.source,b))throw new o(b);return c}recordForSession(a,b){let c=[...this.recordsByWorkId.values()].find(c=>c.source.sessionId===a&&c.source.branchId===b);if(c)return c;throw new o({workId:"unknown",sessionId:a,branchId:b})}matches(a,b){return a.workId===b.workId&&a.sessionId===b.sessionId&&a.branchId===b.branchId}publishPluginPush(a){for(let b of[...this.pluginPushListeners])try{b(a)}catch(b){console.error("[Pi Desk][WorkSessionChatRuntime] Plugin Push 监听器执行失败",{pluginName:a.pluginName,event:a.event,errorName:b instanceof Error?b.name:"UnknownError"})}}publish(a){for(let b of[...this.listeners])try{b(a)}catch(b){console.error("[Pi Desk][WorkSessionChatRuntime] Source 事件监听器执行失败",{eventType:a.type,workId:a.source.workId,errorName:b instanceof Error?b.name:"UnknownError"})}}publishRecordChanged(a,b,c){for(let d of[...this.recordListeners])try{d(a,b,c)}catch(b){console.error("[Pi Desk][WorkSessionChatRuntime] Record 监听器执行失败",{workId:a,errorName:b instanceof Error?b.name:"UnknownError"})}}constructor(){this.recordsByWorkId=new Map,this.listeners=new Set,this.recordListeners=new Set,this.pluginPushListeners=new Set}}d()}catch(a){d(a)}})},55574:(a,b,c)=>{c.d(b,{h:()=>g});let d=[{path:["--version"],description:"查看 Pi Desk 版本"},{path:["info"],description:"查看当前宿主环境与目录"},{path:["session","reload"],description:"等待当前会话空闲后重载 Pi 配置与已安装插件;完成后通知并唤醒本会话"},{path:["plugins","list"],description:"查看全局插件及维护状态;可按跟随渠道筛选并检查更新,不改变渠道",scope:"optional",tag:!0,checkUpdates:!0},{path:["plugins","show"],description:"查看插件详情",name:"single",scope:"required"},{path:["plugins","install"],description:"安装、更新或重新安装一个或多个插件;版本可省略,完成后向本会话汇总结果",name:"multiple",scope:"required",version:!0,tag:!0},{path:["plugins","reload"],description:"重新加载一个或多个已安装插件;不下载、不重启宿主,不重载已有 Pi 会话;完成后向本会话汇总结果",name:"multiple",scope:"required"},{path:["plugins","remove"],description:"卸载一个或多个包来源;完成后向本会话汇总结果",name:"multiple",scope:"required"}];function e(a){return["pidesk",...a.path,...a.name?["multiple"===a.name?"<name...>":"<name>"]:[],..."required"===a.scope?["--scope global"]:a.scope?["[--scope global]"]:[],...a.checkUpdates?["[--check-updates]"]:[],...a.version?["[--tag <tag> | --version <exact>]"]:a.tag?["[--tag <tag>]"]:[]].join(" ")}function f(a){let b=d.filter(b=>a.every((a,c)=>b.path[c]===a));if(0===b.length)throw Error("未知命令,请使用 pidesk --help");return[...b.map(a=>`${e(a)}
27
27
  ${a.description}`),"各级命令均支持 --help。当前插件管理只支持 global 范围。",..."plugins"===a[0]&&(1===a.length||"install"===a[1])?["install = install + update + reinstall。版本和渠道均可省略:新 npm 插件默认 latest,已有插件沿保存的渠道;--tag 选择跟随渠道,--version 固定完整版本号,两者互斥。","多个插件可共用同一渠道或具体版本;同版本仍重新安装。","本地扩展使用 Pi 全局 extensions 目录中的名字,加载当前代码;不接受版本、渠道或自定义路径。","异步接纳不代表生效;结果会插入本会话并唤醒模型,无需持续查询。"]:[]].join("\n\n")}function g(a){let b,c,g,h;if(a.length>32)throw Error("命令参数最多 32 项");if(0===a.length)return{kind:"help",message:f([])};let i=d.find(b=>b.path.every((b,c)=>a[c]===b));if(a.includes("--help")||a.includes("-h")||1===a.length&&["plugins","session"].includes(a[0])){let b=["plugins","session"].includes(a[0])?a[0]:null,c=i?.path??(b?[b]:[]);if(!i&&!b&&!["--help","-h"].includes(a[0]))throw Error("未知命令,请使用 pidesk --help");if(!i&&b&&a[1]&&!["--help","-h"].includes(a[1]))throw Error(`未知子命令,请使用 pidesk ${b} --help`);return{kind:"help",message:f(c)}}if(!i)throw Error("未知命令,请使用 pidesk --help");let j=[];for(let d=i.path.length;d<a.length;d+=1){let f=a[d];if("--scope"===f&&i.scope){if(void 0!==b)throw Error("--scope 不允许重复");if(!(b=a[++d])||b.startsWith("--"))throw Error("--scope 缺少范围")}else if("--version"===f&&i.version){if(void 0!==c)throw Error("--version 不允许重复");if(!(c=a[++d])||c.startsWith("--"))throw Error("--version 缺少版本号")}else if("--tag"===f&&i.tag){if(void 0!==g)throw Error("--tag 不允许重复");if(!(g=a[++d])||g.startsWith("--"))throw Error("--tag 缺少渠道标签")}else if("--check-updates"===f&&i.checkUpdates){if(void 0!==h)throw Error("--check-updates 不允许重复");h=!0}else if(i.name&&("multiple"===i.name||0===j.length)&&!f.startsWith("-"))j.push(f);else throw Error(`不支持的参数:${f}
28
28
  ${e(i)}`)}if("required"===i.scope&&void 0===b)throw Error(`必须指定 --scope global