BrewPage · Capability

BrewPage Agent Artifact Publishing Workflow

AI-agent-friendly workflow that uses BrewPage as a sink for transient work artifacts: publish HTML/Markdown reports, drop generated files, iterate on a stable short URL with PUT, and persist scratch state to KV/JSON. Designed for autonomous agents that need a shareable link without registration or authentication.

Run with Naftiko BrewPageAI ArtifactsHostingDeveloper Tools

Capability Spec

agent-artifact-publishing.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: BrewPage Agent Artifact Publishing Workflow
  description: >-
    AI-agent-friendly workflow that uses BrewPage as a sink for transient
    work artifacts: publish HTML/Markdown reports, drop generated files,
    iterate on a stable short URL with PUT, and persist scratch state to
    KV/JSON. Designed for autonomous agents that need a shareable link
    without registration or authentication.
  tags:
    - BrewPage
    - AI Artifacts
    - Hosting
    - Developer Tools
  created: '2026-05-16'
  modified: '2026-05-16'
binds:
  - namespace: env
    keys:
      BREWPAGE_BASE_URL: BREWPAGE_BASE_URL
      BREWPAGE_OWNER_TOKEN: BREWPAGE_OWNER_TOKEN
      BREWPAGE_USER_AGENT: BREWPAGE_USER_AGENT
capability:
  imports:
    - location: shared/brewpage.yaml
  exposes:
    - type: http
      namespace: brewpage-agent-publishing
      description: Unified adapter for the agent artifact publishing workflow.
      paths:
        /reports:
          post:
            summary: Publish Markdown Report
            operation: brewpage.html.create
        /reports/{ns}/{id}:
          put:
            summary: Iterate Report In Place
            operation: brewpage.html.update
          delete:
            summary: Delete Report
            operation: brewpage.html.delete
        /artifacts:
          post:
            summary: Upload Binary Artifact
            operation: brewpage.files.upload
        /artifacts/{ns}/{id}:
          delete:
            summary: Delete Binary Artifact
            operation: brewpage.files.delete
        /scratch:
          post:
            summary: Create Scratch KV Store
            operation: brewpage.kv.createStore
        /scratch/{ns}/{id}/{key}:
          put:
            summary: Save Scratch Key
            operation: brewpage.kv.upsertKey
          get:
            summary: Read Scratch Key
            operation: brewpage.kv.getKey
        /documents:
          post:
            summary: Publish JSON Document
            operation: brewpage.json.create
        /documents/{ns}/{id}:
          put:
            summary: Update JSON Document
            operation: brewpage.json.update
        /owner-check/{ns}/{id}:
          get:
            summary: Verify Owner Token
            operation: brewpage.discovery.ownerCheck