@ikyyofc/gemini-cli 4.0.3 → 4.0.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ikyyofc/gemini-cli",
3
- "version": "4.0.3",
3
+ "version": "4.0.4",
4
4
  "description": "AI Agent CLI — native function calling · GEMINI.md context · extensions",
5
5
  "type": "module",
6
6
  "bin": { "gemini": "./index.js" },
package/src/agent.js CHANGED
@@ -37,21 +37,16 @@ Unix timestamp: ${Math.floor(now.getTime() / 1000)}
37
37
 
38
38
  ## CORE RULE — NEVER ASK, ALWAYS ACT
39
39
 
40
- You MUST use tools to complete tasks. You are NEVER allowed to:
41
- - Ask the user to run a command themselves
42
- - Ask the user to write or edit any code themselves
43
- - Say "you can run...", "try running...", "create a file...", "add this code to..."
44
- - Give instructions instead of taking action
45
-
46
- If you need to run something → use run_shell.
47
- If you need to read a file → use read_file first.
48
- If you need to create/edit a file → use write_file or patch_file.
49
- If something fails → diagnose and retry automatically, never ask user.
40
+ You MUST use tools to complete every task. Never ask the user to do anything themselves.
41
+ - If you need to run a command → run_shell
42
+ - If you need to read a file read_file
43
+ - If you need to create or edit a file write_file or patch_file
44
+ - If something fails diagnose and fix yourself, retry automatically
50
45
 
51
46
  ## WORKFLOW
52
- 1. EXPLORE — read existing structure/files before acting
53
- 2. ACT — use tools to complete the task fully
54
- 3. VERIFY — run/test after changes to confirm it works
47
+ 1. EXPLORE — understand the project structure before acting
48
+ 2. ACT — complete the task fully using tools
49
+ 3. VERIFY — test/run after changes to confirm it works
55
50
  4. REPORT — brief summary of what was done
56
51
 
57
52
  ## TOOLS
@@ -62,7 +57,6 @@ ${toolList}
62
57
  - Use patch_file for targeted edits (safer than full rewrite)
63
58
  - Verify code works by running it after changes
64
59
  - If a command fails, fix it yourself and retry
65
- - Only ask the user if the request is genuinely ambiguous
66
60
  - Current working directory: ${process.cwd()}
67
61
  - Platform: ${process.platform}
68
62
 
@@ -109,23 +103,35 @@ export async function runAgentLoop(userMessage, history, {
109
103
  return null;
110
104
  }
111
105
 
112
- // Separate: thought parts (p.thought===true), text parts, tool call parts
106
+ // ── Parse response parts ────────────────────────────────────
107
+ // Gemini returns: thought parts (p.thought===true), text parts, tool call parts
113
108
  const thoughtParts = parts.filter(p => p.thought === true && p.text);
114
109
  const textParts = parts.filter(p => p.text != null && !p.thought);
115
110
  const callParts = parts.filter(p => p.functionCall != null);
116
111
  const textContent = textParts.map(p => p.text).join("").trim();
117
112
  const thinkContent = thoughtParts.map(p => p.text).join("").trim();
118
113
 
119
- // ── Show thinking (thought parts) ─────────────────────────
114
+ // DEBUG tulis struktur parts ke stderr (hapus setelah konfirmasi thinking bekerja)
115
+ if (process.env.DEBUG_PARTS) {
116
+ process.stderr.write(
117
+ `[DEBUG] parts count: ${parts.length}, ` +
118
+ `thought: ${thoughtParts.length}, ` +
119
+ `text: ${textParts.length}, ` +
120
+ `call: ${callParts.length}\n` +
121
+ `[DEBUG] part types: ${parts.map(p => p.thought ? "THOUGHT" : p.functionCall ? "CALL" : "TEXT").join(", ")}\n`
122
+ );
123
+ }
124
+
125
+ // ── Show native thinking (p.thought===true from API) ───────
120
126
  if (thinkContent) {
121
127
  process.stdout.write(
122
- "\n" + chalk.hex("#3A3A4E")(" ╭─ thinking ") +
123
- chalk.hex("#3A3A4E")("─".repeat(Math.max(2, bw() - 13))) + "\n"
128
+ "\n" + chalk.hex("#2E2E45")(" ╭─ thinking ") +
129
+ chalk.hex("#2E2E45")("─".repeat(Math.max(2, bw() - 13))) + "\n"
124
130
  );
125
131
  thinkContent.split("\n").forEach(line =>
126
- process.stdout.write(chalk.hex("#3A3A4E")(" │ ") + chalk.hex("#5A5A7A").italic(line) + "\n")
132
+ process.stdout.write(chalk.hex("#2E2E45")(" │ ") + chalk.hex("#55557A").italic(line) + "\n")
127
133
  );
128
- process.stdout.write(chalk.hex("#3A3A4E")(" ╰" + "─".repeat(bw() - 1)) + "\n\n");
134
+ process.stdout.write(chalk.hex("#2E2E45")(" ╰" + "─".repeat(bw() - 1)) + "\n\n");
129
135
  }
130
136
 
131
137
  // ── Final answer — no more tool calls ─────────────────────
package/src/gemini.js CHANGED
@@ -1 +1 @@
1
- const _0x3982f1=_0x4c02;(function(_0x45f1ad,_0x4869ab){const _0x646b5e=_0x4c02,_0x443c59=_0x45f1ad();while(!![]){try{const _0x17c959=parseInt(_0x646b5e(0x1aa,'YisE'))/(0x1d56+0x260e+-0x4363)+parseInt(_0x646b5e(0x1a5,'ySK6'))/(-0x1780+-0x8fe*0x1+0x2080)+parseInt(_0x646b5e(0x1d4,'PpGQ'))/(0xe29+-0x247+-0x3f5*0x3)+parseInt(_0x646b5e(0x1c0,'69sb'))/(-0xbb6*-0x3+-0x6a6+-0x1c78)+parseInt(_0x646b5e(0x1ff,']2b9'))/(0x1091+-0x22e*-0x8+-0xa*0x366)*(parseInt(_0x646b5e(0x21d,'XVY0'))/(-0x2657+-0xd4*-0x1f+0xcb1))+-parseInt(_0x646b5e(0x257,'69sb'))/(-0x8*-0x166+0x1322+0x37*-0x8d)*(parseInt(_0x646b5e(0x202,'YisE'))/(0x1*-0x1646+-0x1306+0xa55*0x4))+-parseInt(_0x646b5e(0x19a,'B33r'))/(0x788+0x1*-0x1bef+0xda*0x18);if(_0x17c959===_0x4869ab)break;else _0x443c59['push'](_0x443c59['shift']());}catch(_0x43b4ba){_0x443c59['push'](_0x443c59['shift']());}}}(_0x3bd4,-0x1f351*-0x6+-0xd9824+-0x187c0*-0x7));import _0x2645bf from'axios';function _0x4c02(_0x18dc8a,_0x52dfcf){_0x18dc8a=_0x18dc8a-(-0xc53+-0x6*0x526+0x1*0x2ccd);const _0x145615=_0x3bd4();let _0x7ede3c=_0x145615[_0x18dc8a];if(_0x4c02['InVptu']===undefined){var _0x2a5522=function(_0x34c612){const _0x7a4c29='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x462127='',_0x404708='';for(let _0x17bf59=0xd14+0x8d6+-0x15ea,_0x11ffe7,_0x60adf,_0x6b0eb5=-0xef2+-0x5*-0x1bb+0xb3*0x9;_0x60adf=_0x34c612['charAt'](_0x6b0eb5++);~_0x60adf&&(_0x11ffe7=_0x17bf59%(0x253b+0x81*-0x5+-0x22b2)?_0x11ffe7*(0x5+0x12e0*-0x2+0x25fb)+_0x60adf:_0x60adf,_0x17bf59++%(0x1*-0x149e+-0x157b+0x2a1d))?_0x462127+=String['fromCharCode'](0xcf9+0x10ff+0x1*-0x1cf9&_0x11ffe7>>(-(-0x1e12+0x1ae3+0x331)*_0x17bf59&0x131d+-0x4c8+-0xe4f)):0x5*-0x799+-0x125*-0x1e+0x3a7){_0x60adf=_0x7a4c29['indexOf'](_0x60adf);}for(let _0x579091=-0x1650+-0x2397*0x1+0x9*0x66f,_0x156f91=_0x462127['length'];_0x579091<_0x156f91;_0x579091++){_0x404708+='%'+('00'+_0x462127['charCodeAt'](_0x579091)['toString'](0x182*-0x6+0x78*-0x32+0x4*0x823))['slice'](-(-0x1*-0x79+0x646+-0x4b*0x17));}return decodeURIComponent(_0x404708);};const _0x46915f=function(_0x14fda9,_0x4a2443){let _0x114e1d=[],_0x2fc42a=-0x2337+0x1d*0x36+0x1d19,_0x216acb,_0x1e3a9b='';_0x14fda9=_0x2a5522(_0x14fda9);let _0x3bd57e;for(_0x3bd57e=0x18ab+0x3*-0x120+-0x45*0x4f;_0x3bd57e<0x287+0x4*-0x404+0xe89;_0x3bd57e++){_0x114e1d[_0x3bd57e]=_0x3bd57e;}for(_0x3bd57e=-0x649*-0x4+-0x22b7*0x1+0x331*0x3;_0x3bd57e<-0xf63*0x1+-0x1*-0x1e62+0x1*-0xdff;_0x3bd57e++){_0x2fc42a=(_0x2fc42a+_0x114e1d[_0x3bd57e]+_0x4a2443['charCodeAt'](_0x3bd57e%_0x4a2443['length']))%(-0x14c6*-0x1+-0x1e2*0x5+0x11*-0x9c),_0x216acb=_0x114e1d[_0x3bd57e],_0x114e1d[_0x3bd57e]=_0x114e1d[_0x2fc42a],_0x114e1d[_0x2fc42a]=_0x216acb;}_0x3bd57e=-0x1bd8+0x410+0x17c8,_0x2fc42a=0x74+0x12*0xe3+0x106a*-0x1;for(let _0x157de5=-0x1*-0x594+0x25*-0xdb+0x1a13;_0x157de5<_0x14fda9['length'];_0x157de5++){_0x3bd57e=(_0x3bd57e+(-0x16bc+-0xe5d+0x251a))%(0xc17+-0x373*-0x7+-0x233c),_0x2fc42a=(_0x2fc42a+_0x114e1d[_0x3bd57e])%(0x16d9+-0x5f3+-0xfe6),_0x216acb=_0x114e1d[_0x3bd57e],_0x114e1d[_0x3bd57e]=_0x114e1d[_0x2fc42a],_0x114e1d[_0x2fc42a]=_0x216acb,_0x1e3a9b+=String['fromCharCode'](_0x14fda9['charCodeAt'](_0x157de5)^_0x114e1d[(_0x114e1d[_0x3bd57e]+_0x114e1d[_0x2fc42a])%(-0x1bf4+0x1b34+0x1c0)]);}return _0x1e3a9b;};_0x4c02['aMLlaj']=_0x46915f,_0x4c02['mVAKYO']={},_0x4c02['InVptu']=!![];}const _0x30a98d=_0x145615[0x1*0x1a87+-0x1869*0x1+-0x1*0x21e],_0x41751e=_0x18dc8a+_0x30a98d,_0x8ee9d5=_0x4c02['mVAKYO'][_0x41751e];return!_0x8ee9d5?(_0x4c02['HWVqER']===undefined&&(_0x4c02['HWVqER']=!![]),_0x7ede3c=_0x4c02['aMLlaj'](_0x7ede3c,_0x52dfcf),_0x4c02['mVAKYO'][_0x41751e]=_0x7ede3c):_0x7ede3c=_0x8ee9d5,_0x7ede3c;}import{fileTypeFromBuffer}from'file-type';const CONFIG={'URL':_0x3982f1(0x1c2,'2ENj')+_0x3982f1(0x1b0,'xbsJ')+_0x3982f1(0x1da,'0n&h')+_0x3982f1(0x22c,'tFCO')+_0x3982f1(0x19c,'5AQh')+_0x3982f1(0x19f,'Ig7W'),'MODEL':_0x3982f1(0x242,'@vD#')+_0x3982f1(0x207,'9mBV'),'HEADERS':{'User-Agent':_0x3982f1(0x200,'Ig7W')+'.2','Accept-Encoding':_0x3982f1(0x1fb,'22tR'),'content-type':_0x3982f1(0x1d6,'qAii')+_0x3982f1(0x1b4,'99e&')+_0x3982f1(0x1af,'B33r')+'8'}},SUPPORTED_MIMES=new Set([_0x3982f1(0x1b3,'@vD#'),_0x3982f1(0x1ac,'Ig7W'),_0x3982f1(0x237,'Ig7W'),_0x3982f1(0x23e,'nr(n'),_0x3982f1(0x196,'7DRs'),_0x3982f1(0x1c4,'XVY0'),_0x3982f1(0x1b1,'scht'),_0x3982f1(0x210,'KFRH'),_0x3982f1(0x250,'[u5#'),_0x3982f1(0x239,'YisE'),_0x3982f1(0x1a0,'BhFc')+'v',_0x3982f1(0x211,'B33r'),_0x3982f1(0x1f4,'5AQh'),_0x3982f1(0x1bd,'uL0v'),_0x3982f1(0x255,'DQNi'),_0x3982f1(0x1e9,'5AQh'),_0x3982f1(0x1ca,'FyAO'),_0x3982f1(0x1e8,'KFRH'),_0x3982f1(0x1a6,'F1GU'),_0x3982f1(0x1b9,'nr(n'),_0x3982f1(0x204,'tFCO'),_0x3982f1(0x253,'Ig7W'),_0x3982f1(0x25b,'9IL*')+_0x3982f1(0x209,']2b9')+'us',_0x3982f1(0x258,'PpGQ')+_0x3982f1(0x230,'Ig7W'),_0x3982f1(0x1f6,'ySK6'),_0x3982f1(0x224,'nr(n'),_0x3982f1(0x262,'9IL*'),_0x3982f1(0x1c7,'scht')+_0x3982f1(0x223,'Ig7W'),_0x3982f1(0x19d,'DQNi')+_0x3982f1(0x1d9,'xbsJ'),_0x3982f1(0x201,'XVY0'),_0x3982f1(0x1d5,'BhFc')+_0x3982f1(0x24a,'3o8Z'),_0x3982f1(0x1ec,'FyAO')+_0x3982f1(0x1ef,'FyAO'),_0x3982f1(0x25d,'JqwJ')+_0x3982f1(0x20a,'DQNi'),_0x3982f1(0x244,'7DRs')+_0x3982f1(0x216,'xEFA'),_0x3982f1(0x1db,'RRt2')+_0x3982f1(0x1fe,'3o8Z')]);async function getToken(){const _0x133a1e=_0x3982f1,_0x52f158={'wspza':_0x133a1e(0x21c,'9IL*')+_0x133a1e(0x228,'XVY0')+_0x133a1e(0x24b,'DQNi')+_0x133a1e(0x1a8,'RRt2')+_0x133a1e(0x1c8,'@vD#')+_0x133a1e(0x198,'1^rr')+_0x133a1e(0x1b2,'JqwJ')+_0x133a1e(0x20f,'Np%[')+_0x133a1e(0x233,'@vD#')+_0x133a1e(0x24d,'tp8x')+_0x133a1e(0x22f,'tFCO')+_0x133a1e(0x1f5,'0xnz'),'FTmgl':_0x133a1e(0x241,'2ENj')+_0x133a1e(0x240,'hSYh'),'dKFtk':_0x133a1e(0x1b7,'69sb')+_0x133a1e(0x220,'KFRH')+_0x133a1e(0x1eb,'xbsJ')+_0x133a1e(0x23f,'YlIb')+_0x133a1e(0x222,'tp8x')+_0x133a1e(0x1dc,'@vD#')+_0x133a1e(0x1e1,')DXc'),'OSMAE':_0x133a1e(0x21f,'tFCO')+_0x133a1e(0x238,'tp8x'),'IkcEg':_0x133a1e(0x23c,'8d%X')+_0x133a1e(0x25f,'99e&'),'QxrAD':_0x133a1e(0x1bc,'F1GU')+_0x133a1e(0x212,'8d%X')+_0x133a1e(0x247,'99e&')+_0x133a1e(0x1f8,'3o8Z'),'prGGx':_0x133a1e(0x266,'69sb')+_0x133a1e(0x1e6,'scht')+_0x133a1e(0x246,'6UjU')+_0x133a1e(0x259,'JqwJ')+_0x133a1e(0x215,'nr(n')},{data:_0x2b3fea}=await _0x2645bf[_0x133a1e(0x23d,'xEFA')](_0x52f158[_0x133a1e(0x22d,'XVY0')],{'clientType':_0x52f158[_0x133a1e(0x26b,'xEFA')]},{'headers':{'User-Agent':_0x52f158[_0x133a1e(0x197,'ySK6')],'Content-Type':_0x52f158[_0x133a1e(0x1f1,'2ENj')],'X-Android-Package':_0x52f158[_0x133a1e(0x248,'nr(n')],'X-Android-Cert':_0x52f158[_0x133a1e(0x1d0,'tFCO')],'X-Firebase-GMPID':_0x52f158[_0x133a1e(0x1cb,'JqwJ')]}});return _0x2b3fea[_0x133a1e(0x1a7,'99e&')];}export async function callGemini({messages:messages=[],fileBuffer:fileBuffer=null,tools:tools=null,systemInstruction:systemInstruction=null}={}){const _0x1ab6fe=_0x3982f1,_0x122359={'bBuSM':function(_0x50fa88,_0xbf5cfc){return _0x50fa88===_0xbf5cfc;},'HfEhO':_0x1ab6fe(0x1fc,'3o8Z'),'CfwpA':_0x1ab6fe(0x22b,'2ENj'),'Jskqv':function(_0x5a3e58,_0x8186d9){return _0x5a3e58===_0x8186d9;},'IQtCi':_0x1ab6fe(0x1d2,'8d%X'),'xhSmc':function(_0x566aba){return _0x566aba();},'COeBv':function(_0x43c852,_0x2862be){return _0x43c852===_0x2862be;},'MJmja':function(_0x845810,_0x6f0944){return _0x845810(_0x6f0944);},'lcjAs':_0x1ab6fe(0x206,'XVY0')+_0x1ab6fe(0x1e3,'Ik)U')+_0x1ab6fe(0x1b8,'xbsJ'),'kVBRm':_0x1ab6fe(0x25e,'JqwJ'),'WRMQr':function(_0x48c6a3,_0x4605a4){return _0x48c6a3-_0x4605a4;},'JyOuV':_0x1ab6fe(0x260,'xEFA'),'ZUtGl':_0x1ab6fe(0x1ea,'JqwJ'),'rVnfa':_0x1ab6fe(0x243,'Veag')+_0x1ab6fe(0x1cc,'3o8Z')+_0x1ab6fe(0x1c1,'scht'),'plOjv':_0x1ab6fe(0x221,'Np%['),'chYHO':_0x1ab6fe(0x243,'Veag')+_0x1ab6fe(0x252,'8d%X')+_0x1ab6fe(0x234,'[u5#'),'UJgAh':_0x1ab6fe(0x227,'nr(n')+_0x1ab6fe(0x232,'Ik)U')+_0x1ab6fe(0x208,'RRt2')+'T','mWcZZ':_0x1ab6fe(0x235,'B33r')+_0x1ab6fe(0x19e,'F1GU')+_0x1ab6fe(0x1f7,'F1GU')+'T','BCKKg':function(_0x30c6be,_0x107360){return _0x30c6be&&_0x107360;},'ctkcf':_0x1ab6fe(0x205,'5AQh')+_0x1ab6fe(0x1ab,')DXc')+_0x1ab6fe(0x256,'F1GU')+'I'},_0x1e904c=await _0x122359[_0x1ab6fe(0x24c,'99e&')](getToken),_0x48afe1=messages[_0x1ab6fe(0x1e0,'99e&')](_0xeb6f7a=>_0xeb6f7a[_0x1ab6fe(0x1dd,'jIwN')]===_0x1ab6fe(0x1f9,'8d%X')),_0x33b9aa=systemInstruction??(_0x48afe1?_0x122359[_0x1ab6fe(0x203,'FyAO')](typeof _0x48afe1[_0x1ab6fe(0x20d,'QiNu')],_0x122359[_0x1ab6fe(0x217,'Ik)U')])?_0x48afe1[_0x1ab6fe(0x268,'2ENj')]:_0x48afe1[_0x1ab6fe(0x1ba,'nr(n')]?.[-0xa14+-0x1bb7+0x25cb]?.[_0x1ab6fe(0x23a,'5AQh')]??'':null),_0x2aa2d4=messages[_0x1ab6fe(0x261,'69sb')](_0x52f8bc=>_0x52f8bc[_0x1ab6fe(0x21b,'csbR')]!==_0x1ab6fe(0x1d1,']AkS'))[_0x1ab6fe(0x254,'jIwN')](_0x3f82bf=>{const _0x2e764b=_0x1ab6fe;if(_0x3f82bf[_0x2e764b(0x21e,'uL0v')])return{'role':_0x122359[_0x2e764b(0x20e,'YlIb')](_0x3f82bf[_0x2e764b(0x249,'uL0v')],_0x122359[_0x2e764b(0x1ce,'KFRH')])?_0x122359[_0x2e764b(0x1b5,'xbsJ')]:_0x3f82bf[_0x2e764b(0x267,'RRt2')],'parts':_0x3f82bf[_0x2e764b(0x20b,'DQNi')]};return{'role':_0x122359[_0x2e764b(0x1ee,'hSYh')](_0x3f82bf[_0x2e764b(0x21b,'csbR')],_0x122359[_0x2e764b(0x21a,'9mBV')])?_0x122359[_0x2e764b(0x1ed,'xEFA')]:_0x3f82bf[_0x2e764b(0x249,'uL0v')],'parts':[{'text':_0x122359[_0x2e764b(0x1fd,'5AQh')](typeof _0x3f82bf[_0x2e764b(0x213,')DXc')],_0x122359[_0x2e764b(0x1fa,'jIwN')])?_0x3f82bf[_0x2e764b(0x213,')DXc')]:JSON[_0x2e764b(0x263,'XVY0')](_0x3f82bf[_0x2e764b(0x24f,'nr(n')])}]};});if(fileBuffer){const _0x338001=await _0x122359[_0x1ab6fe(0x1bb,'5AQh')](fileTypeFromBuffer,fileBuffer),_0x58b632=_0x338001?.[_0x1ab6fe(0x1a2,'9mBV')]??_0x122359[_0x1ab6fe(0x22a,'9mBV')];if(!SUPPORTED_MIMES[_0x1ab6fe(0x218,'tp8x')](_0x58b632))throw new Error(_0x1ab6fe(0x24e,'scht')+_0x1ab6fe(0x1f2,'Ik)U')+_0x1ab6fe(0x265,'Veag')+_0x58b632);const _0x10f9ff={'inlineData':{'mimeType':_0x58b632,'data':fileBuffer[_0x1ab6fe(0x1b6,'dY$W')](_0x122359[_0x1ab6fe(0x1d7,'DQNi')])}},_0x24dac9=_0x2aa2d4[_0x122359[_0x1ab6fe(0x1f0,'jzbg')](_0x2aa2d4[_0x1ab6fe(0x25c,'Ik)U')],0x2308+-0x1*-0x207d+-0x4384)];if(_0x122359[_0x1ab6fe(0x199,')DXc')](_0x24dac9?.[_0x1ab6fe(0x1a9,'QiNu')],_0x122359[_0x1ab6fe(0x264,'2ENj')]))_0x24dac9[_0x1ab6fe(0x1df,'scht')][_0x1ab6fe(0x229,'xbsJ')](_0x10f9ff);else _0x2aa2d4[_0x1ab6fe(0x225,'nr(n')]({'role':_0x122359[_0x1ab6fe(0x1ae,'QiNu')],'parts':[_0x10f9ff]});}const _0x2d10d0={'model':CONFIG[_0x1ab6fe(0x236,'tp8x')],'request':{'contents':_0x2aa2d4,'generationConfig':{'thinkingConfig':{'thinkingLevel':_0x122359[_0x1ab6fe(0x1cf,'DQNi')]}},'safetySettings':[{'category':_0x122359[_0x1ab6fe(0x1bf,'99e&')],'threshold':_0x122359[_0x1ab6fe(0x1d3,'YlIb')]},{'category':_0x122359[_0x1ab6fe(0x1cd,'tFCO')],'threshold':_0x122359[_0x1ab6fe(0x1d3,'YlIb')]},{'category':_0x122359[_0x1ab6fe(0x1f3,'RRt2')],'threshold':_0x122359[_0x1ab6fe(0x22e,'uL0v')]},{'category':_0x122359[_0x1ab6fe(0x1e4,'2ENj')],'threshold':_0x122359[_0x1ab6fe(0x1ad,'8d%X')]}],...tools?.[_0x1ab6fe(0x1e2,'5AQh')]&&{'tools':tools},..._0x122359[_0x1ab6fe(0x1de,'8d%X')](_0x33b9aa,{'systemInstruction':{'role':_0x122359[_0x1ab6fe(0x26a,'qAii')],'parts':[{'text':_0x33b9aa}]}})},'stream':![]},{data:_0x50fe13}=await _0x2645bf[_0x1ab6fe(0x219,'1^rr')](CONFIG[_0x1ab6fe(0x1d8,'tp8x')],_0x2d10d0,{'headers':{...CONFIG[_0x1ab6fe(0x226,'0n&h')],'authorization':_0x1ab6fe(0x1a4,'dY$W')+_0x1e904c}});if(!_0x50fe13?.[_0x1ab6fe(0x231,'scht')]?.[_0x1ab6fe(0x1c5,')DXc')])throw new Error(_0x122359[_0x1ab6fe(0x251,'F1GU')]);const _0x41795b=_0x50fe13[_0x1ab6fe(0x1c3,'9mBV')][-0x3*-0xc63+-0x2c*-0x41+-0x3055],_0x33dd5a=_0x41795b[_0x1ab6fe(0x1e5,'0xnz')]?.[_0x1ab6fe(0x25a,'8d%X')]??[];return{'parts':_0x33dd5a,'candidate':_0x41795b,'raw':_0x50fe13};}export async function chat(_0x24159c=[],_0x59bad1=null){const _0x5e39cf=_0x3982f1,_0x3eb891={'gKJkt':function(_0x14d24b,_0x2c6c73){return _0x14d24b(_0x2c6c73);}},{parts:_0x34de5e}=await _0x3eb891[_0x5e39cf(0x1be,'tFCO')](callGemini,{'messages':_0x24159c,'fileBuffer':_0x59bad1});return _0x34de5e[_0x5e39cf(0x1a1,'xbsJ')](_0x3961b0=>_0x3961b0[_0x5e39cf(0x1a3,'BhFc')]??'')[_0x5e39cf(0x20c,'scht')]('');}function _0x3bd4(){const _0x177e58=['WRJcP1VcSa8','WOxdRmoTW6q','wZ/cV8kXWRlcGHL6W6/cJG','WRWEWRGtWP3dK2tcHZi','rSkbW67dHSoK','WRpcMvvpdSkuWRtcNSk4WOS','W6RdVSk0W5voWORdPSoEW5NdRq','xmkRW7NdJJVcLKnsdrC','gG3cLSkgW78sWOFcMfSH','Dfb3W7/dHW','DSk7wCkSWRXbW73dM8kL','CSkRuSkW','W7CADhxdIMVcVq','sSkFC8kvW4XQW4JdOSkmW5e','W70eW60AWPpdRupcLZWk','o1uRWOi','WPZcONtcMtm','WO9Gb8oTW5G','WRBcIHuqsCkuWRNcHCkKWOa','W71zW7OpWP0','rSkmW5pdMmoH','WOpcU01Td8ohWOxcKmkNWOy','Eq1UW6VdLq','b8oNW4n0W6zNWRa2r8oK','WO05WQJdSmkBWQVcQmodW4xcQG','rdGevmoPWRldMuddVHC','W6iZsgVcGq','WOVcISogEHRdP3xcKCoTWRK','BNddQSoZWPm','FK9/W6JdLGBdNSkdWQS','trddHmofWRa+','DNldHgKaWPxdJrNcIa','lSoczSk8','CxuKDI7cGSkSW78I','W68ujCohFSoIWQldRxFdSq','z8oyxCoT','A8kZqmk/W7ygW77dK8kRW6y','DrCQW4lcU8o4W5eyque','W44sW4m5WOfOWQFcLu4','WQfdkSonW7O+bxldGae','qG4qFmo/WRtcKGJdKYS','WQr/ESoaA8oUBmo0WRub','gCoKz8orW53dQSkosrxcGa','jSkpgmkGgmouB0/dKCkpWRVdI8os','W4hcSMKcfSkZWPrhW5RdLa','W7tdV8olCd7cNmktWPuYuW','s8k1qSkDW7q','rmkpW7ddLW','AmoGWOq','m8k7W6byWOdcLhagECox','W4NdLmkUlH4','qu/dQSovWQGNW4hdIxKa','mCoOW55LW79ZWR4WvSoY','yCkXt8kSW7zhW70','W4qFAu3cPMmFW5ex','WRzPWROtia','W4mPeCk2xmogWOldG0hdLG','DLD6W6BdNaBdLmkAWQG8','WQddL0a','lmkHWQPEWOddLMWiBCoc','WRbUW7ewnhtcJCkWW7ql','W73dKmkjW7vgs3dcV8o3kJ1NWOS','WQufW4ZcQCo+WO4YWR7cG8kS','W6SHmSo7WQDEWPaAW7uU','W7WAoSkDzW','uJ7cR8kOWQ7cL1KYW7/dGG','WQ4oWP/dImk8WOy','WRXHCCkKWQSlW4nwWQ11','WR9WCSkTW7rC','W5tcKSkAjHddHCos','ySoes8oR','WQRcGCotWRGvcG','rY7cS8k1W67dM0uM','W7LEW7GCWPldRuBcLcq','WQH2lmo9W6i','WOKeca','W73dKSkjW7LcqhFdUmkXFW','AsFcJCkM','WOfGdCo8W5eelG','fW7cL8kpW6ONWOlcV2u9ka','W77cQZ/cJ18','uCoJq8o+qG','nSkKW5H4eCoTWPXYW4LnxCkK','eCo5DSoAW5hcPSkhwbxcJa','WQDcWQ3dTSkk','W7BcTSkiwtSVEW/cPeS','W6ldQ8oIW5JdIG','W7ldVmkNbhtcNapdS8oUWQ1EygxdLq','W7zcWOZdSmkMW5KbWOFcMCkix8oi','pmosCmkRW5hdKNqjh2S','lSkTWRzpW4dcGxiBzmoc','WPPpWOGVaLRcRSoxW7aj','EuDQWQddLeZdLmkdWQmY','eCo2prvnWP3cMJxdK8o6','jKeO','WP3cQhpcVq','e8o6iqq','WRdcI8ogW5ldOhRdMG','W7i6W5NcSCosAvr1WP/dSSoAW4u','WRrOWRuzkttcGCoXW5y','W5JdMmkPlbBdJCof','DtZcImk3rmogWRxdLvJcOW','WR9kWQhcIW','mIZcKdLEWO7dVIlcKIfDga','W43cUmoQW4JdKSoxedHmW5q','FK9/W6JdLGBdICkeWQO','W7Wxb8kdyG','WODCWOlcM1O','WQlcUCoNuJhcMwhcKCoUW5m','zKm9WOrWaq7cSrpcIa','eSoVW4L1W6aSWRWYfG','WRr2B8k9WRiMW4DvWPfP','tayCCSo0W7ldLqJdHcm','W5/cK8kxmbldHSkqW7esdq','ceyVWPPf','WOBcGCo0W5tdT2hcLc0','WOJcICotWROze2JdUCkRFq','ouu5WOC','y8kRrCkXW7WgW6BdKCkU','CSk/u8kSW6a','f8oTC8kIW4q','W6uUW6yZaINdMCkNWOmF','qmkjW7JdL8o4W5xdQxtcHa','WRxcOM9ieW','W4pdQSktjrW','W7JdNCkoW7rdqhFcOmoRfaDrWRO','kCodW6ne','WOP7f8o4W4DqDqNdRci','WPpcOhdcVcKJnSkNcra','W6nhW6SsWPNcPuFcLZqC','W4tdVCoNW47dImoB','W7OXamogWP4eFSk4W5JdVCo+odm','emoJW5vKWQbPWRa0q8oK','tb9sy8kIW7ldJr3dJt0','W7i+W5JcSCoqytqkWPVdKSogW6PvpG','W6m6W5STbmkvW7HIFa','WQ1JrSkpWRO','smofWRmuASkCWPL6W5HT','WRhcGxXRka','WOZcQmorWPvn','amkDWRP8WOm','WOpcKvDIiW','DLJdL8k3sxq','W78poSkaESoG','yvTuWPRdTG','W7znWO7dTCkKW5TJWQlcQ8kktmozW5y','e8o6iqqnW5/cG2RdNSoY','W5xcOGdcLMbOWRuTzmkW','mCkEWOXPWOi','DM3dOG','lLm7WPHTaXS','W5G6wfZdTHtcJ2tcHmkt','EJJcKCkVvmorWRVdJL3cPW','cIOTjSoqW7pcJuZcKx0','WR/dMvXy','W444a8kICW','fmoNW59KW7W','W5FdLCktjW','WPJcRCkNWPNcJCkgvX0FWOK','nSocCmkVW5hdKW','WQXeWP7dJmk8WOVcHmk7W7FcKG','WO9yamosW64','jc54zcRcTCkt','vSkWWPqLWRvIWR8Mumo4','ErqCWO9YkJBcRW','WQxcU8oWWPrTW4ZdQCocW4FcSa','o8osESkHW4RcLgWggG','WPvyrSka','A3vJW4PfhqVcR03dJa','W7yQW4CWrmocWRHInSk5','vmorwCoPBW','W6KpW7CKWOG','W6OGW5e','WO/cPh7dUmoq','WQ1ClSojW7e','WQzlWPFdHSkKWOVdKmoIW73cLG','tGlcHSkcvq','lmooESkTW4RcLgWcdIG','nYL+pqBcIG','WRDSWPpdTSookw9DWRtdRW','WPPiWOiVbvtcRSoeW7av','qSkGWQSjfCkyW756W40m','W78co8kDCCoQ','WOtdP0r+mq','WOZcPY/cIG','zSoKWPKIuCkPWQPvW78','emouDCk5W5m','ACk4WPG/ra','W7W4c8opWPHfpSkEW4VdJmoJ','EeL2W7VdH1NcLSoFW6nO','W75pW7ibW5pdQvZcHa','mI/dPgKzW6pdTr0','W4eaW5Oghq','WRpcNefkcmoyWRpcHSkWWOC','fmoipSk6W4ddIgSiaJy','W6TAW7OzWPxdQu7cHJqv','W53cRx/cRcu0iW','vXhcVSkgzCoIWPBdS3FcGq','W6HQxCksW4HrpCoTW7BdHa','nmoNWQriWOdcLW','kSkPWRXpWPW','dSoPW4r+','WQ5kWQpcMMNdOSkw','C3vUWQpdJq','E8kvWONdPHxcSdbCcIG','WRlcP8oWWPHTW4ZdPCoBW4tcSq','WRxcOSoWuIRcI1NcTCop','WR9lCmkRimocWPddGIJcTG','W4VdT8oNW53dMCoDdq','ev5mlCkIW6xcJXpdJXZdLmowW7G','zmoTeSk+WQe','ECkyvSo0qG','WOS6WOxdRmkH','s17dNq','W6/cT8kCxq'];_0x3bd4=function(){return _0x177e58;};return _0x3bd4();}
1
+ function _0x30c7(_0x1da458,_0x73140a){_0x1da458=_0x1da458-(0x1ab3+0x43*-0x7d+0x73e);const _0x4e99f9=_0x1f9e();let _0x41a3b2=_0x4e99f9[_0x1da458];if(_0x30c7['bvbgXu']===undefined){var _0x461fd8=function(_0x54c82f){const _0x3d687a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x310a2d='',_0x2f951f='';for(let _0x484aa8=-0x1317+0x5*0x3d7+-0x7*0x4,_0x241e3a,_0x5e80c2,_0x1dde23=-0x253b+-0x17d3+0x1e87*0x2;_0x5e80c2=_0x54c82f['charAt'](_0x1dde23++);~_0x5e80c2&&(_0x241e3a=_0x484aa8%(-0x1cc7+-0x1685+0x3350)?_0x241e3a*(0xd*0x24b+0x2095+-0x1f12*0x2)+_0x5e80c2:_0x5e80c2,_0x484aa8++%(-0x950+-0x13eb+0x1d3f))?_0x310a2d+=String['fromCharCode'](0x7a*0x4d+-0xa95+-0x191e&_0x241e3a>>(-(-0x1bdb+0x1*-0x2279+-0x65*-0x9e)*_0x484aa8&-0x1*0x1027+0x1371+-0x4c*0xb)):-0x4ff+0x5*-0x82+0x3*0x283){_0x5e80c2=_0x3d687a['indexOf'](_0x5e80c2);}for(let _0x3c390d=0x2e*-0xbf+0xf79*-0x1+0x15*0x25f,_0x2f181a=_0x310a2d['length'];_0x3c390d<_0x2f181a;_0x3c390d++){_0x2f951f+='%'+('00'+_0x310a2d['charCodeAt'](_0x3c390d)['toString'](0x1*0x1585+0x29*0xb+-0x1738))['slice'](-(0x1*0xda9+0x1aa8*-0x1+0xd01*0x1));}return decodeURIComponent(_0x2f951f);};const _0x1c65a8=function(_0x181a87,_0x45a70e){let _0x400d94=[],_0x8cdaee=-0x347+0x288+0x1*0xbf,_0x581bc5,_0x41fcb0='';_0x181a87=_0x461fd8(_0x181a87);let _0x5f312a;for(_0x5f312a=0x1891+0x120b+-0x2a9c;_0x5f312a<-0x25e0+0x976+0x1d6a;_0x5f312a++){_0x400d94[_0x5f312a]=_0x5f312a;}for(_0x5f312a=0x1a8c+-0xe3b+-0xc51;_0x5f312a<-0xf67*-0x2+-0x8c3*-0x4+-0x6*0xacf;_0x5f312a++){_0x8cdaee=(_0x8cdaee+_0x400d94[_0x5f312a]+_0x45a70e['charCodeAt'](_0x5f312a%_0x45a70e['length']))%(-0xca4+-0xf11+0x1cb5),_0x581bc5=_0x400d94[_0x5f312a],_0x400d94[_0x5f312a]=_0x400d94[_0x8cdaee],_0x400d94[_0x8cdaee]=_0x581bc5;}_0x5f312a=-0x20de+0x1a3a+-0x6a4*-0x1,_0x8cdaee=0x2fc+0x1ace+-0x1dca;for(let _0x2a193d=0x12d4+-0x106f*-0x1+-0x2343;_0x2a193d<_0x181a87['length'];_0x2a193d++){_0x5f312a=(_0x5f312a+(0xbc+-0x247d+-0x2*-0x11e1))%(0x19*-0x49+0x1a4f+-0x122e*0x1),_0x8cdaee=(_0x8cdaee+_0x400d94[_0x5f312a])%(-0x3*-0x5cf+0xd8*-0x16+0x223),_0x581bc5=_0x400d94[_0x5f312a],_0x400d94[_0x5f312a]=_0x400d94[_0x8cdaee],_0x400d94[_0x8cdaee]=_0x581bc5,_0x41fcb0+=String['fromCharCode'](_0x181a87['charCodeAt'](_0x2a193d)^_0x400d94[(_0x400d94[_0x5f312a]+_0x400d94[_0x8cdaee])%(0x53a+0x2384*0x1+-0x13df*0x2)]);}return _0x41fcb0;};_0x30c7['MZWJHW']=_0x1c65a8,_0x30c7['QyJyhI']={},_0x30c7['bvbgXu']=!![];}const _0x5374c3=_0x4e99f9[-0x8f6+0x17ae+-0xeb8],_0x3409f2=_0x1da458+_0x5374c3,_0x3b69e3=_0x30c7['QyJyhI'][_0x3409f2];return!_0x3b69e3?(_0x30c7['IeUNTV']===undefined&&(_0x30c7['IeUNTV']=!![]),_0x41a3b2=_0x30c7['MZWJHW'](_0x41a3b2,_0x73140a),_0x30c7['QyJyhI'][_0x3409f2]=_0x41a3b2):_0x41a3b2=_0x3b69e3,_0x41a3b2;}const _0x1e5df6=_0x30c7;(function(_0x32bcce,_0x373aca){const _0x1c4aef=_0x30c7,_0x2b1a23=_0x32bcce();while(!![]){try{const _0x539825=parseInt(_0x1c4aef(0x195,'zVqg'))/(0xa*-0xf0+0xa49*-0x2+0x1df3)+parseInt(_0x1c4aef(0x204,'BnUF'))/(-0x1de9+0xa14+0x13d7*0x1)*(parseInt(_0x1c4aef(0x164,'zVqg'))/(-0x215+-0x179e+0x19b6))+-parseInt(_0x1c4aef(0x183,'HjSG'))/(0x43*0x29+-0xebe+0x407)*(-parseInt(_0x1c4aef(0x151,'X6oH'))/(0xeb4+-0xef2+-0x1*-0x43))+parseInt(_0x1c4aef(0x1f6,'zVqg'))/(0xe18+0x15*-0x105+-0x1*-0x757)+parseInt(_0x1c4aef(0x1a5,']K5G'))/(-0x195b*-0x1+0xcb9+0xbf*-0x33)*(parseInt(_0x1c4aef(0x1b2,'FFNY'))/(0xe2*-0x10+0x1524+0x6*-0x12a))+-parseInt(_0x1c4aef(0x20a,'FFNY'))/(0xa48+-0x39*0x95+-0x1*-0x16ee)*(parseInt(_0x1c4aef(0x13d,'9EKH'))/(-0x1*0x4d1+-0x182d+0x742*0x4))+-parseInt(_0x1c4aef(0x1d2,'rlH^'))/(0x27*-0xd0+0x7*0x4f7+-0x183*0x2)*(parseInt(_0x1c4aef(0x182,'dWA@'))/(-0x1*-0x135d+0x1aad*-0x1+0x75c));if(_0x539825===_0x373aca)break;else _0x2b1a23['push'](_0x2b1a23['shift']());}catch(_0x16167c){_0x2b1a23['push'](_0x2b1a23['shift']());}}}(_0x1f9e,-0x88da*0x7+0x878fd+0x232dd));function _0x1f9e(){const _0x3932e3=['WPyBW48','eqpdSSoMWRVdVhW/W7RdNa','xmknvwhcMq','dCkuWRhcNG','WOK3WOCHWQiNgSolj1q','omk4W7tdMuSYW4TKASoX','W4pcLdngW4xcTSkLW40fW6i','wr3cIH3dHuZdJa','rWJcM0f/mmkd','lCk1WOHyEa','WPRdL08QW4SaWQ3dS8oF','W6SbW74kfG','wIpdKNJcHGS','W4uKWPiJWR82gSotFXy','W7xdP2z9','W4yKWQySWQeIsmkFwdW','WP8BigRdQHRdT14','WPxcVNVdN2NdMq','iv5M','W7/dOq/cR8ktWO/cU8k4','WOBdLSo0hG0','W7tdSxT7W4hcQSkMWQJcQW','W6nsWR/dU8o/','W4TCmSohW5O','WPVdUSoC','W6tcTcCeW4aqWRFdKSoGBW','WPOAWQikjmooW7tdK30m','W5OcAmkxWRpdLh4jW6mp','W4LLWOS','E3nTyte','W4SnD8kuWQRdJZ5jWRLB','WOxdR8oEaqVdUW','EGefpW','W5FdGuTiWRG','W7qUlSkcW6RdP8obiSkdhG','W4fqp8kMW7v/hmoJb8kd','nr1vWQNcIG','W6z1WP5TWP5HkCk4WOjh','zCklW4TDW4e','WQRcVtJcOGnwyatcQa','W4HPWPNdK8okithcImoxta','gCkyWO5Aw03cICkNW6e','WRNdKW7cGwdcUCoWW51+ja','W6WOW4Wgn8o/W5hdO3e','agLskZpcRCo1WOS','W6XRpmoj','W4JdRYxdN2tdPa1mzG','kaVdJ8oC','C8oqW697W7y','fxXAm3xcRCoNWOL0W74','pqinjCktW5y1','W40kD8k1WQS9fW','e8k/WPhcGuW','nCk6WPdcP1DfWRj0Bmka','WR4+WP4Gd8oL','W6/dPu1fWOu','W5nRWPtdKq','WP8BigRdQHtdPv9EWPS','dv/dMb7dO23dRhT2','gInfpgJcQ8oYW5bUW6u','WQOGWQPrW7tcNmoGFCo+vW','W41UW7ddG8kR','WO4RWODxW50','W43dGCkZWRCz','W6q1W50no8kZW4ddUx8i','BxX0tta','omkWWQu4w8k8W4ukWP7dLa','WQKSpgtcQq','W5RdMCoOo00','seblvXXLEhHNW70','W7JcLmkDtq','vqe+fmkf','W7ZcS8oBc27dO8ok','W6xcJSkkqmkD','W53cKJK','eMvgk3NcVa','C8klW7zRW6NcTgFcQNJdPa','W7ZdP3hdVmoTW5xdVSohWOXaW6LaWPrl','gGKpcK1CB355W7rB','W5/cGWyVWQSPW5tdOCoCtq','qmkrWOxdI3C','xG/cMGRcMGG','WPVcIsxcOSky','x2GYoCkKWR3dNb7dU2e','WRS7hv3cJq','W7mSW4KepCo/W5BdOga','emkzWP5dr1JdKCoPW6dcVq','aItcNSomWQVdQtbHrSko','iLHAzmopWPX3eNVcMmkKmeSl','sSonW7BdMdHcWRzkumk/WQC','WOBdJSoki0SLu1TiWQW','c8oMz8o2','W4vNW4JcH8kbBtxcGSolsW','WPlcU8okaqNdUCoDW5RcLmkV','WRrOW4mHsq','WOFdHSkIdr/dTmoFb1/dQq','rYhcTxbrhCoTWPWPga','BSkqirFdGmkMW4Lye8ox','W4uHWOyMWRL6fmoaCq','W6rRW4n0hSk7WOFcVWL/','qvxdSmk1WQ/cJt1NW7ldMG','od1iWRhcGvFdG8kuW4a','rhNdI2m','CtFdQbeXWQm','bgnzkW','WOxdJmkSEHNcICkPCf3dQq','DCkeAv/cQYlcPeH4WQe','cv/dNLRcMGVdS1fAfuJcGq','Bu56WRfRWR3cIuhcGq','A1xdQSoWW4HrjCkZ','pvNcNmoXWQZcT1S7u8ke','WRBcJKBdP17dVIfZtue','WOtdTmoadq','AZVdOHmQW6tcRJDB','WPXLW5r3W6iMf8o3EcNcNq','mWddT8owW6j6aG','W6tdKmkEWQmI','hSkovexdQa','W43dL8ksabSXgaj5WQ8','WO7dO8kssIS','WOddSSoidqRcS8kqW57cImk4','W78bpSobW4W','W5aDW48khG','WO7dMGJdLCoTWRfBW5nlW5hcHMiz','cSkcWOzw','W7ddTxf7WP0','etyk','C1ugsmkgWPNdUJtdGuy','FGS+o8ky','aCkxq2JdKSknW7v/pCoY','WQZcU8kqlfFcIsPRo30','WPWFW5ldVZrMW7RdLCkiW4m','mWNdGSoEW6WWc8kOWR0','dSkcWRhcNM1R','W5ikcmoGW5ldGCoTh8kOma','WOxdOSoFhaddSq','W4hcKu3dNxxdLZu','sGFdJJet','AZVdOHmQW6tcU2OjW5C','W5ZcGSoUp1JcI8k2BbZcQq','W5fCWQ9CW79nw8kCWQjJ','WPGxj8ktWOjIv8kXxCk+','C1ufeSkjWPldUG','W43cHvxcG8k7WQ1BW6v9W4q','W4hdVmkmWRyM','WQv1WPCOfmoQW5NdOLK7','qMxdNg7cHKOHW7ZdJG','kmkWDftdTCkHW4jed8kq','W4/dHSk+WQ4cfdddTCkr','W7aRoSoFW7NcJW','WRhdHbdcMhNcLmo0W55coa','W6VcGmkaqCkygbj2WPWq','bSkeshRdNSklW6X+oCo5','smokW7xdNZ4XWRHSF8kYWOOx','qCodu8o2rSkAW7a','zb/cIvzUF8o2WOCHCa','x1LFxHOPDgn4','u8kqWR9TW7xcS3JcQNRdVa','uIlcOaRdUW','rJOtAIBcR8oOWPLVW74','WPpcU8opcqVdUmkuW4RcJmkR','mLVdJGeQbSoMWRKEjCkr','faDOWP3cOG','W4rjWQDeWRLwf8kyWRj4','ecNdGmo6W44','cCo1m8kpfq','W7KKnmozW6JdRmoy','W6X0WO/dL8oE','gafYCJriuh4','WPGvW5hdPIGLW68','WR5Np8oiW7pcGSkRBmoFWOe','W5RcHZKZW70','pmk+sSorgCk5WP/dTCkHW6K','oXhdH8oqW6yWaCkXWR7dQq','W4OXWRaLWRG','W5JcG1/cKSkXW6WC','W5vrWR8fWPLK','W7mSW4KepCo/W4ZdVxe','awlcMCoA','W4eNW4iPWQq6fSkhvYK','W4uHWOyMWRL6gSooCb8','W5qmW7GeeW','cCoocSk8pa','WO3cVM3dJdldMW5rAxW','W7XRW5bVn8oKW5VdSKbW','FchdTr82WR/cOIKB','ExlcT0r+W6VcKaPcW6G','F2tcGSkrW40','b8kDWOGuBCklW6aLWQq','W7pcPxBcRG','WOhdOSoliIm','FCkkBelcStVcPG0KW70','W5XbAmkKW6KGaSoNaSku','hgRcHSolWRC','W6hcJmkpqSkuuXTNWPaf','xd7dMSkpW7xcSIuaf8op','gSogWOiqBW','WOBdUSoEhby','ux7cH2dcJbX9W4VdRM0','oSkQsupdS8kHW4nn','fmkwWQpcJw0PWPLqtmkG','WRr1W6uhfCkZW5ldIG','mf7dGGiICmowWPKtdSkxza','WR3dL8oxfSoit0btWR8gWRifWQm','cv3dKv7cLa7dJvD4m2pcUG','W6KrWQWB','W6GKnSoi','W4i9WOWR','uGddNYKnWORcLWiWW6G','W7S+pSoeW6lcRCokj8kmfa','j8k2nftdRSkLWOjdgmoB','EIJdRWy','WONcUMFdJg4','vxZdIgFcGayHW77dJNG','bSkmWPSq','W4CxW4KBpG','W4zwWRLCWRvBaG','W6KpeCojW6C','Av3cL8kiWRffgSkZWQZdQmkN','FXKc','zbJcNLP1BComWRqazG','WPRcUNVdNhtdLq5tBxW','WO8FW4FdPG','oSkGyKm','W4hdQIpcGcNdGGn3zL8P'];_0x1f9e=function(){return _0x3932e3;};return _0x1f9e();}import _0x380986 from'axios';import{fileTypeFromBuffer}from'file-type';const CONFIG={'URL':_0x1e5df6(0x1b5,'dD8U')+_0x1e5df6(0x20f,'0waJ')+_0x1e5df6(0x1ad,'(61y')+_0x1e5df6(0x186,'fRA^')+_0x1e5df6(0x1bd,')X7c')+_0x1e5df6(0x14c,'s(G#'),'MODEL':_0x1e5df6(0x1e9,'SdFd')+_0x1e5df6(0x15c,'dWA@'),'HEADERS':{'User-Agent':_0x1e5df6(0x194,'SdFd')+'.2','Accept-Encoding':_0x1e5df6(0x1fd,'G!@B'),'content-type':_0x1e5df6(0x16f,'rlH^')+_0x1e5df6(0x181,'SKpc')+_0x1e5df6(0x1c5,'lsNi')+'8'}},SUPPORTED_MIMES=new Set([_0x1e5df6(0x1f2,'HjSG'),_0x1e5df6(0x155,'E@*u'),_0x1e5df6(0x1ae,'BnUF'),_0x1e5df6(0x166,'H7WW'),_0x1e5df6(0x152,'fRA^'),_0x1e5df6(0x1ec,'x$ew'),_0x1e5df6(0x19b,'G!@B'),_0x1e5df6(0x1a2,'HVVE'),_0x1e5df6(0x1c6,'rlH^'),_0x1e5df6(0x1bc,'id)6'),_0x1e5df6(0x1b4,'G!@B')+'v',_0x1e5df6(0x1db,'E@*u'),_0x1e5df6(0x211,'EIkg'),_0x1e5df6(0x17f,'E@*u'),_0x1e5df6(0x1b9,']K5G'),_0x1e5df6(0x153,'*TRn'),_0x1e5df6(0x18f,'x3(3'),_0x1e5df6(0x1de,'0waJ'),_0x1e5df6(0x1be,'igi['),_0x1e5df6(0x18c,'0waJ'),_0x1e5df6(0x1fb,'s(G#'),_0x1e5df6(0x1d7,'BnUF'),_0x1e5df6(0x206,'lsNi')+_0x1e5df6(0x1d4,'7vfr')+'us',_0x1e5df6(0x218,'0waJ')+_0x1e5df6(0x15a,'Prst'),_0x1e5df6(0x1ea,'R)oj'),_0x1e5df6(0x13f,'ZGg^'),_0x1e5df6(0x13a,'PG1m'),_0x1e5df6(0x1e1,'FFNY')+_0x1e5df6(0x169,'igi['),_0x1e5df6(0x179,'hI1V')+_0x1e5df6(0x212,'zVqg'),_0x1e5df6(0x156,'tTl$'),_0x1e5df6(0x163,'PG1m')+_0x1e5df6(0x205,'dWA@'),_0x1e5df6(0x1b6,'#iCJ')+_0x1e5df6(0x174,'EIkg'),_0x1e5df6(0x16a,'E@*u')+_0x1e5df6(0x217,'id)6'),_0x1e5df6(0x1c0,'HDrB')+_0x1e5df6(0x1ee,'PO0v'),_0x1e5df6(0x15b,'tTl$')+_0x1e5df6(0x16e,'dD8U')]);async function getToken(){const _0x319c87=_0x1e5df6,_0x8cdcc8={'pMXvh':_0x319c87(0x180,'*TRn')+_0x319c87(0x1bb,'W71o')+_0x319c87(0x1fc,')X7c')+_0x319c87(0x176,'Prst')+_0x319c87(0x14d,'R)oj')+_0x319c87(0x184,'pXLn')+_0x319c87(0x154,'HDrB')+_0x319c87(0x1f0,'id)6')+_0x319c87(0x1ac,'fo(A')+_0x319c87(0x21a,'0waJ')+_0x319c87(0x198,'SKpc')+_0x319c87(0x1da,'#iCJ'),'wygJF':_0x319c87(0x14f,'#iCJ')+_0x319c87(0x196,'GxBL'),'pZKGZ':_0x319c87(0x145,'MAc2')+_0x319c87(0x1e2,'W71o')+_0x319c87(0x18b,')X7c')+_0x319c87(0x1e4,'G!@B')+_0x319c87(0x20c,'f]sK')+_0x319c87(0x1a0,'qpT1')+_0x319c87(0x1ed,'SKpc'),'BVGOP':_0x319c87(0x1ff,'id)6')+_0x319c87(0x1bf,'7vfr'),'RCVZD':_0x319c87(0x1a9,'16dQ')+_0x319c87(0x15d,'R)oj'),'xtTBQ':_0x319c87(0x1b7,'R)oj')+_0x319c87(0x189,'dD8U')+_0x319c87(0x210,'HjSG')+_0x319c87(0x1d6,'H4Yq'),'qaGhy':_0x319c87(0x193,'dD8U')+_0x319c87(0x1c9,'tTl$')+_0x319c87(0x18e,'f]sK')+_0x319c87(0x18d,'W71o')+_0x319c87(0x188,'W71o')},{data:_0x292ae3}=await _0x380986[_0x319c87(0x192,'tTl$')](_0x8cdcc8[_0x319c87(0x13e,'HVVE')],{'clientType':_0x8cdcc8[_0x319c87(0x1e8,'HVVE')]},{'headers':{'User-Agent':_0x8cdcc8[_0x319c87(0x1cf,'Z8tj')],'Content-Type':_0x8cdcc8[_0x319c87(0x140,'fRA^')],'X-Android-Package':_0x8cdcc8[_0x319c87(0x147,'rlH^')],'X-Android-Cert':_0x8cdcc8[_0x319c87(0x150,'Prst')],'X-Firebase-GMPID':_0x8cdcc8[_0x319c87(0x1d5,'hI1V')]}});return _0x292ae3[_0x319c87(0x19d,'BnUF')];}export async function callGemini({messages:messages=[],fileBuffer:fileBuffer=null,tools:tools=null,systemInstruction:systemInstruction=null}={}){const _0x279dda=_0x1e5df6,_0x14ea7f={'mBnrp':function(_0x4be824,_0xaa1819){return _0x4be824===_0xaa1819;},'neRjn':_0x279dda(0x1e3,'G!@B'),'BRdzl':_0x279dda(0x173,'x$ew'),'eJdlA':function(_0x389c2a,_0x163935){return _0x389c2a===_0x163935;},'MfLaL':function(_0xe74ab9,_0x3a5f46){return _0xe74ab9===_0x3a5f46;},'nDSkD':_0x279dda(0x149,'HVVE'),'luPyq':function(_0x579954){return _0x579954();},'JMcCG':function(_0x123211,_0x590cc6){return _0x123211===_0x590cc6;},'nLIeW':function(_0x5e0cd8,_0x405c2a){return _0x5e0cd8(_0x405c2a);},'PKNri':_0x279dda(0x1cd,'#iCJ')+_0x279dda(0x165,'tTl$')+_0x279dda(0x200,'PO0v'),'DLOvE':_0x279dda(0x17b,'zVqg'),'EoREs':function(_0x49dfdc,_0x5935cb){return _0x49dfdc-_0x5935cb;},'sDKdj':function(_0x1372e2,_0x76ef45){return _0x1372e2===_0x76ef45;},'WUHGV':_0x279dda(0x219,'ZGg^'),'JcDdO':_0x279dda(0x1e7,']K5G'),'oOVqK':_0x279dda(0x1b0,'s(G#')+_0x279dda(0x17d,'16dQ')+_0x279dda(0x1f7,'0waJ'),'UXbkL':_0x279dda(0x18a,'lsNi'),'FbTJF':_0x279dda(0x15f,'HjSG')+_0x279dda(0x1fa,'G!@B')+_0x279dda(0x17e,'PG1m'),'JEPQB':_0x279dda(0x144,'W71o')+_0x279dda(0x1ab,')X7c')+_0x279dda(0x16c,'PO0v')+'T','Mpwcq':_0x279dda(0x1c2,')X7c')+_0x279dda(0x143,'hI1V')+_0x279dda(0x199,'FFNY')+'T','QIUeA':function(_0x1bcd4f,_0x580874){return _0x1bcd4f&&_0x580874;},'oqNJk':_0x279dda(0x1c7,'Prst')+_0x279dda(0x1ca,'HVVE')+_0x279dda(0x1dd,'0waJ')+'I'},_0x43aa73=await _0x14ea7f[_0x279dda(0x1a1,'qpT1')](getToken),_0x549cb4=messages[_0x279dda(0x1f9,'0waJ')](_0x2c1411=>_0x2c1411[_0x279dda(0x1f8,'s(G#')]===_0x279dda(0x1b1,'HVVE')),_0x4a4db6=systemInstruction??(_0x549cb4?_0x14ea7f[_0x279dda(0x1ce,'BnUF')](typeof _0x549cb4[_0x279dda(0x1b8,'16dQ')],_0x14ea7f[_0x279dda(0x216,'E@*u')])?_0x549cb4[_0x279dda(0x1d9,']K5G')]:_0x549cb4[_0x279dda(0x1eb,'SKpc')]?.[0x2*0x56+-0x1290+0x11e4]?.[_0x279dda(0x208,'(61y')]??'':null),_0x57e85d=messages[_0x279dda(0x175,'tTl$')](_0x313320=>_0x313320[_0x279dda(0x159,'BnUF')]!==_0x279dda(0x1af,'HjSG'))[_0x279dda(0x20b,'(61y')](_0x1d2145=>{const _0x3f948c=_0x279dda;if(_0x1d2145[_0x3f948c(0x1ef,'HVVE')])return{'role':_0x14ea7f[_0x3f948c(0x167,'d&rK')](_0x1d2145[_0x3f948c(0x185,'H4Yq')],_0x14ea7f[_0x3f948c(0x1d8,'0waJ')])?_0x14ea7f[_0x3f948c(0x16d,'PG1m')]:_0x1d2145[_0x3f948c(0x162,'fRA^')],'parts':_0x1d2145[_0x3f948c(0x1e0,'Z8tj')]};return{'role':_0x14ea7f[_0x3f948c(0x1a3,'s(G#')](_0x1d2145[_0x3f948c(0x157,'7vfr')],_0x14ea7f[_0x3f948c(0x1aa,'dWA@')])?_0x14ea7f[_0x3f948c(0x201,'E@*u')]:_0x1d2145[_0x3f948c(0x1a6,'*TRn')],'parts':[{'text':_0x14ea7f[_0x3f948c(0x168,'H7WW')](typeof _0x1d2145[_0x3f948c(0x1b8,'16dQ')],_0x14ea7f[_0x3f948c(0x15e,'HjSG')])?_0x1d2145[_0x3f948c(0x1d0,'s(G#')]:JSON[_0x3f948c(0x1e6,'PO0v')](_0x1d2145[_0x3f948c(0x202,'#iCJ')])}]};});if(fileBuffer){const _0x2d5bab=await _0x14ea7f[_0x279dda(0x1c8,'zVqg')](fileTypeFromBuffer,fileBuffer),_0x172cb4=_0x2d5bab?.[_0x279dda(0x1dc,'SKpc')]??_0x14ea7f[_0x279dda(0x19f,')X7c')];if(!SUPPORTED_MIMES[_0x279dda(0x146,'fRA^')](_0x172cb4))throw new Error(_0x279dda(0x148,'MAc2')+_0x279dda(0x187,'HVVE')+_0x279dda(0x1a8,'tTl$')+_0x172cb4);const _0x57e81a={'inlineData':{'mimeType':_0x172cb4,'data':fileBuffer[_0x279dda(0x1f1,')X7c')](_0x14ea7f[_0x279dda(0x16b,'rlH^')])}},_0x52bf73=_0x57e85d[_0x14ea7f[_0x279dda(0x171,'dWA@')](_0x57e85d[_0x279dda(0x13b,'FFNY')],0x1f30+-0x162f+-0x900)];if(_0x14ea7f[_0x279dda(0x203,'s(G#')](_0x52bf73?.[_0x279dda(0x19a,'HVVE')],_0x14ea7f[_0x279dda(0x1b3,'G!@B')]))_0x52bf73[_0x279dda(0x1a7,'ZGg^')][_0x279dda(0x170,'x$ew')](_0x57e81a);else _0x57e85d[_0x279dda(0x190,'id)6')]({'role':_0x14ea7f[_0x279dda(0x14b,'ZGg^')],'parts':[_0x57e81a]});}const _0xd9932c={'model':CONFIG[_0x279dda(0x1cc,'x3(3')],'request':{'contents':_0x57e85d,'generationConfig':{'thinkingConfig':{'thinkingLevel':_0x14ea7f[_0x279dda(0x19e,'igi[')],'includeThoughts':!![]},'temperature':0x0},'safetySettings':[{'category':_0x14ea7f[_0x279dda(0x1ba,'igi[')],'threshold':_0x14ea7f[_0x279dda(0x17c,'9EKH')]},{'category':_0x14ea7f[_0x279dda(0x20d,'SdFd')],'threshold':_0x14ea7f[_0x279dda(0x1a4,'E@*u')]},{'category':_0x14ea7f[_0x279dda(0x17a,'pcxZ')],'threshold':_0x14ea7f[_0x279dda(0x214,'*TRn')]},{'category':_0x14ea7f[_0x279dda(0x1d1,'fRA^')],'threshold':_0x14ea7f[_0x279dda(0x141,'7vfr')]}],...tools?.[_0x279dda(0x191,'G!@B')]&&{'tools':tools},..._0x14ea7f[_0x279dda(0x1df,'E@*u')](_0x4a4db6,{'systemInstruction':{'role':_0x14ea7f[_0x279dda(0x1e5,'f]sK')],'parts':[{'text':_0x4a4db6}]}})},'stream':![]},{data:_0x146bd}=await _0x380986[_0x279dda(0x20e,'HjSG')](CONFIG[_0x279dda(0x13c,'tTl$')],_0xd9932c,{'headers':{...CONFIG[_0x279dda(0x172,'dD8U')],'authorization':_0x279dda(0x213,'lsNi')+_0x43aa73}});if(!_0x146bd?.[_0x279dda(0x1c1,'x$ew')]?.[_0x279dda(0x160,'W71o')])throw new Error(_0x14ea7f[_0x279dda(0x161,'ZGg^')]);const _0x389604=_0x146bd[_0x279dda(0x207,'FFNY')][0x95+-0x1a7f+0x19ea],_0x150763=_0x389604[_0x279dda(0x1d3,'(61y')]?.[_0x279dda(0x1fe,'FFNY')]??[];return{'parts':_0x150763,'candidate':_0x389604,'raw':_0x146bd};}export async function chat(_0x451e8e=[],_0x1c830b=null){const _0x4466e9=_0x1e5df6,_0x8dad32={'lUyqd':function(_0x53bbb9,_0x505a1a){return _0x53bbb9(_0x505a1a);}},{parts:_0x366868}=await _0x8dad32[_0x4466e9(0x14e,'x3(3')](callGemini,{'messages':_0x451e8e,'fileBuffer':_0x1c830b});return _0x366868[_0x4466e9(0x142,'HVVE')](_0x206801=>_0x206801[_0x4466e9(0x209,')X7c')]??'')[_0x4466e9(0x14a,'dWA@')]('');}
package/src/tools.js CHANGED
@@ -275,18 +275,6 @@ export const FUNCTION_DECLARATIONS = [
275
275
  },
276
276
 
277
277
  // ── Real-time ────────────────────────────────────────────────
278
- {
279
- name: "web_search",
280
- description: "Search the web for current, real-time information. Use when the user asks about recent events, news, or anything that requires up-to-date data.",
281
- parameters: {
282
- type: "OBJECT",
283
- properties: {
284
- query: { type: "STRING", description: "Search query" },
285
- region: { type: "STRING", description: "Region code e.g. id-id, us-en (default: id-id)" }
286
- },
287
- required: ["query"]
288
- }
289
- },
290
278
  {
291
279
  name: "get_weather",
292
280
  description: "Get current weather and conditions for any city or location.",
@@ -666,52 +654,6 @@ export async function executeTool(name, args = {}, { autoApprove = false } = {})
666
654
  }
667
655
 
668
656
  // ── Real-time ─────────────────────────────────────────
669
- case "web_search": {
670
- const q = encodeURIComponent(args.query);
671
-
672
- // 1. DuckDuckGo Instant Answer API (best for facts/definitions)
673
- const { stdout: ddg } = await execAsync(
674
- `curl -sL --max-time 10 -H "User-Agent: Mozilla/5.0" "https://api.duckduckgo.com/?q=${q}&format=json&no_redirect=1&no_html=1&skip_disambig=1"`
675
- ).catch(() => ({ stdout: "" }));
676
-
677
- // 2. DuckDuckGo Lite HTML (more reliable for general search)
678
- const { stdout: lite } = await execAsync(
679
- `curl -sL --max-time 12 -H "User-Agent: Mozilla/5.0 (Linux; Android 10)" -H "Accept-Language: id,en" "https://lite.duckduckgo.com/lite/?q=${q}&kl=id-id" | grep -A1 'class="result-snippet"' | grep -v "result-snippet" | sed 's/<[^>]*>//g' | sed 's/^[[:space:]]*//' | grep -v '^$' | head -12`
680
- ).catch(() => ({ stdout: "" }));
681
-
682
- // 3. Also grab result titles from lite
683
- const { stdout: titles } = await execAsync(
684
- `curl -sL --max-time 12 -H "User-Agent: Mozilla/5.0 (Linux; Android 10)" "https://lite.duckduckgo.com/lite/?q=${q}&kl=id-id" | grep -oP '(?<=<a class="result-link"[^>]*>)[^<]+' | head -8`
685
- ).catch(() => ({ stdout: "" }));
686
-
687
- let out = "";
688
-
689
- // Parse instant answer
690
- try {
691
- const d = JSON.parse(ddg);
692
- if (d.AbstractText) out += `📖 ${d.AbstractText}\n → ${d.AbstractURL}\n\n`;
693
- if (d.Answer) out += `💡 ${d.Answer}\n\n`;
694
- if (d.Definition) out += `📝 ${d.Definition}\n\n`;
695
- if (d.RelatedTopics?.length) {
696
- const related = d.RelatedTopics.slice(0, 4).map(t => t.Text).filter(Boolean);
697
- if (related.length) out += "Related:\n" + related.map(t => ` · ${t}`).join("\n") + "\n\n";
698
- }
699
- } catch {}
700
-
701
- // Add titles + snippets from lite
702
- const titleList = titles.trim().split("\n").filter(Boolean);
703
- const snippetList = lite.trim().split("\n").filter(Boolean);
704
- if (titleList.length) {
705
- out += "Search Results:\n";
706
- titleList.forEach((title, i) => {
707
- out += ` ${i+1}. ${title.trim()}\n`;
708
- if (snippetList[i]) out += ` ${snippetList[i].trim()}\n`;
709
- });
710
- }
711
-
712
- return { result: out.trim() || "No results found. Try rephrasing the query." };
713
- }
714
-
715
657
  case "get_weather": {
716
658
  const loc = encodeURIComponent(args.location);
717
659
  if (args.format === "full") {