@dudousxd/nestjs-durable-dashboard 0.43.2 → 0.44.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.
@@ -1 +1 @@
1
- import{a as t,c as r,j as e,r as s,Q as n,A as o}from"./index-DdBAFyj-.js";const i=new t({defaultOptions:{queries:{refetchInterval:2e3,refetchOnWindowFocus:!1}}});r(document.getElementById("root")).render(e.jsx(s.StrictMode,{children:e.jsx(n,{client:i,children:e.jsx(o,{})})}));
1
+ import{a as t,c as r,j as e,r as s,Q as n,A as o}from"./index-CgSV49eF.js";const i=new t({defaultOptions:{queries:{refetchInterval:2e3,refetchOnWindowFocus:!1}}});r(document.getElementById("root")).render(e.jsx(s.StrictMode,{children:e.jsx(n,{client:i,children:e.jsx(o,{})})}));
@@ -0,0 +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-CgSV49eF.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})})]})]})})}));
@@ -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-BkMzH-HR.js"></script>
8
- <link rel="modulepreload" crossorigin href="/durable/assets/index-DdBAFyj-.js">
9
- <link rel="stylesheet" crossorigin href="/durable/assets/index-FT0R_fYI.css">
7
+ <script type="module" crossorigin src="/durable/assets/bench-yOUuKPcQ.js"></script>
8
+ <link rel="modulepreload" crossorigin href="/durable/assets/index-CgSV49eF.js">
9
+ <link rel="stylesheet" crossorigin href="/durable/assets/index-B33BBlFU.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="root"></div>
@@ -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-C2xu6VEp.js"></script>
14
- <link rel="modulepreload" crossorigin href="/durable/assets/index-DdBAFyj-.js">
15
- <link rel="stylesheet" crossorigin href="/durable/assets/index-FT0R_fYI.css">
13
+ <script type="module" crossorigin src="/durable/assets/index-DPPVT9Dn.js"></script>
14
+ <link rel="modulepreload" crossorigin href="/durable/assets/index-CgSV49eF.js">
15
+ <link rel="stylesheet" crossorigin href="/durable/assets/index-B33BBlFU.css">
16
16
  </head>
17
17
  <body>
18
18
  <div id="root"></div>
@@ -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-BnCzupOX.js"></script>
14
- <link rel="modulepreload" crossorigin href="/durable/assets/index-DdBAFyj-.js">
15
- <link rel="stylesheet" crossorigin href="/durable/assets/index-FT0R_fYI.css">
13
+ <script type="module" crossorigin src="/durable/assets/preview-BMIiv-Kz.js"></script>
14
+ <link rel="modulepreload" crossorigin href="/durable/assets/index-CgSV49eF.js">
15
+ <link rel="stylesheet" crossorigin href="/durable/assets/index-B33BBlFU.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.43.2",
3
+ "version": "0.44.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",
@@ -38,6 +38,10 @@
38
38
  "files": [
39
39
  "dist"
40
40
  ],
41
+ "dependencies": {
42
+ "@dudousxd/nestjs-filter": "^1.32.0",
43
+ "@dudousxd/nestjs-filter-client": "^1.32.0"
44
+ },
41
45
  "peerDependencies": {
42
46
  "@dudousxd/nestjs-durable-core": ">=0.1.0 <1.0.0",
43
47
  "@nestjs/common": "^10.0.0 || ^11.0.0 || ^12.0.0",
@@ -73,7 +77,7 @@
73
77
  "tsup": "8.3.5",
74
78
  "typescript": "5.9.3",
75
79
  "vite": "5.4.21",
76
- "@dudousxd/nestjs-durable-core": "^0.67.1"
80
+ "@dudousxd/nestjs-durable-core": "^0.68.0"
77
81
  },
78
82
  "peerDependenciesMeta": {
79
83
  "react": {