quoroom 0.1.26 → 0.1.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
10
10
  [![npm version](https://img.shields.io/npm/v/quoroom)](https://www.npmjs.com/package/quoroom)
11
- [![Tests](https://img.shields.io/badge/tests-971%20passing-brightgreen)](#)
11
+ [![Tests](https://img.shields.io/badge/tests-1083%20passing-brightgreen)](#)
12
12
  [![GitHub stars](https://img.shields.io/github/stars/quoroom-ai/room)](https://github.com/quoroom-ai/room/stargazers)
13
13
  [![macOS](https://img.shields.io/badge/macOS-.pkg-000000?logo=apple&logoColor=white)](https://github.com/quoroom-ai/room/releases/latest)
14
14
  [![Windows](https://img.shields.io/badge/Windows-.exe-0078D4?logo=windows&logoColor=white)](https://github.com/quoroom-ai/room/releases/latest)
@@ -81,7 +81,7 @@ Quoroom is an open research project exploring autonomous agent collectives. Each
81
81
 
82
82
  **Activity Controls** — Throttle the queen per room: configurable cycle gap (sleep between runs), max turns per cycle, and quiet hours (time window where the queen rests). Plan-aware defaults (Pro/Max/API/None) apply automatically when you create a new room based on your Claude subscription tier.
83
83
 
84
- **Quorum Voting** — Agents propose and vote on decisions. Majority, supermajority, or unanimous — you choose the threshold.
84
+ **Quorum Voting** — Agents propose and vote on decisions. Majority, supermajority, or unanimous — you choose the threshold. All voters (keeper and workers) have equal weight. Ties are broken by the queen's vote by default.
85
85
 
86
86
  **Goals** — Hierarchical goal decomposition with progress tracking. Set a top-level objective and let agents break it down.
87
87
 
@@ -197,6 +197,29 @@ Installer launchers:
197
197
  | Linux x64 | `.deb` | `.tar.gz` |
198
198
  | Windows x64 (signed) | `.exe` setup | `.zip` |
199
199
 
200
+ <details>
201
+ <summary>Platform notes</summary>
202
+
203
+ **macOS**
204
+ - Universal binary (Apple Silicon + Intel) — single `.pkg` works on both architectures
205
+ - Native menu bar tray app (Swift) — auto-starts server, provides "Open Dashboard" / "Restart" / "Quit"
206
+ - `.pkg` is codesigned + Apple-notarized
207
+ - Shell wrapper with auto-update check (polls GitHub every 4h) and crash rollback (3-strike reset)
208
+ - PATH: inherits login shell PATH at startup (`zsh -lic`) so Homebrew/NVM-installed CLIs (`claude`, `codex`) are found
209
+
210
+ **Windows**
211
+ - Signed `.exe` installer (NSIS, SSL.com eSigner)
212
+ - VBS launcher — starts server without a console window
213
+ - Adds `quoroom` to system PATH via registry
214
+ - PATH: adds npm global prefix dir at startup so globally-installed `claude.cmd` / `codex.cmd` are found
215
+ - `.cmd` wrappers (npm-installed CLIs) are auto-resolved to underlying `.js` scripts to bypass cmd.exe 8191-char argument limit
216
+
217
+ **Linux**
218
+ - `.deb` package (x64), installs to `/usr/local/lib/quoroom`
219
+ - Same shell wrapper and auto-update mechanism as macOS
220
+
221
+ </details>
222
+
200
223
  ### Uninstall
201
224
 
202
225
  ```bash
@@ -216,7 +239,7 @@ quoroom serve
216
239
 
217
240
  If you installed with the macOS `.pkg` or Windows `.exe` installer, you can also use the launcher app/shortcut instead of command line.
218
241
 
219
- On first run, `quoroom serve` automatically registers the Quoroom MCP server in every AI coding tool you have installed (Claude Code, Claude Desktop, Cursor, Windsurf). Just **restart your AI client once** — after that, all `mcp__quoroom__*` tools are available automatically in every session.
242
+ On first run, `quoroom serve` automatically registers the Quoroom MCP server in every AI coding tool you have installed (Claude Code, Claude Desktop, Codex, Cursor, Windsurf). Just **restart your AI client once** — after that, all `mcp__quoroom__*` tools are available automatically in every session.
220
243
 
221
244
  Open **http://localhost:3700** (or the port shown in your terminal). The dashboard and API run locally, and your room data stays on your machine by default.
222
245
 
@@ -425,6 +448,10 @@ npm run typecheck # Type-check only (tsc --noEmit)
425
448
  npm test # Run all tests (vitest, fork pool)
426
449
  npm run test:watch # Watch mode
427
450
  npm run test:e2e # End-to-end tests (Playwright)
451
+
452
+ # Windows
453
+ npm run dev:isolated:win # Windows equivalent of dev:isolated
454
+ npm run build:windows:local # Local Windows build (PowerShell)
428
455
  ```
429
456
 
430
457
  ### Docker (cloud runtime)
@@ -436,7 +463,13 @@ docker run -p 3700:3700 quoroom
436
463
 
437
464
  ## Releasing
438
465
 
439
- Use the release runbook: [`docs/RELEASE_RUNBOOK.md`](docs/RELEASE_RUNBOOK.md)
466
+ Triggered by pushing a git tag (`v*`) → GitHub Actions multi-platform build:
467
+
468
+ - **macOS**: Universal `.pkg` (ARM64 + x64 via `lipo`), Swift tray app compiled, codesigned + Apple-notarized
469
+ - **Windows**: NSIS `.exe` installer, signed with SSL.com eSigner
470
+ - **Linux**: `.deb` package via `fpm`
471
+ - All platforms bundle Node.js runtime (no system dependency), with auto-update and crash rollback
472
+ - Post-build: GitHub Release → npm publish → Homebrew tap update
440
473
 
441
474
  <details>
442
475
  <summary>Project structure</summary>
@@ -480,6 +513,9 @@ room/
480
513
  │ ├── embeddings.ts # Vector embeddings (all-MiniLM-L6-v2)
481
514
  │ └── __tests__/ # Test suite (907 tests)
482
515
  ├── e2e/ # Playwright end-to-end tests
516
+ ├── installers/
517
+ │ ├── macos/ # Swift tray app (QuoroomTray.swift)
518
+ │ └── windows/ # NSIS installer + PowerShell/VBS scripts
483
519
  ├── scripts/
484
520
  │ └── build-mcp.js # esbuild bundling
485
521
  ├── Dockerfile # Cloud runtime image
@@ -492,16 +528,20 @@ room/
492
528
 
493
529
  ## Model Providers
494
530
 
495
- Use your existing Claude/ChatGPT subscription or API.
531
+ Use your existing Claude or ChatGPT subscription, or bring an API key.
532
+
533
+ | Model string | Provider | Execution | Requires |
534
+ |---|---|---|---|
535
+ | `claude` (default) | Claude Code CLI | Spawns CLI process | [Claude Code](https://docs.anthropic.com/en/docs/claude-code) installed |
536
+ | `codex` | OpenAI Codex CLI | Spawns CLI process | `npm i -g @openai/codex` |
537
+ | `openai:gpt-4o-mini` | OpenAI API | HTTP REST | `OPENAI_API_KEY` |
538
+ | `anthropic:claude-3-5-sonnet-latest` | Anthropic API | HTTP REST | `ANTHROPIC_API_KEY` |
539
+
540
+ **CLI models** (`claude`, `codex`) — Full agentic loop with tool use via the CLI. Session continuity via `--resume`. On Windows, `.cmd` wrappers are auto-resolved to underlying `.js` scripts to bypass the cmd.exe 8191-char argument limit.
541
+
542
+ **API models** (`openai:*`, `anthropic:*`) — Direct HTTP calls. Support multi-turn tool-calling loops. API keys resolve from: room credentials → Clerk-saved keys → environment variables. `anthropic:*` also accepts the `claude-api:` prefix.
496
543
 
497
- | Role | Provider | Cost |
498
- |------|----------|------|
499
- | **Queen** | [Claude Code](https://docs.anthropic.com/en/docs/claude-code) | Subscription |
500
- | | Codex (ChatGPT) | Subscription |
501
- | | OpenAI API | Pay-per-use |
502
- | | Claude API | Pay-per-use |
503
- | **Workers** | Inherit queen model | Depends on queen |
504
- | | Claude (subscription or API) | Subscription / API |
544
+ Workers inherit the queen's model by default, or can use a separate API model.
505
545
 
506
546
  ## License
507
547