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.
@@ -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 localManageRequest(active, path, method, operation, payload, decodePayload) {
190
- const connection = await localManageConnection(active, operation);
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
- localUnsupported('roster liveness filtering');
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 { drones: composed.drones, roles: composed.roles, message_taxonomy: null };
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
- void name;
711
- void cubeDirective;
712
- void opts;
713
- void connection;
714
- localUnsupported('cube creation');
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
- assertUuidShape(active.cubeId, 'cube_id');
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/${active.cubeId}/roles/${roleId}`, 'PATCH', {
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
- assertUuidShape(active.cubeId, 'cube_id');
851
- const result = await localManageRequest(active, `/api/cubes/${active.cubeId}/roles/${roleId}/section-patch`, 'POST', {
852
- operation: `${op.action} section ${manageCopyValue(op.heading)} ${op.action === 'delete' ? 'from' : 'in'} role ${manageCopyValue(roleId)} in cube ${manageCopyValue(active.name)}`,
853
- cubeName: active.name,
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
- void cubeId;
961
- void templateName;
962
- localUnsupported('template application');
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
- void cubeId;
977
- void templateName;
978
- void apply;
979
- void decisions;
980
- localUnsupported('role synchronization');
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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"}