Commit Graph
21 Commits
Author SHA1 Message Date
Jack Chen 4fad8c19d3 feat(core): add eval CLI and report outputs (#405) 2026-07-19 00:02:29 +08:00
Jack Chen 452c193eff feat(core): add evaluation scorer contracts (#403) 2026-07-18 22:53:52 +08:00
Jack Chen 9338bb4dec chore(observability): complete OBS-5 release readiness (#385)
* chore(observability): complete OBS-5 release readiness

* docs(observability): add v2 architecture to core readme
2026-07-16 18:00:16 +08:00
Jack Chen 91eceeb004 Merge branch 'main' into agent/observability-v2-obs-3-otel 2026-07-16 14:53:47 +08:00
Scarab SystemsandJack Chen fa1606cad2 feat(agent): add generic process backend (#378)
* feat(agent): add process backend

* test(agent): cover process backend orchestration

* feat(agent): expose process backend entrypoint

* docs(agent): add process backend example

* docs(agent): document external backend variants

* fix(agent): harden process backend lifecycle

---------

Co-authored-by: Jack Chen <chenkaijie01@gmail.com>
2026-07-16 14:40:26 +08:00
Jack Chen 4a47991657 ci(otel): guard the npm tarball and harden the core boundary test
Assert the otel tarball ships only dist/, README.md, LICENSE, and package.json with its entry points present, smoke-test the built entry import, and scan core src for @opentelemetry references since workspace hoisting makes the import-based check toothless.
2026-07-16 12:31:22 +08:00
Jack Chen 7bc6d0fc4e ci: add post-release npm smoke test (#372)
run a post-release smoke test against create-oma-app and core from the public npm registry
scaffold the recommended PR-review cloud starter and verify both its declared and installed core version match the GitHub Release tag
retry registry propagation with online-preferred resolution, then prove the generated demo reaches the expected missing-key gate
use a fresh project directory per retry so failed attempts cannot contaminate later attempts
2026-07-15 21:10:46 +08:00
Jack Chen 394a65ec90 feat(create-oma-app): add production agent templates (#370)
* feat(create-oma-app): add production agent templates

* docs: describe starters from user perspective
2026-07-15 18:05:05 +08:00
Jack Chen 72cb0f5b76 test(create-oma-app): add end-to-end scaffold smoke test + CI job (#317)
Unit tests call scaffold() directly and never exercise the packed tarball.
Add `npm run test:scaffold`: pack the scaffolder, generate a project in an
isolated temp dir, install, and run the demo to the missing-key gate, proving
the published bytes scaffold, install, and load end-to-end. Wire it into CI as
a scaffold-e2e job. Core installs from a local tarball so the test validates
the current commit and stays green during the release window.
2026-06-19 19:23:16 +08:00
Jack Chen 6012c5dfd5 ci: harden pipeline with build smoke test, concurrency, permissions, and timeouts (#310)
Add a build-output import smoke test plus oma help check to the package job; concurrency with cancel-in-progress; contents read-only permissions; per-job 15-minute timeouts; split lint into its own job so the type check no longer repeats across the Node matrix.
2026-06-19 12:31:11 +08:00
Jack Chen 53d3d231b4 chore: rename create-oma scaffolder to create-oma-app (#306)
npm's package-name similarity protection permanently rejects the
unscoped `create-oma`, so the intended `npm create oma` could never
resolve for users. Rename the package and command to `create-oma-app`
/ `npm create oma-app` so the one-command first run actually works;
the `-app` suffix keeps the OMA name and reads naturally.

Pure rename — package name, bin, directory, the command text in the
scaffolder and READMEs, and the CI workspace/path references. The
generated demo and template are unchanged. Published to npm as
create-oma-app@0.1.0.
2026-06-18 22:53:19 +08:00
Jack Chen 0c4522a2e6 feat(create-oma): scaffold a runnable multi-agent demo in one command (#305)
* feat(create-oma): scaffold a runnable multi-agent demo in one command

* fix(create-oma): typecheck template in CI, guard core pin, harden browser-open (#305)
2026-06-18 21:25:29 +08:00
Jack Chen 1d37ce6026 refactor(repo): monorepo groundwork for an easier first run (#303)
* refactor(repo): monorepo groundwork for an easier first run

Trying OMA for the first time costs more than it should: a lot to read before anything runs, and no one-command way to watch a team actually work. The plan is to fix that with a `npm create oma` scaffold (a multi-agent demo that runs on the first try) and an npm README that leads with getting started. Neither lands cleanly until core lives in its own package, so this PR does that part first.

This is groundwork, not the payoff: nothing changes for anyone installing `@open-multi-agent/core` today. It turns the repo into an npm-workspaces monorepo with core in `packages/core/`, and splits the README into a GitHub landing page (root) and the npm package page (`packages/core/`). Doing it now, while the repo is small, avoids migrating twice.

The published package is byte-identical: same name, same three runtime dependencies, same entry points, guarded by an isolated-install smoke test. `npm ci` + lint + test (1060) + build pass; the tarball still ships only `dist/`, `README.md`, `LICENSE`, and `package.json`.

* build: restore cross-platform optional deps in package-lock.json

Regenerating the lockfile on macOS pruned the non-host rollup/esbuild optional binaries (npm/cli#4828), so Linux CI could not load @rollup/rollup-linux-x64-gnu and vitest failed to start. Rebuild the lock from the pre-migration base so every platform variant is present again. Verified with npm ci + lint + build + test (1060).

* fix(examples,docs): correct monorepo paths and anchors after the packages/core move

with-vercel-ai-sdk example (pre-existing, surfaced by the move):
- package.json: the @open-multi-agent/core file: link was file:../../, which
  resolves to packages/core/examples (no manifest). Corrected to file:../../..
  (packages/core); predev cd updated to match.
- package-lock.json regenerated: was linking ../.. and pinning a stale core
  1.4.0; now links ../../.. at 1.7.0.
- README: setup paths and the file: note updated.

docs missed by the move:
- docs/cli.md: repo-clone build output is now packages/core/dist/cli/oma.js;
  the quick-start anchor now lives in the package README.
- CONTRIBUTING.md: the architecture anchor and src/ entry-point paths now live
  under packages/core/.
2026-06-18 17:31:52 +08:00
Jack Chen 995ce60f62 chore: release 1.5.0 (#276)
* chore(npm): drop docs/ from tarball, absolutize README links, add tarball CI guard

* chore: release 1.5.0

* ci: build before tarball assert, require entry-point files
2026-05-30 11:44:26 +08:00
Jack Chen d5b130b6a2 ci: use npm ci instead of removing lockfile and reinstalling (#262)
Replaces 'rm -f package-lock.json && npm install' with 'npm ci' in the
test and coverage jobs so CI installs respect the committed lockfile.
2026-05-28 00:50:55 +08:00
JackChen e5c82bb0d1 chore: add real badges and wire up codecov (#127)
- Replace the static fake coverage badge with codecov.
- Add npm version and bundlephobia bundle-size badges.
- Add test:coverage script and lcov reporter so CI can upload.
- Add a coverage job in CI that uploads to codecov on Node 20.

Requires CODECOV_TOKEN secret to be set in the repo for the badge to
populate; until then the badge will display "unknown".
2026-04-19 18:00:23 +08:00
JackChen 1fbed196ca Revert "ci: add release workflow triggered by v*.*.* tags" 2026-04-11 15:25:24 +08:00
JackChen a220b6ecc5 ci: add release workflow triggered by v*.*.* tags 2026-04-11 15:23:41 +08:00
JackChen ed3753c1f4 ci: fix cross-platform CI failures after Gemini adapter merge
- Add @google/genai to devDependencies so types are available for
  lint/test in CI (stays as optional peerDependency for consumers)
- Delete package-lock.json in CI before npm install to avoid
  Mac-generated lockfile missing Linux platform-specific rollup binaries
2026-04-05 12:09:31 +08:00
JackChen a68d961379 ci: use npm install instead of npm ci for cross-platform compat
npm ci fails on Linux CI when package-lock.json was generated on macOS,
because platform-specific optional deps (@rollup/rollup-linux-x64-gnu)
are missing from the lockfile. This is a known npm bug (#4828).
2026-04-05 12:06:17 +08:00
JackChen a772312a68 chore: add tests, CI, contributing guide, and PR template
- 5 test files, 61 test cases covering TaskQueue, SharedMemory,
  ToolExecutor, ToolRegistry, and Semaphore
- GitHub Actions CI running lint + test on Node 18/20/22
- CONTRIBUTING.md with setup, commands, and PR workflow
- Pull request template with checklist
2026-04-02 23:43:54 +08:00