@provartesting/provardx-cli 1.6.2 → 1.6.4

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.
@@ -11,7 +11,7 @@ Provar test-case validation runs in two layers. This registry is the single cano
11
11
 
12
12
  **The validity bridge (PDX-509):** a `critical` best-practice violation is surfaced into `issues[]` as an `ERROR` and therefore gates `is_valid` — EXCEPT where a Layer-1 check already owns the concept (then it is suppressed to avoid double-reporting). `major`/`minor`/`info` affect `quality_score` (and the `needs_improvement` status) only. The `status` field is tri-state: `invalid` (a critical) / `needs_improvement` (loads but `quality_score < quality_threshold`) / `valid`.
13
13
 
14
- **Counts:** Layer 1 — 23 rules (18 gating). Layer 2 — 178 rules (critical 64 / major 67 / minor 29 / info 18; 58 bridged to `is_valid`).
14
+ **Counts:** Layer 1 — 23 rules (18 gating). Layer 2 — 179 rules (critical 64 / major 68 / minor 29 / info 18; 58 bridged to `is_valid`).
15
15
 
16
16
  ## Layer 1 — Structural validity rules
17
17
 
@@ -194,6 +194,7 @@ Provar test-case validation runs in two layers. This registry is the single cano
194
194
  | `UI-LOCATOR-SAVE-001` | TestCaseDesign | major | 5 | No | Save button locator must use correct pattern. |
195
195
  | `UI-LOOKUP-ID-001` | TestCaseDesign | major | 6 | No | UiDoAction lookup fields should use Name values, not IDs. |
196
196
  | `UI-NAVIGATE-PREFER-SCREEN-001` | TestCaseDesign | info | 1 | No | Prefer UiWithScreen over UiNavigate for Salesforce. |
197
+ | `UI-SCREEN-CONTEXT-001` | TestCaseDesign | major | 5 | No | UI verification or post-save step left under the wrong screen context. |
197
198
  | `UI-SCREEN-NAV-001` | TestCaseDesign | major | 5 | No | First UiWithScreen must use navigate=Always or IfNeccessary. |
198
199
  | `UI-SCREEN-NAV-002` | TestCaseDesign | minor | 2 | No | First UiWithScreen should prefer navigate=Always over IfNeccessary. |
199
200
  | `UI-SCREEN-OBJID-001` | TestCaseDesign | major | 5 | No | UiWithScreen with navigate=Always for Edit/View must have sfUiTargetObjectId. |
@@ -2959,6 +2959,22 @@
2959
2959
  "notes": "Mirrors QH UiActionNestingStructureValidator (lambda/src/validator/best_practices_engine.py). Emits one violation per offending step so that (rule_id, test_item_id) de-dups against the API. UiWithRow plays a dual role: itself a UI action that must be nested, and a container whose substeps clause satisfies the rule for its descendants.",
2960
2960
  "source": "Field observation: flat-emitted UI actions (sibling of UiWithScreen) fail to render in Provar IDE despite scoring 100/94 in earlier local validation"
2961
2961
  },
2962
+ {
2963
+ "id": "UI-SCREEN-CONTEXT-001",
2964
+ "category": "TestCaseDesign",
2965
+ "name": "UI verification or post-save step left under the wrong screen context",
2966
+ "description": "A UiAssert or UiRead nested under a create screen (UiWithScreen target action=New), or any UI action placed after a plain Save (action=save) inside the same action=New substeps block, is almost certainly bound to the wrong screen. Salesforce tears down the create form on Save and navigates to the saved record's View screen, so a verification still nested under action=New asserts against a page that no longer exists, and steps following the Save in the same create wrapper run in stale context. Both checks are scoped to action=New: post-save steps under action=Edit/View are a valid same-record pattern and do not fire, and continuation buttons like Save & New (action=saveAndNew) are not treated as a Save. The test case still loads and may even score 100, so this is a runtime/logic correctness issue (major), not a load failure.",
2967
+ "appliesTo": ["Step", "TestCase"],
2968
+ "severity": "major",
2969
+ "weight": 5,
2970
+ "recommendation": "Close the create UiWithScreen at the Save step and open a new UiWithScreen targeting the post-save screen for any verification or follow-up action. For Salesforce record creation, assert the saved record under a UiWithScreen with target sf:ui:target?object=<Object>&action=View&recordId={<idVar>}, capturing the created record id via sfUiTargetResultName on the create screen. Do not place UiAssert/UiRead steps under an action=New screen, and do not leave steps after a Save inside the create screen's substeps block.",
2971
+ "check": {
2972
+ "type": "uiAssertScreenContext",
2973
+ "target": "step"
2974
+ },
2975
+ "notes": "Two heuristics over data already in the XML, both scoped to UiWithScreen target action=New: (1) UiAssert/UiRead nested directly under the create screen; (2) any UI action that appears after a plain Save UiDoAction within the same <clause name=\"substeps\"> block. Save is detected by parsing the locator binding's decoded action token and comparing it EXACTLY to 'save' (case-insensitive), so saveAndNew / savedSearch / savepoint never match. A step that trips both heuristics (assert placed after Save under New) is de-duped to a single violation per offending testItemId inside the local engine before scoring, so it is penalised once (major x weight 5); this matters because the local score sums every BPViolation and has no test_item_id field of its own. Coverage limit: this is a structural heuristic — a passing run confirms the create/verify split is structured correctly, not that the assertion logic itself is correct.",
2976
+ "source": "Field observation: AI-generated create-and-verify tests leave the UiAssert under the action=New screen, scoring 100 while asserting against the wrong page at runtime"
2977
+ },
2962
2978
  {
2963
2979
  "id": "VAR-STRING-LITERAL-001",
2964
2980
  "category": "TestCaseDesign",
@@ -9,6 +9,13 @@ export interface BPViolation {
9
9
  recommendation: string;
10
10
  applies_to: string[];
11
11
  count?: number;
12
+ /**
13
+ * The offending step's testItemId, when a rule attaches its violation to a
14
+ * specific step. Used as a structured de-dup key (e.g. UI-SCREEN-CONTEXT-001)
15
+ * instead of parsing the id out of the human-readable message. Absent/`'N/A'`/
16
+ * empty means "no stable id" — such violations are never merged together.
17
+ */
18
+ test_item_id?: string;
12
19
  }
13
20
  export interface BPEngineResult {
14
21
  quality_score: number;
@@ -265,7 +265,7 @@ export function calculateBPScore(violations) {
265
265
  return Math.max(0, Math.round((100 - total) * 100) / 100);
266
266
  }
267
267
  // ── Violation factory ─────────────────────────────────────────────────────────
268
- function makeViolation(rule, message, count) {
268
+ function makeViolation(rule, message, count, testItemId) {
269
269
  const v = {
270
270
  rule_id: rule.id,
271
271
  name: rule.name,
@@ -279,6 +279,8 @@ function makeViolation(rule, message, count) {
279
279
  };
280
280
  if (count !== undefined && count > 1)
281
281
  v.count = count;
282
+ if (testItemId !== undefined)
283
+ v.test_item_id = testItemId;
282
284
  return v;
283
285
  }
284
286
  // ── Validator implementations ─────────────────────────────────────────────────
@@ -672,6 +674,15 @@ function validateUniqueResultNames(tc, rule) {
672
674
  return makeViolation(rule, msg, Math.min(violations.length, MAX));
673
675
  }
674
676
  // ── UiWithScreen target URI validator ─────────────────────────────────────────
677
+ // Recognised query-param keys on an `sf:ui:target?…` URI. A UiWithScreen SF
678
+ // target is treated as valid when it carries AT LEAST ONE of these keys. The set
679
+ // is corpus-verified against real Provar IDE test cases (CPQ / Billing / sales
680
+ // flows) — a target whose only keys are outside this set (e.g. `?foo=bar`) is
681
+ // flagged as having no recognised SF parameters. PDX-518: extended with the
682
+ // FlexiPage / Visualforce / record-type navigation params the IDE actually emits
683
+ // (`page`, `pageObject`, `flexiPage`, `flexiPath`, `recordType`, `listView`,
684
+ // `quickAction`, `relatedList`, `noOverride`) so activating the attribute reader
685
+ // does not false-positive on legitimate IDE-authored screens.
675
686
  const VALID_SF_UI_PARAMS = new Set([
676
687
  'object',
677
688
  'action',
@@ -682,24 +693,22 @@ const VALID_SF_UI_PARAMS = new Set([
682
693
  'lookup',
683
694
  'fieldService',
684
695
  'tab',
696
+ // Visualforce-page navigation (e.g. SBQQ__sb, blng__creditInvoice).
697
+ 'page',
698
+ 'pageObject',
699
+ // Lightning record-page (FlexiPage) targeting.
700
+ 'flexiPage',
701
+ 'flexiPath',
702
+ // Record-type-scoped navigation.
703
+ 'recordType',
704
+ // List-view, quick-action and related-list navigation.
705
+ 'listView',
706
+ 'quickAction',
707
+ 'relatedList',
708
+ // Standard-action override flag carried on `action=New&noOverride=true` forms;
709
+ // legitimate on its own as a recognised SF nav parameter.
710
+ 'noOverride',
685
711
  ]);
686
- /** Read the "target" argument from a UiWithScreen call via the <arguments> wrapper. */
687
- function getUiWithScreenTarget(call) {
688
- const argsNode = call['arguments'];
689
- if (!argsNode || typeof argsNode !== 'object')
690
- return undefined;
691
- for (const arg of toArr(argsNode['argument'])) {
692
- if (!arg || typeof arg !== 'object')
693
- continue;
694
- if (arg['@_id'] !== 'target')
695
- continue;
696
- const valElem = arg['value'];
697
- if (!valElem || typeof valElem !== 'object')
698
- return undefined;
699
- return valElem['#text'] ?? undefined;
700
- }
701
- return undefined;
702
- }
703
712
  /** UI-SCREEN-TARGET — validate UiWithScreen target URIs (SF and page object formats). */
704
713
  function validateUiWithScreenTarget(tc, rule) {
705
714
  const targetApiId = rule.check['apiId'];
@@ -710,7 +719,7 @@ function validateUiWithScreenTarget(tc, rule) {
710
719
  continue;
711
720
  if (targetApiId && !apiId.includes(targetApiId))
712
721
  continue;
713
- const target = getUiWithScreenTarget(call);
722
+ const target = getUiWithScreenTargetUri(call);
714
723
  if (!target)
715
724
  continue;
716
725
  if (target.startsWith('sf:')) {
@@ -858,6 +867,210 @@ function validateUiActionNestingStructure(tc, rule) {
858
867
  });
859
868
  return violations;
860
869
  }
870
+ // ── UI-SCREEN-CONTEXT-001 — assert/post-save steps under the wrong screen ─────
871
+ // A UiAssert / UiRead that verifies a persisted record while still nested under
872
+ // the `action=New` create screen is almost always wrong context: the create
873
+ // screen tears down after Save, so the assertion runs against the wrong page.
874
+ // Likewise any UI action that follows a plain Save (`action=save`, compared
875
+ // exactly so `Save & New` is excluded) inside the SAME `action=New` screen block
876
+ // is suspect — the create screen is torn down, so trailing steps belong in a
877
+ // fresh UiWithScreen (typically `action=View`). Both heuristics are scoped to
878
+ // `action=New`; post-save steps under `action=Edit`/`View` are a valid pattern.
879
+ // UI action apiIds whose presence AFTER a Save (in the same screen block) is suspect.
880
+ const POST_SAVE_SUSPECT_APIS = UI_ACTION_API_IDS;
881
+ // Read-only verification steps that should not run on the create (`action=New`) screen.
882
+ const ASSERT_ON_NEW_SUSPECT_APIS = new Set([
883
+ 'com.provar.plugins.forcedotcom.core.ui.UiAssert',
884
+ 'com.provar.plugins.forcedotcom.core.ui.UiRead',
885
+ ]);
886
+ const UI_WITH_SCREEN_API_ID = 'com.provar.plugins.forcedotcom.core.ui.UiWithScreen';
887
+ /**
888
+ * Read the URI string carried by a UiWithScreen `target` argument. The value is
889
+ * stored either as the `uri` attribute (`<value class="uiTarget" uri="…"/>`) or,
890
+ * for hand-authored XML, as element text. Returns undefined when absent.
891
+ */
892
+ function getUiWithScreenTargetUri(call) {
893
+ for (const arg of getCallArguments(call)) {
894
+ if (arg['@_id'] !== 'target')
895
+ continue;
896
+ const valElem = arg['value'];
897
+ if (!valElem || typeof valElem !== 'object')
898
+ return undefined;
899
+ const uriAttr = valElem['@_uri'];
900
+ if (uriAttr)
901
+ return uriAttr;
902
+ return valElem['#text'] ?? undefined;
903
+ }
904
+ return undefined;
905
+ }
906
+ /** Parse the `action` query parameter from a UiWithScreen target URI (e.g. `…?object=Opportunity&action=New`). */
907
+ function getScreenAction(targetUri) {
908
+ if (!targetUri || !targetUri.includes('?'))
909
+ return undefined;
910
+ const qs = targetUri.slice(targetUri.indexOf('?') + 1);
911
+ return new URLSearchParams(qs).get('action') ?? undefined;
912
+ }
913
+ /** Read the `uri` attribute of a named argument's `<value>` element (e.g. locator / interaction). */
914
+ function getArgUri(call, argId) {
915
+ for (const arg of getCallArguments(call)) {
916
+ if (arg['@_id'] !== argId)
917
+ continue;
918
+ const valElem = arg['value'];
919
+ if (!valElem || typeof valElem !== 'object')
920
+ return undefined;
921
+ return valElem['@_uri'] ?? undefined;
922
+ }
923
+ return undefined;
924
+ }
925
+ /**
926
+ * Decode the `action` token a UiDoAction locator targets, lower-cased, or undefined.
927
+ *
928
+ * The locator URI looks like `ui:locator?name=save&binding=<percent-encoded URI>`,
929
+ * where the decoded binding is itself a query string (`sf:ui:binding:object?object=Opportunity&action=save`).
930
+ * We parse the outer locator for `binding`, decode it, and read its `action` param;
931
+ * we also accept the `name` param as a fallback when no binding action is present.
932
+ * Both are returned as EXACT tokens (no substring matching) so `saveAndNew`,
933
+ * `savedSearch`, `savepoint`, etc. never masquerade as a plain `save`.
934
+ */
935
+ function getLocatorActionToken(call) {
936
+ const locatorUri = getArgUri(call, 'locator');
937
+ if (!locatorUri || !locatorUri.includes('?'))
938
+ return undefined;
939
+ const locatorParams = new URLSearchParams(locatorUri.slice(locatorUri.indexOf('?') + 1));
940
+ const binding = locatorParams.get('binding');
941
+ if (binding && binding.includes('?')) {
942
+ // URLSearchParams already percent-decodes the binding value; parse its own query string.
943
+ const bindingAction = new URLSearchParams(binding.slice(binding.indexOf('?') + 1)).get('action');
944
+ if (bindingAction)
945
+ return bindingAction.toLowerCase();
946
+ }
947
+ const nameToken = locatorParams.get('name');
948
+ return nameToken ? nameToken.toLowerCase() : undefined;
949
+ }
950
+ /**
951
+ * True when a UiDoAction is a plain Save click. The action token is compared
952
+ * EXACTLY (case-insensitive) against `save`, so continuation buttons such as
953
+ * `Save & New` (`action=saveAndNew` / `name=saveAndNew`) and inline-edit
954
+ * variants do NOT count — they keep the user on the create screen, so steps
955
+ * after them are legitimate.
956
+ */
957
+ function isSaveAction(call) {
958
+ if (call['@_apiId'] !== 'com.provar.plugins.forcedotcom.core.ui.UiDoAction')
959
+ return false;
960
+ return getLocatorActionToken(call) === 'save';
961
+ }
962
+ /** The direct <apiCall> steps inside a UiWithScreen's `<clause name="substeps"><steps>` block (in document order). */
963
+ function getScreenSubstepCalls(screen) {
964
+ const clauses = screen['clauses'];
965
+ if (!clauses || typeof clauses !== 'object')
966
+ return [];
967
+ for (const clause of toArr(clauses['clause'])) {
968
+ if (!clause || typeof clause !== 'object')
969
+ continue;
970
+ if (clause['@_name'] !== 'substeps')
971
+ continue;
972
+ const steps = clause['steps'];
973
+ if (!steps || typeof steps !== 'object')
974
+ continue;
975
+ return toArr(steps['apiCall']).filter((c) => c && typeof c === 'object');
976
+ }
977
+ return [];
978
+ }
979
+ /** Human-readable label for an offending step (`'Title' (testItemId=N)`). */
980
+ function describeStep(call) {
981
+ const ctx = stepContext(call);
982
+ return `${ctx.apiName} '${ctx.title}' (testItemId=${ctx.tid})`;
983
+ }
984
+ /**
985
+ * Heuristic 1 — a UiAssert/UiRead whose nearest enclosing UiWithScreen targets the
986
+ * create screen (`action=New`). Emits one violation per offending verification step.
987
+ */
988
+ function flagAssertsOnNewScreen(screen, rule, out) {
989
+ const action = (getScreenAction(getUiWithScreenTargetUri(screen)) ?? '').toLowerCase();
990
+ if (action !== 'new')
991
+ return;
992
+ for (const step of getScreenSubstepCalls(screen)) {
993
+ const apiId = step['@_apiId'];
994
+ if (!apiId || !ASSERT_ON_NEW_SUSPECT_APIS.has(apiId))
995
+ continue;
996
+ out.push(makeViolation(rule, `${describeStep(step)} verifies a persisted record while nested under the create screen ` +
997
+ '(action=New). The create screen is torn down after Save, so the assertion runs against the ' +
998
+ 'wrong page context. Move it into a new UiWithScreen targeting action=View (or the appropriate post-save screen).', undefined, stepContext(step).tid));
999
+ }
1000
+ }
1001
+ /**
1002
+ * Heuristic 2 — any UI action step that appears AFTER a plain Save click inside the
1003
+ * SAME create-screen (`action=New`) substeps block. Scoped to `action=New` because
1004
+ * the rationale is screen teardown: the create form is destroyed on Save and the
1005
+ * user lands on the saved record's View screen. On `action=Edit`/`View` a post-save
1006
+ * step on the same record page is a normal, valid pattern and must NOT fire.
1007
+ * Emits one violation per offending trailing step.
1008
+ */
1009
+ function flagStepsAfterSave(screen, rule, out) {
1010
+ const action = (getScreenAction(getUiWithScreenTargetUri(screen)) ?? '').toLowerCase();
1011
+ if (action !== 'new')
1012
+ return;
1013
+ const calls = getScreenSubstepCalls(screen);
1014
+ let sawSave = false;
1015
+ for (const step of calls) {
1016
+ if (!sawSave) {
1017
+ if (isSaveAction(step))
1018
+ sawSave = true;
1019
+ continue;
1020
+ }
1021
+ const apiId = step['@_apiId'];
1022
+ if (!apiId || !POST_SAVE_SUSPECT_APIS.has(apiId))
1023
+ continue;
1024
+ out.push(makeViolation(rule, `${describeStep(step)} appears after a Save (action=save) inside the same action=New screen block. ` +
1025
+ 'Save tears down the create screen, so this step runs in stale context. Move it into a new ' +
1026
+ 'UiWithScreen targeting action=View (or the appropriate post-save screen).', undefined, stepContext(step).tid));
1027
+ }
1028
+ }
1029
+ /** testItemId values that do not stably identify a step, so must never be merged across violations. */
1030
+ const UNSTABLE_TEST_ITEM_IDS = new Set(['', 'N/A']);
1031
+ /**
1032
+ * UI-SCREEN-CONTEXT-001 — flag UiAssert/UiRead steps left under the `action=New`
1033
+ * create screen (heuristic 1), and any UI action that follows a plain Save within
1034
+ * the same create-screen block (heuristic 2). Both heuristics read data already
1035
+ * present in the XML (target URIs and locator bindings).
1036
+ *
1037
+ * The canonical defect (a UiAssert placed after Save inside the create screen)
1038
+ * trips BOTH heuristics for the SAME step. Because this local engine sums every
1039
+ * BPViolation when scoring (unlike the Quality Hub API, which de-dups by
1040
+ * test_item_id), we de-dup here on the structured `BPViolation.test_item_id`
1041
+ * the flag* helpers attach (the offending step's testItemId), emitting AT MOST
1042
+ * ONE violation per stable testItemId so the step is penalised once (major ×
1043
+ * weight 5), not twice.
1044
+ *
1045
+ * Steps with no stable id (`test_item_id` absent / `'N/A'` / empty) are treated
1046
+ * as unique and NEVER merged: two genuinely-different offending steps that both
1047
+ * lack a testItemId must each be reported, rather than collapsing onto a shared
1048
+ * `N/A` key (the old message-parse dedup silently under-counted them).
1049
+ */
1050
+ function validateUiAssertScreenContext(tc, rule) {
1051
+ const raw = [];
1052
+ for (const call of getAllApiCalls(tc)) {
1053
+ if (call['@_apiId'] !== UI_WITH_SCREEN_API_ID)
1054
+ continue;
1055
+ flagAssertsOnNewScreen(call, rule, raw);
1056
+ flagStepsAfterSave(call, rule, raw);
1057
+ }
1058
+ const seen = new Set();
1059
+ const deduped = [];
1060
+ for (const v of raw) {
1061
+ const id = v.test_item_id ?? '';
1062
+ if (UNSTABLE_TEST_ITEM_IDS.has(id)) {
1063
+ // No stable id — never merge; report each occurrence.
1064
+ deduped.push(v);
1065
+ continue;
1066
+ }
1067
+ if (seen.has(id))
1068
+ continue;
1069
+ seen.add(id);
1070
+ deduped.push(v);
1071
+ }
1072
+ return deduped;
1073
+ }
861
1074
  // ── NitroX MS variant validators (UI-NITROX-CONNECT-ARGS-001, UI-NITROX-VARIANT-ARG-001) ───
862
1075
  /**
863
1076
  * Return the list of <argument> nodes on an apiCall, navigating through the
@@ -2055,6 +2268,7 @@ const VALIDATOR_REGISTRY = {
2055
2268
  };
2056
2269
  const MULTI_VALIDATOR_REGISTRY = {
2057
2270
  uiActionNestingStructure: validateUiActionNestingStructure,
2271
+ uiAssertScreenContext: validateUiAssertScreenContext,
2058
2272
  nitroxConnectInvalidArgs: validateNitroxConnectInvalidArgs,
2059
2273
  nitroxVariantArgRequired: validateNitroxVariantArgRequired,
2060
2274
  // Tier 4 — emits one violation per offending value (back-end returns a list)
@@ -1 +1 @@
1
- {"version":3,"file":"bestPracticesEngine.js","sourceRoot":"","sources":["../../../src/mcp/tools/bestPracticesEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bestPracticesEngine.js","sourceRoot":"","sources":["../../../src/mcp/tools/bestPracticesEngine.ts"],"names":[],"mappings":"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"}
@@ -27,30 +27,37 @@ export interface OrgDescribeResult {
27
27
  suggestion: string;
28
28
  };
29
29
  }
30
- /**
31
- * Normalise a project basename for use in fallback workspace dir names:
32
- * "My Project Path " → "my-project-path".
33
- */
34
- export declare function projectNameDashes(projectPath: string): string;
35
30
  /**
36
31
  * Build the ordered list of candidate workspace directories.
37
- * First existing wins.
38
- * 1. <parent>/workspace-<basename>/sibling workspace pattern.
39
- * 2. <parent>/Provar_Workspaces/workspace-<name-dashes>/
40
- * 3. ~/Provar/workspace-<name-dashes>/ — user-home fallback.
32
+ * The first candidate that is a real Provar workspace (contains `.metadata`) wins.
33
+ * 1. <parent>/ — the project lives INSIDE its workspace (the Provar IDE layout).
34
+ * 2. <parent>/workspace-<basename>/ — sibling-workspace layout (kept for backward compatibility).
35
+ * 3. <parent>/Provar_Workspaces/workspace-<basename>/ — shared Provar_Workspaces directory.
36
+ * 4. ~/Provar/workspace-<basename>/ — user-home fallback.
37
+ *
38
+ * The parent and sibling candidates are BOTH probed: parent is the current IDE layout,
39
+ * the sibling is the layout an earlier release assumed. Probing both keeps existing
40
+ * sibling-layout workspaces discoverable while preferring the parent layout when both exist.
41
41
  */
42
42
  export declare function workspaceCandidates(projectPath: string): string[];
43
43
  /**
44
- * Returns the first candidate workspace that exists AND is within allowedPaths, or null.
44
+ * Returns the first candidate that is a real Provar workspace AND is within
45
+ * allowedPaths, or null.
46
+ *
47
+ * A candidate qualifies only if it is a directory that contains a `.metadata`
48
+ * subdirectory — the marker of a Provar/Eclipse workspace. This matters because
49
+ * candidate 1 is the project's parent directory, which almost always exists: the
50
+ * `.metadata` requirement lets discovery fall through to the sibling-workspace,
51
+ * Provar_Workspaces, and ~/Provar fallbacks when the parent is not itself a workspace.
45
52
  *
46
53
  * Path policy is enforced PER CANDIDATE before any filesystem call: a candidate that
47
54
  * sits outside `--allowed-paths` is silently skipped (it is not an error — discovery
48
55
  * just moves on to the next). This means we never call fs.existsSync / fs.statSync
49
56
  * against directories that the operator has explicitly placed off-limits, including
50
- * the user-home fallback (~/Provar/...) when home sits outside the policy.
57
+ * the user-home fallback (~/Provar/workspace-<basename>/) when home sits outside the policy.
51
58
  *
52
59
  * When allowedPaths is empty (unrestricted mode), assertPathAllowed is a no-op and
53
- * all candidates are probed exactly as before.
60
+ * all candidates are probed.
54
61
  */
55
62
  export declare function discoverWorkspace(projectPath: string, allowedPaths?: string[]): string | null;
56
63
  export declare function registerOrgDescribe(server: McpServer, config: ServerConfig): void;
@@ -15,42 +15,47 @@ import { makeError, makeRequestId } from '../schemas/common.js';
15
15
  import { log } from '../logging/logger.js';
16
16
  import { desc } from './descHelper.js';
17
17
  // ── Workspace discovery ───────────────────────────────────────────────────────
18
- /**
19
- * Normalise a project basename for use in fallback workspace dir names:
20
- * "My Project Path " → "my-project-path".
21
- */
22
- export function projectNameDashes(projectPath) {
23
- return path.basename(projectPath).trim().replace(/\s+/g, '-').toLowerCase();
24
- }
25
18
  /**
26
19
  * Build the ordered list of candidate workspace directories.
27
- * First existing wins.
28
- * 1. <parent>/workspace-<basename>/sibling workspace pattern.
29
- * 2. <parent>/Provar_Workspaces/workspace-<name-dashes>/
30
- * 3. ~/Provar/workspace-<name-dashes>/ — user-home fallback.
20
+ * The first candidate that is a real Provar workspace (contains `.metadata`) wins.
21
+ * 1. <parent>/ — the project lives INSIDE its workspace (the Provar IDE layout).
22
+ * 2. <parent>/workspace-<basename>/ — sibling-workspace layout (kept for backward compatibility).
23
+ * 3. <parent>/Provar_Workspaces/workspace-<basename>/ — shared Provar_Workspaces directory.
24
+ * 4. ~/Provar/workspace-<basename>/ — user-home fallback.
25
+ *
26
+ * The parent and sibling candidates are BOTH probed: parent is the current IDE layout,
27
+ * the sibling is the layout an earlier release assumed. Probing both keeps existing
28
+ * sibling-layout workspaces discoverable while preferring the parent layout when both exist.
31
29
  */
32
30
  export function workspaceCandidates(projectPath) {
33
31
  const resolved = path.resolve(projectPath);
34
32
  const parent = path.dirname(resolved);
35
33
  const basename = path.basename(resolved);
36
- const dashes = projectNameDashes(resolved);
37
34
  return [
35
+ parent,
38
36
  path.join(parent, `workspace-${basename}`),
39
- path.join(parent, 'Provar_Workspaces', `workspace-${dashes}`),
40
- path.join(os.homedir(), 'Provar', `workspace-${dashes}`),
37
+ path.join(parent, 'Provar_Workspaces', `workspace-${basename}`),
38
+ path.join(os.homedir(), 'Provar', `workspace-${basename}`),
41
39
  ];
42
40
  }
43
41
  /**
44
- * Returns the first candidate workspace that exists AND is within allowedPaths, or null.
42
+ * Returns the first candidate that is a real Provar workspace AND is within
43
+ * allowedPaths, or null.
44
+ *
45
+ * A candidate qualifies only if it is a directory that contains a `.metadata`
46
+ * subdirectory — the marker of a Provar/Eclipse workspace. This matters because
47
+ * candidate 1 is the project's parent directory, which almost always exists: the
48
+ * `.metadata` requirement lets discovery fall through to the sibling-workspace,
49
+ * Provar_Workspaces, and ~/Provar fallbacks when the parent is not itself a workspace.
45
50
  *
46
51
  * Path policy is enforced PER CANDIDATE before any filesystem call: a candidate that
47
52
  * sits outside `--allowed-paths` is silently skipped (it is not an error — discovery
48
53
  * just moves on to the next). This means we never call fs.existsSync / fs.statSync
49
54
  * against directories that the operator has explicitly placed off-limits, including
50
- * the user-home fallback (~/Provar/...) when home sits outside the policy.
55
+ * the user-home fallback (~/Provar/workspace-<basename>/) when home sits outside the policy.
51
56
  *
52
57
  * When allowedPaths is empty (unrestricted mode), assertPathAllowed is a no-op and
53
- * all candidates are probed exactly as before.
58
+ * all candidates are probed.
54
59
  */
55
60
  export function discoverWorkspace(projectPath, allowedPaths = []) {
56
61
  for (const candidate of workspaceCandidates(projectPath)) {
@@ -61,23 +66,26 @@ export function discoverWorkspace(projectPath, allowedPaths = []) {
61
66
  // Candidate outside policy — skip without touching the filesystem.
62
67
  continue;
63
68
  }
64
- try {
65
- if (fs.existsSync(candidate) && fs.statSync(candidate).isDirectory()) {
66
- return candidate;
67
- }
68
- }
69
- catch {
70
- // Permission errors etc. — skip and try next candidate
69
+ // A candidate qualifies only if it holds a `.metadata` subdirectory; this
70
+ // also implies the candidate itself is an existing directory.
71
+ if (isExistingDir(path.join(candidate, '.metadata'))) {
72
+ return candidate;
71
73
  }
72
74
  }
73
75
  return null;
74
76
  }
75
77
  // ── Cache reading ─────────────────────────────────────────────────────────────
78
+ // Single parser instance handles BOTH on-disk XML formats:
79
+ // - legacy CustomObject / toolingObjectInfo: <fields> repeats directly under the root,
80
+ // so `fields` must always be coerced to an array.
81
+ // - Provar IDE SfObject: a single <fields> container holds repeated <sfField> elements,
82
+ // so `sfField` must also be coerced to an array.
83
+ // The two element names never collide within one document, so arraying both is safe.
76
84
  const XML_PARSER = new XMLParser({
77
85
  ignoreAttributes: false,
78
86
  attributeNamePrefix: '@_',
79
87
  parseAttributeValue: false,
80
- isArray: (name) => name === 'fields',
88
+ isArray: (name) => name === 'fields' || name === 'sfField',
81
89
  });
82
90
  /** Parse a JSON cache file into the canonical CachedObject shape. */
83
91
  function readJsonCacheFile(filePath) {
@@ -85,16 +93,56 @@ function readJsonCacheFile(filePath) {
85
93
  return JSON.parse(raw);
86
94
  }
87
95
  /**
88
- * Parse a legacy .object XML file (CustomObject metadata) into the canonical shape.
96
+ * Parse the Provar IDE SfObject XML format into the canonical shape.
97
+ *
98
+ * Layout: <sfObject n="..." t="..."><fields><sfField n="..." type="..." required="..."/></fields>...
99
+ * Attribute mapping (fast-xml-parser prefixes attributes with `@_`):
100
+ * name ← `@_n` (required; a field with no name is skipped).
101
+ * type ← `@_type` (may be absent → 'unknown'; SF booleans appear as '_boolean').
102
+ * nillable ← NOT(`@_required === 'true'`) (required="true" → nillable=false).
103
+ * default_value ← null (this format carries no defaultValue attribute).
104
+ * The display name is taken from the sfObject `@_t`, else `@_n`, else the file basename.
105
+ * Stub files (detailsLoaded="false", no <fields>) yield an empty field list — exists=true,
106
+ * field_count=0 — rather than an error.
107
+ */
108
+ function readSfObjectXml(sfObject, fallbackName) {
109
+ // `name` is the object API name (@_n, e.g. "provar__Person__c"), mirroring a Salesforce
110
+ // describeSObjectResult and the native-JSON cache path. The IDE's @_t is a human display
111
+ // label that embeds the key prefix ("Person (a0D)") and must not be used as the API name.
112
+ const objectApiName = sfObject['@_n'] ?? sfObject['@_t'] ?? fallbackName;
113
+ // <fields> is arrayed by XML_PARSER; the (single) container holds the <sfField> children.
114
+ const fieldsContainers = sfObject['fields'];
115
+ if (!Array.isArray(fieldsContainers) || fieldsContainers.length === 0) {
116
+ return { name: objectApiName, fields: [] };
117
+ }
118
+ const container = fieldsContainers[0];
119
+ const sfFieldsRaw = container['sfField'];
120
+ if (!Array.isArray(sfFieldsRaw))
121
+ return { name: objectApiName, fields: [] };
122
+ const fields = [];
123
+ for (const f of sfFieldsRaw) {
124
+ const name = f['@_n'];
125
+ if (!name)
126
+ continue; // skip nameless container artefacts
127
+ // required="true" → nillable=false; absent → nillable=true (optional).
128
+ const isRequired = f['@_required'] === 'true' || f['@_required'] === true;
129
+ fields.push({
130
+ name,
131
+ type: f['@_type'] ?? 'unknown',
132
+ defaultValue: null,
133
+ nillable: !isRequired,
134
+ });
135
+ }
136
+ return { name: objectApiName, fields };
137
+ }
138
+ /**
139
+ * Parse a legacy CustomObject / toolingObjectInfo .xml/.object file into the canonical shape.
89
140
  * Only extracts the bare minimum the tool needs: field name, type, nillable.
90
141
  */
91
- function readXmlCacheFile(filePath) {
92
- const raw = fs.readFileSync(filePath, 'utf-8');
93
- const parsed = XML_PARSER.parse(raw);
94
- const root = (parsed['CustomObject'] ?? parsed['toolingObjectInfo'] ?? {});
142
+ function readCustomObjectXml(root, fallbackName) {
95
143
  const fieldsRaw = root['fields'];
96
144
  if (!Array.isArray(fieldsRaw))
97
- return { name: path.basename(filePath, path.extname(filePath)), fields: [] };
145
+ return { name: fallbackName, fields: [] };
98
146
  const fields = [];
99
147
  for (const f of fieldsRaw) {
100
148
  const name = (f['fullName'] ?? f['name']);
@@ -114,7 +162,23 @@ function readXmlCacheFile(filePath) {
114
162
  nillable: !isRequired,
115
163
  });
116
164
  }
117
- return { name: path.basename(filePath, path.extname(filePath)), fields };
165
+ return { name: fallbackName, fields };
166
+ }
167
+ /**
168
+ * Parse an XML cache file into the canonical CachedObject shape. Detects the format from
169
+ * the root element: <sfObject> (Provar IDE layout) vs <CustomObject>/<toolingObjectInfo>
170
+ * (legacy/native layout).
171
+ */
172
+ function readXmlCacheFile(filePath) {
173
+ const raw = fs.readFileSync(filePath, 'utf-8');
174
+ const parsed = XML_PARSER.parse(raw);
175
+ const fallbackName = path.basename(filePath, path.extname(filePath));
176
+ const sfObject = parsed['sfObject'];
177
+ if (sfObject && typeof sfObject === 'object') {
178
+ return readSfObjectXml(sfObject, fallbackName);
179
+ }
180
+ const root = (parsed['CustomObject'] ?? parsed['toolingObjectInfo'] ?? {});
181
+ return readCustomObjectXml(root, fallbackName);
118
182
  }
119
183
  /** Look up the cache file for one object, trying .json then .xml. */
120
184
  function findObjectCacheFile(connectionDir, objectName) {
@@ -203,31 +267,111 @@ function cacheMissSuggestion(connectionName) {
203
267
  return (`Open this project in Provar IDE and load the '${connectionName}' connection, ` +
204
268
  'or pass field-type hints inline to provar_testcase_generate.');
205
269
  }
270
+ /** Eclipse plugin id under which the Provar IDE writes its SfObject metadata cache. */
271
+ const ECLIPSE_UI_PLUGIN = 'com.provar.eclipse.ui';
272
+ const DEFAULT_ENVIRONMENT = 'default';
273
+ /** True when dir exists and is a directory (any error → false). */
274
+ function isExistingDir(dir) {
275
+ try {
276
+ return fs.existsSync(dir) && fs.statSync(dir).isDirectory();
277
+ }
278
+ catch {
279
+ return false;
280
+ }
281
+ }
206
282
  /**
207
- * Resolve & policy-check the workspace + connection directory.
208
- * Returns the connection directory if it exists and is allowed, otherwise null.
283
+ * Reject path-shaped connection / environment names outright. A real connection or
284
+ * environment name is an identifier (e.g. "MyOrg", "UAT"); any separator or traversal
285
+ * segment is almost certainly a misuse or injection attempt.
209
286
  */
210
- function resolveConnectionDir(workspacePath, connectionName, allowedPaths) {
211
- if (!workspacePath)
212
- return { connectionDir: null, resolvedWorkspace: null };
213
- // Reject path-shaped connection names outright. A real connection name from a
214
- // .testproject is an identifier (e.g. "MyOrg"); any separator or traversal
215
- // segment is almost certainly a misuse or injection attempt.
216
- const hasSeparator = connectionName.includes('/') || connectionName.includes('\\');
217
- const hasTraversal = connectionName === '..' || connectionName.split(/[/\\]+/).includes('..');
287
+ function assertIdentifier(value, fieldName) {
288
+ const hasSeparator = value.includes('/') || value.includes('\\');
289
+ const hasTraversal = value === '..' || value.split(/[/\\]+/).includes('..');
218
290
  if (hasSeparator || hasTraversal) {
219
- throw new PathPolicyError('PATH_TRAVERSAL', `Invalid connection_name (must not contain path separators or directory-traversal segments ('..')): ${connectionName}`);
291
+ throw new PathPolicyError('PATH_TRAVERSAL', `Invalid ${fieldName} (must not contain path separators or directory-traversal segments ('..')): ${value}`);
292
+ }
293
+ }
294
+ /**
295
+ * Resolve the Provar IDE SfObject cache directory for a connection + environment, if present.
296
+ *
297
+ * Layout: <workspace>/.metadata/.plugins/com.provar.eclipse.ui/<connection>/<env>/SfObject
298
+ * Resolution: try the requested <env> first; if its SfObject dir is missing, scan the
299
+ * connection dir for ANY <envDir>/SfObject that exists (preferring `default`).
300
+ *
301
+ * Path policy is enforced on the eclipse.ui dir, the connection dir, and every candidate
302
+ * SfObject dir before any further filesystem call against it. Returns null when no usable
303
+ * SfObject directory exists under policy.
304
+ */
305
+ function resolveSfObjectDir(resolvedWorkspace, connectionName, environment, allowedPaths) {
306
+ const pluginDir = path.resolve(resolvedWorkspace, '.metadata', '.plugins', ECLIPSE_UI_PLUGIN);
307
+ assertPathAllowed(pluginDir, allowedPaths);
308
+ const connectionDir = path.resolve(pluginDir, connectionName);
309
+ assertPathAllowed(connectionDir, allowedPaths);
310
+ if (!isExistingDir(connectionDir))
311
+ return null;
312
+ // Build ordered env candidates: requested env first, then `default`, then any others.
313
+ const requested = path.resolve(connectionDir, environment, 'SfObject');
314
+ assertPathAllowed(requested, allowedPaths);
315
+ if (isExistingDir(requested))
316
+ return requested;
317
+ let envDirs;
318
+ try {
319
+ envDirs = fs.readdirSync(connectionDir);
320
+ }
321
+ catch {
322
+ return null;
220
323
  }
324
+ // Prefer `default`, then alphabetical for determinism.
325
+ const ordered = [...envDirs].sort((a, b) => {
326
+ if (a === DEFAULT_ENVIRONMENT)
327
+ return -1;
328
+ if (b === DEFAULT_ENVIRONMENT)
329
+ return 1;
330
+ return a.localeCompare(b);
331
+ });
332
+ for (const env of ordered) {
333
+ if (env === environment)
334
+ continue; // already tried
335
+ const candidate = path.resolve(connectionDir, env, 'SfObject');
336
+ try {
337
+ assertPathAllowed(candidate, allowedPaths);
338
+ }
339
+ catch {
340
+ continue; // outside policy — skip silently
341
+ }
342
+ if (isExistingDir(candidate))
343
+ return candidate;
344
+ }
345
+ return null;
346
+ }
347
+ /**
348
+ * Resolve & policy-check the workspace + cache directory.
349
+ *
350
+ * Prefers the Provar IDE SfObject layout
351
+ * (`<workspace>/.metadata/.plugins/com.provar.eclipse.ui/<connection>/<env>/SfObject`),
352
+ * falling back to the legacy/native layout (`<workspace>/.metadata/<connection_name>`).
353
+ * Returns the cache directory if one exists and is allowed, otherwise null.
354
+ */
355
+ function resolveConnectionDir(workspacePath, connectionName, environment, allowedPaths) {
356
+ if (!workspacePath)
357
+ return { connectionDir: null, resolvedWorkspace: null };
358
+ assertIdentifier(connectionName, 'connection_name');
359
+ assertIdentifier(environment, 'environment');
221
360
  // Path policy: workspace MUST be inside allowed paths before any fs call against it.
222
361
  const resolvedWorkspace = path.resolve(workspacePath);
223
362
  assertPathAllowed(resolvedWorkspace, allowedPaths);
224
- const connectionDir = path.resolve(resolvedWorkspace, '.metadata', connectionName);
363
+ // Preferred: Provar IDE SfObject layout.
364
+ const sfObjectDir = resolveSfObjectDir(resolvedWorkspace, connectionName, environment, allowedPaths);
365
+ if (sfObjectDir)
366
+ return { connectionDir: sfObjectDir, resolvedWorkspace };
367
+ // Fallback: legacy/native <workspace>/.metadata/<connection_name>.
368
+ const legacyDir = path.resolve(resolvedWorkspace, '.metadata', connectionName);
225
369
  // Belt-and-braces check after composition.
226
- assertPathAllowed(connectionDir, allowedPaths);
227
- if (!fs.existsSync(connectionDir) || !fs.statSync(connectionDir).isDirectory()) {
370
+ assertPathAllowed(legacyDir, allowedPaths);
371
+ if (!isExistingDir(legacyDir)) {
228
372
  return { connectionDir: null, resolvedWorkspace };
229
373
  }
230
- return { connectionDir, resolvedWorkspace };
374
+ return { connectionDir: legacyDir, resolvedWorkspace };
231
375
  }
232
376
  function buildCacheMissResponse(resolvedWorkspace, args, requestId) {
233
377
  const objects = (args.objects ?? []).map((name) => ({
@@ -262,9 +406,14 @@ export function registerOrgDescribe(server, config) {
262
406
  description: desc([
263
407
  'Read cached Salesforce describe data for one connection from the Provar workspace .metadata cache.',
264
408
  'Prerequisite: the project must have been opened in Provar IDE at least once with the named connection loaded',
265
- '— this tool is read-only and does NOT trigger a metadata download.',
266
- 'Workspace discovery tries in order: <parent>/workspace-<basename>, ',
267
- '<parent>/Provar_Workspaces/workspace-<name-dashes>, then ~/Provar/workspace-<name-dashes>.',
409
+ '(and, for the named test environment, the relevant objects expanded) — this tool is read-only and does NOT trigger a metadata download.',
410
+ 'Workspace discovery uses the first of these directories that contains a .metadata dir (and is within --allowed-paths):',
411
+ '<parent> (project inside its workspace), <parent>/workspace-<basename>,',
412
+ '<parent>/Provar_Workspaces/workspace-<basename>, then ~/Provar/workspace-<basename>.',
413
+ 'Within the workspace it prefers the Provar IDE SfObject cache at',
414
+ '.metadata/.plugins/com.provar.eclipse.ui/<connection>/<environment>/SfObject/<Object>.xml',
415
+ '(environment defaults to "default"; if the requested environment is absent it falls back to any cached environment),',
416
+ 'and falls back to the legacy .metadata/<connection_name>/<Object>.{json,xml,object} layout.',
268
417
  'Returns an empty result with details.suggestion when the cache is missing.',
269
418
  'Distinct from the runtime .provarCaches cache used by test execution.',
270
419
  ].join(' '), 'Read cached describe data for one connection from the Provar workspace .metadata cache.'),
@@ -274,7 +423,12 @@ export function registerOrgDescribe(server, config) {
274
423
  .describe(desc('Absolute path to the Provar test project root (the directory containing .testproject). Must be within --allowed-paths.', 'string, absolute path to Provar test project root')),
275
424
  connection_name: z
276
425
  .string()
277
- .describe(desc('Connection name as defined in the .testproject file (e.g. "MyOrg"). The .metadata cache subdirectory must match this exactly.', 'string, connection name as defined in .testproject')),
426
+ .describe(desc('Connection name as defined in the .testproject file (e.g. "MyOrg"). The cache subdirectory must match this exactly. String identifier, NOT a file path — path separators or ".." are rejected (PATH_TRAVERSAL).', 'string, connection name as defined in .testproject')),
427
+ environment: z
428
+ .string()
429
+ .optional()
430
+ .default('default')
431
+ .describe(desc('Test environment name whose cached metadata to read in the Provar IDE SfObject layout (e.g. "default", "UAT"). Defaults to "default". If the requested environment has no cached metadata, the tool falls back to any environment that does (preferring "default"). Ignored for the legacy .metadata/<connection_name> layout. String identifier, NOT a file path — path separators or ".." are rejected (PATH_TRAVERSAL).', "string, test environment name; default 'default'")),
278
432
  objects: z
279
433
  .array(z.string())
280
434
  .optional()
@@ -295,7 +449,7 @@ export function registerOrgDescribe(server, config) {
295
449
  try {
296
450
  assertPathAllowed(args.project_path, config.allowedPaths);
297
451
  const workspacePath = discoverWorkspace(args.project_path, config.allowedPaths);
298
- const { connectionDir, resolvedWorkspace } = resolveConnectionDir(workspacePath, args.connection_name, config.allowedPaths);
452
+ const { connectionDir, resolvedWorkspace } = resolveConnectionDir(workspacePath, args.connection_name, args.environment ?? DEFAULT_ENVIRONMENT, config.allowedPaths);
299
453
  if (!connectionDir) {
300
454
  const response = buildCacheMissResponse(resolvedWorkspace, args, requestId);
301
455
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"orgDescribeTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/orgDescribeTools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,8BAA8B;AAC9B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAuDvC,iFAAiF;AAEjF;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AAC9E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,QAAQ,EAAE,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,EAAE,aAAa,MAAM,EAAE,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,aAAa,MAAM,EAAE,CAAC;KACzD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAmB,EAAE,eAAyB,EAAE;IAChF,KAAK,MAAM,SAAS,IAAI,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC;YACH,iBAAiB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;YACnE,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;gBACrE,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,uDAAuD;QACzD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,iFAAiF;AAEjF,MAAM,UAAU,GAAG,IAAI,SAAS,CAAC;IAC/B,gBAAgB,EAAE,KAAK;IACvB,mBAAmB,EAAE,IAAI;IACzB,mBAAmB,EAAE,KAAK;IAC1B,OAAO,EAAE,CAAC,IAAI,EAAW,EAAE,CAAC,IAAI,KAAK,QAAQ;CAC9C,CAAC,CAAC;AAEH,qEAAqE;AACrE,SAAS,iBAAiB,CAAC,QAAgB;IACzC,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,QAAgB;IACxC,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;IAChE,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAA4B,CAAC;IACtG,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAE5G,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,IAAI,SAA2C,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAuB,CAAC;QAChE,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,4FAA4F;QAC5F,sFAAsF;QACtF,wFAAwF;QACxF,MAAM,WAAW,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,MAAM,CAAC;QAClE,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAG,CAAC,CAAC,MAAM,CAAwB,IAAI,SAAS;YACpD,YAAY,EAAG,CAAC,CAAC,cAAc,CAAwB,IAAI,IAAI;YAC/D,iFAAiF;YACjF,wEAAwE;YACxE,QAAQ,EAAE,CAAC,UAAU;SACtB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;AAC3E,CAAC;AAED,qEAAqE;AACrE,SAAS,mBAAmB,CAAC,aAAqB,EAAE,UAAkB;IACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,UAAU,OAAO,CAAC,CAAC;IAChE,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,UAAU,MAAM,CAAC,CAAC;IAC9D,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAC3C,iDAAiD;IACjD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,UAAU,SAAS,CAAC,CAAC;IACjE,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,sFAAsF;AACtF,SAAS,qBAAqB,CAAC,aAAqB;IAClD,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC3D,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,2EAA2E;AAC3E,SAAS,UAAU,CAAC,aAAqB,EAAE,UAAkB,EAAE,WAA+B;IAC5F,MAAM,IAAI,GAAG,mBAAmB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAC5D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;IAClF,CAAC;IACD,IAAI,MAAoB,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC7F,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,YAAY,GAAI,CAAW,CAAC,OAAO,CAAC;QAC1C,GAAG,CAAC,MAAM,EAAE,0CAA0C,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QACvF,6EAA6E;QAC7E,gFAAgF;QAChF,kFAAkF;QAClF,wDAAwD;QACxD,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,IAAI;YACZ,eAAe,EAAE,EAAE;YACnB,WAAW,EAAE,CAAC;YACd,aAAa,EAAE,+BAA+B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,YAAY,EAAE;SACtF,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAExG,MAAM,MAAM,GAAuB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtD,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS;QACzB,aAAa,EAAE,CAAC,CAAC,YAAY,IAAI,IAAI;QACrC,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;KAC7B,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,UAAU;QAC/B,MAAM,EAAE,IAAI;QACZ,eAAe,EAAE,MAAM;QACvB,WAAW,EAAE,SAAS,CAAC,MAAM;KAC9B,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF,SAAS,mBAAmB,CAAC,cAAsB;IACjD,OAAO,CACL,iDAAiD,cAAc,gBAAgB;QAC/E,8DAA8D,CAC/D,CAAC;AACJ,CAAC;AAWD;;;GAGG;AACH,SAAS,oBAAoB,CAC3B,aAA4B,EAC5B,cAAsB,EACtB,YAAsB;IAEtB,IAAI,CAAC,aAAa;QAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;IAE5E,8EAA8E;IAC9E,2EAA2E;IAC3E,6DAA6D;IAC7D,MAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnF,MAAM,YAAY,GAAG,cAAc,KAAK,IAAI,IAAI,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9F,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,IAAI,eAAe,CACvB,gBAAgB,EAChB,sGAAsG,cAAc,EAAE,CACvH,CAAC;IACJ,CAAC;IAED,qFAAqF;IACrF,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACtD,iBAAiB,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;IAEnD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IACnF,2CAA2C;IAC3C,iBAAiB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAE/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAC/E,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;IACpD,CAAC;IACD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC;AAC9C,CAAC;AAED,SAAS,sBAAsB,CAC7B,iBAAgC,EAChC,IAAkB,EAClB,SAAiB;IAEjB,MAAM,OAAO,GAAwB,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACvE,IAAI;QACJ,MAAM,EAAE,IAAI;QACZ,eAAe,EAAE,EAAE;QACnB,WAAW,EAAE,CAAC;KACf,CAAC,CAAC,CAAC;IACJ,OAAO;QACL,SAAS;QACT,cAAc,EAAE,iBAAiB;QACjC,YAAY,EAAE,IAAI;QAClB,OAAO;QACP,OAAO,EAAE,EAAE,UAAU,EAAE,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;KACnE,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,iBAAyB,EACzB,aAAqB,EACrB,IAAkB,EAClB,SAAiB;IAEjB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,IAAI,UAAU,CAAC;IACpD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAClG,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAC3F,OAAO;QACL,SAAS;QACT,cAAc,EAAE,iBAAiB;QACjC,YAAY,EAAE,UAAU,CAAC,aAAa,CAAC;QACvC,OAAO;KACR,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,MAAM,UAAU,mBAAmB,CAAC,MAAiB,EAAE,MAAoB;IACzE,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,KAAK,EAAE,2CAA2C;QAClD,WAAW,EAAE,IAAI,CACf;YACE,oGAAoG;YACpG,8GAA8G;YAC9G,oEAAoE;YACpE,qEAAqE;YACrE,4FAA4F;YAC5F,4EAA4E;YAC5E,uEAAuE;SACxE,CAAC,IAAI,CAAC,GAAG,CAAC,EACX,yFAAyF,CAC1F;QACD,WAAW,EAAE;YACX,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,CACP,IAAI,CACF,wHAAwH,EACxH,mDAAmD,CACpD,CACF;YACH,eAAe,EAAE,CAAC;iBACf,MAAM,EAAE;iBACR,QAAQ,CACP,IAAI,CACF,+HAA+H,EAC/H,oDAAoD,CACrD,CACF;YACH,OAAO,EAAE,CAAC;iBACP,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,EAAE;iBACV,QAAQ,CACP,IAAI,CACF,wJAAwJ,EACxJ,wDAAwD,CACzD,CACF;YACH,YAAY,EAAE,CAAC;iBACZ,IAAI,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;iBACzB,QAAQ,EAAE;iBACV,OAAO,CAAC,UAAU,CAAC;iBACnB,QAAQ,CACP,IAAI,CACF,0HAA0H,EAC1H,wCAAwC,CACzC,CACF;SACJ;KACF,EACD,CAAC,IAAkB,EAAE,EAAE;QACrB,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAClC,GAAG,CAAC,MAAM,EAAE,qBAAqB,EAAE;YACjC,SAAS;YACT,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,IAAI;SAC3C,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;YAC1D,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;YAChF,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,oBAAoB,CAC/D,aAAa,EACb,IAAI,CAAC,eAAe,EACpB,MAAM,CAAC,YAAY,CACpB,CAAC;YAEF,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAG,sBAAsB,CAAC,iBAAiB,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC5E,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACpE,iBAAiB,EAAE,QAAQ;iBAC5B,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,iBAAkB,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;YACxF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpE,iBAAiB,EAAE,QAAQ;aAC5B,CAAC;QACJ,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,GAAgC,CAAC;YAC/C,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB,SAAS,CACP,KAAK,YAAY,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,oBAAoB,EAClF,KAAK,CAAC,OAAO,EACb,SAAS,CACV,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAAiB,EAAE,MAAoB;IACjF,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"orgDescribeTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/orgDescribeTools.ts"],"names":[],"mappings":"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"}
@@ -2036,5 +2036,5 @@
2036
2036
  ]
2037
2037
  }
2038
2038
  },
2039
- "version": "1.6.2"
2039
+ "version": "1.6.4"
2040
2040
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@provartesting/provardx-cli",
3
3
  "description": "A plugin for the Salesforce CLI to orchestrate testing activities and report quality metrics to Provar Quality Hub",
4
- "version": "1.6.2",
4
+ "version": "1.6.4",
5
5
  "mcpName": "io.github.ProvarTesting/provar",
6
6
  "license": "BSD-3-Clause",
7
7
  "plugins": [