@copado/agentia-cli 0.92.0-alpha.0 → 0.93.0-alpha.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 (41) hide show
  1. package/README.md +213 -200
  2. package/dist/commands/cicd/work/commit.js +2 -2
  3. package/dist/commands/cicd/work/commit.js.map +1 -1
  4. package/dist/commands/cicd/work/done.d.ts +4 -0
  5. package/dist/commands/cicd/work/done.js +11 -124
  6. package/dist/commands/cicd/work/done.js.map +1 -1
  7. package/dist/commands/cicd/work/push.js +4 -3
  8. package/dist/commands/cicd/work/push.js.map +1 -1
  9. package/dist/commands/cicd/work/submit.d.ts +4 -3
  10. package/dist/commands/cicd/work/submit.js +13 -4
  11. package/dist/commands/cicd/work/submit.js.map +1 -1
  12. package/dist/lib/defaults-store.js +9 -0
  13. package/dist/lib/defaults-store.js.map +1 -1
  14. package/dist/lib/mcp/tools.d.ts +14 -0
  15. package/dist/lib/mcp/work-tools.d.ts +15 -0
  16. package/dist/lib/mcp/work-tools.js +50 -34
  17. package/dist/lib/mcp/work-tools.js.map +1 -1
  18. package/dist/lib/nested-metadata-changes.d.ts +41 -3
  19. package/dist/lib/nested-metadata-changes.js +110 -16
  20. package/dist/lib/nested-metadata-changes.js.map +1 -1
  21. package/dist/lib/nested-metadata-registry.d.ts +13 -1
  22. package/dist/lib/nested-metadata-registry.js +87 -28
  23. package/dist/lib/nested-metadata-registry.js.map +1 -1
  24. package/dist/lib/setup-templates.d.ts +1 -1
  25. package/dist/lib/setup-templates.js +9 -19
  26. package/dist/lib/setup-templates.js.map +1 -1
  27. package/dist/lib/work-done.d.ts +22 -0
  28. package/dist/lib/work-done.js +136 -0
  29. package/dist/lib/work-done.js.map +1 -0
  30. package/dist/lib/work-local-commit.js +18 -2
  31. package/dist/lib/work-local-commit.js.map +1 -1
  32. package/dist/lib/work-push.d.ts +18 -5
  33. package/dist/lib/work-push.js +101 -30
  34. package/dist/lib/work-push.js.map +1 -1
  35. package/dist/lib/work-types.d.ts +22 -23
  36. package/dist/lib/work-types.js.map +1 -1
  37. package/oclif.manifest.json +1422 -1413
  38. package/package.json +1 -1
  39. package/templates/skills/agentia-cicd/SKILL.md +1 -1
  40. package/templates/skills/agentia-cicd/references/promotions.md +1 -1
  41. package/templates/skills/agentia-cicd/references/work.md +7 -8
@@ -240,7 +240,42 @@ async function workPush(args = {}) {
240
240
  skipNestedMetadataDetection: args.skipNestedMetadataDetection,
241
241
  });
242
242
  }
243
+ async function promoteWorkItemDone(args = {}) {
244
+ const { branch, workItem } = await requireFeatureBranchWorkItem();
245
+ await requireCleanTrackedTree('work submit');
246
+ let pushResult;
247
+ const { needsPush } = await resolveWorkPushNeed(branch);
248
+ if (needsPush) {
249
+ const pushContext = await resolveWorkPushContext();
250
+ pushResult = await performWorkPush({
251
+ ...pushContext,
252
+ hooks: silentWorkPushHooks,
253
+ skipNestedMetadataDetection: args.skipNestedMetadataDetection,
254
+ });
255
+ }
256
+ const doneBody = { workItem };
257
+ const done = await CicdGateway.call({
258
+ body: doneBody,
259
+ endpoint: workDoneEndpoint(),
260
+ headers: {
261
+ 'Content-Type': 'application/json',
262
+ },
263
+ method: 'POST',
264
+ });
265
+ return {
266
+ branch,
267
+ done,
268
+ push: pushResult,
269
+ pushed: needsPush,
270
+ workItem,
271
+ };
272
+ }
243
273
  async function workSubmit(args = {}) {
274
+ if (args.done === true) {
275
+ return promoteWorkItemDone({
276
+ skipNestedMetadataDetection: args.skipNestedMetadataDetection,
277
+ });
278
+ }
244
279
  const { branch, workItem } = await requireFeatureBranchWorkItem();
245
280
  await requireCleanTrackedTree('work submit');
246
281
  let qualityGates;
@@ -461,35 +496,12 @@ async function workPromote(args = {}) {
461
496
  });
462
497
  return { ...result, workItemId };
463
498
  }
499
+ /** Compatibility alias of agentia_work_submit with done=true. Prefer agentia_work_submit({ done: true }). */
464
500
  async function workDone(args = {}) {
465
- const { branch, workItem } = await requireFeatureBranchWorkItem();
466
- await requireCleanTrackedTree('work done');
467
- let pushResult;
468
- const { needsPush } = await resolveWorkPushNeed(branch);
469
- if (needsPush) {
470
- const pushContext = await resolveWorkPushContext();
471
- pushResult = await performWorkPush({
472
- ...pushContext,
473
- hooks: silentWorkPushHooks,
474
- skipNestedMetadataDetection: args.skipNestedMetadataDetection,
475
- });
476
- }
477
- const doneBody = { workItem };
478
- const done = await CicdGateway.call({
479
- body: doneBody,
480
- endpoint: workDoneEndpoint(),
481
- headers: {
482
- 'Content-Type': 'application/json',
483
- },
484
- method: 'POST',
501
+ return workSubmit({
502
+ done: true,
503
+ skipNestedMetadataDetection: args.skipNestedMetadataDetection,
485
504
  });
486
- return {
487
- branch,
488
- done,
489
- push: pushResult,
490
- pushed: needsPush,
491
- workItem,
492
- };
493
505
  }
494
506
  export const agentiaMcpWorkToolHandlers = {
495
507
  workCommit,
@@ -596,16 +608,16 @@ export function registerAgentiaMcpWorkTools(server) {
596
608
  title: 'Agentia Work Set',
597
609
  }, (args) => safelyHandleTool(() => workSet(args)));
598
610
  server.registerTool('agentia_work_push', {
599
- description: 'Push the current feature/<lastWorkItem> branch and register commits with Copado. Requires a clean working tree, lastBaseBranch, and lastDevOrgBranch from config.user.json. Applies Copado environment-variable then yaml replacements when needed, commits both as a single follow-up commit, sends lastPermissionSelected and the permissions argument plus the nested metadata of the changed profiles and permission sets as the headless push retrieveOnly list so Copado registers that metadata with the Retrieve Only commit action, sends lastFullMetadataSelected and the fullMetadata argument as the headless push fullMetadata list, sends the ignored nested parents as removeMetadataItems and the remaining nested metadata as addMetadataItems, then merges the feature branch into the recorded dev org branch after headless push.',
611
+ description: 'Push the current feature/<lastWorkItem> branch and register commits with Copado. Requires a clean working tree, lastBaseBranch, and lastDevOrgBranch from config.user.json. Applies Copado environment-variable then yaml replacements when needed, commits both as a single follow-up commit, sends one headless push changeListUpdate list of Action:MetadataType:MetadataName corrections (lastPermissionSelected and the permissions argument plus the nested metadata of the changed profiles and permission sets as RetrieveOnly so Copado registers that metadata with the Retrieve Only commit action, lastFullMetadataSelected and the fullMetadata argument plus brand-new nested parent files as fullMetadata, the ignored nested parents as unchanged, the nested metadata the branch deleted as Del, and the remaining nested metadata as Add). The changed profiles and permission sets themselves are never sent as corrections, so they stay in the change list and deploy only the permissions their RetrieveOnly entries select; brand-new nested parent files are sent as fullMetadata instead. Merges the feature branch into the recorded dev org branch after headless push.',
600
612
  inputSchema: {
601
613
  fullMetadata: z
602
614
  .string()
603
615
  .optional()
604
- .describe('Comma-separated type-prefixed metadata such as Profile:Sales_User,PermissionSet:Sales_Onboarding, added to lastFullMetadataSelected for this push and sent as the headless push fullMetadata list. The named metadata is committed as a complete file and is never decomposed into nested metadata. Not stored.'),
616
+ .describe('Comma-separated type-prefixed metadata such as Profile:Sales_User,PermissionSet:Sales_Onboarding, added to lastFullMetadataSelected for this push and sent as headless push fullMetadata corrections. The named metadata is committed as a complete file and is never decomposed into nested metadata. Not stored.'),
605
617
  permissions: z
606
618
  .string()
607
619
  .optional()
608
- .describe('Comma-separated type-prefixed metadata such as CustomField:Account.SLA__c,ApexClass:AccountService, added to lastPermissionSelected for this push and sent as part of the headless push retrieveOnly list. Not stored.'),
620
+ .describe('Comma-separated type-prefixed metadata such as CustomField:Account.SLA__c,ApexClass:AccountService, added to lastPermissionSelected for this push and sent as headless push RetrieveOnly corrections. Not stored.'),
609
621
  skipNestedMetadataDetection: skipNestedMetadataDetectionSchema,
610
622
  },
611
623
  title: 'Agentia Work Push',
@@ -640,7 +652,7 @@ export function registerAgentiaMcpWorkTools(server) {
640
652
  fullMetadata: z
641
653
  .string()
642
654
  .optional()
643
- .describe('Local commit only. Comma-separated type-prefixed metadata such as Profile:Sales_User,PermissionSet:Sales_Onboarding, stored as lastFullMetadataSelected and sent as the work push fullMetadata list. The named metadata is committed as a complete file, so every permission it contains is applied instead of only the permissions selected with permissions. Empty string clears it.'),
655
+ .describe('Local commit only. Comma-separated type-prefixed metadata such as Profile:Sales_User,PermissionSet:Sales_Onboarding, stored as lastFullMetadataSelected and sent as work push fullMetadata corrections. The named metadata is committed as a complete file, so every permission it contains is applied instead of only the permissions selected with permissions. Empty string clears it.'),
644
656
  id: z.string().optional().describe('Cloud commit only. User story Id. Defaults to the active work item from work set.'),
645
657
  local: z
646
658
  .boolean()
@@ -658,7 +670,7 @@ export function registerAgentiaMcpWorkTools(server) {
658
670
  permissions: z
659
671
  .string()
660
672
  .optional()
661
- .describe('Local commit only. Comma-separated type-prefixed metadata such as CustomField:Account.SLA__c,ApexClass:AccountService, stored as lastPermissionSelected and sent as the work push retrieveOnly list. The named metadata is not committed or deployed; it filters which permissions are updated inside the committed permission sets and profiles so other permissions are not overwritten. Empty string clears it.'),
673
+ .describe('Local commit only. Comma-separated type-prefixed metadata such as CustomField:Account.SLA__c,ApexClass:AccountService, stored as lastPermissionSelected and sent as work push RetrieveOnly corrections. The named metadata is not committed or deployed; it filters which permissions are updated inside the committed permission sets and profiles so other permissions are not overwritten. Empty string clears it.'),
662
674
  platformExperience: z
663
675
  .enum(WORK_COMMIT_PLATFORM_EXPERIENCES)
664
676
  .optional()
@@ -703,12 +715,16 @@ export function registerAgentiaMcpWorkTools(server) {
703
715
  title: 'Agentia Work Promote',
704
716
  }, (args) => safelyHandleTool(() => workPromote(args || {})));
705
717
  server.registerTool('agentia_work_submit', {
706
- description: 'Submit the current feature/US-XXXX work item for pipeline quality gates and validation. Runs project-root .agentia_quality_gates.sh (macOS/Linux) or .agentia_quality_gates.cmd (Windows) when present, then pushes and registers commits when the branch is ahead of origin.',
718
+ description: 'Submit the current feature/US-XXXX work item for pipeline quality gates and validation. Runs project-root .agentia_quality_gates.sh (macOS/Linux) or .agentia_quality_gates.cmd (Windows) when present, then pushes and registers commits when the branch is ahead of origin. With done=true, matches Copado UI Submit when promoting (headless work/done). Prefer this over agentia_work_done.',
707
719
  inputSchema: {
708
720
  apexTestClasses: z
709
721
  .string()
710
722
  .optional()
711
723
  .describe('Comma-separated Apex test class names passed to local quality gates as AGENTIA_APEX_TEST_CLASSES.'),
724
+ done: z
725
+ .boolean()
726
+ .optional()
727
+ .describe('Promote instead of validate-only (Copado UI Submit promote). Honors skipNestedMetadataDetection.'),
712
728
  skipLocalTests: z
713
729
  .boolean()
714
730
  .optional()
@@ -732,7 +748,7 @@ export function registerAgentiaMcpWorkTools(server) {
732
748
  title: 'Agentia Work Test',
733
749
  }, (args) => safelyHandleTool(() => workTest(args || {})));
734
750
  server.registerTool('agentia_work_done', {
735
- description: 'Mark the current feature/US-XXXX work item done and promote it to the next environment. Pushes and registers commits when the branch is ahead of origin.',
751
+ description: 'Compatibility alias of agentia_work_submit with done=true (Copado UI Submit promote). Prefer agentia_work_submit({ done: true }).',
736
752
  inputSchema: {
737
753
  skipNestedMetadataDetection: skipNestedMetadataDetectionSchema,
738
754
  },
@@ -1 +1 @@
1
- {"version":3,"file":"work-tools.js","sourceRoot":"","sources":["../../../src/lib/mcp/work-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"work-tools.js","sourceRoot":"","sources":["../../../src/lib/mcp/work-tools.ts"],"names":[],"mappings":"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"}
@@ -4,19 +4,44 @@ export type NestedMetadataSelection = {
4
4
  name: string;
5
5
  type: string;
6
6
  };
7
+ /** Whether the nested XML block appeared, changed, or disappeared between the two revisions. */
8
+ export type NestedMetadataChangeKind = 'added' | 'modified' | 'removed';
9
+ export type NestedMetadataChange = NestedMetadataSelection & {
10
+ changeKind: NestedMetadataChangeKind;
11
+ };
7
12
  export type NestedMetadataChanges = {
13
+ /**
14
+ * Subset of `nestedChildren` whose XML block is gone at `HEAD`. `cicd work push` sends the
15
+ * non-permission ones as `Del` corrections so the gateway registers them as deletions instead of
16
+ * additions.
17
+ */
18
+ deletedNestedChildren: NestedMetadataSelection[];
19
+ /**
20
+ * Nested parent files that are brand new on the branch (absent at the merge base, present at
21
+ * `HEAD`). `cicd work push` sends them as `fullMetadata` so the complete file travels instead of
22
+ * being decomposed into nested children.
23
+ */
24
+ fullMetadataParents: NestedMetadataSelection[];
8
25
  /**
9
26
  * Parent components that were decomposed into nested children. The parent XML aggregates members
10
27
  * owned by other work, so the parent itself is excluded in favour of `nestedChildren`.
28
+ * Profile and PermissionSet parents are never listed here; see `permissionParents`.
11
29
  */
12
30
  ignoredParents: NestedMetadataSelection[];
13
31
  /** Child components resolved from the nested XML blocks that actually changed. */
14
32
  nestedChildren: NestedMetadataSelection[];
15
33
  /**
16
34
  * Subset of `nestedChildren` owned by a Profile or PermissionSet parent. These are permissions,
17
- * not components the branch deploys, so `cicd work push` sends them as `retrieveOnly`.
35
+ * not components the branch deploys, so `cicd work push` sends them as `RetrieveOnly`.
18
36
  */
19
37
  permissionNestedChildren: NestedMetadataSelection[];
38
+ /**
39
+ * Profile and PermissionSet parents whose permissions changed. Unlike `ignoredParents` they are
40
+ * kept in the story change list — they are the components that carry the permissions — and
41
+ * `cicd work push` sends no correction for them at all. The `RetrieveOnly` entries in
42
+ * `permissionNestedChildren` narrow them to the permissions this branch touched.
43
+ */
44
+ permissionParents: NestedMetadataSelection[];
20
45
  };
21
46
  export type NestedParentCandidate = NestedMetadataSelection & {
22
47
  filePath: string;
@@ -25,6 +50,12 @@ export type NestedParentCandidate = NestedMetadataSelection & {
25
50
  /** Reads a repository file as it exists at a git ref, or `''` when it is absent. */
26
51
  export type NestedFileReader = (filePath: string) => Promise<string>;
27
52
  export declare function formatNestedMetadataSelection(selection: NestedMetadataSelection): string;
53
+ /**
54
+ * Deleted nested children that may be registered as deletions. Profile and PermissionSet children
55
+ * are excluded: their blocks grant permissions, so removing one revokes access rather than deleting
56
+ * the component it points at.
57
+ */
58
+ export declare function listDeletableNestedChildren(changes: NestedMetadataChanges): NestedMetadataSelection[];
28
59
  /**
29
60
  * Changed files whose metadata type aggregates nested children, paired with the rules that describe
30
61
  * the nested XML blocks to diff. Paths that do not resolve to Salesforce metadata are dropped.
@@ -32,15 +63,22 @@ export declare function formatNestedMetadataSelection(selection: NestedMetadataS
32
63
  export declare function listNestedParentCandidates(filePaths: readonly string[], registry?: NestedRegistry): NestedParentCandidate[];
33
64
  /** Composite key Copado uses for layout assignments: `<layout base>--<recordType>`. */
34
65
  export declare function layoutRecordTypeKey(layout: string, recordType: string): string;
35
- export declare function nestedChildName(element: Element, rule: NestedRule): string | undefined;
66
+ export declare function nestedChildName(element: Element, rule: NestedRule, parentName?: string): string | undefined;
36
67
  /**
37
68
  * Nested children whose XML block was added, removed, or edited between the two parent revisions.
69
+ * `parentName` scopes the child names Copado tracks per object, such as a workflow rule.
38
70
  */
39
- export declare function diffNestedChildren(baseXml: string, headXml: string, rules: readonly NestedRule[]): NestedMetadataSelection[];
71
+ export declare function diffNestedChildren(baseXml: string, headXml: string, rules: readonly NestedRule[], parentName?: string): NestedMetadataChange[];
40
72
  /**
41
73
  * Translates changed nested-parent files into the parents to ignore and the nested children that
42
74
  * represent the actual change. A parent is only ignored when at least one of its nested blocks
43
75
  * changed; parents whose top-level fields alone changed still need to be deployed as a whole.
76
+ *
77
+ * A parent file that is absent at the base revision and present at `HEAD` is brand new: it is
78
+ * reported as `fullMetadataParents` and is not decomposed, so the complete file travels.
79
+ *
80
+ * Profile and PermissionSet parents are reported separately and are never ignored: dropping them
81
+ * would leave nothing to deploy the permissions their changed blocks describe.
44
82
  */
45
83
  export declare function detectNestedMetadataChanges(options: {
46
84
  filePaths: readonly string[];
@@ -11,6 +11,15 @@ function compareSelections(left, right) {
11
11
  export function formatNestedMetadataSelection(selection) {
12
12
  return selectionKey(selection);
13
13
  }
14
+ /**
15
+ * Deleted nested children that may be registered as deletions. Profile and PermissionSet children
16
+ * are excluded: their blocks grant permissions, so removing one revokes access rather than deleting
17
+ * the component it points at.
18
+ */
19
+ export function listDeletableNestedChildren(changes) {
20
+ const permissionChildren = new Set(changes.permissionNestedChildren.map((child) => selectionKey(child)));
21
+ return changes.deletedNestedChildren.filter((child) => !permissionChildren.has(selectionKey(child)));
22
+ }
14
23
  /**
15
24
  * Changed files whose metadata type aggregates nested children, paired with the rules that describe
16
25
  * the nested XML blocks to diff. Paths that do not resolve to Salesforce metadata are dropped.
@@ -56,7 +65,42 @@ export function layoutRecordTypeKey(layout, recordType) {
56
65
  const base = layout.includes('-') ? layout.split('-')[0] : layout;
57
66
  return recordType ? `${base}--${recordType}` : base;
58
67
  }
59
- export function nestedChildName(element, rule) {
68
+ /**
69
+ * The object a parent component belongs to. Object-scoped parents carry it as the first segment of
70
+ * their own name, before the record type (`Account.Business`) or the language (`Account-en_US`).
71
+ */
72
+ function objectOfParentName(parentName) {
73
+ return parentName.split(/[.-]/)[0] ?? '';
74
+ }
75
+ /**
76
+ * Prefix the nested block does not carry itself. Nested names Copado tracks per object stay
77
+ * ambiguous without it: a `Notify_Owner` workflow rule exists on any number of objects.
78
+ */
79
+ function nameScopePrefix(rule, parentName) {
80
+ switch (rule.nameScope) {
81
+ case 'object': {
82
+ return objectOfParentName(parentName);
83
+ }
84
+ case 'parent': {
85
+ return parentName;
86
+ }
87
+ default: {
88
+ return '';
89
+ }
90
+ }
91
+ }
92
+ export function nestedChildName(element, rule, parentName = '') {
93
+ const name = unscopedNestedChildName(element, rule);
94
+ if (name === undefined) {
95
+ return undefined;
96
+ }
97
+ const prefix = nameScopePrefix(rule, parentName);
98
+ if (prefix.length === 0 || name.startsWith(`${prefix}.`)) {
99
+ return name;
100
+ }
101
+ return `${prefix}.${name}`;
102
+ }
103
+ function unscopedNestedChildName(element, rule) {
60
104
  if (rule.keyStyle === 'layoutRecordType') {
61
105
  const layout = textOfField(element, rule.nameFields[0] ?? 'layout');
62
106
  if (!layout) {
@@ -86,7 +130,7 @@ function parseXml(xml) {
86
130
  function normalizeBlock(serialized) {
87
131
  return serialized.replaceAll(/>\s+</g, '><').replaceAll(/\s+/g, ' ').trim();
88
132
  }
89
- function collectNestedBlocks(root, rule) {
133
+ function collectNestedBlocks(root, rule, parentName) {
90
134
  const blocks = new Map();
91
135
  if (!root) {
92
136
  return blocks;
@@ -96,7 +140,7 @@ function collectNestedBlocks(root, rule) {
96
140
  if (localName(element) !== rule.xmlElement) {
97
141
  continue;
98
142
  }
99
- const name = nestedChildName(element, rule);
143
+ const name = nestedChildName(element, rule, parentName);
100
144
  if (name === undefined) {
101
145
  continue;
102
146
  }
@@ -104,22 +148,45 @@ function collectNestedBlocks(root, rule) {
104
148
  }
105
149
  return blocks;
106
150
  }
151
+ /**
152
+ * A child that is present under one rule or parent and gone under another still exists on the
153
+ * branch, so anything but a removal wins: only children removed everywhere can be deleted.
154
+ */
155
+ function mergeChangeKind(current, next) {
156
+ return current === 'removed' ? next : current;
157
+ }
158
+ function recordChange(changes, change) {
159
+ const key = selectionKey(change);
160
+ const current = changes.get(key);
161
+ changes.set(key, current === undefined
162
+ ? change
163
+ : { ...current, changeKind: mergeChangeKind(current.changeKind, change.changeKind) });
164
+ }
107
165
  /**
108
166
  * Nested children whose XML block was added, removed, or edited between the two parent revisions.
167
+ * `parentName` scopes the child names Copado tracks per object, such as a workflow rule.
109
168
  */
110
- export function diffNestedChildren(baseXml, headXml, rules) {
169
+ export function diffNestedChildren(baseXml, headXml, rules, parentName = '') {
111
170
  const baseRoot = parseXml(baseXml);
112
171
  const headRoot = parseXml(headXml);
113
172
  const changes = new Map();
114
173
  for (const rule of rules) {
115
- const baseBlocks = collectNestedBlocks(baseRoot, rule);
116
- const headBlocks = collectNestedBlocks(headRoot, rule);
174
+ const baseBlocks = collectNestedBlocks(baseRoot, rule, parentName);
175
+ const headBlocks = collectNestedBlocks(headRoot, rule, parentName);
117
176
  for (const name of new Set([...baseBlocks.keys(), ...headBlocks.keys()])) {
118
- if (baseBlocks.get(name) === headBlocks.get(name)) {
177
+ const before = baseBlocks.get(name);
178
+ const after = headBlocks.get(name);
179
+ if (before === after) {
119
180
  continue;
120
181
  }
121
- const selection = { name, type: rule.childType };
122
- changes.set(selectionKey(selection), selection);
182
+ let changeKind = 'modified';
183
+ if (after === undefined) {
184
+ changeKind = 'removed';
185
+ }
186
+ else if (before === undefined) {
187
+ changeKind = 'added';
188
+ }
189
+ recordChange(changes, { changeKind, name, type: rule.childType });
123
190
  }
124
191
  }
125
192
  return [...changes.values()];
@@ -128,13 +195,21 @@ export function diffNestedChildren(baseXml, headXml, rules) {
128
195
  * Translates changed nested-parent files into the parents to ignore and the nested children that
129
196
  * represent the actual change. A parent is only ignored when at least one of its nested blocks
130
197
  * changed; parents whose top-level fields alone changed still need to be deployed as a whole.
198
+ *
199
+ * A parent file that is absent at the base revision and present at `HEAD` is brand new: it is
200
+ * reported as `fullMetadataParents` and is not decomposed, so the complete file travels.
201
+ *
202
+ * Profile and PermissionSet parents are reported separately and are never ignored: dropping them
203
+ * would leave nothing to deploy the permissions their changed blocks describe.
131
204
  */
132
205
  export async function detectNestedMetadataChanges(options) {
133
206
  const { filePaths, readBase, readHead } = options;
134
207
  const candidates = listNestedParentCandidates(filePaths, options.registry);
208
+ const fullMetadataParents = new Map();
135
209
  const ignoredParents = new Map();
136
210
  const nestedChildren = new Map();
137
211
  const permissionNestedChildren = new Map();
212
+ const permissionParents = new Map();
138
213
  for (const candidate of candidates) {
139
214
  // eslint-disable-next-line no-await-in-loop -- git reads are cheap and kept sequential on purpose
140
215
  const [baseXml, headXml] = await Promise.all([
@@ -144,23 +219,42 @@ export async function detectNestedMetadataChanges(options) {
144
219
  if (baseXml.length === 0 && headXml.length === 0) {
145
220
  continue;
146
221
  }
147
- const children = diffNestedChildren(baseXml, headXml, candidate.rules);
222
+ const parent = { name: candidate.name, type: candidate.type };
223
+ // Brand-new nested parent file: keep the whole component rather than listing every nested block.
224
+ if (baseXml.length === 0 && headXml.length > 0) {
225
+ fullMetadataParents.set(selectionKey(parent), parent);
226
+ continue;
227
+ }
228
+ const children = diffNestedChildren(baseXml, headXml, candidate.rules, candidate.name);
148
229
  if (children.length === 0) {
149
230
  continue;
150
231
  }
151
- const parent = { name: candidate.name, type: candidate.type };
152
- ignoredParents.set(selectionKey(parent), parent);
232
+ const isPermissionParent = isPermissionNestedParentType(candidate.type);
233
+ if (isPermissionParent) {
234
+ permissionParents.set(selectionKey(parent), parent);
235
+ }
236
+ else {
237
+ ignoredParents.set(selectionKey(parent), parent);
238
+ }
153
239
  for (const child of children) {
154
- nestedChildren.set(selectionKey(child), child);
155
- if (isPermissionNestedParentType(candidate.type)) {
156
- permissionNestedChildren.set(selectionKey(child), child);
240
+ recordChange(nestedChildren, child);
241
+ if (isPermissionParent) {
242
+ const { name, type } = child;
243
+ permissionNestedChildren.set(selectionKey(child), { name, type });
157
244
  }
158
245
  }
159
246
  }
247
+ const changed = [...nestedChildren.values()];
160
248
  return {
249
+ deletedNestedChildren: changed
250
+ .filter((child) => child.changeKind === 'removed')
251
+ .map(({ name, type }) => ({ name, type }))
252
+ .sort(compareSelections),
253
+ fullMetadataParents: [...fullMetadataParents.values()].sort(compareSelections),
161
254
  ignoredParents: [...ignoredParents.values()].sort(compareSelections),
162
- nestedChildren: [...nestedChildren.values()].sort(compareSelections),
255
+ nestedChildren: changed.map(({ name, type }) => ({ name, type })).sort(compareSelections),
163
256
  permissionNestedChildren: [...permissionNestedChildren.values()].sort(compareSelections),
257
+ permissionParents: [...permissionParents.values()].sort(compareSelections),
164
258
  };
165
259
  }
166
260
  //# sourceMappingURL=nested-metadata-changes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nested-metadata-changes.js","sourceRoot":"","sources":["../../src/lib/nested-metadata-changes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nested-metadata-changes.js","sourceRoot":"","sources":["../../src/lib/nested-metadata-changes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAA2B,aAAa,EAAC,MAAM,gBAAgB,CAAA;AAEhF,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EAGxB,kBAAkB,GACnB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAC,qBAAqB,EAAC,MAAM,wBAAwB,CAAA;AAE5D,MAAM,YAAY,GAAG,CAAC,CAAA;AAyDtB,SAAS,YAAY,CAAC,SAAkC;IACtD,OAAO,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,EAAE,CAAA;AAC9C,CAAC;AAED,SAAS,iBAAiB,CAAC,IAA6B,EAAE,KAA8B;IACtF,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AACnF,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,SAAkC;IAC9E,OAAO,YAAY,CAAC,SAAS,CAAC,CAAA;AAChC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CACzC,OAA8B;IAE9B,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAChC,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CACrE,CAAA;IACD,OAAO,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACtG,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,SAA4B,EAC5B,WAA2B,wBAAwB;IAEnD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAiC,CAAA;IAE3D,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAA;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,SAAQ;QACV,CAAC;QAED,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACzD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAQ;QACV,CAAC;QAED,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAC,GAAG,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAA;IAC1D,CAAC;IAED,OAAO,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;AACjC,CAAC;AAED,SAAS,SAAS,CAAC,IAAoB;IACrC,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AACpE,CAAC;AAED,SAAS,aAAa,CAAC,MAAe;IACpC,MAAM,QAAQ,GAAc,EAAE,CAAA;IAE9B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC3C,IAAI,KAAK,EAAE,QAAQ,KAAK,YAAY,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CAAC,KAAgB,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,WAAW,CAAC,OAAgB,EAAE,KAAa;IAClD,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QACxC,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,UAAkB;IACpE,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IACjE,OAAO,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACrD,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,UAAkB;IAC5C,OAAO,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;AAC1C,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,IAAgB,EAAE,UAAkB;IAC3D,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;QACvB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,OAAO,kBAAkB,CAAC,UAAU,CAAC,CAAA;QACvC,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,OAAO,UAAU,CAAA;QACnB,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YACR,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAgB,EAAE,IAAgB,EAAE,UAAU,GAAG,EAAE;IACjF,MAAM,IAAI,GAAG,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACnD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IAChD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,GAAG,MAAM,IAAI,IAAI,EAAE,CAAA;AAC5B,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAgB,EAAE,IAAgB;IACjE,IAAI,IAAI,CAAC,QAAQ,KAAK,kBAAkB,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAA;QACnE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,OAAO,mBAAmB,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAA;IAC9F,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACzF,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACzD,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW;IAC3B,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,CAAC;QACH,6FAA6F;QAC7F,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC;YAC7B,OAAO,KAAI,CAAC;SACb,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;QACnC,OAAO,QAAQ,CAAC,eAAe,IAAI,SAAS,CAAA;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,gGAAgG;AAChG,SAAS,cAAc,CAAC,UAAkB;IACxC,OAAO,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;AAC7E,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAAyB,EACzB,IAAgB,EAChB,UAAkB;IAElB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;IACxC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,aAAa,EAAE,CAAA;IAEtC,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3C,SAAQ;QACV,CAAC;QAED,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;QACvD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,SAAQ;QACV,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACzE,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CACtB,OAAiC,EACjC,IAA8B;IAE9B,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAA;AAC/C,CAAC;AAED,SAAS,YAAY,CAAC,OAA0C,EAAE,MAA4B;IAC5F,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IAChC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAEhC,OAAO,CAAC,GAAG,CACT,GAAG,EACH,OAAO,KAAK,SAAS;QACnB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,EAAC,GAAG,OAAO,EAAE,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,EAAC,CACrF,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,OAAe,EACf,KAA4B,EAC5B,UAAU,GAAG,EAAE;IAEf,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;IAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;IAClC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAgC,CAAA;IAEvD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;QAClE,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;QAElE,KAAK,MAAM,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YACzE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACnC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAClC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACrB,SAAQ;YACV,CAAC;YAED,IAAI,UAAU,GAA6B,UAAU,CAAA;YACrD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,UAAU,GAAG,SAAS,CAAA;YACxB,CAAC;iBAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,UAAU,GAAG,OAAO,CAAA;YACtB,CAAC;YAED,YAAY,CAAC,OAAO,EAAE,EAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAC,CAAC,CAAA;QACjE,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;AAC9B,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,OAKjD;IACC,MAAM,EAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAC,GAAG,OAAO,CAAA;IAC/C,MAAM,UAAU,GAAG,0BAA0B,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1E,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAmC,CAAA;IACtE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAmC,CAAA;IACjE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAgC,CAAA;IAC9D,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAmC,CAAA;IAC3E,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAmC,CAAA;IAEpE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,kGAAkG;QAClG,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC3C,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC;YAC5B,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC;SAC7B,CAAC,CAAA;QACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,SAAQ;QACV,CAAC;QAED,MAAM,MAAM,GAA4B,EAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAC,CAAA;QAEpF,iGAAiG;QACjG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAA;YACrD,SAAQ;QACV,CAAC;QAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;QACtF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,SAAQ;QACV,CAAC;QAED,MAAM,kBAAkB,GAAG,4BAA4B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACvE,IAAI,kBAAkB,EAAE,CAAC;YACvB,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAA;QACrD,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAA;QAClD,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;YACnC,IAAI,kBAAkB,EAAE,CAAC;gBACvB,MAAM,EAAC,IAAI,EAAE,IAAI,EAAC,GAAG,KAAK,CAAA;gBAC1B,wBAAwB,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAA;YACjE,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,CAAA;IAE5C,OAAO;QACL,qBAAqB,EAAE,OAAO;aAC3B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC;aACjD,GAAG,CAAC,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,EAAE,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;aACrC,IAAI,CAAC,iBAAiB,CAAC;QAC1B,mBAAmB,EAAE,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAC9E,cAAc,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACpE,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,EAAE,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACrF,wBAAwB,EAAE,CAAC,GAAG,wBAAwB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACxF,iBAAiB,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;KAC3E,CAAA;AACH,CAAC"}
@@ -3,6 +3,17 @@
3
3
  * Copado tracks as standalone components. Each rule maps a repeated top-level XML element of the
4
4
  * parent file to the child metadata type it represents.
5
5
  */
6
+ /**
7
+ * How much of the child's Copado name the nested XML block carries on its own.
8
+ *
9
+ * - `global` (default): the nested fields already hold the complete name, the way a profile
10
+ * `fieldPermissions` block names `Account.Rating`.
11
+ * - `parent`: the name is scoped by the parent component, so a `Notify_Owner` rule under
12
+ * `Workflow:Account` is `WorkflowRule:Account.Notify_Owner`.
13
+ * - `object`: the name is scoped by the object the parent itself belongs to, so an `Industry`
14
+ * picklist under `RecordType:Account.Business` is `CustomField:Account.Industry`.
15
+ */
16
+ export type NestedNameScope = 'global' | 'object' | 'parent';
6
17
  export type NestedRule = {
7
18
  childType: string;
8
19
  /**
@@ -11,12 +22,13 @@ export type NestedRule = {
11
22
  */
12
23
  keyStyle?: 'default' | 'layoutRecordType';
13
24
  nameFields: string[];
25
+ nameScope?: NestedNameScope;
14
26
  xmlElement: string;
15
27
  };
16
28
  export type NestedRegistry = Readonly<Record<string, readonly NestedRule[]>>;
17
29
  /**
18
30
  * Parents whose nested children are permissions rather than deployable components on their own.
19
- * Their changed children are pushed as `retrieveOnly`, the same way `lastPermissionSelected` is.
31
+ * Their changed children are pushed as `RetrieveOnly`, the same way `lastPermissionSelected` is.
20
32
  */
21
33
  export declare const PERMISSION_NESTED_PARENT_TYPES: ReadonlySet<string>;
22
34
  export declare function isPermissionNestedParentType(type: string): boolean;