runling 0.1.1

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 (182) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +63 -0
  3. package/bin/runling.js +26 -0
  4. package/bin/workflow-loader.js +10 -0
  5. package/dist/extensions/web-fetch.d.ts +8 -0
  6. package/dist/extensions/web-fetch.js +245 -0
  7. package/dist/src/agent.d.ts +78 -0
  8. package/dist/src/agent.js +450 -0
  9. package/dist/src/ansi.d.ts +1 -0
  10. package/dist/src/ansi.js +9 -0
  11. package/dist/src/cli.d.ts +8 -0
  12. package/dist/src/cli.js +46 -0
  13. package/dist/src/config-reloader.d.ts +20 -0
  14. package/dist/src/config-reloader.js +110 -0
  15. package/dist/src/events.d.ts +82 -0
  16. package/dist/src/events.js +21 -0
  17. package/dist/src/git.d.ts +9 -0
  18. package/dist/src/git.js +82 -0
  19. package/dist/src/id.d.ts +1 -0
  20. package/dist/src/id.js +7 -0
  21. package/dist/src/index.d.ts +15 -0
  22. package/dist/src/index.js +14 -0
  23. package/dist/src/input.d.ts +14 -0
  24. package/dist/src/input.js +49 -0
  25. package/dist/src/log.d.ts +35 -0
  26. package/dist/src/log.js +92 -0
  27. package/dist/src/markdown.d.ts +2 -0
  28. package/dist/src/markdown.js +32 -0
  29. package/dist/src/model.d.ts +5 -0
  30. package/dist/src/model.js +10 -0
  31. package/dist/src/paths.d.ts +10 -0
  32. package/dist/src/paths.js +18 -0
  33. package/dist/src/runner.d.ts +43 -0
  34. package/dist/src/runner.js +200 -0
  35. package/dist/src/runtime.d.ts +62 -0
  36. package/dist/src/runtime.js +44 -0
  37. package/dist/src/schema.d.ts +3 -0
  38. package/dist/src/schema.js +17 -0
  39. package/dist/src/shell.d.ts +47 -0
  40. package/dist/src/shell.js +170 -0
  41. package/dist/src/step.d.ts +5 -0
  42. package/dist/src/step.js +39 -0
  43. package/dist/src/system-prompt.d.ts +2 -0
  44. package/dist/src/system-prompt.js +23 -0
  45. package/dist/src/text.d.ts +2 -0
  46. package/dist/src/text.js +6 -0
  47. package/dist/src/tui.d.ts +46 -0
  48. package/dist/src/tui.js +477 -0
  49. package/dist/src/usage.d.ts +35 -0
  50. package/dist/src/usage.js +90 -0
  51. package/dist/src/utils.d.ts +2 -0
  52. package/dist/src/utils.js +16 -0
  53. package/dist/src/web-config.d.ts +16 -0
  54. package/dist/src/web-config.js +22 -0
  55. package/dist/src/web-server.d.ts +8 -0
  56. package/dist/src/web-server.js +91 -0
  57. package/dist/src/workflow.d.ts +11 -0
  58. package/dist/src/workflow.js +39 -0
  59. package/dist/web/client/_app/immutable/assets/0.DkxYLsNr.css +1 -0
  60. package/dist/web/client/_app/immutable/assets/0.DkxYLsNr.css.br +0 -0
  61. package/dist/web/client/_app/immutable/assets/0.DkxYLsNr.css.gz +0 -0
  62. package/dist/web/client/_app/immutable/assets/2.D0D6RatL.css +1 -0
  63. package/dist/web/client/_app/immutable/assets/2.D0D6RatL.css.br +0 -0
  64. package/dist/web/client/_app/immutable/assets/2.D0D6RatL.css.gz +0 -0
  65. package/dist/web/client/_app/immutable/assets/plus-jakarta-sans-latin-ext-wght-italic.DJWiFoht.woff2 +0 -0
  66. package/dist/web/client/_app/immutable/assets/plus-jakarta-sans-latin-ext-wght-normal.DmpS2jIq.woff2 +0 -0
  67. package/dist/web/client/_app/immutable/assets/plus-jakarta-sans-latin-wght-italic.DnD1KgkH.woff2 +0 -0
  68. package/dist/web/client/_app/immutable/assets/plus-jakarta-sans-latin-wght-normal.eXO_dkmS.woff2 +0 -0
  69. package/dist/web/client/_app/immutable/assets/plus-jakarta-sans-vietnamese-wght-italic.CPBsCcxN.woff2 +0 -0
  70. package/dist/web/client/_app/immutable/assets/plus-jakarta-sans-vietnamese-wght-normal.qRpaaN48.woff2 +0 -0
  71. package/dist/web/client/_app/immutable/chunks/DVu8M-Ny.js +1 -0
  72. package/dist/web/client/_app/immutable/chunks/DVu8M-Ny.js.br +0 -0
  73. package/dist/web/client/_app/immutable/chunks/DVu8M-Ny.js.gz +0 -0
  74. package/dist/web/client/_app/immutable/chunks/DZ8VO57n.js +2 -0
  75. package/dist/web/client/_app/immutable/chunks/DZ8VO57n.js.br +0 -0
  76. package/dist/web/client/_app/immutable/chunks/DZ8VO57n.js.gz +0 -0
  77. package/dist/web/client/_app/immutable/chunks/DcSF4jBT.js +2 -0
  78. package/dist/web/client/_app/immutable/chunks/DcSF4jBT.js.br +0 -0
  79. package/dist/web/client/_app/immutable/chunks/DcSF4jBT.js.gz +0 -0
  80. package/dist/web/client/_app/immutable/chunks/DhqrxzQW.js +1 -0
  81. package/dist/web/client/_app/immutable/chunks/DhqrxzQW.js.br +0 -0
  82. package/dist/web/client/_app/immutable/chunks/DhqrxzQW.js.gz +0 -0
  83. package/dist/web/client/_app/immutable/chunks/DqKc9n9r.js +1 -0
  84. package/dist/web/client/_app/immutable/chunks/DqKc9n9r.js.br +0 -0
  85. package/dist/web/client/_app/immutable/chunks/DqKc9n9r.js.gz +0 -0
  86. package/dist/web/client/_app/immutable/chunks/EYhLy6Dm.js +1 -0
  87. package/dist/web/client/_app/immutable/chunks/EYhLy6Dm.js.br +0 -0
  88. package/dist/web/client/_app/immutable/chunks/EYhLy6Dm.js.gz +0 -0
  89. package/dist/web/client/_app/immutable/chunks/Jt-Bo-2J.js +1 -0
  90. package/dist/web/client/_app/immutable/chunks/Jt-Bo-2J.js.br +0 -0
  91. package/dist/web/client/_app/immutable/chunks/Jt-Bo-2J.js.gz +0 -0
  92. package/dist/web/client/_app/immutable/chunks/N_quh2N-.js +1 -0
  93. package/dist/web/client/_app/immutable/chunks/N_quh2N-.js.br +0 -0
  94. package/dist/web/client/_app/immutable/chunks/N_quh2N-.js.gz +0 -0
  95. package/dist/web/client/_app/immutable/chunks/wbPk3Yxo.js +81 -0
  96. package/dist/web/client/_app/immutable/chunks/wbPk3Yxo.js.br +0 -0
  97. package/dist/web/client/_app/immutable/chunks/wbPk3Yxo.js.gz +0 -0
  98. package/dist/web/client/_app/immutable/entry/app.YNAAR_x0.js +2 -0
  99. package/dist/web/client/_app/immutable/entry/app.YNAAR_x0.js.br +0 -0
  100. package/dist/web/client/_app/immutable/entry/app.YNAAR_x0.js.gz +0 -0
  101. package/dist/web/client/_app/immutable/entry/start.BQmDILhe.js +1 -0
  102. package/dist/web/client/_app/immutable/entry/start.BQmDILhe.js.br +0 -0
  103. package/dist/web/client/_app/immutable/entry/start.BQmDILhe.js.gz +0 -0
  104. package/dist/web/client/_app/immutable/nodes/0.DNWnBVC3.js +1 -0
  105. package/dist/web/client/_app/immutable/nodes/0.DNWnBVC3.js.br +0 -0
  106. package/dist/web/client/_app/immutable/nodes/0.DNWnBVC3.js.gz +0 -0
  107. package/dist/web/client/_app/immutable/nodes/1.CZEgzXeT.js +1 -0
  108. package/dist/web/client/_app/immutable/nodes/1.CZEgzXeT.js.br +0 -0
  109. package/dist/web/client/_app/immutable/nodes/1.CZEgzXeT.js.gz +0 -0
  110. package/dist/web/client/_app/immutable/nodes/2.BSE8F3Ef.js +19 -0
  111. package/dist/web/client/_app/immutable/nodes/2.BSE8F3Ef.js.br +0 -0
  112. package/dist/web/client/_app/immutable/nodes/2.BSE8F3Ef.js.gz +0 -0
  113. package/dist/web/client/_app/version.json +1 -0
  114. package/dist/web/client/_app/version.json.br +0 -0
  115. package/dist/web/client/_app/version.json.gz +0 -0
  116. package/dist/web/env.js +70 -0
  117. package/dist/web/env.js.map +1 -0
  118. package/dist/web/handler.js +23 -0
  119. package/dist/web/handler.js.map +1 -0
  120. package/dist/web/index.js +146 -0
  121. package/dist/web/index.js.map +1 -0
  122. package/dist/web/server/chunks/chunks/exports.js-BZBK1HC9.js +161 -0
  123. package/dist/web/server/chunks/chunks/exports.js-BZBK1HC9.js.map +1 -0
  124. package/dist/web/server/chunks/chunks/internal.js-pcXelyRW.js +126 -0
  125. package/dist/web/server/chunks/chunks/internal.js-pcXelyRW.js.map +1 -0
  126. package/dist/web/server/chunks/chunks/root.js-HNgH7zyW.js +4349 -0
  127. package/dist/web/server/chunks/chunks/root.js-HNgH7zyW.js.map +1 -0
  128. package/dist/web/server/chunks/chunks/run-store.js-Dgbf5-M9.js +174 -0
  129. package/dist/web/server/chunks/chunks/run-store.js-Dgbf5-M9.js.map +1 -0
  130. package/dist/web/server/chunks/chunks/runs.js-vPPJr_ta.js +20 -0
  131. package/dist/web/server/chunks/chunks/runs.js-vPPJr_ta.js.map +1 -0
  132. package/dist/web/server/chunks/chunks/server.js-Bf8x1V_n.js +16 -0
  133. package/dist/web/server/chunks/chunks/server.js-Bf8x1V_n.js.map +1 -0
  134. package/dist/web/server/chunks/chunks/state.svelte.js-lAA5-aPf.js +12 -0
  135. package/dist/web/server/chunks/chunks/state.svelte.js-lAA5-aPf.js.map +1 -0
  136. package/dist/web/server/chunks/chunks/stream.js-CHB18nO5.js +51 -0
  137. package/dist/web/server/chunks/chunks/stream.js-CHB18nO5.js.map +1 -0
  138. package/dist/web/server/chunks/chunks/uneval.js-5Y6J9rDU.js +530 -0
  139. package/dist/web/server/chunks/chunks/uneval.js-5Y6J9rDU.js.map +1 -0
  140. package/dist/web/server/chunks/chunks/utils.js-BQzn9ikS.js +38 -0
  141. package/dist/web/server/chunks/chunks/utils.js-BQzn9ikS.js.map +1 -0
  142. package/dist/web/server/chunks/chunks/utils2.js-CPBdgO4h.js +1627 -0
  143. package/dist/web/server/chunks/chunks/utils2.js-CPBdgO4h.js.map +1 -0
  144. package/dist/web/server/chunks/chunks/web-config.js-CAwLL_g4.js +12 -0
  145. package/dist/web/server/chunks/chunks/web-config.js-CAwLL_g4.js.map +1 -0
  146. package/dist/web/server/chunks/chunks/webhook.js-nEb5r1eG.js +62 -0
  147. package/dist/web/server/chunks/chunks/webhook.js-nEb5r1eG.js.map +1 -0
  148. package/dist/web/server/chunks/entries/endpoints/api/config/events/_server.ts.js-DwgI16MG.js +20 -0
  149. package/dist/web/server/chunks/entries/endpoints/api/config/events/_server.ts.js-DwgI16MG.js.map +1 -0
  150. package/dist/web/server/chunks/entries/endpoints/api/runs/_id_/_server.ts.js-BSKmJv3K.js +14 -0
  151. package/dist/web/server/chunks/entries/endpoints/api/runs/_id_/_server.ts.js-BSKmJv3K.js.map +1 -0
  152. package/dist/web/server/chunks/entries/endpoints/api/runs/_id_/events/_server.ts.js-CWWee51l.js +23 -0
  153. package/dist/web/server/chunks/entries/endpoints/api/runs/_id_/events/_server.ts.js-CWWee51l.js.map +1 -0
  154. package/dist/web/server/chunks/entries/endpoints/api/runs/events/_server.ts.js-CY2mz9bH.js +28 -0
  155. package/dist/web/server/chunks/entries/endpoints/api/runs/events/_server.ts.js-CY2mz9bH.js.map +1 -0
  156. package/dist/web/server/chunks/entries/endpoints/api/runs/start/_name_/_server.ts.js-CD4RKiK6.js +30 -0
  157. package/dist/web/server/chunks/entries/endpoints/api/runs/start/_name_/_server.ts.js-CD4RKiK6.js.map +1 -0
  158. package/dist/web/server/chunks/entries/endpoints/api/webhooks/_name_/_server.ts.js-Dgh42cDJ.js +28 -0
  159. package/dist/web/server/chunks/entries/endpoints/api/webhooks/_name_/_server.ts.js-Dgh42cDJ.js.map +1 -0
  160. package/dist/web/server/chunks/entries/fallbacks/error.svelte.js-LEaHcOM2.js +27 -0
  161. package/dist/web/server/chunks/entries/fallbacks/error.svelte.js-LEaHcOM2.js.map +1 -0
  162. package/dist/web/server/chunks/entries/pages/_layout.svelte.js-D_wzPsk8.js +8 -0
  163. package/dist/web/server/chunks/entries/pages/_layout.svelte.js-D_wzPsk8.js.map +1 -0
  164. package/dist/web/server/chunks/entries/pages/_page.server.ts.js-oVQ0hBaN.js +27 -0
  165. package/dist/web/server/chunks/entries/pages/_page.server.ts.js-oVQ0hBaN.js.map +1 -0
  166. package/dist/web/server/chunks/entries/pages/_page.svelte.js-B7fSvh9U.js +141 -0
  167. package/dist/web/server/chunks/entries/pages/_page.svelte.js-B7fSvh9U.js.map +1 -0
  168. package/dist/web/server/chunks/handler-BpKA6eGq.js +1734 -0
  169. package/dist/web/server/chunks/handler-BpKA6eGq.js.map +1 -0
  170. package/dist/web/server/chunks/index.js-CVS44OGr.js +4157 -0
  171. package/dist/web/server/chunks/index.js-CVS44OGr.js.map +1 -0
  172. package/dist/web/server/chunks/manifest.js-CnB5rB3W.js +84 -0
  173. package/dist/web/server/chunks/manifest.js-CnB5rB3W.js.map +1 -0
  174. package/dist/web/server/chunks/nodes/0.js-BqA14fLU.js +9 -0
  175. package/dist/web/server/chunks/nodes/0.js-BqA14fLU.js.map +1 -0
  176. package/dist/web/server/chunks/nodes/1.js-DzvhRJCS.js +9 -0
  177. package/dist/web/server/chunks/nodes/1.js-DzvhRJCS.js.map +1 -0
  178. package/dist/web/server/chunks/nodes/2.js-DmujW_AW.js +20 -0
  179. package/dist/web/server/chunks/nodes/2.js-DmujW_AW.js.map +1 -0
  180. package/dist/web/shims.js +33 -0
  181. package/dist/web/shims.js.map +1 -0
  182. package/package.json +69 -0
@@ -0,0 +1 @@
1
+ import{s as r}from"../chunks/DcSF4jBT.js";import{y as t}from"../chunks/Jt-Bo-2J.js";export{t as load_css,r as start};
@@ -0,0 +1 @@
1
+ import{c as s,a as c}from"../chunks/N_quh2N-.js";import{n as p,E as i,j as m}from"../chunks/DqKc9n9r.js";import{B as f}from"../chunks/DVu8M-Ny.js";function l(a,r,...n){var o=new f(a);p(()=>{const e=r()??null;o.ensure(e,e&&(t=>e(t,...n)))},i)}function E(a,r){var n=s(),o=m(n);l(o,()=>r.children),c(a,n)}export{E as component};
@@ -0,0 +1 @@
1
+ import{a as u,f as g}from"../chunks/N_quh2N-.js";import{i as c,j as h,t as l,k as v,o as a,l as _}from"../chunks/DqKc9n9r.js";import{s as e}from"../chunks/DZ8VO57n.js";import{p as s}from"../chunks/Jt-Bo-2J.js";const x={get error(){return s.error},get status(){return s.status}},o=x;var d=g("<h1> </h1> <p> </p>",1);function y(p,m){c(m,!0);var r=d(),t=h(r),n=a(t,!0),f=_(t,2),i=a(f,!0);l(()=>{e(n,o.status),e(i,o.error?.message)}),u(p,r),v()}export{y as component};
@@ -0,0 +1,19 @@
1
+ import{a as z,f as O,c as da,d as Ba}from"../chunks/N_quh2N-.js";import{o as vt}from"../chunks/DhqrxzQW.js";import{h as ke,q as va,n as Pt,c as Tt,x as yt,V as fa,H as a,v as Fa,ab as Wa,w as Qt,y as wt,e as bt,an as pa,av as Ua,ah as $t,a as Fe,aI as He,b as Et,aJ as Pa,s as ja,Q as Ya,aK as Ja,aL as Xa,az as Va,a8 as ea,aM as Ka,L as Za,r as ha,p as ga,aN as Rt,aO as Ga,as as Qa,m as $a,d as ma,au as jt,aP as Yt,ap as qt,aQ as ba,a5 as en,aR as tn,aS as an,aT as nn,z as Jt,aU as ta,aV as aa,a4 as sn,aW as _a,aX as ya,aY as rn,aZ as ln,a_ as on,a$ as un,b0 as cn,b1 as dn,b2 as vn,aB as Bt,g as fn,A as pn,i as Ue,t as P,k as Pe,l as o,aD as h,J as m,aE as p,aC as F,j as We,o as M,aF as $,I as Ft,b3 as hn,ai as xt,b4 as gn,b5 as mn}from"../chunks/DqKc9n9r.js";import{d as st,a as j,s as k,e as Ge}from"../chunks/DZ8VO57n.js";import{p as bn,i as le,b as at}from"../chunks/EYhLy6Dm.js";import{B as _n}from"../chunks/DVu8M-Ny.js";import{i as yn}from"../chunks/DcSF4jBT.js";const wn=Symbol("NaN");function xn(t,e,n){ke&&va();var s=new _n(t);Pt(()=>{var r=e();r!==r&&(r=wn),s.ensure(r,n)})}function wa(t,e){return e}function kn(t,e,n){for(var s=[],r=e.length,i,u=e.length,c=0;c<r;c++){let b=e[c];ga(b,()=>{if(i){if(i.pending.delete(b),i.done.add(b),i.pending.size===0){var f=t.outrogroups;Wt(t,jt(i.done)),f.delete(i),f.size===0&&(t.outrogroups=null)}}else u-=1},!1)}if(u===0){var v=s.length===0&&n!==null&&t.pending.size===0;if(v){var d=n,l=d.parentNode;Qa(l),l.append(d),t.items.clear()}Wt(t,e,!v)}else i={pending:new Set(e),done:new Set},(t.outrogroups??=new Set).add(i)}function Wt(t,e,n=!0){var s;if(t.pending.size>0){s=new Set;for(const u of t.pending.values())for(const c of u)s.add(t.items.get(c).e)}for(var r=0;r<e.length;r++){var i=e[r];if(s?.has(i)){i.f|=He;const u=document.createDocumentFragment();$a(i,u)}else ma(e[r],n)}}var na;function nt(t,e,n,s,r,i=null){var u=t,c=new Map,v=(e&ba)!==0;if(v){var d=t;u=ke?yt(fa(d)):d.appendChild(Tt())}ke&&va();var l=null,b=Ya(()=>{var q=n();return Yt(q)?q:q==null?[]:jt(q)}),f,A=new Map,H=!0;function N(q){(T.effect.f&Za)===0&&(T.pending.delete(q),T.fallback=l,En(T,f,u,e,s),l!==null&&(f.length===0?(l.f&He)===0?ha(l):(l.f^=He,_t(l,null,u)):ga(l,()=>{l=null})))}function w(q){T.pending.delete(q)}var R=Pt(()=>{f=a(b);var q=f.length;let Z=!1;if(ke){var ue=Fa(u)===Wa;ue!==(q===0)&&(u=Qt(),yt(u),wt(!1),Z=!0)}for(var y=new Set,S=Fe,C=ja(),W=0;W<q;W+=1){ke&&bt.nodeType===pa&&bt.data===Ua&&(u=bt,Z=!0,wt(!1));var U=f[W],ee=s(U,W),Y=H?null:c.get(ee);Y?(Y.v&&$t(Y.v,U),Y.i&&$t(Y.i,W),C&&S.unskip_effect(Y.e)):(Y=Mn(c,H?u:na??=Tt(),U,ee,W,r,e,n),H||(Y.e.f|=He),c.set(ee,Y)),y.add(ee)}if(q===0&&i&&!l&&(H?l=Et(()=>i(u)):(l=Et(()=>i(na??=Tt())),l.f|=He)),q>y.size&&Pa(),ke&&q>0&&yt(Qt()),!H)if(A.set(S,y),C){for(const[re,fe]of c)y.has(re)||S.skip_effect(fe.e);S.oncommit(N),S.ondiscard(w)}else N(S);Z&&wt(!0),a(b)}),T={effect:R,items:c,pending:A,outrogroups:null,fallback:l};H=!1,ke&&(u=bt)}function mt(t){for(;t!==null&&(t.f&Ga)===0;)t=t.next;return t}function En(t,e,n,s,r){var i=(s&tn)!==0,u=e.length,c=t.items,v=mt(t.effect.first),d,l=null,b,f=[],A=[],H,N,w,R;if(i)for(R=0;R<u;R+=1)H=e[R],N=r(H,R),w=c.get(N).e,(w.f&He)===0&&(w.nodes?.a?.measure(),(b??=new Set).add(w));for(R=0;R<u;R+=1){if(H=e[R],N=r(H,R),w=c.get(N).e,t.outrogroups!==null)for(const U of t.outrogroups)U.pending.delete(w),U.done.delete(w);if((w.f&Rt)!==0&&(ha(w),i&&(w.nodes?.a?.unfix(),(b??=new Set).delete(w))),(w.f&He)!==0)if(w.f^=He,w===v)_t(w,null,n);else{var T=l?l.next:v;w===t.effect.last&&(t.effect.last=w.prev),w.prev&&(w.prev.next=w.next),w.next&&(w.next.prev=w.prev),Ze(t,l,w),Ze(t,w,T),_t(w,T,n),l=w,f=[],A=[],v=mt(l.next);continue}if(w!==v){if(d!==void 0&&d.has(w)){if(f.length<A.length){var q=A[0],Z;l=q.prev;var ue=f[0],y=f[f.length-1];for(Z=0;Z<f.length;Z+=1)_t(f[Z],q,n);for(Z=0;Z<A.length;Z+=1)d.delete(A[Z]);Ze(t,ue.prev,y.next),Ze(t,l,ue),Ze(t,y,q),v=q,l=y,R-=1,f=[],A=[]}else d.delete(w),_t(w,v,n),Ze(t,w.prev,w.next),Ze(t,w,l===null?t.effect.first:l.next),Ze(t,l,w),l=w;continue}for(f=[],A=[];v!==null&&v!==w;)(d??=new Set).add(v),A.push(v),v=mt(v.next);if(v===null)continue}(w.f&He)===0&&f.push(w),l=w,v=mt(w.next)}if(t.outrogroups!==null){for(const U of t.outrogroups)U.pending.size===0&&(Wt(t,jt(U.done)),t.outrogroups?.delete(U));t.outrogroups.size===0&&(t.outrogroups=null)}if(v!==null||d!==void 0){var S=[];if(d!==void 0)for(w of d)(w.f&Rt)===0&&S.push(w);for(;v!==null;)(v.f&Rt)===0&&v!==t.fallback&&S.push(v),v=mt(v.next);var C=S.length;if(C>0){var W=(s&ba)!==0&&u===0?n:null;if(i){for(R=0;R<C;R+=1)S[R].nodes?.a?.measure();for(R=0;R<C;R+=1)S[R].nodes?.a?.fix()}kn(t,S,W)}}i&&en(()=>{if(b!==void 0)for(w of b)w.nodes?.a?.apply()})}function Mn(t,e,n,s,r,i,u,c){var v=(u&Ja)!==0?(u&Xa)===0?Va(n,!1,!1):ea(n):null,d=(u&Ka)!==0?ea(r):null;return{v,i:d,e:Et(()=>(i(e,v??n,d??r,c),()=>{t.delete(s)}))}}function _t(t,e,n){if(t.nodes)for(var s=t.nodes.start,r=t.nodes.end,i=e&&(e.f&He)===0?e.nodes.start:n;s!==null;){var u=qt(s);if(i.before(s),s===r)return;s=u}}function Ze(t,e,n){e===null?t.effect.first=n:e.next=n,n===null?t.effect.last=e:n.prev=e}function Sn(t,e){let n=null,s=ke;var r;if(ke){n=bt;for(var i=fa(document.head);i!==null&&(i.nodeType!==pa||i.data!==t);)i=qt(i);if(i===null)wt(!1);else{var u=qt(i);i.remove(),yt(u)}}ke||(r=document.head.appendChild(Tt()));try{Pt(()=>{var c=Et(()=>e(r));c.f|=an,ke||(c.nodes===null?c.nodes={start:r,end:r,a:null,t:null}:c.nodes.end=r)})}finally{s&&(wt(!0),yt(n))}}function Cn(t,e){var n=void 0,s;nn(()=>{n!==(n=e())&&(s&&(ma(s),s=null),n&&(s=Et(()=>{Jt(()=>n(t))})))})}const sa=[...`
2
+ \r\f \v\uFEFF`];function An(t,e,n){var s=t==null?"":""+t;if(n){for(var r of Object.keys(n))if(n[r])s=s?s+" "+r:r;else if(s.length)for(var i=r.length,u=0;(u=s.indexOf(r,u))>=0;){var c=u+i;(u===0||sa.includes(s[u-1]))&&(c===s.length||sa.includes(s[c]))?s=(u===0?"":s.substring(0,u))+s.substring(c+1):u=c}}return s===""?null:s}function ra(t,e=!1){var n=e?" !important;":";",s="";for(var r of Object.keys(t)){var i=t[r];i!=null&&i!==""&&(s+=" "+r+": "+i+n)}return s}function zt(t){return t[0]!=="-"||t[1]!=="-"?t.toLowerCase():t}function Tn(t,e){if(e){var n="",s,r;if(Array.isArray(e)?(s=e[0],r=e[1]):s=e,t){t=String(t).replaceAll(/\/\*.*?\*\//g,"").trim();var i=!1,u=0,c=!1,v=[];s&&v.push(...Object.keys(s).map(zt)),r&&v.push(...Object.keys(r).map(zt));var d=0,l=-1;const N=t.length;for(var b=0;b<N;b++){var f=t[b];if(c?f==="/"&&t[b-1]==="*"&&(c=!1):i?i===f&&(i=!1):f==="/"&&t[b+1]==="*"?c=!0:f==='"'||f==="'"?i=f:f==="("?u++:f===")"&&u--,!c&&i===!1&&u===0){if(f===":"&&l===-1)l=b;else if(f===";"||b===N-1){if(l!==-1){var A=zt(t.substring(d,l).trim());if(!v.includes(A)){f!==";"&&b++;var H=t.substring(d,b).trim();n+=" "+H+";"}}d=b+1,l=-1}}}}return s&&(n+=ra(s)),r&&(n+=ra(r,!0)),n=n.trim(),n===""?null:n}return t==null?null:String(t)}function de(t,e,n,s,r,i){var u=t[ta];if(ke||u!==n||u===void 0){var c=An(n,s,i);(!ke||c!==t.getAttribute("class"))&&(c==null?t.removeAttribute("class"):e?t.className=c:t.setAttribute("class",c)),t[ta]=n}else if(i&&r!==i)for(var v in i){var d=!!i[v];(r==null||d!==!!r[v])&&t.classList.toggle(v,d)}return i}function Nt(t,e={},n,s){for(var r in n){var i=n[r];e[r]!==i&&(n[r]==null?t.style.removeProperty(r):t.style.setProperty(r,i,s))}}function De(t,e,n,s){var r=t[aa];if(ke||r!==e){var i=Tn(e,s);(!ke||i!==t.getAttribute("style"))&&(i==null?t.removeAttribute("style"):t.style.cssText=i),t[aa]=e}else s&&(Array.isArray(s)?(Nt(t,n?.[0],s[0]),Nt(t,n?.[1],s[1],"important")):Nt(t,n,s));return s}function Ln(t,e){e?t.hasAttribute("selected")||t.setAttribute("selected",""):t.removeAttribute("selected")}function In(t,e){var n=t.__defaultValue,s=t.multiple,r=s?n??[]:null;if(!(s&&!Yt(r))){t.selectedIndex;for(var i of t.options){var u=dt(i);Ln(i,s?r.includes(u):ya(u,n))}}}function xa(t,e,n=!1){if(t.multiple){if(e==null)return;if(!Yt(e))return rn();for(var s of t.options)s.selected=e.includes(dt(s));return}for(s of t.options){var r=dt(s);if(ya(r,e)){s.selected=!0;return}}(!n||e!==void 0)&&(t.selectedIndex=-1)}function Rn(t){var e=new MutationObserver(n=>{n.every(Nn)||("__defaultValue"in t&&In(t),"__value"in t&&xa(t,t.__value))});e.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),sn(()=>{e.disconnect()})}function zn(t,e,n=e){var s=new WeakSet,r=!0;_a(t,"change",i=>{var u=i?"[selected]":":checked",c;if(t.multiple)c=[].map.call(t.querySelectorAll(u),dt);else{var v=t.querySelector(u)??t.querySelector("option:not([disabled])");c=v&&dt(v)}n(c),t.__value=c,Fe!==null&&s.add(Fe)}),Jt(()=>{var i=e();if(t===document.activeElement){var u=Fe;if(s.has(u))return}if(xa(t,i,r),r&&i===void 0){var c=t.querySelector(":checked");c!==null&&(i=dt(c),n(i))}t.__value=i,r=!1})}function dt(t){return"__value"in t?t.__value:t.value}function Nn(t){if(t.target.closest("selectedcontent")!==null)return!0;if(t.type==="childList"){var e=[...t.addedNodes,...t.removedNodes];return e.length>0&&e.every(n=>n.nodeName==="SELECTEDCONTENT")}return!1}const Dn=Symbol("is custom element"),On=Symbol("is html"),Hn=cn?"link":"LINK";function ie(t,e,n,s){var r=qn(t);ke&&(r[e]=t.getAttribute(e),e==="src"||e==="srcset"||e==="href"&&t.nodeName===Hn)||r[e]!==(r[e]=n)&&(e==="loading"&&(t[ln]=n),n==null?t.removeAttribute(e):typeof n!="string"&&Bn(t).has(e)?t[e]=n:t.setAttribute(e,n))}function qn(t){return t[on]??={[Dn]:t.nodeName.includes("-"),[On]:t.namespaceURI===un}}var ia=new Map;function Bn(t){var e=t.getAttribute("is")||t.nodeName,n=ia.get(e);if(n)return n;ia.set(e,n=new Set);for(var s,r=t,i=Element.prototype;i!==r;){s=vn(r);for(var u in s)s[u].set&&u!=="innerHTML"&&u!=="textContent"&&u!=="innerText"&&n.add(u);r=dn(r)}return n}function Fn(t,e,n=e){var s=new WeakSet;_a(t,"input",async r=>{var i=r?t.defaultValue:t.value;if(i=Dt(t)?Ot(i):i,n(i),Fe!==null&&s.add(Fe),await Bt(),i!==(i=e())){var u=t.selectionStart,c=t.selectionEnd,v=t.value.length;if(t.value=i??"",c!==null){var d=t.value.length;u===c&&c===v&&d>v?(t.selectionStart=d,t.selectionEnd=d):(t.selectionStart=u,t.selectionEnd=Math.min(c,d))}}}),(ke&&t.defaultValue!==t.value||fn(e)==null&&t.value)&&(n(Dt(t)?Ot(t.value):t.value),Fe!==null&&s.add(Fe)),pn(()=>{var r=e();if(t===document.activeElement){var i=Fe;if(s.has(i))return}Dt(t)&&r===Ot(t.value)||t.type==="date"&&!r&&!t.value||r!==t.value&&(t.value=r??"")})}function Dt(t){var e=t.type;return e==="number"||e==="range"}function Ot(t){return t===""?null:+t}var Wn=O('<label class="svelte-1u317mj"><span class="svelte-1u317mj">Theme</span> <select aria-label="Color theme" class="svelte-1u317mj"><option>System</option><option>Light</option><option>Dark</option></select></label>');function Un(t,e){Ue(e,!0);let n=F("system"),s=F(!1),r=()=>{};vt(()=>{const l=window.matchMedia("(prefers-color-scheme: dark)"),b=()=>{try{return localStorage.getItem("runling-theme")??localStorage.getItem("factory-theme")}catch{return null}},f=()=>{const N=b();m(n,N==="light"||N==="dark"?N:"system",!0),A()},A=()=>{document.documentElement.dataset.theme=a(n)==="system"?l.matches?"dark":"light":a(n)};r=()=>{try{localStorage.setItem("runling-theme",a(n))}catch{}A()};const H=N=>{(N.key==="runling-theme"||N.key==="factory-theme"||N.key===null)&&f()};return f(),m(s,!0),l.addEventListener("change",A),window.addEventListener("storage",H),()=>{l.removeEventListener("change",A),window.removeEventListener("storage",H)}});var i=Wn(),u=o(h(i),2),c=h(u);c.value=c.__value="system";var v=o(c);v.value=v.__value="light";var d=o(v);d.value=d.__value="dark",p(u),Rn(u),p(i),P(()=>u.disabled=!a(s)),j("change",u,()=>r()),zn(u,()=>a(n),l=>m(n,l)),z(t,i),Pe()}st(["change"]);const ka=t=>t.input+t.output+t.cacheRead+t.cacheWrite;function Pn(t){if(!t.length)return;const e={input:0,output:0,cacheRead:0,cacheWrite:0};for(const n of t)e.input+=n.input,e.output+=n.output,e.cacheRead+=n.cacheRead,e.cacheWrite+=n.cacheWrite,n.cost!==void 0&&(e.cost=(e.cost??0)+n.cost),(n.costIncomplete||n.cost===void 0&&ka(n)>0)&&(e.costIncomplete=!0);return e}function jn(t){return t.cost===void 0?"Cost unknown":`$${t.cost.toFixed(4)} est.${t.costIncomplete?" (partial)":""}`}var Yn=O(`<p class="svelte-1g90xlb">Some tokens have no reported price. The estimate includes only known
3
+ costs.</p>`),Jn=O('<dl class="svelte-1g90xlb"><div><dt class="svelte-1g90xlb">Input</dt> <dd class="svelte-1g90xlb"> </dd></div> <div><dt class="svelte-1g90xlb">Output</dt> <dd class="svelte-1g90xlb"> </dd></div> <div><dt class="svelte-1g90xlb">Cache read</dt> <dd class="svelte-1g90xlb"> </dd></div> <div><dt class="svelte-1g90xlb">Cache write</dt> <dd class="svelte-1g90xlb"> </dd></div></dl> <!>',1),Xn=O('<span class="usage svelte-1g90xlb" title="Estimated model cost in USD, not an invoice. Totals include child activities."><span> </span> <span> </span></span> <!>',1);function Mt(t,e){Ue(e,!0);let n=bn(e,"detail",3,!1);var s=Xn(),r=We(s),i=h(r),u=M(i),c=o(i,2),v=M(c,!0);p(r);var d=o(r,2);{var l=b=>{var f=Jn(),A=We(f),H=h(A),N=o(h(H),2),w=M(N,!0);p(H);var R=o(H,2),T=o(h(R),2),q=M(T,!0);p(R);var Z=o(R,2),ue=o(h(Z),2),y=M(ue,!0);p(Z);var S=o(Z,2),C=o(h(S),2),W=M(C,!0);p(S),p(A);var U=o(A,2);{var ee=Y=>{var re=Yn();z(Y,re)};le(U,Y=>{e.usage.costIncomplete&&Y(ee)})}P((Y,re,fe,se)=>{k(w,Y),k(q,re),k(y,fe),k(W,se)},[()=>e.usage.input.toLocaleString(),()=>e.usage.output.toLocaleString(),()=>e.usage.cacheRead.toLocaleString(),()=>e.usage.cacheWrite.toLocaleString()]),z(b,f)};le(d,b=>{n()&&b(l)})}P((b,f)=>{k(u,`${b??""} tokens`),k(v,f)},[()=>ka(e.usage).toLocaleString(),()=>jn(e.usage)]),z(t,s),Pe()}function Vn(t,e){if(e.type==="started")return e.run;if(e.type==="event")return{...t,events:[...t.events,e.event],usage:e.event.type==="usage.updated"?e.event.usage:t.usage};const{type:n,...s}=e;return{...t,...s}}function Ae(t){return t<1e3?`${Math.round(t)} ms`:t<6e4?`${(t/1e3).toFixed(1)} s`:`${Math.floor(t/6e4)}m ${Math.floor(t%6e4/1e3)}s`}var Kn=O('<span><span class="dot svelte-12nqn7t"></span> </span>');function Ea(t,e){var n=Kn();let s;var r=o(h(n),1,!0);p(n),P(()=>{s=de(n,1,"status svelte-12nqn7t",null,s,{live:e.status==="running",bad:e.status==="failed"||e.status==="blocked",good:e.status==="completed"}),k(r,e.status)}),z(t,n)}function Zn(t,e){const n=new Map,s=new Map,r=new Set,i=new Map,u=[],c=d=>{n.set(d.id,d),((d.parent?n.get(d.parent):void 0)?.children??u).push(d)};for(const[d,l]of t.entries()){const b={parent:l.activityId,status:"running",startedAt:l.timestamp,logs:[],children:[]};if(l.type==="step.started"&&c({...b,id:l.id,kind:"step",label:l.label}),l.type==="command.started"&&c({...b,id:l.id,kind:"command",label:l.command}),l.type==="input.requested"&&c({...b,id:l.id,kind:"input",label:l.message}),l.type==="agent.started"){const f=`${l.agentId}:${d}`;s.set(l.agentId,f),c({...b,id:f,kind:"agent",label:l.model})}if(l.type==="step.finished"||l.type==="command.finished"||l.type==="input.finished"){const f=n.get(l.id);f&&(f.status=l.status==="answered"?"completed":l.status,f.durationMs=l.durationMs,l.type==="command.finished"&&(l.output.stdout&&f.logs.push(l.output.stdout),l.output.stderr&&f.logs.push(l.output.stderr)),l.type==="input.finished"&&l.status==="answered"&&f.logs.push(l.value))}if(l.type==="agent.finished"){const f=n.get(s.get(l.agentId)??"");f&&(f.status=l.outcome,f.durationMs=l.timestamp-f.startedAt)}if(l.type==="agent.usage"||l.type==="agent.finished"){const f=n.get(s.get(l.agentId)??"");f&&(f.usage={...l.usage})}if(l.type==="agent.progress"){const f=n.get(s.get(l.agentId)??"");f&&(r.add(f.id),f.preview=l.text)}if(l.type==="agent.action"){const f=n.get(s.get(l.agentId)??"");if(f){const A=i.get(f.id)??[];if(A.push(l.action),i.set(f.id,A),!r.has(f.id)&&!/^(?:Agent started|Agent finished|Turn \d+|Tokens:|Token usage:)/.test(l.action)){const H=l.action.replace(/\s+/g," ").trim();H&&(f.preview=H.slice(-500))}}}l.type==="log"&&n.get(l.source==="agent"?s.get(l.sourceId??"")??"":l.sourceId??l.activityId??"")?.logs.push(l.message)}for(const[d,l]of i){const b=n.get(d);b.logs.length||(b.logs=l)}if(e!=="running")for(const d of n.values())d.status==="running"&&(d.status="interrupted");const v=d=>{d.children.forEach(v),d.kind==="step"&&(d.usage=Pn(d.children.flatMap(l=>l.usage?[l.usage]:[])))};return u.forEach(v),u}function Xt(t,e){for(const n of t){if(n.id===e)return n;const s=Xt(n.children,e);if(s)return s}}var ct=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],Ht={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function Gn(t,e){const n=t.indexOf("\x1B",e);if(n!==-1&&t[n+1]==="["){const s=t.indexOf("m",n);if(s!==-1)return{sequence:t.substring(n+2,s).split(";"),startPosition:n,position:s+1}}return{position:t.length}}function la(t){const e=t.shift();if(e==="2"){const n=t.splice(0,3).map(s=>Number.parseInt(s));return n.length!==3||n.some(s=>Number.isNaN(s))?void 0:{type:"rgb",rgb:n}}else if(e==="5"){const n=t.shift();if(n)return{type:"table",index:Number(n)}}}function Qn(t){const e=[];for(;t.length>0;){const n=t.shift();if(!n)continue;const s=Number.parseInt(n);if(!Number.isNaN(s))if(s===0)e.push({type:"resetAll"});else if(s<=9)Ht[s]&&e.push({type:"setDecoration",value:Ht[s]});else if(s<=29){const r=Ht[s-20];r&&(e.push({type:"resetDecoration",value:r}),r==="dim"&&e.push({type:"resetDecoration",value:"bold"}))}else if(s<=37)e.push({type:"setForegroundColor",value:{type:"named",name:ct[s-30]}});else if(s===38){const r=la(t);r&&e.push({type:"setForegroundColor",value:r})}else if(s===39)e.push({type:"resetForegroundColor"});else if(s<=47)e.push({type:"setBackgroundColor",value:{type:"named",name:ct[s-40]}});else if(s===48){const r=la(t);r&&e.push({type:"setBackgroundColor",value:r})}else s===49?e.push({type:"resetBackgroundColor"}):s===53?e.push({type:"setDecoration",value:"overline"}):s===55?e.push({type:"resetDecoration",value:"overline"}):s>=90&&s<=97?e.push({type:"setForegroundColor",value:{type:"named",name:ct[s-90+8]}}):s>=100&&s<=107&&e.push({type:"setBackgroundColor",value:{type:"named",name:ct[s-100+8]}})}return e}function $n(){let t=null,e=null,n=new Set;return{parse(s){const r=[];let i=0;do{const u=Gn(s,i),c=u.sequence?s.substring(i,u.startPosition):s.substring(i);if(c.length>0&&r.push({value:c,foreground:t,background:e,decorations:new Set(n)}),u.sequence){const v=Qn(u.sequence);for(const d of v)d.type==="resetAll"?(t=null,e=null,n.clear()):d.type==="resetForegroundColor"?t=null:d.type==="resetBackgroundColor"?e=null:d.type==="resetDecoration"&&n.delete(d.value);for(const d of v)d.type==="setForegroundColor"?t=d.value:d.type==="setBackgroundColor"?e=d.value:d.type==="setDecoration"&&n.add(d.value)}i=u.position}while(i<s.length);return r}}}function es(t){return $n().parse(t)}var ts={black:"#000000",red:"#bb0000",green:"#00bb00",yellow:"#bbbb00",blue:"#0000bb",magenta:"#ff00ff",cyan:"#00bbbb",white:"#eeeeee",brightBlack:"#555555",brightRed:"#ff5555",brightGreen:"#00ff00",brightYellow:"#ffff55",brightBlue:"#5555ff",brightMagenta:"#ff55ff",brightCyan:"#55ffff",brightWhite:"#ffffff"};function as(t=ts){function e(c){return t[c]}function n(c){return`#${c.map(v=>Math.max(0,Math.min(v,255)).toString(16).padStart(2,"0")).join("")}`}let s;function r(){if(s)return s;s=[];for(let d=0;d<ct.length;d++)s.push(e(ct[d]));let c=[0,95,135,175,215,255];for(let d=0;d<6;d++)for(let l=0;l<6;l++)for(let b=0;b<6;b++)s.push(n([c[d],c[l],c[b]]));let v=8;for(let d=0;d<24;d++,v+=10)s.push(n([v,v,v]));return s}function i(c){return r()[c]}function u(c){switch(c.type){case"named":return e(c.name);case"rgb":return n(c.rgb);case"table":return i(c.index)}}return{value:u}}const oa=as();function ns(t){return es(t).map(e=>{const n=[];let s=e.foreground?oa.value(e.foreground):void 0,r=e.background?oa.value(e.background):void 0;e.decorations.has("reverse")&&([s,r]=[r??"#ffffff",s??"#24324b"]),s&&n.push(`color:${s}`),r&&n.push(`background-color:${r}`),e.decorations.has("bold")&&n.push("font-weight:700"),e.decorations.has("dim")&&n.push("opacity:0.6"),e.decorations.has("italic")&&n.push("font-style:italic"),e.decorations.has("hidden")&&n.push("visibility:hidden");const i=[];return e.decorations.has("underline")&&i.push("underline"),e.decorations.has("strikethrough")&&i.push("line-through"),e.decorations.has("overline")&&i.push("overline"),i.length&&n.push(`text-decoration-line:${i.join(" ")}`),{text:e.value,style:n.join(";")}})}var ss=O("<span> </span>");function Ut(t,e){Ue(e,!0);let n=$(()=>ns(e.text));var s=da(),r=We(s);nt(r,17,()=>a(n),wa,(i,u)=>{var c=ss(),v=M(c,!0);P(()=>{De(c,a(u).style),k(v,a(u).text)}),z(i,c)}),z(t,s),Pe()}function Ma(t){const e=10**Math.floor(Math.log10(Math.max(t,.001))),n=t/e;return(n<=1?1:n<=2?2:n<=5?5:10)*e}function Lt(t){return{start:0,span:Ma(Math.max(100,t*1.05))}}function rs(t,e){const n=Math.max(1,Math.min(e,t.span));return{span:n,start:Math.max(0,Math.min(e-n,t.start))}}function St(t,e,n=.5){const s=Math.max(0,Math.min(1,n)),r=Math.max(1,Math.min(864e5,t.span*e));return{start:Math.max(0,t.start+s*(t.span-r)),span:r}}function Ct(t,e){return{...t,start:Math.max(0,t.start+e)}}function is(t,e,n=.5){return St(t,Math.exp(Math.max(-1e3,Math.min(1e3,e))*.006),n)}function ls(t,e){return Math.max(24,Math.min(100,t*Math.exp(Math.max(-1e3,Math.min(1e3,e))*.006)))}function os(t,e){const n=Ma(t.span/Math.max(2,Math.floor(e/90))),s=Math.ceil(t.start/n)*n,r=[];for(let i=s;i<=t.start+t.span&&(r.push(i),!(r.length>30));i+=n);return r}function us(t,e){const n=t>=1e3,s=n?1e3:1,r=Math.max(0,Math.min(4,Math.ceil(-Math.log10(e/s))));return`${(t/s).toFixed(r)} ${n?"s":"ms"}`}function Sa(t,e,n=0){return t.flatMap(s=>[{node:s,depth:n},...e.has(s.id)?[]:Sa(s.children,e,n+1)])}function cs(t,e,n){const s=n.start+n.span;if(e<n.start||t>s)return null;const r=Math.max(n.start,t),i=Math.min(s,Math.max(t,e));return{left:(r-n.start)/n.span*100,width:Math.max(0,i-r)/n.span*100,clippedStart:t<n.start,clippedEnd:e>s}}function ds(t){return Lt(t).span}function At(t,e,n,s=t.span/2){return{span:t.span,start:Math.max(0,Math.min(e-t.span,n-s))}}function Ca(t,e,n=()=>{}){const s=t.ownerDocument.defaultView;let r;const i=()=>{r&&(r=void 0,n())},u=b=>{if(b.button!==1)return;b.preventDefault(),b.stopPropagation(),i();const f=e(b);f&&(r={x:b.clientX,y:b.clientY,move:f})},c=b=>{if(r){if(!(b.buttons&4)){i();return}b.preventDefault(),r.move(b.clientX-r.x,b.clientY-r.y)}},v=b=>{b.button===1&&i()},d=b=>{b.button===1&&b.preventDefault()},l={capture:!0};return t.addEventListener("mousedown",u,l),t.addEventListener("auxclick",d),s.addEventListener("mousemove",c,l),s.addEventListener("mouseup",v,l),s.addEventListener("blur",i),()=>{i(),t.removeEventListener("mousedown",u,l),t.removeEventListener("auxclick",d),s.removeEventListener("mousemove",c,l),s.removeEventListener("mouseup",v,l),s.removeEventListener("blur",i)}}var vs=Ba("<rect></rect>"),fs=O('<div role="region" tabindex="0"><svg preserveAspectRatio="none" aria-hidden="true" class="svelte-tv330m"></svg> <span class="window svelte-tv330m"></span> <span class="playhead svelte-tv330m"></span></div> <div class="caption bounds svelte-tv330m"><span>0</span><span> </span></div>',1),ps=O('<div><div class="caption svelte-tv330m"><span>Overview</span><button class="svelte-tv330m"> </button></div> <!></div>');function hs(t,e){Ue(e,!0);let n=F(!1),s=F(!1);function r(y){return Ca(y,S=>{const C=y.getBoundingClientRect();if(!C.width||!C.height)return;const W={...e.view},ee=((S.clientX-C.left)/C.width*a(u)-W.start)/W.span,Y=e.onzoomstart(ee);return m(s,!0),(re,fe)=>Y(re,fe)},()=>{m(s,!1)})}let i=F(void 0),u=$(()=>a(i)?.total??ds(e.elapsed)),c=$(()=>a(i)?.axis??e.vertical),v=$(()=>Math.min(a(c).span,a(c).total)),d=$(()=>Math.min(e.vertical.start,Math.max(0,a(c).total-a(v))));function l(y){if(y.pointerType==="mouse"&&y.button===1||y.button!==0&&y.button!==1||a(i))return;y.preventDefault();const S=y.currentTarget,C=S.getBoundingClientRect();if(!C.width||!C.height)return;const W=(y.clientX-C.left)/C.width*a(u),U=(y.clientY-C.top)/C.height*a(c).total,ee=W>=e.view.start&&W<=e.view.start+e.view.span&&U>=a(d)&&U<=a(d)+a(v);m(i,{id:y.pointerId,rect:C,total:a(u),axis:{...a(c)},view:{...e.view},x:ee||y.button===1?W-e.view.start:e.view.span/2,y:ee||y.button===1?U-a(d):a(v)/2},!0),S.setPointerCapture(y.pointerId),S.focus(),b(y)}function b(y){if(!a(i)||a(i).id!==y.pointerId)return;const S=a(i),C=(y.clientX-S.rect.left)/S.rect.width*S.total,W=(y.clientY-S.rect.top)/S.rect.height*S.axis.total;e.onchange(At(S.view,S.total,C,S.x),At({start:S.axis.start,span:Math.min(S.axis.span,S.axis.total)},S.axis.total,W,S.y).start)}function f(y){if(a(i)?.id!==y.pointerId)return;m(i,void 0);const S=y.currentTarget;S.hasPointerCapture(y.pointerId)&&S.releasePointerCapture(y.pointerId)}function A(y){y.button===1&&y.preventDefault()}function H(y){if(y.key==="ArrowLeft"||y.key==="ArrowRight")e.onchange(At(e.view,a(u),e.view.start+(y.key==="ArrowLeft"?-1:1)*e.view.span*.15,0),a(d));else if(y.key==="ArrowUp"||y.key==="ArrowDown")e.onchange(e.view,At({start:a(d),span:a(v)},a(c).total,a(d)+(y.key==="ArrowUp"?-1:1)*a(v)*.2,0).start);else if(y.key==="Home")e.onchange({...e.view,start:0},0);else if(y.key==="End")e.onchange({...e.view,start:Math.max(0,a(u)-e.view.span)},a(c).total-a(v));else if(y.key==="+"||y.key==="=")e.onchange(St(e.view,.7),a(d));else if(y.key==="-")e.onchange(St(e.view,1/.7),a(d));else if(y.key.toLowerCase()==="f")e.onfit();else return;y.preventDefault(),y.stopPropagation()}var N=ps();let w;var R=h(N),T=o(h(R)),q=M(T,!0);p(R);var Z=o(R,2);{var ue=y=>{var S=fs(),C=We(S);let W;var U=h(C);nt(U,21,()=>e.rows,({node:he,top:ce,height:Me})=>he.id,(he,ce,Me,X)=>{let G=()=>a(ce).node,ge=()=>a(ce).top,Te=()=>a(ce).height;var Se=vs();let Oe;P(Ne=>{ie(Se,"x",G().startedAt/a(u)*1e3),ie(Se,"y",ge()+Te()*.2),ie(Se,"width",Ne),ie(Se,"height",Te()*.6),ie(Se,"data-kind",G().kind),Oe=de(Se,0,"svelte-tv330m",null,Oe,{failed:G().status==="failed"||G().status==="blocked",selected:G().id===e.selected})},[()=>Math.max(1,(G().durationMs??Math.max(0,e.elapsed-G().startedAt))/a(u)*1e3)]),z(he,Se)}),p(U);var ee=o(U,2);let Y;var re=o(ee,2);let fe;p(C),Cn(C,()=>r);var se=o(C,2),Ee=o(h(se)),Ie=M(Ee,!0);p(se),P((he,ce)=>{W=de(C,1,"map svelte-tv330m",null,W,{dragging:!!a(i)||a(s)}),ie(C,"aria-label",he),ie(U,"viewBox",`0 0 1000 ${a(c).total}`),Y=De(ee,"",Y,{left:`${e.view.start/a(u)*100}%`,width:`${e.view.span/a(u)*100}%`,top:`${a(d)/a(c).total*100}%`,height:`${a(v)/a(c).total*100}%`}),fe=De(re,"",fe,{left:`${e.elapsed/a(u)*100}%`}),k(Ie,ce)},[()=>`Timeline minimap, ${Ae(e.view.start)} to ${Ae(e.view.start+e.view.span)}. Arrow keys pan in both directions; plus and minus zoom; F fits time.`,()=>Ae(a(u))]),j("pointerdown",C,l),j("pointermove",C,b),j("pointerup",C,f),Ge("pointercancel",C,f),Ge("lostpointercapture",C,f),j("mousedown",C,A),Ge("auxclick",C,A),j("keydown",C,H),z(y,S)};le(Z,y=>{a(n)||y(ue)})}p(N),P(()=>{w=de(N,1,"minimap svelte-tv330m",null,w,{collapsed:a(n)}),ie(T,"aria-expanded",!a(n)),ie(T,"aria-label",a(n)?"Show minimap":"Hide minimap"),k(q,a(n)?"+":"−")}),j("click",T,()=>m(n,!a(n))),z(t,N),Pe()}st(["click","pointerdown","pointermove","pointerup","mousedown","keydown"]);var gs=O('<span class="tick svelte-112n2zp"> </span>'),ms=O("<span> </span>"),bs=O('<button class="toggle svelte-112n2zp"> </button>'),_s=O('<span class="leaf svelte-112n2zp" aria-hidden="true"> </span>'),ys=O('<span class="row-usage svelte-112n2zp"><!></span>'),ws=O('<span class="gridline svelte-112n2zp" aria-hidden="true"></span>'),xs=O('<span aria-hidden="true"></span>'),ks=O('<span class="continuation start svelte-112n2zp" aria-hidden="true">‹‹</span>'),Es=O('<span class="bar-duration svelte-112n2zp"> </span>'),Ms=O('<span class="continuation end svelte-112n2zp" aria-hidden="true">››</span>'),Ss=O('<button><!> <span class="bar-label svelte-112n2zp"> </span> <!></button>'),Cs=O('<div><!> <button class="label-select svelte-112n2zp"><strong class="svelte-112n2zp"> </strong><small class="svelte-112n2zp"> </small> <!></button></div> <div><!> <!> <!></div>',1),As=O('<div class="expanded-detail svelte-112n2zp"><strong class="svelte-112n2zp"> </strong><small class="svelte-112n2zp"> </small> <!> <pre class="svelte-112n2zp"><!></pre></div>'),Ts=O('<section aria-label="Execution timeline"><div class="toolbar svelte-112n2zp"><div class="mode svelte-112n2zp"><span></span> <span class="zoom-value svelte-112n2zp"> </span></div> <div class="controls svelte-112n2zp"><button aria-label="Zoom out" title="Zoom out (−)" class="svelte-112n2zp">−</button> <button aria-label="Zoom in" title="Zoom in (+)" class="svelte-112n2zp">+</button> <button title="Fit full timeline (F)">Fit timeline</button> <button class="svelte-112n2zp"> </button></div></div> <div class="chart svelte-112n2zp"><div tabindex="0" role="region" aria-roledescription="Interactive timeline" aria-label="Timeline chart. Drag to pan, scroll to zoom. Arrow keys pan, plus and minus zoom, F fits the timeline."><div class="grid svelte-112n2zp"><div class="label-heading svelte-112n2zp">Activity <span class="svelte-112n2zp"> </span></div> <div class="ruler plot svelte-112n2zp"><!> <!></div> <!></div></div> <!></div> <!> <footer class="svelte-112n2zp"><span>Scroll to zoom time · Middle-drag ↔ time / ↕ rows · Left-drag to pan</span><span class="range svelte-112n2zp"> </span></footer></section>');function Ls(t,e){Ue(e,!0);let n,s,r,i=F(0),u=F(1),c=F(1),v=F(Ft([])),d=F(48);function l(g,L=a(u)/2){const _=a(A),J={...a(T)},V=a(d),te=(n.scrollTop+L)/V;return async(ae,pe)=>{m(A,ae===0?_:is(J,-ae,g),!0);const _e=ls(V,pe);m(d,_e,!0),await Bt(),a(d)===_e&&(n.scrollTop=Math.max(0,te*_e-L))}}let b,f,A=F(null),H=F(Ft(new Set)),N=F(500),w=F(!1),R=F(!1),T=$(()=>rs(a(A)??Lt(e.elapsed),Lt(e.elapsed).span)),q=$(()=>Sa(e.nodes,a(H))),Z=$(()=>a(q).map(({node:g},L)=>({node:g,...a(v)[L]??{top:L*a(d),height:a(d)}}))),ue=$(()=>os(a(T),a(N))),y=$(()=>(e.elapsed-a(T).start)/a(T).span*100),S=$(()=>Lt(e.elapsed).span/a(T).span),C=$(()=>Xt(e.nodes,e.selected));function W(g){const L=new Set(a(H));L.has(g)?L.delete(g):L.add(g),m(H,L,!0)}function U(){m(A,null)}async function ee(){m(w,!a(w)),await Bt(),a(w)?n.focus():f.focus()}function Y(g){if(a(w)&&(g.key==="Escape"&&(g.preventDefault(),ee()),g.key==="Tab")){const L=[...b.querySelectorAll('button, [tabindex="0"]')],_=L[0],J=L.at(-1);g.shiftKey&&document.activeElement===_?(g.preventDefault(),J?.focus()):!g.shiftKey&&document.activeElement===J&&(g.preventDefault(),_?.focus())}}function re(g,L=.5){m(A,St(a(T),g,L),!0)}function fe(g){if(g.target===n){if(g.key==="+"||g.key==="=")re(.7);else if(g.key==="-")re(1/.7);else if(g.key==="ArrowLeft")m(A,Ct(a(T),-a(T).span*.15),!0);else if(g.key==="ArrowRight")m(A,Ct(a(T),a(T).span*.15),!0);else if(g.key==="Home"||g.key.toLowerCase()==="f")U();else return;g.preventDefault()}}vt(()=>{const g=new ResizeObserver(()=>{m(N,Math.max(1,s.clientWidth),!0),m(u,Math.max(1,n.clientHeight-s.offsetHeight),!0),m(c,Math.max(1,r.scrollHeight-s.offsetHeight),!0),m(i,n.scrollTop,!0);const I=r.getBoundingClientRect().top+s.offsetHeight;m(v,[...r.querySelectorAll(".lane")].map(ne=>({top:ne.getBoundingClientRect().top-I,height:ne.offsetHeight})),!0)});g.observe(s),g.observe(n),g.observe(r);const L=I=>{if(!(I.target instanceof Element)||!I.target.closest(".plot"))return;I.preventDefault();const ne=I.deltaMode===1?16:I.deltaMode===2?a(N):1;if(I.shiftKey||Math.abs(I.deltaX)>Math.abs(I.deltaY)&&!I.ctrlKey)m(A,Ct(a(T),(I.deltaX||I.deltaY)*ne/a(N)*a(T).span),!0);else{const ye=(I.clientX-s.getBoundingClientRect().left)/a(N);re(Math.exp(Math.max(-1,Math.min(1,I.deltaY*ne*.004))),ye)}},_=new Map;let J=null,V=0;const te=()=>{const I=[..._.values()],ne=I[0],ye=I[1];return{x:ye?(ne.x+ye.x)/2:ne.x,y:ye?(ne.y+ye.y)/2:ne.y,distance:ye?Math.hypot(ne.x-ye.x,ne.y-ye.y):0}},ae=()=>{J={...te(),view:{...a(T)},scroll:n.scrollTop}},pe=I=>{I.pointerType==="mouse"&&I.button===1||I.button!==0&&I.button!==1||!(I.target instanceof Element)||I.button!==1&&!I.target.closest(".plot")||(I.button===1&&I.preventDefault(),_.set(I.pointerId,{x:I.clientX,y:I.clientY}),ae())},_e=I=>{if(!_.has(I.pointerId)||!J)return;_.set(I.pointerId,{x:I.clientX,y:I.clientY});const ne=te(),ye=ne.x-J.x,Xe=ne.y-J.y;if(!a(R)&&_.size===1&&Math.hypot(ye,Xe)<4)return;m(R,!0),n.setPointerCapture(I.pointerId);const lt=(J.x-s.getBoundingClientRect().left)/a(N),ot=J.distance>0&&ne.distance>0?St(J.view,J.distance/ne.distance,lt):J.view;m(A,Ct(ot,-ye/a(N)*ot.span),!0),n.scrollTop=J.scroll-Xe},Le=I=>{_.delete(I.pointerId)&&(a(R)&&(V=performance.now()+200),_.size?ae():(J=null,m(R,!1)))},xe=I=>{I.detail&&performance.now()<V&&(I.preventDefault(),I.stopPropagation())},gt=Ca(n,I=>{const ne=(I.clientX-s.getBoundingClientRect().left)/a(N),ye=Math.max(0,Math.min(a(u),I.clientY-n.getBoundingClientRect().top-s.offsetHeight)),Xe=l(ne,ye);return m(R,!0),(lt,ot)=>{Xe(lt,ot)}},()=>{m(R,!1),V=performance.now()+200});return n.addEventListener("wheel",L,{passive:!1}),n.addEventListener("pointerdown",pe),n.addEventListener("click",xe,!0),window.addEventListener("pointermove",_e),window.addEventListener("pointerup",Le),window.addEventListener("pointercancel",Le),()=>{g.disconnect(),gt(),n.removeEventListener("wheel",L),n.removeEventListener("pointerdown",pe),n.removeEventListener("click",xe,!0),window.removeEventListener("pointermove",_e),window.removeEventListener("pointerup",Le),window.removeEventListener("pointercancel",Le)}});var se=Ts();Ge("keydown",hn,Y);let Ee,Ie;var he=h(se),ce=h(he),Me=h(ce);let X;var G=o(Me,1,!0),ge=o(G),Te=M(ge);p(ce);var Se=o(ce,2),Oe=h(Se),Ne=o(Oe,2),je=o(Ne,2);let rt;var qe=o(je,2),Qe=M(qe,!0);at(qe,g=>f=g,()=>f),p(Se),p(he);var Be=o(he,2),B=h(Be);let ve;var me=h(B);let Ce;var Ye=h(me),$e=o(h(Ye)),ft=M($e,!0);p(Ye);var Je=o(Ye,2),et=h(Je);nt(et,16,()=>a(ue),g=>g,(g,L,_,J)=>{var V=gs();let te;var ae=M(V,!0);P(pe=>{te=De(V,"",te,{left:`${(L-a(T).start)/a(T).span*100}%`}),k(ae,pe)},[()=>us(L,a(ue).length>1?a(ue)[1]-a(ue)[0]:a(T).span/5)]),z(g,V)});var pt=o(et,2);{var it=g=>{var L=ms();let _,J;var V=M(L,!0);P(()=>{_=de(L,1,"cursor-label svelte-112n2zp",null,_,{live:e.running}),J=De(L,"",J,{left:`${a(y)}%`}),k(V,e.running?"Now":"End")}),z(g,L)};le(pt,g=>{a(y)>=0&&a(y)<=100&&g(it)})}p(Je),at(Je,g=>s=g,()=>s);var ht=o(Je,2);nt(ht,17,()=>a(q),({node:g,depth:L})=>g.id,(g,L)=>{let _=()=>a(L).node,J=()=>a(L).depth;const V=$(()=>_().startedAt+(_().durationMs??Math.max(0,e.elapsed-_().startedAt))),te=$(()=>cs(_().startedAt,a(V),a(T)));var ae=Cs(),pe=We(ae);let _e,Le;var xe=h(pe);{var gt=oe=>{var Q=bs(),Re=M(Q,!0);P((Ve,tt,ut)=>{ie(Q,"aria-label",Ve),ie(Q,"aria-expanded",tt),k(Re,ut)},[()=>`${a(H).has(_().id)?"Expand":"Collapse"} ${_().label}`,()=>!a(H).has(_().id),()=>a(H).has(_().id)?"▸":"▾"]),j("click",Q,()=>W(_().id)),z(oe,Q)},I=oe=>{var Q=_s(),Re=M(Q,!0);P(()=>k(Re,_().kind==="agent"?"◈":_().kind==="command"?"›_":"◇")),z(oe,Q)};le(xe,oe=>{_().children.length?oe(gt):oe(I,-1)})}var ne=o(xe,2),ye=h(ne),Xe=M(ye,!0),lt=o(ye),ot=M(lt,!0),Aa=o(lt,2);{var Ta=oe=>{var Q=ys(),Re=h(Q);Mt(Re,{get usage(){return _().usage}}),p(Q),z(oe,Q)};le(Aa,oe=>{_().usage&&oe(Ta)})}p(ne),p(pe);var It=o(pe,2);let Vt;var Kt=h(It);nt(Kt,16,()=>a(ue),oe=>oe,(oe,Q,Re,Ve)=>{var tt=ws();let ut;P(()=>ut=De(tt,"",ut,{left:`${(Q-a(T).start)/a(T).span*100}%`})),z(oe,tt)});var Zt=o(Kt,2);{var La=oe=>{var Q=xs();let Re,Ve;P(()=>{Re=de(Q,1,"playhead svelte-112n2zp",null,Re,{live:e.running}),Ve=De(Q,"",Ve,{left:`${a(y)}%`})}),z(oe,Q)};le(Zt,oe=>{a(y)>=0&&a(y)<=100&&oe(La)})}var Ia=o(Zt,2);{var Ra=oe=>{var Q=Ss();let Re,Ve;var tt=h(Q);{var ut=ze=>{var Ke=ks();z(ze,Ke)};le(tt,ze=>{a(te).clippedStart&&ze(ut)})}var Gt=o(tt,2),za=M(Gt,!0),Na=o(Gt,2);{var Da=ze=>{var Ke=Es(),Ha=M(Ke,!0);P(qa=>k(Ha,qa),[()=>Ae(a(V)-_().startedAt)]),z(ze,Ke)},Oa=ze=>{var Ke=Ms();z(ze,Ke)};le(Na,ze=>{a(te).clippedEnd?ze(Oa,-1):ze(Da)})}p(Q),P((ze,Ke)=>{Re=de(Q,1,"bar svelte-112n2zp",null,Re,{running:_().status==="running",failed:_().status==="failed"||_().status==="blocked",interrupted:_().status==="interrupted",selected:e.selected===_().id,"clipped-start":a(te).clippedStart,"clipped-end":a(te).clippedEnd}),ie(Q,"data-kind",_().kind),ie(Q,"aria-label",ze),ie(Q,"aria-pressed",e.selected===_().id),ie(Q,"title",Ke),Ve=De(Q,"",Ve,{left:`${a(te).left}%`,width:`max(6px, ${a(te).width}%)`}),k(za,_().kind==="agent"&&_().preview?_().preview:a(te).clippedStart?"":_().label)},[()=>`${_().label}, ${_().status}, starts at ${Ae(_().startedAt)}, duration ${Ae(a(V)-_().startedAt)}`,()=>`${_().label}
4
+ ${_().status} · ${Ae(a(V)-_().startedAt)}
5
+ Start: ${Ae(_().startedAt)}${_().preview?`
6
+ ${_().preview}`:""}`]),j("click",Q,()=>e.onselect(_().id)),z(oe,Q)};le(Ia,oe=>{a(te)&&oe(Ra)})}p(It),P(oe=>{_e=de(pe,1,"label svelte-112n2zp",null,_e,{chosen:e.selected===_().id}),Le=De(pe,"",Le,{"padding-left":oe}),ie(ne,"aria-pressed",e.selected===_().id),ie(ne,"title",`${_().label} (${_().kind}, ${_().status})`),k(Xe,_().label),k(ot,_().kind),Vt=de(It,1,"lane plot svelte-112n2zp",null,Vt,{chosen:e.selected===_().id})},[()=>`${8+Math.min(J(),6)*13}px`]),j("click",ne,()=>e.onselect(_().id)),z(g,ae)}),p(me),at(me,g=>r=g,()=>r),p(B),at(B,g=>n=g,()=>n);var be=o(B,2);{let g=$(()=>({start:a(i),span:a(u),total:a(c)}));hs(be,{get rows(){return a(Z)},get vertical(){return a(g)},get view(){return a(T)},get elapsed(){return e.elapsed},get selected(){return e.selected},onzoomstart:L=>l(L),onchange:(L,_)=>{m(A,L,!0),n.scrollTop=_},onfit:U})}p(Be);var we=o(Be,2);{var x=g=>{var L=As(),_=h(L),J=M(_,!0),V=o(_),te=M(V,!0),ae=o(V,2);{var pe=xe=>{Mt(xe,{get usage(){return a(C).usage},detail:!0})};le(ae,xe=>{a(C).usage&&xe(pe)})}var _e=o(ae,2),Le=h(_e);{let xe=$(()=>a(C).logs.length?a(C).logs.join(`
7
+
8
+ `):"No logs for this activity.");Ut(Le,{get text(){return a(xe)}})}p(_e),p(L),P(()=>{k(J,a(C).label),k(te,a(C).status)}),z(g,L)};le(we,g=>{a(w)&&a(C)&&g(x)})}var E=o(we,2),D=o(h(E)),K=M(D);p(E),p(se),at(se,g=>b=g,()=>b),P((g,L,_)=>{Ee=de(se,1,"timeline svelte-112n2zp",null,Ee,{expanded:a(w),dense:a(d)<44,compact:a(d)<32}),Ie=De(se,"",Ie,{"--row-height":`${a(d)}px`}),X=de(Me,1,"mode-dot svelte-112n2zp",null,X,{live:e.running}),k(G,a(A)?"Explore":e.running?"Live fit":"Full timeline"),k(Te,`${g??""}×`),Oe.disabled=a(S)<=1,rt=de(je,1,"fit svelte-112n2zp",null,rt,{active:!a(A)}),ie(qe,"aria-label",a(w)?"Exit expanded timeline":"Expand timeline"),ie(qe,"title",a(w)?"Exit expanded view (Escape)":"Expand timeline"),k(Qe,a(w)?"↙":"↗"),ve=de(B,1,"board svelte-112n2zp",null,ve,{dragging:a(R)}),Ce=De(me,"",Ce,{"--row-count":a(q).length}),k(ft,a(q).length),k(K,`${L??""} — ${_??""}`)},[()=>a(S).toFixed(a(S)<10?1:0),()=>Ae(a(T).start),()=>Ae(a(T).start+a(T).span)]),j("click",Oe,()=>re(1/.7)),j("click",Ne,()=>re(.7)),j("click",je,U),j("click",qe,ee),j("keydown",B,fe),Ge("scroll",B,()=>m(i,n.scrollTop,!0)),z(t,se),Pe()}st(["click","keydown"]);var Is=O('<div class="error svelte-1618ske" role="alert"> </div>'),Rs=O(`<!> <p class="hint svelte-1618ske">Select a block to inspect its activity. Collapse a step to focus the
9
+ timeline.</p>`,1),zs=O('<div class="empty svelte-1618ske"> </div>'),Ns=O('<section class="activity-detail svelte-1618ske"><div class="detail-head svelte-1618ske"><h2 class="svelte-1618ske"> </h2> <button class="quiet" aria-label="Close activity details">×</button></div> <p class="hint svelte-1618ske"> </p> <!> <pre class="svelte-1618ske"><!></pre></section>'),Ds=O('<section class="result svelte-1618ske"><h2 class="svelte-1618ske">Output</h2> <pre class="svelte-1618ske"> </pre></section>'),Os=O('<div class="scale svelte-1618ske"><span>Execution timeline</span><span> </span></div> <!> <!> <!>',1),ua=O('<pre class="document svelte-1618ske"> </pre>'),Hs=O('<pre class="document svelte-1618ske"><!></pre>'),qs=O('<section class="inspector svelte-1618ske" aria-label="Run details"><header class="svelte-1618ske"><div class="run-top svelte-1618ske"><span class="source svelte-1618ske"> </span><!></div> <h1 class="svelte-1618ske"> </h1> <div class="facts svelte-1618ske"><span> </span><span> </span></div> <!> <p class="run-id svelte-1618ske"> <span> </span></p></header> <!> <nav class="tabs svelte-1618ske" aria-label="Run views"><button>Timeline <span class="svelte-1618ske"> </span></button> <button>Input</button> <button>Output</button> <button>Logs <span class="svelte-1618ske"> </span></button></nav> <div class="content svelte-1618ske"><!></div></section>');function Bs(t,e){Ue(e,!0);let n=F(Ft(Date.now())),s=F(""),r=F("timeline"),i=$(()=>Zn(e.run.events,e.run.status)),u=$(()=>Xt(a(i),a(s))),c=$(()=>e.run.durationMs??Math.max(0,a(n)-e.run.startedAt)),v=$(()=>e.run.events.filter(B=>B.type==="log").map(B=>B.message));const d=B=>typeof B=="string"?B:JSON.stringify(B,null,2);vt(()=>{const B=setInterval(()=>{m(n,Date.now(),!0)},500);return()=>clearInterval(B)});var l=qs(),b=h(l),f=h(b),A=h(f),H=M(A,!0),N=o(A);Ea(N,{get status(){return e.run.status}}),p(f);var w=o(f,2),R=M(w,!0),T=o(w,2),q=h(T),Z=M(q,!0),ue=o(q),y=M(ue,!0);p(T);var S=o(T,2);Mt(S,{get usage(){return e.run.usage},detail:!0});var C=o(S,2),W=h(C),U=o(W),ee=M(U,!0);p(C),p(b);var Y=o(b,2);{var re=B=>{var ve=Is(),me=M(ve,!0);P(()=>k(me,e.run.error)),z(B,ve)};le(Y,B=>{e.run.error&&B(re)})}var fe=o(Y,2),se=h(fe);let Ee;var Ie=o(h(se)),he=M(Ie,!0);p(se);var ce=o(se,2);let Me;var X=o(ce,2);let G;var ge=o(X,2);let Te;var Se=o(h(ge)),Oe=M(Se,!0);p(ge),p(fe);var Ne=o(fe,2),je=h(Ne);{var rt=B=>{var ve=Os(),me=We(ve),Ce=o(h(me)),Ye=M(Ce);p(me);var $e=o(me,2);{var ft=be=>{var we=Rs(),x=We(we);{let E=$(()=>e.run.status==="running");Ls(x,{get nodes(){return a(i)},get selected(){return a(s)},onselect:D=>m(s,a(s)===D?"":D,!0),get elapsed(){return a(c)},get running(){return a(E)}})}xt(2),z(be,we)},Je=be=>{var we=zs(),x=M(we,!0);P(()=>k(x,e.run.status==="running"?"Waiting for the first workflow event…":"This run did not start any steps.")),z(be,we)};le($e,be=>{a(i).length?be(ft):be(Je,-1)})}var et=o($e,2);{var pt=be=>{var we=Ns(),x=h(we),E=h(x),D=M(E,!0),K=o(E,2);p(x);var g=o(x,2),L=M(g),_=o(g,2);{var J=ae=>{Mt(ae,{get usage(){return a(u).usage},detail:!0})};le(_,ae=>{a(u).usage&&ae(J)})}var V=o(_,2),te=h(V);{let ae=$(()=>a(u).logs.length?a(u).logs.join(`
10
+
11
+ `):"No logs for this activity.");Ut(te,{get text(){return a(ae)}})}p(V),p(we),P(ae=>{k(D,a(u).label),k(L,`${a(u).kind??""} started at ${ae??""}`)},[()=>Ae(a(u).startedAt)]),j("click",K,()=>m(s,"")),z(be,we)};le(et,be=>{a(u)&&be(pt)})}var it=o(et,2);{var ht=be=>{var we=Ds(),x=o(h(we),2),E=M(x,!0);p(we),P(D=>k(E,D),[()=>d(e.run.output)]),z(be,we)};le(it,be=>{e.run.status==="completed"&&e.run.output!==null&&be(ht)})}P(be=>k(Ye,`0 → ${be??""}`),[()=>Ae(a(c))]),z(B,ve)},qe=B=>{var ve=ua(),me=M(ve,!0);P(Ce=>k(me,Ce),[()=>d(e.run.input)]),z(B,ve)},Qe=B=>{var ve=ua(),me=M(ve,!0);P(Ce=>k(me,Ce),[()=>e.run.status==="running"?"Output will appear when the workflow finishes.":d(e.run.output)]),z(B,ve)},Be=B=>{var ve=Hs(),me=h(ve);{let Ce=$(()=>a(v).length?a(v).join(`
12
+
13
+ `):"No logs yet.");Ut(me,{get text(){return a(Ce)}})}p(ve),z(B,ve)};le(je,B=>{a(r)==="timeline"?B(rt):a(r)==="input"?B(qe,1):a(r)==="output"?B(Qe,2):B(Be,-1)})}p(Ne),p(l),P((B,ve,me,Ce)=>{k(H,e.run.source==="web"?"Started from web":`Webhook /${e.run.webhook}`),k(R,e.run.workflow),k(Z,B),k(y,ve),k(W,`Run ${me??""} `),k(ee,e.connection),Ee=de(se,1,"svelte-1618ske",null,Ee,{active:a(r)==="timeline"}),k(he,Ce),Me=de(ce,1,"svelte-1618ske",null,Me,{active:a(r)==="input"}),G=de(X,1,"svelte-1618ske",null,G,{active:a(r)==="output"}),Te=de(ge,1,"svelte-1618ske",null,Te,{active:a(r)==="logs"}),k(Oe,a(v).length)},[()=>new Date(e.run.startedAt).toLocaleString(),()=>Ae(a(c)),()=>e.run.id.slice(0,8),()=>e.run.events.filter(B=>B.type==="step.started").length]),j("click",se,()=>m(r,"timeline")),j("click",ce,()=>m(r,"input")),j("click",X,()=>m(r,"output")),j("click",ge,()=>m(r,"logs")),z(t,l),Pe()}st(["click"]);function kt(t,e=0){if(typeof t!="object"||t===null||Array.isArray(t))return null;const n=t;if(e>5)return null;if("default"in n)return n.default;if("const"in n)return n.const;if(Array.isArray(n.examples)&&n.examples.length)return n.examples[0];if(Array.isArray(n.enum))return n.enum[0];const s=n.anyOf??n.oneOf;return Array.isArray(s)&&s[0]?kt(s[0],e+1):n.type==="object"||n.properties?Object.fromEntries(Object.entries(n.properties??{}).map(([r,i])=>[r,kt(i,e+1)])):n.type==="array"?Array.from({length:Math.min(5,Number(n.minItems)||0)},()=>kt(n.items??{},e+1)):n.type==="boolean"?!1:n.type==="number"||n.type==="integer"?n.minimum??0:n.type==="null"?null:"example"}var Fs=O('<p id="request-error" class="error" role="alert"> </p>'),Ws=O('<dialog aria-labelledby="composer-title" class="svelte-efvi7n"><div class="dialog-head svelte-efvi7n"><div><p class="svelte-efvi7n">New run</p> <h2 id="composer-title" class="svelte-efvi7n"> </h2></div> <button class="quiet" aria-label="Close new run">×</button></div> <div class="endpoint svelte-efvi7n"><code class="svelte-efvi7n"> </code><button class="quiet svelte-efvi7n"> </button></div> <form class="svelte-efvi7n"><label for="request-body" class="svelte-efvi7n">Request body</label> <p class="hint svelte-efvi7n">Edit the sample request. The schema below defines the accepted values.</p> <textarea id="request-body" spellcheck="false" rows="8" class="svelte-efvi7n"></textarea> <details class="svelte-efvi7n"><summary class="svelte-efvi7n">Inspect schemas</summary> <div class="schema-tabs svelte-efvi7n"><button type="button">Workflow input</button><button type="button">Workflow output</button></div> <pre class="svelte-efvi7n"> </pre></details> <!> <footer class="svelte-efvi7n"><span class="svelte-efvi7n">The run continues if you close this window.</span><button class="button primary"> </button></footer></form></dialog>');function Us(t,e){Ue(e,!0);let n,s=F(""),r=F(!1),i=F(""),u=F("input"),c=F(""),v=F(!1);vt(()=>{m(s,JSON.stringify(kt(e.webhook.input),null,2),!0),m(c,location.origin,!0),n.showModal()});async function d(X){X.preventDefault(),m(i,"");try{JSON.parse(a(s))}catch{m(i,"Enter valid JSON before starting the run.");return}m(r,!0);try{const G=await fetch(`/api/runs/start/${encodeURIComponent(e.webhook.name)}`,{method:"POST",headers:{"content-type":"application/json"},body:a(s)}),ge=await G.json();if(!G.ok)throw new Error([ge.error??"Could not start the run.",...(ge.issues??[]).map(Te=>`${Te.path}: ${Te.message}`)].join(`
14
+ `));e.onstarted(ge.id),n.close()}catch(G){m(i,G instanceof Error?G.message:String(G),!0)}finally{m(r,!1)}}async function l(){try{await navigator.clipboard.writeText(`${a(c)}${e.webhook.path}`),m(v,!0)}catch{m(i,"Could not copy the URL. Select and copy it from the address below.")}}var b=Ws(),f=h(b),A=h(f),H=o(h(A),2),N=M(H,!0);p(A);var w=o(A,2);p(f);var R=o(f,2),T=h(R),q=M(T),Z=o(T),ue=M(Z,!0);p(R);var y=o(R,2),S=o(h(y),4);gn(S);var C=o(S,2),W=o(h(C),2),U=h(W);let ee;var Y=o(U);let re;p(W);var fe=o(W,2),se=M(fe,!0);p(C);var Ee=o(C,2);{var Ie=X=>{var G=Fs(),ge=M(G,!0);P(()=>k(ge,a(i))),z(X,G)};le(Ee,X=>{a(i)&&X(Ie)})}var he=o(Ee,2),ce=o(h(he)),Me=M(ce,!0);p(he),p(y),p(b),at(b,X=>n=X,()=>n),P(X=>{k(N,e.webhook.workflow),k(q,`${a(c)??""}${e.webhook.path??""}`),k(ue,a(v)?"Copied":"Copy URL"),ie(S,"aria-describedby",a(i)?"request-error":void 0),ee=de(U,1,"svelte-efvi7n",null,ee,{active:a(u)==="input"}),re=de(Y,1,"svelte-efvi7n",null,re,{active:a(u)==="output"}),k(se,X),ce.disabled=a(r),k(Me,a(r)?"Starting…":"Start run")},[()=>JSON.stringify(e.webhook[a(u)],null,2)]),Ge("close",b,function(...X){e.onclose?.apply(this,X)}),j("click",w,()=>n.close()),j("click",Z,l),Ge("submit",y,d),Fn(S,()=>a(s),X=>m(s,X)),j("click",U,()=>m(u,"input")),j("click",Y,()=>m(u,"output")),z(t,b),Pe()}st(["click"]);function ca(t){return`'${t.replaceAll("'","'\\''")}'`}function Ps(t,e){return[`curl --request POST ${ca(t)}`," --header 'content-type: application/json'",` --data-raw ${ca(JSON.stringify(kt(e),null,2))}`].join(` \\
15
+ `)}var js=O(`<dialog aria-labelledby="hook-info-title" class="svelte-1yb9w6x"><header class="svelte-1yb9w6x"><div><p class="svelte-1yb9w6x">Configured webhook</p> <h2 id="hook-info-title" class="svelte-1yb9w6x"> </h2></div> <button class="quiet" aria-label="Close webhook information">×</button></header> <div class="content svelte-1yb9w6x"><dl class="svelte-1yb9w6x"><dt class="svelte-1yb9w6x">Workflow</dt> <dd class="svelte-1yb9w6x"> </dd> <dt class="svelte-1yb9w6x">Method</dt> <dd class="svelte-1yb9w6x"><code>POST</code></dd> <dt class="svelte-1yb9w6x">Content type</dt> <dd class="svelte-1yb9w6x"><code>application/json</code></dd></dl> <p class="hint svelte-1yb9w6x">The request body must match the workflow input schema and is passed
16
+ directly to the workflow. The response returns the workflow result when
17
+ the run finishes.</p> <section aria-labelledby="hook-url-title" class="svelte-1yb9w6x"><div class="section-head svelte-1yb9w6x"><h3 id="hook-url-title" class="svelte-1yb9w6x">Webhook URL</h3> <button class="quiet svelte-1yb9w6x">Copy URL</button></div> <pre class="svelte-1yb9w6x"> </pre></section> <section aria-labelledby="hook-curl-title" class="svelte-1yb9w6x"><div class="section-head svelte-1yb9w6x"><h3 id="hook-curl-title" class="svelte-1yb9w6x">Example curl command</h3> <button class="quiet svelte-1yb9w6x">Copy curl</button></div> <p class="hint svelte-1yb9w6x">For bash or zsh. This sample comes from the workflow input schema. Check
18
+ its values and add any required authentication headers before use.</p> <pre class="svelte-1yb9w6x"> </pre></section> <p class="copy-status svelte-1yb9w6x" role="status"> </p> <section aria-labelledby="hook-schemas-title" class="svelte-1yb9w6x"><h3 id="hook-schemas-title" class="svelte-1yb9w6x">Schemas</h3> <details class="svelte-1yb9w6x"><summary class="svelte-1yb9w6x">Workflow input</summary> <pre class="svelte-1yb9w6x"> </pre></details> <details class="svelte-1yb9w6x"><summary class="svelte-1yb9w6x">Workflow output</summary> <pre class="svelte-1yb9w6x"> </pre></details></section></div></dialog>`);function Ys(t,e){Ue(e,!0);let n,s=F(""),r=F(""),i=$(()=>`${a(s)}${e.webhook.path}`),u=$(()=>Ps(a(i),e.webhook.input));vt(()=>{m(s,location.origin,!0),n.showModal()});async function c(X,G){try{await navigator.clipboard.writeText(X),m(r,`${G} copied.`)}catch{m(r,"Could not access the clipboard. Select and copy the text below.")}}var v=js(),d=h(v),l=h(d),b=o(h(l),2),f=M(b,!0);p(l);var A=o(l,2);p(d);var H=o(d,2),N=h(H),w=o(h(N),2),R=M(w,!0);xt(8),p(N);var T=o(N,4),q=h(T),Z=o(h(q),2);p(q);var ue=o(q,2),y=M(ue,!0);p(T);var S=o(T,2),C=h(S),W=o(h(C),2);p(C);var U=o(C,4),ee=M(U,!0);p(S);var Y=o(S,2),re=M(Y,!0),fe=o(Y,2),se=o(h(fe),2),Ee=o(h(se),2),Ie=M(Ee,!0);p(se);var he=o(se,2),ce=o(h(he),2),Me=M(ce,!0);p(he),p(fe),p(H),p(v),at(v,X=>n=X,()=>n),P((X,G)=>{k(f,e.webhook.name),k(R,e.webhook.workflow),k(y,a(i)),k(ee,a(u)),k(re,a(r)),k(Ie,X),k(Me,G)},[()=>JSON.stringify(e.webhook.input,null,2),()=>JSON.stringify(e.webhook.output,null,2)]),Ge("close",v,function(...X){e.onclose?.apply(this,X)}),j("click",A,()=>n.close()),j("click",Z,()=>c(a(i),"URL")),j("click",W,()=>c(a(u),"Command")),z(t,v),Pe()}st(["click"]);var Js=O('<meta name="description" content="Start workflows and inspect their live execution."/>'),Xs=O('<div class="error" role="alert"> </div>'),Vs=O('<div class="notice svelte-1uha8ag" role="status"> <button class="quiet" aria-label="Dismiss notice">×</button></div>'),Ks=O('<div><button class="webhook-name svelte-1uha8ag"><span class="hook-icon svelte-1uha8ag">↳</span><span><strong class="svelte-1uha8ag"> </strong><small class="svelte-1uha8ag"> </small></span></button> <div class="hook-actions svelte-1uha8ag"><button class="svelte-1uha8ag">Info</button> <button class="svelte-1uha8ag"> </button><button class="svelte-1uha8ag">Run ↗</button></div></div>'),Zs=O(`<p class="sidebar-empty svelte-1uha8ag">No webhooks configured. Add one to runling.config.ts. Changes load
19
+ automatically.</p>`),Gs=O('<button><span class="run-title svelte-1uha8ag"> </span><span class="run-meta svelte-1uha8ag"><!><span> </span></span> <!> <span class="run-bottom svelte-1uha8ag"><span> </span><time> </time></span></button>'),Qs=O('<div class="list-empty svelte-1uha8ag"><span class="svelte-1uha8ag">◇</span> <p class="svelte-1uha8ag">No runs yet.</p> <small class="svelte-1uha8ag">Start a run or send a webhook to see its progress here.</small></div>'),$s=O('<button class="button">Retry</button>'),er=O('<div class="welcome svelte-1uha8ag"><div class="loading-mark svelte-1uha8ag">◌</div> <h1 class="svelte-1uha8ag"> </h1> <p class="svelte-1uha8ag"> </p> <!></div>'),tr=O('<div class="welcome svelte-1uha8ag"><div class="welcome-mark svelte-1uha8ag" aria-hidden="true"><span class="svelte-1uha8ag"></span><span class="svelte-1uha8ag"></span><span class="svelte-1uha8ag"></span></div> <h1 class="svelte-1uha8ag">Follow the work.</h1> <p class="svelte-1uha8ag">Every step, from the first request<br/>to the final result.</p> <button class="button primary">Start your first run</button><small class="svelte-1uha8ag">Or select a past run to inspect its timeline.</small></div>'),ar=O('<div class="app svelte-1uha8ag"><!> <header class="app-header svelte-1uha8ag"><a href="/" class="brand svelte-1uha8ag" aria-label="Runling home"><svg viewBox="0 0 28 28" width="26" height="26" fill="none" aria-hidden="true" class="svelte-1uha8ag"><path d="M3 25V12l7 4V9l7 4V3h7v22H3Z" fill="currentColor"></path><path d="M7 21h3m4 0h3m3 0h2" stroke="white" stroke-width="2"></path></svg>runling<span class="svelte-1uha8ag">/</span><span class="section-name svelte-1uha8ag">Run console</span></a> <div class="header-actions svelte-1uha8ag"><!> <span><i class="svelte-1uha8ag"></i> </span><button class="button primary">+ New run</button></div></header> <!> <div class="workspace svelte-1uha8ag"><aside class="catalog svelte-1uha8ag"><div class="sidebar-heading svelte-1uha8ag"><h2 class="svelte-1uha8ag">Webhooks</h2> <span> </span></div> <button><span>All runs</span><span> </span></button> <div class="webhooks svelte-1uha8ag"></div> <div class="catalog-foot svelte-1uha8ag"><span class="count svelte-1uha8ag"> </span><span>running now<br/><small class="svelte-1uha8ag">History saved automatically</small></span></div></aside> <section class="run-list svelte-1uha8ag" aria-label="Workflow runs"><div class="list-header svelte-1uha8ag"><h2 class="svelte-1uha8ag"> </h2> <span> </span></div> <div class="runs svelte-1uha8ag"></div> <div class="list-foot svelte-1uha8ag">Latest 100 runs</div></section> <main class="detail-pane svelte-1uha8ag"><!></main></div></div> <!> <!>',1);function cr(t,e){Ue(e,!0);let n=F(null),s=$(()=>a(n)??e.data.runs),r=F(""),i=$(()=>a(s).filter(x=>!a(r)||x.webhook===a(r))),u=$(()=>a(s).filter(x=>x.status==="running").length),c=F(""),v=F(null),d=F("Connecting…"),l=F(""),b=F(!1),f=F(null),A=F(null),H=F(""),N=F(""),w=F(""),R,T;async function q(x){R?.close(),m(c,x,!0),m(v,null),m(l,""),m(d,"Connecting…");const E=new URL(location.href);E.searchParams.set("run",x),history.replaceState(null,"",E);try{const K=await fetch(`/api/runs/${encodeURIComponent(x)}`);if(!K.ok)throw new Error(K.status===404?"Run not found.":"Could not load this run.");const g=await K.json();if(a(c)!==x)return;if(m(v,g,!0),g.status!=="running"){m(d,"Saved");return}}catch(K){a(c)===x&&m(l,K instanceof Error?K.message:String(K),!0);return}const D=new EventSource(`/api/runs/${encodeURIComponent(x)}/events`);R=D,D.addEventListener("snapshot",K=>{a(c)===x&&(m(v,JSON.parse(K.data),!0),m(d,a(v).status==="running"?"Live":"Saved",!0),a(v).status!=="running"&&D.close())}),D.addEventListener("record",K=>{if(!a(v)||a(c)!==x)return;const g=JSON.parse(K.data);m(v,Vn(a(v),g),!0),a(v).status!=="running"&&(m(d,"Saved"),D.close())}),D.onopen=()=>{m(d,"Live")},D.onerror=()=>{m(d,"Connection lost. Retrying…")}}async function Z(x){m(N,"");try{await navigator.clipboard.writeText(`${location.origin}${x.path}`),m(H,x.name,!0),clearTimeout(T),T=setTimeout(()=>{m(H,"")},2200)}catch{m(N,`Copy this URL: ${location.origin}${x.path}`)}}vt(()=>{const x=new EventSource("/api/config/events");let E;x.onopen=()=>{E=void 0},x.addEventListener("config",g=>{const L=JSON.parse(g.data);m(w,L.error??"",!0),E!==L.revision&&(E=L.revision,m(f,null),m(A,null),yn())});const D=new EventSource("/api/runs/events");D.addEventListener("runs",g=>{m(n,JSON.parse(g.data),!0),m(b,!0)}),D.onerror=()=>{m(b,!1)};const K=new URL(location.href).searchParams.get("run")??e.data.runs[0]?.id;return K&&q(K),()=>{x.close(),D.close(),R?.close(),clearTimeout(T)}});var ue=ar();Sn("1uha8ag",x=>{var E=Js();Jt(()=>{mn.title="Runling — Runs"}),z(x,E)});var y=We(ue),S=h(y);{var C=x=>{var E=Xs(),D=M(E);P(()=>k(D,`Configuration reload failed. The last valid configuration is still active. ${a(w)??""}`)),z(x,E)};le(S,x=>{a(w)&&x(C)})}var W=o(S,2),U=o(h(W),2),ee=h(U);Un(ee,{});var Y=o(ee,2);let re;var fe=o(h(Y),1,!0);p(Y);var se=o(Y);p(U),p(W);var Ee=o(W,2);{var Ie=x=>{var E=Vs(),D=h(E,!0),K=o(D);p(E),P(()=>k(D,a(N))),j("click",K,()=>m(N,"")),z(x,E)};le(Ee,x=>{a(N)&&x(Ie)})}var he=o(Ee,2),ce=h(he),Me=h(ce),X=o(h(Me),2),G=M(X,!0);p(Me);var ge=o(Me,2);let Te;var Se=o(h(ge)),Oe=M(Se,!0);p(ge);var Ne=o(ge,2);nt(Ne,21,()=>e.data.webhooks,wa,(x,E)=>{var D=Ks();let K;var g=h(D),L=o(h(g)),_=h(L),J=M(_,!0),V=o(_),te=M(V,!0);p(L),p(g);var ae=o(g,2),pe=h(ae),_e=o(pe,2),Le=M(_e,!0),xe=o(_e);p(ae),p(D),P(()=>{K=de(D,1,"webhook svelte-1uha8ag",null,K,{current:a(r)===a(E).name}),k(J,a(E).name),k(te,a(E).workflow),ie(pe,"aria-label",`Information about ${a(E).name}`),ie(_e,"aria-label",`Copy URL for ${a(E).name}`),k(Le,a(H)===a(E).name?"✓ Copied":"Copy URL"),ie(xe,"aria-label",`Run ${a(E).name}`)}),j("click",g,()=>m(r,a(E).name,!0)),j("click",pe,()=>m(A,a(E),!0)),j("click",_e,()=>Z(a(E))),j("click",xe,()=>m(f,a(E),!0)),z(x,D)},x=>{var E=Zs();z(x,E)}),p(Ne);var je=o(Ne,2),rt=h(je),qe=M(rt,!0);xt(),p(je),p(ce);var Qe=o(ce,2),Be=h(Qe),B=h(Be),ve=M(B,!0),me=o(B,2),Ce=M(me,!0);p(Be);var Ye=o(Be,2);nt(Ye,21,()=>a(i),x=>x.id,(x,E)=>{var D=Gs();let K;var g=h(D),L=M(g,!0),_=o(g),J=h(_);Ea(J,{get status(){return a(E).status}});var V=o(J),te=M(V,!0);p(_);var ae=o(_,2);Mt(ae,{get usage(){return a(E).usage}});var pe=o(ae,2),_e=h(pe),Le=M(_e,!0),xe=o(_e),gt=M(xe,!0);p(pe),p(D),P((I,ne,ye,Xe)=>{K=de(D,1,"run-row svelte-1uha8ag",null,K,{selected:a(c)===a(E).id}),ie(D,"aria-pressed",a(c)===a(E).id),k(L,a(E).workflow),k(te,I),k(Le,ne),ie(xe,"datetime",ye),k(gt,Xe)},[()=>a(E).durationMs!==void 0?Ae(a(E).durationMs):"In progress",()=>a(E).id.slice(0,8),()=>new Date(a(E).startedAt).toISOString(),()=>new Date(a(E).startedAt).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})]),j("click",D,()=>q(a(E).id)),z(x,D)},x=>{var E=Qs();z(x,E)}),p(Ye),xt(2),p(Qe);var $e=o(Qe,2),ft=h($e);{var Je=x=>{var E=da(),D=We(E);xn(D,()=>a(v).id,K=>{Bs(K,{get run(){return a(v)},get connection(){return a(d)}})}),z(x,E)},et=x=>{var E=er(),D=o(h(E),2),K=M(D,!0),g=o(D,2),L=M(g,!0),_=o(g,2);{var J=V=>{var te=$s();j("click",te,()=>q(a(c))),z(V,te)};le(_,V=>{a(l)&&V(J)})}p(E),P(()=>{k(K,a(l)?"Run unavailable":"Loading run"),k(L,a(l)||a(d))}),z(x,E)},pt=x=>{var E=tr(),D=o(h(E),6);xt(),p(E),P(()=>D.disabled=!e.data.webhooks.length),j("click",D,()=>m(f,e.data.webhooks[0]??null,!0)),z(x,E)};le(ft,x=>{a(v)?x(Je):a(c)?x(et,1):x(pt,-1)})}p($e),p(he),p(y);var it=o(y,2);{var ht=x=>{Ys(x,{get webhook(){return a(A)},onclose:()=>m(A,null)})};le(it,x=>{a(A)&&x(ht)})}var be=o(it,2);{var we=x=>{Us(x,{get webhook(){return a(f)},onclose:()=>m(f,null),onstarted:E=>{m(r,""),q(E)}})};le(be,x=>{a(f)&&x(we)})}P(()=>{re=de(Y,1,"live-label svelte-1uha8ag",null,re,{connected:a(b)}),k(fe,a(b)?"Connected":"Reconnecting"),se.disabled=!e.data.webhooks.length,k(G,e.data.webhooks.length),Te=de(ge,1,"all-runs svelte-1uha8ag",null,Te,{current:!a(r)}),k(Oe,a(s).length),k(qe,a(u)),k(ve,a(r)||"Recent runs"),k(Ce,a(i).length)}),j("click",se,()=>m(f,e.data.webhooks.find(x=>x.name===a(r))??e.data.webhooks[0]??null,!0)),j("click",ge,()=>m(r,"")),z(t,ue),Pe()}st(["click"]);export{cr as component};
@@ -0,0 +1 @@
1
+ {"version":"1788632346131"}
@@ -0,0 +1,70 @@
1
+ import path from 'node:path';
2
+ import process from 'node:process';
3
+ import { fileURLToPath } from 'node:url';
4
+
5
+ // since env.js is an entrypoint, `dir` will point to the output directory
6
+ const dir = path.dirname(fileURLToPath(import.meta.url));
7
+
8
+ const expected_unprefixed = new Set(['LISTEN_PID', 'LISTEN_FDS']);
9
+
10
+ const env_prefix = "";
11
+
12
+ /**
13
+ * @param {string} name
14
+ * @param {any} [fallback]
15
+ */
16
+ function env(name, fallback) {
17
+ const prefix = expected_unprefixed.has(name) ? '' : env_prefix;
18
+ const prefixed = prefix + name;
19
+ return prefixed in process.env ? process.env[prefixed] : fallback;
20
+ }
21
+
22
+ const integer_regexp = /^\d+$/;
23
+
24
+ /**
25
+ * Throw a consistently-structured parsing error for environment variables.
26
+ * @param {string} name
27
+ * @param {any} value
28
+ * @param {string} description
29
+ * @returns {never}
30
+ */
31
+ function parsing_error(name, value, description) {
32
+ throw new Error(
33
+ `Invalid value for environment variable ${name}: ${JSON.stringify(value)} (${description})`
34
+ );
35
+ }
36
+
37
+ /**
38
+ * Check the environment for a timeout value (non-negative integer) in seconds.
39
+ * @param {string} name
40
+ * @param {number} [fallback]
41
+ * @returns {number | undefined}
42
+ */
43
+ function timeout_env(name, fallback) {
44
+ const raw = env(name, fallback);
45
+ if (!raw) {
46
+ return fallback;
47
+ }
48
+
49
+ if (!integer_regexp.test(raw)) {
50
+ parsing_error(name, raw, 'should be a non-negative integer');
51
+ }
52
+
53
+ const parsed = Number.parseInt(raw, 10);
54
+
55
+ // We don't technically need to check `Number.isNaN` because the value already passed the regexp test.
56
+ // However, just in case there's some new codepath introduced somewhere down the line, it's probably good
57
+ // to stick this in here.
58
+ if (Number.isNaN(parsed)) {
59
+ parsing_error(name, raw, 'should be a non-negative integer');
60
+ }
61
+
62
+ if (parsed < 0) {
63
+ parsing_error(name, raw, 'should be a non-negative integer');
64
+ }
65
+
66
+ return parsed;
67
+ }
68
+
69
+ export { dir, env, env_prefix, timeout_env };
70
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sources":["../.svelte-kit/adapter-node/entries/env.js"],"sourcesContent":["import path from 'node:path';\nimport process from 'node:process';\nimport { fileURLToPath } from 'node:url';\n\n// since env.js is an entrypoint, `dir` will point to the output directory\nconst dir = path.dirname(fileURLToPath(import.meta.url));\n\nconst expected = new Set([\n\t'SOCKET_PATH',\n\t'HOST',\n\t'PORT',\n\t'ORIGIN',\n\t'XFF_DEPTH',\n\t'ADDRESS_HEADER',\n\t'PROTOCOL_HEADER',\n\t'HOST_HEADER',\n\t'PORT_HEADER',\n\t'BODY_SIZE_LIMIT',\n\t'SHUTDOWN_TIMEOUT',\n\t'IDLE_TIMEOUT',\n\t'KEEP_ALIVE_TIMEOUT',\n\t'HEADERS_TIMEOUT'\n]);\n\nconst expected_unprefixed = new Set(['LISTEN_PID', 'LISTEN_FDS']);\n\nconst env_prefix = ENV_PREFIX;\n\nif (env_prefix) {\n\tfor (const name in process.env) {\n\t\tif (name.startsWith(env_prefix)) {\n\t\t\tconst unprefixed = name.slice(env_prefix.length);\n\t\t\tif (!expected.has(unprefixed)) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`You should change envPrefix (${env_prefix}) to avoid conflicts with existing environment variables — unexpectedly saw ${name}`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * @param {string} name\n * @param {any} [fallback]\n */\nfunction env(name, fallback) {\n\tconst prefix = expected_unprefixed.has(name) ? '' : env_prefix;\n\tconst prefixed = prefix + name;\n\treturn prefixed in process.env ? process.env[prefixed] : fallback;\n}\n\nconst integer_regexp = /^\\d+$/;\n\n/**\n * Throw a consistently-structured parsing error for environment variables.\n * @param {string} name\n * @param {any} value\n * @param {string} description\n * @returns {never}\n */\nfunction parsing_error(name, value, description) {\n\tthrow new Error(\n\t\t`Invalid value for environment variable ${name}: ${JSON.stringify(value)} (${description})`\n\t);\n}\n\n/**\n * Check the environment for a timeout value (non-negative integer) in seconds.\n * @param {string} name\n * @param {number} [fallback]\n * @returns {number | undefined}\n */\nfunction timeout_env(name, fallback) {\n\tconst raw = env(name, fallback);\n\tif (!raw) {\n\t\treturn fallback;\n\t}\n\n\tif (!integer_regexp.test(raw)) {\n\t\tparsing_error(name, raw, 'should be a non-negative integer');\n\t}\n\n\tconst parsed = Number.parseInt(raw, 10);\n\n\t// We don't technically need to check `Number.isNaN` because the value already passed the regexp test.\n\t// However, just in case there's some new codepath introduced somewhere down the line, it's probably good\n\t// to stick this in here.\n\tif (Number.isNaN(parsed)) {\n\t\tparsing_error(name, raw, 'should be a non-negative integer');\n\t}\n\n\tif (parsed < 0) {\n\t\tparsing_error(name, raw, 'should be a non-negative integer');\n\t}\n\n\treturn parsed;\n}\n\nexport { dir, env, env_prefix, timeout_env };\n"],"names":[],"mappings":";;;;AAIA;AACK,MAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;;AAmBvD,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;;AAE5D,MAAC,UAAU,GAAG;;AAenB;AACA;AACA;AACA;AACA,SAAS,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE;AAC7B,CAAC,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU;AAC/D,CAAC,MAAM,QAAQ,GAAG,MAAM,GAAG,IAAI;AAC/B,CAAC,OAAO,QAAQ,IAAI,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,QAAQ;AAClE;;AAEA,MAAM,cAAc,GAAG,OAAO;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE;AACjD,CAAC,MAAM,IAAI,KAAK;AAChB,EAAE,CAAC,uCAAuC,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;AAC5F,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE;AACrC,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;AAChC,CAAC,IAAI,CAAC,GAAG,EAAE;AACX,EAAE,OAAO,QAAQ;AACjB,CAAC;;AAED,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAChC,EAAE,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,kCAAkC,CAAC;AAC9D,CAAC;;AAED,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC;;AAExC;AACA;AACA;AACA,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AAC3B,EAAE,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,kCAAkC,CAAC;AAC9D,CAAC;;AAED,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE;AACjB,EAAE,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,kCAAkC,CAAC;AAC9D,CAAC;;AAED,CAAC,OAAO,MAAM;AACd;;"}
@@ -0,0 +1,23 @@
1
+ import './shims.js';
2
+ import 'node:fs';
3
+ import 'node:path';
4
+ import 'node:process';
5
+ export { h as handler } from './server/chunks/handler-BpKA6eGq.js';
6
+ import './server/chunks/index.js-CVS44OGr.js';
7
+ import './server/chunks/manifest.js-CnB5rB3W.js';
8
+ import './env.js';
9
+ import 'node:buffer';
10
+ import 'node:crypto';
11
+ import 'node:http';
12
+ import 'node:timers';
13
+ import 'node:querystring';
14
+ import 'node:stream';
15
+ import './server/chunks/chunks/utils2.js-CPBdgO4h.js';
16
+ import './server/chunks/chunks/utils.js-BQzn9ikS.js';
17
+ import './server/chunks/chunks/uneval.js-5Y6J9rDU.js';
18
+ import 'node:url';
19
+ import './server/chunks/chunks/root.js-HNgH7zyW.js';
20
+ import './server/chunks/chunks/server.js-Bf8x1V_n.js';
21
+ import './server/chunks/chunks/exports.js-BZBK1HC9.js';
22
+ import './server/chunks/chunks/internal.js-pcXelyRW.js';
23
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,146 @@
1
+ import http from 'node:http';
2
+ import fs__default from 'node:fs';
3
+ import process from 'node:process';
4
+ import { p as polka, h as handler, f as format_listening_address } from './server/chunks/handler-BpKA6eGq.js';
5
+ import { env, timeout_env } from './env.js';
6
+ import { rm } from 'node:fs/promises';
7
+ import './shims.js';
8
+ import 'node:buffer';
9
+ import 'node:crypto';
10
+ import 'node:path';
11
+ import 'node:timers';
12
+ import 'node:querystring';
13
+ import 'node:stream';
14
+ import './server/chunks/chunks/utils2.js-CPBdgO4h.js';
15
+ import './server/chunks/chunks/utils.js-BQzn9ikS.js';
16
+ import './server/chunks/chunks/uneval.js-5Y6J9rDU.js';
17
+ import './server/chunks/index.js-CVS44OGr.js';
18
+ import './server/chunks/chunks/root.js-HNgH7zyW.js';
19
+ import './server/chunks/chunks/server.js-Bf8x1V_n.js';
20
+ import './server/chunks/chunks/exports.js-BZBK1HC9.js';
21
+ import './server/chunks/chunks/internal.js-pcXelyRW.js';
22
+ import './server/chunks/manifest.js-CnB5rB3W.js';
23
+ import 'node:url';
24
+
25
+ const path = env('SOCKET_PATH', false);
26
+ const host = env('HOST', '0.0.0.0');
27
+ const port = env('PORT', !path && '3000');
28
+
29
+ const shutdown_timeout = parseInt(env('SHUTDOWN_TIMEOUT', '30'));
30
+ const idle_timeout = parseInt(env('IDLE_TIMEOUT', '0'));
31
+ const listen_pid = parseInt(env('LISTEN_PID', '0'));
32
+ const listen_fds = parseInt(env('LISTEN_FDS', '0'));
33
+ // https://www.freedesktop.org/software/systemd/man/latest/sd_listen_fds.html
34
+ const SD_LISTEN_FDS_START = 3;
35
+
36
+ if (listen_pid !== 0 && listen_pid !== process.pid) {
37
+ throw new Error(`received LISTEN_PID ${listen_pid} but current process id is ${process.pid}`);
38
+ }
39
+ if (listen_fds > 1) {
40
+ throw new Error(
41
+ `only one socket is allowed for socket activation, but LISTEN_FDS was set to ${listen_fds}`
42
+ );
43
+ }
44
+
45
+ const socket_activation = listen_pid === process.pid && listen_fds === 1;
46
+
47
+ let requests = 0;
48
+ /** @type {NodeJS.Timeout | void} */
49
+ let shutdown_timeout_id;
50
+ /** @type {NodeJS.Timeout | void} */
51
+ let idle_timeout_id;
52
+
53
+ // Initialize the HTTP server here so that we can set properties before starting to listen.
54
+ // Otherwise, polka delays creating the server until listen() is called. Settings these
55
+ // properties after the server has started listening could lead to race conditions.
56
+ const httpServer = http.createServer();
57
+
58
+ const keep_alive_timeout = timeout_env('KEEP_ALIVE_TIMEOUT');
59
+ if (keep_alive_timeout !== undefined) {
60
+ // Convert the keep-alive timeout from seconds to milliseconds (the unit Node.js expects).
61
+ httpServer.keepAliveTimeout = keep_alive_timeout * 1000;
62
+ }
63
+
64
+ const headers_timeout = timeout_env('HEADERS_TIMEOUT');
65
+ if (headers_timeout !== undefined) {
66
+ // Convert the headers timeout from seconds to milliseconds (the unit Node.js expects).
67
+ httpServer.headersTimeout = headers_timeout * 1000;
68
+ }
69
+
70
+ const server = polka({ server: httpServer }).use(handler);
71
+
72
+ if (socket_activation) {
73
+ server.listen({ fd: SD_LISTEN_FDS_START }, () => {
74
+ console.log(`Listening on file descriptor ${SD_LISTEN_FDS_START}`);
75
+ });
76
+ } else {
77
+ if (path) {
78
+ try {
79
+ if (fs__default.statSync(path).size === 0) {
80
+ await rm(path);
81
+ }
82
+ } catch {
83
+ // ignore
84
+ }
85
+ }
86
+
87
+ server.listen({ path, host, port }, () => {
88
+ console.log(`Listening on ${format_listening_address(path, host, port, httpServer.address())}`);
89
+ });
90
+ }
91
+
92
+ /** @param {'SIGINT' | 'SIGTERM' | 'IDLE'} reason */
93
+ function graceful_shutdown(reason) {
94
+ if (shutdown_timeout_id) return;
95
+
96
+ // If a connection was opened with a keep-alive header close() will wait for the connection to
97
+ // time out rather than close it even if it is not handling any requests, so call this first
98
+ httpServer.closeIdleConnections();
99
+
100
+ httpServer.close((error) => {
101
+ // occurs if the server is already closed
102
+ if (error) return;
103
+
104
+ if (shutdown_timeout_id) {
105
+ clearTimeout(shutdown_timeout_id);
106
+ }
107
+ if (idle_timeout_id) {
108
+ clearTimeout(idle_timeout_id);
109
+ }
110
+
111
+ // @ts-expect-error custom events cannot be typed
112
+ process.emit('sveltekit:shutdown', reason);
113
+ });
114
+
115
+ shutdown_timeout_id = setTimeout(() => httpServer.closeAllConnections(), shutdown_timeout * 1000);
116
+ }
117
+
118
+ httpServer.on(
119
+ 'request',
120
+ /** @param {import('node:http').IncomingMessage} req */
121
+ (req) => {
122
+ requests++;
123
+
124
+ if (socket_activation && idle_timeout_id) {
125
+ idle_timeout_id = clearTimeout(idle_timeout_id);
126
+ }
127
+
128
+ req.on('close', () => {
129
+ requests--;
130
+
131
+ if (shutdown_timeout_id) {
132
+ // close connections as soon as they become idle, so they don't accept new requests
133
+ httpServer.closeIdleConnections();
134
+ }
135
+ if (requests === 0 && socket_activation && idle_timeout) {
136
+ idle_timeout_id = setTimeout(() => graceful_shutdown('IDLE'), idle_timeout * 1000);
137
+ }
138
+ });
139
+ }
140
+ );
141
+
142
+ process.on('SIGTERM', graceful_shutdown);
143
+ process.on('SIGINT', graceful_shutdown);
144
+
145
+ export { host, path, port, server };
146
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../.svelte-kit/adapter-node/entries/index.js"],"sourcesContent":["import http from 'node:http';\nimport fs__default from 'node:fs';\nimport process from 'node:process';\nimport { handler } from './handler.js';\nimport { env, timeout_env } from './env.js';\nimport { p as polka } from './chunks/vendor.js';\nimport { rm } from 'node:fs/promises';\nimport { format_listening_address } from './utils.js';\n\nconst path = env('SOCKET_PATH', false);\nconst host = env('HOST', '0.0.0.0');\nconst port = env('PORT', !path && '3000');\n\nconst shutdown_timeout = parseInt(env('SHUTDOWN_TIMEOUT', '30'));\nconst idle_timeout = parseInt(env('IDLE_TIMEOUT', '0'));\nconst listen_pid = parseInt(env('LISTEN_PID', '0'));\nconst listen_fds = parseInt(env('LISTEN_FDS', '0'));\n// https://www.freedesktop.org/software/systemd/man/latest/sd_listen_fds.html\nconst SD_LISTEN_FDS_START = 3;\n\nif (listen_pid !== 0 && listen_pid !== process.pid) {\n\tthrow new Error(`received LISTEN_PID ${listen_pid} but current process id is ${process.pid}`);\n}\nif (listen_fds > 1) {\n\tthrow new Error(\n\t\t`only one socket is allowed for socket activation, but LISTEN_FDS was set to ${listen_fds}`\n\t);\n}\n\nconst socket_activation = listen_pid === process.pid && listen_fds === 1;\n\nlet requests = 0;\n/** @type {NodeJS.Timeout | void} */\nlet shutdown_timeout_id;\n/** @type {NodeJS.Timeout | void} */\nlet idle_timeout_id;\n\n// Initialize the HTTP server here so that we can set properties before starting to listen.\n// Otherwise, polka delays creating the server until listen() is called. Settings these\n// properties after the server has started listening could lead to race conditions.\nconst httpServer = http.createServer();\n\nconst keep_alive_timeout = timeout_env('KEEP_ALIVE_TIMEOUT');\nif (keep_alive_timeout !== undefined) {\n\t// Convert the keep-alive timeout from seconds to milliseconds (the unit Node.js expects).\n\thttpServer.keepAliveTimeout = keep_alive_timeout * 1000;\n}\n\nconst headers_timeout = timeout_env('HEADERS_TIMEOUT');\nif (headers_timeout !== undefined) {\n\t// Convert the headers timeout from seconds to milliseconds (the unit Node.js expects).\n\thttpServer.headersTimeout = headers_timeout * 1000;\n}\n\nconst server = polka({ server: httpServer }).use(handler);\n\nif (socket_activation) {\n\tserver.listen({ fd: SD_LISTEN_FDS_START }, () => {\n\t\tconsole.log(`Listening on file descriptor ${SD_LISTEN_FDS_START}`);\n\t});\n} else {\n\tif (path) {\n\t\ttry {\n\t\t\tif (fs__default.statSync(path).size === 0) {\n\t\t\t\tawait rm(path);\n\t\t\t}\n\t\t} catch {\n\t\t\t// ignore\n\t\t}\n\t}\n\n\tserver.listen({ path, host, port }, () => {\n\t\tconsole.log(`Listening on ${format_listening_address(path, host, port, httpServer.address())}`);\n\t});\n}\n\n/** @param {'SIGINT' | 'SIGTERM' | 'IDLE'} reason */\nfunction graceful_shutdown(reason) {\n\tif (shutdown_timeout_id) return;\n\n\t// If a connection was opened with a keep-alive header close() will wait for the connection to\n\t// time out rather than close it even if it is not handling any requests, so call this first\n\thttpServer.closeIdleConnections();\n\n\thttpServer.close((error) => {\n\t\t// occurs if the server is already closed\n\t\tif (error) return;\n\n\t\tif (shutdown_timeout_id) {\n\t\t\tclearTimeout(shutdown_timeout_id);\n\t\t}\n\t\tif (idle_timeout_id) {\n\t\t\tclearTimeout(idle_timeout_id);\n\t\t}\n\n\t\t// @ts-expect-error custom events cannot be typed\n\t\tprocess.emit('sveltekit:shutdown', reason);\n\t});\n\n\tshutdown_timeout_id = setTimeout(() => httpServer.closeAllConnections(), shutdown_timeout * 1000);\n}\n\nhttpServer.on(\n\t'request',\n\t/** @param {import('node:http').IncomingMessage} req */\n\t(req) => {\n\t\trequests++;\n\n\t\tif (socket_activation && idle_timeout_id) {\n\t\t\tidle_timeout_id = clearTimeout(idle_timeout_id);\n\t\t}\n\n\t\treq.on('close', () => {\n\t\t\trequests--;\n\n\t\t\tif (shutdown_timeout_id) {\n\t\t\t\t// close connections as soon as they become idle, so they don't accept new requests\n\t\t\t\thttpServer.closeIdleConnections();\n\t\t\t}\n\t\t\tif (requests === 0 && socket_activation && idle_timeout) {\n\t\t\t\tidle_timeout_id = setTimeout(() => graceful_shutdown('IDLE'), idle_timeout * 1000);\n\t\t\t}\n\t\t});\n\t}\n);\n\nprocess.on('SIGTERM', graceful_shutdown);\nprocess.on('SIGINT', graceful_shutdown);\n\nexport { host, path, port, server };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AASK,MAAC,IAAI,GAAG,GAAG,CAAC,aAAa,EAAE,KAAK;AAChC,MAAC,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS;AAC7B,MAAC,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,MAAM;;AAExC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;AAChE,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;AACvD,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;AACnD,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;AACnD;AACA,MAAM,mBAAmB,GAAG,CAAC;;AAE7B,IAAI,UAAU,KAAK,CAAC,IAAI,UAAU,KAAK,OAAO,CAAC,GAAG,EAAE;AACpD,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,oBAAoB,EAAE,UAAU,CAAC,2BAA2B,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9F;AACA,IAAI,UAAU,GAAG,CAAC,EAAE;AACpB,CAAC,MAAM,IAAI,KAAK;AAChB,EAAE,CAAC,4EAA4E,EAAE,UAAU,CAAC;AAC5F,EAAE;AACF;;AAEA,MAAM,iBAAiB,GAAG,UAAU,KAAK,OAAO,CAAC,GAAG,IAAI,UAAU,KAAK,CAAC;;AAExE,IAAI,QAAQ,GAAG,CAAC;AAChB;AACA,IAAI,mBAAmB;AACvB;AACA,IAAI,eAAe;;AAEnB;AACA;AACA;AACA,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE;;AAEtC,MAAM,kBAAkB,GAAG,WAAW,CAAC,oBAAoB,CAAC;AAC5D,IAAI,kBAAkB,KAAK,SAAS,EAAE;AACtC;AACA,CAAC,UAAU,CAAC,gBAAgB,GAAG,kBAAkB,GAAG,IAAI;AACxD;;AAEA,MAAM,eAAe,GAAG,WAAW,CAAC,iBAAiB,CAAC;AACtD,IAAI,eAAe,KAAK,SAAS,EAAE;AACnC;AACA,CAAC,UAAU,CAAC,cAAc,GAAG,eAAe,GAAG,IAAI;AACnD;;AAEK,MAAC,MAAM,GAAG,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO;;AAExD,IAAI,iBAAiB,EAAE;AACvB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE,MAAM;AAClD,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,6BAA6B,EAAE,mBAAmB,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC;AACH,CAAC,MAAM;AACP,CAAC,IAAI,IAAI,EAAE;AACX,EAAE,IAAI;AACN,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE;AAC9C,IAAI,MAAM,EAAE,CAAC,IAAI,CAAC;AAClB,GAAG;AACH,EAAE,CAAC,CAAC,MAAM;AACV;AACA,EAAE;AACF,CAAC;;AAED,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM;AAC3C,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AACjG,CAAC,CAAC,CAAC;AACH;;AAEA;AACA,SAAS,iBAAiB,CAAC,MAAM,EAAE;AACnC,CAAC,IAAI,mBAAmB,EAAE;;AAE1B;AACA;AACA,CAAC,UAAU,CAAC,oBAAoB,EAAE;;AAElC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK;AAC7B;AACA,EAAE,IAAI,KAAK,EAAE;;AAEb,EAAE,IAAI,mBAAmB,EAAE;AAC3B,GAAG,YAAY,CAAC,mBAAmB,CAAC;AACpC,EAAE;AACF,EAAE,IAAI,eAAe,EAAE;AACvB,GAAG,YAAY,CAAC,eAAe,CAAC;AAChC,EAAE;;AAEF;AACA,EAAE,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC;AAC5C,CAAC,CAAC,CAAC;;AAEH,CAAC,mBAAmB,GAAG,UAAU,CAAC,MAAM,UAAU,CAAC,mBAAmB,EAAE,EAAE,gBAAgB,GAAG,IAAI,CAAC;AAClG;;AAEA,UAAU,CAAC,EAAE;AACb,CAAC,SAAS;AACV;AACA,CAAC,CAAC,GAAG,KAAK;AACV,EAAE,QAAQ,EAAE;;AAEZ,EAAE,IAAI,iBAAiB,IAAI,eAAe,EAAE;AAC5C,GAAG,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC;AAClD,EAAE;;AAEF,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM;AACxB,GAAG,QAAQ,EAAE;;AAEb,GAAG,IAAI,mBAAmB,EAAE;AAC5B;AACA,IAAI,UAAU,CAAC,oBAAoB,EAAE;AACrC,GAAG;AACH,GAAG,IAAI,QAAQ,KAAK,CAAC,IAAI,iBAAiB,IAAI,YAAY,EAAE;AAC5D,IAAI,eAAe,GAAG,UAAU,CAAC,MAAM,iBAAiB,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;AACtF,GAAG;AACH,EAAE,CAAC,CAAC;AACJ,CAAC;AACD,CAAC;;AAED,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC;AACxC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC;;"}