@dudousxd/nestjs-durable-dashboard 0.47.0 → 0.49.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.
- package/dist/client/durable-client.d.ts +20 -1
- package/dist/client/durable-client.d.ts.map +1 -1
- package/dist/client/durable-client.js +18 -0
- package/dist/client/durable-client.js.map +1 -1
- package/dist/client/folded-children.d.ts +11 -0
- package/dist/client/folded-children.d.ts.map +1 -0
- package/dist/client/folded-children.js +21 -0
- package/dist/client/folded-children.js.map +1 -0
- package/dist/client/group-parallel-spans.d.ts.map +1 -1
- package/dist/client/group-parallel-spans.js +7 -1
- package/dist/client/group-parallel-spans.js.map +1 -1
- package/dist/react/open-console-button.d.ts +1 -1
- package/dist/react/open-console-button.d.ts.map +1 -1
- package/dist/server/index.cjs +225 -36
- package/dist/server/index.cjs.map +1 -1
- package/dist/server/index.d.cts +22 -1
- package/dist/server/index.d.ts +22 -1
- package/dist/server/index.js +225 -36
- package/dist/server/index.js.map +1 -1
- package/dist/spa/assets/{bench-CUr1g1lE.js → bench-DH4bTOwJ.js} +1 -1
- package/dist/spa/assets/{index-y6FJ5_jb.js → index-DCWWFODc.js} +1 -1
- package/dist/spa/assets/index-LBQc7d3p.css +1 -0
- package/dist/spa/assets/index-xUQjm-z_.js +66 -0
- package/dist/spa/assets/{preview-BLtLodf4.js → preview-DeC52LPJ.js} +1 -1
- package/dist/spa/bench.html +3 -3
- package/dist/spa/index.html +3 -3
- package/dist/spa/preview.html +3 -3
- package/package.json +27 -18
- package/dist/spa/assets/index-B4zy_YlF.js +0 -80
- package/dist/spa/assets/index-DzTL9Sp_.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as b,c as x,j as u,r as I,Q as S,A as j,R as q}from"./index-
|
|
1
|
+
import{a as b,c as x,j as u,r as I,Q as S,A as j,R as q}from"./index-xUQjm-z_.js";const l=Date.parse("2026-07-29T09:14:00.000Z"),e=r=>new Date(l+r).toISOString(),h=[{id:"ord-9f2c1a4b",workflow:"checkout",workflowVersion:"4",status:"failed",namespace:"default",origin:"acme-storefront",createdAt:e(-62e4),updatedAt:e(-54e4),tags:["tier:pro","region:us-east"],searchAttributes:{amount:249,tier:"pro"},input:{orderId:"ord-9f2c1a4b",amount:249,currency:"USD"},error:{message:"charge declined: card_expired (stripe: card_error)"}},{id:"ord-77ab3012",workflow:"checkout",workflowVersion:"4",status:"completed",origin:"acme-storefront",createdAt:e(-18e5),updatedAt:e(-1744e3),tags:["tier:free"],input:{orderId:"ord-77ab3012",amount:19},output:{charged:!0}},{id:"inv-2b91ee70",workflow:"invoiceSettlement",workflowVersion:"2",status:"completed",createdAt:e(-21e5),updatedAt:e(-201e4),input:{invoice:"INV-4471"}},{id:"shp-01d4f7c9",workflow:"shipmentSync",workflowVersion:"1",status:"running",origin:"@dudousxd/nestjs-catalog-pipeline",createdAt:e(-9e4),updatedAt:e(-4e3),input:{carrier:"dhl"}},{id:"shp-55c2aa18",workflow:"shipmentSync",workflowVersion:"1",status:"completed",origin:"@dudousxd/nestjs-catalog-pipeline",createdAt:e(-34e5),updatedAt:e(-333e4),input:{carrier:"ups"}},{id:"rep-8812cd44",workflow:"nightlyReport",workflowVersion:"7",status:"suspended",namespace:"acme",origin:"@dudousxd/nestjs-agent",createdAt:e(-54e5),updatedAt:e(-3e5),waiting:{on:"signal",name:"approve"},input:{day:"2026-07-28"}},{id:"ord-1177fe22",workflow:"checkout",workflowVersion:"4",status:"completed",namespace:"acme",origin:"acme-storefront",createdAt:e(-72e5),updatedAt:e(-712e4),tags:["tier:pro"],input:{orderId:"ord-1177fe22",amount:640},output:{charged:!0}},{id:"bck-4410aa03",workflow:"backfillLedger",workflowVersion:"1",status:"cancelled",createdAt:e(-9e6),updatedAt:e(-888e4),input:{from:"2026-01-01"}},{id:"ord-6650bb91",workflow:"checkout",workflowVersion:"4",status:"pending",origin:"acme-storefront",createdAt:e(-12e3),updatedAt:e(-12e3),input:{orderId:"ord-6650bb91",amount:78}}],M=[{runId:"ord-9f2c1a4b",seq:1,name:"reserveInventory",kind:"remote",status:"completed",attempts:1,workerGroup:"inventory",enqueuedAt:e(-619e3),startedAt:e(-618200),finishedAt:e(-615900),input:{sku:"SKU-8823",qty:1},output:{reservationId:"rsv-77120"}},{runId:"ord-9f2c1a4b",seq:2,name:"quoteShipping",kind:"remote",status:"completed",attempts:1,workerGroup:"shipping",enqueuedAt:e(-615800),startedAt:e(-615100),finishedAt:e(-612400),output:{carrier:"dhl",cents:890}},{runId:"ord-9f2c1a4b",seq:3,name:"chargeCard",kind:"remote",status:"failed",attempts:3,workerGroup:"payments",enqueuedAt:e(-612300),startedAt:e(-611800),finishedAt:e(-54e4),input:{amount:249,currency:"USD"},error:{message:"charge declined: card_expired (stripe: card_error)"},events:[{at:l-611700,level:"info",message:"attempt 1 → gateway timeout, retrying"},{at:l-59e4,level:"warn",message:"attempt 2 → gateway timeout, retrying"},{at:l-540200,level:"error",message:"attempt 3 → card_expired, giving up"}]}],R=[{runId:"shp-01d4f7c9",seq:1,name:"fetchManifest",kind:"remote",status:"completed",attempts:1,workerGroup:"shipping",enqueuedAt:e(-89e3),startedAt:e(-88400),finishedAt:e(-84100),output:{parcels:42}},{runId:"shp-01d4f7c9",seq:2,name:"syncCarrier",kind:"remote",status:"pending",attempts:1,workerGroup:"shipping",enqueuedAt:e(-84e3),startedAt:e(-83600),finishedAt:e(-4e3),input:{carrier:"dhl",parcels:42}}],_={"shp-01d4f7c9":{run:h[3],timeline:R,children:[]},"ord-9f2c1a4b":{run:h[0],timeline:M,children:[]}},C=[{group:"checkout",kind:"workflow",depth:0,liveWorkers:[{group:"checkout",instanceId:"api-7f9c4d-2",lastBeatAt:l-2e3,status:{runtime:"node",concurrency:{mode:"adaptive",limit:16,min:4,max:32},inFlight:3,rssPct:41,cpuPct:22,throughputPerMin:118,p95Ms:740,lastAdjust:{at:l-61e3,from:12,to:16,reason:"grow"}}}]},{group:"payments",kind:"step",depth:2,liveWorkers:[{group:"payments",instanceId:"worker-payments-5b81",lastBeatAt:l-3500,status:{runtime:"node",concurrency:{mode:"fixed",limit:8},inFlight:7,rssPct:88,cpuPct:63,throughputPerMin:44,p95Ms:2310}}]},{group:"inventory",kind:"step",depth:0,liveWorkers:[{group:"inventory",instanceId:"worker-inventory-11ce",lastBeatAt:l-1200,status:{runtime:"python",concurrency:{mode:"fixed",limit:4},inFlight:1}}]},{group:"shipping",kind:"step",depth:6,liveWorkers:[]}],V={role:"control-plane"};function N(r){const t=new Map;for(const[n,s]of new URLSearchParams(r??"")){const i=/^filter\[where\]\[(\d+)\]\[(field|operator|value)\](?:\[(\d+)\])?$/.exec(n);if(!i)continue;const[,o,c,f]=i,a=t.get(o)??{field:"",operator:"",value:""};if(c==="value"&&f!==void 0){const d=Array.isArray(a.value)?a.value:[];d[Number(f)]=s,a.value=d}else c==="value"?a.value=s:a[c]=s;t.set(o,a)}return[...t.entries()].sort(([n],[s])=>Number(n)-Number(s)).map(([,n])=>n)}function v(r,t){var n;if(t==="tag")return r.tags??[];if(t==="namespace")return[r.namespace??"default"];if(t==="origin")return[r.origin??null];if(t==="status")return[r.status];if(t==="workflow")return[r.workflow];if(t==="attr")return Object.keys(r.searchAttributes??{});if(t.startsWith("attr.")){const s=(n=r.searchAttributes)==null?void 0:n[t.slice(5)];return s===void 0?[]:[String(s)]}return[]}function w(r){return h.filter(t=>N(r).every(n=>{const s=v(t,n.field);if(n.operator==="isNull")return s.includes(null);const i=Array.isArray(n.value)?n.value:[n.value];return s.some(o=>o!==null&&i.includes(o))}))}function P(r){var i;const[t,n]=r.split("?");if(t==="/runs")return w(n);if(t==="/runs/facets"){const o=new Map;for(const c of w(n)){const f=c.origin??null,a=`${c.status}|${f}`,d=o.get(a)??{status:c.status,origin:f,count:0};d.count+=1,o.set(a,d)}return[...o.values()]}if(t==="/runs/values"){const o=new URLSearchParams(n??""),c=o.get("groupByCount[field]")??"",f=Number(o.get("groupByCount[limit]")??100),a=new Map;for(const d of w(n))for(const g of v(d,c))a.set(g,(a.get(g)??0)+1);return[...a].map(([d,g])=>({value:d,count:g})).sort((d,g)=>g.count-d.count||String(d.value).localeCompare(String(g.value))).slice(0,f)}if(t==="/workers")return C;if(t==="/topology")return V;const s=(i=t==null?void 0:t.match(/^\/runs\/(.+)$/))==null?void 0:i[1];if(s){const o=decodeURIComponent(s);return _[o]??{run:h.find(c=>c.id===o),timeline:[],children:[]}}}function T(){const r=window.fetch.bind(window);window.fetch=async(t,n)=>{const i=(typeof t=="string"?t:t instanceof URL?t.href:t.url).match(/\/durable\/api(\/.*)$/),o=i!=null&&i[1]?P(i[1]):void 0;return o===void 0?r(t,n):new Response(JSON.stringify(o),{status:200,headers:{"content-type":"application/json"}})}}const p=r=>new Date(r).toISOString(),m=Date.parse("2026-06-22T14:00:00.000Z"),U="gather:1",O=[{name:"handle_AF_FLEET",start:2e3,end:8200},{name:"handle_MEL",start:2120,end:6900},{name:"handle_METADATA",start:2050,end:5400},{name:"handle_MVR",start:2300,end:9600,failed:!0},{name:"handle_SCHED_MX",start:2080,end:7300},{name:"handle_SUBWO",start:2260,end:8900},{name:"handle_UTIL",start:2010,end:4700}],D=O.map((r,t)=>({runId:"mock-run",seq:2+t,name:r.name,kind:"remote",status:r.failed?"failed":"completed",parallelGroup:U,attempts:1,workerGroup:"gather",startedAt:p(m+r.start),finishedAt:p(m+r.end),...r.failed?{error:{message:"MVR lookup timed out after 7s"}}:{}})),E=[{runId:"mock-run",seq:1,name:"setup",kind:"local",status:"completed",attempts:1,startedAt:p(m+0),finishedAt:p(m+1800)},...D,{runId:"mock-run",seq:9,name:"finalize",kind:"local",status:"completed",attempts:1,startedAt:p(m+9700),finishedAt:p(m+11200)}],A={run:{id:"mock-run",workflow:"gatherAircraftData",workflowVersion:"1",status:"completed",createdAt:p(m),updatedAt:p(m+11200)},timeline:E},F=new b({defaultOptions:{queries:{refetchInterval:!1,refetchOnWindowFocus:!1}}}),k=()=>{},y=new URLSearchParams(window.location.search).get("view")==="console";y&&T();x(document.getElementById("root")).render(u.jsx(I.StrictMode,{children:u.jsx(S,{client:F,children:y?u.jsx(j,{}):u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"app-bg"}),u.jsxs("div",{className:"relative z-10 mx-auto max-w-3xl p-8",children:[u.jsx("div",{className:"mb-3 mono text-[10px] uppercase tracking-[0.2em] text-zinc-500",children:"preview · parallel-fan timeline"}),u.jsx("div",{className:"rounded-lg border border-line bg-panel p-2",children:u.jsx(q,{run:A.run,timeline:A.timeline,depth:0,selectedKey:void 0,onSelect:k,onOpenRun:k,expanded:new Set,onToggleChild:k})})]})]})})}));
|
package/dist/spa/bench.html
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
<meta charset="utf-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
6
|
<title>durable · scale bench</title>
|
|
7
|
-
<script type="module" crossorigin src="/durable/assets/bench-
|
|
8
|
-
<link rel="modulepreload" crossorigin href="/durable/assets/index-
|
|
9
|
-
<link rel="stylesheet" crossorigin href="/durable/assets/index-
|
|
7
|
+
<script type="module" crossorigin src="/durable/assets/bench-DH4bTOwJ.js"></script>
|
|
8
|
+
<link rel="modulepreload" crossorigin href="/durable/assets/index-xUQjm-z_.js">
|
|
9
|
+
<link rel="stylesheet" crossorigin href="/durable/assets/index-LBQc7d3p.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
|
12
12
|
<div id="root"></div>
|
package/dist/spa/index.html
CHANGED
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
rel="stylesheet"
|
|
11
11
|
/>
|
|
12
12
|
<title>durable · control plane</title>
|
|
13
|
-
<script type="module" crossorigin src="/durable/assets/index-
|
|
14
|
-
<link rel="modulepreload" crossorigin href="/durable/assets/index-
|
|
15
|
-
<link rel="stylesheet" crossorigin href="/durable/assets/index-
|
|
13
|
+
<script type="module" crossorigin src="/durable/assets/index-DCWWFODc.js"></script>
|
|
14
|
+
<link rel="modulepreload" crossorigin href="/durable/assets/index-xUQjm-z_.js">
|
|
15
|
+
<link rel="stylesheet" crossorigin href="/durable/assets/index-LBQc7d3p.css">
|
|
16
16
|
</head>
|
|
17
17
|
<body>
|
|
18
18
|
<div id="root"></div>
|
package/dist/spa/preview.html
CHANGED
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
rel="stylesheet"
|
|
11
11
|
/>
|
|
12
12
|
<title>durable · parallel-fan preview</title>
|
|
13
|
-
<script type="module" crossorigin src="/durable/assets/preview-
|
|
14
|
-
<link rel="modulepreload" crossorigin href="/durable/assets/index-
|
|
15
|
-
<link rel="stylesheet" crossorigin href="/durable/assets/index-
|
|
13
|
+
<script type="module" crossorigin src="/durable/assets/preview-DeC52LPJ.js"></script>
|
|
14
|
+
<link rel="modulepreload" crossorigin href="/durable/assets/index-xUQjm-z_.js">
|
|
15
|
+
<link rel="stylesheet" crossorigin href="/durable/assets/index-LBQc7d3p.css">
|
|
16
16
|
</head>
|
|
17
17
|
<body>
|
|
18
18
|
<div id="root"></div>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dudousxd/nestjs-durable-dashboard",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.49.0",
|
|
4
4
|
"description": "Embedded control plane (runs, step timeline, retry/cancel) for nestjs-durable — bundled React SPA served by NestJS",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Davide Carvalho",
|
|
@@ -9,6 +9,15 @@
|
|
|
9
9
|
"url": "https://github.com/DavideCarvalho/nestjs-durable.git",
|
|
10
10
|
"directory": "packages/dashboard"
|
|
11
11
|
},
|
|
12
|
+
"homepage": "https://davidecarvalho.github.io/aviary/docs/durable",
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/DavideCarvalho/nestjs-durable/issues"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"nestjs",
|
|
18
|
+
"durable",
|
|
19
|
+
"dashboard"
|
|
20
|
+
],
|
|
12
21
|
"type": "module",
|
|
13
22
|
"main": "./dist/server/index.cjs",
|
|
14
23
|
"module": "./dist/server/index.js",
|
|
@@ -39,8 +48,8 @@
|
|
|
39
48
|
"dist"
|
|
40
49
|
],
|
|
41
50
|
"dependencies": {
|
|
42
|
-
"@dudousxd/nestjs-filter": "
|
|
43
|
-
"@dudousxd/nestjs-filter-client": "
|
|
51
|
+
"@dudousxd/nestjs-filter": "1.33.0",
|
|
52
|
+
"@dudousxd/nestjs-filter-client": "1.33.0"
|
|
44
53
|
},
|
|
45
54
|
"peerDependencies": {
|
|
46
55
|
"@dudousxd/nestjs-durable-core": ">=0.1.0 <1.0.0",
|
|
@@ -52,35 +61,35 @@
|
|
|
52
61
|
"rxjs": "^7.0.0"
|
|
53
62
|
},
|
|
54
63
|
"devDependencies": {
|
|
55
|
-
"@base-ui
|
|
64
|
+
"@base-ui/react": "1.8.0",
|
|
56
65
|
"@nestjs/common": "12.0.1",
|
|
57
66
|
"@nestjs/core": "12.0.1",
|
|
58
67
|
"@nestjs/platform-express": "12.0.1",
|
|
59
|
-
"@tanstack/react-query": "5.
|
|
60
|
-
"@tanstack/react-virtual": "
|
|
61
|
-
"@testing-library/dom": "
|
|
62
|
-
"@testing-library/react": "
|
|
63
|
-
"@types/react": "18.3.
|
|
64
|
-
"@types/react-dom": "18.3.
|
|
65
|
-
"@types/supertest": "
|
|
66
|
-
"@vitejs/plugin-react": "4.
|
|
68
|
+
"@tanstack/react-query": "5.102.8",
|
|
69
|
+
"@tanstack/react-virtual": "3.14.13",
|
|
70
|
+
"@testing-library/dom": "10.4.2",
|
|
71
|
+
"@testing-library/react": "16.3.3",
|
|
72
|
+
"@types/react": "18.3.31",
|
|
73
|
+
"@types/react-dom": "18.3.7",
|
|
74
|
+
"@types/supertest": "6.0.3",
|
|
75
|
+
"@vitejs/plugin-react": "4.7.0",
|
|
67
76
|
"@xyflow/react": "12.3.6",
|
|
68
77
|
"autoprefixer": "10.4.20",
|
|
69
78
|
"class-variance-authority": "0.7.1",
|
|
70
79
|
"clsx": "2.1.1",
|
|
71
|
-
"esbuild": "0.28.
|
|
72
|
-
"happy-dom": "
|
|
73
|
-
"postcss": "8.
|
|
80
|
+
"esbuild": "0.28.2",
|
|
81
|
+
"happy-dom": "20.11.1",
|
|
82
|
+
"postcss": "8.5.28",
|
|
74
83
|
"react": "18.3.1",
|
|
75
84
|
"react-dom": "18.3.1",
|
|
76
85
|
"reflect-metadata": "0.2.2",
|
|
77
|
-
"supertest": "
|
|
86
|
+
"supertest": "7.2.2",
|
|
78
87
|
"tailwind-merge": "3.6.0",
|
|
79
|
-
"tailwindcss": "3.4.
|
|
88
|
+
"tailwindcss": "3.4.19",
|
|
80
89
|
"tsup": "8.3.5",
|
|
81
90
|
"typescript": "5.9.3",
|
|
82
91
|
"vite": "5.4.21",
|
|
83
|
-
"@dudousxd/nestjs-durable-core": "^0.
|
|
92
|
+
"@dudousxd/nestjs-durable-core": "^0.74.0"
|
|
84
93
|
},
|
|
85
94
|
"peerDependenciesMeta": {
|
|
86
95
|
"react": {
|