common-qa-mcp 0.12.0 → 0.13.0
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/adapters/remoteMcp/adapter.js +1 -1
- package/dist/adapters/simplifyqa/adapter.d.ts +29 -0
- package/dist/adapters/simplifyqa/adapter.d.ts.map +1 -1
- package/dist/adapters/simplifyqa/adapter.js +143 -17
- package/dist/adapters/simplifyqa/adapter.js.map +1 -1
- package/dist/adapters/simplifyqa/executionFailures.d.ts +59 -0
- package/dist/adapters/simplifyqa/executionFailures.d.ts.map +1 -0
- package/dist/adapters/simplifyqa/executionFailures.js +638 -0
- package/dist/adapters/simplifyqa/executionFailures.js.map +1 -0
- package/dist/adapters/simplifyqa/failureCategory.d.ts +26 -0
- package/dist/adapters/simplifyqa/failureCategory.d.ts.map +1 -0
- package/dist/adapters/simplifyqa/failureCategory.js +208 -0
- package/dist/adapters/simplifyqa/failureCategory.js.map +1 -0
- package/dist/adapters/simplifyqa/failureReport.d.ts +50 -0
- package/dist/adapters/simplifyqa/failureReport.d.ts.map +1 -0
- package/dist/adapters/simplifyqa/failureReport.js +353 -0
- package/dist/adapters/simplifyqa/failureReport.js.map +1 -0
- package/dist/adapters/simplifyqa/failureTypes.d.ts +193 -0
- package/dist/adapters/simplifyqa/failureTypes.d.ts.map +1 -0
- package/dist/adapters/simplifyqa/failureTypes.js +8 -0
- package/dist/adapters/simplifyqa/failureTypes.js.map +1 -0
- package/dist/adapters/simplifyqa/flow.d.ts +55 -0
- package/dist/adapters/simplifyqa/flow.d.ts.map +1 -0
- package/dist/adapters/simplifyqa/flow.js +325 -0
- package/dist/adapters/simplifyqa/flow.js.map +1 -0
- package/dist/adapters/simplifyqa/mapLimit.d.ts +3 -0
- package/dist/adapters/simplifyqa/mapLimit.d.ts.map +1 -0
- package/dist/adapters/simplifyqa/mapLimit.js +14 -0
- package/dist/adapters/simplifyqa/mapLimit.js.map +1 -0
- package/dist/adapters/simplifyqa/mapper.d.ts +3 -0
- package/dist/adapters/simplifyqa/mapper.d.ts.map +1 -1
- package/dist/adapters/simplifyqa/mapper.js +6 -7
- package/dist/adapters/simplifyqa/mapper.js.map +1 -1
- package/dist/adapters/simplifyqa/planTree.d.ts +31 -0
- package/dist/adapters/simplifyqa/planTree.d.ts.map +1 -0
- package/dist/adapters/simplifyqa/planTree.js +110 -0
- package/dist/adapters/simplifyqa/planTree.js.map +1 -0
- package/dist/adapters/simplifyqa/searchEngine.d.ts +237 -0
- package/dist/adapters/simplifyqa/searchEngine.d.ts.map +1 -0
- package/dist/adapters/simplifyqa/searchEngine.js +1206 -0
- package/dist/adapters/simplifyqa/searchEngine.js.map +1 -0
- package/dist/adapters/simplifyqa/searchRegistry.d.ts +112 -0
- package/dist/adapters/simplifyqa/searchRegistry.d.ts.map +1 -0
- package/dist/adapters/simplifyqa/searchRegistry.js +1413 -0
- package/dist/adapters/simplifyqa/searchRegistry.js.map +1 -0
- package/dist/adapters/simplifyqa/searchResolve.d.ts +84 -0
- package/dist/adapters/simplifyqa/searchResolve.d.ts.map +1 -0
- package/dist/adapters/simplifyqa/searchResolve.js +319 -0
- package/dist/adapters/simplifyqa/searchResolve.js.map +1 -0
- package/dist/adapters/simplifyqa/stepRules.d.ts +91 -0
- package/dist/adapters/simplifyqa/stepRules.d.ts.map +1 -0
- package/dist/adapters/simplifyqa/stepRules.js +228 -0
- package/dist/adapters/simplifyqa/stepRules.js.map +1 -0
- package/dist/domain/types.d.ts +4 -2
- package/dist/domain/types.d.ts.map +1 -1
- package/dist/initAgents.d.ts.map +1 -1
- package/dist/initAgents.js +32 -9
- package/dist/initAgents.js.map +1 -1
- package/dist/mcpResult.d.ts +19 -0
- package/dist/mcpResult.d.ts.map +1 -1
- package/dist/mcpResult.js +11 -0
- package/dist/mcpResult.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +70 -16
- package/dist/server.js.map +1 -1
- package/dist/tools/discovery.tools.d.ts.map +1 -1
- package/dist/tools/discovery.tools.js +36 -10
- package/dist/tools/discovery.tools.js.map +1 -1
- package/dist/tools/failure.tools.d.ts +14 -0
- package/dist/tools/failure.tools.d.ts.map +1 -0
- package/dist/tools/failure.tools.js +65 -0
- package/dist/tools/failure.tools.js.map +1 -0
- package/dist/tools/query.tools.d.ts +20 -0
- package/dist/tools/query.tools.d.ts.map +1 -0
- package/dist/tools/query.tools.js +310 -0
- package/dist/tools/query.tools.js.map +1 -0
- package/dist/tools/testcase.tools.d.ts.map +1 -1
- package/dist/tools/testcase.tools.js +1 -2
- package/dist/tools/testcase.tools.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"searchRegistry.js","sourceRoot":"","sources":["../../../src/adapters/simplifyqa/searchRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Filter-word → stored-value matching for `sqa_query`, ported from the AI assistant so both read a
|
|
3
|
+
* question the same way (AI/ai-assistant `src/tools/_lib/lifecycle.py` `_match_one`, and
|
|
4
|
+
* `query.py` `_spellings` for enums). Pure functions, no I/O.
|
|
5
|
+
*
|
|
6
|
+
* The one rule that keeps existing callers safe: a value that is already stored exactly as given is
|
|
7
|
+
* never touched. Translation only happens to values that would otherwise match nothing.
|
|
8
|
+
*/
|
|
9
|
+
/** One configured option of a default field (`/pm/fields` `values[]`). */
|
|
10
|
+
export type LifecycleOption = {
|
|
11
|
+
key: string;
|
|
12
|
+
label: string;
|
|
13
|
+
category: string;
|
|
14
|
+
};
|
|
15
|
+
export declare const NEW = "new";
|
|
16
|
+
export declare const PENDING = "pending";
|
|
17
|
+
export declare const COMPLETED = "completed";
|
|
18
|
+
/** Category words for `state` only — they select options by their `mappedTo`, never by name. */
|
|
19
|
+
export declare const SEMANTIC_STATES: Record<string, string[]>;
|
|
20
|
+
/** How similar a word must be to an option, and by how much it must beat the runner-up. */
|
|
21
|
+
export declare const MIN_RATIO = 0.72;
|
|
22
|
+
export declare const MIN_MARGIN = 0.08;
|
|
23
|
+
/** `/pm/fields` values → options. Archived options and keyless rows are dropped; labels trimmed
|
|
24
|
+
* (real labels carry stray whitespace: "Released ", "QA In Progress "). */
|
|
25
|
+
export declare function toLifecycleOptions(values: unknown): LifecycleOption[];
|
|
26
|
+
/** Lower-cased with `_`/`-` flattened, so IN_PROGRESS = In-Progress = "in progress". */
|
|
27
|
+
export declare function normal(text: string): string;
|
|
28
|
+
/** Ratcliff/Obershelp similarity — the same measure as Python's difflib.SequenceMatcher.ratio(). */
|
|
29
|
+
export declare function similarity(a: string, b: string): number;
|
|
30
|
+
/** One word → stored keys, most confident tier first: exact key/label, category word (state
|
|
31
|
+
* only), then a clear near-match. [] when nothing qualifies — the caller reports it. */
|
|
32
|
+
export declare function matchLifecycleWord(word: string, options: LifecycleOption[], field: string): string[];
|
|
33
|
+
export declare const SELF_WORDS: Set<string>;
|
|
34
|
+
/** How close a misspelt person name must be ("prahrsha" → "praharsha" is 0.94). */
|
|
35
|
+
export declare const CLOSE_NAME_CUTOFF = 0.85;
|
|
36
|
+
/** A person as typed, reduced to something matchable: "@sunil.g," → "sunil.g". */
|
|
37
|
+
export declare function personQuery(name: string): string;
|
|
38
|
+
export type Person = {
|
|
39
|
+
id: number;
|
|
40
|
+
name?: string;
|
|
41
|
+
username?: string;
|
|
42
|
+
email?: string;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Every user a name means: exact name/username/email → that user; else every user containing it
|
|
46
|
+
* ("Priya" = any Priya — never a silently narrower filter); else the closest spelling (≥ 0.85,
|
|
47
|
+
* 4+ letters, ties kept). [] = nobody. "me" is the caller's job (it needs the session user).
|
|
48
|
+
*/
|
|
49
|
+
export declare function matchPeople(query: string, people: Person[]): number[];
|
|
50
|
+
/** "US-12", "us 12", "US12", "us_12" → "US-12"; anything else → undefined. */
|
|
51
|
+
export declare function normaliseCode(text: string): string | undefined;
|
|
52
|
+
export type NamedRecord = {
|
|
53
|
+
id: number;
|
|
54
|
+
name?: string;
|
|
55
|
+
code?: string;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Records a word names: its code, else every record with that exact name (trimmed, any case — a
|
|
59
|
+
* shared name means all of them, as four sprints are called "Sprint 1"), else one clear
|
|
60
|
+
* near-match when `fuzzy` (sprints/releases). [] = none.
|
|
61
|
+
*/
|
|
62
|
+
export declare function matchNamed(word: string, records: NamedRecord[], fuzzy?: boolean): number[];
|
|
63
|
+
/**
|
|
64
|
+
* One row per entity for collections that store each version as its own document (stories,
|
|
65
|
+
* epics). Prefer the app's canonical row (`parent: true`), then the newest — `parent:true` alone
|
|
66
|
+
* is not enough (some stories have none). Rows without an id are kept. Order of first appearance.
|
|
67
|
+
* Ported from ai-assistant `_lib/versions.py` latest_by_id.
|
|
68
|
+
*/
|
|
69
|
+
export declare const VERSION_RANK_FIELDS: string[];
|
|
70
|
+
export declare function latestById<T extends Record<string, unknown>>(rows: T[]): T[];
|
|
71
|
+
/** `new Date().getTimezoneOffset()` in IST — what the SQA UI sends as `offset`. */
|
|
72
|
+
export declare const IST_OFFSET_MINUTES = -330;
|
|
73
|
+
export type DayRange = {
|
|
74
|
+
from: string;
|
|
75
|
+
to: string;
|
|
76
|
+
};
|
|
77
|
+
/** A date word → the days it covers: YYYY-MM-DD, YYYY-MM, "A..B" / "A to B", today, yesterday,
|
|
78
|
+
* this week/month/year, last N days/weeks/months/years. null = not a date. */
|
|
79
|
+
export declare function dateWindow(word: string, now?: Date): DayRange | null;
|
|
80
|
+
/** Every case spelling a stored enum value may have: Defect, DEFECT, defect, Defect Type. */
|
|
81
|
+
export declare function spellings(values: string[]): string[];
|
|
82
|
+
/** One word → enum values: a group word ("MOBILE"), else a member, any case. [] = not a value. */
|
|
83
|
+
export declare function matchEnumWord(word: string, values: string[], groups?: Record<string, string[]>): string[];
|
|
84
|
+
//# sourceMappingURL=searchResolve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"searchResolve.d.ts","sourceRoot":"","sources":["../../../src/adapters/simplifyqa/searchResolve.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Filter-word → stored-value matching for `sqa_query`, ported from the AI assistant so both read a
|
|
3
|
+
* question the same way (AI/ai-assistant `src/tools/_lib/lifecycle.py` `_match_one`, and
|
|
4
|
+
* `query.py` `_spellings` for enums). Pure functions, no I/O.
|
|
5
|
+
*
|
|
6
|
+
* The one rule that keeps existing callers safe: a value that is already stored exactly as given is
|
|
7
|
+
* never touched. Translation only happens to values that would otherwise match nothing.
|
|
8
|
+
*/
|
|
9
|
+
export const NEW = 'new';
|
|
10
|
+
export const PENDING = 'pending';
|
|
11
|
+
export const COMPLETED = 'completed';
|
|
12
|
+
/** Category words for `state` only — they select options by their `mappedTo`, never by name. */
|
|
13
|
+
export const SEMANTIC_STATES = {
|
|
14
|
+
open: [NEW, PENDING],
|
|
15
|
+
unresolved: [NEW, PENDING],
|
|
16
|
+
outstanding: [NEW, PENDING],
|
|
17
|
+
'not done': [NEW, PENDING],
|
|
18
|
+
incomplete: [NEW, PENDING],
|
|
19
|
+
pending: [PENDING],
|
|
20
|
+
active: [PENDING],
|
|
21
|
+
'in flight': [PENDING],
|
|
22
|
+
wip: [PENDING],
|
|
23
|
+
'work in progress': [PENDING],
|
|
24
|
+
ongoing: [PENDING],
|
|
25
|
+
closed: [COMPLETED],
|
|
26
|
+
done: [COMPLETED],
|
|
27
|
+
finished: [COMPLETED],
|
|
28
|
+
complete: [COMPLETED],
|
|
29
|
+
};
|
|
30
|
+
/** How similar a word must be to an option, and by how much it must beat the runner-up. */
|
|
31
|
+
export const MIN_RATIO = 0.72;
|
|
32
|
+
export const MIN_MARGIN = 0.08;
|
|
33
|
+
/** `/pm/fields` values → options. Archived options and keyless rows are dropped; labels trimmed
|
|
34
|
+
* (real labels carry stray whitespace: "Released ", "QA In Progress "). */
|
|
35
|
+
export function toLifecycleOptions(values) {
|
|
36
|
+
if (!Array.isArray(values))
|
|
37
|
+
return [];
|
|
38
|
+
const out = [];
|
|
39
|
+
for (const raw of values) {
|
|
40
|
+
if (!raw || typeof raw !== 'object')
|
|
41
|
+
continue;
|
|
42
|
+
const r = raw;
|
|
43
|
+
const key = r['key'];
|
|
44
|
+
if (typeof key !== 'string' || !key || r['archive'] === true)
|
|
45
|
+
continue;
|
|
46
|
+
const label = typeof r['value'] === 'string' ? r['value'].trim() : '';
|
|
47
|
+
out.push({ key, label: label || key, category: typeof r['mappedTo'] === 'string' ? r['mappedTo'] : '' });
|
|
48
|
+
}
|
|
49
|
+
return out;
|
|
50
|
+
}
|
|
51
|
+
/** Lower-cased with `_`/`-` flattened, so IN_PROGRESS = In-Progress = "in progress". */
|
|
52
|
+
export function normal(text) {
|
|
53
|
+
return text.replace(/[_-]/g, ' ').toLowerCase().split(/\s+/).filter(Boolean).join(' ');
|
|
54
|
+
}
|
|
55
|
+
const squashed = (text) => normal(text).replace(/ /g, '');
|
|
56
|
+
/** Ratcliff/Obershelp similarity — the same measure as Python's difflib.SequenceMatcher.ratio(). */
|
|
57
|
+
export function similarity(a, b) {
|
|
58
|
+
if (!a.length && !b.length)
|
|
59
|
+
return 1;
|
|
60
|
+
const matches = (x, y) => {
|
|
61
|
+
if (!x.length || !y.length)
|
|
62
|
+
return 0;
|
|
63
|
+
let best = 0, bi = 0, bj = 0;
|
|
64
|
+
for (let i = 0; i < x.length; i++) {
|
|
65
|
+
for (let j = 0; j < y.length; j++) {
|
|
66
|
+
let k = 0;
|
|
67
|
+
while (i + k < x.length && j + k < y.length && x[i + k] === y[j + k])
|
|
68
|
+
k++;
|
|
69
|
+
if (k > best) {
|
|
70
|
+
best = k;
|
|
71
|
+
bi = i;
|
|
72
|
+
bj = j;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
if (!best)
|
|
77
|
+
return 0;
|
|
78
|
+
return best + matches(x.slice(0, bi), y.slice(0, bj)) + matches(x.slice(bi + best), y.slice(bj + best));
|
|
79
|
+
};
|
|
80
|
+
return (2 * matches(a, b)) / (a.length + b.length);
|
|
81
|
+
}
|
|
82
|
+
/** One word → stored keys, most confident tier first: exact key/label, category word (state
|
|
83
|
+
* only), then a clear near-match. [] when nothing qualifies — the caller reports it. */
|
|
84
|
+
export function matchLifecycleWord(word, options, field) {
|
|
85
|
+
const n = normal(word);
|
|
86
|
+
const uniq = (keys) => [...new Set(keys)];
|
|
87
|
+
const exact = options.filter((o) => normal(o.key) === n || normal(o.label) === n);
|
|
88
|
+
if (exact.length)
|
|
89
|
+
return uniq(exact.map((o) => o.key));
|
|
90
|
+
const sq = squashed(word);
|
|
91
|
+
const squash = options.filter((o) => squashed(o.key) === sq || squashed(o.label) === sq);
|
|
92
|
+
if (squash.length)
|
|
93
|
+
return uniq(squash.map((o) => o.key));
|
|
94
|
+
if (field === 'state') {
|
|
95
|
+
const cats = SEMANTIC_STATES[n];
|
|
96
|
+
if (cats) {
|
|
97
|
+
const grouped = options.filter((o) => cats.includes(o.category));
|
|
98
|
+
if (grouped.length)
|
|
99
|
+
return uniq(grouped.map((o) => o.key));
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// A longer word built on an option is a different value, not a typo: "highest" ≠ High.
|
|
103
|
+
const anotherWord = (text) => {
|
|
104
|
+
const opt = normal(text);
|
|
105
|
+
return !!opt && n.startsWith(opt) && n.length - opt.length >= 3;
|
|
106
|
+
};
|
|
107
|
+
const scored = options
|
|
108
|
+
.filter((o) => !anotherWord(o.key) && !anotherWord(o.label))
|
|
109
|
+
.map((o) => ({ o, score: Math.max(similarity(n, normal(o.key)), similarity(n, normal(o.label))) }))
|
|
110
|
+
.sort((a, b) => b.score - a.score);
|
|
111
|
+
const top = scored[0];
|
|
112
|
+
if (!top || top.score < MIN_RATIO)
|
|
113
|
+
return [];
|
|
114
|
+
if (scored.length > 1 && top.score - scored[1].score < MIN_MARGIN)
|
|
115
|
+
return [];
|
|
116
|
+
return [top.o.key];
|
|
117
|
+
}
|
|
118
|
+
// ------------------------------------------------------------------ people and named records
|
|
119
|
+
// Ported from ai-assistant `_lib/resolve.py` (owner_ids, _close_names, scope_id) and
|
|
120
|
+
// `query.py` (_coded_ids).
|
|
121
|
+
export const SELF_WORDS = new Set(['me', 'my', 'mine', 'myself', 'i', 'my own']);
|
|
122
|
+
/** How close a misspelt person name must be ("prahrsha" → "praharsha" is 0.94). */
|
|
123
|
+
export const CLOSE_NAME_CUTOFF = 0.85;
|
|
124
|
+
/** A person as typed, reduced to something matchable: "@sunil.g," → "sunil.g". */
|
|
125
|
+
export function personQuery(name) {
|
|
126
|
+
return name.trim().replace(/^@+/, '').trim().replace(/^[,.;:]+|[,.;:]+$/g, '').toLowerCase();
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Every user a name means: exact name/username/email → that user; else every user containing it
|
|
130
|
+
* ("Priya" = any Priya — never a silently narrower filter); else the closest spelling (≥ 0.85,
|
|
131
|
+
* 4+ letters, ties kept). [] = nobody. "me" is the caller's job (it needs the session user).
|
|
132
|
+
*/
|
|
133
|
+
export function matchPeople(query, people) {
|
|
134
|
+
const byName = new Map();
|
|
135
|
+
for (const p of people) {
|
|
136
|
+
for (const v of [p.name, p.username, p.email]) {
|
|
137
|
+
if (typeof v === 'string' && v.trim())
|
|
138
|
+
byName.set(v.trim().toLowerCase(), p.id);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
const exact = byName.get(query);
|
|
142
|
+
if (exact !== undefined)
|
|
143
|
+
return [exact];
|
|
144
|
+
const hits = new Set();
|
|
145
|
+
for (const [key, id] of byName)
|
|
146
|
+
if (key.includes(query))
|
|
147
|
+
hits.add(id);
|
|
148
|
+
if (hits.size)
|
|
149
|
+
return [...hits].sort((a, b) => a - b);
|
|
150
|
+
if (query.length < 4)
|
|
151
|
+
return [];
|
|
152
|
+
let best = 0;
|
|
153
|
+
let ids = new Set();
|
|
154
|
+
for (const [key, id] of byName) {
|
|
155
|
+
const score = Math.max(...[key, ...key.split(/\s+/)].map((part) => similarity(query, part)));
|
|
156
|
+
if (score < CLOSE_NAME_CUTOFF)
|
|
157
|
+
continue;
|
|
158
|
+
if (score > best) {
|
|
159
|
+
best = score;
|
|
160
|
+
ids = new Set([id]);
|
|
161
|
+
}
|
|
162
|
+
else if (score === best)
|
|
163
|
+
ids.add(id);
|
|
164
|
+
}
|
|
165
|
+
return [...ids].sort((a, b) => a - b);
|
|
166
|
+
}
|
|
167
|
+
/** "US-12", "us 12", "US12", "us_12" → "US-12"; anything else → undefined. */
|
|
168
|
+
export function normaliseCode(text) {
|
|
169
|
+
const m = /^([A-Za-z]{2,4})[\s_-]?(\d+)$/.exec(text.trim());
|
|
170
|
+
return m ? `${m[1].toUpperCase()}-${m[2]}` : undefined;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Records a word names: its code, else every record with that exact name (trimmed, any case — a
|
|
174
|
+
* shared name means all of them, as four sprints are called "Sprint 1"), else one clear
|
|
175
|
+
* near-match when `fuzzy` (sprints/releases). [] = none.
|
|
176
|
+
*/
|
|
177
|
+
export function matchNamed(word, records, fuzzy = false) {
|
|
178
|
+
const text = word.trim().toLowerCase();
|
|
179
|
+
const code = normaliseCode(word)?.toLowerCase();
|
|
180
|
+
const byCode = records.filter((r) => r.code && r.code.trim().toLowerCase() === (code ?? text));
|
|
181
|
+
if (byCode.length)
|
|
182
|
+
return [...new Set(byCode.map((r) => r.id))];
|
|
183
|
+
const exact = records.filter((r) => r.name && r.name.trim().toLowerCase() === text);
|
|
184
|
+
if (exact.length)
|
|
185
|
+
return [...new Set(exact.map((r) => r.id))];
|
|
186
|
+
if (!fuzzy)
|
|
187
|
+
return [];
|
|
188
|
+
const scored = records
|
|
189
|
+
.filter((r) => r.name)
|
|
190
|
+
.map((r) => ({ r, score: similarity(normal(text), normal(r.name)) }))
|
|
191
|
+
.sort((a, b) => b.score - a.score);
|
|
192
|
+
const top = scored[0];
|
|
193
|
+
if (!top || top.score < MIN_RATIO)
|
|
194
|
+
return [];
|
|
195
|
+
if (scored.length > 1 && top.score - scored[1].score < MIN_MARGIN)
|
|
196
|
+
return [];
|
|
197
|
+
return [top.r.id];
|
|
198
|
+
}
|
|
199
|
+
// ------------------------------------------------------------------------------- versions
|
|
200
|
+
/**
|
|
201
|
+
* One row per entity for collections that store each version as its own document (stories,
|
|
202
|
+
* epics). Prefer the app's canonical row (`parent: true`), then the newest — `parent:true` alone
|
|
203
|
+
* is not enough (some stories have none). Rows without an id are kept. Order of first appearance.
|
|
204
|
+
* Ported from ai-assistant `_lib/versions.py` latest_by_id.
|
|
205
|
+
*/
|
|
206
|
+
export const VERSION_RANK_FIELDS = ['parent', 'updateVersion', 'updatedAt'];
|
|
207
|
+
export function latestById(rows) {
|
|
208
|
+
const rank = (r) => [
|
|
209
|
+
r['parent'] === true ? 1 : 0,
|
|
210
|
+
typeof r['updateVersion'] === 'number' ? r['updateVersion'] : 0,
|
|
211
|
+
String(r['updatedAt'] ?? ''),
|
|
212
|
+
];
|
|
213
|
+
const better = (a, b) => {
|
|
214
|
+
const [x, y] = [rank(a), rank(b)];
|
|
215
|
+
return x[0] !== y[0] ? x[0] > y[0] : x[1] !== y[1] ? x[1] > y[1] : x[2] > y[2];
|
|
216
|
+
};
|
|
217
|
+
const best = new Map();
|
|
218
|
+
const out = [];
|
|
219
|
+
for (const r of rows) {
|
|
220
|
+
const id = r['id'];
|
|
221
|
+
if (id === undefined || id === null) {
|
|
222
|
+
out.push(r);
|
|
223
|
+
continue;
|
|
224
|
+
}
|
|
225
|
+
const cur = best.get(id);
|
|
226
|
+
if (!cur) {
|
|
227
|
+
best.set(id, r);
|
|
228
|
+
out.push(id);
|
|
229
|
+
}
|
|
230
|
+
else if (better(r, cur))
|
|
231
|
+
best.set(id, r);
|
|
232
|
+
}
|
|
233
|
+
return out.map((x) => (typeof x === 'object' && x !== null ? x : best.get(x)));
|
|
234
|
+
}
|
|
235
|
+
// ---------------------------------------------------------------------------------- dates
|
|
236
|
+
// SQA's search compares DAYS: a date filter carries `YYYY-MM-DD` plus the browser's timezone
|
|
237
|
+
// offset, and the backend builds the day's boundaries. Days are read in IST, as the AI assistant
|
|
238
|
+
// and the deployment do (ai-assistant `_lib/dates.py`).
|
|
239
|
+
/** `new Date().getTimezoneOffset()` in IST — what the SQA UI sends as `offset`. */
|
|
240
|
+
export const IST_OFFSET_MINUTES = -330;
|
|
241
|
+
const pad = (n) => String(n).padStart(2, '0');
|
|
242
|
+
const ymd = (d) => `${d.getUTCFullYear()}-${pad(d.getUTCMonth() + 1)}-${pad(d.getUTCDate())}`;
|
|
243
|
+
const lastDay = (y, m) => new Date(Date.UTC(y, m, 0)).getUTCDate();
|
|
244
|
+
/** A day past the end of its month (2026-02-30) pulled back to the last real one. */
|
|
245
|
+
function clampDay(y, m, d) {
|
|
246
|
+
if (m < 1 || m > 12 || d < 1)
|
|
247
|
+
return null;
|
|
248
|
+
return `${y}-${pad(m)}-${pad(Math.min(d, lastDay(y, m)))}`;
|
|
249
|
+
}
|
|
250
|
+
function oneWindow(text, now) {
|
|
251
|
+
const day = /^(\d{4})-(\d{2})-(\d{2})/.exec(text);
|
|
252
|
+
if (day) {
|
|
253
|
+
const d = clampDay(Number(day[1]), Number(day[2]), Number(day[3]));
|
|
254
|
+
return d ? { from: d, to: d } : null;
|
|
255
|
+
}
|
|
256
|
+
const month = /^(\d{4})-(\d{2})$/.exec(text);
|
|
257
|
+
if (month) {
|
|
258
|
+
const [y, m] = [Number(month[1]), Number(month[2])];
|
|
259
|
+
if (m < 1 || m > 12)
|
|
260
|
+
return null;
|
|
261
|
+
return { from: `${y}-${pad(m)}-01`, to: `${y}-${pad(m)}-${pad(lastDay(y, m))}` };
|
|
262
|
+
}
|
|
263
|
+
// Relative windows, computed on the IST calendar.
|
|
264
|
+
const today = new Date(now.getTime() - IST_OFFSET_MINUTES * 60000);
|
|
265
|
+
const t = ymd(today);
|
|
266
|
+
const shift = (days) => ymd(new Date(today.getTime() - days * 86400000));
|
|
267
|
+
const compact = text.replace(/[^a-z0-9]/g, '');
|
|
268
|
+
if (compact === 'today')
|
|
269
|
+
return { from: t, to: t };
|
|
270
|
+
if (compact === 'yesterday')
|
|
271
|
+
return { from: shift(1), to: shift(1) };
|
|
272
|
+
if (compact === 'thisweek')
|
|
273
|
+
return { from: shift((today.getUTCDay() + 6) % 7), to: t };
|
|
274
|
+
if (compact === 'thismonth')
|
|
275
|
+
return { from: `${t.slice(0, 7)}-01`, to: t };
|
|
276
|
+
if (compact === 'thisyear')
|
|
277
|
+
return { from: `${t.slice(0, 4)}-01-01`, to: t };
|
|
278
|
+
// "last 7 days", "last_2_weeks", "past month" — rolling back from today. Only last/past: a window
|
|
279
|
+
// ahead ("next 7 days") is not one this reads, so it is reported instead of silently flipped.
|
|
280
|
+
const rel = /^(?:last|past)\s+(?:(\d+)\s+)?(day|week|month|year)s?$/.exec(text.replace(/_/g, ' ').replace(/\s+/g, ' ').trim());
|
|
281
|
+
if (rel) {
|
|
282
|
+
const unit = { day: 1, week: 7, month: 30, year: 365 }[rel[2]];
|
|
283
|
+
return { from: shift((rel[1] ? Number(rel[1]) : 1) * unit), to: t };
|
|
284
|
+
}
|
|
285
|
+
return null;
|
|
286
|
+
}
|
|
287
|
+
/** A date word → the days it covers: YYYY-MM-DD, YYYY-MM, "A..B" / "A to B", today, yesterday,
|
|
288
|
+
* this week/month/year, last N days/weeks/months/years. null = not a date. */
|
|
289
|
+
export function dateWindow(word, now = new Date()) {
|
|
290
|
+
const text = word.trim().toLowerCase();
|
|
291
|
+
const between = /^(.+?)\s*(?:\.\.|\bto\b)\s*(.+)$/.exec(text);
|
|
292
|
+
if (between) {
|
|
293
|
+
const [a, b] = [oneWindow(between[1].trim(), now), oneWindow(between[2].trim(), now)];
|
|
294
|
+
return a && b ? { from: a.from, to: b.to } : null;
|
|
295
|
+
}
|
|
296
|
+
return oneWindow(text, now);
|
|
297
|
+
}
|
|
298
|
+
/** Every case spelling a stored enum value may have: Defect, DEFECT, defect, Defect Type. */
|
|
299
|
+
export function spellings(values) {
|
|
300
|
+
const out = [];
|
|
301
|
+
for (const v of values) {
|
|
302
|
+
const title = v.toLowerCase().replace(/\b\w/g, (c) => c.toUpperCase());
|
|
303
|
+
const cap = v.charAt(0).toUpperCase() + v.slice(1).toLowerCase();
|
|
304
|
+
for (const form of [v, v.toUpperCase(), v.toLowerCase(), cap, title])
|
|
305
|
+
if (!out.includes(form))
|
|
306
|
+
out.push(form);
|
|
307
|
+
}
|
|
308
|
+
return out;
|
|
309
|
+
}
|
|
310
|
+
/** One word → enum values: a group word ("MOBILE"), else a member, any case. [] = not a value. */
|
|
311
|
+
export function matchEnumWord(word, values, groups = {}) {
|
|
312
|
+
const w = word.trim().toUpperCase();
|
|
313
|
+
const group = Object.entries(groups).find(([g]) => g.toUpperCase() === w);
|
|
314
|
+
if (group)
|
|
315
|
+
return group[1];
|
|
316
|
+
const hit = values.find((v) => v.toUpperCase() === w);
|
|
317
|
+
return hit ? [hit] : [];
|
|
318
|
+
}
|
|
319
|
+
//# sourceMappingURL=searchResolve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"searchResolve.js","sourceRoot":"","sources":["../../../src/adapters/simplifyqa/searchResolve.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What an EXECUTED SimplifyQA step / run means — the product's rules, ported from the AI assistant
|
|
3
|
+
* (AI/ai-assistant `src/analysis/rootcause.py` + `src/tools/_lib/suite/batch.py`) so both explain a
|
|
4
|
+
* failure the same way. Pure functions, no I/O.
|
|
5
|
+
*/
|
|
6
|
+
import type { FailureStep, FailureStepState } from './failureTypes.js';
|
|
7
|
+
/**
|
|
8
|
+
* A step of one of these types is rendered as INFO by the execution report whatever status it
|
|
9
|
+
* carries — its PASSED/FAILED is a condition's truth value or nothing, never an outcome. Two layers
|
|
10
|
+
* decide INFO (executionStepResult.service.js writes status INFO for some types at insert;
|
|
11
|
+
* reportPayloadV2.service.js re-labels these 25 at render) and neither list contains the other, so
|
|
12
|
+
* `isInfoStep` checks both. Do not narrow this from observation — an earlier assistant draft
|
|
13
|
+
* dropped the SWITCH_TO_* types and reported a FAILED SWITCH_TO_ANDROID as a root cause.
|
|
14
|
+
*/
|
|
15
|
+
export declare const INFO_STEP_TYPES: Set<string>;
|
|
16
|
+
/** Created but never reached: IF/ELSE_IF/ELSE are inserted with '', an early stop leaves NOTEXECUTED. */
|
|
17
|
+
export declare const UNREACHED_STATUSES: Set<string>;
|
|
18
|
+
export declare function isInfoStep(status: unknown, stepType: unknown): boolean;
|
|
19
|
+
/** SQA step status + type → failure-analysis state. INFO wins over any stored status. */
|
|
20
|
+
export declare function failureState(status: unknown, stepType?: unknown): FailureStepState;
|
|
21
|
+
/**
|
|
22
|
+
* The steps that actually went wrong, in order. A FUNCTION heading row is FAILED because a step
|
|
23
|
+
* inside it failed and comes first in report order, so listing it repeats the same failure — it is
|
|
24
|
+
* kept only when nothing else failed, because then it IS the failure.
|
|
25
|
+
*/
|
|
26
|
+
export declare function realFailures(steps: FailureStep[]): FailureStep[];
|
|
27
|
+
/**
|
|
28
|
+
* Where a FAILED run went wrong when no step reports FAILED: testers mark manual runs failed at the
|
|
29
|
+
* run level. The last step that actually ran is the best "where"; the run's exception is the "why".
|
|
30
|
+
*/
|
|
31
|
+
export declare function lastTouchedStep(steps: FailureStep[]): FailureStep | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* The step number the PDF report prints, or undefined where it prints none: an automated step's
|
|
34
|
+
* `displaySeq` (`19.19.8`), a manual step's `reportSeq`. Blank for iteration markers (`x.0`) and
|
|
35
|
+
* anything not above 0 (FUNCTION_END's "0"). Never `seq` — it restarts at 1 inside a function.
|
|
36
|
+
*/
|
|
37
|
+
export declare function reportStepLabel(raw: {
|
|
38
|
+
displaySeq?: unknown;
|
|
39
|
+
reportSeq?: unknown;
|
|
40
|
+
}, automated: boolean): string | undefined;
|
|
41
|
+
/** The function-call rows a step sits inside, outermost first, found by its label: 19.19.8 is
|
|
42
|
+
* inside the call labelled 19.19, inside 19 — the nearest FUNCTION row before it with that label. */
|
|
43
|
+
export declare function functionPath(steps: FailureStep[], index: number): number[];
|
|
44
|
+
/**
|
|
45
|
+
* Where a step sits in the TEST CASE: `{ testcaseStep: "19", trail: "TC step 19 › Login step 3 ›
|
|
46
|
+
* Enter credentials step 8" }` — the test case's own step, then each function it went into and
|
|
47
|
+
* the step inside it. A step outside any function is just "TC step 7".
|
|
48
|
+
*/
|
|
49
|
+
export declare function stepWhere(steps: FailureStep[], index: number): {
|
|
50
|
+
testcaseStep?: string;
|
|
51
|
+
trail?: string;
|
|
52
|
+
};
|
|
53
|
+
/** Number every step of one run (report label, test case step, trail), in place. */
|
|
54
|
+
export declare function numberSteps(steps: FailureStep[], automated: boolean): void;
|
|
55
|
+
/**
|
|
56
|
+
* One run's identity: test case, its version, its suite entry (`stepId` — a test case added to a
|
|
57
|
+
* suite twice is two entries), the test-data iteration and the platform. `itr` restarts at 1 per
|
|
58
|
+
* platform, so it is not a key on its own.
|
|
59
|
+
*/
|
|
60
|
+
export declare function runKey(run: any): string;
|
|
61
|
+
/** One row per run key, newest `endTime` first — the execution's current results (older copies of
|
|
62
|
+
* the same key are re-runs / shard copies, i.e. history). */
|
|
63
|
+
export declare function currentRuns(runs: any[]): any[];
|
|
64
|
+
/** `ITR-2`, or the iteration's own name when it has one that is not just the test case code. */
|
|
65
|
+
export declare function iterationLabel(run: any): string | undefined;
|
|
66
|
+
/** `TC-12 (ITR-2, CHROME)` — a run named so two runs of one test case can be told apart. */
|
|
67
|
+
export declare function runLabel(run: any): string;
|
|
68
|
+
/** Text with quoted values and numbers stripped, lower-cased — two messages that differ only in a
|
|
69
|
+
* quoted name, a value or a count read the same. */
|
|
70
|
+
export declare function normaliseCause(text: unknown): string;
|
|
71
|
+
/**
|
|
72
|
+
* What makes two failed iterations one cause: a run-level failure groups by its exception; a step
|
|
73
|
+
* failure by the step's action word plus its normalised error (the exception, else the first
|
|
74
|
+
* failure log line — SQA leaves `exception` empty on most steps and writes the reason to the log).
|
|
75
|
+
*/
|
|
76
|
+
export declare function causeSignature(focus: FailureStep | undefined, source: 'step' | 'run_level' | 'none', runException?: string): string;
|
|
77
|
+
/** Items with one key are one group; largest group first, then first seen. */
|
|
78
|
+
export declare function groupBy<T>(items: T[], key: (t: T) => string): Array<{
|
|
79
|
+
key: string;
|
|
80
|
+
items: T[];
|
|
81
|
+
}>;
|
|
82
|
+
export type EntityCode = {
|
|
83
|
+
kind: 'TC' | 'SU' | 'PL';
|
|
84
|
+
num: number;
|
|
85
|
+
code: string;
|
|
86
|
+
};
|
|
87
|
+
/** `TC-123` / `SU-123` / `PL-123` (any case, `-` or `_`). PL is an execution plan here. */
|
|
88
|
+
export declare function parseEntityCode(code: string): EntityCode | null;
|
|
89
|
+
/** Execution type stored on the execution doc for each code prefix. */
|
|
90
|
+
export declare const EXECUTION_TYPE_BY_KIND: Record<EntityCode['kind'], string>;
|
|
91
|
+
//# sourceMappingURL=stepRules.d.ts.map
|