dropthejase rebuilds Louis on AWS's agent runtime

The fork swaps upstream's straightforward LLM-plus-tools setup for a full agent stack running on Amazon's Bedrock AgentCore.

draftinginfrastructure

dropthejase has carved out a dedicated agent workspace inside Louis and given it a real toolbox: read, find, list and fetch documents; generate Word files; edit documents with proper tracked changes; replicate documents; and browse workflows. The pieces share a citations library and document-context builders, so answers can point back to the source rather than float free.

The plumbing is just as deliberate. The agent runs on Bedrock AgentCore (AWS's hosted runtime for tool-using agents), authenticates users from their login token, hooks into a credits system, and has been migrated off Supabase onto Aurora - Amazon's managed Postgres - with a locked-down execution role for logging and model access. The tool definitions and citations library are the parts most easily lifted into other forks; the runtime wiring only matters if you're going all-in on AWS.

So what Worth a look for legal-tech teams weighing whether to build their drafting assistant as a bespoke LLM caller or lean on a cloud vendor's agent platform.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?

Commits in this thread

18 commits from dropthejase/louis, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
251e9c03 feat(agent): scaffold agent project Jason Lee 2026-05-06 ↗ GitHub
a5c9b69d feat(agent): add shared libs (secrets, supabase, storage, citations) Jason Lee 2026-05-06 ↗ GitHub
e1cbe922 feat(agent): add doc context builders Jason Lee 2026-05-06 ↗ GitHub
1991d944 feat(agent): add read_document, find_in_document, list_documents, fetch_documents tools Jason Lee 2026-05-06 ↗ GitHub
3cc52512 feat(agent): add generate_docx, edit_document, replicate_document tools Jason Lee 2026-05-06 ↗ GitHub
2c3be9bc feat(agent): add read_table_cells, list_workflows, read_workflow tools Jason Lee 2026-05-06 ↗ GitHub
6599ac1a feat(agent): add agent factory and Express entrypoint Jason Lee 2026-05-06 ↗ GitHub
4e162dd3 feat(agent): add Dockerfile and AgentCore config Jason Lee 2026-05-06 ↗ GitHub
80b71215 feat(agent): add deploy and invoke scripts Jason Lee 2026-05-06 ↗ GitHub
34dd571c Merge feature/agent: AgentCore Strands agent with 10 tools Jason Lee 2026-05-06 ↗ GitHub
7024448a refactor(agent): extract userId from JWT, remove chat_messages write, remove unused body fields Jason Lee 2026-05-07 ↗ GitHub
Extracts userId from Bearer JWT (sub claim) instead of trusting the
POST body, returns 401 if missing. Removes the assistant chat_messages
insert (frontend will own that write). Drops userId and messages from
the body type.
3d61162e feat(agent): wire real tracked-change edits in edit_document tool Jason Lee 2026-05-07 ↗ GitHub
commit body
Copies docxTrackedChanges.ts from backend into agent/src/lib/docx-tracked-changes.ts.
edit-document.ts now calls applyTrackedEdits() to produce real w:ins/w:del
markup instead of uploading the unchanged buffer. Adds fast-xml-parser
dependency required by the tracked-changes implementation.
d82c2674 chore(agent): update package-lock after npm install Jason Lee 2026-05-07 ↗ GitHub
9f58de0a feat(agent): create AgentCore execution role with CloudWatch Logs, X-Ray, and Bedrock permissions Jason Lee 2026-05-08 ↗ GitHub
d4323754 Migrate agent from Supabase to Aurora RDS Data API, add JWT userId extraction, add credits hook Jason Lee 2026-05-08 ↗ GitHub
a8c168ec Fix stale Supabase reference in agentcore.ts comment Jason Lee 2026-05-09 ↗ GitHub
cdc65caf refactor(main-agent): remove dead read_table_cells tool Jason Lee 2026-05-14 ↗ GitHub
No way to supply review_id to the main agent - tool was never callable
in practice. Tabular chat uses the dedicated tabular agent instead.
78cfd4e0 chore(main-agent): remove diagnostic STS identity logging and unused client-sts dependency Jason Lee 2026-05-14 ↗ GitHub

Capture this thread into my fork

Download a single Markdown prompt that tells Claude how to port every commit above into your working tree — adapting paths and structure to match your repo. Run it via claude -p < capture-thread-333.md from inside the repo you want the changes in.

⬇ Download capture-thread-333.md