@snutils/snu 0.2.12 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/registry.js CHANGED
@@ -440,9 +440,10 @@ exports.TOOLS = [
440
440
  agentCommand: 'set_field',
441
441
  description: 'Set a field value on the active ServiceNow form via g_form.setValue (triggers client scripts and UI policies).',
442
442
  cliCommand: 'browser set',
443
- cliUsage: 'snu browser set <field> <value> [--display-value <v>] [--url <u>] [--tab <id>] [--instance <i>] [--json]',
443
+ cliUsage: 'snu browser set <field> <value> [--display-value <v>] [--focus] [--url <u>] [--tab <id>] [--instance <i>] [--json]',
444
444
  cliOptions: {
445
445
  'display-value': { type: 'string', short: 'd', description: 'Display value for reference fields' },
446
+ focus: { type: 'boolean', description: 'Bring the browser tab to the front' },
446
447
  url: { type: 'string', description: 'Target tab URL pattern' },
447
448
  tab: { type: 'string', description: 'Browser tab ID' },
448
449
  },
@@ -454,6 +455,7 @@ exports.TOOLS = [
454
455
  displayValue: { type: 'string', description: 'Optional display value for reference fields' },
455
456
  url: { type: 'string', description: 'Target tab URL pattern (optional)' },
456
457
  tabId: { type: 'integer', description: 'Specific browser tab ID (optional)' },
458
+ focus: { type: 'boolean', default: false, description: 'Bring the browser tab to the front. By default the tab stays in the background so the user can keep working' },
457
459
  instance: { type: 'string', description: 'Target instance name/folder (optional)' },
458
460
  },
459
461
  required: ['field', 'value'],
@@ -470,6 +472,7 @@ exports.TOOLS = [
470
472
  displayValue: input.displayValue || input['display-value'],
471
473
  url: input.url,
472
474
  tabId,
475
+ focus: input.focus === true,
473
476
  },
474
477
  };
475
478
  },
@@ -480,9 +483,10 @@ exports.TOOLS = [
480
483
  agentCommand: 'run_ui_action',
481
484
  description: 'Trigger a UI action on the form already open in the connected browser tab (e.g. "save", "submit", "sysverb_update"). This drives the live UI and is for exercising real form behaviour (client scripts, UI policies, business rules). It is NOT the way to create or update records as data: use snu_create_record and snu_update_record, which write through the REST API and are far more reliable.',
482
485
  cliCommand: 'browser action',
483
- cliUsage: 'snu browser action <action> [--no-suppress-dialogs] [--url <u>] [--tab <id>] [--instance <i>] [--json]',
486
+ cliUsage: 'snu browser action <action> [--no-suppress-dialogs] [--focus] [--url <u>] [--tab <id>] [--instance <i>] [--json]',
484
487
  cliOptions: {
485
488
  'no-suppress-dialogs': { type: 'boolean', description: 'Do not auto-confirm browser dialogs' },
489
+ focus: { type: 'boolean', description: 'Bring the browser tab to the front' },
486
490
  url: { type: 'string', description: 'Target tab URL pattern' },
487
491
  tab: { type: 'string', description: 'Browser tab ID' },
488
492
  },
@@ -493,6 +497,7 @@ exports.TOOLS = [
493
497
  suppressDialogs: { type: 'boolean', default: true, description: 'Auto-confirm browser dialogs' },
494
498
  url: { type: 'string', description: 'Target tab URL pattern (optional)' },
495
499
  tabId: { type: 'integer', description: 'Specific browser tab ID (optional)' },
500
+ focus: { type: 'boolean', default: false, description: 'Bring the browser tab to the front. By default the tab stays in the background so the user can keep working' },
496
501
  instance: { type: 'string', description: 'Target instance name/folder (optional)' },
497
502
  },
498
503
  required: ['uiAction'],
@@ -509,6 +514,7 @@ exports.TOOLS = [
509
514
  suppressDialogs: suppress,
510
515
  url: input.url,
511
516
  tabId,
517
+ focus: input.focus === true,
512
518
  },
513
519
  };
514
520
  },
@@ -519,9 +525,10 @@ exports.TOOLS = [
519
525
  agentCommand: 'navigate',
520
526
  description: 'Navigate connected ServiceNow browser tab to a URL and wait for page load to finish.',
521
527
  cliCommand: 'browser nav',
522
- cliUsage: 'snu browser nav <url> [--new-tab] [--no-wait] [--instance <i>] [--json]',
528
+ cliUsage: 'snu browser nav <url> [--new-tab] [--no-wait] [--focus] [--instance <i>] [--json]',
523
529
  cliOptions: {
524
530
  'new-tab': { type: 'boolean', short: 'n', description: 'Open in new tab' },
531
+ focus: { type: 'boolean', description: 'Bring the browser tab to the front' },
525
532
  'no-wait': { type: 'boolean', description: 'Do not wait for page load' },
526
533
  'no-discard-unsaved': { type: 'boolean', description: 'Do not bypass unsaved changes warnings' },
527
534
  tab: { type: 'string', description: 'Browser tab ID' },
@@ -534,6 +541,7 @@ exports.TOOLS = [
534
541
  newTab: { type: 'boolean', default: false, description: 'Open in a new tab instead of active tab' },
535
542
  waitForLoad: { type: 'boolean', default: true, description: 'Wait for page load event before returning' },
536
543
  discardUnsaved: { type: 'boolean', default: true, description: 'Bypass unsaved changes warnings' },
544
+ focus: { type: 'boolean', default: false, description: 'Bring the browser tab to the front. By default the tab stays in the background so the user can keep working' },
537
545
  instance: { type: 'string', description: 'Target instance name/folder (optional)' },
538
546
  },
539
547
  required: ['url'],
@@ -550,6 +558,7 @@ exports.TOOLS = [
550
558
  newTab: input.newTab === true || input['new-tab'] === true,
551
559
  waitForLoad: input.waitForLoad !== false && input['no-wait'] !== true,
552
560
  discardUnsaved: input.discardUnsaved !== false && input['no-discard-unsaved'] !== true,
561
+ focus: input.focus === true,
553
562
  },
554
563
  };
555
564
  },
@@ -560,8 +569,9 @@ exports.TOOLS = [
560
569
  agentCommand: 'take_screenshot',
561
570
  description: 'Capture a screenshot of a ServiceNow page tab (auto-routes between standard capture and debugger if available). Saves under workspace screenshots/.',
562
571
  cliCommand: 'screenshot',
563
- cliUsage: 'snu screenshot [--url <u>] [--tab <id>] [--file <name>] [--exact] [--instance <i>] [--json]',
572
+ cliUsage: 'snu screenshot [--url <u>] [--tab <id>] [--file <name>] [--exact] [--focus] [--instance <i>] [--json]',
564
573
  cliOptions: {
574
+ focus: { type: 'boolean', description: 'Leave the captured tab in front instead of switching back' },
565
575
  url: { type: 'string', short: 'u', description: 'URL pattern of tab to capture' },
566
576
  tab: { type: 'string', short: 't', description: 'Tab ID to capture' },
567
577
  file: { type: 'string', short: 'f', description: 'Custom PNG filename' },
@@ -574,6 +584,7 @@ exports.TOOLS = [
574
584
  tabId: { type: 'integer', description: 'Specific tab ID to capture' },
575
585
  fileName: { type: 'string', description: 'Optional custom filename (defaults to timestamped PNG)' },
576
586
  exactUrl: { type: 'boolean', default: false, description: 'Require exact URL match' },
587
+ focus: { type: 'boolean', default: false, description: 'Leave the captured tab in front afterwards. By default the capture switches back to the tab the user had open' },
577
588
  instance: { type: 'string', description: 'Target instance name/folder (optional)' },
578
589
  },
579
590
  anyOf: [{ required: ['url'] }, { required: ['tabId'] }],
@@ -589,6 +600,7 @@ exports.TOOLS = [
589
600
  tabId,
590
601
  fileName: input.fileName || input.file,
591
602
  exactUrl: input.exactUrl === true || input.exact === true,
603
+ focus: input.focus === true,
592
604
  },
593
605
  };
594
606
  },
@@ -709,6 +721,53 @@ exports.TOOLS = [
709
721
  };
710
722
  },
711
723
  },
724
+ // 17. Switch Context (update set / application scope / domain)
725
+ {
726
+ name: 'snu_switch_context',
727
+ agentCommand: 'switch_context',
728
+ description: "Switch the browser session's current update set, application scope or domain by sys_id. Uses the same picker API as the ServiceNow header (no form driving), so use it before snu_create_artifact or snu_update_record to make sure changes are captured in the right update set and application. Find the sys_id first with snu_query_records on sys_update_set, sys_scope or domain. One open ServiceNow tab is reloaded afterwards unless reloadTab is false.",
729
+ cliCommand: 'switch',
730
+ cliUsage: 'snu switch <updateset|application|domain> <sys_id> [--no-reload] [--tab-url <pattern>] [--instance <i>] [--json]',
731
+ cliOptions: {
732
+ 'no-reload': { type: 'boolean', description: 'Do not reload a ServiceNow tab after switching' },
733
+ 'tab-url': { type: 'string', description: 'URL pattern of the tab to reload (default: https://*.service-now.com/*)' },
734
+ },
735
+ inputSchema: {
736
+ type: 'object',
737
+ properties: {
738
+ switchType: { type: 'string', enum: ['updateset', 'application', 'domain'], description: 'What to switch: updateset, application (scope) or domain' },
739
+ value: { type: 'string', description: 'sys_id of the target update set, application (sys_scope) or domain' },
740
+ reloadTab: { type: 'boolean', default: true, description: 'Reload one open ServiceNow tab afterwards so the header reflects the change' },
741
+ tabUrl: { type: 'string', description: 'URL pattern of the tab to reload (default: https://*.service-now.com/*)' },
742
+ instance: { type: 'string', description: 'Target instance name/folder (optional)' },
743
+ },
744
+ required: ['switchType', 'value'],
745
+ additionalProperties: false,
746
+ },
747
+ mapInput: (input) => {
748
+ let switchType = String(input.switchType || input.type || '').trim().toLowerCase();
749
+ if (switchType === 'app' || switchType === 'scope')
750
+ switchType = 'application';
751
+ if (switchType === 'update_set' || switchType === 'update-set')
752
+ switchType = 'updateset';
753
+ if (!['updateset', 'application', 'domain'].includes(switchType)) {
754
+ throw new Error('Invalid switchType. Must be one of: updateset, application, domain');
755
+ }
756
+ const value = String(input.value ?? input.sysId ?? input.sys_id ?? '').trim();
757
+ if (!value)
758
+ throw new Error('Missing required value: the sys_id of the update set, application or domain');
759
+ return {
760
+ command: 'switch_context',
761
+ instance: input.instance,
762
+ params: {
763
+ switchType,
764
+ value,
765
+ reloadTab: input.reloadTab !== false && input['no-reload'] !== true,
766
+ tabUrl: input.tabUrl || input['tab-url'] || undefined,
767
+ },
768
+ };
769
+ },
770
+ },
712
771
  ];
713
772
  const toolMap = new Map();
714
773
  const cliMap = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,14 @@ import { StandaloneWsBridge } from './wsBridge.js';
2
2
  import { PendingRegistry } from './pendingRegistry.js';
3
3
  import { AgentRequest, AgentResponse } from '../types.js';
4
4
  import { SecurityGates } from './policy.js';
5
+ export declare const BROWSER_ACTIONS: {
6
+ readonly get_form_state: "agentGetFormState";
7
+ readonly set_field: "agentSetField";
8
+ readonly run_ui_action: "agentRunUiAction";
9
+ readonly navigate: "agentNavigate";
10
+ readonly take_screenshot: "takeScreenshot";
11
+ readonly switch_context: "switchContext";
12
+ };
5
13
  export declare const HELPER_CONNECT_GUIDANCE: string[];
6
14
  export declare function resolveMappedFileName(mapPath: string, rawName: string, sysId: string): {
7
15
  cleanName: string;
@@ -22,6 +30,8 @@ export declare class StandaloneDispatcher {
22
30
  private pending;
23
31
  private config;
24
32
  private pendingReviewRequests;
33
+ /** Pause before the single retry after E_SCREENSHOT_PERMISSION; tests shorten it. */
34
+ screenshotRetryDelayMs: number;
25
35
  private requestIdToCorrelationId;
26
36
  constructor(opts: StandaloneDispatcherOptions);
27
37
  getWorkspaceRoot(): string;
@@ -47,6 +57,7 @@ export declare class StandaloneDispatcher {
47
57
  settings: any;
48
58
  };
49
59
  cancel(requestId: string, reason?: string): void;
60
+ private captureScreenshot;
50
61
  dispatch(req: AgentRequest): Promise<AgentResponse>;
51
62
  }
52
63
  //# sourceMappingURL=dispatcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/server/dispatcher.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAA0B,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAoB,aAAa,EAAE,MAAM,aAAa,CAAC;AAiD9D,eAAO,MAAM,uBAAuB,UAInC,CAAC;AAwGF,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAoBxE;AAwBD,MAAM,WAAW,2BAA2B;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC,aAAa,GAAG;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAClE;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,qBAAqB,CAA6B;IAC1D,OAAO,CAAC,wBAAwB,CAA6B;gBAEjD,IAAI,EAAE,2BAA2B;IAO7C,gBAAgB,IAAI,MAAM;IAI1B,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,GAAG;IAkBxC,sBAAsB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;YAyDvC,yBAAyB;YAiDzB,sBAAsB;IA4BpC;;;;;;;OAOG;YACW,qBAAqB;IAmCnC,mBAAmB,IAAI,MAAM,EAAE;YAgBjB,aAAa;YAwKb,OAAO;IAoBrB,eAAe,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,GAAG,CAAA;KAAE;IAuF1F,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,SAAc,GAAG,IAAI;IAa/C,QAAQ,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;CAi8B1D"}
1
+ {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/server/dispatcher.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAA0B,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAoB,aAAa,EAAE,MAAM,aAAa,CAAC;AAc9D,eAAO,MAAM,eAAe;;;;;;;CAOlB,CAAC;AAmDX,eAAO,MAAM,uBAAuB,UAInC,CAAC;AAwGF,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAoBxE;AAwBD,MAAM,WAAW,2BAA2B;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC,aAAa,GAAG;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAClE;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,qBAAqB,CAA6B;IAC1D,qFAAqF;IACrF,sBAAsB,SAAU;IAChC,OAAO,CAAC,wBAAwB,CAA6B;gBAEjD,IAAI,EAAE,2BAA2B;IAO7C,gBAAgB,IAAI,MAAM;IAI1B,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,GAAG;IAkBxC,sBAAsB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;YAyDvC,yBAAyB;YAiDzB,sBAAsB;IA4BpC;;;;;;;OAOG;YACW,qBAAqB;IAmCnC,mBAAmB,IAAI,MAAM,EAAE;YAgBjB,aAAa;YAwKb,OAAO;IAoBrB,eAAe,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,GAAG,CAAA;KAAE;IAuF1F,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,SAAc,GAAG,IAAI;YAoBvC,iBAAiB;IA6EzB,QAAQ,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;CAg/B1D"}
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.StandaloneDispatcher = exports.HELPER_CONNECT_GUIDANCE = void 0;
36
+ exports.StandaloneDispatcher = exports.HELPER_CONNECT_GUIDANCE = exports.BROWSER_ACTIONS = void 0;
37
37
  exports.resolveMappedFileName = resolveMappedFileName;
38
38
  const authProbe_js_1 = require("./authProbe.js");
39
39
  const scopeDiscovery_js_1 = require("./scopeDiscovery.js");
@@ -48,6 +48,27 @@ const canonical_js_1 = require("./canonical.js");
48
48
  const types_js_1 = require("../types.js");
49
49
  const scopeResolver_js_1 = require("./scopeResolver.js");
50
50
  const FOLDERRECORDTABLES = ['sp_widget', 'sp_header_footer', 'sys_ui_page'];
51
+ // Helper tab action names this host sends for the browser-relayed commands.
52
+ // The helper tab dispatches on the exact string and drops an unknown action
53
+ // without answering, so a wrong name here only ever surfaces as E_TIMEOUT
54
+ // 70 seconds later (take_screenshot shipped as 'agentTakeScreenshot' and never
55
+ // worked in standalone mode). Keep in step with the dispatch chain in the
56
+ // extension's scriptsync.js; browserRelay.test.ts pins these values.
57
+ exports.BROWSER_ACTIONS = {
58
+ get_form_state: 'agentGetFormState',
59
+ set_field: 'agentSetField',
60
+ run_ui_action: 'agentRunUiAction',
61
+ navigate: 'agentNavigate',
62
+ take_screenshot: 'takeScreenshot',
63
+ switch_context: 'switchContext',
64
+ };
65
+ const SWITCH_CONTEXT_TYPES = ['updateset', 'application', 'domain'];
66
+ const SWITCH_CONTEXT_ALIASES = {
67
+ app: 'application',
68
+ scope: 'application',
69
+ update_set: 'updateset',
70
+ 'update-set': 'updateset',
71
+ };
51
72
  // Human labels + the environment variable each gate is *actually* read from in
52
73
  // config.ts. Deriving the variable name from the camelCase gate key produces
53
74
  // SNU_ALLOW_RESTREQUEST, which nothing reads, so an agent told to set it hits
@@ -253,6 +274,8 @@ class StandaloneDispatcher {
253
274
  pending;
254
275
  config;
255
276
  pendingReviewRequests = new Map(); // correlationId/requestId -> reviewId
277
+ /** Pause before the single retry after E_SCREENSHOT_PERMISSION; tests shorten it. */
278
+ screenshotRetryDelayMs = 10_000;
256
279
  requestIdToCorrelationId = new Map(); // requestId -> correlationId
257
280
  constructor(opts) {
258
281
  this.cwd = opts.cwd || process.cwd();
@@ -739,6 +762,88 @@ class StandaloneDispatcher {
739
762
  this.pending.cancel(requestId, reason);
740
763
  this.requestIdToCorrelationId.delete(requestId);
741
764
  }
765
+ // Screenshot round trip, mirroring the VS Code host: the helper answers a
766
+ // takeScreenshot with base64 PNG data and this side writes the file under
767
+ // <workspace>/screenshots. allowDebugger carries the user's browserDebugger
768
+ // gate so a tab without an activeTab grant can be captured through the
769
+ // Chrome debugger (Debug edition + Pro; the helper re-checks both). Without
770
+ // it, or when the debugger path is not available, the helper asks for the
771
+ // extension-icon click and this side retries once after a pause.
772
+ async captureScreenshot(req, correlationId) {
773
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);
774
+ let fileName = typeof req.params?.fileName === 'string' && req.params.fileName.trim()
775
+ ? req.params.fileName.trim()
776
+ : `screenshot_${timestamp}.png`;
777
+ if (!/\.png$/i.test(fileName))
778
+ fileName += '.png';
779
+ const savePath = safeJoinUnderRoot(this.cwd, 'screenshots', fileName);
780
+ const request = async (id, tabId) => {
781
+ const pendingPromise = this.pending.register({ id, command: req.command, timeoutMs: 70_000 });
782
+ this.ws.sendToBrowser({
783
+ action: exports.BROWSER_ACTIONS.take_screenshot,
784
+ agentRequestId: id,
785
+ url: req.params?.url,
786
+ tabId,
787
+ exactUrl: req.params?.exactUrl === true,
788
+ focus: req.params?.focus === true,
789
+ fileName,
790
+ savePath,
791
+ allowDebugger: this.config.gates.browserDebugger === true,
792
+ appName: 'SN Utils CLI',
793
+ });
794
+ try {
795
+ return await pendingPromise;
796
+ }
797
+ catch (err) {
798
+ // The bridge rejects a failed helper reply; a permission refusal is
799
+ // handled here (retry), so hand it back as a plain result.
800
+ if (err?.code === 'E_SCREENSHOT_PERMISSION') {
801
+ return {
802
+ success: false,
803
+ code: err.code,
804
+ error: err.message,
805
+ tabId: err.details?.tabId,
806
+ tabUrl: err.details?.tabUrl,
807
+ cdpFallbackAvailable: err.details?.cdpFallbackAvailable,
808
+ };
809
+ }
810
+ throw err;
811
+ }
812
+ };
813
+ let res = await request(correlationId, req.params?.tabId);
814
+ if (res?.code === 'E_SCREENSHOT_PERMISSION') {
815
+ // Give the user time to click the extension icon on the tab, then retry
816
+ // once on the tab the helper named.
817
+ await new Promise((resolve) => setTimeout(resolve, this.screenshotRetryDelayMs));
818
+ if (!this.ws.hasBrowserClient()) {
819
+ throw Object.assign(new Error('Browser helper disconnected while waiting for screenshot permission.'), { code: 'E_BROWSER_DISCONNECTED' });
820
+ }
821
+ res = await request(`${correlationId}_retry`, res.tabId ?? req.params?.tabId);
822
+ }
823
+ if (res?.code === 'E_SCREENSHOT_PERMISSION') {
824
+ throw Object.assign(new Error(res.error || 'Browser denied the screenshot (tab not capturable / permission).'), {
825
+ code: 'E_SCREENSHOT_PERMISSION',
826
+ details: { tabId: res.tabId, tabUrl: res.tabUrl, cdpFallbackAvailable: res.cdpFallbackAvailable === true },
827
+ });
828
+ }
829
+ if (res?.success === false) {
830
+ throw Object.assign(new Error(res.error || 'Screenshot failed'), { code: res.code || 'E_COMMAND_FAILED' });
831
+ }
832
+ if (typeof res?.imageData !== 'string' || !res.imageData) {
833
+ throw Object.assign(new Error('No image data received from browser'), { code: 'E_INTERNAL' });
834
+ }
835
+ fs.mkdirSync(path.dirname(savePath), { recursive: true });
836
+ fs.writeFileSync(savePath, Buffer.from(res.imageData, 'base64'));
837
+ return {
838
+ saved: true,
839
+ filePath: savePath,
840
+ fileName,
841
+ url: res.url || res.tabUrl || req.params?.url,
842
+ tabId: res.tabId ?? req.params?.tabId,
843
+ tabTitle: res.tabTitle,
844
+ capturedVia: res.capturedVia || 'activeTab',
845
+ };
846
+ }
742
847
  async dispatch(req) {
743
848
  const correlationId = `snu_req_${req.id}_${Date.now()}`;
744
849
  this.requestIdToCorrelationId.set(req.id, correlationId);
@@ -1620,16 +1725,55 @@ class StandaloneDispatcher {
1620
1725
  result: { status: res.status, data: res.data },
1621
1726
  };
1622
1727
  }
1623
- // Browser Form & UI Actions
1624
- if (['get_form_state', 'set_field', 'run_ui_action', 'navigate', 'take_screenshot'].includes(req.command)) {
1625
- const actionMap = {
1626
- get_form_state: 'agentGetFormState',
1627
- set_field: 'agentSetField',
1628
- run_ui_action: 'agentRunUiAction',
1629
- navigate: 'agentNavigate',
1630
- take_screenshot: 'agentTakeScreenshot',
1728
+ if (req.command === 'take_screenshot') {
1729
+ const result = await this.captureScreenshot(req, correlationId);
1730
+ return { id: req.id, command: req.command, status: 'success', timestamp: Date.now(), result };
1731
+ }
1732
+ // Session context switch: the helper PUTs to the same concourse picker
1733
+ // endpoint the header pickers use, so no form is driven. Needs the
1734
+ // instance session (url + g_ck), which is why it is not in the generic
1735
+ // browser relay below.
1736
+ if (req.command === 'switch_context') {
1737
+ const rawType = String(req.params?.switchType || '').trim().toLowerCase();
1738
+ const switchType = SWITCH_CONTEXT_ALIASES[rawType] || rawType;
1739
+ if (!SWITCH_CONTEXT_TYPES.includes(switchType)) {
1740
+ throw Object.assign(new Error(`Missing or invalid switchType. Must be one of: ${SWITCH_CONTEXT_TYPES.join(', ')}`), { code: 'E_INVALID_PARAMS' });
1741
+ }
1742
+ const value = String(req.params?.value ?? req.params?.sysId ?? req.params?.sys_id ?? '').trim();
1743
+ if (!value || /[\s\0]/.test(value)) {
1744
+ throw Object.assign(new Error('Missing required param: value (sys_id of the update set, application or domain)'), { code: 'E_INVALID_PARAMS' });
1745
+ }
1746
+ const pendingPromise = this.pending.register({ id: correlationId, command: req.command, timeoutMs: 70_000 });
1747
+ this.ws.sendToBrowser({
1748
+ action: exports.BROWSER_ACTIONS.switch_context,
1749
+ agentRequestId: correlationId,
1750
+ switchType,
1751
+ value,
1752
+ reloadTab: req.params?.reloadTab !== false,
1753
+ tabUrl: typeof req.params?.tabUrl === 'string' && req.params.tabUrl ? req.params.tabUrl : 'https://*.service-now.com/*',
1754
+ instance: inst.settings,
1755
+ appName: 'SN Utils CLI',
1756
+ });
1757
+ const res = await pendingPromise;
1758
+ if (res?.success === false) {
1759
+ throw Object.assign(new Error(res.error || `Could not switch ${switchType}`), { code: res.code || 'E_COMMAND_FAILED' });
1760
+ }
1761
+ return {
1762
+ id: req.id,
1763
+ command: req.command,
1764
+ status: 'success',
1765
+ timestamp: Date.now(),
1766
+ result: {
1767
+ switched: true,
1768
+ switchType: res?.switchType || switchType,
1769
+ value: res?.value || value,
1770
+ reloaded: res?.reloaded === true,
1771
+ },
1631
1772
  };
1632
- const action = actionMap[req.command];
1773
+ }
1774
+ // Browser Form & UI Actions
1775
+ if (['get_form_state', 'set_field', 'run_ui_action', 'navigate'].includes(req.command)) {
1776
+ const action = exports.BROWSER_ACTIONS[req.command];
1633
1777
  const pendingPromise = this.pending.register({ id: correlationId, command: req.command, timeoutMs: 70_000 });
1634
1778
  this.ws.sendToBrowser({
1635
1779
  action,