marksync 0.2.10__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 (56) hide show
  1. marksync-0.2.10/.gitignore +262 -0
  2. marksync-0.2.10/CHANGELOG.md +278 -0
  3. marksync-0.2.10/Dockerfile +25 -0
  4. marksync-0.2.10/LICENSE +201 -0
  5. marksync-0.2.10/PKG-INFO +382 -0
  6. marksync-0.2.10/README.md +345 -0
  7. marksync-0.2.10/TODO.md +52 -0
  8. marksync-0.2.10/VERSION +1 -0
  9. marksync-0.2.10/agents.yml +138 -0
  10. marksync-0.2.10/docker-compose.yml +115 -0
  11. marksync-0.2.10/docs/1/README.md +281 -0
  12. marksync-0.2.10/docs/api.md +208 -0
  13. marksync-0.2.10/docs/architecture.md +316 -0
  14. marksync-0.2.10/docs/comparison.md +375 -0
  15. marksync-0.2.10/docs/dsl-reference.md +175 -0
  16. marksync-0.2.10/docs/pipelines.md +601 -0
  17. marksync-0.2.10/examples/1/README.md +117 -0
  18. marksync-0.2.10/examples/1/agents.yml +30 -0
  19. marksync-0.2.10/examples/2/README.md +175 -0
  20. marksync-0.2.10/examples/2/agents.yml +23 -0
  21. marksync-0.2.10/examples/3/README.md +262 -0
  22. marksync-0.2.10/examples/3/agents.yml +23 -0
  23. marksync-0.2.10/goal.yaml +429 -0
  24. marksync-0.2.10/marksync/__init__.py +24 -0
  25. marksync-0.2.10/marksync/agents/__init__.py +295 -0
  26. marksync-0.2.10/marksync/agents/base.py +3 -0
  27. marksync-0.2.10/marksync/cli.py +224 -0
  28. marksync-0.2.10/marksync/dsl/__init__.py +26 -0
  29. marksync-0.2.10/marksync/dsl/api.py +220 -0
  30. marksync-0.2.10/marksync/dsl/executor.py +454 -0
  31. marksync-0.2.10/marksync/dsl/parser.py +213 -0
  32. marksync-0.2.10/marksync/dsl/shell.py +196 -0
  33. marksync-0.2.10/marksync/orchestrator.py +310 -0
  34. marksync-0.2.10/marksync/pipeline/__init__.py +40 -0
  35. marksync-0.2.10/marksync/pipeline/api.py +472 -0
  36. marksync-0.2.10/marksync/pipeline/engine.py +580 -0
  37. marksync-0.2.10/marksync/sandbox/__init__.py +1 -0
  38. marksync-0.2.10/marksync/sandbox/app.py +312 -0
  39. marksync-0.2.10/marksync/sandbox/html.py +711 -0
  40. marksync-0.2.10/marksync/settings.py +139 -0
  41. marksync-0.2.10/marksync/sync/__init__.py +111 -0
  42. marksync-0.2.10/marksync/sync/crdt.py +87 -0
  43. marksync-0.2.10/marksync/sync/engine.py +303 -0
  44. marksync-0.2.10/marksync/transport/__init__.py +1 -0
  45. marksync-0.2.10/project.functions.toon +396 -0
  46. marksync-0.2.10/project.sh +2 -0
  47. marksync-0.2.10/project.toon +189 -0
  48. marksync-0.2.10/project.toon-schema.json +66 -0
  49. marksync-0.2.10/pyproject.toml +48 -0
  50. marksync-0.2.10/tests/test_dsl.py +241 -0
  51. marksync-0.2.10/tests/test_examples.py +145 -0
  52. marksync-0.2.10/tests/test_marksync.py +11 -0
  53. marksync-0.2.10/tests/test_orchestrator.py +209 -0
  54. marksync-0.2.10/tests/test_pipeline.py +363 -0
  55. marksync-0.2.10/tests/test_pipeline_scenarios.py +538 -0
  56. marksync-0.2.10/tests/test_settings.py +89 -0
@@ -0,0 +1,262 @@
1
+ .idea
2
+ screenshots/
3
+ /logs
4
+ logs/
5
+ .zip
6
+ backups/
7
+ frontend/playwright-report/
8
+ frontend/test-results/
9
+ venv
10
+ frontend/.lint-backup
11
+ node_modules
12
+ package-lock.json
13
+ # package-lock.json is committed for reproducible Docker builds (npm ci)
14
+ # Byte-compiled / optimized / DLL files
15
+ __pycache__/
16
+ *.py[codz]
17
+ *$py.class
18
+
19
+ # C extensions
20
+ *.so
21
+
22
+ # Distribution / packaging
23
+ .Python
24
+ build/
25
+ develop-eggs/
26
+ dist/
27
+ downloads/
28
+ eggs/
29
+ .eggs/
30
+ lib/
31
+ lib64/
32
+ parts/
33
+ sdist/
34
+ var/
35
+ wheels/
36
+ share/python-wheels/
37
+ *.egg-info/
38
+ .installed.cfg
39
+ *.egg
40
+ MANIFEST
41
+
42
+ # PyInstaller
43
+ # Usually these files are written by a python script from a template
44
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
45
+ *.manifest
46
+ *.spec
47
+
48
+ # Installer logs
49
+ pip-log.txt
50
+ pip-delete-this-directory.txt
51
+
52
+ # Unit test / coverage reports
53
+ htmlcov/
54
+ .tox/
55
+ .nox/
56
+ .coverage
57
+ .coverage.*
58
+ .cache
59
+ nosetests.xml
60
+ coverage.xml
61
+ *.cover
62
+ *.py.cover
63
+ .hypothesis/
64
+ .pytest_cache/
65
+ cover/
66
+
67
+ # Translations
68
+ *.mo
69
+ *.pot
70
+
71
+ # Django stuff:
72
+ *.log
73
+ local_settings.py
74
+ db.sqlite3
75
+ db.sqlite3-journal
76
+
77
+ # Flask stuff:
78
+ instance/
79
+ .webassets-cache
80
+
81
+ # Scrapy stuff:
82
+ .scrapy
83
+
84
+ # Sphinx documentation
85
+ docs/_build/
86
+
87
+ # PyBuilder
88
+ .pybuilder/
89
+ target/
90
+
91
+ # Jupyter Notebook
92
+ .ipynb_checkpoints
93
+
94
+ # IPython
95
+ profile_default/
96
+ ipython_config.py
97
+
98
+ # pyenv
99
+ # For a library or package, you might want to ignore these files since the code is
100
+ # intended to run in multiple environments; otherwise, check them in:
101
+ # .python-version
102
+
103
+ # pipenv
104
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
105
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
106
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
107
+ # install all needed dependencies.
108
+ #Pipfile.lock
109
+
110
+ # UV
111
+ # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
112
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
113
+ # commonly ignored for libraries.
114
+ #uv.lock
115
+
116
+ # poetry
117
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
118
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
119
+ # commonly ignored for libraries.
120
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
121
+ #poetry.lock
122
+ #poetry.toml
123
+
124
+ # pdm
125
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
126
+ # pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python.
127
+ # https://pdm-project.org/en/latest/usage/project/#working-with-version-control
128
+ #pdm.lock
129
+ #pdm.toml
130
+ .pdm-python
131
+ .pdm-build/
132
+
133
+ # pixi
134
+ # Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control.
135
+ #pixi.lock
136
+ # Pixi creates a virtual environment in the .pixi directory, just like venv module creates one
137
+ # in the .venv directory. It is recommended not to include this directory in version control.
138
+ .pixi
139
+
140
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
141
+ __pypackages__/
142
+
143
+ # Celery stuff
144
+ celerybeat-schedule
145
+ celerybeat.pid
146
+
147
+ # SageMath parsed files
148
+ *.sage.py
149
+
150
+ # Environments
151
+ .env
152
+ .envrc
153
+ .venv
154
+ env/
155
+ venv/
156
+ ENV/
157
+ env.bak/
158
+ venv.bak/
159
+
160
+ # Spyder project settings
161
+ .spyderproject
162
+ .spyproject
163
+
164
+ # Rope project settings
165
+ .ropeproject
166
+
167
+ # mkdocs documentation (disabled — site/ is our docs project)
168
+ # /site
169
+
170
+ # mypy
171
+ .mypy_cache/
172
+ .dmypy.json
173
+ dmypy.json
174
+
175
+ # Pyre type checker
176
+ .pyre/
177
+
178
+ # pytype static type analyzer
179
+ .pytype/
180
+
181
+ # Cython debug symbols
182
+ cython_debug/
183
+
184
+ # PyCharm
185
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
186
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
187
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
188
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
189
+ #.idea/
190
+
191
+ # Abstra
192
+ # Abstra is an AI-powered process automation framework.
193
+ # Ignore directories containing user credentials, local state, and settings.
194
+ # Learn more at https://abstra.io/docs
195
+ .abstra/
196
+
197
+ # Visual Studio Code
198
+ # Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
199
+ # that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
200
+ # and can be added to the global gitignore or merged into this file. However, if you prefer,
201
+ # you could uncomment the following to ignore the entire vscode folder
202
+ # .vscode/
203
+
204
+ # Ruff stuff:
205
+ .ruff_cache/
206
+
207
+ # PyPI configuration file
208
+ .pypirc
209
+
210
+ # Cursor
211
+ # Cursor is an AI-powered code editor. `.cursorignore` specifies files/directories to
212
+ # exclude from AI features like autocomplete and code analysis. Recommended for sensitive data
213
+ # refer to https://docs.cursor.com/context/ignore-files
214
+ .cursorignore
215
+ .cursorindexingignore
216
+
217
+ # Marimo
218
+ marimo/_static/
219
+ marimo/_lsp/
220
+ __marimo__/
221
+
222
+ # Generated test artifacts and local data
223
+ # (avoid adding rapidly changing files created by test/e2e scripts)
224
+ frontend/tests/all-pages-documentation.md
225
+ frontend/tests/all-pages-list.json
226
+ frontend/tests/test-all-pages-curl.sh
227
+ frontend/tests/e2e-uniqueness-report.json
228
+ frontend/tmp/
229
+ syntax-report.json
230
+ tmp/
231
+
232
+ # K8s secrets (never commit actual keys)
233
+ **/secret.env
234
+ !**/secret.env.example
235
+
236
+ # Local databases
237
+ backend/*.db
238
+ *.db
239
+ backend/*.sqlite
240
+
241
+ # Pendrive / storage data (keep folder structure via .gitkeep, ignore actual data)
242
+ pendrive/logs/system/*.log
243
+ pendrive/logs/app/*.log
244
+ pendrive/stats/daily/stats-*.json
245
+ pendrive/stats/aggregated/stats-*.json
246
+ pendrive/templates/scenarios-*.json
247
+ pendrive/templates/xml-templates/
248
+ pendrive/templates/dsl/
249
+ pendrive/reports/pdf/*.pdf
250
+ pendrive/reports/xml/*.xml
251
+ pendrive/.device_info
252
+ pendrive/.sync_manifest
253
+ pendrive/README.txt
254
+ # Local stats/restart cache (~/.identification-kiosk/stats/)
255
+
256
+ # Docs site generated files
257
+ site/public/docs/
258
+ site/public/docs-manifest.json
259
+ site/public/artifacts/*.deb
260
+ site/public/artifacts/*.AppImage
261
+ site/public/artifacts/*.msi
262
+ site/public/artifacts/*.exe
@@ -0,0 +1,278 @@
1
+ ## [0.2.10] - 2026-02-18
2
+
3
+ ### Summary
4
+
5
+ feat(docs): deep code analysis engine with 5 supporting modules
6
+
7
+ ### Docs
8
+
9
+ - docs: update comparison.md
10
+
11
+ ### Other
12
+
13
+ - update project.functions.toon
14
+ - update project.toon
15
+
16
+
17
+ ## [0.2.9] - 2026-02-18
18
+
19
+ ### Summary
20
+
21
+ feat(docs): deep code analysis engine with 6 supporting modules
22
+
23
+ ### Docs
24
+
25
+ - docs: update pipelines.md
26
+
27
+ ### Build
28
+
29
+ - update pyproject.toml
30
+
31
+ ### Other
32
+
33
+ - update marksync/sandbox/app.py
34
+
35
+
36
+ ## [0.2.8] - 2026-02-18
37
+
38
+ ### Summary
39
+
40
+ feat(marksync): core module improvements
41
+
42
+ ### Other
43
+
44
+ - update marksync/sandbox/html.py
45
+
46
+
47
+ ## [0.2.7] - 2026-02-18
48
+
49
+ ### Summary
50
+
51
+ feat(tests): configuration management system
52
+
53
+ ### Docs
54
+
55
+ - docs: update architecture.md
56
+
57
+ ### Test
58
+
59
+ - update tests/test_orchestrator.py
60
+ - update tests/test_pipeline_scenarios.py
61
+
62
+ ### Other
63
+
64
+ - config: update agents.yml
65
+ - update marksync/pipeline/api.py
66
+ - update marksync/sandbox/html.py
67
+
68
+
69
+ ## [0.2.6] - 2026-02-18
70
+
71
+ ### Summary
72
+
73
+ chore(config): code relationship mapping with 2 supporting modules
74
+
75
+ ### Build
76
+
77
+ - update pyproject.toml
78
+
79
+
80
+ ## [0.2.5] - 2026-02-18
81
+
82
+ ### Summary
83
+
84
+ chore(config): code relationship mapping with 2 supporting modules
85
+
86
+ ### Build
87
+
88
+ - update pyproject.toml
89
+
90
+
91
+ ## [0.2.4] - 2026-02-18
92
+
93
+ ### Summary
94
+
95
+ feat(docs): CLI interface improvements
96
+
97
+ ### Docs
98
+
99
+ - docs: update README
100
+ - docs: update TODO.md
101
+ - docs: update architecture.md
102
+ - docs: update dsl-reference.md
103
+
104
+ ### Test
105
+
106
+ - update tests/test_orchestrator.py
107
+ - update tests/test_pipeline.py
108
+
109
+ ### Build
110
+
111
+ - update pyproject.toml
112
+
113
+ ### Other
114
+
115
+ - config: update agents.yml
116
+ - update examples/1/orchestrate.msdsl
117
+ - update examples/2/orchestrate.msdsl
118
+ - update examples/3/orchestrate.msdsl
119
+ - update marksync/cli.py
120
+ - update marksync/pipeline/__init__.py
121
+ - update marksync/pipeline/api.py
122
+ - update marksync/pipeline/engine.py
123
+ - update marksync/sandbox/__init__.py
124
+ - update marksync/sandbox/app.py
125
+ - ... and 2 more
126
+
127
+
128
+ ## [0.2.3] - 2026-02-18
129
+
130
+ ### Summary
131
+
132
+ feat(examples): CLI interface improvements
133
+
134
+ ### Docs
135
+
136
+ - docs: update README
137
+
138
+ ### Test
139
+
140
+ - update tests/test_orchestrator.py
141
+
142
+ ### Build
143
+
144
+ - update pyproject.toml
145
+
146
+ ### Other
147
+
148
+ - config: update agents.yml
149
+ - config: update agents.yml
150
+ - update examples/1/orchestrate.msdsl
151
+ - config: update agents.yml
152
+ - update examples/2/orchestrate.msdsl
153
+ - config: update agents.yml
154
+ - update examples/3/orchestrate.msdsl
155
+ - update marksync/__init__.py
156
+ - update marksync/cli.py
157
+ - update marksync/orchestrator.py
158
+ - ... and 2 more
159
+
160
+
161
+ ## [0.2.2] - 2026-02-18
162
+
163
+ ### Summary
164
+
165
+ feat(docs): CLI interface improvements
166
+
167
+ ### Docs
168
+
169
+ - docs: update README
170
+ - docs: update README
171
+ - docs: update README
172
+
173
+ ### Test
174
+
175
+ - update tests/test_examples.py
176
+ - update tests/test_settings.py
177
+
178
+ ### Other
179
+
180
+ - update marksync/cli.py
181
+ - update marksync/dsl/executor.py
182
+ - update marksync/settings.py
183
+
184
+
185
+ ## [0.2.1] - 2026-02-18
186
+
187
+ ### Summary
188
+
189
+ feat(docs): configuration management system
190
+
191
+ ### Docs
192
+
193
+ - docs: update README
194
+
195
+ ### Test
196
+
197
+ - update tests/test_dsl.py
198
+
199
+ ### Build
200
+
201
+ - update pyproject.toml
202
+
203
+ ### Other
204
+
205
+ - update marksync/__init__.py
206
+ - update marksync/dsl/parser.py
207
+ - update project.functions.toon
208
+ - scripts: update project.sh
209
+ - update project.toon-schema.json
210
+
211
+
212
+ ## [0.1.3] - 2026-02-18
213
+
214
+ ### Summary
215
+
216
+ feat(docs): CLI interface improvements
217
+
218
+ ### Docs
219
+
220
+ - docs: update TODO.md
221
+ - docs: update api.md
222
+ - docs: update architecture.md
223
+
224
+ ### Other
225
+
226
+ - update .gitignore
227
+ - update marksync/cli.py
228
+ - update marksync/dsl/api.py
229
+ - update marksync/dsl/shell.py
230
+
231
+
232
+ # Changelog
233
+
234
+ All notable changes to **marksync** are documented here.
235
+
236
+ ## [0.2.0] - 2026-02-18
237
+
238
+ ### Added
239
+
240
+ - **DSL Layer** (`marksync.dsl`) — domain-specific language for agent orchestration
241
+ - `DSLParser` — tokenizer/parser for text commands and `.msdsl` script files
242
+ - `DSLExecutor` — runtime engine managing agents, pipelines, routes, config
243
+ - `DSLShell` — interactive REPL with rich terminal output
244
+ - REST/WS API (`FastAPI`) for remote control via HTTP and WebSocket
245
+ - **CLI commands**: `marksync shell`, `marksync api`
246
+ - **Documentation**: `docs/architecture.md`, `docs/dsl-reference.md`, `docs/api.md`
247
+ - **TODO.md** — project roadmap and task tracking
248
+ - DSL commands: AGENT, KILL, LIST, PIPE, SEND, SET, STATUS, DEPLOY, SYNC, ROUTE, LOG, CONNECT, DISCONNECT, LOAD, SAVE, HELP
249
+ - Script file support (`.msdsl`) with LOAD/SAVE commands
250
+ - Event system in DSLExecutor for reactive integrations
251
+ - `pytest-asyncio` added to dev dependencies
252
+
253
+ ### Fixed
254
+
255
+ - `pyproject.toml`: author #2 must be inline table (was plain string — broke `hatchling` build)
256
+ - `pyproject.toml`: wheel packages path `src/marksync` → `marksync`
257
+ - `Dockerfile`: `COPY src/` → `COPY marksync/` (matched actual layout)
258
+
259
+ ---
260
+
261
+ ## [0.1.1] - 2026-02-18
262
+
263
+ ### Added
264
+
265
+ - Core sync engine: `SyncServer`, `SyncClient` (WebSocket, CRDT, delta patches)
266
+ - CRDT document with `pycrdt` (Yjs-compatible, per-block Y.Text)
267
+ - Block parser for `markpact:*` fenced code blocks
268
+ - Agent worker with 4 roles: editor, reviewer, deployer, monitor
269
+ - Ollama LLM integration (`OllamaClient`)
270
+ - CLI: `marksync server`, `marksync agent`, `marksync push`, `marksync blocks`
271
+ - Docker Compose multi-container setup (5 services)
272
+ - diff-match-patch delta sync with SHA-256 verification
273
+
274
+ ---
275
+
276
+ ## [0.1.0] - 2026-02-18
277
+
278
+ - Initial project scaffold
@@ -0,0 +1,25 @@
1
+ FROM python:3.12-slim
2
+
3
+ WORKDIR /app
4
+
5
+ # System deps
6
+ RUN apt-get update && apt-get install -y --no-install-recommends \
7
+ git curl && \
8
+ rm -rf /var/lib/apt/lists/*
9
+
10
+ # Install marksync from local source
11
+ COPY pyproject.toml README.md VERSION ./
12
+ COPY marksync/ marksync/
13
+ COPY examples/ examples/
14
+ RUN pip install --no-cache-dir ".[all]"
15
+
16
+ # Install markpact separately (for deployment agent)
17
+ RUN pip install --no-cache-dir markpact
18
+
19
+ # Shared project directory
20
+ RUN mkdir -p /project
21
+ WORKDIR /project
22
+
23
+ # Default: run as server
24
+ ENTRYPOINT ["marksync"]
25
+ CMD ["server", "README.md", "--port", "8765"]