@viraatdas/rudder 2.10.14 → 2.10.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- var G,v,ke,ot,M,ge,we,xe,ne,W,U,Ee,ae,re,se,at,K={},Y=[],it=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,J=Array.isArray;function C(e,t){for(var n in t)e[n]=t[n];return e}function ie(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function lt(e,t,n){var s,o,i,l={};for(i in t)i=="key"?s=t[i]:i=="ref"?o=t[i]:l[i]=t[i];if(arguments.length>2&&(l.children=arguments.length>3?G.call(arguments,2):n),typeof e=="function"&&e.defaultProps!=null)for(i in e.defaultProps)l[i]===void 0&&(l[i]=e.defaultProps[i]);return V(e,l,s,o,null)}function V(e,t,n,s,o){var i={type:e,props:t,key:n,ref:s,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:o??++ke,__i:-1,__u:0};return o==null&&v.vnode!=null&&v.vnode(i),i}function R(e){return e.children}function F(e,t){this.props=e,this.context=t}function L(e,t){if(t==null)return e.__?L(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type=="function"?L(e):null}function ct(e){if(e.__P&&e.__d){var t=e.__v,n=t.__e,s=[],o=[],i=C({},t);i.__v=t.__v+1,v.vnode&&v.vnode(i),le(e.__P,i,t,e.__n,e.__P.namespaceURI,32&t.__u?[n]:null,s,n??L(t),!!(32&t.__u),o),i.__v=t.__v,i.__.__k[i.__i]=i,Te(s,i,o),t.__e=t.__=null,i.__e!=n&&Se(i)}}function Se(e){if((e=e.__)!=null&&e.__c!=null)return e.__e=e.__c.base=null,e.__k.some(function(t){if(t!=null&&t.__e!=null)return e.__e=e.__c.base=t.__e}),Se(e)}function ve(e){(!e.__d&&(e.__d=!0)&&M.push(e)&&!q.__r++||ge!=v.debounceRendering)&&((ge=v.debounceRendering)||we)(q)}function q(){try{for(var e,t=1;M.length;)M.length>t&&M.sort(xe),e=M.shift(),t=M.length,ct(e)}finally{M.length=q.__r=0}}function Ce(e,t,n,s,o,i,l,d,u,c,_){var a,f,p,y,m,b,g,h=s&&s.__k||Y,T=t.length;for(u=dt(n,t,h,u,T),a=0;a<T;a++)(p=n.__k[a])!=null&&(f=p.__i!=-1&&h[p.__i]||K,p.__i=a,b=le(e,p,f,o,i,l,d,u,c,_),y=p.__e,p.ref&&f.ref!=p.ref&&(f.ref&&ce(f.ref,null,p),_.push(p.ref,p.__c||y,p)),m==null&&y!=null&&(m=y),(g=!!(4&p.__u))||f.__k===p.__k?(u=Ne(p,u,e,g),g&&f.__e&&(f.__e=null)):typeof p.type=="function"&&b!==void 0?u=b:y&&(u=y.nextSibling),p.__u&=-7);return n.__e=m,u}function dt(e,t,n,s,o){var i,l,d,u,c,_=n.length,a=_,f=0;for(e.__k=new Array(o),i=0;i<o;i++)(l=t[i])!=null&&typeof l!="boolean"&&typeof l!="function"?(typeof l=="string"||typeof l=="number"||typeof l=="bigint"||l.constructor==String?l=e.__k[i]=V(null,l,null,null,null):J(l)?l=e.__k[i]=V(R,{children:l},null,null,null):l.constructor===void 0&&l.__b>0?l=e.__k[i]=V(l.type,l.props,l.key,l.ref?l.ref:null,l.__v):e.__k[i]=l,u=i+f,l.__=e,l.__b=e.__b+1,d=null,(c=l.__i=ut(l,n,u,a))!=-1&&(a--,(d=n[c])&&(d.__u|=2)),d==null||d.__v==null?(c==-1&&(o>_?f--:o<_&&f++),typeof l.type!="function"&&(l.__u|=4)):c!=u&&(c==u-1?f--:c==u+1?f++:(c>u?f--:f++,l.__u|=4))):e.__k[i]=null;if(a)for(i=0;i<_;i++)(d=n[i])!=null&&!(2&d.__u)&&(d.__e==s&&(s=L(d)),Pe(d,d));return s}function Ne(e,t,n,s){var o,i;if(typeof e.type=="function"){for(o=e.__k,i=0;o&&i<o.length;i++)o[i]&&(o[i].__=e,t=Ne(o[i],t,n,s));return t}e.__e!=t&&(s&&(t&&e.type&&!t.parentNode&&(t=L(e)),n.insertBefore(e.__e,t||null)),t=e.__e);do t=t&&t.nextSibling;while(t!=null&&t.nodeType==8);return t}function ut(e,t,n,s){var o,i,l,d=e.key,u=e.type,c=t[n],_=c!=null&&(2&c.__u)==0;if(c===null&&d==null||_&&d==c.key&&u==c.type)return n;if(s>(_?1:0)){for(o=n-1,i=n+1;o>=0||i<t.length;)if((c=t[l=o>=0?o--:i++])!=null&&!(2&c.__u)&&d==c.key&&u==c.type)return l}return-1}function he(e,t,n){t[0]=="-"?e.setProperty(t,n??""):e[t]=n==null?"":typeof n!="number"||it.test(t)?n:n+"px"}function j(e,t,n,s,o){var i,l;e:if(t=="style")if(typeof n=="string")e.style.cssText=n;else{if(typeof s=="string"&&(e.style.cssText=s=""),s)for(t in s)n&&t in n||he(e.style,t,"");if(n)for(t in n)s&&n[t]==s[t]||he(e.style,t,n[t])}else if(t[0]=="o"&&t[1]=="n")i=t!=(t=t.replace(Ee,"$1")),l=t.toLowerCase(),t=l in e||t=="onFocusOut"||t=="onFocusIn"?l.slice(2):t.slice(2),e.l||(e.l={}),e.l[t+i]=n,n?s?n[U]=s[U]:(n[U]=ae,e.addEventListener(t,i?se:re,i)):e.removeEventListener(t,i?se:re,i);else{if(o=="http://www.w3.org/2000/svg")t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(t!="width"&&t!="height"&&t!="href"&&t!="list"&&t!="form"&&t!="tabIndex"&&t!="download"&&t!="rowSpan"&&t!="colSpan"&&t!="role"&&t!="popover"&&t in e)try{e[t]=n??"";break e}catch{}typeof n=="function"||(n==null||n===!1&&t[4]!="-"?e.removeAttribute(t):e.setAttribute(t,t=="popover"&&n==1?"":n))}}function be(e){return function(t){if(this.l){var n=this.l[t.type+e];if(t[W]==null)t[W]=ae++;else if(t[W]<n[U])return;return n(v.event?v.event(t):t)}}}function le(e,t,n,s,o,i,l,d,u,c){var _,a,f,p,y,m,b,g,h,T,P,D,ye,O,te,S=t.type;if(t.constructor!==void 0)return null;128&n.__u&&(u=!!(32&n.__u),i=[d=t.__e=n.__e]),(_=v.__b)&&_(t);e:if(typeof S=="function")try{if(g=t.props,h=S.prototype&&S.prototype.render,T=(_=S.contextType)&&s[_.__c],P=_?T?T.props.value:_.__:s,n.__c?b=(a=t.__c=n.__c).__=a.__E:(h?t.__c=a=new S(g,P):(t.__c=a=new F(g,P),a.constructor=S,a.render=pt),T&&T.sub(a),a.state||(a.state={}),a.__n=s,f=a.__d=!0,a.__h=[],a._sb=[]),h&&a.__s==null&&(a.__s=a.state),h&&S.getDerivedStateFromProps!=null&&(a.__s==a.state&&(a.__s=C({},a.__s)),C(a.__s,S.getDerivedStateFromProps(g,a.__s))),p=a.props,y=a.state,a.__v=t,f)h&&S.getDerivedStateFromProps==null&&a.componentWillMount!=null&&a.componentWillMount(),h&&a.componentDidMount!=null&&a.__h.push(a.componentDidMount);else{if(h&&S.getDerivedStateFromProps==null&&g!==p&&a.componentWillReceiveProps!=null&&a.componentWillReceiveProps(g,P),t.__v==n.__v||!a.__e&&a.shouldComponentUpdate!=null&&a.shouldComponentUpdate(g,a.__s,P)===!1){t.__v!=n.__v&&(a.props=g,a.state=a.__s,a.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.some(function($){$&&($.__=t)}),Y.push.apply(a.__h,a._sb),a._sb=[],a.__h.length&&l.push(a);break e}a.componentWillUpdate!=null&&a.componentWillUpdate(g,a.__s,P),h&&a.componentDidUpdate!=null&&a.__h.push(function(){a.componentDidUpdate(p,y,m)})}if(a.context=P,a.props=g,a.__P=e,a.__e=!1,D=v.__r,ye=0,h)a.state=a.__s,a.__d=!1,D&&D(t),_=a.render(a.props,a.state,a.context),Y.push.apply(a.__h,a._sb),a._sb=[];else do a.__d=!1,D&&D(t),_=a.render(a.props,a.state,a.context),a.state=a.__s;while(a.__d&&++ye<25);a.state=a.__s,a.getChildContext!=null&&(s=C(C({},s),a.getChildContext())),h&&!f&&a.getSnapshotBeforeUpdate!=null&&(m=a.getSnapshotBeforeUpdate(p,y)),O=_!=null&&_.type===R&&_.key==null?Me(_.props.children):_,d=Ce(e,J(O)?O:[O],t,n,s,o,i,l,d,u,c),a.base=t.__e,t.__u&=-161,a.__h.length&&l.push(a),b&&(a.__E=a.__=null)}catch($){if(t.__v=null,u||i!=null)if($.then){for(t.__u|=u?160:128;d&&d.nodeType==8&&d.nextSibling;)d=d.nextSibling;i[i.indexOf(d)]=null,t.__e=d}else{for(te=i.length;te--;)ie(i[te]);oe(t)}else t.__e=n.__e,t.__k=n.__k,$.then||oe(t);v.__e($,t,n)}else i==null&&t.__v==n.__v?(t.__k=n.__k,t.__e=n.__e):d=t.__e=_t(n.__e,t,n,s,o,i,l,u,c);return(_=v.diffed)&&_(t),128&t.__u?void 0:d}function oe(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(oe))}function Te(e,t,n){for(var s=0;s<n.length;s++)ce(n[s],n[++s],n[++s]);v.__c&&v.__c(t,e),e.some(function(o){try{e=o.__h,o.__h=[],e.some(function(i){i.call(o)})}catch(i){v.__e(i,o.__v)}})}function Me(e){return typeof e!="object"||e==null||e.__b>0?e:J(e)?e.map(Me):e.constructor!==void 0?null:C({},e)}function _t(e,t,n,s,o,i,l,d,u){var c,_,a,f,p,y,m,b=n.props||K,g=t.props,h=t.type;if(h=="svg"?o="http://www.w3.org/2000/svg":h=="math"?o="http://www.w3.org/1998/Math/MathML":o||(o="http://www.w3.org/1999/xhtml"),i!=null){for(c=0;c<i.length;c++)if((p=i[c])&&"setAttribute"in p==!!h&&(h?p.localName==h:p.nodeType==3)){e=p,i[c]=null;break}}if(e==null){if(h==null)return document.createTextNode(g);e=document.createElementNS(o,h,g.is&&g),d&&(v.__m&&v.__m(t,i),d=!1),i=null}if(h==null)b===g||d&&e.data==g||(e.data=g);else{if(i=h=="textarea"&&g.defaultValue!=null?null:i&&G.call(e.childNodes),!d&&i!=null)for(b={},c=0;c<e.attributes.length;c++)b[(p=e.attributes[c]).name]=p.value;for(c in b)p=b[c],c=="dangerouslySetInnerHTML"?a=p:c=="children"||c in g||c=="value"&&"defaultValue"in g||c=="checked"&&"defaultChecked"in g||j(e,c,null,p,o);for(c in g)p=g[c],c=="children"?f=p:c=="dangerouslySetInnerHTML"?_=p:c=="value"?y=p:c=="checked"?m=p:d&&typeof p!="function"||b[c]===p||j(e,c,p,b[c],o);if(_)d||a&&(_.__html==a.__html||_.__html==e.innerHTML)||(e.innerHTML=_.__html),t.__k=[];else if(a&&(e.innerHTML=""),Ce(t.type=="template"?e.content:e,J(f)?f:[f],t,n,s,h=="foreignObject"?"http://www.w3.org/1999/xhtml":o,i,l,i?i[0]:n.__k&&L(n,0),d,u),i!=null)for(c=i.length;c--;)ie(i[c]);d&&h!="textarea"||(c="value",h=="progress"&&y==null?e.removeAttribute("value"):y!=null&&(y!==e[c]||h=="progress"&&!y||h=="option"&&y!=b[c])&&j(e,c,y,b[c],o),c="checked",m!=null&&m!=e[c]&&j(e,c,m,b[c],o))}return e}function ce(e,t,n){try{if(typeof e=="function"){var s=typeof e.__u=="function";s&&e.__u(),s&&t==null||(e.__u=e(t))}else e.current=t}catch(o){v.__e(o,n)}}function Pe(e,t,n){var s,o;if(v.unmount&&v.unmount(e),(s=e.ref)&&(s.current&&s.current!=e.__e||ce(s,null,t)),(s=e.__c)!=null){if(s.componentWillUnmount)try{s.componentWillUnmount()}catch(i){v.__e(i,t)}s.base=s.__P=null}if(s=e.__k)for(o=0;o<s.length;o++)s[o]&&Pe(s[o],t,n||typeof e.type!="function");n||ie(e.__e),e.__c=e.__=e.__e=void 0}function pt(e,t,n){return this.constructor(e,n)}function Ae(e,t,n){var s,o,i,l;t==document&&(t=document.documentElement),v.__&&v.__(e,t),o=(s=typeof n=="function")?null:n&&n.__k||t.__k,i=[],l=[],le(t,e=(!s&&n||t).__k=lt(R,null,[e]),o||K,K,t.namespaceURI,!s&&n?[n]:o?null:t.firstChild?G.call(t.childNodes):null,i,!s&&n?n:o?o.__e:t.firstChild,s,l),Te(i,e,l)}G=Y.slice,v={__e:function(e,t,n,s){for(var o,i,l;t=t.__;)if((o=t.__c)&&!o.__)try{if((i=o.constructor)&&i.getDerivedStateFromError!=null&&(o.setState(i.getDerivedStateFromError(e)),l=o.__d),o.componentDidCatch!=null&&(o.componentDidCatch(e,s||{}),l=o.__d),l)return o.__E=o}catch(d){e=d}throw e}},ke=0,ot=function(e){return e!=null&&e.constructor===void 0},F.prototype.setState=function(e,t){var n;n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=C({},this.state),typeof e=="function"&&(e=e(C({},n),this.props)),e&&C(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),ve(this))},F.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),ve(this))},F.prototype.render=R,M=[],we=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,xe=function(e,t){return e.__v.__b-t.__v.__b},q.__r=0,ne=Math.random().toString(8),W="__d"+ne,U="__a"+ne,Ee=/(PointerCapture)$|Capture$/i,ae=0,re=be(!1),se=be(!0),at=0;var H,w,de,$e,z=0,Oe=[],x=v,Le=x.__b,Re=x.__r,Be=x.diffed,De=x.__c,Ue=x.unmount,He=x.__;function _e(e,t){x.__h&&x.__h(w,e,z||t),z=0;var n=w.__H||(w.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function E(e){return z=1,pe(We,e)}function pe(e,t,n){var s=_e(H++,2);if(s.t=e,!s.__c&&(s.__=[n?n(t):We(void 0,t),function(d){var u=s.__N?s.__N[0]:s.__[0],c=s.t(u,d);u!==c&&(s.__N=[c,s.__[1]],s.__c.setState({}))}],s.__c=w,!w.__f)){var o=function(d,u,c){if(!s.__c.__H)return!0;var _=s.__c.__H.__.filter(function(f){return f.__c});if(_.every(function(f){return!f.__N}))return!i||i.call(this,d,u,c);var a=s.__c.props!==d;return _.some(function(f){if(f.__N){var p=f.__[0];f.__=f.__N,f.__N=void 0,p!==f.__[0]&&(a=!0)}}),i&&i.call(this,d,u,c)||a};w.__f=!0;var i=w.shouldComponentUpdate,l=w.componentWillUpdate;w.componentWillUpdate=function(d,u,c){if(this.__e){var _=i;i=void 0,o(d,u,c),i=_}l&&l.call(this,d,u,c)},w.shouldComponentUpdate=o}return s.__N||s.__}function N(e,t){var n=_e(H++,3);!x.__s&&je(n.__H,t)&&(n.__=e,n.u=t,w.__H.__h.push(n))}function B(e){return z=5,A(function(){return{current:e}},[])}function A(e,t){var n=_e(H++,7);return je(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function ft(){for(var e;e=Oe.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(X),t.__h.some(ue),t.__h=[]}catch(n){t.__h=[],x.__e(n,e.__v)}}}x.__b=function(e){w=null,Le&&Le(e)},x.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),He&&He(e,t)},x.__r=function(e){Re&&Re(e),H=0;var t=(w=e.__c).__H;t&&(de===w?(t.__h=[],w.__h=[],t.__.some(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(t.__h.some(X),t.__h.some(ue),t.__h=[],H=0)),de=w},x.diffed=function(e){Be&&Be(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(Oe.push(t)!==1&&$e===x.requestAnimationFrame||(($e=x.requestAnimationFrame)||mt)(ft)),t.__H.__.some(function(n){n.u&&(n.__H=n.u),n.u=void 0})),de=w=null},x.__c=function(e,t){t.some(function(n){try{n.__h.some(X),n.__h=n.__h.filter(function(s){return!s.__||ue(s)})}catch(s){t.some(function(o){o.__h&&(o.__h=[])}),t=[],x.__e(s,n.__v)}}),De&&De(e,t)},x.unmount=function(e){Ue&&Ue(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.some(function(s){try{X(s)}catch(o){t=o}}),n.__H=void 0,t&&x.__e(t,n.__v))};var Ie=typeof requestAnimationFrame=="function";function mt(e){var t,n=function(){clearTimeout(s),Ie&&cancelAnimationFrame(t),setTimeout(e)},s=setTimeout(n,35);Ie&&(t=requestAnimationFrame(n))}function X(e){var t=w,n=e.__c;typeof n=="function"&&(e.__c=void 0,n()),w=t}function ue(e){var t=w;e.__c=e.__(),w=t}function je(e,t){return!e||e.length!==t.length||t.some(function(n,s){return n!==e[s]})}function We(e,t){return typeof t=="function"?t(e):t}async function I(e){if(!e.ok){let t=await e.text().catch(()=>"");throw new Error(`${e.status} ${e.statusText}${t?`: ${t}`:""}`)}return e.json()}function Q(e){return{"x-rudder-token":typeof window<"u"&&window.__RUDDER_TOKEN__||"",...e??{}}}async function Ve(){return I(await fetch("/api/projects"))}async function Fe(e){return I(await fetch(`/api/projects/${encodeURIComponent(e)}/state`))}async function Ke(e,t,n=200){let s=await fetch(`/api/projects/${encodeURIComponent(e)}/tasks/${encodeURIComponent(t)}/log?tail=${n}`);if(!s.ok)throw new Error(`${s.status} ${s.statusText}`);return s.text()}async function Ye(e,t){return I(await fetch(`/api/projects/${encodeURIComponent(e)}/tasks`,{method:"POST",headers:Q({"content-type":"application/json"}),body:JSON.stringify({prompt:t})}))}async function qe(e,t){return I(await fetch(`/api/projects/${encodeURIComponent(e)}/tasks/${encodeURIComponent(t)}/merge`,{method:"POST",headers:Q()}))}async function Ge(e,t){let n=await fetch(`/api/projects/${encodeURIComponent(e)}/tasks/${encodeURIComponent(t)}/cancel`,{method:"POST",headers:Q()});if(!n.ok)throw new Error(`${n.status} ${n.statusText}`)}async function Je(e,t,n){let s=t==="conductor"?`/api/projects/${encodeURIComponent(e)}/steer`:`/api/projects/${encodeURIComponent(e)}/tasks/${encodeURIComponent(t)}/steer`;await I(await fetch(s,{method:"POST",headers:Q({"content-type":"application/json"}),body:JSON.stringify({instruction:n})}))}function Xe(e){return`/api/projects/${encodeURIComponent(e)}/events`}function yt(){return{nodes:new Map,edges:[],gates:[],memory:[],activity:[],loaded:!1}}function gt(e,t){switch(t.type){case"SNAPSHOT":{let n=new Map;for(let s of t.snapshot.nodes)n.set(s.id,s);return{nodes:n,edges:t.snapshot.edges??[],gates:t.snapshot.gates??[],memory:t.snapshot.memory??[],activity:t.snapshot.activity??[],loaded:!0}}case"NODE_UPSERT":{let n=new Map(e.nodes);return n.set(t.node.id,t.node),{...e,nodes:n}}case"NODE_REMOVE":{if(!e.nodes.has(t.id))return e;let n=new Map(e.nodes);return n.delete(t.id),{...e,nodes:n}}case"MEMORY":return{...e,memory:t.memory};case"ACTIVITY":return{...e,activity:t.activity};default:return e}}function ze(e){let[t,n]=pe(gt,void 0,yt),[s,o]=E("connecting"),[i,l]=E(""),d=B(!1);return N(()=>{let u=!1;d.current=!1;async function c(){try{let a=await Fe(e);if(u)return;l(a.name||e),n({type:"SNAPSHOT",snapshot:a})}catch{}}c();let _=new EventSource(Xe(e));return _.addEventListener("open",()=>{u||(d.current&&c(),d.current=!0,o("live"))}),_.addEventListener("snapshot",a=>{if(!u)try{let f=JSON.parse(a.data);l(f.name||e),n({type:"SNAPSHOT",snapshot:f})}catch{}}),_.addEventListener("node.added",a=>{if(!u)try{n({type:"NODE_UPSERT",node:JSON.parse(a.data)})}catch{}}),_.addEventListener("node.updated",a=>{if(!u)try{n({type:"NODE_UPSERT",node:JSON.parse(a.data)})}catch{}}),_.addEventListener("node.removed",a=>{if(!u)try{let f=JSON.parse(a.data),p=typeof f=="string"?f:f.id;p&&n({type:"NODE_REMOVE",id:p})}catch{}}),_.addEventListener("memory.updated",a=>{if(!u)try{let f=JSON.parse(a.data),p=Array.isArray(f)?f:f.memory??[];n({type:"MEMORY",memory:p})}catch{}}),_.addEventListener("activity.updated",a=>{if(!u)try{let f=JSON.parse(a.data),p=Array.isArray(f)?f:f.activity??[];n({type:"ACTIVITY",activity:p})}catch{}}),_.addEventListener("error",()=>{u||o(d.current?"reconnecting":"connecting")}),()=>{u=!0,_.close()}},[e]),{state:t,conn:s,name:i}}var vt=0,Kt=Array.isArray;function r(e,t,n,s,o,i){t||(t={});var l,d,u=t;if("ref"in u)for(d in u={},t)d=="ref"?l=t[d]:u[d]=t[d];var c={type:e,props:u,key:n,ref:l,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--vt,__i:-1,__u:0,__source:o,__self:i};if(typeof e=="function"&&(l=e.defaultProps))for(d in l)u[d]===void 0&&(u[d]=l[d]);return v.vnode&&v.vnode(c),c}var Qe=[{key:"todo",label:"Todo"},{key:"running",label:"Running"},{key:"review",label:"Review"},{key:"done",label:"Done"}];function me(e){if(e.merge&&e.merge.status==="merge-conflict")return"conflict";if(e.blocked)return"blocked";switch(e.status){case"running":case"steering":case"verifying":case"created":return"running";case"completed":return"review";case"merged":return"done";case"failed":return"failed";case"cancelled":return"failed";case"merge-conflict":return"conflict";default:return e.column}}function Z(e){return e.merge&&e.merge.status==="merge-conflict"?"conflict":e.blocked?"blocked":e.status||e.column}function Ze(e){return["running","steering","verifying","created"].includes(e.status)}function ee(e){return e>=1e3?`${(e/1e3).toFixed(e>=1e4?0:1)}k`:String(e)}function et(){let[e,t]=E(null),[n,s]=E(null);return N(()=>{let o=!1;return Ve().then(i=>{o||t(i.projects??[])}).catch(i=>{o||s(String(i?.message??i))}),()=>{o=!0}},[]),r("div",{class:"page",children:[r("header",{class:"topbar",children:r("div",{class:"brand",children:[r("span",{class:"brand-mark",children:"\u25B0"}),r("span",{class:"brand-name",children:"Rudder"}),r("span",{class:"brand-sub mono",children:"board"})]})}),r("main",{class:"index-main",children:[r("h1",{class:"index-title",children:"Projects"}),r("p",{class:"index-lede",children:"Local agent runs, projected live. Pick a repo."}),n&&r("div",{class:"banner banner-error mono",children:["failed to load projects: ",n]}),e===null&&!n&&r("div",{class:"tile-grid",children:[r(fe,{}),r(fe,{}),r(fe,{})]}),e!==null&&e.length===0&&r("div",{class:"empty",children:[r("div",{class:"empty-title",children:"no projects yet"}),r("div",{class:"empty-sub mono",children:"start a run in any repo and it registers here"})]}),e!==null&&e.length>0&&r("div",{class:"tile-grid",children:e.map(o=>r(ht,{project:o},o.slug))})]})]})}function ht({project:e}){let t=e.counts,n=()=>{window.location.href=`/rudder/${encodeURIComponent(e.slug)}`},s=[{token:"running",label:"running",n:t.running},{token:"review",label:"review",n:t.review},{token:"todo",label:"todo",n:t.todo},{token:"done",label:"done",n:t.done},{token:"blocked",label:"blocked",n:t.blocked},{token:"failed",label:"failed",n:t.failed}];return r("button",{class:"tile",onClick:n,type:"button",children:[r("div",{class:"tile-head",children:r("span",{class:"tile-name",children:e.name})}),r("div",{class:"tile-path mono",children:e.repoRoot}),r("div",{class:"tile-counts",children:s.map(o=>r("span",{class:`count count-${o.token}`,"data-zero":o.n===0,children:[r("span",{class:"count-n mono",children:o.n}),r("span",{class:"count-label",children:o.label})]},o.label))})]})}function fe(){return r("div",{class:"tile tile-skeleton","aria-hidden":"true",children:[r("div",{class:"skel skel-line",style:"width: 52%"}),r("div",{class:"skel skel-line",style:"width: 78%"}),r("div",{class:"skel skel-row"})]})}var tt="rudder.board.view";function bt(){try{let e=localStorage.getItem(tt);if(e==="board"||e==="nest"||e==="activity"||e==="memory")return e}catch{}return"board"}function nt({slug:e}){let{state:t,conn:n,name:s}=ze(e),[o,i]=E(bt),[l,d]=E(null),u=a=>{i(a);try{localStorage.setItem(tt,a)}catch{}},c=A(()=>Array.from(t.nodes.values()),[t.nodes]),_=l?t.nodes.get(l)??null:null;return r("div",{class:"page board-page",children:[r(kt,{slug:e,name:s||e,conn:n,view:o,onView:u,memoryCount:t.memory.length,latestActivity:t.activity.length?t.activity[t.activity.length-1]:null}),r("main",{class:"board-main",children:!t.loaded&&n!=="reconnecting"?r(Bt,{}):o==="board"?r(Et,{nodes:c,onOpen:d,selected:l}):o==="nest"?r(Mt,{nodes:c,edges:t.edges,onOpen:d,selected:l}):o==="activity"?r($t,{slug:e,activity:t.activity}):r(Rt,{memory:t.memory})}),_&&r(Pt,{slug:e,node:_,onClose:()=>d(null)})]})}function kt({slug:e,name:t,conn:n,view:s,onView:o,memoryCount:i,latestActivity:l}){let[d,u]=E(!1);return r("header",{class:"topbar board-topbar",children:[r("div",{class:"brand",children:[r("a",{class:"brand-link",href:"/rudder",title:"Back to all projects",children:[r("span",{class:"brand-mark",children:"\u25B0"}),r("span",{class:"brand-back",children:"\u2190 all projects"})]}),r("span",{class:"brand-name",children:t}),r(wt,{conn:n}),l&&s!=="activity"&&r("button",{type:"button",class:"activity-ticker mono",title:"Latest activity \u2014 click for the full feed",onClick:()=>o("activity"),children:[r("span",{class:"pulse-dot","aria-hidden":"true"}),r("span",{class:"activity-ticker-text",children:l.text})]})]}),r("div",{class:"toolbar-actions",children:[r("div",{class:"view-toggle",role:"tablist","aria-label":"View",children:[r("button",{type:"button",role:"tab","aria-selected":s==="board",class:`toggle ${s==="board"?"toggle-on":""}`,onClick:()=>o("board"),children:"Board"}),r("button",{type:"button",role:"tab","aria-selected":s==="nest",class:`toggle ${s==="nest"?"toggle-on":""}`,onClick:()=>o("nest"),title:"Nest / DAG view",children:"Nest"}),r("button",{type:"button",role:"tab","aria-selected":s==="activity",class:`toggle ${s==="activity"?"toggle-on":""}`,onClick:()=>o("activity"),title:"Live activity feed",children:"Activity"}),r("button",{type:"button",role:"tab","aria-selected":s==="memory",class:`toggle ${s==="memory"?"toggle-on":""}`,onClick:()=>o("memory"),children:["Memory",i>0&&r("span",{class:"toggle-badge mono",children:i})]})]}),r("button",{type:"button",class:"btn btn-accent",onClick:()=>u(!0),children:"+ Task"})]}),d&&r(xt,{slug:e,onClose:()=>u(!1)})]})}function wt({conn:e}){if(e==="live")return r("span",{class:"conn conn-live",title:"Live",children:[r("span",{class:"conn-dot"}),r("span",{class:"conn-label mono",children:"live"})]});let t=e==="connecting"?"connecting":"reconnecting";return r("span",{class:"conn conn-warn",title:t,children:[r("span",{class:"conn-dot conn-dot-pulse"}),r("span",{class:"conn-label mono",children:t})]})}function xt({slug:e,onClose:t}){let[n,s]=E(""),[o,i]=E(!1),[l,d]=E(null),u=B(null);N(()=>{u.current?.focus();let a=f=>{f.key==="Escape"&&t()};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[t]);let c=async()=>{let a=n.trim();if(!(!a||o)){i(!0),d(null);try{await Ye(e,a),t()}catch(f){d(String(f?.message??f)),i(!1)}}};return r("div",{class:"overlay",onClick:t,children:r("div",{class:"composer",onClick:a=>a.stopPropagation(),children:[r("div",{class:"composer-head",children:[r("span",{class:"composer-title",children:"New task"}),r("span",{class:"composer-hint mono",children:"\u2318\u23CE to run \xB7 esc to close"})]}),r("textarea",{ref:u,class:"composer-input mono",rows:5,placeholder:"Describe the task. The agent decomposes and schedules it.",value:n,onInput:a=>s(a.target.value),onKeyDown:a=>{(a.metaKey||a.ctrlKey)&&a.key==="Enter"&&(a.preventDefault(),c())},disabled:o}),l&&r("div",{class:"banner banner-error mono",children:l}),r("div",{class:"composer-actions",children:[r("button",{type:"button",class:"btn",onClick:t,disabled:o,children:"Cancel"}),r("button",{type:"button",class:"btn btn-accent",onClick:c,disabled:o||!n.trim(),children:o?"Running\u2026":"Run task"})]})]})})}function Et({nodes:e,onOpen:t,selected:n}){let s=A(()=>{let o={todo:[],running:[],review:[],done:[]};for(let i of e)(o[i.column]??o.todo).push(i);for(let i of Object.keys(o))o[i].sort((l,d)=>l.updatedAt<d.updatedAt?1:-1);return o},[e]);return r("div",{class:"board",children:Qe.map(o=>{let i=s[o.key];return r("section",{class:"column","data-column":o.key,children:[r("header",{class:"column-head",children:[r("span",{class:"column-title",children:o.label}),r("span",{class:"column-count mono",children:i.length})]}),r("div",{class:"column-body",children:i.length===0?r("div",{class:"column-empty mono",children:"empty"}):i.map(l=>r(St,{node:l,onOpen:t,selected:n===l.id},l.id))})]},o.key)})})}function St({node:e,onOpen:t,selected:n}){let s=me(e),o=Ze(e),i=e.deps.hard.length+e.deps.soft.length;return r("article",{class:`card ${n?"card-selected":""}`,"data-status":s,tabIndex:0,onClick:()=>t(e.id),onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),t(e.id))},children:[r("div",{class:"card-spine","data-status":s}),r("div",{class:"card-body",children:[r("div",{class:"card-top",children:[r("span",{class:"card-status mono","data-status":s,children:Z(e)}),e.blocked&&r("span",{class:"flag flag-blocked mono",children:"blocked"})]}),r("h3",{class:"card-title",children:e.title}),r("div",{class:"card-meta mono",children:[r("span",{class:"card-backend",children:e.backend}),e.model&&r("span",{class:"card-model",children:e.model}),e.effort&&r("span",{class:"card-effort",children:e.effort})]}),e.lastLine&&r("div",{class:"card-lastline mono",children:[o&&r("span",{class:"pulse-dot","aria-hidden":"true"}),r("span",{class:"lastline-text",children:e.lastLine})]}),r("div",{class:"card-foot",children:[e.tokens&&r("span",{class:"tokens mono",title:"input / output tokens",children:[r("span",{class:"tok-in",children:["\u2193",ee(e.tokens.input)]}),r("span",{class:"tok-out",children:["\u2191",ee(e.tokens.output)]})]}),i>0&&r("span",{class:"dep-badge mono",title:"upstream dependencies",children:[e.deps.hard.length>0&&r("span",{class:"dep dep-hard",title:`${e.deps.hard.length} hard dependency(ies)`,children:["\u2191",e.deps.hard.length," hard"]}),e.deps.soft.length>0&&r("span",{class:"dep dep-soft",title:`${e.deps.soft.length} soft dependency(ies)`,children:["\u2191",e.deps.soft.length," soft"]})]})]})]})]})}var k={boxW:220,boxH:64,gapX:96,gapY:26,padX:40,padY:40,spineW:5};function Ct(e,t){let n=new Map;for(let l of e)n.set(l.id,l.deps.hard.filter(d=>t.has(d)&&d!==l.id));let s=new Map,o=new Set,i=l=>{let d=s.get(l);if(d!==void 0)return d;if(o.has(l))return 0;o.add(l);let u=n.get(l)??[],c=-1;for(let a of u)c=Math.max(c,i(a));o.delete(l);let _=c+1;return s.set(l,_),_};for(let l of e)i(l.id);return s}function Nt(e){let t=new Set(e.map(_=>_.id)),n=Ct(e,t),s=new Map;for(let _ of e){let a=n.get(_.id)??0,f=s.get(a);f?f.push(_):s.set(a,[_])}let o=new Map,i=Array.from(s.keys()).sort((_,a)=>_-a),l=0;for(let _ of i){let a=s.get(_);a.sort((y,m)=>y.createdAt!==m.createdAt?y.createdAt<m.createdAt?-1:1:y.id<m.id?-1:1);let f=k.padX+_*(k.boxW+k.gapX),p=k.padY;for(let y of a)o.set(y.id,{x:f,y:p}),p+=k.boxH+k.gapY;l=Math.max(l,p-k.gapY)}let d=i.length?i[i.length-1]:0,u=k.padX*2+(d+1)*k.boxW+d*k.gapX,c=Math.max(l+k.padY,k.padY*2+k.boxH);return{pos:o,width:u,height:c}}function Tt(e,t){return e.length<=t?e:`${e.slice(0,Math.max(0,t-1)).trimEnd()}\u2026`}function Mt({nodes:e,edges:t,onOpen:n,selected:s}){let o=A(()=>Nt(e),[e]),i=A(()=>new Set(e.map(u=>u.id)),[e]);if(e.length===0)return r("div",{class:"empty",children:[r("div",{class:"empty-title",children:"no tasks in the graph yet"}),r("div",{class:"empty-sub mono",children:"the dependency DAG renders here once tasks exist"})]});let l=t.filter(u=>i.has(u.from)&&i.has(u.to)),d=u=>{let c=o.pos.get(u.from),_=o.pos.get(u.to);if(!c||!_)return null;let a=c.x+k.boxW,f=c.y+k.boxH/2,p=_.x,y=_.y+k.boxH/2,m=Math.max(28,(p-a)/2);return`M ${a} ${f} C ${a+m} ${f}, ${p-m} ${y}, ${p} ${y}`};return r("div",{class:"nest",children:r("svg",{class:"nest-svg",width:o.width,height:o.height,viewBox:`0 0 ${o.width} ${o.height}`,role:"img","aria-label":"Task dependency graph",children:[r("defs",{children:[r("marker",{id:"arrow",viewBox:"0 0 10 10",refX:"9",refY:"5",markerWidth:"7",markerHeight:"7",orient:"auto-start-reverse",children:r("path",{d:"M 0 0 L 10 5 L 0 10 z",class:"arrow-head"})}),r("marker",{id:"arrow-soft",viewBox:"0 0 10 10",refX:"9",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto-start-reverse",children:r("path",{d:"M 0 0 L 10 5 L 0 10 z",class:"arrow-head-soft"})})]}),r("g",{class:"nest-edges",children:l.map((u,c)=>{let _=d(u);return _?r("path",{d:_,fill:"none",class:u.kind==="hard"?"edge edge-hard":"edge edge-soft"},`${u.from}->${u.to}:${u.kind}:${c}`):null})}),r("g",{class:"nest-nodes",children:e.map(u=>{let c=o.pos.get(u.id);if(!c)return null;let _=me(u),a=s===u.id,f=()=>n(u.id);return r("g",{class:`node ${a?"node-selected":""}`,"data-status":_,transform:`translate(${c.x} ${c.y})`,tabIndex:0,role:"button","aria-label":`${Z(u)}: ${u.title}`,onClick:f,onKeyDown:p=>{(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),f())},children:[r("rect",{class:"node-box",x:"0",y:"0",width:k.boxW,height:k.boxH}),r("rect",{class:"node-spine",x:"0",y:"0",width:k.spineW,height:k.boxH}),r("text",{class:"node-status mono",x:k.spineW+12,y:"22",children:Z(u)}),r("text",{class:"node-title",x:k.spineW+12,y:"44",children:Tt(u.title,30)})]},u.id)})})]})})}function Pt({slug:e,node:t,onClose:n}){let[s,o]=E(null),[i,l]=E(null),[d,u]=E({busy:!1,msg:null,err:null}),c=me(t),_=Ze(t),a=t.status==="completed"||t.status==="review"||t.column==="review";N(()=>{let m=b=>{b.key==="Escape"&&n()};return window.addEventListener("keydown",m),()=>window.removeEventListener("keydown",m)},[n]),N(()=>{let m=!1;return o(null),l(null),Ke(e,t.id,200).then(b=>{m||o(b)}).catch(b=>{m||l(String(b?.message??b))}),()=>{m=!0}},[e,t.id]);let f=A(()=>{let m=s??"";return!t.lastLine||m.trimEnd().endsWith(t.lastLine.trimEnd())?m:m?`${m}
2
- ${t.lastLine}`:t.lastLine},[s,t.lastLine]),p=async()=>{u({busy:!0,msg:null,err:null});try{let m=await qe(e,t.id);if(m.status==="merge-conflict"||m.status==="conflict"||m.status==="blocked"){let g=m.conflictedFiles?.length??0;u({busy:!1,msg:null,err:g?`conflict in ${g} file(s)`:"merge conflict"})}else u({busy:!1,msg:m.status,err:null})}catch(m){u({busy:!1,msg:null,err:String(m?.message??m)})}},y=async()=>{u({busy:!0,msg:null,err:null});try{await Ge(e,t.id),u({busy:!1,msg:"cancel requested",err:null})}catch(m){u({busy:!1,msg:null,err:String(m?.message??m)})}};return r("div",{class:"drawer-overlay",onClick:n,children:r("aside",{class:"drawer",onClick:m=>m.stopPropagation(),"data-status":c,children:[r("div",{class:"drawer-spine","data-status":c}),r("header",{class:"drawer-head",children:[r("div",{class:"drawer-head-top",children:[r("span",{class:"card-status mono","data-status":c,children:Z(t)}),r("button",{type:"button",class:"drawer-close",onClick:n,"aria-label":"Close",children:"\u2715"})]}),r("h2",{class:"drawer-title",children:t.title}),r("div",{class:"drawer-meta mono",children:[r("span",{children:t.backend}),t.model&&r("span",{children:t.model}),t.effort&&r("span",{children:t.effort}),t.tokens&&r("span",{children:["\u2193",ee(t.tokens.input)," \u2191",ee(t.tokens.output)]})]}),t.worktree&&r("div",{class:"drawer-worktree mono",title:t.worktree.path,children:t.worktree.workspaceName??t.worktree.path})]}),r("div",{class:"drawer-actions",children:[a&&r("button",{type:"button",class:"btn btn-accent",onClick:p,disabled:d.busy,children:d.busy?"Merging\u2026":"Merge"}),_&&r("button",{type:"button",class:"btn btn-danger",onClick:y,disabled:d.busy,children:d.busy?"\u2026":"Cancel"}),d.msg&&r("span",{class:"action-msg mono",children:d.msg}),d.err&&r("span",{class:"action-err mono",children:d.err})]}),_&&r("div",{class:"drawer-steer",children:[r("div",{class:"drawer-steer-head mono",children:"Steer this agent"}),r(rt,{slug:e,targetId:t.id,placeholder:"Send an instruction to this worker\u2026 (\u2318\u23CE)"})]}),r("div",{class:"drawer-log",children:[r("div",{class:"drawer-log-head mono",children:[r("span",{children:"log"}),_&&r("span",{class:"pulse-dot","aria-hidden":"true"})]}),r(At,{text:f,error:i,loading:s===null&&!i})]})]})})}function At({text:e,error:t,loading:n}){let s=B(null);return N(()=>{let o=s.current;o&&(o.scrollTop=o.scrollHeight)},[e]),t?r("div",{class:"banner banner-error mono",children:["log unavailable: ",t]}):n?r("pre",{class:"log-pre mono",children:[r("div",{class:"skel skel-line",style:"width:70%"}),r("div",{class:"skel skel-line",style:"width:90%"}),r("div",{class:"skel skel-line",style:"width:55%"})]}):r("pre",{ref:s,class:"log-pre mono",children:e||"no output yet"})}function rt({slug:e,targetId:t,placeholder:n}){let[s,o]=E(""),[i,l]=E(!1),[d,u]=E(null),[c,_]=E(null),a=async()=>{let p=s.trim();if(!(!p||i)){l(!0),u(null),_(null);try{await Je(e,t,p),o(""),u("sent")}catch(y){_(String(y?.message??y))}finally{l(!1)}}};return r("div",{class:"steer",children:[r("div",{class:"steer-row",children:[r("input",{class:"steer-input mono",type:"text",placeholder:n,value:s,disabled:i,onInput:p=>o(p.target.value),onKeyDown:p=>{(p.metaKey||p.ctrlKey)&&p.key==="Enter"&&(p.preventDefault(),a())}}),r("button",{type:"button",class:"btn btn-accent",onClick:a,disabled:i||!s.trim(),children:i?"\u2026":"Steer"})]}),d&&r("span",{class:"action-msg mono",children:d}),c&&r("span",{class:"action-err mono",children:c})]})}function $t({slug:e,activity:t}){let n=B(null);return N(()=>{let s=n.current;s&&(s.scrollTop=s.scrollHeight)},[t]),r("div",{class:"activity",children:[r("div",{class:"activity-steer",children:[r("div",{class:"activity-steer-head mono",children:"Steer the conductor"}),r(rt,{slug:e,targetId:"conductor",placeholder:"Tell the live orchestrator what to do next\u2026 (\u2318\u23CE)"})]}),t.length===0?r("div",{class:"empty",children:[r("div",{class:"empty-title",children:"no activity yet"}),r("div",{class:"empty-sub mono",children:"the conductor narrates what it is doing here as work runs"})]}):r("div",{class:"activity-feed",ref:n,children:t.map((s,o)=>r("div",{class:`activity-entry activity-${s.kind}`,children:[r("span",{class:"activity-dot","aria-hidden":"true"}),r("span",{class:"activity-text",children:s.text}),s.ts&&r("span",{class:"activity-ts mono",children:Lt(s.ts)})]},`${s.ts??""}-${o}`))})]})}function Lt(e){let t=new Date(e);return Number.isNaN(t.getTime())?"":t.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}function Rt({memory:e}){return e.length===0?r("div",{class:"empty",children:[r("div",{class:"empty-title",children:"no decisions recorded yet"}),r("div",{class:"empty-sub mono",children:"agents append cross-cutting decisions here as they work"})]}):r("div",{class:"memory",children:e.map((t,n)=>r("article",{class:"memory-entry",children:[r("div",{class:"memory-bead","aria-hidden":"true"}),r("div",{class:"memory-content",children:[r("p",{class:"memory-text",children:t.text}),r("div",{class:"memory-meta mono",children:[t.owner&&r("span",{class:"memory-owner",children:t.owner}),t.ts&&r("span",{class:"memory-ts",children:t.ts})]})]})]},n))})}function Bt(){return r("div",{class:"board","aria-hidden":"true",children:Qe.map(e=>r("section",{class:"column",children:[r("header",{class:"column-head",children:[r("span",{class:"column-title",children:e.label}),r("span",{class:"column-count mono",children:"\xB7"})]}),r("div",{class:"column-body",children:[r("div",{class:"card card-skeleton",children:[r("div",{class:"skel skel-line",style:"width:60%"}),r("div",{class:"skel skel-line",style:"width:85%"})]}),e.key==="running"&&r("div",{class:"card card-skeleton",children:[r("div",{class:"skel skel-line",style:"width:70%"}),r("div",{class:"skel skel-line",style:"width:50%"})]})]})]},e.key))})}function Dt(){let e=(window.__RUDDER_SLUG__??"").trim();return e?r(nt,{slug:e}):r(et,{})}var st=document.getElementById("app");st&&Ae(r(Dt,{}),st);
1
+ var Q,k,Te,ft,P,we,Ce,Re,oe,K,j,Me,ce,ae,ie,mt,J={},z=[],gt=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Z=Array.isArray;function $(e,t){for(var n in t)e[n]=t[n];return e}function de(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function yt(e,t,n){var o,s,i,l={};for(i in t)i=="key"?o=t[i]:i=="ref"?s=t[i]:l[i]=t[i];if(arguments.length>2&&(l.children=arguments.length>3?Q.call(arguments,2):n),typeof e=="function"&&e.defaultProps!=null)for(i in e.defaultProps)l[i]===void 0&&(l[i]=e.defaultProps[i]);return Y(e,l,o,s,null)}function Y(e,t,n,o,s){var i={type:e,props:t,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:s??++Te,__i:-1,__u:0};return s==null&&k.vnode!=null&&k.vnode(i),i}function H(e){return e.children}function G(e,t){this.props=e,this.context=t}function B(e,t){if(t==null)return e.__?B(e.__,e.__i+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type=="function"?B(e):null}function vt(e){if(e.__P&&e.__d){var t=e.__v,n=t.__e,o=[],s=[],i=$({},t);i.__v=t.__v+1,k.vnode&&k.vnode(i),ue(e.__P,i,t,e.__n,e.__P.namespaceURI,32&t.__u?[n]:null,o,n??B(t),!!(32&t.__u),s),i.__v=t.__v,i.__.__k[i.__i]=i,Le(o,i,s),t.__e=t.__=null,i.__e!=n&&De(i)}}function De(e){if((e=e.__)!=null&&e.__c!=null)return e.__e=e.__c.base=null,e.__k.some(function(t){if(t!=null&&t.__e!=null)return e.__e=e.__c.base=t.__e}),De(e)}function Ee(e){(!e.__d&&(e.__d=!0)&&P.push(e)&&!X.__r++||we!=k.debounceRendering)&&((we=k.debounceRendering)||Ce)(X)}function X(){try{for(var e,t=1;P.length;)P.length>t&&P.sort(Re),e=P.shift(),t=P.length,vt(e)}finally{P.length=X.__r=0}}function Ae(e,t,n,o,s,i,l,u,d,c,p){var a,_,f,v,h,y,m,g=o&&o.__k||z,w=t.length;for(d=ht(n,t,g,d,w),a=0;a<w;a++)(f=n.__k[a])!=null&&(_=f.__i!=-1&&g[f.__i]||J,f.__i=a,y=ue(e,f,_,s,i,l,u,d,c,p),v=f.__e,f.ref&&_.ref!=f.ref&&(_.ref&&pe(_.ref,null,f),p.push(f.ref,f.__c||v,f)),h==null&&v!=null&&(h=v),(m=!!(4&f.__u))||_.__k===f.__k?(d=Ne(f,d,e,m),m&&_.__e&&(_.__e=null)):typeof f.type=="function"&&y!==void 0?d=y:v&&(d=v.nextSibling),f.__u&=-7);return n.__e=h,d}function ht(e,t,n,o,s){var i,l,u,d,c,p=n.length,a=p,_=0;for(e.__k=new Array(s),i=0;i<s;i++)(l=t[i])!=null&&typeof l!="boolean"&&typeof l!="function"?(typeof l=="string"||typeof l=="number"||typeof l=="bigint"||l.constructor==String?l=e.__k[i]=Y(null,l,null,null,null):Z(l)?l=e.__k[i]=Y(H,{children:l},null,null,null):l.constructor===void 0&&l.__b>0?l=e.__k[i]=Y(l.type,l.props,l.key,l.ref?l.ref:null,l.__v):e.__k[i]=l,d=i+_,l.__=e,l.__b=e.__b+1,u=null,(c=l.__i=bt(l,n,d,a))!=-1&&(a--,(u=n[c])&&(u.__u|=2)),u==null||u.__v==null?(c==-1&&(s>p?_--:s<p&&_++),typeof l.type!="function"&&(l.__u|=4)):c!=d&&(c==d-1?_--:c==d+1?_++:(c>d?_--:_++,l.__u|=4))):e.__k[i]=null;if(a)for(i=0;i<p;i++)(u=n[i])!=null&&!(2&u.__u)&&(u.__e==o&&(o=B(u)),Pe(u,u));return o}function Ne(e,t,n,o){var s,i;if(typeof e.type=="function"){for(s=e.__k,i=0;s&&i<s.length;i++)s[i]&&(s[i].__=e,t=Ne(s[i],t,n,o));return t}e.__e!=t&&(o&&(t&&e.type&&!t.parentNode&&(t=B(e)),n.insertBefore(e.__e,t||null)),t=e.__e);do t=t&&t.nextSibling;while(t!=null&&t.nodeType==8);return t}function bt(e,t,n,o){var s,i,l,u=e.key,d=e.type,c=t[n],p=c!=null&&(2&c.__u)==0;if(c===null&&u==null||p&&u==c.key&&d==c.type)return n;if(o>(p?1:0)){for(s=n-1,i=n+1;s>=0||i<t.length;)if((c=t[l=s>=0?s--:i++])!=null&&!(2&c.__u)&&u==c.key&&d==c.type)return l}return-1}function xe(e,t,n){t[0]=="-"?e.setProperty(t,n??""):e[t]=n==null?"":typeof n!="number"||gt.test(t)?n:n+"px"}function W(e,t,n,o,s){var i,l;e:if(t=="style")if(typeof n=="string")e.style.cssText=n;else{if(typeof o=="string"&&(e.style.cssText=o=""),o)for(t in o)n&&t in n||xe(e.style,t,"");if(n)for(t in n)o&&n[t]==o[t]||xe(e.style,t,n[t])}else if(t[0]=="o"&&t[1]=="n")i=t!=(t=t.replace(Me,"$1")),l=t.toLowerCase(),t=l in e||t=="onFocusOut"||t=="onFocusIn"?l.slice(2):t.slice(2),e.l||(e.l={}),e.l[t+i]=n,n?o?n[j]=o[j]:(n[j]=ce,e.addEventListener(t,i?ie:ae,i)):e.removeEventListener(t,i?ie:ae,i);else{if(s=="http://www.w3.org/2000/svg")t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(t!="width"&&t!="height"&&t!="href"&&t!="list"&&t!="form"&&t!="tabIndex"&&t!="download"&&t!="rowSpan"&&t!="colSpan"&&t!="role"&&t!="popover"&&t in e)try{e[t]=n??"";break e}catch{}typeof n=="function"||(n==null||n===!1&&t[4]!="-"?e.removeAttribute(t):e.setAttribute(t,t=="popover"&&n==1?"":n))}}function Se(e){return function(t){if(this.l){var n=this.l[t.type+e];if(t[K]==null)t[K]=ce++;else if(t[K]<n[j])return;return n(k.event?k.event(t):t)}}}function ue(e,t,n,o,s,i,l,u,d,c){var p,a,_,f,v,h,y,m,g,w,x,M,V,U,b,R=t.type;if(t.constructor!==void 0)return null;128&n.__u&&(d=!!(32&n.__u),i=[u=t.__e=n.__e]),(p=k.__b)&&p(t);e:if(typeof R=="function")try{if(m=t.props,g=R.prototype&&R.prototype.render,w=(p=R.contextType)&&o[p.__c],x=p?w?w.props.value:p.__:o,n.__c?y=(a=t.__c=n.__c).__=a.__E:(g?t.__c=a=new R(m,x):(t.__c=a=new G(m,x),a.constructor=R,a.render=wt),w&&w.sub(a),a.state||(a.state={}),a.__n=o,_=a.__d=!0,a.__h=[],a._sb=[]),g&&a.__s==null&&(a.__s=a.state),g&&R.getDerivedStateFromProps!=null&&(a.__s==a.state&&(a.__s=$({},a.__s)),$(a.__s,R.getDerivedStateFromProps(m,a.__s))),f=a.props,v=a.state,a.__v=t,_)g&&R.getDerivedStateFromProps==null&&a.componentWillMount!=null&&a.componentWillMount(),g&&a.componentDidMount!=null&&a.__h.push(a.componentDidMount);else{if(g&&R.getDerivedStateFromProps==null&&m!==f&&a.componentWillReceiveProps!=null&&a.componentWillReceiveProps(m,x),t.__v==n.__v||!a.__e&&a.shouldComponentUpdate!=null&&a.shouldComponentUpdate(m,a.__s,x)===!1){t.__v!=n.__v&&(a.props=m,a.state=a.__s,a.__d=!1),t.__e=n.__e,t.__k=n.__k,t.__k.some(function(D){D&&(D.__=t)}),z.push.apply(a.__h,a._sb),a._sb=[],a.__h.length&&l.push(a);break e}a.componentWillUpdate!=null&&a.componentWillUpdate(m,a.__s,x),g&&a.componentDidUpdate!=null&&a.__h.push(function(){a.componentDidUpdate(f,v,h)})}if(a.context=x,a.props=m,a.__P=e,a.__e=!1,M=k.__r,V=0,g)a.state=a.__s,a.__d=!1,M&&M(t),p=a.render(a.props,a.state,a.context),z.push.apply(a.__h,a._sb),a._sb=[];else do a.__d=!1,M&&M(t),p=a.render(a.props,a.state,a.context),a.state=a.__s;while(a.__d&&++V<25);a.state=a.__s,a.getChildContext!=null&&(o=$($({},o),a.getChildContext())),g&&!_&&a.getSnapshotBeforeUpdate!=null&&(h=a.getSnapshotBeforeUpdate(f,v)),U=p!=null&&p.type===H&&p.key==null?$e(p.props.children):p,u=Ae(e,Z(U)?U:[U],t,n,o,s,i,l,u,d,c),a.base=t.__e,t.__u&=-161,a.__h.length&&l.push(a),y&&(a.__E=a.__=null)}catch(D){if(t.__v=null,d||i!=null)if(D.then){for(t.__u|=d?160:128;u&&u.nodeType==8&&u.nextSibling;)u=u.nextSibling;i[i.indexOf(u)]=null,t.__e=u}else{for(b=i.length;b--;)de(i[b]);le(t)}else t.__e=n.__e,t.__k=n.__k,D.then||le(t);k.__e(D,t,n)}else i==null&&t.__v==n.__v?(t.__k=n.__k,t.__e=n.__e):u=t.__e=kt(n.__e,t,n,o,s,i,l,d,c);return(p=k.diffed)&&p(t),128&t.__u?void 0:u}function le(e){e&&(e.__c&&(e.__c.__e=!0),e.__k&&e.__k.some(le))}function Le(e,t,n){for(var o=0;o<n.length;o++)pe(n[o],n[++o],n[++o]);k.__c&&k.__c(t,e),e.some(function(s){try{e=s.__h,s.__h=[],e.some(function(i){i.call(s)})}catch(i){k.__e(i,s.__v)}})}function $e(e){return typeof e!="object"||e==null||e.__b>0?e:Z(e)?e.map($e):e.constructor!==void 0?null:$({},e)}function kt(e,t,n,o,s,i,l,u,d){var c,p,a,_,f,v,h,y=n.props||J,m=t.props,g=t.type;if(g=="svg"?s="http://www.w3.org/2000/svg":g=="math"?s="http://www.w3.org/1998/Math/MathML":s||(s="http://www.w3.org/1999/xhtml"),i!=null){for(c=0;c<i.length;c++)if((f=i[c])&&"setAttribute"in f==!!g&&(g?f.localName==g:f.nodeType==3)){e=f,i[c]=null;break}}if(e==null){if(g==null)return document.createTextNode(m);e=document.createElementNS(s,g,m.is&&m),u&&(k.__m&&k.__m(t,i),u=!1),i=null}if(g==null)y===m||u&&e.data==m||(e.data=m);else{if(i=g=="textarea"&&m.defaultValue!=null?null:i&&Q.call(e.childNodes),!u&&i!=null)for(y={},c=0;c<e.attributes.length;c++)y[(f=e.attributes[c]).name]=f.value;for(c in y)f=y[c],c=="dangerouslySetInnerHTML"?a=f:c=="children"||c in m||c=="value"&&"defaultValue"in m||c=="checked"&&"defaultChecked"in m||W(e,c,null,f,s);for(c in m)f=m[c],c=="children"?_=f:c=="dangerouslySetInnerHTML"?p=f:c=="value"?v=f:c=="checked"?h=f:u&&typeof f!="function"||y[c]===f||W(e,c,f,y[c],s);if(p)u||a&&(p.__html==a.__html||p.__html==e.innerHTML)||(e.innerHTML=p.__html),t.__k=[];else if(a&&(e.innerHTML=""),Ae(t.type=="template"?e.content:e,Z(_)?_:[_],t,n,o,g=="foreignObject"?"http://www.w3.org/1999/xhtml":s,i,l,i?i[0]:n.__k&&B(n,0),u,d),i!=null)for(c=i.length;c--;)de(i[c]);u&&g!="textarea"||(c="value",g=="progress"&&v==null?e.removeAttribute("value"):v!=null&&(v!==e[c]||g=="progress"&&!v||g=="option"&&v!=y[c])&&W(e,c,v,y[c],s),c="checked",h!=null&&h!=e[c]&&W(e,c,h,y[c],s))}return e}function pe(e,t,n){try{if(typeof e=="function"){var o=typeof e.__u=="function";o&&e.__u(),o&&t==null||(e.__u=e(t))}else e.current=t}catch(s){k.__e(s,n)}}function Pe(e,t,n){var o,s;if(k.unmount&&k.unmount(e),(o=e.ref)&&(o.current&&o.current!=e.__e||pe(o,null,t)),(o=e.__c)!=null){if(o.componentWillUnmount)try{o.componentWillUnmount()}catch(i){k.__e(i,t)}o.base=o.__P=null}if(o=e.__k)for(s=0;s<o.length;s++)o[s]&&Pe(o[s],t,n||typeof e.type!="function");n||de(e.__e),e.__c=e.__=e.__e=void 0}function wt(e,t,n){return this.constructor(e,n)}function Ie(e,t,n){var o,s,i,l;t==document&&(t=document.documentElement),k.__&&k.__(e,t),s=(o=typeof n=="function")?null:n&&n.__k||t.__k,i=[],l=[],ue(t,e=(!o&&n||t).__k=yt(H,null,[e]),s||J,J,t.namespaceURI,!o&&n?[n]:s?null:t.firstChild?Q.call(t.childNodes):null,i,!o&&n?n:s?s.__e:t.firstChild,o,l),Le(i,e,l)}Q=z.slice,k={__e:function(e,t,n,o){for(var s,i,l;t=t.__;)if((s=t.__c)&&!s.__)try{if((i=s.constructor)&&i.getDerivedStateFromError!=null&&(s.setState(i.getDerivedStateFromError(e)),l=s.__d),s.componentDidCatch!=null&&(s.componentDidCatch(e,o||{}),l=s.__d),l)return s.__E=s}catch(u){e=u}throw e}},Te=0,ft=function(e){return e!=null&&e.constructor===void 0},G.prototype.setState=function(e,t){var n;n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=$({},this.state),typeof e=="function"&&(e=e($({},n),this.props)),e&&$(n,e),e!=null&&this.__v&&(t&&this._sb.push(t),Ee(this))},G.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Ee(this))},G.prototype.render=H,P=[],Ce=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Re=function(e,t){return e.__v.__b-t.__v.__b},X.__r=0,oe=Math.random().toString(8),K="__d"+oe,j="__a"+oe,Me=/(PointerCapture)$|Capture$/i,ce=0,ae=Se(!1),ie=Se(!0),mt=0;var F,S,_e,Ue,te=0,We=[],T=k,Oe=T.__b,Be=T.__r,He=T.diffed,qe=T.__c,je=T.unmount,Fe=T.__;function me(e,t){T.__h&&T.__h(S,e,te||t),te=0;var n=S.__H||(S.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function C(e){return te=1,ge(Ye,e)}function ge(e,t,n){var o=me(F++,2);if(o.t=e,!o.__c&&(o.__=[n?n(t):Ye(void 0,t),function(u){var d=o.__N?o.__N[0]:o.__[0],c=o.t(d,u);d!==c&&(o.__N=[c,o.__[1]],o.__c.setState({}))}],o.__c=S,!S.__f)){var s=function(u,d,c){if(!o.__c.__H)return!0;var p=o.__c.__H.__.filter(function(_){return _.__c});if(p.every(function(_){return!_.__N}))return!i||i.call(this,u,d,c);var a=o.__c.props!==u;return p.some(function(_){if(_.__N){var f=_.__[0];_.__=_.__N,_.__N=void 0,f!==_.__[0]&&(a=!0)}}),i&&i.call(this,u,d,c)||a};S.__f=!0;var i=S.shouldComponentUpdate,l=S.componentWillUpdate;S.componentWillUpdate=function(u,d,c){if(this.__e){var p=i;i=void 0,s(u,d,c),i=p}l&&l.call(this,u,d,c)},S.shouldComponentUpdate=s}return o.__N||o.__}function N(e,t){var n=me(F++,3);!T.__s&&Ke(n.__H,t)&&(n.__=e,n.u=t,S.__H.__h.push(n))}function A(e){return te=5,I(function(){return{current:e}},[])}function I(e,t){var n=me(F++,7);return Ke(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function Et(){for(var e;e=We.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(ee),t.__h.some(fe),t.__h=[]}catch(n){t.__h=[],T.__e(n,e.__v)}}}T.__b=function(e){S=null,Oe&&Oe(e)},T.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Fe&&Fe(e,t)},T.__r=function(e){Be&&Be(e),F=0;var t=(S=e.__c).__H;t&&(_e===S?(t.__h=[],S.__h=[],t.__.some(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(t.__h.some(ee),t.__h.some(fe),t.__h=[],F=0)),_e=S},T.diffed=function(e){He&&He(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(We.push(t)!==1&&Ue===T.requestAnimationFrame||((Ue=T.requestAnimationFrame)||xt)(Et)),t.__H.__.some(function(n){n.u&&(n.__H=n.u),n.u=void 0})),_e=S=null},T.__c=function(e,t){t.some(function(n){try{n.__h.some(ee),n.__h=n.__h.filter(function(o){return!o.__||fe(o)})}catch(o){t.some(function(s){s.__h&&(s.__h=[])}),t=[],T.__e(o,n.__v)}}),qe&&qe(e,t)},T.unmount=function(e){je&&je(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.some(function(o){try{ee(o)}catch(s){t=s}}),n.__H=void 0,t&&T.__e(t,n.__v))};var Ve=typeof requestAnimationFrame=="function";function xt(e){var t,n=function(){clearTimeout(o),Ve&&cancelAnimationFrame(t),setTimeout(e)},o=setTimeout(n,35);Ve&&(t=requestAnimationFrame(n))}function ee(e){var t=S,n=e.__c;typeof n=="function"&&(e.__c=void 0,n()),S=t}function fe(e){var t=S;e.__c=e.__(),S=t}function Ke(e,t){return!e||e.length!==t.length||t.some(function(n,o){return n!==e[o]})}function Ye(e,t){return typeof t=="function"?t(e):t}async function q(e){if(!e.ok){let t=await e.text().catch(()=>"");throw new Error(`${e.status} ${e.statusText}${t?`: ${t}`:""}`)}return e.json()}function ne(e){return{"x-rudder-token":typeof window<"u"&&window.__RUDDER_TOKEN__||"",...e??{}}}async function Ge(){return q(await fetch("/api/projects"))}async function Je(e){return q(await fetch(`/api/projects/${encodeURIComponent(e)}/state`))}async function ze(e,t,n=200){let o=await fetch(`/api/projects/${encodeURIComponent(e)}/tasks/${encodeURIComponent(t)}/log?tail=${n}`);if(!o.ok)throw new Error(`${o.status} ${o.statusText}`);return o.text()}async function Xe(e,t){let n=tt();return q(await nt(`/api/projects/${encodeURIComponent(e)}/tasks`,{method:"POST",headers:ne({"content-type":"application/json"}),body:JSON.stringify({prompt:t,requestId:n})}))}async function Qe(e,t){return q(await fetch(`/api/projects/${encodeURIComponent(e)}/tasks/${encodeURIComponent(t)}/merge`,{method:"POST",headers:ne()}))}async function Ze(e,t){let n=await fetch(`/api/projects/${encodeURIComponent(e)}/tasks/${encodeURIComponent(t)}/cancel`,{method:"POST",headers:ne()});if(!n.ok)throw new Error(`${n.status} ${n.statusText}`)}async function et(e,t,n){let o=tt(),s=t==="conductor"?`/api/projects/${encodeURIComponent(e)}/steer`:`/api/projects/${encodeURIComponent(e)}/tasks/${encodeURIComponent(t)}/steer`;return q(await nt(s,{method:"POST",headers:ne({"content-type":"application/json"}),body:JSON.stringify({instruction:n,requestId:o})}))}function tt(){return globalThis.crypto?.randomUUID?.()??`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}-${Math.random().toString(36).slice(2)}`}async function nt(e,t){try{return await fetch(e,t)}catch{return await new Promise(n=>setTimeout(n,150)),fetch(e,t)}}async function ye(e,t){return q(await fetch(`/api/projects/${encodeURIComponent(e)}/steer-receipts/${encodeURIComponent(t)}`))}function rt(e){return`/api/projects/${encodeURIComponent(e)}/events`}function St(){return{nodes:new Map,edges:[],gates:[],memory:[],activity:[],loaded:!1}}function Tt(e,t){switch(t.type){case"SNAPSHOT":{let n=new Map;for(let o of t.snapshot.nodes)n.set(o.id,o);return{nodes:n,edges:t.snapshot.edges??[],gates:t.snapshot.gates??[],memory:t.snapshot.memory??[],activity:t.snapshot.activity??[],loaded:!0}}case"NODE_UPSERT":{let n=new Map(e.nodes);return n.set(t.node.id,t.node),{...e,nodes:n}}case"NODE_REMOVE":{if(!e.nodes.has(t.id))return e;let n=new Map(e.nodes);return n.delete(t.id),{...e,nodes:n}}case"EDGE_UPSERT":{let n=e.edges.filter(o=>!(o.from===t.edge.from&&o.to===t.edge.to&&o.kind===t.edge.kind));return n.push(t.edge),{...e,edges:n}}case"EDGE_REMOVE":return{...e,edges:e.edges.filter(n=>!(n.from===t.from&&n.to===t.to))};case"MEMORY":return{...e,memory:t.memory};case"ACTIVITY":return{...e,activity:t.activity};default:return e}}function st(e){let[t,n]=ge(Tt,void 0,St),[o,s]=C("connecting"),[i,l]=C(""),u=A(!1);return N(()=>{let d=!1;u.current=!1;async function c(){try{let a=await Je(e);if(d)return;l(a.name||e),n({type:"SNAPSHOT",snapshot:a})}catch{}}c();let p=new EventSource(rt(e));return p.addEventListener("open",()=>{d||(u.current&&c(),u.current=!0,s("live"))}),p.addEventListener("snapshot",a=>{if(!d)try{let _=JSON.parse(a.data);l(_.name||e),n({type:"SNAPSHOT",snapshot:_})}catch{}}),p.addEventListener("node.added",a=>{if(!d)try{n({type:"NODE_UPSERT",node:JSON.parse(a.data)})}catch{}}),p.addEventListener("node.updated",a=>{if(!d)try{n({type:"NODE_UPSERT",node:JSON.parse(a.data)})}catch{}}),p.addEventListener("node.removed",a=>{if(!d)try{let _=JSON.parse(a.data),f=typeof _=="string"?_:_.id;f&&n({type:"NODE_REMOVE",id:f})}catch{}}),p.addEventListener("edge.added",a=>{if(!d)try{n({type:"EDGE_UPSERT",edge:JSON.parse(a.data)})}catch{}}),p.addEventListener("edge.removed",a=>{if(!d)try{let _=JSON.parse(a.data);_?.from&&_?.to&&n({type:"EDGE_REMOVE",from:_.from,to:_.to})}catch{}}),p.addEventListener("memory.updated",a=>{if(!d)try{let _=JSON.parse(a.data),f=Array.isArray(_)?_:_.memory??[];n({type:"MEMORY",memory:f})}catch{}}),p.addEventListener("activity.updated",a=>{if(!d)try{let _=JSON.parse(a.data),f=Array.isArray(_)?_:_.activity??[];n({type:"ACTIVITY",activity:f})}catch{}}),p.addEventListener("error",()=>{d||s(u.current?"reconnecting":"connecting")}),()=>{d=!0,p.close()}},[e]),{state:t,conn:o,name:i}}var Ct=0,tn=Array.isArray;function r(e,t,n,o,s,i){t||(t={});var l,u,d=t;if("ref"in d)for(u in d={},t)u=="ref"?l=t[u]:d[u]=t[u];var c={type:e,props:d,key:n,ref:l,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Ct,__i:-1,__u:0,__source:s,__self:i};if(typeof e=="function"&&(l=e.defaultProps))for(u in l)d[u]===void 0&&(d[u]=l[u]);return k.vnode&&k.vnode(c),c}var at=[{key:"todo",label:"Todo"},{key:"running",label:"Running"},{key:"review",label:"Review"},{key:"done",label:"Done"}];function he(e){if(e.merge&&e.merge.status==="merge-conflict")return"conflict";if(e.blocked)return"blocked";switch(e.status){case"running":case"steering":case"verifying":case"created":return"running";case"completed":return"review";case"merged":return"done";case"failed":return"failed";case"cancelled":return"failed";case"merge-conflict":return"conflict";default:return e.column}}function re(e){return e.merge&&e.merge.status==="merge-conflict"?"conflict":e.blocked?"blocked":e.status||e.column}function it(e){return["running","steering","verifying","created"].includes(e.status)}function se(e){return e>=1e3?`${(e/1e3).toFixed(e>=1e4?0:1)}k`:String(e)}function lt(){let[e,t]=C(null),[n,o]=C(null);return N(()=>{let s=!1;return Ge().then(i=>{s||t(i.projects??[])}).catch(i=>{s||o(String(i?.message??i))}),()=>{s=!0}},[]),r("div",{class:"page",children:[r("header",{class:"topbar",children:r("div",{class:"brand",children:[r("span",{class:"brand-mark",children:"\u25B0"}),r("span",{class:"brand-name",children:"Rudder"}),r("span",{class:"brand-sub mono",children:"board"})]})}),r("main",{class:"index-main",children:[r("h1",{class:"index-title",children:"Projects"}),r("p",{class:"index-lede",children:"Local agent runs, projected live. Pick a repo."}),n&&r("div",{class:"banner banner-error mono",children:["failed to load projects: ",n]}),e===null&&!n&&r("div",{class:"tile-grid",children:[r(ve,{}),r(ve,{}),r(ve,{})]}),e!==null&&e.length===0&&r("div",{class:"empty",children:[r("div",{class:"empty-title",children:"no projects yet"}),r("div",{class:"empty-sub mono",children:"start a run in any repo and it registers here"})]}),e!==null&&e.length>0&&r("div",{class:"tile-grid",children:e.map(s=>r(Rt,{project:s},s.slug))})]})]})}function Rt({project:e}){let t=e.counts,n=()=>{window.location.href=`/rudder/${encodeURIComponent(e.slug)}`},o=[{token:"running",label:"running",n:t.running},{token:"review",label:"review",n:t.review},{token:"todo",label:"todo",n:t.todo},{token:"done",label:"done",n:t.done},{token:"blocked",label:"blocked",n:t.blocked},{token:"failed",label:"failed",n:t.failed}];return r("button",{class:"tile",onClick:n,type:"button",children:[r("div",{class:"tile-head",children:r("span",{class:"tile-name",children:e.name})}),r("div",{class:"tile-path mono",children:e.repoRoot}),r("div",{class:"tile-counts",children:o.map(s=>r("span",{class:`count count-${s.token}`,"data-zero":s.n===0,children:[r("span",{class:"count-n mono",children:s.n}),r("span",{class:"count-label",children:s.label})]},s.label))})]})}function ve(){return r("div",{class:"tile tile-skeleton","aria-hidden":"true",children:[r("div",{class:"skel skel-line",style:"width: 52%"}),r("div",{class:"skel skel-line",style:"width: 78%"}),r("div",{class:"skel skel-row"})]})}var ct="rudder.board.view";function Mt(){try{let e=localStorage.getItem(ct);if(e==="board"||e==="nest"||e==="activity"||e==="memory")return e}catch{}return"board"}function dt({slug:e}){let{state:t,conn:n,name:o}=st(e),[s,i]=C(Mt),[l,u]=C(null),d=A(null),c=window.__RUDDER_CONTROL_MODE__??"projector",p=window.__RUDDER_CAN_MUTATE__!==!1,a=h=>{i(h);try{localStorage.setItem(ct,h)}catch{}},_=I(()=>Array.from(t.nodes.values()),[t.nodes]),f=l?t.nodes.get(l)??null:null,v=(h,y)=>{d.current=y,u(h)};return r("div",{class:"page board-page",children:[r(Dt,{slug:e,name:o||e,conn:n,view:s,onView:a,memoryCount:t.memory.length,latestActivity:t.activity.length?t.activity[t.activity.length-1]:null,canMutate:p}),r("main",{class:"board-main",children:!t.loaded&&n!=="reconnecting"?r(Wt,{}):s==="board"?r(Lt,{nodes:_,onOpen:v,selected:l}):s==="nest"?r(Ot,{nodes:_,edges:t.edges,onOpen:v,selected:l}):s==="activity"?r(Ft,{slug:e,activity:t.activity,canSteerConductor:p&&c==="projector"}):r(Vt,{memory:t.memory})}),f&&r(Bt,{slug:e,node:f,onClose:()=>u(null),returnFocus:d.current,canMutate:p})]})}function Dt({slug:e,name:t,conn:n,view:o,onView:s,memoryCount:i,latestActivity:l,canMutate:u}){let[d,c]=C(!1);return r("header",{class:"topbar board-topbar",children:[r("div",{class:"brand",children:[r("a",{class:"brand-link",href:"/rudder",title:"Back to all projects",children:[r("span",{class:"brand-mark",children:"\u25B0"}),r("span",{class:"brand-back",children:"\u2190 all projects"})]}),r("span",{class:"brand-name",children:t}),r(At,{conn:n}),l&&o!=="activity"&&r("button",{type:"button",class:"activity-ticker mono",title:"Latest activity \u2014 click for the full feed",onClick:()=>s("activity"),children:[r("span",{class:"pulse-dot","aria-hidden":"true"}),r("span",{class:"activity-ticker-text",children:l.text})]})]}),r("div",{class:"toolbar-actions",children:[r("div",{class:"view-toggle",role:"group","aria-label":"View",children:[r("button",{type:"button","aria-pressed":o==="board",class:`toggle ${o==="board"?"toggle-on":""}`,onClick:()=>s("board"),children:"Board"}),r("button",{type:"button","aria-pressed":o==="nest",class:`toggle ${o==="nest"?"toggle-on":""}`,onClick:()=>s("nest"),title:"Nest / DAG view",children:"Nest"}),r("button",{type:"button","aria-pressed":o==="activity",class:`toggle ${o==="activity"?"toggle-on":""}`,onClick:()=>s("activity"),title:"Live activity feed",children:"Activity"}),r("button",{type:"button","aria-pressed":o==="memory",class:`toggle ${o==="memory"?"toggle-on":""}`,onClick:()=>s("memory"),children:["Memory",i>0&&r("span",{class:"toggle-badge mono",children:i})]})]}),u?r("button",{type:"button",class:"btn btn-accent",onClick:()=>c(!0),children:"+ Task"}):r("span",{class:"readonly-pill mono",title:"Open this project's own Rudder board to make changes",children:"read-only"})]}),d&&r(Nt,{slug:e,onClose:()=>c(!1)})]})}function At({conn:e}){if(e==="live")return r("span",{class:"conn conn-live",title:"Live",children:[r("span",{class:"conn-dot"}),r("span",{class:"conn-label mono",children:"live"})]});let t=e==="connecting"?"connecting":"reconnecting";return r("span",{class:"conn conn-warn",title:t,children:[r("span",{class:"conn-dot conn-dot-pulse"}),r("span",{class:"conn-label mono",children:t})]})}function Nt({slug:e,onClose:t}){let[n,o]=C(""),[s,i]=C(!1),[l,u]=C(null),[d,c]=C(null),p=A(null),a=A(null),_=A(!1),f=A(t);f.current=t,_.current=s,N(()=>{let y=document.activeElement;p.current?.focus();let m=g=>{if(g.key==="Escape"){g.preventDefault(),_.current||f.current();return}if(g.key!=="Tab"||!a.current)return;let w=Array.from(a.current.querySelectorAll('button:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')),x=w[0],M=w[w.length-1];x&&M&&g.shiftKey&&document.activeElement===x?(g.preventDefault(),M.focus()):x&&M&&!g.shiftKey&&document.activeElement===M&&(g.preventDefault(),x.focus())};return window.addEventListener("keydown",m),()=>{window.removeEventListener("keydown",m),y?.focus()}},[]),N(()=>{if(d?.state!=="queued"||!d.requestId)return;let y=!1,m,g=async()=>{try{let w=await ye(e,d.requestId);if(y)return;if(w.status==="delivered"){c({requestId:w.requestId,state:"delivered",message:"Delivered to the native conductor"});return}if(w.status==="failed"){c(null),u(w.error||"The native conductor could not accept the task");return}}catch{}y||(m=window.setTimeout(g,500))};return m=window.setTimeout(g,250),()=>{y=!0,m!==void 0&&window.clearTimeout(m)}},[e,d?.state,d?.requestId]);let v=async()=>{let y=n.trim();if(!(!y||s)){i(!0),u(null),c(null);try{let m=await Xe(e,y);if(m.status==="queued"){o(""),c({requestId:m.requestId,state:"queued",message:"Queued for the native conductor"}),i(!1);return}if(m.status==="failed")throw new Error("The task could not be delivered to the conductor");t()}catch(m){u(String(m?.message??m)),i(!1)}}};return r("div",{class:"overlay",onClick:()=>{s||t()},children:r("form",{ref:a,class:"composer",onClick:y=>y.stopPropagation(),onSubmit:y=>{y.preventDefault(),v()},role:"dialog","aria-modal":"true","aria-labelledby":"new-task-title","aria-busy":s,children:[r("div",{class:"composer-head",children:[r("span",{class:"composer-title",id:"new-task-title",children:"New task"}),r("span",{class:"composer-hint mono",id:"new-task-hint",children:"\u2318/Ctrl + Enter to run \xB7 Esc to close"})]}),r("label",{class:"sr-only",for:"new-task-prompt",children:"Task description"}),r("textarea",{ref:p,id:"new-task-prompt",class:"composer-input mono",rows:5,placeholder:"Describe the task. The agent decomposes and schedules it.",value:n,"aria-describedby":"new-task-hint",onInput:y=>o(y.target.value),onKeyDown:y=>{(y.metaKey||y.ctrlKey)&&y.key==="Enter"&&(y.preventDefault(),v())},readOnly:s}),l&&r("div",{class:"banner banner-error mono",role:"alert",children:l}),d&&r("div",{class:"banner mono",role:"status",children:d.message}),r("div",{class:"composer-actions",children:[r("button",{type:"button",class:"btn",onClick:t,disabled:s,children:d?"Close":"Cancel"}),r("button",{type:"submit",class:"btn btn-accent",disabled:s||!n.trim(),children:s?"Running\u2026":"Run task"})]})]})})}function Lt({nodes:e,onOpen:t,selected:n}){let o=I(()=>{let s={todo:[],running:[],review:[],done:[]};for(let i of e)(s[i.column]??s.todo).push(i);for(let i of Object.keys(s))s[i].sort((l,u)=>l.updatedAt<u.updatedAt?1:-1);return s},[e]);return r("div",{class:"board",children:at.map(s=>{let i=o[s.key];return r("section",{class:"column","data-column":s.key,children:[r("header",{class:"column-head",children:[r("span",{class:"column-title",children:s.label}),r("span",{class:"column-count mono",children:i.length})]}),r("div",{class:"column-body",children:i.length===0?r("div",{class:"column-empty mono",children:"empty"}):i.map(l=>r($t,{node:l,onOpen:t,selected:n===l.id},l.id))})]},s.key)})})}function $t({node:e,onOpen:t,selected:n}){let o=he(e),s=it(e),i=e.deps.hard.length+e.deps.soft.length;return r("article",{class:`card ${n?"card-selected":""}`,"data-status":o,"data-task-id":e.id,tabIndex:0,role:"button","aria-haspopup":"dialog","aria-expanded":n,onClick:l=>t(e.id,l.currentTarget),onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),t(e.id,l.currentTarget))},children:[r("div",{class:"card-spine","data-status":o}),r("div",{class:"card-body",children:[r("div",{class:"card-top",children:[r("span",{class:"card-status mono","data-status":o,children:re(e)}),e.blocked&&r("span",{class:"flag flag-blocked mono",children:"blocked"})]}),r("h3",{class:"card-title",children:e.title}),r("div",{class:"card-meta mono",children:[r("span",{class:"card-backend",children:e.backend}),e.model&&r("span",{class:"card-model",children:e.model}),e.effort&&r("span",{class:"card-effort",children:e.effort})]}),e.lastLine&&r("div",{class:"card-lastline mono",children:[s&&r("span",{class:"pulse-dot","aria-hidden":"true"}),r("span",{class:"lastline-text",children:e.lastLine})]}),r("div",{class:"card-foot",children:[e.tokens&&r("span",{class:"tokens mono",title:"input / output tokens",children:[r("span",{class:"tok-in",children:["\u2193",se(e.tokens.input)]}),r("span",{class:"tok-out",children:["\u2191",se(e.tokens.output)]})]}),i>0&&r("span",{class:"dep-badge mono",title:"upstream dependencies",children:[e.deps.hard.length>0&&r("span",{class:"dep dep-hard",title:`${e.deps.hard.length} hard dependency(ies)`,children:["\u2191",e.deps.hard.length," hard"]}),e.deps.soft.length>0&&r("span",{class:"dep dep-soft",title:`${e.deps.soft.length} soft dependency(ies)`,children:["\u2191",e.deps.soft.length," soft"]})]})]})]})]})}var E={boxW:220,boxH:64,gapX:96,gapY:26,padX:40,padY:40,spineW:5};function Pt(e,t){let n=new Map;for(let l of e)n.set(l.id,l.deps.hard.filter(u=>t.has(u)&&u!==l.id));let o=new Map,s=new Set,i=l=>{let u=o.get(l);if(u!==void 0)return u;if(s.has(l))return 0;s.add(l);let d=n.get(l)??[],c=-1;for(let a of d)c=Math.max(c,i(a));s.delete(l);let p=c+1;return o.set(l,p),p};for(let l of e)i(l.id);return o}function It(e){let t=new Set(e.map(p=>p.id)),n=Pt(e,t),o=new Map;for(let p of e){let a=n.get(p.id)??0,_=o.get(a);_?_.push(p):o.set(a,[p])}let s=new Map,i=Array.from(o.keys()).sort((p,a)=>p-a),l=0;for(let p of i){let a=o.get(p);a.sort((v,h)=>v.createdAt!==h.createdAt?v.createdAt<h.createdAt?-1:1:v.id<h.id?-1:1);let _=E.padX+p*(E.boxW+E.gapX),f=E.padY;for(let v of a)s.set(v.id,{x:_,y:f}),f+=E.boxH+E.gapY;l=Math.max(l,f-E.gapY)}let u=i.length?i[i.length-1]:0,d=E.padX*2+(u+1)*E.boxW+u*E.gapX,c=Math.max(l+E.padY,E.padY*2+E.boxH);return{pos:s,width:d,height:c}}function Ut(e,t){return e.length<=t?e:`${e.slice(0,Math.max(0,t-1)).trimEnd()}\u2026`}function Ot({nodes:e,edges:t,onOpen:n,selected:o}){let s=I(()=>It(e),[e]),i=I(()=>new Set(e.map(d=>d.id)),[e]);if(e.length===0)return r("div",{class:"empty",children:[r("div",{class:"empty-title",children:"no tasks in the graph yet"}),r("div",{class:"empty-sub mono",children:"the dependency DAG renders here once tasks exist"})]});let l=t.filter(d=>i.has(d.from)&&i.has(d.to)),u=d=>{let c=s.pos.get(d.from),p=s.pos.get(d.to);if(!c||!p)return null;let a=c.x+E.boxW,_=c.y+E.boxH/2,f=p.x,v=p.y+E.boxH/2,h=Math.max(28,(f-a)/2);return`M ${a} ${_} C ${a+h} ${_}, ${f-h} ${v}, ${f} ${v}`};return r("div",{class:"nest",children:r("svg",{class:"nest-svg",width:s.width,height:s.height,viewBox:`0 0 ${s.width} ${s.height}`,role:"group","aria-label":"Task dependency graph",children:[r("defs",{children:[r("marker",{id:"arrow",viewBox:"0 0 10 10",refX:"9",refY:"5",markerWidth:"7",markerHeight:"7",orient:"auto-start-reverse",children:r("path",{d:"M 0 0 L 10 5 L 0 10 z",class:"arrow-head"})}),r("marker",{id:"arrow-soft",viewBox:"0 0 10 10",refX:"9",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto-start-reverse",children:r("path",{d:"M 0 0 L 10 5 L 0 10 z",class:"arrow-head-soft"})})]}),r("g",{class:"nest-edges",children:l.map((d,c)=>{let p=u(d);return p?r("path",{d:p,fill:"none",class:d.kind==="hard"?"edge edge-hard":"edge edge-soft"},`${d.from}->${d.to}:${d.kind}:${c}`):null})}),r("g",{class:"nest-nodes",children:e.map(d=>{let c=s.pos.get(d.id);if(!c)return null;let p=he(d),a=o===d.id,_=f=>n(d.id,f);return r("g",{class:`node ${a?"node-selected":""}`,"data-status":p,"data-task-id":d.id,transform:`translate(${c.x} ${c.y})`,tabIndex:0,role:"button","aria-label":`${re(d)}: ${d.title}`,"aria-haspopup":"dialog","aria-expanded":a,onClick:f=>_(f.currentTarget),onKeyDown:f=>{(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),_(f.currentTarget))},children:[r("rect",{class:"node-box",x:"0",y:"0",width:E.boxW,height:E.boxH}),r("rect",{class:"node-spine",x:"0",y:"0",width:E.spineW,height:E.boxH}),r("text",{class:"node-status mono",x:E.spineW+12,y:"22",children:re(d)}),r("text",{class:"node-title",x:E.spineW+12,y:"44",children:Ut(d.title,30)})]},d.id)})})]})})}function Bt({slug:e,node:t,onClose:n,returnFocus:o,canMutate:s}){let[i,l]=C(null),[u,d]=C(null),[c,p]=C({busy:!1,msg:null,err:null}),a=A(null),_=A(n);_.current=n;let f=he(t),v=it(t),h=t.status==="completed"||t.status==="review",y=h||t.column==="review",m=v||h,g=h&&!v,w=t.runId??t.id,x=`task-update-${t.id.replace(/[^A-Za-z0-9_-]/g,"-")}`;N(()=>{let b=o??document.activeElement,R=window.requestAnimationFrame(()=>{(a.current?.querySelector("[data-autofocus]")??a.current)?.focus()}),D=L=>{if(L.key==="Escape"){L.preventDefault(),_.current();return}if(L.key!=="Tab"||!a.current)return;let O=Array.from(a.current.querySelectorAll('a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), [tabindex]:not([tabindex="-1"])'));if(O.length===0){L.preventDefault(),a.current.focus();return}let be=O[0],ke=O[O.length-1];L.shiftKey&&document.activeElement===be?(L.preventDefault(),ke.focus()):!L.shiftKey&&document.activeElement===ke&&(L.preventDefault(),be.focus())};return window.addEventListener("keydown",D),()=>{window.cancelAnimationFrame(R),window.removeEventListener("keydown",D),b?.isConnected?b.focus():Array.from(document.querySelectorAll("[data-task-id]")).find(O=>O.getAttribute("data-task-id")===t.id)?.focus()}},[t.id]),N(()=>{let b=!1;return l(null),d(null),ze(e,w,200).then(R=>{b||l(R)}).catch(R=>{b||d(String(R?.message??R))}),()=>{b=!0}},[e,w]);let M=I(()=>{let b=i??"";return!t.lastLine||b.trimEnd().endsWith(t.lastLine.trimEnd())?b:b?`${b}
2
+ ${t.lastLine}`:t.lastLine},[i,t.lastLine]),V=async()=>{p({busy:!0,msg:null,err:null});try{let b=await Qe(e,w);if(b.status==="merge-conflict"||b.status==="conflict"||b.status==="blocked"){let D=b.conflictedFiles?.length??0;p({busy:!1,msg:null,err:D?`conflict in ${D} file(s)`:"merge conflict"})}else p({busy:!1,msg:b.status,err:null})}catch(b){p({busy:!1,msg:null,err:String(b?.message??b)})}},U=async()=>{p({busy:!0,msg:null,err:null});try{await Ze(e,w),p({busy:!1,msg:"cancel requested",err:null})}catch(b){p({busy:!1,msg:null,err:String(b?.message??b)})}};return r("div",{class:"drawer-overlay",onClick:n,children:r("aside",{ref:a,class:"drawer",onClick:b=>b.stopPropagation(),"data-status":f,role:"dialog","aria-modal":"true","aria-labelledby":"task-detail-title",tabIndex:-1,children:[r("div",{class:"drawer-spine","data-status":f}),r("header",{class:"drawer-head",children:[r("div",{class:"drawer-head-top",children:[r("span",{class:"card-status mono","data-status":f,children:re(t)}),r("button",{type:"button",class:"drawer-close",onClick:n,"aria-label":"Close",children:"\u2715"})]}),r("h2",{class:"drawer-title",id:"task-detail-title",children:t.title}),r("div",{class:"drawer-meta mono",children:[r("span",{children:t.backend}),t.model&&r("span",{children:t.model}),t.effort&&r("span",{children:t.effort}),t.tokens&&r("span",{children:["\u2193",se(t.tokens.input)," \u2191",se(t.tokens.output)]})]}),t.worktree&&r("div",{class:"drawer-worktree mono",title:t.worktree.path,children:t.worktree.workspaceName??t.worktree.path})]}),s&&r("div",{class:"drawer-actions",children:[y&&r("button",{type:"button",class:"btn btn-accent",onClick:V,disabled:c.busy,children:c.busy?"Merging\u2026":"Merge"}),g&&r("button",{type:"button",class:"btn",onClick:()=>document.getElementById(x)?.focus(),disabled:c.busy,children:"Request changes"}),v&&r("button",{type:"button",class:"btn btn-danger",onClick:U,disabled:c.busy,children:c.busy?"Stopping\u2026":"Stop"}),c.msg&&r("span",{class:"action-msg","aria-live":"polite",children:c.msg}),c.err&&r("span",{class:"action-err",role:"alert",children:c.err})]}),r("div",{class:"drawer-scroll",children:[r(Ht,{updates:t.updates??[],lastLine:t.lastLine}),r("div",{class:"drawer-log",children:[r("div",{class:"drawer-log-head mono",children:[r("span",{children:"Worker log"}),v&&r("span",{class:"pulse-dot","aria-hidden":"true"})]}),r(jt,{text:M,error:u,loading:i===null&&!u})]})]}),s&&m&&r("div",{class:"drawer-steer",children:r(ut,{slug:e,targetId:w,inputId:x,label:g?"Request changes":"Send update",submitLabel:g?"Request changes":"Send update",placeholder:g?"Describe what should change before this task is merged.":"Add context or redirect this worker.",autoFocus:!0})})]})})}function Ht({updates:e,lastLine:t}){let n=e.filter(o=>o.instruction.trim());return r("section",{class:"task-updates","aria-labelledby":"task-updates-title",children:[r("div",{class:"task-updates-head",children:[r("h3",{id:"task-updates-title",children:"Updates"}),n.length>0&&r("span",{class:"task-updates-count mono",children:n.length})]}),r("div",{class:"task-thread",children:[n.length===0&&!t&&r("p",{class:"task-thread-empty",children:"No updates have been sent yet."}),n.map((o,s)=>r("article",{class:"task-update task-update-user",children:[r("div",{class:"task-update-avatar","aria-hidden":"true",children:"Y"}),r("div",{class:"task-update-body",children:[r("div",{class:"task-update-meta",children:[r("span",{children:qt(o.source)}),r("time",{class:"mono",dateTime:o.ts,children:pt(o.ts)})]}),r("p",{children:o.instruction})]})]},`${o.ts}-${s}`)),t&&r("article",{class:"task-update task-update-agent",children:[r("div",{class:"task-update-avatar task-update-avatar-agent","aria-hidden":"true",children:"R"}),r("div",{class:"task-update-body",children:[r("div",{class:"task-update-meta",children:r("span",{children:"Latest from worker"})}),r("p",{class:"mono",children:t})]})]})]})]})}function qt(e){let t=(e??"").trim().toLowerCase();return!t||t==="user"||t==="web"||t==="operator"||t==="regoal"?"You":t==="steerer"||t==="rudder"?"Rudder":e??"You"}function jt({text:e,error:t,loading:n}){let o=A(null);return N(()=>{let s=o.current;s&&(s.scrollTop=s.scrollHeight)},[e]),t?r("div",{class:"banner banner-error mono",children:["log unavailable: ",t]}):n?r("div",{class:"log-pre log-loading mono","aria-label":"Loading worker log",children:[r("div",{class:"skel skel-line",style:"width:70%"}),r("div",{class:"skel skel-line",style:"width:90%"}),r("div",{class:"skel skel-line",style:"width:55%"})]}):r("pre",{ref:o,class:"log-pre mono",children:e||"no output yet"})}function ot(e){return e.status==="failed"?e.error||"Delivery failed":e.status==="accepted"?e.mode==="resumed"?"Accepted \xB7 agent is resuming":"Accepted \xB7 agent is restarting":e.status==="delivered"?e.mode==="resumed"?"Delivered \xB7 agent resumed":"Delivered to agent":e.mode==="resumed"?"Queued \xB7 agent is resuming":e.mode==="redirected"?"Queued for the live agent":"Queued for delivery"}function ut({slug:e,targetId:t,inputId:n,label:o,submitLabel:s,placeholder:i,autoFocus:l=!1}){let[u,d]=C(""),[c,p]=C(!1),[a,_]=C(null),[f,v]=C(null);N(()=>{if(a?.state!=="queued"||!a.requestId||window.__RUDDER_CONTROL_MODE__!=="projector")return;let m=!1,g,w=async()=>{try{let x=await ye(e,a.requestId);if(m)return;if(x.status==="delivered"||x.status==="failed"){_(M=>M?.requestId===x.requestId?{...M,state:x.status,message:ot(x)}:M);return}}catch{}m||(g=window.setTimeout(w,500))};return g=window.setTimeout(w,250),()=>{m=!0,g!==void 0&&window.clearTimeout(g)}},[e,a?.state,a?.requestId]);let h=async()=>{let m=u.trim();if(!(!m||c)){p(!0),_({instruction:m,state:"sending",message:"Sending request\u2026"}),v(null);try{let g=await et(e,t,m);d(""),_({instruction:m,requestId:g.requestId,state:g.status,message:ot(g)})}catch(g){_(null),v(String(g?.message??g))}finally{p(!1)}}},y=m=>{(m.metaKey||m.ctrlKey)&&m.key==="Enter"&&(m.preventDefault(),h())};return r("form",{class:"steer",onSubmit:m=>{m.preventDefault(),h()},"aria-busy":c,children:[r("label",{class:"steer-label",for:n,children:o}),r("textarea",{id:n,class:"steer-input",rows:3,maxLength:8e3,placeholder:i,value:u,disabled:c,"data-autofocus":l?"true":void 0,"aria-describedby":`${n}-hint${a?` ${n}-status`:""}`,onInput:m=>{d(m.target.value),f&&v(null)},onKeyDown:y}),r("div",{class:"steer-actions",children:[r("span",{class:"steer-hint",id:`${n}-hint`,children:"\u2318/Ctrl + Enter to send"}),r("button",{type:"submit",class:"btn btn-accent",disabled:c||!u.trim(),children:c?"Sending\u2026":s})]}),a&&r("div",{class:`steer-feedback steer-feedback-${a.state}`,id:`${n}-status`,"aria-live":"polite",children:[r("span",{class:"steer-feedback-state",children:a.message}),r("span",{class:"steer-feedback-text",children:a.instruction})]}),f&&r("div",{class:"action-err steer-error",role:"alert",children:["Could not send: ",f]})]})}function Ft({slug:e,activity:t,canSteerConductor:n}){let o=A(null);return N(()=>{let s=o.current;s&&(s.scrollTop=s.scrollHeight)},[t]),r("div",{class:"activity",children:[n&&r("div",{class:"activity-steer",children:r(ut,{slug:e,targetId:"conductor",inputId:"conductor-update",label:"Message conductor",submitLabel:"Send update",placeholder:"Tell the live orchestrator what to do next."})}),t.length===0?r("div",{class:"empty",children:[r("div",{class:"empty-title",children:"no activity yet"}),r("div",{class:"empty-sub mono",children:"the conductor narrates what it is doing here as work runs"})]}):r("div",{class:"activity-feed",ref:o,children:t.map((s,i)=>r("div",{class:`activity-entry activity-${s.kind}`,children:[r("span",{class:"activity-dot","aria-hidden":"true"}),r("span",{class:"activity-text",children:s.text}),s.ts&&r("span",{class:"activity-ts mono",children:pt(s.ts)})]},`${s.ts??""}-${i}`))})]})}function pt(e){let t=/^\d{10,}$/.test(e.trim())?Number(e):e,n=new Date(t);return Number.isNaN(n.getTime())?"":n.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}function Vt({memory:e}){return e.length===0?r("div",{class:"empty",children:[r("div",{class:"empty-title",children:"no decisions recorded yet"}),r("div",{class:"empty-sub mono",children:"agents append cross-cutting decisions here as they work"})]}):r("div",{class:"memory",children:e.map((t,n)=>r("article",{class:"memory-entry",children:[r("div",{class:"memory-bead","aria-hidden":"true"}),r("div",{class:"memory-content",children:[r("p",{class:"memory-text",children:t.text}),r("div",{class:"memory-meta mono",children:[t.owner&&r("span",{class:"memory-owner",children:t.owner}),t.ts&&r("span",{class:"memory-ts",children:t.ts})]})]})]},n))})}function Wt(){return r("div",{class:"board","aria-hidden":"true",children:at.map(e=>r("section",{class:"column",children:[r("header",{class:"column-head",children:[r("span",{class:"column-title",children:e.label}),r("span",{class:"column-count mono",children:"\xB7"})]}),r("div",{class:"column-body",children:[r("div",{class:"card card-skeleton",children:[r("div",{class:"skel skel-line",style:"width:60%"}),r("div",{class:"skel skel-line",style:"width:85%"})]}),e.key==="running"&&r("div",{class:"card card-skeleton",children:[r("div",{class:"skel skel-line",style:"width:70%"}),r("div",{class:"skel skel-line",style:"width:50%"})]})]})]},e.key))})}function Kt(){let e=(window.__RUDDER_SLUG__??"").trim();return e?r(dt,{slug:e}):r(lt,{})}var _t=document.getElementById("app");_t&&Ie(r(Kt,{}),_t);
@@ -13,11 +13,14 @@ export type BoardDaemonHandle = {
13
13
  url: string;
14
14
  close: () => Promise<void>;
15
15
  };
16
+ export type BoardControlMode = "projector" | "scheduler";
16
17
  export declare function startBoardDaemon(opts: {
17
18
  port: number;
18
19
  repoRoot: string;
19
20
  open?: boolean;
20
21
  bus?: RudderBus;
22
+ /** projector = native TUI owns PTYs; scheduler = this daemon owns workers. */
23
+ controlMode?: BoardControlMode;
21
24
  }): Promise<BoardDaemonHandle>;
22
25
  export declare function columnForStatus(status: RunStatus): BoardNode["column"];
23
26
  /**