@ikyyofc/gemini-cli 3.0.6 โ 3.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -29
- package/index.js +16 -2
- package/package.json +1 -1
- package/src/gemini.js +1 -1
- package/src/skills.js +11 -0
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Gemini CLI ๐ค
|
|
2
2
|
|
|
3
|
-
> AI Agent CLI โ native function calling ยท GEMINI.md context ยท extension system
|
|
3
|
+
> AI Agent CLI โ native function calling ยท Skills ยท GEMINI.md context ยท extension system
|
|
4
4
|
|
|
5
5
|
```
|
|
6
6
|
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
@@ -8,19 +8,7 @@
|
|
|
8
8
|
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
Gemini CLI adalah asisten terminal bertenaga AI yang menggunakan model Gemini dari Google. CLI ini bukan sekadar antarmuka chat biasa, melainkan sebuah **AI Agent** yang dapat berinteraksi langsung dengan sistem file
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## ๐ Dokumentasi Lengkap
|
|
16
|
-
|
|
17
|
-
Untuk detail lebih lanjut mengenai arsitektur dan fitur spesifik, silakan baca dokumentasi berikut:
|
|
18
|
-
|
|
19
|
-
- [**Architecture Overview**](./docs/ARCHITECTURE.md) - Penjelasan tentang ReAct loop dan cara kerja agent.
|
|
20
|
-
- [**API Reference**](./docs/API.md) - Referensi fungsi utama (`callGemini`, `chat`).
|
|
21
|
-
- [**Tools (Function Calling)**](./docs/TOOLS.md) - Daftar lengkap tool yang tersedia untuk agent (baca file, jalankan shell, dll).
|
|
22
|
-
- [**Extensions System**](./docs/EXTENSIONS.md) - Cara membuat dan mengelola ekstensi serta custom commands.
|
|
23
|
-
- [**Memory & Context**](./docs/MEMORY.md) - Panduan menggunakan `GEMINI.md` untuk memberikan konteks pada agent.
|
|
11
|
+
Gemini CLI adalah asisten terminal bertenaga AI yang menggunakan model Gemini dari Google. CLI ini bukan sekadar antarmuka chat biasa, melainkan sebuah **AI Agent** yang dapat berinteraksi langsung dengan sistem file, menjalankan perintah shell, dan menggunakan *skills* pihak ketiga secara mandiri (*native function calling*).
|
|
24
12
|
|
|
25
13
|
---
|
|
26
14
|
|
|
@@ -39,23 +27,27 @@ npm link # optional: pakai sebagai `gemini` di terminal
|
|
|
39
27
|
Anda dapat menggunakan Gemini CLI dalam mode interaktif (REPL) atau mode *one-shot* langsung dari terminal.
|
|
40
28
|
|
|
41
29
|
```bash
|
|
42
|
-
gemini
|
|
43
|
-
gemini "buatkan REST API di ./api"
|
|
30
|
+
gemini # Masuk ke mode interactive agent
|
|
31
|
+
gemini "buatkan REST API di ./api" # One-shot task
|
|
44
32
|
gemini --system "Kamu senior backend engineer" # Set system prompt
|
|
45
33
|
gemini --file ./app.js "jelaskan kode ini" # Lampirkan file
|
|
46
34
|
gemini --yolo "refactor semua file di src/" # Skip semua konfirmasi tool (HATI-HATI)
|
|
47
|
-
gemini --chat
|
|
35
|
+
gemini --chat # Plain chat tanpa tools (bukan agent)
|
|
48
36
|
```
|
|
49
37
|
|
|
50
38
|
### Interactive Commands
|
|
51
39
|
|
|
52
40
|
Saat berada di dalam mode interaktif, Anda dapat menggunakan perintah berikut:
|
|
53
41
|
|
|
54
|
-
```
|
|
42
|
+
```text
|
|
55
43
|
/agent โ Toggle agent mode (tools on/off)
|
|
56
44
|
/yolo โ Skip all tool confirmations
|
|
57
45
|
/file <path> โ Attach file to next message
|
|
58
46
|
/system <text> โ Set system instruction
|
|
47
|
+
/skill โ Manage skills (/skill list, add, remove, find, update, init)
|
|
48
|
+
/memory โ Manage memory/context (/memory show, reload, add)
|
|
49
|
+
/ext โ Manage extensions (/ext list, install, uninstall, enable, disable)
|
|
50
|
+
/proxy โ Toggle proxy rotation (/proxy on, /proxy off)
|
|
59
51
|
/history โ Show conversation turns
|
|
60
52
|
/export <file> โ Export history to JSON
|
|
61
53
|
/cd <path> โ Change working directory
|
|
@@ -71,34 +63,42 @@ Saat berada di dalam mode interaktif, Anda dapat menggunakan perintah berikut:
|
|
|
71
63
|
## ๐ง Fitur Utama
|
|
72
64
|
|
|
73
65
|
### 1. Native Function Calling (Tools)
|
|
74
|
-
Agent dapat membaca file, menulis file, menjalankan perintah shell, dan mencari file secara mandiri untuk menyelesaikan tugas yang Anda berikan.
|
|
66
|
+
Agent dapat membaca file, menulis file, menjalankan perintah shell, dan mencari file secara mandiri untuk menyelesaikan tugas yang Anda berikan.
|
|
67
|
+
|
|
68
|
+
### 2. Skills System
|
|
69
|
+
Gemini CLI mendukung integrasi *Skills* melalui `npx skills`. Anda dapat menginstal keahlian tambahan yang akan otomatis dimuat ke dalam prompt system agent.
|
|
70
|
+
Contoh: `/skill add anthropics/skills --skill frontend-design`
|
|
71
|
+
|
|
72
|
+
### 3. Hierarchical Context (`GEMINI.md`)
|
|
73
|
+
Berikan instruksi spesifik proyek atau global menggunakan file `GEMINI.md`. Agent akan memuat konteks ini secara otomatis. Gunakan `/memory` untuk mengatur teks konteks di memori secara dinamis selama sesi berlangsung.
|
|
75
74
|
|
|
76
|
-
###
|
|
77
|
-
|
|
75
|
+
### 4. Extension System
|
|
76
|
+
Perluas kemampuan CLI dengan membuat ekstensi yang berisi custom commands dan konteks tambahan. Kelola menggunakan perintah `/ext`.
|
|
78
77
|
|
|
79
|
-
###
|
|
80
|
-
|
|
78
|
+
### 5. Proxy Rotation
|
|
79
|
+
Sistem menggunakan proxy rotasi secara otomatis (`src/utils/proxy.js`) sehingga requests Anda stabil. Status dapat diatur menggunakan perintah `/proxy`.
|
|
81
80
|
|
|
82
81
|
---
|
|
83
82
|
|
|
84
83
|
## ๐ Struktur Direktori
|
|
85
84
|
|
|
86
|
-
```
|
|
85
|
+
```text
|
|
87
86
|
gemini-cli/
|
|
88
87
|
โโโ index.js โ CLI entry + REPL + commands
|
|
89
88
|
โโโ package.json
|
|
90
|
-
โโโ docs/ โ Dokumentasi lengkap
|
|
91
89
|
โโโ src/
|
|
92
90
|
โ โโโ gemini.js โ API client (native function calling)
|
|
93
91
|
โ โโโ tools.js โ functionDeclarations + executor
|
|
94
92
|
โ โโโ agent.js โ ReAct loop
|
|
95
93
|
โ โโโ memory.js โ GEMINI.md hierarchy loader
|
|
96
94
|
โ โโโ extensions.js โ Extension manager
|
|
95
|
+
โ โโโ skills.js โ Skills manager via npx skills
|
|
97
96
|
โ โโโ renderer.js โ Terminal UI + markdown
|
|
98
|
-
โ
|
|
99
|
-
โโโ utils/
|
|
100
|
-
|
|
101
|
-
|
|
97
|
+
โ โโโ input.js โ Bracketed paste via Transform stream
|
|
98
|
+
โ โโโ utils/
|
|
99
|
+
โ โโโ proxy.js โ Global proxy manager
|
|
100
|
+
โ โโโ spinner.js โ Loading spinner
|
|
101
|
+
โ
|
|
102
102
|
~/.gemini/ โ Global config dir (dibuat otomatis)
|
|
103
103
|
โโโ GEMINI.md โ Global context
|
|
104
104
|
โโโ extensions/ โ Folder instalasi ekstensi
|
package/index.js
CHANGED
|
@@ -27,7 +27,7 @@ import { Spinner } from "./src/utils/spinner.js";
|
|
|
27
27
|
import {
|
|
28
28
|
listInstalledSkills, installSkill, removeSkillNpx,
|
|
29
29
|
findSkills, listNpxSkills, updateSkill, initSkill,
|
|
30
|
-
ensureSkillsDirs, loadSkills,
|
|
30
|
+
ensureSkillsDirs, loadSkills, cleanLockFile,
|
|
31
31
|
} from "./src/skills.js";
|
|
32
32
|
|
|
33
33
|
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
@@ -35,6 +35,7 @@ import {
|
|
|
35
35
|
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
36
36
|
ensureGlobalDir();
|
|
37
37
|
ensureSkillsDirs();
|
|
38
|
+
cleanLockFile(); // remove skills-lock.json from cwd on every startup
|
|
38
39
|
setupGlobalProxy(); // aktifkan rotasi proxy sebelum request apapun
|
|
39
40
|
|
|
40
41
|
let extensions = loadExtensions();
|
|
@@ -133,10 +134,23 @@ function attachFile(fp) {
|
|
|
133
134
|
// Send message
|
|
134
135
|
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
135
136
|
async function send(rawLine) {
|
|
136
|
-
// Decode \x00 โ \n from paste encoding
|
|
137
137
|
const userText = restorePaste(rawLine).trim();
|
|
138
138
|
if (!userText) return;
|
|
139
139
|
|
|
140
|
+
// Clear terminal when there's previous history so it stays light.
|
|
141
|
+
// Keep last exchange visible by reprinting it first.
|
|
142
|
+
if (history.length >= 2) {
|
|
143
|
+
process.stdout.write("\x1Bc");
|
|
144
|
+
// Reprint the last assistant response as context
|
|
145
|
+
const lastAssistant = history.filter(m => m.role === "assistant").at(-1);
|
|
146
|
+
if (lastAssistant) {
|
|
147
|
+
process.stdout.write(chalk.hex("#4A4A5E").dim(
|
|
148
|
+
` (${Math.ceil(history.length / 2)} turns in memory)\n`
|
|
149
|
+
));
|
|
150
|
+
printAssistant(lastAssistant.content);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
140
154
|
printUser(userText + (pendingFile ? chalk.dim(` [${path.basename(pendingPath)}]`) : ""));
|
|
141
155
|
|
|
142
156
|
if (agentMode) {
|
package/package.json
CHANGED
package/src/gemini.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x4693ef=_0x29cf;function _0x337b(){const _0x5d0974=['WRaiWRdcUsq','m8owW6/dV8od','WRqpWRtcIa4','W6zRoCoStmob','W71LW6/dNmkXWRy3WPOyW5e','W4tdI3vnwJna','oJtdRetdGtSEtx/cIW','W4hdIf3dNMuCh8o+smoq','W7C4yW','aqbzW6pcICosWPSawW','oc1VW6hcKq','W54gcCkDW6dcOWG','ccKqWPiiW7G','zIGVWOvp','W6j3mhi','W5tcLLaMWOiEF8o8euO','xmkpW5vZgLasdwFdPW','iupdHrVcTr8e','WOFdMCodiCkD','atddNIOxW4xdQCo+uSoD','iKjcWPlcMKRcH8krotW','fHXzW6/cICosWPrmsXG','sWeVWOXP','WO4dWOrpCvRdTSo0rSoI','WRpdH8kY','fflcJCo6kSoHdCo5lYm','guZcM8oMkCo/eCo3mJu','BbBdTCk7W74QWPNcUxi+','WPOknmkTW68DW78','iMn4W4KOFCkIhSoMpW','W4hdPt/cUCoIFuNcLslcTq','WO7dJ8ofjCkBW7nJWPpcOXm','WRVdTSk4W7FdRq','W57cHe4+WRK','W7/dRv19','W5TrW6ZcJSoKWO8','yG8SpX/dO33cV8oVxG','WRpdJ8kVW7y','aSoHW7NdLmoz','qgVcLNyVW5ZcQmk+bmov','WO8dWQ1TFa','W79PoSoiErxdMSo/cmoSySkN','WQJdJ8kMW7BdGCkXWQhcPa3cSG','dshdKSkgW74','rmoRitRdNwHKcq','eSoCWOyLWPFdHCkNW47dIxG','wwNcMMC0WOpdQSoKxa','W75Rl8o/f8odW7hdImoYzG','W6uFcqqlD8kgWQldS3X2','W5tdTspcPmkIp0NcJI/cTW','WRFdGSkwW7ZdHCo7WRG','W4/dKx1nWQa','rmoLW4zpwG','WQZdICkUW7y','r0lcP1CZ','dImgWPq','WQ7dPZTDW6WmwCobdKFdKG','hZ8uWPul','WRSSESku','W65nimoQ','W5u0rCo6W73dKbr7WOPw','CaeeW4BdIX3dKSkegszoW7FdLW','W4NcI2Lnwq','CmoRW4RdHMC0rs0h','WQxdU8otBGFcHCkbWQLlnG','WOW9WONcGmkU','qKxcLMqo','W6S2W5VcMa0CshNdSSkq','W69OW4ZcKqKsua','x2/cJxy','fHddVCkJW4K','W7OmDmoBW4ZdPdLgWQXS','pmoPW7ZdTq','sCoqW7FdVeXAAHWRka','ECohW4xcQmobW67dULVcJSoW','WRCgWOVcPq','WP5DW7LJW6f2bh/cVgW','DtaGWPG','s8kkW6H4oSogWQNcPXe','W5anaCkJW7a','iSoJW63dRW','iWGcWPyE','WQOPECkqjK7dTSoKbSoa','gmoxWOztetzybL4','W4pdQspcQmkIp0xcL30','zmkWWQBcQSk4W7FcRJJdMCkrWR/dMW','WRZdP8kunx3dUW','WQNdQCoOcSkGWOGyW7NcIZC','vmkoW616mmogWQZcSH9r','jXZdVmkHW68Q','WP1lWO7dTmkmAmkxW7uuW4m','WR/dU8koCvRdJCkAWQPE','W5ZcU1XdWPyjpvG0W4q','W6pcRuL1WQG','W6JcSNOFW7i+tCoE','WPZcI0dcItXjFCo4s8o2WRyQ','WQDInSo/xCoAW6q','CCo4W7Lz','WR9BrejjhmooW6tdNeu','zuL7mei','WQC8z8kBo0u','W5RdP1XUWOC','W7PKW6ZdNmoHW6jVW5bIWOTc','AtldPCkCvCkwmSoXcX0Bbq','WPFcKtujdMGAo8kVW40','ASkUW6mRWOZcTmoFWQ3cUNS','WORdMd4WW4XamCkngJy','WQ16W5S','W5FdPGXlWOCvDdqoW4O','WPvkuubFvmob','W6tdKI/cG8kLihJcNt/cSW','ymo2W7TyCtldKulcPCkq','omkPW7/dQmoVWQ4','frrQW7pcHa','W58XeCo9WQdcH0e+WOTh','W4uuW7lcQZC6CvJdMSkZ','j2ekWR5/kCoxDa','iSotvKXhcSkbEtap','WR8HkSkPW7m','WORdUZCDW51mnSoblaO','W4ldTufuWPe','WQ4ZnSk0cd7dNSohW40','W6VcRCoaW6j2','WPBcLY0adrLnmmotWPbN','bNeeW43cSb3dNSkHe2u','jvxcOCoNWRf4WQVcMg5a','W6pcRvTRWQTHWP7cTslcMW','mWX1W5XBk8o2x8k9zq','W6RcVMyoWRjYu8oymwO','vr1ycKv4WR/cK8kamW','W7LRomofEbVdUSozgmocr8k/','DmoNW4/dJG','eCkJfrtdKwDajmo2dq','z0NcUuO','W7fTzCkuaa','WPxdOYJcQCkOC1VdMIBcOq','kLXvWO7cKLVcKSkCFYa','WOyLWQ7cHqG1yfJcPcu','WP/dJtyOWOPljmkuhW','W5pdOvDjWO1dkbqK','EcWIWQTv','W5RdLb/dMa','W4GyimkcW6G','W6vTW5hcRG','kK3dMa','fbPUW77cLmkuWOig','yGO4oHNcR3hcU8oJvG','W4y6wmoQ','WR88CCkiyf3dU8oXbSob','lIxdS0ddLNe','W71IW4BcKSog','q8keWQBdTmoOfsDsiwK','W6zNo27cL8kgx8kGW57dLa','cM3dUslcJZiXax/dRW','W5emcCkoW7hcPq','WOjoWOzjEHhdTCoGqSoX','WQOQESkvpfNdTSo+gW','CIWQWPv1ASo9sSk1','fJet','nSofvmkgWORdHW','W7rAW5hdUxqLrKBcSWfD','W73dO0nSWRC','WObEWQBcGNeKcK3cU0C','W6ZcKmo7WQBcLmo/WRJcPr3cSa','jHddVCk8W6qXW5xcPtf8','WOJdHYnYW49gjmksgI0','g8ojW5hdNSom','kCofqrfjh8ky','WRbvwui','W77cTNeoW6TP','gZtdHuZdGG','WQv2ECkykq','WOPAWP3dRSkz','WQWeWOBcPYnov2NcLby','xSkmW6jPmmkhWRa','W4PwBmoHWRjhWR/dOmoSWQtcTWrw','W5xdI3DC','mCkhx8ksWOdcHJa5t3a','tCkcW75PjG','gCowWOLuqtPNlIhcPa','W5NcNN1TWP0unSkUfaeSpG','mSkMW7pdSSoSWQxdQbVdH8k5','DCo+W7fzD3NdH1VcTG','W5BdRYNcUCkOFLW','iebBWO7cHW','F8kGWOZdJCkylKT2hvO','W7ZcSSozW5XqWOpdOxOYWOO','rWnpcwW','W4qPWOVcHGemwwldTCkm','vrPpbL5QWOZcQ8kNFq','WO7dRSkqW6NdMq','v8koW6yFWRe','r8kaWQZdTmk0','wmkqWQX7j8kgWQNdTZDN','pctdPuddLZKsvge','W53cGCoiW6z8nCk7W5TZWOy','WO7dO8khW5ddPG','kepcMmoRgW','WRS0WQ7cM8kN','ffxcH8o6iCoVeCoSot4','W58YrCoRW6tdUHb4WRPw','WQjED1Lx','WO/dLSoqmSknW6yRW5xcSG','xSkmWR/dP8kIqNPmpW','W6JcSNOFW7i+tCoB','n8kDua','rwDDW5a','WRjhWOdcRYKgu2NcNau','b3pdQIhcLcm/hh4','W51HgKddJq','z8o3W4RdIMC0sZWjqq','WQZdS8kzWOmmWOldQNWqWOVcIq','W6pdHxDpvJyBsmkZW5u','W6eWrSoOW5C','WOVcPGSqW4iUpbWRW5q','W5RdU10','u8kcW67cS8oPdMznlxK','dCketCkaWPxdMsGUwwu','t8kcW4f9hG','c3DZWRRcTNVcTq'];_0x337b=function(){return _0x5d0974;};return _0x337b();}(function(_0x58e0dd,_0x513015){const _0x1ab23e=_0x29cf,_0x32ddfc=_0x58e0dd();while(!![]){try{const _0x400186=-parseInt(_0x1ab23e(0x1a5,']3qC'))/(-0x1b38+0x1b96+0x3*-0x1f)+-parseInt(_0x1ab23e(0x1cc,'r5fz'))/(-0x1f88+0x2469*-0x1+0x1f1*0x23)+-parseInt(_0x1ab23e(0x1c2,'4#o@'))/(0x1096*0x1+-0x173*0x8+0x11*-0x4b)+parseInt(_0x1ab23e(0x199,'tcb['))/(0x310+-0x8e*-0xd+-0x65*0x1a)*(parseInt(_0x1ab23e(0x1d3,'rJLp'))/(-0x12cb+0x234b+-0x107b))+parseInt(_0x1ab23e(0x131,'WfyJ'))/(0x2034+0x1307+0x1*-0x3335)*(parseInt(_0x1ab23e(0x1c0,'F976'))/(0x162c+-0x407*-0x1+-0x1a2c))+-parseInt(_0x1ab23e(0x1d4,'#viq'))/(-0x12*-0x187+-0x5bb+0x15bb*-0x1)+parseInt(_0x1ab23e(0x140,'kZ1X'))/(0x92b*-0x2+0x612+0xc4d);if(_0x400186===_0x513015)break;else _0x32ddfc['push'](_0x32ddfc['shift']());}catch(_0x37ca71){_0x32ddfc['push'](_0x32ddfc['shift']());}}}(_0x337b,0x2883d+0x1*0x194e5+-0x1*0x21427));import _0x25d4a6 from'axios';function _0x29cf(_0x54ec56,_0xdfcbbd){_0x54ec56=_0x54ec56-(-0x1*0xe9d+-0x1df5+0x2dc0);const _0x2ac41f=_0x337b();let _0x4f3b75=_0x2ac41f[_0x54ec56];if(_0x29cf['gnfWec']===undefined){var _0x7886=function(_0x3a6cca){const _0xd37640='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x40c31b='',_0x463829='';for(let _0x5ab6bf=0x2*-0x12fd+-0x2*-0x1279+0x18*0xb,_0x59e18d,_0x4febce,_0x13a0e3=0x15fc+0x1*0x1c0d+-0x3209;_0x4febce=_0x3a6cca['charAt'](_0x13a0e3++);~_0x4febce&&(_0x59e18d=_0x5ab6bf%(-0x18dc+0x1c44+-0x3e*0xe)?_0x59e18d*(0x51*0x4c+-0xd1*-0x5+-0x1*0x1be1)+_0x4febce:_0x4febce,_0x5ab6bf++%(-0x2552+-0xbef+0x3145*0x1))?_0x40c31b+=String['fromCharCode'](-0x1f19+0xf*0xa+-0x1f82*-0x1&_0x59e18d>>(-(0x3*0x69d+-0x1*-0x5b1+-0x1986)*_0x5ab6bf&0x67a*0x5+0x259*0x2+-0x250e)):-0x25a7+0x24c9+0xde){_0x4febce=_0xd37640['indexOf'](_0x4febce);}for(let _0x288216=0xc*-0x1c4+0x213e+-0xc0e,_0xf3fcd8=_0x40c31b['length'];_0x288216<_0xf3fcd8;_0x288216++){_0x463829+='%'+('00'+_0x40c31b['charCodeAt'](_0x288216)['toString'](-0x14e7+0x64d+0x2*0x755))['slice'](-(-0x14c4+-0x11df+0x26a5));}return decodeURIComponent(_0x463829);};const _0x2388d9=function(_0x86383a,_0x5102a1){let _0x3add35=[],_0x2060df=0xe1a+-0x2*0x431+-0x1e8*0x3,_0x51bb9a,_0x22465f='';_0x86383a=_0x7886(_0x86383a);let _0x3223f1;for(_0x3223f1=0x5ac+0x1fe8*-0x1+-0x124*-0x17;_0x3223f1<-0x150*0x10+0xb0c+0x1*0xaf4;_0x3223f1++){_0x3add35[_0x3223f1]=_0x3223f1;}for(_0x3223f1=0x36*-0x40+0x842+0x53e;_0x3223f1<-0x20f*0x7+0x7bd+0x7ac;_0x3223f1++){_0x2060df=(_0x2060df+_0x3add35[_0x3223f1]+_0x5102a1['charCodeAt'](_0x3223f1%_0x5102a1['length']))%(-0x219*-0x2+-0x1*0xcbe+0x98c),_0x51bb9a=_0x3add35[_0x3223f1],_0x3add35[_0x3223f1]=_0x3add35[_0x2060df],_0x3add35[_0x2060df]=_0x51bb9a;}_0x3223f1=0x328+-0xa31+0x709,_0x2060df=0x91d+0x179b*-0x1+0xe7e;for(let _0x17c647=-0x1111+-0x51e+0x162f;_0x17c647<_0x86383a['length'];_0x17c647++){_0x3223f1=(_0x3223f1+(-0x2140+-0x2335+0x17d*0x2e))%(-0xad9+0x1*-0x151+0xa*0x151),_0x2060df=(_0x2060df+_0x3add35[_0x3223f1])%(0x1*0x1f0a+-0x2189+0x37f),_0x51bb9a=_0x3add35[_0x3223f1],_0x3add35[_0x3223f1]=_0x3add35[_0x2060df],_0x3add35[_0x2060df]=_0x51bb9a,_0x22465f+=String['fromCharCode'](_0x86383a['charCodeAt'](_0x17c647)^_0x3add35[(_0x3add35[_0x3223f1]+_0x3add35[_0x2060df])%(-0x1c1b+-0x26f1+0x440c)]);}return _0x22465f;};_0x29cf['gpAHvU']=_0x2388d9,_0x29cf['MeUntf']={},_0x29cf['gnfWec']=!![];}const _0x3e5e81=_0x2ac41f[-0x1*0x89f+-0x16d*-0xf+0xcc4*-0x1],_0x2e8497=_0x54ec56+_0x3e5e81,_0x4ddd51=_0x29cf['MeUntf'][_0x2e8497];return!_0x4ddd51?(_0x29cf['UyokGF']===undefined&&(_0x29cf['UyokGF']=!![]),_0x4f3b75=_0x29cf['gpAHvU'](_0x4f3b75,_0xdfcbbd),_0x29cf['MeUntf'][_0x2e8497]=_0x4f3b75):_0x4f3b75=_0x4ddd51,_0x4f3b75;}import{fileTypeFromBuffer}from'file-type';const CONFIG={'URL':_0x4693ef(0x1cf,'3u(L')+_0x4693ef(0x188,'2*N@')+_0x4693ef(0x173,'GPIG')+_0x4693ef(0x169,'sez7')+_0x4693ef(0x1b9,'i]FV')+_0x4693ef(0x1e2,'2rR7'),'MODEL':_0x4693ef(0x135,'2*N@')+_0x4693ef(0x1cd,'iVGN'),'HEADERS':{'User-Agent':_0x4693ef(0x194,'UH^1')+'.2','Accept-Encoding':_0x4693ef(0x139,'3u(L'),'content-type':_0x4693ef(0x181,'C]de')+_0x4693ef(0x1eb,'bKbD')+_0x4693ef(0x14e,'0b!)')+'8'}},SUPPORTED_MIMES=new Set([_0x4693ef(0x184,'6npW'),_0x4693ef(0x15c,'sez7'),_0x4693ef(0x15b,'kkIS'),_0x4693ef(0x142,'$U)U'),_0x4693ef(0x13e,'WfyJ'),_0x4693ef(0x1c5,'k2Fx'),_0x4693ef(0x1c1,'7zlu'),_0x4693ef(0x1ed,']3qC'),_0x4693ef(0x19b,'UH^1'),_0x4693ef(0x1ac,'SpHr'),_0x4693ef(0x182,'1IiA')+'v',_0x4693ef(0x1bb,'k2Fx'),_0x4693ef(0x197,'C^C8'),_0x4693ef(0x147,'S8ap'),_0x4693ef(0x17d,'F976'),_0x4693ef(0x176,'1IiA'),_0x4693ef(0x153,'GPIG'),_0x4693ef(0x19e,'7zlu'),_0x4693ef(0x1f8,'nC4N'),_0x4693ef(0x12e,'zdfE'),_0x4693ef(0x1ee,'0b!)'),_0x4693ef(0x191,'tV)s'),_0x4693ef(0x163,'SpHr')+_0x4693ef(0x1f4,'7zlu')+'us',_0x4693ef(0x1b0,'Vptx')+_0x4693ef(0x13c,'mvea'),_0x4693ef(0x201,'mvea'),_0x4693ef(0x1f7,'QDRK'),_0x4693ef(0x15d,']3qC'),_0x4693ef(0x19c,'iVGN')+_0x4693ef(0x149,'C]de'),_0x4693ef(0x205,'lFzy')+_0x4693ef(0x138,'2rR7'),_0x4693ef(0x1cb,']3qC'),_0x4693ef(0x18b,'7zlu')+_0x4693ef(0x15e,'$U)U'),_0x4693ef(0x204,'sez7')+_0x4693ef(0x168,'nC4N'),_0x4693ef(0x1d7,'QDRK')+_0x4693ef(0x130,'$U)U'),_0x4693ef(0x1f1,'tcb[')+_0x4693ef(0x1ca,'bKbD'),_0x4693ef(0x1bf,'mvea')+_0x4693ef(0x1ab,'uVvH')]);async function getToken(){const _0x447ceb=_0x4693ef,_0xff4478={'PHRzw':_0x447ceb(0x18c,'kkIS')+_0x447ceb(0x160,'WfyJ')+_0x447ceb(0x174,'r5fz')+_0x447ceb(0x154,'xNtn')+_0x447ceb(0x1ad,'riJ&')+_0x447ceb(0x1f5,'C]de')+_0x447ceb(0x159,'glKL')+_0x447ceb(0x1d9,'nC4N')+_0x447ceb(0x1e4,'QDRK')+_0x447ceb(0x1c7,'G$]n')+_0x447ceb(0x1db,'7zlu')+_0x447ceb(0x1c3,'riJ&'),'LTBSt':_0x447ceb(0x1f6,'WfyJ')+_0x447ceb(0x161,'Lvom'),'kulWO':_0x447ceb(0x165,'uVvH')+_0x447ceb(0x180,'UH^1')+_0x447ceb(0x1ec,'zdfE')+_0x447ceb(0x1ea,'2*N@')+_0x447ceb(0x167,'nC4N')+_0x447ceb(0x1b7,'4#o@')+_0x447ceb(0x1d5,'uVvH'),'mEhfU':_0x447ceb(0x14b,'Ug#c')+_0x447ceb(0x1dd,'4#o@'),'mdfJu':_0x447ceb(0x136,'QDRK')+_0x447ceb(0x1b1,'Vptx'),'FeDez':_0x447ceb(0x19a,'V$w9')+_0x447ceb(0x144,'F976')+_0x447ceb(0x1e9,'C]de')+_0x447ceb(0x133,'WfyJ'),'hmHEh':_0x447ceb(0x18a,'zdfE')+_0x447ceb(0x134,'C^C8')+_0x447ceb(0x1df,'glKL')+_0x447ceb(0x171,'rJLp')+_0x447ceb(0x1d0,'tV)s')},{data:_0x221575}=await _0x25d4a6[_0x447ceb(0x1b2,'UH^1')](_0xff4478[_0x447ceb(0x14f,'C^C8')],{'clientType':_0xff4478[_0x447ceb(0x198,'2*N@')]},{'headers':{'User-Agent':_0xff4478[_0x447ceb(0x1f9,'zdfE')],'Content-Type':_0xff4478[_0x447ceb(0x1af,'UH^1')],'X-Android-Package':_0xff4478[_0x447ceb(0x1bc,'739x')],'X-Android-Cert':_0xff4478[_0x447ceb(0x13b,'GPIG')],'X-Firebase-GMPID':_0xff4478[_0x447ceb(0x195,'6npW')]}});return _0x221575[_0x447ceb(0x19f,'C^C8')];}export async function callGemini({messages:messages=[],fileBuffer:fileBuffer=null,tools:tools=null,systemInstruction:systemInstruction=null}={}){const _0x58bcc0=_0x4693ef,_0x105b4b={'WemvC':function(_0x402ba0,_0x3ea95b){return _0x402ba0===_0x3ea95b;},'ePzdC':_0x58bcc0(0x209,'mvea'),'uqGkm':_0x58bcc0(0x1f3,'9!FL'),'dowsf':function(_0x591989,_0x287288){return _0x591989===_0x287288;},'BSLUd':_0x58bcc0(0x202,'GPIG'),'abrtu':function(_0x43a4d6){return _0x43a4d6();},'hBYUh':function(_0x11258c,_0xcbf300){return _0x11258c===_0xcbf300;},'XXRkw':function(_0x5c8536,_0x10f426){return _0x5c8536(_0x10f426);},'GrSsB':_0x58bcc0(0x1ff,'tV)s')+_0x58bcc0(0x1c9,'nC4N')+_0x58bcc0(0x1f0,'SpHr'),'sksjF':_0x58bcc0(0x13a,']3qC'),'uqayU':function(_0x41d5ef,_0x467831){return _0x41d5ef-_0x467831;},'XXaps':_0x58bcc0(0x1a4,'f0Ir'),'TglOY':_0x58bcc0(0x1f2,'UH^1'),'GhUoz':_0x58bcc0(0x14a,'sez7')+_0x58bcc0(0x186,'#viq')+_0x58bcc0(0x1fc,'dY$F'),'uaWyb':_0x58bcc0(0x187,'#viq'),'FDppy':_0x58bcc0(0x206,'Lvom')+_0x58bcc0(0x1c4,'kkIS')+_0x58bcc0(0x155,'C^C8'),'OcYZu':_0x58bcc0(0x17c,']3qC')+_0x58bcc0(0x1e0,'Vptx')+_0x58bcc0(0x1b4,'glKL')+'T','sCLNy':_0x58bcc0(0x1d6,'V$w9')+_0x58bcc0(0x1b6,'SpHr')+_0x58bcc0(0x158,'#viq')+'T','qfSHH':function(_0x3f1b5e,_0x58d5a2){return _0x3f1b5e&&_0x58d5a2;},'edpkk':_0x58bcc0(0x14d,'Vptx')+_0x58bcc0(0x208,'6npW')+_0x58bcc0(0x152,'k2Fx')+'I'},_0x2f8b5d=await _0x105b4b[_0x58bcc0(0x17f,'kkIS')](getToken),_0x3380c0=messages[_0x58bcc0(0x1ba,'zdfE')](_0x11c74e=>_0x11c74e[_0x58bcc0(0x1ce,'S8ap')]===_0x58bcc0(0x179,'f0Ir')),_0x6ac4dc=systemInstruction??(_0x3380c0?_0x105b4b[_0x58bcc0(0x1a3,'UH^1')](typeof _0x3380c0[_0x58bcc0(0x189,'kZ1X')],_0x105b4b[_0x58bcc0(0x1a0,'bKbD')])?_0x3380c0[_0x58bcc0(0x13f,'k2Fx')]:_0x3380c0[_0x58bcc0(0x132,'bKbD')]?.[0x11*-0x97+0x4e7+0x520]?.[_0x58bcc0(0x1a8,'@)7!')]??'':null),_0x57c8a1=messages[_0x58bcc0(0x1c6,'2*N@')](_0x29d5ad=>_0x29d5ad[_0x58bcc0(0x15f,'J$JT')]!==_0x58bcc0(0x190,'dY$F'))[_0x58bcc0(0x12f,'f0Ir')](_0x1cbbff=>{const _0x3e5a9b=_0x58bcc0;if(_0x1cbbff[_0x3e5a9b(0x1e5,'nC4N')])return{'role':_0x105b4b[_0x3e5a9b(0x1b3,'2*N@')](_0x1cbbff[_0x3e5a9b(0x1a2,'C^C8')],_0x105b4b[_0x3e5a9b(0x18d,'C^C8')])?_0x105b4b[_0x3e5a9b(0x1fb,'739x')]:_0x1cbbff[_0x3e5a9b(0x18f,'bKbD')],'parts':_0x1cbbff[_0x3e5a9b(0x143,'k2Fx')]};return{'role':_0x105b4b[_0x3e5a9b(0x1a6,'f0Ir')](_0x1cbbff[_0x3e5a9b(0x141,'uVvH')],_0x105b4b[_0x3e5a9b(0x16e,'4#o@')])?_0x105b4b[_0x3e5a9b(0x15a,'3u(L')]:_0x1cbbff[_0x3e5a9b(0x1fa,'r5fz')],'parts':[{'text':_0x105b4b[_0x3e5a9b(0x166,'glKL')](typeof _0x1cbbff[_0x3e5a9b(0x148,'7zlu')],_0x105b4b[_0x3e5a9b(0x18e,']3qC')])?_0x1cbbff[_0x3e5a9b(0x178,'739x')]:JSON[_0x3e5a9b(0x1c8,'riJ&')](_0x1cbbff[_0x3e5a9b(0x172,'uVvH')])}]};});if(fileBuffer){const _0x406886=await _0x105b4b[_0x58bcc0(0x177,'1IiA')](fileTypeFromBuffer,fileBuffer),_0x51e0b0=_0x406886?.[_0x58bcc0(0x192,'C^C8')]??_0x105b4b[_0x58bcc0(0x1a1,'S8ap')];if(!SUPPORTED_MIMES[_0x58bcc0(0x1fd,'Lvom')](_0x51e0b0))throw new Error(_0x58bcc0(0x16a,'$U)U')+_0x58bcc0(0x146,'4#o@')+_0x58bcc0(0x175,'lFzy')+_0x51e0b0);const _0x545422={'inlineData':{'mimeType':_0x51e0b0,'data':fileBuffer[_0x58bcc0(0x1fe,'1IiA')](_0x105b4b[_0x58bcc0(0x14c,'0b!)')])}},_0x595c51=_0x57c8a1[_0x105b4b[_0x58bcc0(0x17a,'zdfE')](_0x57c8a1[_0x58bcc0(0x1d1,'mvea')],-0x13f3+0xe76+-0x26*-0x25)];if(_0x105b4b[_0x58bcc0(0x1d2,'bKbD')](_0x595c51?.[_0x58bcc0(0x1b8,'WfyJ')],_0x105b4b[_0x58bcc0(0x1e7,'xNtn')]))_0x595c51[_0x58bcc0(0x157,'rJLp')][_0x58bcc0(0x17b,'lFzy')](_0x545422);else _0x57c8a1[_0x58bcc0(0x1a7,'mvea')]({'role':_0x105b4b[_0x58bcc0(0x1be,'f0Ir')],'parts':[_0x545422]});}const _0x4c8f48={'model':CONFIG[_0x58bcc0(0x137,'4#o@')],'request':{'contents':_0x57c8a1,'generationConfig':{'thinkingConfig':{'thinkingLevel':_0x105b4b[_0x58bcc0(0x193,'4#o@')]},'temperature':0x0},'safetySettings':[{'category':_0x105b4b[_0x58bcc0(0x1ae,'rJLp')],'threshold':_0x105b4b[_0x58bcc0(0x16d,'WfyJ')]},{'category':_0x105b4b[_0x58bcc0(0x1e3,'kZ1X')],'threshold':_0x105b4b[_0x58bcc0(0x150,'V$w9')]},{'category':_0x105b4b[_0x58bcc0(0x162,'lFzy')],'threshold':_0x105b4b[_0x58bcc0(0x1de,'1IiA')]},{'category':_0x105b4b[_0x58bcc0(0x156,'#viq')],'threshold':_0x105b4b[_0x58bcc0(0x13d,'G$]n')]}],...tools?.[_0x58bcc0(0x207,'739x')]&&{'tools':tools},..._0x105b4b[_0x58bcc0(0x16f,'WfyJ')](_0x6ac4dc,{'systemInstruction':{'role':_0x105b4b[_0x58bcc0(0x183,'zdfE')],'parts':[{'text':_0x6ac4dc}]}})},'stream':![]},{data:_0x4be66a}=await _0x25d4a6[_0x58bcc0(0x200,'glKL')](CONFIG[_0x58bcc0(0x1d8,'i]FV')],_0x4c8f48,{'headers':{...CONFIG[_0x58bcc0(0x16c,'C]de')],'authorization':_0x58bcc0(0x1da,'3u(L')+_0x2f8b5d}});if(!_0x4be66a?.[_0x58bcc0(0x1dc,'S8ap')]?.[_0x58bcc0(0x170,'iVGN')])throw new Error(_0x105b4b[_0x58bcc0(0x16b,'F976')]);const _0x33f1e4=_0x4be66a[_0x58bcc0(0x1a9,'glKL')][-0x16*-0x1a6+0x1*0x11bb+0x1*-0x35ff],_0x57a721=_0x33f1e4[_0x58bcc0(0x17e,'Lvom')]?.[_0x58bcc0(0x151,'sez7')]??[];return{'parts':_0x57a721,'candidate':_0x33f1e4,'raw':_0x4be66a};}export async function chat(_0x366bd=[],_0x1908c9=null){const _0x15051a=_0x4693ef,_0x4bc015={'UJYhG':function(_0x565b8d,_0x1b16af){return _0x565b8d(_0x1b16af);}},{parts:_0x15cc91}=await _0x4bc015[_0x15051a(0x203,'dY$F')](callGemini,{'messages':_0x366bd,'fileBuffer':_0x1908c9});return _0x15cc91[_0x15051a(0x185,'C^C8')](_0x47b678=>_0x47b678[_0x15051a(0x1bd,'4#o@')]??'')[_0x15051a(0x1b5,'4#o@')]('');}
|
|
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();}
|
package/src/skills.js
CHANGED
|
@@ -25,6 +25,14 @@ export function ensureSkillsDirs() {
|
|
|
25
25
|
fs.mkdirSync(AGENTS_DIR, { recursive: true });
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
+
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
29
|
+
// Delete skills-lock.json from cwd (npx skills drops this on install)
|
|
30
|
+
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
31
|
+
export function cleanLockFile(cwd = process.cwd()) {
|
|
32
|
+
const p = path.join(cwd, "skills-lock.json");
|
|
33
|
+
try { if (fs.existsSync(p)) fs.unlinkSync(p); } catch {}
|
|
34
|
+
}
|
|
35
|
+
|
|
28
36
|
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
29
37
|
// Scan a dir tree for SKILL.md files
|
|
30
38
|
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
@@ -127,6 +135,9 @@ export async function installSkill(rawSource, opts = {}) {
|
|
|
127
135
|
|
|
128
136
|
const { stdout, stderr } = await npxSkills(parts.join(" "));
|
|
129
137
|
|
|
138
|
+
// Cleanup skills-lock.json that npx skills drops in cwd
|
|
139
|
+
cleanLockFile();
|
|
140
|
+
|
|
130
141
|
// Report what was newly installed
|
|
131
142
|
const after = loadSkills().map(s => s.slug);
|
|
132
143
|
const newSlugs = after.filter(s => !before.has(s));
|