Add proxy endpoints to Cloudflare Worker for AI services, keeping
API credentials server-side for better security architecture.
Changes:
- Add fal.ai proxy endpoints (/api/fal/*) for image generation
- Add RunPod proxy endpoints (/api/runpod/*) for image, video, text, whisper
- Update client code to use proxy pattern:
- useLiveImage.tsx (fal.ai live image generation)
- VideoGenShapeUtil.tsx (video generation)
- ImageGenShapeUtil.tsx (image generation)
- runpodApi.ts (whisper transcription)
- llmUtils.ts (LLM text generation)
- Add Environment types for AI service configuration
- Improve Automerge migration: compare shape counts between formats
to prevent data loss during format conversion
To deploy, set secrets:
wrangler secret put FAL_API_KEY
wrangler secret put RUNPOD_API_KEY
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add pin functionality to ImageGen and VideoGen shapes
- Refactor ImageGen to use StandardizedToolWrapper with tags support
- Update StandardizedToolWrapper: grey tags, fix button overlap, improve header drag
- Fix index validation in AutomergeToTLStore for old format indices
- Update wrangler.toml with latest compatibility date and RunPod endpoint docs
- Refactor VideoGen to use captured editor reference for consistency
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add index sanitization in Board.tsx to fix "Expected an index key"
validation errors when selecting shapes with old format indices
- Improve RunPod error handling to properly display status messages
(IN_PROGRESS, IN_QUEUE, FAILED) instead of generic errors
- Update wrangler.toml with current compatibility date and document
RunPod endpoint configuration for reference
- Add sanitizeIndex helper function to convert invalid indices like
"b1" to valid tldraw fractional indices like "a1"
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Moved wrangler.toml and wrangler.dev.toml from worker/ to root directory to fix Cloudflare Pages deployment. Updated package.json scripts to reference new config locations. This resolves the "Missing entry-point to Worker script" error during Pages builds.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Move wrangler.toml to worker/wrangler.toml to separate Worker and Pages configurations.
Cloudflare Pages was trying to read wrangler.toml and failing because it contained
Worker-specific configuration (Durable Objects, migrations, etc.) that Pages doesn't support.
Changes:
- Move wrangler.toml → worker/wrangler.toml
- Update deploy scripts to use --config worker/wrangler.toml
- Pages deployment now uses Cloudflare dashboard configuration only
This resolves the deployment error:
"Configuration file cannot contain both 'main' and 'pages_build_output_dir'"
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add Cloudflare Pages configuration to wrangler.toml to resolve deployment warning.
This tells Cloudflare Pages where to find the built static files (dist directory).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>