agent-first-psql 0.3.1

Persistent PostgreSQL client for AI agents — SQL-native JSONL in, JSONL out
{
  "$schema": "https://cmn.dev/schemas/v1/spore-core.json",
  "id": "agent-first-psql",
  "name": "Agent-First PSQL",
  "version": "0.3.1",
  "domain": "cmn.dev",
  "key": "ed25519.7BmCWmBb2YeUWR7pmHvwAvi9wRm96VpZsJvZFSTfc2Uu",
  "synopsis": "Persistent PostgreSQL client for AI agents — JSONL in, JSONL out, connection lifecycle managed transparently",
  "intent": [
    "Give AI agents a persistent PostgreSQL client that reuses long-lived database connections and sessions, so agents send SQL requests as JSONL and receive structured JSONL responses without managing connection setup",
    "Bridge ad-hoc psql shell usage and protocol-specific integrations by providing transport-neutral, agent-native request and response framing",
    "Provide predictable machine-readable outputs for row sets, command status, and errors so agent workflows can branch without parsing human-formatted terminal output"
  ],
  "mutations": [
    "Apply redaction policy to SQL result output — Result and ResultRows events use RedactionTraceOnly to preserve query payload while redacting trace metadata, ensuring sensitive column values are never masked by the output layer",
    "Protect rows field in non-JSON output formats by serializing it as an opaque JSON string, preventing YAML and plain formatters from re-interpreting SQL row data and corrupting its structure",
    "Apply per-event redaction policy in MCP mode before assembling the events array, consistent with CLI and pipe modes",
    "Update agent-first-data dependency to 0.7.0, which adds YAML and plain-text output format support"
  ],
  "license": "MIT",
  "bonds": [
    {
      "relation": "spawned_from",
      "uri": "cmn://cmn.dev/b3.8ESkL1akt6peTpnmx3kmmmQVFMgjfmu9hYauVX169i2d"
    },
    {
      "relation": "depends_on",
      "uri": "cmn://cmn.dev/b3.CXRG2dKsx1Dgmw5zVCydwcLKF1zCKcEqhS1UDewyqjCu",
      "id": "agent-first-data",
      "reason": "All request/response fields use Agent-First Data suffix conventions and output formats"
    }
  ],
  "tree": {
    "algorithm": "blob_tree_blake3_nfc",
    "exclude_names": [
      ".git"
    ],
    "follow_rules": [
      ".gitignore"
    ]
  }
}