chocolatito-code 1.0.0 → 1.2.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 (122) hide show
  1. package/README.md +155 -0
  2. package/dist/agent/compaction.d.ts +65 -0
  3. package/dist/agent/compaction.js +134 -0
  4. package/dist/agent/context.d.ts +3 -0
  5. package/dist/agent/context.js +35 -0
  6. package/dist/agent/loop.d.ts +91 -2
  7. package/dist/agent/loop.js +642 -91
  8. package/dist/agent/loopDetector.d.ts +57 -0
  9. package/dist/agent/loopDetector.js +0 -0
  10. package/dist/agent/mentions.d.ts +13 -0
  11. package/dist/agent/mentions.js +49 -0
  12. package/dist/agent/repoMap.d.ts +117 -0
  13. package/dist/agent/repoMap.js +560 -0
  14. package/dist/agent/result.d.ts +64 -0
  15. package/dist/agent/result.js +48 -0
  16. package/dist/agent/retry.d.ts +35 -0
  17. package/dist/agent/retry.js +123 -4
  18. package/dist/agent/salidaDelAgente.d.ts +43 -0
  19. package/dist/agent/salidaDelAgente.js +53 -0
  20. package/dist/agent/subagent.js +62 -15
  21. package/dist/agent/syntaxValidator.js +288 -52
  22. package/dist/agent/toolGate.d.ts +58 -0
  23. package/dist/agent/toolGate.js +111 -0
  24. package/dist/agent/tracker.js +4 -7
  25. package/dist/agent/undoManager.d.ts +44 -11
  26. package/dist/agent/undoManager.js +95 -24
  27. package/dist/agent/usageMeter.d.ts +56 -0
  28. package/dist/agent/usageMeter.js +51 -0
  29. package/dist/agent/verifier.d.ts +49 -0
  30. package/dist/agent/verifier.js +158 -0
  31. package/dist/config/constants.js +14 -0
  32. package/dist/config/engine.d.ts +19 -0
  33. package/dist/config/engine.js +35 -3
  34. package/dist/config/license.d.ts +5 -0
  35. package/dist/config/license.js +107 -9
  36. package/dist/config/limits.d.ts +28 -0
  37. package/dist/config/limits.js +51 -0
  38. package/dist/config/nodeVersion.d.ts +13 -0
  39. package/dist/config/nodeVersion.js +26 -0
  40. package/dist/config/permissions.d.ts +76 -1
  41. package/dist/config/permissions.js +379 -23
  42. package/dist/config/quota.js +24 -1
  43. package/dist/config/updater.d.ts +68 -0
  44. package/dist/config/updater.js +215 -0
  45. package/dist/hooks/manager.js +159 -14
  46. package/dist/index.js +240 -37
  47. package/dist/mcp/client.d.ts +50 -0
  48. package/dist/mcp/client.js +155 -19
  49. package/dist/mcp/ide.d.ts +76 -0
  50. package/dist/mcp/ide.js +160 -0
  51. package/dist/mcp/manager.js +9 -0
  52. package/dist/prompts/systemPrompt.js +12 -1
  53. package/dist/sessions/manager.d.ts +12 -0
  54. package/dist/sessions/manager.js +33 -5
  55. package/dist/sessions/resume.d.ts +36 -0
  56. package/dist/sessions/resume.js +43 -0
  57. package/dist/skills/manager.d.ts +1 -0
  58. package/dist/skills/manager.js +9 -0
  59. package/dist/tools/binary.d.ts +46 -0
  60. package/dist/tools/binary.js +100 -0
  61. package/dist/tools/browserCdp.js +13 -1
  62. package/dist/tools/browserExtension.d.ts +5 -0
  63. package/dist/tools/browserExtension.js +237 -22
  64. package/dist/tools/browserSession.d.ts +23 -0
  65. package/dist/tools/browserSession.js +28 -0
  66. package/dist/tools/computerUse.js +33 -1
  67. package/dist/tools/createImage.d.ts +11 -0
  68. package/dist/tools/createImage.js +13 -1
  69. package/dist/tools/definitions.js +17 -4
  70. package/dist/tools/editDiagnosis.d.ts +54 -0
  71. package/dist/tools/editDiagnosis.js +142 -0
  72. package/dist/tools/editFile.d.ts +1 -0
  73. package/dist/tools/editFile.js +118 -62
  74. package/dist/tools/findFiles.d.ts +21 -0
  75. package/dist/tools/findFiles.js +75 -6
  76. package/dist/tools/getSystemInfo.js +15 -7
  77. package/dist/tools/gitTools.d.ts +24 -0
  78. package/dist/tools/gitTools.js +87 -26
  79. package/dist/tools/grepSearch.js +111 -23
  80. package/dist/tools/moveCopyFile.d.ts +18 -1
  81. package/dist/tools/moveCopyFile.js +74 -4
  82. package/dist/tools/patchCascade.d.ts +57 -0
  83. package/dist/tools/patchCascade.js +338 -0
  84. package/dist/tools/runCommand.js +213 -25
  85. package/dist/tools/runner.js +58 -5
  86. package/dist/tools/toolDefsComputer.js +12 -2
  87. package/dist/tools/truncator.d.ts +27 -1
  88. package/dist/tools/truncator.js +117 -11
  89. package/dist/tools/viewFile.js +15 -11
  90. package/dist/tools/visionBridge.js +7 -0
  91. package/dist/tools/webSearch.d.ts +21 -0
  92. package/dist/tools/webSearch.js +125 -14
  93. package/dist/tools/writeFile.d.ts +16 -1
  94. package/dist/tools/writeFile.js +40 -2
  95. package/dist/ui/interrupt.d.ts +4 -1
  96. package/dist/ui/interrupt.js +59 -7
  97. package/dist/ui/keyboardGuard.d.ts +76 -0
  98. package/dist/ui/keyboardGuard.js +94 -0
  99. package/dist/ui/loopPrompt.d.ts +17 -0
  100. package/dist/ui/loopPrompt.js +59 -0
  101. package/dist/ui/pegados.d.ts +50 -0
  102. package/dist/ui/pegados.js +83 -0
  103. package/dist/ui/permissionPrompt.js +84 -2
  104. package/dist/ui/prompt.d.ts +40 -0
  105. package/dist/ui/prompt.js +436 -131
  106. package/dist/ui/reasoningStream.d.ts +8 -0
  107. package/dist/ui/reasoningStream.js +99 -7
  108. package/dist/ui/salida.d.ts +10 -0
  109. package/dist/ui/salida.js +50 -0
  110. package/extension/README.md +95 -74
  111. package/extension/background.js +772 -181
  112. package/extension/content.js +527 -46
  113. package/extension/fuentes/Chocolatito-Marca.ttf +0 -0
  114. package/extension/iconos/128.png +0 -0
  115. package/extension/iconos/16.png +0 -0
  116. package/extension/iconos/32.png +0 -0
  117. package/extension/iconos/48.png +0 -0
  118. package/extension/iconos/logotipo.png +0 -0
  119. package/extension/manifest.json +28 -4
  120. package/extension/popup.html +16 -6
  121. package/extension/popup.js +28 -12
  122. package/package.json +3 -2
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "manifest_version": 3,
3
+ "minimum_chrome_version": "102",
3
4
  "name": "Chocolatito Code",
4
- "version": "1.0.0",
5
+ "version": "1.2.0",
5
6
  "description": "Deja que Chocolatito Code trabaje dentro de tu Chrome, en segundo plano y con tus sesiones ya iniciadas.",
6
7
  "permissions": [
7
8
  "tabs",
@@ -9,11 +10,18 @@
9
10
  "scripting",
10
11
  "debugger",
11
12
  "webNavigation",
12
- "storage"
13
+ "storage",
14
+ "downloads"
13
15
  ],
14
16
  "host_permissions": [
15
17
  "<all_urls>"
16
18
  ],
19
+ "icons": {
20
+ "16": "iconos/16.png",
21
+ "32": "iconos/32.png",
22
+ "48": "iconos/48.png",
23
+ "128": "iconos/128.png"
24
+ },
17
25
  "background": {
18
26
  "service_worker": "background.js"
19
27
  },
@@ -31,6 +39,22 @@
31
39
  ],
32
40
  "action": {
33
41
  "default_title": "Chocolatito Code",
34
- "default_popup": "popup.html"
35
- }
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
+ ]
36
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>
@@ -1,12 +1,28 @@
1
- // Estado de la conexion con la CLI. El badge lo pone el service worker; aqui
2
- // solo se traduce a algo legible para el usuario.
3
- chrome.action.getBadgeText({}, (text) => {
4
- const on = text === "on";
5
- document.getElementById("dot").className = "dot" + (on ? " on" : "");
6
- document.getElementById("state").textContent = on
7
- ? "Conectado a la CLI"
8
- : "Sin conexion con la CLI";
9
- document.getElementById("hint").innerHTML = on
10
- ? "El agente puede trabajar en tus pestanas en segundo plano."
11
- : 'Arranca <code>chocolatito</code> en la terminal y esta pestana se conectara sola.';
12
- });
1
+ /**
2
+ * Estado de la conexion con la CLI. El badge lo pone el service worker; aqui
3
+ * solo se traduce a algo legible.
4
+ *
5
+ * Aqui se comparaba el badge con la cadena "on", y el service worker nunca
6
+ * escribe eso: escribe el NUMERO de sesiones conectadas ("1", "2") o vacio. La
7
+ * comparacion no se cumplia jamas, asi que el popup decia "Sin conexion con la
8
+ * CLI" incluso con el agente trabajando delante. Es el unico sitio donde el
9
+ * usuario puede comprobar si la extension funciona, y siempre mentia.
10
+ */
11
+ chrome.action.getBadgeText({}, (text) => {
12
+ const sesiones = Number(text);
13
+ const conectadas = Number.isFinite(sesiones) && sesiones > 0 ? sesiones : 0;
14
+
15
+ document.getElementById("dot").className = "dot" + (conectadas > 0 ? " on" : "");
16
+
17
+ document.getElementById("state").textContent =
18
+ conectadas === 0
19
+ ? "Sin conexion con la CLI"
20
+ : conectadas === 1
21
+ ? "Conectado a la CLI"
22
+ : `Conectado a ${conectadas} sesiones`;
23
+
24
+ document.getElementById("hint").innerHTML =
25
+ conectadas > 0
26
+ ? "El agente puede trabajar en tus pestanas en segundo plano."
27
+ : 'Arranca <code>chocolatito</code> en la terminal y esta pestana se conectara sola.';
28
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chocolatito-code",
3
- "version": "1.0.0",
3
+ "version": "1.2.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",