@dollhousemcp/mcp-server 2.0.30 → 2.0.32

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 (40) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/data/ensembles/welcome-to-the-dollhouse.md +94 -0
  3. package/data/personas/dollhouse-expert.md +242 -14
  4. package/data/skills/research-to-elements.md +136 -0
  5. package/dist/elements/agents/AgentManager.d.ts +8 -1
  6. package/dist/elements/agents/AgentManager.d.ts.map +1 -1
  7. package/dist/elements/agents/AgentManager.js +49 -9
  8. package/dist/elements/ensembles/EnsembleManager.d.ts +36 -0
  9. package/dist/elements/ensembles/EnsembleManager.d.ts.map +1 -1
  10. package/dist/elements/ensembles/EnsembleManager.js +94 -5
  11. package/dist/generated/version.d.ts +2 -2
  12. package/dist/generated/version.js +3 -3
  13. package/dist/handlers/mcp-aql/MCPAQLHandler.d.ts.map +1 -1
  14. package/dist/handlers/mcp-aql/MCPAQLHandler.js +31 -2
  15. package/dist/handlers/mcp-aql/OperationSchema.d.ts.map +1 -1
  16. package/dist/handlers/mcp-aql/OperationSchema.js +8 -7
  17. package/dist/handlers/mcp-aql/evaluatePermission.d.ts.map +1 -1
  18. package/dist/handlers/mcp-aql/evaluatePermission.js +6 -3
  19. package/dist/server/tools/MCPAQLTools.js +21 -5
  20. package/dist/services/BuildInfoService.d.ts +3 -1
  21. package/dist/services/BuildInfoService.d.ts.map +1 -1
  22. package/dist/services/BuildInfoService.js +27 -5
  23. package/dist/utils/permissionHookShared.d.ts +39 -0
  24. package/dist/utils/permissionHookShared.d.ts.map +1 -1
  25. package/dist/utils/permissionHookShared.js +38 -1
  26. package/dist/utils/permissionHookStatus.d.ts.map +1 -1
  27. package/dist/utils/permissionHookStatus.js +6 -2
  28. package/dist/utils/permissionHooks.d.ts +1 -1
  29. package/dist/utils/permissionHooks.d.ts.map +1 -1
  30. package/dist/utils/permissionHooks.js +2 -2
  31. package/dist/web/public/app.js +213 -12
  32. package/dist/web/public/index.html +16 -7
  33. package/dist/web/public/styles.css +229 -30
  34. package/dist/web/routes/healthRoutes.d.ts.map +1 -1
  35. package/dist/web/routes/healthRoutes.js +3 -1
  36. package/dist/web/routes/permissionRoutes.d.ts.map +1 -1
  37. package/dist/web/routes/permissionRoutes.js +10 -2
  38. package/package.json +1 -1
  39. package/scripts/pretooluse-dollhouse.sh +157 -39
  40. package/server.json +2 -2
@@ -146,12 +146,15 @@ p, li { max-width: 69ch; }
146
146
  position: sticky;
147
147
  top: 0;
148
148
  z-index: 35;
149
- display: flex;
150
- flex-wrap: wrap;
149
+ display: grid;
150
+ grid-template-columns: auto minmax(0, 1fr);
151
+ grid-template-areas:
152
+ "brand controls"
153
+ "nav nav";
151
154
  align-items: center;
152
- justify-content: space-between;
153
- gap: 1rem;
154
- padding: 0.55rem var(--gutter);
155
+ column-gap: 1rem;
156
+ row-gap: 0.12rem;
157
+ padding: 0.44rem var(--gutter) 0.4rem;
155
158
  border-bottom: 1px solid var(--line);
156
159
  background: color-mix(in srgb, var(--paper-strong) 90%, transparent);
157
160
  backdrop-filter: blur(8px);
@@ -169,8 +172,8 @@ p, li { max-width: 69ch; }
169
172
  pointer-events: none;
170
173
  }
171
174
 
172
- .header-brand { display: flex; flex-direction: row; align-items: center; gap: 0.6rem; min-width: 0; }
173
- .header-brand-text { display: flex; flex-direction: column; gap: 0.05rem; min-width: 0; }
175
+ .header-brand { grid-area: brand; display: flex; flex-direction: row; align-items: center; gap: 0.6rem; min-width: 0; min-height: 2.35rem; }
176
+ .header-brand-text { display: flex; flex-direction: column; justify-content: center; gap: 0.05rem; min-width: 0; min-height: 2.35rem; }
174
177
  .header-logo { width: 32px; height: 32px; flex-shrink: 0; }
175
178
 
176
179
  .site-title {
@@ -187,15 +190,37 @@ p, li { max-width: 69ch; }
187
190
  font-size: var(--step--1);
188
191
  color: var(--ink-700);
189
192
  max-width: none;
193
+ line-height: 1.15;
190
194
  }
191
195
 
192
- .header-right {
196
+ .header-controls {
197
+ grid-area: controls;
193
198
  display: flex;
194
199
  align-items: center;
195
200
  justify-content: flex-end;
196
201
  flex-wrap: wrap;
197
202
  gap: 0.65rem;
198
- flex: 1 1 auto;
203
+ width: auto;
204
+ max-width: 100%;
205
+ min-width: 0;
206
+ }
207
+
208
+ .header-nav-row {
209
+ grid-area: nav;
210
+ display: flex;
211
+ align-items: center;
212
+ justify-content: flex-end;
213
+ flex-wrap: nowrap;
214
+ gap: 0.55rem;
215
+ width: 100%;
216
+ min-width: 0;
217
+ }
218
+
219
+ .console-tab-menu-shell {
220
+ position: relative;
221
+ display: flex;
222
+ align-items: center;
223
+ flex-shrink: 0;
199
224
  min-width: 0;
200
225
  }
201
226
 
@@ -1346,6 +1371,85 @@ body.modal-open { overflow: hidden; }
1346
1371
  border-radius: var(--radius-sm);
1347
1372
  padding: 2px;
1348
1373
  min-width: 0;
1374
+ width: fit-content;
1375
+ max-width: 100%;
1376
+ flex-wrap: wrap;
1377
+ }
1378
+
1379
+ .console-tab-menu-toggle {
1380
+ display: none;
1381
+ align-items: center;
1382
+ gap: 0.42rem;
1383
+ border: 1px solid color-mix(in srgb, var(--signal) 24%, var(--line));
1384
+ border-radius: 999px;
1385
+ background: color-mix(in srgb, var(--surface-1) 70%, var(--paper-strong));
1386
+ color: var(--ink-700);
1387
+ font-family: var(--font-mono);
1388
+ font-size: 0.72rem;
1389
+ font-weight: 700;
1390
+ line-height: 1;
1391
+ padding: 0.48rem 0.78rem;
1392
+ cursor: pointer;
1393
+ white-space: nowrap;
1394
+ }
1395
+
1396
+ .console-tab-menu-toggle:hover,
1397
+ .console-tab-menu-toggle:focus-visible {
1398
+ background: color-mix(in srgb, var(--surface-1) 88%, var(--paper-strong));
1399
+ outline: 2px solid var(--signal);
1400
+ outline-offset: 2px;
1401
+ }
1402
+
1403
+ .console-tab-menu-icon {
1404
+ font-size: 0.95rem;
1405
+ line-height: 1;
1406
+ }
1407
+
1408
+ .console-tab-menu {
1409
+ position: absolute;
1410
+ top: calc(100% + 0.4rem);
1411
+ right: 0;
1412
+ min-width: 13rem;
1413
+ max-width: min(18rem, calc(100vw - (2 * var(--gutter, 1rem))));
1414
+ background: var(--paper-strong);
1415
+ border: 1px solid var(--line);
1416
+ border-radius: var(--radius-md);
1417
+ box-shadow: var(--shadow-soft);
1418
+ padding: 0.3rem;
1419
+ z-index: 200;
1420
+ }
1421
+
1422
+ .console-tab-menu-item {
1423
+ width: 100%;
1424
+ border: none;
1425
+ border-radius: var(--radius-sm);
1426
+ background: transparent;
1427
+ color: var(--ink-700);
1428
+ font-family: var(--font-body);
1429
+ font-size: var(--step--1);
1430
+ font-weight: 600;
1431
+ text-align: left;
1432
+ padding: 0.52rem 0.68rem;
1433
+ cursor: pointer;
1434
+ }
1435
+
1436
+ .console-tab-menu-item:hover,
1437
+ .console-tab-menu-item:focus-visible {
1438
+ background: var(--surface-1);
1439
+ outline: none;
1440
+ }
1441
+
1442
+ .console-tab-menu-item.active {
1443
+ background: color-mix(in srgb, var(--signal-2) 10%, var(--paper-strong));
1444
+ color: var(--signal);
1445
+ }
1446
+
1447
+ .header-nav-row--collapsed .console-tabs {
1448
+ display: none;
1449
+ }
1450
+
1451
+ .header-nav-row--collapsed .console-tab-menu-toggle:not([hidden]) {
1452
+ display: inline-flex;
1349
1453
  }
1350
1454
 
1351
1455
  .console-tab {
@@ -1373,41 +1477,138 @@ body.modal-open { overflow: hidden; }
1373
1477
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
1374
1478
  }
1375
1479
 
1376
- @media (max-width: 1100px) {
1480
+ @media (max-width: 960px) {
1481
+ .header-controls {
1482
+ align-items: center;
1483
+ justify-content: flex-end;
1484
+ width: auto;
1485
+ max-width: 100%;
1486
+ gap: 0.5rem;
1487
+ }
1488
+
1489
+ .site-stats {
1490
+ flex: 0 1 auto;
1491
+ width: auto;
1492
+ justify-content: flex-end;
1493
+ }
1494
+ }
1495
+
1496
+ @media (max-width: 860px) {
1377
1497
  .site-header {
1378
- align-items: flex-start;
1498
+ column-gap: 0.7rem;
1379
1499
  }
1380
1500
 
1381
- .header-right {
1382
- width: 100%;
1383
- justify-content: flex-start;
1384
- row-gap: 0.55rem;
1501
+ .header-brand {
1502
+ gap: 0.5rem;
1503
+ min-height: 0;
1385
1504
  }
1386
1505
 
1387
- .console-tabs {
1388
- order: 3;
1389
- width: 100%;
1390
- flex-wrap: wrap;
1506
+ .header-brand-text {
1507
+ min-height: 0;
1508
+ gap: 0;
1391
1509
  }
1392
1510
 
1511
+ .header-brand .site-tagline {
1512
+ display: none;
1513
+ }
1514
+
1515
+ .header-controls,
1393
1516
  .site-stats {
1394
- flex: 1 1 auto;
1395
- justify-content: flex-start;
1517
+ gap: 0.35rem;
1518
+ }
1519
+
1520
+ .header-controls {
1521
+ align-items: center;
1522
+ }
1523
+
1524
+ .stat {
1525
+ padding: 0.12rem 0.34rem;
1526
+ }
1527
+
1528
+ .stat strong {
1529
+ font-size: 0.92rem;
1530
+ }
1531
+
1532
+ .stat--session strong {
1533
+ font-size: 0.74rem;
1396
1534
  }
1397
1535
 
1398
1536
  .theme-toggle {
1399
- margin-left: auto;
1537
+ width: 1.85rem;
1538
+ height: 1.85rem;
1539
+ }
1540
+
1541
+ .console-tab {
1542
+ padding: 4px 11px;
1543
+ }
1544
+ }
1545
+
1546
+ @media (max-width: 46rem) {
1547
+ .stat--session {
1548
+ display: none;
1400
1549
  }
1401
1550
  }
1402
1551
 
1403
- @media (max-width: 640px) {
1404
- .console-tabs {
1405
- order: -1;
1552
+ @media (max-width: 28rem) {
1553
+ .site-header {
1554
+ grid-template-columns: minmax(0, 1fr) auto auto;
1555
+ grid-template-areas: "brand nav controls";
1556
+ column-gap: 0.45rem;
1557
+ }
1558
+
1559
+ .header-brand {
1560
+ gap: 0;
1561
+ min-width: 0;
1562
+ }
1563
+
1564
+ .header-logo {
1565
+ display: block;
1566
+ width: 28px;
1567
+ height: 28px;
1568
+ }
1569
+
1570
+ .header-brand-text {
1571
+ display: none;
1572
+ }
1573
+
1574
+ .site-stats {
1575
+ display: none;
1576
+ }
1577
+
1578
+ .header-controls {
1579
+ width: auto;
1580
+ justify-content: flex-end;
1581
+ }
1582
+
1583
+ .header-nav-row {
1584
+ width: auto;
1585
+ min-width: 0;
1586
+ justify-content: flex-end;
1587
+ gap: 0.4rem;
1588
+ }
1589
+ }
1590
+
1591
+ @media (max-width: 24rem) {
1592
+ .site-header {
1593
+ grid-template-columns: 1fr;
1594
+ grid-template-areas:
1595
+ "brand"
1596
+ "controls"
1597
+ "nav";
1598
+ }
1599
+
1600
+ .header-controls {
1601
+ justify-content: flex-end;
1406
1602
  width: 100%;
1407
1603
  }
1408
- .console-tab {
1409
- flex: 1;
1410
- text-align: center;
1604
+
1605
+ .site-stats {
1606
+ justify-content: flex-end;
1607
+ }
1608
+
1609
+ .header-nav-row {
1610
+ width: 100%;
1611
+ justify-content: flex-end;
1411
1612
  }
1412
1613
  }
1413
1614
 
@@ -1725,8 +1926,6 @@ fieldset.topic-filters {
1725
1926
 
1726
1927
  @media (max-width: 52rem) {
1727
1928
  .header-brand .site-tagline { display: none; }
1728
- .stat { display: none; }
1729
- .stat:first-child { display: inline-flex; }
1730
1929
  .elements-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 11.5rem), 1fr)); }
1731
1930
  .elements-grid[data-view="detail"] { grid-template-columns: 1fr; }
1732
1931
  .modal-dialog { height: calc(100vh - 0.5rem); border-radius: 0; }
@@ -1 +1 @@
1
- {"version":3,"file":"healthRoutes.d.ts","sourceRoot":"","sources":["../../../src/web/routes/healthRoutes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAGL,KAAK,0BAA0B,EAChC,MAAM,gCAAgC,CAAC;AAExC,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,aAAa,CAAC;IAC1B,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,+BAA+B,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAC;CAC5F;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CA6CvE"}
1
+ {"version":3,"file":"healthRoutes.d.ts","sourceRoot":"","sources":["../../../src/web/routes/healthRoutes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAGL,KAAK,0BAA0B,EAChC,MAAM,gCAAgC,CAAC;AAExC,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,aAAa,CAAC;IAC1B,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,+BAA+B,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAC;CAC5F;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CA+CvE"}
@@ -31,6 +31,8 @@ export function createHealthRoutes(options) {
31
31
  installedHosts: permissionHookAudit.installedHosts,
32
32
  currentHosts: permissionHookAudit.currentHosts,
33
33
  needsRepairHosts: permissionHookAudit.needsRepairHosts,
34
+ diagnosticsPath: permissionHookAudit.diagnosticsPath,
35
+ lastDiagnostic: permissionHookAudit.lastDiagnostic,
34
36
  lastStartupRepair: permissionHookAudit.lastStartupRepair,
35
37
  };
36
38
  }
@@ -46,4 +48,4 @@ export function createHealthRoutes(options) {
46
48
  });
47
49
  return router;
48
50
  }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhbHRoUm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3dlYi9yb3V0ZXMvaGVhbHRoUm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWpDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFHbEMsT0FBTyxFQUNMLDZCQUE2QixFQUM3Qiw2QkFBNkIsR0FFOUIsTUFBTSxnQ0FBZ0MsQ0FBQztBQVd4QyxNQUFNLFVBQVUsa0JBQWtCLENBQUMsT0FBNEI7SUFDN0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxFQUFFLENBQUM7SUFDeEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBRTdCLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFhLEVBQUUsR0FBYSxFQUFFLEVBQUU7UUFDM0QsTUFBTSxNQUFNLEdBQTRCO1lBQ3RDLE1BQU0sRUFBRSxJQUFJO1lBQ1osTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQ25ELElBQUksRUFBRTtnQkFDSixLQUFLLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3BDLFVBQVUsRUFBRSxPQUFPLENBQUMsY0FBYyxFQUFFO2FBQ3JDO1NBQ0YsQ0FBQztRQUVGLElBQUksT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRztnQkFDbEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFO2dCQUNyQyxVQUFVLEVBQUUsT0FBTyxDQUFDLGtCQUFrQixFQUFFO2FBQ3pDLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLCtCQUErQixJQUFJLDZCQUE2QixDQUFDLENBQzFHLE9BQU8sQ0FBQyxzQkFBc0IsSUFBSSxPQUFPLEVBQUUsQ0FDNUMsQ0FBQztZQUNGLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHO2dCQUMxQixHQUFHLDZCQUE2QixDQUFDLG1CQUFtQixDQUFDO2dCQUNyRCxjQUFjLEVBQUUsbUJBQW1CLENBQUMsY0FBYztnQkFDbEQsWUFBWSxFQUFFLG1CQUFtQixDQUFDLFlBQVk7Z0JBQzlDLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDLGdCQUFnQjtnQkFDdEQsaUJBQWlCLEVBQUUsbUJBQW1CLENBQUMsaUJBQWlCO2FBQ3pELENBQUM7UUFDSixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sT0FBTyxHQUFHLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2RSxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsVUFBVSxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHO2dCQUMxQixNQUFNLEVBQUUsT0FBTztnQkFDZixPQUFPLEVBQUUsMkNBQTJDLE9BQU8sRUFBRTthQUM5RCxDQUFDO1FBQ0osQ0FBQztRQUVELEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkIsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBIZWFsdGggQVBJIHJvdXRlIGZvciB0aGUgdW5pZmllZCBkZXYgY29uc29sZS5cbiAqXG4gKiBHRVQgL2FwaS9oZWFsdGgg4oCUIEFnZ3JlZ2F0ZWQgaGVhbHRoOiB1cHRpbWUsIHNpbmsgc3RhdHMsIFNTRSBjbGllbnQgY291bnRzXG4gKi9cblxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgdHlwZSB7IFJlcXVlc3QsIFJlc3BvbnNlIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgeyBob21lZGlyIH0gZnJvbSAnbm9kZTpvcyc7XG5pbXBvcnQgdHlwZSB7IE1lbW9yeUxvZ1NpbmsgfSBmcm9tICcuLi8uLi9sb2dnaW5nL3NpbmtzL01lbW9yeUxvZ1NpbmsuanMnO1xuaW1wb3J0IHR5cGUgeyBNZW1vcnlNZXRyaWNzU2luayB9IGZyb20gJy4uLy4uL21ldHJpY3Mvc2lua3MvTWVtb3J5TWV0cmljc1NpbmsuanMnO1xuaW1wb3J0IHtcbiAgZ2V0UGVybWlzc2lvbkhvb2tBdWRpdFN1bW1hcnksXG4gIHN1bW1hcml6ZVBlcm1pc3Npb25Ib29rSGVhbHRoLFxuICB0eXBlIFBlcm1pc3Npb25Ib29rQXVkaXRTdW1tYXJ5LFxufSBmcm9tICcuLi8uLi91dGlscy9wZXJtaXNzaW9uSG9va3MuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEhlYWx0aFJvdXRlc09wdGlvbnMge1xuICBtZW1vcnlTaW5rOiBNZW1vcnlMb2dTaW5rO1xuICBtZXRyaWNzU2luaz86IE1lbW9yeU1ldHJpY3NTaW5rO1xuICBsb2dDbGllbnRDb3VudDogKCkgPT4gbnVtYmVyO1xuICBtZXRyaWNzQ2xpZW50Q291bnQ6ICgpID0+IG51bWJlcjtcbiAgcGVybWlzc2lvbkhvb2tzSG9tZURpcj86IHN0cmluZztcbiAgZ2V0UGVybWlzc2lvbkhvb2tBdWRpdFN1bW1hcnlGbj86IChob21lRGlyOiBzdHJpbmcpID0+IFByb21pc2U8UGVybWlzc2lvbkhvb2tBdWRpdFN1bW1hcnk+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSGVhbHRoUm91dGVzKG9wdGlvbnM6IEhlYWx0aFJvdXRlc09wdGlvbnMpOiBSb3V0ZXIge1xuICBjb25zdCByb3V0ZXIgPSBSb3V0ZXIoKTtcbiAgY29uc3Qgc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcblxuICByb3V0ZXIuZ2V0KCcvaGVhbHRoJywgYXN5bmMgKF9yZXE6IFJlcXVlc3QsIHJlczogUmVzcG9uc2UpID0+IHtcbiAgICBjb25zdCBoZWFsdGg6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xuICAgICAgc3RhdHVzOiAnb2snLFxuICAgICAgdXB0aW1lOiBNYXRoLmZsb29yKChEYXRlLm5vdygpIC0gc3RhcnRUaW1lKSAvIDEwMDApLFxuICAgICAgbG9nczoge1xuICAgICAgICBzdGF0czogb3B0aW9ucy5tZW1vcnlTaW5rLmdldFN0YXRzKCksXG4gICAgICAgIHNzZUNsaWVudHM6IG9wdGlvbnMubG9nQ2xpZW50Q291bnQoKSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIGlmIChvcHRpb25zLm1ldHJpY3NTaW5rKSB7XG4gICAgICBoZWFsdGhbJ21ldHJpY3MnXSA9IHtcbiAgICAgICAgc3RhdHM6IG9wdGlvbnMubWV0cmljc1NpbmsuZ2V0U3RhdHMoKSxcbiAgICAgICAgc3NlQ2xpZW50czogb3B0aW9ucy5tZXRyaWNzQ2xpZW50Q291bnQoKSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBlcm1pc3Npb25Ib29rQXVkaXQgPSBhd2FpdCAob3B0aW9ucy5nZXRQZXJtaXNzaW9uSG9va0F1ZGl0U3VtbWFyeUZuID8/IGdldFBlcm1pc3Npb25Ib29rQXVkaXRTdW1tYXJ5KShcbiAgICAgICAgb3B0aW9ucy5wZXJtaXNzaW9uSG9va3NIb21lRGlyID8/IGhvbWVkaXIoKSxcbiAgICAgICk7XG4gICAgICBoZWFsdGhbJ3Blcm1pc3Npb25Ib29rcyddID0ge1xuICAgICAgICAuLi5zdW1tYXJpemVQZXJtaXNzaW9uSG9va0hlYWx0aChwZXJtaXNzaW9uSG9va0F1ZGl0KSxcbiAgICAgICAgaW5zdGFsbGVkSG9zdHM6IHBlcm1pc3Npb25Ib29rQXVkaXQuaW5zdGFsbGVkSG9zdHMsXG4gICAgICAgIGN1cnJlbnRIb3N0czogcGVybWlzc2lvbkhvb2tBdWRpdC5jdXJyZW50SG9zdHMsXG4gICAgICAgIG5lZWRzUmVwYWlySG9zdHM6IHBlcm1pc3Npb25Ib29rQXVkaXQubmVlZHNSZXBhaXJIb3N0cyxcbiAgICAgICAgbGFzdFN0YXJ0dXBSZXBhaXI6IHBlcm1pc3Npb25Ib29rQXVkaXQubGFzdFN0YXJ0dXBSZXBhaXIsXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBTdHJpbmcoZXJyb3IpO1xuICAgICAgaGVhbHRoWydzdGF0dXMnXSA9ICdkZWdyYWRlZCc7XG4gICAgICBoZWFsdGhbJ3Blcm1pc3Npb25Ib29rcyddID0ge1xuICAgICAgICBzdGF0dXM6ICdlcnJvcicsXG4gICAgICAgIG1lc3NhZ2U6IGBGYWlsZWQgdG8gYXVkaXQgcGVybWlzc2lvbiBob29rIHN0YXR1czogJHttZXNzYWdlfWAsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJlcy5qc29uKGhlYWx0aCk7XG4gIH0pO1xuXG4gIHJldHVybiByb3V0ZXI7XG59XG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhbHRoUm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3dlYi9yb3V0ZXMvaGVhbHRoUm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWpDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFHbEMsT0FBTyxFQUNMLDZCQUE2QixFQUM3Qiw2QkFBNkIsR0FFOUIsTUFBTSxnQ0FBZ0MsQ0FBQztBQVd4QyxNQUFNLFVBQVUsa0JBQWtCLENBQUMsT0FBNEI7SUFDN0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxFQUFFLENBQUM7SUFDeEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBRTdCLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFhLEVBQUUsR0FBYSxFQUFFLEVBQUU7UUFDM0QsTUFBTSxNQUFNLEdBQTRCO1lBQ3RDLE1BQU0sRUFBRSxJQUFJO1lBQ1osTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQ25ELElBQUksRUFBRTtnQkFDSixLQUFLLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3BDLFVBQVUsRUFBRSxPQUFPLENBQUMsY0FBYyxFQUFFO2FBQ3JDO1NBQ0YsQ0FBQztRQUVGLElBQUksT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRztnQkFDbEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFO2dCQUNyQyxVQUFVLEVBQUUsT0FBTyxDQUFDLGtCQUFrQixFQUFFO2FBQ3pDLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLCtCQUErQixJQUFJLDZCQUE2QixDQUFDLENBQzFHLE9BQU8sQ0FBQyxzQkFBc0IsSUFBSSxPQUFPLEVBQUUsQ0FDNUMsQ0FBQztZQUNGLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHO2dCQUMxQixHQUFHLDZCQUE2QixDQUFDLG1CQUFtQixDQUFDO2dCQUNyRCxjQUFjLEVBQUUsbUJBQW1CLENBQUMsY0FBYztnQkFDbEQsWUFBWSxFQUFFLG1CQUFtQixDQUFDLFlBQVk7Z0JBQzlDLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDLGdCQUFnQjtnQkFDdEQsZUFBZSxFQUFFLG1CQUFtQixDQUFDLGVBQWU7Z0JBQ3BELGNBQWMsRUFBRSxtQkFBbUIsQ0FBQyxjQUFjO2dCQUNsRCxpQkFBaUIsRUFBRSxtQkFBbUIsQ0FBQyxpQkFBaUI7YUFDekQsQ0FBQztRQUNKLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsTUFBTSxPQUFPLEdBQUcsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZFLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxVQUFVLENBQUM7WUFDOUIsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUc7Z0JBQzFCLE1BQU0sRUFBRSxPQUFPO2dCQUNmLE9BQU8sRUFBRSwyQ0FBMkMsT0FBTyxFQUFFO2FBQzlELENBQUM7UUFDSixDQUFDO1FBRUQsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuQixDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEhlYWx0aCBBUEkgcm91dGUgZm9yIHRoZSB1bmlmaWVkIGRldiBjb25zb2xlLlxuICpcbiAqIEdFVCAvYXBpL2hlYWx0aCDigJQgQWdncmVnYXRlZCBoZWFsdGg6IHVwdGltZSwgc2luayBzdGF0cywgU1NFIGNsaWVudCBjb3VudHNcbiAqL1xuXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCB0eXBlIHsgUmVxdWVzdCwgUmVzcG9uc2UgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCB7IGhvbWVkaXIgfSBmcm9tICdub2RlOm9zJztcbmltcG9ydCB0eXBlIHsgTWVtb3J5TG9nU2luayB9IGZyb20gJy4uLy4uL2xvZ2dpbmcvc2lua3MvTWVtb3J5TG9nU2luay5qcyc7XG5pbXBvcnQgdHlwZSB7IE1lbW9yeU1ldHJpY3NTaW5rIH0gZnJvbSAnLi4vLi4vbWV0cmljcy9zaW5rcy9NZW1vcnlNZXRyaWNzU2luay5qcyc7XG5pbXBvcnQge1xuICBnZXRQZXJtaXNzaW9uSG9va0F1ZGl0U3VtbWFyeSxcbiAgc3VtbWFyaXplUGVybWlzc2lvbkhvb2tIZWFsdGgsXG4gIHR5cGUgUGVybWlzc2lvbkhvb2tBdWRpdFN1bW1hcnksXG59IGZyb20gJy4uLy4uL3V0aWxzL3Blcm1pc3Npb25Ib29rcy5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVhbHRoUm91dGVzT3B0aW9ucyB7XG4gIG1lbW9yeVNpbms6IE1lbW9yeUxvZ1Npbms7XG4gIG1ldHJpY3NTaW5rPzogTWVtb3J5TWV0cmljc1Npbms7XG4gIGxvZ0NsaWVudENvdW50OiAoKSA9PiBudW1iZXI7XG4gIG1ldHJpY3NDbGllbnRDb3VudDogKCkgPT4gbnVtYmVyO1xuICBwZXJtaXNzaW9uSG9va3NIb21lRGlyPzogc3RyaW5nO1xuICBnZXRQZXJtaXNzaW9uSG9va0F1ZGl0U3VtbWFyeUZuPzogKGhvbWVEaXI6IHN0cmluZykgPT4gUHJvbWlzZTxQZXJtaXNzaW9uSG9va0F1ZGl0U3VtbWFyeT47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVIZWFsdGhSb3V0ZXMob3B0aW9uczogSGVhbHRoUm91dGVzT3B0aW9ucyk6IFJvdXRlciB7XG4gIGNvbnN0IHJvdXRlciA9IFJvdXRlcigpO1xuICBjb25zdCBzdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuXG4gIHJvdXRlci5nZXQoJy9oZWFsdGgnLCBhc3luYyAoX3JlcTogUmVxdWVzdCwgcmVzOiBSZXNwb25zZSkgPT4ge1xuICAgIGNvbnN0IGhlYWx0aDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gICAgICBzdGF0dXM6ICdvaycsXG4gICAgICB1cHRpbWU6IE1hdGguZmxvb3IoKERhdGUubm93KCkgLSBzdGFydFRpbWUpIC8gMTAwMCksXG4gICAgICBsb2dzOiB7XG4gICAgICAgIHN0YXRzOiBvcHRpb25zLm1lbW9yeVNpbmsuZ2V0U3RhdHMoKSxcbiAgICAgICAgc3NlQ2xpZW50czogb3B0aW9ucy5sb2dDbGllbnRDb3VudCgpLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgaWYgKG9wdGlvbnMubWV0cmljc1NpbmspIHtcbiAgICAgIGhlYWx0aFsnbWV0cmljcyddID0ge1xuICAgICAgICBzdGF0czogb3B0aW9ucy5tZXRyaWNzU2luay5nZXRTdGF0cygpLFxuICAgICAgICBzc2VDbGllbnRzOiBvcHRpb25zLm1ldHJpY3NDbGllbnRDb3VudCgpLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcGVybWlzc2lvbkhvb2tBdWRpdCA9IGF3YWl0IChvcHRpb25zLmdldFBlcm1pc3Npb25Ib29rQXVkaXRTdW1tYXJ5Rm4gPz8gZ2V0UGVybWlzc2lvbkhvb2tBdWRpdFN1bW1hcnkpKFxuICAgICAgICBvcHRpb25zLnBlcm1pc3Npb25Ib29rc0hvbWVEaXIgPz8gaG9tZWRpcigpLFxuICAgICAgKTtcbiAgICAgIGhlYWx0aFsncGVybWlzc2lvbkhvb2tzJ10gPSB7XG4gICAgICAgIC4uLnN1bW1hcml6ZVBlcm1pc3Npb25Ib29rSGVhbHRoKHBlcm1pc3Npb25Ib29rQXVkaXQpLFxuICAgICAgICBpbnN0YWxsZWRIb3N0czogcGVybWlzc2lvbkhvb2tBdWRpdC5pbnN0YWxsZWRIb3N0cyxcbiAgICAgICAgY3VycmVudEhvc3RzOiBwZXJtaXNzaW9uSG9va0F1ZGl0LmN1cnJlbnRIb3N0cyxcbiAgICAgICAgbmVlZHNSZXBhaXJIb3N0czogcGVybWlzc2lvbkhvb2tBdWRpdC5uZWVkc1JlcGFpckhvc3RzLFxuICAgICAgICBkaWFnbm9zdGljc1BhdGg6IHBlcm1pc3Npb25Ib29rQXVkaXQuZGlhZ25vc3RpY3NQYXRoLFxuICAgICAgICBsYXN0RGlhZ25vc3RpYzogcGVybWlzc2lvbkhvb2tBdWRpdC5sYXN0RGlhZ25vc3RpYyxcbiAgICAgICAgbGFzdFN0YXJ0dXBSZXBhaXI6IHBlcm1pc3Npb25Ib29rQXVkaXQubGFzdFN0YXJ0dXBSZXBhaXIsXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBTdHJpbmcoZXJyb3IpO1xuICAgICAgaGVhbHRoWydzdGF0dXMnXSA9ICdkZWdyYWRlZCc7XG4gICAgICBoZWFsdGhbJ3Blcm1pc3Npb25Ib29rcyddID0ge1xuICAgICAgICBzdGF0dXM6ICdlcnJvcicsXG4gICAgICAgIG1lc3NhZ2U6IGBGYWlsZWQgdG8gYXVkaXQgcGVybWlzc2lvbiBob29rIHN0YXR1czogJHttZXNzYWdlfWAsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJlcy5qc29uKGhlYWx0aCk7XG4gIH0pO1xuXG4gIHJldHVybiByb3V0ZXI7XG59XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"permissionRoutes.d.ts","sourceRoot":"","sources":["../../../src/web/routes/permissionRoutes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAgB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAG1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AA8V7E;;;GAGG;AACH,MAAM,WAAW,+BAA+B;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,+BAAoC,GAC5C,IAAI,CA6PN"}
1
+ {"version":3,"file":"permissionRoutes.d.ts","sourceRoot":"","sources":["../../../src/web/routes/permissionRoutes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAgB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAG1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAgW7E;;;GAGG;AACH,MAAM,WAAW,+BAA+B;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,+BAAoC,GAC5C,IAAI,CAqQN"}