@softspark/ai-toolkit 4.16.1 → 4.17.0

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 (49) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +9 -15
  3. package/app/.claude-plugin/plugin.json +1 -1
  4. package/app/hooks/session-end.sh +1 -13
  5. package/app/hooks.json +0 -10
  6. package/benchmarks/ecosystem-doctor-snapshot.json +14 -15
  7. package/bin/ai-toolkit.js +0 -2
  8. package/kb/history/completed/output-filter-retirement-20260726.md +128 -0
  9. package/kb/reference/architecture-overview.md +2 -3
  10. package/kb/reference/cli-reference.md +3 -13
  11. package/kb/reference/enterprise-config-guide.md +1 -21
  12. package/kb/reference/hooks-catalog.md +3 -60
  13. package/kb/reference/supported-tools-registry.md +0 -4
  14. package/llms-full.txt +143 -395
  15. package/llms.txt +1 -1
  16. package/manifest.json +147 -36
  17. package/package.json +1 -2
  18. package/scripts/claude_app.py +2 -21
  19. package/scripts/config_cli.py +4 -0
  20. package/scripts/config_merger.py +0 -17
  21. package/scripts/config_validator.py +11 -138
  22. package/scripts/doctor.py +3 -20
  23. package/scripts/install.py +2 -1
  24. package/scripts/install_steps/ai_tools.py +28 -99
  25. package/scripts/install_steps/hooks.py +26 -24
  26. package/scripts/merge-hooks.py +33 -2
  27. package/scripts/output_filter_retirement.py +395 -0
  28. package/scripts/schemas/ai-toolkit-config.schema.json +0 -60
  29. package/scripts/uninstall.py +13 -27
  30. package/app/hooks/filter-tool-output.sh +0 -76
  31. package/app/output-filter-policy.json +0 -15
  32. package/benchmarks/output-filter/README.md +0 -11
  33. package/benchmarks/output-filter/scenarios.json +0 -25
  34. package/kb/reference/tool-output-filter.md +0 -288
  35. package/scripts/benchmark_output_filter.py +0 -343
  36. package/scripts/output_filter_cli.py +0 -347
  37. package/scripts/output_filter_hook.py +0 -23
  38. package/scripts/tool_output_filter/__init__.py +0 -33
  39. package/scripts/tool_output_filter/contracts.py +0 -173
  40. package/scripts/tool_output_filter/engine.py +0 -260
  41. package/scripts/tool_output_filter/hook_runtime.py +0 -369
  42. package/scripts/tool_output_filter/input.py +0 -56
  43. package/scripts/tool_output_filter/invariants.py +0 -40
  44. package/scripts/tool_output_filter/policy.py +0 -153
  45. package/scripts/tool_output_filter/profiles/__init__.py +0 -68
  46. package/scripts/tool_output_filter/profiles/repeat_lines.py +0 -71
  47. package/scripts/tool_output_filter/profiles/tap_success.py +0 -154
  48. package/scripts/tool_output_filter/recovery.py +0 -846
  49. package/scripts/tool_output_filter/telemetry.py +0 -13
@@ -1,13 +0,0 @@
1
- """Metadata-only telemetry boundary."""
2
-
3
- from __future__ import annotations
4
-
5
- from .contracts import FilterTelemetry
6
-
7
-
8
- class TelemetrySink:
9
- """Receives content-free filter decision events."""
10
-
11
- def record(self, event: FilterTelemetry) -> None:
12
- """Record one event without raising into the filter path."""
13
- raise NotImplementedError