@nxisai/agent-harness 0.2.2 → 0.2.4

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
@@ -171,7 +171,6 @@ Both flags go false at a specialist handoff, which swaps the system prompt and t
171
171
  | `debug` | present, or `"false"` | Same as the property. |
172
172
  | `discover` | `"false"` | Skip remote MCP discovery. |
173
173
  | `cache` | `"false"` | Do not store model files in Cache Storage. |
174
- | `mcp-api-key` | string | Key for private remote tools. |
175
174
  | `model-host` | URL | Fetch weights from another origin. |
176
175
  | `model-path-template` | string | Path template under `model-host`. |
177
176
  | `a2ui` | `"false"` | Use the legacy DOM renderers. |
@@ -403,10 +402,80 @@ import { connectTools } from '@nxisai/agent-harness/tools';
403
402
  const { modelContext, remoteTools, warning } = await connectTools(apiKey?, { timeout?, fallback?, accept? });
404
403
  ```
405
404
 
406
- Discovery reads `/.well-known/ai-catalog.json`, follows it to the server card, and bridges the server's tools into `document.modelContext`. When the page has no WebMCP provider, a local registry is installed so bridged tools still have a home (`fallback: false` disables this). `nxis_action` is not bridged by default; it is the server-side path for external MCP clients, and the page's own form tools cover the same actions. Pass `accept` to change which tools cross.
405
+ Discovery reads the site's [`.well-known` catalog](#mcp-discovery-files), follows it to the server card, and bridges the server's tools into `document.modelContext`. When the page has no WebMCP provider, a local registry is installed so bridged tools still have a home (`fallback: false` disables this). `nxis_action` is not bridged by default; it is the server-side path for external MCP clients, and the page's own form tools cover the same actions. Pass `accept` to change which tools cross.
406
+
407
+ `apiKey` is for private remote tools, and **the element never supplies one** — there is no `mcp-api-key` attribute and no `window.__NXIS_CONFIG__.mcp_api_key` fallback. Both put a credential in the page, where every visitor can read it in the source and every third-party script on the origin can read it off the DOM or the global. Public typed retrieval needs no key at all; for anything past it, pass a short-lived token your backend mints per session, or route calls through an endpoint you host — the same decision [`createProxyProvider`](#createproxyprovider) already makes for the model key.
407
408
 
408
409
  Bridged tools are marked read-only only when their server says so. The `nxis_query` schema is flattened for the model: `{ schema_type, text, filters, sort, limit }`, where `filters` is `{ "path": ">=4.5" }` (prefixes `>=`, `>`, `<=`, `<`; a list means any-of) and `sort` is a path with `-` for descending. String and nested forms of `filters` are accepted.
409
410
 
411
+ ### MCP discovery files
412
+
413
+ Remote tools are found by fetching two files from the **page's own origin**. The site serves them; the harness never takes an endpoint from configuration.
414
+
415
+ ```
416
+ https://example.com/.well-known/ai-catalog.json ← tried first
417
+ https://example.com/.well-known/mcp/catalog.json ← tried only if the first fails
418
+ ```
419
+
420
+ Either file is a catalog listing one or more entries. The harness takes the first entry that has a `url` and follows it to a server card:
421
+
422
+ ```json
423
+ {
424
+ "specVersion": "2025-09-16",
425
+ "entries": [
426
+ {
427
+ "identifier": "example-mcp",
428
+ "displayName": "Example",
429
+ "type": "mcp-server",
430
+ "mediaType": "application/json",
431
+ "url": "https://mcp.example.com/.well-known/mcp-server-card.json"
432
+ }
433
+ ]
434
+ }
435
+ ```
436
+
437
+ Only `entries[].url` is read; the other fields are for human and crawler consumption. The URL may point anywhere — the card is commonly hosted on the MCP server's own origin rather than the site's.
438
+
439
+ The server card describes how to reach the server:
440
+
441
+ ```json
442
+ {
443
+ "name": "com.example/mcp",
444
+ "title": "Example",
445
+ "description": "Typed retrieval and actions for example.com",
446
+ "websiteUrl": "https://example.com",
447
+ "remotes": [
448
+ {
449
+ "type": "streamable-http",
450
+ "url": "https://mcp.example.com/mcp",
451
+ "supportedProtocolVersions": ["2025-06-18"],
452
+ "headers": [
453
+ { "name": "X-API-Key", "isSecret": true, "isRequired": false }
454
+ ]
455
+ }
456
+ ],
457
+ "_meta": {
458
+ "ai.nxis/publicTools": ["nxis_query", "nxis_get", "nxis_list_types"]
459
+ }
460
+ }
461
+ ```
462
+
463
+ What each part does:
464
+
465
+ | Field | Effect |
466
+ |---|---|
467
+ | `remotes[]` | The `streamable-http` entry is used; otherwise the first entry. Its `url` is the MCP endpoint, and a missing one fails discovery. |
468
+ | `remotes[].headers[0]` | Names the header an `apiKey` passed to `connectTools` is sent in. Only the first header is read. The element passes none, so this matters only to a headless caller. |
469
+ | `_meta["ai.nxis/publicTools"]` | The tools usable without a key. Used as the tool list only when `tools/list` fails — normally the live list wins. |
470
+ | `title` | Labels the bridged toolset in the UI. |
471
+
472
+ Serving requirements:
473
+
474
+ - Both files must answer `GET` with JSON. The harness sends `Accept: application/json` and treats any non-2xx as "try the next catalog".
475
+ - The catalog fetch is same-origin, so it needs no CORS headers. The **server card and the MCP endpoint usually are cross-origin**, and those responses do need `Access-Control-Allow-Origin` for the site's origin.
476
+ - Discovery failure is never fatal. The agent keeps running with whatever the page registered itself, and `connectTools` returns the reason in `warning`.
477
+ - `discover="false"` skips all of this.
478
+
410
479
  ### A2UI
411
480
 
412
481
  ```ts
@@ -419,7 +488,7 @@ Messages are authored against A2UI v1.0 and downgraded with `toV09` for the publ
419
488
 
420
489
  - WebGPU: Chrome or Edge 113+, or Safari 18+.
421
490
  - Model weights: fetched on first use (gigabytes on a first run, then cached).
422
- - Tools: `document.modelContext` from `nxis.js` or a browser extension, or a remote MCP server discoverable through `.well-known`.
491
+ - Tools: `document.modelContext` from `nxis.js` or a browser extension, or a remote MCP server discoverable through the [`.well-known` files](#mcp-discovery-files) the site serves.
423
492
 
424
493
  ## Troubleshooting and gotchas
425
494
 
@@ -432,6 +501,9 @@ Chrome's Cache Storage can fail on entries this large and kill the renderer rath
432
501
  **"No tools are registered on this page yet."**
433
502
  `document.modelContext` is empty. On a local origin the site tag does not activate, so on-page form tools are absent; remote MCP tools still arrive through discovery if `.well-known/ai-catalog.json` is served. Check that `discover` is not `"false"`.
434
503
 
504
+ **"No MCP server-card URL found in .well-known catalogs".**
505
+ Neither `/.well-known/ai-catalog.json` nor `/.well-known/mcp/catalog.json` answered with JSON containing an entry that has a `url`. Fetch both paths against the origin the page is served from, not the MCP server's origin, and check the shape against [MCP discovery files](#mcp-discovery-files). A dev server that returns `index.html` for unknown paths is a common cause: the fetch succeeds, the JSON parse does not.
506
+
435
507
  **An agent answers "I cannot do that from this page".**
436
508
  That agent's `tools` filter matched nothing among the registered tools. The slice is not widened silently. Check the names your page registers against the filter, and write an `unavailable` line per agent.
437
509
 
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Resolves a site's MCP server from its `.well-known` catalogs.
3
3
  *
4
- * Reads `/.well-known/ai-catalog.json` (falling back to `catalog.json`),
4
+ * Reads `/.well-known/ai-catalog.json` (falling back to `mcp/catalog.json`,
5
+ * the MCP-specific catalog NxisAI publishes beside it),
5
6
  * follows an entry's URL to the server card, and extracts the Streamable HTTP
6
7
  * endpoint, its auth header, and the tools available without a key.
7
8
  *
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../src/harness/tools/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAe,aAAa,EAAc,MAAM,gBAAgB,CAAC;AAuB7E,+EAA+E;AAC/E,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,aAAa,CAAC,CAoBhE"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../src/harness/tools/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAe,aAAa,EAAc,MAAM,gBAAgB,CAAC;AAuB7E,+EAA+E;AAC/E,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,aAAa,CAAC,CAoBhE"}
@@ -6,7 +6,7 @@ async function fetchJson(url) {
6
6
  }
7
7
  /** Find the server-card URL by reading the well-known catalogs in order. */
8
8
  async function resolveServerCardUrl() {
9
- const catalogs = ['/.well-known/ai-catalog.json', '/.well-known/catalog.json'];
9
+ const catalogs = ['/.well-known/ai-catalog.json', '/.well-known/mcp/catalog.json'];
10
10
  for (const path of catalogs) {
11
11
  try {
12
12
  const catalog = await fetchJson(path);
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/harness/tools/discovery.ts"],"names":[],"mappings":"AAWA,KAAK,UAAU,SAAS,CAAI,GAAW;IACrC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAC1E,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAM,CAAC;AACjC,CAAC;AAED,4EAA4E;AAC5E,KAAK,UAAU,oBAAoB;IACjC,MAAM,QAAQ,GAAG,CAAC,8BAA8B,EAAE,2BAA2B,CAAC,CAAC;IAC/E,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAc,IAAI,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,KAAK,EAAE,GAAG;gBAAE,OAAO,KAAK,CAAC,GAAG,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;QAC5B,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;AAC1E,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,MAAM,OAAO,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAa,OAAO,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5F,IAAI,CAAC,MAAM,EAAE,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,OAAO,6BAA6B,CAAC,CAAC;IAE1F,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAC9B,MAAM,WAAW,GAAI,IAAI,CAAC,qBAAqB,CAA0B,IAAI,EAAE,CAAC;IAEhF,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,GAAG;QACpB,cAAc,EAAE,UAAU,EAAE,IAAI;QAChC,YAAY,EAAE,UAAU,EAAE,UAAU,IAAI,KAAK;QAC7C,WAAW;QACX,gBAAgB,EAAE,MAAM,CAAC,yBAAyB,IAAI,EAAE;QACxD,OAAO;QACP,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/harness/tools/discovery.ts"],"names":[],"mappings":"AAYA,KAAK,UAAU,SAAS,CAAI,GAAW;IACrC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAC1E,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAM,CAAC;AACjC,CAAC;AAED,4EAA4E;AAC5E,KAAK,UAAU,oBAAoB;IACjC,MAAM,QAAQ,GAAG,CAAC,8BAA8B,EAAE,+BAA+B,CAAC,CAAC;IACnF,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAc,IAAI,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,KAAK,EAAE,GAAG;gBAAE,OAAO,KAAK,CAAC,GAAG,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;QAC5B,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;AAC1E,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,MAAM,OAAO,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAa,OAAO,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5F,IAAI,CAAC,MAAM,EAAE,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,OAAO,6BAA6B,CAAC,CAAC;IAE1F,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAC9B,MAAM,WAAW,GAAI,IAAI,CAAC,qBAAqB,CAA0B,IAAI,EAAE,CAAC;IAEhF,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,GAAG;QACpB,cAAc,EAAE,UAAU,EAAE,IAAI;QAChC,YAAY,EAAE,UAAU,EAAE,UAAU,IAAI,KAAK;QAC7C,WAAW;QACX,gBAAgB,EAAE,MAAM,CAAC,yBAAyB,IAAI,EAAE;QACxD,OAAO;QACP,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC;AACJ,CAAC"}
@@ -54,8 +54,10 @@ export interface ConnectOptions {
54
54
  * page's own tools working, and a site with no MCP server is an ordinary case
55
55
  * rather than an error.
56
56
  *
57
- * @param apiKey - Key for the remote server's private tools. Falls back to
58
- * `window.__NXIS_CONFIG__.mcp_api_key`. Public tools need none.
57
+ * @param apiKey - Key for the remote server's private tools. Public tools need
58
+ * none, and the element never supplies one: a key readable in the page is a
59
+ * published key. Pass one only where it is short-lived and scoped, such as a
60
+ * token your backend mints per session.
59
61
  * @param opts - Timeout, local-registry fallback, and a tool filter.
60
62
  * @returns The registry, the remote tools bridged in, and any warning.
61
63
  */
@@ -1 +1 @@
1
- {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../src/harness/tools/source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAKnD,2CAA2C;AAC3C,MAAM,WAAW,aAAa;IAC5B,8EAA8E;IAC9E,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,gFAAgF;IAChF,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAOD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,SAAmB,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAgB5F;AAED,wCAAwC;AACxC,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;CAClC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAChC,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,aAAa,CAAC,CAyBxB;AAED,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../src/harness/tools/source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAKnD,2CAA2C;AAC3C,MAAM,WAAW,aAAa;IAC5B,8EAA8E;IAC9E,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,gFAAgF;IAChF,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAOD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,SAAmB,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAgB5F;AAED,wCAAwC;AACxC,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;CAClC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,YAAY,CAChC,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,aAAa,CAAC,CAyBxB;AAED,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -55,8 +55,10 @@ export function waitForModelContext(timeout = READY_TIMEOUT_MS) {
55
55
  * page's own tools working, and a site with no MCP server is an ordinary case
56
56
  * rather than an error.
57
57
  *
58
- * @param apiKey - Key for the remote server's private tools. Falls back to
59
- * `window.__NXIS_CONFIG__.mcp_api_key`. Public tools need none.
58
+ * @param apiKey - Key for the remote server's private tools. Public tools need
59
+ * none, and the element never supplies one: a key readable in the page is a
60
+ * published key. Pass one only where it is short-lived and scoped, such as a
61
+ * token your backend mints per session.
60
62
  * @param opts - Timeout, local-registry fallback, and a tool filter.
61
63
  * @returns The registry, the remote tools bridged in, and any warning.
62
64
  */
@@ -72,7 +74,7 @@ export async function connectTools(apiKey, opts = {}) {
72
74
  }
73
75
  try {
74
76
  const info = await discoverMcpServer();
75
- const client = await connectMcp(info, apiKey ?? window.__NXIS_CONFIG__?.mcp_api_key);
77
+ const client = await connectMcp(info, apiKey);
76
78
  const remoteTools = await registerRemoteTools(client, mc, info, { accept: opts.accept });
77
79
  return { modelContext: mc, remoteTools };
78
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"source.js","sourceRoot":"","sources":["../../../src/harness/tools/source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,mBAAmB,EAAsB,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGnD,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAC/B,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAY7B,6EAA6E;AAC7E,SAAS,eAAe;IACtB,OAAO,QAAQ,CAAC,YAAY,IAAI,SAAS,CAAC,YAAY,IAAI,IAAI,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAO,GAAG,gBAAgB;IAC5D,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IACpC,IAAI,SAAS;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;YAC1B,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC;YAC7B,IAAI,EAAE,EAAE,CAAC;gBACP,aAAa,CAAC,EAAE,CAAC,CAAC;gBAClB,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC;iBAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,OAAO,EAAE,CAAC;gBAC1C,aAAa,CAAC,EAAE,CAAC,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC;AAiBD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAe,EACf,OAAuB,EAAE;IAEzB,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAC;IAC3E,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC7E,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO;YACL,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,mEAAmE;SAC7E,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,iBAAiB,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,MAAM,IAAI,MAAM,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QACrF,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACzF,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;IAC3C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,4DAA4D,MAAM,CACxE,GAAa,EAAE,OAAO,IAAI,GAAG,CAC/B,EAAE;SACJ,CAAC;IACJ,CAAC;AACH,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../../src/harness/tools/source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,mBAAmB,EAAsB,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGnD,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAC/B,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAY7B,6EAA6E;AAC7E,SAAS,eAAe;IACtB,OAAO,QAAQ,CAAC,YAAY,IAAI,SAAS,CAAC,YAAY,IAAI,IAAI,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAO,GAAG,gBAAgB;IAC5D,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IACpC,IAAI,SAAS;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;YAC1B,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC;YAC7B,IAAI,EAAE,EAAE,CAAC;gBACP,aAAa,CAAC,EAAE,CAAC,CAAC;gBAClB,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,CAAC;iBAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,OAAO,EAAE,CAAC;gBAC1C,aAAa,CAAC,EAAE,CAAC,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC;AAiBD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAe,EACf,OAAuB,EAAE;IAEzB,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAC;IAC3E,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC7E,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO;YACL,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,mEAAmE;SAC7E,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,iBAAiB,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACzF,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;IAC3C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,4DAA4D,MAAM,CACxE,GAAa,EAAE,OAAO,IAAI,GAAG,CAC/B,EAAE;SACJ,CAAC;IACJ,CAAC;AACH,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/providers/proxy.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,YAAY,CAAC;AAE5D,+CAA+C;AAC/C,MAAM,WAAW,oBAAoB;IACnC;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAoCD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,aAAa,CAkD7E"}
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/providers/proxy.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,YAAY,CAAC;AAE5D,+CAA+C;AAC/C,MAAM,WAAW,oBAAoB;IACnC;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAyDD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,aAAa,CAkD7E"}
@@ -1,3 +1,42 @@
1
+ /**
2
+ * A {@link ModelProvider} that forwards completions to an endpoint you host.
3
+ *
4
+ * The browser never holds a vendor credential: the page posts to your own
5
+ * origin, and your endpoint calls the model with a key only it can see. This is
6
+ * the client half of that arrangement. The server half is yours to write, and
7
+ * `docs/remote-providers.md` documents the contract it has to satisfy.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * import { createProxyProvider } from '@nxisai/agent-harness';
12
+ *
13
+ * const agent = document.querySelector('nxis-agent-fullscreen');
14
+ * agent.modelProvider = createProxyProvider({ endpoint: '/api/agent' });
15
+ * ```
16
+ *
17
+ * @module
18
+ */
19
+ import { toolSchema } from '../harness/tools/schema.js';
20
+ /**
21
+ * Reduce the page's tools to plain, serialisable data.
22
+ *
23
+ * `discoverTools` returns whatever the WebMCP implementation holds, and a
24
+ * native registry returns live objects that reference the page: passing those
25
+ * to `JSON.stringify` throws "Converting circular structure to JSON, starting
26
+ * at object with constructor 'Window'". The local provider never hit this
27
+ * because it reads the same three fields out before building its prompt.
28
+ *
29
+ * Normalising the schema here also spares every endpoint the job: WebMCP
30
+ * carries it under four different keys and sometimes as a JSON string, and
31
+ * `inputSchema` is the one the contract documents.
32
+ */
33
+ function wireTools(tools) {
34
+ return tools.map((tool) => ({
35
+ name: tool.name,
36
+ description: tool.description ?? '',
37
+ inputSchema: toolSchema(tool),
38
+ }));
39
+ }
1
40
  /**
2
41
  * Reduce a response to the single call the harness can act on.
3
42
  *
@@ -55,7 +94,7 @@ export function createProxyProvider(opts) {
55
94
  // Without this the stop control, Escape and edit-and-resend are all
56
95
  // inert: they abort the turn through this signal and nothing else.
57
96
  signal,
58
- body: JSON.stringify({ messages, tools, maxTokens, cache }),
97
+ body: JSON.stringify({ messages, tools: wireTools(tools), maxTokens, cache }),
59
98
  });
60
99
  if (!res.ok) {
61
100
  throw new Error(`Agent endpoint ${endpoint} returned ${res.status} ${res.statusText}`);
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/providers/proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/providers/proxy.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -160,8 +160,6 @@ export interface NxisConfig {
160
160
  webmcp?: {
161
161
  mode?: string;
162
162
  };
163
- /** Optional MCP API key for private tools; public typed-retrieval needs none. */
164
- mcp_api_key?: string;
165
163
  }
166
164
  declare global {
167
165
  interface Document {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -2015,7 +2015,11 @@ class NxisAgentFullscreen extends HTMLElement {
2015
2015
  this._connect = Promise.resolve();
2016
2016
  return this._connect;
2017
2017
  }
2018
- this._connect = connectTools(this.getAttribute('mcp-api-key') || undefined, {
2018
+ // No credential is passed, and the element takes none: a key in markup or
2019
+ // in a page global is served to every visitor and readable by every script
2020
+ // on the origin. Private tools belong behind an endpoint you host — see
2021
+ // `createProxyProvider` for the same decision on the model key.
2022
+ this._connect = connectTools(undefined, {
2019
2023
  // Short, because this blocks the first turn: a provider that has not
2020
2024
  // appeared within a few seconds is not going to.
2021
2025
  timeout: 4000,
@@ -1 +1 @@
1
- {"version":3,"file":"agent-fullscreen.js","sourceRoot":"","sources":["../../src/ui/agent-fullscreen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-fullscreen.js","sourceRoot":"","sources":["../../src/ui/agent-fullscreen.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,190 @@
1
+ # Running the agent on a remote model
2
+
3
+ The harness ships two providers: `LocalGemmaProvider`, which runs Gemma 4 in the browser over WebGPU, and `createProxyProvider`, which forwards completions to an endpoint you host. This page covers the second, with a worked Claude endpoint.
4
+
5
+ You write the endpoint; the harness writes the client. What passes between them is the contract below, and it is what we keep stable.
6
+
7
+ ## The client
8
+
9
+ ```ts
10
+ import { createProxyProvider } from '@nxisai/agent-harness';
11
+
12
+ const agent = document.querySelector('nxis-agent-fullscreen');
13
+ agent.modelProvider = createProxyProvider({ endpoint: '/api/agent' });
14
+ ```
15
+
16
+ Headless, the same provider goes to the harness directly:
17
+
18
+ ```ts
19
+ const harness = new AgentHarness({
20
+ renderer,
21
+ provider: createProxyProvider({ endpoint: '/api/agent' }),
22
+ });
23
+ ```
24
+
25
+ Options: `endpoint` is required; `name` labels it in logs and debug output; `headers` adds request headers for an endpoint expecting its own auth; `fetchImpl` substitutes `fetch`, for tests or for wrapping requests with retry or instrumentation.
26
+
27
+ The provider has no `load()` and no `countTokens()`, and their absence is meaningful. No `load` tells the UI to skip the download treatment (the charging ring, the byte counts, the stage labels); no `countTokens` hides the token metrics rather than reporting zeroes. `local: false` makes the header badge read `Remote` instead of `On-device`, so a page sending conversations off-device says so.
28
+
29
+ ## The contract
30
+
31
+ Your endpoint receives a POST with `Accept: application/json` and this body:
32
+
33
+ ```ts
34
+ {
35
+ messages: ChatMessage[], // the conversation, system prompt included
36
+ tools: { name, description, inputSchema }[], // this agent's slice only
37
+ maxTokens?: number,
38
+ cache?: { stableMessages: number, toolsStable: boolean }
39
+ }
40
+ ```
41
+
42
+ It answers with:
43
+
44
+ ```ts
45
+ {
46
+ text: string, // rendered verbatim
47
+ call?: { name: string, args: object }, // at most one
48
+ usage?: { promptTokens: number, outputTokens: number }
49
+ }
50
+ ```
51
+
52
+ Tools arrive normalised to those three fields. WebMCP carries a schema under four different keys and sometimes as a JSON string; `createProxyProvider` resolves that before sending, so an endpoint reads `inputSchema` and nothing else. It is also what keeps the request serialisable: a native WebMCP registry hands back live objects that reference the page, and stringifying one throws.
53
+
54
+ Four rules, and each one is silent when broken, which is why they are written down:
55
+
56
+ **`text` is rendered verbatim.** Strip any protocol markers in the endpoint. The harness does no parsing.
57
+
58
+ **At most one call per turn.** The harness runs one tool per turn. `createProxyProvider` takes the first and warns about the rest, including when they arrive as a `calls` array, so a mapping mistake is loud rather than invisible.
59
+
60
+ **Honour the abort.** `createProxyProvider` passes `signal` to `fetch` for you; your endpoint should likewise abandon its upstream request. Rejecting with an `AbortError` is correct: the harness treats it as a cancellation and resolves the turn as `'stopped'`, not as a failure.
61
+
62
+ **Answer with JSON while the request asks for it.** The `Accept` header is how streaming arrives later without breaking anything: a future streaming provider will ask for `text/event-stream`, and an endpoint that only speaks JSON keeps working with this one.
63
+
64
+ **The cache hint is advice.** `{ stableMessages, toolsStable }` says what the harness knows will repeat: the system prompt while the conversation stays with one agent, the tool slice while it does not change. Both go false at a specialist handoff. Whether to act on it is your backend's decision.
65
+
66
+ ## Put a proxy on your own origin
67
+
68
+ Do not call a vendor API from the browser. A key in page source is a key anyone can read, and there is no rate limit, no audit, and no CORS story. Put an endpoint on the same origin as the page:
69
+
70
+ ```
71
+ browser (provider) → POST /api/agent (your origin, session cookie) → vendor API (your key)
72
+ ```
73
+
74
+ Same origin also means your existing session auth applies, so you can answer "who is allowed to ask" before spending anything.
75
+
76
+ ## The endpoint
77
+
78
+ A Next route handler. The mapping in both directions is the part worth reading: WebMCP tool schemas go out as Claude tools, and Claude's `tool_use` block comes back as `Completion.call`.
79
+
80
+ ```ts
81
+ // app/api/agent/route.ts
82
+ import Anthropic from '@anthropic-ai/sdk';
83
+
84
+ const anthropic = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY });
85
+
86
+ export async function POST(request: Request) {
87
+ // Your auth, your rate limiting. The browser cannot enforce either.
88
+ const { messages, tools, maxTokens, cache } = await request.json();
89
+
90
+ const system = messages.find((m) => m.role === 'system')?.content ?? '';
91
+ const turns = messages.filter((m) => m.role !== 'system');
92
+
93
+ const response = await anthropic.messages.create({
94
+ model: 'claude-sonnet-5',
95
+ max_tokens: maxTokens ?? 1024,
96
+ // The harness says when a prefix is worth caching; whether to act on it is
97
+ // yours. Claude caches from the marked block backwards.
98
+ system: cache?.toolsStable
99
+ ? [{ type: 'text', text: system, cache_control: { type: 'ephemeral' } }]
100
+ : system,
101
+ tools: tools.map((t) => ({
102
+ name: t.name,
103
+ description: t.description ?? '',
104
+ input_schema: t.inputSchema ?? { type: 'object', properties: {} },
105
+ })),
106
+ messages: turns,
107
+ });
108
+
109
+ const text = response.content
110
+ .filter((b) => b.type === 'text')
111
+ .map((b) => b.text)
112
+ .join('')
113
+ .trim();
114
+
115
+ // At most one call: the harness handles one tool per turn.
116
+ const use = response.content.find((b) => b.type === 'tool_use');
117
+
118
+ return Response.json({
119
+ text,
120
+ call: use ? { name: use.name, args: use.input } : undefined,
121
+ usage: {
122
+ promptTokens: response.usage.input_tokens,
123
+ outputTokens: response.usage.output_tokens,
124
+ },
125
+ });
126
+ }
127
+ ```
128
+
129
+ ## Writing a provider by hand
130
+
131
+ `createProxyProvider` covers the case above. Write your own `ModelProvider` when the transport is not an HTTP POST of this shape: a WebSocket, a shared worker, an SDK that manages its own connection.
132
+
133
+ ```ts
134
+ interface ModelProvider {
135
+ readonly name: string;
136
+ readonly local: boolean; // false for anything off-device
137
+ readonly ready: boolean;
138
+ readonly loading: boolean;
139
+ load?(): Promise<void>; // omit it: nothing to download
140
+ preload?(mode): void; // omit it
141
+ complete(req: CompletionRequest): Promise<Completion>;
142
+ countTokens?(text): Promise<number>; // omit it: hides the token metrics
143
+ }
144
+ ```
145
+
146
+ Implement `complete` and the four readonly fields. The four rules above still apply, and nothing enforces them for you.
147
+
148
+ ## Streaming
149
+
150
+ `onToken` is called with the whole answer so far, not the newest fragment. Nothing in the harness requires a stream: a provider that resolves once shows the thinking indicator until it does. If you want tokens as they arrive, stream from your endpoint and call `onToken` as you read.
151
+
152
+ ```ts
153
+ async complete({ messages, tools, maxTokens, signal, onToken }) {
154
+ const res = await fetch(endpoint, {
155
+ method: 'POST',
156
+ headers: { 'Content-Type': 'application/json' },
157
+ credentials: 'same-origin',
158
+ signal,
159
+ body: JSON.stringify({ messages, tools, maxTokens, stream: true }),
160
+ });
161
+ if (!res.ok || !res.body) throw new Error(`Agent endpoint returned ${res.status}`);
162
+
163
+ const reader = res.body.pipeThrough(new TextDecoderStream()).getReader();
164
+ let text = '';
165
+ let call;
166
+
167
+ for (;;) {
168
+ const { value, done } = await reader.read();
169
+ if (done) break;
170
+ for (const line of value.split('\n')) {
171
+ if (!line.startsWith('data: ')) continue;
172
+ const event = JSON.parse(line.slice(6));
173
+ if (event.type === 'text') {
174
+ text += event.delta;
175
+ onToken?.(text); // the whole answer so far
176
+ }
177
+ if (event.type === 'tool_use') call = { name: event.name, args: event.input };
178
+ }
179
+ }
180
+ return { text: text.trim(), call };
181
+ }
182
+ ```
183
+
184
+ On the endpoint, map your vendor's stream to those events. Claude's `content_block_delta` carries `text_delta` for prose, and the `tool_use` block's input arrives as `input_json_delta` fragments that have to be concatenated and parsed once the block stops.
185
+
186
+ ## Notes
187
+
188
+ The four rules under [The contract](#the-contract) are the ones that bite. One more is worth knowing when writing the endpoint:
189
+
190
+ **Tool results go back as user turns.** The harness writes them into the transcript itself, as `[nxis_query returned: …]` for a read and `[booking-form submitted with: …]` for a write. Your endpoint therefore does not need Claude's `tool_use` and `tool_result` block pairing unless you want the model to see it that way; plain turns are what arrives.
@@ -0,0 +1,78 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" color="#B0BCCF" viewBox="0 0 960 372" role="img" aria-label="Today every turn loads one system prompt and all ten tool definitions, 2476 tokens. Proposed, a coordinator with no tools routes to one of four specialists, each loading only its own prompt and tools, 506 to 611 tokens per turn.">
2
+ <defs>
3
+ <marker id="ar" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
4
+ <path d="M 0 0 L 10 5 L 0 10 z" fill="currentColor"/>
5
+ </marker>
6
+ </defs>
7
+
8
+ <!-- ── TODAY ───────────────────────────────────────────── -->
9
+ <text x="0" y="14" font-family="'JetBrains Mono',monospace" font-size="11" letter-spacing="1.6" fill="currentColor" opacity=".65">SINGLE AGENT</text>
10
+
11
+ <rect x="0" y="34" width="150" height="34" rx="8" fill="none" stroke="currentColor" stroke-width="1.2" opacity=".55"/>
12
+ <text x="75" y="56" text-anchor="middle" font-family="Inter,sans-serif" font-size="12.5" fill="currentColor">user turn</text>
13
+
14
+ <line x1="75" y1="68" x2="75" y2="104" stroke="currentColor" stroke-width="1.2" marker-end="url(#ar)"/>
15
+
16
+ <rect x="0" y="106" width="380" height="128" rx="11" fill="none" stroke="currentColor" stroke-width="1.6"/>
17
+ <text x="16" y="130" font-family="Manrope,sans-serif" font-weight="700" font-size="14" fill="currentColor">One agent, every tool</text>
18
+ <text x="16" y="152" font-family="Inter,sans-serif" font-size="12" fill="currentColor" opacity=".8">system prompt · everything at once</text>
19
+ <text x="364" y="130" text-anchor="end" font-family="'JetBrains Mono',monospace" font-size="12" fill="currentColor">560</text>
20
+
21
+ <line x1="16" y1="166" x2="364" y2="166" stroke="currentColor" stroke-width="1" opacity=".3"/>
22
+ <text x="16" y="188" font-family="Inter,sans-serif" font-size="12" fill="currentColor" opacity=".8">10 tool definitions</text>
23
+ <text x="364" y="188" text-anchor="end" font-family="'JetBrains Mono',monospace" font-size="12" fill="currentColor">1,916</text>
24
+ <text x="16" y="210" font-family="Inter,sans-serif" font-size="12" fill="currentColor" opacity=".55">query · get · list · action · 6 forms</text>
25
+ <text x="364" y="216" text-anchor="end" font-family="'JetBrains Mono',monospace" font-size="13" font-weight="500" fill="currentColor">2,476 / turn</text>
26
+
27
+ <line x1="190" y1="234" x2="190" y2="268" stroke="currentColor" stroke-width="1.2" marker-end="url(#ar)"/>
28
+ <rect x="90" y="270" width="200" height="34" rx="8" fill="none" stroke="currentColor" stroke-width="1.2" opacity=".55"/>
29
+ <text x="190" y="292" text-anchor="middle" font-family="Inter,sans-serif" font-size="12.5" fill="currentColor">picks 1 of 10 tools</text>
30
+
31
+ <!-- divider -->
32
+ <line x1="452" y1="20" x2="452" y2="340" stroke="currentColor" stroke-width="1" opacity=".22" stroke-dasharray="3 5"/>
33
+
34
+ <!-- ── PROPOSED ────────────────────────────────────────── -->
35
+ <text x="516" y="14" font-family="'JetBrains Mono',monospace" font-size="11" letter-spacing="1.6" fill="#7CA6FF">SPECIALISTS</text>
36
+
37
+ <rect x="516" y="34" width="150" height="34" rx="8" fill="none" stroke="currentColor" stroke-width="1.2" opacity=".55"/>
38
+ <text x="591" y="56" text-anchor="middle" font-family="Inter,sans-serif" font-size="12.5" fill="currentColor">user turn</text>
39
+
40
+ <line x1="591" y1="68" x2="591" y2="102" stroke="currentColor" stroke-width="1.2" marker-end="url(#ar)"/>
41
+
42
+ <rect x="516" y="104" width="290" height="52" rx="10" fill="none" stroke="#7CA6FF" stroke-width="1.6"/>
43
+ <text x="532" y="126" font-family="Manrope,sans-serif" font-weight="700" font-size="13.5" fill="#7CA6FF">Coordinator</text>
44
+ <text x="532" y="145" font-family="Inter,sans-serif" font-size="11.5" fill="currentColor" opacity=".8">classify only · no tools</text>
45
+ <text x="790" y="134" text-anchor="end" font-family="'JetBrains Mono',monospace" font-size="12" fill="#7CA6FF">~120</text>
46
+
47
+ <text x="824" y="134" font-family="Inter,sans-serif" font-size="11" fill="currentColor" opacity=".6">rules first,</text>
48
+ <text x="824" y="149" font-family="Inter,sans-serif" font-size="11" fill="currentColor" opacity=".6">model only if unclear</text>
49
+
50
+ <!-- fan-out: one coordinator, four slices -->
51
+ <line x1="661" y1="156" x2="661" y2="192" stroke="currentColor" stroke-width="1.2"/>
52
+ <line x1="481" y1="192" x2="841" y2="192" stroke="currentColor" stroke-width="1.2"/>
53
+ <line x1="481" y1="192" x2="481" y2="216" stroke="currentColor" stroke-width="1.2" marker-end="url(#ar)"/>
54
+ <line x1="601" y1="192" x2="601" y2="216" stroke="currentColor" stroke-width="1.2" marker-end="url(#ar)"/>
55
+ <line x1="721" y1="192" x2="721" y2="216" stroke="currentColor" stroke-width="1.2" marker-end="url(#ar)"/>
56
+ <line x1="841" y1="192" x2="841" y2="216" stroke="currentColor" stroke-width="1.2" marker-end="url(#ar)"/>
57
+ <rect x="427" y="218" width="108" height="92" rx="10" fill="none" stroke="currentColor" stroke-width="1.4"/>
58
+ <text x="439" y="240" font-family="Manrope,sans-serif" font-weight="700" font-size="12" fill="currentColor">Retrieval</text>
59
+ <text x="439" y="258" font-family="Inter,sans-serif" font-size="10" fill="currentColor" opacity=".75">query · get</text>
60
+ <text x="439" y="274" font-family="Inter,sans-serif" font-size="10" fill="currentColor" opacity=".55">types, filters</text>
61
+ <text x="523" y="299" text-anchor="end" font-family="'JetBrains Mono',monospace" font-size="11.5" fill="currentColor">611</text>
62
+ <rect x="547" y="218" width="108" height="92" rx="10" fill="none" stroke="currentColor" stroke-width="1.4"/>
63
+ <text x="559" y="240" font-family="Manrope,sans-serif" font-weight="700" font-size="12" fill="currentColor">Booking</text>
64
+ <text x="559" y="258" font-family="Inter,sans-serif" font-size="10" fill="currentColor" opacity=".75">booking · lookup</text>
65
+ <text x="559" y="274" font-family="Inter,sans-serif" font-size="10" fill="currentColor" opacity=".55">windows, 24h line</text>
66
+ <text x="643" y="299" text-anchor="end" font-family="'JetBrains Mono',monospace" font-size="11.5" fill="currentColor">506</text>
67
+ <rect x="667" y="218" width="108" height="92" rx="10" fill="none" stroke="currentColor" stroke-width="1.4"/>
68
+ <text x="679" y="240" font-family="Manrope,sans-serif" font-weight="700" font-size="12" fill="currentColor">Quote</text>
69
+ <text x="679" y="258" font-family="Inter,sans-serif" font-size="10" fill="currentColor" opacity=".75">quote · contact</text>
70
+ <text x="679" y="274" font-family="Inter,sans-serif" font-size="10" fill="currentColor" opacity=".55">scope, no prices</text>
71
+ <text x="763" y="299" text-anchor="end" font-family="'JetBrains Mono',monospace" font-size="11.5" fill="currentColor">574</text>
72
+ <rect x="787" y="218" width="108" height="92" rx="10" fill="none" stroke="currentColor" stroke-width="1.4"/>
73
+ <text x="799" y="240" font-family="Manrope,sans-serif" font-weight="700" font-size="12" fill="currentColor">Forms</text>
74
+ <text x="799" y="258" font-family="Inter,sans-serif" font-size="10" fill="currentColor" opacity=".75">plan · jobs</text>
75
+ <text x="799" y="274" font-family="Inter,sans-serif" font-size="10" fill="currentColor" opacity=".55">tiers, roles</text>
76
+ <text x="883" y="299" text-anchor="end" font-family="'JetBrains Mono',monospace" font-size="11.5" fill="currentColor">522</text>
77
+ <text x="516" y="336" font-family="Inter,sans-serif" font-size="11.5" fill="currentColor" opacity=".65">one engine · one transcript · one tool slice loaded per turn</text>
78
+ </svg>
@@ -0,0 +1,78 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" color="#3F4B5E" viewBox="0 0 960 372" role="img" aria-label="Today every turn loads one system prompt and all ten tool definitions, 2476 tokens. Proposed, a coordinator with no tools routes to one of four specialists, each loading only its own prompt and tools, 506 to 611 tokens per turn.">
2
+ <defs>
3
+ <marker id="ar" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
4
+ <path d="M 0 0 L 10 5 L 0 10 z" fill="currentColor"/>
5
+ </marker>
6
+ </defs>
7
+
8
+ <!-- ── TODAY ───────────────────────────────────────────── -->
9
+ <text x="0" y="14" font-family="'JetBrains Mono',monospace" font-size="11" letter-spacing="1.6" fill="currentColor" opacity=".65">SINGLE AGENT</text>
10
+
11
+ <rect x="0" y="34" width="150" height="34" rx="8" fill="none" stroke="currentColor" stroke-width="1.2" opacity=".55"/>
12
+ <text x="75" y="56" text-anchor="middle" font-family="Inter,sans-serif" font-size="12.5" fill="currentColor">user turn</text>
13
+
14
+ <line x1="75" y1="68" x2="75" y2="104" stroke="currentColor" stroke-width="1.2" marker-end="url(#ar)"/>
15
+
16
+ <rect x="0" y="106" width="380" height="128" rx="11" fill="none" stroke="currentColor" stroke-width="1.6"/>
17
+ <text x="16" y="130" font-family="Manrope,sans-serif" font-weight="700" font-size="14" fill="currentColor">One agent, every tool</text>
18
+ <text x="16" y="152" font-family="Inter,sans-serif" font-size="12" fill="currentColor" opacity=".8">system prompt · everything at once</text>
19
+ <text x="364" y="130" text-anchor="end" font-family="'JetBrains Mono',monospace" font-size="12" fill="currentColor">560</text>
20
+
21
+ <line x1="16" y1="166" x2="364" y2="166" stroke="currentColor" stroke-width="1" opacity=".3"/>
22
+ <text x="16" y="188" font-family="Inter,sans-serif" font-size="12" fill="currentColor" opacity=".8">10 tool definitions</text>
23
+ <text x="364" y="188" text-anchor="end" font-family="'JetBrains Mono',monospace" font-size="12" fill="currentColor">1,916</text>
24
+ <text x="16" y="210" font-family="Inter,sans-serif" font-size="12" fill="currentColor" opacity=".55">query · get · list · action · 6 forms</text>
25
+ <text x="364" y="216" text-anchor="end" font-family="'JetBrains Mono',monospace" font-size="13" font-weight="500" fill="currentColor">2,476 / turn</text>
26
+
27
+ <line x1="190" y1="234" x2="190" y2="268" stroke="currentColor" stroke-width="1.2" marker-end="url(#ar)"/>
28
+ <rect x="90" y="270" width="200" height="34" rx="8" fill="none" stroke="currentColor" stroke-width="1.2" opacity=".55"/>
29
+ <text x="190" y="292" text-anchor="middle" font-family="Inter,sans-serif" font-size="12.5" fill="currentColor">picks 1 of 10 tools</text>
30
+
31
+ <!-- divider -->
32
+ <line x1="452" y1="20" x2="452" y2="340" stroke="currentColor" stroke-width="1" opacity=".22" stroke-dasharray="3 5"/>
33
+
34
+ <!-- ── PROPOSED ────────────────────────────────────────── -->
35
+ <text x="516" y="14" font-family="'JetBrains Mono',monospace" font-size="11" letter-spacing="1.6" fill="#2563EB">SPECIALISTS</text>
36
+
37
+ <rect x="516" y="34" width="150" height="34" rx="8" fill="none" stroke="currentColor" stroke-width="1.2" opacity=".55"/>
38
+ <text x="591" y="56" text-anchor="middle" font-family="Inter,sans-serif" font-size="12.5" fill="currentColor">user turn</text>
39
+
40
+ <line x1="591" y1="68" x2="591" y2="102" stroke="currentColor" stroke-width="1.2" marker-end="url(#ar)"/>
41
+
42
+ <rect x="516" y="104" width="290" height="52" rx="10" fill="none" stroke="#2563EB" stroke-width="1.6"/>
43
+ <text x="532" y="126" font-family="Manrope,sans-serif" font-weight="700" font-size="13.5" fill="#2563EB">Coordinator</text>
44
+ <text x="532" y="145" font-family="Inter,sans-serif" font-size="11.5" fill="currentColor" opacity=".8">classify only · no tools</text>
45
+ <text x="790" y="134" text-anchor="end" font-family="'JetBrains Mono',monospace" font-size="12" fill="#2563EB">~120</text>
46
+
47
+ <text x="824" y="134" font-family="Inter,sans-serif" font-size="11" fill="currentColor" opacity=".6">rules first,</text>
48
+ <text x="824" y="149" font-family="Inter,sans-serif" font-size="11" fill="currentColor" opacity=".6">model only if unclear</text>
49
+
50
+ <!-- fan-out: one coordinator, four slices -->
51
+ <line x1="661" y1="156" x2="661" y2="192" stroke="currentColor" stroke-width="1.2"/>
52
+ <line x1="481" y1="192" x2="841" y2="192" stroke="currentColor" stroke-width="1.2"/>
53
+ <line x1="481" y1="192" x2="481" y2="216" stroke="currentColor" stroke-width="1.2" marker-end="url(#ar)"/>
54
+ <line x1="601" y1="192" x2="601" y2="216" stroke="currentColor" stroke-width="1.2" marker-end="url(#ar)"/>
55
+ <line x1="721" y1="192" x2="721" y2="216" stroke="currentColor" stroke-width="1.2" marker-end="url(#ar)"/>
56
+ <line x1="841" y1="192" x2="841" y2="216" stroke="currentColor" stroke-width="1.2" marker-end="url(#ar)"/>
57
+ <rect x="427" y="218" width="108" height="92" rx="10" fill="none" stroke="currentColor" stroke-width="1.4"/>
58
+ <text x="439" y="240" font-family="Manrope,sans-serif" font-weight="700" font-size="12" fill="currentColor">Retrieval</text>
59
+ <text x="439" y="258" font-family="Inter,sans-serif" font-size="10" fill="currentColor" opacity=".75">query · get</text>
60
+ <text x="439" y="274" font-family="Inter,sans-serif" font-size="10" fill="currentColor" opacity=".55">types, filters</text>
61
+ <text x="523" y="299" text-anchor="end" font-family="'JetBrains Mono',monospace" font-size="11.5" fill="currentColor">611</text>
62
+ <rect x="547" y="218" width="108" height="92" rx="10" fill="none" stroke="currentColor" stroke-width="1.4"/>
63
+ <text x="559" y="240" font-family="Manrope,sans-serif" font-weight="700" font-size="12" fill="currentColor">Booking</text>
64
+ <text x="559" y="258" font-family="Inter,sans-serif" font-size="10" fill="currentColor" opacity=".75">booking · lookup</text>
65
+ <text x="559" y="274" font-family="Inter,sans-serif" font-size="10" fill="currentColor" opacity=".55">windows, 24h line</text>
66
+ <text x="643" y="299" text-anchor="end" font-family="'JetBrains Mono',monospace" font-size="11.5" fill="currentColor">506</text>
67
+ <rect x="667" y="218" width="108" height="92" rx="10" fill="none" stroke="currentColor" stroke-width="1.4"/>
68
+ <text x="679" y="240" font-family="Manrope,sans-serif" font-weight="700" font-size="12" fill="currentColor">Quote</text>
69
+ <text x="679" y="258" font-family="Inter,sans-serif" font-size="10" fill="currentColor" opacity=".75">quote · contact</text>
70
+ <text x="679" y="274" font-family="Inter,sans-serif" font-size="10" fill="currentColor" opacity=".55">scope, no prices</text>
71
+ <text x="763" y="299" text-anchor="end" font-family="'JetBrains Mono',monospace" font-size="11.5" fill="currentColor">574</text>
72
+ <rect x="787" y="218" width="108" height="92" rx="10" fill="none" stroke="currentColor" stroke-width="1.4"/>
73
+ <text x="799" y="240" font-family="Manrope,sans-serif" font-weight="700" font-size="12" fill="currentColor">Forms</text>
74
+ <text x="799" y="258" font-family="Inter,sans-serif" font-size="10" fill="currentColor" opacity=".75">plan · jobs</text>
75
+ <text x="799" y="274" font-family="Inter,sans-serif" font-size="10" fill="currentColor" opacity=".55">tiers, roles</text>
76
+ <text x="883" y="299" text-anchor="end" font-family="'JetBrains Mono',monospace" font-size="11.5" fill="currentColor">522</text>
77
+ <text x="516" y="336" font-family="Inter,sans-serif" font-size="11.5" fill="currentColor" opacity=".65">one engine · one transcript · one tool slice loaded per turn</text>
78
+ </svg>
@@ -0,0 +1,52 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" color="#B0BCCF" viewBox="0 0 960 268" role="img" aria-label="A turn checks a rule table first and routes with no model call. If the rules are unclear a short classification pass runs. The chosen specialist keeps handling later turns without re-routing, and can hand back once if the topic changed.">
2
+ <defs>
3
+ <marker id="ar2" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
4
+ <path d="M 0 0 L 10 5 L 0 10 z" fill="currentColor"/>
5
+ </marker>
6
+ </defs>
7
+
8
+ <rect x="0" y="60" width="120" height="42" rx="9" fill="none" stroke="currentColor" stroke-width="1.3"/>
9
+ <text x="60" y="79" text-anchor="middle" font-family="Inter,sans-serif" font-size="12" fill="currentColor">user turn</text>
10
+ <text x="60" y="94" text-anchor="middle" font-family="Inter,sans-serif" font-size="10.5" fill="currentColor" opacity=".6">+ transcript</text>
11
+
12
+ <line x1="120" y1="81" x2="168" y2="81" stroke="currentColor" stroke-width="1.3" marker-end="url(#ar2)"/>
13
+
14
+ <rect x="170" y="52" width="146" height="58" rx="9" fill="none" stroke="#7CA6FF" stroke-width="1.5"/>
15
+ <text x="243" y="74" text-anchor="middle" font-family="Manrope,sans-serif" font-weight="700" font-size="12.5" fill="#7CA6FF">rule table</text>
16
+ <text x="243" y="92" text-anchor="middle" font-family="Inter,sans-serif" font-size="10.5" fill="currentColor" opacity=".7">verbs, tool names</text>
17
+
18
+ <line x1="316" y1="81" x2="372" y2="81" stroke="currentColor" stroke-width="1.3" marker-end="url(#ar2)"/>
19
+ <text x="344" y="72" text-anchor="middle" font-family="Inter,sans-serif" font-size="10.5" fill="currentColor" opacity=".75">clear</text>
20
+
21
+ <path d="M 243 110 L 243 168" stroke="currentColor" stroke-width="1.3" fill="none" marker-end="url(#ar2)"/>
22
+ <text x="252" y="142" font-family="Inter,sans-serif" font-size="10.5" fill="currentColor" opacity=".75">unclear</text>
23
+
24
+ <rect x="170" y="170" width="146" height="56" rx="9" fill="none" stroke="currentColor" stroke-width="1.3" stroke-dasharray="4 4"/>
25
+ <text x="243" y="192" text-anchor="middle" font-family="Manrope,sans-serif" font-weight="700" font-size="12" fill="currentColor">classify pass</text>
26
+ <text x="243" y="209" text-anchor="middle" font-family="Inter,sans-serif" font-size="10.5" fill="currentColor" opacity=".7">~120 tok in, 1 word out</text>
27
+
28
+ <path d="M 316 198 L 400 198 L 400 116" stroke="currentColor" stroke-width="1.3" fill="none" marker-end="url(#ar2)"/>
29
+
30
+ <rect x="374" y="52" width="176" height="58" rx="9" fill="none" stroke="currentColor" stroke-width="1.6"/>
31
+ <text x="462" y="75" text-anchor="middle" font-family="Manrope,sans-serif" font-weight="700" font-size="12.5" fill="currentColor">specialist harness</text>
32
+ <text x="462" y="93" text-anchor="middle" font-family="Inter,sans-serif" font-size="10.5" fill="currentColor" opacity=".7">its prompt + its tools</text>
33
+
34
+ <line x1="550" y1="81" x2="606" y2="81" stroke="currentColor" stroke-width="1.3" marker-end="url(#ar2)"/>
35
+ <text x="578" y="72" text-anchor="middle" font-family="Inter,sans-serif" font-size="10.5" fill="currentColor" opacity=".75">turn()</text>
36
+
37
+ <rect x="608" y="52" width="150" height="58" rx="9" fill="none" stroke="currentColor" stroke-width="1.3"/>
38
+ <text x="683" y="75" text-anchor="middle" font-family="Inter,sans-serif" font-size="12" fill="currentColor">decide · ask · run</text>
39
+ <text x="683" y="93" text-anchor="middle" font-family="Inter,sans-serif" font-size="10.5" fill="currentColor" opacity=".6">the harness, as ever</text>
40
+
41
+ <line x1="758" y1="81" x2="814" y2="81" stroke="currentColor" stroke-width="1.3" marker-end="url(#ar2)"/>
42
+ <rect x="816" y="60" width="136" height="42" rx="9" fill="none" stroke="currentColor" stroke-width="1.3"/>
43
+ <text x="884" y="86" text-anchor="middle" font-family="Inter,sans-serif" font-size="12" fill="currentColor">rendered answer</text>
44
+
45
+ <!-- sticky loop -->
46
+ <path d="M 462 110 L 462 150 L 884 150 L 884 102" stroke="#7CA6FF" stroke-width="1.3" fill="none" marker-end="url(#ar2)" stroke-dasharray="5 4"/>
47
+ <text x="673" y="144" text-anchor="middle" font-family="Inter,sans-serif" font-size="10.5" fill="#7CA6FF">next turn stays here — no routing pass</text>
48
+
49
+ <!-- hand back -->
50
+ <path d="M 550 96 L 570 96 L 570 236 L 400 236 L 400 116" stroke="currentColor" stroke-width="1.2" fill="none" marker-end="url(#ar2)" opacity=".7"/>
51
+ <text x="485" y="252" text-anchor="middle" font-family="Inter,sans-serif" font-size="10.5" fill="currentColor" opacity=".7">"not mine" — moved once to the tool's owner, whose answer then stands</text>
52
+ </svg>
@@ -0,0 +1,52 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" color="#3F4B5E" viewBox="0 0 960 268" role="img" aria-label="A turn checks a rule table first and routes with no model call. If the rules are unclear a short classification pass runs. The chosen specialist keeps handling later turns without re-routing, and can hand back once if the topic changed.">
2
+ <defs>
3
+ <marker id="ar2" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
4
+ <path d="M 0 0 L 10 5 L 0 10 z" fill="currentColor"/>
5
+ </marker>
6
+ </defs>
7
+
8
+ <rect x="0" y="60" width="120" height="42" rx="9" fill="none" stroke="currentColor" stroke-width="1.3"/>
9
+ <text x="60" y="79" text-anchor="middle" font-family="Inter,sans-serif" font-size="12" fill="currentColor">user turn</text>
10
+ <text x="60" y="94" text-anchor="middle" font-family="Inter,sans-serif" font-size="10.5" fill="currentColor" opacity=".6">+ transcript</text>
11
+
12
+ <line x1="120" y1="81" x2="168" y2="81" stroke="currentColor" stroke-width="1.3" marker-end="url(#ar2)"/>
13
+
14
+ <rect x="170" y="52" width="146" height="58" rx="9" fill="none" stroke="#2563EB" stroke-width="1.5"/>
15
+ <text x="243" y="74" text-anchor="middle" font-family="Manrope,sans-serif" font-weight="700" font-size="12.5" fill="#2563EB">rule table</text>
16
+ <text x="243" y="92" text-anchor="middle" font-family="Inter,sans-serif" font-size="10.5" fill="currentColor" opacity=".7">verbs, tool names</text>
17
+
18
+ <line x1="316" y1="81" x2="372" y2="81" stroke="currentColor" stroke-width="1.3" marker-end="url(#ar2)"/>
19
+ <text x="344" y="72" text-anchor="middle" font-family="Inter,sans-serif" font-size="10.5" fill="currentColor" opacity=".75">clear</text>
20
+
21
+ <path d="M 243 110 L 243 168" stroke="currentColor" stroke-width="1.3" fill="none" marker-end="url(#ar2)"/>
22
+ <text x="252" y="142" font-family="Inter,sans-serif" font-size="10.5" fill="currentColor" opacity=".75">unclear</text>
23
+
24
+ <rect x="170" y="170" width="146" height="56" rx="9" fill="none" stroke="currentColor" stroke-width="1.3" stroke-dasharray="4 4"/>
25
+ <text x="243" y="192" text-anchor="middle" font-family="Manrope,sans-serif" font-weight="700" font-size="12" fill="currentColor">classify pass</text>
26
+ <text x="243" y="209" text-anchor="middle" font-family="Inter,sans-serif" font-size="10.5" fill="currentColor" opacity=".7">~120 tok in, 1 word out</text>
27
+
28
+ <path d="M 316 198 L 400 198 L 400 116" stroke="currentColor" stroke-width="1.3" fill="none" marker-end="url(#ar2)"/>
29
+
30
+ <rect x="374" y="52" width="176" height="58" rx="9" fill="none" stroke="currentColor" stroke-width="1.6"/>
31
+ <text x="462" y="75" text-anchor="middle" font-family="Manrope,sans-serif" font-weight="700" font-size="12.5" fill="currentColor">specialist harness</text>
32
+ <text x="462" y="93" text-anchor="middle" font-family="Inter,sans-serif" font-size="10.5" fill="currentColor" opacity=".7">its prompt + its tools</text>
33
+
34
+ <line x1="550" y1="81" x2="606" y2="81" stroke="currentColor" stroke-width="1.3" marker-end="url(#ar2)"/>
35
+ <text x="578" y="72" text-anchor="middle" font-family="Inter,sans-serif" font-size="10.5" fill="currentColor" opacity=".75">turn()</text>
36
+
37
+ <rect x="608" y="52" width="150" height="58" rx="9" fill="none" stroke="currentColor" stroke-width="1.3"/>
38
+ <text x="683" y="75" text-anchor="middle" font-family="Inter,sans-serif" font-size="12" fill="currentColor">decide · ask · run</text>
39
+ <text x="683" y="93" text-anchor="middle" font-family="Inter,sans-serif" font-size="10.5" fill="currentColor" opacity=".6">the harness, as ever</text>
40
+
41
+ <line x1="758" y1="81" x2="814" y2="81" stroke="currentColor" stroke-width="1.3" marker-end="url(#ar2)"/>
42
+ <rect x="816" y="60" width="136" height="42" rx="9" fill="none" stroke="currentColor" stroke-width="1.3"/>
43
+ <text x="884" y="86" text-anchor="middle" font-family="Inter,sans-serif" font-size="12" fill="currentColor">rendered answer</text>
44
+
45
+ <!-- sticky loop -->
46
+ <path d="M 462 110 L 462 150 L 884 150 L 884 102" stroke="#2563EB" stroke-width="1.3" fill="none" marker-end="url(#ar2)" stroke-dasharray="5 4"/>
47
+ <text x="673" y="144" text-anchor="middle" font-family="Inter,sans-serif" font-size="10.5" fill="#2563EB">next turn stays here — no routing pass</text>
48
+
49
+ <!-- hand back -->
50
+ <path d="M 550 96 L 570 96 L 570 236 L 400 236 L 400 116" stroke="currentColor" stroke-width="1.2" fill="none" marker-end="url(#ar2)" opacity=".7"/>
51
+ <text x="485" y="252" text-anchor="middle" font-family="Inter,sans-serif" font-size="10.5" fill="currentColor" opacity=".7">"not mine" — moved once to the tool's owner, whose answer then stands</text>
52
+ </svg>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxisai/agent-harness",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "An on-device agent for the browser: a tool-calling harness over WebMCP and remote MCP, plus a drop-in chat UI. Decides whether to run a tool, ask for what's missing, or confirm before writing.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -25,6 +25,8 @@
25
25
  },
26
26
  "files": [
27
27
  "dist",
28
+ "docs/remote-providers.md",
29
+ "docs/*.svg",
28
30
  "README.md",
29
31
  "LICENSE"
30
32
  ],