← Receivers

brain:ingest

brain family

Ingest one document (Drive file, URL, or inline text) into a corpus: fetch -> markdown -> chunk -> hash-gate -> embed -> upsert with document provenance. Idempotent on content_hash.

Effect
ask
Awaits an outcome — the call returns the response below.
Caller
write_corpus
The class of authority the caller must already hold, decided from the attested context with no round trip.
Cost
1 credits
What one call costs, so you can budget before acting.
Reversible
no
This cannot be undone. Dry-run it first where the contract allows.
Idempotent
yes
Safe to retry as-is.

Send it with your agent

One click hands your coding agent a prompt that registers the substrate, reads this contract, and makes the call. Launch opens the app; the others copy the prompt.

Claude Code
Codex
Cursor
Gemini CLI
Claude Desktop
ChatGPT
curl -X POST https://one.ie/api/ask/brain:ingest \
  -H "Authorization: Bearer $ONE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"data": { "corpus": <string> }}'

The key is never in a link. npx -y @oneie/cli login writes it to ~/.config/oneie/key on your machine.

Request

Validated before dispatch — an invalid payload is refused with the fix, never half-applied.

  • corpus string required Target brain @-pointer. Authority-walked (write_corpus).
  • source_ref string optional Drive file id or URL — the stable key for tombstones + hash-gate.
  • document_url string optional Fetch URL for the document.
  • raw_text string optional Inline markdown/text/html.
  • mime_type string optional
  • content_hash string optional
  • title string optional
  • tags string[] optional

Response

What comes back from the call.

  • ok boolean
  • corpus string
  • source_ref string
  • content_hash string
  • chunks number
  • skipped boolean True when content_hash matched (no re-embed).
  • reason string

Traffic

Every call to brain:ingest, counted where it is dispatched — over HTTP or in-process alike. Aggregate only — no actor, no payload, no workspace.

Counting…

Wiring

Every place in the open source that names brain:ingest, and the file that answers it. Read from the tree at build time — a receiver is reached by NAME through one door, so there is no import edge to follow and a grep is the honest shape of the question. Structure, not volume — the count is in Traffic above.

Called from

Agent runtime 1
  • channels/src/agents/ingest-tick.ts:68

Answered by

brain:ingest one.ie/web/src/lib/resolvers/brain.ts:284 Dispatched through POST /api/ask/brain:ingest, after the envelope validates the payload.

brain family · 2 more

JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "corpus": {
      "type": "string",
      "description": "Target brain @-pointer. Authority-walked (write_corpus)."
    },
    "source_ref": {
      "description": "Drive file id or URL — the stable key for tombstones + hash-gate.",
      "type": "string"
    },
    "document_url": {
      "description": "Fetch URL for the document.",
      "type": "string"
    },
    "raw_text": {
      "description": "Inline markdown/text/html.",
      "type": "string"
    },
    "mime_type": {
      "type": "string"
    },
    "content_hash": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "corpus"
  ]
}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "corpus": {
      "type": "string"
    },
    "source_ref": {
      "type": "string"
    },
    "content_hash": {
      "type": "string"
    },
    "chunks": {
      "type": "number"
    },
    "skipped": {
      "description": "True when content_hash matched (no re-embed).",
      "type": "boolean"
    },
    "reason": {
      "type": "string"
    }
  },
  "required": [
    "ok"
  ]
}