Commit Graph
74 Commits
Author SHA1 Message Date
ZacharyZhang-NY abe578b1a0 Harden provider security and build dependencies 2026-06-07 14:04:32 -04:00
ZacharyZhang-NY d5a7665893 Create project collaboration surface 2026-06-07 13:41:53 -04:00
ZacharyZhang-NY 8eec454927 Queue agent runs from chat mentions 2026-06-07 13:34:27 -04:00
ZacharyZhang-NY 6f23ac2877 Route agent messages to department channels and thread hand-offs between agents 2026-05-30 10:50:36 -04:00
ZacharyZhang-NY cc876e6e16 Fetch live provider model lists instead of the hardcoded catalog 2026-05-30 00:51:42 -04:00
ZacharyZhang-NY c6e29d7fbe Make organization deletion cascade through credentials and immutable audit logs 2026-05-30 00:13:24 -04:00
ZacharyZhang-NY e14a4bfce8 Let agents post coordination messages so company channels are populated 2026-05-29 23:35:33 -04:00
ZacharyZhang-NY e7fa60d6b6 Auto-approve agent work in AI CEO mode instead of gating on the operator 2026-05-29 23:27:37 -04:00
ZacharyZhang-NY 4d2425dde0 Run the agent loop on Azure, Bedrock and Vertex too
Every catalog provider can now drive agent execution:
- Azure OpenAI -> Chat Completions at the deployment URL with api-key
- AWS Bedrock -> Converse API signed natively with SigV4 (node:crypto)
- Vertex AI -> Gemini generateContent with a service-account JWT (RS256)
  exchanged for a cached access token

The credential resolver maps each cloud profile to the turn's needs; the router
covers all 16 providers. Pure encoders, the SigV4 signer and the GCP auth are
unit-tested; no AWS/GCP SDK dependency.
2026-05-29 22:43:42 -04:00
ZacharyZhang-NY 6c68836455 Add custom OpenAI- and Anthropic-compatible providers
New 'Custom OpenAI-compatible' and 'Custom Anthropic-compatible' providers let
an agent run against any compatible endpoint by base URL + key: the turn posts
Chat Completions (/chat/completions) or Anthropic Messages (/v1/messages) at the
configured base URL. Backfilled into existing orgs by migration 037.
2026-05-29 22:36:56 -04:00
ZacharyZhang-NY 937fdfa23f Run the agent loop on every provider, not just API keys
The loop was gated to API-key providers, so a GPT-account (Codex) CEO failed
with 'requires an API-key provider'. Port Pi's actual request handlers natively
so every agent-capable provider runs:
- chat-completions turn for xAI, Groq, Mistral, Cerebras, OpenRouter
- Codex SSE Responses for GPT account
- Anthropic-OAuth (Claude Code system + beta headers) for Claude Pro/Max
- Copilot proxy (baseUrl from the token) for GitHub Copilot
- Gemini Code Assist for Google Antigravity

A credential resolver refreshes expired OAuth access tokens at request time and
persists the rotation; the runner routes by provider key and passes the resolved
credential. The heartbeat now retries failed tasks (bounded to 3 attempts) so a
run that failed on the old gate recovers automatically. Cloud providers
(Azure/Bedrock/Vertex) still report a clear unsupported message.
2026-05-29 22:22:24 -04:00
ZacharyZhang-NY 0575712e02 Run the CEO agent autonomously with a real tool-use loop
The new app reached a real LLM but never ran an agent: the kickoff task_run
sat queued forever and runTask was a single text completion with no tools.

This adds the missing runtime:
- provider-tool-turn: OpenAI Responses + Anthropic Messages tool-use turns
- agent-tools + deliverable-writer: hire_agent, create_task,
  update_task_status, write_deliverable (workspace-scoped, traversal-safe)
- agent-run-loop: real tool-use loop, capped iterations
- task-queue-worker: claims queued runs in a transaction and executes them

task-execution now drives the loop; a background worker auto-runs the
bootstrap CEO run so it hires its team, delegates tasks, and writes the first
deliverable into the bound workspace. Autonomy is gated by AGENTCOMPANY_NEW_AUTORUN
(tests run with it off to stay hermetic).
2026-05-29 21:08:04 -04:00
ZacharyZhang-NY 9ce1281054 Add Claude Pro/Max, Mistral, Cerebras and OpenRouter connectors
Closes the Anthropic OAuth gap with a native Claude Pro/Max device sign-in
(reusing the OAuth engine) and adds three OpenAI-compatible API-key
providers. Model lists are sourced from the provider registry. A backfill
migration seeds the new providers into existing organizations idempotently.
2026-05-29 20:19:01 -04:00
ZacharyZhang-NY 49a9f16221 Replace token-paste with native device-code/PKCE provider sign-in
Implement the official OAuth login flows natively (ported from pi-ai's
reference): GitHub Copilot device-code, GPT account (ChatGPT Codex) and
Google Antigravity authorization-code + PKCE via a loopback callback server.
Obtained credentials are stored as JSON through the existing secret vault.
Onboarding and Settings now run the real sign-in instead of pasting an
access token.
2026-05-29 20:08:55 -04:00
ZacharyZhang-NY c43f29299f Route collaboration slash commands 2026-05-23 23:21:00 -04:00
ZacharyZhang-NY 7c978c6a10 Strengthen file scan evidence 2026-05-23 23:16:40 -04:00
ZacharyZhang-NY 9cc4c3b44a Scope task run isolation 2026-05-23 23:09:13 -04:00
ZacharyZhang-NY 648544114a Record provider auth sessions 2026-05-23 23:03:09 -04:00
ZacharyZhang-NY 216d485c58 Run skill revision tests 2026-05-23 22:56:06 -04:00
ZacharyZhang-NY 16855b696a Resolve migration reconciliation items 2026-05-23 22:46:50 -04:00
ZacharyZhang-NY 971bdd95e6 Resolve skills during task execution 2026-05-23 22:42:39 -04:00
ZacharyZhang-NY ddd3b09bd1 Redact employee references during GDPR delete 2026-05-23 22:38:31 -04:00
ZacharyZhang-NY 689fe861f1 Make audit events immutable 2026-05-23 22:35:35 -04:00
ZacharyZhang-NY 20c8ef6ef3 Record browser action evidence metadata 2026-05-23 22:33:33 -04:00
ZacharyZhang-NY de90d6e944 Audit provider sign-in launches by employee 2026-05-23 22:20:16 -04:00
ZacharyZhang-NY 335d57b77f Scope provider requests to workspaces 2026-05-23 22:16:37 -04:00
ZacharyZhang-NY ee5eff7725 Execute approval decisions from chat slash commands 2026-05-23 22:08:38 -04:00
ZacharyZhang-NY 5b68c629c4 Block GDPR delete through related holds 2026-05-23 22:03:42 -04:00
ZacharyZhang-NY e78e9a8aa0 Audit chat message mutations 2026-05-23 21:59:16 -04:00
ZacharyZhang-NY c59be97b79 Gate task execution on approval source refs 2026-05-23 21:52:52 -04:00
ZacharyZhang-NY 4dbd8997c0 Add file handoff audit records 2026-05-23 21:45:49 -04:00
ZacharyZhang-NY babbf07cb2 Add migration validation summary gate 2026-05-23 21:35:21 -04:00
ZacharyZhang-NY 62ac397459 Add migration cutover reconciliation journal 2026-05-23 21:30:44 -04:00
ZacharyZhang-NY a21d35a165 Add immutable social audit records 2026-05-23 21:23:44 -04:00
ZacharyZhang-NY eab282d8b1 Add browser platform governance records 2026-05-23 21:17:03 -04:00
ZacharyZhang-NY 18e0c6338e Add structured chat delivery records 2026-05-23 21:04:59 -04:00
ZacharyZhang-NY a27658b56f Wire task runs to provider gateway 2026-05-23 20:58:00 -04:00
ZacharyZhang-NY e5946f25c8 Add provider background recovery lifecycle 2026-05-23 20:34:26 -04:00
ZacharyZhang-NY 08364c2571 Wire provider streaming request lifecycle 2026-05-23 20:20:14 -04:00
ZacharyZhang-NY 6805d8a624 Add provider streaming and cancel contracts 2026-05-23 20:04:28 -04:00
ZacharyZhang-NY d6e797e2b9 Add provider rate limit registry 2026-05-23 19:50:20 -04:00
ZacharyZhang-NY 9e44cbb31b Add provider credential revocation 2026-05-23 19:39:18 -04:00
ZacharyZhang-NY 0388e1003b Add provider rate limit snapshot state 2026-05-23 19:30:11 -04:00
ZacharyZhang-NY c6be8a4ee4 Add provider auth broker profiles 2026-05-23 19:23:55 -04:00
ZacharyZhang-NY 89763592de Add rollback snapshot controls 2026-05-23 18:57:18 -04:00
ZacharyZhang-NY 6768d19239 Add thread audit replay controls 2026-05-23 18:48:14 -04:00
ZacharyZhang-NY bbf90a1a62 Add SDLC review and eval controls 2026-05-23 18:39:05 -04:00
ZacharyZhang-NY bc14a2fbcb Add operations controls and SLO drills 2026-05-23 18:26:56 -04:00
ZacharyZhang-NY 7116ae2a7b Add organization governance controls 2026-05-23 18:13:00 -04:00
ZacharyZhang-NY 1d7757c88b Add identity access controls 2026-05-23 17:58:42 -04:00