naftiko: 1.0.0-alpha2 info: label: tRPC OpenAPI Example — Procedures description: 'tRPC OpenAPI Example — Procedures. 4 operations. Lead operation: Batch Procedures. Self-contained Naftiko capability covering one Trpc business surface.' tags: - Trpc - Procedures created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: TRPC_API_KEY: TRPC_API_KEY capability: consumes: - type: http namespace: trpc-procedures baseUri: https://your-server.example.com/api/trpc description: tRPC OpenAPI Example — Procedures business capability. Self-contained, no shared references. resources: - name: batch path: /batch operations: - name: batchprocedures method: POST description: Batch Procedures outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: health path: /health operations: - name: healthcheck method: GET description: Health Check outputRawFormat: json outputParameters: - name: result type: object value: $. - name: procedure path: /{procedure} operations: - name: queryprocedure method: GET description: Query Procedure outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: procedure in: path type: string description: The procedure path (e.g., `userRouter.getUser`, `post.list`). Nested routers use dot notation. required: true - name: input in: query type: string description: JSON-encoded procedure input - name: batch in: query type: string description: Enables batching mode for this single request - name: mutationprocedure method: POST description: Mutation Procedure outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: procedure in: path type: string description: The mutation procedure path required: true - name: body in: body type: object description: Request body (JSON). required: false authentication: type: bearer token: '{{env.TRPC_API_KEY}}' exposes: - type: rest namespace: trpc-procedures-rest port: 8080 description: REST adapter for tRPC OpenAPI Example — Procedures. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/batch name: batch description: REST surface for batch. operations: - method: POST name: batchprocedures description: Batch Procedures call: trpc-procedures.batchprocedures with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/health name: health description: REST surface for health. operations: - method: GET name: healthcheck description: Health Check call: trpc-procedures.healthcheck outputParameters: - type: object mapping: $. - path: /v1/{procedure} name: procedure description: REST surface for procedure. operations: - method: GET name: queryprocedure description: Query Procedure call: trpc-procedures.queryprocedure with: procedure: rest.procedure input: rest.input batch: rest.batch outputParameters: - type: object mapping: $. - method: POST name: mutationprocedure description: Mutation Procedure call: trpc-procedures.mutationprocedure with: procedure: rest.procedure body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: trpc-procedures-mcp port: 9090 transport: http description: MCP adapter for tRPC OpenAPI Example — Procedures. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: batch-procedures description: Batch Procedures hints: readOnly: false destructive: false idempotent: false call: trpc-procedures.batchprocedures with: body: tools.body outputParameters: - type: object mapping: $. - name: health-check description: Health Check hints: readOnly: true destructive: false idempotent: true call: trpc-procedures.healthcheck outputParameters: - type: object mapping: $. - name: query-procedure description: Query Procedure hints: readOnly: true destructive: false idempotent: true call: trpc-procedures.queryprocedure with: procedure: tools.procedure input: tools.input batch: tools.batch outputParameters: - type: object mapping: $. - name: mutation-procedure description: Mutation Procedure hints: readOnly: false destructive: false idempotent: false call: trpc-procedures.mutationprocedure with: procedure: tools.procedure body: tools.body outputParameters: - type: object mapping: $.