@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.
- package/dist/pushpals-cli.js +4 -4
- package/monitor-ui/+not-found.html +1 -1
- package/monitor-ui/_expo/static/js/web/{entry-275c5f7972e2d2f4f0422fe2213a7f89.js → entry-5e6db7139bc13703a24f952bd64faf4c.js} +2 -2
- package/monitor-ui/_sitemap.html +1 -1
- package/monitor-ui/index.html +1 -1
- package/monitor-ui/modal.html +1 -1
- package/package.json +1 -1
- package/runtime/prompts/localbuddy/localbuddy_planner_git_diff_section.md +0 -1
- package/runtime/prompts/localbuddy/localbuddy_planner_git_status_section.md +0 -1
- package/runtime/prompts/localbuddy/localbuddy_planner_output_contract.md +1 -0
- package/runtime/prompts/remotebuddy/autonomy_ideation_system_prompt.md +31 -30
- package/runtime/prompts/remotebuddy/autonomy_scoring_system_prompt.md +2 -2
- package/runtime/prompts/remotebuddy/context_packer_user_prompt.md +1 -0
- package/runtime/prompts/remotebuddy/remotebuddy_system_prompt.md +1 -0
- package/runtime/prompts/review_agent/review_prompt_template.md +1 -0
- package/runtime/prompts/review_agent/reviewer.md +6 -4
- package/runtime/prompts/workerpals/commit_message_prompt.md +3 -0
- package/runtime/prompts/workerpals/miniswe_broker_system_prompt.md +10 -9
- package/runtime/prompts/workerpals/miniswe_strict_tool_use_guidance.md +1 -0
- package/runtime/prompts/workerpals/openai_codex_runtime_policy_appendix.md +1 -0
- package/runtime/prompts/workerpals/openai_codex_task_execute_system_prompt.md +2 -0
- package/runtime/prompts/workerpals/task_quality_critic_system_prompt.md +3 -2
- package/runtime/sandbox/apps/workerpals/src/backends/openai_codex_backend.ts +4 -4
- package/runtime/sandbox/apps/workerpals/src/backends/openhands_task_execute.ts +1 -4
- package/runtime/sandbox/apps/workerpals/src/common/execution_utils.ts +5 -3
- package/runtime/sandbox/apps/workerpals/src/common/generic_python_executor.ts +1 -4
- package/runtime/sandbox/apps/workerpals/src/common/worktree_cleanup.ts +3 -2
- package/runtime/sandbox/apps/workerpals/src/docker_executor.ts +132 -32
- package/runtime/sandbox/apps/workerpals/src/execute_job.ts +7 -7
- package/runtime/sandbox/apps/workerpals/src/job_runner.ts +7 -4
- package/runtime/sandbox/apps/workerpals/src/workerpals_main.ts +46 -27
- package/runtime/sandbox/packages/shared/src/autonomy_policy.ts +8 -3
- package/runtime/sandbox/packages/shared/src/communication.ts +19 -8
- package/runtime/sandbox/packages/shared/src/config.ts +9 -24
- package/runtime/sandbox/packages/shared/src/config_template_parity.ts +5 -6
- package/runtime/sandbox/packages/shared/src/git_backend.ts +5 -9
- package/runtime/sandbox/packages/shared/src/local_network.ts +3 -1
- package/runtime/sandbox/packages/shared/src/localbuddy_runtime.ts +4 -5
- package/runtime/sandbox/packages/shared/src/vision.ts +6 -2
- package/runtime/sandbox/prompts/workerpals/commit_message_prompt.md +3 -0
- package/runtime/sandbox/prompts/workerpals/miniswe_broker_system_prompt.md +10 -9
- package/runtime/sandbox/prompts/workerpals/miniswe_strict_tool_use_guidance.md +1 -0
- package/runtime/sandbox/prompts/workerpals/openai_codex_runtime_policy_appendix.md +1 -0
- package/runtime/sandbox/prompts/workerpals/openai_codex_task_execute_system_prompt.md +2 -0
- package/runtime/sandbox/prompts/workerpals/task_quality_critic_system_prompt.md +3 -2
- package/runtime/vision.example.md +24 -5
package/dist/pushpals-cli.js
CHANGED
|
@@ -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 = [
|
|
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-
|
|
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?"
|
|
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,[]);
|
package/monitor-ui/_sitemap.html
CHANGED
|
@@ -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-
|
|
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>
|
package/monitor-ui/index.html
CHANGED
|
@@ -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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', sans-serif">Current repo:<!-- --> <span class="css-1jxf684 r-1enofrn" style="color:rgba(84,112,134,1.00);font-family:'IBM Plex Mono', 'JetBrains Mono', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', sans-serif">Snapshot:<!-- --> <span class="css-1jxf684 r-1enofrn" style="color:rgba(17,34,48,1.00);font-family:'IBM Plex Mono', 'JetBrains Mono', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', sans-serif">Disconnected</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', sans-serif">0</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', sans-serif">0</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', sans-serif">--</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', sans-serif">Requests<!-- --> (0)</div></button><button aria-label="Jobs & 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', sans-serif">Jobs & 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', sans-serif">0</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', sans-serif">0</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', sans-serif">0</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', sans-serif">0</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', sans-serif">Current repo:<!-- --> <span class="css-1jxf684 r-1enofrn" style="color:rgba(84,112,134,1.00);font-family:'IBM Plex Mono', 'JetBrains Mono', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', sans-serif">Snapshot:<!-- --> <span class="css-1jxf684 r-1enofrn" style="color:rgba(17,34,48,1.00);font-family:'IBM Plex Mono', 'JetBrains Mono', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', sans-serif">Disconnected</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', sans-serif">0</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', sans-serif">0</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', sans-serif">--</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', sans-serif">Requests<!-- --> (0)</div></button><button aria-label="Jobs & 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', sans-serif">Jobs & 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', sans-serif">0</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', sans-serif">0</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', sans-serif">0</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', sans-serif">0</div><div dir="auto" class="css-146c3p1 r-1enofrn r-19qrga8" style="color:rgba(84,112,134,1.00);font-family:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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:'Space Grotesk', 'Avenir Next', 'Trebuchet MS', 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>
|
package/monitor-ui/modal.html
CHANGED
|
@@ -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, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";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-
|
|
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, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";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
|
@@ -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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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
|
-
|
|
5
|
-
|
|
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.
|