htmlgraph 0.20.3__tar.gz → 0.20.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.
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/PKG-INFO +1 -1
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/packages/gemini-extension/gemini-extension.json +1 -1
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/pyproject.toml +1 -1
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/__init__.py +1 -1
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/cli.py +71 -1
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/track_manager.py +38 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/.gitignore +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/README.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/agent-coordination/README.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/agent-coordination/demo.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/create_auth_track_demo.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/create_htmlgraph_dev_track.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/documentation-site/README.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/documentation-site/agents.json +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/documentation-site/demo.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/documentation-site/features/doc-api-graph.html +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/documentation-site/features/doc-api-overview.html +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/documentation-site/features/doc-api-sdk.html +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/documentation-site/features/doc-example-advanced.html +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/documentation-site/features/doc-example-basic.html +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/documentation-site/features/doc-index.html +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/documentation-site/features/doc-installation.html +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/documentation-site/features/doc-quickstart.html +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/handoff-demo.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/knowledge-base/README.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/knowledge-base/agents.json +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/knowledge-base/demo.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/knowledge-base/features/feat-276c615f.html +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/knowledge-base/features/feat-7a6f797d.html +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/knowledge-base/features/note-ai-agents.html +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/knowledge-base/features/note-graph-db.html +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/knowledge-base/features/note-htmlgraph.html +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/knowledge-base/features/note-web-standards.html +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/parallel_task_coordination.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/routing-demo.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/sdk_demo.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/todo-list/README.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/todo-list/demo.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/todo-list/index.html +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/todo-list/styles.css +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/todo-list/task-001.html +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/todo-list/task-002.html +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/todo-list/task-003.html +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/todo-list/task-004.html +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/todo-list/task-005.html +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/todo-list/task-006.html +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/packages/gemini-extension/GEMINI.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/packages/gemini-extension/README.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/packages/gemini-extension/command_deploy.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/packages/gemini-extension/command_end.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/packages/gemini-extension/command_feature-add.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/packages/gemini-extension/command_feature-complete.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/packages/gemini-extension/command_feature-primary.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/packages/gemini-extension/command_feature-start.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/packages/gemini-extension/command_git-commit.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/packages/gemini-extension/command_help.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/packages/gemini-extension/command_init.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/packages/gemini-extension/command_plan.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/packages/gemini-extension/command_recommend.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/packages/gemini-extension/command_serve.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/packages/gemini-extension/command_spike.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/packages/gemini-extension/command_start.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/packages/gemini-extension/command_status.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/packages/gemini-extension/command_track.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/packages/gemini-extension/hooks/hooks.json +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/packages/gemini-extension/hooks/scripts/post-tool.sh +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/packages/gemini-extension/hooks/scripts/session-end.sh +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/packages/gemini-extension/hooks/scripts/session-start.sh +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/js/htmlgraph.js +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/agent_detection.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/agent_registry.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/agents.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/analytics/__init__.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/analytics/cli.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/analytics/dependency.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/analytics/work_type.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/analytics_index.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/attribute_index.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/builders/__init__.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/builders/base.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/builders/bug.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/builders/chore.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/builders/epic.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/builders/feature.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/builders/insight.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/builders/metric.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/builders/pattern.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/builders/phase.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/builders/spike.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/builders/track.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/collections/__init__.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/collections/base.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/collections/bug.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/collections/chore.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/collections/epic.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/collections/feature.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/collections/insight.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/collections/metric.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/collections/pattern.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/collections/phase.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/collections/spike.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/collections/todo.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/context_analytics.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/converter.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/dashboard.html +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/dependency_models.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/deploy.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/deployment_models.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/edge_index.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/event_log.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/event_migration.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/exceptions.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/extensions/gemini/GEMINI.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/extensions/gemini/README.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/extensions/gemini/gemini-extension.json +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/extensions/gemini/hooks/hooks.json +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/extensions/gemini/hooks/scripts/post-tool.sh +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/extensions/gemini/hooks/scripts/session-end.sh +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/extensions/gemini/hooks/scripts/session-start.sh +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/file_watcher.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/find_api.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/git_events.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/graph.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/hooks/__init__.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/hooks/event_tracker.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/hooks/hooks-config.example.json +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/hooks/installer.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/hooks/orchestrator.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/hooks/orchestrator_reflector.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/hooks/post-checkout.sh +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/hooks/post-commit.sh +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/hooks/post-merge.sh +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/hooks/post_tool_use_failure.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/hooks/posttooluse.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/hooks/pre-commit.sh +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/hooks/pre-push.sh +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/hooks/pretooluse.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/hooks/task_enforcer.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/hooks/task_validator.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/hooks/validator.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/ids.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/index.d.ts +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/learning.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/mcp_server.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/models.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/orchestration.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/orchestrator.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/orchestrator_mode.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/orchestrator_validator.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/parallel.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/parser.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/planning.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/query_builder.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/routing.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/scripts/__init__.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/scripts/deploy.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/sdk.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/server.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/services/__init__.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/services/claiming.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/session_manager.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/session_warning.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/setup.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/spike_index.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/styles.css +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/sync_docs.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/templates/AGENTS.md.template +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/templates/CLAUDE.md.template +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/templates/GEMINI.md.template +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/track_builder.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/transcript.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/transcript_analytics.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/types.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/watch.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/work_type_utils.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/benchmarks/README.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/benchmarks/__init__.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/benchmarks/bench_graph.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/benchmarks/conftest.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/integration/test_deployment_workflow.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/integration/test_handoff_routing.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/integration/test_multi_agent_coordination.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/js/README.md +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/js/test_htmlgraph.html +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/__init__.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_agent_detection.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_analytics.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_auto_spike.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_claiming.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_cli_commands.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_collection_filter.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_cross_agent_attribution.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_dashboard_ui.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_delete.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_deploy.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_drift_parent_activity.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_drift_queue_cleanup.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_edge_index.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_event_index.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_event_query.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_find_api.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_git_events.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_graph_traversal.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_handoff.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_ids.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_install_hooks.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_lifecycle.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_mcp_server.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_mcp_stdio_transport.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_models.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_orchestration.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_orchestrator_circuit_breaker.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_orchestrator_cli.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_orchestrator_enforce_hook.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_orchestrator_mode.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_post_tool_use_failure.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_pre_work_validation_integration.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_query_builder.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_query_cache.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_query_compilation.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_routing.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_sdk_discoverability.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_sdk_get_active_work_item.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_session_cleanup.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_session_continuity.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_session_start_info_validation.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_system_overhead_drift.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_todo_collection.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_track_loading.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_transcript_linking.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_update_preserves_incoming_edges.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_validate_work_hook.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_work_queue.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/python/test_work_type.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/test_agent_routing.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/test_deployment_models.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/test_orchestrator_validator.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/test_transaction_snapshot.py +0 -0
- {htmlgraph-0.20.3 → htmlgraph-0.20.4}/tests/test_transcript.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: htmlgraph
|
|
3
|
-
Version: 0.20.
|
|
3
|
+
Version: 0.20.4
|
|
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,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "htmlgraph",
|
|
3
|
-
"version": "0.20.
|
|
3
|
+
"version": "0.20.4",
|
|
4
4
|
"description": "HtmlGraph session tracking and documentation for Gemini CLI. Ensures proper activity attribution, feature awareness, and continuous work tracking.",
|
|
5
5
|
"author": "Shakes",
|
|
6
6
|
"license": "MIT",
|
|
@@ -3241,6 +3241,64 @@ def cmd_track_plan(args: argparse.Namespace) -> None:
|
|
|
3241
3241
|
print(f"\nView plan: open {args.graph_dir}/tracks/{args.track_id}/plan.html")
|
|
3242
3242
|
|
|
3243
3243
|
|
|
3244
|
+
def cmd_track_show(args: argparse.Namespace) -> None:
|
|
3245
|
+
"""Show details of a track."""
|
|
3246
|
+
import json
|
|
3247
|
+
from pathlib import Path
|
|
3248
|
+
|
|
3249
|
+
from htmlgraph.track_manager import TrackManager
|
|
3250
|
+
|
|
3251
|
+
manager = TrackManager(args.graph_dir)
|
|
3252
|
+
|
|
3253
|
+
# Load the track
|
|
3254
|
+
track = manager.load_track(args.track_id)
|
|
3255
|
+
if not track:
|
|
3256
|
+
print(f"Error: Track '{args.track_id}' not found", file=sys.stderr)
|
|
3257
|
+
sys.exit(1)
|
|
3258
|
+
|
|
3259
|
+
if args.format == "json":
|
|
3260
|
+
data = {
|
|
3261
|
+
"id": track.id,
|
|
3262
|
+
"title": track.title,
|
|
3263
|
+
"description": track.description,
|
|
3264
|
+
"status": track.status,
|
|
3265
|
+
"priority": track.priority,
|
|
3266
|
+
"has_spec": track.has_spec,
|
|
3267
|
+
"has_plan": track.has_plan,
|
|
3268
|
+
"created": track.created.isoformat(),
|
|
3269
|
+
"updated": track.updated.isoformat(),
|
|
3270
|
+
"features": track.features,
|
|
3271
|
+
"sessions": track.sessions,
|
|
3272
|
+
}
|
|
3273
|
+
print(json.dumps(data, indent=2))
|
|
3274
|
+
else:
|
|
3275
|
+
# Determine if consolidated or directory-based
|
|
3276
|
+
is_consolidated = manager.is_consolidated(args.track_id)
|
|
3277
|
+
if is_consolidated:
|
|
3278
|
+
track_file = Path(args.graph_dir) / "tracks" / f"{args.track_id}.html"
|
|
3279
|
+
file_type = "single file (consolidated)"
|
|
3280
|
+
else:
|
|
3281
|
+
track_file = Path(args.graph_dir) / "tracks" / args.track_id / "index.html"
|
|
3282
|
+
file_type = "directory-based"
|
|
3283
|
+
|
|
3284
|
+
print(f"Track: {track.id}")
|
|
3285
|
+
print(f" Title: {track.title}")
|
|
3286
|
+
print(f" Description: {track.description}")
|
|
3287
|
+
print(f" Status: {track.status}")
|
|
3288
|
+
print(f" Priority: {track.priority}")
|
|
3289
|
+
print(f" Format: {file_type}")
|
|
3290
|
+
print(f" Has Spec: {'Yes' if track.has_spec else 'No'}")
|
|
3291
|
+
print(f" Has Plan: {'Yes' if track.has_plan else 'No'}")
|
|
3292
|
+
print(f" Created: {track.created.strftime('%Y-%m-%d %H:%M')}")
|
|
3293
|
+
print(f" Updated: {track.updated.strftime('%Y-%m-%d %H:%M')}")
|
|
3294
|
+
if track.features:
|
|
3295
|
+
print(f" Features: {', '.join(track.features)}")
|
|
3296
|
+
if track.sessions:
|
|
3297
|
+
print(f" Sessions: {', '.join(track.sessions)}")
|
|
3298
|
+
print(f"\nPath: {track_file}")
|
|
3299
|
+
print(f"View: open {track_file}")
|
|
3300
|
+
|
|
3301
|
+
|
|
3244
3302
|
def cmd_track_delete(args: argparse.Namespace) -> None:
|
|
3245
3303
|
"""Delete a track."""
|
|
3246
3304
|
import json
|
|
@@ -4248,6 +4306,16 @@ For more help: https://github.com/Shakes-tzd/htmlgraph
|
|
|
4248
4306
|
"--format", "-f", choices=["text", "json"], default="text", help="Output format"
|
|
4249
4307
|
)
|
|
4250
4308
|
|
|
4309
|
+
# track show
|
|
4310
|
+
track_show = track_subparsers.add_parser("show", help="Show track details")
|
|
4311
|
+
track_show.add_argument("track_id", help="Track ID to display")
|
|
4312
|
+
track_show.add_argument(
|
|
4313
|
+
"--graph-dir", "-g", default=".htmlgraph", help="Graph directory"
|
|
4314
|
+
)
|
|
4315
|
+
track_show.add_argument(
|
|
4316
|
+
"--format", "-f", choices=["text", "json"], default="text", help="Output format"
|
|
4317
|
+
)
|
|
4318
|
+
|
|
4251
4319
|
# track delete
|
|
4252
4320
|
track_delete = track_subparsers.add_parser("delete", help="Delete a track")
|
|
4253
4321
|
track_delete.add_argument("track_id", help="Track ID to delete")
|
|
@@ -4625,6 +4693,8 @@ For more help: https://github.com/Shakes-tzd/htmlgraph
|
|
|
4625
4693
|
cmd_track_spec(args)
|
|
4626
4694
|
elif args.track_command == "plan":
|
|
4627
4695
|
cmd_track_plan(args)
|
|
4696
|
+
elif args.track_command == "show":
|
|
4697
|
+
cmd_track_show(args)
|
|
4628
4698
|
elif args.track_command == "delete":
|
|
4629
4699
|
cmd_track_delete(args)
|
|
4630
4700
|
else:
|
|
@@ -4671,7 +4741,7 @@ For more help: https://github.com/Shakes-tzd/htmlgraph
|
|
|
4671
4741
|
feature_parser.print_help()
|
|
4672
4742
|
sys.exit(1)
|
|
4673
4743
|
elif args.command == "analytics":
|
|
4674
|
-
from htmlgraph.
|
|
4744
|
+
from htmlgraph.analytics.cli import cmd_analytics
|
|
4675
4745
|
|
|
4676
4746
|
cmd_analytics(args)
|
|
4677
4747
|
elif args.command == "events":
|
|
@@ -338,6 +338,44 @@ class TrackManager:
|
|
|
338
338
|
track_id=track_id,
|
|
339
339
|
)
|
|
340
340
|
|
|
341
|
+
def load_track(self, track_id: str) -> Track | None:
|
|
342
|
+
"""
|
|
343
|
+
Load a track from disk.
|
|
344
|
+
|
|
345
|
+
Supports both consolidated (single .html file) and directory-based tracks.
|
|
346
|
+
|
|
347
|
+
Args:
|
|
348
|
+
track_id: Track ID
|
|
349
|
+
|
|
350
|
+
Returns:
|
|
351
|
+
Track instance or None if not found
|
|
352
|
+
"""
|
|
353
|
+
track_path = self.get_track_path(track_id)
|
|
354
|
+
if track_path is None:
|
|
355
|
+
return None
|
|
356
|
+
|
|
357
|
+
# For now, return a basic Track instance
|
|
358
|
+
# TODO: Parse HTML back to Track using justhtml
|
|
359
|
+
if track_path.is_file():
|
|
360
|
+
# Consolidated format - single file
|
|
361
|
+
return Track(
|
|
362
|
+
id=track_id,
|
|
363
|
+
title=f"Track {track_id}",
|
|
364
|
+
description="Loaded from consolidated format",
|
|
365
|
+
)
|
|
366
|
+
else:
|
|
367
|
+
# Directory format - check for spec and plan
|
|
368
|
+
spec_exists = (track_path / "spec.html").exists()
|
|
369
|
+
plan_exists = (track_path / "plan.html").exists()
|
|
370
|
+
|
|
371
|
+
return Track(
|
|
372
|
+
id=track_id,
|
|
373
|
+
title=f"Track {track_id}",
|
|
374
|
+
description="Loaded from directory format",
|
|
375
|
+
has_spec=spec_exists,
|
|
376
|
+
has_plan=plan_exists,
|
|
377
|
+
)
|
|
378
|
+
|
|
341
379
|
def list_tracks(self) -> list[str]:
|
|
342
380
|
"""
|
|
343
381
|
List all track IDs.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/documentation-site/features/doc-api-graph.html
RENAMED
|
File without changes
|
{htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/documentation-site/features/doc-api-overview.html
RENAMED
|
File without changes
|
|
File without changes
|
{htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/documentation-site/features/doc-example-advanced.html
RENAMED
|
File without changes
|
{htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/documentation-site/features/doc-example-basic.html
RENAMED
|
File without changes
|
|
File without changes
|
{htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/documentation-site/features/doc-installation.html
RENAMED
|
File without changes
|
{htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/documentation-site/features/doc-quickstart.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{htmlgraph-0.20.3 → htmlgraph-0.20.4}/examples/knowledge-base/features/note-web-standards.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{htmlgraph-0.20.3 → htmlgraph-0.20.4}/packages/gemini-extension/hooks/scripts/session-end.sh
RENAMED
|
File without changes
|
{htmlgraph-0.20.3 → htmlgraph-0.20.4}/packages/gemini-extension/hooks/scripts/session-start.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/extensions/gemini/gemini-extension.json
RENAMED
|
File without changes
|
{htmlgraph-0.20.3 → htmlgraph-0.20.4}/src/python/htmlgraph/extensions/gemini/hooks/hooks.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|