@nxisai/agent-harness 0.4.1 → 0.5.0
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 +3 -1
- package/dist/harness/harness.d.ts.map +1 -1
- package/dist/harness/harness.js +31 -9
- package/dist/harness/harness.js.map +1 -1
- package/dist/harness/tools/action-tools.d.ts.map +1 -1
- package/dist/harness/tools/action-tools.js +7 -5
- package/dist/harness/tools/action-tools.js.map +1 -1
- package/dist/harness/tools/bridge.d.ts.map +1 -1
- package/dist/harness/tools/bridge.js +33 -12
- package/dist/harness/tools/bridge.js.map +1 -1
- package/dist/harness/tools/local-context.d.ts +49 -9
- package/dist/harness/tools/local-context.d.ts.map +1 -1
- package/dist/harness/tools/local-context.js +377 -22
- package/dist/harness/tools/local-context.js.map +1 -1
- package/dist/harness/tools/open-page.d.ts +16 -0
- package/dist/harness/tools/open-page.d.ts.map +1 -1
- package/dist/harness/tools/open-page.js +45 -9
- package/dist/harness/tools/open-page.js.map +1 -1
- package/dist/harness/tools/retry.d.ts +53 -0
- package/dist/harness/tools/retry.d.ts.map +1 -0
- package/dist/harness/tools/retry.js +96 -0
- package/dist/harness/tools/retry.js.map +1 -0
- package/dist/harness/tools/schema.d.ts +18 -0
- package/dist/harness/tools/schema.d.ts.map +1 -1
- package/dist/harness/tools/schema.js +38 -0
- package/dist/harness/tools/schema.js.map +1 -1
- package/dist/harness/tools/site-actions.d.ts.map +1 -1
- package/dist/harness/tools/site-actions.js +3 -2
- package/dist/harness/tools/site-actions.js.map +1 -1
- package/dist/harness/tools/site-nav.d.ts +168 -0
- package/dist/harness/tools/site-nav.d.ts.map +1 -0
- package/dist/harness/tools/site-nav.js +316 -0
- package/dist/harness/tools/site-nav.js.map +1 -0
- package/dist/harness/tools/site-pages.d.ts +4 -0
- package/dist/harness/tools/site-pages.d.ts.map +1 -1
- package/dist/harness/tools/site-pages.js +19 -3
- package/dist/harness/tools/site-pages.js.map +1 -1
- package/dist/harness/tools/source.d.ts +9 -0
- package/dist/harness/tools/source.d.ts.map +1 -1
- package/dist/harness/tools/source.js +54 -14
- package/dist/harness/tools/source.js.map +1 -1
- package/dist/harness/tools/webmcp.d.ts +39 -3
- package/dist/harness/tools/webmcp.d.ts.map +1 -1
- package/dist/harness/tools/webmcp.js +93 -14
- package/dist/harness/tools/webmcp.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/agent-fullscreen.d.ts.map +1 -1
- package/dist/ui/agent-fullscreen.js +12 -1
- package/dist/ui/agent-fullscreen.js.map +1 -1
- package/dist/ui/tailwind.generated.d.ts +1 -1
- package/dist/ui/tailwind.generated.d.ts.map +1 -1
- package/dist/ui/tailwind.generated.js +1 -1
- package/dist/ui/tailwind.generated.js.map +1 -1
- package/package.json +2 -1
- package/src/a2ui/cards.ts +177 -0
- package/src/a2ui/emit.ts +147 -0
- package/src/a2ui/form.ts +117 -0
- package/src/a2ui/host.ts +73 -0
- package/src/a2ui/index.ts +22 -0
- package/src/a2ui/stepper.ts +211 -0
- package/src/a2ui/theme.ts +134 -0
- package/src/a2ui/to-v09.ts +118 -0
- package/src/engine.ts +701 -0
- package/src/harness/harness.ts +956 -0
- package/src/harness/plan.ts +91 -0
- package/src/harness/policy.ts +59 -0
- package/src/harness/renderer.ts +208 -0
- package/src/harness/router/coordinator.ts +220 -0
- package/src/harness/router/rules.ts +65 -0
- package/src/harness/slots.ts +117 -0
- package/src/harness/steps.ts +156 -0
- package/src/harness/tools/action-tools.ts +870 -0
- package/src/harness/tools/bridge.ts +393 -0
- package/src/harness/tools/client.ts +26 -0
- package/src/harness/tools/discovery.ts +55 -0
- package/src/harness/tools/local-context.ts +480 -0
- package/src/harness/tools/open-page.ts +273 -0
- package/src/harness/tools/pending-action.ts +232 -0
- package/src/harness/tools/resume.ts +134 -0
- package/src/harness/tools/retry.ts +117 -0
- package/src/harness/tools/schema.ts +245 -0
- package/src/harness/tools/site-actions.ts +356 -0
- package/src/harness/tools/site-nav.ts +432 -0
- package/src/harness/tools/site-pages.ts +288 -0
- package/src/harness/tools/source.ts +353 -0
- package/src/harness/tools/webmcp.ts +200 -0
- package/src/index.ts +193 -0
- package/src/providers/capability.ts +167 -0
- package/src/providers/proxy.ts +191 -0
- package/src/providers/types.ts +150 -0
- package/src/types.ts +258 -0
- package/src/ui/agent-fullscreen.ts +3984 -0
- package/src/ui/agent.tw.css +49 -0
- package/src/ui/config.ts +138 -0
- package/src/ui/index.ts +32 -0
- package/src/ui/journey.ts +57 -0
- package/src/ui/tailwind.generated.ts +2 -0
- package/src/webmcp-contract.ts +65 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Waiting out a server that is rate limiting us.
|
|
3
|
+
*
|
|
4
|
+
* The site's MCP server answers a read over its limit with the limit, and how
|
|
5
|
+
* long to wait: "You have used all 3 read requests allowed per 60s on the public
|
|
6
|
+
* plan. Retry after 52s." That is an instruction, not a failure — a turn that
|
|
7
|
+
* gives up on it tells the visitor the site has no data, which is false, and a
|
|
8
|
+
* turn that retries immediately makes it worse.
|
|
9
|
+
*
|
|
10
|
+
* The wait is the server's number, never a guess of ours, and it is bounded: a
|
|
11
|
+
* visitor is owed an answer sooner than a minute, so a long wait is refused and
|
|
12
|
+
* reported rather than sat through.
|
|
13
|
+
*
|
|
14
|
+
* @module
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Whether a failure is the server asking us to wait.
|
|
18
|
+
*
|
|
19
|
+
* Read from what it said. The transport carries a numeric code too, but each
|
|
20
|
+
* hop maps it differently, and the sentence survives every hop.
|
|
21
|
+
*/
|
|
22
|
+
export declare function isRateLimited(err: unknown): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* How long the server asked us to wait, in milliseconds.
|
|
25
|
+
*
|
|
26
|
+
* @returns The advised wait, or null when it named none.
|
|
27
|
+
*/
|
|
28
|
+
export declare function retryAfterMs(err: unknown): number | null;
|
|
29
|
+
/** Overrides, so the waiting can be exercised without spending it. */
|
|
30
|
+
export interface RetryOptions {
|
|
31
|
+
/** Retries after the first try. Defaults to two. */
|
|
32
|
+
attempts?: number;
|
|
33
|
+
/** The longest single wait to accept. Defaults to a minute. */
|
|
34
|
+
maxWaitMs?: number;
|
|
35
|
+
/** Abort while waiting. */
|
|
36
|
+
signal?: AbortSignal;
|
|
37
|
+
/** How to wait. Replaced in tests. */
|
|
38
|
+
sleep?: (ms: number, signal?: AbortSignal) => Promise<void>;
|
|
39
|
+
/** Told before each wait, for a surface that wants to say "one moment". */
|
|
40
|
+
onWait?: (ms: number, err: unknown) => void;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Run a call, waiting out a rate limit as the server asked.
|
|
44
|
+
*
|
|
45
|
+
* Anything else — a network failure, a bad request, a tool that refused — is
|
|
46
|
+
* raised as it happened: this waits for permission, it does not paper over
|
|
47
|
+
* errors by trying again.
|
|
48
|
+
*
|
|
49
|
+
* @param run - The call, run afresh on each attempt.
|
|
50
|
+
* @param opts - Attempts, ceiling, the clock and the abort signal.
|
|
51
|
+
*/
|
|
52
|
+
export declare function withRetry<T>(run: () => Promise<T>, opts?: RetryOptions): Promise<T>;
|
|
53
|
+
//# sourceMappingURL=retry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../../src/harness/tools/retry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAoBH;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAGnD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAKxD;AAED,sEAAsE;AACtE,MAAM,WAAW,YAAY;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,sCAAsC;IACtC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,2EAA2E;IAC3E,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C;AAgBD;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAqB7F"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Waiting out a server that is rate limiting us.
|
|
3
|
+
*
|
|
4
|
+
* The site's MCP server answers a read over its limit with the limit, and how
|
|
5
|
+
* long to wait: "You have used all 3 read requests allowed per 60s on the public
|
|
6
|
+
* plan. Retry after 52s." That is an instruction, not a failure — a turn that
|
|
7
|
+
* gives up on it tells the visitor the site has no data, which is false, and a
|
|
8
|
+
* turn that retries immediately makes it worse.
|
|
9
|
+
*
|
|
10
|
+
* The wait is the server's number, never a guess of ours, and it is bounded: a
|
|
11
|
+
* visitor is owed an answer sooner than a minute, so a long wait is refused and
|
|
12
|
+
* reported rather than sat through.
|
|
13
|
+
*
|
|
14
|
+
* @module
|
|
15
|
+
*/
|
|
16
|
+
/** How many times a rate-limited call is retried, by default. */
|
|
17
|
+
const ATTEMPTS = 2;
|
|
18
|
+
/** The longest we will wait on one attempt. Past this, the visitor is told. */
|
|
19
|
+
const MAX_WAIT_MS = 60000;
|
|
20
|
+
/** "Retry after 52s", "retry-after: 52", "try again in 52 seconds". */
|
|
21
|
+
const AFTER = /retry[-\s]?after:?\s*(\d+)\s*(s|sec|secs|seconds)?\b|try again in\s*(\d+)\s*(s|sec|secs|seconds)\b/i;
|
|
22
|
+
/** What a server says when it is us, not the request, that it is refusing. */
|
|
23
|
+
const LIMITED = /rate[-\s]?limit|resource[-_\s]?exhausted|too many requests|requests allowed per|429/i;
|
|
24
|
+
const textOf = (err) => {
|
|
25
|
+
if (typeof err === 'string')
|
|
26
|
+
return err;
|
|
27
|
+
const e = err;
|
|
28
|
+
const message = typeof e?.message === 'string' ? e.message : '';
|
|
29
|
+
const content = Array.isArray(e?.content) ? e.content.map((c) => c?.text ?? '').join(' ') : '';
|
|
30
|
+
return `${message} ${content}`.trim();
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Whether a failure is the server asking us to wait.
|
|
34
|
+
*
|
|
35
|
+
* Read from what it said. The transport carries a numeric code too, but each
|
|
36
|
+
* hop maps it differently, and the sentence survives every hop.
|
|
37
|
+
*/
|
|
38
|
+
export function isRateLimited(err) {
|
|
39
|
+
const text = textOf(err);
|
|
40
|
+
return LIMITED.test(text) || AFTER.test(text);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* How long the server asked us to wait, in milliseconds.
|
|
44
|
+
*
|
|
45
|
+
* @returns The advised wait, or null when it named none.
|
|
46
|
+
*/
|
|
47
|
+
export function retryAfterMs(err) {
|
|
48
|
+
const match = AFTER.exec(textOf(err));
|
|
49
|
+
if (!match)
|
|
50
|
+
return null;
|
|
51
|
+
const seconds = Number(match[1] ?? match[3]);
|
|
52
|
+
return Number.isFinite(seconds) && seconds >= 0 ? seconds * 1000 : null;
|
|
53
|
+
}
|
|
54
|
+
const defaultSleep = (ms, signal) => new Promise((resolve, reject) => {
|
|
55
|
+
if (signal?.aborted)
|
|
56
|
+
return reject(signal.reason ?? new Error('aborted'));
|
|
57
|
+
const timer = setTimeout(resolve, ms);
|
|
58
|
+
signal?.addEventListener('abort', () => {
|
|
59
|
+
clearTimeout(timer);
|
|
60
|
+
reject(signal.reason ?? new Error('aborted'));
|
|
61
|
+
}, { once: true });
|
|
62
|
+
});
|
|
63
|
+
/**
|
|
64
|
+
* Run a call, waiting out a rate limit as the server asked.
|
|
65
|
+
*
|
|
66
|
+
* Anything else — a network failure, a bad request, a tool that refused — is
|
|
67
|
+
* raised as it happened: this waits for permission, it does not paper over
|
|
68
|
+
* errors by trying again.
|
|
69
|
+
*
|
|
70
|
+
* @param run - The call, run afresh on each attempt.
|
|
71
|
+
* @param opts - Attempts, ceiling, the clock and the abort signal.
|
|
72
|
+
*/
|
|
73
|
+
export async function withRetry(run, opts = {}) {
|
|
74
|
+
const attempts = opts.attempts ?? ATTEMPTS;
|
|
75
|
+
const ceiling = opts.maxWaitMs ?? MAX_WAIT_MS;
|
|
76
|
+
const sleep = opts.sleep ?? defaultSleep;
|
|
77
|
+
for (let attempt = 0;; attempt++) {
|
|
78
|
+
try {
|
|
79
|
+
return await run();
|
|
80
|
+
}
|
|
81
|
+
catch (err) {
|
|
82
|
+
const advised = retryAfterMs(err);
|
|
83
|
+
const waitable = isRateLimited(err) && attempt < attempts;
|
|
84
|
+
// A wait longer than the ceiling is the server saying "not for a while":
|
|
85
|
+
// sitting on it would hold the turn open with nothing happening.
|
|
86
|
+
if (!waitable || (advised ?? 0) > ceiling)
|
|
87
|
+
throw err;
|
|
88
|
+
// A limit with no number attached: back off, so a second client does not
|
|
89
|
+
// retry in lockstep with this one.
|
|
90
|
+
const wait = advised ?? Math.min(ceiling, 1000 * 2 ** attempt + Math.floor(Math.random() * 400));
|
|
91
|
+
opts.onWait?.(wait, err);
|
|
92
|
+
await sleep(wait, opts.signal);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=retry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../../src/harness/tools/retry.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,24 @@ export declare function toolSchema(tool: ModelContextToolInfo): JsonSchema;
|
|
|
27
27
|
* @param args - The arguments so far.
|
|
28
28
|
* @returns Required field names that are absent, null, or blank.
|
|
29
29
|
*/
|
|
30
|
+
/**
|
|
31
|
+
* A read's answer when it is prose rather than records.
|
|
32
|
+
*
|
|
33
|
+
* Some reads answer in words — where the visitor is, that they are already on
|
|
34
|
+
* the page they asked for — and a surface that can only draw record cards shows
|
|
35
|
+
* an empty one reading "No results found." directly under the answer it was
|
|
36
|
+
* given. This is how a surface tells the two apart.
|
|
37
|
+
*
|
|
38
|
+
* Empty when the answer parses as JSON, or says nothing: that is records a card
|
|
39
|
+
* knows how to draw, or nothing worth putting in front of anyone. The envelope
|
|
40
|
+
* a registry wraps a response in is never consulted — a native
|
|
41
|
+
* `document.modelContext` attaches fields of its own to every response, and
|
|
42
|
+
* judging by those is what put "No results found." under an answer in words.
|
|
43
|
+
*
|
|
44
|
+
* @param res - The tool response, or the text it was flattened to.
|
|
45
|
+
* @returns The sentence to show, or an empty string to draw records instead.
|
|
46
|
+
*/
|
|
47
|
+
export declare function proseAnswer(res: ModelContextToolResponse | string | null): string;
|
|
30
48
|
export declare function missingRequired(tool: ModelContextToolInfo, args: Record<string, unknown> | undefined): string[];
|
|
31
49
|
/**
|
|
32
50
|
* Map a model's argument keys onto the schema's real property names.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/harness/tools/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,gBAAgB,CAAC;AAExB;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,oBAAoB,GAAG,UAAU,CAsBjE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,EAAE,CAM/G;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,MAAM,EAAE,UAAU,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkCzB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,wBAAwB,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAc/F"}
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/harness/tools/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,gBAAgB,CAAC;AAExB;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,oBAAoB,GAAG,UAAU,CAsBjE;AAED;;;;;;GAMG;AACH;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,wBAAwB,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAiBjF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,EAAE,CAM/G;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,MAAM,EAAE,UAAU,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkCzB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,wBAAwB,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAc/F"}
|
|
@@ -40,6 +40,44 @@ export function toolSchema(tool) {
|
|
|
40
40
|
* @param args - The arguments so far.
|
|
41
41
|
* @returns Required field names that are absent, null, or blank.
|
|
42
42
|
*/
|
|
43
|
+
/**
|
|
44
|
+
* A read's answer when it is prose rather than records.
|
|
45
|
+
*
|
|
46
|
+
* Some reads answer in words — where the visitor is, that they are already on
|
|
47
|
+
* the page they asked for — and a surface that can only draw record cards shows
|
|
48
|
+
* an empty one reading "No results found." directly under the answer it was
|
|
49
|
+
* given. This is how a surface tells the two apart.
|
|
50
|
+
*
|
|
51
|
+
* Empty when the answer parses as JSON, or says nothing: that is records a card
|
|
52
|
+
* knows how to draw, or nothing worth putting in front of anyone. The envelope
|
|
53
|
+
* a registry wraps a response in is never consulted — a native
|
|
54
|
+
* `document.modelContext` attaches fields of its own to every response, and
|
|
55
|
+
* judging by those is what put "No results found." under an answer in words.
|
|
56
|
+
*
|
|
57
|
+
* @param res - The tool response, or the text it was flattened to.
|
|
58
|
+
* @returns The sentence to show, or an empty string to draw records instead.
|
|
59
|
+
*/
|
|
60
|
+
export function proseAnswer(res) {
|
|
61
|
+
// Always through extractResult, strings included. Chrome's native registry returns the whole
|
|
62
|
+
// response serialized — '{"content":[{"type":"text","text":"You are on …"}]}' — and read as-is that
|
|
63
|
+
// parses as JSON and was taken for records, so the answer only ever reached the debug trace.
|
|
64
|
+
const text = extractResult(res);
|
|
65
|
+
const trimmed = (text ?? '').trim();
|
|
66
|
+
if (!trimmed)
|
|
67
|
+
return '';
|
|
68
|
+
// Decided from the answer itself, never from the envelope around it. A registry attaches its own
|
|
69
|
+
// fields — `structuredContent`, a wrapper, whatever the implementation adds — and judging by
|
|
70
|
+
// those is how an answer in plain words ended up drawn as an empty result card.
|
|
71
|
+
try {
|
|
72
|
+
const parsed = JSON.parse(trimmed);
|
|
73
|
+
if (parsed && typeof parsed === 'object')
|
|
74
|
+
return '';
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
// Not records. Words.
|
|
78
|
+
}
|
|
79
|
+
return trimmed;
|
|
80
|
+
}
|
|
43
81
|
export function missingRequired(tool, args) {
|
|
44
82
|
const required = toolSchema(tool).required || [];
|
|
45
83
|
return required.filter((k) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/harness/tools/schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/harness/tools/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"site-actions.d.ts","sourceRoot":"","sources":["../../../src/harness/tools/site-actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"site-actions.d.ts","sourceRoot":"","sources":["../../../src/harness/tools/site-actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,KAAK,EACV,UAAU,EAKX,MAAM,0BAA0B,CAAC;AA8BlC;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,CAyB3D;AA2DD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAS9E;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAGzE;AA8CD;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CA6B5F;AAoCD,2CAA2C;AAC3C,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gGAAgG;IAChG,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,EACrC,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,UAAU,EAAE,CAAC,CA8BvB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { withRetry } from './retry.js';
|
|
1
2
|
const SCHEMA_NS = 'https://schema.org/';
|
|
2
3
|
const NXIS_NS = 'https://nxis.ai/ns#';
|
|
3
4
|
/** The server caps a page of results at this many. */
|
|
@@ -214,7 +215,7 @@ export async function queryTypedRecords(client, fragment) {
|
|
|
214
215
|
let pageToken;
|
|
215
216
|
let total;
|
|
216
217
|
for (let page = 0; page < MAX_PAGES; page++) {
|
|
217
|
-
const result = await client.callTool({
|
|
218
|
+
const result = await withRetry(() => client.callTool({
|
|
218
219
|
name: 'nxis_query',
|
|
219
220
|
arguments: {
|
|
220
221
|
filter: {
|
|
@@ -224,7 +225,7 @@ export async function queryTypedRecords(client, fragment) {
|
|
|
224
225
|
limit: PAGE_LIMIT,
|
|
225
226
|
...(pageToken ? { page_token: pageToken } : {}),
|
|
226
227
|
},
|
|
227
|
-
});
|
|
228
|
+
}));
|
|
228
229
|
const read = readResults(result);
|
|
229
230
|
records.push(...read.results);
|
|
230
231
|
total = read.total ?? total;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"site-actions.js","sourceRoot":"","sources":["../../../src/harness/tools/site-actions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"site-actions.js","sourceRoot":"","sources":["../../../src/harness/tools/site-actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The site as a graph the agent can walk.
|
|
3
|
+
*
|
|
4
|
+
* A page publishes one breadcrumb trail: the path from the site's root down to
|
|
5
|
+
* itself. Every page publishes its own, so the trails together *are* the
|
|
6
|
+
* hierarchy — inverted, each page gains the sections above it, the pages beside
|
|
7
|
+
* it, and the pages under it. A page's `significantLink` and `relatedLink` add
|
|
8
|
+
* the cross-links a hierarchy cannot express: a listing pointing at its service
|
|
9
|
+
* area, a guide pointing at the form it explains.
|
|
10
|
+
*
|
|
11
|
+
* Link names come free. A link usually points at a page the site also has a
|
|
12
|
+
* record for, so the name shown is that page's own name rather than anchor text
|
|
13
|
+
* nobody extracted. A link to a page with no record keeps its address.
|
|
14
|
+
*
|
|
15
|
+
* Nothing here leaves the origin: a trail level or link on another host is
|
|
16
|
+
* dropped when the graph is built, not when it is walked.
|
|
17
|
+
*
|
|
18
|
+
* @module
|
|
19
|
+
*/
|
|
20
|
+
import type { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
21
|
+
import type { McpServerInfo, ModelContext, ModelContextTool } from '../../types.js';
|
|
22
|
+
import type { SitePage } from './site-pages.js';
|
|
23
|
+
/** One level of a page's trail. The last is the page itself, and names no URL. */
|
|
24
|
+
export interface TrailLevel {
|
|
25
|
+
/** What the site calls this level. */
|
|
26
|
+
name: string;
|
|
27
|
+
/** Absolute URL, on this origin. Absent on the page's own level. */
|
|
28
|
+
url?: string;
|
|
29
|
+
}
|
|
30
|
+
/** A page's path from the root, root first. */
|
|
31
|
+
export interface SiteTrail {
|
|
32
|
+
/** The page whose trail this is, when it can be told from the record's id. */
|
|
33
|
+
page?: string;
|
|
34
|
+
levels: TrailLevel[];
|
|
35
|
+
}
|
|
36
|
+
/** Somewhere the agent can go from here, and what to call it. */
|
|
37
|
+
export interface NavLink {
|
|
38
|
+
url: string;
|
|
39
|
+
name: string;
|
|
40
|
+
}
|
|
41
|
+
/** What a page is surrounded by. */
|
|
42
|
+
export interface PageNav {
|
|
43
|
+
/** The sections above it, root first, not including the page itself. */
|
|
44
|
+
ancestors: NavLink[];
|
|
45
|
+
/** Pages under the same parent, excluding the page itself. */
|
|
46
|
+
siblings: NavLink[];
|
|
47
|
+
/** Pages whose parent is this page. */
|
|
48
|
+
children: NavLink[];
|
|
49
|
+
/** Pages this page points a reader at. */
|
|
50
|
+
links: NavLink[];
|
|
51
|
+
}
|
|
52
|
+
/** The whole site, ready to answer "where am I and what is near me". */
|
|
53
|
+
export interface SiteNav {
|
|
54
|
+
/** The site's origin, so a graph can be rebuilt from itself. */
|
|
55
|
+
origin: string;
|
|
56
|
+
/** Parent page URL, by page URL. */
|
|
57
|
+
parents: Map<string, string>;
|
|
58
|
+
/** The trail for each page it was published for. */
|
|
59
|
+
trails: Map<string, TrailLevel[]>;
|
|
60
|
+
/** Everything a page points at, by page URL. */
|
|
61
|
+
links: Map<string, string[]>;
|
|
62
|
+
/** Every page known, by URL, for naming. */
|
|
63
|
+
pages: SitePage[];
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Read one typed-retrieval record as a trail.
|
|
67
|
+
*
|
|
68
|
+
* @param raw - A `BreadcrumbList` record.
|
|
69
|
+
* @param origin - The site's origin; levels elsewhere are dropped.
|
|
70
|
+
* @returns The trail, or null when the record is not one or carries no levels.
|
|
71
|
+
*/
|
|
72
|
+
export declare function parseTrail(raw: unknown, origin: string): SiteTrail | null;
|
|
73
|
+
/**
|
|
74
|
+
* The graph: who is above whom, and what points at what.
|
|
75
|
+
*
|
|
76
|
+
* A trail's parent is its last level with a URL that is not the page itself —
|
|
77
|
+
* the section directly above. A page with a one-level trail (itself) has no
|
|
78
|
+
* parent, which is what the root looks like.
|
|
79
|
+
*
|
|
80
|
+
* @param pages - The site's pages, for names.
|
|
81
|
+
* @param trails - Its trails.
|
|
82
|
+
* @param origin - The site's origin.
|
|
83
|
+
*/
|
|
84
|
+
export declare function buildNav(pages: SitePage[], trails: SiteTrail[], origin: string): SiteNav;
|
|
85
|
+
/**
|
|
86
|
+
* Fold trails into a graph already in someone's hands.
|
|
87
|
+
*
|
|
88
|
+
* The tools are built at connect and hold the graph; the trails may arrive
|
|
89
|
+
* later, because fetching them is a read the site's rate limit counts. Mutating
|
|
90
|
+
* in place is what lets a tool built before the fetch answer after it.
|
|
91
|
+
*/
|
|
92
|
+
export declare function applyTrails(nav: SiteNav, trails: SiteTrail[]): SiteNav;
|
|
93
|
+
/** What a URL is called: the page's own name, else the last word of its path. */
|
|
94
|
+
export declare function nameOf(url: string, nav: SiteNav): string;
|
|
95
|
+
/** The page that a URL is under, if the graph knows. */
|
|
96
|
+
export declare function parentOf(url: string, nav: SiteNav): string | undefined;
|
|
97
|
+
/**
|
|
98
|
+
* Where the agent can go from a page: up, sideways, down, and out along its
|
|
99
|
+
* own links.
|
|
100
|
+
*
|
|
101
|
+
* @param href - The page to place. Defaults to the browser's.
|
|
102
|
+
*/
|
|
103
|
+
export declare function navFor(nav: SiteNav, href: string): PageNav;
|
|
104
|
+
/** Options for {@link loadSiteTrails}. */
|
|
105
|
+
export interface SiteTrailsOptions {
|
|
106
|
+
/** The origin trails must belong to. Defaults to the page's own. */
|
|
107
|
+
origin?: string;
|
|
108
|
+
/** Where the list is cached between page loads. Defaults to `sessionStorage`; null disables. */
|
|
109
|
+
storage?: Storage | null;
|
|
110
|
+
/** How long a cached list is reused, in milliseconds. Defaults to ten minutes. */
|
|
111
|
+
ttlMs?: number;
|
|
112
|
+
/** The clock, for tests. */
|
|
113
|
+
now?: () => number;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Every breadcrumb trail on the site.
|
|
117
|
+
*
|
|
118
|
+
* One query, cached in the tab like the page list, because the hierarchy is the
|
|
119
|
+
* same on every page of it.
|
|
120
|
+
*
|
|
121
|
+
* @throws When the query fails. The caller decides whether that matters.
|
|
122
|
+
*/
|
|
123
|
+
export declare function loadSiteTrails(client: Client, info: Pick<McpServerInfo, 'endpoint'>, opts?: SiteTrailsOptions): Promise<SiteTrail[]>;
|
|
124
|
+
/** The tool's registered name. */
|
|
125
|
+
export declare const PAGE_LINKS_TOOL = "page_links";
|
|
126
|
+
/**
|
|
127
|
+
* What the agent can say about where it is.
|
|
128
|
+
*
|
|
129
|
+
* Read rather than navigation: "what else is in this section" is a question,
|
|
130
|
+
* and answering it by opening a page would be answering a different one. The
|
|
131
|
+
* names it returns are the names {@link buildOpenPageTool} accepts, so the
|
|
132
|
+
* model can follow one with the other.
|
|
133
|
+
*
|
|
134
|
+
* Always answers. "Where am I" is answerable from the address bar alone, so a
|
|
135
|
+
* site that publishes no trails and links nothing still gets the page it is on
|
|
136
|
+
* — an agent that cannot say that reads as an agent with no idea where it is.
|
|
137
|
+
*/
|
|
138
|
+
export declare function describeNav(nav: SiteNav, href: string): string;
|
|
139
|
+
/** Options for the page-links tool: where the visitor is, and how the graph fills in. */
|
|
140
|
+
export interface PageLinksOptions {
|
|
141
|
+
/** The current page URL. Defaults to the browser's. Read when the tool runs. */
|
|
142
|
+
href?: () => string;
|
|
143
|
+
/**
|
|
144
|
+
* Fetch the site's trails, if they have not been fetched yet.
|
|
145
|
+
*
|
|
146
|
+
* Awaited when the tool runs rather than at connect, because the fetch is a
|
|
147
|
+
* read and a site's rate limit counts reads. Answering "where am I" is what
|
|
148
|
+
* makes that read worth spending.
|
|
149
|
+
*/
|
|
150
|
+
loadNav?: () => Promise<SiteNav>;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Build the tool that reports where this page sits and what it leads to.
|
|
154
|
+
*
|
|
155
|
+
* @param nav - The site's graph.
|
|
156
|
+
*/
|
|
157
|
+
export declare function buildPageLinksTool(nav: SiteNav, opts?: PageLinksOptions): ModelContextTool;
|
|
158
|
+
/**
|
|
159
|
+
* Register the page-links tool, unless the registry already holds one.
|
|
160
|
+
*
|
|
161
|
+
* Registered whatever the site publishes. It was once gated on the site having
|
|
162
|
+
* trails or links, which withheld the tool from exactly the sites where "where
|
|
163
|
+
* am I" is the only question it could answer.
|
|
164
|
+
*
|
|
165
|
+
* @returns Whether it was registered.
|
|
166
|
+
*/
|
|
167
|
+
export declare function registerPageLinksTool(mc: ModelContext, nav: SiteNav, opts?: PageLinksOptions): Promise<boolean>;
|
|
168
|
+
//# sourceMappingURL=site-nav.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site-nav.d.ts","sourceRoot":"","sources":["../../../src/harness/tools/site-nav.ts"],"names":[],"mappings":"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"}
|