decocms 2.309.0 → 2.310.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-DfpOj9uk.js → AlertCircle-Cty0PLzG.js} +1 -1
- package/dist/client/assets/{ArrowNarrowLeft-CGsSFJZH.js → ArrowNarrowLeft-GsAWuH-U.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-DtiNC8xj.js → ArrowUpRight-Ck_tkMu3.js} +1 -1
- package/dist/client/assets/{Check-DXPBjwC9.js → Check-3abToiit.js} +1 -1
- package/dist/client/assets/{CheckCircle-DenvulPR.js → CheckCircle-gN0xOzFk.js} +1 -1
- package/dist/client/assets/{ChevronDown-BzUdsdeu.js → ChevronDown-Du1srzFH.js} +1 -1
- package/dist/client/assets/{ChevronRight-8RBDSI4c.js → ChevronRight-CZd3BLjH.js} +1 -1
- package/dist/client/assets/{ChevronUp-CkOPdM7g.js → ChevronUp-CgHHKXV-.js} +1 -1
- package/dist/client/assets/{Container-B2b9FJMR.js → Container-DV6TDqni.js} +1 -1
- package/dist/client/assets/{DotsVertical-CCxgBVsk.js → DotsVertical-D7_daHaX.js} +1 -1
- package/dist/client/assets/{LinkExternal01-C_eUHFUm.js → LinkExternal01-CLwRaqiP.js} +1 -1
- package/dist/client/assets/{Lock01-SmEMRGOb.js → Lock01-DW1KfF8p.js} +1 -1
- package/dist/client/assets/{Palette-qMNBtXtx.js → Palette-DgoZ3R-C.js} +1 -1
- package/dist/client/assets/{Play-DmVY8R1A.js → Play-ZbM8yAk4.js} +1 -1
- package/dist/client/assets/{Plus-B19lTgl_.js → Plus-xUHEWwhK.js} +1 -1
- package/dist/client/assets/{RefreshCcw01-DDZo1WKt.js → RefreshCcw01-DOURBTJB.js} +1 -1
- package/dist/client/assets/{SearchMd-BvQQOrkm.js → SearchMd-D05lbITN.js} +1 -1
- package/dist/client/assets/{Settings02-CYadYmOF.js → Settings02-YbowrI3C.js} +1 -1
- package/dist/client/assets/{Shield01-GS3q0eea.js → Shield01-C9nMXmPC.js} +1 -1
- package/dist/client/assets/{Star01-BM8AlGEC.js → Star01-Dcuqy8Xk.js} +1 -1
- package/dist/client/assets/{Sun-B2OKfrtR.js → Sun-s1inzqGI.js} +1 -1
- package/dist/client/assets/{Tool01-CIMPkAjR.js → Tool01-BxwtRzVa.js} +1 -1
- package/dist/client/assets/{Trash01-4PBXkXRo.js → Trash01-Bgq8zueU.js} +1 -1
- package/dist/client/assets/{User01-nh8Rby1P.js → User01-C3dKJDdx.js} +1 -1
- package/dist/client/assets/{Users03-CItFKGX1.js → Users03-DBewd1K5.js} +1 -1
- package/dist/client/assets/{X-CGShNfee.js → X-BANQifhl.js} +1 -1
- package/dist/client/assets/{XCircle-CTrtJtfR.js → XCircle-BOat1iVu.js} +1 -1
- package/dist/client/assets/{XClose-BnCJyyB-.js → XClose-B0qkWAhQ.js} +1 -1
- package/dist/client/assets/{Zap-D7WiwjAV.js → Zap-Cq3RtLSB.js} +1 -1
- package/dist/client/assets/{ZapSquare-DhbSIk6a.js → ZapSquare-BajF09ms.js} +1 -1
- package/dist/client/assets/{accordion-CgT_Vu18.js → accordion-Bm-v7xME.js} +1 -1
- package/dist/client/assets/{agent-icon-GBX3RKid.js → agent-icon-SBMo6sYE.js} +1 -1
- package/dist/client/assets/{agents-list--TECSTo0.js → agents-list-GJhbrN0t.js} +1 -1
- package/dist/client/assets/ai-providers-CGGe3rZi.js +1 -0
- package/dist/client/assets/{alert-dialog-CZ6BxFHK.js → alert-dialog-Bht5ffLL.js} +1 -1
- package/dist/client/assets/{auth-catchall-CzFa67HB.js → auth-catchall-BywQWWLa.js} +1 -1
- package/dist/client/assets/{automation-list-row-DC7TfwMb.js → automation-list-row-Bf0t7EtN.js} +1 -1
- package/dist/client/assets/{automations-DPy2yPJ7.js → automations-TTGgZ4_x.js} +1 -1
- package/dist/client/assets/{avatar-BbisflHp.js → avatar-C0tjLWvd.js} +1 -1
- package/dist/client/assets/{badge-B32WzuEH.js → badge-CETVYtBV.js} +1 -1
- package/dist/client/assets/{brand-context-CNm1jHaQ.js → brand-context-BYQ1b567.js} +1 -1
- package/dist/client/assets/{card-DdVfFEw2.js → card-CGYKd1RQ.js} +1 -1
- package/dist/client/assets/{chat-context-BnJMVusJ.js → chat-context-CNhlOw91.js} +1 -1
- package/dist/client/assets/{checkbox-BJiR6nKO.js → checkbox-GOJe-fLe.js} +1 -1
- package/dist/client/assets/{collection-detail-tyzI1jcV.js → collection-detail-D2LL1NRS.js} +1 -1
- package/dist/client/assets/{collection-display-button-Tq0uOlxA.js → collection-display-button-D33z-MiQ.js} +1 -1
- package/dist/client/assets/{collection-search-BBFkmets.js → collection-search-DKsJLeUf.js} +1 -1
- package/dist/client/assets/{collection-search-D62A0L7U.js → collection-search-pRmMMUTu.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-CjFwfKJr.js → collection-table-wrapper-DkvuPVRT.js} +1 -1
- package/dist/client/assets/{collection-tabs--b599n6J.js → collection-tabs-Dm7Azh1U.js} +1 -1
- package/dist/client/assets/{collections-C5AWnYf0.js → collections-CRk11Z8a.js} +1 -1
- package/dist/client/assets/{command-DK-j4arJ.js → command-BUpWRvBK.js} +1 -1
- package/dist/client/assets/{connection-card--P5ycKzL.js → connection-card-D9OhH-Fq.js} +1 -1
- package/dist/client/assets/{connection-detail-CUNWcOPp.js → connection-detail-CQU5Tvmh.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-BeJI6IBg.js → connection-form-helpers-D1bN8HX-.js} +1 -1
- package/dist/client/assets/{connections-DWQtsigZ.js → connections-CgifR5uL.js} +1 -1
- package/dist/client/assets/{constants-CnfWGYKH.js → constants-BCHiURE4.js} +1 -1
- package/dist/client/assets/{constants-sHQufsXI.js → constants-Cp5N7awu.js} +1 -1
- package/dist/client/assets/{dialog-BZytMGON.js → dialog-C67OG62k.js} +1 -1
- package/dist/client/assets/{domain-settings-bUM7Hn2b.js → domain-settings-tkR1Nxgx.js} +1 -1
- package/dist/client/assets/{drawer-D-6kJz55.js → drawer-dxlczq_i.js} +1 -1
- package/dist/client/assets/{dropdown-menu-BpdWPWdq.js → dropdown-menu-CW5XsoI8.js} +1 -1
- package/dist/client/assets/{dynamic-plugin-layout-CZeZv3Kn.js → dynamic-plugin-layout-tEvbHH60.js} +1 -1
- package/dist/client/assets/{empty-state-BQISF-I3.js → empty-state-Ci5HFdKD.js} +1 -1
- package/dist/client/assets/{empty-state-DuLPP0P_.js → empty-state-CmG4puLG.js} +1 -1
- package/dist/client/assets/{extract-connection-data-Bj_pawjK.js → extract-connection-data-hFQpz6Ey.js} +1 -1
- package/dist/client/assets/{features-92AWt8WI.js → features-BVz7FR1H.js} +1 -1
- package/dist/client/assets/{form-Bi1l8-LL.js → form-DPfW-AID.js} +1 -1
- package/dist/client/assets/{general-CJgzv-Wx.js → general-CU3b0SfV.js} +1 -1
- package/dist/client/assets/{index-YDo551Ci.js → index-BFPJC5eE.js} +1 -1
- package/dist/client/assets/{index-gC4su7X_.js → index-C9J0IAed.js} +1 -1
- package/dist/client/assets/{index-Dr1V1Dds.js → index-CKp44BR_.js} +1 -1
- package/dist/client/assets/{index-BheN5Hjz.js → index-CMBuSnHj.js} +1 -1
- package/dist/client/assets/{index-CzZgNQPp.js → index-COeQARzy.js} +1 -1
- package/dist/client/assets/{index-R0jE9KSj.js → index-Cg8Nu4CY.js} +3 -3
- package/dist/client/assets/{index-C39RwBnQ.js → index-ClSJa_a-.js} +1 -1
- package/dist/client/assets/{index-BydJ2WUR.js → index-DGiQyM9G.js} +1 -1
- package/dist/client/assets/index-DP8Jy3jt.js +1 -0
- package/dist/client/assets/{index--ghksYAo.js → index-DS-a6wyz.js} +1 -1
- package/dist/client/assets/{index-C03HvIgQ.js → index-Ddo0iMq6.js} +1 -1
- package/dist/client/assets/{index-DSzBgSpo.js → index-HbxcCsnZ.js} +1 -1
- package/dist/client/assets/{index-CE54Jnz-.js → index-QuRKY5U6.js} +1 -1
- package/dist/client/assets/{index-Cbpr6CGx.js → index-akTmUiSO.js} +1 -1
- package/dist/client/assets/{index-BFIwa8W4.js → index-e7eEqZQD.js} +2 -2
- package/dist/client/assets/{index-BgSyGi69.js → index-hiuu-64i.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-NmUU_rOy.js → infiniteQueryObserver-CHiY1NnZ.js} +1 -1
- package/dist/client/assets/{input-C66FZPPf.js → input-B8x8lV8_.js} +1 -1
- package/dist/client/assets/{integration-icon-fPkSifk0.js → integration-icon-Bfmqyrf_.js} +1 -1
- package/dist/client/assets/{label-BMe1SNEP.js → label-BU7N79Fq.js} +1 -1
- package/dist/client/assets/{layout-DbOAzt16.js → layout-Dnq67rSm.js} +1 -1
- package/dist/client/assets/{lean-canvas-recruit-modal-BP1iZHjy.js → lean-canvas-recruit-modal-C70LSjWJ.js} +1 -1
- package/dist/client/assets/{login-CRXuvxd9.js → login-_Q9L7mst.js} +1 -1
- package/dist/client/assets/{members-BwleeoVp.js → members-D-VFZlys.js} +1 -1
- package/dist/client/assets/{monaco-editor-C457mqYB.js → monaco-editor-BXyi5viY.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-DKl9Ubde.js → monitoring-stats-row-CEoUxcHm.js} +1 -1
- package/dist/client/assets/{oauth-callback-1dC9VVpc.js → oauth-callback-B5dtt4y6.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-BGY5Uat_.js → oauth-callback-ai-provider-Cc_nFPdq.js} +1 -1
- package/dist/client/assets/{onboarding-C1bM-up9.js → onboarding-uWZePAti.js} +1 -1
- package/dist/client/assets/{org-layout-Cll4mSr3.js → org-layout-BK5cWTcx.js} +1 -1
- package/dist/client/assets/{org-plugin-layout-qjkMXyOy.js → org-plugin-layout-C0ezKAgt.js} +1 -1
- package/dist/client/assets/{pair-Bl_sqsCX.js → pair-BTwp6bTc.js} +1 -1
- package/dist/client/assets/{plugin-empty-state-DCQUcDfK.js → plugin-empty-state-CjfGiA5F.js} +1 -1
- package/dist/client/assets/{plugin-header-Deqthnjp.js → plugin-header-D9DU3BMG.js} +1 -1
- package/dist/client/assets/{plugin-layout-m0OkUjnq.js → plugin-layout-DSjok7-L.js} +1 -1
- package/dist/client/assets/{popover-DIqVWKAH.js → popover-3D5jsJh1.js} +1 -1
- package/dist/client/assets/{profile-Ck6jHCNy.js → profile-BdmoV93F.js} +1 -1
- package/dist/client/assets/{project-app-view-D--E6naM.js → project-app-view-CmNwDiw0.js} +1 -1
- package/dist/client/assets/registry-C8zMtgwr.js +2 -0
- package/dist/client/assets/{registry-layout-BaLlt8iJ.js → registry-layout-xyKYdVRG.js} +1 -1
- package/dist/client/assets/{required-auth-layout-4lbvRXP9.js → required-auth-layout-W0nsPTz2.js} +1 -1
- package/dist/client/assets/{reset-password-E281j__o.js → reset-password-BVEdYLL2.js} +1 -1
- package/dist/client/assets/{roles-CG_umLTJ.js → roles-CtNr9Xv_.js} +1 -1
- package/dist/client/assets/{scroll-area-Dpf0WEDP.js → scroll-area-D71z0--k.js} +1 -1
- package/dist/client/assets/{search-input-BcoDzgCL.js → search-input-C1sIJN1c.js} +1 -1
- package/dist/client/assets/{select-CsQfJ0qv.js → select-mWz1b_ZH.js} +1 -1
- package/dist/client/assets/{select-model-Vwe69qWq.js → select-model-tmulvVLX.js} +1 -1
- package/dist/client/assets/{settings-layout-Cw1Oq9lP.js → settings-layout-BqXIUoEI.js} +1 -1
- package/dist/client/assets/{settings-section-Bcn_yZSc.js → settings-section-OvOVUTcw.js} +1 -1
- package/dist/client/assets/{shell-layout-BQPFdNnv.js → shell-layout-5NI7-V2p.js} +1 -1
- package/dist/client/assets/{skeleton-DFE9g6JF.js → skeleton-Bq5_S0j2.js} +1 -1
- package/dist/client/assets/{sso-DFJ1V_Eq.js → sso-CbTsdhS9.js} +1 -1
- package/dist/client/assets/{store-BupAo568.js → store-Dfk_RNXS.js} +1 -1
- package/dist/client/assets/store-registry-Cc1z30ih.js +2 -0
- package/dist/client/assets/{switch-B9pehtZv.js → switch-KcpCgqTm.js} +1 -1
- package/dist/client/assets/{table-CvhbCrhO.js → table-Dcu4orQb.js} +1 -1
- package/dist/client/assets/{tabs-Dxl_bMcE.js → tabs-yr1sdiKv.js} +1 -1
- package/dist/client/assets/{task-status-BWs0NSVc.js → task-status-feSWSO3m.js} +1 -1
- package/dist/client/assets/{textarea-DH2INXqG.js → textarea-B5KVzuoV.js} +1 -1
- package/dist/client/assets/{toggle-group-BKADQha7.js → toggle-group-DhgFoVFU.js} +1 -1
- package/dist/client/assets/{tools-list-CVKmigbN.js → tools-list-B0Yp2GUj.js} +1 -1
- package/dist/client/assets/{tooltip-CzkIRbGJ.js → tooltip-BPT840gf.js} +1 -1
- package/dist/client/assets/{types-CiOXD-c9.js → types-9jOTGnHq.js} +1 -1
- package/dist/client/assets/{use-ai-providers-BSpy6MGb.js → use-ai-providers-D69mlQI8.js} +1 -1
- package/dist/client/assets/{use-collections-BgNhuD43.js → use-collections-DwvEVl8v.js} +1 -1
- package/dist/client/assets/{use-connection-BypaB8s_.js → use-connection-JJHjF6rv.js} +1 -1
- package/dist/client/assets/{use-copy-DUQETT2i.js → use-copy-C9_Hg3HJ.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-Cr6RxP_0.js → use-create-virtual-mcp-D-lXC80m.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-DO41C7Df.js → use-debounced-autosave-DFbpcKm7.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-Bd5bEjkf.js → use-decopilot-events-BcK-yZDw.js} +1 -1
- package/dist/client/assets/{use-delete-connection-v1LXlIsA.js → use-delete-connection-CPz0jmtA.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-QOTO_hJO.js → use-infinite-scroll-B1xILXLP.js} +1 -1
- package/dist/client/assets/{use-list-state-C_A7sIoE.js → use-list-state-BZRsAUdo.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-Dneo9PV9.js → use-mcp-tools-D73stCOo.js} +1 -1
- package/dist/client/assets/{use-members-ClknS2e8.js → use-members-DsN3ITf2.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-jsYNoTy7.js → use-navigate-to-agent-CJDDIver.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-piAjQuqe.js → use-org-auth-client-Bq9q7Hza.js} +1 -1
- package/dist/client/assets/{use-org-sso-BbOiG5xt.js → use-org-sso-D22xZlY0.js} +1 -1
- package/dist/client/assets/{use-organization-roles-DRnvDp6V.js → use-organization-roles-Q3jXj8C7.js} +1 -1
- package/dist/client/assets/{use-organization-settings-Cl63rukI.js → use-organization-settings-DC8b5MPT.js} +1 -1
- package/dist/client/assets/{use-registry-connections-nKQr071c.js → use-registry-connections-XqvUTmE5.js} +1 -1
- package/dist/client/assets/{use-status-sounds-DNBT8d2Q.js → use-status-sounds-CCFuBFY0.js} +1 -1
- package/dist/client/assets/{use-tasks-D6w8iRzc.js → use-tasks-Btt8g-fe.js} +1 -1
- package/dist/client/assets/{use-view-mode-EFwbm8pp.js → use-view-mode-BvotgnsQ.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-BW1ujP1y.js → use-virtual-mcp-BgZ2h4E7.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-DxaE8j48.js +1 -0
- package/dist/client/assets/useSuspenseInfiniteQuery-CgPS4Lvz.js +1 -0
- package/dist/client/assets/{user-B9J8wn-0.js → user-C-74yDDj.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-P1fMVeBh.js → view-mode-toggle-BX0KOixc.js} +1 -1
- package/dist/client/assets/{workflow-Bk-2rBg-.js → workflow-D8djL2VH.js} +1 -1
- package/dist/client/assets/workflow-detail-eNmJkRLG.js +1 -0
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +2 -2
- package/dist/server/node_modules/get-east-asian-width/index.d.ts +60 -0
- package/dist/server/node_modules/get-east-asian-width/index.js +30 -0
- package/dist/server/node_modules/get-east-asian-width/lookup-data.js +18 -0
- package/dist/server/node_modules/get-east-asian-width/lookup.js +135 -0
- package/dist/server/node_modules/get-east-asian-width/package.json +71 -0
- package/dist/server/node_modules/get-east-asian-width/readme.md +65 -0
- package/dist/server/node_modules/get-east-asian-width/utilities.js +24 -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/{figures → ink}/license +1 -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/slice-ansi/index.d.ts +19 -0
- package/dist/server/node_modules/slice-ansi/index.js +260 -0
- package/dist/server/node_modules/{widest-line → slice-ansi}/license +1 -0
- package/dist/server/node_modules/slice-ansi/package.json +59 -0
- package/dist/server/node_modules/slice-ansi/readme.md +54 -0
- package/dist/server/node_modules/slice-ansi/tokenize-ansi.js +752 -0
- package/dist/server/server.js +1 -1
- package/package.json +1 -1
- package/dist/client/assets/ai-providers-C-HLT43p.js +0 -1
- package/dist/client/assets/index-BlefTMU9.js +0 -1
- package/dist/client/assets/registry-DSbGbl6G.js +0 -2
- package/dist/client/assets/store-registry-CHPlZpA7.js +0 -2
- package/dist/client/assets/useInfiniteQuery-B0aJ536b.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-DMQVbZ7w.js +0 -1
- package/dist/client/assets/workflow-detail-cax1DGc8.js +0 -1
- package/dist/server/node_modules/cli-truncate/index.d.ts +0 -118
- package/dist/server/node_modules/cli-truncate/index.js +0 -168
- package/dist/server/node_modules/cli-truncate/package.json +0 -52
- package/dist/server/node_modules/cli-truncate/readme.md +0 -154
- package/dist/server/node_modules/deepmerge/.editorconfig +0 -7
- package/dist/server/node_modules/deepmerge/.eslintcache +0 -1
- package/dist/server/node_modules/deepmerge/changelog.md +0 -167
- package/dist/server/node_modules/deepmerge/dist/cjs.js +0 -133
- package/dist/server/node_modules/deepmerge/dist/umd.js +0 -139
- package/dist/server/node_modules/deepmerge/index.d.ts +0 -20
- package/dist/server/node_modules/deepmerge/index.js +0 -106
- package/dist/server/node_modules/deepmerge/license.txt +0 -21
- package/dist/server/node_modules/deepmerge/package.json +0 -42
- package/dist/server/node_modules/deepmerge/readme.md +0 -264
- package/dist/server/node_modules/deepmerge/rollup.config.js +0 -22
- package/dist/server/node_modules/figures/index.d.ts +0 -279
- package/dist/server/node_modules/figures/index.js +0 -292
- package/dist/server/node_modules/figures/package.json +0 -49
- package/dist/server/node_modules/figures/readme.md +0 -337
- package/dist/server/node_modules/mimic-fn/index.d.ts +0 -54
- package/dist/server/node_modules/mimic-fn/index.js +0 -13
- package/dist/server/node_modules/mimic-fn/license +0 -9
- package/dist/server/node_modules/mimic-fn/package.json +0 -42
- package/dist/server/node_modules/mimic-fn/readme.md +0 -69
- package/dist/server/node_modules/pg-int8/LICENSE +0 -13
- package/dist/server/node_modules/pg-int8/README.md +0 -16
- package/dist/server/node_modules/pg-int8/index.js +0 -100
- package/dist/server/node_modules/pg-int8/package.json +0 -24
- package/dist/server/node_modules/postgres-array/index.d.ts +0 -4
- package/dist/server/node_modules/postgres-array/index.js +0 -97
- package/dist/server/node_modules/postgres-array/license +0 -21
- package/dist/server/node_modules/postgres-array/package.json +0 -35
- package/dist/server/node_modules/postgres-array/readme.md +0 -43
- package/dist/server/node_modules/postgres-bytea/index.js +0 -33
- package/dist/server/node_modules/postgres-bytea/license +0 -21
- package/dist/server/node_modules/postgres-bytea/package.json +0 -34
- package/dist/server/node_modules/postgres-bytea/readme.md +0 -34
- package/dist/server/node_modules/postgres-date/index.js +0 -116
- package/dist/server/node_modules/postgres-date/license +0 -21
- package/dist/server/node_modules/postgres-date/package.json +0 -33
- package/dist/server/node_modules/postgres-date/readme.md +0 -49
- package/dist/server/node_modules/postgres-interval/index.d.ts +0 -20
- package/dist/server/node_modules/postgres-interval/index.js +0 -125
- package/dist/server/node_modules/postgres-interval/license +0 -21
- package/dist/server/node_modules/postgres-interval/package.json +0 -36
- package/dist/server/node_modules/postgres-interval/readme.md +0 -48
- package/dist/server/node_modules/split2/LICENSE +0 -13
- package/dist/server/node_modules/split2/README.md +0 -85
- package/dist/server/node_modules/split2/bench.js +0 -27
- package/dist/server/node_modules/split2/index.js +0 -141
- package/dist/server/node_modules/split2/package.json +0 -39
- package/dist/server/node_modules/split2/test.js +0 -409
- package/dist/server/node_modules/widest-line/index.d.ts +0 -12
- package/dist/server/node_modules/widest-line/index.js +0 -11
- package/dist/server/node_modules/widest-line/package.json +0 -60
- package/dist/server/node_modules/widest-line/readme.md +0 -26
- package/dist/server/node_modules/xtend/.jshintrc +0 -30
- package/dist/server/node_modules/xtend/LICENSE +0 -20
- package/dist/server/node_modules/xtend/README.md +0 -32
- package/dist/server/node_modules/xtend/immutable.js +0 -19
- package/dist/server/node_modules/xtend/mutable.js +0 -17
- package/dist/server/node_modules/xtend/package.json +0 -55
- package/dist/server/node_modules/xtend/test.js +0 -103
- /package/dist/server/node_modules/{cli-truncate → get-east-asian-width}/license +0 -0
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ambiguousRanges,
|
|
3
|
+
fullwidthRanges,
|
|
4
|
+
halfwidthRanges,
|
|
5
|
+
narrowRanges,
|
|
6
|
+
wideRanges,
|
|
7
|
+
} from './lookup-data.js';
|
|
8
|
+
import {isInRange} from './utilities.js';
|
|
9
|
+
|
|
10
|
+
const minimumAmbiguousCodePoint = ambiguousRanges[0];
|
|
11
|
+
const maximumAmbiguousCodePoint = ambiguousRanges.at(-1);
|
|
12
|
+
const minimumFullWidthCodePoint = fullwidthRanges[0];
|
|
13
|
+
const maximumFullWidthCodePoint = fullwidthRanges.at(-1);
|
|
14
|
+
const minimumHalfWidthCodePoint = halfwidthRanges[0];
|
|
15
|
+
const maximumHalfWidthCodePoint = halfwidthRanges.at(-1);
|
|
16
|
+
const minimumNarrowCodePoint = narrowRanges[0];
|
|
17
|
+
const maximumNarrowCodePoint = narrowRanges.at(-1);
|
|
18
|
+
const minimumWideCodePoint = wideRanges[0];
|
|
19
|
+
const maximumWideCodePoint = wideRanges.at(-1);
|
|
20
|
+
|
|
21
|
+
const commonCjkCodePoint = 0x4E_00;
|
|
22
|
+
const [wideFastPathStart, wideFastPathEnd] = findWideFastPathRange(wideRanges);
|
|
23
|
+
|
|
24
|
+
// Use a hot-path range so common `isWide` calls can skip binary search.
|
|
25
|
+
// The range containing U+4E00 covers common CJK ideographs;
|
|
26
|
+
// fallback to the largest range for resilience to Unicode table changes.
|
|
27
|
+
function findWideFastPathRange(ranges) {
|
|
28
|
+
let fastPathStart = ranges[0];
|
|
29
|
+
let fastPathEnd = ranges[1];
|
|
30
|
+
|
|
31
|
+
for (let index = 0; index < ranges.length; index += 2) {
|
|
32
|
+
const start = ranges[index];
|
|
33
|
+
const end = ranges[index + 1];
|
|
34
|
+
|
|
35
|
+
if (
|
|
36
|
+
commonCjkCodePoint >= start
|
|
37
|
+
&& commonCjkCodePoint <= end
|
|
38
|
+
) {
|
|
39
|
+
return [start, end];
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
if ((end - start) > (fastPathEnd - fastPathStart)) {
|
|
43
|
+
fastPathStart = start;
|
|
44
|
+
fastPathEnd = end;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return [fastPathStart, fastPathEnd];
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export const isAmbiguous = codePoint => {
|
|
52
|
+
if (
|
|
53
|
+
codePoint < minimumAmbiguousCodePoint
|
|
54
|
+
|| codePoint > maximumAmbiguousCodePoint
|
|
55
|
+
) {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return isInRange(ambiguousRanges, codePoint);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export const isFullWidth = codePoint => {
|
|
63
|
+
if (
|
|
64
|
+
codePoint < minimumFullWidthCodePoint
|
|
65
|
+
|| codePoint > maximumFullWidthCodePoint
|
|
66
|
+
) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return isInRange(fullwidthRanges, codePoint);
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
const isHalfWidth = codePoint => {
|
|
74
|
+
if (
|
|
75
|
+
codePoint < minimumHalfWidthCodePoint
|
|
76
|
+
|| codePoint > maximumHalfWidthCodePoint
|
|
77
|
+
) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
return isInRange(halfwidthRanges, codePoint);
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
const isNarrow = codePoint => {
|
|
85
|
+
if (
|
|
86
|
+
codePoint < minimumNarrowCodePoint
|
|
87
|
+
|| codePoint > maximumNarrowCodePoint
|
|
88
|
+
) {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
return isInRange(narrowRanges, codePoint);
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
export const isWide = codePoint => {
|
|
96
|
+
if (
|
|
97
|
+
codePoint >= wideFastPathStart
|
|
98
|
+
&& codePoint <= wideFastPathEnd
|
|
99
|
+
) {
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
if (
|
|
104
|
+
codePoint < minimumWideCodePoint
|
|
105
|
+
|| codePoint > maximumWideCodePoint
|
|
106
|
+
) {
|
|
107
|
+
return false;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
return isInRange(wideRanges, codePoint);
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
export function getCategory(codePoint) {
|
|
114
|
+
if (isAmbiguous(codePoint)) {
|
|
115
|
+
return 'ambiguous';
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
if (isFullWidth(codePoint)) {
|
|
119
|
+
return 'fullwidth';
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
if (isHalfWidth(codePoint)) {
|
|
123
|
+
return 'halfwidth';
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
if (isNarrow(codePoint)) {
|
|
127
|
+
return 'narrow';
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
if (isWide(codePoint)) {
|
|
131
|
+
return 'wide';
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
return 'neutral';
|
|
135
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "get-east-asian-width",
|
|
3
|
+
"version": "1.5.0",
|
|
4
|
+
"description": "Determine the East Asian Width of a Unicode character",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": "sindresorhus/get-east-asian-width",
|
|
7
|
+
"funding": "https://github.com/sponsors/sindresorhus",
|
|
8
|
+
"author": {
|
|
9
|
+
"name": "Sindre Sorhus",
|
|
10
|
+
"email": "sindresorhus@gmail.com",
|
|
11
|
+
"url": "https://sindresorhus.com"
|
|
12
|
+
},
|
|
13
|
+
"type": "module",
|
|
14
|
+
"exports": {
|
|
15
|
+
"types": "./index.d.ts",
|
|
16
|
+
"default": "./index.js"
|
|
17
|
+
},
|
|
18
|
+
"sideEffects": false,
|
|
19
|
+
"engines": {
|
|
20
|
+
"node": ">=18"
|
|
21
|
+
},
|
|
22
|
+
"scripts": {
|
|
23
|
+
"test": "xo && ava && tsc index.d.ts",
|
|
24
|
+
"build": "node scripts/build.js",
|
|
25
|
+
"prepublish": "npm run build"
|
|
26
|
+
},
|
|
27
|
+
"files": [
|
|
28
|
+
"index.js",
|
|
29
|
+
"index.d.ts",
|
|
30
|
+
"lookup.js",
|
|
31
|
+
"lookup-data.js",
|
|
32
|
+
"utilities.js"
|
|
33
|
+
],
|
|
34
|
+
"keywords": [
|
|
35
|
+
"unicode",
|
|
36
|
+
"east-asian-width",
|
|
37
|
+
"eastasianwidth",
|
|
38
|
+
"character",
|
|
39
|
+
"string",
|
|
40
|
+
"width",
|
|
41
|
+
"text",
|
|
42
|
+
"layout",
|
|
43
|
+
"alignment",
|
|
44
|
+
"fullwidth",
|
|
45
|
+
"halfwidth",
|
|
46
|
+
"ambiguous",
|
|
47
|
+
"narrow",
|
|
48
|
+
"wide",
|
|
49
|
+
"neutral",
|
|
50
|
+
"typography",
|
|
51
|
+
"japanese",
|
|
52
|
+
"chinese",
|
|
53
|
+
"korean",
|
|
54
|
+
"codepoint",
|
|
55
|
+
"text-processing",
|
|
56
|
+
"i18n",
|
|
57
|
+
"l10n"
|
|
58
|
+
],
|
|
59
|
+
"devDependencies": {
|
|
60
|
+
"ava": "^5.3.1",
|
|
61
|
+
"outdent": "^0.8.0",
|
|
62
|
+
"simplify-ranges": "^0.1.0",
|
|
63
|
+
"typescript": "^5.2.2",
|
|
64
|
+
"xo": "^0.56.0"
|
|
65
|
+
},
|
|
66
|
+
"xo": {
|
|
67
|
+
"ignores": [
|
|
68
|
+
"lookup-data.js"
|
|
69
|
+
]
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# get-east-asian-width
|
|
2
|
+
|
|
3
|
+
> Determine the [East Asian Width](https://unicode.org/reports/tr11/) of a Unicode character
|
|
4
|
+
|
|
5
|
+
> East Asian Width categorizes Unicode characters based on their occupied space in East Asian typography, which helps in text layout and alignment, particularly in languages like Japanese, Chinese, and Korean.
|
|
6
|
+
|
|
7
|
+
Unlike other similar packages, this package uses the latest Unicode data (which changes each year).
|
|
8
|
+
|
|
9
|
+
## Install
|
|
10
|
+
|
|
11
|
+
```sh
|
|
12
|
+
npm install get-east-asian-width
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
```js
|
|
18
|
+
import {eastAsianWidth, eastAsianWidthType} from 'get-east-asian-width';
|
|
19
|
+
|
|
20
|
+
const codePoint = '字'.codePointAt(0);
|
|
21
|
+
|
|
22
|
+
console.log(eastAsianWidth(codePoint));
|
|
23
|
+
//=> 2
|
|
24
|
+
|
|
25
|
+
console.log(eastAsianWidthType(codePoint));
|
|
26
|
+
//=> 'wide'
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## `eastAsianWidth(codePoint: number, options?: object): 1 | 2`
|
|
30
|
+
|
|
31
|
+
Returns the width as a number for the given code point.
|
|
32
|
+
|
|
33
|
+
### options
|
|
34
|
+
|
|
35
|
+
Type: `object`
|
|
36
|
+
|
|
37
|
+
#### ambiguousAsWide
|
|
38
|
+
|
|
39
|
+
Type: `boolean`\
|
|
40
|
+
Default: `false`
|
|
41
|
+
|
|
42
|
+
Whether to treat an `'ambiguous'` character as wide.
|
|
43
|
+
|
|
44
|
+
```js
|
|
45
|
+
import {eastAsianWidth} from 'get-east-asian-width';
|
|
46
|
+
|
|
47
|
+
const codePoint = '⛣'.codePointAt(0);
|
|
48
|
+
|
|
49
|
+
console.log(eastAsianWidth(codePoint));
|
|
50
|
+
//=> 1
|
|
51
|
+
|
|
52
|
+
console.log(eastAsianWidth(codePoint, {ambiguousAsWide: true}));
|
|
53
|
+
//=> 2
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
> Ambiguous characters behave like wide or narrow characters depending on the context (language tag, script identification, associated font, source of data, or explicit markup; all can provide the context). **If the context cannot be established reliably, they should be treated as narrow characters by default.**
|
|
57
|
+
> - http://www.unicode.org/reports/tr11/
|
|
58
|
+
|
|
59
|
+
## `eastAsianWidthType(codePoint: number): 'fullwidth' | 'halfwidth' | 'wide' | 'narrow' | 'neutral' | 'ambiguous'`
|
|
60
|
+
|
|
61
|
+
Returns the type of “East Asian Width” for the given code point.
|
|
62
|
+
|
|
63
|
+
## Related
|
|
64
|
+
|
|
65
|
+
- [string-width](https://github.com/sindresorhus/string-width) - Get the visual width of a string
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Binary search on a sorted flat array of [start, end] pairs.
|
|
3
|
+
|
|
4
|
+
@param {number[]} ranges - Flat array of inclusive [start, end] range pairs, e.g. [0, 5, 10, 20].
|
|
5
|
+
@param {number} codePoint - The value to search for.
|
|
6
|
+
@returns {boolean} Whether the value falls within any of the ranges.
|
|
7
|
+
*/
|
|
8
|
+
export const isInRange = (ranges, codePoint) => {
|
|
9
|
+
let low = 0;
|
|
10
|
+
let high = Math.floor(ranges.length / 2) - 1;
|
|
11
|
+
while (low <= high) {
|
|
12
|
+
const mid = Math.floor((low + high) / 2);
|
|
13
|
+
const i = mid * 2;
|
|
14
|
+
if (codePoint < ranges[i]) {
|
|
15
|
+
high = mid - 1;
|
|
16
|
+
} else if (codePoint > ranges[i + 1]) {
|
|
17
|
+
low = mid + 1;
|
|
18
|
+
} else {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return false;
|
|
24
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
type ControlStringType = 'osc' | 'dcs' | 'pm' | 'apc' | 'sos';
|
|
2
|
+
type CsiToken = {
|
|
3
|
+
readonly type: 'csi';
|
|
4
|
+
readonly value: string;
|
|
5
|
+
readonly parameterString: string;
|
|
6
|
+
readonly intermediateString: string;
|
|
7
|
+
readonly finalCharacter: string;
|
|
8
|
+
};
|
|
9
|
+
type EscToken = {
|
|
10
|
+
readonly type: 'esc';
|
|
11
|
+
readonly value: string;
|
|
12
|
+
readonly intermediateString: string;
|
|
13
|
+
readonly finalCharacter: string;
|
|
14
|
+
};
|
|
15
|
+
type ControlStringToken = {
|
|
16
|
+
readonly type: ControlStringType;
|
|
17
|
+
readonly value: string;
|
|
18
|
+
};
|
|
19
|
+
type TextToken = {
|
|
20
|
+
readonly type: 'text';
|
|
21
|
+
readonly value: string;
|
|
22
|
+
};
|
|
23
|
+
type StToken = {
|
|
24
|
+
readonly type: 'st';
|
|
25
|
+
readonly value: string;
|
|
26
|
+
};
|
|
27
|
+
type C1Token = {
|
|
28
|
+
readonly type: 'c1';
|
|
29
|
+
readonly value: string;
|
|
30
|
+
};
|
|
31
|
+
type InvalidToken = {
|
|
32
|
+
readonly type: 'invalid';
|
|
33
|
+
readonly value: string;
|
|
34
|
+
};
|
|
35
|
+
export type AnsiToken = TextToken | CsiToken | EscToken | ControlStringToken | StToken | C1Token | InvalidToken;
|
|
36
|
+
export declare const hasAnsiControlCharacters: (text: string) => boolean;
|
|
37
|
+
export declare const tokenizeAnsi: (text: string) => AnsiToken[];
|
|
38
|
+
export {};
|
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
const bellCharacter = '\u0007';
|
|
2
|
+
const escapeCharacter = '\u001B';
|
|
3
|
+
const stringTerminatorCharacter = '\u009C';
|
|
4
|
+
const csiCharacter = '\u009B';
|
|
5
|
+
const oscCharacter = '\u009D';
|
|
6
|
+
const dcsCharacter = '\u0090';
|
|
7
|
+
const pmCharacter = '\u009E';
|
|
8
|
+
const apcCharacter = '\u009F';
|
|
9
|
+
const sosCharacter = '\u0098';
|
|
10
|
+
const isCsiParameterCharacter = (character) => {
|
|
11
|
+
const codePoint = character.codePointAt(0);
|
|
12
|
+
return codePoint !== undefined && codePoint >= 0x30 && codePoint <= 0x3f;
|
|
13
|
+
};
|
|
14
|
+
const isCsiIntermediateCharacter = (character) => {
|
|
15
|
+
const codePoint = character.codePointAt(0);
|
|
16
|
+
return codePoint !== undefined && codePoint >= 0x20 && codePoint <= 0x2f;
|
|
17
|
+
};
|
|
18
|
+
const isCsiFinalCharacter = (character) => {
|
|
19
|
+
const codePoint = character.codePointAt(0);
|
|
20
|
+
return codePoint !== undefined && codePoint >= 0x40 && codePoint <= 0x7e;
|
|
21
|
+
};
|
|
22
|
+
const isEscapeIntermediateCharacter = (character) => {
|
|
23
|
+
const codePoint = character.codePointAt(0);
|
|
24
|
+
return codePoint !== undefined && codePoint >= 0x20 && codePoint <= 0x2f;
|
|
25
|
+
};
|
|
26
|
+
const isEscapeFinalCharacter = (character) => {
|
|
27
|
+
const codePoint = character.codePointAt(0);
|
|
28
|
+
return codePoint !== undefined && codePoint >= 0x30 && codePoint <= 0x7e;
|
|
29
|
+
};
|
|
30
|
+
const isC1ControlCharacter = (character) => {
|
|
31
|
+
const codePoint = character.codePointAt(0);
|
|
32
|
+
return codePoint !== undefined && codePoint >= 0x80 && codePoint <= 0x9f;
|
|
33
|
+
};
|
|
34
|
+
// Standards references:
|
|
35
|
+
// ECMA-48 control functions and CSI byte classes: https://ecma-international.org/publications-and-standards/standards/ecma-48/
|
|
36
|
+
// xterm CSI parameter/intermediate/final format notes: https://invisible-island.net/xterm/ecma-48-parameter-format.html
|
|
37
|
+
// xterm/OSC BEL termination behavior: https://davidrg.github.io/ckwin/dev/ctlseqs.html
|
|
38
|
+
const readCsiSequence = (text, fromIndex) => {
|
|
39
|
+
let index = fromIndex;
|
|
40
|
+
while (index < text.length) {
|
|
41
|
+
const character = text[index];
|
|
42
|
+
if (!isCsiParameterCharacter(character)) {
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
index++;
|
|
46
|
+
}
|
|
47
|
+
const parameterString = text.slice(fromIndex, index);
|
|
48
|
+
const intermediateStartIndex = index;
|
|
49
|
+
while (index < text.length) {
|
|
50
|
+
const character = text[index];
|
|
51
|
+
if (!isCsiIntermediateCharacter(character)) {
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
index++;
|
|
55
|
+
}
|
|
56
|
+
const intermediateString = text.slice(intermediateStartIndex, index);
|
|
57
|
+
const finalCharacter = text[index];
|
|
58
|
+
if (finalCharacter === undefined || !isCsiFinalCharacter(finalCharacter)) {
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
endIndex: index + 1,
|
|
63
|
+
parameterString,
|
|
64
|
+
intermediateString,
|
|
65
|
+
finalCharacter,
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
const findControlStringTerminatorIndex = (text, fromIndex, allowBellTerminator) => {
|
|
69
|
+
for (let index = fromIndex; index < text.length; index++) {
|
|
70
|
+
const character = text[index];
|
|
71
|
+
if (allowBellTerminator && character === bellCharacter) {
|
|
72
|
+
return index + 1;
|
|
73
|
+
}
|
|
74
|
+
if (character === stringTerminatorCharacter) {
|
|
75
|
+
return index + 1;
|
|
76
|
+
}
|
|
77
|
+
if (character === escapeCharacter) {
|
|
78
|
+
const followingCharacter = text[index + 1];
|
|
79
|
+
// Tmux escapes ESC bytes in payload as ESC ESC.
|
|
80
|
+
if (followingCharacter === escapeCharacter) {
|
|
81
|
+
index++;
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
if (followingCharacter === '\\') {
|
|
85
|
+
return index + 2;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return undefined;
|
|
90
|
+
};
|
|
91
|
+
const readEscapeSequence = (text, fromIndex) => {
|
|
92
|
+
let index = fromIndex;
|
|
93
|
+
while (index < text.length) {
|
|
94
|
+
const character = text[index];
|
|
95
|
+
if (!isEscapeIntermediateCharacter(character)) {
|
|
96
|
+
break;
|
|
97
|
+
}
|
|
98
|
+
index++;
|
|
99
|
+
}
|
|
100
|
+
const intermediateString = text.slice(fromIndex, index);
|
|
101
|
+
const finalCharacter = text[index];
|
|
102
|
+
if (finalCharacter === undefined || !isEscapeFinalCharacter(finalCharacter)) {
|
|
103
|
+
return undefined;
|
|
104
|
+
}
|
|
105
|
+
return {
|
|
106
|
+
endIndex: index + 1,
|
|
107
|
+
intermediateString,
|
|
108
|
+
finalCharacter,
|
|
109
|
+
};
|
|
110
|
+
};
|
|
111
|
+
// Centralize control-string rules so ESC and C1 paths do not diverge.
|
|
112
|
+
const getControlStringFromEscapeIntroducer = (character) => {
|
|
113
|
+
switch (character) {
|
|
114
|
+
case ']': {
|
|
115
|
+
return { type: 'osc', allowBellTerminator: true };
|
|
116
|
+
}
|
|
117
|
+
case 'P': {
|
|
118
|
+
return { type: 'dcs', allowBellTerminator: false };
|
|
119
|
+
}
|
|
120
|
+
case '^': {
|
|
121
|
+
return { type: 'pm', allowBellTerminator: false };
|
|
122
|
+
}
|
|
123
|
+
case '_': {
|
|
124
|
+
return { type: 'apc', allowBellTerminator: false };
|
|
125
|
+
}
|
|
126
|
+
case 'X': {
|
|
127
|
+
return { type: 'sos', allowBellTerminator: false };
|
|
128
|
+
}
|
|
129
|
+
default: {
|
|
130
|
+
return undefined;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
const getControlStringFromC1Introducer = (character) => {
|
|
135
|
+
switch (character) {
|
|
136
|
+
case oscCharacter: {
|
|
137
|
+
return { type: 'osc', allowBellTerminator: true };
|
|
138
|
+
}
|
|
139
|
+
case dcsCharacter: {
|
|
140
|
+
return { type: 'dcs', allowBellTerminator: false };
|
|
141
|
+
}
|
|
142
|
+
case pmCharacter: {
|
|
143
|
+
return { type: 'pm', allowBellTerminator: false };
|
|
144
|
+
}
|
|
145
|
+
case apcCharacter: {
|
|
146
|
+
return { type: 'apc', allowBellTerminator: false };
|
|
147
|
+
}
|
|
148
|
+
case sosCharacter: {
|
|
149
|
+
return { type: 'sos', allowBellTerminator: false };
|
|
150
|
+
}
|
|
151
|
+
default: {
|
|
152
|
+
return undefined;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
export const hasAnsiControlCharacters = (text) => {
|
|
157
|
+
if (text.includes(escapeCharacter)) {
|
|
158
|
+
return true;
|
|
159
|
+
}
|
|
160
|
+
for (const character of text) {
|
|
161
|
+
if (isC1ControlCharacter(character)) {
|
|
162
|
+
return true;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
return false;
|
|
166
|
+
};
|
|
167
|
+
const malformedFromIndex = (tokens, text, textStartIndex, fromIndex) => {
|
|
168
|
+
if (fromIndex > textStartIndex) {
|
|
169
|
+
tokens.push({ type: 'text', value: text.slice(textStartIndex, fromIndex) });
|
|
170
|
+
}
|
|
171
|
+
// Treat the remainder as invalid so callers can drop it as one unsafe unit.
|
|
172
|
+
tokens.push({ type: 'invalid', value: text.slice(fromIndex) });
|
|
173
|
+
return tokens;
|
|
174
|
+
};
|
|
175
|
+
export const tokenizeAnsi = (text) => {
|
|
176
|
+
if (!hasAnsiControlCharacters(text)) {
|
|
177
|
+
return [{ type: 'text', value: text }];
|
|
178
|
+
}
|
|
179
|
+
const tokens = [];
|
|
180
|
+
let textStartIndex = 0;
|
|
181
|
+
for (let index = 0; index < text.length;) {
|
|
182
|
+
const character = text[index];
|
|
183
|
+
if (character === undefined) {
|
|
184
|
+
break;
|
|
185
|
+
}
|
|
186
|
+
if (character === escapeCharacter) {
|
|
187
|
+
const followingCharacter = text[index + 1];
|
|
188
|
+
if (followingCharacter === undefined) {
|
|
189
|
+
return malformedFromIndex(tokens, text, textStartIndex, index);
|
|
190
|
+
}
|
|
191
|
+
if (followingCharacter === '[') {
|
|
192
|
+
const csiSequence = readCsiSequence(text, index + 2);
|
|
193
|
+
if (csiSequence === undefined) {
|
|
194
|
+
return malformedFromIndex(tokens, text, textStartIndex, index);
|
|
195
|
+
}
|
|
196
|
+
if (index > textStartIndex) {
|
|
197
|
+
tokens.push({ type: 'text', value: text.slice(textStartIndex, index) });
|
|
198
|
+
}
|
|
199
|
+
tokens.push({
|
|
200
|
+
type: 'csi',
|
|
201
|
+
value: text.slice(index, csiSequence.endIndex),
|
|
202
|
+
parameterString: csiSequence.parameterString,
|
|
203
|
+
intermediateString: csiSequence.intermediateString,
|
|
204
|
+
finalCharacter: csiSequence.finalCharacter,
|
|
205
|
+
});
|
|
206
|
+
index = csiSequence.endIndex;
|
|
207
|
+
textStartIndex = index;
|
|
208
|
+
continue;
|
|
209
|
+
}
|
|
210
|
+
const escapeControlString = getControlStringFromEscapeIntroducer(followingCharacter);
|
|
211
|
+
if (escapeControlString !== undefined) {
|
|
212
|
+
const controlStringTerminatorIndex = findControlStringTerminatorIndex(text, index + 2, escapeControlString.allowBellTerminator);
|
|
213
|
+
if (controlStringTerminatorIndex === undefined) {
|
|
214
|
+
return malformedFromIndex(tokens, text, textStartIndex, index);
|
|
215
|
+
}
|
|
216
|
+
if (index > textStartIndex) {
|
|
217
|
+
tokens.push({ type: 'text', value: text.slice(textStartIndex, index) });
|
|
218
|
+
}
|
|
219
|
+
tokens.push({
|
|
220
|
+
type: escapeControlString.type,
|
|
221
|
+
value: text.slice(index, controlStringTerminatorIndex),
|
|
222
|
+
});
|
|
223
|
+
index = controlStringTerminatorIndex;
|
|
224
|
+
textStartIndex = index;
|
|
225
|
+
continue;
|
|
226
|
+
}
|
|
227
|
+
const escapeSequence = readEscapeSequence(text, index + 1);
|
|
228
|
+
if (escapeSequence === undefined) {
|
|
229
|
+
// Incomplete escape sequences with intermediates are malformed control strings.
|
|
230
|
+
if (isEscapeIntermediateCharacter(followingCharacter)) {
|
|
231
|
+
return malformedFromIndex(tokens, text, textStartIndex, index);
|
|
232
|
+
}
|
|
233
|
+
if (index > textStartIndex) {
|
|
234
|
+
tokens.push({ type: 'text', value: text.slice(textStartIndex, index) });
|
|
235
|
+
}
|
|
236
|
+
// Ignore lone ESC and continue tokenizing the rest.
|
|
237
|
+
index++;
|
|
238
|
+
textStartIndex = index;
|
|
239
|
+
continue;
|
|
240
|
+
}
|
|
241
|
+
if (index > textStartIndex) {
|
|
242
|
+
tokens.push({ type: 'text', value: text.slice(textStartIndex, index) });
|
|
243
|
+
}
|
|
244
|
+
tokens.push({
|
|
245
|
+
type: 'esc',
|
|
246
|
+
value: text.slice(index, escapeSequence.endIndex),
|
|
247
|
+
intermediateString: escapeSequence.intermediateString,
|
|
248
|
+
finalCharacter: escapeSequence.finalCharacter,
|
|
249
|
+
});
|
|
250
|
+
index = escapeSequence.endIndex;
|
|
251
|
+
textStartIndex = index;
|
|
252
|
+
continue;
|
|
253
|
+
}
|
|
254
|
+
if (character === csiCharacter) {
|
|
255
|
+
const csiSequence = readCsiSequence(text, index + 1);
|
|
256
|
+
if (csiSequence === undefined) {
|
|
257
|
+
return malformedFromIndex(tokens, text, textStartIndex, index);
|
|
258
|
+
}
|
|
259
|
+
if (index > textStartIndex) {
|
|
260
|
+
tokens.push({ type: 'text', value: text.slice(textStartIndex, index) });
|
|
261
|
+
}
|
|
262
|
+
tokens.push({
|
|
263
|
+
type: 'csi',
|
|
264
|
+
value: text.slice(index, csiSequence.endIndex),
|
|
265
|
+
parameterString: csiSequence.parameterString,
|
|
266
|
+
intermediateString: csiSequence.intermediateString,
|
|
267
|
+
finalCharacter: csiSequence.finalCharacter,
|
|
268
|
+
});
|
|
269
|
+
index = csiSequence.endIndex;
|
|
270
|
+
textStartIndex = index;
|
|
271
|
+
continue;
|
|
272
|
+
}
|
|
273
|
+
const c1ControlString = getControlStringFromC1Introducer(character);
|
|
274
|
+
if (c1ControlString !== undefined) {
|
|
275
|
+
const controlStringTerminatorIndex = findControlStringTerminatorIndex(text, index + 1, c1ControlString.allowBellTerminator);
|
|
276
|
+
if (controlStringTerminatorIndex === undefined) {
|
|
277
|
+
return malformedFromIndex(tokens, text, textStartIndex, index);
|
|
278
|
+
}
|
|
279
|
+
if (index > textStartIndex) {
|
|
280
|
+
tokens.push({ type: 'text', value: text.slice(textStartIndex, index) });
|
|
281
|
+
}
|
|
282
|
+
tokens.push({
|
|
283
|
+
type: c1ControlString.type,
|
|
284
|
+
value: text.slice(index, controlStringTerminatorIndex),
|
|
285
|
+
});
|
|
286
|
+
index = controlStringTerminatorIndex;
|
|
287
|
+
textStartIndex = index;
|
|
288
|
+
continue;
|
|
289
|
+
}
|
|
290
|
+
if (character === stringTerminatorCharacter) {
|
|
291
|
+
if (index > textStartIndex) {
|
|
292
|
+
tokens.push({ type: 'text', value: text.slice(textStartIndex, index) });
|
|
293
|
+
}
|
|
294
|
+
tokens.push({ type: 'st', value: character });
|
|
295
|
+
index++;
|
|
296
|
+
textStartIndex = index;
|
|
297
|
+
continue;
|
|
298
|
+
}
|
|
299
|
+
// Strip remaining C1 controls as standalone functions.
|
|
300
|
+
if (isC1ControlCharacter(character)) {
|
|
301
|
+
if (index > textStartIndex) {
|
|
302
|
+
tokens.push({ type: 'text', value: text.slice(textStartIndex, index) });
|
|
303
|
+
}
|
|
304
|
+
tokens.push({ type: 'c1', value: character });
|
|
305
|
+
index++;
|
|
306
|
+
textStartIndex = index;
|
|
307
|
+
continue;
|
|
308
|
+
}
|
|
309
|
+
index++;
|
|
310
|
+
}
|
|
311
|
+
if (textStartIndex < text.length) {
|
|
312
|
+
tokens.push({ type: 'text', value: text.slice(textStartIndex) });
|
|
313
|
+
}
|
|
314
|
+
return tokens;
|
|
315
|
+
};
|
|
316
|
+
//# sourceMappingURL=ansi-tokenizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ansi-tokenizer.js","sourceRoot":"","sources":["../src/ansi-tokenizer.ts"],"names":[],"mappings":"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"}
|