browser-debugger-cli 0.6.4 → 0.6.6
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/commands/__tests__/machineReadableHelp.contract.test.d.ts +12 -0
- package/dist/commands/__tests__/machineReadableHelp.contract.test.d.ts.map +1 -0
- package/dist/commands/__tests__/machineReadableHelp.contract.test.js +102 -0
- package/dist/commands/__tests__/machineReadableHelp.contract.test.js.map +1 -0
- package/dist/commands/cdp.js +8 -4
- package/dist/commands/cdp.js.map +1 -1
- package/dist/commands/console.d.ts.map +1 -1
- package/dist/commands/console.js +22 -2
- package/dist/commands/console.js.map +1 -1
- package/dist/commands/dom/a11y.d.ts.map +1 -1
- package/dist/commands/dom/a11y.js +83 -19
- package/dist/commands/dom/a11y.js.map +1 -1
- package/dist/commands/dom/evalHelpers.d.ts +1 -1
- package/dist/commands/dom/evalHelpers.d.ts.map +1 -1
- package/dist/commands/dom/evalHelpers.js +3 -2
- package/dist/commands/dom/evalHelpers.js.map +1 -1
- package/dist/commands/dom/formFillHelpers.d.ts +68 -2
- package/dist/commands/dom/formFillHelpers.d.ts.map +1 -1
- package/dist/commands/dom/formFillHelpers.js +240 -66
- package/dist/commands/dom/formFillHelpers.js.map +1 -1
- package/dist/commands/dom/formInteraction.d.ts.map +1 -1
- package/dist/commands/dom/formInteraction.js +128 -15
- package/dist/commands/dom/formInteraction.js.map +1 -1
- package/dist/commands/dom/helpers.d.ts +61 -2
- package/dist/commands/dom/helpers.d.ts.map +1 -1
- package/dist/commands/dom/helpers.js +103 -0
- package/dist/commands/dom/helpers.js.map +1 -1
- package/dist/commands/dom/index.d.ts.map +1 -1
- package/dist/commands/dom/index.js +135 -16
- package/dist/commands/dom/index.js.map +1 -1
- package/dist/commands/dom/keyMapping.d.ts +62 -0
- package/dist/commands/dom/keyMapping.d.ts.map +1 -0
- package/dist/commands/dom/keyMapping.js +118 -0
- package/dist/commands/dom/keyMapping.js.map +1 -0
- package/dist/commands/dom/reactEventHelpers.d.ts +10 -5
- package/dist/commands/dom/reactEventHelpers.d.ts.map +1 -1
- package/dist/commands/dom/reactEventHelpers.js +55 -13
- package/dist/commands/dom/reactEventHelpers.js.map +1 -1
- package/dist/commands/machineReadableHelp.d.ts +48 -0
- package/dist/commands/machineReadableHelp.d.ts.map +1 -1
- package/dist/commands/machineReadableHelp.js +80 -0
- package/dist/commands/machineReadableHelp.js.map +1 -1
- package/dist/commands/network.d.ts.map +1 -1
- package/dist/commands/network.js +28 -2
- package/dist/commands/network.js.map +1 -1
- package/dist/commands/peek.d.ts.map +1 -1
- package/dist/commands/peek.js +16 -7
- package/dist/commands/peek.js.map +1 -1
- package/dist/commands/shared/CommandRunner.d.ts +2 -0
- package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
- package/dist/commands/shared/CommandRunner.js +3 -0
- package/dist/commands/shared/CommandRunner.js.map +1 -1
- package/dist/commands/shared/validation.d.ts +2 -0
- package/dist/commands/shared/validation.d.ts.map +1 -1
- package/dist/commands/shared/validation.js +5 -2
- package/dist/commands/shared/validation.js.map +1 -1
- package/dist/commands/stop.d.ts.map +1 -1
- package/dist/commands/stop.js +2 -1
- package/dist/commands/stop.js.map +1 -1
- package/dist/commands/tail.d.ts.map +1 -1
- package/dist/commands/tail.js +6 -0
- package/dist/commands/tail.js.map +1 -1
- package/dist/connection/cdp.js +9 -9
- package/dist/constants.d.ts +5 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +9 -3
- package/dist/constants.js.map +1 -1
- package/dist/daemon/patternDefinitions.d.ts +47 -0
- package/dist/daemon/patternDefinitions.d.ts.map +1 -0
- package/dist/daemon/patternDefinitions.js +71 -0
- package/dist/daemon/patternDefinitions.js.map +1 -0
- package/dist/daemon/patternDetector.d.ts +60 -0
- package/dist/daemon/patternDetector.d.ts.map +1 -0
- package/dist/daemon/patternDetector.js +74 -0
- package/dist/daemon/patternDetector.js.map +1 -0
- package/dist/daemon/worker/__tests__/PatternDetector.unit.test.d.ts +11 -0
- package/dist/daemon/worker/__tests__/PatternDetector.unit.test.d.ts.map +1 -0
- package/dist/daemon/worker/__tests__/PatternDetector.unit.test.js +136 -0
- package/dist/daemon/worker/__tests__/PatternDetector.unit.test.js.map +1 -0
- package/dist/daemon/worker/commandRegistry.d.ts.map +1 -1
- package/dist/daemon/worker/commandRegistry.js +13 -2
- package/dist/daemon/worker/commandRegistry.js.map +1 -1
- package/dist/ipc/__tests__/jsonl.unit.test.js +5 -5
- package/dist/ipc/__tests__/jsonl.unit.test.js.map +1 -1
- package/dist/ipc/protocol/commands.d.ts +2 -0
- package/dist/ipc/protocol/commands.d.ts.map +1 -1
- package/dist/ipc/protocol/commands.js.map +1 -1
- package/dist/session/cleanup.d.ts.map +1 -1
- package/dist/session/cleanup.js +2 -0
- package/dist/session/cleanup.js.map +1 -1
- package/dist/session/queryCache.d.ts +35 -0
- package/dist/session/queryCache.d.ts.map +1 -0
- package/dist/session/queryCache.js +83 -0
- package/dist/session/queryCache.js.map +1 -0
- package/dist/telemetry/a11y.d.ts +8 -5
- package/dist/telemetry/a11y.d.ts.map +1 -1
- package/dist/telemetry/a11y.js +34 -19
- package/dist/telemetry/a11y.js.map +1 -1
- package/dist/types/dom.d.ts +9 -0
- package/dist/types/dom.d.ts.map +1 -1
- package/dist/ui/errors/CommandError.d.ts +5 -1
- package/dist/ui/errors/CommandError.d.ts.map +1 -1
- package/dist/ui/errors/CommandError.js.map +1 -1
- package/dist/ui/formatters/__tests__/preview.unit.test.d.ts +13 -0
- package/dist/ui/formatters/__tests__/preview.unit.test.d.ts.map +1 -0
- package/dist/ui/formatters/__tests__/preview.unit.test.js +180 -0
- package/dist/ui/formatters/__tests__/preview.unit.test.js.map +1 -0
- package/dist/ui/formatters/a11y.d.ts +19 -0
- package/dist/ui/formatters/a11y.d.ts.map +1 -1
- package/dist/ui/formatters/a11y.js +60 -0
- package/dist/ui/formatters/a11y.js.map +1 -1
- package/dist/ui/formatters/dom.d.ts.map +1 -1
- package/dist/ui/formatters/dom.js +5 -2
- package/dist/ui/formatters/dom.js.map +1 -1
- package/dist/ui/formatters/helpFormatters.d.ts +41 -0
- package/dist/ui/formatters/helpFormatters.d.ts.map +1 -0
- package/dist/ui/formatters/helpFormatters.js +80 -0
- package/dist/ui/formatters/helpFormatters.js.map +1 -0
- package/dist/ui/formatters/preview.d.ts +4 -0
- package/dist/ui/formatters/preview.d.ts.map +1 -1
- package/dist/ui/formatters/preview.js +91 -23
- package/dist/ui/formatters/preview.js.map +1 -1
- package/dist/ui/formatters/sessionFormatters.d.ts +58 -0
- package/dist/ui/formatters/sessionFormatters.d.ts.map +1 -0
- package/dist/ui/formatters/sessionFormatters.js +118 -0
- package/dist/ui/formatters/sessionFormatters.js.map +1 -0
- package/dist/ui/messages/commands.d.ts +9 -0
- package/dist/ui/messages/commands.d.ts.map +1 -1
- package/dist/ui/messages/commands.js +11 -1
- package/dist/ui/messages/commands.js.map +1 -1
- package/dist/ui/messages/errors.d.ts +53 -0
- package/dist/ui/messages/errors.d.ts.map +1 -1
- package/dist/ui/messages/errors.js +59 -0
- package/dist/ui/messages/errors.js.map +1 -1
- package/dist/ui/messages/hints.d.ts +33 -0
- package/dist/ui/messages/hints.d.ts.map +1 -0
- package/dist/ui/messages/hints.js +37 -0
- package/dist/ui/messages/hints.js.map +1 -0
- package/dist/ui/messages/session.d.ts +11 -1
- package/dist/ui/messages/session.d.ts.map +1 -1
- package/dist/ui/messages/session.js +14 -21
- package/dist/ui/messages/session.js.map +1 -1
- package/dist/utils/decisionTrees.d.ts +54 -0
- package/dist/utils/decisionTrees.d.ts.map +1 -0
- package/dist/utils/decisionTrees.js +176 -0
- package/dist/utils/decisionTrees.js.map +1 -0
- package/dist/utils/taskMappings.d.ts +47 -0
- package/dist/utils/taskMappings.d.ts.map +1 -0
- package/dist/utils/taskMappings.js +123 -0
- package/dist/utils/taskMappings.js.map +1 -0
- package/dist/utils/url.d.ts.map +1 -1
- package/dist/utils/url.js +15 -2
- package/dist/utils/url.js.map +1 -1
- package/package.json +3 -3
|
@@ -82,4 +82,63 @@ export function unknownError() {
|
|
|
82
82
|
export function invalidResponseError(reason) {
|
|
83
83
|
return `[bdg] Invalid response from daemon: ${reason}`;
|
|
84
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* Generate session not active error with state-aware suggestion.
|
|
87
|
+
*
|
|
88
|
+
* Provides context-appropriate guidance based on what operation was attempted.
|
|
89
|
+
*
|
|
90
|
+
* @param operation - Operation that was attempted (e.g., "peek", "dom query")
|
|
91
|
+
* @returns Formatted error message with suggestions
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* ```typescript
|
|
95
|
+
* throw new CommandError(
|
|
96
|
+
* sessionNotActiveError('peek'),
|
|
97
|
+
* {},
|
|
98
|
+
* EXIT_CODES.RESOURCE_NOT_FOUND
|
|
99
|
+
* );
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
export function sessionNotActiveError(operation) {
|
|
103
|
+
return joinLines(`Error: Cannot ${operation} - no active session`, '', 'Start a session first:', ' bdg <url>', '', 'Example:', ' bdg https://example.com', ` bdg ${operation}`);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Generate element not found error with CDP fallback.
|
|
107
|
+
*
|
|
108
|
+
* Provides guidance for when high-level DOM commands fail to find elements,
|
|
109
|
+
* including CDP alternatives for complex queries.
|
|
110
|
+
*
|
|
111
|
+
* @param selector - CSS selector that failed
|
|
112
|
+
* @returns Formatted error message with fallback suggestions
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```typescript
|
|
116
|
+
* throw new CommandError(
|
|
117
|
+
* elementNotFoundError('#missing-element'),
|
|
118
|
+
* { cdpAlternative: 'Use Runtime.evaluate for complex queries' },
|
|
119
|
+
* EXIT_CODES.RESOURCE_NOT_FOUND
|
|
120
|
+
* );
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
export function elementNotFoundError(selector) {
|
|
124
|
+
return joinLines(`Error: Element not found: ${selector}`, '', 'Suggestions:', ' - Check the selector syntax', ' - Wait for the element to load (page might still be loading)', ' - Use bdg peek to see if page loaded correctly', '', 'Advanced: Use CDP for complex queries:', ` bdg cdp Runtime.evaluate --params '{"expression":"document.querySelector('${selector}')"}'`);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Generate command requires session error.
|
|
128
|
+
*
|
|
129
|
+
* Generic error for commands that require an active session but one is not found.
|
|
130
|
+
* Provides clear guidance on starting a session.
|
|
131
|
+
*
|
|
132
|
+
* @param commandName - Name of command that was attempted
|
|
133
|
+
* @returns Formatted error message
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* ```typescript
|
|
137
|
+
* const error = commandRequiresSessionError('dom query');
|
|
138
|
+
* console.error(error);
|
|
139
|
+
* ```
|
|
140
|
+
*/
|
|
141
|
+
export function commandRequiresSessionError(commandName) {
|
|
142
|
+
return joinLines(`Error: '${commandName}' requires an active session`, '', 'Start a session:', ' bdg <url>', '', 'Check session status:', ' bdg status');
|
|
143
|
+
}
|
|
85
144
|
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/ui/messages/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/D;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,0BAA0B,CACxC,GAAW,EACX,QAAgB,EAChB,SAAkB;IAElB,OAAO,SAAS,CACd,EAAE,EACF,gCAAgC,EAChC,EAAE,EACF,eAAe,GAAG,EAAE,EACpB,SAAS,IAAI,eAAe,SAAS,EAAE,EACvC,eAAe,cAAc,CAAC,QAAQ,CAAC,EAAE,EACzC,EAAE,EACF,cAAc,EACd,gCAAgC,EAChC,2CAA2C,EAC3C,EAAE,CACH,CAAC;AACJ,CAAC;AAgBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAA4B;IAChE,OAAO,SAAS,CACd,2BAA2B,EAC3B,OAAO,EAAE,cAAc,IAAI,iCAAiC,EAC5D,OAAO,EAAE,SAAS,IAAI,eAAe,OAAO,CAAC,SAAS,EAAE,EACxD,EAAE,EACF,sBAAsB,EACtB,aAAa,EACb,OAAO,EAAE,aAAa,IAAI,EAAE,EAC5B,OAAO,EAAE,aAAa,IAAI,yBAAyB,EACnD,OAAO,EAAE,aAAa,IAAI,cAAc,EACxC,OAAO,EAAE,YAAY,IAAI,EAAE,EAC3B,OAAO,EAAE,YAAY,IAAI,gDAAgD,CAC1E,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,OAAgB;IAC5D,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,UAAU,OAAO,KAAK,OAAO,EAAE,CAAC;IACzC,CAAC;IACD,OAAO,UAAU,OAAO,EAAE,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,OAAO,uCAAuC,MAAM,EAAE,CAAC;AACzD,CAAC"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/ui/messages/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/D;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,0BAA0B,CACxC,GAAW,EACX,QAAgB,EAChB,SAAkB;IAElB,OAAO,SAAS,CACd,EAAE,EACF,gCAAgC,EAChC,EAAE,EACF,eAAe,GAAG,EAAE,EACpB,SAAS,IAAI,eAAe,SAAS,EAAE,EACvC,eAAe,cAAc,CAAC,QAAQ,CAAC,EAAE,EACzC,EAAE,EACF,cAAc,EACd,gCAAgC,EAChC,2CAA2C,EAC3C,EAAE,CACH,CAAC;AACJ,CAAC;AAgBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAA4B;IAChE,OAAO,SAAS,CACd,2BAA2B,EAC3B,OAAO,EAAE,cAAc,IAAI,iCAAiC,EAC5D,OAAO,EAAE,SAAS,IAAI,eAAe,OAAO,CAAC,SAAS,EAAE,EACxD,EAAE,EACF,sBAAsB,EACtB,aAAa,EACb,OAAO,EAAE,aAAa,IAAI,EAAE,EAC5B,OAAO,EAAE,aAAa,IAAI,yBAAyB,EACnD,OAAO,EAAE,aAAa,IAAI,cAAc,EACxC,OAAO,EAAE,YAAY,IAAI,EAAE,EAC3B,OAAO,EAAE,YAAY,IAAI,gDAAgD,CAC1E,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,OAAgB;IAC5D,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,UAAU,OAAO,KAAK,OAAO,EAAE,CAAC;IACzC,CAAC;IACD,OAAO,UAAU,OAAO,EAAE,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,OAAO,uCAAuC,MAAM,EAAE,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAiB;IACrD,OAAO,SAAS,CACd,iBAAiB,SAAS,sBAAsB,EAChD,EAAE,EACF,wBAAwB,EACxB,aAAa,EACb,EAAE,EACF,UAAU,EACV,2BAA2B,EAC3B,SAAS,SAAS,EAAE,CACrB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,OAAO,SAAS,CACd,6BAA6B,QAAQ,EAAE,EACvC,EAAE,EACF,cAAc,EACd,+BAA+B,EAC/B,gEAAgE,EAChE,kDAAkD,EAClD,EAAE,EACF,wCAAwC,EACxC,+EAA+E,QAAQ,OAAO,CAC/F,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,2BAA2B,CAAC,WAAmB;IAC7D,OAAO,SAAS,CACd,WAAW,WAAW,8BAA8B,EACpD,EAAE,EACF,kBAAkB,EAClB,aAAa,EACb,EAAE,EACF,uBAAuB,EACvB,cAAc,CACf,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime hint message generators.
|
|
3
|
+
*
|
|
4
|
+
* Provides formatted hint messages that guide agents toward more
|
|
5
|
+
* efficient command patterns during active sessions.
|
|
6
|
+
*/
|
|
7
|
+
import type { PatternDefinition } from '../../daemon/patternDefinitions.js';
|
|
8
|
+
/**
|
|
9
|
+
* Generate runtime pattern hint message.
|
|
10
|
+
*
|
|
11
|
+
* Creates a formatted hint suggesting a more efficient command alternative.
|
|
12
|
+
*
|
|
13
|
+
* @param pattern - Detected pattern with alternative suggestion
|
|
14
|
+
* @returns Formatted hint message
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* const hint = generatePatternHint(pattern);
|
|
19
|
+
* console.error(hint);
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare function generatePatternHint(pattern: PatternDefinition): string;
|
|
23
|
+
/**
|
|
24
|
+
* Generate hint for multiple Runtime.evaluate calls.
|
|
25
|
+
*
|
|
26
|
+
* Specialized hint for the common pattern of multiple evaluate calls
|
|
27
|
+
* that could be consolidated.
|
|
28
|
+
*
|
|
29
|
+
* @param count - Number of Runtime.evaluate calls detected
|
|
30
|
+
* @returns Formatted hint message
|
|
31
|
+
*/
|
|
32
|
+
export declare function generateMultipleEvaluateHint(count: number): string;
|
|
33
|
+
//# sourceMappingURL=hints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hints.d.ts","sourceRoot":"","sources":["../../../src/ui/messages/hints.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGxE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAMtE;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQlE"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime hint message generators.
|
|
3
|
+
*
|
|
4
|
+
* Provides formatted hint messages that guide agents toward more
|
|
5
|
+
* efficient command patterns during active sessions.
|
|
6
|
+
*/
|
|
7
|
+
import { joinLines } from '../../ui/formatting.js';
|
|
8
|
+
/**
|
|
9
|
+
* Generate runtime pattern hint message.
|
|
10
|
+
*
|
|
11
|
+
* Creates a formatted hint suggesting a more efficient command alternative.
|
|
12
|
+
*
|
|
13
|
+
* @param pattern - Detected pattern with alternative suggestion
|
|
14
|
+
* @returns Formatted hint message
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* const hint = generatePatternHint(pattern);
|
|
19
|
+
* console.error(hint);
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export function generatePatternHint(pattern) {
|
|
23
|
+
return joinLines('', `Hint: Consider using '${pattern.alternative}' instead of ${pattern.cdpMethods.join(' or ')}`, '');
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Generate hint for multiple Runtime.evaluate calls.
|
|
27
|
+
*
|
|
28
|
+
* Specialized hint for the common pattern of multiple evaluate calls
|
|
29
|
+
* that could be consolidated.
|
|
30
|
+
*
|
|
31
|
+
* @param count - Number of Runtime.evaluate calls detected
|
|
32
|
+
* @returns Formatted hint message
|
|
33
|
+
*/
|
|
34
|
+
export function generateMultipleEvaluateHint(count) {
|
|
35
|
+
return joinLines('', `Hint: Detected ${count} Runtime.evaluate calls`, ` Consider using 'bdg dom eval' for JavaScript execution`, ` Or 'bdg dom query' for DOM queries`, '');
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=hints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hints.js","sourceRoot":"","sources":["../../../src/ui/messages/hints.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAA0B;IAC5D,OAAO,SAAS,CACd,EAAE,EACF,yBAAyB,OAAO,CAAC,WAAW,gBAAgB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAC7F,EAAE,CACH,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAAC,KAAa;IACxD,OAAO,SAAS,CACd,EAAE,EACF,kBAAkB,KAAK,yBAAyB,EAChD,2DAA2D,EAC3D,uCAAuC,EACvC,EAAE,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -14,7 +14,17 @@ export interface LandingPageOptions {
|
|
|
14
14
|
/**
|
|
15
15
|
* Generate the landing page display for session start.
|
|
16
16
|
*
|
|
17
|
-
* Shows a clean, organized overview of available commands grouped by
|
|
17
|
+
* Shows a clean, organized overview of available commands grouped by priority.
|
|
18
|
+
* High-level commands are presented first to guide agents toward token-efficient
|
|
19
|
+
* wrappers before falling back to verbose CDP commands.
|
|
20
|
+
*
|
|
21
|
+
* Section order optimized for agent discoverability:
|
|
22
|
+
* 1. Common tasks with token savings estimates
|
|
23
|
+
* 2. Comprehensive domain command coverage (12+ commands)
|
|
24
|
+
* 3. Live monitoring capabilities
|
|
25
|
+
* 4. Session management
|
|
26
|
+
* 5. Advanced CDP access (positioned as fallback)
|
|
27
|
+
* 6. Discovery resources for agents
|
|
18
28
|
*
|
|
19
29
|
* @param options - Landing page options
|
|
20
30
|
* @returns Formatted landing page string
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/ui/messages/session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/ui/messages/session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAsB/D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC;AAEX;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtD"}
|
|
@@ -4,11 +4,22 @@
|
|
|
4
4
|
* Centralized location for all session UI text including landing pages,
|
|
5
5
|
* status displays, and session management messages.
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
7
|
+
import { buildCommonTasksSection, buildDomainCommandsSection, buildLiveMonitoringSection, buildSessionManagementSection, buildCdpSection, buildDiscoverySection, } from '../../ui/formatters/sessionFormatters.js';
|
|
8
|
+
import { joinLines } from '../../ui/formatting.js';
|
|
8
9
|
/**
|
|
9
10
|
* Generate the landing page display for session start.
|
|
10
11
|
*
|
|
11
|
-
* Shows a clean, organized overview of available commands grouped by
|
|
12
|
+
* Shows a clean, organized overview of available commands grouped by priority.
|
|
13
|
+
* High-level commands are presented first to guide agents toward token-efficient
|
|
14
|
+
* wrappers before falling back to verbose CDP commands.
|
|
15
|
+
*
|
|
16
|
+
* Section order optimized for agent discoverability:
|
|
17
|
+
* 1. Common tasks with token savings estimates
|
|
18
|
+
* 2. Comprehensive domain command coverage (12+ commands)
|
|
19
|
+
* 3. Live monitoring capabilities
|
|
20
|
+
* 4. Session management
|
|
21
|
+
* 5. Advanced CDP access (positioned as fallback)
|
|
22
|
+
* 6. Discovery resources for agents
|
|
12
23
|
*
|
|
13
24
|
* @param options - Landing page options
|
|
14
25
|
* @returns Formatted landing page string
|
|
@@ -23,25 +34,7 @@ import { section, joinLines } from '../../ui/formatting.js';
|
|
|
23
34
|
*/
|
|
24
35
|
export function landingPage(options) {
|
|
25
36
|
const { url } = options;
|
|
26
|
-
return joinLines('', '
|
|
27
|
-
'bdg cdp --list List all domains',
|
|
28
|
-
'bdg cdp Network --list List Network methods',
|
|
29
|
-
'bdg cdp --search cookie Search methods',
|
|
30
|
-
'bdg cdp runtime.evaluate --params \'{"expression":"document.title"}\'',
|
|
31
|
-
]), '', section('Live Monitoring:', [
|
|
32
|
-
'bdg peek Preview collected data (last 10 items)',
|
|
33
|
-
'bdg tail Continuous monitoring (live updates)',
|
|
34
|
-
'bdg details <type> <id> Full request/console details',
|
|
35
|
-
]), '', section('Domain Wrappers:', [
|
|
36
|
-
'bdg dom query <selector> Query DOM elements',
|
|
37
|
-
'bdg dom eval <js> Execute JavaScript',
|
|
38
|
-
]), '', section('Session:', [
|
|
39
|
-
'bdg status Check session state',
|
|
40
|
-
'bdg stop End session & save output',
|
|
41
|
-
]), '', section('Discovery (for AI agents):', [
|
|
42
|
-
'bdg --help --json Machine-readable schema (commands, options, exit codes)',
|
|
43
|
-
'.claude/skills/bdg/ Claude skill with 15+ recipes & patterns',
|
|
44
|
-
]), '');
|
|
37
|
+
return joinLines('', 'Session Started', '', `Target: ${url}`, '', buildCommonTasksSection(), '', buildDomainCommandsSection(), '', buildLiveMonitoringSection(), '', buildSessionManagementSection(), '', buildCdpSection(), '', buildDiscoverySection(), '');
|
|
45
38
|
}
|
|
46
39
|
/**
|
|
47
40
|
* Generate "session stopped" success message.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/ui/messages/session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/ui/messages/session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,0BAA0B,EAC1B,6BAA6B,EAC7B,eAAe,EACf,qBAAqB,GACtB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAU/C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,WAAW,CAAC,OAA2B;IACrD,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAExB,OAAO,SAAS,CACd,EAAE,EACF,iBAAiB,EACjB,EAAE,EACF,WAAW,GAAG,EAAE,EAChB,EAAE,EACF,uBAAuB,EAAE,EACzB,EAAE,EACF,0BAA0B,EAAE,EAC5B,EAAE,EACF,0BAA0B,EAAE,EAC5B,EAAE,EACF,6BAA6B,EAAE,EAC/B,EAAE,EACF,eAAe,EAAE,EACjB,EAAE,EACF,qBAAqB,EAAE,EACvB,EAAE,CACH,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,UAAkB;IAC/C,OAAO,qCAAqC,UAAU,EAAE,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE,8BAA8B;IACvC,UAAU,EAAE,yBAAyB;IACrC,MAAM,EAAE,wBAAwB;IAChC,kBAAkB,EAAE,oBAAoB;CAChC,CAAC;AAEX;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,OAAO,wBAAwB,MAAM,EAAE,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Decision tree definitions for intent-based command discovery.
|
|
3
|
+
*
|
|
4
|
+
* Provides structured guidance trees that help agents navigate
|
|
5
|
+
* from high-level intents to specific commands through question-based flow.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Decision tree node representing a question and actions.
|
|
9
|
+
*/
|
|
10
|
+
export interface DecisionTreeNode {
|
|
11
|
+
/** Question to determine next action */
|
|
12
|
+
question: string;
|
|
13
|
+
/** Command to execute if answer is yes */
|
|
14
|
+
yesCommand: string;
|
|
15
|
+
/** Next action if answer is no (command name or "next" to continue) */
|
|
16
|
+
noAction: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Complete decision tree for a specific intent domain.
|
|
20
|
+
*/
|
|
21
|
+
export interface DecisionTree {
|
|
22
|
+
/** High-level intent this tree addresses */
|
|
23
|
+
intent: string;
|
|
24
|
+
/** Ordered sequence of decision nodes */
|
|
25
|
+
steps: DecisionTreeNode[];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Decision tree registry mapping intent domains to guidance flows.
|
|
29
|
+
*/
|
|
30
|
+
export declare const DECISION_TREES: Record<string, DecisionTree>;
|
|
31
|
+
/**
|
|
32
|
+
* Get decision tree by domain key.
|
|
33
|
+
*
|
|
34
|
+
* @param treeKey - Decision tree identifier
|
|
35
|
+
* @returns Decision tree if found, undefined otherwise
|
|
36
|
+
*/
|
|
37
|
+
export declare function getDecisionTree(treeKey: string): DecisionTree | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Get all decision trees.
|
|
40
|
+
*
|
|
41
|
+
* @returns Complete decision tree registry
|
|
42
|
+
*/
|
|
43
|
+
export declare function getAllDecisionTrees(): Record<string, DecisionTree>;
|
|
44
|
+
/**
|
|
45
|
+
* Search decision trees by intent keyword.
|
|
46
|
+
*
|
|
47
|
+
* @param keyword - Search term (case-insensitive)
|
|
48
|
+
* @returns Matching decision trees with keys
|
|
49
|
+
*/
|
|
50
|
+
export declare function searchDecisionTrees(keyword: string): Array<{
|
|
51
|
+
key: string;
|
|
52
|
+
tree: DecisionTree;
|
|
53
|
+
}>;
|
|
54
|
+
//# sourceMappingURL=decisionTrees.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decisionTrees.d.ts","sourceRoot":"","sources":["../../src/utils/decisionTrees.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CA4IvD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEzE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAElE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC,CAK/F"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Decision tree definitions for intent-based command discovery.
|
|
3
|
+
*
|
|
4
|
+
* Provides structured guidance trees that help agents navigate
|
|
5
|
+
* from high-level intents to specific commands through question-based flow.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Decision tree registry mapping intent domains to guidance flows.
|
|
9
|
+
*/
|
|
10
|
+
export const DECISION_TREES = {
|
|
11
|
+
dom_interaction: {
|
|
12
|
+
intent: 'Interact with page elements and DOM',
|
|
13
|
+
steps: [
|
|
14
|
+
{
|
|
15
|
+
question: 'Need to capture a screenshot?',
|
|
16
|
+
yesCommand: 'dom screenshot',
|
|
17
|
+
noAction: 'next',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
question: 'Need to query/find elements?',
|
|
21
|
+
yesCommand: 'dom query',
|
|
22
|
+
noAction: 'next',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
question: 'Need to get detailed element information?',
|
|
26
|
+
yesCommand: 'dom get',
|
|
27
|
+
noAction: 'next',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
question: 'Need to fill form input?',
|
|
31
|
+
yesCommand: 'dom fill',
|
|
32
|
+
noAction: 'next',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
question: 'Need to click an element?',
|
|
36
|
+
yesCommand: 'dom click',
|
|
37
|
+
noAction: 'next',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
question: 'Need to press a key (Enter, Tab, Escape)?',
|
|
41
|
+
yesCommand: 'dom pressKey',
|
|
42
|
+
noAction: 'next',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
question: 'Need to execute custom JavaScript?',
|
|
46
|
+
yesCommand: 'dom eval',
|
|
47
|
+
noAction: 'next',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
question: 'Need accessibility tree?',
|
|
51
|
+
yesCommand: 'dom a11y',
|
|
52
|
+
noAction: 'cdp',
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
},
|
|
56
|
+
network_inspection: {
|
|
57
|
+
intent: 'Inspect network traffic and requests',
|
|
58
|
+
steps: [
|
|
59
|
+
{
|
|
60
|
+
question: 'Need to export all traffic as HAR file?',
|
|
61
|
+
yesCommand: 'network har',
|
|
62
|
+
noAction: 'next',
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
question: 'Need to get cookies?',
|
|
66
|
+
yesCommand: 'network getCookies',
|
|
67
|
+
noAction: 'next',
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
question: 'Need HTTP headers for specific request?',
|
|
71
|
+
yesCommand: 'network headers',
|
|
72
|
+
noAction: 'next',
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
question: 'Need full request/response details?',
|
|
76
|
+
yesCommand: 'details network',
|
|
77
|
+
noAction: 'cdp',
|
|
78
|
+
},
|
|
79
|
+
],
|
|
80
|
+
},
|
|
81
|
+
console_inspection: {
|
|
82
|
+
intent: 'Inspect console logs and messages',
|
|
83
|
+
steps: [
|
|
84
|
+
{
|
|
85
|
+
question: 'Need to query/filter console logs?',
|
|
86
|
+
yesCommand: 'console query',
|
|
87
|
+
noAction: 'next',
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
question: 'Need full console message details?',
|
|
91
|
+
yesCommand: 'details console',
|
|
92
|
+
noAction: 'cdp',
|
|
93
|
+
},
|
|
94
|
+
],
|
|
95
|
+
},
|
|
96
|
+
data_monitoring: {
|
|
97
|
+
intent: 'Monitor and preview collected data',
|
|
98
|
+
steps: [
|
|
99
|
+
{
|
|
100
|
+
question: 'Need real-time live updates?',
|
|
101
|
+
yesCommand: 'peek --follow',
|
|
102
|
+
noAction: 'next',
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
question: 'Need continuous monitoring (like tail -f)?',
|
|
106
|
+
yesCommand: 'tail',
|
|
107
|
+
noAction: 'next',
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
question: 'Need quick preview of recent data?',
|
|
111
|
+
yesCommand: 'peek',
|
|
112
|
+
noAction: 'next',
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
question: 'Need detailed item inspection?',
|
|
116
|
+
yesCommand: 'details',
|
|
117
|
+
noAction: 'status',
|
|
118
|
+
},
|
|
119
|
+
],
|
|
120
|
+
},
|
|
121
|
+
session_management: {
|
|
122
|
+
intent: 'Manage browser session lifecycle',
|
|
123
|
+
steps: [
|
|
124
|
+
{
|
|
125
|
+
question: 'Starting a new session?',
|
|
126
|
+
yesCommand: 'bdg <url>',
|
|
127
|
+
noAction: 'next',
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
question: 'Need to check session status?',
|
|
131
|
+
yesCommand: 'status',
|
|
132
|
+
noAction: 'next',
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
question: 'Ready to end session and save output?',
|
|
136
|
+
yesCommand: 'stop',
|
|
137
|
+
noAction: 'next',
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
question: 'Need to clean up stale sessions?',
|
|
141
|
+
yesCommand: 'cleanup',
|
|
142
|
+
noAction: 'help',
|
|
143
|
+
},
|
|
144
|
+
],
|
|
145
|
+
},
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* Get decision tree by domain key.
|
|
149
|
+
*
|
|
150
|
+
* @param treeKey - Decision tree identifier
|
|
151
|
+
* @returns Decision tree if found, undefined otherwise
|
|
152
|
+
*/
|
|
153
|
+
export function getDecisionTree(treeKey) {
|
|
154
|
+
return DECISION_TREES[treeKey];
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Get all decision trees.
|
|
158
|
+
*
|
|
159
|
+
* @returns Complete decision tree registry
|
|
160
|
+
*/
|
|
161
|
+
export function getAllDecisionTrees() {
|
|
162
|
+
return DECISION_TREES;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Search decision trees by intent keyword.
|
|
166
|
+
*
|
|
167
|
+
* @param keyword - Search term (case-insensitive)
|
|
168
|
+
* @returns Matching decision trees with keys
|
|
169
|
+
*/
|
|
170
|
+
export function searchDecisionTrees(keyword) {
|
|
171
|
+
const lowerKeyword = keyword.toLowerCase();
|
|
172
|
+
return Object.entries(DECISION_TREES)
|
|
173
|
+
.filter(([, tree]) => tree.intent.toLowerCase().includes(lowerKeyword))
|
|
174
|
+
.map(([key, tree]) => ({ key, tree }));
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=decisionTrees.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decisionTrees.js","sourceRoot":"","sources":["../../src/utils/decisionTrees.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task-to-command mapping definitions for agent discovery.
|
|
3
|
+
*
|
|
4
|
+
* Provides intent-based guidance mapping common automation tasks
|
|
5
|
+
* to efficient high-level commands with CDP alternatives.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Task mapping from intent to command.
|
|
9
|
+
*/
|
|
10
|
+
export interface TaskMapping {
|
|
11
|
+
/** High-level commands that accomplish this task */
|
|
12
|
+
commands: string[];
|
|
13
|
+
/** Human-readable task description */
|
|
14
|
+
description: string;
|
|
15
|
+
/** CDP alternative method(s) */
|
|
16
|
+
cdpAlternative: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Complete task mapping registry.
|
|
20
|
+
*
|
|
21
|
+
* Maps common automation intents to optimal command patterns.
|
|
22
|
+
*/
|
|
23
|
+
export declare const TASK_MAPPINGS: Record<string, TaskMapping>;
|
|
24
|
+
/**
|
|
25
|
+
* Get task mapping by key.
|
|
26
|
+
*
|
|
27
|
+
* @param taskKey - Task identifier
|
|
28
|
+
* @returns Task mapping if found, undefined otherwise
|
|
29
|
+
*/
|
|
30
|
+
export declare function getTaskMapping(taskKey: string): TaskMapping | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* Get all task mappings.
|
|
33
|
+
*
|
|
34
|
+
* @returns Complete task mapping registry
|
|
35
|
+
*/
|
|
36
|
+
export declare function getAllTaskMappings(): Record<string, TaskMapping>;
|
|
37
|
+
/**
|
|
38
|
+
* Search task mappings by description keyword.
|
|
39
|
+
*
|
|
40
|
+
* @param keyword - Search term (case-insensitive)
|
|
41
|
+
* @returns Matching task mappings with keys
|
|
42
|
+
*/
|
|
43
|
+
export declare function searchTaskMappings(keyword: string): Array<{
|
|
44
|
+
key: string;
|
|
45
|
+
mapping: TaskMapping;
|
|
46
|
+
}>;
|
|
47
|
+
//# sourceMappingURL=taskMappings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taskMappings.d.ts","sourceRoot":"","sources":["../../src/utils/taskMappings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,oDAAoD;IACpD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAgGrD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAAC,CAKhG"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task-to-command mapping definitions for agent discovery.
|
|
3
|
+
*
|
|
4
|
+
* Provides intent-based guidance mapping common automation tasks
|
|
5
|
+
* to efficient high-level commands with CDP alternatives.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Complete task mapping registry.
|
|
9
|
+
*
|
|
10
|
+
* Maps common automation intents to optimal command patterns.
|
|
11
|
+
*/
|
|
12
|
+
export const TASK_MAPPINGS = {
|
|
13
|
+
capture_screenshot: {
|
|
14
|
+
commands: ['dom screenshot'],
|
|
15
|
+
description: 'Capture full page screenshot to file',
|
|
16
|
+
cdpAlternative: 'Page.captureScreenshot',
|
|
17
|
+
},
|
|
18
|
+
query_dom_elements: {
|
|
19
|
+
commands: ['dom query'],
|
|
20
|
+
description: 'Query DOM elements by CSS selector',
|
|
21
|
+
cdpAlternative: 'Runtime.evaluate with querySelector',
|
|
22
|
+
},
|
|
23
|
+
execute_javascript: {
|
|
24
|
+
commands: ['dom eval'],
|
|
25
|
+
description: 'Execute arbitrary JavaScript in page context',
|
|
26
|
+
cdpAlternative: 'Runtime.evaluate',
|
|
27
|
+
},
|
|
28
|
+
fill_form_input: {
|
|
29
|
+
commands: ['dom fill'],
|
|
30
|
+
description: 'Fill form input field by selector',
|
|
31
|
+
cdpAlternative: 'Runtime.evaluate with value assignment',
|
|
32
|
+
},
|
|
33
|
+
click_element: {
|
|
34
|
+
commands: ['dom click'],
|
|
35
|
+
description: 'Click element by selector',
|
|
36
|
+
cdpAlternative: 'Runtime.evaluate with click()',
|
|
37
|
+
},
|
|
38
|
+
press_key: {
|
|
39
|
+
commands: ['dom pressKey'],
|
|
40
|
+
description: 'Press keyboard key on element (Enter, Tab, Escape, etc.)',
|
|
41
|
+
cdpAlternative: 'Input.dispatchKeyEvent',
|
|
42
|
+
},
|
|
43
|
+
get_element_details: {
|
|
44
|
+
commands: ['dom get'],
|
|
45
|
+
description: 'Get detailed element information',
|
|
46
|
+
cdpAlternative: 'Runtime.evaluate with property extraction',
|
|
47
|
+
},
|
|
48
|
+
accessibility_tree: {
|
|
49
|
+
commands: ['dom a11y'],
|
|
50
|
+
description: 'Get accessibility tree for page or element',
|
|
51
|
+
cdpAlternative: 'Accessibility.getFullAXTree',
|
|
52
|
+
},
|
|
53
|
+
export_har: {
|
|
54
|
+
commands: ['network har'],
|
|
55
|
+
description: 'Export network traffic as HAR file',
|
|
56
|
+
cdpAlternative: 'Network domain events collection',
|
|
57
|
+
},
|
|
58
|
+
get_cookies: {
|
|
59
|
+
commands: ['network getCookies'],
|
|
60
|
+
description: 'Get all cookies for current page',
|
|
61
|
+
cdpAlternative: 'Network.getAllCookies',
|
|
62
|
+
},
|
|
63
|
+
get_request_headers: {
|
|
64
|
+
commands: ['network headers'],
|
|
65
|
+
description: 'Get HTTP headers for specific request',
|
|
66
|
+
cdpAlternative: 'Network.getResponseBody + event data',
|
|
67
|
+
},
|
|
68
|
+
query_console_logs: {
|
|
69
|
+
commands: ['console query'],
|
|
70
|
+
description: 'Query and filter console log messages',
|
|
71
|
+
cdpAlternative: 'Runtime.consoleAPICalled events',
|
|
72
|
+
},
|
|
73
|
+
preview_data: {
|
|
74
|
+
commands: ['peek'],
|
|
75
|
+
description: 'Preview collected network and console data',
|
|
76
|
+
cdpAlternative: 'Multiple IPC queries to worker state',
|
|
77
|
+
},
|
|
78
|
+
live_monitoring: {
|
|
79
|
+
commands: ['peek --follow', 'tail'],
|
|
80
|
+
description: 'Monitor data collection in real-time',
|
|
81
|
+
cdpAlternative: 'CDP event subscriptions with custom handler',
|
|
82
|
+
},
|
|
83
|
+
get_full_details: {
|
|
84
|
+
commands: ['details network', 'details console'],
|
|
85
|
+
description: 'Get complete request/response or console message details',
|
|
86
|
+
cdpAlternative: 'Worker state query + response body fetch',
|
|
87
|
+
},
|
|
88
|
+
check_session_status: {
|
|
89
|
+
commands: ['status'],
|
|
90
|
+
description: 'Check current session and daemon status',
|
|
91
|
+
cdpAlternative: 'IPC ping + process checks',
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Get task mapping by key.
|
|
96
|
+
*
|
|
97
|
+
* @param taskKey - Task identifier
|
|
98
|
+
* @returns Task mapping if found, undefined otherwise
|
|
99
|
+
*/
|
|
100
|
+
export function getTaskMapping(taskKey) {
|
|
101
|
+
return TASK_MAPPINGS[taskKey];
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Get all task mappings.
|
|
105
|
+
*
|
|
106
|
+
* @returns Complete task mapping registry
|
|
107
|
+
*/
|
|
108
|
+
export function getAllTaskMappings() {
|
|
109
|
+
return TASK_MAPPINGS;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Search task mappings by description keyword.
|
|
113
|
+
*
|
|
114
|
+
* @param keyword - Search term (case-insensitive)
|
|
115
|
+
* @returns Matching task mappings with keys
|
|
116
|
+
*/
|
|
117
|
+
export function searchTaskMappings(keyword) {
|
|
118
|
+
const lowerKeyword = keyword.toLowerCase();
|
|
119
|
+
return Object.entries(TASK_MAPPINGS)
|
|
120
|
+
.filter(([, mapping]) => mapping.description.toLowerCase().includes(lowerKeyword))
|
|
121
|
+
.map(([key, mapping]) => ({ key, mapping }));
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=taskMappings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taskMappings.js","sourceRoot":"","sources":["../../src/utils/taskMappings.ts"],"names":[],"mappings":"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"}
|