apiVersion: capability.naftiko.dev/v1alpha1 kind: Capability metadata: name: treasury-reporting provider: currencylayer description: | Generate a treasury-style daily FX exposure report: pull a window of daily rates for the reporting period via /timeframe, summarize per-currency change via /change, and publish a normalized report ready for downstream accounting systems. spec: uses: - sharedCapability: currencylayer-shared operations: [getTimeFrame, getChange, listCurrencies] preconditions: - description: Caller subscription must include /timeframe (Enterprise) and /change (Enterprise Plus). workflow: - step: discoverSymbols operation: listCurrencies purpose: Materialize the supported symbol set used to validate report inputs. - step: pullDailyRates operation: getTimeFrame parameters: start_date: "{{ input.start_date }}" end_date: "{{ input.end_date }}" source: "{{ input.source | default: 'USD' }}" currencies: "{{ input.currencies }}" - step: summarizeChange operation: getChange parameters: start_date: "{{ input.start_date }}" end_date: "{{ input.end_date }}" source: "{{ input.source | default: 'USD' }}" currencies: "{{ input.currencies }}" outputs: dailyQuotes: "{{ pullDailyRates.quotes }}" change: "{{ summarizeChange.quotes }}" reportingWindow: start: "{{ input.start_date }}" end: "{{ input.end_date }}" source: "{{ input.source | default: 'USD' }}" governance: minPlan: "Enterprise Plus" httpsRequired: true cadence: Daily