lmcoding-local 3.2.0__tar.gz → 3.3.0__tar.gz

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 (31) hide show
  1. lmcoding_local-3.3.0/PKG-INFO +259 -0
  2. lmcoding_local-3.3.0/README.md +236 -0
  3. {lmcoding_local-3.2.0 → lmcoding_local-3.3.0}/pyproject.toml +1 -1
  4. {lmcoding_local-3.2.0 → lmcoding_local-3.3.0}/src/lmcoding/__init__.py +1 -1
  5. lmcoding_local-3.3.0/src/lmcoding/agent.py +511 -0
  6. {lmcoding_local-3.2.0 → lmcoding_local-3.3.0}/src/lmcoding/checkpoints.py +0 -1
  7. {lmcoding_local-3.2.0 → lmcoding_local-3.3.0}/src/lmcoding/cli.py +12 -3
  8. {lmcoding_local-3.2.0 → lmcoding_local-3.3.0}/src/lmcoding/config.py +3 -0
  9. lmcoding_local-3.3.0/src/lmcoding/tools.py +694 -0
  10. lmcoding_local-3.3.0/src/lmcoding/verifier.py +546 -0
  11. {lmcoding_local-3.2.0 → lmcoding_local-3.3.0}/src/lmcoding/workspace.py +20 -0
  12. lmcoding_local-3.3.0/src/lmcoding_local.egg-info/PKG-INFO +259 -0
  13. lmcoding_local-3.3.0/tests/test_core.py +357 -0
  14. lmcoding_local-3.2.0/PKG-INFO +0 -344
  15. lmcoding_local-3.2.0/README.md +0 -321
  16. lmcoding_local-3.2.0/src/lmcoding/agent.py +0 -222
  17. lmcoding_local-3.2.0/src/lmcoding/tools.py +0 -326
  18. lmcoding_local-3.2.0/src/lmcoding/verifier.py +0 -115
  19. lmcoding_local-3.2.0/src/lmcoding_local.egg-info/PKG-INFO +0 -344
  20. lmcoding_local-3.2.0/tests/test_core.py +0 -93
  21. {lmcoding_local-3.2.0 → lmcoding_local-3.3.0}/LICENSE +0 -0
  22. {lmcoding_local-3.2.0 → lmcoding_local-3.3.0}/setup.cfg +0 -0
  23. {lmcoding_local-3.2.0 → lmcoding_local-3.3.0}/src/lmcoding/__main__.py +0 -0
  24. {lmcoding_local-3.2.0 → lmcoding_local-3.3.0}/src/lmcoding/permissions.py +0 -0
  25. {lmcoding_local-3.2.0 → lmcoding_local-3.3.0}/src/lmcoding/sessions.py +0 -0
  26. {lmcoding_local-3.2.0 → lmcoding_local-3.3.0}/src/lmcoding/ui.py +0 -0
  27. {lmcoding_local-3.2.0 → lmcoding_local-3.3.0}/src/lmcoding_local.egg-info/SOURCES.txt +0 -0
  28. {lmcoding_local-3.2.0 → lmcoding_local-3.3.0}/src/lmcoding_local.egg-info/dependency_links.txt +0 -0
  29. {lmcoding_local-3.2.0 → lmcoding_local-3.3.0}/src/lmcoding_local.egg-info/entry_points.txt +0 -0
  30. {lmcoding_local-3.2.0 → lmcoding_local-3.3.0}/src/lmcoding_local.egg-info/requires.txt +0 -0
  31. {lmcoding_local-3.2.0 → lmcoding_local-3.3.0}/src/lmcoding_local.egg-info/top_level.txt +0 -0
@@ -0,0 +1,259 @@
1
+ Metadata-Version: 2.4
2
+ Name: lmcoding-local
3
+ Version: 3.3.0
4
+ Summary: Agente de programación local para LM Studio con interfaz tipo Codex y seguridad por workspace
5
+ Author: TV Ofertas Ecuador
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://pypi.org/project/lmcoding-local/
8
+ Keywords: lm-studio,coding-agent,cli,local-llm,codex-style
9
+ Classifier: Development Status :: 4 - Beta
10
+ Classifier: Environment :: Console
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Topic :: Software Development
17
+ Requires-Python: >=3.10
18
+ Description-Content-Type: text/markdown
19
+ License-File: LICENSE
20
+ Requires-Dist: openai>=1.40.0
21
+ Requires-Dist: rich>=13.7.0
22
+ Dynamic: license-file
23
+
24
+ # llmCodex 3.3.0
25
+
26
+ Agente local de programación para LM Studio con una experiencia de terminal inspirada en agentes CLI modernos y una identidad visual violeta propia.
27
+
28
+ ## Novedad principal: Verification Gate
29
+
30
+ llmCodex ya no acepta la respuesta del modelo como prueba de que una tarea funciona.
31
+
32
+ Cuando el agente modifica un proyecto:
33
+
34
+ 1. Guarda un estado inicial del workspace.
35
+ 2. Crea checkpoints antes de cada escritura o comando que cambie archivos.
36
+ 3. Ejecuta una verificación rápida después de cada edición.
37
+ 4. Antes de mostrar “terminado”, ejecuta una verificación completa.
38
+ 5. Audita los archivos modificados y las pruebas.
39
+ 6. Si algo falla, obliga al modelo a continuar reparando.
40
+ 7. Si no logra aprobar la validación, restaura todos los cambios de la tarea.
41
+
42
+ No existe una herramienta capaz de garantizar la corrección de todos los bugs posibles. llmCodex distingue entre pruebas reales, comprobaciones sintácticas y validación limitada. Cuando no existen pruebas funcionales, informa que la confianza es básica en lugar de afirmar que todo funciona.
43
+
44
+ ## Controles antierrores
45
+
46
+ - Verificación obligatoria antes de entregar cambios.
47
+ - Validación automática después de cada edición.
48
+ - Rollback completo de la tarea, no solo del último archivo.
49
+ - Checkpoints para archivos creados, modificados o eliminados.
50
+ - Detección de cambios realizados por comandos mediante hashes SHA-256.
51
+ - Bloqueo de marcadores de conflictos Git.
52
+ - Validación de JSON y TOML.
53
+ - Sintaxis Python mediante AST.
54
+ - Sintaxis JavaScript mediante `node --check` cuando Node.js está disponible.
55
+ - Comprobación estructural de JavaScript y CSS como respaldo.
56
+ - Detección de pruebas eliminadas.
57
+ - Detección de reducción de aserciones en pruebas existentes.
58
+ - Detección de nuevas pruebas desactivadas u omitidas.
59
+ - Detección de llamadas de herramientas repetidas y bucles del modelo.
60
+ - Recuperación de llamadas `<|tool_call>` devueltas como texto por LM Studio.
61
+ - Ediciones resilientes con coincidencia exacta, espacios normalizados y aproximación segura.
62
+
63
+ ## Verificadores detectados
64
+
65
+ | Proyecto | Verificaciones |
66
+ |---|---|
67
+ | Python | Sintaxis, pytest o unittest, Ruff y Mypy cuando están configurados |
68
+ | Node.js | `node --check`, test, lint, typecheck y build definidos en `package.json` |
69
+ | TypeScript | `tsc --noEmit` cuando existe una instalación local |
70
+ | Rust | `cargo check` y `cargo test` |
71
+ | Go | `go test ./...` |
72
+ | Gradle | `gradlew test` |
73
+ | Maven | `mvn test` |
74
+ | .NET | `dotnet test` |
75
+ | PHP | `php -l` y PHPUnit cuando está instalado |
76
+ | Web/genérico | Integridad de archivos y sintaxis disponible |
77
+
78
+ ## Requisitos
79
+
80
+ - Windows, Linux o macOS.
81
+ - Python 3.10 o superior.
82
+ - LM Studio con un modelo cargado.
83
+ - Servidor local de LM Studio iniciado, normalmente en `http://localhost:1234/v1`.
84
+ - Se recomienda un modelo con soporte nativo de tool calling.
85
+
86
+ ## Instalación rápida en Windows
87
+
88
+ 1. Descomprime el ZIP.
89
+ 2. Ejecuta:
90
+
91
+ ```text
92
+ INSTALAR-llmCodex-EN-PATH.bat
93
+ ```
94
+
95
+ 3. Cierra y vuelve a abrir PowerShell o CMD.
96
+ 4. Comprueba:
97
+
98
+ ```powershell
99
+ llmCodex --version
100
+ ```
101
+
102
+ Debe mostrar:
103
+
104
+ ```text
105
+ llmCodex 3.3.0
106
+ ```
107
+
108
+ ## Instalar el wheel manualmente
109
+
110
+ ```powershell
111
+ py -m pip install --upgrade --force-reinstall .\dist\lmcoding_local-3.3.0-py3-none-any.whl
112
+ ```
113
+
114
+ También puedes usar pipx:
115
+
116
+ ```powershell
117
+ pipx install --force .\dist\lmcoding_local-3.3.0-py3-none-any.whl
118
+ ```
119
+
120
+ Se instalan los alias:
121
+
122
+ ```text
123
+ llmCodex
124
+ llmcodex
125
+ lmcoding
126
+ ```
127
+
128
+ ## Uso
129
+
130
+ Entra en el proyecto:
131
+
132
+ ```powershell
133
+ cd "C:\ruta\de\tu\proyecto"
134
+ llmCodex
135
+ ```
136
+
137
+ O especifica la carpeta:
138
+
139
+ ```powershell
140
+ llmCodex -C "C:\ruta\de\tu\proyecto"
141
+ ```
142
+
143
+ ### Corregir errores automáticamente
144
+
145
+ ```powershell
146
+ llmCodex fix -C . --full-auto --mode full
147
+ ```
148
+
149
+ ### Ejecutar una tarea no interactiva
150
+
151
+ ```powershell
152
+ llmCodex exec "corrige el error y agrega una prueba de regresión" -C . --full-auto
153
+ ```
154
+
155
+ El comando devuelve:
156
+
157
+ - Código `0`: la tarea superó el Verification Gate.
158
+ - Código `1`: error de conexión o ejecución.
159
+ - Código `2`: la tarea no quedó verificada o fue revertida.
160
+
161
+ Salida JSON:
162
+
163
+ ```powershell
164
+ llmCodex exec "revisa y corrige el proyecto" -C . --full-auto --json
165
+ ```
166
+
167
+ ## Modos de seguridad
168
+
169
+ Solo lectura:
170
+
171
+ ```powershell
172
+ llmCodex -C . --sandbox read-only
173
+ ```
174
+
175
+ Escritura dentro del proyecto con confirmaciones:
176
+
177
+ ```powershell
178
+ llmCodex -C . --sandbox workspace-write --ask-for-approval on-request
179
+ ```
180
+
181
+ Modo automático recomendado para un proyecto bajo control de versiones:
182
+
183
+ ```powershell
184
+ llmCodex -C . --full-auto
185
+ ```
186
+
187
+ Acceso completo sin confirmaciones:
188
+
189
+ ```powershell
190
+ llmCodex -C . --dangerously-bypass-approvals-and-sandbox
191
+ ```
192
+
193
+ El último modo es peligroso y no debe usarse con proyectos o instrucciones no confiables.
194
+
195
+ ## Comandos interactivos
196
+
197
+ ```text
198
+ /help
199
+ /status
200
+ /models
201
+ /model ID
202
+ /permissions read-only|workspace-write|full-access
203
+ /plan on|off
204
+ /verify quick
205
+ /verify full
206
+ /doctor
207
+ /review
208
+ /diff
209
+ /undo
210
+ /compact
211
+ /new
212
+ /rename NOMBRE
213
+ /save
214
+ /exit
215
+ ```
216
+
217
+ También puedes ejecutar un comando local con:
218
+
219
+ ```text
220
+ !python -m pytest
221
+ ```
222
+
223
+ Y adjuntar un archivo al contexto:
224
+
225
+ ```text
226
+ Revisa @src/app.py y corrige el bug
227
+ ```
228
+
229
+ ## Qué significa la confianza de verificación
230
+
231
+ - **Alta:** se aprobaron pruebas y también build o typecheck.
232
+ - **Media:** se aprobó al menos una prueba, build o typecheck.
233
+ - **Básica:** solo se pudieron comprobar integridad y sintaxis.
234
+
235
+ Una validación con confianza básica puede aprobar el gate si todas las comprobaciones disponibles pasan, pero llmCodex informa explícitamente que no existe evidencia funcional completa.
236
+
237
+ ## Construcción del paquete
238
+
239
+ ```powershell
240
+ py -m pip install --upgrade build twine
241
+ py -m build
242
+ py -m twine check dist\*
243
+ ```
244
+
245
+ ## Publicación en PyPI
246
+
247
+ ```powershell
248
+ py -m twine upload --verbose dist\*
249
+ ```
250
+
251
+ Para la primera publicación de un proyecto, utiliza un token de PyPI con alcance para toda la cuenta. No publiques ni compartas el token.
252
+
253
+ ## Pruebas del propio llmCodex
254
+
255
+ ```powershell
256
+ py -m unittest discover -s tests -v
257
+ ```
258
+
259
+ La versión 3.3.0 incluye pruebas del Verification Gate, rollback completo, detección de sintaxis rota, protección de pruebas y recuperación de llamadas de herramientas de LM Studio.
@@ -0,0 +1,236 @@
1
+ # llmCodex 3.3.0
2
+
3
+ Agente local de programación para LM Studio con una experiencia de terminal inspirada en agentes CLI modernos y una identidad visual violeta propia.
4
+
5
+ ## Novedad principal: Verification Gate
6
+
7
+ llmCodex ya no acepta la respuesta del modelo como prueba de que una tarea funciona.
8
+
9
+ Cuando el agente modifica un proyecto:
10
+
11
+ 1. Guarda un estado inicial del workspace.
12
+ 2. Crea checkpoints antes de cada escritura o comando que cambie archivos.
13
+ 3. Ejecuta una verificación rápida después de cada edición.
14
+ 4. Antes de mostrar “terminado”, ejecuta una verificación completa.
15
+ 5. Audita los archivos modificados y las pruebas.
16
+ 6. Si algo falla, obliga al modelo a continuar reparando.
17
+ 7. Si no logra aprobar la validación, restaura todos los cambios de la tarea.
18
+
19
+ No existe una herramienta capaz de garantizar la corrección de todos los bugs posibles. llmCodex distingue entre pruebas reales, comprobaciones sintácticas y validación limitada. Cuando no existen pruebas funcionales, informa que la confianza es básica en lugar de afirmar que todo funciona.
20
+
21
+ ## Controles antierrores
22
+
23
+ - Verificación obligatoria antes de entregar cambios.
24
+ - Validación automática después de cada edición.
25
+ - Rollback completo de la tarea, no solo del último archivo.
26
+ - Checkpoints para archivos creados, modificados o eliminados.
27
+ - Detección de cambios realizados por comandos mediante hashes SHA-256.
28
+ - Bloqueo de marcadores de conflictos Git.
29
+ - Validación de JSON y TOML.
30
+ - Sintaxis Python mediante AST.
31
+ - Sintaxis JavaScript mediante `node --check` cuando Node.js está disponible.
32
+ - Comprobación estructural de JavaScript y CSS como respaldo.
33
+ - Detección de pruebas eliminadas.
34
+ - Detección de reducción de aserciones en pruebas existentes.
35
+ - Detección de nuevas pruebas desactivadas u omitidas.
36
+ - Detección de llamadas de herramientas repetidas y bucles del modelo.
37
+ - Recuperación de llamadas `<|tool_call>` devueltas como texto por LM Studio.
38
+ - Ediciones resilientes con coincidencia exacta, espacios normalizados y aproximación segura.
39
+
40
+ ## Verificadores detectados
41
+
42
+ | Proyecto | Verificaciones |
43
+ |---|---|
44
+ | Python | Sintaxis, pytest o unittest, Ruff y Mypy cuando están configurados |
45
+ | Node.js | `node --check`, test, lint, typecheck y build definidos en `package.json` |
46
+ | TypeScript | `tsc --noEmit` cuando existe una instalación local |
47
+ | Rust | `cargo check` y `cargo test` |
48
+ | Go | `go test ./...` |
49
+ | Gradle | `gradlew test` |
50
+ | Maven | `mvn test` |
51
+ | .NET | `dotnet test` |
52
+ | PHP | `php -l` y PHPUnit cuando está instalado |
53
+ | Web/genérico | Integridad de archivos y sintaxis disponible |
54
+
55
+ ## Requisitos
56
+
57
+ - Windows, Linux o macOS.
58
+ - Python 3.10 o superior.
59
+ - LM Studio con un modelo cargado.
60
+ - Servidor local de LM Studio iniciado, normalmente en `http://localhost:1234/v1`.
61
+ - Se recomienda un modelo con soporte nativo de tool calling.
62
+
63
+ ## Instalación rápida en Windows
64
+
65
+ 1. Descomprime el ZIP.
66
+ 2. Ejecuta:
67
+
68
+ ```text
69
+ INSTALAR-llmCodex-EN-PATH.bat
70
+ ```
71
+
72
+ 3. Cierra y vuelve a abrir PowerShell o CMD.
73
+ 4. Comprueba:
74
+
75
+ ```powershell
76
+ llmCodex --version
77
+ ```
78
+
79
+ Debe mostrar:
80
+
81
+ ```text
82
+ llmCodex 3.3.0
83
+ ```
84
+
85
+ ## Instalar el wheel manualmente
86
+
87
+ ```powershell
88
+ py -m pip install --upgrade --force-reinstall .\dist\lmcoding_local-3.3.0-py3-none-any.whl
89
+ ```
90
+
91
+ También puedes usar pipx:
92
+
93
+ ```powershell
94
+ pipx install --force .\dist\lmcoding_local-3.3.0-py3-none-any.whl
95
+ ```
96
+
97
+ Se instalan los alias:
98
+
99
+ ```text
100
+ llmCodex
101
+ llmcodex
102
+ lmcoding
103
+ ```
104
+
105
+ ## Uso
106
+
107
+ Entra en el proyecto:
108
+
109
+ ```powershell
110
+ cd "C:\ruta\de\tu\proyecto"
111
+ llmCodex
112
+ ```
113
+
114
+ O especifica la carpeta:
115
+
116
+ ```powershell
117
+ llmCodex -C "C:\ruta\de\tu\proyecto"
118
+ ```
119
+
120
+ ### Corregir errores automáticamente
121
+
122
+ ```powershell
123
+ llmCodex fix -C . --full-auto --mode full
124
+ ```
125
+
126
+ ### Ejecutar una tarea no interactiva
127
+
128
+ ```powershell
129
+ llmCodex exec "corrige el error y agrega una prueba de regresión" -C . --full-auto
130
+ ```
131
+
132
+ El comando devuelve:
133
+
134
+ - Código `0`: la tarea superó el Verification Gate.
135
+ - Código `1`: error de conexión o ejecución.
136
+ - Código `2`: la tarea no quedó verificada o fue revertida.
137
+
138
+ Salida JSON:
139
+
140
+ ```powershell
141
+ llmCodex exec "revisa y corrige el proyecto" -C . --full-auto --json
142
+ ```
143
+
144
+ ## Modos de seguridad
145
+
146
+ Solo lectura:
147
+
148
+ ```powershell
149
+ llmCodex -C . --sandbox read-only
150
+ ```
151
+
152
+ Escritura dentro del proyecto con confirmaciones:
153
+
154
+ ```powershell
155
+ llmCodex -C . --sandbox workspace-write --ask-for-approval on-request
156
+ ```
157
+
158
+ Modo automático recomendado para un proyecto bajo control de versiones:
159
+
160
+ ```powershell
161
+ llmCodex -C . --full-auto
162
+ ```
163
+
164
+ Acceso completo sin confirmaciones:
165
+
166
+ ```powershell
167
+ llmCodex -C . --dangerously-bypass-approvals-and-sandbox
168
+ ```
169
+
170
+ El último modo es peligroso y no debe usarse con proyectos o instrucciones no confiables.
171
+
172
+ ## Comandos interactivos
173
+
174
+ ```text
175
+ /help
176
+ /status
177
+ /models
178
+ /model ID
179
+ /permissions read-only|workspace-write|full-access
180
+ /plan on|off
181
+ /verify quick
182
+ /verify full
183
+ /doctor
184
+ /review
185
+ /diff
186
+ /undo
187
+ /compact
188
+ /new
189
+ /rename NOMBRE
190
+ /save
191
+ /exit
192
+ ```
193
+
194
+ También puedes ejecutar un comando local con:
195
+
196
+ ```text
197
+ !python -m pytest
198
+ ```
199
+
200
+ Y adjuntar un archivo al contexto:
201
+
202
+ ```text
203
+ Revisa @src/app.py y corrige el bug
204
+ ```
205
+
206
+ ## Qué significa la confianza de verificación
207
+
208
+ - **Alta:** se aprobaron pruebas y también build o typecheck.
209
+ - **Media:** se aprobó al menos una prueba, build o typecheck.
210
+ - **Básica:** solo se pudieron comprobar integridad y sintaxis.
211
+
212
+ Una validación con confianza básica puede aprobar el gate si todas las comprobaciones disponibles pasan, pero llmCodex informa explícitamente que no existe evidencia funcional completa.
213
+
214
+ ## Construcción del paquete
215
+
216
+ ```powershell
217
+ py -m pip install --upgrade build twine
218
+ py -m build
219
+ py -m twine check dist\*
220
+ ```
221
+
222
+ ## Publicación en PyPI
223
+
224
+ ```powershell
225
+ py -m twine upload --verbose dist\*
226
+ ```
227
+
228
+ Para la primera publicación de un proyecto, utiliza un token de PyPI con alcance para toda la cuenta. No publiques ni compartas el token.
229
+
230
+ ## Pruebas del propio llmCodex
231
+
232
+ ```powershell
233
+ py -m unittest discover -s tests -v
234
+ ```
235
+
236
+ La versión 3.3.0 incluye pruebas del Verification Gate, rollback completo, detección de sintaxis rota, protección de pruebas y recuperación de llamadas de herramientas de LM Studio.
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "lmcoding-local"
7
- version = "3.2.0"
7
+ version = "3.3.0"
8
8
  description = "Agente de programación local para LM Studio con interfaz tipo Codex y seguridad por workspace"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -1,3 +1,3 @@
1
1
  """llmCodex / LMCoding package."""
2
2
 
3
- __version__ = "3.2.0"
3
+ __version__ = "3.3.0"