Commit Graph
100 Commits
Author SHA1 Message Date
pastilhasandClaude Opus 4.6 bd362dc586 apify tool, tools API + automation UI, integrations config, super admin restrictions
- apify tool: TOOL.md definition, index.ts implementation with auto-auth via OFFICER_APIFY_TOKEN, output_path for large datasets
- tools API: /tools routes (list, detail, chat, create, delete) mirroring tasks pattern
- automation UI: tools tab in sidebar, NewTool component, tool detail view
- apify integration: settings page for enterprise API key config, pi-bridge passes env var to containers
- tiktok-trends task: rewritten as agent instructions using apify tool with output_path, scripted report generation for 50KB read limit
- restrict edit/delete of native/global capabilities to Super Admin only (backend + frontend)
- tools authoring guide: TOOLS.md with full spec for TOOL.md frontmatter, index.ts execute signature, patterns

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:00:45 +00:00
pastilhasandClaude Opus 4.6 776738a983 add fitContent option to workspace layout panels
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 08:38:31 +00:00
pastilhasandClaude Opus 4.6 0a00172e49 settings/apps page to view and delete published apps
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 18:14:39 +00:00
pastilhasandClaude Opus 4.6 74ace56120 bug report tool — screenshot, console logs, and context sent to discord
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 18:09:51 +00:00
pastilhasandClaude Opus 4.6 30f06e91e4 cliamp music player integration with browser audio streaming
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 17:23:52 +00:00
pastilhasandClaude Opus 4.6 fd4d77a389 user app publishing system — build, serve, and use personal apps in workspace panels
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 17:23:24 +00:00
pastilhasandClaude Opus 4.6 4d30672adb browser relay: multi-session override, stale session recovery, better error feedback
- relay accepts new extension connections by closing old one (last wins, code 4000)
- extension recognizes code 4000 and stops auto-reconnect (shows "replaced" badge)
- fix ping interval race where old WS close handler killed new connection's pings
- retry CDP commands on "Session with given id not found" by re-attaching debugger
- describeError() maps known errors to user-friendly badge tooltips
- persisted relay tokens restored on server start
- user-scoped token salts, token regeneration/deletion endpoints
- extension download endpoint, integrations UI for browser relay setup
- browser relay env vars passed to pi-bridge sandboxes
- browser screen layout with chat panel and prompt prefix

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 15:22:15 +00:00
pastilhasandClaude Opus 4.6 8f1963fedb user-scoped channel sessions, whatsapp disconnect cleanup, browser relay token fix
Channel session IDs now include userId (channel-{provider}-{userId}-{contextId})
to prevent cross-user contamination in multi-user setups. WhatsApp disconnect
properly logs out and clears cached auth. Browser relay uses server-derived token
directly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 14:14:47 +00:00
pastilhasandClaude Opus 4.6 209d58a525 whatsapp qr code polling, validate token before save, fix bot startup timing
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 12:41:46 +00:00
pastilhasandClaude Opus 4.6 b698e3d962 telegram and whatsapp channel integrations, validate bot tokens before saving
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 08:53:01 +00:00
pastilhas bc4c20929c Discord 2026-02-27 08:27:43 +00:00
pastilhas 7bf55af5b3 reset user data 2026-02-27 05:46:09 +00:00
pastilhasandClaude Opus 4.6 269b1026e5 preview auto-refresh after chat tool calls, gmail sync label scoping, queue notify option, workspace-scoped chat sessions
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 01:49:52 +00:00
pastilhasandClaude Opus 4.6 968d502eaa persist panel sizes for email and automation screens, fix session title from prompt prefix
- switch email and automation screens from WorkspaceLayout to WorkspaceView + useWorkspacesState
- add promptPrefix prop to WorkspaceView, thread into WorkspaceContext
- automation dynamically adds/removes chat panel while preserving persisted sizes
- use displayText for session title so prompt prefix doesn't leak into titles
- fix email context filter to match screens/email workspace key

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 00:23:21 +00:00
pastilhasandClaude Opus 4.6 c443fe0fe2 pi session context persistence, fix new session button, add clear all sessions
- handle pi process death by nulling piProcess ref so next message respawns
- replay conversation history on respawn via --session flag
- fix user message JSONL format to array for pi compatibility
- fix container sessions mount to match storage path
- fix ChatPanelWrapper: key on inner component so usePiChat resets on new session
- add bulk delete sessions endpoint and clear all button in chat header

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 00:04:14 +00:00
pastilhasandClaude Opus 4.6 a8d3d1a423 email chat uses officerdev/chat app with session history and email context scoping
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 23:29:13 +00:00
pastilhasandClaude Opus 4.6 13cfeac384 chat session context scoping, fix sandboxed pi config mounts, dedupe zai/opencode providers
- Add context/contextId fields to session types, storage, and index
- Filter sessions by context (project, workspace, or default chat)
- Pass context through websocket, REST API, and frontend hooks
- Mount ~/.pi/agent into sandboxed containers for auth + writable sessions
- Remove PI_CODING_AGENT_DIR override so container pi uses ~/.pi/agent
- Deduplicate zai/opencode models (same service, show as opencode)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 22:35:02 +00:00
pastilhasandClaude Opus 4.6 1cbf9553ec hamburger nav on all touch devices, add eruda for debugging
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 20:34:54 +00:00
pastilhasandClaude Opus 4.6 e0f470137b persist model access policy to database
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 20:22:42 +00:00
pastilhasandClaude Opus 4.6 b8b71e78d9 normalize zai provider to opencode in model listing
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 19:00:39 +00:00
pastilhasandClaude Opus 4.6 e806f66edb remote provider health checks + compact display
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 18:56:58 +00:00
pastilhasandClaude Opus 4.6 11845fbae5 single source of truth for pi config via ~/.pi/agent
auth.json stores api keys, models.json stores local providers directly.
no more copies, sync layers, or per-user config generation.
docker containers mount pi config read-only.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 18:42:30 +00:00
pastilhasandClaude Opus 4.6 500a70910e migration to postgres
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 17:42:59 +00:00
pastilhasandClaude Opus 4.6 7f04ecd644 dock config to postgres, auto-add /email on google oauth, improved email empty state
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 17:42:27 +00:00
pastilhas 466dc3adda sidecar network host 2026-02-26 03:32:04 +00:00
pastilhas 42abb97d7b email syncyng 2026-02-26 01:39:38 +00:00
pastilhas 5d4f0114cd Critical Securities (5) fixes 2026-02-25 19:44:38 +00:00
pastilhas 10acd14755 proper user permissions inside container 2026-02-25 19:44:38 +00:00
pastilhas 748619a3c9 tiktok-trends 2026-02-25 17:06:29 +00:00
pastilhas b6a0a57893 thinking 2026-02-25 16:04:11 +00:00
pastilhas 05c5b648fa landing 2026-02-25 07:33:49 +00:00
pastilhas cf121e2fee landing 2026-02-25 07:27:30 +00:00
pastilhas acd7713c86 projects 2026-02-25 06:59:29 +00:00
pastilhas 88fff9efae read alout chat messages 2026-02-25 05:33:16 +00:00
pastilhas de309ee0e4 read alout chat messages 2026-02-25 05:28:42 +00:00
pastilhas 7bdeecd7f0 read alout chat messages 2026-02-25 05:11:09 +00:00
pastilhas 0720f25ed5 UserIvite 2026-02-25 04:50:47 +00:00
pastilhas 084dd22d57 fix sidecar issue, node 22 2026-02-25 04:50:16 +00:00
pastilhas abefb26e5c og 2026-02-25 02:59:07 +00:00
pastilhas 0f3f158144 og 2026-02-25 02:57:49 +00:00
pastilhas 7078b68146 emails 2026-02-25 02:54:32 +00:00
pastilhas 625905fc29 task runner less verbose 2026-02-25 02:20:49 +00:00
pastilhas f2da4c0300 Bun Spawn -> node child process in tools and seed versioning 2026-02-25 02:15:54 +00:00
pastilhas 21fde3d989 refresh models 2026-02-25 01:55:35 +00:00
pastilhas 0226608d8f email 2026-02-25 01:34:09 +00:00
pastilhas 6e8ee69311 fixed ocr/tts... caching 2026-02-25 00:16:52 +00:00
pastilhas e95c5de70d resend http api 2026-02-24 23:29:41 +00:00
pastilhas 98761e0692 https://static.officer.dev 2026-02-24 22:54:11 +00:00
pastilhas 8a3ab96bf4 https://static.officer.dev 2026-02-24 22:52:52 +00:00
pastilhas 344e4dee50 https://static.officer.dev 2026-02-24 22:51:07 +00:00
pastilhas d22468cd7f https://static.officer.dev 2026-02-24 22:49:08 +00:00
pastilhas e4bede08d3 https://static.officer.dev 2026-02-24 22:04:13 +00:00
pastilhas a93d3878f5 https://static.officer.dev 2026-02-24 21:59:53 +00:00
pastilhas db2e6834d1 opengraph stuff 2026-02-24 21:52:35 +00:00
pastilhas e36908cb0b opengraph stuff 2026-02-24 21:47:36 +00:00
pastilhas 05f0d0e8f7 resources 2026-02-24 16:44:22 +00:00
pastilhas d6ffe43a11 tools and skills, etc in the containers 2026-02-24 01:24:28 +00:00
pastilhas 071e2decc3 tools system - web-fetch 2026-02-24 00:06:32 +00:00
pastilhas 2126f3912e pi sills 2026-02-23 22:52:27 +00:00
pastilhas 8fb96c7cf8 mobile 2026-02-23 11:16:33 +00:00
pastilhas 2779fe22c6 file based auth 2026-02-23 09:58:08 +00:00
pastilhas 0bea406dcd jsoneditor 2026-02-23 09:33:40 +00:00
pastilhas e90a49232b text files edit 2026-02-23 09:19:31 +00:00
pastilhas c3c905907b useDock 2026-02-23 09:02:34 +00:00
pastilhas 7298ee72aa only enabled ai models for all users 2026-02-23 08:23:40 +00:00
pastilhas e25f685b70 only enabled ai models in super admin 2026-02-23 08:14:20 +00:00
pastilhas d9b69c8209 fixed /chat 2026-02-23 08:00:53 +00:00
pastilhas 3e2c8090d5 chat history in projects 2026-02-23 06:49:18 +00:00
pastilhas 46c3b6b71d widgets 2026-02-23 05:49:33 +00:00
pastilhas a601b8e078 noHeader in WorkspaceLayout 2026-02-23 05:29:58 +00:00
pastilhas 9acef6cf6c copy path and chat about file/folder 2026-02-23 05:15:13 +00:00
pastilhas bdefc52331 SMTP settings 2026-02-23 03:30:16 +00:00
pastilhas af789471dc persistence in panels 2026-02-23 02:26:52 +00:00
pastilhas 81256a1dc9 Onboarding 2026-02-23 02:03:45 +00:00
pastilhas 97da2e2736 fixed members login and permissions issues 2026-02-23 00:57:34 +00:00
pastilhas ed0debfeac WorkspaceLayout in officerdev workspace 2026-02-22 22:43:28 +00:00
pastilhas 09cff3f763 Pi running inside the docker containers 2026-02-22 22:21:47 +00:00
pastilhas 99a27e5b13 Chat cwd 2026-02-22 21:24:08 +00:00
pastilhas 7fe7260f51 better chat ui 2026-02-22 20:52:19 +00:00
pastilhas f1e3ce4b76 new flow for Pi provider/model settings 2026-02-22 20:19:11 +00:00
pastilhas 1372f53782 Local models 2026-02-22 18:04:01 +00:00
pastilhas e35b7340f3 default model 2026-02-22 16:49:30 +00:00
pastilhas 285852f04d logging 2026-02-22 16:49:10 +00:00
pastilhas a8aba2aee2 Preview proxy tuneup 2026-02-22 16:00:52 +00:00
pastilhas ca45301e3e App Preview 2026-02-22 03:35:26 +00:00
pastilhas ab03b175e7 Projects 2026-02-22 01:50:15 +00:00
pastilhas 23b369c7e1 Workspaces 2026-02-22 00:05:29 +00:00
pastilhas 9e9acd9631 major apps and hooks refactor 2026-02-21 21:24:31 +00:00
pastilhas e275c0fea6 extracted all File components to apps/FileBrowser 2026-02-21 18:18:39 +00:00
pastilhas fe7874dd65 ready for app-registry refactor 2026-02-21 17:28:10 +00:00
pastilhas 6d97edb6ab cleanup 2026-02-21 15:36:07 +00:00
pastilhas af803236c8 Chat refactoring 2026-02-21 15:05:56 +00:00
pastilhas fda5ea147a react-virtual in messages list 2026-02-21 13:33:09 +00:00
pastilhas f089a89eae react-virtual in messages list 2026-02-20 23:36:56 +00:00
pastilhas 68c7973281 fix: Pi harness - dynamic models, correct RPC protocol, proper event handling
Backend:
- /api/pi/models now calls 'pi --list-models' with stored API keys
- pi-bridge.ts: callback-based event handling (matches pi-monorepo)
- pi-bridge.ts: correct RPC format (type: 'prompt' not jsonrpc)
- pi-bridge.ts: pass API keys to Pi process env
- websocket.ts: event handler runs in background, no blocking
- rest.ts: fix user home path (getHomeDir instead of hardcoded)

Frontend:
- Fix /api/ double prefix in useChatSessions, useChatGroups, useModels
- Add PROVIDER_DISPLAY mapping in SystemSettings.tsx
- Provider tabs show friendly names (e.g., 'OpenCode Zen')

UI (from previous session):
- Grouped session list with collapsible folders
- CreateGroupDialog, GroupContextMenu, SessionContextMenu components
2026-02-20 22:55:00 +00:00
pastilhas ca497f9eff Add Phase 8 detailed implementation plan for grouped chat UI 2026-02-20 21:56:04 +00:00
pastilhas 15ab29e23f Remove config module dependency from frontend
- Delete unused useWebsockets.ts hook
- Hardcode API URLs instead of using config module:
  - useClient.ts: default '/api'
  - useAuth.ts: '/api/auth' and '/api'
  - usePasskeys.ts: '/api/auth'
  - useImageLoader.ts: '/api'
  - useFiles.ts: '/api'
  - file-types.ts: '/api'
- Remove useWebsockets export from hooks/index.ts
2026-02-20 21:52:07 +00:00
pastilhas ba51ee0320 Complete frontend migration to unified Pi harness (Phase 7 + Phase 9)
- Delete legacy hooks: useClaude.ts, useOpenCode.ts, usePiMono.ts, App.backup.tsx
- Update all components to use usePi instead of legacy hooks
- Replace useVisiblePiMonoModels/useClaudeModels/useOpenCodeModels with useVisiblePiModels
- Migrate from LegacyChatMessage to ChatMessage type throughout
- Update SessionBar to remove provider and archive props
- Simplify ChatDetailPanel to Pi-only (remove Claude/OpenCode components)
- Fix useChatSessions calls (remove provider parameter)
- Update user-settings types: provider now only 'pi' instead of legacy values
- Update PI_HARNESS_REBUILD.md to mark phases complete
2026-02-20 21:42:26 +00:00
pastilhas 92f4b2be8e feat: Complete Pi Harness Rebuild - Phases 1 till 7.2 2026-02-20 20:51:10 +00:00
pastilhas 25f5f74b1b no idea 2026-02-20 18:25:33 +00:00