@nxisai/agent-harness 0.2.4 → 0.4.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 +90 -2
- package/dist/a2ui/stepper.d.ts +1 -1
- package/dist/a2ui/stepper.d.ts.map +1 -1
- package/dist/a2ui/stepper.js +2 -2
- package/dist/a2ui/stepper.js.map +1 -1
- package/dist/engine.d.ts +1 -0
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +1 -0
- package/dist/engine.js.map +1 -1
- package/dist/harness/harness.d.ts +58 -0
- package/dist/harness/harness.d.ts.map +1 -1
- package/dist/harness/harness.js +179 -4
- package/dist/harness/harness.js.map +1 -1
- package/dist/harness/renderer.d.ts +30 -0
- package/dist/harness/renderer.d.ts.map +1 -1
- package/dist/harness/steps.d.ts +101 -0
- package/dist/harness/steps.d.ts.map +1 -0
- package/dist/harness/steps.js +102 -0
- package/dist/harness/steps.js.map +1 -0
- package/dist/harness/tools/action-tools.d.ts +213 -0
- package/dist/harness/tools/action-tools.d.ts.map +1 -0
- package/dist/harness/tools/action-tools.js +724 -0
- package/dist/harness/tools/action-tools.js.map +1 -0
- package/dist/harness/tools/bridge.d.ts.map +1 -1
- package/dist/harness/tools/bridge.js +28 -2
- package/dist/harness/tools/bridge.js.map +1 -1
- package/dist/harness/tools/open-page.d.ts +42 -0
- package/dist/harness/tools/open-page.d.ts.map +1 -0
- package/dist/harness/tools/open-page.js +118 -0
- package/dist/harness/tools/open-page.js.map +1 -0
- package/dist/harness/tools/pending-action.d.ts +99 -0
- package/dist/harness/tools/pending-action.d.ts.map +1 -0
- package/dist/harness/tools/pending-action.js +175 -0
- package/dist/harness/tools/pending-action.js.map +1 -0
- package/dist/harness/tools/resume.d.ts +92 -0
- package/dist/harness/tools/resume.d.ts.map +1 -0
- package/dist/harness/tools/resume.js +84 -0
- package/dist/harness/tools/resume.js.map +1 -0
- package/dist/harness/tools/schema.js +29 -2
- package/dist/harness/tools/schema.js.map +1 -1
- package/dist/harness/tools/site-actions.d.ts +81 -0
- package/dist/harness/tools/site-actions.d.ts.map +1 -0
- package/dist/harness/tools/site-actions.js +314 -0
- package/dist/harness/tools/site-actions.js.map +1 -0
- package/dist/harness/tools/site-pages.d.ts +95 -0
- package/dist/harness/tools/site-pages.d.ts.map +1 -0
- package/dist/harness/tools/site-pages.js +199 -0
- package/dist/harness/tools/site-pages.js.map +1 -0
- package/dist/harness/tools/source.d.ts +58 -3
- package/dist/harness/tools/source.d.ts.map +1 -1
- package/dist/harness/tools/source.js +88 -7
- package/dist/harness/tools/source.js.map +1 -1
- package/dist/index.d.ts +14 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/providers/proxy.d.ts +5 -0
- package/dist/providers/proxy.d.ts.map +1 -1
- package/dist/providers/proxy.js +16 -1
- package/dist/providers/proxy.js.map +1 -1
- package/dist/providers/types.d.ts +15 -0
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/types.d.ts +7 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/agent-fullscreen.d.ts.map +1 -1
- package/dist/ui/agent-fullscreen.js +835 -36
- package/dist/ui/agent-fullscreen.js.map +1 -1
- package/dist/ui/index.d.ts +2 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +1 -0
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/journey.d.ts +33 -0
- package/dist/ui/journey.d.ts.map +1 -0
- package/dist/ui/journey.js +27 -0
- package/dist/ui/journey.js.map +1 -0
- 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/dist/webmcp-contract.d.ts +6 -2
- package/dist/webmcp-contract.d.ts.map +1 -1
- package/docs/remote-providers.md +7 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-tools.js","sourceRoot":"","sources":["../../../src/harness/tools/action-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../src/harness/tools/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,KAAK,EAEV,aAAa,EACb,YAAY,EAEb,MAAM,gBAAgB,CAAC;AAoGxB;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiBnF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAmC/E;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,MAAM,SAAK,EACX,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUzB;AAED,gEAAgE;AAChE,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAwBhF;
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../src/harness/tools/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,KAAK,EAEV,aAAa,EACb,YAAY,EAEb,MAAM,gBAAgB,CAAC;AAoGxB;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiBnF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAmC/E;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,MAAM,SAAK,EACX,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUzB;AAED,gEAAgE;AAChE,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAwBhF;AAsDD,+CAA+C;AAC/C,MAAM,WAAW,aAAa;IAC5B;;;;;;;OAOG;IACH,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CAChC;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,YAAY,EAChB,IAAI,EAAE,aAAa,EACnB,IAAI,GAAE,aAAkB,GACvB,OAAO,CAAC,MAAM,EAAE,CAAC,CA8CnB"}
|
|
@@ -215,6 +215,15 @@ async function listRemoteTools(client, info) {
|
|
|
215
215
|
return info.publicTools.map((name) => ({ name }));
|
|
216
216
|
}
|
|
217
217
|
}
|
|
218
|
+
/** The names a registry already holds, or none when it cannot say. */
|
|
219
|
+
async function registeredNames(mc) {
|
|
220
|
+
try {
|
|
221
|
+
return new Set((await mc.getTools()).map((t) => t.name));
|
|
222
|
+
}
|
|
223
|
+
catch {
|
|
224
|
+
return new Set();
|
|
225
|
+
}
|
|
226
|
+
}
|
|
218
227
|
/**
|
|
219
228
|
* Tools excluded from the browser agent's toolset by default.
|
|
220
229
|
*
|
|
@@ -243,10 +252,17 @@ const SERVER_ONLY_TOOLS = new Set(['nxis_action']);
|
|
|
243
252
|
export async function registerRemoteTools(client, mc, info, opts = {}) {
|
|
244
253
|
const accept = opts.accept ?? ((name) => !SERVER_ONLY_TOOLS.has(name));
|
|
245
254
|
const tools = (await listRemoteTools(client, info)).filter((t) => accept(t.name));
|
|
255
|
+
// A native registry rejects a name it already holds, where the polyfill
|
|
256
|
+
// replaces it. Skipping names already present behaves the same on both.
|
|
257
|
+
const present = await registeredNames(mc);
|
|
246
258
|
const registered = [];
|
|
247
259
|
for (const tool of tools) {
|
|
260
|
+
if (present.has(tool.name)) {
|
|
261
|
+
console.warn(`[nxis-mcp] a tool named ${tool.name} is already registered; keeping it`);
|
|
262
|
+
continue;
|
|
263
|
+
}
|
|
248
264
|
const override = TOOL_OVERRIDES[tool.name];
|
|
249
|
-
|
|
265
|
+
const registration = {
|
|
250
266
|
name: tool.name,
|
|
251
267
|
description: override?.description ?? tool.description ?? '',
|
|
252
268
|
// Prefer the simplified schema; otherwise pass the native one through.
|
|
@@ -263,7 +279,17 @@ export async function registerRemoteTools(client, mc, info, opts = {}) {
|
|
|
263
279
|
structuredContent: result.structuredContent,
|
|
264
280
|
};
|
|
265
281
|
},
|
|
266
|
-
}
|
|
282
|
+
};
|
|
283
|
+
// Native registries may throw, or return a promise that rejects; the
|
|
284
|
+
// polyfill returns nothing. Awaiting covers all three, and one tool the
|
|
285
|
+
// registry refuses should not cost the rest.
|
|
286
|
+
try {
|
|
287
|
+
await mc.registerTool(registration);
|
|
288
|
+
}
|
|
289
|
+
catch (err) {
|
|
290
|
+
console.warn(`[nxis-mcp] could not register ${tool.name}:`, err);
|
|
291
|
+
continue;
|
|
292
|
+
}
|
|
267
293
|
registered.push(tool.name);
|
|
268
294
|
}
|
|
269
295
|
return registered;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../src/harness/tools/bridge.ts"],"names":[],"mappings":"AAwCA,MAAM,KAAK,GAAG,CAAC,CAAU,EAAW,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AAE5E,gEAAgE;AAChE,MAAM,cAAc,GAAiC;IACnD,eAAe,EAAE;QACf,WAAW,EACT,kHAAkH;QACpH,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;QAC/C,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;QACnB,QAAQ,EAAE,IAAI;KACf;IAED,QAAQ,EAAE;QACR,WAAW,EACT,6FAA6F;QAC/F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yCAAyC,EAAE;aAC/E;YACD,QAAQ,EAAE,CAAC,IAAI,CAAC;SACjB;QACD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;QAC9B,QAAQ,EAAE,IAAI;KACf;IAED,UAAU,EAAE;QACV,WAAW,EACT,4FAA4F;YAC5F,0FAA0F;YAC1F,kDAAkD;QACpD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4EAA4E;iBAC1F;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,kEAAkE;oBAClE,4DAA4D;oBAC5D,kCAAkC;oBAClC,WAAW,EAAE,+DAA+D;iBAC7E;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,gEAAgE;oBAChE,gEAAgE;oBAChE,iEAAiE;oBACjE,oDAAoD;oBACpD,WAAW,EACT,6DAA6D;wBAC7D,uDAAuD;wBACvD,2EAA2E;wBAC3E,wCAAwC;iBAC3C;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,0EAA0E;wBAC1E,iCAAiC;iBACpC;gBACD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,oCAAoC,EAAE,OAAO,EAAE,EAAE,EAAE;aAC3F;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;QACD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QAC/B,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAEF,mEAAmE;AACnE,MAAM,WAAW,GAAuB;IACtC,CAAC,IAAI,EAAE,uBAAuB,CAAC;IAC/B,CAAC,IAAI,EAAE,oBAAoB,CAAC;IAC5B,CAAC,GAAG,EAAE,cAAc,CAAC;IACrB,CAAC,GAAG,EAAE,WAAW,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,KAAc;IACxD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACjE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,WAAW,EAAE,CAAC;YAC7C,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBACjD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBACzB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACtE,CAAC;QACH,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5B,0EAA0E;QAC1E,mBAAmB;QACnB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,KAAK,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACrG,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,KAAgC,CAAC;IAC1C,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC1B,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,kDAAkD;IAClD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAC/D,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;QACjC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;IACxE,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvC,MAAM,QAAQ,GAAG;QACf,IAAI;QACJ,0DAA0D;QAC1D,IAAI,CAAC,OAAO,CAAC,mCAAmC,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;KAChF,CAAC;IACF,mEAAmE;IACnE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,qCAAqC,EAAE,UAAU,CAAC,CAAC,CAAC;IAEtF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC;YAC9C,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnE,OAAO,MAAiC,CAAC;YAC3C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,GAA4B,EAC5B,MAAM,GAAG,EAAE,EACX,MAA+B,EAAE;IAEjC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChE,YAAY,CAAC,KAAgC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,YAAY,CAAC,CAA0B;IACrD,MAAM,MAAM,GAA4B,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAEvE,MAAM,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;aACvD,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;aACxF,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACtD,IAAI,YAAY,CAAC,MAAM;YAAE,MAAM,CAAC,aAAa,GAAG,YAAY,CAAC;IAC/D,CAAC;IAED,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,CAAC,WAAW,GAAG;YACnB,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;YACzC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW;SAC/C,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAA4B,EAAE,MAAM,EAAE,CAAC;IACjD,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;IACtC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI;QAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,UAAU,CAAC,IAAgB,EAAE,QAAuB;IAC3D,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC,QAAQ,CAAC;IACvC,MAAM,QAAQ,GAAI,IAAI,CAAC,WAAsD,EAAE,YAAY,CAAC;IAC5F,OAAO,QAAQ,KAAK,IAAI,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,eAAe,CAAC,MAAc,EAAE,IAAmB;IAChE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QACrC,OAAO,GAAG,CAAC,KAAgC,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,gEAAgE,EAAE,GAAG,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;AAenD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAc,EACd,EAAgB,EAChB,IAAmB,EACnB,OAAsB,EAAE;IAExB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/E,MAAM,KAAK,GAAG,CAAC,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAClF,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3C,
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../src/harness/tools/bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
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
|
+
/** The conversation to continue on arrival. Read when the tool runs. */
|
|
16
|
+
conversationId?: () => string | undefined;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Build the page-opening tool for a site's pages.
|
|
20
|
+
*
|
|
21
|
+
* @param pages - Every page the agent may open.
|
|
22
|
+
* @param opts - Origin, current page, and the navigation seam.
|
|
23
|
+
* @returns The definition to register.
|
|
24
|
+
*/
|
|
25
|
+
export declare function buildOpenPageTool(pages: SitePage[], opts?: OpenPageOptions): ModelContextTool;
|
|
26
|
+
/**
|
|
27
|
+
* Where a call to the page-opening tool goes, before it runs.
|
|
28
|
+
*
|
|
29
|
+
* @returns The destination, or null when the tool is another one, the page is
|
|
30
|
+
* unknown, or it is the page already open.
|
|
31
|
+
*/
|
|
32
|
+
export declare function visitFor(tool: Pick<ModelContextToolInfo, 'name'>, values: Record<string, unknown>, href?: string): {
|
|
33
|
+
pageUrl: string;
|
|
34
|
+
label: string;
|
|
35
|
+
} | null;
|
|
36
|
+
/**
|
|
37
|
+
* Register the page-opening tool, unless the registry already holds one.
|
|
38
|
+
*
|
|
39
|
+
* @returns Whether it was registered.
|
|
40
|
+
*/
|
|
41
|
+
export declare function registerOpenPageTool(mc: ModelContext, pages: SitePage[], opts?: OpenPageOptions): Promise<boolean>;
|
|
42
|
+
//# 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":"AAcA,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,cAAc,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CAC3C;AAaD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,IAAI,GAAE,eAAoB,GAAG,gBAAgB,CA6CjG;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,118 @@
|
|
|
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, and carries the conversation across so it continues there.
|
|
8
|
+
*
|
|
9
|
+
* It reads nothing and submits nothing, so it runs without a confirmation, and
|
|
10
|
+
* it never leaves the origin.
|
|
11
|
+
*
|
|
12
|
+
* @module
|
|
13
|
+
*/
|
|
14
|
+
import { samePage } from './site-actions.js';
|
|
15
|
+
import { findPage } from './site-pages.js';
|
|
16
|
+
import { savePendingVisit } from './pending-action.js';
|
|
17
|
+
import { HANDOFF_RESULT } from './action-tools.js';
|
|
18
|
+
import { journeySteps } from '../steps.js';
|
|
19
|
+
/** The tool's registered name. */
|
|
20
|
+
export const OPEN_PAGE_TOOL = 'open_page';
|
|
21
|
+
/** Past this many pages the names are described rather than listed. */
|
|
22
|
+
const MAX_LISTED = 40;
|
|
23
|
+
/** The pages the tool was built with, so the harness can name a destination. */
|
|
24
|
+
let known = { pages: [], origin: '' };
|
|
25
|
+
const here = (href) => href ?? (typeof location === 'undefined' ? '' : location.href);
|
|
26
|
+
const originOf = (origin) => origin ?? (typeof location === 'undefined' ? '' : location.origin);
|
|
27
|
+
const text = (t, isError = false) => ({
|
|
28
|
+
content: [{ type: 'text', text: t }],
|
|
29
|
+
...(isError ? { isError: true } : {}),
|
|
30
|
+
});
|
|
31
|
+
/**
|
|
32
|
+
* Build the page-opening tool for a site's pages.
|
|
33
|
+
*
|
|
34
|
+
* @param pages - Every page the agent may open.
|
|
35
|
+
* @param opts - Origin, current page, and the navigation seam.
|
|
36
|
+
* @returns The definition to register.
|
|
37
|
+
*/
|
|
38
|
+
export function buildOpenPageTool(pages, opts = {}) {
|
|
39
|
+
const origin = originOf(opts.origin);
|
|
40
|
+
known = { pages, origin };
|
|
41
|
+
const names = [...new Set(pages.map((p) => p.name))];
|
|
42
|
+
const page = {
|
|
43
|
+
type: 'string',
|
|
44
|
+
description: names.length <= MAX_LISTED
|
|
45
|
+
? 'The page to open, by name.'
|
|
46
|
+
: 'The page to open: the name of the business, listing or record it is about.',
|
|
47
|
+
};
|
|
48
|
+
if (names.length && names.length <= MAX_LISTED)
|
|
49
|
+
page.enum = names;
|
|
50
|
+
return {
|
|
51
|
+
name: OPEN_PAGE_TOOL,
|
|
52
|
+
description: 'Take the visitor to a page on this site. Use when they ask to go to, open, visit or see a page — ' +
|
|
53
|
+
'for example the page of a result you found.',
|
|
54
|
+
inputSchema: { type: 'object', properties: { page }, required: ['page'] },
|
|
55
|
+
annotations: { readOnlyHint: true },
|
|
56
|
+
execute: async (input) => {
|
|
57
|
+
const wanted = String(input?.page ?? '').trim();
|
|
58
|
+
const found = findPage(wanted, pages, origin);
|
|
59
|
+
if (!found) {
|
|
60
|
+
const some = names.slice(0, 8).join(', ');
|
|
61
|
+
return text(`There is no page called "${wanted}" on this site${some ? `. Pages include: ${some}` : ''}.`, true);
|
|
62
|
+
}
|
|
63
|
+
if (samePage(found.url, here(opts.href)))
|
|
64
|
+
return text(`You are already on ${found.name}.`);
|
|
65
|
+
savePendingVisit({
|
|
66
|
+
pageUrl: found.url,
|
|
67
|
+
label: found.name,
|
|
68
|
+
conversationId: opts.conversationId?.(),
|
|
69
|
+
steps: journeySteps(),
|
|
70
|
+
}, { storage: opts.storage });
|
|
71
|
+
(opts.navigate ?? ((url) => location.assign(url)))(found.url);
|
|
72
|
+
return {
|
|
73
|
+
content: [{ type: 'text', text: `Opening ${found.name}…` }],
|
|
74
|
+
structuredContent: { [HANDOFF_RESULT]: { pageUrl: found.url, label: found.name } },
|
|
75
|
+
};
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Where a call to the page-opening tool goes, before it runs.
|
|
81
|
+
*
|
|
82
|
+
* @returns The destination, or null when the tool is another one, the page is
|
|
83
|
+
* unknown, or it is the page already open.
|
|
84
|
+
*/
|
|
85
|
+
export function visitFor(tool, values, href) {
|
|
86
|
+
if (tool.name !== OPEN_PAGE_TOOL)
|
|
87
|
+
return null;
|
|
88
|
+
const found = findPage(String(values?.page ?? ''), known.pages, known.origin || originOf());
|
|
89
|
+
if (!found || samePage(found.url, here(href)))
|
|
90
|
+
return null;
|
|
91
|
+
return { pageUrl: found.url, label: found.name };
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Register the page-opening tool, unless the registry already holds one.
|
|
95
|
+
*
|
|
96
|
+
* @returns Whether it was registered.
|
|
97
|
+
*/
|
|
98
|
+
export async function registerOpenPageTool(mc, pages, opts = {}) {
|
|
99
|
+
if (!pages.length)
|
|
100
|
+
return false;
|
|
101
|
+
const tool = buildOpenPageTool(pages, opts);
|
|
102
|
+
try {
|
|
103
|
+
if ((await mc.getTools()).some((t) => t.name === OPEN_PAGE_TOOL))
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
// A registry that cannot list may still register.
|
|
108
|
+
}
|
|
109
|
+
try {
|
|
110
|
+
await mc.registerTool(tool);
|
|
111
|
+
return true;
|
|
112
|
+
}
|
|
113
|
+
catch (err) {
|
|
114
|
+
console.warn(`[nxis-mcp] could not register ${OPEN_PAGE_TOOL}:`, err);
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
//# 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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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import type { AgentStep } from '../steps.js';
|
|
2
|
+
/** A confirmed call waiting for its page to load. */
|
|
3
|
+
export interface PendingAction {
|
|
4
|
+
/** The `@id` of the action to run on arrival. */
|
|
5
|
+
actionId: string;
|
|
6
|
+
/** What the page's own tool is expected to be called, if the id is not recorded. */
|
|
7
|
+
pageToolName: string;
|
|
8
|
+
/** The site tool the call was made through, for the card it produces. */
|
|
9
|
+
toolName: string;
|
|
10
|
+
/** The values to submit. */
|
|
11
|
+
values: Record<string, unknown>;
|
|
12
|
+
/** The page to submit on. */
|
|
13
|
+
pageUrl: string;
|
|
14
|
+
/** The conversation to return the result to. */
|
|
15
|
+
conversationId?: string;
|
|
16
|
+
/**
|
|
17
|
+
* The journey so far, so a surface can show it after the page has changed.
|
|
18
|
+
*
|
|
19
|
+
* The steps that led here happened on a page that no longer exists.
|
|
20
|
+
*/
|
|
21
|
+
steps?: AgentStep[];
|
|
22
|
+
/** When it was stored, in epoch milliseconds. */
|
|
23
|
+
savedAt: number;
|
|
24
|
+
}
|
|
25
|
+
/** How long a confirmed call stays good. Long enough for a page load, no longer. */
|
|
26
|
+
export declare const PENDING_TTL_MS: number;
|
|
27
|
+
/** Overrides for tests and for callers that manage their own storage. */
|
|
28
|
+
export interface PendingOptions {
|
|
29
|
+
/** Where the call is held. Defaults to `sessionStorage`; null disables. */
|
|
30
|
+
storage?: Storage | null;
|
|
31
|
+
/** The clock. */
|
|
32
|
+
now?: () => number;
|
|
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;
|
|
44
|
+
/**
|
|
45
|
+
* Hold a confirmed call until its page loads.
|
|
46
|
+
*
|
|
47
|
+
* @returns Whether it could be stored. A page that cannot store it must not
|
|
48
|
+
* navigate, or the values would be lost in transit.
|
|
49
|
+
*/
|
|
50
|
+
export declare function savePendingAction(pending: Omit<PendingAction, 'savedAt'>, opts?: PendingOptions): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Take the call waiting for this page, if there is one.
|
|
53
|
+
*
|
|
54
|
+
* Reads once: a call this returns is removed, so a reload cannot submit the
|
|
55
|
+
* same form twice. An expired call is discarded wherever it is found. A call
|
|
56
|
+
* for another page is left alone, since the browser may still be on its way
|
|
57
|
+
* there.
|
|
58
|
+
*
|
|
59
|
+
* @param href - The page now open. Defaults to the browser's.
|
|
60
|
+
* @returns The call to submit here, or null.
|
|
61
|
+
*/
|
|
62
|
+
export declare function takePendingAction(href?: string, opts?: PendingOptions): PendingAction | null;
|
|
63
|
+
/** Forget any waiting call. */
|
|
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;
|
|
99
|
+
//# sourceMappingURL=pending-action.d.ts.map
|
|
@@ -0,0 +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;;;;;;;;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"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Carries one confirmed action across a page change.
|
|
3
|
+
*
|
|
4
|
+
* An action is run by filling the form on its own page, so a call made from
|
|
5
|
+
* anywhere else has to travel: the values are collected and confirmed where
|
|
6
|
+
* the visitor is, held here, and submitted once the browser arrives.
|
|
7
|
+
*
|
|
8
|
+
* What is held is what someone typed — a name, an email, a phone number — so
|
|
9
|
+
* it is kept in the tab's own session storage, expires in two minutes, and is
|
|
10
|
+
* read exactly once.
|
|
11
|
+
*
|
|
12
|
+
* @module
|
|
13
|
+
*/
|
|
14
|
+
import { samePage } from './site-actions.js';
|
|
15
|
+
const KEY = 'nxis:pending-action:v1';
|
|
16
|
+
/** How long a confirmed call stays good. Long enough for a page load, no longer. */
|
|
17
|
+
export const PENDING_TTL_MS = 2 * 60 * 1000;
|
|
18
|
+
/** The tab's session storage, or null where it is unavailable or blocked. */
|
|
19
|
+
function defaultStorage() {
|
|
20
|
+
try {
|
|
21
|
+
return typeof sessionStorage === 'undefined' ? null : sessionStorage;
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/** Where the id of the conversation in progress is read from. */
|
|
28
|
+
let conversationSource = null;
|
|
29
|
+
/**
|
|
30
|
+
* Say which conversation a call or visit that leaves this page belongs to.
|
|
31
|
+
*
|
|
32
|
+
* Set by whatever owns the conversation — the element, or a host's own UI —
|
|
33
|
+
* rather than passed where tools are built, because the tools are built by
|
|
34
|
+
* whichever script connects first, and on most sites that is not the UI.
|
|
35
|
+
*
|
|
36
|
+
* @param source - Returns the id of the conversation in progress; null to stop.
|
|
37
|
+
*/
|
|
38
|
+
export function setConversationSource(source) {
|
|
39
|
+
conversationSource = source;
|
|
40
|
+
}
|
|
41
|
+
/** The conversation in progress, as its owner reports it. */
|
|
42
|
+
function currentConversation() {
|
|
43
|
+
try {
|
|
44
|
+
return conversationSource?.() ?? undefined;
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const store = (opts) => opts.storage === undefined ? defaultStorage() : opts.storage;
|
|
51
|
+
/**
|
|
52
|
+
* Hold a confirmed call until its page loads.
|
|
53
|
+
*
|
|
54
|
+
* @returns Whether it could be stored. A page that cannot store it must not
|
|
55
|
+
* navigate, or the values would be lost in transit.
|
|
56
|
+
*/
|
|
57
|
+
export function savePendingAction(pending, opts = {}) {
|
|
58
|
+
const storage = store(opts);
|
|
59
|
+
if (!storage)
|
|
60
|
+
return false;
|
|
61
|
+
const now = (opts.now ?? Date.now)();
|
|
62
|
+
try {
|
|
63
|
+
const conversationId = pending.conversationId ?? currentConversation();
|
|
64
|
+
storage.setItem(KEY, JSON.stringify({ ...pending, conversationId, savedAt: now }));
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Take the call waiting for this page, if there is one.
|
|
73
|
+
*
|
|
74
|
+
* Reads once: a call this returns is removed, so a reload cannot submit the
|
|
75
|
+
* same form twice. An expired call is discarded wherever it is found. A call
|
|
76
|
+
* for another page is left alone, since the browser may still be on its way
|
|
77
|
+
* there.
|
|
78
|
+
*
|
|
79
|
+
* @param href - The page now open. Defaults to the browser's.
|
|
80
|
+
* @returns The call to submit here, or null.
|
|
81
|
+
*/
|
|
82
|
+
export function takePendingAction(href, opts = {}) {
|
|
83
|
+
const storage = store(opts);
|
|
84
|
+
if (!storage)
|
|
85
|
+
return null;
|
|
86
|
+
let pending;
|
|
87
|
+
try {
|
|
88
|
+
pending = JSON.parse(storage.getItem(KEY) || 'null');
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
pending = null;
|
|
92
|
+
}
|
|
93
|
+
if (!pending || typeof pending.savedAt !== 'number' || !pending.actionId) {
|
|
94
|
+
clearPendingAction(opts);
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
const now = (opts.now ?? Date.now)();
|
|
98
|
+
if (now - pending.savedAt > PENDING_TTL_MS || pending.savedAt > now) {
|
|
99
|
+
clearPendingAction(opts);
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
const here = href ?? (typeof location === 'undefined' ? undefined : location.href);
|
|
103
|
+
if (!samePage(pending.pageUrl, here))
|
|
104
|
+
return null;
|
|
105
|
+
clearPendingAction(opts);
|
|
106
|
+
return pending;
|
|
107
|
+
}
|
|
108
|
+
/** Forget any waiting call. */
|
|
109
|
+
export function clearPendingAction(opts = {}) {
|
|
110
|
+
try {
|
|
111
|
+
store(opts)?.removeItem(KEY);
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
/* nothing held, or storage gone */
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
const VISIT_KEY = 'nxis:pending-visit:v1';
|
|
118
|
+
/**
|
|
119
|
+
* Remember a page being opened, so the conversation follows the visitor.
|
|
120
|
+
*
|
|
121
|
+
* @returns Whether it could be stored. Unlike a pending action, nothing is lost
|
|
122
|
+
* when it cannot: the page still opens, in a fresh thread.
|
|
123
|
+
*/
|
|
124
|
+
export function savePendingVisit(visit, opts = {}) {
|
|
125
|
+
const storage = store(opts);
|
|
126
|
+
if (!storage)
|
|
127
|
+
return false;
|
|
128
|
+
try {
|
|
129
|
+
const conversationId = visit.conversationId ?? currentConversation();
|
|
130
|
+
storage.setItem(VISIT_KEY, JSON.stringify({ ...visit, conversationId, savedAt: (opts.now ?? Date.now)() }));
|
|
131
|
+
return true;
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
return false;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Take the visit that brought the browser to this page, if there is one.
|
|
139
|
+
*
|
|
140
|
+
* Read once and discarded when stale, as a pending action is; a visit for
|
|
141
|
+
* another page is left, since the browser may still be on its way.
|
|
142
|
+
*
|
|
143
|
+
* @param href - The page now open. Defaults to the browser's.
|
|
144
|
+
*/
|
|
145
|
+
export function takePendingVisit(href, opts = {}) {
|
|
146
|
+
const storage = store(opts);
|
|
147
|
+
if (!storage)
|
|
148
|
+
return null;
|
|
149
|
+
let visit;
|
|
150
|
+
try {
|
|
151
|
+
visit = JSON.parse(storage.getItem(VISIT_KEY) || 'null');
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
visit = null;
|
|
155
|
+
}
|
|
156
|
+
const drop = () => {
|
|
157
|
+
try {
|
|
158
|
+
storage.removeItem(VISIT_KEY);
|
|
159
|
+
}
|
|
160
|
+
catch {
|
|
161
|
+
/* storage gone */
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
const now = (opts.now ?? Date.now)();
|
|
165
|
+
if (!visit || typeof visit.savedAt !== 'number' || !visit.pageUrl || now - visit.savedAt > PENDING_TTL_MS || visit.savedAt > now) {
|
|
166
|
+
drop();
|
|
167
|
+
return null;
|
|
168
|
+
}
|
|
169
|
+
const here = href ?? (typeof location === 'undefined' ? undefined : location.href);
|
|
170
|
+
if (!samePage(visit.pageUrl, here))
|
|
171
|
+
return null;
|
|
172
|
+
drop();
|
|
173
|
+
return visit;
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=pending-action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending-action.js","sourceRoot":"","sources":["../../../src/harness/tools/pending-action.ts"],"names":[],"mappings":"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"}
|