agent-tower 0.7.3 → 0.7.4-beta.0
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/git/worktree.manager.d.ts +2 -0
- package/dist/git/worktree.manager.d.ts.map +1 -1
- package/dist/git/worktree.manager.js +29 -8
- package/dist/git/worktree.manager.js.map +1 -1
- package/dist/git/worktree.manager.test.js +38 -0
- package/dist/git/worktree.manager.test.js.map +1 -1
- package/dist/mcp/http-client.d.ts +3 -1
- package/dist/mcp/http-client.d.ts.map +1 -1
- package/dist/mcp/http-client.js +6 -0
- package/dist/mcp/http-client.js.map +1 -1
- package/dist/mcp/tools/__tests__/tasks.test.js +33 -1
- package/dist/mcp/tools/__tests__/tasks.test.js.map +1 -1
- package/dist/mcp/tools/tasks.d.ts.map +1 -1
- package/dist/mcp/tools/tasks.js +30 -2
- package/dist/mcp/tools/tasks.js.map +1 -1
- package/dist/mcp/types.d.ts +24 -0
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/mcp/types.js +12 -1
- package/dist/mcp/types.js.map +1 -1
- package/dist/prompts/task-handoff.d.ts +6 -0
- package/dist/prompts/task-handoff.d.ts.map +1 -0
- package/dist/prompts/task-handoff.js +17 -0
- package/dist/prompts/task-handoff.js.map +1 -0
- package/dist/prompts/task-handoff.test.d.ts +2 -0
- package/dist/prompts/task-handoff.test.d.ts.map +1 -0
- package/dist/prompts/task-handoff.test.js +27 -0
- package/dist/prompts/task-handoff.test.js.map +1 -0
- package/dist/prompts/workspace-background-service-policy.d.ts +6 -0
- package/dist/prompts/workspace-background-service-policy.d.ts.map +1 -1
- package/dist/prompts/workspace-background-service-policy.js +2 -1
- package/dist/prompts/workspace-background-service-policy.js.map +1 -1
- package/dist/routes/__tests__/task-handoff.test.d.ts +2 -0
- package/dist/routes/__tests__/task-handoff.test.d.ts.map +1 -0
- package/dist/routes/__tests__/task-handoff.test.js +185 -0
- package/dist/routes/__tests__/task-handoff.test.js.map +1 -0
- package/dist/routes/__tests__/tasks.test.js +23 -0
- package/dist/routes/__tests__/tasks.test.js.map +1 -1
- package/dist/routes/tasks.d.ts.map +1 -1
- package/dist/routes/tasks.js +59 -2
- package/dist/routes/tasks.js.map +1 -1
- package/dist/services/__tests__/session-manager.lifecycle.test.js +171 -1
- package/dist/services/__tests__/session-manager.lifecycle.test.js.map +1 -1
- package/dist/services/__tests__/task.service.test.js +99 -76
- package/dist/services/__tests__/task.service.test.js.map +1 -1
- package/dist/services/__tests__/workspace-background-service.service.test.js +74 -26
- package/dist/services/__tests__/workspace-background-service.service.test.js.map +1 -1
- package/dist/services/__tests__/workspace.service.test.js +36 -0
- package/dist/services/__tests__/workspace.service.test.js.map +1 -1
- package/dist/services/message-delivery.service.d.ts +2 -0
- package/dist/services/message-delivery.service.d.ts.map +1 -1
- package/dist/services/project.service.d.ts +2 -0
- package/dist/services/project.service.d.ts.map +1 -1
- package/dist/services/session-manager.d.ts +8 -1
- package/dist/services/session-manager.d.ts.map +1 -1
- package/dist/services/session-manager.js +18 -2
- package/dist/services/session-manager.js.map +1 -1
- package/dist/services/task-cleanup.service.d.ts +2 -0
- package/dist/services/task-cleanup.service.d.ts.map +1 -1
- package/dist/services/task-cleanup.service.js +2 -2
- package/dist/services/task-cleanup.service.js.map +1 -1
- package/dist/services/task-handoff.service.d.ts +18 -0
- package/dist/services/task-handoff.service.d.ts.map +1 -0
- package/dist/services/task-handoff.service.js +87 -0
- package/dist/services/task-handoff.service.js.map +1 -0
- package/dist/services/task.service.d.ts +35 -10
- package/dist/services/task.service.d.ts.map +1 -1
- package/dist/services/task.service.js +210 -168
- package/dist/services/task.service.js.map +1 -1
- package/dist/services/team-run.service.d.ts +2 -0
- package/dist/services/team-run.service.d.ts.map +1 -1
- package/dist/services/team-task-input.service.d.ts +2 -0
- package/dist/services/team-task-input.service.d.ts.map +1 -1
- package/dist/services/workspace-background-service.service.d.ts +1 -3
- package/dist/services/workspace-background-service.service.d.ts.map +1 -1
- package/dist/services/workspace-background-service.service.js +17 -65
- package/dist/services/workspace-background-service.service.js.map +1 -1
- package/dist/services/workspace.service.d.ts +10 -0
- package/dist/services/workspace.service.d.ts.map +1 -1
- package/dist/services/workspace.service.js +50 -7
- package/dist/services/workspace.service.js.map +1 -1
- package/dist/web/assets/AgentDemoPage-JXetlNBf.js +1 -0
- package/dist/web/assets/{AgentEnvironmentSettingsPage-CvvkMKT1.js → AgentEnvironmentSettingsPage-CdYyUCwJ.js} +1 -1
- package/dist/web/assets/AttachmentPreview-DMS-PM-1.js +2 -0
- package/dist/web/assets/{BranchSelect-Cv92vEjG.js → BranchSelect-BAq4L2ZS.js} +1 -1
- package/dist/web/assets/BrandLogo--kWXXJtZ.js +1 -0
- package/dist/web/assets/ConversationPage-CvC4RyB5.js +1 -0
- package/dist/web/assets/CreateTaskInput-DjVxCAfc.js +1 -0
- package/dist/web/assets/{DemoPage-CpYNBQhA.js → DemoPage-cDVTGOp8.js} +3 -3
- package/dist/web/assets/{DesignSystemPage-DLeH6DnV.js → DesignSystemPage-BI54IkKi.js} +3 -3
- package/dist/web/assets/{ExecutionPermissionSelector-IoWR9YLb.js → ExecutionPermissionSelector-f1UYIm1z.js} +1 -1
- package/dist/web/assets/{GeneralSettingsPage-BAYgxCqx.js → GeneralSettingsPage-C0yto6C_.js} +1 -1
- package/dist/web/assets/{LoadingPreviewPage-CumrzyxW.js → LoadingPreviewPage-BiJSaHUi.js} +1 -1
- package/dist/web/assets/{McpSettingsPage-CFNwxT9Y.js → McpSettingsPage-BbHwZtyj.js} +1 -1
- package/dist/web/assets/{MemberAvatar-BVXD0jTy.js → MemberAvatar-BLezO3vS.js} +1 -1
- package/dist/web/assets/MobileTaskDetail-M_Kke9rL.js +3 -0
- package/dist/web/assets/{NotificationSettingsPage-B0s5YbG3.js → NotificationSettingsPage-CiKoL2Kv.js} +1 -1
- package/dist/web/assets/{ProfileSettingsPage-BuhoF-mL.js → ProfileSettingsPage-DCB48cPS.js} +2 -2
- package/dist/web/assets/ProjectKanbanPage-soDqevjQ.js +12 -0
- package/dist/web/assets/{ProjectSettingsPage-DDMg6axy.js → ProjectSettingsPage-COvIVq1h.js} +2 -2
- package/dist/web/assets/{ProviderSettingsPage-DRt9m4mF.js → ProviderSettingsPage-CPuJcZDg.js} +2 -2
- package/dist/web/assets/{SettingsMasterDetail-D7vStQjR.js → SettingsMasterDetail-Cv7YaRJB.js} +1 -1
- package/dist/web/assets/TaskDetail-CqhPxvg3.js +1 -0
- package/dist/web/assets/TaskHandoffPanel-CxH3Mgyd.js +70 -0
- package/dist/web/assets/TeamSettingsPage-D-XDefNd.js +1 -0
- package/dist/web/assets/{TranslationSettingsPage-D2oks6OM.js → TranslationSettingsPage-BPHI-SZW.js} +1 -1
- package/dist/web/assets/{arc-vYWCZsE_.js → arc-CC81aLuf.js} +1 -1
- package/dist/web/assets/{architectureDiagram-3BPJPVTR-Cu1VIpcJ.js → architectureDiagram-3BPJPVTR-DL08XGaN.js} +1 -1
- package/dist/web/assets/{at-sign-BhSPafOS.js → at-sign-DYPIlD6D.js} +1 -1
- package/dist/web/assets/{blockDiagram-GPEHLZMM-C4x_nj5S.js → blockDiagram-GPEHLZMM-B4IW5WxI.js} +1 -1
- package/dist/web/assets/{c4Diagram-AAUBKEIU-jHOo5lal.js → c4Diagram-AAUBKEIU-Cj4d_FqK.js} +1 -1
- package/dist/web/assets/channel-CUa8oyzC.js +1 -0
- package/dist/web/assets/check-DaZqOL8l.js +1 -0
- package/dist/web/assets/{chevron-down-BoS08pMa.js → chevron-down-DNhYsNAt.js} +1 -1
- package/dist/web/assets/{chevron-up-BWtKfdKT.js → chevron-up-CjrLieBR.js} +1 -1
- package/dist/web/assets/{chip-Ck4dqxR3.js → chip-Cf92J-pQ.js} +1 -1
- package/dist/web/assets/{chunk-2J33WTMH-BZcpjmfm.js → chunk-2J33WTMH-DeCj8QSD.js} +1 -1
- package/dist/web/assets/{chunk-4BX2VUAB-DZGB3q-I.js → chunk-4BX2VUAB-k-6rzQmQ.js} +1 -1
- package/dist/web/assets/{chunk-55IACEB6-CcNrOmyy.js → chunk-55IACEB6-qMTCQ5bX.js} +1 -1
- package/dist/web/assets/{chunk-727SXJPM-dWrxio8O.js → chunk-727SXJPM-CMnu18d1.js} +1 -1
- package/dist/web/assets/{chunk-AQP2D5EJ-K4gkVzqE.js → chunk-AQP2D5EJ-C0mFbUMn.js} +1 -1
- package/dist/web/assets/{chunk-FMBD7UC4-CnHyY4qD.js → chunk-FMBD7UC4-u6-_M137.js} +1 -1
- package/dist/web/assets/{chunk-ND2GUHAM-CHUmcyDv.js → chunk-ND2GUHAM-DHrIE_8H.js} +1 -1
- package/dist/web/assets/{chunk-QZHKN3VN-Bzzjd-Qt.js → chunk-QZHKN3VN-aTyC0wZq.js} +1 -1
- package/dist/web/assets/classDiagram-4FO5ZUOK-BAx111NO.js +1 -0
- package/dist/web/assets/classDiagram-v2-Q7XG4LA2-BAx111NO.js +1 -0
- package/dist/web/assets/{code-block-OCS4YCEC-B2hHBO_G.js → code-block-OCS4YCEC-CBIOQOMH.js} +1 -1
- package/dist/web/assets/confirm-dialog-DWeBZLJW.js +1 -0
- package/dist/web/assets/{content-D0qmHfHK.js → content-JM9E1MeD.js} +1 -1
- package/dist/web/assets/{copy-C4WnOY6Y.js → copy-D0gl9kF8.js} +1 -1
- package/dist/web/assets/{cose-bilkent-S5V4N54A-Dcn8tOhb.js → cose-bilkent-S5V4N54A-xLyliSgU.js} +1 -1
- package/dist/web/assets/cssMode-DO5UnQ64.js +1 -0
- package/dist/web/assets/{dagre-BM42HDAG-DWBV4UfP.js → dagre-BM42HDAG-CbNpoO2d.js} +1 -1
- package/dist/web/assets/{diagram-2AECGRRQ-CnNTJQ3q.js → diagram-2AECGRRQ-CG3hKxAX.js} +1 -1
- package/dist/web/assets/{diagram-5GNKFQAL-DlXJFzDF.js → diagram-5GNKFQAL-mQu9M28s.js} +1 -1
- package/dist/web/assets/{diagram-KO2AKTUF-DZ22YV4n.js → diagram-KO2AKTUF-BSeEp_Uw.js} +1 -1
- package/dist/web/assets/{diagram-LMA3HP47-B4pQJjG9.js → diagram-LMA3HP47-D6yRdao-.js} +1 -1
- package/dist/web/assets/{diagram-OG6HWLK6-DJBLjtgL.js → diagram-OG6HWLK6-BUBUW9wD.js} +1 -1
- package/dist/web/assets/{dialog-1o8KQWoQ.js → dialog-D1lkhqVL.js} +2 -2
- package/dist/web/assets/{erDiagram-TEJ5UH35-CDsfoJUT.js → erDiagram-TEJ5UH35-BQSZgRqq.js} +1 -1
- package/dist/web/assets/{file-6qwbIga1.js → file-BijjwxRR.js} +1 -1
- package/dist/web/assets/{flowDiagram-I6XJVG4X-CuGOAYmY.js → flowDiagram-I6XJVG4X-D-eqyr5Y.js} +1 -1
- package/dist/web/assets/{folder-picker-Cj1VZOZU.js → folder-picker-Czxm0_S9.js} +1 -1
- package/dist/web/assets/{freemarker2-BG8VyI2V.js → freemarker2-B4RvEa_U.js} +2 -2
- package/dist/web/assets/{ganttDiagram-6RSMTGT7-BjrSOqAM.js → ganttDiagram-6RSMTGT7-BWGkCt_x.js} +1 -1
- package/dist/web/assets/{gitGraphDiagram-PVQCEYII-4VVr4F8_.js → gitGraphDiagram-PVQCEYII-DGVc49pR.js} +1 -1
- package/dist/web/assets/{globe-CxeM27yy.js → globe-Ce01-45x.js} +1 -1
- package/dist/web/assets/handlebars-oyT7drqS.js +1 -0
- package/dist/web/assets/html-CxxWf2Qk.js +1 -0
- package/dist/web/assets/htmlMode-RfAHh5Jj.js +1 -0
- package/dist/web/assets/index-BMZFF1UJ.js +1 -0
- package/dist/web/assets/index-BN53vGxp.css +1 -0
- package/dist/web/assets/index-Cc3qXMhU.js +122 -0
- package/dist/web/assets/{index-DVdiOmqt.js → index-DWrSDMX2.js} +1 -1
- package/dist/web/assets/{index-CrKx8Yaz.js → index-Dh-tgeaL.js} +4 -4
- package/dist/web/assets/{index-hHrknzh7.js → index-Disv1kQS.js} +1 -1
- package/dist/web/assets/{index-Da2mWAtm.js → index-DyJfPc4O.js} +1 -1
- package/dist/web/assets/{index-cu8sedJH.js → index-Pt4TsHjm.js} +1 -1
- package/dist/web/assets/{index-C1lMEjmZ.js → index-T38iVLEb.js} +1 -1
- package/dist/web/assets/{index-Db28hRe8.js → index-hpHE1jXY.js} +1 -1
- package/dist/web/assets/{infoDiagram-5YYISTIA-Cy9ntb6t.js → infoDiagram-5YYISTIA-DLPs3dV_.js} +1 -1
- package/dist/web/assets/{ishikawaDiagram-YF4QCWOH-D6UiVzRz.js → ishikawaDiagram-YF4QCWOH-d_OrnwDY.js} +1 -1
- package/dist/web/assets/javascript-BNXtViSL.js +1 -0
- package/dist/web/assets/{journeyDiagram-JHISSGLW-owdKzZoh.js → journeyDiagram-JHISSGLW-EtU1st_0.js} +1 -1
- package/dist/web/assets/jsonMode-Bqh5vIxx.js +7 -0
- package/dist/web/assets/{kanban-definition-UN3LZRKU-v5TBnyp0.js → kanban-definition-UN3LZRKU-ZWzUnsFK.js} +1 -1
- package/dist/web/assets/{kbd-Cl4AzzJp.js → kbd-IjDGsZ2B.js} +1 -1
- package/dist/web/assets/{key-round-CnYjSrCz.js → key-round-CbnAuUxp.js} +1 -1
- package/dist/web/assets/{layers-XImbMX-P.js → layers-Pdy9vZ6K.js} +1 -1
- package/dist/web/assets/{linear-DNlKYt8R.js → linear-D7n23wcA.js} +1 -1
- package/dist/web/assets/{link-DQk-Vapq.js → link-Bl1ZbjFh.js} +1 -1
- package/dist/web/assets/liquid-Ds47iVLN.js +1 -0
- package/dist/web/assets/{lspLanguageFeatures-DD_y1bZa.js → lspLanguageFeatures-Dcch3bsp.js} +1 -1
- package/dist/web/assets/mdx-CM7ky-2B.js +1 -0
- package/dist/web/assets/{menu-DXF6iUsq.js → menu-DubntFHq.js} +1 -1
- package/dist/web/assets/{mermaid-NOHMQCX5-CG_LpwAI.js → mermaid-NOHMQCX5-nBsnjgeU.js} +49 -49
- package/dist/web/assets/{message-square-BviHdb67.js → message-square-BE-pW0m_.js} +1 -1
- package/dist/web/assets/{mindmap-definition-RKZ34NQL-Bn_rnnGT.js → mindmap-definition-RKZ34NQL-ClHORNTt.js} +1 -1
- package/dist/web/assets/modal-CHLtZWvx.js +1 -0
- package/dist/web/assets/{monaco-yuGji-2E.js → monaco-BbAmalE2.js} +3 -3
- package/dist/web/assets/nav-row-DH7rNq1V.js +1 -0
- package/dist/web/assets/{paperclip-D9ka2IAB.js → paperclip-YP3Bk1lI.js} +1 -1
- package/dist/web/assets/{pencil-isP1rXC-.js → pencil-BFDuhbtW.js} +1 -1
- package/dist/web/assets/{people-CbmH8m4i.js → people-DEeNaaLt.js} +1 -1
- package/dist/web/assets/{pieDiagram-4H26LBE5-DIE_f9W_.js → pieDiagram-4H26LBE5-BUOaKIyP.js} +1 -1
- package/dist/web/assets/{popover-D8VtO5qF.js → popover-CUmBEXxL.js} +1 -1
- package/dist/web/assets/python-BODTtU6m.js +1 -0
- package/dist/web/assets/{quadrantDiagram-W4KKPZXB-CavFxJCk.js → quadrantDiagram-W4KKPZXB-Caezg-U2.js} +1 -1
- package/dist/web/assets/razor-CHm8DY1p.js +1 -0
- package/dist/web/assets/{requirementDiagram-4Y6WPE33-Dm1FwUUh.js → requirementDiagram-4Y6WPE33-BtdP3Ka6.js} +1 -1
- package/dist/web/assets/{sankeyDiagram-5OEKKPKP-qeqcO27M.js → sankeyDiagram-5OEKKPKP-Bv74oA-n.js} +1 -1
- package/dist/web/assets/{search-DOMr5jPS.js → search-ClmOQd4H.js} +1 -1
- package/dist/web/assets/{select-CzZNbe1Z.js → select-BB7QG08o.js} +1 -1
- package/dist/web/assets/{select-Cw5BaOLQ.js → select-CYtYPr-c.js} +1 -1
- package/dist/web/assets/{sequenceDiagram-3UESZ5HK-Dqtb3BYG.js → sequenceDiagram-3UESZ5HK-DuNPl-dg.js} +1 -1
- package/dist/web/assets/{server-u-PC-CcX.js → server-bEB_DY55.js} +1 -1
- package/dist/web/assets/{stateDiagram-AJRCARHV-C_MqF9Fy.js → stateDiagram-AJRCARHV-B72HAgBJ.js} +1 -1
- package/dist/web/assets/stateDiagram-v2-BHNVJYJU-Bu3l_CgB.js +1 -0
- package/dist/web/assets/{textarea-xt2hLb-d.js → textarea-BqYPvoO-.js} +1 -1
- package/dist/web/assets/{timeline-definition-PNZ67QCA-Bzov6t31.js → timeline-definition-PNZ67QCA-DTmHUgmQ.js} +1 -1
- package/dist/web/assets/{toggles-B6E1UBYN.js → toggles-a5fkwT_D.js} +1 -1
- package/dist/web/assets/tooltip-DuyJMci9.js +1 -0
- package/dist/web/assets/{track-BeqaPopG.js → track-DCjyrv3n.js} +1 -1
- package/dist/web/assets/{trash-2-5jI3_KHh.js → trash-2-CIyBqaVy.js} +1 -1
- package/dist/web/assets/tsMode-C1UXAkMh.js +11 -0
- package/dist/web/assets/typescript-Biht2wHb.js +1 -0
- package/dist/web/assets/{upload-DUteazR7.js → upload-D05XS5-G.js} +1 -1
- package/dist/web/assets/use-profiles-CrWTyz1G.js +1 -0
- package/dist/web/assets/{use-providers-CQwBj9hp.js → use-providers-Dv1Nk6s7.js} +1 -1
- package/dist/web/assets/{use-translation-settings-DBzFqP-d.js → use-translation-settings-CcUnipVO.js} +1 -1
- package/dist/web/assets/{useNormalizedLogs-DsdwmfS7.js → useNormalizedLogs-D9W1cT4R.js} +1 -1
- package/dist/web/assets/useTokenUsage-CZ5mDshD.js +1 -0
- package/dist/web/assets/{vennDiagram-CIIHVFJN-BqxICvT_.js → vennDiagram-CIIHVFJN-ByoNydXe.js} +1 -1
- package/dist/web/assets/{wardley-L42UT6IY-BTdLPFcA.js → wardley-L42UT6IY-BqdMkOLl.js} +1 -1
- package/dist/web/assets/{wardleyDiagram-YWT4CUSO-icnFsFn4.js → wardleyDiagram-YWT4CUSO-AO22HrEF.js} +1 -1
- package/dist/web/assets/xml-NLGqNFDv.js +1 -0
- package/dist/web/assets/{xychartDiagram-2RQKCTM6-BN2_ducK.js → xychartDiagram-2RQKCTM6-vzPgjgqW.js} +1 -1
- package/dist/web/assets/yaml-AWlGS_Ig.js +1 -0
- package/dist/web/index.html +2 -2
- package/node_modules/@agent-tower/shared/dist/index.d.ts +1 -0
- package/node_modules/@agent-tower/shared/dist/index.d.ts.map +1 -1
- package/node_modules/@agent-tower/shared/dist/index.js +1 -0
- package/node_modules/@agent-tower/shared/dist/index.js.map +1 -1
- package/node_modules/@agent-tower/shared/dist/task-handoff.d.ts +12 -0
- package/node_modules/@agent-tower/shared/dist/task-handoff.d.ts.map +1 -0
- package/node_modules/@agent-tower/shared/dist/task-handoff.js +2 -0
- package/node_modules/@agent-tower/shared/dist/task-handoff.js.map +1 -0
- package/node_modules/@agent-tower/shared/dist/types.d.ts +16 -1
- package/node_modules/@agent-tower/shared/dist/types.d.ts.map +1 -1
- package/node_modules/@agent-tower/shared/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/prisma/migrations/20261023010000_add_subtasks/migration.sql +2 -0
- package/prisma/migrations/20261026000000_add_task_handoff/migration.sql +1 -0
- package/prisma/schema.prisma +5 -0
- package/dist/web/assets/AgentDemoPage-Dwux6TyV.js +0 -1
- package/dist/web/assets/AttachmentPreview-CFJ6MZ1f.js +0 -2
- package/dist/web/assets/BrandLogo-H4nCbVzs.js +0 -1
- package/dist/web/assets/ConversationPage-CZzGME21.js +0 -1
- package/dist/web/assets/CreateTaskInput-BM2tx4hJ.js +0 -1
- package/dist/web/assets/EditableTaskTitle-BEsiULnD.js +0 -70
- package/dist/web/assets/MobileTaskDetail-IOQ1WnS8.js +0 -3
- package/dist/web/assets/ProjectKanbanPage-DMtv15rq.js +0 -12
- package/dist/web/assets/TaskDetail-DzKbs5Jt.js +0 -1
- package/dist/web/assets/TeamSettingsPage-fjlaqaLo.js +0 -1
- package/dist/web/assets/channel-D1cEj22-.js +0 -1
- package/dist/web/assets/check-D_VFGpIy.js +0 -1
- package/dist/web/assets/classDiagram-4FO5ZUOK-DIrDMefa.js +0 -1
- package/dist/web/assets/classDiagram-v2-Q7XG4LA2-DIrDMefa.js +0 -1
- package/dist/web/assets/confirm-dialog-CL_1pF4K.js +0 -1
- package/dist/web/assets/cssMode-CXBMyfYY.js +0 -1
- package/dist/web/assets/handlebars-Ci38FPsA.js +0 -1
- package/dist/web/assets/html-5hdYEgVF.js +0 -1
- package/dist/web/assets/htmlMode-BzU9qsw0.js +0 -1
- package/dist/web/assets/icon-button-BmrJtYFC.js +0 -1
- package/dist/web/assets/index-BR3Wg2fS.js +0 -122
- package/dist/web/assets/index-DSy5JLC1.js +0 -1
- package/dist/web/assets/index-DZLg4-xM.css +0 -1
- package/dist/web/assets/javascript-Ib060GQ8.js +0 -1
- package/dist/web/assets/jsonMode-CLmu6gzc.js +0 -7
- package/dist/web/assets/liquid-Bc7OSAPR.js +0 -1
- package/dist/web/assets/mdx-CxJNHHTn.js +0 -1
- package/dist/web/assets/modal-D496f1fE.js +0 -1
- package/dist/web/assets/python-C0E43gUo.js +0 -1
- package/dist/web/assets/razor-xarhYR9V.js +0 -1
- package/dist/web/assets/stateDiagram-v2-BHNVJYJU-BxmbGAhh.js +0 -1
- package/dist/web/assets/tooltip-C8--8CNX.js +0 -1
- package/dist/web/assets/tsMode-uT3sMVHt.js +0 -11
- package/dist/web/assets/typescript-Dkdj2ks0.js +0 -1
- package/dist/web/assets/use-profiles-T3saKiBg.js +0 -1
- package/dist/web/assets/useTokenUsage-Drh3v3kx.js +0 -1
- package/dist/web/assets/xml-BO8gYu0L.js +0 -1
- package/dist/web/assets/yaml-DlovbQzw.js +0 -1
- /package/dist/web/assets/{EditableTaskTitle-DcpNTP1B.css → TaskHandoffPanel-DcpNTP1B.css} +0 -0
package/dist/web/assets/{stateDiagram-AJRCARHV-C_MqF9Fy.js → stateDiagram-AJRCARHV-B72HAgBJ.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as R,a as W,S as N}from"./chunk-AQP2D5EJ-K4gkVzqE.js";import{_ as f,c as t,d as H,l as S,e as P,k as z,a9 as _,aa as U,a6 as C,u as F}from"./index-CrKx8Yaz.js";import{G as O}from"./graph--OzhPTMs.js";import{l as J}from"./layout-SsrduOYp.js";import"./chunk-55IACEB6-CcNrOmyy.js";import"./chunk-2J33WTMH-BZcpjmfm.js";import"./index-BR3Wg2fS.js";var X=f(e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),"drawStartState"),D=f(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),Y=f((e,i)=>{const d=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),c=d.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",c.width+2*t().state.padding).attr("height",c.height+2*t().state.padding).attr("rx",t().state.radius),d},"drawSimpleState"),I=f((e,i)=>{const d=f(function(o,B,y){const v=o.append("tspan").attr("x",2*t().state.padding).text(B);y||v.attr("dy",t().state.textHeight)},"addTspan"),n=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),l=n.height,p=e.append("text").attr("x",t().state.padding).attr("y",l+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let a=!0,s=!0;i.descriptions.forEach(function(o){a||(d(p,o,s),s=!1),a=!1});const m=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+l+t().state.dividerMargin/2).attr("y2",t().state.padding+l+t().state.dividerMargin/2).attr("class","descr-divider"),x=p.node().getBBox(),g=Math.max(x.width,n.width);return m.attr("x2",g+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",g+2*t().state.padding).attr("height",x.height+l+2*t().state.padding).attr("rx",t().state.radius),e},"drawDescrState"),$=f((e,i,d)=>{const c=t().state.padding,n=2*t().state.padding,l=e.node().getBBox(),p=l.width,a=l.x,s=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),x=s.node().getBBox().width+n;let g=Math.max(x,p);g===p&&(g=g+n);let o;const B=e.node().getBBox();i.doc,o=a-c,x>p&&(o=(p-g)/2+c),Math.abs(a-B.x)<c&&x>p&&(o=a-(x-p)/2);const y=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",o).attr("y",y).attr("class",d?"alt-composit":"composit").attr("width",g).attr("height",B.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),s.attr("x",o+c),x<=p&&s.attr("x",a+(g-n)/2-x/2+c),e.insert("rect",":first-child").attr("x",o).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",g).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",o).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",g).attr("height",B.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},"addTitleAndBox"),q=f(e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),"drawEndState"),Z=f((e,i)=>{let d=t().state.forkWidth,c=t().state.forkHeight;if(i.parentId){let n=d;d=c,c=n}return e.append("rect").style("stroke","black").style("fill","black").attr("width",d).attr("height",c).attr("x",t().state.padding).attr("y",t().state.padding)},"drawForkJoinState"),j=f((e,i,d,c)=>{let n=0;const l=c.append("text");l.style("text-anchor","start"),l.attr("class","noteText");let p=e.replace(/\r\n/g,"<br/>");p=p.replace(/\n/g,"<br/>");const a=p.split(z.lineBreakRegex);let s=1.25*t().state.noteMargin;for(const m of a){const x=m.trim();if(x.length>0){const g=l.append("tspan");if(g.text(x),s===0){const o=g.node().getBBox();s+=o.height}n+=s,g.attr("x",i+t().state.noteMargin),g.attr("y",d+n+1.25*t().state.noteMargin)}}return{textWidth:l.node().getBBox().width,textHeight:n}},"_drawLongText"),K=f((e,i)=>{i.attr("class","state-note");const d=i.append("rect").attr("x",0).attr("y",t().state.padding),c=i.append("g"),{textWidth:n,textHeight:l}=j(e,0,0,c);return d.attr("height",l+2*t().state.noteMargin),d.attr("width",n+t().state.noteMargin*2),d},"drawNote"),L=f(function(e,i){const d=i.id,c={id:d,label:i.id,width:0,height:0},n=e.append("g").attr("id",d).attr("class","stateGroup");i.type==="start"&&X(n),i.type==="end"&&q(n),(i.type==="fork"||i.type==="join")&&Z(n,i),i.type==="note"&&K(i.note.text,n),i.type==="divider"&&D(n),i.type==="default"&&i.descriptions.length===0&&Y(n,i),i.type==="default"&&i.descriptions.length>0&&I(n,i);const l=n.node().getBBox();return c.width=l.width+2*t().state.padding,c.height=l.height+2*t().state.padding,c},"drawState"),G=0,Q=f(function(e,i,d){const c=f(function(s){switch(s){case N.relationType.AGGREGATION:return"aggregation";case N.relationType.EXTENSION:return"extension";case N.relationType.COMPOSITION:return"composition";case N.relationType.DEPENDENCY:return"dependency"}},"getRelationType");i.points=i.points.filter(s=>!Number.isNaN(s.y));const n=i.points,l=_().x(function(s){return s.x}).y(function(s){return s.y}).curve(U),p=e.append("path").attr("d",l(n)).attr("id","edge"+G).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=C(!0)),p.attr("marker-end","url("+a+"#"+c(N.relationType.DEPENDENCY)+"End)"),d.title!==void 0){const s=e.append("g").attr("class","stateLabel"),{x:m,y:x}=F.calcLabelPosition(i.points),g=z.getRows(d.title);let o=0;const B=[];let y=0,v=0;for(let u=0;u<=g.length;u++){const h=s.append("text").attr("text-anchor","middle").text(g[u]).attr("x",m).attr("y",x+o),w=h.node().getBBox();y=Math.max(y,w.width),v=Math.min(v,w.x),S.info(w.x,m,x+o),o===0&&(o=h.node().getBBox().height,S.info("Title height",o,x)),B.push(h)}let k=o*g.length;if(g.length>1){const u=(g.length-1)*o*.5;B.forEach((h,w)=>h.attr("y",x+w*o-u)),k=o*g.length}const r=s.node().getBBox();s.insert("rect",":first-child").attr("class","box").attr("x",m-y/2-t().state.padding/2).attr("y",x-k/2-t().state.padding/2-3.5).attr("width",y+t().state.padding).attr("height",k+t().state.padding),S.info(r)}G++},"drawEdge"),b,T={},V=f(function(){},"setConf"),tt=f(function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),et=f(function(e,i,d,c){b=t().state;const n=t().securityLevel;let l;n==="sandbox"&&(l=H("#i"+i));const p=n==="sandbox"?H(l.nodes()[0].contentDocument.body):H("body"),a=n==="sandbox"?l.nodes()[0].contentDocument:document;S.debug("Rendering diagram "+e);const s=p.select(`[id='${i}']`);tt(s);const m=c.db.getRootDoc(),x=s.append("g").attr("id",i+"-root");A(m,x,void 0,!1,p,a,c);const g=b.padding,o=s.node().getBBox(),B=o.width+g*2,y=o.height+g*2,v=B*1.75;P(s,y,v,b.useMaxWidth),s.attr("viewBox",`${o.x-b.padding} ${o.y-b.padding} `+B+" "+y)},"draw"),at=f(e=>e?e.length*b.fontSizeFactor:1,"getLabelWidth"),A=f((e,i,d,c,n,l,p)=>{const a=new O({compound:!0,multigraph:!0});let s,m=!0;for(s=0;s<e.length;s++)if(e[s].stmt==="relation"){m=!1;break}d?a.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:m?1:b.edgeLengthFactor,nodeSep:m?1:50,isMultiGraph:!0}):a.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:m?1:b.edgeLengthFactor,nodeSep:m?1:50,ranker:"tight-tree",isMultiGraph:!0}),a.setDefaultEdgeLabel(function(){return{}});const x=p.db.getStates(),g=p.db.getRelations(),o=Object.keys(x);for(const r of o){const u=x[r];d&&(u.parentId=d);let h;if(u.doc){let w=i.append("g").attr("id",u.id).attr("class","stateGroup");h=A(u.doc,w,u.id,!c,n,l,p);{w=$(w,u,c);let E=w.node().getBBox();h.width=E.width,h.height=E.height+b.padding/2,T[u.id]={y:b.compositTitleSize}}}else h=L(i,u,a);if(u.note){const w={descriptions:[],id:u.id+"-note",note:u.note,type:"note"},E=L(i,w,a);u.note.position==="left of"?(a.setNode(h.id+"-note",E),a.setNode(h.id,h)):(a.setNode(h.id,h),a.setNode(h.id+"-note",E)),a.setParent(h.id,h.id+"-group"),a.setParent(h.id+"-note",h.id+"-group")}else a.setNode(h.id,h)}S.debug("Count=",a.nodeCount(),a);let B=0;g.forEach(function(r){B++,S.debug("Setting edge",r),a.setEdge(r.id1,r.id2,{relation:r,width:at(r.title),height:b.labelHeight*z.getRows(r.title).length,labelpos:"c"},"id"+B)}),J(a),S.debug("Graph after layout",a.nodes());const y=i.node();a.nodes().forEach(function(r){r!==void 0&&a.node(r)!==void 0?(S.warn("Node "+r+": "+JSON.stringify(a.node(r))),n.select("#"+y.id+" #"+r).attr("transform","translate("+(a.node(r).x-a.node(r).width/2)+","+(a.node(r).y+(T[r]?T[r].y:0)-a.node(r).height/2)+" )"),n.select("#"+y.id+" #"+r).attr("data-x-shift",a.node(r).x-a.node(r).width/2),l.querySelectorAll("#"+y.id+" #"+r+" .divider").forEach(h=>{const w=h.parentElement;let E=0,M=0;w&&(w.parentElement&&(E=w.parentElement.getBBox().width),M=parseInt(w.getAttribute("data-x-shift"),10),Number.isNaN(M)&&(M=0)),h.setAttribute("x1",0-M+8),h.setAttribute("x2",E-M-8)})):S.debug("No Node "+r+": "+JSON.stringify(a.node(r)))});let v=y.getBBox();a.edges().forEach(function(r){r!==void 0&&a.edge(r)!==void 0&&(S.debug("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(a.edge(r))),Q(i,a.edge(r),a.edge(r).relation))}),v=y.getBBox();const k={id:d||"root",label:d||"root",width:0,height:0};return k.width=v.width+2*b.padding,k.height=v.height+2*b.padding,S.debug("Doc rendered",k,a),k},"renderDoc"),it={setConf:V,draw:et},lt={parser:W,get db(){return new N(1)},renderer:it,styles:R,init:f(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")};export{lt as diagram};
|
|
1
|
+
import{s as R,a as W,S as N}from"./chunk-AQP2D5EJ-C0mFbUMn.js";import{_ as f,c as t,d as H,l as S,e as P,k as z,a9 as _,aa as U,a6 as C,u as F}from"./index-Dh-tgeaL.js";import{G as O}from"./graph--OzhPTMs.js";import{l as J}from"./layout-SsrduOYp.js";import"./chunk-55IACEB6-qMTCQ5bX.js";import"./chunk-2J33WTMH-DeCj8QSD.js";import"./index-Cc3qXMhU.js";var X=f(e=>e.append("circle").attr("class","start-state").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit).attr("cy",t().state.padding+t().state.sizeUnit),"drawStartState"),D=f(e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t().state.textHeight).attr("class","divider").attr("x2",t().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),Y=f((e,i)=>{const d=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+2*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),c=d.node().getBBox();return e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",c.width+2*t().state.padding).attr("height",c.height+2*t().state.padding).attr("rx",t().state.radius),d},"drawSimpleState"),I=f((e,i)=>{const d=f(function(o,B,y){const v=o.append("tspan").attr("x",2*t().state.padding).text(B);y||v.attr("dy",t().state.textHeight)},"addTspan"),n=e.append("text").attr("x",2*t().state.padding).attr("y",t().state.textHeight+1.3*t().state.padding).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.descriptions[0]).node().getBBox(),l=n.height,p=e.append("text").attr("x",t().state.padding).attr("y",l+t().state.padding*.4+t().state.dividerMargin+t().state.textHeight).attr("class","state-description");let a=!0,s=!0;i.descriptions.forEach(function(o){a||(d(p,o,s),s=!1),a=!1});const m=e.append("line").attr("x1",t().state.padding).attr("y1",t().state.padding+l+t().state.dividerMargin/2).attr("y2",t().state.padding+l+t().state.dividerMargin/2).attr("class","descr-divider"),x=p.node().getBBox(),g=Math.max(x.width,n.width);return m.attr("x2",g+3*t().state.padding),e.insert("rect",":first-child").attr("x",t().state.padding).attr("y",t().state.padding).attr("width",g+2*t().state.padding).attr("height",x.height+l+2*t().state.padding).attr("rx",t().state.radius),e},"drawDescrState"),$=f((e,i,d)=>{const c=t().state.padding,n=2*t().state.padding,l=e.node().getBBox(),p=l.width,a=l.x,s=e.append("text").attr("x",0).attr("y",t().state.titleShift).attr("font-size",t().state.fontSize).attr("class","state-title").text(i.id),x=s.node().getBBox().width+n;let g=Math.max(x,p);g===p&&(g=g+n);let o;const B=e.node().getBBox();i.doc,o=a-c,x>p&&(o=(p-g)/2+c),Math.abs(a-B.x)<c&&x>p&&(o=a-(x-p)/2);const y=1-t().state.textHeight;return e.insert("rect",":first-child").attr("x",o).attr("y",y).attr("class",d?"alt-composit":"composit").attr("width",g).attr("height",B.height+t().state.textHeight+t().state.titleShift+1).attr("rx","0"),s.attr("x",o+c),x<=p&&s.attr("x",a+(g-n)/2-x/2+c),e.insert("rect",":first-child").attr("x",o).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",g).attr("height",t().state.textHeight*3).attr("rx",t().state.radius),e.insert("rect",":first-child").attr("x",o).attr("y",t().state.titleShift-t().state.textHeight-t().state.padding).attr("width",g).attr("height",B.height+3+2*t().state.textHeight).attr("rx",t().state.radius),e},"addTitleAndBox"),q=f(e=>(e.append("circle").attr("class","end-state-outer").attr("r",t().state.sizeUnit+t().state.miniPadding).attr("cx",t().state.padding+t().state.sizeUnit+t().state.miniPadding).attr("cy",t().state.padding+t().state.sizeUnit+t().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t().state.sizeUnit).attr("cx",t().state.padding+t().state.sizeUnit+2).attr("cy",t().state.padding+t().state.sizeUnit+2)),"drawEndState"),Z=f((e,i)=>{let d=t().state.forkWidth,c=t().state.forkHeight;if(i.parentId){let n=d;d=c,c=n}return e.append("rect").style("stroke","black").style("fill","black").attr("width",d).attr("height",c).attr("x",t().state.padding).attr("y",t().state.padding)},"drawForkJoinState"),j=f((e,i,d,c)=>{let n=0;const l=c.append("text");l.style("text-anchor","start"),l.attr("class","noteText");let p=e.replace(/\r\n/g,"<br/>");p=p.replace(/\n/g,"<br/>");const a=p.split(z.lineBreakRegex);let s=1.25*t().state.noteMargin;for(const m of a){const x=m.trim();if(x.length>0){const g=l.append("tspan");if(g.text(x),s===0){const o=g.node().getBBox();s+=o.height}n+=s,g.attr("x",i+t().state.noteMargin),g.attr("y",d+n+1.25*t().state.noteMargin)}}return{textWidth:l.node().getBBox().width,textHeight:n}},"_drawLongText"),K=f((e,i)=>{i.attr("class","state-note");const d=i.append("rect").attr("x",0).attr("y",t().state.padding),c=i.append("g"),{textWidth:n,textHeight:l}=j(e,0,0,c);return d.attr("height",l+2*t().state.noteMargin),d.attr("width",n+t().state.noteMargin*2),d},"drawNote"),L=f(function(e,i){const d=i.id,c={id:d,label:i.id,width:0,height:0},n=e.append("g").attr("id",d).attr("class","stateGroup");i.type==="start"&&X(n),i.type==="end"&&q(n),(i.type==="fork"||i.type==="join")&&Z(n,i),i.type==="note"&&K(i.note.text,n),i.type==="divider"&&D(n),i.type==="default"&&i.descriptions.length===0&&Y(n,i),i.type==="default"&&i.descriptions.length>0&&I(n,i);const l=n.node().getBBox();return c.width=l.width+2*t().state.padding,c.height=l.height+2*t().state.padding,c},"drawState"),G=0,Q=f(function(e,i,d){const c=f(function(s){switch(s){case N.relationType.AGGREGATION:return"aggregation";case N.relationType.EXTENSION:return"extension";case N.relationType.COMPOSITION:return"composition";case N.relationType.DEPENDENCY:return"dependency"}},"getRelationType");i.points=i.points.filter(s=>!Number.isNaN(s.y));const n=i.points,l=_().x(function(s){return s.x}).y(function(s){return s.y}).curve(U),p=e.append("path").attr("d",l(n)).attr("id","edge"+G).attr("class","transition");let a="";if(t().state.arrowMarkerAbsolute&&(a=C(!0)),p.attr("marker-end","url("+a+"#"+c(N.relationType.DEPENDENCY)+"End)"),d.title!==void 0){const s=e.append("g").attr("class","stateLabel"),{x:m,y:x}=F.calcLabelPosition(i.points),g=z.getRows(d.title);let o=0;const B=[];let y=0,v=0;for(let u=0;u<=g.length;u++){const h=s.append("text").attr("text-anchor","middle").text(g[u]).attr("x",m).attr("y",x+o),w=h.node().getBBox();y=Math.max(y,w.width),v=Math.min(v,w.x),S.info(w.x,m,x+o),o===0&&(o=h.node().getBBox().height,S.info("Title height",o,x)),B.push(h)}let k=o*g.length;if(g.length>1){const u=(g.length-1)*o*.5;B.forEach((h,w)=>h.attr("y",x+w*o-u)),k=o*g.length}const r=s.node().getBBox();s.insert("rect",":first-child").attr("class","box").attr("x",m-y/2-t().state.padding/2).attr("y",x-k/2-t().state.padding/2-3.5).attr("width",y+t().state.padding).attr("height",k+t().state.padding),S.info(r)}G++},"drawEdge"),b,T={},V=f(function(){},"setConf"),tt=f(function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),et=f(function(e,i,d,c){b=t().state;const n=t().securityLevel;let l;n==="sandbox"&&(l=H("#i"+i));const p=n==="sandbox"?H(l.nodes()[0].contentDocument.body):H("body"),a=n==="sandbox"?l.nodes()[0].contentDocument:document;S.debug("Rendering diagram "+e);const s=p.select(`[id='${i}']`);tt(s);const m=c.db.getRootDoc(),x=s.append("g").attr("id",i+"-root");A(m,x,void 0,!1,p,a,c);const g=b.padding,o=s.node().getBBox(),B=o.width+g*2,y=o.height+g*2,v=B*1.75;P(s,y,v,b.useMaxWidth),s.attr("viewBox",`${o.x-b.padding} ${o.y-b.padding} `+B+" "+y)},"draw"),at=f(e=>e?e.length*b.fontSizeFactor:1,"getLabelWidth"),A=f((e,i,d,c,n,l,p)=>{const a=new O({compound:!0,multigraph:!0});let s,m=!0;for(s=0;s<e.length;s++)if(e[s].stmt==="relation"){m=!1;break}d?a.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:m?1:b.edgeLengthFactor,nodeSep:m?1:50,isMultiGraph:!0}):a.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:m?1:b.edgeLengthFactor,nodeSep:m?1:50,ranker:"tight-tree",isMultiGraph:!0}),a.setDefaultEdgeLabel(function(){return{}});const x=p.db.getStates(),g=p.db.getRelations(),o=Object.keys(x);for(const r of o){const u=x[r];d&&(u.parentId=d);let h;if(u.doc){let w=i.append("g").attr("id",u.id).attr("class","stateGroup");h=A(u.doc,w,u.id,!c,n,l,p);{w=$(w,u,c);let E=w.node().getBBox();h.width=E.width,h.height=E.height+b.padding/2,T[u.id]={y:b.compositTitleSize}}}else h=L(i,u,a);if(u.note){const w={descriptions:[],id:u.id+"-note",note:u.note,type:"note"},E=L(i,w,a);u.note.position==="left of"?(a.setNode(h.id+"-note",E),a.setNode(h.id,h)):(a.setNode(h.id,h),a.setNode(h.id+"-note",E)),a.setParent(h.id,h.id+"-group"),a.setParent(h.id+"-note",h.id+"-group")}else a.setNode(h.id,h)}S.debug("Count=",a.nodeCount(),a);let B=0;g.forEach(function(r){B++,S.debug("Setting edge",r),a.setEdge(r.id1,r.id2,{relation:r,width:at(r.title),height:b.labelHeight*z.getRows(r.title).length,labelpos:"c"},"id"+B)}),J(a),S.debug("Graph after layout",a.nodes());const y=i.node();a.nodes().forEach(function(r){r!==void 0&&a.node(r)!==void 0?(S.warn("Node "+r+": "+JSON.stringify(a.node(r))),n.select("#"+y.id+" #"+r).attr("transform","translate("+(a.node(r).x-a.node(r).width/2)+","+(a.node(r).y+(T[r]?T[r].y:0)-a.node(r).height/2)+" )"),n.select("#"+y.id+" #"+r).attr("data-x-shift",a.node(r).x-a.node(r).width/2),l.querySelectorAll("#"+y.id+" #"+r+" .divider").forEach(h=>{const w=h.parentElement;let E=0,M=0;w&&(w.parentElement&&(E=w.parentElement.getBBox().width),M=parseInt(w.getAttribute("data-x-shift"),10),Number.isNaN(M)&&(M=0)),h.setAttribute("x1",0-M+8),h.setAttribute("x2",E-M-8)})):S.debug("No Node "+r+": "+JSON.stringify(a.node(r)))});let v=y.getBBox();a.edges().forEach(function(r){r!==void 0&&a.edge(r)!==void 0&&(S.debug("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(a.edge(r))),Q(i,a.edge(r),a.edge(r).relation))}),v=y.getBBox();const k={id:d||"root",label:d||"root",width:0,height:0};return k.width=v.width+2*b.padding,k.height=v.height+2*b.padding,S.debug("Doc rendered",k,a),k},"renderDoc"),it={setConf:V,draw:et},lt={parser:W,get db(){return new N(1)},renderer:it,styles:R,init:f(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")};export{lt as diagram};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e,b as r,a,S as s}from"./chunk-AQP2D5EJ-C0mFbUMn.js";import{_ as i}from"./index-Dh-tgeaL.js";import"./chunk-55IACEB6-qMTCQ5bX.js";import"./chunk-2J33WTMH-DeCj8QSD.js";import"./index-Cc3qXMhU.js";var p={parser:a,get db(){return new s(2)},renderer:r,styles:e,init:i(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{p as diagram};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as o,
|
|
1
|
+
import{j as o,l as t}from"./index-Cc3qXMhU.js";function a({className:e,...r}){return o.jsx("textarea",{"data-slot":"textarea",className:t("w-full rounded-lg border border-input bg-muted/40 px-3 py-2 text-sm leading-relaxed text-foreground transition-colors","placeholder:text-muted-foreground/70","focus:border-ring focus:bg-background focus:outline-none focus-visible:border-ring","disabled:cursor-not-allowed disabled:bg-muted/50 disabled:text-muted-foreground","aria-invalid:border-destructive",e),...r})}export{a as T};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as o,D as pt,ac as Ct,ad as Rt,ae as Wt,c as gt,l as E,I as Pt,a4 as Bt,af as ft,d as X,C as Vt,ag as Ft,z as zt}from"./index-
|
|
1
|
+
import{_ as o,D as pt,ac as Ct,ad as Rt,ae as Wt,c as gt,l as E,I as Pt,a4 as Bt,af as ft,d as X,C as Vt,ag as Ft,z as zt}from"./index-Dh-tgeaL.js";import{d as ot}from"./arc-CC81aLuf.js";import"./index-Cc3qXMhU.js";var tt=(function(){var e=o(function(k,s,d,l){for(d=d||{},l=k.length;l--;d[k[l]]=s);return d},"o"),t=[6,11,13,14,15,17,19,20,23,24],n=[1,12],i=[1,13],r=[1,14],h=[1,15],c=[1,16],a=[1,19],f=[1,20],g={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:o(function(s,d,l,p,x,u,S){var v=u.length-1;switch(x){case 1:return u[v-1];case 3:p.setDirection("LR");break;case 4:p.setDirection("TD");break;case 5:this.$=[];break;case 6:u[v-1].push(u[v]),this.$=u[v-1];break;case 7:case 8:this.$=u[v];break;case 9:case 10:this.$=[];break;case 11:p.getCommonDb().setDiagramTitle(u[v].substr(6)),this.$=u[v].substr(6);break;case 12:this.$=u[v].trim(),p.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=u[v].trim(),p.getCommonDb().setAccDescription(this.$);break;case 15:p.addSection(u[v].substr(8)),this.$=u[v].substr(8);break;case 18:p.addTask(u[v],0,""),this.$=u[v];break;case 19:p.addEvent(u[v].substr(2)),this.$=u[v];break}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},e(t,[2,5],{5:6}),e(t,[2,2]),e(t,[2,3]),e(t,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:n,15:i,17:r,19:h,20:c,21:17,22:18,23:a,24:f},e(t,[2,10],{1:[2,1]}),e(t,[2,6]),{12:21,14:n,15:i,17:r,19:h,20:c,21:17,22:18,23:a,24:f},e(t,[2,8]),e(t,[2,9]),e(t,[2,11]),{16:[1,22]},{18:[1,23]},e(t,[2,14]),e(t,[2,15]),e(t,[2,16]),e(t,[2,17]),e(t,[2,18]),e(t,[2,19]),e(t,[2,7]),e(t,[2,12]),e(t,[2,13])],defaultActions:{},parseError:o(function(s,d){if(d.recoverable)this.trace(s);else{var l=new Error(s);throw l.hash=d,l}},"parseError"),parse:o(function(s){var d=this,l=[0],p=[],x=[null],u=[],S=this.table,v="",I=0,C=0,W=2,O=1,L=u.slice.call(arguments,1),w=Object.create(this.lexer),H={yy:{}};for(var V in this.yy)Object.prototype.hasOwnProperty.call(this.yy,V)&&(H.yy[V]=this.yy[V]);w.setInput(s,H.yy),H.yy.lexer=w,H.yy.parser=this,typeof w.yylloc>"u"&&(w.yylloc={});var F=w.yylloc;u.push(F);var U=w.options&&w.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function N(A){l.length=l.length-2*A,x.length=x.length-A,u.length=u.length-A}o(N,"popStack");function b(){var A;return A=p.pop()||w.lex()||O,typeof A!="number"&&(A instanceof Array&&(p=A,A=p.pop()),A=d.symbols_[A]||A),A}o(b,"lex");for(var _,$,T,P,R={},G,B,Z,j;;){if($=l[l.length-1],this.defaultActions[$]?T=this.defaultActions[$]:((_===null||typeof _>"u")&&(_=b()),T=S[$]&&S[$][_]),typeof T>"u"||!T.length||!T[0]){var Y="";j=[];for(G in S[$])this.terminals_[G]&&G>W&&j.push("'"+this.terminals_[G]+"'");w.showPosition?Y="Parse error on line "+(I+1)+`:
|
|
2
2
|
`+w.showPosition()+`
|
|
3
3
|
Expecting `+j.join(", ")+", got '"+(this.terminals_[_]||_)+"'":Y="Parse error on line "+(I+1)+": Unexpected "+(_==O?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(Y,{text:w.match,token:this.terminals_[_]||_,line:w.yylineno,loc:F,expected:j})}if(T[0]instanceof Array&&T.length>1)throw new Error("Parse Error: multiple actions possible at state: "+$+", token: "+_);switch(T[0]){case 1:l.push(_),x.push(w.yytext),u.push(w.yylloc),l.push(T[1]),_=null,C=w.yyleng,v=w.yytext,I=w.yylineno,F=w.yylloc;break;case 2:if(B=this.productions_[T[1]][1],R.$=x[x.length-B],R._$={first_line:u[u.length-(B||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(B||1)].first_column,last_column:u[u.length-1].last_column},U&&(R._$.range=[u[u.length-(B||1)].range[0],u[u.length-1].range[1]]),P=this.performAction.apply(R,[v,C,I,H.yy,T[1],x,u].concat(L)),typeof P<"u")return P;B&&(l=l.slice(0,-1*B*2),x=x.slice(0,-1*B),u=u.slice(0,-1*B)),l.push(this.productions_[T[1]][0]),x.push(R.$),u.push(R._$),Z=S[l[l.length-2]][l[l.length-1]],l.push(Z);break;case 3:return!0}}return!0},"parse")},m=(function(){var k={EOF:1,parseError:o(function(d,l){if(this.yy.parser)this.yy.parser.parseError(d,l);else throw new Error(d)},"parseError"),setInput:o(function(s,d){return this.yy=d||this.yy||{},this._input=s,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var d=s.match(/(?:\r\n?|\n).*/g);return d?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},"input"),unput:o(function(s){var d=s.length,l=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-d),this.offset-=d;var p=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var x=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===p.length?this.yylloc.first_column:0)+p[p.length-l.length].length-l[0].length:this.yylloc.first_column-d},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-d]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(s){this.unput(this.match.slice(s))},"less"),pastInput:o(function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var s=this.pastInput(),d=new Array(s.length+1).join("-");return s+this.upcomingInput()+`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as i,j as a,D as F,P as R,x as A,z as j,C as E,E as _,n as y}from"./index-BR3Wg2fS.js";import{R as pe,I as fe,c as O,M as he}from"./index-Db28hRe8.js";import{C as me}from"./check-D_VFGpIy.js";import{u as M}from"./index-C1lMEjmZ.js";import{u as B}from"./index-hHrknzh7.js";import{u as be}from"./index-DSy5JLC1.js";var N="Checkbox",[xe]=_(N),[ve,G]=xe(N);function ke(t){const{__scopeCheckbox:n,checked:r,children:s,defaultChecked:o,disabled:e,form:c,name:d,onCheckedChange:u,required:b,value:p="on",internal_do_not_use_render:l}=t,[f,h]=A({prop:r,defaultProp:o??!1,onChange:u,caller:N}),[m,v]=i.useState(null),[k,x]=i.useState(null),C=i.useRef(!1),g=m?!!c||!!m.closest("form"):!0,I={checked:f,disabled:e,setChecked:h,control:m,setControl:v,name:d,form:c,value:p,hasConsumerStoppedPropagationRef:C,required:b,defaultChecked:w(o)?!1:o,isFormControl:g,bubbleInput:k,setBubbleInput:x};return a.jsx(ve,{scope:n,...I,children:Ce(l)?l(I):s})}var L="CheckboxTrigger",q=i.forwardRef(({__scopeCheckbox:t,onKeyDown:n,onClick:r,...s},o)=>{const{control:e,value:c,disabled:d,checked:u,required:b,setControl:p,setChecked:l,hasConsumerStoppedPropagationRef:f,isFormControl:h,bubbleInput:m}=G(L,t),v=j(o,p),k=i.useRef(u);return i.useEffect(()=>{const x=e?.form;if(x){const C=()=>l(k.current);return x.addEventListener("reset",C),()=>x.removeEventListener("reset",C)}},[e,l]),a.jsx(R.button,{type:"button",role:"checkbox","aria-checked":w(u)?"mixed":u,"aria-required":b,"data-state":V(u),"data-disabled":d?"":void 0,disabled:d,value:c,...s,ref:v,onKeyDown:E(n,x=>{x.key==="Enter"&&x.preventDefault()}),onClick:E(r,x=>{l(C=>w(C)?!0:!C),m&&h&&(f.current=x.isPropagationStopped(),f.current||x.stopPropagation())})})});q.displayName=L;var $=i.forwardRef((t,n)=>{const{__scopeCheckbox:r,name:s,checked:o,defaultChecked:e,required:c,disabled:d,value:u,onCheckedChange:b,form:p,...l}=t;return a.jsx(ke,{__scopeCheckbox:r,checked:o,defaultChecked:e,disabled:d,required:c,onCheckedChange:b,name:s,form:p,value:u,internal_do_not_use_render:({isFormControl:f})=>a.jsxs(a.Fragment,{children:[a.jsx(q,{...l,ref:n,__scopeCheckbox:r}),f&&a.jsx(K,{__scopeCheckbox:r})]})})});$.displayName=N;var z="CheckboxIndicator",U=i.forwardRef((t,n)=>{const{__scopeCheckbox:r,forceMount:s,...o}=t,e=G(z,r);return a.jsx(F,{present:s||w(e.checked)||e.checked===!0,children:a.jsx(R.span,{"data-state":V(e.checked),"data-disabled":e.disabled?"":void 0,...o,ref:n,style:{pointerEvents:"none",...t.style}})})});U.displayName=z;var H="CheckboxBubbleInput",K=i.forwardRef(({__scopeCheckbox:t,...n},r)=>{const{control:s,hasConsumerStoppedPropagationRef:o,checked:e,defaultChecked:c,required:d,disabled:u,name:b,value:p,form:l,bubbleInput:f,setBubbleInput:h}=G(H,t),m=j(r,h),v=M(e),k=B(s);i.useEffect(()=>{const C=f;if(!C)return;const g=window.HTMLInputElement.prototype,D=Object.getOwnPropertyDescriptor(g,"checked").set,ue=!o.current;if(v!==e&&D){const le=new Event("click",{bubbles:ue});C.indeterminate=w(e),D.call(C,w(e)?!1:e),C.dispatchEvent(le)}},[f,v,e,o]);const x=i.useRef(w(e)?!1:e);return a.jsx(R.input,{type:"checkbox","aria-hidden":!0,defaultChecked:c??x.current,required:d,disabled:u,name:b,value:p,form:l,...n,tabIndex:-1,ref:m,style:{...n.style,...k,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});K.displayName=H;function Ce(t){return typeof t=="function"}function w(t){return t==="indeterminate"}function V(t){return w(t)?"indeterminate":t?"checked":"unchecked"}var T="Radio",[Re,W]=_(T),[ge,ye]=Re(T),X=i.forwardRef((t,n)=>{const{__scopeRadio:r,name:s,checked:o=!1,required:e,disabled:c,value:d="on",onCheck:u,form:b,...p}=t,[l,f]=i.useState(null),h=j(n,k=>f(k)),m=i.useRef(!1),v=l?b||!!l.closest("form"):!0;return a.jsxs(ge,{scope:r,checked:o,disabled:c,children:[a.jsx(R.button,{type:"button",role:"radio","aria-checked":o,"data-state":Z(o),"data-disabled":c?"":void 0,disabled:c,value:d,...p,ref:h,onClick:E(t.onClick,k=>{o||u?.(),v&&(m.current=k.isPropagationStopped(),m.current||k.stopPropagation())})}),v&&a.jsx(Q,{control:l,bubbles:!m.current,name:s,value:d,checked:o,required:e,disabled:c,form:b,style:{transform:"translateX(-100%)"}})]})});X.displayName=T;var Y="RadioIndicator",J=i.forwardRef((t,n)=>{const{__scopeRadio:r,forceMount:s,...o}=t,e=ye(Y,r);return a.jsx(F,{present:s||e.checked,children:a.jsx(R.span,{"data-state":Z(e.checked),"data-disabled":e.disabled?"":void 0,...o,ref:n})})});J.displayName=Y;var we="RadioBubbleInput",Q=i.forwardRef(({__scopeRadio:t,control:n,checked:r,bubbles:s=!0,...o},e)=>{const c=i.useRef(null),d=j(c,e),u=M(r),b=B(n);return i.useEffect(()=>{const p=c.current;if(!p)return;const l=window.HTMLInputElement.prototype,h=Object.getOwnPropertyDescriptor(l,"checked").set;if(u!==r&&h){const m=new Event("click",{bubbles:s});h.call(p,r),p.dispatchEvent(m)}},[u,r,s]),a.jsx(R.input,{type:"radio","aria-hidden":!0,defaultChecked:r,...o,tabIndex:-1,ref:d,style:{...o.style,...b,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});Q.displayName=we;function Z(t){return t?"checked":"unchecked"}var je=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],P="RadioGroup",[Ee]=_(P,[O,W]),ee=O(),te=W(),[Ie,_e]=Ee(P),re=i.forwardRef((t,n)=>{const{__scopeRadioGroup:r,name:s,defaultValue:o,value:e,required:c=!1,disabled:d=!1,orientation:u,dir:b,loop:p=!0,onValueChange:l,...f}=t,h=ee(r),m=be(b),[v,k]=A({prop:e,defaultProp:o??null,onChange:l,caller:P});return a.jsx(Ie,{scope:r,name:s,required:c,disabled:d,value:v,onValueChange:k,children:a.jsx(pe,{asChild:!0,...h,orientation:u,dir:m,loop:p,children:a.jsx(R.div,{role:"radiogroup","aria-required":c,"aria-orientation":u,"data-disabled":d?"":void 0,dir:m,...f,ref:n})})})});re.displayName=P;var oe="RadioGroupItem",ae=i.forwardRef((t,n)=>{const{__scopeRadioGroup:r,disabled:s,...o}=t,e=_e(oe,r),c=e.disabled||s,d=ee(r),u=te(r),b=i.useRef(null),p=j(n,b),l=e.value===o.value,f=i.useRef(!1);return i.useEffect(()=>{const h=v=>{je.includes(v.key)&&(f.current=!0)},m=()=>f.current=!1;return document.addEventListener("keydown",h),document.addEventListener("keyup",m),()=>{document.removeEventListener("keydown",h),document.removeEventListener("keyup",m)}},[]),a.jsx(fe,{asChild:!0,...d,focusable:!c,active:l,children:a.jsx(X,{disabled:c,required:e.required,checked:l,...u,...o,name:e.name,ref:p,onCheck:()=>e.onValueChange(o.value),onKeyDown:E(h=>{h.key==="Enter"&&h.preventDefault()}),onFocus:E(o.onFocus,()=>{f.current&&b.current?.click()})})})});ae.displayName=oe;var Ne="RadioGroupIndicator",Pe=i.forwardRef((t,n)=>{const{__scopeRadioGroup:r,...s}=t,o=te(r);return a.jsx(J,{...o,...s,ref:n})});Pe.displayName=Ne;var Se=re,Ae=ae,S="Switch",[Me]=_(S),[Be,Ge]=Me(S),ne=i.forwardRef((t,n)=>{const{__scopeSwitch:r,name:s,checked:o,defaultChecked:e,required:c,disabled:d,value:u="on",onCheckedChange:b,form:p,...l}=t,[f,h]=i.useState(null),m=j(n,g=>h(g)),v=i.useRef(!1),k=f?p||!!f.closest("form"):!0,[x,C]=A({prop:o,defaultProp:e??!1,onChange:b,caller:S});return a.jsxs(Be,{scope:r,checked:x,disabled:d,children:[a.jsx(R.button,{type:"button",role:"switch","aria-checked":x,"aria-required":c,"data-state":de(x),"data-disabled":d?"":void 0,disabled:d,value:u,...l,ref:m,onClick:E(t.onClick,g=>{C(I=>!I),k&&(v.current=g.isPropagationStopped(),v.current||g.stopPropagation())})}),k&&a.jsx(ie,{control:f,bubbles:!v.current,name:s,value:u,checked:x,required:c,disabled:d,form:p,style:{transform:"translateX(-100%)"}})]})});ne.displayName=S;var se="SwitchThumb",ce=i.forwardRef((t,n)=>{const{__scopeSwitch:r,...s}=t,o=Ge(se,r);return a.jsx(R.span,{"data-state":de(o.checked),"data-disabled":o.disabled?"":void 0,...s,ref:n})});ce.displayName=se;var Te="SwitchBubbleInput",ie=i.forwardRef(({__scopeSwitch:t,control:n,checked:r,bubbles:s=!0,...o},e)=>{const c=i.useRef(null),d=j(c,e),u=M(r),b=B(n);return i.useEffect(()=>{const p=c.current;if(!p)return;const l=window.HTMLInputElement.prototype,h=Object.getOwnPropertyDescriptor(l,"checked").set;if(u!==r&&h){const m=new Event("click",{bubbles:s});h.call(p,r),p.dispatchEvent(m)}},[u,r,s]),a.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:r,...o,tabIndex:-1,ref:d,style:{...o.style,...b,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});ie.displayName=Te;function de(t){return t?"checked":"unchecked"}var De=ne,Fe=ce;function He({size:t="md",className:n,...r}){return a.jsx(De,{className:y("peer relative inline-flex shrink-0 cursor-pointer items-center rounded-full transition-colors duration-150 outline-none","focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-1 disabled:cursor-not-allowed disabled:opacity-40","bg-foreground/15 data-[state=checked]:bg-primary",t==="md"?"h-5 w-9":"h-4 w-7",n),...r,children:a.jsx(Fe,{className:y("pointer-events-none block rounded-full bg-background shadow-raised transition-transform duration-150 motion-reduce:transition-none",t==="md"?"size-4 translate-x-0.5 data-[state=checked]:translate-x-[18px]":"size-3 translate-x-0.5 data-[state=checked]:translate-x-3.5")})})}function Ke({label:t,description:n,id:r,className:s,...o}){const e=i.useId(),c=r??e,d=a.jsx($,{id:c,className:y("flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-foreground/25 bg-background shadow-raised transition-colors outline-none","focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-1 disabled:cursor-not-allowed disabled:opacity-40","data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground","data-[state=indeterminate]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground",!t&&s),...o,children:a.jsx(U,{className:"flex items-center justify-center",children:o.checked==="indeterminate"?a.jsx(he,{className:"size-3",strokeWidth:3,"aria-hidden":"true"}):a.jsx(me,{className:"size-3",strokeWidth:3,"aria-hidden":"true"})})});return t?a.jsxs("div",{className:y("flex items-start gap-2.5",s),children:[a.jsx("span",{className:"flex h-5 items-center",children:d}),a.jsxs("label",{htmlFor:c,className:y("cursor-pointer select-none",o.disabled&&"cursor-not-allowed opacity-50"),children:[a.jsx("span",{className:"block text-[13px] leading-5 text-foreground",children:t}),n&&a.jsx("span",{className:"block text-xs leading-relaxed text-muted-foreground",children:n})]})]}):d}function Ve({options:t,orientation:n="vertical",className:r,...s}){const o=i.useId();return a.jsx(Se,{orientation:n,className:y(n==="vertical"?"flex flex-col gap-3":"flex flex-wrap gap-x-5 gap-y-2",r),...s,children:t.map(e=>{const c=`${o}-${e.value}`;return a.jsxs("div",{className:"flex items-start gap-2.5",children:[a.jsx("span",{className:"flex h-5 items-center",children:a.jsx(Ae,{id:c,value:e.value,disabled:e.disabled,className:y("size-4 shrink-0 rounded-full border border-foreground/25 bg-background shadow-raised transition-[border-color,border-width] duration-150 outline-none","focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-1 disabled:cursor-not-allowed disabled:opacity-40","data-[state=checked]:border-[5px] data-[state=checked]:border-primary")})}),a.jsxs("label",{htmlFor:c,className:y("cursor-pointer select-none",e.disabled&&"cursor-not-allowed opacity-50"),children:[a.jsx("span",{className:"block text-[13px] leading-5 text-foreground",children:e.label}),e.description&&a.jsx("span",{className:"block text-xs leading-relaxed text-muted-foreground",children:e.description})]})]},e.value)})})}export{Ke as C,Ve as R,He as S};
|
|
1
|
+
import{r as i,j as a,z as F,P as R,v as A,x as j,y as I,C as E,l as y}from"./index-Cc3qXMhU.js";import{R as pe,I as fe,c as O,M as he}from"./index-hpHE1jXY.js";import{C as me}from"./check-DaZqOL8l.js";import{u as M}from"./index-T38iVLEb.js";import{u as B}from"./index-Disv1kQS.js";import{u as be}from"./index-BMZFF1UJ.js";var N="Checkbox",[xe]=E(N),[ve,G]=xe(N);function ke(t){const{__scopeCheckbox:n,checked:r,children:s,defaultChecked:o,disabled:e,form:c,name:d,onCheckedChange:u,required:b,value:p="on",internal_do_not_use_render:l}=t,[f,h]=A({prop:r,defaultProp:o??!1,onChange:u,caller:N}),[m,v]=i.useState(null),[k,x]=i.useState(null),C=i.useRef(!1),g=m?!!c||!!m.closest("form"):!0,_={checked:f,disabled:e,setChecked:h,control:m,setControl:v,name:d,form:c,value:p,hasConsumerStoppedPropagationRef:C,required:b,defaultChecked:w(o)?!1:o,isFormControl:g,bubbleInput:k,setBubbleInput:x};return a.jsx(ve,{scope:n,..._,children:Ce(l)?l(_):s})}var L="CheckboxTrigger",q=i.forwardRef(({__scopeCheckbox:t,onKeyDown:n,onClick:r,...s},o)=>{const{control:e,value:c,disabled:d,checked:u,required:b,setControl:p,setChecked:l,hasConsumerStoppedPropagationRef:f,isFormControl:h,bubbleInput:m}=G(L,t),v=j(o,p),k=i.useRef(u);return i.useEffect(()=>{const x=e?.form;if(x){const C=()=>l(k.current);return x.addEventListener("reset",C),()=>x.removeEventListener("reset",C)}},[e,l]),a.jsx(R.button,{type:"button",role:"checkbox","aria-checked":w(u)?"mixed":u,"aria-required":b,"data-state":V(u),"data-disabled":d?"":void 0,disabled:d,value:c,...s,ref:v,onKeyDown:I(n,x=>{x.key==="Enter"&&x.preventDefault()}),onClick:I(r,x=>{l(C=>w(C)?!0:!C),m&&h&&(f.current=x.isPropagationStopped(),f.current||x.stopPropagation())})})});q.displayName=L;var $=i.forwardRef((t,n)=>{const{__scopeCheckbox:r,name:s,checked:o,defaultChecked:e,required:c,disabled:d,value:u,onCheckedChange:b,form:p,...l}=t;return a.jsx(ke,{__scopeCheckbox:r,checked:o,defaultChecked:e,disabled:d,required:c,onCheckedChange:b,name:s,form:p,value:u,internal_do_not_use_render:({isFormControl:f})=>a.jsxs(a.Fragment,{children:[a.jsx(q,{...l,ref:n,__scopeCheckbox:r}),f&&a.jsx(K,{__scopeCheckbox:r})]})})});$.displayName=N;var z="CheckboxIndicator",U=i.forwardRef((t,n)=>{const{__scopeCheckbox:r,forceMount:s,...o}=t,e=G(z,r);return a.jsx(F,{present:s||w(e.checked)||e.checked===!0,children:a.jsx(R.span,{"data-state":V(e.checked),"data-disabled":e.disabled?"":void 0,...o,ref:n,style:{pointerEvents:"none",...t.style}})})});U.displayName=z;var H="CheckboxBubbleInput",K=i.forwardRef(({__scopeCheckbox:t,...n},r)=>{const{control:s,hasConsumerStoppedPropagationRef:o,checked:e,defaultChecked:c,required:d,disabled:u,name:b,value:p,form:l,bubbleInput:f,setBubbleInput:h}=G(H,t),m=j(r,h),v=M(e),k=B(s);i.useEffect(()=>{const C=f;if(!C)return;const g=window.HTMLInputElement.prototype,D=Object.getOwnPropertyDescriptor(g,"checked").set,ue=!o.current;if(v!==e&&D){const le=new Event("click",{bubbles:ue});C.indeterminate=w(e),D.call(C,w(e)?!1:e),C.dispatchEvent(le)}},[f,v,e,o]);const x=i.useRef(w(e)?!1:e);return a.jsx(R.input,{type:"checkbox","aria-hidden":!0,defaultChecked:c??x.current,required:d,disabled:u,name:b,value:p,form:l,...n,tabIndex:-1,ref:m,style:{...n.style,...k,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});K.displayName=H;function Ce(t){return typeof t=="function"}function w(t){return t==="indeterminate"}function V(t){return w(t)?"indeterminate":t?"checked":"unchecked"}var T="Radio",[Re,W]=E(T),[ge,ye]=Re(T),X=i.forwardRef((t,n)=>{const{__scopeRadio:r,name:s,checked:o=!1,required:e,disabled:c,value:d="on",onCheck:u,form:b,...p}=t,[l,f]=i.useState(null),h=j(n,k=>f(k)),m=i.useRef(!1),v=l?b||!!l.closest("form"):!0;return a.jsxs(ge,{scope:r,checked:o,disabled:c,children:[a.jsx(R.button,{type:"button",role:"radio","aria-checked":o,"data-state":Z(o),"data-disabled":c?"":void 0,disabled:c,value:d,...p,ref:h,onClick:I(t.onClick,k=>{o||u?.(),v&&(m.current=k.isPropagationStopped(),m.current||k.stopPropagation())})}),v&&a.jsx(Q,{control:l,bubbles:!m.current,name:s,value:d,checked:o,required:e,disabled:c,form:b,style:{transform:"translateX(-100%)"}})]})});X.displayName=T;var Y="RadioIndicator",J=i.forwardRef((t,n)=>{const{__scopeRadio:r,forceMount:s,...o}=t,e=ye(Y,r);return a.jsx(F,{present:s||e.checked,children:a.jsx(R.span,{"data-state":Z(e.checked),"data-disabled":e.disabled?"":void 0,...o,ref:n})})});J.displayName=Y;var we="RadioBubbleInput",Q=i.forwardRef(({__scopeRadio:t,control:n,checked:r,bubbles:s=!0,...o},e)=>{const c=i.useRef(null),d=j(c,e),u=M(r),b=B(n);return i.useEffect(()=>{const p=c.current;if(!p)return;const l=window.HTMLInputElement.prototype,h=Object.getOwnPropertyDescriptor(l,"checked").set;if(u!==r&&h){const m=new Event("click",{bubbles:s});h.call(p,r),p.dispatchEvent(m)}},[u,r,s]),a.jsx(R.input,{type:"radio","aria-hidden":!0,defaultChecked:r,...o,tabIndex:-1,ref:d,style:{...o.style,...b,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});Q.displayName=we;function Z(t){return t?"checked":"unchecked"}var je=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],P="RadioGroup",[Ie]=E(P,[O,W]),ee=O(),te=W(),[_e,Ee]=Ie(P),re=i.forwardRef((t,n)=>{const{__scopeRadioGroup:r,name:s,defaultValue:o,value:e,required:c=!1,disabled:d=!1,orientation:u,dir:b,loop:p=!0,onValueChange:l,...f}=t,h=ee(r),m=be(b),[v,k]=A({prop:e,defaultProp:o??null,onChange:l,caller:P});return a.jsx(_e,{scope:r,name:s,required:c,disabled:d,value:v,onValueChange:k,children:a.jsx(pe,{asChild:!0,...h,orientation:u,dir:m,loop:p,children:a.jsx(R.div,{role:"radiogroup","aria-required":c,"aria-orientation":u,"data-disabled":d?"":void 0,dir:m,...f,ref:n})})})});re.displayName=P;var oe="RadioGroupItem",ae=i.forwardRef((t,n)=>{const{__scopeRadioGroup:r,disabled:s,...o}=t,e=Ee(oe,r),c=e.disabled||s,d=ee(r),u=te(r),b=i.useRef(null),p=j(n,b),l=e.value===o.value,f=i.useRef(!1);return i.useEffect(()=>{const h=v=>{je.includes(v.key)&&(f.current=!0)},m=()=>f.current=!1;return document.addEventListener("keydown",h),document.addEventListener("keyup",m),()=>{document.removeEventListener("keydown",h),document.removeEventListener("keyup",m)}},[]),a.jsx(fe,{asChild:!0,...d,focusable:!c,active:l,children:a.jsx(X,{disabled:c,required:e.required,checked:l,...u,...o,name:e.name,ref:p,onCheck:()=>e.onValueChange(o.value),onKeyDown:I(h=>{h.key==="Enter"&&h.preventDefault()}),onFocus:I(o.onFocus,()=>{f.current&&b.current?.click()})})})});ae.displayName=oe;var Ne="RadioGroupIndicator",Pe=i.forwardRef((t,n)=>{const{__scopeRadioGroup:r,...s}=t,o=te(r);return a.jsx(J,{...o,...s,ref:n})});Pe.displayName=Ne;var Se=re,Ae=ae,S="Switch",[Me]=E(S),[Be,Ge]=Me(S),ne=i.forwardRef((t,n)=>{const{__scopeSwitch:r,name:s,checked:o,defaultChecked:e,required:c,disabled:d,value:u="on",onCheckedChange:b,form:p,...l}=t,[f,h]=i.useState(null),m=j(n,g=>h(g)),v=i.useRef(!1),k=f?p||!!f.closest("form"):!0,[x,C]=A({prop:o,defaultProp:e??!1,onChange:b,caller:S});return a.jsxs(Be,{scope:r,checked:x,disabled:d,children:[a.jsx(R.button,{type:"button",role:"switch","aria-checked":x,"aria-required":c,"data-state":de(x),"data-disabled":d?"":void 0,disabled:d,value:u,...l,ref:m,onClick:I(t.onClick,g=>{C(_=>!_),k&&(v.current=g.isPropagationStopped(),v.current||g.stopPropagation())})}),k&&a.jsx(ie,{control:f,bubbles:!v.current,name:s,value:u,checked:x,required:c,disabled:d,form:p,style:{transform:"translateX(-100%)"}})]})});ne.displayName=S;var se="SwitchThumb",ce=i.forwardRef((t,n)=>{const{__scopeSwitch:r,...s}=t,o=Ge(se,r);return a.jsx(R.span,{"data-state":de(o.checked),"data-disabled":o.disabled?"":void 0,...s,ref:n})});ce.displayName=se;var Te="SwitchBubbleInput",ie=i.forwardRef(({__scopeSwitch:t,control:n,checked:r,bubbles:s=!0,...o},e)=>{const c=i.useRef(null),d=j(c,e),u=M(r),b=B(n);return i.useEffect(()=>{const p=c.current;if(!p)return;const l=window.HTMLInputElement.prototype,h=Object.getOwnPropertyDescriptor(l,"checked").set;if(u!==r&&h){const m=new Event("click",{bubbles:s});h.call(p,r),p.dispatchEvent(m)}},[u,r,s]),a.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:r,...o,tabIndex:-1,ref:d,style:{...o.style,...b,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});ie.displayName=Te;function de(t){return t?"checked":"unchecked"}var De=ne,Fe=ce;function He({size:t="md",className:n,...r}){return a.jsx(De,{className:y("peer relative inline-flex shrink-0 cursor-pointer items-center rounded-full transition-colors duration-150 outline-none","focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-1 disabled:cursor-not-allowed disabled:opacity-40","bg-foreground/15 data-[state=checked]:bg-primary",t==="md"?"h-5 w-9":"h-4 w-7",n),...r,children:a.jsx(Fe,{className:y("pointer-events-none block rounded-full bg-background shadow-raised transition-transform duration-150 motion-reduce:transition-none",t==="md"?"size-4 translate-x-0.5 data-[state=checked]:translate-x-[18px]":"size-3 translate-x-0.5 data-[state=checked]:translate-x-3.5")})})}function Ke({label:t,description:n,id:r,className:s,...o}){const e=i.useId(),c=r??e,d=a.jsx($,{id:c,className:y("flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-foreground/25 bg-background shadow-raised transition-colors outline-none","focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-1 disabled:cursor-not-allowed disabled:opacity-40","data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground","data-[state=indeterminate]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground",!t&&s),...o,children:a.jsx(U,{className:"flex items-center justify-center",children:o.checked==="indeterminate"?a.jsx(he,{className:"size-3",strokeWidth:3,"aria-hidden":"true"}):a.jsx(me,{className:"size-3",strokeWidth:3,"aria-hidden":"true"})})});return t?a.jsxs("div",{className:y("flex items-start gap-2.5",s),children:[a.jsx("span",{className:"flex h-5 items-center",children:d}),a.jsxs("label",{htmlFor:c,className:y("cursor-pointer select-none",o.disabled&&"cursor-not-allowed opacity-50"),children:[a.jsx("span",{className:"block text-[13px] leading-5 text-foreground",children:t}),n&&a.jsx("span",{className:"block text-xs leading-relaxed text-muted-foreground",children:n})]})]}):d}function Ve({options:t,orientation:n="vertical",className:r,...s}){const o=i.useId();return a.jsx(Se,{orientation:n,className:y(n==="vertical"?"flex flex-col gap-3":"flex flex-wrap gap-x-5 gap-y-2",r),...s,children:t.map(e=>{const c=`${o}-${e.value}`;return a.jsxs("div",{className:"flex items-start gap-2.5",children:[a.jsx("span",{className:"flex h-5 items-center",children:a.jsx(Ae,{id:c,value:e.value,disabled:e.disabled,className:y("size-4 shrink-0 rounded-full border border-foreground/25 bg-background shadow-raised transition-[border-color,border-width] duration-150 outline-none","focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-1 disabled:cursor-not-allowed disabled:opacity-40","data-[state=checked]:border-[5px] data-[state=checked]:border-primary")})}),a.jsxs("label",{htmlFor:c,className:y("cursor-pointer select-none",e.disabled&&"cursor-not-allowed opacity-50"),children:[a.jsx("span",{className:"block text-[13px] leading-5 text-foreground",children:e.label}),e.description&&a.jsx("span",{className:"block text-xs leading-relaxed text-muted-foreground",children:e.description})]})]},e.value)})})}export{Ke as C,Ve as R,He as S};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as X,r as s,j as c,w as $,v as W,x as H,P as J,y as C,z as I,C as Q,aS as Z,l as S}from"./index-Cc3qXMhU.js";import{K as ee}from"./kbd-IjDGsZ2B.js";import{P as te,D as oe}from"./index-DWrSDMX2.js";import{R as re,A as ne,c as F,C as se,a as ae}from"./index-Disv1kQS.js";import{R as ie}from"./index-Pt4TsHjm.js";const le=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],Ne=X("file-text",le);var[_]=Q("Tooltip",[F]),k=F(),G="TooltipProvider",ce=700,D="tooltip.open",[ue,L]=_(G),z=t=>{const{__scopeTooltip:o,delayDuration:e=ce,skipDelayDuration:r=300,disableHoverableContent:n=!1,children:l}=t,a=s.useRef(!0),p=s.useRef(!1),i=s.useRef(0);return s.useEffect(()=>{const f=i.current;return()=>window.clearTimeout(f)},[]),c.jsx(ue,{scope:o,isOpenDelayedRef:a,delayDuration:e,onOpen:s.useCallback(()=>{window.clearTimeout(i.current),a.current=!1},[]),onClose:s.useCallback(()=>{window.clearTimeout(i.current),i.current=window.setTimeout(()=>a.current=!0,r)},[r]),isPointerInTransitRef:p,onPointerInTransitChange:s.useCallback(f=>{p.current=f},[]),disableHoverableContent:n,children:l})};z.displayName=G;var R="Tooltip",[de,j]=_(R),B=t=>{const{__scopeTooltip:o,children:e,open:r,defaultOpen:n,onOpenChange:l,disableHoverableContent:a,delayDuration:p}=t,i=L(R,t.__scopeTooltip),f=k(o),[u,x]=s.useState(null),v=$(),d=s.useRef(0),h=a??i.disableHoverableContent,y=p??i.delayDuration,g=s.useRef(!1),[T,m]=W({prop:r,defaultProp:n??!1,onChange:N=>{N?(i.onOpen(),document.dispatchEvent(new CustomEvent(D))):i.onClose(),l?.(N)},caller:R}),w=s.useMemo(()=>T?g.current?"delayed-open":"instant-open":"closed",[T]),P=s.useCallback(()=>{window.clearTimeout(d.current),d.current=0,g.current=!1,m(!0)},[m]),E=s.useCallback(()=>{window.clearTimeout(d.current),d.current=0,m(!1)},[m]),M=s.useCallback(()=>{window.clearTimeout(d.current),d.current=window.setTimeout(()=>{g.current=!0,m(!0),d.current=0},y)},[y,m]);return s.useEffect(()=>()=>{d.current&&(window.clearTimeout(d.current),d.current=0)},[]),c.jsx(re,{...f,children:c.jsx(de,{scope:o,contentId:v,open:T,stateAttribute:w,trigger:u,onTriggerChange:x,onTriggerEnter:s.useCallback(()=>{i.isOpenDelayedRef.current?M():P()},[i.isOpenDelayedRef,M,P]),onTriggerLeave:s.useCallback(()=>{h?E():(window.clearTimeout(d.current),d.current=0)},[E,h]),onOpen:P,onClose:E,disableHoverableContent:h,children:e})})};B.displayName=R;var O="TooltipTrigger",V=s.forwardRef((t,o)=>{const{__scopeTooltip:e,...r}=t,n=j(O,e),l=L(O,e),a=k(e),p=s.useRef(null),i=H(o,p,n.onTriggerChange),f=s.useRef(!1),u=s.useRef(!1),x=s.useCallback(()=>f.current=!1,[]);return s.useEffect(()=>()=>document.removeEventListener("pointerup",x),[x]),c.jsx(ne,{asChild:!0,...a,children:c.jsx(J.button,{"aria-describedby":n.open?n.contentId:void 0,"data-state":n.stateAttribute,...r,ref:i,onPointerMove:C(t.onPointerMove,v=>{v.pointerType!=="touch"&&!u.current&&!l.isPointerInTransitRef.current&&(n.onTriggerEnter(),u.current=!0)}),onPointerLeave:C(t.onPointerLeave,()=>{n.onTriggerLeave(),u.current=!1}),onPointerDown:C(t.onPointerDown,()=>{n.open&&n.onClose(),f.current=!0,document.addEventListener("pointerup",x,{once:!0})}),onFocus:C(t.onFocus,()=>{f.current||n.onOpen()}),onBlur:C(t.onBlur,n.onClose),onClick:C(t.onClick,n.onClose)})})});V.displayName=O;var A="TooltipPortal",[pe,fe]=_(A,{forceMount:void 0}),K=t=>{const{__scopeTooltip:o,forceMount:e,children:r,container:n}=t,l=j(A,o);return c.jsx(pe,{scope:o,forceMount:e,children:c.jsx(I,{present:e||l.open,children:c.jsx(te,{asChild:!0,container:n,children:r})})})};K.displayName=A;var b="TooltipContent",U=s.forwardRef((t,o)=>{const e=fe(b,t.__scopeTooltip),{forceMount:r=e.forceMount,side:n="top",...l}=t,a=j(b,t.__scopeTooltip);return c.jsx(I,{present:r||a.open,children:a.disableHoverableContent?c.jsx(Y,{side:n,...l,ref:o}):c.jsx(xe,{side:n,...l,ref:o})})}),xe=s.forwardRef((t,o)=>{const e=j(b,t.__scopeTooltip),r=L(b,t.__scopeTooltip),n=s.useRef(null),l=H(o,n),[a,p]=s.useState(null),{trigger:i,onClose:f}=e,u=n.current,{onPointerInTransitChange:x}=r,v=s.useCallback(()=>{p(null),x(!1)},[x]),d=s.useCallback((h,y)=>{const g=h.currentTarget,T={x:h.clientX,y:h.clientY},m=me(T,g.getBoundingClientRect()),w=Te(T,m),P=Ce(y.getBoundingClientRect()),E=we([...w,...P]);p(E),x(!0)},[x]);return s.useEffect(()=>()=>v(),[v]),s.useEffect(()=>{if(i&&u){const h=g=>d(g,u),y=g=>d(g,i);return i.addEventListener("pointerleave",h),u.addEventListener("pointerleave",y),()=>{i.removeEventListener("pointerleave",h),u.removeEventListener("pointerleave",y)}}},[i,u,d,v]),s.useEffect(()=>{if(a){const h=y=>{const g=y.target,T={x:y.clientX,y:y.clientY},m=i?.contains(g)||u?.contains(g),w=!be(T,a);m?v():w&&(v(),f())};return document.addEventListener("pointermove",h),()=>document.removeEventListener("pointermove",h)}},[i,u,a,f,v]),c.jsx(Y,{...t,ref:l})}),[ve,he]=_(R,{isInside:!1}),ge=Z("TooltipContent"),Y=s.forwardRef((t,o)=>{const{__scopeTooltip:e,children:r,"aria-label":n,onEscapeKeyDown:l,onPointerDownOutside:a,...p}=t,i=j(b,e),f=k(e),{onClose:u}=i;return s.useEffect(()=>(document.addEventListener(D,u),()=>document.removeEventListener(D,u)),[u]),s.useEffect(()=>{if(i.trigger){const x=v=>{v.target?.contains(i.trigger)&&u()};return window.addEventListener("scroll",x,{capture:!0}),()=>window.removeEventListener("scroll",x,{capture:!0})}},[i.trigger,u]),c.jsx(oe,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:l,onPointerDownOutside:a,onFocusOutside:x=>x.preventDefault(),onDismiss:u,children:c.jsxs(se,{"data-state":i.stateAttribute,...f,...p,ref:o,style:{...p.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[c.jsx(ge,{children:r}),c.jsx(ve,{scope:e,isInside:!0,children:c.jsx(ie,{id:i.contentId,role:"tooltip",children:n||r})})]})})});U.displayName=b;var q="TooltipArrow",ye=s.forwardRef((t,o)=>{const{__scopeTooltip:e,...r}=t,n=k(e);return he(q,e).isInside?null:c.jsx(ae,{...n,...r,ref:o})});ye.displayName=q;function me(t,o){const e=Math.abs(o.top-t.y),r=Math.abs(o.bottom-t.y),n=Math.abs(o.right-t.x),l=Math.abs(o.left-t.x);switch(Math.min(e,r,n,l)){case l:return"left";case n:return"right";case e:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function Te(t,o,e=5){const r=[];switch(o){case"top":r.push({x:t.x-e,y:t.y+e},{x:t.x+e,y:t.y+e});break;case"bottom":r.push({x:t.x-e,y:t.y-e},{x:t.x+e,y:t.y-e});break;case"left":r.push({x:t.x+e,y:t.y-e},{x:t.x+e,y:t.y+e});break;case"right":r.push({x:t.x-e,y:t.y-e},{x:t.x-e,y:t.y+e});break}return r}function Ce(t){const{top:o,right:e,bottom:r,left:n}=t;return[{x:n,y:o},{x:e,y:o},{x:e,y:r},{x:n,y:r}]}function be(t,o){const{x:e,y:r}=t;let n=!1;for(let l=0,a=o.length-1;l<o.length;a=l++){const p=o[l],i=o[a],f=p.x,u=p.y,x=i.x,v=i.y;u>r!=v>r&&e<(x-f)*(r-u)/(v-u)+f&&(n=!n)}return n}function we(t){const o=t.slice();return o.sort((e,r)=>e.x<r.x?-1:e.x>r.x?1:e.y<r.y?-1:e.y>r.y?1:0),Pe(o)}function Pe(t){if(t.length<=1)return t.slice();const o=[];for(let r=0;r<t.length;r++){const n=t[r];for(;o.length>=2;){const l=o[o.length-1],a=o[o.length-2];if((l.x-a.x)*(n.y-a.y)>=(l.y-a.y)*(n.x-a.x))o.pop();else break}o.push(n)}o.pop();const e=[];for(let r=t.length-1;r>=0;r--){const n=t[r];for(;e.length>=2;){const l=e[e.length-1],a=e[e.length-2];if((l.x-a.x)*(n.y-a.y)>=(l.y-a.y)*(n.x-a.x))e.pop();else break}e.push(n)}return e.pop(),o.length===1&&e.length===1&&o[0].x===e[0].x&&o[0].y===e[0].y?o:o.concat(e)}var Ee=z,Re=B,je=V,_e=K,ke=U;function He(t){return S("rounded text-foreground underline decoration-foreground/30 underline-offset-[3px] [overflow-wrap:anywhere]","transition-[text-decoration-color] duration-150 hover:decoration-foreground/80","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60",t)}function Ie({content:t,shortcut:o,children:e,side:r="top",align:n="center",delayDuration:l=300,disabled:a=!1,className:p}){return a||!t?c.jsx(c.Fragment,{children:e}):c.jsx(Ee,{delayDuration:l,skipDelayDuration:200,children:c.jsxs(Re,{children:[c.jsx(je,{asChild:!0,children:e}),c.jsx(_e,{children:c.jsxs(ke,{side:r,align:n,sideOffset:6,collisionPadding:8,className:S("z-[100] flex max-w-[260px] items-center gap-2 rounded-lg bg-inverse px-2.5 py-1.5 text-xs leading-relaxed text-inverse-foreground shadow-popover","origin-(--radix-tooltip-content-transform-origin) data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 duration-100",p),children:[c.jsx("span",{className:"min-w-0",children:t}),o&&c.jsx(ee,{keys:o,inverse:!0,className:"shrink-0"})]})})]})})}export{Ne as F,Ie as T,He as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as $,
|
|
1
|
+
import{j as $,l as g}from"./index-Cc3qXMhU.js";function M(o,t,a){return Math.min(a,Math.max(t,o))}function H(o,t){const[a,r]=o,[s,n]=t,i=r===a?0:(n-s)/(r-a);return c=>s+(c-a)*i}function j(o,t){if(!(o>0)||t<=0)return 1;const a=o/t,r=10**Math.floor(Math.log10(a)),s=a/r;return(s>=7.5?10:s>=3.5?5:s>=1.5?2:1)*r}function m(o,t){const a=Math.max(0,-Math.floor(Math.log10(t)));return Number(o.toFixed(a))}function I(o,{count:t=4,includeZero:a=!0}={}){const r=o.filter(Number.isFinite);let s=r.length?Math.min(...r):0,n=r.length?Math.max(...r):1;a&&(s=Math.min(0,s),n=Math.max(0,n)),s===n&&(n=s+1);const i=j(n-s,t),c=m(Math.floor(s/i)*i,i),l=m(Math.ceil(n/i)*i,i),e=[];for(let u=c;u<=l+i/2;u+=i)e.push(m(u,i));return{min:c,max:l,ticks:e}}function N(o,t,a,{paddingInner:r=.4,paddingOuter:s=.2}={}){const n=Math.max(1,o),i=(a-t)/(n-r+s*2),c=i*(1-r),l=t+i*s;return{step:i,bandwidth:c,x:e=>l+e*i,center:e=>l+e*i+c/2}}function T(o,t,a,r,s=4){if(!(r>0)||!(a>0))return"";const n=Math.min(s,a/2,r);return[`M${o},${t+r}`,`V${t+n}`,`A${n},${n} 0 0 1 ${o+n},${t}`,`H${o+a-n}`,`A${n},${n} 0 0 1 ${o+a},${t+n}`,`V${t+r}`,"Z"].join("")}function L(o,t,a,r,s=4){if(!(r>0)||!(a>0))return"";const n=Math.min(s,r/2,a);return[`M${o},${t}`,`H${o+a-n}`,`A${n},${n} 0 0 1 ${o+a},${t+n}`,`V${t+r-n}`,`A${n},${n} 0 0 1 ${o+a-n},${t+r}`,`H${o}`,"Z"].join("")}function f(o,t,a,r){return[o+a*Math.sin(r),t-a*Math.cos(r)]}function h(o,t,a,r,s,n){const i=n-s;if(i<=0)return"";if(i>=Math.PI*2-1e-6){const d=s+Math.PI;return`${h(o,t,a,r,s,d)}${h(o,t,a,r,d,s+Math.PI*2-1e-6)}`}const c=i>Math.PI?1:0,[l,e]=f(o,t,a,s),[u,b]=f(o,t,a,n),[p,v]=f(o,t,r,n),[x,k]=f(o,t,r,s);return[`M${l},${e}`,`A${a},${a} 0 ${c} 1 ${u},${b}`,`L${p},${v}`,`A${r},${r} 0 ${c} 0 ${x},${k}`,"Z"].join("")}function E(o,t,[a,r]){const s=o.map((e,u)=>({value:e,index:u})).sort((e,u)=>e.value-u.value),n=s.map(e=>e.value),i=()=>{for(let e=1;e<n.length;e++)n[e]=Math.max(n[e],n[e-1]+t)};i();const c=n.length-1;if(c>=0&&n[c]>r){n[c]=r;for(let e=c-1;e>=0;e--)n[e]=Math.min(n[e],n[e+1]-t)}c>=0&&n[0]<a&&(n[0]=a,i());const l=new Array(o.length);return s.forEach((e,u)=>{l[e.index]=n[u]}),l}function F(o,t,a){return!(o>0)||!(t>0)?0:M(Math.ceil(o/t*(a-1)),1,a-1)}const A={ink:"bg-viz-6",neutral:"bg-viz-3",info:"bg-info",success:"bg-success",warning:"bg-warning",danger:"bg-destructive"},w={ink:"bg-viz-0",neutral:"bg-viz-0",info:"bg-info/15",success:"bg-success/15",warning:"bg-warning/15",danger:"bg-destructive/15"},P={xs:"h-1",sm:"h-1.5",md:"h-2"};function R({value:o,max:t=1,expected:a,tone:r="ink",size:s="sm",className:n,...i}){const c=t>0?M(o/t,0,1):0,l=a!==void 0&&t>0?M(a/t,0,1):null;return $.jsxs("div",{role:"progressbar","aria-label":i["aria-label"],"aria-valuemin":0,"aria-valuemax":t,"aria-valuenow":o,className:g("relative w-full rounded-full",P[s],w[r],n),children:[$.jsx("div",{className:g("h-full rounded-full transition-[width] duration-500 ease-enter motion-reduce:transition-none",A[r]),style:{width:c>0?`max(2px, ${c*100}%)`:0}}),l!==null&&$.jsx("span",{"aria-hidden":"true",className:"absolute -top-[3px] -bottom-[3px] w-0.5 -translate-x-1/2 rounded-full bg-foreground/60 ring-2 ring-background",style:{left:`${l*100}%`}})]})}export{R as T,T as a,N as b,M as c,E as d,h as e,L as f,j as g,H as l,I as n,F as q};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as a}from"./index-
|
|
1
|
+
import{c as a}from"./index-Cc3qXMhU.js";const t=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],h=a("plus",t);const e=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],s=a("trash-2",e);export{h as P,s as T};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{c as M,e as w,U as F,a as P,M as v,l as f,t as K,R as O}from"./monaco-BbAmalE2.js";import"./TaskHandoffPanel-CxH3Mgyd.js";import"./index-Cc3qXMhU.js";import"./ProjectKanbanPage-soDqevjQ.js";import"./confirm-dialog-DWeBZLJW.js";import"./dialog-D1lkhqVL.js";import"./index-DWrSDMX2.js";import"./BranchSelect-BAq4L2ZS.js";import"./popover-CUmBEXxL.js";import"./kbd-IjDGsZ2B.js";import"./search-ClmOQd4H.js";import"./index-DyJfPc4O.js";import"./index-Disv1kQS.js";import"./menu-styles-DWynpVVz.js";import"./chevron-down-DNhYsNAt.js";import"./check-DaZqOL8l.js";import"./CreateTaskInput-DjVxCAfc.js";import"./AttachmentPreview-DMS-PM-1.js";import"./tooltip-DuyJMci9.js";import"./index-Pt4TsHjm.js";import"./MemberAvatar-BLezO3vS.js";import"./people-DEeNaaLt.js";import"./BrandLogo--kWXXJtZ.js";import"./index-hpHE1jXY.js";import"./index-BMZFF1UJ.js";import"./use-providers-Dv1Nk6s7.js";import"./trash-2-CIyBqaVy.js";import"./ExecutionPermissionSelector-f1UYIm1z.js";import"./paperclip-YP3Bk1lI.js";import"./chip-Cf92J-pQ.js";import"./message-square-BE-pW0m_.js";import"./layers-Pdy9vZ6K.js";import"./copy-D0gl9kF8.js";import"./provider-selection-DSu7SCI7.js";import"./folder-picker-Czxm0_S9.js";import"./modal-CHLtZWvx.js";import"./mermaid-NOHMQCX5-nBsnjgeU.js";import"./use-translation-settings-CcUnipVO.js";import"./chevron-up-CjrLieBR.js";import"./at-sign-DYPIlD6D.js";import"./useTokenUsage-CZ5mDshD.js";import"./menu-DubntFHq.js";import"./select-BB7QG08o.js";import"./select-CYtYPr-c.js";import"./index-T38iVLEb.js";import"./textarea-BqYPvoO-.js";import"./content-JM9E1MeD.js";import"./file-BijjwxRR.js";import"./server-bEB_DY55.js";import"./upload-D05XS5-G.js";import"./globe-Ce01-45x.js";import"./pencil-BFDuhbtW.js";class E{constructor(e,t){this._modeId=e,this._defaults=t,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker()),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange(()=>this._updateExtraLibs())}dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}async _updateExtraLibs(){if(!this._worker)return;const e=++this._updateExtraLibsToken,t=await this._worker.getProxy();this._updateExtraLibsToken===e&&t.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){return this._client||(this._client=(async()=>(this._worker=M({moduleId:"vs/language/typescript/tsWorker",createWorker:()=>new Worker(new URL("/assets/ts.worker-BH9nVgjN.js",import.meta.url),{type:"module"}),label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}}),this._defaults.getEagerModelSync()?await this._worker.withSyncedResources(w.getModels().filter(e=>e.getLanguageId()===this._modeId).map(e=>e.uri)):await this._worker.getProxy()))()),this._client}async getLanguageServiceWorker(...e){const t=await this._getClient();return this._worker&&await this._worker.withSyncedResources(e),t}}const r={};r["lib.d.ts"]=!0;r["lib.decorators.d.ts"]=!0;r["lib.decorators.legacy.d.ts"]=!0;r["lib.dom.asynciterable.d.ts"]=!0;r["lib.dom.d.ts"]=!0;r["lib.dom.iterable.d.ts"]=!0;r["lib.es2015.collection.d.ts"]=!0;r["lib.es2015.core.d.ts"]=!0;r["lib.es2015.d.ts"]=!0;r["lib.es2015.generator.d.ts"]=!0;r["lib.es2015.iterable.d.ts"]=!0;r["lib.es2015.promise.d.ts"]=!0;r["lib.es2015.proxy.d.ts"]=!0;r["lib.es2015.reflect.d.ts"]=!0;r["lib.es2015.symbol.d.ts"]=!0;r["lib.es2015.symbol.wellknown.d.ts"]=!0;r["lib.es2016.array.include.d.ts"]=!0;r["lib.es2016.d.ts"]=!0;r["lib.es2016.full.d.ts"]=!0;r["lib.es2016.intl.d.ts"]=!0;r["lib.es2017.arraybuffer.d.ts"]=!0;r["lib.es2017.d.ts"]=!0;r["lib.es2017.date.d.ts"]=!0;r["lib.es2017.full.d.ts"]=!0;r["lib.es2017.intl.d.ts"]=!0;r["lib.es2017.object.d.ts"]=!0;r["lib.es2017.sharedmemory.d.ts"]=!0;r["lib.es2017.string.d.ts"]=!0;r["lib.es2017.typedarrays.d.ts"]=!0;r["lib.es2018.asyncgenerator.d.ts"]=!0;r["lib.es2018.asynciterable.d.ts"]=!0;r["lib.es2018.d.ts"]=!0;r["lib.es2018.full.d.ts"]=!0;r["lib.es2018.intl.d.ts"]=!0;r["lib.es2018.promise.d.ts"]=!0;r["lib.es2018.regexp.d.ts"]=!0;r["lib.es2019.array.d.ts"]=!0;r["lib.es2019.d.ts"]=!0;r["lib.es2019.full.d.ts"]=!0;r["lib.es2019.intl.d.ts"]=!0;r["lib.es2019.object.d.ts"]=!0;r["lib.es2019.string.d.ts"]=!0;r["lib.es2019.symbol.d.ts"]=!0;r["lib.es2020.bigint.d.ts"]=!0;r["lib.es2020.d.ts"]=!0;r["lib.es2020.date.d.ts"]=!0;r["lib.es2020.full.d.ts"]=!0;r["lib.es2020.intl.d.ts"]=!0;r["lib.es2020.number.d.ts"]=!0;r["lib.es2020.promise.d.ts"]=!0;r["lib.es2020.sharedmemory.d.ts"]=!0;r["lib.es2020.string.d.ts"]=!0;r["lib.es2020.symbol.wellknown.d.ts"]=!0;r["lib.es2021.d.ts"]=!0;r["lib.es2021.full.d.ts"]=!0;r["lib.es2021.intl.d.ts"]=!0;r["lib.es2021.promise.d.ts"]=!0;r["lib.es2021.string.d.ts"]=!0;r["lib.es2021.weakref.d.ts"]=!0;r["lib.es2022.array.d.ts"]=!0;r["lib.es2022.d.ts"]=!0;r["lib.es2022.error.d.ts"]=!0;r["lib.es2022.full.d.ts"]=!0;r["lib.es2022.intl.d.ts"]=!0;r["lib.es2022.object.d.ts"]=!0;r["lib.es2022.regexp.d.ts"]=!0;r["lib.es2022.string.d.ts"]=!0;r["lib.es2023.array.d.ts"]=!0;r["lib.es2023.collection.d.ts"]=!0;r["lib.es2023.d.ts"]=!0;r["lib.es2023.full.d.ts"]=!0;r["lib.es2023.intl.d.ts"]=!0;r["lib.es2024.arraybuffer.d.ts"]=!0;r["lib.es2024.collection.d.ts"]=!0;r["lib.es2024.d.ts"]=!0;r["lib.es2024.full.d.ts"]=!0;r["lib.es2024.object.d.ts"]=!0;r["lib.es2024.promise.d.ts"]=!0;r["lib.es2024.regexp.d.ts"]=!0;r["lib.es2024.sharedmemory.d.ts"]=!0;r["lib.es2024.string.d.ts"]=!0;r["lib.es5.d.ts"]=!0;r["lib.es6.d.ts"]=!0;r["lib.esnext.array.d.ts"]=!0;r["lib.esnext.collection.d.ts"]=!0;r["lib.esnext.d.ts"]=!0;r["lib.esnext.decorators.d.ts"]=!0;r["lib.esnext.disposable.d.ts"]=!0;r["lib.esnext.error.d.ts"]=!0;r["lib.esnext.float16.d.ts"]=!0;r["lib.esnext.full.d.ts"]=!0;r["lib.esnext.intl.d.ts"]=!0;r["lib.esnext.iterator.d.ts"]=!0;r["lib.esnext.promise.d.ts"]=!0;r["lib.esnext.sharedmemory.d.ts"]=!0;r["lib.scripthost.d.ts"]=!0;r["lib.webworker.asynciterable.d.ts"]=!0;r["lib.webworker.d.ts"]=!0;r["lib.webworker.importscripts.d.ts"]=!0;r["lib.webworker.iterable.d.ts"]=!0;function A(c,e,t=0){if(typeof c=="string")return c;if(c===void 0)return"";let o="";if(t){o+=e;for(let i=0;i<t;i++)o+=" "}if(o+=c.messageText,t++,c.next)for(const i of c.next)o+=A(i,e,t);return o}function _(c){return c?c.map(e=>e.text).join(""):""}class y{constructor(e){this._worker=e}_textSpanToRange(e,t){let o=e.getPositionAt(t.start),i=e.getPositionAt(t.start+t.length),{lineNumber:l,column:p}=o,{lineNumber:n,column:s}=i;return{startLineNumber:l,startColumn:p,endLineNumber:n,endColumn:s}}}class H{constructor(e){this._worker=e,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}isLibFile(e){return e&&e.path.indexOf("/lib.")===0?!!r[e.path.slice(1)]:!1}getOrCreateModel(e){const t=F.parse(e),o=w.getModel(t);if(o)return o;if(this.isLibFile(t)&&this._hasFetchedLibFiles)return w.createModel(this._libFiles[t.path.slice(1)],"typescript",t);const i=K.getExtraLibs()[e];return i?w.createModel(i.content,"typescript",t):null}_containsLibFile(e){for(let t of e)if(this.isLibFile(t))return!0;return!1}async fetchLibFilesIfNecessary(e){this._containsLibFile(e)&&await this._fetchLibFiles()}_fetchLibFiles(){return this._fetchLibFilesPromise||(this._fetchLibFilesPromise=this._worker().then(e=>e.getLibFiles()).then(e=>{this._hasFetchedLibFiles=!0,this._libFiles=e})),this._fetchLibFilesPromise}}class V extends y{constructor(e,t,o,i){super(i),this._libFiles=e,this._defaults=t,this._selector=o,this._disposables=[],this._listener=Object.create(null);const l=s=>{if(s.getLanguageId()!==o)return;const u=()=>{const{onlyVisible:b}=this._defaults.getDiagnosticsOptions();b?s.isAttachedToEditor()&&this._doValidate(s):this._doValidate(s)};let d;const g=s.onDidChangeContent(()=>{clearTimeout(d),d=window.setTimeout(u,500)}),m=s.onDidChangeAttached(()=>{const{onlyVisible:b}=this._defaults.getDiagnosticsOptions();b&&(s.isAttachedToEditor()?u():w.setModelMarkers(s,this._selector,[]))});this._listener[s.uri.toString()]={dispose(){g.dispose(),m.dispose(),clearTimeout(d)}},u()},p=s=>{w.setModelMarkers(s,this._selector,[]);const u=s.uri.toString();this._listener[u]&&(this._listener[u].dispose(),delete this._listener[u])};this._disposables.push(w.onDidCreateModel(s=>l(s))),this._disposables.push(w.onWillDisposeModel(p)),this._disposables.push(w.onDidChangeModelLanguage(s=>{p(s.model),l(s.model)})),this._disposables.push({dispose(){for(const s of w.getModels())p(s)}});const n=()=>{for(const s of w.getModels())p(s),l(s)};this._disposables.push(this._defaults.onDidChange(n)),this._disposables.push(this._defaults.onDidExtraLibsChange(n)),w.getModels().forEach(s=>l(s))}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables=[]}async _doValidate(e){const t=await this._worker(e.uri);if(e.isDisposed())return;const o=[],{noSyntaxValidation:i,noSemanticValidation:l,noSuggestionDiagnostics:p}=this._defaults.getDiagnosticsOptions();i||o.push(t.getSyntacticDiagnostics(e.uri.toString())),l||o.push(t.getSemanticDiagnostics(e.uri.toString())),p||o.push(t.getSuggestionDiagnostics(e.uri.toString()));const n=await Promise.all(o);if(!n||e.isDisposed())return;const s=n.reduce((d,g)=>g.concat(d),[]).filter(d=>(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(d.code)===-1),u=s.map(d=>d.relatedInformation||[]).reduce((d,g)=>g.concat(d),[]).map(d=>d.file?F.parse(d.file.fileName):null);await this._libFiles.fetchLibFilesIfNecessary(u),!e.isDisposed()&&w.setModelMarkers(e,this._selector,s.map(d=>this._convertDiagnostics(e,d)))}_convertDiagnostics(e,t){const o=t.start||0,i=t.length||1,{lineNumber:l,column:p}=e.getPositionAt(o),{lineNumber:n,column:s}=e.getPositionAt(o+i),u=[];return t.reportsUnnecessary&&u.push(P.Unnecessary),t.reportsDeprecated&&u.push(P.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(t.category),startLineNumber:l,startColumn:p,endLineNumber:n,endColumn:s,message:A(t.messageText,`
|
|
2
|
+
`),code:t.code.toString(),tags:u,relatedInformation:this._convertRelatedInformation(e,t.relatedInformation)}}_convertRelatedInformation(e,t){if(!t)return[];const o=[];return t.forEach(i=>{let l=e;if(i.file&&(l=this._libFiles.getOrCreateModel(i.file.fileName)),!l)return;const p=i.start||0,n=i.length||1,{lineNumber:s,column:u}=l.getPositionAt(p),{lineNumber:d,column:g}=l.getPositionAt(p+n);o.push({resource:l.uri,startLineNumber:s,startColumn:u,endLineNumber:d,endColumn:g,message:A(i.messageText,`
|
|
3
|
+
`)})}),o}_tsDiagnosticCategoryToMarkerSeverity(e){switch(e){case 1:return v.Error;case 3:return v.Info;case 0:return v.Warning;case 2:return v.Hint}return v.Info}}class C extends y{get triggerCharacters(){return["."]}async provideCompletionItems(e,t,o,i){const l=e.getWordUntilPosition(t),p=new O(t.lineNumber,l.startColumn,t.lineNumber,l.endColumn),n=e.uri,s=e.getOffsetAt(t),u=await this._worker(n);if(e.isDisposed())return;const d=await u.getCompletionsAtPosition(n.toString(),s);return!d||e.isDisposed()?void 0:{suggestions:d.entries.map(m=>{let b=p;if(m.replacementSpan){const x=e.getPositionAt(m.replacementSpan.start),D=e.getPositionAt(m.replacementSpan.start+m.replacementSpan.length);b=new O(x.lineNumber,x.column,D.lineNumber,D.column)}const k=[];return m.kindModifiers!==void 0&&m.kindModifiers.indexOf("deprecated")!==-1&&k.push(f.CompletionItemTag.Deprecated),{uri:n,position:t,offset:s,range:b,label:m.name,insertText:m.name,sortText:m.sortText,kind:C.convertKind(m.kind),tags:k}})}}async resolveCompletionItem(e,t){const o=e,i=o.uri,l=o.position,p=o.offset,s=await(await this._worker(i)).getCompletionEntryDetails(i.toString(),p,o.label);return s?{uri:i,position:l,label:s.name,kind:C.convertKind(s.kind),detail:_(s.displayParts),documentation:{value:C.createDocumentationString(s)}}:o}static convertKind(e){switch(e){case a.primitiveType:case a.keyword:return f.CompletionItemKind.Keyword;case a.variable:case a.localVariable:return f.CompletionItemKind.Variable;case a.memberVariable:case a.memberGetAccessor:case a.memberSetAccessor:return f.CompletionItemKind.Field;case a.function:case a.memberFunction:case a.constructSignature:case a.callSignature:case a.indexSignature:return f.CompletionItemKind.Function;case a.enum:return f.CompletionItemKind.Enum;case a.module:return f.CompletionItemKind.Module;case a.class:return f.CompletionItemKind.Class;case a.interface:return f.CompletionItemKind.Interface;case a.warning:return f.CompletionItemKind.File}return f.CompletionItemKind.Property}static createDocumentationString(e){let t=_(e.documentation);if(e.tags)for(const o of e.tags)t+=`
|
|
4
|
+
|
|
5
|
+
${N(o)}`;return t}}function N(c){let e=`*@${c.name}*`;if(c.name==="param"&&c.text){const[t,...o]=c.text;e+=`\`${t.text}\``,o.length>0&&(e+=` — ${o.map(i=>i.text).join(" ")}`)}else Array.isArray(c.text)?e+=` — ${c.text.map(t=>t.text).join(" ")}`:c.text&&(e+=` — ${c.text}`);return e}class I extends y{constructor(){super(...arguments),this.signatureHelpTriggerCharacters=["(",","]}static _toSignatureHelpTriggerReason(e){switch(e.triggerKind){case f.SignatureHelpTriggerKind.TriggerCharacter:return e.triggerCharacter?e.isRetrigger?{kind:"retrigger",triggerCharacter:e.triggerCharacter}:{kind:"characterTyped",triggerCharacter:e.triggerCharacter}:{kind:"invoked"};case f.SignatureHelpTriggerKind.ContentChange:return e.isRetrigger?{kind:"retrigger"}:{kind:"invoked"};case f.SignatureHelpTriggerKind.Invoke:default:return{kind:"invoked"}}}async provideSignatureHelp(e,t,o,i){const l=e.uri,p=e.getOffsetAt(t),n=await this._worker(l);if(e.isDisposed())return;const s=await n.getSignatureHelpItems(l.toString(),p,{triggerReason:I._toSignatureHelpTriggerReason(i)});if(!s||e.isDisposed())return;const u={activeSignature:s.selectedItemIndex,activeParameter:s.argumentIndex,signatures:[]};return s.items.forEach(d=>{const g={label:"",parameters:[]};g.documentation={value:_(d.documentation)},g.label+=_(d.prefixDisplayParts),d.parameters.forEach((m,b,k)=>{const x=_(m.displayParts),D={label:x,documentation:{value:_(m.documentation)}};g.label+=x,g.parameters.push(D),b<k.length-1&&(g.label+=_(d.separatorDisplayParts))}),g.label+=_(d.suffixDisplayParts),u.signatures.push(g)}),{value:u,dispose(){}}}}class W extends y{async provideHover(e,t,o){const i=e.uri,l=e.getOffsetAt(t),p=await this._worker(i);if(e.isDisposed())return;const n=await p.getQuickInfoAtPosition(i.toString(),l);if(!n||e.isDisposed())return;const s=_(n.documentation),u=n.tags?n.tags.map(g=>N(g)).join(`
|
|
6
|
+
|
|
7
|
+
`):"",d=_(n.displayParts);return{range:this._textSpanToRange(e,n.textSpan),contents:[{value:"```typescript\n"+d+"\n```\n"},{value:s+(u?`
|
|
8
|
+
|
|
9
|
+
`+u:"")}]}}}class j extends y{async provideDocumentHighlights(e,t,o){const i=e.uri,l=e.getOffsetAt(t),p=await this._worker(i);if(e.isDisposed())return;const n=await p.getDocumentHighlights(i.toString(),l,[i.toString()]);if(!(!n||e.isDisposed()))return n.flatMap(s=>s.highlightSpans.map(u=>({range:this._textSpanToRange(e,u.textSpan),kind:u.kind==="writtenReference"?f.DocumentHighlightKind.Write:f.DocumentHighlightKind.Text})))}}class B extends y{constructor(e,t){super(t),this._libFiles=e}async provideDefinition(e,t,o){const i=e.uri,l=e.getOffsetAt(t),p=await this._worker(i);if(e.isDisposed())return;const n=await p.getDefinitionAtPosition(i.toString(),l);if(!n||e.isDisposed()||(await this._libFiles.fetchLibFilesIfNecessary(n.map(u=>F.parse(u.fileName))),e.isDisposed()))return;const s=[];for(let u of n){const d=this._libFiles.getOrCreateModel(u.fileName);d&&s.push({uri:d.uri,range:this._textSpanToRange(d,u.textSpan)})}return s}}class U extends y{constructor(e,t){super(t),this._libFiles=e}async provideReferences(e,t,o,i){const l=e.uri,p=e.getOffsetAt(t),n=await this._worker(l);if(e.isDisposed())return;const s=await n.getReferencesAtPosition(l.toString(),p);if(!s||e.isDisposed()||(await this._libFiles.fetchLibFilesIfNecessary(s.map(d=>F.parse(d.fileName))),e.isDisposed()))return;const u=[];for(let d of s){const g=this._libFiles.getOrCreateModel(d.fileName);g&&u.push({uri:g.uri,range:this._textSpanToRange(g,d.textSpan)})}return u}}class $ extends y{async provideDocumentSymbols(e,t){const o=e.uri,i=await this._worker(o);if(e.isDisposed())return;const l=await i.getNavigationTree(o.toString());if(!l||e.isDisposed())return;const p=(s,u)=>({name:s.text,detail:"",kind:h[s.kind]||f.SymbolKind.Variable,range:this._textSpanToRange(e,s.spans[0]),selectionRange:this._textSpanToRange(e,s.spans[0]),tags:[],children:s.childItems?.map(g=>p(g,s.text)),containerName:u});return l.childItems?l.childItems.map(s=>p(s)):[]}}class a{}a.unknown="";a.keyword="keyword";a.script="script";a.module="module";a.class="class";a.interface="interface";a.type="type";a.enum="enum";a.variable="var";a.localVariable="local var";a.function="function";a.localFunction="local function";a.memberFunction="method";a.memberGetAccessor="getter";a.memberSetAccessor="setter";a.memberVariable="property";a.constructorImplementation="constructor";a.callSignature="call";a.indexSignature="index";a.constructSignature="construct";a.parameter="parameter";a.typeParameter="type parameter";a.primitiveType="primitive type";a.label="label";a.alias="alias";a.const="const";a.let="let";a.warning="warning";let h=Object.create(null);h[a.module]=f.SymbolKind.Module;h[a.class]=f.SymbolKind.Class;h[a.enum]=f.SymbolKind.Enum;h[a.interface]=f.SymbolKind.Interface;h[a.memberFunction]=f.SymbolKind.Method;h[a.memberVariable]=f.SymbolKind.Property;h[a.memberGetAccessor]=f.SymbolKind.Property;h[a.memberSetAccessor]=f.SymbolKind.Property;h[a.variable]=f.SymbolKind.Variable;h[a.const]=f.SymbolKind.Variable;h[a.localVariable]=f.SymbolKind.Variable;h[a.variable]=f.SymbolKind.Variable;h[a.function]=f.SymbolKind.Function;h[a.localFunction]=f.SymbolKind.Function;class S extends y{static _convertOptions(e){return{ConvertTabsToSpaces:e.insertSpaces,TabSize:e.tabSize,IndentSize:e.tabSize,IndentStyle:2,NewLineCharacter:`
|
|
10
|
+
`,InsertSpaceAfterCommaDelimiter:!0,InsertSpaceAfterSemicolonInForStatements:!0,InsertSpaceBeforeAndAfterBinaryOperators:!0,InsertSpaceAfterKeywordsInControlFlowStatements:!0,InsertSpaceAfterFunctionKeywordForAnonymousFunctions:!0,InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:!1,InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:!1,InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:!1,PlaceOpenBraceOnNewLineForControlBlocks:!1,PlaceOpenBraceOnNewLineForFunctions:!1}}_convertTextChanges(e,t){return{text:t.newText,range:this._textSpanToRange(e,t.span)}}}class z extends S{constructor(){super(...arguments),this.canFormatMultipleRanges=!1}async provideDocumentRangeFormattingEdits(e,t,o,i){const l=e.uri,p=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),n=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),s=await this._worker(l);if(e.isDisposed())return;const u=await s.getFormattingEditsForRange(l.toString(),p,n,S._convertOptions(o));if(!(!u||e.isDisposed()))return u.map(d=>this._convertTextChanges(e,d))}}class G extends S{get autoFormatTriggerCharacters(){return[";","}",`
|
|
11
|
+
`]}async provideOnTypeFormattingEdits(e,t,o,i,l){const p=e.uri,n=e.getOffsetAt(t),s=await this._worker(p);if(e.isDisposed())return;const u=await s.getFormattingEditsAfterKeystroke(p.toString(),n,o,S._convertOptions(i));if(!(!u||e.isDisposed()))return u.map(d=>this._convertTextChanges(e,d))}}class J extends S{async provideCodeActions(e,t,o,i){const l=e.uri,p=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),n=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),s=S._convertOptions(e.getOptions()),u=o.markers.filter(b=>b.code).map(b=>b.code).map(Number),d=await this._worker(l);if(e.isDisposed())return;const g=await d.getCodeFixesAtPosition(l.toString(),p,n,u,s);return!g||e.isDisposed()?{actions:[],dispose:()=>{}}:{actions:g.filter(b=>b.changes.filter(k=>k.isNewFile).length===0).map(b=>this._tsCodeFixActionToMonacoCodeAction(e,o,b)),dispose:()=>{}}}_tsCodeFixActionToMonacoCodeAction(e,t,o){const i=[];for(const p of o.changes)for(const n of p.textChanges)i.push({resource:e.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(e,n.span),text:n.newText}});return{title:o.description,edit:{edits:i},diagnostics:t.markers,kind:"quickfix"}}}class Q extends y{constructor(e,t){super(t),this._libFiles=e}async provideRenameEdits(e,t,o,i){const l=e.uri,p=l.toString(),n=e.getOffsetAt(t),s=await this._worker(l);if(e.isDisposed())return;const u=await s.getRenameInfo(p,n,{allowRenameOfImportPath:!1});if(u.canRename===!1)return{edits:[],rejectReason:u.localizedErrorMessage};if(u.fileToRename!==void 0)throw new Error("Renaming files is not supported.");const d=await s.findRenameLocations(p,n,!1,!1,!1);if(!d||e.isDisposed())return;const g=[];for(const m of d){const b=this._libFiles.getOrCreateModel(m.fileName);if(b)g.push({resource:b.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(b,m.textSpan),text:o}});else throw new Error(`Unknown file ${m.fileName}.`)}return{edits:g}}}class q extends y{async provideInlayHints(e,t,o){const i=e.uri,l=i.toString(),p=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),n=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),s=await this._worker(i);return e.isDisposed()?null:{hints:(await s.provideInlayHints(l,p,n)).map(g=>({...g,label:g.text,position:e.getPositionAt(g.position),kind:this._convertHintKind(g.kind)})),dispose:()=>{}}}_convertHintKind(e){switch(e){case"Parameter":return f.InlayHintKind.Parameter;case"Type":return f.InlayHintKind.Type;default:return f.InlayHintKind.Type}}}let T,L;function qe(c){L=R(c,"typescript")}function Xe(c){T=R(c,"javascript")}function Ye(){return new Promise((c,e)=>{if(!T)return e("JavaScript not registered!");c(T)})}function Ze(){return new Promise((c,e)=>{if(!L)return e("TypeScript not registered!");c(L)})}function R(c,e){const t=[],o=new E(e,c),i=(...n)=>o.getLanguageServiceWorker(...n),l=new H(i);function p(){const{modeConfiguration:n}=c;X(t),n.completionItems&&t.push(f.registerCompletionItemProvider(e,new C(i))),n.signatureHelp&&t.push(f.registerSignatureHelpProvider(e,new I(i))),n.hovers&&t.push(f.registerHoverProvider(e,new W(i))),n.documentHighlights&&t.push(f.registerDocumentHighlightProvider(e,new j(i))),n.definitions&&t.push(f.registerDefinitionProvider(e,new B(l,i))),n.references&&t.push(f.registerReferenceProvider(e,new U(l,i))),n.documentSymbols&&t.push(f.registerDocumentSymbolProvider(e,new $(i))),n.rename&&t.push(f.registerRenameProvider(e,new Q(l,i))),n.documentRangeFormattingEdits&&t.push(f.registerDocumentRangeFormattingEditProvider(e,new z(i))),n.onTypeFormattingEdits&&t.push(f.registerOnTypeFormattingEditProvider(e,new G(i))),n.codeActions&&t.push(f.registerCodeActionProvider(e,new J(i))),n.inlayHints&&t.push(f.registerInlayHintsProvider(e,new q(i))),n.diagnostics&&t.push(new V(l,c,e,i))}return p(),i}function X(c){for(;c.length;)c.pop().dispose()}export{y as Adapter,J as CodeActionAdaptor,B as DefinitionAdapter,V as DiagnosticsAdapter,j as DocumentHighlightAdapter,z as FormatAdapter,S as FormatHelper,G as FormatOnTypeAdapter,q as InlayHintsAdapter,a as Kind,H as LibFiles,$ as OutlineAdapter,W as QuickInfoAdapter,U as ReferenceAdapter,Q as RenameAdapter,I as SignatureHelpAdapter,C as SuggestAdapter,E as WorkerManager,A as flattenDiagnosticMessageText,Ye as getJavaScriptWorker,Ze as getTypeScriptWorker,Xe as setupJavaScript,qe as setupTypeScript};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{l as e}from"./monaco-BbAmalE2.js";import"./TaskHandoffPanel-CxH3Mgyd.js";import"./index-Cc3qXMhU.js";import"./ProjectKanbanPage-soDqevjQ.js";import"./confirm-dialog-DWeBZLJW.js";import"./dialog-D1lkhqVL.js";import"./index-DWrSDMX2.js";import"./BranchSelect-BAq4L2ZS.js";import"./popover-CUmBEXxL.js";import"./kbd-IjDGsZ2B.js";import"./search-ClmOQd4H.js";import"./index-DyJfPc4O.js";import"./index-Disv1kQS.js";import"./menu-styles-DWynpVVz.js";import"./chevron-down-DNhYsNAt.js";import"./check-DaZqOL8l.js";import"./CreateTaskInput-DjVxCAfc.js";import"./AttachmentPreview-DMS-PM-1.js";import"./tooltip-DuyJMci9.js";import"./index-Pt4TsHjm.js";import"./MemberAvatar-BLezO3vS.js";import"./people-DEeNaaLt.js";import"./BrandLogo--kWXXJtZ.js";import"./index-hpHE1jXY.js";import"./index-BMZFF1UJ.js";import"./use-providers-Dv1Nk6s7.js";import"./trash-2-CIyBqaVy.js";import"./ExecutionPermissionSelector-f1UYIm1z.js";import"./paperclip-YP3Bk1lI.js";import"./chip-Cf92J-pQ.js";import"./message-square-BE-pW0m_.js";import"./layers-Pdy9vZ6K.js";import"./copy-D0gl9kF8.js";import"./provider-selection-DSu7SCI7.js";import"./folder-picker-Czxm0_S9.js";import"./modal-CHLtZWvx.js";import"./mermaid-NOHMQCX5-nBsnjgeU.js";import"./use-translation-settings-CcUnipVO.js";import"./chevron-up-CjrLieBR.js";import"./at-sign-DYPIlD6D.js";import"./useTokenUsage-CZ5mDshD.js";import"./menu-DubntFHq.js";import"./select-BB7QG08o.js";import"./select-CYtYPr-c.js";import"./index-T38iVLEb.js";import"./textarea-BqYPvoO-.js";import"./content-JM9E1MeD.js";import"./file-BijjwxRR.js";import"./server-bEB_DY55.js";import"./upload-D05XS5-G.js";import"./globe-Ce01-45x.js";import"./pencil-BFDuhbtW.js";const Y={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:e.IndentAction.IndentOutdent,appendText:" * "}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:e.IndentAction.None,appendText:" * "}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:e.IndentAction.None,appendText:"* "}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:e.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],folding:{markers:{start:new RegExp("^\\s*//\\s*#?region\\b"),end:new RegExp("^\\s*//\\s*#?endregion\\b")}}},ee={defaultToken:"invalid",tokenPostfix:".ts",keywords:["abstract","any","as","asserts","bigint","boolean","break","case","catch","class","continue","const","constructor","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","infer","instanceof","interface","is","keyof","let","module","namespace","never","new","null","number","object","out","package","private","protected","public","override","readonly","require","global","return","satisfies","set","static","string","super","switch","symbol","this","throw","true","try","type","typeof","undefined","unique","unknown","var","void","while","with","yield","async","await","of"],operators:["<=",">=","==","!=","===","!==","=>","+","-","**","*","/","%","++","--","<<","</",">>",">>>","&","|","^","!","~","&&","||","??","?",":","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=","@"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,regexpctl:/[(){}\[\]\$\^|\-*+?\.]/,regexpesc:/\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,tokenizer:{root:[[/[{}]/,"delimiter.bracket"],{include:"common"}],common:[[/#?[a-z_$][\w$]*/,{cases:{"@keywords":"keyword","@default":"identifier"}}],[/[A-Z][\w\$]*/,"type.identifier"],{include:"@whitespace"},[/\/(?=([^\\\/]|\\.)+\/([dgimsuy]*)(\s*)(\.|;|,|\)|\]|\}|$))/,{token:"regexp",bracket:"@open",next:"@regexp"}],[/[()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/!(?=([^=]|$))/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)n?/,"number.hex"],[/0[oO]?(@octaldigits)n?/,"number.octal"],[/0[bB](@binarydigits)n?/,"number.binary"],[/(@digits)n?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"],[/`/,"string","@string_backtick"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],[/(\/)([dgimsuy]*)/,[{token:"regexp",bracket:"@close",next:"@pop"},"keyword.other"]]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,{token:"regexp.escape.control",next:"@pop",bracket:"@close"}]],string_double:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],string_single:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"]],string_backtick:[[/\$\{/,{token:"delimiter.bracket",next:"@bracketCounting"}],[/[^\\`$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/`/,"string","@pop"]],bracketCounting:[[/\{/,"delimiter.bracket","@bracketCounting"],[/\}/,"delimiter.bracket","@pop"],{include:"common"}]}};export{Y as conf,ee as language};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as a}from"./index-
|
|
1
|
+
import{c as a}from"./index-Cc3qXMhU.js";const o=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],t=a("upload",o);export{t as U};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{m as n,o as i,n as a,q as s,p as r}from"./index-Cc3qXMhU.js";function f(){return n({queryKey:s.profiles.all,queryFn:()=>r.get("/profiles")})}function y(){return n({queryKey:s.profiles.defaults,queryFn:()=>r.get("/profiles/defaults")})}function c(e){return n({queryKey:s.profiles.agent(e),queryFn:()=>r.get(`/profiles/${e}`),enabled:!!e})}function p(){const e=i();return a({mutationFn:({agentType:u,variant:t,config:l})=>r.put(`/profiles/${u}/${t}`,l),onSuccess:()=>{e.invalidateQueries({queryKey:s.profiles.all})}})}function q(){const e=i();return a({mutationFn:({agentType:u,variant:t})=>r.delete(`/profiles/${u}/${t}`),onSuccess:()=>{e.invalidateQueries({queryKey:s.profiles.all})}})}export{y as a,p as b,q as c,c as d,f as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{m as p,n as u,o as a,q as t,p as s}from"./index-Cc3qXMhU.js";function l(){return p({queryKey:t.providers.all,queryFn:()=>s.get("/providers")})}function c(e,r,i){const n=r?.trim()||void 0;return p({queryKey:t.providers.capabilities(e,n,i?.providerId,i?.runtimeType,i?.config,i?.settings),queryFn:()=>{if(i?.config!==void 0)return s.post("/providers/capabilities",{agentType:e,model:n,providerId:i.providerId,runtimeType:i.runtimeType,config:i.config,settings:i.settings});const o=new URLSearchParams;e&&o.set("agentType",e),n&&o.set("model",n),i?.providerId&&o.set("providerId",i.providerId),i?.runtimeType&&o.set("runtimeType",i.runtimeType);const d=o.toString();return s.get(`/providers/capabilities${d?`?${d}`:""}`)},staleTime:300*1e3})}function m(){const e=a();return u({mutationFn:r=>s.post("/providers",r),onSuccess:r=>{e.setQueryData(t.providers.detail(r.id),r),e.invalidateQueries({queryKey:t.providers.all})}})}function y(){const e=a();return u({mutationFn:({id:r,data:i})=>s.put(`/providers/${r}`,i),onSuccess:r=>{e.setQueryData(t.providers.detail(r.id),r),e.invalidateQueries({queryKey:t.providers.all}),e.invalidateQueries({queryKey:t.providers.detail(r.id)})}})}function f(){return u({mutationFn:e=>s.post("/providers/test",e)})}function q(){const e=a();return u({mutationFn:r=>s.delete(`/providers/${r}`),onSuccess:()=>{e.invalidateQueries({queryKey:t.providers.all})}})}function P(){return u({mutationFn:()=>s.get("/providers/backup")})}function g(){return u({mutationFn:e=>s.post("/providers/import/preview",e)})}function F(){const e=a();return u({mutationFn:r=>s.post("/providers/import",r),onSuccess:()=>{e.invalidateQueries({queryKey:t.providers.all})}})}export{f as a,c as b,m as c,y as d,q as e,P as f,g,F as h,l as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{m as u,J as R,q as h,p as O}from"./index-Cc3qXMhU.js";function y(e){const{id:a,revision:n,enableEpoch:r,credentialRevision:i,keyConfigured:s,enabled:o,apiBaseUrl:l,model:T,sendTargetLanguage:E,displayTargetLanguage:c,promptTemplate:d,maxConcurrency:g}=e;return{id:a,revision:n,enableEpoch:r,credentialRevision:i,keyConfigured:s,enabled:o,apiBaseUrl:l,model:T,sendTargetLanguage:E,displayTargetLanguage:c,promptTemplate:d,maxConcurrency:g}}function A(){return u({queryKey:h.translationSettings.detail,queryFn:async({signal:e})=>y(await O.get("/translation-settings",{signal:e}))})}const t={AUTH_FAILED:"Translation credential was rejected. Check the API key.",MODEL_CONFIG_ERROR:"Check the translation base URL and model.",INVALID_CONFIG:"Complete the translation configuration and credential choice.",INVALID_TEMPLATE:"The template must contain only {{target_language}} and {{text}}, including both variables.",VALIDATION_ERROR:"Check the translation fields and credential choice.",TIMEOUT:"The translation request timed out. Try again.",NETWORK_ERROR:"Could not connect to the translation service.",RATE_LIMITED:"The translation service is busy. Try again later.",QUEUE_FULL:"The translation queue is full. Try again later.",TRANSLATION_CLOSED:"Translation testing is temporarily unavailable.",CANCELLED:"The translation request was cancelled.",PAYLOAD_TOO_LARGE:"The translation text is too large.",PROTECTION_FAILED:"The translation changed protected content. The original is preserved.",EMPTY_RESPONSE:"The translation service returned no usable text.",INVALID_RESPONSE:"The translation service returned no usable text.",TRUNCATED_RESPONSE:"The translation service returned incomplete text.",RESPONSE_TOO_LARGE:"The translation response is too large.",UPSTREAM_ERROR:"The translation service returned an error. Try again later.",INTERNAL_ERROR:"An internal translation error occurred. Try again.",RETRY_BUDGET_EXHAUSTED:"Translation retry limit reached. Try again manually.",CONFIG_CIRCUIT_OPEN:"Translation is paused after a configuration error. Check the API key, base URL and model.",DISABLED:"Translation is disabled. Enable it to retry.",INTERRUPTED:"Translation was interrupted. Try again.",LEASE_EXPIRED:"The translation attempt expired. Try again.",SOURCE_CHANGED:"The original text changed. Retry the current text.",SOURCE_DELETED:"The original message is no longer available.",SOURCE_OR_LEASE_REVOKED:"The original message or translation attempt is no longer valid. Try again."};function p(e){const a=typeof e=="string"?e:e instanceof R?e.details.code:void 0;return typeof a=="string"&&Object.hasOwn(t,a)?t[a]:"Translation request failed. Check the service and try again."}export{y as p,p as t,A as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as oe,j as o,ad as Ie,a4 as Ce,at as Oe,n as V,aW as ke,r,aX as je,ae as L,ao as X,af as T,ag as _e,aY as Le,aZ as qe,v as Pe}from"./index-BR3Wg2fS.js";import{T as De}from"./track-BeqaPopG.js";import{C as Me}from"./chevron-down-BoS08pMa.js";import{b as q,E as ze,n as $e,c as Be,e as Ye}from"./mermaid-NOHMQCX5-CG_LpwAI.js";function Fe({error:t,onRetry:e,title:n,description:u,className:a}){const{t:c}=oe();return o.jsxs("div",{role:"alert",className:V("flex min-h-0 flex-1 flex-col items-center justify-center gap-3 px-6 py-12 text-center",a),children:[o.jsx("div",{className:"flex h-10 w-10 items-center justify-center rounded-full border border-destructive/20 bg-destructive/10 text-destructive",children:o.jsx(Ie,{size:18})}),o.jsxs("div",{className:"space-y-1",children:[o.jsx("p",{className:"text-sm font-medium text-foreground",children:n??c("Something went wrong")}),o.jsx("p",{className:"max-w-md text-xs text-muted-foreground",children:u??c("This section hit a rendering error and was replaced by this message.")})]}),o.jsx("p",{className:"max-w-xl truncate rounded-md border border-border/60 bg-muted/40 px-2 py-1 font-mono text-xs text-muted-foreground",title:t.message||t.name,children:t.message||t.name}),o.jsx("p",{className:"max-w-md text-xs text-muted-foreground",children:c("Only rendering errors are caught here. Errors from event handlers, async callbacks or observers are not.")}),o.jsxs(Ce,{size:"sm",onClick:e,children:[o.jsx(Oe,{}),c("Retry")]})]})}function tt({children:t}){const{t:e}=oe();return o.jsx(ke,{source:"log-view",fallback:({error:n,reset:u})=>o.jsx(Fe,{title:e("Failed to display logs"),description:e("The log view hit a rendering error. Retry renders the same data again, so it will fail again while the bad data is still there."),error:n,onRetry:u}),children:t})}const ue="agent-tower-todo-panel-open";function Ge(t){const e=(t||"").toLowerCase();return e==="completed"?"done":e==="in_progress"||e==="in-progress"?"doing":e==="cancelled"?"cancelled":"todo"}function st({todos:t,compact:e}){const{t:n}=oe(),[u,a]=r.useState(()=>{if(e)return!1;const f=localStorage.getItem(ue);return f===null?!0:f==="true"});if(r.useEffect(()=>{localStorage.setItem(ue,String(u))},[u]),!t||t.length===0)return null;const c=t.filter(f=>f.status?.toLowerCase()==="completed").length;return o.jsxs("details",{className:"group",open:u,onToggle:f=>a(f.target.open),children:[o.jsx("summary",{className:"list-none cursor-pointer select-none [&::-webkit-details-marker]:hidden",children:o.jsxs("div",{className:V("flex items-center justify-between rounded-lg border border-border/60 bg-muted/50 transition-colors hover:bg-muted",e?"px-3 py-1.5":"px-3 py-2"),children:[o.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[o.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:n("待办")}),o.jsxs("span",{className:"text-xs tabular-nums text-muted-foreground",children:[c,"/",t.length]}),o.jsx(De,{value:c,max:t.length,size:"xs",className:"w-12"})]}),o.jsx(Me,{"aria-hidden":!0,className:V("text-muted-foreground transition-transform group-open:rotate-180",e?"size-3":"size-3.5")})]})}),o.jsx("div",{className:`pt-1.5 pb-0.5 ${e?"max-h-28 overflow-y-auto px-1":"px-1"}`,children:o.jsx("ul",{className:"space-y-px",role:"list","aria-label":"Agent todo list",children:t.map((f,v)=>{const y=Ge(f.status),$=y==="done"||y==="cancelled";return o.jsxs("li",{className:V("flex items-center gap-1.5 rounded-md px-2",e?"py-0.5":"py-[3px]"),children:[o.jsx(je,{state:y,className:e?"size-3":"size-3.5"}),o.jsx("span",{className:V("truncate text-xs leading-4",$?"text-muted-foreground line-through decoration-foreground/30":"text-foreground/80"),children:f.content})]},`${f.content}-${v}`)})})})]})}function nt(t){return r.useMemo(()=>{let e=[],n=0;for(const a of t)if(a.entryType==="tool_use"&&a.metadata?.action==="todo_management"&&a.metadata.todos&&a.metadata.todos.length>0){const c=a.metadata.todos;c.every(v=>v.content&&v.content.trim().length>0&&v.status)&&a.timestamp>=n&&(e=c,n=a.timestamp)}const u=e.find(a=>{const c=a.status?.toLowerCase();return c==="in_progress"||c==="in-progress"})??null;return{todos:e,inProgressTodo:u}},[t])}const Ue=!1,He=1500,le=[250,1e3,3e3],Ve=1e4;function me(t){return t instanceof DOMException&&t.name==="AbortError"}function Xe(t){if(me(t))return!1;const e=typeof t=="object"&&t!==null&&"status"in t?t.status:void 0;return typeof e!="number"?!0:e===408||e===429||e>=500}function Ke(t,e){return new Promise(n=>{if(e.aborted){n(!1);return}const u=window.setTimeout(()=>{e.removeEventListener("abort",a),n(!0)},t),a=()=>{window.clearTimeout(u),n(!1)};e.addEventListener("abort",a,{once:!0})})}function z(t){return t===X.COMPLETED||t===X.FAILED||t===X.CANCELLED}function We(t){return typeof t?.seq=="number"?t.seq:0}function de(t){return!z(t)}function ge(t){return t.entryType==="user_message"||t.entryType==="user_feedback"}function he(t){return!ge(t)&&t.entryType!=="loading"&&t.entryType!=="token_usage_info"&&t.content.trim()!==""}function re(t,e){let n=e,u,a;for(const c of t)a??=c.timestamp,ge(c)?(n=c.timestamp,u=void 0):he(c)&&(n??=c.timestamp,u=c.timestamp);return{processingStartedAt:n??a,lastOutputAt:u}}function fe(t){if(typeof t=="number")return Number.isFinite(t)?t:void 0;if(typeof t!="string"||t.trim()==="")return;const e=Date.parse(t);return Number.isNaN(e)?void 0:e}function pe(t,e){return t.some(n=>{if(n.op==="remove")return!1;const u=n.path.match(/^\/entries\/(\d+)(?:\/|$)/);if(!u)return!1;const a=e[Number(u[1])];return a?he(a):!1})}function rt(t){const{sessionId:e,sessionStatus:n,sessionStartedAt:u,sessionEndedAt:a,onAgentSessionId:c,onExit:f,onError:v}=t,y=fe(u),$=fe(a),[Se,K]=r.useState(()=>L.isConnected()),[Q,N]=r.useState(!1),[xe,ae]=r.useState(!1),[Ee,ee]=r.useState(null),[ce,I]=r.useState(!1),[Ae,B]=r.useState(()=>!z(n)),[ve,C]=r.useState(()=>$??null),Y=q(r.useCallback(s=>s.conversations[e]??ze,[e])),h=r.useRef(!1),P=r.useRef({}),O=r.useRef(null),F=r.useRef(new Map),G=r.useRef(new Map),R=r.useRef(0),te=r.useRef(y);te.current=y;const k=r.useRef({sessionId:e});k.current.sessionId!==e&&(k.current={sessionId:e});const U=r.useRef(e);U.current=e;const W=r.useRef({onAgentSessionId:c,onExit:f,onError:v});W.current={onAgentSessionId:c,onExit:f,onError:v};const Z=r.useRef(n);Z.current=n,r.useEffect(()=>{z(n)?(B(!1),C($??null)):((n===X.RUNNING||n===X.PENDING)&&B(!0),C(null))},[e,n,$]),r.useEffect(()=>{if(!e)return;const s=L.getSocket(),d=P.current,l=F.current,g=G.current;K(s.connected);let j=!z(n);const S=()=>{R.current+=1,K(!0),O.current?.()},p=()=>{R.current+=1,K(!1),N(!1),h.current=!1,d[e]=[],l.get(e)?.controller.abort();const i=g.get(e);i!==void 0&&(window.clearTimeout(i),g.delete(e))},ne=i=>{if(i.sessionId!==e)return;if(B(!0),C(null),!h.current){d[e]=[...d[e]??[],i],O.current?.();return}const D=q.getState();if(!D.applyPatch(e,i.patch,i.seq)){h.current=!1,d[e]=[],O.current?.();return}const x=D.getConversation(e)?.entries??[],E=re(x,te.current);k.current.processingStartedAt!==E?.processingStartedAt&&(k.current={sessionId:e,processingStartedAt:E?.processingStartedAt}),pe(i.patch,x)&&(k.current.lastOutputAt=Date.now()),I(!0)},H=i=>{i.sessionId===e&&(ee(i.agentSessionId),W.current.onAgentSessionId?.(i.agentSessionId))},b=i=>{i.sessionId===e&&(j=!1,N(!1),I(!1),B(!1),C(Date.now()),W.current.onExit?.(i.exitCode))},_=i=>{i.sessionId===e&&W.current.onError?.(i.message)};return s.on("connect",S),s.on("disconnect",p),s.on(T.SESSION_PATCH,ne),s.on(T.SESSION_ID,H),s.on(T.SESSION_EXIT,b),s.on(T.SESSION_ERROR,_),K(s.connected),()=>{s.off("connect",S),s.off("disconnect",p),s.off(T.SESSION_PATCH,ne),s.off(T.SESSION_ID,H),s.off(T.SESSION_EXIT,b),s.off(T.SESSION_ERROR,_),R.current+=1,l.get(e)?.controller.abort();const i=g.get(e);i!==void 0&&(window.clearTimeout(i),g.delete(e)),h.current=!1,d[e]=[],ee(null),I(!1),C(null),N(!1),j||q.getState().truncateSession(e)}},[e]);const se=r.useCallback(()=>{if(!e)return Promise.resolve(!1);const s=e,d=R.current,l=()=>U.current===s,g=F.current.get(s);if(g)return g.epoch!==d&&(g.reloadRequested=!0,g.controller.abort()),g.promise;const j=G.current.get(s);j!==void 0&&(window.clearTimeout(j),G.current.delete(s));const S=new AbortController,p={controller:S,epoch:d,promise:Promise.resolve(!1),reloadRequested:!1},H=(async()=>{const b=q.getState(),_=b.conversations[s];_&&_.entries.length>0&&(b.touchAccess(s),l()&&I(de(Z.current))),l()&&(h.current=!1,N(!1));const i=_&&_.entries.length>0;l()&&ae(!i);for(let D=0;D<=le.length;D+=1){const M=L.getSocket();if(S.signal.aborted||!M.connected||!l()||p.epoch!==R.current)return!1;P.current[s]=[];try{const x=$e(await Pe.get(`/sessions/${s}/logs`,{cache:"no-store",signal:S.signal}));if(S.signal.aborted||!M.connected||!l()||p.epoch!==R.current)return p.reloadRequested=M.connected&&l(),!1;const E=P.current[s]??[];P.current[s]=[];let A=x,w=We(x);for(const m of E){if(typeof m.seq=="number"){if(m.seq<=w)continue;if(m.seq!==w+1)throw new Error(`Buffered patch sequence gap: expected ${w+1}, received ${m.seq}`)}const J=Be(A,m.patch);if(!J.ok)throw new Error(`Buffered conversation patch rejected (${J.kind}): ${J.reason}`);A=J.conversation,typeof m.seq=="number"&&m.seq>w&&(w=m.seq)}A={...A,seq:w,isTruncated:!1};const Te=re(A.entries,te.current);k.current={sessionId:s,processingStartedAt:Te?.processingStartedAt,lastOutputAt:E.some(m=>pe(m.patch,A.entries))?Date.now():void 0};const Ne=b.getConversation(s);if(E.length>0||Ye(Ne,A)?b.setConversation(s,A):b.touchAccess(s),l()){h.current=!0,N(!0);const m=q.getState().getConversation(s);m&&m.entries.length>0&&I(de(Z.current))}return!0}catch(x){if(S.signal.aborted||me(x))return!1;if(!l()||p.epoch!==R.current||!M.connected)return p.reloadRequested=M.connected&&l(),!1;if(console.error("[useNormalizedLogs:loadSnapshot] Failed to reconcile snapshot:",x),P.current[s]=[],h.current=!1,N(!1),I(!1),!Xe(x))return!1;const E=le[D];if(E===void 0){const ie=p.epoch,w=window.setTimeout(()=>{G.current.delete(s),U.current===s&&R.current===ie&&L.getSocket().connected&&O.current?.()},Ve);return G.current.set(s,w),!1}if(!await Ke(E,S.signal))return!1}}return!1})().finally(()=>{F.current.get(s)===p&&F.current.delete(s),p.reloadRequested&&U.current===s&&L.getSocket().connected&&queueMicrotask(()=>{O.current?.()}),U.current===s&&ae(!1)});return p.promise=H,F.current.set(s,p),H},[e]);O.current=se;const ye=r.useCallback(()=>new Promise(s=>{if(!L.getSocket().connected){s(!1);return}if(h.current){const l=q.getState().getConversation(e);if(!(z(Z.current)||l?.isTruncated===!0)){s(!0);return}}se().then(s)}),[e,se]);r.useEffect(()=>{if(!e||!z(n))return;const s=window.setTimeout(()=>{O.current?.()},He);return()=>window.clearTimeout(s)},[e,n]);const Re=r.useCallback(s=>{L.getSocket().emit(_e.INPUT,{sessionId:e,data:s})},[e]),be=r.useCallback(()=>{q.getState().removeSession(e),ee(null),I(!1),B(!1),C(null),N(!1),h.current=!1,P.current[e]=[]},[e]),we=r.useMemo(()=>{const s=Le(Y.entries);if(ce&&Q){const d=re(Y.entries,y),l=k.current,j=l.sessionId===e&&l.processingStartedAt===d?.processingStartedAt&&l.lastOutputAt?Math.max(l.lastOutputAt,d?.lastOutputAt??0):d?.lastOutputAt;s.push(qe({processingStartedAt:d?.processingStartedAt,lastOutputAt:j}))}return s},[Y.entries,ce,Q,e,y]);return{isConnected:Se,isAttached:Q,isLoadingSnapshot:xe&&Y.entries.length===0,isOutputActive:Ae,lastExitAt:ve,logs:we,entries:Y.entries,agentSessionId:Ee,attach:ye,sendInput:Re,clearLogs:be}}export{tt as L,st as T,nt as a,rt as u};
|
|
1
|
+
import{u as oe,j as o,ae as Ie,a5 as Ce,au as Oe,l as V,aZ as ke,r,a_ as je,af as L,ap as K,ag as T,ah as _e,a$ as Le,b0 as qe,p as Pe}from"./index-Cc3qXMhU.js";import{T as De}from"./track-DCjyrv3n.js";import{C as Me}from"./chevron-down-DNhYsNAt.js";import{u as q,E as ze,n as $e,b as Be,c as Fe}from"./mermaid-NOHMQCX5-nBsnjgeU.js";function Ye({error:t,onRetry:e,title:n,description:u,className:a}){const{t:c}=oe();return o.jsxs("div",{role:"alert",className:V("flex min-h-0 flex-1 flex-col items-center justify-center gap-3 px-6 py-12 text-center",a),children:[o.jsx("div",{className:"flex h-10 w-10 items-center justify-center rounded-full border border-destructive/20 bg-destructive/10 text-destructive",children:o.jsx(Ie,{size:18})}),o.jsxs("div",{className:"space-y-1",children:[o.jsx("p",{className:"text-sm font-medium text-foreground",children:n??c("Something went wrong")}),o.jsx("p",{className:"max-w-md text-xs text-muted-foreground",children:u??c("This section hit a rendering error and was replaced by this message.")})]}),o.jsx("p",{className:"max-w-xl truncate rounded-md border border-border/60 bg-muted/40 px-2 py-1 font-mono text-xs text-muted-foreground",title:t.message||t.name,children:t.message||t.name}),o.jsx("p",{className:"max-w-md text-xs text-muted-foreground",children:c("Only rendering errors are caught here. Errors from event handlers, async callbacks or observers are not.")}),o.jsxs(Ce,{size:"sm",onClick:e,children:[o.jsx(Oe,{}),c("Retry")]})]})}function tt({children:t}){const{t:e}=oe();return o.jsx(ke,{source:"log-view",fallback:({error:n,reset:u})=>o.jsx(Ye,{title:e("Failed to display logs"),description:e("The log view hit a rendering error. Retry renders the same data again, so it will fail again while the bad data is still there."),error:n,onRetry:u}),children:t})}const ue="agent-tower-todo-panel-open";function Ge(t){const e=(t||"").toLowerCase();return e==="completed"?"done":e==="in_progress"||e==="in-progress"?"doing":e==="cancelled"?"cancelled":"todo"}function st({todos:t,compact:e}){const{t:n}=oe(),[u,a]=r.useState(()=>{if(e)return!1;const f=localStorage.getItem(ue);return f===null?!0:f==="true"});if(r.useEffect(()=>{localStorage.setItem(ue,String(u))},[u]),!t||t.length===0)return null;const c=t.filter(f=>f.status?.toLowerCase()==="completed").length;return o.jsxs("details",{className:"group",open:u,onToggle:f=>a(f.target.open),children:[o.jsx("summary",{className:"list-none cursor-pointer select-none [&::-webkit-details-marker]:hidden",children:o.jsxs("div",{className:V("flex items-center justify-between rounded-lg border border-border/60 bg-muted/50 transition-colors hover:bg-muted",e?"px-3 py-1.5":"px-3 py-2"),children:[o.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[o.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:n("待办")}),o.jsxs("span",{className:"text-xs tabular-nums text-muted-foreground",children:[c,"/",t.length]}),o.jsx(De,{value:c,max:t.length,size:"xs",className:"w-12"})]}),o.jsx(Me,{"aria-hidden":!0,className:V("text-muted-foreground transition-transform group-open:rotate-180",e?"size-3":"size-3.5")})]})}),o.jsx("div",{className:`pt-1.5 pb-0.5 ${e?"max-h-28 overflow-y-auto px-1":"px-1"}`,children:o.jsx("ul",{className:"space-y-px",role:"list","aria-label":"Agent todo list",children:t.map((f,v)=>{const y=Ge(f.status),$=y==="done"||y==="cancelled";return o.jsxs("li",{className:V("flex items-center gap-1.5 rounded-md px-2",e?"py-0.5":"py-[3px]"),children:[o.jsx(je,{state:y,className:e?"size-3":"size-3.5"}),o.jsx("span",{className:V("truncate text-xs leading-4",$?"text-muted-foreground line-through decoration-foreground/30":"text-foreground/80"),children:f.content})]},`${f.content}-${v}`)})})})]})}function nt(t){return r.useMemo(()=>{let e=[],n=0;for(const a of t)if(a.entryType==="tool_use"&&a.metadata?.action==="todo_management"&&a.metadata.todos&&a.metadata.todos.length>0){const c=a.metadata.todos;c.every(v=>v.content&&v.content.trim().length>0&&v.status)&&a.timestamp>=n&&(e=c,n=a.timestamp)}const u=e.find(a=>{const c=a.status?.toLowerCase();return c==="in_progress"||c==="in-progress"})??null;return{todos:e,inProgressTodo:u}},[t])}const Ue=!1,He=1500,le=[250,1e3,3e3],Ve=1e4;function me(t){return t instanceof DOMException&&t.name==="AbortError"}function Ke(t){if(me(t))return!1;const e=typeof t=="object"&&t!==null&&"status"in t?t.status:void 0;return typeof e!="number"?!0:e===408||e===429||e>=500}function Xe(t,e){return new Promise(n=>{if(e.aborted){n(!1);return}const u=window.setTimeout(()=>{e.removeEventListener("abort",a),n(!0)},t),a=()=>{window.clearTimeout(u),n(!1)};e.addEventListener("abort",a,{once:!0})})}function z(t){return t===K.COMPLETED||t===K.FAILED||t===K.CANCELLED}function We(t){return typeof t?.seq=="number"?t.seq:0}function de(t){return!z(t)}function ge(t){return t.entryType==="user_message"||t.entryType==="user_feedback"}function he(t){return!ge(t)&&t.entryType!=="loading"&&t.entryType!=="token_usage_info"&&t.content.trim()!==""}function re(t,e){let n=e,u,a;for(const c of t)a??=c.timestamp,ge(c)?(n=c.timestamp,u=void 0):he(c)&&(n??=c.timestamp,u=c.timestamp);return{processingStartedAt:n??a,lastOutputAt:u}}function fe(t){if(typeof t=="number")return Number.isFinite(t)?t:void 0;if(typeof t!="string"||t.trim()==="")return;const e=Date.parse(t);return Number.isNaN(e)?void 0:e}function pe(t,e){return t.some(n=>{if(n.op==="remove")return!1;const u=n.path.match(/^\/entries\/(\d+)(?:\/|$)/);if(!u)return!1;const a=e[Number(u[1])];return a?he(a):!1})}function rt(t){const{sessionId:e,sessionStatus:n,sessionStartedAt:u,sessionEndedAt:a,onAgentSessionId:c,onExit:f,onError:v}=t,y=fe(u),$=fe(a),[Se,X]=r.useState(()=>L.isConnected()),[Q,N]=r.useState(!1),[xe,ae]=r.useState(!1),[Ee,ee]=r.useState(null),[ce,I]=r.useState(!1),[Ae,B]=r.useState(()=>!z(n)),[ve,C]=r.useState(()=>$??null),F=q(r.useCallback(s=>s.conversations[e]??ze,[e])),h=r.useRef(!1),P=r.useRef({}),O=r.useRef(null),Y=r.useRef(new Map),G=r.useRef(new Map),R=r.useRef(0),te=r.useRef(y);te.current=y;const k=r.useRef({sessionId:e});k.current.sessionId!==e&&(k.current={sessionId:e});const U=r.useRef(e);U.current=e;const W=r.useRef({onAgentSessionId:c,onExit:f,onError:v});W.current={onAgentSessionId:c,onExit:f,onError:v};const Z=r.useRef(n);Z.current=n,r.useEffect(()=>{z(n)?(B(!1),C($??null)):((n===K.RUNNING||n===K.PENDING)&&B(!0),C(null))},[e,n,$]),r.useEffect(()=>{if(!e)return;const s=L.getSocket(),d=P.current,l=Y.current,g=G.current;X(s.connected);let j=!z(n);const S=()=>{R.current+=1,X(!0),O.current?.()},p=()=>{R.current+=1,X(!1),N(!1),h.current=!1,d[e]=[],l.get(e)?.controller.abort();const i=g.get(e);i!==void 0&&(window.clearTimeout(i),g.delete(e))},ne=i=>{if(i.sessionId!==e)return;if(B(!0),C(null),!h.current){d[e]=[...d[e]??[],i],O.current?.();return}const D=q.getState();if(!D.applyPatch(e,i.patch,i.seq)){h.current=!1,d[e]=[],O.current?.();return}const x=D.getConversation(e)?.entries??[],E=re(x,te.current);k.current.processingStartedAt!==E?.processingStartedAt&&(k.current={sessionId:e,processingStartedAt:E?.processingStartedAt}),pe(i.patch,x)&&(k.current.lastOutputAt=Date.now()),I(!0)},H=i=>{i.sessionId===e&&(ee(i.agentSessionId),W.current.onAgentSessionId?.(i.agentSessionId))},b=i=>{i.sessionId===e&&(j=!1,N(!1),I(!1),B(!1),C(Date.now()),W.current.onExit?.(i.exitCode))},_=i=>{i.sessionId===e&&W.current.onError?.(i.message)};return s.on("connect",S),s.on("disconnect",p),s.on(T.SESSION_PATCH,ne),s.on(T.SESSION_ID,H),s.on(T.SESSION_EXIT,b),s.on(T.SESSION_ERROR,_),X(s.connected),()=>{s.off("connect",S),s.off("disconnect",p),s.off(T.SESSION_PATCH,ne),s.off(T.SESSION_ID,H),s.off(T.SESSION_EXIT,b),s.off(T.SESSION_ERROR,_),R.current+=1,l.get(e)?.controller.abort();const i=g.get(e);i!==void 0&&(window.clearTimeout(i),g.delete(e)),h.current=!1,d[e]=[],ee(null),I(!1),C(null),N(!1),j||q.getState().truncateSession(e)}},[e]);const se=r.useCallback(()=>{if(!e)return Promise.resolve(!1);const s=e,d=R.current,l=()=>U.current===s,g=Y.current.get(s);if(g)return g.epoch!==d&&(g.reloadRequested=!0,g.controller.abort()),g.promise;const j=G.current.get(s);j!==void 0&&(window.clearTimeout(j),G.current.delete(s));const S=new AbortController,p={controller:S,epoch:d,promise:Promise.resolve(!1),reloadRequested:!1},H=(async()=>{const b=q.getState(),_=b.conversations[s];_&&_.entries.length>0&&(b.touchAccess(s),l()&&I(de(Z.current))),l()&&(h.current=!1,N(!1));const i=_&&_.entries.length>0;l()&&ae(!i);for(let D=0;D<=le.length;D+=1){const M=L.getSocket();if(S.signal.aborted||!M.connected||!l()||p.epoch!==R.current)return!1;P.current[s]=[];try{const x=$e(await Pe.get(`/sessions/${s}/logs`,{cache:"no-store",signal:S.signal}));if(S.signal.aborted||!M.connected||!l()||p.epoch!==R.current)return p.reloadRequested=M.connected&&l(),!1;const E=P.current[s]??[];P.current[s]=[];let A=x,w=We(x);for(const m of E){if(typeof m.seq=="number"){if(m.seq<=w)continue;if(m.seq!==w+1)throw new Error(`Buffered patch sequence gap: expected ${w+1}, received ${m.seq}`)}const J=Be(A,m.patch);if(!J.ok)throw new Error(`Buffered conversation patch rejected (${J.kind}): ${J.reason}`);A=J.conversation,typeof m.seq=="number"&&m.seq>w&&(w=m.seq)}A={...A,seq:w,isTruncated:!1};const Te=re(A.entries,te.current);k.current={sessionId:s,processingStartedAt:Te?.processingStartedAt,lastOutputAt:E.some(m=>pe(m.patch,A.entries))?Date.now():void 0};const Ne=b.getConversation(s);if(E.length>0||Fe(Ne,A)?b.setConversation(s,A):b.touchAccess(s),l()){h.current=!0,N(!0);const m=q.getState().getConversation(s);m&&m.entries.length>0&&I(de(Z.current))}return!0}catch(x){if(S.signal.aborted||me(x))return!1;if(!l()||p.epoch!==R.current||!M.connected)return p.reloadRequested=M.connected&&l(),!1;if(console.error("[useNormalizedLogs:loadSnapshot] Failed to reconcile snapshot:",x),P.current[s]=[],h.current=!1,N(!1),I(!1),!Ke(x))return!1;const E=le[D];if(E===void 0){const ie=p.epoch,w=window.setTimeout(()=>{G.current.delete(s),U.current===s&&R.current===ie&&L.getSocket().connected&&O.current?.()},Ve);return G.current.set(s,w),!1}if(!await Xe(E,S.signal))return!1}}return!1})().finally(()=>{Y.current.get(s)===p&&Y.current.delete(s),p.reloadRequested&&U.current===s&&L.getSocket().connected&&queueMicrotask(()=>{O.current?.()}),U.current===s&&ae(!1)});return p.promise=H,Y.current.set(s,p),H},[e]);O.current=se;const ye=r.useCallback(()=>new Promise(s=>{if(!L.getSocket().connected){s(!1);return}if(h.current){const l=q.getState().getConversation(e);if(!(z(Z.current)||l?.isTruncated===!0)){s(!0);return}}se().then(s)}),[e,se]);r.useEffect(()=>{if(!e||!z(n))return;const s=window.setTimeout(()=>{O.current?.()},He);return()=>window.clearTimeout(s)},[e,n]);const Re=r.useCallback(s=>{L.getSocket().emit(_e.INPUT,{sessionId:e,data:s})},[e]),be=r.useCallback(()=>{q.getState().removeSession(e),ee(null),I(!1),B(!1),C(null),N(!1),h.current=!1,P.current[e]=[]},[e]),we=r.useMemo(()=>{const s=Le(F.entries);if(ce&&Q){const d=re(F.entries,y),l=k.current,j=l.sessionId===e&&l.processingStartedAt===d?.processingStartedAt&&l.lastOutputAt?Math.max(l.lastOutputAt,d?.lastOutputAt??0):d?.lastOutputAt;s.push(qe({processingStartedAt:d?.processingStartedAt,lastOutputAt:j}))}return s},[F.entries,ce,Q,e,y]);return{isConnected:Se,isAttached:Q,isLoadingSnapshot:xe&&F.entries.length===0,isOutputActive:Ae,lastExitAt:ve,logs:we,entries:F.entries,agentSessionId:Ee,attach:ye,sendInput:Re,clearLogs:be}}export{tt as L,st as T,nt as a,rt as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as U,u as z,r as x,j as t,a3 as O,l as L,bc as $,bd as H,b3 as j,be as W,_ as M,bf as G}from"./index-Cc3qXMhU.js";import{h as K,i as V}from"./CreateTaskInput-DjVxCAfc.js";import{T as X}from"./mermaid-NOHMQCX5-nBsnjgeU.js";import{G as J,M as Y,a as Q,b as Z,c as ee,d as te,e as ne}from"./menu-DubntFHq.js";import{g as re,a as B,l as se}from"./ExecutionPermissionSelector-f1UYIm1z.js";import{i as oe}from"./provider-selection-DSu7SCI7.js";import"./AttachmentPreview-DMS-PM-1.js";import{C as ae}from"./chevron-down-DNhYsNAt.js";const ie=[["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:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]],le=U("shield-alert",ie);function ke({sessionId:r,compact:a=!1}){const{t:i}=z(),{data:s}=K(r),d=V(),m=s?.pendingPermissions[0],v=m?.requestId,g=d.reset;return x.useEffect(()=>{g()},[v,g]),m?t.jsx("div",{className:L("mb-2 border-l-2 border-warning bg-warning/5 px-3 py-2.5",a&&"px-2.5 py-2"),children:t.jsxs("div",{className:"flex min-w-0 items-start gap-2",children:[t.jsx(le,{className:"mt-0.5 h-4 w-4 shrink-0 text-warning","aria-hidden":"true"}),t.jsxs("div",{className:"min-w-0 flex-1",children:[t.jsx("div",{className:"text-sm font-medium text-foreground",children:i("Permission required")}),t.jsx("div",{className:"mt-0.5 break-words text-xs text-muted-foreground",children:m.toolSummary||m.toolName||i("The agent needs approval to continue.")}),m.actionDetails?t.jsx("pre",{className:"mt-2 max-h-48 overflow-auto whitespace-pre-wrap break-all text-xs",children:m.actionDetails}):null,t.jsx("div",{className:"mt-2 flex flex-wrap gap-2",children:m.options.map(p=>t.jsxs("button",{type:"button",disabled:d.isPending,onClick:()=>d.mutate({sessionId:r,requestId:m.requestId,optionId:p.optionId}),className:L("inline-flex min-h-8 items-center gap-1.5 border px-3 text-xs font-medium transition-colors disabled:opacity-50",p.kind.startsWith("reject")?"border-destructive/30 text-destructive-ink hover:bg-destructive/10":"border-border bg-background text-foreground hover:bg-muted"),children:[d.isPending&&d.variables?.requestId===m.requestId&&d.variables.optionId===p.optionId?t.jsx(O,{className:"h-3.5 w-3.5 animate-spin motion-reduce:[animation-duration:2.4s]","aria-hidden":"true"}):null,i(p.name)]},p.optionId))}),d.error?t.jsx("div",{className:"mt-1.5 text-xs text-destructive-ink",role:"alert",children:d.error.message}):null]})]})}):null}function y(r){return r>=1e6?`${(r/1e6).toFixed(1)}M`:r>=1e3?`${(r/1e3).toFixed(1)}K`:r.toString()}function ce(r){return r>=.9?"danger":r>=.7?"warning":"neutral"}function we({usage:r,tooltipSide:a="top"}){const{t:i}=z();if(!r)return null;const s=r.modelContextWindow,d=s?r.totalTokens/s:0,m=s?Math.min(Math.round(d*100),100):null,v=s?ce(d):"neutral",g=$[v],p=v==="neutral"?"text-muted-foreground":H[v],f=s?t.jsx("span",{children:i("上下文: {used} / {max} tokens",{used:y(r.totalTokens),max:y(s)})}):t.jsx("span",{children:i("已使用: {used} tokens",{used:y(r.totalTokens)})});return t.jsx(X,{content:f,side:a,children:t.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-1.5 text-xs rounded-lg hover:bg-accent transition-colors cursor-default select-none",children:[t.jsx(J,{size:14,className:g}),t.jsxs("span",{className:`tabular-nums ${p}`,children:[y(r.totalTokens),m!==null&&t.jsxs("span",{className:"ml-0.5 text-muted-foreground",children:["/ ",m,"%"]})]})]})})}const ue={damping:.7,stiffness:.05,mass:1.25},de=70,me=1e3/60,fe=350;let E=!1;globalThis.document?.addEventListener("mousedown",()=>{E=!0});globalThis.document?.addEventListener("mouseup",()=>{E=!1});globalThis.document?.addEventListener("click",()=>{E=!1});const Se=(r={})=>{const[a,i]=x.useState(!1),[s,d]=x.useState(r.initial!==!1),[m,v]=x.useState(!1),g=x.useRef(null);g.current=r;const p=x.useCallback(()=>{if(!E)return!1;const n=window.getSelection();if(!n||!n.rangeCount)return!1;const o=n.getRangeAt(0);return o.commonAncestorContainer.contains(l.current)||l.current?.contains(o.commonAncestorContainer)},[]),f=x.useCallback(n=>{e.isAtBottom=n,d(n)},[]),h=x.useCallback(n=>{e.escapedFromLock=n,i(n)},[]),e=x.useMemo(()=>{let n;return{escapedFromLock:a,isAtBottom:s,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return l.current?.scrollTop??0},set scrollTop(o){l.current&&(l.current.scrollTop=o,e.ignoreScrollToTop=l.current.scrollTop)},get targetScrollTop(){return!l.current||!k.current?0:l.current.scrollHeight-1-l.current.clientHeight},get calculatedTargetScrollTop(){if(!l.current||!k.current)return 0;const{targetScrollTop:o}=this;if(!r.targetScrollTop)return o;if(n?.targetScrollTop===o)return n.calculatedScrollTop;const u=Math.max(Math.min(r.targetScrollTop(o,{scrollElement:l.current,contentElement:k.current}),o),0);return n={targetScrollTop:o,calculatedScrollTop:u},requestAnimationFrame(()=>{n=void 0}),u},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=de}}},[]),N=x.useCallback((n={})=>{typeof n=="string"&&(n={animation:n}),n.preserveScrollPosition||f(!0);const o=Date.now()+(Number(n.wait)||0),u=R(g.current,n.animation),{ignoreEscapes:T=!1}=n;let b,w=e.calculatedTargetScrollTop;n.duration instanceof Promise?n.duration.finally(()=>{b=Date.now()}):b=o+(n.duration??0);const S=async()=>{const _=new Promise(requestAnimationFrame).then(()=>{if(!e.isAtBottom)return e.animation=void 0,!1;const{scrollTop:I}=e,P=performance.now(),q=(P-(e.lastTick??P))/me;if(e.animation||(e.animation={behavior:u,promise:_,ignoreEscapes:T}),e.animation.behavior===u&&(e.lastTick=P),p()||o>Date.now())return S();if(I<Math.min(w,e.calculatedTargetScrollTop)){if(e.animation?.behavior===u){if(u==="instant")return e.scrollTop=e.calculatedTargetScrollTop,S();e.velocity=(u.damping*e.velocity+u.stiffness*e.scrollDifference)/u.mass,e.accumulated+=e.velocity*q,e.scrollTop+=e.accumulated,e.scrollTop!==I&&(e.accumulated=0)}return S()}return b>Date.now()?(w=e.calculatedTargetScrollTop,S()):(e.animation=void 0,e.scrollTop<e.calculatedTargetScrollTop?N({animation:R(g.current,g.current.resize),ignoreEscapes:T,duration:Math.max(0,b-Date.now())||void 0}):e.isAtBottom)});return _.then(I=>(requestAnimationFrame(()=>{e.animation||(e.lastTick=void 0,e.velocity=0)}),I))};return n.wait!==!0&&(e.animation=void 0),e.animation?.behavior===u?e.animation.promise:S()},[f,p,e]),A=x.useCallback(()=>{h(!0),f(!1)},[h,f]),c=x.useCallback(({target:n})=>{if(n!==l.current)return;const{scrollTop:o,ignoreScrollToTop:u}=e;let{lastScrollTop:T=o}=e;e.lastScrollTop=o,e.ignoreScrollToTop=void 0,u&&u>o&&(T=u),v(e.isNearBottom),setTimeout(()=>{if(e.resizeDifference||o===u)return;if(p()){h(!0),f(!1);return}const b=o>T,w=o<T;if(e.animation?.ignoreEscapes){e.scrollTop=T;return}w&&(h(!0),f(!1)),b&&h(!1),!e.escapedFromLock&&e.isNearBottom&&f(!0)},1)},[h,f,p,e]),C=x.useCallback(({target:n,deltaY:o})=>{let u=n;for(;!["scroll","auto"].includes(getComputedStyle(u).overflow);){if(!u.parentElement)return;u=u.parentElement}u===l.current&&o<0&&l.current.scrollHeight>l.current.clientHeight&&!e.animation?.ignoreEscapes&&(h(!0),f(!1))},[h,f,e]),l=F(n=>{l.current?.removeEventListener("scroll",c),l.current?.removeEventListener("wheel",C),n?.addEventListener("scroll",c,{passive:!0}),n?.addEventListener("wheel",C,{passive:!0})},[]),k=F(n=>{if(e.resizeObserver?.disconnect(),!n)return;let o;e.resizeObserver=new ResizeObserver(([u])=>{const{height:T}=u.contentRect,b=T-(o??T);if(e.resizeDifference=b,e.scrollTop>e.targetScrollTop&&(e.scrollTop=e.targetScrollTop),v(e.isNearBottom),b>=0){const w=R(g.current,o?g.current.resize:g.current.initial);N({animation:w,wait:!0,preserveScrollPosition:!0,duration:w==="instant"?void 0:fe})}else e.isNearBottom&&(h(!1),f(!0));o=T,requestAnimationFrame(()=>{setTimeout(()=>{e.resizeDifference===b&&(e.resizeDifference=0)},1)})}),e.resizeObserver?.observe(n)},[]);return{contentRef:k,scrollRef:l,scrollToBottom:N,stopScroll:A,isAtBottom:s||m,isNearBottom:m,escapedFromLock:a,state:e}};function F(r,a){const i=x.useCallback(s=>(i.current=s,r(s)),a);return i}const D=new Map;function R(...r){const a={...ue};let i=!1;for(const d of r){if(d==="instant"){i=!0;continue}typeof d=="object"&&(i=!1,a.damping=d.damping??a.damping,a.stiffness=d.stiffness??a.stiffness,a.mass=d.mass??a.mass)}const s=JSON.stringify(a);return D.has(s)||D.set(s,Object.freeze(a)),i?"instant":D.get(s)}function je({providers:r,currentProviderId:a,agentType:i,runtimeType:s,onSelect:d}){const{t:m}=z(),v=x.useId(),g=s===j.ACP?j.ACP:j.CLI,p=r.filter(c=>oe(c)&&String(c.provider.agentType)===i&&(c.provider.runtimeType===j.ACP?j.ACP:j.CLI)===g),f=r.find(c=>c.provider.id===a),h=f?.provider.name?W(f.provider.name,12):i,e=re(r,a),N=e?t.jsx("span",{role:"alert",className:"block break-words text-xs leading-snug text-destructive-ink",children:m(e)}):null;if(p.length===0||p.length===1&&p[0].provider.id===a)return t.jsxs("div",{className:"min-w-[112px] max-w-[min(46vw,240px)] px-2 py-1.5 text-xs text-muted-foreground select-none cursor-default",children:[t.jsxs("div",{className:"flex items-center gap-1",children:[t.jsx(M,{agentType:f?.provider.agentType??i,className:"size-3.5 shrink-0"}),t.jsx("span",{className:"min-w-0 truncate",children:h})]}),N]});const A=new Set(p.filter(c=>B(c)).map(c=>c.provider.id));return t.jsxs("div",{className:"min-w-[112px] max-w-[min(46vw,240px)]",children:[t.jsxs(Y,{children:[t.jsxs(Q,{className:G({variant:"ghost",size:"sm",className:"group max-w-full gap-1 px-2 text-muted-foreground data-[state=open]:bg-accent data-[state=open]:text-foreground"}),title:`Provider: ${f?.provider.name??i} (click to change)`,children:[t.jsx(M,{agentType:f?.provider.agentType??i,className:"size-3.5"}),t.jsx("span",{className:"min-w-0 truncate",children:h}),t.jsx(ae,{className:"size-3 transition-transform group-data-[state=open]:rotate-180"})]}),t.jsxs(Z,{side:"top",align:"end",className:"max-h-[min(60vh,320px)] max-w-[min(80vw,320px)] overflow-y-auto",children:[t.jsx(ee,{children:m("切换渠道")}),t.jsx(te,{value:a??"",onValueChange:c=>{A.has(c)||d(c)},children:p.map((c,C)=>{const l=B(c),k=l?`${v}-${C}`:void 0;return t.jsxs(ne,{value:c.provider.id,icon:t.jsx(M,{agentType:c.provider.agentType,className:"mt-0.5 size-4"}),"aria-disabled":l?!0:void 0,"aria-describedby":k,onSelect:l?n=>n.preventDefault():void 0,className:L("items-start",l&&"cursor-not-allowed text-muted-foreground data-[highlighted]:text-muted-foreground"),children:[t.jsxs("span",{className:"flex min-w-0 items-center gap-1.5",children:[t.jsx("span",{className:"truncate",children:c.provider.name}),c.provider.isDefault&&t.jsx("span",{className:"shrink-0 text-xs font-normal text-muted-foreground",children:m("(默认)")})]}),c.provider.executionPermission?t.jsx("span",{className:"block text-xs font-normal text-muted-foreground",children:m(se[c.provider.executionPermission])}):null,l?t.jsx("span",{id:k,className:"block w-0 min-w-full whitespace-normal break-words text-xs font-normal text-destructive-ink",children:m(l)}):null]},c.provider.id)})})]})]}),N?t.jsx("div",{className:"px-2",children:N}):null]})}function Ce(r,a){return x.useMemo(()=>{for(let i=r.length-1;i>=0;i--){const s=r[i];if(s.tokenUsage&&typeof s.tokenUsage.totalTokens=="number"&&s.tokenUsage.totalTokens>0)return{totalTokens:s.tokenUsage.totalTokens,modelContextWindow:s.tokenUsage.modelContextWindow}}return a??null},[r,a])}export{je as P,ke as R,we as T,Ce as a,Se as u};
|
package/dist/web/assets/{vennDiagram-CIIHVFJN-BqxICvT_.js → vennDiagram-CIIHVFJN-ByoNydXe.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{aU as Gt,s as Wt,g as Kt,q as Ht,p as Yt,a as Xt,b as Zt,_ as w,D as wt,I as Jt,d as ot,al as Qt,ac as $t,ad as te,ae as ee,e as ne,z as se,F as ie,G as oe}from"./index-CrKx8Yaz.js";import"./index-BR3Wg2fS.js";const kt=(t,n)=>Gt(t,"a",-n),_t=1e-10;function st(t,n){const s=ae(t),e=s.filter(c=>re(c,t));let i=0,o=0;const a=[];if(e.length>1){const c=Et(e);for(let u=0;u<e.length;++u){const r=e[u];r.angle=Math.atan2(r.x-c.x,r.y-c.y)}e.sort((u,r)=>r.angle-u.angle);let h=e[e.length-1];for(let u=0;u<e.length;++u){const r=e[u];o+=(h.x+r.x)*(r.y-h.y);const y={x:(r.x+h.x)/2,y:(r.y+h.y)/2};let d=null;for(let b=0;b<r.parentIndex.length;++b)if(h.parentIndex.includes(r.parentIndex[b])){const x=t[r.parentIndex[b]],M=Math.atan2(r.x-x.x,r.y-x.y),A=Math.atan2(h.x-x.x,h.y-x.y);let T=A-M;T<0&&(T+=2*Math.PI);const S=A-T/2;let g=q(y,{x:x.x+x.radius*Math.sin(S),y:x.y+x.radius*Math.cos(S)});g>x.radius*2&&(g=x.radius*2),(d==null||d.width>g)&&(d={circle:x,width:g,p1:r,p2:h,large:g>x.radius,sweep:!0})}d!=null&&(a.push(d),i+=lt(d.circle.radius,d.width),h=r)}}else{let c=t[0];for(let u=1;u<t.length;++u)t[u].radius<c.radius&&(c=t[u]);let h=!1;for(let u=0;u<t.length;++u)if(q(t[u],c)>Math.abs(c.radius-t[u].radius)){h=!0;break}h?i=o=0:(i=c.radius*c.radius*Math.PI,a.push({circle:c,p1:{x:c.x,y:c.y+c.radius},p2:{x:c.x-_t,y:c.y+c.radius},width:c.radius*2,large:!0,sweep:!0}))}return o/=2,n&&(n.area=i+o,n.arcArea=i,n.polygonArea=o,n.arcs=a,n.innerPoints=e,n.intersectionPoints=s),i+o}function re(t,n){return n.every(s=>q(t,s)<s.radius+_t)}function ae(t){const n=[];for(let s=0;s<t.length;++s)for(let e=s+1;e<t.length;++e){const i=Tt(t[s],t[e]);for(const o of i)o.parentIndex=[s,e],n.push(o)}return n}function lt(t,n){return t*t*Math.acos(1-n/t)-(t-n)*Math.sqrt(n*(2*t-n))}function q(t,n){return Math.sqrt((t.x-n.x)*(t.x-n.x)+(t.y-n.y)*(t.y-n.y))}function xt(t,n,s){if(s>=t+n)return 0;if(s<=Math.abs(t-n))return Math.PI*Math.min(t,n)*Math.min(t,n);const e=t-(s*s-n*n+t*t)/(2*s),i=n-(s*s-t*t+n*n)/(2*s);return lt(t,e)+lt(n,i)}function Tt(t,n){const s=q(t,n),e=t.radius,i=n.radius;if(s>=e+i||s<=Math.abs(e-i))return[];const o=(e*e-i*i+s*s)/(2*s),a=Math.sqrt(e*e-o*o),c=t.x+o*(n.x-t.x)/s,h=t.y+o*(n.y-t.y)/s,u=-(n.y-t.y)*(a/s),r=-(n.x-t.x)*(a/s);return[{x:c+u,y:h-r},{x:c-u,y:h+r}]}function Et(t){const n={x:0,y:0};for(const s of t)n.x+=s.x,n.y+=s.y;return n.x/=t.length,n.y/=t.length,n}function le(t,n,s,e){e=e||{};const i=e.maxIterations||100,o=e.tolerance||1e-10,a=t(n),c=t(s);let h=s-n;if(a*c>0)throw"Initial bisect points must have opposite signs";if(a===0)return n;if(c===0)return s;for(let u=0;u<i;++u){h/=2;const r=n+h,y=t(r);if(y*a>=0&&(n=r),Math.abs(h)<o||y===0)return r}return n+h}function ct(t){const n=new Array(t);for(let s=0;s<t;++s)n[s]=0;return n}function Mt(t,n){return ct(t).map(()=>ct(n))}function $(t,n){let s=0;for(let e=0;e<t.length;++e)s+=t[e]*n[e];return s}function ut(t){return Math.sqrt($(t,t))}function ft(t,n,s){for(let e=0;e<n.length;++e)t[e]=n[e]*s}function J(t,n,s,e,i){for(let o=0;o<t.length;++o)t[o]=n*s[o]+e*i[o]}function zt(t,n,s){s=s||{};const e=s.maxIterations||n.length*200,i=s.nonZeroDelta||1.05,o=s.zeroDelta||.001,a=s.minErrorDelta||1e-6,c=s.minErrorDelta||1e-5,h=s.rho!==void 0?s.rho:1,u=s.chi!==void 0?s.chi:2,r=s.psi!==void 0?s.psi:-.5,y=s.sigma!==void 0?s.sigma:.5;let d;const b=n.length,x=new Array(b+1);x[0]=n,x[0].fx=t(n),x[0].id=0;for(let v=0;v<b;++v){const l=n.slice();l[v]=l[v]?l[v]*i:o,x[v+1]=l,x[v+1].fx=t(l),x[v+1].id=v+1}function M(v){for(let l=0;l<v.length;l++)x[b][l]=v[l];x[b].fx=v.fx}const A=(v,l)=>v.fx-l.fx,T=n.slice(),S=n.slice(),g=n.slice(),m=n.slice();for(let v=0;v<e;++v){if(x.sort(A),s.history){const p=x.map(f=>{const N=f.slice();return N.fx=f.fx,N.id=f.id,N});p.sort((f,N)=>f.id-N.id),s.history.push({x:x[0].slice(),fx:x[0].fx,simplex:p})}d=0;for(let p=0;p<b;++p)d=Math.max(d,Math.abs(x[0][p]-x[1][p]));if(Math.abs(x[0].fx-x[b].fx)<a&&d<c)break;for(let p=0;p<b;++p){T[p]=0;for(let f=0;f<b;++f)T[p]+=x[f][p];T[p]/=b}const l=x[b];if(J(S,1+h,T,-h,l),S.fx=t(S),S.fx<x[0].fx)J(m,1+u,T,-u,l),m.fx=t(m),m.fx<S.fx?M(m):M(S);else if(S.fx>=x[b-1].fx){let p=!1;if(S.fx>l.fx?(J(g,1+r,T,-r,l),g.fx=t(g),g.fx<l.fx?M(g):p=!0):(J(g,1-r*h,T,r*h,l),g.fx=t(g),g.fx<S.fx?M(g):p=!0),p){if(y>=1)break;for(let f=1;f<x.length;++f)J(x[f],1-y,x[0],y,x[f]),x[f].fx=t(x[f])}}else M(S)}return x.sort(A),{fx:x[0].fx,x:x[0]}}function ce(t,n,s,e,i,o,a){const c=s.fx,h=$(s.fxprime,n);let u=c,r=c,y=h,d=0;i=i||1,o=o||1e-6,a=a||.1;function b(x,M,A){for(let T=0;T<16;++T)if(i=(x+M)/2,J(e.x,1,s.x,i,n),u=e.fx=t(e.x,e.fxprime),y=$(e.fxprime,n),u>c+o*i*h||u>=A)M=i;else{if(Math.abs(y)<=-a*h)return i;y*(M-x)>=0&&(M=x),x=i,A=u}return 0}for(let x=0;x<10;++x){if(J(e.x,1,s.x,i,n),u=e.fx=t(e.x,e.fxprime),y=$(e.fxprime,n),u>c+o*i*h||x&&u>=r)return b(d,i,r);if(Math.abs(y)<=-a*h)return i;if(y>=0)return b(i,d,u);r=u,d=i,i*=2}return i}function ue(t,n,s){let e={x:n.slice(),fx:0,fxprime:n.slice()},i={x:n.slice(),fx:0,fxprime:n.slice()};const o=n.slice();let a,c,h=1,u;s=s||{},u=s.maxIterations||n.length*20,e.fx=t(e.x,e.fxprime),a=e.fxprime.slice(),ft(a,e.fxprime,-1);for(let r=0;r<u;++r){if(h=ce(t,a,e,i,h),s.history&&s.history.push({x:e.x.slice(),fx:e.fx,fxprime:e.fxprime.slice(),alpha:h}),!h)ft(a,e.fxprime,-1);else{J(o,1,i.fxprime,-1,e.fxprime);const y=$(e.fxprime,e.fxprime),d=Math.max(0,$(o,i.fxprime)/y);J(a,d,a,-1,i.fxprime),c=e,e=i,i=c}if(ut(e.fxprime)<=1e-5)break}return s.history&&s.history.push({x:e.x.slice(),fx:e.fx,fxprime:e.fxprime.slice(),alpha:h}),e}function At(t,n={}){n.maxIterations=n.maxIterations||500;const s=n.initialLayout||ge,e=n.lossFunction||tt,i=fe(t,n),o=s(i,n),a=Object.keys(o),c=[];for(const r of a)c.push(o[r].x),c.push(o[r].y);const u=zt(r=>{const y={};for(let d=0;d<a.length;++d){const b=a[d];y[b]={x:r[2*d],y:r[2*d+1],radius:o[b].radius}}return e(y,i)},c,n).x;for(let r=0;r<a.length;++r){const y=a[r];o[y].x=u[2*r],o[y].y=u[2*r+1]}return o}const Rt=1e-10;function ht(t,n,s){return Math.min(t,n)*Math.min(t,n)*Math.PI<=s+Rt?Math.abs(t-n):le(e=>xt(t,n,e)-s,0,t+n)}function fe(t,n={}){const s=n.distinct,e=t.map(c=>Object.assign({},c));function i(c){return c.join(";")}if(s){const c=new Map;for(const h of e)for(let u=0;u<h.sets.length;u++){const r=String(h.sets[u]);c.set(r,h.size+(c.get(r)||0));for(let y=u+1;y<h.sets.length;y++){const d=String(h.sets[y]),b=`${r};${d}`,x=`${d};${r}`;c.set(b,h.size+(c.get(b)||0)),c.set(x,h.size+(c.get(x)||0))}}for(const h of e)h.sets.length<3&&(h.size=c.get(i(h.sets)))}const o=[],a=new Set;for(const c of e)if(c.sets.length===1)o.push(c.sets[0]);else if(c.sets.length===2){const h=c.sets[0],u=c.sets[1];a.add(i(c.sets)),a.add(i([u,h]))}o.sort((c,h)=>c===h?0:c<h?-1:1);for(let c=0;c<o.length;++c){const h=o[c];for(let u=c+1;u<o.length;++u){const r=o[u];a.has(i([h,r]))||e.push({sets:[h,r],size:0})}}return e}function he(t,n,s){const e=Mt(n.length,n.length),i=Mt(n.length,n.length);return t.filter(o=>o.sets.length===2).forEach(o=>{const a=s[o.sets[0]],c=s[o.sets[1]],h=Math.sqrt(n[a].size/Math.PI),u=Math.sqrt(n[c].size/Math.PI),r=ht(h,u,o.size);e[a][c]=e[c][a]=r;let y=0;o.size+1e-10>=Math.min(n[a].size,n[c].size)?y=1:o.size<=1e-10&&(y=-1),i[a][c]=i[c][a]=y}),{distances:e,constraints:i}}function de(t,n,s,e){for(let o=0;o<n.length;++o)n[o]=0;let i=0;for(let o=0;o<s.length;++o){const a=t[2*o],c=t[2*o+1];for(let h=o+1;h<s.length;++h){const u=t[2*h],r=t[2*h+1],y=s[o][h],d=e[o][h],b=(u-a)*(u-a)+(r-c)*(r-c),x=Math.sqrt(b),M=b-y*y;d>0&&x<=y||d<0&&x>=y||(i+=2*M*M,n[2*o]+=4*M*(a-u),n[2*o+1]+=4*M*(c-r),n[2*h]+=4*M*(u-a),n[2*h+1]+=4*M*(r-c))}}return i}function ge(t,n={}){let s=ye(t,n);const e=n.lossFunction||tt;if(t.length>=8){const i=xe(t,n),o=e(i,t),a=e(s,t);o+1e-8<a&&(s=i)}return s}function xe(t,n={}){const s=n.restarts||10,e=[],i={};for(const d of t)d.sets.length===1&&(i[d.sets[0]]=e.length,e.push(d));let{distances:o,constraints:a}=he(t,e,i);const c=ut(o.map(ut))/o.length;o=o.map(d=>d.map(b=>b/c));const h=(d,b)=>de(d,b,o,a);let u=null;for(let d=0;d<s;++d){const b=ct(o.length*2).map(Math.random),x=ue(h,b,n);(!u||x.fx<u.fx)&&(u=x)}const r=u.x,y={};for(let d=0;d<e.length;++d){const b=e[d];y[b.sets[0]]={x:r[2*d]*c,y:r[2*d+1]*c,radius:Math.sqrt(b.size/Math.PI)}}if(n.history)for(const d of n.history)ft(d.x,c);return y}function ye(t,n){const s=n&&n.lossFunction?n.lossFunction:tt,e={},i={};for(const y of t)if(y.sets.length===1){const d=y.sets[0];e[d]={x:1e10,y:1e10,rowid:e.length,size:y.size,radius:Math.sqrt(y.size/Math.PI)},i[d]=[]}t=t.filter(y=>y.sets.length===2);for(const y of t){let d=y.weight!=null?y.weight:1;const b=y.sets[0],x=y.sets[1];y.size+Rt>=Math.min(e[b].size,e[x].size)&&(d=0),i[b].push({set:x,size:y.size,weight:d}),i[x].push({set:b,size:y.size,weight:d})}const o=[];Object.keys(i).forEach(y=>{let d=0;for(let b=0;b<i[y].length;++b)d+=i[y][b].size*i[y][b].weight;o.push({set:y,size:d})});function a(y,d){return d.size-y.size}o.sort(a);const c={};function h(y){return y.set in c}function u(y,d){e[d].x=y.x,e[d].y=y.y,c[d]=!0}u({x:0,y:0},o[0].set);for(let y=1;y<o.length;++y){const d=o[y].set,b=i[d].filter(h),x=e[d];if(b.sort(a),b.length===0)throw"ERROR: missing pairwise overlap information";const M=[];for(var r=0;r<b.length;++r){const S=e[b[r].set],g=ht(x.radius,S.radius,b[r].size);M.push({x:S.x+g,y:S.y}),M.push({x:S.x-g,y:S.y}),M.push({y:S.y+g,x:S.x}),M.push({y:S.y-g,x:S.x});for(let m=r+1;m<b.length;++m){const v=e[b[m].set],l=ht(x.radius,v.radius,b[m].size),p=Tt({x:S.x,y:S.y,radius:g},{x:v.x,y:v.y,radius:l});M.push(...p)}}let A=1e50,T=M[0];for(const S of M){e[d].x=S.x,e[d].y=S.y;const g=s(e,t);g<A&&(A=g,T=S)}u(T,d)}return e}function tt(t,n){let s=0;for(const e of n){if(e.sets.length===1)continue;let i;if(e.sets.length===2){const a=t[e.sets[0]],c=t[e.sets[1]];i=xt(a.radius,c.radius,q(a,c))}else i=st(e.sets.map(a=>t[a]));const o=e.weight!=null?e.weight:1;s+=o*(i-e.size)*(i-e.size)}return s}function Dt(t,n){let s=0;for(const e of n){if(e.sets.length===1)continue;let i;if(e.sets.length===2){const c=t[e.sets[0]],h=t[e.sets[1]];i=xt(c.radius,h.radius,q(c,h))}else i=st(e.sets.map(c=>t[c]));const o=e.weight!=null?e.weight:1,a=Math.log((i+1)/(e.size+1));s+=o*a*a}return s}function pe(t,n,s){if(s==null?t.sort((i,o)=>o.radius-i.radius):t.sort(s),t.length>0){const i=t[0].x,o=t[0].y;for(const a of t)a.x-=i,a.y-=o}if(t.length===2&&q(t[0],t[1])<Math.abs(t[1].radius-t[0].radius)&&(t[1].x=t[0].x+t[0].radius-t[1].radius-1e-10,t[1].y=t[0].y),t.length>1){const i=Math.atan2(t[1].x,t[1].y)-n,o=Math.cos(i),a=Math.sin(i);for(const c of t){const h=c.x,u=c.y;c.x=o*h-a*u,c.y=a*h+o*u}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-n;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){const o=t[1].y/(1e-10+t[1].x);for(const a of t){var e=(a.x+o*a.y)/(1+o*o);a.x=2*e-a.x,a.y=2*e*o-a.y}}}}function me(t){t.forEach(i=>{i.parent=i});function n(i){return i.parent!==i&&(i.parent=n(i.parent)),i.parent}function s(i,o){const a=n(i),c=n(o);a.parent=c}for(let i=0;i<t.length;++i)for(let o=i+1;o<t.length;++o){const a=t[i].radius+t[o].radius;q(t[i],t[o])+1e-10<a&&s(t[o],t[i])}const e=new Map;for(let i=0;i<t.length;++i){const o=n(t[i]).parent.setid;e.has(o)||e.set(o,[]),e.get(o).push(t[i])}return t.forEach(i=>{delete i.parent}),Array.from(e.values())}function dt(t){const n=s=>{const e=t.reduce((o,a)=>Math.max(o,a[s]+a.radius),Number.NEGATIVE_INFINITY),i=t.reduce((o,a)=>Math.min(o,a[s]-a.radius),Number.POSITIVE_INFINITY);return{max:e,min:i}};return{xRange:n("x"),yRange:n("y")}}function Ct(t,n,s){n==null&&(n=Math.PI/2);let e=Ft(t).map(u=>Object.assign({},u));const i=me(e);for(const u of i){pe(u,n,s);const r=dt(u);u.size=(r.xRange.max-r.xRange.min)*(r.yRange.max-r.yRange.min),u.bounds=r}i.sort((u,r)=>r.size-u.size),e=i[0];let o=e.bounds;const a=(o.xRange.max-o.xRange.min)/50;function c(u,r,y){if(!u)return;const d=u.bounds;let b,x;if(r)b=o.xRange.max-d.xRange.min+a;else{b=o.xRange.max-d.xRange.max;const M=(d.xRange.max-d.xRange.min)/2-(o.xRange.max-o.xRange.min)/2;M<0&&(b+=M)}if(y)x=o.yRange.max-d.yRange.min+a;else{x=o.yRange.max-d.yRange.max;const M=(d.yRange.max-d.yRange.min)/2-(o.yRange.max-o.yRange.min)/2;M<0&&(x+=M)}for(const M of u)M.x+=b,M.y+=x,e.push(M)}let h=1;for(;h<i.length;)c(i[h],!0,!1),c(i[h+1],!1,!0),c(i[h+2],!0,!0),h+=3,o=dt(e);return Ot(e)}function Nt(t,n,s,e,i){const o=Ft(t);n-=2*e,s-=2*e;const{xRange:a,yRange:c}=dt(o);if(a.max===a.min||c.max===c.min)return console.log("not scaling solution: zero size detected"),t;let h,u;if(i){const b=Math.sqrt(i/Math.PI)*2;h=n/b,u=s/b}else h=n/(a.max-a.min),u=s/(c.max-c.min);const r=Math.min(u,h),y=(n-(a.max-a.min)*r)/2,d=(s-(c.max-c.min)*r)/2;return Ot(o.map(b=>({radius:r*b.radius,x:e+y+(b.x-a.min)*r,y:e+d+(b.y-c.min)*r,setid:b.setid})))}function Ot(t){const n={};for(const s of t)n[s.setid]=s;return n}function Ft(t){return Object.keys(t).map(s=>Object.assign(t[s],{setid:s}))}function be(t={}){let n=!1,s=600,e=350,i=15,o=1e3,a=Math.PI/2,c=!0,h=null,u=!0,r=!0,y=null,d=null,b=!1,x=null,M=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,A={},T=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],S=0,g=function(p){if(p in A)return A[p];var f=A[p]=T[S];return S+=1,S>=T.length&&(S=0),f},m=At,v=tt;function l(p){let f=p.datum();const N=new Set;f.forEach(k=>{k.size==0&&k.sets.length==1&&N.add(k.sets[0])}),f=f.filter(k=>!k.sets.some(F=>N.has(F)));let I={},D={};if(f.length>0){let k=m(f,{lossFunction:v,distinct:b});c&&(k=Ct(k,a,d)),I=Nt(k,s,e,i,h),D=jt(I,f,M)}const U={};f.forEach(k=>{k.label&&(U[k.sets]=k.label)});function j(k){if(k.sets in U)return U[k.sets];if(k.sets.length==1)return""+k.sets[0]}p.selectAll("svg").data([I]).enter().append("svg");const E=p.select("svg");n?E.attr("viewBox",`0 0 ${s} ${e}`):E.attr("width",s).attr("height",e);const R={};let _=!1;E.selectAll(".venn-area path").each(function(k){const F=this.getAttribute("d");k.sets.length==1&&F&&!b&&(_=!0,R[k.sets[0]]=ke(F))});function P(k){return F=>{const H=k.sets.map(et=>{let Y=R[et],Z=I[et];return Y||(Y={x:s/2,y:e/2,radius:1}),Z||(Z={x:s/2,y:e/2,radius:1}),{x:Y.x*(1-F)+Z.x*F,y:Y.y*(1-F)+Z.y*F,radius:Y.radius*(1-F)+Z.radius*F}});return St(H,x)}}const V=E.selectAll(".venn-area").data(f,k=>k.sets),O=V.enter().append("g").attr("class",k=>`venn-area venn-${k.sets.length==1?"circle":"intersection"}${k.colour||k.color?" venn-coloured":""}`).attr("data-venn-sets",k=>k.sets.join("_")),B=O.append("path"),W=O.append("text").attr("class","label").text(k=>j(k)).attr("text-anchor","middle").attr("dy",".35em").attr("x",s/2).attr("y",e/2);r&&(B.style("fill-opacity","0").filter(k=>k.sets.length==1).style("fill",k=>k.colour?k.colour:k.color?k.color:g(k.sets)).style("fill-opacity",".25"),W.style("fill",k=>k.colour||k.color?"#FFF":t.textFill?t.textFill:k.sets.length==1?g(k.sets):"#444"));function K(k){return typeof k.transition=="function"?k.transition("venn").duration(o):k}let z=p;_&&typeof z.transition=="function"?(z=K(p),z.selectAll("path").attrTween("d",P)):z.selectAll("path").attr("d",k=>St(k.sets.map(F=>I[F])),x);const L=z.selectAll("text").filter(k=>k.sets in D).text(k=>j(k)).attr("x",k=>Math.floor(D[k.sets].x)).attr("y",k=>Math.floor(D[k.sets].y));u&&(_?"on"in L?L.on("end",rt(I,j)):L.each("end",rt(I,j)):L.each(rt(I,j)));const C=K(V.exit()).remove();typeof V.transition=="function"&&C.selectAll("path").attrTween("d",P);const X=C.selectAll("text").attr("x",s/2).attr("y",e/2);return y!==null&&(W.style("font-size","0px"),L.style("font-size",y),X.style("font-size","0px")),{circles:I,textCentres:D,nodes:V,enter:O,update:z,exit:C}}return l.wrap=function(p){return arguments.length?(u=p,l):u},l.useViewBox=function(){return n=!0,l},l.width=function(p){return arguments.length?(s=p,l):s},l.height=function(p){return arguments.length?(e=p,l):e},l.padding=function(p){return arguments.length?(i=p,l):i},l.distinct=function(p){return arguments.length?(b=p,l):b},l.colours=function(p){return arguments.length?(g=p,l):g},l.colors=function(p){return arguments.length?(g=p,l):g},l.fontSize=function(p){return arguments.length?(y=p,l):y},l.round=function(p){return arguments.length?(x=p,l):x},l.duration=function(p){return arguments.length?(o=p,l):o},l.layoutFunction=function(p){return arguments.length?(m=p,l):m},l.normalize=function(p){return arguments.length?(c=p,l):c},l.scaleToFit=function(p){return arguments.length?(h=p,l):h},l.styled=function(p){return arguments.length?(r=p,l):r},l.orientation=function(p){return arguments.length?(a=p,l):a},l.orientationOrder=function(p){return arguments.length?(d=p,l):d},l.lossFunction=function(p){return arguments.length?(v=p==="default"?tt:p==="logRatio"?Dt:p,l):v},l}function rt(t,n){return function(s){const e=this,i=t[s.sets[0]].radius||50,o=n(s)||"",a=o.split(/\s+/).reverse(),h=(o.length+a.length)/3;let u=a.pop(),r=[u],y=0;const d=1.1;e.textContent=null;const b=[];function x(g){const m=e.ownerDocument.createElementNS(e.namespaceURI,"tspan");return m.textContent=g,b.push(m),e.append(m),m}let M=x(u);for(;u=a.pop(),!!u;){r.push(u);const g=r.join(" ");M.textContent=g,g.length>h&&M.getComputedTextLength()>i&&(r.pop(),M.textContent=r.join(" "),r=[u],M=x(u),y++)}const A=.35-y*d/2,T=e.getAttribute("x"),S=e.getAttribute("y");b.forEach((g,m)=>{g.setAttribute("x",T),g.setAttribute("y",S),g.setAttribute("dy",`${A+m*d}em`)})}}function at(t,n,s){let e=n[0].radius-q(n[0],t);for(let i=1;i<n.length;++i){const o=n[i].radius-q(n[i],t);o<=e&&(e=o)}for(let i=0;i<s.length;++i){const o=q(s[i],t)-s[i].radius;o<=e&&(e=o)}return e}function Lt(t,n,s){const e=[];for(const r of t)e.push({x:r.x,y:r.y}),e.push({x:r.x+r.radius/2,y:r.y}),e.push({x:r.x-r.radius/2,y:r.y}),e.push({x:r.x,y:r.y+r.radius/2}),e.push({x:r.x,y:r.y-r.radius/2});let i=e[0],o=at(e[0],t,n);for(let r=1;r<e.length;++r){const y=at(e[r],t,n);y>=o&&(i=e[r],o=y)}const a=zt(r=>-1*at({x:r[0],y:r[1]},t,n),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,c={x:s?0:a[0],y:a[1]};let h=!0;for(const r of t)if(q(c,r)>r.radius){h=!1;break}for(const r of n)if(q(c,r)<r.radius){h=!1;break}if(h)return c;if(t.length==1)return{x:t[0].x,y:t[0].y};const u={};return st(t,u),u.arcs.length===0?{x:0,y:-1e3,disjoint:!0}:u.arcs.length==1?{x:u.arcs[0].circle.x,y:u.arcs[0].circle.y}:n.length?Lt(t,[]):Et(u.arcs.map(r=>r.p1))}function ve(t){const n={},s=Object.keys(t);for(const e of s)n[e]=[];for(let e=0;e<s.length;e++){const i=s[e],o=t[i];for(let a=e+1;a<s.length;++a){const c=s[a],h=t[c],u=q(o,h);u+h.radius<=o.radius+1e-10?n[c].push(i):u+o.radius<=h.radius+1e-10&&n[i].push(c)}}return n}function jt(t,n,s){const e={},i=ve(t);for(let o=0;o<n.length;++o){const a=n[o].sets,c={},h={};for(let d=0;d<a.length;++d){c[a[d]]=!0;const b=i[a[d]];for(let x=0;x<b.length;++x)h[b[x]]=!0}const u=[],r=[];for(let d in t)d in c?u.push(t[d]):d in h||r.push(t[d]);const y=Lt(u,r,s);e[a]=y,y.disjoint&&n[o].size>0&&console.log("WARNING: area "+a+" not represented on screen")}return e}function Ie(t,n,s){const e=[];return e.push(`
|
|
1
|
+
import{aU as Gt,s as Wt,g as Kt,q as Ht,p as Yt,a as Xt,b as Zt,_ as w,D as wt,I as Jt,d as ot,al as Qt,ac as $t,ad as te,ae as ee,e as ne,z as se,F as ie,G as oe}from"./index-Dh-tgeaL.js";import"./index-Cc3qXMhU.js";const kt=(t,n)=>Gt(t,"a",-n),_t=1e-10;function st(t,n){const s=ae(t),e=s.filter(c=>re(c,t));let i=0,o=0;const a=[];if(e.length>1){const c=Et(e);for(let u=0;u<e.length;++u){const r=e[u];r.angle=Math.atan2(r.x-c.x,r.y-c.y)}e.sort((u,r)=>r.angle-u.angle);let h=e[e.length-1];for(let u=0;u<e.length;++u){const r=e[u];o+=(h.x+r.x)*(r.y-h.y);const y={x:(r.x+h.x)/2,y:(r.y+h.y)/2};let d=null;for(let b=0;b<r.parentIndex.length;++b)if(h.parentIndex.includes(r.parentIndex[b])){const x=t[r.parentIndex[b]],M=Math.atan2(r.x-x.x,r.y-x.y),A=Math.atan2(h.x-x.x,h.y-x.y);let T=A-M;T<0&&(T+=2*Math.PI);const S=A-T/2;let g=q(y,{x:x.x+x.radius*Math.sin(S),y:x.y+x.radius*Math.cos(S)});g>x.radius*2&&(g=x.radius*2),(d==null||d.width>g)&&(d={circle:x,width:g,p1:r,p2:h,large:g>x.radius,sweep:!0})}d!=null&&(a.push(d),i+=lt(d.circle.radius,d.width),h=r)}}else{let c=t[0];for(let u=1;u<t.length;++u)t[u].radius<c.radius&&(c=t[u]);let h=!1;for(let u=0;u<t.length;++u)if(q(t[u],c)>Math.abs(c.radius-t[u].radius)){h=!0;break}h?i=o=0:(i=c.radius*c.radius*Math.PI,a.push({circle:c,p1:{x:c.x,y:c.y+c.radius},p2:{x:c.x-_t,y:c.y+c.radius},width:c.radius*2,large:!0,sweep:!0}))}return o/=2,n&&(n.area=i+o,n.arcArea=i,n.polygonArea=o,n.arcs=a,n.innerPoints=e,n.intersectionPoints=s),i+o}function re(t,n){return n.every(s=>q(t,s)<s.radius+_t)}function ae(t){const n=[];for(let s=0;s<t.length;++s)for(let e=s+1;e<t.length;++e){const i=Tt(t[s],t[e]);for(const o of i)o.parentIndex=[s,e],n.push(o)}return n}function lt(t,n){return t*t*Math.acos(1-n/t)-(t-n)*Math.sqrt(n*(2*t-n))}function q(t,n){return Math.sqrt((t.x-n.x)*(t.x-n.x)+(t.y-n.y)*(t.y-n.y))}function xt(t,n,s){if(s>=t+n)return 0;if(s<=Math.abs(t-n))return Math.PI*Math.min(t,n)*Math.min(t,n);const e=t-(s*s-n*n+t*t)/(2*s),i=n-(s*s-t*t+n*n)/(2*s);return lt(t,e)+lt(n,i)}function Tt(t,n){const s=q(t,n),e=t.radius,i=n.radius;if(s>=e+i||s<=Math.abs(e-i))return[];const o=(e*e-i*i+s*s)/(2*s),a=Math.sqrt(e*e-o*o),c=t.x+o*(n.x-t.x)/s,h=t.y+o*(n.y-t.y)/s,u=-(n.y-t.y)*(a/s),r=-(n.x-t.x)*(a/s);return[{x:c+u,y:h-r},{x:c-u,y:h+r}]}function Et(t){const n={x:0,y:0};for(const s of t)n.x+=s.x,n.y+=s.y;return n.x/=t.length,n.y/=t.length,n}function le(t,n,s,e){e=e||{};const i=e.maxIterations||100,o=e.tolerance||1e-10,a=t(n),c=t(s);let h=s-n;if(a*c>0)throw"Initial bisect points must have opposite signs";if(a===0)return n;if(c===0)return s;for(let u=0;u<i;++u){h/=2;const r=n+h,y=t(r);if(y*a>=0&&(n=r),Math.abs(h)<o||y===0)return r}return n+h}function ct(t){const n=new Array(t);for(let s=0;s<t;++s)n[s]=0;return n}function Mt(t,n){return ct(t).map(()=>ct(n))}function $(t,n){let s=0;for(let e=0;e<t.length;++e)s+=t[e]*n[e];return s}function ut(t){return Math.sqrt($(t,t))}function ft(t,n,s){for(let e=0;e<n.length;++e)t[e]=n[e]*s}function J(t,n,s,e,i){for(let o=0;o<t.length;++o)t[o]=n*s[o]+e*i[o]}function zt(t,n,s){s=s||{};const e=s.maxIterations||n.length*200,i=s.nonZeroDelta||1.05,o=s.zeroDelta||.001,a=s.minErrorDelta||1e-6,c=s.minErrorDelta||1e-5,h=s.rho!==void 0?s.rho:1,u=s.chi!==void 0?s.chi:2,r=s.psi!==void 0?s.psi:-.5,y=s.sigma!==void 0?s.sigma:.5;let d;const b=n.length,x=new Array(b+1);x[0]=n,x[0].fx=t(n),x[0].id=0;for(let v=0;v<b;++v){const l=n.slice();l[v]=l[v]?l[v]*i:o,x[v+1]=l,x[v+1].fx=t(l),x[v+1].id=v+1}function M(v){for(let l=0;l<v.length;l++)x[b][l]=v[l];x[b].fx=v.fx}const A=(v,l)=>v.fx-l.fx,T=n.slice(),S=n.slice(),g=n.slice(),m=n.slice();for(let v=0;v<e;++v){if(x.sort(A),s.history){const p=x.map(f=>{const N=f.slice();return N.fx=f.fx,N.id=f.id,N});p.sort((f,N)=>f.id-N.id),s.history.push({x:x[0].slice(),fx:x[0].fx,simplex:p})}d=0;for(let p=0;p<b;++p)d=Math.max(d,Math.abs(x[0][p]-x[1][p]));if(Math.abs(x[0].fx-x[b].fx)<a&&d<c)break;for(let p=0;p<b;++p){T[p]=0;for(let f=0;f<b;++f)T[p]+=x[f][p];T[p]/=b}const l=x[b];if(J(S,1+h,T,-h,l),S.fx=t(S),S.fx<x[0].fx)J(m,1+u,T,-u,l),m.fx=t(m),m.fx<S.fx?M(m):M(S);else if(S.fx>=x[b-1].fx){let p=!1;if(S.fx>l.fx?(J(g,1+r,T,-r,l),g.fx=t(g),g.fx<l.fx?M(g):p=!0):(J(g,1-r*h,T,r*h,l),g.fx=t(g),g.fx<S.fx?M(g):p=!0),p){if(y>=1)break;for(let f=1;f<x.length;++f)J(x[f],1-y,x[0],y,x[f]),x[f].fx=t(x[f])}}else M(S)}return x.sort(A),{fx:x[0].fx,x:x[0]}}function ce(t,n,s,e,i,o,a){const c=s.fx,h=$(s.fxprime,n);let u=c,r=c,y=h,d=0;i=i||1,o=o||1e-6,a=a||.1;function b(x,M,A){for(let T=0;T<16;++T)if(i=(x+M)/2,J(e.x,1,s.x,i,n),u=e.fx=t(e.x,e.fxprime),y=$(e.fxprime,n),u>c+o*i*h||u>=A)M=i;else{if(Math.abs(y)<=-a*h)return i;y*(M-x)>=0&&(M=x),x=i,A=u}return 0}for(let x=0;x<10;++x){if(J(e.x,1,s.x,i,n),u=e.fx=t(e.x,e.fxprime),y=$(e.fxprime,n),u>c+o*i*h||x&&u>=r)return b(d,i,r);if(Math.abs(y)<=-a*h)return i;if(y>=0)return b(i,d,u);r=u,d=i,i*=2}return i}function ue(t,n,s){let e={x:n.slice(),fx:0,fxprime:n.slice()},i={x:n.slice(),fx:0,fxprime:n.slice()};const o=n.slice();let a,c,h=1,u;s=s||{},u=s.maxIterations||n.length*20,e.fx=t(e.x,e.fxprime),a=e.fxprime.slice(),ft(a,e.fxprime,-1);for(let r=0;r<u;++r){if(h=ce(t,a,e,i,h),s.history&&s.history.push({x:e.x.slice(),fx:e.fx,fxprime:e.fxprime.slice(),alpha:h}),!h)ft(a,e.fxprime,-1);else{J(o,1,i.fxprime,-1,e.fxprime);const y=$(e.fxprime,e.fxprime),d=Math.max(0,$(o,i.fxprime)/y);J(a,d,a,-1,i.fxprime),c=e,e=i,i=c}if(ut(e.fxprime)<=1e-5)break}return s.history&&s.history.push({x:e.x.slice(),fx:e.fx,fxprime:e.fxprime.slice(),alpha:h}),e}function At(t,n={}){n.maxIterations=n.maxIterations||500;const s=n.initialLayout||ge,e=n.lossFunction||tt,i=fe(t,n),o=s(i,n),a=Object.keys(o),c=[];for(const r of a)c.push(o[r].x),c.push(o[r].y);const u=zt(r=>{const y={};for(let d=0;d<a.length;++d){const b=a[d];y[b]={x:r[2*d],y:r[2*d+1],radius:o[b].radius}}return e(y,i)},c,n).x;for(let r=0;r<a.length;++r){const y=a[r];o[y].x=u[2*r],o[y].y=u[2*r+1]}return o}const Rt=1e-10;function ht(t,n,s){return Math.min(t,n)*Math.min(t,n)*Math.PI<=s+Rt?Math.abs(t-n):le(e=>xt(t,n,e)-s,0,t+n)}function fe(t,n={}){const s=n.distinct,e=t.map(c=>Object.assign({},c));function i(c){return c.join(";")}if(s){const c=new Map;for(const h of e)for(let u=0;u<h.sets.length;u++){const r=String(h.sets[u]);c.set(r,h.size+(c.get(r)||0));for(let y=u+1;y<h.sets.length;y++){const d=String(h.sets[y]),b=`${r};${d}`,x=`${d};${r}`;c.set(b,h.size+(c.get(b)||0)),c.set(x,h.size+(c.get(x)||0))}}for(const h of e)h.sets.length<3&&(h.size=c.get(i(h.sets)))}const o=[],a=new Set;for(const c of e)if(c.sets.length===1)o.push(c.sets[0]);else if(c.sets.length===2){const h=c.sets[0],u=c.sets[1];a.add(i(c.sets)),a.add(i([u,h]))}o.sort((c,h)=>c===h?0:c<h?-1:1);for(let c=0;c<o.length;++c){const h=o[c];for(let u=c+1;u<o.length;++u){const r=o[u];a.has(i([h,r]))||e.push({sets:[h,r],size:0})}}return e}function he(t,n,s){const e=Mt(n.length,n.length),i=Mt(n.length,n.length);return t.filter(o=>o.sets.length===2).forEach(o=>{const a=s[o.sets[0]],c=s[o.sets[1]],h=Math.sqrt(n[a].size/Math.PI),u=Math.sqrt(n[c].size/Math.PI),r=ht(h,u,o.size);e[a][c]=e[c][a]=r;let y=0;o.size+1e-10>=Math.min(n[a].size,n[c].size)?y=1:o.size<=1e-10&&(y=-1),i[a][c]=i[c][a]=y}),{distances:e,constraints:i}}function de(t,n,s,e){for(let o=0;o<n.length;++o)n[o]=0;let i=0;for(let o=0;o<s.length;++o){const a=t[2*o],c=t[2*o+1];for(let h=o+1;h<s.length;++h){const u=t[2*h],r=t[2*h+1],y=s[o][h],d=e[o][h],b=(u-a)*(u-a)+(r-c)*(r-c),x=Math.sqrt(b),M=b-y*y;d>0&&x<=y||d<0&&x>=y||(i+=2*M*M,n[2*o]+=4*M*(a-u),n[2*o+1]+=4*M*(c-r),n[2*h]+=4*M*(u-a),n[2*h+1]+=4*M*(r-c))}}return i}function ge(t,n={}){let s=ye(t,n);const e=n.lossFunction||tt;if(t.length>=8){const i=xe(t,n),o=e(i,t),a=e(s,t);o+1e-8<a&&(s=i)}return s}function xe(t,n={}){const s=n.restarts||10,e=[],i={};for(const d of t)d.sets.length===1&&(i[d.sets[0]]=e.length,e.push(d));let{distances:o,constraints:a}=he(t,e,i);const c=ut(o.map(ut))/o.length;o=o.map(d=>d.map(b=>b/c));const h=(d,b)=>de(d,b,o,a);let u=null;for(let d=0;d<s;++d){const b=ct(o.length*2).map(Math.random),x=ue(h,b,n);(!u||x.fx<u.fx)&&(u=x)}const r=u.x,y={};for(let d=0;d<e.length;++d){const b=e[d];y[b.sets[0]]={x:r[2*d]*c,y:r[2*d+1]*c,radius:Math.sqrt(b.size/Math.PI)}}if(n.history)for(const d of n.history)ft(d.x,c);return y}function ye(t,n){const s=n&&n.lossFunction?n.lossFunction:tt,e={},i={};for(const y of t)if(y.sets.length===1){const d=y.sets[0];e[d]={x:1e10,y:1e10,rowid:e.length,size:y.size,radius:Math.sqrt(y.size/Math.PI)},i[d]=[]}t=t.filter(y=>y.sets.length===2);for(const y of t){let d=y.weight!=null?y.weight:1;const b=y.sets[0],x=y.sets[1];y.size+Rt>=Math.min(e[b].size,e[x].size)&&(d=0),i[b].push({set:x,size:y.size,weight:d}),i[x].push({set:b,size:y.size,weight:d})}const o=[];Object.keys(i).forEach(y=>{let d=0;for(let b=0;b<i[y].length;++b)d+=i[y][b].size*i[y][b].weight;o.push({set:y,size:d})});function a(y,d){return d.size-y.size}o.sort(a);const c={};function h(y){return y.set in c}function u(y,d){e[d].x=y.x,e[d].y=y.y,c[d]=!0}u({x:0,y:0},o[0].set);for(let y=1;y<o.length;++y){const d=o[y].set,b=i[d].filter(h),x=e[d];if(b.sort(a),b.length===0)throw"ERROR: missing pairwise overlap information";const M=[];for(var r=0;r<b.length;++r){const S=e[b[r].set],g=ht(x.radius,S.radius,b[r].size);M.push({x:S.x+g,y:S.y}),M.push({x:S.x-g,y:S.y}),M.push({y:S.y+g,x:S.x}),M.push({y:S.y-g,x:S.x});for(let m=r+1;m<b.length;++m){const v=e[b[m].set],l=ht(x.radius,v.radius,b[m].size),p=Tt({x:S.x,y:S.y,radius:g},{x:v.x,y:v.y,radius:l});M.push(...p)}}let A=1e50,T=M[0];for(const S of M){e[d].x=S.x,e[d].y=S.y;const g=s(e,t);g<A&&(A=g,T=S)}u(T,d)}return e}function tt(t,n){let s=0;for(const e of n){if(e.sets.length===1)continue;let i;if(e.sets.length===2){const a=t[e.sets[0]],c=t[e.sets[1]];i=xt(a.radius,c.radius,q(a,c))}else i=st(e.sets.map(a=>t[a]));const o=e.weight!=null?e.weight:1;s+=o*(i-e.size)*(i-e.size)}return s}function Dt(t,n){let s=0;for(const e of n){if(e.sets.length===1)continue;let i;if(e.sets.length===2){const c=t[e.sets[0]],h=t[e.sets[1]];i=xt(c.radius,h.radius,q(c,h))}else i=st(e.sets.map(c=>t[c]));const o=e.weight!=null?e.weight:1,a=Math.log((i+1)/(e.size+1));s+=o*a*a}return s}function pe(t,n,s){if(s==null?t.sort((i,o)=>o.radius-i.radius):t.sort(s),t.length>0){const i=t[0].x,o=t[0].y;for(const a of t)a.x-=i,a.y-=o}if(t.length===2&&q(t[0],t[1])<Math.abs(t[1].radius-t[0].radius)&&(t[1].x=t[0].x+t[0].radius-t[1].radius-1e-10,t[1].y=t[0].y),t.length>1){const i=Math.atan2(t[1].x,t[1].y)-n,o=Math.cos(i),a=Math.sin(i);for(const c of t){const h=c.x,u=c.y;c.x=o*h-a*u,c.y=a*h+o*u}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-n;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){const o=t[1].y/(1e-10+t[1].x);for(const a of t){var e=(a.x+o*a.y)/(1+o*o);a.x=2*e-a.x,a.y=2*e*o-a.y}}}}function me(t){t.forEach(i=>{i.parent=i});function n(i){return i.parent!==i&&(i.parent=n(i.parent)),i.parent}function s(i,o){const a=n(i),c=n(o);a.parent=c}for(let i=0;i<t.length;++i)for(let o=i+1;o<t.length;++o){const a=t[i].radius+t[o].radius;q(t[i],t[o])+1e-10<a&&s(t[o],t[i])}const e=new Map;for(let i=0;i<t.length;++i){const o=n(t[i]).parent.setid;e.has(o)||e.set(o,[]),e.get(o).push(t[i])}return t.forEach(i=>{delete i.parent}),Array.from(e.values())}function dt(t){const n=s=>{const e=t.reduce((o,a)=>Math.max(o,a[s]+a.radius),Number.NEGATIVE_INFINITY),i=t.reduce((o,a)=>Math.min(o,a[s]-a.radius),Number.POSITIVE_INFINITY);return{max:e,min:i}};return{xRange:n("x"),yRange:n("y")}}function Ct(t,n,s){n==null&&(n=Math.PI/2);let e=Ft(t).map(u=>Object.assign({},u));const i=me(e);for(const u of i){pe(u,n,s);const r=dt(u);u.size=(r.xRange.max-r.xRange.min)*(r.yRange.max-r.yRange.min),u.bounds=r}i.sort((u,r)=>r.size-u.size),e=i[0];let o=e.bounds;const a=(o.xRange.max-o.xRange.min)/50;function c(u,r,y){if(!u)return;const d=u.bounds;let b,x;if(r)b=o.xRange.max-d.xRange.min+a;else{b=o.xRange.max-d.xRange.max;const M=(d.xRange.max-d.xRange.min)/2-(o.xRange.max-o.xRange.min)/2;M<0&&(b+=M)}if(y)x=o.yRange.max-d.yRange.min+a;else{x=o.yRange.max-d.yRange.max;const M=(d.yRange.max-d.yRange.min)/2-(o.yRange.max-o.yRange.min)/2;M<0&&(x+=M)}for(const M of u)M.x+=b,M.y+=x,e.push(M)}let h=1;for(;h<i.length;)c(i[h],!0,!1),c(i[h+1],!1,!0),c(i[h+2],!0,!0),h+=3,o=dt(e);return Ot(e)}function Nt(t,n,s,e,i){const o=Ft(t);n-=2*e,s-=2*e;const{xRange:a,yRange:c}=dt(o);if(a.max===a.min||c.max===c.min)return console.log("not scaling solution: zero size detected"),t;let h,u;if(i){const b=Math.sqrt(i/Math.PI)*2;h=n/b,u=s/b}else h=n/(a.max-a.min),u=s/(c.max-c.min);const r=Math.min(u,h),y=(n-(a.max-a.min)*r)/2,d=(s-(c.max-c.min)*r)/2;return Ot(o.map(b=>({radius:r*b.radius,x:e+y+(b.x-a.min)*r,y:e+d+(b.y-c.min)*r,setid:b.setid})))}function Ot(t){const n={};for(const s of t)n[s.setid]=s;return n}function Ft(t){return Object.keys(t).map(s=>Object.assign(t[s],{setid:s}))}function be(t={}){let n=!1,s=600,e=350,i=15,o=1e3,a=Math.PI/2,c=!0,h=null,u=!0,r=!0,y=null,d=null,b=!1,x=null,M=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,A={},T=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],S=0,g=function(p){if(p in A)return A[p];var f=A[p]=T[S];return S+=1,S>=T.length&&(S=0),f},m=At,v=tt;function l(p){let f=p.datum();const N=new Set;f.forEach(k=>{k.size==0&&k.sets.length==1&&N.add(k.sets[0])}),f=f.filter(k=>!k.sets.some(F=>N.has(F)));let I={},D={};if(f.length>0){let k=m(f,{lossFunction:v,distinct:b});c&&(k=Ct(k,a,d)),I=Nt(k,s,e,i,h),D=jt(I,f,M)}const U={};f.forEach(k=>{k.label&&(U[k.sets]=k.label)});function j(k){if(k.sets in U)return U[k.sets];if(k.sets.length==1)return""+k.sets[0]}p.selectAll("svg").data([I]).enter().append("svg");const E=p.select("svg");n?E.attr("viewBox",`0 0 ${s} ${e}`):E.attr("width",s).attr("height",e);const R={};let _=!1;E.selectAll(".venn-area path").each(function(k){const F=this.getAttribute("d");k.sets.length==1&&F&&!b&&(_=!0,R[k.sets[0]]=ke(F))});function P(k){return F=>{const H=k.sets.map(et=>{let Y=R[et],Z=I[et];return Y||(Y={x:s/2,y:e/2,radius:1}),Z||(Z={x:s/2,y:e/2,radius:1}),{x:Y.x*(1-F)+Z.x*F,y:Y.y*(1-F)+Z.y*F,radius:Y.radius*(1-F)+Z.radius*F}});return St(H,x)}}const V=E.selectAll(".venn-area").data(f,k=>k.sets),O=V.enter().append("g").attr("class",k=>`venn-area venn-${k.sets.length==1?"circle":"intersection"}${k.colour||k.color?" venn-coloured":""}`).attr("data-venn-sets",k=>k.sets.join("_")),B=O.append("path"),W=O.append("text").attr("class","label").text(k=>j(k)).attr("text-anchor","middle").attr("dy",".35em").attr("x",s/2).attr("y",e/2);r&&(B.style("fill-opacity","0").filter(k=>k.sets.length==1).style("fill",k=>k.colour?k.colour:k.color?k.color:g(k.sets)).style("fill-opacity",".25"),W.style("fill",k=>k.colour||k.color?"#FFF":t.textFill?t.textFill:k.sets.length==1?g(k.sets):"#444"));function K(k){return typeof k.transition=="function"?k.transition("venn").duration(o):k}let z=p;_&&typeof z.transition=="function"?(z=K(p),z.selectAll("path").attrTween("d",P)):z.selectAll("path").attr("d",k=>St(k.sets.map(F=>I[F])),x);const L=z.selectAll("text").filter(k=>k.sets in D).text(k=>j(k)).attr("x",k=>Math.floor(D[k.sets].x)).attr("y",k=>Math.floor(D[k.sets].y));u&&(_?"on"in L?L.on("end",rt(I,j)):L.each("end",rt(I,j)):L.each(rt(I,j)));const C=K(V.exit()).remove();typeof V.transition=="function"&&C.selectAll("path").attrTween("d",P);const X=C.selectAll("text").attr("x",s/2).attr("y",e/2);return y!==null&&(W.style("font-size","0px"),L.style("font-size",y),X.style("font-size","0px")),{circles:I,textCentres:D,nodes:V,enter:O,update:z,exit:C}}return l.wrap=function(p){return arguments.length?(u=p,l):u},l.useViewBox=function(){return n=!0,l},l.width=function(p){return arguments.length?(s=p,l):s},l.height=function(p){return arguments.length?(e=p,l):e},l.padding=function(p){return arguments.length?(i=p,l):i},l.distinct=function(p){return arguments.length?(b=p,l):b},l.colours=function(p){return arguments.length?(g=p,l):g},l.colors=function(p){return arguments.length?(g=p,l):g},l.fontSize=function(p){return arguments.length?(y=p,l):y},l.round=function(p){return arguments.length?(x=p,l):x},l.duration=function(p){return arguments.length?(o=p,l):o},l.layoutFunction=function(p){return arguments.length?(m=p,l):m},l.normalize=function(p){return arguments.length?(c=p,l):c},l.scaleToFit=function(p){return arguments.length?(h=p,l):h},l.styled=function(p){return arguments.length?(r=p,l):r},l.orientation=function(p){return arguments.length?(a=p,l):a},l.orientationOrder=function(p){return arguments.length?(d=p,l):d},l.lossFunction=function(p){return arguments.length?(v=p==="default"?tt:p==="logRatio"?Dt:p,l):v},l}function rt(t,n){return function(s){const e=this,i=t[s.sets[0]].radius||50,o=n(s)||"",a=o.split(/\s+/).reverse(),h=(o.length+a.length)/3;let u=a.pop(),r=[u],y=0;const d=1.1;e.textContent=null;const b=[];function x(g){const m=e.ownerDocument.createElementNS(e.namespaceURI,"tspan");return m.textContent=g,b.push(m),e.append(m),m}let M=x(u);for(;u=a.pop(),!!u;){r.push(u);const g=r.join(" ");M.textContent=g,g.length>h&&M.getComputedTextLength()>i&&(r.pop(),M.textContent=r.join(" "),r=[u],M=x(u),y++)}const A=.35-y*d/2,T=e.getAttribute("x"),S=e.getAttribute("y");b.forEach((g,m)=>{g.setAttribute("x",T),g.setAttribute("y",S),g.setAttribute("dy",`${A+m*d}em`)})}}function at(t,n,s){let e=n[0].radius-q(n[0],t);for(let i=1;i<n.length;++i){const o=n[i].radius-q(n[i],t);o<=e&&(e=o)}for(let i=0;i<s.length;++i){const o=q(s[i],t)-s[i].radius;o<=e&&(e=o)}return e}function Lt(t,n,s){const e=[];for(const r of t)e.push({x:r.x,y:r.y}),e.push({x:r.x+r.radius/2,y:r.y}),e.push({x:r.x-r.radius/2,y:r.y}),e.push({x:r.x,y:r.y+r.radius/2}),e.push({x:r.x,y:r.y-r.radius/2});let i=e[0],o=at(e[0],t,n);for(let r=1;r<e.length;++r){const y=at(e[r],t,n);y>=o&&(i=e[r],o=y)}const a=zt(r=>-1*at({x:r[0],y:r[1]},t,n),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,c={x:s?0:a[0],y:a[1]};let h=!0;for(const r of t)if(q(c,r)>r.radius){h=!1;break}for(const r of n)if(q(c,r)<r.radius){h=!1;break}if(h)return c;if(t.length==1)return{x:t[0].x,y:t[0].y};const u={};return st(t,u),u.arcs.length===0?{x:0,y:-1e3,disjoint:!0}:u.arcs.length==1?{x:u.arcs[0].circle.x,y:u.arcs[0].circle.y}:n.length?Lt(t,[]):Et(u.arcs.map(r=>r.p1))}function ve(t){const n={},s=Object.keys(t);for(const e of s)n[e]=[];for(let e=0;e<s.length;e++){const i=s[e],o=t[i];for(let a=e+1;a<s.length;++a){const c=s[a],h=t[c],u=q(o,h);u+h.radius<=o.radius+1e-10?n[c].push(i):u+o.radius<=h.radius+1e-10&&n[i].push(c)}}return n}function jt(t,n,s){const e={},i=ve(t);for(let o=0;o<n.length;++o){const a=n[o].sets,c={},h={};for(let d=0;d<a.length;++d){c[a[d]]=!0;const b=i[a[d]];for(let x=0;x<b.length;++x)h[b[x]]=!0}const u=[],r=[];for(let d in t)d in c?u.push(t[d]):d in h||r.push(t[d]);const y=Lt(u,r,s);e[a]=y,y.disjoint&&n[o].size>0&&console.log("WARNING: area "+a+" not represented on screen")}return e}function Ie(t,n,s){const e=[];return e.push(`
|
|
2
2
|
M`,t,n),e.push(`
|
|
3
3
|
m`,-s,0),e.push(`
|
|
4
4
|
a`,s,s,0,1,0,s*2,0),e.push(`
|