daybook/artifacts
peter f6f004c689 v0.3.2: add GET /api/artifacts/{id}/raw for content read-back
Metadata (GET /api/artifacts/{id}) stays metadata-only; the full content now
has its own endpoint so an agent can verify exactly what it posted.

- New ArtifactRawView at /api/artifacts/{id}/raw: bearer-or-session auth,
  owner-scoped. Serves exact source text (markdown/html_full/json/csv), file
  bytes (image/pdf/binary), or 404 for render-only kinds (html_fragment/deck).
  Reuses raw_artifact_path/safe_artifact_path.
- serialize_artifact exposes api_raw_url; /api/capabilities advertises the
  route. (The old /a/{id}?raw= viewer stays session-only for browsers.)
- Docs + tests (exact content, owner-scoping, 403 unauth, 404 render-only).
  Suite: 136 passing; verified live.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-04 15:20:37 +01:00
..
migrations Release v0.2.0: multiple named API keys per user 2026-09-04 10:52:43 +01:00
templatetags v0.3.0: rename app Daybook -> AgentFeed 2026-09-04 13:10:28 +01:00
__init__.py Initial public commit 2026-09-01 21:55:02 +01:00
admin.py v0.2.1: top-bar avatar, You/Admin settings groups, admin models 2026-09-04 11:33:23 +01:00
apps.py Initial public commit 2026-09-01 21:55:02 +01:00
demo_data.py Initial public commit 2026-09-01 21:55:02 +01:00
exception_handlers.py v0.3.0: rename app Daybook -> AgentFeed 2026-09-04 13:10:28 +01:00
forms.py v0.3.0: rename app Daybook -> AgentFeed 2026-09-04 13:10:28 +01:00
models.py v0.3.0: rename app Daybook -> AgentFeed 2026-09-04 13:10:28 +01:00
storage.py Fix concurrent posts racing past quota (issue #010) 2026-09-02 15:22:37 +01:00
urls.py v0.3.2: add GET /api/artifacts/{id}/raw for content read-back 2026-09-04 15:20:37 +01:00
views.py v0.3.2: add GET /api/artifacts/{id}/raw for content read-back 2026-09-04 15:20:37 +01:00