borgmcp 2.0.8 → 2.0.9
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 +2 -2
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -14
- package/dist/index.js.map +1 -1
- package/dist/remote-client.d.ts +14 -8
- package/dist/remote-client.d.ts.map +1 -1
- package/dist/remote-client.js +285 -45
- package/dist/remote-client.js.map +1 -1
- package/dist/sync-roles-render.d.ts +2 -0
- package/dist/sync-roles-render.d.ts.map +1 -1
- package/dist/sync-roles-render.js +26 -7
- package/dist/sync-roles-render.js.map +1 -1
- package/docs/EXTRACTION_PROVENANCE.md +7 -6
- package/docs/LOCAL_SERVER.md +1 -1
- package/docs/RELEASING.md +10 -1
- package/package.json +2 -2
- package/src/index.ts +41 -14
- package/src/remote-client.ts +323 -39
- package/src/sync-roles-render.ts +24 -7
package/dist/remote-client.js
CHANGED
|
@@ -15,6 +15,8 @@ import { createProtocolEnvelope, decodeEvictDroneResult, decodeProtocolEnvelope,
|
|
|
15
15
|
import { debugLog } from './debug.js';
|
|
16
16
|
import { assertUuidShape } from './evict-drone.js';
|
|
17
17
|
import { DroneEvictedError, DRONE_EVICTED_CODE } from './drone-lifecycle.js';
|
|
18
|
+
import { getTemplate } from 'borgmcp-shared/templates';
|
|
19
|
+
import { parseRoleSections } from 'borgmcp-shared/role-section';
|
|
18
20
|
import { loadBorgServerTrust } from './server-trust.js';
|
|
19
21
|
import { BorgServerError, BorgServerHttpError, BorgServerTrustError, BorgServerUnreachableError, LocalManageCredentialUnavailableError, LocalManageRequiredError, } from './server-errors.js';
|
|
20
22
|
import { getActiveCube } from './cubes.js';
|
|
@@ -186,8 +188,11 @@ async function localManageConnection(active, operation) {
|
|
|
186
188
|
}
|
|
187
189
|
return { apiUrl: active.apiUrl, authToken, serverTrustIdentity: trustIdentity };
|
|
188
190
|
}
|
|
189
|
-
async function
|
|
190
|
-
|
|
191
|
+
export async function resolveLocalManageAuthority(active, operation) {
|
|
192
|
+
return { active, connection: await localManageConnection(active, operation) };
|
|
193
|
+
}
|
|
194
|
+
async function localManageRequest(active, path, method, operation, payload, decodePayload, connectionOverride) {
|
|
195
|
+
const connection = connectionOverride ?? await localManageConnection(active, operation);
|
|
191
196
|
try {
|
|
192
197
|
return await decodeLocalProtocolResponse((signal) => authedFetch(path, {
|
|
193
198
|
method,
|
|
@@ -224,6 +229,18 @@ async function localConnectionRequest(connection, path) {
|
|
|
224
229
|
headers: { Accept: 'application/json' },
|
|
225
230
|
}), false);
|
|
226
231
|
}
|
|
232
|
+
async function localConnectionMutation(connection, path, method, payload) {
|
|
233
|
+
return decodeLocalProtocolResponse((signal) => authedFetch(path, {
|
|
234
|
+
method,
|
|
235
|
+
signal,
|
|
236
|
+
apiUrl: connection.apiUrl,
|
|
237
|
+
authToken: connection.authToken,
|
|
238
|
+
serverTrustIdentity: connection.serverTrustIdentity,
|
|
239
|
+
redirect: 'error',
|
|
240
|
+
headers: { 'Content-Type': 'application/json', Accept: 'application/json' },
|
|
241
|
+
body: JSON.stringify(createProtocolEnvelope(randomUUID(), payload)),
|
|
242
|
+
}), false);
|
|
243
|
+
}
|
|
227
244
|
async function localOwnerConnection(connection) {
|
|
228
245
|
if (connection)
|
|
229
246
|
return connection;
|
|
@@ -519,10 +536,28 @@ export async function whoami(sessionToken, apiUrl, serverTrustIdentity) {
|
|
|
519
536
|
*/
|
|
520
537
|
export async function getRoster(sessionToken, apiUrl, since, serverTrustIdentity) {
|
|
521
538
|
const local = await localAuthorityContext(sessionToken, apiUrl, serverTrustIdentity);
|
|
522
|
-
if (since !== undefined)
|
|
523
|
-
|
|
539
|
+
if (since !== undefined) {
|
|
540
|
+
const [dronePayload, rolePayload, cubePayload] = await Promise.all([
|
|
541
|
+
localServerRequest(local, `/api/cubes/${local.cubeId}/drones?since=${encodeURIComponent(since)}`, 'GET'),
|
|
542
|
+
localServerRequest(local, `/api/cubes/${local.cubeId}/roles`, 'GET'),
|
|
543
|
+
localServerRequest(local, `/api/cubes/${local.cubeId}`, 'GET'),
|
|
544
|
+
]);
|
|
545
|
+
if (!dronePayload || !rolePayload || !cubePayload) {
|
|
546
|
+
throw new Error('Local Borg server returned an incomplete roster response');
|
|
547
|
+
}
|
|
548
|
+
return {
|
|
549
|
+
drones: dronePayload.drones,
|
|
550
|
+
roles: rolePayload.roles,
|
|
551
|
+
message_taxonomy: cubePayload.cube.message_taxonomy ?? null,
|
|
552
|
+
since: dronePayload.since ?? since,
|
|
553
|
+
};
|
|
554
|
+
}
|
|
524
555
|
const composed = await localCubeComposition(local);
|
|
525
|
-
return {
|
|
556
|
+
return {
|
|
557
|
+
drones: composed.drones,
|
|
558
|
+
roles: composed.roles,
|
|
559
|
+
message_taxonomy: composed.cube.message_taxonomy ?? null,
|
|
560
|
+
};
|
|
526
561
|
}
|
|
527
562
|
/**
|
|
528
563
|
* Read recent log entries for the cube.
|
|
@@ -707,19 +742,32 @@ export async function listCubes(connection) {
|
|
|
707
742
|
* Existing callers that read `body.cube` keep working (forward-compat).
|
|
708
743
|
*/
|
|
709
744
|
export async function createCube(name, cubeDirective, opts, connection) {
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
745
|
+
if (!name?.trim())
|
|
746
|
+
throw new Error('Local Borg server cube creation requires a cube name');
|
|
747
|
+
if (opts?.template !== undefined && opts.template !== 'default') {
|
|
748
|
+
throw new Error('Local Borg server supports only the default cube seed');
|
|
749
|
+
}
|
|
750
|
+
const resolved = await localOwnerConnection(connection);
|
|
751
|
+
const created = await localConnectionMutation(resolved, '/api/cubes', 'POST', {
|
|
752
|
+
retry_key: randomUUID(),
|
|
753
|
+
name: name.trim(),
|
|
754
|
+
template: 'default',
|
|
755
|
+
});
|
|
756
|
+
if (!created?.cube_id)
|
|
757
|
+
throw new Error('Local Borg server returned an invalid cube creation response');
|
|
758
|
+
const patch = { cube_directive: cubeDirective };
|
|
759
|
+
if (opts?.message_taxonomy !== undefined)
|
|
760
|
+
patch.message_taxonomy = opts.message_taxonomy;
|
|
761
|
+
await localConnectionMutation(resolved, `/api/cubes/${created.cube_id}`, 'PATCH', patch);
|
|
762
|
+
return getCube(created.cube_id, resolved);
|
|
715
763
|
}
|
|
716
764
|
/**
|
|
717
765
|
* Update a cube's name and/or cube_directive. Both fields are optional;
|
|
718
766
|
* pass only what changes.
|
|
719
767
|
*/
|
|
720
|
-
export async function updateCube(cubeId, updates) {
|
|
768
|
+
export async function updateCube(cubeId, updates, activeOverride, connectionOverride) {
|
|
721
769
|
assertUuidShape(cubeId, 'cube_id');
|
|
722
|
-
const active = await getActiveCube();
|
|
770
|
+
const active = activeOverride ?? await getActiveCube();
|
|
723
771
|
if (!active?.serverTrustIdentity)
|
|
724
772
|
throw new Error('Selected Borg server authority state is missing or unreadable');
|
|
725
773
|
if (updates.name !== undefined)
|
|
@@ -734,7 +782,7 @@ export async function updateCube(cubeId, updates) {
|
|
|
734
782
|
operation: `update cube settings in cube ${manageCopyValue(cubeId === active.cubeId ? active.name : cubeId)}`,
|
|
735
783
|
cubeName: cubeId === active.cubeId ? active.name : cubeId,
|
|
736
784
|
noMutation: 'No cube settings were changed.',
|
|
737
|
-
}, payload);
|
|
785
|
+
}, payload, undefined, connectionOverride);
|
|
738
786
|
if (!result)
|
|
739
787
|
throw new Error('Local Borg server returned an empty cube response');
|
|
740
788
|
return result;
|
|
@@ -745,9 +793,9 @@ export async function updateCube(cubeId, updates) {
|
|
|
745
793
|
* other classes unchanged. The server re-validates the full resulting
|
|
746
794
|
* array and requires the selected local client's live cube-manage grant.
|
|
747
795
|
*/
|
|
748
|
-
export async function patchTaxonomyClass(cubeId, op) {
|
|
796
|
+
export async function patchTaxonomyClass(cubeId, op, activeOverride, connectionOverride) {
|
|
749
797
|
assertUuidShape(cubeId, 'cube_id');
|
|
750
|
-
const active = await getActiveCube();
|
|
798
|
+
const active = activeOverride ?? await getActiveCube();
|
|
751
799
|
if (!active?.serverTrustIdentity)
|
|
752
800
|
throw new Error('Selected Borg server authority state is missing or unreadable');
|
|
753
801
|
const className = op.action === 'remove' ? op.class : op.class_def.class;
|
|
@@ -758,7 +806,7 @@ export async function patchTaxonomyClass(cubeId, op) {
|
|
|
758
806
|
operation: `${op.action} message class ${manageCopyValue(className)} ${preposition} cube ${manageCopyValue(cubeName)}`,
|
|
759
807
|
cubeName,
|
|
760
808
|
noMutation: `No message class was ${pastTense}.`,
|
|
761
|
-
}, op);
|
|
809
|
+
}, op, undefined, connectionOverride);
|
|
762
810
|
if (!result)
|
|
763
811
|
throw new Error('Local Borg server returned an empty taxonomy response');
|
|
764
812
|
return result;
|
|
@@ -775,9 +823,9 @@ export async function deleteCube(cubeId) {
|
|
|
775
823
|
* Create a role inside a cube. is_default=true demotes the previous
|
|
776
824
|
* default role; the cube always has exactly one default.
|
|
777
825
|
*/
|
|
778
|
-
export async function createRole(cubeId, data) {
|
|
826
|
+
export async function createRole(cubeId, data, activeOverride, connectionOverride) {
|
|
779
827
|
assertUuidShape(cubeId, 'cube_id');
|
|
780
|
-
const active = await getActiveCube();
|
|
828
|
+
const active = activeOverride ?? await getActiveCube();
|
|
781
829
|
if (!active?.serverTrustIdentity)
|
|
782
830
|
throw new Error('Selected Borg server authority state is missing or unreadable');
|
|
783
831
|
if (data.default_model !== undefined)
|
|
@@ -786,7 +834,7 @@ export async function createRole(cubeId, data) {
|
|
|
786
834
|
operation: `create role ${manageCopyValue(data.name)} in cube ${manageCopyValue(cubeId === active.cubeId ? active.name : cubeId)}`,
|
|
787
835
|
cubeName: cubeId === active.cubeId ? active.name : cubeId,
|
|
788
836
|
noMutation: 'No role was created.',
|
|
789
|
-
}, buildLocalRoleFields(data));
|
|
837
|
+
}, buildLocalRoleFields(data), undefined, connectionOverride);
|
|
790
838
|
if (!result)
|
|
791
839
|
throw new Error('Local Borg server returned an empty role response');
|
|
792
840
|
return result;
|
|
@@ -794,19 +842,20 @@ export async function createRole(cubeId, data) {
|
|
|
794
842
|
/**
|
|
795
843
|
* Update a role. All fields optional; pass only what changes.
|
|
796
844
|
*/
|
|
797
|
-
export async function updateRole(roleId, updates) {
|
|
845
|
+
export async function updateRole(roleId, updates, targetCubeId, activeOverride, connectionOverride) {
|
|
798
846
|
assertUuidShape(roleId, 'role_id');
|
|
799
|
-
const active = await getActiveCube();
|
|
847
|
+
const active = activeOverride ?? await getActiveCube();
|
|
800
848
|
if (!active?.serverTrustIdentity)
|
|
801
849
|
throw new Error('Selected Borg server authority state is missing or unreadable');
|
|
802
|
-
|
|
850
|
+
const cubeId = targetCubeId ?? active.cubeId;
|
|
851
|
+
assertUuidShape(cubeId, 'cube_id');
|
|
803
852
|
if (updates.default_model !== undefined)
|
|
804
853
|
localUnsupported('per-role default model');
|
|
805
|
-
const result = await localManageRequest(active, `/api/cubes/${
|
|
806
|
-
operation: `update role ${manageCopyValue(roleId)} in cube ${manageCopyValue(active.name)}`,
|
|
807
|
-
cubeName: active.name,
|
|
854
|
+
const result = await localManageRequest(active, `/api/cubes/${cubeId}/roles/${roleId}`, 'PATCH', {
|
|
855
|
+
operation: `update role ${manageCopyValue(roleId)} in cube ${manageCopyValue(cubeId === active.cubeId ? active.name : cubeId)}`,
|
|
856
|
+
cubeName: cubeId === active.cubeId ? active.name : cubeId,
|
|
808
857
|
noMutation: 'No role was updated.',
|
|
809
|
-
}, buildLocalRoleFields(updates));
|
|
858
|
+
}, buildLocalRoleFields(updates), undefined, connectionOverride);
|
|
810
859
|
if (!result)
|
|
811
860
|
throw new Error('Local Borg server returned an empty role response');
|
|
812
861
|
return result;
|
|
@@ -842,17 +891,18 @@ function buildLocalRoleFields(fields) {
|
|
|
842
891
|
* client's live cube-manage grant. Sections are delimited by plain-label lines (e.g.
|
|
843
892
|
* `Workflow:`), NOT markdown headings.
|
|
844
893
|
*/
|
|
845
|
-
export async function patchRoleSection(roleId, op) {
|
|
894
|
+
export async function patchRoleSection(roleId, op, targetCubeId, activeOverride, connectionOverride) {
|
|
846
895
|
assertUuidShape(roleId, 'role_id');
|
|
847
|
-
const active = await getActiveCube();
|
|
896
|
+
const active = activeOverride ?? await getActiveCube();
|
|
848
897
|
if (!active?.serverTrustIdentity)
|
|
849
898
|
throw new Error('Selected Borg server authority state is missing or unreadable');
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
899
|
+
const cubeId = targetCubeId ?? active.cubeId;
|
|
900
|
+
assertUuidShape(cubeId, 'cube_id');
|
|
901
|
+
const result = await localManageRequest(active, `/api/cubes/${cubeId}/roles/${roleId}/section-patch`, 'POST', {
|
|
902
|
+
operation: `${op.action} section ${manageCopyValue(op.heading)} ${op.action === 'delete' ? 'from' : 'in'} role ${manageCopyValue(roleId)} in cube ${manageCopyValue(cubeId === active.cubeId ? active.name : cubeId)}`,
|
|
903
|
+
cubeName: cubeId === active.cubeId ? active.name : cubeId,
|
|
854
904
|
noMutation: `No role section was ${op.action === 'insert' ? 'inserted' : op.action === 'replace' ? 'replaced' : 'deleted'}.`,
|
|
855
|
-
}, { ...op });
|
|
905
|
+
}, { ...op }, undefined, connectionOverride);
|
|
856
906
|
if (!result)
|
|
857
907
|
throw new Error('Local Borg server returned an empty role response');
|
|
858
908
|
return result;
|
|
@@ -920,12 +970,12 @@ export async function listRoles(cubeId) {
|
|
|
920
970
|
}
|
|
921
971
|
return result.roles;
|
|
922
972
|
}
|
|
923
|
-
export async function getCubeForManagement(cubeId, operation, activeOverride) {
|
|
973
|
+
export async function getCubeForManagement(cubeId, operation, activeOverride, connectionOverride) {
|
|
924
974
|
assertUuidShape(cubeId, 'cube_id');
|
|
925
975
|
const active = activeOverride ?? await getActiveCube();
|
|
926
976
|
if (!active?.serverTrustIdentity)
|
|
927
977
|
throw new Error('Selected Borg server authority state is missing or unreadable');
|
|
928
|
-
return getCube(cubeId, await localManageConnection(active, operation));
|
|
978
|
+
return getCube(cubeId, connectionOverride ?? await localManageConnection(active, operation));
|
|
929
979
|
}
|
|
930
980
|
/**
|
|
931
981
|
* Fetch a cube's full detail: directive, roles (with detailed
|
|
@@ -956,10 +1006,45 @@ export async function getCube(cubeId, connection) {
|
|
|
956
1006
|
* `{ created, updated }` counts. To selectively take template versions of
|
|
957
1007
|
* conflicting fragments, use `syncRoles` with a `decisions` map instead.
|
|
958
1008
|
*/
|
|
959
|
-
export async function applyTemplate(cubeId, templateName) {
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
1009
|
+
export async function applyTemplate(cubeId, templateName, authorityOverride) {
|
|
1010
|
+
assertUuidShape(cubeId, 'cube_id');
|
|
1011
|
+
const template = getTemplate(templateName);
|
|
1012
|
+
if (!template)
|
|
1013
|
+
throw new Error(`Unknown Borg template ${JSON.stringify(templateName)}`);
|
|
1014
|
+
const active = authorityOverride?.active ?? await getActiveCube();
|
|
1015
|
+
if (!active?.serverTrustIdentity)
|
|
1016
|
+
throw new Error('Selected Borg server authority state is missing or unreadable');
|
|
1017
|
+
const authority = authorityOverride ?? await resolveLocalManageAuthority(active, {
|
|
1018
|
+
operation: `apply template ${manageCopyValue(templateName)}`,
|
|
1019
|
+
cubeName: cubeId === active.cubeId ? active.name : cubeId,
|
|
1020
|
+
noMutation: 'No template fragments were changed.',
|
|
1021
|
+
});
|
|
1022
|
+
const current = await getCubeForManagement(cubeId, {
|
|
1023
|
+
operation: `apply template ${manageCopyValue(templateName)}`,
|
|
1024
|
+
cubeName: cubeId === active.cubeId ? active.name : cubeId,
|
|
1025
|
+
noMutation: 'No template fragments were changed.',
|
|
1026
|
+
}, active, authority.connection);
|
|
1027
|
+
let created = 0;
|
|
1028
|
+
let updated = 0;
|
|
1029
|
+
for (const role of template.roles) {
|
|
1030
|
+
const existing = current.roles.find((candidate) => candidate.name === role.name);
|
|
1031
|
+
if (!existing) {
|
|
1032
|
+
await createRole(cubeId, role, active, authority.connection);
|
|
1033
|
+
created++;
|
|
1034
|
+
continue;
|
|
1035
|
+
}
|
|
1036
|
+
if (await applyMissingRoleFields(existing, role, cubeId, active, authority.connection))
|
|
1037
|
+
updated++;
|
|
1038
|
+
updated += await applyMissingRoleSections(existing, role, cubeId, active, authority.connection);
|
|
1039
|
+
}
|
|
1040
|
+
for (const classDef of template.message_taxonomy ?? []) {
|
|
1041
|
+
const currentClasses = (current.message_taxonomy ?? []);
|
|
1042
|
+
if (!currentClasses.some((candidate) => candidate.class === classDef.class)) {
|
|
1043
|
+
await patchTaxonomyClass(cubeId, { action: 'add', class_def: classDef }, active, authority.connection);
|
|
1044
|
+
updated++;
|
|
1045
|
+
}
|
|
1046
|
+
}
|
|
1047
|
+
return { created, updated };
|
|
963
1048
|
}
|
|
964
1049
|
/**
|
|
965
1050
|
* gh#473 PR2 — NON-CLOBBERING sync of a cube's roles + message_taxonomy
|
|
@@ -972,11 +1057,166 @@ export async function applyTemplate(cubeId, templateName) {
|
|
|
972
1057
|
* never silently overwritten. Custom roles (names not in template) are
|
|
973
1058
|
* never touched. Returns a NonClobberSyncResult.
|
|
974
1059
|
*/
|
|
975
|
-
export async function syncRoles(cubeId, templateName = 'software-dev', apply = false, decisions) {
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
1060
|
+
export async function syncRoles(cubeId, templateName = 'software-dev', apply = false, decisions, authorityOverride) {
|
|
1061
|
+
assertUuidShape(cubeId, 'cube_id');
|
|
1062
|
+
const template = getTemplate(templateName);
|
|
1063
|
+
if (!template)
|
|
1064
|
+
throw new Error(`Unknown Borg template ${JSON.stringify(templateName)}`);
|
|
1065
|
+
const active = authorityOverride?.active ?? await getActiveCube();
|
|
1066
|
+
if (!active?.serverTrustIdentity)
|
|
1067
|
+
throw new Error('Selected Borg server authority state is missing or unreadable');
|
|
1068
|
+
const authority = authorityOverride ?? await resolveLocalManageAuthority(active, {
|
|
1069
|
+
operation: `sync template ${manageCopyValue(templateName)}`,
|
|
1070
|
+
cubeName: cubeId === active.cubeId ? active.name : cubeId,
|
|
1071
|
+
noMutation: 'No role synchronization changes were applied.',
|
|
1072
|
+
});
|
|
1073
|
+
const current = await getCubeForManagement(cubeId, {
|
|
1074
|
+
operation: `sync template ${manageCopyValue(templateName)}`,
|
|
1075
|
+
cubeName: cubeId === active.cubeId ? active.name : cubeId,
|
|
1076
|
+
noMutation: 'No role synchronization changes were applied.',
|
|
1077
|
+
}, active, authority.connection);
|
|
1078
|
+
const roles = [];
|
|
1079
|
+
const taxonomy = [];
|
|
1080
|
+
const additions = [];
|
|
1081
|
+
const conflictKeys = new Set();
|
|
1082
|
+
for (const role of template.roles) {
|
|
1083
|
+
const existing = current.roles.find((candidate) => candidate.name === role.name);
|
|
1084
|
+
if (!existing) {
|
|
1085
|
+
const key = `role:${role.name}`;
|
|
1086
|
+
const fragments = [{
|
|
1087
|
+
key,
|
|
1088
|
+
kind: 'add',
|
|
1089
|
+
label: 'role',
|
|
1090
|
+
cubeValue: null,
|
|
1091
|
+
templateValue: role.name,
|
|
1092
|
+
}];
|
|
1093
|
+
roles.push({ name: role.name, status: 'new', fragments });
|
|
1094
|
+
additions.push({ key, run: async () => { await createRole(cubeId, role, active, authority.connection); } });
|
|
1095
|
+
continue;
|
|
1096
|
+
}
|
|
1097
|
+
const fragments = [];
|
|
1098
|
+
addRoleScalarFragment(fragments, additions, conflictKeys, decisions, existing, role, 'short_description', 'short description', cubeId, active, authority.connection);
|
|
1099
|
+
for (const field of ['is_default', 'is_mandatory', 'is_human_seat', 'can_broadcast', 'receives_all_direct']) {
|
|
1100
|
+
if (role[field] !== undefined)
|
|
1101
|
+
addRoleScalarFragment(fragments, additions, conflictKeys, decisions, existing, role, field, field, cubeId, active, authority.connection);
|
|
1102
|
+
}
|
|
1103
|
+
const currentSections = new Map(parseRoleSections(String(existing.detailed_description ?? '')).map((section) => [section.heading, section]));
|
|
1104
|
+
for (const section of parseRoleSections(role.detailed_description)) {
|
|
1105
|
+
if (!section.heading)
|
|
1106
|
+
continue;
|
|
1107
|
+
const key = `role:${role.name}:section:${section.heading}`;
|
|
1108
|
+
const previous = currentSections.get(section.heading);
|
|
1109
|
+
const kind = !previous ? 'add' : previous.body === section.body ? 'unchanged' : 'conflict';
|
|
1110
|
+
fragments.push({ key, kind, label: `section ${section.heading}`, cubeValue: previous?.body ?? null, templateValue: section.body });
|
|
1111
|
+
if (kind === 'add')
|
|
1112
|
+
additions.push({ key, run: async () => { await patchRoleSection(existing.id, { action: 'insert', heading: section.heading, body: section.body }, cubeId, active, authority.connection); } });
|
|
1113
|
+
if (kind === 'conflict')
|
|
1114
|
+
conflictKeys.add(key);
|
|
1115
|
+
if (kind === 'conflict' && decisions?.[key] === 'accept')
|
|
1116
|
+
additions.push({ key, run: async () => { await patchRoleSection(existing.id, { action: 'replace', heading: section.heading, body: section.body }, cubeId, active, authority.connection); } });
|
|
1117
|
+
}
|
|
1118
|
+
roles.push({ name: role.name, status: 'existing', fragments });
|
|
1119
|
+
}
|
|
1120
|
+
for (const existing of current.roles) {
|
|
1121
|
+
if (!template.roles.some((role) => role.name === existing.name)) {
|
|
1122
|
+
roles.push({ name: existing.name, status: 'custom-skipped', fragments: [] });
|
|
1123
|
+
}
|
|
1124
|
+
}
|
|
1125
|
+
for (const classDef of template.message_taxonomy ?? []) {
|
|
1126
|
+
const key = `taxonomy:${classDef.class}`;
|
|
1127
|
+
const currentClass = (current.message_taxonomy ?? []).find((candidate) => candidate.class === classDef.class);
|
|
1128
|
+
const currentValue = currentClass ? stableJson(currentClass) : null;
|
|
1129
|
+
const templateValue = stableJson(classDef);
|
|
1130
|
+
const kind = !currentClass ? 'add' : currentValue === templateValue ? 'unchanged' : 'conflict';
|
|
1131
|
+
taxonomy.push({ key, kind, label: `taxonomy class ${classDef.class}`, cubeValue: currentValue, templateValue });
|
|
1132
|
+
if (kind === 'add')
|
|
1133
|
+
additions.push({ key, run: async () => { await patchTaxonomyClass(cubeId, { action: 'add', class_def: classDef }, active, authority.connection); } });
|
|
1134
|
+
if (kind === 'conflict')
|
|
1135
|
+
conflictKeys.add(key);
|
|
1136
|
+
if (kind === 'conflict' && decisions?.[key] === 'accept')
|
|
1137
|
+
additions.push({ key, run: async () => { await patchTaxonomyClass(cubeId, { action: 'replace', class_def: classDef }, active, authority.connection); } });
|
|
1138
|
+
}
|
|
1139
|
+
const acceptedConflicts = [...conflictKeys].filter((key) => decisions?.[key] === 'accept');
|
|
1140
|
+
const rejectedConflicts = [...conflictKeys].filter((key) => decisions?.[key] !== 'accept');
|
|
1141
|
+
const classifiedKeys = new Set([...conflictKeys]);
|
|
1142
|
+
const unmatchedDecisions = Object.keys(decisions ?? {}).filter((key) => !classifiedKeys.has(key));
|
|
1143
|
+
const addedKeys = additions.filter(({ key }) => !conflictKeys.has(key)).map(({ key }) => key);
|
|
1144
|
+
if (apply) {
|
|
1145
|
+
for (const addition of additions) {
|
|
1146
|
+
if (conflictKeys.has(addition.key) && decisions?.[addition.key] !== 'accept')
|
|
1147
|
+
continue;
|
|
1148
|
+
await addition.run();
|
|
1149
|
+
}
|
|
1150
|
+
}
|
|
1151
|
+
return {
|
|
1152
|
+
dryRun: !apply,
|
|
1153
|
+
roles,
|
|
1154
|
+
taxonomy,
|
|
1155
|
+
applied: {
|
|
1156
|
+
added: apply ? addedKeys : [],
|
|
1157
|
+
acceptedConflicts: apply ? acceptedConflicts : [],
|
|
1158
|
+
},
|
|
1159
|
+
rejectedConflicts,
|
|
1160
|
+
unmatchedDecisions,
|
|
1161
|
+
};
|
|
1162
|
+
}
|
|
1163
|
+
function stableJson(value) {
|
|
1164
|
+
if (Array.isArray(value))
|
|
1165
|
+
return `[${value.map(stableJson).join(',')}]`;
|
|
1166
|
+
if (value !== null && typeof value === 'object') {
|
|
1167
|
+
return `{${Object.entries(value)
|
|
1168
|
+
.sort(([left], [right]) => left.localeCompare(right))
|
|
1169
|
+
.map(([key, entry]) => `${JSON.stringify(key)}:${stableJson(entry)}`)
|
|
1170
|
+
.join(',')}}`;
|
|
1171
|
+
}
|
|
1172
|
+
return JSON.stringify(value);
|
|
1173
|
+
}
|
|
1174
|
+
function addRoleScalarFragment(fragments, additions, conflictKeys, decisions, existing, template, field, label, cubeId, active, connection) {
|
|
1175
|
+
const templateValue = template[field];
|
|
1176
|
+
if (templateValue === undefined)
|
|
1177
|
+
return;
|
|
1178
|
+
const key = `role:${template.name}:${field}`;
|
|
1179
|
+
const currentValue = existing[field];
|
|
1180
|
+
const missing = currentValue === undefined || (field === 'short_description' && currentValue === '');
|
|
1181
|
+
const kind = missing ? 'add' : currentValue === templateValue ? 'unchanged' : 'conflict';
|
|
1182
|
+
fragments.push({ key, kind, label, cubeValue: missing ? null : String(currentValue), templateValue: String(templateValue) });
|
|
1183
|
+
if (kind === 'add')
|
|
1184
|
+
additions.push({
|
|
1185
|
+
key,
|
|
1186
|
+
run: async () => { await updateRole(existing.id, { [field]: templateValue }, cubeId, active, connection); },
|
|
1187
|
+
});
|
|
1188
|
+
if (kind === 'conflict') {
|
|
1189
|
+
conflictKeys.add(key);
|
|
1190
|
+
if (decisions?.[key] === 'accept')
|
|
1191
|
+
additions.push({
|
|
1192
|
+
key,
|
|
1193
|
+
run: async () => { await updateRole(existing.id, { [field]: templateValue }, cubeId, active, connection); },
|
|
1194
|
+
});
|
|
1195
|
+
}
|
|
1196
|
+
}
|
|
1197
|
+
async function applyMissingRoleFields(existing, template, cubeId, active, connection) {
|
|
1198
|
+
const updates = {};
|
|
1199
|
+
if ((existing.short_description === undefined || existing.short_description === '') && template.short_description) {
|
|
1200
|
+
updates.short_description = template.short_description;
|
|
1201
|
+
}
|
|
1202
|
+
for (const field of ['is_default', 'is_mandatory', 'is_human_seat', 'can_broadcast', 'receives_all_direct']) {
|
|
1203
|
+
if (existing[field] === undefined && template[field] !== undefined)
|
|
1204
|
+
updates[field] = template[field];
|
|
1205
|
+
}
|
|
1206
|
+
if (Object.keys(updates).length === 0)
|
|
1207
|
+
return false;
|
|
1208
|
+
await updateRole(existing.id, updates, cubeId, active, connection);
|
|
1209
|
+
return true;
|
|
1210
|
+
}
|
|
1211
|
+
async function applyMissingRoleSections(existing, template, cubeId, active, connection) {
|
|
1212
|
+
const currentSections = new Map(parseRoleSections(String(existing.detailed_description ?? '')).map((section) => [section.heading, section]));
|
|
1213
|
+
let updated = 0;
|
|
1214
|
+
for (const section of parseRoleSections(template.detailed_description)) {
|
|
1215
|
+
if (section.heading && !currentSections.has(section.heading)) {
|
|
1216
|
+
await patchRoleSection(existing.id, { action: 'insert', heading: section.heading, body: section.body }, cubeId, active, connection);
|
|
1217
|
+
updated++;
|
|
1218
|
+
}
|
|
1219
|
+
}
|
|
1220
|
+
return updated;
|
|
981
1221
|
}
|
|
982
1222
|
//# sourceMappingURL=remote-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-client.js","sourceRoot":"","sources":["../src/remote-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"remote-client.js","sourceRoot":"","sources":["../src/remote-client.ts"],"names":[],"mappings":"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"}
|