Files
ai-agent/backend/project_costs.py
Gabriel Vidal e003071c89 feat(accounts): route spawns per Claude account, ingest the work transcripts, split every total
- /api/spawn takes account + projects (+ cwd): the chip wins, else the account
  owning a tagged project (orus-monorepo -> work), else personal; a work spawn
  starts in the account's repo. Stamped as meta.account; resume and fork always
  keep the session's own account (its transcript only exists there); cron/agent
  frontmatter gains account:.
- WORK_TRANSCRIPTS_DIR joins SOURCE_DIRS; the indexer stamps meta.accountSource
  on what it imports from it. _conv_meta always emits meta.account (stamp ->
  source -> cwd rule -> default); a project-less work conversation lands on
  orus-monorepo instead of the lab root.
- ?account= on activity/projects/skills/agents (+ the conversation list): the
  default view leaves out excludeFromTotals accounts; byAccount splits on
  activity, project costs and plan actuals. GET /api/accounts (+health=1 from
  the sidecar's claude auth status). OpenAPI + generated types refreshed.
- fix: NotifConversation notifications carry image (tsc was red on main).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-11 19:49:25 +02:00

4.5 KiB