Commit Graph
10 Commits
Author SHA1 Message Date
Jack Chen ed5c125aa0 chore: tidy root and polish README docs (#179)
- Tighten positioning, lift demo, sharpen comparison table.
- Refresh temodar star count, drop dead link.
- Fold tool/memory/context sections into docs/.
- Swap npm downloads badge for GitHub forks.
- Correct custom context strategy signature and Copilot env var (README, README_zh, docs/context-management.md).
- Inline agent definitions so quick-start snippet is self-contained.
- Move CONTRIBUTING/CODE_OF_CONDUCT/SECURITY/codecov to .github/, DECISIONS.md to docs/.
- Fix CONTRIBUTING README link after the .github/ move.
- Ignore local .claude/ config dir.
2026-04-26 13:11:24 +08:00
Jack Chen 6de84b0e68 docs(README): refresh positioning, branding, and section layout (#176)
- Restructure flow, sync README_zh, document quantized sampling.
- Refresh positioning, branding, and section layout (logo, banners, github social card).
- Polish Quick Start and consolidate provider tables.
- Drop forward reference to PR #174 in features bullet.
- Rework structure, factual fixes, add Featured Partner doc.
- Fix brand asset rendering: light banner no longer leaks the dark body background; dark banner and github-social regain previously-clipped content (terminal-log arrows, "★ open source" badge). Root cause: overflow:hidden on stage ancestors clipping the forced 1280px target during extraction.
- Replace fabricated token figures (12,847t / 8,402t / 3,914t) on the banner right column with action labels (design / impl / parallel / review). The numbers conflicted with how totalTokenUsage actually aggregates (input+output, includes coordinator decompose+synthesize, merges same-name agents).
2026-04-26 03:24:19 +08:00
kenny 5e4f36395f docs: add OpenRouter provider example (#167) 2026-04-25 00:44:13 +08:00
Jack Chen e4ab842fcb docs: Qiniu provider follow-up (README, cli.md, example) (#165)
Mirrors the DeepSeek provider coverage for Qiniu, landing after #154:
- README quick-start env list, Multi-model teams bullet, architecture
  diagram, providers table (Verified), first-class support note, and
  usage snippet with official Qiniu AI inference docs link
- docs/cli.md `oma provider template` list
- examples/providers/qiniu.ts modeled on examples/providers/deepseek.ts
2026-04-24 15:52:12 +08:00
Jack Chen 4fefaa8a78 feat: expose custom MemoryStore via TeamConfig.sharedMemoryStore (#157)
* feat: expose custom MemoryStore via TeamConfig.sharedMemoryStore (#156)

The MemoryStore interface was already public, and SharedMemory / TeamInfo
already used the interface internally. This adds the final user-config wire
so integrators can attach custom backends (Redis, Postgres, Engram, etc.)
without hacking SharedMemory private fields.

Priority: sharedMemoryStore > sharedMemory: true > no memory.
Fully backward-compatible: existing sharedMemory: true users see no change.
SDK-only: the CLI cannot pass runtime objects through JSON config.

Closes #156.

* fix: validate sharedMemoryStore shape and reject from CLI JSON

Addresses Codex P2 review on #157. Plain objects from untrusted JSON could
previously reach `new SharedMemory(plainObject)` and crash later on the first
`.set`/`.list` call with a cryptic TypeError.

Defense-in-depth:
- SharedMemory constructor performs a runtime shape check and throws a clear
  TypeError if the provided store does not implement get/set/list/delete/clear.
- CLI `asTeamConfig` explicitly rejects `sharedMemoryStore` in JSON with a
  message pointing to the SDK path, since this field is documented SDK-only.

Adds 4 tests covering malformed stores (plain object, partial interface,
null, Team constructor path).

* fix: route falsy-but-present sharedMemoryStore through shape check

Addresses Codex finding 2 on #157. The truthy gate silently skipped falsy
values (null, 0, ''), letting config bugs downgrade to the default in-memory
store or no memory instead of failing fast.

Switched to `!== undefined` so any present value reaches SharedMemory's
runtime shape check and throws a clear TypeError. Adds 2 tests: null as a
bogus store throws; omitting the field still honors `sharedMemory: true`.
2026-04-23 18:45:48 +08:00
Jack Chen 075ea3dbc9 docs(cli): clarify --dashboard gating and add to flag table (#141) 2026-04-21 02:26:06 +08:00
Ibrahim Kazimov 647aeff8f4 feat(cli): runTeam DAG dashboard (--dashboard)
Adds `oma run --dashboard` to write a static post-execution DAG HTML to `oma-dashboards/runTeam-<timestamp>.html`.

- Pure `renderTeamRunDashboard(result: TeamRunResult)` in `src/dashboard/`, no FS/network I/O in the library
- `TeamRunResult` gains `goal` + `tasks: TaskExecutionRecord[]` (with `TaskExecutionMetrics`)
- `layoutTasks()` extracted as pure function with cycle detection
- XSS mitigations: `application/json` payload, `</script>` escape, `textContent`-only node rendering
- CLI awaits write before exit (no race with `process.exit`)

Closes #4

Co-authored-by: Ibrahim Kazimov <74775400+ibrahimkzmv@users.noreply.github.com>
2026-04-21 02:22:03 +08:00
hkalex fa4533e8d0 Support DeepSeek 2026-04-16 11:36:03 +10:00
hkalex 5305cb2321 Support MiniMax 2026-04-16 11:06:37 +10:00
Ibrahim Kazimov cdec60e7ad docs: add docs for cli 2026-04-12 20:17:13 +03:00