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.
Files changed (442) hide show
  1. package/dist/client/assets/{AlertCircle-DfpOj9uk.js → AlertCircle-Cty0PLzG.js} +1 -1
  2. package/dist/client/assets/{ArrowNarrowLeft-CGsSFJZH.js → ArrowNarrowLeft-GsAWuH-U.js} +1 -1
  3. package/dist/client/assets/{ArrowUpRight-DtiNC8xj.js → ArrowUpRight-Ck_tkMu3.js} +1 -1
  4. package/dist/client/assets/{Check-DXPBjwC9.js → Check-3abToiit.js} +1 -1
  5. package/dist/client/assets/{CheckCircle-DenvulPR.js → CheckCircle-gN0xOzFk.js} +1 -1
  6. package/dist/client/assets/{ChevronDown-BzUdsdeu.js → ChevronDown-Du1srzFH.js} +1 -1
  7. package/dist/client/assets/{ChevronRight-8RBDSI4c.js → ChevronRight-CZd3BLjH.js} +1 -1
  8. package/dist/client/assets/{ChevronUp-CkOPdM7g.js → ChevronUp-CgHHKXV-.js} +1 -1
  9. package/dist/client/assets/{Container-B2b9FJMR.js → Container-DV6TDqni.js} +1 -1
  10. package/dist/client/assets/{DotsVertical-CCxgBVsk.js → DotsVertical-D7_daHaX.js} +1 -1
  11. package/dist/client/assets/{LinkExternal01-C_eUHFUm.js → LinkExternal01-CLwRaqiP.js} +1 -1
  12. package/dist/client/assets/{Lock01-SmEMRGOb.js → Lock01-DW1KfF8p.js} +1 -1
  13. package/dist/client/assets/{Palette-qMNBtXtx.js → Palette-DgoZ3R-C.js} +1 -1
  14. package/dist/client/assets/{Play-DmVY8R1A.js → Play-ZbM8yAk4.js} +1 -1
  15. package/dist/client/assets/{Plus-B19lTgl_.js → Plus-xUHEWwhK.js} +1 -1
  16. package/dist/client/assets/{RefreshCcw01-DDZo1WKt.js → RefreshCcw01-DOURBTJB.js} +1 -1
  17. package/dist/client/assets/{SearchMd-BvQQOrkm.js → SearchMd-D05lbITN.js} +1 -1
  18. package/dist/client/assets/{Settings02-CYadYmOF.js → Settings02-YbowrI3C.js} +1 -1
  19. package/dist/client/assets/{Shield01-GS3q0eea.js → Shield01-C9nMXmPC.js} +1 -1
  20. package/dist/client/assets/{Star01-BM8AlGEC.js → Star01-Dcuqy8Xk.js} +1 -1
  21. package/dist/client/assets/{Sun-B2OKfrtR.js → Sun-s1inzqGI.js} +1 -1
  22. package/dist/client/assets/{Tool01-CIMPkAjR.js → Tool01-BxwtRzVa.js} +1 -1
  23. package/dist/client/assets/{Trash01-4PBXkXRo.js → Trash01-Bgq8zueU.js} +1 -1
  24. package/dist/client/assets/{User01-nh8Rby1P.js → User01-C3dKJDdx.js} +1 -1
  25. package/dist/client/assets/{Users03-CItFKGX1.js → Users03-DBewd1K5.js} +1 -1
  26. package/dist/client/assets/{X-CGShNfee.js → X-BANQifhl.js} +1 -1
  27. package/dist/client/assets/{XCircle-CTrtJtfR.js → XCircle-BOat1iVu.js} +1 -1
  28. package/dist/client/assets/{XClose-BnCJyyB-.js → XClose-B0qkWAhQ.js} +1 -1
  29. package/dist/client/assets/{Zap-D7WiwjAV.js → Zap-Cq3RtLSB.js} +1 -1
  30. package/dist/client/assets/{ZapSquare-DhbSIk6a.js → ZapSquare-BajF09ms.js} +1 -1
  31. package/dist/client/assets/{accordion-CgT_Vu18.js → accordion-Bm-v7xME.js} +1 -1
  32. package/dist/client/assets/{agent-icon-GBX3RKid.js → agent-icon-SBMo6sYE.js} +1 -1
  33. package/dist/client/assets/{agents-list--TECSTo0.js → agents-list-GJhbrN0t.js} +1 -1
  34. package/dist/client/assets/ai-providers-CGGe3rZi.js +1 -0
  35. package/dist/client/assets/{alert-dialog-CZ6BxFHK.js → alert-dialog-Bht5ffLL.js} +1 -1
  36. package/dist/client/assets/{auth-catchall-CzFa67HB.js → auth-catchall-BywQWWLa.js} +1 -1
  37. package/dist/client/assets/{automation-list-row-DC7TfwMb.js → automation-list-row-Bf0t7EtN.js} +1 -1
  38. package/dist/client/assets/{automations-DPy2yPJ7.js → automations-TTGgZ4_x.js} +1 -1
  39. package/dist/client/assets/{avatar-BbisflHp.js → avatar-C0tjLWvd.js} +1 -1
  40. package/dist/client/assets/{badge-B32WzuEH.js → badge-CETVYtBV.js} +1 -1
  41. package/dist/client/assets/{brand-context-CNm1jHaQ.js → brand-context-BYQ1b567.js} +1 -1
  42. package/dist/client/assets/{card-DdVfFEw2.js → card-CGYKd1RQ.js} +1 -1
  43. package/dist/client/assets/{chat-context-BnJMVusJ.js → chat-context-CNhlOw91.js} +1 -1
  44. package/dist/client/assets/{checkbox-BJiR6nKO.js → checkbox-GOJe-fLe.js} +1 -1
  45. package/dist/client/assets/{collection-detail-tyzI1jcV.js → collection-detail-D2LL1NRS.js} +1 -1
  46. package/dist/client/assets/{collection-display-button-Tq0uOlxA.js → collection-display-button-D33z-MiQ.js} +1 -1
  47. package/dist/client/assets/{collection-search-BBFkmets.js → collection-search-DKsJLeUf.js} +1 -1
  48. package/dist/client/assets/{collection-search-D62A0L7U.js → collection-search-pRmMMUTu.js} +1 -1
  49. package/dist/client/assets/{collection-table-wrapper-CjFwfKJr.js → collection-table-wrapper-DkvuPVRT.js} +1 -1
  50. package/dist/client/assets/{collection-tabs--b599n6J.js → collection-tabs-Dm7Azh1U.js} +1 -1
  51. package/dist/client/assets/{collections-C5AWnYf0.js → collections-CRk11Z8a.js} +1 -1
  52. package/dist/client/assets/{command-DK-j4arJ.js → command-BUpWRvBK.js} +1 -1
  53. package/dist/client/assets/{connection-card--P5ycKzL.js → connection-card-D9OhH-Fq.js} +1 -1
  54. package/dist/client/assets/{connection-detail-CUNWcOPp.js → connection-detail-CQU5Tvmh.js} +1 -1
  55. package/dist/client/assets/{connection-form-helpers-BeJI6IBg.js → connection-form-helpers-D1bN8HX-.js} +1 -1
  56. package/dist/client/assets/{connections-DWQtsigZ.js → connections-CgifR5uL.js} +1 -1
  57. package/dist/client/assets/{constants-CnfWGYKH.js → constants-BCHiURE4.js} +1 -1
  58. package/dist/client/assets/{constants-sHQufsXI.js → constants-Cp5N7awu.js} +1 -1
  59. package/dist/client/assets/{dialog-BZytMGON.js → dialog-C67OG62k.js} +1 -1
  60. package/dist/client/assets/{domain-settings-bUM7Hn2b.js → domain-settings-tkR1Nxgx.js} +1 -1
  61. package/dist/client/assets/{drawer-D-6kJz55.js → drawer-dxlczq_i.js} +1 -1
  62. package/dist/client/assets/{dropdown-menu-BpdWPWdq.js → dropdown-menu-CW5XsoI8.js} +1 -1
  63. package/dist/client/assets/{dynamic-plugin-layout-CZeZv3Kn.js → dynamic-plugin-layout-tEvbHH60.js} +1 -1
  64. package/dist/client/assets/{empty-state-BQISF-I3.js → empty-state-Ci5HFdKD.js} +1 -1
  65. package/dist/client/assets/{empty-state-DuLPP0P_.js → empty-state-CmG4puLG.js} +1 -1
  66. package/dist/client/assets/{extract-connection-data-Bj_pawjK.js → extract-connection-data-hFQpz6Ey.js} +1 -1
  67. package/dist/client/assets/{features-92AWt8WI.js → features-BVz7FR1H.js} +1 -1
  68. package/dist/client/assets/{form-Bi1l8-LL.js → form-DPfW-AID.js} +1 -1
  69. package/dist/client/assets/{general-CJgzv-Wx.js → general-CU3b0SfV.js} +1 -1
  70. package/dist/client/assets/{index-YDo551Ci.js → index-BFPJC5eE.js} +1 -1
  71. package/dist/client/assets/{index-gC4su7X_.js → index-C9J0IAed.js} +1 -1
  72. package/dist/client/assets/{index-Dr1V1Dds.js → index-CKp44BR_.js} +1 -1
  73. package/dist/client/assets/{index-BheN5Hjz.js → index-CMBuSnHj.js} +1 -1
  74. package/dist/client/assets/{index-CzZgNQPp.js → index-COeQARzy.js} +1 -1
  75. package/dist/client/assets/{index-R0jE9KSj.js → index-Cg8Nu4CY.js} +3 -3
  76. package/dist/client/assets/{index-C39RwBnQ.js → index-ClSJa_a-.js} +1 -1
  77. package/dist/client/assets/{index-BydJ2WUR.js → index-DGiQyM9G.js} +1 -1
  78. package/dist/client/assets/index-DP8Jy3jt.js +1 -0
  79. package/dist/client/assets/{index--ghksYAo.js → index-DS-a6wyz.js} +1 -1
  80. package/dist/client/assets/{index-C03HvIgQ.js → index-Ddo0iMq6.js} +1 -1
  81. package/dist/client/assets/{index-DSzBgSpo.js → index-HbxcCsnZ.js} +1 -1
  82. package/dist/client/assets/{index-CE54Jnz-.js → index-QuRKY5U6.js} +1 -1
  83. package/dist/client/assets/{index-Cbpr6CGx.js → index-akTmUiSO.js} +1 -1
  84. package/dist/client/assets/{index-BFIwa8W4.js → index-e7eEqZQD.js} +2 -2
  85. package/dist/client/assets/{index-BgSyGi69.js → index-hiuu-64i.js} +1 -1
  86. package/dist/client/assets/{infiniteQueryObserver-NmUU_rOy.js → infiniteQueryObserver-CHiY1NnZ.js} +1 -1
  87. package/dist/client/assets/{input-C66FZPPf.js → input-B8x8lV8_.js} +1 -1
  88. package/dist/client/assets/{integration-icon-fPkSifk0.js → integration-icon-Bfmqyrf_.js} +1 -1
  89. package/dist/client/assets/{label-BMe1SNEP.js → label-BU7N79Fq.js} +1 -1
  90. package/dist/client/assets/{layout-DbOAzt16.js → layout-Dnq67rSm.js} +1 -1
  91. package/dist/client/assets/{lean-canvas-recruit-modal-BP1iZHjy.js → lean-canvas-recruit-modal-C70LSjWJ.js} +1 -1
  92. package/dist/client/assets/{login-CRXuvxd9.js → login-_Q9L7mst.js} +1 -1
  93. package/dist/client/assets/{members-BwleeoVp.js → members-D-VFZlys.js} +1 -1
  94. package/dist/client/assets/{monaco-editor-C457mqYB.js → monaco-editor-BXyi5viY.js} +1 -1
  95. package/dist/client/assets/{monitoring-stats-row-DKl9Ubde.js → monitoring-stats-row-CEoUxcHm.js} +1 -1
  96. package/dist/client/assets/{oauth-callback-1dC9VVpc.js → oauth-callback-B5dtt4y6.js} +1 -1
  97. package/dist/client/assets/{oauth-callback-ai-provider-BGY5Uat_.js → oauth-callback-ai-provider-Cc_nFPdq.js} +1 -1
  98. package/dist/client/assets/{onboarding-C1bM-up9.js → onboarding-uWZePAti.js} +1 -1
  99. package/dist/client/assets/{org-layout-Cll4mSr3.js → org-layout-BK5cWTcx.js} +1 -1
  100. package/dist/client/assets/{org-plugin-layout-qjkMXyOy.js → org-plugin-layout-C0ezKAgt.js} +1 -1
  101. package/dist/client/assets/{pair-Bl_sqsCX.js → pair-BTwp6bTc.js} +1 -1
  102. package/dist/client/assets/{plugin-empty-state-DCQUcDfK.js → plugin-empty-state-CjfGiA5F.js} +1 -1
  103. package/dist/client/assets/{plugin-header-Deqthnjp.js → plugin-header-D9DU3BMG.js} +1 -1
  104. package/dist/client/assets/{plugin-layout-m0OkUjnq.js → plugin-layout-DSjok7-L.js} +1 -1
  105. package/dist/client/assets/{popover-DIqVWKAH.js → popover-3D5jsJh1.js} +1 -1
  106. package/dist/client/assets/{profile-Ck6jHCNy.js → profile-BdmoV93F.js} +1 -1
  107. package/dist/client/assets/{project-app-view-D--E6naM.js → project-app-view-CmNwDiw0.js} +1 -1
  108. package/dist/client/assets/registry-C8zMtgwr.js +2 -0
  109. package/dist/client/assets/{registry-layout-BaLlt8iJ.js → registry-layout-xyKYdVRG.js} +1 -1
  110. package/dist/client/assets/{required-auth-layout-4lbvRXP9.js → required-auth-layout-W0nsPTz2.js} +1 -1
  111. package/dist/client/assets/{reset-password-E281j__o.js → reset-password-BVEdYLL2.js} +1 -1
  112. package/dist/client/assets/{roles-CG_umLTJ.js → roles-CtNr9Xv_.js} +1 -1
  113. package/dist/client/assets/{scroll-area-Dpf0WEDP.js → scroll-area-D71z0--k.js} +1 -1
  114. package/dist/client/assets/{search-input-BcoDzgCL.js → search-input-C1sIJN1c.js} +1 -1
  115. package/dist/client/assets/{select-CsQfJ0qv.js → select-mWz1b_ZH.js} +1 -1
  116. package/dist/client/assets/{select-model-Vwe69qWq.js → select-model-tmulvVLX.js} +1 -1
  117. package/dist/client/assets/{settings-layout-Cw1Oq9lP.js → settings-layout-BqXIUoEI.js} +1 -1
  118. package/dist/client/assets/{settings-section-Bcn_yZSc.js → settings-section-OvOVUTcw.js} +1 -1
  119. package/dist/client/assets/{shell-layout-BQPFdNnv.js → shell-layout-5NI7-V2p.js} +1 -1
  120. package/dist/client/assets/{skeleton-DFE9g6JF.js → skeleton-Bq5_S0j2.js} +1 -1
  121. package/dist/client/assets/{sso-DFJ1V_Eq.js → sso-CbTsdhS9.js} +1 -1
  122. package/dist/client/assets/{store-BupAo568.js → store-Dfk_RNXS.js} +1 -1
  123. package/dist/client/assets/store-registry-Cc1z30ih.js +2 -0
  124. package/dist/client/assets/{switch-B9pehtZv.js → switch-KcpCgqTm.js} +1 -1
  125. package/dist/client/assets/{table-CvhbCrhO.js → table-Dcu4orQb.js} +1 -1
  126. package/dist/client/assets/{tabs-Dxl_bMcE.js → tabs-yr1sdiKv.js} +1 -1
  127. package/dist/client/assets/{task-status-BWs0NSVc.js → task-status-feSWSO3m.js} +1 -1
  128. package/dist/client/assets/{textarea-DH2INXqG.js → textarea-B5KVzuoV.js} +1 -1
  129. package/dist/client/assets/{toggle-group-BKADQha7.js → toggle-group-DhgFoVFU.js} +1 -1
  130. package/dist/client/assets/{tools-list-CVKmigbN.js → tools-list-B0Yp2GUj.js} +1 -1
  131. package/dist/client/assets/{tooltip-CzkIRbGJ.js → tooltip-BPT840gf.js} +1 -1
  132. package/dist/client/assets/{types-CiOXD-c9.js → types-9jOTGnHq.js} +1 -1
  133. package/dist/client/assets/{use-ai-providers-BSpy6MGb.js → use-ai-providers-D69mlQI8.js} +1 -1
  134. package/dist/client/assets/{use-collections-BgNhuD43.js → use-collections-DwvEVl8v.js} +1 -1
  135. package/dist/client/assets/{use-connection-BypaB8s_.js → use-connection-JJHjF6rv.js} +1 -1
  136. package/dist/client/assets/{use-copy-DUQETT2i.js → use-copy-C9_Hg3HJ.js} +1 -1
  137. package/dist/client/assets/{use-create-virtual-mcp-Cr6RxP_0.js → use-create-virtual-mcp-D-lXC80m.js} +1 -1
  138. package/dist/client/assets/{use-debounced-autosave-DO41C7Df.js → use-debounced-autosave-DFbpcKm7.js} +1 -1
  139. package/dist/client/assets/{use-decopilot-events-Bd5bEjkf.js → use-decopilot-events-BcK-yZDw.js} +1 -1
  140. package/dist/client/assets/{use-delete-connection-v1LXlIsA.js → use-delete-connection-CPz0jmtA.js} +1 -1
  141. package/dist/client/assets/{use-infinite-scroll-QOTO_hJO.js → use-infinite-scroll-B1xILXLP.js} +1 -1
  142. package/dist/client/assets/{use-list-state-C_A7sIoE.js → use-list-state-BZRsAUdo.js} +1 -1
  143. package/dist/client/assets/{use-mcp-tools-Dneo9PV9.js → use-mcp-tools-D73stCOo.js} +1 -1
  144. package/dist/client/assets/{use-members-ClknS2e8.js → use-members-DsN3ITf2.js} +1 -1
  145. package/dist/client/assets/{use-navigate-to-agent-jsYNoTy7.js → use-navigate-to-agent-CJDDIver.js} +1 -1
  146. package/dist/client/assets/{use-org-auth-client-piAjQuqe.js → use-org-auth-client-Bq9q7Hza.js} +1 -1
  147. package/dist/client/assets/{use-org-sso-BbOiG5xt.js → use-org-sso-D22xZlY0.js} +1 -1
  148. package/dist/client/assets/{use-organization-roles-DRnvDp6V.js → use-organization-roles-Q3jXj8C7.js} +1 -1
  149. package/dist/client/assets/{use-organization-settings-Cl63rukI.js → use-organization-settings-DC8b5MPT.js} +1 -1
  150. package/dist/client/assets/{use-registry-connections-nKQr071c.js → use-registry-connections-XqvUTmE5.js} +1 -1
  151. package/dist/client/assets/{use-status-sounds-DNBT8d2Q.js → use-status-sounds-CCFuBFY0.js} +1 -1
  152. package/dist/client/assets/{use-tasks-D6w8iRzc.js → use-tasks-Btt8g-fe.js} +1 -1
  153. package/dist/client/assets/{use-view-mode-EFwbm8pp.js → use-view-mode-BvotgnsQ.js} +1 -1
  154. package/dist/client/assets/{use-virtual-mcp-BW1ujP1y.js → use-virtual-mcp-BgZ2h4E7.js} +1 -1
  155. package/dist/client/assets/useInfiniteQuery-DxaE8j48.js +1 -0
  156. package/dist/client/assets/useSuspenseInfiniteQuery-CgPS4Lvz.js +1 -0
  157. package/dist/client/assets/{user-B9J8wn-0.js → user-C-74yDDj.js} +1 -1
  158. package/dist/client/assets/{view-mode-toggle-P1fMVeBh.js → view-mode-toggle-BX0KOixc.js} +1 -1
  159. package/dist/client/assets/{workflow-Bk-2rBg-.js → workflow-D8djL2VH.js} +1 -1
  160. package/dist/client/assets/workflow-detail-eNmJkRLG.js +1 -0
  161. package/dist/client/index.html +1 -1
  162. package/dist/server/cli.js +2 -2
  163. package/dist/server/node_modules/get-east-asian-width/index.d.ts +60 -0
  164. package/dist/server/node_modules/get-east-asian-width/index.js +30 -0
  165. package/dist/server/node_modules/get-east-asian-width/lookup-data.js +18 -0
  166. package/dist/server/node_modules/get-east-asian-width/lookup.js +135 -0
  167. package/dist/server/node_modules/get-east-asian-width/package.json +71 -0
  168. package/dist/server/node_modules/get-east-asian-width/readme.md +65 -0
  169. package/dist/server/node_modules/get-east-asian-width/utilities.js +24 -0
  170. package/dist/server/node_modules/ink/build/ansi-tokenizer.d.ts +38 -0
  171. package/dist/server/node_modules/ink/build/ansi-tokenizer.js +316 -0
  172. package/dist/server/node_modules/ink/build/ansi-tokenizer.js.map +1 -0
  173. package/dist/server/node_modules/ink/build/apply-styles.js +175 -0
  174. package/dist/server/node_modules/ink/build/build-layout.js +77 -0
  175. package/dist/server/node_modules/ink/build/calculate-wrapped-text.js +53 -0
  176. package/dist/server/node_modules/ink/build/colorize.d.ts +3 -0
  177. package/dist/server/node_modules/ink/build/colorize.js +48 -0
  178. package/dist/server/node_modules/ink/build/colorize.js.map +1 -0
  179. package/dist/server/node_modules/ink/build/components/AccessibilityContext.d.ts +3 -0
  180. package/dist/server/node_modules/ink/build/components/AccessibilityContext.js +5 -0
  181. package/dist/server/node_modules/ink/build/components/AccessibilityContext.js.map +1 -0
  182. package/dist/server/node_modules/ink/build/components/App.d.ts +18 -0
  183. package/dist/server/node_modules/ink/build/components/App.js +351 -0
  184. package/dist/server/node_modules/ink/build/components/App.js.map +1 -0
  185. package/dist/server/node_modules/ink/build/components/AppContext.d.ts +15 -0
  186. package/dist/server/node_modules/ink/build/components/AppContext.js +11 -0
  187. package/dist/server/node_modules/ink/build/components/AppContext.js.map +1 -0
  188. package/dist/server/node_modules/ink/build/components/BackgroundContext.d.ts +4 -0
  189. package/dist/server/node_modules/ink/build/components/BackgroundContext.js +3 -0
  190. package/dist/server/node_modules/ink/build/components/BackgroundContext.js.map +1 -0
  191. package/dist/server/node_modules/ink/build/components/Box.d.ts +117 -0
  192. package/dist/server/node_modules/ink/build/components/Box.js +34 -0
  193. package/dist/server/node_modules/ink/build/components/Box.js.map +1 -0
  194. package/dist/server/node_modules/ink/build/components/Color.js +62 -0
  195. package/dist/server/node_modules/ink/build/components/Cursor.d.ts +83 -0
  196. package/dist/server/node_modules/ink/build/components/Cursor.js +53 -0
  197. package/dist/server/node_modules/ink/build/components/Cursor.js.map +1 -0
  198. package/dist/server/node_modules/ink/build/components/CursorContext.d.ts +11 -0
  199. package/dist/server/node_modules/ink/build/components/CursorContext.js +8 -0
  200. package/dist/server/node_modules/ink/build/components/CursorContext.js.map +1 -0
  201. package/dist/server/node_modules/ink/build/components/ErrorBoundary.d.ts +18 -0
  202. package/dist/server/node_modules/ink/build/components/ErrorBoundary.js +23 -0
  203. package/dist/server/node_modules/ink/build/components/ErrorBoundary.js.map +1 -0
  204. package/dist/server/node_modules/ink/build/components/ErrorOverview.d.ts +6 -0
  205. package/dist/server/node_modules/ink/build/components/ErrorOverview.js +84 -0
  206. package/dist/server/node_modules/ink/build/components/ErrorOverview.js.map +1 -0
  207. package/dist/server/node_modules/ink/build/components/FocusContext.d.ts +16 -0
  208. package/dist/server/node_modules/ink/build/components/FocusContext.js +17 -0
  209. package/dist/server/node_modules/ink/build/components/FocusContext.js.map +1 -0
  210. package/dist/server/node_modules/ink/build/components/Newline.d.ts +13 -0
  211. package/dist/server/node_modules/ink/build/components/Newline.js +8 -0
  212. package/dist/server/node_modules/ink/build/components/Newline.js.map +1 -0
  213. package/dist/server/node_modules/ink/build/components/Spacer.d.ts +7 -0
  214. package/dist/server/node_modules/ink/build/components/Spacer.js +11 -0
  215. package/dist/server/node_modules/ink/build/components/Spacer.js.map +1 -0
  216. package/dist/server/node_modules/ink/build/components/Static.d.ts +24 -0
  217. package/dist/server/node_modules/ink/build/components/Static.js +28 -0
  218. package/dist/server/node_modules/ink/build/components/Static.js.map +1 -0
  219. package/dist/server/node_modules/ink/build/components/StderrContext.d.ts +15 -0
  220. package/dist/server/node_modules/ink/build/components/StderrContext.js +13 -0
  221. package/dist/server/node_modules/ink/build/components/StderrContext.js.map +1 -0
  222. package/dist/server/node_modules/ink/build/components/StdinContext.d.ts +22 -0
  223. package/dist/server/node_modules/ink/build/components/StdinContext.js +19 -0
  224. package/dist/server/node_modules/ink/build/components/StdinContext.js.map +1 -0
  225. package/dist/server/node_modules/ink/build/components/StdoutContext.d.ts +15 -0
  226. package/dist/server/node_modules/ink/build/components/StdoutContext.js +13 -0
  227. package/dist/server/node_modules/ink/build/components/StdoutContext.js.map +1 -0
  228. package/dist/server/node_modules/ink/build/components/Text.d.ts +55 -0
  229. package/dist/server/node_modules/ink/build/components/Text.js +50 -0
  230. package/dist/server/node_modules/ink/build/components/Text.js.map +1 -0
  231. package/dist/server/node_modules/ink/build/components/Transform.d.ts +16 -0
  232. package/dist/server/node_modules/ink/build/components/Transform.js +15 -0
  233. package/dist/server/node_modules/ink/build/components/Transform.js.map +1 -0
  234. package/dist/server/node_modules/ink/build/cursor-helpers.d.ts +38 -0
  235. package/dist/server/node_modules/ink/build/cursor-helpers.js +56 -0
  236. package/dist/server/node_modules/ink/build/cursor-helpers.js.map +1 -0
  237. package/dist/server/node_modules/ink/build/devtools-window-polyfill.d.ts +1 -0
  238. package/dist/server/node_modules/ink/build/devtools-window-polyfill.js +65 -0
  239. package/dist/server/node_modules/ink/build/devtools-window-polyfill.js.map +1 -0
  240. package/dist/server/node_modules/ink/build/devtools.d.ts +1 -0
  241. package/dist/server/node_modules/ink/build/devtools.js +11 -0
  242. package/dist/server/node_modules/ink/build/devtools.js.map +1 -0
  243. package/dist/server/node_modules/ink/build/dom.d.ts +56 -0
  244. package/dist/server/node_modules/ink/build/dom.js +124 -0
  245. package/dist/server/node_modules/ink/build/dom.js.map +1 -0
  246. package/dist/server/node_modules/ink/build/experimental/apply-style.js +140 -0
  247. package/dist/server/node_modules/ink/build/experimental/dom.js +123 -0
  248. package/dist/server/node_modules/ink/build/experimental/output.js +91 -0
  249. package/dist/server/node_modules/ink/build/experimental/reconciler.js +141 -0
  250. package/dist/server/node_modules/ink/build/experimental/renderer.js +81 -0
  251. package/dist/server/node_modules/ink/build/get-max-width.d.ts +3 -0
  252. package/dist/server/node_modules/ink/build/get-max-width.js +10 -0
  253. package/dist/server/node_modules/ink/build/get-max-width.js.map +1 -0
  254. package/dist/server/node_modules/ink/build/hooks/use-app.d.ts +5 -0
  255. package/dist/server/node_modules/ink/build/hooks/use-app.js +8 -0
  256. package/dist/server/node_modules/ink/build/hooks/use-app.js.map +1 -0
  257. package/dist/server/node_modules/ink/build/hooks/use-cursor.d.ts +12 -0
  258. package/dist/server/node_modules/ink/build/hooks/use-cursor.js +29 -0
  259. package/dist/server/node_modules/ink/build/hooks/use-cursor.js.map +1 -0
  260. package/dist/server/node_modules/ink/build/hooks/use-focus-manager.d.ts +28 -0
  261. package/dist/server/node_modules/ink/build/hooks/use-focus-manager.js +17 -0
  262. package/dist/server/node_modules/ink/build/hooks/use-focus-manager.js.map +1 -0
  263. package/dist/server/node_modules/ink/build/hooks/use-focus.d.ts +29 -0
  264. package/dist/server/node_modules/ink/build/hooks/use-focus.js +42 -0
  265. package/dist/server/node_modules/ink/build/hooks/use-focus.js.map +1 -0
  266. package/dist/server/node_modules/ink/build/hooks/use-input.d.ts +131 -0
  267. package/dist/server/node_modules/ink/build/hooks/use-input.js +124 -0
  268. package/dist/server/node_modules/ink/build/hooks/use-input.js.map +1 -0
  269. package/dist/server/node_modules/ink/build/hooks/use-is-screen-reader-enabled.d.ts +5 -0
  270. package/dist/server/node_modules/ink/build/hooks/use-is-screen-reader-enabled.js +11 -0
  271. package/dist/server/node_modules/ink/build/hooks/use-is-screen-reader-enabled.js.map +1 -0
  272. package/dist/server/node_modules/ink/build/hooks/use-stderr.d.ts +5 -0
  273. package/dist/server/node_modules/ink/build/hooks/use-stderr.js +8 -0
  274. package/dist/server/node_modules/ink/build/hooks/use-stderr.js.map +1 -0
  275. package/dist/server/node_modules/ink/build/hooks/use-stdin.d.ts +5 -0
  276. package/dist/server/node_modules/ink/build/hooks/use-stdin.js +8 -0
  277. package/dist/server/node_modules/ink/build/hooks/use-stdin.js.map +1 -0
  278. package/dist/server/node_modules/ink/build/hooks/use-stdout.d.ts +5 -0
  279. package/dist/server/node_modules/ink/build/hooks/use-stdout.js +8 -0
  280. package/dist/server/node_modules/ink/build/hooks/use-stdout.js.map +1 -0
  281. package/dist/server/node_modules/ink/build/hooks/useInput.js +38 -0
  282. package/dist/server/node_modules/ink/build/index.d.ts +34 -0
  283. package/dist/server/node_modules/ink/build/index.js +20 -0
  284. package/dist/server/node_modules/ink/build/index.js.map +1 -0
  285. package/dist/server/node_modules/ink/build/ink.d.ts +90 -0
  286. package/dist/server/node_modules/ink/build/ink.js +637 -0
  287. package/dist/server/node_modules/ink/build/ink.js.map +1 -0
  288. package/dist/server/node_modules/ink/build/input-parser.d.ts +7 -0
  289. package/dist/server/node_modules/ink/build/input-parser.js +154 -0
  290. package/dist/server/node_modules/ink/build/input-parser.js.map +1 -0
  291. package/dist/server/node_modules/ink/build/instance.js +205 -0
  292. package/dist/server/node_modules/ink/build/instances.d.ts +3 -0
  293. package/dist/server/node_modules/ink/build/instances.js +8 -0
  294. package/dist/server/node_modules/ink/build/instances.js.map +1 -0
  295. package/dist/server/node_modules/ink/build/kitty-keyboard.d.ts +23 -0
  296. package/dist/server/node_modules/ink/build/kitty-keyboard.js +32 -0
  297. package/dist/server/node_modules/ink/build/kitty-keyboard.js.map +1 -0
  298. package/dist/server/node_modules/ink/build/layout.d.ts +7 -0
  299. package/dist/server/node_modules/ink/build/layout.js +33 -0
  300. package/dist/server/node_modules/ink/build/layout.js.map +1 -0
  301. package/dist/server/node_modules/ink/build/log-update.d.ts +19 -0
  302. package/dist/server/node_modules/ink/build/log-update.js +242 -0
  303. package/dist/server/node_modules/ink/build/log-update.js.map +1 -0
  304. package/dist/server/node_modules/ink/build/measure-element.d.ts +16 -0
  305. package/dist/server/node_modules/ink/build/measure-element.js +9 -0
  306. package/dist/server/node_modules/ink/build/measure-element.js.map +1 -0
  307. package/dist/server/node_modules/ink/build/measure-text.d.ts +6 -0
  308. package/dist/server/node_modules/ink/build/measure-text.js +21 -0
  309. package/dist/server/node_modules/ink/build/measure-text.js.map +1 -0
  310. package/dist/server/node_modules/ink/build/options.d.ts +52 -0
  311. package/dist/server/node_modules/ink/build/options.js +2 -0
  312. package/dist/server/node_modules/ink/build/options.js.map +1 -0
  313. package/dist/server/node_modules/ink/build/output.d.ts +35 -0
  314. package/dist/server/node_modules/ink/build/output.js +183 -0
  315. package/dist/server/node_modules/ink/build/output.js.map +1 -0
  316. package/dist/server/node_modules/ink/build/parse-keypress.d.ts +22 -0
  317. package/dist/server/node_modules/ink/build/parse-keypress.js +493 -0
  318. package/dist/server/node_modules/ink/build/parse-keypress.js.map +1 -0
  319. package/dist/server/node_modules/ink/build/reconciler.d.ts +4 -0
  320. package/dist/server/node_modules/ink/build/reconciler.js +274 -0
  321. package/dist/server/node_modules/ink/build/reconciler.js.map +1 -0
  322. package/dist/server/node_modules/ink/build/render-background.d.ts +4 -0
  323. package/dist/server/node_modules/ink/build/render-background.js +25 -0
  324. package/dist/server/node_modules/ink/build/render-background.js.map +1 -0
  325. package/dist/server/node_modules/ink/build/render-border.d.ts +4 -0
  326. package/dist/server/node_modules/ink/build/render-border.js +73 -0
  327. package/dist/server/node_modules/ink/build/render-border.js.map +1 -0
  328. package/dist/server/node_modules/ink/build/render-node-to-output.d.ts +14 -0
  329. package/dist/server/node_modules/ink/build/render-node-to-output.js +147 -0
  330. package/dist/server/node_modules/ink/build/render-node-to-output.js.map +1 -0
  331. package/dist/server/node_modules/ink/build/render-to-string.d.ts +38 -0
  332. package/dist/server/node_modules/ink/build/render-to-string.js +115 -0
  333. package/dist/server/node_modules/ink/build/render-to-string.js.map +1 -0
  334. package/dist/server/node_modules/ink/build/render.d.ts +121 -0
  335. package/dist/server/node_modules/ink/build/render.js +55 -0
  336. package/dist/server/node_modules/ink/build/render.js.map +1 -0
  337. package/dist/server/node_modules/ink/build/renderer.d.ts +8 -0
  338. package/dist/server/node_modules/ink/build/renderer.js +55 -0
  339. package/dist/server/node_modules/ink/build/renderer.js.map +1 -0
  340. package/dist/server/node_modules/ink/build/sanitize-ansi.d.ts +2 -0
  341. package/dist/server/node_modules/ink/build/sanitize-ansi.js +27 -0
  342. package/dist/server/node_modules/ink/build/sanitize-ansi.js.map +1 -0
  343. package/dist/server/node_modules/ink/build/screen-reader-update.d.ts +13 -0
  344. package/dist/server/node_modules/ink/build/screen-reader-update.js +38 -0
  345. package/dist/server/node_modules/ink/build/screen-reader-update.js.map +1 -0
  346. package/dist/server/node_modules/ink/build/squash-text-nodes.d.ts +3 -0
  347. package/dist/server/node_modules/ink/build/squash-text-nodes.js +36 -0
  348. package/dist/server/node_modules/ink/build/squash-text-nodes.js.map +1 -0
  349. package/dist/server/node_modules/ink/build/styles.d.ts +240 -0
  350. package/dist/server/node_modules/ink/build/styles.js +232 -0
  351. package/dist/server/node_modules/ink/build/styles.js.map +1 -0
  352. package/dist/server/node_modules/ink/build/utils.d.ts +2 -0
  353. package/dist/server/node_modules/ink/build/utils.js +4 -0
  354. package/dist/server/node_modules/ink/build/utils.js.map +1 -0
  355. package/dist/server/node_modules/ink/build/wrap-text.d.ts +3 -0
  356. package/dist/server/node_modules/ink/build/wrap-text.js +31 -0
  357. package/dist/server/node_modules/ink/build/wrap-text.js.map +1 -0
  358. package/dist/server/node_modules/ink/build/write-synchronized.d.ts +4 -0
  359. package/dist/server/node_modules/ink/build/write-synchronized.js +7 -0
  360. package/dist/server/node_modules/ink/build/write-synchronized.js.map +1 -0
  361. package/dist/server/node_modules/{figures → ink}/license +1 -0
  362. package/dist/server/node_modules/ink/package.json +201 -0
  363. package/dist/server/node_modules/ink/readme.md +2636 -0
  364. package/dist/server/node_modules/slice-ansi/index.d.ts +19 -0
  365. package/dist/server/node_modules/slice-ansi/index.js +260 -0
  366. package/dist/server/node_modules/{widest-line → slice-ansi}/license +1 -0
  367. package/dist/server/node_modules/slice-ansi/package.json +59 -0
  368. package/dist/server/node_modules/slice-ansi/readme.md +54 -0
  369. package/dist/server/node_modules/slice-ansi/tokenize-ansi.js +752 -0
  370. package/dist/server/server.js +1 -1
  371. package/package.json +1 -1
  372. package/dist/client/assets/ai-providers-C-HLT43p.js +0 -1
  373. package/dist/client/assets/index-BlefTMU9.js +0 -1
  374. package/dist/client/assets/registry-DSbGbl6G.js +0 -2
  375. package/dist/client/assets/store-registry-CHPlZpA7.js +0 -2
  376. package/dist/client/assets/useInfiniteQuery-B0aJ536b.js +0 -1
  377. package/dist/client/assets/useSuspenseInfiniteQuery-DMQVbZ7w.js +0 -1
  378. package/dist/client/assets/workflow-detail-cax1DGc8.js +0 -1
  379. package/dist/server/node_modules/cli-truncate/index.d.ts +0 -118
  380. package/dist/server/node_modules/cli-truncate/index.js +0 -168
  381. package/dist/server/node_modules/cli-truncate/package.json +0 -52
  382. package/dist/server/node_modules/cli-truncate/readme.md +0 -154
  383. package/dist/server/node_modules/deepmerge/.editorconfig +0 -7
  384. package/dist/server/node_modules/deepmerge/.eslintcache +0 -1
  385. package/dist/server/node_modules/deepmerge/changelog.md +0 -167
  386. package/dist/server/node_modules/deepmerge/dist/cjs.js +0 -133
  387. package/dist/server/node_modules/deepmerge/dist/umd.js +0 -139
  388. package/dist/server/node_modules/deepmerge/index.d.ts +0 -20
  389. package/dist/server/node_modules/deepmerge/index.js +0 -106
  390. package/dist/server/node_modules/deepmerge/license.txt +0 -21
  391. package/dist/server/node_modules/deepmerge/package.json +0 -42
  392. package/dist/server/node_modules/deepmerge/readme.md +0 -264
  393. package/dist/server/node_modules/deepmerge/rollup.config.js +0 -22
  394. package/dist/server/node_modules/figures/index.d.ts +0 -279
  395. package/dist/server/node_modules/figures/index.js +0 -292
  396. package/dist/server/node_modules/figures/package.json +0 -49
  397. package/dist/server/node_modules/figures/readme.md +0 -337
  398. package/dist/server/node_modules/mimic-fn/index.d.ts +0 -54
  399. package/dist/server/node_modules/mimic-fn/index.js +0 -13
  400. package/dist/server/node_modules/mimic-fn/license +0 -9
  401. package/dist/server/node_modules/mimic-fn/package.json +0 -42
  402. package/dist/server/node_modules/mimic-fn/readme.md +0 -69
  403. package/dist/server/node_modules/pg-int8/LICENSE +0 -13
  404. package/dist/server/node_modules/pg-int8/README.md +0 -16
  405. package/dist/server/node_modules/pg-int8/index.js +0 -100
  406. package/dist/server/node_modules/pg-int8/package.json +0 -24
  407. package/dist/server/node_modules/postgres-array/index.d.ts +0 -4
  408. package/dist/server/node_modules/postgres-array/index.js +0 -97
  409. package/dist/server/node_modules/postgres-array/license +0 -21
  410. package/dist/server/node_modules/postgres-array/package.json +0 -35
  411. package/dist/server/node_modules/postgres-array/readme.md +0 -43
  412. package/dist/server/node_modules/postgres-bytea/index.js +0 -33
  413. package/dist/server/node_modules/postgres-bytea/license +0 -21
  414. package/dist/server/node_modules/postgres-bytea/package.json +0 -34
  415. package/dist/server/node_modules/postgres-bytea/readme.md +0 -34
  416. package/dist/server/node_modules/postgres-date/index.js +0 -116
  417. package/dist/server/node_modules/postgres-date/license +0 -21
  418. package/dist/server/node_modules/postgres-date/package.json +0 -33
  419. package/dist/server/node_modules/postgres-date/readme.md +0 -49
  420. package/dist/server/node_modules/postgres-interval/index.d.ts +0 -20
  421. package/dist/server/node_modules/postgres-interval/index.js +0 -125
  422. package/dist/server/node_modules/postgres-interval/license +0 -21
  423. package/dist/server/node_modules/postgres-interval/package.json +0 -36
  424. package/dist/server/node_modules/postgres-interval/readme.md +0 -48
  425. package/dist/server/node_modules/split2/LICENSE +0 -13
  426. package/dist/server/node_modules/split2/README.md +0 -85
  427. package/dist/server/node_modules/split2/bench.js +0 -27
  428. package/dist/server/node_modules/split2/index.js +0 -141
  429. package/dist/server/node_modules/split2/package.json +0 -39
  430. package/dist/server/node_modules/split2/test.js +0 -409
  431. package/dist/server/node_modules/widest-line/index.d.ts +0 -12
  432. package/dist/server/node_modules/widest-line/index.js +0 -11
  433. package/dist/server/node_modules/widest-line/package.json +0 -60
  434. package/dist/server/node_modules/widest-line/readme.md +0 -26
  435. package/dist/server/node_modules/xtend/.jshintrc +0 -30
  436. package/dist/server/node_modules/xtend/LICENSE +0 -20
  437. package/dist/server/node_modules/xtend/README.md +0 -32
  438. package/dist/server/node_modules/xtend/immutable.js +0 -19
  439. package/dist/server/node_modules/xtend/mutable.js +0 -17
  440. package/dist/server/node_modules/xtend/package.json +0 -55
  441. package/dist/server/node_modules/xtend/test.js +0 -103
  442. /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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"}