@software-dlc/cli 0.165.2 → 0.166.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cli-org.d.ts.map +1 -1
  3. package/dist/cli-org.js +65 -62
  4. package/dist/cli-org.js.map +1 -1
  5. package/dist/local/app-org-reader.d.ts +8 -0
  6. package/dist/local/app-org-reader.d.ts.map +1 -1
  7. package/dist/local/app-org-reader.js +77 -11
  8. package/dist/local/app-org-reader.js.map +1 -1
  9. package/dist/local/app-queues.d.ts.map +1 -1
  10. package/dist/local/app-queues.js +8 -7
  11. package/dist/local/app-queues.js.map +1 -1
  12. package/dist/local/local-org-store.d.ts +8 -0
  13. package/dist/local/local-org-store.d.ts.map +1 -1
  14. package/dist/local/local-org-store.js +9 -1
  15. package/dist/local/local-org-store.js.map +1 -1
  16. package/dist/local/local-org.d.ts +9 -5
  17. package/dist/local/local-org.d.ts.map +1 -1
  18. package/dist/local/local-org.js +44 -33
  19. package/dist/local/local-org.js.map +1 -1
  20. package/dist/local/org-change.d.ts +90 -0
  21. package/dist/local/org-change.d.ts.map +1 -0
  22. package/dist/local/org-change.js +169 -0
  23. package/dist/local/org-change.js.map +1 -0
  24. package/dist/local/workspace-cli.d.ts +8 -4
  25. package/dist/local/workspace-cli.d.ts.map +1 -1
  26. package/dist/local/workspace-cli.js +10 -6
  27. package/dist/local/workspace-cli.js.map +1 -1
  28. package/dist/local/workspace-viewer-server.d.ts +5 -0
  29. package/dist/local/workspace-viewer-server.d.ts.map +1 -1
  30. package/dist/local/workspace-viewer-server.js +34 -4
  31. package/dist/local/workspace-viewer-server.js.map +1 -1
  32. package/package.json +1 -1
  33. package/viewer/assets/index-C7Yy02Wd.js +292 -0
  34. package/viewer/assets/index-DL11ZUBq.css +1 -0
  35. package/viewer/index.html +2 -2
  36. package/viewer/assets/index-BZKGDARF.css +0 -1
  37. package/viewer/assets/index-DigEC27q.js +0 -287
@@ -1,8 +1,9 @@
1
1
  import { type OrgHolderRules, type OrgMember, type OrgSlotOverride, type OrgStructure } from '@software-dlc/graph/computation';
2
2
  import type { PortableGraph } from '@software-dlc/graph/types';
3
- import type { LocalOrgHolder } from './local-org-store.js';
3
+ import { OrgRefusal, type LocalOrgHolder } from './local-org-store.js';
4
4
  import { LocalWorkspaceGraphStore } from './workspace-graph-store.js';
5
5
  import { LocalWorkspaceStore } from './workspace-store.js';
6
+ export { OrgRefusal };
6
7
  /**
7
8
  * The local org (org-structure-and-access.md, Local org without an org
8
9
  * connection; osa-local-org): a workspace with no org connection plans a
@@ -165,22 +166,25 @@ export declare function resolveLocalSlots(graph: PortableGraph, holders: readonl
165
166
  /** The whole local org: definitions, posts with their holders and lines, members' positions, and slots. */
166
167
  export declare function describeLocalOrg(graph: PortableGraph, holders: readonly LocalOrgHolder[], rules: OrgHolderRules): {
167
168
  teams: {
169
+ parent: string | null;
170
+ description?: string;
168
171
  key: string;
169
172
  label: string;
170
- parent: string | null;
171
173
  }[];
172
174
  job_functions: {
173
- key: string;
174
- label: string;
175
175
  parent: string | null;
176
176
  fills: string[];
177
177
  requires_person: boolean;
178
178
  escalable: boolean;
179
+ description?: string;
180
+ key: string;
181
+ label: string;
179
182
  }[];
180
183
  slots: {
184
+ gate: boolean;
185
+ description?: string;
181
186
  key: string;
182
187
  label: string;
183
- gate: boolean;
184
188
  }[];
185
189
  posts: {
186
190
  post: string;
@@ -1 +1 @@
1
- {"version":3,"file":"local-org.d.ts","sourceRoot":"","sources":["../../src/local/local-org.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-org.d.ts","sourceRoot":"","sources":["../../src/local/local-org.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,10 @@ import { join } from 'node:path';
5
5
  import { accountablePerson, checkBinding, checkHold, checkRelease, escalate, gateBoundPosts, governingPosts, mayGovern, positionLines, readOrgStructure, reportingLine, resolveSlot, resolveSlots, slotBinding, slotBindings } from '@software-dlc/graph/computation';
6
6
  import { validateGovernanceNodes } from '@software-dlc/graph/validator';
7
7
  import { gitCommonDir, locateRepository } from './app-shell-readers.js';
8
+ import { OrgRefusal } from './local-org-store.js';
8
9
  import { LocalWorkspaceGraphStore, resolveLocalRepositoryStateDirectory } from './workspace-graph-store.js';
9
10
  import { LocalWorkspaceStore } from './workspace-store.js';
11
+ export { OrgRefusal };
10
12
  /**
11
13
  * The local org (org-structure-and-access.md, Local org without an org
12
14
  * connection; osa-local-org): a workspace with no org connection plans a
@@ -143,6 +145,12 @@ function labelOf(node) {
143
145
  ?.label;
144
146
  return typeof label === 'string' ? label : '';
145
147
  }
148
+ /** A definition's description, as `description` when it has one. */
149
+ function describedBy(node) {
150
+ const description = node?.data?.data
151
+ ?.description;
152
+ return typeof description === 'string' && description ? { description } : {};
153
+ }
146
154
  function findByKey(graph, type, key) {
147
155
  return graph.nodes.find((node) => node.type === type && keyOf(node) === key);
148
156
  }
@@ -154,23 +162,23 @@ const NOUN = {
154
162
  function requireByKey(graph, type, key) {
155
163
  const node = findByKey(graph, type, key);
156
164
  if (!node)
157
- throw new Error(`The local org has no ${NOUN[type]} ${key}.`);
165
+ throw new OrgRefusal(`The local org has no ${NOUN[type]} ${key}.`);
158
166
  return node;
159
167
  }
160
168
  /** Refuses a graph the governance validator reports broken, naming each problem. */
161
169
  function checked(graph) {
162
170
  const broken = validateGovernanceNodes(graph.nodes, graph.edges).filter((issue) => issue.status === 'broken');
163
171
  if (broken.length) {
164
- throw new Error(`The local org would be invalid: ${broken.map((issue) => issue.message).join('; ')}.`);
172
+ throw new OrgRefusal(`The local org would be invalid: ${broken.map((issue) => issue.message).join('; ')}.`);
165
173
  }
166
174
  return graph;
167
175
  }
168
176
  function withDefinition(graph, type, key, build) {
169
177
  if (!KEY.test(key)) {
170
- throw new Error(`${key} is not a key: use lowercase letters, digits, _ and -, starting with a letter.`);
178
+ throw new OrgRefusal(`${key} is not a key: use lowercase letters, digits, _ and -, starting with a letter.`);
171
179
  }
172
180
  if (findByKey(graph, type, key))
173
- throw new Error(`The local org already has a ${NOUN[type]} ${key}.`);
181
+ throw new OrgRefusal(`The local org already has a ${NOUN[type]} ${key}.`);
174
182
  const added = build();
175
183
  return checked({
176
184
  ...graph,
@@ -229,7 +237,7 @@ export function postName(graph, structure, post_id) {
229
237
  function splitPostName(name) {
230
238
  const parts = name.split('/');
231
239
  if (parts.length !== 2 || !parts[0] || !parts[1]) {
232
- throw new Error(`${name} is not a post: name it <team>/<function>.`);
240
+ throw new OrgRefusal(`${name} is not a post: name it <team>/<function>.`);
233
241
  }
234
242
  return [parts[0], parts[1]];
235
243
  }
@@ -240,7 +248,7 @@ export function postIdOf(graph, structure, name) {
240
248
  const job = requireByKey(graph, 'job_function', function_key);
241
249
  const post = [...structure.posts.values()].find((entry) => entry.team_id === team.id && entry.function_id === job.id);
242
250
  if (!post)
243
- throw new Error(`The local org has no post ${name}: add it with sdlc org add post ${name}.`);
251
+ throw new OrgRefusal(`The local org has no post ${name}: add it with sdlc org add post ${name}.`);
244
252
  return post.id;
245
253
  }
246
254
  export function addPost(graph, input) {
@@ -249,7 +257,7 @@ export function addPost(graph, input) {
249
257
  const job = requireByKey(graph, 'job_function', function_key);
250
258
  const structure = readOrgStructure(graph.nodes, graph.edges);
251
259
  if ([...structure.posts.values()].some((post) => post.team_id === team.id && post.function_id === job.id)) {
252
- throw new Error(`The local org already has a post ${input.name}.`);
260
+ throw new OrgRefusal(`The local org already has a post ${input.name}.`);
253
261
  }
254
262
  const node = {
255
263
  id: randomUUID(),
@@ -290,7 +298,7 @@ function parentWithin(graph, type, node, key) {
290
298
  const seen = new Set();
291
299
  for (let at = parent; at && !seen.has(at.id); at = at.parentId ? byId.get(at.parentId) : undefined) {
292
300
  if (at.id === node.id) {
293
- throw new Error(at === parent
301
+ throw new OrgRefusal(at === parent
294
302
  ? `A ${NOUN[type]} cannot be its own parent.`
295
303
  : `${NOUN[type]} ${key} is under ${keyOf(node)}, so it cannot be its parent: that would make a loop.`);
296
304
  }
@@ -305,10 +313,10 @@ function editDefinition(graph, type, key, edit, typed = {}, fills) {
305
313
  edit.parent === undefined &&
306
314
  !Object.keys(typed).length &&
307
315
  fills === undefined) {
308
- throw new Error(`Nothing to change: sdlc org edit ${CLI_KIND[type]} ${key} takes ${EDIT_FLAGS[type]}.`);
316
+ throw new OrgRefusal(`Nothing to change: sdlc org edit ${CLI_KIND[type]} ${key} takes ${EDIT_FLAGS[type]}.`);
309
317
  }
310
318
  if (edit.label !== undefined && !edit.label.trim()) {
311
- throw new Error('A label cannot be empty.');
319
+ throw new OrgRefusal('A label cannot be empty.');
312
320
  }
313
321
  const parent_id = edit.parent === undefined || edit.parent === null || type === 'slot'
314
322
  ? edit.parent
@@ -445,7 +453,7 @@ export function removeDefinition(graph, type, key, rows) {
445
453
  ...(rows ? rowNeeds(structure, node.id, rows) : [])
446
454
  ];
447
455
  if (needs.length)
448
- throw new Error(needsText(`${NOUN[type]} ${key}`, needs));
456
+ throw new OrgRefusal(needsText(`${NOUN[type]} ${key}`, needs));
449
457
  return withoutNode(graph, node.id);
450
458
  }
451
459
  /** Removes a post nobody holds and no override names, with its instantiates edge. */
@@ -454,7 +462,7 @@ export function removePost(graph, name, rows) {
454
462
  const post_id = postIdOf(graph, structure, name);
455
463
  const needs = rows ? rowNeeds(structure, post_id, rows) : [];
456
464
  if (needs.length)
457
- throw new Error(needsText(`post ${name}`, needs));
465
+ throw new OrgRefusal(needsText(`post ${name}`, needs));
458
466
  return withoutNode(graph, post_id);
459
467
  }
460
468
  /**
@@ -473,7 +481,7 @@ export function assertRowsKept(before, after, rows) {
473
481
  const what = was.posts.has(node.id)
474
482
  ? `post ${postName(before, was, node.id)}`
475
483
  : `${NOUN[node.type] ?? node.type} ${keyOf(node) ?? node.id}`;
476
- throw new Error(needsText(what, needs));
484
+ throw new OrgRefusal(needsText(what, needs));
477
485
  }
478
486
  }
479
487
  /**
@@ -496,7 +504,7 @@ export function assertHoldersKeepRules(graph, holders, rules) {
496
504
  }
497
505
  if (!broken.size)
498
506
  return;
499
- throw new Error(`Refused: ${[...broken]
507
+ throw new OrgRefusal(`Refused: ${[...broken]
500
508
  .flatMap(([post_id, refusals]) => [...refusals].map((refusal) => refusalText(graph, structure, post_id, refusal)))
501
509
  .join('; ')}; change who holds it first.`);
502
510
  }
@@ -523,16 +531,16 @@ function refusalText(graph, structure, post_id, refusal) {
523
531
  */
524
532
  export function assertMayHold(graph, holders, post_id, member, rules) {
525
533
  if (!MEMBER_ID.test(member.id)) {
526
- throw new Error(`${member.id} is not a member id: use lowercase letters, digits, _ and -, starting with a letter.`);
534
+ throw new OrgRefusal(`${member.id} is not a member id: use lowercase letters, digits, _ and -, starting with a letter.`);
527
535
  }
528
536
  const other = holders.find((holder) => holder.member.id === member.id && holder.member.kind !== member.kind);
529
537
  if (other) {
530
- throw new Error(`${member.id} already holds a post as ${other.member.kind === 'person' ? 'a person' : 'an agent'}.`);
538
+ throw new OrgRefusal(`${member.id} already holds a post as ${other.member.kind === 'person' ? 'a person' : 'an agent'}.`);
531
539
  }
532
540
  const structure = readOrgStructure(graph.nodes, graph.edges);
533
541
  const refusals = checkHold(structure, holders, post_id, member, rules);
534
542
  if (refusals.length) {
535
- throw new Error(`Refused: ${refusals.map((refusal) => refusalText(graph, structure, post_id, refusal)).join('; ')}.`);
543
+ throw new OrgRefusal(`Refused: ${refusals.map((refusal) => refusalText(graph, structure, post_id, refusal)).join('; ')}.`);
536
544
  }
537
545
  }
538
546
  export function assertMayRelease(graph, holders, post_id, member, rules) {
@@ -540,11 +548,11 @@ export function assertMayRelease(graph, holders, post_id, member, rules) {
540
548
  if (!holders.some((holder) => holder.post_id === post_id &&
541
549
  holder.member.id === member.id &&
542
550
  holder.member.kind === member.kind)) {
543
- throw new Error(`${member.id} does not hold ${postName(graph, structure, post_id)}.`);
551
+ throw new OrgRefusal(`${member.id} does not hold ${postName(graph, structure, post_id)}.`);
544
552
  }
545
553
  const refusals = checkRelease(structure, holders, post_id, member.id, rules);
546
554
  if (refusals.length) {
547
- throw new Error(`Refused: ${refusals.map((refusal) => refusalText(graph, structure, post_id, refusal)).join('; ')}.`);
555
+ throw new OrgRefusal(`Refused: ${refusals.map((refusal) => refusalText(graph, structure, post_id, refusal)).join('; ')}.`);
548
556
  }
549
557
  }
550
558
  /**
@@ -559,7 +567,7 @@ export function assertOneHolderWithReports(graph, holders) {
559
567
  .filter((holder) => holder.post_id === post.id)
560
568
  .map((holder) => `${holder.member.kind}:${holder.member.id}`)).size > 1);
561
569
  if (crowded.length) {
562
- throw new Error(`Refused: a post with reports has one holder per team, and ${crowded
570
+ throw new OrgRefusal(`Refused: a post with reports has one holder per team, and ${crowded
563
571
  .map((post) => postName(graph, structure, post.id))
564
572
  .join(', ')} would have reports with several holders; release all but one first.`);
565
573
  }
@@ -576,7 +584,7 @@ export const ORG_LEAD = 'org-lead';
576
584
  */
577
585
  export function seedLocalOrg(workflow, org, held_since = new Date().toISOString()) {
578
586
  if (workflow.roles.some((role) => role.key === ORG_LEAD)) {
579
- throw new Error(`The workflow has a role ${ORG_LEAD}, which the seed keeps for the org's top function; rename it to seed.`);
587
+ throw new OrgRefusal(`The workflow has a role ${ORG_LEAD}, which the seed keeps for the org's top function; rename it to seed.`);
580
588
  }
581
589
  const team = keyFromName(org.name);
582
590
  let graph = addTeam(emptyGraph(), { key: team, label: org.name });
@@ -683,11 +691,13 @@ export function describeLocalOrg(graph, holders, rules) {
683
691
  teams: [...structure.teams.values()].map((team) => ({
684
692
  key: team.key,
685
693
  label: labelOf(nodes.get(team.id)),
694
+ ...describedBy(nodes.get(team.id)),
686
695
  parent: keyFor(team.parent_id)
687
696
  })),
688
697
  job_functions: [...structure.functions.values()].map((job) => ({
689
698
  key: job.key,
690
699
  label: labelOf(nodes.get(job.id)),
700
+ ...describedBy(nodes.get(job.id)),
691
701
  parent: keyFor(job.parent_id),
692
702
  fills: job.fills.map((id) => structure.slots.get(id)?.key ?? id),
693
703
  requires_person: job.requires_person,
@@ -696,6 +706,7 @@ export function describeLocalOrg(graph, holders, rules) {
696
706
  slots: [...structure.slots.values()].map((slot) => ({
697
707
  key: slot.key,
698
708
  label: labelOf(nodes.get(slot.id)),
709
+ ...describedBy(nodes.get(slot.id)),
699
710
  gate: rules.gate_slot_ids?.has(slot.id) ?? false
700
711
  })),
701
712
  posts: [...structure.posts.values()].map((post) => ({
@@ -834,7 +845,7 @@ export function onOrg(graph, starts_org) {
834
845
  if (graph)
835
846
  return graph;
836
847
  if (!starts_org)
837
- throw new Error(NO_ORG);
848
+ throw new OrgRefusal(NO_ORG);
838
849
  return emptyGraph();
839
850
  }
840
851
  /**
@@ -845,13 +856,13 @@ export function onOrg(graph, starts_org) {
845
856
  export async function changeLocalHolder(repository, input) {
846
857
  const root = repository.store.org.root(LOCAL_ORG_ID);
847
858
  if (!root)
848
- throw new Error(NO_ORG);
859
+ throw new OrgRefusal(NO_ORG);
849
860
  const graph = await repository.graphs.readGraph(root);
850
861
  const structure = readOrgStructure(graph.nodes, graph.edges);
851
862
  const post_id = postIdOf(graph, structure, input.post);
852
863
  return repository.store.org.write(() => {
853
864
  if (repository.store.org.root(LOCAL_ORG_ID) !== root) {
854
- throw new Error('The local org changed while this command ran; run it again.');
865
+ throw new OrgRefusal('The local org changed while this command ran; run it again.');
855
866
  }
856
867
  const holders = repository.store.org.holders(LOCAL_ORG_ID);
857
868
  const rules = localOrgRules(graph, input.workflow, repository.store.org.overrides(LOCAL_ORG_ID));
@@ -884,7 +895,7 @@ export function projectTeamId(structure, stored) {
884
895
  const owner = projectOwner(structure, stored);
885
896
  if ('team_id' in owner)
886
897
  return owner.team_id;
887
- throw new Error(owner.roots.length
898
+ throw new OrgRefusal(owner.roots.length
888
899
  ? `The local org has several root teams (${owner.roots.join(', ')}): name the repository's owning team with sdlc org own <team>.`
889
900
  : 'The local org has no team yet: add one with sdlc org add team <key>.');
890
901
  }
@@ -904,7 +915,7 @@ export function projectOwner(structure, stored) {
904
915
  export function parseMember(text) {
905
916
  const [kind, id, ...rest] = text.split(':');
906
917
  if ((kind !== 'person' && kind !== 'agent') || !id || rest.length) {
907
- throw new Error(`${text} is not a member: name it person:<id> or agent:<id>.`);
918
+ throw new OrgRefusal(`${text} is not a member: name it person:<id> or agent:<id>.`);
908
919
  }
909
920
  return { id, kind };
910
921
  }
@@ -1005,7 +1016,7 @@ function assertMayGovern(graph, structure, holders, team_id, actor) {
1005
1016
  if (mayGovern(structure, holders, team_id, actor))
1006
1017
  return;
1007
1018
  const posts = governingPosts(structure, team_id).map((id) => postName(graph, structure, id));
1008
- throw new Error(`Refused: ${memberText(actor)} holds no post that governs team ${structure.teams.get(team_id)?.key}'s projects; ${posts.length
1019
+ throw new OrgRefusal(`Refused: ${memberText(actor)} holds no post that governs team ${structure.teams.get(team_id)?.key}'s projects; ${posts.length
1009
1020
  ? `a holder of ${posts.join(' or ')} decides`
1010
1021
  : 'the team and its parents have no post to govern them'}.`);
1011
1022
  }
@@ -1022,18 +1033,18 @@ function bindingRefusalText(slot, refusal) {
1022
1033
  export async function changeLocalBinding(repository, input) {
1023
1034
  const root = repository.store.org.root(LOCAL_ORG_ID);
1024
1035
  if (!root)
1025
- throw new Error(NO_ORG);
1036
+ throw new OrgRefusal(NO_ORG);
1026
1037
  const graph = await repository.graphs.readGraph(root);
1027
1038
  const structure = readOrgStructure(graph.nodes, graph.edges);
1028
1039
  const slot_id = requireByKey(graph, 'slot', input.slot).id;
1029
1040
  const post_ids = input.posts?.map((name) => postIdOf(graph, structure, name));
1030
1041
  const reason = input.reason?.trim();
1031
1042
  if (post_ids && !reason) {
1032
- throw new Error('Give the reason for the override with --reason <text>: an override is reported with it.');
1043
+ throw new OrgRefusal('Give the reason for the override with --reason <text>: an override is reported with it.');
1033
1044
  }
1034
1045
  return repository.store.org.write(() => {
1035
1046
  if (repository.store.org.root(LOCAL_ORG_ID) !== root) {
1036
- throw new Error('The local org changed while this command ran; run it again.');
1047
+ throw new OrgRefusal('The local org changed while this command ran; run it again.');
1037
1048
  }
1038
1049
  const holders = repository.store.org.holders(LOCAL_ORG_ID);
1039
1050
  const project_team = repository.store.org.projectTeam(LOCAL_ORG_ID);
@@ -1044,7 +1055,7 @@ export async function changeLocalBinding(repository, input) {
1044
1055
  if (post_ids) {
1045
1056
  const refusals = checkBinding(structure, holders, slot_id, post_ids, rules);
1046
1057
  if (refusals.length) {
1047
- throw new Error(`Refused: ${refusals.map((refusal) => bindingRefusalText(input.slot, refusal)).join('; ')}.`);
1058
+ throw new OrgRefusal(`Refused: ${refusals.map((refusal) => bindingRefusalText(input.slot, refusal)).join('; ')}.`);
1048
1059
  }
1049
1060
  repository.store.org.setOverride(LOCAL_ORG_ID, {
1050
1061
  slot_id,
@@ -1077,13 +1088,13 @@ export async function changeLocalBinding(repository, input) {
1077
1088
  export async function setLocalProjectTeam(repository, input) {
1078
1089
  const root = repository.store.org.root(LOCAL_ORG_ID);
1079
1090
  if (!root)
1080
- throw new Error(NO_ORG);
1091
+ throw new OrgRefusal(NO_ORG);
1081
1092
  const graph = await repository.graphs.readGraph(root);
1082
1093
  const structure = readOrgStructure(graph.nodes, graph.edges);
1083
1094
  const team_id = requireByKey(graph, 'team', input.team).id;
1084
1095
  return repository.store.org.write(() => {
1085
1096
  if (repository.store.org.root(LOCAL_ORG_ID) !== root) {
1086
- throw new Error('The local org changed while this command ran; run it again.');
1097
+ throw new OrgRefusal('The local org changed while this command ran; run it again.');
1087
1098
  }
1088
1099
  const holders = repository.store.org.holders(LOCAL_ORG_ID);
1089
1100
  const stored = repository.store.org.projectTeam(LOCAL_ORG_ID);
@@ -1 +1 @@
1
- {"version":3,"file":"local-org.js","sourceRoot":"","sources":["../../src/local/local-org.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-org.js","sourceRoot":"","sources":["../../src/local/local-org.ts"],"names":[],"mappings":"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"}