naftiko: 1.0.0-alpha2 info: label: fabric Cart — Items description: 'fabric Cart — Items. 8 operations. Lead operation: Create Item. Self-contained Naftiko capability covering one fabric business surface.' tags: - Fabric - Items created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: FABRIC_ACCESS_TOKEN: FABRIC_ACCESS_TOKEN capability: consumes: - type: http namespace: cart-items baseUri: https://api.fabric.inc/v3 description: fabric Cart — Items consumed operations from fabric-cart-openapi.yml. resources: - name: carts-cartid-items path: /carts/{cartId}/items operations: - name: create-item method: POST description: 'Create Item' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: cartId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: carts-cartid-items-itemid-fees path: /carts/{cartId}/items/{itemId}/fees operations: - name: create-item-fee method: POST description: 'Create Item Fee' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: cartId in: path type: string required: true - name: itemId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: carts-cartid-items-itemid-adjustments path: /carts/{cartId}/items/{itemId}/adjustments operations: - name: create-item-adjustment method: POST description: 'Create Item Adjustment' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: cartId in: path type: string required: true - name: itemId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: carts-cartid-items-itemid path: /carts/{cartId}/items/{itemId} operations: - name: get-item method: GET description: 'Get Item' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: cartId in: path type: string required: true - name: itemId in: path type: string required: true - name: delete-item method: DELETE description: 'Delete Item' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: cartId in: path type: string required: true - name: itemId in: path type: string required: true - name: update-item method: PATCH description: 'Update Item' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: cartId in: path type: string required: true - name: itemId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: carts-cartid-items-itemid-fees-feeid path: /carts/{cartId}/items/{itemId}/fees/{feeId} operations: - name: delete-item-fee method: DELETE description: 'Delete Item Fee' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: cartId in: path type: string required: true - name: itemId in: path type: string required: true - name: feeId in: path type: string required: true - name: update-item-fee method: PATCH description: 'Update Item Fee' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: cartId in: path type: string required: true - name: itemId in: path type: string required: true - name: feeId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer value: '{{env.FABRIC_ACCESS_TOKEN}}' placement: header exposes: - type: rest namespace: cart-items-rest port: 8080 description: REST adapter for fabric Cart — Items. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/carts/{cartId}/items name: carts-cartid-items description: REST surface for carts-cartid-items. operations: - method: POST name: create-item description: 'Create Item' call: cart-items.create-item with: cartId: rest.path.cartId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/carts/{cartId}/items/{itemId}/fees name: carts-cartid-items-itemid-fees description: REST surface for carts-cartid-items-itemid-fees. operations: - method: POST name: create-item-fee description: 'Create Item Fee' call: cart-items.create-item-fee with: cartId: rest.path.cartId itemId: rest.path.itemId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/carts/{cartId}/items/{itemId}/adjustments name: carts-cartid-items-itemid-adjustments description: REST surface for carts-cartid-items-itemid-adjustments. operations: - method: POST name: create-item-adjustment description: 'Create Item Adjustment' call: cart-items.create-item-adjustment with: cartId: rest.path.cartId itemId: rest.path.itemId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/carts/{cartId}/items/{itemId} name: carts-cartid-items-itemid description: REST surface for carts-cartid-items-itemid. operations: - method: GET name: get-item description: 'Get Item' call: cart-items.get-item with: cartId: rest.path.cartId itemId: rest.path.itemId outputParameters: - type: object mapping: $. - method: DELETE name: delete-item description: 'Delete Item' call: cart-items.delete-item with: cartId: rest.path.cartId itemId: rest.path.itemId outputParameters: - type: object mapping: $. - method: PATCH name: update-item description: 'Update Item' call: cart-items.update-item with: cartId: rest.path.cartId itemId: rest.path.itemId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/carts/{cartId}/items/{itemId}/fees/{feeId} name: carts-cartid-items-itemid-fees-feeid description: REST surface for carts-cartid-items-itemid-fees-feeid. operations: - method: DELETE name: delete-item-fee description: 'Delete Item Fee' call: cart-items.delete-item-fee with: cartId: rest.path.cartId itemId: rest.path.itemId feeId: rest.path.feeId outputParameters: - type: object mapping: $. - method: PATCH name: update-item-fee description: 'Update Item Fee' call: cart-items.update-item-fee with: cartId: rest.path.cartId itemId: rest.path.itemId feeId: rest.path.feeId body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: cart-items-mcp port: 9090 transport: http description: MCP adapter for fabric Cart — Items. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: fabric-create-item description: 'Create Item' hints: readOnly: false destructive: false idempotent: false call: cart-items.create-item with: cartId: tools.cartId body: tools.body outputParameters: - type: object mapping: $. - name: fabric-create-item-fee description: 'Create Item Fee' hints: readOnly: false destructive: false idempotent: false call: cart-items.create-item-fee with: cartId: tools.cartId itemId: tools.itemId body: tools.body outputParameters: - type: object mapping: $. - name: fabric-create-item-adjustment description: 'Create Item Adjustment' hints: readOnly: false destructive: false idempotent: false call: cart-items.create-item-adjustment with: cartId: tools.cartId itemId: tools.itemId body: tools.body outputParameters: - type: object mapping: $. - name: fabric-get-item description: 'Get Item' hints: readOnly: true destructive: false idempotent: true call: cart-items.get-item with: cartId: tools.cartId itemId: tools.itemId outputParameters: - type: object mapping: $. - name: fabric-delete-item description: 'Delete Item' hints: readOnly: false destructive: true idempotent: true call: cart-items.delete-item with: cartId: tools.cartId itemId: tools.itemId outputParameters: - type: object mapping: $. - name: fabric-update-item description: 'Update Item' hints: readOnly: false destructive: false idempotent: false call: cart-items.update-item with: cartId: tools.cartId itemId: tools.itemId body: tools.body outputParameters: - type: object mapping: $. - name: fabric-delete-item-fee description: 'Delete Item Fee' hints: readOnly: false destructive: true idempotent: true call: cart-items.delete-item-fee with: cartId: tools.cartId itemId: tools.itemId feeId: tools.feeId outputParameters: - type: object mapping: $. - name: fabric-update-item-fee description: 'Update Item Fee' hints: readOnly: false destructive: false idempotent: false call: cart-items.update-item-fee with: cartId: tools.cartId itemId: tools.itemId feeId: tools.feeId body: tools.body outputParameters: - type: object mapping: $.