@dudousxd/nestjs-durable-dashboard 0.49.0 → 0.51.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 (37) hide show
  1. package/dist/client/durable-client.d.ts +23 -1
  2. package/dist/client/durable-client.d.ts.map +1 -1
  3. package/dist/client/durable-client.js +21 -0
  4. package/dist/client/durable-client.js.map +1 -1
  5. package/dist/client/fan-pages.d.ts +8 -0
  6. package/dist/client/fan-pages.d.ts.map +1 -0
  7. package/dist/client/fan-pages.js +16 -0
  8. package/dist/client/fan-pages.js.map +1 -0
  9. package/dist/client/group-parallel-spans.d.ts +39 -4
  10. package/dist/client/group-parallel-spans.d.ts.map +1 -1
  11. package/dist/client/group-parallel-spans.js +65 -1
  12. package/dist/client/group-parallel-spans.js.map +1 -1
  13. package/dist/client/merge-live-events.d.ts +6 -1
  14. package/dist/client/merge-live-events.d.ts.map +1 -1
  15. package/dist/client/merge-live-events.js +15 -0
  16. package/dist/client/merge-live-events.js.map +1 -1
  17. package/dist/client/throttle.d.ts +11 -0
  18. package/dist/client/throttle.d.ts.map +1 -0
  19. package/dist/client/throttle.js +30 -0
  20. package/dist/client/throttle.js.map +1 -0
  21. package/dist/server/index.cjs +408 -278
  22. package/dist/server/index.cjs.map +1 -1
  23. package/dist/server/index.d.cts +24 -3
  24. package/dist/server/index.d.ts +24 -3
  25. package/dist/server/index.js +286 -156
  26. package/dist/server/index.js.map +1 -1
  27. package/dist/spa/assets/{bench-DH4bTOwJ.js → bench-UvOjwMnz.js} +1 -1
  28. package/dist/spa/assets/index-BbR4CZ1K.css +1 -0
  29. package/dist/spa/assets/index-DnQL-Xbv.js +66 -0
  30. package/dist/spa/assets/{index-DCWWFODc.js → index-ov2ocqi5.js} +1 -1
  31. package/dist/spa/assets/{preview-DeC52LPJ.js → preview-BSiqTdta.js} +1 -1
  32. package/dist/spa/bench.html +3 -3
  33. package/dist/spa/index.html +3 -3
  34. package/dist/spa/preview.html +3 -3
  35. package/package.json +2 -2
  36. package/dist/spa/assets/index-LBQc7d3p.css +0 -1
  37. package/dist/spa/assets/index-xUQjm-z_.js +0 -66
@@ -1,5 +1,5 @@
1
1
  import * as _dudousxd_nestjs_durable_core from '@dudousxd/nestjs-durable-core';
2
- import { RunGateway, StateStore, WorkflowEngine, ScheduleListQuery, ScheduleDescription, RunResult, RunQuery, RunListItem, RunFacetQuery, RunFacetRow, RunValueAxis, RunValueFacetOptions, RunValueFacetRow, DurableTopology, GroupHealth, RunDetail, UpdateResult, EngineEvent, AttributeFilter } from '@dudousxd/nestjs-durable-core';
2
+ import { RunGateway, StateStore, WorkflowEngine, ScheduleListQuery, ScheduleDescription, RunResult, RunQuery, RunListItem, RunFacetQuery, RunFacetRow, RunValueAxis, RunValueFacetOptions, RunValueFacetRow, DurableTopology, GroupHealth, RunDetailOptions, RunDetail, FanPageQuery, FanPage, UpdateResult, EngineEvent, AttributeFilter } from '@dudousxd/nestjs-durable-core';
3
3
  export { RunDetail } from '@dudousxd/nestjs-durable-core';
4
4
  import * as rxjs from 'rxjs';
5
5
  import { Observable } from 'rxjs';
@@ -164,7 +164,9 @@ declare class DashboardService {
164
164
  * gateway so it works on BOTH topologies: the control plane returns every group; a tenant proxies
165
165
  * to the operator, which scopes the result to the tenant's own `@<tenant>` groups. */
166
166
  workerHealth(): Promise<GroupHealth[]>;
167
- getRunDetail(runId: string): Promise<RunDetail | null>;
167
+ getRunDetail(runId: string, options?: RunDetailOptions): Promise<RunDetail | null>;
168
+ /** A page of one fan's members, or null when the run is unknown or the gateway can't page fans. */
169
+ getFanMembers(runId: string, group: string, query: FanPageQuery): Promise<FanPage | null>;
168
170
  /** Fix-and-replay a dead/failed run with a corrected input — a fresh linked run. Returns its id. */
169
171
  retryWithInput(runId: string, input: unknown): Promise<{
170
172
  runId: string;
@@ -314,7 +316,26 @@ declare class DurableApiController {
314
316
  triggerSchedule(id: string): Promise<_dudousxd_nestjs_durable_core.RunResult>;
315
317
  /** This deployment's durable role (control plane vs tenant) + tenant name — for the header badge. */
316
318
  topology(): _dudousxd_nestjs_durable_core.DurableTopology;
317
- run(id: string): Promise<_dudousxd_nestjs_durable_core.RunDetail>;
319
+ /**
320
+ * A run's detail. Fans wider than {@link FAN_INLINE_MAX} come back as one `FanSummary` each, their
321
+ * members paged by `runs/:id/fans/:group`; `?full=true` returns every checkpoint instead.
322
+ *
323
+ * When the gateway can version the detail without reading it, the response carries an `ETag`, and
324
+ * a poll whose `If-None-Match` still names it gets a 304 before the timeline is read. The browser
325
+ * sends that header itself (the response is `no-cache`), so a console poll needs no code for it.
326
+ */
327
+ run(id: string, full?: string, ifNoneMatch?: string, response?: unknown): Promise<{
328
+ run: _dudousxd_nestjs_durable_core.WorkflowRun;
329
+ timeline: _dudousxd_nestjs_durable_core.StepCheckpoint[];
330
+ children: string[];
331
+ fans?: _dudousxd_nestjs_durable_core.FanSummary[] | undefined;
332
+ childCount?: number | undefined;
333
+ }>;
334
+ /** One page of a summarized fan's members, in seq order. Versioned like {@link run}. */
335
+ fanMembers(id: string, group: string, offset?: string, limit?: string, failed?: string, ifNoneMatch?: string, response?: unknown): Promise<{
336
+ items: _dudousxd_nestjs_durable_core.StepCheckpoint[];
337
+ total: number;
338
+ }>;
318
339
  /** Server-Sent Events stream of a run's live lifecycle events — the dashboard tails it instead
319
340
  * of polling. Cross-pod when the transport has a control plane (see DashboardService.streamRun). */
320
341
  stream(id: string): rxjs.Observable<{
@@ -1,5 +1,5 @@
1
1
  import * as _dudousxd_nestjs_durable_core from '@dudousxd/nestjs-durable-core';
2
- import { RunGateway, StateStore, WorkflowEngine, ScheduleListQuery, ScheduleDescription, RunResult, RunQuery, RunListItem, RunFacetQuery, RunFacetRow, RunValueAxis, RunValueFacetOptions, RunValueFacetRow, DurableTopology, GroupHealth, RunDetail, UpdateResult, EngineEvent, AttributeFilter } from '@dudousxd/nestjs-durable-core';
2
+ import { RunGateway, StateStore, WorkflowEngine, ScheduleListQuery, ScheduleDescription, RunResult, RunQuery, RunListItem, RunFacetQuery, RunFacetRow, RunValueAxis, RunValueFacetOptions, RunValueFacetRow, DurableTopology, GroupHealth, RunDetailOptions, RunDetail, FanPageQuery, FanPage, UpdateResult, EngineEvent, AttributeFilter } from '@dudousxd/nestjs-durable-core';
3
3
  export { RunDetail } from '@dudousxd/nestjs-durable-core';
4
4
  import * as rxjs from 'rxjs';
5
5
  import { Observable } from 'rxjs';
@@ -164,7 +164,9 @@ declare class DashboardService {
164
164
  * gateway so it works on BOTH topologies: the control plane returns every group; a tenant proxies
165
165
  * to the operator, which scopes the result to the tenant's own `@<tenant>` groups. */
166
166
  workerHealth(): Promise<GroupHealth[]>;
167
- getRunDetail(runId: string): Promise<RunDetail | null>;
167
+ getRunDetail(runId: string, options?: RunDetailOptions): Promise<RunDetail | null>;
168
+ /** A page of one fan's members, or null when the run is unknown or the gateway can't page fans. */
169
+ getFanMembers(runId: string, group: string, query: FanPageQuery): Promise<FanPage | null>;
168
170
  /** Fix-and-replay a dead/failed run with a corrected input — a fresh linked run. Returns its id. */
169
171
  retryWithInput(runId: string, input: unknown): Promise<{
170
172
  runId: string;
@@ -314,7 +316,26 @@ declare class DurableApiController {
314
316
  triggerSchedule(id: string): Promise<_dudousxd_nestjs_durable_core.RunResult>;
315
317
  /** This deployment's durable role (control plane vs tenant) + tenant name — for the header badge. */
316
318
  topology(): _dudousxd_nestjs_durable_core.DurableTopology;
317
- run(id: string): Promise<_dudousxd_nestjs_durable_core.RunDetail>;
319
+ /**
320
+ * A run's detail. Fans wider than {@link FAN_INLINE_MAX} come back as one `FanSummary` each, their
321
+ * members paged by `runs/:id/fans/:group`; `?full=true` returns every checkpoint instead.
322
+ *
323
+ * When the gateway can version the detail without reading it, the response carries an `ETag`, and
324
+ * a poll whose `If-None-Match` still names it gets a 304 before the timeline is read. The browser
325
+ * sends that header itself (the response is `no-cache`), so a console poll needs no code for it.
326
+ */
327
+ run(id: string, full?: string, ifNoneMatch?: string, response?: unknown): Promise<{
328
+ run: _dudousxd_nestjs_durable_core.WorkflowRun;
329
+ timeline: _dudousxd_nestjs_durable_core.StepCheckpoint[];
330
+ children: string[];
331
+ fans?: _dudousxd_nestjs_durable_core.FanSummary[] | undefined;
332
+ childCount?: number | undefined;
333
+ }>;
334
+ /** One page of a summarized fan's members, in seq order. Versioned like {@link run}. */
335
+ fanMembers(id: string, group: string, offset?: string, limit?: string, failed?: string, ifNoneMatch?: string, response?: unknown): Promise<{
336
+ items: _dudousxd_nestjs_durable_core.StepCheckpoint[];
337
+ total: number;
338
+ }>;
318
339
  /** Server-Sent Events stream of a run's live lifecycle events — the dashboard tails it instead
319
340
  * of polling. Cross-pod when the transport has a control plane (see DashboardService.streamRun). */
320
341
  stream(id: string): rxjs.Observable<{