4 Commits

Author SHA1 Message Date
Devin AI 94d4ba90d3 feat: add Copy Text and Download .docx buttons to response window
- Copy Text: copies raw markdown to clipboard with visual feedback
- Download .docx: converts markdown to a properly formatted Word
  document using the docx library (headings, bold/italic, lists,
  tables, blockquotes, links, horizontal rules)
- Both buttons appear below the response article after streaming ends
- docx/file-saver are lazy-loaded (dynamic import) so they don't
  bloat the initial bundle (~308 KB main vs ~407 KB docx chunk)

Co-Authored-By: alex <alex@semipublic.co>
2026-05-15 13:30:38 +00:00
Devin AI d1c5be112e migrate agent-proxy to Netlify Edge Function so long sessions stream end-to-end
The reconnect + events.list backfill in c283d88 is correct but never ran:
the previous v2 Node Function was killed at ~27 s (well before the 20 min
reconnect budget could matter), so streams always died after the first MCP
tool batch.

Move the proxy to a Netlify Edge Function (Deno runtime) which has no
streaming-duration cap as long as we keep writing to the response body.
Same reconnect / backfill / dedupe-by-event-id pattern; same NDJSON wire
protocol to the browser. Implemented with plain fetch() against the
Anthropic REST API (npm packages on Edge are beta) so we have no SDK
runtime dependency.

Frontend now POSTs to /api/agent-proxy. The Anthropic SDK is removed
from the package; @netlify/edge-functions is added for ambient types.

Co-Authored-By: alex <alex@semipublic.co>
2026-05-13 12:40:31 +00:00
alex aa8a2b9475 CSV fix 2026-05-11 23:28:15 -04:00
alex ea05c521c3 Initial 2026-05-11 22:27:54 -04:00