Today GET /api/v1/here?path=/explore answers the same generic forge actions as /, so an agent on the explore or search page is not told that GET /api/v1/explore?q= and GET /api/v1/search?q= (MCP explore, search) exist.
Done:
[ ] In src/actions/here.ts, /explore answers here: {kind: "explore"} and /search answers here: {kind: "search"}. Each puts first the read it pages through, with the query from ?q= carried over (GET /api/v1/explore?q=kind:app and MCP explore with {q}), then the forge's usual actions.
[ ] The forge's actions for everyone also list explore and search, with no account needed.
[ ] Tests: anonymous and signed-in reads of both paths, one with a query; a path that is not a forge page keeps today's answer.
Files: src/actions/here.ts, a test.
Before pushing: bun x tsc --noEmit and the tests you touched.
Today
GET /api/v1/here?path=/exploreanswers the same generic forge actions as/, so an agent on the explore or search page is not told thatGET /api/v1/explore?q=andGET /api/v1/search?q=(MCPexplore,search) exist.Done:
src/actions/here.ts,/exploreanswershere: {kind: "explore"}and/searchanswershere: {kind: "search"}. Each puts first the read it pages through, with the query from?q=carried over (GET /api/v1/explore?q=kind:appand MCPexplorewith{q}), then the forge's usual actions.exploreandsearch, with no account needed.Files: src/actions/here.ts, a test. Before pushing:
bun x tsc --noEmitand the tests you touched.