@rubytech/create-maxy-code 0.1.186 → 0.1.188
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/package.json +1 -1
- package/payload/platform/lib/graph-mcp/dist/index.js +4 -3
- package/payload/platform/lib/graph-mcp/dist/index.js.map +1 -1
- package/payload/platform/lib/graph-mcp/src/index.ts +4 -3
- package/payload/platform/package.json +1 -0
- package/payload/platform/plugins/.claude-plugin/marketplace.json +5 -0
- package/payload/platform/plugins/admin/PLUGIN.md +1 -0
- package/payload/platform/plugins/admin/hooks/lib/maxy-mcp-plugins.txt +16 -0
- package/payload/platform/plugins/admin/hooks/mcp-tool-missing.sh +94 -0
- package/payload/platform/plugins/admin/hooks/turn-completed-graph-write.sh +7 -0
- package/payload/platform/plugins/admin/skills/a4-print-documents/SKILL.md +14 -14
- package/payload/platform/plugins/admin/skills/deck-pages/SKILL.md +9 -23
- package/payload/platform/plugins/admin/skills/professional-document/SKILL.md +1 -1
- package/payload/platform/plugins/admin/skills/publish-site/SKILL.md +3 -3
- package/payload/platform/plugins/admin/skills/skill-builder/SKILL.md +1 -1
- package/payload/platform/plugins/admin/skills/skill-builder/references/pdf-generation.md +4 -4
- package/payload/platform/plugins/admin/skills/stream-log-review/references/analysis-patterns.md +11 -7
- package/payload/platform/plugins/browser/.claude-plugin/plugin.json +1 -1
- package/payload/platform/plugins/browser/PLUGIN.md +78 -8
- package/payload/platform/plugins/browser/mcp/dist/index.js +111 -7
- package/payload/platform/plugins/browser/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/browser/mcp/dist/lib/cdp-actions.d.ts +98 -0
- package/payload/platform/plugins/browser/mcp/dist/lib/cdp-actions.d.ts.map +1 -0
- package/payload/platform/plugins/browser/mcp/dist/lib/cdp-actions.js +455 -0
- package/payload/platform/plugins/browser/mcp/dist/lib/cdp-actions.js.map +1 -0
- package/payload/platform/plugins/browser/mcp/dist/lib/cdp-render.d.ts +9 -31
- package/payload/platform/plugins/browser/mcp/dist/lib/cdp-render.d.ts.map +1 -1
- package/payload/platform/plugins/browser/mcp/dist/lib/cdp-render.js +6 -165
- package/payload/platform/plugins/browser/mcp/dist/lib/cdp-render.js.map +1 -1
- package/payload/platform/plugins/browser/mcp/dist/lib/cdp-session.d.ts +153 -0
- package/payload/platform/plugins/browser/mcp/dist/lib/cdp-session.d.ts.map +1 -0
- package/payload/platform/plugins/browser/mcp/dist/lib/cdp-session.js +401 -0
- package/payload/platform/plugins/browser/mcp/dist/lib/cdp-session.js.map +1 -0
- package/payload/platform/plugins/docs/references/admin-ui.md +3 -4
- package/payload/platform/plugins/docs/references/deployment.md +1 -1
- package/payload/platform/plugins/docs/references/internals.md +6 -4
- package/payload/platform/plugins/docs/references/plugins-guide.md +2 -2
- package/payload/platform/plugins/email/.claude-plugin/plugin.json +1 -1
- package/payload/platform/plugins/email/PLUGIN.md +6 -2
- package/payload/platform/plugins/email/mcp/dist/index.js +38 -0
- package/payload/platform/plugins/email/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/lib/providers.d.ts +28 -0
- package/payload/platform/plugins/email/mcp/dist/lib/providers.d.ts.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/lib/providers.js +106 -0
- package/payload/platform/plugins/email/mcp/dist/lib/providers.js.map +1 -1
- package/payload/platform/plugins/email/references/email-reference.md +19 -15
- package/payload/platform/plugins/graph/.claude-plugin/plugin.json +8 -0
- package/payload/platform/plugins/graph/PLUGIN.md +37 -0
- package/payload/platform/plugins/memory/PLUGIN.md +2 -0
- package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.d.ts +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.js +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-brain-capture-recent.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-brain-capture-recent.js +3 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-brain-capture-recent.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-compiled-truth-history.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-compiled-truth-history.js +2 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-compiled-truth-history.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-review-queue.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-review-queue.js +2 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/memory-review-queue.js.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/session-retrospective-skip-rate.d.ts +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/session-retrospective-skip-rate.d.ts.map +1 -1
- package/payload/platform/plugins/memory/mcp/dist/tools/session-retrospective-skip-rate.js +3 -2
- package/payload/platform/plugins/memory/mcp/dist/tools/session-retrospective-skip-rate.js.map +1 -1
- package/payload/platform/plugins/memory/references/graph-primitives.md +36 -27
- package/payload/platform/plugins/obsidian-import/PLUGIN.md +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/message-history.js +1 -1
- package/payload/platform/plugins/telegram/mcp/dist/tools/message-history.js.map +1 -1
- package/payload/platform/scripts/check-canonical-tool-names.mjs +110 -0
- package/payload/platform/scripts/check-cypher-int-params.mjs +277 -0
- package/payload/platform/scripts/generate-canonical-tool-names.mjs +63 -0
- package/payload/platform/scripts/lib/canonical-tool-names.mjs +88 -0
- package/payload/platform/scripts/setup-account.sh +6 -0
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.d.ts +7 -0
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.d.ts.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.d.ts +5 -0
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.d.ts.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js +204 -0
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.js +23 -0
- package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.js.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/index.js +30 -6
- package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/mcp-tools-probe.d.ts +6 -4
- package/payload/platform/services/claude-session-manager/dist/mcp-tools-probe.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/mcp-tools-probe.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +1 -0
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +50 -26
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/rc-daemon.d.ts +40 -0
- package/payload/platform/services/claude-session-manager/dist/rc-daemon.d.ts.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/rc-daemon.js +200 -0
- package/payload/platform/services/claude-session-manager/dist/rc-daemon.js.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/specialist-drift.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/specialist-drift.js +50 -34
- package/payload/platform/services/claude-session-manager/dist/specialist-drift.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/tool-surface.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/tool-surface.js +23 -13
- package/payload/platform/services/claude-session-manager/dist/tool-surface.js.map +1 -1
- package/payload/platform/templates/specialists/agents/content-producer.md +4 -4
- package/payload/platform/templates/specialists/agents/librarian.md +2 -2
- package/payload/platform/templates/specialists/agents/personal-assistant.md +6 -2
- package/payload/platform/templates/specialists/agents/project-manager.md +1 -1
- package/payload/platform/templates/specialists/agents/research-assistant.md +1 -1
- package/payload/premium-plugins/writer-craft/mcp/dist/tools/voice-retrieve-conditioning.d.ts.map +1 -1
- package/payload/premium-plugins/writer-craft/mcp/dist/tools/voice-retrieve-conditioning.js +33 -1
- package/payload/premium-plugins/writer-craft/mcp/dist/tools/voice-retrieve-conditioning.js.map +1 -1
- package/payload/premium-plugins/writer-craft/mcp/src/tools/voice-retrieve-conditioning.ts +5 -2
- package/payload/server/{chunk-L2YK2VK3.js → chunk-WWD4TCJJ.js} +3 -17
- package/payload/server/maxy-edge.js +1 -1
- package/payload/server/public/assets/Checkbox-ChWmQ7if.js +1 -0
- package/payload/server/public/assets/admin-BLi_fAKQ.js +216 -0
- package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-DZoOzmjE.js → architectureDiagram-Q4EWVU46-DSqzB21V.js} +1 -1
- package/payload/server/public/assets/{blockDiagram-DXYQGD6D-DG3yufCR.js → blockDiagram-DXYQGD6D--otTO_UB.js} +1 -1
- package/payload/server/public/assets/brand-Djtb-tLQ.js +9 -0
- package/payload/server/public/assets/{c4Diagram-AHTNJAMY-BBx5wXuZ.js → c4Diagram-AHTNJAMY-CBszqa9W.js} +1 -1
- package/payload/server/public/assets/channel-C-SJYogg.js +1 -0
- package/payload/server/public/assets/{chunk-336JU56O-DwP7g5ns.js → chunk-336JU56O-ClAJP2KY.js} +2 -2
- package/payload/server/public/assets/{chunk-426QAEUC-DXzGdc22.js → chunk-426QAEUC-CgLucS4H.js} +1 -1
- package/payload/server/public/assets/{chunk-4TB4RGXK-1LDRjk0E.js → chunk-4TB4RGXK-BvOX6mSk.js} +1 -1
- package/payload/server/public/assets/{chunk-5FUZZQ4R-BHjWhwhn.js → chunk-5FUZZQ4R-uyN4XtrW.js} +1 -1
- package/payload/server/public/assets/{chunk-5PVQY5BW-CwPHRVN8.js → chunk-5PVQY5BW-B6xHEzh2.js} +1 -1
- package/payload/server/public/assets/{chunk-EDXVE4YY-7443hrYZ.js → chunk-EDXVE4YY-9objw8tW.js} +1 -1
- package/payload/server/public/assets/{chunk-ENJZ2VHE-BTnmmnmX.js → chunk-ENJZ2VHE-pQpbHIJL.js} +1 -1
- package/payload/server/public/assets/{chunk-ICPOFSXX-CPnMJplL.js → chunk-ICPOFSXX-qS23jC3x.js} +1 -1
- package/payload/server/public/assets/{chunk-OYMX7WX6-DCQ5Q4RS.js → chunk-OYMX7WX6-C9YUwGqp.js} +1 -1
- package/payload/server/public/assets/{chunk-U2HBQHQK-BmfZG8e4.js → chunk-U2HBQHQK-D_pYedRJ.js} +1 -1
- package/payload/server/public/assets/{chunk-X2U36JSP-Da2yJL2u.js → chunk-X2U36JSP-nxf6GHD-.js} +1 -1
- package/payload/server/public/assets/{chunk-YZCP3GAM-BdUmMUJ6.js → chunk-YZCP3GAM-DqKT124V.js} +1 -1
- package/payload/server/public/assets/{chunk-ZZ45TVLE-abkGirrZ.js → chunk-ZZ45TVLE-CLwvpbvu.js} +1 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-OBkxl5to.js +1 -0
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-CkTyus-1.js +1 -0
- package/payload/server/public/assets/clone-VufdPzJ-.js +1 -0
- package/payload/server/public/assets/{dagre-BVVuAEsU.js → dagre-COCXt23n.js} +1 -1
- package/payload/server/public/assets/{dagre-KV5264BT-VG2kNj19.js → dagre-KV5264BT-DmuVMrt4.js} +1 -1
- package/payload/server/public/assets/data-TlJbMIfa.js +1 -0
- package/payload/server/public/assets/{diagram-5BDNPKRD-DRiVy69K.js → diagram-5BDNPKRD-DOiLSgj_.js} +1 -1
- package/payload/server/public/assets/{diagram-G4DWMVQ6-DtpiRTYX.js → diagram-G4DWMVQ6-quY6PSZQ.js} +1 -1
- package/payload/server/public/assets/{diagram-MMDJMWI5-Da3t99fY.js → diagram-MMDJMWI5-tN2yiz0C.js} +1 -1
- package/payload/server/public/assets/{diagram-TYMM5635-BzQmLTJQ.js → diagram-TYMM5635-CjrRQNQ0.js} +1 -1
- package/payload/server/public/assets/{erDiagram-SMLLAGMA-D3Ll-GDw.js → erDiagram-SMLLAGMA-CrNNMxkA.js} +1 -1
- package/payload/server/public/assets/{flowDiagram-DWJPFMVM-D17bje6d.js → flowDiagram-DWJPFMVM-CCUsJph7.js} +1 -1
- package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-BjeQ-Bun.js → ganttDiagram-T4ZO3ILL-18276bri.js} +1 -1
- package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-LtX4pvZS.js → gitGraphDiagram-UUTBAWPF-CsLsKMjN.js} +1 -1
- package/payload/server/public/assets/graph-D2Yvni5R.js +1 -0
- package/payload/server/public/assets/graph-labels-uksnCgSC.js +1 -0
- package/payload/server/public/assets/{graphlib-CzwsfZOw.js → graphlib-CmtUzIni.js} +1 -1
- package/payload/server/public/assets/{infoDiagram-42DDH7IO-DOgH4i52.js → infoDiagram-42DDH7IO-Dny_ZNz3.js} +1 -1
- package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-DYqy5BFj.js → ishikawaDiagram-UXIWVN3A-kUhIUQE-.js} +1 -1
- package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-CsFpIULJ.js → journeyDiagram-VCZTEJTY-DekMvAKB.js} +1 -1
- package/payload/server/public/assets/{kanban-definition-6JOO6SKY-5uZuArw7.js → kanban-definition-6JOO6SKY-st0HNZZo.js} +1 -1
- package/payload/server/public/assets/lib-Ca7uCvl9.js +33 -0
- package/payload/server/public/assets/{line-BY8PmCSW.js → line-BaNk-I7J.js} +1 -1
- package/payload/server/public/assets/{mermaid-parser.core-CJ_9xqwK.js → mermaid-parser.core-CRCHYQ_F.js} +1 -1
- package/payload/server/public/assets/{mermaid.core-CXznBkX7.js → mermaid.core-BaIYEciF.js} +3 -3
- package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-DZbHBud5.js → mindmap-definition-QFDTVHPH-D4u4KU2v.js} +1 -1
- package/payload/server/public/assets/{page-CfN7nw1J.js → page-DayPduMN.js} +2 -2
- package/payload/server/public/assets/page-QQmuB04w.js +1 -0
- package/payload/server/public/assets/{pieDiagram-DEJITSTG-QmOi4DRG.js → pieDiagram-DEJITSTG-BItWEilY.js} +1 -1
- package/payload/server/public/assets/public-Dze4yArS.js +7 -0
- package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-Cpidq6Xj.js → quadrantDiagram-34T5L4WZ-CeWDBvmH.js} +1 -1
- package/payload/server/public/assets/{requirementDiagram-MS252O5E-CBqtfbzR.js → requirementDiagram-MS252O5E-CcosjedW.js} +1 -1
- package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-4BiY4dV9.js → sankeyDiagram-XADWPNL6-DNGeFpUj.js} +1 -1
- package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-DVlL-l2u.js → sequenceDiagram-FGHM5R23-Cqy_deB6.js} +1 -1
- package/payload/server/public/assets/{stateDiagram-FHFEXIEX-CAm9dW68.js → stateDiagram-FHFEXIEX-2yoAqEsA.js} +1 -1
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-Dc5siYvu.js +1 -0
- package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-CD-tZc4y.js → timeline-definition-GMOUNBTQ-Dmeghpw1.js} +1 -1
- package/payload/server/public/assets/{vennDiagram-DHZGUBPP-Davcm0TF.js → vennDiagram-DHZGUBPP-TX5D-Zzp.js} +1 -1
- package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-40LBYw_Y.js → wardleyDiagram-NUSXRM2D-B7mcpl5E.js} +1 -1
- package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-DEPT-__v.js → xychartDiagram-5P7HB3ND-DH77CxKf.js} +1 -1
- package/payload/server/public/brand/Archive/favicon.ico +0 -0
- package/payload/server/public/brand/Archive/maxy-black.png +0 -0
- package/payload/server/public/brand/Archive/maxy-horizontal.png +0 -0
- package/payload/server/public/brand/Archive/maxy-monochrome.png +0 -0
- package/payload/server/public/brand/Archive/maxy-square.png +0 -0
- package/payload/server/public/brand/Archive/maxy.png +0 -0
- package/payload/server/public/brand/Archive/star.png +0 -0
- package/payload/server/public/brand/Archive.zip +0 -0
- package/payload/server/public/data.html +5 -5
- package/payload/server/public/graph.html +6 -6
- package/payload/server/public/index.html +8 -8
- package/payload/server/public/public.html +5 -5
- package/payload/server/server.js +312 -793
- package/payload/server/public/assets/ChatInput-CvRaT05l.js +0 -13
- package/payload/server/public/assets/Checkbox-BJKNkUYu.js +0 -1
- package/payload/server/public/assets/admin-BNy4N2d6.js +0 -217
- package/payload/server/public/assets/channel-DdtUtt5g.js +0 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-CKk2DFZe.js +0 -1
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E--YvfDQCh.js +0 -1
- package/payload/server/public/assets/clone-Cw6UfPGM.js +0 -1
- package/payload/server/public/assets/data-uBpwaldK.js +0 -1
- package/payload/server/public/assets/graph-labels-Cn9jAE6I.js +0 -1
- package/payload/server/public/assets/graph-tvTPvBaz.js +0 -1
- package/payload/server/public/assets/lib-p4ylk2XS.js +0 -29
- package/payload/server/public/assets/page-B3VYaBcf.js +0 -1
- package/payload/server/public/assets/public-Bbew78md.js +0 -7
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-B2EzXi50.js +0 -1
- /package/payload/server/public/assets/{ChatInput-DzacFNMk.css → brand-DzacFNMk.css} +0 -0
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Render a JS-heavy page in the device's existing Chromium and return its DOM.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* Lifecycle (HTTP for target create/close, WebSocket for page control):
|
|
4
|
+
* This is the stateless retrieval path: each call creates its own blank target,
|
|
5
|
+
* navigates, reads the rendered DOM, and closes the target. Interactive
|
|
6
|
+
* automation (which keeps a page alive across calls) lives in cdp-actions.ts on
|
|
7
|
+
* a persistent BrowserSession. Both share the transport primitives in
|
|
8
|
+
* cdp-session.ts.
|
|
10
9
|
*
|
|
11
10
|
* PUT /json/new create a blank target, get its WS URL
|
|
12
11
|
* │
|
|
@@ -18,166 +17,8 @@
|
|
|
18
17
|
* │
|
|
19
18
|
* ▼
|
|
20
19
|
* PUT /json/close/<id> always, even on the error paths above
|
|
21
|
-
*
|
|
22
|
-
* `fetch` and `WebSocket` are injected so the unit tests drive every branch
|
|
23
|
-
* without a real browser; production passes the Node 22 globals.
|
|
24
20
|
*/
|
|
25
|
-
|
|
26
|
-
const DEFAULT_COMMAND_TIMEOUT_MS = 15_000;
|
|
27
|
-
/** Create a blank target via the CDP HTTP surface. Maps every transport
|
|
28
|
-
* failure to a structured outcome rather than throwing. */
|
|
29
|
-
async function createTarget(deps, timeoutMs) {
|
|
30
|
-
const endpoint = `http://${deps.cdpHost}:${deps.cdpPort}/json/new`;
|
|
31
|
-
let res;
|
|
32
|
-
try {
|
|
33
|
-
res = await deps.fetchImpl(endpoint, { method: "PUT", signal: AbortSignal.timeout(timeoutMs) });
|
|
34
|
-
}
|
|
35
|
-
catch (err) {
|
|
36
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
37
|
-
if (msg.includes("ECONNREFUSED") || msg.includes("fetch failed") || msg.includes("ENOTFOUND")) {
|
|
38
|
-
return { outcome: "cdp-unreachable", detail: msg };
|
|
39
|
-
}
|
|
40
|
-
return { outcome: "error", detail: msg };
|
|
41
|
-
}
|
|
42
|
-
if (!res.ok) {
|
|
43
|
-
const body = await res.text().catch(() => "<unreadable>");
|
|
44
|
-
return { outcome: "error", detail: `CDP /json/new returned ${res.status}: ${body.slice(0, 200)}` };
|
|
45
|
-
}
|
|
46
|
-
let parsed;
|
|
47
|
-
try {
|
|
48
|
-
parsed = (await res.json());
|
|
49
|
-
}
|
|
50
|
-
catch (err) {
|
|
51
|
-
return { outcome: "error", detail: `CDP /json/new response not JSON: ${err instanceof Error ? err.message : String(err)}` };
|
|
52
|
-
}
|
|
53
|
-
if (!parsed.id || !parsed.webSocketDebuggerUrl) {
|
|
54
|
-
return { outcome: "error", detail: `CDP /json/new missing id/webSocketDebuggerUrl: ${JSON.stringify(parsed).slice(0, 200)}` };
|
|
55
|
-
}
|
|
56
|
-
return { target: { id: parsed.id, webSocketDebuggerUrl: parsed.webSocketDebuggerUrl } };
|
|
57
|
-
}
|
|
58
|
-
/** Best-effort target close. Failure is logged, never surfaced as the render
|
|
59
|
-
* outcome — the DOM was already captured by the time this runs. */
|
|
60
|
-
async function closeTarget(deps, targetId) {
|
|
61
|
-
const endpoint = `http://${deps.cdpHost}:${deps.cdpPort}/json/close/${encodeURIComponent(targetId)}`;
|
|
62
|
-
try {
|
|
63
|
-
await deps.fetchImpl(endpoint, { method: "PUT", signal: AbortSignal.timeout(5_000) });
|
|
64
|
-
}
|
|
65
|
-
catch (err) {
|
|
66
|
-
deps.log(`[browser-render] target-close-failed id=${targetId} err=${JSON.stringify(err instanceof Error ? err.message : String(err))}`);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
/** Drives one CDP WebSocket session: correlates command ids to results and
|
|
70
|
-
* resolves a named event. Kept inside renderPage's closure scope so the
|
|
71
|
-
* socket, pending map, and event waiters share one lifetime. */
|
|
72
|
-
class CdpSession {
|
|
73
|
-
ws;
|
|
74
|
-
nextId = 1;
|
|
75
|
-
pending = new Map();
|
|
76
|
-
eventWaiters = new Map();
|
|
77
|
-
closed = false;
|
|
78
|
-
constructor(ws) {
|
|
79
|
-
this.ws = ws;
|
|
80
|
-
ws.addEventListener("message", (ev) => this.onMessage(ev.data));
|
|
81
|
-
ws.addEventListener("close", () => {
|
|
82
|
-
this.closed = true;
|
|
83
|
-
for (const { reject } of this.pending.values())
|
|
84
|
-
reject(new Error("websocket closed"));
|
|
85
|
-
this.pending.clear();
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
onMessage(data) {
|
|
89
|
-
if (typeof data !== "string")
|
|
90
|
-
return;
|
|
91
|
-
let msg;
|
|
92
|
-
try {
|
|
93
|
-
msg = JSON.parse(data);
|
|
94
|
-
}
|
|
95
|
-
catch {
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
if (typeof msg.id === "number") {
|
|
99
|
-
const waiter = this.pending.get(msg.id);
|
|
100
|
-
if (!waiter)
|
|
101
|
-
return;
|
|
102
|
-
this.pending.delete(msg.id);
|
|
103
|
-
if (msg.error)
|
|
104
|
-
waiter.reject(new Error(msg.error.message ?? "CDP command error"));
|
|
105
|
-
else
|
|
106
|
-
waiter.resolve(msg.result);
|
|
107
|
-
return;
|
|
108
|
-
}
|
|
109
|
-
if (msg.method) {
|
|
110
|
-
const waiter = this.eventWaiters.get(msg.method);
|
|
111
|
-
if (waiter) {
|
|
112
|
-
this.eventWaiters.delete(msg.method);
|
|
113
|
-
waiter(msg.params);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
command(method, params, timeoutMs) {
|
|
118
|
-
if (this.closed)
|
|
119
|
-
return Promise.reject(new Error("websocket closed"));
|
|
120
|
-
const id = this.nextId++;
|
|
121
|
-
return new Promise((resolve, reject) => {
|
|
122
|
-
const timer = setTimeout(() => {
|
|
123
|
-
this.pending.delete(id);
|
|
124
|
-
reject(new Error(`CDP ${method} timed out after ${timeoutMs}ms`));
|
|
125
|
-
}, timeoutMs);
|
|
126
|
-
this.pending.set(id, {
|
|
127
|
-
resolve: (v) => { clearTimeout(timer); resolve(v); },
|
|
128
|
-
reject: (e) => { clearTimeout(timer); reject(e); },
|
|
129
|
-
});
|
|
130
|
-
this.ws.send(JSON.stringify({ id, method, params }));
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
waitForEvent(method, timeoutMs) {
|
|
134
|
-
return new Promise((resolve, reject) => {
|
|
135
|
-
const timer = setTimeout(() => {
|
|
136
|
-
this.eventWaiters.delete(method);
|
|
137
|
-
reject(new Error(`event ${method} not received within ${timeoutMs}ms`));
|
|
138
|
-
}, timeoutMs);
|
|
139
|
-
this.eventWaiters.set(method, () => { clearTimeout(timer); resolve(); });
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
function openSocket(WebSocketImpl, url, timeoutMs) {
|
|
144
|
-
return new Promise((resolve) => {
|
|
145
|
-
let settled = false;
|
|
146
|
-
let ws;
|
|
147
|
-
try {
|
|
148
|
-
ws = new WebSocketImpl(url);
|
|
149
|
-
}
|
|
150
|
-
catch (err) {
|
|
151
|
-
resolve({ error: err instanceof Error ? err.message : String(err) });
|
|
152
|
-
return;
|
|
153
|
-
}
|
|
154
|
-
const timer = setTimeout(() => {
|
|
155
|
-
if (settled)
|
|
156
|
-
return;
|
|
157
|
-
settled = true;
|
|
158
|
-
try {
|
|
159
|
-
ws.close();
|
|
160
|
-
}
|
|
161
|
-
catch { /* ignore */ }
|
|
162
|
-
resolve({ error: `websocket open timed out after ${timeoutMs}ms` });
|
|
163
|
-
}, timeoutMs);
|
|
164
|
-
ws.addEventListener("open", () => {
|
|
165
|
-
if (settled)
|
|
166
|
-
return;
|
|
167
|
-
settled = true;
|
|
168
|
-
clearTimeout(timer);
|
|
169
|
-
resolve({ ws });
|
|
170
|
-
});
|
|
171
|
-
ws.addEventListener("error", (ev) => {
|
|
172
|
-
if (settled)
|
|
173
|
-
return;
|
|
174
|
-
settled = true;
|
|
175
|
-
clearTimeout(timer);
|
|
176
|
-
const detail = ev && typeof ev === "object" && "message" in ev ? String(ev.message) : "websocket error";
|
|
177
|
-
resolve({ error: detail });
|
|
178
|
-
});
|
|
179
|
-
});
|
|
180
|
-
}
|
|
21
|
+
import { CdpSession, closeTarget, createTarget, openSocket, DEFAULT_COMMAND_TIMEOUT_MS, DEFAULT_LOAD_TIMEOUT_MS, } from "./cdp-session.js";
|
|
181
22
|
/** Render `url` in the device Chromium and return its rendered DOM text.
|
|
182
23
|
* Always returns a structured RenderResult — never throws, never returns a
|
|
183
24
|
* silent empty page. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdp-render.js","sourceRoot":"","sources":["../../src/lib/cdp-render.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cdp-render.js","sourceRoot":"","sources":["../../src/lib/cdp-render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EACV,0BAA0B,EAC1B,uBAAuB,GAGxB,MAAM,kBAAkB,CAAC;AAyB1B;;yBAEyB;AACzB,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,GAAW,EACX,IAAmB,EACnB,IAAgB;IAEhB,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,uBAAuB,CAAC;IACpE,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,0BAA0B,CAAC;IAC7E,MAAM,IAAI,GAAG,CAAC,OAAsB,EAAE,MAAc,EAAgB,EAAE;QACpE,IAAI,CAAC,GAAG,CAAC,wBAAwB,GAAG,2BAA2B,OAAO,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3G,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IACpF,CAAC,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,uBAAuB,EAAE,iEAAiE,CAAC,CAAC;IAC1G,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,iBAAiB,EAAE,oCAAoC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtG,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC3D,IAAI,SAAS,IAAI,OAAO;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAE9B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;IACnG,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACtB,MAAM,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC,iBAAiB,EAAE,6BAA6B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,qBAAqB,EAAE,aAAa,CAAC,CAAC;QAC/E,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC,iBAAiB,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,CAAC;YACH,MAAM,WAAW,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC,cAAc,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,CACpC,kBAAkB,EAClB,EAAE,UAAU,EAAE,oCAAoC,EAAE,aAAa,EAAE,IAAI,EAAE,EACzE,gBAAgB,CACjB,CAAqC,CAAC;YACvC,IAAI,GAAG,OAAO,OAAO,EAAE,MAAM,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,MAAM,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,CACpC,kBAAkB,EAClB,EAAE,UAAU,EAAE,gDAAgD,EAAE,aAAa,EAAE,IAAI,EAAE,EACrF,gBAAgB,CACjB,CAAqC,CAAC;YACvC,IAAI,GAAG,OAAO,OAAO,EAAE,MAAM,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC,iBAAiB,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACnF,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,wBAAwB,GAAG,2BAA2B,QAAQ,EAAE,CAAC,CAAC;QAC3E,MAAM,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACtE,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Chrome DevTools Protocol primitives for the browser plugin.
|
|
3
|
+
*
|
|
4
|
+
* The brand's VNC Chromium is launched by platform/scripts/vnc.sh with
|
|
5
|
+
* `--remote-debugging-port=${CDP_PORT}`, so CDP listens on 127.0.0.1:<port>.
|
|
6
|
+
* Everything here attaches to that running browser — it never launches its own.
|
|
7
|
+
*
|
|
8
|
+
* Two consumers share these primitives:
|
|
9
|
+
* - cdp-render.ts → stateless one-shot render (create target, read DOM, close).
|
|
10
|
+
* - cdp-actions.ts → interactive automation driven through a persistent
|
|
11
|
+
* BrowserSession that keeps one target + websocket alive
|
|
12
|
+
* across tool calls.
|
|
13
|
+
*
|
|
14
|
+
* `fetch` and `WebSocket` are injected (CdpDeps) so unit tests drive every
|
|
15
|
+
* branch without a real browser; production passes the Node 22 globals.
|
|
16
|
+
*/
|
|
17
|
+
/** Minimal structural shape of the browser-style WebSocket this module uses.
|
|
18
|
+
* Both the Node 22 global and the test fake satisfy it. */
|
|
19
|
+
export interface MinimalWebSocket {
|
|
20
|
+
send(data: string): void;
|
|
21
|
+
close(): void;
|
|
22
|
+
addEventListener(type: "open", listener: () => void): void;
|
|
23
|
+
addEventListener(type: "message", listener: (ev: {
|
|
24
|
+
data: unknown;
|
|
25
|
+
}) => void): void;
|
|
26
|
+
addEventListener(type: "error", listener: (ev: unknown) => void): void;
|
|
27
|
+
addEventListener(type: "close", listener: () => void): void;
|
|
28
|
+
}
|
|
29
|
+
export type WebSocketCtor = new (url: string) => MinimalWebSocket;
|
|
30
|
+
export interface CdpDeps {
|
|
31
|
+
fetchImpl: typeof fetch;
|
|
32
|
+
/** The Node 22 global `WebSocket`, or undefined on a runtime that lacks it. */
|
|
33
|
+
WebSocketImpl: WebSocketCtor | undefined;
|
|
34
|
+
cdpHost: string;
|
|
35
|
+
cdpPort: number;
|
|
36
|
+
log: (line: string) => void;
|
|
37
|
+
}
|
|
38
|
+
export declare const DEFAULT_LOAD_TIMEOUT_MS = 30000;
|
|
39
|
+
export declare const DEFAULT_COMMAND_TIMEOUT_MS = 15000;
|
|
40
|
+
/** Transport-level outcomes shared by every CDP operation. The action layer
|
|
41
|
+
* adds its own operation-specific outcomes (selector-not-found, etc.). */
|
|
42
|
+
export type CdpOutcome = "ok" | "cdp-unreachable" | "websocket-unavailable" | "navigate-failed" | "load-timeout" | "evaluate-failed" | "command-timeout" | "session-lost" | "error";
|
|
43
|
+
export interface CdpTarget {
|
|
44
|
+
id: string;
|
|
45
|
+
webSocketDebuggerUrl: string;
|
|
46
|
+
}
|
|
47
|
+
/** Create a blank target via the CDP HTTP surface. Maps every transport
|
|
48
|
+
* failure to a structured outcome rather than throwing. */
|
|
49
|
+
export declare function createTarget(deps: CdpDeps, timeoutMs: number): Promise<{
|
|
50
|
+
target: CdpTarget;
|
|
51
|
+
} | {
|
|
52
|
+
outcome: CdpOutcome;
|
|
53
|
+
detail: string;
|
|
54
|
+
}>;
|
|
55
|
+
/** Best-effort target close. Failure is logged, never surfaced as an outcome. */
|
|
56
|
+
export declare function closeTarget(deps: CdpDeps, targetId: string): Promise<void>;
|
|
57
|
+
/** List the open page targets via the CDP HTTP surface. */
|
|
58
|
+
export declare function listTargets(deps: CdpDeps, timeoutMs: number): Promise<{
|
|
59
|
+
targets: Array<CdpTarget & {
|
|
60
|
+
url?: string;
|
|
61
|
+
title?: string;
|
|
62
|
+
type?: string;
|
|
63
|
+
}>;
|
|
64
|
+
} | {
|
|
65
|
+
outcome: CdpOutcome;
|
|
66
|
+
detail: string;
|
|
67
|
+
}>;
|
|
68
|
+
/**
|
|
69
|
+
* Drives one CDP WebSocket session: correlates command ids to results, resolves
|
|
70
|
+
* one-shot events (waitForEvent), and fans persistent events out to subscribers
|
|
71
|
+
* (subscribe) — the latter is what console buffering and dialog handling need.
|
|
72
|
+
*
|
|
73
|
+
* ws message ──▶ has id? ──yes──▶ resolve/reject pending command
|
|
74
|
+
* │no
|
|
75
|
+
* ▼
|
|
76
|
+
* has method? ──▶ one-shot waiter (consume) + every subscriber
|
|
77
|
+
*/
|
|
78
|
+
export declare class CdpSession {
|
|
79
|
+
private readonly ws;
|
|
80
|
+
private nextId;
|
|
81
|
+
private readonly pending;
|
|
82
|
+
private readonly eventWaiters;
|
|
83
|
+
private readonly subscribers;
|
|
84
|
+
private closed;
|
|
85
|
+
constructor(ws: MinimalWebSocket);
|
|
86
|
+
isClosed(): boolean;
|
|
87
|
+
private onMessage;
|
|
88
|
+
command(method: string, params: Record<string, unknown>, timeoutMs: number): Promise<unknown>;
|
|
89
|
+
waitForEvent(method: string, timeoutMs: number): Promise<void>;
|
|
90
|
+
/** Persistent subscription to a CDP event. Returns an unsubscribe function. */
|
|
91
|
+
subscribe(method: string, handler: (params: unknown) => void): () => void;
|
|
92
|
+
}
|
|
93
|
+
export declare function openSocket(WebSocketImpl: WebSocketCtor, url: string, timeoutMs: number): Promise<{
|
|
94
|
+
ws: MinimalWebSocket;
|
|
95
|
+
} | {
|
|
96
|
+
error: string;
|
|
97
|
+
}>;
|
|
98
|
+
/** What the dialog listener should do with the next javascript dialog. */
|
|
99
|
+
export interface DialogPolicy {
|
|
100
|
+
accept: boolean;
|
|
101
|
+
promptText?: string;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* A single live page driven across many tool calls.
|
|
105
|
+
*
|
|
106
|
+
* Lifecycle:
|
|
107
|
+
* attach() → create target, open ws, Page.enable + Runtime.enable, wire the
|
|
108
|
+
* console ring buffer and the dialog auto-responder.
|
|
109
|
+
* ensure() → return the live session, or null if the page died (ws closed:
|
|
110
|
+
* operator closed the tab, page crashed, browser restarted).
|
|
111
|
+
* close() → close the target and drop all state.
|
|
112
|
+
*
|
|
113
|
+
* The action layer treats a null ensure() as "session-lost" and tells the agent
|
|
114
|
+
* to navigate again — only navigate() re-attaches, so a dead page is never
|
|
115
|
+
* silently replaced by a blank one mid-action.
|
|
116
|
+
*/
|
|
117
|
+
export declare class BrowserSession {
|
|
118
|
+
private readonly deps;
|
|
119
|
+
private target;
|
|
120
|
+
private ws;
|
|
121
|
+
private session;
|
|
122
|
+
private readonly consoleRing;
|
|
123
|
+
private dialogPolicy;
|
|
124
|
+
private lastDialogUnhandled;
|
|
125
|
+
constructor(deps: CdpDeps);
|
|
126
|
+
/** The live session if the page is still alive, else null. */
|
|
127
|
+
ensure(): CdpSession | null;
|
|
128
|
+
/** Drop our handle on the current page (close the websocket) without closing
|
|
129
|
+
* the target itself — used when switching the active page to another tab so
|
|
130
|
+
* the previous tab stays open. */
|
|
131
|
+
private detachWs;
|
|
132
|
+
currentTargetId(): string | null;
|
|
133
|
+
setDialogPolicy(policy: DialogPolicy | null): void;
|
|
134
|
+
/** Drain the console ring buffer (returns and clears). */
|
|
135
|
+
drainConsole(): string[];
|
|
136
|
+
/** True (and resets) if a dialog fired with no policy armed. */
|
|
137
|
+
takeUnhandledDialogFlag(): boolean;
|
|
138
|
+
/**
|
|
139
|
+
* Attach a fresh target and wire console + dialog handling.
|
|
140
|
+
* Pass an existing target (from the tabs tool) to adopt it instead of creating one.
|
|
141
|
+
*/
|
|
142
|
+
attach(commandTimeoutMs: number, existing?: CdpTarget): Promise<{
|
|
143
|
+
session: CdpSession;
|
|
144
|
+
} | {
|
|
145
|
+
outcome: CdpOutcome;
|
|
146
|
+
detail: string;
|
|
147
|
+
}>;
|
|
148
|
+
close(commandTimeoutMs: number): Promise<void>;
|
|
149
|
+
private recordConsole;
|
|
150
|
+
private recordException;
|
|
151
|
+
private push;
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=cdp-session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cdp-session.d.ts","sourceRoot":"","sources":["../../src/lib/cdp-session.ts"],"names":[],"mappings":"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"}
|