vql 0.1.4__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 (236) hide show
  1. vql-0.1.4/.gitignore +404 -0
  2. vql-0.1.4/CHANGELOG.md +255 -0
  3. vql-0.1.4/LICENSE +201 -0
  4. vql-0.1.4/Makefile +112 -0
  5. vql-0.1.4/PKG-INFO +199 -0
  6. vql-0.1.4/README.md +170 -0
  7. vql-0.1.4/SUMD.md +2400 -0
  8. vql-0.1.4/SUMR.md +1476 -0
  9. vql-0.1.4/TODO.md +214 -0
  10. vql-0.1.4/VERSION +1 -0
  11. vql-0.1.4/app.doql.less +147 -0
  12. vql-0.1.4/app.vql.events.pb +0 -0
  13. vql-0.1.4/app.vql.json +5803 -0
  14. vql-0.1.4/docs/README.md +81 -0
  15. vql-0.1.4/docs/architecture.md +79 -0
  16. vql-0.1.4/docs/desktop-capture.md +101 -0
  17. vql-0.1.4/docs/getting-started.md +114 -0
  18. vql-0.1.4/docs/img2svg-uri.md +61 -0
  19. vql-0.1.4/docs/packages.md +80 -0
  20. vql-0.1.4/docs/photo-roundtrip-sample.vql.json +41 -0
  21. vql-0.1.4/docs/photo-roundtrip.md +252 -0
  22. vql-0.1.4/docs/rest-window-api.md +91 -0
  23. vql-0.1.4/docs/vdisplay-imgl-automation.md +183 -0
  24. vql-0.1.4/docs/window-pipeline.md +156 -0
  25. vql-0.1.4/docs/window-uri.md +125 -0
  26. vql-0.1.4/examples/README.md +90 -0
  27. vql-0.1.4/examples/full-pipeline.sh +80 -0
  28. vql-0.1.4/examples/generate-demo-screen.py +76 -0
  29. vql-0.1.4/examples/img2nl-vql-flow.sh +214 -0
  30. vql-0.1.4/examples/live-capture-test.sh +94 -0
  31. vql-0.1.4/examples/photo-roundtrip-test.py +406 -0
  32. vql-0.1.4/examples/scope-window.py +53 -0
  33. vql-0.1.4/goal.yaml +511 -0
  34. vql-0.1.4/install-dev.sh +37 -0
  35. vql-0.1.4/layout.vql.imgl.json +21939 -0
  36. vql-0.1.4/layout.vql.json +78775 -0
  37. vql-0.1.4/nlp2uri.yaml +8 -0
  38. vql-0.1.4/packages/CONTROL_LAYER_PROMPT.template.md +646 -0
  39. vql-0.1.4/packages/README.md +126 -0
  40. vql-0.1.4/packages/cli2vql/pyproject.toml +18 -0
  41. vql-0.1.4/packages/cli2vql/src/cli2vql/__init__.py +1 -0
  42. vql-0.1.4/packages/cli2vql/src/cli2vql/cli.py +68 -0
  43. vql-0.1.4/packages/dsl2img2svg/README.md +19 -0
  44. vql-0.1.4/packages/dsl2img2svg/pyproject.toml +18 -0
  45. vql-0.1.4/packages/dsl2img2svg/src/dsl2img2svg/__init__.py +5 -0
  46. vql-0.1.4/packages/dsl2img2svg/src/dsl2img2svg/cli.py +21 -0
  47. vql-0.1.4/packages/dsl2img2svg/src/dsl2img2svg/dispatch.py +115 -0
  48. vql-0.1.4/packages/dsl2img2svg/tests/test_dispatch.py +31 -0
  49. vql-0.1.4/packages/dsl2vql/proto/dsl2vql/v1/command.proto +62 -0
  50. vql-0.1.4/packages/dsl2vql/proto/dsl2vql/v1/result.proto +23 -0
  51. vql-0.1.4/packages/dsl2vql/pyproject.toml +33 -0
  52. vql-0.1.4/packages/dsl2vql/scripts/generate-proto.sh +7 -0
  53. vql-0.1.4/packages/dsl2vql/src/dsl2vql/__init__.py +6 -0
  54. vql-0.1.4/packages/dsl2vql/src/dsl2vql/bus.py +77 -0
  55. vql-0.1.4/packages/dsl2vql/src/dsl2vql/cli.py +97 -0
  56. vql-0.1.4/packages/dsl2vql/src/dsl2vql/codec.py +35 -0
  57. vql-0.1.4/packages/dsl2vql/src/dsl2vql/engine.py +8 -0
  58. vql-0.1.4/packages/dsl2vql/src/dsl2vql/events.py +108 -0
  59. vql-0.1.4/packages/dsl2vql/src/dsl2vql/grammar.py +96 -0
  60. vql-0.1.4/packages/dsl2vql/src/dsl2vql/handlers/__init__.py +5 -0
  61. vql-0.1.4/packages/dsl2vql/src/dsl2vql/handlers/command.py +130 -0
  62. vql-0.1.4/packages/dsl2vql/src/dsl2vql/handlers/query.py +109 -0
  63. vql-0.1.4/packages/dsl2vql/src/dsl2vql/pb_codec.py +157 -0
  64. vql-0.1.4/packages/dsl2vql/src/dsl2vql/result.py +28 -0
  65. vql-0.1.4/packages/dsl2vql/src/dsl2vql/schema/commands/compile.schema.json +12 -0
  66. vql-0.1.4/packages/dsl2vql/src/dsl2vql/schema/commands/generate.schema.json +11 -0
  67. vql-0.1.4/packages/dsl2vql/src/dsl2vql/schema/commands/patch.schema.json +12 -0
  68. vql-0.1.4/packages/dsl2vql/src/dsl2vql/schema/commands/query.schema.json +12 -0
  69. vql-0.1.4/packages/dsl2vql/src/dsl2vql/schema/commands/render.schema.json +12 -0
  70. vql-0.1.4/packages/dsl2vql/src/dsl2vql/schema/commands/validate.schema.json +10 -0
  71. vql-0.1.4/packages/dsl2vql/src/dsl2vql/schema_registry.py +46 -0
  72. vql-0.1.4/packages/dsl2vql/src/dsl2vql/v1/__init__.py +5 -0
  73. vql-0.1.4/packages/dsl2vql/src/dsl2vql/v1/command_pb2.py +52 -0
  74. vql-0.1.4/packages/dsl2vql/src/dsl2vql/v1/result_pb2.py +39 -0
  75. vql-0.1.4/packages/dsl2vql/tests/test_parity.py +28 -0
  76. vql-0.1.4/packages/img2svg/README.md +66 -0
  77. vql-0.1.4/packages/img2svg/pyproject.toml +26 -0
  78. vql-0.1.4/packages/img2svg/src/img2svg/__init__.py +13 -0
  79. vql-0.1.4/packages/img2svg/src/img2svg/cli.py +71 -0
  80. vql-0.1.4/packages/img2svg/src/img2svg/svg_emit.py +134 -0
  81. vql-0.1.4/packages/img2svg/src/img2svg/to_vql.py +141 -0
  82. vql-0.1.4/packages/img2svg/src/img2svg/trace.py +263 -0
  83. vql-0.1.4/packages/img2svg/tests/test_img2svg.py +100 -0
  84. vql-0.1.4/packages/img2vql/README.md +76 -0
  85. vql-0.1.4/packages/img2vql/pyproject.toml +26 -0
  86. vql-0.1.4/packages/img2vql/src/img2vql/__init__.py +26 -0
  87. vql-0.1.4/packages/img2vql/src/img2vql/adopt.py +63 -0
  88. vql-0.1.4/packages/img2vql/src/img2vql/cli.py +87 -0
  89. vql-0.1.4/packages/img2vql/src/img2vql/describe_ui.py +121 -0
  90. vql-0.1.4/packages/img2vql/src/img2vql/detect.py +379 -0
  91. vql-0.1.4/packages/img2vql/src/img2vql/diagnose.py +125 -0
  92. vql-0.1.4/packages/img2vql/src/img2vql/fingerprint.py +104 -0
  93. vql-0.1.4/packages/img2vql/src/img2vql/metadata.py +339 -0
  94. vql-0.1.4/packages/img2vql/src/img2vql/program.py +141 -0
  95. vql-0.1.4/packages/img2vql/tests/test_auto_ocr.py +44 -0
  96. vql-0.1.4/packages/img2vql/tests/test_detect.py +74 -0
  97. vql-0.1.4/packages/img2vql/tests/test_diagnose.py +30 -0
  98. vql-0.1.4/packages/img2vql/tests/test_fingerprint.py +92 -0
  99. vql-0.1.4/packages/img2vql/tests/test_metadata_imgl.py +48 -0
  100. vql-0.1.4/packages/mcp2vql/pyproject.toml +24 -0
  101. vql-0.1.4/packages/mcp2vql/src/mcp2vql/__init__.py +5 -0
  102. vql-0.1.4/packages/mcp2vql/src/mcp2vql/cli.py +8 -0
  103. vql-0.1.4/packages/mcp2vql/src/mcp2vql/server.py +135 -0
  104. vql-0.1.4/packages/nlp2vql/pyproject.toml +18 -0
  105. vql-0.1.4/packages/nlp2vql/src/nlp2vql/__init__.py +6 -0
  106. vql-0.1.4/packages/nlp2vql/src/nlp2vql/apply.py +48 -0
  107. vql-0.1.4/packages/nlp2vql/src/nlp2vql/cli.py +53 -0
  108. vql-0.1.4/packages/nlp2vql/src/nlp2vql/to_dsl.py +42 -0
  109. vql-0.1.4/packages/rest2vql/pyproject.toml +26 -0
  110. vql-0.1.4/packages/rest2vql/src/rest2vql/__init__.py +5 -0
  111. vql-0.1.4/packages/rest2vql/src/rest2vql/app.py +72 -0
  112. vql-0.1.4/packages/rest2vql/src/rest2vql/cli.py +24 -0
  113. vql-0.1.4/packages/rest2vql/src/rest2vql/window.py +124 -0
  114. vql-0.1.4/packages/rest2vql/src/rest2vql/window_routes.py +110 -0
  115. vql-0.1.4/packages/rest2vql/tests/test_window_api.py +120 -0
  116. vql-0.1.4/packages/uri2img2svg/README.md +39 -0
  117. vql-0.1.4/packages/uri2img2svg/pyproject.toml +18 -0
  118. vql-0.1.4/packages/uri2img2svg/src/uri2img2svg/__init__.py +6 -0
  119. vql-0.1.4/packages/uri2img2svg/src/uri2img2svg/cli.py +28 -0
  120. vql-0.1.4/packages/uri2img2svg/src/uri2img2svg/query.py +144 -0
  121. vql-0.1.4/packages/uri2img2svg/src/uri2img2svg/uri.py +59 -0
  122. vql-0.1.4/packages/uri2img2svg/tests/test_uri2img2svg.py +41 -0
  123. vql-0.1.4/packages/uri2vql/pyproject.toml +26 -0
  124. vql-0.1.4/packages/uri2vql/src/uri2vql/__init__.py +45 -0
  125. vql-0.1.4/packages/uri2vql/src/uri2vql/cli.py +352 -0
  126. vql-0.1.4/packages/uri2vql/src/uri2vql/compile.py +36 -0
  127. vql-0.1.4/packages/uri2vql/src/uri2vql/nlp2uri.py +329 -0
  128. vql-0.1.4/packages/uri2vql/src/uri2vql/patch.py +40 -0
  129. vql-0.1.4/packages/uri2vql/src/uri2vql/query.py +95 -0
  130. vql-0.1.4/packages/uri2vql/src/uri2vql/run.py +64 -0
  131. vql-0.1.4/packages/uri2vql/src/uri2vql/uri.py +183 -0
  132. vql-0.1.4/packages/uri2vql/src/uri2vql/window.py +653 -0
  133. vql-0.1.4/packages/uri2vql/tests/test_nlp2uri_window.py +30 -0
  134. vql-0.1.4/packages/uri2vql/tests/test_window_refresh.py +78 -0
  135. vql-0.1.4/planfile.yaml +1319 -0
  136. vql-0.1.4/prefact.yaml +94 -0
  137. vql-0.1.4/project/README.md +340 -0
  138. vql-0.1.4/project/analysis.toon.yaml +338 -0
  139. vql-0.1.4/project/calls.mmd +502 -0
  140. vql-0.1.4/project/calls.png +0 -0
  141. vql-0.1.4/project/calls.toon.yaml +348 -0
  142. vql-0.1.4/project/calls.yaml +2806 -0
  143. vql-0.1.4/project/compact_flow.mmd +42 -0
  144. vql-0.1.4/project/compact_flow.png +0 -0
  145. vql-0.1.4/project/context.md +614 -0
  146. vql-0.1.4/project/duplication.toon.yaml +112 -0
  147. vql-0.1.4/project/evolution.toon.yaml +83 -0
  148. vql-0.1.4/project/flow.mmd +34 -0
  149. vql-0.1.4/project/flow.png +0 -0
  150. vql-0.1.4/project/index.html +624 -0
  151. vql-0.1.4/project/logic.pl +863 -0
  152. vql-0.1.4/project/map.toon.yaml +844 -0
  153. vql-0.1.4/project/mermaid.export +588 -0
  154. vql-0.1.4/project/planfile-tickets.yaml +4027 -0
  155. vql-0.1.4/project/project.toon.yaml +54 -0
  156. vql-0.1.4/project/prompt.txt +48 -0
  157. vql-0.1.4/project.sh +59 -0
  158. vql-0.1.4/pyproject.toml +65 -0
  159. vql-0.1.4/scripts/test-goal.sh +6 -0
  160. vql-0.1.4/src/vql/__init__.py +56 -0
  161. vql-0.1.4/src/vql/adopt/__init__.py +19 -0
  162. vql-0.1.4/src/vql/adopt/portal_capture.py +109 -0
  163. vql-0.1.4/src/vql/adopt/window.py +804 -0
  164. vql-0.1.4/src/vql/api.py +55 -0
  165. vql-0.1.4/src/vql/compiler/__init__.py +15 -0
  166. vql-0.1.4/src/vql/compiler/legacy_drawcommand.py +142 -0
  167. vql-0.1.4/src/vql/compiler/nl_to_vql.py +69 -0
  168. vql-0.1.4/src/vql/drawing/__init__.py +16 -0
  169. vql-0.1.4/src/vql/drawing/arrow_generator.py +46 -0
  170. vql-0.1.4/src/vql/drawing/bird_generator.py +49 -0
  171. vql-0.1.4/src/vql/drawing/boat_generator.py +40 -0
  172. vql-0.1.4/src/vql/drawing/butterfly_generator.py +50 -0
  173. vql-0.1.4/src/vql/drawing/car_generator.py +48 -0
  174. vql-0.1.4/src/vql/drawing/castle_generator.py +63 -0
  175. vql-0.1.4/src/vql/drawing/cat_generator.py +55 -0
  176. vql-0.1.4/src/vql/drawing/circle_generator.py +29 -0
  177. vql-0.1.4/src/vql/drawing/cloud_detailed_generator.py +47 -0
  178. vql-0.1.4/src/vql/drawing/colors.py +135 -0
  179. vql-0.1.4/src/vql/drawing/commands.py +271 -0
  180. vql-0.1.4/src/vql/drawing/crescent_generator.py +36 -0
  181. vql-0.1.4/src/vql/drawing/cross_generator.py +33 -0
  182. vql-0.1.4/src/vql/drawing/diamond_generator.py +36 -0
  183. vql-0.1.4/src/vql/drawing/dot_generator.py +29 -0
  184. vql-0.1.4/src/vql/drawing/ellipse_generator.py +30 -0
  185. vql-0.1.4/src/vql/drawing/event_store.py +101 -0
  186. vql-0.1.4/src/vql/drawing/events.py +142 -0
  187. vql-0.1.4/src/vql/drawing/fish_generator.py +46 -0
  188. vql-0.1.4/src/vql/drawing/flower_generator.py +35 -0
  189. vql-0.1.4/src/vql/drawing/grid_generator.py +36 -0
  190. vql-0.1.4/src/vql/drawing/heart_generator.py +30 -0
  191. vql-0.1.4/src/vql/drawing/hexagon_generator.py +27 -0
  192. vql-0.1.4/src/vql/drawing/house_generator.py +30 -0
  193. vql-0.1.4/src/vql/drawing/line_generator.py +25 -0
  194. vql-0.1.4/src/vql/drawing/mountain_generator.py +39 -0
  195. vql-0.1.4/src/vql/drawing/nl_parser.py +225 -0
  196. vql-0.1.4/src/vql/drawing/octagon_generator.py +27 -0
  197. vql-0.1.4/src/vql/drawing/path_generator.py +25 -0
  198. vql-0.1.4/src/vql/drawing/pentagon_generator.py +27 -0
  199. vql-0.1.4/src/vql/drawing/rectangle_generator.py +26 -0
  200. vql-0.1.4/src/vql/drawing/renderers/__init__.py +9 -0
  201. vql-0.1.4/src/vql/drawing/renderers/base.py +84 -0
  202. vql-0.1.4/src/vql/drawing/renderers/playwright.py +215 -0
  203. vql-0.1.4/src/vql/drawing/renderers/svg.py +93 -0
  204. vql-0.1.4/src/vql/drawing/rocket_generator.py +52 -0
  205. vql-0.1.4/src/vql/drawing/shape_generator.py +37 -0
  206. vql-0.1.4/src/vql/drawing/shape_registry.py +103 -0
  207. vql-0.1.4/src/vql/drawing/shapes.py +78 -0
  208. vql-0.1.4/src/vql/drawing/spiral_generator.py +32 -0
  209. vql-0.1.4/src/vql/drawing/square_generator.py +25 -0
  210. vql-0.1.4/src/vql/drawing/star_generator.py +33 -0
  211. vql-0.1.4/src/vql/drawing/sun_generator.py +36 -0
  212. vql-0.1.4/src/vql/drawing/svg_path_parser.py +205 -0
  213. vql-0.1.4/src/vql/drawing/tree_generator.py +33 -0
  214. vql-0.1.4/src/vql/drawing/triangle_generator.py +26 -0
  215. vql-0.1.4/src/vql/drawing/wave_generator.py +34 -0
  216. vql-0.1.4/src/vql/facade.py +95 -0
  217. vql-0.1.4/src/vql/library/__init__.py +14 -0
  218. vql-0.1.4/src/vql/renderers/__init__.py +23 -0
  219. vql-0.1.4/src/vql/renderers/base.py +65 -0
  220. vql-0.1.4/src/vql/renderers/playwright.py +22 -0
  221. vql-0.1.4/src/vql/renderers/svg.py +51 -0
  222. vql-0.1.4/src/vql/schema/__init__.py +33 -0
  223. vql-0.1.4/src/vql/schema/program.py +423 -0
  224. vql-0.1.4/src/vql/schema/program_metadata_imgl.json +48 -0
  225. vql-0.1.4/src/vql/validation/__init__.py +13 -0
  226. vql-0.1.4/src/vql/validation/metadata.py +57 -0
  227. vql-0.1.4/src/vql/validation/spec.py +91 -0
  228. vql-0.1.4/testql-scenarios/generated-cli-tests.testql.toon.yaml +20 -0
  229. vql-0.1.4/testql-scenarios/generated-from-pytests.testql.toon.yaml +12 -0
  230. vql-0.1.4/tests/test_adopt_window_capture.py +36 -0
  231. vql-0.1.4/tests/test_metadata_validation.py +40 -0
  232. vql-0.1.4/tests/test_photo_roundtrip.py +115 -0
  233. vql-0.1.4/tests/test_screenshot_merge.py +30 -0
  234. vql-0.1.4/tests/test_vql.py +244 -0
  235. vql-0.1.4/tree.sh +1 -0
  236. vql-0.1.4/uv.lock +3676 -0
vql-0.1.4/.gitignore ADDED
@@ -0,0 +1,404 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ .env.example
3
+ .idea/
4
+ __pycache__/
5
+ *.py[codz]
6
+ *$py.class
7
+ .code2llm_cache/
8
+ .env.example
9
+ .code2llm_cache/
10
+ .pkl
11
+ screenshots
12
+ fresh_env
13
+ webops
14
+ networkx-3.6.1-py3-none-any
15
+ recordings
16
+ oferteo_firmy.txt
17
+ .idea
18
+ .gguf
19
+ *.gguf
20
+ .projektor
21
+ test-env
22
+ push-e
23
+ publish-env
24
+ nlp2cmd-repo
25
+ .nlp2cmd/
26
+ # Byte-compiled / optimized / DLL files
27
+ __pycache__/
28
+ *.py[cod]
29
+ *$py.class
30
+
31
+ # C extensions
32
+ *.so
33
+
34
+ # Distribution / packaging
35
+ .Python
36
+ build/
37
+ develop-eggs/
38
+ dist/
39
+ downloads/
40
+ eggs/
41
+ .eggs/
42
+ lib/
43
+ lib64/
44
+ parts/
45
+ sdist/
46
+ var/
47
+ wheels/
48
+ share/python-wheels/
49
+ *.egg-info/
50
+ .installed.cfg
51
+ *.egg
52
+ MANIFEST
53
+
54
+ # PyInstaller
55
+ *.manifest
56
+ *.spec
57
+
58
+ # Installer logs
59
+ pip-log.txt
60
+ pip-delete-this-directory.txt
61
+
62
+ # Unit test / coverage reports
63
+ htmlcov/
64
+ .tox/
65
+ .nox/
66
+ .coverage
67
+ .coverage.*
68
+ .cache
69
+ nosetests.xml
70
+ coverage.xml
71
+ *.cover
72
+ *.py,cover
73
+ .hypothesis/
74
+ .pytest_cache/
75
+ cover/
76
+
77
+ # Translations
78
+ *.mo
79
+ *.pot
80
+
81
+ # Django stuff:
82
+ *.log
83
+ local_settings.py
84
+ db.sqlite3
85
+ db.sqlite3-journal
86
+
87
+ # Flask stuff:
88
+ instance/
89
+ .webassets-cache
90
+
91
+ # Scrapy stuff:
92
+ .scrapy
93
+
94
+ # Sphinx documentation
95
+ docs/_build/
96
+
97
+ # PyBuilder
98
+ .pybuilder/
99
+ target/
100
+
101
+ # Jupyter Notebook
102
+ .ipynb_checkpoints
103
+
104
+ # IPython
105
+ profile_default/
106
+ ipython_config.py
107
+
108
+ # pyenv
109
+ .python-version
110
+
111
+ # pipenv
112
+ Pipfile.lock
113
+
114
+ # poetry
115
+ poetry.lock
116
+
117
+ # pdm
118
+ .pdm.toml
119
+ .pdm-python
120
+ .pdm-build/
121
+
122
+ # PEP 582
123
+ __pypackages__/
124
+
125
+ # Celery stuff
126
+ celerybeat-schedule
127
+ celerybeat.pid
128
+
129
+ # SageMath parsed files
130
+ *.sage.py
131
+
132
+ # Environments
133
+ .env
134
+ .venv
135
+ env/
136
+ venv/
137
+ ENV/
138
+ env.bak/
139
+ venv.bak/
140
+
141
+ # Spyder project settings
142
+ .spyderproject
143
+ .spyproject
144
+
145
+ # Rope project settings
146
+ .ropeproject
147
+
148
+ # mkdocs documentation
149
+ /site
150
+
151
+ # mypy
152
+ .mypy_cache/
153
+ .dmypy.json
154
+ dmypy.json
155
+
156
+ # Pyre type checker
157
+ .pyre/
158
+
159
+ # pytype static type analyzer
160
+ .pytype/
161
+
162
+ # Cython debug symbols
163
+ cython_debug/
164
+
165
+ # IDE
166
+ .idea/
167
+ .vscode/
168
+ *.swp
169
+ *.swo
170
+ *~
171
+
172
+ # OS
173
+ .DS_Store
174
+ Thumbs.db
175
+
176
+ # Project specific
177
+ *.bak
178
+ *.backup
179
+ reports/
180
+ *.json.bak
181
+ env-report.json
182
+
183
+ # Secrets
184
+ .env.local
185
+ .env.*.local
186
+ secrets/
187
+ credentials/
188
+
189
+ # Separate projects
190
+ webops/
191
+
192
+ # C extensions
193
+ *.so
194
+
195
+ # Distribution / packaging
196
+ .Python
197
+ build/
198
+ develop-eggs/
199
+ dist/
200
+ downloads/
201
+ eggs/
202
+ .eggs/
203
+ lib/
204
+ lib64/
205
+ parts/
206
+ sdist/
207
+ var/
208
+ wheels/
209
+ share/python-wheels/
210
+ *.egg-info/
211
+ .installed.cfg
212
+ *.egg
213
+ MANIFEST
214
+
215
+ # PyInstaller
216
+ # Usually these files are written by a python script from a template
217
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
218
+ *.manifest
219
+ *.spec
220
+
221
+ # Installer logs
222
+ pip-log.txt
223
+ pip-delete-this-directory.txt
224
+
225
+ # Unit test / coverage reports
226
+ htmlcov/
227
+ .tox/
228
+ .nox/
229
+ .coverage
230
+ .coverage.*
231
+ .cache
232
+ nosetests.xml
233
+ coverage.xml
234
+ *.cover
235
+ *.py.cover
236
+ .hypothesis/
237
+ .pytest_cache/
238
+ cover/
239
+
240
+ # Translations
241
+ *.mo
242
+ *.pot
243
+
244
+ # Django stuff:
245
+ *.log
246
+ local_settings.py
247
+ db.sqlite3
248
+ db.sqlite3-journal
249
+
250
+ # Flask stuff:
251
+ instance/
252
+ .webassets-cache
253
+
254
+ # Scrapy stuff:
255
+ .scrapy
256
+
257
+ # Sphinx documentation
258
+ docs/_build/
259
+
260
+ # PyBuilder
261
+ .pybuilder/
262
+ target/
263
+
264
+ # Jupyter Notebook
265
+ .ipynb_checkpoints
266
+
267
+ # IPython
268
+ profile_default/
269
+ ipython_config.py
270
+
271
+ # pyenv
272
+ # For a library or package, you might want to ignore these files since the code is
273
+ # intended to run in multiple environments; otherwise, check them in:
274
+ # .python-version
275
+
276
+ # pipenv
277
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
278
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
279
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
280
+ # install all needed dependencies.
281
+ # Pipfile.lock
282
+
283
+ # UV
284
+ # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
285
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
286
+ # commonly ignored for libraries.
287
+ # uv.lock
288
+
289
+ # poetry
290
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
291
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
292
+ # commonly ignored for libraries.
293
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
294
+ # poetry.lock
295
+ # poetry.toml
296
+
297
+ # pdm
298
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
299
+ # pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python.
300
+ # https://pdm-project.org/en/latest/usage/project/#working-with-version-control
301
+ # pdm.lock
302
+ # pdm.toml
303
+ .pdm-python
304
+ .pdm-build/
305
+
306
+ # pixi
307
+ # Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control.
308
+ # pixi.lock
309
+ # Pixi creates a virtual environment in the .pixi directory, just like venv module creates one
310
+ # in the .venv directory. It is recommended not to include this directory in version control.
311
+ .pixi
312
+
313
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
314
+ __pypackages__/
315
+
316
+ # Celery stuff
317
+ celerybeat-schedule
318
+ celerybeat.pid
319
+
320
+ # Redis
321
+ *.rdb
322
+ *.aof
323
+ *.pid
324
+
325
+ # RabbitMQ
326
+ mnesia/
327
+ rabbitmq/
328
+ rabbitmq-data/
329
+
330
+ # ActiveMQ
331
+ activemq-data/
332
+
333
+ # SageMath parsed files
334
+ *.sage.py
335
+
336
+ # Environments
337
+ .env
338
+ .envrc
339
+ .venv
340
+ env/
341
+ venv/
342
+ ENV/
343
+ env.bak/
344
+ venv.bak/
345
+
346
+ # Spyder project settings
347
+ .spyderproject
348
+ .spyproject
349
+
350
+ # Rope project settings
351
+ .ropeproject
352
+
353
+ # mkdocs documentation
354
+ /site
355
+
356
+ # mypy
357
+ .mypy_cache/
358
+ .dmypy.json
359
+ dmypy.json
360
+
361
+ # Pyre type checker
362
+ .pyre/
363
+
364
+ # pytype static type analyzer
365
+ .pytype/
366
+
367
+ # Cython debug symbols
368
+ cython_debug/
369
+
370
+ # PyCharm
371
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
372
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
373
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
374
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
375
+ # .idea/
376
+
377
+ # Abstra
378
+ # Abstra is an AI-powered process automation framework.
379
+ # Ignore directories containing user credentials, local state, and settings.
380
+ # Learn more at https://abstra.io/docs
381
+ .abstra/
382
+
383
+ # Visual Studio Code
384
+ # Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
385
+ # that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
386
+ # and can be added to the global gitignore or merged into this file. However, if you prefer,
387
+ # you could uncomment the following to ignore the entire vscode folder
388
+ # .vscode/
389
+ # Temporary file for partial code execution
390
+ tempCodeRunnerFile.py
391
+
392
+ # Ruff stuff:
393
+ .ruff_cache/
394
+
395
+ # PyPI configuration file
396
+ .pypirc
397
+
398
+ # Marimo
399
+ marimo/_static/
400
+ marimo/_lsp/
401
+ __marimo__/
402
+
403
+ # Streamlit
404
+ .streamlit/secrets.toml
vql-0.1.4/CHANGELOG.md ADDED
@@ -0,0 +1,255 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [0.1.10] - 2026-06-09
9
+
10
+ ### Fixed
11
+ - Fix unused-imports issues (ticket-8e666f5d)
12
+ - Fix ai-boilerplate issues (ticket-e0e0ab6d)
13
+ - Fix unused-imports issues (ticket-057cf9dc)
14
+ - Fix ai-boilerplate issues (ticket-a6d9ecee)
15
+ - Fix string-concat issues (ticket-3e3bfd3b)
16
+ - Fix unused-imports issues (ticket-19c95c44)
17
+ - Fix unused-imports issues (ticket-efcbfb1e)
18
+ - Fix unused-imports issues (ticket-daf72a7d)
19
+ - Fix unused-imports issues (ticket-6da2a8ff)
20
+ - Fix ai-boilerplate issues (ticket-3990d59d)
21
+ - Fix unused-imports issues (ticket-bc82e83e)
22
+ - Fix string-concat issues (ticket-abf26244)
23
+ - Fix unused-imports issues (ticket-c0d7a135)
24
+ - Fix string-concat issues (ticket-ff5032fd)
25
+ - Fix unused-imports issues (ticket-576bab90)
26
+ - Fix unused-imports issues (ticket-decf1bdf)
27
+ - Fix magic-numbers issues (ticket-af63ef32)
28
+ - Fix string-concat issues (ticket-6b15430f)
29
+ - Fix unused-imports issues (ticket-8a867444)
30
+ - Fix unused-imports issues (ticket-96185ba6)
31
+ - Fix magic-numbers issues (ticket-0f7890e8)
32
+ - Fix unused-imports issues (ticket-bf838267)
33
+ - Fix unused-imports issues (ticket-d3cdea36)
34
+ - Fix magic-numbers issues (ticket-f4a4b7eb)
35
+ - Fix unused-imports issues (ticket-8a571a4a)
36
+ - Fix magic-numbers issues (ticket-43fe4d81)
37
+ - Fix unused-imports issues (ticket-eee4c1b8)
38
+ - Fix ai-boilerplate issues (ticket-7d1ffd9b)
39
+ - Fix unused-imports issues (ticket-d63d2189)
40
+ - Fix string-concat issues (ticket-c3de3b8f)
41
+ - Fix unused-imports issues (ticket-f1f5c59f)
42
+ - Fix magic-numbers issues (ticket-48bfab49)
43
+ - Fix unused-imports issues (ticket-8a25b787)
44
+ - Fix magic-numbers issues (ticket-d2c1408e)
45
+ - Fix string-concat issues (ticket-c1c2051c)
46
+ - Fix unused-imports issues (ticket-e87661a6)
47
+ - Fix magic-numbers issues (ticket-26e77a10)
48
+ - Fix unused-imports issues (ticket-1fd2d0c8)
49
+ - Fix magic-numbers issues (ticket-5c52a68e)
50
+ - Fix ai-boilerplate issues (ticket-81f97908)
51
+ - Fix unused-imports issues (ticket-eb25a27a)
52
+ - Fix magic-numbers issues (ticket-83cc4d96)
53
+ - Fix unused-imports issues (ticket-4129ca21)
54
+ - Fix unused-imports issues (ticket-a873a55c)
55
+ - Fix string-concat issues (ticket-6297287f)
56
+ - Fix unused-imports issues (ticket-de4c3522)
57
+ - Fix magic-numbers issues (ticket-17e6563c)
58
+ - Fix string-concat issues (ticket-28425684)
59
+ - Fix unused-imports issues (ticket-427bd01d)
60
+ - Fix magic-numbers issues (ticket-faea61b1)
61
+ - Fix string-concat issues (ticket-45bc2485)
62
+ - Fix unused-imports issues (ticket-21e70bbe)
63
+ - Fix magic-numbers issues (ticket-a19a8d81)
64
+ - Fix unused-imports issues (ticket-d13efe8b)
65
+ - Fix ai-boilerplate issues (ticket-c09ede63)
66
+ - Fix unused-imports issues (ticket-c44d7d5e)
67
+ - Fix unused-imports issues (ticket-3a99c323)
68
+ - Fix ai-boilerplate issues (ticket-3bb4df62)
69
+ - Fix unused-imports issues (ticket-4d166942)
70
+ - Fix unused-imports issues (ticket-e57a5c56)
71
+ - Fix ai-boilerplate issues (ticket-436cd286)
72
+ - Fix unused-imports issues (ticket-dc4069d3)
73
+ - Fix magic-numbers issues (ticket-d75fa5c9)
74
+ - Fix ai-boilerplate issues (ticket-a5ef0b2d)
75
+ - Fix unused-imports issues (ticket-8d4aa7f8)
76
+ - Fix magic-numbers issues (ticket-d4f17b07)
77
+ - Fix unused-imports issues (ticket-e3990176)
78
+ - Fix magic-numbers issues (ticket-38166679)
79
+ - Fix unused-imports issues (ticket-806125af)
80
+ - Fix ai-boilerplate issues (ticket-f6b9f81a)
81
+ - Fix string-concat issues (ticket-cd9d2ee1)
82
+ - Fix unused-imports issues (ticket-0b9a1932)
83
+ - Fix unused-imports issues (ticket-eb9ebfae)
84
+ - Fix unused-imports issues (ticket-ae4fef90)
85
+ - Fix magic-numbers issues (ticket-47bc9ec0)
86
+ - Fix ai-boilerplate issues (ticket-32e8ee8a)
87
+ - Fix unused-imports issues (ticket-b9f60342)
88
+ - Fix magic-numbers issues (ticket-eae11564)
89
+ - Fix unused-imports issues (ticket-d05b0eac)
90
+ - Fix magic-numbers issues (ticket-4bd3e952)
91
+ - Fix string-concat issues (ticket-08384f5b)
92
+ - Fix unused-imports issues (ticket-c5168216)
93
+ - Fix unused-imports issues (ticket-f83889cc)
94
+ - Fix unused-imports issues (ticket-768744b5)
95
+ - Fix string-concat issues (ticket-bfb11370)
96
+ - Fix unused-imports issues (ticket-85b9f059)
97
+ - Fix magic-numbers issues (ticket-133bcadd)
98
+ - Fix unused-imports issues (ticket-302606cf)
99
+ - Fix string-concat issues (ticket-45576b5a)
100
+ - Fix unused-imports issues (ticket-dc3a69a1)
101
+ - Fix magic-numbers issues (ticket-aa4961c7)
102
+ - Fix unused-imports issues (ticket-fbfe0729)
103
+ - Fix magic-numbers issues (ticket-54003a1a)
104
+ - Fix ai-boilerplate issues (ticket-2851b104)
105
+ - Fix unused-imports issues (ticket-2884aeb6)
106
+ - Fix unused-imports issues (ticket-6a5bf3de)
107
+ - Fix magic-numbers issues (ticket-18d718a2)
108
+ - Fix unused-imports issues (ticket-7efa2b0b)
109
+ - Fix magic-numbers issues (ticket-aa07c23c)
110
+ - Fix llm-generated-code issues (ticket-3b8e7d2c)
111
+
112
+ ## [Unreleased]
113
+
114
+ ### Added
115
+ - **img2svg[vtracer]** — `trace_vtracer`, CLI `--method vtracer` (kolorowe ścieżki SVG)
116
+ - **PathGenerator** — render `shape_type=path` z atrybutu `d` (vtracer/OpenCV roundtrip)
117
+ - **tests/test_photo_roundtrip.py** — NL roundtrip, img2svg background, vtracer, render PNG
118
+ - **make test-roundtrip** — pytest + `examples/photo-roundtrip-test.py`
119
+
120
+ ### Changed
121
+ - **img2svg** — `trace_to_vql_program` ustawia `scene.background` z dominującego regionu
122
+ - **SVGRenderer** — tło z `program.scene.background` (nie hardcoded white)
123
+ - **parse_svg_path** — `center=False` zachowuje współrzędne SVG (bez skali ×100)
124
+ - **install-dev.sh** — `img2svg[vectorize]` (opencv + vtracer)
125
+
126
+ ### Docs
127
+ - **photo-roundtrip.md** — pełna dokumentacja: klasy A/B/C, wyniki MSE, macierz, biblioteki, CI
128
+ - **photo-roundtrip-sample.vql.json** — przykładowy fragment VQLProgram
129
+ - **examples/README.md** — sekcja photo roundtrip + `make test-roundtrip`
130
+ - **examples/photo-roundtrip-test.py** — próbki product/natural/metadata_only
131
+ - **vdisplay-imgl-automation.md** — vdisplay → imgl → VQL → LLM (zalecana ścieżka capture)
132
+ - README, window-pipeline, desktop-capture, getting-started — dwie ścieżki capture (imgl vs uri2vql)
133
+
134
+ ### Planned
135
+ - REST `POST /v1/img2svg/*` — mirror uri2img2svg
136
+ - OCR label → `ui_elements.metadata.label` (z auto-OCR / imgl)
137
+ - CI: `img2nl-vql-flow.sh` w pipeline (synthetic PNG, bez imgl)
138
+
139
+ ## [0.1.4] - 2026-06-09
140
+
141
+ ### Docs
142
+ - Update CHANGELOG.md
143
+ - Update README.md
144
+ - Update SUMD.md
145
+ - Update SUMR.md
146
+ - Update TODO.md
147
+ - Update docs/README.md
148
+ - Update docs/desktop-capture.md
149
+ - Update docs/getting-started.md
150
+ - Update docs/packages.md
151
+ - Update docs/photo-roundtrip-sample.vql.json
152
+ - ... and 7 more files
153
+
154
+ ### Test
155
+ - Update testql-scenarios/generated-cli-tests.testql.toon.yaml
156
+ - Update testql-scenarios/generated-from-pytests.testql.toon.yaml
157
+ - Update tests/test_photo_roundtrip.py
158
+ - Update tests/test_vql.py
159
+
160
+ ### Other
161
+ - Update Makefile
162
+ - Update app.doql.less
163
+ - Update app.vql.events.pb
164
+ - Update examples/photo-roundtrip-test.py
165
+ - Update install-dev.sh
166
+ - Update packages/img2svg/pyproject.toml
167
+ - Update packages/img2svg/src/img2svg/__init__.py
168
+ - Update packages/img2svg/src/img2svg/cli.py
169
+ - Update packages/img2svg/src/img2svg/svg_emit.py
170
+ - Update packages/img2svg/src/img2svg/to_vql.py
171
+ - ... and 21 more files
172
+
173
+ ## [0.1.3] - 2026-06-09
174
+
175
+ ### Added
176
+ - **SUMD.md** — auto-opis projektu (metadata, DOQL, testql, call graph, 151 mod)
177
+ - **testql-scenarios/** — kontrakty CLI (`generated-cli-tests`) i integracji pytest (`generated-from-pytests`)
178
+ - **app.doql.less** — deklaracja DOQL (workflows: install, dev, build, test, lint, fmt)
179
+ - **goal.yaml** — semver, conventional commits, keep-a-changelog
180
+ - **uri2img2svg v0.1** — `img2svg://vectorize|svg|vql` URI + CLI ([docs/img2svg-uri.md](docs/img2svg-uri.md))
181
+ - **dsl2img2svg v0.1** — `VECTORIZE`, `TO_VQL`, `QUERY img2svg://` DSL verbs
182
+ - **img2vql** — auto-OCR fallback (rapidocr → imgl) when `text_likelihood` but no OCR text; extra `[ocr]`
183
+ - **mcp2vql** — `vql_diagnose_window` tool (diagnose + optional save)
184
+ - **rest2vql** — `POST /v1/window/{detect,compare,refresh,diagnose,analyze,adopt,summary}` ([docs/rest-window-api.md](docs/rest-window-api.md))
185
+ - **mcp2vql** — MCP tools: `vql_detect_ui`, `vql_compare_window`, `vql_refresh_window_metadata`
186
+ - **uri2vql** — `capture-and-analyze` CLI (interactive capture + analyze + optional diagnose --save)
187
+ - **vql.adopt.window** — `merge_regions=True` in `screenshot_to_program` (fewer redundant grid cells)
188
+ - **img2vql** — `scene.relations` with `contains` (window > panel > button nesting)
189
+ - **uri2vql** — `vql://window/summary?live=1` refreshes metadata before summary
190
+ - **img2vql v0.2** — UI detection: windows, panels, titlebar, toolbar, buttons with pixel bboxes
191
+ - **img2vql** — `detect`, `adopt`, `describe_ui_layout`, layer `ui_elements` in VQL
192
+ - **img2svg v0.1** — raster → SVG / VQL (`regions` color merge, `contours` via OpenCV)
193
+ - **uri2vql** — CLI: `detect-window`, `adopt-ui`, `adopt-imgl`; URI: `window/detect`, `window/adopt`, `window/imgl`
194
+ - **uri2vql** — `analyze-window --interactive` for GNOME/Wayland portal capture
195
+ - **vql.adopt.window** — blank PNG rejection in `analyze_screenshot`
196
+ - **docs/** — getting-started, desktop-capture, window-pipeline, window-uri, packages, architecture
197
+ - **examples/** — `live-capture-test.sh` (interactive capture), `img2nl-vql-flow.sh` (fingerprint flow)
198
+ - **img2vql** — fingerprint compare, metadata refresh, diagnose `--save`
199
+ - **uri2vql** — `compare-window`, `refresh-window`; URI `window/compare`, `window/refresh`
200
+
201
+ ### Changed
202
+ - Version bump **0.1.2 → 0.1.3** (`VERSION`, `pyproject.toml`)
203
+ - `requires-python` **>=3.10** (było dokumentowane jako 3.9+)
204
+ - README — sekcja Development (Makefile, project.sh), link SUMD, metryki projektu
205
+ - `packages/README.md` — img2vql, img2svg, extended mermaid diagram
206
+ - `install-dev.sh` — installs img2svg; img2vql when img2nl present
207
+ - `Makefile` — PACKAGES includes img2svg, uri2img2svg, dsl2img2svg
208
+
209
+ ### Docs
210
+ - `docs/` — pełny indeks (9 plików), MCP tools, interfejsy
211
+ - `examples/README.md` — indeks skryptów + zmienne env
212
+ - `examples/full-pipeline.sh` — end-to-end demo
213
+ - `TODO.md` — mapa interfejsów + następne kroki (zsynchronizowane z SUMD)
214
+ - Package READMEs: img2vql, img2svg, uri2img2svg, dsl2img2svg
215
+
216
+ ## [0.1.2] - 2026-06-08
217
+
218
+ ### Docs
219
+ - Update README.md
220
+
221
+ ### Other
222
+ - Update app.vql.events.pb
223
+
224
+ ## [0.1.1] - 2026-06-08
225
+
226
+ ### Docs
227
+ - Update README.md
228
+ - Update packages/CONTROL_LAYER_PROMPT.template.md
229
+ - Update packages/README.md
230
+
231
+ ### Test
232
+ - Update tests/test_vql.py
233
+
234
+ ### Other
235
+ - Update .gitignore
236
+ - Update Makefile
237
+ - Update VERSION
238
+ - Update app.vql.events.pb
239
+ - Update install-dev.sh
240
+ - Update packages/cli2vql/pyproject.toml
241
+ - Update packages/cli2vql/src/cli2vql/__init__.py
242
+ - Update packages/cli2vql/src/cli2vql/cli.py
243
+ - Update packages/dsl2vql/proto/dsl2vql/v1/command.proto
244
+ - Update packages/dsl2vql/proto/dsl2vql/v1/result.proto
245
+ - ... and 46 more files
246
+
247
+ ## [0.0.1] - 2026-06-08
248
+
249
+ ### Other
250
+ - Update .idea/.gitignore
251
+ - Update .idea/inspectionProfiles/Project_Default.xml
252
+ - Update .idea/inspectionProfiles/profiles_settings.xml
253
+ - Update .idea/modules.xml
254
+ - Update .idea/vcs.xml
255
+ - Update .idea/vql.iml