decocms 2.285.1 → 2.286.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{AlertCircle-Ljx3VIeb.js → AlertCircle-DTmaHldD.js} +1 -1
- package/dist/client/assets/{ArrowNarrowLeft-B8YVT66M.js → ArrowNarrowLeft-DlPeFc4v.js} +1 -1
- package/dist/client/assets/{CheckCircle-BFRWTTWo.js → CheckCircle-DJ3lme5R.js} +1 -1
- package/dist/client/assets/{ChevronDown-BqFspEzt.js → ChevronDown-DGnjAtqs.js} +1 -1
- package/dist/client/assets/{ChevronRight-DCsBjQ-n.js → ChevronRight-DV9No7GF.js} +1 -1
- package/dist/client/assets/{ChevronUp-D7S3j_fa.js → ChevronUp-BkSgkwhO.js} +1 -1
- package/dist/client/assets/{Container-SHbLkl7K.js → Container-B1nHZdmn.js} +1 -1
- package/dist/client/assets/DotsVertical-Bp2tW8JI.js +1 -0
- package/dist/client/assets/{LinkExternal01-XmkIm96u.js → LinkExternal01-BBbCPDtX.js} +1 -1
- package/dist/client/assets/{Lock01-CXrm99F-.js → Lock01-DpPIS3K7.js} +1 -1
- package/dist/client/assets/{Palette-B46VjX8F.js → Palette-CI8n49a8.js} +1 -1
- package/dist/client/assets/{Play-9pX5w5-3.js → Play-DKFUTU3G.js} +1 -1
- package/dist/client/assets/{Plus-Bmk1thjl.js → Plus-oXFwCrYz.js} +1 -1
- package/dist/client/assets/RefreshCcw01-B10mKiE2.js +1 -0
- package/dist/client/assets/SearchMd-BRJBvWf4.js +1 -0
- package/dist/client/assets/{Settings02-C88OtRRq.js → Settings02-Dm9dFDqk.js} +1 -1
- package/dist/client/assets/Shield01-BZJVBd5S.js +1 -0
- package/dist/client/assets/{Star01-fuGmPeeu.js → Star01-_IJK5Yjt.js} +1 -1
- package/dist/client/assets/{Sun-ndN_CHuQ.js → Sun-QqE1VnS_.js} +1 -1
- package/dist/client/assets/{Tool01-DBxgF1Y_.js → Tool01-CKowkGsd.js} +1 -1
- package/dist/client/assets/{Trash01-BHBjIGXE.js → Trash01-C6bAXG6g.js} +1 -1
- package/dist/client/assets/{User01-DCiwOMBU.js → User01-C2-anwoO.js} +1 -1
- package/dist/client/assets/{Users03-Bgfd1KM0.js → Users03-DqYvPeZM.js} +1 -1
- package/dist/client/assets/{X-BWV-b86T.js → X-i9zBn6Hn.js} +1 -1
- package/dist/client/assets/XCircle-C1sJYG9R.js +1 -0
- package/dist/client/assets/XClose-BbIo6xHe.js +1 -0
- package/dist/client/assets/{Zap-K9sQXDlC.js → Zap-KmbRMccM.js} +1 -1
- package/dist/client/assets/{ZapSquare-CTcr_tRy.js → ZapSquare-DT93lGV4.js} +1 -1
- package/dist/client/assets/{accordion-COmeMo5z.js → accordion-BV3tm7bj.js} +1 -1
- package/dist/client/assets/agent-icon-CyE6nkC1.js +1 -0
- package/dist/client/assets/agents-list-7o6gZt-q.js +1 -0
- package/dist/client/assets/ai-providers-DI3UF9nU.js +1 -0
- package/dist/client/assets/{alert-dialog-DaP8t8su.js → alert-dialog-CicrCOay.js} +2 -2
- package/dist/client/assets/{auth-catchall-CerK6T4u.js → auth-catchall-Cyd7fWQv.js} +1 -1
- package/dist/client/assets/automation-list-row-B4Vfg4UC.js +1 -0
- package/dist/client/assets/automations-DRM_lJom.js +1 -0
- package/dist/client/assets/{avatar-gTIcZioB.js → avatar-CF1bgUpD.js} +1 -1
- package/dist/client/assets/{badge-DsWPcX1V.js → badge-s_TAXGUN.js} +1 -1
- package/dist/client/assets/{brand-context-CnnwTWNT.js → brand-context-iopLFZ2k.js} +1 -1
- package/dist/client/assets/{card-CPVRwbgl.js → card-CaekC2K0.js} +1 -1
- package/dist/client/assets/{chat-context-CZAEwDWp.js → chat-context-DP5UfIrn.js} +1 -1
- package/dist/client/assets/{checkbox-CPqdqI54.js → checkbox-DznLgPgR.js} +1 -1
- package/dist/client/assets/collection-detail-CTQuhG7N.js +1 -0
- package/dist/client/assets/collection-display-button-BgYKhoGQ.js +1 -0
- package/dist/client/assets/{collection-search-DgokupF2.js → collection-search-Bo2bOvRn.js} +1 -1
- package/dist/client/assets/{collection-search-lfil19IA.js → collection-search-DMqppne6.js} +1 -1
- package/dist/client/assets/collection-table-wrapper-KnWZIddd.js +1 -0
- package/dist/client/assets/{collection-tabs-BRY4wHvH.js → collection-tabs-CU6MCzSn.js} +1 -1
- package/dist/client/assets/{collections-lJhN2k9k.js → collections-DHmXATua.js} +1 -1
- package/dist/client/assets/command-D4w2xkZT.js +1 -0
- package/dist/client/assets/{connection-card-BrctpSfE.js → connection-card-DBz-rrLk.js} +1 -1
- package/dist/client/assets/connection-detail-zHqb5ZSw.js +1 -0
- package/dist/client/assets/{connection-form-helpers-C1FnnBdL.js → connection-form-helpers-CBEV0IXi.js} +1 -1
- package/dist/client/assets/connections-CHiGbl1F.js +1 -0
- package/dist/client/assets/{constants-D8VkIs2c.js → constants-DDHDU3PV.js} +1 -1
- package/dist/client/assets/{constants-D_Nupw5-.js → constants-v4RUVkEN.js} +1 -1
- package/dist/client/assets/{dialog-BOagZAx2.js → dialog-C4lREl-t.js} +1 -1
- package/dist/client/assets/{drawer-BRUzFEdi.js → drawer-BTCEaGGQ.js} +1 -1
- package/dist/client/assets/dropdown-menu-v2GifVOh.js +1 -0
- package/dist/client/assets/{dynamic-plugin-layout-ltkevohS.js → dynamic-plugin-layout-CVBBnlEt.js} +1 -1
- package/dist/client/assets/{empty-state-BokLRSGE.js → empty-state-BdQTFnZA.js} +1 -1
- package/dist/client/assets/{empty-state-DCK4Z2GX.js → empty-state-DdKZ_is7.js} +1 -1
- package/dist/client/assets/{extract-connection-data-V-eInhlP.js → extract-connection-data-CfXvFcGA.js} +1 -1
- package/dist/client/assets/{features-DIBFVG_b.js → features-fsR9zLkr.js} +1 -1
- package/dist/client/assets/{form-DHQjt1Tk.js → form-D7DN8UcB.js} +1 -1
- package/dist/client/assets/general-WQbdllPl.js +1 -0
- package/dist/client/assets/{github-repo-picker-CIYxcUMn.js → github-repo-picker-DZqLC6FL.js} +2 -2
- package/dist/client/assets/index-BCwsJqWc.css +1 -0
- package/dist/client/assets/{index-sYNl3b-7.js → index-C5AR7k1c.js} +1 -1
- package/dist/client/assets/{index-DWOvEgKr.js → index-CHKi_s_a.js} +1 -1
- package/dist/client/assets/{index-DvxSs9Po.js → index-D-RCnwJQ.js} +1 -1
- package/dist/client/assets/{index-CNolBSVE.js → index-D34n6J5J.js} +22 -22
- package/dist/client/assets/{index-DbNFtLRR.js → index-DBclwIf_.js} +3 -3
- package/dist/client/assets/{index-Di0ylaLI.js → index-DnJZfbsP.js} +3 -3
- package/dist/client/assets/{index-uSGXbgq4.js → index-FnxI6OGR.js} +1 -1
- package/dist/client/assets/{index-BWvVdWtP.js → index-e3AFJ_dX.js} +1 -1
- package/dist/client/assets/{index-gfedyrlZ.js → index-qXZ0t4XR.js} +16 -16
- package/dist/client/assets/{index-PT6VRyBL.js → index-zDq2Zqio.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-B8q-YDXm.js → infiniteQueryObserver-1_M-sq16.js} +1 -1
- package/dist/client/assets/{input-B8j75XZ_.js → input-urtyHxks.js} +1 -1
- package/dist/client/assets/{integration-icon-De50Mm7k.js → integration-icon-Cdkk9YPE.js} +1 -1
- package/dist/client/assets/{label-KH35YAYU.js → label-Bt4h_QUk.js} +1 -1
- package/dist/client/assets/{layout-E2py7rYQ.js → layout-B5SDe6IW.js} +1 -1
- package/dist/client/assets/{login-agOBj-o2.js → login-7zFMf3C1.js} +1 -1
- package/dist/client/assets/members-Dy7hWkQ8.js +3 -0
- package/dist/client/assets/{monaco-editor-CzAT2DWn.js → monaco-editor-lveN-AoO.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-k0blCMgl.js → monitoring-stats-row-D3x0_phM.js} +1 -1
- package/dist/client/assets/{oauth-callback-ViEW-3g2.js → oauth-callback-BJALVgfT.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-cSZy9hW7.js → oauth-callback-ai-provider-o8Hfz-wL.js} +1 -1
- package/dist/client/assets/{onboarding-CquRdW5q.js → onboarding-DlI3PsIA.js} +1 -1
- package/dist/client/assets/{org-layout-DY9vqUg9.js → org-layout-DPzm8vzJ.js} +1 -1
- package/dist/client/assets/{org-plugin-layout-HyePbhDN.js → org-plugin-layout-DB72TzxO.js} +1 -1
- package/dist/client/assets/{plugin-empty-state-tSKwN8yW.js → plugin-empty-state-BzyxU1IF.js} +1 -1
- package/dist/client/assets/{plugin-header-CgMEgROC.js → plugin-header-hJH6-4Nr.js} +1 -1
- package/dist/client/assets/{plugin-layout-B0f9qTk_.js → plugin-layout-l_MDXBYc.js} +1 -1
- package/dist/client/assets/{popover-BK6PL-XB.js → popover-j_PzMtdY.js} +1 -1
- package/dist/client/assets/{profile-C_xBhvj7.js → profile-lf_QL3Ye.js} +1 -1
- package/dist/client/assets/project-app-view-DuFzKNXE.js +1 -0
- package/dist/client/assets/registry-D3m_WKwq.js +2 -0
- package/dist/client/assets/{registry-layout-7nSgT8Ua.js → registry-layout-DRb_iR_v.js} +3 -3
- package/dist/client/assets/{required-auth-layout-D-NWWr5P.js → required-auth-layout-C2o7AZ4K.js} +1 -1
- package/dist/client/assets/{reset-password-C7m0cAdE.js → reset-password-DTEY3I_i.js} +1 -1
- package/dist/client/assets/roles-DW1_Kn6r.js +1 -0
- package/dist/client/assets/{scroll-area-Da2hNrch.js → scroll-area-BebfgLv6.js} +1 -1
- package/dist/client/assets/{search-input-BZmdDW7A.js → search-input-dmuYGYsk.js} +1 -1
- package/dist/client/assets/{select-JPYD20it.js → select-CePxsPeP.js} +1 -1
- package/dist/client/assets/{select-model-DMVU-2Gx.js → select-model-QQ7yjZl9.js} +2 -2
- package/dist/client/assets/settings-layout-Cd1tdTnr.js +1 -0
- package/dist/client/assets/{shell-layout-DkN8Q_tp.js → shell-layout-BE22YA40.js} +1 -1
- package/dist/client/assets/{skeleton-DPqifXUx.js → skeleton-C9NsUzIb.js} +1 -1
- package/dist/client/assets/{sso-BdiVJFM8.js → sso-QSGlyP2n.js} +1 -1
- package/dist/client/assets/{store-D9lb1Gph.js → store-BB9yi6PD.js} +1 -1
- package/dist/client/assets/store-registry-BSp-W72J.js +2 -0
- package/dist/client/assets/{switch-CVtXvreH.js → switch-VBeL01bM.js} +1 -1
- package/dist/client/assets/{table-C-JSrHQJ.js → table-CQMW-Toa.js} +1 -1
- package/dist/client/assets/{tabs-DtgWLQ6i.js → tabs-DOoLL5wa.js} +1 -1
- package/dist/client/assets/{task-status-DTuLfGhm.js → task-status-vvRP86lz.js} +7 -7
- package/dist/client/assets/{textarea-p_oNKH-r.js → textarea-Ie4QUdo5.js} +1 -1
- package/dist/client/assets/{toggle-group-B6-etMEh.js → toggle-group-C077Smww.js} +1 -1
- package/dist/client/assets/tools-list-UnPsMGhr.js +1 -0
- package/dist/client/assets/{types-BP7V6N8z.js → types-D4PfKOFF.js} +1 -1
- package/dist/client/assets/{use-ai-providers-oN1cKhaJ.js → use-ai-providers-DHuVj1kn.js} +1 -1
- package/dist/client/assets/{use-collections-BTXUmiDi.js → use-collections-DRlHpXQL.js} +1 -1
- package/dist/client/assets/{use-connection-DIvNoxL5.js → use-connection-Cif-LY0f.js} +1 -1
- package/dist/client/assets/{use-copy-D8L6lrfC.js → use-copy-uiSuMvtc.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-DUKkySGS.js → use-create-virtual-mcp-CBpw3zXA.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-BRc3SX00.js → use-decopilot-events-Dpt6CcIN.js} +1 -1
- package/dist/client/assets/{use-delete-connection-IDpzSpRp.js → use-delete-connection-BZmW9ZAz.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-WKRKMI2J.js → use-infinite-scroll-CWlV3gJA.js} +1 -1
- package/dist/client/assets/{use-list-state-Dyh2zhb9.js → use-list-state-BJZWeXjY.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-tZ37UBLL.js → use-mcp-tools-BYVtg7WH.js} +1 -1
- package/dist/client/assets/{use-members-AvAHjkiq.js → use-members-M_p47epa.js} +1 -1
- package/dist/client/assets/{use-mobile-Ctb5URy7.js → use-mobile-CxvYCzu9.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-CLfSU3ru.js → use-navigate-to-agent-CFIKBq0L.js} +1 -1
- package/dist/client/assets/{use-org-sso-CmuM4ieo.js → use-org-sso-CACnH9GQ.js} +1 -1
- package/dist/client/assets/use-organization-roles-o4lVU0iD.js +1 -0
- package/dist/client/assets/{use-organization-settings-dQpmtQzl.js → use-organization-settings-BD9CIHH5.js} +1 -1
- package/dist/client/assets/{use-registry-connections-CP0QI7iA.js → use-registry-connections-DR_etJ2H.js} +1 -1
- package/dist/client/assets/{use-status-sounds-CObwI0DY.js → use-status-sounds-Ce7WandB.js} +1 -1
- package/dist/client/assets/{use-tasks-7rX1bsHL.js → use-tasks-Dpp1DK1f.js} +1 -1
- package/dist/client/assets/{use-view-mode-BkbloGkm.js → use-view-mode-CZPzVaxj.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-CDOk_IIy.js → use-virtual-mcp-0vHwLInn.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-B4w-6TrV.js +1 -0
- package/dist/client/assets/useSuspenseInfiniteQuery-WURyRq6p.js +1 -0
- package/dist/client/assets/{user-lj8QRtGG.js → user-xj80BAo3.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-BiPtlB_S.js → view-mode-toggle-D5CGwPOj.js} +1 -1
- package/dist/client/assets/workflow-CD_DiE5j.js +1 -0
- package/dist/client/assets/workflow-detail-CxWEb-ID.js +1 -0
- package/dist/client/index.html +2 -2
- package/dist/server/cli.js +2 -2
- package/dist/server/node_modules/figures/index.d.ts +279 -0
- package/dist/server/node_modules/figures/index.js +292 -0
- package/dist/server/node_modules/figures/license +9 -0
- package/dist/server/node_modules/figures/package.json +49 -0
- package/dist/server/node_modules/figures/readme.md +337 -0
- package/dist/server/node_modules/ink/build/ansi-tokenizer.d.ts +38 -0
- package/dist/server/node_modules/ink/build/ansi-tokenizer.js +316 -0
- package/dist/server/node_modules/ink/build/ansi-tokenizer.js.map +1 -0
- package/dist/server/node_modules/ink/build/apply-styles.js +175 -0
- package/dist/server/node_modules/ink/build/build-layout.js +77 -0
- package/dist/server/node_modules/ink/build/calculate-wrapped-text.js +53 -0
- package/dist/server/node_modules/ink/build/colorize.d.ts +3 -0
- package/dist/server/node_modules/ink/build/colorize.js +48 -0
- package/dist/server/node_modules/ink/build/colorize.js.map +1 -0
- package/dist/server/node_modules/ink/build/components/AccessibilityContext.d.ts +3 -0
- package/dist/server/node_modules/ink/build/components/AccessibilityContext.js +5 -0
- package/dist/server/node_modules/ink/build/components/AccessibilityContext.js.map +1 -0
- package/dist/server/node_modules/ink/build/components/App.d.ts +18 -0
- package/dist/server/node_modules/ink/build/components/App.js +351 -0
- package/dist/server/node_modules/ink/build/components/App.js.map +1 -0
- package/dist/server/node_modules/ink/build/components/AppContext.d.ts +15 -0
- package/dist/server/node_modules/ink/build/components/AppContext.js +11 -0
- package/dist/server/node_modules/ink/build/components/AppContext.js.map +1 -0
- package/dist/server/node_modules/ink/build/components/BackgroundContext.d.ts +4 -0
- package/dist/server/node_modules/ink/build/components/BackgroundContext.js +3 -0
- package/dist/server/node_modules/ink/build/components/BackgroundContext.js.map +1 -0
- package/dist/server/node_modules/ink/build/components/Box.d.ts +117 -0
- package/dist/server/node_modules/ink/build/components/Box.js +34 -0
- package/dist/server/node_modules/ink/build/components/Box.js.map +1 -0
- package/dist/server/node_modules/ink/build/components/Color.js +62 -0
- package/dist/server/node_modules/ink/build/components/Cursor.d.ts +83 -0
- package/dist/server/node_modules/ink/build/components/Cursor.js +53 -0
- package/dist/server/node_modules/ink/build/components/Cursor.js.map +1 -0
- package/dist/server/node_modules/ink/build/components/CursorContext.d.ts +11 -0
- package/dist/server/node_modules/ink/build/components/CursorContext.js +8 -0
- package/dist/server/node_modules/ink/build/components/CursorContext.js.map +1 -0
- package/dist/server/node_modules/ink/build/components/ErrorBoundary.d.ts +18 -0
- package/dist/server/node_modules/ink/build/components/ErrorBoundary.js +23 -0
- package/dist/server/node_modules/ink/build/components/ErrorBoundary.js.map +1 -0
- package/dist/server/node_modules/ink/build/components/ErrorOverview.d.ts +6 -0
- package/dist/server/node_modules/ink/build/components/ErrorOverview.js +84 -0
- package/dist/server/node_modules/ink/build/components/ErrorOverview.js.map +1 -0
- package/dist/server/node_modules/ink/build/components/FocusContext.d.ts +16 -0
- package/dist/server/node_modules/ink/build/components/FocusContext.js +17 -0
- package/dist/server/node_modules/ink/build/components/FocusContext.js.map +1 -0
- package/dist/server/node_modules/ink/build/components/Newline.d.ts +13 -0
- package/dist/server/node_modules/ink/build/components/Newline.js +8 -0
- package/dist/server/node_modules/ink/build/components/Newline.js.map +1 -0
- package/dist/server/node_modules/ink/build/components/Spacer.d.ts +7 -0
- package/dist/server/node_modules/ink/build/components/Spacer.js +11 -0
- package/dist/server/node_modules/ink/build/components/Spacer.js.map +1 -0
- package/dist/server/node_modules/ink/build/components/Static.d.ts +24 -0
- package/dist/server/node_modules/ink/build/components/Static.js +28 -0
- package/dist/server/node_modules/ink/build/components/Static.js.map +1 -0
- package/dist/server/node_modules/ink/build/components/StderrContext.d.ts +15 -0
- package/dist/server/node_modules/ink/build/components/StderrContext.js +13 -0
- package/dist/server/node_modules/ink/build/components/StderrContext.js.map +1 -0
- package/dist/server/node_modules/ink/build/components/StdinContext.d.ts +22 -0
- package/dist/server/node_modules/ink/build/components/StdinContext.js +19 -0
- package/dist/server/node_modules/ink/build/components/StdinContext.js.map +1 -0
- package/dist/server/node_modules/ink/build/components/StdoutContext.d.ts +15 -0
- package/dist/server/node_modules/ink/build/components/StdoutContext.js +13 -0
- package/dist/server/node_modules/ink/build/components/StdoutContext.js.map +1 -0
- package/dist/server/node_modules/ink/build/components/Text.d.ts +55 -0
- package/dist/server/node_modules/ink/build/components/Text.js +50 -0
- package/dist/server/node_modules/ink/build/components/Text.js.map +1 -0
- package/dist/server/node_modules/ink/build/components/Transform.d.ts +16 -0
- package/dist/server/node_modules/ink/build/components/Transform.js +15 -0
- package/dist/server/node_modules/ink/build/components/Transform.js.map +1 -0
- package/dist/server/node_modules/ink/build/cursor-helpers.d.ts +38 -0
- package/dist/server/node_modules/ink/build/cursor-helpers.js +56 -0
- package/dist/server/node_modules/ink/build/cursor-helpers.js.map +1 -0
- package/dist/server/node_modules/ink/build/devtools-window-polyfill.d.ts +1 -0
- package/dist/server/node_modules/ink/build/devtools-window-polyfill.js +65 -0
- package/dist/server/node_modules/ink/build/devtools-window-polyfill.js.map +1 -0
- package/dist/server/node_modules/ink/build/devtools.d.ts +1 -0
- package/dist/server/node_modules/ink/build/devtools.js +11 -0
- package/dist/server/node_modules/ink/build/devtools.js.map +1 -0
- package/dist/server/node_modules/ink/build/dom.d.ts +56 -0
- package/dist/server/node_modules/ink/build/dom.js +124 -0
- package/dist/server/node_modules/ink/build/dom.js.map +1 -0
- package/dist/server/node_modules/ink/build/experimental/apply-style.js +140 -0
- package/dist/server/node_modules/ink/build/experimental/dom.js +123 -0
- package/dist/server/node_modules/ink/build/experimental/output.js +91 -0
- package/dist/server/node_modules/ink/build/experimental/reconciler.js +141 -0
- package/dist/server/node_modules/ink/build/experimental/renderer.js +81 -0
- package/dist/server/node_modules/ink/build/get-max-width.d.ts +3 -0
- package/dist/server/node_modules/ink/build/get-max-width.js +10 -0
- package/dist/server/node_modules/ink/build/get-max-width.js.map +1 -0
- package/dist/server/node_modules/ink/build/hooks/use-app.d.ts +5 -0
- package/dist/server/node_modules/ink/build/hooks/use-app.js +8 -0
- package/dist/server/node_modules/ink/build/hooks/use-app.js.map +1 -0
- package/dist/server/node_modules/ink/build/hooks/use-cursor.d.ts +12 -0
- package/dist/server/node_modules/ink/build/hooks/use-cursor.js +29 -0
- package/dist/server/node_modules/ink/build/hooks/use-cursor.js.map +1 -0
- package/dist/server/node_modules/ink/build/hooks/use-focus-manager.d.ts +28 -0
- package/dist/server/node_modules/ink/build/hooks/use-focus-manager.js +17 -0
- package/dist/server/node_modules/ink/build/hooks/use-focus-manager.js.map +1 -0
- package/dist/server/node_modules/ink/build/hooks/use-focus.d.ts +29 -0
- package/dist/server/node_modules/ink/build/hooks/use-focus.js +42 -0
- package/dist/server/node_modules/ink/build/hooks/use-focus.js.map +1 -0
- package/dist/server/node_modules/ink/build/hooks/use-input.d.ts +131 -0
- package/dist/server/node_modules/ink/build/hooks/use-input.js +124 -0
- package/dist/server/node_modules/ink/build/hooks/use-input.js.map +1 -0
- package/dist/server/node_modules/ink/build/hooks/use-is-screen-reader-enabled.d.ts +5 -0
- package/dist/server/node_modules/ink/build/hooks/use-is-screen-reader-enabled.js +11 -0
- package/dist/server/node_modules/ink/build/hooks/use-is-screen-reader-enabled.js.map +1 -0
- package/dist/server/node_modules/ink/build/hooks/use-stderr.d.ts +5 -0
- package/dist/server/node_modules/ink/build/hooks/use-stderr.js +8 -0
- package/dist/server/node_modules/ink/build/hooks/use-stderr.js.map +1 -0
- package/dist/server/node_modules/ink/build/hooks/use-stdin.d.ts +5 -0
- package/dist/server/node_modules/ink/build/hooks/use-stdin.js +8 -0
- package/dist/server/node_modules/ink/build/hooks/use-stdin.js.map +1 -0
- package/dist/server/node_modules/ink/build/hooks/use-stdout.d.ts +5 -0
- package/dist/server/node_modules/ink/build/hooks/use-stdout.js +8 -0
- package/dist/server/node_modules/ink/build/hooks/use-stdout.js.map +1 -0
- package/dist/server/node_modules/ink/build/hooks/useInput.js +38 -0
- package/dist/server/node_modules/ink/build/index.d.ts +34 -0
- package/dist/server/node_modules/ink/build/index.js +20 -0
- package/dist/server/node_modules/ink/build/index.js.map +1 -0
- package/dist/server/node_modules/ink/build/ink.d.ts +90 -0
- package/dist/server/node_modules/ink/build/ink.js +637 -0
- package/dist/server/node_modules/ink/build/ink.js.map +1 -0
- package/dist/server/node_modules/ink/build/input-parser.d.ts +7 -0
- package/dist/server/node_modules/ink/build/input-parser.js +154 -0
- package/dist/server/node_modules/ink/build/input-parser.js.map +1 -0
- package/dist/server/node_modules/ink/build/instance.js +205 -0
- package/dist/server/node_modules/ink/build/instances.d.ts +3 -0
- package/dist/server/node_modules/ink/build/instances.js +8 -0
- package/dist/server/node_modules/ink/build/instances.js.map +1 -0
- package/dist/server/node_modules/ink/build/kitty-keyboard.d.ts +23 -0
- package/dist/server/node_modules/ink/build/kitty-keyboard.js +32 -0
- package/dist/server/node_modules/ink/build/kitty-keyboard.js.map +1 -0
- package/dist/server/node_modules/ink/build/layout.d.ts +7 -0
- package/dist/server/node_modules/ink/build/layout.js +33 -0
- package/dist/server/node_modules/ink/build/layout.js.map +1 -0
- package/dist/server/node_modules/ink/build/log-update.d.ts +19 -0
- package/dist/server/node_modules/ink/build/log-update.js +242 -0
- package/dist/server/node_modules/ink/build/log-update.js.map +1 -0
- package/dist/server/node_modules/ink/build/measure-element.d.ts +16 -0
- package/dist/server/node_modules/ink/build/measure-element.js +9 -0
- package/dist/server/node_modules/ink/build/measure-element.js.map +1 -0
- package/dist/server/node_modules/ink/build/measure-text.d.ts +6 -0
- package/dist/server/node_modules/ink/build/measure-text.js +21 -0
- package/dist/server/node_modules/ink/build/measure-text.js.map +1 -0
- package/dist/server/node_modules/ink/build/options.d.ts +52 -0
- package/dist/server/node_modules/ink/build/options.js +2 -0
- package/dist/server/node_modules/ink/build/options.js.map +1 -0
- package/dist/server/node_modules/ink/build/output.d.ts +35 -0
- package/dist/server/node_modules/ink/build/output.js +183 -0
- package/dist/server/node_modules/ink/build/output.js.map +1 -0
- package/dist/server/node_modules/ink/build/parse-keypress.d.ts +22 -0
- package/dist/server/node_modules/ink/build/parse-keypress.js +493 -0
- package/dist/server/node_modules/ink/build/parse-keypress.js.map +1 -0
- package/dist/server/node_modules/ink/build/reconciler.d.ts +4 -0
- package/dist/server/node_modules/ink/build/reconciler.js +274 -0
- package/dist/server/node_modules/ink/build/reconciler.js.map +1 -0
- package/dist/server/node_modules/ink/build/render-background.d.ts +4 -0
- package/dist/server/node_modules/ink/build/render-background.js +25 -0
- package/dist/server/node_modules/ink/build/render-background.js.map +1 -0
- package/dist/server/node_modules/ink/build/render-border.d.ts +4 -0
- package/dist/server/node_modules/ink/build/render-border.js +73 -0
- package/dist/server/node_modules/ink/build/render-border.js.map +1 -0
- package/dist/server/node_modules/ink/build/render-node-to-output.d.ts +14 -0
- package/dist/server/node_modules/ink/build/render-node-to-output.js +147 -0
- package/dist/server/node_modules/ink/build/render-node-to-output.js.map +1 -0
- package/dist/server/node_modules/ink/build/render-to-string.d.ts +38 -0
- package/dist/server/node_modules/ink/build/render-to-string.js +115 -0
- package/dist/server/node_modules/ink/build/render-to-string.js.map +1 -0
- package/dist/server/node_modules/ink/build/render.d.ts +121 -0
- package/dist/server/node_modules/ink/build/render.js +55 -0
- package/dist/server/node_modules/ink/build/render.js.map +1 -0
- package/dist/server/node_modules/ink/build/renderer.d.ts +8 -0
- package/dist/server/node_modules/ink/build/renderer.js +55 -0
- package/dist/server/node_modules/ink/build/renderer.js.map +1 -0
- package/dist/server/node_modules/ink/build/sanitize-ansi.d.ts +2 -0
- package/dist/server/node_modules/ink/build/sanitize-ansi.js +27 -0
- package/dist/server/node_modules/ink/build/sanitize-ansi.js.map +1 -0
- package/dist/server/node_modules/ink/build/screen-reader-update.d.ts +13 -0
- package/dist/server/node_modules/ink/build/screen-reader-update.js +38 -0
- package/dist/server/node_modules/ink/build/screen-reader-update.js.map +1 -0
- package/dist/server/node_modules/ink/build/squash-text-nodes.d.ts +3 -0
- package/dist/server/node_modules/ink/build/squash-text-nodes.js +36 -0
- package/dist/server/node_modules/ink/build/squash-text-nodes.js.map +1 -0
- package/dist/server/node_modules/ink/build/styles.d.ts +240 -0
- package/dist/server/node_modules/ink/build/styles.js +232 -0
- package/dist/server/node_modules/ink/build/styles.js.map +1 -0
- package/dist/server/node_modules/ink/build/utils.d.ts +2 -0
- package/dist/server/node_modules/ink/build/utils.js +4 -0
- package/dist/server/node_modules/ink/build/utils.js.map +1 -0
- package/dist/server/node_modules/ink/build/wrap-text.d.ts +3 -0
- package/dist/server/node_modules/ink/build/wrap-text.js +31 -0
- package/dist/server/node_modules/ink/build/wrap-text.js.map +1 -0
- package/dist/server/node_modules/ink/build/write-synchronized.d.ts +4 -0
- package/dist/server/node_modules/ink/build/write-synchronized.js +7 -0
- package/dist/server/node_modules/ink/build/write-synchronized.js.map +1 -0
- package/dist/server/node_modules/ink/license +10 -0
- package/dist/server/node_modules/ink/package.json +201 -0
- package/dist/server/node_modules/ink/readme.md +2636 -0
- package/dist/server/node_modules/onetime/index.d.ts +64 -0
- package/dist/server/node_modules/onetime/index.js +44 -0
- package/dist/server/node_modules/onetime/license +9 -0
- package/dist/server/node_modules/onetime/package.json +43 -0
- package/dist/server/node_modules/onetime/readme.md +94 -0
- package/dist/server/server.js +1 -1
- package/package.json +1 -1
- package/dist/client/assets/SearchMd-VdXbz8fL.js +0 -1
- package/dist/client/assets/XCircle-BiHPX6_R.js +0 -1
- package/dist/client/assets/agent-icon-DCE-D-qC.js +0 -1
- package/dist/client/assets/agents-list-8_yOp3iD.js +0 -1
- package/dist/client/assets/ai-providers-DxQNSEJT.js +0 -1
- package/dist/client/assets/automation-list-row-BWjwKsQ5.js +0 -1
- package/dist/client/assets/automations-D6LOd0hH.js +0 -1
- package/dist/client/assets/collection-detail-BTibo6D3.js +0 -1
- package/dist/client/assets/collection-display-button-CfjJ9SIP.js +0 -1
- package/dist/client/assets/collection-table-wrapper-B4l_6tOy.js +0 -1
- package/dist/client/assets/command-BPSv-8-5.js +0 -1
- package/dist/client/assets/connection-detail-DgKIsKao.js +0 -1
- package/dist/client/assets/connections-rM_I7gvv.js +0 -1
- package/dist/client/assets/dropdown-menu-DO26Q0bD.js +0 -1
- package/dist/client/assets/general-VnUbEBHT.js +0 -1
- package/dist/client/assets/index-DeSgX7LP.css +0 -1
- package/dist/client/assets/members-6PieW-Nu.js +0 -3
- package/dist/client/assets/project-app-view-EMrqjiux.js +0 -1
- package/dist/client/assets/registry-CYL2cMC0.js +0 -2
- package/dist/client/assets/settings-layout-hwviWS6Q.js +0 -1
- package/dist/client/assets/store-registry-DAeO63_G.js +0 -2
- package/dist/client/assets/tools-list-C0RCBhOc.js +0 -1
- package/dist/client/assets/useInfiniteQuery-Ci00Hw-m.js +0 -1
- package/dist/client/assets/workflow-BrBlpNSn.js +0 -1
- package/dist/client/assets/workflow-detail-NqGVn5hy.js +0 -1
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.setTextContent = exports.createTextNode = exports.setAttribute = exports.setStyle = exports.removeChildNode = exports.insertBeforeNode = exports.appendChildNode = exports.createNode = void 0;
|
|
7
|
+
|
|
8
|
+
var _yogaLayoutPrebuilt = _interopRequireDefault(require("yoga-layout-prebuilt"));
|
|
9
|
+
|
|
10
|
+
var _measureText = _interopRequireDefault(require("../measure-text"));
|
|
11
|
+
|
|
12
|
+
var _applyStyle = _interopRequireDefault(require("./apply-style"));
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
// Helper utilities implementing some common DOM methods to simplify reconciliation code
|
|
17
|
+
const createNode = tagName => ({
|
|
18
|
+
nodeName: tagName.toUpperCase(),
|
|
19
|
+
style: {},
|
|
20
|
+
attributes: {},
|
|
21
|
+
childNodes: [],
|
|
22
|
+
parentNode: null,
|
|
23
|
+
textContent: null,
|
|
24
|
+
yogaNode: _yogaLayoutPrebuilt.default.Node.create()
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
exports.createNode = createNode;
|
|
28
|
+
|
|
29
|
+
const appendChildNode = (node, childNode) => {
|
|
30
|
+
if (childNode.parentNode) {
|
|
31
|
+
removeChildNode(childNode.parentNode, childNode);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
childNode.parentNode = node;
|
|
35
|
+
node.childNodes.push(childNode);
|
|
36
|
+
node.yogaNode.insertChild(childNode.yogaNode, node.yogaNode.getChildCount());
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
exports.appendChildNode = appendChildNode;
|
|
40
|
+
|
|
41
|
+
const insertBeforeNode = (node, newChildNode, beforeChildNode) => {
|
|
42
|
+
if (newChildNode.parentNode) {
|
|
43
|
+
removeChildNode(newChildNode.parentNode, newChildNode);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
newChildNode.parentNode = node;
|
|
47
|
+
const index = node.childNodes.indexOf(beforeChildNode);
|
|
48
|
+
|
|
49
|
+
if (index >= 0) {
|
|
50
|
+
node.childNodes.splice(index, 0, newChildNode);
|
|
51
|
+
node.yogaNode.insertChild(newChildNode.yogaNode, index);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
node.childNodes.push(newChildNode);
|
|
56
|
+
node.yogaNode.insertChild(newChildNode.yogaNode, node.yogaNode.getChildCount());
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
exports.insertBeforeNode = insertBeforeNode;
|
|
60
|
+
|
|
61
|
+
const removeChildNode = (node, removeNode) => {
|
|
62
|
+
removeNode.parentNode.yogaNode.removeChild(removeNode.yogaNode);
|
|
63
|
+
removeNode.parentNode = null;
|
|
64
|
+
const index = node.childNodes.indexOf(removeNode);
|
|
65
|
+
|
|
66
|
+
if (index >= 0) {
|
|
67
|
+
node.childNodes.splice(index, 1);
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
exports.removeChildNode = removeChildNode;
|
|
72
|
+
|
|
73
|
+
const setStyle = (node, style) => {
|
|
74
|
+
node.style = style;
|
|
75
|
+
(0, _applyStyle.default)(node.yogaNode, style);
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
exports.setStyle = setStyle;
|
|
79
|
+
|
|
80
|
+
const setAttribute = (node, key, value) => {
|
|
81
|
+
node.attributes[key] = value;
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
exports.setAttribute = setAttribute;
|
|
85
|
+
|
|
86
|
+
const createTextNode = text => {
|
|
87
|
+
const node = {
|
|
88
|
+
nodeName: '#text',
|
|
89
|
+
nodeValue: text,
|
|
90
|
+
yogaNode: _yogaLayoutPrebuilt.default.Node.create()
|
|
91
|
+
};
|
|
92
|
+
setTextContent(node, text);
|
|
93
|
+
return node;
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
exports.createTextNode = createTextNode;
|
|
97
|
+
|
|
98
|
+
const setTextContent = (node, text) => {
|
|
99
|
+
if (typeof text !== 'string') {
|
|
100
|
+
text = String(text);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
let width = 0;
|
|
104
|
+
let height = 0;
|
|
105
|
+
|
|
106
|
+
if (text.length > 0) {
|
|
107
|
+
const dimensions = (0, _measureText.default)(text);
|
|
108
|
+
width = dimensions.width;
|
|
109
|
+
height = dimensions.height;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
if (node.nodeName === '#text') {
|
|
113
|
+
node.nodeValue = text;
|
|
114
|
+
node.yogaNode.setWidth(width);
|
|
115
|
+
node.yogaNode.setHeight(height);
|
|
116
|
+
} else {
|
|
117
|
+
node.textContent = text;
|
|
118
|
+
node.yogaNode.setWidth(node.style.width || width);
|
|
119
|
+
node.yogaNode.setHeight(node.style.height || height);
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
exports.setTextContent = setTextContent;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _stringLength = _interopRequireDefault(require("string-length"));
|
|
9
|
+
|
|
10
|
+
var _sliceAnsi = _interopRequireDefault(require("slice-ansi"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* "Virtual" output class
|
|
16
|
+
*
|
|
17
|
+
* Handles the positioning and saving of the output of each node in the tree.
|
|
18
|
+
* Also responsible for applying transformations to each character of the output.
|
|
19
|
+
*
|
|
20
|
+
* Used to generate the final output of all nodes before writing it to actual output stream (e.g. stdout)
|
|
21
|
+
*/
|
|
22
|
+
class Output {
|
|
23
|
+
constructor({
|
|
24
|
+
width,
|
|
25
|
+
height
|
|
26
|
+
}) {
|
|
27
|
+
this.width = width;
|
|
28
|
+
this.height = height;
|
|
29
|
+
this.writes = []; // Initialize output array with a specific set of rows, so that margin/padding at the bottom is preserved
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
write(x, y, text, {
|
|
33
|
+
transformers
|
|
34
|
+
}) {
|
|
35
|
+
if (!text) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
this.writes.push({
|
|
40
|
+
x,
|
|
41
|
+
y,
|
|
42
|
+
text,
|
|
43
|
+
transformers
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
get() {
|
|
48
|
+
const output = [];
|
|
49
|
+
|
|
50
|
+
for (let y = 0; y < this.height; y++) {
|
|
51
|
+
output.push(' '.repeat(this.width));
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
for (const write of this.writes) {
|
|
55
|
+
const {
|
|
56
|
+
x,
|
|
57
|
+
y,
|
|
58
|
+
text,
|
|
59
|
+
transformers
|
|
60
|
+
} = write;
|
|
61
|
+
const lines = text.split('\n');
|
|
62
|
+
let offsetY = 0;
|
|
63
|
+
|
|
64
|
+
for (let line of lines) {
|
|
65
|
+
const currentLine = output[y + offsetY]; // Line can be missing if `text` is taller than height of pre-initialized `this.output`
|
|
66
|
+
|
|
67
|
+
if (!currentLine) {
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
const length = (0, _stringLength.default)(line);
|
|
72
|
+
|
|
73
|
+
for (const transformer of transformers) {
|
|
74
|
+
line = transformer(line);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
output[y + offsetY] = (0, _sliceAnsi.default)(currentLine, 0, x) + line + (0, _sliceAnsi.default)(currentLine, x + length);
|
|
78
|
+
offsetY++;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
const generatedOutput = output.map(line => line.trimRight()).join('\n');
|
|
83
|
+
return {
|
|
84
|
+
output: generatedOutput,
|
|
85
|
+
height: output.length
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
exports.default = Output;
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _scheduler = require("scheduler");
|
|
9
|
+
|
|
10
|
+
var _reactReconciler = _interopRequireDefault(require("react-reconciler"));
|
|
11
|
+
|
|
12
|
+
var _dom = require("./dom");
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
const NO_CONTEXT = true;
|
|
17
|
+
const hostConfig = {
|
|
18
|
+
schedulePassiveEffects: _scheduler.unstable_scheduleCallback,
|
|
19
|
+
cancelPassiveEffects: _scheduler.unstable_cancelCallback,
|
|
20
|
+
now: Date.now,
|
|
21
|
+
getRootHostContext: () => NO_CONTEXT,
|
|
22
|
+
prepareForCommit: () => {},
|
|
23
|
+
resetAfterCommit: rootNode => {
|
|
24
|
+
// Since renders are throttled at the instance level and <Static> component children
|
|
25
|
+
// are rendered only once and then get deleted, we need an escape hatch to
|
|
26
|
+
// trigger an immediate render to ensure <Static> children are written to output before they get erased
|
|
27
|
+
if (rootNode.isStaticDirty) {
|
|
28
|
+
rootNode.isStaticDirty = false;
|
|
29
|
+
rootNode.onImmediateRender();
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
rootNode.onRender();
|
|
34
|
+
},
|
|
35
|
+
getChildHostContext: () => NO_CONTEXT,
|
|
36
|
+
shouldSetTextContent: (type, props) => {
|
|
37
|
+
return typeof props.children === 'string' || typeof props.children === 'number';
|
|
38
|
+
},
|
|
39
|
+
createInstance: (type, newProps) => {
|
|
40
|
+
const node = (0, _dom.createNode)(type);
|
|
41
|
+
|
|
42
|
+
for (const [key, value] of Object.entries(newProps)) {
|
|
43
|
+
if (key === 'children') {
|
|
44
|
+
if (typeof value === 'string' || typeof value === 'number') {
|
|
45
|
+
if (type === 'div') {
|
|
46
|
+
// Text node must be wrapped in another node, so that text can be aligned within container
|
|
47
|
+
const textNode = (0, _dom.createNode)('div');
|
|
48
|
+
(0, _dom.setTextContent)(textNode, value);
|
|
49
|
+
(0, _dom.appendChildNode)(node, textNode);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
if (type === 'span') {
|
|
53
|
+
(0, _dom.setTextContent)(node, value);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
} else if (key === 'style') {
|
|
57
|
+
(0, _dom.setStyle)(node, value);
|
|
58
|
+
} else if (key === 'unstable__transformChildren') {
|
|
59
|
+
node.unstable__transformChildren = value; // eslint-disable-line camelcase
|
|
60
|
+
} else if (key === 'unstable__static') {
|
|
61
|
+
node.unstable__static = true; // eslint-disable-line camelcase
|
|
62
|
+
} else {
|
|
63
|
+
(0, _dom.setAttribute)(node, key, value);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return node;
|
|
68
|
+
},
|
|
69
|
+
createTextInstance: _dom.createTextNode,
|
|
70
|
+
resetTextContent: node => {
|
|
71
|
+
if (node.textContent) {
|
|
72
|
+
node.textContent = '';
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
if (node.childNodes.length > 0) {
|
|
76
|
+
for (const childNode of node.childNodes) {
|
|
77
|
+
(0, _dom.removeChildNode)(node, childNode);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
getPublicInstance: instance => instance,
|
|
82
|
+
appendInitialChild: _dom.appendChildNode,
|
|
83
|
+
appendChild: _dom.appendChildNode,
|
|
84
|
+
insertBefore: _dom.insertBeforeNode,
|
|
85
|
+
finalizeInitialChildren: (node, type, props, rootNode) => {
|
|
86
|
+
if (node.unstable__static) {
|
|
87
|
+
rootNode.isStaticDirty = true;
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
supportsMutation: true,
|
|
91
|
+
appendChildToContainer: _dom.appendChildNode,
|
|
92
|
+
insertInContainerBefore: _dom.insertBeforeNode,
|
|
93
|
+
removeChildFromContainer: _dom.removeChildNode,
|
|
94
|
+
prepareUpdate: (node, type, oldProps, newProps, rootNode) => {
|
|
95
|
+
if (node.unstable__static) {
|
|
96
|
+
rootNode.isStaticDirty = true;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
return true;
|
|
100
|
+
},
|
|
101
|
+
commitUpdate: (node, updatePayload, type, oldProps, newProps) => {
|
|
102
|
+
for (const [key, value] of Object.entries(newProps)) {
|
|
103
|
+
if (key === 'children') {
|
|
104
|
+
if (typeof value === 'string' || typeof value === 'number') {
|
|
105
|
+
if (type === 'div') {
|
|
106
|
+
// Text node must be wrapped in another node, so that text can be aligned within container
|
|
107
|
+
// If there's no such node, a new one must be created
|
|
108
|
+
if (node.childNodes.length === 0) {
|
|
109
|
+
const textNode = (0, _dom.createNode)('div');
|
|
110
|
+
(0, _dom.setTextContent)(textNode, value);
|
|
111
|
+
(0, _dom.appendChildNode)(node, textNode);
|
|
112
|
+
} else {
|
|
113
|
+
(0, _dom.setTextContent)(node.childNodes[0], value);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
if (type === 'span') {
|
|
118
|
+
(0, _dom.setTextContent)(node, value);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
} else if (key === 'style') {
|
|
122
|
+
(0, _dom.setStyle)(node, value);
|
|
123
|
+
} else if (key === 'unstable__transformChildren') {
|
|
124
|
+
node.unstable__transformChildren = value; // eslint-disable-line camelcase
|
|
125
|
+
} else if (key === 'unstable__static') {
|
|
126
|
+
node.unstable__static = true; // eslint-disable-line camelcase
|
|
127
|
+
} else {
|
|
128
|
+
(0, _dom.setAttribute)(node, key, value);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
commitTextUpdate: (node, oldText, newText) => {
|
|
133
|
+
(0, _dom.setTextContent)(node, newText);
|
|
134
|
+
},
|
|
135
|
+
removeChild: _dom.removeChildNode
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
var _default = (0, _reactReconciler.default)(hostConfig); // eslint-disable-line new-cap
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
exports.default = _default;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _yogaLayoutPrebuilt = _interopRequireDefault(require("yoga-layout-prebuilt"));
|
|
9
|
+
|
|
10
|
+
var _renderNodeToOutput = _interopRequireDefault(require("../render-node-to-output"));
|
|
11
|
+
|
|
12
|
+
var _calculateWrappedText = _interopRequireDefault(require("../calculate-wrapped-text"));
|
|
13
|
+
|
|
14
|
+
var _output = _interopRequireDefault(require("./output"));
|
|
15
|
+
|
|
16
|
+
var _dom = require("./dom");
|
|
17
|
+
|
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
+
|
|
20
|
+
// Since <Static> components can be placed anywhere in the tree, this helper finds and returns them
|
|
21
|
+
const findStaticNode = node => {
|
|
22
|
+
if (node.unstable__static) {
|
|
23
|
+
return node;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
for (const childNode of node.childNodes) {
|
|
27
|
+
if (childNode.unstable__static) {
|
|
28
|
+
return childNode;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (Array.isArray(childNode.childNodes) && childNode.childNodes.length > 0) {
|
|
32
|
+
return findStaticNode(childNode);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
var _default = ({
|
|
38
|
+
terminalWidth = 100
|
|
39
|
+
}) => {
|
|
40
|
+
return node => {
|
|
41
|
+
(0, _dom.setStyle)(node, {
|
|
42
|
+
width: terminalWidth
|
|
43
|
+
});
|
|
44
|
+
node.yogaNode.calculateLayout(_yogaLayoutPrebuilt.default.UNDEFINED, _yogaLayoutPrebuilt.default.UNDEFINED, _yogaLayoutPrebuilt.default.DIRECTION_LTR);
|
|
45
|
+
(0, _calculateWrappedText.default)(node);
|
|
46
|
+
node.yogaNode.calculateLayout(_yogaLayoutPrebuilt.default.UNDEFINED, _yogaLayoutPrebuilt.default.UNDEFINED, _yogaLayoutPrebuilt.default.DIRECTION_LTR);
|
|
47
|
+
const output = new _output.default({
|
|
48
|
+
width: node.yogaNode.getComputedWidth(),
|
|
49
|
+
height: node.yogaNode.getComputedHeight()
|
|
50
|
+
});
|
|
51
|
+
(0, _renderNodeToOutput.default)(node, output, {
|
|
52
|
+
skipStaticElements: true
|
|
53
|
+
});
|
|
54
|
+
const staticNode = findStaticNode(node);
|
|
55
|
+
let staticOutput;
|
|
56
|
+
|
|
57
|
+
if (staticNode) {
|
|
58
|
+
staticOutput = new _output.default({
|
|
59
|
+
width: staticNode.yogaNode.getComputedWidth(),
|
|
60
|
+
height: staticNode.yogaNode.getComputedHeight()
|
|
61
|
+
});
|
|
62
|
+
(0, _renderNodeToOutput.default)(staticNode, staticOutput, {
|
|
63
|
+
skipStaticElements: false
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const {
|
|
68
|
+
output: generatedOutput,
|
|
69
|
+
height: outputHeight
|
|
70
|
+
} = output.get();
|
|
71
|
+
return {
|
|
72
|
+
output: generatedOutput,
|
|
73
|
+
outputHeight,
|
|
74
|
+
// Newline at the end is needed, because static output doesn't have one, so
|
|
75
|
+
// interactive output will override last line of static output
|
|
76
|
+
staticOutput: staticOutput ? `${staticOutput.get().output}\n` : undefined
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
exports.default = _default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import Yoga from 'yoga-layout';
|
|
2
|
+
const getMaxWidth = (yogaNode) => {
|
|
3
|
+
return (yogaNode.getComputedWidth() -
|
|
4
|
+
yogaNode.getComputedPadding(Yoga.EDGE_LEFT) -
|
|
5
|
+
yogaNode.getComputedPadding(Yoga.EDGE_RIGHT) -
|
|
6
|
+
yogaNode.getComputedBorder(Yoga.EDGE_LEFT) -
|
|
7
|
+
yogaNode.getComputedBorder(Yoga.EDGE_RIGHT));
|
|
8
|
+
};
|
|
9
|
+
export default getMaxWidth;
|
|
10
|
+
//# sourceMappingURL=get-max-width.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-max-width.js","sourceRoot":"","sources":["../src/get-max-width.ts"],"names":[],"mappings":"AAAA,OAAO,IAA6B,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,GAAG,CAAC,QAAkB,EAAE,EAAE;IAC1C,OAAO,CACN,QAAQ,CAAC,gBAAgB,EAAE;QAC3B,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC;QAC3C,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;QAC5C,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC;QAC1C,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAC3C,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { useContext } from 'react';
|
|
2
|
+
import AppContext from '../components/AppContext.js';
|
|
3
|
+
/**
|
|
4
|
+
`useApp` is a React hook that exposes a method to manually exit the app (unmount).
|
|
5
|
+
*/
|
|
6
|
+
const useApp = () => useContext(AppContext);
|
|
7
|
+
export default useApp;
|
|
8
|
+
//# sourceMappingURL=use-app.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-app.js","sourceRoot":"","sources":["../../src/hooks/use-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,OAAO,CAAC;AACjC,OAAO,UAAU,MAAM,6BAA6B,CAAC;AAErD;;EAEE;AACF,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC5C,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type CursorPosition } from '../log-update.js';
|
|
2
|
+
/**
|
|
3
|
+
`useCursor` is a React hook that lets you control the terminal cursor position.
|
|
4
|
+
|
|
5
|
+
Setting a cursor position makes the cursor visible at the specified coordinates (relative to the Ink output origin). This is useful for IME (Input Method Editor) support, where the composing character is displayed at the cursor location.
|
|
6
|
+
|
|
7
|
+
Pass `undefined` to hide the cursor.
|
|
8
|
+
*/
|
|
9
|
+
declare const useCursor: () => {
|
|
10
|
+
setCursorPosition: (position: CursorPosition | undefined) => void;
|
|
11
|
+
};
|
|
12
|
+
export default useCursor;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useContext, useRef, useCallback, useInsertionEffect } from 'react';
|
|
2
|
+
import CursorContext from '../components/CursorContext.js';
|
|
3
|
+
/**
|
|
4
|
+
`useCursor` is a React hook that lets you control the terminal cursor position.
|
|
5
|
+
|
|
6
|
+
Setting a cursor position makes the cursor visible at the specified coordinates (relative to the Ink output origin). This is useful for IME (Input Method Editor) support, where the composing character is displayed at the cursor location.
|
|
7
|
+
|
|
8
|
+
Pass `undefined` to hide the cursor.
|
|
9
|
+
*/
|
|
10
|
+
const useCursor = () => {
|
|
11
|
+
const context = useContext(CursorContext);
|
|
12
|
+
const positionRef = useRef(undefined);
|
|
13
|
+
const setCursorPosition = useCallback((position) => {
|
|
14
|
+
positionRef.current = position;
|
|
15
|
+
}, []);
|
|
16
|
+
// Propagate cursor position to log-update only during commit phase.
|
|
17
|
+
// useInsertionEffect runs before resetAfterCommit (which triggers onRender),
|
|
18
|
+
// and does NOT run for abandoned concurrent renders (e.g. suspended components).
|
|
19
|
+
// This prevents cursor state from leaking across render boundaries.
|
|
20
|
+
useInsertionEffect(() => {
|
|
21
|
+
context.setCursorPosition(positionRef.current);
|
|
22
|
+
return () => {
|
|
23
|
+
context.setCursorPosition(undefined);
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
return { setCursorPosition };
|
|
27
|
+
};
|
|
28
|
+
export default useCursor;
|
|
29
|
+
//# sourceMappingURL=use-cursor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-cursor.js","sourceRoot":"","sources":["../../src/hooks/use-cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAC,MAAM,OAAO,CAAC;AAC1E,OAAO,aAAa,MAAM,gCAAgC,CAAC;AAG3D;;;;;;EAME;AACF,MAAM,SAAS,GAAG,GAAG,EAAE;IACtB,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,MAAM,CAA6B,SAAS,CAAC,CAAC;IAElE,MAAM,iBAAiB,GAAG,WAAW,CACpC,CAAC,QAAoC,EAAE,EAAE;QACxC,WAAW,CAAC,OAAO,GAAG,QAAQ,CAAC;IAChC,CAAC,EACD,EAAE,CACF,CAAC;IAEF,oEAAoE;IACpE,6EAA6E;IAC7E,iFAAiF;IACjF,oEAAoE;IACpE,kBAAkB,CAAC,GAAG,EAAE;QACvB,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC/C,OAAO,GAAG,EAAE;YACX,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,EAAC,iBAAiB,EAAC,CAAC;AAC5B,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type Props } from '../components/FocusContext.js';
|
|
2
|
+
type Output = {
|
|
3
|
+
/**
|
|
4
|
+
Enable focus management for all components.
|
|
5
|
+
*/
|
|
6
|
+
enableFocus: Props['enableFocus'];
|
|
7
|
+
/**
|
|
8
|
+
Disable focus management for all components. The currently active component (if there's one) will lose its focus.
|
|
9
|
+
*/
|
|
10
|
+
disableFocus: Props['disableFocus'];
|
|
11
|
+
/**
|
|
12
|
+
Switch focus to the next focusable component. If there's no active component right now, focus will be given to the first focusable component. If the active component is the last in the list of focusable components, focus will be switched to the first focusable component.
|
|
13
|
+
*/
|
|
14
|
+
focusNext: Props['focusNext'];
|
|
15
|
+
/**
|
|
16
|
+
Switch focus to the previous focusable component. If there's no active component right now, focus will be given to the first focusable component. If the active component is the first in the list of focusable components, focus will be switched to the last focusable component.
|
|
17
|
+
*/
|
|
18
|
+
focusPrevious: Props['focusPrevious'];
|
|
19
|
+
/**
|
|
20
|
+
Switch focus to the element with provided `id`. If there's no element with that `id`, focus will be given to the first focusable component.
|
|
21
|
+
*/
|
|
22
|
+
focus: Props['focus'];
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
This hook exposes methods to enable or disable focus management for all components or manually switch focus to the next or previous components.
|
|
26
|
+
*/
|
|
27
|
+
declare const useFocusManager: () => Output;
|
|
28
|
+
export default useFocusManager;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { useContext } from 'react';
|
|
2
|
+
import FocusContext from '../components/FocusContext.js';
|
|
3
|
+
/**
|
|
4
|
+
This hook exposes methods to enable or disable focus management for all components or manually switch focus to the next or previous components.
|
|
5
|
+
*/
|
|
6
|
+
const useFocusManager = () => {
|
|
7
|
+
const focusContext = useContext(FocusContext);
|
|
8
|
+
return {
|
|
9
|
+
enableFocus: focusContext.enableFocus,
|
|
10
|
+
disableFocus: focusContext.disableFocus,
|
|
11
|
+
focusNext: focusContext.focusNext,
|
|
12
|
+
focusPrevious: focusContext.focusPrevious,
|
|
13
|
+
focus: focusContext.focus,
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export default useFocusManager;
|
|
17
|
+
//# sourceMappingURL=use-focus-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-focus-manager.js","sourceRoot":"","sources":["../../src/hooks/use-focus-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,OAAO,CAAC;AACjC,OAAO,YAA0B,MAAM,+BAA+B,CAAC;AA6BvE;;EAEE;AACF,MAAM,eAAe,GAAG,GAAW,EAAE;IACpC,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAE9C,OAAO;QACN,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,YAAY,EAAE,YAAY,CAAC,YAAY;QACvC,SAAS,EAAE,YAAY,CAAC,SAAS;QACjC,aAAa,EAAE,YAAY,CAAC,aAAa;QACzC,KAAK,EAAE,YAAY,CAAC,KAAK;KACzB,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
type Input = {
|
|
2
|
+
/**
|
|
3
|
+
Enable or disable this component's focus, while still maintaining its position in the list of focusable components.
|
|
4
|
+
*/
|
|
5
|
+
isActive?: boolean;
|
|
6
|
+
/**
|
|
7
|
+
Auto-focus this component if there's no active (focused) component right now.
|
|
8
|
+
*/
|
|
9
|
+
autoFocus?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
Assign an ID to this component, so it can be programmatically focused with `focus(id)`.
|
|
12
|
+
*/
|
|
13
|
+
id?: string;
|
|
14
|
+
};
|
|
15
|
+
type Output = {
|
|
16
|
+
/**
|
|
17
|
+
Determines whether this component is focused.
|
|
18
|
+
*/
|
|
19
|
+
isFocused: boolean;
|
|
20
|
+
/**
|
|
21
|
+
Allows focusing a specific element with the provided `id`.
|
|
22
|
+
*/
|
|
23
|
+
focus: (id: string) => void;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
A component that uses the `useFocus` hook becomes "focusable" to Ink, so when the user presses <kbd>Tab</kbd>, Ink will switch focus to this component. If there are multiple components that execute the `useFocus` hook, focus will be given to them in the order in which these components are rendered. This hook returns an object with an `isFocused` boolean property, which determines whether this component is focused.
|
|
27
|
+
*/
|
|
28
|
+
declare const useFocus: ({ isActive, autoFocus, id: customId, }?: Input) => Output;
|
|
29
|
+
export default useFocus;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { useEffect, useContext, useMemo } from 'react';
|
|
2
|
+
import FocusContext from '../components/FocusContext.js';
|
|
3
|
+
import useStdin from './use-stdin.js';
|
|
4
|
+
/**
|
|
5
|
+
A component that uses the `useFocus` hook becomes "focusable" to Ink, so when the user presses <kbd>Tab</kbd>, Ink will switch focus to this component. If there are multiple components that execute the `useFocus` hook, focus will be given to them in the order in which these components are rendered. This hook returns an object with an `isFocused` boolean property, which determines whether this component is focused.
|
|
6
|
+
*/
|
|
7
|
+
const useFocus = ({ isActive = true, autoFocus = false, id: customId, } = {}) => {
|
|
8
|
+
const { isRawModeSupported, setRawMode } = useStdin();
|
|
9
|
+
const { activeId, add, remove, activate, deactivate, focus } = useContext(FocusContext);
|
|
10
|
+
const id = useMemo(() => {
|
|
11
|
+
return customId ?? Math.random().toString().slice(2, 7);
|
|
12
|
+
}, [customId]);
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
add(id, { autoFocus });
|
|
15
|
+
return () => {
|
|
16
|
+
remove(id);
|
|
17
|
+
};
|
|
18
|
+
}, [id, autoFocus]);
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
if (isActive) {
|
|
21
|
+
activate(id);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
deactivate(id);
|
|
25
|
+
}
|
|
26
|
+
}, [isActive, id]);
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
if (!isRawModeSupported || !isActive) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
setRawMode(true);
|
|
32
|
+
return () => {
|
|
33
|
+
setRawMode(false);
|
|
34
|
+
};
|
|
35
|
+
}, [isActive]);
|
|
36
|
+
return {
|
|
37
|
+
isFocused: Boolean(id) && activeId === id,
|
|
38
|
+
focus,
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
export default useFocus;
|
|
42
|
+
//# sourceMappingURL=use-focus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-focus.js","sourceRoot":"","sources":["../../src/hooks/use-focus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAC,MAAM,OAAO,CAAC;AACrD,OAAO,YAAY,MAAM,+BAA+B,CAAC;AACzD,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AA+BtC;;EAEE;AACF,MAAM,QAAQ,GAAG,CAAC,EACjB,QAAQ,GAAG,IAAI,EACf,SAAS,GAAG,KAAK,EACjB,EAAE,EAAE,QAAQ,MACF,EAAE,EAAU,EAAE;IACxB,MAAM,EAAC,kBAAkB,EAAE,UAAU,EAAC,GAAG,QAAQ,EAAE,CAAC;IACpD,MAAM,EAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAC,GACzD,UAAU,CAAC,YAAY,CAAC,CAAC;IAE1B,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;QACvB,OAAO,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,SAAS,CAAC,GAAG,EAAE;QACd,GAAG,CAAC,EAAE,EAAE,EAAC,SAAS,EAAC,CAAC,CAAC;QAErB,OAAO,GAAG,EAAE;YACX,MAAM,CAAC,EAAE,CAAC,CAAC;QACZ,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;IAEpB,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,QAAQ,EAAE,CAAC;YACd,QAAQ,CAAC,EAAE,CAAC,CAAC;QACd,CAAC;aAAM,CAAC;YACP,UAAU,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;IACF,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IAEnB,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,kBAAkB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtC,OAAO;QACR,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,CAAC;QAEjB,OAAO,GAAG,EAAE;YACX,UAAU,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO;QACN,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,QAAQ,KAAK,EAAE;QACzC,KAAK;KACL,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|