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.
Files changed (55) hide show
  1. package/README.md +66 -0
  2. package/dist/agent/huecos.d.ts +58 -0
  3. package/dist/agent/huecos.js +81 -0
  4. package/dist/agent/loop.js +218 -41
  5. package/dist/agent/salidaDelAgente.d.ts +43 -0
  6. package/dist/agent/salidaDelAgente.js +39 -0
  7. package/dist/agent/toolGate.js +6 -1
  8. package/dist/config/engine.d.ts +21 -1
  9. package/dist/config/engine.js +22 -1
  10. package/dist/config/nodeVersion.d.ts +13 -0
  11. package/dist/config/nodeVersion.js +26 -0
  12. package/dist/index.js +22 -7
  13. package/dist/mcp/client.d.ts +28 -0
  14. package/dist/mcp/client.js +62 -8
  15. package/dist/mcp/ide.d.ts +76 -0
  16. package/dist/mcp/ide.js +160 -0
  17. package/dist/mcp/manager.js +9 -0
  18. package/dist/tools/browserExtension.js +153 -7
  19. package/dist/tools/computerUse.d.ts +1 -1
  20. package/dist/tools/computerUse.js +183 -2
  21. package/dist/tools/definitions.js +9 -2
  22. package/dist/tools/grepSearch.js +111 -23
  23. package/dist/tools/runner.js +1 -1
  24. package/dist/tools/toolDefsComputer.js +6 -2
  25. package/dist/tools/visionBridge.js +60 -3
  26. package/dist/tools/win/hostScript.js +154 -0
  27. package/dist/tools/writeFile.d.ts +16 -1
  28. package/dist/tools/writeFile.js +22 -1
  29. package/dist/ui/interrupt.d.ts +10 -0
  30. package/dist/ui/interrupt.js +53 -4
  31. package/dist/ui/keyboardGuard.d.ts +21 -0
  32. package/dist/ui/keyboardGuard.js +30 -1
  33. package/dist/ui/pegados.d.ts +50 -0
  34. package/dist/ui/pegados.js +83 -0
  35. package/dist/ui/pieFijo.d.ts +56 -0
  36. package/dist/ui/pieFijo.js +309 -0
  37. package/dist/ui/prompt.d.ts +5 -0
  38. package/dist/ui/prompt.js +109 -16
  39. package/dist/ui/reasoningStream.js +22 -12
  40. package/dist/ui/salida.d.ts +10 -0
  41. package/dist/ui/salida.js +50 -0
  42. package/dist/ui/spinner.d.ts +15 -8
  43. package/dist/ui/spinner.js +80 -42
  44. package/extension/background.js +191 -14
  45. package/extension/content.js +446 -48
  46. package/extension/fuentes/Chocolatito-Marca.ttf +0 -0
  47. package/extension/iconos/128.png +0 -0
  48. package/extension/iconos/16.png +0 -0
  49. package/extension/iconos/32.png +0 -0
  50. package/extension/iconos/48.png +0 -0
  51. package/extension/iconos/ORIGEN.md +48 -0
  52. package/extension/iconos/logotipo.png +0 -0
  53. package/extension/manifest.json +27 -4
  54. package/extension/popup.html +16 -6
  55. 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
@@ -2,7 +2,7 @@
2
2
  "manifest_version": 3,
3
3
  "minimum_chrome_version": "102",
4
4
  "name": "Chocolatito Code",
5
- "version": "1.2.0",
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
  }
@@ -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: 260px;
7
- padding: 14px;
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
- h1 { margin: 0 0 10px; font-size: 14px; letter-spacing: .2px; }
13
- .row { display: flex; align-items: center; gap: 8px; margin-top: 8px; }
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
- <h1>Chocolatito Code</h1>
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.1.0",
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",