Skip to content

feat(core): surface the ask tier at the tool layer - #179

Merged
Mearman merged 2 commits into
mainfrom
feat/ask-tier-ux
Sep 17, 2026
Merged

Mearman merged 2 commits into
mainfrom
feat/ask-tier-ux

Conversation

@Mearman

@Mearman Mearman commented Sep 17, 2026

Copy link
Copy Markdown
Member

Closes #165

Adds the generic, capability-agnostic admission surface for the ask tier: a capability-request that lands in neither allow (a held token already answers canGrant) nor deny (canGrant says no and resolveBubbleUpRoute finds no route to bubble up to) is held open and surfaced to the owning agent, mirroring the shape RoomProtocol's own pendingRoomJoins/acceptRoomJoin/rejectRoomJoin and ConnectionApproval's own connection_request admission already establish, generalised the way the issue asks for.

  • CapabilityAskAdmission (src/core/capability-ask.ts), built directly on wire-mesh-core's createCapabilityRequestHandler.
  • capability_request delivery event, capability_pending/capability_accept/capability_reject tool actions, wired through MeshStore and CommsTool.
  • MeshStore.createCapabilityAskHandler is the registration point a capability-gated verb (e.g. agent-comms#162's dm:send) wires into its own session to get a ready manage-request handler backed by this admission's live pending state.

More work in progress on this branch.

…apability requests

Holds an incoming capability-request open exactly as RoomProtocol's own
pendingRoomJoins and ConnectionApproval's own pendingInboundConnections
already do, surfacing each one as a capability_request event a human can
act on. Built directly on wire-mesh-core's createCapabilityRequestHandler
(the same ask primitive agent-comms#164's bubble-up module builds on),
so accepting a held ask mints and returns the granted token exactly as
core/room's own room.join admission does.
…ending actions

Adds a capability_request DeliveryEvent variant and capability_pending/
capability_accept/capability_reject CommsAction variants, wires them
through MeshStore (constructing a CapabilityAskAdmission and exposing
createCapabilityAskHandler as the registration point a capability-gated
verb uses) and CommsTool, and registers the new actions in the MCP tool
schema and every exhaustive DeliveryEvent switch.
@Mearman
Mearman marked this pull request as ready for review September 17, 2026 17:18
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 17, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
🔒 Security Review Completed 2026-09-17T17:26:46.484525Z f5fe9d7 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@Mearman
Mearman merged commit 84b5d7c into main Sep 17, 2026
6 checks passed
@Mearman
Mearman deleted the feat/ask-tier-ux branch September 17, 2026 17:19
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 3.11.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Ask-tier surfacing in the tool layer

1 participant