@copado/agentia-cli 0.90.0-alpha.0 → 0.91.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.
- package/README.md +241 -197
- package/dist/commands/cicd/work/commit.d.ts +1 -0
- package/dist/commands/cicd/work/commit.js +7 -2
- package/dist/commands/cicd/work/commit.js.map +1 -1
- package/dist/commands/cicd/work/done.d.ts +3 -0
- package/dist/commands/cicd/work/done.js +14 -2
- package/dist/commands/cicd/work/done.js.map +1 -1
- package/dist/commands/cicd/work/push.d.ts +5 -0
- package/dist/commands/cicd/work/push.js +26 -3
- package/dist/commands/cicd/work/push.js.map +1 -1
- package/dist/commands/cicd/work/submit.d.ts +1 -0
- package/dist/commands/cicd/work/submit.js +5 -0
- package/dist/commands/cicd/work/submit.js.map +1 -1
- package/dist/lib/defaults-store.d.ts +4 -0
- package/dist/lib/defaults-store.js +18 -3
- package/dist/lib/defaults-store.js.map +1 -1
- package/dist/lib/git-worktree.d.ts +4 -0
- package/dist/lib/git-worktree.js +24 -1
- package/dist/lib/git-worktree.js.map +1 -1
- package/dist/lib/mcp/tools.d.ts +10 -2
- package/dist/lib/mcp/work-tools.d.ts +12 -2
- package/dist/lib/mcp/work-tools.js +36 -9
- package/dist/lib/mcp/work-tools.js.map +1 -1
- package/dist/lib/nested-metadata-changes.d.ts +50 -0
- package/dist/lib/nested-metadata-changes.js +166 -0
- package/dist/lib/nested-metadata-changes.js.map +1 -0
- package/dist/lib/nested-metadata-registry.d.ts +24 -0
- package/dist/lib/nested-metadata-registry.js +201 -0
- package/dist/lib/nested-metadata-registry.js.map +1 -0
- package/dist/lib/work-local-commit.d.ts +2 -0
- package/dist/lib/work-local-commit.js +4 -0
- package/dist/lib/work-local-commit.js.map +1 -1
- package/dist/lib/work-push.d.ts +34 -0
- package/dist/lib/work-push.js +148 -11
- package/dist/lib/work-push.js.map +1 -1
- package/dist/lib/work-types.d.ts +30 -1
- package/dist/lib/work-types.js.map +1 -1
- package/oclif.manifest.json +781 -737
- package/package.json +2 -1
package/dist/lib/mcp/tools.d.ts
CHANGED
|
@@ -612,6 +612,7 @@ export declare const agentiaMcpToolHandlers: {
|
|
|
612
612
|
commitId?: string;
|
|
613
613
|
dataTemplateSyncConfig?: unknown[];
|
|
614
614
|
executeCommit?: boolean;
|
|
615
|
+
fullMetadata?: string;
|
|
615
616
|
id?: string;
|
|
616
617
|
local?: boolean;
|
|
617
618
|
message?: string;
|
|
@@ -636,7 +637,9 @@ export declare const agentiaMcpToolHandlers: {
|
|
|
636
637
|
deleted: boolean;
|
|
637
638
|
id: string;
|
|
638
639
|
}>;
|
|
639
|
-
workDone: (
|
|
640
|
+
workDone: (args?: {
|
|
641
|
+
skipNestedMetadataDetection?: boolean;
|
|
642
|
+
}) => Promise<{
|
|
640
643
|
branch: string;
|
|
641
644
|
done: import("../work-types.js").HeadlessCommandResult;
|
|
642
645
|
push: import("../work-types.js").WorkPushResult | undefined;
|
|
@@ -689,7 +692,11 @@ export declare const agentiaMcpToolHandlers: {
|
|
|
689
692
|
run: import("../promotion-run.js").PromotionRunResponse;
|
|
690
693
|
wait: boolean;
|
|
691
694
|
}>;
|
|
692
|
-
workPush: (
|
|
695
|
+
workPush: (args?: {
|
|
696
|
+
fullMetadata?: string;
|
|
697
|
+
permissions?: string;
|
|
698
|
+
skipNestedMetadataDetection?: boolean;
|
|
699
|
+
}) => Promise<import("../work-types.js").WorkPushResult>;
|
|
693
700
|
workSet: (args: {
|
|
694
701
|
baseBranch?: string;
|
|
695
702
|
id: string;
|
|
@@ -697,6 +704,7 @@ export declare const agentiaMcpToolHandlers: {
|
|
|
697
704
|
workSubmit: (args?: {
|
|
698
705
|
apexTestClasses?: string;
|
|
699
706
|
skipLocalTests?: boolean;
|
|
707
|
+
skipNestedMetadataDetection?: boolean;
|
|
700
708
|
}) => Promise<{
|
|
701
709
|
branch: string;
|
|
702
710
|
push: import("../work-types.js").WorkPushResult | undefined;
|
|
@@ -20,9 +20,18 @@ type WorkSetArgs = {
|
|
|
20
20
|
baseBranch?: string;
|
|
21
21
|
id: string;
|
|
22
22
|
};
|
|
23
|
+
type WorkDoneArgs = {
|
|
24
|
+
skipNestedMetadataDetection?: boolean;
|
|
25
|
+
};
|
|
26
|
+
type WorkPushArgs = {
|
|
27
|
+
fullMetadata?: string;
|
|
28
|
+
permissions?: string;
|
|
29
|
+
skipNestedMetadataDetection?: boolean;
|
|
30
|
+
};
|
|
23
31
|
type WorkSubmitArgs = {
|
|
24
32
|
apexTestClasses?: string;
|
|
25
33
|
skipLocalTests?: boolean;
|
|
34
|
+
skipNestedMetadataDetection?: boolean;
|
|
26
35
|
};
|
|
27
36
|
type WorkTestArgs = {
|
|
28
37
|
apexTestClasses?: string;
|
|
@@ -38,6 +47,7 @@ type WorkCommitArgs = {
|
|
|
38
47
|
commitId?: string;
|
|
39
48
|
dataTemplateSyncConfig?: unknown[];
|
|
40
49
|
executeCommit?: boolean;
|
|
50
|
+
fullMetadata?: string;
|
|
41
51
|
id?: string;
|
|
42
52
|
local?: boolean;
|
|
43
53
|
message?: string;
|
|
@@ -80,7 +90,7 @@ declare function workDelete(args: WorkDeleteArgs): Promise<{
|
|
|
80
90
|
id: string;
|
|
81
91
|
}>;
|
|
82
92
|
declare function workSet(args: WorkSetArgs): Promise<WorkSetResult>;
|
|
83
|
-
declare function workPush(): Promise<import("../work-types.js").WorkPushResult>;
|
|
93
|
+
declare function workPush(args?: WorkPushArgs): Promise<import("../work-types.js").WorkPushResult>;
|
|
84
94
|
declare function workSubmit(args?: WorkSubmitArgs): Promise<{
|
|
85
95
|
branch: string;
|
|
86
96
|
push: import("../work-types.js").WorkPushResult | undefined;
|
|
@@ -107,7 +117,7 @@ declare function workPromote(args?: WorkPromoteArgs): Promise<{
|
|
|
107
117
|
run: import("../promotion-run.js").PromotionRunResponse;
|
|
108
118
|
wait: boolean;
|
|
109
119
|
}>;
|
|
110
|
-
declare function workDone(): Promise<{
|
|
120
|
+
declare function workDone(args?: WorkDoneArgs): Promise<{
|
|
111
121
|
branch: string;
|
|
112
122
|
done: HeadlessCommandResult;
|
|
113
123
|
push: import("../work-types.js").WorkPushResult | undefined;
|
|
@@ -42,7 +42,7 @@ const CLOUD_ONLY_COMMIT_ARGS = [
|
|
|
42
42
|
'wait',
|
|
43
43
|
'waitTimeout',
|
|
44
44
|
];
|
|
45
|
-
const LOCAL_ONLY_COMMIT_ARGS = ['all', 'apexTestClasses', 'permissions'];
|
|
45
|
+
const LOCAL_ONLY_COMMIT_ARGS = ['all', 'apexTestClasses', 'fullMetadata', 'permissions'];
|
|
46
46
|
const WORK_MUTATION_PAYLOAD_KEYS = [
|
|
47
47
|
'acceptanceCriteria',
|
|
48
48
|
'actualPoints',
|
|
@@ -229,12 +229,15 @@ async function workSet(args) {
|
|
|
229
229
|
workItem: setResponse.workItem,
|
|
230
230
|
};
|
|
231
231
|
}
|
|
232
|
-
async function workPush() {
|
|
232
|
+
async function workPush(args = {}) {
|
|
233
233
|
await requireCleanTrackedTree('work push');
|
|
234
234
|
const context = await resolveWorkPushContext();
|
|
235
235
|
return performWorkPush({
|
|
236
236
|
...context,
|
|
237
|
+
...(args.fullMetadata === undefined ? {} : { fullMetadata: args.fullMetadata }),
|
|
237
238
|
hooks: silentWorkPushHooks,
|
|
239
|
+
...(args.permissions === undefined ? {} : { permissions: args.permissions }),
|
|
240
|
+
skipNestedMetadataDetection: args.skipNestedMetadataDetection,
|
|
238
241
|
});
|
|
239
242
|
}
|
|
240
243
|
async function workSubmit(args = {}) {
|
|
@@ -271,6 +274,7 @@ async function workSubmit(args = {}) {
|
|
|
271
274
|
pushResult = await performWorkPush({
|
|
272
275
|
...pushContext,
|
|
273
276
|
hooks: silentWorkPushHooks,
|
|
277
|
+
skipNestedMetadataDetection: args.skipNestedMetadataDetection,
|
|
274
278
|
});
|
|
275
279
|
}
|
|
276
280
|
const submitBody = { workItem };
|
|
@@ -353,6 +357,7 @@ async function workLocalCommit(args) {
|
|
|
353
357
|
return performWorkLocalCommit({
|
|
354
358
|
all: args.all === true,
|
|
355
359
|
...(args.apexTestClasses === undefined ? {} : { apexTestClasses: args.apexTestClasses }),
|
|
360
|
+
...(args.fullMetadata === undefined ? {} : { fullMetadata: args.fullMetadata }),
|
|
356
361
|
...(args.message === undefined ? {} : { message: args.message }),
|
|
357
362
|
...(args.permissions === undefined ? {} : { permissions: args.permissions }),
|
|
358
363
|
});
|
|
@@ -456,7 +461,7 @@ async function workPromote(args = {}) {
|
|
|
456
461
|
});
|
|
457
462
|
return { ...result, workItemId };
|
|
458
463
|
}
|
|
459
|
-
async function workDone() {
|
|
464
|
+
async function workDone(args = {}) {
|
|
460
465
|
const { branch, workItem } = await requireFeatureBranchWorkItem();
|
|
461
466
|
await requireCleanTrackedTree('work done');
|
|
462
467
|
let pushResult;
|
|
@@ -466,6 +471,7 @@ async function workDone() {
|
|
|
466
471
|
pushResult = await performWorkPush({
|
|
467
472
|
...pushContext,
|
|
468
473
|
hooks: silentWorkPushHooks,
|
|
474
|
+
skipNestedMetadataDetection: args.skipNestedMetadataDetection,
|
|
469
475
|
});
|
|
470
476
|
}
|
|
471
477
|
const doneBody = { workItem };
|
|
@@ -499,6 +505,10 @@ export const agentiaMcpWorkToolHandlers = {
|
|
|
499
505
|
workTest,
|
|
500
506
|
workUpdate,
|
|
501
507
|
};
|
|
508
|
+
const skipNestedMetadataDetectionSchema = z
|
|
509
|
+
.boolean()
|
|
510
|
+
.optional()
|
|
511
|
+
.describe('Do not detect the nested metadata changed across the branch. Also configurable via skipNestedMetadataDetection in .agentia/config.json or .agentia/config.user.json.');
|
|
502
512
|
const workMutationSchema = {
|
|
503
513
|
acceptanceCriteria: z.string().optional().describe('Acceptance criteria (fewer than 255 characters).'),
|
|
504
514
|
actualPoints: z.number().int().optional().describe('Actual points.'),
|
|
@@ -586,12 +596,22 @@ export function registerAgentiaMcpWorkTools(server) {
|
|
|
586
596
|
title: 'Agentia Work Set',
|
|
587
597
|
}, (args) => safelyHandleTool(() => workSet(args)));
|
|
588
598
|
server.registerTool('agentia_work_push', {
|
|
589
|
-
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 as the headless push retrieveOnly list so Copado registers that metadata with the Retrieve Only commit action, then merges the feature branch into the recorded dev org branch after headless push.',
|
|
590
|
-
inputSchema: {
|
|
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.',
|
|
600
|
+
inputSchema: {
|
|
601
|
+
fullMetadata: z
|
|
602
|
+
.string()
|
|
603
|
+
.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.'),
|
|
605
|
+
permissions: z
|
|
606
|
+
.string()
|
|
607
|
+
.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.'),
|
|
609
|
+
skipNestedMetadataDetection: skipNestedMetadataDetectionSchema,
|
|
610
|
+
},
|
|
591
611
|
title: 'Agentia Work Push',
|
|
592
|
-
}, () => safelyHandleTool(() => workPush()));
|
|
612
|
+
}, (args) => safelyHandleTool(() => workPush(args || {})));
|
|
593
613
|
server.registerTool('agentia_work_commit', {
|
|
594
|
-
description: 'Commit work locally or in the Copado cloud. Without cloud=true it runs a local git commit and records lastPermissionSelected and lastApexTestClassesSelected in config.user.json for work push. With cloud=true it creates and optionally waits for a Copado cloud commit job, using simple metadata fields for one change or changes for multi-change requests. For Salesforce metadata, set metadataCategory to SFDX (or c: "SFDX" on each changes entry); Copado SFDX deploy skips entries that omit that field.',
|
|
614
|
+
description: 'Commit work locally or in the Copado cloud. Without cloud=true it runs a local git commit and records lastPermissionSelected, lastFullMetadataSelected, and lastApexTestClassesSelected in config.user.json for work push. With cloud=true it creates and optionally waits for a Copado cloud commit job, using simple metadata fields for one change or changes for multi-change requests. For Salesforce metadata, set metadataCategory to SFDX (or c: "SFDX" on each changes entry); Copado SFDX deploy skips entries that omit that field.',
|
|
595
615
|
inputSchema: {
|
|
596
616
|
action: z.enum(WORK_COMMIT_ACTIONS).optional().describe('Metadata action for simple input. Defaults to Add.'),
|
|
597
617
|
all: z
|
|
@@ -617,6 +637,10 @@ export function registerAgentiaMcpWorkTools(server) {
|
|
|
617
637
|
.optional()
|
|
618
638
|
.describe('Optional data-template synchronization configuration.'),
|
|
619
639
|
executeCommit: z.boolean().optional().describe('Execute the Copado commit job. Defaults to true.'),
|
|
640
|
+
fullMetadata: z
|
|
641
|
+
.string()
|
|
642
|
+
.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.'),
|
|
620
644
|
id: z.string().optional().describe('Cloud commit only. User story Id. Defaults to the active work item from work set.'),
|
|
621
645
|
local: z
|
|
622
646
|
.boolean()
|
|
@@ -689,6 +713,7 @@ export function registerAgentiaMcpWorkTools(server) {
|
|
|
689
713
|
.boolean()
|
|
690
714
|
.optional()
|
|
691
715
|
.describe('Skip running local quality gates scripts in the project root.'),
|
|
716
|
+
skipNestedMetadataDetection: skipNestedMetadataDetectionSchema,
|
|
692
717
|
},
|
|
693
718
|
title: 'Agentia Work Submit',
|
|
694
719
|
}, (args) => safelyHandleTool(() => workSubmit(args || {})));
|
|
@@ -708,8 +733,10 @@ export function registerAgentiaMcpWorkTools(server) {
|
|
|
708
733
|
}, (args) => safelyHandleTool(() => workTest(args || {})));
|
|
709
734
|
server.registerTool('agentia_work_done', {
|
|
710
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.',
|
|
711
|
-
inputSchema: {
|
|
736
|
+
inputSchema: {
|
|
737
|
+
skipNestedMetadataDetection: skipNestedMetadataDetectionSchema,
|
|
738
|
+
},
|
|
712
739
|
title: 'Agentia Work Done',
|
|
713
|
-
}, () => safelyHandleTool(() => workDone()));
|
|
740
|
+
}, (args) => safelyHandleTool(() => workDone(args || {})));
|
|
714
741
|
}
|
|
715
742
|
//# sourceMappingURL=work-tools.js.map
|
|
@@ -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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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { type Element } from '@xmldom/xmldom';
|
|
2
|
+
import { type NestedRegistry, type NestedRule } from './nested-metadata-registry.js';
|
|
3
|
+
export type NestedMetadataSelection = {
|
|
4
|
+
name: string;
|
|
5
|
+
type: string;
|
|
6
|
+
};
|
|
7
|
+
export type NestedMetadataChanges = {
|
|
8
|
+
/**
|
|
9
|
+
* Parent components that were decomposed into nested children. The parent XML aggregates members
|
|
10
|
+
* owned by other work, so the parent itself is excluded in favour of `nestedChildren`.
|
|
11
|
+
*/
|
|
12
|
+
ignoredParents: NestedMetadataSelection[];
|
|
13
|
+
/** Child components resolved from the nested XML blocks that actually changed. */
|
|
14
|
+
nestedChildren: NestedMetadataSelection[];
|
|
15
|
+
/**
|
|
16
|
+
* 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`.
|
|
18
|
+
*/
|
|
19
|
+
permissionNestedChildren: NestedMetadataSelection[];
|
|
20
|
+
};
|
|
21
|
+
export type NestedParentCandidate = NestedMetadataSelection & {
|
|
22
|
+
filePath: string;
|
|
23
|
+
rules: readonly NestedRule[];
|
|
24
|
+
};
|
|
25
|
+
/** Reads a repository file as it exists at a git ref, or `''` when it is absent. */
|
|
26
|
+
export type NestedFileReader = (filePath: string) => Promise<string>;
|
|
27
|
+
export declare function formatNestedMetadataSelection(selection: NestedMetadataSelection): string;
|
|
28
|
+
/**
|
|
29
|
+
* Changed files whose metadata type aggregates nested children, paired with the rules that describe
|
|
30
|
+
* the nested XML blocks to diff. Paths that do not resolve to Salesforce metadata are dropped.
|
|
31
|
+
*/
|
|
32
|
+
export declare function listNestedParentCandidates(filePaths: readonly string[], registry?: NestedRegistry): NestedParentCandidate[];
|
|
33
|
+
/** Composite key Copado uses for layout assignments: `<layout base>--<recordType>`. */
|
|
34
|
+
export declare function layoutRecordTypeKey(layout: string, recordType: string): string;
|
|
35
|
+
export declare function nestedChildName(element: Element, rule: NestedRule): string | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* Nested children whose XML block was added, removed, or edited between the two parent revisions.
|
|
38
|
+
*/
|
|
39
|
+
export declare function diffNestedChildren(baseXml: string, headXml: string, rules: readonly NestedRule[]): NestedMetadataSelection[];
|
|
40
|
+
/**
|
|
41
|
+
* Translates changed nested-parent files into the parents to ignore and the nested children that
|
|
42
|
+
* represent the actual change. A parent is only ignored when at least one of its nested blocks
|
|
43
|
+
* changed; parents whose top-level fields alone changed still need to be deployed as a whole.
|
|
44
|
+
*/
|
|
45
|
+
export declare function detectNestedMetadataChanges(options: {
|
|
46
|
+
filePaths: readonly string[];
|
|
47
|
+
readBase: NestedFileReader;
|
|
48
|
+
readHead: NestedFileReader;
|
|
49
|
+
registry?: NestedRegistry;
|
|
50
|
+
}): Promise<NestedMetadataChanges>;
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { DOMParser, XMLSerializer } from '@xmldom/xmldom';
|
|
2
|
+
import { isPermissionNestedParentType, NESTED_METADATA_REGISTRY, nestedRulesForType, } from './nested-metadata-registry.js';
|
|
3
|
+
import { resolveSalesforcePath } from './sdr-path-resolver.js';
|
|
4
|
+
const ELEMENT_NODE = 1;
|
|
5
|
+
function selectionKey(selection) {
|
|
6
|
+
return `${selection.type}:${selection.name}`;
|
|
7
|
+
}
|
|
8
|
+
function compareSelections(left, right) {
|
|
9
|
+
return left.type.localeCompare(right.type) || left.name.localeCompare(right.name);
|
|
10
|
+
}
|
|
11
|
+
export function formatNestedMetadataSelection(selection) {
|
|
12
|
+
return selectionKey(selection);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Changed files whose metadata type aggregates nested children, paired with the rules that describe
|
|
16
|
+
* the nested XML blocks to diff. Paths that do not resolve to Salesforce metadata are dropped.
|
|
17
|
+
*/
|
|
18
|
+
export function listNestedParentCandidates(filePaths, registry = NESTED_METADATA_REGISTRY) {
|
|
19
|
+
const candidates = new Map();
|
|
20
|
+
for (const filePath of filePaths) {
|
|
21
|
+
const resolved = resolveSalesforcePath(filePath);
|
|
22
|
+
if (!resolved) {
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
const rules = nestedRulesForType(resolved.type, registry);
|
|
26
|
+
if (!rules) {
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
candidates.set(filePath, { ...resolved, filePath, rules });
|
|
30
|
+
}
|
|
31
|
+
return [...candidates.values()];
|
|
32
|
+
}
|
|
33
|
+
function localName(node) {
|
|
34
|
+
return (node.localName ?? node.nodeName ?? '').replace(/^.*:/, '');
|
|
35
|
+
}
|
|
36
|
+
function childElements(parent) {
|
|
37
|
+
const elements = [];
|
|
38
|
+
for (let index = 0; index < parent.childNodes.length; index++) {
|
|
39
|
+
const child = parent.childNodes.item(index);
|
|
40
|
+
if (child?.nodeType === ELEMENT_NODE) {
|
|
41
|
+
elements.push(child);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return elements;
|
|
45
|
+
}
|
|
46
|
+
function textOfField(element, field) {
|
|
47
|
+
for (const child of childElements(element)) {
|
|
48
|
+
if (localName(child) === field) {
|
|
49
|
+
return child.textContent?.trim() ?? '';
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return '';
|
|
53
|
+
}
|
|
54
|
+
/** Composite key Copado uses for layout assignments: `<layout base>--<recordType>`. */
|
|
55
|
+
export function layoutRecordTypeKey(layout, recordType) {
|
|
56
|
+
const base = layout.includes('-') ? layout.split('-')[0] : layout;
|
|
57
|
+
return recordType ? `${base}--${recordType}` : base;
|
|
58
|
+
}
|
|
59
|
+
export function nestedChildName(element, rule) {
|
|
60
|
+
if (rule.keyStyle === 'layoutRecordType') {
|
|
61
|
+
const layout = textOfField(element, rule.nameFields[0] ?? 'layout');
|
|
62
|
+
if (!layout) {
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
return layoutRecordTypeKey(layout, textOfField(element, rule.nameFields[1] ?? 'recordType'));
|
|
66
|
+
}
|
|
67
|
+
const parts = rule.nameFields.map((field) => textOfField(element, field)).filter(Boolean);
|
|
68
|
+
return parts.length === 0 ? undefined : parts.join('.');
|
|
69
|
+
}
|
|
70
|
+
function parseXml(xml) {
|
|
71
|
+
if (xml.trim().length === 0) {
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
try {
|
|
75
|
+
// Malformed or unexpected input must never reach stdout; `--json` output would be corrupted.
|
|
76
|
+
const document = new DOMParser({
|
|
77
|
+
onError() { },
|
|
78
|
+
}).parseFromString(xml, 'text/xml');
|
|
79
|
+
return document.documentElement ?? undefined;
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
return undefined;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/** Whitespace-insensitive snapshot of a nested block, so reformatting alone is not a change. */
|
|
86
|
+
function normalizeBlock(serialized) {
|
|
87
|
+
return serialized.replaceAll(/>\s+</g, '><').replaceAll(/\s+/g, ' ').trim();
|
|
88
|
+
}
|
|
89
|
+
function collectNestedBlocks(root, rule) {
|
|
90
|
+
const blocks = new Map();
|
|
91
|
+
if (!root) {
|
|
92
|
+
return blocks;
|
|
93
|
+
}
|
|
94
|
+
const serializer = new XMLSerializer();
|
|
95
|
+
for (const element of childElements(root)) {
|
|
96
|
+
if (localName(element) !== rule.xmlElement) {
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
const name = nestedChildName(element, rule);
|
|
100
|
+
if (name === undefined) {
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
blocks.set(name, normalizeBlock(serializer.serializeToString(element)));
|
|
104
|
+
}
|
|
105
|
+
return blocks;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Nested children whose XML block was added, removed, or edited between the two parent revisions.
|
|
109
|
+
*/
|
|
110
|
+
export function diffNestedChildren(baseXml, headXml, rules) {
|
|
111
|
+
const baseRoot = parseXml(baseXml);
|
|
112
|
+
const headRoot = parseXml(headXml);
|
|
113
|
+
const changes = new Map();
|
|
114
|
+
for (const rule of rules) {
|
|
115
|
+
const baseBlocks = collectNestedBlocks(baseRoot, rule);
|
|
116
|
+
const headBlocks = collectNestedBlocks(headRoot, rule);
|
|
117
|
+
for (const name of new Set([...baseBlocks.keys(), ...headBlocks.keys()])) {
|
|
118
|
+
if (baseBlocks.get(name) === headBlocks.get(name)) {
|
|
119
|
+
continue;
|
|
120
|
+
}
|
|
121
|
+
const selection = { name, type: rule.childType };
|
|
122
|
+
changes.set(selectionKey(selection), selection);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return [...changes.values()];
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Translates changed nested-parent files into the parents to ignore and the nested children that
|
|
129
|
+
* represent the actual change. A parent is only ignored when at least one of its nested blocks
|
|
130
|
+
* changed; parents whose top-level fields alone changed still need to be deployed as a whole.
|
|
131
|
+
*/
|
|
132
|
+
export async function detectNestedMetadataChanges(options) {
|
|
133
|
+
const { filePaths, readBase, readHead } = options;
|
|
134
|
+
const candidates = listNestedParentCandidates(filePaths, options.registry);
|
|
135
|
+
const ignoredParents = new Map();
|
|
136
|
+
const nestedChildren = new Map();
|
|
137
|
+
const permissionNestedChildren = new Map();
|
|
138
|
+
for (const candidate of candidates) {
|
|
139
|
+
// eslint-disable-next-line no-await-in-loop -- git reads are cheap and kept sequential on purpose
|
|
140
|
+
const [baseXml, headXml] = await Promise.all([
|
|
141
|
+
readBase(candidate.filePath),
|
|
142
|
+
readHead(candidate.filePath),
|
|
143
|
+
]);
|
|
144
|
+
if (baseXml.length === 0 && headXml.length === 0) {
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
const children = diffNestedChildren(baseXml, headXml, candidate.rules);
|
|
148
|
+
if (children.length === 0) {
|
|
149
|
+
continue;
|
|
150
|
+
}
|
|
151
|
+
const parent = { name: candidate.name, type: candidate.type };
|
|
152
|
+
ignoredParents.set(selectionKey(parent), parent);
|
|
153
|
+
for (const child of children) {
|
|
154
|
+
nestedChildren.set(selectionKey(child), child);
|
|
155
|
+
if (isPermissionNestedParentType(candidate.type)) {
|
|
156
|
+
permissionNestedChildren.set(selectionKey(child), child);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return {
|
|
161
|
+
ignoredParents: [...ignoredParents.values()].sort(compareSelections),
|
|
162
|
+
nestedChildren: [...nestedChildren.values()].sort(compareSelections),
|
|
163
|
+
permissionNestedChildren: [...permissionNestedChildren.values()].sort(compareSelections),
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=nested-metadata-changes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nested-metadata-changes.js","sourceRoot":"","sources":["../../src/lib/nested-metadata-changes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Nested (a.k.a. decomposed) Salesforce metadata: parent types whose XML aggregates members that
|
|
3
|
+
* Copado tracks as standalone components. Each rule maps a repeated top-level XML element of the
|
|
4
|
+
* parent file to the child metadata type it represents.
|
|
5
|
+
*/
|
|
6
|
+
export type NestedRule = {
|
|
7
|
+
childType: string;
|
|
8
|
+
/**
|
|
9
|
+
* `layoutRecordType` reproduces Copado's `layout--recordType` composite key; every other rule
|
|
10
|
+
* joins the resolved `nameFields` with dots.
|
|
11
|
+
*/
|
|
12
|
+
keyStyle?: 'default' | 'layoutRecordType';
|
|
13
|
+
nameFields: string[];
|
|
14
|
+
xmlElement: string;
|
|
15
|
+
};
|
|
16
|
+
export type NestedRegistry = Readonly<Record<string, readonly NestedRule[]>>;
|
|
17
|
+
/**
|
|
18
|
+
* 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.
|
|
20
|
+
*/
|
|
21
|
+
export declare const PERMISSION_NESTED_PARENT_TYPES: ReadonlySet<string>;
|
|
22
|
+
export declare function isPermissionNestedParentType(type: string): boolean;
|
|
23
|
+
export declare const NESTED_METADATA_REGISTRY: NestedRegistry;
|
|
24
|
+
export declare function nestedRulesForType(type: string, registry?: NestedRegistry): readonly NestedRule[] | undefined;
|