chocolatito-code 1.1.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +66 -0
- package/dist/agent/huecos.d.ts +58 -0
- package/dist/agent/huecos.js +81 -0
- package/dist/agent/loop.js +218 -41
- package/dist/agent/salidaDelAgente.d.ts +43 -0
- package/dist/agent/salidaDelAgente.js +39 -0
- package/dist/agent/toolGate.js +6 -1
- package/dist/config/engine.d.ts +21 -1
- package/dist/config/engine.js +22 -1
- package/dist/config/nodeVersion.d.ts +13 -0
- package/dist/config/nodeVersion.js +26 -0
- package/dist/index.js +22 -7
- package/dist/mcp/client.d.ts +28 -0
- package/dist/mcp/client.js +62 -8
- package/dist/mcp/ide.d.ts +76 -0
- package/dist/mcp/ide.js +160 -0
- package/dist/mcp/manager.js +9 -0
- package/dist/tools/browserExtension.js +153 -7
- package/dist/tools/computerUse.d.ts +1 -1
- package/dist/tools/computerUse.js +183 -2
- package/dist/tools/definitions.js +9 -2
- package/dist/tools/grepSearch.js +111 -23
- package/dist/tools/runner.js +1 -1
- package/dist/tools/toolDefsComputer.js +6 -2
- package/dist/tools/visionBridge.js +60 -3
- package/dist/tools/win/hostScript.js +154 -0
- package/dist/tools/writeFile.d.ts +16 -1
- package/dist/tools/writeFile.js +22 -1
- package/dist/ui/interrupt.d.ts +10 -0
- package/dist/ui/interrupt.js +53 -4
- package/dist/ui/keyboardGuard.d.ts +21 -0
- package/dist/ui/keyboardGuard.js +30 -1
- package/dist/ui/pegados.d.ts +50 -0
- package/dist/ui/pegados.js +83 -0
- package/dist/ui/pieFijo.d.ts +56 -0
- package/dist/ui/pieFijo.js +309 -0
- package/dist/ui/prompt.d.ts +5 -0
- package/dist/ui/prompt.js +109 -16
- package/dist/ui/reasoningStream.js +22 -12
- package/dist/ui/salida.d.ts +10 -0
- package/dist/ui/salida.js +50 -0
- package/dist/ui/spinner.d.ts +15 -8
- package/dist/ui/spinner.js +80 -42
- package/extension/background.js +191 -14
- package/extension/content.js +446 -48
- package/extension/fuentes/Chocolatito-Marca.ttf +0 -0
- package/extension/iconos/128.png +0 -0
- package/extension/iconos/16.png +0 -0
- package/extension/iconos/32.png +0 -0
- package/extension/iconos/48.png +0 -0
- package/extension/iconos/ORIGEN.md +48 -0
- package/extension/iconos/logotipo.png +0 -0
- package/extension/manifest.json +27 -4
- package/extension/popup.html +16 -6
- package/package.json +3 -2
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# De dónde salen estos iconos
|
|
2
|
+
|
|
3
|
+
**Fuente:** `assets/logos/mascota-chocolatito-code.png` — el zorrito **pixelado**, el mismo
|
|
4
|
+
que aparece en la cabecera del CLI y en la ficha del producto.
|
|
5
|
+
|
|
6
|
+
## Cuidado con cuál se coge
|
|
7
|
+
|
|
8
|
+
En `assets/logos/` hay dos zorros y **no son la misma marca**:
|
|
9
|
+
|
|
10
|
+
| Archivo | Qué es | ¿Sirve para la extensión? |
|
|
11
|
+
| --- | --- | --- |
|
|
12
|
+
| `mascota-chocolatito-code.png` | El zorrito pixelado. **Chocolatito Code** | ✅ Este |
|
|
13
|
+
| `logo-chocolatito.png` | El zorro vectorial. **Chocolatito**, la marca madre | ❌ Este no |
|
|
14
|
+
|
|
15
|
+
Ya se coló el equivocado una vez: la extensión salió con el zorro de la marca madre y lo
|
|
16
|
+
detectó el dueño de un vistazo. No hay prueba automática que lo cace — se distinguirían por el
|
|
17
|
+
número de colores (674 contra 1707), pero ese umbral se rompe con cualquier retoque legítimo, y
|
|
18
|
+
una prueba frágil es peor que ninguna. Por eso está escrito aquí.
|
|
19
|
+
|
|
20
|
+
## Cómo se regeneran
|
|
21
|
+
|
|
22
|
+
Con Python y Pillow, desde la raíz del repositorio:
|
|
23
|
+
|
|
24
|
+
```python
|
|
25
|
+
from PIL import Image
|
|
26
|
+
img = Image.open("assets/logos/mascota-chocolatito-code.png").convert("RGBA")
|
|
27
|
+
img = img.crop(img.split()[3].getbbox()) # fuera el aire de alrededor
|
|
28
|
+
|
|
29
|
+
lado = max(img.size)
|
|
30
|
+
margen = max(1, int(lado * 0.08)) # sin margen, Chrome recorta el borde
|
|
31
|
+
lienzo = Image.new("RGBA", (lado + margen * 2,) * 2, (0, 0, 0, 0))
|
|
32
|
+
lienzo.paste(img, ((lienzo.width - img.width) // 2, (lienzo.height - img.height) // 2), img)
|
|
33
|
+
|
|
34
|
+
for tam in (16, 32, 48, 128):
|
|
35
|
+
# NEAREST hasta 48: es pixel art, y suavizarlo lo convierte en un borron.
|
|
36
|
+
# A 16 px la diferencia es entre verse y no verse.
|
|
37
|
+
filtro = Image.NEAREST if tam <= 48 else Image.LANCZOS
|
|
38
|
+
lienzo.resize((tam, tam), filtro).save(f"extension/iconos/{tam}.png")
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**Míralos a 16 px antes de darlos por buenos.** A 128 todo parece correcto; el tamaño real es
|
|
42
|
+
donde se cae. Es lo que fallo con el primer intento, que recortaba una "C" del logotipo y salían
|
|
43
|
+
las dos "C" de las dos filas apiladas.
|
|
44
|
+
|
|
45
|
+
## El otro archivo
|
|
46
|
+
|
|
47
|
+
`logotipo.png` es el logotipo completo de dos filas a 320 px, y va en la cabecera de
|
|
48
|
+
`popup.html` — ahí sí hay sitio para que se lea entero.
|
|
Binary file
|
package/extension/manifest.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"manifest_version": 3,
|
|
3
3
|
"minimum_chrome_version": "102",
|
|
4
4
|
"name": "Chocolatito Code",
|
|
5
|
-
"version": "1.
|
|
5
|
+
"version": "1.3.0",
|
|
6
6
|
"description": "Deja que Chocolatito Code trabaje dentro de tu Chrome, en segundo plano y con tus sesiones ya iniciadas.",
|
|
7
7
|
"permissions": [
|
|
8
8
|
"tabs",
|
|
@@ -10,11 +10,18 @@
|
|
|
10
10
|
"scripting",
|
|
11
11
|
"debugger",
|
|
12
12
|
"webNavigation",
|
|
13
|
-
"storage"
|
|
13
|
+
"storage",
|
|
14
|
+
"downloads"
|
|
14
15
|
],
|
|
15
16
|
"host_permissions": [
|
|
16
17
|
"<all_urls>"
|
|
17
18
|
],
|
|
19
|
+
"icons": {
|
|
20
|
+
"16": "iconos/16.png",
|
|
21
|
+
"32": "iconos/32.png",
|
|
22
|
+
"48": "iconos/48.png",
|
|
23
|
+
"128": "iconos/128.png"
|
|
24
|
+
},
|
|
18
25
|
"background": {
|
|
19
26
|
"service_worker": "background.js"
|
|
20
27
|
},
|
|
@@ -32,6 +39,22 @@
|
|
|
32
39
|
],
|
|
33
40
|
"action": {
|
|
34
41
|
"default_title": "Chocolatito Code",
|
|
35
|
-
"default_popup": "popup.html"
|
|
36
|
-
|
|
42
|
+
"default_popup": "popup.html",
|
|
43
|
+
"default_icon": {
|
|
44
|
+
"16": "iconos/16.png",
|
|
45
|
+
"32": "iconos/32.png",
|
|
46
|
+
"48": "iconos/48.png"
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"web_accessible_resources": [
|
|
50
|
+
{
|
|
51
|
+
"resources": [
|
|
52
|
+
"iconos/*",
|
|
53
|
+
"fuentes/*"
|
|
54
|
+
],
|
|
55
|
+
"matches": [
|
|
56
|
+
"<all_urls>"
|
|
57
|
+
]
|
|
58
|
+
}
|
|
59
|
+
]
|
|
37
60
|
}
|
package/extension/popup.html
CHANGED
|
@@ -1,22 +1,32 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
2
|
<meta charset="utf-8" />
|
|
3
3
|
<style>
|
|
4
|
+
@font-face {
|
|
5
|
+
font-family: 'ChocolatitoMarca';
|
|
6
|
+
src: url('fuentes/Chocolatito-Marca.ttf') format('truetype');
|
|
7
|
+
}
|
|
4
8
|
body {
|
|
5
9
|
margin: 0;
|
|
6
|
-
width:
|
|
7
|
-
|
|
10
|
+
width: 320px;
|
|
11
|
+
box-sizing: border-box;
|
|
12
|
+
padding: 16px;
|
|
8
13
|
font: 13px/1.45 -apple-system, "Segoe UI", system-ui, sans-serif;
|
|
9
14
|
background: #191211;
|
|
10
15
|
color: #F3EAE4;
|
|
11
16
|
}
|
|
12
|
-
|
|
13
|
-
.
|
|
17
|
+
.header { text-align: center; margin-bottom: 14px; }
|
|
18
|
+
.logo { width: 100%; max-width: 260px; height: auto; display: block; margin: 0 auto 6px auto; }
|
|
19
|
+
.subtitulo { margin: 0; font-size: 11px; color: #B5A49C; letter-spacing: 0.3px; }
|
|
20
|
+
.row { display: flex; align-items: center; gap: 8px; margin-top: 10px; }
|
|
14
21
|
.dot { width: 9px; height: 9px; border-radius: 50%; background: #6B5B54; }
|
|
15
|
-
.dot.on { background: #4ADE80; }
|
|
22
|
+
.dot.on { background: #4ADE80; box-shadow: 0 0 8px rgba(74, 222, 128, 0.5); }
|
|
16
23
|
.muted { color: #B5A49C; font-size: 12px; }
|
|
17
24
|
code { background: #2A1F1C; padding: 1px 5px; border-radius: 4px; font-size: 11px; }
|
|
18
25
|
</style>
|
|
19
|
-
<
|
|
26
|
+
<div class="header">
|
|
27
|
+
<img src="iconos/logotipo.png" alt="Chocolatito Code" class="logo" />
|
|
28
|
+
<p class="subtitulo">Puente con el CLI de Chocolatito</p>
|
|
29
|
+
</div>
|
|
20
30
|
<div class="row"><span class="dot" id="dot"></span><span id="state">Comprobando…</span></div>
|
|
21
31
|
<div class="row muted" id="hint"></div>
|
|
22
32
|
<script src="popup.js"></script>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "chocolatito-code",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Agente autónomo de programación para la terminal, con control real del ordenador y del navegador. Desarrollado por Chocolatito.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -28,7 +28,8 @@
|
|
|
28
28
|
"dev": "tsc --watch",
|
|
29
29
|
"start": "node ./dist/index.js",
|
|
30
30
|
"test": "node --test tests/*.test.mjs",
|
|
31
|
-
"prepublishOnly": "npm run build && npm test"
|
|
31
|
+
"prepublishOnly": "npm run build && npm test",
|
|
32
|
+
"vscode": "code --extensionDevelopmentPath=./extension-vscode ."
|
|
32
33
|
},
|
|
33
34
|
"keywords": [
|
|
34
35
|
"ai",
|