univer-cli 0.0.1 → 0.1.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 (179) hide show
  1. package/README.md +4 -19
  2. package/bin/univer.js +2 -0
  3. package/chunks/af-I8XQee0A-C_skFUAQ.js +1 -0
  4. package/chunks/as-DPw4kbfa-DygofBIw.js +1 -0
  5. package/chunks/be-hSu5_2AE-C4yx0dkX.js +1 -0
  6. package/chunks/bg-eIV91Ges-0BfvmPJk.js +1 -0
  7. package/chunks/bn-CF0YbkEW-BhkUFObd.js +1 -0
  8. package/chunks/build-id-DN-fKSnl.js +1 -0
  9. package/chunks/build-id-D_mUrRqk.js +1 -0
  10. package/chunks/ca-D0fayQwW-_2eeRnzJ.js +1 -0
  11. package/chunks/cop-gnNw8zDV-BtegSg5N.js +1 -0
  12. package/chunks/cs-cUOdqXi9-6Ce4_VjJ.js +1 -0
  13. package/chunks/cu-CJJk_6p3-Dnm3YurH.js +1 -0
  14. package/chunks/cy-he1_O-US-CDPjcjID.js +1 -0
  15. package/chunks/da-C_Tc6C75-BOOTyQR9.js +1 -0
  16. package/chunks/de-1901-D9yvXEO8-gYaiD1se.js +1 -0
  17. package/chunks/de-1996-DIBM3qkD-D6XEUqJR.js +1 -0
  18. package/chunks/de-ch-1901-BEDgpl3--DAbfln6w.js +1 -0
  19. package/chunks/el-monoton-BvjPOyvW-B5GwQVhz.js +1 -0
  20. package/chunks/el-polyton-DfJ9Eeih-DByhAD3t.js +1 -0
  21. package/chunks/en-gb-DYXoK50H-DG-HeMI0.js +1 -0
  22. package/chunks/en-us-ClVoWMyT-__WE0lqq.js +1 -0
  23. package/chunks/es-48latgZ8-DQzoARhx.js +1 -0
  24. package/chunks/et-UzX1rSXY-fewAqlMB.js +1 -0
  25. package/chunks/eu-ijD7H63T-_oQ96ozt.js +1 -0
  26. package/chunks/fi-DDuxAHu5-AniQNVc_.js +1 -0
  27. package/chunks/fr-6wTrAsbK-36zTVbIJ.js +1 -0
  28. package/chunks/fur-CcIOY8A9-CyN3hBUU.js +1 -0
  29. package/chunks/ga-B4Qvh5qS-m7wnv_f9.js +1 -0
  30. package/chunks/gl-D8H7uN6B-E9eu9VXD.js +1 -0
  31. package/chunks/grc-DFNi6G6p-DfbHh3zL.js +1 -0
  32. package/chunks/gu-0EahmEdu-59yZs75m.js +1 -0
  33. package/chunks/hi-C2ih9xmB-CQiWzrze.js +1 -0
  34. package/chunks/hr-CSbbBNUu-ZniyWoY5.js +1 -0
  35. package/chunks/hsb-hKsDwaW_-DvkHwjcp.js +1 -0
  36. package/chunks/hu-BPixuxjf-IUydVkCL.js +1 -0
  37. package/chunks/hy-CTtThTdl-BaomHGNy.js +1 -0
  38. package/chunks/ia-CYCjbabb-D_ENLbKo.js +1 -0
  39. package/chunks/id-Cgsp-bEu-BfIIzpB8.js +1 -0
  40. package/chunks/is-D_Awtowh-CmswR-So.js +1 -0
  41. package/chunks/it-C2qJSkm3-CsqS6qEQ.js +1 -0
  42. package/chunks/ka-DpGw5nvd-DR-ODgGO.js +1 -0
  43. package/chunks/kmr-CCdNyB20-DeoQ7FoN.js +1 -0
  44. package/chunks/kn-B4tAUtFU-DjiP9RdN.js +1 -0
  45. package/chunks/la-DIUYl8Yo-BDWwMqIi.js +1 -0
  46. package/chunks/la-x-classic-DsbLrq-C-5yUjObvo.js +1 -0
  47. package/chunks/la-x-liturgic-Ggenbcb5-EEFsdgzR.js +1 -0
  48. package/chunks/lt-BcizI7gZ-DeLeQRgz.js +1 -0
  49. package/chunks/lv-BOgrbf6v-BjZ3w91d.js +1 -0
  50. package/chunks/ml-CTD7giel-BRNY38pA.js +1 -0
  51. package/chunks/mn-cyrl-CDxGttkw-D-nSXJ0l.js +1 -0
  52. package/chunks/mn-cyrl-x-lmc-kjrnm3ii-Dp1u2i4L.js +1 -0
  53. package/chunks/mr-DttMNydl-BwLuUQv5.js +1 -0
  54. package/chunks/mul-ethi-mmW8ZEm0-DR0wex5D.js +1 -0
  55. package/chunks/nb-DCiD6jLz-DKGhZ0jb.js +1 -0
  56. package/chunks/nl-BKWsn_4x-CxInWgX8.js +1 -0
  57. package/chunks/nn-b0W3mz5j-BbAmUBus.js +1 -0
  58. package/chunks/no-B3l46gib-kTD7Jdgn.js +1 -0
  59. package/chunks/oc-zkqkXjNo-CrndBaMH.js +1 -0
  60. package/chunks/or-DEnI_Cls-CM-j2_sr.js +1 -0
  61. package/chunks/pa-Sh-QSMIs-CtktFmFk.js +1 -0
  62. package/chunks/pi-DxMx4Uwd-BO-Sh-Wt.js +1 -0
  63. package/chunks/pl-CISKU0vg-CVfLndZ-.js +1 -0
  64. package/chunks/pms-DUga94hR-Cr9OQbeS.js +1 -0
  65. package/chunks/pt-CzW61i2q-C74zeSdx.js +1 -0
  66. package/chunks/rm-C1U6i4AB-t8Vndftc.js +1 -0
  67. package/chunks/ro-DSU53KfM-B3sBBX6m.js +1 -0
  68. package/chunks/rolldown-runtime-D8j-JhcR.js +1 -0
  69. package/chunks/ru-gduZDLhv-CTca6COd.js +1 -0
  70. package/chunks/runtime-manifest-B0sadzmq.js +1 -0
  71. package/chunks/sa-Bney0xbB-CCsOvuOI.js +1 -0
  72. package/chunks/sh-cyrl-CCByyO89-CcNKgGwg.js +1 -0
  73. package/chunks/sh-latn-CTIiTfzt-DlMiPw3e.js +1 -0
  74. package/chunks/sk-DK-iy-nO-CMHn1Idf.js +1 -0
  75. package/chunks/sl-BvzIjkCq-BzceSY5z.js +1 -0
  76. package/chunks/sr-cyrl-7T4T5Th1-DA5jzXtF.js +1 -0
  77. package/chunks/sv-BynygC4t-BRG3GwM8.js +1 -0
  78. package/chunks/ta-CglfOvwm-BK7J3Vd4.js +1 -0
  79. package/chunks/te-Bec4xJud-DFC-QkQx.js +1 -0
  80. package/chunks/th-B67OcLue-ELWNgld1.js +1 -0
  81. package/chunks/tk-CYfVPVLR-BeyHQ08P.js +1 -0
  82. package/chunks/tr-BxhGLs2f-DCahplH9.js +1 -0
  83. package/chunks/uk-CnWqKnI0-CpiRt1At.js +1 -0
  84. package/chunks/vendor-COKhmG6S.js +834 -0
  85. package/chunks/zh-latn-pinyin-CKxTJrac-C5FQGc09.js +1 -0
  86. package/internal/daemon.js +2 -0
  87. package/internal/univer-runner.js +1 -0
  88. package/package.json +26 -9
  89. package/run-help/topics/core.md +144 -0
  90. package/run-help/topics/formatting.md +162 -0
  91. package/run-help/topics/formulas.md +85 -0
  92. package/run-help/topics/overview.md +92 -0
  93. package/run-help/topics/ranges.md +232 -0
  94. package/run-help/topics/sheets.md +110 -0
  95. package/view/browser/assets/af-I8XQee0A.js +1 -0
  96. package/view/browser/assets/as-DPw4kbfa.js +1 -0
  97. package/view/browser/assets/be-hSu5_2AE.js +1 -0
  98. package/view/browser/assets/bg-eIV91Ges.js +1 -0
  99. package/view/browser/assets/bn-CF0YbkEW.js +1 -0
  100. package/view/browser/assets/ca-D0fayQwW.js +1 -0
  101. package/view/browser/assets/cop-gnNw8zDV.js +1 -0
  102. package/view/browser/assets/cs-cUOdqXi9.js +1 -0
  103. package/view/browser/assets/cu-CJJk_6p3.js +1 -0
  104. package/view/browser/assets/cy-he1_O-US.js +1 -0
  105. package/view/browser/assets/da-C_Tc6C75.js +1 -0
  106. package/view/browser/assets/de-1901-D9yvXEO8.js +1 -0
  107. package/view/browser/assets/de-1996-DIBM3qkD.js +1 -0
  108. package/view/browser/assets/de-ch-1901-BEDgpl3-.js +1 -0
  109. package/view/browser/assets/el-monoton-BvjPOyvW.js +1 -0
  110. package/view/browser/assets/el-polyton-DfJ9Eeih.js +1 -0
  111. package/view/browser/assets/en-gb-DYXoK50H.js +1 -0
  112. package/view/browser/assets/en-us-ClVoWMyT.js +1 -0
  113. package/view/browser/assets/es-48latgZ8.js +1 -0
  114. package/view/browser/assets/et-UzX1rSXY.js +1 -0
  115. package/view/browser/assets/eu-ijD7H63T.js +1 -0
  116. package/view/browser/assets/fi-DDuxAHu5.js +1 -0
  117. package/view/browser/assets/fr-6wTrAsbK.js +1 -0
  118. package/view/browser/assets/fur-CcIOY8A9.js +1 -0
  119. package/view/browser/assets/ga-B4Qvh5qS.js +1 -0
  120. package/view/browser/assets/gl-D8H7uN6B.js +1 -0
  121. package/view/browser/assets/grc-DFNi6G6p.js +1 -0
  122. package/view/browser/assets/gu-0EahmEdu.js +1 -0
  123. package/view/browser/assets/hi-C2ih9xmB.js +1 -0
  124. package/view/browser/assets/hr-CSbbBNUu.js +1 -0
  125. package/view/browser/assets/hsb-hKsDwaW_.js +1 -0
  126. package/view/browser/assets/hu-BPixuxjf.js +1 -0
  127. package/view/browser/assets/hy-CTtThTdl.js +1 -0
  128. package/view/browser/assets/ia-CYCjbabb.js +1 -0
  129. package/view/browser/assets/id-Cgsp-bEu.js +1 -0
  130. package/view/browser/assets/is-D_Awtowh.js +1 -0
  131. package/view/browser/assets/it-C2qJSkm3.js +1 -0
  132. package/view/browser/assets/ka-DpGw5nvd.js +1 -0
  133. package/view/browser/assets/kmr-CCdNyB20.js +1 -0
  134. package/view/browser/assets/kn-B4tAUtFU.js +1 -0
  135. package/view/browser/assets/la-DIUYl8Yo.js +1 -0
  136. package/view/browser/assets/la-x-classic-DsbLrq-C.js +1 -0
  137. package/view/browser/assets/la-x-liturgic-Ggenbcb5.js +1 -0
  138. package/view/browser/assets/lt-BcizI7gZ.js +1 -0
  139. package/view/browser/assets/lv-BOgrbf6v.js +1 -0
  140. package/view/browser/assets/ml-CTD7giel.js +1 -0
  141. package/view/browser/assets/mn-cyrl-CDxGttkw.js +1 -0
  142. package/view/browser/assets/mn-cyrl-x-lmc-kjrnm3ii.js +1 -0
  143. package/view/browser/assets/mr-DttMNydl.js +1 -0
  144. package/view/browser/assets/mul-ethi-mmW8ZEm0.js +1 -0
  145. package/view/browser/assets/nb-DCiD6jLz.js +1 -0
  146. package/view/browser/assets/nl-BKWsn_4x.js +1 -0
  147. package/view/browser/assets/nn-b0W3mz5j.js +1 -0
  148. package/view/browser/assets/no-B3l46gib.js +1 -0
  149. package/view/browser/assets/oc-zkqkXjNo.js +1 -0
  150. package/view/browser/assets/or-DEnI_Cls.js +1 -0
  151. package/view/browser/assets/pa-Sh-QSMIs.js +1 -0
  152. package/view/browser/assets/pi-DxMx4Uwd.js +1 -0
  153. package/view/browser/assets/pl-CISKU0vg.js +1 -0
  154. package/view/browser/assets/pms-DUga94hR.js +1 -0
  155. package/view/browser/assets/pt-CzW61i2q.js +1 -0
  156. package/view/browser/assets/rm-C1U6i4AB.js +1 -0
  157. package/view/browser/assets/ro-DSU53KfM.js +1 -0
  158. package/view/browser/assets/rolldown-runtime.js +1 -0
  159. package/view/browser/assets/ru-gduZDLhv.js +1 -0
  160. package/view/browser/assets/sa-Bney0xbB.js +1 -0
  161. package/view/browser/assets/sh-cyrl-CCByyO89.js +1 -0
  162. package/view/browser/assets/sh-latn-CTIiTfzt.js +1 -0
  163. package/view/browser/assets/sk-DK-iy-nO.js +1 -0
  164. package/view/browser/assets/sl-BvzIjkCq.js +1 -0
  165. package/view/browser/assets/sr-cyrl-7T4T5Th1.js +1 -0
  166. package/view/browser/assets/sv-BynygC4t.js +1 -0
  167. package/view/browser/assets/ta-CglfOvwm.js +1 -0
  168. package/view/browser/assets/te-Bec4xJud.js +1 -0
  169. package/view/browser/assets/th-B67OcLue.js +1 -0
  170. package/view/browser/assets/tk-CYfVPVLR.js +1 -0
  171. package/view/browser/assets/tr-BxhGLs2f.js +1 -0
  172. package/view/browser/assets/uk-CnWqKnI0.js +1 -0
  173. package/view/browser/assets/vendor.js +321 -0
  174. package/view/browser/assets/viewer.css +2 -0
  175. package/view/browser/assets/viewer.js +1 -0
  176. package/view/browser/assets/viewer2.css +1 -0
  177. package/view/browser/assets/zh-latn-pinyin-CKxTJrac.js +1 -0
  178. package/view/browser/index.html +16 -0
  179. package/index.js +0 -4
@@ -0,0 +1 @@
1
+ import{t as e}from"./vendor-COKhmG6S.js";export{e as ZhLatnPinyin};
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ const _0x52e123=_0x12b1;(function(_0x8d4604,_0x3808f9){const _0x26044a=_0x12b1,_0x5c0b56=_0x8d4604();while(!![]){try{const _0x465945=-parseInt(_0x26044a(0x180))/0x1*(parseInt(_0x26044a(0x1a2))/0x2)+-parseInt(_0x26044a(0x15d))/0x3+-parseInt(_0x26044a(0x170))/0x4*(-parseInt(_0x26044a(0x18f))/0x5)+parseInt(_0x26044a(0x163))/0x6+parseInt(_0x26044a(0x15e))/0x7+parseInt(_0x26044a(0x1a5))/0x8+parseInt(_0x26044a(0x19c))/0x9*(-parseInt(_0x26044a(0x195))/0xa);if(_0x465945===_0x3808f9)break;else _0x5c0b56['push'](_0x5c0b56['shift']());}catch(_0x2a07ea){_0x5c0b56['push'](_0x5c0b56['shift']());}}}(_0x13e9,0xdb76a));import{a as _0x1e1bff,d as _0x4c5415,n,o as _0x53de57,r as _0x471266,u as _0x2d6035}from'../chunks/runtime-manifest-B0sadzmq.js';import{t as _0x21831b}from'../chunks/build-id-DN-fKSnl.js';import{existsSync as _0x6862a2}from'node:fs';import{chmod as _0x49ca62,mkdir as _0x2f8796,readFile as _0x148bf9,rm as _0x5362c4,writeFile as _0x1991f7}from'node:fs/promises';import _0x486220 from'node:net';function _0x12b1(_0x5efcea,_0x330c4a){_0x5efcea=_0x5efcea-0x14f;const _0x13e94c=_0x13e9();let _0x12b10f=_0x13e94c[_0x5efcea];return _0x12b10f;}import _0x127b31 from'node:process';var h=new _0x471266();async function g(_0x2c860e={}){const _0x4b12c3=_0x12b1;if(_0x127b31[_0x4b12c3(0x16d)]===_0x4b12c3(0x194))throw Error(_0x4b12c3(0x153));let _0x2308f9=_0x2c860e['env']??_0x127b31['env'],_0x46d699=_0x2d6035(_0x2308f9),_0x16fe4b=n(_0x2308f9),_0x1c3c8d=_0x2c860e[_0x4b12c3(0x17d)]??v(new _0x1e1bff({'env':_0x2308f9,'resolveExecutionPlaneOptions':()=>({'execArgv':[..._0x16fe4b[_0x4b12c3(0x1b8)][_0x4b12c3(0x1ae)]],'modulePath':_0x16fe4b[_0x4b12c3(0x1b8)][_0x4b12c3(0x1b5)]})})),_0x456c1=_0x21831b(_0x2308f9),_0x437572=new Date()[_0x4b12c3(0x19e)]();if(await _0x2f8796(_0x46d699[_0x4b12c3(0x166)],{'recursive':!0x0,'mode':0x1c0}),await _0x2f8796(_0x46d699[_0x4b12c3(0x172)],{'recursive':!0x0,'mode':0x1c0}),!await S(_0x46d699[_0x4b12c3(0x1a7)],_0x46d699[_0x4b12c3(0x150)])){if(await C(_0x46d699[_0x4b12c3(0x1b7)]))return;throw Error(_0x4b12c3(0x1a6)+_0x46d699['lockPath']);}await x(_0x46d699);let _0x57fddb=!0x1,_0x4056dd={},_0x5097c5=async _0x52a5cd=>D(null,-0x7f5b,Error(_0x4b12c3(0x16a)+_0x52a5cd)),_0x234d8a=_0x486220[_0x4b12c3(0x183)](_0x4ecd24=>{let _0x5a8bce='';_0x4ecd24['on']('data',_0x1c174e=>{const _0x5a5dcd=_0x12b1;_0x5a8bce+=_0x1c174e[_0x5a5dcd(0x177)](_0x5a5dcd(0x19a)),_0x411de5();}),_0x4ecd24['on']('error',()=>void 0x0);let _0x411de5=async()=>{const _0xc13911=_0x12b1;for(;;){let _0x54a86d=_0x5a8bce[_0xc13911(0x179)]('\x0a');if(_0x54a86d<0x0)return;let _0x18d320=_0x5a8bce[_0xc13911(0x160)](0x0,_0x54a86d)[_0xc13911(0x16c)]();if(_0x5a8bce=_0x5a8bce[_0xc13911(0x160)](_0x54a86d+0x1),!_0x18d320)continue;let _0x52f7b5=await _0x5097c5(_0x18d320);_0x4ecd24[_0xc13911(0x1a4)](JSON[_0xc13911(0x1a9)](_0x52f7b5)+'\x0a');}};});_0x5097c5=_({'buildId':_0x456c1,'logRequestError':async _0x825c39=>{const _0x28fcf9=_0x4b12c3;await _0x53de57(_0x46d699[_0x28fcf9(0x15c)],{'event':'daemon.request.error','method':_0x825c39['method'],'error':_0x825c39[_0x28fcf9(0x1b4)],'timestamp':_0x825c39[_0x28fcf9(0x1b0)]});},'onShutdownRequest':()=>{const _0x3b0c5b=_0x4b12c3;_0x3c7c98('rpc-shutdown')[_0x3b0c5b(0x168)](()=>{const _0x52d484=_0x3b0c5b;_0x127b31[_0x52d484(0x1b6)](0x0);});},'pid':_0x127b31[_0x4b12c3(0x19f)],'runtimeRoot':_0x46d699[_0x4b12c3(0x18e)],'sessionHost':_0x1c3c8d,'socketPath':_0x46d699[_0x4b12c3(0x1b7)],'startedAt':_0x437572}),await new Promise((_0x5bbd54,_0x420fa1)=>{const _0x4d2a86=_0x4b12c3;_0x234d8a[_0x4d2a86(0x165)](_0x4d2a86(0x1b4),_0x420fa1),_0x234d8a[_0x4d2a86(0x18a)](_0x46d699[_0x4d2a86(0x1b7)],_0x5bbd54);}),await _0x49ca62(_0x46d699[_0x4b12c3(0x1b7)],0x180);let _0x540cf2={'pid':_0x127b31[_0x4b12c3(0x19f)],'startedAt':_0x437572,'socketPath':_0x46d699[_0x4b12c3(0x1b7)],'runtimeRoot':_0x46d699[_0x4b12c3(0x18e)],'buildId':_0x456c1};await _0x1991f7(_0x46d699[_0x4b12c3(0x150)],String(_0x127b31[_0x4b12c3(0x19f)]),'utf8'),await _0x1991f7(_0x46d699[_0x4b12c3(0x188)],JSON[_0x4b12c3(0x1a9)](_0x540cf2,null,0x2),_0x4b12c3(0x19a)),await _0x53de57(_0x46d699['logPath'],{'event':_0x4b12c3(0x1a0),'pid':_0x127b31[_0x4b12c3(0x19f)],'socketPath':_0x46d699[_0x4b12c3(0x1b7)],'runtimeRoot':_0x46d699[_0x4b12c3(0x18e)],'startedAt':_0x437572,'buildId':_0x456c1});let _0x3f19cc=setInterval(()=>{const _0x52fae2=_0x4b12c3;_0x1c3c8d[_0x52fae2(0x157)]();},Math[_0x4b12c3(0x175)](0x3e8,Math[_0x4b12c3(0x15b)](_0x1c3c8d[_0x4b12c3(0x176)](),0xea60)));_0x3f19cc[_0x4b12c3(0x16f)](),_0x4056dd[_0x4b12c3(0x1b1)]=_0x3f19cc;async function _0x3c7c98(_0x4ab2fa){const _0x33ec1f=_0x4b12c3;_0x57fddb||(_0x57fddb=!0x0,_0x4056dd[_0x33ec1f(0x1b1)]!==void 0x0&&clearInterval(_0x4056dd['current']),await _0x53de57(_0x46d699[_0x33ec1f(0x15c)],{'event':_0x33ec1f(0x17b),'pid':_0x127b31['pid'],'reason':_0x4ab2fa,'timestamp':new Date()['toISOString']()}),await _0x1c3c8d['destroyAll'](_0x4ab2fa),await new Promise(_0x2a267d=>{const _0x82741=_0x33ec1f;_0x234d8a[_0x82741(0x1af)](()=>_0x2a267d());}),await _0x5362c4(_0x46d699['socketPath'],{'force':!0x0})[_0x33ec1f(0x152)](()=>void 0x0),await _0x5362c4(_0x46d699[_0x33ec1f(0x150)],{'force':!0x0})['catch'](()=>void 0x0),await _0x5362c4(_0x46d699[_0x33ec1f(0x188)],{'force':!0x0})[_0x33ec1f(0x152)](()=>void 0x0),await _0x5362c4(_0x46d699[_0x33ec1f(0x1a7)],{'recursive':!0x0,'force':!0x0})[_0x33ec1f(0x152)](()=>void 0x0));}_0x127b31['on'](_0x4b12c3(0x19b),()=>{const _0xc4819=_0x4b12c3;_0x3c7c98(_0xc4819(0x18b))[_0xc4819(0x168)](()=>{const _0x4a9227=_0xc4819;_0x127b31[_0x4a9227(0x1b6)](0x0);});}),_0x127b31['on'](_0x4b12c3(0x182),()=>{const _0x395533=_0x4b12c3;_0x3c7c98(_0x395533(0x171))[_0x395533(0x168)](()=>{const _0x472990=_0x395533;_0x127b31[_0x472990(0x1b6)](0x0);});});}function _(_0x4d65ad){return async _0x4e8b29=>{const _0x38a972=_0x12b1;let _0x2c8387;try{_0x2c8387=JSON[_0x38a972(0x197)](_0x4e8b29);}catch(_0x44aae9){return D(null,-0x7fbc,_0x44aae9);}try{switch(_0x2c8387[_0x38a972(0x184)]){case _0x4c5415[_0x38a972(0x1ba)]:return{'jsonrpc':_0x38a972(0x1b9),'id':_0x2c8387['id'],'result':{'ok':!0x0,'pid':_0x4d65ad['pid'],'startedAt':_0x4d65ad[_0x38a972(0x18d)],'socketPath':_0x4d65ad[_0x38a972(0x1b7)],'runtimeRoot':_0x4d65ad[_0x38a972(0x155)],'buildId':_0x4d65ad[_0x38a972(0x192)],'sessionCount':_0x4d65ad['sessionHost']['getSessionCount']()}};case _0x4c5415[_0x38a972(0x162)]:return _0x4d65ad[_0x38a972(0x17e)]?.(),{'jsonrpc':'2.0','id':_0x2c8387['id'],'result':{'stopping':!0x0}};case _0x4c5415[_0x38a972(0x164)]:{let _0x3953f4=await _0x4d65ad[_0x38a972(0x17d)]['loadWorkbook'](_0x2c8387[_0x38a972(0x191)]);return E(_0x2c8387['id'],_0x3953f4);}case _0x4c5415[_0x38a972(0x159)]:{let _0x2f68ab=await _0x4d65ad[_0x38a972(0x17d)][_0x38a972(0x1ac)](_0x2c8387[_0x38a972(0x191)]);return E(_0x2c8387['id'],_0x2f68ab);}case _0x4c5415['SessionCreateWorkbook']:{let _0x207902=await _0x4d65ad[_0x38a972(0x17d)][_0x38a972(0x1a3)](_0x2c8387[_0x38a972(0x191)]);return E(_0x2c8387['id'],_0x207902);}case _0x4c5415[_0x38a972(0x19d)]:{let _0x35cc6b=await _0x4d65ad[_0x38a972(0x17d)][_0x38a972(0x198)](_0x2c8387[_0x38a972(0x191)]);return E(_0x2c8387['id'],_0x35cc6b);}case _0x4c5415[_0x38a972(0x16b)]:{let _0x5be89c=await _0x4d65ad[_0x38a972(0x17d)]['exportWorkbookFile'](_0x2c8387[_0x38a972(0x191)]);return E(_0x2c8387['id'],_0x5be89c);}case _0x4c5415[_0x38a972(0x186)]:{let _0x46145d=_0x2c8387[_0x38a972(0x191)],_0x1fcd9f=await _0x4d65ad['sessionHost'][_0x38a972(0x169)](_0x46145d);return E(_0x2c8387['id'],_0x1fcd9f);}case _0x4c5415[_0x38a972(0x173)]:{let _0x5b2c40=await _0x4d65ad[_0x38a972(0x17d)][_0x38a972(0x154)](_0x2c8387[_0x38a972(0x191)]);return E(_0x2c8387['id'],_0x5b2c40);}case _0x4c5415[_0x38a972(0x15f)]:{let _0x43a607=await _0x4d65ad[_0x38a972(0x17d)][_0x38a972(0x189)](_0x2c8387[_0x38a972(0x191)]);return E(_0x2c8387['id'],_0x43a607);}default:return D(_0x2c8387['id'],-0x7f59,Error('Method\x20not\x20found:\x20'+_0x2c8387[_0x38a972(0x184)]));}}catch(_0x447825){return await _0x4d65ad[_0x38a972(0x14f)]?.({'method':_0x2c8387['method'],'error':_0x447825 instanceof Error?_0x447825[_0x38a972(0x167)]:String(_0x447825),'timestamp':new Date()[_0x38a972(0x19e)]()}),D(_0x2c8387['id'],-0x7f5b,_0x447825);}};}function v(_0x4fe433){return{async 'createWorkbook'(_0x44fed3){const _0xe01945=_0x12b1;let _0x4f82a5=await y(_0x44fed3),_0x2acf40=await _0x4fe433[_0xe01945(0x1a3)]({..._0x44fed3[_0xe01945(0x187)]===void 0x0?{}:{'cwd':_0x44fed3['cwd']},'identity':_0x4f82a5,..._0x44fed3['id']===void 0x0?{}:{'workbookId':_0x44fed3['id']},..._0x44fed3['name']===void 0x0?{}:{'workbookName':_0x44fed3[_0xe01945(0x185)]}});return{'success':!0x0,'workbookData':_0x2acf40[_0xe01945(0x15a)],'session':b(_0x2acf40[_0xe01945(0x199)])};},async 'dispose'(_0x4c0a3e){const _0x15b9d0=_0x12b1;let _0x4df176=await y(_0x4c0a3e);return await _0x4fe433[_0x15b9d0(0x154)]({..._0x4c0a3e[_0x15b9d0(0x187)]===void 0x0?{}:{'cwd':_0x4c0a3e[_0x15b9d0(0x187)]},'identity':_0x4df176}),{'disposed':!0x0,'workbookIdentity':_0x4df176[_0x15b9d0(0x17f)]};},async 'destroyAll'(_0x2dabef){const _0x23cb32=_0x12b1;await _0x4fe433[_0x23cb32(0x1ad)]?.(_0x2dabef);},async 'evalJs'(_0x1f1358){const _0x30d36b=_0x12b1;let _0x4b3573=await y(_0x1f1358),_0x298c4f=await _0x4fe433[_0x30d36b(0x198)]({'code':_0x1f1358[_0x30d36b(0x196)],..._0x1f1358[_0x30d36b(0x187)]===void 0x0?{}:{'cwd':_0x1f1358[_0x30d36b(0x187)]},'identity':_0x4b3573,..._0x1f1358[_0x30d36b(0x151)]===void 0x0?{}:{'mutates':_0x1f1358[_0x30d36b(0x151)]}});return{..._0x298c4f['mutations']===void 0x0?{}:{'mutations':_0x298c4f[_0x30d36b(0x161)]},'success':!0x0,'value':_0x298c4f[_0x30d36b(0x178)],'session':b(_0x298c4f[_0x30d36b(0x199)])};},async 'exportWorkbookData'(_0x1f00c9){const _0x4d49bc=_0x12b1;let _0x4adc7c=await y(_0x1f00c9),_0x133147=await _0x4fe433[_0x4d49bc(0x169)]({..._0x1f00c9[_0x4d49bc(0x187)]===void 0x0?{}:{'cwd':_0x1f00c9[_0x4d49bc(0x187)]},'identity':_0x4adc7c});return{'success':!0x0,'workbookData':_0x133147[_0x4d49bc(0x15a)],'session':b(_0x133147[_0x4d49bc(0x199)])};},async 'exportWorkbookFile'(_0x335ed0){const _0x54a78c=_0x12b1;let _0xc2783c=await y(_0x335ed0),_0x1dfb57=await _0x4fe433[_0x54a78c(0x193)]({..._0x335ed0[_0x54a78c(0x187)]===void 0x0?{}:{'cwd':_0x335ed0[_0x54a78c(0x187)]},'format':_0x335ed0['format'],'identity':_0xc2783c,'outputPath':_0x335ed0[_0x54a78c(0x1aa)]});return{'success':!0x0,'format':_0x1dfb57[_0x54a78c(0x156)],'outputPath':_0x1dfb57[_0x54a78c(0x1aa)],'sizeBytes':_0x1dfb57[_0x54a78c(0x174)],'session':b(_0x1dfb57[_0x54a78c(0x199)])};},async 'getWorkbookSession'(_0x77703b){const _0x4a617e=_0x12b1;let _0x1b8f80=await y(_0x77703b),_0x109ca5=await _0x4fe433[_0x4a617e(0x17c)]({..._0x77703b[_0x4a617e(0x187)]===void 0x0?{}:{'cwd':_0x77703b['cwd']},'identity':_0x1b8f80});return{'exists':_0x109ca5!==null,'session':_0x109ca5===null?null:b(_0x109ca5)};},'getSessionCount'(){const _0x45753b=_0x12b1;return _0x4fe433[_0x45753b(0x18c)]?.()??0x0;},'getSessionIdleTtlMs'(){const _0x221049=_0x12b1;return _0x4fe433[_0x221049(0x176)]?.()??0xea60;},async 'loadWorkbook'(_0x124eeb){const _0x3cb493=_0x12b1;let _0x583aca=await y(_0x124eeb),_0x40c1e5=await _0x4fe433[_0x3cb493(0x158)]({..._0x124eeb['cwd']===void 0x0?{}:{'cwd':_0x124eeb[_0x3cb493(0x187)]},'identity':_0x583aca,'workbookData':_0x124eeb[_0x3cb493(0x15a)]});return{'success':!0x0,'workbookData':_0x40c1e5[_0x3cb493(0x15a)],'session':b(_0x40c1e5['session'])};},async 'loadWorkbookDataReplayPack'(_0x405e3b){const _0x367bf2=_0x12b1;let _0x35f394=await y(_0x405e3b),_0x24a127=await _0x4fe433[_0x367bf2(0x1ac)]({..._0x405e3b[_0x367bf2(0x187)]===void 0x0?{}:{'cwd':_0x405e3b[_0x367bf2(0x187)]},'identity':_0x35f394,'replayPack':{'baseWorkbookData':_0x405e3b['baseWorkbookData'],'mutations':_0x405e3b[_0x367bf2(0x161)]}});return{'success':!0x0,'workbookData':_0x24a127[_0x367bf2(0x15a)],'session':b(_0x24a127[_0x367bf2(0x199)])};},async 'unloadIdleSessions'(){await _0x4fe433['unloadIdleSessions']?.();}};}async function y(_0x4670a1){return await h['resolveIdentity'](_0x4670a1);}function b(_0x25e749){const _0x50998f=_0x12b1;return{'createdAt':_0x25e749['createdAt']??'','lastAccessedAt':_0x25e749['lastAccessedAt']??'','sessionId':_0x25e749[_0x50998f(0x1ab)],'workbookIdentity':_0x25e749[_0x50998f(0x1b3)]['absolutePath']};}function _0x13e9(){const _0x3272b9=['exit','socketPath','runtimeExecutionPlaneEntry','2.0','Health','logRequestError','pidPath','mutates','catch','Unix\x20socket\x20daemon\x20transport\x20is\x20not\x20supported\x20on\x20Windows\x20in\x20this\x20version','dispose','runtimeRoot','format','unloadIdleSessions','loadWorkbookData','SessionLoadWorkbookDataReplayPack','workbookData','min','logPath','1542417SxvuoQ','8797271BnKexo','SessionGetWorkbook','slice','mutations','Shutdown','10658388ugeHlR','SessionLoadWorkbook','once','daemonDir','message','finally','exportWorkbookData','Daemon\x20handler\x20not\x20ready:\x20','SessionExportWorkbookFile','trim','platform','createConnection','unref','14756kVvows','sigterm','sessionRoot','SessionDispose','sizeBytes','max','getSessionIdleTtlMs','toString','value','indexOf','EEXIST','daemon.stop','getSession','sessionHost','onShutdownRequest','absolutePath','107tVbUmQ','Unknown\x20daemon\x20subcommand:\x20','SIGTERM','createServer','method','name','SessionExportWorkbookData','cwd','metaPath','getWorkbookSession','listen','sigint','getSessionCount','startedAt','homeDir','275OUHXKi','kill','params','buildId','exportWorkbookFile','win32','218570HMAxxC','code','parse','evalJs','session','utf8','SIGINT','738KcgENz','SessionEvalJs','toISOString','pid','daemon.start','end','14088cbiubC','createWorkbook','write','5783976PETZCN','Another\x20daemon\x20startup\x20owns\x20','lockPath','serve','stringify','outputPath','sessionId','loadWorkbookDataReplayPack','destroyAll','execArgv','close','timestamp','current','connect','packageIdentity','error','modulePath'];_0x13e9=function(){return _0x3272b9;};return _0x13e9();}async function x(_0x15cacc){const _0x33a015=_0x12b1;_0x6862a2(_0x15cacc[_0x33a015(0x1b7)])&&!await C(_0x15cacc['socketPath'])&&await _0x5362c4(_0x15cacc[_0x33a015(0x1b7)],{'force':!0x0});let _0x3a08c9=await w(_0x15cacc[_0x33a015(0x150)]);_0x3a08c9!==null&&!T(_0x3a08c9)&&(await _0x5362c4(_0x15cacc[_0x33a015(0x150)],{'force':!0x0})[_0x33a015(0x152)](()=>void 0x0),await _0x5362c4(_0x15cacc['metaPath'],{'force':!0x0})[_0x33a015(0x152)](()=>void 0x0),await _0x5362c4(_0x15cacc[_0x33a015(0x1a7)],{'recursive':!0x0,'force':!0x0})[_0x33a015(0x152)](()=>void 0x0));}async function S(_0x5b37d7,_0x40ebb6){const _0x403be2=_0x12b1;try{return await _0x2f8796(_0x5b37d7,{'recursive':!0x1,'mode':0x1c0}),!0x0;}catch(_0x2b0996){if(_0x2b0996[_0x403be2(0x196)]!==_0x403be2(0x17a))throw _0x2b0996;let _0x520d6b=await w(_0x40ebb6);return _0x520d6b!==null&&T(_0x520d6b)?!0x1:(await _0x5362c4(_0x5b37d7,{'recursive':!0x0,'force':!0x0}),await _0x2f8796(_0x5b37d7,{'recursive':!0x1,'mode':0x1c0}),!0x0);}}async function C(_0x5baffc){return await new Promise(_0x3ab05c=>{const _0x5dd3be=_0x12b1;let _0x23a601=_0x486220[_0x5dd3be(0x16e)](_0x5baffc);_0x23a601[_0x5dd3be(0x165)](_0x5dd3be(0x1b2),()=>{const _0x4ca7c9=_0x5dd3be;_0x23a601[_0x4ca7c9(0x1a1)](),_0x3ab05c(!0x0);}),_0x23a601[_0x5dd3be(0x165)]('error',()=>{_0x3ab05c(!0x1);});});}async function w(_0x1f72af){const _0x3b7641=_0x12b1;try{let _0xafdcca=await _0x148bf9(_0x1f72af,_0x3b7641(0x19a)),_0x4483f8=Number(_0xafdcca[_0x3b7641(0x16c)]());return Number['isFinite'](_0x4483f8)?_0x4483f8:null;}catch{return null;}}function T(_0x3560ca){const _0x42d7f0=_0x12b1;try{return _0x127b31[_0x42d7f0(0x190)](_0x3560ca,0x0),!0x0;}catch{return!0x1;}}function E(_0x49a3f4,_0x40424e){const _0x221078=_0x12b1;return{'jsonrpc':_0x221078(0x1b9),'id':_0x49a3f4,'result':_0x40424e};}function D(_0x26c6a3,_0x35efd6,_0x48c091){const _0x1c0e5c=_0x12b1;return{'jsonrpc':_0x1c0e5c(0x1b9),'id':_0x26c6a3,'error':{'code':_0x35efd6,'message':_0x48c091 instanceof Error?_0x48c091[_0x1c0e5c(0x167)]:String(_0x48c091)}};}var O=process['argv'][0x2]??_0x52e123(0x1a8);O!=='serve'&&(console['error'](_0x52e123(0x181)+O),process[_0x52e123(0x1b6)](0x1)),g()[_0x52e123(0x152)](_0x285321=>{const _0x56152b=_0x52e123;console['error'](_0x285321 instanceof Error?_0x285321[_0x56152b(0x167)]:String(_0x285321)),process[_0x56152b(0x1b6)](0x1);});
@@ -0,0 +1 @@
1
+ const _0xd45519=_0x4dfe;(function(_0x48052d,_0x59eee1){const _0x250dd6=_0x4dfe,_0x29fea4=_0x48052d();while(!![]){try{const _0x350e01=-parseInt(_0x250dd6(0xc2))/0x1+-parseInt(_0x250dd6(0xec))/0x2+-parseInt(_0x250dd6(0x110))/0x3+-parseInt(_0x250dd6(0x109))/0x4+parseInt(_0x250dd6(0xca))/0x5+parseInt(_0x250dd6(0x111))/0x6*(parseInt(_0x250dd6(0xfa))/0x7)+parseInt(_0x250dd6(0xfc))/0x8;if(_0x350e01===_0x59eee1)break;else _0x29fea4['push'](_0x29fea4['shift']());}catch(_0x170b70){_0x29fea4['push'](_0x29fea4['shift']());}}}(_0x40af,0xe8446));import{$t as _0x369a19,At as _0x289dfb,Dt as _0x48e693,Et as _0x2da5b3,Ft as _0x20c090,It as _0x1c17d5,Jt as _0x57f703,Lt as _0x57f4c4,Mt as _0x47dc9c,Nt as _0x1590e1,Ot as _0x5d7da6,Pt as _0x1c0a22,Qt as _0x903d8c,Rt as _0x3bba5b,Tt as _0x5f11a6,Xt as _0x24d688,Yt as _0x5c617e,Zt as _0x5b1e44,an as _0x397ad0,cn as _0x360687,dn as _0x3575f5,en as _0x3c9d1f,in as _0x36608d,jt as _0x3edd4d,kt as _0x51e8ad,ln as _0x4683f2,on as _0x316407,qt as _0x29255a,sn as _0x2c2ea5,tn as _0x18f824,un as _0x18fd53,wt as _0x18a04c}from'../chunks/vendor-COKhmG6S.js';import{writeFile as _0x4d1a98}from'node:fs/promises';var N='0.21.1',P=_0xd45519(0xdb),F=_0xd45519(0xd2),I='Sheet1',L=0x3e8,R=0x1a,z=_0xd45519(0xeb);function B(){const _0x2b5bdc=_0xd45519;let _0x2af854=new _0x360687({'locale':_0x2c2ea5[_0x2b5bdc(0xba)],'locales':{[_0x2c2ea5[_0x2b5bdc(0xba)]]:_0x4683f2(_0x1c17d5,_0x1c0a22)}});_0x2af854['registerPlugin'](_0x903d8c),_0x2af854[_0x2b5bdc(0xfd)](_0x369a19),_0x2af854['registerPlugin'](_0x20c090),_0x2af854[_0x2b5bdc(0xfd)](_0x3c9d1f),_0x1590e1[_0x2b5bdc(0xf9)]=N,_0x5d7da6[_0x2b5bdc(0xf9)]=N,_0x2af854[_0x2b5bdc(0xfd)](_0x1590e1,{'enableDynamicToolExecution':!0x0}),_0x2af854[_0x2b5bdc(0xfd)](_0x5d7da6),_0x2af854[_0x2b5bdc(0xfd)](_0x18f824),_0x2af854[_0x2b5bdc(0xfd)](_0x2da5b3),_0x2af854[_0x2b5bdc(0xfd)](_0x24d688),_0x2af854[_0x2b5bdc(0xfd)](_0x29255a),_0x2af854['registerPlugin'](_0x5f11a6),_0x2af854['registerPlugin'](_0x3edd4d),_0x2af854[_0x2b5bdc(0xfd)](_0x5c617e),_0x2af854[_0x2b5bdc(0xfd)](_0x51e8ad),_0x2af854['registerPlugin'](_0x57f703),_0x2af854['registerPlugin'](_0x48e693),_0x2af854[_0x2b5bdc(0xfd)](_0x5b1e44),_0x2af854[_0x2b5bdc(0xfd)](_0x18a04c),_0x2af854[_0x2b5bdc(0xfd)](_0x289dfb);let _0x8be37a=_0x3bba5b[_0x2b5bdc(0xd3)](_0x2af854),_0x46576b=_0x2af854[_0x2b5bdc(0xbc)](),_0x441b5b=_0x46576b[_0x2b5bdc(0xd5)](_0x47dc9c);_0x441b5b[_0x2b5bdc(0xe1)]=!0x1;let _0x5dfeb6=_0x46576b[_0x2b5bdc(0xd5)](_0x397ad0),_0x5c649f=_0x46576b[_0x2b5bdc(0xd5)](_0x316407),_0x10a5c8=null,_0x4986c5=null,_0x3c9759=_0x5dfeb6[_0x2b5bdc(0xfb)]((_0x3aad4b,_0x5101cc)=>{const _0xbd73a6=_0x2b5bdc;if(_0x10a5c8===null)return;let _0x525e65=V(_0x3aad4b,_0x5101cc,_0x10a5c8['unitId']);_0x525e65!==null&&_0x10a5c8[_0xbd73a6(0xf5)]['push'](_0x525e65);}),_0x252557={'univer':_0x2af854,'univerAPI':_0x8be37a,'createWorkbook'(_0x469898){return _0x5b9be0(K(_0x469898));},'dispose'(){const _0x31500d=_0x2b5bdc;_0x3c9759[_0x31500d(0xed)](),_0x423f39(),_0x2af854['dispose']();},async 'evalJs'(_0x131b0a,_0x247a8f=0x186a0){const _0xc3663b=_0x2b5bdc;if(_0x131b0a[_0xc3663b(0xd4)]>_0x247a8f)throw Error(_0xc3663b(0xda)+_0x247a8f+_0xc3663b(0xe2));return await Function('univerAPI',_0xc3663b(0xe6)+_0x131b0a+_0xc3663b(0x105))(_0x8be37a);},async 'evalJsWithMutationCapture'(_0x438a03,_0x478355=0x186a0){const _0x432319=_0x2b5bdc;let _0x25d12f=_0x5df809()[_0x432319(0xdd)]();if(_0x10a5c8!==null)throw Error(_0x432319(0xf0));let _0x8d5929={'mutations':[],'unitId':_0x25d12f};_0x10a5c8=_0x8d5929;try{return{'value':await _0x252557['evalJs'](_0x438a03,_0x478355),'mutations':_0x8d5929[_0x432319(0xf5)]};}finally{_0x10a5c8=null;}},async 'exportWorkbookFile'(_0x2a9648,_0x5c734a){const _0x3395a1=_0x2b5bdc;let _0x282976=_0x252557[_0x3395a1(0xc8)]();if(_0x5c734a===_0x3395a1(0x10e)){let _0x450627=U(_0x282976);return await _0x4d1a98(_0x2a9648,_0x450627,_0x3395a1(0xc9)),{'format':_0x5c734a,'outputPath':_0x2a9648,'sizeBytes':Buffer[_0x3395a1(0x10c)](_0x450627,_0x3395a1(0xc9))};}throw Error(_0x3395a1(0xcd));},'exportWorkbookData'(){const _0x9fb11a=_0x2b5bdc;let _0x21759f=_0x5df809();return _0x46576b[_0x9fb11a(0x107)](_0x57f4c4,_0x21759f)[_0x9fb11a(0xe0)]();},'loadWorkbookDataReplayPack'(_0x328d98){const _0x567838=_0x2b5bdc;return _0x5b9be0(_0x328d98['baseWorkbookData']),_0x2928fc(_0x328d98[_0x567838(0xf5)]),_0x252557[_0x567838(0xc8)]();},'loadWorkbookData':_0x5b9be0};return _0x252557;function _0x423f39(){const _0x3f5d05=_0x2b5bdc;_0x4986c5&&=(_0x5c649f[_0x3f5d05(0xd6)](_0x4986c5),null);}function _0x5df809(){const _0x4e1cff=_0x2b5bdc;if(!_0x4986c5)throw Error(_0x4e1cff(0xe3));let _0x193ec7=_0x5c649f[_0x4e1cff(0x113)](_0x4986c5,_0x3575f5['UNIVER_SHEET']);if(!_0x193ec7)throw Error('Workbook\x20not\x20found:\x20'+_0x4986c5);return _0x193ec7;}function _0x5b9be0(_0x2dbd6a){const _0x263f1e=_0x2b5bdc;return _0x423f39(),_0x4986c5=_0x5c649f[_0x263f1e(0xc3)](_0x3575f5[_0x263f1e(0xc6)],structuredClone(_0x2dbd6a))[_0x263f1e(0xdd)](),_0x252557[_0x263f1e(0xc8)]();}function _0x2928fc(_0x4d1c7f){const _0x304a57=_0x2b5bdc;if(_0x4d1c7f[_0x304a57(0xd4)]===0x0)return;let _0x1be83e=_0x18fd53(_0x4d1c7f[_0x304a57(0xcc)](_0x4984cb=>({'id':_0x4984cb['id'],'params':structuredClone(_0x4984cb[_0x304a57(0xbb)]),'type':_0x36608d[_0x304a57(0xf3)]})),_0x5dfeb6,{'fromChangeset':!0x0,'onlyLocal':!0x0});if(!_0x1be83e[_0x304a57(0xd1)]){let _0x5b3116=_0x4d1c7f[_0x1be83e[_0x304a57(0xe4)]];throw Error(_0x304a57(0xbe)+(_0x5b3116?.['id']??_0x304a57(0x10f))+'\x20at\x20index\x20'+_0x1be83e['index']);}}}function V(_0x475a7d,_0xe657b2,_0x5ca4ad){const _0x2c9cca=_0xd45519;return _0x475a7d[_0x2c9cca(0xfe)]!==_0x36608d[_0x2c9cca(0xf3)]||_0xe657b2?.[_0x2c9cca(0x108)]||_0xe657b2?.['onlyLocal']||_0x475a7d['id']===z||!H(_0x475a7d[_0x2c9cca(0xbb)])||_0x475a7d[_0x2c9cca(0xbb)][_0x2c9cca(0x10a)]!==_0x5ca4ad?null:{'id':_0x475a7d['id'],'params':structuredClone(_0x475a7d[_0x2c9cca(0xbb)]),'type':_0x36608d[_0x2c9cca(0xf3)]};}function _0x40af(){const _0x5fe153=['number','keys','loadWorkbookDataReplayPack','Code\x20too\x20long\x20(max\x20','enUS','send','getUnitId','evalJsWithMutationCapture','loadWorkbook','save','enableAutoConnect','\x20characters)','Workbook\x20not\x20loaded','index','sheetOrder','return\x20(async\x20()\x20=>\x20{\x20','disconnect','ready','rpc-response','string','doc.mutation.rich-text-editing','1880276hCdBJr','dispose','loadWorkbookData','data','Mutation\x20collection\x20is\x20already\x20active','format','isArray','MUTATION','sort','mutations','toString','mutates','workbook-','version','21DqdvZT','onMutationExecutedForCollab','13604168yQoUDH','registerPlugin','type','evaljs','code','SIGTERM','object','name','exit','\x20})();','EvalJs','createInstance','fromCollab','627300RbeqGO','unitId','outputPath','byteLength','LoadWorkbookDataReplayPack','csv','<unknown>','65526JdzNkp','1814280QKKFtr','tail','getUnit','sheets','2.0','join','Method\x20not\x20implemented:\x20','isFinite','EN_US','params','__getInjector','ExportWorkbookFile','Failed\x20to\x20replay\x20mutation\x20','message','filter','push','1441283xODrzv','createUnit','ExportWorkbookData','createWorkbook','UNIVER_SHEET','enqueue','exportWorkbookData','utf8','4518965clPpcu','CreateWorkbook','map','runtime\x20xlsx\x20export\x20is\x20not\x20available;\x20use\x20workbook\x20exchange\x20export','method','cellData','exportWorkbookFile','result','sheet-1','newAPI','length','get','disposeUnit'];_0x40af=function(){return _0x5fe153;};return _0x40af();}function H(_0x5fc814){const _0x1c400b=_0xd45519;return typeof _0x5fc814==_0x1c400b(0x102)&&!!_0x5fc814&&!Array[_0x1c400b(0xf2)](_0x5fc814);}function U(_0x329dd2){const _0x31ccd0=_0xd45519;let _0x146bda=_0x329dd2[_0x31ccd0(0xe5)]?.[0x0];if(!_0x146bda)return'';let _0x5ca3bf=_0x329dd2[_0x31ccd0(0x114)]?.[_0x146bda];if(!_0x5ca3bf?.[_0x31ccd0(0xcf)])return'';let _0x598598=Object[_0x31ccd0(0xd8)](_0x5ca3bf[_0x31ccd0(0xcf)])[_0x31ccd0(0xcc)](Number)['filter'](Number[_0x31ccd0(0xb9)])[_0x31ccd0(0xf4)]((_0x1f78e2,_0x1f9db3)=>_0x1f78e2-_0x1f9db3),_0x3f1cae=[];for(let _0x4a24d2 of _0x598598){let _0xf58af3=_0x5ca3bf['cellData'][_0x4a24d2];if(!_0xf58af3)continue;let _0x15a209=Object['keys'](_0xf58af3)['map'](Number)[_0x31ccd0(0xc0)](Number['isFinite'])[_0x31ccd0(0xf4)]((_0x46ce5d,_0x313d7e)=>_0x46ce5d-_0x313d7e),_0x3735e6=[];for(let _0x5c3c6e of _0x15a209){let _0x35b828=_0xf58af3[_0x5c3c6e];_0x3735e6[_0x5c3c6e]=G(W(_0x35b828));}_0x3f1cae[_0x31ccd0(0xc1)](_0x3735e6['map'](_0x56b2dc=>_0x56b2dc??'')['join'](','));}return _0x3f1cae[_0x31ccd0(0x116)]('\x0a');}function W(_0x4a98c3){const _0x27c331=_0xd45519;if(!_0x4a98c3||typeof _0x4a98c3!='object')return'';let _0x14a2fb=_0x4a98c3;return typeof _0x14a2fb['v']==_0x27c331(0xea)?_0x14a2fb['v']:typeof _0x14a2fb['v']==_0x27c331(0xd7)||typeof _0x14a2fb['v']=='boolean'?String(_0x14a2fb['v']):typeof _0x14a2fb['p']==_0x27c331(0xea)?_0x14a2fb['p']:'';}function G(_0x58f2d8){return/[",\n]/['test'](_0x58f2d8)?'\x22'+_0x58f2d8['replaceAll']('\x22','\x22\x22')+'\x22':_0x58f2d8;}function _0x4dfe(_0x3fc797,_0x108a3a){_0x3fc797=_0x3fc797-0xb8;const _0x40af07=_0x40af();let _0x4dfeca=_0x40af07[_0x3fc797];return _0x4dfeca;}function K(_0x1657de={}){const _0x35d301=_0xd45519;let _0x430f3b=_0x1657de['id']??_0x35d301(0xf8)+Date['now']()[_0x35d301(0xf6)](0x24);return{'id':_0x430f3b,'name':_0x1657de[_0x35d301(0x103)]??_0x430f3b,'appVersion':N,'locale':P,'styles':{},'sheetOrder':[F],'sheets':{[F]:{'id':F,'name':I,'rowCount':L,'columnCount':R,'cellData':{}}},'resources':[]};}let q=function(_0x889ff0){const _0x2a8ca3=_0xd45519;return _0x889ff0[_0x2a8ca3(0xcb)]=_0x2a8ca3(0xc5),_0x889ff0[_0x2a8ca3(0x106)]=_0x2a8ca3(0xff),_0x889ff0['ExportWorkbookFile']=_0x2a8ca3(0xd0),_0x889ff0[_0x2a8ca3(0xc4)]=_0x2a8ca3(0xc8),_0x889ff0['LoadWorkbook']=_0x2a8ca3(0xdf),_0x889ff0[_0x2a8ca3(0x10d)]=_0x2a8ca3(0xd9),_0x889ff0;}({});var J=class{[_0xd45519(0x112)]=Promise['resolve']();async['enqueue'](_0x2aecfa){const _0x235ddb=_0xd45519;let _0x507962=this[_0x235ddb(0x112)],_0x988091;this[_0x235ddb(0x112)]=new Promise(_0x3a720a=>{_0x988091=_0x3a720a;}),await _0x507962;try{return await _0x2aecfa();}finally{_0x988091?.();}}},Y=B(),X=new J();process[_0xd45519(0xdc)]?.({'type':_0xd45519(0xe8)}),process['on'](_0xd45519(0xbf),async _0x443f2b=>{const _0x2608c6=_0xd45519;if(_0x443f2b?.['type']!=='rpc-request')return;let _0x2466f1=await Z(_0x443f2b[_0x2608c6(0xef)]);process['send']?.({'type':_0x2608c6(0xe9),'id':_0x443f2b['id'],'data':_0x2466f1});}),process['on'](_0xd45519(0xe7),()=>{const _0x57898e=_0xd45519;Y[_0x57898e(0xed)](),process[_0x57898e(0x104)](0x0);}),process['on'](_0xd45519(0x101),()=>{const _0x55c186=_0xd45519;Y[_0x55c186(0xed)](),process[_0x55c186(0x104)](0x0);});async function Z(_0x50d0c0){const _0x2e3690=_0xd45519;try{switch(_0x50d0c0[_0x2e3690(0xce)]){case q[_0x2e3690(0xcb)]:{let _0x24fb4f=Y[_0x2e3690(0xc5)](_0x50d0c0[_0x2e3690(0xbb)]??{});return{'jsonrpc':_0x2e3690(0x115),'id':_0x50d0c0['id'],'result':{'success':!0x0,'workbookData':_0x24fb4f}};}case q['LoadWorkbook']:{let _0xf1eedc=Y[_0x2e3690(0xee)](_0x50d0c0[_0x2e3690(0xbb)]['workbookData']);return{'jsonrpc':_0x2e3690(0x115),'id':_0x50d0c0['id'],'result':{'success':!0x0,'workbookData':_0xf1eedc}};}case q[_0x2e3690(0x10d)]:{let _0x1729e3=Y['loadWorkbookDataReplayPack'](_0x50d0c0[_0x2e3690(0xbb)]);return{'jsonrpc':_0x2e3690(0x115),'id':_0x50d0c0['id'],'result':{'success':!0x0,'workbookData':_0x1729e3}};}case q[_0x2e3690(0xc4)]:return{'jsonrpc':_0x2e3690(0x115),'id':_0x50d0c0['id'],'result':{'success':!0x0,'workbookData':Y[_0x2e3690(0xc8)]()}};case q[_0x2e3690(0xbd)]:{let _0x598449=_0x50d0c0['params'],_0x3fbfe6=await Y[_0x2e3690(0xd0)](_0x598449[_0x2e3690(0x10b)],_0x598449[_0x2e3690(0xf1)]);return{'jsonrpc':_0x2e3690(0x115),'id':_0x50d0c0['id'],'result':{'success':!0x0,..._0x3fbfe6}};}case q[_0x2e3690(0x106)]:{let _0x253799=_0x50d0c0['params']??{},_0x32a6ca=async()=>{const _0x35771d=_0x2e3690;let _0x1435cd=_0x253799[_0x35771d(0xf7)]?await Y[_0x35771d(0xde)](_0x253799[_0x35771d(0x100)]):{'value':await Y['evalJs'](_0x253799[_0x35771d(0x100)]),'mutations':void 0x0};return{'success':!0x0,..._0x1435cd[_0x35771d(0xf5)]===void 0x0?{}:{'mutations':_0x1435cd[_0x35771d(0xf5)]},'value':_0x1435cd['value']};},_0x4d796d=_0x253799[_0x2e3690(0xf7)]?await X[_0x2e3690(0xc7)](_0x32a6ca):await _0x32a6ca();return{'jsonrpc':_0x2e3690(0x115),'id':_0x50d0c0['id'],'result':_0x4d796d};}default:throw Error(_0x2e3690(0xb8)+String(_0x50d0c0[_0x2e3690(0xce)]));}}catch(_0x2b64a8){return{'jsonrpc':_0x2e3690(0x115),'id':_0x50d0c0['id'],'error':{'code':-0x7f5b,'message':_0x2b64a8 instanceof Error?_0x2b64a8['message']:String(_0x2b64a8)}};}}
package/package.json CHANGED
@@ -1,15 +1,32 @@
1
1
  {
2
2
  "name": "univer-cli",
3
- "version": "0.0.1",
4
- "description": "Univer CLI - A command-line tool for Univer",
5
- "main": "index.js",
6
- "scripts": {
7
- "test": "echo \"Error: no test specified\" && exit 1"
3
+ "version": "0.1.0",
4
+ "description": "Command-line tools for local Univer workbook automation.",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/dream-num/univer.git"
8
8
  },
9
- "keywords": ["univer", "cli"],
10
- "author": "",
11
- "license": "ISC",
12
- "type": "commonjs",
9
+ "homepage": "https://github.com/dream-num/univer#readme",
10
+ "bugs": {
11
+ "url": "https://github.com/dream-num/univer/issues"
12
+ },
13
+ "keywords": [
14
+ "automation",
15
+ "cli",
16
+ "spreadsheet",
17
+ "univer",
18
+ "univer-cli",
19
+ "workbook",
20
+ "xlsx"
21
+ ],
22
+ "type": "module",
23
+ "bin": {
24
+ "univer": "./bin/univer.js"
25
+ },
26
+ "dependencies": {
27
+ "@univerjs-pro/uexcli": "0.1.20"
28
+ },
29
+ "private": false,
13
30
  "publishConfig": {
14
31
  "registry": "https://registry.npmjs.org/"
15
32
  }
@@ -0,0 +1,144 @@
1
+ # Core
2
+
3
+ This topic groups the workbook, worksheet, and structural APIs behind most `run` tasks.
4
+
5
+ ## Object Hierarchy
6
+
7
+ ```text
8
+ univerAPI
9
+ -> getActiveWorkbook() -> FWorkbook
10
+ -> getSheetByName(name) -> FWorksheet | null
11
+ -> getRange(...) -> FRange
12
+ ```
13
+
14
+ ## Entry Point
15
+
16
+ Start from the active workbook:
17
+
18
+ ```javascript
19
+ const workbook = univerAPI.getActiveWorkbook();
20
+ ```
21
+
22
+ Top-level APIs used most often:
23
+
24
+ - `univerAPI.getActiveWorkbook() -> FWorkbook` - get the current active workbook
25
+ - `univerAPI.getFormula() -> FFormula` - get the formula engine instance used for calculation synchronization
26
+
27
+ Dimension constants used by `insertCells()` and `deleteCells()`:
28
+
29
+ - `univerAPI.Enum.Dimension.ROWS` - row dimension constant for `insertCells()` and `deleteCells()`
30
+ - `univerAPI.Enum.Dimension.COLUMNS` - column dimension constant for `insertCells()` and `deleteCells()`
31
+
32
+ ## Workbook And Worksheet Access
33
+
34
+ Use the workbook object to locate, list, create, and delete sheets.
35
+
36
+ - `getSheetByName(name) -> FWorksheet | null` - recommended explicit lookup by sheet name
37
+ - `getSheets() -> FWorksheet[]` - list all worksheets; useful when the task first needs sheet names
38
+ - `create(name, rows, cols) -> FWorksheet` - create a new worksheet with an initial shape
39
+ - `deleteSheet(sheetId) -> boolean` - delete the specified worksheet by sheet id
40
+
41
+ Common worksheet reads:
42
+
43
+ - `getSheetId() -> number`
44
+ - `getSheetName() -> string`
45
+ - `getLastRow() -> number` - 0-based index of the last row with data
46
+ - `getLastColumn() -> number` - 0-based index of the last column with data
47
+ - `hasHiddenGridLines() -> boolean`
48
+
49
+ Common worksheet writes:
50
+
51
+ - `setName(name) -> void`
52
+ - `insertRows(rowIndex, numRows) -> FWorksheet`
53
+ - `deleteRows(rowIndex, numRows) -> FWorksheet`
54
+ - `insertColumns(columnIndex, numColumns) -> FWorksheet`
55
+ - `deleteColumns(columnIndex, numColumns) -> FWorksheet`
56
+ - `setFrozenRows(rows)` or `setFrozenRows(startRow, endRow) -> FWorksheet`
57
+ - `setFrozenColumns(columns)` or `setFrozenColumns(startColumn, endColumn) -> FWorksheet`
58
+ - `setHiddenGridlines(hidden) -> FWorksheet`
59
+ - `setGridLinesColor(color) -> FWorksheet` - `undefined` or `null` resets to default
60
+ - `setRowHeight(rowIndex, height) -> FWorksheet`
61
+ - `setRowHeights(startRow, numRows, height) -> FWorksheet`
62
+ - `showRows(rowIndex, numRows) -> FWorksheet`
63
+ - `hideRows(rowIndex, numRows) -> FWorksheet`
64
+ - `autoResizeRows(startRow, numRows) -> FWorksheet`
65
+ - `setColumnWidth(columnIndex, width) -> FWorksheet`
66
+ - `setColumnWidths(startColumn, numColumns, width) -> FWorksheet`
67
+ - `showColumns(columnIndex, numColumns) -> FWorksheet`
68
+ - `hideColumns(columnIndex, numColumns) -> FWorksheet`
69
+ - `autoResizeColumns(startColumn, numColumns) -> FWorksheet`
70
+
71
+ Example:
72
+
73
+ ```javascript
74
+ () => {
75
+ const workbook = univerAPI.getActiveWorkbook();
76
+ const existing = workbook.getSheetByName("Summary");
77
+ if (existing) {
78
+ return { success: true, sheetName: existing.getSheetName() };
79
+ }
80
+
81
+ const sheet = workbook.create("Summary", 100, 20);
82
+ return { success: true, sheetName: sheet.getSheetName() };
83
+ };
84
+ ```
85
+
86
+ Formula wait API:
87
+
88
+ - `onCalculationResultApplied() -> Promise<void>` - wait until formula-calculation results are applied before reading computed values
89
+ - note: if a real calculation runs, it resolves when results are applied; if no calculation starts quickly, it can resolve automatically instead of hanging forever
90
+
91
+ ## getRange()
92
+
93
+ `getRange()` is the standard bridge from a worksheet to cell-level work.
94
+
95
+ Supported forms:
96
+
97
+ - `getRange('A1')`
98
+ - `getRange('A1:C10')`
99
+ - `getRange('A:A')`
100
+ - `getRange('1:1')`
101
+ - `getRange(row, col)`
102
+ - `getRange(row, col, rowCount, colCount)`
103
+
104
+ Example:
105
+
106
+ ```javascript
107
+ () => {
108
+ const workbook = univerAPI.getActiveWorkbook();
109
+ const sheet = workbook.getSheetByName("Sales");
110
+ if (!sheet) return { success: false, error: 'Sheet "Sales" not found' };
111
+
112
+ const header = sheet.getRange("A1:C1").getValues();
113
+ const firstCell = sheet.getRange(0, 0).getValue();
114
+
115
+ return { success: true, header, firstCell };
116
+ };
117
+ ```
118
+
119
+ ## Coordinate Model
120
+
121
+ Numeric coordinates are 0-based:
122
+
123
+ - `getRange(0, 0)` is `A1`
124
+ - `getRange(1, 2)` is `C2`
125
+ - `getRange(0, 0, 2, 2)` is `A1:B2`
126
+ - `insertRows(4, 3)` inserts 3 rows starting at spreadsheet row 5
127
+ - `insertColumns(1, 2)` inserts 2 columns starting at spreadsheet column B
128
+
129
+ Use numeric coordinates for loops or generated positions. Use A1 notation when the target is fixed and workbook-facing.
130
+
131
+ ## A1 Notation
132
+
133
+ Prefer A1 notation for explicit workbook-facing locations:
134
+
135
+ - `'A1'`
136
+ - `'A1:B10'`
137
+ - `'A:A'`
138
+ - `'1:1'`
139
+
140
+ ## Related Topics
141
+
142
+ - See `sheets` for worksheet-focused structure and presentation tasks.
143
+ - See `ranges` for cell reads, writes, formulas, merges, clear, cell shifts, and AutoFill.
144
+ - See `overview` when you need the command shape, execution rules, and hard rules.
@@ -0,0 +1,162 @@
1
+ # Formatting
2
+
3
+ This topic groups the formatting APIs commonly used in `run`.
4
+
5
+ ## Font Formatting
6
+
7
+ Available font APIs:
8
+
9
+ - `setFontWeight(weight) -> FRange` - set font weight such as `'bold'`; `null` clears it
10
+ - `setFontLine(line) -> FRange` - set text decoration such as `'underline'`, `'line-through'`, or `'none'`
11
+ - `setFontFamily(family) -> FRange` - set font family such as `Arial`, `Verdana`, `Microsoft YaHei`, `SimSun`, or `SimHei`
12
+ - `setFontSize(size) -> FRange` - set font size as a number
13
+ - `setFontColor(color) -> FRange` - set font color with a CSS color string such as `'#ffffff'` or `'white'`; `null` resets it
14
+ - `setFontStyle(style) -> FRange` - set font style such as `'italic'` or `'normal'`; `null` resets it
15
+
16
+ Example:
17
+
18
+ ```javascript
19
+ () => {
20
+ const workbook = univerAPI.getActiveWorkbook();
21
+ const sheet = workbook.getSheetByName("Report");
22
+ if (!sheet) return { success: false, error: 'Sheet "Report" not found' };
23
+
24
+ sheet
25
+ .getRange("A1:D1")
26
+ .setFontWeight("bold")
27
+ .setFontSize(14)
28
+ .setFontFamily("Arial")
29
+ .setFontColor("#1F1F1F");
30
+
31
+ return { success: true };
32
+ };
33
+ ```
34
+
35
+ ## Background Fill
36
+
37
+ Available background API:
38
+
39
+ - `setBackgroundColor(color) -> FRange` - set background fill color with a CSS color string
40
+
41
+ Example:
42
+
43
+ ```javascript
44
+ () => {
45
+ const workbook = univerAPI.getActiveWorkbook();
46
+ const sheet = workbook.getSheetByName("Report");
47
+ if (!sheet) return { success: false, error: 'Sheet "Report" not found' };
48
+
49
+ sheet.getRange("A1:D1").setBackgroundColor("#F2F2F2");
50
+ return { success: true };
51
+ };
52
+ ```
53
+
54
+ ## Alignment
55
+
56
+ Available alignment APIs:
57
+
58
+ - `setHorizontalAlignment(alignment) -> FRange` - set horizontal alignment such as `'left'`, `'center'`, or `'normal'`
59
+ - `setVerticalAlignment(alignment) -> FRange` - set vertical alignment such as `'top'`, `'middle'`, or `'bottom'`
60
+
61
+ Notes:
62
+
63
+ - in this API, `'normal'` horizontal alignment means right alignment
64
+ - use alignment changes only when workbook-visible verification does not already have a smaller primitive
65
+
66
+ Example:
67
+
68
+ ```javascript
69
+ () => {
70
+ const workbook = univerAPI.getActiveWorkbook();
71
+ const sheet = workbook.getSheetByName("Report");
72
+ if (!sheet) return { success: false, error: 'Sheet "Report" not found' };
73
+
74
+ sheet.getRange("A1:D10").setHorizontalAlignment("center").setVerticalAlignment("middle");
75
+
76
+ return { success: true };
77
+ };
78
+ ```
79
+
80
+ ## Borders
81
+
82
+ Border API:
83
+
84
+ - `setBorder(type, style, color?) -> FRange`
85
+
86
+ Border type constants:
87
+
88
+ - `univerAPI.Enum.BorderType.TOP` - top border only
89
+ - `univerAPI.Enum.BorderType.BOTTOM` - bottom border only
90
+ - `univerAPI.Enum.BorderType.LEFT` - left border only
91
+ - `univerAPI.Enum.BorderType.RIGHT` - right border only
92
+ - `univerAPI.Enum.BorderType.ALL` - all borders, including outer and inner grid lines
93
+ - `univerAPI.Enum.BorderType.OUTSIDE` - outside borders only
94
+ - `univerAPI.Enum.BorderType.INSIDE` - inside borders only
95
+ - `univerAPI.Enum.BorderType.NONE` - clear or remove borders from the range
96
+
97
+ Border style constants:
98
+
99
+ - `univerAPI.Enum.BorderStyleTypes.THIN` - thin line, the most common default
100
+ - `univerAPI.Enum.BorderStyleTypes.HAIR` - hair line
101
+ - `univerAPI.Enum.BorderStyleTypes.MEDIUM` - medium line
102
+ - `univerAPI.Enum.BorderStyleTypes.THICK` - thick line
103
+ - `univerAPI.Enum.BorderStyleTypes.DASHED` - dashed line
104
+ - `univerAPI.Enum.BorderStyleTypes.DOUBLE` - double line
105
+
106
+ Example:
107
+
108
+ ```javascript
109
+ () => {
110
+ const workbook = univerAPI.getActiveWorkbook();
111
+ const sheet = workbook.getSheetByName("Report");
112
+ if (!sheet) return { success: false, error: 'Sheet "Report" not found' };
113
+
114
+ sheet
115
+ .getRange("A1:D10")
116
+ .setBorder(univerAPI.Enum.BorderType.OUTSIDE, univerAPI.Enum.BorderStyleTypes.THIN, "#808080");
117
+
118
+ return { success: true };
119
+ };
120
+ ```
121
+
122
+ ## Number Formats
123
+
124
+ Number format API:
125
+
126
+ - `setNumberFormats(patterns) -> FRange` - set number formats with a 2D array that matches the target range shape
127
+
128
+ `patterns` is a 2D array aligned to the target range, similar to `setValues()`.
129
+
130
+ Common patterns:
131
+
132
+ - `#,##0.00` - thousands separator with two decimals
133
+ - `0.00%` - percentage
134
+ - `yyyy-MM-DD` - date
135
+
136
+ Example:
137
+
138
+ ```javascript
139
+ () => {
140
+ const workbook = univerAPI.getActiveWorkbook();
141
+ const sheet = workbook.getSheetByName("Finance");
142
+ if (!sheet) return { success: false, error: 'Sheet "Finance" not found' };
143
+
144
+ sheet.getRange("B2:C3").setNumberFormats([
145
+ ["$#,##0.00", "0.00%"],
146
+ ["$#,##0.00", "0.00%"]
147
+ ]);
148
+
149
+ return { success: true };
150
+ };
151
+ ```
152
+
153
+ ## Clearing Format
154
+
155
+ Use `clearFormat()` to remove formatting from a range without deleting its content:
156
+
157
+ - `clearFormat() -> void`
158
+
159
+ ## Related Topics
160
+
161
+ - See `ranges` for `clearContent()`, `clear()`, value writes, and AutoFill.
162
+ - See `sheets` when the task is row or column presentation instead of cell-level style.
@@ -0,0 +1,85 @@
1
+ # Formulas
2
+
3
+ This topic focuses on formula writes, calculation waits, and readback behavior inside `run`.
4
+
5
+ ## What This Topic Is For
6
+
7
+ Use this topic when the task needs workbook-native recalculation and the result must remain consistent with how the workbook computes formulas.
8
+
9
+ ## Formula Writes
10
+
11
+ You can write formulas with either of these APIs:
12
+
13
+ - `setFormula(formula) -> void`
14
+ - `setValue(value) -> FRange` when `value` starts with `=`
15
+
16
+ This applies to both:
17
+
18
+ - `range.setFormula('=SUM(B1:B10)')`
19
+ - `range.setValue('=SUM(B1:B10)')`
20
+
21
+ ## Formula Calculation
22
+
23
+ Formula calculation is asynchronous. If you need the calculated result in the same `run`, wait for calculation to finish:
24
+
25
+ ```javascript
26
+ await univerAPI.getFormula().onCalculationResultApplied();
27
+ ```
28
+
29
+ Available formula wait API:
30
+
31
+ - `univerAPI.getFormula() -> FFormula`
32
+ - `onCalculationResultApplied() -> Promise<void>` - wait for formula-calculation results to be applied before reading the computed value
33
+ - note: if a real calculation runs, it resolves when results are applied; if no calculation starts quickly, it can resolve automatically instead of hanging forever
34
+
35
+ ## Formula Warning
36
+
37
+ Without the wait, readback can be stale.
38
+
39
+ ## Copyable Example
40
+
41
+ ```javascript
42
+ async () => {
43
+ const workbook = univerAPI.getActiveWorkbook();
44
+ const sheet = workbook.getSheetByName("Sales");
45
+ if (!sheet) return { success: false, error: 'Sheet "Sales" not found' };
46
+
47
+ sheet.getRange("A1").setFormula("=SUM(B1:B10)");
48
+ await univerAPI.getFormula().onCalculationResultApplied();
49
+
50
+ return {
51
+ success: true,
52
+ formula: sheet.getRange("A1").getFormulas(),
53
+ value: sheet.getRange("A1").getValue()
54
+ };
55
+ };
56
+ ```
57
+
58
+ ## Formula Readback With setValue()
59
+
60
+ ```javascript
61
+ async () => {
62
+ const workbook = univerAPI.getActiveWorkbook();
63
+ const sheet = workbook.getSheetByName("Sales");
64
+ if (!sheet) return { success: false, error: 'Sheet "Sales" not found' };
65
+
66
+ sheet.getRange("A2").setValue("=SUM(B2:B10)");
67
+ await univerAPI.getFormula().onCalculationResultApplied();
68
+
69
+ return {
70
+ success: true,
71
+ value: sheet.getRange("A2").getValue()
72
+ };
73
+ };
74
+ ```
75
+
76
+ ## Getchas
77
+
78
+ - do not read the computed result immediately after writing a formula
79
+ - always verify formula output with workbook-visible reads after the command
80
+ - if the task is only propagation from an existing seed, prefer `ranges -> AutoFill` over custom formula scripting
81
+
82
+ ## Related Topics
83
+
84
+ - See `ranges` for formula writes alongside value writes, shape rules, merges, clear, and AutoFill.
85
+ - See `overview` for hard rules and command-selection guidance.
@@ -0,0 +1,92 @@
1
+ # Overview
2
+
3
+ `run` is the workbook-local programmable surface in `univer-cli`. It executes a bounded JavaScript function inside the Univer spreadsheet engine so you can read workbook state, compute results, and write workbook state.
4
+
5
+ Read this topic first when the job belongs in `run` but you have not chosen the exact API yet.
6
+
7
+ ## When To Use `run`
8
+
9
+ Use `run` when the task is workbook-local logic that is clearer or more reliable in API form, especially for:
10
+
11
+ - styling and presentation
12
+ - row or column structure changes
13
+ - freeze panes, gridline settings, and sheet-level display settings
14
+ - merge or unmerge flows
15
+ - formula orchestration that needs workbook-native recalculation
16
+ - bounded read/compute/write logic inside one workbook
17
+
18
+ Prefer smaller surfaces when they already express the task directly:
19
+
20
+ - `inspect` for reconnaissance and workbook-visible verification
21
+ - `search` to locate rows, columns, sheets, and formula matches
22
+ - `pipe out` / `pipe in` for bulk rectangular data roundtrips through shell tools
23
+
24
+ ## Quick Start
25
+
26
+ Use this command shape. The script must be an arrow function and should return a plain object.
27
+
28
+ ```bash
29
+ univer run <univer-path> --code '() => {
30
+ const workbook = univerAPI.getActiveWorkbook();
31
+ const sheet = workbook.getSheetByName("Sheet1");
32
+ if (!sheet) return { success: false, error: "Sheet1 not found" };
33
+
34
+ sheet.getRange("A1").setValue("ready");
35
+ return { success: true, value: sheet.getRange("A1").getValue() };
36
+ }'
37
+ ```
38
+
39
+ Use one of these wrappers:
40
+
41
+ - `() => {}`
42
+ - `async () => {}`
43
+
44
+ ## Hard Rules
45
+
46
+ - always wrap the program in an arrow function
47
+ - always return an object
48
+ - use only APIs documented in this run manual reference family
49
+ - strictly use documented methods; do not guess or invent API names
50
+ - prefer A1 notation for fixed ranges
51
+ - remember that coordinate overloads are 0-based
52
+ - check for missing sheets before writing
53
+ - keep the operation bounded to the workbook task at hand
54
+ - verify the result with workbook-visible reads after the command
55
+
56
+ If a needed API is not documented here, stop and inspect or update the run manual documentation instead of guessing method names, overloads, enum names, or object relationships.
57
+
58
+ ## Common Task Aliases
59
+
60
+ - `autofill` -> `ranges`
61
+ - `fill-series` -> `ranges`
62
+ - `get-values` -> `ranges`
63
+ - `read-range` -> `ranges`
64
+ - `formula-readback` -> `formulas`
65
+ - `calculation` -> `formulas`
66
+ - `freeze-panes` -> `sheets`
67
+ - `number-format` -> `formatting`
68
+
69
+ ## Topics
70
+
71
+ - `overview` - command selection, hard rules, and progressive discovery
72
+ - `core` - `univerAPI`, workbook access, worksheet access, `getRange()`, A1 notation, coordinates
73
+ - `ranges` - value reads, writes, shape rules, formulas, merges, clear, cell shifts, AutoFill
74
+ - `formulas` - formula writes, async calculation waits, and stale-readback getchas
75
+ - `sheets` - worksheet creation, rename, row or column structure, freezing, gridlines, and visibility
76
+ - `formatting` - font, fill, alignment, border, number-format, and clear-format APIs
77
+
78
+ ## Formula Readback Warning
79
+
80
+ Formula calculation is asynchronous. If you set a formula with `setFormula()` or by writing a string starting with `=`, do not read the computed result immediately. Wait for calculation to finish:
81
+
82
+ ```javascript
83
+ await univerAPI.getFormula().onCalculationResultApplied();
84
+ ```
85
+
86
+ Without that wait, readback can be stale.
87
+
88
+ ## Related Topics
89
+
90
+ - See `core` for workbook, sheet, structure, coordinates, and `getRange()`.
91
+ - See `ranges` for range reads and writes, formulas, merges, clear, cell insertion and deletion, and AutoFill.
92
+ - See `formatting` for fonts, fills, alignment, borders, and number formats.