@adonis-agora/durable 1.0.0-rc.10 → 1.0.0-rc.11

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 (61) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/commands/durable_worker.d.ts +3 -3
  3. package/dist/commands/durable_worker.js +7 -7
  4. package/dist/commands/durable_worker.js.map +1 -1
  5. package/dist/providers/dashboard_provider.d.ts +5 -5
  6. package/dist/providers/dashboard_provider.d.ts.map +1 -1
  7. package/dist/providers/dashboard_provider.js +18 -18
  8. package/dist/providers/dashboard_provider.js.map +1 -1
  9. package/dist/providers/durable_provider.js +30 -30
  10. package/dist/providers/durable_provider.js.map +1 -1
  11. package/dist/src/config_types.d.ts +12 -12
  12. package/dist/src/config_types.d.ts.map +1 -1
  13. package/dist/src/dashboard/diagnostics-recorder.d.ts +1 -1
  14. package/dist/src/dashboard/diagnostics-recorder.js +1 -1
  15. package/dist/src/dashboard/gateway-adapter.d.ts +6 -6
  16. package/dist/src/dashboard/gateway-adapter.d.ts.map +1 -1
  17. package/dist/src/dashboard/gateway-adapter.js +5 -5
  18. package/dist/src/dashboard/gateway-adapter.js.map +1 -1
  19. package/dist/src/dashboard/handlers.d.ts +4 -4
  20. package/dist/src/dashboard/handlers.d.ts.map +1 -1
  21. package/dist/src/dashboard/handlers.js +5 -4
  22. package/dist/src/dashboard/handlers.js.map +1 -1
  23. package/dist/src/dashboard/index.d.ts +2 -2
  24. package/dist/src/dashboard/index.d.ts.map +1 -1
  25. package/dist/src/dashboard/index.js +2 -2
  26. package/dist/src/dashboard/index.js.map +1 -1
  27. package/dist/src/dashboard/openapi.js +1 -1
  28. package/dist/src/dashboard/openapi.js.map +1 -1
  29. package/dist/src/define_config.d.ts +10 -12
  30. package/dist/src/define_config.d.ts.map +1 -1
  31. package/dist/src/define_config.js +9 -4
  32. package/dist/src/define_config.js.map +1 -1
  33. package/dist/src/engine.d.ts +1 -1
  34. package/dist/src/engine.js +1 -1
  35. package/dist/src/engine.js.map +1 -1
  36. package/dist/src/index.d.ts +1 -1
  37. package/dist/src/index.js +1 -1
  38. package/dist/src/interfaces.d.ts +2 -2
  39. package/dist/src/interfaces.d.ts.map +1 -1
  40. package/dist/src/role_bindings.d.ts +8 -8
  41. package/dist/src/role_bindings.js +8 -8
  42. package/dist/src/run-gateway/interface.d.ts +4 -3
  43. package/dist/src/run-gateway/interface.d.ts.map +1 -1
  44. package/dist/src/run-gateway/proxy-run-gateway.d.ts +1 -1
  45. package/dist/src/run-gateway/proxy-run-gateway.js +1 -1
  46. package/dist/src/run-gateway/run-request-responder.d.ts +1 -1
  47. package/dist/src/run-gateway/store-run-gateway.d.ts +4 -4
  48. package/dist/src/run-gateway/store-run-gateway.d.ts.map +1 -1
  49. package/dist/src/run-gateway/store-run-gateway.js +4 -4
  50. package/dist/src/run-gateway/store-run-gateway.js.map +1 -1
  51. package/dist/src/services/main.d.ts +3 -3
  52. package/dist/src/services/main.js +6 -6
  53. package/dist/src/services/main.js.map +1 -1
  54. package/dist/src/transports/bullmq/bullmq-transport.d.ts +1 -1
  55. package/dist/src/transports/bullmq/bullmq-transport.js +1 -1
  56. package/dist/src/transports/queue.d.ts +2 -2
  57. package/dist/src/transports/queue.d.ts.map +1 -1
  58. package/dist/src/transports/queue.js +5 -5
  59. package/dist/src/transports/queue.js.map +1 -1
  60. package/package.json +1 -1
  61. package/skills/durable-cluster/SKILL.md +26 -18
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @adonis-agora/durable
2
2
 
3
+ ## 1.0.0-rc.11
4
+
5
+ ### Major Changes
6
+
7
+ - [#501](https://github.com/DavideCarvalho/adonis-agora-durable/pull/501) [`7a4df4a`](https://github.com/DavideCarvalho/adonis-agora-durable/commit/7a4df4aab1b1af3f3e638a404ce2ac974f097a01) Thanks [@DavideCarvalho](https://github.com/DavideCarvalho)! - **Breaking: the config's `role` is renamed to `topology`**, with the same values (`'standalone' | 'control-plane' | 'tenant'`), the same default (`'standalone'`) and the same behaviour. No alias: a `role` key in `config/durable.ts` is now a type error, and `defineConfig` throws at boot instead of silently booting it as `standalone`. `role` is reserved across Agora for the split-deployment axis (`'all' | 'api' | 'worker'`); durable covers that with `drive`, `consumers` and `worker.embedded`.
8
+
9
+ - `StandaloneConfig`, `ControlPlaneConfig` and `TenantConfig` are discriminated on `topology`; `defineConfig` defaults `topology` to `'standalone'`.
10
+ - `StoreRunGateway`'s option is `{ topology }` (was `{ role }`).
11
+ - `dashboardEngineForRole` (from `@adonis-agora/durable/dashboard`) is renamed `dashboardEngineForTopology`.
12
+ - The optional `Transport.useTenantRole()` hook is renamed `useTenantTopology()`; a custom transport that implements it must rename it.
13
+ - `durable:worker`'s warning and the provider's boot errors say `topology`.
14
+ - The docs page "Roles & config" is now [Topology & config](https://davidecarvalho.github.io/agora/docs/durable/cluster/topology-and-config).
15
+
16
+ Unchanged: `runGateway.topology()` and `GET <path>/api/topology` still answer `{ role, tenant? }`, the wire shape shared with Aviary's `DurableTopology`.
17
+
3
18
  ## 1.0.0-rc.10
4
19
 
5
20
  ### Major Changes
@@ -1,17 +1,17 @@
1
1
  import { BaseCommand } from '@adonisjs/core/ace';
2
2
  import type { CommandOptions } from '@adonisjs/core/types/ace';
3
3
  /**
4
- * `node ace durable:worker` — the **store-less** task-consumer loop for a `role: 'tenant'` worker pod
4
+ * `node ace durable:worker` — the **store-less** task-consumer loop for a `topology: 'tenant'` worker pod
5
5
  * (design §3). Distinct from `durable:work` (the store-backed dispatch/recovery/timers loop, which
6
6
  * this command deliberately does NOT clobber): a store-less worker owns no durable state — it consumes
7
7
  * `${P}-tasks-<token>` tasks (executed through the shared `runStepHandler`, results published) and
8
8
  * advertises its {@link import('../src/handshake/descriptor.js').WorkerDescriptor} + heartbeat. Stays
9
9
  * alive until SIGINT/SIGTERM, then drains.
10
10
  *
11
- * On a `role: 'tenant'` pod it resolves the **container-bound {@link WorkerRuntime}** the provider wired
11
+ * On a `topology: 'tenant'` pod it resolves the **container-bound {@link WorkerRuntime}** the provider wired
12
12
  * (design §5): that runtime shares the tenant transport with the `ProxyRunGateway` and carries a
13
13
  * `RedisWorkerRegistry` built from the transport's Redis connection, so descriptor + heartbeat are
14
- * actually published on the shared Redis. Only when no bound runtime exists (a non-tenant role, or a
14
+ * actually published on the shared Redis. Only when no bound runtime exists (a non-tenant topology, or a
15
15
  * misconfigured pod) does it fall back to building a self-contained runtime from `config/durable.ts`
16
16
  * with a {@link NoopWorkerRegistry} (advertising is then a no-op).
17
17
  */
@@ -5,17 +5,17 @@ import { InMemoryTransport } from '../src/testing/in-memory-transport.js';
5
5
  import { NoopWorkerRegistry, registerStepsFromDir, WorkerRuntime, } from '../src/worker-runtime/index.js';
6
6
  import { discoverWorkflows } from '../src/workflow-discovery.js';
7
7
  /**
8
- * `node ace durable:worker` — the **store-less** task-consumer loop for a `role: 'tenant'` worker pod
8
+ * `node ace durable:worker` — the **store-less** task-consumer loop for a `topology: 'tenant'` worker pod
9
9
  * (design §3). Distinct from `durable:work` (the store-backed dispatch/recovery/timers loop, which
10
10
  * this command deliberately does NOT clobber): a store-less worker owns no durable state — it consumes
11
11
  * `${P}-tasks-<token>` tasks (executed through the shared `runStepHandler`, results published) and
12
12
  * advertises its {@link import('../src/handshake/descriptor.js').WorkerDescriptor} + heartbeat. Stays
13
13
  * alive until SIGINT/SIGTERM, then drains.
14
14
  *
15
- * On a `role: 'tenant'` pod it resolves the **container-bound {@link WorkerRuntime}** the provider wired
15
+ * On a `topology: 'tenant'` pod it resolves the **container-bound {@link WorkerRuntime}** the provider wired
16
16
  * (design §5): that runtime shares the tenant transport with the `ProxyRunGateway` and carries a
17
17
  * `RedisWorkerRegistry` built from the transport's Redis connection, so descriptor + heartbeat are
18
- * actually published on the shared Redis. Only when no bound runtime exists (a non-tenant role, or a
18
+ * actually published on the shared Redis. Only when no bound runtime exists (a non-tenant topology, or a
19
19
  * misconfigured pod) does it fall back to building a self-contained runtime from `config/durable.ts`
20
20
  * with a {@link NoopWorkerRegistry} (advertising is then a no-op).
21
21
  */
@@ -25,8 +25,8 @@ export default class DurableWorker extends BaseCommand {
25
25
  static options = { startApp: true, staysAlive: true };
26
26
  async run() {
27
27
  const config = this.app.config.get('durable', {});
28
- if (config.role !== 'tenant') {
29
- this.logger.warning(`durable:worker is the store-less worker for role 'tenant'; config.role is '${config.role ?? 'standalone'}'. Continuing, but a store-backed role should use durable:work.`);
28
+ if (config.topology !== 'tenant') {
29
+ this.logger.warning(`durable:worker is the store-less worker for topology 'tenant'; config.topology is '${config.topology ?? 'standalone'}'. Continuing, but a store-backed topology should use durable:work.`);
30
30
  }
31
31
  const { runtime, partition } = await this.#resolveRuntime(config);
32
32
  // Register `app/steps` (served by the transport) + advertise `app/workflows` names.
@@ -62,10 +62,10 @@ export default class DurableWorker extends BaseCommand {
62
62
  await this.terminate();
63
63
  }
64
64
  /**
65
- * Prefer the provider-bound {@link WorkerRuntime} (the `role: 'tenant'` branch of `durable_provider`):
65
+ * Prefer the provider-bound {@link WorkerRuntime} (the `topology: 'tenant'` branch of `durable_provider`):
66
66
  * it shares the tenant transport with the `ProxyRunGateway` and advertises through a real
67
67
  * `RedisWorkerRegistry`. Fall back to a self-built runtime (a {@link NoopWorkerRegistry}) only when the
68
- * container has no bound runtime — a non-tenant role, or a pod running this command by mistake.
68
+ * container has no bound runtime — a non-tenant topology, or a pod running this command by mistake.
69
69
  */
70
70
  async #resolveRuntime(config) {
71
71
  if (this.app.container.hasBinding(DURABLE_WORKER_RUNTIME)) {
@@ -1 +1 @@
1
- {"version":3,"file":"durable_worker.js","sourceRoot":"","sources":["../../commands/durable_worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"durable_worker.js","sourceRoot":"","sources":["../../commands/durable_worker.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ import type { ApplicationService } from '@adonisjs/core/types';
30
30
  * - `POST /api/bulk/:action` -> bulk retry/cancel every run matching a filter
31
31
  * - `GET /api/health` -> worker-group health (compact shape)
32
32
  * - `GET /api/workers` -> worker-group health (full heartbeats; SPA)
33
- * - `GET /api/topology` -> this deployment's durable role
33
+ * - `GET /api/topology` -> this deployment's durable topology
34
34
  * - `GET /api/compat` -> fleet health / protocol-compatibility panel
35
35
  * - `GET /api/openapi.json` -> the machine-readable API contract (OpenAPI 3.1)
36
36
  */
@@ -44,15 +44,15 @@ export default class DashboardProvider {
44
44
  /**
45
45
  * Captures the engine's `capability.unavailable` / `protocol.incompatible` diagnostics events so the
46
46
  * `/compat` health panel can render each blocked run's structured delta + the live-fleet compat view
47
- * (design §7.6, §10). Store-role only — attached in {@link boot}; a `tenant` pod owns no engine.
47
+ * (design §7.6, §10). Store-topology only — attached in {@link boot}; a `tenant` pod owns no engine.
48
48
  */
49
49
  private readonly diagnostics;
50
50
  /** Detach handle for the diagnostics subscription, released on {@link shutdown}. */
51
51
  private detachDiagnostics;
52
- /** This process's event counters for `GET /metrics` (store roles; a tenant pod has no engine). */
52
+ /** This process's event counters for `GET /metrics` (store topologies; a tenant pod has no engine). */
53
53
  private metricsCollector;
54
- /** The active durable role (`standalone` when no `durable` config is present — today's default). */
55
- private durableRole;
54
+ /** The active durable topology (`standalone` when no `durable` config is present — today's default). */
55
+ private durableTopology;
56
56
  boot(): Promise<void>;
57
57
  private attachDiagnostics;
58
58
  private registerRoutes;
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard_provider.d.ts","sourceRoot":"","sources":["../../providers/dashboard_provider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAqB,MAAM,sBAAsB,CAAC;AAuElF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACxB,SAAS,CAAC,GAAG,EAAE,kBAAkB;IAA7C,YAAsB,GAAG,EAAE,kBAAkB,EAAI;IAEjD,OAAO,CAAC,sBAAsB,CAAS;IAEvC,yFAAyF;IACzF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,QAAQ,CAAK;IAErB;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoC;IAChE,oFAAoF;IACpF,OAAO,CAAC,iBAAiB,CAA6B;IACtD,kGAAkG;IAClG,OAAO,CAAC,gBAAgB,CAAiC;IAEzD,oGAAoG;IACpG,OAAO,CAAC,WAAW;IAIb,IAAI,kBAkBT;YAEa,iBAAiB;IAiB/B,OAAO,CAAC,cAAc;IAwKtB,yEAAyE;IACzE,OAAO,CAAC,iBAAiB;IAgDzB;;;;;;OAMG;YACW,SAAS;YA6CT,YAAY;YAWZ,cAAc;IAQ5B,mGAAmG;IACnG,OAAO,CAAC,KAAK;IA2Bb,iGAAiG;YACnF,cAAc;YAWd,kBAAkB;IAQhC,oGAAoG;YACtF,eAAe;IAS7B;;;;;;;;;;;OAWG;YACW,OAAO;IA6CrB;;;;;OAKG;YACW,QAAQ;IAsBhB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAK9B;CACF;AAED,mGAAmG;AACnG,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAG1D;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAU1D;AAwBD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAUnD"}
1
+ {"version":3,"file":"dashboard_provider.d.ts","sourceRoot":"","sources":["../../providers/dashboard_provider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAqB,MAAM,sBAAsB,CAAC;AAuElF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACxB,SAAS,CAAC,GAAG,EAAE,kBAAkB;IAA7C,YAAsB,GAAG,EAAE,kBAAkB,EAAI;IAEjD,OAAO,CAAC,sBAAsB,CAAS;IAEvC,yFAAyF;IACzF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,QAAQ,CAAK;IAErB;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoC;IAChE,oFAAoF;IACpF,OAAO,CAAC,iBAAiB,CAA6B;IACtD,uGAAuG;IACvG,OAAO,CAAC,gBAAgB,CAAiC;IAEzD,wGAAwG;IACxG,OAAO,CAAC,eAAe;IAIjB,IAAI,kBAkBT;YAEa,iBAAiB;IAmB/B,OAAO,CAAC,cAAc;IAwKtB,yEAAyE;IACzE,OAAO,CAAC,iBAAiB;IAgDzB;;;;;;OAMG;YACW,SAAS;YA6CT,YAAY;YAWZ,cAAc;IAQ5B,mGAAmG;IACnG,OAAO,CAAC,KAAK;IA2Bb,iGAAiG;YACnF,cAAc;YAWd,kBAAkB;IAQhC,oGAAoG;YACtF,eAAe;IAS7B;;;;;;;;;;;OAWG;YACW,OAAO;IA6CrB;;;;;OAKG;YACW,QAAQ;IAsBhB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAK9B;CACF;AAED,mGAAmG;AACnG,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAG1D;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAU1D;AAwBD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAUnD"}
@@ -6,7 +6,7 @@ import { resolveAccessDeniedPage, } from '../src/dashboard/access_denied_page.js
6
6
  import { compat, enumerateLiveFleet, mergeFleets, } from '../src/dashboard/compat.js';
7
7
  import { NO_AUTHORIZE_WARNING, resolveConfig, } from '../src/dashboard/define_config.js';
8
8
  import { BlockedDiagnosticsRecorder } from '../src/dashboard/diagnostics-recorder.js';
9
- import { dashboardEngineForRole } from '../src/dashboard/gateway-adapter.js';
9
+ import { dashboardEngineForTopology } from '../src/dashboard/gateway-adapter.js';
10
10
  import { bulkAction, cancelRun, completeTaskRun, continueRun, deliverWebhook, failTaskRun, getFanMembers, getRun, getRunEvent, health, listRuns, listSchedules, metricsText, redispatchPendingRun, republishLifecycleRun, retryRun, retryWithInputRun, runValues, scheduleAction, signalRun, topology, updateRun, workers, workflowLifecycle, } from '../src/dashboard/handlers.js';
11
11
  import { openApiDocument } from '../src/dashboard/openapi.js';
12
12
  import { contentTypeFor, renderIndexHtml } from '../src/dashboard/spa.js';
@@ -55,7 +55,7 @@ function spaDirectory() {
55
55
  * - `POST /api/bulk/:action` -> bulk retry/cancel every run matching a filter
56
56
  * - `GET /api/health` -> worker-group health (compact shape)
57
57
  * - `GET /api/workers` -> worker-group health (full heartbeats; SPA)
58
- * - `GET /api/topology` -> this deployment's durable role
58
+ * - `GET /api/topology` -> this deployment's durable topology
59
59
  * - `GET /api/compat` -> fleet health / protocol-compatibility panel
60
60
  * - `GET /api/openapi.json` -> the machine-readable API contract (OpenAPI 3.1)
61
61
  */
@@ -71,16 +71,16 @@ export default class DashboardProvider {
71
71
  /**
72
72
  * Captures the engine's `capability.unavailable` / `protocol.incompatible` diagnostics events so the
73
73
  * `/compat` health panel can render each blocked run's structured delta + the live-fleet compat view
74
- * (design §7.6, §10). Store-role only — attached in {@link boot}; a `tenant` pod owns no engine.
74
+ * (design §7.6, §10). Store-topology only — attached in {@link boot}; a `tenant` pod owns no engine.
75
75
  */
76
76
  diagnostics = new BlockedDiagnosticsRecorder();
77
77
  /** Detach handle for the diagnostics subscription, released on {@link shutdown}. */
78
78
  detachDiagnostics = null;
79
- /** This process's event counters for `GET /metrics` (store roles; a tenant pod has no engine). */
79
+ /** This process's event counters for `GET /metrics` (store topologies; a tenant pod has no engine). */
80
80
  metricsCollector = null;
81
- /** The active durable role (`standalone` when no `durable` config is present — today's default). */
82
- durableRole() {
83
- return this.app.config.get('durable', {}).role ?? 'standalone';
81
+ /** The active durable topology (`standalone` when no `durable` config is present — today's default). */
82
+ durableTopology() {
83
+ return this.app.config.get('durable', {}).topology ?? 'standalone';
84
84
  }
85
85
  async boot() {
86
86
  const config = resolveConfig(this.app.config.get('durable_dashboard', {}), { inProduction: this.app.inProduction });
@@ -88,18 +88,18 @@ export default class DashboardProvider {
88
88
  return;
89
89
  if (!config.authorizeConfigured)
90
90
  await this.warnNoAuthorize();
91
- const role = this.durableRole();
91
+ const durableTopology = this.durableTopology();
92
92
  // Route registration can't happen synchronously in `boot()` — see the long-standing note this
93
93
  // provider always carried: the router singleton isn't committed until the app's "booted" hooks
94
94
  // run, which fire strictly AFTER every provider's own `boot()`.
95
95
  await this.app.booted(async () => {
96
96
  const router = await this.app.container.make('router');
97
- this.registerRoutes(router, config, role);
98
- await this.attachDiagnostics(role);
97
+ this.registerRoutes(router, config, durableTopology);
98
+ await this.attachDiagnostics(durableTopology);
99
99
  });
100
100
  }
101
- async attachDiagnostics(role) {
102
- if (role === 'tenant')
101
+ async attachDiagnostics(durableTopology) {
102
+ if (durableTopology === 'tenant')
103
103
  return;
104
104
  // A warmed-up app (`node ace codegen`) never starts nor shuts down: resolving the engine would open
105
105
  // the transport/store connections nothing closes, and the command would never exit. The routes are
@@ -117,12 +117,12 @@ export default class DashboardProvider {
117
117
  // No store-backed engine available — the compat panel degrades to reason-only blocked runs.
118
118
  }
119
119
  }
120
- registerRoutes(router, config, role) {
120
+ registerRoutes(router, config, durableTopology) {
121
121
  const apiBase = `${config.path}/api`;
122
- // Resolve the dashboard's read/control port lazily per request, branched by role (design §5/§8):
123
- // a store role adapts the engine (built by @adonis-agora/durable's provider); a store-less `tenant`
122
+ // Resolve the dashboard's read/control port lazily per request, branched by topology (design §5/§8):
123
+ // a store topology adapts the engine (built by @adonis-agora/durable's provider); a store-less `tenant`
124
124
  // pod resolves the DURABLE_RUN_GATEWAY token (a ProxyRunGateway) and adapts it — NO engine, NO store.
125
- const resolveEngine = () => dashboardEngineForRole(role, this.app.container, WorkflowEngine);
125
+ const resolveEngine = () => dashboardEngineForTopology(durableTopology, this.app.container, WorkflowEngine);
126
126
  const deps = async () => ({
127
127
  engine: await resolveEngine(),
128
128
  ...(config.redact ? { redact: config.redact } : {}),
@@ -245,8 +245,8 @@ export default class DashboardProvider {
245
245
  // Only a `TenantConfig` carries a `partition` (its `<name>@<tenant>` routing suffix, spec
246
246
  // §6.1) — the field this dashboard's `DurableTopology.tenant` badge actually names.
247
247
  const durableConfig = this.app.config.get('durable', {});
248
- const tenant = durableConfig.role === 'tenant' ? durableConfig.partition : undefined;
249
- const result = topology(role, tenant);
248
+ const tenant = durableConfig.topology === 'tenant' ? durableConfig.partition : undefined;
249
+ const result = topology(durableTopology, tenant);
250
250
  return ctx.response.status(result.status).json(result.body);
251
251
  })
252
252
  .as('durable_dashboard.topology');
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard_provider.js","sourceRoot":"","sources":["../../providers/dashboard_provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,EAEL,uBAAuB,GACxB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAEL,MAAM,EACN,kBAAkB,EAElB,WAAW,GACZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAGL,oBAAoB,EAEpB,aAAa,GACd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAGL,UAAU,EACV,SAAS,EACT,eAAe,EACf,WAAW,EAGX,cAAc,EACd,WAAW,EACX,aAAa,EACb,MAAM,EACN,WAAW,EACX,MAAM,EACN,QAAQ,EACR,aAAa,EACb,WAAW,EACX,oBAAoB,EACpB,qBAAqB,EACrB,QAAQ,EACR,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,SAAS,EACT,QAAQ,EACR,SAAS,EACT,OAAO,EACP,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAyB,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D;;;;;;GAMG;AACH,IAAI,MAA0B,CAAC;AAC/B,SAAS,YAAY;IACnB,MAAM,KAAK,aAAa,CAAC,IAAI,GAAG,CAAC,gBAAgB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACd,GAAG;IAAzB,YAAsB,GAAuB;mBAAvB,GAAG;IAAuB,CAAC;IAEzC,sBAAsB,GAAG,KAAK,CAAC;IAEvC,yFAAyF;IACxE,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAClD,QAAQ,GAAG,CAAC,CAAC;IAErB;;;;OAIG;IACc,WAAW,GAAG,IAAI,0BAA0B,EAAE,CAAC;IAChE,oFAAoF;IAC5E,iBAAiB,GAAwB,IAAI,CAAC;IACtD,kGAAkG;IAC1F,gBAAgB,GAA4B,IAAI,CAAC;IAEzD,oGAAoG;IAC5F,WAAW;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAgB,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,YAAY,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,MAAM,GAAG,aAAa,CAC1B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAyB,mBAAmB,EAAE,EAAE,CAAC,EACpE,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CACxC,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO;QAC5B,IAAI,CAAC,MAAM,CAAC,mBAAmB;YAAE,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE9D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEhC,8FAA8F;QAC9F,+FAA+F;QAC/F,gEAAgE;QAChE,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;YAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvD,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YAC1C,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,IAA+C;QAC7E,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO;QAC9B,oGAAoG;QACpG,mGAAmG;QACnG,mFAAmF;QACnF,IAAK,IAAI,CAAC,GAAkC,CAAC,OAAO,EAAE,EAAE,KAAK,QAAQ;YAAE,OAAO;QAC9E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC7D,0FAA0F;YAC1F,MAAM,CAAC,oBAAoB,EAAE,CAAC;YAC9B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACzD,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,4FAA4F;QAC9F,CAAC;IACH,CAAC;IAEO,cAAc,CACpB,MAAyB,EACzB,MAAsC,EACtC,IAA+C;QAE/C,MAAM,OAAO,GAAG,GAAG,MAAM,CAAC,IAAI,MAAM,CAAC;QAErC,iGAAiG;QACjG,oGAAoG;QACpG,sGAAsG;QACtG,MAAM,aAAa,GAAG,GAA6B,EAAE,CACnD,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE,CAAC,CAAC;YACvC,MAAM,EAAE,MAAM,aAAa,EAAE;YAC7B,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrE,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAEhD,YAAY;QACZ,MAAM,IAAI,GAAG,CAAC,OAA2D,EAAE,EAAE;YAC3E,OAAO,KAAK,EAAE,GAAgB,EAAE,EAAE;gBAChC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;oBAAE,OAAO;gBACtD,2FAA2F;gBAC3F,iEAAiE;gBACjE,IAAI,gBAAgB,CAAC,GAAG,CAAC;oBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACnD,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC9D,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;wBACjE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBACnC,CAAC;oBACD,8DAA8D;oBAC9D,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG;wBAAE,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACpE,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC9D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,uFAAuF;oBACvF,2EAA2E;oBAC3E,KAAK,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;oBAChC,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,8BAA8B,CAAC,CAAC;QACjF,wEAAwE;QACxE,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,+BAA+B,CAAC,CAAC;QAC1F,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,6BAA6B,CAAC,CAAC;QAClF,MAAM;aACH,GAAG,CAAC,GAAG,OAAO,uBAAuB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;aAC3D,EAAE,CAAC,6BAA6B,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,8BAA8B,CAAC,CAAC;QAC5F,MAAM;aACH,IAAI,CAAC,GAAG,OAAO,4BAA4B,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;aACrE,EAAE,CAAC,yCAAyC,CAAC,CAAC;QACjD,MAAM;aACH,IAAI,CAAC,GAAG,OAAO,sBAAsB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;aAClE,EAAE,CAAC,mCAAmC,CAAC,CAAC;QAC3C,MAAM;aACH,IAAI,CAAC,GAAG,OAAO,+BAA+B,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;aAC5E,EAAE,CAAC,4CAA4C,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,+BAA+B,CAAC,CAAC;QAC/F,MAAM;aACH,GAAG,CAAC,GAAG,OAAO,4BAA4B,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;aACpE,EAAE,CAAC,uCAAuC,CAAC,CAAC;QAC/C,MAAM;aACH,IAAI,CAAC,GAAG,OAAO,oBAAoB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;aACvD,EAAE,CAAC,iCAAiC,CAAC,CAAC;QACzC,0FAA0F;QAC1F,0FAA0F;QAC1F,sBAAsB;QACtB,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,+BAA+B,CAAC,CAAC;QAC/F,MAAM;aACH,IAAI,CAAC,GAAG,OAAO,yBAAyB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aAC1D,EAAE,CAAC,+BAA+B,CAAC,CAAC;QACvC,MAAM;aACH,IAAI,CAAC,GAAG,OAAO,gCAAgC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;aACvE,EAAE,CAAC,sCAAsC,CAAC,CAAC;QAC9C,MAAM;aACH,IAAI,CAAC,GAAG,OAAO,4BAA4B,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;aAC/D,EAAE,CAAC,kCAAkC,CAAC,CAAC;QAC1C,gFAAgF;QAChF,MAAM;aACH,GAAG,CAAC,GAAG,OAAO,uBAAuB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;aACzD,EAAE,CAAC,8BAA8B,CAAC,CAAC;QACtC,8FAA8F;QAC9F,MAAM;aACH,IAAI,CAAC,GAAG,OAAO,kBAAkB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;aACxD,EAAE,CAAC,oCAAoC,CAAC,CAAC;QAC5C,6EAA6E;QAC7E,MAAM;aACH,GAAG,CAAC,GAAG,OAAO,UAAU,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;YACpD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBAAE,OAAO;YACtD,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;gBAC7C,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,0CAA0C,CAAC,CAAC;gBAChF,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,KAAK,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAChC,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC,CAAC;aACD,EAAE,CAAC,2BAA2B,CAAC,CAAC;QACnC,4FAA4F;QAC5F,yFAAyF;QACzF,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,mCAAmC,CAAC,CAAC;QAChG,+FAA+F;QAC/F,MAAM;aACH,GAAG,CAAC,GAAG,OAAO,eAAe,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;YACzD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBAAE,OAAO;YACtD,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC;aACD,EAAE,CAAC,2BAA2B,CAAC,CAAC;QACnC,MAAM;aACH,IAAI,CAAC,GAAG,OAAO,yBAAyB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;aAC/D,EAAE,CAAC,oCAAoC,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC;QACtF,MAAM;aACH,GAAG,CACF,GAAG,OAAO,SAAS,EACnB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CACvB;aACA,EAAE,CAAC,0BAA0B,CAAC,CAAC;QAClC,MAAM;aACH,GAAG,CACF,GAAG,OAAO,UAAU,EACpB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CACxB;aACA,EAAE,CAAC,2BAA2B,CAAC,CAAC;QACnC,MAAM;aACH,GAAG,CAAC,GAAG,OAAO,WAAW,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;YACrD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBAAE,OAAO;YACtD,0FAA0F;YAC1F,oFAAoF;YACpF,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAgB,SAAS,EAAE,EAAE,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YACrF,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACtC,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC,CAAC;aACD,EAAE,CAAC,4BAA4B,CAAC,CAAC;QAEpC,6FAA6F;QAC7F,8FAA8F;QAC9F,MAAM;aACH,GAAG,CAAC,GAAG,OAAO,kBAAkB,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;YAC5D,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBAAE,OAAO;YACtD,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,EAAY,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC;aACD,EAAE,CAAC,+BAA+B,CAAC,CAAC;QAEvC,iGAAiG;QACjG,wGAAwG;QACxG,MAAM;aACH,GAAG,CAAC,GAAG,OAAO,SAAS,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;YACnD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBAAE,OAAO;YACtD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,aAAa,EAAE,CAAC,CAAC,CAAC;gBAC5E,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,KAAK,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAChC,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC,CAAC;aACD,EAAE,CAAC,0BAA0B,CAAC,CAAC;IACpC,CAAC;IAED,yEAAyE;IACjE,iBAAiB,CACvB,MAAyB,EACzB,MAAsC,EACtC,OAAe;QAEf,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAEzD,MAAM;aACH,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;YACzC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBAAE,OAAO;YACvD,IAAI,IAAY,CAAC;YACjB,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC;YAC3E,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,GAAG,CAAC,QAAQ;qBAChB,MAAM,CAAC,GAAG,CAAC;qBACX,IAAI,CACH,4IAA4I,CAC7I,CAAC;YACN,CAAC;YACD,OAAO,GAAG,CAAC,QAAQ;iBAChB,MAAM,CAAC,cAAc,EAAE,0BAA0B,CAAC;iBAClD,MAAM,CAAC,eAAe,EAAE,2BAA2B,CAAC;iBACpD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC;aACD,EAAE,CAAC,yBAAyB,CAAC,CAAC;QAEjC,MAAM;aACH,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,eAAe,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;YAC7D,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBAAE,OAAO;YACvD,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,WAAW,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1E,IAAI,KAAa,CAAC;YAClB,IAAI,CAAC;gBACH,KAAK,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3C,CAAC;YACD,OAAO,GAAG,CAAC,QAAQ;iBAChB,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;iBAC5C,MAAM,CAAC,eAAe,EAAE,qCAAqC,CAAC;iBAC9D,IAAI,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC;aACD,EAAE,CAAC,0BAA0B,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,SAAS,CAAC,GAAgB,EAAE,MAAuB,EAAE,KAAa;QAC9E,8FAA8F;QAC9F,4FAA4F;QAC5F,iGAAiG;QACjG,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,SAAS,CAAC;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,QAAQ,IAAI,GAAG,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;YAC7C,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC,CAAC;YACxE,OAAO;QACT,CAAC;QACD,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;QAE/C,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QACzD,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QACjD,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAChD,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QAE/C,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;YACpD,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,gGAAgG;QAChG,gGAAgG;QAChG,+CAA+C;QAC/C,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC,EAAE,MAAM,CAAC,CAAC;QACV,IAA+B,CAAC,KAAK,EAAE,EAAE,CAAC;QAC3C,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,aAAa,CAAC,IAAI,CAAC,CAAC;YACpB,WAAW,EAAE,CAAC;YACd,MAAM,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YACnB,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACvD,IAAI,IAAI,IAAI,CAAC;gBAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;;gBAC5C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC;QACF,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,MAAuB;QAChD,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAC1D,OAAO;YACL,sBAAsB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE;YACvE,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK;YAClB,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7D,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC;SAClE,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAmB,CAAC;QAC9E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,mGAAmG;IAC3F,KAAK,CAAC,MAAsC,EAAE,GAAgB;QACpE,IAAI,CAAC;YACH,MAAM,KAAK,GAAwB;gBACjC,EAAE,EAAE,IAAI,IAAI,EAAE;gBACd,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC;gBACtB,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE;gBAC1C,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;aAC7B,CAAC;YACF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,gFAAgF;gBAChF,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAY,CAAC;gBAC/C,IAAI,OAAO,YAAY,OAAO;oBAAE,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,SAAS;iBACpB,IAAI,CAAC,QAAQ,CAAC;iBACd,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gBACf,MAAM,CAAC,IAAI,CACT,mCAAmC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAC/E,CAAC;YACJ,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,0CAA0C;QAC5C,CAAC;IACH,CAAC;IAED,iGAAiG;IACzF,KAAK,CAAC,cAAc,CAAC,KAAc;QACzC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvD,MAAM,CAAC,KAAK,CACV,uCAAuC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACjH,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,+CAA+C;QACjD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,KAAc;QAC7C,IAAI,IAAI,CAAC,sBAAsB;YAAE,OAAO;QACxC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,uEAAuE,OAAO,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,oGAAoG;IAC5F,KAAK,CAAC,eAAe;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACK,KAAK,CAAC,OAAO,CACnB,MAAsC,EACtC,GAAgB,EAChB,IAAoB;QAEpB,gGAAgG;QAChG,8FAA8F;QAC9F,8FAA8F;QAC9F,+FAA+F;QAC/F,gCAAgC;QAChC,IAAI,IAAI,KAAK,KAAK,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;YACrE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC,CAAC;YACxE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,iGAAiG;QACjG,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,QAAQ,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAClC,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS;YAC9B,KAAK,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACtE,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,KAAK,iBAAiB,CAAC;QAC9D,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChE,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACpD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,IAAI,CAAC,QAAQ,CACjB,GAAG,EACH,MAAM,EACN,eAAe;gBACb,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,iBAAiB,EAAE;gBAC5C,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,CACzC,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,gBAAgB,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7C,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/F,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,QAAQ,CACpB,GAAgB,EAChB,MAAsC,EACtC,MAAmD;QAEnD,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,QAAQ,EAAE;YAAE,OAAO;QACvB,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAqB;YAC7B,GAAG,MAAM;YACT,QAAQ,EAAE,MAAM,CAAC,IAAI;YACrB,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QACrF,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO;QAC1B,GAAG,CAAC,QAAQ;aACT,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;aACnB,MAAM,CAAC,cAAc,EAAE,0BAA0B,CAAC;aAClD,MAAM,CAAC,eAAe,EAAE,2BAA2B,CAAC;aACpD,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;CACF;AAED,mGAAmG;AACnG,MAAM,UAAU,gBAAgB,CAAC,GAAgB;IAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;IAClD,OAAO,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,SAAS,CAAC;AACvE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAgB;IAC/C,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACvD,IAAI,SAAS;QAAE,OAAO,SAAS,KAAK,aAAa,IAAI,SAAS,KAAK,MAAM,CAAC;IAC1E,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,MAAM,KAAK,MAAM,CAAC;IAC3D,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,CAAC,+DAA+D;IAC9E,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,GAAgB;IACxC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IACpD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAuE,CAAC;IAC7F,OAAO,QAAQ,CAAC,WAAW,KAAK,IAAI,IAAI,QAAQ,CAAC,WAAW,KAAK,IAAI,CAAC;AACxE,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CAAC,GAAgB;IAChC,MAAM,KAAK,GAAI,GAAG,CAAC,QAA2C,CAAC,KAAK,CAAC;IACrE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,GAAgB;IACzC,MAAM,IAAI,GAAI,GAAuE,CAAC,IAAI,EAAE,IAAI,CAAC;IACjG,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAU,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE;gBAAE,OAAO,KAAK,CAAC;YAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;AACpF,CAAC;AAED,iFAAiF;AACjF,SAAS,YAAY,CAAC,GAAgB;IACpC,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,MAA4C;QACxD,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,EAAmD;QACxE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;QACxB,OAAO,EAAE,EAAE,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE;KAClE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"dashboard_provider.js","sourceRoot":"","sources":["../../providers/dashboard_provider.ts"],"names":[],"mappings":"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"}
@@ -20,10 +20,10 @@ const OTEL_TRACEPARENT = Symbol.for('@agora/otel:traceparent');
20
20
  /** `@adonis-agora/diagnostics`'s emit capability slot (set at that package's module load when installed). */
21
21
  const DIAGNOSTICS_EMIT = Symbol.for('@agora/diagnostics:emit');
22
22
  /**
23
- * Wires `@adonis-agora/durable` into the AdonisJS application, branching on the config's `role` (design
24
- * §5) so a **store-less cluster** boots per role:
23
+ * Wires `@adonis-agora/durable` into the AdonisJS application, branching on the config's `topology` (design
24
+ * §5) so a **store-less cluster** boots per topology:
25
25
  *
26
- * - **`standalone`** (default — a config with no `role` lands here, byte-identical to today): the
26
+ * - **`standalone`** (default — a config with no `topology` lands here, byte-identical to today): the
27
27
  * store-backed {@link WorkflowEngine} + a {@link StoreRunGateway} + the embedded worker (app/steps
28
28
  * served in-process) + the engine's in-process run dispatcher.
29
29
  * - **`control-plane`**: the same store-backed engine + `StoreRunGateway`, but a PURE coordinator — no
@@ -34,10 +34,10 @@ const DIAGNOSTICS_EMIT = Symbol.for('@agora/diagnostics:emit');
34
34
  * {@link ProxyRunGateway} (read/control/start over the wire) plus, for a worker pod, a
35
35
  * {@link WorkerRuntime} the `durable:worker` command drives.
36
36
  *
37
- * `services/main` exposes the ACTIVE role's {@link RunGateway} under {@link DURABLE_RUN_GATEWAY}, so
37
+ * `services/main` exposes the ACTIVE topology's {@link RunGateway} under {@link DURABLE_RUN_GATEWAY}, so
38
38
  * app/dashboard code is identical whether or not a store is present.
39
39
  *
40
- * Store roles keep the historical binding, so nothing that resolves the engine directly changes:
40
+ * Store topologies keep the historical binding, so nothing that resolves the engine directly changes:
41
41
  * ```ts
42
42
  * const engine = await app.container.make(WorkflowEngine)
43
43
  * engine.register('order', '1', async (ctx) => { ... })
@@ -60,7 +60,7 @@ export default class DurableProvider {
60
60
  #stopEmbeddedWorker = null;
61
61
  /** The embedded loop itself, awaited on shutdown so it drains before the transport closes. */
62
62
  #embeddedWorkerLoop = null;
63
- /** The store-backed engine once resolved (store roles), drained on shutdown. */
63
+ /** The store-backed engine once resolved (store topologies), drained on shutdown. */
64
64
  #engine = null;
65
65
  /** The shutdown budget: `worker.drainTimeoutMs`, else `drainTimeoutMs`, else 10s. */
66
66
  #drainTimeoutMs = 10_000;
@@ -72,9 +72,9 @@ export default class DurableProvider {
72
72
  // copy bin/server booted, never a pnpm-split non-booted one (see services/booted_app.ts).
73
73
  setBootedApp(this.app);
74
74
  const config = this.app.config.get('durable', {});
75
- const role = config.role ?? 'standalone';
76
- if (role === 'tenant') {
77
- this.#registerTenantRole(config);
75
+ const topology = config.topology ?? 'standalone';
76
+ if (topology === 'tenant') {
77
+ this.#registerTenantTopology(config);
78
78
  }
79
79
  else {
80
80
  // A process that must not drive runs cannot host the loop that drives them.
@@ -82,19 +82,19 @@ export default class DurableProvider {
82
82
  throw new Error('@agora/durable: `drive: false` and `worker: { embedded: true }` contradict each other — the embedded worker loop drives runs in this process. Drop one: keep `drive: false` on web pods and run `node ace durable:work` elsewhere, or keep the embedded worker and remove `drive: false`.');
83
83
  }
84
84
  this.#drainTimeoutMs = config.worker?.drainTimeoutMs ?? config.drainTimeoutMs ?? 10_000;
85
- this.#registerStoreRole(config, role);
85
+ this.#registerStoreTopology(config, topology);
86
86
  }
87
87
  }
88
88
  // ---------------------------------------------------------------------------
89
- // store roles — standalone / control-plane
89
+ // store topologies — standalone / control-plane
90
90
  // ---------------------------------------------------------------------------
91
91
  /** Bind the store-backed engine, its {@link StoreRunGateway}, and (P4-capable transports) the
92
92
  * operator-side {@link RunRequestResponder}. Shared by `standalone` and `control-plane`. */
93
- #registerStoreRole(config, role) {
93
+ #registerStoreTopology(config, topology) {
94
94
  // The active RunGateway = the store-backed gateway wrapping the local engine (design §8).
95
95
  this.app.container.singleton(DURABLE_RUN_GATEWAY, async () => {
96
96
  const engine = await this.app.container.make(WorkflowEngine);
97
- return new StoreRunGateway(engine, { role });
97
+ return new StoreRunGateway(engine, { topology });
98
98
  });
99
99
  // Operator-side responder. Only meaningful when the transport carries the P4 store-less methods
100
100
  // (broker transports only); returns `null` otherwise. `boot()` gates on the SAME capability, so this
@@ -109,7 +109,7 @@ export default class DurableProvider {
109
109
  return new RunRequestResponder(transport, gateway, {
110
110
  ...(verifyTenant ? { verifyTenant } : {}),
111
111
  // Only an explicit control plane is a tenant deployment; a standalone app boots quietly.
112
- warnWithoutVerifier: role === 'control-plane',
112
+ warnWithoutVerifier: topology === 'control-plane',
113
113
  // Republish the engine's lifecycle events, scoped by namespace, so tenants can live-tail.
114
114
  subscribeEngineEvents: (listener) => engine.subscribe(listener),
115
115
  });
@@ -128,12 +128,12 @@ export default class DurableProvider {
128
128
  // SINGLE factory, overwritten on each singleton() call, so binding WorkflowEngine last keeps
129
129
  // make(WorkflowEngine) resolving the engine. The real AdonisJS container is key-aware — order is
130
130
  // irrelevant there; this only shields the test double.
131
- this.#registerEngine(config, role);
131
+ this.#registerEngine(config, topology);
132
132
  }
133
- /** Bind the store-backed {@link WorkflowEngine} singleton (today's build), applying the role's run
133
+ /** Bind the store-backed {@link WorkflowEngine} singleton (today's build), applying the topology's run
134
134
  * dispatcher default: `control-plane` gets the no-op dispatcher (pure coordinator); `standalone`
135
135
  * keeps the engine's in-process default (embedded worker). An explicit `config.runDispatcher` wins. */
136
- #registerEngine(config, role) {
136
+ #registerEngine(config, topology) {
137
137
  this.app.container.singleton(WorkflowEngine, async () => {
138
138
  const accessor = globalThis[CONTEXT_ACCESSOR];
139
139
  const otelTraceparent = globalThis[OTEL_TRACEPARENT];
@@ -143,7 +143,7 @@ export default class DurableProvider {
143
143
  // An absent namespace is the default pool on a standalone engine, and the operator (every pool)
144
144
  // only on a control plane: a standalone process sharing a store with other pools must never
145
145
  // drive their runs.
146
- const namespace = config.namespace ?? (role === 'standalone' ? 'default' : undefined);
146
+ const namespace = config.namespace ?? (topology === 'standalone' ? 'default' : undefined);
147
147
  const store = await this.#resolveStore(config, ctx, namespace);
148
148
  const transport = await this.#resolveTransport(config, ctx);
149
149
  // `transportPool`: extra transports built alongside the selected one, in failover order, so a
@@ -272,7 +272,7 @@ export default class DurableProvider {
272
272
  // and `standalone` uses the engine's in-process default.
273
273
  ...(config.runDispatcher
274
274
  ? { runDispatcher: config.runDispatcher }
275
- : role === 'control-plane' || config.drive === false
275
+ : topology === 'control-plane' || config.drive === false
276
276
  ? { runDispatcher: NOOP_RUN_DISPATCHER }
277
277
  : {}),
278
278
  // Best-effort context propagation from @adonis-agora/context (no hard dep): pass the opaque
@@ -302,7 +302,7 @@ export default class DurableProvider {
302
302
  });
303
303
  }
304
304
  // ---------------------------------------------------------------------------
305
- // tenant role — store-less (no engine, no store binding)
305
+ // tenant topology — store-less (no engine, no store binding)
306
306
  // ---------------------------------------------------------------------------
307
307
  /**
308
308
  * Bind the store-less objects for a `tenant` pod (design §5): a {@link ProxyRunGateway} (every
@@ -310,11 +310,11 @@ export default class DurableProvider {
310
310
  * {@link WorkflowEngine} and NO store binding are registered — resolving either throws, which is the
311
311
  * container layer of the three-layer structural isolation (type · container · object).
312
312
  */
313
- #registerTenantRole(config) {
313
+ #registerTenantTopology(config) {
314
314
  this.app.container.singleton(DURABLE_RUN_GATEWAY, async () => {
315
315
  const transport = await this.#tenantTransport(config);
316
316
  if (!hasProxyCapability(transport)) {
317
- throw new Error(`@agora/durable: role 'tenant' needs a transport with the P4 store-less methods (dispatchStartRun/dispatchRunRequest/onRunReply/onTenantEvent); the selected transport ("${config.transport}") does not expose them.`);
317
+ throw new Error(`@agora/durable: topology 'tenant' needs a transport with the P4 store-less methods (dispatchStartRun/dispatchRunRequest/onRunReply/onTenantEvent); the selected transport ("${config.transport}") does not expose them.`);
318
318
  }
319
319
  return new ProxyRunGateway(transport, {
320
320
  partition: config.partition,
@@ -327,7 +327,7 @@ export default class DurableProvider {
327
327
  this.app.container.singleton(DURABLE_WORKER_RUNTIME, async () => {
328
328
  const transport = await this.#tenantTransport(config);
329
329
  if (typeof transport.handle !== 'function') {
330
- throw new Error(`@agora/durable: role 'tenant' worker needs a transport that can serve handlers (handle()); the selected transport ("${config.transport}") cannot.`);
330
+ throw new Error(`@agora/durable: topology 'tenant' worker needs a transport that can serve handlers (handle()); the selected transport ("${config.transport}") cannot.`);
331
331
  }
332
332
  return new WorkerRuntime({
333
333
  transport: transport,
@@ -366,7 +366,7 @@ export default class DurableProvider {
366
366
  });
367
367
  transport.useNamespace?.(config.namespace ?? 'default');
368
368
  // A transport whose behaviour depends on serving a store-less pod adapts to it here.
369
- transport.useTenantRole?.();
369
+ transport.useTenantTopology?.();
370
370
  this.#transport = transport;
371
371
  return transport;
372
372
  })();
@@ -374,7 +374,7 @@ export default class DurableProvider {
374
374
  return this.#tenantTransportPromise;
375
375
  }
376
376
  // ---------------------------------------------------------------------------
377
- // boot — auto-registration + responder bring-up (store roles)
377
+ // boot — auto-registration + responder bring-up (store topologies)
378
378
  // ---------------------------------------------------------------------------
379
379
  /**
380
380
  * Auto-register the `app/workflows` convention so users never call `engine.register(...)` by hand
@@ -397,15 +397,15 @@ export default class DurableProvider {
397
397
  if (this.#isWarmup())
398
398
  return;
399
399
  const config = this.app.config.get('durable', {});
400
- const role = config.role ?? 'standalone';
401
- if (role === 'tenant')
400
+ const topology = config.topology ?? 'standalone';
401
+ if (topology === 'tenant')
402
402
  return;
403
403
  const workflowRoots = discoveryRoots(config.workflowsPath, 'app/workflows');
404
404
  // Each convention is governed by its own option: `workflowsPath: false` skips workflow discovery
405
405
  // only, `stepsPath` alone decides app/steps. A control plane always brings up its responder.
406
406
  // With nothing to do at all, the engine stays unbuilt (lazily resolvable on demand).
407
- const servesSteps = role === 'standalone' && discoveryRoots(config.stepsPath, 'app/steps').length > 0;
408
- if (workflowRoots.length === 0 && !servesSteps && role !== 'control-plane')
407
+ const servesSteps = topology === 'standalone' && discoveryRoots(config.stepsPath, 'app/steps').length > 0;
408
+ if (workflowRoots.length === 0 && !servesSteps && topology !== 'control-plane')
409
409
  return;
410
410
  const engine = await this.app.container.make(WorkflowEngine);
411
411
  if (workflowRoots.length > 0)
@@ -714,7 +714,7 @@ export default class DurableProvider {
714
714
  if (this.#isWarmup())
715
715
  return;
716
716
  const config = this.app.config.get('durable', {});
717
- if ((config.role ?? 'standalone') === 'tenant')
717
+ if ((config.topology ?? 'standalone') === 'tenant')
718
718
  return;
719
719
  // Before the diagnostics gate below: the embedded worker must start whether or not
720
720
  // `@adonis-agora/diagnostics` is installed, and that gate returns early when it is not.