htmlgraph 0.9.3__py3-none-any.whl → 0.27.5__py3-none-any.whl

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 (331) hide show
  1. htmlgraph/.htmlgraph/.session-warning-state.json +6 -0
  2. htmlgraph/.htmlgraph/agents.json +72 -0
  3. htmlgraph/.htmlgraph/htmlgraph.db +0 -0
  4. htmlgraph/__init__.py +173 -17
  5. htmlgraph/__init__.pyi +123 -0
  6. htmlgraph/agent_detection.py +127 -0
  7. htmlgraph/agent_registry.py +45 -30
  8. htmlgraph/agents.py +160 -107
  9. htmlgraph/analytics/__init__.py +9 -2
  10. htmlgraph/analytics/cli.py +190 -51
  11. htmlgraph/analytics/cost_analyzer.py +391 -0
  12. htmlgraph/analytics/cost_monitor.py +664 -0
  13. htmlgraph/analytics/cost_reporter.py +675 -0
  14. htmlgraph/analytics/cross_session.py +617 -0
  15. htmlgraph/analytics/dependency.py +192 -100
  16. htmlgraph/analytics/pattern_learning.py +771 -0
  17. htmlgraph/analytics/session_graph.py +707 -0
  18. htmlgraph/analytics/strategic/__init__.py +80 -0
  19. htmlgraph/analytics/strategic/cost_optimizer.py +611 -0
  20. htmlgraph/analytics/strategic/pattern_detector.py +876 -0
  21. htmlgraph/analytics/strategic/preference_manager.py +709 -0
  22. htmlgraph/analytics/strategic/suggestion_engine.py +747 -0
  23. htmlgraph/analytics/work_type.py +190 -14
  24. htmlgraph/analytics_index.py +135 -51
  25. htmlgraph/api/__init__.py +3 -0
  26. htmlgraph/api/cost_alerts_websocket.py +416 -0
  27. htmlgraph/api/main.py +2498 -0
  28. htmlgraph/api/static/htmx.min.js +1 -0
  29. htmlgraph/api/static/style-redesign.css +1344 -0
  30. htmlgraph/api/static/style.css +1079 -0
  31. htmlgraph/api/templates/dashboard-redesign.html +1366 -0
  32. htmlgraph/api/templates/dashboard.html +794 -0
  33. htmlgraph/api/templates/partials/activity-feed-hierarchical.html +326 -0
  34. htmlgraph/api/templates/partials/activity-feed.html +1100 -0
  35. htmlgraph/api/templates/partials/agents-redesign.html +317 -0
  36. htmlgraph/api/templates/partials/agents.html +317 -0
  37. htmlgraph/api/templates/partials/event-traces.html +373 -0
  38. htmlgraph/api/templates/partials/features-kanban-redesign.html +509 -0
  39. htmlgraph/api/templates/partials/features.html +578 -0
  40. htmlgraph/api/templates/partials/metrics-redesign.html +346 -0
  41. htmlgraph/api/templates/partials/metrics.html +346 -0
  42. htmlgraph/api/templates/partials/orchestration-redesign.html +443 -0
  43. htmlgraph/api/templates/partials/orchestration.html +198 -0
  44. htmlgraph/api/templates/partials/spawners.html +375 -0
  45. htmlgraph/api/templates/partials/work-items.html +613 -0
  46. htmlgraph/api/websocket.py +538 -0
  47. htmlgraph/archive/__init__.py +24 -0
  48. htmlgraph/archive/bloom.py +234 -0
  49. htmlgraph/archive/fts.py +297 -0
  50. htmlgraph/archive/manager.py +583 -0
  51. htmlgraph/archive/search.py +244 -0
  52. htmlgraph/atomic_ops.py +560 -0
  53. htmlgraph/attribute_index.py +208 -0
  54. htmlgraph/bounded_paths.py +539 -0
  55. htmlgraph/builders/__init__.py +14 -0
  56. htmlgraph/builders/base.py +118 -29
  57. htmlgraph/builders/bug.py +150 -0
  58. htmlgraph/builders/chore.py +119 -0
  59. htmlgraph/builders/epic.py +150 -0
  60. htmlgraph/builders/feature.py +31 -6
  61. htmlgraph/builders/insight.py +195 -0
  62. htmlgraph/builders/metric.py +217 -0
  63. htmlgraph/builders/pattern.py +202 -0
  64. htmlgraph/builders/phase.py +162 -0
  65. htmlgraph/builders/spike.py +52 -19
  66. htmlgraph/builders/track.py +148 -72
  67. htmlgraph/cigs/__init__.py +81 -0
  68. htmlgraph/cigs/autonomy.py +385 -0
  69. htmlgraph/cigs/cost.py +475 -0
  70. htmlgraph/cigs/messages_basic.py +472 -0
  71. htmlgraph/cigs/messaging.py +365 -0
  72. htmlgraph/cigs/models.py +771 -0
  73. htmlgraph/cigs/pattern_storage.py +427 -0
  74. htmlgraph/cigs/patterns.py +503 -0
  75. htmlgraph/cigs/posttool_analyzer.py +234 -0
  76. htmlgraph/cigs/reporter.py +818 -0
  77. htmlgraph/cigs/tracker.py +317 -0
  78. htmlgraph/cli/.htmlgraph/.session-warning-state.json +6 -0
  79. htmlgraph/cli/.htmlgraph/agents.json +72 -0
  80. htmlgraph/cli/.htmlgraph/htmlgraph.db +0 -0
  81. htmlgraph/cli/__init__.py +42 -0
  82. htmlgraph/cli/__main__.py +6 -0
  83. htmlgraph/cli/analytics.py +1424 -0
  84. htmlgraph/cli/base.py +685 -0
  85. htmlgraph/cli/constants.py +206 -0
  86. htmlgraph/cli/core.py +954 -0
  87. htmlgraph/cli/main.py +147 -0
  88. htmlgraph/cli/models.py +475 -0
  89. htmlgraph/cli/templates/__init__.py +1 -0
  90. htmlgraph/cli/templates/cost_dashboard.py +399 -0
  91. htmlgraph/cli/work/__init__.py +239 -0
  92. htmlgraph/cli/work/browse.py +115 -0
  93. htmlgraph/cli/work/features.py +568 -0
  94. htmlgraph/cli/work/orchestration.py +676 -0
  95. htmlgraph/cli/work/report.py +728 -0
  96. htmlgraph/cli/work/sessions.py +466 -0
  97. htmlgraph/cli/work/snapshot.py +559 -0
  98. htmlgraph/cli/work/tracks.py +486 -0
  99. htmlgraph/cli_commands/__init__.py +1 -0
  100. htmlgraph/cli_commands/feature.py +195 -0
  101. htmlgraph/cli_framework.py +115 -0
  102. htmlgraph/collections/__init__.py +18 -0
  103. htmlgraph/collections/base.py +415 -98
  104. htmlgraph/collections/bug.py +53 -0
  105. htmlgraph/collections/chore.py +53 -0
  106. htmlgraph/collections/epic.py +53 -0
  107. htmlgraph/collections/feature.py +12 -26
  108. htmlgraph/collections/insight.py +100 -0
  109. htmlgraph/collections/metric.py +92 -0
  110. htmlgraph/collections/pattern.py +97 -0
  111. htmlgraph/collections/phase.py +53 -0
  112. htmlgraph/collections/session.py +194 -0
  113. htmlgraph/collections/spike.py +56 -16
  114. htmlgraph/collections/task_delegation.py +241 -0
  115. htmlgraph/collections/todo.py +511 -0
  116. htmlgraph/collections/traces.py +487 -0
  117. htmlgraph/config/cost_models.json +56 -0
  118. htmlgraph/config.py +190 -0
  119. htmlgraph/context_analytics.py +344 -0
  120. htmlgraph/converter.py +216 -28
  121. htmlgraph/cost_analysis/__init__.py +5 -0
  122. htmlgraph/cost_analysis/analyzer.py +438 -0
  123. htmlgraph/dashboard.html +2406 -307
  124. htmlgraph/dashboard.html.backup +6592 -0
  125. htmlgraph/dashboard.html.bak +7181 -0
  126. htmlgraph/dashboard.html.bak2 +7231 -0
  127. htmlgraph/dashboard.html.bak3 +7232 -0
  128. htmlgraph/db/__init__.py +38 -0
  129. htmlgraph/db/queries.py +790 -0
  130. htmlgraph/db/schema.py +1788 -0
  131. htmlgraph/decorators.py +317 -0
  132. htmlgraph/dependency_models.py +19 -2
  133. htmlgraph/deploy.py +142 -125
  134. htmlgraph/deployment_models.py +474 -0
  135. htmlgraph/docs/API_REFERENCE.md +841 -0
  136. htmlgraph/docs/HTTP_API.md +750 -0
  137. htmlgraph/docs/INTEGRATION_GUIDE.md +752 -0
  138. htmlgraph/docs/ORCHESTRATION_PATTERNS.md +717 -0
  139. htmlgraph/docs/README.md +532 -0
  140. htmlgraph/docs/__init__.py +77 -0
  141. htmlgraph/docs/docs_version.py +55 -0
  142. htmlgraph/docs/metadata.py +93 -0
  143. htmlgraph/docs/migrations.py +232 -0
  144. htmlgraph/docs/template_engine.py +143 -0
  145. htmlgraph/docs/templates/_sections/cli_reference.md.j2 +52 -0
  146. htmlgraph/docs/templates/_sections/core_concepts.md.j2 +29 -0
  147. htmlgraph/docs/templates/_sections/sdk_basics.md.j2 +69 -0
  148. htmlgraph/docs/templates/base_agents.md.j2 +78 -0
  149. htmlgraph/docs/templates/example_user_override.md.j2 +47 -0
  150. htmlgraph/docs/version_check.py +163 -0
  151. htmlgraph/edge_index.py +182 -27
  152. htmlgraph/error_handler.py +544 -0
  153. htmlgraph/event_log.py +100 -52
  154. htmlgraph/event_migration.py +13 -4
  155. htmlgraph/exceptions.py +49 -0
  156. htmlgraph/file_watcher.py +101 -28
  157. htmlgraph/find_api.py +75 -63
  158. htmlgraph/git_events.py +145 -63
  159. htmlgraph/graph.py +1122 -106
  160. htmlgraph/hooks/.htmlgraph/.session-warning-state.json +6 -0
  161. htmlgraph/hooks/.htmlgraph/agents.json +72 -0
  162. htmlgraph/hooks/.htmlgraph/index.sqlite +0 -0
  163. htmlgraph/hooks/__init__.py +45 -0
  164. htmlgraph/hooks/bootstrap.py +169 -0
  165. htmlgraph/hooks/cigs_pretool_enforcer.py +354 -0
  166. htmlgraph/hooks/concurrent_sessions.py +208 -0
  167. htmlgraph/hooks/context.py +350 -0
  168. htmlgraph/hooks/drift_handler.py +525 -0
  169. htmlgraph/hooks/event_tracker.py +1314 -0
  170. htmlgraph/hooks/git_commands.py +175 -0
  171. htmlgraph/hooks/hooks-config.example.json +12 -0
  172. htmlgraph/hooks/installer.py +343 -0
  173. htmlgraph/hooks/orchestrator.py +674 -0
  174. htmlgraph/hooks/orchestrator_reflector.py +223 -0
  175. htmlgraph/hooks/post-checkout.sh +28 -0
  176. htmlgraph/hooks/post-commit.sh +24 -0
  177. htmlgraph/hooks/post-merge.sh +26 -0
  178. htmlgraph/hooks/post_tool_use_failure.py +273 -0
  179. htmlgraph/hooks/post_tool_use_handler.py +257 -0
  180. htmlgraph/hooks/posttooluse.py +408 -0
  181. htmlgraph/hooks/pre-commit.sh +94 -0
  182. htmlgraph/hooks/pre-push.sh +28 -0
  183. htmlgraph/hooks/pretooluse.py +819 -0
  184. htmlgraph/hooks/prompt_analyzer.py +637 -0
  185. htmlgraph/hooks/session_handler.py +668 -0
  186. htmlgraph/hooks/session_summary.py +395 -0
  187. htmlgraph/hooks/state_manager.py +504 -0
  188. htmlgraph/hooks/subagent_detection.py +202 -0
  189. htmlgraph/hooks/subagent_stop.py +369 -0
  190. htmlgraph/hooks/task_enforcer.py +255 -0
  191. htmlgraph/hooks/task_validator.py +177 -0
  192. htmlgraph/hooks/validator.py +628 -0
  193. htmlgraph/ids.py +41 -27
  194. htmlgraph/index.d.ts +286 -0
  195. htmlgraph/learning.py +767 -0
  196. htmlgraph/mcp_server.py +69 -23
  197. htmlgraph/models.py +1586 -87
  198. htmlgraph/operations/README.md +62 -0
  199. htmlgraph/operations/__init__.py +79 -0
  200. htmlgraph/operations/analytics.py +339 -0
  201. htmlgraph/operations/bootstrap.py +289 -0
  202. htmlgraph/operations/events.py +244 -0
  203. htmlgraph/operations/fastapi_server.py +231 -0
  204. htmlgraph/operations/hooks.py +350 -0
  205. htmlgraph/operations/initialization.py +597 -0
  206. htmlgraph/operations/initialization.py.backup +228 -0
  207. htmlgraph/operations/server.py +303 -0
  208. htmlgraph/orchestration/__init__.py +58 -0
  209. htmlgraph/orchestration/claude_launcher.py +179 -0
  210. htmlgraph/orchestration/command_builder.py +72 -0
  211. htmlgraph/orchestration/headless_spawner.py +281 -0
  212. htmlgraph/orchestration/live_events.py +377 -0
  213. htmlgraph/orchestration/model_selection.py +327 -0
  214. htmlgraph/orchestration/plugin_manager.py +140 -0
  215. htmlgraph/orchestration/prompts.py +137 -0
  216. htmlgraph/orchestration/spawner_event_tracker.py +383 -0
  217. htmlgraph/orchestration/spawners/__init__.py +16 -0
  218. htmlgraph/orchestration/spawners/base.py +194 -0
  219. htmlgraph/orchestration/spawners/claude.py +173 -0
  220. htmlgraph/orchestration/spawners/codex.py +435 -0
  221. htmlgraph/orchestration/spawners/copilot.py +294 -0
  222. htmlgraph/orchestration/spawners/gemini.py +471 -0
  223. htmlgraph/orchestration/subprocess_runner.py +36 -0
  224. htmlgraph/orchestration/task_coordination.py +343 -0
  225. htmlgraph/orchestration.md +563 -0
  226. htmlgraph/orchestrator-system-prompt-optimized.txt +863 -0
  227. htmlgraph/orchestrator.py +669 -0
  228. htmlgraph/orchestrator_config.py +357 -0
  229. htmlgraph/orchestrator_mode.py +328 -0
  230. htmlgraph/orchestrator_validator.py +133 -0
  231. htmlgraph/parallel.py +646 -0
  232. htmlgraph/parser.py +160 -35
  233. htmlgraph/path_query.py +608 -0
  234. htmlgraph/pattern_matcher.py +636 -0
  235. htmlgraph/planning.py +147 -52
  236. htmlgraph/pydantic_models.py +476 -0
  237. htmlgraph/quality_gates.py +350 -0
  238. htmlgraph/query_builder.py +109 -72
  239. htmlgraph/query_composer.py +509 -0
  240. htmlgraph/reflection.py +443 -0
  241. htmlgraph/refs.py +344 -0
  242. htmlgraph/repo_hash.py +512 -0
  243. htmlgraph/repositories/__init__.py +292 -0
  244. htmlgraph/repositories/analytics_repository.py +455 -0
  245. htmlgraph/repositories/analytics_repository_standard.py +628 -0
  246. htmlgraph/repositories/feature_repository.py +581 -0
  247. htmlgraph/repositories/feature_repository_htmlfile.py +668 -0
  248. htmlgraph/repositories/feature_repository_memory.py +607 -0
  249. htmlgraph/repositories/feature_repository_sqlite.py +858 -0
  250. htmlgraph/repositories/filter_service.py +620 -0
  251. htmlgraph/repositories/filter_service_standard.py +445 -0
  252. htmlgraph/repositories/shared_cache.py +621 -0
  253. htmlgraph/repositories/shared_cache_memory.py +395 -0
  254. htmlgraph/repositories/track_repository.py +552 -0
  255. htmlgraph/repositories/track_repository_htmlfile.py +619 -0
  256. htmlgraph/repositories/track_repository_memory.py +508 -0
  257. htmlgraph/repositories/track_repository_sqlite.py +711 -0
  258. htmlgraph/routing.py +8 -19
  259. htmlgraph/scripts/deploy.py +1 -2
  260. htmlgraph/sdk/__init__.py +398 -0
  261. htmlgraph/sdk/__init__.pyi +14 -0
  262. htmlgraph/sdk/analytics/__init__.py +19 -0
  263. htmlgraph/sdk/analytics/engine.py +155 -0
  264. htmlgraph/sdk/analytics/helpers.py +178 -0
  265. htmlgraph/sdk/analytics/registry.py +109 -0
  266. htmlgraph/sdk/base.py +484 -0
  267. htmlgraph/sdk/constants.py +216 -0
  268. htmlgraph/sdk/core.pyi +308 -0
  269. htmlgraph/sdk/discovery.py +120 -0
  270. htmlgraph/sdk/help/__init__.py +12 -0
  271. htmlgraph/sdk/help/mixin.py +699 -0
  272. htmlgraph/sdk/mixins/__init__.py +15 -0
  273. htmlgraph/sdk/mixins/attribution.py +113 -0
  274. htmlgraph/sdk/mixins/mixin.py +410 -0
  275. htmlgraph/sdk/operations/__init__.py +12 -0
  276. htmlgraph/sdk/operations/mixin.py +427 -0
  277. htmlgraph/sdk/orchestration/__init__.py +17 -0
  278. htmlgraph/sdk/orchestration/coordinator.py +203 -0
  279. htmlgraph/sdk/orchestration/spawner.py +204 -0
  280. htmlgraph/sdk/planning/__init__.py +19 -0
  281. htmlgraph/sdk/planning/bottlenecks.py +93 -0
  282. htmlgraph/sdk/planning/mixin.py +211 -0
  283. htmlgraph/sdk/planning/parallel.py +186 -0
  284. htmlgraph/sdk/planning/queue.py +210 -0
  285. htmlgraph/sdk/planning/recommendations.py +87 -0
  286. htmlgraph/sdk/planning/smart_planning.py +319 -0
  287. htmlgraph/sdk/session/__init__.py +19 -0
  288. htmlgraph/sdk/session/continuity.py +57 -0
  289. htmlgraph/sdk/session/handoff.py +110 -0
  290. htmlgraph/sdk/session/info.py +309 -0
  291. htmlgraph/sdk/session/manager.py +103 -0
  292. htmlgraph/sdk/strategic/__init__.py +26 -0
  293. htmlgraph/sdk/strategic/mixin.py +563 -0
  294. htmlgraph/server.py +685 -180
  295. htmlgraph/services/__init__.py +10 -0
  296. htmlgraph/services/claiming.py +199 -0
  297. htmlgraph/session_hooks.py +300 -0
  298. htmlgraph/session_manager.py +1392 -175
  299. htmlgraph/session_registry.py +587 -0
  300. htmlgraph/session_state.py +436 -0
  301. htmlgraph/session_warning.py +201 -0
  302. htmlgraph/sessions/__init__.py +23 -0
  303. htmlgraph/sessions/handoff.py +756 -0
  304. htmlgraph/setup.py +34 -17
  305. htmlgraph/spike_index.py +143 -0
  306. htmlgraph/sync_docs.py +12 -15
  307. htmlgraph/system_prompts.py +450 -0
  308. htmlgraph/templates/AGENTS.md.template +366 -0
  309. htmlgraph/templates/CLAUDE.md.template +97 -0
  310. htmlgraph/templates/GEMINI.md.template +87 -0
  311. htmlgraph/templates/orchestration-view.html +350 -0
  312. htmlgraph/track_builder.py +146 -15
  313. htmlgraph/track_manager.py +69 -21
  314. htmlgraph/transcript.py +890 -0
  315. htmlgraph/transcript_analytics.py +699 -0
  316. htmlgraph/types.py +323 -0
  317. htmlgraph/validation.py +115 -0
  318. htmlgraph/watch.py +8 -5
  319. htmlgraph/work_type_utils.py +3 -2
  320. {htmlgraph-0.9.3.data → htmlgraph-0.27.5.data}/data/htmlgraph/dashboard.html +2406 -307
  321. htmlgraph-0.27.5.data/data/htmlgraph/templates/AGENTS.md.template +366 -0
  322. htmlgraph-0.27.5.data/data/htmlgraph/templates/CLAUDE.md.template +97 -0
  323. htmlgraph-0.27.5.data/data/htmlgraph/templates/GEMINI.md.template +87 -0
  324. {htmlgraph-0.9.3.dist-info → htmlgraph-0.27.5.dist-info}/METADATA +97 -64
  325. htmlgraph-0.27.5.dist-info/RECORD +337 -0
  326. {htmlgraph-0.9.3.dist-info → htmlgraph-0.27.5.dist-info}/entry_points.txt +1 -1
  327. htmlgraph/cli.py +0 -2688
  328. htmlgraph/sdk.py +0 -709
  329. htmlgraph-0.9.3.dist-info/RECORD +0 -61
  330. {htmlgraph-0.9.3.data → htmlgraph-0.27.5.data}/data/htmlgraph/styles.css +0 -0
  331. {htmlgraph-0.9.3.dist-info → htmlgraph-0.27.5.dist-info}/WHEEL +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: htmlgraph
3
- Version: 0.9.3
3
+ Version: 0.27.5
4
4
  Summary: HTML is All You Need - Graph database on web standards
5
5
  Project-URL: Homepage, https://github.com/Shakes-tzd/htmlgraph
6
6
  Project-URL: Documentation, https://github.com/Shakes-tzd/htmlgraph#readme
@@ -19,9 +19,15 @@ Classifier: Programming Language :: Python :: 3.12
19
19
  Classifier: Topic :: Database
20
20
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
21
21
  Requires-Python: >=3.10
22
+ Requires-Dist: aiosqlite>=0.19.0
23
+ Requires-Dist: fastapi>=0.104.0
24
+ Requires-Dist: jinja2>=3.1.0
22
25
  Requires-Dist: justhtml>=0.6.0
23
26
  Requires-Dist: pydantic>=2.0.0
27
+ Requires-Dist: pyyaml>=6.0
24
28
  Requires-Dist: rich>=13.0.0
29
+ Requires-Dist: typing-extensions>=4.0.0; python_version < '3.11'
30
+ Requires-Dist: uvicorn>=0.24.0
25
31
  Requires-Dist: watchdog>=3.0.0
26
32
  Provides-Extra: deploy
27
33
  Requires-Dist: invoke>=2.2.0; extra == 'deploy'
@@ -29,9 +35,12 @@ Provides-Extra: dev
29
35
  Requires-Dist: black>=23.0.0; extra == 'dev'
30
36
  Requires-Dist: invoke>=2.2.0; extra == 'dev'
31
37
  Requires-Dist: mypy>=1.0.0; extra == 'dev'
38
+ Requires-Dist: pdoc>=14.0.0; extra == 'dev'
39
+ Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
32
40
  Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
33
41
  Requires-Dist: pytest>=7.0.0; extra == 'dev'
34
42
  Requires-Dist: ruff>=0.1.0; extra == 'dev'
43
+ Requires-Dist: tomli>=2.0.0; (python_version < '3.11') and extra == 'dev'
35
44
  Provides-Extra: sqlite
36
45
  Requires-Dist: aiosqlite>=0.19.0; extra == 'sqlite'
37
46
  Description-Content-Type: text/markdown
@@ -77,71 +86,47 @@ This bootstraps:
77
86
  - `.htmlgraph/index.sqlite` analytics cache (rebuildable; gitignored via `.gitignore`)
78
87
  - versioned hook scripts under `.htmlgraph/hooks/` (installed into `.git/hooks/` with `--install-hooks`)
79
88
 
80
- ### Python
89
+ ### Python (SDK - Recommended)
81
90
 
82
91
  ```python
83
- from htmlgraph import HtmlGraph, Node, Edge, Step
84
-
85
- # Initialize graph from directory
86
- graph = HtmlGraph("features/")
87
-
88
- # Create a node
89
- node = Node(
90
- id="feature-001",
91
- title="User Authentication",
92
- type="feature",
93
- status="in-progress",
94
- priority="high",
95
- steps=[
96
- Step(description="Create auth routes"),
97
- Step(description="Add middleware"),
98
- Step(description="Implement OAuth"),
99
- ],
100
- edges={
101
- "blocked_by": [Edge(target_id="feature-002", title="Database Schema")]
102
- }
103
- )
104
-
105
- # Add to graph (creates HTML file)
106
- graph.add(node)
107
-
108
- # Query with CSS selectors
109
- blocked = graph.query("[data-status='blocked']")
110
- high_priority = graph.query("[data-priority='high']")
111
-
112
- # Graph traversal
113
- path = graph.shortest_path("feature-001", "feature-010")
114
- deps = graph.transitive_deps("feature-001")
115
- bottlenecks = graph.find_bottlenecks()
116
-
117
- # Get lightweight context for AI agents (~50 tokens)
118
- print(node.to_context())
119
- # Output:
120
- # # feature-001: User Authentication
121
- # Status: in-progress | Priority: high
122
- # Progress: 0/3 steps (0%)
123
- # ⚠️ Blocked by: Database Schema
124
- # Next: Create auth routes
125
- ```
126
-
127
- ### Agent Interface
128
-
129
- ```python
130
- from htmlgraph.agents import AgentInterface
131
-
132
- agent = AgentInterface("features/", agent_id="claude")
133
-
134
- # Get next available task
135
- task = agent.get_next_task(priority="high")
136
-
137
- # Get lightweight context
138
- context = agent.get_context(task.id)
139
-
140
- # Update progress
141
- agent.complete_step(task.id, step_index=0)
142
-
143
- # Complete task
144
- agent.complete_task(task.id)
92
+ from htmlgraph import SDK
93
+
94
+ # Initialize (auto-discovers .htmlgraph directory)
95
+ sdk = SDK(agent="claude")
96
+
97
+ # Create and configure a feature with fluent API
98
+ feature = sdk.features.create("User Authentication") \
99
+ .set_priority("high") \
100
+ .set_description("Implement OAuth 2.0 login") \
101
+ .add_steps([
102
+ "Create login endpoint",
103
+ "Add JWT middleware",
104
+ "Write integration tests"
105
+ ]) \
106
+ .save()
107
+
108
+ print(f"Created: {feature.id}")
109
+
110
+ # Work on features
111
+ with sdk.features.edit(feature.id) as f:
112
+ f.status = "in-progress"
113
+ f.agent_assigned = "claude"
114
+ f.steps[0].completed = True
115
+
116
+ # Query features
117
+ high_priority_todos = sdk.features.where(status="todo", priority="high")
118
+ for feat in high_priority_todos:
119
+ print(f"- {feat.id}: {feat.title}")
120
+
121
+ # Create and configure a track with TrackBuilder
122
+ track = sdk.tracks.builder() \
123
+ .title("Q1 Security Initiative") \
124
+ .priority("high") \
125
+ .add_feature("feature-001") \
126
+ .add_feature("feature-002") \
127
+ .create()
128
+
129
+ print(f"Created track: {track.id}")
145
130
  ```
146
131
 
147
132
  ### HTML File Format
@@ -197,6 +182,44 @@ HtmlGraph nodes are standard HTML files:
197
182
  - **Agent Handoff** - Context-preserving task transfers between agents
198
183
  - **Capability Routing** - Automatic task assignment based on agent skills
199
184
  - **Deployment Automation** - One-command releases with version management
185
+ - **Unified Backend** - Operations layer shared by CLI and SDK for consistency
186
+
187
+ ## Orchestrator Architecture: Flexible Multi-Agent Coordination
188
+
189
+ HtmlGraph implements an orchestrator pattern that coordinates multiple AI agents in parallel, preserving context efficiency while maintaining complete flexibility in model selection. Instead of rigid rules, the pattern uses **capability-first thinking** to choose the right tool (and model) for each task.
190
+
191
+ **Key Principles:**
192
+ - ✅ **Flexible model selection** - Any model can do any work; choose based on task fit and cost
193
+ - ✅ **Dynamic spawner composition** - Mix and match spawner types (Gemini, Copilot, Codex, Claude) within the same workflow
194
+ - ✅ **Cost optimization** - Use cheaper models for exploratory work, expensive models only for reasoning
195
+ - ✅ **Parallel execution** - Independent tasks run simultaneously, reducing total time
196
+
197
+ **Example: Parallel Exploration with Multiple Spawners**
198
+
199
+ ```python
200
+ # All run in parallel - each uses the best tool for the job
201
+ Task(subagent_type="gemini-spawner", # FREE exploration
202
+ prompt="Find all authentication patterns in src/auth/")
203
+
204
+ Task(subagent_type="copilot-spawner", # GitHub integration
205
+ prompt="Check GitHub issues related to auth",
206
+ allow_tools=["github(*)"])
207
+
208
+ Task(subagent_type="claude-spawner", # Deep reasoning
209
+ prompt="Analyze auth patterns for security issues")
210
+
211
+ # Orchestrator coordinates, subagents work in parallel
212
+ # Total time = slowest task (not sum of all)
213
+ # Cost = optimized (cheap exploration + expensive reasoning only)
214
+ ```
215
+
216
+ **Spawner Types:**
217
+ - **Gemini Spawner** - FREE exploratory research, batch analysis (2M tokens/min)
218
+ - **Copilot Spawner** - GitHub-integrated workflows, git operations
219
+ - **Codex Spawner** - Code generation, coding completions
220
+ - **Claude Spawner** - Deep reasoning, analysis, strategic planning (any Claude model)
221
+
222
+ → [Complete Orchestrator Architecture Guide](docs/orchestrator-architecture.md) - Detailed patterns, cost optimization, decision framework, and advanced examples
200
223
 
201
224
  ## Comparison
202
225
 
@@ -252,9 +275,19 @@ uv run python
252
275
 
253
276
  MIT
254
277
 
278
+ ## System Prompt & Delegation Documentation
279
+
280
+ For Claude Code users and teams using HtmlGraph for AI agent coordination:
281
+
282
+ - **[System Prompt Quick Start](docs/SYSTEM_PROMPT_QUICK_START.md)** - Setup your system prompt in 5 minutes (start here!)
283
+ - **[System Prompt Architecture](docs/SYSTEM_PROMPT_ARCHITECTURE.md)** - Technical deep dive + troubleshooting
284
+ - **[Delegation Enforcement Admin Guide](docs/DELEGATION_ENFORCEMENT_ADMIN_GUIDE.md)** - Setup cost-optimal delegation for your team
285
+ - **[System Prompt Developer Guide](docs/SYSTEM_PROMPT_DEVELOPER_GUIDE.md)** - Extend with custom layers, hooks, and skills
286
+
255
287
  ## Links
256
288
 
257
289
  - [GitHub](https://github.com/Shakes-tzd/htmlgraph)
290
+ - [API Reference](docs/API_REFERENCE.md) - Complete SDK API documentation
258
291
  - [Documentation](docs/) - SDK guide, workflows, development principles
259
292
  - [Examples](examples/) - Real-world usage examples
260
293
  - [PyPI](https://pypi.org/project/htmlgraph/)
@@ -0,0 +1,337 @@
1
+ htmlgraph/__init__.py,sha256=5x_TBmDD1tk9cItVrpdeXoABkAAjOs4f5e-O3qQ3X90,6407
2
+ htmlgraph/__init__.pyi,sha256=8JuFVuDll9jMx9s8ZQHt2tXic-geOJHiXUMB2YjmHhU,6683
3
+ htmlgraph/agent_detection.py,sha256=wEmrDv4hssPX2OkEnJZBHPbalxcaloiJF_hOOow_5WE,3511
4
+ htmlgraph/agent_registry.py,sha256=80TPYr4P0YMizPUbTH4N5wH6D84IKs-HPBLHGeeP6bY,9449
5
+ htmlgraph/agents.py,sha256=Yvu6x1nOfrW2WhRTAHiCuSpvqoVJXx1Mkzd59kwEczw,33466
6
+ htmlgraph/analytics_index.py,sha256=fm0cnZjce2Ii4F9FQo1np_mWsFXuRgTTOzbrCJWGW3g,32793
7
+ htmlgraph/atomic_ops.py,sha256=f0ULZoJThfC-A8xORvRv5OuFuhEnnH7uJrZslnZwmuw,18781
8
+ htmlgraph/attribute_index.py,sha256=oF4TwbFGdtg1_W5AUJ-Ka4VcH-aYz-qldtiPvStJlfA,6594
9
+ htmlgraph/bounded_paths.py,sha256=4HHXiT8q2fhGkrGsGrACFnDrnAzwJ-Tk_4V9h-voenM,18832
10
+ htmlgraph/cli_framework.py,sha256=YfAjTGIECmv_uNpkenYyc9_iKd3jXIG5OstEKpIGWJM,3551
11
+ htmlgraph/config.py,sha256=dhOSfMfZCT-APe_uAvqABWyQ0nEhL6F0NS-15KLPZNg,6888
12
+ htmlgraph/context_analytics.py,sha256=fGuIhGCM-500wH_pTKE24k0Rl01QvQ8Kznoj61KpjiU,11345
13
+ htmlgraph/converter.py,sha256=W9uNGo-FhFRsuxwivQeSRd6nwQ9oWVhkEDyUdS83BJQ,24704
14
+ htmlgraph/dashboard.html,sha256=MUT6SaYnazoyDcvHz5hN1omYswyIoUfeoZLf2M_iblo,251268
15
+ htmlgraph/dashboard.html.backup,sha256=MUT6SaYnazoyDcvHz5hN1omYswyIoUfeoZLf2M_iblo,251268
16
+ htmlgraph/dashboard.html.bak,sha256=cDDMzwxkoDFFOd8V0VDCa_yigDYTvpPrP7RMoiCJ5Zo,276374
17
+ htmlgraph/dashboard.html.bak2,sha256=Gm-4u_HV9WTQubgdFX5S5itW0u2f94N0F1R44UVjBRw,279532
18
+ htmlgraph/dashboard.html.bak3,sha256=eJppW200aMT3qP4if8RuInVDBkx3dLP0kHiZtnsJOaI,279573
19
+ htmlgraph/decorators.py,sha256=0bs8mCju2ZzyrvsaOSmYhMKZ572kQXkP8TWKuxoWrZo,11746
20
+ htmlgraph/dependency_models.py,sha256=lH2SJxqAnTWCbamboL3oUYPvS_mogvL2FReWlOcxEEo,4314
21
+ htmlgraph/deploy.py,sha256=cci_8_J7zhAk102q5gfwjbNHN0-v7ePwGmqBKfziRWc,17859
22
+ htmlgraph/deployment_models.py,sha256=8pjvfe0YmExuYg65D4jO4kET52HaG8WhcArWXOJpfCQ,16064
23
+ htmlgraph/edge_index.py,sha256=Wr9xMrVZTRItY-twnA5_9-gxgws41dU4b5uTWuhphHM,14938
24
+ htmlgraph/error_handler.py,sha256=DgGZd2hee3zkZl9_JVa0ocnhrDPeeTCDji5EJmDWFDc,16760
25
+ htmlgraph/event_log.py,sha256=M-R6P_5CfrlAbY168TDZfcyPIL8A9n-EkaujmQs585U,10499
26
+ htmlgraph/event_migration.py,sha256=EqWDS-Ii_YK8RDR4XPvxX_4qNDnvSbnTNytwzG9hkEY,2513
27
+ htmlgraph/exceptions.py,sha256=o_BPNQXtv9zaejbiItDVBK7kcGvYbh4Icj5NXmDSLeU,1592
28
+ htmlgraph/file_watcher.py,sha256=5sl4G0XChayNiuIHTS4ePEozHAXg1KMOnXKpJ-Pgr9A,6401
29
+ htmlgraph/find_api.py,sha256=N4chj9N7X_9jS4gjFDla7x557jIBy8Sn5KYzJloEJZs,12724
30
+ htmlgraph/git_events.py,sha256=bPGd6pVeHKUmnPRzjGatA1LoMDwlnB1bTEMoKFxjCKI,22548
31
+ htmlgraph/graph.py,sha256=XhPuUYwhrCFVBEijjOdcHjjMEUlduba39CyzZ9dJ6X0,68187
32
+ htmlgraph/ids.py,sha256=c58T1pg4QFNFKb6ZjR9mmgAhZz4ImtBQEeKAh_no5gs,8390
33
+ htmlgraph/index.d.ts,sha256=7dvExfA16g1z5Kut8xyHnSUfZ6wiUUwWNy6R7WKiwas,6922
34
+ htmlgraph/learning.py,sha256=A3LU7VeK129sy5C0xjgVtZNI3dS6xEh9ow3GBnoq2JQ,28567
35
+ htmlgraph/mcp_server.py,sha256=Isha3F2Jk_YLsbchtr2wusmEy6LDrMH-3zF0jzvJmFk,24034
36
+ htmlgraph/models.py,sha256=rE1Arbb4CoC5HHKx_JXxtKfneH3rQVjOUVGrz-s1iMU,87352
37
+ htmlgraph/orchestration.md,sha256=7oCum1RtlkGfHjh9YQ1h24flPbHrEIKiSNjnt61CuG4,17874
38
+ htmlgraph/orchestrator-system-prompt-optimized.txt,sha256=8ekZ19YWJE9npaAaAGTkTMfseOlA2rliGYc_ad2HaRc,31191
39
+ htmlgraph/orchestrator.py,sha256=vF7ovxsb2rIkQs_ifX-lKp7UJO9CCUq4ZQNOdNhdwJM,19698
40
+ htmlgraph/orchestrator_config.py,sha256=5EBnT81OAkJBsp6jNDNgBnhJmD8A4zV2REaop9qb8gc,10886
41
+ htmlgraph/orchestrator_mode.py,sha256=DXkG89uHe2VPz8wSx44JENn70lQiI5BLihKGpcPnNx8,10538
42
+ htmlgraph/orchestrator_validator.py,sha256=gd_KbHsRsNEIF7EElwcxbMYqOMlyeuYIZwClASp-L-E,4699
43
+ htmlgraph/parallel.py,sha256=txiCgNtPu9hpBsIkwHHZhKBrPrdN6W3ysA9Q0_YjSa0,22419
44
+ htmlgraph/parser.py,sha256=mPcQ3WQdDCpflhjk8397TPbHnQcU3SzefNk-JE406UA,16570
45
+ htmlgraph/path_query.py,sha256=51ttIPsLM1RsYgRSYEpLW6lwgsFuZ9OTaIUfju3M6XU,20034
46
+ htmlgraph/pattern_matcher.py,sha256=QOEWN5QFZqUaaTywSxLVyWsjBRUBUOjBCI7fpF7Uu8M,22161
47
+ htmlgraph/planning.py,sha256=iqPF9mCVQwOfJ4vuqcF2Y3-yhx9koJZw0cID7CknIug,35903
48
+ htmlgraph/pydantic_models.py,sha256=4vGAp2n59Hf8v5mZG-Tx2vOSm3lcE_PypBprcejJUXE,15832
49
+ htmlgraph/quality_gates.py,sha256=ovPrjGgAwK5MjMzEIda4a6M5_S-yGiRJYy8KhzdyTZ0,11686
50
+ htmlgraph/query_builder.py,sha256=GBrjf_6Qoq98JxJr8cYeAMV4QpdmrfFyadJpDjH4clM,18093
51
+ htmlgraph/query_composer.py,sha256=ilasmZBc8_mLS1iq45Kcw2Ig1zCN04-r1HVKr8f9YP0,17332
52
+ htmlgraph/reflection.py,sha256=agNfHsI1ynayTG3kgt5fiQj30LkG9b-v3wtnDsu4-Gk,15663
53
+ htmlgraph/refs.py,sha256=jgsPWRTfPDxhH_dr4EeYdU1ly-e3HpuHgAPnMXMbaF4,10011
54
+ htmlgraph/repo_hash.py,sha256=wYQlgYf0W1LfU95PA6vViA-MlUxA6ry_xDh7kyCB4v4,14888
55
+ htmlgraph/routing.py,sha256=QYDY6bzYPmv6kocAXCqguB1cazN0i_xTo9EVCO3fO2Y,8803
56
+ htmlgraph/server.py,sha256=BZcUM9sfGQzS0PyFOvl5_f4MP9-8C4E8tp77VcanwLM,56211
57
+ htmlgraph/session_hooks.py,sha256=AOjpPMZo2s_d_KXuPiWDo8TIOdkXsEU0CoOHd4G5A10,9195
58
+ htmlgraph/session_manager.py,sha256=Bf7l0H67t6mo-ogoPFdz2XxBDxfJrh02wIx4rSOtFM8,98630
59
+ htmlgraph/session_registry.py,sha256=xF6VaFp3tE9LA8PXXnaIs2PKZxMOktxRUJJ7vCs0Mcs,18725
60
+ htmlgraph/session_state.py,sha256=2UcgQNzwBjHkVuGxrAGfHkODopqDexU4wjy9qXKcQIk,15245
61
+ htmlgraph/session_warning.py,sha256=XPT2Cbg6YRNNhw7NpM8aAp5ny-qfCsYY86DURL_eAPc,7878
62
+ htmlgraph/setup.py,sha256=LpA6R7gAsevFhXh5AGGBmHyhb2ijIAjxTsm0VuzvH2Y,10866
63
+ htmlgraph/spike_index.py,sha256=-qsJc92MtxJN1whHqV1SGU6HjXkKeG2Vsg7l3q2ReRg,4264
64
+ htmlgraph/styles.css,sha256=oDUSC8jG-V-hKojOBO9J88hxAeY2wJrBYTq0uCwX_Y4,7135
65
+ htmlgraph/sync_docs.py,sha256=CH1xB3OeOFG6Wmo_D_r1aiGWS1P1gE7hfjJySCEz7bc,9114
66
+ htmlgraph/system_prompts.py,sha256=jOPOimImDrhX5iQc46x9lNq22jelF09U6-kmyU060jg,14165
67
+ htmlgraph/track_builder.py,sha256=ZehPwG0WGf_K9k8VQJLHf8J3T9oykSaOo0O8P9oNm4I,6881
68
+ htmlgraph/track_manager.py,sha256=HhCg0nFOy_dx2R0_Bb2IOx9dA2lPfg7dM-_O3vBmlRU,22445
69
+ htmlgraph/transcript.py,sha256=e_G9zkPz9sH9WSuUWuSSFDQyMt-o1dd_f5hogDZBXwU,32318
70
+ htmlgraph/transcript_analytics.py,sha256=O-T7SfM3gJIbGFNPlF3gmKjcy--NzPiJt03lvTC209w,24922
71
+ htmlgraph/types.py,sha256=EBxCbke3PhORsmIhHrD-f1XG6YPRX-1D5R1OXCp6xt8,8945
72
+ htmlgraph/validation.py,sha256=I-ELEAWXESk9iv291zNBaJ78b-ikUOR5CCbPSRxekHU,3248
73
+ htmlgraph/watch.py,sha256=Ec2fQxLYpXr95CU46lIDTka2Hi2-MHgBjzMzelaPpxU,3792
74
+ htmlgraph/work_type_utils.py,sha256=oPd-26u4wWZkkjT2AZ_8Xc7089FMcbMOq03NaVlGv4s,3409
75
+ htmlgraph/.htmlgraph/.session-warning-state.json,sha256=X7xLzJc57pWuOLyg5iN7D9hp0CvaYY6UWBq8ImcIBmg,92
76
+ htmlgraph/.htmlgraph/agents.json,sha256=dKaiSsd1L7iaQa1_s9lCpNEZH-1S_n0CfzmCHFoWyvc,1391
77
+ htmlgraph/.htmlgraph/htmlgraph.db,sha256=gto2pndMBw97gljvwPywDlTUzYdoa_FnNJs3AsS9_SI,262144
78
+ htmlgraph/analytics/__init__.py,sha256=jVcxE-9eGupT8IC5YMh8SqPc_w4k7GpPK0WfXj6SE4M,607
79
+ htmlgraph/analytics/cli.py,sha256=GuGsZ_ojfwNK8k5GvaY9z0txjISJ4V7jqbw5suc0Y9c,14777
80
+ htmlgraph/analytics/cost_analyzer.py,sha256=aEd6rX7NUTCxLgaPsDGhUyfvSyEjiW1onSHCTnDKRb4,12914
81
+ htmlgraph/analytics/cost_monitor.py,sha256=1oggx9sC0oeUI3iOgo2GSNvJHlaz01vXFOAB8GMDRRc,21485
82
+ htmlgraph/analytics/cost_reporter.py,sha256=_KumnYUYTr3yEHwBGGgjXSHR5IGPLDqjfuZHpfbeNi8,19917
83
+ htmlgraph/analytics/cross_session.py,sha256=sD_i209uMdKzGhHb3sX7QCll-0E4JwZiZYlbcuNzdgo,20590
84
+ htmlgraph/analytics/dependency.py,sha256=DhO5XGIZXg83w7wRw8QKSTRFyU0CwKvK9QixJ-PlLHU,25835
85
+ htmlgraph/analytics/pattern_learning.py,sha256=TVP-kSzM7i9PCeNUYhxv8L4UUm37baunKzUFz0lUays,26689
86
+ htmlgraph/analytics/session_graph.py,sha256=3zeNH3MimcSDj5j43c2OdVh42xWTPRw6iq5xdaodR2c,23197
87
+ htmlgraph/analytics/work_type.py,sha256=fjCEbCaHEhhzp3iyOQdOd1id5SAlnc8Y5NEhP5g5hug,19413
88
+ htmlgraph/analytics/strategic/__init__.py,sha256=qAOjBJIrZvrGg3egKIiZDW8ZHL4OqVKUTrmX1RElHZk,2103
89
+ htmlgraph/analytics/strategic/cost_optimizer.py,sha256=X7HuBUDkPT0-4lf6uuaCXDK0N7dOGpFYyBUgRwSYwYk,19460
90
+ htmlgraph/analytics/strategic/pattern_detector.py,sha256=5SEUpzX5wXsX1tvzkG0oMVGQ1mglVs7vTJopnGiAbOA,32814
91
+ htmlgraph/analytics/strategic/preference_manager.py,sha256=uO8cX-kaK7EIJh-ovXh5cMc0qkMhUfC6zavvvb7osnc,24776
92
+ htmlgraph/analytics/strategic/suggestion_engine.py,sha256=KV43DF6PETJkmrMA_Ni34heSdQqS_GXKeeGsq5zO6ck,26093
93
+ htmlgraph/api/__init__.py,sha256=PPFJ5QSv-Zei8U0yGOSs8dJKtUQMeloEqsxVBfzNbbA,105
94
+ htmlgraph/api/cost_alerts_websocket.py,sha256=6e_2pKn0-Hcz2ClFyNuJEhVBffqmcUBOkbseSgSkAqQ,14839
95
+ htmlgraph/api/main.py,sha256=rQ9758JJ3qqabr8qmQDWuW2T7XlfnDWdRCydPyD9R6o,98121
96
+ htmlgraph/api/websocket.py,sha256=L8a_p9cSLdmG1dcVQLZSfxS994Dm-caNPnYQWZ_a-Z0,17592
97
+ htmlgraph/api/static/htmx.min.js,sha256=0VEHzH8ECp6DsbZhdv2SetQLXgJVgToD-Mz-7UbuQrA,48036
98
+ htmlgraph/api/static/style-redesign.css,sha256=zp0ggDJHz81FN5SW5tRcWXPK_jVNCAJyqKhwlZkBfnQ,26759
99
+ htmlgraph/api/static/style.css,sha256=6nUzPvf3Xri0vxbEIunrbJkujP6k3HrM3KC5nrkOjyw,20022
100
+ htmlgraph/api/templates/dashboard-redesign.html,sha256=n8BjsXJ_Ze7UULGgj6T1QruHXCI1rLHeOiOsqAiBpr4,51978
101
+ htmlgraph/api/templates/dashboard.html,sha256=FEWcnTsxrpblrc6Xcg6ungKWV4Fmm4AQMNWoBBskx_o,31602
102
+ htmlgraph/api/templates/partials/activity-feed-hierarchical.html,sha256=28N1IeL84Fh4uYv6DxwivnzCm08LoXf6OWR2GDVvAnY,14175
103
+ htmlgraph/api/templates/partials/activity-feed.html,sha256=u88O86IjGjCy9hfhfAtmtuaj3FEtiNqWBzh_qMBFGGk,33636
104
+ htmlgraph/api/templates/partials/agents-redesign.html,sha256=32sZ596ShucaLW7kUh95mB_znJeK7p8eyJ5F-wxkXzw,10266
105
+ htmlgraph/api/templates/partials/agents.html,sha256=32sZ596ShucaLW7kUh95mB_znJeK7p8eyJ5F-wxkXzw,10266
106
+ htmlgraph/api/templates/partials/event-traces.html,sha256=asZ_TjZT_xqbAqN2NU3hbdxExsQFL7t9LLaXw5NrOfU,10417
107
+ htmlgraph/api/templates/partials/features-kanban-redesign.html,sha256=36lEnE-zZK0s2YZrOHCzroorEvGnCzzoem39Z5Q0SgI,18949
108
+ htmlgraph/api/templates/partials/features.html,sha256=M-fELKjyh01_qyFnmh5N6pKXjkfp75GS9WNSCd5cy0Q,22192
109
+ htmlgraph/api/templates/partials/metrics-redesign.html,sha256=9LtXP5dzNhHsi2LiSmYTU3kWnka7x629Bkpnln7_MSE,14740
110
+ htmlgraph/api/templates/partials/metrics.html,sha256=9LtXP5dzNhHsi2LiSmYTU3kWnka7x629Bkpnln7_MSE,14740
111
+ htmlgraph/api/templates/partials/orchestration-redesign.html,sha256=gL3Qpo-toVlZRW86alKqGy6zu9A1btjXJEF90XSsy0w,17567
112
+ htmlgraph/api/templates/partials/orchestration.html,sha256=kLux3-LivlczoJEksrThPi1Bn5kcDyCdwPN6xXTQgzE,9519
113
+ htmlgraph/api/templates/partials/spawners.html,sha256=9sI7K49hrvm7pVwxM0pzdHivr1uyW9QcPDmOHHQbTnQ,9338
114
+ htmlgraph/api/templates/partials/work-items.html,sha256=dXlCO9E4sPq0X2F2FEag8heCCMWi__LSyvpDA6qZta0,22927
115
+ htmlgraph/archive/__init__.py,sha256=F5VpZNiKar5J1e6caWhB7P7QQ4xvsyhDHtH65Q3224c,661
116
+ htmlgraph/archive/bloom.py,sha256=8OL-apF3BGW1V1P9vgi6vk_IHlJe3JOxigMRyuLMjys,7058
117
+ htmlgraph/archive/fts.py,sha256=HZSNb0GYwfm_KA6BlR72LcaAfXWsUPAi0f4BC7IJcRo,9193
118
+ htmlgraph/archive/manager.py,sha256=FPYVvgi5xbFIJtveV25KxHmczozfKDZiq0D76k_wHjo,18256
119
+ htmlgraph/archive/search.py,sha256=stfT296q0fqHUtW9pFQ8yJ034jq3dobEt1_qZQ21A4U,7183
120
+ htmlgraph/builders/__init__.py,sha256=a65xHw2ARqK8oMVS1YNsIS4FAO17nBe2TFcceUqhyc0,949
121
+ htmlgraph/builders/base.py,sha256=u-gLlSpdKAjxs66sjzVFX4v0wqbGRYBgEYi8_JRbWOM,9666
122
+ htmlgraph/builders/bug.py,sha256=f4KCMoPiTvQW32KTEaI9c3QIZjog5zoz9A-SBqerd7Q,4065
123
+ htmlgraph/builders/chore.py,sha256=qf6uMC_Lt1Jz_axfFfHMMVwsjH4-k7kW3KXz9BCbo14,3351
124
+ htmlgraph/builders/epic.py,sha256=HCLOQyIe9SWcFL2jYeL2Bt5AQdAtuxzaPCZ5XgwLsAY,4146
125
+ htmlgraph/builders/feature.py,sha256=t4CVy5aWWkrLNI6P_wmQp9ZyYwWpTWuhvpLWpgoMqUM,3707
126
+ htmlgraph/builders/insight.py,sha256=dW-GN29vEdzc18dxdckg4UMRZcQNpL1SiRiRhmQCVRI,5980
127
+ htmlgraph/builders/metric.py,sha256=5f1_AC6qEJDKVZgRHHOtmzma2ngbvVhVaNlV_NM1yqs,6539
128
+ htmlgraph/builders/pattern.py,sha256=XpBNXyQygvCmkKhD8DlHJPyxql-W9NYzSYGohK7ucPI,5727
129
+ htmlgraph/builders/phase.py,sha256=6lovjz4lJ-oDBBVBUIOfAkzLY1a_AZhtkv8_CbbHxBM,4300
130
+ htmlgraph/builders/spike.py,sha256=sM_UTkMRzngaF6qTN1UFd_SOkXTPdIJ5zemypZnwsFY,5461
131
+ htmlgraph/builders/track.py,sha256=rqvfUvfiN3zYePX8WgEK6AmKjYoShRBgLgp8D0g2z1M,24663
132
+ htmlgraph/cigs/__init__.py,sha256=3-g20ISHNVO-1lOik1LaQ7e8xgvlkd_4EbHTHijSkmY,2070
133
+ htmlgraph/cigs/autonomy.py,sha256=kq35CbzI9UV9h0Bzy8t9YIJwmHHM9KD381RUocQIlNs,14075
134
+ htmlgraph/cigs/cost.py,sha256=DcXsIoJt_IlGVSD0Unk8f9lJUwoEXiBZATFHOM2SdjY,17502
135
+ htmlgraph/cigs/messages_basic.py,sha256=QWaOmV6BLLkutrQGfX7B-RIEEy0dwGlUj1BuCKz2Shg,16422
136
+ htmlgraph/cigs/messaging.py,sha256=jx6Y9fvuFHkoP_g2C4ff54ymfJBsVPAjORq5XORHslA,12965
137
+ htmlgraph/cigs/models.py,sha256=QoCpaRsw8DzNzA9oPBcqr76ZMghxKtCJCVtL1zB5U6E,27643
138
+ htmlgraph/cigs/pattern_storage.py,sha256=7ZjLc62xEk5TwLUkd88MW02d_iLNkDffX3CFudR95mg,14201
139
+ htmlgraph/cigs/patterns.py,sha256=qshVy2jey3_MJaizYIagi_qWbSnShyLyHdB100vzjn8,18456
140
+ htmlgraph/cigs/posttool_analyzer.py,sha256=hVUXXVuvFhq-smc2JAst-gMlQWI7gXCXH9f91kBcSRs,8134
141
+ htmlgraph/cigs/reporter.py,sha256=DgfHjD_ufP6a9Fmfm_-Ro50bDCQrNC6BZYl3dYNl86o,24307
142
+ htmlgraph/cigs/tracker.py,sha256=OcyXY7tGxbRCtlLX8Pg2bVtCtzPJtvh1VOtt4jbL9SI,10502
143
+ htmlgraph/cli/__init__.py,sha256=0r1gr-uzhMS9_wz88IjGf5ma4bDK-zTzUX6p8Wq5n2U,1031
144
+ htmlgraph/cli/__main__.py,sha256=lkTNsdh3X-vgKz_jzQe0IQmZY5PWlMjGBuaQR-gsqf8,137
145
+ htmlgraph/cli/analytics.py,sha256=njnrU8vaeXUOn9OhVyTeQbxcTuRpdQ5vs5QSlnOMOaA,51186
146
+ htmlgraph/cli/base.py,sha256=RS5ZUx-gST4VLCvIfQovEYteoyvzIMxaYffYXyIj8PA,21657
147
+ htmlgraph/cli/constants.py,sha256=S7hAih2Ka64c0sWqOdq7W762VRoBHri8w8XDDWqHCkE,7088
148
+ htmlgraph/cli/core.py,sha256=M37BXHOl9CROSh0V8QThDkhlQvvI1j8Iw6O55co_WRQ,31978
149
+ htmlgraph/cli/main.py,sha256=arUPQXLWwNdR08-klF-cHW6iprr-BQGngBmxgyXyhis,4194
150
+ htmlgraph/cli/models.py,sha256=JCbTfkvaK7zPKnaYjoUJpofZ0JdwK1RTgWQtNjQRHLY,16340
151
+ htmlgraph/cli/.htmlgraph/.session-warning-state.json,sha256=uFIJVhXV7z0NmDjkgretnTiVHxXIqg7mbVCznWX46fQ,93
152
+ htmlgraph/cli/.htmlgraph/agents.json,sha256=hVmmvoL4CDTIrhxH7VaM-jSDCj8kszWsUFY_LHae9DQ,1391
153
+ htmlgraph/cli/.htmlgraph/htmlgraph.db,sha256=3bdzMqg_s7d3bTFW3rei8ZA8MGFiPqVipj7MMJxtueM,1363968
154
+ htmlgraph/cli/templates/__init__.py,sha256=7eh8oC8rce689HGuuYqJEMCElJCtg084xOMHZti2XL8,37
155
+ htmlgraph/cli/templates/cost_dashboard.py,sha256=M5JksrPJAOQ6mCUq6sYyX-eXD-LfSiDh9gcxhZz3b4g,11314
156
+ htmlgraph/cli/work/__init__.py,sha256=v9NVBOe8JwWggXpRMc_CS1gJKyQwBUv326vMayID3HY,7113
157
+ htmlgraph/cli/work/browse.py,sha256=y19Qq2_81s4rwk8Lw8BR1FQ9y9rHxGt0aRXegw-jY0A,3515
158
+ htmlgraph/cli/work/features.py,sha256=HHeCQdJV5qTao19qLn7eDgzk9n1ZVnVXz7wHtH8fNnQ,20056
159
+ htmlgraph/cli/work/orchestration.py,sha256=P20XvKheWWKWPi9wIUksku1vGlO-iaZ1Gc-fCrDLWD4,22481
160
+ htmlgraph/cli/work/report.py,sha256=xZu0Z_U2RIzvQkUTVa6eIAtpNfT0qHV-NGQJSxfax2A,23985
161
+ htmlgraph/cli/work/sessions.py,sha256=klJ8OSr7Tq_I9ACQx72-ZjUoegwyHebkNwDOvIJhoGs,15711
162
+ htmlgraph/cli/work/snapshot.py,sha256=ZJFF8ea8WlD1EP2iFXfhKK2mfUufWbe_cYvMPcmAToE,20491
163
+ htmlgraph/cli/work/tracks.py,sha256=MzymITEkbq_jNeCYGLgqWwwa0hAv3UWpPqhEMTHC8zI,16290
164
+ htmlgraph/cli_commands/__init__.py,sha256=GYdoNv80KS2p7bCThuoRbhiLmIZW6ddPqPEFEx567nQ,35
165
+ htmlgraph/cli_commands/feature.py,sha256=KqC0daKE1aMb9-FBHlEEUZbLFvZdjlW5CxqSeO1HVVU,6689
166
+ htmlgraph/collections/__init__.py,sha256=bDUTK5grqWKCR5sawI8fa-XoL09p5-heReGdkdSXArY,1163
167
+ htmlgraph/collections/base.py,sha256=Wbpf_5Z340bds4mohzjS_w9fB-qKG01hBa81NkWnDtE,26728
168
+ htmlgraph/collections/bug.py,sha256=uqOWAtJShwZtDYEfsrs6kMnTDUrqhykezMd72_WMaXE,1332
169
+ htmlgraph/collections/chore.py,sha256=MfZbbfiCK4SZB4S_SR1sC8Uuk5AxG1cFfsGlDlvX5pE,1353
170
+ htmlgraph/collections/epic.py,sha256=otn-4H_hvlPUukJu5pLiK8r0Nw71OCLrVX_5na_VhbA,1351
171
+ htmlgraph/collections/feature.py,sha256=fWpHOELte4eNw7WHNC_iAQQ9OqjRVS7CY6MrukkE96E,2031
172
+ htmlgraph/collections/insight.py,sha256=Id20dRx5bX61RGERcbHRn2jLUyIIsdwzHEvJPnob8KY,2715
173
+ htmlgraph/collections/metric.py,sha256=V_TIkoNL4p1uGw9dlDFS8qpEMw9zK5HGoWS1EtfZTcY,2621
174
+ htmlgraph/collections/pattern.py,sha256=BJev_zagZQN80cdnbgUGSO1944FnWPsAtQvtGA__ykw,2561
175
+ htmlgraph/collections/phase.py,sha256=HV1GDiMP3drIIOyitKe0T6c58IA7R2vHopX3OQ0CcOU,1360
176
+ htmlgraph/collections/session.py,sha256=TbIwI-0DqbfqOvNkN02BPG8-mhacV_FAu8go13oXxAk,6528
177
+ htmlgraph/collections/spike.py,sha256=wpKht7ZWNNfDUjxUq9ZxY_x0xqpN_Gduf9uPZIqpKXM,3253
178
+ htmlgraph/collections/task_delegation.py,sha256=7XBIWtU68OEDKiQIQyiBxVNd85MH_8RV4bo1DRukPms,8005
179
+ htmlgraph/collections/todo.py,sha256=BDWsH3_F0gqytfz5m3DxS8QOEVBDGl6psbwhoqmxam4,15937
180
+ htmlgraph/collections/traces.py,sha256=QCAb_JVKwWy7pOmtuUN8xg3L7GRjKeszqeSLKsbxvqQ,16345
181
+ htmlgraph/config/cost_models.json,sha256=HJW_a2co-YQWTCVQ7F4_a0UdNM7eLt_KmhFiDp29M8s,1616
182
+ htmlgraph/cost_analysis/__init__.py,sha256=kuAA4Fd0gUplOWOiqs3CF4eO1wwekGs_3DaiFVqGNjg,148
183
+ htmlgraph/cost_analysis/analyzer.py,sha256=TDKgRXeOQ-td5LZhkFob4ajEf-JssSCGKlMS3GysYJU,15040
184
+ htmlgraph/db/__init__.py,sha256=1yWTyWrN2kcmW6mVKCUf4POSUXTOSaAljwEyyC0Xs1w,1033
185
+ htmlgraph/db/queries.py,sha256=FtqOIBJC0EociEYNJr6gTVROqd9m5yZdVGYLxXNVSdk,22608
186
+ htmlgraph/db/schema.py,sha256=aVo9jeYW_rgPv0JB5RpXm7ZdzOyljLfc3sJwuQRtrtU,69262
187
+ htmlgraph/docs/API_REFERENCE.md,sha256=LYsYeHinF6GEsjMvrgdQSbgmMPsOh4ZQ1WK11niqNvo,17862
188
+ htmlgraph/docs/HTTP_API.md,sha256=IrX-wZckFn-K3ztCVcT-zyGqJL2TtY1qYV7dUuC7kzc,13344
189
+ htmlgraph/docs/INTEGRATION_GUIDE.md,sha256=uNNM0ipY0bFAkZaL1CkvnA_Wt2MVPGRBdA4927cZaHo,16910
190
+ htmlgraph/docs/ORCHESTRATION_PATTERNS.md,sha256=anrxckfbWm3ob56RxoDe90iHHbbtqKPxgt2V8IHXXwY,16736
191
+ htmlgraph/docs/README.md,sha256=yiA93p2WPg_aoAACXuGOAWHB8lS14LwMMRD0Am6Vc6Q,12890
192
+ htmlgraph/docs/__init__.py,sha256=WlDS4y_DgpkoXQbJMucUjkCwyQs60t_QySI9m1CaMKU,2106
193
+ htmlgraph/docs/docs_version.py,sha256=4rXIhuhKv7VDGRlNtvWyB4zPboNGtcGfJjbf0yf1sI0,1475
194
+ htmlgraph/docs/metadata.py,sha256=sUlbIEqysXRma99a2KLSfJ-NqPYfz5p2pSj-s8wPblQ,2708
195
+ htmlgraph/docs/migrations.py,sha256=-kCWXOmilJKXCxe1LKob8sfVCQhcWambEa9asTCobKg,7248
196
+ htmlgraph/docs/template_engine.py,sha256=aRr7hUcCoXOPzZlxifmxNr3nImOvla-X3qYYWKfXDMw,4825
197
+ htmlgraph/docs/version_check.py,sha256=QNBt0yKjBplWkz081xZfaNKJ2GiWEm0RCvxthVBOfFg,4956
198
+ htmlgraph/docs/templates/base_agents.md.j2,sha256=s3qyWyx4XWkeeqmWGtnsK0AsDOhBA108Cc2lbA08VfE,1713
199
+ htmlgraph/docs/templates/example_user_override.md.j2,sha256=BYm_p9qP21hjAF7zwGfx1NU8PTlQ00yphk-leHsMHDY,1361
200
+ htmlgraph/docs/templates/_sections/cli_reference.md.j2,sha256=TItgng09Qxre2EdqXdq-R2RhS9IW5W7mis-vjpWGKA4,806
201
+ htmlgraph/docs/templates/_sections/core_concepts.md.j2,sha256=7kkyaKiKOqMg5NF_IIRxdDk5RGfq0vnRZd6ZBI5_mUE,738
202
+ htmlgraph/docs/templates/_sections/sdk_basics.md.j2,sha256=XEL90BQvTKa4xiWkCO96CT9ddp47IiBOoMDrpZOL2B0,1334
203
+ htmlgraph/extensions/gemini/GEMINI.md,sha256=fRUP-u1UmUTuRVbQ32sK3iYQAFYGYRyjU0W0_igT6GA,20462
204
+ htmlgraph/extensions/gemini/README.md,sha256=PDWQDi6IA8Jq6ZMrEn9jpLygbSjp41Chtl2wGSm5Y1c,7116
205
+ htmlgraph/extensions/gemini/gemini-extension.json,sha256=-CU-34hZkmw8gx-Tdojjuytf12LfArzCBMVFyc8X_Eo,493
206
+ htmlgraph/extensions/gemini/hooks/hooks.json,sha256=BHLoneQ61_8WixYGKbZVziRgv0sAtwhTfIMnTBwHPH4,875
207
+ htmlgraph/extensions/gemini/hooks/scripts/post-tool.sh,sha256=z8lUt5qoyLylwCVqNTVvhJdfRSM1gEhXwU0JYNmehYQ,871
208
+ htmlgraph/extensions/gemini/hooks/scripts/session-end.sh,sha256=yQzSKfxBzuMS-U_xcS_sbISrjQwnyM-E-KMu1LeRYAI,1095
209
+ htmlgraph/extensions/gemini/hooks/scripts/session-start.sh,sha256=thpCbfE8WD8huFU7mUMas-gWAk6BsHtYLaKlIHusNRg,2670
210
+ htmlgraph/hooks/__init__.py,sha256=FxVdnSYMNTjaKyOJ-euvyq9qYy5LZvGH5eIRqw0SpyQ,1071
211
+ htmlgraph/hooks/bootstrap.py,sha256=IiahOTOZolhIHF-yDfolmfT2kR5_EH_E9A7BBFKy2lI,5194
212
+ htmlgraph/hooks/cigs_pretool_enforcer.py,sha256=LC5y5IrKdTx2aq5ht5U7Tceq0k63-7EIWUaIjJ3vPoQ,12768
213
+ htmlgraph/hooks/concurrent_sessions.py,sha256=qOiwDfynphVG0-2pVBakEzOwMORU8ebN1gMjcN4S0z0,6476
214
+ htmlgraph/hooks/context.py,sha256=tJ4dIL8uTFHyqyuuMc-ETDuOikeD5cN3Mdjmfg6W0HE,13108
215
+ htmlgraph/hooks/drift_handler.py,sha256=UchkeVmjgI6J4NE4vKNTHsY6ZorvUHvp1FOfwTEY-Cs,17626
216
+ htmlgraph/hooks/event_tracker.py,sha256=Cx51c2VExLKWRlJCYYlnOItU9oGgj8gbceOHys00Tjs,51398
217
+ htmlgraph/hooks/git_commands.py,sha256=NPzthfzGJ_bkDi7soehHOxI9FLL-6BL8Tie9Byb_zf4,4803
218
+ htmlgraph/hooks/hooks-config.example.json,sha256=tXpk-U-FZzGOoNJK2uiDMbIHCYEHA794J-El0fBwkqg,197
219
+ htmlgraph/hooks/installer.py,sha256=NdZHOER7DHFyZYXiZIS-CgLt1ZUxJ4O4ju8HcPjJajs,11816
220
+ htmlgraph/hooks/orchestrator.py,sha256=MrgJ2yqDyjWnMMH1uC-GHnjU_KB_Gaf_seopJ0Bo9VU,25488
221
+ htmlgraph/hooks/orchestrator_reflector.py,sha256=x1QggzOgTaM56o1k1GfVtLMdUDoG2U6hnJBMTFun3_U,5775
222
+ htmlgraph/hooks/post-checkout.sh,sha256=Hsr5hqD54jisGbtqf7-Z-G_b6XNGcee_CZRYaKYzWzU,615
223
+ htmlgraph/hooks/post-commit.sh,sha256=if65jNGZnEWsZPq_iYDNYunrZ1cmjPUEUbh6_4vfpOE,511
224
+ htmlgraph/hooks/post-merge.sh,sha256=gq-EeFLhDUVp-J2jyWMBVFcB0pdmH54Wu1SW_Gn-s2I,541
225
+ htmlgraph/hooks/post_tool_use_failure.py,sha256=NIxrFES9wnn4Po3kG7GyuuIK7xR8YCxS9Qzcun9QVZ0,8411
226
+ htmlgraph/hooks/post_tool_use_handler.py,sha256=e0L8X4sU2H167HH96CgV6iYojd02AI9uyF8m4A1a-kU,8345
227
+ htmlgraph/hooks/posttooluse.py,sha256=DEZqGMiSAMijHd_W1BQ9WplSKu-kSj3WZ1DjudPUZSs,12876
228
+ htmlgraph/hooks/pre-commit.sh,sha256=gTpbnHIBFxpAl7-REhXoS0NI4Pmlqo9pQEMEngTAU_A,3865
229
+ htmlgraph/hooks/pre-push.sh,sha256=rNnkG8YmDtyk7OuJHOcbOYQR3MYFneaG6_w2X-Hl8Hs,660
230
+ htmlgraph/hooks/pretooluse.py,sha256=5mW-hMmJZlFvahDfA9yCfPrtaN6yAlWTOchirE-zZdU,27327
231
+ htmlgraph/hooks/prompt_analyzer.py,sha256=icvcF58SoYgCl-6V9OvY3dacptfyKtb95Gg6P_DoKd0,22834
232
+ htmlgraph/hooks/session_handler.py,sha256=dQJCiK14-YkRc7poDgChZxb_rOr8Hhb0uqp0VnV2Z-U,21695
233
+ htmlgraph/hooks/session_summary.py,sha256=YU5TF_eVbmQ3y3BS31XlLBGHjayJTd0LX2qds1myzmA,13093
234
+ htmlgraph/hooks/state_manager.py,sha256=ni86zHChSqzlr2CnDoTDwJ9a_zbNqRlPIdQkhLIUEKQ,17645
235
+ htmlgraph/hooks/subagent_detection.py,sha256=SQBksApkGniCnsf8_l3TNoH9l9Kvc50ruKGc3y3wtN0,5737
236
+ htmlgraph/hooks/subagent_stop.py,sha256=Gk2ppJaJnnsIRU1MYF5FjcTjAXo4DtrpxVgueEwp_ac,11031
237
+ htmlgraph/hooks/task_enforcer.py,sha256=eXaQaNibUu1ty78t9M46h0Hhw2M1Fi1lnqCpUdsBZ9Y,7927
238
+ htmlgraph/hooks/task_validator.py,sha256=GwEoqL2lptPWQqckkfl0N-Auc7TtHiyRlOf6p7HcoIo,5438
239
+ htmlgraph/hooks/validator.py,sha256=YRlrMgVuLZ5hLf_brmxqP6fN2pBP1MQ5WbeRbNLm1CI,21623
240
+ htmlgraph/hooks/.htmlgraph/.session-warning-state.json,sha256=OObGccZbNWU1jTdy9VVujOce8TDtk4dX0WwEDl3xVYc,93
241
+ htmlgraph/hooks/.htmlgraph/agents.json,sha256=XDPzwtJlfynbzbWmGSUa2YcgU6ovkre5DbrEZziQkGw,1391
242
+ htmlgraph/hooks/.htmlgraph/index.sqlite,sha256=dYFnI36g5ddfVH2gKiQu2CV7gBAZO2EgfVkRtlGEYlg,225280
243
+ htmlgraph/operations/README.md,sha256=5h0P-aZ3po3h_7mUpuh7jJwOL-NEvtlBlPCbqzvLrIE,1730
244
+ htmlgraph/operations/__init__.py,sha256=4zLoc3b6dhXVjh3OGTvHrulioc3jCxR3nBef0N5g1p8,1687
245
+ htmlgraph/operations/analytics.py,sha256=4BACBmmPqrjxzjIdu-HHo31JeGCk03Po7o3vLytv9No,11584
246
+ htmlgraph/operations/bootstrap.py,sha256=PK0DNw7Mop-B9tE7yBEJYw-KDyCz2AYsbfGHMVsyg6s,8163
247
+ htmlgraph/operations/events.py,sha256=LIMn16qfgwolf8L7DIzBbqivxP-kLrHdzEz4y4a50_U,6843
248
+ htmlgraph/operations/fastapi_server.py,sha256=ITHX4clotCHNiLjfNfLw3KYUMfVKKIukPypJZdQ_6OU,5802
249
+ htmlgraph/operations/hooks.py,sha256=SlZcEtLPIysVmBPtO2bV-z3CnBx_mmYT5ia9R5bdGZw,10038
250
+ htmlgraph/operations/initialization.py,sha256=aOUVB0YULVlRzkqXQKY3GT_PWX51H9QRPvhwTIMZ1t0,17059
251
+ htmlgraph/operations/initialization.py.backup,sha256=U0ZibrAUFMgx8fhD_6rh-Ifve9e0eUDK8a-IxQ9i3Is,7067
252
+ htmlgraph/operations/server.py,sha256=ls3_3ULB2ktFN0WNbJrVCvWRPrzXpQuNuNy76tbyTI8,8747
253
+ htmlgraph/orchestration/__init__.py,sha256=udK-EtJ49wONOWc8S0pkZn40q9Io8BjB45xkC7AO4nY,1337
254
+ htmlgraph/orchestration/claude_launcher.py,sha256=9RnkyvnYzGWeGaZQ5zRgWeZ_kB6lKKZ-LO4_i2VL14I,6219
255
+ htmlgraph/orchestration/command_builder.py,sha256=kaUWqDdlUjnWg1xln878fgJh7KCs-dYts7HcodwFznU,1980
256
+ htmlgraph/orchestration/headless_spawner.py,sha256=3rRguOTVzKRhU3_savIL5vOuW2KkkJ0CUol3opMP7-Y,10800
257
+ htmlgraph/orchestration/live_events.py,sha256=aaa-svW1-SWAqs4ZZcv3VRVRx3xpZydsdi2nv9xNeu8,12198
258
+ htmlgraph/orchestration/model_selection.py,sha256=OJvhEP6TFGrp1n-dr9SCRJU2t1Znho81K5fcq6UmujY,11401
259
+ htmlgraph/orchestration/plugin_manager.py,sha256=dEqfQgA2g9LCsc7aCLbnHn8fgLsJw2JFvak5qVls4Hs,4886
260
+ htmlgraph/orchestration/prompts.py,sha256=e7XsrCe1Yi68sH9l53TlbAcBQ1AlcEeC3Xjin7Xs4G0,5328
261
+ htmlgraph/orchestration/spawner_event_tracker.py,sha256=E8JV5UqJI4UrqeS2bK9W03G3l8ApduxcKv7l6i7ifyo,12414
262
+ htmlgraph/orchestration/subprocess_runner.py,sha256=XCA1ZM2SnZKdDjfeSa9XWD4aUrJlnto9jFR1e_ZzYFI,966
263
+ htmlgraph/orchestration/task_coordination.py,sha256=lG1gRMcrlke__9XMRfpTBHMF9ZHLv6fMw2s4H6w2_hM,9888
264
+ htmlgraph/orchestration/spawners/__init__.py,sha256=nuvTno5ocWQvqGRcw5K6MQDUTk4M74Q8DzNMpuEZQ3A,372
265
+ htmlgraph/orchestration/spawners/base.py,sha256=BRs97QSSJSB1r0dzpoNMYwEQTtiTcS6Kb7B86gAKmDI,6925
266
+ htmlgraph/orchestration/spawners/claude.py,sha256=UMKOn8cF47a0hYth04aYnEekMS9gw4wOx-21kRyO69M,6097
267
+ htmlgraph/orchestration/spawners/codex.py,sha256=phg-VFVpEJ2VEyP3mmGTg-22NBPwTCr-uIenEPWfbTU,15802
268
+ htmlgraph/orchestration/spawners/copilot.py,sha256=A8itwrFCaibO9oq3Ltsg1ER71Sy9B7ibtBmj1SKULD0,10340
269
+ htmlgraph/orchestration/spawners/gemini.py,sha256=x7QRZ9oaHtON8YA3rLxmcfNwIr-eBO3EJtJBtwUH99U,18951
270
+ htmlgraph/repositories/__init__.py,sha256=vALVWTSETpt7XWQzW18JXtGPjNFNKvByQpgs66kHum4,7626
271
+ htmlgraph/repositories/analytics_repository.py,sha256=H79tYp0mK9OR6_7GGkM3s9ksxuuKkJc3pz03e8sZ1Bo,13681
272
+ htmlgraph/repositories/analytics_repository_standard.py,sha256=14XPrKulHN98GNW0TofMJg1eMYLip21RPeUhk1gzX48,20448
273
+ htmlgraph/repositories/feature_repository.py,sha256=Q3d-mT2YQBMJB0AqyHS7ig5R6NHk4j7OEv44OZIT04U,15895
274
+ htmlgraph/repositories/feature_repository_htmlfile.py,sha256=FZvIr2qAATRjPwKwSrI5cPmrSNDSP_ErjY1Cf7zwJVo,19994
275
+ htmlgraph/repositories/feature_repository_memory.py,sha256=B93b0GraNb2X4j0_8nlWVuHNS53aL5pE12D-dqVX9gI,17248
276
+ htmlgraph/repositories/feature_repository_sqlite.py,sha256=CTRoyb4M9lsLsPB1wy_F7XdJTvhyB_6JlormMEmKLaU,26401
277
+ htmlgraph/repositories/filter_service.py,sha256=68FekrPOmu81CUjHIMxIf5mHBVus4OOSI2suBq60-j4,17113
278
+ htmlgraph/repositories/filter_service_standard.py,sha256=gHYeWkx6WHJYSEzHargTELSZhI3SReroIhG1rrK24dw,15422
279
+ htmlgraph/repositories/shared_cache.py,sha256=1xio6iY79Z5VV0zLi3smoL23-6jdCSJcpBJ4Li81W_o,16468
280
+ htmlgraph/repositories/shared_cache_memory.py,sha256=EEv_rW1LQ207Z5swpgTuO4r__yITxd3GvyAv9YplP0I,13079
281
+ htmlgraph/repositories/track_repository.py,sha256=HLwi8d_cFwWSwE4f3KMBsqFjjpCktxQPEICEiwPdNtg,14959
282
+ htmlgraph/repositories/track_repository_htmlfile.py,sha256=9AeBalUvCe47KANjFGkQgfRZFlhVY__EpxYUEiNM5J0,18065
283
+ htmlgraph/repositories/track_repository_memory.py,sha256=KFbo3rJDEGCa-kWqR7U7ULx80WN--zpIWPNRyrLb8yE,14180
284
+ htmlgraph/repositories/track_repository_sqlite.py,sha256=72Xy3nttrz1bQ6-UDgBNuMFstjLgLO7WF_SOr4kaRtc,20881
285
+ htmlgraph/scripts/__init__.py,sha256=a_ef7jnypTH3fzjutKYtUquJospdbA6IOR4o9dgv8Gk,48
286
+ htmlgraph/scripts/deploy.py,sha256=TAdUvnHRuWHgoyUgif8Eln-aY9JWLbXAhkMpzQ1kC9A,4191
287
+ htmlgraph/sdk/__init__.py,sha256=46lfnkdtj8A7Sr_gg0N7v_kwlCHUqEzx58lyJJaEL3Y,14656
288
+ htmlgraph/sdk/__init__.pyi,sha256=Xpe64vXTg7XzURXoP6sPexsHSvdJR5pKVgp8ptLPcMU,495
289
+ htmlgraph/sdk/base.py,sha256=aw4rz6iykefHs2rLMsYlEXzmnV8Dvtz554oA5xDVwLA,17124
290
+ htmlgraph/sdk/constants.py,sha256=puZ-QPk9OWI9JgNca9kEldu1O9CN6dVjF0q7F-l4USs,6467
291
+ htmlgraph/sdk/core.pyi,sha256=Kk5kAS--qwqsnzszFNB3MIlrnQ1fXIhjDkuNUjJlt8g,9793
292
+ htmlgraph/sdk/discovery.py,sha256=4CT6D3AY2ydFgUtYkJyDyhE4gOMcC3AWzzv3NicdyMY,3181
293
+ htmlgraph/sdk/analytics/__init__.py,sha256=cPx54IQZrmREHE-p69R4ZlhsxJMS7Wr23HmLCSzEXvU,526
294
+ htmlgraph/sdk/analytics/engine.py,sha256=T3PW7PHZH5D1bRtUfEqLVYohBYz-wV7pUDLu-72AB9I,4970
295
+ htmlgraph/sdk/analytics/helpers.py,sha256=pK0t7Io3NmBqI68rpgP0oFhOsS6vNJ5A0l072GK_bOU,5423
296
+ htmlgraph/sdk/analytics/registry.py,sha256=0PvlW7UsSHMFHwJuMzFNmWLgvUmPvxPI15078p78kDc,3053
297
+ htmlgraph/sdk/help/__init__.py,sha256=og_kVx7j7XepFa9IAEMSrzmepYGsJUiqRJ95Zfa-1SU,201
298
+ htmlgraph/sdk/help/mixin.py,sha256=s3Vbw449otF3moy7NK4di25_ZPY6uRG4f5uERyYt5v8,21454
299
+ htmlgraph/sdk/mixins/__init__.py,sha256=IziHuV8N1sz65xYTO12JvdkGgP-5yDx8hjMTN6MY_GI,377
300
+ htmlgraph/sdk/mixins/attribution.py,sha256=SA1k8ccF2ZIKcTPyzaeB3h4OKE0YGQJq9BvnsgsC0z8,4048
301
+ htmlgraph/sdk/mixins/mixin.py,sha256=sOSjY7tNkYQOIKkpmu1tDDy74Ci-_8OJsvt-QJQW6O4,13472
302
+ htmlgraph/sdk/operations/__init__.py,sha256=HxULDCxJz9jFFyzEfavgrMuwDZqEVMOFIzYzWDPfo8E,235
303
+ htmlgraph/sdk/operations/mixin.py,sha256=65w5ftLxdbn4U3i2hZhrsOosB4I5lcx-9Ts3LTMAYYQ,14338
304
+ htmlgraph/sdk/orchestration/__init__.py,sha256=cSYuiXEs1gedLgLTqPM5IkmGxQchReukjazklxpCi1A,442
305
+ htmlgraph/sdk/orchestration/coordinator.py,sha256=LcsCsraLkzV0uedCkCvCC2vJDDM9v9N9_tYfVH548uA,6771
306
+ htmlgraph/sdk/orchestration/spawner.py,sha256=Ei9-4qv7iSdoiJfRrkqHesSGmf6hVt9FYIGHKAI-YCg,7783
307
+ htmlgraph/sdk/planning/__init__.py,sha256=FDH6ueaSxvV8gSmY2AJXFGNrpM6nIx9c7YsWWGNhNHY,415
308
+ htmlgraph/sdk/planning/bottlenecks.py,sha256=nzQj4kSAuL-XFOREBKdmkz2IhcKSS6CCDGyQJQ__GN4,2896
309
+ htmlgraph/sdk/planning/mixin.py,sha256=DVGvvRQFCW91efCtshtts_sIqwBbqCxdgQR5lEc1KV0,7175
310
+ htmlgraph/sdk/planning/parallel.py,sha256=pR04ujwSA4r324XHIeQk664fxpJ4pDaKLU9Cvlj5aTo,5918
311
+ htmlgraph/sdk/planning/queue.py,sha256=kFQKkV4oUrqxRlH961z0pESlPxGrS_OSh6Yyha86MF8,6937
312
+ htmlgraph/sdk/planning/recommendations.py,sha256=NFHdEdTxGkUBbAmDjlSTkmOL4otVhSVQCXb9SMbzcxs,2663
313
+ htmlgraph/sdk/planning/smart_planning.py,sha256=VLmdx4rgGdhTFCoCEFuNxoVrOjyeBGZX8riisolSEbM,10994
314
+ htmlgraph/sdk/session/__init__.py,sha256=oxce0bH6k1NoRd7ARl1XxLdyqu73D4ngjEusu48BIp0,537
315
+ htmlgraph/sdk/session/continuity.py,sha256=f3z1ueSZpoulUtgLYaHQzerCG5BMeCgcBSsXEMdZtiM,1645
316
+ htmlgraph/sdk/session/handoff.py,sha256=RuePjej8OlA2oZTVAhOhRgP_3nLHNiUsUDquoNPHomk,3545
317
+ htmlgraph/sdk/session/info.py,sha256=_mjpJ4rws1IvyxDnyJHG_OaKjNfBzHNGy4t8NOEfKnE,12541
318
+ htmlgraph/sdk/session/manager.py,sha256=-r4jxxiQBo7Q8KXUma8Uu4fE-PL7Tkts9GmXMhyZ-0g,3208
319
+ htmlgraph/sdk/strategic/__init__.py,sha256=9fbxeF9loQl5LMgPBRjBspJBKmfVfBIig2MXbnaYsRw,667
320
+ htmlgraph/sdk/strategic/mixin.py,sha256=V8slXzg0UFRb11i1S2VfBQBD6ATI583c_1cuHHBTyHY,17586
321
+ htmlgraph/services/__init__.py,sha256=Cy-4RI7raV4jd2Vfc5Zya0VTgV0x9LNt32h9DhYVGkI,282
322
+ htmlgraph/services/claiming.py,sha256=HcrltEJKN72mxuD7fGuXWeh1U0vwhjMvhZcFc02EiyU,6071
323
+ htmlgraph/sessions/__init__.py,sha256=58XJkCNtksEalKFhQsovzyewQlI6hrPKXzQOuEuMDy4,429
324
+ htmlgraph/sessions/handoff.py,sha256=YqSVtVwQp99Zcnq5jlbsDaWmTKv8NpLPdouXVJ96RaI,21880
325
+ htmlgraph/templates/AGENTS.md.template,sha256=f96h7V6ygwj-v-fanVI48eYMxR6t_se4bet1H4ZsDpI,7642
326
+ htmlgraph/templates/CLAUDE.md.template,sha256=h1kG2hTX2XYig2KszsHBfzrwa_4Cfcq2Pj4SwqzeDlM,1984
327
+ htmlgraph/templates/GEMINI.md.template,sha256=gAGzE53Avki87BM_otqy5HdcYCoLsHgqaKjVzNzPMX8,1622
328
+ htmlgraph/templates/orchestration-view.html,sha256=DlS7LlcjH0oO_KYILjuF1X42t8QhKLH4F85rkO54alY,10472
329
+ htmlgraph-0.27.5.data/data/htmlgraph/dashboard.html,sha256=MUT6SaYnazoyDcvHz5hN1omYswyIoUfeoZLf2M_iblo,251268
330
+ htmlgraph-0.27.5.data/data/htmlgraph/styles.css,sha256=oDUSC8jG-V-hKojOBO9J88hxAeY2wJrBYTq0uCwX_Y4,7135
331
+ htmlgraph-0.27.5.data/data/htmlgraph/templates/AGENTS.md.template,sha256=f96h7V6ygwj-v-fanVI48eYMxR6t_se4bet1H4ZsDpI,7642
332
+ htmlgraph-0.27.5.data/data/htmlgraph/templates/CLAUDE.md.template,sha256=h1kG2hTX2XYig2KszsHBfzrwa_4Cfcq2Pj4SwqzeDlM,1984
333
+ htmlgraph-0.27.5.data/data/htmlgraph/templates/GEMINI.md.template,sha256=gAGzE53Avki87BM_otqy5HdcYCoLsHgqaKjVzNzPMX8,1622
334
+ htmlgraph-0.27.5.dist-info/METADATA,sha256=XlSfNopw2KFn9rf5w71_ZVin9Wh4CbLWyZn3uhLYsm8,10220
335
+ htmlgraph-0.27.5.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
336
+ htmlgraph-0.27.5.dist-info/entry_points.txt,sha256=Wmdo5cx8pt6NoMsssVE2mZH1CZLSUsrg_3iSWatiyn0,103
337
+ htmlgraph-0.27.5.dist-info/RECORD,,
@@ -1,3 +1,3 @@
1
1
  [console_scripts]
2
- htmlgraph = htmlgraph.cli:main
2
+ htmlgraph = htmlgraph.cli.main:main
3
3
  htmlgraph-deploy = htmlgraph.scripts.deploy:main