Skip to content

Releases

v0.1.10

Choose a tag to compare

@DarKWinGTM DarKWinGTM released this 15 May 21:44

Updated

  • Updated hooks/webfetch-scraper.cjs so handled extraction substitution emits the same deny/replacement JSON contract but exits 0 instead of surfacing as a hook-command failure.
  • Updated hooks/websearch-custom.cjs so handled success and handled deny/error decisions now exit 0 while keeping tool ownership in hookSpecificOutput.permissionDecision.
  • Updated verify.sh to assert the hook decision transport contract directly for handled WebSearch success, handled WebSearch deny/error, and handled WebFetch substitution paths.
  • Updated README, design, TODO, phase, and patch surfaces to describe the normalized source-owned contract and source-first reinstall path.

Notes

  • Non-zero exit codes are now reserved for actual hook-command failure rather than normal handled decision transport.
  • Source verification now catches the checked regression class before runtime reinstall.

v0.1.9

Choose a tag to compare

@DarKWinGTM DarKWinGTM released this 10 Apr 14:16

Updated

  • Render the CCS MCP failed-run fallback block in result-first order so the fallback search result appears before the preserved raw CCS error
  • Extend verification to assert the new result-first guidance text and fallback-result-before-error section order
  • Sync README, design, and TODO wording to the stronger failure-fallback visibility contract without changing the existing PostToolUseFailure -> additionalContext transport

Notes

  • Successful CCS MCP runs still use PostToolUse -> updatedMCPToolOutput
  • Failed CCS MCP runs still use PostToolUseFailure -> additionalContext
  • This release improves visibility only; it does not change MCP ownership or claim failed-run updatedMCPToolOutput support

v0.1.8

Choose a tag to compare

@DarKWinGTM DarKWinGTM released this 06 Apr 06:51

Summary

  • add CCS MCP WebSearch failure fallback through PostToolUseFailure
  • keep successful CCS MCP runs on the bounded dual-output path via updatedMCPToolOutput
  • sync README, design, changelog, TODO, phase, patch, install, uninstall, settings example, and verification coverage

Verification

  • bash ./verify.sh --target all
  • user reload + in-session testing passed before push/release

v0.1.7

Choose a tag to compare

@DarKWinGTM DarKWinGTM released this 04 Apr 09:38

Summary

  • add a PostToolUse MCP companion hook so CCS MCP WebSearch can keep its original result while appending a claude-code-web-hooks companion result
  • update install, uninstall, settings example, verification, and governance docs for the dual-output CCS MCP coexistence contract
  • verify Claude Code, Copilot VS Code, and Copilot CLI targets still pass after the coexistence update

Test plan

  • ./verify.sh --target claude-code
  • ./verify.sh --target all
  • ./install.sh --target claude-code --with-ccs-mcp-pass-through
  • in-session mcp__ccs-websearch__WebSearch run shows both the preserved CCS result and the appended companion result

🤖 Generated with Claude Code

v0.1.6

Choose a tag to compare

@DarKWinGTM DarKWinGTM released this 03 Apr 20:43

Summary

  • add explicit non-blocking coexistence support for the CCS MCP WebSearch tool mcp__ccs-websearch__WebSearch
  • keep native WebSearch as the only substitution path owned by this repo
  • add optional --with-ccs-mcp-pass-through install/uninstall support instead of claiming the MCP matcher by default
  • add governed phase + patch artifacts and sync README/design/changelog/TODO/verification for the coexistence boundary

Verification

  • ./verify.sh --target claude-code
  • ./verify.sh --target all
  • verified allow-only pass-through for mcp__ccs-websearch__WebSearch
  • verified no substituted MCP results and no duplicate provider execution in the MCP path

Commit

  • 47301ae Add CCS MCP WebSearch coexistence.

v0.1.5

Choose a tag to compare

@DarKWinGTM DarKWinGTM released this 03 Apr 05:29

Summary

  • add explicit copilot-cli target support alongside claude-code, copilot-vscode, and all
  • adapt the Copilot wrapper pair to handle both VS Code payloads (tool_name / tool_input) and Copilot CLI payloads (toolName / stringified toolArgs)
  • switch the repo hook config under .github/hooks/claude-code-web-hooks.json to official Copilot CLI shape with version: 1 and preToolUse
  • sync install, uninstall, verify, README, design, TODO, changelog, and phase docs with the shipped Copilot CLI compatibility rollout

Verification

  • ./verify.sh --target copilot-vscode
  • ./verify.sh --target copilot-cli
  • ./verify.sh --target all

Commits

  • 13a1e6c Add Copilot CLI target compatibility.
  • 0a1a34d Finalize release sync after Copilot CLI rollout.

v0.1.4

Choose a tag to compare

@DarKWinGTM DarKWinGTM released this 02 Apr 19:38

Summary

  • add target-aware install, uninstall, and verify support for claude-code, copilot-vscode, and all
  • add Copilot-on-VS-Code compatibility wrappers for WebSearch and WebFetch
  • add workspace Copilot hook example under .github/hooks/
  • update README, design, changelog, TODO, and phase planning for the multiple-target rollout

Verification

  • ./verify.sh --target all passes
  • Claude Code path remains supported
  • Copilot wrapper compatibility probe passes
  • WebFetch extraction backends continue to support ordered fallback with native escape behavior

Commit

  • f68665e

v0.1.3

Choose a tag to compare

@DarKWinGTM DarKWinGTM released this 28 Mar 11:44

Summary

  • add selectable WebFetch extraction backends across WebSearchAPI.ai Scrape, Tavily Extract, and Exa Contents
  • support one active backend per request with ordered fallback across the remaining providers
  • preserve native Claude WebFetch as the final escape hatch
  • add shared extraction-provider contract, policy, config helpers, and provider adapters
  • refine WebFetch template-heavy detection for low-text structured portal pages
  • update install/uninstall/settings/verify/docs/phase files for the new runtime model

Verification

  • fixture classification remains correct for article/template-heavy/browser-shell cases
  • extraction provider policy checks now cover PRIMARY selection, random no-PRIMARY selection, and ordered fallback behavior
  • real-key smoke completed for Tavily Extract and Exa Contents

Notes

  • this release updates the repo/runtime model and documentation for three interchangeable WebFetch extraction backends
  • commit: 295a52a

v0.1.2

Choose a tag to compare

@DarKWinGTM DarKWinGTM released this 26 Mar 23:32

Overview

This release expands the search layer with Exa support, simplifies public search mode guidance, and normalizes timeout/probe environment names while keeping backward compatibility for legacy names.

Added

  • Exa Search provider adapter
  • Exa configuration examples in settings.example.json
  • richer parallel search-result behavior that returns all successful provider results and reports partial provider failures

Updated

  • public search-mode guidance now focuses on fallback and parallel
  • README now explains fallback and parallel step-by-step
  • provider-order and SEARCH_PRIMARY behavior are documented more clearly
  • phase docs and verification flow were synchronized with the current implementation state

Env naming improvements

Preferred env names now include:

  • CLAUDE_WEB_HOOKS_SEARCH_TIMEOUT
  • TAVILY_SEARCH_TIMEOUT
  • EXA_SEARCH_TIMEOUT
  • WEBFETCH_PROBE_TIMEOUT
  • WEBFETCH_PROBE_MAX_HTML_BYTES
  • WEBFETCH_SCRAPER_TIMEOUT

Backward compatibility

Legacy timeout names are still accepted for now, so existing configs do not break immediately.

Current defaults

  • CLAUDE_WEB_HOOKS_SEARCH_MODE=parallel
  • CLAUDE_WEB_HOOKS_SEARCH_PROVIDERS=tavily,websearchapi

Notes

  • native fallback remains fully permissive when custom execution cannot complete successfully
  • WebFetch still uses the current WebSearchAPI scraper fallback path
  • Exa is currently added as a search-layer provider

v0.1.1

Choose a tag to compare

@DarKWinGTM DarKWinGTM released this 24 Mar 10:13

Overview

This release advances Claude Code Web Hooks from a single-provider search path into a documented multi-provider search architecture.

Highlights

  • Added multi-provider WebSearch architecture
  • Added Tavily Search support
  • Added provider policy layer with single, fallback, and parallel modes
  • Set current default search behavior to:
    • CLAUDE_WEB_HOOKS_SEARCH_MODE=parallel
    • CLAUDE_WEB_HOOKS_SEARCH_PROVIDERS=tavily,websearchapi
  • Preserved fully permissive native fallback behavior

Included in this release

  • role-based hook entry filenames:
    • websearch-custom.cjs
    • webfetch-scraper.cjs
  • shared provider modules:
    • failure policy helper
    • search provider contract
    • search provider policy
    • WebSearchAPI.ai adapter
    • Tavily Search adapter
  • phase planning workspace for multi-provider implementation
  • updated README, design, changelog, TODO, settings example, installer, uninstaller, and verification script

Why it matters

This release improves Claude Code behavior in custom-endpoint workflows where native/server-side search processing may not be available or may be unreliable.

Notes

  • WebSearch now supports WebSearchAPI.ai and Tavily Search
  • WebFetch still uses the current WebSearchAPI scraper fallback path
  • Architecture remains open to future search/extract provider expansion