jeopi-cli 16.2.26 → 16.2.28
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/CHANGELOG.md +18 -0
- package/README.md +1 -1
- package/dist/cli.js +3076 -3082
- package/dist/types/advisor/runtime.d.ts +3 -0
- package/dist/types/commands/install.d.ts +1 -1
- package/dist/types/discovery/helpers.d.ts +1 -1
- package/dist/types/export/html/index.d.ts +2 -2
- package/dist/types/export/html/web-palette.d.ts +2 -2
- package/dist/types/session/session-history-format.d.ts +12 -0
- package/dist/types/tiny/text.d.ts +9 -2
- package/dist/types/tools/report-tool-issue.d.ts +1 -1
- package/package.json +13 -12
- package/scripts/generate-share-viewer.ts +5 -5
- package/scripts/jeopi +4 -4
- package/scripts/{omp.ts → jeopi-preload.ts} +4 -4
- package/src/advisor/__tests__/advisor.test.ts +43 -0
- package/src/advisor/runtime.ts +8 -2
- package/src/commands/install.ts +1 -1
- package/src/debug/report-bundle.ts +1 -1
- package/src/debug/system-info.ts +2 -2
- package/src/discovery/builtin.ts +4 -4
- package/src/discovery/helpers.ts +2 -2
- package/src/discovery/omp-plugins.ts +3 -3
- package/src/discovery/ssh.ts +1 -1
- package/src/export/html/index.ts +2 -2
- package/src/export/html/share-loader.js +5 -5
- package/src/export/html/template.css +2 -2
- package/src/export/html/template.js +5 -5
- package/src/export/html/tool-views.generated.js +2 -2
- package/src/export/html/web-palette.ts +2 -2
- package/src/export/share.ts +1 -1
- package/src/internal-urls/docs-index.generated.txt +1 -1
- package/src/memories/index.ts +23 -1
- package/src/modes/acp/acp-agent.ts +12 -6
- package/src/modes/controllers/selector-controller.ts +16 -2
- package/src/session/agent-session.ts +13 -15
- package/src/session/session-history-format.ts +18 -1
- package/src/tiny/text.ts +11 -8
- package/src/tools/image-gen.ts +2 -4
- package/src/tools/report-tool-issue.ts +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Auto-generated by packages/collab-web/scripts/build-tool-views.ts - DO NOT EDIT
|
|
2
|
-
(()=>{var s=document.createElement("style");s.dataset.
|
|
2
|
+
(()=>{var s=document.createElement("style");s.dataset.jeopiToolViews="";s.textContent=".tv-card{--tv-fg:var(--fg,var(--text,oklch(.92 .01 307)));--tv-muted:var(--fg-muted,var(--muted,oklch(.71 .016 307)));--tv-faint:var(--fg-faint,var(--dim,oklch(.53 .018 307)));--tv-accent:var(--accent,oklch(.674 .23 341));--tv-ok:var(--ok,var(--success,oklch(.76 .14 150)));--tv-err:var(--err,var(--error,oklch(.66 .19 25)));--tv-warn:var(--warn,var(--warning,oklch(.79 .14 85)));--tv-border:var(--border,oklch(1 0 0/9%));--tv-inset:var(--bg-inset,var(--info-bg,oklch(0 0 0/22%)));--tv-raised:var(--bg-raised,var(--container-bg,oklch(1 0 0/4%)));--tv-ring:var(--ring,oklch(.817 .112 205/70%));--tv-mono:var(--font-mono,ui-monospace,\"SF Mono\",\"Cascadia Mono\",Menlo,Consolas,monospace);border:1px solid var(--tv-border);font-family:var(--tv-mono);color:var(--tv-fg);isolation:isolate;overflow:hidden;border-radius:6px;font-size:12px;line-height:1.5}.tv-card--error{border-color:color-mix(in oklch,var(--tv-err)40%,var(--tv-border))}.tv-head{display:flex;font:inherit;color:inherit;text-align:left;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items: center;gap:8px;width:100%;padding:5px 10px}.tv-head:hover{background:color-mix(in oklch,var(--tv-fg)4%,transparent)}.tv-head:focus-visible{outline:2px solid var(--tv-ring);outline-offset:-2px}.tv-status{border-radius:50%;flex:none;width:7px;height:7px}.tv-status--ok{background:var(--tv-ok)}.tv-status--err{background:var(--tv-err)}.tv-status--pending{background:var(--tv-faint)}.tv-spin{border:1.5px solid color-mix(in oklch,var(--tv-faint)50%,transparent);border-top-color:var(--tv-accent);animation:tv-rot .7s linear infinite;border-radius:50%;flex:none;width:9px;height:9px}.tv-name{letter-spacing:.02em;color:var(--tv-muted);flex:none;font-size:11px;font-weight:600}.tv-sum{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tv-muted);flex:1;min-width:0;font-size:11.5px}.tv-sum>*{white-space:nowrap}.tv-chev{border-right:1.5px solid var(--tv-faint);border-bottom:1.5px solid var(--tv-faint);flex:none;width:7px;height:7px;margin-left:2px;transition:transform .15s;transform:rotate(-45deg)translateY(-1px)}.tv-head[aria-expanded=true] .tv-chev{transform:rotate(45deg)}.tv-body{display:flex;border-top:1px solid var(--tv-border);flex-direction:column;gap:8px;padding:8px 10px 10px}.tv-intent{color:var(--tv-faint);font-size:11px;font-style:italic}.tv-partial{border-top:1px solid var(--tv-border);color:var(--tv-faint);white-space:pre-wrap;overflow-wrap:anywhere;overflow-y:auto;max-height:160px;margin:0;padding:6px 10px;font-size:11px;line-height:1.45}.tv-badge{display:inline-block;background:var(--tv-raised);color:var(--tv-muted);vertical-align:1px;border-radius:3px;padding:0 5px;font-size:10px;line-height:16px}.tv-badge--accent{background:color-mix(in oklch,var(--tv-accent)16%,transparent);color:color-mix(in oklch,var(--tv-accent)80%,var(--tv-fg))}.tv-badge--ok{background:color-mix(in oklch,var(--tv-ok)14%,transparent);color:var(--tv-ok)}.tv-badge--err{background:color-mix(in oklch,var(--tv-err)14%,transparent);color:var(--tv-err)}.tv-badge--warn{background:color-mix(in oklch,var(--tv-warn)14%,transparent);color:var(--tv-warn)}.tv-badges{display:inline-flex;flex-wrap:wrap;gap:4px}.tv-path{color:var(--tv-fg)}.tv-lines{color:var(--tv-faint)}.tv-pattern{color:color-mix(in oklch,var(--tv-accent)75%,var(--tv-fg))}.tv-muted{color:var(--tv-muted)}.tv-faint{color:var(--tv-faint)}.tv-err-text{color:var(--tv-err)}.tv-ok-text{color:var(--tv-ok)}.tv-agent-link{font:inherit;cursor:pointer;border:0;font-size:10px}.tv-agent-link:hover{background:color-mix(in oklch,var(--tv-accent)26%,transparent);text-decoration:underline}.tv-agent-link:focus-visible{outline:2px solid var(--tv-ring);outline-offset:1px}.tv-agent-link-arrow{opacity:.7}.tv-warn-text{color:var(--tv-warn)}.tv-trunc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tv-kv{display:grid;grid-template-columns:max-content 1fr;gap:2px 10px;font-size:11.5px}.tv-kv-key{color:var(--tv-faint)}.tv-kv-val{color:var(--tv-fg);overflow-wrap:anywhere;min-width:0}.tv-out{display:flex;flex-direction:column;min-width:0}.tv-pre{background:var(--tv-inset);font-family:var(--tv-mono);overflow-x:auto;tab-size:3;border-radius:4px;margin:0;padding:7px 9px;font-size:11.5px;line-height:1.5}.tv-pre--wrap{white-space:pre-wrap;overflow-wrap:anywhere}.tv-pre--bare{background:0 0;padding:0 1px}.tv-pre--error{color:var(--tv-err)}.tv-out-title{letter-spacing:.05em;text-transform:uppercase;color:var(--tv-faint);padding:0 1px 3px;font-size:10px}.tv-expand{font-family:var(--tv-mono);color:var(--tv-faint);cursor:pointer;background:0 0;border:0;align-self: flex-start;margin-top:3px;padding:0 1px;font-size:10.5px}.tv-expand:hover{color:var(--tv-fg);text-decoration:underline}.tv-expand:focus-visible{outline:2px solid var(--tv-ring);outline-offset:1px;border-radius:2px}.tv-cmd{display:flex;gap:7px;font-size:11.5px}.tv-cmd-prompt{color:var(--tv-accent);user-select:none;flex:none}.tv-cmd-text{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.tv-cmd-env{color:var(--tv-faint)}.tv-diff{background:var(--tv-inset);overflow-x:auto;border-radius:4px;margin:0;padding:5px 0;font-size:11.5px;line-height:1.5}.tv-diff-row{white-space:pre;padding:0 9px}.tv-diff-row--add{background:color-mix(in oklch,var(--tv-ok)11%,transparent);color:color-mix(in oklch,var(--tv-ok)70%,var(--tv-fg))}.tv-diff-row--del{background:color-mix(in oklch,var(--tv-err)11%,transparent);color:color-mix(in oklch,var(--tv-err)70%,var(--tv-fg))}.tv-diff-row--hunk{color:var(--tv-faint)}.tv-diff-row--gap{color:var(--tv-faint);user-select:none}.tv-cells{display:flex;flex-direction:column;gap:8px}.tv-cell{display:flex;flex-direction:column;min-width:0}.tv-cell-title{letter-spacing:.05em;text-transform:uppercase;color:var(--tv-faint);padding:0 1px 3px;font-size:10px}.tv-list{display:flex;flex-direction:column;gap:3px;font-size:11.5px}.tv-row{display:flex;gap:7px;min-width:0}.tv-row-key{color:var(--tv-faint);flex:none}.tv-row-val{overflow-wrap:anywhere;min-width:0}.tv-todo{display:flex;flex-direction:column;gap:2px;font-size:11.5px}.tv-todo-phase{color:var(--tv-muted);letter-spacing:.04em;text-transform:uppercase;margin-top:4px;font-size:10.5px;font-weight:600}.tv-todo-phase:first-child{margin-top:0}.tv-task{display:flex;color:var(--tv-fg);gap:7px}.tv-task-icon{text-align:center;color:var(--tv-faint);flex:none;width:12px}.tv-task--completed{color:var(--tv-faint)}.tv-task--completed .tv-task-icon{color:var(--tv-ok)}.tv-task--in_progress .tv-task-icon{color:var(--tv-accent)}.tv-task--in_progress{color:var(--tv-fg)}.tv-task--abandoned{color:var(--tv-faint);text-decoration:line-through}.tv-note{background:var(--tv-raised);color:var(--tv-muted);overflow-wrap:anywhere;border-radius:4px;padding:6px 9px;font-size:11.5px}.tv-note--err{background:color-mix(in oklch,var(--tv-err)10%,transparent);color:var(--tv-err)}.tv-note--warn{background:color-mix(in oklch,var(--tv-warn)10%,transparent);color:var(--tv-warn)}.tv-note--ok{background:color-mix(in oklch,var(--tv-ok)10%,transparent);color:var(--tv-ok)}.tv-imgs{display:flex;flex-wrap:wrap;gap:6px}.tv-img{border:1px solid var(--tv-border);cursor:zoom-in;background:var(--tv-inset);border-radius:4px;max-width:100%;max-height:180px}.tv-prose{color:var(--tv-fg);white-space:pre-wrap;overflow-wrap:anywhere;font-size:11.5px;line-height:1.55}.tv-pre .hljs-comment,.tv-pre .hljs-quote{color:var(--tv-faint);font-style:italic}.tv-pre .hljs-keyword,.tv-pre .hljs-selector-tag,.tv-pre .hljs-section,.tv-pre .hljs-name,.tv-pre .hljs-tag{color:color-mix(in oklch,var(--tv-accent)72%,var(--tv-fg))}.tv-pre .hljs-string,.tv-pre .hljs-regexp,.tv-pre .hljs-addition{color:var(--tv-ok)}.tv-pre .hljs-number,.tv-pre .hljs-literal,.tv-pre .hljs-symbol,.tv-pre .hljs-bullet,.tv-pre .hljs-link,.tv-pre .hljs-meta{color:var(--tv-warn)}.tv-pre .hljs-title,.tv-pre .hljs-attr,.tv-pre .hljs-attribute,.tv-pre .hljs-selector-id,.tv-pre .hljs-selector-class,.tv-pre .hljs-type,.tv-pre .hljs-built_in{color:color-mix(in oklch,var(--tv-fg)80%,var(--tv-accent))}.tv-pre .hljs-deletion{color:var(--tv-err)}.tv-pre .hljs-emphasis{font-style:italic}.tv-pre .hljs-strong{font-weight:600}@keyframes tv-rot{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.tv-spin{animation:tv-pulse 1.4s ease-in-out infinite}.tv-chev{transition:none}@keyframes tv-pulse{50%{opacity:.35}}}";(document.head||document.documentElement).appendChild(s);})();
|
|
3
3
|
(()=>{var VA=Object.create;var{getPrototypeOf:OA,defineProperty:U8,getOwnPropertyNames:FA}=Object;var NA=Object.prototype.hasOwnProperty;function IA(Y){return this[Y]}var TA,KA,K=(Y,Z,X)=>{var f=Y!=null&&typeof Y==="object";if(f){var G=Z?TA??=new WeakMap:KA??=new WeakMap,z=G.get(Y);if(z)return z}X=Y!=null?VA(OA(Y)):{};let J=Z||!Y||!Y.__esModule?U8(X,"default",{value:Y,enumerable:!0}):X;for(let U of FA(Y))if(!NA.call(J,U))U8(J,U,{get:IA.bind(Y,U),enumerable:!0});if(f)G.set(Y,J);return J};var n7=(Y,Z)=>()=>(Z||Y((Z={exports:{}}).exports,Z),Z.exports);var _8=n7(($0)=>{function Q1(Y,Z){var X=Y.length;Y.push(Z);Y:for(;0<X;){var f=X-1>>>1,G=Y[f];if(0<kX(G,Z))Y[f]=Z,Y[X]=G,X=f;else break Y}}function r7(Y){return Y.length===0?null:Y[0]}function vX(Y){if(Y.length===0)return null;var Z=Y[0],X=Y.pop();if(X!==Z){Y[0]=X;Y:for(var f=0,G=Y.length,z=G>>>1;f<z;){var J=2*(f+1)-1,U=Y[J],H=J+1,W=Y[H];if(0>kX(U,X))H<G&&0>kX(W,U)?(Y[f]=W,Y[H]=X,f=H):(Y[f]=U,Y[J]=X,f=J);else if(H<G&&0>kX(W,X))Y[f]=W,Y[H]=X,f=H;else break Y}}return Z}function kX(Y,Z){var X=Y.sortIndex-Z.sortIndex;return X!==0?X:Y.id-Z.id}$0.unstable_now=void 0;if(typeof performance==="object"&&typeof performance.now==="function")M1=performance,$0.unstable_now=function(){return M1.now()};else bX=Date,_1=bX.now(),$0.unstable_now=function(){return bX.now()-_1};var M1,bX,_1,f6=[],K6=[],$A=1,E7=null,J7=3,R1=!1,VZ=!1,OZ=!1,L1=!1,A8=typeof setTimeout==="function"?setTimeout:null,W8=typeof clearTimeout==="function"?clearTimeout:null,H8=typeof setImmediate<"u"?setImmediate:null;function PX(Y){for(var Z=r7(K6);Z!==null;){if(Z.callback===null)vX(K6);else if(Z.startTime<=Y)vX(K6),Z.sortIndex=Z.expirationTime,Q1(f6,Z);else break;Z=r7(K6)}}function D1(Y){if(OZ=!1,PX(Y),!VZ)if(r7(f6)!==null)VZ=!0,KY||(KY=!0,TY());else{var Z=r7(K6);Z!==null&&B1(D1,Z.startTime-Y)}}var KY=!1,FZ=-1,q8=5,Q8=-1;function M8(){return L1?!0:$0.unstable_now()-Q8<q8?!1:!0}function q1(){if(L1=!1,KY){var Y=$0.unstable_now();Q8=Y;var Z=!0;try{Y:{VZ=!1,OZ&&(OZ=!1,W8(FZ),FZ=-1),R1=!0;var X=J7;try{Z:{PX(Y);for(E7=r7(f6);E7!==null&&!(E7.expirationTime>Y&&M8());){var f=E7.callback;if(typeof f==="function"){E7.callback=null,J7=E7.priorityLevel;var G=f(E7.expirationTime<=Y);if(Y=$0.unstable_now(),typeof G==="function"){E7.callback=G,PX(Y),Z=!0;break Z}E7===r7(f6)&&vX(f6),PX(Y)}else vX(f6);E7=r7(f6)}if(E7!==null)Z=!0;else{var z=r7(K6);z!==null&&B1(D1,z.startTime-Y),Z=!1}}break Y}finally{E7=null,J7=X,R1=!1}Z=void 0}}finally{Z?TY():KY=!1}}}var TY;if(typeof H8==="function")TY=function(){H8(q1)};else if(typeof MessageChannel<"u")EX=new MessageChannel,w1=EX.port2,EX.port1.onmessage=q1,TY=function(){w1.postMessage(null)};else TY=function(){A8(q1,0)};var EX,w1;function B1(Y,Z){FZ=A8(function(){Y($0.unstable_now())},Z)}$0.unstable_IdlePriority=5;$0.unstable_ImmediatePriority=1;$0.unstable_LowPriority=4;$0.unstable_NormalPriority=3;$0.unstable_Profiling=null;$0.unstable_UserBlockingPriority=2;$0.unstable_cancelCallback=function(Y){Y.callback=null};$0.unstable_forceFrameRate=function(Y){0>Y||125<Y?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):q8=0<Y?Math.floor(1000/Y):5};$0.unstable_getCurrentPriorityLevel=function(){return J7};$0.unstable_next=function(Y){switch(J7){case 1:case 2:case 3:var Z=3;break;default:Z=J7}var X=J7;J7=Z;try{return Y()}finally{J7=X}};$0.unstable_requestPaint=function(){L1=!0};$0.unstable_runWithPriority=function(Y,Z){switch(Y){case 1:case 2:case 3:case 4:case 5:break;default:Y=3}var X=J7;J7=Y;try{return Z()}finally{J7=X}};$0.unstable_scheduleCallback=function(Y,Z,X){var f=$0.unstable_now();switch(typeof X==="object"&&X!==null?(X=X.delay,X=typeof X==="number"&&0<X?f+X:f):X=f,Y){case 1:var G=-1;break;case 2:G=250;break;case 5:G=1073741823;break;case 4:G=1e4;break;default:G=5000}return G=X+G,Y={id:$A++,callback:Z,priorityLevel:Y,startTime:X,expirationTime:G,sortIndex:-1},X>f?(Y.sortIndex=X,Q1(K6,Y),r7(f6)===null&&Y===r7(K6)&&(OZ?(W8(FZ),FZ=-1):OZ=!0,B1(D1,X-f))):(Y.sortIndex=G,Q1(f6,Y),VZ||R1||(VZ=!0,KY||(KY=!0,TY()))),Y};$0.unstable_shouldYield=M8;$0.unstable_wrapCallback=function(Y){var Z=J7;return function(){var X=J7;J7=Z;try{return Y.apply(this,arguments)}finally{J7=X}}}});var w8=n7((MM,R8)=>{R8.exports=_8()});var $8=n7((l)=>{var F1=Symbol.for("react.transitional.element"),SA=Symbol.for("react.portal"),CA=Symbol.for("react.fragment"),kA=Symbol.for("react.strict_mode"),bA=Symbol.for("react.profiler"),PA=Symbol.for("react.consumer"),EA=Symbol.for("react.context"),vA=Symbol.for("react.forward_ref"),hA=Symbol.for("react.suspense"),jA=Symbol.for("react.memo"),O8=Symbol.for("react.lazy"),xA=Symbol.for("react.activity"),L8=Symbol.iterator;function yA(Y){if(Y===null||typeof Y!=="object")return null;return Y=L8&&Y[L8]||Y["@@iterator"],typeof Y==="function"?Y:null}var F8={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},N8=Object.assign,I8={};function SY(Y,Z,X){this.props=Y,this.context=Z,this.refs=I8,this.updater=X||F8}SY.prototype.isReactComponent={};SY.prototype.setState=function(Y,Z){if(typeof Y!=="object"&&typeof Y!=="function"&&Y!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,Y,Z,"setState")};SY.prototype.forceUpdate=function(Y){this.updater.enqueueForceUpdate(this,Y,"forceUpdate")};function T8(){}T8.prototype=SY.prototype;function N1(Y,Z,X){this.props=Y,this.context=Z,this.refs=I8,this.updater=X||F8}var I1=N1.prototype=new T8;I1.constructor=N1;N8(I1,SY.prototype);I1.isPureReactComponent=!0;var D8=Array.isArray;function O1(){}var F0={H:null,A:null,T:null,S:null},K8=Object.prototype.hasOwnProperty;function T1(Y,Z,X){var f=X.ref;return{$$typeof:F1,type:Y,key:Z,ref:f!==void 0?f:null,props:X}}function gA(Y,Z){return T1(Y.type,Z,Y.props)}function K1(Y){return typeof Y==="object"&&Y!==null&&Y.$$typeof===F1}function mA(Y){var Z={"=":"=0",":":"=2"};return"$"+Y.replace(/[=:]/g,function(X){return Z[X]})}var B8=/\/+/g;function V1(Y,Z){return typeof Y==="object"&&Y!==null&&Y.key!=null?mA(""+Y.key):Z.toString(36)}function uA(Y){switch(Y.status){case"fulfilled":return Y.value;case"rejected":throw Y.reason;default:switch(typeof Y.status==="string"?Y.then(O1,O1):(Y.status="pending",Y.then(function(Z){Y.status==="pending"&&(Y.status="fulfilled",Y.value=Z)},function(Z){Y.status==="pending"&&(Y.status="rejected",Y.reason=Z)})),Y.status){case"fulfilled":return Y.value;case"rejected":throw Y.reason}}throw Y}function $Y(Y,Z,X,f,G){var z=typeof Y;if(z==="undefined"||z==="boolean")Y=null;var J=!1;if(Y===null)J=!0;else switch(z){case"bigint":case"string":case"number":J=!0;break;case"object":switch(Y.$$typeof){case F1:case SA:J=!0;break;case O8:return J=Y._init,$Y(J(Y._payload),Z,X,f,G)}}if(J)return G=G(Y),J=f===""?"."+V1(Y,0):f,D8(G)?(X="",J!=null&&(X=J.replace(B8,"$&/")+"/"),$Y(G,Z,X,"",function(W){return W})):G!=null&&(K1(G)&&(G=gA(G,X+(G.key==null||Y&&Y.key===G.key?"":(""+G.key).replace(B8,"$&/")+"/")+J)),Z.push(G)),1;J=0;var U=f===""?".":f+":";if(D8(Y))for(var H=0;H<Y.length;H++)f=Y[H],z=U+V1(f,H),J+=$Y(f,Z,X,z,G);else if(H=yA(Y),typeof H==="function")for(Y=H.call(Y),H=0;!(f=Y.next()).done;)f=f.value,z=U+V1(f,H++),J+=$Y(f,Z,X,z,G);else if(z==="object"){if(typeof Y.then==="function")return $Y(uA(Y),Z,X,f,G);throw Z=String(Y),Error("Objects are not valid as a React child (found: "+(Z==="[object Object]"?"object with keys {"+Object.keys(Y).join(", ")+"}":Z)+"). If you meant to render a collection of children, use an array instead.")}return J}function hX(Y,Z,X){if(Y==null)return Y;var f=[],G=0;return $Y(Y,f,"","",function(z){return Z.call(X,z,G++)}),f}function cA(Y){if(Y._status===-1){var Z=Y._result;Z=Z(),Z.then(function(X){if(Y._status===0||Y._status===-1)Y._status=1,Y._result=X},function(X){if(Y._status===0||Y._status===-1)Y._status=2,Y._result=X}),Y._status===-1&&(Y._status=0,Y._result=Z)}if(Y._status===1)return Y._result.default;throw Y._result}var V8=typeof reportError==="function"?reportError:function(Y){if(typeof window==="object"&&typeof window.ErrorEvent==="function"){var Z=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof Y==="object"&&Y!==null&&typeof Y.message==="string"?String(Y.message):String(Y),error:Y});if(!window.dispatchEvent(Z))return}else if(typeof process==="object"&&typeof process.emit==="function"){process.emit("uncaughtException",Y);return}console.error(Y)},dA={map:hX,forEach:function(Y,Z,X){hX(Y,function(){Z.apply(this,arguments)},X)},count:function(Y){var Z=0;return hX(Y,function(){Z++}),Z},toArray:function(Y){return hX(Y,function(Z){return Z})||[]},only:function(Y){if(!K1(Y))throw Error("React.Children.only expected to receive a single React element child.");return Y}};l.Activity=xA;l.Children=dA;l.Component=SY;l.Fragment=CA;l.Profiler=bA;l.PureComponent=N1;l.StrictMode=kA;l.Suspense=hA;l.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=F0;l.__COMPILER_RUNTIME={__proto__:null,c:function(Y){return F0.H.useMemoCache(Y)}};l.cache=function(Y){return function(){return Y.apply(null,arguments)}};l.cacheSignal=function(){return null};l.cloneElement=function(Y,Z,X){if(Y===null||Y===void 0)throw Error("The argument must be a React element, but you passed "+Y+".");var f=N8({},Y.props),G=Y.key;if(Z!=null)for(z in Z.key!==void 0&&(G=""+Z.key),Z)!K8.call(Z,z)||z==="key"||z==="__self"||z==="__source"||z==="ref"&&Z.ref===void 0||(f[z]=Z[z]);var z=arguments.length-2;if(z===1)f.children=X;else if(1<z){for(var J=Array(z),U=0;U<z;U++)J[U]=arguments[U+2];f.children=J}return T1(Y.type,G,f)};l.createContext=function(Y){return Y={$$typeof:EA,_currentValue:Y,_currentValue2:Y,_threadCount:0,Provider:null,Consumer:null},Y.Provider=Y,Y.Consumer={$$typeof:PA,_context:Y},Y};l.createElement=function(Y,Z,X){var f,G={},z=null;if(Z!=null)for(f in Z.key!==void 0&&(z=""+Z.key),Z)K8.call(Z,f)&&f!=="key"&&f!=="__self"&&f!=="__source"&&(G[f]=Z[f]);var J=arguments.length-2;if(J===1)G.children=X;else if(1<J){for(var U=Array(J),H=0;H<J;H++)U[H]=arguments[H+2];G.children=U}if(Y&&Y.defaultProps)for(f in J=Y.defaultProps,J)G[f]===void 0&&(G[f]=J[f]);return T1(Y,z,G)};l.createRef=function(){return{current:null}};l.forwardRef=function(Y){return{$$typeof:vA,render:Y}};l.isValidElement=K1;l.lazy=function(Y){return{$$typeof:O8,_payload:{_status:-1,_result:Y},_init:cA}};l.memo=function(Y,Z){return{$$typeof:jA,type:Y,compare:Z===void 0?null:Z}};l.startTransition=function(Y){var Z=F0.T,X={};F0.T=X;try{var f=Y(),G=F0.S;G!==null&&G(X,f),typeof f==="object"&&f!==null&&typeof f.then==="function"&&f.then(O1,V8)}catch(z){V8(z)}finally{Z!==null&&X.types!==null&&(Z.types=X.types),F0.T=Z}};l.unstable_useCacheRefresh=function(){return F0.H.useCacheRefresh()};l.use=function(Y){return F0.H.use(Y)};l.useActionState=function(Y,Z,X){return F0.H.useActionState(Y,Z,X)};l.useCallback=function(Y,Z){return F0.H.useCallback(Y,Z)};l.useContext=function(Y){return F0.H.useContext(Y)};l.useDebugValue=function(){};l.useDeferredValue=function(Y,Z){return F0.H.useDeferredValue(Y,Z)};l.useEffect=function(Y,Z){return F0.H.useEffect(Y,Z)};l.useEffectEvent=function(Y){return F0.H.useEffectEvent(Y)};l.useId=function(){return F0.H.useId()};l.useImperativeHandle=function(Y,Z,X){return F0.H.useImperativeHandle(Y,Z,X)};l.useInsertionEffect=function(Y,Z){return F0.H.useInsertionEffect(Y,Z)};l.useLayoutEffect=function(Y,Z){return F0.H.useLayoutEffect(Y,Z)};l.useMemo=function(Y,Z){return F0.H.useMemo(Y,Z)};l.useOptimistic=function(Y,Z){return F0.H.useOptimistic(Y,Z)};l.useReducer=function(Y,Z,X){return F0.H.useReducer(Y,Z,X)};l.useRef=function(Y){return F0.H.useRef(Y)};l.useState=function(Y){return F0.H.useState(Y)};l.useSyncExternalStore=function(Y,Z,X){return F0.H.useSyncExternalStore(Y,Z,X)};l.useTransition=function(){return F0.H.useTransition()};l.version="19.2.7"});var NZ=n7((RM,S8)=>{S8.exports=$8()});var k8=n7((A7)=>{var lA=NZ();function C8(Y){var Z="https://react.dev/errors/"+Y;if(1<arguments.length){Z+="?args[]="+encodeURIComponent(arguments[1]);for(var X=2;X<arguments.length;X++)Z+="&args[]="+encodeURIComponent(arguments[X])}return"Minified React error #"+Y+"; visit "+Z+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function $6(){}var H7={d:{f:$6,r:function(){throw Error(C8(522))},D:$6,C:$6,L:$6,m:$6,X:$6,S:$6,M:$6},p:0,findDOMNode:null},pA=Symbol.for("react.portal");function iA(Y,Z,X){var f=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:pA,key:f==null?null:""+f,children:Y,containerInfo:Z,implementation:X}}var IZ=lA.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function jX(Y,Z){if(Y==="font")return"";if(typeof Z==="string")return Z==="use-credentials"?Z:""}A7.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=H7;A7.createPortal=function(Y,Z){var X=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Z||Z.nodeType!==1&&Z.nodeType!==9&&Z.nodeType!==11)throw Error(C8(299));return iA(Y,Z,null,X)};A7.flushSync=function(Y){var Z=IZ.T,X=H7.p;try{if(IZ.T=null,H7.p=2,Y)return Y()}finally{IZ.T=Z,H7.p=X,H7.d.f()}};A7.preconnect=function(Y,Z){typeof Y==="string"&&(Z?(Z=Z.crossOrigin,Z=typeof Z==="string"?Z==="use-credentials"?Z:"":void 0):Z=null,H7.d.C(Y,Z))};A7.prefetchDNS=function(Y){typeof Y==="string"&&H7.d.D(Y)};A7.preinit=function(Y,Z){if(typeof Y==="string"&&Z&&typeof Z.as==="string"){var X=Z.as,f=jX(X,Z.crossOrigin),G=typeof Z.integrity==="string"?Z.integrity:void 0,z=typeof Z.fetchPriority==="string"?Z.fetchPriority:void 0;X==="style"?H7.d.S(Y,typeof Z.precedence==="string"?Z.precedence:void 0,{crossOrigin:f,integrity:G,fetchPriority:z}):X==="script"&&H7.d.X(Y,{crossOrigin:f,integrity:G,fetchPriority:z,nonce:typeof Z.nonce==="string"?Z.nonce:void 0})}};A7.preinitModule=function(Y,Z){if(typeof Y==="string")if(typeof Z==="object"&&Z!==null){if(Z.as==null||Z.as==="script"){var X=jX(Z.as,Z.crossOrigin);H7.d.M(Y,{crossOrigin:X,integrity:typeof Z.integrity==="string"?Z.integrity:void 0,nonce:typeof Z.nonce==="string"?Z.nonce:void 0})}}else Z==null&&H7.d.M(Y)};A7.preload=function(Y,Z){if(typeof Y==="string"&&typeof Z==="object"&&Z!==null&&typeof Z.as==="string"){var X=Z.as,f=jX(X,Z.crossOrigin);H7.d.L(Y,X,{crossOrigin:f,integrity:typeof Z.integrity==="string"?Z.integrity:void 0,nonce:typeof Z.nonce==="string"?Z.nonce:void 0,type:typeof Z.type==="string"?Z.type:void 0,fetchPriority:typeof Z.fetchPriority==="string"?Z.fetchPriority:void 0,referrerPolicy:typeof Z.referrerPolicy==="string"?Z.referrerPolicy:void 0,imageSrcSet:typeof Z.imageSrcSet==="string"?Z.imageSrcSet:void 0,imageSizes:typeof Z.imageSizes==="string"?Z.imageSizes:void 0,media:typeof Z.media==="string"?Z.media:void 0})}};A7.preloadModule=function(Y,Z){if(typeof Y==="string")if(Z){var X=jX(Z.as,Z.crossOrigin);H7.d.m(Y,{as:typeof Z.as==="string"&&Z.as!=="script"?Z.as:void 0,crossOrigin:X,integrity:typeof Z.integrity==="string"?Z.integrity:void 0})}else H7.d.m(Y)};A7.requestFormReset=function(Y){H7.d.r(Y)};A7.unstable_batchedUpdates=function(Y,Z){return Y(Z)};A7.useFormState=function(Y,Z,X){return IZ.H.useFormState(Y,Z,X)};A7.useFormStatus=function(){return IZ.H.useHostTransitionStatus()};A7.version="19.2.7"});var E8=n7((LM,P8)=>{function b8(){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=="function")return;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(b8)}catch(Y){console.error(Y)}}b8(),P8.exports=k8()});var dU=n7((z1)=>{var i0=w8(),fJ=NZ(),oA=E8();function F(Y){var Z="https://react.dev/errors/"+Y;if(1<arguments.length){Z+="?args[]="+encodeURIComponent(arguments[1]);for(var X=2;X<arguments.length;X++)Z+="&args[]="+encodeURIComponent(arguments[X])}return"Minified React error #"+Y+"; visit "+Z+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function GJ(Y){return!(!Y||Y.nodeType!==1&&Y.nodeType!==9&&Y.nodeType!==11)}function MX(Y){var Z=Y,X=Y;if(Y.alternate)for(;Z.return;)Z=Z.return;else{Y=Z;do Z=Y,(Z.flags&4098)!==0&&(X=Z.return),Y=Z.return;while(Y)}return Z.tag===3?X:null}function zJ(Y){if(Y.tag===13){var Z=Y.memoizedState;if(Z===null&&(Y=Y.alternate,Y!==null&&(Z=Y.memoizedState)),Z!==null)return Z.dehydrated}return null}function JJ(Y){if(Y.tag===31){var Z=Y.memoizedState;if(Z===null&&(Y=Y.alternate,Y!==null&&(Z=Y.memoizedState)),Z!==null)return Z.dehydrated}return null}function v8(Y){if(MX(Y)!==Y)throw Error(F(188))}function nA(Y){var Z=Y.alternate;if(!Z){if(Z=MX(Y),Z===null)throw Error(F(188));return Z!==Y?null:Y}for(var X=Y,f=Z;;){var G=X.return;if(G===null)break;var z=G.alternate;if(z===null){if(f=G.return,f!==null){X=f;continue}break}if(G.child===z.child){for(z=G.child;z;){if(z===X)return v8(G),Y;if(z===f)return v8(G),Z;z=z.sibling}throw Error(F(188))}if(X.return!==f.return)X=G,f=z;else{for(var J=!1,U=G.child;U;){if(U===X){J=!0,X=G,f=z;break}if(U===f){J=!0,f=G,X=z;break}U=U.sibling}if(!J){for(U=z.child;U;){if(U===X){J=!0,X=z,f=G;break}if(U===f){J=!0,f=z,X=G;break}U=U.sibling}if(!J)throw Error(F(189))}}if(X.alternate!==f)throw Error(F(190))}if(X.tag!==3)throw Error(F(188));return X.stateNode.current===X?Y:Z}function UJ(Y){var Z=Y.tag;if(Z===5||Z===26||Z===27||Z===6)return Y;for(Y=Y.child;Y!==null;){if(Z=UJ(Y),Z!==null)return Z;Y=Y.sibling}return null}var T0=Object.assign,rA=Symbol.for("react.element"),xX=Symbol.for("react.transitional.element"),bZ=Symbol.for("react.portal"),vY=Symbol.for("react.fragment"),HJ=Symbol.for("react.strict_mode"),z4=Symbol.for("react.profiler"),AJ=Symbol.for("react.consumer"),q6=Symbol.for("react.context"),XG=Symbol.for("react.forward_ref"),J4=Symbol.for("react.suspense"),U4=Symbol.for("react.suspense_list"),fG=Symbol.for("react.memo"),S6=Symbol.for("react.lazy"),H4=Symbol.for("react.activity"),aA=Symbol.for("react.memo_cache_sentinel"),h8=Symbol.iterator;function TZ(Y){if(Y===null||typeof Y!=="object")return null;return Y=h8&&Y[h8]||Y["@@iterator"],typeof Y==="function"?Y:null}var sA=Symbol.for("react.client.reference");function A4(Y){if(Y==null)return null;if(typeof Y==="function")return Y.$$typeof===sA?null:Y.displayName||Y.name||null;if(typeof Y==="string")return Y;switch(Y){case vY:return"Fragment";case z4:return"Profiler";case HJ:return"StrictMode";case J4:return"Suspense";case U4:return"SuspenseList";case H4:return"Activity"}if(typeof Y==="object")switch(Y.$$typeof){case bZ:return"Portal";case q6:return Y.displayName||"Context";case AJ:return(Y._context.displayName||"Context")+".Consumer";case XG:var Z=Y.render;return Y=Y.displayName,Y||(Y=Z.displayName||Z.name||"",Y=Y!==""?"ForwardRef("+Y+")":"ForwardRef"),Y;case fG:return Z=Y.displayName||null,Z!==null?Z:A4(Y.type)||"Memo";case S6:Z=Y._payload,Y=Y._init;try{return A4(Y(Z))}catch(X){}}return null}var PZ=Array.isArray,c=fJ.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,A0=oA.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,AY={pending:!1,data:null,method:null,action:null},W4=[],hY=-1;function Y6(Y){return{current:Y}}function a0(Y){0>hY||(Y.current=W4[hY],W4[hY]=null,hY--)}function V0(Y,Z){hY++,W4[hY]=Y.current,Y.current=Z}var e7=Y6(null),eZ=Y6(null),g6=Y6(null),Mf=Y6(null);function _f(Y,Z){switch(V0(g6,Z),V0(eZ,Y),V0(e7,null),Z.nodeType){case 9:case 11:Y=(Y=Z.documentElement)?(Y=Y.namespaceURI)?mz(Y):0:0;break;default:if(Y=Z.tagName,Z=Z.namespaceURI)Z=mz(Z),Y=CU(Z,Y);else switch(Y){case"svg":Y=1;break;case"math":Y=2;break;default:Y=0}}a0(e7),V0(e7,Y)}function eY(){a0(e7),a0(eZ),a0(g6)}function q4(Y){Y.memoizedState!==null&&V0(Mf,Y);var Z=e7.current,X=CU(Z,Y.type);Z!==X&&(V0(eZ,Y),V0(e7,X))}function Rf(Y){eZ.current===Y&&(a0(e7),a0(eZ)),Mf.current===Y&&(a0(Mf),WX._currentValue=AY)}var $1,j8;function GY(Y){if($1===void 0)try{throw Error()}catch(X){var Z=X.stack.trim().match(/\n( *(at )?)/);$1=Z&&Z[1]||"",j8=-1<X.stack.indexOf(`
|
|
4
4
|
at`)?" (<anonymous>)":-1<X.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
5
5
|
`+$1+Y+j8}var S1=!1;function C1(Y,Z){if(!Y||S1)return"";S1=!0;var X=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var f={DetermineComponentFrameRoot:function(){try{if(Z){var R=function(){throw Error()};if(Object.defineProperty(R.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==="object"&&Reflect.construct){try{Reflect.construct(R,[])}catch(M){var q=M}Reflect.construct(Y,[],R)}else{try{R.call()}catch(M){q=M}Y.call(R.prototype)}}else{try{throw Error()}catch(M){q=M}(R=Y())&&typeof R.catch==="function"&&R.catch(function(){})}}catch(M){if(M&&q&&typeof M.stack==="string")return[M.stack,q.stack]}return[null,null]}};f.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var G=Object.getOwnPropertyDescriptor(f.DetermineComponentFrameRoot,"name");G&&G.configurable&&Object.defineProperty(f.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var z=f.DetermineComponentFrameRoot(),J=z[0],U=z[1];if(J&&U){var H=J.split(`
|
|
@@ -34,4 +34,4 @@ Error generating stack: `+f.message+`
|
|
|
34
34
|
`)?"":Z}function g2({args:Y}){let Z=A(Y.host),X=A(Y.command);return g0.jsxs(g0.Fragment,{children:[g0.jsx(D,{tone:"accent",children:Z??"…"})," ",X!==null?T(b(X),80):Y.command!==void 0&&g0.jsx(h,{what:"command"})]})}function m2({args:Y,result:Z}){let X=A(Y.host),f=A(Y.command),G=A(Y.cwd),z=O(Y.timeout),J=x2(Z),U=J!==null&&Z?.isError!==!0?y2(o0(Z).trim()):null;return g0.jsxs(g0.Fragment,{children:[g0.jsx(o,{items:[X!==null?g0.jsx(D,{tone:"accent",children:X}):g0.jsx(h,{what:"host"}),G!==null&&g0.jsxs(D,{children:["cwd ",w0(G)]}),z!==null&&g0.jsxs(D,{children:["timeout ",z,"s"]})]}),f!==null?g0.jsxs("div",{className:"tv-cmd",children:[g0.jsx("span",{className:"tv-cmd-prompt",children:"$"}),g0.jsx("span",{className:"tv-cmd-text",children:N6(f)})]}):g0.jsx(h,{what:"command"}),U!==null?U!==""&&g0.jsx(n,{text:U,maxLines:12}):g0.jsx(S,{result:Z,maxLines:12}),J!==null&&g0.jsxs(p,{tone:"warn",children:["Output truncated",J.outputLines!==null&&J.totalLines!==null&&` — showing ${J.outputLines} of ${J.totalLines} lines`,J.artifactId!==null&&` · full output at artifact://${J.artifactId}`]})]})}var XA={Summary:g2,Body:m2};var g=K($(),1),u2="SYSTEM WARNING: Subagent exited without calling yield tool";function fA(Y){let Z=Y.tasks;if(Array.isArray(Z)){let f=[];for(let G of Z){if(!I(G))continue;f.push({id:A(G.id),description:A(G.description),assignment:A(G.assignment),isolated:G.isolated===!0})}return f}let X={id:A(Y.id),description:A(Y.description),assignment:A(Y.assignment),isolated:Y.isolated===!0};return X.id||X.description||X.assignment?[X]:[]}function z8(Y){return Y.includes(".")?Y.split(".").join(">"):Y}function J8(Y){if(Y<1000)return`${Math.round(Y)}ms`;let Z=Y/1000;if(Z<60)return`${Z<10?Z.toFixed(1):Math.round(Z)}s`;return`${Math.floor(Z/60)}m ${Math.round(Z%60)}s`}function GA(Y){return Y>=1000?`${(Y/1000).toFixed(1)}k`:String(Y)}function zA(Y){if(Y.aborted===!0)return{label:"aborted",tone:"err"};if(O(Y.exitCode)===0)return A(Y.error)?{label:"merge failed",tone:"warn"}:{label:"done",tone:"ok"};return{label:"failed",tone:"err"}}function c2({args:Y}){let Z=A(Y.agent),X=A(Y.resume),f=fA(Y),G=f.length>0?f[0]:null,z=G?G.description??G.id:null;return g.jsxs(g.Fragment,{children:[Z&&g.jsx(D,{tone:"accent",children:Z}),!Z&&X&&g.jsxs(D,{children:["resume ",X]}),z&&g.jsx("span",{className:"tv-muted",children:T(b(z),72)}),f.length>1&&g.jsxs(D,{children:[f.length," tasks"]})]})}function d2({res:Y,host:Z}){let{label:X,tone:f}=zA(Y),G=A(Y.id)??"agent",z=A(Y.description),J=[],U=O(Y.tokens);if(U)J.push(`${GA(U)} tok`);let H=O(Y.requests);if(H)J.push(`${H} req`);let W=O(Y.durationMs);if(W!=null)J.push(J8(W));let Q=A(Y.resolvedModel);if(Q)J.push(Q);let R=A(Y.output)??"",q=null,M=R.indexOf(`
|
|
35
35
|
`),B=(M===-1?R:R.slice(0,M)).trim();if(B.startsWith(u2))q=B,R=M===-1?"":R.slice(M+1).replace(/^\s*\n+/,"");let N=A(Y.error),u=Y.aborted===!0,w=A(Y.abortReason),_=A(Y.patchPath),L=A(Y.branchName);return g.jsxs(g.Fragment,{children:[g.jsxs(m,{k:g.jsx(A1,{id:G,host:Z,children:z8(G)}),children:[g.jsx(D,{tone:f,children:X})," ",Y.truncated===!0&&g.jsx(D,{tone:"warn",children:"truncated"})," ",z&&g.jsx("span",{children:T(b(z),96)})," ",J.length>0&&g.jsx("span",{className:"tv-faint",children:J.join(" · ")})]}),q&&g.jsx(p,{tone:"warn",children:q}),u&&w&&g.jsx(p,{tone:"err",children:w}),R.trim()!==""&&g.jsx(n,{text:R,maxLines:6,error:f==="err"}),N&&!u&&N!==w&&g.jsx(p,{tone:f==="warn"?"warn":"err",children:N}),_&&g.jsxs("div",{className:"tv-faint",children:["patch: ",_]}),!_&&L&&g.jsxs("div",{className:"tv-faint",children:["branch: ",L]})]})}function l2({p:Y,host:Z}){let X=A(Y.status)??"running",f=X==="completed"?"ok":X==="failed"||X==="aborted"?"err":X==="running"?"accent":void 0,G=A(Y.id)??"agent",z=A(Y.description),J=A(Y.lastIntent)??A(Y.currentTool),U=[],H=O(Y.toolCount);if(H)U.push(`${H} tools`);let W=O(Y.tokens);if(W)U.push(`${GA(W)} tok`);let Q=O(Y.durationMs);if(Q)U.push(J8(Q));return g.jsxs(m,{k:g.jsx(A1,{id:G,host:Z,children:z8(G)}),children:[g.jsx(D,{tone:f,children:X})," ",z&&g.jsx("span",{children:T(b(z),96)})," ",J&&g.jsx("span",{className:"tv-muted",children:T(b(J),64)})," ",U.length>0&&g.jsx("span",{className:"tv-faint",children:U.join(" · ")})]})}function p2({args:Y,result:Z,host:X}){let f=A(Y.resume),G=A(Y.context),z=fA(Y),J=P(Z),U=J&&Array.isArray(J.results)?J.results.filter(I):[],H=J&&Array.isArray(J.progress)?J.progress.filter(I):[],W=U.length===0&&H.length>0,Q=null;if(U.length>0){let q=0,M=0,B=0,N=0;for(let w of U){let{label:_}=zA(w);if(_==="done")q++;else if(_==="merge failed")M++;else if(_==="aborted")B++;else N++}let u=J?O(J.totalDurationMs):null;Q=g.jsxs(m,{children:[q>0&&g.jsxs(D,{tone:"ok",children:[q," succeeded"]})," ",M>0&&g.jsxs(D,{tone:"warn",children:[M," merge failed"]})," ",N>0&&g.jsxs(D,{tone:"err",children:[N," failed"]})," ",B>0&&g.jsxs(D,{tone:"err",children:[B," aborted"]})," ",u!=null&&g.jsx("span",{className:"tv-faint",children:J8(u)})]})}let R=[...U].sort((q,M)=>(O(q.durationMs)??0)-(O(M.durationMs)??0)||(O(q.index)??0)-(O(M.index)??0));return g.jsxs(g.Fragment,{children:[f&&g.jsxs(D,{children:["resume ",f]}),G&&g.jsx(n,{text:G,maxLines:4,title:"context"}),z.length>0&&g.jsx("div",{className:"tv-list",children:z.map((q,M)=>g.jsxs("div",{children:[g.jsxs(m,{k:q.id?g.jsx(A1,{id:q.id,host:X,children:z8(q.id)}):g.jsx(D,{tone:"accent",children:`#${M+1}`}),children:[q.isolated&&g.jsx(D,{children:"isolated"})," ",q.description&&g.jsx("span",{children:T(b(q.description),120)})]}),q.assignment&&g.jsx(n,{text:q.assignment,maxLines:6,title:"assignment"})]},q.id??M))}),R.length>0&&g.jsxs("div",{className:"tv-list",children:[R.map((q,M)=>g.jsx(d2,{res:q,host:X},A(q.id)??M)),Q]}),W&&g.jsx("div",{className:"tv-list",children:H.map((q,M)=>g.jsx(l2,{p:q,host:X},A(q.id)??M))}),R.length===0&&!W&&g.jsx(S,{result:Z,maxLines:12})]})}var JA={Summary:c2,Body:p2};var t0=K($(),1),i2={completed:"✓",in_progress:"→",abandoned:"✕",pending:"○"},o2=[[1000,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]];function n2(Y){if(Y<=0)return"";let Z="",X=Y;for(let[f,G]of o2)while(X>=f)Z+=G,X-=f;return Z}function UA(Y){if(Array.isArray(Y.ops))return Y.ops;return typeof Y.op==="string"?[Y]:[]}function r2({args:Y}){let Z=UA(Y),X={},f=[],G=null;for(let J of Z){if(!I(J))continue;let U=A(J.op)??"update";if(X[U]===void 0)X[U]=0,f.push(U);if(X[U]++,G===null){if(G=A(J.task)??A(J.phase),G===null&&Array.isArray(J.list)){let H=J.list.find(I);if(H&&Array.isArray(H.items))G=A(H.items[0])}}}let z=f.map((J)=>X[J]>1?`${J}×${X[J]}`:J);return t0.jsxs(t0.Fragment,{children:[t0.jsx(o,{items:z.length>0?z:["update"]}),G!==null&&t0.jsxs("span",{children:[" ",T(b(G),60)]})]})}function a2(Y,Z){if(!I(Y))return null;let X=[],f=A(Y.task),G=A(Y.phase);if(f!==null)X.push(f);if(G!==null)X.push(G);if(Array.isArray(Y.items)&&Y.items.length>0)X.push(`${Y.items.length} item${Y.items.length===1?"":"s"}`);if(Array.isArray(Y.list)&&Y.list.length>0){let z=0;for(let J of Y.list)if(I(J)&&Array.isArray(J.items))z+=J.items.length;X.push(`${Y.list.length} phase${Y.list.length===1?"":"s"} · ${z} tasks`)}return t0.jsx(m,{k:A(Y.op)??"update",children:T(b(X.join(" · ")),160)},Z)}function s2({phases:Y}){let Z=[];for(let X=0;X<Y.length;X++){let f=Y[X];if(!I(f))continue;if(Z.push(t0.jsxs("div",{className:"tv-todo-phase",children:[n2(X+1),". ",A(f.name)??""]},`p${X}`)),!Array.isArray(f.tasks))continue;for(let G=0;G<f.tasks.length;G++){let z=f.tasks[G];if(!I(z))continue;let J=z.status,U=J==="completed"||J==="in_progress"||J==="abandoned"?J:"pending";Z.push(t0.jsxs("div",{className:`tv-task tv-task--${U}`,children:[t0.jsx("span",{className:"tv-task-icon",children:i2[U]}),t0.jsx("span",{children:A(z.content)??""})]},`p${X}t${G}`))}}if(Z.length===0)return null;return t0.jsx("div",{className:"tv-todo",children:Z})}function t2({args:Y,result:Z}){let X=UA(Y),f=P(Z),G=f&&Array.isArray(f.phases)&&!Z?.isError?f.phases:null;return t0.jsxs(t0.Fragment,{children:[X.length>0&&t0.jsx("div",{className:"tv-list",children:X.map(a2)}),G!==null?t0.jsx(s2,{phases:G}):t0.jsx(S,{result:Z,maxLines:8})]})}var HA={Summary:r2,Body:t2};var P0=K($(),1);function e2(Y){try{return new URL(Y).hostname.replace(/^www\./,"")}catch{return""}}function YM(Y){let Z=O(Y);if(Z===null||Z<0)return"";let X=Math.floor(Z/60);if(X<60)return`${X}m ago`;let f=Math.floor(X/60);if(f<24)return`${f}h ago`;let G=Math.floor(f/24);if(G<365)return`${G}d ago`;return`${Math.floor(G/365)}y ago`}function ZM({args:Y}){let Z=A(Y.query),X=A(Y.recency);return P0.jsxs(P0.Fragment,{children:[Z===null?P0.jsx(h,{what:"query"}):P0.jsx("span",{className:"tv-pattern",children:T(b(Z),80)}),X&&P0.jsx(D,{children:X})]})}function XM({source:Y,index:Z}){let X=A(Y.url)??"",f=A(Y.title)?.trim()||X||"Untitled",G=X?e2(X):"",z=YM(Y.ageSeconds)||(A(Y.publishedDate)??"");return P0.jsxs(m,{k:String(Z+1),children:[X?P0.jsx("a",{href:X,rel:"noreferrer",target:"_blank",children:f}):f,G&&P0.jsxs("span",{className:"tv-faint",children:[" (",G,")"]}),z&&P0.jsxs("span",{className:"tv-muted",children:[" · ",z]})]})}function fM({args:Y,result:Z}){let X=A(Y.query),f=A(Y.recency),G=O(Y.limit),z=O(Y.num_search_results),J=P(Z),U=J&&I(J.response)?J.response:null,H=J?A(J.error):null,W=U?A(U.provider):null,Q=U?A(U.model):null,R=U?A(U.authMode):null,q=U&&Array.isArray(U.sources)?U.sources.filter(I):[],M=Q&&W?`${Q} @ ${W}`:Q??W??"";if(M&&R)M+=` (${R==="oauth"?"OAuth":R==="api_key"?"API":R})`;let B=U&&I(U.usage)?U.usage:null,N=[];if(B){let u=O(B.inputTokens),w=O(B.outputTokens),_=O(B.totalTokens),L=O(B.searchRequests);if(u!==null)N.push(`in ${u}`);if(w!==null)N.push(`out ${w}`);if(_!==null)N.push(`total ${_}`);if(L!==null)N.push(`search ${L}`)}return P0.jsxs(P0.Fragment,{children:[P0.jsx(o,{items:[f&&`recency=${f}`,G!==null&&`limit=${G}`,z!==null&&`results=${z}`,U&&`${q.length} source${q.length===1?"":"s"}`]}),(X!==null||M||N.length>0)&&P0.jsxs(O0,{children:[X!==null&&P0.jsx(E,{k:"query",children:X}),M&&P0.jsx(E,{k:"provider",children:M}),N.length>0&&P0.jsx(E,{k:"usage",children:N.join(" · ")})]}),H&&!o0(Z)&&P0.jsx(p,{tone:"err",children:H}),P0.jsx(S,{result:Z,maxLines:14,lang:"markdown"}),q.length>0&&P0.jsx("div",{className:"tv-list",children:q.map((u,w)=>P0.jsx(XM,{source:u,index:w},A(u.url)??w))})]})}var AA={Summary:ZM,Body:fM};var l0=K($(),1);function GM(Y){if(!Y||!I(Y.diagnostics))return null;let Z=Y.diagnostics,X=[];if(Array.isArray(Z.messages)){for(let G of Z.messages)if(typeof G==="string")X.push(G)}let f=A(Z.summary);if(X.length===0&&!f)return null;return{server:A(Z.server)??void 0,messages:X,summary:f,errored:Z.errored===!0}}function zM({args:Y}){let Z=A(Y.file_path??Y.path),X=A(Y.content),f=X?X.split(`
|
|
36
36
|
`).length:0;return l0.jsxs(l0.Fragment,{children:[Z===null?l0.jsx(h,{what:"path"}):l0.jsx(Z0,{path:Z}),f>1&&l0.jsxs(l0.Fragment,{children:[" ",l0.jsxs(D,{children:[f," lines"]})]})]})}function JM({args:Y,result:Z}){let X=A(Y.file_path??Y.path),f=A(Y.content),G=P(Z),z=GM(G);return l0.jsxs(l0.Fragment,{children:[l0.jsx(o,{items:[G?.madeExecutable===!0&&l0.jsx(D,{tone:"ok",children:"made executable"}),z?.summary&&l0.jsxs(D,{tone:z.errored?"err":"warn",children:[z.server?`${z.server}: `:"",z.summary]})]}),f===null?l0.jsxs(p,{tone:"err",children:[l0.jsx(h,{what:"content"})," — expected string"]}):f&&l0.jsx(O7,{code:f,lang:X?LZ(X):null,maxLines:12}),l0.jsx(S,{result:Z,maxLines:4}),z&&z.messages.length>0&&l0.jsx(n,{text:z.messages.join(`
|
|
37
|
-
`),title:"diagnostics",error:z.errored,maxLines:8})]})}var WA={Summary:zM,Body:JM};var XY=K($(),1);function UM({args:Y}){return XY.jsx("span",{children:DZ(Y.data??Y)})}function HM({args:Y,result:Z}){let X="";if(Y.data!==void 0)try{X=JSON.stringify(Y.data,null,2)??""}catch{X=String(Y.data)}return XY.jsxs(XY.Fragment,{children:[X&&XY.jsx(n,{text:X,lang:"json",variant:"code",maxLines:12}),XY.jsx(S,{result:Z,maxLines:6})]})}var qA={Summary:UM,Body:HM};var AM={ask:XH,ast_edit:zH,ast_grep:HH,bash:AH,browser:eG,puppeteer:eG,debug:qH,edit:Y8,apply_patch:Y8,eval:$X,js:$X,python:$X,notebook:$X,fetch:DH,glob:X8,find:X8,generate_image:BH,github:IH,goal:SH,inspect_image:PH,irc:jH,job:CX,await:CX,poll:CX,cancel_job:CX,lsp:cH,recall:lH,reflect:pH,retain:oH,read:rH,report_finding:sH,report_tool_issue:tH,resolve:eH,grep:f8,search:f8,search_tool_bm25:ZA,ssh:XA,task:JA,todo:HA,web_search:AA,write:WA,yield:qA};function QA(Y){return AM[Y]??sU}var F7=K($(),1);function WM(Y){if(!I(Y))return{args:{},intent:void 0};let Z=typeof Y[TX]==="string"?Y[TX].trim():void 0;if(!(TX in Y))return{args:Y,intent:Z};let X={};for(let f in Y)if(f!==TX)X[f]=Y[f];return{args:X,intent:Z}}function _A(Y){let[Z,X]=MA.useState(Y.defaultOpen??!1),{args:f,intent:G}=WM(Y.args),z=Y.intent?.trim()||G,J=QA(Y.name),U={name:Y.name,args:f,result:Y.result,running:Y.running,host:Y.host},H=Y.result?.isError===!0,W=Y.running?"run":H?"err":Y.result?"ok":"pending",Q=Y.running&&!Y.result&&Y.partial?KX(N6(Y.partial)):"";return F7.jsxs("div",{className:`tv-card${H?" tv-card--error":""}`,children:[F7.jsxs("button",{type:"button",className:"tv-head","aria-expanded":Z,onClick:()=>X((R)=>!R),title:z||void 0,children:[W==="run"?F7.jsx("span",{className:"tv-spin","aria-label":"running"}):F7.jsx("span",{className:`tv-status tv-status--${W}`,"aria-hidden":"true"}),F7.jsx("span",{className:"tv-name",children:Y.name}),F7.jsx("span",{className:"tv-sum",children:F7.jsx(J.Summary,{...U})}),F7.jsx("span",{className:"tv-chev","aria-hidden":"true"})]}),Z&&F7.jsxs("div",{className:"tv-body",children:[z&&F7.jsx("div",{className:"tv-intent",children:z}),J.Body?F7.jsx(J.Body,{...U}):null]}),Q&&F7.jsx("pre",{className:"tv-partial",children:Q.length>2048?`…${Q.slice(-2048)}`:Q})]})}var DA=K($(),1);class wA extends HTMLElement{#Y=null;#Z=null;set data(Y){this.#Z=Y,this.#X()}connectedCallback(){this.#X()}disconnectedCallback(){let Y=this.#Y;if(this.#Y=null,Y)queueMicrotask(()=>Y.unmount())}#f(){if(this.#Z)return this.#Z;let Y=this.getAttribute("data-key");if(Y){let f=globalThis.
|
|
37
|
+
`),title:"diagnostics",error:z.errored,maxLines:8})]})}var WA={Summary:zM,Body:JM};var XY=K($(),1);function UM({args:Y}){return XY.jsx("span",{children:DZ(Y.data??Y)})}function HM({args:Y,result:Z}){let X="";if(Y.data!==void 0)try{X=JSON.stringify(Y.data,null,2)??""}catch{X=String(Y.data)}return XY.jsxs(XY.Fragment,{children:[X&&XY.jsx(n,{text:X,lang:"json",variant:"code",maxLines:12}),XY.jsx(S,{result:Z,maxLines:6})]})}var qA={Summary:UM,Body:HM};var AM={ask:XH,ast_edit:zH,ast_grep:HH,bash:AH,browser:eG,puppeteer:eG,debug:qH,edit:Y8,apply_patch:Y8,eval:$X,js:$X,python:$X,notebook:$X,fetch:DH,glob:X8,find:X8,generate_image:BH,github:IH,goal:SH,inspect_image:PH,irc:jH,job:CX,await:CX,poll:CX,cancel_job:CX,lsp:cH,recall:lH,reflect:pH,retain:oH,read:rH,report_finding:sH,report_tool_issue:tH,resolve:eH,grep:f8,search:f8,search_tool_bm25:ZA,ssh:XA,task:JA,todo:HA,web_search:AA,write:WA,yield:qA};function QA(Y){return AM[Y]??sU}var F7=K($(),1);function WM(Y){if(!I(Y))return{args:{},intent:void 0};let Z=typeof Y[TX]==="string"?Y[TX].trim():void 0;if(!(TX in Y))return{args:Y,intent:Z};let X={};for(let f in Y)if(f!==TX)X[f]=Y[f];return{args:X,intent:Z}}function _A(Y){let[Z,X]=MA.useState(Y.defaultOpen??!1),{args:f,intent:G}=WM(Y.args),z=Y.intent?.trim()||G,J=QA(Y.name),U={name:Y.name,args:f,result:Y.result,running:Y.running,host:Y.host},H=Y.result?.isError===!0,W=Y.running?"run":H?"err":Y.result?"ok":"pending",Q=Y.running&&!Y.result&&Y.partial?KX(N6(Y.partial)):"";return F7.jsxs("div",{className:`tv-card${H?" tv-card--error":""}`,children:[F7.jsxs("button",{type:"button",className:"tv-head","aria-expanded":Z,onClick:()=>X((R)=>!R),title:z||void 0,children:[W==="run"?F7.jsx("span",{className:"tv-spin","aria-label":"running"}):F7.jsx("span",{className:`tv-status tv-status--${W}`,"aria-hidden":"true"}),F7.jsx("span",{className:"tv-name",children:Y.name}),F7.jsx("span",{className:"tv-sum",children:F7.jsx(J.Summary,{...U})}),F7.jsx("span",{className:"tv-chev","aria-hidden":"true"})]}),Z&&F7.jsxs("div",{className:"tv-body",children:[z&&F7.jsx("div",{className:"tv-intent",children:z}),J.Body?F7.jsx(J.Body,{...U}):null]}),Q&&F7.jsx("pre",{className:"tv-partial",children:Q.length>2048?`…${Q.slice(-2048)}`:Q})]})}var DA=K($(),1);class wA extends HTMLElement{#Y=null;#Z=null;set data(Y){this.#Z=Y,this.#X()}connectedCallback(){this.#X()}disconnectedCallback(){let Y=this.#Y;if(this.#Y=null,Y)queueMicrotask(()=>Y.unmount())}#f(){if(this.#Z)return this.#Z;let Y=this.getAttribute("data-key");if(Y){let f=globalThis.__JEOPI_TOOL_VIEW_DATA?.get(Y);if(f)return f}let Z=this.getAttribute("payload");if(Z)try{let X=JSON.parse(Z);if(X&&typeof X==="object")return X}catch{}return null}#X(){if(!this.isConnected)return;let Y=this.#f();if(!Y||typeof Y.name!=="string")return;this.#Y??=RA.createRoot(this),this.#Y.render(DA.jsx(_A,{...Y,defaultOpen:Y.defaultOpen??this.hasAttribute("open")}))}}function LA(Y="jeopi-tool-view"){if(!customElements.get(Y))customElements.define(Y,wA)}LA();})();
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Web/export palette — the
|
|
2
|
+
* Web/export palette — the jeopi brand identity shared by the collab-web live
|
|
3
3
|
* client (`my.omp.sh/`) and every public HTML export / share viewer (`/s/<id>`).
|
|
4
4
|
*
|
|
5
5
|
* Why this exists separately from `modes/theme/dark.json`: the `dark` theme is
|
|
6
6
|
* the **default TUI theme** — its amber accent (`#febc38`) drives the terminal
|
|
7
7
|
* status line, syntax highlighting, thinking levels, and bash/python mode
|
|
8
|
-
* colors for every
|
|
8
|
+
* colors for every jeopi user. The public web artifacts want the collab-web
|
|
9
9
|
* pink/purple identity instead, so they pin this palette rather than inheriting
|
|
10
10
|
* the TUI's. Editing `dark.json` to repurpose it for the web would repaint
|
|
11
11
|
* every terminal; this file keeps the two surfaces decoupled.
|
package/src/export/share.ts
CHANGED
|
@@ -40,7 +40,7 @@ const GIST_MAX_SEALED_BYTES = 5_000_000;
|
|
|
40
40
|
const IV_LENGTH = 12;
|
|
41
41
|
const SHARE_KEY_BYTES = 32;
|
|
42
42
|
/** The viewer picks the gist file by this suffix. */
|
|
43
|
-
const GIST_FILENAME = "session.
|
|
43
|
+
const GIST_FILENAME = "session.jeopishare.txt";
|
|
44
44
|
/** Gist ids are hex; the relay never issues pure-hex ids, so the viewer can route on shape. */
|
|
45
45
|
const GIST_ID_RE = /^[0-9a-f]{20,64}$/;
|
|
46
46
|
|