common-qa-mcp 0.2.0 → 0.3.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 (86) hide show
  1. package/README.md +6 -0
  2. package/dist/adapters/factory.d.ts +17 -7
  3. package/dist/adapters/factory.d.ts.map +1 -1
  4. package/dist/adapters/factory.js +61 -7
  5. package/dist/adapters/factory.js.map +1 -1
  6. package/dist/adapters/http.d.ts +50 -0
  7. package/dist/adapters/http.d.ts.map +1 -0
  8. package/dist/adapters/http.js +109 -0
  9. package/dist/adapters/http.js.map +1 -0
  10. package/dist/adapters/remoteMcp/adapter.d.ts +10 -1
  11. package/dist/adapters/remoteMcp/adapter.d.ts.map +1 -1
  12. package/dist/adapters/remoteMcp/adapter.js +26 -3
  13. package/dist/adapters/remoteMcp/adapter.js.map +1 -1
  14. package/dist/adapters/simplifyqa/adapter.d.ts +154 -0
  15. package/dist/adapters/simplifyqa/adapter.d.ts.map +1 -0
  16. package/dist/adapters/simplifyqa/adapter.js +1150 -0
  17. package/dist/adapters/simplifyqa/adapter.js.map +1 -0
  18. package/dist/adapters/simplifyqa/mapper.d.ts +63 -0
  19. package/dist/adapters/simplifyqa/mapper.d.ts.map +1 -0
  20. package/dist/adapters/simplifyqa/mapper.js +409 -0
  21. package/dist/adapters/simplifyqa/mapper.js.map +1 -0
  22. package/dist/adapters/types.d.ts +48 -1
  23. package/dist/adapters/types.d.ts.map +1 -1
  24. package/dist/adapters/walnut/adapter.d.ts +231 -0
  25. package/dist/adapters/walnut/adapter.d.ts.map +1 -0
  26. package/dist/adapters/walnut/adapter.js +1083 -0
  27. package/dist/adapters/walnut/adapter.js.map +1 -0
  28. package/dist/adapters/walnut/mapper.d.ts +29 -9
  29. package/dist/adapters/walnut/mapper.d.ts.map +1 -1
  30. package/dist/adapters/walnut/mapper.js +136 -24
  31. package/dist/adapters/walnut/mapper.js.map +1 -1
  32. package/dist/config.d.ts +28 -14
  33. package/dist/config.d.ts.map +1 -1
  34. package/dist/config.js +37 -19
  35. package/dist/config.js.map +1 -1
  36. package/dist/connection.d.ts +3 -2
  37. package/dist/connection.d.ts.map +1 -1
  38. package/dist/connection.js +36 -15
  39. package/dist/connection.js.map +1 -1
  40. package/dist/domain/types.d.ts +195 -1
  41. package/dist/domain/types.d.ts.map +1 -1
  42. package/dist/drafts/store.d.ts +4 -1
  43. package/dist/drafts/store.d.ts.map +1 -1
  44. package/dist/drafts/store.js +7 -2
  45. package/dist/drafts/store.js.map +1 -1
  46. package/dist/initAgents.d.ts.map +1 -1
  47. package/dist/initAgents.js +29 -12
  48. package/dist/initAgents.js.map +1 -1
  49. package/dist/requestConnection.d.ts +5 -3
  50. package/dist/requestConnection.d.ts.map +1 -1
  51. package/dist/requestConnection.js +11 -5
  52. package/dist/requestConnection.js.map +1 -1
  53. package/dist/server.d.ts.map +1 -1
  54. package/dist/server.js +25 -1
  55. package/dist/server.js.map +1 -1
  56. package/dist/tools/connection.tools.js +5 -5
  57. package/dist/tools/connection.tools.js.map +1 -1
  58. package/dist/tools/discovery.tools.d.ts.map +1 -1
  59. package/dist/tools/discovery.tools.js +93 -1
  60. package/dist/tools/discovery.tools.js.map +1 -1
  61. package/dist/tools/formulas.tools.d.ts +7 -0
  62. package/dist/tools/formulas.tools.d.ts.map +1 -0
  63. package/dist/tools/formulas.tools.js +56 -0
  64. package/dist/tools/formulas.tools.js.map +1 -0
  65. package/dist/tools/heal.tools.d.ts +17 -0
  66. package/dist/tools/heal.tools.d.ts.map +1 -0
  67. package/dist/tools/heal.tools.js +76 -0
  68. package/dist/tools/heal.tools.js.map +1 -0
  69. package/dist/tools/recording.tools.d.ts.map +1 -1
  70. package/dist/tools/recording.tools.js +28 -7
  71. package/dist/tools/recording.tools.js.map +1 -1
  72. package/dist/tools/run.tools.d.ts.map +1 -1
  73. package/dist/tools/run.tools.js +378 -37
  74. package/dist/tools/run.tools.js.map +1 -1
  75. package/dist/tools/storySync.tools.d.ts +66 -0
  76. package/dist/tools/storySync.tools.d.ts.map +1 -0
  77. package/dist/tools/storySync.tools.js +213 -0
  78. package/dist/tools/storySync.tools.js.map +1 -0
  79. package/dist/tools/testcase.tools.d.ts.map +1 -1
  80. package/dist/tools/testcase.tools.js +17 -2
  81. package/dist/tools/testcase.tools.js.map +1 -1
  82. package/dist/tools/testdata.tools.d.ts +7 -0
  83. package/dist/tools/testdata.tools.d.ts.map +1 -0
  84. package/dist/tools/testdata.tools.js +161 -0
  85. package/dist/tools/testdata.tools.js.map +1 -0
  86. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/simplifyqa/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import type { ModuleSummary, ReleaseSummary, SavedRef, SprintSummary, Step, Story, StorySummary, Suite, SuiteSummary, TcSummary, TestCase, QaObject } from '../../domain/types.js';
2
+ export declare function pickArray(n: any, ...keys: string[]): any[];
3
+ export declare function str(n: any, ...keys: string[]): string | undefined;
4
+ /** Accept a numeric id ("523") or a business code ("TC_523" / "US-897") — SQA REST paths
5
+ * parseInt the segment, so a raw business key yields NaN → 404. Strips to the numeric run. */
6
+ export declare function numericId(id: string): string;
7
+ /** SQA priority is UPPERCASE on the wire; neutral is lowercase. Unknown → 'medium'. */
8
+ export declare function mapPriority(p: unknown): TestCase['priority'];
9
+ export declare function fromSqaStep(s: any, fallbackSeq: number): Step;
10
+ export declare function toTestCase(doc: any): TestCase;
11
+ /** Overwrite `tc.steps` with the mapped collection-endpoint rows when non-empty. */
12
+ export declare function applyCollectionSteps(tc: TestCase, rows: any[]): TestCase;
13
+ export declare function toTcSummary(row: any): TcSummary;
14
+ export declare function toSuiteSummary(row: any): SuiteSummary;
15
+ export declare function toSuite(doc: any): Suite;
16
+ export declare function toStorySummary(row: any): StorySummary;
17
+ export declare function toStory(doc: any): Story;
18
+ export declare function toModuleSummary(row: any): ModuleSummary;
19
+ export declare function toReleaseSummary(row: any): ReleaseSummary;
20
+ export declare function toSprintSummary(row: any): SprintSummary;
21
+ export declare function toObject(doc: any): QaObject;
22
+ /** Unique `${name}` tokens in a step description, in first-seen order. */
23
+ export declare function extractParamNames(description: string | undefined): string[];
24
+ /** Auto-mask heuristic: names containing password/secret/token/apikey/auth/credential get
25
+ * `protected:true` on parameter creation. A missed real secret is worse than a false positive
26
+ * the user can uncheck in the UI. */
27
+ export declare function looksSensitive(name: string): boolean;
28
+ /** Pick a default value for a param: `tc.data[name]` wins; else the step's own `value`; else "". */
29
+ export declare function paramDefault(name: string, data: Record<string, string> | undefined, stepValue: string | undefined): string;
30
+ /** Inputs to the payload builder for POST/PUT /tm/testcase. All resolution (project id, module
31
+ * id, storyRef → userstoryId, name → paramId) happens in the adapter and is passed in here. */
32
+ export type BuildTestcasePayloadInputs = {
33
+ projectId: number;
34
+ moduleId: number;
35
+ userstoryId?: number;
36
+ /** For UPDATE, the numeric TC id (already stripped of any TC_ prefix). */
37
+ existingId?: string;
38
+ tc: TestCase;
39
+ /** name → SQA parameter id, populated by the adapter's get-or-create loop before this runs. */
40
+ paramIdByName: Map<string, number>;
41
+ operation: 'CREATE' | 'UPDATE';
42
+ };
43
+ /**
44
+ * Assemble the `testcaseObj` payload for POST/PUT /tm/testcase (multipart). Mirrors Java's
45
+ * `buildTestcasePayload` exactly on wire shape:
46
+ * - `tcfnObj` — TC-level meta. `deleted` is required on UPDATE and rejected on CREATE.
47
+ * - `versionsDetails` — a minimal `{name:'v1.0', id:''}` stub matches what the SQA UI sends
48
+ * for a fresh TC; UPDATE also carries `deleted:false` because the validator requires it.
49
+ * - `steps.manualSteps` — one entry per neutral step; `automationSteps` is emitted empty
50
+ * because this common-mcp save is the manual-authoring flow (agent handles automation).
51
+ * - Every step gets `parameterIds[]` for the `${name}` tokens in its description, so the UI's
52
+ * ID-based dropdown lookup resolves them.
53
+ */
54
+ export declare function buildTestcasePayload(inputs: BuildTestcasePayloadInputs): Record<string, unknown>;
55
+ /** Neutral SavedRef from a POST/PUT /tm/testcase response. Tolerates a bare doc or a `data`-wrapped
56
+ * response; prefers the business `code` (TC_xxx) for productUrl deep links but uses the numeric id
57
+ * when only that is present. */
58
+ export declare function toSavedRef(raw: any, created: boolean): SavedRef;
59
+ /** Copy an existing suite testCases[] row into the strict allow-list; drop `id`, audit fields, etc. */
60
+ export declare function normalizeSuiteEntry(m: any): Record<string, unknown>;
61
+ /** The 15+ allow-listed suite-level keys the update validator accepts. */
62
+ export declare const SUITE_UPDATE_ALLOWED_KEYS: readonly string[];
63
+ //# sourceMappingURL=mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../../src/adapters/simplifyqa/mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EACxF,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAC5C,MAAM,uBAAuB,CAAC;AAU/B,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG,EAAE,CAM1D;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAQjE;AAED;+FAC+F;AAC/F,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAI5C;AAED,uFAAuF;AACvF,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,CAI5D;AAWD,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAkC7D;AAUD,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,QAAQ,CAqC7C;AAED,oFAAoF;AACpF,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,QAAQ,CAIxE;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,SAAS,CAa/C;AAMD,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,CAKrD;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK,CAcvC;AAOD,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,CAarD;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK,CAiBvC;AAMD,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CASvD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,CAazD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAevD;AAOD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,QAAQ,CAkB3C;AASD,0EAA0E;AAC1E,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAQ3E;AAED;;sCAEsC;AACtC,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAMpD;AAED,oGAAoG;AACpG,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAG1H;AAED;gGACgG;AAChG,MAAM,MAAM,0BAA0B,GAAG;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,QAAQ,CAAC;IACb,+FAA+F;IAC/F,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAChC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,0BAA0B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsDhG;AAED;;iCAEiC;AACjC,wBAAgB,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,GAAG,QAAQ,CAO/D;AAUD,uGAAuG;AACvG,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKnE;AAED,0EAA0E;AAC1E,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAMtD,CAAC"}
@@ -0,0 +1,409 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Shared JSON pluckers. SQA endpoints wrap responses inconsistently -- one
3
+ // controller returns `{ status, data: [...] }`, another returns the bare
4
+ // array, another wraps it under `content` or the entity plural. `pickArray`
5
+ // and `str` walk a list of candidate keys and return the first hit, matching
6
+ // the tolerance the Java BackendClient built up against real responses.
7
+ // ---------------------------------------------------------------------------
8
+ export function pickArray(n, ...keys) {
9
+ for (const k of keys) {
10
+ const v = n?.[k];
11
+ if (Array.isArray(v))
12
+ return v;
13
+ }
14
+ return Array.isArray(n) ? n : [];
15
+ }
16
+ export function str(n, ...keys) {
17
+ if (n == null)
18
+ return undefined;
19
+ for (const k of keys) {
20
+ const v = n[k];
21
+ if (typeof v === 'string' && v.length)
22
+ return v;
23
+ if (typeof v === 'number')
24
+ return String(v);
25
+ }
26
+ return undefined;
27
+ }
28
+ /** Accept a numeric id ("523") or a business code ("TC_523" / "US-897") — SQA REST paths
29
+ * parseInt the segment, so a raw business key yields NaN → 404. Strips to the numeric run. */
30
+ export function numericId(id) {
31
+ if (!id)
32
+ return '';
33
+ const m = id.match(/(\d+)/);
34
+ return m ? m[1] : id;
35
+ }
36
+ /** SQA priority is UPPERCASE on the wire; neutral is lowercase. Unknown → 'medium'. */
37
+ export function mapPriority(p) {
38
+ const s = typeof p === 'string' ? p.toLowerCase() : '';
39
+ return s === 'critical' || s === 'high' || s === 'medium' || s === 'low'
40
+ ? s : 'medium';
41
+ }
42
+ // ---------------------------------------------------------------------------
43
+ // Steps. SQA stores step docs in two shapes with mostly-overlapping fields:
44
+ // • the `/tm/testcase/steps` COLLECTION (source of truth today), and
45
+ // • the INLINE `steps.manualSteps` / `steps.automationSteps` array on the TC doc
46
+ // (legacy, drifts against the collection).
47
+ // Both use the same field names, so ONE mapper covers both. See adapter.ts
48
+ // getTestCase for the read strategy (collection wins; inline is a fallback).
49
+ // ---------------------------------------------------------------------------
50
+ export function fromSqaStep(s, fallbackSeq) {
51
+ const sid = str(s, 'id', '_id', 'stepId');
52
+ const description = s?.description ?? '';
53
+ const expectedResult = s?.expectedResult ?? undefined;
54
+ const actionType = str(s, 'actionId', 'actionType') ?? '';
55
+ const seq = typeof s?.seq === 'number' ? s.seq : fallbackSeq;
56
+ // SQA `executionType` is "MANUAL" for manual steps in a manual (or DUO) TC and "AUTOMATION"
57
+ // otherwise. Angular's step-card routing branches on 'manual' vs anything-else, so a manual
58
+ // step should really land as stepType:'manual' or the row renders as an empty automation card.
59
+ // ponytail: `Step['stepType']` on main does not yet include 'manual' — that addition is queued
60
+ // by the in-flight tc-edit branch. Until it lands, default to 'web' here (matches the Java
61
+ // toTestCase inline path's current behavior). Upgrade this line the day 'manual' is on the enum.
62
+ const stepType = 'web';
63
+ // Object linkage: SQA stores it as either scalar `objectId` OR nested `object.id`.
64
+ // Preserving the FK is what lets tc_heal / object_update_locators find the shared object.
65
+ let objectId = str(s, 'objectId');
66
+ if (!objectId && s?.object && typeof s.object === 'object') {
67
+ objectId = str(s.object, 'id');
68
+ }
69
+ const objectName = s?.object && typeof s.object === 'object' ? str(s.object, 'name') : undefined;
70
+ const step = {
71
+ n: seq,
72
+ description,
73
+ actionType,
74
+ stepType,
75
+ ...(sid ? { sourceId: sid } : {}),
76
+ ...(expectedResult ? { expectedResult } : {}),
77
+ };
78
+ if (objectId && objectId.toLowerCase() !== 'null') {
79
+ step.objectRef = { id: objectId, ...(objectName ? { name: objectName } : {}) };
80
+ }
81
+ return step;
82
+ }
83
+ // ---------------------------------------------------------------------------
84
+ // Test cases.
85
+ // `toTestCase` is the projection off the RAW /tm/testcase/getById doc — it
86
+ // reads inline steps as a fallback. `applyCollectionSteps` replaces those with
87
+ // the steps-collection view when that fetch succeeds, matching what the SQA UI
88
+ // + execution + save paths use today.
89
+ // ---------------------------------------------------------------------------
90
+ export function toTestCase(doc) {
91
+ const id = str(doc, 'id', '_id', 'testcaseId');
92
+ const execType = str(doc, 'executionType') ?? '';
93
+ const category = execType.toUpperCase() === 'MANUAL' ? 'manual' : 'automated';
94
+ const priority = mapPriority(doc?.priority);
95
+ const description = str(doc, 'description');
96
+ const preconditions = str(doc, 'prerequisite', 'preconditions');
97
+ // storyRef + folderOrModule come off SQA as raw ints (userstoryId / moduleId). Project into
98
+ // neutral strings so `tc_automate` (SQA branch) can pre-fill the recording guide.
99
+ const userstoryId = typeof doc?.userstoryId === 'number' && doc.userstoryId > 0
100
+ ? String(doc.userstoryId) : undefined;
101
+ const moduleId = typeof doc?.moduleId === 'number' && doc.moduleId > 0
102
+ ? String(doc.moduleId) : undefined;
103
+ // Inline steps as fallback: prefer manualSteps for manual TCs, else automationSteps.
104
+ const stepsNode = doc?.steps;
105
+ let rawSteps = [];
106
+ if (stepsNode && typeof stepsNode === 'object') {
107
+ if (Array.isArray(stepsNode?.manualSteps) && stepsNode.manualSteps.length)
108
+ rawSteps = stepsNode.manualSteps;
109
+ else if (Array.isArray(stepsNode?.automationSteps))
110
+ rawSteps = stepsNode.automationSteps;
111
+ else if (Array.isArray(stepsNode))
112
+ rawSteps = stepsNode;
113
+ }
114
+ const steps = rawSteps.map((s, i) => fromSqaStep(s, i + 1));
115
+ return {
116
+ ...(id ? { id } : {}),
117
+ title: str(doc, 'name', 'title') ?? '',
118
+ ...(description ? { description } : {}),
119
+ priority,
120
+ ...(str(doc, 'status') ? { status: str(doc, 'status') } : {}),
121
+ category,
122
+ ...(preconditions ? { preconditions } : {}),
123
+ ...(userstoryId ? { storyRef: userstoryId } : {}),
124
+ ...(moduleId ? { folderOrModule: moduleId } : {}),
125
+ steps,
126
+ };
127
+ }
128
+ /** Overwrite `tc.steps` with the mapped collection-endpoint rows when non-empty. */
129
+ export function applyCollectionSteps(tc, rows) {
130
+ if (!Array.isArray(rows) || rows.length === 0)
131
+ return tc;
132
+ const mapped = rows.map((s, i) => fromSqaStep(s, i + 1));
133
+ return { ...tc, steps: mapped };
134
+ }
135
+ export function toTcSummary(row) {
136
+ const id = str(row, 'id', '_id', 'testcaseId') ?? '';
137
+ const title = str(row, 'name', 'title') ?? '';
138
+ const priority = (str(row, 'priority') ?? 'medium').toLowerCase();
139
+ const status = str(row, 'status');
140
+ const stepCount = typeof row?.stepCount === 'number' ? row.stepCount : undefined;
141
+ return {
142
+ id,
143
+ title,
144
+ priority,
145
+ ...(status ? { status } : {}),
146
+ ...(stepCount !== undefined ? { stepCount } : {}),
147
+ };
148
+ }
149
+ // ---------------------------------------------------------------------------
150
+ // Suites.
151
+ // ---------------------------------------------------------------------------
152
+ export function toSuiteSummary(row) {
153
+ const id = str(row, 'id', '_id', 'suiteId') ?? '';
154
+ const name = str(row, 'name', 'suiteName') ?? '';
155
+ const memberCount = Array.isArray(row?.testCases) ? row.testCases.length : undefined;
156
+ return { id, name, ...(memberCount !== undefined ? { memberCount } : {}) };
157
+ }
158
+ export function toSuite(doc) {
159
+ const id = str(doc, 'id', '_id', 'suiteId');
160
+ const description = str(doc, 'description');
161
+ const rawMembers = Array.isArray(doc?.testCases) ? doc.testCases : [];
162
+ const members = rawMembers.map((tc, i) => ({
163
+ tcId: str(tc, 'testcaseId', 'id', '_id') ?? '',
164
+ order: typeof tc?.seq === 'number' ? tc.seq : i + 1,
165
+ }));
166
+ return {
167
+ ...(id ? { id } : {}),
168
+ name: str(doc, 'name', 'suiteName') ?? '',
169
+ ...(description ? { description } : {}),
170
+ members,
171
+ };
172
+ }
173
+ // ---------------------------------------------------------------------------
174
+ // User stories (`pm/userstory`). Business key comes back as `code` on SQA
175
+ // (US_123 / US-897), so `key` in the neutral shape is populated from `code`.
176
+ // ---------------------------------------------------------------------------
177
+ export function toStorySummary(row) {
178
+ const id = str(row, 'id', '_id', 'userstoryId') ?? '';
179
+ const key = str(row, 'code', 'key', 'userStoryCode');
180
+ const title = str(row, 'name', 'title', 'storyName') ?? '';
181
+ const status = str(row, 'status', 'state');
182
+ const priority = str(row, 'priority');
183
+ return {
184
+ id,
185
+ ...(key ? { key } : {}),
186
+ title,
187
+ ...(status ? { status } : {}),
188
+ ...(priority ? { priority } : {}),
189
+ };
190
+ }
191
+ export function toStory(doc) {
192
+ const base = toStorySummary(doc);
193
+ const description = str(doc, 'description', 'storyDescription');
194
+ // Acceptance criteria may be an array (of strings or {description}) or a newline-joined string.
195
+ const rawAc = doc?.acceptanceCriteria ?? doc?.acceptance_criteria;
196
+ let ac;
197
+ if (Array.isArray(rawAc)) {
198
+ ac = rawAc.map((c) => typeof c === 'string' ? c : String(c?.description ?? ''))
199
+ .filter((s) => s.length > 0);
200
+ }
201
+ else if (typeof rawAc === 'string') {
202
+ ac = rawAc.split(/\r?\n/).map((s) => s.trim()).filter((s) => s.length > 0);
203
+ }
204
+ return {
205
+ ...base,
206
+ ...(description ? { description } : {}),
207
+ ...(ac && ac.length ? { acceptanceCriteria: ac } : {}),
208
+ };
209
+ }
210
+ // ---------------------------------------------------------------------------
211
+ // Modules, releases, sprints.
212
+ // ---------------------------------------------------------------------------
213
+ export function toModuleSummary(row) {
214
+ const id = str(row, 'id', 'moduleId', '_id') ?? '';
215
+ const name = str(row, 'name', 'moduleName') ?? '';
216
+ const parentId = str(row, 'parentId', 'parent', 'parentModuleId');
217
+ return {
218
+ id,
219
+ name,
220
+ ...(parentId && parentId !== '0' ? { parentId } : {}),
221
+ };
222
+ }
223
+ export function toReleaseSummary(row) {
224
+ const id = str(row, 'id', '_id', 'releaseId') ?? '';
225
+ const name = str(row, 'name', 'releaseName') ?? '';
226
+ const state = str(row, 'state', 'status');
227
+ const plannedStartDate = str(row, 'plannedStartDate');
228
+ const plannedEndDate = str(row, 'plannedEndDate');
229
+ return {
230
+ id,
231
+ name,
232
+ ...(state ? { state } : {}),
233
+ ...(plannedStartDate ? { plannedStartDate } : {}),
234
+ ...(plannedEndDate ? { plannedEndDate } : {}),
235
+ };
236
+ }
237
+ export function toSprintSummary(row) {
238
+ const id = str(row, 'id', '_id', 'sprintId') ?? '';
239
+ const name = str(row, 'name', 'sprintName') ?? '';
240
+ const releaseId = str(row, 'releaseId');
241
+ const state = str(row, 'state', 'status');
242
+ const plannedStartDate = str(row, 'plannedStartDate');
243
+ const plannedEndDate = str(row, 'plannedEndDate');
244
+ return {
245
+ id,
246
+ name,
247
+ ...(releaseId ? { releaseId } : {}),
248
+ ...(state ? { state } : {}),
249
+ ...(plannedStartDate ? { plannedStartDate } : {}),
250
+ ...(plannedEndDate ? { plannedEndDate } : {}),
251
+ };
252
+ }
253
+ // ---------------------------------------------------------------------------
254
+ // Objects — the shared object (locator) library. `attributes[]` is the SQA
255
+ // wire shape; the neutral QaObject exposes it as `locators`.
256
+ // ---------------------------------------------------------------------------
257
+ export function toObject(doc) {
258
+ const id = str(doc, 'id', '_id');
259
+ const rawAttrs = Array.isArray(doc?.attributes) ? doc.attributes : [];
260
+ const locators = rawAttrs
261
+ .filter((a) => typeof a?.name === 'string' && typeof a?.value === 'string')
262
+ .map((a) => ({
263
+ name: String(a.name),
264
+ value: String(a.value),
265
+ ...(a.unique === true ? { unique: true } : {}),
266
+ }));
267
+ const name = str(doc, 'description', 'disname', 'placeholder') ?? '';
268
+ const objectType = str(doc, 'technology');
269
+ return {
270
+ ...(id ? { id } : {}),
271
+ name,
272
+ ...(objectType ? { objectType } : {}),
273
+ locators,
274
+ };
275
+ }
276
+ // ---------------------------------------------------------------------------
277
+ // Write-side helpers. `${name}` token extraction + secret detection + payload
278
+ // builders for POST/PUT /tm/testcase (`testcaseObj`).
279
+ // ---------------------------------------------------------------------------
280
+ const PARAM_TOKEN = /\$\{([A-Za-z0-9_]+)\}/g;
281
+ /** Unique `${name}` tokens in a step description, in first-seen order. */
282
+ export function extractParamNames(description) {
283
+ if (!description)
284
+ return [];
285
+ const seen = [];
286
+ for (const m of description.matchAll(PARAM_TOKEN)) {
287
+ const name = m[1];
288
+ if (!seen.includes(name))
289
+ seen.push(name);
290
+ }
291
+ return seen;
292
+ }
293
+ /** Auto-mask heuristic: names containing password/secret/token/apikey/auth/credential get
294
+ * `protected:true` on parameter creation. A missed real secret is worse than a false positive
295
+ * the user can uncheck in the UI. */
296
+ export function looksSensitive(name) {
297
+ if (!name)
298
+ return false;
299
+ const n = name.toLowerCase();
300
+ return n.includes('password') || n.includes('passwd') || n.includes('secret')
301
+ || n.includes('token') || n.includes('apikey') || n.includes('api_key')
302
+ || n.includes('auth') || n.includes('credential');
303
+ }
304
+ /** Pick a default value for a param: `tc.data[name]` wins; else the step's own `value`; else "". */
305
+ export function paramDefault(name, data, stepValue) {
306
+ if (data && Object.prototype.hasOwnProperty.call(data, name))
307
+ return String(data[name] ?? '');
308
+ return stepValue ?? '';
309
+ }
310
+ /**
311
+ * Assemble the `testcaseObj` payload for POST/PUT /tm/testcase (multipart). Mirrors Java's
312
+ * `buildTestcasePayload` exactly on wire shape:
313
+ * - `tcfnObj` — TC-level meta. `deleted` is required on UPDATE and rejected on CREATE.
314
+ * - `versionsDetails` — a minimal `{name:'v1.0', id:''}` stub matches what the SQA UI sends
315
+ * for a fresh TC; UPDATE also carries `deleted:false` because the validator requires it.
316
+ * - `steps.manualSteps` — one entry per neutral step; `automationSteps` is emitted empty
317
+ * because this common-mcp save is the manual-authoring flow (agent handles automation).
318
+ * - Every step gets `parameterIds[]` for the `${name}` tokens in its description, so the UI's
319
+ * ID-based dropdown lookup resolves them.
320
+ */
321
+ export function buildTestcasePayload(inputs) {
322
+ const { projectId, moduleId, userstoryId, existingId, tc, paramIdByName, operation } = inputs;
323
+ const tcfnObj = {
324
+ ...(existingId ? { id: Number.parseInt(existingId, 10) } : {}),
325
+ name: tc.title ?? '',
326
+ projectId,
327
+ moduleId,
328
+ ...(userstoryId != null ? { userstoryId } : {}),
329
+ obsolete: false,
330
+ ...(existingId ? { deleted: false } : {}),
331
+ tcType: 'WEB',
332
+ executionType: 'MANUAL',
333
+ customFields: {},
334
+ ...(tc.description ? { description: tc.description } : {}),
335
+ ...(tc.preconditions ? { prerequisite: tc.preconditions } : {}),
336
+ };
337
+ const versionsDetails = {
338
+ name: 'v1.0',
339
+ id: '',
340
+ ...(existingId ? { deleted: false } : {}),
341
+ };
342
+ const manualSteps = [];
343
+ const steps = Array.isArray(tc.steps) ? tc.steps : [];
344
+ steps.forEach((s, i) => {
345
+ const desc = s.description ?? '';
346
+ const step = {
347
+ projectId,
348
+ moduleId,
349
+ type: 'TC',
350
+ stepType: 'NORMAL_STATEMENT',
351
+ seq: i + 1,
352
+ description: desc,
353
+ expectedResult: s.expectedResult ?? '',
354
+ executionType: 'MANUAL',
355
+ };
356
+ const paramIds = [];
357
+ for (const name of extractParamNames(desc)) {
358
+ const id = paramIdByName.get(name);
359
+ if (id != null)
360
+ paramIds.push(id);
361
+ }
362
+ if (paramIds.length > 0)
363
+ step['parameterIds'] = paramIds;
364
+ manualSteps.push(step);
365
+ });
366
+ return {
367
+ tcfnObj,
368
+ versionsDetails,
369
+ steps: { automationSteps: [], manualSteps },
370
+ operation,
371
+ type: 'TC',
372
+ };
373
+ }
374
+ /** Neutral SavedRef from a POST/PUT /tm/testcase response. Tolerates a bare doc or a `data`-wrapped
375
+ * response; prefers the business `code` (TC_xxx) for productUrl deep links but uses the numeric id
376
+ * when only that is present. */
377
+ export function toSavedRef(raw, created) {
378
+ const flat = (raw?.data ?? raw) ?? {};
379
+ const id = str(flat, 'id', '_id', 'testcaseId') ?? '';
380
+ return {
381
+ id,
382
+ created,
383
+ };
384
+ }
385
+ // ---------------------------------------------------------------------------
386
+ // Suites (write). The update PUT reshapes the members list under a strict
387
+ // allow-list; anything else on the raw doc is rejected. Shared helpers are:
388
+ // • normalizeSuiteEntry — copy an existing members[] row into the allow-list.
389
+ // • Adapter builds each ADD entry by fetching the target TC, so those helpers
390
+ // stay in the adapter (they need IO).
391
+ // ---------------------------------------------------------------------------
392
+ /** Copy an existing suite testCases[] row into the strict allow-list; drop `id`, audit fields, etc. */
393
+ export function normalizeSuiteEntry(m) {
394
+ const out = {};
395
+ const keep = ['testcaseId', 'code', 'seq', 'stepId', 'version', 'versionId', 'tcType', 'projectId', 'executionPlatform'];
396
+ for (const k of keep)
397
+ if (m?.[k] !== undefined)
398
+ out[k] = m[k];
399
+ return out;
400
+ }
401
+ /** The 15+ allow-listed suite-level keys the update validator accepts. */
402
+ export const SUITE_UPDATE_ALLOWED_KEYS = [
403
+ 'id', 'name', 'description', 'state', 'suiteType', 'projectId', 'autoDefectLog',
404
+ 'autoReExecCount', 'autoReExecTriggerOn', 'newBrowserSession', 'terminateOnFailure',
405
+ 'minimumContainerCount', 'maximumContainerCount', 'copySuiteName', 'copiedFrom',
406
+ 'mailersList', 'tags', 'customFields', 'agentId', 'cloudAgentId',
407
+ 'lastSelectedExecutionType', 'updateVersion',
408
+ ];
409
+ //# sourceMappingURL=mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapper.js","sourceRoot":"","sources":["../../../src/adapters/simplifyqa/mapper.ts"],"names":[],"mappings":"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"}