devharness 0.9.4 → 0.9.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/build/command-recorder.d.ts +24 -0
- package/build/command-recorder.d.ts.map +1 -1
- package/build/command-recorder.js +55 -8
- package/build/command-recorder.js.map +1 -1
- package/build/config.d.ts +9 -0
- package/build/config.d.ts.map +1 -1
- package/build/config.js +10 -0
- package/build/config.js.map +1 -1
- package/build/dashboard/dashboard-hub.js +2 -2
- package/build/dashboard/dashboard-hub.js.map +1 -1
- package/build/github/gh-cli.d.ts +41 -0
- package/build/github/gh-cli.d.ts.map +1 -0
- package/build/github/gh-cli.js +147 -0
- package/build/github/gh-cli.js.map +1 -0
- package/build/github/gh-cli.test.d.ts +2 -0
- package/build/github/gh-cli.test.d.ts.map +1 -0
- package/build/github/gh-cli.test.js +145 -0
- package/build/github/gh-cli.test.js.map +1 -0
- package/build/github/gh-issues.d.ts +105 -0
- package/build/github/gh-issues.d.ts.map +1 -0
- package/build/github/gh-issues.js +199 -0
- package/build/github/gh-issues.js.map +1 -0
- package/build/github/gh-issues.test.d.ts +2 -0
- package/build/github/gh-issues.test.d.ts.map +1 -0
- package/build/github/gh-issues.test.js +118 -0
- package/build/github/gh-issues.test.js.map +1 -0
- package/build/github/issue-actions.d.ts +34 -0
- package/build/github/issue-actions.d.ts.map +1 -0
- package/build/github/issue-actions.js +530 -0
- package/build/github/issue-actions.js.map +1 -0
- package/build/github/issue-actions.test.d.ts +2 -0
- package/build/github/issue-actions.test.d.ts.map +1 -0
- package/build/github/issue-actions.test.js +555 -0
- package/build/github/issue-actions.test.js.map +1 -0
- package/build/github/issue-body.d.ts +179 -0
- package/build/github/issue-body.d.ts.map +1 -0
- package/build/github/issue-body.js +181 -0
- package/build/github/issue-body.js.map +1 -0
- package/build/github/issue-body.test.d.ts +2 -0
- package/build/github/issue-body.test.d.ts.map +1 -0
- package/build/github/issue-body.test.js +157 -0
- package/build/github/issue-body.test.js.map +1 -0
- package/build/helpers/paths.d.ts +7 -0
- package/build/helpers/paths.d.ts.map +1 -1
- package/build/helpers/paths.js +10 -1
- package/build/helpers/paths.js.map +1 -1
- package/build/index.js +7 -1
- package/build/index.js.map +1 -1
- package/build/issue-tracker.d.ts +30 -0
- package/build/issue-tracker.d.ts.map +1 -1
- package/build/issue-tracker.js +91 -1
- package/build/issue-tracker.js.map +1 -1
- package/build/issue-tracker.test.js +76 -1
- package/build/issue-tracker.test.js.map +1 -1
- package/build/tool-response.d.ts +34 -0
- package/build/tool-response.d.ts.map +1 -1
- package/build/tool-response.js.map +1 -1
- package/build/tools/assert-tools.d.ts +6 -6
- package/build/tools/breakpoint-tools.d.ts +3 -3
- package/build/tools/click-validation-console-noise.test.d.ts +2 -0
- package/build/tools/click-validation-console-noise.test.d.ts.map +1 -0
- package/build/tools/click-validation-console-noise.test.js +103 -0
- package/build/tools/click-validation-console-noise.test.js.map +1 -0
- package/build/tools/console-tools.d.ts +6 -6
- package/build/tools/console-tools.d.ts.map +1 -1
- package/build/tools/console-tools.js +1 -0
- package/build/tools/console-tools.js.map +1 -1
- package/build/tools/execution-tools.d.ts +3 -3
- package/build/tools/input-tools.d.ts +3 -3
- package/build/tools/inspection-tools.d.ts +15 -15
- package/build/tools/interpolation-reverse.d.ts +26 -0
- package/build/tools/interpolation-reverse.d.ts.map +1 -0
- package/build/tools/interpolation-reverse.js +130 -0
- package/build/tools/interpolation-reverse.js.map +1 -0
- package/build/tools/interpolation-reverse.test.d.ts +2 -0
- package/build/tools/interpolation-reverse.test.d.ts.map +1 -0
- package/build/tools/interpolation-reverse.test.js +76 -0
- package/build/tools/interpolation-reverse.test.js.map +1 -0
- package/build/tools/issues-tools.d.ts +29 -5
- package/build/tools/issues-tools.d.ts.map +1 -1
- package/build/tools/issues-tools.js +55 -5
- package/build/tools/issues-tools.js.map +1 -1
- package/build/tools/network-tools.d.ts +9 -9
- package/build/tools/replay-create-templatize.test.d.ts +2 -0
- package/build/tools/replay-create-templatize.test.d.ts.map +1 -0
- package/build/tools/replay-create-templatize.test.js +103 -0
- package/build/tools/replay-create-templatize.test.js.map +1 -0
- package/build/tools/replay-executor.d.ts +4 -0
- package/build/tools/replay-executor.d.ts.map +1 -1
- package/build/tools/replay-executor.js +39 -10
- package/build/tools/replay-executor.js.map +1 -1
- package/build/tools/replay-sequence-reload.test.js +23 -7
- package/build/tools/replay-sequence-reload.test.js.map +1 -1
- package/build/tools/replay-tools.d.ts +18 -18
- package/build/tools/replay-tools.d.ts.map +1 -1
- package/build/tools/replay-tools.js +6 -5
- package/build/tools/replay-tools.js.map +1 -1
- package/build/tools/request-tools.d.ts +1 -1
- package/build/tools/storage-tools.d.ts +6 -6
- package/docs/instructions.md +3 -1
- package/docs/messages.md +452 -1
- package/package.json +1 -1
- package/plugin/skills/devharness/SKILL.md +1 -1
- package/plugin/skills/devharness/references/sequences.md +6 -1
- package/plugin/skills/devharness/references/tool-categories.md +8 -1
|
@@ -91,6 +91,7 @@ function buildListResponse(messages, headerText, action, monitor) {
|
|
|
91
91
|
warnCount: monitor.getCount('warn'),
|
|
92
92
|
truncatedCount,
|
|
93
93
|
totalTokens,
|
|
94
|
+
entries: messages.map(m => ({ id: m.id, type: m.type, ...(m.location?.url && { url: m.location.url }) })),
|
|
94
95
|
},
|
|
95
96
|
},
|
|
96
97
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console-tools.js","sourceRoot":"","sources":["../../src/tools/console-tools.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"console-tools.js","sourceRoot":"","sources":["../../src/tools/console-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,10 +19,10 @@ retryPendingRestart?: (port: number) => void): {
|
|
|
19
19
|
action: z.ZodEnum<["pause", "resume", "stepOver", "stepInto", "stepOut", "acknowledge"]>;
|
|
20
20
|
connectionReason: z.ZodOptional<z.ZodString>;
|
|
21
21
|
}, "strict", z.ZodTypeAny, {
|
|
22
|
-
action: "acknowledge" | "
|
|
22
|
+
action: "acknowledge" | "resume" | "pause" | "stepOver" | "stepInto" | "stepOut";
|
|
23
23
|
connectionReason?: string | undefined;
|
|
24
24
|
}, {
|
|
25
|
-
action: "acknowledge" | "
|
|
25
|
+
action: "acknowledge" | "resume" | "pause" | "stepOver" | "stepInto" | "stepOut";
|
|
26
26
|
connectionReason?: string | undefined;
|
|
27
27
|
}>;
|
|
28
28
|
inputSchema: import("zod-to-json-schema").JsonSchema7Type & {
|
|
@@ -32,7 +32,7 @@ retryPendingRestart?: (port: number) => void): {
|
|
|
32
32
|
} | undefined;
|
|
33
33
|
};
|
|
34
34
|
handler: (args: {
|
|
35
|
-
action: "acknowledge" | "
|
|
35
|
+
action: "acknowledge" | "resume" | "pause" | "stepOver" | "stepInto" | "stepOut";
|
|
36
36
|
connectionReason?: string | undefined;
|
|
37
37
|
}, abortSignal?: AbortSignal) => Promise<any>;
|
|
38
38
|
};
|
|
@@ -74,13 +74,13 @@ export declare function createInputTools(puppeteerManager: PuppeteerManager, cdp
|
|
|
74
74
|
y: number;
|
|
75
75
|
} | undefined;
|
|
76
76
|
x?: number | undefined;
|
|
77
|
-
delay?: number | undefined;
|
|
78
77
|
y?: number | undefined;
|
|
79
78
|
durationMs?: number | undefined;
|
|
80
79
|
from?: {
|
|
81
80
|
x: number;
|
|
82
81
|
y: number;
|
|
83
82
|
} | undefined;
|
|
83
|
+
delay?: number | undefined;
|
|
84
84
|
append?: boolean | undefined;
|
|
85
85
|
handleModals?: boolean | undefined;
|
|
86
86
|
dismissStrategy?: "close" | "remove" | "auto" | "accept" | "reject" | undefined;
|
|
@@ -105,13 +105,13 @@ export declare function createInputTools(puppeteerManager: PuppeteerManager, cdp
|
|
|
105
105
|
y: number;
|
|
106
106
|
} | undefined;
|
|
107
107
|
x?: number | undefined;
|
|
108
|
-
delay?: number | undefined;
|
|
109
108
|
y?: number | undefined;
|
|
110
109
|
durationMs?: number | undefined;
|
|
111
110
|
from?: {
|
|
112
111
|
x: number;
|
|
113
112
|
y: number;
|
|
114
113
|
} | undefined;
|
|
114
|
+
delay?: number | undefined;
|
|
115
115
|
append?: boolean | undefined;
|
|
116
116
|
handleModals?: boolean | undefined;
|
|
117
117
|
dismissStrategy?: "close" | "remove" | "auto" | "accept" | "reject" | undefined;
|
|
@@ -143,13 +143,13 @@ export declare function createInputTools(puppeteerManager: PuppeteerManager, cdp
|
|
|
143
143
|
y: number;
|
|
144
144
|
} | undefined;
|
|
145
145
|
x?: number | undefined;
|
|
146
|
-
delay?: number | undefined;
|
|
147
146
|
y?: number | undefined;
|
|
148
147
|
durationMs?: number | undefined;
|
|
149
148
|
from?: {
|
|
150
149
|
x: number;
|
|
151
150
|
y: number;
|
|
152
151
|
} | undefined;
|
|
152
|
+
delay?: number | undefined;
|
|
153
153
|
append?: boolean | undefined;
|
|
154
154
|
handleModals?: boolean | undefined;
|
|
155
155
|
dismissStrategy?: "close" | "remove" | "auto" | "accept" | "reject" | undefined;
|
|
@@ -46,41 +46,41 @@ export declare function createInspectionTools(cdpManager: CDPManager, sourceMapH
|
|
|
46
46
|
limit: z.ZodOptional<z.ZodNumber>;
|
|
47
47
|
functionName: z.ZodOptional<z.ZodString>;
|
|
48
48
|
}, "strict", z.ZodTypeAny, {
|
|
49
|
-
action: "
|
|
49
|
+
action: "evaluateExpression" | "getCallStack" | "getVariables" | "searchCode" | "searchFunctions";
|
|
50
50
|
filter?: string | undefined;
|
|
51
51
|
awaitPromise?: boolean | undefined;
|
|
52
52
|
expression?: string | undefined;
|
|
53
|
-
functionName?: string | undefined;
|
|
54
53
|
connectionReason?: string | undefined;
|
|
55
54
|
callFrameId?: string | undefined;
|
|
55
|
+
functionName?: string | undefined;
|
|
56
|
+
limit?: number | undefined;
|
|
57
|
+
saveAs?: string | undefined;
|
|
58
|
+
pattern?: string | undefined;
|
|
56
59
|
includeGlobal?: boolean | undefined;
|
|
57
60
|
expandObjects?: boolean | undefined;
|
|
58
61
|
maxDepth?: number | undefined;
|
|
59
62
|
maxTokens?: number | undefined;
|
|
60
|
-
saveAs?: string | undefined;
|
|
61
|
-
pattern?: string | undefined;
|
|
62
63
|
caseSensitive?: boolean | undefined;
|
|
63
64
|
isRegex?: boolean | undefined;
|
|
64
65
|
urlFilter?: string | undefined;
|
|
65
|
-
limit?: number | undefined;
|
|
66
66
|
}, {
|
|
67
|
-
action: "
|
|
67
|
+
action: "evaluateExpression" | "getCallStack" | "getVariables" | "searchCode" | "searchFunctions";
|
|
68
68
|
filter?: string | undefined;
|
|
69
69
|
awaitPromise?: boolean | undefined;
|
|
70
70
|
expression?: string | undefined;
|
|
71
|
-
functionName?: string | undefined;
|
|
72
71
|
connectionReason?: string | undefined;
|
|
73
72
|
callFrameId?: string | undefined;
|
|
73
|
+
functionName?: string | undefined;
|
|
74
|
+
limit?: number | undefined;
|
|
75
|
+
saveAs?: string | undefined;
|
|
76
|
+
pattern?: string | undefined;
|
|
74
77
|
includeGlobal?: boolean | undefined;
|
|
75
78
|
expandObjects?: boolean | undefined;
|
|
76
79
|
maxDepth?: number | undefined;
|
|
77
80
|
maxTokens?: number | undefined;
|
|
78
|
-
saveAs?: string | undefined;
|
|
79
|
-
pattern?: string | undefined;
|
|
80
81
|
caseSensitive?: boolean | undefined;
|
|
81
82
|
isRegex?: boolean | undefined;
|
|
82
83
|
urlFilter?: string | undefined;
|
|
83
|
-
limit?: number | undefined;
|
|
84
84
|
}>;
|
|
85
85
|
inputSchema: import("zod-to-json-schema").JsonSchema7Type & {
|
|
86
86
|
$schema?: string | undefined;
|
|
@@ -89,23 +89,23 @@ export declare function createInspectionTools(cdpManager: CDPManager, sourceMapH
|
|
|
89
89
|
} | undefined;
|
|
90
90
|
};
|
|
91
91
|
handler: (args: {
|
|
92
|
-
action: "
|
|
92
|
+
action: "evaluateExpression" | "getCallStack" | "getVariables" | "searchCode" | "searchFunctions";
|
|
93
93
|
filter?: string | undefined;
|
|
94
94
|
awaitPromise?: boolean | undefined;
|
|
95
95
|
expression?: string | undefined;
|
|
96
|
-
functionName?: string | undefined;
|
|
97
96
|
connectionReason?: string | undefined;
|
|
98
97
|
callFrameId?: string | undefined;
|
|
98
|
+
functionName?: string | undefined;
|
|
99
|
+
limit?: number | undefined;
|
|
100
|
+
saveAs?: string | undefined;
|
|
101
|
+
pattern?: string | undefined;
|
|
99
102
|
includeGlobal?: boolean | undefined;
|
|
100
103
|
expandObjects?: boolean | undefined;
|
|
101
104
|
maxDepth?: number | undefined;
|
|
102
105
|
maxTokens?: number | undefined;
|
|
103
|
-
saveAs?: string | undefined;
|
|
104
|
-
pattern?: string | undefined;
|
|
105
106
|
caseSensitive?: boolean | undefined;
|
|
106
107
|
isRegex?: boolean | undefined;
|
|
107
108
|
urlFilter?: string | undefined;
|
|
108
|
-
limit?: number | undefined;
|
|
109
109
|
}, abortSignal?: AbortSignal) => Promise<any>;
|
|
110
110
|
};
|
|
111
111
|
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The inverse of interpolation.ts: given values a `saveAs` step already
|
|
3
|
+
* captured earlier in the same history, find literal values in a later
|
|
4
|
+
* step's params that came from those captures and rewrite them back to
|
|
5
|
+
* `{{var:name.path}}` tokens - what a person hand-templatizing a recorded
|
|
6
|
+
* sequence does today (see references/sequences.md).
|
|
7
|
+
*
|
|
8
|
+
* Two match shapes, both driven by exact string/number equality (never
|
|
9
|
+
* fuzzy): a param leaf whose ENTIRE value equals a captured value anywhere
|
|
10
|
+
* in its tree, and a captured value appearing as a SUBSTRING inside a larger
|
|
11
|
+
* string leaf (e.g. an id embedded in a CSS selector). The substring case is
|
|
12
|
+
* pattern-matching inside arbitrary text, so it additionally guards against
|
|
13
|
+
* common short values (small numbers, HTTP-status-shaped numbers, booleans)
|
|
14
|
+
* that would otherwise false-positive against unrelated params.
|
|
15
|
+
*/
|
|
16
|
+
export interface CaptureEntry {
|
|
17
|
+
name: string;
|
|
18
|
+
value: unknown;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Rewrite literal values in `params` that match an earlier `saveAs` capture
|
|
22
|
+
* back into `{{var:name.path}}` references. `captures` must only contain
|
|
23
|
+
* steps that precede this one in the sequence being built.
|
|
24
|
+
*/
|
|
25
|
+
export declare function substituteCapturedValues(params: Record<string, any>, captures: CaptureEntry[]): Record<string, any>;
|
|
26
|
+
//# sourceMappingURL=interpolation-reverse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interpolation-reverse.d.ts","sourceRoot":"","sources":["../../src/tools/interpolation-reverse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAwGD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAGnH"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The inverse of interpolation.ts: given values a `saveAs` step already
|
|
3
|
+
* captured earlier in the same history, find literal values in a later
|
|
4
|
+
* step's params that came from those captures and rewrite them back to
|
|
5
|
+
* `{{var:name.path}}` tokens - what a person hand-templatizing a recorded
|
|
6
|
+
* sequence does today (see references/sequences.md).
|
|
7
|
+
*
|
|
8
|
+
* Two match shapes, both driven by exact string/number equality (never
|
|
9
|
+
* fuzzy): a param leaf whose ENTIRE value equals a captured value anywhere
|
|
10
|
+
* in its tree, and a captured value appearing as a SUBSTRING inside a larger
|
|
11
|
+
* string leaf (e.g. an id embedded in a CSS selector). The substring case is
|
|
12
|
+
* pattern-matching inside arbitrary text, so it additionally guards against
|
|
13
|
+
* common short values (small numbers, HTTP-status-shaped numbers, booleans)
|
|
14
|
+
* that would otherwise false-positive against unrelated params.
|
|
15
|
+
*/
|
|
16
|
+
const MAX_DEPTH = 6;
|
|
17
|
+
/** Whole-value match: any string/number, however short - it's an exact
|
|
18
|
+
* equality on the ENTIRE leaf, not a substring, so the false-positive risk
|
|
19
|
+
* a length floor exists to prevent doesn't apply here. */
|
|
20
|
+
const MIN_WHOLE_STRING_LEN = 1;
|
|
21
|
+
/** Substring match: a captured value gets pattern-matched against arbitrary
|
|
22
|
+
* text, so short/common values need a floor - "2" appearing inside a
|
|
23
|
+
* string is not evidence it came from a capture. */
|
|
24
|
+
const MIN_EMBED_LEN = 4;
|
|
25
|
+
/** Numbers common enough by coincidence (HTTP statuses, small counters,
|
|
26
|
+
* booleans-as-0/1) that matching them proves nothing about provenance. */
|
|
27
|
+
const COMMON_NUMBER_BLOCKLIST = new Set([
|
|
28
|
+
0, 1, 2, 3, 4, 5, 10, 100,
|
|
29
|
+
200, 201, 202, 204, 301, 302, 304, 400, 401, 403, 404, 405, 409, 422, 429, 500, 502, 503, 504,
|
|
30
|
+
]);
|
|
31
|
+
function isSubstitutableNumber(n) {
|
|
32
|
+
return Number.isFinite(n) && !COMMON_NUMBER_BLOCKLIST.has(n);
|
|
33
|
+
}
|
|
34
|
+
/** DFS for a path to a leaf inside `tree` that strictly equals `target`. */
|
|
35
|
+
function findPath(tree, target, path = [], depth = 0) {
|
|
36
|
+
if (tree === target)
|
|
37
|
+
return path;
|
|
38
|
+
if (depth >= MAX_DEPTH || tree === null || typeof tree !== 'object')
|
|
39
|
+
return null;
|
|
40
|
+
for (const key of Object.keys(tree)) {
|
|
41
|
+
const found = findPath(tree[key], target, [...path, key], depth + 1);
|
|
42
|
+
if (found)
|
|
43
|
+
return found;
|
|
44
|
+
}
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
function pathToVarToken(name, path) {
|
|
48
|
+
let out = name;
|
|
49
|
+
for (const seg of path) {
|
|
50
|
+
out += /^[^.[\]]+$/.test(seg) ? `.${seg}` : `['${seg}']`;
|
|
51
|
+
}
|
|
52
|
+
return `{{var:${out}}}`;
|
|
53
|
+
}
|
|
54
|
+
/** Try a whole-leaf match (the entire param value equals a captured value). */
|
|
55
|
+
function matchWhole(value, captures) {
|
|
56
|
+
if (typeof value === 'string' && value.length < MIN_WHOLE_STRING_LEN)
|
|
57
|
+
return null;
|
|
58
|
+
if (typeof value === 'number' && !isSubstitutableNumber(value))
|
|
59
|
+
return null;
|
|
60
|
+
for (const capture of captures) {
|
|
61
|
+
const path = findPath(capture.value, value);
|
|
62
|
+
if (path)
|
|
63
|
+
return pathToVarToken(capture.name, path);
|
|
64
|
+
}
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
function collectLeaves(tree, path = [], depth = 0, out = []) {
|
|
68
|
+
if (depth >= MAX_DEPTH || tree === null || tree === undefined)
|
|
69
|
+
return out;
|
|
70
|
+
if (typeof tree === 'string') {
|
|
71
|
+
if (tree.length >= MIN_EMBED_LEN)
|
|
72
|
+
out.push({ path, str: tree });
|
|
73
|
+
}
|
|
74
|
+
else if (typeof tree === 'number') {
|
|
75
|
+
if (isSubstitutableNumber(tree) && String(tree).length >= MIN_EMBED_LEN)
|
|
76
|
+
out.push({ path, str: String(tree) });
|
|
77
|
+
}
|
|
78
|
+
else if (typeof tree === 'object') {
|
|
79
|
+
for (const key of Object.keys(tree)) {
|
|
80
|
+
collectLeaves(tree[key], [...path, key], depth + 1, out);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return out;
|
|
84
|
+
}
|
|
85
|
+
/** Replace every occurrence of a capture's leaf values inside `str`, longest
|
|
86
|
+
* match first so a longer id doesn't get partially clobbered by a shorter
|
|
87
|
+
* one nested inside it. */
|
|
88
|
+
function substituteEmbedded(str, capture) {
|
|
89
|
+
const leaves = collectLeaves(capture.value).sort((a, b) => b.str.length - a.str.length);
|
|
90
|
+
let result = str;
|
|
91
|
+
for (const leaf of leaves) {
|
|
92
|
+
if (result.includes(leaf.str)) {
|
|
93
|
+
result = result.split(leaf.str).join(pathToVarToken(capture.name, leaf.path));
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return result;
|
|
97
|
+
}
|
|
98
|
+
function walk(value, captures) {
|
|
99
|
+
if (Array.isArray(value))
|
|
100
|
+
return value.map(item => walk(item, captures));
|
|
101
|
+
if (value !== null && typeof value === 'object') {
|
|
102
|
+
const out = {};
|
|
103
|
+
for (const key of Object.keys(value))
|
|
104
|
+
out[key] = walk(value[key], captures);
|
|
105
|
+
return out;
|
|
106
|
+
}
|
|
107
|
+
if (typeof value === 'string' || typeof value === 'number') {
|
|
108
|
+
const whole = matchWhole(value, captures);
|
|
109
|
+
if (whole)
|
|
110
|
+
return whole;
|
|
111
|
+
if (typeof value === 'string') {
|
|
112
|
+
let result = value;
|
|
113
|
+
for (const capture of captures)
|
|
114
|
+
result = substituteEmbedded(result, capture);
|
|
115
|
+
return result;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return value;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Rewrite literal values in `params` that match an earlier `saveAs` capture
|
|
122
|
+
* back into `{{var:name.path}}` references. `captures` must only contain
|
|
123
|
+
* steps that precede this one in the sequence being built.
|
|
124
|
+
*/
|
|
125
|
+
export function substituteCapturedValues(params, captures) {
|
|
126
|
+
if (captures.length === 0)
|
|
127
|
+
return params;
|
|
128
|
+
return walk(params, captures);
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=interpolation-reverse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interpolation-reverse.js","sourceRoot":"","sources":["../../src/tools/interpolation-reverse.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interpolation-reverse.test.d.ts","sourceRoot":"","sources":["../../src/tools/interpolation-reverse.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { substituteCapturedValues } from './interpolation-reverse.js';
|
|
3
|
+
import { interpolateParams } from './interpolation.js';
|
|
4
|
+
describe('substituteCapturedValues', () => {
|
|
5
|
+
it('rewrites a whole-value literal that matches a captured value', () => {
|
|
6
|
+
const captures = [
|
|
7
|
+
{ name: 'mint', value: { ok: true, status: 200, body: { url: 'https://app.test/mint/abc123def' } } },
|
|
8
|
+
];
|
|
9
|
+
const params = { action: 'goto', url: 'https://app.test/mint/abc123def' };
|
|
10
|
+
expect(substituteCapturedValues(params, captures)).toEqual({
|
|
11
|
+
action: 'goto',
|
|
12
|
+
url: '{{var:mint.body.url}}',
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
it('rewrites a literal embedded inside a larger string (e.g. a CSS selector)', () => {
|
|
16
|
+
const captures = [{ name: 'personId', value: 48213 }];
|
|
17
|
+
const params = { selector: '[data-row-key="48213"]' };
|
|
18
|
+
expect(substituteCapturedValues(params, captures)).toEqual({
|
|
19
|
+
selector: '[data-row-key="{{var:personId}}"]',
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
it('emits a bare {{var:name}} token when the capture itself is the leaf (no nesting)', () => {
|
|
23
|
+
const captures = [{ name: 'personId', value: 48213 }];
|
|
24
|
+
const params = { id: 48213 };
|
|
25
|
+
expect(substituteCapturedValues(params, captures)).toEqual({ id: '{{var:personId}}' });
|
|
26
|
+
});
|
|
27
|
+
it('does not substitute a small/common number even if it exactly matches a capture', () => {
|
|
28
|
+
const captures = [{ name: 'mint', value: { status: 200 } }];
|
|
29
|
+
const params = { retryStatus: 200 };
|
|
30
|
+
expect(substituteCapturedValues(params, captures)).toEqual({ retryStatus: 200 });
|
|
31
|
+
});
|
|
32
|
+
it('does not substitute booleans', () => {
|
|
33
|
+
const captures = [{ name: 'mint', value: { ok: true } }];
|
|
34
|
+
const params = { enabled: true };
|
|
35
|
+
expect(substituteCapturedValues(params, captures)).toEqual({ enabled: true });
|
|
36
|
+
});
|
|
37
|
+
it('does not substitute a short embedded value below the length floor', () => {
|
|
38
|
+
const captures = [{ name: 'code', value: 'ab' }];
|
|
39
|
+
const params = { path: '/x/ab/y' };
|
|
40
|
+
expect(substituteCapturedValues(params, captures)).toEqual({ path: '/x/ab/y' });
|
|
41
|
+
});
|
|
42
|
+
it('leaves unrelated literals untouched', () => {
|
|
43
|
+
const captures = [{ name: 'mint', value: { body: { url: 'https://app.test/mint/abc123def' } } }];
|
|
44
|
+
const params = { action: 'goto', url: 'https://app.test/other-page' };
|
|
45
|
+
expect(substituteCapturedValues(params, captures)).toEqual(params);
|
|
46
|
+
});
|
|
47
|
+
it('walks arrays and nested objects', () => {
|
|
48
|
+
const captures = [{ name: 'personId', value: 48213 }];
|
|
49
|
+
const params = { rows: [{ id: 48213 }, { id: 999999 }] };
|
|
50
|
+
expect(substituteCapturedValues(params, captures)).toEqual({
|
|
51
|
+
rows: [{ id: '{{var:personId}}' }, { id: 999999 }],
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
it('prefers the earliest capture on a value collision', () => {
|
|
55
|
+
const captures = [
|
|
56
|
+
{ name: 'first', value: 'shared-value-123' },
|
|
57
|
+
{ name: 'second', value: 'shared-value-123' },
|
|
58
|
+
];
|
|
59
|
+
const params = { x: 'shared-value-123' };
|
|
60
|
+
expect(substituteCapturedValues(params, captures)).toEqual({ x: '{{var:first}}' });
|
|
61
|
+
});
|
|
62
|
+
it('is a no-op with no captures', () => {
|
|
63
|
+
const params = { url: 'https://app.test/mint/abc123def' };
|
|
64
|
+
expect(substituteCapturedValues(params, [])).toBe(params);
|
|
65
|
+
});
|
|
66
|
+
it('produces tokens that interpolateParams resolves back to the original value', () => {
|
|
67
|
+
const captures = [
|
|
68
|
+
{ name: 'mint', value: { ok: true, status: 200, body: { url: 'https://app.test/mint/abc123def' } } },
|
|
69
|
+
];
|
|
70
|
+
const params = { url: 'https://app.test/mint/abc123def' };
|
|
71
|
+
const substituted = substituteCapturedValues(params, captures);
|
|
72
|
+
const store = { mint: captures[0].value };
|
|
73
|
+
expect(interpolateParams(substituted, store, 0).url).toBe('https://app.test/mint/abc123def');
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
//# sourceMappingURL=interpolation-reverse.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interpolation-reverse.test.js","sourceRoot":"","sources":["../../src/tools/interpolation-reverse.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,11 +14,11 @@ import type { ExecuteToolCall } from '../types.js';
|
|
|
14
14
|
* Exported so tests can pass a much shorter value.
|
|
15
15
|
*/
|
|
16
16
|
export declare const DEFAULT_RESOLVE_VERIFICATION_TIMEOUT_MS = 150000;
|
|
17
|
-
export declare function createIssuesTools(executeToolCall: ExecuteToolCall, getSequencePath?: (name: string) => Promise<string | null>, getPageForConnection?: (connectionReason: string) => Promise<any
|
|
17
|
+
export declare function createIssuesTools(executeToolCall: ExecuteToolCall, getSequencePath?: (name: string) => Promise<string | null>, getPageForConnection?: (connectionReason: string) => Promise<any>, getKnownToolNames?: () => string[]): {
|
|
18
18
|
issues: {
|
|
19
19
|
description: string;
|
|
20
20
|
zodSchema: z.ZodObject<{
|
|
21
|
-
action: z.ZodEnum<["list", "create", "workOn", "resolve", "acknowledge", "comment"]>;
|
|
21
|
+
action: z.ZodEnum<["list", "create", "workOn", "resolve", "acknowledge", "comment", "publish", "sync", "import", "link", "pullSequence"]>;
|
|
22
22
|
id: z.ZodOptional<z.ZodNumber>;
|
|
23
23
|
type: z.ZodOptional<z.ZodEnum<["bug", "feature"]>>;
|
|
24
24
|
status: z.ZodOptional<z.ZodEnum<["pending", "acknowledged", "in_progress", "fixed", "implemented"]>>;
|
|
@@ -34,11 +34,18 @@ export declare function createIssuesTools(executeToolCall: ExecuteToolCall, getS
|
|
|
34
34
|
search: z.ZodOptional<z.ZodString>;
|
|
35
35
|
includeCompleted: z.ZodOptional<z.ZodBoolean>;
|
|
36
36
|
includeSequence: z.ZodOptional<z.ZodBoolean>;
|
|
37
|
+
confirm: z.ZodOptional<z.ZodBoolean>;
|
|
38
|
+
github: z.ZodOptional<z.ZodNumber>;
|
|
39
|
+
repo: z.ZodOptional<z.ZodString>;
|
|
40
|
+
take: z.ZodOptional<z.ZodEnum<["local", "remote"]>>;
|
|
41
|
+
fromComment: z.ZodOptional<z.ZodNumber>;
|
|
42
|
+
allowPrivilegedSteps: z.ZodOptional<z.ZodBoolean>;
|
|
37
43
|
}, "strict", z.ZodTypeAny, {
|
|
38
|
-
action: "list" | "resolve" | "acknowledge" | "comment" | "create" | "workOn";
|
|
44
|
+
action: "link" | "list" | "publish" | "sync" | "import" | "pullSequence" | "resolve" | "acknowledge" | "comment" | "create" | "workOn";
|
|
39
45
|
type?: "bug" | "feature" | undefined;
|
|
40
46
|
status?: "fixed" | "acknowledged" | "pending" | "in_progress" | "implemented" | undefined;
|
|
41
47
|
search?: string | undefined;
|
|
48
|
+
github?: number | undefined;
|
|
42
49
|
id?: number | undefined;
|
|
43
50
|
text?: string | undefined;
|
|
44
51
|
body?: string | undefined;
|
|
@@ -49,13 +56,19 @@ export declare function createIssuesTools(executeToolCall: ExecuteToolCall, getS
|
|
|
49
56
|
connectionReason?: string | undefined;
|
|
50
57
|
sequenceName?: string | undefined;
|
|
51
58
|
connections?: Record<string, string> | undefined;
|
|
59
|
+
repo?: string | undefined;
|
|
52
60
|
keepBrowserOpen?: boolean | undefined;
|
|
53
61
|
includeSequence?: boolean | undefined;
|
|
62
|
+
confirm?: boolean | undefined;
|
|
63
|
+
take?: "local" | "remote" | undefined;
|
|
64
|
+
fromComment?: number | undefined;
|
|
65
|
+
allowPrivilegedSteps?: boolean | undefined;
|
|
54
66
|
}, {
|
|
55
|
-
action: "list" | "resolve" | "acknowledge" | "comment" | "create" | "workOn";
|
|
67
|
+
action: "link" | "list" | "publish" | "sync" | "import" | "pullSequence" | "resolve" | "acknowledge" | "comment" | "create" | "workOn";
|
|
56
68
|
type?: "bug" | "feature" | undefined;
|
|
57
69
|
status?: "fixed" | "acknowledged" | "pending" | "in_progress" | "implemented" | undefined;
|
|
58
70
|
search?: string | undefined;
|
|
71
|
+
github?: number | undefined;
|
|
59
72
|
id?: number | undefined;
|
|
60
73
|
text?: string | undefined;
|
|
61
74
|
body?: string | undefined;
|
|
@@ -66,8 +79,13 @@ export declare function createIssuesTools(executeToolCall: ExecuteToolCall, getS
|
|
|
66
79
|
connectionReason?: string | undefined;
|
|
67
80
|
sequenceName?: string | undefined;
|
|
68
81
|
connections?: Record<string, string> | undefined;
|
|
82
|
+
repo?: string | undefined;
|
|
69
83
|
keepBrowserOpen?: boolean | undefined;
|
|
70
84
|
includeSequence?: boolean | undefined;
|
|
85
|
+
confirm?: boolean | undefined;
|
|
86
|
+
take?: "local" | "remote" | undefined;
|
|
87
|
+
fromComment?: number | undefined;
|
|
88
|
+
allowPrivilegedSteps?: boolean | undefined;
|
|
71
89
|
}>;
|
|
72
90
|
inputSchema: import("zod-to-json-schema").JsonSchema7Type & {
|
|
73
91
|
$schema?: string | undefined;
|
|
@@ -76,10 +94,11 @@ export declare function createIssuesTools(executeToolCall: ExecuteToolCall, getS
|
|
|
76
94
|
} | undefined;
|
|
77
95
|
};
|
|
78
96
|
handler: (args: {
|
|
79
|
-
action: "list" | "resolve" | "acknowledge" | "comment" | "create" | "workOn";
|
|
97
|
+
action: "link" | "list" | "publish" | "sync" | "import" | "pullSequence" | "resolve" | "acknowledge" | "comment" | "create" | "workOn";
|
|
80
98
|
type?: "bug" | "feature" | undefined;
|
|
81
99
|
status?: "fixed" | "acknowledged" | "pending" | "in_progress" | "implemented" | undefined;
|
|
82
100
|
search?: string | undefined;
|
|
101
|
+
github?: number | undefined;
|
|
83
102
|
id?: number | undefined;
|
|
84
103
|
text?: string | undefined;
|
|
85
104
|
body?: string | undefined;
|
|
@@ -90,8 +109,13 @@ export declare function createIssuesTools(executeToolCall: ExecuteToolCall, getS
|
|
|
90
109
|
connectionReason?: string | undefined;
|
|
91
110
|
sequenceName?: string | undefined;
|
|
92
111
|
connections?: Record<string, string> | undefined;
|
|
112
|
+
repo?: string | undefined;
|
|
93
113
|
keepBrowserOpen?: boolean | undefined;
|
|
94
114
|
includeSequence?: boolean | undefined;
|
|
115
|
+
confirm?: boolean | undefined;
|
|
116
|
+
take?: "local" | "remote" | undefined;
|
|
117
|
+
fromComment?: number | undefined;
|
|
118
|
+
allowPrivilegedSteps?: boolean | undefined;
|
|
95
119
|
}, abortSignal?: AbortSignal) => Promise<any>;
|
|
96
120
|
};
|
|
97
121
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issues-tools.d.ts","sourceRoot":"","sources":["../../src/tools/issues-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"issues-tools.d.ts","sourceRoot":"","sources":["../../src/tools/issues-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAgGnD;;;;;;;;GAQG;AACH,eAAO,MAAM,uCAAuC,SAAU,CAAC;AAkI/D,wBAAgB,iBAAiB,CAC/B,eAAe,EAAE,eAAe,EAChC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EAC1D,oBAAoB,CAAC,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,EACjE,iBAAiB,CAAC,EAAE,MAAM,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwuBnC"}
|