@pushpalsdev/cli 1.0.32 → 1.0.34

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 (46) hide show
  1. package/dist/pushpals-cli.js +4 -4
  2. package/monitor-ui/+not-found.html +1 -1
  3. package/monitor-ui/_expo/static/js/web/{entry-275c5f7972e2d2f4f0422fe2213a7f89.js → entry-5e6db7139bc13703a24f952bd64faf4c.js} +2 -2
  4. package/monitor-ui/_sitemap.html +1 -1
  5. package/monitor-ui/index.html +1 -1
  6. package/monitor-ui/modal.html +1 -1
  7. package/package.json +1 -1
  8. package/runtime/prompts/localbuddy/localbuddy_planner_git_diff_section.md +0 -1
  9. package/runtime/prompts/localbuddy/localbuddy_planner_git_status_section.md +0 -1
  10. package/runtime/prompts/localbuddy/localbuddy_planner_output_contract.md +1 -0
  11. package/runtime/prompts/remotebuddy/autonomy_ideation_system_prompt.md +31 -30
  12. package/runtime/prompts/remotebuddy/autonomy_scoring_system_prompt.md +2 -2
  13. package/runtime/prompts/remotebuddy/context_packer_user_prompt.md +1 -0
  14. package/runtime/prompts/remotebuddy/remotebuddy_system_prompt.md +1 -0
  15. package/runtime/prompts/review_agent/review_prompt_template.md +1 -0
  16. package/runtime/prompts/review_agent/reviewer.md +6 -4
  17. package/runtime/prompts/workerpals/commit_message_prompt.md +3 -0
  18. package/runtime/prompts/workerpals/miniswe_broker_system_prompt.md +10 -9
  19. package/runtime/prompts/workerpals/miniswe_strict_tool_use_guidance.md +1 -0
  20. package/runtime/prompts/workerpals/openai_codex_runtime_policy_appendix.md +1 -0
  21. package/runtime/prompts/workerpals/openai_codex_task_execute_system_prompt.md +2 -0
  22. package/runtime/prompts/workerpals/task_quality_critic_system_prompt.md +3 -2
  23. package/runtime/sandbox/apps/workerpals/src/backends/openai_codex_backend.ts +4 -4
  24. package/runtime/sandbox/apps/workerpals/src/backends/openhands_task_execute.ts +1 -4
  25. package/runtime/sandbox/apps/workerpals/src/common/execution_utils.ts +5 -3
  26. package/runtime/sandbox/apps/workerpals/src/common/generic_python_executor.ts +1 -4
  27. package/runtime/sandbox/apps/workerpals/src/common/worktree_cleanup.ts +3 -2
  28. package/runtime/sandbox/apps/workerpals/src/docker_executor.ts +132 -32
  29. package/runtime/sandbox/apps/workerpals/src/execute_job.ts +7 -7
  30. package/runtime/sandbox/apps/workerpals/src/job_runner.ts +7 -4
  31. package/runtime/sandbox/apps/workerpals/src/workerpals_main.ts +46 -27
  32. package/runtime/sandbox/packages/shared/src/autonomy_policy.ts +8 -3
  33. package/runtime/sandbox/packages/shared/src/communication.ts +19 -8
  34. package/runtime/sandbox/packages/shared/src/config.ts +9 -24
  35. package/runtime/sandbox/packages/shared/src/config_template_parity.ts +5 -6
  36. package/runtime/sandbox/packages/shared/src/git_backend.ts +5 -9
  37. package/runtime/sandbox/packages/shared/src/local_network.ts +3 -1
  38. package/runtime/sandbox/packages/shared/src/localbuddy_runtime.ts +4 -5
  39. package/runtime/sandbox/packages/shared/src/vision.ts +6 -2
  40. package/runtime/sandbox/prompts/workerpals/commit_message_prompt.md +3 -0
  41. package/runtime/sandbox/prompts/workerpals/miniswe_broker_system_prompt.md +10 -9
  42. package/runtime/sandbox/prompts/workerpals/miniswe_strict_tool_use_guidance.md +1 -0
  43. package/runtime/sandbox/prompts/workerpals/openai_codex_runtime_policy_appendix.md +1 -0
  44. package/runtime/sandbox/prompts/workerpals/openai_codex_task_execute_system_prompt.md +2 -0
  45. package/runtime/sandbox/prompts/workerpals/task_quality_critic_system_prompt.md +3 -2
  46. package/runtime/vision.example.md +24 -5
@@ -1286,9 +1286,7 @@ function describeWorkerExecutionReadiness(opts) {
1286
1286
  };
1287
1287
  }
1288
1288
  function formatWorkerExecutionReadinessLines(readiness) {
1289
- const lines = [
1290
- `[pushpals] workerExecution=${readiness.state} detail=${readiness.detail}`
1291
- ];
1289
+ const lines = [`[pushpals] workerExecution=${readiness.state} detail=${readiness.detail}`];
1292
1290
  if (readiness.action) {
1293
1291
  lines.push(`[pushpals] workerExecutionAction=${readiness.action}`);
1294
1292
  }
@@ -3301,7 +3299,9 @@ function extractRemoteBuddySessionConsumerHealth(statusPayload, sessionId) {
3301
3299
  };
3302
3300
  }
3303
3301
  if (anyRemoteBuddyRows.length > 0) {
3304
- const knownSessions = [...new Set(anyRemoteBuddyRows.map((row) => String(row.sessionId ?? "").trim()))].filter(Boolean).sort();
3302
+ const knownSessions = [
3303
+ ...new Set(anyRemoteBuddyRows.map((row) => String(row.sessionId ?? "").trim()))
3304
+ ].filter(Boolean).sort();
3305
3305
  const suffix = knownSessions.length > 0 ? ` Known RemoteBuddy sessions: ${knownSessions.join(", ")}.` : "";
3306
3306
  return {
3307
3307
  ok: false,
@@ -435,5 +435,5 @@ input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-web
435
435
  @keyframes r-1pzkwqh{0%{transform:translateY(100%);}100%{transform:translateY(0%);}}
436
436
  @keyframes r-imtty0{0%{opacity:0;}100%{opacity:1;}}
437
437
  @keyframes r-q67da2{0%{transform:translateX(-100%);}100%{transform:translateX(400%);}}
438
- @keyframes r-t2lo5v{0%{opacity:1;}100%{opacity:0;}}</style><script type="module">globalThis.__EXPO_ROUTER_HYDRATE__=true;</script><link rel="icon" href="/favicon.ico" /></head><body><div id="root"><div class="css-g5y9jx r-13awgt0"></div></div><script src="/_expo/static/js/web/entry-275c5f7972e2d2f4f0422fe2213a7f89.js" defer></script>
438
+ @keyframes r-t2lo5v{0%{opacity:1;}100%{opacity:0;}}</style><script type="module">globalThis.__EXPO_ROUTER_HYDRATE__=true;</script><link rel="icon" href="/favicon.ico" /></head><body><div id="root"><div class="css-g5y9jx r-13awgt0"></div></div><script src="/_expo/static/js/web/entry-5e6db7139bc13703a24f952bd64faf4c.js" defer></script>
439
439
  </body></html>
@@ -1033,9 +1033,9 @@ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e
1033
1033
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.DashboardMetrics=function(e){const n=(0,t.c)(29),{theme:u,connected:v,totalEvents:f,pendingRequests:p,pendingJobs:h,onlineWorkers:b,busyWorkers:j,lastRefresh:x,formatRelativeTime:M,formatAbsoluteTime:w}=e,T=p+h,_=v?"Live":"Disconnected",y=`${f} events`,R=v?"positive":"danger";let W;n[0]!==_||n[1]!==y||n[2]!==R||n[3]!==u?(W=(0,l.jsx)(s.MetricTile,{title:"Connection",value:_,detail:y,tone:R,theme:u}),n[0]=_,n[1]=y,n[2]=R,n[3]=u,n[4]=W):W=n[4];const k=String(T),$=`${p} requests | ${h} jobs`,D=T>0?"warning":"positive";let S;n[5]!==k||n[6]!==$||n[7]!==D||n[8]!==u?(S=(0,l.jsx)(s.MetricTile,{title:"Pending Work",value:k,detail:$,tone:D,theme:u}),n[5]=k,n[6]=$,n[7]=D,n[8]=u,n[9]=S):S=n[9];const q=String(b),A=`${j} busy`;let L,P,z,B,C;n[10]!==A||n[11]!==q||n[12]!==u?(L=(0,l.jsx)(s.MetricTile,{title:"Active Workers",value:q,detail:A,theme:u}),n[10]=A,n[11]=q,n[12]=u,n[13]=L):L=n[13];n[14]!==M||n[15]!==x?(P=x?M(x):"--",n[14]=M,n[15]=x,n[16]=P):P=n[16];n[17]!==w||n[18]!==x?(z=x?w(x):"waiting",n[17]=w,n[18]=x,n[19]=z):z=n[19];n[20]!==P||n[21]!==z||n[22]!==u?(B=(0,l.jsx)(s.MetricTile,{title:"Last Sync",value:P,detail:z,theme:u}),n[20]=P,n[21]=z,n[22]=u,n[23]=B):B=n[23];n[24]!==L||n[25]!==B||n[26]!==W||n[27]!==S?(C=(0,l.jsxs)(o.default,{style:c.metricRow,children:[W,S,L,B]}),n[24]=L,n[25]=B,n[26]=W,n[27]=S,n[28]=C):C=n[28];return C};var t=r(d[0]);r(d[1]);var n=e(r(d[2])),o=e(r(d[3])),s=r(d[4]),l=r(d[5]);const c=n.default.create({metricRow:{flexDirection:"row",flexWrap:"wrap",paddingHorizontal:20,paddingBottom:10}})},1022,[1134,21,136,310,1015,2]);
1034
1034
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.RequestsPane=function(e){const o=(0,t.c)(34),{theme:x,rows:h,counts:S,pendingSnapshot:b}=e;let j;o[0]!==b?(j=new Map(b.map(p)),o[0]=b,o[1]=j):j=o[1];const q=j;let M;o[2]!==S?(M=(0,u.queueValue)(S,"pending"),o[2]=S,o[3]=M):M=o[3];const T=String(M);let B,w;o[4]!==T||o[5]!==x?(B=(0,f.jsx)(c.MetricTile,{title:"Pending",value:T,tone:"warning",theme:x}),o[4]=T,o[5]=x,o[6]=B):B=o[6];o[7]!==S?(w=(0,u.queueValue)(S,"claimed"),o[7]=S,o[8]=w):w=o[8];const F=String(w);let k,C;o[9]!==F||o[10]!==x?(k=(0,f.jsx)(c.MetricTile,{title:"Claimed",value:F,tone:"accent",theme:x}),o[9]=F,o[10]=x,o[11]=k):k=o[11];o[12]!==S?(C=(0,u.queueValue)(S,"completed"),o[12]=S,o[13]=C):C=o[13];const z=String(C);let A,P;o[14]!==z||o[15]!==x?(A=(0,f.jsx)(c.MetricTile,{title:"Completed",value:z,tone:"positive",theme:x}),o[14]=z,o[15]=x,o[16]=A):A=o[16];o[17]!==S?(P=(0,u.queueValue)(S,"failed"),o[17]=S,o[18]=P):P=o[18];const $=String(P);let v,W,R,_;o[19]!==$||o[20]!==x?(v=(0,f.jsx)(c.MetricTile,{title:"Failed",value:$,tone:"danger",theme:x}),o[19]=$,o[20]=x,o[21]=v):v=o[21];o[22]!==A||o[23]!==v||o[24]!==B||o[25]!==k?(W=(0,f.jsxs)(s.default,{style:y.metricRow,children:[B,k,A,v]}),o[22]=A,o[23]=v,o[24]=B,o[25]=k,o[26]=W):W=o[26];o[27]!==q||o[28]!==h||o[29]!==x?(R=0===h.length?(0,f.jsxs)(s.default,{style:y.emptyState,children:[(0,f.jsx)(n.default,{style:[y.emptyTitle,{color:x.text,fontFamily:x.fontSans}],children:"No requests yet"}),(0,f.jsx)(n.default,{style:[y.emptySubtitle,{color:x.textMuted,fontFamily:x.fontSans}],children:"Session requests will appear here with full lifecycle status."})]}):h.map(e=>{const t=(0,u.statusColor)(x,e.status),l=(0,u.parseJsonText)(e.result),o=(0,u.parseJsonText)(e.error),c=q.get(e.id),p=e.priority??"normal",h=[e.enqueuedAt?`enq ${(0,u.prettyTs)(e.enqueuedAt)}`:null,e.claimedAt?`claim ${(0,u.prettyTs)(e.claimedAt)}`:null,e.completedAt?`done ${(0,u.prettyTs)(e.completedAt)}`:null,e.failedAt?`fail ${(0,u.prettyTs)(e.failedAt)}`:null].filter(Boolean),S="pending"===e.status&&c?`queue #${c.position} (eta ${(0,u.formatEtaMs)(c.etaMs)})`:null!=e.durationMs?`elapsed ${(0,u.formatDuration)(e.durationMs)}`:"in progress";return(0,f.jsxs)(s.default,{style:[y.card,{borderColor:x.border,backgroundColor:x.panel}],children:[(0,f.jsxs)(s.default,{style:y.rowBetween,children:[(0,f.jsx)(n.default,{style:[y.requestId,{color:x.text,fontFamily:x.fontMono}],children:e.id.slice(0,8)}),(0,f.jsx)(s.default,{style:[y.statusPill,{backgroundColor:`${t}22`,borderColor:`${t}66`}],children:(0,f.jsx)(n.default,{style:[y.statusPillText,{color:t,fontFamily:x.fontSans}],children:e.status})})]}),(0,f.jsx)(n.default,{style:[y.requestPrompt,{color:x.text,fontFamily:x.fontSans}],children:(0,u.clip)(e.prompt,260)}),(0,f.jsxs)(n.default,{style:[y.requestSubline,{color:x.textMuted,fontFamily:x.fontSans}],children:["priority ",p," | ",S]}),(0,f.jsxs)(n.default,{style:[y.requestSubline,{color:x.textMuted,fontFamily:x.fontSans}],children:["agent ",e.agentId??"--"," | created ",(0,u.prettyTs)(e.createdAt)," | updated"," ",(0,u.relativeMs)(e.updatedAt)]}),h.length>0?(0,f.jsx)(n.default,{style:[y.requestPhaseLine,{color:x.textMuted,fontFamily:x.fontMono}],children:h.join(" | ")}):null,null!=e.queueWaitBudgetMs?(0,f.jsxs)(n.default,{style:[y.requestSubline,{color:x.textMuted,fontFamily:x.fontSans}],children:["queue budget ",(0,u.formatDuration)(e.queueWaitBudgetMs)]}):null,null!=e.durationMs?(0,f.jsxs)(n.default,{style:[y.requestSubline,{color:x.textMuted,fontFamily:x.fontSans}],children:["request duration ",(0,u.formatDuration)(e.durationMs)]}):null,l?(0,f.jsxs)(s.default,{style:[y.codeBlock,{borderColor:x.border,backgroundColor:x.panelAlt}],children:[(0,f.jsx)(n.default,{style:[y.codeBlockLabel,{color:x.positive,fontFamily:x.fontSans}],children:"result"}),(0,f.jsx)(n.default,{style:[y.codeBlockText,{color:x.text,fontFamily:x.fontMono}],children:(0,u.clip)(l,600)})]}):null,o?(0,f.jsxs)(s.default,{style:[y.codeBlock,{borderColor:`${x.danger}77`,backgroundColor:`${x.danger}14`}],children:[(0,f.jsx)(n.default,{style:[y.codeBlockLabel,{color:x.danger,fontFamily:x.fontSans}],children:"error"}),(0,f.jsx)(n.default,{style:[y.codeBlockText,{color:x.text,fontFamily:x.fontMono}],children:(0,u.clip)(o,600)})]}):null]},e.id)}),o[27]=q,o[28]=h,o[29]=x,o[30]=R):R=o[30];o[31]!==W||o[32]!==R?(_=(0,f.jsxs)(l.default,{style:y.fill,contentContainerStyle:y.content,children:[W,R]}),o[31]=W,o[32]=R,o[33]=_):_=o[33];return _};var t=r(d[0]);r(d[1]);var l=e(r(d[2])),o=e(r(d[3])),n=e(r(d[4])),s=e(r(d[5])),u=r(d[6]),c=r(d[7]),f=r(d[8]);function p(e){return[e.id,e]}const y=o.default.create({fill:{flex:1},content:{paddingHorizontal:20,paddingBottom:18},metricRow:{flexDirection:"row",flexWrap:"wrap",paddingBottom:10},emptyState:{borderRadius:16,padding:16,alignItems:"flex-start"},emptyTitle:{fontSize:18,fontWeight:"700",marginBottom:4},emptySubtitle:{fontSize:13,lineHeight:19},card:{borderWidth:1,borderRadius:16,padding:12,marginBottom:10},rowBetween:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},requestId:{fontSize:12,fontWeight:"700"},requestPrompt:{fontSize:14,lineHeight:20,marginTop:7},requestSubline:{fontSize:12,marginTop:6},requestPhaseLine:{fontSize:11,marginTop:6},statusPill:{borderWidth:1,borderRadius:999,paddingHorizontal:9,paddingVertical:3},statusPillText:{fontSize:11,fontWeight:"700",textTransform:"uppercase"},codeBlock:{marginTop:8,borderWidth:1,borderRadius:10,padding:8},codeBlockLabel:{fontSize:11,fontWeight:"700",textTransform:"uppercase",marginBottom:4},codeBlockText:{fontSize:12,lineHeight:17}})},1023,[1134,21,317,136,123,310,1014,1015,2]);
1035
1035
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.SegmentedTabs=function(e){const o=(0,t.c)(19),{tabs:b,active:f,onSelect:p,theme:x}=e;let y,S,h;o[0]!==x.border||o[1]!==x.panelAlt?(y=[u.segmentWrap,{backgroundColor:x.panelAlt,borderColor:x.border}],o[0]=x.border,o[1]=x.panelAlt,o[2]=y):y=o[2];if(o[3]!==f||o[4]!==p||o[5]!==b||o[6]!==x.accent||o[7]!==x.fontSans||o[8]!==x.textMuted){let e;o[10]!==f||o[11]!==p||o[12]!==x.accent||o[13]!==x.fontSans||o[14]!==x.textMuted?(e=e=>{const t=e.id===f;return(0,c.jsx)(n.default,{onPress:()=>p(e.id),style:[u.segmentBtn,t&&{backgroundColor:x.accent,borderColor:x.accent}],accessibilityRole:"button",accessibilityLabel:`${e.label} tab`,accessibilityHint:"Switches dashboard section.",accessibilityState:{selected:t},children:(0,c.jsxs)(l.default,{style:[u.segmentText,{color:t?"#FFFFFF":x.textMuted,fontFamily:x.fontSans}],numberOfLines:1,children:[e.label,"number"==typeof e.count?` (${e.count})`:""]})},e.id)},o[10]=f,o[11]=p,o[12]=x.accent,o[13]=x.fontSans,o[14]=x.textMuted,o[15]=e):e=o[15],S=b.map(e),o[3]=f,o[4]=p,o[5]=b,o[6]=x.accent,o[7]=x.fontSans,o[8]=x.textMuted,o[9]=S}else S=o[9];o[16]!==y||o[17]!==S?(h=(0,c.jsx)(s.default,{style:y,children:S}),o[16]=y,o[17]=S,o[18]=h):h=o[18];return h};var t=r(d[0]);r(d[1]);var n=e(r(d[2])),o=e(r(d[3])),l=e(r(d[4])),s=e(r(d[5])),c=r(d[6]);const u=o.default.create({segmentWrap:{marginHorizontal:20,marginBottom:10,borderWidth:1,borderRadius:14,flexDirection:"row",padding:3},segmentBtn:{flex:1,borderRadius:10,borderWidth:1,borderColor:"transparent",paddingVertical:8,paddingHorizontal:10,alignItems:"center",justifyContent:"center"},segmentText:{fontSize:12,fontWeight:"700"}})},1024,[1134,21,417,136,123,310,2]);
1036
- __d(function(g,r,i,_a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.SystemPane=function({theme:e,events:l,connected:j,workers:C,systemSummary:M,autonomyInsights:k,autonomyQuestions:T,autonomyAnswerResults:v,autonomyAnswerInFlight:F,onSubmitAutonomyAnswer:R,autonomyActionResults:A,autonomyActionInFlight:B,onApplyAutonomyQuestionAction:$,autonomySafetyInFlight:z,onUpdateAutonomySafety:P,lastRefresh:q}){const W=(0,t.useRef)(null);j?null==W.current&&(W.current=Date.now()):W.current=null;const I=j&&null!=W.current&&Date.now()-W.current<9e4,L=(0,t.useMemo)(()=>{const e={LocalBuddy:void 0,RemoteBuddy:void 0,WorkerPals:void 0,SourceControlManager:void 0},t=(e,t)=>t.some(t=>e.includes(t));for(const o of l){const n=(o.from??"").toLowerCase(),l=o.payload,s=`${n} ${"string"==typeof l?.agentId?l.agentId.toLowerCase():""}`;t(s,["localbuddy","local_buddy","local buddy"])&&(e.LocalBuddy=o.ts),t(s,["remotebuddy","remote_buddy","remote buddy"])&&(e.RemoteBuddy=o.ts),t(s,["workerpal","workerpals","worker_pal","worker pals","worker"])&&(e.WorkerPals=o.ts),t(s,["source_control_manager","sourcecontrolmanager","source control manager","source-control-manager","scm"])&&(e.SourceControlManager=o.ts)}return e},[l]),D=C.filter(e=>e.isOnline).length,H=(0,t.useMemo)(()=>l.filter(e=>(0,y.shouldDisplayInteractiveSessionEvent)(e)).slice(-40).reverse(),[l]),_=M.slo?.requests,E=M.slo?.jobs,N=M.llmUsage,V=M.runtime,O=M.clients,U=M.autonomy??k.opsSummary,J=U?.safetyState??null,K=U?.latestEvaluatorScorecard??k.latestEvaluatorScorecard,G=U?.recentAlerts??[],Q=k.trustedInspirationShortlist.slice(0,6),X=k.archivedInspirationSources.slice(0,4),Y=k.engineSourceStats.filter(e=>"watchlist"===e.curationStatus).length,[Z,ee]=(0,t.useState)({}),te=T.filter(e=>"open"===e.status||"invalid"===e.status).length,oe=T.filter(e=>"invalid"===e.status).length,ne=(0,t.useMemo)(()=>[...T].sort((e,t)=>t.createdAt.localeCompare(e.createdAt)).slice(0,20),[T]),le=(0,t.useMemo)(()=>{const e=["remotebuddy","workerpals"],t=new Map((N?.services??[]).map(e=>[e.service.toLowerCase(),e]));for(const o of e)t.has(o)||t.set(o,{service:o,promptTokens:0,completionTokens:0,totalTokens:0,callCount:0,avgTokensPerHour:0,avgTokensPerCall:null,estimatedCallCount:0,lastCallAt:null});return[...t.values()].sort((e,t)=>t.totalTokens!==e.totalTokens?t.totalTokens-e.totalTokens:b(e.service).localeCompare(b(t.service)))},[N]),se=(0,t.useMemo)(()=>O?.items??[],[O]),re=(0,t.useMemo)(()=>!!L.LocalBuddy||(!!(N?.services??[]).some(e=>"localbuddy"===e.service.toLowerCase()&&(e.callCount>0||e.totalTokens>0))||se.some(e=>{const t=`${String(e.clientId??"")} ${String(e.label??"")}`.toLowerCase();return t.includes("localbuddy")||t.includes("local buddy")})),[se,L.LocalBuddy,N?.services]),ae=(0,t.useMemo)(()=>{const e=Object.entries(O?.byKind??{}).sort((e,t)=>t[1]!==e[1]?t[1]-e[1]:e[0].localeCompare(t[0]));return 0===e.length?"no clients":e.map(([e,t])=>`${e} ${t}`).join(" | ")},[O]);(0,t.useEffect)(()=>{ee(e=>{const t={};for(const o of T)"string"!=typeof e[o.id]?"invalid"!==o.status||null==o.answer?"open"===o.status&&(t[o.id]=S(o)):t[o.id]=p(o.answer,2e3):t[o.id]=e[o.id];return t})},[T]);const ie=(0,t.useCallback)(async e=>{const t=Z[e.id]??"",o=await R({id:e.id,sessionId:e.sessionId},t);o.ok&&"valid"===o.status&&ee(t=>({...t,[e.id]:""}))},[R,Z]),de=(0,t.useCallback)(async(e,t)=>{const o=(Z[e.id]??"").trim();await $({id:e.id,sessionId:e.sessionId},t,o||void 0),"escalate"!==t&&ee(t=>({...t,[e.id]:""}))},[$,Z]),ue=[{name:"Server Stream",status:j?"connected":"disconnected",detail:j?"session event stream live":"not connected",ts:M.ts},...re?[{name:"LocalBuddy",status:L.LocalBuddy?"active":I?"initializing":"unknown",detail:L.LocalBuddy?`last event ${(0,c.relativeMs)(L.LocalBuddy)}`:I?"waiting for first status event":"no events yet",ts:L.LocalBuddy}]:[],{name:"RemoteBuddy",status:L.RemoteBuddy?"active":I?"initializing":"unknown",detail:L.RemoteBuddy?`last event ${(0,c.relativeMs)(L.RemoteBuddy)}`:I?"waiting for first status event":"no events yet",ts:L.RemoteBuddy},{name:"WorkerPals",status:D>0?"online":"offline",detail:`${D}/${C.length} online`,ts:C[0]?.lastHeartbeat},{name:"SourceControlManager",status:L.SourceControlManager?"active":I?"initializing":"unknown",detail:L.SourceControlManager?`last event ${(0,c.relativeMs)(L.SourceControlManager)}`:I?"waiting for first status event":"no events yet",ts:L.SourceControlManager}];return(0,h.jsxs)(n.default,{style:w.fill,contentContainerStyle:w.content,children:[(0,h.jsxs)(u.default,{style:w.metricRow,children:[(0,h.jsx)(f.MetricTile,{title:"Online Workers",value:String(M.workers?.online??D),detail:`${M.workers?.busy??C.filter(e=>"busy"===e.status).length} busy`,tone:"accent",theme:e}),(0,h.jsx)(f.MetricTile,{title:"Pending Requests",value:String((0,c.queueValue)(M.queues?.requests,"pending")),tone:"warning",theme:e}),(0,h.jsx)(f.MetricTile,{title:"Pending Completions",value:String((0,c.queueValue)(M.queues?.completions,"pending")),tone:"warning",theme:e}),(0,h.jsx)(f.MetricTile,{title:`LLM Tokens (${N?.windowHours??24}h)`,value:(0,c.formatTokenCount)(N?.totalTokens),detail:`${N?.callCount??0} calls | ${(0,c.formatTokenCount)(N?.avgTokensPerHour)} /h`,tone:N&&N.callCount>0?"accent":"warning",theme:e}),(0,h.jsx)(f.MetricTile,{title:"System Uptime",value:(0,c.formatUptime)(V?.uptimeMs),detail:V?.startedAt?`started ${(0,c.prettyTs)(V.startedAt)}`:"--",tone:"accent",theme:e}),(0,h.jsx)(f.MetricTile,{title:"Connected Clients",value:String(O?.connected??0),detail:`${O?.total??0} tracked | ${ae}`,tone:(O?.connected??0)>0?"accent":"warning",theme:e}),(0,h.jsx)(f.MetricTile,{title:"Trusted Sources",value:String(k.trustedInspirationShortlist.length),detail:`watchlist ${Y} | archived ${k.archivedInspirationSources.length}`,tone:"positive",theme:e}),(0,h.jsx)(f.MetricTile,{title:"Actionable Questions",value:String(te),detail:`invalid ${oe} | tracked ${T.length}`,tone:te>0?"warning":"positive",theme:e}),(0,h.jsx)(f.MetricTile,{title:"Refresh",value:q?(0,c.relativeMs)(q):"--",detail:q?(0,c.prettyTs)(q):"no sync",theme:e}),(0,h.jsx)(f.MetricTile,{title:"Request SLO (24h)",value:(0,c.formatPercent)(_?.successRate),detail:`p95 wait ${(0,c.formatDuration)(_?.queueWaitMs?.p95)}`,theme:e}),(0,h.jsx)(f.MetricTile,{title:"Job SLO (24h)",value:(0,c.formatPercent)(E?.successRate),detail:`timeout ${(0,c.formatPercent)(E?.timeoutRate)} | p95 run ${(0,c.formatDuration)(E?.durationMs?.p95)}`,theme:e})]}),(0,h.jsxs)(u.default,{style:[w.insightPanel,{borderColor:e.border,backgroundColor:e.panel}],children:[(0,h.jsxs)(u.default,{style:w.rowBetween,children:[(0,h.jsx)(s.default,{style:[w.sectionTitle,{color:e.text,fontFamily:e.fontSans}],children:"LLM Usage"}),(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:[N?.windowHours??24,"h window | ",N?.callCount??0," calls"]})]}),(0,h.jsxs)(s.default,{style:[w.systemDetail,{color:e.textMuted,fontFamily:e.fontSans}],children:["total ",(0,c.formatTokenCount)(N?.totalTokens)," tokens | prompt"," ",(0,c.formatTokenCount)(N?.promptTokens)," | completion"," ",(0,c.formatTokenCount)(N?.completionTokens)," | avg"," ",(0,c.formatTokenCount)(N?.avgTokensPerCall)," per call |"," ",(0,c.formatTokenCount)(N?.avgTokensPerHour)," per hour"]}),N&&N.estimatedCallCount>0?(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:[N.estimatedCallCount," call",1===N.estimatedCallCount?"":"s"," using estimated token counts."]}):null,(0,h.jsx)(u.default,{style:w.systemGrid,children:le.map(t=>(0,h.jsxs)(u.default,{style:[w.systemCard,{borderColor:e.border,backgroundColor:e.panelAlt}],children:[(0,h.jsxs)(u.default,{style:w.rowBetween,children:[(0,h.jsx)(s.default,{style:[w.systemTitle,{color:e.text,fontFamily:e.fontSans}],children:b(t.service)}),(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:t.callCount>0?e.accent:e.textMuted,fontFamily:e.fontMono}],children:[t.callCount," call",1===t.callCount?"":"s"]})]}),(0,h.jsx)(s.default,{style:[w.tokenValue,{color:t.totalTokens>0?e.accent:e.textMuted,fontFamily:e.fontSans}],children:(0,c.formatTokenCount)(t.totalTokens)}),(0,h.jsxs)(s.default,{style:[w.systemDetail,{color:e.textMuted,fontFamily:e.fontSans}],children:["avg ",(0,c.formatTokenCount)(t.avgTokensPerCall)," / call"]}),(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:[(0,c.formatTokenCount)(t.avgTokensPerHour)," / hour"]}),(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontMono}],children:["in ",(0,c.formatTokenCount)(t.promptTokens)," | out ",(0,c.formatTokenCount)(t.completionTokens)]}),(0,h.jsx)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:t.lastCallAt?`last call ${(0,c.relativeMs)(t.lastCallAt)}`:"no usage recorded"}),t.estimatedCallCount>0?(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:["estimated ",t.estimatedCallCount," call",1===t.estimatedCallCount?"":"s"]}):null]},`llm-${t.service}`))})]}),(0,h.jsxs)(u.default,{style:[w.safetyPanel,{borderColor:e.border,backgroundColor:e.panel}],children:[(0,h.jsxs)(u.default,{style:w.rowBetween,children:[(0,h.jsx)(s.default,{style:[w.sectionTitle,{color:e.text,fontFamily:e.fontSans}],children:"Autonomy Safety Controls"}),(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:["alerts ",G.length]})]}),(0,h.jsxs)(s.default,{style:[w.systemDetail,{color:e.textMuted,fontFamily:e.fontSans}],children:["kill switch ",J?.killSwitchEnabled?"enabled":"disabled"," | frozen"," ",J?.isFrozen?"yes":"no",J?.freezeUntil?` until ${(0,c.prettyTs)(J.freezeUntil)}`:""]}),J?.freezeReason?(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:["freeze reason: ",J.freezeReason]}):null,(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:["evaluator ",K?.recommendation??"unknown"," | success"," ","number"==typeof K?.successRate?`${(100*K.successRate).toFixed(1)}%`:"--"," | regret"," ","number"==typeof K?.regretRate?`${(100*K.regretRate).toFixed(1)}%`:"--"," | samples"," ",K?.sampleCount??0]}),(0,h.jsxs)(u.default,{style:w.safetyActionsRow,children:[(0,h.jsx)(o.default,{style:[w.answerButton,{borderColor:e.border,backgroundColor:z?e.panelAlt:J?.killSwitchEnabled?`${e.warning}33`:e.accentSoft,opacity:z?.7:1}],disabled:z,onPress:()=>{P({killSwitchEnabled:!Boolean(J?.killSwitchEnabled)})},children:(0,h.jsx)(s.default,{style:[w.answerButtonText,{color:e.accentText,fontFamily:e.fontSans}],children:J?.killSwitchEnabled?"Disable Kill Switch":"Enable Kill Switch"})}),(0,h.jsx)(o.default,{style:[w.answerButton,{borderColor:e.border,backgroundColor:z?e.panelAlt:J?.isFrozen?`${e.positive}22`:`${e.warning}22`,opacity:z?.7:1}],disabled:z,onPress:()=>{P(J?.isFrozen?{unfreeze:!0}:{freezeForMs:18e5,freezeReason:"manual_freeze_ui"})},children:(0,h.jsx)(s.default,{style:[w.answerButtonText,{color:e.accentText,fontFamily:e.fontSans}],children:J?.isFrozen?"Unfreeze":"Freeze 30m"})})]}),G.slice(0,3).map(t=>(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:"critical"===t.severity?e.danger:"warning"===t.severity?e.warning:e.textMuted,fontFamily:e.fontSans}],children:[(0,c.prettyTs)(t.createdAt)," | ",t.alertType,": ",(0,c.clip)(t.message,180)]},t.id))]}),(0,h.jsx)(u.default,{style:w.systemGrid,children:ue.map(t=>{const o=(0,c.statusColor)(e,t.status);return(0,h.jsxs)(u.default,{style:[w.systemCard,{borderColor:e.border,backgroundColor:e.panel}],children:[(0,h.jsxs)(u.default,{style:w.rowBetween,children:[(0,h.jsx)(s.default,{style:[w.systemTitle,{color:e.text,fontFamily:e.fontSans}],children:t.name}),(0,h.jsx)(u.default,{style:[w.statusPill,{backgroundColor:`${o}22`,borderColor:`${o}66`}],children:(0,h.jsx)(s.default,{style:[w.statusPillText,{color:o,fontFamily:e.fontSans}],children:t.status})})]}),(0,h.jsx)(s.default,{style:[w.systemDetail,{color:e.textMuted,fontFamily:e.fontSans}],children:t.detail}),(0,h.jsx)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:t.ts?`updated ${(0,c.prettyTs)(t.ts)}`:"no timestamp"})]},t.name)})}),(0,h.jsxs)(u.default,{style:[w.insightPanel,{borderColor:e.border,backgroundColor:e.panel}],children:[(0,h.jsxs)(u.default,{style:w.rowBetween,children:[(0,h.jsx)(s.default,{style:[w.sectionTitle,{color:e.text,fontFamily:e.fontSans}],children:"Connected Clients"}),(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:[O?.connected??0," connected / ",O?.total??0," tracked"]})]}),(0,h.jsx)(s.default,{style:[w.systemDetail,{color:e.textMuted,fontFamily:e.fontSans}],children:ae}),0===se.length?(0,h.jsx)(s.default,{style:[w.emptySubtitle,{color:e.textMuted,fontFamily:e.fontSans}],children:"No client interfaces have registered yet."}):(0,h.jsx)(u.default,{style:w.systemGrid,children:se.map(t=>{const o=(0,c.statusColor)(e,t.status),n=t.connectedTransports.length>0?t.connectedTransports.join(", "):"no live transport";return(0,h.jsxs)(u.default,{style:[w.systemCard,{borderColor:e.border,backgroundColor:e.panelAlt}],children:[(0,h.jsxs)(u.default,{style:w.rowBetween,children:[(0,h.jsx)(s.default,{style:[w.systemTitle,{color:e.text,fontFamily:e.fontSans}],children:t.label||t.kind}),(0,h.jsx)(u.default,{style:[w.statusPill,{backgroundColor:`${o}22`,borderColor:`${o}66`}],children:(0,h.jsx)(s.default,{style:[w.statusPillText,{color:o,fontFamily:e.fontSans}],children:t.status})})]}),(0,h.jsxs)(s.default,{style:[w.systemDetail,{color:e.textMuted,fontFamily:e.fontSans}],children:[t.kind," | session ",t.sessionId]}),(0,h.jsx)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontMono}],children:n}),t.version||t.platform?(0,h.jsx)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:[t.version,t.platform].filter(Boolean).join(" | ")}):null,t.repoRoot?(0,h.jsx)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:(0,c.clip)(t.repoRoot,120)}):null,(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:["last seen ",(0,c.relativeMs)(t.lastSeenAt)]})]},t.clientId)})})]}),(0,h.jsxs)(u.default,{style:[w.insightPanel,{borderColor:e.border,backgroundColor:e.panel}],children:[(0,h.jsxs)(u.default,{style:w.rowBetween,children:[(0,h.jsx)(s.default,{style:[w.sectionTitle,{color:e.text,fontFamily:e.fontSans}],children:"Autonomy Source Curation"}),(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:[k.engineSourceStats.length," tracked"]})]}),(0,h.jsxs)(u.default,{style:w.insightColumns,children:[(0,h.jsxs)(u.default,{style:w.insightCol,children:[(0,h.jsx)(s.default,{style:[w.insightSectionTitle,{color:e.positive,fontFamily:e.fontSans}],children:"Trusted Shortlist"}),0===Q.length?(0,h.jsx)(s.default,{style:[w.emptySubtitle,{color:e.textMuted,fontFamily:e.fontSans}],children:"No trusted sources yet."}):Q.map(t=>(0,h.jsxs)(u.default,{style:[w.insightRow,{borderColor:e.border}],children:[(0,h.jsx)(s.default,{style:[w.insightLabel,{color:e.text,fontFamily:e.fontSans}],children:t.sourceLabel||t.algorithm}),(0,h.jsxs)(s.default,{style:[w.insightMeta,{color:e.textMuted,fontFamily:e.fontMono}],children:["trust ",t.trustScore.toFixed(2)," | fresh ",t.freshnessScore.toFixed(2)," | samples"," ",t.sampleCount]}),t.curationReason?(0,h.jsx)(s.default,{style:[w.insightReason,{color:e.textMuted,fontFamily:e.fontSans}],children:t.curationReason}):null]},`trusted-${t.sourceKey}`))]}),(0,h.jsxs)(u.default,{style:w.insightCol,children:[(0,h.jsx)(s.default,{style:[w.insightSectionTitle,{color:e.warning,fontFamily:e.fontSans}],children:"Archived Sources"}),0===X.length?(0,h.jsx)(s.default,{style:[w.emptySubtitle,{color:e.textMuted,fontFamily:e.fontSans}],children:"No archived sources."}):X.map(t=>(0,h.jsxs)(u.default,{style:[w.insightRow,{borderColor:e.border}],children:[(0,h.jsx)(s.default,{style:[w.insightLabel,{color:e.text,fontFamily:e.fontSans}],children:t.sourceLabel||t.algorithm}),(0,h.jsxs)(s.default,{style:[w.insightMeta,{color:e.textMuted,fontFamily:e.fontMono}],children:["trust ",t.trustScore.toFixed(2)," | fresh ",t.freshnessScore.toFixed(2)," | samples"," ",t.sampleCount]}),t.curationReason?(0,h.jsx)(s.default,{style:[w.insightReason,{color:e.textMuted,fontFamily:e.fontSans}],children:t.curationReason}):null]},`archived-${t.sourceKey}`))]})]})]}),(0,h.jsxs)(u.default,{style:[w.questionPanel,{borderColor:e.border,backgroundColor:e.panel}],children:[(0,h.jsxs)(u.default,{style:w.rowBetween,children:[(0,h.jsx)(s.default,{style:[w.sectionTitle,{color:e.text,fontFamily:e.fontSans}],children:"Autonomy Questions"}),(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:[te," actionable / ",T.length," total"]})]}),0===ne.length?(0,h.jsx)(s.default,{style:[w.emptySubtitle,{color:e.textMuted,fontFamily:e.fontSans}],children:"No autonomy questions available yet."}):ne.map(t=>{const n="open"===t.status||"invalid"===t.status,l="answered"===t.status?e.positive:"invalid"===t.status?e.warning:"closed"===t.status?e.textMuted:e.accent,f=v[t.id],y=Boolean(F[t.id]),x=A[t.id],b=Boolean(B[t.id]),S=p(t.expectedAnswerSchema,260),j=p(t.context,260),C=p(t.answer,260),M="number"==typeof t.expiresInMs&&Number.isFinite(t.expiresInMs)?t.expiresInMs:(()=>{const e=Date.parse(t.expiresAt);return Number.isFinite(e)?Math.max(0,e-Date.now()):null})(),k=Boolean(t.isExpired)||"number"==typeof M&&M<=0,T=!k&&"number"==typeof M&&M<=9e5,R=k?e.danger:T?e.warning:e.textMuted;return(0,h.jsxs)(u.default,{style:[w.questionRow,{borderColor:e.border}],children:[(0,h.jsxs)(u.default,{style:w.rowBetween,children:[(0,h.jsx)(s.default,{style:[w.questionTitle,{color:e.text,fontFamily:e.fontSans}],children:t.question||"Untitled question"}),(0,h.jsx)(u.default,{style:[w.statusPill,{backgroundColor:`${l}22`,borderColor:`${l}66`}],children:(0,h.jsx)(s.default,{style:[w.statusPillText,{color:l,fontFamily:e.fontSans}],children:t.status})})]}),(0,h.jsxs)(s.default,{style:[w.questionMeta,{color:e.textMuted,fontFamily:e.fontMono}],children:[t.id.slice(0,8)," | type ",t.questionType||"unknown"," | objective"," ",t.objectiveId.slice(0,8)||"--"]}),(0,h.jsxs)(s.default,{style:[w.questionMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:["created ",(0,c.prettyTs)(t.createdAt)," | expires"," ",t.expiresAt?(0,c.prettyTs)(t.expiresAt):"--"]}),(0,h.jsx)(s.default,{style:[w.questionMeta,{color:R,fontFamily:e.fontSans}],children:k?"expired":T?`expires soon (${(0,c.formatDuration)(M)})`:"number"==typeof M?`expires in ${(0,c.formatDuration)(M)}`:"expiry unknown"}),S?(0,h.jsxs)(s.default,{style:[w.questionDetail,{color:e.textMuted,fontFamily:e.fontSans}],children:["expected: ",S]}):null,j&&"{}"!==j?(0,h.jsxs)(s.default,{style:[w.questionDetail,{color:e.textMuted,fontFamily:e.fontSans}],children:["context: ",j]}):null,t.validationError?(0,h.jsxs)(s.default,{style:[w.questionValidation,{color:e.warning,fontFamily:e.fontSans}],children:["validation: ",t.validationError]}):null,C?(0,h.jsxs)(s.default,{style:[w.questionDetail,{color:e.textMuted,fontFamily:e.fontSans}],children:["answer: ",C]}):null,n?(0,h.jsxs)(u.default,{style:w.questionActionRow,children:[(0,h.jsx)(a.default,{style:[w.questionInput,{borderColor:e.border,backgroundColor:e.panelAlt,color:e.text,fontFamily:e.fontMono}],multiline:!0,placeholder:"Answer as plain text or JSON",placeholderTextColor:e.textMuted,value:Z[t.id]??"",onChangeText:e=>ee(o=>({...o,[t.id]:e}))}),(0,h.jsx)(o.default,{style:[w.answerButton,{borderColor:e.border,backgroundColor:y?e.panelAlt:e.accentSoft,opacity:y?.7:1}],disabled:y,onPress:()=>{ie(t)},children:(0,h.jsx)(s.default,{style:[w.answerButtonText,{color:e.accentText,fontFamily:e.fontSans}],children:y?"Submitting...":"Submit Answer"})}),(0,h.jsxs)(u.default,{style:w.questionSecondaryActions,children:[(0,h.jsx)(o.default,{style:[w.miniActionButton,{borderColor:e.border,backgroundColor:b?e.panelAlt:`${e.warning}22`,opacity:b?.7:1}],disabled:b,onPress:()=>{de(t,"skip")},children:(0,h.jsx)(s.default,{style:[w.miniActionText,{color:e.warning,fontFamily:e.fontSans}],children:"Skip"})}),(0,h.jsx)(o.default,{style:[w.miniActionButton,{borderColor:e.border,backgroundColor:b?e.panelAlt:`${e.textMuted}22`,opacity:b?.7:1}],disabled:b,onPress:()=>{de(t,"close")},children:(0,h.jsx)(s.default,{style:[w.miniActionText,{color:e.textMuted,fontFamily:e.fontSans}],children:"Close"})}),(0,h.jsx)(o.default,{style:[w.miniActionButton,{borderColor:e.border,backgroundColor:b?e.panelAlt:`${e.danger}22`,opacity:b?.7:1}],disabled:b,onPress:()=>{de(t,"escalate")},children:(0,h.jsx)(s.default,{style:[w.miniActionText,{color:e.danger,fontFamily:e.fontSans}],children:"Escalate"})})]})]}):null,f?(0,h.jsxs)(u.default,{style:[w.answerResult,{borderColor:e.border,backgroundColor:f.ok?"invalid"===f.status?`${e.warning}22`:`${e.positive}22`:`${e.danger}22`}],children:[(0,h.jsx)(s.default,{style:[w.answerResultLine,{color:f.ok?e.text:e.danger,fontFamily:e.fontSans}],children:f.ok?`answer ${f.status??"accepted"}`:`answer failed: ${f.reason??"unknown error"}`}),f.reason&&f.ok?(0,h.jsx)(s.default,{style:[w.answerResultLine,{color:e.textMuted,fontFamily:e.fontSans}],children:f.reason}):null,f.resumedRequestId?(0,h.jsxs)(s.default,{style:[w.answerResultLine,{color:e.textMuted,fontFamily:e.fontMono}],children:["resumed request ",f.resumedRequestId]}):null,f.resumeError?(0,h.jsxs)(s.default,{style:[w.answerResultLine,{color:e.danger,fontFamily:e.fontSans}],children:["resume error: ",f.resumeError]}):null]}):null,x?(0,h.jsx)(u.default,{style:[w.answerResult,{borderColor:e.border,backgroundColor:x.ok?`${e.positive}22`:`${e.danger}22`}],children:(0,h.jsx)(s.default,{style:[w.answerResultLine,{color:x.ok?e.text:e.danger,fontFamily:e.fontSans}],children:x.ok?`action ${x.action??"applied"}`:`action failed: ${x.reason??"unknown error"}`})}):null]},t.id)})]}),(0,h.jsxs)(u.default,{style:[w.workerPanel,{borderColor:e.border,backgroundColor:e.panel}],children:[(0,h.jsx)(s.default,{style:[w.sectionTitle,{color:e.text,fontFamily:e.fontSans}],children:"Worker Fleet"}),0===C.length?(0,h.jsx)(s.default,{style:[w.emptySubtitle,{color:e.textMuted,fontFamily:e.fontSans}],children:"No workers reported yet."}):C.map(t=>{const o=(0,c.statusColor)(e,t.status);return(0,h.jsxs)(u.default,{style:[w.workerRow,{borderColor:e.border}],children:[(0,h.jsx)(u.default,{style:[w.jobDot,{backgroundColor:o}]}),(0,h.jsxs)(u.default,{style:w.workerTextCol,children:[(0,h.jsx)(s.default,{style:[w.workerName,{color:e.text,fontFamily:e.fontSans}],children:t.workerId}),(0,h.jsxs)(s.default,{style:[w.workerMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:[t.status," | job ",t.currentJobId?.slice(0,8)??"--"," | heartbeat"," ",(0,c.relativeMs)(t.lastHeartbeat)]})]})]},t.workerId)})]}),(0,h.jsxs)(u.default,{style:[w.eventPanel,{borderColor:e.border,backgroundColor:e.panel}],children:[(0,h.jsxs)(u.default,{style:w.rowBetween,children:[(0,h.jsx)(s.default,{style:[w.sectionTitle,{color:e.text,fontFamily:e.fontSans}],children:"Recent Event Stream"}),(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:[H.length," latest"]})]}),0===H.length?(0,h.jsx)(s.default,{style:[w.emptySubtitle,{color:e.textMuted,fontFamily:e.fontSans}],children:"No events yet."}):H.map(t=>{const o=(0,c.statusColor)(e,t.type);return(0,h.jsxs)(u.default,{style:[w.eventRow,{borderColor:e.border}],children:[(0,h.jsxs)(u.default,{style:w.eventMain,children:[(0,h.jsxs)(s.default,{style:[w.eventMeta,{color:e.textMuted,fontFamily:e.fontMono}],children:[(0,c.prettyTs)(t.ts)," | ",t.from??"unknown"]}),(0,h.jsx)(s.default,{style:[w.eventSummary,{color:e.text,fontFamily:e.fontSans}],children:x(t)})]}),(0,h.jsx)(u.default,{style:[w.statusPill,{backgroundColor:`${o}22`,borderColor:`${o}66`}],children:(0,h.jsx)(s.default,{style:[w.statusPillText,{color:o,fontFamily:e.fontSans}],children:t.type})})]},t.id)})]})]})};var t=r(d[0]),o=e(r(d[1])),n=e(r(d[2])),l=e(r(d[3])),s=e(r(d[4])),a=e(r(d[5])),u=e(r(d[6])),c=r(d[7]),f=r(d[8]),y=r(d[9]),h=r(d[10]);function x(e){const t=e.payload??{},o=["message","summary","title","detail","error","status","kind","jobId","taskId","requestId"];for(const e of o){const o=t[e];if("string"==typeof o&&o.trim())return(0,c.clip)(o,140)}return"object"==typeof t&&t&&Object.keys(t).length>0?(0,c.clip)(JSON.stringify(t),140):"No payload details"}function p(e,t=320){if(null==e)return"";if("string"==typeof e)return(0,c.clip)(e,t);if("number"==typeof e||"boolean"==typeof e)return String(e);try{return(0,c.clip)(JSON.stringify(e),t)}catch{return(0,c.clip)(String(e),t)}}function b(e){const t=e.trim().toLowerCase();return"localbuddy"===t?"LocalBuddy":"remotebuddy"===t?"RemoteBuddy":"workerpals"===t?"WorkerPals":e||"Unknown"}function S(e){const t=e.expectedAnswerSchema??{};if("single_choice"===e.questionType){const e=(Array.isArray(t.choices)?t.choices:[]).find(e=>"string"==typeof e&&e.trim());return"string"==typeof e?e:""}if("multi_choice"===e.questionType){const e=(Array.isArray(t.choices)?t.choices:[]).find(e=>"string"==typeof e&&e.trim());return"string"==typeof e?JSON.stringify([e]):"[]"}if("json_payload"===e.questionType){const e=Array.isArray(t.required_keys)?t.required_keys:[],o={};for(const t of e)"string"==typeof t&&t.trim()&&(o[t]="");return Object.keys(o).length>0?JSON.stringify(o,null,2):"{}"}return""}const w=l.default.create({fill:{flex:1},content:{paddingHorizontal:20,paddingBottom:18},metricRow:{flexDirection:"row",flexWrap:"wrap",paddingBottom:10},sectionTitle:{fontSize:16,fontWeight:"700",marginBottom:8},rowBetween:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},statusPill:{borderWidth:1,borderRadius:999,paddingHorizontal:9,paddingVertical:3},statusPillText:{fontSize:11,fontWeight:"700",textTransform:"uppercase"},emptySubtitle:{fontSize:13,lineHeight:19},systemGrid:{flexDirection:"row",flexWrap:"wrap",marginBottom:6},systemCard:{width:"48%",minWidth:240,borderWidth:1,borderRadius:14,padding:11,marginRight:8,marginBottom:8},systemTitle:{fontSize:14,fontWeight:"700"},tokenValue:{fontSize:24,fontWeight:"700",marginTop:6},systemDetail:{fontSize:12,marginTop:7},systemMeta:{fontSize:11,marginTop:5},workerPanel:{borderWidth:1,borderRadius:16,padding:12,marginBottom:10},insightPanel:{borderWidth:1,borderRadius:16,padding:12,marginBottom:10},safetyPanel:{borderWidth:1,borderRadius:16,padding:12,marginBottom:10},questionPanel:{borderWidth:1,borderRadius:16,padding:12,marginBottom:10},insightColumns:{flexDirection:"row",flexWrap:"wrap",gap:10},insightCol:{flex:1,minWidth:280},insightSectionTitle:{fontSize:13,fontWeight:"700",marginBottom:6},insightRow:{borderWidth:1,borderRadius:10,paddingHorizontal:10,paddingVertical:8,marginBottom:8},insightLabel:{fontSize:13,fontWeight:"700"},insightMeta:{fontSize:11,marginTop:3},insightReason:{fontSize:12,marginTop:5,lineHeight:17},questionRow:{borderWidth:1,borderRadius:12,paddingHorizontal:10,paddingVertical:9,marginBottom:8},questionTitle:{flex:1,fontSize:13,fontWeight:"700",marginRight:8},questionMeta:{fontSize:11,marginTop:3},questionDetail:{fontSize:12,marginTop:4,lineHeight:17},questionValidation:{fontSize:12,marginTop:4,lineHeight:17,fontWeight:"600"},questionActionRow:{marginTop:7},questionSecondaryActions:{marginTop:7,flexDirection:"row",flexWrap:"wrap",gap:6},questionInput:{borderWidth:1,borderRadius:10,paddingHorizontal:10,paddingVertical:8,minHeight:70,textAlignVertical:"top",fontSize:12},answerButton:{marginTop:7,alignSelf:"flex-start",borderWidth:1,borderRadius:9,paddingHorizontal:11,paddingVertical:7},answerButtonText:{fontSize:11,fontWeight:"700",textTransform:"uppercase",letterSpacing:.3},miniActionButton:{borderWidth:1,borderRadius:8,paddingHorizontal:10,paddingVertical:6},miniActionText:{fontSize:10,fontWeight:"700",textTransform:"uppercase",letterSpacing:.3},safetyActionsRow:{flexDirection:"row",flexWrap:"wrap",gap:8,marginTop:8,marginBottom:4},answerResult:{marginTop:7,borderWidth:1,borderRadius:10,paddingHorizontal:9,paddingVertical:7},answerResultLine:{fontSize:11,lineHeight:16},workerRow:{flexDirection:"row",alignItems:"center",borderBottomWidth:1,paddingVertical:9},jobDot:{width:8,height:8,borderRadius:4,marginRight:10},workerTextCol:{flex:1},workerName:{fontSize:13,fontWeight:"700"},workerMeta:{fontSize:12,marginTop:2},eventPanel:{borderWidth:1,borderRadius:16,padding:12,marginBottom:10},eventRow:{flexDirection:"row",alignItems:"flex-start",justifyContent:"space-between",borderBottomWidth:1,paddingVertical:8,gap:8},eventMain:{flex:1},eventMeta:{fontSize:11},eventSummary:{fontSize:13,marginTop:2,lineHeight:18}})},1025,[21,417,317,136,123,427,310,1014,1015,1026,2]);
1036
+ __d(function(g,r,i,_a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.SystemPane=function({theme:e,events:l,connected:j,workers:C,systemSummary:M,autonomyInsights:k,autonomyQuestions:T,autonomyAnswerResults:v,autonomyAnswerInFlight:F,onSubmitAutonomyAnswer:R,autonomyActionResults:A,autonomyActionInFlight:B,onApplyAutonomyQuestionAction:$,autonomySafetyInFlight:z,onUpdateAutonomySafety:P,lastRefresh:q}){const W=(0,t.useRef)(null);j?null==W.current&&(W.current=Date.now()):W.current=null;const I=j&&null!=W.current&&Date.now()-W.current<9e4,L=(0,t.useMemo)(()=>{const e={LocalBuddy:void 0,RemoteBuddy:void 0,WorkerPals:void 0,SourceControlManager:void 0},t=(e,t)=>t.some(t=>e.includes(t));for(const o of l){const n=(o.from??"").toLowerCase(),l=o.payload,s=`${n} ${"string"==typeof l?.agentId?l.agentId.toLowerCase():""}`;t(s,["localbuddy","local_buddy","local buddy"])&&(e.LocalBuddy=o.ts),t(s,["remotebuddy","remote_buddy","remote buddy"])&&(e.RemoteBuddy=o.ts),t(s,["workerpal","workerpals","worker_pal","worker pals","worker"])&&(e.WorkerPals=o.ts),t(s,["source_control_manager","sourcecontrolmanager","source control manager","source-control-manager","scm"])&&(e.SourceControlManager=o.ts)}return e},[l]),D=C.filter(e=>e.isOnline).length,H=(0,t.useMemo)(()=>l.filter(e=>(0,y.shouldDisplayInteractiveSessionEvent)(e)).slice(-40).reverse(),[l]),_=M.slo?.requests,E=M.slo?.jobs,N=M.llmUsage,V=M.runtime,O=M.clients,U=M.autonomy??k.opsSummary,J=U?.safetyState??null,K=U?.latestEvaluatorScorecard??k.latestEvaluatorScorecard,G=U?.recentAlerts??[],Q=k.trustedInspirationShortlist.slice(0,6),X=k.archivedInspirationSources.slice(0,4),Y=k.engineSourceStats.filter(e=>"watchlist"===e.curationStatus).length,[Z,ee]=(0,t.useState)({}),te=T.filter(e=>"open"===e.status||"invalid"===e.status).length,oe=T.filter(e=>"invalid"===e.status).length,ne=(0,t.useMemo)(()=>[...T].sort((e,t)=>t.createdAt.localeCompare(e.createdAt)).slice(0,20),[T]),le=(0,t.useMemo)(()=>{const e=["remotebuddy","workerpals"],t=new Map((N?.services??[]).map(e=>[e.service.toLowerCase(),e]));for(const o of e)t.has(o)||t.set(o,{service:o,promptTokens:0,completionTokens:0,totalTokens:0,callCount:0,avgTokensPerHour:0,avgTokensPerCall:null,estimatedCallCount:0,lastCallAt:null});return[...t.values()].sort((e,t)=>t.totalTokens!==e.totalTokens?t.totalTokens-e.totalTokens:b(e.service).localeCompare(b(t.service)))},[N]),se=(0,t.useMemo)(()=>O?.items??[],[O]),re=(0,t.useMemo)(()=>!!L.LocalBuddy||(!!(N?.services??[]).some(e=>"localbuddy"===e.service.toLowerCase()&&(e.callCount>0||e.totalTokens>0))||se.some(e=>{const t=`${String(e.clientId??"")} ${String(e.label??"")}`.toLowerCase();return t.includes("localbuddy")||t.includes("local buddy")})),[se,L.LocalBuddy,N?.services]),ae=(0,t.useMemo)(()=>{const e=Object.entries(O?.byKind??{}).sort((e,t)=>t[1]!==e[1]?t[1]-e[1]:e[0].localeCompare(t[0]));return 0===e.length?"no clients":e.map(([e,t])=>`${e} ${t}`).join(" | ")},[O]);(0,t.useEffect)(()=>{ee(e=>{const t={};for(const o of T)"string"!=typeof e[o.id]?"invalid"!==o.status||null==o.answer?"open"===o.status&&(t[o.id]=S(o)):t[o.id]=p(o.answer,2e3):t[o.id]=e[o.id];return t})},[T]);const ie=(0,t.useCallback)(async e=>{const t=Z[e.id]??"",o=await R({id:e.id,sessionId:e.sessionId},t);o.ok&&"valid"===o.status&&ee(t=>({...t,[e.id]:""}))},[R,Z]),de=(0,t.useCallback)(async(e,t)=>{const o=(Z[e.id]??"").trim();await $({id:e.id,sessionId:e.sessionId},t,o||void 0),"escalate"!==t&&ee(t=>({...t,[e.id]:""}))},[$,Z]),ue=[{name:"Server Stream",status:j?"connected":"disconnected",detail:j?"session event stream live":"not connected",ts:M.ts},...re?[{name:"LocalBuddy",status:L.LocalBuddy?"active":I?"initializing":"unknown",detail:L.LocalBuddy?`last event ${(0,c.relativeMs)(L.LocalBuddy)}`:I?"waiting for first status event":"no events yet",ts:L.LocalBuddy}]:[],{name:"RemoteBuddy",status:L.RemoteBuddy?"active":I?"initializing":"unknown",detail:L.RemoteBuddy?`last event ${(0,c.relativeMs)(L.RemoteBuddy)}`:I?"waiting for first status event":"no events yet",ts:L.RemoteBuddy},{name:"WorkerPals",status:D>0?"online":"offline",detail:`${D}/${C.length} online`,ts:C[0]?.lastHeartbeat},{name:"SourceControlManager",status:L.SourceControlManager?"active":I?"initializing":"unknown",detail:L.SourceControlManager?`last event ${(0,c.relativeMs)(L.SourceControlManager)}`:I?"waiting for first status event":"no events yet",ts:L.SourceControlManager}];return(0,h.jsxs)(n.default,{style:w.fill,contentContainerStyle:w.content,children:[(0,h.jsxs)(u.default,{style:w.metricRow,children:[(0,h.jsx)(f.MetricTile,{title:"Online Workers",value:String(M.workers?.online??D),detail:`${M.workers?.busy??C.filter(e=>"busy"===e.status).length} busy`,tone:"accent",theme:e}),(0,h.jsx)(f.MetricTile,{title:"Pending Requests",value:String((0,c.queueValue)(M.queues?.requests,"pending")),tone:"warning",theme:e}),(0,h.jsx)(f.MetricTile,{title:"Pending Completions",value:String((0,c.queueValue)(M.queues?.completions,"pending")),tone:"warning",theme:e}),(0,h.jsx)(f.MetricTile,{title:`LLM Tokens (${N?.windowHours??24}h)`,value:(0,c.formatTokenCount)(N?.totalTokens),detail:`${N?.callCount??0} calls | ${(0,c.formatTokenCount)(N?.avgTokensPerHour)} /h`,tone:N&&N.callCount>0?"accent":"warning",theme:e}),(0,h.jsx)(f.MetricTile,{title:"System Uptime",value:(0,c.formatUptime)(V?.uptimeMs),detail:V?.startedAt?`started ${(0,c.prettyTs)(V.startedAt)}`:"--",tone:"accent",theme:e}),(0,h.jsx)(f.MetricTile,{title:"Connected Clients",value:String(O?.connected??0),detail:`${O?.total??0} tracked | ${ae}`,tone:(O?.connected??0)>0?"accent":"warning",theme:e}),(0,h.jsx)(f.MetricTile,{title:"Trusted Sources",value:String(k.trustedInspirationShortlist.length),detail:`watchlist ${Y} | archived ${k.archivedInspirationSources.length}`,tone:"positive",theme:e}),(0,h.jsx)(f.MetricTile,{title:"Actionable Questions",value:String(te),detail:`invalid ${oe} | tracked ${T.length}`,tone:te>0?"warning":"positive",theme:e}),(0,h.jsx)(f.MetricTile,{title:"Refresh",value:q?(0,c.relativeMs)(q):"--",detail:q?(0,c.prettyTs)(q):"no sync",theme:e}),(0,h.jsx)(f.MetricTile,{title:"Request SLO (24h)",value:(0,c.formatPercent)(_?.successRate),detail:`p95 wait ${(0,c.formatDuration)(_?.queueWaitMs?.p95)}`,theme:e}),(0,h.jsx)(f.MetricTile,{title:"Job SLO (24h)",value:(0,c.formatPercent)(E?.successRate),detail:`timeout ${(0,c.formatPercent)(E?.timeoutRate)} | p95 run ${(0,c.formatDuration)(E?.durationMs?.p95)}`,theme:e})]}),(0,h.jsxs)(u.default,{style:[w.insightPanel,{borderColor:e.border,backgroundColor:e.panel}],children:[(0,h.jsxs)(u.default,{style:w.rowBetween,children:[(0,h.jsx)(s.default,{style:[w.sectionTitle,{color:e.text,fontFamily:e.fontSans}],children:"LLM Usage"}),(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:[N?.windowHours??24,"h window | ",N?.callCount??0," calls"]})]}),(0,h.jsxs)(s.default,{style:[w.systemDetail,{color:e.textMuted,fontFamily:e.fontSans}],children:["total ",(0,c.formatTokenCount)(N?.totalTokens)," tokens | prompt"," ",(0,c.formatTokenCount)(N?.promptTokens)," | completion"," ",(0,c.formatTokenCount)(N?.completionTokens)," | avg"," ",(0,c.formatTokenCount)(N?.avgTokensPerCall)," per call |"," ",(0,c.formatTokenCount)(N?.avgTokensPerHour)," per hour"]}),N&&N.estimatedCallCount>0?(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:[N.estimatedCallCount," call",1===N.estimatedCallCount?"":"s"," using estimated token counts."]}):null,(0,h.jsx)(u.default,{style:w.systemGrid,children:le.map(t=>(0,h.jsxs)(u.default,{style:[w.systemCard,{borderColor:e.border,backgroundColor:e.panelAlt}],children:[(0,h.jsxs)(u.default,{style:w.rowBetween,children:[(0,h.jsx)(s.default,{style:[w.systemTitle,{color:e.text,fontFamily:e.fontSans}],children:b(t.service)}),(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:t.callCount>0?e.accent:e.textMuted,fontFamily:e.fontMono}],children:[t.callCount," call",1===t.callCount?"":"s"]})]}),(0,h.jsx)(s.default,{style:[w.tokenValue,{color:t.totalTokens>0?e.accent:e.textMuted,fontFamily:e.fontSans}],children:(0,c.formatTokenCount)(t.totalTokens)}),(0,h.jsxs)(s.default,{style:[w.systemDetail,{color:e.textMuted,fontFamily:e.fontSans}],children:["avg ",(0,c.formatTokenCount)(t.avgTokensPerCall)," / call"]}),(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:[(0,c.formatTokenCount)(t.avgTokensPerHour)," / hour"]}),(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontMono}],children:["in ",(0,c.formatTokenCount)(t.promptTokens)," | out"," ",(0,c.formatTokenCount)(t.completionTokens)]}),(0,h.jsx)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:t.lastCallAt?`last call ${(0,c.relativeMs)(t.lastCallAt)}`:"no usage recorded"}),t.estimatedCallCount>0?(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:["estimated ",t.estimatedCallCount," call",1===t.estimatedCallCount?"":"s"]}):null]},`llm-${t.service}`))})]}),(0,h.jsxs)(u.default,{style:[w.safetyPanel,{borderColor:e.border,backgroundColor:e.panel}],children:[(0,h.jsxs)(u.default,{style:w.rowBetween,children:[(0,h.jsx)(s.default,{style:[w.sectionTitle,{color:e.text,fontFamily:e.fontSans}],children:"Autonomy Safety Controls"}),(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:["alerts ",G.length]})]}),(0,h.jsxs)(s.default,{style:[w.systemDetail,{color:e.textMuted,fontFamily:e.fontSans}],children:["kill switch ",J?.killSwitchEnabled?"enabled":"disabled"," | frozen"," ",J?.isFrozen?"yes":"no",J?.freezeUntil?` until ${(0,c.prettyTs)(J.freezeUntil)}`:""]}),J?.freezeReason?(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:["freeze reason: ",J.freezeReason]}):null,(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:["evaluator ",K?.recommendation??"unknown"," | success"," ","number"==typeof K?.successRate?`${(100*K.successRate).toFixed(1)}%`:"--"," ","| regret"," ","number"==typeof K?.regretRate?`${(100*K.regretRate).toFixed(1)}%`:"--"," ","| samples ",K?.sampleCount??0]}),(0,h.jsxs)(u.default,{style:w.safetyActionsRow,children:[(0,h.jsx)(o.default,{style:[w.answerButton,{borderColor:e.border,backgroundColor:z?e.panelAlt:J?.killSwitchEnabled?`${e.warning}33`:e.accentSoft,opacity:z?.7:1}],disabled:z,onPress:()=>{P({killSwitchEnabled:!Boolean(J?.killSwitchEnabled)})},children:(0,h.jsx)(s.default,{style:[w.answerButtonText,{color:e.accentText,fontFamily:e.fontSans}],children:J?.killSwitchEnabled?"Disable Kill Switch":"Enable Kill Switch"})}),(0,h.jsx)(o.default,{style:[w.answerButton,{borderColor:e.border,backgroundColor:z?e.panelAlt:J?.isFrozen?`${e.positive}22`:`${e.warning}22`,opacity:z?.7:1}],disabled:z,onPress:()=>{P(J?.isFrozen?{unfreeze:!0}:{freezeForMs:18e5,freezeReason:"manual_freeze_ui"})},children:(0,h.jsx)(s.default,{style:[w.answerButtonText,{color:e.accentText,fontFamily:e.fontSans}],children:J?.isFrozen?"Unfreeze":"Freeze 30m"})})]}),G.slice(0,3).map(t=>(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:"critical"===t.severity?e.danger:"warning"===t.severity?e.warning:e.textMuted,fontFamily:e.fontSans}],children:[(0,c.prettyTs)(t.createdAt)," | ",t.alertType,": ",(0,c.clip)(t.message,180)]},t.id))]}),(0,h.jsx)(u.default,{style:w.systemGrid,children:ue.map(t=>{const o=(0,c.statusColor)(e,t.status);return(0,h.jsxs)(u.default,{style:[w.systemCard,{borderColor:e.border,backgroundColor:e.panel}],children:[(0,h.jsxs)(u.default,{style:w.rowBetween,children:[(0,h.jsx)(s.default,{style:[w.systemTitle,{color:e.text,fontFamily:e.fontSans}],children:t.name}),(0,h.jsx)(u.default,{style:[w.statusPill,{backgroundColor:`${o}22`,borderColor:`${o}66`}],children:(0,h.jsx)(s.default,{style:[w.statusPillText,{color:o,fontFamily:e.fontSans}],children:t.status})})]}),(0,h.jsx)(s.default,{style:[w.systemDetail,{color:e.textMuted,fontFamily:e.fontSans}],children:t.detail}),(0,h.jsx)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:t.ts?`updated ${(0,c.prettyTs)(t.ts)}`:"no timestamp"})]},t.name)})}),(0,h.jsxs)(u.default,{style:[w.insightPanel,{borderColor:e.border,backgroundColor:e.panel}],children:[(0,h.jsxs)(u.default,{style:w.rowBetween,children:[(0,h.jsx)(s.default,{style:[w.sectionTitle,{color:e.text,fontFamily:e.fontSans}],children:"Connected Clients"}),(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:[O?.connected??0," connected / ",O?.total??0," tracked"]})]}),(0,h.jsx)(s.default,{style:[w.systemDetail,{color:e.textMuted,fontFamily:e.fontSans}],children:ae}),0===se.length?(0,h.jsx)(s.default,{style:[w.emptySubtitle,{color:e.textMuted,fontFamily:e.fontSans}],children:"No client interfaces have registered yet."}):(0,h.jsx)(u.default,{style:w.systemGrid,children:se.map(t=>{const o=(0,c.statusColor)(e,t.status),n=t.connectedTransports.length>0?t.connectedTransports.join(", "):"no live transport";return(0,h.jsxs)(u.default,{style:[w.systemCard,{borderColor:e.border,backgroundColor:e.panelAlt}],children:[(0,h.jsxs)(u.default,{style:w.rowBetween,children:[(0,h.jsx)(s.default,{style:[w.systemTitle,{color:e.text,fontFamily:e.fontSans}],children:t.label||t.kind}),(0,h.jsx)(u.default,{style:[w.statusPill,{backgroundColor:`${o}22`,borderColor:`${o}66`}],children:(0,h.jsx)(s.default,{style:[w.statusPillText,{color:o,fontFamily:e.fontSans}],children:t.status})})]}),(0,h.jsxs)(s.default,{style:[w.systemDetail,{color:e.textMuted,fontFamily:e.fontSans}],children:[t.kind," | session ",t.sessionId]}),(0,h.jsx)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontMono}],children:n}),t.version||t.platform?(0,h.jsx)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:[t.version,t.platform].filter(Boolean).join(" | ")}):null,t.repoRoot?(0,h.jsx)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:(0,c.clip)(t.repoRoot,120)}):null,(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:["last seen ",(0,c.relativeMs)(t.lastSeenAt)]})]},t.clientId)})})]}),(0,h.jsxs)(u.default,{style:[w.insightPanel,{borderColor:e.border,backgroundColor:e.panel}],children:[(0,h.jsxs)(u.default,{style:w.rowBetween,children:[(0,h.jsx)(s.default,{style:[w.sectionTitle,{color:e.text,fontFamily:e.fontSans}],children:"Autonomy Source Curation"}),(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:[k.engineSourceStats.length," tracked"]})]}),(0,h.jsxs)(u.default,{style:w.insightColumns,children:[(0,h.jsxs)(u.default,{style:w.insightCol,children:[(0,h.jsx)(s.default,{style:[w.insightSectionTitle,{color:e.positive,fontFamily:e.fontSans}],children:"Trusted Shortlist"}),0===Q.length?(0,h.jsx)(s.default,{style:[w.emptySubtitle,{color:e.textMuted,fontFamily:e.fontSans}],children:"No trusted sources yet."}):Q.map(t=>(0,h.jsxs)(u.default,{style:[w.insightRow,{borderColor:e.border}],children:[(0,h.jsx)(s.default,{style:[w.insightLabel,{color:e.text,fontFamily:e.fontSans}],children:t.sourceLabel||t.algorithm}),(0,h.jsxs)(s.default,{style:[w.insightMeta,{color:e.textMuted,fontFamily:e.fontMono}],children:["trust ",t.trustScore.toFixed(2)," | fresh ",t.freshnessScore.toFixed(2)," | samples ",t.sampleCount]}),t.curationReason?(0,h.jsx)(s.default,{style:[w.insightReason,{color:e.textMuted,fontFamily:e.fontSans}],children:t.curationReason}):null]},`trusted-${t.sourceKey}`))]}),(0,h.jsxs)(u.default,{style:w.insightCol,children:[(0,h.jsx)(s.default,{style:[w.insightSectionTitle,{color:e.warning,fontFamily:e.fontSans}],children:"Archived Sources"}),0===X.length?(0,h.jsx)(s.default,{style:[w.emptySubtitle,{color:e.textMuted,fontFamily:e.fontSans}],children:"No archived sources."}):X.map(t=>(0,h.jsxs)(u.default,{style:[w.insightRow,{borderColor:e.border}],children:[(0,h.jsx)(s.default,{style:[w.insightLabel,{color:e.text,fontFamily:e.fontSans}],children:t.sourceLabel||t.algorithm}),(0,h.jsxs)(s.default,{style:[w.insightMeta,{color:e.textMuted,fontFamily:e.fontMono}],children:["trust ",t.trustScore.toFixed(2)," | fresh ",t.freshnessScore.toFixed(2)," | samples ",t.sampleCount]}),t.curationReason?(0,h.jsx)(s.default,{style:[w.insightReason,{color:e.textMuted,fontFamily:e.fontSans}],children:t.curationReason}):null]},`archived-${t.sourceKey}`))]})]})]}),(0,h.jsxs)(u.default,{style:[w.questionPanel,{borderColor:e.border,backgroundColor:e.panel}],children:[(0,h.jsxs)(u.default,{style:w.rowBetween,children:[(0,h.jsx)(s.default,{style:[w.sectionTitle,{color:e.text,fontFamily:e.fontSans}],children:"Autonomy Questions"}),(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:[te," actionable / ",T.length," total"]})]}),0===ne.length?(0,h.jsx)(s.default,{style:[w.emptySubtitle,{color:e.textMuted,fontFamily:e.fontSans}],children:"No autonomy questions available yet."}):ne.map(t=>{const n="open"===t.status||"invalid"===t.status,l="answered"===t.status?e.positive:"invalid"===t.status?e.warning:"closed"===t.status?e.textMuted:e.accent,f=v[t.id],y=Boolean(F[t.id]),x=A[t.id],b=Boolean(B[t.id]),S=p(t.expectedAnswerSchema,260),j=p(t.context,260),C=p(t.answer,260),M="number"==typeof t.expiresInMs&&Number.isFinite(t.expiresInMs)?t.expiresInMs:(()=>{const e=Date.parse(t.expiresAt);return Number.isFinite(e)?Math.max(0,e-Date.now()):null})(),k=Boolean(t.isExpired)||"number"==typeof M&&M<=0,T=!k&&"number"==typeof M&&M<=9e5,R=k?e.danger:T?e.warning:e.textMuted;return(0,h.jsxs)(u.default,{style:[w.questionRow,{borderColor:e.border}],children:[(0,h.jsxs)(u.default,{style:w.rowBetween,children:[(0,h.jsx)(s.default,{style:[w.questionTitle,{color:e.text,fontFamily:e.fontSans}],children:t.question||"Untitled question"}),(0,h.jsx)(u.default,{style:[w.statusPill,{backgroundColor:`${l}22`,borderColor:`${l}66`}],children:(0,h.jsx)(s.default,{style:[w.statusPillText,{color:l,fontFamily:e.fontSans}],children:t.status})})]}),(0,h.jsxs)(s.default,{style:[w.questionMeta,{color:e.textMuted,fontFamily:e.fontMono}],children:[t.id.slice(0,8)," | type ",t.questionType||"unknown"," | objective"," ",t.objectiveId.slice(0,8)||"--"]}),(0,h.jsxs)(s.default,{style:[w.questionMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:["created ",(0,c.prettyTs)(t.createdAt)," | expires"," ",t.expiresAt?(0,c.prettyTs)(t.expiresAt):"--"]}),(0,h.jsx)(s.default,{style:[w.questionMeta,{color:R,fontFamily:e.fontSans}],children:k?"expired":T?`expires soon (${(0,c.formatDuration)(M)})`:"number"==typeof M?`expires in ${(0,c.formatDuration)(M)}`:"expiry unknown"}),S?(0,h.jsxs)(s.default,{style:[w.questionDetail,{color:e.textMuted,fontFamily:e.fontSans}],children:["expected: ",S]}):null,j&&"{}"!==j?(0,h.jsxs)(s.default,{style:[w.questionDetail,{color:e.textMuted,fontFamily:e.fontSans}],children:["context: ",j]}):null,t.validationError?(0,h.jsxs)(s.default,{style:[w.questionValidation,{color:e.warning,fontFamily:e.fontSans}],children:["validation: ",t.validationError]}):null,C?(0,h.jsxs)(s.default,{style:[w.questionDetail,{color:e.textMuted,fontFamily:e.fontSans}],children:["answer: ",C]}):null,n?(0,h.jsxs)(u.default,{style:w.questionActionRow,children:[(0,h.jsx)(a.default,{style:[w.questionInput,{borderColor:e.border,backgroundColor:e.panelAlt,color:e.text,fontFamily:e.fontMono}],multiline:!0,placeholder:"Answer as plain text or JSON",placeholderTextColor:e.textMuted,value:Z[t.id]??"",onChangeText:e=>ee(o=>({...o,[t.id]:e}))}),(0,h.jsx)(o.default,{style:[w.answerButton,{borderColor:e.border,backgroundColor:y?e.panelAlt:e.accentSoft,opacity:y?.7:1}],disabled:y,onPress:()=>{ie(t)},children:(0,h.jsx)(s.default,{style:[w.answerButtonText,{color:e.accentText,fontFamily:e.fontSans}],children:y?"Submitting...":"Submit Answer"})}),(0,h.jsxs)(u.default,{style:w.questionSecondaryActions,children:[(0,h.jsx)(o.default,{style:[w.miniActionButton,{borderColor:e.border,backgroundColor:b?e.panelAlt:`${e.warning}22`,opacity:b?.7:1}],disabled:b,onPress:()=>{de(t,"skip")},children:(0,h.jsx)(s.default,{style:[w.miniActionText,{color:e.warning,fontFamily:e.fontSans}],children:"Skip"})}),(0,h.jsx)(o.default,{style:[w.miniActionButton,{borderColor:e.border,backgroundColor:b?e.panelAlt:`${e.textMuted}22`,opacity:b?.7:1}],disabled:b,onPress:()=>{de(t,"close")},children:(0,h.jsx)(s.default,{style:[w.miniActionText,{color:e.textMuted,fontFamily:e.fontSans}],children:"Close"})}),(0,h.jsx)(o.default,{style:[w.miniActionButton,{borderColor:e.border,backgroundColor:b?e.panelAlt:`${e.danger}22`,opacity:b?.7:1}],disabled:b,onPress:()=>{de(t,"escalate")},children:(0,h.jsx)(s.default,{style:[w.miniActionText,{color:e.danger,fontFamily:e.fontSans}],children:"Escalate"})})]})]}):null,f?(0,h.jsxs)(u.default,{style:[w.answerResult,{borderColor:e.border,backgroundColor:f.ok?"invalid"===f.status?`${e.warning}22`:`${e.positive}22`:`${e.danger}22`}],children:[(0,h.jsx)(s.default,{style:[w.answerResultLine,{color:f.ok?e.text:e.danger,fontFamily:e.fontSans}],children:f.ok?`answer ${f.status??"accepted"}`:`answer failed: ${f.reason??"unknown error"}`}),f.reason&&f.ok?(0,h.jsx)(s.default,{style:[w.answerResultLine,{color:e.textMuted,fontFamily:e.fontSans}],children:f.reason}):null,f.resumedRequestId?(0,h.jsxs)(s.default,{style:[w.answerResultLine,{color:e.textMuted,fontFamily:e.fontMono}],children:["resumed request ",f.resumedRequestId]}):null,f.resumeError?(0,h.jsxs)(s.default,{style:[w.answerResultLine,{color:e.danger,fontFamily:e.fontSans}],children:["resume error: ",f.resumeError]}):null]}):null,x?(0,h.jsx)(u.default,{style:[w.answerResult,{borderColor:e.border,backgroundColor:x.ok?`${e.positive}22`:`${e.danger}22`}],children:(0,h.jsx)(s.default,{style:[w.answerResultLine,{color:x.ok?e.text:e.danger,fontFamily:e.fontSans}],children:x.ok?`action ${x.action??"applied"}`:`action failed: ${x.reason??"unknown error"}`})}):null]},t.id)})]}),(0,h.jsxs)(u.default,{style:[w.workerPanel,{borderColor:e.border,backgroundColor:e.panel}],children:[(0,h.jsx)(s.default,{style:[w.sectionTitle,{color:e.text,fontFamily:e.fontSans}],children:"Worker Fleet"}),0===C.length?(0,h.jsx)(s.default,{style:[w.emptySubtitle,{color:e.textMuted,fontFamily:e.fontSans}],children:"No workers reported yet."}):C.map(t=>{const o=(0,c.statusColor)(e,t.status);return(0,h.jsxs)(u.default,{style:[w.workerRow,{borderColor:e.border}],children:[(0,h.jsx)(u.default,{style:[w.jobDot,{backgroundColor:o}]}),(0,h.jsxs)(u.default,{style:w.workerTextCol,children:[(0,h.jsx)(s.default,{style:[w.workerName,{color:e.text,fontFamily:e.fontSans}],children:t.workerId}),(0,h.jsxs)(s.default,{style:[w.workerMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:[t.status," | job ",t.currentJobId?.slice(0,8)??"--"," | heartbeat"," ",(0,c.relativeMs)(t.lastHeartbeat)]})]})]},t.workerId)})]}),(0,h.jsxs)(u.default,{style:[w.eventPanel,{borderColor:e.border,backgroundColor:e.panel}],children:[(0,h.jsxs)(u.default,{style:w.rowBetween,children:[(0,h.jsx)(s.default,{style:[w.sectionTitle,{color:e.text,fontFamily:e.fontSans}],children:"Recent Event Stream"}),(0,h.jsxs)(s.default,{style:[w.systemMeta,{color:e.textMuted,fontFamily:e.fontSans}],children:[H.length," latest"]})]}),0===H.length?(0,h.jsx)(s.default,{style:[w.emptySubtitle,{color:e.textMuted,fontFamily:e.fontSans}],children:"No events yet."}):H.map(t=>{const o=(0,c.statusColor)(e,t.type);return(0,h.jsxs)(u.default,{style:[w.eventRow,{borderColor:e.border}],children:[(0,h.jsxs)(u.default,{style:w.eventMain,children:[(0,h.jsxs)(s.default,{style:[w.eventMeta,{color:e.textMuted,fontFamily:e.fontMono}],children:[(0,c.prettyTs)(t.ts)," | ",t.from??"unknown"]}),(0,h.jsx)(s.default,{style:[w.eventSummary,{color:e.text,fontFamily:e.fontSans}],children:x(t)})]}),(0,h.jsx)(u.default,{style:[w.statusPill,{backgroundColor:`${o}22`,borderColor:`${o}66`}],children:(0,h.jsx)(s.default,{style:[w.statusPillText,{color:o,fontFamily:e.fontSans}],children:t.type})})]},t.id)})]})]})};var t=r(d[0]),o=e(r(d[1])),n=e(r(d[2])),l=e(r(d[3])),s=e(r(d[4])),a=e(r(d[5])),u=e(r(d[6])),c=r(d[7]),f=r(d[8]),y=r(d[9]),h=r(d[10]);function x(e){const t=e.payload??{},o=["message","summary","title","detail","error","status","kind","jobId","taskId","requestId"];for(const e of o){const o=t[e];if("string"==typeof o&&o.trim())return(0,c.clip)(o,140)}return"object"==typeof t&&t&&Object.keys(t).length>0?(0,c.clip)(JSON.stringify(t),140):"No payload details"}function p(e,t=320){if(null==e)return"";if("string"==typeof e)return(0,c.clip)(e,t);if("number"==typeof e||"boolean"==typeof e)return String(e);try{return(0,c.clip)(JSON.stringify(e),t)}catch{return(0,c.clip)(String(e),t)}}function b(e){const t=e.trim().toLowerCase();return"localbuddy"===t?"LocalBuddy":"remotebuddy"===t?"RemoteBuddy":"workerpals"===t?"WorkerPals":e||"Unknown"}function S(e){const t=e.expectedAnswerSchema??{};if("single_choice"===e.questionType){const e=(Array.isArray(t.choices)?t.choices:[]).find(e=>"string"==typeof e&&e.trim());return"string"==typeof e?e:""}if("multi_choice"===e.questionType){const e=(Array.isArray(t.choices)?t.choices:[]).find(e=>"string"==typeof e&&e.trim());return"string"==typeof e?JSON.stringify([e]):"[]"}if("json_payload"===e.questionType){const e=Array.isArray(t.required_keys)?t.required_keys:[],o={};for(const t of e)"string"==typeof t&&t.trim()&&(o[t]="");return Object.keys(o).length>0?JSON.stringify(o,null,2):"{}"}return""}const w=l.default.create({fill:{flex:1},content:{paddingHorizontal:20,paddingBottom:18},metricRow:{flexDirection:"row",flexWrap:"wrap",paddingBottom:10},sectionTitle:{fontSize:16,fontWeight:"700",marginBottom:8},rowBetween:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},statusPill:{borderWidth:1,borderRadius:999,paddingHorizontal:9,paddingVertical:3},statusPillText:{fontSize:11,fontWeight:"700",textTransform:"uppercase"},emptySubtitle:{fontSize:13,lineHeight:19},systemGrid:{flexDirection:"row",flexWrap:"wrap",marginBottom:6},systemCard:{width:"48%",minWidth:240,borderWidth:1,borderRadius:14,padding:11,marginRight:8,marginBottom:8},systemTitle:{fontSize:14,fontWeight:"700"},tokenValue:{fontSize:24,fontWeight:"700",marginTop:6},systemDetail:{fontSize:12,marginTop:7},systemMeta:{fontSize:11,marginTop:5},workerPanel:{borderWidth:1,borderRadius:16,padding:12,marginBottom:10},insightPanel:{borderWidth:1,borderRadius:16,padding:12,marginBottom:10},safetyPanel:{borderWidth:1,borderRadius:16,padding:12,marginBottom:10},questionPanel:{borderWidth:1,borderRadius:16,padding:12,marginBottom:10},insightColumns:{flexDirection:"row",flexWrap:"wrap",gap:10},insightCol:{flex:1,minWidth:280},insightSectionTitle:{fontSize:13,fontWeight:"700",marginBottom:6},insightRow:{borderWidth:1,borderRadius:10,paddingHorizontal:10,paddingVertical:8,marginBottom:8},insightLabel:{fontSize:13,fontWeight:"700"},insightMeta:{fontSize:11,marginTop:3},insightReason:{fontSize:12,marginTop:5,lineHeight:17},questionRow:{borderWidth:1,borderRadius:12,paddingHorizontal:10,paddingVertical:9,marginBottom:8},questionTitle:{flex:1,fontSize:13,fontWeight:"700",marginRight:8},questionMeta:{fontSize:11,marginTop:3},questionDetail:{fontSize:12,marginTop:4,lineHeight:17},questionValidation:{fontSize:12,marginTop:4,lineHeight:17,fontWeight:"600"},questionActionRow:{marginTop:7},questionSecondaryActions:{marginTop:7,flexDirection:"row",flexWrap:"wrap",gap:6},questionInput:{borderWidth:1,borderRadius:10,paddingHorizontal:10,paddingVertical:8,minHeight:70,textAlignVertical:"top",fontSize:12},answerButton:{marginTop:7,alignSelf:"flex-start",borderWidth:1,borderRadius:9,paddingHorizontal:11,paddingVertical:7},answerButtonText:{fontSize:11,fontWeight:"700",textTransform:"uppercase",letterSpacing:.3},miniActionButton:{borderWidth:1,borderRadius:8,paddingHorizontal:10,paddingVertical:6},miniActionText:{fontSize:10,fontWeight:"700",textTransform:"uppercase",letterSpacing:.3},safetyActionsRow:{flexDirection:"row",flexWrap:"wrap",gap:8,marginTop:8,marginBottom:4},answerResult:{marginTop:7,borderWidth:1,borderRadius:10,paddingHorizontal:9,paddingVertical:7},answerResultLine:{fontSize:11,lineHeight:16},workerRow:{flexDirection:"row",alignItems:"center",borderBottomWidth:1,paddingVertical:9},jobDot:{width:8,height:8,borderRadius:4,marginRight:10},workerTextCol:{flex:1},workerName:{fontSize:13,fontWeight:"700"},workerMeta:{fontSize:12,marginTop:2},eventPanel:{borderWidth:1,borderRadius:16,padding:12,marginBottom:10},eventRow:{flexDirection:"row",alignItems:"flex-start",justifyContent:"space-between",borderBottomWidth:1,paddingVertical:8,gap:8},eventMain:{flex:1},eventMeta:{fontSize:11},eventSummary:{fontSize:13,marginTop:2,lineHeight:18}})},1025,[21,417,317,136,123,427,310,1014,1015,1026,2]);
1037
1037
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.isHeartbeatStatusSessionEvent=s,e.shouldDisplayInteractiveSessionEvent=function(t){return!s(t)};const t=/\bheartbeat\b/i;function s(s){if("status"!==String(s?.type??"").trim().toLowerCase())return!1;const n=s?.payload??{},o="string"==typeof n.detail?n.detail.trim():"",u="string"==typeof n.message?n.message.trim():"";return t.test(o)||t.test(u)}},1026,[]);
1038
- __d(function(g,r,i,_a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.ConfigPane=function({baseUrl:e,authToken:l,theme:C}){const[S,j]=(0,t.useState)(!1),[k,v]=(0,t.useState)(!1),[w,F]=(0,t.useState)(null),[R,T]=(0,t.useState)(null),[M,A]=(0,t.useState)(null),[z,W]=(0,t.useState)({}),[L,P]=(0,t.useState)("toml"),[$,H]=(0,t.useState)(""),[V,_]=(0,t.useState)(""),[B,D]=(0,t.useState)(""),[E,O]=(0,t.useState)(!0),q=(0,t.useCallback)(async()=>{j(!0),F(null),T(null);const t=await(0,f.fetchRuntimeConfig)(e,l);if(!t)return F("Failed to load runtime config. Check auth token/server."),void j(!1);A(t.config),W(t.files??{}),j(!1)},[l,e]),I=Boolean(M&&"object"==typeof M&&M.localbuddy&&"object"==typeof M.localbuddy&&M.localbuddy.enabled),N=(0,t.useCallback)(async()=>{const t=$.trim();if(t){v(!0),F(null),T(null);try{const o="env"===L?V:h(V,E),n={scope:L,key:t,value:o},a=await(0,f.updateRuntimeConfig)(e,[n],l);if(!a)return F("Failed to update runtime config."),void v(!1);A(a.config),W(a.files??{});const s=a.warnings.length>0?` Warnings: ${a.warnings.join(" | ")}`:"",u=a.restartRequired?" Restart required for some keys.":"";T(`Applied ${a.applied.length} update(s).${u}${s}`)}catch(e){const t=e instanceof Error?e.message:String(e);F(`Invalid value format: ${t}`)}finally{v(!1)}}else F("Key is required.")},[l,e,$,E,L,V]),U=(0,t.useCallback)(async()=>{v(!0),F(null),T(null);try{const t=await(0,f.updateRuntimeConfig)(e,[{scope:"toml",key:"localbuddy.enabled",value:!I}],l);if(!t)return F("Failed to update runtime config."),void v(!1);A(t.config),W(t.files??{});const o=t.warnings.length>0?` Warnings: ${t.warnings.join(" | ")}`:"";T(`LocalBuddy ${I?"disabled":"enabled"}.${t.restartRequired?" Restart required for some keys.":" Applies live when managed by bun run start or the VS Code stack manager."}${o}`)}finally{v(!1)}},[l,e,I]),J=(0,t.useMemo)(()=>{const e=p(M??{}),t=B.trim().toLowerCase();return t?e.filter(e=>e.key.toLowerCase().includes(t)).sort((e,t)=>e.key.localeCompare(t.key)):e.sort((e,t)=>e.key.localeCompare(t.key))},[M,B]);return(0,t.useEffect)(()=>{q()},[q]),(0,y.jsxs)(c.default,{style:x.container,children:[(0,y.jsxs)(c.default,{style:[x.headerCard,{backgroundColor:C.panel,borderColor:C.border}],children:[(0,y.jsx)(s.default,{style:[x.title,{color:C.text,fontFamily:C.fontSans}],children:"Runtime Config"}),(0,y.jsxs)(s.default,{style:[x.meta,{color:C.textMuted,fontFamily:C.fontSans}],children:["env: ",z.envPath??"--"," | local.toml: ",z.localTomlPath??"--"]}),(0,y.jsxs)(c.default,{style:x.row,children:[(0,y.jsx)(o.default,{onPress:q,style:[x.button,{backgroundColor:C.panelAlt,borderColor:C.border},S&&x.buttonDisabled],disabled:S,children:(0,y.jsx)(s.default,{style:[x.buttonText,{color:C.text,fontFamily:C.fontSans}],children:S?"Loading...":"Reload"})}),(0,y.jsx)(o.default,{onPress:U,style:[x.button,{backgroundColor:I?C.accentSoft:C.panelAlt,borderColor:I?C.accent:C.border},k&&x.buttonDisabled],disabled:k||S||!M,children:(0,y.jsx)(s.default,{style:[x.buttonText,{color:I?C.accentText:C.text,fontFamily:C.fontSans}],children:k?"Applying...":I?"Disable LocalBuddy":"Enable LocalBuddy"})})]}),R?(0,y.jsx)(s.default,{style:[x.notice,{color:C.positive,fontFamily:C.fontSans}],children:R}):null,w?(0,y.jsx)(s.default,{style:[x.notice,{color:C.danger,fontFamily:C.fontSans}],children:w}):null]}),(0,y.jsxs)(c.default,{style:[x.editorCard,{backgroundColor:C.panel,borderColor:C.border}],children:[(0,y.jsx)(s.default,{style:[x.label,{color:C.textMuted,fontFamily:C.fontSans}],children:"Update"}),(0,y.jsxs)(c.default,{style:x.row,children:[(0,y.jsx)(o.default,{onPress:()=>P("toml"),style:[x.scopeButton,{backgroundColor:"toml"===L?C.accentSoft:C.panelAlt,borderColor:"toml"===L?C.accent:C.border}],children:(0,y.jsx)(s.default,{style:[x.scopeText,{color:"toml"===L?C.accentText:C.textMuted,fontFamily:C.fontSans}],children:"TOML"})}),(0,y.jsx)(o.default,{onPress:()=>P("env"),style:[x.scopeButton,{backgroundColor:"env"===L?C.accentSoft:C.panelAlt,borderColor:"env"===L?C.accent:C.border}],children:(0,y.jsx)(s.default,{style:[x.scopeText,{color:"env"===L?C.accentText:C.textMuted,fontFamily:C.fontSans}],children:"ENV"})}),(0,y.jsxs)(c.default,{style:x.switchWrap,children:[(0,y.jsx)(s.default,{style:[x.switchLabel,{color:C.textMuted,fontFamily:C.fontSans}],children:"JSON parse"}),(0,y.jsx)(a.default,{value:E,onValueChange:O})]})]}),(0,y.jsx)(u.default,{value:$,onChangeText:H,placeholder:"env"===L?"PUSHPALS_SERVER_URL":"remotebuddy.autonomy.tick_interval_ms",placeholderTextColor:C.textMuted,style:[x.input,{color:C.text,backgroundColor:C.panelAlt,borderColor:C.border,fontFamily:C.fontMono}],autoCapitalize:"none"}),(0,y.jsx)(u.default,{value:V,onChangeText:_,placeholder:E?"\"string\" | 120000 | true | [1,2]":"raw string",placeholderTextColor:C.textMuted,style:[x.input,x.valueInput,{color:C.text,backgroundColor:C.panelAlt,borderColor:C.border,fontFamily:C.fontMono}],autoCapitalize:"none",multiline:!0}),(0,y.jsx)(c.default,{style:x.row,children:(0,y.jsx)(o.default,{onPress:N,style:[x.button,{backgroundColor:C.accentSoft,borderColor:C.accent},k&&x.buttonDisabled],disabled:k,children:(0,y.jsx)(s.default,{style:[x.buttonText,{color:C.accentText,fontFamily:C.fontSans}],children:k?"Applying...":"Apply"})})})]}),(0,y.jsxs)(c.default,{style:[x.listCard,{backgroundColor:C.panel,borderColor:C.border}],children:[(0,y.jsx)(u.default,{value:B,onChangeText:D,placeholder:"Filter keys...",placeholderTextColor:C.textMuted,style:[x.input,{color:C.text,backgroundColor:C.panelAlt,borderColor:C.border,fontFamily:C.fontSans}],autoCapitalize:"none"}),(0,y.jsxs)(n.default,{style:x.list,contentContainerStyle:x.listContent,children:[J.slice(0,300).map(e=>(0,y.jsxs)(o.default,{onPress:()=>{P("toml"),H(e.key),_(b(e.value))},style:[x.entryRow,{borderColor:C.border}],children:[(0,y.jsx)(s.default,{style:[x.entryKey,{color:C.text,fontFamily:C.fontMono}],children:e.key}),(0,y.jsx)(s.default,{style:[x.entryValue,{color:C.textMuted,fontFamily:C.fontMono}],children:b(e.value)})]},e.key)),J.length>300?(0,y.jsx)(s.default,{style:[x.meta,{color:C.textMuted,fontFamily:C.fontSans}],children:"Showing first 300 keys. Use filter to narrow further."}):null,0===J.length?(0,y.jsx)(s.default,{style:[x.meta,{color:C.textMuted,fontFamily:C.fontSans}],children:"No keys matched."}):null]})]})]})};var t=r(d[0]),o=e(r(d[1])),n=e(r(d[2])),l=e(r(d[3])),a=e(r(d[4])),s=e(r(d[5])),u=e(r(d[6])),c=e(r(d[7])),f=r(d[8]),y=r(d[9]);function p(e,t=""){if(!e||"object"!=typeof e||Array.isArray(e))return t?[{key:t,value:e}]:[];const o=[];for(const[n,l]of Object.entries(e)){const e=t?`${t}.${n}`:n;!l||"object"!=typeof l||Array.isArray(l)?o.push({key:e,value:l}):o.push(...p(l,e))}return o}function b(e){if("string"==typeof e)return e;const t=JSON.stringify(e);return void 0===t?String(e):t}function h(e,t){if(!t)return e;const o=e.trim();return o?JSON.parse(o):""}const x=l.default.create({container:{flex:1,minHeight:0,paddingHorizontal:20,paddingBottom:20,gap:10},headerCard:{borderWidth:1,borderRadius:14,padding:12,gap:6},editorCard:{borderWidth:1,borderRadius:14,padding:12,gap:8},listCard:{borderWidth:1,borderRadius:14,padding:12,flex:1,minHeight:0,gap:8},title:{fontSize:18,fontWeight:"700"},meta:{fontSize:12},label:{fontSize:12,fontWeight:"700",textTransform:"uppercase",letterSpacing:.8},row:{flexDirection:"row",alignItems:"center",gap:8,flexWrap:"wrap"},scopeButton:{borderWidth:1,borderRadius:8,paddingHorizontal:10,paddingVertical:6},scopeText:{fontSize:12,fontWeight:"700"},switchWrap:{flexDirection:"row",alignItems:"center",marginLeft:"auto",gap:6},switchLabel:{fontSize:12},input:{borderWidth:1,borderRadius:8,paddingHorizontal:10,paddingVertical:8,fontSize:12},valueInput:{minHeight:72,textAlignVertical:"top"},button:{borderWidth:1,borderRadius:8,paddingHorizontal:12,paddingVertical:8},buttonDisabled:{opacity:.65},buttonText:{fontSize:12,fontWeight:"700"},notice:{fontSize:12,lineHeight:18},list:{flex:1,minHeight:0},listContent:{gap:6,paddingBottom:6},entryRow:{borderWidth:1,borderRadius:8,padding:8,gap:4},entryKey:{fontSize:11},entryValue:{fontSize:11}})},1027,[21,417,317,136,425,123,427,310,1028,2]);
1038
+ __d(function(g,r,i,_a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.ConfigPane=function({baseUrl:e,authToken:l,theme:C}){const[S,j]=(0,t.useState)(!1),[k,v]=(0,t.useState)(!1),[w,F]=(0,t.useState)(null),[R,T]=(0,t.useState)(null),[M,A]=(0,t.useState)(null),[z,W]=(0,t.useState)({}),[L,P]=(0,t.useState)("toml"),[$,H]=(0,t.useState)(""),[V,_]=(0,t.useState)(""),[B,D]=(0,t.useState)(""),[E,O]=(0,t.useState)(!0),q=(0,t.useCallback)(async()=>{j(!0),F(null),T(null);const t=await(0,f.fetchRuntimeConfig)(e,l);if(!t)return F("Failed to load runtime config. Check auth token/server."),void j(!1);A(t.config),W(t.files??{}),j(!1)},[l,e]),I=Boolean(M&&"object"==typeof M&&M.localbuddy&&"object"==typeof M.localbuddy&&M.localbuddy.enabled),N=(0,t.useCallback)(async()=>{const t=$.trim();if(t){v(!0),F(null),T(null);try{const o="env"===L?V:h(V,E),n={scope:L,key:t,value:o},a=await(0,f.updateRuntimeConfig)(e,[n],l);if(!a)return F("Failed to update runtime config."),void v(!1);A(a.config),W(a.files??{});const s=a.warnings.length>0?` Warnings: ${a.warnings.join(" | ")}`:"",u=a.restartRequired?" Restart required for some keys.":"";T(`Applied ${a.applied.length} update(s).${u}${s}`)}catch(e){const t=e instanceof Error?e.message:String(e);F(`Invalid value format: ${t}`)}finally{v(!1)}}else F("Key is required.")},[l,e,$,E,L,V]),U=(0,t.useCallback)(async()=>{v(!0),F(null),T(null);try{const t=await(0,f.updateRuntimeConfig)(e,[{scope:"toml",key:"localbuddy.enabled",value:!I}],l);if(!t)return F("Failed to update runtime config."),void v(!1);A(t.config),W(t.files??{});const o=t.warnings.length>0?` Warnings: ${t.warnings.join(" | ")}`:"";T(`LocalBuddy ${I?"disabled":"enabled"}.${t.restartRequired?" Restart required for some keys.":" Applies live when managed by bun run start or the VS Code stack manager."}${o}`)}finally{v(!1)}},[l,e,I]),J=(0,t.useMemo)(()=>{const e=p(M??{}),t=B.trim().toLowerCase();return t?e.filter(e=>e.key.toLowerCase().includes(t)).sort((e,t)=>e.key.localeCompare(t.key)):e.sort((e,t)=>e.key.localeCompare(t.key))},[M,B]);return(0,t.useEffect)(()=>{q()},[q]),(0,y.jsxs)(c.default,{style:x.container,children:[(0,y.jsxs)(c.default,{style:[x.headerCard,{backgroundColor:C.panel,borderColor:C.border}],children:[(0,y.jsx)(s.default,{style:[x.title,{color:C.text,fontFamily:C.fontSans}],children:"Runtime Config"}),(0,y.jsxs)(s.default,{style:[x.meta,{color:C.textMuted,fontFamily:C.fontSans}],children:["env: ",z.envPath??"--"," | local.toml: ",z.localTomlPath??"--"]}),(0,y.jsxs)(c.default,{style:x.row,children:[(0,y.jsx)(o.default,{onPress:q,style:[x.button,{backgroundColor:C.panelAlt,borderColor:C.border},S&&x.buttonDisabled],disabled:S,children:(0,y.jsx)(s.default,{style:[x.buttonText,{color:C.text,fontFamily:C.fontSans}],children:S?"Loading...":"Reload"})}),(0,y.jsx)(o.default,{onPress:U,style:[x.button,{backgroundColor:I?C.accentSoft:C.panelAlt,borderColor:I?C.accent:C.border},k&&x.buttonDisabled],disabled:k||S||!M,children:(0,y.jsx)(s.default,{style:[x.buttonText,{color:I?C.accentText:C.text,fontFamily:C.fontSans}],children:k?"Applying...":I?"Disable LocalBuddy":"Enable LocalBuddy"})})]}),R?(0,y.jsx)(s.default,{style:[x.notice,{color:C.positive,fontFamily:C.fontSans}],children:R}):null,w?(0,y.jsx)(s.default,{style:[x.notice,{color:C.danger,fontFamily:C.fontSans}],children:w}):null]}),(0,y.jsxs)(c.default,{style:[x.editorCard,{backgroundColor:C.panel,borderColor:C.border}],children:[(0,y.jsx)(s.default,{style:[x.label,{color:C.textMuted,fontFamily:C.fontSans}],children:"Update"}),(0,y.jsxs)(c.default,{style:x.row,children:[(0,y.jsx)(o.default,{onPress:()=>P("toml"),style:[x.scopeButton,{backgroundColor:"toml"===L?C.accentSoft:C.panelAlt,borderColor:"toml"===L?C.accent:C.border}],children:(0,y.jsx)(s.default,{style:[x.scopeText,{color:"toml"===L?C.accentText:C.textMuted,fontFamily:C.fontSans}],children:"TOML"})}),(0,y.jsx)(o.default,{onPress:()=>P("env"),style:[x.scopeButton,{backgroundColor:"env"===L?C.accentSoft:C.panelAlt,borderColor:"env"===L?C.accent:C.border}],children:(0,y.jsx)(s.default,{style:[x.scopeText,{color:"env"===L?C.accentText:C.textMuted,fontFamily:C.fontSans}],children:"ENV"})}),(0,y.jsxs)(c.default,{style:x.switchWrap,children:[(0,y.jsx)(s.default,{style:[x.switchLabel,{color:C.textMuted,fontFamily:C.fontSans}],children:"JSON parse"}),(0,y.jsx)(a.default,{value:E,onValueChange:O})]})]}),(0,y.jsx)(u.default,{value:$,onChangeText:H,placeholder:"env"===L?"PUSHPALS_SERVER_URL":"remotebuddy.autonomy.tick_interval_ms",placeholderTextColor:C.textMuted,style:[x.input,{color:C.text,backgroundColor:C.panelAlt,borderColor:C.border,fontFamily:C.fontMono}],autoCapitalize:"none"}),(0,y.jsx)(u.default,{value:V,onChangeText:_,placeholder:E?'"string" | 120000 | true | [1,2]':"raw string",placeholderTextColor:C.textMuted,style:[x.input,x.valueInput,{color:C.text,backgroundColor:C.panelAlt,borderColor:C.border,fontFamily:C.fontMono}],autoCapitalize:"none",multiline:!0}),(0,y.jsx)(c.default,{style:x.row,children:(0,y.jsx)(o.default,{onPress:N,style:[x.button,{backgroundColor:C.accentSoft,borderColor:C.accent},k&&x.buttonDisabled],disabled:k,children:(0,y.jsx)(s.default,{style:[x.buttonText,{color:C.accentText,fontFamily:C.fontSans}],children:k?"Applying...":"Apply"})})})]}),(0,y.jsxs)(c.default,{style:[x.listCard,{backgroundColor:C.panel,borderColor:C.border}],children:[(0,y.jsx)(u.default,{value:B,onChangeText:D,placeholder:"Filter keys...",placeholderTextColor:C.textMuted,style:[x.input,{color:C.text,backgroundColor:C.panelAlt,borderColor:C.border,fontFamily:C.fontSans}],autoCapitalize:"none"}),(0,y.jsxs)(n.default,{style:x.list,contentContainerStyle:x.listContent,children:[J.slice(0,300).map(e=>(0,y.jsxs)(o.default,{onPress:()=>{P("toml"),H(e.key),_(b(e.value))},style:[x.entryRow,{borderColor:C.border}],children:[(0,y.jsx)(s.default,{style:[x.entryKey,{color:C.text,fontFamily:C.fontMono}],children:e.key}),(0,y.jsx)(s.default,{style:[x.entryValue,{color:C.textMuted,fontFamily:C.fontMono}],children:b(e.value)})]},e.key)),J.length>300?(0,y.jsx)(s.default,{style:[x.meta,{color:C.textMuted,fontFamily:C.fontSans}],children:"Showing first 300 keys. Use filter to narrow further."}):null,0===J.length?(0,y.jsx)(s.default,{style:[x.meta,{color:C.textMuted,fontFamily:C.fontSans}],children:"No keys matched."}):null]})]})]})};var t=r(d[0]),o=e(r(d[1])),n=e(r(d[2])),l=e(r(d[3])),a=e(r(d[4])),s=e(r(d[5])),u=e(r(d[6])),c=e(r(d[7])),f=r(d[8]),y=r(d[9]);function p(e,t=""){if(!e||"object"!=typeof e||Array.isArray(e))return t?[{key:t,value:e}]:[];const o=[];for(const[n,l]of Object.entries(e)){const e=t?`${t}.${n}`:n;!l||"object"!=typeof l||Array.isArray(l)?o.push({key:e,value:l}):o.push(...p(l,e))}return o}function b(e){if("string"==typeof e)return e;const t=JSON.stringify(e);return void 0===t?String(e):t}function h(e,t){if(!t)return e;const o=e.trim();return o?JSON.parse(o):""}const x=l.default.create({container:{flex:1,minHeight:0,paddingHorizontal:20,paddingBottom:20,gap:10},headerCard:{borderWidth:1,borderRadius:14,padding:12,gap:6},editorCard:{borderWidth:1,borderRadius:14,padding:12,gap:8},listCard:{borderWidth:1,borderRadius:14,padding:12,flex:1,minHeight:0,gap:8},title:{fontSize:18,fontWeight:"700"},meta:{fontSize:12},label:{fontSize:12,fontWeight:"700",textTransform:"uppercase",letterSpacing:.8},row:{flexDirection:"row",alignItems:"center",gap:8,flexWrap:"wrap"},scopeButton:{borderWidth:1,borderRadius:8,paddingHorizontal:10,paddingVertical:6},scopeText:{fontSize:12,fontWeight:"700"},switchWrap:{flexDirection:"row",alignItems:"center",marginLeft:"auto",gap:6},switchLabel:{fontSize:12},input:{borderWidth:1,borderRadius:8,paddingHorizontal:10,paddingVertical:8,fontSize:12},valueInput:{minHeight:72,textAlignVertical:"top"},button:{borderWidth:1,borderRadius:8,paddingHorizontal:12,paddingVertical:8},buttonDisabled:{opacity:.65},buttonText:{fontSize:12,fontWeight:"700"},notice:{fontSize:12,lineHeight:18},list:{flex:1,minHeight:0},listContent:{gap:6,paddingBottom:6},entryRow:{borderWidth:1,borderRadius:8,padding:8,gap:4},entryKey:{fontSize:11},entryValue:{fontSize:11}})},1027,[21,417,317,136,425,123,427,310,1028,2]);
1039
1039
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.buildSessionEventsUrl=o,e.buildSessionWebSocketUrl=s,e.buildSessionMessageUrl=c,e.subscribeEvents=function(t,n,o,s="auto",c=0,u,f){const S=l(s);return console.log(`[PushPals] Subscribing to session ${n} via ${S} (after=${c})`),"sse"===S?p(t,n,o,c,u,f):y(t,n,o,c,u,f)},e.createSession=async function(t,n,o,s){try{const c=await fetch(`${t}/sessions`,{method:"POST",headers:{"Content-Type":"application/json",...f(o)},body:JSON.stringify({...n?{sessionId:n}:{},...s?{client:s}:{}})});if(!c.ok)return console.error("Failed to create session:",c.status),null;const u=await c.json(),l=201===c.status;return u.sessionId&&"string"==typeof u.sessionId?{sessionId:u.sessionId,created:l}:null}catch(t){return console.error("Error creating session:",t),null}},e.sendSessionMessage=async function(t,n,o){try{const s=await fetch(c(t,n),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:o})});if(!s.ok){const t=await s.text().catch(()=>"");return console.error(`Error sending message: ${s.status} ${s.statusText}${t?` ${t}`:""}`),!1}return!0}catch(t){return console.error("Error sending message:",t),!1}},e.submitApprovalDecision=async function(t,n,o,s){try{return(await fetch(`${t}/approvals/${n}`,{method:"POST",headers:{"Content-Type":"application/json",...f(s)},body:JSON.stringify({decision:o})})).ok}catch(t){return console.error("Error submitting approval decision:",t),!1}},e.fetchWorkers=async function(t,n){try{const o=await fetch(`${t}/workers`,{headers:f(n)});if(!o.ok)return[];const s=await o.json();return Array.isArray(s.workers)?s.workers:[]}catch(t){return console.error("Error fetching workers:",t),[]}},e.fetchRequestsSnapshot=async function(t,n){try{const o=await fetch(`${t}/requests?limit=250`,{headers:f(n)});if(!o.ok)return{requests:[],counts:{},priorityCounts:{},pendingSnapshot:[]};const s=await o.json();return{requests:Array.isArray(s.requests)?s.requests:[],counts:s.counts??{},priorityCounts:s.priorityCounts??{},pendingSnapshot:Array.isArray(s.pendingSnapshot)?s.pendingSnapshot:[],slo:s.slo}}catch(t){return console.error("Error fetching requests snapshot:",t),{requests:[],counts:{},priorityCounts:{},pendingSnapshot:[]}}},e.fetchJobsSnapshot=async function(t,n){try{const o=await fetch(`${t}/jobs?limit=250`,{headers:f(n)});if(!o.ok)return{jobs:[],counts:{},priorityCounts:{},pendingSnapshot:[]};const s=await o.json();return{jobs:Array.isArray(s.jobs)?s.jobs:[],counts:s.counts??{},priorityCounts:s.priorityCounts??{},pendingSnapshot:Array.isArray(s.pendingSnapshot)?s.pendingSnapshot:[],slo:s.slo}}catch(t){return console.error("Error fetching jobs snapshot:",t),{jobs:[],counts:{},priorityCounts:{},pendingSnapshot:[]}}},e.fetchCompletionsSnapshot=async function(t,n){try{const o=await fetch(`${t}/completions?limit=250`,{headers:f(n)});if(!o.ok)return{completions:[],counts:{}};const s=await o.json();return{completions:Array.isArray(s.completions)?s.completions:[],counts:s.counts??{}}}catch(t){return console.error("Error fetching completions snapshot:",t),{completions:[],counts:{}}}},e.fetchSystemStatus=async function(t,n){try{const o=await fetch(`${t}/system/status`,{headers:f(n)});if(!o.ok)return{};const s=await o.json();return{workers:s.workers,queues:s.queues,slo:s.slo,llmUsage:s.llmUsage,autonomy:s.autonomy,repo:s.repo,runtime:s.runtime,clients:s.clients,ts:s.ts}}catch(t){return console.error("Error fetching system status:",t),{}}},e.fetchAutonomyInsights=async function(t,n,o=40){const s={engineSourceStats:[],trustedInspirationShortlist:[],archivedInspirationSources:[],latestEvaluatorScorecard:null,opsSummary:null};try{const c=new URLSearchParams({limit:String(Math.max(1,Math.min(200,Math.floor(o)))),feedbackLimit:"10"}),u=await fetch(`${t}/autonomy/insights?${c.toString()}`,{headers:f(n)});if(!u.ok)return s;const l=await u.json();if(!l.ok)return s;const p=l.latestEvaluatorScorecard&&"object"==typeof l.latestEvaluatorScorecard?l.latestEvaluatorScorecard:null,y=p?{id:String(p.id??""),windowHours:Number(p.windowHours??0),sampleCount:Number(p.sampleCount??0),successRate:Number.isFinite(Number(p.successRate))?Number(p.successRate):null,regretRate:Number.isFinite(Number(p.regretRate))?Number(p.regretRate):null,avgLatencyMs:Number.isFinite(Number(p.avgLatencyMs))?Number(p.avgLatencyMs):null,dispatchCount:Number(p.dispatchCount??0),recommendation:"pause"===String(p.recommendation??"").toLowerCase()?"pause":"constrain"===String(p.recommendation??"").toLowerCase()?"constrain":"healthy",createdAt:String(p.createdAt??"")}:null,S=l.opsSummary&&"object"==typeof l.opsSummary?l.opsSummary:null,h=S?{safetyState:{killSwitchEnabled:Boolean(S.safetyState?.killSwitchEnabled),freezeUntil:"string"==typeof S.safetyState?.freezeUntil?String(S.safetyState.freezeUntil):null,freezeReason:"string"==typeof S.safetyState?.freezeReason?String(S.safetyState.freezeReason):null,isFrozen:Boolean(S.safetyState?.isFrozen),updatedAt:"string"==typeof S.safetyState?.updatedAt?String(S.safetyState.updatedAt):null},latestEvaluatorScorecard:y,recentAlerts:Array.isArray(S.recentAlerts)?S.recentAlerts.filter(t=>t&&"object"==typeof t).map(t=>{const n=t,o=String(n.severity??"").toLowerCase();return{id:String(n.id??""),alertType:String(n.alertType??n.alert_type??"generic"),severity:"critical"===o?"critical":"warning"===o?"warning":"info",message:String(n.message??""),details:n.details&&"object"==typeof n.details&&!Array.isArray(n.details)?n.details:{},createdAt:String(n.createdAt??n.created_at??"")}}):[],staleDeadLetterCount24h:Number(S.staleDeadLetterCount24h??0),lastStaleSweepAt:"string"==typeof S.lastStaleSweepAt?String(S.lastStaleSweepAt):null}:null;return{engineSourceStats:Array.isArray(l.engineSourceStats)?l.engineSourceStats:[],trustedInspirationShortlist:Array.isArray(l.trustedInspirationShortlist)?l.trustedInspirationShortlist:[],archivedInspirationSources:Array.isArray(l.archivedInspirationSources)?l.archivedInspirationSources:[],latestEvaluatorScorecard:y,opsSummary:h}}catch(t){return console.error("Error fetching autonomy insights:",t),s}},e.fetchAutonomyQuestions=async function(t,n,o){try{const s=new URLSearchParams;o?.sessionId&&s.set("sessionId",o.sessionId),o?.status&&s.set("status",o.status),"number"==typeof o?.limit&&Number.isFinite(o.limit)&&s.set("limit",String(Math.max(1,Math.min(500,Math.floor(o.limit)))));const c=s.toString(),u=await fetch(`${t}/questions${c?`?${c}`:""}`,{headers:f(n)});if(!u.ok)return[];const l=await u.json();return l.ok&&Array.isArray(l.questions)?l.questions.filter(t=>t&&"object"==typeof t&&!Array.isArray(t)).map(t=>{const n=t,o=String(n.status??"").toLowerCase(),s="answered"===o||"invalid"===o||"closed"===o?o:"open",c=n.expected_answer_schema&&"object"==typeof n.expected_answer_schema&&!Array.isArray(n.expected_answer_schema)?n.expected_answer_schema:{},u=n.context&&"object"==typeof n.context&&!Array.isArray(n.context)?n.context:{};return{id:String(n.id??""),objectiveId:String(n.objective_id??n.objectiveId??""),sessionId:String(n.session_id??n.sessionId??""),question:String(n.question??""),questionType:String(n.question_type??n.questionType??""),expectedAnswerSchema:c,context:u,status:s,answer:n.answer??null,answerValidationStatus:String(n.answer_validation_status??""),validationError:String(n.validation_error??""),createdAt:String(n.created_at??""),answeredAt:String(n.answered_at??""),expiresAt:String(n.expires_at??""),expiresInMs:Number.isFinite(Number(n.expires_in_ms))?Number(n.expires_in_ms):null,isExpired:Boolean(n.is_expired),closedReason:String(n.closed_reason??"")}}):[]}catch(t){return console.error("Error fetching autonomy questions:",t),[]}},e.answerAutonomyQuestion=async function(t,n,o,s,c){try{const u={"Content-Type":"application/json"};s&&(u.Authorization=`Bearer ${s}`);const l=await fetch(`${t}/questions/${encodeURIComponent(n)}/answer`,{method:"POST",headers:u,body:JSON.stringify({answer:o,...c?{sessionId:c}:{}})});if(!l.ok){const t=await l.json().catch(()=>({}));return{ok:!1,reason:"string"==typeof t.reason?t.reason:"Failed to answer question"}}const p=await l.json(),y=String(p.status??"").toLowerCase();return{ok:Boolean(p.ok),status:"valid"===y||"invalid"===y?y:void 0,reason:"string"==typeof p.reason?p.reason:void 0,objectiveId:"string"==typeof p.objectiveId?p.objectiveId:"string"==typeof p.objective_id?p.objective_id:void 0,resumedRequestId:"string"==typeof p.resumedRequestId?p.resumedRequestId:void 0,resumeError:"string"==typeof p.resumeError?p.resumeError:void 0}}catch(t){return console.error("Error answering autonomy question:",t),{ok:!1,reason:String(t)}}},e.actOnAutonomyQuestion=async function(t,n,o,s,c,u){try{const l={"Content-Type":"application/json"};s&&(l.Authorization=`Bearer ${s}`);const p=await fetch(`${t}/questions/${encodeURIComponent(n)}/action`,{method:"POST",headers:l,body:JSON.stringify({action:o,...c?{note:c}:{},...u?{sessionId:u}:{}})}),y=await p.json().catch(()=>({}));return{ok:Boolean(y.ok),action:"skip"===String(y.action??"").toLowerCase()||"close"===String(y.action??"").toLowerCase()||"escalate"===String(y.action??"").toLowerCase()?String(y.action).toLowerCase():void 0,objectiveId:"string"==typeof y.objectiveId?y.objectiveId:"string"==typeof y.objective_id?y.objective_id:void 0,reason:"string"==typeof y.reason?y.reason:void 0}}catch(t){return console.error("Error applying autonomy question action:",t),{ok:!1,reason:String(t)}}},e.fetchAutonomySafety=async function(t,n){try{const o=await fetch(`${t}/autonomy/safety`,{headers:f(n)});if(!o.ok)return null;const s=await o.json();if(!s.ok||!s.state||"object"!=typeof s.state)return null;const c=s.state;return{killSwitchEnabled:Boolean(c.killSwitchEnabled),freezeUntil:"string"==typeof c.freezeUntil?c.freezeUntil:null,freezeReason:"string"==typeof c.freezeReason?c.freezeReason:null,isFrozen:Boolean(c.isFrozen),updatedAt:"string"==typeof c.updatedAt?c.updatedAt:null}}catch(t){return console.error("Error fetching autonomy safety:",t),null}},e.updateAutonomySafety=async function(t,n,o){try{const s={"Content-Type":"application/json"};o&&(s.Authorization=`Bearer ${o}`);const c=await fetch(`${t}/autonomy/safety`,{method:"POST",headers:s,body:JSON.stringify(n)}),u=await c.json().catch(()=>({})),l=u.state&&"object"==typeof u.state?u.state:null;return{ok:Boolean(u.ok),reason:"string"==typeof u.reason?u.reason:void 0,state:l?{killSwitchEnabled:Boolean(l.killSwitchEnabled),freezeUntil:"string"==typeof l.freezeUntil?String(l.freezeUntil):null,freezeReason:"string"==typeof l.freezeReason?String(l.freezeReason):null,isFrozen:Boolean(l.isFrozen),updatedAt:"string"==typeof l.updatedAt?String(l.updatedAt):null}:void 0}}catch(t){return console.error("Error updating autonomy safety:",t),{ok:!1,reason:String(t)}}},e.fetchRuntimeConfig=async function(t,n){try{const o=await fetch(`${t}/config/runtime`,{headers:f(n)});if(!o.ok)return null;const s=await o.json();return s&&"object"==typeof s&&s.config?{config:s.config,files:s.files}:null}catch(t){return console.error("Error fetching runtime config:",t),null}},e.updateRuntimeConfig=async function(t,n,o){try{const s={"Content-Type":"application/json"};o&&(s.Authorization=`Bearer ${o}`);const c=await fetch(`${t}/config/runtime`,{method:"POST",headers:s,body:JSON.stringify({updates:n})});if(!c.ok)return null;const u=await c.json();return u&&"object"==typeof u&&u.config?{config:u.config,files:u.files,applied:Array.isArray(u.applied)?u.applied:[],warnings:Array.isArray(u.warnings)?u.warnings:[],touchedFiles:Array.isArray(u.touchedFiles)?u.touchedFiles:[],restartRequired:Boolean(u.restartRequired),restartRequiredKeys:Array.isArray(u.restartRequiredKeys)?u.restartRequiredKeys.map(t=>String(t)):[]}:null}catch(t){return console.error("Error updating runtime config:",t),null}},e.sendCommand=async function(t,n,o,s){try{const c={"Content-Type":"application/json"};s&&(c.Authorization=`Bearer ${s}`);const u=await fetch(`${t}/sessions/${n}/command`,{method:"POST",headers:c,body:JSON.stringify(o)});return u.ok?await u.json():{ok:!1}}catch(t){return console.error("Error sending command:",t),{ok:!1}}};var t=r(d[0]);function n(t=0,n,o){const s=new URLSearchParams;t>0&&s.set("after",String(t)),o&&(s.set("clientId",o.clientId),s.set("clientKind",o.kind),o.label&&s.set("clientLabel",o.label),o.version&&s.set("clientVersion",o.version),o.platform&&s.set("clientPlatform",o.platform),o.repoRoot&&s.set("clientRepoRoot",o.repoRoot));const c=s.toString();return c?`?${c}`:""}function o(t,o,s=0,c,u){return`${t}/sessions/${encodeURIComponent(o)}/events${n(s,0,u)}`}function s(t,o,s=0,c,u){return`${t.startsWith("https")?"wss":"ws"}://${t.replace(/^https?:\/\//,"")}/sessions/${encodeURIComponent(o)}/ws${n(s,0,u)}`}function c(t,n){return`${t}/sessions/${encodeURIComponent(n)}/message`}function u(n,o){return{protocolVersion:t.PROTOCOL_VERSION,id:"function"==typeof globalThis.crypto?.randomUUID?globalThis.crypto.randomUUID():`client-${Date.now()}-${Math.random().toString(16).slice(2)}`,ts:(new Date).toISOString(),sessionId:n,type:"error",from:"client:transport",payload:{message:o}}}function l(t){if("auto"!==t)return t;return"undefined"!=typeof window&&"undefined"!=typeof EventSource?"sse":"ws"}function p(n,s,c,l=0,p,y){let f=!1,S=null,h=null,w=l;return(function l(){f||(S=new EventSource(o(n,s,w,0,y)),S.addEventListener("message",n=>{try{const o=JSON.parse(n.data),l=o?.envelope,p=(0,t.validateEventEnvelope)(l);if(!p.ok)return void c(u(s,`[Protocol error] ${p.errors?.join("; ")}`),w);const y="number"==typeof o?.cursor?o.cursor:parseInt(n.lastEventId,10)||0;y>w&&(w=y),c(l,y)}catch(t){c(u(s,`[Parse error] Failed to parse event: ${String(t)}`),w)}}),S.onerror=()=>{c(u(s,"[SSE] Connection lost, reconnecting..."),w),S?.close(),S=null,f||(h=setTimeout(l,3e3))})})(),()=>{f=!0,h&&clearTimeout(h),S?.close()}}function y(n,o,c,l=0,p,y){let f=!1,S=null,h=null,w=l;return(function l(){f||(S=new WebSocket(s(n,o,w,0,y)),S.onmessage=n=>{try{const s=JSON.parse(n.data),l=s?.envelope,p="number"==typeof s.cursor?s.cursor:0,y=(0,t.validateEventEnvelope)(l);if(!y.ok)return void c(u(o,`[Protocol error] ${y.errors?.join("; ")}`),w);p>w&&(w=p),c(l,p)}catch(t){c(u(o,`[Parse error] Failed to parse event: ${String(t)}`),w)}},S.onerror=()=>{c(u(o,"[WebSocket] Connection error"),w)},S.onclose=()=>{S=null,f||(c(u(o,"[WebSocket] Connection lost, reconnecting..."),w),h=setTimeout(l,3e3))})})(),()=>{f=!0,h&&clearTimeout(h),S&&S.readyState===WebSocket.OPEN&&S.close()}}function f(t){const n={};return t&&(n.Authorization=`Bearer ${t}`),n}},1028,[1029]);
1040
1040
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"PROTOCOL_VERSION",{enumerable:!0,get:function(){return t.PROTOCOL_VERSION}}),Object.defineProperty(e,"validateEventEnvelope",{enumerable:!0,get:function(){return n.validateEventEnvelope}}),Object.defineProperty(e,"validateMessageRequest",{enumerable:!0,get:function(){return n.validateMessageRequest}}),Object.defineProperty(e,"validateMessageResponse",{enumerable:!0,get:function(){return n.validateMessageResponse}}),Object.defineProperty(e,"validateApprovalDecisionRequest",{enumerable:!0,get:function(){return n.validateApprovalDecisionRequest}}),Object.defineProperty(e,"validateApprovalDecisionResponse",{enumerable:!0,get:function(){return n.validateApprovalDecisionResponse}}),Object.defineProperty(e,"validateCommandRequest",{enumerable:!0,get:function(){return n.validateCommandRequest}});var t=r(d[0]),n=r(d[1])},1029,[1030,1031]);
1041
1041
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"PROTOCOL_VERSION",{enumerable:!0,get:function(){return t}});const t="0.1.0"},1030,[]);
@@ -435,5 +435,5 @@ input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-web
435
435
  @keyframes r-1pzkwqh{0%{transform:translateY(100%);}100%{transform:translateY(0%);}}
436
436
  @keyframes r-imtty0{0%{opacity:0;}100%{opacity:1;}}
437
437
  @keyframes r-q67da2{0%{transform:translateX(-100%);}100%{transform:translateX(400%);}}
438
- @keyframes r-t2lo5v{0%{opacity:1;}100%{opacity:0;}}</style><script type="module">globalThis.__EXPO_ROUTER_HYDRATE__=true;</script><link rel="icon" href="/favicon.ico" /></head><body><div id="root"><div class="css-g5y9jx r-13awgt0"></div></div><script src="/_expo/static/js/web/entry-275c5f7972e2d2f4f0422fe2213a7f89.js" defer></script>
438
+ @keyframes r-t2lo5v{0%{opacity:1;}100%{opacity:0;}}</style><script type="module">globalThis.__EXPO_ROUTER_HYDRATE__=true;</script><link rel="icon" href="/favicon.ico" /></head><body><div id="root"><div class="css-g5y9jx r-13awgt0"></div></div><script src="/_expo/static/js/web/entry-5e6db7139bc13703a24f952bd64faf4c.js" defer></script>
439
439
  </body></html>
@@ -435,5 +435,5 @@ input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-web
435
435
  @keyframes r-1pzkwqh{0%{transform:translateY(100%);}100%{transform:translateY(0%);}}
436
436
  @keyframes r-imtty0{0%{opacity:0;}100%{opacity:1;}}
437
437
  @keyframes r-q67da2{0%{transform:translateX(-100%);}100%{transform:translateX(400%);}}
438
- @keyframes r-t2lo5v{0%{opacity:1;}100%{opacity:0;}}</style><script type="module">globalThis.__EXPO_ROUTER_HYDRATE__=true;</script><link rel="icon" href="/favicon.ico" /></head><body><div id="root"><div class="css-g5y9jx r-13awgt0"><!--$--><div style="position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none;visibility:hidden"></div><div class="css-g5y9jx r-13awgt0"><div class="css-g5y9jx r-13awgt0 r-1p0dtai r-1d2f490 r-u8s1d r-zchlnj r-ipm5af" style="background-color:rgba(242,242,242,1.00);display:flex"><div class="css-g5y9jx r-13awgt0"><div class="css-g5y9jx r-13awgt0"><!--$--><div class="css-g5y9jx r-13awgt0" style="background-color:rgba(236,242,245,1.00)"><div class="css-g5y9jx r-13awgt0"><div class="css-g5y9jx r-cpet4d r-u8s1d r-g7s1ez r-15zx4ds r-a4e7m4 r-j33s3c r-1ovo9ad" style="background-color:rgba(0,126,119,0.13)"></div><div class="css-g5y9jx r-cpet4d r-u8s1d r-g7s1ez r-5fjp4n r-9s5a0n r-1hy2ut r-9dcw1g" style="background-color:rgba(199,133,30,0.09)"></div><div class="css-g5y9jx r-cpet4d r-u8s1d r-g7s1ez r-1iuttuq r-pbsvq8 r-1b0pg27 r-1sxiqef" style="background-color:rgba(22,154,88,0.09)"></div><div class="css-g5y9jx r-150rngu r-eqz5dr r-16y2uox r-1wbh5a2 r-11yh6sk r-1rnoaur r-agouwx r-13awgt0"><div class="css-g5y9jx r-16y2uox r-2llsf r-kzbkwu"><div class="css-g5y9jx r-16uyjmq r-rs99b7 r-13awgt0 r-hv52eu r-ifefl9 r-1udh08x" style="background-color:rgba(247,250,252,1.00);border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00);opacity:0;transform:translateY(18px)"><div class="css-g5y9jx r-1habvwh r-18u37iz r-1wtj0ep r-kzbkwu r-u9wvl5 r-131miar"><div class="css-g5y9jx r-13awgt0 r-j2kj52"><div dir="auto" class="css-146c3p1 r-1gkfh8e r-1q67n59 r-15zivkp r-tsynxw" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">pushpals operations console</div><div dir="auto" class="css-146c3p1 r-1ra0lkn r-b88u0q r-zl2h9q" style="color:rgba(17,34,48,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Mission Control</div><div dir="auto" class="css-146c3p1 r-n6v787 r-hjklzo r-1cmskyw" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Coordinate your edits with autonomous buddy execution across planning, jobs, and integration in one live board.</div><div dir="auto" class="css-146c3p1 r-1enofrn r-5fcqz0 r-kc8jnq" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Current repo:<!-- --> <span class="css-1jxf684 r-1enofrn" style="color:rgba(84,112,134,1.00);font-family:&#x27;IBM Plex Mono&#x27;, &#x27;JetBrains Mono&#x27;, monospace">unavailable</span></div><div dir="auto" class="css-146c3p1 r-1enofrn r-5fcqz0 r-14gqq1x" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Snapshot:<!-- --> <span class="css-1jxf684 r-1enofrn" style="color:rgba(17,34,48,1.00);font-family:&#x27;IBM Plex Mono&#x27;, &#x27;JetBrains Mono&#x27;, monospace">waiting for /system/status</span></div></div><div class="css-g5y9jx r-k200y r-1q9bdsx r-rs99b7 r-18u37iz r-1udh08x" style="border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00);background-color:rgba(244,248,251,1.00)"><button aria-label="Set theme mode to auto" role="button" tabindex="0" class="css-g5y9jx r-1loqt21 r-1otgn73 r-1yd117h r-1ubuhtd" style="background-color:rgba(217,244,241,1.00)" type="button"><div dir="auto" class="css-146c3p1 r-1enofrn r-1kfrs79 r-1ozqkpa" style="color:rgba(2,92,86,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">auto</div></button><button aria-label="Set theme mode to light" role="button" tabindex="0" class="css-g5y9jx r-1loqt21 r-1otgn73 r-1yd117h r-1ubuhtd" type="button"><div dir="auto" class="css-146c3p1 r-1enofrn r-1kfrs79 r-1ozqkpa" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">light</div></button><button aria-label="Set theme mode to dark" role="button" tabindex="0" class="css-g5y9jx r-1loqt21 r-1otgn73 r-1yd117h r-1ubuhtd" type="button"><div dir="auto" class="css-146c3p1 r-1enofrn r-1kfrs79 r-1ozqkpa" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">dark</div></button></div></div><div class="css-g5y9jx r-t23y2h r-rs99b7 r-15d164r r-bhtmuz r-ytbthy r-1ubuhtd" style="background-color:rgba(244,248,251,1.00);border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00)"><div class="css-g5y9jx r-150rngu r-18u37iz r-16y2uox r-1wbh5a2 r-lltvgl r-buy8e9 r-agouwx r-2eszeu"><div class="css-g5y9jx r-18u37iz"><div class="css-g5y9jx r-1awozwy r-18u37iz"><div class="css-g5y9jx r-1q9bdsx r-rs99b7 r-1s5swlz r-1ubuhtd r-13i4ljo" style="border-top-color:rgba(199,133,30,0.40);border-right-color:rgba(199,133,30,0.40);border-bottom-color:rgba(199,133,30,0.40);border-left-color:rgba(199,133,30,0.40);background-color:rgba(199,133,30,0.09)"><div dir="auto" class="css-146c3p1 r-dnmrzs r-1udh08x r-1udbk01 r-3s2u2q r-1iln25a r-1gkfh8e r-b88u0q r-1dpkw9 r-tsynxw" style="color:rgba(199,133,30,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">1. You</div><div dir="auto" class="css-146c3p1 r-8akbws r-krxsd3 r-dnmrzs r-1qsk4np r-1udbk01 r-1enofrn r-1cwl3u0 r-14gqq1x" style="-webkit-line-clamp:2;color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Awaiting input</div></div><div class="css-g5y9jx r-109y4c4 r-8dgmk1 r-12ym1je" style="background-color:rgba(207,218,226,0.80)"></div></div><div class="css-g5y9jx r-1awozwy r-18u37iz"><div class="css-g5y9jx r-1q9bdsx r-rs99b7 r-1s5swlz r-1ubuhtd r-13i4ljo" style="border-top-color:rgba(0,126,119,0.40);border-right-color:rgba(0,126,119,0.40);border-bottom-color:rgba(0,126,119,0.40);border-left-color:rgba(0,126,119,0.40);background-color:rgba(0,126,119,0.09)"><div dir="auto" class="css-146c3p1 r-dnmrzs r-1udh08x r-1udbk01 r-3s2u2q r-1iln25a r-1gkfh8e r-b88u0q r-1dpkw9 r-tsynxw" style="color:rgba(0,126,119,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">2. Session</div><div dir="auto" class="css-146c3p1 r-8akbws r-krxsd3 r-dnmrzs r-1qsk4np r-1udbk01 r-1enofrn r-1cwl3u0 r-14gqq1x" style="-webkit-line-clamp:2;color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Ready</div></div><div class="css-g5y9jx r-109y4c4 r-8dgmk1 r-12ym1je" style="background-color:rgba(207,218,226,0.80)"></div></div><div class="css-g5y9jx r-1awozwy r-18u37iz"><div class="css-g5y9jx r-1q9bdsx r-rs99b7 r-1s5swlz r-1ubuhtd r-13i4ljo" style="border-top-color:rgba(22,154,88,0.40);border-right-color:rgba(22,154,88,0.40);border-bottom-color:rgba(22,154,88,0.40);border-left-color:rgba(22,154,88,0.40);background-color:rgba(22,154,88,0.09)"><div dir="auto" class="css-146c3p1 r-dnmrzs r-1udh08x r-1udbk01 r-3s2u2q r-1iln25a r-1gkfh8e r-b88u0q r-1dpkw9 r-tsynxw" style="color:rgba(22,154,88,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">3. RemoteBuddy</div><div dir="auto" class="css-146c3p1 r-8akbws r-krxsd3 r-dnmrzs r-1qsk4np r-1udbk01 r-1enofrn r-1cwl3u0 r-14gqq1x" style="-webkit-line-clamp:2;color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0 pending, 0 claimed</div></div><div class="css-g5y9jx r-109y4c4 r-8dgmk1 r-12ym1je" style="background-color:rgba(207,218,226,0.80)"></div></div><div class="css-g5y9jx r-1awozwy r-18u37iz"><div class="css-g5y9jx r-1q9bdsx r-rs99b7 r-1s5swlz r-1ubuhtd r-13i4ljo" style="border-top-color:rgba(22,154,88,0.40);border-right-color:rgba(22,154,88,0.40);border-bottom-color:rgba(22,154,88,0.40);border-left-color:rgba(22,154,88,0.40);background-color:rgba(22,154,88,0.09)"><div dir="auto" class="css-146c3p1 r-dnmrzs r-1udh08x r-1udbk01 r-3s2u2q r-1iln25a r-1gkfh8e r-b88u0q r-1dpkw9 r-tsynxw" style="color:rgba(22,154,88,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">4. WorkerPals</div><div dir="auto" class="css-146c3p1 r-8akbws r-krxsd3 r-dnmrzs r-1qsk4np r-1udbk01 r-1enofrn r-1cwl3u0 r-14gqq1x" style="-webkit-line-clamp:2;color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0 online, 0 busy, 0 queued</div></div><div class="css-g5y9jx r-109y4c4 r-8dgmk1 r-12ym1je" style="background-color:rgba(207,218,226,0.80)"></div></div><div class="css-g5y9jx r-1awozwy r-18u37iz"><div class="css-g5y9jx r-1q9bdsx r-rs99b7 r-1s5swlz r-1ubuhtd r-13i4ljo" style="border-top-color:rgba(0,126,119,0.40);border-right-color:rgba(0,126,119,0.40);border-bottom-color:rgba(0,126,119,0.40);border-left-color:rgba(0,126,119,0.40);background-color:rgba(0,126,119,0.09)"><div dir="auto" class="css-146c3p1 r-dnmrzs r-1udh08x r-1udbk01 r-3s2u2q r-1iln25a r-1gkfh8e r-b88u0q r-1dpkw9 r-tsynxw" style="color:rgba(0,126,119,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">5. SCM</div><div dir="auto" class="css-146c3p1 r-8akbws r-krxsd3 r-dnmrzs r-1qsk4np r-1udbk01 r-1enofrn r-1cwl3u0 r-14gqq1x" style="-webkit-line-clamp:2;color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0 ready, 0 pending</div></div></div></div></div></div><div class="css-g5y9jx r-18u37iz r-1w6e6rj r-1mi0q7o r-u9wvl5"><div class="css-g5y9jx r-t23y2h r-rs99b7 r-16y2uox r-5oul0u r-1kb76zh r-bgnin r-ytbthy r-3o4zer" style="border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00);background-color:rgba(244,248,251,1.00)"><div dir="auto" class="css-146c3p1 r-1gkfh8e r-1cm7zt9 r-tsynxw" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Connection</div><div dir="auto" class="css-146c3p1 r-evnaw r-b88u0q r-19qrga8" style="color:rgba(214,69,83,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Disconnected</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0 events</div></div><div class="css-g5y9jx r-t23y2h r-rs99b7 r-16y2uox r-5oul0u r-1kb76zh r-bgnin r-ytbthy r-3o4zer" style="border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00);background-color:rgba(244,248,251,1.00)"><div dir="auto" class="css-146c3p1 r-1gkfh8e r-1cm7zt9 r-tsynxw" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Pending Work</div><div dir="auto" class="css-146c3p1 r-evnaw r-b88u0q r-19qrga8" style="color:rgba(22,154,88,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0 requests | 0 jobs</div></div><div class="css-g5y9jx r-t23y2h r-rs99b7 r-16y2uox r-5oul0u r-1kb76zh r-bgnin r-ytbthy r-3o4zer" style="border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00);background-color:rgba(244,248,251,1.00)"><div dir="auto" class="css-146c3p1 r-1gkfh8e r-1cm7zt9 r-tsynxw" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Active Workers</div><div dir="auto" class="css-146c3p1 r-evnaw r-b88u0q r-19qrga8" style="color:rgba(0,126,119,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0 busy</div></div><div class="css-g5y9jx r-t23y2h r-rs99b7 r-16y2uox r-5oul0u r-1kb76zh r-bgnin r-ytbthy r-3o4zer" style="border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00);background-color:rgba(244,248,251,1.00)"><div dir="auto" class="css-146c3p1 r-1gkfh8e r-1cm7zt9 r-tsynxw" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Last Sync</div><div dir="auto" class="css-146c3p1 r-evnaw r-b88u0q r-19qrga8" style="color:rgba(0,126,119,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">--</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">waiting</div></div></div><div class="css-g5y9jx r-t23y2h r-rs99b7 r-18u37iz r-15d164r r-bhtmuz r-146eth8" style="background-color:rgba(244,248,251,1.00);border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00)"><button aria-label="Coordination tab" role="button" tabindex="0" class="css-g5y9jx r-1loqt21 r-1otgn73 r-1awozwy r-1dzdj1l r-rs99b7 r-13awgt0 r-1777fci r-11f147o r-1ubuhtd" style="background-color:rgba(0,126,119,1.00);border-top-color:rgba(0,126,119,1.00);border-right-color:rgba(0,126,119,1.00);border-bottom-color:rgba(0,126,119,1.00);border-left-color:rgba(0,126,119,1.00)" type="button"><div dir="auto" class="css-146c3p1 r-dnmrzs r-1udh08x r-1udbk01 r-3s2u2q r-1iln25a r-1enofrn r-b88u0q" style="color:rgba(255,255,255,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Coordination<!-- --> (0)</div></button><button aria-label="Chat tab" role="button" tabindex="0" class="css-g5y9jx r-1loqt21 r-1otgn73 r-1awozwy r-42olwf r-1dzdj1l r-rs99b7 r-13awgt0 r-1777fci r-11f147o r-1ubuhtd" type="button"><div dir="auto" class="css-146c3p1 r-dnmrzs r-1udh08x r-1udbk01 r-3s2u2q r-1iln25a r-1enofrn r-b88u0q" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Chat<!-- --> (0)</div></button><button aria-label="Requests tab" role="button" tabindex="0" class="css-g5y9jx r-1loqt21 r-1otgn73 r-1awozwy r-42olwf r-1dzdj1l r-rs99b7 r-13awgt0 r-1777fci r-11f147o r-1ubuhtd" type="button"><div dir="auto" class="css-146c3p1 r-dnmrzs r-1udh08x r-1udbk01 r-3s2u2q r-1iln25a r-1enofrn r-b88u0q" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Requests<!-- --> (0)</div></button><button aria-label="Jobs &amp; Traces tab" role="button" tabindex="0" class="css-g5y9jx r-1loqt21 r-1otgn73 r-1awozwy r-42olwf r-1dzdj1l r-rs99b7 r-13awgt0 r-1777fci r-11f147o r-1ubuhtd" type="button"><div dir="auto" class="css-146c3p1 r-dnmrzs r-1udh08x r-1udbk01 r-3s2u2q r-1iln25a r-1enofrn r-b88u0q" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Jobs &amp; Traces<!-- --> (0)</div></button><button aria-label="System tab" role="button" tabindex="0" class="css-g5y9jx r-1loqt21 r-1otgn73 r-1awozwy r-42olwf r-1dzdj1l r-rs99b7 r-13awgt0 r-1777fci r-11f147o r-1ubuhtd" type="button"><div dir="auto" class="css-146c3p1 r-dnmrzs r-1udh08x r-1udbk01 r-3s2u2q r-1iln25a r-1enofrn r-b88u0q" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">System<!-- --> (0)</div></button><button aria-label="Config tab" role="button" tabindex="0" class="css-g5y9jx r-1loqt21 r-1otgn73 r-1awozwy r-42olwf r-1dzdj1l r-rs99b7 r-13awgt0 r-1777fci r-11f147o r-1ubuhtd" type="button"><div dir="auto" class="css-146c3p1 r-dnmrzs r-1udh08x r-1udbk01 r-3s2u2q r-1iln25a r-1enofrn r-b88u0q" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Config</div></button></div><div class="css-g5y9jx r-13awgt0 r-ifefl9" style="opacity:1;transform:translateY(0px)"><div class="css-g5y9jx r-150rngu r-eqz5dr r-16y2uox r-1wbh5a2 r-11yh6sk r-1rnoaur r-agouwx r-13awgt0"><div class="css-g5y9jx r-1t2hasf r-u9wvl5"><div class="css-g5y9jx r-18u37iz r-1w6e6rj r-1mi0q7o"><div class="css-g5y9jx r-t23y2h r-rs99b7 r-16y2uox r-5oul0u r-1kb76zh r-bgnin r-ytbthy r-3o4zer" style="border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00);background-color:rgba(244,248,251,1.00)"><div dir="auto" class="css-146c3p1 r-1gkfh8e r-1cm7zt9 r-tsynxw" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Ready For Review</div><div dir="auto" class="css-146c3p1 r-evnaw r-b88u0q r-19qrga8" style="color:rgba(0,126,119,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0 processed completions</div></div><div class="css-g5y9jx r-t23y2h r-rs99b7 r-16y2uox r-5oul0u r-1kb76zh r-bgnin r-ytbthy r-3o4zer" style="border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00);background-color:rgba(244,248,251,1.00)"><div dir="auto" class="css-146c3p1 r-1gkfh8e r-1cm7zt9 r-tsynxw" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Active Handoffs</div><div dir="auto" class="css-146c3p1 r-evnaw r-b88u0q r-19qrga8" style="color:rgba(0,126,119,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0 running jobs</div></div><div class="css-g5y9jx r-t23y2h r-rs99b7 r-16y2uox r-5oul0u r-1kb76zh r-bgnin r-ytbthy r-3o4zer" style="border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00);background-color:rgba(244,248,251,1.00)"><div dir="auto" class="css-146c3p1 r-1gkfh8e r-1cm7zt9 r-tsynxw" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Awaiting Remote</div><div dir="auto" class="css-146c3p1 r-evnaw r-b88u0q r-19qrga8" style="color:rgba(22,154,88,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0 pending requests</div></div><div class="css-g5y9jx r-t23y2h r-rs99b7 r-16y2uox r-5oul0u r-1kb76zh r-bgnin r-ytbthy r-3o4zer" style="border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00);background-color:rgba(244,248,251,1.00)"><div dir="auto" class="css-146c3p1 r-1gkfh8e r-1cm7zt9 r-tsynxw" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Blocked</div><div dir="auto" class="css-146c3p1 r-evnaw r-b88u0q r-19qrga8" style="color:rgba(22,154,88,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0 failed jobs</div></div></div><div class="css-g5y9jx r-eqz5dr"><div class="css-g5y9jx r-1867qdf r-rs99b7 r-k3250r r-15d164r r-xyw6el" style="border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00);background-color:rgba(255,255,255,1.00)"><div class="css-g5y9jx r-1awozwy r-18u37iz r-1wtj0ep"><div dir="auto" class="css-146c3p1 r-ubezar r-b88u0q r-5oul0u" style="color:rgba(17,34,48,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Change Coordination Board</div><div dir="auto" class="css-146c3p1 r-1gkfh8e r-1g94qm0" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0<!-- --> latest requests</div></div><div class="css-g5y9jx r-1habvwh r-1867qdf r-nsbfu8"><div dir="auto" class="css-146c3p1 r-1i10wst r-b88u0q r-15zivkp" style="color:rgba(17,34,48,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Nothing to coordinate yet</div><div dir="auto" class="css-146c3p1 r-n6v787 r-hjklzo" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Send a task from chat and this board will trace the full handoff from request to integration.</div></div></div><div class="css-g5y9jx r-1867qdf r-rs99b7 r-jprt8p r-15d164r r-11wrixw r-xyw6el" style="border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00);background-color:rgba(255,255,255,1.00)"><div dir="auto" class="css-146c3p1 r-ubezar r-b88u0q r-5oul0u" style="color:rgba(17,34,48,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Review Queue</div><div dir="auto" class="css-146c3p1 r-n6v787 r-hjklzo" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">No processed completions yet.</div><div dir="auto" class="css-146c3p1 r-ubezar r-b88u0q r-5oul0u" style="color:rgba(17,34,48,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif;margin-top:14px">Needs Attention</div><div dir="auto" class="css-146c3p1 r-n6v787 r-hjklzo" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">No failed coordination chains.</div></div></div></div></div></div></div></div></div></div></div><!--/$--></div></div></div></div><!--/$--></div></div><script src="/_expo/static/js/web/entry-275c5f7972e2d2f4f0422fe2213a7f89.js" defer></script>
438
+ @keyframes r-t2lo5v{0%{opacity:1;}100%{opacity:0;}}</style><script type="module">globalThis.__EXPO_ROUTER_HYDRATE__=true;</script><link rel="icon" href="/favicon.ico" /></head><body><div id="root"><div class="css-g5y9jx r-13awgt0"><!--$--><div style="position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none;visibility:hidden"></div><div class="css-g5y9jx r-13awgt0"><div class="css-g5y9jx r-13awgt0 r-1p0dtai r-1d2f490 r-u8s1d r-zchlnj r-ipm5af" style="background-color:rgba(242,242,242,1.00);display:flex"><div class="css-g5y9jx r-13awgt0"><div class="css-g5y9jx r-13awgt0"><!--$--><div class="css-g5y9jx r-13awgt0" style="background-color:rgba(236,242,245,1.00)"><div class="css-g5y9jx r-13awgt0"><div class="css-g5y9jx r-cpet4d r-u8s1d r-g7s1ez r-15zx4ds r-a4e7m4 r-j33s3c r-1ovo9ad" style="background-color:rgba(0,126,119,0.13)"></div><div class="css-g5y9jx r-cpet4d r-u8s1d r-g7s1ez r-5fjp4n r-9s5a0n r-1hy2ut r-9dcw1g" style="background-color:rgba(199,133,30,0.09)"></div><div class="css-g5y9jx r-cpet4d r-u8s1d r-g7s1ez r-1iuttuq r-pbsvq8 r-1b0pg27 r-1sxiqef" style="background-color:rgba(22,154,88,0.09)"></div><div class="css-g5y9jx r-150rngu r-eqz5dr r-16y2uox r-1wbh5a2 r-11yh6sk r-1rnoaur r-agouwx r-13awgt0"><div class="css-g5y9jx r-16y2uox r-2llsf r-kzbkwu"><div class="css-g5y9jx r-16uyjmq r-rs99b7 r-13awgt0 r-hv52eu r-ifefl9 r-1udh08x" style="background-color:rgba(247,250,252,1.00);border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00);opacity:0;transform:translateY(18px)"><div class="css-g5y9jx r-1habvwh r-18u37iz r-1wtj0ep r-kzbkwu r-u9wvl5 r-131miar"><div class="css-g5y9jx r-13awgt0 r-j2kj52"><div dir="auto" class="css-146c3p1 r-1gkfh8e r-1q67n59 r-15zivkp r-tsynxw" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">pushpals operations console</div><div dir="auto" class="css-146c3p1 r-1ra0lkn r-b88u0q r-zl2h9q" style="color:rgba(17,34,48,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Mission Control</div><div dir="auto" class="css-146c3p1 r-n6v787 r-hjklzo r-1cmskyw" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Coordinate your edits with autonomous buddy execution across planning, jobs, and integration in one live board.</div><div dir="auto" class="css-146c3p1 r-1enofrn r-5fcqz0 r-kc8jnq" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Current repo:<!-- --> <span class="css-1jxf684 r-1enofrn" style="color:rgba(84,112,134,1.00);font-family:&#x27;IBM Plex Mono&#x27;, &#x27;JetBrains Mono&#x27;, monospace">unavailable</span></div><div dir="auto" class="css-146c3p1 r-1enofrn r-5fcqz0 r-14gqq1x" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Snapshot:<!-- --> <span class="css-1jxf684 r-1enofrn" style="color:rgba(17,34,48,1.00);font-family:&#x27;IBM Plex Mono&#x27;, &#x27;JetBrains Mono&#x27;, monospace">waiting for /system/status</span></div></div><div class="css-g5y9jx r-k200y r-1q9bdsx r-rs99b7 r-18u37iz r-1udh08x" style="border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00);background-color:rgba(244,248,251,1.00)"><button aria-label="Set theme mode to auto" role="button" tabindex="0" class="css-g5y9jx r-1loqt21 r-1otgn73 r-1yd117h r-1ubuhtd" style="background-color:rgba(217,244,241,1.00)" type="button"><div dir="auto" class="css-146c3p1 r-1enofrn r-1kfrs79 r-1ozqkpa" style="color:rgba(2,92,86,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">auto</div></button><button aria-label="Set theme mode to light" role="button" tabindex="0" class="css-g5y9jx r-1loqt21 r-1otgn73 r-1yd117h r-1ubuhtd" type="button"><div dir="auto" class="css-146c3p1 r-1enofrn r-1kfrs79 r-1ozqkpa" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">light</div></button><button aria-label="Set theme mode to dark" role="button" tabindex="0" class="css-g5y9jx r-1loqt21 r-1otgn73 r-1yd117h r-1ubuhtd" type="button"><div dir="auto" class="css-146c3p1 r-1enofrn r-1kfrs79 r-1ozqkpa" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">dark</div></button></div></div><div class="css-g5y9jx r-t23y2h r-rs99b7 r-15d164r r-bhtmuz r-ytbthy r-1ubuhtd" style="background-color:rgba(244,248,251,1.00);border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00)"><div class="css-g5y9jx r-150rngu r-18u37iz r-16y2uox r-1wbh5a2 r-lltvgl r-buy8e9 r-agouwx r-2eszeu"><div class="css-g5y9jx r-18u37iz"><div class="css-g5y9jx r-1awozwy r-18u37iz"><div class="css-g5y9jx r-1q9bdsx r-rs99b7 r-1s5swlz r-1ubuhtd r-13i4ljo" style="border-top-color:rgba(199,133,30,0.40);border-right-color:rgba(199,133,30,0.40);border-bottom-color:rgba(199,133,30,0.40);border-left-color:rgba(199,133,30,0.40);background-color:rgba(199,133,30,0.09)"><div dir="auto" class="css-146c3p1 r-dnmrzs r-1udh08x r-1udbk01 r-3s2u2q r-1iln25a r-1gkfh8e r-b88u0q r-1dpkw9 r-tsynxw" style="color:rgba(199,133,30,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">1. You</div><div dir="auto" class="css-146c3p1 r-8akbws r-krxsd3 r-dnmrzs r-1qsk4np r-1udbk01 r-1enofrn r-1cwl3u0 r-14gqq1x" style="-webkit-line-clamp:2;color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Awaiting input</div></div><div class="css-g5y9jx r-109y4c4 r-8dgmk1 r-12ym1je" style="background-color:rgba(207,218,226,0.80)"></div></div><div class="css-g5y9jx r-1awozwy r-18u37iz"><div class="css-g5y9jx r-1q9bdsx r-rs99b7 r-1s5swlz r-1ubuhtd r-13i4ljo" style="border-top-color:rgba(0,126,119,0.40);border-right-color:rgba(0,126,119,0.40);border-bottom-color:rgba(0,126,119,0.40);border-left-color:rgba(0,126,119,0.40);background-color:rgba(0,126,119,0.09)"><div dir="auto" class="css-146c3p1 r-dnmrzs r-1udh08x r-1udbk01 r-3s2u2q r-1iln25a r-1gkfh8e r-b88u0q r-1dpkw9 r-tsynxw" style="color:rgba(0,126,119,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">2. Session</div><div dir="auto" class="css-146c3p1 r-8akbws r-krxsd3 r-dnmrzs r-1qsk4np r-1udbk01 r-1enofrn r-1cwl3u0 r-14gqq1x" style="-webkit-line-clamp:2;color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Ready</div></div><div class="css-g5y9jx r-109y4c4 r-8dgmk1 r-12ym1je" style="background-color:rgba(207,218,226,0.80)"></div></div><div class="css-g5y9jx r-1awozwy r-18u37iz"><div class="css-g5y9jx r-1q9bdsx r-rs99b7 r-1s5swlz r-1ubuhtd r-13i4ljo" style="border-top-color:rgba(22,154,88,0.40);border-right-color:rgba(22,154,88,0.40);border-bottom-color:rgba(22,154,88,0.40);border-left-color:rgba(22,154,88,0.40);background-color:rgba(22,154,88,0.09)"><div dir="auto" class="css-146c3p1 r-dnmrzs r-1udh08x r-1udbk01 r-3s2u2q r-1iln25a r-1gkfh8e r-b88u0q r-1dpkw9 r-tsynxw" style="color:rgba(22,154,88,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">3. RemoteBuddy</div><div dir="auto" class="css-146c3p1 r-8akbws r-krxsd3 r-dnmrzs r-1qsk4np r-1udbk01 r-1enofrn r-1cwl3u0 r-14gqq1x" style="-webkit-line-clamp:2;color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0 pending, 0 claimed</div></div><div class="css-g5y9jx r-109y4c4 r-8dgmk1 r-12ym1je" style="background-color:rgba(207,218,226,0.80)"></div></div><div class="css-g5y9jx r-1awozwy r-18u37iz"><div class="css-g5y9jx r-1q9bdsx r-rs99b7 r-1s5swlz r-1ubuhtd r-13i4ljo" style="border-top-color:rgba(22,154,88,0.40);border-right-color:rgba(22,154,88,0.40);border-bottom-color:rgba(22,154,88,0.40);border-left-color:rgba(22,154,88,0.40);background-color:rgba(22,154,88,0.09)"><div dir="auto" class="css-146c3p1 r-dnmrzs r-1udh08x r-1udbk01 r-3s2u2q r-1iln25a r-1gkfh8e r-b88u0q r-1dpkw9 r-tsynxw" style="color:rgba(22,154,88,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">4. WorkerPals</div><div dir="auto" class="css-146c3p1 r-8akbws r-krxsd3 r-dnmrzs r-1qsk4np r-1udbk01 r-1enofrn r-1cwl3u0 r-14gqq1x" style="-webkit-line-clamp:2;color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0 online, 0 busy, 0 queued</div></div><div class="css-g5y9jx r-109y4c4 r-8dgmk1 r-12ym1je" style="background-color:rgba(207,218,226,0.80)"></div></div><div class="css-g5y9jx r-1awozwy r-18u37iz"><div class="css-g5y9jx r-1q9bdsx r-rs99b7 r-1s5swlz r-1ubuhtd r-13i4ljo" style="border-top-color:rgba(0,126,119,0.40);border-right-color:rgba(0,126,119,0.40);border-bottom-color:rgba(0,126,119,0.40);border-left-color:rgba(0,126,119,0.40);background-color:rgba(0,126,119,0.09)"><div dir="auto" class="css-146c3p1 r-dnmrzs r-1udh08x r-1udbk01 r-3s2u2q r-1iln25a r-1gkfh8e r-b88u0q r-1dpkw9 r-tsynxw" style="color:rgba(0,126,119,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">5. SCM</div><div dir="auto" class="css-146c3p1 r-8akbws r-krxsd3 r-dnmrzs r-1qsk4np r-1udbk01 r-1enofrn r-1cwl3u0 r-14gqq1x" style="-webkit-line-clamp:2;color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0 ready, 0 pending</div></div></div></div></div></div><div class="css-g5y9jx r-18u37iz r-1w6e6rj r-1mi0q7o r-u9wvl5"><div class="css-g5y9jx r-t23y2h r-rs99b7 r-16y2uox r-5oul0u r-1kb76zh r-bgnin r-ytbthy r-3o4zer" style="border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00);background-color:rgba(244,248,251,1.00)"><div dir="auto" class="css-146c3p1 r-1gkfh8e r-1cm7zt9 r-tsynxw" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Connection</div><div dir="auto" class="css-146c3p1 r-evnaw r-b88u0q r-19qrga8" style="color:rgba(214,69,83,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Disconnected</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0 events</div></div><div class="css-g5y9jx r-t23y2h r-rs99b7 r-16y2uox r-5oul0u r-1kb76zh r-bgnin r-ytbthy r-3o4zer" style="border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00);background-color:rgba(244,248,251,1.00)"><div dir="auto" class="css-146c3p1 r-1gkfh8e r-1cm7zt9 r-tsynxw" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Pending Work</div><div dir="auto" class="css-146c3p1 r-evnaw r-b88u0q r-19qrga8" style="color:rgba(22,154,88,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0 requests | 0 jobs</div></div><div class="css-g5y9jx r-t23y2h r-rs99b7 r-16y2uox r-5oul0u r-1kb76zh r-bgnin r-ytbthy r-3o4zer" style="border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00);background-color:rgba(244,248,251,1.00)"><div dir="auto" class="css-146c3p1 r-1gkfh8e r-1cm7zt9 r-tsynxw" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Active Workers</div><div dir="auto" class="css-146c3p1 r-evnaw r-b88u0q r-19qrga8" style="color:rgba(0,126,119,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0 busy</div></div><div class="css-g5y9jx r-t23y2h r-rs99b7 r-16y2uox r-5oul0u r-1kb76zh r-bgnin r-ytbthy r-3o4zer" style="border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00);background-color:rgba(244,248,251,1.00)"><div dir="auto" class="css-146c3p1 r-1gkfh8e r-1cm7zt9 r-tsynxw" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Last Sync</div><div dir="auto" class="css-146c3p1 r-evnaw r-b88u0q r-19qrga8" style="color:rgba(0,126,119,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">--</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">waiting</div></div></div><div class="css-g5y9jx r-t23y2h r-rs99b7 r-18u37iz r-15d164r r-bhtmuz r-146eth8" style="background-color:rgba(244,248,251,1.00);border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00)"><button aria-label="Coordination tab" role="button" tabindex="0" class="css-g5y9jx r-1loqt21 r-1otgn73 r-1awozwy r-1dzdj1l r-rs99b7 r-13awgt0 r-1777fci r-11f147o r-1ubuhtd" style="background-color:rgba(0,126,119,1.00);border-top-color:rgba(0,126,119,1.00);border-right-color:rgba(0,126,119,1.00);border-bottom-color:rgba(0,126,119,1.00);border-left-color:rgba(0,126,119,1.00)" type="button"><div dir="auto" class="css-146c3p1 r-dnmrzs r-1udh08x r-1udbk01 r-3s2u2q r-1iln25a r-1enofrn r-b88u0q" style="color:rgba(255,255,255,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Coordination<!-- --> (0)</div></button><button aria-label="Chat tab" role="button" tabindex="0" class="css-g5y9jx r-1loqt21 r-1otgn73 r-1awozwy r-42olwf r-1dzdj1l r-rs99b7 r-13awgt0 r-1777fci r-11f147o r-1ubuhtd" type="button"><div dir="auto" class="css-146c3p1 r-dnmrzs r-1udh08x r-1udbk01 r-3s2u2q r-1iln25a r-1enofrn r-b88u0q" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Chat<!-- --> (0)</div></button><button aria-label="Requests tab" role="button" tabindex="0" class="css-g5y9jx r-1loqt21 r-1otgn73 r-1awozwy r-42olwf r-1dzdj1l r-rs99b7 r-13awgt0 r-1777fci r-11f147o r-1ubuhtd" type="button"><div dir="auto" class="css-146c3p1 r-dnmrzs r-1udh08x r-1udbk01 r-3s2u2q r-1iln25a r-1enofrn r-b88u0q" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Requests<!-- --> (0)</div></button><button aria-label="Jobs &amp; Traces tab" role="button" tabindex="0" class="css-g5y9jx r-1loqt21 r-1otgn73 r-1awozwy r-42olwf r-1dzdj1l r-rs99b7 r-13awgt0 r-1777fci r-11f147o r-1ubuhtd" type="button"><div dir="auto" class="css-146c3p1 r-dnmrzs r-1udh08x r-1udbk01 r-3s2u2q r-1iln25a r-1enofrn r-b88u0q" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Jobs &amp; Traces<!-- --> (0)</div></button><button aria-label="System tab" role="button" tabindex="0" class="css-g5y9jx r-1loqt21 r-1otgn73 r-1awozwy r-42olwf r-1dzdj1l r-rs99b7 r-13awgt0 r-1777fci r-11f147o r-1ubuhtd" type="button"><div dir="auto" class="css-146c3p1 r-dnmrzs r-1udh08x r-1udbk01 r-3s2u2q r-1iln25a r-1enofrn r-b88u0q" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">System<!-- --> (0)</div></button><button aria-label="Config tab" role="button" tabindex="0" class="css-g5y9jx r-1loqt21 r-1otgn73 r-1awozwy r-42olwf r-1dzdj1l r-rs99b7 r-13awgt0 r-1777fci r-11f147o r-1ubuhtd" type="button"><div dir="auto" class="css-146c3p1 r-dnmrzs r-1udh08x r-1udbk01 r-3s2u2q r-1iln25a r-1enofrn r-b88u0q" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Config</div></button></div><div class="css-g5y9jx r-13awgt0 r-ifefl9" style="opacity:1;transform:translateY(0px)"><div class="css-g5y9jx r-150rngu r-eqz5dr r-16y2uox r-1wbh5a2 r-11yh6sk r-1rnoaur r-agouwx r-13awgt0"><div class="css-g5y9jx r-1t2hasf r-u9wvl5"><div class="css-g5y9jx r-18u37iz r-1w6e6rj r-1mi0q7o"><div class="css-g5y9jx r-t23y2h r-rs99b7 r-16y2uox r-5oul0u r-1kb76zh r-bgnin r-ytbthy r-3o4zer" style="border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00);background-color:rgba(244,248,251,1.00)"><div dir="auto" class="css-146c3p1 r-1gkfh8e r-1cm7zt9 r-tsynxw" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Ready For Review</div><div dir="auto" class="css-146c3p1 r-evnaw r-b88u0q r-19qrga8" style="color:rgba(0,126,119,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0 processed completions</div></div><div class="css-g5y9jx r-t23y2h r-rs99b7 r-16y2uox r-5oul0u r-1kb76zh r-bgnin r-ytbthy r-3o4zer" style="border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00);background-color:rgba(244,248,251,1.00)"><div dir="auto" class="css-146c3p1 r-1gkfh8e r-1cm7zt9 r-tsynxw" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Active Handoffs</div><div dir="auto" class="css-146c3p1 r-evnaw r-b88u0q r-19qrga8" style="color:rgba(0,126,119,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0 running jobs</div></div><div class="css-g5y9jx r-t23y2h r-rs99b7 r-16y2uox r-5oul0u r-1kb76zh r-bgnin r-ytbthy r-3o4zer" style="border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00);background-color:rgba(244,248,251,1.00)"><div dir="auto" class="css-146c3p1 r-1gkfh8e r-1cm7zt9 r-tsynxw" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Awaiting Remote</div><div dir="auto" class="css-146c3p1 r-evnaw r-b88u0q r-19qrga8" style="color:rgba(22,154,88,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0 pending requests</div></div><div class="css-g5y9jx r-t23y2h r-rs99b7 r-16y2uox r-5oul0u r-1kb76zh r-bgnin r-ytbthy r-3o4zer" style="border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00);background-color:rgba(244,248,251,1.00)"><div dir="auto" class="css-146c3p1 r-1gkfh8e r-1cm7zt9 r-tsynxw" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Blocked</div><div dir="auto" class="css-146c3p1 r-evnaw r-b88u0q r-19qrga8" style="color:rgba(22,154,88,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0 failed jobs</div></div></div><div class="css-g5y9jx r-eqz5dr"><div class="css-g5y9jx r-1867qdf r-rs99b7 r-k3250r r-15d164r r-xyw6el" style="border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00);background-color:rgba(255,255,255,1.00)"><div class="css-g5y9jx r-1awozwy r-18u37iz r-1wtj0ep"><div dir="auto" class="css-146c3p1 r-ubezar r-b88u0q r-5oul0u" style="color:rgba(17,34,48,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Change Coordination Board</div><div dir="auto" class="css-146c3p1 r-1gkfh8e r-1g94qm0" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">0<!-- --> latest requests</div></div><div class="css-g5y9jx r-1habvwh r-1867qdf r-nsbfu8"><div dir="auto" class="css-146c3p1 r-1i10wst r-b88u0q r-15zivkp" style="color:rgba(17,34,48,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Nothing to coordinate yet</div><div dir="auto" class="css-146c3p1 r-n6v787 r-hjklzo" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Send a task from chat and this board will trace the full handoff from request to integration.</div></div></div><div class="css-g5y9jx r-1867qdf r-rs99b7 r-jprt8p r-15d164r r-11wrixw r-xyw6el" style="border-top-color:rgba(207,218,226,1.00);border-right-color:rgba(207,218,226,1.00);border-bottom-color:rgba(207,218,226,1.00);border-left-color:rgba(207,218,226,1.00);background-color:rgba(255,255,255,1.00)"><div dir="auto" class="css-146c3p1 r-ubezar r-b88u0q r-5oul0u" style="color:rgba(17,34,48,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">Review Queue</div><div dir="auto" class="css-146c3p1 r-n6v787 r-hjklzo" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">No processed completions yet.</div><div dir="auto" class="css-146c3p1 r-ubezar r-b88u0q r-5oul0u" style="color:rgba(17,34,48,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif;margin-top:14px">Needs Attention</div><div dir="auto" class="css-146c3p1 r-n6v787 r-hjklzo" style="color:rgba(84,112,134,1.00);font-family:&#x27;Space Grotesk&#x27;, &#x27;Avenir Next&#x27;, &#x27;Trebuchet MS&#x27;, sans-serif">No failed coordination chains.</div></div></div></div></div></div></div></div></div></div></div><!--/$--></div></div></div></div><!--/$--></div></div><script src="/_expo/static/js/web/entry-5e6db7139bc13703a24f952bd64faf4c.js" defer></script>
439
439
  </body></html>
@@ -435,5 +435,5 @@ input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-web
435
435
  @keyframes r-1pzkwqh{0%{transform:translateY(100%);}100%{transform:translateY(0%);}}
436
436
  @keyframes r-imtty0{0%{opacity:0;}100%{opacity:1;}}
437
437
  @keyframes r-q67da2{0%{transform:translateX(-100%);}100%{transform:translateX(400%);}}
438
- @keyframes r-t2lo5v{0%{opacity:1;}100%{opacity:0;}}</style><script type="module">globalThis.__EXPO_ROUTER_HYDRATE__=true;</script><link rel="icon" href="/favicon.ico" /></head><body><div id="root"><div class="css-g5y9jx r-13awgt0"><!--$--><div style="position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none;visibility:hidden"></div><div class="css-g5y9jx r-13awgt0"><div class="css-g5y9jx r-13awgt0 r-1p0dtai r-1d2f490 r-u8s1d r-zchlnj r-ipm5af" style="background-color:rgba(242,242,242,1.00);display:flex"><div class="css-g5y9jx r-184en5c r-12vffkv"><div class="css-g5y9jx r-12vffkv" style="height:64px"><div class="css-g5y9jx r-1p0dtai r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-12vffkv"><div class="css-g5y9jx r-qklmqi r-13awgt0 r-105ug2t" style="background-color:rgba(255,255,255,1.00);border-bottom-color:rgba(216,216,216,1.00)"></div></div><div class="css-g5y9jx r-633pao" style="height:0px"></div><div class="css-g5y9jx r-1oszu61 r-13awgt0 r-18u37iz r-12vffkv"><div class="css-g5y9jx r-1awozwy r-18u37iz r-1h0z5md r-12vffkv" style="margin-left:0px"></div><div class="css-g5y9jx r-1777fci r-12vffkv" style="max-width:-32px;margin-right:16px;margin-left:16px"><h1 dir="auto" aria-level="1" role="heading" class="css-146c3p1 r-dnmrzs r-1udh08x r-1udbk01 r-3s2u2q r-1iln25a r-1i10wst" style="color:rgba(28,28,30,1.00);font-family:system-ui, &quot;Segoe UI&quot;, Roboto, Helvetica, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;;font-weight:500">Modal</h1></div><div class="css-g5y9jx r-1awozwy r-18u37iz r-17s6mgv r-1iusvr4 r-16y2uox r-12vffkv" style="margin-right:0px"></div></div></div></div><div class="css-g5y9jx r-13awgt0"><div class="css-g5y9jx r-13awgt0"><!--$--><div class="css-g5y9jx r-1awozwy r-13awgt0 r-1777fci r-1pcd2l5" style="background-color:rgba(255,255,255,1.00)"><div dir="auto" class="css-146c3p1 r-1ui5ee8 r-vw2c0b r-37tt59" style="color:rgba(17,24,28,1.00)">This is a modal</div><a href="/" dir="auto" role="link" class="css-146c3p1 r-19h5ruw r-1d7mnkm r-1loqt21"><span class="css-1jxf684 r-1v78gzs r-ubezar r-17rnw9f">Go to home screen</span></a></div><!--/$--></div></div></div></div><!--/$--></div></div><script src="/_expo/static/js/web/entry-275c5f7972e2d2f4f0422fe2213a7f89.js" defer></script>
438
+ @keyframes r-t2lo5v{0%{opacity:1;}100%{opacity:0;}}</style><script type="module">globalThis.__EXPO_ROUTER_HYDRATE__=true;</script><link rel="icon" href="/favicon.ico" /></head><body><div id="root"><div class="css-g5y9jx r-13awgt0"><!--$--><div style="position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none;visibility:hidden"></div><div class="css-g5y9jx r-13awgt0"><div class="css-g5y9jx r-13awgt0 r-1p0dtai r-1d2f490 r-u8s1d r-zchlnj r-ipm5af" style="background-color:rgba(242,242,242,1.00);display:flex"><div class="css-g5y9jx r-184en5c r-12vffkv"><div class="css-g5y9jx r-12vffkv" style="height:64px"><div class="css-g5y9jx r-1p0dtai r-1d2f490 r-u8s1d r-zchlnj r-ipm5af r-12vffkv"><div class="css-g5y9jx r-qklmqi r-13awgt0 r-105ug2t" style="background-color:rgba(255,255,255,1.00);border-bottom-color:rgba(216,216,216,1.00)"></div></div><div class="css-g5y9jx r-633pao" style="height:0px"></div><div class="css-g5y9jx r-1oszu61 r-13awgt0 r-18u37iz r-12vffkv"><div class="css-g5y9jx r-1awozwy r-18u37iz r-1h0z5md r-12vffkv" style="margin-left:0px"></div><div class="css-g5y9jx r-1777fci r-12vffkv" style="max-width:-32px;margin-right:16px;margin-left:16px"><h1 dir="auto" aria-level="1" role="heading" class="css-146c3p1 r-dnmrzs r-1udh08x r-1udbk01 r-3s2u2q r-1iln25a r-1i10wst" style="color:rgba(28,28,30,1.00);font-family:system-ui, &quot;Segoe UI&quot;, Roboto, Helvetica, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;;font-weight:500">Modal</h1></div><div class="css-g5y9jx r-1awozwy r-18u37iz r-17s6mgv r-1iusvr4 r-16y2uox r-12vffkv" style="margin-right:0px"></div></div></div></div><div class="css-g5y9jx r-13awgt0"><div class="css-g5y9jx r-13awgt0"><!--$--><div class="css-g5y9jx r-1awozwy r-13awgt0 r-1777fci r-1pcd2l5" style="background-color:rgba(255,255,255,1.00)"><div dir="auto" class="css-146c3p1 r-1ui5ee8 r-vw2c0b r-37tt59" style="color:rgba(17,24,28,1.00)">This is a modal</div><a href="/" dir="auto" role="link" class="css-146c3p1 r-19h5ruw r-1d7mnkm r-1loqt21"><span class="css-1jxf684 r-1v78gzs r-ubezar r-17rnw9f">Go to home screen</span></a></div><!--/$--></div></div></div></div><!--/$--></div></div><script src="/_expo/static/js/web/entry-5e6db7139bc13703a24f952bd64faf4c.js" defer></script>
439
439
  </body></html>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pushpalsdev/cli",
3
- "version": "1.0.32",
3
+ "version": "1.0.34",
4
4
  "description": "PushPals terminal CLI for LocalBuddy -> RemoteBuddy orchestration",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1,3 +1,2 @@
1
-
2
1
  Git diff (truncated):
3
2
  {{git_diff}}
@@ -1,3 +1,2 @@
1
-
2
1
  Git status:
3
2
  {{git_status}}
@@ -1,4 +1,5 @@
1
1
  Planner-specific output contract:
2
+
2
3
  - For this response, output STRICT JSON only.
3
4
  - JSON shape: { "tasks": [{ "title": string, "description": string, "toolsNeeded": string[], "confidence": number }] }
4
5
  - Do not include markdown, prose, or code fences.
@@ -2,38 +2,39 @@ You are RemoteBuddyAutonomousEngine ideation planner for a monorepo.
2
2
  Generate objective candidates only from provided evidence signals.
3
3
  Return strict JSON with this shape:
4
4
  {
5
- "candidates": [{
6
- "id": "cand_...",
7
- "title": "...",
8
- "objective_type": "flaky_test|lint_fix|type_fix|small_refactor|feature_small|feature_medium|feature_large|docs|dep_bump",
9
- "problem_statement": "...",
10
- "trigger_type": "test_failure|lint_failure|typecheck_failure|queue_health|regret_signal",
11
- "component_area": "apps/server|apps/remotebuddy|apps/workerpals|apps/client|packages/protocol|packages/shared|tests/integration|tests/unit",
12
- "target_paths": ["repo/relative/path"],
13
- "scope": { "read_anywhere": false, "write_globs": ["repo/relative/glob"] },
14
- "risk_level": "low|medium|high",
15
- "expected_validation": ["command"],
16
- "estimated_effort": "small|medium|large",
17
- "why_now_signal_ids": ["sig_x"],
18
- "confidence": 0.0,
19
- "vision_alignment_reason": "...",
20
- "vision_section_refs": ["6", "9"],
21
- "feature_hypotheses": ["feature idea A", "feature idea B"],
22
- "engine_trial": {
23
- "building_block_id": "short_id",
24
- "algorithm": "algorithm label",
25
- "source": "llm|engine_mapped|engine_fallback",
26
- "score": 0.0,
27
- "objective_ids": ["objective_id"],
28
- "gap_ids": ["gap_id"],
29
- "summary": "short summary",
30
- "hypothesis": "short hypothesis"
31
- },
32
- "requires_user_input": false,
33
- "question_if_blocked": ""
34
- }]
5
+ "candidates": [{
6
+ "id": "cand\_...",
7
+ "title": "...",
8
+ "objective_type": "flaky_test|lint_fix|type_fix|small_refactor|feature_small|feature_medium|feature_large|docs|dep_bump",
9
+ "problem_statement": "...",
10
+ "trigger_type": "test_failure|lint_failure|typecheck_failure|queue_health|regret_signal",
11
+ "component_area": "apps/server|apps/remotebuddy|apps/workerpals|apps/client|packages/protocol|packages/shared|tests/integration|tests/unit",
12
+ "target_paths": ["repo/relative/path"],
13
+ "scope": { "read_anywhere": false, "write_globs": ["repo/relative/glob"] },
14
+ "risk_level": "low|medium|high",
15
+ "expected_validation": ["command"],
16
+ "estimated_effort": "small|medium|large",
17
+ "why_now_signal_ids": ["sig_x"],
18
+ "confidence": 0.0,
19
+ "vision_alignment_reason": "...",
20
+ "vision_section_refs": ["6", "9"],
21
+ "feature_hypotheses": ["feature idea A", "feature idea B"],
22
+ "engine_trial": {
23
+ "building_block_id": "short_id",
24
+ "algorithm": "algorithm label",
25
+ "source": "llm|engine_mapped|engine_fallback",
26
+ "score": 0.0,
27
+ "objective_ids": ["objective_id"],
28
+ "gap_ids": ["gap_id"],
29
+ "summary": "short summary",
30
+ "hypothesis": "short hypothesis"
31
+ },
32
+ "requires_user_input": false,
33
+ "question_if_blocked": ""
34
+ }]
35
35
  }
36
36
  Constraints:
37
+
37
38
  - You will receive `vision.markdown`; use it as inspiration and prioritize candidates that clearly advance that vision.
38
39
  - You will also receive `vision.sections`; if numbered sections are present, cite at least one section number in `vision_section_refs`.
39
40
  - You will also receive `vision.key_items`; prioritize alignment with `priorities` + `objectives`, respect `guardrails` + `constraints`, and avoid `non_goals`.
@@ -1,6 +1,6 @@
1
1
  Score each candidate and return top ids.
2
2
  Return strict JSON:
3
3
  {
4
- "scores": [{ "id": "cand_1", "llm_score": 0.0, "rationale": "..." }],
5
- "top_candidate_ids": ["cand_1", "cand_2", "cand_3"]
4
+ "scores": [{ "id": "cand_1", "llm_score": 0.0, "rationale": "..." }],
5
+ "top_candidate_ids": ["cand_1", "cand_2", "cand_3"]
6
6
  }
@@ -5,6 +5,7 @@ Current packed memory:
5
5
  {{current_memory}}
6
6
 
7
7
  Update the packed memory with maximal fidelity. Requirements:
8
+
8
9
  - Preserve concrete instructions, constraints, IDs, file paths, env vars, and error text.
9
10
  - Keep conflicting details if present; do not silently discard.
10
11
  - Keep output under {{memory_char_budget}} characters.