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.
Files changed (80) hide show
  1. package/dist/adapters/remoteMcp/adapter.js +1 -1
  2. package/dist/adapters/simplifyqa/adapter.d.ts +29 -0
  3. package/dist/adapters/simplifyqa/adapter.d.ts.map +1 -1
  4. package/dist/adapters/simplifyqa/adapter.js +143 -17
  5. package/dist/adapters/simplifyqa/adapter.js.map +1 -1
  6. package/dist/adapters/simplifyqa/executionFailures.d.ts +59 -0
  7. package/dist/adapters/simplifyqa/executionFailures.d.ts.map +1 -0
  8. package/dist/adapters/simplifyqa/executionFailures.js +638 -0
  9. package/dist/adapters/simplifyqa/executionFailures.js.map +1 -0
  10. package/dist/adapters/simplifyqa/failureCategory.d.ts +26 -0
  11. package/dist/adapters/simplifyqa/failureCategory.d.ts.map +1 -0
  12. package/dist/adapters/simplifyqa/failureCategory.js +208 -0
  13. package/dist/adapters/simplifyqa/failureCategory.js.map +1 -0
  14. package/dist/adapters/simplifyqa/failureReport.d.ts +50 -0
  15. package/dist/adapters/simplifyqa/failureReport.d.ts.map +1 -0
  16. package/dist/adapters/simplifyqa/failureReport.js +353 -0
  17. package/dist/adapters/simplifyqa/failureReport.js.map +1 -0
  18. package/dist/adapters/simplifyqa/failureTypes.d.ts +193 -0
  19. package/dist/adapters/simplifyqa/failureTypes.d.ts.map +1 -0
  20. package/dist/adapters/simplifyqa/failureTypes.js +8 -0
  21. package/dist/adapters/simplifyqa/failureTypes.js.map +1 -0
  22. package/dist/adapters/simplifyqa/flow.d.ts +55 -0
  23. package/dist/adapters/simplifyqa/flow.d.ts.map +1 -0
  24. package/dist/adapters/simplifyqa/flow.js +325 -0
  25. package/dist/adapters/simplifyqa/flow.js.map +1 -0
  26. package/dist/adapters/simplifyqa/mapLimit.d.ts +3 -0
  27. package/dist/adapters/simplifyqa/mapLimit.d.ts.map +1 -0
  28. package/dist/adapters/simplifyqa/mapLimit.js +14 -0
  29. package/dist/adapters/simplifyqa/mapLimit.js.map +1 -0
  30. package/dist/adapters/simplifyqa/mapper.d.ts +3 -0
  31. package/dist/adapters/simplifyqa/mapper.d.ts.map +1 -1
  32. package/dist/adapters/simplifyqa/mapper.js +6 -7
  33. package/dist/adapters/simplifyqa/mapper.js.map +1 -1
  34. package/dist/adapters/simplifyqa/planTree.d.ts +31 -0
  35. package/dist/adapters/simplifyqa/planTree.d.ts.map +1 -0
  36. package/dist/adapters/simplifyqa/planTree.js +110 -0
  37. package/dist/adapters/simplifyqa/planTree.js.map +1 -0
  38. package/dist/adapters/simplifyqa/searchEngine.d.ts +237 -0
  39. package/dist/adapters/simplifyqa/searchEngine.d.ts.map +1 -0
  40. package/dist/adapters/simplifyqa/searchEngine.js +1206 -0
  41. package/dist/adapters/simplifyqa/searchEngine.js.map +1 -0
  42. package/dist/adapters/simplifyqa/searchRegistry.d.ts +112 -0
  43. package/dist/adapters/simplifyqa/searchRegistry.d.ts.map +1 -0
  44. package/dist/adapters/simplifyqa/searchRegistry.js +1413 -0
  45. package/dist/adapters/simplifyqa/searchRegistry.js.map +1 -0
  46. package/dist/adapters/simplifyqa/searchResolve.d.ts +84 -0
  47. package/dist/adapters/simplifyqa/searchResolve.d.ts.map +1 -0
  48. package/dist/adapters/simplifyqa/searchResolve.js +319 -0
  49. package/dist/adapters/simplifyqa/searchResolve.js.map +1 -0
  50. package/dist/adapters/simplifyqa/stepRules.d.ts +91 -0
  51. package/dist/adapters/simplifyqa/stepRules.d.ts.map +1 -0
  52. package/dist/adapters/simplifyqa/stepRules.js +228 -0
  53. package/dist/adapters/simplifyqa/stepRules.js.map +1 -0
  54. package/dist/domain/types.d.ts +4 -2
  55. package/dist/domain/types.d.ts.map +1 -1
  56. package/dist/initAgents.d.ts.map +1 -1
  57. package/dist/initAgents.js +32 -9
  58. package/dist/initAgents.js.map +1 -1
  59. package/dist/mcpResult.d.ts +19 -0
  60. package/dist/mcpResult.d.ts.map +1 -1
  61. package/dist/mcpResult.js +11 -0
  62. package/dist/mcpResult.js.map +1 -1
  63. package/dist/server.d.ts.map +1 -1
  64. package/dist/server.js +70 -16
  65. package/dist/server.js.map +1 -1
  66. package/dist/tools/discovery.tools.d.ts.map +1 -1
  67. package/dist/tools/discovery.tools.js +36 -10
  68. package/dist/tools/discovery.tools.js.map +1 -1
  69. package/dist/tools/failure.tools.d.ts +14 -0
  70. package/dist/tools/failure.tools.d.ts.map +1 -0
  71. package/dist/tools/failure.tools.js +65 -0
  72. package/dist/tools/failure.tools.js.map +1 -0
  73. package/dist/tools/query.tools.d.ts +20 -0
  74. package/dist/tools/query.tools.d.ts.map +1 -0
  75. package/dist/tools/query.tools.js +310 -0
  76. package/dist/tools/query.tools.js.map +1 -0
  77. package/dist/tools/testcase.tools.d.ts.map +1 -1
  78. package/dist/tools/testcase.tools.js +1 -2
  79. package/dist/tools/testcase.tools.js.map +1 -1
  80. 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