@mooncompany/uplink-chat 0.32.2 → 0.33.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 (139) hide show
  1. package/bin/uplink.js +1 -1
  2. package/middleware/error-handler.js +1 -1
  3. package/package.json +1 -1
  4. package/public/css/{app.bc7e7484.css → app.09572269.css} +14 -13
  5. package/public/css/{split-view.4bc23474.css → split-view.727bdf6a.css} +8 -1
  6. package/public/css/themes.css +647 -19
  7. package/public/dist/bundle.5815836c.js +1 -0
  8. package/public/icon-192.png +0 -0
  9. package/public/icon-512.png +0 -0
  10. package/public/img/logo.svg +12 -12
  11. package/public/img/wordmark.svg +20 -20
  12. package/public/index.html +101 -9
  13. package/public/js/agents-data.js +1 -1
  14. package/public/js/agents-ui.js +1 -1
  15. package/public/js/agents.js +1 -1
  16. package/public/js/app.js +1 -1
  17. package/public/js/appearance-settings.js +1 -1
  18. package/public/js/artifacts.js +1 -1
  19. package/public/js/audio-pcm-processor.js +1 -1
  20. package/public/js/audio-queue.js +1 -1
  21. package/public/js/bootstrap.js +1 -1
  22. package/public/js/chat.js +1 -1
  23. package/public/js/commands.js +1 -1
  24. package/public/js/connection-api.js +1 -1
  25. package/public/js/connection.js +1 -1
  26. package/public/js/context-tracker.js +1 -1
  27. package/public/js/core.js +1 -1
  28. package/public/js/cron-panel.js +1 -1
  29. package/public/js/dashboard.js +1 -1
  30. package/public/js/developer.js +1 -1
  31. package/public/js/encryption.js +1 -1
  32. package/public/js/errors.js +1 -1
  33. package/public/js/event-bus.js +1 -1
  34. package/public/js/fetch-utils.js +1 -1
  35. package/public/js/file-handler.js +1 -1
  36. package/public/js/files.js +1 -1
  37. package/public/js/gateway-chat.js +1 -1
  38. package/public/js/logger.js +1 -1
  39. package/public/js/markdown.js +1 -1
  40. package/public/js/message-actions.js +1 -1
  41. package/public/js/message-renderer.js +1 -1
  42. package/public/js/missed-messages.js +1 -1
  43. package/public/js/mobile-debug.js +1 -1
  44. package/public/js/notifications.js +1 -1
  45. package/public/js/offline-queue.js +1 -1
  46. package/public/js/onboarding.js +1 -1
  47. package/public/js/panels.js +1 -1
  48. package/public/js/premium.js +1 -1
  49. package/public/js/primary-header.js +1 -1
  50. package/public/js/realtime-voice.js +1 -1
  51. package/public/js/satellite-sync.js +1 -1
  52. package/public/js/satellite-ui.js +1 -1
  53. package/public/js/satellites.js +1 -1
  54. package/public/js/settings.js +1 -1
  55. package/public/js/shortcuts.js +1 -1
  56. package/public/js/split-chat.js +1 -1
  57. package/public/js/split-resize.js +1 -1
  58. package/public/js/splitview.js +1 -1
  59. package/public/js/storage.js +1 -1
  60. package/public/js/streaming-handler.js +1 -1
  61. package/public/js/stt-settings.js +1 -1
  62. package/public/js/themes.js +1 -1
  63. package/public/js/timestamps.js +1 -1
  64. package/public/js/tts-settings.js +1 -1
  65. package/public/js/ui.js +1 -1
  66. package/public/js/update-notifier.js +1 -1
  67. package/public/js/utils/constants.js +1 -1
  68. package/public/js/utils/icons.js +1 -1
  69. package/public/js/utils/sanitize.js +1 -1
  70. package/public/js/utils/sse-parser.js +1 -1
  71. package/public/js/vad.js +1 -1
  72. package/public/js/vendor/dompurify.min.js +1 -1
  73. package/public/js/voice-settings-v2.js +1 -1
  74. package/public/js/voice.js +1 -1
  75. package/public/sw.js +1 -1
  76. package/public/u-icon.png +0 -0
  77. package/server/channel.js +1 -1
  78. package/server/chat.js +1 -1
  79. package/server/config-store.js +1 -1
  80. package/server/config.js +1 -1
  81. package/server/context.js +1 -1
  82. package/server/gateway-api-proxy.js +1 -1
  83. package/server/gateway-commands.js +1 -1
  84. package/server/gateway-proxy.js +1 -1
  85. package/server/index.js +1 -1
  86. package/server/logger.js +1 -1
  87. package/server/message-store.js +1 -1
  88. package/server/middleware/auth.js +1 -1
  89. package/server/middleware.js +1 -1
  90. package/server/openclaw-discover.js +1 -1
  91. package/server/premium/index.js +1 -1
  92. package/server/premium/license.js +1 -1
  93. package/server/realtime/bridge.js +1 -1
  94. package/server/realtime/index.js +1 -1
  95. package/server/realtime/tts-stream.js +1 -1
  96. package/server/routes/agents.js +1 -1
  97. package/server/routes/artifacts.js +1 -1
  98. package/server/routes/chat.js +1 -1
  99. package/server/routes/config-settings.js +1 -1
  100. package/server/routes/config.js +1 -1
  101. package/server/routes/cron.js +1 -1
  102. package/server/routes/files.js +1 -1
  103. package/server/routes/index.js +1 -1
  104. package/server/routes/media.js +1 -1
  105. package/server/routes/missed-messages.js +1 -1
  106. package/server/routes/premium.js +1 -1
  107. package/server/routes/push.js +1 -1
  108. package/server/routes/satellite.js +1 -1
  109. package/server/routes/status.js +1 -1
  110. package/server/routes/stt.js +1 -1
  111. package/server/routes/voice.js +1 -1
  112. package/server/routes/webhooks.js +1 -1
  113. package/server/routes.js +1 -1
  114. package/server/runtime-config.js +1 -1
  115. package/server/share.js +1 -1
  116. package/server/stt/faster-whisper.js +1 -1
  117. package/server/stt/groq.js +1 -1
  118. package/server/stt/index.js +1 -1
  119. package/server/stt/openai.js +1 -1
  120. package/server/sync.js +1 -1
  121. package/server/tailscale-https.js +1 -1
  122. package/server/tts.js +1 -1
  123. package/server/update-checker.js +1 -1
  124. package/server/utils/filename.js +1 -1
  125. package/server/utils.js +1 -1
  126. package/server/watchdog.js +1 -1
  127. package/server/websocket/broadcast.js +1 -1
  128. package/server/websocket/connections.js +1 -1
  129. package/server/websocket/index.js +1 -1
  130. package/server/websocket/routing.js +1 -1
  131. package/server/websocket/sync.js +1 -1
  132. package/server.js +1 -1
  133. package/utils/detect-tool-usage.js +1 -1
  134. package/utils/errors.js +1 -1
  135. package/utils/html-escape.js +1 -1
  136. package/utils/id-sanitize.js +1 -1
  137. package/utils/response.js +1 -1
  138. package/utils/with-retry.js +1 -1
  139. package/public/dist/bundle.d3a90e4a.js +0 -1
@@ -1 +1 @@
1
- (function(_0x17f0d6,_0xd75d20){const _0x17fd98=_0x17f0d6();function _0x3d42c9(_0x1d8c29,_0x51d4ee){return _0x4247(_0x1d8c29-0x225,_0x51d4ee);}function _0x10e529(_0x5df3bf,_0x4832ef){return _0x4247(_0x5df3bf-0xd1,_0x4832ef);}while(!![]){try{const _0x2b48a6=-parseInt(_0x3d42c9(0x369,0x34c))/(0x123b+-0x22e1+0x10a7)+parseInt(_0x10e529(0x232,0x221))/(0x6e*-0x1+-0x6*-0x371+0x18e*-0xd)+parseInt(_0x10e529(0x250,0x225))/(0x97*-0xb+0x3d*0x50+-0xc90)+-parseInt(_0x3d42c9(0x385,0x3a5))/(0x1*-0x264e+-0x77d+0x2dcf*0x1)*(-parseInt(_0x3d42c9(0x35b,0x33e))/(0x1*0x1268+-0x1d37+0xad4))+parseInt(_0x10e529(0x206,0x215))/(-0x7*-0x6d+0x17de+-0x7*0x3d5)*(parseInt(_0x10e529(0x212,0x223))/(-0x1eae+-0x230f+-0x7a*-0x8a))+-parseInt(_0x10e529(0x219,0x219))/(-0x503*0x3+-0x42f+0x1340)*(-parseInt(_0x10e529(0x202,0x224))/(-0x1f9d*0x1+-0x2ff*0x2+0x25a4))+-parseInt(_0x3d42c9(0x395,0x36e))/(-0xb97+-0x3b5+0x7ab*0x2);if(_0x2b48a6===_0xd75d20)break;else _0x17fd98['push'](_0x17fd98['shift']());}catch(_0xcecd37){_0x17fd98['push'](_0x17fd98['shift']());}}}(_0x5e9b,0x568d*0x25+-0xff6b9+-0x7d*-0x1901));const _0x4fe5f4=(function(){function _0x52adbe(_0x34fee9,_0x69a070){return _0x4247(_0x34fee9- -0xe3,_0x69a070);}const _0x1845f6={'RKSDp':_0x52adbe(0x5f,0x6b)+'uest-'+'id','BNBiw':_0x52adbe(0x8e,0x82)+'wn','PcPym':function(_0x24d2db,_0x240f3b,_0x558820,_0x2499d5){return _0x24d2db(_0x240f3b,_0x558820,_0x2499d5);},'kcyxM':_0x52adbe(0x97,0xa3)+_0x4664b6(0x98,0xbc)+'+$','JmktA':function(_0x10b846,_0x307b63){return _0x10b846===_0x307b63;},'SUmON':'INTER'+_0x4664b6(0xc0,0xa3)+_0x52adbe(0x6f,0x8d),'bnMmY':'TDtMT','Rpxsg':_0x4664b6(0xad,0x96),'NqYQC':_0x4664b6(0xae,0x99)};let _0x4e630e=!![];function _0x4664b6(_0x15e516,_0x1e7828){return _0x4247(_0x15e516- -0xbb,_0x1e7828);}return function(_0x366335,_0x315659){function _0x5b26e6(_0x104195,_0x6c186e){return _0x52adbe(_0x104195-0x379,_0x6c186e);}const _0x2ce73b={'kmzOd':_0x1845f6[_0x4af017(-0x54,-0x37)],'cAKls':_0x1845f6[_0x5b26e6(0x3c9,0x3e1)],'yUzei':function(_0x50e4e3,_0x25e34e,_0x1d4dd0,_0x30e8d1){function _0x504559(_0x53705a,_0x221802){return _0x5b26e6(_0x53705a- -0x19c,_0x221802);}return _0x1845f6[_0x504559(0x27b,0x2a3)](_0x50e4e3,_0x25e34e,_0x1d4dd0,_0x30e8d1);},'tuEXD':function(_0x2641ff,_0xc465d6){return _0x2641ff(_0xc465d6);},'AUbxw':_0x1845f6[_0x5b26e6(0x3f1,0x402)],'XFPCF':function(_0x4d89ab,_0x42def5){function _0x1ed62e(_0x30db34,_0x330de2){return _0x4af017(_0x30db34-0x142,_0x330de2);}return _0x1845f6[_0x1ed62e(0xf1,0xd8)](_0x4d89ab,_0x42def5);},'jYxiu':'produ'+_0x4af017(-0x22,-0x7),'kiiUR':_0x1845f6[_0x5b26e6(0x3d4,0x3cb)],'TPcqx':function(_0x705d7d,_0x4fdc3f){function _0x539c8c(_0x5a096a,_0x44d603){return _0x4af017(_0x44d603- -0xd2,_0x5a096a);}return _0x1845f6[_0x539c8c(-0x136,-0x123)](_0x705d7d,_0x4fdc3f);},'MEtVg':_0x1845f6[_0x5b26e6(0x3d2,0x3e8)],'GPugl':_0x4af017(-0x19,-0x28),'aAKUa':_0x1845f6['Rpxsg']};function _0x4af017(_0x30e95e,_0x1802c7){return _0x52adbe(_0x30e95e- -0xa9,_0x1802c7);}if(_0x1845f6['NqYQC']===_0x4af017(-0x35,-0x18)){const _0xd86267=_0x4fc489['heade'+'rs'][_0x2ce73b['kmzOd']]||_0x2ce73b['cAKls'];_0x2ce73b['yUzei'](_0x4ca91f,_0x253e85,_0xd86267,_0x4083a8);const _0x1836d6=_0x38ab40[_0x5b26e6(0x3e6,0x3df)+_0x4af017(-0x15,0x4)]||0xf6d+0x371+-0x10ea,_0x1fbabd=_0x2ce73b[_0x5b26e6(0x413,0x434)](_0x13e4c5,_0x14ec03);return _0xb1166e[_0x5b26e6(0x3e6,0x3cf)+'s'](_0x1836d6)[_0x4af017(-0x3e,-0x3a)](_0x1fbabd);}else{const _0x334204=_0x4e630e?function(){const _0x5cfe10={'kAByk':function(_0xa2ba7c,_0x21df20){return _0x2ce73b['XFPCF'](_0xa2ba7c,_0x21df20);},'yrrQy':_0x2ce73b[_0x331133(-0x165,-0x179)],'TEMgj':_0x16a15c(0x243,0x22e)+_0x331133(-0x14d,-0x13c)+_0x331133(-0x134,-0x12a)+_0x16a15c(0x25e,0x269)+'r','Wnkkl':_0x2ce73b[_0x16a15c(0x28b,0x2aa)]};function _0x16a15c(_0x41d141,_0xd5a17f){return _0x5b26e6(_0x41d141- -0x18d,_0xd5a17f);}function _0x331133(_0x546175,_0x330a36){return _0x5b26e6(_0x546175- -0x54a,_0x330a36);}if(_0x2ce73b[_0x331133(-0x16d,-0x186)](_0x2ce73b[_0x331133(-0x13c,-0x128)],_0x2ce73b[_0x331133(-0x157,-0x160)])){const _0x410ad8=_0x5cfe10[_0x331133(-0x150,-0x13b)](_0x501a64.env.NODE_ENV,_0x5cfe10[_0x16a15c(0x255,0x238)]);if(_0x537b1a[_0x331133(-0x152,-0x16e)+_0x331133(-0x175,-0x151)+_0x16a15c(0x26c,0x27f)]){const _0x5ac078={};return _0x5ac078[_0x331133(-0x187,-0x168)]=!![],_0x5ac078[_0x331133(-0x130,-0x134)+'ge']=_0x41c17b[_0x331133(-0x130,-0x14c)+'ge'],_0x5ac078[_0x16a15c(0x240,0x219)]=_0x329981[_0x331133(-0x17d,-0x183)],_0x5ac078;}const _0x1e0a61={};_0x1e0a61['stack']=_0x519a19[_0x16a15c(0x246,0x270)];const _0x351cc6={'error':!![],'message':_0x410ad8?_0x5cfe10[_0x16a15c(0x25d,0x242)]:_0x31649c[_0x16a15c(0x28d,0x285)+'ge'],'code':_0x5cfe10[_0x16a15c(0x26e,0x256)],..._0x410ad8?{}:_0x1e0a61};return _0x351cc6;}else{if(_0x315659){if(_0x2ce73b['XFPCF'](_0x2ce73b[_0x16a15c(0x277,0x298)],_0x16a15c(0x24e,0x252)))return _0x585a89[_0x331133(-0x131,-0x11c)+'ing']()[_0x331133(-0x13f,-0x155)+'h'](_0x2ce73b['AUbxw'])['toStr'+_0x16a15c(0x26f,0x263)]()[_0x16a15c(0x256,0x276)+_0x331133(-0x16b,-0x15d)+'r'](_0x1ff43d)['searc'+'h'](_0x2ce73b[_0x331133(-0x180,-0x17b)]);else{const _0x1e157f=_0x315659[_0x331133(-0x15e,-0x17d)](_0x366335,arguments);return _0x315659=null,_0x1e157f;}}}}:function(){};return _0x4e630e=![],_0x334204;}};}()),_0x450e52=_0x4fe5f4(this,function(){function _0x353e68(_0x234086,_0x28fd46){return _0x4247(_0x234086-0xa6,_0x28fd46);}function _0x36703f(_0x38dbda,_0x2fec03){return _0x4247(_0x2fec03-0x24c,_0x38dbda);}return _0x450e52[_0x36703f(0x3ee,0x3cf)+_0x353e68(0x20c,0x1fd)]()[_0x353e68(0x21b,0x22b)+'h'](_0x353e68(0x220,0x211)+_0x36703f(0x373,0x39f)+'+$')[_0x353e68(0x229,0x228)+_0x353e68(0x20c,0x1fb)]()['const'+'ructo'+'r'](_0x450e52)[_0x353e68(0x21b,0x232)+'h'](_0x36703f(0x3af,0x3c6)+')+)+)'+'+$');});_0x450e52();function logError(_0x451217,_0x113cd2,_0x547eba){const _0x50aabb={};_0x50aabb['yoqMG']='user-'+'agent';const _0x1a37c7=_0x50aabb,_0x49025e=new Date()['toISO'+'Strin'+'g'](),_0x46a75a=_0x451217['const'+'ructo'+'r']?.[_0x215945(0x3cd,0x3e7)]||_0x451217[_0x215945(0x3f0,0x3e7)]||'Error';function _0x233c12(_0x17f0a5,_0x4543ae){return _0x4247(_0x17f0a5- -0x163,_0x4543ae);}const _0x54974b={};_0x54974b[_0x215945(0x3b7,0x3bb)+'tamp']=_0x49025e,_0x54974b['reque'+_0x215945(0x42c,0x409)]=_0x113cd2,_0x54974b[_0x215945(0x3a2,0x3ba)+_0x215945(0x3d8,0x3bc)]=_0x46a75a,_0x54974b[_0x215945(0x430,0x411)+'ge']=_0x451217[_0x233c12(0x21,0x44)+'ge'],_0x54974b[_0x215945(0x3a9,0x3c4)]=_0x451217[_0x215945(0x3cb,0x3c4)]||_0x233c12(-0x12,-0xe)+'WN',_0x54974b['statu'+_0x233c12(0x14,0x1c)]=_0x451217['statu'+_0x215945(0x41f,0x404)]||0x824+0x156a+-0x1b9a,_0x54974b[_0x233c12(-0x1,0x28)+_0x215945(0x3c8,0x3cc)+'nal']=_0x451217[_0x215945(0x3de,0x3ef)+_0x215945(0x3d5,0x3cc)+_0x215945(0x3f6,0x3f0)]||![],_0x54974b[_0x233c12(-0x26,-0xa)]=_0x451217['stack'],_0x54974b[_0x233c12(-0x5,0x1d)]=_0x547eba?.[_0x215945(0x417,0x3eb)],_0x54974b['metho'+'d']=_0x547eba?.[_0x233c12(-0x33,-0x41)+'d'],_0x54974b[_0x215945(0x3d5,0x3e6)+_0x215945(0x408,0x3fc)]=_0x547eba?.[_0x215945(0x3d6,0x3f9)+'rs']?.[_0x1a37c7['yoqMG']],_0x54974b['ip']=_0x547eba?.['ip']||_0x547eba?.[_0x215945(0x3ce,0x3cd)+'t']?.[_0x215945(0x405,0x3e9)+_0x215945(0x3bd,0x3d0)+_0x215945(0x3ad,0x3d3)];function _0x215945(_0x40586e,_0x481da4){return _0x4247(_0x481da4-0x28d,_0x40586e);}const _0xe92ac1=_0x54974b;console['error'](JSON[_0x215945(0x3e0,0x3fa)+_0x233c12(-0x4,0x24)](_0xe92ac1));}function _0x4247(_0x8f9af1,_0x2e1747){_0x8f9af1=_0x8f9af1-(0x4*-0x5+-0x452*-0x1+-0x311);const _0x1b2d67=_0x5e9b();let _0x370494=_0x1b2d67[_0x8f9af1];return _0x370494;}function getSafeErrorResponse(_0x580a23){const _0xd8d9bf={};function _0xf0ed51(_0x3f474e,_0x217032){return _0x4247(_0x3f474e- -0x82,_0x217032);}_0xd8d9bf[_0xf0ed51(0xd6,0xf1)]=function(_0x261ea3,_0x20007b){return _0x261ea3===_0x20007b;},_0xd8d9bf[_0xf0ed51(0xc8,0xdb)]='produ'+_0x402839(-0x1a4,-0x1ad),_0xd8d9bf[_0x402839(-0x1c3,-0x1d0)]=function(_0x3da51d,_0x3d1dae){return _0x3da51d===_0x3d1dae;},_0xd8d9bf[_0xf0ed51(0xfc,0x124)]=_0x402839(-0x189,-0x1a2),_0xd8d9bf[_0xf0ed51(0xe9,0xc8)]='WOmUW';function _0x402839(_0x3e4181,_0x197c88){return _0x4247(_0x3e4181- -0x30e,_0x197c88);}_0xd8d9bf[_0x402839(-0x1d5,-0x1e2)]='Inter'+'nal\x20s'+'erver'+_0x402839(-0x1b9,-0x1cf)+'r',_0xd8d9bf[_0xf0ed51(0xf4,0x103)]=_0x402839(-0x19a,-0x1ac)+_0xf0ed51(0xf9,0xf6)+_0x402839(-0x1bc,-0x1ac);const _0x4f27df=_0xd8d9bf,_0x50a7e4=_0x4f27df[_0x402839(-0x1b6,-0x19d)](process.env.NODE_ENV,_0x4f27df['aIaaj']);if(_0x580a23[_0x402839(-0x1ac,-0x19d)+_0x402839(-0x1cf,-0x1c7)+_0xf0ed51(0xe1,0xcb)]){if(_0x4f27df[_0xf0ed51(0xc9,0xb2)](_0x4f27df['CjYFt'],_0x4f27df['IgNul'])){const _0x5f1db4={};return _0x5f1db4['error']=!![],_0x5f1db4['messa'+'ge']=_0xb1ba5e[_0xf0ed51(0x102,0xe1)+'ge'],_0x5f1db4[_0xf0ed51(0xb5,0xab)]=_0x48c2dc[_0xf0ed51(0xb5,0xb5)],_0x5f1db4;}else{const _0x1addde={};return _0x1addde[_0xf0ed51(0xab,0xac)]=!![],_0x1addde[_0xf0ed51(0x102,0xe6)+'ge']=_0x580a23[_0x402839(-0x18a,-0x17a)+'ge'],_0x1addde[_0x402839(-0x1d7,-0x1fb)]=_0x580a23['code'],_0x1addde;}}const _0x5480ee={'error':!![],'message':_0x50a7e4?_0x4f27df[_0x402839(-0x1d5,-0x1e3)]:_0x580a23['messa'+'ge'],'code':_0x4f27df['jPJcr'],..._0x50a7e4?{}:{'stack':_0x580a23[_0xf0ed51(0xbb,0xdb)]}};return _0x5480ee;}function errorHandler(_0x4130b6,_0x483e36,_0x3db2fd,_0x3c835a){const _0x5d0d2e={};_0x5d0d2e['edIyY']=_0x4ad9ac(0x2d8,0x2b9)+_0x4ad9ac(0x30f,0x30f)+'id',_0x5d0d2e[_0x253e5e(0x296,0x2a5)]=_0x253e5e(0x295,0x28e)+'wn';function _0x4ad9ac(_0x42dc0a,_0x125e6c){return _0x4247(_0x42dc0a-0x196,_0x125e6c);}const _0x1b87c0=_0x5d0d2e,_0x595461=_0x483e36['heade'+'rs'][_0x1b87c0[_0x4ad9ac(0x2c8,0x2ee)]]||_0x1b87c0[_0x253e5e(0x296,0x2a3)];logError(_0x4130b6,_0x595461,_0x483e36);const _0x2e0486=_0x4130b6[_0x4ad9ac(0x2e6,0x2d6)+_0x4ad9ac(0x30d,0x315)]||-0x3df*-0x3+0x2bd+-0xc66,_0x52f722=getSafeErrorResponse(_0x4130b6);function _0x253e5e(_0x364dde,_0xdd21a8){return _0x4247(_0x364dde-0x124,_0xdd21a8);}return _0x3db2fd['statu'+'s'](_0x2e0486)[_0x253e5e(0x272,0x273)](_0x52f722);}function _0x5e9b(){const _0x5c5897=['bnMmY','stack','SUmON','ratio','socke','1216509vfFCkJ','x-req','eAddr','1068259LjeaYL','hKRks','ess','TPcqx','142760tFXZmt','ructo','aIaaj','atpAO','yrrQy','const','json','jYxiu','statu','UNKNO','RROR',')+)+)','TEMgj','\x20erro','apply','MrYyT','exxhD','userA','name','kcyxM','remot','GPugl','path','gify','4107028BEESLi','1687788HSdfGW','isOpe','nal','kAByk','Wnkkl','ing','nal\x20s','IzWyd','RPiPh','ction','IgNul','heade','strin','aAKUa','gent','27753290IuZjgT','unkno','zlcom','cDCRK','INTER','searc','jPJcr','sCode','MEtVg','uest-','(((.+','NAL_E','stId','tuEXD','CjYFt','2677665vOOhPk','erver','PcPym','kiiUR','toStr','messa','OOmdB','error','times','Type','metho','396NpbYRD','edIyY','BNBiw','AUbxw','30bxXmjR','5sWLNME','code','RKSDp','qCewf','Inter','JmktA'];_0x5e9b=function(){return _0x5c5897;};return _0x5e9b();}module['expor'+'ts']=errorHandler;
1
+ (function(_0xd516a1,_0x32f28f){function _0x29ab46(_0x2afe6d,_0xe0deaa){return _0xf9be(_0xe0deaa-0xdb,_0x2afe6d);}function _0x108ca0(_0x21ce41,_0x38f952){return _0xf9be(_0x38f952- -0x29c,_0x21ce41);}const _0x1a4345=_0xd516a1();while(!![]){try{const _0x6609f3=-parseInt(_0x108ca0(-0x91,-0xb8))/(-0x21b7+-0x1625+0x37dd)*(parseInt(_0x29ab46(0x2b9,0x2ce))/(0x955+-0x945+-0xe))+-parseInt(_0x108ca0(-0xa7,-0xbb))/(-0x11*0xac+0x228d+0x171e*-0x1)+parseInt(_0x29ab46(0x2b3,0x2b5))/(0x202b+0x131*-0x18+-0x38f)+-parseInt(_0x108ca0(-0x9e,-0xaa))/(0x5*-0xf7+0x2592+-0x20ba)+parseInt(_0x108ca0(-0x9a,-0xb1))/(-0xcdc+-0x3f7*-0x1+0x8eb)+-parseInt(_0x29ab46(0x30b,0x2e4))/(0x9c4+-0x2039+0xb3e*0x2)+parseInt(_0x108ca0(-0x96,-0xb7))/(0x1baa*0x1+-0x3a7+-0x17fb);if(_0x6609f3===_0x32f28f)break;else _0x1a4345['push'](_0x1a4345['shift']());}catch(_0xa96b39){_0x1a4345['push'](_0x1a4345['shift']());}}}(_0x266d,0x4fb*-0x4a+0x33efa+-0x1f83*-0x2));function _0x266d(){const _0x374fbd=['BpZNc','Error','reque','323574GhcdmU','const','unkno','apply','Strin','ructo','strin','807600QUNexq','346778ZCZIoL','tamp','heade','ing','path','stack','toStr','RROR','vzxfX','remot','toISO','gify','produ','eAddr','Type','UNKNO','dGgeP','luSRd','pDhtF','Inter','YNHFE','ratio','1369900EZzRTn',')+)+)','statu','sCode','XNvGc','zzHhi','gent','name','KwyLR','error','json','GXryK','socke','times','AfVAO','ction','metho','user-','stId','nal','PbnVK','expor','messa','INTER','SfMen','CDAzW','agent','code','nal\x20s','isOpe','(((.+','qmwYP','816056mtjPlm','NAL_E','AZlGy','RzzjV','VGRjv','uest-','cNfMo','408525owfCGW','userA','ilSuG','1PRXPTs','4346840iQrXkq','searc','IRztd'];_0x266d=function(){return _0x374fbd;};return _0x266d();}function _0x366683(_0x5a898b,_0x48e41a){return _0xf9be(_0x48e41a-0x12f,_0x5a898b);}const _0x239d93=(function(){function _0x522ee0(_0x43d887,_0x5d07ad){return _0xf9be(_0x5d07ad-0x17e,_0x43d887);}const _0x1f01ab={};_0x1f01ab[_0x172ab3(0x104,0xf8)]=function(_0x5bae28,_0x2ee649){return _0x5bae28===_0x2ee649;},_0x1f01ab['IRztd']=_0x522ee0(0x3a4,0x3a0);function _0x172ab3(_0x48458f,_0x3e078f){return _0xf9be(_0x48458f- -0x110,_0x3e078f);}_0x1f01ab[_0x172ab3(0xce,0xc4)]=_0x172ab3(0xd9,0xb3),_0x1f01ab[_0x522ee0(0x390,0x38f)]='UNKNO'+'WN',_0x1f01ab['kNAwm']=_0x522ee0(0x39c,0x398)+_0x172ab3(0x113,0xfa),_0x1f01ab[_0x172ab3(0x111,0x126)]='cNfMo';const _0x1f4a04=_0x1f01ab;let _0x766634=!![];return function(_0x1a832c,_0x397066){const _0x5cfe0c={};_0x5cfe0c['pDhtF']=_0xb30902(0x229,0x221)+_0x5a24ba(0x56,0x48)+'+$';function _0xb30902(_0x28fe4f,_0x5875d9){return _0x172ab3(_0x5875d9-0x159,_0x28fe4f);}function _0x5a24ba(_0x6e9f3c,_0x4f1a30){return _0x172ab3(_0x4f1a30- -0xb2,_0x6e9f3c);}const _0x1842c0=_0x5cfe0c;if(_0x5a24ba(0x3e,0x1e)===_0x1f4a04['SfMen']){const _0x1161ba=_0x766634?function(){function _0x499149(_0x4d82c7,_0x4e6a12){return _0xb30902(_0x4e6a12,_0x4d82c7- -0x3a0);}function _0x32bfbd(_0x2dc4af,_0xb1d7f1){return _0xb30902(_0xb1d7f1,_0x2dc4af-0x206);}if(_0x1f4a04[_0x32bfbd(0x463,0x463)](_0x1f4a04[_0x499149(-0x170,-0x16f)],_0x1f4a04[_0x499149(-0x170,-0x18b)])){if(_0x397066){const _0x148511=_0x397066[_0x499149(-0x169,-0x151)](_0x1a832c,arguments);return _0x397066=null,_0x148511;}}else return _0xe1f43f[_0x32bfbd(0x448,0x43e)+_0x499149(-0x161,-0x182)]()[_0x32bfbd(0x435,0x431)+'h'](_0x1842c0[_0x499149(-0x152,-0x145)])['toStr'+_0x32bfbd(0x445,0x43c)]()[_0x499149(-0x16b,-0x16b)+_0x32bfbd(0x43f,0x444)+'r'](_0x1db4df)[_0x32bfbd(0x435,0x459)+'h'](_0x1842c0[_0x499149(-0x152,-0x13e)]);}:function(){};return _0x766634=![],_0x1161ba;}else{const _0x37142c=new _0x19825a()[_0xb30902(0x22a,0x246)+_0x5a24ba(0x6,0x2d)+'g'](),_0x11d769=_0x5f4d13[_0x5a24ba(0x6,0x2a)+_0x5a24ba(0x4c,0x2e)+'r']?.['name']||_0x4b5e6b[_0x5a24ba(0x61,0x4e)]||_0x1f4a04[_0xb30902(0x222,0x227)],_0x3ef170={};_0x3ef170[_0xb30902(0x25e,0x25f)+_0x5a24ba(0x12,0x32)]=_0x37142c,_0x3ef170['reque'+'stId']=_0x3c8589,_0x3ef170[_0x5a24ba(0x64,0x50)+'Type']=_0x11d769,_0x3ef170[_0xb30902(0x284,0x268)+'ge']=_0x534fbf['messa'+'ge'],_0x3ef170[_0x5a24ba(0x43,0x62)]=_0x34f2c9[_0x5a24ba(0x85,0x62)]||_0x1f4a04['KwyLR'],_0x3ef170[_0x5a24ba(0x3b,0x49)+'sCode']=_0xa6d417['statu'+'sCode']||0x53b+-0x7b4+-0x46d*-0x1,_0x3ef170[_0x5a24ba(0x6e,0x64)+_0xb30902(0x22e,0x251)+_0x5a24ba(0x35,0x5a)]=_0x573e71[_0x5a24ba(0x68,0x64)+_0xb30902(0x260,0x251)+_0x5a24ba(0x3e,0x5a)]||![],_0x3ef170[_0xb30902(0x228,0x241)]=_0xb3b108[_0x5a24ba(0x33,0x36)],_0x3ef170[_0x5a24ba(0x5a,0x35)]=_0x41d4ba?.[_0x5a24ba(0x55,0x35)],_0x3ef170[_0x5a24ba(0x6b,0x57)+'d']=_0x221e16?.[_0x5a24ba(0x4c,0x57)+'d'],_0x3ef170[_0xb30902(0x24e,0x22b)+_0xb30902(0x242,0x258)]=_0x2ac333?.[_0x5a24ba(0x4e,0x33)+'rs']?.[_0x1f4a04['kNAwm']],_0x3ef170['ip']=_0x2bf984?.['ip']||_0x150c48?.[_0x5a24ba(0x6f,0x53)+'t']?.[_0xb30902(0x231,0x245)+_0x5a24ba(0x51,0x3e)+'ess'];const _0x9dc7a5=_0x3ef170;_0x421f8a[_0xb30902(0x23d,0x25b)](_0x5d98a7[_0x5a24ba(0xf,0x2f)+_0x5a24ba(0x4f,0x3c)](_0x9dc7a5));}};}()),_0x5037a4=_0x239d93(this,function(){const _0x4e4c73={};_0x4e4c73[_0x28a2ba(-0x1,0x24)]='(((.+'+_0x41ad76(0x51e,0x524)+'+$';function _0x28a2ba(_0x45f25d,_0x2b2e8f){return _0xf9be(_0x45f25d- -0x20e,_0x2b2e8f);}function _0x41ad76(_0x4d4559,_0x6ae8f8){return _0xf9be(_0x4d4559-0x314,_0x6ae8f8);}const _0x58dfad=_0x4e4c73;return _0x5037a4[_0x41ad76(0x50d,0x4fd)+'ing']()[_0x28a2ba(-0x28,-0x45)+'h'](_0x41ad76(0x4ec,0x4c8)+_0x28a2ba(-0x4,0x2)+'+$')[_0x28a2ba(-0x15,-0x3)+_0x28a2ba(-0x18,-0xc)]()[_0x28a2ba(-0x22,-0x18)+_0x28a2ba(-0x1e,-0x2f)+'r'](_0x5037a4)[_0x41ad76(0x4fa,0x50f)+'h'](_0x58dfad[_0x28a2ba(-0x1,-0x4)]);});_0x5037a4();function logError(_0x17edf3,_0x33c08e,_0x427f32){const _0x1028ac={};_0x1028ac[_0x5ee5ab(0x53c,0x543)]='Error',_0x1028ac['PbnVK']=_0x5ee5ab(0x556,0x579)+'WN',_0x1028ac[_0x5ee5ab(0x562,0x578)]='user-'+'agent';const _0x2e3256=_0x1028ac,_0x36e51f=new Date()[_0xf74c77(0x175,0x16c)+_0x5ee5ab(0x543,0x54b)+'g'](),_0x243fef=_0x17edf3[_0x5ee5ab(0x540,0x564)+_0x5ee5ab(0x544,0x561)+'r']?.['name']||_0x17edf3['name']||_0x2e3256[_0xf74c77(0x16e,0x157)];function _0x5ee5ab(_0x9224f1,_0x1f399d){return _0xf9be(_0x9224f1-0x354,_0x1f399d);}const _0x5cbc93={};_0x5cbc93['times'+_0xf74c77(0x17a,0x163)]=_0x36e51f,_0x5cbc93[_0x5ee5ab(0x53e,0x532)+_0xf74c77(0x16d,0x18a)]=_0x33c08e,_0x5cbc93[_0xf74c77(0x16a,0x181)+_0xf74c77(0x14f,0x170)]=_0x243fef,_0x5cbc93[_0xf74c77(0x167,0x18e)+'ge']=_0x17edf3[_0xf74c77(0x198,0x18e)+'ge'],_0x5cbc93[_0x5ee5ab(0x578,0x57b)]=_0x17edf3[_0xf74c77(0x19c,0x193)]||_0x2e3256[_0x5ee5ab(0x571,0x58f)],_0x5cbc93['statu'+_0x5ee5ab(0x560,0x545)]=_0x17edf3[_0xf74c77(0x169,0x17a)+_0x5ee5ab(0x560,0x54e)]||-0x1737+-0x5e2*0x3+-0x71*-0x61,_0x5cbc93[_0x5ee5ab(0x57a,0x56a)+_0x5ee5ab(0x55c,0x55d)+'nal']=_0x17edf3[_0xf74c77(0x1b4,0x195)+_0xf74c77(0x189,0x177)+'nal']||![],_0x5cbc93[_0x5ee5ab(0x54c,0x542)]=_0x17edf3[_0x5ee5ab(0x54c,0x546)];function _0xf74c77(_0x241783,_0x302405){return _0xf9be(_0x302405- -0x91,_0x241783);}_0x5cbc93[_0xf74c77(0x144,0x166)]=_0x427f32?.[_0x5ee5ab(0x54b,0x558)],_0x5cbc93['metho'+'d']=_0x427f32?.[_0xf74c77(0x189,0x188)+'d'],_0x5cbc93[_0xf74c77(0x134,0x151)+_0x5ee5ab(0x563,0x582)]=_0x427f32?.[_0xf74c77(0x184,0x164)+'rs']?.[_0x2e3256[_0x5ee5ab(0x562,0x588)]],_0x5cbc93['ip']=_0x427f32?.['ip']||_0x427f32?.[_0x5ee5ab(0x569,0x58f)+'t']?.[_0xf74c77(0x177,0x16b)+_0x5ee5ab(0x554,0x57b)+'ess'];const _0x58e3d6=_0x5cbc93;console['error'](JSON[_0xf74c77(0x16c,0x160)+'gify'](_0x58e3d6));}function getSafeErrorResponse(_0x4c576a){const _0x169221={};_0x169221[_0x4b04a6(0x22c,0x230)]=function(_0x2a17f5,_0x154f9e){return _0x2a17f5===_0x154f9e;},_0x169221[_0x45977f(-0xd1,-0xd7)]=function(_0x16c2e1,_0x562584){return _0x16c2e1!==_0x562584;};function _0x4b04a6(_0x120839,_0x25d80b){return _0xf9be(_0x120839-0x31,_0x25d80b);}_0x169221[_0x4b04a6(0x238,0x212)]=_0x4b04a6(0x20d,0x1f9),_0x169221['luSRd']=_0x4b04a6(0x237,0x24b)+_0x45977f(-0xb7,-0xb5)+'erver'+'\x20erro'+'r',_0x169221[_0x45977f(-0xe0,-0x101)]=_0x45977f(-0xaf,-0xba)+_0x4b04a6(0x20c,0x1fe)+_0x45977f(-0xed,-0xe0);const _0x51c202=_0x169221;function _0x45977f(_0x5818bd,_0x930a75){return _0xf9be(_0x930a75- -0x2da,_0x5818bd);}const _0x5c51dc=_0x51c202[_0x4b04a6(0x22c,0x23d)](process.env.NODE_ENV,_0x45977f(-0xe2,-0xdb)+_0x45977f(-0xdd,-0xc2));if(_0x4c576a[_0x4b04a6(0x257,0x246)+_0x4b04a6(0x239,0x25c)+_0x45977f(-0xb9,-0xbe)]){if(_0x51c202[_0x4b04a6(0x234,0x23b)](_0x4b04a6(0x20d,0x230),_0x51c202[_0x45977f(-0xaf,-0xd3)])){const _0x5abb09={};return _0x5abb09[_0x45977f(-0xed,-0xc8)]=!![],_0x5abb09[_0x45977f(-0xa6,-0xbb)+'ge']=_0x632540['messa'+'ge'],_0x5abb09[_0x45977f(-0x99,-0xb6)]=_0x43bfa0['code'],_0x5abb09;}else{const _0x7160ad={};return _0x7160ad['error']=!![],_0x7160ad[_0x45977f(-0xd0,-0xbb)+'ge']=_0x4c576a[_0x45977f(-0xc5,-0xbb)+'ge'],_0x7160ad[_0x4b04a6(0x255,0x23e)]=_0x4c576a[_0x4b04a6(0x255,0x239)],_0x7160ad;}}const _0x2aa8bc={'error':!![],'message':_0x5c51dc?_0x51c202[_0x45977f(-0xf7,-0xd6)]:_0x4c576a[_0x45977f(-0xbc,-0xbb)+'ge'],'code':_0x51c202[_0x45977f(-0x106,-0x101)],..._0x5c51dc?{}:{'stack':_0x4c576a['stack']}};return _0x2aa8bc;}function _0xf9be(_0xf9bebd,_0x30bcb7){_0xf9bebd=_0xf9bebd-(0x109*-0xb+-0x1277+0x1fb2);const _0x5d757f=_0x266d();let _0x9b8f4d=_0x5d757f[_0xf9bebd];return _0x9b8f4d;}function errorHandler(_0x191926,_0x5d6bbe,_0x564871,_0xcda800){function _0x523800(_0x66fbb1,_0x52712e){return _0xf9be(_0x66fbb1- -0xca,_0x52712e);}function _0x1116ea(_0x3464c1,_0x164611){return _0xf9be(_0x3464c1-0x160,_0x164611);}const _0xe0e856={'ilSuG':'x-req'+_0x1116ea(0x33f,0x349)+'id','RzzjV':_0x523800(0x123,0x141)+'wn','AfVAO':function(_0x3e1556,_0x11c6ad){return _0x3e1556(_0x11c6ad);}},_0x21a0b1=_0x5d6bbe[_0x1116ea(0x355,0x374)+'rs'][_0xe0e856[_0x523800(0x119,0x100)]]||_0xe0e856[_0x523800(0x113,0xfe)];logError(_0x191926,_0x21a0b1,_0x5d6bbe);const _0xecf84f=_0x191926[_0x523800(0x141,0x124)+'sCode']||-0x16ae*0x1+-0x24de+-0x60*-0xa4,_0x210838=_0xe0e856[_0x1116ea(0x377,0x360)](getSafeErrorResponse,_0x191926);return _0x564871[_0x523800(0x141,0x137)+'s'](_0xecf84f)[_0x1116ea(0x373,0x381)](_0x210838);}module[_0x366683(0x32d,0x34d)+'ts']=errorHandler;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mooncompany/uplink-chat",
3
- "version": "0.32.2",
3
+ "version": "0.33.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -1,4 +1,4 @@
1
- * { box-sizing: border-box; margin: 0; padding: 0; }
1
+ * { box-sizing: border-box; margin: 0; padding: 0; }
2
2
 
3
3
  /* Inline SVG icons */
4
4
  .ui-icon {
@@ -118,7 +118,7 @@
118
118
  --user-bubble: rgba(76, 29, 149, 0.4);
119
119
  --user-accent: #4c1d95;
120
120
  --user-accent-hover: #3b1577;
121
- --assistant-bubble: rgba(0, 40, 60, 0.9);
121
+ --assistant-bubble: rgb(0 30 45 / 90%);
122
122
 
123
123
  /* Status colors */
124
124
  --success: #4ade80;
@@ -682,7 +682,7 @@
682
682
  z-index: var(--z-base);
683
683
  }
684
684
 
685
- /* iOS PWA standalone mode ensure safe area is always respected.
685
+ /* iOS PWA standalone mode — ensure safe area is always respected.
686
686
  Some iOS versions don't evaluate env() correctly in standalone PWAs,
687
687
  so we use a 44px fallback (standard iOS status bar height). */
688
688
  @media all and (display-mode: standalone) {
@@ -746,9 +746,9 @@
746
746
  flex-shrink: 0;
747
747
  }
748
748
 
749
- /* Header center mode toggle (desktop only) */
749
+ /* Header center — mode toggle (desktop only) */
750
750
  .header-center {
751
- display: none; /* Hidden on mobile bottom tabs used instead */
751
+ display: none; /* Hidden on mobile — bottom tabs used instead */
752
752
  }
753
753
 
754
754
  .header-mode-btn {
@@ -817,7 +817,7 @@
817
817
  overflow-x: hidden; /* Prevent horizontal scroll */
818
818
  overscroll-behavior-y: contain; /* Prevent pull-to-refresh / rubber-band */
819
819
  padding: var(--space-4);
820
- padding-bottom: 160px; /* Fallback JS dynamically adjusts via ui.js updateMessagesPadding */
820
+ padding-bottom: 160px; /* Fallback — JS dynamically adjusts via ui.js updateMessagesPadding */
821
821
  display: flex;
822
822
  flex-direction: column;
823
823
  gap: var(--space-2); /* Tighter message spacing */
@@ -943,7 +943,7 @@
943
943
  100% { border-color: #ff4466; box-shadow: 0 0 8px rgba(255,68,102,0.4), 0 0 20px rgba(255,68,102,0.15); }
944
944
  }
945
945
 
946
- /* streamPulse dot removed rainbow border is sufficient */
946
+ /* streamPulse dot removed — rainbow border is sufficient */
947
947
 
948
948
  /* Stop generation button */
949
949
  .stop-generation-btn {
@@ -1109,7 +1109,7 @@
1109
1109
 
1110
1110
  /* Mode toggle tabs - at bottom */
1111
1111
 
1112
- /* Agent avatar small circle next to timestamp on assistant bubbles */
1112
+ /* Agent avatar — small circle next to timestamp on assistant bubbles */
1113
1113
  .agent-avatar {
1114
1114
  display: none;
1115
1115
  }
@@ -1166,7 +1166,7 @@
1166
1166
  position: relative;
1167
1167
  }
1168
1168
 
1169
- /* In PWA standalone mode, iOS handles safe area natively
1169
+ /* In PWA standalone mode, iOS handles safe area natively —
1170
1170
  don't double up the bottom padding */
1171
1171
  @media all and (display-mode: standalone) {
1172
1172
  .mode-tabs {
@@ -1745,7 +1745,7 @@
1745
1745
  margin-top: var(--space-1);
1746
1746
  }
1747
1747
 
1748
- /* Settings panel uses unified .panel for positioning/layout.
1748
+ /* Settings panel — uses unified .panel for positioning/layout.
1749
1749
  Only settings-specific visual overrides below. */
1750
1750
  .settings-panel-header {
1751
1751
  display: flex;
@@ -2101,7 +2101,7 @@
2101
2101
  color: var(--accent);
2102
2102
  }
2103
2103
 
2104
- /* Conditional rows hidden by default, shown via JS inline style override */
2104
+ /* Conditional rows — hidden by default, shown via JS inline style override */
2105
2105
  .setting-hidden {
2106
2106
  display: none;
2107
2107
  }
@@ -2230,7 +2230,7 @@
2230
2230
  align-items: center;
2231
2231
  }
2232
2232
 
2233
- /* Hide bottom mode tabs on desktop header toggle replaces them */
2233
+ /* Hide bottom mode tabs on desktop — header toggle replaces them */
2234
2234
 
2235
2235
  /* ============================================================================
2236
2236
  11. MODE TABS
@@ -2482,7 +2482,7 @@
2482
2482
  }
2483
2483
 
2484
2484
  #sendBtn.sending {
2485
- /* No longer dim button stays interactive for stop/queue */
2485
+ /* No longer dim — button stays interactive for stop/queue */
2486
2486
  }
2487
2487
 
2488
2488
  /* Stop icon state on send button */
@@ -2817,3 +2817,4 @@
2817
2817
  #agentVoiceSettings {
2818
2818
  margin-top: var(--space-4, 16px);
2819
2819
  }
2820
+
@@ -855,4 +855,11 @@ body.split-artifacts-active #artifactsBtn {
855
855
  position: relative;
856
856
  border: 1px solid transparent;
857
857
  animation: streamingRainbow 4s linear infinite;
858
- }
858
+ }
859
+
860
+ /* Session selector — border-top to match border-bottom on mobile */
861
+ @media (max-width: 1023px) {
862
+ .split-primary-header {
863
+ border-top: 1px solid var(--border);
864
+ }
865
+ }