@guanghechen/kit-copilot 0.6.18 → 0.7.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.
package/README.md CHANGED
@@ -76,21 +76,49 @@ COPILOT_OPENAI_BETA_ALLOWLIST=responses_websockets=2026-02-06
76
76
 
77
77
  `kit-copilot` supports Codex Realtime voice input via WebSocket handoff events.
78
78
 
79
+ Codex must use websocket realtime transport for local STT. The default WebRTC transport is not
80
+ implemented by `kit-copilot` because WebRTC requires SDP negotiation and a media channel in addition
81
+ to STT. Configure Codex with:
82
+
83
+ ```toml
84
+ [realtime]
85
+ transport = "websocket"
86
+ version = "v2"
87
+ type = "conversational"
88
+ ```
89
+
79
90
  Supported WS paths:
80
91
 
81
92
  - `/api/codex`
82
93
  - `/api/codex/realtime`
83
94
  - `/api/codex/v1/realtime`
84
95
 
96
+ `POST /api/codex/realtime/calls` returns `501 realtime_webrtc_unsupported` with the same websocket
97
+ transport guidance.
98
+
85
99
  Path matching is exact by design:
86
100
 
87
101
  - Trailing slash variants like `/api/codex/` and `/api/codex/realtime/` are rejected.
88
102
 
89
- STT runtime envs (required):
103
+ STT selector envs:
104
+
105
+ - `KIT_COPILOT_REALTIME_STT_PROVIDER` (optional, default: `aoai`)
106
+ - `KIT_COPILOT_REALTIME_STT_MODEL` (optional, default: `whisper`)
107
+ - `KIT_COPILOT_REALTIME_STT_LANGUAGE` (optional, BCP-47 language tag)
108
+
109
+ Azure STT runtime envs:
90
110
 
91
111
  - `KIT_STT_AZURE_API_KEY`
92
112
  - `KIT_STT_AZURE_API_ENDPOINT`
93
113
 
114
+ Local whisper.cpp STT runtime envs:
115
+
116
+ - `KIT_STT_LOCAL_WHISPER_BIN`
117
+ - `KIT_STT_LOCAL_WHISPER_MODEL`
118
+ - `KIT_STT_LOCAL_WHISPER_THREADS` (optional)
119
+ - `KIT_STT_LOCAL_TMP_DIR` (optional)
120
+ - `KIT_STT_LOCAL_FFMPEG_BIN` (optional)
121
+
94
122
  Audio buffering policy:
95
123
 
96
124
  - Flush is triggered by either idle debounce (`600ms`) or max segment duration (`4000ms`).
@@ -105,3 +133,18 @@ KIT_STT_AZURE_API_ENDPOINT=https://<resource>.openai.azure.com \
105
133
  OPENAI_BASE_URL=http://127.0.0.1:4141/api/codex \
106
134
  codex
107
135
  ```
136
+
137
+ Local whisper.cpp example:
138
+
139
+ ```bash
140
+ KIT_COPILOT_REALTIME_STT_PROVIDER=local \
141
+ KIT_COPILOT_REALTIME_STT_MODEL=whisper-cpp \
142
+ KIT_COPILOT_REALTIME_STT_LANGUAGE=zh-CN \
143
+ KIT_STT_LOCAL_WHISPER_BIN=/path/to/whisper.cpp/build/bin/whisper-cli \
144
+ KIT_STT_LOCAL_WHISPER_MODEL=/path/to/whisper.cpp/models/ggml-large-v3-turbo-q5_0.bin \
145
+ OPENAI_BASE_URL=http://127.0.0.1:4141/api/codex \
146
+ codex
147
+ ```
148
+
149
+ The Codex config still needs `[realtime].transport = "websocket"`; otherwise Codex will attempt the
150
+ WebRTC call creation path and receive the explicit unsupported response.
package/lib/esm/cli.mjs CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- (function(_0x417b48,_0x1aaa78){const _0x33697c={_0x1bdfe6:0xef,_0x45133d:0xe3,_0x33a670:'e!VS',_0xb4a660:0xee,_0x1ac29f:0xe2,_0x2a614f:0xf4,_0x40d335:0xf0,_0x57f53c:'[L&8',_0x1700a3:0x1b6,_0x1bbdc9:0x1ce,_0x196792:0x1c3,_0x1b1cde:0xe8,_0x2faf7c:0x1b6,_0x594913:'Kz0u',_0x35fddf:0x19f,_0x5a4f0f:'d1B(',_0x2c0d6a:0x19c,_0x2b2fe7:0x1b1,_0x252e82:'[L&8',_0x34180c:0x1ae},_0x17bc54={_0x18e863:0x126};function _0x47d5d8(_0x16c543,_0x3a4eb1,_0x44af24,_0xfcc91e){return _0xa981(_0xfcc91e-_0x17bc54._0x18e863,_0x3a4eb1);}function _0x282fad(_0x361ad5,_0x41e51f,_0x191a40,_0x2a0ed2){return _0xa981(_0x191a40-0x48,_0x361ad5);}const _0x2a33c0=_0x417b48();while(!![]){try{const _0x25d263=parseInt(_0x282fad('4kKy',0xf4,_0x33697c._0x1bdfe6,_0x33697c._0x45133d))/(0x807+0x2f*-0x37+0x213)+-parseInt(_0x282fad(_0x33697c._0x33a670,_0x33697c._0xb4a660,_0x33697c._0x1ac29f,_0x33697c._0x2a614f))/(-0x14d6+-0x101+0x15d9)*(-parseInt(_0x282fad('inY8',_0x33697c._0x40d335,0xec,0xf3))/(0xf*-0x37+-0xf53+0x128f))+-parseInt(_0x282fad(_0x33697c._0x57f53c,0xec,0xe6,0xf8))/(0xf*0x291+0x1d7a+-0x43f5)+parseInt(_0x47d5d8(_0x33697c._0x1700a3,'lY&o',_0x33697c._0x1bbdc9,_0x33697c._0x196792))/(0xe3d+-0x1074*-0x1+-0x34*0x97)+-parseInt(_0x282fad('Dx)2',0xe3,_0x33697c._0x1b1cde,0xfc))/(0xcc2+0x17*0x1+0x1d5*-0x7)+-parseInt(_0x47d5d8(_0x33697c._0x2faf7c,_0x33697c._0x594913,_0x33697c._0x35fddf,0x1af))/(-0x1b97+0xc8e+0xf10)*(parseInt(_0x47d5d8(0x1a0,_0x33697c._0x5a4f0f,_0x33697c._0x2c0d6a,_0x33697c._0x2b2fe7))/(-0x45e+-0x3cb*0x7+0x1*0x1ef3))+parseInt(_0x47d5d8(0x19f,_0x33697c._0x252e82,0x1a9,_0x33697c._0x34180c))/(0x5*-0x159+0x1*0x2511+-0x1e4b);if(_0x25d263===_0x1aaa78)break;else _0x2a33c0['push'](_0x2a33c0['shift']());}catch(_0x4b4c15){_0x2a33c0['push'](_0x2a33c0['shift']());}}}(_0x5582,0x115a6*0x8+0x49b6b+-0x393dd*0x2));function _0x5582(){const _0x3518a4=['xmkLeYGz','xCkKWRdcTmkb','WRtcRSkfW6e','gSony8ozW5K','FCknW47cHr9HyvPcge7dOG','W6FcMfL/WPu','WRKQWP3cJLa','h8oHW67dPmoaBclcPmoWqCksB8ok','tmkMWR3dOLzkFH3cOxNdI0be','tmkPWRhdPvHlEc3cLftdSu9T','zmo+WPFcRJ3dTg/dG1BdO8oGwCkR','CGvUWRBdSCoyW7e5ymk4oCotda','WP9YWQNdNSkr','ySolWP4','c8kKeWv0WRdcTG','WP5TW6NdUG','WP3dHvFcPmoq','W6z5W53cKmkZtCoXl1VcKmobWR8','nLyRW6/cTa','yCoyW41xhq','r8kUW6hcLL4','W5Xpsq','W4TotNNcSW','WRJcJ1e','qmoIWQmdW7a','DSkzmwxcJW','i1hdPG/cQa','jhKaW7HJ','FYbkW55v','sCkSWRJdO1HcEY7cQ0FdIKbf','W7LRW4ZcI0TKySowW40','WRJcUCkrW6qH','iCocCZZcMCkwaSoFW7ddRcrP','WO08bSkLsN1/nmkrWRPFW4C','A1lcLmkglGpdL1VcV8kPlZ4','gCkPW7ZcJuu','uSk9W6FcKv8','WOxcOmk5BGPOWOVcRCkQ','FSkpW4FcIHXIpfjAivhdVmoK','fmkXWRBcMCkXcxi','WQDDe8kEW7G','WORcPgBcVmovW7LEk8oHvr9YWP4','jfySW68'];_0x5582=function(){return _0x3518a4;};return _0x5582();}import{CompletionCommand}from'@guanghechen/commander/node';import{Reporter as _0x3e7a7a}from'@guanghechen/reporter';import{a as _0x5835df,C as _0x14acad}from'./command-Cg8K-uGX.mjs';import'node:fs';import'node:path';import'node:child_process';function _0xa981(_0x51709d,_0x419c28){_0x51709d=_0x51709d-(-0x527*-0x1+-0x6aa*0x4+0xb03*0x2);const _0x406dc2=_0x5582();let _0x54f2df=_0x406dc2[_0x51709d];if(_0xa981['MZiKOC']===undefined){var _0xe88836=function(_0x2a33c0){const _0x25d263='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b4c15='',_0x51c1cb='';for(let _0xe0e3f8=-0x9fa*-0x2+0xc*-0x7d+-0x58*0x29,_0x2a2e37,_0x56e1a2,_0x5df1dd=0x15ad+-0xd*0x34+-0x1309;_0x56e1a2=_0x2a33c0['charAt'](_0x5df1dd++);~_0x56e1a2&&(_0x2a2e37=_0xe0e3f8%(0xd09+0x4*0x964+-0x1*0x3295)?_0x2a2e37*(0x6a*-0x36+0x696+0x1006)+_0x56e1a2:_0x56e1a2,_0xe0e3f8++%(0xdf*0x29+0x18ca+0x3c7d*-0x1))?_0x4b4c15+=String['fromCharCode'](0x865*0x1+-0x146e+0x342*0x4&_0x2a2e37>>(-(-0x3b*0x53+0xc*0x4d+0xf87)*_0xe0e3f8&0x1a6e+-0xe7d+-0xbeb*0x1)):-0x22f4+-0x2f*0x8c+0x3ca8){_0x56e1a2=_0x25d263['indexOf'](_0x56e1a2);}for(let _0x491594=0x84d+0x8f7+-0x1144,_0x1d8f00=_0x4b4c15['length'];_0x491594<_0x1d8f00;_0x491594++){_0x51c1cb+='%'+('00'+_0x4b4c15['charCodeAt'](_0x491594)['toString'](0x4*-0x676+-0x1b3e+0x3526))['slice'](-(-0x168c+0x1*-0x1d15+-0x33a3*-0x1));}return decodeURIComponent(_0x51c1cb);};const _0x1aaa78=function(_0x21c57b,_0x532d08){let _0x57b9fb=[],_0x6a12fe=-0x1c4+0x39*-0x89+0x1*0x2045,_0x239252,_0x3cefcf='';_0x21c57b=_0xe88836(_0x21c57b);let _0x2c06f4;for(_0x2c06f4=0x191f+0xed3+-0x27f2;_0x2c06f4<-0xc5*-0x11+-0xe32*-0x2+-0x2879;_0x2c06f4++){_0x57b9fb[_0x2c06f4]=_0x2c06f4;}for(_0x2c06f4=-0x407*0x4+-0x194*0x8+-0x6*-0x4ca;_0x2c06f4<0xdff+-0x80*0x30+0x139*0x9;_0x2c06f4++){_0x6a12fe=(_0x6a12fe+_0x57b9fb[_0x2c06f4]+_0x532d08['charCodeAt'](_0x2c06f4%_0x532d08['length']))%(-0xd*-0x163+0x11f1+0xc*-0x2ea),_0x239252=_0x57b9fb[_0x2c06f4],_0x57b9fb[_0x2c06f4]=_0x57b9fb[_0x6a12fe],_0x57b9fb[_0x6a12fe]=_0x239252;}_0x2c06f4=-0xf8f+-0x14d6+0x2465,_0x6a12fe=-0x827+0xf*-0x37+0xb60;for(let _0x14f9b3=0x7*-0x47d+-0x2d*-0xdb+-0x714;_0x14f9b3<_0x21c57b['length'];_0x14f9b3++){_0x2c06f4=(_0x2c06f4+(0xe3d+-0x1074*-0x1+-0x10*0x1eb))%(0xcc2+0x17*0x1+0x3f3*-0x3),_0x6a12fe=(_0x6a12fe+_0x57b9fb[_0x2c06f4])%(-0x1b97+0xc8e+0x1009),_0x239252=_0x57b9fb[_0x2c06f4],_0x57b9fb[_0x2c06f4]=_0x57b9fb[_0x6a12fe],_0x57b9fb[_0x6a12fe]=_0x239252,_0x3cefcf+=String['fromCharCode'](_0x21c57b['charCodeAt'](_0x14f9b3)^_0x57b9fb[(_0x57b9fb[_0x2c06f4]+_0x57b9fb[_0x6a12fe])%(-0x45e+-0x3cb*0x7+0x1*0x1feb)]);}return _0x3cefcf;};_0xa981['UJvWqe']=_0x1aaa78,_0xa981['CQXlJk']={},_0xa981['MZiKOC']=!![];}const _0x514e76=_0x406dc2[0x5*-0x159+0x1*0x2511+-0x1e54],_0x115c25=_0x51709d+_0x514e76,_0x417b48=_0xa981['CQXlJk'][_0x115c25];return!_0x417b48?(_0xa981['tgTzXo']===undefined&&(_0xa981['tgTzXo']=!![]),_0x54f2df=_0xa981['UJvWqe'](_0x54f2df,_0x419c28),_0xa981['CQXlJk'][_0x115c25]=_0x54f2df):_0x54f2df=_0x417b48,_0x54f2df;}import'node:os';import'node:http';import'node:fs/promises';import'@hono/node-server';import'hono';import'hono/cors';import'@guanghechen/kit-stt';function _0x3f3129(_0x4754b4,_0x2396d5,_0x262428,_0x1825ca){return _0xa981(_0x4754b4- -0x6,_0x2396d5);}import'uuid';import'ws';import'zod';import'hono/streaming';import'node:url';import'node:module';import'node:worker_threads';import'node:crypto';const _0x3b9107={};_0x3b9107[_0x3f3129(0xa0,'FQjQ',0x8d,0x9e)+'x']=_0x5835df;const _0x54761b=new _0x3e7a7a(_0x3b9107);function _0x51398d(_0x384699,_0x3670b2,_0x470237,_0x5504e3){const _0x5647e1={_0x10d400:0x1bf};return _0xa981(_0x5504e3-_0x5647e1._0x10d400,_0x470237);}const _0x185758=new _0x14acad(),_0x3417d8={};_0x3417d8[_0x3f3129(0x91,'lY&o',0x98,0xa1)+'amNam'+'e']=_0x5835df,_0x3417d8[_0x3f3129(0xa2,'ZIpE',0xb3,0xa2)]={},_0x3417d8[_0x3f3129(0xa2,'ZIpE',0xb3,0xa2)][_0x3f3129(0x8f,'ZIpE',0x85,0x85)]='~/.co'+'nfig/'+'bash/'+_0x3f3129(0xa8,'ik6p',0x9b,0x9c)+'etion'+'s/'+_0x5835df+_0x51398d(0x250,0x25c,'e!VS',0x262),_0x3417d8[_0x3f3129(0xa2,'ZIpE',0xb3,0xa2)]['fish']=_0x51398d(0x247,0x250,'%MQf',0x25a)+_0x51398d(0x25e,0x241,'inY8',0x255)+_0x3f3129(0xa9,'d1B(',0x9b,0x9c)+_0x51398d(0x26d,0x244,'VEOE',0x258)+_0x3f3129(0xa6,'cZSq',0x9c,0x98)+'s/'+_0x5835df+_0x3f3129(0x88,'4(bu',0x9a,0x8b),_0x3417d8[_0x3f3129(0xa2,'ZIpE',0xb3,0xa2)]['pwsh']=_0x3f3129(0x81,'*%Vd',0x92,0x87)+_0x51398d(0x273,0x267,'YQXf',0x261)+'pwsh/'+'compl'+'etion'+'s/'+_0x5835df+_0x3f3129(0x9f,'$AWu',0x98,0xb2),_0x185758[_0x51398d(0x24e,0x255,'ISWA',0x245)+'mmand']('compl'+'etion',new CompletionCommand(_0x185758,_0x3417d8));try{await _0x185758[_0x51398d(0x27a,0x27d,'cZSq',0x26a)]({'argv':process[_0x3f3129(0x92,'6fB$',0x9d,0x84)][_0x3f3129(0x7f,'V[pM',0x88,0x7c)](-0x696*-0x1+0x1f83+0xc7*-0x31),'envs':process.env,'reporter':_0x54761b});}catch(_0x321f43){_0x54761b[_0x51398d(0x23a,0x24f,'4(bu',0x24e)](_0x321f43 instanceof Error?_0x321f43[_0x51398d(0x253,0x267,'Kz0u',0x25b)]??_0x321f43[_0x51398d(0x252,0x24b,'6fB$',0x249)+'ge']:String(_0x321f43)),process[_0x51398d(0x261,0x26b,'Q8FQ',0x268)+_0x51398d(0x25d,0x27d,'dalU',0x26c)]=0x1e4b+0x1594*0x1+-0x8a5*0x6;}
2
+ (function(_0x31b40d,_0x471708){const _0x3a9dc6={_0x2062ba:'ceH&',_0x1c4c22:'k1dd',_0x585c51:0x38e,_0x5ce864:0x3a3,_0x25cb41:0xbb,_0x108ad0:0xc9,_0x1889aa:0x391,_0x573889:0x399,_0x3170cb:0x398,_0x3c070d:0x39e,_0x375934:'1ZaN',_0x3de9e1:0x3c1,_0xd24ca4:0x3ad,_0x3df5a8:0xc0,_0x144c07:0xca,_0x2680f5:0xd4,_0xd2489:0x387,_0x42bff0:0x3a4,_0x104078:0x394,_0x40bea5:0xbf,_0x313787:0xcd,_0x56b755:'Z4f7',_0x14bf4f:0xd9,_0x48c689:0xe5,_0x1ba90a:'BhLe',_0x120747:0xdd,_0xcbdad7:0xdf,_0x4e576c:0xe7,_0x367cf8:'btMo'},_0x3bae1a={_0x29e157:0x1f4},_0xdd1ccf={_0x5e3b11:0xde};function _0x42dcd0(_0x332e9e,_0xb3a6ec,_0x8f2501,_0x1a0730){return _0x4272(_0xb3a6ec- -_0xdd1ccf._0x5e3b11,_0x1a0730);}function _0x4bfe65(_0x3b80b0,_0x2b00e9,_0x356ce5,_0x33fc18){return _0x4272(_0x33fc18-_0x3bae1a._0x29e157,_0x2b00e9);}const _0x4b0c82=_0x31b40d();while(!![]){try{const _0x2eff99=-parseInt(_0x4bfe65(0x3ab,_0x3a9dc6._0x2062ba,0x3b2,0x3af))/(0x4*-0xf+-0x1d4f+0x1d8c)+parseInt(_0x4bfe65(0x3b3,_0x3a9dc6._0x1c4c22,_0x3a9dc6._0x585c51,_0x3a9dc6._0x5ce864))/(0x2*0x864+0xc9b*-0x1+-0x42b)*(parseInt(_0x42dcd0(_0x3a9dc6._0x25cb41,_0x3a9dc6._0x108ad0,0xc7,'[rA7'))/(-0x15b4+0x9f*-0x24+0x2c13*0x1))+-parseInt(_0x4bfe65(_0x3a9dc6._0x1889aa,'[rA7',_0x3a9dc6._0x573889,_0x3a9dc6._0x3170cb))/(-0x942+0x24cb*-0x1+0x2e11)+parseInt(_0x4bfe65(_0x3a9dc6._0x3c070d,_0x3a9dc6._0x375934,_0x3a9dc6._0x3de9e1,_0x3a9dc6._0xd24ca4))/(0x74f+-0xd*0x3b+-0x7*0x9d)+-parseInt(_0x42dcd0(_0x3a9dc6._0x3df5a8,_0x3a9dc6._0x144c07,_0x3a9dc6._0x2680f5,'#U5X'))/(-0x2b*-0xe1+-0x1*-0x1b83+-0x2*0x20a4)*(parseInt(_0x4bfe65(_0x3a9dc6._0xd2489,'DVsG',_0x3a9dc6._0x42bff0,_0x3a9dc6._0x104078))/(0x25ea+-0xbbe+-0x1a25))+-parseInt(_0x42dcd0(_0x3a9dc6._0x40bea5,_0x3a9dc6._0x313787,_0x3a9dc6._0x108ad0,_0x3a9dc6._0x56b755))/(0x1468+0x199c+-0x1b*0x1b4)*(parseInt(_0x42dcd0(_0x3a9dc6._0x14bf4f,_0x3a9dc6._0x48c689,0xe2,_0x3a9dc6._0x1ba90a))/(-0x1279*-0x1+0x6c9+-0x1939))+parseInt(_0x42dcd0(_0x3a9dc6._0x120747,_0x3a9dc6._0xcbdad7,_0x3a9dc6._0x4e576c,_0x3a9dc6._0x367cf8))/(0x1d*-0x53+-0xe6+0xa57);if(_0x2eff99===_0x471708)break;else _0x4b0c82['push'](_0x4b0c82['shift']());}catch(_0x144313){_0x4b0c82['push'](_0x4b0c82['shift']());}}}(_0x1365,-0xbd*-0x140b+0x13*0x10159+0x6d5d6*-0x3));function _0x1365(){const _0x1746d5=['jmkPW7ZcL8kA','u8kllZm','W5zap8kCW48','hCkIWPK5','j8ozumkniq','W6DItK5V','CSovz2tdTfepW7TlW6VcU28','WO7cJwm','W51UWPuTWQK','W4jTB0VdP8oYW6hcU8kabmoYsSkd','W6Wkr14','W5vlqmomWRFdNmo/WQWaW40hyW','imkUW4C3WR/dGvW2dq','lmkOh8oaD8kocCk/l8oog0TaW5O','W6yxuCkjW70YfSo2','W4G+WPNcKa','WORdVGKg','W5zwomkCWPm','wH1BWOjGW6yEWPhdHZJdQmoEWO4','zbzfFColje3dTCoBW6W','vmklAmo6W7W','WRaxDd7cGG','WQvpBmkIW6u','dfGeW5q7','j8ozwSkmoG','n1Co','rCoFWP99w8oMDSoJgq','oSolEJtcRW','s8kBDq','hSo7WQtcJgtcVmkJW7ydBG','smoZW5jGW79ZW4WRA8kNWQjRsq','e8oWgSojya','fSkMWOS/WQm','smoYWQmsWQWxWPys','WRzbmSoSq8oaWOdcS8okWOvLW7O','u8kxc2lcSW','WP1vxCkCW6W','hSoWWQJcH0FcVmkgW7u5zW','W6DUtLvc','WOixpCkEW64','iSk0W6pcImke','WR7dUepdKdpcRJ8jWQ3cKJWD'];_0x1365=function(){return _0x1746d5;};return _0x1365();}import{CompletionCommand}from'@guanghechen/commander/node';import{Reporter as _0x59e551}from'@guanghechen/reporter';import{C as _0xc714b5,a as _0x3021ba}from'./command-DfmDRc-y.mjs';import'node:fs';import'node:path';import'node:child_process';function _0x4272(_0x1b40f6,_0x422594){_0x1b40f6=_0x1b40f6-(-0xa3b+-0x2*-0x187+-0x2*-0x466);const _0x1f8fc7=_0x1365();let _0x463baf=_0x1f8fc7[_0x1b40f6];if(_0x4272['lveagG']===undefined){var _0x37f869=function(_0x2436b7){const _0x2e97fd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5397d2='',_0x405988='';for(let _0x2060cf=0x1175+-0x1d*-0x93+0x2*-0x110e,_0x15bbe7,_0x4a07d9,_0x51b0b5=0x3bc*-0x1+-0x25*0x101+0x28e1;_0x4a07d9=_0x2436b7['charAt'](_0x51b0b5++);~_0x4a07d9&&(_0x15bbe7=_0x2060cf%(0x8b*-0x2b+0x1e94+-0x1*0x737)?_0x15bbe7*(0xae6+-0x161d+0x1*0xb77)+_0x4a07d9:_0x4a07d9,_0x2060cf++%(-0x1*-0xc89+0x26e+-0x59*0x2b))?_0x5397d2+=String['fromCharCode'](0xfe9*-0x1+0xf27+0x1c1*0x1&_0x15bbe7>>(-(-0x13b6*0x1+-0xa*0x3ce+-0xe71*-0x4)*_0x2060cf&0xe1c+-0x1937+0x103*0xb)):-0x2a9*0x5+-0x8ef*0x2+0x1f2b){_0x4a07d9=_0x2e97fd['indexOf'](_0x4a07d9);}for(let _0x330eaf=-0x14bd+0x1fb8+-0xafb,_0x1d592a=_0x5397d2['length'];_0x330eaf<_0x1d592a;_0x330eaf++){_0x405988+='%'+('00'+_0x5397d2['charCodeAt'](_0x330eaf)['toString'](0x274*0xb+0x1e4f+-0x393b))['slice'](-(-0x109d*0x2+-0x1*-0xd2d+-0x140f*-0x1));}return decodeURIComponent(_0x405988);};const _0x13e747=function(_0x4dc0a6,_0x4490d1){let _0x35cdda=[],_0x5b9bae=-0x1549+0x147*0x1+0xc5*0x1a,_0x31b40d,_0x471708='';_0x4dc0a6=_0x37f869(_0x4dc0a6);let _0x4b0c82;for(_0x4b0c82=-0x1b49+-0x1e19+0x3962;_0x4b0c82<0x1b1*-0x12+0x752+0x10*0x182;_0x4b0c82++){_0x35cdda[_0x4b0c82]=_0x4b0c82;}for(_0x4b0c82=-0x2b2+-0x90+0x116*0x3;_0x4b0c82<0xa4b*-0x2+0x24e0+0x13*-0xce;_0x4b0c82++){_0x5b9bae=(_0x5b9bae+_0x35cdda[_0x4b0c82]+_0x4490d1['charCodeAt'](_0x4b0c82%_0x4490d1['length']))%(0x47*0x8a+-0x4d9+-0x206d),_0x31b40d=_0x35cdda[_0x4b0c82],_0x35cdda[_0x4b0c82]=_0x35cdda[_0x5b9bae],_0x35cdda[_0x5b9bae]=_0x31b40d;}_0x4b0c82=-0xa51+0x116f+-0x71e,_0x5b9bae=0x372+0xab1+-0xb*0x149;for(let _0x2eff99=0xaad*0x1+0x352+-0xdff;_0x2eff99<_0x4dc0a6['length'];_0x2eff99++){_0x4b0c82=(_0x4b0c82+(0x9f*-0x24+0x1e4*-0x2+0x1a25))%(0x24cb*-0x1+-0x1b48+-0x1*-0x4113),_0x5b9bae=(_0x5b9bae+_0x35cdda[_0x4b0c82])%(-0x7a3+-0x3*-0x463+0x182*-0x3),_0x31b40d=_0x35cdda[_0x4b0c82],_0x35cdda[_0x4b0c82]=_0x35cdda[_0x5b9bae],_0x35cdda[_0x5b9bae]=_0x31b40d,_0x471708+=String['fromCharCode'](_0x4dc0a6['charCodeAt'](_0x2eff99)^_0x35cdda[(_0x35cdda[_0x4b0c82]+_0x35cdda[_0x5b9bae])%(-0x25*-0xdf+-0x3*0x49a+-0x3*0x5cf)]);}return _0x471708;};_0x4272['ODlGDd']=_0x13e747,_0x4272['ygEdOz']={},_0x4272['lveagG']=!![];}const _0x30e710=_0x1f8fc7[-0xa91+0x2bb*-0x8+0x2069],_0x1d36fb=_0x1b40f6+_0x30e710,_0x2487a8=_0x4272['ygEdOz'][_0x1d36fb];return!_0x2487a8?(_0x4272['YsOtvy']===undefined&&(_0x4272['YsOtvy']=!![]),_0x463baf=_0x4272['ODlGDd'](_0x463baf,_0x422594),_0x4272['ygEdOz'][_0x1d36fb]=_0x463baf):_0x463baf=_0x2487a8,_0x463baf;}import'node:os';import'node:http';import'node:fs/promises';import'node:crypto';import'node:url';import'@hono/node-server';import'hono';import'hono/cors';function _0x5e6cfe(_0x7ec034,_0x78c940,_0x160dc5,_0x5c1ae1){const _0x516d5e={_0x4ff10f:0x141};return _0x4272(_0x160dc5- -_0x516d5e._0x4ff10f,_0x78c940);}import'@guanghechen/kit-stt';import'uuid';import'ws';import'zod';import'hono/streaming';import'node:module';import'node:worker_threads';const _0x48e960={};_0x48e960[_0x5e6cfe(0x85,'*oOb',0x87,0x84)+'x']=_0xc714b5;const _0x17a1d6=new _0x59e551(_0x48e960),_0x1407b4=new _0x3021ba(),_0x43b78c={};_0x43b78c[_0x481952('*oOb',-0xc,0x2,-0xa)+_0x481952('ceH&',-0x13,-0x4,-0x15)+'e']=_0xc714b5,_0x43b78c[_0x5e6cfe(0x93,'U15p',0x84,0x80)]={},_0x43b78c[_0x5e6cfe(0x93,'U15p',0x84,0x80)][_0x481952('86GW',-0x6,-0x16,-0x14)]=_0x5e6cfe(0x66,'ceH&',0x69,0x55)+_0x5e6cfe(0x7d,'(q3C',0x68,0x71)+'bash/'+'compl'+'etion'+'s/'+_0xc714b5+_0x481952('Bk6o',-0x9,-0x1,-0x11);function _0x481952(_0x503bd9,_0x2f2a6c,_0x3b5051,_0xe04b42){const _0x3b3dd9={_0x6f7245:0x1c0};return _0x4272(_0x2f2a6c- -_0x3b3dd9._0x6f7245,_0x503bd9);}_0x43b78c[_0x5e6cfe(0x93,'U15p',0x84,0x80)][_0x5e6cfe(0x6b,'[rA7',0x72,0x65)]='~/.co'+'nfig/'+'fish/'+'compl'+_0x481952('izsB',0x7,-0x5,0x4)+'s/'+_0xc714b5+'.fish',_0x43b78c[_0x5e6cfe(0x93,'U15p',0x84,0x80)][_0x5e6cfe(0x7d,'4FuH',0x70,0x72)]=_0x481952('^CvY',-0x1f,-0x11,-0x18)+'nfig/'+_0x481952('8LcA',-0xe,-0x1e,-0x19)+'compl'+_0x5e6cfe(0x5b,'fh)R',0x6b,0x6f)+'s/'+_0xc714b5+_0x5e6cfe(0x84,'nHKI',0x7e,0x88),_0x1407b4['subco'+_0x5e6cfe(0x6d,'[rA7',0x65,0x79)](_0x5e6cfe(0x5f,'3%Gf',0x6d,0x74)+'etion',new CompletionCommand(_0x1407b4,_0x43b78c));try{await _0x1407b4[_0x481952('nPJz',-0x1e,-0x32,-0x11)]({'argv':process[_0x5e6cfe(0x75,'Lxih',0x7f,0x8b)][_0x5e6cfe(0x65,'RKxA',0x77,0x84)](0x1*-0x611+0x1*-0x14b9+-0x14*-0x157),'envs':process.env,'reporter':_0x17a1d6});}catch(_0xaa025){_0x17a1d6[_0x481952('3%Gf',-0x10,-0x1b,0x5)](_0xaa025 instanceof Error?_0xaa025[_0x5e6cfe(0x5c,'J#qQ',0x64,0x74)]??_0xaa025[_0x481952('nPJz',0x4,0x2,0x12)+'ge']:String(_0xaa025)),process[_0x5e6cfe(0x73,'fh)R',0x74,0x7c)+_0x481952('JOQG',-0x21,-0x15,-0x17)]=-0x2212+0x2097+0x5*0x4c;}