feat: redesign Ask as global pill with agent-driven UI actions (#304) #1174
Annotations
2 warnings and 2 notices
|
Complete job
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/setup-python@v5, astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
π’ Send notification to Discord
embed field value must be shorter than 1024, got 7073
[`f26e431`](https://github.com/SimplicityGuy/discogsography/commit/f26e431324a04a92b169561ce995427a9a2eec9a) feat: redesign Ask as global pill with agent-driven UI actions (#304)
* docs: add ask-mode integration design spec
Designs the Explore Ask feature redesign as a global floating pill with
agent-driven UI actions, dynamic suggestions, and a shared
common/agent_tools registry for the NLQ engine and MCP server.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: add ask-mode integration implementation plan
31 TDD tasks across 10 phases implementing the approved spec: shared
agent_tools registry, NLQ engine action contract, suggestions endpoint,
MCP server refactor, floating pill component with suggestions and action
applier, DOMPurify markdown renderer, summary strip, and E2E coverage.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat(common): scaffold agent_tools package
* feat(common): add agent_tools.graph.find_path
* test(common): add find_path target-missing and no-path error cases
* feat(common): add entity detail tools to agent_tools
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(common): add discovery and stats tools to agent_tools
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* refactor(api/nlq): delegate _handle_find_path to common.agent_tools
Replace the inline name-resolution + find_shortest_path logic in
NLQToolRunner._handle_find_path with a call to the shared
common.agent_tools.find_path, injecting a resolve_name closure that
wraps EXPLORE_DISPATCH (handles numeric pass-through, missing type
pass-through, and named lookups).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* refactor(api/nlq): delegate remaining _handle_* methods to common.agent_tools
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(api/nlq): add Action discriminated-union schema
Defines 10 Pydantic action types with a `type` literal discriminator for strict
JSON parsing. parse_action_list drops malformed entries with a warning log.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(api/nlq): NLQResult carries agent-emitted UI actions
Add actions: list[Action] field to NLQResult, an _extract_actions()
helper that strips the <!--actions:[...]--> marker from agent text,
and extend the system prompt so Claude knows to emit the marker.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(api/routers/nlq): emit actions SSE event before result
Add an `actions` SSE event between status events and the final `result`
event in `_stream_response`, and include `actions` in the non-SSE JSON
response branch for consistency.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(api/nlq): template-based suggestion engine
* feat(api/routers/nlq): add /api/nlq/suggestions endpoint
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* refactor(mcp-server): route find_path through common.agent_tools
Delegates mcp_server.find_path to common.agent_tools.find_path via
API-backed resolver closures (_api_get for name resolution, /api/path
for path traversal), so future shared tool additions automatically
benefit MCP clients without changes to server.py.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(explore): scaffold NlqPill component with collapsed state
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(explore): NlqPill expand/collapse with keyboard shortcuts
Add click-to-expand, βK/Ctrl+K, ? (when no input focused), Esc-to-collapse,
and expanded-state render with focused input to NlqPill. Install
@testing-library/dom for fireEvent in tests.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(explore): NlqSuggestions chip renderer and history store
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(explore): NlqPill wires suggestions into expanded card
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat(explore): NlqActionApplier with ord
|
|
π Collect metrics
Docker cache hit for brainzgraphinator
|
|
π Collect metrics
Service: brainzgraphinator, Duration: 135s, Cache Used: true
|
background
wait
wait-all
cancel
Loading