Files
openprose__prose/packages/std/delivery/webhook-notifier.prose.md
dan 624e75ad89 Refresh OpenProse skill conventions (#51)
* Refresh OpenProse skill conventions

* Align OpenProse skill with service system conventions

* Fix OpenProse PR review inconsistencies

* Clarify OpenProse state backend loading

* Enforce OpenProse smoke run state gate
2026-05-01 15:06:40 -04:00

1.6 KiB

name, kind
name kind
webhook-notifier service

Shape

  • self: deliver content to an HTTP endpoint via webhook
  • delegates: none
  • prohibited:
    • modifying the content substance — you serialize and deliver
    • you do not edit

Requires

  • content: structured output to deliver
  • url: the destination HTTP endpoint
  • method: (optional, default "POST") HTTP method — one of "POST", "PUT", "PATCH"
  • headers: (optional) additional HTTP headers as key-value pairs (e.g. Content-Type, X-Custom-Header)
  • auth: (optional) authentication configuration — one of: bearer token string, basic auth credentials, or header-based API key

Ensures

  • response_status: the HTTP status code returned by the endpoint
  • response_body: the response body from the endpoint (may be empty)
  • delivered: confirmation with timestamp

Errors

  • request-failed: the HTTP request could not be completed (DNS failure, connection refused, non-2xx status)
  • timeout: the endpoint did not respond within the configured timeout window
  • auth-failed: the provided authentication credentials were rejected (401/403)

Invariants

  • content is serialized faithfully — no fields added, removed, or transformed beyond format encoding

Strategies

  • when auth is a bearer token: include it as Authorization: Bearer header
  • when auth is basic credentials: include it as Authorization: Basic header
  • when auth is an API key: include it in the specified header
  • when no Content-Type header is provided: default to application/json
  • when response status is non-2xx: signal request-failed with the status code and response body for diagnosis