@yancyyu/openhermit 1.5.8
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/LICENSE +611 -0
- package/README.md +220 -0
- package/bin/hermit.mjs +364 -0
- package/bin/kill-dev.js +20 -0
- package/dist-renderer/assets/01-BApSFlV4.png +0 -0
- package/dist-renderer/assets/02-CRQGs29u.png +0 -0
- package/dist-renderer/assets/03-BFCM2jnD.png +0 -0
- package/dist-renderer/assets/04-B2FThbKO.png +0 -0
- package/dist-renderer/assets/05-D9p0Znkd.png +0 -0
- package/dist-renderer/assets/06-DZAfbDlP.png +0 -0
- package/dist-renderer/assets/07-B_PXWGCc.png +0 -0
- package/dist-renderer/assets/08-DGRMZ6sl.png +0 -0
- package/dist-renderer/assets/09-SGCQvc7U.png +0 -0
- package/dist-renderer/assets/10-Cve81Q3W.png +0 -0
- package/dist-renderer/assets/11-DGglolDW.png +0 -0
- package/dist-renderer/assets/12-C3lnu79c.png +0 -0
- package/dist-renderer/assets/13-M59meqdw.png +0 -0
- package/dist-renderer/assets/ProjectEditorOverlay-BNoDw9T1.js +57 -0
- package/dist-renderer/assets/TeamGraphOverlay-CfGRKQIu.js +1 -0
- package/dist-renderer/assets/_basePickBy-Ct8Hm5_h.js +1 -0
- package/dist-renderer/assets/_baseUniq-BofrAFBx.js +1 -0
- package/dist-renderer/assets/apl-B4CMkyY2.js +1 -0
- package/dist-renderer/assets/arc-AbJgatzR.js +1 -0
- package/dist-renderer/assets/architectureDiagram-VXUJARFQ-gpniCJVk.js +36 -0
- package/dist-renderer/assets/asciiarmor-Df11BRmG.js +1 -0
- package/dist-renderer/assets/asn1-EdZsLKOL.js +1 -0
- package/dist-renderer/assets/asterisk-B-8jnY81.js +1 -0
- package/dist-renderer/assets/blockDiagram-VD42YOAC-aBbbmONC.js +122 -0
- package/dist-renderer/assets/brainfuck-C4LP7Hcl.js +1 -0
- package/dist-renderer/assets/c4Diagram-YG6GDRKO-DJio1IsU.js +10 -0
- package/dist-renderer/assets/channel-CZ8sd5Xf.js +1 -0
- package/dist-renderer/assets/chunk-4BX2VUAB-D1_HKao2.js +1 -0
- package/dist-renderer/assets/chunk-55IACEB6-NAmVxF4k.js +1 -0
- package/dist-renderer/assets/chunk-B4BG7PRW-Ce829laz.js +165 -0
- package/dist-renderer/assets/chunk-DI55MBZ5-Ct2Le12y.js +220 -0
- package/dist-renderer/assets/chunk-FMBD7UC4-Cie3DzKk.js +15 -0
- package/dist-renderer/assets/chunk-QN33PNHL-4f5Yb50e.js +1 -0
- package/dist-renderer/assets/chunk-QZHKN3VN-D9ranl9c.js +1 -0
- package/dist-renderer/assets/chunk-TZMSLE5B-bdGZWlEy.js +1 -0
- package/dist-renderer/assets/classDiagram-2ON5EDUG-CMcfSKj5.js +1 -0
- package/dist-renderer/assets/classDiagram-v2-WZHVMYZB-CMcfSKj5.js +1 -0
- package/dist-renderer/assets/clike-B9uivgTg.js +1 -0
- package/dist-renderer/assets/clojure-BMjYHr_A.js +1 -0
- package/dist-renderer/assets/clone-CMuwA8RV.js +1 -0
- package/dist-renderer/assets/cmake-BQqOBYOt.js +1 -0
- package/dist-renderer/assets/cobol-CWcv1MsR.js +1 -0
- package/dist-renderer/assets/coffeescript-S37ZYGWr.js +1 -0
- package/dist-renderer/assets/commonlisp-DBKNyK5s.js +1 -0
- package/dist-renderer/assets/cose-bilkent-S5V4N54A-C6tvfcVi.js +1 -0
- package/dist-renderer/assets/crystal-SjHAIU92.js +1 -0
- package/dist-renderer/assets/css-BnMrqG3P.js +1 -0
- package/dist-renderer/assets/cypher-C_CwsFkJ.js +1 -0
- package/dist-renderer/assets/cytoscape.esm-DsxaTqgk.js +331 -0
- package/dist-renderer/assets/d-pRatUO7H.js +1 -0
- package/dist-renderer/assets/dagre-6UL2VRFP-B-4qcZam.js +4 -0
- package/dist-renderer/assets/defaultLocale-DX6XiGOO.js +1 -0
- package/dist-renderer/assets/diagram-PSM6KHXK-CwT3TLjx.js +24 -0
- package/dist-renderer/assets/diagram-QEK2KX5R-BWH6-ZFd.js +43 -0
- package/dist-renderer/assets/diagram-S2PKOQOG-DfpPnfi1.js +24 -0
- package/dist-renderer/assets/diff-DbItnlRl.js +1 -0
- package/dist-renderer/assets/dockerfile-BKs6k2Af.js +1 -0
- package/dist-renderer/assets/dtd-DF_7sFjM.js +1 -0
- package/dist-renderer/assets/dylan-DwRh75JA.js +1 -0
- package/dist-renderer/assets/ebnf-CDyGwa7X.js +1 -0
- package/dist-renderer/assets/ecl-Cabwm37j.js +1 -0
- package/dist-renderer/assets/eiffel-CnydiIhH.js +1 -0
- package/dist-renderer/assets/elm-vLlmbW-K.js +1 -0
- package/dist-renderer/assets/erDiagram-Q2GNP2WA-BFbEFR4x.js +60 -0
- package/dist-renderer/assets/erlang-BNw1qcRV.js +1 -0
- package/dist-renderer/assets/factor-kuTfRLto.js +1 -0
- package/dist-renderer/assets/favicon-B8xY-GVk.png +0 -0
- package/dist-renderer/assets/fcl-Kvtd6kyn.js +1 -0
- package/dist-renderer/assets/flowDiagram-NV44I4VS-Dg3cf5hW.js +162 -0
- package/dist-renderer/assets/forth-Ffai-XNe.js +1 -0
- package/dist-renderer/assets/fortran-DYz_wnZ1.js +1 -0
- package/dist-renderer/assets/ganttDiagram-JELNMOA3-B21y55W5.js +267 -0
- package/dist-renderer/assets/gas-Bneqetm1.js +1 -0
- package/dist-renderer/assets/gherkin-heZmZLOM.js +1 -0
- package/dist-renderer/assets/gitGraphDiagram-V2S2FVAM-BDV3BJzn.js +65 -0
- package/dist-renderer/assets/graph-BfaZ4hZt.js +1 -0
- package/dist-renderer/assets/groovy-D9Dt4D0W.js +1 -0
- package/dist-renderer/assets/haskell-BWDZoCOh.js +1 -0
- package/dist-renderer/assets/haxe-H-WmDvRZ.js +1 -0
- package/dist-renderer/assets/http-DBlCnlav.js +1 -0
- package/dist-renderer/assets/idl-BEugSyMb.js +1 -0
- package/dist-renderer/assets/index-BMXHMpkG.js +1 -0
- package/dist-renderer/assets/index-CCqtDawH.js +1 -0
- package/dist-renderer/assets/index-CVMSpK8C.js +1 -0
- package/dist-renderer/assets/index-CZltVMDP.js +1844 -0
- package/dist-renderer/assets/index-CaG9mf8s.css +1 -0
- package/dist-renderer/assets/index-Ct0-y9TF.js +1 -0
- package/dist-renderer/assets/index-pMg_LlsS.js +1 -0
- package/dist-renderer/assets/infoDiagram-HS3SLOUP-DvMlS0CL.js +2 -0
- package/dist-renderer/assets/init-Gi6I4Gst.js +1 -0
- package/dist-renderer/assets/javascript-qCveANmP.js +1 -0
- package/dist-renderer/assets/journeyDiagram-XKPGCS4Q-DIyMluRv.js +139 -0
- package/dist-renderer/assets/julia-DuME0IfC.js +1 -0
- package/dist-renderer/assets/kanban-definition-3W4ZIXB7-CVOx8f-7.js +89 -0
- package/dist-renderer/assets/katex-DGN8GczM.js +261 -0
- package/dist-renderer/assets/layout-BPKIXUf4.js +1 -0
- package/dist-renderer/assets/linear-CScZGLr2.js +1 -0
- package/dist-renderer/assets/livescript-BwQOo05w.js +1 -0
- package/dist-renderer/assets/lua-BgMRiT3U.js +1 -0
- package/dist-renderer/assets/mathematica-DTrFuWx2.js +1 -0
- package/dist-renderer/assets/mbox-CNhZ1qSd.js +1 -0
- package/dist-renderer/assets/mindmap-definition-VGOIOE7T-CmDQ7Wo6.js +68 -0
- package/dist-renderer/assets/mirc-CjQqDB4T.js +1 -0
- package/dist-renderer/assets/mllike-CXdrOF99.js +1 -0
- package/dist-renderer/assets/modelica-Dc1JOy9r.js +1 -0
- package/dist-renderer/assets/mscgen-BA5vi2Kp.js +1 -0
- package/dist-renderer/assets/mumps-BT43cFF4.js +1 -0
- package/dist-renderer/assets/nginx-DdIZxoE0.js +1 -0
- package/dist-renderer/assets/nsis-LdVXkNf5.js +1 -0
- package/dist-renderer/assets/ntriples-BfvgReVJ.js +1 -0
- package/dist-renderer/assets/octave-Ck1zUtKM.js +1 -0
- package/dist-renderer/assets/ordinal-Cboi1Yqb.js +1 -0
- package/dist-renderer/assets/oz-BzwKVEFT.js +1 -0
- package/dist-renderer/assets/pascal--L3eBynH.js +1 -0
- package/dist-renderer/assets/perl-CdXCOZ3F.js +1 -0
- package/dist-renderer/assets/pieDiagram-ADFJNKIX-DbVClin-.js +30 -0
- package/dist-renderer/assets/pig-CevX1Tat.js +1 -0
- package/dist-renderer/assets/powershell-CFHJl5sT.js +1 -0
- package/dist-renderer/assets/properties-C78fOPTZ.js +1 -0
- package/dist-renderer/assets/protobuf-ChK-085T.js +1 -0
- package/dist-renderer/assets/pug-DukmZTjD.js +1 -0
- package/dist-renderer/assets/puppet-DMA9R1ak.js +1 -0
- package/dist-renderer/assets/python-BuPzkPfP.js +1 -0
- package/dist-renderer/assets/q-pXgVlZs6.js +1 -0
- package/dist-renderer/assets/quadrantDiagram-AYHSOK5B-CAB0MYcW.js +7 -0
- package/dist-renderer/assets/r-DUYO_cvP.js +1 -0
- package/dist-renderer/assets/requirementDiagram-UZGBJVZJ-w2Lfpg3T.js +64 -0
- package/dist-renderer/assets/rpm-CTu-6PCP.js +1 -0
- package/dist-renderer/assets/ruby-B2Rjki9n.js +1 -0
- package/dist-renderer/assets/sankeyDiagram-TZEHDZUN-kvG1QoKY.js +10 -0
- package/dist-renderer/assets/sas-B4kiWyti.js +1 -0
- package/dist-renderer/assets/scheme-C41bIUwD.js +1 -0
- package/dist-renderer/assets/sequenceDiagram-WL72ISMW-DCVBQ23J.js +145 -0
- package/dist-renderer/assets/shell-CjFT_Tl9.js +1 -0
- package/dist-renderer/assets/sieve-C3Gn_uJK.js +1 -0
- package/dist-renderer/assets/simple-mode-GW_nhZxv.js +1 -0
- package/dist-renderer/assets/smalltalk-CnHTOXQT.js +1 -0
- package/dist-renderer/assets/solr-DehyRSwq.js +1 -0
- package/dist-renderer/assets/sparql-DkYu6x3z.js +1 -0
- package/dist-renderer/assets/splashScene-C8lWNnm4.js +1 -0
- package/dist-renderer/assets/spreadsheet-BCZA_wO0.js +1 -0
- package/dist-renderer/assets/sql-D0XecflT.js +1 -0
- package/dist-renderer/assets/stateDiagram-FKZM4ZOC-ItZ0JBvq.js +1 -0
- package/dist-renderer/assets/stateDiagram-v2-4FDKWEC3-Hpmw4dMm.js +1 -0
- package/dist-renderer/assets/stex-C3f8Ysf7.js +1 -0
- package/dist-renderer/assets/stylus-B533Al4x.js +1 -0
- package/dist-renderer/assets/swift-BzpIVaGY.js +1 -0
- package/dist-renderer/assets/tcl-DVfN8rqt.js +1 -0
- package/dist-renderer/assets/textile-CnDTJFAw.js +1 -0
- package/dist-renderer/assets/tiddlywiki-DO-Gjzrf.js +1 -0
- package/dist-renderer/assets/tiki-DGYXhP31.js +1 -0
- package/dist-renderer/assets/timeline-definition-IT6M3QCI-BzSFaAjV.js +61 -0
- package/dist-renderer/assets/toml-Bm5Em-hy.js +1 -0
- package/dist-renderer/assets/treemap-GDKQZRPO-fSz4hQn0.js +162 -0
- package/dist-renderer/assets/troff-wAsdV37c.js +1 -0
- package/dist-renderer/assets/ttcn-CfJYG6tj.js +1 -0
- package/dist-renderer/assets/ttcn-cfg-B9xdYoR4.js +1 -0
- package/dist-renderer/assets/turtle-B1tBg_DP.js +1 -0
- package/dist-renderer/assets/vb-CmGdzxic.js +1 -0
- package/dist-renderer/assets/vbscript-BuJXcnF6.js +1 -0
- package/dist-renderer/assets/velocity-D8B20fx6.js +1 -0
- package/dist-renderer/assets/verilog-C6RDOZhf.js +1 -0
- package/dist-renderer/assets/vhdl-lSbBsy5d.js +1 -0
- package/dist-renderer/assets/webidl-ZXfAyPTL.js +1 -0
- package/dist-renderer/assets/xquery-CQfU5ijd.js +1 -0
- package/dist-renderer/assets/xychartDiagram-PRI3JC2R-CT1kaGlv.js +7 -0
- package/dist-renderer/assets/yacas-BJ4BC0dw.js +1 -0
- package/dist-renderer/assets/z80-Hz9HOZM7.js +1 -0
- package/dist-renderer/index.html +1274 -0
- package/package.json +181 -0
- package/src/features/README.md +24 -0
- package/src/features/agent-graph/README.md +21 -0
- package/src/features/agent-graph/STABLE_SLOT_LAYOUT_PLAN.md +2846 -0
- package/src/features/agent-graph/core/domain/buildInlineActivityEntries.ts +416 -0
- package/src/features/agent-graph/core/domain/collapseOverflowStacks.ts +126 -0
- package/src/features/agent-graph/core/domain/graphOwnerIdentity.ts +55 -0
- package/src/features/agent-graph/core/domain/taskGraphSemantics.ts +48 -0
- package/src/features/agent-graph/renderer/adapters/TeamGraphAdapter.ts +1400 -0
- package/src/features/agent-graph/renderer/hooks/useGraphActivityContext.ts +34 -0
- package/src/features/agent-graph/renderer/hooks/useGraphCreateTaskDialog.tsx +126 -0
- package/src/features/agent-graph/renderer/hooks/useGraphMemberPopoverContext.ts +34 -0
- package/src/features/agent-graph/renderer/hooks/useGraphSidebarVisibility.ts +52 -0
- package/src/features/agent-graph/renderer/hooks/useTeamGraphAdapter.ts +173 -0
- package/src/features/agent-graph/renderer/hooks/useTeamGraphSurfaceActions.ts +98 -0
- package/src/features/agent-graph/renderer/index.ts +14 -0
- package/src/features/agent-graph/renderer/ui/GraphActivityCard.tsx +96 -0
- package/src/features/agent-graph/renderer/ui/GraphActivityHud.tsx +498 -0
- package/src/features/agent-graph/renderer/ui/GraphBlockingEdgePopover.tsx +207 -0
- package/src/features/agent-graph/renderer/ui/GraphNodePopover.tsx +573 -0
- package/src/features/agent-graph/renderer/ui/GraphProvisioningHud.tsx +113 -0
- package/src/features/agent-graph/renderer/ui/GraphTaskCard.tsx +149 -0
- package/src/features/agent-graph/renderer/ui/GraphTransientHandoffHud.tsx +176 -0
- package/src/features/agent-graph/renderer/ui/TeamGraphOverlay.tsx +224 -0
- package/src/features/agent-graph/renderer/ui/TeamGraphTab.tsx +257 -0
- package/src/features/agent-graph/renderer/ui/buildTransientHandoffMessage.ts +70 -0
- package/src/features/recent-projects/contracts/api.ts +5 -0
- package/src/features/recent-projects/contracts/channels.ts +2 -0
- package/src/features/recent-projects/contracts/dto.ts +24 -0
- package/src/features/recent-projects/contracts/index.ts +4 -0
- package/src/features/recent-projects/contracts/normalize.ts +32 -0
- package/src/features/recent-projects/core/application/models/ListDashboardRecentProjectsResponse.ts +6 -0
- package/src/features/recent-projects/core/application/ports/ClockPort.ts +3 -0
- package/src/features/recent-projects/core/application/ports/ListDashboardRecentProjectsOutputPort.ts +5 -0
- package/src/features/recent-projects/core/application/ports/LoggerPort.ts +5 -0
- package/src/features/recent-projects/core/application/ports/RecentProjectsCachePort.ts +5 -0
- package/src/features/recent-projects/core/application/ports/RecentProjectsSourcePort.ts +14 -0
- package/src/features/recent-projects/core/application/use-cases/ListDashboardRecentProjectsUseCase.ts +191 -0
- package/src/features/recent-projects/core/domain/models/ProviderId.ts +1 -0
- package/src/features/recent-projects/core/domain/models/RecentProjectAggregate.ts +14 -0
- package/src/features/recent-projects/core/domain/models/RecentProjectCandidate.ts +14 -0
- package/src/features/recent-projects/core/domain/models/RecentProjectOpenTarget.ts +3 -0
- package/src/features/recent-projects/core/domain/policies/mergeRecentProjectCandidates.ts +88 -0
- package/src/features/recent-projects/main/adapters/input/http/registerRecentProjectsHttp.ts +30 -0
- package/src/features/recent-projects/main/adapters/output/presenters/DashboardRecentProjectsPresenter.ts +27 -0
- package/src/features/recent-projects/main/adapters/output/sources/ClaudeRecentProjectsSourceAdapter.ts +91 -0
- package/src/features/recent-projects/main/adapters/output/sources/CodexRecentProjectsSourceAdapter.ts +326 -0
- package/src/features/recent-projects/main/composition/createRecentProjectsFeature.ts +43 -0
- package/src/features/recent-projects/main/index.ts +3 -0
- package/src/features/recent-projects/main/infrastructure/cache/InMemoryRecentProjectsCache.ts +34 -0
- package/src/features/recent-projects/main/infrastructure/codex/CodexAppServerClient.ts +116 -0
- package/src/features/recent-projects/main/infrastructure/identity/RecentProjectIdentityResolver.ts +20 -0
- package/src/features/recent-projects/main/infrastructure/identity/normalizeIdentityPath.ts +10 -0
- package/src/features/recent-projects/renderer/adapters/RecentProjectsSectionAdapter.ts +132 -0
- package/src/features/recent-projects/renderer/hooks/useOpenRecentProject.ts +143 -0
- package/src/features/recent-projects/renderer/hooks/useRecentProjectsSection.ts +289 -0
- package/src/features/recent-projects/renderer/index.ts +2 -0
- package/src/features/recent-projects/renderer/ui/RecentProjectCard.tsx +221 -0
- package/src/features/recent-projects/renderer/ui/RecentProjectsSection.tsx +167 -0
- package/src/features/recent-projects/renderer/utils/activeProjectTeams.ts +48 -0
- package/src/features/recent-projects/renderer/utils/navigation.ts +65 -0
- package/src/features/recent-projects/renderer/utils/projectDecorations.ts +11 -0
- package/src/features/recent-projects/renderer/utils/recentProjectOpenHistory.ts +268 -0
- package/src/features/recent-projects/renderer/utils/recentProjectsClientCache.ts +78 -0
- package/src/main/constants/messageTags.ts +46 -0
- package/src/main/constants/worktreePatterns.ts +47 -0
- package/src/main/server.ts +3705 -0
- package/src/main/services/UpdateService.ts +166 -0
- package/src/main/services/ccConnect/CcConnectBridge.ts +313 -0
- package/src/main/services/ccConnect/CcConnectClient.ts +397 -0
- package/src/main/services/ccConnect/MessageBridge.ts +162 -0
- package/src/main/services/ccConnect/ProjectMappingStore.ts +148 -0
- package/src/main/services/ccConnect/index.ts +8 -0
- package/src/main/services/teams-mvp/TeamProvisioningService.ts +275 -0
- package/src/main/services/teams-mvp/TeamWorkspaceService.ts +404 -0
- package/src/main/services/teams-mvp/index.ts +26 -0
- package/src/main/types/chunks.ts +506 -0
- package/src/main/types/domain.ts +342 -0
- package/src/main/types/index.ts +24 -0
- package/src/main/types/jsonl.ts +355 -0
- package/src/main/types/messages.ts +395 -0
- package/src/renderer/App.tsx +287 -0
- package/src/renderer/api/httpClient.ts +2207 -0
- package/src/renderer/api/index.ts +19 -0
- package/src/renderer/api/providers.ts +77 -0
- package/src/renderer/assets/participant-avatars/01.png +0 -0
- package/src/renderer/assets/participant-avatars/02.png +0 -0
- package/src/renderer/assets/participant-avatars/03.png +0 -0
- package/src/renderer/assets/participant-avatars/04.png +0 -0
- package/src/renderer/assets/participant-avatars/05.png +0 -0
- package/src/renderer/assets/participant-avatars/06.png +0 -0
- package/src/renderer/assets/participant-avatars/07.png +0 -0
- package/src/renderer/assets/participant-avatars/08.png +0 -0
- package/src/renderer/assets/participant-avatars/09.png +0 -0
- package/src/renderer/assets/participant-avatars/10.png +0 -0
- package/src/renderer/assets/participant-avatars/11.png +0 -0
- package/src/renderer/assets/participant-avatars/12.png +0 -0
- package/src/renderer/assets/participant-avatars/13.png +0 -0
- package/src/renderer/components/chat/AIChatGroup.tsx +519 -0
- package/src/renderer/components/chat/ChatHistory.tsx +1115 -0
- package/src/renderer/components/chat/ChatHistoryEmptyState.tsx +15 -0
- package/src/renderer/components/chat/ChatHistoryItem.tsx +144 -0
- package/src/renderer/components/chat/ChatHistoryLoadingState.tsx +45 -0
- package/src/renderer/components/chat/CompactBoundary.tsx +169 -0
- package/src/renderer/components/chat/ContextBadge.tsx +582 -0
- package/src/renderer/components/chat/DisplayItemList.tsx +431 -0
- package/src/renderer/components/chat/LastOutputDisplay.tsx +259 -0
- package/src/renderer/components/chat/SessionContextPanel/DirectoryTree/DirectoryTreeNode.tsx +125 -0
- package/src/renderer/components/chat/SessionContextPanel/DirectoryTree/buildDirectoryTree.ts +47 -0
- package/src/renderer/components/chat/SessionContextPanel/DirectoryTree/types.ts +12 -0
- package/src/renderer/components/chat/SessionContextPanel/components/ClaudeMdFilesSection.tsx +90 -0
- package/src/renderer/components/chat/SessionContextPanel/components/ClaudeMdSection.tsx +86 -0
- package/src/renderer/components/chat/SessionContextPanel/components/CollapsibleSection.tsx +77 -0
- package/src/renderer/components/chat/SessionContextPanel/components/FlatInjectionList.tsx +248 -0
- package/src/renderer/components/chat/SessionContextPanel/components/MentionedFilesSection.tsx +50 -0
- package/src/renderer/components/chat/SessionContextPanel/components/RankedInjectionList.tsx +284 -0
- package/src/renderer/components/chat/SessionContextPanel/components/SessionContextHeader.tsx +290 -0
- package/src/renderer/components/chat/SessionContextPanel/components/SessionContextHelpTooltip.tsx +165 -0
- package/src/renderer/components/chat/SessionContextPanel/components/TaskCoordinationSection.tsx +47 -0
- package/src/renderer/components/chat/SessionContextPanel/components/ThinkingTextSection.tsx +47 -0
- package/src/renderer/components/chat/SessionContextPanel/components/ToolOutputsSection.tsx +47 -0
- package/src/renderer/components/chat/SessionContextPanel/components/UserMessagesSection.tsx +47 -0
- package/src/renderer/components/chat/SessionContextPanel/index.tsx +314 -0
- package/src/renderer/components/chat/SessionContextPanel/items/ClaudeMdItem.tsx +76 -0
- package/src/renderer/components/chat/SessionContextPanel/items/MentionedFileItem.tsx +91 -0
- package/src/renderer/components/chat/SessionContextPanel/items/TaskCoordinationItem.tsx +116 -0
- package/src/renderer/components/chat/SessionContextPanel/items/ThinkingTextItem.tsx +96 -0
- package/src/renderer/components/chat/SessionContextPanel/items/ToolBreakdownItem.tsx +38 -0
- package/src/renderer/components/chat/SessionContextPanel/items/ToolOutputItem.tsx +113 -0
- package/src/renderer/components/chat/SessionContextPanel/items/UserMessageItem.tsx +69 -0
- package/src/renderer/components/chat/SessionContextPanel/types.ts +96 -0
- package/src/renderer/components/chat/SessionContextPanel/utils/formatting.ts +6 -0
- package/src/renderer/components/chat/SessionContextPanel/utils/pathParsing.ts +23 -0
- package/src/renderer/components/chat/SystemChatGroup.tsx +60 -0
- package/src/renderer/components/chat/UserChatGroup.tsx +668 -0
- package/src/renderer/components/chat/items/BaseItem.tsx +213 -0
- package/src/renderer/components/chat/items/ExecutionTrace.tsx +279 -0
- package/src/renderer/components/chat/items/LinkedToolItem.tsx +235 -0
- package/src/renderer/components/chat/items/MetricsPill.tsx +215 -0
- package/src/renderer/components/chat/items/SlashItem.tsx +81 -0
- package/src/renderer/components/chat/items/SubagentItem.tsx +592 -0
- package/src/renderer/components/chat/items/TeammateMessageItem.tsx +261 -0
- package/src/renderer/components/chat/items/TextItem.tsx +82 -0
- package/src/renderer/components/chat/items/ThinkingItem.tsx +82 -0
- package/src/renderer/components/chat/items/baseItemHelpers.ts +42 -0
- package/src/renderer/components/chat/items/linkedTool/CollapsibleOutputSection.tsx +57 -0
- package/src/renderer/components/chat/items/linkedTool/DefaultToolViewer.tsx +56 -0
- package/src/renderer/components/chat/items/linkedTool/EditToolViewer.tsx +74 -0
- package/src/renderer/components/chat/items/linkedTool/ReadToolViewer.tsx +102 -0
- package/src/renderer/components/chat/items/linkedTool/SkillToolViewer.tsx +67 -0
- package/src/renderer/components/chat/items/linkedTool/ToolErrorDisplay.tsx +43 -0
- package/src/renderer/components/chat/items/linkedTool/WriteToolViewer.tsx +66 -0
- package/src/renderer/components/chat/items/linkedTool/index.ts +13 -0
- package/src/renderer/components/chat/items/linkedTool/renderHelpers.tsx +259 -0
- package/src/renderer/components/chat/markdownComponents.tsx +257 -0
- package/src/renderer/components/chat/markdownCopyUtils.ts +18 -0
- package/src/renderer/components/chat/searchHighlightUtils.ts +166 -0
- package/src/renderer/components/chat/viewers/CodeBlockViewer.tsx +244 -0
- package/src/renderer/components/chat/viewers/DiffViewer.tsx +459 -0
- package/src/renderer/components/chat/viewers/FileLink.tsx +182 -0
- package/src/renderer/components/chat/viewers/MarkdownViewer.tsx +1093 -0
- package/src/renderer/components/chat/viewers/MermaidDiagram.tsx +116 -0
- package/src/renderer/components/chat/viewers/index.ts +3 -0
- package/src/renderer/components/chat/viewers/syntaxHighlighter.ts +583 -0
- package/src/renderer/components/common/AppLogo.tsx +61 -0
- package/src/renderer/components/common/CliInstallWarningBanner.tsx +57 -0
- package/src/renderer/components/common/ConfirmDialog.tsx +176 -0
- package/src/renderer/components/common/ConnectionStatusBadge.tsx +56 -0
- package/src/renderer/components/common/ContextSwitchOverlay.tsx +38 -0
- package/src/renderer/components/common/CopyButton.tsx +85 -0
- package/src/renderer/components/common/CopyablePath.tsx +68 -0
- package/src/renderer/components/common/ErrorBoundary.tsx +211 -0
- package/src/renderer/components/common/ExportDropdown.tsx +142 -0
- package/src/renderer/components/common/FileTree.tsx +182 -0
- package/src/renderer/components/common/GlobalProviderStatusHeader.tsx +316 -0
- package/src/renderer/components/common/OngoingIndicator.tsx +67 -0
- package/src/renderer/components/common/ProviderBrandLogo.tsx +206 -0
- package/src/renderer/components/common/RepositoryDropdown.tsx +230 -0
- package/src/renderer/components/common/TokenUsageDisplay.tsx +581 -0
- package/src/renderer/components/common/WarningBanner.tsx +25 -0
- package/src/renderer/components/common/WorkspaceIndicator.tsx +183 -0
- package/src/renderer/components/common/WorktreeBadge.tsx +123 -0
- package/src/renderer/components/dashboard/CliStatusBanner.tsx +1845 -0
- package/src/renderer/components/dashboard/DashboardView.tsx +274 -0
- package/src/renderer/components/extensions/ExtensionStoreView.tsx +591 -0
- package/src/renderer/components/extensions/ExtensionsSubTabTrigger.tsx +52 -0
- package/src/renderer/components/extensions/apikeys/ApiKeyCard.tsx +143 -0
- package/src/renderer/components/extensions/apikeys/ApiKeyFormDialog.tsx +282 -0
- package/src/renderer/components/extensions/apikeys/ApiKeysPanel.tsx +280 -0
- package/src/renderer/components/extensions/common/InstallButton.tsx +186 -0
- package/src/renderer/components/extensions/common/InstallCountBadge.tsx +21 -0
- package/src/renderer/components/extensions/common/SearchInput.tsx +70 -0
- package/src/renderer/components/extensions/common/SourceBadge.tsx +31 -0
- package/src/renderer/components/extensions/mcp/CustomMcpServerDialog.tsx +560 -0
- package/src/renderer/components/extensions/mcp/McpServerCard.tsx +314 -0
- package/src/renderer/components/extensions/mcp/McpServerDetailDialog.tsx +669 -0
- package/src/renderer/components/extensions/mcp/McpServersPanel.tsx +543 -0
- package/src/renderer/components/extensions/plugins/CapabilityChips.tsx +70 -0
- package/src/renderer/components/extensions/plugins/CategoryChips.tsx +67 -0
- package/src/renderer/components/extensions/plugins/PluginCard.tsx +146 -0
- package/src/renderer/components/extensions/plugins/PluginDetailDialog.tsx +270 -0
- package/src/renderer/components/extensions/plugins/PluginsPanel.tsx +436 -0
- package/src/renderer/components/extensions/skills/SkillCodeEditor.tsx +117 -0
- package/src/renderer/components/extensions/skills/SkillDetailDialog.tsx +372 -0
- package/src/renderer/components/extensions/skills/SkillEditorDialog.tsx +856 -0
- package/src/renderer/components/extensions/skills/SkillImportDialog.tsx +343 -0
- package/src/renderer/components/extensions/skills/SkillReviewDialog.tsx +166 -0
- package/src/renderer/components/extensions/skills/SkillsPanel.tsx +784 -0
- package/src/renderer/components/extensions/skills/skillDraftUtils.ts +234 -0
- package/src/renderer/components/extensions/skills/skillFolderNameUtils.ts +19 -0
- package/src/renderer/components/extensions/skills/skillProjectUtils.ts +13 -0
- package/src/renderer/components/extensions/skills/skillValidationUtils.ts +31 -0
- package/src/renderer/components/layout/MiddlePanel.tsx +18 -0
- package/src/renderer/components/layout/MoreMenu.tsx +243 -0
- package/src/renderer/components/layout/PaneContainer.tsx +27 -0
- package/src/renderer/components/layout/PaneContent.tsx +84 -0
- package/src/renderer/components/layout/PaneResizeHandle.tsx +85 -0
- package/src/renderer/components/layout/PaneSplitDropZone.tsx +54 -0
- package/src/renderer/components/layout/PaneView.tsx +75 -0
- package/src/renderer/components/layout/SessionTabContent.tsx +102 -0
- package/src/renderer/components/layout/Sidebar.tsx +205 -0
- package/src/renderer/components/layout/SortableTab.tsx +261 -0
- package/src/renderer/components/layout/TabBar.tsx +354 -0
- package/src/renderer/components/layout/TabBarActions.tsx +176 -0
- package/src/renderer/components/layout/TabBarRow.tsx +99 -0
- package/src/renderer/components/layout/TabContextMenu.tsx +171 -0
- package/src/renderer/components/layout/TabbedLayout.tsx +186 -0
- package/src/renderer/components/layout/TeamTabSectionNav.tsx +146 -0
- package/src/renderer/components/notifications/NotificationRow.tsx +228 -0
- package/src/renderer/components/notifications/NotificationsView.tsx +371 -0
- package/src/renderer/components/report/AssessmentBadge.tsx +78 -0
- package/src/renderer/components/report/ReportSection.tsx +58 -0
- package/src/renderer/components/report/SessionReportTab.tsx +102 -0
- package/src/renderer/components/report/sections/CostSection.tsx +259 -0
- package/src/renderer/components/report/sections/ErrorSection.tsx +100 -0
- package/src/renderer/components/report/sections/FrictionSection.tsx +91 -0
- package/src/renderer/components/report/sections/GitSection.tsx +72 -0
- package/src/renderer/components/report/sections/InsightsSection.tsx +207 -0
- package/src/renderer/components/report/sections/KeyTakeawaysSection.tsx +55 -0
- package/src/renderer/components/report/sections/OverviewSection.tsx +64 -0
- package/src/renderer/components/report/sections/QualitySection.tsx +151 -0
- package/src/renderer/components/report/sections/SubagentSection.tsx +88 -0
- package/src/renderer/components/report/sections/TimelineSection.tsx +111 -0
- package/src/renderer/components/report/sections/TokenSection.tsx +116 -0
- package/src/renderer/components/report/sections/ToolSection.tsx +77 -0
- package/src/renderer/components/runtime/ProviderModelBadges.tsx +142 -0
- package/src/renderer/components/runtime/ProviderRuntimeBackendSelector.tsx +327 -0
- package/src/renderer/components/runtime/ProviderRuntimeSettingsDialog.tsx +288 -0
- package/src/renderer/components/runtime/providerConnectionUi.ts +408 -0
- package/src/renderer/components/schedules/SchedulesView.tsx +529 -0
- package/src/renderer/components/search/CommandPalette.tsx +610 -0
- package/src/renderer/components/search/SearchBar.tsx +171 -0
- package/src/renderer/components/settings/NotificationTriggerSettings/components/AddTriggerForm.tsx +233 -0
- package/src/renderer/components/settings/NotificationTriggerSettings/components/ColorPaletteSelector.tsx +144 -0
- package/src/renderer/components/settings/NotificationTriggerSettings/components/DynamicConfigSection.tsx +189 -0
- package/src/renderer/components/settings/NotificationTriggerSettings/components/GeneralInfoSection.tsx +68 -0
- package/src/renderer/components/settings/NotificationTriggerSettings/components/IgnorePatternsSection.tsx +73 -0
- package/src/renderer/components/settings/NotificationTriggerSettings/components/ModeSelector.tsx +45 -0
- package/src/renderer/components/settings/NotificationTriggerSettings/components/RepositoryScopeSection.tsx +63 -0
- package/src/renderer/components/settings/NotificationTriggerSettings/components/SectionHeader.tsx +15 -0
- package/src/renderer/components/settings/NotificationTriggerSettings/components/TriggerCard.tsx +150 -0
- package/src/renderer/components/settings/NotificationTriggerSettings/components/TriggerCardHeader.tsx +125 -0
- package/src/renderer/components/settings/NotificationTriggerSettings/components/TriggerConfiguration.tsx +342 -0
- package/src/renderer/components/settings/NotificationTriggerSettings/components/TriggerPreview.tsx +108 -0
- package/src/renderer/components/settings/NotificationTriggerSettings/hooks/useAddTriggerFormHandlers.ts +218 -0
- package/src/renderer/components/settings/NotificationTriggerSettings/hooks/useAddTriggerFormState.ts +135 -0
- package/src/renderer/components/settings/NotificationTriggerSettings/hooks/useRepositoryLookup.ts +47 -0
- package/src/renderer/components/settings/NotificationTriggerSettings/hooks/useTriggerCardState.ts +281 -0
- package/src/renderer/components/settings/NotificationTriggerSettings/hooks/useTriggerForm.ts +185 -0
- package/src/renderer/components/settings/NotificationTriggerSettings/index.tsx +87 -0
- package/src/renderer/components/settings/NotificationTriggerSettings/types.ts +39 -0
- package/src/renderer/components/settings/NotificationTriggerSettings/utils/constants.ts +50 -0
- package/src/renderer/components/settings/NotificationTriggerSettings/utils/trigger.ts +113 -0
- package/src/renderer/components/settings/SettingsTabs.tsx +110 -0
- package/src/renderer/components/settings/SettingsView.tsx +153 -0
- package/src/renderer/components/settings/components/SettingRow.tsx +44 -0
- package/src/renderer/components/settings/components/SettingsSectionHeader.tsx +24 -0
- package/src/renderer/components/settings/components/SettingsSelect.tsx +100 -0
- package/src/renderer/components/settings/components/SettingsToggle.tsx +45 -0
- package/src/renderer/components/settings/components/index.ts +8 -0
- package/src/renderer/components/settings/hooks/index.ts +6 -0
- package/src/renderer/components/settings/hooks/useSettingsConfig.ts +270 -0
- package/src/renderer/components/settings/hooks/useSettingsHandlers.ts +468 -0
- package/src/renderer/components/settings/sections/AdvancedSection.tsx +234 -0
- package/src/renderer/components/settings/sections/CliStatusSection.tsx +930 -0
- package/src/renderer/components/settings/sections/ConfigEditorDialog.tsx +391 -0
- package/src/renderer/components/settings/sections/GeneralSection.tsx +665 -0
- package/src/renderer/components/settings/sections/HarnessSection.tsx +133 -0
- package/src/renderer/components/settings/sections/PlatformsSection.tsx +517 -0
- package/src/renderer/components/settings/sections/index.ts +8 -0
- package/src/renderer/components/sidebar/DateGroupedSessions.tsx +1115 -0
- package/src/renderer/components/sidebar/GlobalTaskList.tsx +853 -0
- package/src/renderer/components/sidebar/SessionContextMenu.tsx +182 -0
- package/src/renderer/components/sidebar/SessionFiltersPopover.tsx +115 -0
- package/src/renderer/components/sidebar/SessionItem.tsx +393 -0
- package/src/renderer/components/sidebar/SidebarSessions.tsx +542 -0
- package/src/renderer/components/sidebar/SidebarTaskItem.tsx +286 -0
- package/src/renderer/components/sidebar/TaskContextMenu.tsx +86 -0
- package/src/renderer/components/sidebar/TaskFiltersPopover.tsx +203 -0
- package/src/renderer/components/sidebar/WorkspaceBrowser.tsx +370 -0
- package/src/renderer/components/sidebar/dateGroupedSessionsSelection.ts +33 -0
- package/src/renderer/components/sidebar/projectGroupPagination.ts +89 -0
- package/src/renderer/components/sidebar/taskFiltersState.ts +82 -0
- package/src/renderer/components/splash/splashScene.ts +979 -0
- package/src/renderer/components/team/CcSessionsSection.tsx +202 -0
- package/src/renderer/components/team/ClaudeLogsDialog.tsx +71 -0
- package/src/renderer/components/team/ClaudeLogsFilterPopover.tsx +213 -0
- package/src/renderer/components/team/ClaudeLogsPanel.tsx +170 -0
- package/src/renderer/components/team/ClaudeLogsSection.tsx +154 -0
- package/src/renderer/components/team/CliLogsRichView.tsx +640 -0
- package/src/renderer/components/team/CollapsibleTeamSection.tsx +177 -0
- package/src/renderer/components/team/HarnessCards.ts +38 -0
- package/src/renderer/components/team/MemberBadge.tsx +117 -0
- package/src/renderer/components/team/ProcessesSection.tsx +193 -0
- package/src/renderer/components/team/ProvisioningProgressBlock.tsx +389 -0
- package/src/renderer/components/team/RoleSelect.tsx +171 -0
- package/src/renderer/components/team/StepProgressBar.tsx +165 -0
- package/src/renderer/components/team/TaskTooltip.tsx +197 -0
- package/src/renderer/components/team/TeamDetailView.tsx +3002 -0
- package/src/renderer/components/team/TeamEmptyState.tsx +102 -0
- package/src/renderer/components/team/TeamListFilterPopover.tsx +183 -0
- package/src/renderer/components/team/TeamListView.tsx +1336 -0
- package/src/renderer/components/team/TeamProvisioningBanner.tsx +16 -0
- package/src/renderer/components/team/TeamProvisioningPanel.tsx +115 -0
- package/src/renderer/components/team/TeamSessionsSection.tsx +267 -0
- package/src/renderer/components/team/ToolApprovalDiffPreview.tsx +206 -0
- package/src/renderer/components/team/ToolApprovalSheet.tsx +675 -0
- package/src/renderer/components/team/UnreadCommentsBadge.tsx +37 -0
- package/src/renderer/components/team/activity/ActiveTasksBlock.tsx +191 -0
- package/src/renderer/components/team/activity/ActivityItem.tsx +1649 -0
- package/src/renderer/components/team/activity/ActivityTimeline.tsx +959 -0
- package/src/renderer/components/team/activity/AnimatedHeightReveal.tsx +117 -0
- package/src/renderer/components/team/activity/LeadThoughtsGroup.tsx +1152 -0
- package/src/renderer/components/team/activity/MessageExpandDialog.tsx +213 -0
- package/src/renderer/components/team/activity/PendingRepliesBlock.tsx +275 -0
- package/src/renderer/components/team/activity/ReplyQuoteBlock.tsx +79 -0
- package/src/renderer/components/team/activity/ThoughtBodyContent.tsx +150 -0
- package/src/renderer/components/team/activity/activityMarkdown.ts +36 -0
- package/src/renderer/components/team/activity/activityMessageContext.ts +68 -0
- package/src/renderer/components/team/activity/collapseState.ts +66 -0
- package/src/renderer/components/team/activity/useNewItemKeys.ts +70 -0
- package/src/renderer/components/team/attachments/AttachmentDisplay.tsx +132 -0
- package/src/renderer/components/team/attachments/AttachmentPreviewItem.tsx +62 -0
- package/src/renderer/components/team/attachments/AttachmentPreviewList.tsx +193 -0
- package/src/renderer/components/team/attachments/AttachmentThumbnail.tsx +42 -0
- package/src/renderer/components/team/attachments/DropZoneOverlay.tsx +54 -0
- package/src/renderer/components/team/attachments/ImageLightbox.tsx +132 -0
- package/src/renderer/components/team/attachments/SourceMessageAttachments.tsx +70 -0
- package/src/renderer/components/team/dialogs/AddMemberDialog.tsx +222 -0
- package/src/renderer/components/team/dialogs/AdvancedCliSection.tsx +347 -0
- package/src/renderer/components/team/dialogs/AnthropicFastModeSelector.tsx +120 -0
- package/src/renderer/components/team/dialogs/CreateTaskDialog.tsx +489 -0
- package/src/renderer/components/team/dialogs/CreateTeamDialog.tsx +484 -0
- package/src/renderer/components/team/dialogs/EditTeamDialog.tsx +448 -0
- package/src/renderer/components/team/dialogs/EffortLevelSelector.tsx +69 -0
- package/src/renderer/components/team/dialogs/GlobalTaskDetailDialog.tsx +165 -0
- package/src/renderer/components/team/dialogs/LaunchTeamDialog.tsx +2859 -0
- package/src/renderer/components/team/dialogs/LimitContextCheckbox.tsx +57 -0
- package/src/renderer/components/team/dialogs/MembersJsonEditor.tsx +123 -0
- package/src/renderer/components/team/dialogs/OptionalSettingsSection.tsx +124 -0
- package/src/renderer/components/team/dialogs/PlatformManualForm.tsx +145 -0
- package/src/renderer/components/team/dialogs/PlatformSetupQR.tsx +289 -0
- package/src/renderer/components/team/dialogs/ProjectPathSelector.tsx +330 -0
- package/src/renderer/components/team/dialogs/ProvisioningProviderStatusList.tsx +744 -0
- package/src/renderer/components/team/dialogs/ReviewDialog.tsx +130 -0
- package/src/renderer/components/team/dialogs/SendMessageDialog.tsx +530 -0
- package/src/renderer/components/team/dialogs/SkipPermissionsCheckbox.tsx +62 -0
- package/src/renderer/components/team/dialogs/StatusHistoryTimeline.tsx +229 -0
- package/src/renderer/components/team/dialogs/TaskAttachments.tsx +394 -0
- package/src/renderer/components/team/dialogs/TaskCommentAwaitingReply.tsx +57 -0
- package/src/renderer/components/team/dialogs/TaskCommentInput.tsx +420 -0
- package/src/renderer/components/team/dialogs/TaskCommentsSection.tsx +620 -0
- package/src/renderer/components/team/dialogs/TaskDetailDialog.tsx +1480 -0
- package/src/renderer/components/team/dialogs/TeamModelSelector.tsx +560 -0
- package/src/renderer/components/team/dialogs/TeammateRuntimeCompatibilityNotice.tsx +60 -0
- package/src/renderer/components/team/dialogs/ToolApprovalSettingsPanel.tsx +173 -0
- package/src/renderer/components/team/dialogs/editTeamRuntimeChanges.ts +179 -0
- package/src/renderer/components/team/dialogs/globalTaskDetailDialogLoading.ts +34 -0
- package/src/renderer/components/team/dialogs/launchDialogPrefill.ts +125 -0
- package/src/renderer/components/team/dialogs/memberModelScope.ts +77 -0
- package/src/renderer/components/team/dialogs/platformMeta.ts +118 -0
- package/src/renderer/components/team/dialogs/projectPathOptions.ts +50 -0
- package/src/renderer/components/team/dialogs/providerPrepareDiagnostics.ts +222 -0
- package/src/renderer/components/team/dialogs/providerPrepareRequestSignature.ts +122 -0
- package/src/renderer/components/team/dialogs/provisioningMemberScope.ts +10 -0
- package/src/renderer/components/team/dialogs/provisioningModelIssues.ts +124 -0
- package/src/renderer/components/team/dialogs/teamNameSets.ts +67 -0
- package/src/renderer/components/team/dialogs/teamRelaunchFlow.ts +30 -0
- package/src/renderer/components/team/dialogs/teammateLaunchMode.ts +49 -0
- package/src/renderer/components/team/dialogs/teammateRuntimeCompatibility.tsx +101 -0
- package/src/renderer/components/team/editor/CodeMirrorEditor.tsx +506 -0
- package/src/renderer/components/team/editor/EditorBinaryPlaceholder.tsx +43 -0
- package/src/renderer/components/team/editor/EditorBinaryState.tsx +29 -0
- package/src/renderer/components/team/editor/EditorBreadcrumb.tsx +84 -0
- package/src/renderer/components/team/editor/EditorContextMenu.tsx +213 -0
- package/src/renderer/components/team/editor/EditorEmptyState.tsx +35 -0
- package/src/renderer/components/team/editor/EditorErrorBoundary.tsx +63 -0
- package/src/renderer/components/team/editor/EditorErrorState.tsx +41 -0
- package/src/renderer/components/team/editor/EditorFileTree.tsx +903 -0
- package/src/renderer/components/team/editor/EditorImagePreview.tsx +138 -0
- package/src/renderer/components/team/editor/EditorSearchPanel.tsx +508 -0
- package/src/renderer/components/team/editor/EditorSelectionMenu.tsx +112 -0
- package/src/renderer/components/team/editor/EditorShortcutsHelp.tsx +125 -0
- package/src/renderer/components/team/editor/EditorStatusBar.tsx +72 -0
- package/src/renderer/components/team/editor/EditorTabBar.tsx +265 -0
- package/src/renderer/components/team/editor/EditorTabContextMenu.tsx +88 -0
- package/src/renderer/components/team/editor/EditorToolbar.tsx +163 -0
- package/src/renderer/components/team/editor/FileIcon.tsx +66 -0
- package/src/renderer/components/team/editor/GitStatusBadge.tsx +47 -0
- package/src/renderer/components/team/editor/GoToLineDialog.tsx +186 -0
- package/src/renderer/components/team/editor/MarkdownPreviewPane.tsx +57 -0
- package/src/renderer/components/team/editor/MarkdownSplitView.tsx +127 -0
- package/src/renderer/components/team/editor/NewFileDialog.tsx +131 -0
- package/src/renderer/components/team/editor/ProjectEditorOverlay.tsx +924 -0
- package/src/renderer/components/team/editor/QuickOpenDialog.tsx +163 -0
- package/src/renderer/components/team/editor/SearchInFilesPanel.tsx +358 -0
- package/src/renderer/components/team/editor/fileIcons.ts +222 -0
- package/src/renderer/components/team/kanban/KanbanBoard.tsx +664 -0
- package/src/renderer/components/team/kanban/KanbanColumn.tsx +61 -0
- package/src/renderer/components/team/kanban/KanbanFilterPopover.tsx +210 -0
- package/src/renderer/components/team/kanban/KanbanGridLayout.tsx +460 -0
- package/src/renderer/components/team/kanban/KanbanSearchInput.tsx +284 -0
- package/src/renderer/components/team/kanban/KanbanSortPopover.tsx +140 -0
- package/src/renderer/components/team/kanban/KanbanTaskCard.test.tsx +199 -0
- package/src/renderer/components/team/kanban/KanbanTaskCard.tsx +446 -0
- package/src/renderer/components/team/kanban/TrashDialog.tsx +112 -0
- package/src/renderer/components/team/members/CurrentTaskIndicator.tsx +56 -0
- package/src/renderer/components/team/members/LeadModelRow.test.tsx +133 -0
- package/src/renderer/components/team/members/LeadModelRow.tsx +183 -0
- package/src/renderer/components/team/members/MemberCard.tsx +665 -0
- package/src/renderer/components/team/members/MemberDetailDialog.tsx +309 -0
- package/src/renderer/components/team/members/MemberDetailHeader.tsx +183 -0
- package/src/renderer/components/team/members/MemberDetailStats.tsx +80 -0
- package/src/renderer/components/team/members/MemberDraftRow.test.tsx +184 -0
- package/src/renderer/components/team/members/MemberDraftRow.tsx +515 -0
- package/src/renderer/components/team/members/MemberExecutionLog.tsx +224 -0
- package/src/renderer/components/team/members/MemberHoverCard.tsx +292 -0
- package/src/renderer/components/team/members/MemberLaunchDiagnosticsButton.tsx +60 -0
- package/src/renderer/components/team/members/MemberList.tsx +405 -0
- package/src/renderer/components/team/members/MemberLogsTab.tsx +958 -0
- package/src/renderer/components/team/members/MemberMessagesTab.tsx +251 -0
- package/src/renderer/components/team/members/MemberPresenceDot.tsx +28 -0
- package/src/renderer/components/team/members/MemberRoleEditor.tsx +84 -0
- package/src/renderer/components/team/members/MemberStatsTab.tsx +299 -0
- package/src/renderer/components/team/members/MemberTasksTab.tsx +87 -0
- package/src/renderer/components/team/members/MemberWorkspaceTab.tsx +141 -0
- package/src/renderer/components/team/members/MembersEditorSection.tsx +495 -0
- package/src/renderer/components/team/members/SubagentRecentMessagesPreview.tsx +125 -0
- package/src/renderer/components/team/members/TeamRosterEditorSection.tsx +153 -0
- package/src/renderer/components/team/members/memberActivityEntries.ts +42 -0
- package/src/renderer/components/team/members/memberDetailTypes.ts +3 -0
- package/src/renderer/components/team/members/memberNameSets.ts +65 -0
- package/src/renderer/components/team/members/membersEditorTypes.ts +21 -0
- package/src/renderer/components/team/members/membersEditorUtils.ts +267 -0
- package/src/renderer/components/team/messages/MessageComposer.tsx +939 -0
- package/src/renderer/components/team/messages/MessagesFilterPopover.tsx +228 -0
- package/src/renderer/components/team/messages/MessagesPanel.tsx +1508 -0
- package/src/renderer/components/team/messages/OpenCodeDeliveryWarning.tsx +151 -0
- package/src/renderer/components/team/messages/StatusBlock.tsx +126 -0
- package/src/renderer/components/team/provisioningSteps.ts +363 -0
- package/src/renderer/components/team/review/ChangeReviewDialog.tsx +133 -0
- package/src/renderer/components/team/schedule/CcCronScheduleDialog.tsx +218 -0
- package/src/renderer/components/team/schedule/CronScheduleInput.tsx +254 -0
- package/src/renderer/components/team/schedule/ScheduleEmptyState.tsx +15 -0
- package/src/renderer/components/team/schedule/ScheduleRunLogDialog.tsx +277 -0
- package/src/renderer/components/team/schedule/ScheduleRunRow.tsx +106 -0
- package/src/renderer/components/team/schedule/ScheduleSection.tsx +281 -0
- package/src/renderer/components/team/schedule/ScheduleStatusBadge.tsx +55 -0
- package/src/renderer/components/team/sidebar/TeamSidebarHost.tsx +76 -0
- package/src/renderer/components/team/sidebar/TeamSidebarPortalManager.ts +173 -0
- package/src/renderer/components/team/sidebar/TeamSidebarPortalSource.tsx +66 -0
- package/src/renderer/components/team/sidebar/TeamSidebarRail.tsx +68 -0
- package/src/renderer/components/team/sidebar/teamSidebarUiState.ts +136 -0
- package/src/renderer/components/team/taskLogs/ExactTaskLogCard.tsx +132 -0
- package/src/renderer/components/team/taskLogs/ExactTaskLogsSection.tsx +258 -0
- package/src/renderer/components/team/taskLogs/ExecutionSessionsSection.tsx +48 -0
- package/src/renderer/components/team/taskLogs/TaskActivityLinkedToolCard.tsx +31 -0
- package/src/renderer/components/team/taskLogs/TaskActivitySection.tsx +462 -0
- package/src/renderer/components/team/taskLogs/TaskLogStreamSection.tsx +375 -0
- package/src/renderer/components/team/taskLogs/TaskLogsPanel.tsx +294 -0
- package/src/renderer/components/team/taskLogs/featureGates.ts +22 -0
- package/src/renderer/components/team/tasks/TaskList.tsx +111 -0
- package/src/renderer/components/team/tasks/TaskRow.tsx +65 -0
- package/src/renderer/components/team/teamProjectSelection.ts +156 -0
- package/src/renderer/components/team/teamSessionFetchGuards.ts +26 -0
- package/src/renderer/components/team/useClaudeLogsController.ts +668 -0
- package/src/renderer/components/team/useTeamProvisioningPresentation.ts +54 -0
- package/src/renderer/components/terminal/TerminalLogPanel.tsx +37 -0
- package/src/renderer/components/ui/ChipInteractionLayer.tsx +255 -0
- package/src/renderer/components/ui/CodeChipBadge.tsx +37 -0
- package/src/renderer/components/ui/ExpandableContent.tsx +110 -0
- package/src/renderer/components/ui/MemberSelect.tsx +209 -0
- package/src/renderer/components/ui/MentionInteractionLayer.tsx +121 -0
- package/src/renderer/components/ui/MentionSuggestionList.tsx +274 -0
- package/src/renderer/components/ui/MentionableTextarea.tsx +1426 -0
- package/src/renderer/components/ui/SlashCommandInteractionLayer.tsx +88 -0
- package/src/renderer/components/ui/TaskReferenceInteractionLayer.tsx +101 -0
- package/src/renderer/components/ui/UrlInteractionLayer.tsx +102 -0
- package/src/renderer/components/ui/alert-dialog.tsx +127 -0
- package/src/renderer/components/ui/auto-resize-textarea.tsx +93 -0
- package/src/renderer/components/ui/badge.tsx +37 -0
- package/src/renderer/components/ui/button.tsx +54 -0
- package/src/renderer/components/ui/checkbox.tsx +29 -0
- package/src/renderer/components/ui/combobox.tsx +168 -0
- package/src/renderer/components/ui/context-menu.tsx +124 -0
- package/src/renderer/components/ui/dialog.tsx +114 -0
- package/src/renderer/components/ui/hover-card.tsx +30 -0
- package/src/renderer/components/ui/input.tsx +22 -0
- package/src/renderer/components/ui/label.tsx +21 -0
- package/src/renderer/components/ui/popover.tsx +31 -0
- package/src/renderer/components/ui/select.tsx +150 -0
- package/src/renderer/components/ui/tabs.tsx +52 -0
- package/src/renderer/components/ui/textarea.tsx +21 -0
- package/src/renderer/components/ui/tiptap/TiptapBubbleMenu.tsx +75 -0
- package/src/renderer/components/ui/tiptap/TiptapEditor.tsx +73 -0
- package/src/renderer/components/ui/tiptap/TiptapToolbar.tsx +269 -0
- package/src/renderer/components/ui/tiptap/index.ts +3 -0
- package/src/renderer/components/ui/tiptap/presets.ts +46 -0
- package/src/renderer/components/ui/tiptap/tiptapStyles.css +235 -0
- package/src/renderer/components/ui/tiptap/types.ts +32 -0
- package/src/renderer/components/ui/tiptap/useTiptapEditor.ts +94 -0
- package/src/renderer/components/ui/tooltip.tsx +32 -0
- package/src/renderer/constants/cssVariables.ts +226 -0
- package/src/renderer/constants/layout.ts +6 -0
- package/src/renderer/constants/teamColors.ts +397 -0
- package/src/renderer/constants/teamRoles.ts +41 -0
- package/src/renderer/contexts/TabUIContext.tsx +51 -0
- package/src/renderer/contexts/useTabUIContext.ts +18 -0
- package/src/renderer/favicon.png +0 -0
- package/src/renderer/features/CLAUDE.md +19 -0
- package/src/renderer/hooks/navigation/utils.ts +263 -0
- package/src/renderer/hooks/useAttachments.ts +312 -0
- package/src/renderer/hooks/useAutoScrollBottom.ts +285 -0
- package/src/renderer/hooks/useBranchSync.ts +105 -0
- package/src/renderer/hooks/useChipDraftPersistence.ts +172 -0
- package/src/renderer/hooks/useCliInstaller.ts +106 -0
- package/src/renderer/hooks/useCollapsedGroups.ts +71 -0
- package/src/renderer/hooks/useComposerDraft.ts +504 -0
- package/src/renderer/hooks/useContinuousScrollNav.ts +50 -0
- package/src/renderer/hooks/useCreateTeamDraft.ts +280 -0
- package/src/renderer/hooks/useDraftPersistence.ts +140 -0
- package/src/renderer/hooks/useEditorKeyboardShortcuts.ts +257 -0
- package/src/renderer/hooks/useEffectiveCliProviderStatus.ts +66 -0
- package/src/renderer/hooks/useExtensionsTabState.ts +206 -0
- package/src/renderer/hooks/useFileListCacheWarmer.ts +38 -0
- package/src/renderer/hooks/useFileSuggestions.ts +255 -0
- package/src/renderer/hooks/useKeyboardShortcuts.ts +363 -0
- package/src/renderer/hooks/useLazyFileContent.ts +150 -0
- package/src/renderer/hooks/useMarkCommentsRead.ts +27 -0
- package/src/renderer/hooks/useMarkdownScrollSync.ts +158 -0
- package/src/renderer/hooks/useMemberStats.ts +45 -0
- package/src/renderer/hooks/useMentionDetection.ts +375 -0
- package/src/renderer/hooks/usePersistedGridLayout.ts +109 -0
- package/src/renderer/hooks/useResizableColumns.ts +140 -0
- package/src/renderer/hooks/useResizablePanel.ts +144 -0
- package/src/renderer/hooks/useStableTeamMentionMeta.ts +68 -0
- package/src/renderer/hooks/useSyncedAnimationStyle.ts +29 -0
- package/src/renderer/hooks/useTabNavigationController.ts +524 -0
- package/src/renderer/hooks/useTabUI.ts +252 -0
- package/src/renderer/hooks/useTaskLocalState.ts +163 -0
- package/src/renderer/hooks/useTaskSuggestions.ts +131 -0
- package/src/renderer/hooks/useTeamMessagesExpanded.ts +34 -0
- package/src/renderer/hooks/useTeamMessagesRead.ts +52 -0
- package/src/renderer/hooks/useTeamSuggestions.ts +78 -0
- package/src/renderer/hooks/useTheme.ts +138 -0
- package/src/renderer/hooks/useToolApprovalDiff.ts +212 -0
- package/src/renderer/hooks/useUnreadCommentCount.ts +14 -0
- package/src/renderer/hooks/useViewedFiles.ts +74 -0
- package/src/renderer/hooks/useViewportCommentRead.ts +147 -0
- package/src/renderer/hooks/useViewportObserver.ts +138 -0
- package/src/renderer/hooks/useVisibleAIGroup.ts +122 -0
- package/src/renderer/hooks/useVisibleFileSection.ts +114 -0
- package/src/renderer/hooks/useZoomFactor.ts +36 -0
- package/src/renderer/index.css +1560 -0
- package/src/renderer/index.html +1293 -0
- package/src/renderer/lib/utils.ts +6 -0
- package/src/renderer/main.tsx +30 -0
- package/src/renderer/sentry.ts +104 -0
- package/src/renderer/services/__tests__/createTeamPreferences.test.ts +67 -0
- package/src/renderer/services/commentReadStorage.ts +349 -0
- package/src/renderer/services/composerDraftStorage.ts +271 -0
- package/src/renderer/services/contextStorage.ts +201 -0
- package/src/renderer/services/createTeamDraftStorage.ts +151 -0
- package/src/renderer/services/createTeamPreferences.ts +361 -0
- package/src/renderer/services/dashboardCliStatusBannerPreference.ts +20 -0
- package/src/renderer/services/draftStorage.ts +128 -0
- package/src/renderer/services/layout-system/BrowserGridLayoutRepository.ts +111 -0
- package/src/renderer/services/layout-system/GridLayoutRepository.ts +8 -0
- package/src/renderer/services/layout-system/gridLayoutSchema.ts +137 -0
- package/src/renderer/services/layout-system/gridLayoutTypes.ts +17 -0
- package/src/renderer/store/index.ts +1556 -0
- package/src/renderer/store/slices/changeReviewSlice.ts +1694 -0
- package/src/renderer/store/slices/cliInstallerSlice.ts +689 -0
- package/src/renderer/store/slices/configSlice.ts +111 -0
- package/src/renderer/store/slices/connectionSlice.ts +221 -0
- package/src/renderer/store/slices/contextSlice.ts +394 -0
- package/src/renderer/store/slices/conversationSlice.ts +510 -0
- package/src/renderer/store/slices/editorSlice.ts +1455 -0
- package/src/renderer/store/slices/extensionsSlice.ts +1415 -0
- package/src/renderer/store/slices/notificationSlice.ts +277 -0
- package/src/renderer/store/slices/paneSlice.ts +357 -0
- package/src/renderer/store/slices/projectSlice.ts +70 -0
- package/src/renderer/store/slices/repositorySlice.ts +165 -0
- package/src/renderer/store/slices/scheduleSlice.ts +246 -0
- package/src/renderer/store/slices/sessionDetailSlice.ts +755 -0
- package/src/renderer/store/slices/sessionSlice.ts +539 -0
- package/src/renderer/store/slices/subagentSlice.ts +145 -0
- package/src/renderer/store/slices/tabSlice.ts +842 -0
- package/src/renderer/store/slices/tabUISlice.ts +319 -0
- package/src/renderer/store/slices/teamSlice.ts +5080 -0
- package/src/renderer/store/slices/uiSlice.ts +45 -0
- package/src/renderer/store/types.ts +103 -0
- package/src/renderer/store/utils/paneHelpers.ts +134 -0
- package/src/renderer/store/utils/pathResolution.ts +121 -0
- package/src/renderer/store/utils/stateResetHelpers.ts +72 -0
- package/src/renderer/types/api.ts +8 -0
- package/src/renderer/types/claudeMd.ts +74 -0
- package/src/renderer/types/contextInjection.ts +309 -0
- package/src/renderer/types/data.ts +144 -0
- package/src/renderer/types/groups.ts +406 -0
- package/src/renderer/types/inlineChip.ts +110 -0
- package/src/renderer/types/mention.ts +38 -0
- package/src/renderer/types/notifications.ts +18 -0
- package/src/renderer/types/panes.ts +35 -0
- package/src/renderer/types/sessionReport.ts +386 -0
- package/src/renderer/types/tabs.ts +249 -0
- package/src/renderer/types/teamMessagesPanelMode.ts +1 -0
- package/src/renderer/utils/__tests__/teamEffortOptions.test.ts +217 -0
- package/src/renderer/utils/__tests__/teamModelAvailability.codexCatalog.test.ts +383 -0
- package/src/renderer/utils/agentMessageFormatting.ts +139 -0
- package/src/renderer/utils/aiGroupEnhancer.ts +78 -0
- package/src/renderer/utils/aiGroupHelpers.ts +208 -0
- package/src/renderer/utils/attachmentUtils.ts +60 -0
- package/src/renderer/utils/bootstrapPromptSanitizer.ts +225 -0
- package/src/renderer/utils/bugReportUtils.ts +157 -0
- package/src/renderer/utils/buildSelectionAction.ts +116 -0
- package/src/renderer/utils/chipUtils.ts +372 -0
- package/src/renderer/utils/claudeCodeOnlyProviders.ts +126 -0
- package/src/renderer/utils/claudeMdTracker.ts +644 -0
- package/src/renderer/utils/codemirrorLanguages.ts +141 -0
- package/src/renderer/utils/codemirrorSelectionInfo.ts +41 -0
- package/src/renderer/utils/codemirrorTheme.ts +138 -0
- package/src/renderer/utils/contextMath.ts +55 -0
- package/src/renderer/utils/contextTracker.ts +1100 -0
- package/src/renderer/utils/crossTeamPendingReplies.ts +92 -0
- package/src/renderer/utils/dateGrouping.ts +91 -0
- package/src/renderer/utils/diffViewedStorage.ts +120 -0
- package/src/renderer/utils/displayItemBuilder.ts +587 -0
- package/src/renderer/utils/displaySummary.ts +74 -0
- package/src/renderer/utils/editorBridge.ts +90 -0
- package/src/renderer/utils/fileTreeBuilder.ts +110 -0
- package/src/renderer/utils/formatAgentRole.ts +24 -0
- package/src/renderer/utils/formatters.ts +61 -0
- package/src/renderer/utils/groupTransformer.ts +744 -0
- package/src/renderer/utils/idleNotificationSemantics.ts +76 -0
- package/src/renderer/utils/keyboardUtils.ts +92 -0
- package/src/renderer/utils/lastOutputDetector.ts +150 -0
- package/src/renderer/utils/markdownPlugins.ts +60 -0
- package/src/renderer/utils/memberAvatarCatalog.ts +38 -0
- package/src/renderer/utils/memberHelpers.ts +858 -0
- package/src/renderer/utils/memberLaunchDiagnostics.ts +216 -0
- package/src/renderer/utils/memberRuntimeSummary.ts +122 -0
- package/src/renderer/utils/memberSpawnStatusPolling.ts +29 -0
- package/src/renderer/utils/mentionLinkify.ts +90 -0
- package/src/renderer/utils/mentionSuggestions.ts +34 -0
- package/src/renderer/utils/mergeTeamMessages.ts +27 -0
- package/src/renderer/utils/messageRenderEquality.ts +158 -0
- package/src/renderer/utils/modelExtractor.ts +90 -0
- package/src/renderer/utils/multimodelProviderVisibility.ts +32 -0
- package/src/renderer/utils/openCodeModelRecommendations.ts +1326 -0
- package/src/renderer/utils/openCodeRuntimeDeliveryDiagnostics.ts +79 -0
- package/src/renderer/utils/pathDisplay.ts +149 -0
- package/src/renderer/utils/pathNormalize.ts +61 -0
- package/src/renderer/utils/pathUtils.ts +47 -0
- package/src/renderer/utils/platformKeys.ts +24 -0
- package/src/renderer/utils/previewRegistry.ts +45 -0
- package/src/renderer/utils/projectColor.ts +54 -0
- package/src/renderer/utils/projectLookup.ts +64 -0
- package/src/renderer/utils/providerBackendIdentity.ts +43 -0
- package/src/renderer/utils/providerSlashCommands.ts +122 -0
- package/src/renderer/utils/quickOpenCache.ts +40 -0
- package/src/renderer/utils/refreshCliStatus.ts +17 -0
- package/src/renderer/utils/reportAssessments.ts +555 -0
- package/src/renderer/utils/reviewDecisionScope.ts +81 -0
- package/src/renderer/utils/reviewKey.ts +132 -0
- package/src/renderer/utils/runtimeDisplayName.ts +26 -0
- package/src/renderer/utils/scheduleFormatters.ts +45 -0
- package/src/renderer/utils/sessionAnalyzer.ts +1346 -0
- package/src/renderer/utils/sessionExporter.ts +427 -0
- package/src/renderer/utils/sessionTitleParser.ts +69 -0
- package/src/renderer/utils/skillCommandSuggestions.ts +77 -0
- package/src/renderer/utils/slashCommandExtractor.ts +154 -0
- package/src/renderer/utils/streamJsonParser.ts +393 -0
- package/src/renderer/utils/stringUtils.ts +50 -0
- package/src/renderer/utils/syntaxHighlighter.ts +158 -0
- package/src/renderer/utils/tabLabelDisambiguation.ts +99 -0
- package/src/renderer/utils/taskChangePresence.ts +19 -0
- package/src/renderer/utils/taskChangeRequest.ts +122 -0
- package/src/renderer/utils/taskCommentPendingReply.ts +74 -0
- package/src/renderer/utils/taskGrouping.ts +151 -0
- package/src/renderer/utils/taskReferenceUtils.ts +331 -0
- package/src/renderer/utils/teamEffortOptions.ts +150 -0
- package/src/renderer/utils/teamLaunchSummaryCopy.ts +17 -0
- package/src/renderer/utils/teamMessageExpandStorage.ts +39 -0
- package/src/renderer/utils/teamMessageFiltering.ts +95 -0
- package/src/renderer/utils/teamMessageKey.ts +14 -0
- package/src/renderer/utils/teamMessageReadStorage.ts +49 -0
- package/src/renderer/utils/teamModelAvailability.ts +465 -0
- package/src/renderer/utils/teamModelCatalog.ts +502 -0
- package/src/renderer/utils/teamModelContext.ts +34 -0
- package/src/renderer/utils/teamProvisioningPresentation.ts +772 -0
- package/src/renderer/utils/teamRuntimeSummary.ts +53 -0
- package/src/renderer/utils/toolLinkingEngine.ts +117 -0
- package/src/renderer/utils/toolRendering/index.ts +14 -0
- package/src/renderer/utils/toolRendering/toolContentChecks.ts +58 -0
- package/src/renderer/utils/toolRendering/toolSummaryHelpers.ts +276 -0
- package/src/renderer/utils/toolRendering/toolTokens.ts +57 -0
- package/src/renderer/utils/unwrapIpc.ts +31 -0
- package/src/renderer/utils/urlMatchUtils.ts +45 -0
- package/src/renderer/vite-env.d.ts +21 -0
- package/src/shared/constants/agentBlocks.ts +129 -0
- package/src/shared/constants/attachments.ts +175 -0
- package/src/shared/constants/cache.ts +12 -0
- package/src/shared/constants/cli.ts +15 -0
- package/src/shared/constants/crossTeam.ts +126 -0
- package/src/shared/constants/index.ts +15 -0
- package/src/shared/constants/kanban.ts +9 -0
- package/src/shared/constants/memberColors.ts +140 -0
- package/src/shared/constants/opencodeTaskLogAttribution.ts +1 -0
- package/src/shared/constants/teamLimits.ts +2 -0
- package/src/shared/constants/trafficLights.ts +60 -0
- package/src/shared/constants/triggerColors.ts +126 -0
- package/src/shared/constants/window.ts +12 -0
- package/src/shared/types/api.ts +1062 -0
- package/src/shared/types/ccConnect.ts +399 -0
- package/src/shared/types/cliInstaller.ts +335 -0
- package/src/shared/types/editor.ts +279 -0
- package/src/shared/types/extensions/api.ts +90 -0
- package/src/shared/types/extensions/apikey.ts +40 -0
- package/src/shared/types/extensions/common.ts +16 -0
- package/src/shared/types/extensions/index.ts +67 -0
- package/src/shared/types/extensions/mcp.ts +132 -0
- package/src/shared/types/extensions/plugin.ts +85 -0
- package/src/shared/types/extensions/skill.ts +173 -0
- package/src/shared/types/index.ts +48 -0
- package/src/shared/types/ipc.ts +5 -0
- package/src/shared/types/notifications.ts +407 -0
- package/src/shared/types/providers.ts +116 -0
- package/src/shared/types/review.ts +319 -0
- package/src/shared/types/schedule.ts +124 -0
- package/src/shared/types/team.ts +1726 -0
- package/src/shared/types/terminal.ts +49 -0
- package/src/shared/types/visualization.ts +60 -0
- package/src/shared/utils/__tests__/contextMetrics.test.ts +260 -0
- package/src/shared/utils/__tests__/ephemeralProjectPath.test.ts +42 -0
- package/src/shared/utils/__tests__/teamProvider.test.ts +29 -0
- package/src/shared/utils/agentLanguage.ts +122 -0
- package/src/shared/utils/anthropicLaunchModel.ts +96 -0
- package/src/shared/utils/anthropicModelDefaults.ts +3 -0
- package/src/shared/utils/apiErrorDetector.ts +13 -0
- package/src/shared/utils/boardTaskActivityLabels.ts +128 -0
- package/src/shared/utils/boardTaskActivityPresentation.ts +75 -0
- package/src/shared/utils/cliArgsParser.ts +129 -0
- package/src/shared/utils/contentSanitizer.ts +207 -0
- package/src/shared/utils/contextMetrics.ts +236 -0
- package/src/shared/utils/costFormatting.ts +45 -0
- package/src/shared/utils/diffContextHash.ts +22 -0
- package/src/shared/utils/effortLevels.ts +73 -0
- package/src/shared/utils/ephemeralProjectPath.ts +41 -0
- package/src/shared/utils/errorHandling.ts +26 -0
- package/src/shared/utils/extensionNormalizers.ts +336 -0
- package/src/shared/utils/idleNotificationSemantics.ts +86 -0
- package/src/shared/utils/inboxNoise.ts +158 -0
- package/src/shared/utils/leadDetection.ts +63 -0
- package/src/shared/utils/logger.ts +69 -0
- package/src/shared/utils/markdownTextSearch.ts +210 -0
- package/src/shared/utils/mcpScopes.ts +36 -0
- package/src/shared/utils/modelParser.ts +158 -0
- package/src/shared/utils/opencodeModelRef.ts +78 -0
- package/src/shared/utils/platformPath.ts +103 -0
- package/src/shared/utils/pricing.ts +129 -0
- package/src/shared/utils/providerBackend.ts +90 -0
- package/src/shared/utils/providerExtensionCapabilities.ts +92 -0
- package/src/shared/utils/providerModelSelection.ts +5 -0
- package/src/shared/utils/providerModelVisibility.ts +47 -0
- package/src/shared/utils/rateLimitDetector.ts +334 -0
- package/src/shared/utils/reviewState.ts +74 -0
- package/src/shared/utils/sentryConfig.ts +26 -0
- package/src/shared/utils/skillRoots.ts +93 -0
- package/src/shared/utils/slashCommands.ts +128 -0
- package/src/shared/utils/taskChangePresence.ts +35 -0
- package/src/shared/utils/taskChangeSince.ts +51 -0
- package/src/shared/utils/taskChangeState.ts +49 -0
- package/src/shared/utils/taskHistory.ts +82 -0
- package/src/shared/utils/taskIdentity.ts +32 -0
- package/src/shared/utils/teamGraphDefaultLayout.ts +97 -0
- package/src/shared/utils/teamMemberColors.ts +107 -0
- package/src/shared/utils/teamMemberName.ts +77 -0
- package/src/shared/utils/teamProvider.ts +73 -0
- package/src/shared/utils/teamStableOwnerId.ts +12 -0
- package/src/shared/utils/teammateMessageParser.ts +52 -0
- package/src/shared/utils/tokenFormatting.ts +91 -0
- package/src/shared/utils/toolSummary.ts +279 -0
- package/src/shared/utils/version.ts +29 -0
- package/src/types/agent-teams-controller.d.ts +163 -0
- package/src/types/node-pty.d.ts +22 -0
- package/src/types/pidusage.d.ts +23 -0
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
import{bv as Je,bw as In,bx as Ke,by as tn,bz as en,bA as se,bB as Ln,ba as ne,bb as re,_ as h,B as An,A as Wn,Z as $n,Y as On,C as Hn,D as Nn,F as _t,H as Zt,J as Pn,bC as rt,I as Tt,Q as Vn,O as zn,a3 as Rn,X as Bn}from"./index-CZltVMDP.js";import{b as Zn,t as We,c as Xn,a as qn,l as Gn}from"./linear-CScZGLr2.js";import{i as jn}from"./init-Gi6I4Gst.js";import"./splashScene-C8lWNnm4.js";import"./defaultLocale-DX6XiGOO.js";function Qn(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n<r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n<i||n===void 0&&i>=i)&&(n=i)}return n}function Jn(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function Kn(t){return t}var qt=1,ae=2,ke=3,Xt=4,$e=1e-6;function tr(t){return"translate("+t+",0)"}function er(t){return"translate(0,"+t+")"}function nr(t){return e=>+t(e)}function rr(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function ir(){return!this.__axis}function nn(t,e){var n=[],r=null,i=null,a=6,c=6,m=3,F=typeof window<"u"&&window.devicePixelRatio>1?0:.5,C=t===qt||t===Xt?-1:1,k=t===Xt||t===ae?"x":"y",L=t===qt||t===ke?tr:er;function _(S){var Z=r??(e.ticks?e.ticks.apply(e,n):e.domain()),A=i??(e.tickFormat?e.tickFormat.apply(e,n):Kn),U=Math.max(a,0)+m,I=e.range(),N=+I[0]+F,W=+I[I.length-1]+F,B=(e.bandwidth?rr:nr)(e.copy(),F),j=S.selection?S.selection():S,p=j.selectAll(".domain").data([null]),g=j.selectAll(".tick").data(Z,e).order(),y=g.exit(),d=g.enter().append("g").attr("class","tick"),M=g.select("line"),w=g.select("text");p=p.merge(p.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),g=g.merge(d),M=M.merge(d.append("line").attr("stroke","currentColor").attr(k+"2",C*a)),w=w.merge(d.append("text").attr("fill","currentColor").attr(k,C*U).attr("dy",t===qt?"0em":t===ke?"0.71em":"0.32em")),S!==j&&(p=p.transition(S),g=g.transition(S),M=M.transition(S),w=w.transition(S),y=y.transition(S).attr("opacity",$e).attr("transform",function(T){return isFinite(T=B(T))?L(T+F):this.getAttribute("transform")}),d.attr("opacity",$e).attr("transform",function(T){var v=this.parentNode.__axis;return L((v&&isFinite(v=v(T))?v:B(T))+F)})),y.remove(),p.attr("d",t===Xt||t===ae?c?"M"+C*c+","+N+"H"+F+"V"+W+"H"+C*c:"M"+F+","+N+"V"+W:c?"M"+N+","+C*c+"V"+F+"H"+W+"V"+C*c:"M"+N+","+F+"H"+W),g.attr("opacity",1).attr("transform",function(T){return L(B(T)+F)}),M.attr(k+"2",C*a),w.attr(k,C*U).text(A),j.filter(ir).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===ae?"start":t===Xt?"end":"middle"),j.each(function(){this.__axis=B})}return _.scale=function(S){return arguments.length?(e=S,_):e},_.ticks=function(){return n=Array.from(arguments),_},_.tickArguments=function(S){return arguments.length?(n=S==null?[]:Array.from(S),_):n.slice()},_.tickValues=function(S){return arguments.length?(r=S==null?null:Array.from(S),_):r&&r.slice()},_.tickFormat=function(S){return arguments.length?(i=S,_):i},_.tickSize=function(S){return arguments.length?(a=c=+S,_):a},_.tickSizeInner=function(S){return arguments.length?(a=+S,_):a},_.tickSizeOuter=function(S){return arguments.length?(c=+S,_):c},_.tickPadding=function(S){return arguments.length?(m=+S,_):m},_.offset=function(S){return arguments.length?(F=+S,_):F},_}function sr(t){return nn(qt,t)}function ar(t){return nn(ke,t)}const or=Math.PI/180,cr=180/Math.PI,Qt=18,rn=.96422,sn=1,an=.82521,on=4/29,Yt=6/29,cn=3*Yt*Yt,ur=Yt*Yt*Yt;function un(t){if(t instanceof ft)return new ft(t.l,t.a,t.b,t.opacity);if(t instanceof dt)return ln(t);t instanceof Je||(t=In(t));var e=le(t.r),n=le(t.g),r=le(t.b),i=oe((.2225045*e+.7168786*n+.0606169*r)/sn),a,c;return e===n&&n===r?a=c=i:(a=oe((.4360747*e+.3850649*n+.1430804*r)/rn),c=oe((.0139322*e+.0971045*n+.7141733*r)/an)),new ft(116*i-16,500*(a-i),200*(i-c),t.opacity)}function lr(t,e,n,r){return arguments.length===1?un(t):new ft(t,e,n,r??1)}function ft(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}Ke(ft,lr,tn(en,{brighter(t){return new ft(this.l+Qt*(t??1),this.a,this.b,this.opacity)},darker(t){return new ft(this.l-Qt*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=rn*ce(e),t=sn*ce(t),n=an*ce(n),new Je(ue(3.1338561*e-1.6168667*t-.4906146*n),ue(-.9787684*e+1.9161415*t+.033454*n),ue(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function oe(t){return t>ur?Math.pow(t,1/3):t/cn+on}function ce(t){return t>Yt?t*t*t:cn*(t-on)}function ue(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function le(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function fr(t){if(t instanceof dt)return new dt(t.h,t.c,t.l,t.opacity);if(t instanceof ft||(t=un(t)),t.a===0&&t.b===0)return new dt(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*cr;return new dt(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function pe(t,e,n,r){return arguments.length===1?fr(t):new dt(t,e,n,r??1)}function dt(t,e,n,r){this.h=+t,this.c=+e,this.l=+n,this.opacity=+r}function ln(t){if(isNaN(t.h))return new ft(t.l,0,0,t.opacity);var e=t.h*or;return new ft(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}Ke(dt,pe,tn(en,{brighter(t){return new dt(this.h,this.c,this.l+Qt*(t??1),this.opacity)},darker(t){return new dt(this.h,this.c,this.l-Qt*(t??1),this.opacity)},rgb(){return ln(this).rgb()}}));function hr(t){return function(e,n){var r=t((e=pe(e)).h,(n=pe(n)).h),i=se(e.c,n.c),a=se(e.l,n.l),c=se(e.opacity,n.opacity);return function(m){return e.h=r(m),e.c=i(m),e.l=a(m),e.opacity=c(m),e+""}}}const dr=hr(Ln);function mr(t,e){t=t.slice();var n=0,r=t.length-1,i=t[n],a=t[r],c;return a<i&&(c=n,n=r,r=c,c=i,i=a,a=c),t[n]=e.floor(i),t[r]=e.ceil(a),t}const fe=new Date,he=new Date;function et(t,e,n,r){function i(a){return t(a=arguments.length===0?new Date:new Date(+a)),a}return i.floor=a=>(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{const c=i(a),m=i.ceil(a);return a-c<m-a?c:m},i.offset=(a,c)=>(e(a=new Date(+a),c==null?1:Math.floor(c)),a),i.range=(a,c,m)=>{const F=[];if(a=i.ceil(a),m=m==null?1:Math.floor(m),!(a<c)||!(m>0))return F;let C;do F.push(C=new Date(+a)),e(a,m),t(a);while(C<a&&a<c);return F},i.filter=a=>et(c=>{if(c>=c)for(;t(c),!a(c);)c.setTime(c-1)},(c,m)=>{if(c>=c)if(m<0)for(;++m<=0;)for(;e(c,-1),!a(c););else for(;--m>=0;)for(;e(c,1),!a(c););}),n&&(i.count=(a,c)=>(fe.setTime(+a),he.setTime(+c),t(fe),t(he),Math.floor(n(fe,he))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(r?c=>r(c)%a===0:c=>i.count(0,c)%a===0):i)),i}const Ut=et(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Ut.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?et(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Ut);Ut.range;const mt=1e3,ct=mt*60,gt=ct*60,yt=gt*24,we=yt*7,Oe=yt*30,de=yt*365,vt=et(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*mt)},(t,e)=>(e-t)/mt,t=>t.getUTCSeconds());vt.range;const $t=et(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*mt)},(t,e)=>{t.setTime(+t+e*ct)},(t,e)=>(e-t)/ct,t=>t.getMinutes());$t.range;const gr=et(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*ct)},(t,e)=>(e-t)/ct,t=>t.getUTCMinutes());gr.range;const Ot=et(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*mt-t.getMinutes()*ct)},(t,e)=>{t.setTime(+t+e*gt)},(t,e)=>(e-t)/gt,t=>t.getHours());Ot.range;const yr=et(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*gt)},(t,e)=>(e-t)/gt,t=>t.getUTCHours());yr.range;const bt=et(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*ct)/yt,t=>t.getDate()-1);bt.range;const Me=et(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/yt,t=>t.getUTCDate()-1);Me.range;const kr=et(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/yt,t=>Math.floor(t/yt));kr.range;function Mt(t){return et(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*ct)/we)}const Pt=Mt(0),Ht=Mt(1),fn=Mt(2),hn=Mt(3),xt=Mt(4),dn=Mt(5),mn=Mt(6);Pt.range;Ht.range;fn.range;hn.range;xt.range;dn.range;mn.range;function Dt(t){return et(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/we)}const gn=Dt(0),Jt=Dt(1),pr=Dt(2),vr=Dt(3),Et=Dt(4),Tr=Dt(5),br=Dt(6);gn.range;Jt.range;pr.range;vr.range;Et.range;Tr.range;br.range;const Nt=et(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());Nt.range;const xr=et(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());xr.range;const kt=et(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());kt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:et(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});kt.range;const wt=et(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());wt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:et(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});wt.range;function wr(t,e,n,r,i,a){const c=[[vt,1,mt],[vt,5,5*mt],[vt,15,15*mt],[vt,30,30*mt],[a,1,ct],[a,5,5*ct],[a,15,15*ct],[a,30,30*ct],[i,1,gt],[i,3,3*gt],[i,6,6*gt],[i,12,12*gt],[r,1,yt],[r,2,2*yt],[n,1,we],[e,1,Oe],[e,3,3*Oe],[t,1,de]];function m(C,k,L){const _=k<C;_&&([C,k]=[k,C]);const S=L&&typeof L.range=="function"?L:F(C,k,L),Z=S?S.range(C,+k+1):[];return _?Z.reverse():Z}function F(C,k,L){const _=Math.abs(k-C)/L,S=Zn(([,,U])=>U).right(c,_);if(S===c.length)return t.every(We(C/de,k/de,L));if(S===0)return Ut.every(Math.max(We(C,k,L),1));const[Z,A]=c[_/c[S-1][2]<c[S][2]/_?S-1:S];return Z.every(A)}return[m,F]}const[Mr,Dr]=wr(kt,Nt,Pt,bt,Ot,$t);function me(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function ge(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Lt(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}function Cr(t){var e=t.dateTime,n=t.date,r=t.time,i=t.periods,a=t.days,c=t.shortDays,m=t.months,F=t.shortMonths,C=At(i),k=Wt(i),L=At(a),_=Wt(a),S=At(c),Z=Wt(c),A=At(m),U=Wt(m),I=At(F),N=Wt(F),W={a:x,A:Y,b:o,B:q,c:null,d:Re,e:Re,f:Gr,g:si,G:oi,H:Zr,I:Xr,j:qr,L:yn,m:jr,M:Qr,p:s,q:E,Q:Xe,s:qe,S:Jr,u:Kr,U:ti,V:ei,w:ni,W:ri,x:null,X:null,y:ii,Y:ai,Z:ci,"%":Ze},B={a:R,A:z,b:P,B:K,c:null,d:Be,e:Be,f:hi,g:xi,G:Mi,H:ui,I:li,j:fi,L:pn,m:di,M:mi,p:O,q:st,Q:Xe,s:qe,S:gi,u:yi,U:ki,V:pi,w:vi,W:Ti,x:null,X:null,y:bi,Y:wi,Z:Di,"%":Ze},j={a:M,A:w,b:T,B:v,c:u,d:Ve,e:Ve,f:Vr,g:Pe,G:Ne,H:ze,I:ze,j:Or,L:Pr,m:$r,M:Hr,p:d,q:Wr,Q:Rr,s:Br,S:Nr,u:Ur,U:Er,V:Ir,w:Fr,W:Lr,x:f,X:b,y:Pe,Y:Ne,Z:Ar,"%":zr};W.x=p(n,W),W.X=p(r,W),W.c=p(e,W),B.x=p(n,B),B.X=p(r,B),B.c=p(e,B);function p(D,H){return function(V){var l=[],J=-1,$=0,Q=D.length,G,it,at;for(V instanceof Date||(V=new Date(+V));++J<Q;)D.charCodeAt(J)===37&&(l.push(D.slice($,J)),(it=He[G=D.charAt(++J)])!=null?G=D.charAt(++J):it=G==="e"?" ":"0",(at=H[G])&&(G=at(V,it)),l.push(G),$=J+1);return l.push(D.slice($,J)),l.join("")}}function g(D,H){return function(V){var l=Lt(1900,void 0,1),J=y(l,D,V+="",0),$,Q;if(J!=V.length)return null;if("Q"in l)return new Date(l.Q);if("s"in l)return new Date(l.s*1e3+("L"in l?l.L:0));if(H&&!("Z"in l)&&(l.Z=0),"p"in l&&(l.H=l.H%12+l.p*12),l.m===void 0&&(l.m="q"in l?l.q:0),"V"in l){if(l.V<1||l.V>53)return null;"w"in l||(l.w=1),"Z"in l?($=ge(Lt(l.y,0,1)),Q=$.getUTCDay(),$=Q>4||Q===0?Jt.ceil($):Jt($),$=Me.offset($,(l.V-1)*7),l.y=$.getUTCFullYear(),l.m=$.getUTCMonth(),l.d=$.getUTCDate()+(l.w+6)%7):($=me(Lt(l.y,0,1)),Q=$.getDay(),$=Q>4||Q===0?Ht.ceil($):Ht($),$=bt.offset($,(l.V-1)*7),l.y=$.getFullYear(),l.m=$.getMonth(),l.d=$.getDate()+(l.w+6)%7)}else("W"in l||"U"in l)&&("w"in l||(l.w="u"in l?l.u%7:"W"in l?1:0),Q="Z"in l?ge(Lt(l.y,0,1)).getUTCDay():me(Lt(l.y,0,1)).getDay(),l.m=0,l.d="W"in l?(l.w+6)%7+l.W*7-(Q+5)%7:l.w+l.U*7-(Q+6)%7);return"Z"in l?(l.H+=l.Z/100|0,l.M+=l.Z%100,ge(l)):me(l)}}function y(D,H,V,l){for(var J=0,$=H.length,Q=V.length,G,it;J<$;){if(l>=Q)return-1;if(G=H.charCodeAt(J++),G===37){if(G=H.charAt(J++),it=j[G in He?H.charAt(J++):G],!it||(l=it(D,V,l))<0)return-1}else if(G!=V.charCodeAt(l++))return-1}return l}function d(D,H,V){var l=C.exec(H.slice(V));return l?(D.p=k.get(l[0].toLowerCase()),V+l[0].length):-1}function M(D,H,V){var l=S.exec(H.slice(V));return l?(D.w=Z.get(l[0].toLowerCase()),V+l[0].length):-1}function w(D,H,V){var l=L.exec(H.slice(V));return l?(D.w=_.get(l[0].toLowerCase()),V+l[0].length):-1}function T(D,H,V){var l=I.exec(H.slice(V));return l?(D.m=N.get(l[0].toLowerCase()),V+l[0].length):-1}function v(D,H,V){var l=A.exec(H.slice(V));return l?(D.m=U.get(l[0].toLowerCase()),V+l[0].length):-1}function u(D,H,V){return y(D,e,H,V)}function f(D,H,V){return y(D,n,H,V)}function b(D,H,V){return y(D,r,H,V)}function x(D){return c[D.getDay()]}function Y(D){return a[D.getDay()]}function o(D){return F[D.getMonth()]}function q(D){return m[D.getMonth()]}function s(D){return i[+(D.getHours()>=12)]}function E(D){return 1+~~(D.getMonth()/3)}function R(D){return c[D.getUTCDay()]}function z(D){return a[D.getUTCDay()]}function P(D){return F[D.getUTCMonth()]}function K(D){return m[D.getUTCMonth()]}function O(D){return i[+(D.getUTCHours()>=12)]}function st(D){return 1+~~(D.getUTCMonth()/3)}return{format:function(D){var H=p(D+="",W);return H.toString=function(){return D},H},parse:function(D){var H=g(D+="",!1);return H.toString=function(){return D},H},utcFormat:function(D){var H=p(D+="",B);return H.toString=function(){return D},H},utcParse:function(D){var H=g(D+="",!0);return H.toString=function(){return D},H}}}var He={"-":"",_:" ",0:"0"},nt=/^\s*\d+/,Sr=/^%/,_r=/[\\^$*+?|[\]().{}]/g;function X(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a<n?new Array(n-a+1).join(e)+i:i)}function Yr(t){return t.replace(_r,"\\$&")}function At(t){return new RegExp("^(?:"+t.map(Yr).join("|")+")","i")}function Wt(t){return new Map(t.map((e,n)=>[e.toLowerCase(),n]))}function Fr(t,e,n){var r=nt.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Ur(t,e,n){var r=nt.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Er(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function Ir(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function Lr(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function Ne(t,e,n){var r=nt.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Pe(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Ar(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Wr(t,e,n){var r=nt.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function $r(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function Ve(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Or(t,e,n){var r=nt.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function ze(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Hr(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function Nr(t,e,n){var r=nt.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Pr(t,e,n){var r=nt.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Vr(t,e,n){var r=nt.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function zr(t,e,n){var r=Sr.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Rr(t,e,n){var r=nt.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Br(t,e,n){var r=nt.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function Re(t,e){return X(t.getDate(),e,2)}function Zr(t,e){return X(t.getHours(),e,2)}function Xr(t,e){return X(t.getHours()%12||12,e,2)}function qr(t,e){return X(1+bt.count(kt(t),t),e,3)}function yn(t,e){return X(t.getMilliseconds(),e,3)}function Gr(t,e){return yn(t,e)+"000"}function jr(t,e){return X(t.getMonth()+1,e,2)}function Qr(t,e){return X(t.getMinutes(),e,2)}function Jr(t,e){return X(t.getSeconds(),e,2)}function Kr(t){var e=t.getDay();return e===0?7:e}function ti(t,e){return X(Pt.count(kt(t)-1,t),e,2)}function kn(t){var e=t.getDay();return e>=4||e===0?xt(t):xt.ceil(t)}function ei(t,e){return t=kn(t),X(xt.count(kt(t),t)+(kt(t).getDay()===4),e,2)}function ni(t){return t.getDay()}function ri(t,e){return X(Ht.count(kt(t)-1,t),e,2)}function ii(t,e){return X(t.getFullYear()%100,e,2)}function si(t,e){return t=kn(t),X(t.getFullYear()%100,e,2)}function ai(t,e){return X(t.getFullYear()%1e4,e,4)}function oi(t,e){var n=t.getDay();return t=n>=4||n===0?xt(t):xt.ceil(t),X(t.getFullYear()%1e4,e,4)}function ci(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+X(e/60|0,"0",2)+X(e%60,"0",2)}function Be(t,e){return X(t.getUTCDate(),e,2)}function ui(t,e){return X(t.getUTCHours(),e,2)}function li(t,e){return X(t.getUTCHours()%12||12,e,2)}function fi(t,e){return X(1+Me.count(wt(t),t),e,3)}function pn(t,e){return X(t.getUTCMilliseconds(),e,3)}function hi(t,e){return pn(t,e)+"000"}function di(t,e){return X(t.getUTCMonth()+1,e,2)}function mi(t,e){return X(t.getUTCMinutes(),e,2)}function gi(t,e){return X(t.getUTCSeconds(),e,2)}function yi(t){var e=t.getUTCDay();return e===0?7:e}function ki(t,e){return X(gn.count(wt(t)-1,t),e,2)}function vn(t){var e=t.getUTCDay();return e>=4||e===0?Et(t):Et.ceil(t)}function pi(t,e){return t=vn(t),X(Et.count(wt(t),t)+(wt(t).getUTCDay()===4),e,2)}function vi(t){return t.getUTCDay()}function Ti(t,e){return X(Jt.count(wt(t)-1,t),e,2)}function bi(t,e){return X(t.getUTCFullYear()%100,e,2)}function xi(t,e){return t=vn(t),X(t.getUTCFullYear()%100,e,2)}function wi(t,e){return X(t.getUTCFullYear()%1e4,e,4)}function Mi(t,e){var n=t.getUTCDay();return t=n>=4||n===0?Et(t):Et.ceil(t),X(t.getUTCFullYear()%1e4,e,4)}function Di(){return"+0000"}function Ze(){return"%"}function Xe(t){return+t}function qe(t){return Math.floor(+t/1e3)}var St,Kt;Ci({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Ci(t){return St=Cr(t),Kt=St.format,St.parse,St.utcFormat,St.utcParse,St}function Si(t){return new Date(t)}function _i(t){return t instanceof Date?+t:+new Date(+t)}function Tn(t,e,n,r,i,a,c,m,F,C){var k=Xn(),L=k.invert,_=k.domain,S=C(".%L"),Z=C(":%S"),A=C("%I:%M"),U=C("%I %p"),I=C("%a %d"),N=C("%b %d"),W=C("%B"),B=C("%Y");function j(p){return(F(p)<p?S:m(p)<p?Z:c(p)<p?A:a(p)<p?U:r(p)<p?i(p)<p?I:N:n(p)<p?W:B)(p)}return k.invert=function(p){return new Date(L(p))},k.domain=function(p){return arguments.length?_(Array.from(p,_i)):_().map(Si)},k.ticks=function(p){var g=_();return t(g[0],g[g.length-1],p??10)},k.tickFormat=function(p,g){return g==null?j:C(g)},k.nice=function(p){var g=_();return(!p||typeof p.range!="function")&&(p=e(g[0],g[g.length-1],p??10)),p?_(mr(g,p)):k},k.copy=function(){return qn(k,Tn(t,e,n,r,i,a,c,m,F,C))},k}function Yi(){return jn.apply(Tn(Mr,Dr,kt,Nt,Pt,bt,Ot,$t,vt,Kt).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}var bn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(ne,function(){var n="day";return function(r,i,a){var c=function(C){return C.add(4-C.isoWeekday(),n)},m=i.prototype;m.isoWeekYear=function(){return c(this).year()},m.isoWeek=function(C){if(!this.$utils().u(C))return this.add(7*(C-this.isoWeek()),n);var k,L,_,S,Z=c(this),A=(k=this.isoWeekYear(),L=this.$u,_=(L?a.utc:a)().year(k).startOf("year"),S=4-_.isoWeekday(),_.isoWeekday()>4&&(S+=7),_.add(S,n));return Z.diff(A,"week")+1},m.isoWeekday=function(C){return this.$utils().u(C)?this.day()||7:this.day(this.day()%7?C:C-7)};var F=m.startOf;m.startOf=function(C,k){var L=this.$utils(),_=!!L.u(k)||k;return L.p(C)==="isoweek"?_?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):F.bind(this)(C,k)}}})})(bn);var Fi=bn.exports;const Ui=re(Fi);var xn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(ne,function(){var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},r=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d/,a=/\d\d/,c=/\d\d?/,m=/\d*[^-_:/,()\s\d]+/,F={},C=function(U){return(U=+U)+(U>68?1900:2e3)},k=function(U){return function(I){this[U]=+I}},L=[/[+-]\d\d:?(\d\d)?|Z/,function(U){(this.zone||(this.zone={})).offset=function(I){if(!I||I==="Z")return 0;var N=I.match(/([+-]|\d\d)/g),W=60*N[1]+(+N[2]||0);return W===0?0:N[0]==="+"?-W:W}(U)}],_=function(U){var I=F[U];return I&&(I.indexOf?I:I.s.concat(I.f))},S=function(U,I){var N,W=F.meridiem;if(W){for(var B=1;B<=24;B+=1)if(U.indexOf(W(B,0,I))>-1){N=B>12;break}}else N=U===(I?"pm":"PM");return N},Z={A:[m,function(U){this.afternoon=S(U,!1)}],a:[m,function(U){this.afternoon=S(U,!0)}],Q:[i,function(U){this.month=3*(U-1)+1}],S:[i,function(U){this.milliseconds=100*+U}],SS:[a,function(U){this.milliseconds=10*+U}],SSS:[/\d{3}/,function(U){this.milliseconds=+U}],s:[c,k("seconds")],ss:[c,k("seconds")],m:[c,k("minutes")],mm:[c,k("minutes")],H:[c,k("hours")],h:[c,k("hours")],HH:[c,k("hours")],hh:[c,k("hours")],D:[c,k("day")],DD:[a,k("day")],Do:[m,function(U){var I=F.ordinal,N=U.match(/\d+/);if(this.day=N[0],I)for(var W=1;W<=31;W+=1)I(W).replace(/\[|\]/g,"")===U&&(this.day=W)}],w:[c,k("week")],ww:[a,k("week")],M:[c,k("month")],MM:[a,k("month")],MMM:[m,function(U){var I=_("months"),N=(_("monthsShort")||I.map(function(W){return W.slice(0,3)})).indexOf(U)+1;if(N<1)throw new Error;this.month=N%12||N}],MMMM:[m,function(U){var I=_("months").indexOf(U)+1;if(I<1)throw new Error;this.month=I%12||I}],Y:[/[+-]?\d+/,k("year")],YY:[a,function(U){this.year=C(U)}],YYYY:[/\d{4}/,k("year")],Z:L,ZZ:L};function A(U){var I,N;I=U,N=F&&F.formats;for(var W=(U=I.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(M,w,T){var v=T&&T.toUpperCase();return w||N[T]||n[T]||N[v].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(u,f,b){return f||b.slice(1)})})).match(r),B=W.length,j=0;j<B;j+=1){var p=W[j],g=Z[p],y=g&&g[0],d=g&&g[1];W[j]=d?{regex:y,parser:d}:p.replace(/^\[|\]$/g,"")}return function(M){for(var w={},T=0,v=0;T<B;T+=1){var u=W[T];if(typeof u=="string")v+=u.length;else{var f=u.regex,b=u.parser,x=M.slice(v),Y=f.exec(x)[0];b.call(w,Y),M=M.replace(Y,"")}}return function(o){var q=o.afternoon;if(q!==void 0){var s=o.hours;q?s<12&&(o.hours+=12):s===12&&(o.hours=0),delete o.afternoon}}(w),w}}return function(U,I,N){N.p.customParseFormat=!0,U&&U.parseTwoDigitYear&&(C=U.parseTwoDigitYear);var W=I.prototype,B=W.parse;W.parse=function(j){var p=j.date,g=j.utc,y=j.args;this.$u=g;var d=y[1];if(typeof d=="string"){var M=y[2]===!0,w=y[3]===!0,T=M||w,v=y[2];w&&(v=y[2]),F=this.$locale(),!M&&v&&(F=N.Ls[v]),this.$d=function(x,Y,o,q){try{if(["x","X"].indexOf(Y)>-1)return new Date((Y==="X"?1e3:1)*x);var s=A(Y)(x),E=s.year,R=s.month,z=s.day,P=s.hours,K=s.minutes,O=s.seconds,st=s.milliseconds,D=s.zone,H=s.week,V=new Date,l=z||(E||R?1:V.getDate()),J=E||V.getFullYear(),$=0;E&&!R||($=R>0?R-1:V.getMonth());var Q,G=P||0,it=K||0,at=O||0,pt=st||0;return D?new Date(Date.UTC(J,$,l,G,it,at,pt+60*D.offset*1e3)):o?new Date(Date.UTC(J,$,l,G,it,at,pt)):(Q=new Date(J,$,l,G,it,at,pt),H&&(Q=q(Q).week(H).toDate()),Q)}catch{return new Date("")}}(p,d,g,N),this.init(),v&&v!==!0&&(this.$L=this.locale(v).$L),T&&p!=this.format(d)&&(this.$d=new Date("")),F={}}else if(d instanceof Array)for(var u=d.length,f=1;f<=u;f+=1){y[1]=d[f-1];var b=N.apply(this,y);if(b.isValid()){this.$d=b.$d,this.$L=b.$L,this.init();break}f===u&&(this.$d=new Date(""))}else B.call(this,j)}}})})(xn);var Ei=xn.exports;const Ii=re(Ei);var wn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(ne,function(){return function(n,r){var i=r.prototype,a=i.format;i.format=function(c){var m=this,F=this.$locale();if(!this.isValid())return a.bind(this)(c);var C=this.$utils(),k=(c||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(L){switch(L){case"Q":return Math.ceil((m.$M+1)/3);case"Do":return F.ordinal(m.$D);case"gggg":return m.weekYear();case"GGGG":return m.isoWeekYear();case"wo":return F.ordinal(m.week(),"W");case"w":case"ww":return C.s(m.week(),L==="w"?1:2,"0");case"W":case"WW":return C.s(m.isoWeek(),L==="W"?1:2,"0");case"k":case"kk":return C.s(String(m.$H===0?24:m.$H),L==="k"?1:2,"0");case"X":return Math.floor(m.$d.getTime()/1e3);case"x":return m.$d.getTime();case"z":return"["+m.offsetName()+"]";case"zzz":return"["+m.offsetName("long")+"]";default:return L}});return a.bind(this)(k)}}})})(wn);var Li=wn.exports;const Ai=re(Li);var Mn={exports:{}};(function(t,e){(function(n,r){t.exports=r()})(ne,function(){var n,r,i=1e3,a=6e4,c=36e5,m=864e5,F=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,C=31536e6,k=2628e6,L=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,_={years:C,months:k,days:m,hours:c,minutes:a,seconds:i,milliseconds:1,weeks:6048e5},S=function(p){return p instanceof B},Z=function(p,g,y){return new B(p,y,g.$l)},A=function(p){return r.p(p)+"s"},U=function(p){return p<0},I=function(p){return U(p)?Math.ceil(p):Math.floor(p)},N=function(p){return Math.abs(p)},W=function(p,g){return p?U(p)?{negative:!0,format:""+N(p)+g}:{negative:!1,format:""+p+g}:{negative:!1,format:""}},B=function(){function p(y,d,M){var w=this;if(this.$d={},this.$l=M,y===void 0&&(this.$ms=0,this.parseFromMilliseconds()),d)return Z(y*_[A(d)],this);if(typeof y=="number")return this.$ms=y,this.parseFromMilliseconds(),this;if(typeof y=="object")return Object.keys(y).forEach(function(u){w.$d[A(u)]=y[u]}),this.calMilliseconds(),this;if(typeof y=="string"){var T=y.match(L);if(T){var v=T.slice(2).map(function(u){return u!=null?Number(u):0});return this.$d.years=v[0],this.$d.months=v[1],this.$d.weeks=v[2],this.$d.days=v[3],this.$d.hours=v[4],this.$d.minutes=v[5],this.$d.seconds=v[6],this.calMilliseconds(),this}}return this}var g=p.prototype;return g.calMilliseconds=function(){var y=this;this.$ms=Object.keys(this.$d).reduce(function(d,M){return d+(y.$d[M]||0)*_[M]},0)},g.parseFromMilliseconds=function(){var y=this.$ms;this.$d.years=I(y/C),y%=C,this.$d.months=I(y/k),y%=k,this.$d.days=I(y/m),y%=m,this.$d.hours=I(y/c),y%=c,this.$d.minutes=I(y/a),y%=a,this.$d.seconds=I(y/i),y%=i,this.$d.milliseconds=y},g.toISOString=function(){var y=W(this.$d.years,"Y"),d=W(this.$d.months,"M"),M=+this.$d.days||0;this.$d.weeks&&(M+=7*this.$d.weeks);var w=W(M,"D"),T=W(this.$d.hours,"H"),v=W(this.$d.minutes,"M"),u=this.$d.seconds||0;this.$d.milliseconds&&(u+=this.$d.milliseconds/1e3,u=Math.round(1e3*u)/1e3);var f=W(u,"S"),b=y.negative||d.negative||w.negative||T.negative||v.negative||f.negative,x=T.format||v.format||f.format?"T":"",Y=(b?"-":"")+"P"+y.format+d.format+w.format+x+T.format+v.format+f.format;return Y==="P"||Y==="-P"?"P0D":Y},g.toJSON=function(){return this.toISOString()},g.format=function(y){var d=y||"YYYY-MM-DDTHH:mm:ss",M={Y:this.$d.years,YY:r.s(this.$d.years,2,"0"),YYYY:r.s(this.$d.years,4,"0"),M:this.$d.months,MM:r.s(this.$d.months,2,"0"),D:this.$d.days,DD:r.s(this.$d.days,2,"0"),H:this.$d.hours,HH:r.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:r.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:r.s(this.$d.seconds,2,"0"),SSS:r.s(this.$d.milliseconds,3,"0")};return d.replace(F,function(w,T){return T||String(M[w])})},g.as=function(y){return this.$ms/_[A(y)]},g.get=function(y){var d=this.$ms,M=A(y);return M==="milliseconds"?d%=1e3:d=M==="weeks"?I(d/_[M]):this.$d[M],d||0},g.add=function(y,d,M){var w;return w=d?y*_[A(d)]:S(y)?y.$ms:Z(y,this).$ms,Z(this.$ms+w*(M?-1:1),this)},g.subtract=function(y,d){return this.add(y,d,!0)},g.locale=function(y){var d=this.clone();return d.$l=y,d},g.clone=function(){return Z(this.$ms,this)},g.humanize=function(y){return n().add(this.$ms,"ms").locale(this.$l).fromNow(!y)},g.valueOf=function(){return this.asMilliseconds()},g.milliseconds=function(){return this.get("milliseconds")},g.asMilliseconds=function(){return this.as("milliseconds")},g.seconds=function(){return this.get("seconds")},g.asSeconds=function(){return this.as("seconds")},g.minutes=function(){return this.get("minutes")},g.asMinutes=function(){return this.as("minutes")},g.hours=function(){return this.get("hours")},g.asHours=function(){return this.as("hours")},g.days=function(){return this.get("days")},g.asDays=function(){return this.as("days")},g.weeks=function(){return this.get("weeks")},g.asWeeks=function(){return this.as("weeks")},g.months=function(){return this.get("months")},g.asMonths=function(){return this.as("months")},g.years=function(){return this.get("years")},g.asYears=function(){return this.as("years")},p}(),j=function(p,g,y){return p.add(g.years()*y,"y").add(g.months()*y,"M").add(g.days()*y,"d").add(g.hours()*y,"h").add(g.minutes()*y,"m").add(g.seconds()*y,"s").add(g.milliseconds()*y,"ms")};return function(p,g,y){n=y,r=y().$utils(),y.duration=function(w,T){var v=y.locale();return Z(w,{$l:v},T)},y.isDuration=S;var d=g.prototype.add,M=g.prototype.subtract;g.prototype.add=function(w,T){return S(w)?j(this,w,1):d.bind(this)(w,T)},g.prototype.subtract=function(w,T){return S(w)?j(this,w,-1):M.bind(this)(w,T)}}})})(Mn);var Wi=Mn.exports;const $i=re(Wi);var ve=function(){var t=h(function(v,u,f,b){for(f=f||{},b=v.length;b--;f[v[b]]=u);return f},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],n=[1,26],r=[1,27],i=[1,28],a=[1,29],c=[1,30],m=[1,31],F=[1,32],C=[1,33],k=[1,34],L=[1,9],_=[1,10],S=[1,11],Z=[1,12],A=[1,13],U=[1,14],I=[1,15],N=[1,16],W=[1,19],B=[1,20],j=[1,21],p=[1,22],g=[1,23],y=[1,25],d=[1,35],M={trace:h(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:h(function(u,f,b,x,Y,o,q){var s=o.length-1;switch(Y){case 1:return o[s-1];case 2:this.$=[];break;case 3:o[s-1].push(o[s]),this.$=o[s-1];break;case 4:case 5:this.$=o[s];break;case 6:case 7:this.$=[];break;case 8:x.setWeekday("monday");break;case 9:x.setWeekday("tuesday");break;case 10:x.setWeekday("wednesday");break;case 11:x.setWeekday("thursday");break;case 12:x.setWeekday("friday");break;case 13:x.setWeekday("saturday");break;case 14:x.setWeekday("sunday");break;case 15:x.setWeekend("friday");break;case 16:x.setWeekend("saturday");break;case 17:x.setDateFormat(o[s].substr(11)),this.$=o[s].substr(11);break;case 18:x.enableInclusiveEndDates(),this.$=o[s].substr(18);break;case 19:x.TopAxis(),this.$=o[s].substr(8);break;case 20:x.setAxisFormat(o[s].substr(11)),this.$=o[s].substr(11);break;case 21:x.setTickInterval(o[s].substr(13)),this.$=o[s].substr(13);break;case 22:x.setExcludes(o[s].substr(9)),this.$=o[s].substr(9);break;case 23:x.setIncludes(o[s].substr(9)),this.$=o[s].substr(9);break;case 24:x.setTodayMarker(o[s].substr(12)),this.$=o[s].substr(12);break;case 27:x.setDiagramTitle(o[s].substr(6)),this.$=o[s].substr(6);break;case 28:this.$=o[s].trim(),x.setAccTitle(this.$);break;case 29:case 30:this.$=o[s].trim(),x.setAccDescription(this.$);break;case 31:x.addSection(o[s].substr(8)),this.$=o[s].substr(8);break;case 33:x.addTask(o[s-1],o[s]),this.$="task";break;case 34:this.$=o[s-1],x.setClickEvent(o[s-1],o[s],null);break;case 35:this.$=o[s-2],x.setClickEvent(o[s-2],o[s-1],o[s]);break;case 36:this.$=o[s-2],x.setClickEvent(o[s-2],o[s-1],null),x.setLink(o[s-2],o[s]);break;case 37:this.$=o[s-3],x.setClickEvent(o[s-3],o[s-2],o[s-1]),x.setLink(o[s-3],o[s]);break;case 38:this.$=o[s-2],x.setClickEvent(o[s-2],o[s],null),x.setLink(o[s-2],o[s-1]);break;case 39:this.$=o[s-3],x.setClickEvent(o[s-3],o[s-1],o[s]),x.setLink(o[s-3],o[s-2]);break;case 40:this.$=o[s-1],x.setLink(o[s-1],o[s]);break;case 41:case 47:this.$=o[s-1]+" "+o[s];break;case 42:case 43:case 45:this.$=o[s-2]+" "+o[s-1]+" "+o[s];break;case 44:case 46:this.$=o[s-3]+" "+o[s-2]+" "+o[s-1]+" "+o[s];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:n,13:r,14:i,15:a,16:c,17:m,18:F,19:18,20:C,21:k,22:L,23:_,24:S,25:Z,26:A,27:U,28:I,29:N,30:W,31:B,33:j,35:p,36:g,37:24,38:y,40:d},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:n,13:r,14:i,15:a,16:c,17:m,18:F,19:18,20:C,21:k,22:L,23:_,24:S,25:Z,26:A,27:U,28:I,29:N,30:W,31:B,33:j,35:p,36:g,37:24,38:y,40:d},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:h(function(u,f){if(f.recoverable)this.trace(u);else{var b=new Error(u);throw b.hash=f,b}},"parseError"),parse:h(function(u){var f=this,b=[0],x=[],Y=[null],o=[],q=this.table,s="",E=0,R=0,z=2,P=1,K=o.slice.call(arguments,1),O=Object.create(this.lexer),st={yy:{}};for(var D in this.yy)Object.prototype.hasOwnProperty.call(this.yy,D)&&(st.yy[D]=this.yy[D]);O.setInput(u,st.yy),st.yy.lexer=O,st.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var H=O.yylloc;o.push(H);var V=O.options&&O.options.ranges;typeof st.yy.parseError=="function"?this.parseError=st.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function l(ot){b.length=b.length-2*ot,Y.length=Y.length-ot,o.length=o.length-ot}h(l,"popStack");function J(){var ot;return ot=x.pop()||O.lex()||P,typeof ot!="number"&&(ot instanceof Array&&(x=ot,ot=x.pop()),ot=f.symbols_[ot]||ot),ot}h(J,"lex");for(var $,Q,G,it,at={},pt,ut,Ae,Bt;;){if(Q=b[b.length-1],this.defaultActions[Q]?G=this.defaultActions[Q]:(($===null||typeof $>"u")&&($=J()),G=q[Q]&&q[Q][$]),typeof G>"u"||!G.length||!G[0]){var ie="";Bt=[];for(pt in q[Q])this.terminals_[pt]&&pt>z&&Bt.push("'"+this.terminals_[pt]+"'");O.showPosition?ie="Parse error on line "+(E+1)+`:
|
|
2
|
+
`+O.showPosition()+`
|
|
3
|
+
Expecting `+Bt.join(", ")+", got '"+(this.terminals_[$]||$)+"'":ie="Parse error on line "+(E+1)+": Unexpected "+($==P?"end of input":"'"+(this.terminals_[$]||$)+"'"),this.parseError(ie,{text:O.match,token:this.terminals_[$]||$,line:O.yylineno,loc:H,expected:Bt})}if(G[0]instanceof Array&&G.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Q+", token: "+$);switch(G[0]){case 1:b.push($),Y.push(O.yytext),o.push(O.yylloc),b.push(G[1]),$=null,R=O.yyleng,s=O.yytext,E=O.yylineno,H=O.yylloc;break;case 2:if(ut=this.productions_[G[1]][1],at.$=Y[Y.length-ut],at._$={first_line:o[o.length-(ut||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(ut||1)].first_column,last_column:o[o.length-1].last_column},V&&(at._$.range=[o[o.length-(ut||1)].range[0],o[o.length-1].range[1]]),it=this.performAction.apply(at,[s,R,E,st.yy,G[1],Y,o].concat(K)),typeof it<"u")return it;ut&&(b=b.slice(0,-1*ut*2),Y=Y.slice(0,-1*ut),o=o.slice(0,-1*ut)),b.push(this.productions_[G[1]][0]),Y.push(at.$),o.push(at._$),Ae=q[b[b.length-2]][b[b.length-1]],b.push(Ae);break;case 3:return!0}}return!0},"parse")},w=function(){var v={EOF:1,parseError:h(function(f,b){if(this.yy.parser)this.yy.parser.parseError(f,b);else throw new Error(f)},"parseError"),setInput:h(function(u,f){return this.yy=f||this.yy||{},this._input=u,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:h(function(){var u=this._input[0];this.yytext+=u,this.yyleng++,this.offset++,this.match+=u,this.matched+=u;var f=u.match(/(?:\r\n?|\n).*/g);return f?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),u},"input"),unput:h(function(u){var f=u.length,b=u.split(/(?:\r\n?|\n)/g);this._input=u+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-f),this.offset-=f;var x=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),b.length-1&&(this.yylineno-=b.length-1);var Y=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:b?(b.length===x.length?this.yylloc.first_column:0)+x[x.length-b.length].length-b[0].length:this.yylloc.first_column-f},this.options.ranges&&(this.yylloc.range=[Y[0],Y[0]+this.yyleng-f]),this.yyleng=this.yytext.length,this},"unput"),more:h(function(){return this._more=!0,this},"more"),reject:h(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
|
+
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:h(function(u){this.unput(this.match.slice(u))},"less"),pastInput:h(function(){var u=this.matched.substr(0,this.matched.length-this.match.length);return(u.length>20?"...":"")+u.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:h(function(){var u=this.match;return u.length<20&&(u+=this._input.substr(0,20-u.length)),(u.substr(0,20)+(u.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:h(function(){var u=this.pastInput(),f=new Array(u.length+1).join("-");return u+this.upcomingInput()+`
|
|
5
|
+
`+f+"^"},"showPosition"),test_match:h(function(u,f){var b,x,Y;if(this.options.backtrack_lexer&&(Y={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Y.yylloc.range=this.yylloc.range.slice(0))),x=u[0].match(/(?:\r\n?|\n).*/g),x&&(this.yylineno+=x.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:x?x[x.length-1].length-x[x.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+u[0].length},this.yytext+=u[0],this.match+=u[0],this.matches=u,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(u[0].length),this.matched+=u[0],b=this.performAction.call(this,this.yy,this,f,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),b)return b;if(this._backtrack){for(var o in Y)this[o]=Y[o];return!1}return!1},"test_match"),next:h(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var u,f,b,x;this._more||(this.yytext="",this.match="");for(var Y=this._currentRules(),o=0;o<Y.length;o++)if(b=this._input.match(this.rules[Y[o]]),b&&(!f||b[0].length>f[0].length)){if(f=b,x=o,this.options.backtrack_lexer){if(u=this.test_match(b,Y[o]),u!==!1)return u;if(this._backtrack){f=!1;continue}else return!1}else if(!this.options.flex)break}return f?(u=this.test_match(f,Y[x]),u!==!1?u:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
|
|
6
|
+
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:h(function(){var f=this.next();return f||this.lex()},"lex"),begin:h(function(f){this.conditionStack.push(f)},"begin"),popState:h(function(){var f=this.conditionStack.length-1;return f>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:h(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:h(function(f){return f=this.conditionStack.length-1-Math.abs(f||0),f>=0?this.conditionStack[f]:"INITIAL"},"topState"),pushState:h(function(f){this.begin(f)},"pushState"),stateStackSize:h(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:h(function(f,b,x,Y){switch(x){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),31;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),33;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return v}();M.lexer=w;function T(){this.yy={}}return h(T,"Parser"),T.prototype=M,M.Parser=T,new T}();ve.parser=ve;var Oi=ve;rt.extend(Ui);rt.extend(Ii);rt.extend(Ai);var Ge={friday:5,saturday:6},lt="",De="",Ce=void 0,Se="",Vt=[],zt=[],_e=new Map,Ye=[],te=[],It="",Fe="",Dn=["active","done","crit","milestone","vert"],Ue=[],Rt=!1,Ee=!1,Ie="sunday",ee="saturday",Te=0,Hi=h(function(){Ye=[],te=[],It="",Ue=[],Gt=0,xe=void 0,jt=void 0,tt=[],lt="",De="",Fe="",Ce=void 0,Se="",Vt=[],zt=[],Rt=!1,Ee=!1,Te=0,_e=new Map,Rn(),Ie="sunday",ee="saturday"},"clear"),Ni=h(function(t){De=t},"setAxisFormat"),Pi=h(function(){return De},"getAxisFormat"),Vi=h(function(t){Ce=t},"setTickInterval"),zi=h(function(){return Ce},"getTickInterval"),Ri=h(function(t){Se=t},"setTodayMarker"),Bi=h(function(){return Se},"getTodayMarker"),Zi=h(function(t){lt=t},"setDateFormat"),Xi=h(function(){Rt=!0},"enableInclusiveEndDates"),qi=h(function(){return Rt},"endDatesAreInclusive"),Gi=h(function(){Ee=!0},"enableTopAxis"),ji=h(function(){return Ee},"topAxisEnabled"),Qi=h(function(t){Fe=t},"setDisplayMode"),Ji=h(function(){return Fe},"getDisplayMode"),Ki=h(function(){return lt},"getDateFormat"),ts=h(function(t){Vt=t.toLowerCase().split(/[\s,]+/)},"setIncludes"),es=h(function(){return Vt},"getIncludes"),ns=h(function(t){zt=t.toLowerCase().split(/[\s,]+/)},"setExcludes"),rs=h(function(){return zt},"getExcludes"),is=h(function(){return _e},"getLinks"),ss=h(function(t){It=t,Ye.push(t)},"addSection"),as=h(function(){return Ye},"getSections"),os=h(function(){let t=je();const e=10;let n=0;for(;!t&&n<e;)t=je(),n++;return te=tt,te},"getTasks"),Cn=h(function(t,e,n,r){const i=t.format(e.trim()),a=t.format("YYYY-MM-DD");return r.includes(i)||r.includes(a)?!1:n.includes("weekends")&&(t.isoWeekday()===Ge[ee]||t.isoWeekday()===Ge[ee]+1)||n.includes(t.format("dddd").toLowerCase())?!0:n.includes(i)||n.includes(a)},"isInvalidDate"),cs=h(function(t){Ie=t},"setWeekday"),us=h(function(){return Ie},"getWeekday"),ls=h(function(t){ee=t},"setWeekend"),Sn=h(function(t,e,n,r){if(!n.length||t.manualEndTime)return;let i;t.startTime instanceof Date?i=rt(t.startTime):i=rt(t.startTime,e,!0),i=i.add(1,"d");let a;t.endTime instanceof Date?a=rt(t.endTime):a=rt(t.endTime,e,!0);const[c,m]=fs(i,a,e,n,r);t.endTime=c.toDate(),t.renderEndTime=m},"checkTaskDates"),fs=h(function(t,e,n,r,i){let a=!1,c=null;for(;t<=e;)a||(c=e.toDate()),a=Cn(t,n,r,i),a&&(e=e.add(1,"d")),t=t.add(1,"d");return[e,c]},"fixTaskDates"),be=h(function(t,e,n){if(n=n.trim(),h(m=>{const F=m.trim();return F==="x"||F==="X"},"isTimestampFormat")(e)&&/^\d+$/.test(n))return new Date(Number(n));const a=/^after\s+(?<ids>[\d\w- ]+)/.exec(n);if(a!==null){let m=null;for(const C of a.groups.ids.split(" ")){let k=Ct(C);k!==void 0&&(!m||k.endTime>m.endTime)&&(m=k)}if(m)return m.endTime;const F=new Date;return F.setHours(0,0,0,0),F}let c=rt(n,e.trim(),!0);if(c.isValid())return c.toDate();{Tt.debug("Invalid date:"+n),Tt.debug("With date format:"+e.trim());const m=new Date(n);if(m===void 0||isNaN(m.getTime())||m.getFullYear()<-1e4||m.getFullYear()>1e4)throw new Error("Invalid date:"+n);return m}},"getStartDate"),_n=h(function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),Yn=h(function(t,e,n,r=!1){n=n.trim();const a=/^until\s+(?<ids>[\d\w- ]+)/.exec(n);if(a!==null){let k=null;for(const _ of a.groups.ids.split(" ")){let S=Ct(_);S!==void 0&&(!k||S.startTime<k.startTime)&&(k=S)}if(k)return k.startTime;const L=new Date;return L.setHours(0,0,0,0),L}let c=rt(n,e.trim(),!0);if(c.isValid())return r&&(c=c.add(1,"d")),c.toDate();let m=rt(t);const[F,C]=_n(n);if(!Number.isNaN(F)){const k=m.add(F,C);k.isValid()&&(m=k)}return m.toDate()},"getEndDate"),Gt=0,Ft=h(function(t){return t===void 0?(Gt=Gt+1,"task"+Gt):t},"parseId"),hs=h(function(t,e){let n;e.substr(0,1)===":"?n=e.substr(1,e.length):n=e;const r=n.split(","),i={};Le(r,i,Dn);for(let c=0;c<r.length;c++)r[c]=r[c].trim();let a="";switch(r.length){case 1:i.id=Ft(),i.startTime=t.endTime,a=r[0];break;case 2:i.id=Ft(),i.startTime=be(void 0,lt,r[0]),a=r[1];break;case 3:i.id=Ft(r[0]),i.startTime=be(void 0,lt,r[1]),a=r[2];break}return a&&(i.endTime=Yn(i.startTime,lt,a,Rt),i.manualEndTime=rt(a,"YYYY-MM-DD",!0).isValid(),Sn(i,lt,zt,Vt)),i},"compileData"),ds=h(function(t,e){let n;e.substr(0,1)===":"?n=e.substr(1,e.length):n=e;const r=n.split(","),i={};Le(r,i,Dn);for(let a=0;a<r.length;a++)r[a]=r[a].trim();switch(r.length){case 1:i.id=Ft(),i.startTime={type:"prevTaskEnd",id:t},i.endTime={data:r[0]};break;case 2:i.id=Ft(),i.startTime={type:"getStartDate",startData:r[0]},i.endTime={data:r[1]};break;case 3:i.id=Ft(r[0]),i.startTime={type:"getStartDate",startData:r[1]},i.endTime={data:r[2]};break}return i},"parseData"),xe,jt,tt=[],Fn={},ms=h(function(t,e){const n={section:It,type:It,processed:!1,manualEndTime:!1,renderEndTime:null,raw:{data:e},task:t,classes:[]},r=ds(jt,e);n.raw.startTime=r.startTime,n.raw.endTime=r.endTime,n.id=r.id,n.prevTaskId=jt,n.active=r.active,n.done=r.done,n.crit=r.crit,n.milestone=r.milestone,n.vert=r.vert,n.order=Te,Te++;const i=tt.push(n);jt=n.id,Fn[n.id]=i-1},"addTask"),Ct=h(function(t){const e=Fn[t];return tt[e]},"findTaskById"),gs=h(function(t,e){const n={section:It,type:It,description:t,task:t,classes:[]},r=hs(xe,e);n.startTime=r.startTime,n.endTime=r.endTime,n.id=r.id,n.active=r.active,n.done=r.done,n.crit=r.crit,n.milestone=r.milestone,n.vert=r.vert,xe=n,te.push(n)},"addTaskOrg"),je=h(function(){const t=h(function(n){const r=tt[n];let i="";switch(tt[n].raw.startTime.type){case"prevTaskEnd":{const a=Ct(r.prevTaskId);r.startTime=a.endTime;break}case"getStartDate":i=be(void 0,lt,tt[n].raw.startTime.startData),i&&(tt[n].startTime=i);break}return tt[n].startTime&&(tt[n].endTime=Yn(tt[n].startTime,lt,tt[n].raw.endTime.data,Rt),tt[n].endTime&&(tt[n].processed=!0,tt[n].manualEndTime=rt(tt[n].raw.endTime.data,"YYYY-MM-DD",!0).isValid(),Sn(tt[n],lt,zt,Vt))),tt[n].processed},"compileTask");let e=!0;for(const[n,r]of tt.entries())t(n),e=e&&r.processed;return e},"compileTasks"),ys=h(function(t,e){let n=e;_t().securityLevel!=="loose"&&(n=zn(e)),t.split(",").forEach(function(r){Ct(r)!==void 0&&(En(r,()=>{window.open(n,"_self")}),_e.set(r,n))}),Un(t,"clickable")},"setLink"),Un=h(function(t,e){t.split(",").forEach(function(n){let r=Ct(n);r!==void 0&&r.classes.push(e)})},"setClass"),ks=h(function(t,e,n){if(_t().securityLevel!=="loose"||e===void 0)return;let r=[];if(typeof n=="string"){r=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a<r.length;a++){let c=r[a].trim();c.startsWith('"')&&c.endsWith('"')&&(c=c.substr(1,c.length-2)),r[a]=c}}r.length===0&&r.push(t),Ct(t)!==void 0&&En(t,()=>{Bn.runFunc(e,...r)})},"setClickFun"),En=h(function(t,e){Ue.push(function(){const n=document.querySelector(`[id="${t}"]`);n!==null&&n.addEventListener("click",function(){e()})},function(){const n=document.querySelector(`[id="${t}-text"]`);n!==null&&n.addEventListener("click",function(){e()})})},"pushFun"),ps=h(function(t,e,n){t.split(",").forEach(function(r){ks(r,e,n)}),Un(t,"clickable")},"setClickEvent"),vs=h(function(t){Ue.forEach(function(e){e(t)})},"bindFunctions"),Ts={getConfig:h(()=>_t().gantt,"getConfig"),clear:Hi,setDateFormat:Zi,getDateFormat:Ki,enableInclusiveEndDates:Xi,endDatesAreInclusive:qi,enableTopAxis:Gi,topAxisEnabled:ji,setAxisFormat:Ni,getAxisFormat:Pi,setTickInterval:Vi,getTickInterval:zi,setTodayMarker:Ri,getTodayMarker:Bi,setAccTitle:Nn,getAccTitle:Hn,setDiagramTitle:On,getDiagramTitle:$n,setDisplayMode:Qi,getDisplayMode:Ji,setAccDescription:Wn,getAccDescription:An,addSection:ss,getSections:as,getTasks:os,addTask:ms,findTaskById:Ct,addTaskOrg:gs,setIncludes:ts,getIncludes:es,setExcludes:ns,getExcludes:rs,setClickEvent:ps,setLink:ys,getLinks:is,bindFunctions:vs,parseDuration:_n,isInvalidDate:Cn,setWeekday:cs,getWeekday:us,setWeekend:ls};function Le(t,e,n){let r=!0;for(;r;)r=!1,n.forEach(function(i){const a="^\\s*"+i+"\\s*$",c=new RegExp(a);t[0].match(c)&&(e[i]=!0,t.shift(1),r=!0)})}h(Le,"getTaskTags");rt.extend($i);var bs=h(function(){Tt.debug("Something is calling, setConf, remove the call")},"setConf"),Qe={monday:Ht,tuesday:fn,wednesday:hn,thursday:xt,friday:dn,saturday:mn,sunday:Pt},xs=h((t,e)=>{let n=[...t].map(()=>-1/0),r=[...t].sort((a,c)=>a.startTime-c.startTime||a.order-c.order),i=0;for(const a of r)for(let c=0;c<n.length;c++)if(a.startTime>=n[c]){n[c]=a.endTime,a.order=c+e,c>i&&(i=c);break}return i},"getMaxIntersections"),ht,ye=1e4,ws=h(function(t,e,n,r){const i=_t().gantt,a=_t().securityLevel;let c;a==="sandbox"&&(c=Zt("#i"+e));const m=a==="sandbox"?Zt(c.nodes()[0].contentDocument.body):Zt("body"),F=a==="sandbox"?c.nodes()[0].contentDocument:document,C=F.getElementById(e);ht=C.parentElement.offsetWidth,ht===void 0&&(ht=1200),i.useWidth!==void 0&&(ht=i.useWidth);const k=r.db.getTasks();let L=[];for(const d of k)L.push(d.type);L=y(L);const _={};let S=2*i.topPadding;if(r.db.getDisplayMode()==="compact"||i.displayMode==="compact"){const d={};for(const w of k)d[w.section]===void 0?d[w.section]=[w]:d[w.section].push(w);let M=0;for(const w of Object.keys(d)){const T=xs(d[w],M)+1;M+=T,S+=T*(i.barHeight+i.barGap),_[w]=T}}else{S+=k.length*(i.barHeight+i.barGap);for(const d of L)_[d]=k.filter(M=>M.type===d).length}C.setAttribute("viewBox","0 0 "+ht+" "+S);const Z=m.select(`[id="${e}"]`),A=Yi().domain([Jn(k,function(d){return d.startTime}),Qn(k,function(d){return d.endTime})]).rangeRound([0,ht-i.leftPadding-i.rightPadding]);function U(d,M){const w=d.startTime,T=M.startTime;let v=0;return w>T?v=1:w<T&&(v=-1),v}h(U,"taskCompare"),k.sort(U),I(k,ht,S),Pn(Z,S,ht,i.useMaxWidth),Z.append("text").text(r.db.getDiagramTitle()).attr("x",ht/2).attr("y",i.titleTopMargin).attr("class","titleText");function I(d,M,w){const T=i.barHeight,v=T+i.barGap,u=i.topPadding,f=i.leftPadding,b=Gn().domain([0,L.length]).range(["#00B9FA","#F95002"]).interpolate(dr);W(v,u,f,M,w,d,r.db.getExcludes(),r.db.getIncludes()),j(f,u,M,w),N(d,v,u,f,T,b,M),p(v,u),g(f,u,M,w)}h(I,"makeGantt");function N(d,M,w,T,v,u,f){d.sort((s,E)=>s.vert===E.vert?0:s.vert?1:-1);const x=[...new Set(d.map(s=>s.order))].map(s=>d.find(E=>E.order===s));Z.append("g").selectAll("rect").data(x).enter().append("rect").attr("x",0).attr("y",function(s,E){return E=s.order,E*M+w-2}).attr("width",function(){return f-i.rightPadding/2}).attr("height",M).attr("class",function(s){for(const[E,R]of L.entries())if(s.type===R)return"section section"+E%i.numberSectionStyles;return"section section0"}).enter();const Y=Z.append("g").selectAll("rect").data(d).enter(),o=r.db.getLinks();if(Y.append("rect").attr("id",function(s){return s.id}).attr("rx",3).attr("ry",3).attr("x",function(s){return s.milestone?A(s.startTime)+T+.5*(A(s.endTime)-A(s.startTime))-.5*v:A(s.startTime)+T}).attr("y",function(s,E){return E=s.order,s.vert?i.gridLineStartPadding:E*M+w}).attr("width",function(s){return s.milestone?v:s.vert?.08*v:A(s.renderEndTime||s.endTime)-A(s.startTime)}).attr("height",function(s){return s.vert?k.length*(i.barHeight+i.barGap)+i.barHeight*2:v}).attr("transform-origin",function(s,E){return E=s.order,(A(s.startTime)+T+.5*(A(s.endTime)-A(s.startTime))).toString()+"px "+(E*M+w+.5*v).toString()+"px"}).attr("class",function(s){const E="task";let R="";s.classes.length>0&&(R=s.classes.join(" "));let z=0;for(const[K,O]of L.entries())s.type===O&&(z=K%i.numberSectionStyles);let P="";return s.active?s.crit?P+=" activeCrit":P=" active":s.done?s.crit?P=" doneCrit":P=" done":s.crit&&(P+=" crit"),P.length===0&&(P=" task"),s.milestone&&(P=" milestone "+P),s.vert&&(P=" vert "+P),P+=z,P+=" "+R,E+P}),Y.append("text").attr("id",function(s){return s.id+"-text"}).text(function(s){return s.task}).attr("font-size",i.fontSize).attr("x",function(s){let E=A(s.startTime),R=A(s.renderEndTime||s.endTime);if(s.milestone&&(E+=.5*(A(s.endTime)-A(s.startTime))-.5*v,R=E+v),s.vert)return A(s.startTime)+T;const z=this.getBBox().width;return z>R-E?R+z+1.5*i.leftPadding>f?E+T-5:R+T+5:(R-E)/2+E+T}).attr("y",function(s,E){return s.vert?i.gridLineStartPadding+k.length*(i.barHeight+i.barGap)+60:(E=s.order,E*M+i.barHeight/2+(i.fontSize/2-2)+w)}).attr("text-height",v).attr("class",function(s){const E=A(s.startTime);let R=A(s.endTime);s.milestone&&(R=E+v);const z=this.getBBox().width;let P="";s.classes.length>0&&(P=s.classes.join(" "));let K=0;for(const[st,D]of L.entries())s.type===D&&(K=st%i.numberSectionStyles);let O="";return s.active&&(s.crit?O="activeCritText"+K:O="activeText"+K),s.done?s.crit?O=O+" doneCritText"+K:O=O+" doneText"+K:s.crit&&(O=O+" critText"+K),s.milestone&&(O+=" milestoneText"),s.vert&&(O+=" vertText"),z>R-E?R+z+1.5*i.leftPadding>f?P+" taskTextOutsideLeft taskTextOutside"+K+" "+O:P+" taskTextOutsideRight taskTextOutside"+K+" "+O+" width-"+z:P+" taskText taskText"+K+" "+O+" width-"+z}),_t().securityLevel==="sandbox"){let s;s=Zt("#i"+e);const E=s.nodes()[0].contentDocument;Y.filter(function(R){return o.has(R.id)}).each(function(R){var z=E.querySelector("#"+R.id),P=E.querySelector("#"+R.id+"-text");const K=z.parentNode;var O=E.createElement("a");O.setAttribute("xlink:href",o.get(R.id)),O.setAttribute("target","_top"),K.appendChild(O),O.appendChild(z),O.appendChild(P)})}}h(N,"drawRects");function W(d,M,w,T,v,u,f,b){if(f.length===0&&b.length===0)return;let x,Y;for(const{startTime:z,endTime:P}of u)(x===void 0||z<x)&&(x=z),(Y===void 0||P>Y)&&(Y=P);if(!x||!Y)return;if(rt(Y).diff(rt(x),"year")>5){Tt.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const o=r.db.getDateFormat(),q=[];let s=null,E=rt(x);for(;E.valueOf()<=Y;)r.db.isInvalidDate(E,o,f,b)?s?s.end=E:s={start:E,end:E}:s&&(q.push(s),s=null),E=E.add(1,"d");Z.append("g").selectAll("rect").data(q).enter().append("rect").attr("id",z=>"exclude-"+z.start.format("YYYY-MM-DD")).attr("x",z=>A(z.start.startOf("day"))+w).attr("y",i.gridLineStartPadding).attr("width",z=>A(z.end.endOf("day"))-A(z.start.startOf("day"))).attr("height",v-M-i.gridLineStartPadding).attr("transform-origin",function(z,P){return(A(z.start)+w+.5*(A(z.end)-A(z.start))).toString()+"px "+(P*d+.5*v).toString()+"px"}).attr("class","exclude-range")}h(W,"drawExcludeDays");function B(d,M,w,T){if(w<=0||d>M)return 1/0;const v=M-d,u=rt.duration({[T??"day"]:w}).asMilliseconds();return u<=0?1/0:Math.ceil(v/u)}h(B,"getEstimatedTickCount");function j(d,M,w,T){const v=r.db.getDateFormat(),u=r.db.getAxisFormat();let f;u?f=u:v==="D"?f="%d":f=i.axisFormat??"%Y-%m-%d";let b=ar(A).tickSize(-T+M+i.gridLineStartPadding).tickFormat(Kt(f));const Y=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(r.db.getTickInterval()||i.tickInterval);if(Y!==null){const o=parseInt(Y[1],10);if(isNaN(o)||o<=0)Tt.warn(`Invalid tick interval value: "${Y[1]}". Skipping custom tick interval.`);else{const q=Y[2],s=r.db.getWeekday()||i.weekday,E=A.domain(),R=E[0],z=E[1],P=B(R,z,o,q);if(P>ye)Tt.warn(`The tick interval "${o}${q}" would generate ${P} ticks, which exceeds the maximum allowed (${ye}). This may indicate an invalid date or time range. Skipping custom tick interval.`);else switch(q){case"millisecond":b.ticks(Ut.every(o));break;case"second":b.ticks(vt.every(o));break;case"minute":b.ticks($t.every(o));break;case"hour":b.ticks(Ot.every(o));break;case"day":b.ticks(bt.every(o));break;case"week":b.ticks(Qe[s].every(o));break;case"month":b.ticks(Nt.every(o));break}}}if(Z.append("g").attr("class","grid").attr("transform","translate("+d+", "+(T-50)+")").call(b).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),r.db.topAxisEnabled()||i.topAxis){let o=sr(A).tickSize(-T+M+i.gridLineStartPadding).tickFormat(Kt(f));if(Y!==null){const q=parseInt(Y[1],10);if(isNaN(q)||q<=0)Tt.warn(`Invalid tick interval value: "${Y[1]}". Skipping custom tick interval.`);else{const s=Y[2],E=r.db.getWeekday()||i.weekday,R=A.domain(),z=R[0],P=R[1];if(B(z,P,q,s)<=ye)switch(s){case"millisecond":o.ticks(Ut.every(q));break;case"second":o.ticks(vt.every(q));break;case"minute":o.ticks($t.every(q));break;case"hour":o.ticks(Ot.every(q));break;case"day":o.ticks(bt.every(q));break;case"week":o.ticks(Qe[E].every(q));break;case"month":o.ticks(Nt.every(q));break}}}Z.append("g").attr("class","grid").attr("transform","translate("+d+", "+M+")").call(o).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}h(j,"makeGrid");function p(d,M){let w=0;const T=Object.keys(_).map(v=>[v,_[v]]);Z.append("g").selectAll("text").data(T).enter().append(function(v){const u=v[0].split(Vn.lineBreakRegex),f=-(u.length-1)/2,b=F.createElementNS("http://www.w3.org/2000/svg","text");b.setAttribute("dy",f+"em");for(const[x,Y]of u.entries()){const o=F.createElementNS("http://www.w3.org/2000/svg","tspan");o.setAttribute("alignment-baseline","central"),o.setAttribute("x","10"),x>0&&o.setAttribute("dy","1em"),o.textContent=Y,b.appendChild(o)}return b}).attr("x",10).attr("y",function(v,u){if(u>0)for(let f=0;f<u;f++)return w+=T[u-1][1],v[1]*d/2+w*d+M;else return v[1]*d/2+M}).attr("font-size",i.sectionFontSize).attr("class",function(v){for(const[u,f]of L.entries())if(v[0]===f)return"sectionTitle sectionTitle"+u%i.numberSectionStyles;return"sectionTitle"})}h(p,"vertLabels");function g(d,M,w,T){const v=r.db.getTodayMarker();if(v==="off")return;const u=Z.append("g").attr("class","today"),f=new Date,b=u.append("line");b.attr("x1",A(f)+d).attr("x2",A(f)+d).attr("y1",i.titleTopMargin).attr("y2",T-i.titleTopMargin).attr("class","today"),v!==""&&b.attr("style",v.replace(/,/g,";"))}h(g,"drawToday");function y(d){const M={},w=[];for(let T=0,v=d.length;T<v;++T)Object.prototype.hasOwnProperty.call(M,d[T])||(M[d[T]]=!0,w.push(d[T]));return w}h(y,"checkUnique")},"draw"),Ms={setConf:bs,draw:ws},Ds=h(t=>`
|
|
7
|
+
.mermaid-main-font {
|
|
8
|
+
font-family: ${t.fontFamily};
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.exclude-range {
|
|
12
|
+
fill: ${t.excludeBkgColor};
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.section {
|
|
16
|
+
stroke: none;
|
|
17
|
+
opacity: 0.2;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.section0 {
|
|
21
|
+
fill: ${t.sectionBkgColor};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.section2 {
|
|
25
|
+
fill: ${t.sectionBkgColor2};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.section1,
|
|
29
|
+
.section3 {
|
|
30
|
+
fill: ${t.altSectionBkgColor};
|
|
31
|
+
opacity: 0.2;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.sectionTitle0 {
|
|
35
|
+
fill: ${t.titleColor};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.sectionTitle1 {
|
|
39
|
+
fill: ${t.titleColor};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.sectionTitle2 {
|
|
43
|
+
fill: ${t.titleColor};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.sectionTitle3 {
|
|
47
|
+
fill: ${t.titleColor};
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.sectionTitle {
|
|
51
|
+
text-anchor: start;
|
|
52
|
+
font-family: ${t.fontFamily};
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
/* Grid and axis */
|
|
57
|
+
|
|
58
|
+
.grid .tick {
|
|
59
|
+
stroke: ${t.gridColor};
|
|
60
|
+
opacity: 0.8;
|
|
61
|
+
shape-rendering: crispEdges;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.grid .tick text {
|
|
65
|
+
font-family: ${t.fontFamily};
|
|
66
|
+
fill: ${t.textColor};
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.grid path {
|
|
70
|
+
stroke-width: 0;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
/* Today line */
|
|
75
|
+
|
|
76
|
+
.today {
|
|
77
|
+
fill: none;
|
|
78
|
+
stroke: ${t.todayLineColor};
|
|
79
|
+
stroke-width: 2px;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
/* Task styling */
|
|
84
|
+
|
|
85
|
+
/* Default task */
|
|
86
|
+
|
|
87
|
+
.task {
|
|
88
|
+
stroke-width: 2;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.taskText {
|
|
92
|
+
text-anchor: middle;
|
|
93
|
+
font-family: ${t.fontFamily};
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.taskTextOutsideRight {
|
|
97
|
+
fill: ${t.taskTextDarkColor};
|
|
98
|
+
text-anchor: start;
|
|
99
|
+
font-family: ${t.fontFamily};
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.taskTextOutsideLeft {
|
|
103
|
+
fill: ${t.taskTextDarkColor};
|
|
104
|
+
text-anchor: end;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
/* Special case clickable */
|
|
109
|
+
|
|
110
|
+
.task.clickable {
|
|
111
|
+
cursor: pointer;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.taskText.clickable {
|
|
115
|
+
cursor: pointer;
|
|
116
|
+
fill: ${t.taskTextClickableColor} !important;
|
|
117
|
+
font-weight: bold;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.taskTextOutsideLeft.clickable {
|
|
121
|
+
cursor: pointer;
|
|
122
|
+
fill: ${t.taskTextClickableColor} !important;
|
|
123
|
+
font-weight: bold;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.taskTextOutsideRight.clickable {
|
|
127
|
+
cursor: pointer;
|
|
128
|
+
fill: ${t.taskTextClickableColor} !important;
|
|
129
|
+
font-weight: bold;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
/* Specific task settings for the sections*/
|
|
134
|
+
|
|
135
|
+
.taskText0,
|
|
136
|
+
.taskText1,
|
|
137
|
+
.taskText2,
|
|
138
|
+
.taskText3 {
|
|
139
|
+
fill: ${t.taskTextColor};
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.task0,
|
|
143
|
+
.task1,
|
|
144
|
+
.task2,
|
|
145
|
+
.task3 {
|
|
146
|
+
fill: ${t.taskBkgColor};
|
|
147
|
+
stroke: ${t.taskBorderColor};
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.taskTextOutside0,
|
|
151
|
+
.taskTextOutside2
|
|
152
|
+
{
|
|
153
|
+
fill: ${t.taskTextOutsideColor};
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.taskTextOutside1,
|
|
157
|
+
.taskTextOutside3 {
|
|
158
|
+
fill: ${t.taskTextOutsideColor};
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
/* Active task */
|
|
163
|
+
|
|
164
|
+
.active0,
|
|
165
|
+
.active1,
|
|
166
|
+
.active2,
|
|
167
|
+
.active3 {
|
|
168
|
+
fill: ${t.activeTaskBkgColor};
|
|
169
|
+
stroke: ${t.activeTaskBorderColor};
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
.activeText0,
|
|
173
|
+
.activeText1,
|
|
174
|
+
.activeText2,
|
|
175
|
+
.activeText3 {
|
|
176
|
+
fill: ${t.taskTextDarkColor} !important;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
/* Completed task */
|
|
181
|
+
|
|
182
|
+
.done0,
|
|
183
|
+
.done1,
|
|
184
|
+
.done2,
|
|
185
|
+
.done3 {
|
|
186
|
+
stroke: ${t.doneTaskBorderColor};
|
|
187
|
+
fill: ${t.doneTaskBkgColor};
|
|
188
|
+
stroke-width: 2;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
.doneText0,
|
|
192
|
+
.doneText1,
|
|
193
|
+
.doneText2,
|
|
194
|
+
.doneText3 {
|
|
195
|
+
fill: ${t.taskTextDarkColor} !important;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
/* Tasks on the critical line */
|
|
200
|
+
|
|
201
|
+
.crit0,
|
|
202
|
+
.crit1,
|
|
203
|
+
.crit2,
|
|
204
|
+
.crit3 {
|
|
205
|
+
stroke: ${t.critBorderColor};
|
|
206
|
+
fill: ${t.critBkgColor};
|
|
207
|
+
stroke-width: 2;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
.activeCrit0,
|
|
211
|
+
.activeCrit1,
|
|
212
|
+
.activeCrit2,
|
|
213
|
+
.activeCrit3 {
|
|
214
|
+
stroke: ${t.critBorderColor};
|
|
215
|
+
fill: ${t.activeTaskBkgColor};
|
|
216
|
+
stroke-width: 2;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
.doneCrit0,
|
|
220
|
+
.doneCrit1,
|
|
221
|
+
.doneCrit2,
|
|
222
|
+
.doneCrit3 {
|
|
223
|
+
stroke: ${t.critBorderColor};
|
|
224
|
+
fill: ${t.doneTaskBkgColor};
|
|
225
|
+
stroke-width: 2;
|
|
226
|
+
cursor: pointer;
|
|
227
|
+
shape-rendering: crispEdges;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.milestone {
|
|
231
|
+
transform: rotate(45deg) scale(0.8,0.8);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
.milestoneText {
|
|
235
|
+
font-style: italic;
|
|
236
|
+
}
|
|
237
|
+
.doneCritText0,
|
|
238
|
+
.doneCritText1,
|
|
239
|
+
.doneCritText2,
|
|
240
|
+
.doneCritText3 {
|
|
241
|
+
fill: ${t.taskTextDarkColor} !important;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
.vert {
|
|
245
|
+
stroke: ${t.vertLineColor};
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
.vertText {
|
|
249
|
+
font-size: 15px;
|
|
250
|
+
text-anchor: middle;
|
|
251
|
+
fill: ${t.vertLineColor} !important;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
.activeCritText0,
|
|
255
|
+
.activeCritText1,
|
|
256
|
+
.activeCritText2,
|
|
257
|
+
.activeCritText3 {
|
|
258
|
+
fill: ${t.taskTextDarkColor} !important;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
.titleText {
|
|
262
|
+
text-anchor: middle;
|
|
263
|
+
font-size: 18px;
|
|
264
|
+
fill: ${t.titleColor||t.textColor};
|
|
265
|
+
font-family: ${t.fontFamily};
|
|
266
|
+
}
|
|
267
|
+
`,"getStyles"),Cs=Ds,Es={parser:Oi,db:Ts,renderer:Ms,styles:Cs};export{Es as diagram};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function v(r){var u=[],b="",o={".abort":"builtin",".align":"builtin",".altmacro":"builtin",".ascii":"builtin",".asciz":"builtin",".balign":"builtin",".balignw":"builtin",".balignl":"builtin",".bundle_align_mode":"builtin",".bundle_lock":"builtin",".bundle_unlock":"builtin",".byte":"builtin",".cfi_startproc":"builtin",".comm":"builtin",".data":"builtin",".def":"builtin",".desc":"builtin",".dim":"builtin",".double":"builtin",".eject":"builtin",".else":"builtin",".elseif":"builtin",".end":"builtin",".endef":"builtin",".endfunc":"builtin",".endif":"builtin",".equ":"builtin",".equiv":"builtin",".eqv":"builtin",".err":"builtin",".error":"builtin",".exitm":"builtin",".extern":"builtin",".fail":"builtin",".file":"builtin",".fill":"builtin",".float":"builtin",".func":"builtin",".global":"builtin",".gnu_attribute":"builtin",".hidden":"builtin",".hword":"builtin",".ident":"builtin",".if":"builtin",".incbin":"builtin",".include":"builtin",".int":"builtin",".internal":"builtin",".irp":"builtin",".irpc":"builtin",".lcomm":"builtin",".lflags":"builtin",".line":"builtin",".linkonce":"builtin",".list":"builtin",".ln":"builtin",".loc":"builtin",".loc_mark_labels":"builtin",".local":"builtin",".long":"builtin",".macro":"builtin",".mri":"builtin",".noaltmacro":"builtin",".nolist":"builtin",".octa":"builtin",".offset":"builtin",".org":"builtin",".p2align":"builtin",".popsection":"builtin",".previous":"builtin",".print":"builtin",".protected":"builtin",".psize":"builtin",".purgem":"builtin",".pushsection":"builtin",".quad":"builtin",".reloc":"builtin",".rept":"builtin",".sbttl":"builtin",".scl":"builtin",".section":"builtin",".set":"builtin",".short":"builtin",".single":"builtin",".size":"builtin",".skip":"builtin",".sleb128":"builtin",".space":"builtin",".stab":"builtin",".string":"builtin",".struct":"builtin",".subsection":"builtin",".symver":"builtin",".tag":"builtin",".text":"builtin",".title":"builtin",".type":"builtin",".uleb128":"builtin",".val":"builtin",".version":"builtin",".vtable_entry":"builtin",".vtable_inherit":"builtin",".warning":"builtin",".weak":"builtin",".weakref":"builtin",".word":"builtin"},i={};function p(){b="#",i.al="variable",i.ah="variable",i.ax="variable",i.eax="variableName.special",i.rax="variableName.special",i.bl="variable",i.bh="variable",i.bx="variable",i.ebx="variableName.special",i.rbx="variableName.special",i.cl="variable",i.ch="variable",i.cx="variable",i.ecx="variableName.special",i.rcx="variableName.special",i.dl="variable",i.dh="variable",i.dx="variable",i.edx="variableName.special",i.rdx="variableName.special",i.si="variable",i.esi="variableName.special",i.rsi="variableName.special",i.di="variable",i.edi="variableName.special",i.rdi="variableName.special",i.sp="variable",i.esp="variableName.special",i.rsp="variableName.special",i.bp="variable",i.ebp="variableName.special",i.rbp="variableName.special",i.ip="variable",i.eip="variableName.special",i.rip="variableName.special",i.cs="keyword",i.ds="keyword",i.ss="keyword",i.es="keyword",i.fs="keyword",i.gs="keyword"}function f(){b="@",o.syntax="builtin",i.r0="variable",i.r1="variable",i.r2="variable",i.r3="variable",i.r4="variable",i.r5="variable",i.r6="variable",i.r7="variable",i.r8="variable",i.r9="variable",i.r10="variable",i.r11="variable",i.r12="variable",i.sp="variableName.special",i.lr="variableName.special",i.pc="variableName.special",i.r13=i.sp,i.r14=i.lr,i.r15=i.pc,u.push(function(l,n){if(l==="#")return n.eatWhile(/\w/),"number"})}r==="x86"?p():(r==="arm"||r==="armv6")&&f();function d(l,n){for(var e=!1,a;(a=l.next())!=null;){if(a===n&&!e)return!1;e=!e&&a==="\\"}return e}function s(l,n){for(var e=!1,a;(a=l.next())!=null;){if(a==="/"&&e){n.tokenize=null;break}e=a==="*"}return"comment"}return{name:"gas",startState:function(){return{tokenize:null}},token:function(l,n){if(n.tokenize)return n.tokenize(l,n);if(l.eatSpace())return null;var e,a,t=l.next();if(t==="/"&&l.eat("*"))return n.tokenize=s,s(l,n);if(t===b)return l.skipToEnd(),"comment";if(t==='"')return d(l,'"'),"string";if(t===".")return l.eatWhile(/\w/),a=l.current().toLowerCase(),e=o[a],e||null;if(t==="=")return l.eatWhile(/\w/),"tag";if(t==="{"||t==="}")return"bracket";if(/\d/.test(t))return t==="0"&&l.eat("x")?(l.eatWhile(/[0-9a-fA-F]/),"number"):(l.eatWhile(/\d/),"number");if(/\w/.test(t))return l.eatWhile(/\w/),l.eat(":")?"tag":(a=l.current().toLowerCase(),e=i[a],e||null);for(var c=0;c<u.length;c++)if(e=u[c](t,l,n),e)return e},languageData:{commentTokens:{line:b,block:{open:"/*",close:"*/"}}}}}const m=v("x86"),g=v("arm");export{m as gas,g as gasArm};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a={name:"gherkin",startState:function(){return{lineNumber:0,tableHeaderLine:!1,allowFeature:!0,allowBackground:!1,allowScenario:!1,allowSteps:!1,allowPlaceholders:!1,allowMultilineArgument:!1,inMultilineString:!1,inMultilineTable:!1,inKeywordLine:!1}},token:function(n,e){if(n.sol()&&(e.lineNumber++,e.inKeywordLine=!1,e.inMultilineTable&&(e.tableHeaderLine=!1,n.match(/\s*\|/,!1)||(e.allowMultilineArgument=!1,e.inMultilineTable=!1))),n.eatSpace(),e.allowMultilineArgument){if(e.inMultilineString)return n.match('"""')?(e.inMultilineString=!1,e.allowMultilineArgument=!1):n.match(/.*/),"string";if(e.inMultilineTable)return n.match(/\|\s*/)?"bracket":(n.match(/[^\|]*/),e.tableHeaderLine?"header":"string");if(n.match('"""'))return e.inMultilineString=!0,"string";if(n.match("|"))return e.inMultilineTable=!0,e.tableHeaderLine=!0,"bracket"}return n.match(/#.*/)?"comment":!e.inKeywordLine&&n.match(/@\S+/)?"tag":!e.inKeywordLine&&e.allowFeature&&n.match(/(機能|功能|フィーチャ|기능|โครงหลัก|ความสามารถ|ความต้องการทางธุรกิจ|ಹೆಚ್ಚಳ|గుణము|ਮੁਹਾਂਦਰਾ|ਨਕਸ਼ ਨੁਹਾਰ|ਖਾਸੀਅਤ|रूप लेख|وِیژگی|خاصية|תכונה|Функціонал|Функция|Функционалност|Функционал|Үзенчәлеклелек|Свойство|Особина|Мөмкинлек|Могућност|Λειτουργία|Δυνατότητα|Właściwość|Vlastnosť|Trajto|Tính năng|Savybė|Pretty much|Požiadavka|Požadavek|Potrzeba biznesowa|Özellik|Osobina|Ominaisuus|Omadus|OH HAI|Mogućnost|Mogucnost|Jellemző|Hwæt|Hwaet|Funzionalità|Funktionalitéit|Funktionalität|Funkcja|Funkcionalnost|Funkcionalitāte|Funkcia|Fungsi|Functionaliteit|Funcționalitate|Funcţionalitate|Functionalitate|Funcionalitat|Funcionalidade|Fonctionnalité|Fitur|Fīča|Feature|Eiginleiki|Egenskap|Egenskab|Característica|Caracteristica|Business Need|Aspekt|Arwedd|Ahoy matey!|Ability):/)?(e.allowScenario=!0,e.allowBackground=!0,e.allowPlaceholders=!1,e.allowSteps=!1,e.allowMultilineArgument=!1,e.inKeywordLine=!0,"keyword"):!e.inKeywordLine&&e.allowBackground&&n.match(/(背景|배경|แนวคิด|ಹಿನ್ನೆಲೆ|నేపథ్యం|ਪਿਛੋਕੜ|पृष्ठभूमि|زمینه|الخلفية|רקע|Тарих|Предыстория|Предистория|Позадина|Передумова|Основа|Контекст|Кереш|Υπόβαθρο|Założenia|Yo\-ho\-ho|Tausta|Taust|Situācija|Rerefons|Pozadina|Pozadie|Pozadí|Osnova|Latar Belakang|Kontext|Konteksts|Kontekstas|Kontekst|Háttér|Hannergrond|Grundlage|Geçmiş|Fundo|Fono|First off|Dis is what went down|Dasar|Contexto|Contexte|Context|Contesto|Cenário de Fundo|Cenario de Fundo|Cefndir|Bối cảnh|Bakgrunnur|Bakgrunn|Bakgrund|Baggrund|Background|B4|Antecedents|Antecedentes|Ær|Aer|Achtergrond):/)?(e.allowPlaceholders=!1,e.allowSteps=!0,e.allowBackground=!1,e.allowMultilineArgument=!1,e.inKeywordLine=!0,"keyword"):!e.inKeywordLine&&e.allowScenario&&n.match(/(場景大綱|场景大纲|劇本大綱|剧本大纲|テンプレ|シナリオテンプレート|シナリオテンプレ|シナリオアウトライン|시나리오 개요|สรุปเหตุการณ์|โครงสร้างของเหตุการณ์|ವಿವರಣೆ|కథనం|ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ|ਪਟਕਥਾ ਢਾਂਚਾ|परिदृश्य रूपरेखा|سيناريو مخطط|الگوی سناریو|תבנית תרחיש|Сценарийның төзелеше|Сценарий структураси|Структура сценарію|Структура сценария|Структура сценарија|Скица|Рамка на сценарий|Концепт|Περιγραφή Σεναρίου|Wharrimean is|Template Situai|Template Senario|Template Keadaan|Tapausaihio|Szenariogrundriss|Szablon scenariusza|Swa hwær swa|Swa hwaer swa|Struktura scenarija|Structură scenariu|Structura scenariu|Skica|Skenario konsep|Shiver me timbers|Senaryo taslağı|Schema dello scenario|Scenariomall|Scenariomal|Scenario Template|Scenario Outline|Scenario Amlinellol|Scenārijs pēc parauga|Scenarijaus šablonas|Reckon it's like|Raamstsenaarium|Plang vum Szenario|Plan du Scénario|Plan du scénario|Osnova scénáře|Osnova Scenára|Náčrt Scenáru|Náčrt Scénáře|Náčrt Scenára|MISHUN SRSLY|Menggariskan Senario|Lýsing Dæma|Lýsing Atburðarásar|Konturo de la scenaro|Koncept|Khung tình huống|Khung kịch bản|Forgatókönyv vázlat|Esquema do Cenário|Esquema do Cenario|Esquema del escenario|Esquema de l'escenari|Esbozo do escenario|Delineação do Cenário|Delineacao do Cenario|All y'all|Abstrakt Scenario|Abstract Scenario):/)?(e.allowPlaceholders=!0,e.allowSteps=!0,e.allowMultilineArgument=!1,e.inKeywordLine=!0,"keyword"):e.allowScenario&&n.match(/(例子|例|サンプル|예|ชุดของเหตุการณ์|ชุดของตัวอย่าง|ಉದಾಹರಣೆಗಳು|ఉదాహరణలు|ਉਦਾਹਰਨਾਂ|उदाहरण|نمونه ها|امثلة|דוגמאות|Үрнәкләр|Сценарији|Примеры|Примери|Приклади|Мисоллар|Мисаллар|Σενάρια|Παραδείγματα|You'll wanna|Voorbeelden|Variantai|Tapaukset|Se þe|Se the|Se ðe|Scenarios|Scenariji|Scenarijai|Przykłady|Primjeri|Primeri|Příklady|Príklady|Piemēri|Példák|Pavyzdžiai|Paraugs|Örnekler|Juhtumid|Exemplos|Exemples|Exemple|Exempel|EXAMPLZ|Examples|Esempi|Enghreifftiau|Ekzemploj|Eksempler|Ejemplos|Dữ liệu|Dead men tell no tales|Dæmi|Contoh|Cenários|Cenarios|Beispiller|Beispiele|Atburðarásir):/)?(e.allowPlaceholders=!1,e.allowSteps=!0,e.allowBackground=!1,e.allowMultilineArgument=!0,"keyword"):!e.inKeywordLine&&e.allowScenario&&n.match(/(場景|场景|劇本|剧本|シナリオ|시나리오|เหตุการณ์|ಕಥಾಸಾರಾಂಶ|సన్నివేశం|ਪਟਕਥਾ|परिदृश्य|سيناريو|سناریو|תרחיש|Сценарій|Сценарио|Сценарий|Пример|Σενάριο|Tình huống|The thing of it is|Tapaus|Szenario|Swa|Stsenaarium|Skenario|Situai|Senaryo|Senario|Scenaro|Scenariusz|Scenariu|Scénario|Scenario|Scenarijus|Scenārijs|Scenarij|Scenarie|Scénář|Scenár|Primer|MISHUN|Kịch bản|Keadaan|Heave to|Forgatókönyv|Escenario|Escenari|Cenário|Cenario|Awww, look mate|Atburðarás):/)?(e.allowPlaceholders=!1,e.allowSteps=!0,e.allowBackground=!1,e.allowMultilineArgument=!1,e.inKeywordLine=!0,"keyword"):!e.inKeywordLine&&e.allowSteps&&n.match(/(那麼|那么|而且|當|当|并且|同時|同时|前提|假设|假設|假定|假如|但是|但し|並且|もし|ならば|ただし|しかし|かつ|하지만|조건|먼저|만일|만약|단|그리고|그러면|และ |เมื่อ |แต่ |ดังนั้น |กำหนดให้ |ಸ್ಥಿತಿಯನ್ನು |ಮತ್ತು |ನೀಡಿದ |ನಂತರ |ಆದರೆ |మరియు |చెప్పబడినది |కాని |ఈ పరిస్థితిలో |అప్పుడు |ਪਰ |ਤਦ |ਜੇਕਰ |ਜਿਵੇਂ ਕਿ |ਜਦੋਂ |ਅਤੇ |यदि |परन्तु |पर |तब |तदा |तथा |जब |चूंकि |किन्तु |कदा |और |अगर |و |هنگامی |متى |لكن |عندما |ثم |بفرض |با فرض |اما |اذاً |آنگاه |כאשר |וגם |בהינתן |אזי |אז |אבל |Якщо |Һәм |Унда |Тоді |Тогда |То |Также |Та |Пусть |Припустимо, що |Припустимо |Онда |Но |Нехай |Нәтиҗәдә |Лекин |Ләкин |Коли |Когда |Когато |Када |Кад |К тому же |І |И |Задато |Задати |Задате |Если |Допустим |Дано |Дадено |Вә |Ва |Бирок |Әмма |Әйтик |Әгәр |Аммо |Али |Але |Агар |А також |А |Τότε |Όταν |Και |Δεδομένου |Αλλά |Þurh |Þegar |Þa þe |Þá |Þa |Zatati |Zakładając |Zadato |Zadate |Zadano |Zadani |Zadan |Za předpokladu |Za predpokladu |Youse know when youse got |Youse know like when |Yna |Yeah nah |Y'know |Y |Wun |Wtedy |When y'all |When |Wenn |WEN |wann |Ve |Và |Und |Un |ugeholl |Too right |Thurh |Thì |Then y'all |Then |Tha the |Tha |Tetapi |Tapi |Tak |Tada |Tad |Stel |Soit |Siis |Și |Şi |Si |Sed |Se |Så |Quando |Quand |Quan |Pryd |Potom |Pokud |Pokiaľ |Però |Pero |Pak |Oraz |Onda |Ond |Oletetaan |Og |Och |O zaman |Niin |Nhưng |När |Når |Mutta |Men |Mas |Maka |Majd |Mając |Mais |Maar |mä |Ma |Lorsque |Lorsqu'|Logo |Let go and haul |Kun |Kuid |Kui |Kiedy |Khi |Ketika |Kemudian |Keď |Když |Kaj |Kai |Kada |Kad |Jeżeli |Jeśli |Ja |It's just unbelievable |Ir |I CAN HAZ |I |Ha |Givun |Givet |Given y'all |Given |Gitt |Gegeven |Gegeben seien |Gegeben sei |Gdy |Gangway! |Fakat |Étant donnés |Etant donnés |Étant données |Etant données |Étant donnée |Etant donnée |Étant donné |Etant donné |Et |És |Entonces |Entón |Então |Entao |En |Eğer ki |Ef |Eeldades |E |Ðurh |Duota |Dun |Donitaĵo |Donat |Donada |Do |Diyelim ki |Diberi |Dengan |Den youse gotta |DEN |De |Dato |Dați fiind |Daţi fiind |Dati fiind |Dati |Date fiind |Date |Data |Dat fiind |Dar |Dann |dann |Dan |Dados |Dado |Dadas |Dada |Ða ðe |Ða |Cuando |Cho |Cando |Când |Cand |Cal |But y'all |But at the end of the day I reckon |BUT |But |Buh |Blimey! |Biết |Bet |Bagi |Aye |awer |Avast! |Atunci |Atesa |Atès |Apabila |Anrhegedig a |Angenommen |And y'all |And |AN |An |an |Amikor |Amennyiben |Ama |Als |Alors |Allora |Ali |Aleshores |Ale |Akkor |Ak |Adott |Ac |Aber |A zároveň |A tiež |A taktiež |A také |A |a |7 |\* )/)?(e.inStep=!0,e.allowPlaceholders=!0,e.allowMultilineArgument=!0,e.inKeywordLine=!0,"keyword"):n.match(/"[^"]*"?/)?"string":e.allowPlaceholders&&n.match(/<[^>]*>?/)?"variable":(n.next(),n.eatWhile(/[^@"<#]/),null)}};export{a as gherkin};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import{p as Y}from"./chunk-4BX2VUAB-D1_HKao2.js";import{I as K}from"./chunk-QZHKN3VN-D9ranl9c.js";import{_ as l,Z as U,Y as V,A as X,B as Q,C as J,D as Z,I as m,F as rr,H as er,X as tr,a9 as ar,a3 as sr,Q as C,aa as nr,ab as or,ac as cr,ad as ir}from"./index-CZltVMDP.js";import{p as dr}from"./treemap-GDKQZRPO-fSz4hQn0.js";import"./splashScene-C8lWNnm4.js";import"./_baseUniq-BofrAFBx.js";import"./_basePickBy-Ct8Hm5_h.js";import"./clone-CMuwA8RV.js";var x={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},hr=cr.gitGraph,I=l(()=>nr({...hr,...or().gitGraph}),"getConfig"),c=new K(()=>{const t=I(),r=t.mainBranchName,s=t.mainBranchOrder;return{mainBranchName:r,commits:new Map,head:null,branchConfig:new Map([[r,{name:r,order:s}]]),branches:new Map([[r,null]]),currBranch:r,direction:"LR",seq:0,options:{}}});function q(){return ir({length:7})}l(q,"getID");function F(t,r){const s=Object.create(null);return t.reduce((n,e)=>{const a=r(e);return s[a]||(s[a]=!0,n.push(e)),n},[])}l(F,"uniqBy");var lr=l(function(t){c.records.direction=t},"setDirection"),$r=l(function(t){m.debug("options str",t),t=t?.trim(),t=t||"{}";try{c.records.options=JSON.parse(t)}catch(r){m.error("error while parsing gitGraph options",r.message)}},"setOptions"),fr=l(function(){return c.records.options},"getOptions"),gr=l(function(t){let r=t.msg,s=t.id;const n=t.type;let e=t.tags;m.info("commit",r,s,n,e),m.debug("Entering commit:",r,s,n,e);const a=I();s=C.sanitizeText(s,a),r=C.sanitizeText(r,a),e=e?.map(o=>C.sanitizeText(o,a));const d={id:s||c.records.seq+"-"+q(),message:r,seq:c.records.seq++,type:n??x.NORMAL,tags:e??[],parents:c.records.head==null?[]:[c.records.head.id],branch:c.records.currBranch};c.records.head=d,m.info("main branch",a.mainBranchName),c.records.commits.has(d.id)&&m.warn(`Commit ID ${d.id} already exists`),c.records.commits.set(d.id,d),c.records.branches.set(c.records.currBranch,d.id),m.debug("in pushCommit "+d.id)},"commit"),yr=l(function(t){let r=t.name;const s=t.order;if(r=C.sanitizeText(r,I()),c.records.branches.has(r))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${r}")`);c.records.branches.set(r,c.records.head!=null?c.records.head.id:null),c.records.branchConfig.set(r,{name:r,order:s}),z(r),m.debug("in createBranch")},"branch"),ur=l(t=>{let r=t.branch,s=t.id;const n=t.type,e=t.tags,a=I();r=C.sanitizeText(r,a),s&&(s=C.sanitizeText(s,a));const d=c.records.branches.get(c.records.currBranch),o=c.records.branches.get(r),f=d?c.records.commits.get(d):void 0,h=o?c.records.commits.get(o):void 0;if(f&&h&&f.branch===r)throw new Error(`Cannot merge branch '${r}' into itself.`);if(c.records.currBranch===r){const i=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw i.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},i}if(f===void 0||!f){const i=new Error(`Incorrect usage of "merge". Current branch (${c.records.currBranch})has no commits`);throw i.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["commit"]},i}if(!c.records.branches.has(r)){const i=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw i.hash={text:`merge ${r}`,token:`merge ${r}`,expected:[`branch ${r}`]},i}if(h===void 0||!h){const i=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw i.hash={text:`merge ${r}`,token:`merge ${r}`,expected:['"commit"']},i}if(f===h){const i=new Error('Incorrect usage of "merge". Both branches have same head');throw i.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},i}if(s&&c.records.commits.has(s)){const i=new Error('Incorrect usage of "merge". Commit with id:'+s+" already exists, use different custom id");throw i.hash={text:`merge ${r} ${s} ${n} ${e?.join(" ")}`,token:`merge ${r} ${s} ${n} ${e?.join(" ")}`,expected:[`merge ${r} ${s}_UNIQUE ${n} ${e?.join(" ")}`]},i}const $=o||"",g={id:s||`${c.records.seq}-${q()}`,message:`merged branch ${r} into ${c.records.currBranch}`,seq:c.records.seq++,parents:c.records.head==null?[]:[c.records.head.id,$],branch:c.records.currBranch,type:x.MERGE,customType:n,customId:!!s,tags:e??[]};c.records.head=g,c.records.commits.set(g.id,g),c.records.branches.set(c.records.currBranch,g.id),m.debug(c.records.branches),m.debug("in mergeBranch")},"merge"),pr=l(function(t){let r=t.id,s=t.targetId,n=t.tags,e=t.parent;m.debug("Entering cherryPick:",r,s,n);const a=I();if(r=C.sanitizeText(r,a),s=C.sanitizeText(s,a),n=n?.map(f=>C.sanitizeText(f,a)),e=C.sanitizeText(e,a),!r||!c.records.commits.has(r)){const f=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw f.hash={text:`cherryPick ${r} ${s}`,token:`cherryPick ${r} ${s}`,expected:["cherry-pick abc"]},f}const d=c.records.commits.get(r);if(d===void 0||!d)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(e&&!(Array.isArray(d.parents)&&d.parents.includes(e)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const o=d.branch;if(d.type===x.MERGE&&!e)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!s||!c.records.commits.has(s)){if(o===c.records.currBranch){const g=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw g.hash={text:`cherryPick ${r} ${s}`,token:`cherryPick ${r} ${s}`,expected:["cherry-pick abc"]},g}const f=c.records.branches.get(c.records.currBranch);if(f===void 0||!f){const g=new Error(`Incorrect usage of "cherry-pick". Current branch (${c.records.currBranch})has no commits`);throw g.hash={text:`cherryPick ${r} ${s}`,token:`cherryPick ${r} ${s}`,expected:["cherry-pick abc"]},g}const h=c.records.commits.get(f);if(h===void 0||!h){const g=new Error(`Incorrect usage of "cherry-pick". Current branch (${c.records.currBranch})has no commits`);throw g.hash={text:`cherryPick ${r} ${s}`,token:`cherryPick ${r} ${s}`,expected:["cherry-pick abc"]},g}const $={id:c.records.seq+"-"+q(),message:`cherry-picked ${d?.message} into ${c.records.currBranch}`,seq:c.records.seq++,parents:c.records.head==null?[]:[c.records.head.id,d.id],branch:c.records.currBranch,type:x.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${d.id}${d.type===x.MERGE?`|parent:${e}`:""}`]};c.records.head=$,c.records.commits.set($.id,$),c.records.branches.set(c.records.currBranch,$.id),m.debug(c.records.branches),m.debug("in cherryPick")}},"cherryPick"),z=l(function(t){if(t=C.sanitizeText(t,I()),c.records.branches.has(t)){c.records.currBranch=t;const r=c.records.branches.get(c.records.currBranch);r===void 0||!r?c.records.head=null:c.records.head=c.records.commits.get(r)??null}else{const r=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw r.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},r}},"checkout");function _(t,r,s){const n=t.indexOf(r);n===-1?t.push(s):t.splice(n,1,s)}l(_,"upsert");function P(t){const r=t.reduce((e,a)=>e.seq>a.seq?e:a,t[0]);let s="";t.forEach(function(e){e===r?s+=" *":s+=" |"});const n=[s,r.id,r.seq];for(const e in c.records.branches)c.records.branches.get(e)===r.id&&n.push(e);if(m.debug(n.join(" ")),r.parents&&r.parents.length==2&&r.parents[0]&&r.parents[1]){const e=c.records.commits.get(r.parents[0]);_(t,r,e),r.parents[1]&&t.push(c.records.commits.get(r.parents[1]))}else{if(r.parents.length==0)return;if(r.parents[0]){const e=c.records.commits.get(r.parents[0]);_(t,r,e)}}t=F(t,e=>e.id),P(t)}l(P,"prettyPrintCommitHistory");var xr=l(function(){m.debug(c.records.commits);const t=N()[0];P([t])},"prettyPrint"),mr=l(function(){c.reset(),sr()},"clear"),br=l(function(){return[...c.records.branchConfig.values()].map((r,s)=>r.order!==null&&r.order!==void 0?r:{...r,order:parseFloat(`0.${s}`)}).sort((r,s)=>(r.order??0)-(s.order??0)).map(({name:r})=>({name:r}))},"getBranchesAsObjArray"),wr=l(function(){return c.records.branches},"getBranches"),vr=l(function(){return c.records.commits},"getCommits"),N=l(function(){const t=[...c.records.commits.values()];return t.forEach(function(r){m.debug(r.id)}),t.sort((r,s)=>r.seq-s.seq),t},"getCommitsArray"),Cr=l(function(){return c.records.currBranch},"getCurrentBranch"),Er=l(function(){return c.records.direction},"getDirection"),Tr=l(function(){return c.records.head},"getHead"),S={commitType:x,getConfig:I,setDirection:lr,setOptions:$r,getOptions:fr,commit:gr,branch:yr,merge:ur,cherryPick:pr,checkout:z,prettyPrint:xr,clear:mr,getBranchesAsObjArray:br,getBranches:wr,getCommits:vr,getCommitsArray:N,getCurrentBranch:Cr,getDirection:Er,getHead:Tr,setAccTitle:Z,getAccTitle:J,getAccDescription:Q,setAccDescription:X,setDiagramTitle:V,getDiagramTitle:U},Br=l((t,r)=>{Y(t,r),t.dir&&r.setDirection(t.dir);for(const s of t.statements)Lr(s,r)},"populate"),Lr=l((t,r)=>{const n={Commit:l(e=>r.commit(kr(e)),"Commit"),Branch:l(e=>r.branch(Mr(e)),"Branch"),Merge:l(e=>r.merge(Ir(e)),"Merge"),Checkout:l(e=>r.checkout(Rr(e)),"Checkout"),CherryPicking:l(e=>r.cherryPick(Gr(e)),"CherryPicking")}[t.$type];n?n(t):m.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),kr=l(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?x[t.type]:x.NORMAL,tags:t.tags??void 0}),"parseCommit"),Mr=l(t=>({name:t.name,order:t.order??0}),"parseBranch"),Ir=l(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?x[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),Rr=l(t=>t.branch,"parseCheckout"),Gr=l(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),Or={parse:l(async t=>{const r=await dr("gitGraph",t);m.debug(r),Br(r,S)},"parse")},Ar=rr(),v=Ar?.gitGraph,L=10,k=40,E=4,T=2,M=8,b=new Map,w=new Map,O=30,R=new Map,A=[],B=0,u="LR",qr=l(()=>{b.clear(),w.clear(),R.clear(),B=0,A=[],u="LR"},"clear"),W=l(t=>{const r=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|<br\s*\/?>/gi):t).forEach(n=>{const e=document.createElementNS("http://www.w3.org/2000/svg","tspan");e.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),e.setAttribute("dy","1em"),e.setAttribute("x","0"),e.setAttribute("class","row"),e.textContent=n.trim(),r.appendChild(e)}),r},"drawText"),j=l(t=>{let r,s,n;return u==="BT"?(s=l((e,a)=>e<=a,"comparisonFunc"),n=1/0):(s=l((e,a)=>e>=a,"comparisonFunc"),n=0),t.forEach(e=>{const a=u==="TB"||u=="BT"?w.get(e)?.y:w.get(e)?.x;a!==void 0&&s(a,n)&&(r=e,n=a)}),r},"findClosestParent"),Hr=l(t=>{let r="",s=1/0;return t.forEach(n=>{const e=w.get(n).y;e<=s&&(r=n,s=e)}),r||void 0},"findClosestParentBT"),_r=l((t,r,s)=>{let n=s,e=s;const a=[];t.forEach(d=>{const o=r.get(d);if(!o)throw new Error(`Commit not found for key ${d}`);o.parents.length?(n=Dr(o),e=Math.max(n,e)):a.push(o),Fr(o,n)}),n=e,a.forEach(d=>{zr(d,n,s)}),t.forEach(d=>{const o=r.get(d);if(o?.parents.length){const f=Hr(o.parents);n=w.get(f).y-k,n<=e&&(e=n);const h=b.get(o.branch).pos,$=n-L;w.set(o.id,{x:h,y:$})}})},"setParallelBTPos"),Pr=l(t=>{const r=j(t.parents.filter(n=>n!==null));if(!r)throw new Error(`Closest parent not found for commit ${t.id}`);const s=w.get(r)?.y;if(s===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return s},"findClosestParentPos"),Dr=l(t=>Pr(t)+k,"calculateCommitPosition"),Fr=l((t,r)=>{const s=b.get(t.branch);if(!s)throw new Error(`Branch not found for commit ${t.id}`);const n=s.pos,e=r+L;return w.set(t.id,{x:n,y:e}),{x:n,y:e}},"setCommitPosition"),zr=l((t,r,s)=>{const n=b.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);const e=r+s,a=n.pos;w.set(t.id,{x:a,y:e})},"setRootPosition"),Nr=l((t,r,s,n,e,a)=>{if(a===x.HIGHLIGHT)t.append("rect").attr("x",s.x-10).attr("y",s.y-10).attr("width",20).attr("height",20).attr("class",`commit ${r.id} commit-highlight${e%M} ${n}-outer`),t.append("rect").attr("x",s.x-6).attr("y",s.y-6).attr("width",12).attr("height",12).attr("class",`commit ${r.id} commit${e%M} ${n}-inner`);else if(a===x.CHERRY_PICK)t.append("circle").attr("cx",s.x).attr("cy",s.y).attr("r",10).attr("class",`commit ${r.id} ${n}`),t.append("circle").attr("cx",s.x-3).attr("cy",s.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${r.id} ${n}`),t.append("circle").attr("cx",s.x+3).attr("cy",s.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${r.id} ${n}`),t.append("line").attr("x1",s.x+3).attr("y1",s.y+1).attr("x2",s.x).attr("y2",s.y-5).attr("stroke","#fff").attr("class",`commit ${r.id} ${n}`),t.append("line").attr("x1",s.x-3).attr("y1",s.y+1).attr("x2",s.x).attr("y2",s.y-5).attr("stroke","#fff").attr("class",`commit ${r.id} ${n}`);else{const d=t.append("circle");if(d.attr("cx",s.x),d.attr("cy",s.y),d.attr("r",r.type===x.MERGE?9:10),d.attr("class",`commit ${r.id} commit${e%M}`),a===x.MERGE){const o=t.append("circle");o.attr("cx",s.x),o.attr("cy",s.y),o.attr("r",6),o.attr("class",`commit ${n} ${r.id} commit${e%M}`)}a===x.REVERSE&&t.append("path").attr("d",`M ${s.x-5},${s.y-5}L${s.x+5},${s.y+5}M${s.x-5},${s.y+5}L${s.x+5},${s.y-5}`).attr("class",`commit ${n} ${r.id} commit${e%M}`)}},"drawCommitBullet"),Sr=l((t,r,s,n)=>{if(r.type!==x.CHERRY_PICK&&(r.customId&&r.type===x.MERGE||r.type!==x.MERGE)&&v?.showCommitLabel){const e=t.append("g"),a=e.insert("rect").attr("class","commit-label-bkg"),d=e.append("text").attr("x",n).attr("y",s.y+25).attr("class","commit-label").text(r.id),o=d.node()?.getBBox();if(o&&(a.attr("x",s.posWithOffset-o.width/2-T).attr("y",s.y+13.5).attr("width",o.width+2*T).attr("height",o.height+2*T),u==="TB"||u==="BT"?(a.attr("x",s.x-(o.width+4*E+5)).attr("y",s.y-12),d.attr("x",s.x-(o.width+4*E)).attr("y",s.y+o.height-12)):d.attr("x",s.posWithOffset-o.width/2),v.rotateCommitLabel))if(u==="TB"||u==="BT")d.attr("transform","rotate(-45, "+s.x+", "+s.y+")"),a.attr("transform","rotate(-45, "+s.x+", "+s.y+")");else{const f=-7.5-(o.width+10)/25*9.5,h=10+o.width/25*8.5;e.attr("transform","translate("+f+", "+h+") rotate(-45, "+n+", "+s.y+")")}}},"drawCommitLabel"),Wr=l((t,r,s,n)=>{if(r.tags.length>0){let e=0,a=0,d=0;const o=[];for(const f of r.tags.reverse()){const h=t.insert("polygon"),$=t.append("circle"),g=t.append("text").attr("y",s.y-16-e).attr("class","tag-label").text(f),i=g.node()?.getBBox();if(!i)throw new Error("Tag bbox not found");a=Math.max(a,i.width),d=Math.max(d,i.height),g.attr("x",s.posWithOffset-i.width/2),o.push({tag:g,hole:$,rect:h,yOffset:e}),e+=20}for(const{tag:f,hole:h,rect:$,yOffset:g}of o){const i=d/2,y=s.y-19.2-g;if($.attr("class","tag-label-bkg").attr("points",`
|
|
2
|
+
${n-a/2-E/2},${y+T}
|
|
3
|
+
${n-a/2-E/2},${y-T}
|
|
4
|
+
${s.posWithOffset-a/2-E},${y-i-T}
|
|
5
|
+
${s.posWithOffset+a/2+E},${y-i-T}
|
|
6
|
+
${s.posWithOffset+a/2+E},${y+i+T}
|
|
7
|
+
${s.posWithOffset-a/2-E},${y+i+T}`),h.attr("cy",y).attr("cx",n-a/2+E/2).attr("r",1.5).attr("class","tag-hole"),u==="TB"||u==="BT"){const p=n+g;$.attr("class","tag-label-bkg").attr("points",`
|
|
8
|
+
${s.x},${p+2}
|
|
9
|
+
${s.x},${p-2}
|
|
10
|
+
${s.x+L},${p-i-2}
|
|
11
|
+
${s.x+L+a+4},${p-i-2}
|
|
12
|
+
${s.x+L+a+4},${p+i+2}
|
|
13
|
+
${s.x+L},${p+i+2}`).attr("transform","translate(12,12) rotate(45, "+s.x+","+n+")"),h.attr("cx",s.x+E/2).attr("cy",p).attr("transform","translate(12,12) rotate(45, "+s.x+","+n+")"),f.attr("x",s.x+5).attr("y",p+3).attr("transform","translate(14,14) rotate(45, "+s.x+","+n+")")}}}},"drawCommitTags"),jr=l(t=>{switch(t.customType??t.type){case x.NORMAL:return"commit-normal";case x.REVERSE:return"commit-reverse";case x.HIGHLIGHT:return"commit-highlight";case x.MERGE:return"commit-merge";case x.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),Yr=l((t,r,s,n)=>{const e={x:0,y:0};if(t.parents.length>0){const a=j(t.parents);if(a){const d=n.get(a)??e;return r==="TB"?d.y+k:r==="BT"?(n.get(t.id)??e).y-k:d.x+k}}else return r==="TB"?O:r==="BT"?(n.get(t.id)??e).y-k:0;return 0},"calculatePosition"),Kr=l((t,r,s)=>{const n=u==="BT"&&s?r:r+L,e=u==="TB"||u==="BT"?n:b.get(t.branch)?.pos,a=u==="TB"||u==="BT"?b.get(t.branch)?.pos:n;if(a===void 0||e===void 0)throw new Error(`Position were undefined for commit ${t.id}`);return{x:a,y:e,posWithOffset:n}},"getCommitPosition"),D=l((t,r,s)=>{if(!v)throw new Error("GitGraph config not found");const n=t.append("g").attr("class","commit-bullets"),e=t.append("g").attr("class","commit-labels");let a=u==="TB"||u==="BT"?O:0;const d=[...r.keys()],o=v?.parallelCommits??!1,f=l(($,g)=>{const i=r.get($)?.seq,y=r.get(g)?.seq;return i!==void 0&&y!==void 0?i-y:0},"sortKeys");let h=d.sort(f);u==="BT"&&(o&&_r(h,r,a),h=h.reverse()),h.forEach($=>{const g=r.get($);if(!g)throw new Error(`Commit not found for key ${$}`);o&&(a=Yr(g,u,a,w));const i=Kr(g,a,o);if(s){const y=jr(g),p=g.customType??g.type,H=b.get(g.branch)?.index??0;Nr(n,g,i,y,H,p),Sr(e,g,i,a),Wr(e,g,i,a)}u==="TB"||u==="BT"?w.set(g.id,{x:i.x,y:i.posWithOffset}):w.set(g.id,{x:i.posWithOffset,y:i.y}),a=u==="BT"&&o?a+k:a+k+L,a>B&&(B=a)})},"drawCommits"),Ur=l((t,r,s,n,e)=>{const d=(u==="TB"||u==="BT"?s.x<n.x:s.y<n.y)?r.branch:t.branch,o=l(h=>h.branch===d,"isOnBranchToGetCurve"),f=l(h=>h.seq>t.seq&&h.seq<r.seq,"isBetweenCommits");return[...e.values()].some(h=>f(h)&&o(h))},"shouldRerouteArrow"),G=l((t,r,s=0)=>{const n=t+Math.abs(t-r)/2;if(s>5)return n;if(A.every(d=>Math.abs(d-n)>=10))return A.push(n),n;const a=Math.abs(t-r);return G(t,r-a/5,s+1)},"findLane"),Vr=l((t,r,s,n)=>{const e=w.get(r.id),a=w.get(s.id);if(e===void 0||a===void 0)throw new Error(`Commit positions not found for commits ${r.id} and ${s.id}`);const d=Ur(r,s,e,a,n);let o="",f="",h=0,$=0,g=b.get(s.branch)?.index;s.type===x.MERGE&&r.id!==s.parents[0]&&(g=b.get(r.branch)?.index);let i;if(d){o="A 10 10, 0, 0, 0,",f="A 10 10, 0, 0, 1,",h=10,$=10;const y=e.y<a.y?G(e.y,a.y):G(a.y,e.y),p=e.x<a.x?G(e.x,a.x):G(a.x,e.x);u==="TB"?e.x<a.x?i=`M ${e.x} ${e.y} L ${p-h} ${e.y} ${f} ${p} ${e.y+$} L ${p} ${a.y-h} ${o} ${p+$} ${a.y} L ${a.x} ${a.y}`:(g=b.get(r.branch)?.index,i=`M ${e.x} ${e.y} L ${p+h} ${e.y} ${o} ${p} ${e.y+$} L ${p} ${a.y-h} ${f} ${p-$} ${a.y} L ${a.x} ${a.y}`):u==="BT"?e.x<a.x?i=`M ${e.x} ${e.y} L ${p-h} ${e.y} ${o} ${p} ${e.y-$} L ${p} ${a.y+h} ${f} ${p+$} ${a.y} L ${a.x} ${a.y}`:(g=b.get(r.branch)?.index,i=`M ${e.x} ${e.y} L ${p+h} ${e.y} ${f} ${p} ${e.y-$} L ${p} ${a.y+h} ${o} ${p-$} ${a.y} L ${a.x} ${a.y}`):e.y<a.y?i=`M ${e.x} ${e.y} L ${e.x} ${y-h} ${o} ${e.x+$} ${y} L ${a.x-h} ${y} ${f} ${a.x} ${y+$} L ${a.x} ${a.y}`:(g=b.get(r.branch)?.index,i=`M ${e.x} ${e.y} L ${e.x} ${y+h} ${f} ${e.x+$} ${y} L ${a.x-h} ${y} ${o} ${a.x} ${y-$} L ${a.x} ${a.y}`)}else o="A 20 20, 0, 0, 0,",f="A 20 20, 0, 0, 1,",h=20,$=20,u==="TB"?(e.x<a.x&&(s.type===x.MERGE&&r.id!==s.parents[0]?i=`M ${e.x} ${e.y} L ${e.x} ${a.y-h} ${o} ${e.x+$} ${a.y} L ${a.x} ${a.y}`:i=`M ${e.x} ${e.y} L ${a.x-h} ${e.y} ${f} ${a.x} ${e.y+$} L ${a.x} ${a.y}`),e.x>a.x&&(o="A 20 20, 0, 0, 0,",f="A 20 20, 0, 0, 1,",h=20,$=20,s.type===x.MERGE&&r.id!==s.parents[0]?i=`M ${e.x} ${e.y} L ${e.x} ${a.y-h} ${f} ${e.x-$} ${a.y} L ${a.x} ${a.y}`:i=`M ${e.x} ${e.y} L ${a.x+h} ${e.y} ${o} ${a.x} ${e.y+$} L ${a.x} ${a.y}`),e.x===a.x&&(i=`M ${e.x} ${e.y} L ${a.x} ${a.y}`)):u==="BT"?(e.x<a.x&&(s.type===x.MERGE&&r.id!==s.parents[0]?i=`M ${e.x} ${e.y} L ${e.x} ${a.y+h} ${f} ${e.x+$} ${a.y} L ${a.x} ${a.y}`:i=`M ${e.x} ${e.y} L ${a.x-h} ${e.y} ${o} ${a.x} ${e.y-$} L ${a.x} ${a.y}`),e.x>a.x&&(o="A 20 20, 0, 0, 0,",f="A 20 20, 0, 0, 1,",h=20,$=20,s.type===x.MERGE&&r.id!==s.parents[0]?i=`M ${e.x} ${e.y} L ${e.x} ${a.y+h} ${o} ${e.x-$} ${a.y} L ${a.x} ${a.y}`:i=`M ${e.x} ${e.y} L ${a.x-h} ${e.y} ${o} ${a.x} ${e.y-$} L ${a.x} ${a.y}`),e.x===a.x&&(i=`M ${e.x} ${e.y} L ${a.x} ${a.y}`)):(e.y<a.y&&(s.type===x.MERGE&&r.id!==s.parents[0]?i=`M ${e.x} ${e.y} L ${a.x-h} ${e.y} ${f} ${a.x} ${e.y+$} L ${a.x} ${a.y}`:i=`M ${e.x} ${e.y} L ${e.x} ${a.y-h} ${o} ${e.x+$} ${a.y} L ${a.x} ${a.y}`),e.y>a.y&&(s.type===x.MERGE&&r.id!==s.parents[0]?i=`M ${e.x} ${e.y} L ${a.x-h} ${e.y} ${o} ${a.x} ${e.y-$} L ${a.x} ${a.y}`:i=`M ${e.x} ${e.y} L ${e.x} ${a.y+h} ${f} ${e.x+$} ${a.y} L ${a.x} ${a.y}`),e.y===a.y&&(i=`M ${e.x} ${e.y} L ${a.x} ${a.y}`));if(i===void 0)throw new Error("Line definition not found");t.append("path").attr("d",i).attr("class","arrow arrow"+g%M)},"drawArrow"),Xr=l((t,r)=>{const s=t.append("g").attr("class","commit-arrows");[...r.keys()].forEach(n=>{const e=r.get(n);e.parents&&e.parents.length>0&&e.parents.forEach(a=>{Vr(s,r.get(a),e,r)})})},"drawArrows"),Qr=l((t,r)=>{const s=t.append("g");r.forEach((n,e)=>{const a=e%M,d=b.get(n.name)?.pos;if(d===void 0)throw new Error(`Position not found for branch ${n.name}`);const o=s.append("line");o.attr("x1",0),o.attr("y1",d),o.attr("x2",B),o.attr("y2",d),o.attr("class","branch branch"+a),u==="TB"?(o.attr("y1",O),o.attr("x1",d),o.attr("y2",B),o.attr("x2",d)):u==="BT"&&(o.attr("y1",B),o.attr("x1",d),o.attr("y2",O),o.attr("x2",d)),A.push(d);const f=n.name,h=W(f),$=s.insert("rect"),i=s.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+a);i.node().appendChild(h);const y=h.getBBox();$.attr("class","branchLabelBkg label"+a).attr("rx",4).attr("ry",4).attr("x",-y.width-4-(v?.rotateCommitLabel===!0?30:0)).attr("y",-y.height/2+8).attr("width",y.width+18).attr("height",y.height+4),i.attr("transform","translate("+(-y.width-14-(v?.rotateCommitLabel===!0?30:0))+", "+(d-y.height/2-1)+")"),u==="TB"?($.attr("x",d-y.width/2-10).attr("y",0),i.attr("transform","translate("+(d-y.width/2-5)+", 0)")):u==="BT"?($.attr("x",d-y.width/2-10).attr("y",B),i.attr("transform","translate("+(d-y.width/2-5)+", "+B+")")):$.attr("transform","translate(-19, "+(d-y.height/2)+")")})},"drawBranches"),Jr=l(function(t,r,s,n,e){return b.set(t,{pos:r,index:s}),r+=50+(e?40:0)+(u==="TB"||u==="BT"?n.width/2:0),r},"setBranchPosition"),Zr=l(function(t,r,s,n){if(qr(),m.debug("in gitgraph renderer",t+`
|
|
14
|
+
`,"id:",r,s),!v)throw new Error("GitGraph config not found");const e=v.rotateCommitLabel??!1,a=n.db;R=a.getCommits();const d=a.getBranchesAsObjArray();u=a.getDirection();const o=er(`[id="${r}"]`);let f=0;d.forEach((h,$)=>{const g=W(h.name),i=o.append("g"),y=i.insert("g").attr("class","branchLabel"),p=y.insert("g").attr("class","label branch-label");p.node()?.appendChild(g);const H=g.getBBox();f=Jr(h.name,f,$,H,e),p.remove(),y.remove(),i.remove()}),D(o,R,!1),v.showBranches&&Qr(o,d),Xr(o,R),D(o,R,!0),tr.insertTitle(o,"gitTitleText",v.titleTopMargin??0,a.getDiagramTitle()),ar(void 0,o,v.diagramPadding,v.useMaxWidth)},"draw"),re={draw:Zr},ee=l(t=>`
|
|
15
|
+
.commit-id,
|
|
16
|
+
.commit-msg,
|
|
17
|
+
.branch-label {
|
|
18
|
+
fill: lightgrey;
|
|
19
|
+
color: lightgrey;
|
|
20
|
+
font-family: 'trebuchet ms', verdana, arial, sans-serif;
|
|
21
|
+
font-family: var(--mermaid-font-family);
|
|
22
|
+
}
|
|
23
|
+
${[0,1,2,3,4,5,6,7].map(r=>`
|
|
24
|
+
.branch-label${r} { fill: ${t["gitBranchLabel"+r]}; }
|
|
25
|
+
.commit${r} { stroke: ${t["git"+r]}; fill: ${t["git"+r]}; }
|
|
26
|
+
.commit-highlight${r} { stroke: ${t["gitInv"+r]}; fill: ${t["gitInv"+r]}; }
|
|
27
|
+
.label${r} { fill: ${t["git"+r]}; }
|
|
28
|
+
.arrow${r} { stroke: ${t["git"+r]}; }
|
|
29
|
+
`).join(`
|
|
30
|
+
`)}
|
|
31
|
+
|
|
32
|
+
.branch {
|
|
33
|
+
stroke-width: 1;
|
|
34
|
+
stroke: ${t.lineColor};
|
|
35
|
+
stroke-dasharray: 2;
|
|
36
|
+
}
|
|
37
|
+
.commit-label { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelColor};}
|
|
38
|
+
.commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelBackground}; opacity: 0.5; }
|
|
39
|
+
.tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};}
|
|
40
|
+
.tag-label-bkg { fill: ${t.tagLabelBackground}; stroke: ${t.tagLabelBorder}; }
|
|
41
|
+
.tag-hole { fill: ${t.textColor}; }
|
|
42
|
+
|
|
43
|
+
.commit-merge {
|
|
44
|
+
stroke: ${t.primaryColor};
|
|
45
|
+
fill: ${t.primaryColor};
|
|
46
|
+
}
|
|
47
|
+
.commit-reverse {
|
|
48
|
+
stroke: ${t.primaryColor};
|
|
49
|
+
fill: ${t.primaryColor};
|
|
50
|
+
stroke-width: 3;
|
|
51
|
+
}
|
|
52
|
+
.commit-highlight-outer {
|
|
53
|
+
}
|
|
54
|
+
.commit-highlight-inner {
|
|
55
|
+
stroke: ${t.primaryColor};
|
|
56
|
+
fill: ${t.primaryColor};
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.arrow { stroke-width: 8; stroke-linecap: round; fill: none}
|
|
60
|
+
.gitTitleText {
|
|
61
|
+
text-anchor: middle;
|
|
62
|
+
font-size: 18px;
|
|
63
|
+
fill: ${t.textColor};
|
|
64
|
+
}
|
|
65
|
+
`,"getStyles"),te=ee,le={parser:Or,db:S,renderer:re,styles:te};export{le as diagram};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{aV as N,aW as j,aX as f,aY as b,aZ as E}from"./index-CZltVMDP.js";import{a as v,c as P,k as _,f as g,d,i as l,v as p,r as D}from"./_baseUniq-BofrAFBx.js";var w=N(function(o){return v(P(o,1,j,!0))}),F="\0",a="\0",O="";class L{constructor(e={}){this._isDirected=Object.prototype.hasOwnProperty.call(e,"directed")?e.directed:!0,this._isMultigraph=Object.prototype.hasOwnProperty.call(e,"multigraph")?e.multigraph:!1,this._isCompound=Object.prototype.hasOwnProperty.call(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=f(void 0),this._defaultEdgeLabelFn=f(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[a]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return b(e)||(e=f(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return _(this._nodes)}sources(){var e=this;return g(this.nodes(),function(t){return E(e._in[t])})}sinks(){var e=this;return g(this.nodes(),function(t){return E(e._out[t])})}setNodes(e,t){var s=arguments,i=this;return d(e,function(r){s.length>1?i.setNode(r,t):i.setNode(r)}),this}setNode(e,t){return Object.prototype.hasOwnProperty.call(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=a,this._children[e]={},this._children[a][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var t=s=>this.removeEdge(this._edgeObjs[s]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],d(this.children(e),s=>{this.setParent(s)}),delete this._children[e]),d(_(this._in[e]),t),delete this._in[e],delete this._preds[e],d(_(this._out[e]),t),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(l(t))t=a;else{t+="";for(var s=t;!l(s);s=this.parent(s))if(s===e)throw new Error("Setting "+t+" as parent of "+e+" would create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var t=this._parent[e];if(t!==a)return t}}children(e){if(l(e)&&(e=a),this._isCompound){var t=this._children[e];if(t)return _(t)}else{if(e===a)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var t=this._preds[e];if(t)return _(t)}successors(e){var t=this._sucs[e];if(t)return _(t)}neighbors(e){var t=this.predecessors(e);if(t)return w(t,this.successors(e))}isLeaf(e){var t;return this.isDirected()?t=this.successors(e):t=this.neighbors(e),t.length===0}filterNodes(e){var t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph());var s=this;d(this._nodes,function(n,h){e(h)&&t.setNode(h,n)}),d(this._edgeObjs,function(n){t.hasNode(n.v)&&t.hasNode(n.w)&&t.setEdge(n,s.edge(n))});var i={};function r(n){var h=s.parent(n);return h===void 0||t.hasNode(h)?(i[n]=h,h):h in i?i[h]:r(h)}return this._isCompound&&d(t.nodes(),function(n){t.setParent(n,r(n))}),t}setDefaultEdgeLabel(e){return b(e)||(e=f(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return p(this._edgeObjs)}setPath(e,t){var s=this,i=arguments;return D(e,function(r,n){return i.length>1?s.setEdge(r,n,t):s.setEdge(r,n),n}),this}setEdge(){var e,t,s,i,r=!1,n=arguments[0];typeof n=="object"&&n!==null&&"v"in n?(e=n.v,t=n.w,s=n.name,arguments.length===2&&(i=arguments[1],r=!0)):(e=n,t=arguments[1],s=arguments[3],arguments.length>2&&(i=arguments[2],r=!0)),e=""+e,t=""+t,l(s)||(s=""+s);var h=c(this._isDirected,e,t,s);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,h))return r&&(this._edgeLabels[h]=i),this;if(!l(s)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[h]=r?i:this._defaultEdgeLabelFn(e,t,s);var u=M(this._isDirected,e,t,s);return e=u.v,t=u.w,Object.freeze(u),this._edgeObjs[h]=u,y(this._preds[t],e),y(this._sucs[e],t),this._in[t][h]=u,this._out[e][h]=u,this._edgeCount++,this}edge(e,t,s){var i=arguments.length===1?m(this._isDirected,arguments[0]):c(this._isDirected,e,t,s);return this._edgeLabels[i]}hasEdge(e,t,s){var i=arguments.length===1?m(this._isDirected,arguments[0]):c(this._isDirected,e,t,s);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(e,t,s){var i=arguments.length===1?m(this._isDirected,arguments[0]):c(this._isDirected,e,t,s),r=this._edgeObjs[i];return r&&(e=r.v,t=r.w,delete this._edgeLabels[i],delete this._edgeObjs[i],C(this._preds[t],e),C(this._sucs[e],t),delete this._in[t][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,t){var s=this._in[e];if(s){var i=p(s);return t?g(i,function(r){return r.v===t}):i}}outEdges(e,t){var s=this._out[e];if(s){var i=p(s);return t?g(i,function(r){return r.w===t}):i}}nodeEdges(e,t){var s=this.inEdges(e,t);if(s)return s.concat(this.outEdges(e,t))}}L.prototype._nodeCount=0;L.prototype._edgeCount=0;function y(o,e){o[e]?o[e]++:o[e]=1}function C(o,e){--o[e]||delete o[e]}function c(o,e,t,s){var i=""+e,r=""+t;if(!o&&i>r){var n=i;i=r,r=n}return i+O+r+O+(l(s)?F:s)}function M(o,e,t,s){var i=""+e,r=""+t;if(!o&&i>r){var n=i;i=r,r=n}var h={v:i,w:r};return s&&(h.name=s),h}function m(o,e){return c(o,e.v,e.w,e.name)}export{L as G};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function a(e){for(var n={},t=e.split(" "),i=0;i<t.length;++i)n[t[i]]=!0;return n}var b=a("abstract as assert boolean break byte case catch char class const continue def default do double else enum extends final finally float for goto if implements import in instanceof int interface long native new package private protected public return short static strictfp super switch synchronized threadsafe throw throws trait transient try void volatile while"),g=a("catch class def do else enum finally for if interface switch trait try while"),x=a("return break continue"),z=a("null true false this"),r;function k(e,n){var t=e.next();if(t=='"'||t=="'")return y(t,e,n);if(/[\[\]{}\(\),;\:\.]/.test(t))return r=t,null;if(/\d/.test(t))return e.eatWhile(/[\w\.]/),e.eat(/eE/)&&(e.eat(/\+\-/),e.eatWhile(/\d/)),"number";if(t=="/"){if(e.eat("*"))return n.tokenize.push(v),v(e,n);if(e.eat("/"))return e.skipToEnd(),"comment";if(h(n.lastToken,!1))return y(t,e,n)}if(t=="-"&&e.eat(">"))return r="->",null;if(/[+\-*&%=<>!?|\/~]/.test(t))return e.eatWhile(/[+\-*&%=<>|~]/),"operator";if(e.eatWhile(/[\w\$_]/),t=="@")return e.eatWhile(/[\w\$_\.]/),"meta";if(n.lastToken==".")return"property";if(e.eat(":"))return r="proplabel","property";var i=e.current();return z.propertyIsEnumerable(i)?"atom":b.propertyIsEnumerable(i)?(g.propertyIsEnumerable(i)?r="newstatement":x.propertyIsEnumerable(i)&&(r="standalone"),"keyword"):"variable"}k.isBase=!0;function y(e,n,t){var i=!1;if(e!="/"&&n.eat(e))if(n.eat(e))i=!0;else return"string";function o(l,d){for(var f=!1,c,s=!i;(c=l.next())!=null;){if(c==e&&!f){if(!i)break;if(l.match(e+e)){s=!0;break}}if(e=='"'&&c=="$"&&!f){if(l.eat("{"))return d.tokenize.push(m()),"string";if(l.match(/^\w/,!1))return d.tokenize.push(E),"string"}f=!f&&c=="\\"}return s&&d.tokenize.pop(),"string"}return t.tokenize.push(o),o(n,t)}function m(){var e=1;function n(t,i){if(t.peek()=="}"){if(e--,e==0)return i.tokenize.pop(),i.tokenize[i.tokenize.length-1](t,i)}else t.peek()=="{"&&e++;return k(t,i)}return n.isBase=!0,n}function E(e,n){var t=e.match(/^(\.|[\w\$_]+)/);return(!t||!e.match(t[0]=="."?/^[\w$_]/:/^\./))&&n.tokenize.pop(),t?t[0]=="."?null:"variable":n.tokenize[n.tokenize.length-1](e,n)}function v(e,n){for(var t=!1,i;i=e.next();){if(i=="/"&&t){n.tokenize.pop();break}t=i=="*"}return"comment"}function h(e,n){return!e||e=="operator"||e=="->"||/[\.\[\{\(,;:]/.test(e)||e=="newstatement"||e=="keyword"||e=="proplabel"||e=="standalone"&&!n}function w(e,n,t,i,o){this.indented=e,this.column=n,this.type=t,this.align=i,this.prev=o}function p(e,n,t){return e.context=new w(e.indented,n,t,null,e.context)}function u(e){var n=e.context.type;return(n==")"||n=="]"||n=="}")&&(e.indented=e.context.indented),e.context=e.context.prev}const T={name:"groovy",startState:function(e){return{tokenize:[k],context:new w(-e,0,"top",!1),indented:0,startOfLine:!0,lastToken:null}},token:function(e,n){var t=n.context;if(e.sol()&&(t.align==null&&(t.align=!1),n.indented=e.indentation(),n.startOfLine=!0,t.type=="statement"&&!h(n.lastToken,!0)&&(u(n),t=n.context)),e.eatSpace())return null;r=null;var i=n.tokenize[n.tokenize.length-1](e,n);if(i=="comment")return i;if(t.align==null&&(t.align=!0),(r==";"||r==":")&&t.type=="statement")u(n);else if(r=="->"&&t.type=="statement"&&t.prev.type=="}")u(n),n.context.align=!1;else if(r=="{")p(n,e.column(),"}");else if(r=="[")p(n,e.column(),"]");else if(r=="(")p(n,e.column(),")");else if(r=="}"){for(;t.type=="statement";)t=u(n);for(t.type=="}"&&(t=u(n));t.type=="statement";)t=u(n)}else r==t.type?u(n):(t.type=="}"||t.type=="top"||t.type=="statement"&&r=="newstatement")&&p(n,e.column(),"statement");return n.startOfLine=!1,n.lastToken=r||i,i},indent:function(e,n,t){if(!e.tokenize[e.tokenize.length-1].isBase)return null;var i=n&&n.charAt(0),o=e.context;o.type=="statement"&&!h(e.lastToken,!0)&&(o=o.prev);var l=i==o.type;return o.type=="statement"?o.indented+(i=="{"?0:t.unit):o.align?o.column+(l?0:1):o.indented+(l?0:t.unit)},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""']}}};export{T as groovy};
|