agent-web-interface 4.0.0 → 4.0.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.
Files changed (43) hide show
  1. package/dist/src/index.js +9 -2
  2. package/dist/src/index.js.map +1 -1
  3. package/dist/src/lib/temp-file.d.ts +27 -0
  4. package/dist/src/lib/temp-file.d.ts.map +1 -0
  5. package/dist/src/lib/temp-file.js +55 -0
  6. package/dist/src/lib/temp-file.js.map +1 -0
  7. package/dist/src/screenshot/index.d.ts +10 -0
  8. package/dist/src/screenshot/index.d.ts.map +1 -0
  9. package/dist/src/screenshot/index.js +9 -0
  10. package/dist/src/screenshot/index.js.map +1 -0
  11. package/dist/src/screenshot/screenshot-capture.d.ts +50 -0
  12. package/dist/src/screenshot/screenshot-capture.d.ts.map +1 -0
  13. package/dist/src/screenshot/screenshot-capture.js +100 -0
  14. package/dist/src/screenshot/screenshot-capture.js.map +1 -0
  15. package/dist/src/server/mcp-server.d.ts.map +1 -1
  16. package/dist/src/server/mcp-server.js +25 -0
  17. package/dist/src/server/mcp-server.js.map +1 -1
  18. package/dist/src/state/state-manager.d.ts.map +1 -1
  19. package/dist/src/state/state-manager.js +31 -3
  20. package/dist/src/state/state-manager.js.map +1 -1
  21. package/dist/src/state/state-renderer.d.ts +10 -0
  22. package/dist/src/state/state-renderer.d.ts.map +1 -1
  23. package/dist/src/state/state-renderer.js +40 -12
  24. package/dist/src/state/state-renderer.js.map +1 -1
  25. package/dist/src/state/types.d.ts +4 -0
  26. package/dist/src/state/types.d.ts.map +1 -1
  27. package/dist/src/tools/browser-tools.d.ts +10 -0
  28. package/dist/src/tools/browser-tools.d.ts.map +1 -1
  29. package/dist/src/tools/browser-tools.js +37 -1
  30. package/dist/src/tools/browser-tools.js.map +1 -1
  31. package/dist/src/tools/index.d.ts +3 -2
  32. package/dist/src/tools/index.d.ts.map +1 -1
  33. package/dist/src/tools/index.js +6 -2
  34. package/dist/src/tools/index.js.map +1 -1
  35. package/dist/src/tools/tool-result.types.d.ts +46 -0
  36. package/dist/src/tools/tool-result.types.d.ts.map +1 -0
  37. package/dist/src/tools/tool-result.types.js +30 -0
  38. package/dist/src/tools/tool-result.types.js.map +1 -0
  39. package/dist/src/tools/tool-schemas.d.ts +83 -0
  40. package/dist/src/tools/tool-schemas.d.ts.map +1 -1
  41. package/dist/src/tools/tool-schemas.js +50 -0
  42. package/dist/src/tools/tool-schemas.js.map +1 -1
  43. package/package.json +1 -1
package/dist/src/index.js CHANGED
@@ -7,12 +7,13 @@
7
7
  import { BrowserAutomationServer } from './server/mcp-server.js';
8
8
  import { initServerConfig, getSessionManager, getServerConfig, ensureBrowserForTools, isSessionManagerInitialized, } from './server/server-config.js';
9
9
  import { getLogger } from './shared/services/logging.service.js';
10
+ import { cleanupTempFiles } from './lib/temp-file.js';
10
11
  const logger = getLogger();
11
12
  import { initializeTools, initializeFormTools,
12
13
  // Tool handlers
13
- listPages, closePage, closeSession, navigate, goBack, goForward, reload, captureSnapshot, findElements, getNodeDetails, scrollElementIntoView, scrollPage, click, type, press, select, hover, getFormUnderstanding, getFieldContext,
14
+ listPages, closePage, closeSession, navigate, goBack, goForward, reload, captureSnapshot, findElements, getNodeDetails, scrollElementIntoView, scrollPage, click, type, press, select, hover, getFormUnderstanding, getFieldContext, takeScreenshot,
14
15
  // Input schemas only (all outputs are XML strings now)
15
- ListPagesInputSchema, ClosePageInputSchema, CloseSessionInputSchema, NavigateInputSchema, GoBackInputSchema, GoForwardInputSchema, ReloadInputSchema, CaptureSnapshotInputSchema, FindElementsInputSchema, GetNodeDetailsInputSchema, ScrollElementIntoViewInputSchemaBase, ScrollPageInputSchema, ClickInputSchemaBase, TypeInputSchemaBase, PressInputSchema, SelectInputSchemaBase, HoverInputSchemaBase, GetFormUnderstandingInputSchema, GetFieldContextInputSchema, } from './tools/index.js';
16
+ ListPagesInputSchema, ClosePageInputSchema, CloseSessionInputSchema, NavigateInputSchema, GoBackInputSchema, GoForwardInputSchema, ReloadInputSchema, CaptureSnapshotInputSchema, FindElementsInputSchema, GetNodeDetailsInputSchema, ScrollElementIntoViewInputSchemaBase, ScrollPageInputSchema, ClickInputSchemaBase, TypeInputSchemaBase, PressInputSchema, SelectInputSchemaBase, HoverInputSchemaBase, GetFormUnderstandingInputSchema, GetFieldContextInputSchema, TakeScreenshotInputSchemaBase, } from './tools/index.js';
16
17
  /**
17
18
  * Wrap a tool handler with lazy browser initialization.
18
19
  * Works with both sync and async handlers - sync return values are automatically
@@ -120,6 +121,11 @@ function initializeServer() {
120
121
  description: 'Get complete details for one element: exact position, size, state, attributes. Use when you need more info than find_elements provides, like precise coordinates or full attribute list.',
121
122
  inputSchema: GetNodeDetailsInputSchema.shape,
122
123
  }, withLazyInit(getNodeDetails, 'get_element_details'));
124
+ server.registerTool('take_screenshot', {
125
+ title: 'Take Screenshot',
126
+ description: 'Capture a screenshot of the current page or a specific element. Returns the image directly for small screenshots (<2MB) or saves to a temp file for large ones. Use `eid` for element screenshots (requires a prior snapshot) or `fullPage: true` for full-page capture. Supports PNG (lossless, default) and JPEG (lossy with quality 0-100). Cannot combine eid and fullPage.',
127
+ inputSchema: TakeScreenshotInputSchemaBase.shape,
128
+ }, withLazyInit(takeScreenshot, 'take_screenshot'));
123
129
  // ============================================================================
124
130
  // INTERACTION TOOLS
125
131
  // ============================================================================
@@ -185,6 +191,7 @@ async function main() {
185
191
  console.error(`Shutting down... (${signal})`);
186
192
  void (async () => {
187
193
  try {
194
+ await cleanupTempFiles();
188
195
  // Shutdown browser session first (only if initialized)
189
196
  if (isSessionManagerInitialized()) {
190
197
  const session = getSessionManager();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;AAC3B,OAAO,EACL,eAAe,EACf,mBAAmB;AACnB,gBAAgB;AAChB,SAAS,EACT,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,SAAS,EACT,MAAM,EACN,eAAe,EACf,YAAY,EACZ,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,KAAK,EACL,IAAI,EACJ,KAAK,EACL,MAAM,EACN,KAAK,EACL,oBAAoB,EACpB,eAAe,EACf,cAAc;AACd,uDAAuD;AACvD,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,EACzB,oCAAoC,EACpC,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,+BAA+B,EAC/B,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC;AAE1B;;;;;GAKG;AACH,SAAS,YAAY,CACnB,OAAqC,EACrC,QAAiB;IAEjB,OAAO,KAAK,EAAE,KAAQ,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,qBAAqB,EAAE,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW;gBAC7B,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU;oBACtC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,QAAQ,CAAC;YACf,MAAM,CAAC,KAAK,CACV,qDAAqD,EACrD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAC1C;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI;gBACJ,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CACF,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB;IACvB,0DAA0D;IAC1D,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAExC,0BAA0B;IAC1B,uFAAuF;IACvF,2DAA2D;IAC3D,MAAM,MAAM,GAAG,IAAI,uBAAuB,CAAC;QACzC,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,uCAAuC;IACvC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAE7B,+EAA+E;IAC/E,gBAAgB;IAChB,+EAA+E;IAE/E,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,KAAK,EAAE,YAAY;QACnB,WAAW,EACT,2JAA2J;QAC7J,WAAW,EAAE,oBAAoB,CAAC,KAAK;KACxC,EACD,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,CACtC,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,+DAA+D;QAC5E,WAAW,EAAE,oBAAoB,CAAC,KAAK;KACxC,EACD,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,CACtC,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,mJAAmJ;QACrJ,WAAW,EAAE,uBAAuB,CAAC,KAAK;KAC3C,EACD,YAAY,CAAC,YAAY,EAAE,eAAe,CAAC,CAC5C,CAAC;IAEF,+EAA+E;IAC/E,mBAAmB;IACnB,+EAA+E;IAE/E,MAAM,CAAC,YAAY,CACjB,UAAU,EACV;QACE,KAAK,EAAE,UAAU;QACjB,WAAW,EACT,qIAAqI;QACvI,WAAW,EAAE,mBAAmB,CAAC,KAAK;KACvC,EACD,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CACnC,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,SAAS,EACT;QACE,KAAK,EAAE,SAAS;QAChB,WAAW,EACT,qGAAqG;QACvG,WAAW,EAAE,iBAAiB,CAAC,KAAK;KACrC,EACD,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAChC,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,wEAAwE;QACrF,WAAW,EAAE,oBAAoB,CAAC,KAAK;KACxC,EACD,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,CACtC,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,QAAQ,EACR;QACE,KAAK,EAAE,QAAQ;QACf,WAAW,EACT,6HAA6H;QAC/H,WAAW,EAAE,iBAAiB,CAAC,KAAK;KACrC,EACD,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAC/B,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,+NAA+N;QACjO,WAAW,EAAE,0BAA0B,CAAC,KAAK;KAC9C,EACD,YAAY,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAClD,CAAC;IAEF,+EAA+E;IAC/E,oBAAoB;IACpB,+EAA+E;IAE/E,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,8RAA8R;QAChS,WAAW,EAAE,uBAAuB,CAAC,KAAK;KAC3C,EACD,YAAY,CAAC,YAAY,EAAE,eAAe,CAAC,CAC5C,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EACT,0LAA0L;QAC5L,WAAW,EAAE,yBAAyB,CAAC,KAAK;KAC7C,EACD,YAAY,CAAC,cAAc,EAAE,qBAAqB,CAAC,CACpD,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EACT,iXAAiX;QACnX,WAAW,EAAE,6BAA6B,CAAC,KAAK;KACjD,EACD,YAAY,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAChD,CAAC;IAEF,+EAA+E;IAC/E,oBAAoB;IACpB,+EAA+E;IAE/E,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,KAAK,EAAE,0BAA0B;QACjC,WAAW,EACT,mIAAmI;QACrI,WAAW,EAAE,oCAAoC,CAAC,KAAK;KACxD,EACD,YAAY,CAAC,qBAAqB,EAAE,0BAA0B,CAAC,CAChE,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,uJAAuJ;QACzJ,WAAW,EAAE,qBAAqB,CAAC,KAAK;KACzC,EACD,YAAY,CAAC,UAAU,EAAE,aAAa,CAAC,CACxC,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,OAAO,EACP;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,sJAAsJ;QACxJ,WAAW,EAAE,oBAAoB,CAAC,KAAK;KACxC,EACD,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAC7B,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,MAAM,EACN;QACE,KAAK,EAAE,WAAW;QAClB,WAAW,EACT,qJAAqJ;QACvJ,WAAW,EAAE,mBAAmB,CAAC,KAAK;KACvC,EACD,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAC3B,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,OAAO,EACP;QACE,KAAK,EAAE,WAAW;QAClB,WAAW,EACT,kNAAkN;QACpN,WAAW,EAAE,gBAAgB,CAAC,KAAK;KACpC,EACD,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAC7B,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,QAAQ,EACR;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,6HAA6H;QAC/H,WAAW,EAAE,qBAAqB,CAAC,KAAK;KACzC,EACD,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAC/B,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,OAAO,EACP;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,wIAAwI;QAC1I,WAAW,EAAE,oBAAoB,CAAC,KAAK;KACxC,EACD,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAC7B,CAAC;IAEF,+EAA+E;IAC/E,2BAA2B;IAC3B,+EAA+E;IAE/E,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EACT,uNAAuN;QACzN,WAAW,EAAE,+BAA+B,CAAC,KAAK;KACnD,EACD,YAAY,CAAC,oBAAoB,EAAE,wBAAwB,CAAC,CAC7D,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EACT,gLAAgL;QAClL,WAAW,EAAE,0BAA0B,CAAC,KAAK;KAC9C,EACD,YAAY,CAAC,eAAe,EAAE,mBAAmB,CAAC,CACnD,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAClC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QAErB,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,CAAC,MAAsB,EAAE,EAAE;YAC1C,OAAO,CAAC,KAAK,CAAC,qBAAqB,MAAM,GAAG,CAAC,CAAC;YAC9C,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,IAAI,CAAC;oBACH,MAAM,gBAAgB,EAAE,CAAC;oBACzB,uDAAuD;oBACvD,IAAI,2BAA2B,EAAE,EAAE,CAAC;wBAClC,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;wBACpC,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;oBAC3B,CAAC;oBACD,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBAAC,OAAO,aAAa,EAAE,CAAC;oBACvB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,aAAa,CAAC,CAAC;oBACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,eAAe;AACf,KAAK,IAAI,EAAE,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Temp File Utility
3
+ *
4
+ * Writes binary data to temporary files with unique names.
5
+ * Used when tool results are too large for inline MCP responses.
6
+ */
7
+ /**
8
+ * Write base64-encoded data to a temporary file.
9
+ *
10
+ * @param base64Data - Base64-encoded file content
11
+ * @param extension - File extension without dot (e.g., 'png', 'jpg')
12
+ * @returns Absolute path to the written file
13
+ */
14
+ export declare function writeTempFile(base64Data: string, extension: string): Promise<string>;
15
+ /**
16
+ * Compute the byte size of base64-encoded data.
17
+ *
18
+ * @param base64 - Base64-encoded string
19
+ * @returns Size in bytes
20
+ */
21
+ export declare function computeBase64ByteSize(base64: string): number;
22
+ /**
23
+ * Clean up all temp files created during this session.
24
+ * Silently ignores files that have already been deleted.
25
+ */
26
+ export declare function cleanupTempFiles(): Promise<void>;
27
+ //# sourceMappingURL=temp-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"temp-file.d.ts","sourceRoot":"","sources":["../../../src/lib/temp-file.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ1F;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAK5D;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAUtD"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Temp File Utility
3
+ *
4
+ * Writes binary data to temporary files with unique names.
5
+ * Used when tool results are too large for inline MCP responses.
6
+ */
7
+ import { writeFile, unlink } from 'fs/promises';
8
+ import { tmpdir } from 'os';
9
+ import { join } from 'path';
10
+ import { randomBytes } from 'crypto';
11
+ /** Tracks all temp files created during the session */
12
+ const trackedFiles = new Set();
13
+ /**
14
+ * Write base64-encoded data to a temporary file.
15
+ *
16
+ * @param base64Data - Base64-encoded file content
17
+ * @param extension - File extension without dot (e.g., 'png', 'jpg')
18
+ * @returns Absolute path to the written file
19
+ */
20
+ export async function writeTempFile(base64Data, extension) {
21
+ const buffer = Buffer.from(base64Data, 'base64');
22
+ const filename = `screenshot-${randomBytes(6).toString('hex')}.${extension}`;
23
+ const filepath = join(tmpdir(), filename);
24
+ await writeFile(filepath, buffer);
25
+ trackedFiles.add(filepath);
26
+ return filepath;
27
+ }
28
+ /**
29
+ * Compute the byte size of base64-encoded data.
30
+ *
31
+ * @param base64 - Base64-encoded string
32
+ * @returns Size in bytes
33
+ */
34
+ export function computeBase64ByteSize(base64) {
35
+ let size = Math.floor((base64.length * 3) / 4);
36
+ if (base64.endsWith('=='))
37
+ size -= 2;
38
+ else if (base64.endsWith('='))
39
+ size -= 1;
40
+ return size;
41
+ }
42
+ /**
43
+ * Clean up all temp files created during this session.
44
+ * Silently ignores files that have already been deleted.
45
+ */
46
+ export async function cleanupTempFiles() {
47
+ const deletions = [...trackedFiles].map((filepath) => unlink(filepath).catch((err) => {
48
+ if (err.code !== 'ENOENT') {
49
+ console.warn(`[cleanup] Failed to delete temp file ${filepath}: ${err.message}`);
50
+ }
51
+ }));
52
+ await Promise.all(deletions);
53
+ trackedFiles.clear();
54
+ }
55
+ //# sourceMappingURL=temp-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"temp-file.js","sourceRoot":"","sources":["../../../src/lib/temp-file.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,uDAAuD;AACvD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAAkB,EAAE,SAAiB;IACvE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,cAAc,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,SAAS,EAAE,CAAC;IAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;IAE1C,MAAM,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAc;IAClD,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,IAAI,IAAI,CAAC,CAAC;SAChC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,IAAI,IAAI,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,SAAS,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,GAA0B,EAAE,EAAE;QACpD,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,wCAAwC,QAAQ,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACnF,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IACF,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7B,YAAY,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Screenshot Module
3
+ *
4
+ * Browser screenshot capture via CDP.
5
+ *
6
+ * @module screenshot
7
+ */
8
+ export { captureScreenshot, getElementBoundingBox } from './screenshot-capture.js';
9
+ export type { ScreenshotOptions } from './screenshot-capture.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/screenshot/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACnF,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Screenshot Module
3
+ *
4
+ * Browser screenshot capture via CDP.
5
+ *
6
+ * @module screenshot
7
+ */
8
+ export { captureScreenshot, getElementBoundingBox } from './screenshot-capture.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/screenshot/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Screenshot Capture Service
3
+ *
4
+ * Captures browser screenshots via CDP with support for:
5
+ * - Viewport screenshots (default)
6
+ * - Full page screenshots (beyond viewport)
7
+ * - Element screenshots (clipped to bounding box)
8
+ * - PNG and JPEG formats with quality control
9
+ * - Size-based inline vs file storage (2MB threshold)
10
+ *
11
+ * Uses `optimizeForSpeed: true` for faster encoding (matches chrome-devtools-mcp).
12
+ */
13
+ import type { CdpClient } from '../cdp/cdp-client.interface.js';
14
+ import type { Protocol } from 'devtools-protocol';
15
+ import type { ImageResult, FileResult } from '../tools/tool-result.types.js';
16
+ export interface ScreenshotOptions {
17
+ /** Image format (default: 'png') */
18
+ format?: 'png' | 'jpeg';
19
+ /** JPEG quality 0-100 (ignored for PNG) */
20
+ quality?: number;
21
+ /** Use faster encoding at cost of larger file size (default: true) */
22
+ optimizeForSpeed?: boolean;
23
+ /** Clip to specific viewport region (for element screenshots) */
24
+ clip?: Protocol.Page.Viewport;
25
+ /** Capture full page beyond visible viewport (default: false) */
26
+ captureBeyondViewport?: boolean;
27
+ }
28
+ /**
29
+ * Capture a screenshot via CDP `Page.captureScreenshot`.
30
+ *
31
+ * Returns an `ImageResult` (inline base64) if under 2MB,
32
+ * or a `FileResult` (temp file path) if 2MB or larger.
33
+ *
34
+ * @param cdp - CDP client for the target page
35
+ * @param options - Screenshot configuration
36
+ * @returns Image result for inline delivery, or file result for large screenshots
37
+ */
38
+ export declare function captureScreenshot(cdp: CdpClient, options?: ScreenshotOptions): Promise<ImageResult | FileResult>;
39
+ /**
40
+ * Get the bounding box of an element for clipped screenshots.
41
+ *
42
+ * Uses CDP `DOM.getBoxModel` to retrieve the content box coordinates.
43
+ *
44
+ * @param cdp - CDP client
45
+ * @param backendNodeId - CDP backend node ID of the target element
46
+ * @returns Viewport clip region suitable for `Page.captureScreenshot`
47
+ * @throws Error if element has no box model (e.g., `display: none`)
48
+ */
49
+ export declare function getElementBoundingBox(cdp: CdpClient, backendNodeId: number): Promise<Protocol.Page.Viewport>;
50
+ //# sourceMappingURL=screenshot-capture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenshot-capture.d.ts","sourceRoot":"","sources":["../../../src/screenshot/screenshot-capture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAK7E,MAAM,WAAW,iBAAiB;IAChC,oCAAoC;IACpC,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iEAAiE;IACjE,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC9B,iEAAiE;IACjE,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,SAAS,EACd,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,WAAW,GAAG,UAAU,CAAC,CA8CnC;AAED;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,SAAS,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAwBjC"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Screenshot Capture Service
3
+ *
4
+ * Captures browser screenshots via CDP with support for:
5
+ * - Viewport screenshots (default)
6
+ * - Full page screenshots (beyond viewport)
7
+ * - Element screenshots (clipped to bounding box)
8
+ * - PNG and JPEG formats with quality control
9
+ * - Size-based inline vs file storage (2MB threshold)
10
+ *
11
+ * Uses `optimizeForSpeed: true` for faster encoding (matches chrome-devtools-mcp).
12
+ */
13
+ import { writeTempFile, computeBase64ByteSize } from '../lib/temp-file.js';
14
+ /** Screenshots under this size are returned inline as base64 */
15
+ const INLINE_SIZE_THRESHOLD_BYTES = 2 * 1024 * 1024; // 2MB
16
+ /**
17
+ * Capture a screenshot via CDP `Page.captureScreenshot`.
18
+ *
19
+ * Returns an `ImageResult` (inline base64) if under 2MB,
20
+ * or a `FileResult` (temp file path) if 2MB or larger.
21
+ *
22
+ * @param cdp - CDP client for the target page
23
+ * @param options - Screenshot configuration
24
+ * @returns Image result for inline delivery, or file result for large screenshots
25
+ */
26
+ export async function captureScreenshot(cdp, options = {}) {
27
+ const format = options.format ?? 'png';
28
+ const mimeType = format === 'jpeg' ? 'image/jpeg' : 'image/png';
29
+ const params = {
30
+ format,
31
+ quality: format === 'jpeg' ? (options.quality ?? 80) : undefined,
32
+ optimizeForSpeed: options.optimizeForSpeed ?? true,
33
+ };
34
+ if (options.captureBeyondViewport) {
35
+ const metrics = await cdp.send('Page.getLayoutMetrics', undefined);
36
+ params.clip = {
37
+ x: 0,
38
+ y: 0,
39
+ width: metrics.cssContentSize.width,
40
+ height: metrics.cssContentSize.height,
41
+ scale: 1,
42
+ };
43
+ params.captureBeyondViewport = true;
44
+ }
45
+ else if (options.clip) {
46
+ params.clip = options.clip;
47
+ }
48
+ const response = await cdp.send('Page.captureScreenshot', params);
49
+ const base64Data = response.data;
50
+ const sizeBytes = computeBase64ByteSize(base64Data);
51
+ if (sizeBytes < INLINE_SIZE_THRESHOLD_BYTES) {
52
+ return {
53
+ type: 'image',
54
+ data: base64Data,
55
+ mimeType,
56
+ sizeBytes,
57
+ };
58
+ }
59
+ const extension = format === 'jpeg' ? 'jpg' : 'png';
60
+ const path = await writeTempFile(base64Data, extension);
61
+ return {
62
+ type: 'file',
63
+ path,
64
+ mimeType,
65
+ sizeBytes,
66
+ };
67
+ }
68
+ /**
69
+ * Get the bounding box of an element for clipped screenshots.
70
+ *
71
+ * Uses CDP `DOM.getBoxModel` to retrieve the content box coordinates.
72
+ *
73
+ * @param cdp - CDP client
74
+ * @param backendNodeId - CDP backend node ID of the target element
75
+ * @returns Viewport clip region suitable for `Page.captureScreenshot`
76
+ * @throws Error if element has no box model (e.g., `display: none`)
77
+ */
78
+ export async function getElementBoundingBox(cdp, backendNodeId) {
79
+ const response = await cdp.send('DOM.getBoxModel', { backendNodeId });
80
+ if (!response.model) {
81
+ throw new Error(`Element (backendNodeId=${backendNodeId}) has no box model — it may be hidden`);
82
+ }
83
+ // Content quad: [x1,y1, x2,y2, x3,y3, x4,y4]
84
+ // For axis-aligned elements: Top-left, Top-right, Bottom-right, Bottom-left
85
+ // For transformed elements (CSS rotate, etc.): corners may not be axis-aligned,
86
+ // so we compute the axis-aligned bounding box from all 4 corner points.
87
+ const q = response.model.content;
88
+ const xs = [q[0], q[2], q[4], q[6]];
89
+ const ys = [q[1], q[3], q[5], q[7]];
90
+ const minX = Math.min(...xs);
91
+ const minY = Math.min(...ys);
92
+ return {
93
+ x: Math.round(minX),
94
+ y: Math.round(minY),
95
+ width: Math.round(Math.max(...xs) - minX),
96
+ height: Math.round(Math.max(...ys) - minY),
97
+ scale: 1,
98
+ };
99
+ }
100
+ //# sourceMappingURL=screenshot-capture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screenshot-capture.js","sourceRoot":"","sources":["../../../src/screenshot/screenshot-capture.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../../src/server/mcp-server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,qBAAqB,EAC3B,MAAM,uCAAuC,CAAC;AAG/C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,qBAAqB;IAIvD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,SAAS,CAAuB;gBAEX,MAAM,EAAE,YAAY;IA8BjD;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,YAAY,CACV,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,WAAW,CAAC;QACzB,YAAY,CAAC,EAAE,WAAW,CAAC;KAC5B,EACD,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GAC5C,IAAI;IAuDP;;OAEG;IACG,kBAAkB,CAAC,MAAM,EAAE;QAC/B,KAAK,EAAE,QAAQ,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC/B,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAU/B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAG5B"}
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../../src/server/mcp-server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,qBAAqB,EAC3B,MAAM,uCAAuC,CAAC;AAI/C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,qBAAqB;IAIvD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,SAAS,CAAuB;gBAEX,MAAM,EAAE,YAAY;IA8BjD;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,YAAY,CACV,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,WAAW,CAAC;QACzB,YAAY,CAAC,EAAE,WAAW,CAAC;KAC5B,EACD,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GAC5C,IAAI;IAiFP;;OAEG;IACG,kBAAkB,CAAC,MAAM,EAAE;QAC/B,KAAK,EAAE,QAAQ,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC/B,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAU/B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAG5B"}
@@ -8,6 +8,7 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
8
8
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
9
9
  import { getLogger, } from '../shared/services/logging.service.js';
10
10
  import { SetLevelRequestSchema } from '@modelcontextprotocol/sdk/types.js';
11
+ import { isImageResult, isFileResult } from '../tools/tool-result.types.js';
11
12
  /**
12
13
  * Browser Automation MCP Server
13
14
  *
@@ -67,6 +68,30 @@ export class BrowserAutomationServer {
67
68
  const result = await handler(input);
68
69
  const executionTime = Date.now() - startTime;
69
70
  logger.debug(`Tool ${name} completed in ${executionTime}ms`);
71
+ // Image result - return as MCP ImageContent (inline base64)
72
+ if (isImageResult(result)) {
73
+ return {
74
+ content: [
75
+ {
76
+ type: 'image',
77
+ data: result.data,
78
+ mimeType: result.mimeType,
79
+ },
80
+ ],
81
+ };
82
+ }
83
+ // File result - return file path as text (for large screenshots)
84
+ if (isFileResult(result)) {
85
+ const sizeMB = (result.sizeBytes / 1024 / 1024).toFixed(2);
86
+ return {
87
+ content: [
88
+ {
89
+ type: 'text',
90
+ text: `Screenshot saved to: ${result.path} (${sizeMB} MB, ${result.mimeType})`,
91
+ },
92
+ ],
93
+ };
94
+ }
70
95
  // When outputSchema is defined, return structuredContent for MCP validation
71
96
  if (definition.outputSchema) {
72
97
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../../src/server/mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../../src/server/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"state-manager.d.ts","sourceRoot":"","sources":["../../../src/state/state-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAgB,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EACV,aAAa,EAIb,kBAAkB,EAOlB,aAAa,EACd,MAAM,YAAY,CAAC;AAQpB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AA0ExD;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,eAAe,CAAkB;IAEzC;;;;OAIG;gBACS,OAAO,EAAE;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;KACtC;IAaD;;;OAGG;IACH,kBAAkB,IAAI,eAAe;IAIrC;;;OAGG;IACH,mBAAmB,IAAI,YAAY,GAAG,IAAI;IAI1C;;;OAGG;IACH,cAAc,IAAI,MAAM;IAQxB;;;;;OAKG;IACH,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa;IAI1D;;;;;;OAMG;IACH,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa;IAgChF;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAyG1B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,eAAe;IAgBvB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA+C3B;;;OAGG;IACH,OAAO,CAAC,mCAAmC;IAsE3C;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAyC3B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAkFzB;;OAEG;IACH,OAAO,CAAC,cAAc;CAIvB"}
1
+ {"version":3,"file":"state-manager.d.ts","sourceRoot":"","sources":["../../../src/state/state-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAgB,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EACV,aAAa,EAIb,kBAAkB,EAOlB,aAAa,EACd,MAAM,YAAY,CAAC;AAQpB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AA0ExD;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,eAAe,CAAkB;IAEzC;;;;OAIG;gBACS,OAAO,EAAE;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;KACtC;IAcD;;;OAGG;IACH,kBAAkB,IAAI,eAAe;IAIrC;;;OAGG;IACH,mBAAmB,IAAI,YAAY,GAAG,IAAI;IAI1C;;;OAGG;IACH,cAAc,IAAI,MAAM;IAQxB;;;;;OAKG;IACH,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa;IAI1D;;;;;;OAMG;IACH,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa;IAkChF;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqH1B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,eAAe;IAgBvB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA+C3B;;;OAGG;IACH,OAAO,CAAC,mCAAmC;IAsE3C;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAyC3B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAkFzB;;OAEG;IACH,OAAO,CAAC,cAAc;CAIvB"}
@@ -17,7 +17,7 @@ import { linkObservationsToSnapshot } from '../observation/index.js';
17
17
  import { generateLocator } from './locator-generator.js';
18
18
  import { ElementRegistry } from './element-registry.js';
19
19
  import { validateSnapshotHealth, isErrorHealth } from '../snapshot/snapshot-health.js';
20
- import { renderStateXml } from './state-renderer.js';
20
+ import { renderStateXml, normalizeRegion } from './state-renderer.js';
21
21
  // ============================================================================
22
22
  // Default Configuration
23
23
  // ============================================================================
@@ -102,6 +102,7 @@ export class StateManager {
102
102
  currentSnapshot: null,
103
103
  previousSnapshot: null,
104
104
  currentDocId: null,
105
+ previousResponseRegions: null,
105
106
  config: { ...DEFAULT_CONFIG, ...options.config },
106
107
  };
107
108
  this.elementRegistry = new ElementRegistry();
@@ -169,6 +170,8 @@ export class StateManager {
169
170
  }
170
171
  catch (err) {
171
172
  // Error recovery: return baseline with error reason
173
+ // Clear dedup state to prevent stale comparisons after error recovery
174
+ this.context.previousResponseRegions = null;
172
175
  const errorMessage = err instanceof Error ? err.message : String(err);
173
176
  return this.createErrorBaseline('error', errorMessage);
174
177
  }
@@ -249,8 +252,17 @@ export class StateManager {
249
252
  if (snapshot.observations) {
250
253
  response.observations = snapshot.observations;
251
254
  }
252
- // Return dense XML representation
253
- return renderStateXml(response, options);
255
+ // Extract current region → eid mapping for deduplication
256
+ // NOTE: This must use the unfiltered actionables (before renderStateXml filters for diff mode)
257
+ const currentRegions = extractRegionEidMapping(actionables);
258
+ // Return dense XML representation with deduplication support
259
+ const xml = renderStateXml(response, {
260
+ ...options,
261
+ previousResponseRegions: this.context.previousResponseRegions ?? undefined,
262
+ });
263
+ // Update region map for next response (all responses update the map)
264
+ this.context.previousResponseRegions = currentRegions;
265
+ return xml;
254
266
  }
255
267
  /**
256
268
  * Get baseline decision info with reason.
@@ -581,6 +593,22 @@ function sanitizeHref(href) {
581
593
  // ============================================================================
582
594
  // Utilities
583
595
  // ============================================================================
596
+ /**
597
+ * Extract region → ordered eid list mapping from actionables.
598
+ */
599
+ function extractRegionEidMapping(actionables) {
600
+ const regions = new Map();
601
+ for (const item of actionables) {
602
+ const region = normalizeRegion(item.ctx.region);
603
+ let eids = regions.get(region);
604
+ if (!eids) {
605
+ eids = [];
606
+ regions.set(region, eids);
607
+ }
608
+ eids.push(item.eid);
609
+ }
610
+ return regions;
611
+ }
584
612
  /**
585
613
  * Compute document ID from snapshot.
586
614
  *
@@ -1 +1 @@
1
- {"version":3,"file":"state-manager.js","sourceRoot":"","sources":["../../../src/state/state-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state-manager.js","sourceRoot":"","sources":["../../../src/state/state-manager.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,16 @@ export declare function trimRegionElements(elements: ActionableInfo[], limits: {
23
23
  kept: ActionableInfo[];
24
24
  trimmedCount: number;
25
25
  };
26
+ /**
27
+ * Normalize region name. Maps 'unknown' to 'main' as the default region.
28
+ * Used by both the renderer grouping and the state-manager's region extraction
29
+ * to ensure deduplication comparisons use consistent keys.
30
+ */
31
+ export declare function normalizeRegion(region: string): string;
32
+ /**
33
+ * Check if two eid lists are exactly equal (same length, same values, same order).
34
+ */
35
+ export declare function areEidListsEqual(a: string[], b: string[]): boolean;
26
36
  /**
27
37
  * Render a StateResponseObject as a dense XML string.
28
38
  *
@@ -1 +1 @@
1
- {"version":3,"file":"state-renderer.d.ts","sourceRoot":"","sources":["../../../src/state/state-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACrF,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AA2B7F;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,cAAc,EAAE,EAC1B,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,cAAc,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CASlD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CAiG7F;AAkJD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAwB5E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,QAAQ,GAAG,OAAO,EACxB,MAAM,EAAE,MAAM,GACb,MAAM,EAAE,CA2BV"}
1
+ {"version":3,"file":"state-renderer.d.ts","sourceRoot":"","sources":["../../../src/state/state-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACrF,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AA2B7F;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,cAAc,EAAE,EAC1B,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,cAAc,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CASlD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAMlE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CA+G7F;AAiJD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAwB5E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,QAAQ,GAAG,OAAO,EACxB,MAAM,EAAE,MAAM,GACb,MAAM,EAAE,CA2BV"}