browser-debugger-cli 0.6.6 → 0.6.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +48 -269
- package/dist/commands/__tests__/helpJson.contract.test.d.ts +12 -0
- package/dist/commands/__tests__/helpJson.contract.test.d.ts.map +1 -0
- package/dist/commands/__tests__/helpJson.contract.test.js +121 -0
- package/dist/commands/__tests__/helpJson.contract.test.js.map +1 -0
- package/dist/commands/__tests__/machineReadableHelp.contract.test.js +26 -7
- package/dist/commands/__tests__/machineReadableHelp.contract.test.js.map +1 -1
- package/dist/commands/cdp.d.ts.map +1 -1
- package/dist/commands/cdp.js.map +1 -1
- package/dist/commands/cleanup.d.ts.map +1 -1
- package/dist/commands/cleanup.js +17 -91
- package/dist/commands/cleanup.js.map +1 -1
- package/dist/commands/console.d.ts.map +1 -1
- package/dist/commands/console.js.map +1 -1
- package/dist/commands/details.d.ts.map +1 -1
- package/dist/commands/details.js +3 -1
- package/dist/commands/details.js.map +1 -1
- package/dist/commands/dom/DomElementResolver.d.ts +138 -0
- package/dist/commands/dom/DomElementResolver.d.ts.map +1 -0
- package/dist/commands/dom/DomElementResolver.js +173 -0
- package/dist/commands/dom/DomElementResolver.js.map +1 -0
- package/dist/commands/dom/a11y.d.ts.map +1 -1
- package/dist/commands/dom/a11y.js +4 -28
- package/dist/commands/dom/a11y.js.map +1 -1
- package/dist/commands/dom/evalHelpers.d.ts.map +1 -1
- package/dist/commands/dom/evalHelpers.js +1 -1
- package/dist/commands/dom/evalHelpers.js.map +1 -1
- package/dist/commands/dom/formFillHelpers.d.ts.map +1 -1
- package/dist/commands/dom/formFillHelpers.js +11 -11
- 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 +5 -5
- package/dist/commands/dom/formInteraction.js.map +1 -1
- package/dist/commands/dom/helpers.d.ts +0 -50
- package/dist/commands/dom/helpers.d.ts.map +1 -1
- package/dist/commands/dom/helpers.js +2 -56
- 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 +50 -44
- package/dist/commands/dom/index.js.map +1 -1
- package/dist/commands/dom/keyMapping.d.ts +0 -6
- package/dist/commands/dom/keyMapping.d.ts.map +1 -1
- package/dist/commands/dom/keyMapping.js +0 -8
- package/dist/commands/dom/keyMapping.js.map +1 -1
- package/dist/commands/dom/reactEventHelpers.d.ts +12 -18
- package/dist/commands/dom/reactEventHelpers.d.ts.map +1 -1
- package/dist/commands/dom/reactEventHelpers.js +21 -70
- package/dist/commands/dom/reactEventHelpers.js.map +1 -1
- package/dist/commands/helpJson.d.ts +165 -0
- package/dist/commands/helpJson.d.ts.map +1 -0
- package/dist/commands/helpJson.js +252 -0
- package/dist/commands/helpJson.js.map +1 -0
- package/dist/commands/machineReadableHelp.d.ts +21 -2
- package/dist/commands/machineReadableHelp.d.ts.map +1 -1
- package/dist/commands/machineReadableHelp.js +95 -60
- package/dist/commands/machineReadableHelp.js.map +1 -1
- package/dist/commands/network.d.ts.map +1 -1
- package/dist/commands/network.js.map +1 -1
- package/dist/commands/peek.d.ts.map +1 -1
- package/dist/commands/peek.js +5 -7
- package/dist/commands/peek.js.map +1 -1
- package/dist/commands/shared/CommandRunner.d.ts +4 -10
- package/dist/commands/shared/CommandRunner.d.ts.map +1 -1
- package/dist/commands/shared/CommandRunner.js +2 -2
- package/dist/commands/shared/CommandRunner.js.map +1 -1
- package/dist/commands/shared/commonOptions.d.ts +0 -15
- package/dist/commands/shared/commonOptions.d.ts.map +1 -1
- package/dist/commands/shared/commonOptions.js +0 -32
- package/dist/commands/shared/commonOptions.js.map +1 -1
- package/dist/commands/shared/optionTypes.d.ts +237 -0
- package/dist/commands/shared/optionTypes.d.ts.map +1 -0
- package/dist/commands/shared/optionTypes.js +20 -0
- package/dist/commands/shared/optionTypes.js.map +1 -0
- package/dist/commands/shared/startHelpers.d.ts.map +1 -1
- package/dist/commands/shared/startHelpers.js +3 -3
- package/dist/commands/shared/startHelpers.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +8 -6
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/stop.d.ts.map +1 -1
- package/dist/commands/stop.js +17 -43
- package/dist/commands/stop.js.map +1 -1
- package/dist/commands/tail.d.ts.map +1 -1
- package/dist/commands/tail.js +49 -59
- package/dist/commands/tail.js.map +1 -1
- package/dist/connection/types.d.ts +2 -1
- package/dist/connection/types.d.ts.map +1 -1
- package/dist/constants.d.ts +14 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +39 -0
- package/dist/constants.js.map +1 -1
- package/dist/daemon/handlers/responseHandler.d.ts.map +1 -1
- package/dist/daemon/handlers/responseHandler.js +1 -0
- package/dist/daemon/handlers/responseHandler.js.map +1 -1
- package/dist/daemon/ipcServer.js +8 -8
- package/dist/daemon/ipcServer.js.map +1 -1
- package/dist/daemon/lifecycle/signalHandlers.d.ts.map +1 -1
- package/dist/daemon/lifecycle/signalHandlers.js +19 -3
- package/dist/daemon/lifecycle/signalHandlers.js.map +1 -1
- package/dist/daemon/lifecycle/workerCleanup.d.ts.map +1 -1
- package/dist/daemon/lifecycle/workerCleanup.js +5 -2
- package/dist/daemon/lifecycle/workerCleanup.js.map +1 -1
- package/dist/daemon/patternDefinitions.d.ts +0 -13
- package/dist/daemon/patternDefinitions.d.ts.map +1 -1
- package/dist/daemon/patternDefinitions.js +0 -17
- package/dist/daemon/patternDefinitions.js.map +1 -1
- package/dist/daemon/worker/commandRegistry.d.ts.map +1 -1
- package/dist/daemon/worker/commandRegistry.js +1 -0
- package/dist/daemon/worker/commandRegistry.js.map +1 -1
- package/dist/index.js +34 -2
- package/dist/index.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/ipc/session/queries.d.ts +2 -0
- package/dist/ipc/session/queries.d.ts.map +1 -1
- package/dist/ipc/utils/responseValidator.d.ts +7 -1
- package/dist/ipc/utils/responseValidator.d.ts.map +1 -1
- package/dist/ipc/utils/responseValidator.js +6 -1
- package/dist/ipc/utils/responseValidator.js.map +1 -1
- package/dist/session/QueryCacheManager.d.ts +140 -0
- package/dist/session/QueryCacheManager.d.ts.map +1 -0
- package/dist/session/QueryCacheManager.js +233 -0
- package/dist/session/QueryCacheManager.js.map +1 -0
- package/dist/session/cleanup.d.ts +63 -1
- package/dist/session/cleanup.d.ts.map +1 -1
- package/dist/session/cleanup.js +191 -65
- package/dist/session/cleanup.js.map +1 -1
- package/dist/session/queryCache.d.ts +25 -14
- package/dist/session/queryCache.d.ts.map +1 -1
- package/dist/session/queryCache.js +31 -60
- package/dist/session/queryCache.js.map +1 -1
- package/dist/telemetry/__tests__/roleInference.unit.test.d.ts +9 -0
- package/dist/telemetry/__tests__/roleInference.unit.test.d.ts.map +1 -0
- package/dist/telemetry/__tests__/roleInference.unit.test.js +138 -0
- package/dist/telemetry/__tests__/roleInference.unit.test.js.map +1 -0
- package/dist/telemetry/dom.d.ts +1 -0
- package/dist/telemetry/dom.d.ts.map +1 -1
- package/dist/telemetry/dom.js +9 -4
- package/dist/telemetry/dom.js.map +1 -1
- package/dist/telemetry/filters.d.ts +3 -0
- package/dist/telemetry/filters.d.ts.map +1 -1
- package/dist/telemetry/filters.js +25 -3
- package/dist/telemetry/filters.js.map +1 -1
- package/dist/telemetry/network.d.ts.map +1 -1
- package/dist/telemetry/network.js +35 -6
- package/dist/telemetry/network.js.map +1 -1
- package/dist/telemetry/roleInference.d.ts +50 -0
- package/dist/telemetry/roleInference.d.ts.map +1 -0
- package/dist/telemetry/roleInference.js +163 -0
- package/dist/telemetry/roleInference.js.map +1 -0
- package/dist/telemetry/utils.d.ts +0 -57
- package/dist/telemetry/utils.d.ts.map +1 -1
- package/dist/telemetry/utils.js +0 -71
- package/dist/telemetry/utils.js.map +1 -1
- package/dist/types/dom.d.ts +2 -0
- package/dist/types/dom.d.ts.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/formatters/a11y.d.ts +0 -9
- package/dist/ui/formatters/a11y.d.ts.map +1 -1
- package/dist/ui/formatters/a11y.js +0 -45
- package/dist/ui/formatters/a11y.js.map +1 -1
- package/dist/ui/formatters/preview.d.ts.map +1 -1
- package/dist/ui/formatters/preview.js +2 -39
- package/dist/ui/formatters/preview.js.map +1 -1
- package/dist/ui/logging/index.d.ts +1 -1
- package/dist/ui/logging/index.d.ts.map +1 -1
- package/dist/ui/logging/index.js +1 -1
- package/dist/ui/logging/index.js.map +1 -1
- package/dist/ui/logging/logger.d.ts +21 -0
- package/dist/ui/logging/logger.d.ts.map +1 -1
- package/dist/ui/logging/logger.js +24 -6
- package/dist/ui/logging/logger.js.map +1 -1
- package/dist/ui/messages/commands.d.ts +0 -14
- package/dist/ui/messages/commands.d.ts.map +1 -1
- package/dist/ui/messages/commands.js +0 -18
- package/dist/ui/messages/commands.js.map +1 -1
- package/dist/ui/messages/errors.d.ts +0 -16
- package/dist/ui/messages/errors.d.ts.map +1 -1
- package/dist/ui/messages/errors.js +0 -18
- package/dist/ui/messages/errors.js.map +1 -1
- package/dist/ui/messages/hints.d.ts +0 -10
- package/dist/ui/messages/hints.d.ts.map +1 -1
- package/dist/ui/messages/hints.js +0 -12
- package/dist/ui/messages/hints.js.map +1 -1
- package/dist/utils/decisionTrees.d.ts +0 -17
- package/dist/utils/decisionTrees.d.ts.map +1 -1
- package/dist/utils/decisionTrees.js +0 -21
- package/dist/utils/decisionTrees.js.map +1 -1
- package/dist/utils/errorMapping.d.ts +60 -0
- package/dist/utils/errorMapping.d.ts.map +1 -0
- package/dist/utils/errorMapping.js +97 -0
- package/dist/utils/errorMapping.js.map +1 -0
- package/dist/utils/file.d.ts +27 -0
- package/dist/utils/file.d.ts.map +1 -0
- package/dist/utils/file.js +37 -0
- package/dist/utils/file.js.map +1 -0
- package/dist/utils/levenshtein.d.ts +0 -17
- package/dist/utils/levenshtein.d.ts.map +1 -1
- package/dist/utils/levenshtein.js +0 -31
- package/dist/utils/levenshtein.js.map +1 -1
- package/dist/utils/taskMappings.d.ts +0 -17
- package/dist/utils/taskMappings.d.ts.map +1 -1
- package/dist/utils/taskMappings.js +0 -21
- package/dist/utils/taskMappings.js.map +1 -1
- package/dist/utils/typeGuards.d.ts +62 -0
- package/dist/utils/typeGuards.d.ts.map +1 -0
- package/dist/utils/typeGuards.js +94 -0
- package/dist/utils/typeGuards.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,13 +1,16 @@
|
|
|
1
|
+
import { DomElementResolver } from '../../commands/dom/DomElementResolver.js';
|
|
1
2
|
import { registerA11yCommands } from '../../commands/dom/a11y.js';
|
|
2
3
|
import { queryDOMElements, getDOMElements, capturePageScreenshot, getDomContext, } from '../../commands/dom/helpers.js';
|
|
3
4
|
import { runCommand } from '../../commands/shared/CommandRunner.js';
|
|
5
|
+
import { positiveIntRule } from '../../commands/shared/validation.js';
|
|
6
|
+
import { QueryCacheManager } from '../../session/QueryCacheManager.js';
|
|
4
7
|
import { resolveA11yNode } from '../../telemetry/a11y.js';
|
|
8
|
+
import { synthesizeA11yNode } from '../../telemetry/roleInference.js';
|
|
5
9
|
import { CommandError } from '../../ui/errors/index.js';
|
|
6
10
|
import { formatDomQuery, formatDomGet, formatDomEval, formatDomScreenshot, } from '../../ui/formatters/dom.js';
|
|
7
11
|
import { elementNotFoundError } from '../../ui/messages/errors.js';
|
|
8
12
|
import { EXIT_CODES } from '../../utils/exitCodes.js';
|
|
9
13
|
import { filterDefined } from '../../utils/objects.js';
|
|
10
|
-
import { parsePositiveIntOption } from '../../utils/validation.js';
|
|
11
14
|
/**
|
|
12
15
|
* Handle bdg dom query <selector> command
|
|
13
16
|
*
|
|
@@ -21,37 +24,16 @@ import { parsePositiveIntOption } from '../../utils/validation.js';
|
|
|
21
24
|
async function handleDomQuery(selector, options) {
|
|
22
25
|
await runCommand(async () => {
|
|
23
26
|
const result = await queryDOMElements(selector);
|
|
24
|
-
const
|
|
25
|
-
|
|
27
|
+
const cacheManager = QueryCacheManager.getInstance();
|
|
28
|
+
const navigationId = await cacheManager.getCurrentNavigationId();
|
|
29
|
+
const resultWithNavId = {
|
|
30
|
+
...result,
|
|
31
|
+
...(navigationId !== null && { navigationId }),
|
|
32
|
+
};
|
|
33
|
+
await cacheManager.set(resultWithNavId);
|
|
26
34
|
return { success: true, data: result };
|
|
27
35
|
}, options, formatDomQuery);
|
|
28
36
|
}
|
|
29
|
-
/**
|
|
30
|
-
* Retrieve cached node by index with validation.
|
|
31
|
-
*
|
|
32
|
-
* @param index - Zero-based index from query results
|
|
33
|
-
* @returns Node from cache
|
|
34
|
-
* @throws CommandError if cache missing, index out of range, or node not found
|
|
35
|
-
*/
|
|
36
|
-
async function getCachedNodeByIndex(index) {
|
|
37
|
-
const { getSessionQueryCache } = await import('../../session/queryCache.js');
|
|
38
|
-
const cachedQuery = getSessionQueryCache();
|
|
39
|
-
if (!cachedQuery) {
|
|
40
|
-
throw new CommandError('No cached query results found', {
|
|
41
|
-
suggestion: 'Run "bdg dom query <selector>" first to generate indexed results',
|
|
42
|
-
}, EXIT_CODES.INVALID_ARGUMENTS);
|
|
43
|
-
}
|
|
44
|
-
if (index < 0 || index >= cachedQuery.nodes.length) {
|
|
45
|
-
throw new CommandError(`Index ${index} out of range (found ${cachedQuery.nodes.length} elements)`, {
|
|
46
|
-
suggestion: `Use an index between 0 and ${cachedQuery.nodes.length - 1}`,
|
|
47
|
-
}, EXIT_CODES.INVALID_ARGUMENTS);
|
|
48
|
-
}
|
|
49
|
-
const targetNode = cachedQuery.nodes[index];
|
|
50
|
-
if (!targetNode) {
|
|
51
|
-
throw new CommandError(`Element at index ${index} not found`, {}, EXIT_CODES.RESOURCE_NOT_FOUND);
|
|
52
|
-
}
|
|
53
|
-
return targetNode;
|
|
54
|
-
}
|
|
55
37
|
/**
|
|
56
38
|
* Handle bdg dom get command
|
|
57
39
|
*
|
|
@@ -75,9 +57,10 @@ async function handleDomGet(selectorOrIndex, options) {
|
|
|
75
57
|
* Handle get command with numeric index
|
|
76
58
|
*/
|
|
77
59
|
async function handleIndexGet(index, options) {
|
|
60
|
+
const resolver = DomElementResolver.getInstance();
|
|
78
61
|
if (options.raw) {
|
|
79
62
|
await runCommand(async () => {
|
|
80
|
-
const targetNode = await
|
|
63
|
+
const targetNode = await resolver.getNodeIdForIndex(index);
|
|
81
64
|
const getOptions = filterDefined({
|
|
82
65
|
nodeId: targetNode.nodeId,
|
|
83
66
|
});
|
|
@@ -87,11 +70,13 @@ async function handleIndexGet(index, options) {
|
|
|
87
70
|
}
|
|
88
71
|
else {
|
|
89
72
|
await runCommand(async () => {
|
|
90
|
-
const targetNode = await
|
|
91
|
-
const [
|
|
73
|
+
const targetNode = await resolver.getNodeIdForIndex(index);
|
|
74
|
+
const [a11yNode, domContext] = await Promise.all([
|
|
92
75
|
resolveA11yNode('', targetNode.nodeId),
|
|
93
76
|
getDomContext(targetNode.nodeId),
|
|
94
77
|
]);
|
|
78
|
+
// Graceful degradation: synthesize node from DOM context when a11y unavailable
|
|
79
|
+
const node = a11yNode ?? (domContext ? synthesizeA11yNode(domContext, targetNode.nodeId) : null);
|
|
95
80
|
if (!node) {
|
|
96
81
|
throw new CommandError(elementNotFoundError(`index ${index}`), {}, EXIT_CODES.RESOURCE_NOT_FOUND);
|
|
97
82
|
}
|
|
@@ -117,15 +102,36 @@ async function handleSelectorGet(selector, options) {
|
|
|
117
102
|
}
|
|
118
103
|
else {
|
|
119
104
|
await runCommand(async () => {
|
|
120
|
-
const
|
|
105
|
+
const a11yNode = await resolveA11yNode(selector);
|
|
106
|
+
// Fetch DOM context for enrichment or fallback
|
|
107
|
+
let domContext = null;
|
|
108
|
+
let nodeId;
|
|
109
|
+
if (a11yNode?.backendDOMNodeId) {
|
|
110
|
+
nodeId = a11yNode.backendDOMNodeId;
|
|
111
|
+
domContext = await getDomContext(nodeId);
|
|
112
|
+
}
|
|
113
|
+
else if (!a11yNode) {
|
|
114
|
+
// Try to get DOM context by querying the selector directly
|
|
115
|
+
const { callCDP } = await import('../../ipc/client.js');
|
|
116
|
+
const docResponse = await callCDP('DOM.getDocument', {});
|
|
117
|
+
const doc = docResponse.data?.result;
|
|
118
|
+
if (doc?.root?.nodeId) {
|
|
119
|
+
const queryResponse = await callCDP('DOM.querySelector', {
|
|
120
|
+
nodeId: doc.root.nodeId,
|
|
121
|
+
selector,
|
|
122
|
+
});
|
|
123
|
+
const queryResult = queryResponse.data?.result;
|
|
124
|
+
if (queryResult?.nodeId) {
|
|
125
|
+
nodeId = queryResult.nodeId;
|
|
126
|
+
domContext = await getDomContext(nodeId);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
// Graceful degradation: synthesize node from DOM context when a11y unavailable
|
|
131
|
+
const node = a11yNode ?? (domContext && nodeId ? synthesizeA11yNode(domContext, nodeId) : null);
|
|
121
132
|
if (!node) {
|
|
122
133
|
throw new CommandError(elementNotFoundError(selector), {}, EXIT_CODES.RESOURCE_NOT_FOUND);
|
|
123
134
|
}
|
|
124
|
-
// Fetch DOM context using backendDOMNodeId if available
|
|
125
|
-
let domContext = null;
|
|
126
|
-
if (node.backendDOMNodeId) {
|
|
127
|
-
domContext = await getDomContext(node.backendDOMNodeId);
|
|
128
|
-
}
|
|
129
135
|
return { success: true, data: { node, domContext } };
|
|
130
136
|
}, options, formatSemanticNodeWithContext);
|
|
131
137
|
}
|
|
@@ -135,6 +141,7 @@ async function handleSelectorGet(selector, options) {
|
|
|
135
141
|
*
|
|
136
142
|
* When a11y name is missing, shows DOM context (tag, classes, text preview)
|
|
137
143
|
* to provide useful information instead of just "[Role]".
|
|
144
|
+
* Shows "(inferred from DOM)" indicator when node is synthesized.
|
|
138
145
|
*/
|
|
139
146
|
function formatSemanticNodeWithContext(data) {
|
|
140
147
|
const { node, domContext } = data;
|
|
@@ -173,7 +180,9 @@ function formatSemanticNodeWithContext(data) {
|
|
|
173
180
|
if (node.required)
|
|
174
181
|
props.push('required');
|
|
175
182
|
const propsText = props.length > 0 ? ` (${props.join(', ')})` : '';
|
|
176
|
-
|
|
183
|
+
// Add inferred indicator when node is synthesized from DOM
|
|
184
|
+
const inferredText = node.inferred ? ' (inferred from DOM)' : '';
|
|
185
|
+
return `${roleText}${contextText}${propsText}${inferredText}`;
|
|
177
186
|
}
|
|
178
187
|
/**
|
|
179
188
|
* Capitalize first letter of string.
|
|
@@ -218,11 +227,8 @@ async function handleDomEval(script, options) {
|
|
|
218
227
|
const { validateActiveSession, getValidatedSessionMetadata, verifyTargetExists, executeScript, } = await import('../../commands/dom/evalHelpers.js');
|
|
219
228
|
validateActiveSession();
|
|
220
229
|
const metadata = getValidatedSessionMetadata();
|
|
221
|
-
const
|
|
222
|
-
|
|
223
|
-
min: 1,
|
|
224
|
-
max: 65535,
|
|
225
|
-
});
|
|
230
|
+
const portRule = positiveIntRule({ min: 1, max: 65535, default: 9222 });
|
|
231
|
+
const port = portRule.validate(options.port);
|
|
226
232
|
await verifyTargetExists(metadata, port);
|
|
227
233
|
const cdp = new CDPConnection();
|
|
228
234
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/dom/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,aAAa,GACd,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/dom/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,12 +39,6 @@ export declare const MODIFIER_FLAGS: {
|
|
|
39
39
|
* ```
|
|
40
40
|
*/
|
|
41
41
|
export declare function getKeyDefinition(keyName: string): KeyDefinition | undefined;
|
|
42
|
-
/**
|
|
43
|
-
* Get list of all supported key names.
|
|
44
|
-
*
|
|
45
|
-
* @returns Array of supported key names
|
|
46
|
-
*/
|
|
47
|
-
export declare function getSupportedKeys(): string[];
|
|
48
42
|
/**
|
|
49
43
|
* Parse modifier string into CDP modifier flags.
|
|
50
44
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyMapping.d.ts","sourceRoot":"","sources":["../../../src/commands/dom/keyMapping.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC;AA0DX;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAE3E;AAED
|
|
1
|
+
{"version":3,"file":"keyMapping.d.ts","sourceRoot":"","sources":["../../../src/commands/dom/keyMapping.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC;AA0DX;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAE3E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAgBpE"}
|
|
@@ -80,14 +80,6 @@ for (let i = 0; i < 10; i++) {
|
|
|
80
80
|
export function getKeyDefinition(keyName) {
|
|
81
81
|
return KEY_DEFINITIONS[keyName.toLowerCase()];
|
|
82
82
|
}
|
|
83
|
-
/**
|
|
84
|
-
* Get list of all supported key names.
|
|
85
|
-
*
|
|
86
|
-
* @returns Array of supported key names
|
|
87
|
-
*/
|
|
88
|
-
export function getSupportedKeys() {
|
|
89
|
-
return Object.keys(KEY_DEFINITIONS);
|
|
90
|
-
}
|
|
91
83
|
/**
|
|
92
84
|
* Parse modifier string into CDP modifier flags.
|
|
93
85
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyMapping.js","sourceRoot":"","sources":["../../../src/commands/dom/keyMapping.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"keyMapping.js","sourceRoot":"","sources":["../../../src/commands/dom/keyMapping.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,13 +26,6 @@ export declare const REACT_FILL_SCRIPT = "\n(function(selector, value, options)
|
|
|
26
26
|
* When selector matches multiple elements without index, prioritizes visible ones.
|
|
27
27
|
*/
|
|
28
28
|
export declare const CLICK_ELEMENT_SCRIPT = "\n(function(selector, index) {\n const allMatches = document.querySelectorAll(selector);\n \n if (allMatches.length === 0) {\n return {\n success: false,\n error: 'Element not found',\n selector: selector\n };\n }\n \n let el;\n \n // If index is provided, use it directly (1-based)\n if (typeof index === 'number' && index > 0) {\n if (index > allMatches.length) {\n return {\n success: false,\n error: 'Index out of range',\n selector: selector,\n matchCount: allMatches.length,\n requestedIndex: index,\n suggestion: 'Use --index between 1 and ' + allMatches.length\n };\n }\n el = allMatches[index - 1];\n } else if (allMatches.length === 1) {\n // Single match - use it directly\n el = allMatches[0];\n } else {\n // Multiple matches without index - find first visible one\n el = allMatches[0];\n for (const candidate of allMatches) {\n const style = window.getComputedStyle(candidate);\n const rect = candidate.getBoundingClientRect();\n \n const hasSize = rect.width > 0 && rect.height > 0;\n const isDisplayed = style.display !== 'none' && style.visibility !== 'hidden';\n const isOpaque = parseFloat(style.opacity) > 0;\n const isPositioned = candidate.offsetParent !== null || style.position === 'fixed';\n \n const isVisible = hasSize && isDisplayed && isOpaque && isPositioned;\n \n if (isVisible) {\n el = candidate;\n break;\n }\n }\n }\n \n const tagName = el.tagName.toLowerCase();\n const isClickable = (\n tagName === 'button' ||\n tagName === 'a' ||\n tagName === 'input' ||\n el.onclick !== null ||\n el.getAttribute('role') === 'button' ||\n window.getComputedStyle(el).cursor === 'pointer'\n );\n \n if (!isClickable) {\n console.warn('Warning: Element may not be clickable:', el);\n }\n \n el.scrollIntoView({ behavior: 'auto', block: 'center' });\n \n el.click();\n \n return {\n success: true,\n selector: selector,\n elementType: tagName,\n clickable: isClickable,\n matchCount: allMatches.length,\n selectedIndex: typeof index === 'number' ? index : undefined\n };\n})\n";
|
|
29
|
-
/**
|
|
30
|
-
* JavaScript function to get multiple elements by selector.
|
|
31
|
-
*
|
|
32
|
-
* @remarks
|
|
33
|
-
* Used when --index is specified to select from multiple matches.
|
|
34
|
-
*/
|
|
35
|
-
export declare const GET_ELEMENT_BY_INDEX_SCRIPT = "\n(function(selector, index) {\n const elements = document.querySelectorAll(selector);\n \n if (elements.length === 0) {\n return {\n success: false,\n error: 'No elements found',\n selector: selector,\n matchCount: 0\n };\n }\n \n if (index < 1 || index > elements.length) {\n return {\n success: false,\n error: 'Index out of range',\n selector: selector,\n matchCount: elements.length,\n requestedIndex: index,\n suggestion: `Use --index between 1 and ${elements.length}`\n };\n }\n \n const el = elements[index - 1]; // Convert to 0-based\n \n function buildUniquePath(element) {\n if (element.id) {\n return `#${CSS.escape(element.id)}`;\n }\n \n const path = [];\n let current = element;\n \n while (current && current !== document.documentElement) {\n let selector = current.tagName.toLowerCase();\n \n if (current.parentElement) {\n const siblings = Array.from(current.parentElement.children);\n const sameTagSiblings = siblings.filter(\n (sibling) => sibling.tagName === current!.tagName\n );\n \n if (sameTagSiblings.length > 1) {\n const index = sameTagSiblings.indexOf(current) + 1;\n selector += `:nth-of-type(${index})`;\n }\n }\n \n path.unshift(selector);\n current = current.parentElement;\n }\n \n return 'html > ' + path.join(' > ');\n }\n \n const uniqueSelector = buildUniquePath(el);\n \n return {\n success: true,\n selector: selector,\n matchCount: elements.length,\n selectedIndex: index,\n uniqueSelector: uniqueSelector\n };\n})\n";
|
|
36
29
|
/**
|
|
37
30
|
* Options for filling an element.
|
|
38
31
|
*/
|
|
@@ -70,16 +63,17 @@ export interface ClickResult {
|
|
|
70
63
|
suggestion?: string;
|
|
71
64
|
}
|
|
72
65
|
/**
|
|
73
|
-
*
|
|
66
|
+
* Type guard for FillResult.
|
|
67
|
+
*
|
|
68
|
+
* @param value - Value to check
|
|
69
|
+
* @returns True if value is a valid FillResult
|
|
74
70
|
*/
|
|
75
|
-
export
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
suggestion?: string;
|
|
84
|
-
}
|
|
71
|
+
export declare function isFillResult(value: unknown): value is FillResult;
|
|
72
|
+
/**
|
|
73
|
+
* Type guard for ClickResult.
|
|
74
|
+
*
|
|
75
|
+
* @param value - Value to check
|
|
76
|
+
* @returns True if value is a valid ClickResult
|
|
77
|
+
*/
|
|
78
|
+
export declare function isClickResult(value: unknown): value is ClickResult;
|
|
85
79
|
//# sourceMappingURL=reactEventHelpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactEventHelpers.d.ts","sourceRoot":"","sources":["../../../src/commands/dom/reactEventHelpers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,o8FA4G7B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,isEA8EhC,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"reactEventHelpers.d.ts","sourceRoot":"","sources":["../../../src/commands/dom/reactEventHelpers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,o8FA4G7B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,isEA8EhC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,gEAAgE;IAChE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAIhE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAIlE"}
|
|
@@ -213,76 +213,27 @@ export const CLICK_ELEMENT_SCRIPT = `
|
|
|
213
213
|
})
|
|
214
214
|
`;
|
|
215
215
|
/**
|
|
216
|
-
*
|
|
216
|
+
* Type guard for FillResult.
|
|
217
217
|
*
|
|
218
|
-
* @
|
|
219
|
-
*
|
|
218
|
+
* @param value - Value to check
|
|
219
|
+
* @returns True if value is a valid FillResult
|
|
220
220
|
*/
|
|
221
|
-
export
|
|
222
|
-
(
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
matchCount: elements.length,
|
|
240
|
-
requestedIndex: index,
|
|
241
|
-
suggestion: \`Use --index between 1 and \${elements.length}\`
|
|
242
|
-
};
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
const el = elements[index - 1]; // Convert to 0-based
|
|
246
|
-
|
|
247
|
-
function buildUniquePath(element) {
|
|
248
|
-
if (element.id) {
|
|
249
|
-
return \`#\${CSS.escape(element.id)}\`;
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
const path = [];
|
|
253
|
-
let current = element;
|
|
254
|
-
|
|
255
|
-
while (current && current !== document.documentElement) {
|
|
256
|
-
let selector = current.tagName.toLowerCase();
|
|
257
|
-
|
|
258
|
-
if (current.parentElement) {
|
|
259
|
-
const siblings = Array.from(current.parentElement.children);
|
|
260
|
-
const sameTagSiblings = siblings.filter(
|
|
261
|
-
(sibling) => sibling.tagName === current!.tagName
|
|
262
|
-
);
|
|
263
|
-
|
|
264
|
-
if (sameTagSiblings.length > 1) {
|
|
265
|
-
const index = sameTagSiblings.indexOf(current) + 1;
|
|
266
|
-
selector += \`:nth-of-type(\${index})\`;
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
path.unshift(selector);
|
|
271
|
-
current = current.parentElement;
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
return 'html > ' + path.join(' > ');
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
const uniqueSelector = buildUniquePath(el);
|
|
278
|
-
|
|
279
|
-
return {
|
|
280
|
-
success: true,
|
|
281
|
-
selector: selector,
|
|
282
|
-
matchCount: elements.length,
|
|
283
|
-
selectedIndex: index,
|
|
284
|
-
uniqueSelector: uniqueSelector
|
|
285
|
-
};
|
|
286
|
-
})
|
|
287
|
-
`;
|
|
221
|
+
export function isFillResult(value) {
|
|
222
|
+
if (typeof value !== 'object' || value === null)
|
|
223
|
+
return false;
|
|
224
|
+
const obj = value;
|
|
225
|
+
return typeof obj['success'] === 'boolean';
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Type guard for ClickResult.
|
|
229
|
+
*
|
|
230
|
+
* @param value - Value to check
|
|
231
|
+
* @returns True if value is a valid ClickResult
|
|
232
|
+
*/
|
|
233
|
+
export function isClickResult(value) {
|
|
234
|
+
if (typeof value !== 'object' || value === null)
|
|
235
|
+
return false;
|
|
236
|
+
const obj = value;
|
|
237
|
+
return typeof obj['success'] === 'boolean';
|
|
238
|
+
}
|
|
288
239
|
//# sourceMappingURL=reactEventHelpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactEventHelpers.js","sourceRoot":"","sources":["../../../src/commands/dom/reactEventHelpers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4GhC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8EnC,CAAC;
|
|
1
|
+
{"version":3,"file":"reactEventHelpers.js","sourceRoot":"","sources":["../../../src/commands/dom/reactEventHelpers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4GhC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8EnC,CAAC;AAyCF;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,OAAO,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC;AAC7C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,OAAO,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Machine-readable help generation using Commander.js introspection API.
|
|
3
|
+
*/
|
|
4
|
+
import type { Command } from 'commander';
|
|
5
|
+
import { type DecisionTree } from '../utils/decisionTrees.js';
|
|
6
|
+
import { type TaskMapping } from '../utils/taskMappings.js';
|
|
7
|
+
/**
|
|
8
|
+
* Option metadata for machine-readable help.
|
|
9
|
+
*/
|
|
10
|
+
export interface OptionMetadata {
|
|
11
|
+
/** Option flags (e.g., "-j, --json") */
|
|
12
|
+
flags: string;
|
|
13
|
+
/** Option description */
|
|
14
|
+
description: string;
|
|
15
|
+
/** Whether option is required */
|
|
16
|
+
required: boolean;
|
|
17
|
+
/** Whether option has an optional value */
|
|
18
|
+
optional: boolean;
|
|
19
|
+
/** Default value if any */
|
|
20
|
+
defaultValue?: unknown;
|
|
21
|
+
/** Description of default value */
|
|
22
|
+
defaultValueDescription?: string;
|
|
23
|
+
/** Allowed choices if restricted */
|
|
24
|
+
choices?: readonly string[];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Argument metadata for machine-readable help.
|
|
28
|
+
*/
|
|
29
|
+
export interface ArgumentMetadata {
|
|
30
|
+
/** Argument name */
|
|
31
|
+
name: string;
|
|
32
|
+
/** Argument description */
|
|
33
|
+
description: string;
|
|
34
|
+
/** Whether argument is required */
|
|
35
|
+
required: boolean;
|
|
36
|
+
/** Whether argument accepts multiple values */
|
|
37
|
+
variadic: boolean;
|
|
38
|
+
/** Default value if any */
|
|
39
|
+
defaultValue?: unknown;
|
|
40
|
+
/** Allowed choices if restricted */
|
|
41
|
+
choices?: readonly string[];
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Command metadata for machine-readable help.
|
|
45
|
+
*/
|
|
46
|
+
export interface CommandMetadata {
|
|
47
|
+
/** Command name */
|
|
48
|
+
name: string;
|
|
49
|
+
/** Command aliases */
|
|
50
|
+
aliases: readonly string[];
|
|
51
|
+
/** Command description */
|
|
52
|
+
description: string;
|
|
53
|
+
/** Command usage string */
|
|
54
|
+
usage: string;
|
|
55
|
+
/** Command arguments */
|
|
56
|
+
arguments: ArgumentMetadata[];
|
|
57
|
+
/** Command options */
|
|
58
|
+
options: OptionMetadata[];
|
|
59
|
+
/** Subcommands */
|
|
60
|
+
subcommands: CommandMetadata[];
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Runtime state information for dynamic command availability.
|
|
64
|
+
*/
|
|
65
|
+
export interface RuntimeState {
|
|
66
|
+
/** Whether a session is currently active */
|
|
67
|
+
sessionActive: boolean;
|
|
68
|
+
/** Whether the daemon is running */
|
|
69
|
+
daemonRunning: boolean;
|
|
70
|
+
/** Commands available in current state */
|
|
71
|
+
availableCommands: string[];
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Tool capabilities summary for agent discovery.
|
|
75
|
+
*/
|
|
76
|
+
export interface Capabilities {
|
|
77
|
+
/** CDP protocol capabilities */
|
|
78
|
+
cdp: {
|
|
79
|
+
/** Number of CDP domains */
|
|
80
|
+
domains: number;
|
|
81
|
+
/** Number of CDP methods (approximate) */
|
|
82
|
+
methods: string;
|
|
83
|
+
};
|
|
84
|
+
/** High-level command capabilities */
|
|
85
|
+
highLevel: {
|
|
86
|
+
/** List of high-level commands available */
|
|
87
|
+
commands: string[];
|
|
88
|
+
/** Domain coverage areas */
|
|
89
|
+
coverage: string[];
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Root machine-readable help structure.
|
|
94
|
+
*/
|
|
95
|
+
export interface MachineReadableHelp {
|
|
96
|
+
/** CLI name */
|
|
97
|
+
name: string;
|
|
98
|
+
/** CLI version */
|
|
99
|
+
version: string;
|
|
100
|
+
/** CLI description */
|
|
101
|
+
description: string;
|
|
102
|
+
/** Root command metadata */
|
|
103
|
+
command: CommandMetadata;
|
|
104
|
+
/** Exit code documentation */
|
|
105
|
+
exitCodes: {
|
|
106
|
+
/** Exit code value */
|
|
107
|
+
code: number;
|
|
108
|
+
/** Exit code name */
|
|
109
|
+
name: string;
|
|
110
|
+
/** Exit code description */
|
|
111
|
+
description: string;
|
|
112
|
+
}[];
|
|
113
|
+
/** Task-to-command mappings with CDP alternatives */
|
|
114
|
+
taskMappings: Record<string, TaskMapping>;
|
|
115
|
+
/** Current runtime state */
|
|
116
|
+
runtimeState: RuntimeState;
|
|
117
|
+
/** Intent-based decision trees */
|
|
118
|
+
decisionTrees: Record<string, DecisionTree>;
|
|
119
|
+
/** Tool capabilities summary */
|
|
120
|
+
capabilities: Capabilities;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Generates machine-readable help from a Commander program.
|
|
124
|
+
*
|
|
125
|
+
* Includes comprehensive metadata for agent discovery:
|
|
126
|
+
* - Command structure and options
|
|
127
|
+
* - Exit codes with semantic meanings
|
|
128
|
+
* - Task-to-command mappings with CDP alternatives
|
|
129
|
+
* - Runtime state and command availability
|
|
130
|
+
* - Intent-based decision trees
|
|
131
|
+
* - Capabilities summary
|
|
132
|
+
*
|
|
133
|
+
* @param program - Commander program instance
|
|
134
|
+
* @returns Machine-readable help structure
|
|
135
|
+
*
|
|
136
|
+
* @example
|
|
137
|
+
* ```typescript
|
|
138
|
+
* import { program } from 'commander';
|
|
139
|
+
* import { generateMachineReadableHelp } from './help/machineReadableHelp.js';
|
|
140
|
+
*
|
|
141
|
+
* const help = generateMachineReadableHelp(program);
|
|
142
|
+
* console.log(JSON.stringify(help, null, 2));
|
|
143
|
+
* ```
|
|
144
|
+
*/
|
|
145
|
+
export declare function generateMachineReadableHelp(program: Command): MachineReadableHelp;
|
|
146
|
+
/**
|
|
147
|
+
* Generates machine-readable help for a specific subcommand.
|
|
148
|
+
*
|
|
149
|
+
* Returns the same structure as generateMachineReadableHelp but with
|
|
150
|
+
* the command field focused on the requested subcommand. If the subcommand
|
|
151
|
+
* is not found, falls back to full root help.
|
|
152
|
+
*
|
|
153
|
+
* @param program - Root Commander program instance
|
|
154
|
+
* @param commandPath - Array of command names (e.g., ['dom', 'query'])
|
|
155
|
+
* @returns Machine-readable help structure for the subcommand
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* ```typescript
|
|
159
|
+
* // Get help for 'bdg dom query'
|
|
160
|
+
* const help = generateSubcommandHelp(program, ['dom', 'query']);
|
|
161
|
+
* console.log(help.command.name); // 'query'
|
|
162
|
+
* ```
|
|
163
|
+
*/
|
|
164
|
+
export declare function generateSubcommandHelp(program: Command, commandPath: string[]): MachineReadableHelp;
|
|
165
|
+
//# sourceMappingURL=helpJson.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpJson.d.ts","sourceRoot":"","sources":["../../src/commands/helpJson.ts"],"names":[],"mappings":"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"}
|