Commit graph

4 commits

Author SHA1 Message Date
Natalie
aa3e6eacda feat(tray): replace executable stub bin (MacOS/Prospector) with featureful dispatcher
The previous dumb stub just execd the applescript. Now the bin (still used as the bundle executable and for double-click) supports CLI features/subcommands while preserving default tray UI behavior:

- no arg / tray / menu: launch tray UI (status item + menu)
- launch / open / app: start services (delegates to launch.sh, matches menu "Open Prospector")
- stop: stop services (matches menu "Stop services")
- help: list features

Updated post-build messaging, tray.applescript header comment, scripts/README.md table, and ./run usage. Tested via TRAY_DEST=/tmp/... build + direct bin help invocation (and full make-tray success).
2026-06-29 23:23:51 -04:00
Natalie
c8eb57108f feat(install): tray app + MCP step + detached run; fix local prod token proxy
./run install now also builds the Prospector.app menu-bar tray (~/Applications:
❖ Open/Stop/Quit, AppleScript-ObjC + sips/iconutil, no Swift/deps) and registers
the prospector MCP in Claude (Desktop + global, non-invasive). New ./run stop and
./run tray; SKIP_DB/SKIP_TRAY/SKIP_MCP escape hatches.

app.sh: --detach (background, for the tray), reuse an already-running instance
instead of colliding, fail loudly if a process we started dies, pidfile in .run/.

Fix the local front door: a prod build calls /prospector/* (api.ts API_BASE), so
vite preview now proxies /prospector (passthrough) while dev keeps /api (rewrite),
both injecting the bearer token. find_psql handles keg-only postgresql@N.

Verified end-to-end: ./run install (deps/env/DB+5 migrations/build/tray/MCP),
./run app serves markets through the token proxy (200; 401 without token), tray
launches resident, web tsc + 160 backend tests green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 08:49:53 -04:00
Natalie
a38c845d69 feat(install): one-command local installer + Chrome-PWA launcher
Add scripts/ (install/app/migrate + shared lib) wired into ./run:
  ./run install [--launch]  deps -> env -> DB+migrations -> build
  ./run app [--build]       start API + vite-preview front door, open Chrome --app
  ./run db:migrate          ledger-tracked SQL migrations (each file once)

migrate.sh creates the DB and tracks applied files in _prospector_migrations.
app.sh health-checks the API, opens http://localhost:<web>/#/markets as a Chrome
app window, and cleans up only its own PIDs (never a blanket node kill). Make
vite preview a token-injecting front door (shared proxy in web/vite.config.ts)
so the installed app serves a real build, not a dev server. scripts/README.md
documents it (filesystem-as-docs).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 08:23:32 -04:00
Natalie
845f437cb5 docs: README + package.json reflect the implemented web/ operator PWA
The full coworker-replacement app is built in web/ (served by this repo's
NestJS backend), not the platform my/ surface. Document the six views and the
/prospector/* endpoints each uses, the shared-audit/human_owned/Life-opt-in
guarantees, and dev/build commands. Keep the platform my/ SSO vision as-is.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 07:58:45 -04:00