Commit Graph
963 Commits
Author SHA1 Message Date
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 d5bf6c6b5f Scroll only the onboarding provider panel, not the hero 2026-05-29 19:15:30 -04:00
ZacharyZhang-NY 6f1ef18b25 Give the onboarding window minimize/maximize/close controls 2026-05-29 19:09:33 -04:00
ZacharyZhang-NY 350333b284 Allow deleting the active and last organization 2026-05-29 19:04:18 -04:00
ZacharyZhang-NY bb4d0979d3 Provide the open-file handler to chat panels 2026-05-28 23:15:29 -04:00
ZacharyZhang-NY c3c00d5d2e Edit agent role, seniority, and model from the roster 2026-05-28 23:11:22 -04:00
ZacharyZhang-NY 452fe07f4e Add a maximize control and clear the macOS title bar 2026-05-28 23:05:31 -04:00
ZacharyZhang-NY 6f182d1347 Open chat attachments and use a proper edit icon 2026-05-28 23:03:02 -04:00
ZacharyZhang-NY 207e108ae5 Remove the inert social post menu and fix author avatars 2026-05-28 22:59:11 -04:00
ZacharyZhang-NY 987892913d Move chat records into their own domain module 2026-05-28 22:56:40 -04:00
ZacharyZhang-NY 6282ad9792 Extract provider response execution into its own runner 2026-05-28 22:52:49 -04:00
ZacharyZhang-NY bfee7b22ef Split component styles into their own stylesheet 2026-05-28 22:47:32 -04:00
ZacharyZhang-NY b54e73de37 Drop the silent org-initial fallback 2026-05-28 22:44:32 -04:00
ZacharyZhang-NY 1cda873cb5 Render audit events as readable labels instead of raw codes 2026-05-28 22:43:33 -04:00
ZacharyZhang-NY da14be3443 Add approval detail review and fix the declined-row icon 2026-05-28 22:41:09 -04:00
ZacharyZhang-NY a9300682ee Make the Files scan-status filter functional 2026-05-28 22:37:58 -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 d2695202b5 Wire Home approval and work navigation links 2026-05-28 22:30:57 -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 ae13111bff Open a task detail view from the Work board and list 2026-05-28 22:21:06 -04:00
ZacharyZhang-NY 881747341e Make the Work board filter functional 2026-05-28 22:16:34 -04:00
ZacharyZhang-NY ea1af95536 Surface social access grants and activity history
The browser-platform governance data (account grants, social audit records,
browser actions with policy decisions) was recorded but never shown. Add a
read-only Access & activity section to the Social page that lists who is
authorized on each account with what scope, and a merged, policy-tagged
timeline of recent social and agent browser actions.
2026-05-28 20:47:43 -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 b65e059da6 Let authors edit and delete their own chat messages
The editMessage/deleteMessage IPC and their audit events existed but had no UI.
Add an inline editor and delete control on a member's own, non-deleted
messages; show an edited marker and render deleted messages as a muted
placeholder. Thread the handlers from ChatPage through the timeline.
2026-05-28 20:38:39 -04:00
ZacharyZhang-NY 7c5978d5df Make the chat channel search functional
The conversation header search button was inert. Toggle a search field that
filters the channel's root messages by body text; clearing or pressing Escape
restores the full timeline. Search stays scoped to the open space, so results
respect the membership the user already has.
2026-05-28 20:33:26 -04:00
ZacharyZhang-NY bc0865ede7 Extract the social login window into its own module
social-service.ts exceeded 500 lines and mixed the Electron browser-login
window concern with the social domain logic. Move openSocialLoginWindow and its
navigation policy into social-login-window.ts and re-export the public types.
Behaviour unchanged; unit and e2e suites remain green.
2026-05-28 20:28:07 -04:00
ZacharyZhang-NY ae5e08869f Extract chat-service internals into a module
chat-service.ts exceeded 500 lines. Move the row-shape interfaces, slash-command
parsing/validation and the small standalone helpers into chat-service-internal.ts
and import them back. Pure relocation with no behaviour change; the chat
governance suite (82 tests) and e2e remain green.
2026-05-28 20:21:51 -04:00
ZacharyZhang-NY 5c7398d630 Split FilesPage into a files module
FilesPage had grown past 500 lines by carrying the tree, table, grid, card
visuals and all pure helpers inline. Extract file-helpers.ts, FileVisuals,
FilesTree, FilesTable and FilesGrid under pages/files/, leaving FilesPage as the
orchestrator. Behaviour is unchanged; the pinned-card radius is corrected to 10
to match the design.
2026-05-28 20:04:46 -04:00
ZacharyZhang-NY e95b2a8d32 Tighten Work board columns and Home approval labels
The Work board used auto-fit columns that reflowed and clustered at the left;
pin it to four equal columns (minmax(0,1fr) so they shrink rather than
overflow). On Home, render approval kind and risk as humanized labels instead
of raw enum strings.
2026-05-28 19:59:20 -04:00
ZacharyZhang-NY 047815a7d5 Badge agent-to-agent file handoffs in chat
Attachments rendered identically regardless of how they were transferred. When
an agent sends a file through the handoff path, mark its attachment card with an
AI-to-AI badge so the design's handoff indicator is present.
2026-05-28 19:54:12 -04:00
ZacharyZhang-NY 0299ebbade Show agent presence on direct-message avatars
chat_presence was recorded (active, waiting_approval, thinking) but never
surfaced. Map each status to a colour and render a presence dot on the
counterpart's avatar in the direct-message list, matching the design.
2026-05-28 19:50:27 -04:00
ZacharyZhang-NY b4056502ec Support the full set of chat space types
The PRD calls for company, division, department, project, pod and ad-hoc
spaces, but only company, department, project and direct were accepted. Add
division, pod and ad_hoc to the command contract, the service whitelist and the
new-space dialog. The space_type column is free text, so no migration is
needed.
2026-05-28 19:47:16 -04:00
ZacharyZhang-NY 43e1626f77 Restrict board interventions to board-authority principals
Any employee in the org could send a message as the board (freeze, takeover,
force-approval), because requireSender only checked that the board sender was a
valid employee. Enforce the approval_decider role (org_admin inherits it) via
IdentityAccessService, which also records an access decision for denied
attempts, and only render the thread board-control form for principals who hold
that authority — others get a read-only view of past interventions.
2026-05-28 19:44:35 -04:00
ZacharyZhang-NY f2a1e71af7 Replace fabricated figures with real data on Home and Members
The Home budget card invented a cap of 4x the allocated total and listed agent
counts under a money heading; the Members table hardcoded every human's
department as Executive with a blank budget. Source the cap from the real
per-department monthly budget envelope (hiring policies), show real allocated
dollars per provider, and render humans (which carry no department or budget)
as not-applicable instead of a fabricated department.
2026-05-28 19:37:28 -04:00
ZacharyZhang-NY 91145fd923 Give split-layout pages independent scroll regions
Chat and Settings escaped the content padding with a hardcoded
calc(100vh - 44px) height and negative margins, while Files and Social let the
whole page scroll, so secondary panes (channel list, settings nav, file tree)
scrolled away. Add a .content.flush modifier the Shell applies to the chat,
settings, files and social routes, plus a reusable .pane-scroll region, and
rework those pages to fill the content area with each pane scrolling on its
own. Removes the magic-number coupling to the topbar height.
2026-05-28 19:32:40 -04:00
ZacharyZhang-NY 5f70480907 Pin page actions to the fixed topbar
Each page rendered its primary actions inside the scrolling body, so they
drifted away on scroll and diverged from the design, which places them in the
topbar next to the breadcrumbs. Introduce a TopbarSlotContext that the Shell
publishes from its topbar action area, and a TopbarActions portal that Home,
Team, Work, Files, Social and Approvals use to render their controls there.
2026-05-28 19:24:16 -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 cf2ed628b0 Add workspace context to provider requests 2026-05-23 22:28:05 -04:00
ZacharyZhang-NY e81a0e2d26 Expose provider workspace scope control 2026-05-23 22:23:38 -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