15 Commits
Author SHA1 Message Date
Jack Chen bbdb928a5b docs(examples): make the example index runnable from a fresh checkout (#575)
The examples index is the first page most visitors open after the root
README, but it never said the scripts import the framework source and
need a repository checkout, which examples run without an API key, or
that four integrations existed at all.

- Add a "Run an example" block (clone, install, key, npx tsx) and note
  the two exceptions: observability-v2 needs a build, apps have their
  own start scripts. Explain how to port a script into a real project.
- Add a "No API key needed" table for the seven offline examples.
- Let the basics scripts switch provider through OMA_PROVIDER and
  OMA_MODEL instead of hard-coding Claude, following the convention the
  cookbook already uses.
- List external-agent-acp, external-agent-process, with-engram, and
  with-tencentdb-memory, and fail test:example-catalog when a catalog
  entry has no link in the index so it cannot drift again.
- Reorder sections so the 20-row providers table no longer sits between
  basics and the patterns and cookbook tables; mark production/ as empty.
- Align integrations/README.md with the apps grouping and define the
  mcp-<server>.ts versus with-<product>/ naming by example shape.
2026-09-04 22:51:45 +08:00
Jack Chen a30a03956f feat(examples): add an adaptive-recovery capability to the catalog (#567)
The example catalog's controlled vocabulary had no term for runtime plan repair, so the only example that runs recovery in repairable mode was filed under generic run-tasks and structured-output capabilities and could not be reached by a capability filter. Adds adaptive-recovery to the runtime validator and the public catalog schema, and tags commission-reconciliation-recovery with it.
2026-09-03 12:47:00 +08:00
Liz 6c58d474fb feat(examples): add repairable commission recovery cookbook (#565)
Adds a no-key cookbook that walks the full repairable-recovery lifecycle on a synthetic commission reconciliation: three source-scoped investigations produce a typed temporal-evidence gap, a named Replanner appends targeted agreement and policy history lookups plus replacement reconciliation and output tasks, and the run either completes with a RECONCILED result or stops at the configured revision limit and fails closed to MANUAL_REVIEW_REQUIRED outside the task graph. Documents the recipe in docs/adaptive-recovery.md and registers it in the example catalog.
2026-09-03 11:59:54 +08:00
Jack Chen 6eece1d5ee feat(examples): add a real OTLP/HTTP export example (#562)
Every observability example used an in-process exporter, which proves the
adapter's semantics but never serializes a span or opens a socket. Nothing in
the repository showed the path an OpenTelemetry user actually takes, so the
exporter choice, Resource, auth headers, and shutdown order were left for each
reader to reconstruct.

`otlp-backend.ts` runs OTel SDK to OTLP/HTTP exporter to HTTP to a backend, and
prints what crossed the wire. The backend is a loopback listener the example
starts itself, so it still needs no API key, no external collector, and no
internet access; `OTLP_URL` and `OTLP_HEADERS` redirect the same payload to a
hosted vendor.

It also demonstrates two things that are easy to get wrong. `service.name`
belongs to the provider's Resource, and a provider built without one files
every span under `unknown_service:node`. Tool input and output require both
halves of the capture opt-in, so the example sets the core policy and the
adapter mode together and states what the run exports without them.

`runToolDemo` joins the shared demo runtime so the example can show a real
`execute_tool` span; the existing `runDemo` export is unchanged. The example is
registered in the catalog and in the smoke script, which now runs eight
examples.
2026-09-01 01:47:34 +08:00
green3sf d7b4b8038c feat(examples): add market data integrity verify loop (#541)
* feat(examples): add market data integrity verify loop (#540)

* fix(examples): make integrity assertions auditable (#540)
2026-08-21 02:07:31 +08:00
Jack Chen f14708b308 feat(core): support rich tool results (#479)
- separate application-owned data from model-visible text, image, and file content
- map rich results across built-in adapters and preserve them through recovery
- retain backward compatibility for string tools and text-only errors

Closes #466
2026-08-08 11:49:55 +08:00
Jack Chen 1fca8331a5 feat(core): accept structured agent input (#476) 2026-08-08 11:28:39 +08:00
Jack Chen 083916d932 feat(approval): add durable suspend and resume gates (#480)
* feat(approval): add durable suspend and resume gates (#474)

* test(approval): cover durable validation failures (#474)
2026-08-08 03:40:10 +08:00
Jack Chen 7d6ea6c519 test: resolve tsx CLI through Node module resolution
The eval CLI tests and the two example smoke scripts located tsx with a
fixed number of `..` segments, assuming a hoisted install directly above
the workspace. A git worktree has no local node_modules and resolves
upwards to the main checkout, and a non-hoisted install keeps
node_modules inside the workspace, so the path pointed at nothing:
spawnSync failed to launch and 12 tests reported `status: null` instead
of a CLI exit code.

Resolve `tsx/cli` through Node's own module resolution behind a shared
tests/helpers/tsx-cli.ts, and spawn it with process.execPath rather than
executing the node_modules/.bin shim, which is a .cmd wrapper on Windows
that spawnSync cannot launch without a shell. `.bin/tsx` already links
to the same dist/cli.mjs, so the spawned command is unchanged.

Contributors can now run the full core suite directly from a worktree
without hand-linking tsx.
2026-07-26 20:19:54 +08:00
Jack Chen 432b2fa6d1 feat(core): pipeline DAG tasks as dependencies complete (#434) 2026-07-23 19:52:48 +08:00
Jack Chen 9478b2ff5f feat(examples): add catalog metadata contract (#412) 2026-07-20 01:52:54 +08:00
Jack Chen feead27b04 feat(core): add reference evaluation scorers (#409) 2026-07-19 10:59:17 +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
JackChen 3f7808fa14 chore: move hero render script into .github/brand/ 2026-05-08 03:54:27 +08:00
Jack Chen b8356aecdb docs: refresh README and hero animation (#214)
* docs: align Chinese README with English version, optimize translations

- Restructure Chinese README to match English section order
- Add demo image, CI badge, Core Concepts section, AgentPool.runParallel
- Optimize 20+ translations for natural Chinese tech writing
- Tone adjustment: reduce colloquial language, unify terminology
- Remove feature-dump tagline and Grok/Groq disclaimer from both versions
- Clean up English README: fix awkward phrasing, missing article, extra blank line
- Add docs/observability.md and docs/providers.md

* Update README hero animation

* docs: use package-safe README hero URL
2026-05-08 03:32:11 +08:00