naftiko: 1.0.0-alpha2 info: label: Argo Workflows — EventSourceService description: 'Argo Workflows — EventSourceService. 7 operations. Lead operation: EventSourceService. Self-contained Naftiko capability covering one Argo Workflows business surface.' tags: - Argo Workflows - EventSourceService created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ARGO_WORKFLOWS_API_KEY: ARGO_WORKFLOWS_API_KEY capability: consumes: - type: http namespace: argo-workflows-eventsourceservice baseUri: http://localhost:2746 description: Argo Workflows — EventSourceService business capability. Self-contained, no shared references. resources: - name: api-v1-event-sources-namespace path: /api/v1/event-sources/{namespace} operations: - name: eventsourceservicelisteventsources method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: namespace in: path type: string required: true - name: listOptions.labelSelector in: query type: string description: A selector to restrict the list of returned objects by their labels. - name: listOptions.fieldSelector in: query type: string description: A selector to restrict the list of returned objects by their fields. - name: listOptions.watch in: query type: boolean description: Watch for changes to the described resources and return them as a stream of - name: listOptions.allowWatchBookmarks in: query type: boolean description: allowWatchBookmarks requests watch events with type "BOOKMARK". - name: listOptions.resourceVersion in: query type: string description: resourceVersion sets a constraint on what resource versions a request may be served from. - name: listOptions.resourceVersionMatch in: query type: string description: resourceVersionMatch determines how resourceVersion is applied to list calls. - name: listOptions.timeoutSeconds in: query type: string description: Timeout for the list/watch call. - name: listOptions.limit in: query type: string description: limit is a maximum number of responses to return for a list call. If more items exist, the - name: listOptions.continue in: query type: string description: The continue option should be set when retrieving more results from the server. Since this value is - name: listOptions.sendInitialEvents in: query type: boolean description: '`sendInitialEvents=true` may be set together with `watch=true`.' - name: eventsourceservicecreateeventsource method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: namespace in: path type: string required: true - name: body in: body type: string required: true - name: api-v1-event-sources-namespace-name path: /api/v1/event-sources/{namespace}/{name} operations: - name: eventsourceservicegeteventsource method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: namespace in: path type: string required: true - name: name in: path type: string required: true - name: eventsourceserviceupdateeventsource method: PUT description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: namespace in: path type: string required: true - name: name in: path type: string required: true - name: body in: body type: string required: true - name: eventsourceservicedeleteeventsource method: DELETE description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: namespace in: path type: string required: true - name: name in: path type: string required: true - name: deleteOptions.gracePeriodSeconds in: query type: string description: The duration in seconds before the object should be deleted. Value must be non-negative integer. - name: deleteOptions.preconditions.uid in: query type: string description: Specifies the target UID. - name: deleteOptions.preconditions.resourceVersion in: query type: string description: Specifies the target ResourceVersion - name: deleteOptions.orphanDependents in: query type: boolean description: 'Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7.' - name: deleteOptions.propagationPolicy in: query type: string description: Whether and how garbage collection will be performed. - name: deleteOptions.dryRun in: query type: array description: When present, indicates that modifications should not be - name: deleteOptions.ignoreStoreReadErrorWithClusterBreakingPotential in: query type: boolean description: if set to true, it will trigger an unsafe deletion of the resource in - name: api-v1-stream-event-sources-namespace path: /api/v1/stream/event-sources/{namespace} operations: - name: eventsourceservicewatcheventsources method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: namespace in: path type: string required: true - name: listOptions.labelSelector in: query type: string description: A selector to restrict the list of returned objects by their labels. - name: listOptions.fieldSelector in: query type: string description: A selector to restrict the list of returned objects by their fields. - name: listOptions.watch in: query type: boolean description: Watch for changes to the described resources and return them as a stream of - name: listOptions.allowWatchBookmarks in: query type: boolean description: allowWatchBookmarks requests watch events with type "BOOKMARK". - name: listOptions.resourceVersion in: query type: string description: resourceVersion sets a constraint on what resource versions a request may be served from. - name: listOptions.resourceVersionMatch in: query type: string description: resourceVersionMatch determines how resourceVersion is applied to list calls. - name: listOptions.timeoutSeconds in: query type: string description: Timeout for the list/watch call. - name: listOptions.limit in: query type: string description: limit is a maximum number of responses to return for a list call. If more items exist, the - name: listOptions.continue in: query type: string description: The continue option should be set when retrieving more results from the server. Since this value is - name: listOptions.sendInitialEvents in: query type: boolean description: '`sendInitialEvents=true` may be set together with `watch=true`.' - name: api-v1-stream-event-sources-namespace-logs path: /api/v1/stream/event-sources/{namespace}/logs operations: - name: eventsourceserviceeventsourceslogs method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: namespace in: path type: string required: true - name: name in: query type: string description: optional - only return entries for this event source. - name: eventSourceType in: query type: string description: optional - only return entries for this event source type (e.g. `webhook`). - name: eventName in: query type: string description: optional - only return entries for this event name (e.g. `example`). - name: grep in: query type: string description: optional - only return entries where `msg` matches this regular expression. - name: podLogOptions.container in: query type: string description: The container for which to stream logs. Defaults to only container if there is one container in the pod. - name: podLogOptions.follow in: query type: boolean description: Follow the log stream of the pod. Defaults to false. - name: podLogOptions.previous in: query type: boolean description: Return previous terminated container logs. Defaults to false. - name: podLogOptions.sinceSeconds in: query type: string description: A relative time in seconds before the current time from which to show logs. If this value - name: podLogOptions.sinceTime.seconds in: query type: string description: Represents seconds of UTC time since Unix epoch - name: podLogOptions.sinceTime.nanos in: query type: integer description: Non-negative fractions of a second at nanosecond resolution. Negative - name: podLogOptions.timestamps in: query type: boolean description: If true, add an RFC3339 or RFC3339Nano timestamp at the beginning of every line - name: podLogOptions.tailLines in: query type: string description: If set, the number of lines from the end of the logs to show. If not specified, - name: podLogOptions.limitBytes in: query type: string description: If set, the number of bytes to read from the server before terminating the - name: podLogOptions.insecureSkipTLSVerifyBackend in: query type: boolean description: insecureSkipTLSVerifyBackend indicates that the apiserver should not confirm the validity of the - name: podLogOptions.stream in: query type: string description: Specify which container log stream to return to the client. exposes: - type: rest namespace: argo-workflows-eventsourceservice-rest port: 8080 description: REST adapter for Argo Workflows — EventSourceService. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v1/event-sources/{namespace} name: api-v1-event-sources-namespace description: REST surface for api-v1-event-sources-namespace. operations: - method: GET name: eventsourceservicelisteventsources description: eventsourceservicelisteventsources call: argo-workflows-eventsourceservice.eventsourceservicelisteventsources with: namespace: rest.namespace listOptions.labelSelector: rest.listOptions.labelSelector listOptions.fieldSelector: rest.listOptions.fieldSelector listOptions.watch: rest.listOptions.watch listOptions.allowWatchBookmarks: rest.listOptions.allowWatchBookmarks listOptions.resourceVersion: rest.listOptions.resourceVersion listOptions.resourceVersionMatch: rest.listOptions.resourceVersionMatch listOptions.timeoutSeconds: rest.listOptions.timeoutSeconds listOptions.limit: rest.listOptions.limit listOptions.continue: rest.listOptions.continue listOptions.sendInitialEvents: rest.listOptions.sendInitialEvents outputParameters: - type: object mapping: $. - method: POST name: eventsourceservicecreateeventsource description: eventsourceservicecreateeventsource call: argo-workflows-eventsourceservice.eventsourceservicecreateeventsource with: namespace: rest.namespace body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v1/event-sources/{namespace}/{name} name: api-v1-event-sources-namespace-name description: REST surface for api-v1-event-sources-namespace-name. operations: - method: GET name: eventsourceservicegeteventsource description: eventsourceservicegeteventsource call: argo-workflows-eventsourceservice.eventsourceservicegeteventsource with: namespace: rest.namespace name: rest.name outputParameters: - type: object mapping: $. - method: PUT name: eventsourceserviceupdateeventsource description: eventsourceserviceupdateeventsource call: argo-workflows-eventsourceservice.eventsourceserviceupdateeventsource with: namespace: rest.namespace name: rest.name body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: eventsourceservicedeleteeventsource description: eventsourceservicedeleteeventsource call: argo-workflows-eventsourceservice.eventsourceservicedeleteeventsource with: namespace: rest.namespace name: rest.name deleteOptions.gracePeriodSeconds: rest.deleteOptions.gracePeriodSeconds deleteOptions.preconditions.uid: rest.deleteOptions.preconditions.uid deleteOptions.preconditions.resourceVersion: rest.deleteOptions.preconditions.resourceVersion deleteOptions.orphanDependents: rest.deleteOptions.orphanDependents deleteOptions.propagationPolicy: rest.deleteOptions.propagationPolicy deleteOptions.dryRun: rest.deleteOptions.dryRun deleteOptions.ignoreStoreReadErrorWithClusterBreakingPotential: rest.deleteOptions.ignoreStoreReadErrorWithClusterBreakingPotential outputParameters: - type: object mapping: $. - path: /v1/api/v1/stream/event-sources/{namespace} name: api-v1-stream-event-sources-namespace description: REST surface for api-v1-stream-event-sources-namespace. operations: - method: GET name: eventsourceservicewatcheventsources description: eventsourceservicewatcheventsources call: argo-workflows-eventsourceservice.eventsourceservicewatcheventsources with: namespace: rest.namespace listOptions.labelSelector: rest.listOptions.labelSelector listOptions.fieldSelector: rest.listOptions.fieldSelector listOptions.watch: rest.listOptions.watch listOptions.allowWatchBookmarks: rest.listOptions.allowWatchBookmarks listOptions.resourceVersion: rest.listOptions.resourceVersion listOptions.resourceVersionMatch: rest.listOptions.resourceVersionMatch listOptions.timeoutSeconds: rest.listOptions.timeoutSeconds listOptions.limit: rest.listOptions.limit listOptions.continue: rest.listOptions.continue listOptions.sendInitialEvents: rest.listOptions.sendInitialEvents outputParameters: - type: object mapping: $. - path: /v1/api/v1/stream/event-sources/{namespace}/logs name: api-v1-stream-event-sources-namespace-logs description: REST surface for api-v1-stream-event-sources-namespace-logs. operations: - method: GET name: eventsourceserviceeventsourceslogs description: eventsourceserviceeventsourceslogs call: argo-workflows-eventsourceservice.eventsourceserviceeventsourceslogs with: namespace: rest.namespace name: rest.name eventSourceType: rest.eventSourceType eventName: rest.eventName grep: rest.grep podLogOptions.container: rest.podLogOptions.container podLogOptions.follow: rest.podLogOptions.follow podLogOptions.previous: rest.podLogOptions.previous podLogOptions.sinceSeconds: rest.podLogOptions.sinceSeconds podLogOptions.sinceTime.seconds: rest.podLogOptions.sinceTime.seconds podLogOptions.sinceTime.nanos: rest.podLogOptions.sinceTime.nanos podLogOptions.timestamps: rest.podLogOptions.timestamps podLogOptions.tailLines: rest.podLogOptions.tailLines podLogOptions.limitBytes: rest.podLogOptions.limitBytes podLogOptions.insecureSkipTLSVerifyBackend: rest.podLogOptions.insecureSkipTLSVerifyBackend podLogOptions.stream: rest.podLogOptions.stream outputParameters: - type: object mapping: $. - type: mcp namespace: argo-workflows-eventsourceservice-mcp port: 9090 transport: http description: MCP adapter for Argo Workflows — EventSourceService. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: eventsourceservicelisteventsources description: eventsourceservicelisteventsources hints: readOnly: true destructive: false idempotent: true call: argo-workflows-eventsourceservice.eventsourceservicelisteventsources with: namespace: tools.namespace listOptions.labelSelector: tools.listOptions.labelSelector listOptions.fieldSelector: tools.listOptions.fieldSelector listOptions.watch: tools.listOptions.watch listOptions.allowWatchBookmarks: tools.listOptions.allowWatchBookmarks listOptions.resourceVersion: tools.listOptions.resourceVersion listOptions.resourceVersionMatch: tools.listOptions.resourceVersionMatch listOptions.timeoutSeconds: tools.listOptions.timeoutSeconds listOptions.limit: tools.listOptions.limit listOptions.continue: tools.listOptions.continue listOptions.sendInitialEvents: tools.listOptions.sendInitialEvents outputParameters: - type: object mapping: $. - name: eventsourceservicecreateeventsource description: eventsourceservicecreateeventsource hints: readOnly: false destructive: false idempotent: false call: argo-workflows-eventsourceservice.eventsourceservicecreateeventsource with: namespace: tools.namespace body: tools.body outputParameters: - type: object mapping: $. - name: eventsourceservicegeteventsource description: eventsourceservicegeteventsource hints: readOnly: true destructive: false idempotent: true call: argo-workflows-eventsourceservice.eventsourceservicegeteventsource with: namespace: tools.namespace name: tools.name outputParameters: - type: object mapping: $. - name: eventsourceserviceupdateeventsource description: eventsourceserviceupdateeventsource hints: readOnly: false destructive: false idempotent: true call: argo-workflows-eventsourceservice.eventsourceserviceupdateeventsource with: namespace: tools.namespace name: tools.name body: tools.body outputParameters: - type: object mapping: $. - name: eventsourceservicedeleteeventsource description: eventsourceservicedeleteeventsource hints: readOnly: false destructive: true idempotent: true call: argo-workflows-eventsourceservice.eventsourceservicedeleteeventsource with: namespace: tools.namespace name: tools.name deleteOptions.gracePeriodSeconds: tools.deleteOptions.gracePeriodSeconds deleteOptions.preconditions.uid: tools.deleteOptions.preconditions.uid deleteOptions.preconditions.resourceVersion: tools.deleteOptions.preconditions.resourceVersion deleteOptions.orphanDependents: tools.deleteOptions.orphanDependents deleteOptions.propagationPolicy: tools.deleteOptions.propagationPolicy deleteOptions.dryRun: tools.deleteOptions.dryRun deleteOptions.ignoreStoreReadErrorWithClusterBreakingPotential: tools.deleteOptions.ignoreStoreReadErrorWithClusterBreakingPotential outputParameters: - type: object mapping: $. - name: eventsourceservicewatcheventsources description: eventsourceservicewatcheventsources hints: readOnly: true destructive: false idempotent: true call: argo-workflows-eventsourceservice.eventsourceservicewatcheventsources with: namespace: tools.namespace listOptions.labelSelector: tools.listOptions.labelSelector listOptions.fieldSelector: tools.listOptions.fieldSelector listOptions.watch: tools.listOptions.watch listOptions.allowWatchBookmarks: tools.listOptions.allowWatchBookmarks listOptions.resourceVersion: tools.listOptions.resourceVersion listOptions.resourceVersionMatch: tools.listOptions.resourceVersionMatch listOptions.timeoutSeconds: tools.listOptions.timeoutSeconds listOptions.limit: tools.listOptions.limit listOptions.continue: tools.listOptions.continue listOptions.sendInitialEvents: tools.listOptions.sendInitialEvents outputParameters: - type: object mapping: $. - name: eventsourceserviceeventsourceslogs description: eventsourceserviceeventsourceslogs hints: readOnly: true destructive: false idempotent: true call: argo-workflows-eventsourceservice.eventsourceserviceeventsourceslogs with: namespace: tools.namespace name: tools.name eventSourceType: tools.eventSourceType eventName: tools.eventName grep: tools.grep podLogOptions.container: tools.podLogOptions.container podLogOptions.follow: tools.podLogOptions.follow podLogOptions.previous: tools.podLogOptions.previous podLogOptions.sinceSeconds: tools.podLogOptions.sinceSeconds podLogOptions.sinceTime.seconds: tools.podLogOptions.sinceTime.seconds podLogOptions.sinceTime.nanos: tools.podLogOptions.sinceTime.nanos podLogOptions.timestamps: tools.podLogOptions.timestamps podLogOptions.tailLines: tools.podLogOptions.tailLines podLogOptions.limitBytes: tools.podLogOptions.limitBytes podLogOptions.insecureSkipTLSVerifyBackend: tools.podLogOptions.insecureSkipTLSVerifyBackend podLogOptions.stream: tools.podLogOptions.stream outputParameters: - type: object mapping: $.