@syntax-syllogism/warden-core 0.2.0 → 0.3.1
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 +26 -4
- package/conformance/README.md +21 -0
- package/conformance/fixtures/01-single-persona.json +34 -0
- package/conformance/fixtures/02-multi-persona-union.json +32 -0
- package/conformance/fixtures/03-duplicate-grant-dedup.json +24 -0
- package/conformance/fixtures/04-already-present-noop.json +15 -0
- package/conformance/fixtures/05-unresolved-reference.json +17 -0
- package/conformance/fixtures/06-multi-user.json +28 -0
- package/conformance/fixtures/07-deterministic-ordering.json +39 -0
- package/conformance/fixtures/08-category-specific-reference-keys.json +42 -0
- package/lib/commandOptions.d.ts +84 -0
- package/lib/commandOptions.js +71 -0
- package/lib/commandOptions.js.map +1 -0
- package/lib/index.d.ts +10 -3
- package/lib/index.js +6 -3
- package/lib/index.js.map +1 -1
- package/lib/lifecycle/errors.d.ts +1 -1
- package/lib/lifecycle/errors.js.map +1 -1
- package/lib/lifecycle/freezeState.d.ts +0 -16
- package/lib/lifecycle/freezeState.js +0 -73
- package/lib/lifecycle/freezeState.js.map +1 -1
- package/lib/lifecycle/stripPlan.d.ts +2 -13
- package/lib/lifecycle/stripPlan.js +2 -53
- package/lib/lifecycle/stripPlan.js.map +1 -1
- package/lib/matching/index.js +8 -8
- package/lib/matching/index.js.map +1 -1
- package/lib/provisioning/conformancePlan.d.ts +7 -0
- package/lib/provisioning/conformancePlan.js +135 -0
- package/lib/provisioning/conformancePlan.js.map +1 -0
- package/lib/provisioning/provisionUserUseCase.d.ts +0 -1
- package/lib/provisioning/provisionUserUseCase.js +0 -5
- package/lib/provisioning/provisionUserUseCase.js.map +1 -1
- package/lib/provisioning/userPlan.js +2 -2
- package/lib/provisioning/userPlan.js.map +1 -1
- package/lib/provisioning/userSave.d.ts +2 -1
- package/lib/provisioning/userSave.js +10 -6
- package/lib/provisioning/userSave.js.map +1 -1
- package/lib/relatedRecords/apply.d.ts +1 -1
- package/lib/relatedRecords/apply.js +5 -4
- package/lib/relatedRecords/apply.js.map +1 -1
- package/lib/relatedRecords/preflight.d.ts +2 -4
- package/lib/relatedRecords/preflight.js +2 -4
- package/lib/relatedRecords/preflight.js.map +1 -1
- package/lib/spec/conformanceFixture.d.ts +209 -0
- package/lib/spec/conformanceFixture.js +77 -0
- package/lib/spec/conformanceFixture.js.map +1 -0
- package/lib/spec/index.d.ts +3 -1
- package/lib/spec/index.js +2 -1
- package/lib/spec/index.js.map +1 -1
- package/lib/spec/parse.d.ts +4 -0
- package/lib/spec/parse.js +4 -0
- package/lib/spec/parse.js.map +1 -1
- package/lib/useCase.d.ts +45 -0
- package/lib/useCase.js +31 -0
- package/lib/useCase.js.map +1 -0
- package/lib/useCases.d.ts +152 -0
- package/lib/useCases.js +698 -0
- package/lib/useCases.js.map +1 -0
- package/package.json +1 -1
- package/schemas/conformance-fixture.schema.json +444 -0
- package/lib/shared/prompt.d.ts +0 -4
- package/lib/shared/prompt.js +0 -15
- package/lib/shared/prompt.js.map +0 -1
|
@@ -19,10 +19,11 @@ const appendAssignmentActions = (actions, dmlPlan) => {
|
|
|
19
19
|
addActionIfAny(dmlPlan.queues.adds, 'wouldAddQueueMember');
|
|
20
20
|
addActionIfAny(dmlPlan.queues.removes, 'wouldRemoveQueueMember');
|
|
21
21
|
};
|
|
22
|
-
const performAssignmentDml = async (conn, userId, dmlPlan, actions, errors) => {
|
|
22
|
+
const performAssignmentDml = async (conn, userId, dmlPlan, actions, errors, beforeWrite = () => undefined) => {
|
|
23
23
|
const runDml = async (values, action, op) => {
|
|
24
24
|
if (values.length === 0)
|
|
25
25
|
return;
|
|
26
|
+
beforeWrite();
|
|
26
27
|
const saveResults = asArray(await op());
|
|
27
28
|
if (saveResults.some((saveResult) => saveResult.success))
|
|
28
29
|
actions.push(action);
|
|
@@ -37,7 +38,7 @@ const performAssignmentDml = async (conn, userId, dmlPlan, actions, errors) => {
|
|
|
37
38
|
await runDml(dmlPlan.queues.adds, 'addedQueueMember', () => conn.sobject('GroupMember').create(dmlPlan.queues.adds.map((groupId) => ({ GroupId: groupId, UserOrGroupId: userId })), { allOrNone: false }));
|
|
38
39
|
await runDml(dmlPlan.queues.removes, 'removedQueueMember', () => conn.sobject('GroupMember').delete(dmlPlan.queues.removes, { allOrNone: false }));
|
|
39
40
|
};
|
|
40
|
-
const applyAssignments = async (conn, userId, persona, refs, dryRun, actions, errors) => {
|
|
41
|
+
const applyAssignments = async (conn, userId, persona, refs, dryRun, actions, errors, beforeWrite = () => undefined) => {
|
|
41
42
|
if (!hasAssignmentIntent(persona, refs))
|
|
42
43
|
return;
|
|
43
44
|
const state = userId === DRY_RUN_CREATE_ID
|
|
@@ -51,14 +52,15 @@ const applyAssignments = async (conn, userId, persona, refs, dryRun, actions, er
|
|
|
51
52
|
appendAssignmentActions(actions, dmlPlan);
|
|
52
53
|
return;
|
|
53
54
|
}
|
|
54
|
-
await performAssignmentDml(conn, userId, dmlPlan, actions, errors);
|
|
55
|
+
await performAssignmentDml(conn, userId, dmlPlan, actions, errors, beforeWrite);
|
|
55
56
|
};
|
|
56
|
-
export const executeBulkUserSaves = async (conn, plans) => {
|
|
57
|
+
export const executeBulkUserSaves = async (conn, plans, beforeStage = () => undefined) => {
|
|
57
58
|
const validPlans = plans.filter((plan) => plan.errors.length === 0);
|
|
58
59
|
const createPlans = validPlans.filter((plan) => !plan.existing);
|
|
59
60
|
const updatePlans = validPlans.filter((plan) => Boolean(plan.existing));
|
|
60
61
|
const outcomes = [];
|
|
61
62
|
if (createPlans.length > 0) {
|
|
63
|
+
beforeStage();
|
|
62
64
|
const createResults = asArray(await conn.sobject('User').create(createPlans.map((plan) => plan.target), { allOrNone: false }));
|
|
63
65
|
outcomes.push(...createPlans.map((plan, idx) => ({
|
|
64
66
|
plan,
|
|
@@ -68,6 +70,7 @@ export const executeBulkUserSaves = async (conn, plans) => {
|
|
|
68
70
|
})));
|
|
69
71
|
}
|
|
70
72
|
if (updatePlans.length > 0) {
|
|
73
|
+
beforeStage();
|
|
71
74
|
const updateResults = asArray(await conn.sobject('User').update(updatePlans.map((plan) => ({ ...plan.target, Id: plan.existing.Id })), { allOrNone: false }));
|
|
72
75
|
outcomes.push(...updatePlans.map((plan, idx) => ({
|
|
73
76
|
plan,
|
|
@@ -98,12 +101,13 @@ export const planDryRunResult = async (options) => {
|
|
|
98
101
|
return toUserResult(plan, 'planned');
|
|
99
102
|
};
|
|
100
103
|
export const applySavedPlan = async (options) => {
|
|
101
|
-
const { conn, outcome, refs, message = provisioningMessage } = options;
|
|
104
|
+
const { conn, outcome, refs, message = provisioningMessage, beforeWrite = () => undefined } = options;
|
|
102
105
|
const { plan, id } = outcome;
|
|
103
106
|
if (!id)
|
|
104
107
|
return toUserResult(plan, 'failed', { includeExistingId: false, errors: [message('errorMissingSaveId')] });
|
|
105
108
|
const frozenIds = await queryFrozenLoginIds(conn, id);
|
|
106
109
|
if (frozenIds.length > 0) {
|
|
110
|
+
beforeWrite();
|
|
107
111
|
const unfreezeResult = await conn.sobject('UserLogin').update(frozenIds.map((loginId) => ({ Id: loginId, IsFrozen: false })), { allOrNone: false });
|
|
108
112
|
const unfreezeErrors = [];
|
|
109
113
|
pushErrors(unfreezeErrors, unfreezeResult);
|
|
@@ -112,7 +116,7 @@ export const applySavedPlan = async (options) => {
|
|
|
112
116
|
else
|
|
113
117
|
plan.actions.push('unfrozen');
|
|
114
118
|
}
|
|
115
|
-
await applyAssignments(conn, id, plan.effectivePersona, refs, false, plan.actions, plan.errors);
|
|
119
|
+
await applyAssignments(conn, id, plan.effectivePersona, refs, false, plan.actions, plan.errors, beforeWrite);
|
|
116
120
|
const status = plan.errors.length > 0 ? 'failed' : plan.existing ? 'updated' : 'created';
|
|
117
121
|
return toUserResult(plan, status, { id });
|
|
118
122
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userSave.js","sourceRoot":"","sources":["../../src/provisioning/userSave.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,UAAU,EAAmB,MAAM,sBAAsB,CAAC;AAClG,OAAO,EACL,+BAA+B,EAC/B,mBAAmB,EACnB,SAAS,GAGV,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAyC,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAS3C,MAAM,uBAAuB,GAAG,CAAC,OAAiB,EAAE,OAA0B,EAAQ,EAAE;IACtF,MAAM,cAAc,GAAG,CAAC,MAAiB,EAAE,MAAc,EAAQ,EAAE;QACjE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC,CAAC;IACF,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;IACxE,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;IAC3E,cAAc,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,+BAA+B,CAAC,CAAC;IAClF,cAAc,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAC;IACrF,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC;IACvE,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;IAC7E,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAC3D,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,KAAK,EAChC,IAAgB,EAChB,MAAc,EACd,OAA0B,EAC1B,OAAiB,EACjB,MAAgB,
|
|
1
|
+
{"version":3,"file":"userSave.js","sourceRoot":"","sources":["../../src/provisioning/userSave.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,4 +15,4 @@ export declare const toUnappliedResults: (plans: RelatedRecordPlan[]) => Related
|
|
|
15
15
|
* Failures are pushed onto the owning `UserPlan`'s errors so the existing status
|
|
16
16
|
* derivation reports that user failed — without undoing the already-saved User.
|
|
17
17
|
*/
|
|
18
|
-
export declare const applyRelatedPhase: (conn: Connection, entries: RelatedApplyEntry[], phase: "after") => Promise<Map<string, RelatedRecordResult[]>>;
|
|
18
|
+
export declare const applyRelatedPhase: (conn: Connection, entries: RelatedApplyEntry[], phase: "after", beforeBatch?: () => void) => Promise<Map<string, RelatedRecordResult[]>>;
|
|
@@ -62,9 +62,10 @@ const recordOutcome = (write, saveResult, resultsByPlanId) => {
|
|
|
62
62
|
}
|
|
63
63
|
resultsByPlanId.set(write.planId, results);
|
|
64
64
|
};
|
|
65
|
-
const runPartitionedDml = async (writes, operation, resultsByPlanId) => {
|
|
65
|
+
const runPartitionedDml = async (writes, operation, resultsByPlanId, beforeBatch = () => undefined) => {
|
|
66
66
|
const partitions = batch(writes, RELATED_DML_CHUNK_SIZE);
|
|
67
67
|
for (const partition of partitions) {
|
|
68
|
+
beforeBatch();
|
|
68
69
|
// Ordered requests: each partition is at most 200 records, matching the User save shape.
|
|
69
70
|
// eslint-disable-next-line no-await-in-loop
|
|
70
71
|
const saveResults = asArray(await operation(partition.map((write) => write.payload)));
|
|
@@ -77,7 +78,7 @@ const runPartitionedDml = async (writes, operation, resultsByPlanId) => {
|
|
|
77
78
|
* Failures are pushed onto the owning `UserPlan`'s errors so the existing status
|
|
78
79
|
* derivation reports that user failed — without undoing the already-saved User.
|
|
79
80
|
*/
|
|
80
|
-
export const applyRelatedPhase = async (conn, entries, phase) => {
|
|
81
|
+
export const applyRelatedPhase = async (conn, entries, phase, beforeBatch = () => undefined) => {
|
|
81
82
|
const resultsByPlanId = new Map();
|
|
82
83
|
const writes = [];
|
|
83
84
|
for (const entry of entries) {
|
|
@@ -109,10 +110,10 @@ export const applyRelatedPhase = async (conn, entries, phase) => {
|
|
|
109
110
|
const updates = forSobject.filter((write) => Boolean(write.plan.existingId));
|
|
110
111
|
/* eslint-disable no-await-in-loop */
|
|
111
112
|
if (creates.length > 0) {
|
|
112
|
-
await runPartitionedDml(creates, (payloads) => conn.sobject(sobject).create(payloads, { allOrNone: false }), resultsByPlanId);
|
|
113
|
+
await runPartitionedDml(creates, (payloads) => conn.sobject(sobject).create(payloads, { allOrNone: false }), resultsByPlanId, beforeBatch);
|
|
113
114
|
}
|
|
114
115
|
if (updates.length > 0) {
|
|
115
|
-
await runPartitionedDml(updates, (payloads) => conn.sobject(sobject).update(payloads, { allOrNone: false }), resultsByPlanId);
|
|
116
|
+
await runPartitionedDml(updates, (payloads) => conn.sobject(sobject).update(payloads, { allOrNone: false }), resultsByPlanId, beforeBatch);
|
|
116
117
|
}
|
|
117
118
|
/* eslint-enable no-await-in-loop */
|
|
118
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/relatedRecords/apply.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/relatedRecords/apply.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,10 +15,8 @@ export declare const emptyPreflightResult: () => RelatedPreflightResult;
|
|
|
15
15
|
/**
|
|
16
16
|
* Validate every relationship at least one user selected, once per batch.
|
|
17
17
|
*
|
|
18
|
-
* Ineligible relationships become warning lines rather than errors
|
|
19
|
-
*
|
|
20
|
-
* skips them, declining exits before any DML, and `--no-prompt`/JSON runs skip
|
|
21
|
-
* automatically.
|
|
18
|
+
* Ineligible relationships become warning lines rather than errors. Callers decide
|
|
19
|
+
* how to present those warnings before applying any DML.
|
|
22
20
|
*/
|
|
23
21
|
export declare const runRelatedPreflight: (options: {
|
|
24
22
|
conn: Connection;
|
|
@@ -92,10 +92,8 @@ const checkFieldMetadata = (def, fieldMap, message) => {
|
|
|
92
92
|
/**
|
|
93
93
|
* Validate every relationship at least one user selected, once per batch.
|
|
94
94
|
*
|
|
95
|
-
* Ineligible relationships become warning lines rather than errors
|
|
96
|
-
*
|
|
97
|
-
* skips them, declining exits before any DML, and `--no-prompt`/JSON runs skip
|
|
98
|
-
* automatically.
|
|
95
|
+
* Ineligible relationships become warning lines rather than errors. Callers decide
|
|
96
|
+
* how to present those warnings before applying any DML.
|
|
99
97
|
*/
|
|
100
98
|
export const runRelatedPreflight = async (options) => {
|
|
101
99
|
const { conn, catalog, selected, cache, message = relatedRecordsMessage } = options;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/relatedRecords/preflight.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/relatedRecords/preflight.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const conformanceUsersDefinitionSchema: z.ZodObject<{
|
|
3
|
+
schemaVersion: z.ZodOptional<z.ZodLiteral<1>>;
|
|
4
|
+
users: z.ZodArray<z.ZodObject<{
|
|
5
|
+
personas: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
6
|
+
userKey: z.ZodString;
|
|
7
|
+
userId: z.ZodString;
|
|
8
|
+
}, z.core.$loose>>;
|
|
9
|
+
}, z.core.$loose>;
|
|
10
|
+
export declare const conformanceDefinitionsSchema: z.ZodObject<{
|
|
11
|
+
personas: z.ZodObject<{
|
|
12
|
+
schemaVersion: z.ZodOptional<z.ZodLiteral<1>>;
|
|
13
|
+
personas: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
14
|
+
profile: z.ZodOptional<z.ZodString>;
|
|
15
|
+
role: z.ZodOptional<z.ZodString>;
|
|
16
|
+
permissionSetMode: z.ZodOptional<z.ZodEnum<{
|
|
17
|
+
additive: "additive";
|
|
18
|
+
sync: "sync";
|
|
19
|
+
}>>;
|
|
20
|
+
permissionSetGroupMode: z.ZodOptional<z.ZodEnum<{
|
|
21
|
+
additive: "additive";
|
|
22
|
+
sync: "sync";
|
|
23
|
+
}>>;
|
|
24
|
+
publicGroupMode: z.ZodOptional<z.ZodEnum<{
|
|
25
|
+
additive: "additive";
|
|
26
|
+
sync: "sync";
|
|
27
|
+
}>>;
|
|
28
|
+
queueMode: z.ZodOptional<z.ZodEnum<{
|
|
29
|
+
additive: "additive";
|
|
30
|
+
sync: "sync";
|
|
31
|
+
}>>;
|
|
32
|
+
permissionSets: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
33
|
+
permissionSetGroups: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
34
|
+
publicGroups: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
35
|
+
queues: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
36
|
+
userAttributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
37
|
+
}, z.core.$loose>>;
|
|
38
|
+
}, z.core.$loose>;
|
|
39
|
+
users: z.ZodObject<{
|
|
40
|
+
schemaVersion: z.ZodOptional<z.ZodLiteral<1>>;
|
|
41
|
+
users: z.ZodArray<z.ZodObject<{
|
|
42
|
+
personas: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
43
|
+
userKey: z.ZodString;
|
|
44
|
+
userId: z.ZodString;
|
|
45
|
+
}, z.core.$loose>>;
|
|
46
|
+
}, z.core.$loose>;
|
|
47
|
+
}, z.core.$strip>;
|
|
48
|
+
export declare const conformanceOrgStateSchema: z.ZodObject<{
|
|
49
|
+
permissionSets: z.ZodArray<z.ZodObject<{
|
|
50
|
+
id: z.ZodString;
|
|
51
|
+
name: z.ZodOptional<z.ZodString>;
|
|
52
|
+
developerName: z.ZodOptional<z.ZodString>;
|
|
53
|
+
label: z.ZodOptional<z.ZodString>;
|
|
54
|
+
}, z.core.$loose>>;
|
|
55
|
+
permissionSetGroups: z.ZodArray<z.ZodObject<{
|
|
56
|
+
id: z.ZodString;
|
|
57
|
+
name: z.ZodOptional<z.ZodString>;
|
|
58
|
+
developerName: z.ZodOptional<z.ZodString>;
|
|
59
|
+
label: z.ZodOptional<z.ZodString>;
|
|
60
|
+
}, z.core.$loose>>;
|
|
61
|
+
groups: z.ZodArray<z.ZodObject<{
|
|
62
|
+
id: z.ZodString;
|
|
63
|
+
name: z.ZodOptional<z.ZodString>;
|
|
64
|
+
developerName: z.ZodOptional<z.ZodString>;
|
|
65
|
+
label: z.ZodOptional<z.ZodString>;
|
|
66
|
+
type: z.ZodEnum<{
|
|
67
|
+
Queue: "Queue";
|
|
68
|
+
Regular: "Regular";
|
|
69
|
+
}>;
|
|
70
|
+
}, z.core.$loose>>;
|
|
71
|
+
permissionSetAssignments: z.ZodArray<z.ZodObject<{
|
|
72
|
+
id: z.ZodString;
|
|
73
|
+
userId: z.ZodString;
|
|
74
|
+
permissionSetId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
75
|
+
permissionSetGroupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
76
|
+
}, z.core.$loose>>;
|
|
77
|
+
groupMembers: z.ZodArray<z.ZodObject<{
|
|
78
|
+
id: z.ZodString;
|
|
79
|
+
userId: z.ZodString;
|
|
80
|
+
groupId: z.ZodString;
|
|
81
|
+
}, z.core.$loose>>;
|
|
82
|
+
}, z.core.$loose>;
|
|
83
|
+
export declare const conformanceCategorySchema: z.ZodEnum<{
|
|
84
|
+
PermissionSet: "PermissionSet";
|
|
85
|
+
PermissionSetGroup: "PermissionSetGroup";
|
|
86
|
+
Queue: "Queue";
|
|
87
|
+
PublicGroup: "PublicGroup";
|
|
88
|
+
}>;
|
|
89
|
+
export declare const conformancePlanRowSchema: z.ZodObject<{
|
|
90
|
+
userKey: z.ZodString;
|
|
91
|
+
userId: z.ZodString;
|
|
92
|
+
category: z.ZodEnum<{
|
|
93
|
+
PermissionSet: "PermissionSet";
|
|
94
|
+
PermissionSetGroup: "PermissionSetGroup";
|
|
95
|
+
Queue: "Queue";
|
|
96
|
+
PublicGroup: "PublicGroup";
|
|
97
|
+
}>;
|
|
98
|
+
action: z.ZodEnum<{
|
|
99
|
+
wouldAssign: "wouldAssign";
|
|
100
|
+
unresolved: "unresolved";
|
|
101
|
+
}>;
|
|
102
|
+
status: z.ZodEnum<{
|
|
103
|
+
planned: "planned";
|
|
104
|
+
unmanaged: "unmanaged";
|
|
105
|
+
}>;
|
|
106
|
+
detail: z.ZodString;
|
|
107
|
+
error: z.ZodString;
|
|
108
|
+
}, z.core.$strip>;
|
|
109
|
+
export declare const conformanceFixtureSchema: z.ZodObject<{
|
|
110
|
+
schemaVersion: z.ZodLiteral<1>;
|
|
111
|
+
definitions: z.ZodObject<{
|
|
112
|
+
personas: z.ZodObject<{
|
|
113
|
+
schemaVersion: z.ZodOptional<z.ZodLiteral<1>>;
|
|
114
|
+
personas: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
115
|
+
profile: z.ZodOptional<z.ZodString>;
|
|
116
|
+
role: z.ZodOptional<z.ZodString>;
|
|
117
|
+
permissionSetMode: z.ZodOptional<z.ZodEnum<{
|
|
118
|
+
additive: "additive";
|
|
119
|
+
sync: "sync";
|
|
120
|
+
}>>;
|
|
121
|
+
permissionSetGroupMode: z.ZodOptional<z.ZodEnum<{
|
|
122
|
+
additive: "additive";
|
|
123
|
+
sync: "sync";
|
|
124
|
+
}>>;
|
|
125
|
+
publicGroupMode: z.ZodOptional<z.ZodEnum<{
|
|
126
|
+
additive: "additive";
|
|
127
|
+
sync: "sync";
|
|
128
|
+
}>>;
|
|
129
|
+
queueMode: z.ZodOptional<z.ZodEnum<{
|
|
130
|
+
additive: "additive";
|
|
131
|
+
sync: "sync";
|
|
132
|
+
}>>;
|
|
133
|
+
permissionSets: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
134
|
+
permissionSetGroups: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
135
|
+
publicGroups: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
136
|
+
queues: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
137
|
+
userAttributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
138
|
+
}, z.core.$loose>>;
|
|
139
|
+
}, z.core.$loose>;
|
|
140
|
+
users: z.ZodObject<{
|
|
141
|
+
schemaVersion: z.ZodOptional<z.ZodLiteral<1>>;
|
|
142
|
+
users: z.ZodArray<z.ZodObject<{
|
|
143
|
+
personas: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
144
|
+
userKey: z.ZodString;
|
|
145
|
+
userId: z.ZodString;
|
|
146
|
+
}, z.core.$loose>>;
|
|
147
|
+
}, z.core.$loose>;
|
|
148
|
+
}, z.core.$strip>;
|
|
149
|
+
orgState: z.ZodObject<{
|
|
150
|
+
permissionSets: z.ZodArray<z.ZodObject<{
|
|
151
|
+
id: z.ZodString;
|
|
152
|
+
name: z.ZodOptional<z.ZodString>;
|
|
153
|
+
developerName: z.ZodOptional<z.ZodString>;
|
|
154
|
+
label: z.ZodOptional<z.ZodString>;
|
|
155
|
+
}, z.core.$loose>>;
|
|
156
|
+
permissionSetGroups: z.ZodArray<z.ZodObject<{
|
|
157
|
+
id: z.ZodString;
|
|
158
|
+
name: z.ZodOptional<z.ZodString>;
|
|
159
|
+
developerName: z.ZodOptional<z.ZodString>;
|
|
160
|
+
label: z.ZodOptional<z.ZodString>;
|
|
161
|
+
}, z.core.$loose>>;
|
|
162
|
+
groups: z.ZodArray<z.ZodObject<{
|
|
163
|
+
id: z.ZodString;
|
|
164
|
+
name: z.ZodOptional<z.ZodString>;
|
|
165
|
+
developerName: z.ZodOptional<z.ZodString>;
|
|
166
|
+
label: z.ZodOptional<z.ZodString>;
|
|
167
|
+
type: z.ZodEnum<{
|
|
168
|
+
Queue: "Queue";
|
|
169
|
+
Regular: "Regular";
|
|
170
|
+
}>;
|
|
171
|
+
}, z.core.$loose>>;
|
|
172
|
+
permissionSetAssignments: z.ZodArray<z.ZodObject<{
|
|
173
|
+
id: z.ZodString;
|
|
174
|
+
userId: z.ZodString;
|
|
175
|
+
permissionSetId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
176
|
+
permissionSetGroupId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
177
|
+
}, z.core.$loose>>;
|
|
178
|
+
groupMembers: z.ZodArray<z.ZodObject<{
|
|
179
|
+
id: z.ZodString;
|
|
180
|
+
userId: z.ZodString;
|
|
181
|
+
groupId: z.ZodString;
|
|
182
|
+
}, z.core.$loose>>;
|
|
183
|
+
}, z.core.$loose>;
|
|
184
|
+
expectedPlan: z.ZodArray<z.ZodObject<{
|
|
185
|
+
userKey: z.ZodString;
|
|
186
|
+
userId: z.ZodString;
|
|
187
|
+
category: z.ZodEnum<{
|
|
188
|
+
PermissionSet: "PermissionSet";
|
|
189
|
+
PermissionSetGroup: "PermissionSetGroup";
|
|
190
|
+
Queue: "Queue";
|
|
191
|
+
PublicGroup: "PublicGroup";
|
|
192
|
+
}>;
|
|
193
|
+
action: z.ZodEnum<{
|
|
194
|
+
wouldAssign: "wouldAssign";
|
|
195
|
+
unresolved: "unresolved";
|
|
196
|
+
}>;
|
|
197
|
+
status: z.ZodEnum<{
|
|
198
|
+
planned: "planned";
|
|
199
|
+
unmanaged: "unmanaged";
|
|
200
|
+
}>;
|
|
201
|
+
detail: z.ZodString;
|
|
202
|
+
error: z.ZodString;
|
|
203
|
+
}, z.core.$strip>>;
|
|
204
|
+
}, z.core.$strip>;
|
|
205
|
+
export type ConformanceFixture = z.infer<typeof conformanceFixtureSchema>;
|
|
206
|
+
export type ConformanceDefinitions = z.infer<typeof conformanceDefinitionsSchema>;
|
|
207
|
+
export type ConformanceOrgState = z.infer<typeof conformanceOrgStateSchema>;
|
|
208
|
+
export type ConformanceCategory = z.infer<typeof conformanceCategorySchema>;
|
|
209
|
+
export type ConformancePlanRow = z.infer<typeof conformancePlanRowSchema>;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { personaDefinitionsFileSchema } from './personaDefinitions.js';
|
|
3
|
+
import { userInputSchema, usersDefinitionFileSchema } from './usersDefinition.js';
|
|
4
|
+
const schemaVersionSchema = z.literal(1).describe('Conformance fixture format version.');
|
|
5
|
+
const conformanceUserSchema = userInputSchema
|
|
6
|
+
.extend({
|
|
7
|
+
userKey: z.string().min(1).describe('Stable engine-neutral user key.'),
|
|
8
|
+
userId: z.string().min(1).describe('Simulated Salesforce User Id.'),
|
|
9
|
+
})
|
|
10
|
+
.describe('A user definition with the identity fields required by conformance planning.');
|
|
11
|
+
export const conformanceUsersDefinitionSchema = usersDefinitionFileSchema
|
|
12
|
+
.extend({ users: z.array(conformanceUserSchema).describe('Fixture users.') })
|
|
13
|
+
.describe('The users definition embedded in a conformance fixture.');
|
|
14
|
+
export const conformanceDefinitionsSchema = z
|
|
15
|
+
.object({
|
|
16
|
+
personas: personaDefinitionsFileSchema.describe('Persona definitions used by the fixture.'),
|
|
17
|
+
users: conformanceUsersDefinitionSchema,
|
|
18
|
+
})
|
|
19
|
+
.describe('Persona and user definition documents used as conformance input.');
|
|
20
|
+
const setupReferenceSchema = z
|
|
21
|
+
.looseObject({
|
|
22
|
+
id: z.string().min(1).describe('Simulated Salesforce Id.'),
|
|
23
|
+
name: z.string().min(1).optional().describe('Permission Set name or group name.'),
|
|
24
|
+
developerName: z.string().min(1).optional().describe('DeveloperName used for a setup reference.'),
|
|
25
|
+
label: z.string().min(1).optional().describe('Human-readable target label.'),
|
|
26
|
+
})
|
|
27
|
+
.describe('A simulated setup-object reference.');
|
|
28
|
+
const groupSchema = setupReferenceSchema
|
|
29
|
+
.extend({ type: z.enum(['Regular', 'Queue']).describe('Salesforce Group type.') })
|
|
30
|
+
.describe('A simulated Public Group or Queue.');
|
|
31
|
+
const assignmentSchema = z
|
|
32
|
+
.looseObject({
|
|
33
|
+
id: z.string().min(1).describe('Simulated PermissionSetAssignment Id.'),
|
|
34
|
+
userId: z.string().min(1).describe('Assigned User Id.'),
|
|
35
|
+
permissionSetId: z.string().min(1).nullable().optional(),
|
|
36
|
+
permissionSetGroupId: z.string().min(1).nullable().optional(),
|
|
37
|
+
})
|
|
38
|
+
.describe('A simulated PermissionSetAssignment row.');
|
|
39
|
+
const groupMemberSchema = z
|
|
40
|
+
.looseObject({
|
|
41
|
+
id: z.string().min(1).describe('Simulated GroupMember Id.'),
|
|
42
|
+
userId: z.string().min(1).describe('Member User Id.'),
|
|
43
|
+
groupId: z.string().min(1).describe('Group Id.'),
|
|
44
|
+
})
|
|
45
|
+
.describe('A simulated GroupMember row.');
|
|
46
|
+
export const conformanceOrgStateSchema = z
|
|
47
|
+
.looseObject({
|
|
48
|
+
permissionSets: z.array(setupReferenceSchema).describe('Permission Sets available for reference resolution.'),
|
|
49
|
+
permissionSetGroups: z
|
|
50
|
+
.array(setupReferenceSchema)
|
|
51
|
+
.describe('Permission Set Groups available for reference resolution.'),
|
|
52
|
+
groups: z.array(groupSchema).describe('Public Groups and Queues available for reference resolution.'),
|
|
53
|
+
permissionSetAssignments: z.array(assignmentSchema).describe('Existing PermissionSetAssignment rows.'),
|
|
54
|
+
groupMembers: z.array(groupMemberSchema).describe('Existing GroupMember rows.'),
|
|
55
|
+
})
|
|
56
|
+
.describe('A simulated current-org setup-object and assignment snapshot.');
|
|
57
|
+
export const conformanceCategorySchema = z.enum(['PermissionSet', 'PermissionSetGroup', 'PublicGroup', 'Queue']);
|
|
58
|
+
export const conformancePlanRowSchema = z
|
|
59
|
+
.object({
|
|
60
|
+
userKey: z.string().min(1),
|
|
61
|
+
userId: z.string().min(1),
|
|
62
|
+
category: conformanceCategorySchema,
|
|
63
|
+
action: z.enum(['wouldAssign', 'unresolved']),
|
|
64
|
+
status: z.enum(['planned', 'unmanaged']),
|
|
65
|
+
detail: z.string(),
|
|
66
|
+
error: z.string(),
|
|
67
|
+
})
|
|
68
|
+
.describe('One deterministic reconciliation plan row.');
|
|
69
|
+
export const conformanceFixtureSchema = z
|
|
70
|
+
.object({
|
|
71
|
+
schemaVersion: schemaVersionSchema,
|
|
72
|
+
definitions: conformanceDefinitionsSchema,
|
|
73
|
+
orgState: conformanceOrgStateSchema,
|
|
74
|
+
expectedPlan: z.array(conformancePlanRowSchema).describe('Expected deterministic reconciliation plan rows.'),
|
|
75
|
+
})
|
|
76
|
+
.describe('A Warden v1 conformance fixture: definitions plus simulated org state and expected plan.');
|
|
77
|
+
//# sourceMappingURL=conformanceFixture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conformanceFixture.js","sourceRoot":"","sources":["../../src/spec/conformanceFixture.ts"],"names":[],"mappings":"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"}
|
package/lib/spec/index.d.ts
CHANGED
|
@@ -2,9 +2,11 @@ export { personaDefinitionsFileSchema, personaSchema } from './personaDefinition
|
|
|
2
2
|
export { relatedCatalogSchema, relationshipDefSchema } from './relatedCatalog.js';
|
|
3
3
|
export { snapshotFileSchema, userSnapshotEntrySchema } from './snapshot.js';
|
|
4
4
|
export { userInputSchema, usersDefinitionFileSchema, USERS_CSV_COLUMNS } from './usersDefinition.js';
|
|
5
|
-
export {
|
|
5
|
+
export { conformanceCategorySchema, conformanceDefinitionsSchema, conformanceFixtureSchema, conformanceOrgStateSchema, conformancePlanRowSchema, conformanceUsersDefinitionSchema, } from './conformanceFixture.js';
|
|
6
|
+
export { parsePersonaDefinitions, parseRelatedCatalog, parseSnapshot, parseUsersDefinition, safeParsePersonaDefinitions, safeParseRelatedCatalog, safeParseSnapshot, safeParseUsersDefinition, validatePersonaDefinitionsText, validateRelatedCatalogText, validateSnapshotText, validateUsersDefinitionText, parseConformanceFixture, safeParseConformanceFixture, validateConformanceFixtureText, } from './parse.js';
|
|
6
7
|
export type { PersonaDefinition, PersonaDefinitionsFile } from './personaDefinitions.js';
|
|
7
8
|
export type { RelatedCatalog, RelationshipDef, RelationshipMode, RelationshipPhase, SourceExpr, } from './relatedCatalog.js';
|
|
8
9
|
export type { UserSnapshotEntry, UserSnapshotFile } from './snapshot.js';
|
|
9
10
|
export type { UserInput, UsersDefinitionFile } from './usersDefinition.js';
|
|
11
|
+
export type { ConformanceCategory, ConformanceDefinitions, ConformanceFixture, ConformanceOrgState, ConformancePlanRow, } from './conformanceFixture.js';
|
|
10
12
|
export type { SchemaFailure, SchemaIssue, SchemaResult, SchemaSuccess } from './parse.js';
|
package/lib/spec/index.js
CHANGED
|
@@ -2,5 +2,6 @@ export { personaDefinitionsFileSchema, personaSchema } from './personaDefinition
|
|
|
2
2
|
export { relatedCatalogSchema, relationshipDefSchema } from './relatedCatalog.js';
|
|
3
3
|
export { snapshotFileSchema, userSnapshotEntrySchema } from './snapshot.js';
|
|
4
4
|
export { userInputSchema, usersDefinitionFileSchema, USERS_CSV_COLUMNS } from './usersDefinition.js';
|
|
5
|
-
export {
|
|
5
|
+
export { conformanceCategorySchema, conformanceDefinitionsSchema, conformanceFixtureSchema, conformanceOrgStateSchema, conformancePlanRowSchema, conformanceUsersDefinitionSchema, } from './conformanceFixture.js';
|
|
6
|
+
export { parsePersonaDefinitions, parseRelatedCatalog, parseSnapshot, parseUsersDefinition, safeParsePersonaDefinitions, safeParseRelatedCatalog, safeParseSnapshot, safeParseUsersDefinition, validatePersonaDefinitionsText, validateRelatedCatalogText, validateSnapshotText, validateUsersDefinitionText, parseConformanceFixture, safeParseConformanceFixture, validateConformanceFixtureText, } from './parse.js';
|
|
6
7
|
//# sourceMappingURL=index.js.map
|
package/lib/spec/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/spec/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACrG,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,aAAa,EACb,oBAAoB,EACpB,2BAA2B,EAC3B,uBAAuB,EACvB,iBAAiB,EACjB,wBAAwB,EACxB,8BAA8B,EAC9B,0BAA0B,EAC1B,oBAAoB,EACpB,2BAA2B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/spec/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACrG,OAAO,EACL,yBAAyB,EACzB,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,gCAAgC,GACjC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,aAAa,EACb,oBAAoB,EACpB,2BAA2B,EAC3B,uBAAuB,EACvB,iBAAiB,EACjB,wBAAwB,EACxB,8BAA8B,EAC9B,0BAA0B,EAC1B,oBAAoB,EACpB,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,YAAY,CAAC"}
|
package/lib/spec/parse.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { DefinitionError } from '../provisioning/errors.js';
|
|
2
|
+
import type { ConformanceFixture } from './conformanceFixture.js';
|
|
2
3
|
import type { PersonaDefinitionsFile } from './personaDefinitions.js';
|
|
3
4
|
import type { RelatedCatalog } from './relatedCatalog.js';
|
|
4
5
|
import type { UserSnapshotFile } from './snapshot.js';
|
|
@@ -30,3 +31,6 @@ export declare const validateRelatedCatalogText: (text: string) => SchemaResult<
|
|
|
30
31
|
export declare const safeParseSnapshot: (input: unknown) => SchemaResult<UserSnapshotFile>;
|
|
31
32
|
export declare const parseSnapshot: (input: unknown) => UserSnapshotFile;
|
|
32
33
|
export declare const validateSnapshotText: (text: string) => SchemaResult<UserSnapshotFile>;
|
|
34
|
+
export declare const safeParseConformanceFixture: (input: unknown) => SchemaResult<ConformanceFixture>;
|
|
35
|
+
export declare const parseConformanceFixture: (input: unknown) => ConformanceFixture;
|
|
36
|
+
export declare const validateConformanceFixtureText: (text: string) => SchemaResult<ConformanceFixture>;
|
package/lib/spec/parse.js
CHANGED
|
@@ -3,6 +3,7 @@ import { personaDefinitionsFileSchema } from './personaDefinitions.js';
|
|
|
3
3
|
import { relatedCatalogSchema } from './relatedCatalog.js';
|
|
4
4
|
import { snapshotFileSchema } from './snapshot.js';
|
|
5
5
|
import { usersDefinitionFileSchema } from './usersDefinition.js';
|
|
6
|
+
import { conformanceFixtureSchema } from './conformanceFixture.js';
|
|
6
7
|
const issuesFrom = (issues) => issues.map(({ path, message }) => ({
|
|
7
8
|
path: path.filter((part) => typeof part === 'string' || typeof part === 'number'),
|
|
8
9
|
message,
|
|
@@ -74,4 +75,7 @@ export const validateRelatedCatalogText = (text) => parseText((input) => parseVe
|
|
|
74
75
|
export const safeParseSnapshot = (input) => parseSchema(snapshotFileSchema, input);
|
|
75
76
|
export const parseSnapshot = (input) => parseOrThrow(safeParseSnapshot(input));
|
|
76
77
|
export const validateSnapshotText = (text) => parseText((input) => parseSchema(snapshotFileSchema, input), text, 'Snapshot');
|
|
78
|
+
export const safeParseConformanceFixture = (input) => parseVersionedSchema(conformanceFixtureSchema, input);
|
|
79
|
+
export const parseConformanceFixture = (input) => parseOrThrow(safeParseConformanceFixture(input));
|
|
80
|
+
export const validateConformanceFixtureText = (text) => parseText((input) => parseVersionedSchema(conformanceFixtureSchema, input), text, 'Conformance fixture');
|
|
77
81
|
//# sourceMappingURL=parse.js.map
|