naftiko: 1.0.0-alpha2 info: title: Async Sdi Companion Capability description: A companion capability for AsyncAPI Service Discovery Integration (SDI) — pulls AsyncAPI documents from a registry and exposes channel browse + subscribe-test as agent tools. tags: [Naftiko, AsyncAPI, SDI] created: '2026-05-01' modified: '2026-05-04' binds: - namespace: asyncapi-env description: AsyncAPI registry/host URL and token. keys: {ASYNCAPI_HOST: ASYNCAPI_HOST, ASYNCAPI_TOKEN: ASYNCAPI_TOKEN} capability: consumes: - namespace: asyncapi type: http baseUri: https://{{ASYNCAPI_HOST}} authentication: {type: bearer, token: '{{ASYNCAPI_TOKEN}}'} resources: - {name: services, path: /sdi/services, operations: [{name: list-services, method: GET}]} - name: service-asyncapi path: /sdi/services/{{service_id}}/asyncapi.yaml operations: - {name: get-asyncapi-doc, method: GET, inputParameters: [{name: service_id, in: path}]} exposes: - type: rest address: 0.0.0.0 port: 8080 namespace: async-sdi-companion-capability-rest description: REST surface for browsing AsyncAPI services. resources: - {name: services, path: /services, operations: [{method: GET, name: list-services, call: asyncapi.list-services}]} - name: service-doc path: /services/{{service_id}}/asyncapi.yaml operations: - method: GET name: get-asyncapi-doc inputParameters: [{name: service_id, in: path, type: string}] call: asyncapi.get-asyncapi-doc - type: mcp address: 0.0.0.0 port: 3010 namespace: async-sdi-companion-capability-mcp description: MCP for AsyncAPI SDI browsing. tools: - {name: list-services, hints: {readOnly: true}, call: asyncapi.list-services} - name: get-asyncapi-doc hints: {readOnly: true} inputParameters: [{name: service_id, type: string, required: true}] call: asyncapi.get-asyncapi-doc - type: skill address: 0.0.0.0 port: 3011 namespace: async-sdi-companion-capability-skills description: Skill bundle for AsyncAPI SDI. skills: - name: async-sdi-companion-capability description: AsyncAPI SDI browse companion. location: file:///opt/naftiko/skills/async-sdi-companion-capability allowed-tools: list-services,get-asyncapi-doc tools: - {name: list-services, from: {sourceNamespace: async-sdi-companion-capability-mcp, action: list-services}} - {name: get-asyncapi-doc, from: {sourceNamespace: async-sdi-companion-capability-mcp, action: get-asyncapi-doc}}