univer-cli 0.1.18 → 0.1.19

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.
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- const _0x2085d1=_0x325c;(function(_0x3e7b00,_0x5a2f81){const _0x5cc069=_0x325c,_0x9096ef=_0x3e7b00();while(!![]){try{const _0x4950b7=-parseInt(_0x5cc069(0xd8))/0x1+parseInt(_0x5cc069(0xb2))/0x2+-parseInt(_0x5cc069(0xf5))/0x3*(parseInt(_0x5cc069(0x102))/0x4)+parseInt(_0x5cc069(0x119))/0x5*(parseInt(_0x5cc069(0xe8))/0x6)+parseInt(_0x5cc069(0x103))/0x7*(parseInt(_0x5cc069(0xa4))/0x8)+-parseInt(_0x5cc069(0xa9))/0x9*(-parseInt(_0x5cc069(0xf1))/0xa)+parseInt(_0x5cc069(0x116))/0xb*(-parseInt(_0x5cc069(0xd9))/0xc);if(_0x4950b7===_0x5a2f81)break;else _0x9096ef['push'](_0x9096ef['shift']());}catch(_0x13fdf4){_0x9096ef['push'](_0x9096ef['shift']());}}}(_0x40df,0xeb027));import'../chunks/vendor-_Iee0Tjc.js';import{a as _0x4e444a,i as _0x54f72d,n,o as _0x510d21,r as _0x19eb9e,t as _0x4990b4}from'../chunks/trace-DPfd8LdJ.js';import{a as _0x63a37d,d as _0x12db08,l as _0x26ef0d,m as _0x30a406,n as _0x27b8b6,u as _0x5709c1}from'../chunks/node-D8Uf-y85.js';import{t as _0xcdbfb1}from'../chunks/build-id-Coc3wh1M.js';import{n as _0x24f051}from'../chunks/runtime-manifest-ChxEzYC3.js';import{existsSync as _0x10a0af}from'node:fs';import{chmod as _0x3a3125,mkdir as _0x580ab3,readFile as _0xc258d3,rm as _0x3c2cd3,writeFile as _0x3df9aa}from'node:fs/promises';function _0x40df(){const _0x4e8926=['sigterm','pidPath','1429956YUORYC','276TUDjHi','local','getSession','createServer','serve','SessionDispose','execArgv','now','params','max','utf8','withContext','Another\x20daemon\x20startup\x20owns\x20','Method\x20not\x20found:\x20','SessionExportWorkbookData','403416IYqVOr','Unknown\x20daemon\x20subcommand:\x20','trim','error','onShutdownRequest','createWorkbook','toISOString','runtimeExecutionPlaneEntry','workbookData','48790pNbeAU','exportWorkbookData','cwd','current','795Pxcyep','slice','outputPath','DaemonStop','runtimeRoot','getSessionCount','unknown','finally','getSessionIdleTtlMs','sigint','modulePath','baseWorkbookData','loadWorkbookDataReplayPack','412MGZujJ','7XHThpc','end','eventName','close','catch','maxCodeLength','format','buildId','name','exportWorkbookFile','timestamp','unref','logRequestEvent','metaPath','parse','sessionId','sessionRoot','EEXIST','resolveIdentity','854348oJRaUe','DaemonStart','sessionHost','50xvwhok','info','SessionEvalJs','Shutdown','env','14322504UcFKre','event','flush','session','withSpan','2565JvWbWh','DaemonRpcFinish','packageIdentity','getWorkbookSession','SessionLoadWorkbook','traceparent','absolutePath','UNIVER_DISTRIBUTION_CHANNEL','startedAt','706052Dxhbrf','loadWorkbook','DaemonRpcError','rpc-shutdown','UNIVER_CLI_VERSION','daemonDir','socketPath','server','toString','mutations','kill','method','SIGINT','once','destroyAll','mutates','UNIVER_CLI_BUILD_ID','length','min','stringify','evalJs','univer-daemon','homeDir','dispose','meta','message','createConnection','indexOf','lockPath','isFinite','SessionCreateWorkbook','Daemon','2.0','exit','sizeBytes','pid'];_0x40df=function(){return _0x4e8926;};return _0x40df();}import _0x5b64f8 from'node:net';import _0x5e9bdd from'node:process';var S=0x2bf20,C=new _0x27b8b6();async function w(_0x5607e8={}){const _0x4e6e51=_0x325c;let _0x14b768=_0x5607e8['env']??_0x5e9bdd[_0x4e6e51(0xa3)],_0x2a0986=_0x5709c1(_0x14b768),_0xeaf65c=_0x24f051(_0x14b768),_0x33424e=_0x5607e8[_0x4e6e51(0x118)]??D(new _0x63a37d({'env':_0x14b768,'logger':_0x12db08({'env':_0x14b768,'role':_0x4e444a['Runtime']}),'resolveExecutionPlaneOptions':()=>({'execArgv':[..._0xeaf65c[_0x4e6e51(0xef)][_0x4e6e51(0xdf)]],'modulePath':_0xeaf65c['runtimeExecutionPlaneEntry'][_0x4e6e51(0xff)]}),'rpcTimeoutMs':S})),_0x4f98b6=_0xcdbfb1(_0x14b768),_0x3e1537=new Date()[_0x4e6e51(0xee)]();if(await _0x580ab3(_0x2a0986[_0x4e6e51(0xb7)],{'recursive':!0x0,'mode':0x1c0}),await _0x580ab3(_0x2a0986[_0x4e6e51(0x113)],{'recursive':!0x0,'mode':0x1c0}),!await N(_0x2a0986[_0x4e6e51(0xce)],_0x2a0986[_0x4e6e51(0xd7)])){if(await P(_0x2a0986['socketPath']))return;throw Error(_0x4e6e51(0xe5)+_0x2a0986['lockPath']);}await M(_0x2a0986);let _0xdd2af0=_0x12db08({'env':_0x14b768,'role':_0x4e444a[_0x4e6e51(0xd1)]}),_0xc40974=A({'buildId':_0x4f98b6,'env':_0x14b768,'pid':_0x5e9bdd[_0x4e6e51(0xd5)]}),_0x3c63b8=!0x1,_0x371aa9={},_0xbf8a8d=async _0x4f1605=>B(null,-0x7f5b,Error('Daemon\x20handler\x20not\x20ready:\x20'+_0x4f1605)),_0x497224=_0x5b64f8[_0x4e6e51(0xdc)](_0x3db353=>{const _0x511dec=_0x4e6e51;let _0x50dd40='';_0x3db353['on']('data',_0x47b494=>{const _0x4bad6c=_0x325c;_0x50dd40+=_0x47b494[_0x4bad6c(0xba)]('utf8'),_0x489a29();}),_0x3db353['on'](_0x511dec(0xeb),()=>void 0x0);let _0x489a29=async()=>{const _0x1116cb=_0x511dec;for(;;){let _0x22c8ed=_0x50dd40[_0x1116cb(0xcd)]('\x0a');if(_0x22c8ed<0x0)return;let _0x5bff5c=_0x50dd40[_0x1116cb(0xf6)](0x0,_0x22c8ed)[_0x1116cb(0xea)]();if(_0x50dd40=_0x50dd40['slice'](_0x22c8ed+0x1),!_0x5bff5c)continue;let _0x2f82d7=await _0xbf8a8d(_0x5bff5c);_0x3db353['write'](JSON[_0x1116cb(0xc5)](_0x2f82d7)+'\x0a');}};});_0xbf8a8d=T({'buildId':_0x4f98b6,'logRequestEvent':async _0x1e06e0=>{const _0x2553eb=_0x4e6e51;_0xdd2af0[_0x2553eb(0xa5)]({'level':_0x1e06e0[_0x2553eb(0x105)]===_0x54f72d[_0x2553eb(0xb4)]?_0x2553eb(0xeb):'info','event_name':_0x1e06e0['eventName'],'component':_0x19eb9e[_0x2553eb(0xd1)],'process_role':_0x4e444a['Daemon'],..._0x1e06e0[_0x2553eb(0xeb)]===void 0x0?{}:{'error':_0x1e06e0[_0x2553eb(0xeb)]},'fields':{..._0xc40974,..._0x1e06e0['durationMs']===void 0x0?{}:{'duration_ms':_0x1e06e0['durationMs']},'method':_0x1e06e0['method'],'timestamp':_0x1e06e0[_0x2553eb(0x10d)]}});},'logRequestError':async _0x583836=>{const _0x294e4a=_0x4e6e51;_0xdd2af0[_0x294e4a(0xeb)]({'event_name':_0x54f72d[_0x294e4a(0xb4)],'component':_0x19eb9e[_0x294e4a(0xd1)],'process_role':_0x4e444a['Daemon'],'error':_0x583836[_0x294e4a(0xeb)],'fields':{..._0xc40974,'method':_0x583836['method'],'timestamp':_0x583836[_0x294e4a(0x10d)]}});},'onShutdownRequest':()=>{const _0x5b711e=_0x4e6e51;_0x33fe22(_0x5b711e(0xb5))[_0x5b711e(0xfc)](()=>{const _0x4377c8=_0x5b711e;_0x5e9bdd[_0x4377c8(0xd3)](0x0);});},'pid':_0x5e9bdd['pid'],'runtimeRoot':_0x2a0986[_0x4e6e51(0xc8)],'sessionHost':_0x33424e,'socketPath':_0x2a0986[_0x4e6e51(0xb8)],'startedAt':_0x3e1537}),await new Promise((_0x3e4421,_0x398f7c)=>{const _0x2b038f=_0x4e6e51;_0x497224[_0x2b038f(0xbf)](_0x2b038f(0xeb),_0x398f7c),_0x497224['listen'](_0x2a0986[_0x2b038f(0xb8)],_0x3e4421);}),_0x26ef0d(_0x2a0986[_0x4e6e51(0xb8)])||await _0x3a3125(_0x2a0986[_0x4e6e51(0xb8)],0x180);let _0x3122ad={'pid':_0x5e9bdd[_0x4e6e51(0xd5)],'startedAt':_0x3e1537,'socketPath':_0x2a0986[_0x4e6e51(0xb8)],'runtimeRoot':_0x2a0986['homeDir'],'buildId':_0x4f98b6};await _0x3df9aa(_0x2a0986[_0x4e6e51(0xd7)],String(_0x5e9bdd[_0x4e6e51(0xd5)]),_0x4e6e51(0xe3)),await _0x3df9aa(_0x2a0986[_0x4e6e51(0x110)],JSON[_0x4e6e51(0xc5)](_0x3122ad,null,0x2),_0x4e6e51(0xe3)),_0xdd2af0['info']({'event_name':_0x54f72d[_0x4e6e51(0x117)],'component':_0x19eb9e[_0x4e6e51(0xd1)],'process_role':_0x4e444a['Daemon'],'fields':{..._0xc40974,'pid':_0x5e9bdd[_0x4e6e51(0xd5)],'runtime_root':_0x2a0986[_0x4e6e51(0xc8)],'socket_path':_0x2a0986[_0x4e6e51(0xb8)],'started_at':_0x3e1537}}),await _0xdd2af0['flush']();let _0x25a95a=setInterval(()=>{_0x33424e['unloadIdleSessions']();},Math[_0x4e6e51(0xe2)](0x3e8,Math[_0x4e6e51(0xc4)](_0x33424e[_0x4e6e51(0xfd)](),0xea60)));_0x25a95a[_0x4e6e51(0x10e)](),_0x371aa9[_0x4e6e51(0xf4)]=_0x25a95a;async function _0x33fe22(_0xb05e30){const _0x2e41e1=_0x4e6e51;_0x3c63b8||(_0x3c63b8=!0x0,_0x371aa9['current']!==void 0x0&&clearInterval(_0x371aa9[_0x2e41e1(0xf4)]),_0xdd2af0[_0x2e41e1(0xa0)]({'event_name':_0x54f72d[_0x2e41e1(0xf8)],'component':_0x19eb9e[_0x2e41e1(0xd1)],'process_role':_0x4e444a['Daemon'],'fields':{..._0xc40974,'pid':_0x5e9bdd[_0x2e41e1(0xd5)],'reason':_0xb05e30,'timestamp':new Date()[_0x2e41e1(0xee)]()}}),await _0xdd2af0[_0x2e41e1(0xa6)](),await _0x33424e[_0x2e41e1(0xc0)](_0xb05e30),await new Promise(_0x22a54f=>{const _0x6cb456=_0x2e41e1;_0x497224[_0x6cb456(0x106)](()=>_0x22a54f());}),await I(_0x2a0986['socketPath']),await _0x3c2cd3(_0x2a0986['pidPath'],{'force':!0x0})[_0x2e41e1(0x107)](()=>void 0x0),await _0x3c2cd3(_0x2a0986[_0x2e41e1(0x110)],{'force':!0x0})[_0x2e41e1(0x107)](()=>void 0x0),await _0x3c2cd3(_0x2a0986[_0x2e41e1(0xce)],{'recursive':!0x0,'force':!0x0})[_0x2e41e1(0x107)](()=>void 0x0));}_0x5e9bdd['on'](_0x4e6e51(0xbe),()=>{const _0x88a9cb=_0x4e6e51;_0x33fe22(_0x88a9cb(0xfe))['finally'](()=>{_0x5e9bdd['exit'](0x0);});}),_0x5e9bdd['on']('SIGTERM',()=>{const _0x208b63=_0x4e6e51;_0x33fe22(_0x208b63(0xd6))[_0x208b63(0xfc)](()=>{_0x5e9bdd['exit'](0x0);});});}function T(_0x211104){return async _0x5d3c02=>{const _0x1e9ad1=_0x325c;let _0x48f17b;try{_0x48f17b=JSON[_0x1e9ad1(0x111)](_0x5d3c02);}catch(_0x10c941){return B(null,-0x7fbc,_0x10c941);}let _0x4207f9=_0x4990b4(_0x48f17b[_0x1e9ad1(0xca)]?.[_0x1e9ad1(0xae)]),_0x46c690=async()=>await n[_0x1e9ad1(0xa8)]({'name':_0x510d21['DaemonRpcServer'],'kind':_0x1e9ad1(0xb9)},async()=>{const _0x1fd8cd=_0x1e9ad1;let _0x383f60=Date[_0x1fd8cd(0xe0)]();await _0x211104[_0x1fd8cd(0x10f)]?.({'eventName':_0x54f72d['DaemonRpcStart'],'method':_0x48f17b[_0x1fd8cd(0xbd)],'timestamp':new Date()[_0x1fd8cd(0xee)]()});try{let _0x48f75d=await E(_0x48f17b,_0x211104);return await _0x211104['logRequestEvent']?.({'durationMs':Date[_0x1fd8cd(0xe0)]()-_0x383f60,'eventName':_0x54f72d[_0x1fd8cd(0xaa)],'method':_0x48f17b[_0x1fd8cd(0xbd)],'timestamp':new Date()['toISOString']()}),_0x48f75d;}catch(_0x3d9960){return await _0x211104['logRequestEvent']?.({'durationMs':Date[_0x1fd8cd(0xe0)]()-_0x383f60,'eventName':_0x54f72d['DaemonRpcError'],'method':_0x48f17b[_0x1fd8cd(0xbd)],'error':_0x3d9960,'timestamp':new Date()[_0x1fd8cd(0xee)]()}),_0x211104[_0x1fd8cd(0x10f)]===void 0x0&&await _0x211104['logRequestError']?.({'method':_0x48f17b[_0x1fd8cd(0xbd)],'error':_0x3d9960 instanceof Error?_0x3d9960[_0x1fd8cd(0xcb)]:String(_0x3d9960),'timestamp':new Date()['toISOString']()}),B(_0x48f17b['id'],-0x7f5b,_0x3d9960);}});return _0x4207f9===void 0x0?await _0x46c690():await n[_0x1e9ad1(0xe4)](_0x4207f9,_0x46c690);};}async function E(_0x2dcc04,_0x3c6cec){const _0x3c608b=_0x325c;switch(_0x2dcc04[_0x3c608b(0xbd)]){case _0x30a406['Health']:return{'jsonrpc':'2.0','id':_0x2dcc04['id'],'result':{'ok':!0x0,'pid':_0x3c6cec[_0x3c608b(0xd5)],'startedAt':_0x3c6cec[_0x3c608b(0xb1)],'socketPath':_0x3c6cec[_0x3c608b(0xb8)],'runtimeRoot':_0x3c6cec[_0x3c608b(0xf9)],'buildId':_0x3c6cec[_0x3c608b(0x10a)],'sessionCount':_0x3c6cec[_0x3c608b(0x118)][_0x3c608b(0xfa)]()}};case _0x30a406[_0x3c608b(0xa2)]:return _0x3c6cec[_0x3c608b(0xec)]?.(),{'jsonrpc':_0x3c608b(0xd2),'id':_0x2dcc04['id'],'result':{'stopping':!0x0}};case _0x30a406[_0x3c608b(0xad)]:{let _0x4546ac=await _0x3c6cec[_0x3c608b(0x118)][_0x3c608b(0xb3)](_0x2dcc04[_0x3c608b(0xe1)]);return z(_0x2dcc04['id'],_0x4546ac);}case _0x30a406['SessionLoadWorkbookDataReplayPack']:{let _0x46bcad=await _0x3c6cec['sessionHost'][_0x3c608b(0x101)](_0x2dcc04['params']);return z(_0x2dcc04['id'],_0x46bcad);}case _0x30a406[_0x3c608b(0xd0)]:{let _0x5965ad=await _0x3c6cec[_0x3c608b(0x118)][_0x3c608b(0xed)](_0x2dcc04[_0x3c608b(0xe1)]);return z(_0x2dcc04['id'],_0x5965ad);}case _0x30a406[_0x3c608b(0xa1)]:{let _0x40f272=await _0x3c6cec[_0x3c608b(0x118)][_0x3c608b(0xc6)](_0x2dcc04[_0x3c608b(0xe1)]);return z(_0x2dcc04['id'],_0x40f272);}case _0x30a406['SessionExportWorkbookFile']:{let _0x37df2d=await _0x3c6cec['sessionHost'][_0x3c608b(0x10c)](_0x2dcc04[_0x3c608b(0xe1)]);return z(_0x2dcc04['id'],_0x37df2d);}case _0x30a406[_0x3c608b(0xe7)]:{let _0xd947dc=_0x2dcc04[_0x3c608b(0xe1)],_0xaf12bd=await _0x3c6cec[_0x3c608b(0x118)][_0x3c608b(0xf2)](_0xd947dc);return z(_0x2dcc04['id'],_0xaf12bd);}case _0x30a406[_0x3c608b(0xde)]:{let _0x18b84a=await _0x3c6cec[_0x3c608b(0x118)]['dispose'](_0x2dcc04[_0x3c608b(0xe1)]);return z(_0x2dcc04['id'],_0x18b84a);}case _0x30a406['SessionGetWorkbook']:{let _0x5a17d5=await _0x3c6cec[_0x3c608b(0x118)][_0x3c608b(0xac)](_0x2dcc04[_0x3c608b(0xe1)]);return z(_0x2dcc04['id'],_0x5a17d5);}default:return B(_0x2dcc04['id'],-0x7f59,Error(_0x3c608b(0xe6)+_0x2dcc04['method']));}}function D(_0xff165c){return{async 'createWorkbook'(_0xf0258f){const _0xa4979=_0x325c;let _0x4f4958=await O(_0xf0258f),_0x2dfbe2=await _0xff165c[_0xa4979(0xed)]({..._0xf0258f[_0xa4979(0xf3)]===void 0x0?{}:{'cwd':_0xf0258f['cwd']},'identity':_0x4f4958,..._0xf0258f['id']===void 0x0?{}:{'workbookId':_0xf0258f['id']},..._0xf0258f['name']===void 0x0?{}:{'workbookName':_0xf0258f[_0xa4979(0x10b)]}});return{'success':!0x0,'workbookData':_0x2dfbe2[_0xa4979(0xf0)],'session':k(_0x2dfbe2[_0xa4979(0xa7)])};},async 'dispose'(_0x15cadc){const _0x3c5496=_0x325c;let _0x4d98bf=await O(_0x15cadc);return await _0xff165c[_0x3c5496(0xc9)]({..._0x15cadc[_0x3c5496(0xf3)]===void 0x0?{}:{'cwd':_0x15cadc[_0x3c5496(0xf3)]},'identity':_0x4d98bf}),{'disposed':!0x0,'workbookIdentity':_0x4d98bf[_0x3c5496(0xaf)]};},async 'destroyAll'(_0x13bfc0){const _0x316f17=_0x325c;await _0xff165c[_0x316f17(0xc0)]?.(_0x13bfc0);},async 'evalJs'(_0x6002d6){const _0x173a30=_0x325c;let _0x38ec1b=await O(_0x6002d6),_0x56603c=await _0xff165c[_0x173a30(0xc6)]({'code':_0x6002d6['code'],..._0x6002d6[_0x173a30(0xf3)]===void 0x0?{}:{'cwd':_0x6002d6['cwd']},'identity':_0x38ec1b,..._0x6002d6[_0x173a30(0x108)]===void 0x0?{}:{'maxCodeLength':_0x6002d6['maxCodeLength']},..._0x6002d6['mutates']===void 0x0?{}:{'mutates':_0x6002d6[_0x173a30(0xc1)]}});return{..._0x56603c[_0x173a30(0xbb)]===void 0x0?{}:{'mutations':_0x56603c[_0x173a30(0xbb)]},'success':!0x0,'value':_0x56603c['value'],'session':k(_0x56603c[_0x173a30(0xa7)])};},async 'exportWorkbookData'(_0xe1ddeb){const _0x560d59=_0x325c;let _0x56d984=await O(_0xe1ddeb),_0x50b001=await _0xff165c[_0x560d59(0xf2)]({..._0xe1ddeb[_0x560d59(0xf3)]===void 0x0?{}:{'cwd':_0xe1ddeb[_0x560d59(0xf3)]},'identity':_0x56d984});return{'success':!0x0,'workbookData':_0x50b001['workbookData'],'session':k(_0x50b001[_0x560d59(0xa7)])};},async 'exportWorkbookFile'(_0x5aca20){const _0x1ac7e1=_0x325c;let _0x1a1217=await O(_0x5aca20),_0x112837=await _0xff165c[_0x1ac7e1(0x10c)]({..._0x5aca20['cwd']===void 0x0?{}:{'cwd':_0x5aca20['cwd']},'format':_0x5aca20['format'],'identity':_0x1a1217,'outputPath':_0x5aca20[_0x1ac7e1(0xf7)]});return{'success':!0x0,'format':_0x112837[_0x1ac7e1(0x109)],'outputPath':_0x112837[_0x1ac7e1(0xf7)],'sizeBytes':_0x112837[_0x1ac7e1(0xd4)],'session':k(_0x112837[_0x1ac7e1(0xa7)])};},async 'getWorkbookSession'(_0x33e3e6){const _0x3ae6ba=_0x325c;let _0x49a5e1=await O(_0x33e3e6),_0x42a170=await _0xff165c[_0x3ae6ba(0xdb)]({..._0x33e3e6[_0x3ae6ba(0xf3)]===void 0x0?{}:{'cwd':_0x33e3e6[_0x3ae6ba(0xf3)]},'identity':_0x49a5e1});return{'exists':_0x42a170!==null,'session':_0x42a170===null?null:k(_0x42a170)};},'getSessionCount'(){const _0x55d46a=_0x325c;return _0xff165c[_0x55d46a(0xfa)]?.()??0x0;},'getSessionIdleTtlMs'(){const _0x2ec6b0=_0x325c;return _0xff165c[_0x2ec6b0(0xfd)]?.()??0xea60;},async 'loadWorkbook'(_0x4a5be5){const _0x2d24cd=_0x325c;let _0x173bab=await O(_0x4a5be5),_0x465293=await _0xff165c['loadWorkbookData']({..._0x4a5be5[_0x2d24cd(0xf3)]===void 0x0?{}:{'cwd':_0x4a5be5[_0x2d24cd(0xf3)]},'identity':_0x173bab,'workbookData':_0x4a5be5[_0x2d24cd(0xf0)]});return{'success':!0x0,'workbookData':_0x465293[_0x2d24cd(0xf0)],'session':k(_0x465293['session'])};},async 'loadWorkbookDataReplayPack'(_0x497cdd){const _0x5e2f08=_0x325c;let _0x30a68b=await O(_0x497cdd);return{'success':!0x0,'session':k((await _0xff165c[_0x5e2f08(0x101)]({..._0x497cdd[_0x5e2f08(0xf3)]===void 0x0?{}:{'cwd':_0x497cdd[_0x5e2f08(0xf3)]},'identity':_0x30a68b,'replayPack':{'baseWorkbookData':_0x497cdd[_0x5e2f08(0x100)],'mutations':_0x497cdd[_0x5e2f08(0xbb)]}}))[_0x5e2f08(0xa7)])};},async 'unloadIdleSessions'(){await _0xff165c['unloadIdleSessions']?.();}};}async function O(_0x11a47e){const _0x5f23bb=_0x325c;return await C[_0x5f23bb(0x115)](_0x11a47e);}function k(_0x216fe6){const _0x2e05a3=_0x325c;return{'createdAt':_0x216fe6['createdAt']??'','lastAccessedAt':_0x216fe6['lastAccessedAt']??'','sessionId':_0x216fe6[_0x2e05a3(0x112)],'workbookIdentity':_0x216fe6[_0x2e05a3(0xab)][_0x2e05a3(0xaf)]};}function A(_0x5ded28){const _0x4abc02=_0x325c;return{'build.id':j(_0x5ded28[_0x4abc02(0xa3)],_0x4abc02(0xc2))??_0x5ded28[_0x4abc02(0x10a)],'deployment.environment.name':_0x4abc02(0xda),'distribution.channel':j(_0x5ded28[_0x4abc02(0xa3)],_0x4abc02(0xb0))??_0x4abc02(0xfb),'service.instance.id':String(_0x5ded28[_0x4abc02(0xd5)]),'service.name':_0x4abc02(0xc7),...j(_0x5ded28['env'],'UNIVER_CLI_VERSION')===void 0x0?{}:{'service.version':j(_0x5ded28[_0x4abc02(0xa3)],_0x4abc02(0xb6))}};}function j(_0x4d2960,_0x15f6b9){const _0x3daf9e=_0x325c;let _0x34a6de=_0x4d2960[_0x15f6b9]?.[_0x3daf9e(0xea)]();return _0x34a6de===void 0x0||_0x34a6de[_0x3daf9e(0xc3)]===0x0?void 0x0:_0x34a6de;}async function M(_0x542133){const _0x5b79e4=_0x325c;F(_0x542133[_0x5b79e4(0xb8)])&&!await P(_0x542133[_0x5b79e4(0xb8)])&&await I(_0x542133[_0x5b79e4(0xb8)]);let _0x304efa=await L(_0x542133['pidPath']);_0x304efa!==null&&!R(_0x304efa)&&(await _0x3c2cd3(_0x542133['pidPath'],{'force':!0x0})[_0x5b79e4(0x107)](()=>void 0x0),await _0x3c2cd3(_0x542133[_0x5b79e4(0x110)],{'force':!0x0})[_0x5b79e4(0x107)](()=>void 0x0),await _0x3c2cd3(_0x542133[_0x5b79e4(0xce)],{'recursive':!0x0,'force':!0x0})['catch'](()=>void 0x0));}async function N(_0x34c91b,_0x51cedd){const _0x48a666=_0x325c;try{return await _0x580ab3(_0x34c91b,{'recursive':!0x1,'mode':0x1c0}),!0x0;}catch(_0x1d3ceb){if(_0x1d3ceb['code']!==_0x48a666(0x114))throw _0x1d3ceb;let _0x19c4ce=await L(_0x51cedd);return _0x19c4ce!==null&&R(_0x19c4ce)?!0x1:(await _0x3c2cd3(_0x34c91b,{'recursive':!0x0,'force':!0x0}),await _0x580ab3(_0x34c91b,{'recursive':!0x1,'mode':0x1c0}),!0x0);}}async function P(_0xd7e651){return await new Promise(_0x13bdb7=>{const _0x5a7813=_0x325c;let _0x290941=_0x5b64f8[_0x5a7813(0xcc)](_0xd7e651);_0x290941[_0x5a7813(0xbf)]('connect',()=>{const _0x90d578=_0x5a7813;_0x290941[_0x90d578(0x104)](),_0x13bdb7(!0x0);}),_0x290941['once'](_0x5a7813(0xeb),()=>{_0x13bdb7(!0x1);});});}function F(_0x280044){return _0x26ef0d(_0x280044)?!0x1:_0x10a0af(_0x280044);}async function I(_0x4bd468){_0x26ef0d(_0x4bd468)||await _0x3c2cd3(_0x4bd468,{'force':!0x0})['catch'](()=>void 0x0);}async function L(_0x51b08c){const _0x1e053c=_0x325c;try{let _0x863fdf=await _0xc258d3(_0x51b08c,_0x1e053c(0xe3)),_0x332a59=Number(_0x863fdf[_0x1e053c(0xea)]());return Number[_0x1e053c(0xcf)](_0x332a59)?_0x332a59:null;}catch{return null;}}function R(_0x550d69){const _0x47dc26=_0x325c;try{return _0x5e9bdd[_0x47dc26(0xbc)](_0x550d69,0x0),!0x0;}catch{return!0x1;}}function z(_0x2a3eed,_0x4609c7){const _0x111275=_0x325c;return{'jsonrpc':_0x111275(0xd2),'id':_0x2a3eed,'result':_0x4609c7};}function _0x325c(_0x2ce081,_0x4b53b8){_0x2ce081=_0x2ce081-0xa0;const _0x40df92=_0x40df();let _0x325c5a=_0x40df92[_0x2ce081];return _0x325c5a;}function B(_0x2c2777,_0x484e99,_0x1ba90d){const _0x3029ea=_0x325c;return{'jsonrpc':_0x3029ea(0xd2),'id':_0x2c2777,'error':{'code':_0x484e99,'message':_0x1ba90d instanceof Error?_0x1ba90d[_0x3029ea(0xcb)]:String(_0x1ba90d)}};}var V=process['argv'][0x2]??_0x2085d1(0xdd);V!==_0x2085d1(0xdd)&&(console[_0x2085d1(0xeb)](_0x2085d1(0xe9)+V),process['exit'](0x1)),w()['catch'](_0x2816ce=>{const _0x3d7829=_0x2085d1;console[_0x3d7829(0xeb)](_0x2816ce instanceof Error?_0x2816ce['message']:String(_0x2816ce)),process['exit'](0x1);});
2
+ const _0x449132=_0x39a6;(function(_0x2bf080,_0x5e47e0){const _0x181e9e=_0x39a6,_0x498176=_0x2bf080();while(!![]){try{const _0x14d447=parseInt(_0x181e9e(0x108))/0x1*(-parseInt(_0x181e9e(0x148))/0x2)+-parseInt(_0x181e9e(0x11c))/0x3*(parseInt(_0x181e9e(0xf4))/0x4)+-parseInt(_0x181e9e(0xf6))/0x5+parseInt(_0x181e9e(0xfd))/0x6+parseInt(_0x181e9e(0xf7))/0x7+parseInt(_0x181e9e(0x133))/0x8+-parseInt(_0x181e9e(0x101))/0x9;if(_0x14d447===_0x5e47e0)break;else _0x498176['push'](_0x498176['shift']());}catch(_0x4e588b){_0x498176['push'](_0x498176['shift']());}}}(_0x4de4,0x2bd60));import'../chunks/vendor-_Iee0Tjc.js';import{a as _0x14da40,i as _0x21787d,n,o as _0x889202,r as _0x5bcb31,t as _0x5d9438}from'../chunks/trace-DPfd8LdJ.js';import{a as _0x49473d,d as _0x40990c,l as _0x191ff2,m as _0x407234,n as _0x2f896b,u as _0x5342f8}from'../chunks/node-D8Uf-y85.js';import{t as _0x21ab3f}from'../chunks/build-id-Coc3wh1M.js';import{n as _0x821d70}from'../chunks/runtime-manifest-ChxEzYC3.js';import{existsSync as _0x1501e8}from'node:fs';import{chmod as _0x412133,mkdir as _0x517a60,readFile as _0x1c8ae8,rm as _0x3834dd,writeFile as _0x34c2ba}from'node:fs/promises';import _0x5d2528 from'node:net';import _0x4ee53c from'node:process';var S=0x2bf20,C=new _0x2f896b();async function w(_0x3a29d6={}){const _0x529b6c=_0x39a6;let _0x48bab9=_0x3a29d6[_0x529b6c(0x114)]??_0x4ee53c[_0x529b6c(0x114)],_0x7f63f6=_0x5342f8(_0x48bab9),_0x2db543=_0x821d70(_0x48bab9),_0x33af52=_0x3a29d6[_0x529b6c(0xf3)]??D(new _0x49473d({'env':_0x48bab9,'logger':_0x40990c({'env':_0x48bab9,'role':_0x14da40[_0x529b6c(0x138)]}),'resolveExecutionPlaneOptions':()=>({'execArgv':[..._0x2db543[_0x529b6c(0x12d)][_0x529b6c(0x121)]],'modulePath':_0x2db543[_0x529b6c(0x12d)][_0x529b6c(0xe7)]}),'rpcTimeoutMs':S})),_0x138ff4=_0x21ab3f(_0x48bab9),_0x1e1e4e=new Date()['toISOString']();if(await _0x517a60(_0x7f63f6[_0x529b6c(0x111)],{'recursive':!0x0,'mode':0x1c0}),await _0x517a60(_0x7f63f6[_0x529b6c(0x147)],{'recursive':!0x0,'mode':0x1c0}),!await N(_0x7f63f6[_0x529b6c(0x10a)],_0x7f63f6[_0x529b6c(0x150)])){if(await P(_0x7f63f6[_0x529b6c(0x125)]))return;throw Error(_0x529b6c(0xfe)+_0x7f63f6['lockPath']);}await M(_0x7f63f6);let _0x369a67=_0x40990c({'env':_0x48bab9,'role':_0x14da40[_0x529b6c(0x10c)]}),_0x3d2dc7=A({'buildId':_0x138ff4,'env':_0x48bab9,'pid':_0x4ee53c[_0x529b6c(0xf0)]}),_0x310fa6=!0x1,_0x4548ee={},_0x35c675=async _0x11f4ca=>B(null,-0x7f5b,Error(_0x529b6c(0x113)+_0x11f4ca)),_0x128966=_0x5d2528[_0x529b6c(0x122)](_0x288acf=>{const _0x437bf7=_0x529b6c;let _0x4cfb4d='';_0x288acf['on'](_0x437bf7(0x11a),_0x25b9eb=>{const _0x2963fc=_0x437bf7;_0x4cfb4d+=_0x25b9eb['toString'](_0x2963fc(0x116)),_0x140714();}),_0x288acf['on'](_0x437bf7(0xf1),()=>void 0x0);let _0x140714=async()=>{const _0x5c0756=_0x437bf7;for(;;){let _0x404a31=_0x4cfb4d[_0x5c0756(0x103)]('\x0a');if(_0x404a31<0x0)return;let _0x2bb3ee=_0x4cfb4d[_0x5c0756(0x131)](0x0,_0x404a31)[_0x5c0756(0x112)]();if(_0x4cfb4d=_0x4cfb4d['slice'](_0x404a31+0x1),!_0x2bb3ee)continue;let _0x5e740e=await _0x35c675(_0x2bb3ee);_0x288acf[_0x5c0756(0x158)](JSON[_0x5c0756(0xf9)](_0x5e740e)+'\x0a');}};});_0x35c675=T({'buildId':_0x138ff4,'logRequestEvent':async _0x3639c4=>{const _0x113bc5=_0x529b6c;_0x369a67[_0x113bc5(0xdd)]({'level':_0x3639c4[_0x113bc5(0x11b)]===_0x21787d[_0x113bc5(0x14e)]?_0x113bc5(0xf1):'info','event_name':_0x3639c4['eventName'],'component':_0x5bcb31[_0x113bc5(0x10c)],'process_role':_0x14da40['Daemon'],..._0x3639c4[_0x113bc5(0xf1)]===void 0x0?{}:{'error':_0x3639c4[_0x113bc5(0xf1)]},'fields':{..._0x3d2dc7,..._0x3639c4[_0x113bc5(0x137)]===void 0x0?{}:{'duration_ms':_0x3639c4[_0x113bc5(0x137)]},'method':_0x3639c4['method'],'timestamp':_0x3639c4[_0x113bc5(0x105)]}});},'logRequestError':async _0x3d8473=>{const _0x1b1ccc=_0x529b6c;_0x369a67['error']({'event_name':_0x21787d[_0x1b1ccc(0x14e)],'component':_0x5bcb31['Daemon'],'process_role':_0x14da40[_0x1b1ccc(0x10c)],'error':_0x3d8473[_0x1b1ccc(0xf1)],'fields':{..._0x3d2dc7,'method':_0x3d8473[_0x1b1ccc(0x144)],'timestamp':_0x3d8473[_0x1b1ccc(0x105)]}});},'onShutdownRequest':()=>{const _0x2849ba=_0x529b6c;_0x24724f('rpc-shutdown')[_0x2849ba(0xe5)](()=>{const _0x162b37=_0x2849ba;_0x4ee53c[_0x162b37(0x146)](0x0);});},'pid':_0x4ee53c[_0x529b6c(0xf0)],'runtimeRoot':_0x7f63f6[_0x529b6c(0x13f)],'sessionHost':_0x33af52,'socketPath':_0x7f63f6[_0x529b6c(0x125)],'startedAt':_0x1e1e4e}),await new Promise((_0x31b9df,_0x2eec9f)=>{const _0x81732f=_0x529b6c;_0x128966[_0x81732f(0x12f)](_0x81732f(0xf1),_0x2eec9f),_0x128966[_0x81732f(0xf2)](_0x7f63f6[_0x81732f(0x125)],_0x31b9df);}),_0x191ff2(_0x7f63f6[_0x529b6c(0x125)])||await _0x412133(_0x7f63f6[_0x529b6c(0x125)],0x180);let _0x3f8c5c={'pid':_0x4ee53c['pid'],'startedAt':_0x1e1e4e,'socketPath':_0x7f63f6[_0x529b6c(0x125)],'runtimeRoot':_0x7f63f6[_0x529b6c(0x13f)],'buildId':_0x138ff4};await _0x34c2ba(_0x7f63f6['pidPath'],String(_0x4ee53c[_0x529b6c(0xf0)]),_0x529b6c(0x116)),await _0x34c2ba(_0x7f63f6[_0x529b6c(0xe9)],JSON[_0x529b6c(0xf9)](_0x3f8c5c,null,0x2),_0x529b6c(0x116)),_0x369a67[_0x529b6c(0x135)]({'event_name':_0x21787d[_0x529b6c(0x152)],'component':_0x5bcb31['Daemon'],'process_role':_0x14da40['Daemon'],'fields':{..._0x3d2dc7,'pid':_0x4ee53c[_0x529b6c(0xf0)],'runtime_root':_0x7f63f6[_0x529b6c(0x13f)],'socket_path':_0x7f63f6[_0x529b6c(0x125)],'started_at':_0x1e1e4e}}),await _0x369a67['flush']();let _0x44f1d0=setInterval(()=>{const _0xdb7c97=_0x529b6c;_0x33af52[_0xdb7c97(0x14a)]();},Math[_0x529b6c(0x140)](0x3e8,Math['min'](_0x33af52['getSessionIdleTtlMs'](),0xea60)));_0x44f1d0[_0x529b6c(0x13d)](),_0x4548ee[_0x529b6c(0x115)]=_0x44f1d0;async function _0x24724f(_0x20743d){const _0x58f902=_0x529b6c;_0x310fa6||(_0x310fa6=!0x0,_0x4548ee[_0x58f902(0x115)]!==void 0x0&&clearInterval(_0x4548ee[_0x58f902(0x115)]),_0x369a67[_0x58f902(0x135)]({'event_name':_0x21787d[_0x58f902(0xfa)],'component':_0x5bcb31[_0x58f902(0x10c)],'process_role':_0x14da40[_0x58f902(0x10c)],'fields':{..._0x3d2dc7,'pid':_0x4ee53c[_0x58f902(0xf0)],'reason':_0x20743d,'timestamp':new Date()[_0x58f902(0x13e)]()}}),await _0x369a67[_0x58f902(0x136)](),await _0x33af52['destroyAll'](_0x20743d),await new Promise(_0x2c587c=>{const _0x495410=_0x58f902;_0x128966[_0x495410(0x13b)](()=>_0x2c587c());}),await I(_0x7f63f6[_0x58f902(0x125)]),await _0x3834dd(_0x7f63f6['pidPath'],{'force':!0x0})[_0x58f902(0x141)](()=>void 0x0),await _0x3834dd(_0x7f63f6['metaPath'],{'force':!0x0})[_0x58f902(0x141)](()=>void 0x0),await _0x3834dd(_0x7f63f6['lockPath'],{'recursive':!0x0,'force':!0x0})['catch'](()=>void 0x0));}_0x4ee53c['on'](_0x529b6c(0x118),()=>{const _0x23759b=_0x529b6c;_0x24724f('sigint')[_0x23759b(0xe5)](()=>{const _0x307ad7=_0x23759b;_0x4ee53c[_0x307ad7(0x146)](0x0);});}),_0x4ee53c['on'](_0x529b6c(0x124),()=>{const _0x2354f1=_0x529b6c;_0x24724f(_0x2354f1(0xff))[_0x2354f1(0xe5)](()=>{const _0x30867d=_0x2354f1;_0x4ee53c[_0x30867d(0x146)](0x0);});});}function T(_0x14f93c){return async _0x4ccd2c=>{const _0x5180c4=_0x39a6;let _0x41a61b;try{_0x41a61b=JSON[_0x5180c4(0x153)](_0x4ccd2c);}catch(_0x1073c1){return B(null,-0x7fbc,_0x1073c1);}let _0x53f1bc=_0x5d9438(_0x41a61b[_0x5180c4(0x107)]?.['traceparent']),_0x42ad5f=async()=>await n[_0x5180c4(0x157)]({'name':_0x889202[_0x5180c4(0xde)],'kind':_0x5180c4(0xef)},async()=>{const _0x3287ef=_0x5180c4;let _0x578592=Date[_0x3287ef(0x14f)]();await _0x14f93c[_0x3287ef(0x155)]?.({'eventName':_0x21787d[_0x3287ef(0x127)],'method':_0x41a61b[_0x3287ef(0x144)],'timestamp':new Date()[_0x3287ef(0x13e)]()});try{let _0x5097ec=await E(_0x41a61b,_0x14f93c);return await _0x14f93c[_0x3287ef(0x155)]?.({'durationMs':Date[_0x3287ef(0x14f)]()-_0x578592,'eventName':_0x21787d[_0x3287ef(0x110)],'method':_0x41a61b[_0x3287ef(0x144)],'timestamp':new Date()[_0x3287ef(0x13e)]()}),_0x5097ec;}catch(_0xe37687){return await _0x14f93c[_0x3287ef(0x155)]?.({'durationMs':Date[_0x3287ef(0x14f)]()-_0x578592,'eventName':_0x21787d['DaemonRpcError'],'method':_0x41a61b[_0x3287ef(0x144)],'error':_0xe37687,'timestamp':new Date()[_0x3287ef(0x13e)]()}),_0x14f93c[_0x3287ef(0x155)]===void 0x0&&await _0x14f93c[_0x3287ef(0x117)]?.({'method':_0x41a61b[_0x3287ef(0x144)],'error':_0xe37687 instanceof Error?_0xe37687[_0x3287ef(0x12a)]:String(_0xe37687),'timestamp':new Date()[_0x3287ef(0x13e)]()}),B(_0x41a61b['id'],-0x7f5b,_0xe37687);}});return _0x53f1bc===void 0x0?await _0x42ad5f():await n['withContext'](_0x53f1bc,_0x42ad5f);};}async function E(_0x5aa11f,_0x44cbb5){const _0x57d462=_0x39a6;switch(_0x5aa11f[_0x57d462(0x144)]){case _0x407234[_0x57d462(0x126)]:return{'jsonrpc':_0x57d462(0xdf),'id':_0x5aa11f['id'],'result':{'ok':!0x0,'pid':_0x44cbb5[_0x57d462(0xf0)],'startedAt':_0x44cbb5[_0x57d462(0x10e)],'socketPath':_0x44cbb5['socketPath'],'runtimeRoot':_0x44cbb5['runtimeRoot'],'buildId':_0x44cbb5[_0x57d462(0xe6)],'sessionCount':_0x44cbb5[_0x57d462(0xf3)][_0x57d462(0xed)]()}};case _0x407234[_0x57d462(0x123)]:return _0x44cbb5['onShutdownRequest']?.(),{'jsonrpc':_0x57d462(0xdf),'id':_0x5aa11f['id'],'result':{'stopping':!0x0}};case _0x407234[_0x57d462(0xe2)]:{let _0x5e0001=await _0x44cbb5[_0x57d462(0xf3)][_0x57d462(0x14b)](_0x5aa11f[_0x57d462(0xec)]);return z(_0x5aa11f['id'],_0x5e0001);}case _0x407234[_0x57d462(0xfc)]:{let _0x3b81f1=await _0x44cbb5[_0x57d462(0xf3)][_0x57d462(0x120)](_0x5aa11f[_0x57d462(0xec)]);return z(_0x5aa11f['id'],_0x3b81f1);}case _0x407234['SessionCreateWorkbook']:{let _0x53ba60=await _0x44cbb5['sessionHost'][_0x57d462(0x119)](_0x5aa11f['params']);return z(_0x5aa11f['id'],_0x53ba60);}case _0x407234['SessionEvalJs']:{let _0x9b4c87=await _0x44cbb5[_0x57d462(0xf3)][_0x57d462(0x10b)](_0x5aa11f[_0x57d462(0xec)]);return z(_0x5aa11f['id'],_0x9b4c87);}case _0x407234[_0x57d462(0x12b)]:{let _0x2390c9=await _0x44cbb5[_0x57d462(0xf3)]['exportWorkbookFile'](_0x5aa11f[_0x57d462(0xec)]);return z(_0x5aa11f['id'],_0x2390c9);}case _0x407234['SessionExportWorkbookData']:{let _0xd6c161=_0x5aa11f[_0x57d462(0xec)],_0x2cbed2=await _0x44cbb5[_0x57d462(0xf3)]['exportWorkbookData'](_0xd6c161);return z(_0x5aa11f['id'],_0x2cbed2);}case _0x407234[_0x57d462(0x11f)]:{let _0x58cbe7=await _0x44cbb5[_0x57d462(0xf3)][_0x57d462(0x14c)](_0x5aa11f[_0x57d462(0xec)]);return z(_0x5aa11f['id'],_0x58cbe7);}case _0x407234[_0x57d462(0x134)]:{let _0x4202d8=await _0x44cbb5[_0x57d462(0xf3)][_0x57d462(0x156)](_0x5aa11f[_0x57d462(0xec)]);return z(_0x5aa11f['id'],_0x4202d8);}default:return B(_0x5aa11f['id'],-0x7f59,Error(_0x57d462(0xe8)+_0x5aa11f[_0x57d462(0x144)]));}}function D(_0x14ae5c){return{async 'createWorkbook'(_0x1ccf3d){const _0x12529f=_0x39a6;let _0x3c22cd=await O(_0x1ccf3d),_0x34dce2=await _0x14ae5c[_0x12529f(0x119)]({..._0x1ccf3d[_0x12529f(0x10d)]===void 0x0?{}:{'cwd':_0x1ccf3d[_0x12529f(0x10d)]},'identity':_0x3c22cd,..._0x1ccf3d['id']===void 0x0?{}:{'workbookId':_0x1ccf3d['id']},..._0x1ccf3d['name']===void 0x0?{}:{'workbookName':_0x1ccf3d[_0x12529f(0x129)]}});return{'success':!0x0,'workbookData':_0x34dce2[_0x12529f(0xe4)],'session':k(_0x34dce2[_0x12529f(0x143)])};},async 'dispose'(_0x228843){const _0x32d34c=_0x39a6;let _0x2f33eb=await O(_0x228843);return await _0x14ae5c[_0x32d34c(0x14c)]({..._0x228843[_0x32d34c(0x10d)]===void 0x0?{}:{'cwd':_0x228843[_0x32d34c(0x10d)]},'identity':_0x2f33eb}),{'disposed':!0x0,'workbookIdentity':_0x2f33eb[_0x32d34c(0x149)]};},async 'destroyAll'(_0x2cefb3){const _0x2cbe78=_0x39a6;await _0x14ae5c[_0x2cbe78(0x11e)]?.(_0x2cefb3);},async 'evalJs'(_0x3483d1){const _0x9fd5e4=_0x39a6;let _0x4842a1=await O(_0x3483d1),_0x5d5d7e=await _0x14ae5c[_0x9fd5e4(0x10b)]({'code':_0x3483d1[_0x9fd5e4(0x128)],..._0x3483d1['cwd']===void 0x0?{}:{'cwd':_0x3483d1[_0x9fd5e4(0x10d)]},'identity':_0x4842a1,..._0x3483d1[_0x9fd5e4(0xfb)]===void 0x0?{}:{'maxCodeLength':_0x3483d1[_0x9fd5e4(0xfb)]},..._0x3483d1['mutates']===void 0x0?{}:{'mutates':_0x3483d1[_0x9fd5e4(0x12e)]}});return{..._0x5d5d7e['mutations']===void 0x0?{}:{'mutations':_0x5d5d7e[_0x9fd5e4(0x130)]},'success':!0x0,'value':_0x5d5d7e[_0x9fd5e4(0xee)],'session':k(_0x5d5d7e[_0x9fd5e4(0x143)])};},async 'exportWorkbookData'(_0x192e57){const _0x5ef234=_0x39a6;let _0x3f7fec=await O(_0x192e57),_0x3d2621=await _0x14ae5c[_0x5ef234(0xdc)]({..._0x192e57[_0x5ef234(0x10d)]===void 0x0?{}:{'cwd':_0x192e57[_0x5ef234(0x10d)]},'identity':_0x3f7fec});return{'success':!0x0,'workbookData':_0x3d2621[_0x5ef234(0xe4)],'session':k(_0x3d2621[_0x5ef234(0x143)])};},async 'exportWorkbookFile'(_0x3c4be5){const _0x18033e=_0x39a6;let _0x3441b6=await O(_0x3c4be5),_0x5ea0c7=await _0x14ae5c[_0x18033e(0x104)]({..._0x3c4be5[_0x18033e(0x10d)]===void 0x0?{}:{'cwd':_0x3c4be5['cwd']},'format':_0x3c4be5[_0x18033e(0xe0)],'identity':_0x3441b6,'outputPath':_0x3c4be5[_0x18033e(0x109)]});return{'success':!0x0,'format':_0x5ea0c7[_0x18033e(0xe0)],'outputPath':_0x5ea0c7['outputPath'],'sizeBytes':_0x5ea0c7[_0x18033e(0xe1)],'session':k(_0x5ea0c7[_0x18033e(0x143)])};},async 'getWorkbookSession'(_0x42056f){const _0x70371a=_0x39a6;let _0x589079=await O(_0x42056f),_0x595253=await _0x14ae5c[_0x70371a(0x12c)]({..._0x42056f[_0x70371a(0x10d)]===void 0x0?{}:{'cwd':_0x42056f[_0x70371a(0x10d)]},'identity':_0x589079});return{'exists':_0x595253!==null,'session':_0x595253===null?null:k(_0x595253)};},'getSessionCount'(){return _0x14ae5c['getSessionCount']?.()??0x0;},'getSessionIdleTtlMs'(){const _0x5f1045=_0x39a6;return _0x14ae5c[_0x5f1045(0xeb)]?.()??0xea60;},async 'loadWorkbook'(_0x427155){const _0x18f9d3=_0x39a6;let _0x2014c0=await O(_0x427155),_0x1cb617=await _0x14ae5c[_0x18f9d3(0x10f)]({..._0x427155[_0x18f9d3(0x10d)]===void 0x0?{}:{'cwd':_0x427155[_0x18f9d3(0x10d)]},'identity':_0x2014c0,'workbookData':_0x427155[_0x18f9d3(0xe4)]});return{'success':!0x0,'workbookData':_0x1cb617[_0x18f9d3(0xe4)],'session':k(_0x1cb617[_0x18f9d3(0x143)])};},async 'loadWorkbookDataReplayPack'(_0x2c86e1){const _0x425621=_0x39a6;let _0x2e8b8a=await O(_0x2c86e1);return{'success':!0x0,'session':k((await _0x14ae5c[_0x425621(0x120)]({..._0x2c86e1[_0x425621(0x10d)]===void 0x0?{}:{'cwd':_0x2c86e1[_0x425621(0x10d)]},'identity':_0x2e8b8a,'replayPack':{'baseWorkbookData':_0x2c86e1[_0x425621(0xea)],'mutations':_0x2c86e1[_0x425621(0x130)]}}))['session'])};},async 'unloadIdleSessions'(){await _0x14ae5c['unloadIdleSessions']?.();}};}async function O(_0x43dbb1){return await C['resolveIdentity'](_0x43dbb1);}function k(_0x5b535a){const _0x2f7589=_0x39a6;return{'createdAt':_0x5b535a[_0x2f7589(0xf5)]??'','lastAccessedAt':_0x5b535a[_0x2f7589(0x11d)]??'','sessionId':_0x5b535a[_0x2f7589(0x142)],'workbookIdentity':_0x5b535a[_0x2f7589(0x13a)][_0x2f7589(0x149)]};}function A(_0x507d72){const _0x36d635=_0x39a6;return{'build.id':j(_0x507d72[_0x36d635(0x114)],_0x36d635(0x14d))??_0x507d72[_0x36d635(0xe6)],'deployment.environment.name':_0x36d635(0xf8),'distribution.channel':j(_0x507d72[_0x36d635(0x114)],'UNIVER_DISTRIBUTION_CHANNEL')??_0x36d635(0x154),'service.instance.id':String(_0x507d72[_0x36d635(0xf0)]),'service.name':_0x36d635(0x100),...j(_0x507d72[_0x36d635(0x114)],'UNIVER_CLI_VERSION')===void 0x0?{}:{'service.version':j(_0x507d72[_0x36d635(0x114)],_0x36d635(0x13c))}};}function j(_0x3bbd39,_0x281f25){let _0x547186=_0x3bbd39[_0x281f25]?.['trim']();return _0x547186===void 0x0||_0x547186['length']===0x0?void 0x0:_0x547186;}async function M(_0x438034){const _0x2001a1=_0x39a6;F(_0x438034[_0x2001a1(0x125)])&&!await P(_0x438034[_0x2001a1(0x125)])&&await I(_0x438034[_0x2001a1(0x125)]);let _0x20b08d=await L(_0x438034[_0x2001a1(0x150)]);_0x20b08d!==null&&!R(_0x20b08d)&&(await _0x3834dd(_0x438034[_0x2001a1(0x150)],{'force':!0x0})['catch'](()=>void 0x0),await _0x3834dd(_0x438034[_0x2001a1(0xe9)],{'force':!0x0})[_0x2001a1(0x141)](()=>void 0x0),await _0x3834dd(_0x438034[_0x2001a1(0x10a)],{'recursive':!0x0,'force':!0x0})[_0x2001a1(0x141)](()=>void 0x0));}async function N(_0xc959f3,_0x39bfbe){const _0x53fc52=_0x39a6;try{return await _0x517a60(_0xc959f3,{'recursive':!0x1,'mode':0x1c0}),!0x0;}catch(_0x3cab50){if(_0x3cab50[_0x53fc52(0x128)]!==_0x53fc52(0x132))throw _0x3cab50;let _0x439207=await L(_0x39bfbe);return _0x439207!==null&&R(_0x439207)?!0x1:(await _0x3834dd(_0xc959f3,{'recursive':!0x0,'force':!0x0}),await _0x517a60(_0xc959f3,{'recursive':!0x1,'mode':0x1c0}),!0x0);}}async function P(_0x9d1ba5){return await new Promise(_0xffdab1=>{const _0xe716d7=_0x39a6;let _0x3e909a=_0x5d2528[_0xe716d7(0x106)](_0x9d1ba5);_0x3e909a[_0xe716d7(0x12f)](_0xe716d7(0xe3),()=>{const _0x27a845=_0xe716d7;_0x3e909a[_0x27a845(0x145)](),_0xffdab1(!0x0);}),_0x3e909a[_0xe716d7(0x12f)](_0xe716d7(0xf1),()=>{_0xffdab1(!0x1);});});}function _0x4de4(){const _0x2120a8=['env','current','utf8','logRequestError','SIGINT','createWorkbook','data','eventName','784965aRYeOG','lastAccessedAt','destroyAll','SessionDispose','loadWorkbookDataReplayPack','execArgv','createServer','Shutdown','SIGTERM','socketPath','Health','DaemonRpcStart','code','name','message','SessionExportWorkbookFile','getSession','runtimeExecutionPlaneEntry','mutates','once','mutations','slice','EEXIST','1702472eVWGPK','SessionGetWorkbook','info','flush','durationMs','Runtime','kill','packageIdentity','close','UNIVER_CLI_VERSION','unref','toISOString','homeDir','max','catch','sessionId','session','method','end','exit','sessionRoot','4eqeSqn','absolutePath','unloadIdleSessions','loadWorkbook','dispose','UNIVER_CLI_BUILD_ID','DaemonRpcError','now','pidPath','serve','DaemonStart','parse','unknown','logRequestEvent','getWorkbookSession','withSpan','write','exportWorkbookData','event','DaemonRpcServer','2.0','format','sizeBytes','SessionLoadWorkbook','connect','workbookData','finally','buildId','modulePath','Method\x20not\x20found:\x20','metaPath','baseWorkbookData','getSessionIdleTtlMs','params','getSessionCount','value','server','pid','error','listen','sessionHost','4UjFDCN','createdAt','689645MblyYV','2391494ZmrFAF','local','stringify','DaemonStop','maxCodeLength','SessionLoadWorkbookDataReplayPack','2141742pDDCiH','Another\x20daemon\x20startup\x20owns\x20','sigterm','univer-daemon','1999674ECRjaT','Unknown\x20daemon\x20subcommand:\x20','indexOf','exportWorkbookFile','timestamp','createConnection','meta','55043fyCZxr','outputPath','lockPath','evalJs','Daemon','cwd','startedAt','loadWorkbookData','DaemonRpcFinish','daemonDir','trim','Daemon\x20handler\x20not\x20ready:\x20'];_0x4de4=function(){return _0x2120a8;};return _0x4de4();}function F(_0x5c39b9){return _0x191ff2(_0x5c39b9)?!0x1:_0x1501e8(_0x5c39b9);}async function I(_0x5bc962){_0x191ff2(_0x5bc962)||await _0x3834dd(_0x5bc962,{'force':!0x0})['catch'](()=>void 0x0);}async function L(_0x56e7e0){const _0x3521d9=_0x39a6;try{let _0x5c9549=await _0x1c8ae8(_0x56e7e0,_0x3521d9(0x116)),_0x462552=Number(_0x5c9549[_0x3521d9(0x112)]());return Number['isFinite'](_0x462552)?_0x462552:null;}catch{return null;}}function R(_0x18a2b4){const _0x52792e=_0x39a6;try{return _0x4ee53c[_0x52792e(0x139)](_0x18a2b4,0x0),!0x0;}catch{return!0x1;}}function z(_0x2e90f5,_0x5033de){const _0x230ebd=_0x39a6;return{'jsonrpc':_0x230ebd(0xdf),'id':_0x2e90f5,'result':_0x5033de};}function B(_0x29ea72,_0x4250b9,_0x38885c){const _0x4180c4=_0x39a6;return{'jsonrpc':_0x4180c4(0xdf),'id':_0x29ea72,'error':{'code':_0x4250b9,'message':_0x38885c instanceof Error?_0x38885c[_0x4180c4(0x12a)]:String(_0x38885c)}};}function _0x39a6(_0xa07721,_0x541c3b){_0xa07721=_0xa07721-0xdc;const _0x4de44e=_0x4de4();let _0x39a682=_0x4de44e[_0xa07721];return _0x39a682;}var V=process['argv'][0x2]??_0x449132(0x151);V!==_0x449132(0x151)&&(console['error'](_0x449132(0x102)+V),process['exit'](0x1)),w()['catch'](_0x3f5036=>{const _0x40b20e=_0x449132;console[_0x40b20e(0xf1)](_0x3f5036 instanceof Error?_0x3f5036['message']:String(_0x3f5036)),process[_0x40b20e(0x146)](0x1);});
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- const _0x21d635=_0x552a;(function(_0x48b786,_0x20e330){const _0x568391=_0x552a,_0xd48be9=_0x48b786();while(!![]){try{const _0x3c1d23=parseInt(_0x568391(0xa9))/0x1*(parseInt(_0x568391(0xad))/0x2)+-parseInt(_0x568391(0x89))/0x3+parseInt(_0x568391(0xaa))/0x4+-parseInt(_0x568391(0x81))/0x5+-parseInt(_0x568391(0x72))/0x6*(parseInt(_0x568391(0x86))/0x7)+parseInt(_0x568391(0x91))/0x8*(parseInt(_0x568391(0xb0))/0x9)+parseInt(_0x568391(0xb2))/0xa;if(_0x3c1d23===_0x20e330)break;else _0xd48be9['push'](_0xd48be9['shift']());}catch(_0x46d14c){_0xd48be9['push'](_0xd48be9['shift']());}}}(_0x1638,0xe8b70));import{t as _0x2a033c}from'../chunks/build-info-DppqAC9H.js';import{n as _0x3dd8e3}from'../chunks/runtime-manifest-ChxEzYC3.js';import{spawn as _0x3573a9}from'node:child_process';import{readFileSync as _0x305cbb}from'node:fs';import{mkdir as _0x1fadd3,readFile as _0x3b41d6,rename as _0x31fc94,writeFile as _0x31dd9e}from'node:fs/promises';import{dirname as _0x14608d,join as _0x35f636,resolve as _0x5a8e8d}from'node:path';import{fileURLToPath as _0x3f9a32}from'node:url';import{homedir as _0x3eb037,platform as _0x82f742}from'node:os';import{randomUUID as _0x3128e6}from'node:crypto';async function h(_0x35b7d2){const _0x1b9adc=_0x552a;let _0x2b8515=_0x35b7d2[_0x1b9adc(0xab)]??process.env,_0x25c61d=_0x35b7d2[_0x1b9adc(0xbf)]??_0x3dd8e3(_0x2b8515);if(_0x25c61d[_0x1b9adc(0xa8)]!==_0x1b9adc(0x92))return{'reason':'not-packaged','status':_0x1b9adc(0x9b)};let _0x2c840a=_0x35b7d2[_0x1b9adc(0xa0)]??_0x2a033c;if(N(_0x2c840a))return{'reason':_0x1b9adc(0x7b),'status':_0x1b9adc(0x9b)};let _0x5c3a4e=_0x35b7d2[_0x1b9adc(0xb5)]??await O(_0x25c61d['packageRoot']);if(_0x5c3a4e[_0x1b9adc(0x95)][_0x1b9adc(0x9a)]===0x0)return{'reason':_0x1b9adc(0x98),'status':_0x1b9adc(0x9b)};let _0x1165ef=_0x35b7d2['now']??new Date(),_0x369cb5=_0x35b7d2['statePath']??v({'env':_0x2b8515}),_0x3fe8b8=await b({'path':_0x369cb5,..._0x35b7d2[_0x1b9adc(0xa5)]===void 0x0?{}:{'randomId':_0x35b7d2[_0x1b9adc(0xa5)]},..._0x35b7d2[_0x1b9adc(0xaf)]===void 0x0?{}:{'stateIo':_0x35b7d2[_0x1b9adc(0xaf)]}});if(_0x3fe8b8['state']===void 0x0)return{'reason':_0x1b9adc(0x7e),'status':_0x1b9adc(0x9b)};if(_0x35b7d2[_0x1b9adc(0x99)]===_0x1b9adc(0xc2)&&_0x3fe8b8[_0x1b9adc(0x9c)][_0x1b9adc(0xa4)][_0x1b9adc(0xc2)]!==void 0x0)return{'reason':'already-attempted','status':_0x1b9adc(0x9b)};let _0x3efc04=w({'buildInfo':_0x2c840a,'eventName':_0x35b7d2['eventName'],'now':_0x1165ef,'state':_0x3fe8b8[_0x1b9adc(0x9c)]});await C({'path':_0x369cb5,'state':_0x3efc04,..._0x35b7d2['stateIo']===void 0x0?{}:{'stateIo':_0x35b7d2[_0x1b9adc(0xaf)]}});let _0x21c405=T({'buildInfo':_0x2c840a,'env':_0x2b8515,'eventName':_0x35b7d2['eventName'],'eventSource':_0x35b7d2[_0x1b9adc(0x8e)],'manifest':_0x25c61d,'state':_0x3efc04});try{return await(_0x35b7d2['transport']??new A())[_0x1b9adc(0xc3)]({'capture':_0x21c405,'config':_0x5c3a4e}),{'status':_0x1b9adc(0x70)};}catch{return{'reason':_0x1b9adc(0x8d),'status':_0x1b9adc(0x9b)};}}async function g(_0x210874={}){const _0x423852=_0x552a;return await h({..._0x210874,'eventName':'cli_installed','eventSource':_0x423852(0x87)});}async function _(_0x2b2468={}){const _0x101c65=_0x552a;return await h({..._0x2b2468,'eventName':_0x101c65(0xc2),'eventSource':_0x101c65(0xc5)});}function _0x552a(_0xb29cd4,_0x3c9f63){_0xb29cd4=_0xb29cd4-0x6c;const _0x16386b=_0x1638();let _0x552af5=_0x16386b[_0xb29cd4];return _0x552af5;}function v(_0x23e6f2={}){const _0x1fad14=_0x552a;let _0x36330e=(_0x23e6f2['env']??process.env)[_0x1fad14(0x79)]?.[_0x1fad14(0x73)]();return _0x5a8e8d(_0x36330e&&_0x36330e['length']>0x0?_0x36330e:_0x35f636(_0x23e6f2[_0x1fad14(0x93)]??_0x3eb037(),'.univer'),_0x1fad14(0x78),'state.json');}function y(_0x1531c0={}){const _0x1f9f00=_0x552a;return{'anonymousInstallId':_0x1531c0[_0x1f9f00(0xa5)]?.()??_0x3128e6(),'events':{},'version':0x1};}async function b(_0xbf92ad){const _0x598db4=_0x552a;let _0x383d72=_0xbf92ad[_0x598db4(0xaf)]?.[_0x598db4(0x9f)]??_0x3b41d6;try{return{'state':x(await _0x383d72(_0xbf92ad['path'],_0x598db4(0xb8)))};}catch{return{'state':y({..._0xbf92ad[_0x598db4(0xa5)]===void 0x0?{}:{'randomId':_0xbf92ad[_0x598db4(0xa5)]}})};}}function x(_0x281918){const _0x5f3fe3=_0x552a;let _0x15004d=JSON[_0x5f3fe3(0xc4)](_0x281918);if(!R(_0x15004d)||_0x15004d['version']!==0x1)throw Error(_0x5f3fe3(0x74));if(typeof _0x15004d[_0x5f3fe3(0xba)]!=_0x5f3fe3(0xc1)||_0x15004d[_0x5f3fe3(0xba)][_0x5f3fe3(0x9a)]===0x0)throw Error(_0x5f3fe3(0x96));let _0x16930e=R(_0x15004d[_0x5f3fe3(0xa4)])?_0x15004d[_0x5f3fe3(0xa4)]:{};return{'anonymousInstallId':_0x15004d['anonymousInstallId'],'events':{...P(_0x16930e[_0x5f3fe3(0xa6)],'cli_installed'),...P(_0x16930e[_0x5f3fe3(0xc2)],'cli_first_opened')},'version':0x1};}function S(_0x1186fc){const _0x5c2db0=_0x552a;return JSON[_0x5c2db0(0x8f)](_0x1186fc,null,0x2)+'\x0a';}async function C(_0x3879fa){const _0x2a7481=_0x552a;let _0x57602b=_0x3879fa[_0x2a7481(0xaf)]?.[_0x2a7481(0xb9)]??_0x31dd9e,_0x46469b=_0x3879fa[_0x2a7481(0xaf)]?.['rename']??_0x31fc94,_0x2e561d=_0x3879fa[_0x2a7481(0x76)]+'.'+process[_0x2a7481(0xb4)]+'.'+Date[_0x2a7481(0x6f)]()+'.tmp';try{await _0x1fadd3(_0x14608d(_0x3879fa[_0x2a7481(0x76)]),{'mode':0x1c0,'recursive':!0x0}),await _0x57602b(_0x2e561d,S(_0x3879fa[_0x2a7481(0x9c)]),{'encoding':'utf8','mode':0x180}),await _0x46469b(_0x2e561d,_0x3879fa[_0x2a7481(0x76)]);}catch{}}function w(_0x458676){const _0x76947f=_0x552a;return{..._0x458676[_0x76947f(0x9c)],'events':{..._0x458676[_0x76947f(0x9c)][_0x76947f(0xa4)],[_0x458676[_0x76947f(0x99)]]:{'attemptedAt':_0x458676[_0x76947f(0x6f)]['toISOString'](),'buildCommit':_0x458676[_0x76947f(0xa0)][_0x76947f(0x9e)],'cliVersion':_0x458676[_0x76947f(0xa0)][_0x76947f(0xb6)]}}};}function T(_0x3fe07a){const _0x11249c=_0x552a;return{'distinctId':_0x3fe07a[_0x11249c(0x9c)][_0x11249c(0xba)],'event':_0x3fe07a[_0x11249c(0x99)],'properties':E(_0x3fe07a)};}function E(_0x484f57){const _0x3e37f9=_0x552a;return{'arch':process[_0x3e37f9(0x6c)],'build_commit':_0x484f57[_0x3e37f9(0xa0)][_0x3e37f9(0x9e)],'cli_version':_0x484f57['buildInfo'][_0x3e37f9(0xb6)],'distribution_channel':M(_0x484f57['manifest']),'event_source':_0x484f57[_0x3e37f9(0x8e)],'install_manager':D(_0x484f57[_0x3e37f9(0xab)]??process.env),'node_major_version':F(process['versions'][_0x3e37f9(0x8a)]),'package_name':j(_0x484f57['manifest']),'platform':_0x82f742(),'telemetry_state_version':0x1};}function _0x1638(){const _0x34e565=['argv','split','CLI\x20telemetry\x20proxy\x20failed\x20with\x20status\x20','manifest','product-telemetry.json','string','cli_first_opened','capture','parse','cli-startup','first-open','bun','arch','name','number','now','captured','internal','30yhHZYb','trim','Invalid\x20product\x20telemetry\x20state\x20version.','pnpm','path','properties','telemetry','UNIVER_HOME','status','development-build','timeout','test','state-unavailable','object','UNIVER_MANAGED_BY_BUN','490650QyzdHD','univer-cli','0.0.0','postinstall-worker','versions','2289532ZLTeSF','postinstall','npm_execpath','5043999EWEmFj','node','ignore','isSafeInteger','capture-failed','eventSource','stringify','cliVersion','688PAEXjj','packaged','homeDir','application/json','endpoint','Invalid\x20product\x20telemetry\x20anonymous\x20install\x20id.','execPath','missing-endpoint','eventName','length','skipped','state','yarn','commitHash','readFile','buildInfo','packageRoot','npm','internal-github','events','randomId','cli_installed','UNIVER_MANAGED_BY_NPM','mode','24901RLlupO','3874104mwDaLc','env','attemptedAt','50ssMivP','buildCommit','stateIo','156582vTSDXF','@dream-num/univer-cli','12807640INZSTI','https://univer.ai/api/telemetry/cli','pid','config','version','public-npm','utf8','writeFile','anonymousInstallId','unknown'];_0x1638=function(){return _0x34e565;};return _0x1638();}function D(_0x17b974=process.env){const _0xeaced8=_0x552a;let _0x2b287b=process[_0xeaced8(0x85)];if(typeof _0x2b287b['bun']=='string'&&_0x2b287b[_0xeaced8(0xc7)][_0xeaced8(0x9a)]>0x0)return'bun';let _0x150ff5=_0x17b974['npm_config_user_agent']??'';if(/\bbun\//u[_0xeaced8(0x7d)](_0x150ff5))return _0xeaced8(0xc7);if(/\bpnpm\//u[_0xeaced8(0x7d)](_0x150ff5))return _0xeaced8(0x75);if(/\byarn\//u[_0xeaced8(0x7d)](_0x150ff5))return'yarn';if(/\bnpm\//u[_0xeaced8(0x7d)](_0x150ff5))return _0xeaced8(0xa2);let _0x1f5462=_0x17b974[_0xeaced8(0x88)]??'';return/(^|[/\\])bun(?:\.exe)?$/u['test'](_0x1f5462)?_0xeaced8(0xc7):/(^|[/\\])pnpm(?:\.cmd|\.ps1|\.exe)?$/u[_0xeaced8(0x7d)](_0x1f5462)?'pnpm':/(^|[/\\])yarn(?:\.cmd|\.ps1|\.exe)?$/u[_0xeaced8(0x7d)](_0x1f5462)?_0xeaced8(0x9d):/(^|[/\\])npm(?:\.cmd|\.ps1|\.exe)?$/u[_0xeaced8(0x7d)](_0x1f5462)?'npm':_0x17b974[_0xeaced8(0x80)]==='1'?_0xeaced8(0xc7):_0x17b974[_0xeaced8(0xa7)]==='1'?_0xeaced8(0xa2):_0xeaced8(0xbb);}async function O(_0x402f21){const _0x236eee=_0x552a;try{let _0x52723b=await _0x3b41d6(_0x35f636(_0x402f21,_0x236eee(0x71),_0x236eee(0xc0)),_0x236eee(0xb8));return k(JSON[_0x236eee(0xc4)](_0x52723b));}catch{return k({});}}function k(_0x555017){const _0x32aaab=_0x552a;let _0x13d27c=R(_0x555017)?_0x555017:{};return{'endpoint':I(_0x13d27c['endpoint'],_0x32aaab(0xb3)),'timeoutMs':L(_0x13d27c['timeoutMs'],0x1388)};}var A=class{async[_0x21d635(0xc3)](_0x9eed56){const _0x41ae9e=_0x21d635;let _0x11ca90=await fetch(_0x9eed56[_0x41ae9e(0xb5)][_0x41ae9e(0x95)],{'body':JSON[_0x41ae9e(0x8f)]({'distinctId':_0x9eed56[_0x41ae9e(0xc3)]['distinctId'],'event':_0x9eed56[_0x41ae9e(0xc3)]['event'],'properties':_0x9eed56[_0x41ae9e(0xc3)][_0x41ae9e(0x77)]}),'headers':{'content-type':_0x41ae9e(0x94)},'method':'POST','signal':AbortSignal[_0x41ae9e(0x7c)](_0x9eed56[_0x41ae9e(0xb5)]['timeoutMs'])});if(!_0x11ca90['ok'])throw Error(_0x41ae9e(0xbe)+_0x11ca90[_0x41ae9e(0x7a)]);}};function j(_0xfd2ec3){const _0x3256fc=_0x21d635;try{let _0x24ee11=JSON[_0x3256fc(0xc4)](_0x305cbb(_0x35f636(_0xfd2ec3[_0x3256fc(0xa1)],'package.json'),_0x3256fc(0xb8)));return typeof _0x24ee11[_0x3256fc(0x6d)]=='string'&&_0x24ee11['name']['trim']()[_0x3256fc(0x9a)]>0x0?_0x24ee11['name']:_0x3256fc(0x82);}catch{return _0x3256fc(0x82);}}function M(_0x762f19){const _0x236a5e=_0x21d635;let _0x5e0b99=j(_0x762f19);return _0x5e0b99===_0x236a5e(0xb1)?_0x236a5e(0xa3):_0x5e0b99==='univer-cli'?_0x236a5e(0xb7):_0x762f19[_0x236a5e(0xa8)];}function N(_0x10b54f){const _0xc3aaf4=_0x21d635;return _0x10b54f[_0xc3aaf4(0xb6)]===_0xc3aaf4(0x83);}function P(_0x8920d4,_0x11b75d){const _0x3901ad=_0x21d635;return!R(_0x8920d4)||typeof _0x8920d4[_0x3901ad(0xac)]!=_0x3901ad(0xc1)||typeof _0x8920d4[_0x3901ad(0xae)]!=_0x3901ad(0xc1)||typeof _0x8920d4[_0x3901ad(0x90)]!=_0x3901ad(0xc1)?{}:{[_0x11b75d]:{'attemptedAt':_0x8920d4[_0x3901ad(0xac)],'buildCommit':_0x8920d4['buildCommit'],'cliVersion':_0x8920d4[_0x3901ad(0x90)]}};}function F(_0x59ffc7){const _0x2b84ec=_0x21d635;let _0x3a2ee1=Number(_0x59ffc7[_0x2b84ec(0xbd)]('.')[0x0]);return Number[_0x2b84ec(0x8c)](_0x3a2ee1)&&_0x3a2ee1>0x0?_0x3a2ee1:void 0x0;}function I(_0x31b71e,_0x175b58){const _0x531cb8=_0x21d635;return typeof _0x31b71e==_0x531cb8(0xc1)&&_0x31b71e[_0x531cb8(0x73)]()[_0x531cb8(0x9a)]>0x0?_0x31b71e['trim']():_0x175b58;}function L(_0x2ea5ed,_0x75eabb){const _0x486268=_0x21d635;return typeof _0x2ea5ed==_0x486268(0x6e)&&Number['isSafeInteger'](_0x2ea5ed)&&_0x2ea5ed>0x0?_0x2ea5ed:_0x75eabb;}function R(_0x3a9b96){const _0x1b37ab=_0x21d635;return typeof _0x3a9b96==_0x1b37ab(0x7f)&&!!_0x3a9b96;}var z=process[_0x21d635(0xbc)][0x2];try{z===_0x21d635(0xc6)?await _():z===_0x21d635(0x87)?B(_0x21d635(0x84)):z===_0x21d635(0x84)&&await g();}catch{}function B(_0x5aeab4){const _0x52515e=_0x21d635;_0x3573a9(process[_0x52515e(0x97)],[_0x3f9a32(import.meta.url),_0x5aeab4],{'detached':!0x0,'env':process.env,'stdio':_0x52515e(0x8b),'windowsHide':!0x0})['unref']();}
2
+ const _0x13a199=_0x6e8b;(function(_0x3ea10,_0x50abf0){const _0x3210f3=_0x6e8b,_0x5c2b01=_0x3ea10();while(!![]){try{const _0x4d44ab=parseInt(_0x3210f3(0x117))/0x1*(-parseInt(_0x3210f3(0xe9))/0x2)+parseInt(_0x3210f3(0x105))/0x3+-parseInt(_0x3210f3(0xd7))/0x4+-parseInt(_0x3210f3(0xc6))/0x5+-parseInt(_0x3210f3(0xcc))/0x6*(-parseInt(_0x3210f3(0x104))/0x7)+parseInt(_0x3210f3(0xdc))/0x8*(-parseInt(_0x3210f3(0x115))/0x9)+parseInt(_0x3210f3(0xda))/0xa;if(_0x4d44ab===_0x50abf0)break;else _0x5c2b01['push'](_0x5c2b01['shift']());}catch(_0x4ddae9){_0x5c2b01['push'](_0x5c2b01['shift']());}}}(_0x2d43,0x79cd7));import{t as _0x2e3b08}from'../chunks/build-info-Bm_NrQxl.js';import{n as _0x277309}from'../chunks/runtime-manifest-ChxEzYC3.js';import{spawn as _0x542844}from'node:child_process';import{readFileSync as _0x3df209}from'node:fs';function _0x2d43(){const _0x1551c8=['cli_installed','captured','internal','pid','isSafeInteger','events','not-packaged','univer-cli','manifest','state-unavailable','npm_execpath','@dream-num/univer-cli','npm_config_user_agent','already-attempted','228618HPgYvv','npm','97501QcqrOh','stringify','timeoutMs','string','toISOString','test','POST','Invalid\x20product\x20telemetry\x20anonymous\x20install\x20id.','1372270PpKZOD','transport','trim','buildInfo','homeDir','stateIo','84BRpzeK','number','application/json','UNIVER_MANAGED_BY_BUN','cli_first_opened','object','now','first-open','versions','node','eventName','1056256CNFjfw','execPath','capture-failed','4225060pZezQB','cliVersion','208rjQBZu','telemetry','bun','product-telemetry.json','split','anonymousInstallId','buildCommit','postinstall-worker','https://univer.ai/api/telemetry/cli','commitHash','version','postinstall','readFile','6MENyKX','utf8','skipped','state','public-npm','name','unref','distinctId','unknown','mode','randomId','capture','env','packageRoot','endpoint','eventSource','timeout','package.json','.tmp','parse','statePath','config','writeFile','properties','path','pnpm','length','486836zkjxQA','1782594KtWTWk','.univer'];_0x2d43=function(){return _0x1551c8;};return _0x2d43();}import{mkdir as _0x6b0ad2,readFile as _0x3dfcd6,rename as _0xc398da,writeFile as _0x235bb5}from'node:fs/promises';import{dirname as _0x3dcb71,join as _0x1a9976,resolve as _0x1ff579}from'node:path';import{fileURLToPath as _0x4cecaa}from'node:url';import{homedir as _0x346ab2,platform as _0x5d3f48}from'node:os';function _0x6e8b(_0x55810b,_0x3ef96d){_0x55810b=_0x55810b-0xc4;const _0x2d43d9=_0x2d43();let _0x6e8bc6=_0x2d43d9[_0x55810b];return _0x6e8bc6;}import{randomUUID as _0x514adf}from'node:crypto';async function h(_0x4a0172){const _0x321b04=_0x6e8b;let _0x21cf88=_0x4a0172[_0x321b04(0xf5)]??process.env,_0x426bee=_0x4a0172[_0x321b04(0x10f)]??_0x277309(_0x21cf88);if(_0x426bee['mode']!=='packaged')return{'reason':_0x321b04(0x10d),'status':_0x321b04(0xeb)};let _0x389625=_0x4a0172['buildInfo']??_0x2e3b08;if(N(_0x389625))return{'reason':'development-build','status':_0x321b04(0xeb)};let _0x5bd7bf=_0x4a0172[_0x321b04(0xfe)]??await O(_0x426bee[_0x321b04(0xf6)]);if(_0x5bd7bf[_0x321b04(0xf7)][_0x321b04(0x103)]===0x0)return{'reason':'missing-endpoint','status':'skipped'};let _0xd653c5=_0x4a0172[_0x321b04(0xd2)]??new Date(),_0x2c66ea=_0x4a0172[_0x321b04(0xfd)]??v({'env':_0x21cf88}),_0x1734c8=await b({'path':_0x2c66ea,..._0x4a0172[_0x321b04(0xf3)]===void 0x0?{}:{'randomId':_0x4a0172[_0x321b04(0xf3)]},..._0x4a0172[_0x321b04(0xcb)]===void 0x0?{}:{'stateIo':_0x4a0172[_0x321b04(0xcb)]}});if(_0x1734c8[_0x321b04(0xec)]===void 0x0)return{'reason':_0x321b04(0x110),'status':_0x321b04(0xeb)};if(_0x4a0172['eventName']===_0x321b04(0xd0)&&_0x1734c8[_0x321b04(0xec)][_0x321b04(0x10c)]['cli_first_opened']!==void 0x0)return{'reason':_0x321b04(0x114),'status':'skipped'};let _0x49c03a=w({'buildInfo':_0x389625,'eventName':_0x4a0172[_0x321b04(0xd6)],'now':_0xd653c5,'state':_0x1734c8[_0x321b04(0xec)]});await C({'path':_0x2c66ea,'state':_0x49c03a,..._0x4a0172[_0x321b04(0xcb)]===void 0x0?{}:{'stateIo':_0x4a0172[_0x321b04(0xcb)]}});let _0x3193a0=T({'buildInfo':_0x389625,'env':_0x21cf88,'eventName':_0x4a0172[_0x321b04(0xd6)],'eventSource':_0x4a0172['eventSource'],'manifest':_0x426bee,'state':_0x49c03a});try{return await(_0x4a0172[_0x321b04(0xc7)]??new A())[_0x321b04(0xf4)]({'capture':_0x3193a0,'config':_0x5bd7bf}),{'status':_0x321b04(0x108)};}catch{return{'reason':_0x321b04(0xd9),'status':_0x321b04(0xeb)};}}async function g(_0x2f50ed={}){const _0x247ac2=_0x6e8b;return await h({..._0x2f50ed,'eventName':_0x247ac2(0x107),'eventSource':_0x247ac2(0xe7)});}async function _(_0x2c7706={}){const _0x2ceb0f=_0x6e8b;return await h({..._0x2c7706,'eventName':_0x2ceb0f(0xd0),'eventSource':'cli-startup'});}function v(_0x479082={}){const _0x1af21b=_0x6e8b;let _0x25911a=(_0x479082['env']??process.env)['UNIVER_HOME']?.[_0x1af21b(0xc8)]();return _0x1ff579(_0x25911a&&_0x25911a[_0x1af21b(0x103)]>0x0?_0x25911a:_0x1a9976(_0x479082[_0x1af21b(0xca)]??_0x346ab2(),_0x1af21b(0x106)),_0x1af21b(0xdd),'state.json');}function y(_0x5e90e5={}){const _0x5b66d7=_0x6e8b;return{'anonymousInstallId':_0x5e90e5[_0x5b66d7(0xf3)]?.()??_0x514adf(),'events':{},'version':0x1};}async function b(_0x6bc76a){const _0x27f04d=_0x6e8b;let _0x3df6ae=_0x6bc76a['stateIo']?.[_0x27f04d(0xe8)]??_0x3dfcd6;try{return{'state':x(await _0x3df6ae(_0x6bc76a['path'],_0x27f04d(0xea)))};}catch{return{'state':y({..._0x6bc76a['randomId']===void 0x0?{}:{'randomId':_0x6bc76a[_0x27f04d(0xf3)]}})};}}function x(_0x3a79c9){const _0x229de2=_0x6e8b;let _0x3dabe4=JSON[_0x229de2(0xfc)](_0x3a79c9);if(!R(_0x3dabe4)||_0x3dabe4[_0x229de2(0xe6)]!==0x1)throw Error('Invalid\x20product\x20telemetry\x20state\x20version.');if(typeof _0x3dabe4['anonymousInstallId']!='string'||_0x3dabe4[_0x229de2(0xe1)][_0x229de2(0x103)]===0x0)throw Error(_0x229de2(0xc5));let _0x20077b=R(_0x3dabe4[_0x229de2(0x10c)])?_0x3dabe4[_0x229de2(0x10c)]:{};return{'anonymousInstallId':_0x3dabe4['anonymousInstallId'],'events':{...P(_0x20077b[_0x229de2(0x107)],'cli_installed'),...P(_0x20077b[_0x229de2(0xd0)],'cli_first_opened')},'version':0x1};}function S(_0x4033d5){const _0x531515=_0x6e8b;return JSON[_0x531515(0x118)](_0x4033d5,null,0x2)+'\x0a';}async function C(_0x565733){const _0x36a73e=_0x6e8b;let _0xf1185b=_0x565733[_0x36a73e(0xcb)]?.[_0x36a73e(0xff)]??_0x235bb5,_0xbf39c=_0x565733[_0x36a73e(0xcb)]?.['rename']??_0xc398da,_0x183fbd=_0x565733[_0x36a73e(0x101)]+'.'+process[_0x36a73e(0x10a)]+'.'+Date[_0x36a73e(0xd2)]()+_0x36a73e(0xfb);try{await _0x6b0ad2(_0x3dcb71(_0x565733[_0x36a73e(0x101)]),{'mode':0x1c0,'recursive':!0x0}),await _0xf1185b(_0x183fbd,S(_0x565733['state']),{'encoding':'utf8','mode':0x180}),await _0xbf39c(_0x183fbd,_0x565733[_0x36a73e(0x101)]);}catch{}}function w(_0x45f873){const _0x4caa2e=_0x6e8b;return{..._0x45f873[_0x4caa2e(0xec)],'events':{..._0x45f873[_0x4caa2e(0xec)][_0x4caa2e(0x10c)],[_0x45f873[_0x4caa2e(0xd6)]]:{'attemptedAt':_0x45f873[_0x4caa2e(0xd2)][_0x4caa2e(0x11b)](),'buildCommit':_0x45f873[_0x4caa2e(0xc9)][_0x4caa2e(0xe5)],'cliVersion':_0x45f873[_0x4caa2e(0xc9)][_0x4caa2e(0xe6)]}}};}function T(_0xabfc64){const _0x59d4ec=_0x6e8b;return{'distinctId':_0xabfc64['state'][_0x59d4ec(0xe1)],'event':_0xabfc64[_0x59d4ec(0xd6)],'properties':E(_0xabfc64)};}function E(_0x302936){const _0x45824d=_0x6e8b;return{'arch':process['arch'],'build_commit':_0x302936[_0x45824d(0xc9)][_0x45824d(0xe5)],'cli_version':_0x302936[_0x45824d(0xc9)][_0x45824d(0xe6)],'distribution_channel':M(_0x302936[_0x45824d(0x10f)]),'event_source':_0x302936[_0x45824d(0xf8)],'install_manager':D(_0x302936[_0x45824d(0xf5)]??process.env),'node_major_version':F(process['versions'][_0x45824d(0xd5)]),'package_name':j(_0x302936[_0x45824d(0x10f)]),'platform':_0x5d3f48(),'telemetry_state_version':0x1};}function D(_0xfa3505=process.env){const _0x550cf5=_0x6e8b;let _0x8629d=process[_0x550cf5(0xd4)];if(typeof _0x8629d[_0x550cf5(0xde)]==_0x550cf5(0x11a)&&_0x8629d[_0x550cf5(0xde)][_0x550cf5(0x103)]>0x0)return _0x550cf5(0xde);let _0x1dba00=_0xfa3505[_0x550cf5(0x113)]??'';if(/\bbun\//u['test'](_0x1dba00))return'bun';if(/\bpnpm\//u['test'](_0x1dba00))return'pnpm';if(/\byarn\//u['test'](_0x1dba00))return'yarn';if(/\bnpm\//u[_0x550cf5(0x11c)](_0x1dba00))return _0x550cf5(0x116);let _0x1a290a=_0xfa3505[_0x550cf5(0x111)]??'';return/(^|[/\\])bun(?:\.exe)?$/u['test'](_0x1a290a)?_0x550cf5(0xde):/(^|[/\\])pnpm(?:\.cmd|\.ps1|\.exe)?$/u[_0x550cf5(0x11c)](_0x1a290a)?_0x550cf5(0x102):/(^|[/\\])yarn(?:\.cmd|\.ps1|\.exe)?$/u['test'](_0x1a290a)?'yarn':/(^|[/\\])npm(?:\.cmd|\.ps1|\.exe)?$/u['test'](_0x1a290a)?'npm':_0xfa3505[_0x550cf5(0xcf)]==='1'?_0x550cf5(0xde):_0xfa3505['UNIVER_MANAGED_BY_NPM']==='1'?_0x550cf5(0x116):_0x550cf5(0xf1);}async function O(_0x3d81fd){const _0xbb6b50=_0x6e8b;try{let _0x563109=await _0x3dfcd6(_0x1a9976(_0x3d81fd,_0xbb6b50(0x109),_0xbb6b50(0xdf)),_0xbb6b50(0xea));return k(JSON[_0xbb6b50(0xfc)](_0x563109));}catch{return k({});}}function k(_0x37ba81){const _0x5d8adf=_0x6e8b;let _0x25bfa4=R(_0x37ba81)?_0x37ba81:{};return{'endpoint':I(_0x25bfa4['endpoint'],_0x5d8adf(0xe4)),'timeoutMs':L(_0x25bfa4[_0x5d8adf(0x119)],0x1388)};}var A=class{async['capture'](_0x1009b1){const _0x568023=_0x6e8b;let _0x4faddd=await fetch(_0x1009b1[_0x568023(0xfe)][_0x568023(0xf7)],{'body':JSON['stringify']({'distinctId':_0x1009b1[_0x568023(0xf4)][_0x568023(0xf0)],'event':_0x1009b1[_0x568023(0xf4)]['event'],'properties':_0x1009b1[_0x568023(0xf4)][_0x568023(0x100)]}),'headers':{'content-type':_0x568023(0xce)},'method':_0x568023(0xc4),'signal':AbortSignal[_0x568023(0xf9)](_0x1009b1[_0x568023(0xfe)][_0x568023(0x119)])});if(!_0x4faddd['ok'])throw Error('CLI\x20telemetry\x20proxy\x20failed\x20with\x20status\x20'+_0x4faddd['status']);}};function j(_0x125d98){const _0x50a465=_0x6e8b;try{let _0x49f093=JSON[_0x50a465(0xfc)](_0x3df209(_0x1a9976(_0x125d98[_0x50a465(0xf6)],_0x50a465(0xfa)),'utf8'));return typeof _0x49f093[_0x50a465(0xee)]==_0x50a465(0x11a)&&_0x49f093[_0x50a465(0xee)][_0x50a465(0xc8)]()[_0x50a465(0x103)]>0x0?_0x49f093[_0x50a465(0xee)]:_0x50a465(0x10e);}catch{return _0x50a465(0x10e);}}function M(_0x58a147){const _0x3f070b=_0x6e8b;let _0x2feb1a=j(_0x58a147);return _0x2feb1a===_0x3f070b(0x112)?'internal-github':_0x2feb1a===_0x3f070b(0x10e)?_0x3f070b(0xed):_0x58a147[_0x3f070b(0xf2)];}function N(_0xe653ba){const _0xf32f32=_0x6e8b;return _0xe653ba[_0xf32f32(0xe6)]==='0.0.0';}function P(_0x1f07fd,_0x4b2c9d){const _0x20b82a=_0x6e8b;return!R(_0x1f07fd)||typeof _0x1f07fd['attemptedAt']!=_0x20b82a(0x11a)||typeof _0x1f07fd[_0x20b82a(0xe2)]!=_0x20b82a(0x11a)||typeof _0x1f07fd['cliVersion']!='string'?{}:{[_0x4b2c9d]:{'attemptedAt':_0x1f07fd['attemptedAt'],'buildCommit':_0x1f07fd[_0x20b82a(0xe2)],'cliVersion':_0x1f07fd[_0x20b82a(0xdb)]}};}function F(_0x24c1a7){const _0x1afeae=_0x6e8b;let _0x340ec8=Number(_0x24c1a7[_0x1afeae(0xe0)]('.')[0x0]);return Number[_0x1afeae(0x10b)](_0x340ec8)&&_0x340ec8>0x0?_0x340ec8:void 0x0;}function I(_0x4c95c4,_0x4d8e2e){const _0x4dd86e=_0x6e8b;return typeof _0x4c95c4=='string'&&_0x4c95c4[_0x4dd86e(0xc8)]()[_0x4dd86e(0x103)]>0x0?_0x4c95c4[_0x4dd86e(0xc8)]():_0x4d8e2e;}function L(_0x39abfb,_0x2c3765){const _0x1ed9cb=_0x6e8b;return typeof _0x39abfb==_0x1ed9cb(0xcd)&&Number[_0x1ed9cb(0x10b)](_0x39abfb)&&_0x39abfb>0x0?_0x39abfb:_0x2c3765;}function R(_0x570052){const _0x4f16ff=_0x6e8b;return typeof _0x570052==_0x4f16ff(0xd1)&&!!_0x570052;}var z=process['argv'][0x2];try{z===_0x13a199(0xd3)?await _():z===_0x13a199(0xe7)?B('postinstall-worker'):z===_0x13a199(0xe3)&&await g();}catch{}function B(_0x1ef546){const _0x2e587b=_0x13a199;_0x542844(process[_0x2e587b(0xd8)],[_0x4cecaa(import.meta.url),_0x1ef546],{'detached':!0x0,'env':process.env,'stdio':'ignore','windowsHide':!0x0})[_0x2e587b(0xef)]();}
@@ -1 +1 @@
1
- function _0x53f8(_0x5cfa11,_0x37e1d0){_0x5cfa11=_0x5cfa11-0x76;const _0x86feb6=_0x86fe();let _0x53f84c=_0x86feb6[_0x5cfa11];return _0x53f84c;}const _0x2f31b6=_0x53f8;(function(_0x5d7176,_0x4a7120){const _0x9e3f50=_0x53f8,_0x4d329f=_0x5d7176();while(!![]){try{const _0x55c181=parseInt(_0x9e3f50(0x91))/0x1*(parseInt(_0x9e3f50(0xa4))/0x2)+parseInt(_0x9e3f50(0xa3))/0x3+parseInt(_0x9e3f50(0x9e))/0x4+parseInt(_0x9e3f50(0x8d))/0x5*(parseInt(_0x9e3f50(0x95))/0x6)+parseInt(_0x9e3f50(0x9d))/0x7+parseInt(_0x9e3f50(0x96))/0x8*(-parseInt(_0x9e3f50(0x80))/0x9)+-parseInt(_0x9e3f50(0x78))/0xa*(parseInt(_0x9e3f50(0x8a))/0xb);if(_0x55c181===_0x4a7120)break;else _0x4d329f['push'](_0x4d329f['shift']());}catch(_0x4f7c9a){_0x4d329f['push'](_0x4d329f['shift']());}}}(_0x86fe,0x9cc68));import'../chunks/vendor-_Iee0Tjc.js';import{t as _0x1e59f0}from'../chunks/headless-univer-DStKKsiM.js';import{n as _0xb015f0,o as _0xd47431,t as _0x3ac283}from'../chunks/trace-DPfd8LdJ.js';let i=function(_0x1bddb1){const _0x4347d5=_0x53f8;return _0x1bddb1[_0x4347d5(0x7d)]=_0x4347d5(0x82),_0x1bddb1[_0x4347d5(0x8f)]='evaljs',_0x1bddb1[_0x4347d5(0x8b)]='exportWorkbookFile',_0x1bddb1['ExportWorkbookData']=_0x4347d5(0xa6),_0x1bddb1[_0x4347d5(0x94)]=_0x4347d5(0x90),_0x1bddb1[_0x4347d5(0xa2)]=_0x4347d5(0x98),_0x1bddb1;}({});var a=class{['tail']=Promise[_0x2f31b6(0x83)]();async[_0x2f31b6(0x92)](_0x1a1a75){const _0x527372=_0x2f31b6;let _0xc7f34f=this['tail'],_0xd01907;this[_0x527372(0x7f)]=new Promise(_0x436cae=>{_0xd01907=_0x436cae;}),await _0xc7f34f;try{return await _0x1a1a75();}finally{_0xd01907?.();}}},o=_0x1e59f0(),s=new a();process[_0x2f31b6(0x88)]?.({'type':_0x2f31b6(0x85)}),process['on'](_0x2f31b6(0x8c),async _0x267b58=>{const _0x3ac751=_0x2f31b6;if(_0x267b58?.[_0x3ac751(0xa0)]!=='rpc-request')return;let _0x27d315=await c(_0x267b58['data']);process[_0x3ac751(0x88)]?.({'type':_0x3ac751(0x89),'id':_0x267b58['id'],'data':_0x27d315});}),process['on']('disconnect',()=>{const _0x42f770=_0x2f31b6;o[_0x42f770(0x9c)](),process[_0x42f770(0x86)](0x0);}),process['on'](_0x2f31b6(0x79),()=>{const _0x182d23=_0x2f31b6;o[_0x182d23(0x9c)](),process['exit'](0x0);});async function c(_0xdddbdc){const _0x2b2076=_0x2f31b6;let _0x51cf48=_0x3ac283(_0xdddbdc['meta']?.[_0x2b2076(0x9f)]),_0x5cc14a=async()=>await _0xb015f0['withSpan']({'name':_0xd47431[_0x2b2076(0x7c)],'kind':'server'},async()=>await l(_0xdddbdc));return _0x51cf48===void 0x0?await _0x5cc14a():await _0xb015f0[_0x2b2076(0x97)](_0x51cf48,_0x5cc14a);}function _0x86fe(){const _0x17897f=['4075576pWVass','withContext','loadWorkbookDataReplayPack','code','2.0','params','dispose','4071424EpkeOQ','169172OnDohZ','traceparent','type','mutates','LoadWorkbookDataReplayPack','2717382voEALA','6442zGbSIz','exportWorkbookFile','exportWorkbookData','evalJsWithMutationCapture','loadWorkbookData','5546010GMJmmo','SIGTERM','method','mutations','RuntimeRpcClient','CreateWorkbook','value','tail','9IxWQau','evalJs','createWorkbook','resolve','format','ready','exit','maxCodeLength','send','rpc-response','22GJYovA','ExportWorkbookFile','message','10775DOofhe','outputPath','EvalJs','loadWorkbook','47FuDDCY','enqueue','workbookData','LoadWorkbook','1614UnLTuH'];_0x86fe=function(){return _0x17897f;};return _0x86fe();}async function l(_0x2fba7e){const _0x28e716=_0x2f31b6;try{switch(_0x2fba7e[_0x28e716(0x7a)]){case i['CreateWorkbook']:{let _0xb88f2a=o[_0x28e716(0x82)](_0x2fba7e[_0x28e716(0x9b)]??{});return{'jsonrpc':_0x28e716(0x9a),'id':_0x2fba7e['id'],'result':{'success':!0x0,'workbookData':_0xb88f2a}};}case i[_0x28e716(0x94)]:{let _0x550193=o[_0x28e716(0x77)](_0x2fba7e[_0x28e716(0x9b)][_0x28e716(0x93)]);return{'jsonrpc':_0x28e716(0x9a),'id':_0x2fba7e['id'],'result':{'success':!0x0,'workbookData':_0x550193}};}case i[_0x28e716(0xa2)]:return await o[_0x28e716(0x98)](_0x2fba7e[_0x28e716(0x9b)]),{'jsonrpc':_0x28e716(0x9a),'id':_0x2fba7e['id'],'result':{'success':!0x0}};case i['ExportWorkbookData']:return{'jsonrpc':'2.0','id':_0x2fba7e['id'],'result':{'success':!0x0,'workbookData':o['exportWorkbookData']()}};case i[_0x28e716(0x8b)]:{let _0x543d63=_0x2fba7e[_0x28e716(0x9b)],_0x4ca31c=await o[_0x28e716(0xa5)](_0x543d63[_0x28e716(0x8e)],_0x543d63[_0x28e716(0x84)]);return{'jsonrpc':_0x28e716(0x9a),'id':_0x2fba7e['id'],'result':{'success':!0x0,..._0x4ca31c}};}case i['EvalJs']:{let _0xca2167=_0x2fba7e[_0x28e716(0x9b)]??{},_0x68ad05=async()=>{const _0x40fd7c=_0x28e716;let _0x9c4902=_0xca2167[_0x40fd7c(0xa1)]?await o[_0x40fd7c(0x76)](_0xca2167[_0x40fd7c(0x99)],_0xca2167['maxCodeLength']):{'value':await o[_0x40fd7c(0x81)](_0xca2167[_0x40fd7c(0x99)],_0xca2167[_0x40fd7c(0x87)]),'mutations':void 0x0};return{'success':!0x0,..._0x9c4902['mutations']===void 0x0?{}:{'mutations':_0x9c4902[_0x40fd7c(0x7b)]},'value':_0x9c4902[_0x40fd7c(0x7e)]};},_0x30bb7e=_0xca2167[_0x28e716(0xa1)]?await s['enqueue'](_0x68ad05):await _0x68ad05();return{'jsonrpc':_0x28e716(0x9a),'id':_0x2fba7e['id'],'result':_0x30bb7e};}default:throw Error('Method\x20not\x20implemented:\x20'+String(_0x2fba7e[_0x28e716(0x7a)]));}}catch(_0x21ac28){return{'jsonrpc':_0x28e716(0x9a),'id':_0x2fba7e['id'],'error':{'code':-0x7f5b,'message':_0x21ac28 instanceof Error?_0x21ac28[_0x28e716(0x8c)]:String(_0x21ac28)}};}}
1
+ const _0x278d96=_0x438e;(function(_0x50ac99,_0x3ab403){const _0x2ef903=_0x438e,_0x5d7b7b=_0x50ac99();while(!![]){try{const _0x543b56=parseInt(_0x2ef903(0x7b))/0x1*(parseInt(_0x2ef903(0x8b))/0x2)+-parseInt(_0x2ef903(0xa1))/0x3*(parseInt(_0x2ef903(0x93))/0x4)+-parseInt(_0x2ef903(0x85))/0x5*(-parseInt(_0x2ef903(0xa6))/0x6)+-parseInt(_0x2ef903(0x81))/0x7*(parseInt(_0x2ef903(0xa2))/0x8)+-parseInt(_0x2ef903(0x95))/0x9+-parseInt(_0x2ef903(0x8d))/0xa+parseInt(_0x2ef903(0x84))/0xb;if(_0x543b56===_0x3ab403)break;else _0x5d7b7b['push'](_0x5d7b7b['shift']());}catch(_0x44f091){_0x5d7b7b['push'](_0x5d7b7b['shift']());}}}(_0x44c7,0x6b5ec));import'../chunks/vendor-_Iee0Tjc.js';function _0x44c7(){const _0x2643db=['meta','evalJs','7lTHuWK','RuntimeRpcClient','withSpan','12628044CPWpTS','7355XorCmn','evalJsWithMutationCapture','data','rpc-request','message','mutates','50074SGuTWA','2.0','6970220LCaTXF','exportWorkbookFile','maxCodeLength','SIGTERM','createWorkbook','rpc-response','2128244wxqYjA','ExportWorkbookData','819396UtRMjG','traceparent','workbookData','outputPath','ready','CreateWorkbook','loadWorkbookData','LoadWorkbookDataReplayPack','exit','params','exportWorkbookData','disconnect','3MPnsnH','4617336FMvNLk','dispose','enqueue','resolve','3114eaZcJK','ExportWorkbookFile','LoadWorkbook','17ljuyGH','format','code','mutations'];_0x44c7=function(){return _0x2643db;};return _0x44c7();}import{t as _0xf76b84}from'../chunks/headless-univer-DStKKsiM.js';import{n as _0x8f9149,o as _0x15998b,t as _0x402845}from'../chunks/trace-DPfd8LdJ.js';let i=function(_0x4f72ab){const _0x4d2fa2=_0x438e;return _0x4f72ab[_0x4d2fa2(0x9a)]=_0x4d2fa2(0x91),_0x4f72ab['EvalJs']='evaljs',_0x4f72ab['ExportWorkbookFile']=_0x4d2fa2(0x8e),_0x4f72ab['ExportWorkbookData']=_0x4d2fa2(0x9f),_0x4f72ab[_0x4d2fa2(0xa8)]='loadWorkbook',_0x4f72ab[_0x4d2fa2(0x9c)]='loadWorkbookDataReplayPack',_0x4f72ab;}({});var a=class{['tail']=Promise[_0x278d96(0xa5)]();async[_0x278d96(0xa4)](_0x531ff2){let _0x5686c0=this['tail'],_0x5b7aff;this['tail']=new Promise(_0x75cf7d=>{_0x5b7aff=_0x75cf7d;}),await _0x5686c0;try{return await _0x531ff2();}finally{_0x5b7aff?.();}}},o=_0xf76b84(),s=new a();function _0x438e(_0x4ccc2f,_0x1df900){_0x4ccc2f=_0x4ccc2f-0x7b;const _0x44c728=_0x44c7();let _0x438e44=_0x44c728[_0x4ccc2f];return _0x438e44;}process['send']?.({'type':_0x278d96(0x99)}),process['on'](_0x278d96(0x89),async _0x53a82d=>{const _0x223c1b=_0x278d96;if(_0x53a82d?.['type']!==_0x223c1b(0x88))return;let _0x407275=await c(_0x53a82d[_0x223c1b(0x87)]);process['send']?.({'type':_0x223c1b(0x92),'id':_0x53a82d['id'],'data':_0x407275});}),process['on'](_0x278d96(0xa0),()=>{const _0x1c4e9c=_0x278d96;o[_0x1c4e9c(0xa3)](),process[_0x1c4e9c(0x9d)](0x0);}),process['on'](_0x278d96(0x90),()=>{const _0x3491fc=_0x278d96;o['dispose'](),process[_0x3491fc(0x9d)](0x0);});async function c(_0x3b9a4a){const _0x38d8eb=_0x278d96;let _0x287a9a=_0x402845(_0x3b9a4a[_0x38d8eb(0x7f)]?.[_0x38d8eb(0x96)]),_0x34fe18=async()=>await _0x8f9149[_0x38d8eb(0x83)]({'name':_0x15998b[_0x38d8eb(0x82)],'kind':'server'},async()=>await l(_0x3b9a4a));return _0x287a9a===void 0x0?await _0x34fe18():await _0x8f9149['withContext'](_0x287a9a,_0x34fe18);}async function l(_0x527e15){const _0x261650=_0x278d96;try{switch(_0x527e15['method']){case i['CreateWorkbook']:{let _0x2948d2=o[_0x261650(0x91)](_0x527e15[_0x261650(0x9e)]??{});return{'jsonrpc':_0x261650(0x8c),'id':_0x527e15['id'],'result':{'success':!0x0,'workbookData':_0x2948d2}};}case i[_0x261650(0xa8)]:{let _0x104720=o[_0x261650(0x9b)](_0x527e15[_0x261650(0x9e)][_0x261650(0x97)]);return{'jsonrpc':_0x261650(0x8c),'id':_0x527e15['id'],'result':{'success':!0x0,'workbookData':_0x104720}};}case i[_0x261650(0x9c)]:return await o['loadWorkbookDataReplayPack'](_0x527e15[_0x261650(0x9e)]),{'jsonrpc':'2.0','id':_0x527e15['id'],'result':{'success':!0x0}};case i[_0x261650(0x94)]:return{'jsonrpc':'2.0','id':_0x527e15['id'],'result':{'success':!0x0,'workbookData':o['exportWorkbookData']()}};case i[_0x261650(0xa7)]:{let _0x4b4f70=_0x527e15['params'],_0x2eb5f1=await o[_0x261650(0x8e)](_0x4b4f70[_0x261650(0x98)],_0x4b4f70[_0x261650(0x7c)]);return{'jsonrpc':_0x261650(0x8c),'id':_0x527e15['id'],'result':{'success':!0x0,..._0x2eb5f1}};}case i['EvalJs']:{let _0x3c06c5=_0x527e15[_0x261650(0x9e)]??{},_0x2fc407=async()=>{const _0x23cb54=_0x261650;let _0x5d0de7=_0x3c06c5[_0x23cb54(0x8a)]?await o[_0x23cb54(0x86)](_0x3c06c5[_0x23cb54(0x7d)],_0x3c06c5[_0x23cb54(0x8f)]):{'value':await o[_0x23cb54(0x80)](_0x3c06c5[_0x23cb54(0x7d)],_0x3c06c5[_0x23cb54(0x8f)]),'mutations':void 0x0};return{'success':!0x0,..._0x5d0de7[_0x23cb54(0x7e)]===void 0x0?{}:{'mutations':_0x5d0de7[_0x23cb54(0x7e)]},'value':_0x5d0de7['value']};},_0x3f54a8=_0x3c06c5[_0x261650(0x8a)]?await s[_0x261650(0xa4)](_0x2fc407):await _0x2fc407();return{'jsonrpc':_0x261650(0x8c),'id':_0x527e15['id'],'result':_0x3f54a8};}default:throw Error('Method\x20not\x20implemented:\x20'+String(_0x527e15['method']));}}catch(_0x2d675b){return{'jsonrpc':_0x261650(0x8c),'id':_0x527e15['id'],'error':{'code':-0x7f5b,'message':_0x2d675b instanceof Error?_0x2d675b['message']:String(_0x2d675b)}};}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "univer-cli",
3
- "version": "0.1.18",
3
+ "version": "0.1.19",
4
4
  "description": "Command-line tools for local Univer workbook automation.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -36,7 +36,7 @@
36
36
  "README.md"
37
37
  ],
38
38
  "dependencies": {
39
- "@univerjs-pro/uexcli": "^0.1.21"
39
+ "@univerjs-pro/uexcli": "^0.1.22"
40
40
  },
41
41
  "private": false,
42
42
  "publishConfig": {
@@ -0,0 +1,214 @@
1
+ # Outlines
2
+
3
+ Outlines are workbook-local row and column groups. Use `univer run` to create or maintain them through the Pro Sheets Outline facade, then use facade readback to verify command-line results.
4
+
5
+ The outline facade is available in the headless runtime through `@univerjs-pro/sheets-outline/facade`.
6
+
7
+ ## Core Workflow
8
+
9
+ Look up the workbook and worksheet, create row or column groups, then read them back with `getDimensionOutlines()`.
10
+
11
+ ```bash
12
+ univer run ./budget.univer --code 'async () => {
13
+ const workbook = univerAPI.getActiveWorkbook();
14
+ const sheet = workbook.getSheetByName("Sheet1");
15
+ if (!sheet) return { success: false, error: "Sheet1 not found" };
16
+
17
+ sheet.getRange("A1:D6").setValues([
18
+ ["region", "q1", "q2", "q3"],
19
+ ["North", 10, 12, 14],
20
+ ["South", 8, 9, 11],
21
+ ["East", 7, 8, 9],
22
+ ["West", 6, 7, 8],
23
+ ["Total", 31, 36, 42]
24
+ ]);
25
+
26
+ sheet.addRowOutline(1, 4);
27
+ sheet.addColumnOutline(1, 3);
28
+
29
+ return {
30
+ success: true,
31
+ rowOutlines: sheet.getDimensionOutlines(univerAPI.Enum.DimensionOutlineAxis.ROW),
32
+ columnOutlines: sheet.getDimensionOutlines(univerAPI.Enum.DimensionOutlineAxis.COLUMN)
33
+ };
34
+ }'
35
+ ```
36
+
37
+ Always verify with `getDimensionOutlines()` after a write. Do not edit private outline resource internals.
38
+
39
+ ## Axis Enum Values
40
+
41
+ Use `univerAPI.Enum.DimensionOutlineAxis` when an API needs an axis.
42
+
43
+ The enum values are `ROW = "row"` and `COLUMN = "column"`.
44
+
45
+ | Facade enum value | Runtime value | Targets |
46
+ | -------------------------------------------- | ------------- | --------------- |
47
+ | `univerAPI.Enum.DimensionOutlineAxis.ROW` | `"row"` | Row outlines |
48
+ | `univerAPI.Enum.DimensionOutlineAxis.COLUMN` | `"column"` | Column outlines |
49
+
50
+ The short form below is useful inside scripts:
51
+
52
+ ```javascript
53
+ const axis = univerAPI.Enum.DimensionOutlineAxis;
54
+
55
+ return {
56
+ rowAxis: axis.ROW,
57
+ columnAxis: axis.COLUMN
58
+ };
59
+ ```
60
+
61
+ ## Row Groups
62
+
63
+ Create row groups with `sheet.addRowOutline(startRow, numRows)`.
64
+
65
+ `startRow` is zero-based. `numRows` is a count, not an inclusive end index. For example, `addRowOutline(1, 4)` groups rows 2 through 5.
66
+
67
+ ```javascript
68
+ const workbook = univerAPI.getActiveWorkbook();
69
+ const sheet = workbook.getSheetByName("Sheet1");
70
+ if (!sheet) throw new Error("Sheet1 not found");
71
+
72
+ sheet.addRowOutline(1, 4);
73
+
74
+ return {
75
+ rows: sheet.getDimensionOutlines(univerAPI.Enum.DimensionOutlineAxis.ROW).map((outline) => ({
76
+ id: outline.id,
77
+ axis: outline.axis,
78
+ start: outline.start,
79
+ end: outline.end,
80
+ collapsed: outline.collapsed
81
+ }))
82
+ };
83
+ ```
84
+
85
+ ## Column Groups
86
+
87
+ Create column groups with `sheet.addColumnOutline(startColumn, numColumns)`.
88
+
89
+ `startColumn` is zero-based. `numColumns` is a count, not an inclusive end index. For example, `addColumnOutline(1, 3)` groups columns B through D.
90
+
91
+ ```javascript
92
+ const axis = univerAPI.Enum.DimensionOutlineAxis;
93
+
94
+ sheet.addColumnOutline(1, 3);
95
+
96
+ return {
97
+ columns: sheet.getDimensionOutlines(axis.COLUMN).map((outline) => ({
98
+ id: outline.id,
99
+ axis: outline.axis,
100
+ start: outline.start,
101
+ end: outline.end,
102
+ collapsed: outline.collapsed
103
+ }))
104
+ };
105
+ ```
106
+
107
+ ## Readback
108
+
109
+ `getDimensionOutlines(axis?)` returns a snapshot of current outline data.
110
+
111
+ - Pass `univerAPI.Enum.DimensionOutlineAxis.ROW` to read row outlines.
112
+ - Pass `univerAPI.Enum.DimensionOutlineAxis.COLUMN` to read column outlines.
113
+ - Omit the axis to read both row and column outlines.
114
+
115
+ ```javascript
116
+ const axis = univerAPI.Enum.DimensionOutlineAxis;
117
+ const allOutlines = sheet.getDimensionOutlines();
118
+ const rowOutlines = sheet.getDimensionOutlines(axis.ROW);
119
+ const columnOutlines = sheet.getDimensionOutlines(axis.COLUMN);
120
+
121
+ return {
122
+ allCount: allOutlines.length,
123
+ rowCount: rowOutlines.length,
124
+ columnCount: columnOutlines.length
125
+ };
126
+ ```
127
+
128
+ ## Collapse And Expand
129
+
130
+ Use `setDimensionOutlineCollapsed(outlineId, collapsed)` to collapse or expand an existing group. Pass `true` to collapse and `false` to expand.
131
+
132
+ ```javascript
133
+ const axis = univerAPI.Enum.DimensionOutlineAxis;
134
+ const [rowOutline] = sheet.getDimensionOutlines(axis.ROW);
135
+
136
+ if (rowOutline) {
137
+ sheet.setDimensionOutlineCollapsed(rowOutline.id, true);
138
+ }
139
+
140
+ const [collapsed] = sheet.getDimensionOutlines(axis.ROW);
141
+
142
+ return {
143
+ id: collapsed?.id,
144
+ collapsed: collapsed?.collapsed
145
+ };
146
+ ```
147
+
148
+ ## Remove One Outline
149
+
150
+ Use `removeDimensionOutline(outlineId)` when you already know the outline id.
151
+
152
+ ```javascript
153
+ const axis = univerAPI.Enum.DimensionOutlineAxis;
154
+ const [columnOutline] = sheet.getDimensionOutlines(axis.COLUMN);
155
+
156
+ if (columnOutline) {
157
+ sheet.removeDimensionOutline(columnOutline.id);
158
+ }
159
+
160
+ return {
161
+ remainingColumnOutlines: sheet.getDimensionOutlines(axis.COLUMN).length
162
+ };
163
+ ```
164
+
165
+ ## Outline Depth
166
+
167
+ There is no Facade API for setting an outline group's level or depth manually. The outline level is calculated by Univer from the created outline ranges. Nested groups become deeper levels when their ranges are fully contained by parent groups.
168
+
169
+ Create the group ranges you need, then use `getDimensionOutlines()` readback to verify the resulting groups. Do not invent APIs such as `setOutlineLevel()` or edit internal resource data to force a level.
170
+
171
+ ## Clear Outlines
172
+
173
+ Use `clearDimensionOutlines(axis, start, end)` to clear outline groups on one axis. The `start` and `end` values are zero-based and inclusive.
174
+
175
+ The clear range must fully contain every target outline range. A clear range that partially overlaps an outline group is a failed or not-clearable operation; it does not partially delete or clip the group.
176
+
177
+ ```javascript
178
+ const axis = univerAPI.Enum.DimensionOutlineAxis;
179
+
180
+ sheet.addRowOutline(1, 4);
181
+
182
+ // Does not fully contain the group from 1 through 4.
183
+ sheet.clearDimensionOutlines(axis.ROW, 2, 3);
184
+ const afterPartialOverlap = sheet.getDimensionOutlines(axis.ROW);
185
+
186
+ // Fully contains the group from 1 through 4.
187
+ sheet.clearDimensionOutlines(axis.ROW, 1, 4);
188
+ const afterFullClear = sheet.getDimensionOutlines(axis.ROW);
189
+
190
+ return {
191
+ partialOverlapDidNotDelete: afterPartialOverlap.length === 1,
192
+ fullClearDeleted: afterFullClear.length === 0
193
+ };
194
+ ```
195
+
196
+ ## Constraints
197
+
198
+ Outline APIs follow Univer's outline rules:
199
+
200
+ - ranges must be valid and in bounds
201
+ - row and column indexes are zero-based
202
+ - `addRowOutline()` and `addColumnOutline()` use a count argument
203
+ - crossing groups are not allowed
204
+ - nested groups are limited by maximum outline depth
205
+ - outline group levels are calculated automatically from nested ranges
206
+ - clear operations require the clear range to fully contain the target outline range
207
+
208
+ Use public readback from `getDimensionOutlines()` for verification. Do not mutate objects returned by readback and do not edit workbook resource internals directly.
209
+
210
+ ## Related Topics
211
+
212
+ - See `sheets` for worksheet creation, row or column structure, and visibility.
213
+ - See `ranges` for direct range read/write APIs.
214
+ - See `formatting` for presentation changes inside grouped rows or columns.
@@ -10,11 +10,13 @@ Use `run` when the task is workbook-local logic that is clearer or more reliable
10
10
 
11
11
  - styling and presentation
12
12
  - row or column structure changes
13
+ - row or column outline groups
13
14
  - freeze panes, gridline settings, and sheet-level display settings
14
15
  - merge or unmerge flows
15
16
  - formula orchestration that needs workbook-native recalculation
16
17
  - chart creation, readback, and source range maintenance
17
18
  - shape creation, connector linking, readback, and maintenance
19
+ - outline group creation, readback, collapse or expand, remove, and clear workflows
18
20
  - bounded read/compute/write logic inside one workbook
19
21
 
20
22
  Prefer smaller surfaces when they already express the task directly:
@@ -79,6 +81,11 @@ If a needed API is not documented here, stop and inspect or update the run manua
79
81
  - `insert-shape` -> `shapes`
80
82
  - `connector-shape` -> `shapes`
81
83
  - `connect-shapes` -> `shapes`
84
+ - `outline` -> `outlines`
85
+ - `row-outline` -> `outlines`
86
+ - `column-outline` -> `outlines`
87
+ - `group-rows` -> `outlines`
88
+ - `group-columns` -> `outlines`
82
89
 
83
90
  ## Topics
84
91
 
@@ -91,6 +98,10 @@ If a needed API is not documented here, stop and inspect or update the run manua
91
98
  - `conditional-formatting` - rule builders, range binding, worksheet rule lists, color scales, data bars, and icon sets
92
99
  - `charts` - chart builders, source ranges, readback, update or remove, and viewer rendering notes
93
100
  - `shapes` - shape builders, connectors, connection sites, readback, update or remove, and viewer rendering notes
101
+ - `images` - floating image builders, source positioning, readback, update or delete, and viewer rendering notes
102
+ - `hyperlinks` - URL, sheet, range, defined-name links, readback, update, cancel, and parse APIs
103
+ - `defined-names` - workbook and worksheet scoped defined names, builders, update, delete, and hyperlink interop
104
+ - `outlines` - row and column groups, readback, collapse or expand, remove, and clear APIs
94
105
 
95
106
  ## Formula Readback Warning
96
107
 
@@ -110,3 +121,4 @@ Without that wait, readback can be stale.
110
121
  - See `conditional-formatting` for worksheet-level rules that format cells based on values, text, formulas, scales, bars, or icon sets.
111
122
  - See `charts` for worksheet chart builders, facade readback, and view-host rendering checks.
112
123
  - See `shapes` for worksheet shape builders, connector links, facade readback, and view-host rendering checks.
124
+ - See `outlines` for row or column grouping, collapse or expand, remove, and clear workflows.