plugadvpl 0.1.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 (71) hide show
  1. plugadvpl-0.1.0/.gitignore +34 -0
  2. plugadvpl-0.1.0/PKG-INFO +46 -0
  3. plugadvpl-0.1.0/README.md +20 -0
  4. plugadvpl-0.1.0/plugadvpl/__init__.py +12 -0
  5. plugadvpl-0.1.0/plugadvpl/__main__.py +5 -0
  6. plugadvpl-0.1.0/plugadvpl/_version.py +24 -0
  7. plugadvpl-0.1.0/plugadvpl/cli.py +727 -0
  8. plugadvpl-0.1.0/plugadvpl/db.py +312 -0
  9. plugadvpl-0.1.0/plugadvpl/ingest.py +731 -0
  10. plugadvpl-0.1.0/plugadvpl/lookups/.gitkeep +0 -0
  11. plugadvpl-0.1.0/plugadvpl/lookups/funcoes_nativas.json +3071 -0
  12. plugadvpl-0.1.0/plugadvpl/lookups/funcoes_restritas.json +1166 -0
  13. plugadvpl-0.1.0/plugadvpl/lookups/lint_rules.json +218 -0
  14. plugadvpl-0.1.0/plugadvpl/lookups/modulos_erp.json +250 -0
  15. plugadvpl-0.1.0/plugadvpl/lookups/pontos_entrada_padrao.json +122 -0
  16. plugadvpl-0.1.0/plugadvpl/lookups/sql_macros.json +44 -0
  17. plugadvpl-0.1.0/plugadvpl/migrations/001_initial.sql +338 -0
  18. plugadvpl-0.1.0/plugadvpl/output.py +167 -0
  19. plugadvpl-0.1.0/plugadvpl/parsing/.gitkeep +0 -0
  20. plugadvpl-0.1.0/plugadvpl/parsing/__init__.py +0 -0
  21. plugadvpl-0.1.0/plugadvpl/parsing/lint.py +706 -0
  22. plugadvpl-0.1.0/plugadvpl/parsing/parser.py +1410 -0
  23. plugadvpl-0.1.0/plugadvpl/parsing/stripper.py +144 -0
  24. plugadvpl-0.1.0/plugadvpl/query.py +422 -0
  25. plugadvpl-0.1.0/plugadvpl/scan.py +73 -0
  26. plugadvpl-0.1.0/pyproject.toml +115 -0
  27. plugadvpl-0.1.0/tests/__init__.py +0 -0
  28. plugadvpl-0.1.0/tests/bench/.gitkeep +0 -0
  29. plugadvpl-0.1.0/tests/bench/__init__.py +0 -0
  30. plugadvpl-0.1.0/tests/bench/test_ingest_perf.py +56 -0
  31. plugadvpl-0.1.0/tests/e2e_local/.gitkeep +0 -0
  32. plugadvpl-0.1.0/tests/e2e_local/__init__.py +0 -0
  33. plugadvpl-0.1.0/tests/e2e_local/test_e2e_local_ingest.py +150 -0
  34. plugadvpl-0.1.0/tests/fixtures/expected/.gitkeep +0 -0
  35. plugadvpl-0.1.0/tests/fixtures/synthetic/.gitkeep +0 -0
  36. plugadvpl-0.1.0/tests/fixtures/synthetic/_generate.py +435 -0
  37. plugadvpl-0.1.0/tests/fixtures/synthetic/classic_browse.prw +15 -0
  38. plugadvpl-0.1.0/tests/fixtures/synthetic/corrupted.bak +1 -0
  39. plugadvpl-0.1.0/tests/fixtures/synthetic/empty.prw +0 -0
  40. plugadvpl-0.1.0/tests/fixtures/synthetic/encoding_cp1252.prw +8 -0
  41. plugadvpl-0.1.0/tests/fixtures/synthetic/encoding_utf8.prw +8 -0
  42. plugadvpl-0.1.0/tests/fixtures/synthetic/exec_auto.prw +12 -0
  43. plugadvpl-0.1.0/tests/fixtures/synthetic/http_outbound.prw +10 -0
  44. plugadvpl-0.1.0/tests/fixtures/synthetic/huge.prw +500000 -0
  45. plugadvpl-0.1.0/tests/fixtures/synthetic/job_rpc.prw +19 -0
  46. plugadvpl-0.1.0/tests/fixtures/synthetic/multi_filial.prw +16 -0
  47. plugadvpl-0.1.0/tests/fixtures/synthetic/mvc_complete.prw +36 -0
  48. plugadvpl-0.1.0/tests/fixtures/synthetic/mvc_hooks.prw +19 -0
  49. plugadvpl-0.1.0/tests/fixtures/synthetic/pe_simple.prw +11 -0
  50. plugadvpl-0.1.0/tests/fixtures/synthetic/pubvars.prw +8 -0
  51. plugadvpl-0.1.0/tests/fixtures/synthetic/reclock_pattern.prw +14 -0
  52. plugadvpl-0.1.0/tests/fixtures/synthetic/reclock_unbalanced.prw +13 -0
  53. plugadvpl-0.1.0/tests/fixtures/synthetic/sql_embedded.prw +34 -0
  54. plugadvpl-0.1.0/tests/fixtures/synthetic/tlpp_namespace.tlpp +8 -0
  55. plugadvpl-0.1.0/tests/fixtures/synthetic/ws_rest.tlpp +17 -0
  56. plugadvpl-0.1.0/tests/fixtures/synthetic/ws_soap.prw +17 -0
  57. plugadvpl-0.1.0/tests/integration/.gitkeep +0 -0
  58. plugadvpl-0.1.0/tests/integration/__init__.py +0 -0
  59. plugadvpl-0.1.0/tests/integration/test_cli.py +287 -0
  60. plugadvpl-0.1.0/tests/integration/test_ingest.py +175 -0
  61. plugadvpl-0.1.0/tests/unit/.gitkeep +0 -0
  62. plugadvpl-0.1.0/tests/unit/__snapshots__/test_parser_snapshots.ambr +1410 -0
  63. plugadvpl-0.1.0/tests/unit/test_db.py +353 -0
  64. plugadvpl-0.1.0/tests/unit/test_lint.py +449 -0
  65. plugadvpl-0.1.0/tests/unit/test_output.py +168 -0
  66. plugadvpl-0.1.0/tests/unit/test_parser.py +760 -0
  67. plugadvpl-0.1.0/tests/unit/test_parser_snapshots.py +53 -0
  68. plugadvpl-0.1.0/tests/unit/test_query.py +257 -0
  69. plugadvpl-0.1.0/tests/unit/test_scan.py +112 -0
  70. plugadvpl-0.1.0/tests/unit/test_stripper.py +154 -0
  71. plugadvpl-0.1.0/uv.lock +693 -0
@@ -0,0 +1,34 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ .pytest_cache/
6
+ .ruff_cache/
7
+ .mypy_cache/
8
+ .coverage
9
+ htmlcov/
10
+ *.egg-info/
11
+ build/
12
+ dist/
13
+ .venv/
14
+ .uv/
15
+
16
+ # Plugadvpl index (per-projeto-cliente — não versionar)
17
+ .plugadvpl/
18
+
19
+ # IDE
20
+ .vscode/
21
+ .idea/
22
+ *.swp
23
+
24
+ # OS
25
+ .DS_Store
26
+ Thumbs.db
27
+ coverage.xml
28
+ cli/coverage.xml
29
+
30
+ # Claude Code local artifacts
31
+ .claude/
32
+
33
+ # hatch-vcs auto-generated version file
34
+ cli/plugadvpl/_version.py
@@ -0,0 +1,46 @@
1
+ Metadata-Version: 2.4
2
+ Name: plugadvpl
3
+ Version: 0.1.0
4
+ Summary: CLI que indexa fontes ADVPL/Protheus em SQLite com FTS5 para análise por LLM (companheiro do plugin Claude Code plugadvpl)
5
+ Project-URL: Homepage, https://github.com/JoniPraia/plugadvpl
6
+ Project-URL: Issues, https://github.com/JoniPraia/plugadvpl/issues
7
+ Project-URL: Source, https://github.com/JoniPraia/plugadvpl
8
+ Project-URL: Changelog, https://github.com/JoniPraia/plugadvpl/blob/main/CHANGELOG.md
9
+ Author-email: JoniPraia <jonipraiaoficial@gmail.com>
10
+ License-Expression: MIT
11
+ Keywords: advpl,claude-code,fts5,protheus,sqlite,tlpp,totvs
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Topic :: Software Development :: Code Generators
19
+ Classifier: Topic :: Software Development :: Libraries
20
+ Requires-Python: >=3.11
21
+ Requires-Dist: chardet>=5.0
22
+ Requires-Dist: psutil>=5.9
23
+ Requires-Dist: rich>=13.7
24
+ Requires-Dist: typer>=0.15
25
+ Description-Content-Type: text/markdown
26
+
27
+ # plugadvpl (CLI Python)
28
+
29
+ CLI que indexa fontes ADVPL/TLPP em SQLite com FTS5. Companheiro do plugin
30
+ Claude Code de mesmo nome.
31
+
32
+ ## Instalação
33
+
34
+ ```bash
35
+ # Executar uma vez (cache uvx):
36
+ uvx plugadvpl@0.1.0 --help
37
+
38
+ # Ou instalar global (PATH):
39
+ uv tool install plugadvpl@0.1.0
40
+ plugadvpl --help
41
+ ```
42
+
43
+ ## Comandos principais
44
+
45
+ Ver `plugadvpl --help`. Documentação completa: `docs/cli-reference.md` no
46
+ repositório principal.
@@ -0,0 +1,20 @@
1
+ # plugadvpl (CLI Python)
2
+
3
+ CLI que indexa fontes ADVPL/TLPP em SQLite com FTS5. Companheiro do plugin
4
+ Claude Code de mesmo nome.
5
+
6
+ ## Instalação
7
+
8
+ ```bash
9
+ # Executar uma vez (cache uvx):
10
+ uvx plugadvpl@0.1.0 --help
11
+
12
+ # Ou instalar global (PATH):
13
+ uv tool install plugadvpl@0.1.0
14
+ plugadvpl --help
15
+ ```
16
+
17
+ ## Comandos principais
18
+
19
+ Ver `plugadvpl --help`. Documentação completa: `docs/cli-reference.md` no
20
+ repositório principal.
@@ -0,0 +1,12 @@
1
+ """plugadvpl — CLI Python para indexar fontes ADVPL/TLPP do Protheus.
2
+
3
+ Companheiro do plugin Claude Code de mesmo nome. Ver:
4
+ https://github.com/JoniPraia/plugadvpl
5
+ """
6
+
7
+ try:
8
+ from plugadvpl._version import __version__
9
+ except ImportError:
10
+ __version__ = "0.0.0+dev"
11
+
12
+ __all__ = ["__version__"]
@@ -0,0 +1,5 @@
1
+ """Permite executar via `python -m plugadvpl`."""
2
+ from plugadvpl.cli import main
3
+
4
+ if __name__ == "__main__":
5
+ main()
@@ -0,0 +1,24 @@
1
+ # file generated by vcs-versioning
2
+ # don't change, don't track in version control
3
+ from __future__ import annotations
4
+
5
+ __all__ = [
6
+ "__version__",
7
+ "__version_tuple__",
8
+ "version",
9
+ "version_tuple",
10
+ "__commit_id__",
11
+ "commit_id",
12
+ ]
13
+
14
+ version: str
15
+ __version__: str
16
+ __version_tuple__: tuple[int | str, ...]
17
+ version_tuple: tuple[int | str, ...]
18
+ commit_id: str | None
19
+ __commit_id__: str | None
20
+
21
+ __version__ = version = '0.1.0'
22
+ __version_tuple__ = version_tuple = (0, 1, 0)
23
+
24
+ __commit_id__ = commit_id = None