@nxisai/agent-harness 0.3.0 → 0.4.1
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 +1 -0
- package/dist/harness/harness.d.ts +20 -0
- package/dist/harness/harness.d.ts.map +1 -1
- package/dist/harness/harness.js +54 -2
- package/dist/harness/harness.js.map +1 -1
- package/dist/harness/tools/open-page.d.ts +72 -0
- package/dist/harness/tools/open-page.d.ts.map +1 -0
- package/dist/harness/tools/open-page.js +168 -0
- package/dist/harness/tools/open-page.js.map +1 -0
- package/dist/harness/tools/pending-action.d.ts +44 -0
- package/dist/harness/tools/pending-action.d.ts.map +1 -1
- package/dist/harness/tools/pending-action.js +83 -1
- package/dist/harness/tools/pending-action.js.map +1 -1
- package/dist/harness/tools/site-actions.d.ts +12 -0
- package/dist/harness/tools/site-actions.d.ts.map +1 -1
- package/dist/harness/tools/site-actions.js +11 -7
- package/dist/harness/tools/site-actions.js.map +1 -1
- package/dist/harness/tools/site-pages.d.ts +96 -0
- package/dist/harness/tools/site-pages.d.ts.map +1 -0
- package/dist/harness/tools/site-pages.js +222 -0
- package/dist/harness/tools/site-pages.js.map +1 -0
- package/dist/harness/tools/source.d.ts +20 -2
- package/dist/harness/tools/source.d.ts.map +1 -1
- package/dist/harness/tools/source.js +37 -3
- package/dist/harness/tools/source.js.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/ui/agent-fullscreen.d.ts.map +1 -1
- package/dist/ui/agent-fullscreen.js +71 -3
- package/dist/ui/agent-fullscreen.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -561,6 +561,7 @@ Serving requirements:
|
|
|
561
561
|
- **Named for the reach they add** — `quote_form_anywhere` beside the page's own `quote_form`. These are couriers rather than second copies of a form: one captures an action's inputs wherever the agent is, carries them to the page that can submit them, and calls the tool there, never filling a field itself. The distinct name is also mechanical: a repeated name is a duplicate registration, so the polyfill would replace the very tool the courier delegates to, and a native registry rejects it. On the page an action belongs to, the courier calls the page's tool directly and that page tool is hidden from the model, so there is one route per action rather than two.
|
|
562
562
|
- **Only what a turn could need reaches the prompt.** Every registered tool's schema goes into every prompt, so a site with many distinct forms would fill the context with forms nobody asked about. Past `maxSiteTools` (default 8), the tools covering the current page are kept and the rest compete on how well they answer what was asked — a business named in the request matches the choice that names it. Only site-wide tools are ever dropped; the page's own tools and the retrieval tools stay.
|
|
563
563
|
- **A form can only be submitted on its own page**, since running an action means filling that form. Calling one from elsewhere collects and confirms the values where the visitor is — the button reads "Open & submit" rather than "Submit", and the card says which page it will open — then stores the confirmed call, navigates, and submits once the page has loaded. The stored call holds what someone typed, so it lives in the tab's `sessionStorage`, expires after two minutes, and is read exactly once, which is what stops a reload from submitting twice.
|
|
564
|
+
- **Results link to their pages, and the agent can open them.** A record's `url` is often the site root rather than its page, so the harness also fetches the site's page records (a second `nxis_query`, on `@type` containing `Page`, cached the same way) and adds the pages its actions live on. A result card gets an "Open page" link when its page can be told — from `mainEntityOfPage`, an `@id` formed from its page (`page.html#organization`), a `url` deeper than the root, a page whose `mainEntity` or `about` is the record, or a single page with the record's name — and an `open_page` tool lets "take me to that page" work in conversation — along with "take me home" (the page record at `/` or `/index.html`, else the site root) and "go back" (`history.back()`, only when the previous page was on this site). It needs no confirmation, only opens pages on this origin, and carries the conversation across, so the thread continues on the page it opened. `connectTools({ openPage: false })` leaves the tool out.
|
|
564
565
|
- `discover="false"` skips all of this.
|
|
565
566
|
|
|
566
567
|
### A2UI
|
|
@@ -135,6 +135,26 @@ export declare function isAbort(err: unknown): boolean;
|
|
|
135
135
|
* @returns A short line to display in place of the model's own words.
|
|
136
136
|
*/
|
|
137
137
|
export declare function narrateCall(call: ReturnType<typeof parseToolCall>, tools: ModelContextToolInfo[]): string;
|
|
138
|
+
/**
|
|
139
|
+
* A tool call the model wrote out as text, in the harness's own notation.
|
|
140
|
+
*
|
|
141
|
+
* The transcript records each call as `[called name with {...}]`, and a model
|
|
142
|
+
* reading that history back sometimes answers in the same form instead of
|
|
143
|
+
* making a call. Left as text it reaches the visitor as a line of JSON and
|
|
144
|
+
* nothing happens, so it is read as the call it was meant to be. It then
|
|
145
|
+
* meets the same policy as any other call: a write is still confirmed.
|
|
146
|
+
*
|
|
147
|
+
* @param text - The model's reply.
|
|
148
|
+
* @returns The call and whatever was said before it, or null when the reply
|
|
149
|
+
* contains no such line or its arguments are not a JSON object.
|
|
150
|
+
*/
|
|
151
|
+
export declare function readTranscribedCall(text: string): {
|
|
152
|
+
said: string;
|
|
153
|
+
call: {
|
|
154
|
+
name: string;
|
|
155
|
+
args: Record<string, unknown>;
|
|
156
|
+
};
|
|
157
|
+
} | null;
|
|
138
158
|
/**
|
|
139
159
|
* How many records a tool response contained.
|
|
140
160
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../../src/harness/harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAEL,aAAa,EAGb,KAAK,WAAW,EACjB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAElF,OAAO,KAAK,EAAyB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../../src/harness/harness.ts"],"names":[],"mappings":"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"}
|
package/dist/harness/harness.js
CHANGED
|
@@ -18,6 +18,7 @@ import { stripMarkers, humanize, } from '../engine.js';
|
|
|
18
18
|
import { LocalGemmaProvider } from '../engine.js';
|
|
19
19
|
import { WebMcpTools } from './tools/webmcp.js';
|
|
20
20
|
import { handoffFor, selectSiteTools, withoutShadowedTools, withoutSiteSuffix, HANDOFF_RESULT, } from './tools/action-tools.js';
|
|
21
|
+
import { visitFor, OPEN_PAGE_TOOL } from './tools/open-page.js';
|
|
21
22
|
import { extractResult, reconcileArgs, toolSchema } from './tools/schema.js';
|
|
22
23
|
import { decide, policyFor } from './policy.js';
|
|
23
24
|
import { buildPlan } from './plan.js';
|
|
@@ -61,6 +62,41 @@ export function narrateCall(call, tools) {
|
|
|
61
62
|
return 'Looking that up.';
|
|
62
63
|
return `Filling in the ${humanize(call.name).toLowerCase()}.`;
|
|
63
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* A tool call the model wrote out as text, in the harness's own notation.
|
|
67
|
+
*
|
|
68
|
+
* The transcript records each call as `[called name with {...}]`, and a model
|
|
69
|
+
* reading that history back sometimes answers in the same form instead of
|
|
70
|
+
* making a call. Left as text it reaches the visitor as a line of JSON and
|
|
71
|
+
* nothing happens, so it is read as the call it was meant to be. It then
|
|
72
|
+
* meets the same policy as any other call: a write is still confirmed.
|
|
73
|
+
*
|
|
74
|
+
* @param text - The model's reply.
|
|
75
|
+
* @returns The call and whatever was said before it, or null when the reply
|
|
76
|
+
* contains no such line or its arguments are not a JSON object.
|
|
77
|
+
*/
|
|
78
|
+
export function readTranscribedCall(text) {
|
|
79
|
+
const m = /\[called ([\w.-]+) with (\{[\s\S]*\})\]\s*$/.exec(text ?? '');
|
|
80
|
+
if (!m)
|
|
81
|
+
return null;
|
|
82
|
+
let args;
|
|
83
|
+
try {
|
|
84
|
+
args = JSON.parse(m[2]);
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
if (!args || typeof args !== 'object' || Array.isArray(args))
|
|
90
|
+
return null;
|
|
91
|
+
return { said: text.slice(0, m.index).trim(), call: { name: m[1], args: args } };
|
|
92
|
+
}
|
|
93
|
+
/** A completion with a written-out call read as a real one. */
|
|
94
|
+
function withTranscribedCall(completion) {
|
|
95
|
+
if (completion.call)
|
|
96
|
+
return completion;
|
|
97
|
+
const read = readTranscribedCall(completion.text);
|
|
98
|
+
return read ? { ...completion, text: read.said, call: read.call } : completion;
|
|
99
|
+
}
|
|
64
100
|
/**
|
|
65
101
|
* How many records a tool response contained.
|
|
66
102
|
*
|
|
@@ -303,6 +339,7 @@ export class AgentHarness {
|
|
|
303
339
|
bubble.finalize('');
|
|
304
340
|
throw err;
|
|
305
341
|
}
|
|
342
|
+
completion = withTranscribedCall(completion);
|
|
306
343
|
// Nothing the model produced survives a stop, on screen or in the
|
|
307
344
|
// transcript: a model that reads its own unfinished reply back as history
|
|
308
345
|
// will continue from it or contradict it.
|
|
@@ -458,6 +495,7 @@ export class AgentHarness {
|
|
|
458
495
|
return null;
|
|
459
496
|
throw err;
|
|
460
497
|
}
|
|
498
|
+
completion = withTranscribedCall(completion);
|
|
461
499
|
const call = completion.call ?? null;
|
|
462
500
|
if (this.stopped) {
|
|
463
501
|
messages.splice(messages.indexOf(nudge), 1);
|
|
@@ -619,7 +657,8 @@ export class AgentHarness {
|
|
|
619
657
|
// Asked before the call, not after: a registry may hand back only the
|
|
620
658
|
// text of a response, dropping the structured part that would have said
|
|
621
659
|
// so. The tool's own annotations are already enough to know.
|
|
622
|
-
const
|
|
660
|
+
const visiting = visitFor(tool, values);
|
|
661
|
+
const leaving = handoffFor(tool, values) ?? visiting;
|
|
623
662
|
const readOnly = policyFor(tool).readOnly;
|
|
624
663
|
if (!readOnly)
|
|
625
664
|
this.emitStep({ id: 'confirm', label: 'You confirmed', status: 'done' });
|
|
@@ -659,7 +698,20 @@ export class AgentHarness {
|
|
|
659
698
|
// Said from what we know, not from what came back: a registry may
|
|
660
699
|
// return the whole response object as JSON, and that is not a
|
|
661
700
|
// sentence to put in front of anyone.
|
|
662
|
-
this.renderer.message('assistant',
|
|
701
|
+
this.renderer.message('assistant', visiting
|
|
702
|
+
? `Opening ${visiting.label}…`
|
|
703
|
+
: leaving
|
|
704
|
+
? `Opening ${leaving.label} to submit this…`
|
|
705
|
+
: 'Opening the page that can submit this…');
|
|
706
|
+
return;
|
|
707
|
+
}
|
|
708
|
+
// Opening the page already open, or one that could not be told: said
|
|
709
|
+
// in words, since there are no records to draw.
|
|
710
|
+
if (tool.name === OPEN_PAGE_TOOL) {
|
|
711
|
+
this.emitStep({ id: 'submit', label: text, status: 'done' });
|
|
712
|
+
this.renderer.message('assistant', text);
|
|
713
|
+
messages.push({ role: 'user', content: `[${tool.name} returned: ${text}]` });
|
|
714
|
+
this.opts.onMessages?.(messages);
|
|
663
715
|
return;
|
|
664
716
|
}
|
|
665
717
|
this.emitStep({ id: 'fill', label: readOnly ? 'Looked it up' : 'Filled the form', status: 'done' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness.js","sourceRoot":"","sources":["../../src/harness/harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAGL,YAAY,EACZ,QAAQ,GAET,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAmB,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9F,OAAO,EAAE,MAAM,EAAE,SAAS,EAAiB,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAmB,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAkB,MAAM,YAAY,CAAC;AA4EpF;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC;AA4BD,6EAA6E;AAC7E,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,GAAY;IAClC,OAAQ,GAAyB,EAAE,IAAI,KAAK,YAAY,CAAC;AAC3D,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CACzB,IAAsC,EACtC,KAA6B;IAE7B,IAAI,CAAC,IAAI;QAAE,OAAO,aAAa,CAAC;IAChC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ;QAAE,OAAO,kBAAkB,CAAC;IAChE,OAAO,kBAAkB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC;AAChE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,GAA6B,EAAE,IAAY;IACtE,MAAM,UAAU,GAAG,GAAG,EAAE,iBAAwE,CAAC;IACjG,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC;QAAE,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;IACzE,IAAI,OAAO,UAAU,EAAE,KAAK,KAAK,QAAQ;QAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IACnE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4C,CAAC;QAC3E,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;YAAE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;QACjE,IAAI,OAAO,MAAM,EAAE,KAAK,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,0CAA0C;IAC5C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,aAAa,CACpB,IAA0B,EAC1B,MAA+B;IAE/B,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACzC,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACrF,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,YAAY;IAiBvB,YAAY,IAAoB;QAThC,wEAAwE;QAChE,YAAO,GAA4B,EAAE,CAAC;QACtC,aAAQ,GAAgC,IAAI,CAAC;QACrD,+DAA+D;QACvD,UAAK,GAA2B,IAAI,CAAC;QAC7C,+EAA+E;QACvE,eAAU,GAAG,EAAE,CAAC;QAChB,cAAS,GAAG,EAAE,CAAC;QAGrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,kBAAkB,EAAE,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,WAAW,EAAE,CAAC;QACvD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;;;;OAMG;IACK,QAAQ,CAAC,MAAuB,EAAE,QAAuB,EAAE,IAAY;QAC7E,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzB,MAAM,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACrE,IAAI,KAAK,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;YAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,SAAkB,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,4DAA4D;IACpD,QAAQ,CAAuB,MAAS;QAC9C,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,iDAAiD;IACjD,IAAY,OAAO;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;IACtC,CAAC;IAED;;;;;;;;;OASG;IACH,IAAI;QACF,qEAAqE;QACrE,wEAAwE;QACxE,0EAA0E;QAC1E,sEAAsE;QACtE,oDAAoD;QACpD,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;IACtB,CAAC;IAED;;;;;;OAMG;IACK,UAAU,CAAC,UAAsB;QACvC,IAAI,CAAC,UAAU,CAAC,IAAI;YAAE,OAAO,UAAU,CAAC,IAAI,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,OAAO,GAAG,IAAI,WAAW,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,IAAI,GAAG,CAAC;IAChE,CAAC;IAED;;;;;OAKG;IACK,SAAS,CAAC,QAAuB,EAAE,KAA6B;QACtE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,GAAc;YACtB,cAAc,EAAE,MAAM,IAAI,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,WAAW,EAAE,KAAK,KAAK,IAAI,CAAC,SAAS;SACtC,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,QAAuB;QAC9C,wEAAwE;QACxE,mCAAmC;QACnC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC;QAEhC,qEAAqE;QACrE,mEAAmE;QACnE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;QAEtE,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,wEAAwE;YACxE,oEAAoE;YACpE,iBAAiB;YACjB,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC/E,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpB,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,sEAAsE;QACtE,0CAA0C;QAC1C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAEjC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC;QAED,0EAA0E;QAC1E,YAAY,EAAE,CAAC;QAEf,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3E,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAEzB,qEAAqE;YACrE,oEAAoE;YACpE,0EAA0E;YAC1E,qCAAqC;YACrC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;gBACtB,OAAO,CAAC,IAAI,CACV,gBAAgB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,6BAA6B;oBACpE,cAAc,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC5D,CAAC;gBACF,IAAI,CAAC,QAAQ,CAAC,OAAO,CACnB,WAAW,EACX,IAAI,CAAC,IAAI,CAAC,WAAW;oBACnB,4EAA4E,CAC/E,CAAC;gBACF,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;YACrC,CAAC;YAED,kEAAkE;YAClE,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;YACzF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,2CAA2C,CAAC,CAAC;YAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC9B,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/C,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAClC,IAAI,UAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACxC,QAAQ;gBACR,KAAK;gBACL,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM;gBAC1B,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC;aACvC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,sEAAsE;YACtE,uDAAuD;YACvD,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC/E,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpB,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,kEAAkE;QAClE,0EAA0E;QAC1E,0CAA0C;QAC1C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC;QAED,0EAA0E;QAC1E,wEAAwE;QACxE,kCAAkC;QAClC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAChF,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEzB,IAAI,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC;QAEnC,uEAAuE;QACvE,0EAA0E;QAC1E,cAAc;QACd,IAAI,CAAC,IAAI,IAAI,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACnE,IAAI,KAAK;gBAAE,IAAI,GAAG,KAAK,CAAC;iBACnB,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,SAAkB,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,0EAA0E;QAC1E,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAEvC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,uEAAuE;YACvE,0EAA0E;YAC1E,SAAS;YACT,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/D,IAAI,SAAS;gBAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YAElE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,8BAA8B,IAAI,CAAC,IAAI,qBAAqB,CAAC,CAAC;YACjG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC9B,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACK,YAAY,CAAC,KAA6B,EAAE,IAAI,GAAG,EAAE;QAC3D,wEAAwE;QACxE,0EAA0E;QAC1E,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC3C,qEAAqE;QACrE,kDAAkD;QAClD,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAClF,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC/B,OAAO,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC/D,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,EAAE;QAC1B,IAAI,UAAU,GAA2B,EAAE,CAAC;QAC5C,IAAI,CAAC;YACH,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QACxE,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;QACvD,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;;;;OAUG;IACH,IAAI,CAAC,IAAY;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,EAAE,IAAI,EAA0B,CAAC,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,QAAuB;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM;gBAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QACxF,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,gBAAgB,CAC5B,QAAuB,EACvB,KAA6B,EAC7B,MAAuB;QAEvB,MAAM,KAAK,GAAgB;YACzB,IAAI,EAAE,MAAM;YACZ,OAAO,EACL,kEAAkE;gBAClE,wDAAwD;SAC3D,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAErB,IAAI,UAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACxC,QAAQ;gBACR,KAAK;gBACL,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM;aAC3B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,0EAA0E;YAC1E,iDAAiD;YACjD,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5C,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC9C,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC;QAErC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,sEAAsE;YACtE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAC3E,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,GAAG,CACf,IAA0B,EAC1B,OAA4C,EAC5C,QAAuB;QAEvB,wEAAwE;QACxE,4CAA4C;QAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC;YACZ,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACrD,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEjD,uEAAuE;QACvE,uDAAuD;QACvD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAEtE,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,EAAE;YACtC,SAAS;YACT,OAAO;YACP,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC;YACpC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;SACnC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE3D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAClD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;QACvD,CAAC;QAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,4BAA4B,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YACxF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACpB,IAAI;gBACJ,KAAK,EAAE,YAAY,CAAC,UAAU,CAAC;gBAC/B,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;gBACzC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC;gBAC3D,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE;gBAC7B,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC;aACtD,CAAC,CAAC;YACH,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;QACvD,CAAC;QAED,qEAAqE;QACrE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC;YACZ,EAAE,EAAE,SAAS;YACb,KAAK,EAAE,oBAAoB;YAC3B,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SACjF,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC;QAC7E,IAAI,CAAC,QAAQ,CAAC,OAAO,CACnB,WAAW,EACX,IAAI,CAAC,OAAO;YACV,CAAC,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,MAAM,qBAAqB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YACxE,CAAC,CAAC,sBAAsB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACjD,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAChB,IAAI;YACJ,IAAI;YACJ,UAAU;YACV,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE;gBACtB,MAAM,MAAM,GAAG,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;gBACpD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBAClF,8DAA8D;gBAC9D,kDAAkD;gBAClD,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;oBAChC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;wBACpB,IAAI;wBACJ,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;wBAChE,MAAM;wBACN,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC;wBAC9B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC;wBACjD,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE;wBAC7B,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC;qBACtD,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE;SAC9B,CAAC,CAAC;QACH,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;IACvD,CAAC;IAED;;;OAGG;IACK,MAAM,CACZ,IAA0B,EAC1B,UAAsB,EACtB,QAAuB;QAEvB,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;QACzF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAChB,IAAI;YACJ,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC;YAChC,UAAU;YACV,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,OAAO,EAAE,EAAE,QAAQ,CAAC;YAC5F,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE;SAC9B,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACK,QAAQ,CAAC,IAAe;QAC9B,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,0DAA0D;IAClD,MAAM;QACZ,uEAAuE;QACvE,wBAAwB;QACxB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,kDAAkD,CAAC,CAAC;IACzF,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,GAAG,CACf,IAA0B,EAC1B,MAA+B,EAC/B,QAAuB;QAEvB,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC;QAChC,0EAA0E;QAC1E,gCAAgC;QAChC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAC9C,wEAAwE;QACxE,kDAAkD;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpD,sEAAsE;QACtE,wEAAwE;QACxE,6DAA6D;QAC7D,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;QAC1C,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACxF,oEAAoE;QACpE,wEAAwE;QACxE,8DAA8D;QAC9D,IAAI,CAAC,QAAQ,CACX,OAAO;YACL,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;YACzE,CAAC,CAAC;gBACE,EAAE,EAAE,MAAM;gBACV,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACtE,MAAM,EAAE,QAAQ;aACjB,CACN,CAAC;QACF,IAAI,CAAC;YACH,MAAM,GAAG,GAA6B,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9F,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAChC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAEzB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACpB,IAAI;gBACJ,IAAI,EAAE,MAAM;gBACZ,IAAI;gBACJ,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO;gBACvB,KAAK,EAAE,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC;aAC/B,CAAC,CAAC;YAEH,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,IAAI,QAAQ,CAAC,CAAC;gBAChD,OAAO;YACT,CAAC;YAED,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YAErB,qEAAqE;YACrE,sEAAsE;YACtE,kDAAkD;YAClD,IAAI,OAAO,IAAI,GAAG,EAAE,iBAAiB,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;gBACxD,kEAAkE;gBAClE,8DAA8D;gBAC9D,sCAAsC;gBACtC,IAAI,CAAC,QAAQ,CAAC,OAAO,CACnB,WAAW,EACX,OAAO,CAAC,CAAC,CAAC,WAAW,OAAO,CAAC,KAAK,kBAAkB,CAAC,CAAC,CAAC,wCAAwC,CAChG,CAAC;gBACF,OAAO;YACT,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACpG,IAAI,CAAC,QAAQ,CAAC;gBACZ,EAAE,EAAE,QAAQ;gBACZ,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW;gBAC1C,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YAEH,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,cAAc,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YAC7F,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;gBACzC,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,oBAAoB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,4CAA4C;iBAC7G,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,CAAE,GAAa,EAAE,OAAO,IAAI,GAAG,CAAC,CAAC;YACvD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YACnG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACzB,wDAAwD;YACxD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5E,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"harness.js","sourceRoot":"","sources":["../../src/harness/harness.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { type SitePage } from './site-pages.js';
|
|
2
|
+
import type { ModelContext, ModelContextTool, ModelContextToolInfo } from '../../types.js';
|
|
3
|
+
/** The tool's registered name. */
|
|
4
|
+
export declare const OPEN_PAGE_TOOL = "open_page";
|
|
5
|
+
/** Where the tool takes the visitor, and how to go. */
|
|
6
|
+
export interface OpenPageOptions {
|
|
7
|
+
/** The site's origin. Defaults to the page's own. */
|
|
8
|
+
origin?: string;
|
|
9
|
+
/** The current page URL. Defaults to the browser's. */
|
|
10
|
+
href?: string;
|
|
11
|
+
/** Where the visit waits while the browser moves. Defaults to `sessionStorage`. */
|
|
12
|
+
storage?: Storage | null;
|
|
13
|
+
/** How to go to another page. Defaults to assigning `location`. */
|
|
14
|
+
navigate?: (url: string) => void;
|
|
15
|
+
/** How to return to the previous page. Defaults to `history.back()`. */
|
|
16
|
+
back?: () => void;
|
|
17
|
+
/** The page the visitor came from. Defaults to `document.referrer`. Read when the tool runs. */
|
|
18
|
+
referrer?: () => string;
|
|
19
|
+
/** The conversation to continue on arrival. Read when the tool runs. */
|
|
20
|
+
conversationId?: () => string | undefined;
|
|
21
|
+
}
|
|
22
|
+
/** Where a request to open a page resolves: a page, and whether it is reached by going back. */
|
|
23
|
+
export type Destination = {
|
|
24
|
+
kind: 'page' | 'home';
|
|
25
|
+
url: string;
|
|
26
|
+
label: string;
|
|
27
|
+
} | {
|
|
28
|
+
kind: 'back';
|
|
29
|
+
url: string;
|
|
30
|
+
label: string;
|
|
31
|
+
} | {
|
|
32
|
+
kind: 'none';
|
|
33
|
+
reason: string;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Where a request to open a page goes.
|
|
37
|
+
*
|
|
38
|
+
* A page by name or address, and two that no site lists by name: "home", the
|
|
39
|
+
* site's root, and "back", the page the visitor came from — only when that was
|
|
40
|
+
* a page of this site, since going back must not leave it.
|
|
41
|
+
*
|
|
42
|
+
* @param wanted - What the visitor or model asked for.
|
|
43
|
+
* @param pages - The site's pages.
|
|
44
|
+
* @param origin - The site's origin.
|
|
45
|
+
* @param opts - The referrer seam.
|
|
46
|
+
*/
|
|
47
|
+
export declare function resolveDestination(wanted: string, pages: SitePage[], origin: string, opts?: OpenPageOptions): Destination;
|
|
48
|
+
/**
|
|
49
|
+
* Build the page-opening tool for a site's pages.
|
|
50
|
+
*
|
|
51
|
+
* @param pages - Every page the agent may open.
|
|
52
|
+
* @param opts - Origin, current page, and the navigation seams.
|
|
53
|
+
* @returns The definition to register.
|
|
54
|
+
*/
|
|
55
|
+
export declare function buildOpenPageTool(pages: SitePage[], opts?: OpenPageOptions): ModelContextTool;
|
|
56
|
+
/**
|
|
57
|
+
* Where a call to the page-opening tool goes, before it runs.
|
|
58
|
+
*
|
|
59
|
+
* @returns The destination, or null when the tool is another one, the page is
|
|
60
|
+
* unknown, or it is the page already open.
|
|
61
|
+
*/
|
|
62
|
+
export declare function visitFor(tool: Pick<ModelContextToolInfo, 'name'>, values: Record<string, unknown>, href?: string): {
|
|
63
|
+
pageUrl: string;
|
|
64
|
+
label: string;
|
|
65
|
+
} | null;
|
|
66
|
+
/**
|
|
67
|
+
* Register the page-opening tool, unless the registry already holds one.
|
|
68
|
+
*
|
|
69
|
+
* @returns Whether it was registered.
|
|
70
|
+
*/
|
|
71
|
+
export declare function registerOpenPageTool(mc: ModelContext, pages: SitePage[], opts?: OpenPageOptions): Promise<boolean>;
|
|
72
|
+
//# sourceMappingURL=open-page.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-page.d.ts","sourceRoot":"","sources":["../../../src/harness/tools/open-page.ts"],"names":[],"mappings":"AAeA,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAI1D,OAAO,KAAK,EAAc,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAA4B,MAAM,gBAAgB,CAAC;AAEjI,kCAAkC;AAClC,eAAO,MAAM,cAAc,cAAc,CAAC;AAK1C,uDAAuD;AACvD,MAAM,WAAW,eAAe;IAC9B,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;IAClB,gGAAgG;IAChG,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;IACxB,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CAC3C;AAYD,gGAAgG;AAChG,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAerC;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,QAAQ,EAAE,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,eAAoB,GACzB,WAAW,CAkCb;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,IAAI,GAAE,eAAoB,GAAG,gBAAgB,CAsCjG;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,EACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,CAAC,EAAE,MAAM,GACZ;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAK3C;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,YAAY,EAChB,KAAK,EAAE,QAAQ,EAAE,EACjB,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,OAAO,CAAC,CAelB"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A tool for taking the visitor to a page on the site.
|
|
3
|
+
*
|
|
4
|
+
* "Take me to that page" is a request the agent should be able to carry out.
|
|
5
|
+
* Without a tool for it a model reaches for whatever it has — a lookup — and
|
|
6
|
+
* nothing moves. This one opens a page by name, from the pages the site
|
|
7
|
+
* reported — or home, or back to the page before — and carries the conversation
|
|
8
|
+
* across so it continues there.
|
|
9
|
+
*
|
|
10
|
+
* It reads nothing and submits nothing, so it runs without a confirmation, and
|
|
11
|
+
* it never leaves the origin.
|
|
12
|
+
*
|
|
13
|
+
* @module
|
|
14
|
+
*/
|
|
15
|
+
import { samePage } from './site-actions.js';
|
|
16
|
+
import { findPage } from './site-pages.js';
|
|
17
|
+
import { savePendingVisit } from './pending-action.js';
|
|
18
|
+
import { HANDOFF_RESULT } from './action-tools.js';
|
|
19
|
+
import { journeySteps } from '../steps.js';
|
|
20
|
+
/** The tool's registered name. */
|
|
21
|
+
export const OPEN_PAGE_TOOL = 'open_page';
|
|
22
|
+
/** Past this many pages the names are described rather than listed. */
|
|
23
|
+
const MAX_LISTED = 40;
|
|
24
|
+
/** What the visitor says for the site's home page: "home", "take me to the home page". */
|
|
25
|
+
const HOME = /^(?:(?:go|take\s+me|return)\s+(?:to\s+)?)?(?:the\s+)?(?:home|homepage|home\s*page|start(?:\s*page)?|main\s*page|front\s*page|landing\s*page|index)$/i;
|
|
26
|
+
/** What the visitor says for the page they came from: "back", "go back to the previous page". */
|
|
27
|
+
const BACK = /^(?:(?:go|take\s+me|return|head)\s+)?back(?:\s+to)?(?:\s+(?:the\s+)?(?:previous|last)\s+page)?$|^(?:the\s+)?(?:previous|last)\s+page$|^where\s+i\s+was$/i;
|
|
28
|
+
/** A page's name compared the way a person would. */
|
|
29
|
+
const normalName = (s) => s.toLowerCase().replace(/[^\p{L}\p{N}]+/gu, ' ').trim();
|
|
30
|
+
/** The pages and options the tool was built with, so the harness can name a destination. */
|
|
31
|
+
let known = { pages: [], origin: '', opts: {} };
|
|
32
|
+
const here = (href) => href ?? (typeof location === 'undefined' ? '' : location.href);
|
|
33
|
+
const originOf = (origin) => origin ?? (typeof location === 'undefined' ? '' : location.origin);
|
|
34
|
+
const referrerOf = (opts) => opts.referrer?.() ?? (typeof document === 'undefined' ? '' : document.referrer);
|
|
35
|
+
const text = (t, isError = false) => ({
|
|
36
|
+
content: [{ type: 'text', text: t }],
|
|
37
|
+
...(isError ? { isError: true } : {}),
|
|
38
|
+
});
|
|
39
|
+
/**
|
|
40
|
+
* Where a request to open a page goes.
|
|
41
|
+
*
|
|
42
|
+
* A page by name or address, and two that no site lists by name: "home", the
|
|
43
|
+
* site's root, and "back", the page the visitor came from — only when that was
|
|
44
|
+
* a page of this site, since going back must not leave it.
|
|
45
|
+
*
|
|
46
|
+
* @param wanted - What the visitor or model asked for.
|
|
47
|
+
* @param pages - The site's pages.
|
|
48
|
+
* @param origin - The site's origin.
|
|
49
|
+
* @param opts - The referrer seam.
|
|
50
|
+
*/
|
|
51
|
+
export function resolveDestination(wanted, pages, origin, opts = {}) {
|
|
52
|
+
const w = wanted.trim();
|
|
53
|
+
const named = (url) => pages.find((p) => samePage(p.url, url))?.name;
|
|
54
|
+
// A page actually called that wins: "Back Office Plumbing" is a page, not a direction.
|
|
55
|
+
const exact = pages.filter((p) => normalName(p.name) === normalName(w));
|
|
56
|
+
if (exact.length === 1)
|
|
57
|
+
return { kind: 'page', url: exact[0].url, label: exact[0].name };
|
|
58
|
+
if (BACK.test(w)) {
|
|
59
|
+
const from = referrerOf(opts);
|
|
60
|
+
let sameSite = false;
|
|
61
|
+
try {
|
|
62
|
+
sameSite = !!from && new URL(from).origin === new URL(origin).origin;
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
sameSite = false;
|
|
66
|
+
}
|
|
67
|
+
return sameSite
|
|
68
|
+
? { kind: 'back', url: from, label: named(from) ?? 'the previous page' }
|
|
69
|
+
: { kind: 'none', reason: 'There is no previous page on this site to go back to.' };
|
|
70
|
+
}
|
|
71
|
+
if (HOME.test(w)) {
|
|
72
|
+
const root = new URL('/', origin).href;
|
|
73
|
+
const home = pages.find((p) => ['/', '/index.html', '/index.htm'].includes(new URL(p.url).pathname));
|
|
74
|
+
return { kind: 'home', url: home?.url ?? root, label: home ? `the home page (${home.name})` : 'the home page' };
|
|
75
|
+
}
|
|
76
|
+
const found = findPage(w, pages, origin);
|
|
77
|
+
if (found)
|
|
78
|
+
return { kind: 'page', url: found.url, label: found.name };
|
|
79
|
+
const some = [...new Set(pages.map((p) => p.name))].slice(0, 8).join(', ');
|
|
80
|
+
return {
|
|
81
|
+
kind: 'none',
|
|
82
|
+
reason: `There is no page called "${w}" on this site${some ? `. Pages include: ${some}` : ''}.`,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Build the page-opening tool for a site's pages.
|
|
87
|
+
*
|
|
88
|
+
* @param pages - Every page the agent may open.
|
|
89
|
+
* @param opts - Origin, current page, and the navigation seams.
|
|
90
|
+
* @returns The definition to register.
|
|
91
|
+
*/
|
|
92
|
+
export function buildOpenPageTool(pages, opts = {}) {
|
|
93
|
+
const origin = originOf(opts.origin);
|
|
94
|
+
known = { pages, origin, opts };
|
|
95
|
+
const names = [...new Set(pages.map((p) => p.name))];
|
|
96
|
+
const page = {
|
|
97
|
+
type: 'string',
|
|
98
|
+
description: (names.length <= MAX_LISTED
|
|
99
|
+
? 'The page to open, by name.'
|
|
100
|
+
: 'The page to open: the name of the business, listing or record it is about.') +
|
|
101
|
+
' Use "home" for the home page and "back" for the page the visitor was on before.',
|
|
102
|
+
};
|
|
103
|
+
if (names.length && names.length <= MAX_LISTED)
|
|
104
|
+
page.enum = ['home', 'back', ...names];
|
|
105
|
+
return {
|
|
106
|
+
name: OPEN_PAGE_TOOL,
|
|
107
|
+
description: 'Take the visitor to a page on this site. Use when they ask to go to, open, visit or see a page — ' +
|
|
108
|
+
'for example the page of a result you found, the home page, or back to the previous page.',
|
|
109
|
+
inputSchema: { type: 'object', properties: { page }, required: ['page'] },
|
|
110
|
+
annotations: { readOnlyHint: true },
|
|
111
|
+
execute: async (input) => {
|
|
112
|
+
const to = resolveDestination(String(input?.page ?? ''), pages, origin, opts);
|
|
113
|
+
if (to.kind === 'none')
|
|
114
|
+
return text(to.reason, true);
|
|
115
|
+
if (samePage(to.url, here(opts.href)))
|
|
116
|
+
return text(`You are already on ${to.label}.`);
|
|
117
|
+
savePendingVisit({ pageUrl: to.url, label: to.label, conversationId: opts.conversationId?.(), steps: journeySteps() }, { storage: opts.storage });
|
|
118
|
+
if (to.kind === 'back')
|
|
119
|
+
(opts.back ?? (() => history.back()))();
|
|
120
|
+
else
|
|
121
|
+
(opts.navigate ?? ((url) => location.assign(url)))(to.url);
|
|
122
|
+
return {
|
|
123
|
+
content: [{ type: 'text', text: `Opening ${to.label}…` }],
|
|
124
|
+
structuredContent: { [HANDOFF_RESULT]: { pageUrl: to.url, label: to.label } },
|
|
125
|
+
};
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Where a call to the page-opening tool goes, before it runs.
|
|
131
|
+
*
|
|
132
|
+
* @returns The destination, or null when the tool is another one, the page is
|
|
133
|
+
* unknown, or it is the page already open.
|
|
134
|
+
*/
|
|
135
|
+
export function visitFor(tool, values, href) {
|
|
136
|
+
if (tool.name !== OPEN_PAGE_TOOL)
|
|
137
|
+
return null;
|
|
138
|
+
const to = resolveDestination(String(values?.page ?? ''), known.pages, known.origin || originOf(), known.opts);
|
|
139
|
+
if (to.kind === 'none' || samePage(to.url, here(href ?? known.opts.href)))
|
|
140
|
+
return null;
|
|
141
|
+
return { pageUrl: to.url, label: to.label };
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Register the page-opening tool, unless the registry already holds one.
|
|
145
|
+
*
|
|
146
|
+
* @returns Whether it was registered.
|
|
147
|
+
*/
|
|
148
|
+
export async function registerOpenPageTool(mc, pages, opts = {}) {
|
|
149
|
+
if (!pages.length)
|
|
150
|
+
return false;
|
|
151
|
+
const tool = buildOpenPageTool(pages, opts);
|
|
152
|
+
try {
|
|
153
|
+
if ((await mc.getTools()).some((t) => t.name === OPEN_PAGE_TOOL))
|
|
154
|
+
return false;
|
|
155
|
+
}
|
|
156
|
+
catch {
|
|
157
|
+
// A registry that cannot list may still register.
|
|
158
|
+
}
|
|
159
|
+
try {
|
|
160
|
+
await mc.registerTool(tool);
|
|
161
|
+
return true;
|
|
162
|
+
}
|
|
163
|
+
catch (err) {
|
|
164
|
+
console.warn(`[nxis-mcp] could not register ${OPEN_PAGE_TOOL}:`, err);
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=open-page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-page.js","sourceRoot":"","sources":["../../../src/harness/tools/open-page.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,16 @@ export interface PendingOptions {
|
|
|
31
31
|
/** The clock. */
|
|
32
32
|
now?: () => number;
|
|
33
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Say which conversation a call or visit that leaves this page belongs to.
|
|
36
|
+
*
|
|
37
|
+
* Set by whatever owns the conversation — the element, or a host's own UI —
|
|
38
|
+
* rather than passed where tools are built, because the tools are built by
|
|
39
|
+
* whichever script connects first, and on most sites that is not the UI.
|
|
40
|
+
*
|
|
41
|
+
* @param source - Returns the id of the conversation in progress; null to stop.
|
|
42
|
+
*/
|
|
43
|
+
export declare function setConversationSource(source: (() => string | undefined) | null): void;
|
|
34
44
|
/**
|
|
35
45
|
* Hold a confirmed call until its page loads.
|
|
36
46
|
*
|
|
@@ -52,4 +62,38 @@ export declare function savePendingAction(pending: Omit<PendingAction, 'savedAt'
|
|
|
52
62
|
export declare function takePendingAction(href?: string, opts?: PendingOptions): PendingAction | null;
|
|
53
63
|
/** Forget any waiting call. */
|
|
54
64
|
export declare function clearPendingAction(opts?: PendingOptions): void;
|
|
65
|
+
/**
|
|
66
|
+
* A page the agent opened, waiting to pick the conversation up on arrival.
|
|
67
|
+
*
|
|
68
|
+
* Carries no values, only where the visitor was taken and the conversation
|
|
69
|
+
* that took them, so the thread they were in is the one they find there.
|
|
70
|
+
*/
|
|
71
|
+
export interface PendingVisit {
|
|
72
|
+
/** The page being opened. */
|
|
73
|
+
pageUrl: string;
|
|
74
|
+
/** What to call it. */
|
|
75
|
+
label: string;
|
|
76
|
+
/** The conversation to continue. */
|
|
77
|
+
conversationId?: string;
|
|
78
|
+
/** The journey so far. */
|
|
79
|
+
steps?: AgentStep[];
|
|
80
|
+
/** When it was stored, in epoch milliseconds. */
|
|
81
|
+
savedAt: number;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Remember a page being opened, so the conversation follows the visitor.
|
|
85
|
+
*
|
|
86
|
+
* @returns Whether it could be stored. Unlike a pending action, nothing is lost
|
|
87
|
+
* when it cannot: the page still opens, in a fresh thread.
|
|
88
|
+
*/
|
|
89
|
+
export declare function savePendingVisit(visit: Omit<PendingVisit, 'savedAt'>, opts?: PendingOptions): boolean;
|
|
90
|
+
/**
|
|
91
|
+
* Take the visit that brought the browser to this page, if there is one.
|
|
92
|
+
*
|
|
93
|
+
* Read once and discarded when stale, as a pending action is; a visit for
|
|
94
|
+
* another page is left, since the browser may still be on its way.
|
|
95
|
+
*
|
|
96
|
+
* @param href - The page now open. Defaults to the browser's.
|
|
97
|
+
*/
|
|
98
|
+
export declare function takePendingVisit(href?: string, opts?: PendingOptions): PendingVisit | null;
|
|
55
99
|
//# sourceMappingURL=pending-action.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pending-action.d.ts","sourceRoot":"","sources":["../../../src/harness/tools/pending-action.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,qDAAqD;AACrD,MAAM,WAAW,aAAa;IAC5B,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,YAAY,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IACpB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,oFAAoF;AACpF,eAAO,MAAM,cAAc,QAAgB,CAAC;AAE5C,yEAAyE;AACzE,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,iBAAiB;IACjB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAcD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,EACvC,IAAI,GAAE,cAAmB,GACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"pending-action.d.ts","sourceRoot":"","sources":["../../../src/harness/tools/pending-action.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,qDAAqD;AACrD,MAAM,WAAW,aAAa;IAC5B,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,YAAY,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IACpB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,oFAAoF;AACpF,eAAO,MAAM,cAAc,QAAgB,CAAC;AAE5C,yEAAyE;AACzE,MAAM,WAAW,cAAc;IAC7B,2EAA2E;IAC3E,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,iBAAiB;IACjB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAcD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,IAAI,GAAG,IAAI,CAErF;AAcD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,EACvC,IAAI,GAAE,cAAmB,GACxB,OAAO,CAWT;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,cAAmB,GAAG,aAAa,GAAG,IAAI,CAyBhG;AAED,+BAA+B;AAC/B,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,cAAmB,GAAG,IAAI,CAMlE;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IACpB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;CACjB;AAID;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,IAAI,GAAE,cAAmB,GAAG,OAAO,CAUzG;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,cAAmB,GAAG,YAAY,GAAG,IAAI,CAyB9F"}
|