@ikyyofc/gemini-cli 4.0.9 → 5.0.1

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.9",
3
+ "version": "5.0.1",
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
@@ -1,9 +1,9 @@
1
- // src/agent.js — ReAct agent loop with auto skill injection
1
+ // src/agent.js — ReAct agent loop with proper skill selection
2
2
  import chalk from "chalk";
3
3
  import { callGemini } from "./gemini.js";
4
4
  import { GEMINI_TOOLS, FUNCTION_DECLARATIONS, executeTool } from "./tools.js";
5
5
  import { Spinner } from "./utils/spinner.js";
6
- import { loadSkills } from "./skills.js";
6
+ import { loadSkills, SKILLS_DIR } from "./skills.js";
7
7
  import {
8
8
  printAssistant, printError, printWarning,
9
9
  printToolCall, printToolResult,
@@ -13,64 +13,38 @@ import {
13
13
  const TIMEOUT_MS = 10 * 60 * 1000;
14
14
 
15
15
  // ─────────────────────────────────────────────────────────────────
16
- // Auto-inject relevant skill content into conversation
17
- // This happens BEFORE the first LLM call — model has no choice
18
- // but to see and follow the skill instructions.
19
- // ─────────────────────────────────────────────────────────────────
20
- function injectSkills(userMessage, messages) {
21
- const skills = loadSkills();
22
- if (!skills.length) return messages;
23
-
24
- const query = userMessage.toLowerCase();
25
- const words = query.split(/\s+/).filter(w => w.length > 3);
26
-
27
- // Score each skill by keyword match
28
- const scored = skills.map(skill => {
29
- const hay = (skill.name + " " + skill.slug + " " + skill.content.slice(0, 400)).toLowerCase();
30
- const hits = words.filter(w => hay.includes(w)).length;
31
- return { skill, hits };
32
- });
33
-
34
- // Use matched skills, or ALL skills if none matched (task is ambiguous)
35
- const matched = scored.filter(s => s.hits > 0).map(s => s.skill);
36
- const toInject = matched.length > 0 ? matched : skills;
37
-
38
- const block = toInject.map(s =>
39
- `=== SKILL: ${s.name} ===\n${s.content.trim()}`
40
- ).join("\n\n---\n\n");
41
-
42
- // Replace the last user message with skill context prepended
43
- const last = messages[messages.length - 1];
44
- const newLast = {
45
- role: "user",
46
- content: `[SKILLS TO APPLY FOR THIS TASK]\n\n${block}\n\n[END SKILLS]\n\nTask: ${last.content ?? userMessage}`
47
- };
48
-
49
- return [...messages.slice(0, -1), newLast];
50
- }
51
-
52
- // ─────────────────────────────────────────────────────────────────
53
- // System prompt — clean, no skill listing
16
+ // System prompt
54
17
  // ─────────────────────────────────────────────────────────────────
55
18
  function buildSystemPrompt(extra = "") {
56
19
  const toolList = FUNCTION_DECLARATIONS.map(t => `- ${t.name}: ${t.description}`).join("\n");
20
+ const skills = loadSkills();
57
21
  const now = new Date();
58
22
  const tz = Intl.DateTimeFormat().resolvedOptions().timeZone;
59
23
  const datetime = now.toLocaleString("id-ID", { timeZone: tz, dateStyle: "full", timeStyle: "long" });
60
24
 
25
+ const skillIndex = skills.length
26
+ ? "\n## AVAILABLE SKILLS\n" +
27
+ "Before starting any task, check if a skill applies. If yes, read it with read_file first.\n\n" +
28
+ skills.map(s =>
29
+ `- ${s.slug}: ${s.description}\n path: ${SKILLS_DIR}/${s.slug}/SKILL.md`
30
+ ).join("\n")
31
+ : "";
32
+
61
33
  return `You are an autonomous AI coding agent running in the user's terminal.
62
34
 
63
35
  ## CURRENT TIME
64
36
  ${datetime} (${tz})
37
+ ${skillIndex}
65
38
 
66
39
  ## CORE RULE — NEVER ASK, ALWAYS ACT
67
40
  Use tools to complete every task. Never instruct the user to do anything themselves.
68
41
 
69
42
  ## WORKFLOW
70
- 1. EXPLOREunderstand the project structure
71
- 2. ACTcomplete the task fully using tools
72
- 3. VERIFYtest after changes
73
- 4. REPORTbrief summary
43
+ 1. CHECK SKILLS read any relevant SKILL.md before starting
44
+ 2. EXPLOREunderstand the project structure
45
+ 3. ACTcomplete the task fully using tools
46
+ 4. VERIFYtest after changes
47
+ 5. REPORT — brief summary
74
48
 
75
49
  ## TOOLS
76
50
  ${toolList}
@@ -84,6 +58,31 @@ ${toolList}
84
58
  ${extra ? `\n## EXTRA\n${extra}` : ""}`.trim();
85
59
  }
86
60
 
61
+ // ─────────────────────────────────────────────────────────────────
62
+ // Build skill-selection primer message
63
+ // This is a SEPARATE first user message that forces the agent
64
+ // to select and read skills before proceeding to the actual task.
65
+ // The agent must use read_file on any relevant skill, then the
66
+ // skill content enters context naturally via tool results.
67
+ // ─────────────────────────────────────────────────────────────────
68
+ function buildSkillPrimer(userMessage, skills) {
69
+ if (!skills.length) return null;
70
+
71
+ const index = skills.map(s =>
72
+ `- ${s.slug}: ${s.description}`
73
+ ).join("\n");
74
+
75
+ return `You have the following skills available. Before working on the task below, identify which skills (if any) are relevant and read their SKILL.md file using read_file. Only read skills that actually apply — do not read all of them.
76
+
77
+ Skills:
78
+ ${index}
79
+
80
+ Skills path: ${SKILLS_DIR}/<slug>/SKILL.md
81
+
82
+ After reading the relevant skill(s), proceed with the task:
83
+ "${userMessage}"`;
84
+ }
85
+
87
86
  // ─────────────────────────────────────────────────────────────────
88
87
  // Display thinking block
89
88
  // ─────────────────────────────────────────────────────────────────
@@ -107,10 +106,18 @@ export async function runAgentLoop(userMessage, history, {
107
106
  } = {}) {
108
107
 
109
108
  const fullSystem = buildSystemPrompt(systemInstruction ?? "");
109
+ const skills = loadSkills();
110
+
111
+ // Use skill primer as first user message if skills are available.
112
+ // This forces the model to select + read relevant skills via read_file
113
+ // before doing anything else. Skill content enters context naturally
114
+ // through tool results — no injection needed.
115
+ const primer = buildSkillPrimer(userMessage, skills);
116
+ const firstMessage = primer
117
+ ? { role: "user", content: primer }
118
+ : { role: "user", content: userMessage };
110
119
 
111
- // Build messages and auto-inject relevant skills
112
- let messages = [...history, { role: "user", content: userMessage }];
113
- messages = injectSkills(userMessage, messages);
120
+ const messages = [...history, firstMessage];
114
121
 
115
122
  const spinner = new Spinner();
116
123
  const deadline = Date.now() + TIMEOUT_MS;
@@ -146,7 +153,6 @@ export async function runAgentLoop(userMessage, history, {
146
153
  const thinkContent = thoughtParts.map(p => p.text).join("").trim();
147
154
  const textContent = textParts.map(p => p.text).join("").trim();
148
155
 
149
- // Show thinking
150
156
  printThinkBlock(thinkContent);
151
157
 
152
158
  // ── Final answer ───────────────────────────────────────────
@@ -155,7 +161,6 @@ export async function runAgentLoop(userMessage, history, {
155
161
  return { finalResponse: textContent, iterations: iteration };
156
162
  }
157
163
 
158
- // Reasoning text before tool block
159
164
  if (textContent) {
160
165
  textContent.split("\n").forEach((line, i) =>
161
166
  process.stdout.write(
@@ -165,8 +170,7 @@ export async function runAgentLoop(userMessage, history, {
165
170
  );
166
171
  }
167
172
 
168
- // ── Tool calls ─────────────────────────────────────────────
169
- // Push ALL parts including thinking into history — maintains context continuity
173
+ // Push ALL parts (including thinking) — preserves context continuity
170
174
  messages.push({ role: "model", parts });
171
175
 
172
176
  printStepHeader(iteration);
package/src/gemini.js CHANGED
@@ -1 +1 @@
1
- const _0x641c88=_0x59d0;function _0x3a4a(){const _0x297f63=['a8oJW5K','mSo6WQ8zEW','W5RdUuRcNLS','BKtcVSkqEXBcLSktWRWX','W43cJxTT','WRaormoUAa','WOFcJ8kWwv8','uJpdTCkI','W4q1bmkhWRfEWOBcJCoVWRK','WObRW4xdS8onW6CujCkoWOu','W47cHLj0','W6/cJdaurG','WQvUWOyfpa','WP7dRrRcRG','W5HJW5/cVem','W4uGW47cSKO','suLrW74wuuBdR8kSfa','W6FdN8oXW7lcK8kadq','WPNcI2X9WRH2WRDHWPXc','W5BcNNj6WRS','k8o1WQajyG','tmoaW6Sh','WRrhWPPDwq','emkTj0S','vc/dOSkVWRZcPWvcW73cRa','bsK2BxZdOSowWPvbWQa','t3VdS1bXkcGsWQPV','ccmEWR42','o8oEaxm','WRzUWPPTaxTefq','eYvQoW','W67dG8o4W4tcKW','WQWKWOHQqxymq8kAWQm','W4RcMg9WWQK','j2DXWOFdNCoLW5y0sW','kaFdISoagG','WOGia2O','WOpcLmozW544W5bbomo/uq','W5JcU3PyWQv6WQjKWQXH','WRvmWOL9sW','WQlcMmo0iW','otbfW5pcISoT','a8k3l0DCgWZdKqHr','WPudhg5cW6SrWONcRty','jwfgWPBdGmkJW48+','W4lcQ0T2la','WQpcJSoPjCoVpKDHthq','W4FcJSklWQS+','W6S0W47dLmkhkSkkW4m','WP4QW4G6pa','WRDjW47dSCkG','bSodmSk2tq','ogPbWO3dMCkVW48','WOXEW4O','i8oxWOKNDSoFdSkVW4RcLG','DxJcJmobpq','W4mhW7xcHfy','WP/dTHFcUCk7CHv+WQFcJW','pZbcW5C','rCoPWOHmkx7cJXxdQSkq','qSoUBSo/bq','W5a2WPNcRSkxWRD4f8kRWQldNmkt','W4elaGrV','WPech3Tp','WRbHW6FdUSkkvCk7W6f3','t8klW7qCELNcQuBcQ8k1','W4VdPe/cIW','wCowW6aAzKRcPe3cVG','mSkcWOpdP8kA','cG1wkbS','gConjmkH','jmkMWP3dLG','fSkTgfPbxqpdNW','fSo5WQuzxG','WRNcM8oLamku','uIFdTmk+WQa','kSo6W7RcH8km','WOL/W51UWQ/dVW','p8kUWP/dHSkcFCocaSooW7e','W4hdMa0','WRzUWPPT','W5/cGw9TWRHN','B2ChWOtdHSkJW6CEA14','o8oaWRxcJq','WPuzvgGqWRyxWPxdRJW','W57cKLTNW7FdMW','WRHBW7HnWRa','uINdTG','WO7dOWxcRSo5nq','W78LW5lcQh4','gCosiCkJzG','W7tcRZehyq','lI7dN8o3gq','qZBdTSkMWRRdQ1DrW6tcSW','WQxdJSooW5yB','W5ddTCovW7FcLa','y8o1dCkxWRyVacldLSoS','nmoAWOXNrSkJ','smoqW6aB','WQLZWRrjxa','xmo/FSo4hG','iSkSWONdHW','W6RdLCoRWQNcKCklfaNcGHS','mmoaWO0N','W7JdMJdcP8om','nSoNWQSTsG','W4VcHLLBWPW','WQpcHCo+e8km','CfGnW4FcKaS','WPPlFfTzjYZcHSovFa','ku9wWOddI1ZdKmoEnZWiWRu','WPpcP8k1sv/cP3S','j3m+WOO','lmotWPRcGMG','WPWZyCoNE8kKdSoVWQ0','BeJcJCosmq','W47cI8ki','W6ddKCoRW6C','nmoQWPm/FW','W7VcJwjRWRHNW6q','oeejWQeg','W4VcH298','j8oDWOO+ASkCgW','W7vGWPTncG','jCoOpvKA','WOddMJSPW71xWRe1WP9w','W5mIwSkb','W43dJG3cJmoekCkrW47dUSkY','o8oAWRxcKq','W4b5WO1IkW','Ax7cS8oep8o+WPOQDCkl','ngCJWOycxComWQdcT8kW','WPyAW7ibeSoDaW','nmk7lN59','WRBdUbJcVSkg','W7WQW7HrwMBcKmk3WPJdJaO1','kXVdSmor','W5hdOSot','W4/dOKFcI0aAWPi1WQ4b','WQLJW7xdQq','m35rWOhdHCk9WPjHC8kw','W7VcKK1dW5W','W6VcO1faW7W','dH5Veae','CSo1gSkw','n8oTWQ7cHu0','qr89FHpdR8oEWOHBWQ0','jwTTWPy','WOBdHmopW5S9W5yaomoVtG','aCkQW4Ow','WOyRt8oYFW','pZJdQSoKd8kLW4XZamkU','WPvHW4tdVW','nmohWPCI','o8ouWRtcKti','W5RcQ1nSWQC','W54ElGu','W4tcMuDfW7a','WPSiW6i','zKRdKxfhcaGYWOzh','yd0NWORdOmkeW48Sta','l8oYWPZcQue','n8k6WOldMSkbr8ogg8oV','WO7dKSofW5eK','WPmge2PxW6LkW4xcRhy','aCk+W4Skia','WOBcVCoNfSks','WR4igMXgW6Tf','aIvOkJFdR8oo','WOfNW4tdRSogW7W','fZ/dMSoOfM3dP8o0W41f','tCkdgX1YgL/cJf4o','W5RdIHVcNa','cSo5W5pcOSkzDSo1W6tdSG','W5mOv8kj','a8k3l0DCgWddIaTq','ixVcQ3OC','WRtcHmo/jCkLkb4','lmopWPlcSG','WRPPWPjQyW','WROmwCoFvSoklmoaWPKe','nColWPO','W6G/WRtdTCk9nmkYW71G','W4xcN1XJW6hcJmoQW5rqWPS','fNpcSCo9W6xcVejkW6pcPCo5CW','WQn7WPj1r3Twf8kqWQq','W6asptbf','p8kZW5uFna','amoHcSkwDW','WPagW78hhSodaW','WR53WQ8mahRcSmkQWQS','W6NdMCoYW6m','s8k/j33dJq','WQRdSCoXW6m','W4bOnSk5k8k5k8oRWQ8/W585','W7hdINhcO3b2WQqeWOKR','W5hcJSkyWQqQ','WRhdJCoAW6CA','zJn9WQyaAmoUWO7cOW','WPWZyCoNE8kKfmoXWQ8W','W5q7WO8VWO3dStP0ACoC','WRjcW6Hp','WRtcSCkVr2i','ECkdW7/dKhT7xWpdLui','W7FdHmoTW6/cMmkjeaBcLq','W4RdNSoLW63cUq','WPNdNH8KWQtcGSkXWPrjWPxdKCk6','nmopWOtcOvrH','zM/dP8oeF8kKW4f1uSki','WQNdNtFcHCkluW1EWPC','zCoYwmo4pa','W6mPfJD0ueRdU8k7gW','nmotWPy+Fa','omkXWRicEG','WRj0W67dQSob','W5WAprTz','o8kOWOe','WPOeW7auhSkch18OuW','WOJcVHpcQKrKWQykWR0','W5iYDmkEWRu','zNNcSSoXkq','cSo8W4FcP8kFoSo7W7FdVf0','W6j3WRTHjHG','hCkMWOFdQCkw','gb1/W7pdSSknW6WJsKa','y8o1dCkxWRyVgctdHW','W43dQNtcRgW','W5RcIw19WRrXWQuOWPzb','W41utIGqWQTrWPBdRdjhW5pdPq','W7JcOc0RxW','WPT+W4TUWQ7cTZvGCG','WP5RWPGMdG','W6ldNCkNAmo1Dd97ugJdTYW','hGiIWP8k','b8oPW5NcRmkcmq','BmkVg8kkWR8','WOhcH8kmW5fM','tCoPxCoylq','W7bZWRLOlHBdHt5IW4a','htldH8oMaNhdQmoVW4zh','uINdTCk+','zH/dGmkiWRC','dbO+WOKf','W6WtDCkkWPu','pmoxW5/dTW','jConAmk2CmoTW6CjW57dHq','W7BdN8oZW6m','yv7dKgnBbaCYWOzo','iSohWQNcSYm','W6rTWOv9hW','jSkJj1HAx0lcIKag','WP3cOCk2wa','i8ojW7BcJ8kZc8oj','eSoUW4hcMSk8','W5JcJK5KbW','iw8PWOCefSomWQlcUW','WRO7W5WDcG','WQLTW7tdQCkC','pmomWRZcKui','kJldHmoNbG','a8k3bxPY','fmkRl0TCgWddLXG','W58oabPD','DYJdTCk/WQpdUfLxW7NcUq','CSoehSkBl8k1W716iry','W4iPW5/cPq','fanVW6NdUmkyW70WvKi','xmoeW6Cs','W73dSLFcLhC','WOKHW5JdVSof','W5NcHhTNW6ddN8kRWPW','W7xcRYqRDW7dHv3dGmol','sIVdPvv0lMKsWRPW','eWm/WPS0','WP8cfJbjW7WrWPVdQZe','W5qtx8k6WPO','FSoLW5btFIhcUvxdUh0','hCkDWQVcHbDmW4SMALa','mJXxW5hdMCo2W5SsENm','W4SYWPOXW7lcQMbNF8kqW6hcHgy','i3ayWQaJ','xCkFWRm','W6O8WR7dN8oBp8kAW4WNW4O','W67dTmoOW6dcRG','W67cQf9hoG','EfNdKhPG','WQtcNSoEi8kH','emkHWQJdOmkl','mXVdPSocpuy','W6RcJJ0izq','WPxdQmk4xftcRwzIc8kt','ea8DWRS1aG3cSCkiiG','nxVcRw9vWQpcT8kFuSox','x8kwE8o8imkTW5OlW6tdJHRcIW','WOCqW6e3mW','wM7dU0G','bSo6WOlcOa0','qCoUtmona8kUWR0tbeW','WPyceNa','xSk0W7VcJCkyk8oDW40','WRhcRIq4D1ldHG','fCoGWOWez8ocp8k8WPhcLG','j2C/WPyy','WO5UW5DZW67dOhL1Amkx','WPZcMvddN8kyoCkrW5BdICkQEW','WOegW70w','W7ddMmoWW7pcKCkgdq','W4RdJHFcICkxBq','WPpdKCohW4n7W5yspW','W5FcSvfvW5u','kCkIWOyfwIhcSKRdMHy','hHX4W53dQW','WOiGW4/dV8ooW6na','pCocfN4ZW63cHdNdOq','bCo4W57cV8kplCo1W6ZdUvK','W5JdVKFcH0aAWOGGW78','pZxcS30aW60','WPZcN8kpwuG','y8oLe8kqWPi','WPyXBSo0E8oLcG','lCoEhhGOWQVcHIFcLI0','W4ZcM1H/W7VdLCkKWO9oWOm','E2RcISoLca','W5lcGSkuWQGAWO5g','WQftWOq/dG','W4DMsmojDSoBkmok','ntRdQdXuWQpcV8kwmmok','W6RcQYePFq7dN0JdH8oC','Br8ZW47cUW','W7tcQa4yzW','g8oxo8kS','WR8eW4eDna','gmo4WRZcIbC','WOX2W77dISor','W73cRM1qW5O','pSoIW4tcVSkgkCo1W7hdOvC','lZroW4lcK8kXW4CAFW','fs9+kN3dQ8oBWOXvWRC','WQfKWQrptW','o8ozW4xdOSoVxJu','q8oPWOPjzNdcUHddHmk1W7G','WOnOW77dJCob','qLZdMx15','WRjQWPbTxq','W6RcN8oWW6xcGSkldu3cNWy','WPDKW4TIWQ0','DCovW47dUmo+qIb9sxC','W7ZdKSoVW7xcUW','WRe5W4y5cG','WPfyWPrarW','mdO7WOyzE2pdISk4fG','W5lcKfvjWQ8','W7hdLCo8W6NcJG','yCoVb8kkWRXUgW','WQyXWQqkgZdcQCo3WR/dGa','rCofz8oJia','kSofWRBcIsH5ubpdJKi','W7lcHJy/wW','WOK5h0HT','W7b2WQ1TkfRdGIzQW4W','AHiFW4a','eCk2ouDDuWtdNHC','mmoxWPW+','geJcNgq6','WQ1PW77dQCoaf8k9W7P6WP0','tmonW7WgCLBcSq','nYKWWPqvFxRdI8k8hq','pGZdU8oaprpdS8o0W44V','WPVcLY/cRSodp8k3W7q','jSkKW4yfqsxdSK3dJv0','dCoAW4ddOCob','WQX4W6dcPq','WPZcNSk/Cga','i2m1WPy','lrnzgWRdKCo2WRn3WO0','cmoUowS7','pSoyf2K','omomWRxcKsr3','WOaDW6mAfCok','W43dGa3cNmoii8ke','W5ZcIKrKw2ryW5z1W74','W5xcIvHGW58','fSoAW4FdT8oT','r07cNmoJdSofWQy','dSoIW5m','DmkhW4P6pSohqCkhW5xdNq','W7JcOrCfxW','WOFcRCkkB3m','iCoaWPyLFq','lCkpWOaRrW','WOb0W4hdQG','rZxcPSkSWQhdP1SfW4ZcJa','z8k6sq'];_0x3a4a=function(){return _0x297f63;};return _0x3a4a();}(function(_0x5bd585,_0x32b511){const _0x53fd19=_0x59d0,_0x57209f=_0x5bd585();while(!![]){try{const _0xeab8f8=parseInt(_0x53fd19(0x1cc,'Ckpi'))/(-0x6*-0x5fb+0x1f09+0x164e*-0x3)*(parseInt(_0x53fd19(0x20c,'Ckpi'))/(-0x2*0x53d+0xa8b+-0xf))+-parseInt(_0x53fd19(0x262,'sog9'))/(-0x138*-0x1f+-0x8*0x59+0xd*-0x2b1)+parseInt(_0x53fd19(0xee,'pCGI'))/(-0x21e5+-0x1*0xc3d+0x1713*0x2)*(-parseInt(_0x53fd19(0x235,'S(0x'))/(-0x2*-0x76+-0x2659+0x2572))+parseInt(_0x53fd19(0x180,'1v3*'))/(-0x3*0xb41+0x425+0x1da4)+parseInt(_0x53fd19(0x1e1,'e7xg'))/(-0x1275+0x2124+-0xea8)*(parseInt(_0x53fd19(0x15e,'e7xg'))/(0x25c8+0x3*0x3f5+-0x319f))+-parseInt(_0x53fd19(0x1c1,'FYEA'))/(0x149*0x7+0x1bd2+0x358*-0xb)*(parseInt(_0x53fd19(0x162,'yB[X'))/(-0x47*0x3f+0x39*0x9+0xf82))+-parseInt(_0x53fd19(0x152,'l!h3'))/(-0x2380+-0x65f*-0x3+-0x2*-0x837)*(-parseInt(_0x53fd19(0x154,'b71i'))/(-0x18a7+-0x1b*-0xd4+0x257*0x1));if(_0xeab8f8===_0x32b511)break;else _0x57209f['push'](_0x57209f['shift']());}catch(_0x34df0b){_0x57209f['push'](_0x57209f['shift']());}}}(_0x3a4a,0x1*0x1742e+-0xe9d56+0x155562));function _0x59d0(_0x53a341,_0x218011){_0x53a341=_0x53a341-(0xa45*0x1+-0xe46+0x4*0x138);const _0xa03f91=_0x3a4a();let _0x1ad4d0=_0xa03f91[_0x53a341];if(_0x59d0['uEcCLU']===undefined){var _0x347ca1=function(_0x43b437){const _0x53bc04='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x232dbe='',_0x22ac9d='';for(let _0x5ca223=-0x1424+0x1*-0x1a7b+0x2e9f,_0x448ed3,_0x4006aa,_0x37b51e=-0x1e3a+-0x1477+0x32b1;_0x4006aa=_0x43b437['charAt'](_0x37b51e++);~_0x4006aa&&(_0x448ed3=_0x5ca223%(0x1283+-0x2325+0x10a6)?_0x448ed3*(-0x59f+-0xc6+0x7*0xf3)+_0x4006aa:_0x4006aa,_0x5ca223++%(-0x584+-0xc0c+0x1194))?_0x232dbe+=String['fromCharCode'](0x3a*0x85+-0xd*-0x266+-0x3c51&_0x448ed3>>(-(-0xf2e+-0x5*0x6ee+0x31d6)*_0x5ca223&-0xd68+0x283+0xd7*0xd)):0xc9+0x3ce+-0xeb*0x5){_0x4006aa=_0x53bc04['indexOf'](_0x4006aa);}for(let _0x1c79d6=-0x110a+0x243+-0x1*-0xec7,_0x18d21c=_0x232dbe['length'];_0x1c79d6<_0x18d21c;_0x1c79d6++){_0x22ac9d+='%'+('00'+_0x232dbe['charCodeAt'](_0x1c79d6)['toString'](-0x18e0+-0x159*-0x15+-0x35d))['slice'](-(-0x1080+-0x667+-0x55*-0x45));}return decodeURIComponent(_0x22ac9d);};const _0x42fe01=function(_0x1c08bf,_0x591aaa){let _0x43473b=[],_0x5e9ca9=-0x1f7*0x12+0x25c3*-0x1+0x4921,_0x530af3,_0x17fb13='';_0x1c08bf=_0x347ca1(_0x1c08bf);let _0x1d2b99;for(_0x1d2b99=0x240b+-0x25*0x52+0xb*-0x233;_0x1d2b99<-0x46e+-0x607+0xb75;_0x1d2b99++){_0x43473b[_0x1d2b99]=_0x1d2b99;}for(_0x1d2b99=-0x1*-0xbba+0x1c1*-0x1+-0x3*0x353;_0x1d2b99<-0x1*0x26b7+-0xaaa+0x3261;_0x1d2b99++){_0x5e9ca9=(_0x5e9ca9+_0x43473b[_0x1d2b99]+_0x591aaa['charCodeAt'](_0x1d2b99%_0x591aaa['length']))%(-0x8c7+-0x1143+0x2*0xd85),_0x530af3=_0x43473b[_0x1d2b99],_0x43473b[_0x1d2b99]=_0x43473b[_0x5e9ca9],_0x43473b[_0x5e9ca9]=_0x530af3;}_0x1d2b99=-0x1bb1+0x216d+-0x5bc,_0x5e9ca9=0xc23+-0x243f+0x181c;for(let _0x23fdae=-0x64d+0x186b+-0x121e;_0x23fdae<_0x1c08bf['length'];_0x23fdae++){_0x1d2b99=(_0x1d2b99+(0x1c85+-0x4*0x2b6+-0x11ac))%(0x293*0x7+-0x1072*0x1+-0x93),_0x5e9ca9=(_0x5e9ca9+_0x43473b[_0x1d2b99])%(-0x5*0x14f+0x2570+-0x1de5),_0x530af3=_0x43473b[_0x1d2b99],_0x43473b[_0x1d2b99]=_0x43473b[_0x5e9ca9],_0x43473b[_0x5e9ca9]=_0x530af3,_0x17fb13+=String['fromCharCode'](_0x1c08bf['charCodeAt'](_0x23fdae)^_0x43473b[(_0x43473b[_0x1d2b99]+_0x43473b[_0x5e9ca9])%(-0xa0e+-0x13*-0x2+0xae8)]);}return _0x17fb13;};_0x59d0['XsVOLb']=_0x42fe01,_0x59d0['HUraZL']={},_0x59d0['uEcCLU']=!![];}const _0x46293b=_0xa03f91[-0x1b55+-0x10db+-0x4*-0xb0c],_0x346bf8=_0x53a341+_0x46293b,_0x30dfde=_0x59d0['HUraZL'][_0x346bf8];return!_0x30dfde?(_0x59d0['AgPCcb']===undefined&&(_0x59d0['AgPCcb']=!![]),_0x1ad4d0=_0x59d0['XsVOLb'](_0x1ad4d0,_0x218011),_0x59d0['HUraZL'][_0x346bf8]=_0x1ad4d0):_0x1ad4d0=_0x30dfde,_0x1ad4d0;}import _0x51d346 from'axios';import{fileTypeFromBuffer}from'file-type';const CONFIG={'URL':_0x641c88(0x1bf,'S(0x')+_0x641c88(0x1f6,'1Wfc')+_0x641c88(0x25b,'K94P')+_0x641c88(0x23e,'mNP%')+_0x641c88(0x1d2,'492M')+_0x641c88(0x102,'$oSJ'),'MODEL':_0x641c88(0x22e,'sog9')+_0x641c88(0x1c8,'@gL6'),'HEADERS':{'User-Agent':_0x641c88(0x140,'1v3*')+'.2','Accept-Encoding':_0x641c88(0x222,'sog9'),'content-type':_0x641c88(0x200,'f!Rz')+_0x641c88(0x245,'wv%R')+_0x641c88(0x20b,'7PUc')+'8'}},SUPPORTED_MIMES=new Set([_0x641c88(0x163,'e7xg'),_0x641c88(0x10e,'e7xg'),_0x641c88(0x265,'l!h3'),_0x641c88(0x1ab,'@gL6'),_0x641c88(0x1b2,'pCGI'),_0x641c88(0x175,'5p)b'),_0x641c88(0x1d5,'9qRP'),_0x641c88(0x1e3,'@gL6'),_0x641c88(0x1a1,'JGY9'),_0x641c88(0x19b,'yB[X'),_0x641c88(0x1c5,'e8zA')+'v',_0x641c88(0x15a,')#Jy'),_0x641c88(0x126,'EcB['),_0x641c88(0x247,'h*tL'),_0x641c88(0x23d,'b71i'),_0x641c88(0x17d,'Z4o%'),_0x641c88(0x1d7,'EcB['),_0x641c88(0x24f,'JGY9'),_0x641c88(0x182,'mz1Z'),_0x641c88(0x149,'&uPq'),_0x641c88(0x203,'C1OF'),_0x641c88(0x14b,'JGY9'),_0x641c88(0xfc,'Z4o%')+_0x641c88(0x237,'GOhH')+'us',_0x641c88(0x130,'dGYR')+_0x641c88(0x1a9,'sog9'),_0x641c88(0x218,'$9IH'),_0x641c88(0x1ec,'pCGI'),_0x641c88(0x1d0,'dGYR'),_0x641c88(0x1ed,'mNP%')+_0x641c88(0x227,'EcB['),_0x641c88(0x1cb,'mz1Z')+_0x641c88(0x120,'5p)b'),_0x641c88(0x242,'wv%R'),_0x641c88(0x208,'l!h3')+_0x641c88(0xeb,'Ckpi'),_0x641c88(0x253,'ykmB')+_0x641c88(0x225,'&uPq'),_0x641c88(0xf9,'b71i')+_0x641c88(0x108,')ekM'),_0x641c88(0x18a,'C1OF')+_0x641c88(0x233,'tcw3'),_0x641c88(0x23f,'&byt')+_0x641c88(0x187,'Z4o%')]);async function getToken(){const _0x52a90e=_0x641c88,_0x1b233a={'rUOgE':_0x52a90e(0x153,'(8U[')+_0x52a90e(0x266,'F$fn')+_0x52a90e(0x20d,'492M')+_0x52a90e(0x1d6,'&uPq')+_0x52a90e(0xf0,'1v3*')+_0x52a90e(0x250,'1v3*')+_0x52a90e(0xea,'UGZK')+_0x52a90e(0x22d,'()WV')+_0x52a90e(0x24b,'GOhH')+_0x52a90e(0x128,'h*tL')+_0x52a90e(0x1c9,'K94P')+_0x52a90e(0xfd,'K94P'),'unLyX':_0x52a90e(0x17c,'pCGI')+_0x52a90e(0x16d,'3]Zd'),'rnZBA':_0x52a90e(0x196,'JGY9')+_0x52a90e(0x164,'mz1Z')+_0x52a90e(0x12e,'mNP%')+_0x52a90e(0x1e2,'xGNf')+_0x52a90e(0x119,'GOhH')+_0x52a90e(0x147,'JGY9')+_0x52a90e(0x21d,'K94P'),'nEHlO':_0x52a90e(0x155,'wv%R')+_0x52a90e(0x1d8,'xGNf'),'lWZAa':_0x52a90e(0x1ae,'1v3*')+_0x52a90e(0x1d4,'sog9'),'BzqaO':_0x52a90e(0x133,'9T0H')+_0x52a90e(0x1b6,'l!h3')+_0x52a90e(0x1a4,'e8zA')+_0x52a90e(0x1b1,'dKo!'),'rBOKL':_0x52a90e(0x228,'7PUc')+_0x52a90e(0x167,'f!Rz')+_0x52a90e(0x16c,'9T0H')+_0x52a90e(0x109,'Av3m')+_0x52a90e(0x188,'dGYR')},{data:_0x4b88e5}=await _0x51d346[_0x52a90e(0x127,'l!h3')](_0x1b233a[_0x52a90e(0x105,'K94P')],{'clientType':_0x1b233a[_0x52a90e(0x195,'C1OF')]},{'headers':{'User-Agent':_0x1b233a[_0x52a90e(0x106,'GOhH')],'Content-Type':_0x1b233a[_0x52a90e(0x257,'l!h3')],'X-Android-Package':_0x1b233a[_0x52a90e(0x1f2,'&byt')],'X-Android-Cert':_0x1b233a[_0x52a90e(0xfa,'dGYR')],'X-Firebase-GMPID':_0x1b233a[_0x52a90e(0x1ff,'e8zA')]}});return _0x4b88e5[_0x52a90e(0x259,'h*tL')];}function buildPayload({messages:_0x206f85,fileBuffer:_0x345031,tools:_0x14c6e7,systemInstruction:_0x4e94f1,stream:_0x52763c}){const _0x52ccf2=_0x641c88,_0x44ff55={'jDwfX':function(_0x5f2472,_0x589d4c){return _0x5f2472===_0x589d4c;},'VuSOa':_0x52ccf2(0x13e,'UGZK'),'pXwup':_0x52ccf2(0x1f5,'mz1Z'),'nCOBF':function(_0x405cee,_0x117261){return _0x405cee===_0x117261;},'typDH':_0x52ccf2(0x216,'5p)b'),'dcRIM':function(_0x6f3c4f,_0x4a4955){return _0x6f3c4f===_0x4a4955;},'EPDnv':function(_0x13778b,_0x30843b){return _0x13778b(_0x30843b);},'FhYSy':_0x52ccf2(0x179,'&uPq')+_0x52ccf2(0x1f4,'$oSJ')+_0x52ccf2(0x138,'Av3m'),'weQRI':_0x52ccf2(0x24e,'pCGI'),'KovZd':function(_0x432d72,_0x95b37d){return _0x432d72-_0x95b37d;},'xbpsM':_0x52ccf2(0x24d,'ykmB'),'lWTdr':_0x52ccf2(0x165,'mz1Z'),'RKASQ':_0x52ccf2(0x15f,'EcB[')+_0x52ccf2(0x150,'e7xg')+_0x52ccf2(0x15d,'dGYR'),'suOra':_0x52ccf2(0x18b,'7PUc'),'FGcWN':_0x52ccf2(0x146,'7PUc')+_0x52ccf2(0x16f,'Av3m')+_0x52ccf2(0x1ea,'(8U['),'zsQfv':_0x52ccf2(0x13b,'&byt')+_0x52ccf2(0x20a,'S(0x')+_0x52ccf2(0x212,'mNP%')+'T','dKrTh':_0x52ccf2(0x1fa,'S(0x')+_0x52ccf2(0x1a6,'pCGI')+_0x52ccf2(0x193,'&byt')+'T','fyKTL':function(_0x314a4b,_0x1f8a54){return _0x314a4b&&_0x1f8a54;},'znupA':function(_0x4da7d7,_0x3cdb30){return _0x4da7d7??_0x3cdb30;}},_0x30d351=_0x206f85[_0x52ccf2(0x22f,'$9IH')](_0x31cb87=>_0x31cb87[_0x52ccf2(0x267,'EcB[')]===_0x52ccf2(0xf1,'(8U[')),_0x5a3187=_0x4e94f1??(_0x30d351?_0x44ff55[_0x52ccf2(0x117,'C1OF')](typeof _0x30d351[_0x52ccf2(0x144,'mNP%')],_0x44ff55[_0x52ccf2(0x10d,'dKo!')])?_0x30d351[_0x52ccf2(0x1db,'e7xg')]:_0x30d351[_0x52ccf2(0xe7,'b71i')]?.[-0x1b22+-0x577*-0x6+-0x5a8]?.[_0x52ccf2(0x101,'UGZK')]??'':null),_0x56a1d3=_0x206f85[_0x52ccf2(0x145,'sog9')](_0x2c2b06=>_0x2c2b06[_0x52ccf2(0x1cd,'5p)b')]!==_0x52ccf2(0x215,'f!Rz'))[_0x52ccf2(0x174,'UGZK')](_0x4b75de=>{const _0x44af25=_0x52ccf2;if(_0x4b75de[_0x44af25(0x14c,'xGNf')])return{'role':_0x44ff55[_0x44af25(0x252,'$9IH')](_0x4b75de[_0x44af25(0x115,'GOhH')],_0x44ff55[_0x44af25(0x183,')#Jy')])?_0x44ff55[_0x44af25(0x112,'K94P')]:_0x4b75de[_0x44af25(0x115,'GOhH')],'parts':_0x4b75de[_0x44af25(0x1f3,'wv%R')]};return{'role':_0x44ff55[_0x44af25(0x1b7,'$oSJ')](_0x4b75de[_0x44af25(0xe3,'UGZK')],_0x44ff55[_0x44af25(0x104,'Ckpi')])?_0x44ff55[_0x44af25(0x240,'S(0x')]:_0x4b75de[_0x44af25(0xe2,'FYEA')],'parts':[{'text':_0x44ff55[_0x44af25(0x118,'9qRP')](typeof _0x4b75de[_0x44af25(0x10b,'UsVH')],_0x44ff55[_0x44af25(0x1c2,'5p)b')])?_0x4b75de[_0x44af25(0x236,'$oSJ')]:JSON[_0x44af25(0x205,'JGY9')](_0x4b75de[_0x44af25(0x159,'5p)b')])}]};});if(_0x345031){const _0x4a3fdb=_0x44ff55[_0x52ccf2(0x22a,'e7xg')](fileTypeFromBuffer,_0x345031),_0x165502=_0x4a3fdb?.[_0x52ccf2(0x197,'UsVH')]??_0x44ff55[_0x52ccf2(0x1bb,'UGZK')];if(!SUPPORTED_MIMES[_0x52ccf2(0x13a,'5p)b')](_0x165502))throw new Error(_0x52ccf2(0x1eb,'&uPq')+_0x52ccf2(0x1ac,'&byt')+_0x52ccf2(0x1b5,'F$fn')+_0x165502);const _0x13e501={'inlineData':{'mimeType':_0x165502,'data':_0x345031[_0x52ccf2(0x251,'h*tL')](_0x44ff55[_0x52ccf2(0x21f,'UsVH')])}},_0x5aa67c=_0x56a1d3[_0x44ff55[_0x52ccf2(0x17b,'UGZK')](_0x56a1d3[_0x52ccf2(0x16b,'dKo!')],0x1*-0x1d69+0x1*0x25ce+-0x864)];if(_0x44ff55[_0x52ccf2(0x21e,'@gL6')](_0x5aa67c?.[_0x52ccf2(0x192,'$oSJ')],_0x44ff55[_0x52ccf2(0x14f,'wv%R')]))_0x5aa67c[_0x52ccf2(0x1ca,'yB[X')][_0x52ccf2(0x241,'9qRP')](_0x13e501);else _0x56a1d3[_0x52ccf2(0x12c,'Z4o%')]({'role':_0x44ff55[_0x52ccf2(0x1f7,'$oSJ')],'parts':[_0x13e501]});}return{'model':CONFIG[_0x52ccf2(0x1c4,'f!Rz')],'request':{'contents':_0x56a1d3,'generationConfig':{'thinkingConfig':{'thinkingLevel':_0x44ff55[_0x52ccf2(0x1d9,'UsVH')],'includeThoughts':!![]},'temperature':0x0},'safetySettings':[{'category':_0x44ff55[_0x52ccf2(0xe5,'K94P')],'threshold':_0x44ff55[_0x52ccf2(0x177,'()WV')]},{'category':_0x44ff55[_0x52ccf2(0x1b8,'$9IH')],'threshold':_0x44ff55[_0x52ccf2(0x1a2,'Av3m')]},{'category':_0x44ff55[_0x52ccf2(0x25c,'9T0H')],'threshold':_0x44ff55[_0x52ccf2(0x132,'e7xg')]},{'category':_0x44ff55[_0x52ccf2(0xe0,'UGZK')],'threshold':_0x44ff55[_0x52ccf2(0x1ba,'ykmB')]}],..._0x14c6e7?.[_0x52ccf2(0x186,'&uPq')]&&{'tools':_0x14c6e7},..._0x44ff55[_0x52ccf2(0x185,'S(0x')](_0x5a3187,{'systemInstruction':{'role':_0x44ff55[_0x52ccf2(0x219,'(8U[')],'parts':[{'text':_0x5a3187}]}})},'stream':_0x44ff55[_0x52ccf2(0x189,'e8zA')](_0x52763c,![])};}export async function callGemini({messages:messages=[],fileBuffer:fileBuffer=null,tools:tools=null,systemInstruction:systemInstruction=null}={}){const _0x92e7d4=_0x641c88,_0x2d3ed9={'SMzmV':function(_0x293543){return _0x293543();},'hmtKs':function(_0xc111f,_0x302b3c){return _0xc111f(_0x302b3c);},'uiFWi':_0x92e7d4(0x191,'FYEA')+_0x92e7d4(0x1be,'UsVH')+_0x92e7d4(0x223,'b71i')+'I'},_0xdda0cc=await _0x2d3ed9[_0x92e7d4(0x1e8,'f!Rz')](getToken),_0x3ec5c4=_0x2d3ed9[_0x92e7d4(0xf7,'@gL6')](buildPayload,{'messages':messages,'fileBuffer':fileBuffer,'tools':tools,'systemInstruction':systemInstruction,'stream':![]}),{data:_0xd162b0}=await _0x51d346[_0x92e7d4(0x18c,'b71i')](CONFIG[_0x92e7d4(0x125,'$oSJ')],_0x3ec5c4,{'headers':{...CONFIG[_0x92e7d4(0x198,'&uPq')],'authorization':_0x92e7d4(0x143,'1v3*')+_0xdda0cc}});if(!_0xd162b0?.[_0x92e7d4(0x11b,'Ckpi')]?.[_0x92e7d4(0x1bc,'7PUc')])throw new Error(_0x2d3ed9[_0x92e7d4(0x261,'e8zA')]);const _0x88ff56=_0xd162b0[_0x92e7d4(0x17f,'GOhH')][-0x17a4+0xb76+0x617*0x2][_0x92e7d4(0x217,'Ckpi')]?.[_0x92e7d4(0x19d,'l!h3')]??[];return{'parts':_0x88ff56,'raw':_0xd162b0};}export async function callGeminiStream({messages:messages=[],fileBuffer:fileBuffer=null,tools:tools=null,systemInstruction:systemInstruction=null,onThought:_0xc0feab,onText:_0x22b70f,onDone:_0xbe61fa}={}){const _0x46eea7=_0x641c88,_0x5bb877={'Nllag':function(_0xbc14c8,_0x388fe6){return _0xbc14c8?.(_0x388fe6);},'mpMlS':function(_0x38bdaf,_0x41ff3f){return _0x38bdaf(_0x41ff3f);},'wfZdT':function(_0x361f36,_0x299292){return _0x361f36(_0x299292);},'RupPP':_0x46eea7(0x1dd,'(8U[')+_0x46eea7(0x1fe,')#Jy')+_0x46eea7(0x11a,'()WV'),'uecox':_0x46eea7(0xf4,'3]Zd'),'QzDfl':function(_0x12b1a1,_0x2a6d31){return _0x12b1a1-_0x2a6d31;},'kxVPr':function(_0x4dbde6,_0x19a3cb){return _0x4dbde6===_0x19a3cb;},'iMOVa':_0x46eea7(0x214,'9qRP'),'UzFpb':function(_0x4038c0,_0x5d302e){return _0x4038c0?.(_0x5d302e);},'tnoBL':_0x46eea7(0xdf,'F$fn'),'kCBRb':_0x46eea7(0x264,'1v3*'),'EMNkW':_0x46eea7(0xe9,'mz1Z'),'IREjU':_0x46eea7(0x1da,'Z4o%'),'mazrX':_0x46eea7(0xf8,'7PUc'),'wXvoa':_0x46eea7(0x20f,'l!h3'),'dbhgM':_0x46eea7(0x1e4,')ekM'),'CEKpg':_0x46eea7(0x12a,'(8U['),'SSvYi':_0x46eea7(0x1c0,'xGNf')+'E]','tvUBH':_0x46eea7(0x1cf,'Ckpi'),'TEJqb':function(_0x5d8b15,_0x13d614){return _0x5d8b15!==_0x13d614;},'wyBeS':_0x46eea7(0x1ee,'wv%R'),'NnzkO':_0x46eea7(0x15c,'Syvs'),'rpigs':_0x46eea7(0xe6,'ykmB'),'oTiNS':_0x46eea7(0x1e5,'@gL6'),'IRMnq':_0x46eea7(0x238,'GOhH'),'bXhMi':_0x46eea7(0x25f,'pCGI'),'uKRUy':_0x46eea7(0x21c,'&uPq'),'AvMLz':_0x46eea7(0x220,'K94P'),'mCYIG':function(_0x4ff96c){return _0x4ff96c();},'auNTA':_0x46eea7(0x17a,'C1OF')},_0x339bd2=await _0x5bb877[_0x46eea7(0x256,'5p)b')](getToken),_0x107738=_0x5bb877[_0x46eea7(0x263,'Av3m')](buildPayload,{'messages':messages,'fileBuffer':fileBuffer,'tools':tools,'systemInstruction':systemInstruction,'stream':!![]}),_0xb79d32=await _0x51d346[_0x46eea7(0x11c,'f!Rz')](CONFIG[_0x46eea7(0x25a,'l!h3')],_0x107738,{'headers':{...CONFIG[_0x46eea7(0x21b,'9T0H')],'authorization':_0x46eea7(0x113,'GOhH')+_0x339bd2},'responseType':_0x5bb877[_0x46eea7(0x1a0,'JGY9')]});return new Promise((_0x292482,_0x57cd7e)=>{const _0x351608=_0x46eea7,_0x3146db={'taWBC':function(_0x3fccf1,_0x555b66){const _0x2067a8=_0x59d0;return _0x5bb877[_0x2067a8(0x171,'492M')](_0x3fccf1,_0x555b66);},'LmPnO':_0x5bb877[_0x351608(0x16e,'e8zA')],'IiuyQ':_0x5bb877[_0x351608(0x1fc,'$oSJ')],'ZznuI':function(_0x520ddb,_0x56bf1f){const _0x187939=_0x351608;return _0x5bb877[_0x187939(0x11d,'C1OF')](_0x520ddb,_0x56bf1f);},'uTdVN':function(_0x595831,_0x325d4e){const _0xbb2e9e=_0x351608;return _0x5bb877[_0xbb2e9e(0xff,'wv%R')](_0x595831,_0x325d4e);},'dfVWb':_0x5bb877[_0x351608(0x1e0,')#Jy')],'iroVb':function(_0x11f210,_0x325dc3){const _0x53edfa=_0x351608;return _0x5bb877[_0x53edfa(0x172,'sog9')](_0x11f210,_0x325dc3);},'VyePN':function(_0x590b41,_0x3f56e7){const _0x21b4cd=_0x351608;return _0x5bb877[_0x21b4cd(0x1fb,'GOhH')](_0x590b41,_0x3f56e7);},'zZyFG':_0x5bb877[_0x351608(0x107,'ykmB')],'kGPvI':_0x5bb877[_0x351608(0x158,'FYEA')],'uLLBO':_0x5bb877[_0x351608(0x1d3,'pCGI')],'UlkwK':_0x5bb877[_0x351608(0x207,'xGNf')],'lVdMZ':_0x5bb877[_0x351608(0x258,'FYEA')],'MTNfA':_0x5bb877[_0x351608(0x13d,'dKo!')],'ybvQJ':_0x5bb877[_0x351608(0x181,'@gL6')],'VRSFx':_0x5bb877[_0x351608(0x213,'9qRP')],'QVvGR':function(_0x5e7196,_0x58ba1b){const _0x5003e4=_0x351608;return _0x5bb877[_0x5003e4(0x1e9,'sog9')](_0x5e7196,_0x58ba1b);},'wdcyW':_0x5bb877[_0x351608(0x1f9,'wv%R')],'nDssI':_0x5bb877[_0x351608(0x1b4,'yB[X')],'sNuXT':function(_0x190ed5,_0x1014ac){const _0x215184=_0x351608;return _0x5bb877[_0x215184(0xfb,'$oSJ')](_0x190ed5,_0x1014ac);},'BPWJq':_0x5bb877[_0x351608(0x248,'7PUc')],'adpvC':function(_0x38a9ed,_0x1240dc){const _0x5482e3=_0x351608;return _0x5bb877[_0x5482e3(0x1ad,'S(0x')](_0x38a9ed,_0x1240dc);},'cCPuz':_0x5bb877[_0x351608(0x169,'$oSJ')],'vLxDw':_0x5bb877[_0x351608(0xf6,'FYEA')]};if(_0x5bb877[_0x351608(0x100,'e8zA')](_0x5bb877[_0x351608(0x12b,'mNP%')],_0x5bb877[_0x351608(0x19c,'5p)b')]))_0x2b2ebd+=_0x45aef9[_0x351608(0x148,'Ckpi')],_0x5bb877[_0x351608(0x21a,'1Wfc')](_0x1b9e67,_0x5be6c4[_0x351608(0x12f,'h*tL')]);else{let _0xbce88b='',_0x27830c='',_0x3cb8da='';const _0xe54d21=[];_0xb79d32[_0x351608(0x111,'$oSJ')]['on'](_0x5bb877[_0x351608(0x221,'492M')],_0x4c21e1=>{const _0x1daa8d=_0x351608,_0x1dfc5e={'jsgBe':function(_0x37c790,_0x5c35a1){const _0x4807a6=_0x59d0;return _0x3146db[_0x4807a6(0x139,'(8U[')](_0x37c790,_0x5c35a1);},'ifzfp':function(_0x1515ef,_0x190582){const _0x3e350f=_0x59d0;return _0x3146db[_0x3e350f(0x17e,'EcB[')](_0x1515ef,_0x190582);},'oGDCm':function(_0x5993ef,_0x4161d7){const _0x5acfdb=_0x59d0;return _0x3146db[_0x5acfdb(0x161,'dGYR')](_0x5993ef,_0x4161d7);},'DytzX':_0x3146db[_0x1daa8d(0x1d1,'(8U[')],'wGkde':_0x3146db[_0x1daa8d(0xe1,'mNP%')],'LirXy':_0x3146db[_0x1daa8d(0x19f,'7PUc')],'vHKSt':function(_0x19f893,_0x1bc09f){const _0x46d1b9=_0x1daa8d;return _0x3146db[_0x46d1b9(0x178,'9T0H')](_0x19f893,_0x1bc09f);}};if(_0x3146db[_0x1daa8d(0x129,'(8U[')](_0x3146db[_0x1daa8d(0x20e,'1Wfc')],_0x3146db[_0x1daa8d(0x210,'UsVH')]))_0x236b04[_0x1daa8d(0x10c,'yB[X')](_0x2fdf3b);else{_0xbce88b+=_0x4c21e1[_0x1daa8d(0xe4,'JGY9')](_0x3146db[_0x1daa8d(0x18f,'()WV')]);const _0x1b4f02=_0xbce88b[_0x1daa8d(0x246,'GOhH')]('\x0a');_0xbce88b=_0x1b4f02[_0x1daa8d(0xf3,'b71i')]();for(const _0x467b86 of _0x1b4f02){if(_0x3146db[_0x1daa8d(0x202,'1v3*')](_0x3146db[_0x1daa8d(0x199,'&uPq')],_0x3146db[_0x1daa8d(0x1b9,'&byt')])){if(_0x244b7f[_0x1daa8d(0x209,'F$fn')]&&_0x22b5c3[_0x1daa8d(0x1c3,'&byt')])_0x373013+=_0x29e8ee[_0x1daa8d(0x1a5,'tcw3')],_0x1dfc5e[_0x1daa8d(0x244,'$oSJ')](_0x11eba8,_0x18239c[_0x1daa8d(0x23a,'F$fn')]);else{if(_0x5bb91f[_0x1daa8d(0x249,'1v3*')])_0x27ffc2+=_0x4d7ddf[_0x1daa8d(0x14e,'dKo!')],_0x1dfc5e[_0x1daa8d(0x13f,'dGYR')](_0x10993,_0x4b747b[_0x1daa8d(0x204,')ekM')]);else _0x26d2e8[_0x1daa8d(0x11e,'9T0H')+'ll']&&_0x256bb8[_0x1daa8d(0xfe,'F$fn')](_0x527f14);}}else{const _0x6781c4=_0x467b86[_0x1daa8d(0x103,'K94P')]();if(!_0x6781c4||_0x3146db[_0x1daa8d(0x142,'ykmB')](_0x6781c4,_0x3146db[_0x1daa8d(0x160,'75gV')]))continue;const _0x5e96c7=_0x6781c4[_0x1daa8d(0x25e,'3]Zd')](_0x3146db[_0x1daa8d(0x201,'@gL6')])?_0x6781c4[_0x1daa8d(0x234,'tcw3')](-0x9*-0x264+0x860+-0x1dde):_0x6781c4;try{const _0x19c8f0=JSON[_0x1daa8d(0x173,'Av3m')](_0x5e96c7),_0x1234b7=_0x19c8f0[_0x1daa8d(0x11f,'yB[X')]?.[-0xc61*-0x1+-0x346+-0x91b*0x1]?.[_0x1daa8d(0x1ef,'1Wfc')]?.[_0x1daa8d(0x19a,'$9IH')]??[];for(const _0x2f94d9 of _0x1234b7){if(_0x3146db[_0x1daa8d(0x230,'@gL6')](_0x3146db[_0x1daa8d(0xf2,'mz1Z')],_0x3146db[_0x1daa8d(0x1f8,'5p)b')])){if(_0x2d6511[_0x1daa8d(0x136,'f!Rz')])return{'role':mxZRfg[_0x1daa8d(0x12d,'dKo!')](_0x115422[_0x1daa8d(0x134,'sog9')],mxZRfg[_0x1daa8d(0x166,'UsVH')])?mxZRfg[_0x1daa8d(0x24c,'wv%R')]:_0x523abb[_0x1daa8d(0x23c,'JGY9')],'parts':_0xce83ec[_0x1daa8d(0x141,'@sk^')]};return{'role':mxZRfg[_0x1daa8d(0x239,'K94P')](_0x3d055f[_0x1daa8d(0x14a,'()WV')],mxZRfg[_0x1daa8d(0x1a8,'EcB[')])?mxZRfg[_0x1daa8d(0x22b,'UsVH')]:_0xd40c5a[_0x1daa8d(0x232,'3]Zd')],'parts':[{'text':mxZRfg[_0x1daa8d(0x114,'yB[X')](typeof _0x14918c[_0x1daa8d(0x14d,'ykmB')],mxZRfg[_0x1daa8d(0x156,'Av3m')])?_0x1b8c98[_0x1daa8d(0x1fd,'Z4o%')]:_0x27dfda[_0x1daa8d(0x168,'$oSJ')](_0x29c7e6[_0x1daa8d(0x116,'K94P')])}]};}else{if(_0x2f94d9[_0x1daa8d(0x1ce,'$oSJ')]&&_0x2f94d9[_0x1daa8d(0x23a,'F$fn')])_0x27830c+=_0x2f94d9[_0x1daa8d(0x124,'7PUc')],_0x3146db[_0x1daa8d(0x18e,'S(0x')](_0xc0feab,_0x2f94d9[_0x1daa8d(0x101,'UGZK')]);else{if(_0x2f94d9[_0x1daa8d(0x211,'yB[X')]){if(_0x3146db[_0x1daa8d(0x254,'75gV')](_0x3146db[_0x1daa8d(0x137,'GOhH')],_0x3146db[_0x1daa8d(0x10f,'9T0H')]))_0x3cb8da+=_0x2f94d9[_0x1daa8d(0x14e,'dKo!')],_0x3146db[_0x1daa8d(0x194,'f!Rz')](_0x22b70f,_0x2f94d9[_0x1daa8d(0x249,'1v3*')]);else{const _0x710631=MQjpbb[_0x1daa8d(0x1de,'9T0H')](_0x54f963,_0x4fc498),_0x1179aa=_0x710631?.[_0x1daa8d(0x15b,'$oSJ')]??MQjpbb[_0x1daa8d(0x1e7,'5p)b')];if(!_0x5bad61[_0x1daa8d(0x110,'75gV')](_0x1179aa))throw new _0x2138ee(_0x1daa8d(0x1a3,'b71i')+_0x1daa8d(0x24a,'dGYR')+_0x1daa8d(0x224,'Z4o%')+_0x1179aa);const _0x44dd19={'inlineData':{'mimeType':_0x1179aa,'data':_0x1f1ee8[_0x1daa8d(0x1aa,'(8U[')](MQjpbb[_0x1daa8d(0xf5,'tcw3')])}},_0x51eaf2=_0x403a00[MQjpbb[_0x1daa8d(0x122,'3]Zd')](_0x1e8fc5[_0x1daa8d(0x16b,'dKo!')],0x12f8+0x267f+0xb7e*-0x5)];if(MQjpbb[_0x1daa8d(0x1af,'()WV')](_0x51eaf2?.[_0x1daa8d(0x243,'mNP%')],MQjpbb[_0x1daa8d(0x19e,'dKo!')]))_0x51eaf2[_0x1daa8d(0x170,'K94P')][_0x1daa8d(0x22c,'b71i')](_0x44dd19);else _0x383fe5[_0x1daa8d(0x241,'9qRP')]({'role':MQjpbb[_0x1daa8d(0x1f1,'sog9')],'parts':[_0x44dd19]});}}else _0x2f94d9[_0x1daa8d(0x1dc,'9qRP')+'ll']&&(_0x3146db[_0x1daa8d(0x121,'JGY9')](_0x3146db[_0x1daa8d(0x23b,'wv%R')],_0x3146db[_0x1daa8d(0x1bd,'@gL6')])?_0xe54d21[_0x1daa8d(0x1e6,'FYEA')](_0x2f94d9):(_0x27b3c5+=_0x5d613a[_0x1daa8d(0x206,'K94P')],_0x1dfc5e[_0x1daa8d(0x226,'K94P')](_0x4af921,_0x25159b[_0x1daa8d(0xec,'wv%R')])));}}}}catch{}}}}}),_0xb79d32[_0x351608(0x190,'1Wfc')]['on'](_0x5bb877[_0x351608(0x25d,'tcw3')],()=>{const _0x4bd85a=_0x351608,_0x534fc3=[];if(_0x27830c)_0x534fc3[_0x4bd85a(0x135,'K94P')]({'text':_0x27830c,'thought':!![]});if(_0x3cb8da)_0x534fc3[_0x4bd85a(0xef,'f!Rz')]({'text':_0x3cb8da});_0x534fc3[_0x4bd85a(0x131,'@sk^')](..._0xe54d21),_0x5bb877[_0x4bd85a(0x157,'@sk^')](_0xbe61fa,_0x534fc3),_0x5bb877[_0x4bd85a(0x231,')#Jy')](_0x292482,{'parts':_0x534fc3});}),_0xb79d32[_0x351608(0x1a7,'F$fn')]['on'](_0x5bb877[_0x351608(0xe8,'&uPq')],_0x57cd7e);}});}export async function chat(_0x4291d7=[],_0x269dc8=null){const _0x2aa0a3=_0x641c88,_0x3e870b={'DYFBd':function(_0x1eab71,_0x137e76){return _0x1eab71(_0x137e76);}},{parts:_0x552d7e}=await _0x3e870b[_0x2aa0a3(0x18d,'b71i')](callGemini,{'messages':_0x4291d7,'fileBuffer':_0x269dc8});return _0x552d7e[_0x2aa0a3(0xed,'GOhH')](_0x490589=>!_0x490589[_0x2aa0a3(0x1df,'75gV')])[_0x2aa0a3(0x151,'dKo!')](_0xcdcc34=>_0xcdcc34[_0x2aa0a3(0x229,'GOhH')]??'')[_0x2aa0a3(0x1c6,'1v3*')]('');}
1
+ const _0x15dbc0=_0x5687;(function(_0x2ee024,_0x5d510a){const _0x33ad0e=_0x5687,_0x5132b0=_0x2ee024();while(!![]){try{const _0x3b3274=parseInt(_0x33ad0e(0x1f3,'IJ!c'))/(0x1*0x542+0x44f*0x4+-0x167d)+-parseInt(_0x33ad0e(0x192,'@41!'))/(0xaed*0x3+0xc78+-0x2d3d)*(parseInt(_0x33ad0e(0x1d0,'Zlb&'))/(0xee1+0x17*-0x9b+0x1*-0xf1))+-parseInt(_0x33ad0e(0x1f7,'trpB'))/(0x94*0x40+0x1bcd+-0x40c9)+parseInt(_0x33ad0e(0x1d5,'o%St'))/(-0x81f+-0xbac+-0x8*-0x27a)+parseInt(_0x33ad0e(0x21e,'7fu6'))/(-0x7*-0x283+-0x2670+0x14e1)*(-parseInt(_0x33ad0e(0x1d1,'egy*'))/(-0x202c+0x17e*0xa+0x1147*0x1))+-parseInt(_0x33ad0e(0x159,'56*c'))/(-0x19*-0x12f+-0x45f*0x3+-0x1072)+parseInt(_0x33ad0e(0x273,'xKJp'))/(-0x19ce+-0x3*-0x13d+0x1620)*(parseInt(_0x33ad0e(0x138,'NwqT'))/(0x59c+0x1*0x5d5+-0xb67));if(_0x3b3274===_0x5d510a)break;else _0x5132b0['push'](_0x5132b0['shift']());}catch(_0x5d4a2e){_0x5132b0['push'](_0x5132b0['shift']());}}}(_0x36d1,0x1*-0x3a1a2+0x9371*-0x4+0xb6ef3*0x1));function _0x5687(_0x5eabd4,_0x561aed){_0x5eabd4=_0x5eabd4-(0xe0*-0x7+-0x5*0x251+-0x649*-0x3);const _0x5c0f61=_0x36d1();let _0x1484de=_0x5c0f61[_0x5eabd4];if(_0x5687['zzJVSA']===undefined){var _0x3bce9e=function(_0x1e3d1c){const _0x572bae='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5640e5='',_0x5889c0='';for(let _0x38c34b=0x2*-0xa0d+-0x266e+0x4*0xea2,_0x4fe12c,_0x1b85c2,_0x5a6f2c=0x1*-0x22a3+0x2320+-0x7d;_0x1b85c2=_0x1e3d1c['charAt'](_0x5a6f2c++);~_0x1b85c2&&(_0x4fe12c=_0x38c34b%(0x1*-0x17ea+0x611+0x1*0x11dd)?_0x4fe12c*(0x2507+0x126a+-0x3731)+_0x1b85c2:_0x1b85c2,_0x38c34b++%(-0xd*-0x57+0x5a5+-0xa0c))?_0x5640e5+=String['fromCharCode'](0x18b7+0x16a5*0x1+-0x2e5d&_0x4fe12c>>(-(0x14ab*-0x1+-0x15b9+0x2a66)*_0x38c34b&0x103*0x19+0x2*0xcbe+0x32c1*-0x1)):-0x929+0x428+-0x1ab*-0x3){_0x1b85c2=_0x572bae['indexOf'](_0x1b85c2);}for(let _0x3218b7=-0x2*0x3d1+0x45d+0x1f*0x1b,_0x2254b7=_0x5640e5['length'];_0x3218b7<_0x2254b7;_0x3218b7++){_0x5889c0+='%'+('00'+_0x5640e5['charCodeAt'](_0x3218b7)['toString'](0x41*-0x70+-0x1897*0x1+0x3517))['slice'](-(0x6ae+-0x52a+0xc1*-0x2));}return decodeURIComponent(_0x5889c0);};const _0x1a5537=function(_0x46c5fd,_0x493aac){let _0x23c7c3=[],_0x4bfb88=-0x8b7*-0x1+-0x1547+-0x18*-0x86,_0x2c3441,_0x27b085='';_0x46c5fd=_0x3bce9e(_0x46c5fd);let _0x4d541a;for(_0x4d541a=-0x105d+0xe4*0x3+0xdb1;_0x4d541a<0x1a53+0xa9*-0x37+0xafc;_0x4d541a++){_0x23c7c3[_0x4d541a]=_0x4d541a;}for(_0x4d541a=0x1*0x15c3+0x1b*-0x9b+-0x56a;_0x4d541a<0x1cb0+-0x7d6+0x9ed*-0x2;_0x4d541a++){_0x4bfb88=(_0x4bfb88+_0x23c7c3[_0x4d541a]+_0x493aac['charCodeAt'](_0x4d541a%_0x493aac['length']))%(0x2527*-0x1+0xad*-0x3+0x282e),_0x2c3441=_0x23c7c3[_0x4d541a],_0x23c7c3[_0x4d541a]=_0x23c7c3[_0x4bfb88],_0x23c7c3[_0x4bfb88]=_0x2c3441;}_0x4d541a=-0x3ef+-0x2e+0x41d,_0x4bfb88=-0x22*0x8a+0x1e95*0x1+-0x1*0xc41;for(let _0x7b952a=0x2*0x7e8+0x1fe5+-0x2fb5*0x1;_0x7b952a<_0x46c5fd['length'];_0x7b952a++){_0x4d541a=(_0x4d541a+(-0xa48+-0x3d+0xa86))%(-0x7d5+0x62*0xd+-0x15*-0x2f),_0x4bfb88=(_0x4bfb88+_0x23c7c3[_0x4d541a])%(0xdfa+-0xc4a+-0xb0),_0x2c3441=_0x23c7c3[_0x4d541a],_0x23c7c3[_0x4d541a]=_0x23c7c3[_0x4bfb88],_0x23c7c3[_0x4bfb88]=_0x2c3441,_0x27b085+=String['fromCharCode'](_0x46c5fd['charCodeAt'](_0x7b952a)^_0x23c7c3[(_0x23c7c3[_0x4d541a]+_0x23c7c3[_0x4bfb88])%(-0x1acc+-0x61*-0x26+0xd66)]);}return _0x27b085;};_0x5687['vIuPGm']=_0x1a5537,_0x5687['UaEOmh']={},_0x5687['zzJVSA']=!![];}const _0x208c0c=_0x5c0f61[-0x1af*-0x6+-0x1*-0x1f96+-0x17*0x1d0],_0x33ab54=_0x5eabd4+_0x208c0c,_0x19111e=_0x5687['UaEOmh'][_0x33ab54];return!_0x19111e?(_0x5687['uHzOau']===undefined&&(_0x5687['uHzOau']=!![]),_0x1484de=_0x5687['vIuPGm'](_0x1484de,_0x561aed),_0x5687['UaEOmh'][_0x33ab54]=_0x1484de):_0x1484de=_0x19111e,_0x1484de;}import _0x1f7a08 from'axios';import{fileTypeFromBuffer}from'file-type';const CONFIG={'URL':_0x15dbc0(0x219,'XLYy')+_0x15dbc0(0x205,'prC@')+_0x15dbc0(0x24b,'Zlb&')+_0x15dbc0(0x14a,']ECk')+_0x15dbc0(0x1cd,'0Dy1')+_0x15dbc0(0x165,'gB1d'),'MODEL':_0x15dbc0(0x1a0,'mb@l')+_0x15dbc0(0x1dd,'7fu6')+_0x15dbc0(0x22d,'Xy5w')+_0x15dbc0(0x1d4,'rBC*'),'HEADERS':{'User-Agent':_0x15dbc0(0x1de,'o%St')+'.2','Accept-Encoding':_0x15dbc0(0x271,'GLAR'),'content-type':_0x15dbc0(0x182,'egy*')+_0x15dbc0(0x223,'CW8b')+_0x15dbc0(0x259,'NN83')+'8'}},SUPPORTED_MIMES=new Set([_0x15dbc0(0x1c3,'o%St'),_0x15dbc0(0x233,'mb@l'),_0x15dbc0(0x16b,'IJ!c'),_0x15dbc0(0x24e,'xh@N'),_0x15dbc0(0x1e5,'o%St'),_0x15dbc0(0x1da,'o%St'),_0x15dbc0(0x20e,'trpB'),_0x15dbc0(0x24c,'^qWD'),_0x15dbc0(0x26e,'IJ!c'),_0x15dbc0(0x136,'ciSi'),_0x15dbc0(0x251,'NN83')+'v',_0x15dbc0(0x26b,'mb@l'),_0x15dbc0(0x248,'prC@'),_0x15dbc0(0x228,'6kAl'),_0x15dbc0(0x23e,'oOa%'),_0x15dbc0(0x19a,'5*k7'),_0x15dbc0(0x162,'6kAl'),_0x15dbc0(0x264,'^qWD'),_0x15dbc0(0x161,'@41!'),_0x15dbc0(0x240,'5*k7'),_0x15dbc0(0x1f5,'5x9N'),_0x15dbc0(0x17a,'egy*'),_0x15dbc0(0x129,'CW8b')+_0x15dbc0(0x1bf,'gB1d')+'us',_0x15dbc0(0x1cb,'5*k7')+_0x15dbc0(0x20c,'CW8b'),_0x15dbc0(0x246,'wMnS'),_0x15dbc0(0x150,'@41!'),_0x15dbc0(0x185,'prC@'),_0x15dbc0(0x227,'NCX[')+_0x15dbc0(0x1a2,'Oj8D'),_0x15dbc0(0x155,'prC@')+_0x15dbc0(0x221,'#ucP'),_0x15dbc0(0x1d2,'xh@N'),_0x15dbc0(0x1fd,'7fu6')+_0x15dbc0(0x19c,'NwqT'),_0x15dbc0(0x1c4,'NCX[')+_0x15dbc0(0x22b,'bm$b'),_0x15dbc0(0x1c2,'0Dy1')+_0x15dbc0(0x200,'NwqT'),_0x15dbc0(0x1f4,'mb@l')+_0x15dbc0(0x1aa,'%pqX'),_0x15dbc0(0x234,'6kAl')+_0x15dbc0(0x258,'ciSi')]);async function getToken(){const _0x2bc30d=_0x15dbc0,_0x1b5e18={'tjQzy':_0x2bc30d(0x216,'56*c')+_0x2bc30d(0x15c,'ciSi')+_0x2bc30d(0x1df,']HHe')+_0x2bc30d(0x14b,'gB1d')+_0x2bc30d(0x1bd,'$MLy')+_0x2bc30d(0x186,'$MLy')+_0x2bc30d(0x1af,'wa42')+_0x2bc30d(0x17b,'0Dy1')+_0x2bc30d(0x154,']HHe')+_0x2bc30d(0x18a,']ECk')+_0x2bc30d(0x16c,']HHe')+_0x2bc30d(0x1e6,'NN83'),'oVkYm':_0x2bc30d(0x20f,'xePr')+_0x2bc30d(0x164,'bm$b'),'DHpqb':_0x2bc30d(0x225,'BKo9')+_0x2bc30d(0x14f,'gB1d')+_0x2bc30d(0x148,'GLAR')+_0x2bc30d(0x15e,'wa42')+_0x2bc30d(0x244,'gB1d')+_0x2bc30d(0x274,'mb@l')+_0x2bc30d(0x152,'2B3Q'),'Qerwe':_0x2bc30d(0x234,'6kAl')+_0x2bc30d(0x1b1,'egy*'),'qhXpI':_0x2bc30d(0x24a,'oOa%')+_0x2bc30d(0x19b,'6kAl'),'ANYvh':_0x2bc30d(0x167,'XLYy')+_0x2bc30d(0x1ef,'NwqT')+_0x2bc30d(0x1e9,'#ucP')+_0x2bc30d(0x25d,'Y^b8'),'zHDwI':_0x2bc30d(0x13a,'%$CN')+_0x2bc30d(0x1fc,'56*c')+_0x2bc30d(0x1fb,'FtT)')+_0x2bc30d(0x175,'CW8b')+_0x2bc30d(0x188,'0Dy1')},{data:_0x5c11cc}=await _0x1f7a08[_0x2bc30d(0x1b8,'qVsf')](_0x1b5e18[_0x2bc30d(0x1f8,'2B3Q')],{'clientType':_0x1b5e18[_0x2bc30d(0x198,'GLAR')]},{'headers':{'User-Agent':_0x1b5e18[_0x2bc30d(0x19e,'mb@l')],'Content-Type':_0x1b5e18[_0x2bc30d(0x140,'5x9N')],'X-Android-Package':_0x1b5e18[_0x2bc30d(0x176,'NN83')],'X-Android-Cert':_0x1b5e18[_0x2bc30d(0x16a,'^qWD')],'X-Firebase-GMPID':_0x1b5e18[_0x2bc30d(0x26d,'#Ndv')]}});return _0x5c11cc[_0x2bc30d(0x1b4,'Xy5w')];}function buildPayload({messages:_0x2fd1ac,fileBuffer:_0x538ad0,tools:_0x5b4eb9,systemInstruction:_0x13973e,stream:_0x920955}){const _0x18c31d=_0x15dbc0,_0x3d42b8={'BrsbN':function(_0x2690cb,_0x32b2c5){return _0x2690cb===_0x32b2c5;},'SHwNs':_0x18c31d(0x1f6,'%$CN'),'tCJUY':_0x18c31d(0x1c0,'#ucP'),'BSCBe':function(_0x407bae,_0x2ad523){return _0x407bae===_0x2ad523;},'Iiyfj':_0x18c31d(0x255,'Zlb&'),'CzJAN':function(_0x36e749,_0x2d679a){return _0x36e749===_0x2d679a;},'QFMmZ':function(_0x433bbb,_0x416841){return _0x433bbb(_0x416841);},'tiqIG':_0x18c31d(0x1a8,'@41!')+_0x18c31d(0x17d,']ECk')+_0x18c31d(0x126,'rBC*'),'kOTKS':_0x18c31d(0x13b,']ECk'),'kJzex':function(_0x201838,_0x3eda92){return _0x201838-_0x3eda92;},'IMEWK':function(_0x5b211c,_0x475421){return _0x5b211c===_0x475421;},'yOPJr':_0x18c31d(0x268,']ECk'),'KMJKp':_0x18c31d(0x197,'NwqT'),'yWCCW':_0x18c31d(0x1d6,'ciSi')+_0x18c31d(0x261,'qVsf')+_0x18c31d(0x22f,'Y^b8'),'gqPOD':_0x18c31d(0x196,'0Dy1'),'ndSup':_0x18c31d(0x20b,'CW8b')+_0x18c31d(0x237,'$MLy')+_0x18c31d(0x15d,'wa42'),'kyWkO':_0x18c31d(0x263,'6kAl')+_0x18c31d(0x231,'IJ!c')+_0x18c31d(0x156,'0Dy1')+'T','PAfYd':_0x18c31d(0x209,'@41!')+_0x18c31d(0x189,'6kAl')+_0x18c31d(0x26f,'oOa%')+'T','BNqQF':function(_0x58d3be,_0x3129ef){return _0x58d3be&&_0x3129ef;},'HorwW':function(_0x1b75da,_0x5ac730){return _0x1b75da??_0x5ac730;}},_0x250f58=_0x2fd1ac[_0x18c31d(0x172,'wa42')](_0xee696a=>_0xee696a[_0x18c31d(0x241,'egy*')]===_0x18c31d(0x16d,'w9Gb')),_0x17f769=_0x13973e??(_0x250f58?_0x3d42b8[_0x18c31d(0x12d,'Xy5w')](typeof _0x250f58[_0x18c31d(0x145,'CW8b')],_0x3d42b8[_0x18c31d(0x269,']HHe')])?_0x250f58[_0x18c31d(0x18d,'IJ!c')]:_0x250f58[_0x18c31d(0x179,'sgO^')]?.[0x1*-0x181a+0x1e6+0x1634]?.[_0x18c31d(0x1f2,'FtT)')]??'':null),_0x2a4d38=_0x2fd1ac[_0x18c31d(0x1db,'Zlb&')](_0x137711=>_0x137711[_0x18c31d(0x181,'w9Gb')]!==_0x18c31d(0x1ed,'Oj8D'))[_0x18c31d(0x207,'#Ndv')](_0x19bdec=>{const _0x51327d=_0x18c31d;if(_0x19bdec[_0x51327d(0x1d3,'wMnS')])return{'role':_0x3d42b8[_0x51327d(0x12c,'Y^b8')](_0x19bdec[_0x51327d(0x256,'5x9N')],_0x3d42b8[_0x51327d(0x15b,']HHe')])?_0x3d42b8[_0x51327d(0x180,']ECk')]:_0x19bdec[_0x51327d(0x1c8,'GLAR')],'parts':_0x19bdec[_0x51327d(0x1d3,'wMnS')]};return{'role':_0x3d42b8[_0x51327d(0x1bc,'xKJp')](_0x19bdec[_0x51327d(0x1c1,'7fu6')],_0x3d42b8[_0x51327d(0x14e,'bm$b')])?_0x3d42b8[_0x51327d(0x177,'xKJp')]:_0x19bdec[_0x51327d(0x184,'ciSi')],'parts':[{'text':_0x3d42b8[_0x51327d(0x12e,'5x9N')](typeof _0x19bdec[_0x51327d(0x1ec,'5*k7')],_0x3d42b8[_0x51327d(0x128,'wa42')])?_0x19bdec[_0x51327d(0x1e4,'gB1d')]:JSON[_0x51327d(0x1cc,'Oj8D')](_0x19bdec[_0x51327d(0x1a5,'%pqX')])}]};});if(_0x538ad0){const _0x3e5853=_0x3d42b8[_0x18c31d(0x171,'Zlb&')](fileTypeFromBuffer,_0x538ad0),_0x13dfb3=_0x3e5853?.[_0x18c31d(0x13d,'2B3Q')]??_0x3d42b8[_0x18c31d(0x146,'egy*')];if(!SUPPORTED_MIMES[_0x18c31d(0x1ee,'FtT)')](_0x13dfb3))throw new Error(_0x18c31d(0x195,'%$CN')+_0x18c31d(0x239,'xKJp')+_0x18c31d(0x158,'o%St')+_0x13dfb3);const _0x372087={'inlineData':{'mimeType':_0x13dfb3,'data':_0x538ad0[_0x18c31d(0x16f,'mb@l')](_0x3d42b8[_0x18c31d(0x23c,'bm$b')])}},_0x249424=_0x2a4d38[_0x3d42b8[_0x18c31d(0x243,'#Ndv')](_0x2a4d38[_0x18c31d(0x220,'#Ndv')],-0x47*0x5e+0x1dcb*0x1+-0x3b8)];if(_0x3d42b8[_0x18c31d(0x25f,'qdJ*')](_0x249424?.[_0x18c31d(0x256,'5x9N')],_0x3d42b8[_0x18c31d(0x238,'egy*')]))_0x249424[_0x18c31d(0x252,'fXKj')][_0x18c31d(0x1f9,'^qWD')](_0x372087);else _0x2a4d38[_0x18c31d(0x26c,']HHe')]({'role':_0x3d42b8[_0x18c31d(0x272,'vd%t')],'parts':[_0x372087]});}return{'model':CONFIG[_0x18c31d(0x203,'o%St')],'request':{'contents':_0x2a4d38,'generationConfig':{'thinkingConfig':{'thinkingLevel':_0x3d42b8[_0x18c31d(0x1b5,'sgO^')],'includeThoughts':!![]},'temperature':0x0},'safetySettings':[{'category':_0x3d42b8[_0x18c31d(0x214,'NN83')],'threshold':_0x3d42b8[_0x18c31d(0x1ae,'ciSi')]},{'category':_0x3d42b8[_0x18c31d(0x1ab,'Y^b8')],'threshold':_0x3d42b8[_0x18c31d(0x157,'GLAR')]},{'category':_0x3d42b8[_0x18c31d(0x202,'trpB')],'threshold':_0x3d42b8[_0x18c31d(0x208,']ECk')]},{'category':_0x3d42b8[_0x18c31d(0x24d,'FtT)')],'threshold':_0x3d42b8[_0x18c31d(0x1f1,'CW8b')]}],..._0x5b4eb9?.[_0x18c31d(0x1ad,'prC@')]&&{'tools':_0x5b4eb9},..._0x3d42b8[_0x18c31d(0x142,'BKo9')](_0x17f769,{'systemInstruction':{'role':_0x3d42b8[_0x18c31d(0x217,'bm$b')],'parts':[{'text':_0x17f769}]}})},'stream':_0x3d42b8[_0x18c31d(0x1be,'2B3Q')](_0x920955,![])};}export async function callGemini({messages:messages=[],fileBuffer:fileBuffer=null,tools:tools=null,systemInstruction:systemInstruction=null}={}){const _0x3ce343=_0x15dbc0,_0x1bb28d={'UHQgd':function(_0x2f6e79){return _0x2f6e79();},'aiaoi':function(_0x2fd1fb,_0x211e78){return _0x2fd1fb(_0x211e78);},'amcJw':_0x3ce343(0x160,']HHe')+_0x3ce343(0x22e,'BKo9')+_0x3ce343(0x215,'xePr')+'I'},_0x108e02=await _0x1bb28d[_0x3ce343(0x18c,']HHe')](getToken),_0x4c2f76=_0x1bb28d[_0x3ce343(0x20a,'7fu6')](buildPayload,{'messages':messages,'fileBuffer':fileBuffer,'tools':tools,'systemInstruction':systemInstruction,'stream':![]}),{data:_0x258f5a}=await _0x1f7a08[_0x3ce343(0x23b,'xKJp')](CONFIG[_0x3ce343(0x24f,'7fu6')],_0x4c2f76,{'headers':{...CONFIG[_0x3ce343(0x26a,'%$CN')],'authorization':_0x3ce343(0x190,'$MLy')+_0x108e02}});if(!_0x258f5a?.[_0x3ce343(0x134,'fXKj')]?.[_0x3ce343(0x247,']ECk')])throw new Error(_0x1bb28d[_0x3ce343(0x211,']ECk')]);const _0x1c7559=_0x258f5a[_0x3ce343(0x1ea,'^qWD')][-0x292+-0x4bd*0x1+0x74f][_0x3ce343(0x18e,'FtT)')]?.[_0x3ce343(0x1e0,'5*k7')]??[];return{'parts':_0x1c7559,'raw':_0x258f5a};}export async function callGeminiStream({messages:messages=[],fileBuffer:fileBuffer=null,tools:tools=null,systemInstruction:systemInstruction=null,onThought:_0x1e4a51,onText:_0x289fe5,onDone:_0x1fac85}={}){const _0x122923=_0x15dbc0,_0x1b6305={'gEbSL':function(_0x354b8e,_0x3adf85){return _0x354b8e(_0x3adf85);},'Didpg':_0x122923(0x250,'Xy5w')+_0x122923(0x245,'NN83')+_0x122923(0x1a3,'5x9N'),'XZxLV':_0x122923(0x178,'o%St'),'CZXvM':function(_0x3b09b1,_0xce6340){return _0x3b09b1-_0xce6340;},'fSVFL':function(_0x203d48,_0x1b990f){return _0x203d48===_0x1b990f;},'YYgIU':_0x122923(0x1a1,'gB1d'),'gBZjx':_0x122923(0x18f,'wMnS'),'kGQmJ':_0x122923(0x13e,'0Dy1')+'E]','tFhOR':_0x122923(0x191,'6kAl'),'gUKwr':function(_0x435f63,_0x179bb2){return _0x435f63!==_0x179bb2;},'fxxoL':_0x122923(0x1cf,'0Dy1'),'VSCAc':function(_0x4e1f53,_0x1e9f7f){return _0x4e1f53?.(_0x1e9f7f);},'OrtoJ':_0x122923(0x147,'XLYy'),'ERdVX':_0x122923(0x12a,'#ucP'),'vZyTZ':_0x122923(0x163,'NCX['),'tpQws':function(_0x3067da,_0x4d5dfc){return _0x3067da?.(_0x4d5dfc);},'sgAnR':function(_0x52988b,_0x106f03){return _0x52988b(_0x106f03);},'UpMTx':_0x122923(0x1b7,'5x9N'),'HzhZz':_0x122923(0x260,'$MLy'),'UBmbL':_0x122923(0x1c6,'qVsf'),'IJepY':function(_0x5757ca){return _0x5757ca();},'IAPfL':function(_0x41812d,_0x3e874a){return _0x41812d(_0x3e874a);},'JZCCh':_0x122923(0x1b9,'FtT)')},_0x17749c=await _0x1b6305[_0x122923(0x19f,'xKJp')](getToken),_0x253c40=_0x1b6305[_0x122923(0x193,'$MLy')](buildPayload,{'messages':messages,'fileBuffer':fileBuffer,'tools':tools,'systemInstruction':systemInstruction,'stream':!![]}),_0x529650=await _0x1f7a08[_0x122923(0x1e7,'NwqT')](CONFIG[_0x122923(0x206,'gB1d')],_0x253c40,{'headers':{...CONFIG[_0x122923(0x132,'0Dy1')],'authorization':_0x122923(0x210,'Zlb&')+_0x17749c},'responseType':_0x1b6305[_0x122923(0x130,'wMnS')]});return new Promise((_0x25468a,_0x2d1d3b)=>{const _0x5111ee=_0x122923,_0x5a144e={'YDyBs':function(_0xd7dff,_0x1e0a77){const _0x1bc705=_0x5687;return _0x1b6305[_0x1bc705(0x229,'GLAR')](_0xd7dff,_0x1e0a77);},'rdnLw':_0x1b6305[_0x5111ee(0x20d,'bm$b')],'EYQTZ':_0x1b6305[_0x5111ee(0x213,'FtT)')],'HHTns':function(_0x57ab6b,_0x2fa8b2){const _0x4bf0a6=_0x5111ee;return _0x1b6305[_0x4bf0a6(0x265,'%$CN')](_0x57ab6b,_0x2fa8b2);},'HFedg':function(_0x19f358,_0x5be2d5){const _0x528d01=_0x5111ee;return _0x1b6305[_0x528d01(0x1b2,'5x9N')](_0x19f358,_0x5be2d5);},'xUCQC':_0x1b6305[_0x5111ee(0x153,'BKo9')],'hizZa':function(_0x11b77e,_0x2d5d8a){const _0x56d022=_0x5111ee;return _0x1b6305[_0x56d022(0x168,'mb@l')](_0x11b77e,_0x2d5d8a);},'hrGuV':_0x1b6305[_0x5111ee(0x135,'trpB')],'xquHE':_0x1b6305[_0x5111ee(0x17c,'6kAl')],'gfOdW':_0x1b6305[_0x5111ee(0x1e2,'prC@')],'XEmHG':function(_0x1e398a,_0x2d3e8a){const _0x1264c1=_0x5111ee;return _0x1b6305[_0x1264c1(0x141,'5x9N')](_0x1e398a,_0x2d3e8a);},'zfFMh':_0x1b6305[_0x5111ee(0x14c,']ECk')],'lkAWW':function(_0x1dfccb,_0x20fd1c){const _0x487a99=_0x5111ee;return _0x1b6305[_0x487a99(0x232,'prC@')](_0x1dfccb,_0x20fd1c);},'fzaoo':_0x1b6305[_0x5111ee(0x170,'FtT)')],'YGKTO':_0x1b6305[_0x5111ee(0x17f,']ECk')],'BYVLb':_0x1b6305[_0x5111ee(0x13c,'@41!')],'lkcbL':function(_0x54eda6,_0xb0a91b){const _0x43595a=_0x5111ee;return _0x1b6305[_0x43595a(0x19d,'qdJ*')](_0x54eda6,_0xb0a91b);},'YGUWz':function(_0x13fff5,_0xd11f7b){const _0x4dcd63=_0x5111ee;return _0x1b6305[_0x4dcd63(0x1e1,']ECk')](_0x13fff5,_0xd11f7b);}};let _0x336969='',_0x55144b='',_0x2c6695='';const _0x54358f=[];_0x529650[_0x5111ee(0x1d7,'2B3Q')]['on'](_0x1b6305[_0x5111ee(0x18b,'xh@N')],_0x207a6a=>{const _0x31472a=_0x5111ee;_0x336969+=_0x207a6a[_0x31472a(0x1fe,'qdJ*')](_0x5a144e[_0x31472a(0x1ba,'5*k7')]);const _0x1ba8f6=_0x336969[_0x31472a(0x249,'rBC*')]('\x0a');_0x336969=_0x1ba8f6[_0x31472a(0x17e,'Xy5w')]();for(const _0x50f589 of _0x1ba8f6){const _0x421e94=_0x50f589[_0x31472a(0x143,'wa42')]();if(!_0x421e94||_0x5a144e[_0x31472a(0x166,'IJ!c')](_0x421e94,_0x5a144e[_0x31472a(0x1ac,'xh@N')]))continue;const _0xeaa40c=_0x421e94[_0x31472a(0x21d,'xKJp')](_0x5a144e[_0x31472a(0x21a,'wMnS')])?_0x421e94[_0x31472a(0x127,'xh@N')](0x30e+0x1d*-0x126+-0x9b*-0x32):_0x421e94;try{const _0x34aee3=JSON[_0x31472a(0x1a6,'wMnS')](_0xeaa40c),_0x2a2e9a=_0x34aee3[_0x31472a(0x1e8,'XLYy')]?.[0x616*0x2+-0x1f21+0x12f5]?.[_0x31472a(0x1fa,'bm$b')]?.[_0x31472a(0x137,'56*c')]??[];for(const _0x29f5ae of _0x2a2e9a){if(_0x5a144e[_0x31472a(0x1b0,'XLYy')](_0x5a144e[_0x31472a(0x16e,'NCX[')],_0x5a144e[_0x31472a(0x1b6,'egy*')])){const _0x38ab1c=ElGHlF[_0x31472a(0x131,'w9Gb')](_0x17c72a,_0x557cab),_0x206b21=_0x38ab1c?.[_0x31472a(0x173,'prC@')]??ElGHlF[_0x31472a(0x1bb,'2B3Q')];if(!_0x4c9c6f[_0x31472a(0x270,'56*c')](_0x206b21))throw new _0x3a52cc(_0x31472a(0x194,'wa42')+_0x31472a(0x1d9,'qdJ*')+_0x31472a(0x236,'#Ndv')+_0x206b21);const _0x4fee41={'inlineData':{'mimeType':_0x206b21,'data':_0x15b7b1[_0x31472a(0x151,'qVsf')](ElGHlF[_0x31472a(0x21c,'Zlb&')])}},_0xb36cec=_0x376760[ElGHlF[_0x31472a(0x22c,'NwqT')](_0x5efddc[_0x31472a(0x253,'bm$b')],0x1a1a+0x9b9+-0x46*0x83)];if(ElGHlF[_0x31472a(0x15a,'xePr')](_0xb36cec?.[_0x31472a(0x1c1,'7fu6')],ElGHlF[_0x31472a(0x1b3,'xePr')]))_0xb36cec[_0x31472a(0x242,'xePr')][_0x31472a(0x1d8,'2B3Q')](_0x4fee41);else _0x60768b[_0x31472a(0x23d,'NN83')]({'role':ElGHlF[_0x31472a(0x257,'^qWD')],'parts':[_0x4fee41]});}else{if(_0x29f5ae[_0x31472a(0x1eb,'gB1d')]&&_0x29f5ae[_0x31472a(0x1ce,'BKo9')])_0x55144b+=_0x29f5ae[_0x31472a(0x12f,'o%St')],_0x5a144e[_0x31472a(0x139,'wMnS')](_0x1e4a51,_0x29f5ae[_0x31472a(0x266,'prC@')]);else{if(_0x29f5ae[_0x31472a(0x1c9,'0Dy1')])_0x2c6695+=_0x29f5ae[_0x31472a(0x222,']HHe')],_0x5a144e[_0x31472a(0x1a4,'6kAl')](_0x289fe5,_0x29f5ae[_0x31472a(0x1a7,'XLYy')]);else{if(_0x29f5ae[_0x31472a(0x224,'rBC*')+'ll']){if(_0x5a144e[_0x31472a(0x25a,'gB1d')](_0x5a144e[_0x31472a(0x1ca,'xKJp')],_0x5a144e[_0x31472a(0x149,'IJ!c')]))_0x54358f[_0x31472a(0x14d,'NwqT')](_0x29f5ae);else{const _0x45d1b9=[];if(_0x1293f9)_0x45d1b9[_0x31472a(0x14d,'NwqT')]({'text':_0x2450b5,'thought':!![]});if(_0xefbdda)_0x45d1b9[_0x31472a(0x183,'mb@l')]({'text':_0x414316});_0x45d1b9[_0x31472a(0x22a,'Y^b8')](..._0x27914b),_0x5a144e[_0x31472a(0x201,'bm$b')](_0x360b87,_0x45d1b9),_0x5a144e[_0x31472a(0x21f,'GLAR')](_0x13639a,{'parts':_0x45d1b9});}}}}}}}catch{}}}),_0x529650[_0x5111ee(0x23f,'6kAl')]['on'](_0x1b6305[_0x5111ee(0x25e,'NN83')],()=>{const _0x4c8716=_0x5111ee;if(_0x5a144e[_0x4c8716(0x218,'5x9N')](_0x5a144e[_0x4c8716(0x144,'#Ndv')],_0x5a144e[_0x4c8716(0x199,'qdJ*')])){const _0x5944f7=[];if(_0x55144b)_0x5944f7[_0x4c8716(0x204,'CW8b')]({'text':_0x55144b,'thought':!![]});if(_0x2c6695)_0x5944f7[_0x4c8716(0x212,'sgO^')]({'text':_0x2c6695});_0x5944f7[_0x4c8716(0x262,'xePr')](..._0x54358f),_0x5a144e[_0x4c8716(0x15f,'#ucP')](_0x1fac85,_0x5944f7),_0x5a144e[_0x4c8716(0x1f0,'ciSi')](_0x25468a,{'parts':_0x5944f7});}else _0x232377+=_0x2f658d[_0x4c8716(0x1ff,'NN83')],_0x5a144e[_0x4c8716(0x174,'7fu6')](_0x1886d8,_0x453281[_0x4c8716(0x13f,'wa42')]);}),_0x529650[_0x5111ee(0x1c5,'$MLy')]['on'](_0x1b6305[_0x5111ee(0x1dc,'gB1d')],_0x2d1d3b);});}function _0x36d1(){const _0x1a4098=['W6tdKxFcTmounh/cU8op','W6KFWQBdVq','W6bHqcaK','cJtdUxFdV8oAW7ldOCkW','WRLxdWNcLJKFW5JcS8ke','W54MAW','jmoGW6JcQG','eCkCsNhcJa','W75KW6zrW5Wbdq','WR3dUupdOSo6nsddV8kyla','WPpcJmoDfq','W4yAlCoMW60','W4pdIW3cNSoo','WQ1mWPyJzCo3mG3dUmov','awpcMCoLhG','W7aWiSoGW6i','lSoLCmoduq','W6ldVNDKW68','WPVdU8ovWQX7','W7KJW7BdIq','a8k7oCoJuq','WQX5bmoBEq','FclcISobW7NcLgG','W7BdK8koWOSEWO1zWRbgsW','xcGCWRxcHmoEW5WhW6qG','W6/dVhhcNNi','WOFcH8o+W4VdQvVcMY9f','W4yMAMldVW','DmokwmoRW7BcUH7dOCkgW40SgtZcRG','emkLa8oIsG','r8kDW7vXb8kEiJ7cQtK','WQrSdK42W4e','W4NdVSkNW6WN','WPZcVSk3yW','uaBcV8oKWOBdPMaFW5XX','W77dHWZcJa','WOJdJCoKWPL7','WR7dVCoDWPLS','jrhcOvug','W77dKb3cLq','W4nUtWmI','WQ9wWPW+B8k2kq','W5DkhCo/W74','W74am8krEG','y8opWRRdULtcQ3zTsJ8','gIFdVh3dVW','WQjUtrGUWPzODXWW','WPbXWQLlWPLfWO3cJf5W','WQb1burm','nCkogCkZ','WPpcQmooW7Ca','W5a1W6axWQXyWOZcLKOG','W4VdGCkMW4XsuZboWQG','atpdPctdOmoKWPe5','W4hdOSo0nSkbi8k7W7JdPSoE','pGBcT00v','W7G5WQZdLhHHtmkgWQdcRG','W4tcMgtcTuvNWQjVvIC','Ed7cLmoaW6tcLNCsW5b2','jmoRW5hcLve','W6H8WQ4','WOj/kIxcTmkiW6LXWRHnW707la','w8okl8oWW40','W4OIWQldM3m','WOBdGmo9W4hdQrpcLJXnWQa','W5RdPZhcU8oS','W67cGKxdISkFFSkXbSojW70','pg3cICoeja','W5CfW7xdP2v9wSorWPhcJG','W57dKCk6W5esfcvcWQC','B8kHWOnvW4BdH8omhmkG','u1ddRCkRW7q','WOxcV8o4W7C3WQLtWPPs','WPbGWRqqWODuWO/cILXY','nbVdUhBdTW','WQj0DSkruaDzrfVcNW','W7xdVxhcGSo3','jIxcN8orW4SmWPmYkge','WOGmWOKsEW','ftddVhxdTCoAW7JdP8kG','W4G4WR3dM2G+ESoeWONcNW','WOzedSoTB00','B3hdRSkQW5C','W6BdL0dcPCojCNZcRa','W47dISkrW5JcTW','imoArmkDoa','W6ZdIXRcNa','W53cLhhcPa','xeLJAmkU','W7OjW4f5B8oUB1lcRSoA','W4DKsmknWRS','WRnXW4rqW5i','W68NW73dMmkRW7K','nXCphs8','W4jwcmoFW5BcHtNdJ14j','urxdTmoUW5NcVWyAW5Pf','zCktWRzrW6m','WQGIeKH0WPbWnrOG','W5hdQ00','WOnFgx1y','WRjon35z','WODseCo8','W4jthmoAW5ddItxdI1ib','W6ldJwdcUq','WOpcGCo2W4S','W4tcMgtcTuv8W7XO','qalcHGpdG8k0WRJcKSk3aa','D8kIWRpdQs3dVsjurGtdH8oAW4a','uLtdUmoJWO4','qCkgWR5JW63cQCoVk8owW7K','WQr9ouH3WOi3icCr','W6agcCorW7a','W4WIWOtdSMq','hZldS2BdTCkBW6S','W6ldL8klW4pcMmkyoq','pmkvhmky','AWNcGahdH8k0W6W','ASk1WPnDWPpdIa','WO3dOmklW4SZxXq','yc3cSrxdRG','W5/dJaFcJCoulSknoCkqW4S','i8ojWRaXrCowFx/dQw8','DIVcHmogW7FcMxuuW516','dCkYlCkt','lmomW6RcG3G','WQGlk8kdWPy','WPBdPu7dQCo4W4r0f2W','A8o6WObzW4tcHCoy','kSkmba','WP4Ilmk4WOC','W5BdSgpcOmoz','WO54W6T1W5i','W7xdNx7cUmovCJ/dUmkgja','WOT2WQvn','WP/dPSkvFSkP','WQVdJCo3WOm','ySk/WQzRW74','WQ3cMNZdMcdcT2O','oCkacmotxa','W6yIoCkM','W57dLmkUW5quwcvxWQ0K','W4VdQ1rl','WQddMMRdGsK','aSoZumouBW','W40hmConW40','W5ZcMhlcPH53','WPBcN8okW6hdGG','W6pdHrRcJCouemkhpmkXW50','W4OclmkAuW','W40mbSofW5BdHa','WR/dU8oaWQHs','A8ozcCofW6K','W4JdOgLkW4PBea','ddS3iIW','W5LfkSo7W5e','WR3dICoIWO8','btpdHcq','W7ldJmkxW5lcNmkB','WP/dOM3dTCob','WOpcS8k0sSoh','WOvaW71NW4u','qbJdJGxcKCoPWR7cJSo0cG','WRNcUmkOCCoN','W55MWQ9BWOvsWPhdNL1R','pwNcJSodba','qK1owG','vrFcU8oPW5xcPvOVW7Pq','W6qRW6/dMSo4W6ldH0bHzG','yxldKmktWPavW6WSg2W','tq3cLri','ec7dHt/dOa','W6/cMmkUW54TrCoHm8omW6uxpq','mCo1W63cVW','qalcS8oX','WQfiW69QW6q','WPBdOfRdRmo+WOHIaNpcKa','WO/dOmkoz8kZySkLW5X0','uHlcPCoMW4JcR1q1W6ar','eZRcQha','yYlcQmo1W6q','qmkVo8ojv3ivWQVdPmouh07dHG','WParw8kaW43dIWBdKxex','W4etpmoXWQDSjN8','oCkacmousG','WO7cHSoqcW','WR93WRZcI8kQW7RcMfDuDmovW5FdSG','WRNcR8oiW6pdMtFcUW1PWPC','WPxcTSkUzW','WOhcOSkPBG','WO5Yg8kMWPJcT8kApSoyxW','W6qRW6/dMSo4W6ldHvvTzW','f8o1zCkebZm','WQThWQ1DWQW','hvjqumouWP3dLmkSWRH6','W6iTW6BdICoPWR3cGGuQmG','W7azW7VdTM9JbCoxWPVcMa','WOFdSvJdTmoK','WRvQpevs','W4tcU3tcJJG','WR8cW5VdJSotWQNdVq','WP1QWQ5lWOvFWPy','W6qRW6/dMSo4W6ldHvvTyG','W4zKEmoqWRTa','nCkugCkV','W7eMl8k2FvebbWJcQa','fuxdNmkvk17dOWXGWQW','WQOJWR4aEMFcVcjatq','WOPTWQ9kWODzWPy','WPtdV0tdTmoYWOv3','WO/dRCkpESk4Aa','W6NdMCkw','DSoluSkzW7ddJMhcLCoMWRi','WQJcQCopW7NdVa','WQTiWQiftG','W7xdNCkDW4m','sM3cPslcO8odW7xdN8kcnejs','W7pdIgpcVCosEhpcV8obEG','WRJdNCoYWODXxmoTdSoPW7W','f8ouWRaTrSosC2pdQq','WRNcJHVdHdNcQqFdRCk2emolgCkl','WOxcVCklFmoj','WRK3WQmm','WQpcJ8oxW40wWPvO','W6JdNmoFW5tdICofECkixLi','WOrXispcTSorWRDEWQLW','reDAs8owWOddH8k7WQv3','WP49lSk7WOBcU8oulq','W4jPAmkj','k8ouamkOWQVdPq','WPNcPmoaW7Sa','W6pdH3ZcN0u','W4ajW4RdUmor','WRXmWOeI','WP3cNNNcRX5TW653hNO','WQTxWOW','W7DiDa','WQf8lwre','W7FdPCkmW7uIEav3WOem','uuTdumkq','WOr4WQahvCkBhd7dMSkP','WQiwWOiUBa','WOtcICoDW4Ku','W77dL0/cKwxcVLldQSo3','umoaa8orW6tcOCkzFKRdIa','m8o5AmkcbZmc','WQDGhMf3','nWmoaq','W5NdOSkDW7VcQW','W49Bu8k+WQu','DSo/ASoYW5JcMSkRcLldIa','W54ZBgBdV8kkW7yvWQXO','WRNcR8oPW7mb','WOhdRCo7WQzz','W7OZnCkIzW9pxbJcQa','lSkhnCoeBG','cSo+B8ovESkw','nmofwmkKoa','WRrgW693W78IaelcUCko','bHevdCkuWPVdO8kQWP5u','k8oZW7VcGhq','W7zmAJazyW','nxxcICouarRcRW','W60pWQ3dOq','WQiwWPG5zCk2zKRdVmkg','WOFcNmosg8ozcSk+WR7cMmoE','iZ7cVhiPWPJcPe7dL0m','WPTJla','yxldKmktWPahWQaQa2S','Emk9WOnzW4BdH8owaCoL','jmoFW6pcIvK','hmoICmoj','WQJcJ8ox','dCkZpSk1WRC','W4tdSXbgW5rncM/cGCoL','aN/cS2uUWPFdOHJcMay','iCostCo1','WPdcTq8vWPmprZdcUSoDWRuyCSoi','mW/dHe3dG8kWW4FdM8khaG','W6BcRL/cGaK','W7VdLxlcTSoEnglcPCop','B8kKWPDqW4dcI8oagmo6W4q','xqNcMqC','W78tja','zJ7cUcZdQSkhWPJcRSohia','W5PSpmo8W4S','WQmsW6HSW6C0D1/cTmkw','WOC8imonW4ePjCo+W6OrmCoHWQ4','WRDDW71X','WQVcR8oTW7iG','W4z5y8kv','WObRodpcULLIW6VcHSk6','ASk1WPnD','WPBdPu7dQCo4W4rSex0','W5fmamot','y8oTomoGW5K','W7fJFJiv','W4C3W7GpW4bZWPFcIL5/','W5GJF8kEWOz0ACkKW6Wn','pCkeaSoufSo6W5pcOwldHG','WQPOe0X0WP0','W4BcLhJcPauWW7H+ttO','WPlcMCoqeCoz','WPvTmxJcVXmLW6FcN8k+','fSo5zmkDg2XdWRhcI8oz','WR8RWRqbFcZcSczawq','W5hdUCkdW67cMq','W5WBjCoIW60GiMZdN0G','zxbU','W4ddTe1jW4HDh3tcHCo+','W4bLDmkyWP0+zCkKW7Kv','tYGaWQxcNG','WQZcHCoxW54hWPm','CCkRWRpdRcldSID4DspdISoDW4C','aSoOE8kzdcy','WQVdH8o6WOS','WRexWPm1ua','WP/dGCoOW5RdOa','W5D+y8kyWOySsmoDW5Lu','WRzdWQvBWOC','WQa8WR3dGvDECa','W7ybWRW8WR5IyfJcJ8kjnSoPwq','kCkGqSoJkmkHW4tdUmktW7G','W752EmkNWOG','WQmFomkyWR8','talcHq','oG7dRG/dMSomWQ0Fqfu','y8o5oCo8','rSkvWRvXW7BcQ8oGomowW6W','WQG3WRqnFcZcVd9dwa','nCo9WPSYEa','W4tcMgtcTq','WOJdVmktE8k6BCk4','WRn+gfK','W5adWQZdS2O','pSoIWOiaCmo0qq'];_0x36d1=function(){return _0x1a4098;};return _0x36d1();}export async function chat(_0x264c8b=[],_0x4ad45d=null){const _0x335093=_0x15dbc0,_0x241ce8={'EFfej':function(_0xa30aec,_0x120aae){return _0xa30aec(_0x120aae);}},{parts:_0x599d54}=await _0x241ce8[_0x335093(0x12b,'xh@N')](callGemini,{'messages':_0x264c8b,'fileBuffer':_0x4ad45d});return _0x599d54[_0x335093(0x21b,'Y^b8')](_0x37e452=>!_0x37e452[_0x335093(0x267,'Oj8D')])[_0x335093(0x226,'oOa%')](_0x5ee927=>_0x5ee927[_0x335093(0x235,'$MLy')]??'')[_0x335093(0x1a9,'Xy5w')]('');}
package/src/skills.js CHANGED
@@ -96,6 +96,36 @@ export async function listNpxSkills() { return (await npxSkills("list")).stdo
96
96
  export async function updateSkill(slug = "") { return (await npxSkills(slug ? `update ${slug} -y` : "update -y")).stdout; }
97
97
  export async function initSkill(name = "") { return (await npxSkills(name ? `init "${name}"` : "init")).stdout; }
98
98
 
99
+ // ─────────────────────────────────────────────────────────────────
100
+ // Parse YAML frontmatter from SKILL.md
101
+ // Format:
102
+ // ---
103
+ // name: skill-name
104
+ // description: "..."
105
+ // ---
106
+ // ─────────────────────────────────────────────────────────────────
107
+ function parseFrontmatter(content) {
108
+ const match = content.match(/^---\s*\n([\s\S]*?)\n---/);
109
+ if (!match) return { name: null, description: null, body: content };
110
+
111
+ const fm = match[1];
112
+ const body = content.slice(match[0].length).trim();
113
+
114
+ const nameMatch = fm.match(/^name:\s*(.+)$/m);
115
+ const descMatch = fm.match(/^description:\s*["']?([\s\S]*?)["']?\s*$/m);
116
+
117
+ // description may span multiple lines if quoted
118
+ const descFull = fm.match(/^description:\s*"([\s\S]*?)"\s*$/m)
119
+ ?? fm.match(/^description:\s*'([\s\S]*?)'\s*$/m)
120
+ ?? fm.match(/^description:\s*(.+)$/m);
121
+
122
+ return {
123
+ name: nameMatch?.[1]?.trim() ?? null,
124
+ description: descFull?.[1]?.replace(/\s+/g, " ").trim() ?? null,
125
+ body,
126
+ };
127
+ }
128
+
99
129
  // ─────────────────────────────────────────────────────────────────
100
130
  // Load installed skills from SKILLS_DIR
101
131
  // ─────────────────────────────────────────────────────────────────
@@ -108,13 +138,18 @@ export function loadSkills() {
108
138
  const skillMd = path.join(SKILLS_DIR, entry.name, "SKILL.md");
109
139
  if (!fs.existsSync(skillMd)) continue;
110
140
 
111
- const content = fs.readFileSync(skillMd, "utf8");
112
- const nameMatch = content.match(/^#\s+(.+)$/m);
141
+ const content = fs.readFileSync(skillMd, "utf8");
142
+ const fm = parseFrontmatter(content);
143
+
144
+ // Fallback: try # heading if no frontmatter
145
+ const headingMatch = content.match(/^#\s+(.+)$/m);
146
+
113
147
  skills.push({
114
- name: nameMatch?.[1]?.trim() ?? entry.name,
115
- slug: entry.name,
148
+ name: fm.name ?? headingMatch?.[1]?.trim() ?? entry.name,
149
+ description: fm.description ?? fm.body.split("\n").find(l => l.trim() && !l.startsWith("#"))?.slice(0, 120) ?? "",
150
+ slug: entry.name,
116
151
  content,
117
- path: path.join(SKILLS_DIR, entry.name),
152
+ path: path.join(SKILLS_DIR, entry.name),
118
153
  });
119
154
  }
120
155
  return skills;