htmlgraph 0.27.5__py3-none-any.whl → 0.27.7__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.
@@ -2801,3 +2801,73 @@ class SessionManager:
2801
2801
  "has_thinking_traces": transcript.has_thinking_traces(),
2802
2802
  "entry_count": len(transcript.entries),
2803
2803
  }
2804
+
2805
+ # =========================================================================
2806
+ # Session Context Builder - Delegates to SessionContextBuilder
2807
+ # =========================================================================
2808
+
2809
+ def get_version_status(self) -> dict[str, Any]:
2810
+ """
2811
+ Check installed htmlgraph version against latest on PyPI.
2812
+
2813
+ Returns:
2814
+ Dict with installed_version, latest_version, is_outdated
2815
+ """
2816
+ from htmlgraph.session_context import VersionChecker
2817
+
2818
+ return VersionChecker.get_version_status()
2819
+
2820
+ def initialize_git_hooks(self, project_dir: str | Path) -> bool:
2821
+ """
2822
+ Install pre-commit hooks if not already installed.
2823
+
2824
+ Args:
2825
+ project_dir: Path to the project root
2826
+
2827
+ Returns:
2828
+ True if hooks were installed or already exist
2829
+ """
2830
+ from htmlgraph.session_context import GitHooksInstaller
2831
+
2832
+ return GitHooksInstaller.install(project_dir)
2833
+
2834
+ def get_start_context(
2835
+ self,
2836
+ session_id: str,
2837
+ project_dir: str | Path | None = None,
2838
+ compute_async: bool = True,
2839
+ ) -> str:
2840
+ """
2841
+ Build complete session start context for AI agents.
2842
+
2843
+ This is the primary method for generating the full context string
2844
+ that gets injected via additionalContext in the SessionStart hook.
2845
+
2846
+ Args:
2847
+ session_id: Current session ID
2848
+ project_dir: Project root directory (uses graph_dir parent if not provided)
2849
+ compute_async: Use parallel async operations for performance
2850
+
2851
+ Returns:
2852
+ Complete formatted Markdown context string
2853
+ """
2854
+ from htmlgraph.session_context import SessionContextBuilder
2855
+
2856
+ if project_dir is None:
2857
+ project_dir = self.graph_dir.parent
2858
+
2859
+ builder = SessionContextBuilder(self.graph_dir, project_dir)
2860
+ return builder.build(session_id=session_id, compute_async=compute_async)
2861
+
2862
+ def detect_feature_conflicts(self) -> list[dict[str, Any]]:
2863
+ """
2864
+ Detect features being worked on by multiple agents simultaneously.
2865
+
2866
+ Returns:
2867
+ List of conflict dicts with feature_id, title, agents
2868
+ """
2869
+ from htmlgraph.session_context import SessionContextBuilder
2870
+
2871
+ project_dir = self.graph_dir.parent
2872
+ builder = SessionContextBuilder(self.graph_dir, project_dir)
2873
+ return builder.detect_feature_conflicts()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: htmlgraph
3
- Version: 0.27.5
3
+ Version: 0.27.7
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
@@ -1,4 +1,4 @@
1
- htmlgraph/__init__.py,sha256=5x_TBmDD1tk9cItVrpdeXoABkAAjOs4f5e-O3qQ3X90,6407
1
+ htmlgraph/__init__.py,sha256=O3v_6OP4BONmloso2OFOPCxHy3DvAP4UcTNCvxXcwKs,6595
2
2
  htmlgraph/__init__.pyi,sha256=8JuFVuDll9jMx9s8ZQHt2tXic-geOJHiXUMB2YjmHhU,6683
3
3
  htmlgraph/agent_detection.py,sha256=wEmrDv4hssPX2OkEnJZBHPbalxcaloiJF_hOOow_5WE,3511
4
4
  htmlgraph/agent_registry.py,sha256=80TPYr4P0YMizPUbTH4N5wH6D84IKs-HPBLHGeeP6bY,9449
@@ -54,8 +54,9 @@ htmlgraph/refs.py,sha256=jgsPWRTfPDxhH_dr4EeYdU1ly-e3HpuHgAPnMXMbaF4,10011
54
54
  htmlgraph/repo_hash.py,sha256=wYQlgYf0W1LfU95PA6vViA-MlUxA6ry_xDh7kyCB4v4,14888
55
55
  htmlgraph/routing.py,sha256=QYDY6bzYPmv6kocAXCqguB1cazN0i_xTo9EVCO3fO2Y,8803
56
56
  htmlgraph/server.py,sha256=BZcUM9sfGQzS0PyFOvl5_f4MP9-8C4E8tp77VcanwLM,56211
57
+ htmlgraph/session_context.py,sha256=4XsywYg4-J7ct9B-z3mnbkIUvyD_K389Y73yh5AxBWQ,57007
57
58
  htmlgraph/session_hooks.py,sha256=AOjpPMZo2s_d_KXuPiWDo8TIOdkXsEU0CoOHd4G5A10,9195
58
- htmlgraph/session_manager.py,sha256=Bf7l0H67t6mo-ogoPFdz2XxBDxfJrh02wIx4rSOtFM8,98630
59
+ htmlgraph/session_manager.py,sha256=X-xm9JvfbMt2V2dI9I_lgiosqTV7YnHTLXlwy7F7FZw,101084
59
60
  htmlgraph/session_registry.py,sha256=xF6VaFp3tE9LA8PXXnaIs2PKZxMOktxRUJJ7vCs0Mcs,18725
60
61
  htmlgraph/session_state.py,sha256=2UcgQNzwBjHkVuGxrAGfHkODopqDexU4wjy9qXKcQIk,15245
61
62
  htmlgraph/session_warning.py,sha256=XPT2Cbg6YRNNhw7NpM8aAp5ny-qfCsYY86DURL_eAPc,7878
@@ -300,7 +301,7 @@ htmlgraph/sdk/mixins/__init__.py,sha256=IziHuV8N1sz65xYTO12JvdkGgP-5yDx8hjMTN6MY
300
301
  htmlgraph/sdk/mixins/attribution.py,sha256=SA1k8ccF2ZIKcTPyzaeB3h4OKE0YGQJq9BvnsgsC0z8,4048
301
302
  htmlgraph/sdk/mixins/mixin.py,sha256=sOSjY7tNkYQOIKkpmu1tDDy74Ci-_8OJsvt-QJQW6O4,13472
302
303
  htmlgraph/sdk/operations/__init__.py,sha256=HxULDCxJz9jFFyzEfavgrMuwDZqEVMOFIzYzWDPfo8E,235
303
- htmlgraph/sdk/operations/mixin.py,sha256=65w5ftLxdbn4U3i2hZhrsOosB4I5lcx-9Ts3LTMAYYQ,14338
304
+ htmlgraph/sdk/operations/mixin.py,sha256=0f2uySxZB-V9sjBOabrShL04zWBn-Std7IEmJfy3uWs,16124
304
305
  htmlgraph/sdk/orchestration/__init__.py,sha256=cSYuiXEs1gedLgLTqPM5IkmGxQchReukjazklxpCi1A,442
305
306
  htmlgraph/sdk/orchestration/coordinator.py,sha256=LcsCsraLkzV0uedCkCvCC2vJDDM9v9N9_tYfVH548uA,6771
306
307
  htmlgraph/sdk/orchestration/spawner.py,sha256=Ei9-4qv7iSdoiJfRrkqHesSGmf6hVt9FYIGHKAI-YCg,7783
@@ -326,12 +327,12 @@ htmlgraph/templates/AGENTS.md.template,sha256=f96h7V6ygwj-v-fanVI48eYMxR6t_se4be
326
327
  htmlgraph/templates/CLAUDE.md.template,sha256=h1kG2hTX2XYig2KszsHBfzrwa_4Cfcq2Pj4SwqzeDlM,1984
327
328
  htmlgraph/templates/GEMINI.md.template,sha256=gAGzE53Avki87BM_otqy5HdcYCoLsHgqaKjVzNzPMX8,1622
328
329
  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,,
330
+ htmlgraph-0.27.7.data/data/htmlgraph/dashboard.html,sha256=MUT6SaYnazoyDcvHz5hN1omYswyIoUfeoZLf2M_iblo,251268
331
+ htmlgraph-0.27.7.data/data/htmlgraph/styles.css,sha256=oDUSC8jG-V-hKojOBO9J88hxAeY2wJrBYTq0uCwX_Y4,7135
332
+ htmlgraph-0.27.7.data/data/htmlgraph/templates/AGENTS.md.template,sha256=f96h7V6ygwj-v-fanVI48eYMxR6t_se4bet1H4ZsDpI,7642
333
+ htmlgraph-0.27.7.data/data/htmlgraph/templates/CLAUDE.md.template,sha256=h1kG2hTX2XYig2KszsHBfzrwa_4Cfcq2Pj4SwqzeDlM,1984
334
+ htmlgraph-0.27.7.data/data/htmlgraph/templates/GEMINI.md.template,sha256=gAGzE53Avki87BM_otqy5HdcYCoLsHgqaKjVzNzPMX8,1622
335
+ htmlgraph-0.27.7.dist-info/METADATA,sha256=KZ0Sgub8ZW_BeX0WxY3l7vFzf3L_kOEjfSMtfybjGtM,10220
336
+ htmlgraph-0.27.7.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
337
+ htmlgraph-0.27.7.dist-info/entry_points.txt,sha256=Wmdo5cx8pt6NoMsssVE2mZH1CZLSUsrg_3iSWatiyn0,103
338
+ htmlgraph-0.27.7.dist-info/RECORD,,