agentmetry 0.10.2__tar.gz → 0.10.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (366) hide show
  1. {agentmetry-0.10.2 → agentmetry-0.10.3}/PKG-INFO +1 -1
  2. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/api/main.py +4 -9
  3. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/external.py +5 -1
  4. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/auth.py +34 -2
  5. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/version.py +1 -1
  6. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/404.html +1 -1
  7. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/__next.__PAGE__.txt +1 -1
  8. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/__next._full.txt +1 -1
  9. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/__next._tree.txt +1 -1
  10. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/_not-found/__next._full.txt +1 -1
  11. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/_not-found/__next._not-found.__PAGE__.txt +1 -1
  12. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/_not-found/__next._tree.txt +1 -1
  13. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/_not-found.html +1 -1
  14. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/_not-found.txt +1 -1
  15. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/index.html +1 -1
  16. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/index.txt +1 -1
  17. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/hooks/ingest.py +38 -10
  18. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_auth_default.py +42 -0
  19. agentmetry-0.10.3/tests/test_classification_bounds.py +90 -0
  20. {agentmetry-0.10.2 → agentmetry-0.10.3}/.dockerignore +0 -0
  21. {agentmetry-0.10.2 → agentmetry-0.10.3}/.env.agentmetry-demo +0 -0
  22. {agentmetry-0.10.2 → agentmetry-0.10.3}/.env.example +0 -0
  23. {agentmetry-0.10.2 → agentmetry-0.10.3}/.gitignore +0 -0
  24. {agentmetry-0.10.2 → agentmetry-0.10.3}/Dockerfile +0 -0
  25. {agentmetry-0.10.2 → agentmetry-0.10.3}/README.md +0 -0
  26. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/__init__.py +0 -0
  27. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/api/__init__.py +0 -0
  28. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/api/routes/__init__.py +0 -0
  29. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/api/routes/audit.py +0 -0
  30. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/api/routes/auth.py +0 -0
  31. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/api/trusted_host.py +0 -0
  32. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/api/websocket.py +0 -0
  33. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/api/ws_bridge.py +0 -0
  34. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/cli/__init__.py +0 -0
  35. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/cli/__main__.py +0 -0
  36. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/__init__.py +0 -0
  37. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/api_token.py +0 -0
  38. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/__init__.py +0 -0
  39. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/adapters/__init__.py +0 -0
  40. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/adapters/agt.py +0 -0
  41. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/adapters/chronicle.py +0 -0
  42. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/adapters/cloudevents.py +0 -0
  43. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/adapters/ecs.py +0 -0
  44. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/adapters/sentinel.py +0 -0
  45. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/adapters/splunk.py +0 -0
  46. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/alerts.py +0 -0
  47. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/antigravity_trajectory.py +0 -0
  48. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/atlas.py +0 -0
  49. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/canonical.py +0 -0
  50. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/cloud_bridge.py +0 -0
  51. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/compliance_digest.py +0 -0
  52. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/cursor_cloud_cache.py +0 -0
  53. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/__init__.py +0 -0
  54. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/benchmark.py +0 -0
  55. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/attack_approval_denied_then_executed.jsonl +0 -0
  56. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/attack_arbitrary_host_stage_execute.jsonl +0 -0
  57. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/attack_autonomous_unapproved_write.jsonl +0 -0
  58. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/attack_credential_exfil.jsonl +0 -0
  59. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/attack_credential_then_cloud_api.jsonl +0 -0
  60. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/attack_destructive_delete_burst.jsonl +0 -0
  61. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/attack_discovery_then_collect.jsonl +0 -0
  62. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/attack_dotfile_then_git_push.jsonl +0 -0
  63. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/attack_encoded_command_download.jsonl +0 -0
  64. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/attack_env_credential_exfil.jsonl +0 -0
  65. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/attack_hashed_only_no_command.jsonl +0 -0
  66. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/attack_interpreter_egress.jsonl +0 -0
  67. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/attack_pr_merged_without_review.jsonl +0 -0
  68. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/attack_proc_substitution_cradle.jsonl +0 -0
  69. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/attack_remote_pipe_to_shell.jsonl +0 -0
  70. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/attack_remote_staging_then_execute.jsonl +0 -0
  71. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/attack_secret_manager_then_egress.jsonl +0 -0
  72. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/attack_session_tool_burst.jsonl +0 -0
  73. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/attack_single_command_exfil.jsonl +0 -0
  74. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/attack_single_quoted_interpreter_egress.jsonl +0 -0
  75. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/attack_ssh_directory_exfil.jsonl +0 -0
  76. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/attack_subagent_swarm.jsonl +0 -0
  77. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/attack_timestamp_collision.jsonl +0 -0
  78. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/attack_untrusted_input_then_action.jsonl +0 -0
  79. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_authoring_merge_fixtures.jsonl +0 -0
  80. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_autonomous_after_approval.jsonl +0 -0
  81. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_build_artifact_cleanup.jsonl +0 -0
  82. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_ci_artifact_download.jsonl +0 -0
  83. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_commit_message_names_cloud_clis.jsonl +0 -0
  84. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_container_registry_publish.jsonl +0 -0
  85. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_database_migration.jsonl +0 -0
  86. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_dependency_audit_network_burst.jsonl +0 -0
  87. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_dependency_install_and_build.jsonl +0 -0
  88. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_download_release_archive.jsonl +0 -0
  89. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_env_example_read.jsonl +0 -0
  90. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_fetch_data_then_run_repo_script.jsonl +0 -0
  91. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_fetch_dataset_then_analyse.jsonl +0 -0
  92. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_fetch_lockfile_then_install.jsonl +0 -0
  93. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_fetch_piped_into_own_script.jsonl +0 -0
  94. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_git_review_and_push.jsonl +0 -0
  95. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_github_raw_docs_then_script.jsonl +0 -0
  96. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_human_driven_deletes.jsonl +0 -0
  97. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_local_api_probing.jsonl +0 -0
  98. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_long_but_calm_session.jsonl +0 -0
  99. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_loopback_is_not_egress.jsonl +0 -0
  100. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_loopback_pipe_to_interpreter.jsonl +0 -0
  101. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_mcp_text_mentions_credential_path.jsonl +0 -0
  102. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_ordinary_development.jsonl +0 -0
  103. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_package_manager_after_fetch.jsonl +0 -0
  104. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_reading_config_that_is_not_secret.jsonl +0 -0
  105. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_remote_api_call_no_credentials.jsonl +0 -0
  106. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_research_then_docs.jsonl +0 -0
  107. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_reversed_order_is_not_exfil.jsonl +0 -0
  108. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_secret_names_and_docs.jsonl +0 -0
  109. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_terraform_apply_with_profile.jsonl +0 -0
  110. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_test_and_fix_loop.jsonl +0 -0
  111. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/benign_writing_about_credentials.jsonl +0 -0
  112. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/corpus/corpus.yaml +0 -0
  113. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/disposition.py +0 -0
  114. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/engine.py +0 -0
  115. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/live.py +0 -0
  116. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/live_store.py +0 -0
  117. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/models.py +0 -0
  118. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/rules.py +0 -0
  119. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/traits.py +0 -0
  120. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/yaml_config.py +0 -0
  121. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/detection/yaml_rules.py +0 -0
  122. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/dlp/__init__.py +0 -0
  123. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/dlp/loader.py +0 -0
  124. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/dlp/models.py +0 -0
  125. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/dlp/scanner.py +0 -0
  126. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/dogfood.py +0 -0
  127. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/evidence_pack.py +0 -0
  128. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/forwarder.py +0 -0
  129. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/grok_bot_transcript.py +0 -0
  130. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/hashing.py +0 -0
  131. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/heartbeat.py +0 -0
  132. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/hook_bootstrap.py +0 -0
  133. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/identity.py +0 -0
  134. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/ingest.py +0 -0
  135. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/ingest_quota.py +0 -0
  136. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/managed_hooks.py +0 -0
  137. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/mcp_inventory_event.py +0 -0
  138. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/migrate.py +0 -0
  139. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/mitre.py +0 -0
  140. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/otel_ingest.py +0 -0
  141. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/policy.py +0 -0
  142. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/policy_settings.py +0 -0
  143. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/posture_event.py +0 -0
  144. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/redaction.py +0 -0
  145. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/replay.py +0 -0
  146. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/run_context.py +0 -0
  147. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/session_tree.py +0 -0
  148. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/signing.py +0 -0
  149. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/sinks.py +0 -0
  150. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/spool.py +0 -0
  151. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/tool_policy/__init__.py +0 -0
  152. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/tool_policy/capability.py +0 -0
  153. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/tool_policy/evaluator.py +0 -0
  154. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/tool_policy/loader.py +0 -0
  155. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/tool_policy/models.py +0 -0
  156. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/trail_anchor.py +0 -0
  157. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/trail_chain.py +0 -0
  158. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/trail_db.py +0 -0
  159. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/trail_merkle.py +0 -0
  160. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/audit/trail_rotation.py +0 -0
  161. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/bus/__init__.py +0 -0
  162. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/bus/audit_exporter.py +0 -0
  163. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/bus/bridges.py +0 -0
  164. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/bus/bus.py +0 -0
  165. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/bus/events.py +0 -0
  166. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/bus/outbox.py +0 -0
  167. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/config.py +0 -0
  168. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/dashboard_session.py +0 -0
  169. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/diagnostics/__init__.py +0 -0
  170. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/diagnostics/autostart.py +0 -0
  171. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/diagnostics/doctor.py +0 -0
  172. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/diagnostics/driver_paths.py +0 -0
  173. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/diagnostics/env_file.py +0 -0
  174. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/diagnostics/hook_coverage.py +0 -0
  175. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/diagnostics/machine_view.py +0 -0
  176. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/diagnostics/mcp_inventory.py +0 -0
  177. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/diagnostics/mcp_schema.py +0 -0
  178. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/diagnostics/posture.py +0 -0
  179. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/drivers/__init__.py +0 -0
  180. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/drivers/host.py +0 -0
  181. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/drivers/permissions.py +0 -0
  182. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/drivers/spec.py +0 -0
  183. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/extensions.py +0 -0
  184. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/health.py +0 -0
  185. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/managed_policy.py +0 -0
  186. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/operator_identity.py +0 -0
  187. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/paths.py +0 -0
  188. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/scanner/__init__.py +0 -0
  189. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/scanner/injection.py +0 -0
  190. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/scanner/instruction_files.py +0 -0
  191. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/scanner/known_packages.py +0 -0
  192. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/scanner/scan.py +0 -0
  193. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/core/scanner/typosquat.py +0 -0
  194. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/.gitkeep +0 -0
  195. {agentmetry-0.10.2/agentmetry/dashboard_static/_next/static/B9YcBHt0iAnRAn2NpdHC2 → agentmetry-0.10.3/agentmetry/dashboard_static/_next/static/WeG63GJUiLKY8KkqrAxN6}/_buildManifest.js +0 -0
  196. {agentmetry-0.10.2/agentmetry/dashboard_static/_next/static/B9YcBHt0iAnRAn2NpdHC2 → agentmetry-0.10.3/agentmetry/dashboard_static/_next/static/WeG63GJUiLKY8KkqrAxN6}/_clientMiddlewareManifest.js +0 -0
  197. {agentmetry-0.10.2/agentmetry/dashboard_static/_next/static/B9YcBHt0iAnRAn2NpdHC2 → agentmetry-0.10.3/agentmetry/dashboard_static/_next/static/WeG63GJUiLKY8KkqrAxN6}/_ssgManifest.js +0 -0
  198. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/_next/static/chunks/0cz1d0mv5g_q7.js +0 -0
  199. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/_next/static/chunks/0umf92h1sb77c.js +0 -0
  200. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/_next/static/chunks/1ix59xuhq-q14.css +0 -0
  201. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/_next/static/chunks/1q292q_rc4_p6.js +0 -0
  202. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/_next/static/chunks/2-sq6__g8tt5-.js +0 -0
  203. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/_next/static/chunks/2gvu8dyrhibpa.js +0 -0
  204. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/_next/static/chunks/31qp8jfkw0x2h.js +0 -0
  205. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/_next/static/chunks/3ia-1961js2lo.js +0 -0
  206. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/_next/static/chunks/3in77zrqn0wml.css +0 -0
  207. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/_next/static/chunks/turbopack-3-ry682tkyiqk.js +0 -0
  208. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/_next/static/media/ibm-plex-mono-latin-400-normal.2lhng2ntocry9.woff +0 -0
  209. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/_next/static/media/ibm-plex-mono-latin-400-normal.3xdfs0-p_zi4c.woff2 +0 -0
  210. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/_next/static/media/ibm-plex-mono-latin-500-normal.11q3guvgd1r20.woff2 +0 -0
  211. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/_next/static/media/ibm-plex-mono-latin-500-normal.1fgk-kmy-32_a.woff +0 -0
  212. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/_next/static/media/ibm-plex-sans-latin-400-normal.19i24--p24z3r.woff +0 -0
  213. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/_next/static/media/ibm-plex-sans-latin-400-normal.1xf5nwxyfigak.woff2 +0 -0
  214. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/_next/static/media/ibm-plex-sans-latin-500-normal.14sc3d7sk_zzh.woff +0 -0
  215. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/_next/static/media/ibm-plex-sans-latin-500-normal.2i4a1iuj6lbvw.woff2 +0 -0
  216. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/_next/static/media/ibm-plex-sans-latin-600-normal.2ovda_azncp9b.woff2 +0 -0
  217. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/_next/static/media/ibm-plex-sans-latin-600-normal.2wn5p1s7u3utm.woff +0 -0
  218. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/dashboard_static/agentmetry-icon-white.svg +0 -0
  219. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/demo.py +0 -0
  220. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/hooks/__init__.py +0 -0
  221. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/hooks/mcp_proxy.py +0 -0
  222. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/policies/detection/manifest.yaml +0 -0
  223. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/policies/dlp/manifest.yaml +0 -0
  224. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/policies/opa/agent_rules.rego +0 -0
  225. {agentmetry-0.10.2 → agentmetry-0.10.3}/agentmetry/policies/tool/manifest.yaml +0 -0
  226. {agentmetry-0.10.2 → agentmetry-0.10.3}/pyproject.toml +0 -0
  227. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/conftest.py +0 -0
  228. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/fixtures/agt_filesink_exfil.jsonl +0 -0
  229. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/fixtures/agt_filesink_mixed.jsonl +0 -0
  230. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/fixtures/codex_hooks/README.md +0 -0
  231. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/fixtures/codex_hooks/permission-request.command.output.schema.json +0 -0
  232. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/fixtures/codex_hooks/pre-tool-use.command.output.schema.json +0 -0
  233. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/fixtures/fake_mcp_server.py +0 -0
  234. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/fixtures/otel_claude_code_session.json +0 -0
  235. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/fixtures/scanner/benign_skill/SKILL.md +0 -0
  236. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/fixtures/scanner/benign_tools.json +0 -0
  237. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/fixtures/scanner/poisoned_skill/SKILL.md +0 -0
  238. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/fixtures/scanner/poisoned_tools.json +0 -0
  239. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_agentmetry_audit.py +0 -0
  240. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_agentmetry_ingest_client.py +0 -0
  241. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_agt_adapter.py +0 -0
  242. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_antigravity_trajectory.py +0 -0
  243. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_ask_gate_phase_a.py +0 -0
  244. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_atlas_detection_enrichment.py +0 -0
  245. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_atlas_mapping.py +0 -0
  246. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_audit_sinks.py +0 -0
  247. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_audit_stats.py +0 -0
  248. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_audit_tail.py +0 -0
  249. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_auth.py +0 -0
  250. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_autostart.py +0 -0
  251. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_boot_sequence.py +0 -0
  252. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_burst_windows.py +0 -0
  253. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_chinese_agent_hooks.py +0 -0
  254. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_chinese_agent_sprint_b.py +0 -0
  255. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_chinese_agent_sprint_c.py +0 -0
  256. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_chronicle_adapter.py +0 -0
  257. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_cli_backup.py +0 -0
  258. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_cli_commands.py +0 -0
  259. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_cli_env_var_names.py +0 -0
  260. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_cloud_bridge.py +0 -0
  261. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_cloudevents_adapter.py +0 -0
  262. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_codex_windows_command.py +0 -0
  263. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_compliance_digest.py +0 -0
  264. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_container_and_legacy_runtime.py +0 -0
  265. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_copilot_hooks.py +0 -0
  266. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_coverage_observed.py +0 -0
  267. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_crewai_adapter.py +0 -0
  268. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_cursor_cloud_cache.py +0 -0
  269. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_demo.py +0 -0
  270. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_demo_isolation.py +0 -0
  271. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_demo_mode_flag.py +0 -0
  272. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_detection_adi.py +0 -0
  273. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_detection_benchmark.py +0 -0
  274. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_detection_default_config.py +0 -0
  275. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_detection_disposition.py +0 -0
  276. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_detection_disposition_api.py +0 -0
  277. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_detection_duplicate_emission.py +0 -0
  278. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_detection_emit_durability.py +0 -0
  279. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_detection_engine.py +0 -0
  280. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_detection_evasion.py +0 -0
  281. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_detection_hf_incident.py +0 -0
  282. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_detection_quoted_command_words.py +0 -0
  283. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_detection_rule_identity.py +0 -0
  284. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_detection_rules_v2.py +0 -0
  285. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_dlp_agent_env_override.py +0 -0
  286. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_dlp_invisible_unicode.py +0 -0
  287. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_dlp_markdown_exfil.py +0 -0
  288. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_dlp_scanner.py +0 -0
  289. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_doctor.py +0 -0
  290. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_doctor_json_and_remediation.py +0 -0
  291. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_dogfood.py +0 -0
  292. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_dogfood_freeze.py +0 -0
  293. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_driver_paths.py +0 -0
  294. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_ecs_threat.py +0 -0
  295. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_event_bus.py +0 -0
  296. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_event_signing.py +0 -0
  297. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_evidence_pack.py +0 -0
  298. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_extensions.py +0 -0
  299. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_external_ingest.py +0 -0
  300. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_forwarder.py +0 -0
  301. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_forwarding_shape.py +0 -0
  302. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_funding_manifest.py +0 -0
  303. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_grok_bot_transcript.py +0 -0
  304. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_hash_key.py +0 -0
  305. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_heartbeat.py +0 -0
  306. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_hook_bootstrap.py +0 -0
  307. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_hook_coverage.py +0 -0
  308. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_hook_decision_format.py +0 -0
  309. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_hook_enforcement_timing.py +0 -0
  310. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_hook_import_cost.py +0 -0
  311. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_hook_real_process.py +0 -0
  312. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_hook_spool.py +0 -0
  313. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_identity_enrich.py +0 -0
  314. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_identity_provider.py +0 -0
  315. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_ingest_rate_limit.py +0 -0
  316. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_ingest_roundtrip.py +0 -0
  317. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_ingest_token.py +0 -0
  318. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_isolation.py +0 -0
  319. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_launch_targets.py +0 -0
  320. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_live_detection.py +0 -0
  321. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_live_detection_store.py +0 -0
  322. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_machine_view.py +0 -0
  323. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_managed_hooks.py +0 -0
  324. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_managed_policy.py +0 -0
  325. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_mcp_audit_proxy.py +0 -0
  326. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_mcp_concealed_text.py +0 -0
  327. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_mcp_inventory.py +0 -0
  328. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_mcp_inventory_event.py +0 -0
  329. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_mcp_meta_fingerprint.py +0 -0
  330. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_mcp_proxy_packaged.py +0 -0
  331. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_mcp_schema.py +0 -0
  332. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_mitre_dlp.py +0 -0
  333. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_opensre_adapter.py +0 -0
  334. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_operator_attribution.py +0 -0
  335. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_otel_ingest.py +0 -0
  336. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_paths.py +0 -0
  337. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_posture.py +0 -0
  338. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_powershell_encoding.py +0 -0
  339. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_readme_claims.py +0 -0
  340. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_redaction.py +0 -0
  341. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_replay.py +0 -0
  342. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_scanner.py +0 -0
  343. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_sentinel.py +0 -0
  344. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_serve_script_binds_loopback.py +0 -0
  345. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_session_tree.py +0 -0
  346. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_shared_install.py +0 -0
  347. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_sigma_pack.py +0 -0
  348. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_static_serving.py +0 -0
  349. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_subagent_lifecycle.py +0 -0
  350. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_suite_leaves_real_home_alone.py +0 -0
  351. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_tool_policy.py +0 -0
  352. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_tool_policy_agent_cli.py +0 -0
  353. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_tool_policy_git_hooks.py +0 -0
  354. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_trail_anchor.py +0 -0
  355. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_trail_chain.py +0 -0
  356. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_trail_concurrency.py +0 -0
  357. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_trail_merkle.py +0 -0
  358. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_transcript_watcher.py +0 -0
  359. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_trusted_host.py +0 -0
  360. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_unattended_agent_policy.py +0 -0
  361. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_user_profile_dir.py +0 -0
  362. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_version.py +0 -0
  363. {agentmetry-0.10.2 → agentmetry-0.10.3}/tests/test_yaml_detection_rules.py +0 -0
  364. {agentmetry-0.10.2 → agentmetry-0.10.3}/tools/generate_sigma_pack.py +0 -0
  365. {agentmetry-0.10.2 → agentmetry-0.10.3}/tools/mcp_audit_proxy.py +0 -0
  366. {agentmetry-0.10.2 → agentmetry-0.10.3}/tools/vault_fs_server.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: agentmetry
3
- Version: 0.10.2
3
+ Version: 0.10.3
4
4
  Summary: Open-source security for AI coding agents: record, detect and block at the tool boundary, with a verifiable audit trail and SIEM forwarding
5
5
  Project-URL: Homepage, https://agentmetry.ai
6
6
  Project-URL: Source, https://github.com/blitzcrieg1/agentmetry
@@ -18,7 +18,7 @@ from agentmetry.api.trusted_host import TrustedHostMiddleware
18
18
  from agentmetry.api.routes.audit import router as audit_router
19
19
  from agentmetry.api.websocket import ws_manager
20
20
  from agentmetry.api.ws_bridge import ws_event_bridge
21
- from agentmetry.core.auth import verify_ws_token
21
+ from agentmetry.core.auth import DASHBOARD_DEV_ORIGINS, verify_ws_token
22
22
  from agentmetry.core.bus.audit_exporter import audit_exporter
23
23
  from agentmetry.core.bus.bridges import outbox_persister
24
24
  from agentmetry.core.bus.bus import bus
@@ -268,14 +268,9 @@ app = FastAPI(
268
268
 
269
269
  app.add_middleware(
270
270
  CORSMiddleware,
271
- allow_origins=[
272
- "http://localhost:3000",
273
- "http://127.0.0.1:3000",
274
- "http://localhost:3001",
275
- "http://127.0.0.1:3001",
276
- "http://dashboard:3000",
277
- ],
278
- allow_origin_regex=r"http://(localhost|127\.0\.0\.1):\d+",
271
+ # The dev server only. The built dashboard is same-origin and needs no CORS;
272
+ # "any loopback port" let another local page use the session (PUB-02).
273
+ allow_origins=list(DASHBOARD_DEV_ORIGINS),
279
274
  allow_credentials=True,
280
275
  allow_methods=["*"],
281
276
  allow_headers=["*"],
@@ -102,7 +102,11 @@ def build_external_canonical(payload: dict[str, Any]) -> dict[str, Any]:
102
102
  # Anything else is not a confirmed success, and a fleet alerting on
103
103
  # failed remediations must not have one hidden by a spelling.
104
104
  outcome = "error"
105
- reason = str(payload.get("reason") or "")
105
+ # Scrubbed and bounded like `command`: a reason is free text from the
106
+ # capture side, and an MCP server's error can echo the request it failed
107
+ # on, bearer token included (audit PUB-04, 2026-10-30). Prefixes the rules
108
+ # read (`inferred:`, `subagent_start:`) survive the scrubber.
109
+ reason = scrub_secrets(str(payload.get("reason") or ""))[:4096]
106
110
 
107
111
  correlation_id = str(payload.get("correlation_id") or payload.get("thread_id") or "")
108
112
  session_id = str(payload.get("session_id") or "")
@@ -32,6 +32,38 @@ from agentmetry.core.dashboard_session import CSRF_HEADER, SESSION_COOKIE, sessi
32
32
 
33
33
  _SAFE_METHODS = frozenset({"GET", "HEAD", "OPTIONS"})
34
34
 
35
+ _LOOPBACK = ("localhost", "127.0.0.1", "::1")
36
+
37
+ #: Origins other than the recorder's own that may use a dashboard session: the
38
+ #: Next.js dev server. The built dashboard is served by the recorder itself, so
39
+ #: it is same-origin and needs no entry here. This replaced "any loopback port"
40
+ #: (audit PUB-02, 2026-10-30): cookies ignore ports, so a page on another local
41
+ #: port could read the API and triage as the signed-in operator.
42
+ DASHBOARD_DEV_ORIGINS = (
43
+ "http://localhost:3000",
44
+ "http://127.0.0.1:3000",
45
+ "http://localhost:3001",
46
+ "http://127.0.0.1:3001",
47
+ "http://dashboard:3000",
48
+ )
49
+
50
+
51
+ def dashboard_origin_allowed(origin: str, host: str) -> bool:
52
+ """May a page at `origin` use the session cookie on a request to `host`?
53
+
54
+ Yes for the dev server, and for a loopback page on the port this request
55
+ arrived on, which is the recorder serving its own dashboard. When the
56
+ request's Host carries no port (port 80, or a test client) only the
57
+ hostname can be checked.
58
+ """
59
+ if origin in DASHBOARD_DEV_ORIGINS:
60
+ return True
61
+ page = urlparse(origin)
62
+ if page.hostname not in _LOOPBACK:
63
+ return False
64
+ served = urlparse(f"//{host}")
65
+ return served.port is None or page.port == served.port
66
+
35
67
 
36
68
  def auth_is_disabled() -> bool:
37
69
  return bool(getattr(settings, "auth_disabled", False)) or api_token.auth_disabled()
@@ -133,5 +165,5 @@ def verify_ws_token(query_token: str | None, request: Request) -> bool:
133
165
  if sessions.operator(request.cookies.get(SESSION_COOKIE)) is None:
134
166
  return False
135
167
  # A cookie rides along on any WebSocket the browser opens, so the page
136
- # opening it must be one of ours: loopback origins only.
137
- return urlparse(request.headers.get("origin", "")).hostname in ("localhost", "127.0.0.1", "::1")
168
+ # opening it must be one of ours: the dashboard's own origin, or dev.
169
+ return dashboard_origin_allowed(request.headers.get("origin", ""), request.headers.get("host", ""))
@@ -10,4 +10,4 @@ Bump this here and add the matching CHANGELOG section in the same commit.
10
10
 
11
11
  from __future__ import annotations
12
12
 
13
- __version__ = "0.10.2"
13
+ __version__ = "0.10.3"
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/3in77zrqn0wml.css?v=20261025194635519" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/31qp8jfkw0x2h.js?v=20261025194635519"/><script src="/_next/static/chunks/1q292q_rc4_p6.js?v=20261025194635519" async=""></script><script src="/_next/static/chunks/2gvu8dyrhibpa.js?v=20261025194635519" async=""></script><script src="/_next/static/chunks/turbopack-3-ry682tkyiqk.js?v=20261025194635519" async=""></script><script src="/_next/static/chunks/3ia-1961js2lo.js?v=20261025194635519" async=""></script><meta name="robots" content="noindex"/><title>Agentmetry</title><meta name="description" content="Local flight recorder for AI coding agents"/><link rel="icon" href="/agentmetry-icon-white.svg"/><link rel="apple-touch-icon" href="/agentmetry-icon-white.svg"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><script src="/_next/static/chunks/0cz1d0mv5g_q7.js?v=20261025194635519" noModule=""></script></head><body class="font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","agentmetry-theme","dark",null,["light","dark"],null,true,true)</script><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script id="_R_">(globalThis["TURBOPACK"] || (globalThis["TURBOPACK"] = [])).push({"otherChunks":["static/chunks/31qp8jfkw0x2h.js","static/chunks/1q292q_rc4_p6.js","static/chunks/2gvu8dyrhibpa.js"],"runtimeModuleIds":[94553]});</script><script src="/_next/static/chunks/31qp8jfkw0x2h.js?v=20261025194635519" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:\"/_next/static/chunks/3ia-1961js2lo.js?v=20261025194635519\"\n3:I[89554,[\"$2\"],\"ThemeProvider\"]\n4:I[39756,[\"$2\"],\"default\"]\n5:I[37457,[\"$2\"],\"default\"]\n9:I[97367,[\"$2\"],\"OutletBoundary\"]\na:\"$Sreact.suspense\"\nc:\"ViewportBoundary\"\nd:I[97367,[\"$2\"],\"$c\"]\nf:\"MetadataBoundary\"\n10:I[97367,[\"$2\"],\"$f\"]\n12:I[68027,[\"$2\"],\"default\",1]\n:HL[\"/_next/static/chunks/3in77zrqn0wml.css?v=20261025194635519\",\"style\"]\n7:X\n8:[[\"children\",{\"s\":\"__PAGE__\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$a\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@b\"}]}]]}],\"p\":false,\"v\":null}}]]\n6:[[\"children\",{\"s\":\"/_not-found\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$7\"},\"c\":\"$Q8\"}]]\n0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/3in77zrqn0wml.css?v=20261025194635519\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/3ia-1961js2lo.js?v=20261025194635519\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"font-sans antialiased\",\"children\":[\"$\",\"$L3\",null,{\"attribute\":\"class\",\"defaultTheme\":\"dark\",\"enableSystem\":true,\"storageKey\":\"agentmetry-theme\",\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],\"p\":false,\"v\":null},\"c\":\"$Q6\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],[\"$\",\"$L10\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$a\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L11\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$12\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/3in77zrqn0wml.css?v=20261025194635519\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"B9YcBHt0iAnRAn2NpdHC2\"}\n7:C\ne:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n13:I[27201,[\"$2\"],\"IconMark\"]\nb:null\n11:[[\"$\",\"title\",\"0\",{\"children\":\"Agentmetry\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local flight recorder for AI coding agents\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/agentmetry-icon-white.svg\"}],[\"$\",\"link\",\"3\",{\"rel\":\"apple-touch-icon\",\"href\":\"/agentmetry-icon-white.svg\"}],[\"$\",\"$L13\",\"4\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/3in77zrqn0wml.css?v=20261030165116471" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/31qp8jfkw0x2h.js?v=20261030165116471"/><script src="/_next/static/chunks/1q292q_rc4_p6.js?v=20261030165116471" async=""></script><script src="/_next/static/chunks/2gvu8dyrhibpa.js?v=20261030165116471" async=""></script><script src="/_next/static/chunks/turbopack-3-ry682tkyiqk.js?v=20261030165116471" async=""></script><script src="/_next/static/chunks/3ia-1961js2lo.js?v=20261030165116471" async=""></script><meta name="robots" content="noindex"/><title>Agentmetry</title><meta name="description" content="Local flight recorder for AI coding agents"/><link rel="icon" href="/agentmetry-icon-white.svg"/><link rel="apple-touch-icon" href="/agentmetry-icon-white.svg"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><script src="/_next/static/chunks/0cz1d0mv5g_q7.js?v=20261030165116471" noModule=""></script></head><body class="font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","agentmetry-theme","dark",null,["light","dark"],null,true,true)</script><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script id="_R_">(globalThis["TURBOPACK"] || (globalThis["TURBOPACK"] = [])).push({"otherChunks":["static/chunks/31qp8jfkw0x2h.js","static/chunks/1q292q_rc4_p6.js","static/chunks/2gvu8dyrhibpa.js"],"runtimeModuleIds":[94553]});</script><script src="/_next/static/chunks/31qp8jfkw0x2h.js?v=20261030165116471" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:\"/_next/static/chunks/3ia-1961js2lo.js?v=20261030165116471\"\n3:I[89554,[\"$2\"],\"ThemeProvider\"]\n4:I[39756,[\"$2\"],\"default\"]\n5:I[37457,[\"$2\"],\"default\"]\n9:I[97367,[\"$2\"],\"OutletBoundary\"]\na:\"$Sreact.suspense\"\nc:\"ViewportBoundary\"\nd:I[97367,[\"$2\"],\"$c\"]\nf:\"MetadataBoundary\"\n10:I[97367,[\"$2\"],\"$f\"]\n12:I[68027,[\"$2\"],\"default\",1]\n:HL[\"/_next/static/chunks/3in77zrqn0wml.css?v=20261030165116471\",\"style\"]\n7:X\n8:[[\"children\",{\"s\":\"__PAGE__\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$a\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@b\"}]}]]}],\"p\":false,\"v\":null}}]]\n6:[[\"children\",{\"s\":\"/_not-found\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$7\"},\"c\":\"$Q8\"}]]\n0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/3in77zrqn0wml.css?v=20261030165116471\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/3ia-1961js2lo.js?v=20261030165116471\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"font-sans antialiased\",\"children\":[\"$\",\"$L3\",null,{\"attribute\":\"class\",\"defaultTheme\":\"dark\",\"enableSystem\":true,\"storageKey\":\"agentmetry-theme\",\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],\"p\":false,\"v\":null},\"c\":\"$Q6\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],[\"$\",\"$L10\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$a\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L11\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$12\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/3in77zrqn0wml.css?v=20261030165116471\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"WeG63GJUiLKY8KkqrAxN6\"}\n7:C\ne:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n13:I[27201,[\"$2\"],\"IconMark\"]\nb:null\n11:[[\"$\",\"title\",\"0\",{\"children\":\"Agentmetry\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local flight recorder for AI coding agents\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/agentmetry-icon-white.svg\"}],[\"$\",\"link\",\"3\",{\"rel\":\"apple-touch-icon\",\"href\":\"/agentmetry-icon-white.svg\"}],[\"$\",\"$L13\",\"4\",{}]]\n"])</script></body></html>
@@ -16,7 +16,7 @@ f:"ViewportBoundary"
16
16
  :HL["/_next/static/chunks/1ix59xuhq-q14.css","style"]
17
17
  7:X
18
18
  8:[["children",{"s":"__PAGE__","h":160,"d":{"r":["$","$1","c",{"children":[["$","$La",null,{}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/1ix59xuhq-q14.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/2-sq6__g8tt5-.js","async":true}]],["$","$Lb",null,{"children":["$","$c",null,{"name":"Next.MetadataOutlet","children":"$@d"}]}]]}],"p":"$@e","v":null,"s":"$7"}}]]
19
- 0:{"t":{"t":{"s":"","h":80,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/3in77zrqn0wml.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/3ia-1961js2lo.js","async":true}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"font-sans antialiased","children":["$","$L3",null,{"attribute":"class","defaultTheme":"dark","enableSystem":true,"storageKey":"agentmetry-theme","children":["$","$L4",null,{"parallelRouterKey":"children","template":["$","$L5",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]}]}]]}],"p":"$@6","v":null,"s":"$7"},"c":"$Q8"},"h":{"r":["$","$1","h",{"children":[null,["$","$L10",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","$L12",null,{"children":[["$","div",null,{"hidden":true,"children":["$","$c",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Agentmetry"}],["$","meta","1",{"name":"description","content":"Local flight recorder for AI coding agents"}],["$","link","2",{"rel":"icon","href":"/agentmetry-icon-white.svg"}],["$","link","3",{"rel":"apple-touch-icon","href":"/agentmetry-icon-white.svg"}],["$","$L13","4",{}]]}]}],null]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"p":"$@14","v":null,"s":"$7"}},"a":"$@15","u":"$@16","b":"B9YcBHt0iAnRAn2NpdHC2"}
19
+ 0:{"t":{"t":{"s":"","h":80,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/3in77zrqn0wml.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/3ia-1961js2lo.js","async":true}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"font-sans antialiased","children":["$","$L3",null,{"attribute":"class","defaultTheme":"dark","enableSystem":true,"storageKey":"agentmetry-theme","children":["$","$L4",null,{"parallelRouterKey":"children","template":["$","$L5",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]}]}]]}],"p":"$@6","v":null,"s":"$7"},"c":"$Q8"},"h":{"r":["$","$1","h",{"children":[null,["$","$L10",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","$L12",null,{"children":[["$","div",null,{"hidden":true,"children":["$","$c",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Agentmetry"}],["$","meta","1",{"name":"description","content":"Local flight recorder for AI coding agents"}],["$","link","2",{"rel":"icon","href":"/agentmetry-icon-white.svg"}],["$","link","3",{"rel":"apple-touch-icon","href":"/agentmetry-icon-white.svg"}],["$","$L13","4",{}]]}]}],null]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"p":"$@14","v":null,"s":"$7"}},"a":"$@15","u":"$@16","b":"WeG63GJUiLKY8KkqrAxN6"}
20
20
  d:null
21
21
  7:300
22
22
  16:true
@@ -16,7 +16,7 @@ f:"MetadataBoundary"
16
16
  :HC["/",""]
17
17
  :HL["/_next/static/chunks/1ix59xuhq-q14.css","style"]
18
18
  6:[["children",{"s":"__PAGE__","h":512,"d":{"r":["$","$1","c",{"children":[["$","$L8",null,{}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/1ix59xuhq-q14.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/2-sq6__g8tt5-.js","async":true,"nonce":"$undefined"}]],["$","$L9",null,{"children":["$","$a",null,{"name":"Next.MetadataOutlet","children":"$@b"}]}]]}],"p":false,"v":null}}]]
19
- 0:{"P":null,"c":["",""],"q":"","i":false,"t":{"t":{"s":"","h":528,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/3in77zrqn0wml.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/3ia-1961js2lo.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"font-sans antialiased","children":["$","$L3",null,{"attribute":"class","defaultTheme":"dark","enableSystem":true,"storageKey":"agentmetry-theme","children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],"p":false,"v":null},"c":"$Q6"},"h":{"r":["$","$1","h",{"children":[null,["$","$Ld",null,{"children":"$Le"}],["$","$L10",null,{"children":[["$","div",null,{"hidden":true,"children":["$","$a",null,{"name":"Next.Metadata","children":"$L11"}]}],null]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"p":false,"v":null}},"m":"$undefined","G":["$12",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/3in77zrqn0wml.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"B9YcBHt0iAnRAn2NpdHC2"}
19
+ 0:{"P":null,"c":["",""],"q":"","i":false,"t":{"t":{"s":"","h":528,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/3in77zrqn0wml.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/3ia-1961js2lo.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"font-sans antialiased","children":["$","$L3",null,{"attribute":"class","defaultTheme":"dark","enableSystem":true,"storageKey":"agentmetry-theme","children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],"p":false,"v":null},"c":"$Q6"},"h":{"r":["$","$1","h",{"children":[null,["$","$Ld",null,{"children":"$Le"}],["$","$L10",null,{"children":[["$","div",null,{"hidden":true,"children":["$","$a",null,{"name":"Next.Metadata","children":"$L11"}]}],null]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"p":false,"v":null}},"m":"$undefined","G":["$12",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/3in77zrqn0wml.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"WeG63GJUiLKY8KkqrAxN6"}
20
20
  e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
21
21
  13:I[27201,["$2"],"IconMark"]
22
22
  b:null
@@ -2,4 +2,4 @@
2
2
  :HC["/",""]
3
3
  :HL["/_next/static/chunks/1ix59xuhq-q14.css","style"]
4
4
  1:[["children",{"s":"__PAGE__","h":160}]]
5
- 0:{"b":"B9YcBHt0iAnRAn2NpdHC2","t":{"t":{"s":"","h":80,"c":"$Q1"}}}
5
+ 0:{"b":"WeG63GJUiLKY8KkqrAxN6","t":{"t":{"s":"","h":80,"c":"$Q1"}}}
@@ -14,7 +14,7 @@ f:"MetadataBoundary"
14
14
  7:X
15
15
  8:[["children",{"s":"__PAGE__","h":512,"d":{"r":["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],null,["$","$L9",null,{"children":["$","$a",null,{"name":"Next.MetadataOutlet","children":"$@b"}]}]]}],"p":false,"v":null}}]]
16
16
  6:[["children",{"s":"/_not-found","h":512,"d":{"r":["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],"p":false,"v":"$7"},"c":"$Q8"}]]
17
- 0:{"P":null,"c":["","_not-found"],"q":"","i":false,"t":{"t":{"s":"","h":528,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/3in77zrqn0wml.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/3ia-1961js2lo.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"font-sans antialiased","children":["$","$L3",null,{"attribute":"class","defaultTheme":"dark","enableSystem":true,"storageKey":"agentmetry-theme","children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],"p":false,"v":null},"c":"$Q6"},"h":{"r":["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$Ld",null,{"children":"$Le"}],["$","$L10",null,{"children":[["$","div",null,{"hidden":true,"children":["$","$a",null,{"name":"Next.Metadata","children":"$L11"}]}],null]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"p":false,"v":null}},"m":"$undefined","G":["$12",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/3in77zrqn0wml.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"B9YcBHt0iAnRAn2NpdHC2"}
17
+ 0:{"P":null,"c":["","_not-found"],"q":"","i":false,"t":{"t":{"s":"","h":528,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/3in77zrqn0wml.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/3ia-1961js2lo.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"font-sans antialiased","children":["$","$L3",null,{"attribute":"class","defaultTheme":"dark","enableSystem":true,"storageKey":"agentmetry-theme","children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],"p":false,"v":null},"c":"$Q6"},"h":{"r":["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$Ld",null,{"children":"$Le"}],["$","$L10",null,{"children":[["$","div",null,{"hidden":true,"children":["$","$a",null,{"name":"Next.Metadata","children":"$L11"}]}],null]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"p":false,"v":null}},"m":"$undefined","G":["$12",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/3in77zrqn0wml.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"WeG63GJUiLKY8KkqrAxN6"}
18
18
  7:C
19
19
  e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
20
20
  13:I[27201,["$2"],"IconMark"]
@@ -16,7 +16,7 @@ a:X
16
16
  a:C
17
17
  b:[["children",{"s":"__PAGE__","h":160,"d":{"r":["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],null,["$","$Lc",null,{"children":["$","$d",null,{"name":"Next.MetadataOutlet","children":"$@e"}]}]]}],"p":"$@f","v":null,"s":"$7"}}]]
18
18
  8:[["children",{"s":"/_not-found","h":96,"d":{"r":["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","template":["$","$L5",null,{}]}]]}],"p":"$@9","v":"$a","s":"$7"},"c":"$Qb"}]]
19
- 0:{"t":{"t":{"s":"","h":80,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/3in77zrqn0wml.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/3ia-1961js2lo.js","async":true}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"font-sans antialiased","children":["$","$L3",null,{"attribute":"class","defaultTheme":"dark","enableSystem":true,"storageKey":"agentmetry-theme","children":["$","$L4",null,{"parallelRouterKey":"children","template":["$","$L5",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]}]}]]}],"p":"$@6","v":null,"s":"$7"},"c":"$Q8"},"h":{"r":["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L11",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","$L13",null,{"children":[["$","div",null,{"hidden":true,"children":["$","$d",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Agentmetry"}],["$","meta","1",{"name":"description","content":"Local flight recorder for AI coding agents"}],["$","link","2",{"rel":"icon","href":"/agentmetry-icon-white.svg"}],["$","link","3",{"rel":"apple-touch-icon","href":"/agentmetry-icon-white.svg"}],["$","$L14","4",{}]]}]}],null]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"p":"$@15","v":null,"s":"$7"}},"a":"$@16","u":"$@17","b":"B9YcBHt0iAnRAn2NpdHC2"}
19
+ 0:{"t":{"t":{"s":"","h":80,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/3in77zrqn0wml.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/3ia-1961js2lo.js","async":true}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"font-sans antialiased","children":["$","$L3",null,{"attribute":"class","defaultTheme":"dark","enableSystem":true,"storageKey":"agentmetry-theme","children":["$","$L4",null,{"parallelRouterKey":"children","template":["$","$L5",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]}]}]]}],"p":"$@6","v":null,"s":"$7"},"c":"$Q8"},"h":{"r":["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$L11",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","$L13",null,{"children":[["$","div",null,{"hidden":true,"children":["$","$d",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Agentmetry"}],["$","meta","1",{"name":"description","content":"Local flight recorder for AI coding agents"}],["$","link","2",{"rel":"icon","href":"/agentmetry-icon-white.svg"}],["$","link","3",{"rel":"apple-touch-icon","href":"/agentmetry-icon-white.svg"}],["$","$L14","4",{}]]}]}],null]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"p":"$@15","v":null,"s":"$7"}},"a":"$@16","u":"$@17","b":"WeG63GJUiLKY8KkqrAxN6"}
20
20
  e:null
21
21
  7:300
22
22
  17:true
@@ -1,4 +1,4 @@
1
1
  :HL["/_next/static/chunks/3in77zrqn0wml.css","style"]
2
2
  2:[["children",{"s":"__PAGE__","h":160}]]
3
3
  1:[["children",{"s":"/_not-found","h":96,"c":"$Q2"}]]
4
- 0:{"b":"B9YcBHt0iAnRAn2NpdHC2","t":{"t":{"s":"","h":80,"c":"$Q1"}}}
4
+ 0:{"b":"WeG63GJUiLKY8KkqrAxN6","t":{"t":{"s":"","h":80,"c":"$Q1"}}}
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/3in77zrqn0wml.css?v=20261025194635519" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/31qp8jfkw0x2h.js?v=20261025194635519"/><script src="/_next/static/chunks/1q292q_rc4_p6.js?v=20261025194635519" async=""></script><script src="/_next/static/chunks/2gvu8dyrhibpa.js?v=20261025194635519" async=""></script><script src="/_next/static/chunks/turbopack-3-ry682tkyiqk.js?v=20261025194635519" async=""></script><script src="/_next/static/chunks/3ia-1961js2lo.js?v=20261025194635519" async=""></script><meta name="robots" content="noindex"/><title>Agentmetry</title><meta name="description" content="Local flight recorder for AI coding agents"/><link rel="icon" href="/agentmetry-icon-white.svg"/><link rel="apple-touch-icon" href="/agentmetry-icon-white.svg"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><script src="/_next/static/chunks/0cz1d0mv5g_q7.js?v=20261025194635519" noModule=""></script></head><body class="font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","agentmetry-theme","dark",null,["light","dark"],null,true,true)</script><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script id="_R_">(globalThis["TURBOPACK"] || (globalThis["TURBOPACK"] = [])).push({"otherChunks":["static/chunks/31qp8jfkw0x2h.js","static/chunks/1q292q_rc4_p6.js","static/chunks/2gvu8dyrhibpa.js"],"runtimeModuleIds":[94553]});</script><script src="/_next/static/chunks/31qp8jfkw0x2h.js?v=20261025194635519" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:\"/_next/static/chunks/3ia-1961js2lo.js?v=20261025194635519\"\n3:I[89554,[\"$2\"],\"ThemeProvider\"]\n4:I[39756,[\"$2\"],\"default\"]\n5:I[37457,[\"$2\"],\"default\"]\n9:I[97367,[\"$2\"],\"OutletBoundary\"]\na:\"$Sreact.suspense\"\nc:\"ViewportBoundary\"\nd:I[97367,[\"$2\"],\"$c\"]\nf:\"MetadataBoundary\"\n10:I[97367,[\"$2\"],\"$f\"]\n12:I[68027,[\"$2\"],\"default\",1]\n:HL[\"/_next/static/chunks/3in77zrqn0wml.css?v=20261025194635519\",\"style\"]\n7:X\n8:[[\"children\",{\"s\":\"__PAGE__\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$a\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@b\"}]}]]}],\"p\":false,\"v\":null}}]]\n6:[[\"children\",{\"s\":\"/_not-found\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$7\"},\"c\":\"$Q8\"}]]\n0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/3in77zrqn0wml.css?v=20261025194635519\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/3ia-1961js2lo.js?v=20261025194635519\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"font-sans antialiased\",\"children\":[\"$\",\"$L3\",null,{\"attribute\":\"class\",\"defaultTheme\":\"dark\",\"enableSystem\":true,\"storageKey\":\"agentmetry-theme\",\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],\"p\":false,\"v\":null},\"c\":\"$Q6\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],[\"$\",\"$L10\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$a\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L11\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$12\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/3in77zrqn0wml.css?v=20261025194635519\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"B9YcBHt0iAnRAn2NpdHC2\"}\n7:C\ne:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n13:I[27201,[\"$2\"],\"IconMark\"]\nb:null\n11:[[\"$\",\"title\",\"0\",{\"children\":\"Agentmetry\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local flight recorder for AI coding agents\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/agentmetry-icon-white.svg\"}],[\"$\",\"link\",\"3\",{\"rel\":\"apple-touch-icon\",\"href\":\"/agentmetry-icon-white.svg\"}],[\"$\",\"$L13\",\"4\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/3in77zrqn0wml.css?v=20261030165116471" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/31qp8jfkw0x2h.js?v=20261030165116471"/><script src="/_next/static/chunks/1q292q_rc4_p6.js?v=20261030165116471" async=""></script><script src="/_next/static/chunks/2gvu8dyrhibpa.js?v=20261030165116471" async=""></script><script src="/_next/static/chunks/turbopack-3-ry682tkyiqk.js?v=20261030165116471" async=""></script><script src="/_next/static/chunks/3ia-1961js2lo.js?v=20261030165116471" async=""></script><meta name="robots" content="noindex"/><title>Agentmetry</title><meta name="description" content="Local flight recorder for AI coding agents"/><link rel="icon" href="/agentmetry-icon-white.svg"/><link rel="apple-touch-icon" href="/agentmetry-icon-white.svg"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><script src="/_next/static/chunks/0cz1d0mv5g_q7.js?v=20261030165116471" noModule=""></script></head><body class="font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","agentmetry-theme","dark",null,["light","dark"],null,true,true)</script><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script id="_R_">(globalThis["TURBOPACK"] || (globalThis["TURBOPACK"] = [])).push({"otherChunks":["static/chunks/31qp8jfkw0x2h.js","static/chunks/1q292q_rc4_p6.js","static/chunks/2gvu8dyrhibpa.js"],"runtimeModuleIds":[94553]});</script><script src="/_next/static/chunks/31qp8jfkw0x2h.js?v=20261030165116471" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:\"/_next/static/chunks/3ia-1961js2lo.js?v=20261030165116471\"\n3:I[89554,[\"$2\"],\"ThemeProvider\"]\n4:I[39756,[\"$2\"],\"default\"]\n5:I[37457,[\"$2\"],\"default\"]\n9:I[97367,[\"$2\"],\"OutletBoundary\"]\na:\"$Sreact.suspense\"\nc:\"ViewportBoundary\"\nd:I[97367,[\"$2\"],\"$c\"]\nf:\"MetadataBoundary\"\n10:I[97367,[\"$2\"],\"$f\"]\n12:I[68027,[\"$2\"],\"default\",1]\n:HL[\"/_next/static/chunks/3in77zrqn0wml.css?v=20261030165116471\",\"style\"]\n7:X\n8:[[\"children\",{\"s\":\"__PAGE__\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$a\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@b\"}]}]]}],\"p\":false,\"v\":null}}]]\n6:[[\"children\",{\"s\":\"/_not-found\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$7\"},\"c\":\"$Q8\"}]]\n0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/3in77zrqn0wml.css?v=20261030165116471\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/3ia-1961js2lo.js?v=20261030165116471\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"font-sans antialiased\",\"children\":[\"$\",\"$L3\",null,{\"attribute\":\"class\",\"defaultTheme\":\"dark\",\"enableSystem\":true,\"storageKey\":\"agentmetry-theme\",\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],\"p\":false,\"v\":null},\"c\":\"$Q6\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],[\"$\",\"$L10\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$a\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L11\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$12\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/3in77zrqn0wml.css?v=20261030165116471\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"WeG63GJUiLKY8KkqrAxN6\"}\n7:C\ne:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n13:I[27201,[\"$2\"],\"IconMark\"]\nb:null\n11:[[\"$\",\"title\",\"0\",{\"children\":\"Agentmetry\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local flight recorder for AI coding agents\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/agentmetry-icon-white.svg\"}],[\"$\",\"link\",\"3\",{\"rel\":\"apple-touch-icon\",\"href\":\"/agentmetry-icon-white.svg\"}],[\"$\",\"$L13\",\"4\",{}]]\n"])</script></body></html>
@@ -14,7 +14,7 @@ f:"MetadataBoundary"
14
14
  7:X
15
15
  8:[["children",{"s":"__PAGE__","h":512,"d":{"r":["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:t:t:d:r:props:children:1:props:children:props:children:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],null,["$","$L9",null,{"children":["$","$a",null,{"name":"Next.MetadataOutlet","children":"$@b"}]}]]}],"p":false,"v":null}}]]
16
16
  6:[["children",{"s":"/_not-found","h":512,"d":{"r":["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],"p":false,"v":"$7"},"c":"$Q8"}]]
17
- 0:{"P":null,"c":["","_not-found"],"q":"","i":false,"t":{"t":{"s":"","h":528,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/3in77zrqn0wml.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/3ia-1961js2lo.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"font-sans antialiased","children":["$","$L3",null,{"attribute":"class","defaultTheme":"dark","enableSystem":true,"storageKey":"agentmetry-theme","children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],"p":false,"v":null},"c":"$Q6"},"h":{"r":["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$Ld",null,{"children":"$Le"}],["$","$L10",null,{"children":[["$","div",null,{"hidden":true,"children":["$","$a",null,{"name":"Next.Metadata","children":"$L11"}]}],null]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"p":false,"v":null}},"m":"$undefined","G":["$12",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/3in77zrqn0wml.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"B9YcBHt0iAnRAn2NpdHC2"}
17
+ 0:{"P":null,"c":["","_not-found"],"q":"","i":false,"t":{"t":{"s":"","h":528,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/3in77zrqn0wml.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/3ia-1961js2lo.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"font-sans antialiased","children":["$","$L3",null,{"attribute":"class","defaultTheme":"dark","enableSystem":true,"storageKey":"agentmetry-theme","children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],"p":false,"v":null},"c":"$Q6"},"h":{"r":["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],["$","$Ld",null,{"children":"$Le"}],["$","$L10",null,{"children":[["$","div",null,{"hidden":true,"children":["$","$a",null,{"name":"Next.Metadata","children":"$L11"}]}],null]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"p":false,"v":null}},"m":"$undefined","G":["$12",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/3in77zrqn0wml.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"WeG63GJUiLKY8KkqrAxN6"}
18
18
  7:C
19
19
  e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
20
20
  13:I[27201,["$2"],"IconMark"]
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><link rel="preconnect" href="/" crossorigin=""/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/3in77zrqn0wml.css?v=20261025194635519" data-precedence="next"/><link rel="stylesheet" href="/_next/static/chunks/1ix59xuhq-q14.css?v=20261025194635519" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/31qp8jfkw0x2h.js?v=20261025194635519"/><script src="/_next/static/chunks/1q292q_rc4_p6.js?v=20261025194635519" async=""></script><script src="/_next/static/chunks/2gvu8dyrhibpa.js?v=20261025194635519" async=""></script><script src="/_next/static/chunks/turbopack-3-ry682tkyiqk.js?v=20261025194635519" async=""></script><script src="/_next/static/chunks/3ia-1961js2lo.js?v=20261025194635519" async=""></script><script src="/_next/static/chunks/2-sq6__g8tt5-.js?v=20261025194635519" async=""></script><title>Agentmetry</title><meta name="description" content="Local flight recorder for AI coding agents"/><link rel="icon" href="/agentmetry-icon-white.svg"/><link rel="apple-touch-icon" href="/agentmetry-icon-white.svg"/><meta name="next-size-adjust" content=""/><script src="/_next/static/chunks/0cz1d0mv5g_q7.js?v=20261025194635519" noModule=""></script></head><body class="font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","agentmetry-theme","dark",null,["light","dark"],null,true,true)</script><div class="flex h-screen w-full overflow-hidden bg-background text-foreground"><aside class="flex w-14 shrink-0 flex-col border-r border-border bg-card lg:w-[248px]"><div class="flex h-[68px] items-center justify-center gap-2.5 border-b border-border lg:justify-start lg:px-5"><img alt="Agentmetry" loading="lazy" width="25" height="25" decoding="async" data-nimg="1" class="invert dark:invert-0" style="color:transparent" src="/agentmetry-icon-white.svg"/><span class="hidden text-[16px] font-semibold tracking-tight lg:inline">Agentmetry</span></div><nav class="flex flex-1 flex-col gap-0.5 px-2 pt-5 lg:px-3" aria-label="Sections"><div class="mb-3"><p class="eyebrow mb-2 hidden px-2.5 lg:block">Monitor</p><button type="button" title="Overview" aria-current="page" class="relative flex h-10 items-center justify-center gap-2.5 rounded-md text-[13px] transition-colors lg:justify-start lg:px-3 bg-muted font-medium text-foreground"><span class="absolute inset-y-2 left-0 w-0.5 rounded-full bg-signal" aria-hidden="true"></span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard h-4 w-4 shrink-0" aria-hidden="true"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><span class="hidden flex-1 text-left lg:inline">Overview</span></button><button type="button" title="This machine" class="relative flex h-10 items-center justify-center gap-2.5 rounded-md text-[13px] transition-colors lg:justify-start lg:px-3 text-muted-foreground hover:bg-muted/70 hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-laptop h-4 w-4 shrink-0" aria-hidden="true"><path d="M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z"></path><path d="M20.054 15.987H3.946"></path></svg><span class="hidden flex-1 text-left lg:inline">This machine</span></button></div><div class="mb-3"><p class="eyebrow mb-2 hidden px-2.5 lg:block">Investigate</p><button type="button" title="Event stream" class="relative flex h-10 items-center justify-center gap-2.5 rounded-md text-[13px] transition-colors lg:justify-start lg:px-3 text-muted-foreground hover:bg-muted/70 hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal h-4 w-4 shrink-0" aria-hidden="true"><path d="M12 19h8"></path><path d="m4 17 6-6-6-6"></path></svg><span class="hidden flex-1 text-left lg:inline">Event stream</span></button><button type="button" title="Detections" class="relative flex h-10 items-center justify-center gap-2.5 rounded-md text-[13px] transition-colors lg:justify-start lg:px-3 text-muted-foreground hover:bg-muted/70 hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield-alert h-4 w-4 shrink-0" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path><path d="M12 8v4"></path><path d="M12 16h.01"></path></svg><span class="hidden flex-1 text-left lg:inline">Detections</span></button><button type="button" title="Analytics" class="relative flex h-10 items-center justify-center gap-2.5 rounded-md text-[13px] transition-colors lg:justify-start lg:px-3 text-muted-foreground hover:bg-muted/70 hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity h-4 w-4 shrink-0" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg><span class="hidden flex-1 text-left lg:inline">Analytics</span></button></div></nav><div class="flex flex-col gap-1 border-t border-border px-2 py-3 lg:px-3"><a href="/api/v1/audit/export/evidence" target="_blank" rel="noreferrer" title="Export evidence pack (SHA-256 tamper-evident)" class="flex h-10 items-center justify-center gap-2.5 rounded-md text-[13px] text-muted-foreground transition-colors hover:bg-muted/60 hover:text-foreground lg:justify-start lg:px-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-down h-4 w-4 shrink-0" aria-hidden="true"><path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"></path><path d="M14 2v5a1 1 0 0 0 1 1h5"></path><path d="M12 18v-6"></path><path d="m9 15 3 3 3-3"></path></svg><span class="hidden lg:inline">Export evidence pack</span></a><span class="flex h-9 items-center justify-center gap-2.5 rounded-sm text-[13px] text-muted-foreground transition-colors hover:bg-muted/60 hover:text-foreground lg:justify-start lg:px-2.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sun h-4 w-4 shrink-0 opacity-40" aria-hidden="true"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg><span class="hidden lg:inline">Theme</span></span><p class="mt-2 hidden truncate px-3 font-mono text-[12px] text-subtle lg:block" title=""></p></div></aside><main class="flex min-w-0 flex-1 flex-col"><header class="flex min-h-[68px] shrink-0 flex-wrap items-center justify-between gap-x-6 gap-y-2 border-b border-border bg-card/70 px-4 py-3 lg:px-8"><div class="min-w-0"><h1 class="text-[20px] font-semibold leading-tight tracking-tight">Overview</h1><p class="mt-1 hidden truncate text-[12px] text-muted-foreground sm:block">Open investigations, hook configuration, and local trail health</p></div><div class="flex flex-wrap items-center gap-2"><div class="flex min-h-9 items-center rounded-full border border-border bg-background px-3.5"><div class="flex items-center gap-2 text-[12px] text-muted-foreground"><span class="h-1.5 w-1.5 shrink-0 rounded-full bg-muted-foreground/50"></span>Checking feed…</div></div></div></header><div class="flex min-h-0 flex-1 flex-col overflow-y-auto px-4 py-5 lg:px-8 lg:py-6"><div class="mx-auto flex min-h-0 w-full max-w-[1600px] flex-1 flex-col"><p class="py-10 text-center text-[13px] text-muted-foreground">Checking sign-in…</p></div></div></main></div><!--$--><!--/$--><script id="_R_">(globalThis["TURBOPACK"] || (globalThis["TURBOPACK"] = [])).push({"otherChunks":["static/chunks/31qp8jfkw0x2h.js","static/chunks/1q292q_rc4_p6.js","static/chunks/2gvu8dyrhibpa.js"],"runtimeModuleIds":[94553]});</script><script src="/_next/static/chunks/31qp8jfkw0x2h.js?v=20261025194635519" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:\"/_next/static/chunks/3ia-1961js2lo.js?v=20261025194635519\"\n3:I[89554,[\"$2\"],\"ThemeProvider\"]\n4:I[39756,[\"$2\"],\"default\"]\n5:I[37457,[\"$2\"],\"default\"]\n7:\"/_next/static/chunks/2-sq6__g8tt5-.js?v=20261025194635519\"\n8:I[77167,[\"$2\",\"$7\"],\"MissionControl\"]\n9:I[97367,[\"$2\"],\"OutletBoundary\"]\na:\"$Sreact.suspense\"\nc:\"ViewportBoundary\"\nd:I[97367,[\"$2\"],\"$c\"]\nf:\"MetadataBoundary\"\n10:I[97367,[\"$2\"],\"$f\"]\n12:I[68027,[\"$2\"],\"default\",1]\n:HL[\"/_next/static/chunks/3in77zrqn0wml.css?v=20261025194635519\",\"style\"]\n:HC[\"/\",\"\"]\n:HL[\"/_next/static/chunks/1ix59xuhq-q14.css?v=20261025194635519\",\"style\"]\n6:[[\"children\",{\"s\":\"__PAGE__\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L8\",null,{}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/1ix59xuhq-q14.css?v=20261025194635519\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/2-sq6__g8tt5-.js?v=20261025194635519\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$a\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@b\"}]}]]}],\"p\":false,\"v\":null}}]]\n0:{\"P\":null,\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/3in77zrqn0wml.css?v=20261025194635519\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/3ia-1961js2lo.js?v=20261025194635519\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"font-sans antialiased\",\"children\":[\"$\",\"$L3\",null,{\"attribute\":\"class\",\"defaultTheme\":\"dark\",\"enableSystem\":true,\"storageKey\":\"agentmetry-theme\",\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],\"p\":false,\"v\":null},\"c\":\"$Q6\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],[\"$\",\"$L10\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$a\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L11\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$12\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/3in77zrqn0wml.css?v=20261025194635519\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"B9YcBHt0iAnRAn2NpdHC2\"}\ne:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n13:I[27201,[\"$2\"],\"IconMark\"]\nb:null\n11:[[\"$\",\"title\",\"0\",{\"children\":\"Agentmetry\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local flight recorder for AI coding agents\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/agentmetry-icon-white.svg\"}],[\"$\",\"link\",\"3\",{\"rel\":\"apple-touch-icon\",\"href\":\"/agentmetry-icon-white.svg\"}],[\"$\",\"$L13\",\"4\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><link rel="preconnect" href="/" crossorigin=""/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/3in77zrqn0wml.css?v=20261030165116471" data-precedence="next"/><link rel="stylesheet" href="/_next/static/chunks/1ix59xuhq-q14.css?v=20261030165116471" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/31qp8jfkw0x2h.js?v=20261030165116471"/><script src="/_next/static/chunks/1q292q_rc4_p6.js?v=20261030165116471" async=""></script><script src="/_next/static/chunks/2gvu8dyrhibpa.js?v=20261030165116471" async=""></script><script src="/_next/static/chunks/turbopack-3-ry682tkyiqk.js?v=20261030165116471" async=""></script><script src="/_next/static/chunks/3ia-1961js2lo.js?v=20261030165116471" async=""></script><script src="/_next/static/chunks/2-sq6__g8tt5-.js?v=20261030165116471" async=""></script><title>Agentmetry</title><meta name="description" content="Local flight recorder for AI coding agents"/><link rel="icon" href="/agentmetry-icon-white.svg"/><link rel="apple-touch-icon" href="/agentmetry-icon-white.svg"/><meta name="next-size-adjust" content=""/><script src="/_next/static/chunks/0cz1d0mv5g_q7.js?v=20261030165116471" noModule=""></script></head><body class="font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","agentmetry-theme","dark",null,["light","dark"],null,true,true)</script><div class="flex h-screen w-full overflow-hidden bg-background text-foreground"><aside class="flex w-14 shrink-0 flex-col border-r border-border bg-card lg:w-[248px]"><div class="flex h-[68px] items-center justify-center gap-2.5 border-b border-border lg:justify-start lg:px-5"><img alt="Agentmetry" loading="lazy" width="25" height="25" decoding="async" data-nimg="1" class="invert dark:invert-0" style="color:transparent" src="/agentmetry-icon-white.svg"/><span class="hidden text-[16px] font-semibold tracking-tight lg:inline">Agentmetry</span></div><nav class="flex flex-1 flex-col gap-0.5 px-2 pt-5 lg:px-3" aria-label="Sections"><div class="mb-3"><p class="eyebrow mb-2 hidden px-2.5 lg:block">Monitor</p><button type="button" title="Overview" aria-current="page" class="relative flex h-10 items-center justify-center gap-2.5 rounded-md text-[13px] transition-colors lg:justify-start lg:px-3 bg-muted font-medium text-foreground"><span class="absolute inset-y-2 left-0 w-0.5 rounded-full bg-signal" aria-hidden="true"></span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-dashboard h-4 w-4 shrink-0" aria-hidden="true"><rect width="7" height="9" x="3" y="3" rx="1"></rect><rect width="7" height="5" x="14" y="3" rx="1"></rect><rect width="7" height="9" x="14" y="12" rx="1"></rect><rect width="7" height="5" x="3" y="16" rx="1"></rect></svg><span class="hidden flex-1 text-left lg:inline">Overview</span></button><button type="button" title="This machine" class="relative flex h-10 items-center justify-center gap-2.5 rounded-md text-[13px] transition-colors lg:justify-start lg:px-3 text-muted-foreground hover:bg-muted/70 hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-laptop h-4 w-4 shrink-0" aria-hidden="true"><path d="M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z"></path><path d="M20.054 15.987H3.946"></path></svg><span class="hidden flex-1 text-left lg:inline">This machine</span></button></div><div class="mb-3"><p class="eyebrow mb-2 hidden px-2.5 lg:block">Investigate</p><button type="button" title="Event stream" class="relative flex h-10 items-center justify-center gap-2.5 rounded-md text-[13px] transition-colors lg:justify-start lg:px-3 text-muted-foreground hover:bg-muted/70 hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal h-4 w-4 shrink-0" aria-hidden="true"><path d="M12 19h8"></path><path d="m4 17 6-6-6-6"></path></svg><span class="hidden flex-1 text-left lg:inline">Event stream</span></button><button type="button" title="Detections" class="relative flex h-10 items-center justify-center gap-2.5 rounded-md text-[13px] transition-colors lg:justify-start lg:px-3 text-muted-foreground hover:bg-muted/70 hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield-alert h-4 w-4 shrink-0" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path><path d="M12 8v4"></path><path d="M12 16h.01"></path></svg><span class="hidden flex-1 text-left lg:inline">Detections</span></button><button type="button" title="Analytics" class="relative flex h-10 items-center justify-center gap-2.5 rounded-md text-[13px] transition-colors lg:justify-start lg:px-3 text-muted-foreground hover:bg-muted/70 hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity h-4 w-4 shrink-0" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg><span class="hidden flex-1 text-left lg:inline">Analytics</span></button></div></nav><div class="flex flex-col gap-1 border-t border-border px-2 py-3 lg:px-3"><a href="/api/v1/audit/export/evidence" target="_blank" rel="noreferrer" title="Export evidence pack (SHA-256 tamper-evident)" class="flex h-10 items-center justify-center gap-2.5 rounded-md text-[13px] text-muted-foreground transition-colors hover:bg-muted/60 hover:text-foreground lg:justify-start lg:px-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-down h-4 w-4 shrink-0" aria-hidden="true"><path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"></path><path d="M14 2v5a1 1 0 0 0 1 1h5"></path><path d="M12 18v-6"></path><path d="m9 15 3 3 3-3"></path></svg><span class="hidden lg:inline">Export evidence pack</span></a><span class="flex h-9 items-center justify-center gap-2.5 rounded-sm text-[13px] text-muted-foreground transition-colors hover:bg-muted/60 hover:text-foreground lg:justify-start lg:px-2.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sun h-4 w-4 shrink-0 opacity-40" aria-hidden="true"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg><span class="hidden lg:inline">Theme</span></span><p class="mt-2 hidden truncate px-3 font-mono text-[12px] text-subtle lg:block" title=""></p></div></aside><main class="flex min-w-0 flex-1 flex-col"><header class="flex min-h-[68px] shrink-0 flex-wrap items-center justify-between gap-x-6 gap-y-2 border-b border-border bg-card/70 px-4 py-3 lg:px-8"><div class="min-w-0"><h1 class="text-[20px] font-semibold leading-tight tracking-tight">Overview</h1><p class="mt-1 hidden truncate text-[12px] text-muted-foreground sm:block">Open investigations, hook configuration, and local trail health</p></div><div class="flex flex-wrap items-center gap-2"><div class="flex min-h-9 items-center rounded-full border border-border bg-background px-3.5"><div class="flex items-center gap-2 text-[12px] text-muted-foreground"><span class="h-1.5 w-1.5 shrink-0 rounded-full bg-muted-foreground/50"></span>Checking feed…</div></div></div></header><div class="flex min-h-0 flex-1 flex-col overflow-y-auto px-4 py-5 lg:px-8 lg:py-6"><div class="mx-auto flex min-h-0 w-full max-w-[1600px] flex-1 flex-col"><p class="py-10 text-center text-[13px] text-muted-foreground">Checking sign-in…</p></div></div></main></div><!--$--><!--/$--><script id="_R_">(globalThis["TURBOPACK"] || (globalThis["TURBOPACK"] = [])).push({"otherChunks":["static/chunks/31qp8jfkw0x2h.js","static/chunks/1q292q_rc4_p6.js","static/chunks/2gvu8dyrhibpa.js"],"runtimeModuleIds":[94553]});</script><script src="/_next/static/chunks/31qp8jfkw0x2h.js?v=20261030165116471" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:\"/_next/static/chunks/3ia-1961js2lo.js?v=20261030165116471\"\n3:I[89554,[\"$2\"],\"ThemeProvider\"]\n4:I[39756,[\"$2\"],\"default\"]\n5:I[37457,[\"$2\"],\"default\"]\n7:\"/_next/static/chunks/2-sq6__g8tt5-.js?v=20261030165116471\"\n8:I[77167,[\"$2\",\"$7\"],\"MissionControl\"]\n9:I[97367,[\"$2\"],\"OutletBoundary\"]\na:\"$Sreact.suspense\"\nc:\"ViewportBoundary\"\nd:I[97367,[\"$2\"],\"$c\"]\nf:\"MetadataBoundary\"\n10:I[97367,[\"$2\"],\"$f\"]\n12:I[68027,[\"$2\"],\"default\",1]\n:HL[\"/_next/static/chunks/3in77zrqn0wml.css?v=20261030165116471\",\"style\"]\n:HC[\"/\",\"\"]\n:HL[\"/_next/static/chunks/1ix59xuhq-q14.css?v=20261030165116471\",\"style\"]\n6:[[\"children\",{\"s\":\"__PAGE__\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L8\",null,{}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/1ix59xuhq-q14.css?v=20261030165116471\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/2-sq6__g8tt5-.js?v=20261030165116471\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$a\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@b\"}]}]]}],\"p\":false,\"v\":null}}]]\n0:{\"P\":null,\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/3in77zrqn0wml.css?v=20261030165116471\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/3ia-1961js2lo.js?v=20261030165116471\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"font-sans antialiased\",\"children\":[\"$\",\"$L3\",null,{\"attribute\":\"class\",\"defaultTheme\":\"dark\",\"enableSystem\":true,\"storageKey\":\"agentmetry-theme\",\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]]}],\"p\":false,\"v\":null},\"c\":\"$Q6\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],[\"$\",\"$L10\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$a\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L11\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$12\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/3in77zrqn0wml.css?v=20261030165116471\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"WeG63GJUiLKY8KkqrAxN6\"}\ne:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n13:I[27201,[\"$2\"],\"IconMark\"]\nb:null\n11:[[\"$\",\"title\",\"0\",{\"children\":\"Agentmetry\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local flight recorder for AI coding agents\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/agentmetry-icon-white.svg\"}],[\"$\",\"link\",\"3\",{\"rel\":\"apple-touch-icon\",\"href\":\"/agentmetry-icon-white.svg\"}],[\"$\",\"$L13\",\"4\",{}]]\n"])</script></body></html>
@@ -16,7 +16,7 @@ f:"MetadataBoundary"
16
16
  :HC["/",""]
17
17
  :HL["/_next/static/chunks/1ix59xuhq-q14.css","style"]
18
18
  6:[["children",{"s":"__PAGE__","h":512,"d":{"r":["$","$1","c",{"children":[["$","$L8",null,{}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/1ix59xuhq-q14.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/2-sq6__g8tt5-.js","async":true,"nonce":"$undefined"}]],["$","$L9",null,{"children":["$","$a",null,{"name":"Next.MetadataOutlet","children":"$@b"}]}]]}],"p":false,"v":null}}]]
19
- 0:{"P":null,"c":["",""],"q":"","i":false,"t":{"t":{"s":"","h":528,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/3in77zrqn0wml.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/3ia-1961js2lo.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"font-sans antialiased","children":["$","$L3",null,{"attribute":"class","defaultTheme":"dark","enableSystem":true,"storageKey":"agentmetry-theme","children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],"p":false,"v":null},"c":"$Q6"},"h":{"r":["$","$1","h",{"children":[null,["$","$Ld",null,{"children":"$Le"}],["$","$L10",null,{"children":[["$","div",null,{"hidden":true,"children":["$","$a",null,{"name":"Next.Metadata","children":"$L11"}]}],null]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"p":false,"v":null}},"m":"$undefined","G":["$12",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/3in77zrqn0wml.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"B9YcBHt0iAnRAn2NpdHC2"}
19
+ 0:{"P":null,"c":["",""],"q":"","i":false,"t":{"t":{"s":"","h":528,"d":{"r":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/3in77zrqn0wml.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/3ia-1961js2lo.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":["$","body",null,{"className":"font-sans antialiased","children":["$","$L3",null,{"attribute":"class","defaultTheme":"dark","enableSystem":true,"storageKey":"agentmetry-theme","children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]}]]}],"p":false,"v":null},"c":"$Q6"},"h":{"r":["$","$1","h",{"children":[null,["$","$Ld",null,{"children":"$Le"}],["$","$L10",null,{"children":[["$","div",null,{"hidden":true,"children":["$","$a",null,{"name":"Next.Metadata","children":"$L11"}]}],null]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"p":false,"v":null}},"m":"$undefined","G":["$12",[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/3in77zrqn0wml.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"S":true,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"WeG63GJUiLKY8KkqrAxN6"}
20
20
  e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
21
21
  13:I[27201,["$2"],"IconMark"]
22
22
  b:null