Commit Graph
39 Commits
Author SHA1 Message Date
ZacharyZhang-NY cc876e6e16 Fetch live provider model lists instead of the hardcoded catalog 2026-05-30 00:51:42 -04:00
ZacharyZhang-NY 61f2162236 Wake CEO-hired agents via heartbeat so delegated tasks run autonomously
The queue worker now also enqueues one run per actionable assigned task of a
heartbeat-enabled agent with an enabled provider and no run yet, so after the
CEO hires and delegates, its reports start their tasks on their own. Each task
is enqueued at most once. The team-building prompt is now scoped to managers
(no manager) with an empty team, so reports execute their task instead.
2026-05-29 21:12:09 -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 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 c3c00d5d2e Edit agent role, seniority, and model from the roster 2026-05-28 23:11:22 -04:00
ZacharyZhang-NY 69ae525cb7 Open files and replace the file row menu with real actions 2026-05-28 22:36:31 -04:00
ZacharyZhang-NY 86bb8f36cb Attach files from the chat composer via the file picker 2026-05-28 22:27:49 -04:00
ZacharyZhang-NY db679cfeb9 Add a native workspace directory picker to onboarding
Onboarding only accepted a typed workspace path, which is error-prone and
diverged from the original wizard. Add a pickDirectory IPC backed by Electron's
open-directory dialog and a Choose button beside the path field, so the founder
can select a real folder for agent artifacts.
2026-05-28 20:43:26 -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 de90d6e944 Audit provider sign-in launches by employee 2026-05-23 22:20:16 -04:00
ZacharyZhang-NY e78e9a8aa0 Audit chat message mutations 2026-05-23 21:59:16 -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 9e44cbb31b Add provider credential revocation 2026-05-23 19:39:18 -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 1d7757c88b Add identity access controls 2026-05-23 17:58:42 -04:00
ZacharyZhang-NY 276929b855 Add provider policy usage controls 2026-05-23 17:48:46 -04:00
ZacharyZhang-NY 1ee877e630 Add permission aware search 2026-05-23 17:34:50 -04:00
ZacharyZhang-NY 38c68ca4af Add compliance controls 2026-05-23 17:25:29 -04:00
ZacharyZhang-NY 28007b3691 Add provider health adapters 2026-05-23 16:53:42 -04:00
ZacharyZhang-NYandAmp 6d99f515c7 feat(new): enforce social publishing governance
Amp-Thread-ID: https://ampcode.com/threads/T-019e55df-9bcd-73e6-9935-c1e6238cd273
Co-authored-by: Amp <amp@ampcode.com>
2026-05-23 14:18:34 -04:00
ZacharyZhang-NY 04e77d8905 feat(new): harden skill revisions 2026-05-23 13:50:45 -04:00
ZacharyZhang-NY e7eb829b48 Expose OAuth and account providers in onboarding
The provider step was filtered to API_KEY only, which hid GitHub
Copilot, Google Antigravity, and GPT account from the founding-CEO
runtime picker even though they are first-class providers in the
catalog. Show every non-cloud provider, render an "Access token" field
in place of the API-key field for OAuth and account auths, and surface
a button that opens the provider's official sign-in page via the new
openExternalUrl IPC (validated to http(s) only).

OnboardingService.resolveProvider now accepts any non-cloud auth type.
Cloud providers still route through Settings since their multi-field
config does not fit the linear onboarding step.
2026-05-21 22:15:15 -04:00
ZacharyZhang-NY dc791ec984 Replace one-secret provider dialog with per-auth-type fields
OAuth, account, and cloud providers previously fell into the same
password input as API key providers, which made them impossible to
connect properly. Split the connect dialog by auth type:

- api_key: secret + model (unchanged)
- oauth_pkce / account_subscription: button that opens the provider's
  official sign-in URL in a session-partitioned BrowserWindow, then a
  paste field for the access token returned by the provider
- cloud: multi-field form (base URL, region, project, deployment,
  credential) serialized into the encrypted secret payload

Each catalog entry now carries signInUrl and credentialHelp so the
dialog can render the right instructions without baking copy into the
renderer.

Backed by a new launchProviderSignIn IPC method on ProviderService that
opens a hardened popup (nodeIntegration off, contextIsolation on,
sandbox on, permission denies) and records an audit event.
2026-05-21 21:34:18 -04:00
ZacharyZhang-NY f2ac1be5de Add org switcher with create, switch, and delete
The sidebar org button was inert: clicking it did nothing. Add a real
dropdown menu listing every organization, a "New organization" entry
that re-enters onboarding without resetting the database, and a per-org
delete affordance with inline confirmation. Active org is now persisted
in a single-row app_state table so the snapshot keeps a stable
selection across restarts and the renderer drives switching via two new
IPC channels (setActiveOrganization, deleteOrganization).

- migration 006 adds app_state(id=1, active_org_id, updated_at)
- snapshot resolves active org from app_state with the first-org fallback
- OrganizationService gains setActive + delete + bootstrap upsert
- new OrgSwitcher renderer component keeps Shell.tsx lean
2026-05-21 21:30:00 -04:00
ZacharyZhang-NY 1f78ae6f2e Track per-employee chat read state and surface real unread counts
Adds chat_read_state migration (employee_id + space_id, last read
message + timestamp) wired through ChatService.markSpaceRead, IPC
markChatSpaceRead, and an effect in ChatPage that flushes the active
space whenever the latest message id changes.

Shell.computeBadges now derives the Messages badge from
(message.createdAt > read_state.last_read_at) minus messages the viewer
sent, so the sidebar shows true unread instead of total throughput.
2026-05-21 20:25:07 -04:00
ZacharyZhang-NY 74266566b7 Rebuild AgentCompany-New renderer to match design spec
- Port design tokens, sidebar, topbar, and icons to inline SVG set
- Rewrite each page (Home/Team/Work/Chat/Files/Approvals/Social/Settings)
  to drive real snapshot data and match the bento, kanban, three-pane chat,
  file tree + pinned cards, approval queue, social schedule + calendar,
  and settings sub-nav layouts
- Split Chat and Settings into per-concern subcomponents so every file
  stays under 500 lines
- Add schema v4 for pinned files and scheduled posts plus IPC + service
  wiring; cover new behavior in unit tests
- Update onboarding labels and Hire form to remove ambiguity for the
  expanded e2e suite (all settings tabs + 8 routes at 1280 and 980)
2026-05-21 19:42:38 -04:00
ZacharyZhang-NY 83a51c6881 Wire real page actions to persisted data 2026-05-21 08:54:58 -04:00
ZacharyZhang-NY 6992b3e70e Implement original onboarding bootstrap 2026-05-21 08:43:50 -04:00
ZacharyZhang-NY 49c1dd2888 Add migration verification reports 2026-05-20 23:42:53 -04:00
ZacharyZhang-NY 0e920b409a Add skill runtime snapshots 2026-05-20 23:38:56 -04:00
ZacharyZhang-NY c694b7fc2c Add provider gateway and collaboration records 2026-05-20 23:35:30 -04:00
ZacharyZhang-NY fcf6d90731 Rebuild AgentCompany Electron app 2026-05-20 23:27:00 -04:00