Commit Graph

19 Commits

Author SHA1 Message Date
gilesb
1e542a1e0b Add numpy and opencv for effect dependencies
Effects commonly use numpy and opencv for video processing.
Without these, effects fail with confusing "Unknown effect" error.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 10:13:42 +00:00
gilesb
1e928ae771 Track artdag main branch instead of pinned commit
Avoids needing to update pin on every artdag change.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 10:03:16 +00:00
gilesb
4ba981ee8d Update artdag to f944713 (IPFS_API fix)
Pin artdag to commit that uses IPFS_API instead of IPFS_GATEWAY
for consistent IPFS access in Docker.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 10:01:40 +00:00
gilesb
b35fe3d7a7 Update artdag-common pin
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 08:33:25 +00:00
gilesb
124cf65138 Update artdag pin to include cid rename
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 08:32:09 +00:00
gilesb
cdd29e07f5 Pin artdag to commit with sexp module
Force Docker rebuild to install artdag with S-expression support.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 23:18:51 +00:00
gilesb
2e9ba46f19 Use UserContext from artdag_common, remove duplicate
- Updated requirements.txt to use art-common@11aa056 with l2_server field
- All routers now import UserContext from artdag_common
- Removed duplicate UserContext from auth_service.py
- dependencies.py sets l2_server from settings on user context

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 17:38:02 +00:00
gilesb
c0fe22313f Update artdag_common to fix auth token handling
New version defaults actor_id to @username when not in token,
and supports both artdag_session and auth_token cookies.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 16:07:43 +00:00
giles
828a958a7b Update artdag-common to 889ea98 with prose fix 2026-01-11 13:10:45 +00:00
giles
7c6b8d7170 Pin artdag-common to commit 2163cbd
Forces pip to fetch latest version with typography plugin.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 13:02:25 +00:00
giles
0ec1de3cb7 Add httpx dependency
Required by auth_service module.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 12:18:11 +00:00
giles
cc6be54a92 Add artdag-common dependency 2026-01-11 11:55:40 +00:00
gilesb
f52ec79860 Use direct HTTP API for IPFS instead of ipfshttpclient
Replace ipfshttpclient library with direct HTTP requests to IPFS API.
This fixes compatibility with newer Kubo versions (0.39.0+) which are
not supported by the outdated ipfshttpclient library.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 19:39:49 +00:00
gilesb
0c69c9c136 Fix ipfshttpclient version (0.7.0 is latest)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 15:04:13 +00:00
gilesb
ba244b9ebc Add PostgreSQL + IPFS backend, rename configs to recipes
- Add PostgreSQL database for cache metadata storage with schema for
  cache_items, item_types, pin_reasons, and l2_shares tables
- Add IPFS integration as durable backing store (local cache as hot storage)
- Add postgres and ipfs services to docker-compose.yml
- Update cache_manager to upload to IPFS and track CIDs
- Rename all config references to recipe throughout server.py
- Update API endpoints: /configs/* -> /recipes/*
- Update models: ConfigStatus -> RecipeStatus, ConfigRunRequest -> RecipeRunRequest
- Update UI tabs and pages to show Recipes instead of Configs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 14:58:29 +00:00
gilesb
4a99866602 Add config/recipe support for DAG-based jobs
- Add PyYAML dependency for parsing config files
- Add Pydantic models: VariableInput, FixedInput, ConfigStatus, ConfigRunRequest
- Add Redis storage functions for configs
- Add config YAML parsing with variable and fixed input detection
- Add config API endpoints: upload, list, get, delete, run
- Add config UI: Configs tab, list page, detail page with run form
- Add HTMX endpoints for config operations
- Add pinning on publish: configs and their fixed inputs are pinned
  when runs from configs are published to L2
- Clean up debug logging in cache_manager

Config YAML format supports:
- Fixed inputs: resolve asset hashes from registry
- Variable inputs: marked with `input: true`, filled at run time
- DAG definition with nodes and edges
- Registry of assets and effects

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 03:17:50 +00:00
gilesb
7adb63face feat: add file upload endpoint for remote cache 2026-01-07 12:57:09 +00:00
gilesb
ba20c2dc63 feat: L1 server with persistent run storage
- FastAPI server on port 8100
- POST /runs to start rendering jobs
- GET /runs/{id} to check status
- Cache and run persistence in Redis
- Auto-generated API docs at /docs

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 10:45:30 +00:00
gilesb
500e57b9a4 feat: distributed rendering with Celery
- celery_app.py: Celery configuration with Redis broker
- tasks.py: render_effect task with full provenance tracking
- render.py: CLI for submitting render jobs
- Successfully renders cat → dog with provenance chain

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 02:04:07 +00:00