decocms 2.186.4 → 2.186.5

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 (417) hide show
  1. package/dist/client/assets/{AlertCircle-CFfY0yZQ.js → AlertCircle-CtitvjsH.js} +1 -1
  2. package/dist/client/assets/{ArrowLeft-q2zfYOyo.js → ArrowLeft-3io_8nEP.js} +1 -1
  3. package/dist/client/assets/{ArrowUp-C7CRE9h6.js → ArrowUp-i0bG6Tx_.js} +1 -1
  4. package/dist/client/assets/{Check-BSNNIgHR.js → Check-f6vqdTVP.js} +1 -1
  5. package/dist/client/assets/{ChevronDown-CmDo1lzo.js → ChevronDown-BzbiITGh.js} +1 -1
  6. package/dist/client/assets/{ChevronRight-DvMx_esu.js → ChevronRight-BL_W1N6F.js} +1 -1
  7. package/dist/client/assets/{ChevronUp-C1ZwRacy.js → ChevronUp-BKSJAtLO.js} +1 -1
  8. package/dist/client/assets/{Container-Dnc6yNup.js → Container-DaFalkcW.js} +1 -1
  9. package/dist/client/assets/{Dataflow03-Chfn49aN.js → Dataflow03-BID0sAye.js} +1 -1
  10. package/dist/client/assets/{Download01-BNS80W0k.js → Download01-DS6vGSUU.js} +1 -1
  11. package/dist/client/assets/{FolderClosed-BykmJUFv.js → FolderClosed-BEAeGMpl.js} +1 -1
  12. package/dist/client/assets/{Grid01--i5_ePuX.js → Grid01-CrA1A_18.js} +1 -1
  13. package/dist/client/assets/{List-Bmsn6CzV.js → List-WPqnYQKj.js} +1 -1
  14. package/dist/client/assets/{Loading01-D1Pvsp8y.js → Loading01-b0x7f8u_.js} +1 -1
  15. package/dist/client/assets/{Play-BC5VNHwm.js → Play-CN0m3XWi.js} +1 -1
  16. package/dist/client/assets/{Plus-DbIgM1x-.js → Plus-DmqvCfWI.js} +1 -1
  17. package/dist/client/assets/{RefreshCcw01-BEBs5v_q.js → RefreshCcw01-BZXMQFPy.js} +1 -1
  18. package/dist/client/assets/{SearchMd-PX-e8O0B.js → SearchMd-CIgTlNX_.js} +1 -1
  19. package/dist/client/assets/{Settings01-84CJqC0A.js → Settings01-bZOYZZe1.js} +1 -1
  20. package/dist/client/assets/{Trash01-BPldOgkf.js → Trash01-gOPUL91A.js} +1 -1
  21. package/dist/client/assets/{Type01-DpCsdgUP.js → Type01-DJEwH71e.js} +1 -1
  22. package/dist/client/assets/{Upload01-B2Ms9Ufu.js → Upload01-BdsUmigW.js} +1 -1
  23. package/dist/client/assets/{User01-BfpgpGwT.js → User01-BFJo9npx.js} +1 -1
  24. package/dist/client/assets/{VideoRecorder-wLrORVI9.js → VideoRecorder-CpeuE70t.js} +1 -1
  25. package/dist/client/assets/{X-BHB4uMvu.js → X-BPJKg-Sa.js} +1 -1
  26. package/dist/client/assets/{XCircle-diVK-bFd.js → XCircle-PZ_iEr_s.js} +1 -1
  27. package/dist/client/assets/{XClose-tJXgwIHZ.js → XClose-CV8NRiYb.js} +1 -1
  28. package/dist/client/assets/{Zap-CbDTgbzb.js → Zap-Djb2s9XH.js} +1 -1
  29. package/dist/client/assets/{agent-connections-preview-DDUBsgI6.js → agent-connections-preview-CFY9JoNF.js} +1 -1
  30. package/dist/client/assets/{agent-detail-DyWtkgva.js → agent-detail-H4BT7CTr.js} +1 -1
  31. package/dist/client/assets/{agents-Bhzn9Eef.js → agents-D2dFJ668.js} +1 -1
  32. package/dist/client/assets/{ai-providers-logos-D8dUWzwV.js → ai-providers-logos-Bt4g7p0X.js} +1 -1
  33. package/dist/client/assets/{alert-dialog-D8sReHHS.js → alert-dialog-qbhCFIrJ.js} +1 -1
  34. package/dist/client/assets/{auth-catchall-D1xOR84L.js → auth-catchall-CQTUcOb6.js} +1 -1
  35. package/dist/client/assets/{automation-detail-B7hCcREQ.js → automation-detail-DPyfTmgL.js} +1 -1
  36. package/dist/client/assets/{automations-Bx9vUoOk.js → automations-D9dpmBWI.js} +1 -1
  37. package/dist/client/assets/{avatar-C_Cgb4k2.js → avatar-HaW-aDPQ.js} +1 -1
  38. package/dist/client/assets/{badge-C8UnqRcC.js → badge-Crn2wX7w.js} +1 -1
  39. package/dist/client/assets/{binder-CEsnpfBd.js → binder-Bpa9PbnU.js} +1 -1
  40. package/dist/client/assets/{breadcrumb-CAVAhr_W.js → breadcrumb-Do1IM0FU.js} +1 -1
  41. package/dist/client/assets/{card-CWrlHmbX.js → card-D-nlEHTG.js} +1 -1
  42. package/dist/client/assets/{checkbox-DiUCU_uY.js → checkbox-Bk2GcJ8k.js} +1 -1
  43. package/dist/client/assets/{collapsible-BhwX3etL.js → collapsible-SLXpL9mb.js} +1 -1
  44. package/dist/client/assets/{collection-detail-Dkw16c0c.js → collection-detail-DeV3SFaX.js} +1 -1
  45. package/dist/client/assets/{collection-display-button-BBzEpEkj.js → collection-display-button-HO2n3PFr.js} +1 -1
  46. package/dist/client/assets/{collection-search-BT_VOWLL.js → collection-search-CW0lALTo.js} +1 -1
  47. package/dist/client/assets/{collection-table-wrapper-B347tlKT.js → collection-table-wrapper-DS1bzEdZ.js} +1 -1
  48. package/dist/client/assets/{collection-tabs-CRnU8dYm.js → collection-tabs-Dv1o-Tiq.js} +1 -1
  49. package/dist/client/assets/{command-DkggJl9E.js → command-BJmMsGWz.js} +1 -1
  50. package/dist/client/assets/{connection-card-DTdD45cZ.js → connection-card-tMWWUIo4.js} +1 -1
  51. package/dist/client/assets/{connection-detail-BVusS7DN.js → connection-detail-PuDo8T2F.js} +1 -1
  52. package/dist/client/assets/{connections-CSCQ37th.js → connections-BROEiJqN.js} +1 -1
  53. package/dist/client/assets/constants-BO-AsdnG.js +1 -0
  54. package/dist/client/assets/{constants-sZSGbDkU.js → constants-BRyDKx5E.js} +1 -1
  55. package/dist/client/assets/{context-CsyORbSE.js → context-DjKq41Ps.js} +1 -1
  56. package/dist/client/assets/{create-organization-dialog-DN8hdiM4.js → create-organization-dialog-582-kldv.js} +1 -1
  57. package/dist/client/assets/{create-project-dialog-lAZ_FT_g.js → create-project-dialog-CIZm3cj7.js} +1 -1
  58. package/dist/client/assets/{danger-B1Qw5mPg.js → danger-CY1cNAKE.js} +1 -1
  59. package/dist/client/assets/{danger-zone-BUW-olFn.js → danger-zone-DyYupl_l.js} +1 -1
  60. package/dist/client/assets/{dependencies-DRYoQ6jU.js → dependencies-HtJ0jPZo.js} +1 -1
  61. package/dist/client/assets/{dialog-CmqjWAM7.js → dialog-D2pSotmJ.js} +1 -1
  62. package/dist/client/assets/{drawer-DhTY0hMj.js → drawer-DmfwbJvN.js} +1 -1
  63. package/dist/client/assets/{dropdown-menu-D37bEJBF.js → dropdown-menu-DBNiGGCa.js} +1 -1
  64. package/dist/client/assets/{dynamic-plugin-layout-ChsexoCJ.js → dynamic-plugin-layout-Ci6pDEpr.js} +1 -1
  65. package/dist/client/assets/{editable-task-title-DEfOdS3n.js → editable-task-title-CVoah20Z.js} +1 -1
  66. package/dist/client/assets/{empty-state-B8cgNR-N.js → empty-state-Cq-2Stw7.js} +1 -1
  67. package/dist/client/assets/{empty-state-Cjw3IbRU.js → empty-state-D7BW8jaP.js} +1 -1
  68. package/dist/client/assets/{env-vars-editor-DHio8hU0.js → env-vars-editor-DGyEmObe.js} +1 -1
  69. package/dist/client/assets/{extract-connection-data-DgYZMSpy.js → extract-connection-data-Dr5WITt6.js} +1 -1
  70. package/dist/client/assets/{file-browser-BsuckOvL.js → file-browser-BStF6ZMr.js} +2 -2
  71. package/dist/client/assets/{form-Dg4rCHi6.js → form-BYJDKe84.js} +1 -1
  72. package/dist/client/assets/{general-B3rA-PiU.js → general-BjV1aJ55.js} +1 -1
  73. package/dist/client/assets/{grid-view-DAO80r8h.js → grid-view-KO_Fabbh.js} +1 -1
  74. package/dist/client/assets/{home-CTgNmz0x.js → home-D5293Vev.js} +1 -1
  75. package/dist/client/assets/{import-from-deco-dialog-BbA3u8-E.js → import-from-deco-dialog-Djo43MO2.js} +1 -1
  76. package/dist/client/assets/{index-D5h1vKqM.js → index-BLTp2mfW.js} +1 -1
  77. package/dist/client/assets/{index-B7m8nOA3.js → index-BV94yULQ.js} +1 -1
  78. package/dist/client/assets/{index-DPu67tmU.js → index-BbYJDAO_.js} +1 -1
  79. package/dist/client/assets/{index-Bcecb_Xz.js → index-BoO8n-rM.js} +3 -3
  80. package/dist/client/assets/{index-BiawlfhY.js → index-CPsGHZV5.js} +1 -1
  81. package/dist/client/assets/{index-VD0DUUlZ.js → index-D5sFwM_q.js} +1 -1
  82. package/dist/client/assets/{index-CyfmseFq.js → index-DM77haUb.js} +1 -1
  83. package/dist/client/assets/{index-Hi_A-Tsf.js → index-DwgsAdtI.js} +1 -1
  84. package/dist/client/assets/{index-C4GDQd8z.js → index-TdiS16S8.js} +1 -1
  85. package/dist/client/assets/{index-DHItCPJs.js → index-gp1o0aQ_.js} +1 -1
  86. package/dist/client/assets/{index-5yAQM6kw.js → index-qFA25zOH.js} +1 -1
  87. package/dist/client/assets/{infiniteQueryObserver-DWp3_CVI.js → infiniteQueryObserver-CL5fJNiq.js} +1 -1
  88. package/dist/client/assets/{input-cBzeNH_n.js → input-DuzgW_Cj.js} +1 -1
  89. package/dist/client/assets/{integration-icon-ByGVeLrz.js → integration-icon-Cx2rPbBh.js} +1 -1
  90. package/dist/client/assets/{label-DoFd0DeW.js → label-DiRwVfbK.js} +1 -1
  91. package/dist/client/assets/{layout-BhXmEzmE.js → layout-BfKLaD-7.js} +1 -1
  92. package/dist/client/assets/{layout-DCBpI9GX.js → layout-DRMSwprX.js} +1 -1
  93. package/dist/client/assets/{login-D1KWsW_u.js → login-Da33loRU.js} +1 -1
  94. package/dist/client/assets/{logo-upload-BQGPbHRq.js → logo-upload-D-EpUqKb.js} +1 -1
  95. package/dist/client/assets/{mcp-app-renderer-DndsLro0.js → mcp-app-renderer-A6_5gh0N.js} +1 -1
  96. package/dist/client/assets/{mcp-server-card-DPENkZXf.js → mcp-server-card-BWUTkKwk.js} +1 -1
  97. package/dist/client/assets/{mcp-server-detail-DQCKUE12.js → mcp-server-detail-jdGuw6cV.js} +2 -2
  98. package/dist/client/assets/{members-nGwQLmND.js → members-D2NzG2nc.js} +1 -1
  99. package/dist/client/assets/{monaco-editor-CrYWYGQQ.js → monaco-editor-DgkGyIFp.js} +1 -1
  100. package/dist/client/assets/{monitoring-CsbZ7bmm.js → monitoring-CSEdadkb.js} +1 -1
  101. package/dist/client/assets/{monitoring-dashboard-edit-w8pIA6Ie.js → monitoring-dashboard-edit-CXP9EN1f.js} +1 -1
  102. package/dist/client/assets/{monitoring-dashboard-view-MthMkZuB.js → monitoring-dashboard-view-CEaNkmLG.js} +1 -1
  103. package/dist/client/assets/{monitoring-stats-row-CqSp-eoy.js → monitoring-stats-row-B_MW1OhS.js} +1 -1
  104. package/dist/client/assets/{oauth-callback-CJZrmNWZ.js → oauth-callback-Bz0EJuS1.js} +1 -1
  105. package/dist/client/assets/{oauth-callback-ai-provider-B3_0Xe3o.js → oauth-callback-ai-provider-D5PorOtm.js} +1 -1
  106. package/dist/client/assets/{org-ai-providers-BddV4XoH.js → org-ai-providers-C8WJgjRg.js} +1 -1
  107. package/dist/client/assets/{page--U0v_pX3.js → page-DMpvrDmE.js} +1 -1
  108. package/dist/client/assets/{page-CBSe1z4F.js → page-DhnNY5cT.js} +1 -1
  109. package/dist/client/assets/{plugin-empty-state-BEgqVtoa.js → plugin-empty-state-BF81EuZU.js} +1 -1
  110. package/dist/client/assets/{plugin-empty-state-lZmnDccK.js → plugin-empty-state-CyYjML0d.js} +1 -1
  111. package/dist/client/assets/{plugin-header-CLrhmaZp.js → plugin-header-BZQ6v9Dv.js} +1 -1
  112. package/dist/client/assets/{plugin-header-CQK-IpRs.js → plugin-header-J32jluXn.js} +1 -1
  113. package/dist/client/assets/plugins-DieBnmX_.js +1 -0
  114. package/dist/client/assets/{popover-CMmU9vEC.js → popover-CtyD8kak.js} +1 -1
  115. package/dist/client/assets/{project-app-view-Cih2GI6n.js → project-app-view-B_TSbFht.js} +1 -1
  116. package/dist/client/assets/{project-layout-BU4QeywV.js → project-layout-BFYhUp7u.js} +1 -1
  117. package/dist/client/assets/{project-plugins-CRLkmd39.js → project-plugins-Ac2bO3iJ.js} +1 -1
  118. package/dist/client/assets/{projects-list-kJyjAxRL.js → projects-list-Bwwy0ru8.js} +1 -1
  119. package/dist/client/assets/{registry-layout-CudXrSHI.js → registry-layout-tuLQ36Na.js} +1 -1
  120. package/dist/client/assets/{registry-utils-bxl52ndx.js → registry-utils-DoSQNJ_M.js} +1 -1
  121. package/dist/client/assets/{reset-password--yhV4IBG.js → reset-password-CwToNAPf.js} +1 -1
  122. package/dist/client/assets/{resizable-Xmr_dFSw.js → resizable-BEIVuTnJ.js} +1 -1
  123. package/dist/client/assets/{save-actions-DnXh5j1Q.js → save-actions-C8S59f-v.js} +1 -1
  124. package/dist/client/assets/{scroll-area-QU3iRHJE.js → scroll-area-CduYY4Re.js} +1 -1
  125. package/dist/client/assets/{select-D239zaXv.js → select-CGOcI-7S.js} +1 -1
  126. package/dist/client/assets/{select-virtual-mcp-Czgt_AbJ.js → select-virtual-mcp-BEyfMo-o.js} +1 -1
  127. package/dist/client/assets/{shell-layout-BxPSBU5t.js → shell-layout-BT3vkv8Z.js} +2 -2
  128. package/dist/client/assets/{sidebar-settings-BBNHEf84.js → sidebar-settings-CyrcKkJ4.js} +1 -1
  129. package/dist/client/assets/{skeleton-D03wOHty.js → skeleton-Bo6z7uiK.js} +1 -1
  130. package/dist/client/assets/{spinner-B5ev-YDV.js → spinner-BM6ocUxt.js} +1 -1
  131. package/dist/client/assets/{store-invite-HvZ_f981.js → store-invite-BcKHSR2w.js} +1 -1
  132. package/dist/client/assets/{switch-B8WHWc6A.js → switch-zI0teXPa.js} +1 -1
  133. package/dist/client/assets/{table-CTzpd733.js → table-CyFHKgUK.js} +1 -1
  134. package/dist/client/assets/{tabs-Dm9XV8db.js → tabs-aNTBXb88.js} +1 -1
  135. package/dist/client/assets/{task-status-C1q5JfD_.js → task-status-BmEV7t9q.js} +1 -1
  136. package/dist/client/assets/tasks-BKT6sRTI.js +1 -0
  137. package/dist/client/assets/{tasks-panel-CX7jkjdF.js → tasks-panel-Dx_VmaoJ.js} +1 -1
  138. package/dist/client/assets/{textarea-D02CdeQw.js → textarea-CeeIB6-J.js} +1 -1
  139. package/dist/client/assets/{time-range-picker-D8NL5Nmu.js → time-range-picker-D7RILeKK.js} +1 -1
  140. package/dist/client/assets/{toggle-group-jq0jWIRc.js → toggle-group-BNOxtCQ3.js} +1 -1
  141. package/dist/client/assets/{tools-list-BR2Dix09.js → tools-list-B8BbYK4A.js} +1 -1
  142. package/dist/client/assets/{tooltip-BCp7U7mN.js → tooltip-BIaQfSI8.js} +1 -1
  143. package/dist/client/assets/{topbar-portal-DIcyXgfm.js → topbar-portal-Df-jV5dE.js} +1 -1
  144. package/dist/client/assets/{types-BsGobcR-.js → types-BeXFNplD.js} +1 -1
  145. package/dist/client/assets/{use-automations-c_xstGD5.js → use-automations-viUCmfTe.js} +1 -1
  146. package/dist/client/assets/{use-collections-vlgqqhuP.js → use-collections-boLvDkbT.js} +1 -1
  147. package/dist/client/assets/{use-connection-DqJeUugh.js → use-connection-sSldkm55.js} +1 -1
  148. package/dist/client/assets/{use-copy-Ck5qLOJz.js → use-copy-DuS-6kWn.js} +1 -1
  149. package/dist/client/assets/{use-create-virtual-mcp-DEi2MEtq.js → use-create-virtual-mcp-CKYKv6SW.js} +1 -1
  150. package/dist/client/assets/{use-infinite-scroll-DmzrG2BE.js → use-infinite-scroll-CGarn18C.js} +1 -1
  151. package/dist/client/assets/{use-install-from-registry-44g1gfZf.js → use-install-from-registry-DAJmEkC5.js} +1 -1
  152. package/dist/client/assets/{use-list-state-bklnJIlv.js → use-list-state-oXNu9u8R.js} +1 -1
  153. package/dist/client/assets/{use-mcp-prompts-CzQxO0I9.js → use-mcp-prompts-BRgvnsLG.js} +1 -1
  154. package/dist/client/assets/{use-mcp-resources-BQkvQ_u9.js → use-mcp-resources-BQpqezxP.js} +1 -1
  155. package/dist/client/assets/{use-mcp-tools-BOIAjBvi.js → use-mcp-tools-DMQzZOZ6.js} +1 -1
  156. package/dist/client/assets/{use-members-CWNkurdp.js → use-members-C2JN8hIu.js} +1 -1
  157. package/dist/client/assets/{use-project-C2DxBYtI.js → use-project-CilOoEpE.js} +1 -1
  158. package/dist/client/assets/{use-store-discovery-DE51kyFJ.js → use-store-discovery-D0gJ2CQY.js} +1 -1
  159. package/dist/client/assets/{use-view-mode-CmavyF68.js → use-view-mode-ByMVrnnV.js} +1 -1
  160. package/dist/client/assets/{use-virtual-mcp-DJSfh66r.js → use-virtual-mcp-BFsqq0fZ.js} +1 -1
  161. package/dist/client/assets/useInfiniteQuery-Byr_YtTT.js +1 -0
  162. package/dist/client/assets/{useMutation-DX97_hbH.js → useMutation-BJ-zKxaD.js} +1 -1
  163. package/dist/client/assets/useQuery-nL8PK1-e.js +1 -0
  164. package/dist/client/assets/useSuspenseInfiniteQuery-DDi8SjCq.js +1 -0
  165. package/dist/client/assets/{user-xfin110t.js → user-YxxwV0CN.js} +1 -1
  166. package/dist/client/assets/{workflow-Ca61UGhY.js → workflow-BpFpSrqC.js} +1 -1
  167. package/dist/client/index.html +1 -1
  168. package/dist/server/cli.js +266 -266
  169. package/dist/server/node_modules/ansi-styles/index.d.ts +236 -0
  170. package/dist/server/node_modules/ansi-styles/index.js +223 -0
  171. package/dist/server/node_modules/ansi-styles/license +9 -0
  172. package/dist/server/node_modules/ansi-styles/package.json +54 -0
  173. package/dist/server/node_modules/ansi-styles/readme.md +173 -0
  174. package/dist/server/node_modules/environment/index.d.ts +74 -0
  175. package/dist/server/node_modules/environment/index.js +47 -0
  176. package/dist/server/node_modules/environment/license +9 -0
  177. package/dist/server/node_modules/environment/package.json +74 -0
  178. package/dist/server/node_modules/environment/readme.md +94 -0
  179. package/dist/server/node_modules/escape-string-regexp/index.d.ts +18 -0
  180. package/dist/server/node_modules/escape-string-regexp/index.js +11 -0
  181. package/dist/server/node_modules/escape-string-regexp/license +9 -0
  182. package/dist/server/node_modules/escape-string-regexp/package.json +43 -0
  183. package/dist/server/node_modules/escape-string-regexp/readme.md +29 -0
  184. package/dist/server/node_modules/ink/build/ansi-tokenizer.d.ts +38 -0
  185. package/dist/server/node_modules/ink/build/ansi-tokenizer.js +316 -0
  186. package/dist/server/node_modules/ink/build/ansi-tokenizer.js.map +1 -0
  187. package/dist/server/node_modules/ink/build/apply-styles.js +175 -0
  188. package/dist/server/node_modules/ink/build/build-layout.js +77 -0
  189. package/dist/server/node_modules/ink/build/calculate-wrapped-text.js +53 -0
  190. package/dist/server/node_modules/ink/build/colorize.d.ts +3 -0
  191. package/dist/server/node_modules/ink/build/colorize.js +48 -0
  192. package/dist/server/node_modules/ink/build/colorize.js.map +1 -0
  193. package/dist/server/node_modules/ink/build/components/AccessibilityContext.d.ts +3 -0
  194. package/dist/server/node_modules/ink/build/components/AccessibilityContext.js +5 -0
  195. package/dist/server/node_modules/ink/build/components/AccessibilityContext.js.map +1 -0
  196. package/dist/server/node_modules/ink/build/components/App.d.ts +18 -0
  197. package/dist/server/node_modules/ink/build/components/App.js +351 -0
  198. package/dist/server/node_modules/ink/build/components/App.js.map +1 -0
  199. package/dist/server/node_modules/ink/build/components/AppContext.d.ts +15 -0
  200. package/dist/server/node_modules/ink/build/components/AppContext.js +11 -0
  201. package/dist/server/node_modules/ink/build/components/AppContext.js.map +1 -0
  202. package/dist/server/node_modules/ink/build/components/BackgroundContext.d.ts +4 -0
  203. package/dist/server/node_modules/ink/build/components/BackgroundContext.js +3 -0
  204. package/dist/server/node_modules/ink/build/components/BackgroundContext.js.map +1 -0
  205. package/dist/server/node_modules/ink/build/components/Box.d.ts +117 -0
  206. package/dist/server/node_modules/ink/build/components/Box.js +34 -0
  207. package/dist/server/node_modules/ink/build/components/Box.js.map +1 -0
  208. package/dist/server/node_modules/ink/build/components/Color.js +62 -0
  209. package/dist/server/node_modules/ink/build/components/Cursor.d.ts +83 -0
  210. package/dist/server/node_modules/ink/build/components/Cursor.js +53 -0
  211. package/dist/server/node_modules/ink/build/components/Cursor.js.map +1 -0
  212. package/dist/server/node_modules/ink/build/components/CursorContext.d.ts +11 -0
  213. package/dist/server/node_modules/ink/build/components/CursorContext.js +8 -0
  214. package/dist/server/node_modules/ink/build/components/CursorContext.js.map +1 -0
  215. package/dist/server/node_modules/ink/build/components/ErrorBoundary.d.ts +18 -0
  216. package/dist/server/node_modules/ink/build/components/ErrorBoundary.js +23 -0
  217. package/dist/server/node_modules/ink/build/components/ErrorBoundary.js.map +1 -0
  218. package/dist/server/node_modules/ink/build/components/ErrorOverview.d.ts +6 -0
  219. package/dist/server/node_modules/ink/build/components/ErrorOverview.js +84 -0
  220. package/dist/server/node_modules/ink/build/components/ErrorOverview.js.map +1 -0
  221. package/dist/server/node_modules/ink/build/components/FocusContext.d.ts +16 -0
  222. package/dist/server/node_modules/ink/build/components/FocusContext.js +17 -0
  223. package/dist/server/node_modules/ink/build/components/FocusContext.js.map +1 -0
  224. package/dist/server/node_modules/ink/build/components/Newline.d.ts +13 -0
  225. package/dist/server/node_modules/ink/build/components/Newline.js +8 -0
  226. package/dist/server/node_modules/ink/build/components/Newline.js.map +1 -0
  227. package/dist/server/node_modules/ink/build/components/Spacer.d.ts +7 -0
  228. package/dist/server/node_modules/ink/build/components/Spacer.js +11 -0
  229. package/dist/server/node_modules/ink/build/components/Spacer.js.map +1 -0
  230. package/dist/server/node_modules/ink/build/components/Static.d.ts +24 -0
  231. package/dist/server/node_modules/ink/build/components/Static.js +28 -0
  232. package/dist/server/node_modules/ink/build/components/Static.js.map +1 -0
  233. package/dist/server/node_modules/ink/build/components/StderrContext.d.ts +15 -0
  234. package/dist/server/node_modules/ink/build/components/StderrContext.js +13 -0
  235. package/dist/server/node_modules/ink/build/components/StderrContext.js.map +1 -0
  236. package/dist/server/node_modules/ink/build/components/StdinContext.d.ts +22 -0
  237. package/dist/server/node_modules/ink/build/components/StdinContext.js +19 -0
  238. package/dist/server/node_modules/ink/build/components/StdinContext.js.map +1 -0
  239. package/dist/server/node_modules/ink/build/components/StdoutContext.d.ts +15 -0
  240. package/dist/server/node_modules/ink/build/components/StdoutContext.js +13 -0
  241. package/dist/server/node_modules/ink/build/components/StdoutContext.js.map +1 -0
  242. package/dist/server/node_modules/ink/build/components/Text.d.ts +55 -0
  243. package/dist/server/node_modules/ink/build/components/Text.js +50 -0
  244. package/dist/server/node_modules/ink/build/components/Text.js.map +1 -0
  245. package/dist/server/node_modules/ink/build/components/Transform.d.ts +16 -0
  246. package/dist/server/node_modules/ink/build/components/Transform.js +15 -0
  247. package/dist/server/node_modules/ink/build/components/Transform.js.map +1 -0
  248. package/dist/server/node_modules/ink/build/cursor-helpers.d.ts +38 -0
  249. package/dist/server/node_modules/ink/build/cursor-helpers.js +56 -0
  250. package/dist/server/node_modules/ink/build/cursor-helpers.js.map +1 -0
  251. package/dist/server/node_modules/ink/build/devtools-window-polyfill.d.ts +1 -0
  252. package/dist/server/node_modules/ink/build/devtools-window-polyfill.js +65 -0
  253. package/dist/server/node_modules/ink/build/devtools-window-polyfill.js.map +1 -0
  254. package/dist/server/node_modules/ink/build/devtools.d.ts +1 -0
  255. package/dist/server/node_modules/ink/build/devtools.js +11 -0
  256. package/dist/server/node_modules/ink/build/devtools.js.map +1 -0
  257. package/dist/server/node_modules/ink/build/dom.d.ts +56 -0
  258. package/dist/server/node_modules/ink/build/dom.js +124 -0
  259. package/dist/server/node_modules/ink/build/dom.js.map +1 -0
  260. package/dist/server/node_modules/ink/build/experimental/apply-style.js +140 -0
  261. package/dist/server/node_modules/ink/build/experimental/dom.js +123 -0
  262. package/dist/server/node_modules/ink/build/experimental/output.js +91 -0
  263. package/dist/server/node_modules/ink/build/experimental/reconciler.js +141 -0
  264. package/dist/server/node_modules/ink/build/experimental/renderer.js +81 -0
  265. package/dist/server/node_modules/ink/build/get-max-width.d.ts +3 -0
  266. package/dist/server/node_modules/ink/build/get-max-width.js +10 -0
  267. package/dist/server/node_modules/ink/build/get-max-width.js.map +1 -0
  268. package/dist/server/node_modules/ink/build/hooks/use-app.d.ts +5 -0
  269. package/dist/server/node_modules/ink/build/hooks/use-app.js +8 -0
  270. package/dist/server/node_modules/ink/build/hooks/use-app.js.map +1 -0
  271. package/dist/server/node_modules/ink/build/hooks/use-cursor.d.ts +12 -0
  272. package/dist/server/node_modules/ink/build/hooks/use-cursor.js +29 -0
  273. package/dist/server/node_modules/ink/build/hooks/use-cursor.js.map +1 -0
  274. package/dist/server/node_modules/ink/build/hooks/use-focus-manager.d.ts +28 -0
  275. package/dist/server/node_modules/ink/build/hooks/use-focus-manager.js +17 -0
  276. package/dist/server/node_modules/ink/build/hooks/use-focus-manager.js.map +1 -0
  277. package/dist/server/node_modules/ink/build/hooks/use-focus.d.ts +29 -0
  278. package/dist/server/node_modules/ink/build/hooks/use-focus.js +42 -0
  279. package/dist/server/node_modules/ink/build/hooks/use-focus.js.map +1 -0
  280. package/dist/server/node_modules/ink/build/hooks/use-input.d.ts +131 -0
  281. package/dist/server/node_modules/ink/build/hooks/use-input.js +124 -0
  282. package/dist/server/node_modules/ink/build/hooks/use-input.js.map +1 -0
  283. package/dist/server/node_modules/ink/build/hooks/use-is-screen-reader-enabled.d.ts +5 -0
  284. package/dist/server/node_modules/ink/build/hooks/use-is-screen-reader-enabled.js +11 -0
  285. package/dist/server/node_modules/ink/build/hooks/use-is-screen-reader-enabled.js.map +1 -0
  286. package/dist/server/node_modules/ink/build/hooks/use-stderr.d.ts +5 -0
  287. package/dist/server/node_modules/ink/build/hooks/use-stderr.js +8 -0
  288. package/dist/server/node_modules/ink/build/hooks/use-stderr.js.map +1 -0
  289. package/dist/server/node_modules/ink/build/hooks/use-stdin.d.ts +5 -0
  290. package/dist/server/node_modules/ink/build/hooks/use-stdin.js +8 -0
  291. package/dist/server/node_modules/ink/build/hooks/use-stdin.js.map +1 -0
  292. package/dist/server/node_modules/ink/build/hooks/use-stdout.d.ts +5 -0
  293. package/dist/server/node_modules/ink/build/hooks/use-stdout.js +8 -0
  294. package/dist/server/node_modules/ink/build/hooks/use-stdout.js.map +1 -0
  295. package/dist/server/node_modules/ink/build/hooks/useInput.js +38 -0
  296. package/dist/server/node_modules/ink/build/index.d.ts +34 -0
  297. package/dist/server/node_modules/ink/build/index.js +20 -0
  298. package/dist/server/node_modules/ink/build/index.js.map +1 -0
  299. package/dist/server/node_modules/ink/build/ink.d.ts +90 -0
  300. package/dist/server/node_modules/ink/build/ink.js +637 -0
  301. package/dist/server/node_modules/ink/build/ink.js.map +1 -0
  302. package/dist/server/node_modules/ink/build/input-parser.d.ts +7 -0
  303. package/dist/server/node_modules/ink/build/input-parser.js +154 -0
  304. package/dist/server/node_modules/ink/build/input-parser.js.map +1 -0
  305. package/dist/server/node_modules/ink/build/instance.js +205 -0
  306. package/dist/server/node_modules/ink/build/instances.d.ts +3 -0
  307. package/dist/server/node_modules/ink/build/instances.js +8 -0
  308. package/dist/server/node_modules/ink/build/instances.js.map +1 -0
  309. package/dist/server/node_modules/ink/build/kitty-keyboard.d.ts +23 -0
  310. package/dist/server/node_modules/ink/build/kitty-keyboard.js +32 -0
  311. package/dist/server/node_modules/ink/build/kitty-keyboard.js.map +1 -0
  312. package/dist/server/node_modules/ink/build/layout.d.ts +7 -0
  313. package/dist/server/node_modules/ink/build/layout.js +33 -0
  314. package/dist/server/node_modules/ink/build/layout.js.map +1 -0
  315. package/dist/server/node_modules/ink/build/log-update.d.ts +19 -0
  316. package/dist/server/node_modules/ink/build/log-update.js +242 -0
  317. package/dist/server/node_modules/ink/build/log-update.js.map +1 -0
  318. package/dist/server/node_modules/ink/build/measure-element.d.ts +16 -0
  319. package/dist/server/node_modules/ink/build/measure-element.js +9 -0
  320. package/dist/server/node_modules/ink/build/measure-element.js.map +1 -0
  321. package/dist/server/node_modules/ink/build/measure-text.d.ts +6 -0
  322. package/dist/server/node_modules/ink/build/measure-text.js +21 -0
  323. package/dist/server/node_modules/ink/build/measure-text.js.map +1 -0
  324. package/dist/server/node_modules/ink/build/options.d.ts +52 -0
  325. package/dist/server/node_modules/ink/build/options.js +2 -0
  326. package/dist/server/node_modules/ink/build/options.js.map +1 -0
  327. package/dist/server/node_modules/ink/build/output.d.ts +35 -0
  328. package/dist/server/node_modules/ink/build/output.js +183 -0
  329. package/dist/server/node_modules/ink/build/output.js.map +1 -0
  330. package/dist/server/node_modules/ink/build/parse-keypress.d.ts +22 -0
  331. package/dist/server/node_modules/ink/build/parse-keypress.js +493 -0
  332. package/dist/server/node_modules/ink/build/parse-keypress.js.map +1 -0
  333. package/dist/server/node_modules/ink/build/reconciler.d.ts +4 -0
  334. package/dist/server/node_modules/ink/build/reconciler.js +274 -0
  335. package/dist/server/node_modules/ink/build/reconciler.js.map +1 -0
  336. package/dist/server/node_modules/ink/build/render-background.d.ts +4 -0
  337. package/dist/server/node_modules/ink/build/render-background.js +25 -0
  338. package/dist/server/node_modules/ink/build/render-background.js.map +1 -0
  339. package/dist/server/node_modules/ink/build/render-border.d.ts +4 -0
  340. package/dist/server/node_modules/ink/build/render-border.js +73 -0
  341. package/dist/server/node_modules/ink/build/render-border.js.map +1 -0
  342. package/dist/server/node_modules/ink/build/render-node-to-output.d.ts +14 -0
  343. package/dist/server/node_modules/ink/build/render-node-to-output.js +147 -0
  344. package/dist/server/node_modules/ink/build/render-node-to-output.js.map +1 -0
  345. package/dist/server/node_modules/ink/build/render-to-string.d.ts +38 -0
  346. package/dist/server/node_modules/ink/build/render-to-string.js +115 -0
  347. package/dist/server/node_modules/ink/build/render-to-string.js.map +1 -0
  348. package/dist/server/node_modules/ink/build/render.d.ts +121 -0
  349. package/dist/server/node_modules/ink/build/render.js +55 -0
  350. package/dist/server/node_modules/ink/build/render.js.map +1 -0
  351. package/dist/server/node_modules/ink/build/renderer.d.ts +8 -0
  352. package/dist/server/node_modules/ink/build/renderer.js +55 -0
  353. package/dist/server/node_modules/ink/build/renderer.js.map +1 -0
  354. package/dist/server/node_modules/ink/build/sanitize-ansi.d.ts +2 -0
  355. package/dist/server/node_modules/ink/build/sanitize-ansi.js +27 -0
  356. package/dist/server/node_modules/ink/build/sanitize-ansi.js.map +1 -0
  357. package/dist/server/node_modules/ink/build/screen-reader-update.d.ts +13 -0
  358. package/dist/server/node_modules/ink/build/screen-reader-update.js +38 -0
  359. package/dist/server/node_modules/ink/build/screen-reader-update.js.map +1 -0
  360. package/dist/server/node_modules/ink/build/squash-text-nodes.d.ts +3 -0
  361. package/dist/server/node_modules/ink/build/squash-text-nodes.js +36 -0
  362. package/dist/server/node_modules/ink/build/squash-text-nodes.js.map +1 -0
  363. package/dist/server/node_modules/ink/build/styles.d.ts +240 -0
  364. package/dist/server/node_modules/ink/build/styles.js +232 -0
  365. package/dist/server/node_modules/ink/build/styles.js.map +1 -0
  366. package/dist/server/node_modules/ink/build/utils.d.ts +2 -0
  367. package/dist/server/node_modules/ink/build/utils.js +4 -0
  368. package/dist/server/node_modules/ink/build/utils.js.map +1 -0
  369. package/dist/server/node_modules/ink/build/wrap-text.d.ts +3 -0
  370. package/dist/server/node_modules/ink/build/wrap-text.js +31 -0
  371. package/dist/server/node_modules/ink/build/wrap-text.js.map +1 -0
  372. package/dist/server/node_modules/ink/build/write-synchronized.d.ts +4 -0
  373. package/dist/server/node_modules/ink/build/write-synchronized.js +7 -0
  374. package/dist/server/node_modules/ink/build/write-synchronized.js.map +1 -0
  375. package/dist/server/node_modules/ink/license +10 -0
  376. package/dist/server/node_modules/ink/package.json +201 -0
  377. package/dist/server/node_modules/ink/readme.md +2636 -0
  378. package/dist/server/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
  379. package/dist/server/node_modules/is-fullwidth-code-point/index.js +12 -0
  380. package/dist/server/node_modules/is-fullwidth-code-point/license +9 -0
  381. package/dist/server/node_modules/is-fullwidth-code-point/package.json +53 -0
  382. package/dist/server/node_modules/is-fullwidth-code-point/readme.md +31 -0
  383. package/dist/server/node_modules/is-unicode-supported/index.d.ts +12 -0
  384. package/dist/server/node_modules/is-unicode-supported/index.js +21 -0
  385. package/dist/server/node_modules/is-unicode-supported/license +9 -0
  386. package/dist/server/node_modules/is-unicode-supported/package.json +47 -0
  387. package/dist/server/node_modules/is-unicode-supported/readme.md +35 -0
  388. package/dist/server/node_modules/mimic-fn/index.d.ts +54 -0
  389. package/dist/server/node_modules/mimic-fn/index.js +13 -0
  390. package/dist/server/node_modules/mimic-fn/license +9 -0
  391. package/dist/server/node_modules/mimic-fn/package.json +42 -0
  392. package/dist/server/node_modules/mimic-fn/readme.md +69 -0
  393. package/dist/server/node_modules/pg-int8/LICENSE +13 -0
  394. package/dist/server/node_modules/pg-int8/README.md +16 -0
  395. package/dist/server/node_modules/pg-int8/index.js +100 -0
  396. package/dist/server/node_modules/pg-int8/package.json +24 -0
  397. package/dist/server/node_modules/postgres-bytea/index.js +33 -0
  398. package/dist/server/node_modules/postgres-bytea/license +21 -0
  399. package/dist/server/node_modules/postgres-bytea/package.json +34 -0
  400. package/dist/server/node_modules/postgres-bytea/readme.md +34 -0
  401. package/dist/server/node_modules/postgres-interval/index.d.ts +20 -0
  402. package/dist/server/node_modules/postgres-interval/index.js +125 -0
  403. package/dist/server/node_modules/postgres-interval/license +21 -0
  404. package/dist/server/node_modules/postgres-interval/package.json +36 -0
  405. package/dist/server/node_modules/postgres-interval/readme.md +48 -0
  406. package/dist/server/node_modules/string-width/index.d.ts +39 -0
  407. package/dist/server/node_modules/string-width/index.js +82 -0
  408. package/dist/server/node_modules/string-width/license +9 -0
  409. package/dist/server/node_modules/string-width/package.json +64 -0
  410. package/dist/server/node_modules/string-width/readme.md +66 -0
  411. package/package.json +1 -1
  412. package/dist/client/assets/constants-BnhbK7UO.js +0 -1
  413. package/dist/client/assets/plugins-DDBLgJ0t.js +0 -1
  414. package/dist/client/assets/tasks-w2rwAPZq.js +0 -1
  415. package/dist/client/assets/useInfiniteQuery-CeKnt0If.js +0 -1
  416. package/dist/client/assets/useQuery-kLEJeUD0.js +0 -1
  417. package/dist/client/assets/useSuspenseInfiniteQuery-ClWGoj50.js +0 -1
@@ -0,0 +1,274 @@
1
+ import createReconciler from 'react-reconciler';
2
+ import { DefaultEventPriority, NoEventPriority, } from 'react-reconciler/constants.js';
3
+ import * as Scheduler from 'scheduler';
4
+ import Yoga from 'yoga-layout';
5
+ import { createContext } from 'react';
6
+ import { createTextNode, appendChildNode, insertBeforeNode, removeChildNode, setStyle, setTextNodeValue, createNode, setAttribute, } from './dom.js';
7
+ import applyStyles from './styles.js';
8
+ import { isDev } from './utils.js';
9
+ // We need to conditionally perform devtools connection to avoid
10
+ // accidentally breaking other third-party code.
11
+ // See https://github.com/vadimdemedes/ink/issues/384
12
+ if (isDev()) {
13
+ try {
14
+ await import('./devtools.js');
15
+ }
16
+ catch (error) {
17
+ if (error.code === 'ERR_MODULE_NOT_FOUND') {
18
+ console.warn(`
19
+ The environment variable DEV is set to true, so Ink tried to import \`react-devtools-core\`,
20
+ but this failed as it was not installed. Debugging with React Devtools requires it.
21
+
22
+ To install use this command:
23
+
24
+ $ npm install --save-dev react-devtools-core
25
+ `.trim() + '\n');
26
+ }
27
+ else {
28
+ // eslint-disable-next-line @typescript-eslint/only-throw-error
29
+ throw error;
30
+ }
31
+ }
32
+ }
33
+ const diff = (before, after) => {
34
+ if (before === after) {
35
+ return;
36
+ }
37
+ if (!before) {
38
+ return after;
39
+ }
40
+ const changed = {};
41
+ let isChanged = false;
42
+ for (const key of Object.keys(before)) {
43
+ const isDeleted = after ? !Object.hasOwn(after, key) : true;
44
+ if (isDeleted) {
45
+ changed[key] = undefined;
46
+ isChanged = true;
47
+ }
48
+ }
49
+ if (after) {
50
+ for (const key of Object.keys(after)) {
51
+ if (after[key] !== before[key]) {
52
+ changed[key] = after[key];
53
+ isChanged = true;
54
+ }
55
+ }
56
+ }
57
+ return isChanged ? changed : undefined;
58
+ };
59
+ const cleanupYogaNode = (node) => {
60
+ node?.unsetMeasureFunc();
61
+ node?.freeRecursive();
62
+ };
63
+ let currentUpdatePriority = NoEventPriority;
64
+ let currentRootNode;
65
+ async function loadPackageJson() {
66
+ const fs = await import('node:fs');
67
+ const content = fs.readFileSync(new URL('../package.json', import.meta.url), 'utf8');
68
+ return JSON.parse(content);
69
+ }
70
+ const packageJson = isDev()
71
+ ? await loadPackageJson()
72
+ : { name: undefined, version: undefined };
73
+ export default createReconciler({
74
+ getRootHostContext: () => ({
75
+ isInsideText: false,
76
+ }),
77
+ prepareForCommit: () => null,
78
+ preparePortalMount: () => null,
79
+ clearContainer: () => false,
80
+ resetAfterCommit(rootNode) {
81
+ if (typeof rootNode.onComputeLayout === 'function') {
82
+ rootNode.onComputeLayout();
83
+ }
84
+ // Since renders are throttled at the instance level and <Static> component children
85
+ // are rendered only once and then get deleted, we need an escape hatch to
86
+ // trigger an immediate render to ensure <Static> children are written to output before they get erased
87
+ if (rootNode.isStaticDirty) {
88
+ rootNode.isStaticDirty = false;
89
+ if (typeof rootNode.onImmediateRender === 'function') {
90
+ rootNode.onImmediateRender();
91
+ }
92
+ return;
93
+ }
94
+ if (typeof rootNode.onRender === 'function') {
95
+ rootNode.onRender();
96
+ }
97
+ },
98
+ getChildHostContext(parentHostContext, type) {
99
+ const previousIsInsideText = parentHostContext.isInsideText;
100
+ const isInsideText = type === 'ink-text' || type === 'ink-virtual-text';
101
+ if (previousIsInsideText === isInsideText) {
102
+ return parentHostContext;
103
+ }
104
+ return { isInsideText };
105
+ },
106
+ shouldSetTextContent: () => false,
107
+ createInstance(originalType, newProps, rootNode, hostContext) {
108
+ if (hostContext.isInsideText && originalType === 'ink-box') {
109
+ throw new Error(`<Box> can’t be nested inside <Text> component`);
110
+ }
111
+ const type = originalType === 'ink-text' && hostContext.isInsideText
112
+ ? 'ink-virtual-text'
113
+ : originalType;
114
+ const node = createNode(type);
115
+ for (const [key, value] of Object.entries(newProps)) {
116
+ if (key === 'children') {
117
+ continue;
118
+ }
119
+ if (key === 'style') {
120
+ setStyle(node, value);
121
+ if (node.yogaNode) {
122
+ applyStyles(node.yogaNode, value);
123
+ }
124
+ continue;
125
+ }
126
+ if (key === 'internal_transform') {
127
+ node.internal_transform = value;
128
+ continue;
129
+ }
130
+ if (key === 'internal_static') {
131
+ currentRootNode = rootNode;
132
+ node.internal_static = true;
133
+ rootNode.isStaticDirty = true;
134
+ // Save reference to <Static> node to skip traversal of entire
135
+ // node tree to find it
136
+ rootNode.staticNode = node;
137
+ continue;
138
+ }
139
+ setAttribute(node, key, value);
140
+ }
141
+ return node;
142
+ },
143
+ createTextInstance(text, _root, hostContext) {
144
+ if (!hostContext.isInsideText) {
145
+ throw new Error(`Text string "${text}" must be rendered inside <Text> component`);
146
+ }
147
+ return createTextNode(text);
148
+ },
149
+ resetTextContent() { },
150
+ hideTextInstance(node) {
151
+ setTextNodeValue(node, '');
152
+ },
153
+ unhideTextInstance(node, text) {
154
+ setTextNodeValue(node, text);
155
+ },
156
+ getPublicInstance: instance => instance,
157
+ hideInstance(node) {
158
+ node.yogaNode?.setDisplay(Yoga.DISPLAY_NONE);
159
+ },
160
+ unhideInstance(node) {
161
+ node.yogaNode?.setDisplay(Yoga.DISPLAY_FLEX);
162
+ },
163
+ appendInitialChild: appendChildNode,
164
+ appendChild: appendChildNode,
165
+ insertBefore: insertBeforeNode,
166
+ finalizeInitialChildren() {
167
+ return false;
168
+ },
169
+ isPrimaryRenderer: true,
170
+ supportsMutation: true,
171
+ supportsPersistence: false,
172
+ supportsHydration: false,
173
+ // Scheduler integration for concurrent mode
174
+ supportsMicrotasks: true,
175
+ scheduleMicrotask: queueMicrotask,
176
+ // @ts-expect-error @types/react-reconciler is outdated and doesn't include scheduleCallback
177
+ scheduleCallback: Scheduler.unstable_scheduleCallback,
178
+ cancelCallback: Scheduler.unstable_cancelCallback,
179
+ shouldYield: Scheduler.unstable_shouldYield,
180
+ now: Scheduler.unstable_now,
181
+ scheduleTimeout: setTimeout,
182
+ cancelTimeout: clearTimeout,
183
+ noTimeout: -1,
184
+ beforeActiveInstanceBlur() { },
185
+ afterActiveInstanceBlur() { },
186
+ detachDeletedInstance() { },
187
+ getInstanceFromNode: () => null,
188
+ prepareScopeUpdate() { },
189
+ getInstanceFromScope: () => null,
190
+ appendChildToContainer: appendChildNode,
191
+ insertInContainerBefore: insertBeforeNode,
192
+ removeChildFromContainer(node, removeNode) {
193
+ removeChildNode(node, removeNode);
194
+ cleanupYogaNode(removeNode.yogaNode);
195
+ },
196
+ commitUpdate(node, _type, oldProps, newProps) {
197
+ if (currentRootNode && node.internal_static) {
198
+ currentRootNode.isStaticDirty = true;
199
+ }
200
+ const props = diff(oldProps, newProps);
201
+ const style = diff(oldProps['style'], newProps['style']);
202
+ if (!props && !style) {
203
+ return;
204
+ }
205
+ if (props) {
206
+ for (const [key, value] of Object.entries(props)) {
207
+ if (key === 'style') {
208
+ setStyle(node, value);
209
+ continue;
210
+ }
211
+ if (key === 'internal_transform') {
212
+ node.internal_transform = value;
213
+ continue;
214
+ }
215
+ if (key === 'internal_static') {
216
+ node.internal_static = true;
217
+ continue;
218
+ }
219
+ setAttribute(node, key, value);
220
+ }
221
+ }
222
+ if (style && node.yogaNode) {
223
+ applyStyles(node.yogaNode, style);
224
+ }
225
+ },
226
+ commitTextUpdate(node, _oldText, newText) {
227
+ setTextNodeValue(node, newText);
228
+ },
229
+ removeChild(node, removeNode) {
230
+ removeChildNode(node, removeNode);
231
+ cleanupYogaNode(removeNode.yogaNode);
232
+ },
233
+ setCurrentUpdatePriority(newPriority) {
234
+ currentUpdatePriority = newPriority;
235
+ },
236
+ getCurrentUpdatePriority: () => currentUpdatePriority,
237
+ resolveUpdatePriority() {
238
+ if (currentUpdatePriority !== NoEventPriority) {
239
+ return currentUpdatePriority;
240
+ }
241
+ return DefaultEventPriority;
242
+ },
243
+ maySuspendCommit() {
244
+ // Return true to enable Suspense resource preloading
245
+ return true;
246
+ },
247
+ // eslint-disable-next-line @typescript-eslint/naming-convention
248
+ NotPendingTransition: undefined,
249
+ // eslint-disable-next-line @typescript-eslint/naming-convention
250
+ HostTransitionContext: createContext(null),
251
+ resetFormInstance() { },
252
+ requestPostPaintCallback() { },
253
+ shouldAttemptEagerTransition() {
254
+ return false;
255
+ },
256
+ trackSchedulerEvent() { },
257
+ resolveEventType() {
258
+ return null;
259
+ },
260
+ resolveEventTimeStamp() {
261
+ return -1.1;
262
+ },
263
+ preloadInstance() {
264
+ return true;
265
+ },
266
+ startSuspendingCommit() { },
267
+ suspendInstance() { },
268
+ waitForCommitToBeReady() {
269
+ return null;
270
+ },
271
+ rendererPackageName: packageJson.name,
272
+ rendererVersion: packageJson.version,
273
+ });
274
+ //# sourceMappingURL=reconciler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconciler.js","sourceRoot":"","sources":["../src/reconciler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type DOMNode } from './dom.js';
2
+ import type Output from './output.js';
3
+ declare const renderBackground: (x: number, y: number, node: DOMNode, output: Output) => void;
4
+ export default renderBackground;
@@ -0,0 +1,25 @@
1
+ import colorize from './colorize.js';
2
+ const renderBackground = (x, y, node, output) => {
3
+ if (!node.style.backgroundColor) {
4
+ return;
5
+ }
6
+ const width = node.yogaNode.getComputedWidth();
7
+ const height = node.yogaNode.getComputedHeight();
8
+ // Calculate the actual content area considering borders
9
+ const leftBorderWidth = node.style.borderStyle && node.style.borderLeft !== false ? 1 : 0;
10
+ const rightBorderWidth = node.style.borderStyle && node.style.borderRight !== false ? 1 : 0;
11
+ const topBorderHeight = node.style.borderStyle && node.style.borderTop !== false ? 1 : 0;
12
+ const bottomBorderHeight = node.style.borderStyle && node.style.borderBottom !== false ? 1 : 0;
13
+ const contentWidth = width - leftBorderWidth - rightBorderWidth;
14
+ const contentHeight = height - topBorderHeight - bottomBorderHeight;
15
+ if (!(contentWidth > 0 && contentHeight > 0)) {
16
+ return;
17
+ }
18
+ // Create background fill for each row
19
+ const backgroundLine = colorize(' '.repeat(contentWidth), node.style.backgroundColor, 'background');
20
+ for (let row = 0; row < contentHeight; row++) {
21
+ output.write(x + leftBorderWidth, y + topBorderHeight + row, backgroundLine, { transformers: [] });
22
+ }
23
+ };
24
+ export default renderBackground;
25
+ //# sourceMappingURL=render-background.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-background.js","sourceRoot":"","sources":["../src/render-background.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAC;AAIrC,MAAM,gBAAgB,GAAG,CACxB,CAAS,EACT,CAAS,EACT,IAAa,EACb,MAAc,EACP,EAAE;IACT,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QACjC,OAAO;IACR,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAS,CAAC,gBAAgB,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAS,CAAC,iBAAiB,EAAE,CAAC;IAElD,wDAAwD;IACxD,MAAM,eAAe,GACpB,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,gBAAgB,GACrB,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,eAAe,GACpB,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,kBAAkB,GACvB,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAErE,MAAM,YAAY,GAAG,KAAK,GAAG,eAAe,GAAG,gBAAgB,CAAC;IAChE,MAAM,aAAa,GAAG,MAAM,GAAG,eAAe,GAAG,kBAAkB,CAAC;IAEpE,IAAI,CAAC,CAAC,YAAY,GAAG,CAAC,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC;QAC9C,OAAO;IACR,CAAC;IAED,sCAAsC;IACtC,MAAM,cAAc,GAAG,QAAQ,CAC9B,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,EACxB,IAAI,CAAC,KAAK,CAAC,eAAe,EAC1B,YAAY,CACZ,CAAC;IAEF,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC;QAC9C,MAAM,CAAC,KAAK,CACX,CAAC,GAAG,eAAe,EACnB,CAAC,GAAG,eAAe,GAAG,GAAG,EACzB,cAAc,EACd,EAAC,YAAY,EAAE,EAAE,EAAC,CAClB,CAAC;IACH,CAAC;AACF,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type DOMNode } from './dom.js';
2
+ import type Output from './output.js';
3
+ declare const renderBorder: (x: number, y: number, node: DOMNode, output: Output) => void;
4
+ export default renderBorder;
@@ -0,0 +1,73 @@
1
+ import cliBoxes from 'cli-boxes';
2
+ import chalk from 'chalk';
3
+ import colorize from './colorize.js';
4
+ const renderBorder = (x, y, node, output) => {
5
+ if (node.style.borderStyle) {
6
+ const width = node.yogaNode.getComputedWidth();
7
+ const height = node.yogaNode.getComputedHeight();
8
+ const box = typeof node.style.borderStyle === 'string'
9
+ ? cliBoxes[node.style.borderStyle]
10
+ : node.style.borderStyle;
11
+ const topBorderColor = node.style.borderTopColor ?? node.style.borderColor;
12
+ const bottomBorderColor = node.style.borderBottomColor ?? node.style.borderColor;
13
+ const leftBorderColor = node.style.borderLeftColor ?? node.style.borderColor;
14
+ const rightBorderColor = node.style.borderRightColor ?? node.style.borderColor;
15
+ const dimTopBorderColor = node.style.borderTopDimColor ?? node.style.borderDimColor;
16
+ const dimBottomBorderColor = node.style.borderBottomDimColor ?? node.style.borderDimColor;
17
+ const dimLeftBorderColor = node.style.borderLeftDimColor ?? node.style.borderDimColor;
18
+ const dimRightBorderColor = node.style.borderRightDimColor ?? node.style.borderDimColor;
19
+ const showTopBorder = node.style.borderTop !== false;
20
+ const showBottomBorder = node.style.borderBottom !== false;
21
+ const showLeftBorder = node.style.borderLeft !== false;
22
+ const showRightBorder = node.style.borderRight !== false;
23
+ const contentWidth = width - (showLeftBorder ? 1 : 0) - (showRightBorder ? 1 : 0);
24
+ let topBorder = showTopBorder
25
+ ? colorize((showLeftBorder ? box.topLeft : '') +
26
+ box.top.repeat(contentWidth) +
27
+ (showRightBorder ? box.topRight : ''), topBorderColor, 'foreground')
28
+ : undefined;
29
+ if (showTopBorder && dimTopBorderColor) {
30
+ topBorder = chalk.dim(topBorder);
31
+ }
32
+ let verticalBorderHeight = height;
33
+ if (showTopBorder) {
34
+ verticalBorderHeight -= 1;
35
+ }
36
+ if (showBottomBorder) {
37
+ verticalBorderHeight -= 1;
38
+ }
39
+ let leftBorder = (colorize(box.left, leftBorderColor, 'foreground') + '\n').repeat(verticalBorderHeight);
40
+ if (dimLeftBorderColor) {
41
+ leftBorder = chalk.dim(leftBorder);
42
+ }
43
+ let rightBorder = (colorize(box.right, rightBorderColor, 'foreground') + '\n').repeat(verticalBorderHeight);
44
+ if (dimRightBorderColor) {
45
+ rightBorder = chalk.dim(rightBorder);
46
+ }
47
+ let bottomBorder = showBottomBorder
48
+ ? colorize((showLeftBorder ? box.bottomLeft : '') +
49
+ box.bottom.repeat(contentWidth) +
50
+ (showRightBorder ? box.bottomRight : ''), bottomBorderColor, 'foreground')
51
+ : undefined;
52
+ if (showBottomBorder && dimBottomBorderColor) {
53
+ bottomBorder = chalk.dim(bottomBorder);
54
+ }
55
+ const offsetY = showTopBorder ? 1 : 0;
56
+ if (topBorder) {
57
+ output.write(x, y, topBorder, { transformers: [] });
58
+ }
59
+ if (showLeftBorder) {
60
+ output.write(x, y + offsetY, leftBorder, { transformers: [] });
61
+ }
62
+ if (showRightBorder) {
63
+ output.write(x + width - 1, y + offsetY, rightBorder, {
64
+ transformers: [],
65
+ });
66
+ }
67
+ if (bottomBorder) {
68
+ output.write(x, y + height - 1, bottomBorder, { transformers: [] });
69
+ }
70
+ }
71
+ };
72
+ export default renderBorder;
73
+ //# sourceMappingURL=render-border.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-border.js","sourceRoot":"","sources":["../src/render-border.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { type DOMElement } from './dom.js';
2
+ import type Output from './output.js';
3
+ export type OutputTransformer = (s: string, index: number) => string;
4
+ export declare const renderNodeToScreenReaderOutput: (node: DOMElement, options?: {
5
+ parentRole?: string;
6
+ skipStaticElements?: boolean;
7
+ }) => string;
8
+ declare const renderNodeToOutput: (node: DOMElement, output: Output, options: {
9
+ offsetX?: number;
10
+ offsetY?: number;
11
+ transformers?: OutputTransformer[];
12
+ skipStaticElements: boolean;
13
+ }) => void;
14
+ export default renderNodeToOutput;
@@ -0,0 +1,147 @@
1
+ import widestLine from 'widest-line';
2
+ import indentString from 'indent-string';
3
+ import Yoga from 'yoga-layout';
4
+ import wrapText from './wrap-text.js';
5
+ import getMaxWidth from './get-max-width.js';
6
+ import squashTextNodes from './squash-text-nodes.js';
7
+ import renderBorder from './render-border.js';
8
+ import renderBackground from './render-background.js';
9
+ // If parent container is `<Box>`, text nodes will be treated as separate nodes in
10
+ // the tree and will have their own coordinates in the layout.
11
+ // To ensure text nodes are aligned correctly, take X and Y of the first text node
12
+ // and use it as offset for the rest of the nodes
13
+ // Only first node is taken into account, because other text nodes can't have margin or padding,
14
+ // so their coordinates will be relative to the first node anyway
15
+ const applyPaddingToText = (node, text) => {
16
+ const yogaNode = node.childNodes[0]?.yogaNode;
17
+ if (yogaNode) {
18
+ const offsetX = yogaNode.getComputedLeft();
19
+ const offsetY = yogaNode.getComputedTop();
20
+ text = '\n'.repeat(offsetY) + indentString(text, offsetX);
21
+ }
22
+ return text;
23
+ };
24
+ export const renderNodeToScreenReaderOutput = (node, options = {}) => {
25
+ if (options.skipStaticElements && node.internal_static) {
26
+ return '';
27
+ }
28
+ if (node.yogaNode?.getDisplay() === Yoga.DISPLAY_NONE) {
29
+ return '';
30
+ }
31
+ let output = '';
32
+ if (node.nodeName === 'ink-text') {
33
+ output = squashTextNodes(node);
34
+ }
35
+ else if (node.nodeName === 'ink-box' || node.nodeName === 'ink-root') {
36
+ const separator = node.style.flexDirection === 'row' ||
37
+ node.style.flexDirection === 'row-reverse'
38
+ ? ' '
39
+ : '\n';
40
+ const childNodes = node.style.flexDirection === 'row-reverse' ||
41
+ node.style.flexDirection === 'column-reverse'
42
+ ? [...node.childNodes].reverse()
43
+ : [...node.childNodes];
44
+ output = childNodes
45
+ .map(childNode => {
46
+ const screenReaderOutput = renderNodeToScreenReaderOutput(childNode, {
47
+ parentRole: node.internal_accessibility?.role,
48
+ skipStaticElements: options.skipStaticElements,
49
+ });
50
+ return screenReaderOutput;
51
+ })
52
+ .filter(Boolean)
53
+ .join(separator);
54
+ }
55
+ if (node.internal_accessibility) {
56
+ const { role, state } = node.internal_accessibility;
57
+ if (state) {
58
+ const stateKeys = Object.keys(state);
59
+ const stateDescription = stateKeys.filter(key => state[key]).join(', ');
60
+ if (stateDescription) {
61
+ output = `(${stateDescription}) ${output}`;
62
+ }
63
+ }
64
+ if (role && role !== options.parentRole) {
65
+ output = `${role}: ${output}`;
66
+ }
67
+ }
68
+ return output;
69
+ };
70
+ // After nodes are laid out, render each to output object, which later gets rendered to terminal
71
+ const renderNodeToOutput = (node, output, options) => {
72
+ const { offsetX = 0, offsetY = 0, transformers = [], skipStaticElements, } = options;
73
+ if (skipStaticElements && node.internal_static) {
74
+ return;
75
+ }
76
+ const { yogaNode } = node;
77
+ if (yogaNode) {
78
+ if (yogaNode.getDisplay() === Yoga.DISPLAY_NONE) {
79
+ return;
80
+ }
81
+ // Left and top positions in Yoga are relative to their parent node
82
+ const x = offsetX + yogaNode.getComputedLeft();
83
+ const y = offsetY + yogaNode.getComputedTop();
84
+ // Transformers are functions that transform final text output of each component
85
+ // See Output class for logic that applies transformers
86
+ let newTransformers = transformers;
87
+ if (typeof node.internal_transform === 'function') {
88
+ newTransformers = [node.internal_transform, ...transformers];
89
+ }
90
+ if (node.nodeName === 'ink-text') {
91
+ let text = squashTextNodes(node);
92
+ if (text.length > 0) {
93
+ const currentWidth = widestLine(text);
94
+ const maxWidth = getMaxWidth(yogaNode);
95
+ if (currentWidth > maxWidth) {
96
+ const textWrap = node.style.textWrap ?? 'wrap';
97
+ text = wrapText(text, maxWidth, textWrap);
98
+ }
99
+ text = applyPaddingToText(node, text);
100
+ output.write(x, y, text, { transformers: newTransformers });
101
+ }
102
+ return;
103
+ }
104
+ let clipped = false;
105
+ if (node.nodeName === 'ink-box') {
106
+ renderBackground(x, y, node, output);
107
+ renderBorder(x, y, node, output);
108
+ const clipHorizontally = node.style.overflowX === 'hidden' || node.style.overflow === 'hidden';
109
+ const clipVertically = node.style.overflowY === 'hidden' || node.style.overflow === 'hidden';
110
+ if (clipHorizontally || clipVertically) {
111
+ const x1 = clipHorizontally
112
+ ? x + yogaNode.getComputedBorder(Yoga.EDGE_LEFT)
113
+ : undefined;
114
+ const x2 = clipHorizontally
115
+ ? x +
116
+ yogaNode.getComputedWidth() -
117
+ yogaNode.getComputedBorder(Yoga.EDGE_RIGHT)
118
+ : undefined;
119
+ const y1 = clipVertically
120
+ ? y + yogaNode.getComputedBorder(Yoga.EDGE_TOP)
121
+ : undefined;
122
+ const y2 = clipVertically
123
+ ? y +
124
+ yogaNode.getComputedHeight() -
125
+ yogaNode.getComputedBorder(Yoga.EDGE_BOTTOM)
126
+ : undefined;
127
+ output.clip({ x1, x2, y1, y2 });
128
+ clipped = true;
129
+ }
130
+ }
131
+ if (node.nodeName === 'ink-root' || node.nodeName === 'ink-box') {
132
+ for (const childNode of node.childNodes) {
133
+ renderNodeToOutput(childNode, output, {
134
+ offsetX: x,
135
+ offsetY: y,
136
+ transformers: newTransformers,
137
+ skipStaticElements,
138
+ });
139
+ }
140
+ if (clipped) {
141
+ output.unclip();
142
+ }
143
+ }
144
+ }
145
+ };
146
+ export default renderNodeToOutput;
147
+ //# sourceMappingURL=render-node-to-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-node-to-output.js","sourceRoot":"","sources":["../src/render-node-to-output.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type { ReactNode } from 'react';
2
+ export type RenderToStringOptions = {
3
+ /**
4
+ Width of the virtual terminal in columns.
5
+
6
+ @default 80
7
+ */
8
+ columns?: number;
9
+ };
10
+ /**
11
+ Render a React element to a string synchronously. Unlike `render()`, this function does not write to stdout, does not set up any terminal event listeners, and returns the rendered output as a string.
12
+
13
+ Useful for generating documentation, writing output to files, testing, or any scenario where you need the rendered output as a string without starting a persistent terminal application.
14
+
15
+ **Notes:**
16
+
17
+ - Terminal-specific hooks (`useInput`, `useStdin`, `useStdout`, `useStderr`, `useApp`, `useFocus`, `useFocusManager`) return default no-op values since there is no terminal session. They will not throw, but they will not function as in a live terminal.
18
+ - `useEffect` callbacks will execute during rendering (due to synchronous rendering mode), but state updates they trigger will not affect the returned output, which reflects the initial render.
19
+ - `useLayoutEffect` callbacks fire synchronously during commit, so state updates they trigger **will** be reflected in the output.
20
+ - The `<Static>` component is supported — its output is prepended to the dynamic output.
21
+ - If a component throws during rendering, the error is propagated to the caller after cleanup.
22
+
23
+ @example
24
+ ```
25
+ import {renderToString, Text, Box} from 'ink';
26
+
27
+ const output = renderToString(
28
+ <Box padding={1}>
29
+ <Text color="green">Hello World</Text>
30
+ </Box>,
31
+ {columns: 40}
32
+ );
33
+
34
+ console.log(output);
35
+ ```
36
+ */
37
+ declare const renderToString: (node: ReactNode, options?: RenderToStringOptions) => string;
38
+ export default renderToString;