@serve.zone/dcrouter 17.2.4 → 17.4.0

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 (113) hide show
  1. package/deno.json +1 -1
  2. package/dist_serve/bundle.js +2024 -1758
  3. package/dist_ts/00_commitinfo_data.js +1 -1
  4. package/dist_ts/classes.dcrouter.d.ts +11 -1
  5. package/dist_ts/classes.dcrouter.js +63 -3
  6. package/dist_ts/config/classes.api-token-manager.d.ts +20 -2
  7. package/dist_ts/config/classes.api-token-manager.js +201 -6
  8. package/dist_ts/config/classes.gateway-client-manager.d.ts +36 -2
  9. package/dist_ts/config/classes.gateway-client-manager.js +391 -27
  10. package/dist_ts/db/documents/classes.api-token.doc.d.ts +2 -1
  11. package/dist_ts/db/documents/classes.api-token.doc.js +8 -2
  12. package/dist_ts/db/documents/classes.cached.email.d.ts +10 -1
  13. package/dist_ts/db/documents/classes.cached.email.js +27 -2
  14. package/dist_ts/db/documents/classes.gateway-client.doc.d.ts +25 -0
  15. package/dist_ts/db/documents/classes.gateway-client.doc.js +73 -2
  16. package/dist_ts/db/documents/classes.ops-config-event.doc.d.ts +55 -0
  17. package/dist_ts/db/documents/classes.ops-config-event.doc.js +296 -0
  18. package/dist_ts/db/documents/index.d.ts +1 -0
  19. package/dist_ts/db/documents/index.js +2 -1
  20. package/dist_ts/dns/classes.gateway-route-dns-reconciler.d.ts +52 -0
  21. package/dist_ts/dns/classes.gateway-route-dns-reconciler.js +609 -0
  22. package/dist_ts/dns/index.d.ts +1 -0
  23. package/dist_ts/dns/index.js +2 -1
  24. package/dist_ts/dns/manager.dns.d.ts +19 -0
  25. package/dist_ts/dns/manager.dns.js +25 -1
  26. package/dist_ts/email/classes.accepted-email-spool.d.ts +8 -1
  27. package/dist_ts/email/classes.accepted-email-spool.js +93 -1
  28. package/dist_ts/email/classes.smartmta-storage-manager.d.ts +7 -1
  29. package/dist_ts/email/classes.smartmta-storage-manager.js +46 -1
  30. package/dist_ts/email/smartmta-storage-policy.js +3 -1
  31. package/dist_ts/monitoring/classes.ops-event-manager.d.ts +32 -0
  32. package/dist_ts/monitoring/classes.ops-event-manager.js +71 -0
  33. package/dist_ts/monitoring/index.d.ts +1 -0
  34. package/dist_ts/monitoring/index.js +2 -1
  35. package/dist_ts/opsserver/classes.opsserver.d.ts +1 -0
  36. package/dist_ts/opsserver/classes.opsserver.js +3 -1
  37. package/dist_ts/opsserver/handlers/certificate.handler.d.ts +1 -0
  38. package/dist_ts/opsserver/handlers/certificate.handler.js +35 -5
  39. package/dist_ts/opsserver/handlers/config-event.handler.d.ts +12 -0
  40. package/dist_ts/opsserver/handlers/config-event.handler.js +47 -0
  41. package/dist_ts/opsserver/handlers/dns-record.handler.d.ts +1 -0
  42. package/dist_ts/opsserver/handlers/dns-record.handler.js +82 -3
  43. package/dist_ts/opsserver/handlers/email-ops.handler.d.ts +6 -0
  44. package/dist_ts/opsserver/handlers/email-ops.handler.js +40 -9
  45. package/dist_ts/opsserver/handlers/gatewayclient.handler.d.ts +9 -1
  46. package/dist_ts/opsserver/handlers/gatewayclient.handler.js +714 -162
  47. package/dist_ts/opsserver/handlers/index.d.ts +1 -0
  48. package/dist_ts/opsserver/handlers/index.js +2 -1
  49. package/dist_ts/opsserver/helpers/gateway-client-auth.d.ts +25 -0
  50. package/dist_ts/opsserver/helpers/gateway-client-auth.js +168 -0
  51. package/dist_ts/plugins.d.ts +2 -1
  52. package/dist_ts/plugins.js +3 -2
  53. package/dist_ts_apiclient/classes.gatewayclient.d.ts +13 -1
  54. package/dist_ts_apiclient/classes.gatewayclient.js +18 -2
  55. package/dist_ts_interfaces/data/config-events.d.ts +34 -0
  56. package/dist_ts_interfaces/data/config-events.js +8 -0
  57. package/dist_ts_interfaces/data/index.d.ts +1 -0
  58. package/dist_ts_interfaces/data/index.js +2 -1
  59. package/dist_ts_interfaces/data/route-management.d.ts +28 -1
  60. package/dist_ts_interfaces/data/route-management.js +3 -1
  61. package/dist_ts_interfaces/data/workhoster.d.ts +1 -0
  62. package/dist_ts_interfaces/requests/config-events.d.ts +35 -0
  63. package/dist_ts_interfaces/requests/config-events.js +4 -0
  64. package/dist_ts_interfaces/requests/index.d.ts +1 -0
  65. package/dist_ts_interfaces/requests/index.js +2 -1
  66. package/dist_ts_interfaces/requests/realtime.d.ts +1 -1
  67. package/dist_ts_interfaces/requests/realtime.js +2 -1
  68. package/dist_ts_migrations/index.js +148 -9
  69. package/dist_ts_web/00_commitinfo_data.js +1 -1
  70. package/dist_ts_web/appstate/config-events.d.ts +19 -0
  71. package/dist_ts_web/appstate/config-events.js +68 -0
  72. package/dist_ts_web/appstate/runtime.js +7 -1
  73. package/dist_ts_web/appstate.d.ts +1 -0
  74. package/dist_ts_web/appstate.js +2 -1
  75. package/dist_ts_web/elements/ops-platform-events.d.ts +21 -0
  76. package/dist_ts_web/elements/ops-platform-events.js +361 -0
  77. package/dist_ts_web/elements/ops-view-logs.d.ts +4 -0
  78. package/dist_ts_web/elements/ops-view-logs.js +96 -9
  79. package/package.json +4 -4
  80. package/readme.plan.md +22 -0
  81. package/ts/00_commitinfo_data.ts +1 -1
  82. package/ts/classes.dcrouter.ts +72 -2
  83. package/ts/config/classes.api-token-manager.ts +237 -4
  84. package/ts/config/classes.gateway-client-manager.ts +463 -19
  85. package/ts/db/documents/classes.api-token.doc.ts +8 -1
  86. package/ts/db/documents/classes.cached.email.ts +21 -1
  87. package/ts/db/documents/classes.gateway-client.doc.ts +86 -0
  88. package/ts/db/documents/classes.ops-config-event.doc.ts +257 -0
  89. package/ts/db/documents/index.ts +1 -0
  90. package/ts/dns/classes.gateway-route-dns-reconciler.ts +801 -0
  91. package/ts/dns/index.ts +1 -0
  92. package/ts/dns/manager.dns.ts +36 -0
  93. package/ts/email/classes.accepted-email-spool.ts +111 -0
  94. package/ts/email/classes.smartmta-storage-manager.ts +57 -1
  95. package/ts/email/smartmta-storage-policy.ts +2 -0
  96. package/ts/monitoring/classes.ops-event-manager.ts +99 -0
  97. package/ts/monitoring/index.ts +2 -1
  98. package/ts/opsserver/classes.opsserver.ts +2 -0
  99. package/ts/opsserver/handlers/certificate.handler.ts +51 -4
  100. package/ts/opsserver/handlers/config-event.handler.ts +62 -0
  101. package/ts/opsserver/handlers/dns-record.handler.ts +101 -2
  102. package/ts/opsserver/handlers/email-ops.handler.ts +42 -8
  103. package/ts/opsserver/handlers/gatewayclient.handler.ts +804 -136
  104. package/ts/opsserver/handlers/index.ts +1 -0
  105. package/ts/opsserver/helpers/gateway-client-auth.ts +198 -0
  106. package/ts/plugins.ts +2 -0
  107. package/ts_apiclient/classes.gatewayclient.ts +45 -0
  108. package/ts_web/00_commitinfo_data.ts +1 -1
  109. package/ts_web/appstate/config-events.ts +98 -0
  110. package/ts_web/appstate/runtime.ts +8 -1
  111. package/ts_web/appstate.ts +1 -0
  112. package/ts_web/elements/ops-platform-events.ts +315 -0
  113. package/ts_web/elements/ops-view-logs.ts +84 -7
@@ -0,0 +1,68 @@
1
+ import * as plugins from '../plugins.js';
2
+ import * as interfaces from '../../dist_ts_interfaces/index.js';
3
+ import { appState } from './shared.js';
4
+ import { getActionContext } from './login.js';
5
+ export const configEventStatePart = await appState.getStatePart('configEvents', {
6
+ events: [],
7
+ total: 0,
8
+ unacknowledgedCount: 0,
9
+ nextCursor: undefined,
10
+ showAcknowledged: false,
11
+ isLoading: false,
12
+ }, 'soft');
13
+ export const fetchConfigEventsAction = configEventStatePart.createAction(async (statePartArg, dataArg) => {
14
+ const context = getActionContext();
15
+ const currentState = statePartArg.getState();
16
+ if (!context.identity)
17
+ return currentState;
18
+ const showAcknowledged = dataArg?.showAcknowledged ?? currentState.showAcknowledged;
19
+ const listRequest = new plugins.domtools.plugins.typedrequest.TypedRequest('/typedrequest', 'listConfigEvents');
20
+ const response = await listRequest.fire({
21
+ identity: context.identity,
22
+ acknowledged: showAcknowledged ? undefined : false,
23
+ limit: 200,
24
+ cursor: dataArg?.cursor,
25
+ });
26
+ const append = dataArg?.append === true && Boolean(dataArg.cursor);
27
+ const events = append
28
+ ? Array.from(new Map([
29
+ ...currentState.events,
30
+ ...(response.events || []),
31
+ ].map((eventArg) => [eventArg.id, eventArg])).values())
32
+ : response.events || [];
33
+ return {
34
+ ...currentState,
35
+ events,
36
+ total: response.total || 0,
37
+ unacknowledgedCount: response.unacknowledgedCount || 0,
38
+ nextCursor: response.nextCursor,
39
+ showAcknowledged,
40
+ isLoading: false,
41
+ };
42
+ });
43
+ export const acknowledgeConfigEventsAction = configEventStatePart.createAction(async (statePartArg, dataArg) => {
44
+ const context = getActionContext();
45
+ const currentState = statePartArg.getState();
46
+ if (!context.identity || dataArg.ids.length === 0)
47
+ return currentState;
48
+ const ackRequest = new plugins.domtools.plugins.typedrequest.TypedRequest('/typedrequest', 'acknowledgeConfigEvents');
49
+ await ackRequest.fire({
50
+ identity: context.identity,
51
+ ids: dataArg.ids,
52
+ });
53
+ const listRequest = new plugins.domtools.plugins.typedrequest.TypedRequest('/typedrequest', 'listConfigEvents');
54
+ const response = await listRequest.fire({
55
+ identity: context.identity,
56
+ acknowledged: currentState.showAcknowledged ? undefined : false,
57
+ limit: 200,
58
+ });
59
+ return {
60
+ ...currentState,
61
+ events: response.events || [],
62
+ total: response.total || 0,
63
+ unacknowledgedCount: response.unacknowledgedCount || 0,
64
+ nextCursor: response.nextCursor,
65
+ isLoading: false,
66
+ };
67
+ });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWV2ZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RzX3dlYi9hcHBzdGF0ZS9jb25maWctZXZlbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxVQUFVLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFXOUMsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxRQUFRLENBQUMsWUFBWSxDQUM3RCxjQUFjLEVBQ2Q7SUFDRSxNQUFNLEVBQUUsRUFBRTtJQUNWLEtBQUssRUFBRSxDQUFDO0lBQ1IsbUJBQW1CLEVBQUUsQ0FBQztJQUN0QixVQUFVLEVBQUUsU0FBUztJQUNyQixnQkFBZ0IsRUFBRSxLQUFLO0lBQ3ZCLFNBQVMsRUFBRSxLQUFLO0NBQ2pCLEVBQ0QsTUFBTSxDQUNQLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxvQkFBb0IsQ0FBQyxZQUFZLENBSTlELEtBQUssRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUE4QixFQUFFO0lBQ3BFLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixFQUFFLENBQUM7SUFDbkMsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLFFBQVEsRUFBRyxDQUFDO0lBQzlDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUTtRQUFFLE9BQU8sWUFBWSxDQUFDO0lBRTNDLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxFQUFFLGdCQUFnQixJQUFJLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNwRixNQUFNLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBRXhFLGVBQWUsRUFBRSxrQkFBa0Is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
@@ -33,6 +33,7 @@ const resourceRefreshGroups = {
33
33
  routes: 'routes',
34
34
  edges: 'edges',
35
35
  certificates: 'certificates',
36
+ configEvents: 'configEvents',
36
37
  };
37
38
  const refreshRealtimeGroup = async (groupArg) => {
38
39
  switch (groupArg) {
@@ -62,6 +63,11 @@ const refreshRealtimeGroup = async (groupArg) => {
62
63
  case 'certificates':
63
64
  await certificateStatePart.dispatchAction(fetchCertificateOverviewAction, null);
64
65
  break;
66
+ case 'configEvents': {
67
+ const { configEventStatePart, fetchConfigEventsAction } = await import('./config-events.js');
68
+ await configEventStatePart.dispatchAction(fetchConfigEventsAction, null);
69
+ break;
70
+ }
65
71
  }
66
72
  };
67
73
  const runRealtimeRefreshLoop = async () => {
@@ -403,4 +409,4 @@ startAutoRefresh();
403
409
  if (loginStatePart.getState().isLoggedIn) {
404
410
  connectSocket();
405
411
  }
406
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RzX3dlYi9hcHBzdGF0ZS9ydW50aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxVQUFVLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1QyxPQUFPLEVBQUUsWUFBWSxFQUFrQixNQUFNLFdBQVcsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHlCQUF5QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsOEJBQThCLEVBQzlCLDhCQUE4QixHQUMvQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQ0ws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
412
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RzX3dlYi9hcHBzdGF0ZS9ydW50aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxVQUFVLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1QyxPQUFPLEVBQUUsWUFBWSxFQUFrQixNQUFNLFdBQVcsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHlCQUF5QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsOEJBQThCLEVBQzlCLDhCQUE4QixHQUMvQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQ0ws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
@@ -3,6 +3,7 @@ export * from './appstate/login.js';
3
3
  export * from './appstate/stats.js';
4
4
  export * from './appstate/config.js';
5
5
  export * from './appstate/logs.js';
6
+ export * from './appstate/config-events.js';
6
7
  export * from './appstate/network.js';
7
8
  export * from './appstate/security.js';
8
9
  export * from './appstate/ui.js';
@@ -5,6 +5,7 @@ export * from './appstate/login.js';
5
5
  export * from './appstate/stats.js';
6
6
  export * from './appstate/config.js';
7
7
  export * from './appstate/logs.js';
8
+ export * from './appstate/config-events.js';
8
9
  export * from './appstate/network.js';
9
10
  export * from './appstate/security.js';
10
11
  export * from './appstate/ui.js';
@@ -22,4 +23,4 @@ export * from './appstate/email-domains.js';
22
23
  export * from './appstate/realtime.js';
23
24
  // Side-effect module: auto-refresh scheduling and TypedSocket log streaming.
24
25
  import './appstate/runtime.js';
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwc3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvYXBwc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkVBQTJFO0FBQzNFLHFFQUFxRTtBQUNyRSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsd0JBQXdCLENBQUM7QUFFdkMsNkVBQTZFO0FBQzdFLE9BQU8sdUJBQXVCLENBQUMifQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwc3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvYXBwc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkVBQTJFO0FBQzNFLHFFQUFxRTtBQUNyRSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx3QkFBd0IsQ0FBQztBQUV2Qyw2RUFBNkU7QUFDN0UsT0FBTyx1QkFBdUIsQ0FBQyJ9
@@ -0,0 +1,21 @@
1
+ import * as appstate from '../appstate.js';
2
+ import { DeesElement } from '@design.estate/dees-element';
3
+ /**
4
+ * Acknowledgeable inbox for platform configuration events (config conflicts,
5
+ * not application runtime errors) — rendered as a sub-view of the Logs section.
6
+ */
7
+ export declare class OpsPlatformEvents extends DeesElement {
8
+ accessor eventState: appstate.IConfigEventState;
9
+ accessor expandedIds: Set<string>;
10
+ private refreshTimer;
11
+ constructor();
12
+ connectedCallback(): Promise<void>;
13
+ disconnectedCallback(): Promise<void>;
14
+ static styles: import("@design.estate/dees-element").CSSResult[];
15
+ render(): import("@design.estate/dees-element").TemplateResult<1>;
16
+ private renderEvent;
17
+ private toggleExpanded;
18
+ private setShowAcknowledged;
19
+ private loadMore;
20
+ private acknowledge;
21
+ }
@@ -0,0 +1,361 @@
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
34
+ };
35
+ import * as appstate from '../appstate.js';
36
+ import * as interfaces from '../../dist_ts_interfaces/index.js';
37
+ import { DeesElement, customElement, html, state, css, cssManager, } from '@design.estate/dees-element';
38
+ /**
39
+ * Acknowledgeable inbox for platform configuration events (config conflicts,
40
+ * not application runtime errors) — rendered as a sub-view of the Logs section.
41
+ */
42
+ let OpsPlatformEvents = (() => {
43
+ let _classDecorators = [customElement('ops-platform-events')];
44
+ let _classDescriptor;
45
+ let _classExtraInitializers = [];
46
+ let _classThis;
47
+ let _classSuper = DeesElement;
48
+ let _eventState_decorators;
49
+ let _eventState_initializers = [];
50
+ let _eventState_extraInitializers = [];
51
+ let _expandedIds_decorators;
52
+ let _expandedIds_initializers = [];
53
+ let _expandedIds_extraInitializers = [];
54
+ var OpsPlatformEvents = class extends _classSuper {
55
+ static { _classThis = this; }
56
+ static {
57
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
58
+ _eventState_decorators = [state()];
59
+ _expandedIds_decorators = [state()];
60
+ __esDecorate(this, null, _eventState_decorators, { kind: "accessor", name: "eventState", static: false, private: false, access: { has: obj => "eventState" in obj, get: obj => obj.eventState, set: (obj, value) => { obj.eventState = value; } }, metadata: _metadata }, _eventState_initializers, _eventState_extraInitializers);
61
+ __esDecorate(this, null, _expandedIds_decorators, { kind: "accessor", name: "expandedIds", static: false, private: false, access: { has: obj => "expandedIds" in obj, get: obj => obj.expandedIds, set: (obj, value) => { obj.expandedIds = value; } }, metadata: _metadata }, _expandedIds_initializers, _expandedIds_extraInitializers);
62
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
63
+ OpsPlatformEvents = _classThis = _classDescriptor.value;
64
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
65
+ }
66
+ #eventState_accessor_storage = __runInitializers(this, _eventState_initializers, appstate.configEventStatePart.getState());
67
+ get eventState() { return this.#eventState_accessor_storage; }
68
+ set eventState(value) { this.#eventState_accessor_storage = value; }
69
+ #expandedIds_accessor_storage = (__runInitializers(this, _eventState_extraInitializers), __runInitializers(this, _expandedIds_initializers, new Set()));
70
+ get expandedIds() { return this.#expandedIds_accessor_storage; }
71
+ set expandedIds(value) { this.#expandedIds_accessor_storage = value; }
72
+ refreshTimer = (__runInitializers(this, _expandedIds_extraInitializers), null);
73
+ constructor() {
74
+ super();
75
+ const subscription = appstate.configEventStatePart
76
+ .select((stateArg) => stateArg)
77
+ .subscribe((eventState) => {
78
+ this.eventState = eventState;
79
+ });
80
+ this.rxSubscriptions.push(subscription);
81
+ }
82
+ async connectedCallback() {
83
+ super.connectedCallback();
84
+ await appstate.configEventStatePart.dispatchAction(appstate.fetchConfigEventsAction, null);
85
+ this.refreshTimer = setInterval(() => {
86
+ void appstate.configEventStatePart.dispatchAction(appstate.fetchConfigEventsAction, null);
87
+ }, 30_000);
88
+ }
89
+ async disconnectedCallback() {
90
+ await super.disconnectedCallback();
91
+ if (this.refreshTimer) {
92
+ clearInterval(this.refreshTimer);
93
+ this.refreshTimer = null;
94
+ }
95
+ }
96
+ static styles = [
97
+ cssManager.defaultStyles,
98
+ css `
99
+ :host {
100
+ display: block;
101
+ }
102
+
103
+ .toolbar {
104
+ display: flex;
105
+ align-items: center;
106
+ gap: 12px;
107
+ margin-bottom: 12px;
108
+ }
109
+
110
+ .toolbar .spacer {
111
+ flex: 1;
112
+ }
113
+
114
+ .toggleButton,
115
+ .ackButton,
116
+ .loadMoreButton {
117
+ border: 1px solid var(--dees-color-border-default);
118
+ background: transparent;
119
+ color: var(--dees-color-text-secondary);
120
+ border-radius: 6px;
121
+ padding: 4px 10px;
122
+ font-size: 12px;
123
+ cursor: pointer;
124
+ transition: all 0.15s ease;
125
+ }
126
+
127
+ .toggleButton:hover,
128
+ .ackButton:hover,
129
+ .loadMoreButton:hover {
130
+ background: var(--dees-color-hover);
131
+ color: var(--dees-color-text-primary);
132
+ }
133
+
134
+ .toggleButton.active {
135
+ border-color: var(--dees-color-border-strong);
136
+ color: var(--dees-color-text-primary);
137
+ }
138
+
139
+ .eventList {
140
+ display: flex;
141
+ flex-direction: column;
142
+ gap: 8px;
143
+ }
144
+
145
+ .eventCard {
146
+ border: 1px solid var(--dees-color-border-subtle);
147
+ border-radius: 8px;
148
+ background: ${cssManager.bdTheme('#ffffff', '#111113')};
149
+ }
150
+
151
+ .eventHeader {
152
+ display: flex;
153
+ align-items: center;
154
+ gap: 10px;
155
+ padding: 10px 12px;
156
+ cursor: pointer;
157
+ }
158
+
159
+ .severityBadge {
160
+ font-size: 11px;
161
+ font-weight: 600;
162
+ padding: 2px 8px;
163
+ border-radius: 4px;
164
+ text-transform: uppercase;
165
+ letter-spacing: 0.02em;
166
+ flex-shrink: 0;
167
+ }
168
+
169
+ .severityBadge.error {
170
+ background: ${cssManager.bdTheme('rgba(220, 38, 38, 0.1)', 'rgba(220, 38, 38, 0.2)')};
171
+ color: ${cssManager.bdTheme('#dc2626', '#f87171')};
172
+ }
173
+
174
+ .severityBadge.warning {
175
+ background: ${cssManager.bdTheme('rgba(217, 119, 6, 0.1)', 'rgba(217, 119, 6, 0.2)')};
176
+ color: ${cssManager.bdTheme('#d97706', '#fbbf24')};
177
+ }
178
+
179
+ .categoryChip {
180
+ font-size: 11px;
181
+ padding: 2px 8px;
182
+ border-radius: 4px;
183
+ background: ${cssManager.bdTheme('#eef2ff', '#1e1b4b')};
184
+ color: ${cssManager.bdTheme('#4338ca', '#a5b4fc')};
185
+ flex-shrink: 0;
186
+ }
187
+
188
+ .eventTitle {
189
+ flex: 1;
190
+ font-size: 13px;
191
+ color: var(--dees-color-text-primary);
192
+ min-width: 0;
193
+ overflow: hidden;
194
+ text-overflow: ellipsis;
195
+ white-space: nowrap;
196
+ }
197
+
198
+ .eventTime {
199
+ font-size: 11px;
200
+ color: var(--dees-color-text-muted);
201
+ flex-shrink: 0;
202
+ }
203
+
204
+ .ackState {
205
+ font-size: 11px;
206
+ color: var(--dees-color-text-muted);
207
+ flex-shrink: 0;
208
+ }
209
+
210
+ .eventBody {
211
+ border-top: 1px solid var(--dees-color-border-subtle);
212
+ padding: 10px 12px;
213
+ font-size: 12px;
214
+ color: var(--dees-color-text-secondary);
215
+ display: flex;
216
+ flex-direction: column;
217
+ gap: 8px;
218
+ }
219
+
220
+ .contextGrid {
221
+ display: grid;
222
+ grid-template-columns: max-content 1fr;
223
+ gap: 4px 16px;
224
+ font-family: monospace;
225
+ font-size: 12px;
226
+ }
227
+
228
+ .contextKey {
229
+ color: var(--dees-color-text-muted);
230
+ }
231
+
232
+ .contextValue {
233
+ color: var(--dees-color-text-primary);
234
+ word-break: break-all;
235
+ }
236
+
237
+ .emptyState {
238
+ padding: 24px;
239
+ text-align: center;
240
+ font-size: 13px;
241
+ color: var(--dees-color-text-muted);
242
+ border: 1px dashed var(--dees-color-border-subtle);
243
+ border-radius: 8px;
244
+ }
245
+
246
+ .pageFooter {
247
+ display: flex;
248
+ justify-content: center;
249
+ align-items: center;
250
+ gap: 12px;
251
+ padding: 14px 0 4px;
252
+ font-size: 12px;
253
+ color: var(--dees-color-text-muted);
254
+ }
255
+ `,
256
+ ];
257
+ render() {
258
+ const events = this.eventState.events;
259
+ return html `
260
+ <div class="toolbar">
261
+ <button
262
+ class="toggleButton ${this.eventState.showAcknowledged ? '' : 'active'}"
263
+ @click=${() => this.setShowAcknowledged(false)}
264
+ >Unacknowledged (${this.eventState.unacknowledgedCount})</button>
265
+ <button
266
+ class="toggleButton ${this.eventState.showAcknowledged ? 'active' : ''}"
267
+ @click=${() => this.setShowAcknowledged(true)}
268
+ >All</button>
269
+ <div class="spacer"></div>
270
+ ${events.some((eventArg) => !eventArg.acknowledgedAt) ? html `
271
+ <button class="ackButton" @click=${() => this.acknowledge(events.filter((eventArg) => !eventArg.acknowledgedAt).map((eventArg) => eventArg.id))}>
272
+ Acknowledge all shown
273
+ </button>
274
+ ` : ''}
275
+ </div>
276
+
277
+ ${events.length === 0 ? html `
278
+ <div class="emptyState">
279
+ ${this.eventState.showAcknowledged
280
+ ? 'No platform configuration events recorded.'
281
+ : 'No unacknowledged platform configuration events.'}
282
+ </div>
283
+ ` : html `
284
+ <div class="eventList">
285
+ ${events.map((eventArg) => this.renderEvent(eventArg))}
286
+ </div>
287
+ `}
288
+ ${events.length > 0 ? html `
289
+ <div class="pageFooter">
290
+ <span>Showing ${events.length} of ${this.eventState.total}</span>
291
+ ${this.eventState.nextCursor ? html `<button class="loadMoreButton" @click=${() => this.loadMore()}>Load more</button>` : ''}
292
+ </div>
293
+ ` : ''}
294
+ `;
295
+ }
296
+ renderEvent(eventArg) {
297
+ const expanded = this.expandedIds.has(eventArg.id);
298
+ const contextEntries = Object.entries(eventArg.context || {}).filter(([, value]) => value);
299
+ return html `
300
+ <div class="eventCard">
301
+ <div class="eventHeader" @click=${() => this.toggleExpanded(eventArg.id)}>
302
+ <span class="severityBadge ${eventArg.severity}">${eventArg.severity}</span>
303
+ <span class="categoryChip">${eventArg.category}</span>
304
+ <span class="eventTitle">${eventArg.title}</span>
305
+ <span class="eventTime">${new Date(eventArg.createdAt).toLocaleString()}</span>
306
+ ${eventArg.acknowledgedAt
307
+ ? html `<span class="ackState">acknowledged by ${eventArg.acknowledgedBy || 'unknown'}</span>`
308
+ : html `<button class="ackButton" @click=${(clickEvent) => { clickEvent.stopPropagation(); this.acknowledge([eventArg.id]); }}>Acknowledge</button>`}
309
+ </div>
310
+ ${expanded ? html `
311
+ <div class="eventBody">
312
+ <div>${eventArg.detail}</div>
313
+ ${contextEntries.length > 0 ? html `
314
+ <div class="contextGrid">
315
+ ${contextEntries.map(([key, value]) => html `
316
+ <span class="contextKey">${key}</span>
317
+ <span class="contextValue">${value}</span>
318
+ `)}
319
+ </div>
320
+ ` : ''}
321
+ </div>
322
+ ` : ''}
323
+ </div>
324
+ `;
325
+ }
326
+ toggleExpanded(id) {
327
+ const next = new Set(this.expandedIds);
328
+ if (next.has(id)) {
329
+ next.delete(id);
330
+ }
331
+ else {
332
+ next.add(id);
333
+ }
334
+ this.expandedIds = next;
335
+ }
336
+ async setShowAcknowledged(showAcknowledged) {
337
+ await appstate.configEventStatePart.dispatchAction(appstate.fetchConfigEventsAction, {
338
+ showAcknowledged,
339
+ });
340
+ }
341
+ async loadMore() {
342
+ if (!this.eventState.nextCursor)
343
+ return;
344
+ await appstate.configEventStatePart.dispatchAction(appstate.fetchConfigEventsAction, {
345
+ cursor: this.eventState.nextCursor,
346
+ append: true,
347
+ });
348
+ }
349
+ async acknowledge(ids) {
350
+ await appstate.configEventStatePart.dispatchAction(appstate.acknowledgeConfigEventsAction, {
351
+ ids,
352
+ });
353
+ }
354
+ static {
355
+ __runInitializers(_classThis, _classExtraInitializers);
356
+ }
357
+ };
358
+ return OpsPlatformEvents = _classThis;
359
+ })();
360
+ export { OpsPlatformEvents };
361
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BzLXBsYXRmb3JtLWV2ZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy9vcHMtcGxhdGZvcm0tZXZlbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUssUUFBUSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sS0FBSyxVQUFVLE1BQU0sOEJBQThCLENBQUM7QUFFM0QsT0FBTyxFQUNMLFdBQVcsRUFDWCxhQUFhLEVBQ2IsSUFBSSxFQUNKLEtBQUssRUFDTCxHQUFHLEVBQ0gsVUFBVSxHQUNYLE1BQU0sNkJBQTZCLENBQUM7QUFFckM7OztHQUdHO0lBRVUsaUJBQWlCOzRCQUQ3QixhQUFhLENBQUMscUJBQXFCLENBQUM7Ozs7c0JBQ0UsV0FBVzs7Ozs7OztpQ0FBbkIsU0FBUSxXQUFXOzs7O3NDQUMvQyxLQUFLLEVBQUU7dUNBR1AsS0FBSyxFQUFFO1lBRlIsbUxBQVMsVUFBVSw2QkFBVixVQUFVLCtGQUF5RTtZQUc1RixzTEFBUyxXQUFXLDZCQUFYLFdBQVcsaUdBQTBCO1lBTGhELDZLQXlTQzs7OztRQXZTQyxpRkFBa0QsUUFBUSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRyxFQUFDO1FBQTVGLElBQVMsVUFBVSxnREFBeUU7UUFBNUYsSUFBUyxVQUFVLHNEQUF5RTtRQUc1Riw0SUFBb0MsSUFBSSxHQUFHLEVBQUUsR0FBQztRQUE5QyxJQUFTLFdBQVcsaURBQTBCO1FBQTlDLElBQVMsV0FBVyx1REFBMEI7UUFFdEMsWUFBWSw2REFBMEMsSUFBSSxFQUFDO1FBRW5FO1lBQ0UsS0FBSyxFQUFFLENBQUM7WUFDUixNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsb0JBQW9CO2lCQUMvQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQztpQkFDOUIsU0FBUyxDQUFDLENBQUMs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
@@ -1,11 +1,15 @@
1
1
  import * as appstate from '../appstate.js';
2
+ import './ops-platform-events.js';
2
3
  import { DeesElement } from '@design.estate/dees-element';
3
4
  export declare class OpsViewLogs extends DeesElement {
4
5
  accessor logState: appstate.ILogState;
6
+ accessor activeTab: 'application' | 'platform';
7
+ accessor unacknowledgedCount: number;
5
8
  private lastPushedCount;
6
9
  constructor();
7
10
  static styles: import("@design.estate/dees-element").CSSResult[];
8
11
  render(): import("@design.estate/dees-element").TemplateResult<1>;
12
+ private switchTab;
9
13
  connectedCallback(): Promise<void>;
10
14
  updated(changedProperties: Map<string, any>): Promise<void>;
11
15
  private pushLogsToChart;