orcasynth 1.4.1 → 1.4.4
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.
- package/dist/advisor/mcpConfig.js +26 -0
- package/dist/advisor/service.js +74 -0
- package/dist/api/server.js +85 -6
- package/dist/cli/commands.js +26 -0
- package/dist/cli/index.js +9 -2
- package/dist/daemon/bootstrap.js +14 -1
- package/dist/integrations/projectFiles.js +16 -0
- package/dist/integrations/usage/claude.js +7 -7
- package/dist/integrations/usage/codex.js +5 -7
- package/dist/integrations/usage/index.js +2 -8
- package/dist/integrations/usage/walk.js +14 -0
- package/dist/mcp/server.js +34 -0
- package/dist/mcp/tools.js +17 -0
- package/dist/overseer/sessionInfo.js +7 -1
- package/dist/overseer/stuckDetector.js +4 -10
- package/dist/prompts/advisor.md +13 -0
- package/dist/shared/apiClient.js +23 -0
- package/dist/shared/id.js +7 -0
- package/dist/shared/time.js +12 -0
- package/dist/store/cascade.js +24 -0
- package/dist/store/db.js +7 -0
- package/dist/store/projectStore.js +8 -6
- package/dist/store/schema.sql +4 -2
- package/dist/store/taskStore.js +2 -8
- package/dist/store/userStore.js +26 -1
- package/dist/tmux/driver.js +8 -0
- package/dist/tmux/fakeDriver.js +9 -0
- package/package.json +4 -2
- package/prompts/advisor.md +13 -0
- package/web-dist/.next/BUILD_ID +1 -1
- package/web-dist/.next/build-manifest.json +3 -3
- package/web-dist/.next/server/app/_global-error.html +1 -1
- package/web-dist/.next/server/app/_global-error.rsc +1 -1
- package/web-dist/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web-dist/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web-dist/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web-dist/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web-dist/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web-dist/.next/server/app/_not-found/page/react-loadable-manifest.json +10 -1
- package/web-dist/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web-dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web-dist/.next/server/app/_not-found.html +1 -1
- package/web-dist/.next/server/app/_not-found.rsc +11 -11
- package/web-dist/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
- package/web-dist/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/web-dist/.next/server/app/_not-found.segments/_index.segment.rsc +6 -6
- package/web-dist/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/web-dist/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/web-dist/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/web-dist/.next/server/app/account/page/react-loadable-manifest.json +10 -1
- package/web-dist/.next/server/app/account/page.js.nft.json +1 -1
- package/web-dist/.next/server/app/account/page_client-reference-manifest.js +1 -1
- package/web-dist/.next/server/app/account.html +1 -1
- package/web-dist/.next/server/app/account.rsc +13 -13
- package/web-dist/.next/server/app/account.segments/_full.segment.rsc +13 -13
- package/web-dist/.next/server/app/account.segments/_head.segment.rsc +4 -4
- package/web-dist/.next/server/app/account.segments/_index.segment.rsc +6 -6
- package/web-dist/.next/server/app/account.segments/_tree.segment.rsc +2 -2
- package/web-dist/.next/server/app/account.segments/account/__PAGE__.segment.rsc +4 -4
- package/web-dist/.next/server/app/account.segments/account.segment.rsc +3 -3
- package/web-dist/.next/server/app/dash/page/react-loadable-manifest.json +10 -1
- package/web-dist/.next/server/app/dash/page.js.nft.json +1 -1
- package/web-dist/.next/server/app/dash/page_client-reference-manifest.js +1 -1
- package/web-dist/.next/server/app/dash.html +1 -1
- package/web-dist/.next/server/app/dash.rsc +13 -13
- package/web-dist/.next/server/app/dash.segments/_full.segment.rsc +13 -13
- package/web-dist/.next/server/app/dash.segments/_head.segment.rsc +4 -4
- package/web-dist/.next/server/app/dash.segments/_index.segment.rsc +6 -6
- package/web-dist/.next/server/app/dash.segments/_tree.segment.rsc +2 -2
- package/web-dist/.next/server/app/dash.segments/dash/__PAGE__.segment.rsc +4 -4
- package/web-dist/.next/server/app/dash.segments/dash.segment.rsc +3 -3
- package/web-dist/.next/server/app/escalations/page/react-loadable-manifest.json +10 -1
- package/web-dist/.next/server/app/escalations/page.js.nft.json +1 -1
- package/web-dist/.next/server/app/escalations/page_client-reference-manifest.js +1 -1
- package/web-dist/.next/server/app/escalations.html +1 -1
- package/web-dist/.next/server/app/escalations.rsc +13 -13
- package/web-dist/.next/server/app/escalations.segments/_full.segment.rsc +13 -13
- package/web-dist/.next/server/app/escalations.segments/_head.segment.rsc +4 -4
- package/web-dist/.next/server/app/escalations.segments/_index.segment.rsc +6 -6
- package/web-dist/.next/server/app/escalations.segments/_tree.segment.rsc +2 -2
- package/web-dist/.next/server/app/escalations.segments/escalations/__PAGE__.segment.rsc +4 -4
- package/web-dist/.next/server/app/escalations.segments/escalations.segment.rsc +3 -3
- package/web-dist/.next/server/app/index.html +1 -1
- package/web-dist/.next/server/app/index.rsc +13 -13
- package/web-dist/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
- package/web-dist/.next/server/app/index.segments/_full.segment.rsc +13 -13
- package/web-dist/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/web-dist/.next/server/app/index.segments/_index.segment.rsc +6 -6
- package/web-dist/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/web-dist/.next/server/app/kanban/page/react-loadable-manifest.json +10 -1
- package/web-dist/.next/server/app/kanban/page.js.nft.json +1 -1
- package/web-dist/.next/server/app/kanban/page_client-reference-manifest.js +1 -1
- package/web-dist/.next/server/app/kanban.html +1 -1
- package/web-dist/.next/server/app/kanban.rsc +13 -13
- package/web-dist/.next/server/app/kanban.segments/_full.segment.rsc +13 -13
- package/web-dist/.next/server/app/kanban.segments/_head.segment.rsc +4 -4
- package/web-dist/.next/server/app/kanban.segments/_index.segment.rsc +6 -6
- package/web-dist/.next/server/app/kanban.segments/_tree.segment.rsc +2 -2
- package/web-dist/.next/server/app/kanban.segments/kanban/__PAGE__.segment.rsc +4 -4
- package/web-dist/.next/server/app/kanban.segments/kanban.segment.rsc +3 -3
- package/web-dist/.next/server/app/onboarding/page/react-loadable-manifest.json +10 -1
- package/web-dist/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/web-dist/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/web-dist/.next/server/app/onboarding.html +1 -1
- package/web-dist/.next/server/app/onboarding.rsc +13 -13
- package/web-dist/.next/server/app/onboarding.segments/_full.segment.rsc +13 -13
- package/web-dist/.next/server/app/onboarding.segments/_head.segment.rsc +4 -4
- package/web-dist/.next/server/app/onboarding.segments/_index.segment.rsc +6 -6
- package/web-dist/.next/server/app/onboarding.segments/_tree.segment.rsc +2 -2
- package/web-dist/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
- package/web-dist/.next/server/app/onboarding.segments/onboarding.segment.rsc +3 -3
- package/web-dist/.next/server/app/page/react-loadable-manifest.json +10 -1
- package/web-dist/.next/server/app/page.js.nft.json +1 -1
- package/web-dist/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web-dist/.next/server/app/projects/page/react-loadable-manifest.json +8 -0
- package/web-dist/.next/server/app/projects/page.js.nft.json +1 -1
- package/web-dist/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/web-dist/.next/server/app/projects.html +1 -1
- package/web-dist/.next/server/app/projects.rsc +13 -13
- package/web-dist/.next/server/app/projects.segments/_full.segment.rsc +13 -13
- package/web-dist/.next/server/app/projects.segments/_head.segment.rsc +4 -4
- package/web-dist/.next/server/app/projects.segments/_index.segment.rsc +6 -6
- package/web-dist/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/web-dist/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +4 -4
- package/web-dist/.next/server/app/projects.segments/projects.segment.rsc +3 -3
- package/web-dist/.next/server/app/sessions/page/react-loadable-manifest.json +10 -1
- package/web-dist/.next/server/app/sessions/page.js.nft.json +1 -1
- package/web-dist/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/web-dist/.next/server/app/sessions.html +1 -1
- package/web-dist/.next/server/app/sessions.rsc +13 -13
- package/web-dist/.next/server/app/sessions.segments/_full.segment.rsc +13 -13
- package/web-dist/.next/server/app/sessions.segments/_head.segment.rsc +4 -4
- package/web-dist/.next/server/app/sessions.segments/_index.segment.rsc +6 -6
- package/web-dist/.next/server/app/sessions.segments/_tree.segment.rsc +2 -2
- package/web-dist/.next/server/app/sessions.segments/sessions/__PAGE__.segment.rsc +4 -4
- package/web-dist/.next/server/app/sessions.segments/sessions.segment.rsc +3 -3
- package/web-dist/.next/server/app/settings/page/react-loadable-manifest.json +10 -1
- package/web-dist/.next/server/app/settings/page.js.nft.json +1 -1
- package/web-dist/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web-dist/.next/server/app/settings.html +1 -1
- package/web-dist/.next/server/app/settings.rsc +13 -13
- package/web-dist/.next/server/app/settings.segments/_full.segment.rsc +13 -13
- package/web-dist/.next/server/app/settings.segments/_head.segment.rsc +4 -4
- package/web-dist/.next/server/app/settings.segments/_index.segment.rsc +6 -6
- package/web-dist/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/web-dist/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
- package/web-dist/.next/server/app/settings.segments/settings.segment.rsc +3 -3
- package/web-dist/.next/server/app/tasks/page/react-loadable-manifest.json +10 -1
- package/web-dist/.next/server/app/tasks/page.js.nft.json +1 -1
- package/web-dist/.next/server/app/tasks/page_client-reference-manifest.js +1 -1
- package/web-dist/.next/server/app/tasks.html +1 -1
- package/web-dist/.next/server/app/tasks.rsc +13 -13
- package/web-dist/.next/server/app/tasks.segments/_full.segment.rsc +13 -13
- package/web-dist/.next/server/app/tasks.segments/_head.segment.rsc +4 -4
- package/web-dist/.next/server/app/tasks.segments/_index.segment.rsc +6 -6
- package/web-dist/.next/server/app/tasks.segments/_tree.segment.rsc +2 -2
- package/web-dist/.next/server/app/tasks.segments/tasks/__PAGE__.segment.rsc +4 -4
- package/web-dist/.next/server/app/tasks.segments/tasks.segment.rsc +3 -3
- package/web-dist/.next/server/app/timeline/page/react-loadable-manifest.json +10 -1
- package/web-dist/.next/server/app/timeline/page.js.nft.json +1 -1
- package/web-dist/.next/server/app/timeline/page_client-reference-manifest.js +1 -1
- package/web-dist/.next/server/app/timeline.html +1 -1
- package/web-dist/.next/server/app/timeline.rsc +13 -13
- package/web-dist/.next/server/app/timeline.segments/_full.segment.rsc +13 -13
- package/web-dist/.next/server/app/timeline.segments/_head.segment.rsc +4 -4
- package/web-dist/.next/server/app/timeline.segments/_index.segment.rsc +6 -6
- package/web-dist/.next/server/app/timeline.segments/_tree.segment.rsc +2 -2
- package/web-dist/.next/server/app/timeline.segments/timeline/__PAGE__.segment.rsc +4 -4
- package/web-dist/.next/server/app/timeline.segments/timeline.segment.rsc +3 -3
- package/web-dist/.next/server/app/users/page/react-loadable-manifest.json +10 -1
- package/web-dist/.next/server/app/users/page.js.nft.json +1 -1
- package/web-dist/.next/server/app/users/page_client-reference-manifest.js +1 -1
- package/web-dist/.next/server/app/users.html +1 -1
- package/web-dist/.next/server/app/users.rsc +13 -13
- package/web-dist/.next/server/app/users.segments/_full.segment.rsc +13 -13
- package/web-dist/.next/server/app/users.segments/_head.segment.rsc +4 -4
- package/web-dist/.next/server/app/users.segments/_index.segment.rsc +6 -6
- package/web-dist/.next/server/app/users.segments/_tree.segment.rsc +2 -2
- package/web-dist/.next/server/app/users.segments/users/__PAGE__.segment.rsc +4 -4
- package/web-dist/.next/server/app/users.segments/users.segment.rsc +3 -3
- package/web-dist/.next/server/chunks/[root-of-the-server]__0bvp8h1._.js +1 -1
- package/web-dist/.next/server/chunks/[root-of-the-server]__1dgbigm._.js +1 -1
- package/web-dist/.next/server/chunks/[root-of-the-server]__1wxxtv8._.js +1 -1
- package/web-dist/.next/server/chunks/ssr/[root-of-the-server]__0yfatub._.js +3 -0
- package/web-dist/.next/server/chunks/ssr/_015zf-4._.js +1 -1
- package/web-dist/.next/server/chunks/ssr/_01rh28z._.js +3 -0
- package/web-dist/.next/server/chunks/ssr/_04ezsju._.js +3 -0
- package/web-dist/.next/server/chunks/ssr/_04o_q14._.js +1 -1
- package/web-dist/.next/server/chunks/ssr/_057a06r._.js +1 -1
- package/web-dist/.next/server/chunks/ssr/_081ml1k._.js +3 -0
- package/web-dist/.next/server/chunks/ssr/_0afhsmf._.js +3 -0
- package/web-dist/.next/server/chunks/ssr/_0m2j9hu._.js +3 -0
- package/web-dist/.next/server/chunks/ssr/_0tzourm._.js +1 -1
- package/web-dist/.next/server/chunks/ssr/_0ysqykx._.js +3 -0
- package/web-dist/.next/server/chunks/ssr/_10ak-sh._.js +3 -0
- package/web-dist/.next/server/chunks/ssr/_13rgpyg._.js +3 -0
- package/web-dist/.next/server/chunks/ssr/_1fp8enw._.js +3 -0
- package/web-dist/.next/server/chunks/ssr/_1std18n._.js +3 -0
- package/web-dist/.next/server/chunks/ssr/_1xwktd-._.js +1 -1
- package/web-dist/.next/server/chunks/ssr/_1zd7t3t._.js +3 -0
- package/web-dist/.next/server/chunks/ssr/app_dash_page_tsx_12v0wx-._.js +1 -1
- package/web-dist/.next/server/chunks/ssr/app_kanban_page_tsx_06_8oyf._.js +1 -1
- package/web-dist/.next/server/chunks/ssr/app_projects_page_tsx_1w-8z74._.js +3 -3
- package/web-dist/.next/server/chunks/ssr/app_tasks_page_tsx_1p6mxbw._.js +1 -1
- package/web-dist/.next/server/chunks/ssr/app_timeline_page_tsx_0thxir0._.js +1 -1
- package/web-dist/.next/server/chunks/ssr/components_shell_Shell_tsx_1e5c27h._.js +1 -1
- package/web-dist/.next/server/chunks/ssr/{node_modules_0h91jdk._.js → node_modules_next_dist_client_components_0bew68i._.js} +2 -2
- package/web-dist/.next/server/middleware-build-manifest.js +3 -3
- package/web-dist/.next/server/pages/404.html +1 -1
- package/web-dist/.next/server/pages/500.html +1 -1
- package/web-dist/.next/static/chunks/09gkeu3bc4xo0.js +1 -0
- package/web-dist/.next/static/chunks/0c6iuw5yay1w0.js +1 -0
- package/web-dist/.next/static/chunks/0ccjus_sicyov.js +1 -0
- package/web-dist/.next/static/chunks/0gor0_p3jg67f.js +1 -0
- package/web-dist/.next/static/chunks/0kd16q0244sp5.js +1 -0
- package/web-dist/.next/static/chunks/0x0pwu4mealh1.js +1 -0
- package/web-dist/.next/static/chunks/0yg3wh0jczxoa.js +1 -0
- package/web-dist/.next/static/chunks/0zms_--zk-t3b.js +1 -0
- package/web-dist/.next/static/chunks/11xbsx12drypd.js +1 -0
- package/web-dist/.next/static/chunks/{18zkogw4aykzc.js → 14mmxdnhdicgy.js} +1 -1
- package/web-dist/.next/static/chunks/1bgv4d9v71ij7.js +1 -0
- package/web-dist/.next/static/chunks/1j2hh1hlkxrip.js +1 -0
- package/web-dist/.next/static/chunks/2c16uuyhfnhr9.js +1 -0
- package/web-dist/.next/static/chunks/2g_lldfaqo8bq.js +1 -0
- package/web-dist/.next/static/chunks/2gak7jay2im1l.js +1 -0
- package/web-dist/.next/static/chunks/2pbhzo7fu4xcs.js +11 -0
- package/web-dist/.next/static/chunks/2z02etl-1qi3g.js +1 -0
- package/web-dist/.next/static/chunks/2zutw3iy49kee.js +1 -0
- package/web-dist/.next/static/chunks/30ztbacooyerd.js +1 -0
- package/web-dist/.next/static/chunks/33tqcj2ra3wol.js +1 -0
- package/web-dist/.next/static/chunks/34b41uiwytome.css +2 -0
- package/web-dist/.next/static/chunks/3uf01y_a4cq8y.js +1 -0
- package/web-dist/.next/server/chunks/ssr/[root-of-the-server]__1tooevx._.js +0 -3
- package/web-dist/.next/server/chunks/ssr/_085pshu._.js +0 -3
- package/web-dist/.next/server/chunks/ssr/_09x5h4x._.js +0 -3
- package/web-dist/.next/server/chunks/ssr/_0j9ppt0._.js +0 -3
- package/web-dist/.next/server/chunks/ssr/_0lctmoh._.js +0 -3
- package/web-dist/.next/server/chunks/ssr/_0tc9z5_._.js +0 -3
- package/web-dist/.next/server/chunks/ssr/_0zho8fx._.js +0 -3
- package/web-dist/.next/server/chunks/ssr/_1812xdn._.js +0 -3
- package/web-dist/.next/server/chunks/ssr/_1kom56q._.js +0 -3
- package/web-dist/.next/server/chunks/ssr/_1m2qx8p._.js +0 -3
- package/web-dist/.next/server/chunks/ssr/_1mjzb9s._.js +0 -3
- package/web-dist/.next/server/chunks/ssr/_1w24b42._.js +0 -3
- package/web-dist/.next/server/chunks/ssr/app_sessions_page_tsx_0r1_4_3._.js +0 -3
- package/web-dist/.next/static/chunks/05jfk0-07tiga.js +0 -11
- package/web-dist/.next/static/chunks/0x8sf96sz490-.css +0 -2
- package/web-dist/.next/static/chunks/0xgdqczv5tvu5.js +0 -1
- package/web-dist/.next/static/chunks/201p8-_l1h8w8.js +0 -1
- package/web-dist/.next/static/chunks/218i8jnxp91u8.js +0 -1
- package/web-dist/.next/static/chunks/2_uoi0tzglv_7.js +0 -1
- package/web-dist/.next/static/chunks/2ki5va2_5l6d6.js +0 -1
- package/web-dist/.next/static/chunks/2sm_cc2r9sjzp.js +0 -1
- package/web-dist/.next/static/chunks/2xur1zqckjlq3.js +0 -1
- package/web-dist/.next/static/chunks/35babynx5l240.js +0 -1
- package/web-dist/.next/static/chunks/3fqd824e6lt4z.js +0 -1
- package/web-dist/.next/static/chunks/3i0jpc47nxz7y.js +0 -1
- package/web-dist/.next/static/chunks/3soklmhd2y9yp.js +0 -1
- package/web-dist/.next/static/chunks/3ssnuxdh0r51g.js +0 -1
- package/web-dist/.next/static/chunks/3vmuunta80huz.js +0 -1
- package/web-dist/.next/static/chunks/3wo9m5v__3pi2.js +0 -1
- package/web-dist/.next/static/chunks/3ybvfq13cp-hb.js +0 -1
- package/web-dist/.next/static/chunks/3yqt3l54sr5si.js +0 -1
- /package/web-dist/.next/static/{qtJrbMvehxNiblgQJOzhz → HlF0dnC8pX1yTkvUuW9jW}/_buildManifest.js +0 -0
- /package/web-dist/.next/static/{qtJrbMvehxNiblgQJOzhz → HlF0dnC8pX1yTkvUuW9jW}/_clientMiddlewareManifest.js +0 -0
- /package/web-dist/.next/static/{qtJrbMvehxNiblgQJOzhz → HlF0dnC8pX1yTkvUuW9jW}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,39012,e=>{"use strict";var t,n=e.i(43476),r=e.i(26178),i=e.i(71645),l=e.i(90272),o=e.i(75254);let s=(0,o.default)("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);var a=e.i(25744),c=e.i(7233),d=e.i(95468),u=e.i(78894);let p=(0,o.default)("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]),h=(0,o.default)("ArrowDown",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),m=(0,o.default)("Folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);var f=e.i(51981),g=e.i(4552),x=e.i(80809),b=e.i(89890),k=e.i(76525),y=e.i(1206),w=e.i(94321),j=e.i(46040),v=e.i(51509),T=e.i(44375);e.i(69530);var S=e.i(2942);let N=(0,o.default)("CodeXml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);var E=e.i(88699),C=e.i(27612),_=e.i(3408),_=_,A=e.i(94008),R=e.i(56909);let z=(0,o.default)("GitCompare",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["path",{d:"M11 18H8a2 2 0 0 1-2-2V9",key:"19pyzm"}]]);var I=e.i(37727);let L=(0,o.default)("FilePlus",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M9 15h6",key:"cctwl0"}],["path",{d:"M12 18v-6",key:"17g6i2"}]]),M=(0,o.default)("FolderPlus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);var O=e.i(74886);let $=(0,o.default)("ClipboardCopy",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]]);var P=e.i(86536);let D=(0,o.default)("WrapText",[["line",{x1:"3",x2:"21",y1:"6",y2:"6",key:"4m8b97"}],["path",{d:"M3 12h15a3 3 0 1 1 0 6h-4",key:"1cl7v7"}],["polyline",{points:"16 16 14 18 16 20",key:"1jznyi"}],["line",{x1:"3",x2:"10",y1:"18",y2:"18",key:"1h33wv"}]]);var F=e.i(98361),B=e.i(26336);let H=(0,o.default)("PanelLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);function U(e){return({ts:"typescript",tsx:"typescript",js:"javascript",jsx:"javascript",mjs:"javascript",cjs:"javascript",json:"json",css:"css",scss:"scss",html:"html",md:"markdown",py:"python",sh:"shell",bash:"shell",yml:"yaml",yaml:"yaml",sql:"sql",toml:"ini",env:"ini",go:"go",rs:"rust",php:"php"})[q(e)]??"plaintext"}let q=e=>e.split(".").pop()?.toLowerCase()??"",G=e=>e.split("/").pop()??e,W=e=>e.split("/").slice(0,-1).join("/"),Z=(e,t)=>e?`${e}/${t}`:t,Y=new Set(["png","jpg","jpeg","gif","webp","svg","ico","bmp","avif"]);var Q=e.i(63059);let X=(0,o.default)("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);function V({node:e,depth:t,expanded:r,onToggle:i,selected:l,onSelect:o,changed:s,onContextMenu:a}){let c=r.has(e.path),d=t=>{t.preventDefault(),t.stopPropagation(),a(t,e)};if("dir"===e.type){let u=s.size>0&&[...s].some(t=>t.startsWith(e.path+"/"));return(0,n.jsxs)("li",{role:"treeitem","aria-expanded":c,"aria-label":e.name,children:[(0,n.jsxs)("button",{type:"button",onClick:()=>i(e.path),onContextMenu:d,className:"flex w-full items-center gap-1 rounded px-1.5 py-1 text-left text-xs text-text-muted transition-colors hover:bg-elevated",style:{paddingLeft:12*t+6},children:[(0,n.jsx)(Q.ChevronRight,{size:11,className:`shrink-0 transition-transform ${c?"rotate-90":""}`,"aria-hidden":!0}),(0,n.jsx)(c?X:m,{size:13,className:`shrink-0 ${u?"text-accent":"text-text-muted"}`,"aria-hidden":!0}),(0,n.jsx)("span",{className:`truncate ${u?"text-text":""}`,children:e.name})]}),c?(0,n.jsx)("ul",{role:"group",className:"m-0 list-none p-0",children:e.children.map(e=>(0,n.jsx)(V,{node:e,depth:t+1,expanded:r,onToggle:i,selected:l,onSelect:o,changed:s,onContextMenu:a},e.path))}):null]})}let u=s.has(e.path);return(0,n.jsx)("li",{role:"treeitem","aria-selected":l===e.path,children:(0,n.jsxs)("button",{type:"button",onClick:()=>o(e.path),onContextMenu:d,className:`flex w-full items-center gap-1.5 rounded px-1.5 py-1 text-left text-xs transition-colors hover:bg-elevated ${l===e.path?"bg-accent/15 text-accent":u?"font-medium text-accent":"text-text"}`,style:{paddingLeft:12*t+16},title:e.path,children:[(0,n.jsx)(A.File,{size:12,className:`shrink-0 ${u?"text-accent":"text-text-muted"}`,"aria-hidden":!0}),(0,n.jsx)("span",{className:"min-w-0 flex-1 truncate",children:e.name}),u?(0,n.jsx)("span",{className:"h-1.5 w-1.5 shrink-0 rounded-full bg-accent","aria-hidden":!0}):null]})})}function K({tree:e,expanded:t,onToggle:r,selected:i,onSelect:l,changed:o,onContextMenu:s,emptyLabel:a,treeLabel:c}){return(0,n.jsx)("div",{className:"h-full",onContextMenu:e=>{e.preventDefault(),s(e,null)},children:0===e.length?(0,n.jsx)("p",{className:"p-3 text-center text-xs text-text-muted",children:a}):(0,n.jsx)("ul",{role:"tree","aria-label":c,className:"m-0 list-none p-0",children:e.map(e=>(0,n.jsx)(V,{node:e,depth:0,expanded:t,onToggle:r,selected:i,onSelect:l,changed:o,onContextMenu:s},e.path))})})}let J="divider";function ee({state:e,onClose:t}){let r=(0,i.useRef)(null),[l,o]=(0,i.useState)({x:e.x,y:e.y});return(0,i.useEffect)(()=>{let t=r.current;if(!t)return;let{width:n,height:i}=t.getBoundingClientRect();o({x:Math.min(e.x,window.innerWidth-n-8),y:Math.min(e.y,window.innerHeight-i-8)})},[e.x,e.y]),(0,i.useEffect)(()=>{let e=()=>t(),n=e=>{"Escape"===e.key&&t()},r=window.setTimeout(()=>window.addEventListener("mousedown",e),0);return window.addEventListener("keydown",n),window.addEventListener("resize",e),()=>{window.clearTimeout(r),window.removeEventListener("mousedown",e),window.removeEventListener("keydown",n),window.removeEventListener("resize",e)}},[t]),(0,n.jsx)("div",{ref:r,role:"menu",onMouseDown:e=>e.stopPropagation(),className:"fixed z-50 min-w-44 overflow-hidden rounded-lg border border-border bg-elevated py-1 text-xs text-text",style:{left:l.x,top:l.y,boxShadow:"var(--shadow-card)"},children:e.items.map((e,r)=>{if(e===J)return(0,n.jsx)("div",{className:"my-1 h-px bg-border","aria-hidden":!0},`d${r}`);let i=e.icon;return(0,n.jsxs)("button",{type:"button",role:"menuitem",disabled:e.disabled,onClick:()=>{e.onClick(),t()},className:`flex w-full items-center gap-2 px-3 py-1.5 text-left transition-colors disabled:cursor-not-allowed disabled:opacity-40 ${e.danger?"text-danger hover:bg-danger/10":"hover:bg-surface"}`,children:[i?(0,n.jsx)(i,{size:13,className:"shrink-0","aria-hidden":!0}):(0,n.jsx)("span",{className:"w-[13px]","aria-hidden":!0}),(0,n.jsx)("span",{className:"truncate",children:e.label})]},e.label)})})}function et({title:e,label:t,initialValue:r,confirmLabel:l,icon:o,onConfirm:s,onCancel:a}){let{t:c}=(0,S.useTranslation)(),[d,u]=(0,i.useState)(r),p=d.trim(),h=p.length>0&&p!==r.trim(),m=()=>{h&&s(p)};return(0,n.jsxs)(j.Modal,{title:e,onClose:a,size:"sm",icon:o,children:[(0,n.jsx)(j.ModalBody,{gap:4,children:(0,n.jsx)(w.Field,{label:t,children:(0,n.jsx)(y.Input,{value:d,onChange:e=>u(e.target.value),onKeyDown:e=>{"Enter"===e.key&&m()},className:"font-mono text-xs",autoFocus:!0})})}),(0,n.jsxs)(j.ModalFooter,{children:[(0,n.jsx)(k.Button,{variant:"ghost",onClick:a,children:c.common.cancel}),(0,n.jsx)(k.Button,{variant:"accent",onClick:m,disabled:!h,children:l})]})]})}function en({title:e,message:t,confirmLabel:r,danger:i,icon:l,onConfirm:o,onCancel:s}){let{t:a}=(0,S.useTranslation)();return(0,n.jsxs)(j.Modal,{title:e,onClose:s,size:"sm",icon:l,children:[(0,n.jsx)(j.ModalBody,{gap:4,children:(0,n.jsx)("p",{className:"text-sm text-text-muted",children:t})}),(0,n.jsxs)(j.ModalFooter,{children:[(0,n.jsx)(k.Button,{variant:"ghost",onClick:s,children:a.common.cancel}),(0,n.jsx)(k.Button,{variant:i?"danger":"accent",onClick:o,children:r})]})]})}var er=e.i(70703);e.i(88784);var ei=e.i(83454),ei=ei;ei.default.config({paths:{vs:"/monaco/vs"}});let el=(0,er.default)(()=>e.A(53096).then(e=>e.default),{loadableGenerated:{modules:[67211]},ssr:!1}),eo=(0,er.default)(()=>e.A(53096).then(e=>e.DiffEditor),{loadableGenerated:{modules:[67211]},ssr:!1});function es(e){e.editor.defineTheme("orca-oled",{base:"vs-dark",inherit:!0,rules:[{token:"",foreground:"f5f5f5"},{token:"comment",foreground:"6a6a6a",fontStyle:"italic"},{token:"string",foreground:"22c55e"},{token:"number",foreground:"f59e0b"},{token:"keyword",foreground:"4d8bff"},{token:"type",foreground:"4d8bff"},{token:"delimiter",foreground:"9a9a9a"},{token:"tag",foreground:"4d8bff"}],colors:{"editor.background":"#000000","editor.foreground":"#f5f5f5","editorLineNumber.foreground":"#3a3a3a","editorLineNumber.activeForeground":"#9a9a9a","editor.lineHighlightBackground":"#0a0a0a","editor.selectionBackground":"#1d3a6e","editorCursor.foreground":"#4d8bff","editorGutter.background":"#000000","editorWidget.background":"#0a0a0a","editorWidget.border":"#2e2e2e","input.background":"#0a0a0a","dropdown.background":"#0a0a0a","editorIndentGuide.background1":"#161616","minimap.background":"#000000","diffEditor.insertedTextBackground":"#22c55e22","diffEditor.removedTextBackground":"#ef444422","diffEditor.insertedLineBackground":"#22c55e14","diffEditor.removedLineBackground":"#ef444414"}})}function ea({path:e,value:t,onChange:r,onSave:l,wordWrap:o}){let s=(0,i.useRef)(l);return s.current=l,(0,n.jsx)(el,{height:"100%",theme:"orca-oled",beforeMount:es,onMount:(e,t)=>{e.addCommand(t.KeyMod.CtrlCmd|t.KeyCode.KeyS,()=>s.current())},language:U(e),value:t,onChange:e=>r(e??""),options:{fontSize:13,minimap:{enabled:!1},scrollBeyondLastLine:!1,automaticLayout:!0,padding:{top:10},wordWrap:o?"on":"off"}},e)}function ec({path:e,original:t,modified:r}){return(0,n.jsx)(eo,{height:"100%",theme:"orca-oled",beforeMount:es,language:U(e),original:t,modified:r,options:{readOnly:!0,renderSideBySide:!0,fontSize:13,minimap:{enabled:!1},scrollBeyondLastLine:!1,automaticLayout:!0,ignoreTrimWhitespace:!1}},e)}var ed=e.i(76881);function eu(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let ep=eu(),eh=/[&<>"']/,em=RegExp(eh.source,"g"),ef=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,eg=RegExp(ef.source,"g"),ex={"&":"&","<":"<",">":">",'"':""","'":"'"},eb=e=>ex[e];function ek(e,t){if(t){if(eh.test(e))return e.replace(em,eb)}else if(ef.test(e))return e.replace(eg,eb);return e}let ey=/(^|[^\[])\^/g;function ew(e,t){let n="string"==typeof e?e:e.source;t=t||"";let r={replace:(e,t)=>{let i="string"==typeof t?t:t.source;return i=i.replace(ey,"$1"),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}function ej(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch{return null}return e}let ev={exec:()=>null};function eT(e,t){let n=e.replace(/\|/g,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&"\\"===n[i];)r=!r;return r?"|":" |"}).split(/ \|/),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length<t;)n.push("");for(;r<n.length;r++)n[r]=n[r].trim().replace(/\\\|/g,"|");return n}function eS(e,t,n){let r=e.length;if(0===r)return"";let i=0;for(;i<r;){let l=e.charAt(r-i-1);if(l!==t||n)if(l!==t&&n)i++;else break;else i++}return e.slice(0,r-i)}function eN(e,t,n,r){let i=t.href,l=t.title?ek(t.title):null,o=e[1].replace(/\\([\[\]])/g,"$1");if("!"!==e[0].charAt(0)){r.state.inLink=!0;let e={type:"link",raw:n,href:i,title:l,text:o,tokens:r.inlineTokens(o)};return r.state.inLink=!1,e}return{type:"image",raw:n,href:i,title:l,text:ek(o)}}class eE{options;rules;lexer;constructor(e){this.options=e||ep}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=t[0].replace(/^(?: {1,4}| {0,3}\t)/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:eS(e,"\n")}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],n=function(e,t){let n=e.match(/^(\s+)(?:```)/);if(null===n)return t;let r=n[1];return t.split("\n").map(e=>{let t=e.match(/^\s+/);if(null===t)return e;let[n]=t;return n.length>=r.length?e.slice(r.length):e}).join("\n")}(e,t[3]||"");return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:n}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(/#$/.test(e)){let t=eS(e,"#");this.options.pedantic?e=t.trim():(!t||/ $/.test(t))&&(e=t.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:eS(t[0],"\n")}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=eS(t[0],"\n").split("\n"),n="",r="",i=[];for(;e.length>0;){let t,l=!1,o=[];for(t=0;t<e.length;t++)if(/^ {0,3}>/.test(e[t]))o.push(e[t]),l=!0;else if(l)break;else o.push(e[t]);e=e.slice(t);let s=o.join("\n"),a=s.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,"\n $1").replace(/^ {0,3}>[ \t]?/gm,"");n=n?`${n}
|
|
2
|
+
${s}`:s,r=r?`${r}
|
|
3
|
+
${a}`:a;let c=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(a,i,!0),this.lexer.state.top=c,0===e.length)break;let d=i[i.length-1];if(d?.type==="code")break;if(d?.type==="blockquote"){let t=d.raw+"\n"+e.join("\n"),l=this.blockquote(t);i[i.length-1]=l,n=n.substring(0,n.length-d.raw.length)+l.raw,r=r.substring(0,r.length-d.text.length)+l.text;break}if(d?.type==="list"){let t=d.raw+"\n"+e.join("\n"),l=this.list(t);i[i.length-1]=l,n=n.substring(0,n.length-d.raw.length)+l.raw,r=r.substring(0,r.length-d.raw.length)+l.raw,e=t.substring(i[i.length-1].raw.length).split("\n");continue}}return{type:"blockquote",raw:n,tokens:i,text:r}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,i={type:"list",raw:"",ordered:r,start:r?+n.slice(0,-1):"",loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:"[*+-]");let l=RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`),o=!1;for(;e;){let n,r=!1,s="",a="";if(!(t=l.exec(e))||this.rules.block.hr.test(e))break;s=t[0],e=e.substring(s.length);let c=t[2].split("\n",1)[0].replace(/^\t+/,e=>" ".repeat(3*e.length)),d=e.split("\n",1)[0],u=!c.trim(),p=0;if(this.options.pedantic?(p=2,a=c.trimStart()):u?p=t[1].length+1:(p=(p=t[2].search(/[^ ]/))>4?1:p,a=c.slice(p),p+=t[1].length),u&&/^[ \t]*$/.test(d)&&(s+=d+"\n",e=e.substring(d.length+1),r=!0),!r){let t=RegExp(`^ {0,${Math.min(3,p-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),n=RegExp(`^ {0,${Math.min(3,p-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),r=RegExp(`^ {0,${Math.min(3,p-1)}}(?:\`\`\`|~~~)`),i=RegExp(`^ {0,${Math.min(3,p-1)}}#`),l=RegExp(`^ {0,${Math.min(3,p-1)}}<(?:[a-z].*>|!--)`,"i");for(;e;){let o,h=e.split("\n",1)[0];if(d=h,o=this.options.pedantic?d=d.replace(/^ {1,4}(?=( {4})*[^ ])/g," "):d.replace(/\t/g," "),r.test(d)||i.test(d)||l.test(d)||t.test(d)||n.test(d))break;if(o.search(/[^ ]/)>=p||!d.trim())a+="\n"+o.slice(p);else{if(u||c.replace(/\t/g," ").search(/[^ ]/)>=4||r.test(c)||i.test(c)||n.test(c))break;a+="\n"+d}u||d.trim()||(u=!0),s+=h+"\n",e=e.substring(h.length+1),c=o.slice(p)}}!i.loose&&(o?i.loose=!0:/\n[ \t]*\n[ \t]*$/.test(s)&&(o=!0));let h=null;this.options.gfm&&(h=/^\[[ xX]\] /.exec(a))&&(n="[ ] "!==h[0],a=a.replace(/^\[[ xX]\] +/,"")),i.items.push({type:"list_item",raw:s,task:!!h,checked:n,loose:!1,text:a,tokens:[]}),i.raw+=s}i.items[i.items.length-1].raw=i.items[i.items.length-1].raw.trimEnd(),i.items[i.items.length-1].text=i.items[i.items.length-1].text.trimEnd(),i.raw=i.raw.trimEnd();for(let e=0;e<i.items.length;e++)if(this.lexer.state.top=!1,i.items[e].tokens=this.lexer.blockTokens(i.items[e].text,[]),!i.loose){let t=i.items[e].tokens.filter(e=>"space"===e.type);i.loose=t.length>0&&t.some(e=>/\n.*\n/.test(e.raw))}if(i.loose)for(let e=0;e<i.items.length;e++)i.items[e].loose=!0;return i}}html(e){let t=this.rules.block.html.exec(e);if(t)return{type:"html",block:!0,raw:t[0],pre:"pre"===t[1]||"script"===t[1]||"style"===t[1],text:t[0]}}def(e){let t=this.rules.block.def.exec(e);if(t){let e=t[1].toLowerCase().replace(/\s+/g," "),n=t[2]?t[2].replace(/^<(.*)>$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:e,raw:t[0],href:n,title:r}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!/[:|]/.test(t[2]))return;let n=eT(t[1]),r=t[2].replace(/^\||\| *$/g,"").split("|"),i=t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[],l={type:"table",raw:t[0],header:[],align:[],rows:[]};if(n.length===r.length){for(let e of r)/^ *-+: *$/.test(e)?l.align.push("right"):/^ *:-+: *$/.test(e)?l.align.push("center"):/^ *:-+ *$/.test(e)?l.align.push("left"):l.align.push(null);for(let e=0;e<n.length;e++)l.header.push({text:n[e],tokens:this.lexer.inline(n[e]),header:!0,align:l.align[e]});for(let e of i)l.rows.push(eT(e,l.header.length).map((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:l.align[t]})));return l}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:"="===t[2].charAt(0)?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e="\n"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:ek(t[1])}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&/^<a /i.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let e=t[2].trim();if(!this.options.pedantic&&/^</.test(e)){if(!/>$/.test(e))return;let t=eS(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{let e=function(e){if(-1===e.indexOf(")"))return -1;let t=0;for(let n=0;n<e.length;n++)if("\\"===e[n])n++;else if("("===e[n])t++;else if(")"===e[n]&&--t<0)return n;return -1}(t[2]);if(e>-1){let n=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=""}}let n=t[2],r="";if(this.options.pedantic){let e=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):"";return n=n.trim(),/^</.test(n)&&(n=this.options.pedantic&&!/>$/.test(e)?n.slice(1):n.slice(1,-1)),eN(t,{href:n?n.replace(this.rules.inline.anyPunctuation,"$1"):n,title:r?r.replace(this.rules.inline.anyPunctuation,"$1"):r},t[0],this.lexer)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=t[(n[2]||n[1]).replace(/\s+/g," ").toLowerCase()];if(!e){let e=n[0].charAt(0);return{type:"text",raw:e,text:e}}return eN(n,e,n[0],this.lexer)}}emStrong(e,t,n=""){let r=this.rules.inline.emStrongLDelim.exec(e);if(!(!r||r[3]&&n.match(/[\p{L}\p{N}]/u))&&(!(r[1]||r[2])||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,l,o=n,s=0,a="*"===r[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(a.lastIndex=0,t=t.slice(-1*e.length+n);null!=(r=a.exec(t));){if(!(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6]))continue;if(l=[...i].length,r[3]||r[4]){o+=l;continue}if((r[5]||r[6])&&n%3&&!((n+l)%3)){s+=l;continue}if((o-=l)>0)continue;l=Math.min(l,l+o+s);let t=[...r[0]][0].length,a=e.slice(0,n+r.index+t+l);if(Math.min(n,l)%2){let e=a.slice(1,-1);return{type:"em",raw:a,text:e,tokens:this.lexer.inlineTokens(e)}}let c=a.slice(2,-2);return{type:"strong",raw:a,text:c,tokens:this.lexer.inlineTokens(c)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(/\n/g," "),n=/[^ ]/.test(e),r=/^ /.test(e)&&/ $/.test(e);return n&&r&&(e=e.substring(1,e.length-1)),e=ek(e,!0),{type:"codespan",raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){let t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,n;return n="@"===t[2]?"mailto:"+(e=ek(t[1])):e=ek(t[1]),{type:"link",raw:t[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,n;if("@"===t[2])n="mailto:"+(e=ek(t[0]));else{let r;do r=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??"";while(r!==t[0])e=ek(t[0]),n="www."===t[1]?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e;return e=this.lexer.state.inRawBlock?t[0]:ek(t[0]),{type:"text",raw:t[0],text:e}}}}let eC=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,e_=/(?:[*+-]|\d{1,9}[.)])/,eA=ew(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,e_).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),eR=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,ez=/(?!\s*\])(?:\\.|[^\[\]\\])+/,eI=ew(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",ez).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),eL=ew(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,e_).getRegex(),eM="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",eO=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,e$=ew("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",eO).replace("tag",eM).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),eP=ew(eR).replace("hr",eC).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",eM).getRegex(),eD={blockquote:ew(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",eP).getRegex(),code:/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,def:eI,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:eC,html:e$,lheading:eA,list:eL,newline:/^(?:[ \t]*(?:\n|$))+/,paragraph:eP,table:ev,text:/^[^\n]+/},eF=ew("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",eC).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",eM).getRegex(),eB={...eD,table:eF,paragraph:ew(eR).replace("hr",eC).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",eF).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",eM).getRegex()},eH={...eD,html:ew("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",eO).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:ev,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:ew(eR).replace("hr",eC).replace("heading"," *#{1,6} *[^\n]").replace("lheading",eA).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},eU=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,eq=/^( {2,}|\\)\n(?!\s*$)/,eG="\\p{P}\\p{S}",eW=ew(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,eG).getRegex(),eZ=ew(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,eG).getRegex(),eY=ew("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,eG).getRegex(),eQ=ew("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,eG).getRegex(),eX=ew(/\\([punct])/,"gu").replace(/punct/g,eG).getRegex(),eV=ew(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),eK=ew(eO).replace("(?:-->|$)","-->").getRegex(),eJ=ew("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",eK).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),e0=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,e1=ew(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",e0).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),e2=ew(/^!?\[(label)\]\[(ref)\]/).replace("label",e0).replace("ref",ez).getRegex(),e3=ew(/^!?\[(ref)\](?:\[\])?/).replace("ref",ez).getRegex(),e4=ew("reflink|nolink(?!\\()","g").replace("reflink",e2).replace("nolink",e3).getRegex(),e9={_backpedal:ev,anyPunctuation:eX,autolink:eV,blockSkip:/\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<[^<>]*?>/g,br:eq,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:ev,emStrongLDelim:eZ,emStrongRDelimAst:eY,emStrongRDelimUnd:eQ,escape:eU,link:e1,nolink:e3,punctuation:eW,reflink:e2,reflinkSearch:e4,tag:eJ,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:ev},e5={...e9,link:ew(/^!?\[(label)\]\((.*?)\)/).replace("label",e0).getRegex(),reflink:ew(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",e0).getRegex()},e6={...e9,escape:ew(eU).replace("])","~|])").getRegex(),url:ew(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},e8={...e6,br:ew(eq).replace("{2,}","*").getRegex(),text:ew(e6.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},e7={normal:eD,gfm:eB,pedantic:eH},te={normal:e9,gfm:e6,breaks:e8,pedantic:e5};class tt{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||ep,this.options.tokenizer=this.options.tokenizer||new eE,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const t={block:e7.normal,inline:te.normal};this.options.pedantic?(t.block=e7.pedantic,t.inline=te.pedantic):this.options.gfm&&(t.block=e7.gfm,this.options.breaks?t.inline=te.breaks:t.inline=te.gfm),this.tokenizer.rules=t}static get rules(){return{block:e7,inline:te}}static lex(e,t){return new tt(t).lex(e)}static lexInline(e,t){return new tt(t).inlineTokens(e)}lex(e){e=e.replace(/\r\n|\r/g,"\n"),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){let r,i,l;for(this.options.pedantic&&(e=e.replace(/\t/g," ").replace(/^ +$/gm,""));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(n=>!!(r=n.call({lexer:this},e,t))&&(e=e.substring(r.raw.length),t.push(r),!0)))){if(r=this.tokenizer.space(e)){e=e.substring(r.raw.length),1===r.raw.length&&t.length>0?t[t.length-1].raw+="\n":t.push(r);continue}if(r=this.tokenizer.code(e)){e=e.substring(r.raw.length),(i=t[t.length-1])&&("paragraph"===i.type||"text"===i.type)?(i.raw+="\n"+r.raw,i.text+="\n"+r.text,this.inlineQueue[this.inlineQueue.length-1].src=i.text):t.push(r);continue}if((r=this.tokenizer.fences(e))||(r=this.tokenizer.heading(e))||(r=this.tokenizer.hr(e))||(r=this.tokenizer.blockquote(e))||(r=this.tokenizer.list(e))||(r=this.tokenizer.html(e))){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.def(e)){e=e.substring(r.raw.length),(i=t[t.length-1])&&("paragraph"===i.type||"text"===i.type)?(i.raw+="\n"+r.raw,i.text+="\n"+r.raw,this.inlineQueue[this.inlineQueue.length-1].src=i.text):this.tokens.links[r.tag]||(this.tokens.links[r.tag]={href:r.href,title:r.title});continue}if((r=this.tokenizer.table(e))||(r=this.tokenizer.lheading(e))){e=e.substring(r.raw.length),t.push(r);continue}if(l=e,this.options.extensions&&this.options.extensions.startBlock){let t,n=1/0,r=e.slice(1);this.options.extensions.startBlock.forEach(e=>{"number"==typeof(t=e.call({lexer:this},r))&&t>=0&&(n=Math.min(n,t))}),n<1/0&&n>=0&&(l=e.substring(0,n+1))}if(this.state.top&&(r=this.tokenizer.paragraph(l))){i=t[t.length-1],n&&i?.type==="paragraph"?(i.raw+="\n"+r.raw,i.text+="\n"+r.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):t.push(r),n=l.length!==e.length,e=e.substring(r.raw.length);continue}if(r=this.tokenizer.text(e)){e=e.substring(r.raw.length),(i=t[t.length-1])&&"text"===i.type?(i.raw+="\n"+r.raw,i.text+="\n"+r.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):t.push(r);continue}if(e){let t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw Error(t)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let n,r,i,l,o,s,a=e;if(this.tokens.links){let e=Object.keys(this.tokens.links);if(e.length>0)for(;null!=(l=this.tokenizer.rules.inline.reflinkSearch.exec(a));)e.includes(l[0].slice(l[0].lastIndexOf("[")+1,-1))&&(a=a.slice(0,l.index)+"["+"a".repeat(l[0].length-2)+"]"+a.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(l=this.tokenizer.rules.inline.blockSkip.exec(a));)a=a.slice(0,l.index)+"["+"a".repeat(l[0].length-2)+"]"+a.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(l=this.tokenizer.rules.inline.anyPunctuation.exec(a));)a=a.slice(0,l.index)+"++"+a.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(o||(s=""),o=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(r=>!!(n=r.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))){if(n=this.tokenizer.escape(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.tag(e)){e=e.substring(n.raw.length),(r=t[t.length-1])&&"text"===n.type&&"text"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);continue}if(n=this.tokenizer.link(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(n.raw.length),(r=t[t.length-1])&&"text"===n.type&&"text"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);continue}if((n=this.tokenizer.emStrong(e,a,s))||(n=this.tokenizer.codespan(e))||(n=this.tokenizer.br(e))||(n=this.tokenizer.del(e))||(n=this.tokenizer.autolink(e))||!this.state.inLink&&(n=this.tokenizer.url(e))){e=e.substring(n.raw.length),t.push(n);continue}if(i=e,this.options.extensions&&this.options.extensions.startInline){let t,n=1/0,r=e.slice(1);this.options.extensions.startInline.forEach(e=>{"number"==typeof(t=e.call({lexer:this},r))&&t>=0&&(n=Math.min(n,t))}),n<1/0&&n>=0&&(i=e.substring(0,n+1))}if(n=this.tokenizer.inlineText(i)){e=e.substring(n.raw.length),"_"!==n.raw.slice(-1)&&(s=n.raw.slice(-1)),o=!0,(r=t[t.length-1])&&"text"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);continue}if(e){let t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw Error(t)}}return t}}class tn{options;parser;constructor(e){this.options=e||ep}space(e){return""}code({text:e,lang:t,escaped:n}){let r=(t||"").match(/^\S*/)?.[0],i=e.replace(/\n$/,"")+"\n";return r?'<pre><code class="language-'+ek(r)+'">'+(n?i:ek(i,!0))+"</code></pre>\n":"<pre><code>"+(n?i:ek(i,!0))+"</code></pre>\n"}blockquote({tokens:e}){let t=this.parser.parse(e);return`<blockquote>
|
|
4
|
+
${t}</blockquote>
|
|
5
|
+
`}html({text:e}){return e}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>
|
|
6
|
+
`}hr(e){return"<hr>\n"}list(e){let t=e.ordered,n=e.start,r="";for(let t=0;t<e.items.length;t++){let n=e.items[t];r+=this.listitem(n)}let i=t?"ol":"ul";return"<"+i+(t&&1!==n?' start="'+n+'"':"")+">\n"+r+"</"+i+">\n"}listitem(e){let t="";if(e.task){let n=this.checkbox({checked:!!e.checked});e.loose?e.tokens.length>0&&"paragraph"===e.tokens[0].type?(e.tokens[0].text=n+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&"text"===e.tokens[0].tokens[0].type&&(e.tokens[0].tokens[0].text=n+" "+e.tokens[0].tokens[0].text)):e.tokens.unshift({type:"text",raw:n+" ",text:n+" "}):t+=n+" "}return t+=this.parser.parse(e.tokens,!!e.loose),`<li>${t}</li>
|
|
7
|
+
`}checkbox({checked:e}){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>
|
|
8
|
+
`}table(e){let t="",n="";for(let t=0;t<e.header.length;t++)n+=this.tablecell(e.header[t]);t+=this.tablerow({text:n});let r="";for(let t=0;t<e.rows.length;t++){let i=e.rows[t];n="";for(let e=0;e<i.length;e++)n+=this.tablecell(i[e]);r+=this.tablerow({text:n})}return r&&(r=`<tbody>${r}</tbody>`),"<table>\n<thead>\n"+t+"</thead>\n"+r+"</table>\n"}tablerow({text:e}){return`<tr>
|
|
9
|
+
${e}</tr>
|
|
10
|
+
`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
|
|
11
|
+
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${e}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=ej(e);if(null===i)return r;let l='<a href="'+(e=i)+'"';return t&&(l+=' title="'+t+'"'),l+=">"+r+"</a>"}image({href:e,title:t,text:n}){let r=ej(e);if(null===r)return n;e=r;let i=`<img src="${e}" alt="${n}"`;return t&&(i+=` title="${t}"`),i+=">"}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):e.text}}class tr{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}}class ti{options;renderer;textRenderer;constructor(e){this.options=e||ep,this.options.renderer=this.options.renderer||new tn,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new tr}static parse(e,t){return new ti(t).parse(e)}static parseInline(e,t){return new ti(t).parseInline(e)}parse(e,t=!0){let n="";for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(!1!==e||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(i.type)){n+=e||"";continue}}switch(i.type){case"space":n+=this.renderer.space(i);continue;case"hr":n+=this.renderer.hr(i);continue;case"heading":n+=this.renderer.heading(i);continue;case"code":n+=this.renderer.code(i);continue;case"table":n+=this.renderer.table(i);continue;case"blockquote":n+=this.renderer.blockquote(i);continue;case"list":n+=this.renderer.list(i);continue;case"html":n+=this.renderer.html(i);continue;case"paragraph":n+=this.renderer.paragraph(i);continue;case"text":{let l=i,o=this.renderer.text(l);for(;r+1<e.length&&"text"===e[r+1].type;)l=e[++r],o+="\n"+this.renderer.text(l);t?n+=this.renderer.paragraph({type:"paragraph",raw:o,text:o,tokens:[{type:"text",raw:o,text:o}]}):n+=o;continue}default:{let e='Token with "'+i.type+'" type was not found.';if(this.options.silent)return console.error(e),"";throw Error(e)}}}return n}parseInline(e,t){t=t||this.renderer;let n="";for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(!1!==e||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(i.type)){n+=e||"";continue}}switch(i.type){case"escape":case"text":n+=t.text(i);break;case"html":n+=t.html(i);break;case"link":n+=t.link(i);break;case"image":n+=t.image(i);break;case"strong":n+=t.strong(i);break;case"em":n+=t.em(i);break;case"codespan":n+=t.codespan(i);break;case"br":n+=t.br(i);break;case"del":n+=t.del(i);break;default:{let e='Token with "'+i.type+'" type was not found.';if(this.options.silent)return console.error(e),"";throw Error(e)}}}return n}}class tl{options;block;constructor(e){this.options=e||ep}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}provideLexer(){return this.block?tt.lex:tt.lexInline}provideParser(){return this.block?ti.parse:ti.parseInline}}class to{defaults=eu();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=ti;Renderer=tn;TextRenderer=tr;Lexer=tt;Tokenizer=eE;Hooks=tl;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case"table":for(let e of r.header)n=n.concat(this.walkTokens(e.tokens,t));for(let e of r.rows)for(let r of e)n=n.concat(this.walkTokens(r.tokens,t));break;case"list":n=n.concat(this.walkTokens(r.items,t));break;default:{let e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(r=>{let i=e[r].flat(1/0);n=n.concat(this.walkTokens(i,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error("extension name required");if("renderer"in e){let n=t.renderers[e.name];n?t.renderers[e.name]=function(...t){let r=e.renderer.apply(this,t);return!1===r&&(r=n.apply(this,t)),r}:t.renderers[e.name]=e.renderer}if("tokenizer"in e){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw Error("extension level must be 'block' or 'inline'");let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&("block"===e.level?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:"inline"===e.level&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}"childTokens"in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new tn(this.defaults);for(let n in e.renderer){if(!(n in t))throw Error(`renderer '${n}' does not exist`);if(["options","parser"].includes(n))continue;let r=e.renderer[n],i=t[n];t[n]=(...e)=>{let n=r.apply(t,e);return!1===n&&(n=i.apply(t,e)),n||""}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new eE(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw Error(`tokenizer '${n}' does not exist`);if(["options","rules","lexer"].includes(n))continue;let r=e.tokenizer[n],i=t[n];t[n]=(...e)=>{let n=r.apply(t,e);return!1===n&&(n=i.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new tl;for(let n in e.hooks){if(!(n in t))throw Error(`hook '${n}' does not exist`);if(["options","block"].includes(n))continue;let r=e.hooks[n],i=t[n];tl.passThroughHooks.has(n)?t[n]=e=>{if(this.defaults.async)return Promise.resolve(r.call(t,e)).then(e=>i.call(t,e));let n=r.call(t,e);return i.call(t,n)}:t[n]=(...e)=>{let n=r.apply(t,e);return!1===n&&(n=i.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return tt.lex(e,t??this.defaults)}parser(e,t){return ti.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},i={...this.defaults,...r},l=this.onError(!!i.silent,!!i.async);if(!0===this.defaults.async&&!1===r.async)return l(Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(null==t)return l(Error("marked(): input parameter is undefined or null"));if("string"!=typeof t)return l(Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));i.hooks&&(i.hooks.options=i,i.hooks.block=e);let o=i.hooks?i.hooks.provideLexer():e?tt.lex:tt.lexInline,s=i.hooks?i.hooks.provideParser():e?ti.parse:ti.parseInline;if(i.async)return Promise.resolve(i.hooks?i.hooks.preprocess(t):t).then(e=>o(e,i)).then(e=>i.hooks?i.hooks.processAllTokens(e):e).then(e=>i.walkTokens?Promise.all(this.walkTokens(e,i.walkTokens)).then(()=>e):e).then(e=>s(e,i)).then(e=>i.hooks?i.hooks.postprocess(e):e).catch(l);try{i.hooks&&(t=i.hooks.preprocess(t));let e=o(t,i);i.hooks&&(e=i.hooks.processAllTokens(e)),i.walkTokens&&this.walkTokens(e,i.walkTokens);let n=s(e,i);return i.hooks&&(n=i.hooks.postprocess(n)),n}catch(e){return l(e)}}}onError(e,t){return n=>{if(n.message+="\nPlease report this to https://github.com/markedjs/marked.",e){let e="<p>An error occurred:</p><pre>"+ek(n.message+"",!0)+"</pre>";return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}}let ts=new to;function ta(e,t){return ts.parse(e,t)}function tc(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}ta.options=ta.setOptions=function(e){return ts.setOptions(e),ta.defaults=ts.defaults,ep=ta.defaults,ta},ta.getDefaults=eu,ta.defaults=ep,ta.use=function(...e){return ts.use(...e),ta.defaults=ts.defaults,ep=ta.defaults,ta},ta.walkTokens=function(e,t){return ts.walkTokens(e,t)},ta.parseInline=ts.parseInline,ta.Parser=ti,ta.parser=ti.parse,ta.Renderer=tn,ta.TextRenderer=tr,ta.Lexer=tt,ta.lexer=tt.lex,ta.Tokenizer=eE,ta.Hooks=tl,ta.parse=ta,ta.options,ta.setOptions,ta.use,ta.walkTokens,ta.parseInline,ti.parse,tt.lex;let td=Object.entries,tu=Object.setPrototypeOf,tp=Object.isFrozen,th=Object.getPrototypeOf,tm=Object.getOwnPropertyDescriptor,tf=Object.freeze,tg=Object.seal,tx=Object.create,tb="u">typeof Reflect&&Reflect,tk=tb.apply,ty=tb.construct;tf||(tf=function(e){return e}),tg||(tg=function(e){return e}),tk||(tk=function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];return e.apply(t,r)}),ty||(ty=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return new e(...n)});let tw=tB(Array.prototype.forEach),tj=tB(Array.prototype.lastIndexOf),tv=tB(Array.prototype.pop),tT=tB(Array.prototype.push),tS=tB(Array.prototype.splice),tN=Array.isArray,tE=tB(String.prototype.toLowerCase),tC=tB(String.prototype.toString),t_=tB(String.prototype.match),tA=tB(String.prototype.replace),tR=tB(String.prototype.indexOf),tz=tB(String.prototype.trim),tI=tB(Number.prototype.toString),tL=tB(Boolean.prototype.toString),tM="u"<typeof BigInt?null:tB(BigInt.prototype.toString),tO="u"<typeof Symbol?null:tB(Symbol.prototype.toString),t$=tB(Object.prototype.hasOwnProperty),tP=tB(Object.prototype.toString),tD=tB(RegExp.prototype.test),tF=(t=TypeError,function(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];return ty(t,n)});function tB(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return tk(e,t,r)}}function tH(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:tE;if(tu&&tu(e,null),!tN(t))return e;let r=t.length;for(;r--;){let i=t[r];if("string"==typeof i){let e=n(i);e!==i&&(tp(t)||(t[r]=e),i=e)}e[i]=!0}return e}function tU(e){let t=tx(null);for(let r of td(e)){var n=function(e){if(Array.isArray(e))return e}(r)||function(e){var t=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,r,i,l,o=[],s=!0,a=!1;try{i=(t=t.call(e)).next,!1;for(;!(s=(n=i.call(t)).done)&&(o.push(n.value),2!==o.length);s=!0);}catch(e){a=!0,r=e}finally{try{if(!s&&null!=t.return&&(l=t.return(),Object(l)!==l))return}finally{if(a)throw r}}return o}}(r)||function(e){if(e){if("string"==typeof e)return tc(e,2);var t=({}).toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?tc(e,2):void 0}}(r)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();let i=n[0],l=n[1];t$(e,i)&&(tN(l)?t[i]=function(e){for(let t=0;t<e.length;t++)t$(e,t)||(e[t]=null);return e}(l):l&&"object"==typeof l&&l.constructor===Object?t[i]=tU(l):t[i]=l)}return t}function tq(e,t){for(;null!==e;){let n=tm(e,t);if(n){if(n.get)return tB(n.get);if("function"==typeof n.value)return tB(n.value)}e=th(e)}return function(){return null}}let tG=tf(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),tW=tf(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),tZ=tf(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),tY=tf(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),tQ=tf(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),tX=tf(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),tV=tf(["#text"]),tK=tf(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),tJ=tf(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),t0=tf(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),t1=tf(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),t2=tg(/{{[\w\W]*|^[\w\W]*}}/g),t3=tg(/<%[\w\W]*|^[\w\W]*%>/g),t4=tg(/\${[\w\W]*/g),t9=tg(/^data-[\-\w.\u00B7-\uFFFF]+$/),t5=tg(/^aria-[\-\w]+$/),t6=tg(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),t8=tg(/^(?:\w+script|data):/i),t7=tg(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ne=tg(/^html$/i),nt=tg(/^[a-z][.\w]*(-[.\w]+)+$/i),nn=tg(/<[/\w!]/g),nr=tg(/<[/\w]/g),ni=tg(/<\/no(script|embed|frames)/i),nl=tg(/\/>/i),no=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let n=null,r="data-tt-policy-suffix";t&&t.hasAttribute(r)&&(n=t.getAttribute(r));let i="dompurify"+(n?"#"+n:"");try{return e.createPolicy(i,{createHTML:e=>e,createScriptURL:e=>e})}catch(e){return console.warn("TrustedTypes policy "+i+" could not be created."),null}},ns=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},na=function(e,t,n,r){return t$(e,t)&&tN(e[t])?tH(r.base?tU(r.base):{},e[t],r.transform):n};var nc=function e(){let t,n,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"u"<typeof window?null:window,i=t=>e(t);if(i.version="3.4.11",i.removed=[],!r||!r.document||9!==r.document.nodeType||!r.Element)return i.isSupported=!1,i;let l=r.document,o=l,s=o.currentScript;r.DocumentFragment;let a=r.HTMLTemplateElement,c=r.Node,d=r.Element,u=r.NodeFilter;void 0===r.NamedNodeMap&&(r.NamedNodeMap||r.MozNamedAttrMap),r.HTMLFormElement;let p=r.DOMParser,h=r.trustedTypes,m=d.prototype,f=tq(m,"cloneNode"),g=tq(m,"remove"),x=tq(m,"nextSibling"),b=tq(m,"childNodes"),k=tq(m,"parentNode"),y=tq(m,"shadowRoot"),w=tq(m,"attributes"),j=c&&c.prototype?tq(c.prototype,"nodeType"):null,v=c&&c.prototype?tq(c.prototype,"nodeName"):null;if("function"==typeof a){let e=l.createElement("template");e.content&&e.content.ownerDocument&&(l=e.content.ownerDocument)}let T="",S=!1,N=0,E=function(){if(N>0)throw tF('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},C=function(e){E(),N++;try{return t.createHTML(e)}finally{N--}},_=function(e){E(),N++;try{return t.createScriptURL(e)}finally{N--}},A=l,R=A.implementation,z=A.createNodeIterator,I=A.createDocumentFragment,L=A.getElementsByTagName,M=o.importNode,O=ns();i.isSupported="function"==typeof td&&"function"==typeof k&&R&&void 0!==R.createHTMLDocument;let $=t6,P=null,D=tH({},[...tG,...tW,...tZ,...tQ,...tV]),F=null,B=tH({},[...tK,...tJ,...t0,...t1]),H=Object.seal(tx(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),U=null,q=null,G=Object.seal(tx(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),W=!0,Z=!0,Y=!1,Q=!0,X=!1,V=!0,K=!1,J=!1,ee=null,et=null,en=!1,er=!1,ei=!1,el=!1,eo=!0,es=!1,ea="user-content-",ec=!0,ed=!1,eu={},ep=null,eh=tH({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]),em=null,ef=tH({},["audio","video","img","source","image","track"]),eg=null,ex=tH({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),eb="http://www.w3.org/1998/Math/MathML",ek="http://www.w3.org/2000/svg",ey="http://www.w3.org/1999/xhtml",ew=ey,ej=!1,ev=null,eT=tH({},[eb,ek,ey],tC),eS=tf(["mi","mo","mn","ms","mtext"]),eN=tH({},eS),eE=tf(["annotation-xml"]),eC=tH({},eE),e_=tH({},["title","style","font","a","script"]),eA=null,eR=["application/xhtml+xml","text/html"],ez=null,eI=null,eL=l.createElement("form"),eM=function(e){return e instanceof RegExp||e instanceof Function},eO=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(eI&&eI===e)return;e&&"object"==typeof e||(e={}),e=tU(e),ez="application/xhtml+xml"===(eA=-1===eR.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE)?tC:tE,P=na(e,"ALLOWED_TAGS",D,{transform:ez}),F=na(e,"ALLOWED_ATTR",B,{transform:ez}),ev=na(e,"ALLOWED_NAMESPACES",eT,{transform:tC}),eg=na(e,"ADD_URI_SAFE_ATTR",ex,{transform:ez,base:ex}),em=na(e,"ADD_DATA_URI_TAGS",ef,{transform:ez,base:ef}),ep=na(e,"FORBID_CONTENTS",eh,{transform:ez}),U=na(e,"FORBID_TAGS",tU({}),{transform:ez}),q=na(e,"FORBID_ATTR",tU({}),{transform:ez}),eu=!!t$(e,"USE_PROFILES")&&(e.USE_PROFILES&&"object"==typeof e.USE_PROFILES?tU(e.USE_PROFILES):e.USE_PROFILES),W=!1!==e.ALLOW_ARIA_ATTR,Z=!1!==e.ALLOW_DATA_ATTR,Y=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Q=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,X=e.SAFE_FOR_TEMPLATES||!1,V=!1!==e.SAFE_FOR_XML,K=e.WHOLE_DOCUMENT||!1,er=e.RETURN_DOM||!1,ei=e.RETURN_DOM_FRAGMENT||!1,el=e.RETURN_TRUSTED_TYPE||!1,en=e.FORCE_BODY||!1,eo=!1!==e.SANITIZE_DOM,es=e.SANITIZE_NAMED_PROPS||!1,ec=!1!==e.KEEP_CONTENT,ed=e.IN_PLACE||!1,$=!function(e){try{return tD(e,""),!0}catch(e){return!1}}(e.ALLOWED_URI_REGEXP)?t6:e.ALLOWED_URI_REGEXP,ew="string"==typeof e.NAMESPACE?e.NAMESPACE:ey,eN=t$(e,"MATHML_TEXT_INTEGRATION_POINTS")&&e.MATHML_TEXT_INTEGRATION_POINTS&&"object"==typeof e.MATHML_TEXT_INTEGRATION_POINTS?tU(e.MATHML_TEXT_INTEGRATION_POINTS):tH({},eS),eC=t$(e,"HTML_INTEGRATION_POINTS")&&e.HTML_INTEGRATION_POINTS&&"object"==typeof e.HTML_INTEGRATION_POINTS?tU(e.HTML_INTEGRATION_POINTS):tH({},eE);let r=t$(e,"CUSTOM_ELEMENT_HANDLING")&&e.CUSTOM_ELEMENT_HANDLING&&"object"==typeof e.CUSTOM_ELEMENT_HANDLING?tU(e.CUSTOM_ELEMENT_HANDLING):tx(null);if(H=tx(null),t$(r,"tagNameCheck")&&eM(r.tagNameCheck)&&(H.tagNameCheck=r.tagNameCheck),t$(r,"attributeNameCheck")&&eM(r.attributeNameCheck)&&(H.attributeNameCheck=r.attributeNameCheck),t$(r,"allowCustomizedBuiltInElements")&&"boolean"==typeof r.allowCustomizedBuiltInElements&&(H.allowCustomizedBuiltInElements=r.allowCustomizedBuiltInElements),tg(H),X&&(Z=!1),ei&&(er=!0),eu&&(P=tH({},tV),F=tx(null),!0===eu.html&&(tH(P,tG),tH(F,tK)),!0===eu.svg&&(tH(P,tW),tH(F,tJ),tH(F,t1)),!0===eu.svgFilters&&(tH(P,tZ),tH(F,tJ),tH(F,t1)),!0===eu.mathMl&&(tH(P,tQ),tH(F,t0),tH(F,t1))),G.tagCheck=null,G.attributeCheck=null,t$(e,"ADD_TAGS")&&("function"==typeof e.ADD_TAGS?G.tagCheck=e.ADD_TAGS:tN(e.ADD_TAGS)&&(P===D&&(P=tU(P)),tH(P,e.ADD_TAGS,ez))),t$(e,"ADD_ATTR")&&("function"==typeof e.ADD_ATTR?G.attributeCheck=e.ADD_ATTR:tN(e.ADD_ATTR)&&(F===B&&(F=tU(F)),tH(F,e.ADD_ATTR,ez))),t$(e,"ADD_URI_SAFE_ATTR")&&tN(e.ADD_URI_SAFE_ATTR)&&tH(eg,e.ADD_URI_SAFE_ATTR,ez),t$(e,"FORBID_CONTENTS")&&tN(e.FORBID_CONTENTS)&&(ep===eh&&(ep=tU(ep)),tH(ep,e.FORBID_CONTENTS,ez)),t$(e,"ADD_FORBID_CONTENTS")&&tN(e.ADD_FORBID_CONTENTS)&&(ep===eh&&(ep=tU(ep)),tH(ep,e.ADD_FORBID_CONTENTS,ez)),ec&&(P["#text"]=!0),K&&tH(P,["html","head","body"]),P.table&&(tH(P,["tbody"]),delete U.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw tF('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw tF('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let n=t;t=e.TRUSTED_TYPES_POLICY;try{T=C("")}catch(e){throw t=n,e}}else null===e.TRUSTED_TYPES_POLICY?(t=void 0,T=""):(void 0===t&&(S||(n=no(h,s),S=!0),t=n),t&&"string"==typeof T&&(T=C("")));tf&&tf(e),eI=e},e$=tH({},[...tW,...tZ,...tY]),eP=tH({},[...tQ,...tX]),eD=function(e){var t,n,r;let i=k(e);i&&i.tagName||(i={namespaceURI:ew,tagName:"template"});let l=tE(e.tagName),o=tE(i.tagName);return!!ev[e.namespaceURI]&&(e.namespaceURI===ek?(t=i).namespaceURI===ey?"svg"===l:t.namespaceURI===eb?"svg"===l&&("annotation-xml"===o||eN[o]):!!e$[l]:e.namespaceURI===eb?(n=i).namespaceURI===ey?"math"===l:n.namespaceURI===ek?"math"===l&&eC[o]:!!eP[l]:e.namespaceURI===ey?((r=i).namespaceURI!==ek||!!eC[o])&&(r.namespaceURI!==eb||!!eN[o])&&!eP[l]&&(e_[l]||!e$[l]):"application/xhtml+xml"===eA&&!!ev[e.namespaceURI])},eF=function(e){tT(i.removed,{element:e});try{k(e).removeChild(e)}catch(t){if(g(e),!k(e))throw tF("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},eB=function(e){let t=b(e);if(t){let e=[];tw(t,t=>{tT(e,t)}),tw(e,e=>{try{g(e)}catch(e){}})}let n=w(e);if(n)for(let t=n.length-1;t>=0;--t){let r=n[t],i=r&&r.name;if("string"==typeof i)try{e.removeAttribute(i)}catch(e){}}},eH=function(e,t){try{tT(i.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){tT(i.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e)if(er||ei)try{eF(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},eU=function(e){let t=w(e);if(t)for(let n=t.length-1;n>=0;--n){let r=t[n],i=r&&r.name;if("string"==typeof i&&!F[ez(i)])try{e.removeAttribute(i)}catch(e){}}},eq=function(e){let t=[e];for(;t.length>0;){let e=t.pop();(j?j(e):e.nodeType)===1&&eU(e);let n=b(e);if(n)for(let e=n.length-1;e>=0;--e)t.push(n[e])}},eG=function(e){let n=null,r=null;if(en)e="<remove></remove>"+e;else{let t=t_(e,/^[\r\n\t ]+/);r=t&&t[0]}"application/xhtml+xml"===eA&&ew===ey&&(e='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+e+"</body></html>");let i=t?C(e):e;if(ew===ey)try{n=new p().parseFromString(i,eA)}catch(e){}if(!n||!n.documentElement){n=R.createDocument(ew,"template",null);try{n.documentElement.innerHTML=ej?T:i}catch(e){}}let o=n.body||n.documentElement;return(e&&r&&o.insertBefore(l.createTextNode(r),o.childNodes[0]||null),ew===ey)?L.call(n,K?"html":"body")[0]:K?n.documentElement:o},eW=function(e){return z.call(e.ownerDocument||e,e,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},eZ=function(e){return e=tA(e,t2," "),e=tA(e,t3," "),e=tA(e,t4," ")},eY=function(e){var t;e.normalize();let n=z.call(e.ownerDocument||e,e,u.SHOW_TEXT|u.SHOW_COMMENT|u.SHOW_CDATA_SECTION|u.SHOW_PROCESSING_INSTRUCTION,null),r=n.nextNode();for(;r;)r.data=eZ(r.data),r=n.nextNode();let i=null==(t=e.querySelectorAll)?void 0:t.call(e,"template");i&&tw(i,e=>{eX(e.content)&&eY(e.content)})},eQ=function(e){let t=v?v(e):null;return"string"==typeof t&&"form"===ez(t)&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||e.attributes!==w(e)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes||e.nodeType!==j(e)||e.childNodes!==b(e))},eX=function(e){if(!j||"object"!=typeof e||null===e)return!1;try{return 11===j(e)}catch(e){return!1}},eV=function(e){if(!j||"object"!=typeof e||null===e)return!1;try{return"number"==typeof j(e)}catch(e){return!1}};function eK(e,t,n){0!==e.length&&tw(e,e=>{e.call(i,t,n,eI)})}let eJ=function(e,t){if(!U[t]&&e3(t)&&(H.tagNameCheck instanceof RegExp&&tD(H.tagNameCheck,t)||H.tagNameCheck instanceof Function&&H.tagNameCheck(t)))return!1;if(ec&&!ep[t]){let t=k(e),n=b(e);if(n&&t){let r=n.length;for(let i=r-1;i>=0;--i){let r=ed?n[i]:f(n[i],!0);t.insertBefore(r,x(e))}}}return eF(e),!0},e0=function(e){if(eK(O.beforeSanitizeElements,e,null),eQ(e))return eF(e),!0;let t=ez(v?v(e):e.nodeName);if(eK(O.uponSanitizeElement,e,{tagName:t,allowedTags:P}),V&&e.hasChildNodes()&&!eV(e.firstElementChild)&&tD(nn,e.textContent)&&tD(nn,e.innerHTML)||V&&e.namespaceURI===ey&&"style"===t&&eV(e.firstElementChild)||7===e.nodeType||V&&8===e.nodeType&&tD(nr,e.data)||0)return eF(e),!0;if(U[t]||!(G.tagCheck instanceof Function&&G.tagCheck(t))&&!P[t])return eJ(e,t);if((j?j(e):e.nodeType)===1&&!eD(e)||("noscript"===t||"noembed"===t||"noframes"===t)&&tD(ni,e.innerHTML))return eF(e),!0;if(X&&3===e.nodeType){let t=eZ(e.textContent);e.textContent!==t&&(tT(i.removed,{element:e.cloneNode()}),e.textContent=t)}return eK(O.afterSanitizeElements,e,null),!1},e1=function(e,t,n){if(q[t]||eo&&("id"===t||"name"===t)&&(n in l||n in eL))return!1;let r=F[t]||G.attributeCheck instanceof Function&&G.attributeCheck(t,e);if(Z&&tD(t9,t));else if(W&&tD(t5,t));else if(r){if(eg[t]);else if(tD($,tA(n,t7,"")));else if(("src"===t||"xlink:href"===t||"href"===t)&&"script"!==e&&0===tR(n,"data:")&&em[e]);else if(Y&&!tD(t8,tA(n,t7,"")));else if(n)return!1}else if(!(e3(e)&&(H.tagNameCheck instanceof RegExp&&tD(H.tagNameCheck,e)||H.tagNameCheck instanceof Function&&H.tagNameCheck(e))&&(H.attributeNameCheck instanceof RegExp&&tD(H.attributeNameCheck,t)||H.attributeNameCheck instanceof Function&&H.attributeNameCheck(t,e))||"is"===t&&H.allowCustomizedBuiltInElements&&(H.tagNameCheck instanceof RegExp&&tD(H.tagNameCheck,n)||H.tagNameCheck instanceof Function&&H.tagNameCheck(n))))return!1;return!0},e2=tH({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),e3=function(e){return!e2[tE(e)]&&tD(nt,e)},e4=function(e,n,r,i){if(t&&"object"==typeof h&&"function"==typeof h.getAttributeType&&!r)switch(h.getAttributeType(e,n)){case"TrustedHTML":return C(i);case"TrustedScriptURL":return _(i)}return i},e9=function(e,t,n,r){try{n?e.setAttributeNS(n,t,r):e.setAttribute(t,r),eQ(e)?eF(e):tv(i.removed)}catch(n){eH(t,e)}},e5=function(e){eK(O.beforeSanitizeAttributes,e,null);let t=e.attributes;if(!t||eQ(e))return;let n={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:F,forceKeepAttr:void 0},r=t.length,i=ez(e.nodeName);for(;r--;){let l=t[r],o=l.name,s=l.namespaceURI,a=l.value,c=ez(o),d="value"===o?a:tz(a);if(n.attrName=c,n.attrValue=d,n.keepAttr=!0,n.forceKeepAttr=void 0,eK(O.uponSanitizeAttribute,e,n),d=n.attrValue,es&&("id"===c||"name"===c)&&0!==tR(d,ea)&&(eH(o,e),d=ea+d),V&&tD(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,d)||"attributename"===c&&t_(d,"href")){eH(o,e);continue}if(!n.forceKeepAttr){if(!n.keepAttr||!Q&&tD(nl,d)||(X&&(d=eZ(d)),!e1(i,c,d))){eH(o,e);continue}(d=e4(i,c,s,d))!==a&&e9(e,o,s,d)}}eK(O.afterSanitizeAttributes,e,null)},e6=function(e){let t=null,n=eW(e);for(eK(O.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)if(eK(O.uponSanitizeShadowNode,t,null),e0(t),e5(t),eX(t.content)&&e6(t.content),(j?j(t):t.nodeType)===1){let e=y(t);eX(e)&&(e8(e),e6(e))}eK(O.afterSanitizeShadowDOM,e,null)},e8=function(e){let t=[{node:e,shadow:null}];for(;t.length>0;){let e=t.pop();if(e.shadow){e6(e.shadow);continue}let n=e.node,r=(j?j(n):n.nodeType)===1,i=b(n);if(i)for(let e=i.length-1;e>=0;--e)t.push({node:i[e],shadow:null});if(r){let e=v?v(n):null;if("string"==typeof e&&"template"===ez(e)){let e=n.content;eX(e)&&t.push({node:e,shadow:null})}}if(r){let e=y(n);eX(e)&&t.push({node:null,shadow:e},{node:e,shadow:null})}}};return i.sanitize=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=null,l=null,s=null,a=null;if((ej=!e)&&(e="<!-->"),"string"!=typeof e&&!eV(e)&&"string"!=typeof(e=function(e){switch(typeof e){case"string":return e;case"number":return tI(e);case"boolean":return tL(e);case"bigint":return tM?tM(e):"0";case"symbol":return tO?tO(e):"Symbol()";case"undefined":default:return tP(e);case"function":case"object":{if(null===e)return tP(e);let t=tq(e,"toString");if("function"==typeof t){let n=t(e);return"string"==typeof n?n:tP(n)}return tP(e)}}}(e)))throw tF("dirty is not a string, aborting");if(!i.isSupported)return e;J?(P=ee,F=et):eO(n),(O.uponSanitizeElement.length>0||O.uponSanitizeAttribute.length>0)&&(P=tU(P)),O.uponSanitizeAttribute.length>0&&(F=tU(F)),i.removed=[];let c=ed&&"string"!=typeof e&&eV(e);if(c){let t=v?v(e):e.nodeName;if("string"==typeof t){let e=ez(t);if(!P[e]||U[e])throw tF("root node is forbidden and cannot be sanitized in-place")}if(eQ(e))throw tF("root node is clobbered and cannot be sanitized in-place");try{e8(e)}catch(t){throw eB(e),t}}else if(eV(e))1===(l=(r=eG("<!---->")).ownerDocument.importNode(e,!0)).nodeType&&"BODY"===l.nodeName||"HTML"===l.nodeName?r=l:r.appendChild(l),e8(l);else{if(!er&&!X&&!K&&-1===e.indexOf("<"))return t&&el?C(e):e;if(!(r=eG(e)))return er?null:el?T:""}r&&en&&eF(r.firstChild);let d=eW(c?e:r);try{for(;s=d.nextNode();)e0(s),e5(s),eX(s.content)&&e6(s.content)}catch(t){throw c&&eB(e),t}if(c)return tw(i.removed,e=>{e.element&&eq(e.element)}),X&&eY(e),e;if(er){if(X&&eY(r),ei)for(a=I.call(r.ownerDocument);r.firstChild;)a.appendChild(r.firstChild);else a=r;return(F.shadowroot||F.shadowrootmode)&&(a=M.call(o,a,!0)),a}let u=K?r.outerHTML:r.innerHTML;return K&&P["!doctype"]&&r.ownerDocument&&r.ownerDocument.doctype&&r.ownerDocument.doctype.name&&tD(ne,r.ownerDocument.doctype.name)&&(u="<!DOCTYPE "+r.ownerDocument.doctype.name+">\n"+u),X&&(u=eZ(u)),t&&el?C(u):u},i.setConfig=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};eO(e),J=!0,ee=P,et=F},i.clearConfig=function(){eI=null,J=!1,ee=null,et=null,t=n,T=""},i.isValidAttribute=function(e,t,n){return eI||eO({}),e1(ez(e),ez(t),n)},i.addHook=function(e,t){"function"!=typeof t||t$(O,e)&&tT(O[e],t)},i.removeHook=function(e,t){if(t$(O,e)){if(void 0!==t){let n=tj(O[e],t);return -1===n?void 0:tS(O[e],n,1)[0]}return tv(O[e])}},i.removeHooks=function(e){t$(O,e)&&(O[e]=[])},i.removeAllHooks=function(){O=ns()},i}();function nd({source:e}){let t=(0,i.useMemo)(()=>nc.sanitize(ta.parse(e,{async:!1})),[e]);return(0,n.jsx)("div",{className:"markdown-preview h-full overflow-auto p-5 text-sm leading-relaxed text-text",dangerouslySetInnerHTML:{__html:t}})}var nu=e.i(40273);function np({projectId:e,path:t}){let[r,l]=(0,i.useState)(null),[o,s]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{let n=!1,r=null;return l(null),s(!1),nu.orcaClient.projectRawBlob(e,t).then(e=>{n||l(r=URL.createObjectURL(e))}).catch(()=>{n||s(!0)}),()=>{n=!0,r&&URL.revokeObjectURL(r)}},[e,t]),(0,n.jsx)("div",{className:"flex h-full items-center justify-center overflow-auto bg-bg p-6",children:o?(0,n.jsx)("p",{className:"text-sm text-text-muted",children:t}):r?(0,n.jsx)("img",{src:r,alt:t,className:"max-h-full max-w-full object-contain"}):null})}function nh({tabs:e,active:t,dirty:r,onSelect:i,onClose:l,closeLabel:o}){return 0===e.length?null:(0,n.jsx)("div",{className:"flex items-stretch overflow-x-auto border-b border-border bg-bg/40",children:e.map(e=>{let s=e===t,a=r.has(e);return(0,n.jsxs)("div",{className:`group flex shrink-0 items-center gap-1.5 border-r border-border px-3 py-1.5 text-xs ${s?"bg-surface text-text":"text-text-muted hover:bg-elevated"}`,children:[(0,n.jsx)("button",{type:"button",onClick:()=>i(e),className:"max-w-40 truncate",title:e,children:G(e)}),(0,n.jsxs)("button",{type:"button",onClick:()=>l(e),"aria-label":o,className:"flex h-4 w-4 items-center justify-center rounded text-text-muted hover:bg-bg hover:text-text",children:[a?(0,n.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-accent group-hover:hidden","aria-hidden":!0}):null,(0,n.jsx)(I.X,{size:11,className:a?"hidden group-hover:block":"block","aria-hidden":!0})]})]},e)})})}function nm({projectId:e,onClose:t,initialCommit:r,initialWorking:l}){var o;let s,a,c,d,{t:u}=(0,S.useTranslation)(),{toast:p}=(0,x.useToast)(),h=(0,f.useProjectFiles)(e),[m,b]=(0,i.useState)(null),[y,w]=(0,i.useState)([]),[j]=(0,i.useState)(r??null),[v]=(0,i.useState)(!!l),[_,U]=(0,i.useState)(new Set),[Q,X]=(0,i.useState)("edit"),[V,er]=(0,i.useState)(!1),[ei,el]=(0,i.useState)(!1),[eo,es]=(0,i.useState)(null),[eu,ep]=(0,i.useState)(null),[eh,em]=(0,i.useState)({}),[ef,eg]=(0,i.useState)(new Set),ex=function(){let[e,t]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{let e=window.matchMedia("(max-width: 767px)");t(e.matches);let n=e=>t(e.matches);return e.addEventListener("change",n),()=>e.removeEventListener("change",n)},[]),e}(),[eb,ek]=(0,i.useState)(!1),ey=(0,f.useProjectCommit)(e,j),ew=(0,f.useProjectChanges)(e,v),ej=(0,f.useProjectCommitFileDiff)(e,j,j?m:null),ev=(0,f.useProjectChanged)(e).data?.changed??[],eT=(0,i.useMemo)(()=>new Set(j?ey.data?.files??[]:ev),[j,ey.data?.files,ev]),eS=(0,f.useProjectFile)(e,m),eN=(0,g.useWriteProjectFile)(),eE=(0,g.useNewProjectFile)(),eC=(0,g.useNewProjectDir)(),e_=(0,g.useRenameProjectEntry)(),eA=(0,g.useCopyProjectEntry)(),eR=(0,g.useDeleteProjectEntry)(),ez=(0,i.useMemo)(()=>(function(e){let t={name:"",path:"",type:"dir",children:[]},n=new Map([["",t]]);for(let r of[...e].sort((e,t)=>e.path.localeCompare(t.path))){let e=r.path.split("/"),i=e.slice(0,-1).join("/"),l={name:e[e.length-1]??r.path,path:r.path,type:r.type,children:[]};(n.get(i)??t).children.push(l),"dir"===r.type&&n.set(r.path,l)}let r=e=>{e.children.sort((e,t)=>e.type===t.type?e.name.localeCompare(t.name):"dir"===e.type?-1:1),e.children.forEach(r)};return r(t),t.children})(h.data??[]),[h.data]),eI=eS.data?.content??"",eL=(null!=m?eh[m]:void 0)??eI,eM=null!=m&&ef.has(m),eO=null!=m&&Y.has(q(m)),e$=null!=m&&("md"===q(m)||"markdown"===q(m)),eP=null!=m&&!eO&&!j&&!v,eD="preview"!==Q||e$?Q:"edit",eF=(0,f.useProjectFileAtHead)(e,m,eP&&"diff"===eD),eB=e=>{b(e),w(t=>t.includes(e)?t:[...t,e]),X("edit")},eH=e=>U(t=>{let n=new Set(t),r="";for(let t of e.split("/").filter(Boolean))r=r?`${r}/${t}`:t,n.add(r);return n});(0,i.useEffect)(()=>{if(!ei)return;let e=e=>{"Escape"!==e.key||eu||eo||(e.stopPropagation(),el(!1),ek(!1))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[ei,eu,eo]),(0,i.useEffect)(()=>{ex&&el(!0)},[ex]),(0,i.useEffect)(()=>{ei&&ex||ek(!1)},[ei,ex]);let eU=()=>{null==m||eN.mutate({id:e,path:m,content:eL},{onSuccess:()=>{em(e=>{let t={...e};return delete t[m],t}),eg(e=>{let t=new Set(e);return t.delete(m),t}),p(u.projects.fileSaved.replace("{path}",m))},onError:e=>p(String(e),"error")})},eq=e=>p(String(e),"error"),eG=eu?.kind==="newFile"?u.projects.dlgNewFile:eu?.kind==="newFolder"?u.projects.dlgNewFolder:eu?.kind==="rename"?u.projects.dlgRename:eu?.kind==="duplicate"?u.projects.dlgDuplicate:"",eW=eu?.kind==="rename"?G(eu.target):eu?.kind==="duplicate"?G((c=(a=(s=G(o=eu.target)).lastIndexOf("."))>0?s.slice(0,a):s,d=a>0?s.slice(a):"",Z(W(o),`${c} copy${d}`))):"";return(0,n.jsxs)("div",{className:ei?"fixed inset-0 z-50 flex h-screen flex-col overflow-hidden bg-surface":"mt-5 flex h-[70vh] flex-col overflow-hidden rounded-lg border border-border bg-surface",style:ei?void 0:{boxShadow:"var(--shadow-card)"},children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 border-b border-border px-3 py-2",children:[ex&&ei&&(0,n.jsx)("button",{type:"button",onClick:()=>ek(e=>!e),"aria-pressed":eb,"aria-label":u.projects.toggleTree,title:u.projects.toggleTree,className:`flex h-7 w-7 items-center justify-center rounded-md transition-colors ${eb?"bg-accent/15 text-accent":"text-text-muted hover:bg-elevated hover:text-text"}`,children:(0,n.jsx)(H,{size:15})}),(0,n.jsx)(N,{size:15,className:"text-accent","aria-hidden":!0}),(0,n.jsx)("span",{className:"text-sm font-semibold text-text",children:u.projects.editorTitle}),v?(0,n.jsxs)("span",{className:"truncate font-mono text-xs text-warning",children:[(0,n.jsx)(z,{size:11,className:"mr-1 inline","aria-hidden":!0}),u.projects.workingChanges]}):j?(0,n.jsxs)("button",{type:"button",onClick:()=>b(null),disabled:!m,title:m?u.projects.viewCommit:void 0,className:"flex min-w-0 items-center truncate font-mono text-xs text-accent transition-colors enabled:hover:text-text disabled:cursor-default",children:[(0,n.jsx)(z,{size:11,className:"mr-1 inline shrink-0","aria-hidden":!0}),(0,n.jsxs)("span",{className:"truncate",children:[u.projects.commitLabel," ",j.slice(0,8),m?` \xb7 ${m}`:""]})]}):null,(0,n.jsxs)("div",{className:"ml-auto flex items-center gap-1.5",children:[eP?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(k.Button,{variant:"edit"===eD?"accent":"ghost",onClick:()=>X("edit"),children:u.projects.tabEdit}),e$?(0,n.jsx)(k.Button,{variant:"preview"===eD?"accent":"ghost",icon:P.Eye,onClick:()=>X("preview"),children:u.projects.tabPreview}):null,(0,n.jsx)(k.Button,{variant:"diff"===eD?"accent":"ghost",icon:z,onClick:()=>X("diff"),children:u.projects.tabDiff}),(0,n.jsx)(k.Button,{variant:V?"accent":"ghost",icon:D,"aria-label":u.projects.wordWrap,title:u.projects.wordWrap,onClick:()=>er(e=>!e)}),(0,n.jsx)(k.Button,{variant:"accent",icon:R.Save,disabled:!eM||eN.isPending,onClick:eU,children:u.common.save})]}):null,(0,n.jsx)("button",{type:"button","aria-label":u.common.close,onClick:t,className:"flex h-7 w-7 items-center justify-center rounded-md text-text-muted transition-colors hover:bg-elevated hover:text-text",children:(0,n.jsx)(I.X,{size:15})})]})]}),(0,n.jsxs)("div",{className:"flex min-h-0 flex-1",children:[ex&&ei&&!eb?null:(0,n.jsxs)("div",{className:`flex shrink-0 flex-col border-r border-border bg-bg/40 ${ex&&ei?"absolute inset-y-0 left-0 z-10 w-[80%] max-w-72 shadow-lg":"w-64"}`,children:[(0,n.jsx)("div",{className:"min-h-0 flex-1 overflow-auto p-1.5",children:h.isLoading?(0,n.jsx)(T.LoadingState,{}):(0,n.jsx)(K,{tree:ez,expanded:_,onToggle:e=>U(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),selected:m,onSelect:e=>{j?b(e):eB(e),ex&&ei&&ek(!1)},changed:eT,onContextMenu:(e,t)=>es({x:e.clientX,y:e.clientY,items:(e=>{if(!e)return[{label:u.projects.ctxNewFile,icon:L,onClick:()=>ep({kind:"newFile",dir:""})},{label:u.projects.ctxNewFolder,icon:M,onClick:()=>ep({kind:"newFolder",dir:""})}];let t=[{label:u.projects.ctxRename,icon:E.Pencil,onClick:()=>ep({kind:"rename",target:e.path})},{label:u.projects.ctxDuplicate,icon:O.Copy,onClick:()=>ep({kind:"duplicate",target:e.path})},{label:u.projects.ctxDelete,icon:C.Trash2,danger:!0,onClick:()=>ep({kind:"delete",target:e.path})},J,{label:u.projects.ctxCopyPath,icon:$,onClick:()=>{var t;return t=e.path,void navigator.clipboard?.writeText(t).then(()=>p(u.projects.pathCopied)).catch(()=>{})}}];return"dir"===e.type?[{label:u.projects.ctxNewFile,icon:L,onClick:()=>ep({kind:"newFile",dir:e.path})},{label:u.projects.ctxNewFolder,icon:M,onClick:()=>ep({kind:"newFolder",dir:e.path})},J,...t]:[{label:u.projects.ctxOpen,icon:A.File,onClick:()=>eB(e.path)},J,...t]})(t)}),emptyLabel:u.projects.noFiles,treeLabel:u.projects.editorTitle})}),(0,n.jsx)("div",{className:"shrink-0 border-t border-border p-1.5",children:(0,n.jsxs)("button",{type:"button",onClick:()=>el(e=>!e),"aria-pressed":ei,title:ei?u.projects.exitFullscreen:u.projects.fullscreen,className:"flex w-full items-center justify-center gap-2 rounded-md border border-border bg-elevated px-2 py-1.5 text-xs font-medium text-text-muted transition-colors hover:border-border-strong hover:text-text",children:[ei?(0,n.jsx)(B.Minimize2,{size:13,"aria-hidden":!0}):(0,n.jsx)(F.Maximize2,{size:13,"aria-hidden":!0}),ei?u.projects.exitFullscreen:u.projects.fullscreen]})})]}),(0,n.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[j||v?null:(0,n.jsx)(nh,{tabs:y,active:m,dirty:ef,onSelect:b,onClose:e=>{w(t=>{let n=t.filter(t=>t!==e);return m===e&&b(n[n.length-1]??null),n})},closeLabel:u.common.close}),(0,n.jsx)("div",{className:"min-h-0 flex-1",children:v?(0,n.jsx)(ed.PatchView,{diff:ew.data?.diff??"",empty:ew.isLoading?u.common.loading:u.projects.noChanges}):j&&m?(0,n.jsx)(ed.PatchView,{diff:ej.data?.diff??"",empty:ej.isLoading?u.common.loading:u.projects.noChanges}):j?(0,n.jsx)(ed.PatchView,{diff:ey.data?.diff??"",empty:ey.isLoading?u.common.loading:u.projects.noChanges}):m?eO?(0,n.jsx)(np,{projectId:e,path:m}):eS.data?.truncated?(0,n.jsx)("p",{className:"p-4 text-center text-sm text-text-muted",children:u.projects.fileTooBig}):"diff"===eD?eF.isLoading?(0,n.jsx)(T.LoadingState,{}):(0,n.jsx)(ec,{path:m,original:eF.data?.content??"",modified:eL}):"preview"===eD?(0,n.jsx)(nd,{source:eL}):(0,n.jsx)(ea,{path:m,value:eL,onChange:e=>{null!=m&&(em(t=>({...t,[m]:e})),eg(t=>{let n=new Set(t);return e!==eI?n.add(m):n.delete(m),n}))},onSave:eU,wordWrap:V}):(0,n.jsx)(T.EmptyState,{title:u.projects.selectFile,icon:A.File})})]})]}),eo?(0,n.jsx)(ee,{state:eo,onClose:()=>es(null)}):null,eu&&"delete"===eu.kind?(0,n.jsx)(en,{title:u.projects.dlgDelete,message:u.projects.dlgDeleteMsg.replace("{name}",G(eu.target)),confirmLabel:u.projects.ctxDelete,danger:!0,icon:C.Trash2,onConfirm:()=>{if(eu?.kind!=="delete")return;let t=eu.target;eR.mutate({id:e,path:t},{onSuccess:()=>{let e;e=e=>e===t||e.startsWith(t+"/"),w(t=>t.filter(t=>!e(t))),em(t=>{let n={...t};for(let t of Object.keys(n))e(t)&&delete n[t];return n}),eg(t=>new Set([...t].filter(t=>!e(t)))),b(t=>t&&e(t)?null:t),p(u.projects.deleted.replace("{path}",t))},onError:eq}),ep(null)},onCancel:()=>ep(null)}):eu?(0,n.jsx)(et,{title:eG,label:u.projects.dlgName,initialValue:eW,confirmLabel:u.common.save,onConfirm:t=>{if(eu){if("newFile"===eu.kind){let n=Z(eu.dir,t);eE.mutate({id:e,path:n},{onSuccess:()=>{eH(eu.dir),eB(n),p(u.projects.fileCreated.replace("{path}",n))},onError:eq})}else if("newFolder"===eu.kind){let n=Z(eu.dir,t);eC.mutate({id:e,path:n},{onSuccess:()=>{eH(n),p(u.projects.folderCreated.replace("{path}",n))},onError:eq})}else if("rename"===eu.kind){let n=Z(W(eu.target),t);e_.mutate({id:e,from:eu.target,to:n},{onSuccess:()=>{var e;let t;e=eu.target,t=t=>t===e?n:t.startsWith(e+"/")?n+t.slice(e.length):t,w(e=>e.map(t)),em(e=>{let n={};for(let[r,i]of Object.entries(e))n[t(r)]=i;return n}),eg(e=>new Set([...e].map(t))),b(e=>e?t(e):e),p(u.projects.renamed.replace("{path}",n))},onError:eq})}else if("duplicate"===eu.kind){let n=Z(W(eu.target),t);eA.mutate({id:e,from:eu.target,to:n},{onSuccess:()=>{p(u.projects.duplicated.replace("{path}",n))},onError:eq})}ep(null)}},onCancel:()=>ep(null)}):null]})}var nf=e.i(73141),_=_;let ng=/\.(png|jpe?g|gif|webp|svg|ico|bmp|avif)$/i;function nx({project:e,onClose:t}){let{t:r}=(0,S.useTranslation)(),{toast:l}=(0,x.useToast)(),o=(0,f.useProjectFiles)(e.id),s=(0,g.useSetProjectIcon)(),[a,c]=(0,i.useState)(""),[d,u]=(0,i.useState)(e.icon||null),p=(0,i.useMemo)(()=>{let e=(o.data??[]).filter(e=>"file"===e.type&&ng.test(e.path)),t=a.trim().toLowerCase();return(t?e.filter(e=>e.path.toLowerCase().includes(t)):e).slice(0,300)},[o.data,a]),h=(0,i.useMemo)(()=>{let e=new Map;for(let t of p){let n=t.path.lastIndexOf("/"),r=n>=0?t.path.slice(0,n):"/";(e.get(r)??e.set(r,[]).get(r)).push(t.path)}return[...e.entries()].sort((e,t)=>e[0].localeCompare(t[0]))},[p]);function m(n,i=!1){s.mutate({id:e.id,icon:n},{onSuccess:()=>{l(i?r.projects.iconRemoved:r.projects.iconSet),t()},onError:e=>l(String(e),"error")})}return(0,n.jsxs)(j.Modal,{title:r.projects.chooseIcon,description:e.slug,onClose:t,size:"xl",icon:_.default,children:[(0,n.jsx)("div",{className:"border-b border-border px-5 py-3",children:(0,n.jsx)(y.Input,{value:a,onChange:e=>c(e.target.value),placeholder:r.projects.iconSearch,autoFocus:!0})}),(0,n.jsxs)(j.ModalBody,{gap:6,children:[o.isLoading?(0,n.jsx)(T.LoadingState,{}):0===p.length?(0,n.jsx)(T.EmptyState,{title:r.projects.noImages,icon:_.default}):h.map(([t,r])=>(0,n.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,n.jsx)("span",{className:"font-mono text-[11px] uppercase tracking-wide text-text-muted",children:t}),(0,n.jsx)("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(84px,1fr))] gap-2",children:r.map(t=>{let r=d===t,i=t.slice(t.lastIndexOf("/")+1);return(0,n.jsxs)("button",{type:"button",onClick:()=>u(t),onDoubleClick:()=>m(t),title:t,"aria-pressed":r,className:`flex flex-col items-center gap-1.5 rounded-lg border p-2 transition-colors ${r?"border-accent bg-accent/[0.08]":"border-border bg-surface hover:border-border-strong hover:bg-elevated"}`,children:[(0,n.jsx)("span",{className:"flex h-12 w-12 items-center justify-center overflow-hidden rounded-md border border-border bg-bg",children:(0,n.jsx)(nf.ProjectIcon,{project:{id:e.id,icon:t},size:40})}),(0,n.jsx)("span",{className:"w-full truncate text-center text-[11px] text-text-muted",children:i})]},t)})})]},t)),p.length>=300&&(0,n.jsx)("p",{className:"text-xs text-text-muted",children:r.projects.iconMore})]}),(0,n.jsxs)(j.ModalFooter,{children:[e.icon?(0,n.jsx)(k.Button,{variant:"danger",onClick:()=>m("",!0),disabled:s.isPending,children:r.projects.iconRemove}):null,(0,n.jsx)("div",{className:"flex-1"}),(0,n.jsx)(k.Button,{variant:"ghost",onClick:t,children:r.common.cancel}),(0,n.jsx)(k.Button,{variant:"accent",onClick:()=>d&&m(d),disabled:s.isPending||!d,children:r.projects.iconSelect})]})]})}function nb(){let e,t=(0,f.useProjects)(),[r,o]=(0,i.useState)(null),[A,R]=(0,i.useState)(null),[z,I]=(0,i.useState)(null),[L,M]=(0,i.useState)(!1),[O,$]=(0,i.useState)(!1),P=e=>{R(r),I(e),M(!1)},D=(0,f.useProjectGit)(r),{toast:F}=(0,x.useToast)(),{t:B}=(0,S.useTranslation)(),H=(0,g.useCreateProject)(),U=(0,g.useUpdateProject)(),q=(0,g.useRemoveProject)(),[G,W]=(0,i.useState)(null),[Z,Y]=(0,i.useState)(""),[Q,X]=(0,i.useState)(""),[V,K]=(0,i.useState)(""),[J,ee]=(0,i.useState)(null),[et,en]=(0,i.useState)(""),[er,ei]=(0,i.useState)(""),[el,eo]=(0,i.useState)(null);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(v.ModuleHeader,{title:B.page.projects,count:t.data?.length,icon:l.FolderGit2,children:(0,n.jsx)(k.Button,{variant:"accent",icon:c.Plus,onClick:()=>$(!0),children:B.projects.newProject})}),t.isLoading?(0,n.jsx)(T.LoadingState,{variant:"cards"}):t.isError?(0,n.jsx)(T.ErrorState,{message:B.projects.loadError,onRetry:()=>t.refetch()}):t.data&&0!==t.data.length?(0,n.jsx)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3",children:t.data.map(e=>{let t=r===e.id,i=t&&D.data?.isRepo?D.data.status:null;return(0,n.jsxs)("div",{role:"button",tabIndex:0,onClick:()=>o(e.id),onKeyDown:t=>{"Enter"===t.key&&o(e.id)},className:`card-interactive group flex cursor-pointer gap-3.5 rounded-lg border p-3.5 ${t?"border-accent bg-accent/[0.06]":"border-border bg-surface"}`,children:[(0,n.jsx)("div",{className:"flex shrink-0 items-center",children:(0,n.jsx)("span",{className:"flex h-12 w-12 items-center justify-center overflow-hidden rounded-xl border-2 border-border bg-elevated",children:(0,n.jsx)(nf.ProjectIcon,{project:e,size:e.icon?44:24,className:"text-text-muted"})})}),(0,n.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-1.5",children:[(0,n.jsx)("span",{className:"truncate font-semibold text-text",children:e.slug}),(0,n.jsxs)("span",{className:"flex items-center gap-1 truncate font-mono text-xs text-text-muted",children:[(0,n.jsx)(m,{size:11,className:"shrink-0","aria-hidden":!0}),e.path]}),t&&D.isLoading&&(0,n.jsx)("span",{className:"font-mono text-[11px] text-text-muted animate-pulse",children:B.common.loading}),t&&D.data&&!D.data.isRepo&&(0,n.jsx)(b.Badge,{tone:"muted",children:B.projects.notGit}),i&&(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 pt-0.5",children:[(0,n.jsxs)(b.Badge,{tone:"accent",children:[(0,n.jsx)(s,{size:11,className:"mr-1","aria-hidden":!0}),i.branch]}),i.clean?(0,n.jsxs)(b.Badge,{tone:"success",children:[(0,n.jsx)(d.CheckCircle2,{size:11,className:"mr-1","aria-hidden":!0}),B.projects.clean]}):(0,n.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),R(r),I(null),M(!0)},title:B.projects.viewChanges,className:"transition-opacity hover:opacity-80",children:(0,n.jsxs)(b.Badge,{tone:"warning",children:[(0,n.jsx)(u.AlertTriangle,{size:11,className:"mr-1","aria-hidden":!0}),B.projects.dirty.replace("{count}",String(i.dirty))]})}),i.ahead>0&&(0,n.jsxs)(b.Badge,{tone:"accent",children:[(0,n.jsx)(p,{size:11,className:"mr-0.5","aria-hidden":!0}),i.ahead]}),i.behind>0&&(0,n.jsxs)(b.Badge,{tone:"muted",children:[(0,n.jsx)(h,{size:11,className:"mr-0.5","aria-hidden":!0}),i.behind]})]})]})]},e.id)})}):(0,n.jsx)(T.EmptyState,{title:B.projects.empty,icon:l.FolderGit2,action:(0,n.jsx)(k.Button,{variant:"accent",icon:c.Plus,onClick:()=>$(!0),children:B.projects.newProject})}),r&&!A?(0,n.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[(0,n.jsx)(k.Button,{variant:"accent",icon:N,onClick:()=>P(null),children:B.projects.openEditor}),(0,n.jsx)(k.Button,{icon:E.Pencil,onClick:()=>{let e=t.data?.find(e=>e.id===r);e&&(ee(e),en(e.path),ei(e.notes))},children:B.projects.editProject})]}):null,A?(0,n.jsx)(nm,{projectId:A,initialCommit:z,initialWorking:L,onClose:()=>{R(null),I(null),M(!1)}},L?"working":z??"files"):null,r&&D.data?.isRepo&&(D.data.branches.length>0||D.data.commits.length>0)&&(0,n.jsxs)("div",{className:"mt-5 flex flex-col gap-5 rounded-lg border border-border bg-surface p-4",style:{boxShadow:"var(--shadow-card)"},children:[D.data.branches.length>0&&(0,n.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 text-sm font-medium text-text",children:[(0,n.jsx)(s,{size:14,className:"text-text-muted","aria-hidden":!0}),B.projects.branches]}),(0,n.jsx)("div",{className:"flex flex-wrap gap-2",children:D.data.branches.map(e=>(0,n.jsxs)(b.Badge,{tone:e.current?"accent":"muted",children:[e.name,e.current?" *":""]},e.name))})]}),D.data.commits.length>0&&(0,n.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 text-sm font-medium text-text",children:[(0,n.jsx)(a.GitCommitHorizontal,{size:14,className:"text-text-muted","aria-hidden":!0}),B.projects.commits]}),(0,n.jsx)("ul",{className:"flex flex-col gap-2",children:D.data.commits.map(e=>(0,n.jsx)("li",{children:(0,n.jsxs)("button",{type:"button",onClick:()=>P(e.hash),title:B.projects.viewCommit,className:"flex w-full flex-wrap items-center gap-2 rounded-md border border-border bg-bg px-3 py-2 text-left text-sm transition-colors hover:border-accent/50 hover:bg-elevated",children:[(0,n.jsx)(a.GitCommitHorizontal,{size:12,className:"shrink-0 text-text-muted","aria-hidden":!0}),(0,n.jsx)("span",{className:"font-mono text-xs text-accent",children:e.hash}),(0,n.jsx)("span",{className:"min-w-0 flex-1 truncate text-text",children:e.subject}),(0,n.jsxs)("span",{className:"shrink-0 text-xs text-text-muted",children:[e.author," · ",e.relative]})]})},e.hash))})]})]}),r&&D.isError&&(0,n.jsx)("div",{className:"mt-5",children:(0,n.jsx)(T.ErrorState,{message:B.projects.gitError,onRetry:()=>D.refetch()})}),O&&(0,n.jsxs)(j.Modal,{title:B.projects.newProject,onClose:()=>$(!1),size:"md",icon:l.FolderGit2,children:[(0,n.jsxs)(j.ModalBody,{gap:4,children:[(0,n.jsx)(w.Field,{label:B.projects.fieldSlug,hint:B.projects.slugHint,children:(0,n.jsx)(y.Input,{value:Z,onChange:e=>Y(e.target.value),placeholder:B.projects.slugPlaceholder,autoFocus:!0})}),(0,n.jsx)(w.Field,{label:B.projects.fieldPath,hint:B.projects.pathHint,children:(0,n.jsx)(y.Input,{value:Q,onChange:e=>X(e.target.value),placeholder:B.projects.pathPlaceholder,className:"font-mono text-xs"})}),(0,n.jsx)(w.Field,{label:B.projects.fieldNotes,hint:B.projects.notesHint,children:(0,n.jsx)("textarea",{value:V,onChange:e=>K(e.target.value),rows:4,className:"w-full resize-none rounded-md border border-border bg-surface px-3 py-2 text-sm text-text placeholder:text-text-muted focus:border-accent focus:outline-none"})})]}),(0,n.jsxs)(j.ModalFooter,{children:[(0,n.jsx)(k.Button,{variant:"ghost",onClick:()=>$(!1),children:B.common.cancel}),(0,n.jsx)(k.Button,{variant:"accent",onClick:function(){H.mutate({slug:Z,path:Q,notes:V},{onSuccess:()=>{$(!1),Y(""),X(""),K(""),F(B.projects.created)},onError:e=>F(String(e),"error")})},disabled:H.isPending||!Z.trim()||!Q.trim(),children:B.projects.create})]})]}),J&&(0,n.jsxs)(j.Modal,{title:B.projects.editProject,onClose:()=>ee(null),size:"md",icon:l.FolderGit2,children:[(0,n.jsxs)(j.ModalBody,{gap:4,children:[(0,n.jsx)(w.Field,{label:B.projects.fieldSlug,hint:B.projects.slugImmutable,children:(0,n.jsx)(y.Input,{value:J.slug,disabled:!0,className:"font-mono text-xs opacity-60"})}),(0,n.jsx)(w.Field,{label:B.projects.iconLabel,hint:B.projects.iconHint,children:(e=t.data?.find(e=>e.id===J.id)??J,(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("span",{className:"flex h-10 w-10 items-center justify-center overflow-hidden rounded-lg border border-border bg-elevated",children:(0,n.jsx)(nf.ProjectIcon,{project:e,size:e.icon?36:22,className:"text-text-muted"})}),(0,n.jsx)(k.Button,{icon:_.default,onClick:()=>eo(e),children:B.projects.chooseIcon}),e.icon?(0,n.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-xs text-text-muted",title:e.icon,children:e.icon}):null]}))}),(0,n.jsx)(w.Field,{label:B.projects.fieldPath,hint:B.projects.pathHint,children:(0,n.jsx)(y.Input,{value:et,onChange:e=>en(e.target.value),className:"font-mono text-xs"})}),(0,n.jsx)(w.Field,{label:B.projects.fieldNotes,hint:B.projects.notesHint,children:(0,n.jsx)("textarea",{value:er,onChange:e=>ei(e.target.value),rows:4,className:"w-full resize-none rounded-md border border-border bg-surface px-3 py-2 text-sm text-text placeholder:text-text-muted focus:border-accent focus:outline-none"})})]}),(0,n.jsxs)(j.ModalFooter,{children:[(0,n.jsx)(k.Button,{variant:"danger",icon:C.Trash2,onClick:()=>{ee(null),W(J)},children:B.projects.removeProject}),(0,n.jsx)("div",{className:"flex-1"}),(0,n.jsx)(k.Button,{variant:"ghost",onClick:()=>ee(null),children:B.common.cancel}),(0,n.jsx)(k.Button,{variant:"accent",onClick:function(){J&&U.mutate({id:J.id,path:et,notes:er},{onSuccess:()=>{ee(null),F(B.projects.updated)},onError:e=>F(String(e),"error")})},disabled:U.isPending||!et.trim(),children:B.common.save})]})]}),el&&(0,n.jsx)(nx,{project:el,onClose:()=>eo(null)}),G&&(0,n.jsxs)(j.Modal,{title:B.projects.removeConfirmTitle,onClose:()=>W(null),size:"sm",icon:u.AlertTriangle,children:[(0,n.jsx)(j.ModalBody,{children:(0,n.jsx)("p",{className:"text-sm text-text-muted",children:B.projects.removeConfirmBody.replace("{slug}",G.slug)})}),(0,n.jsxs)(j.ModalFooter,{children:[(0,n.jsx)(k.Button,{variant:"ghost",onClick:()=>W(null),children:B.common.cancel}),(0,n.jsx)(k.Button,{variant:"danger",icon:C.Trash2,onClick:function(){if(!G)return;let e=G.id;q.mutate(e,{onSuccess:()=>{W(null),r===e&&o(null),F(B.projects.removed)},onError:e=>F(String(e),"error")})},disabled:q.isPending,children:B.projects.removeConfirmBtn})]})]})]})}e.s(["default",0,function(){return(0,n.jsx)(r.ModuleShell,{moduleId:"projects",children:(0,n.jsx)(nb,{})})},"dynamic",0,"force-dynamic"],39012)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,51509,e=>{"use strict";var t=e.i(43476);e.s(["ModuleHeader",0,function({title:e,count:a,icon:s,children:l}){return(0,t.jsxs)("div",{className:"z-20 -mx-4 -mt-4 mb-5 flex flex-col gap-2 border-b border-border bg-bg px-4 py-3 md:sticky md:top-0 md:flex-row md:flex-wrap md:items-center md:gap-x-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[s?(0,t.jsx)(s,{size:16,className:"shrink-0 text-text-muted","aria-hidden":!0}):null,(0,t.jsx)("h1",{className:"text-base font-semibold tracking-tight text-text",children:e}),void 0!==a?(0,t.jsx)("span",{className:"rounded-full bg-elevated px-2 py-0.5 font-mono text-[11px] text-text-muted",children:a}):null]}),l?(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-2 md:ml-auto",children:l}):null]})}])},26178,e=>{"use strict";var t=e.i(43476);e.s(["ModuleShell",0,function({moduleId:e,children:a}){return(0,t.jsx)("section",{"data-module":e,className:"module-root flex flex-col gap-4",children:a})}])},44375,e=>{"use strict";var t=e.i(43476),a=e.i(76525);e.i(69530);var s=e.i(2942);e.s(["EmptyState",0,function({title:e,description:a,icon:s,action:l}){return(0,t.jsxs)("div",{className:"flex animate-fade-up flex-col items-center justify-center gap-3 py-14 text-center",children:[s?(0,t.jsx)(s,{size:28,strokeWidth:1.25,className:"text-text-muted/40","aria-hidden":!0}):null,(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)("p",{className:"text-sm uppercase tracking-wide text-text",children:e}),a&&(0,t.jsx)("p",{className:"text-xs text-text-muted",children:a})]}),l]})},"ErrorState",0,function({message:e,onRetry:l}){let{t:r}=(0,s.useTranslation)();return(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center gap-2 py-12 text-center",children:[(0,t.jsx)("p",{className:"text-sm text-accent",children:e}),l&&(0,t.jsx)(a.Button,{onClick:l,children:r.common.retry})]})},"LoadingState",0,function({label:e,variant:a="list"}){let{t:l}=(0,s.useTranslation)();return e?(0,t.jsx)("div",{className:"flex items-center justify-center py-12 font-mono text-xs text-text-muted animate-pulse",children:e}):"cards"===a?(0,t.jsx)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3","aria-busy":"true","aria-label":l.common.loading,children:[0,1,2,3,4,5].map(e=>(0,t.jsxs)("div",{className:"flex flex-col gap-2.5 rounded-lg border border-border bg-surface p-3",style:{boxShadow:"var(--shadow-card)"},children:[(0,t.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,t.jsx)("div",{className:"skeleton h-9 w-9 rounded-lg"}),(0,t.jsxs)("div",{className:"flex flex-1 flex-col gap-1.5",children:[(0,t.jsx)("div",{className:"skeleton h-3.5 w-2/3 rounded"}),(0,t.jsx)("div",{className:"skeleton h-3 w-1/3 rounded"})]})]}),(0,t.jsx)("div",{className:"skeleton h-6 w-full rounded-md"})]},e))}):"kanban"===a?(0,t.jsx)("div",{className:"flex gap-3 overflow-hidden","aria-busy":"true","aria-label":l.common.loading,children:[0,1,2,3,4].map(e=>(0,t.jsxs)("div",{className:"flex min-w-[14rem] flex-1 flex-col gap-2 rounded-lg border border-border bg-surface p-2",children:[(0,t.jsx)("div",{className:"skeleton h-3 w-20 rounded"}),[0,1,2].map(e=>(0,t.jsx)("div",{className:"skeleton h-12 w-full rounded-md"},e))]},e))}):(0,t.jsx)("div",{className:"flex flex-col gap-2.5 py-2","aria-busy":"true","aria-label":l.common.loading,children:[88,72,80,64].map((e,a)=>(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("div",{className:"skeleton h-4 w-4 rounded-md"}),(0,t.jsx)("div",{className:"skeleton h-3.5 rounded",style:{width:`${e}%`}})]},a))})}])},89890,e=>{"use strict";var t=e.i(43476);let a={default:"border-border bg-elevated text-text-muted",accent:"border-accent/40 bg-accent/10 text-accent",muted:"border-border bg-elevated text-text-muted",danger:"border-danger/40 bg-danger/10 text-danger",success:"border-success/40 bg-success/10 text-success",warning:"border-warning/40 bg-warning/10 text-warning"};e.s(["Badge",0,function({children:e,tone:s="default"}){return(0,t.jsx)("span",{className:`inline-flex items-center rounded-md border px-2 py-0.5 font-mono text-[11px] font-medium ${a[s]}`,children:e})}])},81418,e=>{"use strict";let t=(0,e.i(75254).default)("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["ShieldCheck",0,t],81418)},56909,e=>{"use strict";let t=(0,e.i(75254).default)("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);e.s(["Save",0,t],56909)},43531,e=>{"use strict";let t=(0,e.i(75254).default)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",0,t],43531)},65261,92025,e=>{"use strict";let t=(0,e.i(75254).default)("KeyRound",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);e.s(["KeyRound",0,t],65261);var a=e.i(43476);e.s(["SettingCard",0,function({title:e,description:t,icon:s,children:l}){return(0,a.jsxs)("div",{className:"card-interactive flex flex-col gap-3.5 rounded-lg border border-border bg-surface p-5",children:[(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[s?(0,a.jsx)(s,{size:16,className:"mt-0.5 text-text-muted","aria-hidden":!0}):null,(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,a.jsx)("span",{className:"text-sm font-medium text-text",children:e}),t?(0,a.jsx)("span",{className:"font-mono text-xs text-text-muted",children:t}):null]})]}),(0,a.jsx)("div",{children:l})]})}],92025)},88111,e=>{"use strict";var t=e.i(43476),a=e.i(26178),s=e.i(71645),l=e.i(75254);let r=(0,l.default)("UserCog",[["circle",{cx:"18",cy:"15",r:"3",key:"gjjjvw"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M10 15H6a4 4 0 0 0-4 4v2",key:"1nfge6"}],["path",{d:"m21.7 16.4-.9-.3",key:"12j9ji"}],["path",{d:"m15.2 13.9-.9-.3",key:"1fdjdi"}],["path",{d:"m16.6 18.7.3-.9",key:"heedtr"}],["path",{d:"m19.1 12.2.3-.9",key:"1af3ki"}],["path",{d:"m19.6 18.7-.4-1",key:"1x9vze"}],["path",{d:"m16.8 12.3-.4-1",key:"vqeiwj"}],["path",{d:"m14.3 16.6 1-.4",key:"1qlj63"}],["path",{d:"m20.7 13.8 1-.4",key:"1v5t8k"}]]),n=(0,l.default)("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);var d=e.i(66992);let c=(0,l.default)("Upload",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"17 8 12 3 7 8",key:"t8dd8p"}],["line",{x1:"12",x2:"12",y1:"3",y2:"15",key:"widbto"}]]);var i=e.i(81418),o=e.i(56909),u=e.i(43531),x=e.i(84614),m=e.i(65261),h=e.i(51981),p=e.i(4552),g=e.i(16302),f=e.i(1544),j=e.i(89901),v=e.i(89890),b=e.i(76525),y=e.i(1206),N=e.i(92025),w=e.i(51509),k=e.i(44375),C=e.i(80809);e.i(69530);var S=e.i(2942);function M(){let e=(0,h.useMe)(),{data:a}=(0,h.useConfig)(),l=(0,p.useUpdateMe)(),M=(0,p.useUploadAvatar)(),z=(0,p.useChangePassword)(),{toast:P}=(0,C.useToast)(),{t:E}=(0,S.useTranslation)(),H=(0,s.useRef)(null),[T,B]=(0,s.useState)(""),[I,R]=(0,s.useState)(""),[U,A]=(0,s.useState)(""),[K,L]=(0,s.useState)(""),[_,V]=(0,s.useState)(""),[O,$]=(0,s.useState)("");if((0,s.useEffect)(()=>{e.data?.user&&(B(e.data.user.name),R(e.data.user.email),A(e.data.user.default_exec))},[e.data]),e.isLoading||!e.data?.user)return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(w.ModuleHeader,{title:E.account.title,icon:r}),(0,t.jsx)(k.LoadingState,{})]});let q=e.data.user,D=a?.customModels??[],F=q.allowed_execs.length>0,W=F?q.allowed_execs:a?.allowedExecs??[],G=e=>(0,g.allModels)(D).find(t=>t.exec===e)?.label??e,J=K.length>0&&_.length>=8&&_===O;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(w.ModuleHeader,{title:E.account.title,icon:r,children:(0,t.jsx)(b.Button,{variant:"accent",icon:o.Save,onClick:()=>l.mutate({name:T.trim(),email:I.trim(),default_exec:U},{onSuccess:()=>P(E.account.saved),onError:e=>P(String(e)||E.account.saveError,"error")}),disabled:l.isPending,children:E.account.save})}),(0,t.jsxs)("div",{className:"flex flex-col gap-6 lg:flex-row lg:items-start",children:[(0,t.jsxs)("div",{className:"flex shrink-0 flex-col gap-2 lg:w-72",children:[(0,t.jsxs)("span",{className:"flex items-center gap-2 text-sm font-medium text-text",children:[(0,t.jsx)(d.Cpu,{size:16,className:"text-text-muted","aria-hidden":!0}),E.account.defaultModel]}),(0,t.jsx)("p",{className:"text-xs text-text-muted",children:F?E.account.restrictedHint:E.account.defaultModelHint}),0===W.length?(0,t.jsx)("p",{className:"mt-1 text-xs italic text-text-muted",children:E.account.noModelLimit}):(0,t.jsx)("div",{role:"radiogroup",className:"mt-1 flex flex-col gap-2",children:W.map(e=>{let a=U===e;return(0,t.jsxs)("button",{type:"button",role:"radio","aria-checked":a,"aria-label":G(e),onClick:()=>A(a?"":e),className:`group flex items-center gap-3 rounded-lg border p-3 text-left transition-colors ${a?"border-accent bg-accent/10":"border-border bg-surface hover:bg-elevated"}`,style:{transitionDuration:"var(--motion-fast)"},children:[(0,t.jsx)("span",{className:"flex h-11 w-11 shrink-0 items-center justify-center rounded-lg border border-border bg-elevated",children:(0,t.jsx)(j.ModelIcon,{name:e,size:28})}),(0,t.jsxs)("span",{className:"flex min-w-0 flex-col",children:[(0,t.jsx)("span",{className:"truncate text-sm font-medium text-text",children:G(e)}),(0,t.jsx)("span",{className:"truncate font-mono text-tiny text-text-muted",children:e})]}),a?(0,t.jsx)(u.Check,{size:16,className:"ml-auto shrink-0 text-accent","aria-hidden":!0}):null]},e)})})]}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-4 rounded-lg border border-border bg-surface p-5",children:[(0,t.jsx)(f.Avatar,{user:q,size:72}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-1",children:[(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"truncate text-lg font-semibold text-text",children:q.name||q.username}),q.is_admin?(0,t.jsxs)(v.Badge,{tone:"accent",children:[(0,t.jsx)(i.ShieldCheck,{size:11,className:"mr-1","aria-hidden":!0}),E.users.admin]}):null]}),(0,t.jsxs)("span",{className:"truncate font-mono text-xs text-text-muted",children:["@",q.username]})]}),(0,t.jsx)("input",{ref:H,type:"file",accept:"image/png,image/jpeg,image/webp,image/gif",className:"hidden",onChange:e=>{let t=e.target.files?.[0];t&&M.mutate(t,{onSuccess:()=>P(E.account.avatarSaved),onError:e=>P(String(e)||E.account.saveError,"error")}),e.target.value=""}}),(0,t.jsx)(b.Button,{variant:"ghost",icon:c,onClick:()=>H.current?.click(),disabled:M.isPending,children:E.account.uploadAvatar})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2",children:[(0,t.jsx)(N.SettingCard,{title:E.account.name,icon:x.User,children:(0,t.jsx)(y.Input,{value:T,onChange:e=>B(e.target.value)})}),(0,t.jsx)(N.SettingCard,{title:E.account.email,icon:n,children:(0,t.jsx)(y.Input,{type:"email",value:I,onChange:e=>R(e.target.value)})})]}),(0,t.jsxs)(N.SettingCard,{title:E.account.password,icon:m.KeyRound,children:[(0,t.jsx)("p",{className:"mb-3 text-xs text-text-muted",children:E.account.passwordHint}),(0,t.jsxs)("form",{className:"flex flex-col gap-3",onSubmit:e=>{e.preventDefault(),_.length<8?P(E.account.passwordTooShort,"error"):_!==O?P(E.account.passwordMismatch,"error"):z.mutate({currentPassword:K,newPassword:_},{onSuccess:()=>{L(""),V(""),$(""),P(E.account.passwordChanged)},onError:e=>P(String(e)||E.account.passwordError,"error")})},children:[(0,t.jsx)("input",{type:"text",name:"username",autoComplete:"username",value:q.username,readOnly:!0,hidden:!0}),(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-3",children:[(0,t.jsx)(y.Input,{type:"password",autoComplete:"current-password",placeholder:E.account.currentPassword,"aria-label":E.account.currentPassword,value:K,onChange:e=>L(e.target.value)}),(0,t.jsx)(y.Input,{type:"password",autoComplete:"new-password",placeholder:E.account.newPassword,"aria-label":E.account.newPassword,value:_,onChange:e=>V(e.target.value)}),(0,t.jsx)(y.Input,{type:"password",autoComplete:"new-password",placeholder:E.account.confirmPassword,"aria-label":E.account.confirmPassword,value:O,onChange:e=>$(e.target.value)})]}),(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(b.Button,{type:"submit",variant:"accent",icon:m.KeyRound,disabled:!J||z.isPending,children:E.account.changePassword})})]})]})]})]})]})}e.s(["default",0,function(){return(0,t.jsx)(a.ModuleShell,{moduleId:"account",children:(0,t.jsx)(M,{})})},"dynamic",0,"force-dynamic"],88111)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,96527,e=>{"use strict";var s=e.i(43476),t=e.i(26178),a=e.i(71645),i=e.i(18566),n=e.i(7233),l=e.i(63804),r=e.i(55436),o=e.i(22915),d=e.i(27612),c=e.i(37727),u=e.i(73375),x=e.i(63059),m=e.i(89853),p=e.i(70956),h=e.i(51981),g=e.i(24877),f=e.i(98715),j=e.i(4552),b=e.i(88699),k=e.i(31343),v=e.i(52044),y=e.i(47155),S=e.i(34667),N=e.i(58524),w=e.i(74886),C=e.i(81418),T=e.i(67240);let P=(0,e.i(75254).default)("ScrollText",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);var M=e.i(40273),E=e.i(80809);e.i(69530);var B=e.i(2942);function D(e){let s=(0,j.useSpawn)(),t=(0,j.useKillSession)(),a=(0,j.useSetTaskStatus)(),i=(0,j.useSendInput)(),n=(0,h.useSessions)(),{toast:l}=(0,E.useToast)(),{t:r}=(0,B.useTranslation)(),o=(0,g.taskExec)(e.labels),d=(0,g.taskSessionName)(e),c="in_progress"===e.status&&!!d&&(n.data??[]).includes(d);return{session:d,running:c,start:()=>s.mutate({taskId:e.id,exec:o||void 0},{onSuccess:e=>l(r.tasks.launched.replace("{session}",e.session)),onError:e=>l((0,M.apiErrorMessage)(e),"error")}),stop:()=>{d&&t.mutate(d),a.mutate({id:e.id,status:"open"},{onSuccess:()=>l(r.tasks.stopped.replace("{id}",e.id)),onError:e=>l((0,M.apiErrorMessage)(e),"error")})},pause:()=>{d&&i.mutate({name:d,keys:["C-c"]},{onSuccess:()=>l(r.sessions.interrupted.replace("{name}",d)),onError:e=>l((0,M.apiErrorMessage)(e),"error")})}}}var I=e.i(91392),z=e.i(89890),_=e.i(89901),L=e.i(56284),A=e.i(64673),F=e.i(81646),R=e.i(88242),$=e.i(97344),q=e.i(53727),O=e.i(44375),K=e.i(34182),H=e.i(34723);function U({taskId:e,onEdit:t,onBack:i}){let{t:n,locale:l}=(0,B.useTranslation)(),r=(0,h.useTasks)(),d=(0,h.useAllDeps)(),c=(0,h.useActivity)("signal"),{data:x}=(0,h.useConfig)(),m=(0,j.useCloseTask)(),p=(0,j.useSetTaskStatus)(),f=(0,j.useResumeMission)(),{toast:V}=(0,E.useToast)(),[X,Y]=(0,a.useState)(!1),Q=r.data?.find(s=>s.id===e),{session:Z,running:J,start:W,stop:ee,pause:es}=D(Q??{id:e,title:"",status:"open"}),et=(0,h.useSessionSignal)(Z??"");if(!Q)return(0,s.jsx)(O.EmptyState,{title:n.tasks.selectHint,icon:S.TerminalSquare});let ea=(0,H.taskTypeMeta)(Q.type).icon,ei=(0,g.taskExec)(Q.labels),en=ei||x?.defaults?.exec||"",el=(0,g.taskAgentName)(Q),er="closed"===Q.status||"cancelled"===Q.status,eo=Q.closed_at||Q.created_at,ed=(0,I.formatTaskTime)(eo,Date.now(),l),ec=new Map((r.data??[]).map(e=>[e.id,e])),eu=(d.data??[]).filter(s=>s.task_id===e).map(e=>ec.get(e.depends_on_id)).filter(e=>!!e),ex=(c.data??[]).filter(s=>s.target===e||Z&&s.target===Z).slice(0,6),em=async()=>{try{await navigator.clipboard.writeText(Q.id),V(n.tasks.idCopied.replace("{id}",Q.id))}catch{V(n.tasks.idCopyFailed,"error")}},ep=!!Q.parent_id,eh="epic"===Q.type,eg=e=>{p.mutate({id:Q.id,status:"open"},{onSuccess:()=>{ep&&f.mutate(`m-${Q.parent_id}`,{onError:()=>{}}),V(e.replace("{id}",Q.id))},onError:e=>V((0,M.apiErrorMessage)(e),"error")})};return(0,s.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,s.jsxs)("div",{className:"sticky top-0 z-10 -mx-4 flex flex-col gap-2 border-b border-border bg-surface px-4 pb-3 pt-1",children:[i?(0,s.jsxs)("button",{type:"button",onClick:i,className:"-ml-1 inline-flex w-fit items-center gap-1 rounded-md px-1.5 py-1 text-xs text-text-muted transition-colors hover:bg-elevated hover:text-text",children:[(0,s.jsx)(u.ChevronLeft,{size:14,"aria-hidden":!0}),n.tasks.backToFlow]}):null,(0,s.jsxs)("div",{className:"flex items-start gap-3",children:[(0,s.jsx)("span",{className:"flex h-12 w-12 shrink-0 items-center justify-center rounded-xl border border-border bg-elevated",children:en?(0,s.jsx)(_.ModelIcon,{name:en,size:26}):(0,s.jsx)(ea,{size:22,className:"text-text-muted","aria-hidden":!0})}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("h2",{className:"min-w-0 flex-1 text-base font-semibold text-text",children:Q.title}),(0,s.jsx)(A.AgentStatusDot,{signal:et,live:J})]}),(0,s.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-x-2 gap-y-1 font-mono text-[11px] text-text-muted",children:[(0,s.jsx)("span",{children:Q.id}),(0,s.jsx)(L.IconButton,{icon:w.Copy,label:n.tasks.copyId,onClick:em}),el?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{"aria-hidden":!0,className:"opacity-50",children:"·"}),(0,s.jsx)("span",{children:(0,g.taskSessionName)(Q)})]}):null,ed.label?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{"aria-hidden":!0,className:"opacity-50",children:"·"}),(0,s.jsx)("span",{title:ed.title,children:ed.label})]}):null]})]})]}),(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,s.jsx)(z.Badge,{tone:(0,K.statusTone)(Q.status),children:(0,H.statusLabel)(n,Q.status)}),er?(0,s.jsx)(F.OutcomeBadge,{outcome:Q.outcome}):null,ei?(0,s.jsx)(z.Badge,{children:ei}):null,el?(0,s.jsx)(R.TaskUsageBadge,{taskId:Q.id,live:J}):null]}),(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-1",children:[J?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(L.IconButton,{icon:v.Square,label:n.tasks.stop,variant:"danger",onClick:ee}),(0,s.jsx)(L.IconButton,{icon:y.SquareSlash,label:n.sessions.interrupt,onClick:es})]}):"blocked"===Q.status&&ep?(0,s.jsx)(L.IconButton,{icon:C.ShieldCheck,label:n.tasks.approveContinue,onClick:()=>eg(n.tasks.approved)}):er&&ep?(0,s.jsx)(L.IconButton,{icon:T.RotateCcw,label:n.tasks.rerun,onClick:()=>eg(n.tasks.rerunning)}):(0,s.jsx)(L.IconButton,{icon:k.Play,label:n.tasks.start,onClick:W}),Z?(0,s.jsx)(L.IconButton,{icon:S.TerminalSquare,label:n.tasks.openTerminal,onClick:()=>Y(!0)}):null,t?(0,s.jsx)(L.IconButton,{icon:b.Pencil,label:n.common.edit,onClick:()=>t(Q)}):null,er?null:(0,s.jsx)(L.IconButton,{icon:o.Archive,label:n.tasks.closeArchive,onClick:()=>m.mutate(Q.id,{onSuccess:()=>V(n.tasks.closed.replace("{id}",Q.id)),onError:e=>V(String(e),"error")})})]})]}),Q.description?.trim()?(0,s.jsx)(G,{label:n.tasks.fieldDetails,children:(0,s.jsx)("p",{className:"whitespace-pre-wrap text-sm leading-relaxed text-text-muted",children:Q.description})}):null,eu.length>0?(0,s.jsx)(G,{label:n.tasks.dependencies,children:(0,s.jsx)("ul",{className:"flex flex-col gap-1",children:eu.map(e=>(0,s.jsxs)("li",{className:"flex items-center gap-2 text-xs",children:[(0,s.jsx)(N.Link2,{size:12,className:"shrink-0 text-text-muted","aria-hidden":!0}),(0,s.jsx)("span",{className:"min-w-0 flex-1 truncate text-text",children:e.title}),(0,s.jsx)(z.Badge,{tone:(0,K.statusTone)(e.status),children:(0,H.statusLabel)(n,e.status)})]},e.id))})}):null,J&&Z?(0,s.jsx)(G,{label:n.tasks.liveOutput,children:(0,s.jsx)($.LiveTail,{name:Z,lines:28,heightClass:"max-h-96",onExpand:()=>Y(!0)})}):null,er&&(Q.result_summary||Q.outcome)?(0,s.jsx)(G,{label:eh?n.tasks.missionSummaryTitle:n.tasks.resultTitle,children:(0,s.jsxs)("div",{className:"flex items-start gap-2.5 rounded-lg border border-border bg-elevated p-3",children:[(0,s.jsx)(P,{size:15,className:"mt-0.5 shrink-0 text-text-muted","aria-hidden":!0}),(0,s.jsx)("p",{className:"whitespace-pre-wrap text-sm leading-relaxed text-text",children:Q.result_summary?.trim()||n.tasks.noSummary})]})}):null,ex.length>0?(0,s.jsx)(G,{label:n.tasks.recentActivity,children:(0,s.jsx)("ul",{className:"flex flex-col divide-y divide-border",children:ex.map(e=>(0,s.jsxs)("li",{className:"flex items-center gap-2 py-1.5 text-xs",children:[(0,s.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-text-muted",children:e.detail}),(0,s.jsx)("span",{className:"shrink-0 font-mono text-text-muted opacity-70",children:e.ts.slice(11,16)})]},e.id))})}):null,X&&Z&&(0,s.jsx)(q.TerminalModal,{session:Z,onClose:()=>Y(!1)})]})}function G({label:e,children:t}){return(0,s.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,s.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wide text-text-muted",children:e}),t]})}var V=e.i(9912);function X({epic:e,phases:t,activeId:i,onSelectPhase:n}){let{t:l}=(0,B.useTranslation)(),r=(0,h.useSessions)(),o=(0,h.useSessionSignals)(),{data:d}=(0,h.useConfig)(),c=new Set(r.data??[]),{done:u,total:x}=(0,f.epicProgress)(t);return(0,s.jsxs)("div",{className:"flex flex-col",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3 rounded-xl border border-accent/40 bg-accent/[0.06] p-3",style:{boxShadow:"var(--shadow-card)"},children:[(0,s.jsx)("span",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg border border-border bg-elevated",children:(0,s.jsx)(V.Rocket,{size:20,className:"text-accent","aria-hidden":!0})}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("h2",{className:"truncate text-sm font-semibold text-text",children:e.title}),(0,s.jsxs)("span",{className:"font-mono text-[11px] text-text-muted",children:[u,"/",x," ",l.tasks.phasesLabel]})]}),(0,s.jsx)(z.Badge,{tone:(0,K.statusTone)(e.status),children:(0,H.statusLabel)(l,e.status)})]}),t.map((e,t)=>{let r=(0,g.taskExec)(e.labels)||d?.defaults?.exec||"",u=(0,g.taskAgentName)(e),x=(0,g.taskSessionName)(e),m="in_progress"===e.status&&!!x&&c.has(x),p=x?o[x]:void 0,h=m||p?.type==="needs_input";return(0,s.jsxs)(a.Fragment,{children:[(0,s.jsx)("div",{className:"ml-5 flex h-6 w-px justify-center",children:(0,s.jsx)("span",{className:`h-full w-px ${h?"flow-edge flow-edge-active":"flow-edge"}`,"aria-hidden":!0})}),(0,s.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center",children:[(0,s.jsxs)("button",{type:"button",onClick:()=>n(e.id),className:`group flex min-w-0 flex-1 items-center gap-3 rounded-xl border bg-surface p-3 text-left transition-all hover:-translate-y-0.5 ${i===e.id?"border-accent":"border-border hover:border-border-strong"} ${h?"flow-active":""}`,style:{boxShadow:"var(--shadow-card)",transitionDuration:"var(--motion-fast)"},children:[(0,s.jsx)("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-full border border-border bg-elevated font-mono text-[11px] text-text-muted",children:t+1}),(0,s.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm font-medium text-text",children:e.title}),(0,s.jsx)(z.Badge,{tone:(0,K.statusTone)(e.status),children:(0,H.statusLabel)(l,e.status)})]}),r||u?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"hidden h-px w-6 shrink-0 sm:block flow-edge-h","aria-hidden":!0}),(0,s.jsxs)("div",{className:"flex shrink-0 flex-col gap-1.5 pl-8 sm:pl-0",children:[r?(0,s.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-lg border border-border bg-elevated px-2 py-1 text-[11px] text-text-muted",title:r,children:[(0,s.jsx)(_.ModelIcon,{name:r,size:14}),(0,s.jsx)("span",{className:"font-mono",children:r})]}):null,u?(0,s.jsxs)("button",{type:"button",onClick:()=>n(e.id),className:"inline-flex items-center gap-1.5 rounded-lg border border-border bg-elevated px-2 py-1 text-[11px] text-text transition-colors hover:border-border-strong",title:u,children:[(0,s.jsx)(A.AgentStatusDot,{signal:p,live:m,size:"sm"}),(0,s.jsx)("span",{className:"font-mono",children:u})]}):null]})]}):null]})]},e.id)})]})}var Y=e.i(86448),Q=e.i(95242),Z=e.i(81203),J=e.i(75822),W=e.i(74848),ee=e.i(9236),es=e.i(20885),et=e.i(29618),ea=e.i(3116),ei=e.i(39312),en=e.i(45601),el=e.i(55626),er=e.i(91842);function eo({task:e,onEdit:t,onSelect:i,active:n=!1,blockers:l,selected:r=!1,onToggleSelect:c,selecting:u=!1}){let x=(0,j.useCloseTask)(),m=(0,j.useDeleteTask)(),{toast:p}=(0,E.useToast)(),{t:f,locale:y}=(0,B.useTranslation)(),[S,N]=(0,a.useState)(!1),{data:w}=(0,h.useConfig)(),C=(0,H.taskTypeMeta)(e.type).icon,T=(0,g.taskExec)(e.labels)||w?.defaults?.exec||"",P="closed"===e.status,{session:M,running:R,start:$,stop:q,pause:O}=D(e),U=(0,h.useSessionSignal)(M??""),G=(0,er.useSessionStall)(M??"",R&&!!M),V=M?{stall:G.state,silenceSec:G.silenceSec}:{},X=(l?.length??0)>0,Y=()=>(i??t)(e),Z=e.scheduled_at||e.closed_at||e.created_at,J=Z?(0,I.formatTaskTime)(Z,Date.now(),y):null;return(0,s.jsxs)("div",{role:"button",tabIndex:0,onClick:Y,onKeyDown:e=>{"Enter"===e.key&&Y()},className:`card-interactive group relative flex flex-wrap cursor-pointer items-center gap-x-3 gap-y-2 rounded-lg border p-2.5 ${r||n?"border-accent bg-accent/[0.06]":"border-border bg-surface"}`,children:[(0,s.jsx)("span",{className:`flex h-11 w-11 shrink-0 items-center justify-center rounded-xl border-2 bg-elevated ${R?"border-accent":"border-border"}`,children:T?(0,s.jsx)(_.ModelIcon,{name:T,size:26}):(0,s.jsx)(C,{size:22,className:"text-text-muted","aria-hidden":!0})}),(0,s.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:[(0,s.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,s.jsx)("span",{className:"truncate text-sm font-medium text-text",children:e.title}),(0,s.jsx)(A.AgentStatusDot,{signal:U,live:R,size:"sm",...V})]}),(0,s.jsxs)("div",{className:"flex items-center gap-1.5",children:[T?(0,s.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1 rounded-md border border-border bg-elevated px-1.5 py-0.5 font-mono text-[11px] text-text-muted",title:T,children:[(0,s.jsx)(_.ModelIcon,{name:T,size:11}),(0,en.execModel)(T)]}):(0,s.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,s.jsx)(C,{size:11,className:"shrink-0 text-text-muted","aria-hidden":!0}),(0,s.jsx)("span",{className:"truncate font-mono text-[11px] text-text-muted",children:e.id})]}),X?(0,s.jsxs)("span",{className:"shrink-0 text-[11px] text-warning",title:l.map(e=>e.title).join(", "),children:["· ",f.tasks.dependencies," ",l.length]}):null]})]}),(0,s.jsxs)("div",{className:"flex w-full items-center justify-between gap-2 sm:w-auto sm:justify-end",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[J?(0,s.jsx)("span",{title:J.title,children:(0,s.jsxs)(z.Badge,{tone:"muted",children:[e.scheduled_at&&e.autostart?(0,s.jsx)(ei.Zap,{size:11,className:"mr-1 inline","aria-hidden":!0}):(0,s.jsx)(ea.Clock,{size:11,className:"mr-1 inline","aria-hidden":!0}),J.label]})}):null,(0,s.jsx)(ee.ProjectPill,{projectId:e.project_id}),P?(0,s.jsx)(F.OutcomeBadge,{outcome:e.outcome}):null,(0,s.jsx)(z.Badge,{tone:(0,K.statusTone)(e.status),children:(0,H.statusLabel)(f,e.status)})]}),(0,s.jsxs)("div",{className:"flex shrink-0 items-center gap-1",onClick:e=>e.stopPropagation(),children:[R?(0,s.jsx)(L.IconButton,{icon:v.Square,label:f.tasks.stop,variant:"danger",onClick:q}):(0,s.jsx)(L.IconButton,{icon:k.Play,label:f.tasks.start,onClick:$}),R?(0,s.jsx)(L.IconButton,{icon:Q.Pause,label:f.tasks.pause,onClick:O}):null,(0,s.jsx)(L.IconButton,{icon:b.Pencil,label:f.common.edit,onClick:()=>t(e)}),(0,s.jsx)(es.ActionMenu,{label:f.tasks.deleteOrClose,items:[{label:f.tasks.closeArchive,icon:o.Archive,onSelect:()=>x.mutate(e.id,{onSuccess:()=>p(f.tasks.closed.replace("{id}",e.id)),onError:e=>p(String(e),"error")})},{label:f.tasks.deletePermanently,icon:d.Trash2,tone:"danger",onSelect:()=>N(!0)}]})]})]}),c?(0,s.jsx)("button",{type:"button",role:"checkbox","aria-checked":r,"aria-label":f.sessions.selectLabel.replace("{id}",e.id),onClick:s=>{s.stopPropagation(),c(e.id)},className:`shrink-0 transition-opacity ${u||r?"opacity-100":"opacity-0 group-hover:opacity-100"}`,children:(0,s.jsx)(el.Checkbox,{checked:r})}):null,S&&(0,s.jsx)("div",{onClick:e=>e.stopPropagation(),children:(0,s.jsx)(et.ConfirmDialog,{open:S,title:f.tasks.confirmDeleteTitle.replace("{id}",e.id),description:f.tasks.confirmDeleteDescription,onClose:()=>N(!1),onConfirm:()=>{N(!1),m.mutate(e.id,{onSuccess:()=>p(f.tasks.deleted.replace("{id}",e.id)),onError:e=>p(String(e),"error")})}})})]})}var ed=e.i(83086),ec=e.i(52008),eu=e.i(16302),ex=e.i(46040),em=e.i(76525),ep=e.i(1206),eh=e.i(71120),eg=e.i(94321),ef=e.i(84375);function ej({epicId:e,onClose:t}){let{data:i}=(0,h.useConfig)(),r=(0,j.useInsertPhases)(),{toast:o}=(0,E.useToast)(),{t:d}=(0,B.useTranslation)(),u=(0,eu.allModels)(i?.customModels,i?.hiddenPresets).filter(e=>!i?.allowedExecs||i.allowedExecs.includes(e.exec)),[x,m]=(0,a.useState)("manual"),[p,g]=(0,a.useState)(""),[f,b]=(0,a.useState)(""),[k,v]=(0,a.useState)([{title:"",type:"task"}]),y=r.isPending;async function S(){let s="manual"===x?{phases:k.map(e=>({title:e.title.trim(),type:e.type})).filter(e=>e.title)}:{goal:f.trim()};if("manual"===x&&(!s.phases||0===s.phases.length))return void o(d.missions.addPhaseAtLeastOne,"error");if("replan"===x&&!s.goal)return void o(d.missions.addPhaseGoalRequired,"error");let a={...s,exec:p||void 0};try{let s=await r.mutateAsync({epicId:e,body:a});o(d.missions.addPhaseInserted.replace("{count}",String(s.phases.length)).replace("{s}",1===s.phases.length?"":"s").replace("{epicId}",e)),t()}catch(e){e instanceof M.OrcaApiError&&"autopilot_key_missing"===e.code?o(d.tasks.autopilotKeyMissing,"error"):o(String(e),"error")}}return(0,s.jsxs)(ex.Modal,{title:d.missions.addPhaseModalTitle.replace("{epic}",e),description:e,onClose:t,size:"md",icon:ec.Layers,children:[(0,s.jsxs)(ex.ModalBody,{children:[(0,s.jsx)("p",{className:"text-xs text-text-muted",children:d.missions.addPhaseModalDesc}),(0,s.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,s.jsx)(ef.Segmented,{value:x,onChange:e=>m(e),options:[{value:"manual",label:d.missions.addPhaseModeManual,icon:l.ListChecks},{value:"replan",label:d.missions.addPhaseModeReplan,icon:ed.Sparkles}]}),(0,s.jsx)("p",{className:"text-xs text-text-muted",children:"manual"===x?d.missions.addPhaseManualDesc:d.missions.addPhaseReplanDesc})]}),"manual"===x?(0,s.jsxs)("div",{className:"flex flex-col gap-2",children:[k.map((e,t)=>(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(ep.Input,{value:e.title,placeholder:d.tasks.phasePlaceholder.replace("{n}",String(t+1)),onChange:e=>v(s=>s.map((s,a)=>a===t?{...s,title:e.target.value}:s))}),(0,s.jsx)(eh.Select,{value:e.type,onChange:e=>v(s=>s.map((s,a)=>a===t?{...s,type:e.target.value}:s)),className:"w-32",children:H.TASK_TYPES.filter(e=>"epic"!==e).map(e=>(0,s.jsx)("option",{value:e,children:(0,H.taskTypeLabel)(d,e)},e))}),(0,s.jsx)(L.IconButton,{icon:c.X,label:d.tasks.removePhase,onClick:()=>v(e=>e.length>1?e.filter((e,s)=>s!==t):e)})]},t)),(0,s.jsxs)("button",{type:"button",onClick:()=>v(e=>[...e,{title:"",type:"task"}]),className:"inline-flex items-center gap-1 self-start text-xs text-accent hover:underline",children:[(0,s.jsx)(n.Plus,{size:13,"aria-hidden":!0})," ",d.tasks.addPhase]})]}):(0,s.jsx)(eg.Field,{label:d.missions.addPhaseFieldGoal,hint:d.missions.addPhaseGoalHint,children:(0,s.jsx)("textarea",{value:f,onChange:e=>b(e.target.value),placeholder:d.missions.addPhaseGoalPlaceholder,rows:4,className:"w-full rounded-md border border-border bg-surface px-3 py-2 text-sm text-text placeholder:text-text-muted focus:border-accent focus:outline-none"})}),(0,s.jsx)(eg.Field,{label:d.missions.addPhaseFieldExecutor,children:(0,s.jsxs)(eh.Select,{value:p,onChange:e=>g(e.target.value),children:[(0,s.jsx)("option",{value:"",children:d.tasks.defaultExecutor}),u.map(e=>(0,s.jsx)("option",{value:e.exec,children:e.label},e.exec))]})})]}),(0,s.jsxs)(ex.ModalFooter,{children:[(0,s.jsx)(em.Button,{variant:"ghost",onClick:t,children:d.common.cancel}),(0,s.jsx)(em.Button,{variant:"accent",disabled:y,onClick:S,children:d.missions.addPhaseInsert})]})]})}function eb({epic:e,phases:t,effectiveStatus:i,expanded:l,onToggle:r,onEdit:o,onSelect:c,activeId:u,blockedBy:m}){let{t:p}=(0,B.useTranslation)(),g=(0,h.useSessions)(),b=(0,h.useSessionSignals)(),v=(0,h.useMissions)(),{data:y}=(0,h.useConfig)(),{toast:S}=(0,E.useToast)(),N=(0,j.useDeleteMission)(),w=(0,j.useEngage)(),C=(0,j.usePauseMission)(),T=(0,j.useResumeMission)(),P=(0,j.useDisengage)(),[D,_]=(0,a.useState)(!1),[L,A]=(0,a.useState)(!1),{done:F,total:R}=(0,f.epicProgress)(t),{running:$,needsInput:q}=(0,f.epicLive)(t,g.data??[],b),O=(0,H.taskTypeMeta)("epic").icon,U=(0,Y.useQueries)({queries:t.map(e=>({queryKey:["task-usage",e.id],queryFn:()=>M.orcaClient.taskUsage(e.id),staleTime:3e5}))}).reduce((e,s)=>e+(s.data?.costUsd??0),0),G=v.data?.find(s=>s.epic_id===e.id)??null,X=(i??e.status)==="closed"||(i??e.status)==="cancelled",ea=null!=G&&"disengaged"!==G.state,ei=G?.state==="paused";return(0,s.jsxs)("div",{className:"group/epic rounded-lg border border-accent/30 bg-accent/[0.04]",children:[(0,s.jsxs)("div",{className:"relative flex items-stretch",children:[(0,s.jsxs)("button",{type:"button",onClick:()=>{r(),c(e)},"aria-expanded":l,className:`flex min-w-0 flex-1 items-center gap-3 p-3 text-left transition-colors hover:bg-accent/[0.06] ${u===e.id?"bg-accent/[0.06]":""}`,children:[(0,s.jsx)(x.ChevronRight,{size:16,className:`shrink-0 text-text-muted transition-transform ${l?"rotate-90":""}`,"aria-hidden":!0}),(0,s.jsx)("span",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg border border-border bg-elevated",children:(0,s.jsx)(O,{size:20,className:"text-accent","aria-hidden":!0})}),(0,s.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-1.5",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm font-semibold text-text",children:e.title}),q>0||$>0?(0,s.jsx)("span",{className:"live-dot h-2 w-2 shrink-0 rounded-full",style:{backgroundColor:q>0?"var(--color-warning)":"var(--color-success)","--live-ring":q>0?"color-mix(in srgb, var(--color-warning) 50%, transparent)":"color-mix(in srgb, var(--color-success) 50%, transparent)"},"aria-hidden":!0}):null]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(W.ProgressRibbon,{phases:t,className:"max-w-[12rem] flex-1"}),(0,s.jsxs)("span",{className:"shrink-0 font-mono text-[11px] text-text-muted",children:[F,"/",R," ",p.tasks.phasesLabel]}),U>0?(0,s.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-0.5 rounded border border-approve/30 px-1.5 py-0.5 font-mono text-[11px] text-approve",title:`${p.usage.cost}: ${(0,I.formatCost)(U)}`,children:[(0,s.jsx)(J.Coins,{size:10,className:"shrink-0","aria-hidden":!0}),(0,I.formatCost)(U)]}):null,(0,s.jsx)(ee.ProjectPill,{projectId:e.project_id})]})]}),(0,s.jsx)(z.Badge,{tone:(0,K.statusTone)(i??e.status),children:(0,H.statusLabel)(p,i??e.status)})]}),(0,s.jsxs)("div",{className:"flex items-center gap-1 pr-3",children:[ea||X||G?null:(0,s.jsx)(ek,{icon:V.Rocket,label:p.missions.engage,tone:"accent",onClick:()=>w.mutate({epicId:e.id,autonomy:y?.defaults?.autonomy??"L3",maxSessions:y?.defaults?.maxSessions??1},{onSuccess:()=>S(p.missions.engaged.replace("{epicId}",e.id)),onError:e=>S(String(e),"error")}),disabled:w.isPending}),ea?(0,s.jsxs)(s.Fragment,{children:[ei?(0,s.jsx)(ek,{icon:k.Play,label:p.missions.resume,tone:"accent",onClick:()=>T.mutate(G.id,{onSuccess:()=>S(p.missions.resumed),onError:e=>S(String(e),"error")}),disabled:T.isPending}):(0,s.jsx)(ek,{icon:Q.Pause,label:p.missions.pause,onClick:()=>C.mutate(G.id,{onSuccess:()=>S(p.missions.pausedMsg),onError:e=>S(String(e),"error")}),disabled:C.isPending}),(0,s.jsx)(ek,{icon:Z.Power,label:p.missions.disengage,tone:"danger",onClick:()=>P.mutate(G.id,{onSuccess:()=>S(p.missions.disengaged),onError:e=>S(String(e),"error")}),disabled:P.isPending})]}):null,(0,s.jsx)("div",{className:"opacity-0 transition-opacity group-hover/epic:opacity-100",children:(0,s.jsx)(es.ActionMenu,{label:p.tasks.epicActions,items:[{label:p.missions.addPhase,icon:n.Plus,onSelect:()=>A(!0)},{label:p.tasks.deleteMission,icon:d.Trash2,tone:"danger",onSelect:()=>_(!0)}]})})]})]}),l?(0,s.jsx)("div",{className:"flex flex-col gap-2.5 rounded-b-lg border-t border-accent/20 bg-bg/30 p-2.5 pl-5",children:t.map(e=>(0,s.jsx)(eo,{task:e,onEdit:o,onSelect:c,active:u===e.id,blockers:m.get(e.id)},e.id))}):null,L&&(0,s.jsx)(ej,{epicId:e.id,onClose:()=>A(!1)}),(0,s.jsx)(et.ConfirmDialog,{open:D,title:p.tasks.confirmDeleteMissionTitle.replace("{id}",e.id),description:p.tasks.confirmDeleteMissionDescription,confirmLabel:p.tasks.deleteMission,onClose:()=>_(!1),onConfirm:()=>{_(!1),N.mutate(e.id,{onSuccess:()=>S(p.tasks.missionDeleted.replace("{id}",e.id)),onError:e=>S(String(e),"error")})}})]})}function ek({icon:e,label:t,onClick:a,tone:i="default",disabled:n}){return(0,s.jsxs)("button",{type:"button",onClick:a,disabled:n,title:t,className:`inline-flex items-center gap-1 rounded-full border bg-elevated px-2.5 py-1 text-[11px] font-medium transition-colors disabled:opacity-50 ${"accent"===i?"border-accent/40 text-accent hover:bg-accent/10":"danger"===i?"border-danger/40 text-danger hover:bg-danger/10":"border-border text-text-muted hover:border-border-strong hover:text-text"}`,style:{transitionDuration:"var(--motion-fast)"},children:[(0,s.jsx)(e,{size:12,className:"shrink-0","aria-hidden":!0}),(0,s.jsx)("span",{className:"hidden sm:inline",children:t})]})}var ev=e.i(51509),ey=e.i(40310),eS=e.i(11476),eN=e.i(53992),ew=e.i(38112),eC=e.i(42113);let eT=["all","open","in_progress","blocked","closed","cancelled","autopilot"];function eP(e){let s=e.scheduled_at||e.closed_at||e.created_at,t=s?new Date(s).getTime():NaN;return Number.isNaN(t)?0:t}let eM=e=>(0,eC.dayKey)(new Date(e));function eE(){let e=(0,h.useAllDeps)(),t=(0,h.useSessions)(),b=(0,h.useSessionSignals)(),k=(0,h.useMissions)(),v=(0,j.useCloseTask)(),y=(0,j.useDeleteTask)(),{toast:S}=(0,E.useToast)(),{t:N,locale:w}=(0,B.useTranslation)(),[C,T]=(0,a.useState)(!1),[P,M]=(0,a.useState)(null),[D,I]=(0,a.useState)(""),[z,_]=(0,ey.usePersistentState)("orca.tasks.filter","in_progress",eT),{selectedProject:L,setProject:A}=(0,eS.useProjectFilter)("orca.tasks.project"),F=(0,h.useTasks)("all"===L?void 0:L),[R,$]=(0,a.useState)(0),[q,K]=(0,a.useState)(new Set),[H,G]=(0,a.useState)(!1),[V,Y]=(0,a.useState)(null),Q=(0,a.useMemo)(()=>(0,f.epicChildren)(F.data??[]),[F.data]),Z=(0,a.useMemo)(()=>(0,f.phaseIds)(F.data??[]),[F.data]),[J,W]=(0,a.useState)(new Set),ee=[{value:"in_progress",label:N.tasks.filterActive},{value:"open",label:N.tasks.filterOpen},{value:"blocked",label:N.tasks.filterBlocked},{value:"closed",label:N.tasks.filterClosed},{value:"autopilot",label:N.tasks.filterAutopilot},{value:"all",label:N.tasks.filterAll}],es=(0,i.useRouter)(),ea=(0,i.useSearchParams)();(0,a.useEffect)(()=>{"1"===ea.get("new")&&(T(!0),es.replace("/tasks"))},[ea,es]),(0,a.useEffect)(()=>{let e=ea.get("select");e&&Y(e)},[ea]),(0,a.useEffect)(()=>{if(!V)return;let e=F.data?.find(e=>e.id===V);e?.parent_id&&Z.has(V)&&W(s=>new Set(s).add(e.parent_id))},[V,F.data,Z]),(0,a.useEffect)(()=>{if("autopilot"!==z)return;let e=new Set;for(let s of F.data??[]){if("epic"!==s.type)continue;let a=Q.get(s.id)??[];if(0===a.length)continue;let{running:i}=(0,f.epicLive)(a,t.data??[],b),n=a.some(e=>{let s=(0,g.taskSessionName)(e);return!!s&&b[s]?.type==="needs_input"});(i>0||n)&&e.add(s.id)}e.size&&W(s=>{let t=new Set(s);for(let s of e)t.add(s);return t})},[z,F.data,Q,t.data,b]);let ei=(0,a.useMemo)(()=>{let s=new Map((F.data??[]).map(e=>[e.id,e])),t=new Map;for(let a of F.data??[]){let i=(0,g.taskBlockers)(a.id,e.data??[],s);i.length>0&&t.set(a.id,i)}return t},[F.data,e.data]),en=e=>K(s=>{let t=new Set(s);return t.has(e)?t.delete(e):t.add(e),t}),el=()=>K(new Set),er=(0,a.useMemo)(()=>{let e=D.trim().toLowerCase(),s=s=>`${s.title} ${s.id} ${s.description??""}`.toLowerCase().includes(e),a=e=>{let s=Q.get(e.id)??[];return(0,f.epicLive)(s,t.data??[],b).running>0||s.some(e=>{let s=(0,g.taskSessionName)(e);return!!s&&b[s]?.type==="needs_input"})};return(F.data??[]).filter(e=>!Z.has(e.id)).filter(t=>{if("autopilot"===z)return"epic"===t.type&&0!==(Q.get(t.id)??[]).length;let a="epic"===t.type?Q.get(t.id)??[]:[],i="epic"===t.type?(0,f.epicEffectiveStatus)(t,k.data??[],a):t.status;return("all"===z||i===z)&&(!e||s(t)||a.some(s))}).sort((e,s)=>{if("autopilot"===z){let t=a(e);if(t!==a(s))return t?-1:1}return eP(s)-eP(e)})},[F.data,D,z,Q,Z,t.data,b,k.data]);(0,a.useEffect)(()=>{$(0)},[D,z,L]);let ed=Math.max(1,Math.ceil(er.length/12)),ec=Math.min(R,ed-1),eu=er.slice(12*ec,12*ec+12),ex=e=>{let s=new Date,t=eM(s.getTime()),a=eM(s.getTime()-864e5),i=eM(e);return i===t?N.tasks.dayToday:i===a?N.tasks.dayYesterday:new Date(e).toLocaleDateString(w,{weekday:"short",month:"short",day:"numeric"})},eh=(0,a.useMemo)(()=>{let e=[];for(let s of eu){let t=eP(s),a=eM(t),i=e[e.length-1];i&&i.key===a?i.items.push(s):e.push({key:a,label:ex(t),items:[s]})}return e},[eu,w,N]);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(ev.ModuleHeader,{title:N.page.tasks,count:er.length,icon:l.ListChecks,children:[(0,s.jsxs)("div",{className:"relative w-40 sm:w-52",children:[(0,s.jsx)(r.Search,{size:14,"aria-hidden":!0,className:"pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-text-muted"}),(0,s.jsx)(ep.Input,{value:D,onChange:e=>I(e.target.value),placeholder:N.tasks.searchPlaceholder,className:"pl-9"})]}),(0,s.jsx)(ef.Segmented,{value:z,onChange:e=>_(e),options:ee}),(0,s.jsx)(em.Button,{variant:"accent",icon:n.Plus,onClick:()=>T(!0),children:N.tasks.newTask})]}),(0,s.jsx)(eN.ProjectFilterPills,{value:L,onChange:A}),F.isLoading?(0,s.jsx)(O.LoadingState,{variant:"cards"}):F.isError?(0,s.jsx)(O.ErrorState,{message:N.common.daemonUnreachable,onRetry:()=>F.refetch()}):F.data&&0!==F.data.length?0===er.length?(0,s.jsx)(O.EmptyState,{title:N.tasks.noMatches,description:N.tasks.noMatchesDescription,icon:r.Search}):(0,s.jsxs)("div",{className:"lg:flex lg:items-start lg:gap-5",children:[(0,s.jsxs)("div",{className:"flex flex-col gap-5 lg:w-[42%] lg:shrink-0",children:[eh.map(e=>(0,s.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)(m.CalendarDays,{size:12,className:"shrink-0 text-text-muted","aria-hidden":!0}),(0,s.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-text-muted",children:e.label}),(0,s.jsx)("span",{className:"h-px flex-1 bg-border"}),(0,s.jsxs)("span",{className:"inline-flex items-center gap-1 font-mono text-tiny text-text-muted",children:[(0,s.jsx)(p.List,{size:11,className:"shrink-0 text-text-muted","aria-hidden":!0}),e.items.length]})]}),(0,s.jsx)("div",{className:"flex flex-col gap-3",children:e.items.map(e=>{let t=Q.get(e.id);return"epic"===e.type&&t&&t.length>0?(0,s.jsx)(eb,{epic:e,phases:t,effectiveStatus:(0,f.epicEffectiveStatus)(e,k.data??[],t),expanded:J.has(e.id),onToggle:()=>{let s;return s=e.id,W(e=>{let t=new Set(e);return t.has(s)?t.delete(s):t.add(s),t})},onEdit:M,onSelect:e=>Y(e.id),activeId:V,blockedBy:ei},e.id):(0,s.jsx)(eo,{task:e,onEdit:M,onSelect:e=>Y(e.id),active:V===e.id,blockers:ei.get(e.id),selected:q.has(e.id),onToggleSelect:en,selecting:q.size>0},e.id)})})]},e.key)),er.length>12&&(0,s.jsxs)("div",{className:"flex items-center justify-between border-t border-border pt-3",children:[(0,s.jsx)("span",{className:"font-mono text-xs text-text-muted",children:N.tasks.pageRange.replace("{from}",String(12*ec+1)).replace("{to}",String(12*ec+eu.length)).replace("{total}",String(er.length))}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(em.Button,{variant:"ghost",icon:u.ChevronLeft,disabled:0===ec,onClick:()=>$(ec-1),children:N.tasks.prevPage}),(0,s.jsxs)(em.Button,{variant:"ghost",disabled:ec>=ed-1,onClick:()=>$(ec+1),children:[N.tasks.nextPage,(0,s.jsx)(x.ChevronRight,{size:15,className:"ml-1"})]})]})]})]}),(0,s.jsx)("aside",{className:"mt-5 min-w-0 lg:mt-0 lg:flex-1 lg:sticky lg:top-16 lg:max-h-[calc(100vh-80px)] lg:overflow-y-auto",children:(()=>{if(!V)return(0,s.jsxs)("div",{className:"hidden items-center justify-center gap-2 rounded-lg border border-dashed border-border py-20 text-sm text-text-muted lg:flex",children:[(0,s.jsx)(l.ListChecks,{size:14,className:"shrink-0 text-text-muted/50","aria-hidden":!0}),N.tasks.selectHint]});let e=F.data?.find(e=>e.id===V),t=e?.type==="epic"?Q.get(e.id)??[]:[];if(e?.type==="epic"&&t.length>0)return(0,s.jsx)("div",{className:"rounded-lg border border-border bg-surface p-4",style:{boxShadow:"var(--shadow-card)"},children:(0,s.jsx)(X,{epic:e,phases:t,activeId:V,onSelectPhase:Y})});let a=e?.parent_id&&F.data?.some(s=>s.id===e.parent_id&&"epic"===s.type)?e.parent_id:null;return(0,s.jsx)("div",{className:"rounded-lg border border-border bg-surface p-4",style:{boxShadow:"var(--shadow-card)"},children:(0,s.jsx)(U,{taskId:V,onEdit:M,onBack:a?()=>Y(a):void 0})})})()})]}):(0,s.jsx)(O.EmptyState,{title:N.tasks.empty,description:N.tasks.emptyDescription,icon:l.ListChecks,action:(0,s.jsx)(em.Button,{variant:"accent",icon:n.Plus,onClick:()=>T(!0),children:N.tasks.newTask})}),q.size>0&&(0,s.jsxs)("div",{className:"fixed bottom-6 left-1/2 z-40 flex -translate-x-1/2 items-center gap-2 rounded-xl border border-border bg-elevated px-3 py-2 shadow-[var(--shadow-raised)] animate-fade-up",children:[(0,s.jsx)("span",{className:"px-1 text-sm text-text",children:N.tasks.nSelected.replace("{count}",String(q.size))}),(0,s.jsx)(em.Button,{variant:"default",icon:o.Archive,onClick:()=>{q.forEach(e=>v.mutate(e)),S(N.tasks.nClosed.replace("{count}",String(q.size))),el()},children:N.common.close}),(0,s.jsx)(em.Button,{variant:"danger",icon:d.Trash2,onClick:()=>G(!0),children:N.common.delete}),(0,s.jsx)("button",{type:"button","aria-label":N.tasks.clearSelection,onClick:el,className:"flex h-8 w-8 items-center justify-center rounded-md text-text-muted hover:bg-surface hover:text-text",children:(0,s.jsx)(c.X,{size:15})})]}),C&&(0,s.jsx)(ew.TaskModal,{onClose:()=>T(!1)}),P&&(0,s.jsx)(ew.TaskModal,{task:P,onClose:()=>M(null)}),(0,s.jsx)(et.ConfirmDialog,{open:H,title:N.tasks.confirmBulkDeleteTitle.replace("{count}",String(q.size)),description:N.tasks.confirmBulkDeleteDescription,onClose:()=>G(!1),onConfirm:()=>{q.forEach(e=>y.mutate(e)),S(N.tasks.nDeleted.replace("{count}",String(q.size))),el(),G(!1)}})]})}e.s(["default",0,function(){return(0,s.jsx)(t.ModuleShell,{moduleId:"tasks",children:(0,s.jsx)(eE,{})})},"dynamic",0,"force-dynamic"],96527)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,81418,e=>{"use strict";let t=(0,e.i(75254).default)("ShieldCheck",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["ShieldCheck",0,t],81418)},7835,e=>{"use strict";let t=(0,e.i(75254).default)("Radio",[["path",{d:"M4.9 19.1C1 15.2 1 8.8 4.9 4.9",key:"1vaf9d"}],["path",{d:"M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5",key:"u1ii0m"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5",key:"1j5fej"}],["path",{d:"M19.1 4.9C23 8.8 23 15.1 19.1 19",key:"10b0cb"}]]);e.s(["Radio",0,t],7835)},78583,e=>{"use strict";let t=(0,e.i(75254).default)("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);e.s(["FileText",0,t],78583)},68054,e=>{"use strict";let t=(0,e.i(75254).default)("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);e.s(["Terminal",0,t],68054)},93393,e=>{"use strict";let t=(0,e.i(75254).default)("GitCommitHorizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);e.s(["default",0,t])},94008,e=>{"use strict";let t=(0,e.i(75254).default)("File",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}]]);e.s(["File",0,t],94008)},3408,e=>{"use strict";let t=(0,e.i(75254).default)("Image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);e.s(["default",0,t])},76881,e=>{"use strict";var t=e.i(43476);e.s(["PatchView",0,function({diff:e,empty:a}){return e.trim()?(0,t.jsx)("pre",{className:"h-full overflow-auto bg-bg p-3 font-mono text-xs leading-relaxed",children:e.split("\n").map((e,a)=>{let s=e.startsWith("+")&&!e.startsWith("+++")?"text-success":e.startsWith("-")&&!e.startsWith("---")?"text-danger":e.startsWith("@@")?"text-accent":"text-text-muted";return(0,t.jsx)("div",{className:s,children:e||" "},a)})}):(0,t.jsx)("p",{className:"p-4 text-center text-sm text-text-muted",children:a})}])},3116,e=>{"use strict";let t=(0,e.i(75254).default)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);e.s(["Clock",0,t],3116)},51509,e=>{"use strict";var t=e.i(43476);e.s(["ModuleHeader",0,function({title:e,count:a,icon:s,children:l}){return(0,t.jsxs)("div",{className:"z-20 -mx-4 -mt-4 mb-5 flex flex-col gap-2 border-b border-border bg-bg px-4 py-3 md:sticky md:top-0 md:flex-row md:flex-wrap md:items-center md:gap-x-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[s?(0,t.jsx)(s,{size:16,className:"shrink-0 text-text-muted","aria-hidden":!0}):null,(0,t.jsx)("h1",{className:"text-base font-semibold tracking-tight text-text",children:e}),void 0!==a?(0,t.jsx)("span",{className:"rounded-full bg-elevated px-2 py-0.5 font-mono text-[11px] text-text-muted",children:a}):null]}),l?(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-2 md:ml-auto",children:l}):null]})}])},26178,e=>{"use strict";var t=e.i(43476);e.s(["ModuleShell",0,function({moduleId:e,children:a}){return(0,t.jsx)("section",{"data-module":e,className:"module-root flex flex-col gap-4",children:a})}])},44375,e=>{"use strict";var t=e.i(43476),a=e.i(76525);e.i(69530);var s=e.i(2942);e.s(["EmptyState",0,function({title:e,description:a,icon:s,action:l}){return(0,t.jsxs)("div",{className:"flex animate-fade-up flex-col items-center justify-center gap-3 py-14 text-center",children:[s?(0,t.jsx)(s,{size:28,strokeWidth:1.25,className:"text-text-muted/40","aria-hidden":!0}):null,(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)("p",{className:"text-sm uppercase tracking-wide text-text",children:e}),a&&(0,t.jsx)("p",{className:"text-xs text-text-muted",children:a})]}),l]})},"ErrorState",0,function({message:e,onRetry:l}){let{t:r}=(0,s.useTranslation)();return(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center gap-2 py-12 text-center",children:[(0,t.jsx)("p",{className:"text-sm text-accent",children:e}),l&&(0,t.jsx)(a.Button,{onClick:l,children:r.common.retry})]})},"LoadingState",0,function({label:e,variant:a="list"}){let{t:l}=(0,s.useTranslation)();return e?(0,t.jsx)("div",{className:"flex items-center justify-center py-12 font-mono text-xs text-text-muted animate-pulse",children:e}):"cards"===a?(0,t.jsx)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3","aria-busy":"true","aria-label":l.common.loading,children:[0,1,2,3,4,5].map(e=>(0,t.jsxs)("div",{className:"flex flex-col gap-2.5 rounded-lg border border-border bg-surface p-3",style:{boxShadow:"var(--shadow-card)"},children:[(0,t.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,t.jsx)("div",{className:"skeleton h-9 w-9 rounded-lg"}),(0,t.jsxs)("div",{className:"flex flex-1 flex-col gap-1.5",children:[(0,t.jsx)("div",{className:"skeleton h-3.5 w-2/3 rounded"}),(0,t.jsx)("div",{className:"skeleton h-3 w-1/3 rounded"})]})]}),(0,t.jsx)("div",{className:"skeleton h-6 w-full rounded-md"})]},e))}):"kanban"===a?(0,t.jsx)("div",{className:"flex gap-3 overflow-hidden","aria-busy":"true","aria-label":l.common.loading,children:[0,1,2,3,4].map(e=>(0,t.jsxs)("div",{className:"flex min-w-[14rem] flex-1 flex-col gap-2 rounded-lg border border-border bg-surface p-2",children:[(0,t.jsx)("div",{className:"skeleton h-3 w-20 rounded"}),[0,1,2].map(e=>(0,t.jsx)("div",{className:"skeleton h-12 w-full rounded-md"},e))]},e))}):(0,t.jsx)("div",{className:"flex flex-col gap-2.5 py-2","aria-busy":"true","aria-label":l.common.loading,children:[88,72,80,64].map((e,a)=>(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("div",{className:"skeleton h-4 w-4 rounded-md"}),(0,t.jsx)("div",{className:"skeleton h-3.5 rounded",style:{width:`${e}%`}})]},a))})}])},89890,e=>{"use strict";var t=e.i(43476);let a={default:"border-border bg-elevated text-text-muted",accent:"border-accent/40 bg-accent/10 text-accent",muted:"border-border bg-elevated text-text-muted",danger:"border-danger/40 bg-danger/10 text-danger",success:"border-success/40 bg-success/10 text-success",warning:"border-warning/40 bg-warning/10 text-warning"};e.s(["Badge",0,function({children:e,tone:s="default"}){return(0,t.jsx)("span",{className:`inline-flex items-center rounded-md border px-2 py-0.5 font-mono text-[11px] font-medium ${a[s]}`,children:e})}])},46040,e=>{"use strict";var t=e.i(43476),a=e.i(71645),s=e.i(74080);e.i(69530);var l=e.i(2942);let r={lg:"h-[88vh] w-[92vw]",xl:"max-h-[90vh] w-full max-w-2xl",md:"max-h-[88vh] w-full max-w-lg",sm:"max-h-[80vh] w-full max-w-md"};e.s(["Modal",0,function({title:e,onClose:i,children:n,size:d="lg",icon:c,description:o}){let{t:x}=(0,l.useTranslation)(),[m,u]=(0,a.useState)(!1);return((0,a.useEffect)(()=>u(!0),[]),(0,a.useEffect)(()=>{let e=e=>{"Escape"===e.key&&i()};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[i]),m)?(0,s.createPortal)((0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/70 p-4",onClick:i,children:(0,t.jsxs)("div",{className:`animate-pop-in flex flex-col rounded-lg bg-surface border border-border ${r[d]}`,style:{boxShadow:"var(--shadow-raised)"},onClick:e=>e.stopPropagation(),children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 border-b border-border px-5 py-3",children:[c?(0,t.jsx)("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg border border-border bg-elevated",children:(0,t.jsx)(c,{size:18,className:"text-accent","aria-hidden":!0})}):null,(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("h2",{className:"truncate text-sm font-semibold text-text",children:e}),o?(0,t.jsx)("p",{className:"truncate text-xs text-text-muted",children:o}):null]}),(0,t.jsx)("button",{type:"button","aria-label":x.common.close,onClick:i,className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-text-muted transition-colors hover:bg-elevated hover:text-text",children:"×"})]}),(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:n})]})}),document.body):null},"ModalBody",0,function({children:e,gap:a=5}){return(0,t.jsx)("div",{className:`flex min-h-0 flex-1 flex-col overflow-y-auto p-5 ${4===a?"gap-4":6===a?"gap-6":"gap-5"}`,children:e})},"ModalFooter",0,function({children:e}){return(0,t.jsx)("div",{className:"flex shrink-0 items-center justify-end gap-2 border-t border-border px-5 py-3",children:e})}])},73141,e=>{"use strict";var t=e.i(43476),a=e.i(66027),s=e.i(90272),l=e.i(40273);e.s(["ProjectIcon",0,function({project:e,size:r=16,className:i=""}){let n=e.icon??"",{data:d}=(0,a.useQuery)({queryKey:["project-icon",e.id,n],enabled:!!n,staleTime:1/0,queryFn:async()=>{let t=await l.orcaClient.projectRawBlob(e.id,n);return await new Promise((e,a)=>{let s=new FileReader;s.onload=()=>e(s.result),s.onerror=()=>a(s.error),s.readAsDataURL(t)})}});return n&&d?(0,t.jsx)("img",{src:d,alt:"","aria-hidden":!0,className:`shrink-0 rounded-sm object-cover ${i}`,style:{width:r,height:r}}):(0,t.jsx)(s.FolderGit2,{size:r,className:`shrink-0 ${i}`,"aria-hidden":!0})}])},84375,e=>{"use strict";var t=e.i(43476);e.s(["Segmented",0,function({options:e,value:a,onChange:s}){return(0,t.jsx)("div",{role:"radiogroup",className:"flex flex-wrap gap-1.5",children:e.map(e=>{let l=e.value===a,r=e.icon;return(0,t.jsxs)("button",{type:"button",role:"radio","aria-checked":l,"aria-label":e.label,onClick:()=>s(e.value),className:`inline-flex h-9 items-center gap-1.5 rounded-md border px-3 text-xs font-medium transition-colors ${l?"border-accent/50 bg-accent/15 text-accent":"border-border bg-elevated text-text-muted hover:border-border-strong hover:text-text"}`,style:{transitionDuration:"var(--motion-fast)"},children:[r?(0,t.jsx)(r,{size:13,"aria-hidden":!0}):null,e.label]},e.value)})})}])},40310,e=>{"use strict";var t=e.i(71645);e.s(["usePersistentState",0,function(e,a,s){let[l,r]=(0,t.useState)(a);return(0,t.useEffect)(()=>{try{let t=localStorage.getItem(e);if(null===t)return;("function"==typeof s?s(t):s.includes(t))&&r(t)}catch{}},[e]),[l,(0,t.useCallback)(t=>{r(t);try{localStorage.setItem(e,t)}catch{}},[e])]}])},14683,e=>{"use strict";let t=(0,e.i(75254).default)("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",0,t],14683)},9236,e=>{"use strict";var t=e.i(43476),a=e.i(51981),s=e.i(73141);e.s(["ProjectPill",0,function({projectId:e,always:l=!1}){let{data:r}=(0,a.useProjects)();if(null==e||!r||!l&&r.length<2)return null;let i=r.find(t=>t.id===e);return i?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-md border border-border bg-elevated px-1.5 py-0.5 font-mono text-[11px] text-text-muted",title:i.path,children:[(0,t.jsx)(s.ProjectIcon,{project:i,size:11}),(0,t.jsx)("span",{className:"max-w-32 truncate",children:i.slug})]}):null}])},46387,e=>{"use strict";let t=(0,e.i(75254).default)("Columns3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]]);e.s(["Columns3",0,t],46387)},88178,e=>{"use strict";var t=e.i(43476),a=e.i(26178),s=e.i(71645),l=e.i(22016),r=e.i(21218),i=e.i(3116),n=e.i(46387),d=e.i(75254);let c=(0,d.default)("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]),o=(0,d.default)("FileDiff",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M9 10h6",key:"9gxzsh"}],["path",{d:"M12 13V7",key:"h0r20n"}],["path",{d:"M9 17h6",key:"r8uit2"}]]);var x=e.i(51981),m=e.i(24877),u=e.i(93393),u=u,p=e.i(7233);let h=(0,d.default)("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);e.i(69530);var f=e.i(2942),g=e.i(94008);let b=(0,d.default)("FileCode",[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]]),j=(0,d.default)("FileJson",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1",key:"1oajmo"}],["path",{d:"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1",key:"mpwhp6"}]]);var v=e.i(78583),y=e.i(3408),y=y;let k=(0,d.default)("Palette",[["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["path",{d:"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z",key:"12rzf8"}]]),w=(0,d.default)("FileCog",[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m3.2 12.9-.9-.4",key:"1i3dj5"}],["path",{d:"m3.2 15.1-.9.4",key:"1fvgj0"}],["path",{d:"M4.677 21.5a2 2 0 0 0 1.313.5H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v2.5",key:"1yo3oz"}],["path",{d:"m4.9 11.2-.4-.9",key:"otmhb9"}],["path",{d:"m4.9 16.8-.4.9",key:"1b8z07"}],["path",{d:"m7.5 10.3-.4.9",key:"11k65u"}],["path",{d:"m7.5 17.7-.4-.9",key:"431x55"}],["path",{d:"m9.7 12.5-.9.4",key:"87sjan"}],["path",{d:"m9.7 15.5-.9-.4",key:"khqm91"}],["circle",{cx:"6",cy:"14",r:"3",key:"a1xfv6"}]]);var N=e.i(68054);let M=(0,d.default)("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]),C={ts:b,tsx:b,js:b,jsx:b,mjs:b,cjs:b,go:b,rs:b,php:b,py:b,html:b,json:j,css:k,scss:k,md:v.FileText,markdown:v.FileText,txt:v.FileText,yml:w,yaml:w,toml:w,env:w,ini:w,sh:N.Terminal,bash:N.Terminal,sql:M,png:y.default,jpg:y.default,jpeg:y.default,gif:y.default,svg:y.default,webp:y.default};function S(e){return C[e.split("/").pop()?.split(".").pop()?.toLowerCase()??""]??g.File}var $=e.i(89890),z=e.i(9236),P=e.i(46040),I=e.i(76881);let T=e=>{let t=new Date(e);return`${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}`},q=e=>e.split("/").pop()??e;function F({stamps:e,start:a,end:l}){let r=(0,s.useMemo)(()=>{let t=Array(12).fill(0),s=l-a||1;for(let l of e){let e=Math.min(11,Math.max(0,Math.floor((l-a)/s*12)));t[e]++}return t},[e,a,l]),i=Math.max(1,...r);return(0,t.jsx)("span",{className:"inline-flex h-4 items-end gap-px","aria-hidden":!0,children:r.map((e,a)=>(0,t.jsx)("span",{className:"w-[3px] rounded-sm bg-accent/55",style:{height:`${e?Math.max(14,e/i*100):6}%`,opacity:e?1:.3}},a))})}function H({c:e,multiProject:a,onOpen:s}){let l=e.files.reduce((e,t)=>e+t.added,0),r=e.files.reduce((e,t)=>e+t.deleted,0);return(0,t.jsxs)("button",{type:"button",onClick:()=>s(e),className:"card-interactive group flex w-full flex-col gap-1.5 rounded-lg border border-border bg-surface p-2.5 text-left",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(u.default,{size:13,className:"shrink-0 text-text-muted group-hover:text-accent","aria-hidden":!0}),(0,t.jsx)("span",{className:"font-mono text-[11px] text-text-muted",children:T(e.timestamp)}),(0,t.jsx)("span",{className:"rounded bg-elevated px-1.5 py-0.5 font-mono text-[11px] text-text-muted",children:e.hash}),a?(0,t.jsx)(z.ProjectPill,{projectId:e.projectId}):null,(0,t.jsxs)("span",{className:"ml-auto inline-flex items-center gap-2 font-mono text-[11px]",children:[l?(0,t.jsxs)("span",{className:"inline-flex items-center text-success",children:[(0,t.jsx)(p.Plus,{size:10,"aria-hidden":!0}),l]}):null,r?(0,t.jsxs)("span",{className:"inline-flex items-center text-danger",children:[(0,t.jsx)(h,{size:10,"aria-hidden":!0}),r]}):null]})]}),(0,t.jsx)("div",{className:"truncate text-sm text-text",children:e.subject}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(function(e){let t=new Map;for(let a of e){let e=S(a.path),s=e.displayName??e.name??a.path,l=t.get(s);l?l.count++:t.set(s,{Icon:e,count:1})}return[...t.entries()].map(([e,t])=>({key:e,Icon:t.Icon,count:t.count})).slice(0,5)})(e.files).map(({key:e,Icon:a,count:s})=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-md border border-border bg-elevated px-1.5 py-0.5 font-mono text-[11px] text-text-muted",children:[(0,t.jsx)(a,{size:12,className:"shrink-0","aria-hidden":!0}),s]},e)),(0,t.jsx)("span",{className:"font-mono text-[11px] text-text-muted",children:1===e.files.length?q(e.files[0].path):`${e.files.length}`})]})]})}function D({commits:e,windowStart:a,now:l,multiProject:r}){let{t:i}=(0,f.useTranslation)(),[n,d]=(0,s.useState)(null),[c,o]=(0,s.useState)(null),m=(0,x.useProjectCommit)(n?n.projectId:null,n?n.hash:null),p=(0,x.useProjectCommitFileDiff)(c?c.projectId:null,c?c.hash:null,c?c.path:null),h=(0,s.useMemo)(()=>{let t=new Map;for(let a of e)for(let e of a.files){let s=t.get(e.path)??{path:e.path,count:0,added:0,deleted:0,stamps:[],hash:a.hash,projectId:a.projectId};s.count++,s.added+=e.added,s.deleted+=e.deleted,s.stamps.push(a.timestamp),t.set(e.path,s)}return[...t.values()].sort((e,t)=>t.count-e.count||t.added+t.deleted-(e.added+e.deleted)).slice(0,8)},[e]);return e.length?(0,t.jsxs)("div",{className:"grid gap-5 lg:grid-cols-[minmax(0,1.3fr)_minmax(0,1fr)]",children:[(0,t.jsxs)("section",{className:"flex min-w-0 flex-col gap-2",children:[(0,t.jsx)("h3",{className:"font-mono text-[11px] uppercase tracking-widest text-text-muted",children:i.timeline.changesOverTime}),(0,t.jsx)("div",{className:"flex flex-col gap-2",children:e.map(e=>(0,t.jsx)(H,{c:e,multiProject:r,onOpen:d},`${e.projectId}-${e.hash}`))})]}),(0,t.jsxs)("section",{className:"flex min-w-0 flex-col gap-2",children:[(0,t.jsx)("h3",{className:"font-mono text-[11px] uppercase tracking-widest text-text-muted",children:i.timeline.mostActiveFiles}),(0,t.jsx)("div",{className:"flex flex-col gap-1.5",children:h.map(e=>{var s;let r,i=S(e.path);return(0,t.jsxs)("button",{type:"button",onClick:()=>o({path:e.path,hash:e.hash,projectId:e.projectId}),className:"card-interactive flex w-full items-center gap-2.5 rounded-lg border border-border bg-surface p-2.5 text-left",children:[(0,t.jsx)(i,{size:15,className:"shrink-0 text-text-muted","aria-hidden":!0}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 truncate text-sm",title:e.path,children:[(0,t.jsx)("span",{className:"text-text-muted",children:(r=(s=e.path).lastIndexOf("/"))>=0?s.slice(0,r+1):""}),(0,t.jsx)("span",{className:"text-text",children:q(e.path)})]}),(0,t.jsx)(F,{stamps:e.stamps,start:a,end:l}),(0,t.jsxs)($.Badge,{tone:"muted",children:[e.count,"×"]}),(0,t.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1.5 font-mono text-[11px]",children:[(0,t.jsxs)("span",{className:"text-success",children:["+",e.added]}),(0,t.jsxs)("span",{className:"text-danger",children:["−",e.deleted]})]})]},e.path)})})]}),n?(0,t.jsx)(P.Modal,{title:n.subject,description:`${n.hash} \xb7 ${T(n.timestamp)}`,icon:u.default,size:"lg",onClose:()=>d(null),children:(0,t.jsx)("div",{className:"flex h-full min-h-0 flex-col p-5",children:(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden rounded-lg border border-border",children:(0,t.jsx)(I.PatchView,{diff:m.data?.diff??"",empty:m.isLoading?i.common.loading:i.projects.noChanges})})})}):null,c?(0,t.jsx)(P.Modal,{title:q(c.path),description:`${c.path} \xb7 ${c.hash}`,icon:S(c.path),size:"lg",onClose:()=>o(null),children:(0,t.jsx)("div",{className:"flex h-full min-h-0 flex-col p-5",children:(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden rounded-lg border border-border",children:(0,t.jsx)(I.PatchView,{diff:p.data?.diff??"",empty:p.isLoading?i.common.loading:i.projects.noChanges})})})}):null]}):(0,t.jsx)("div",{className:"rounded-lg border border-border bg-surface p-6 text-center text-sm text-text-muted",children:i.timeline.noChangesInWindow})}function A(e,t,a){let s=t-36e5*a,l=t-s,r=a<=24?a:Math.max(6,Math.min(12,Math.round(a/24)));return{ticks:Array.from({length:r},(e,t)=>{let i=s+(t+1)*l/r,n=new Date(i);return{label:a<=24?`${String(n.getHours()).padStart(2,"0")}:${String(n.getMinutes()).padStart(2,"0")}`:`${n.getDate()}.${n.getMonth()+1}.`,frac:(i-s)/l}}),points:(function(e){let t=[...e].sort((e,t)=>e.timestamp-t.timestamp),a=[];for(let e of t){let t=a[a.length-1];void 0!==t&&t.type===e.type&&t.target===e.target&&t.detail===e.detail&&e.timestamp-t.timestamp<=3e5?(t.count+=1,t.id=e.id,t.timestamp=e.timestamp):a.push({...e,count:1,firstTimestamp:e.timestamp})}return a})(e).filter(e=>e.timestamp>=s&&e.timestamp<=t).map(e=>({...e,frac:(e.timestamp-s)/(t-s)}))}}var L=e.i(63804),V=e.i(9912),W=e.i(7835),E=e.i(81418),R=e.i(14683);function B(e){switch(e){case"task":return L.ListChecks;case"mission":return V.Rocket;case"signal":return W.Radio;case"review":return E.ShieldCheck;default:return R.Circle}}function _(e,t){if(t.startsWith("escalated"))return"danger";if(t.startsWith("approved"))return"success";switch(t){case"complete":case"open":return"success";case"working":case"in_progress":case"needs_input":return"warning";case"closed":case"blocked":case"cancelled":return"danger";case"active":return"accent";default:switch(e){case"task":case"mission":return"accent";case"signal":return"muted";case"review":return"warning";default:return"default"}}}var O=e.i(84375),U=e.i(51509),Z=e.i(44375),K=e.i(40310);let G={accent:"bg-accent",danger:"bg-danger",success:"bg-success",warning:"bg-warning",muted:"bg-text-muted",default:"bg-text-muted"},J={accent:"text-accent",danger:"text-danger",success:"text-success",warning:"text-warning",muted:"text-text-muted",default:"text-text-muted"},Q={accent:"border-accent/40 bg-accent/10 text-accent",danger:"border-danger/40 bg-danger/10 text-danger",success:"border-success/40 bg-success/10 text-success",warning:"border-warning/40 bg-warning/10 text-warning",muted:"border-border bg-elevated text-text-muted",default:"border-border bg-elevated text-text-muted"};function X(e){let t=new Date(e);return`${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}`}function Y({point:e,label:a,onPick:s}){let l=_(e.type,e.detail),r=Math.min(20,11+2*Math.floor(Math.log2(e.count+1))),i=`${a} \xb7 ${e.detail} \xb7 ${X(e.timestamp)}${e.count>1?` \xb7 \xd7${e.count}`:""}`;return(0,t.jsxs)("div",{className:"group absolute top-1/2 -translate-x-1/2 -translate-y-1/2",style:{left:`${100*e.frac}%`},children:[(0,t.jsx)("button",{type:"button","data-testid":"axis-dot",onClick:()=>s(e),className:`block animate-pop-in cursor-pointer rounded-full border-2 border-surface shadow-sm transition-transform hover:scale-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-accent ${G[l]}`,style:{width:r,height:r,transitionDuration:"var(--motion-fast)"},"aria-label":i}),(0,t.jsxs)("div",{role:"tooltip",className:`pointer-events-none absolute bottom-full z-10 mb-2 hidden w-max max-w-[18rem] whitespace-normal break-words rounded-md border border-border bg-elevated px-2.5 py-1.5 text-xs text-text group-hover:block ${e.frac<.12?"left-0":e.frac>.88?"right-0":"left-1/2 -translate-x-1/2"}`,style:{boxShadow:"var(--shadow-raised)"},children:[(0,t.jsx)("span",{className:"text-text",children:a}),(0,t.jsxs)("span",{className:"text-text-muted",children:[" · ",e.detail," · ",X(e.timestamp)]}),e.count>1?(0,t.jsxs)("span",{className:"text-text-muted",children:[" · ×",e.count]}):null]})]})}function ee({points:e,ticks:a,resolve:s,onPick:l}){return(0,t.jsxs)("div",{className:"relative w-full select-none",children:[(0,t.jsxs)("div",{className:"relative h-16",children:[a.map(e=>(0,t.jsx)("div",{className:"absolute inset-y-0 w-px bg-border/50",style:{left:`${100*e.frac}%`},"aria-hidden":!0},e.label)),(0,t.jsx)("div",{className:"absolute inset-x-0 top-1/2 h-px -translate-y-1/2 bg-border","aria-hidden":!0}),(0,t.jsx)("div",{className:"absolute inset-y-0 right-0 w-px bg-accent/40","aria-hidden":!0,children:(0,t.jsx)("span",{className:"live-dot absolute -top-0.5 left-1/2 h-1.5 w-1.5 -translate-x-1/2 rounded-full bg-accent",style:{"--live-ring":"color-mix(in srgb, var(--color-info) 50%, transparent)"}})}),e.map(e=>(0,t.jsx)(Y,{point:e,label:s(e).label,onPick:l},e.id))]}),(0,t.jsx)("div",{className:"relative mt-1.5 h-4",children:a.map(e=>(0,t.jsx)("span",{"data-testid":"axis-tick",className:"absolute -translate-x-1/2 font-mono text-text-muted",style:{left:`${100*e.frac}%`,fontSize:"var(--text-caption)"},children:e.label},e.label))})]})}function et({points:e,ticks:a,resolve:s,onPick:l}){let r=e.reduce((e,t)=>t.timestamp>e.timestamp?t:e,e[0]),i=B(r.type),n=_(r.type,r.detail),{label:d,projectId:c}=s(r);return(0,t.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border bg-surface px-3 py-2.5",children:[(0,t.jsx)("span",{className:`flex h-12 w-12 shrink-0 items-center justify-center rounded-xl border-2 ${Q[n]}`,children:(0,t.jsx)(i,{size:24,"aria-hidden":!0})}),(0,t.jsxs)("div",{className:"w-44 shrink-0",children:[(0,t.jsx)("div",{className:"flex items-center gap-1.5",children:(0,t.jsx)("span",{className:"truncate text-sm font-medium text-text",title:d,children:d})}),(0,t.jsxs)("div",{className:"mt-0.5 flex items-center gap-1.5",children:[(0,t.jsx)("span",{className:`shrink-0 text-[11px] ${J[n]}`,children:r.detail}),(0,t.jsx)(z.ProjectPill,{projectId:c??void 0})]})]}),(0,t.jsxs)("div",{className:"relative h-9 flex-1",children:[a.map(e=>(0,t.jsx)("div",{className:"absolute inset-y-0 w-px bg-border/40",style:{left:`${100*e.frac}%`},"aria-hidden":!0},e.label)),(0,t.jsx)("div",{className:"absolute inset-x-0 top-1/2 h-px -translate-y-1/2 bg-border/60","aria-hidden":!0}),e.map(e=>(0,t.jsx)(Y,{point:e,label:s(e).label,onPick:l},e.id))]})]})}function ea({tone:e,count:a,label:s}){return(0,t.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border bg-surface px-3.5 py-3",children:[(0,t.jsx)("span",{className:`flex h-11 w-11 shrink-0 items-center justify-center rounded-xl border-2 text-lg font-semibold ${Q[e]}`,children:a}),(0,t.jsx)("span",{className:"text-xs font-medium uppercase tracking-wide text-text-muted",children:s})]})}function es({point:e,display:a,onClose:s}){let{t:r}=(0,f.useTranslation)(),i=B(e.type),n=_(e.type,e.detail),d=a.projectId,m="task"===e.type||"review"===e.type?e.target:null,u=(0,x.useProjectChanged)(d),p=(0,x.useProjectChanges)(d,!0);return(0,t.jsx)(P.Modal,{title:a.label,description:`${e.detail} \xb7 ${X(e.timestamp)}`,icon:i,size:"lg",onClose:s,children:(0,t.jsxs)("div",{className:"flex h-full flex-col gap-4 overflow-hidden p-5",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-start gap-3",children:[(0,t.jsx)("span",{className:`flex h-14 w-14 shrink-0 items-center justify-center rounded-2xl border-2 ${Q[n]}`,children:(0,t.jsx)(i,{size:30,"aria-hidden":!0})}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)($.Badge,{tone:n,children:e.detail}),e.count>1?(0,t.jsxs)("span",{className:"text-xs text-text-muted",children:["×",e.count]}):null,(0,t.jsx)(z.ProjectPill,{projectId:d??void 0})]}),(0,t.jsx)("div",{className:"mt-1 text-sm font-medium text-text",children:a.label})]}),m?(0,t.jsxs)(l.default,{href:`/tasks?select=${encodeURIComponent(m)}`,className:"inline-flex w-full shrink-0 items-center justify-center gap-1 rounded-md border border-border bg-elevated px-2.5 py-1.5 text-xs text-text transition-colors hover:text-accent sm:w-auto sm:justify-start",children:[(0,t.jsx)(c,{size:14,"aria-hidden":!0}),r.timeline.openTask]}):null]}),u.data?.changed?.length?(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:u.data.changed.slice(0,12).map(e=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-md border border-border bg-elevated px-1.5 py-0.5 font-mono text-[11px] text-text-muted",children:[(0,t.jsx)(o,{size:11,"aria-hidden":!0}),e]},e))}):null,d?(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden rounded-lg border border-border",children:p.isLoading?(0,t.jsx)(Z.LoadingState,{}):(0,t.jsx)(I.PatchView,{diff:p.data?.diff??"",empty:r.timeline.noChanges})}):(0,t.jsx)("p",{className:"rounded-lg border border-border bg-elevated p-4 text-center text-sm text-text-muted",children:r.timeline.noChanges})]})})}function el(){let{t:e}=(0,f.useTranslation)(),[a,l]=(0,K.usePersistentState)("orca.timeline.filter","all",["all","task","mission","signal","review"]),[d,c]=(0,K.usePersistentState)("orca.timeline.view","axis",["axis","lanes"]),[o,u]=(0,s.useState)(null),p=(0,x.useActivity)("all"===a?void 0:a),h=(0,x.useTasks)(),{byId:g,byAgent:b}=(0,s.useMemo)(()=>{let e=new Map,t=new Map;for(let a of h.data??[]){e.set(a.id,a);let s=a.labels?.find(e=>e.startsWith("agent:"))?.slice("agent:".length);s&&t.set(s,a)}return{byId:e,byAgent:t}},[h.data]),j=(0,s.useMemo)(()=>{let e=new Map;for(let t of p.data??[])t.label&&e.set(t.target,t.label);return e},[p.data]),v=(0,s.useMemo)(()=>e=>(function(e,t,a,s){if(e.target.startsWith("m-")){let a=t.get(e.target.slice(2));return{label:a?.title??s.get(e.target)??e.target,projectId:a?.project_id??e.projectId??null}}if("task"===e.type||"review"===e.type){let a=t.get(e.target);return{label:a?.title??s.get(e.target)??e.target,projectId:e.projectId??a?.project_id??null}}if(e.target.startsWith("orca-")){let t=e.target.slice(5),s=a.get(t);return{label:t,projectId:s?.project_id??e.projectId??null}}return{label:e.target,projectId:e.projectId??null}})(e,g,b,j),[g,b,j]),y=[{label:e.timeline.filterAll,value:"all"},{label:e.timeline.filterTasks,value:"task"},{label:e.timeline.filterMissions,value:"mission"},{label:e.timeline.filterSignals,value:"signal"},{label:e.timeline.filterReviews,value:"review"}],k=(0,s.useMemo)(()=>(p.data??[]).flatMap(e=>{let t=(0,m.parseTs)(e.ts);return null==t?[]:[{id:String(e.id),type:e.type,target:e.target,detail:e.detail,timestamp:t,projectId:e.project_id}]}),[p.data]),w=(0,s.useMemo)(()=>{if(0===k.length)return 12;let e=Math.min(...k.map(e=>e.timestamp));return Math.min(168,Math.max(1,Math.ceil((Date.now()-e)/36e5)))},[k]),N=w>=144?e.timeline.activityWeek:w>=36?e.timeline.activityDays.replace("{n}",String(Math.round(w/24))):e.timeline.activityHours.replace("{n}",String(Math.round(w))),{points:M,ticks:C}=(0,s.useMemo)(()=>A(k,Date.now(),w),[k,w]),S=(0,s.useMemo)(()=>{let e={task:0,mission:0,signal:0,approved:0,escalated:0};for(let t of M)"review"===t.type?t.detail.startsWith("escalated")?e.escalated++:e.approved++:"task"===t.type?e.task++:"mission"===t.type?e.mission++:"signal"===t.type&&e.signal++;return e},[M]),$=(0,s.useMemo)(()=>{let e=Date.now(),t=new Map;for(let e of k){let a=t.get(e.target)??[];a.push(e),t.set(e.target,a)}return Array.from(t.entries()).map(([t,a])=>({target:t,points:A(a,e,w).points,last:Math.max(...a.map(e=>e.timestamp))})).filter(e=>e.points.length>0).sort((e,t)=>t.last-e.last).slice(0,10)},[k,w]),z=!p.isLoading&&!p.isError&&k.length>0,P=(0,x.useProjects)(),I=(0,s.useMemo)(()=>(P.data??[]).map(e=>e.id),[P.data]),T=(0,x.useProjectsCommits)(I,w),q=[{tone:"accent",count:S.task,label:e.timeline.filterTasks},{tone:"accent",count:S.mission,label:e.timeline.filterMissions},{tone:"success",count:S.approved,label:e.timeline.approved},{tone:"danger",count:S.escalated,label:e.timeline.escalated},{tone:"muted",count:S.signal,label:e.timeline.filterSignals}];return(0,t.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,t.jsxs)(U.ModuleHeader,{title:e.page.timeline,icon:r.Activity,children:[(0,t.jsx)(O.Segmented,{options:[{label:e.timeline.axis,value:"axis",icon:r.Activity},{label:e.timeline.lanes,value:"lanes",icon:n.Columns3}],value:d,onChange:c}),(0,t.jsx)(O.Segmented,{options:y,value:a,onChange:l})]}),z?(0,t.jsx)("div",{"data-testid":"timeline-summary",className:"grid grid-cols-2 gap-2.5 sm:grid-cols-3 lg:grid-cols-5",children:q.map(e=>(0,t.jsx)(ea,{tone:e.tone,count:e.count,label:e.label},e.label))}):null,(0,t.jsxs)("section",{className:"rounded-lg border border-border border-t-2 border-t-accent/40 bg-surface p-5",style:{boxShadow:"var(--shadow-card)"},children:[(0,t.jsxs)("div",{className:"mb-4 flex items-center justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-widest text-text-muted",children:[(0,t.jsx)(i.Clock,{size:12,className:"shrink-0 text-text-muted","aria-hidden":!0}),N]}),z?(0,t.jsx)("span",{className:"hidden text-[11px] text-text-muted sm:inline",children:e.timeline.markerHint}):null]}),p.isLoading?(0,t.jsx)(Z.LoadingState,{}):p.isError?(0,t.jsx)(Z.ErrorState,{message:e.timeline.loadError,onRetry:()=>p.refetch()}):z?"lanes"===d?(0,t.jsxs)("div",{className:"flex flex-col gap-2.5",children:[$.map(e=>(0,t.jsx)(et,{points:e.points,ticks:C,resolve:v,onPick:u},e.target)),(0,t.jsx)("div",{className:"relative mt-1 ml-[10.25rem] h-4",children:C.map(e=>(0,t.jsx)("span",{className:"absolute -translate-x-1/2 font-mono text-text-muted",style:{left:`${100*e.frac}%`,fontSize:"var(--text-caption)"},children:e.label},e.label))})]}):(0,t.jsx)(ee,{points:M,ticks:C,resolve:v,onPick:u}):(0,t.jsx)(Z.EmptyState,{title:e.timeline.empty,description:e.timeline.emptyDescription,icon:r.Activity})]}),z?(0,t.jsx)(D,{commits:T.commits,windowStart:Date.now()-36e5*w,now:Date.now(),multiProject:I.length>1}):null,o?(0,t.jsx)(es,{point:o,display:v(o),onClose:()=>u(null)}):null]})}e.s(["default",0,function(){return(0,t.jsx)(a.ModuleShell,{moduleId:"timeline",children:(0,t.jsx)(el,{})})},"dynamic",0,"force-dynamic"],88178)}]);
|