@jmanuelcorral/openteam 0.24.1 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/console/assets.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AAEH,eAAO,MAAM,aAAa,k9YAgCzB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,klFA4CvB,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAwW7B,CAAC;AAMF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,w/UAiJ3B,CAAC;AAMF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,gSAOhC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,QA+4B/B,CAAC"}
1
+ {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../src/console/assets.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AAEH,eAAO,MAAM,aAAa,k9YAgCzB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,klFA4CvB,CAAC;AAEF,eAAO,MAAM,iBAAiB,QA4W7B,CAAC;AAMF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,w/UAiJ3B,CAAC;AAMF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,gSAOhC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,QA84B/B,CAAC"}
@@ -34,6 +34,10 @@ export type Conversation = {
34
34
  createdAt: number;
35
35
  completedAt?: number;
36
36
  text: string[];
37
+ order?: Array<{
38
+ type: "text" | "tool";
39
+ index: number;
40
+ }>;
37
41
  tools: Array<{
38
42
  id: string;
39
43
  name: string;
@@ -64,7 +68,7 @@ export type ScopedSession = {
64
68
  };
65
69
  export type SessionHistoryPort = {
66
70
  get(id: string): Promise<ScopedSession>;
67
- messages(id: string): Promise<unknown>;
71
+ messages(id: string, limit?: number): Promise<unknown>;
68
72
  primaries(projectID: string): Promise<ScopedSession[]>;
69
73
  };
70
74
  export declare function createConversationReader(deps: {
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../src/console/conversation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../src/console/conversation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAIpE,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAG3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,eAAO,MAAM,mBAAmB;aAC9B,KAAK;aACL,QAAQ,EAAE,GAAG;aACb,KAAK,EAAE,GAAG;aACV,KAAK,EAAE,GAAG;aACV,UAAU,EAAE,KAAM;aAClB,UAAU,EAAE,MAAO;aACnB,aAAa,EAAE,CAAC;aAChB,eAAe,EAAE,GAAG;CACZ,CAAC;AAEX,eAAO,MAAM,sBAAsB;aACjC,KAAK;aACL,SAAS,EAAE,KAAM;aACjB,MAAM,EAAE,EAAE;CACF,CAAC;AAOX,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,cAEC;CACF;AA0ED,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;QAC3B,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,KAAK,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACxD,KAAK,EAAE,KAAK,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;YACtD,SAAS,EAAE,MAAM,CAAC;YAClB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC,CAAC;KACJ,CAAC,CAAC;CACJ,CAAC;AAEF,2FAA2F;AAC3F,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,MAAM,GAChB,YAAY,CAsId;AAED,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAChC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,KACjB,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG;IAC5B,IAAI,CAAC,EAAE,CACL,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,qBAAqB,EACjC,MAAM,CAAC,EAAE,WAAW,KACjB,OAAO,CACV,YAAY,GAAG;QACb,OAAO,EAAE,YAAY,CAAC;QACtB,WAAW,EAAE,YAAY,GAAG,aAAa,CAAC;KAC3C,CACF,CAAC;IACF,MAAM,CAAC,EAAE,CACP,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,SAAS,MAAM,EAAE,EACtB,MAAM,CAAC,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,uBAAuB,KAC9B,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;CAC9B,CAAC;AAmFF,qGAAqG;AACrG,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;CACxD,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB,GAAG,kBAAkB,CAsOrB"}
@@ -0,0 +1,4 @@
1
+ /** Display-only masking, not sensitivity classification or a persistence policy. */
2
+ export declare function maskConversationCredentials(value: string): string;
3
+ export declare function isCredentialKey(key: string): boolean;
4
+ //# sourceMappingURL=credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/console/credentials.ts"],"names":[],"mappings":"AAgBA,oFAAoF;AACpF,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAoBjE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAIpD"}
@@ -1,3 +1,3 @@
1
1
  export declare const CONVERSATION_CLIENT_JS: string;
2
- export declare const CONVERSATION_STYLE = "\n.lc-conversation{margin-top:12px;padding:12px;min-width:0;border:1px solid var(--cp-border);border-radius:16px;background:var(--cp-surface);color:var(--cp-text);overflow-anchor:none}\n.lc-conversation[hidden]{display:none}\n.lc-conversation-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}\n.lc-conversation h3,.lc-conversation h4,.lc-conversation p{margin:8px 0}\n.lc-conversation h3{scroll-margin-top:12px}\n.lc-conversation pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:400px;overflow:auto;background:var(--cp-surface-soft);padding:12px;font-family:Consolas,\"Courier New\",Courier,monospace}\n.lc-conversation [data-conversation-role=\"user\"] pre{max-height:180px}\n.lc-conversation [data-conversation-tool-list]{max-height:160px;overflow:auto}\n.lc-conversation details{margin-top:12px;padding:8px;border:1px solid var(--cp-border);border-radius:.625rem}\n.lc-conversation summary{cursor:pointer;color:var(--cp-accent)}\n.lc-conversation time{font-size:11px;color:var(--cp-text-muted)}\n.lc-conversation button,[data-inspect-attempt],[data-inspect-root]{padding:6px 10px;margin:6px;border:1px solid var(--cp-border);border-radius:.625rem;background:var(--cp-surface);color:var(--cp-accent)}\n.lct-operation-name{display:block;font-size:16px}\n.lct-operation-head details,.lct-session details{font-size:11px;color:var(--cp-text-muted)}\n.lct-session small,.session-btn small{display:block;color:var(--cp-text-muted)}\n.lc-run-select{max-width:650px}\n";
2
+ export declare const CONVERSATION_STYLE = "\n.lc-conversation{margin-top:12px;padding:12px;min-width:0;border:1px solid var(--cp-border,var(--border));border-radius:12px;background:var(--cp-surface,var(--surface));color:var(--cp-text,var(--fg));overflow-anchor:none}\n.lc-conversation[hidden]{display:none}\n.lc-conversation h3,.lc-conversation h4,.lc-conversation p{margin:8px 0}\n.lc-conversation [data-conversation-messages]{max-height:520px;overflow:auto;overflow-anchor:none}\n.lc-conversation pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:400px;overflow:auto;background:var(--cp-surface-soft,var(--bg));padding:12px;font-family:var(--font-mono)}\n.lc-conversation details{margin:12px 0;padding:8px;border:1px solid var(--cp-border,var(--border));border-radius:8px}\n.lc-conversation summary{cursor:pointer;color:var(--cp-accent,var(--accent))}\n.lc-conversation time{font-size:11px;color:var(--cp-text-muted,var(--muted))}\n.lc-conversation button,[data-inspect-attempt],[data-inspect-root]{padding:6px 10px;margin:6px;border:1px solid var(--cp-border,var(--border));border-radius:8px;background:var(--cp-surface,var(--surface));color:var(--cp-accent,var(--accent))}\n.lct-operation-name{display:block;font-size:16px}\n.lct-operation-head details,.lct-session details{font-size:11px;color:var(--cp-text-muted)}\n.lct-session small,.session-btn small{display:block;color:var(--cp-text-muted)}\n.lc-run-select{max-width:650px}\n";
3
3
  //# sourceMappingURL=inspector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../src/console/inspector.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,sBAAsB,QAwNlC,CAAC;AAEF,eAAO,MAAM,kBAAkB,8+CAiB9B,CAAC"}
1
+ {"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../../src/console/inspector.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,sBAAsB,QA+QlC,CAAC;AAEF,eAAO,MAAM,kBAAkB,+3CAc9B,CAAC"}
@@ -1,3 +1,3 @@
1
1
  /** Incremental metadata refresh. The editor, transcript and transport DOM are owned separately. */
2
- export declare const CONSOLE_REFRESH_JS = "\n var viewRevision='',viewRequest=null,viewPending=false,viewStopped=false,latestView=null;\n var appliedRouting='',appliedLogs='',appliedTree='';\n function protectedContent(element){\n var active=document.activeElement;\n if(active&&element.contains(active)&&/^(INPUT|TEXTAREA|SELECT)$/.test(active.tagName)){return true}\n var selection=window.getSelection&&window.getSelection();\n return !!(selection&&!selection.isCollapsed&&element.contains(selection.anchorNode));\n }\n function nodeKey(node){\n if(node.nodeType!==1){return ''}\n return (node.hasAttribute('data-session-target')?'session-target:'+node.getAttribute('data-session-target'):\n node.hasAttribute('data-session-view')?'session-view:'+node.getAttribute('data-session-view'):node.id)||\n ((node.tagName==='LI'||node.tagName==='TR')?node.outerHTML:'');\n }\n function patchNode(old,next){\n if(old.isEqualNode(next)){return}\n if(old.nodeType!==next.nodeType||old.nodeName!==next.nodeName){\n old.replaceWith(next.cloneNode(true));return;\n }\n if(old.nodeType===3){old.nodeValue=next.nodeValue;return}\n if(old.nodeType!==1){return}\n if(old.matches('[data-session-name],[data-session-time]')){\n if(old.getAttribute('data-label-fallback')!==next.textContent){old.setAttribute('data-label-fallback',next.textContent)}\n return;\n }\n if(old.matches('input,textarea,select,.term,.pty,.graph-drill,[data-config-mount]')){return}\n Array.from(old.attributes).forEach(function(a){\n if(a.name!=='open'&&a.name!=='hidden'&&a.name!=='aria-selected'&&!next.hasAttribute(a.name)){old.removeAttribute(a.name)}\n });\n Array.from(next.attributes).forEach(function(a){\n if(a.name!=='open'&&a.name!=='hidden'&&a.name!=='aria-selected'&&old.getAttribute(a.name)!==a.value){old.setAttribute(a.name,a.value)}\n });\n var originals=Array.from(old.childNodes),used=new Set();\n Array.from(next.childNodes).forEach(function(child,index){\n var key=nodeKey(child),match;\n if(key){match=originals.find(function(n){return !used.has(n)&&nodeKey(n)===key})}\n else{match=originals.find(function(n){return !used.has(n)&&!nodeKey(n)&&n.nodeName===child.nodeName})}\n if(match){used.add(match);patchNode(match,child)}\n else{match=child.cloneNode(true)}\n if(old.childNodes[index]!==match){\n var scrolls=match.nodeType===1?[match].concat(Array.from(match.querySelectorAll('*'))).map(function(n){return [n,n.scrollTop,n.scrollLeft]}):[];\n old.insertBefore(match,old.childNodes[index]||null);\n scrolls.forEach(function(s){s[0].scrollTop=s[1];s[0].scrollLeft=s[2]});\n }\n });\n originals.forEach(function(n){\n if(!used.has(n)&&n.parentNode===old){\n if(n.nodeType===1){\n disconnectTerminal(n);\n n.querySelectorAll('[data-session-view]').forEach(disconnectTerminal);\n }\n old.removeChild(n);\n }\n });\n }\n function patchHtml(element,html){\n var next=document.createElement('div');\n next.innerHTML=html;\n var shell=element.cloneNode(false);\n while(next.firstChild){shell.appendChild(next.firstChild)}\n patchNode(element,shell);\n }\n function applyView(forceLogs){\n if(!latestView){return}\n var tree=document.querySelector('#screen-tree > .graph-panel');\n if(tree&&latestView.tree&&latestView.tree!==appliedTree&&!protectedContent(tree)){\n var graph=document.createElement('div');graph.innerHTML=latestView.tree;\n if(graph.firstElementChild){patchNode(tree,graph.firstElementChild)}\n appliedTree=latestView.tree;\n }\n var routing=document.querySelector('#screen-routing > .screen-grid');\n if(routing&&latestView.routing!==appliedRouting&&!protectedContent(routing)){\n var next=document.createElement('div');next.innerHTML=latestView.routing;\n if(next.firstElementChild){patchNode(routing,next.firstElementChild)}\n appliedRouting=latestView.routing;\n }\n var logs=document.getElementById('screen-logs');\n var content=logs&&logs.querySelector('[data-log-content]');\n var follow=logs&&logs.querySelector('[data-log-follow]');\n var incoming=logs&&logs.querySelector('[data-log-incoming]');\n var scroll=document.querySelector('.scroll');\n if(content&&latestView.logs!==appliedLogs){\n if(appliedLogs===''&&content.innerHTML===latestView.logs){appliedLogs=latestView.logs}\n else{\n var atBottom=!scroll||scroll.scrollHeight-scroll.scrollTop-scroll.clientHeight<40;\n var safe=logs.hidden||(follow&&follow.checked&&atBottom);\n if((forceLogs||safe)&&!protectedContent(content)){\n var top=scroll&&scroll.scrollTop;\n patchHtml(content,latestView.logs);\n appliedLogs=latestView.logs;\n wireLogsScreen(logs);\n if(scroll&&!logs.hidden){scroll.scrollTop=follow&&follow.checked?scroll.scrollHeight:top}\n }\n }\n if(incoming){incoming.hidden=latestView.logs===appliedLogs&&!Array.from(content.querySelectorAll('.termlog')).some(function(log){return log.__incoming})}\n }\n var count=document.querySelector('[data-screen=\"logs\"] .count');\n if(count&&count.textContent!==String(latestView.sessionCount)){count.textContent=String(latestView.sessionCount)}\n if(typeof consoleLabels!=='undefined'){consoleLabels.refresh()}\n }\n function refreshView(){\n if(viewStopped){return}\n applyView(false);\n if(viewRequest){viewPending=true;return}\n viewPending=false;\n var controller=new AbortController();\n viewRequest=controller;\n var timeout=setTimeout(function(){controller.abort()},15000);\n fetch('/api/view'+authTok,{headers:viewRevision?{'If-None-Match':viewRevision}:{},signal:controller.signal})\n .then(function(r){\n var error=document.querySelector('[data-refresh-error]');\n if(error){error.hidden=r.ok||r.status===304}\n if(r.status===304){return null}\n if(!r.ok){throw new Error()}\n var revision=r.headers.get('etag')||'';\n return r.json().then(function(d){return {data:d,revision:revision}});\n }).then(function(result){\n if(viewStopped||viewRequest!==controller||!result){return}\n if(typeof result.data.routing!=='string'||typeof result.data.logs!=='string'){return}\n latestView=result.data;viewRevision=result.revision;\n var updated=document.querySelector('.token-chip b');\n if(updated&&typeof latestView.updatedAt==='string'){updated.textContent=latestView.updatedAt}\n if(Number.isInteger(latestView.refreshMs)&&latestView.refreshMs>=250&&latestView.refreshMs!==ms){\n ms=latestView.refreshMs;document.documentElement.setAttribute('data-refresh',String(ms));\n clearInterval(refreshTimer);refreshTimer=null;startRefresh();\n document.dispatchEvent(new CustomEvent('console-refresh-changed',{detail:ms}));\n }\n applyView(false);\n }).catch(function(){\n var error=document.querySelector('[data-refresh-error]');\n if(error&&!viewStopped){error.hidden=false}\n }).finally(function(){\n clearTimeout(timeout);\n if(viewRequest!==controller){return}\n viewRequest=null;\n if(viewPending&&!viewStopped){refreshView()}\n });\n }\n var refreshTimer=null;\n function startRefresh(){\n if(refreshTimer!==null){return}\n viewStopped=false;\n refreshTimer=setInterval(refreshView,isNaN(ms)?2000:Math.max(250,ms));\n }\n window.addEventListener('pagehide',function(){\n viewStopped=true;clearInterval(refreshTimer);refreshTimer=null;\n if(viewRequest){viewRequest.abort();viewRequest=null}\n if(es){es.close();es=null}\n document.querySelectorAll('[data-session-view]').forEach(disconnectTerminal);\n });\n window.addEventListener('pageshow',function(e){\n if(e.persisted){\n startRefresh();openStateStream();refreshView();\n var logs=document.getElementById('screen-logs');\n if(logs&&!logs.hidden){wireLogsScreen(logs)}\n }\n });\n";
2
+ export declare const CONSOLE_REFRESH_JS = "\n var viewRevision='',viewRequest=null,viewPending=false,viewStopped=false,latestView=null;\n var appliedRouting='',appliedLogs='',appliedTree='';\n function protectedContent(element){\n var active=document.activeElement;\n if(active&&element.contains(active)&&/^(INPUT|TEXTAREA|SELECT)$/.test(active.tagName)){return true}\n var selection=window.getSelection&&window.getSelection();\n return !!(selection&&!selection.isCollapsed&&element.contains(selection.anchorNode));\n }\n function nodeKey(node){\n if(node.nodeType!==1){return ''}\n return (node.hasAttribute('data-session-target')?'session-target:'+node.getAttribute('data-session-target'):\n node.hasAttribute('data-session-view')?'session-view:'+node.getAttribute('data-session-view'):node.id)||\n ((node.tagName==='LI'||node.tagName==='TR')?node.outerHTML:'');\n }\n function patchNode(old,next){\n if(old.isEqualNode(next)){return}\n if(old.nodeType!==next.nodeType||old.nodeName!==next.nodeName){\n old.replaceWith(next.cloneNode(true));return;\n }\n if(old.nodeType===3){old.nodeValue=next.nodeValue;return}\n if(old.nodeType!==1){return}\n if(old.matches('[data-session-name],[data-session-time]')){\n if(old.getAttribute('data-label-fallback')!==next.textContent){old.setAttribute('data-label-fallback',next.textContent)}\n return;\n }\n if(old.matches('input,textarea,select,.term,.pty,.graph-drill,[data-config-mount],[data-session-conversation]')){return}\n Array.from(old.attributes).forEach(function(a){\n if(a.name!=='open'&&a.name!=='hidden'&&a.name!=='aria-selected'&&!next.hasAttribute(a.name)){old.removeAttribute(a.name)}\n });\n Array.from(next.attributes).forEach(function(a){\n if(a.name!=='open'&&a.name!=='hidden'&&a.name!=='aria-selected'&&old.getAttribute(a.name)!==a.value){old.setAttribute(a.name,a.value)}\n });\n var originals=Array.from(old.childNodes),used=new Set();\n Array.from(next.childNodes).forEach(function(child,index){\n var key=nodeKey(child),match;\n if(key){match=originals.find(function(n){return !used.has(n)&&nodeKey(n)===key})}\n else{match=originals.find(function(n){return !used.has(n)&&!nodeKey(n)&&n.nodeName===child.nodeName})}\n if(match){used.add(match);patchNode(match,child)}\n else{match=child.cloneNode(true)}\n if(old.childNodes[index]!==match){\n var scrolls=match.nodeType===1?[match].concat(Array.from(match.querySelectorAll('*'))).map(function(n){return [n,n.scrollTop,n.scrollLeft]}):[];\n old.insertBefore(match,old.childNodes[index]||null);\n scrolls.forEach(function(s){s[0].scrollTop=s[1];s[0].scrollLeft=s[2]});\n }\n });\n originals.forEach(function(n){\n if(!used.has(n)&&n.parentNode===old){\n if(n.nodeType===1){\n disconnectTerminal(n);\n n.querySelectorAll('[data-session-view]').forEach(disconnectTerminal);\n }\n old.removeChild(n);\n }\n });\n }\n function patchHtml(element,html){\n var next=document.createElement('div');\n next.innerHTML=html;\n var shell=element.cloneNode(false);\n while(next.firstChild){shell.appendChild(next.firstChild)}\n patchNode(element,shell);\n }\n function applyView(forceLogs){\n if(!latestView){return}\n var tree=document.querySelector('#screen-tree > .graph-panel');\n if(tree&&latestView.tree&&latestView.tree!==appliedTree&&!protectedContent(tree)){\n var graph=document.createElement('div');graph.innerHTML=latestView.tree;\n if(graph.firstElementChild){patchNode(tree,graph.firstElementChild)}\n appliedTree=latestView.tree;\n }\n var routing=document.querySelector('#screen-routing > .screen-grid');\n if(routing&&latestView.routing!==appliedRouting&&!protectedContent(routing)){\n var next=document.createElement('div');next.innerHTML=latestView.routing;\n if(next.firstElementChild){patchNode(routing,next.firstElementChild)}\n appliedRouting=latestView.routing;\n }\n var logs=document.getElementById('screen-logs');\n var content=logs&&logs.querySelector('[data-log-content]');\n var follow=logs&&logs.querySelector('[data-log-follow]');\n var incoming=logs&&logs.querySelector('[data-log-incoming]');\n var scroll=document.querySelector('.scroll');\n if(content&&latestView.logs!==appliedLogs){\n if(appliedLogs===''&&content.innerHTML===latestView.logs){appliedLogs=latestView.logs}\n else{\n var atBottom=!scroll||scroll.scrollHeight-scroll.scrollTop-scroll.clientHeight<40;\n var safe=logs.hidden||(follow&&follow.checked&&atBottom);\n if((forceLogs||safe)&&!protectedContent(content)){\n var top=scroll&&scroll.scrollTop;\n patchHtml(content,latestView.logs);\n appliedLogs=latestView.logs;\n wireLogsScreen(logs);\n if(scroll&&!logs.hidden){scroll.scrollTop=follow&&follow.checked?scroll.scrollHeight:top}\n }\n }\n if(incoming){incoming.hidden=latestView.logs===appliedLogs&&!Array.from(content.querySelectorAll('.termlog')).some(function(log){return log.__incoming})}\n }\n var count=document.querySelector('[data-screen=\"logs\"] .count');\n if(count&&count.textContent!==String(latestView.sessionCount)){count.textContent=String(latestView.sessionCount)}\n if(typeof consoleLabels!=='undefined'){consoleLabels.refresh()}\n }\n function refreshView(){\n if(viewStopped){return}\n applyView(false);\n if(viewRequest){viewPending=true;return}\n viewPending=false;\n var controller=new AbortController();\n viewRequest=controller;\n var timeout=setTimeout(function(){controller.abort()},15000);\n fetch('/api/view'+authTok,{headers:viewRevision?{'If-None-Match':viewRevision}:{},signal:controller.signal})\n .then(function(r){\n var error=document.querySelector('[data-refresh-error]');\n if(error){error.hidden=r.ok||r.status===304}\n if(r.status===304){return null}\n if(!r.ok){throw new Error()}\n var revision=r.headers.get('etag')||'';\n return r.json().then(function(d){return {data:d,revision:revision}});\n }).then(function(result){\n if(viewStopped||viewRequest!==controller||!result){return}\n if(typeof result.data.routing!=='string'||typeof result.data.logs!=='string'){return}\n latestView=result.data;viewRevision=result.revision;\n var updated=document.querySelector('.token-chip b');\n if(updated&&typeof latestView.updatedAt==='string'){updated.textContent=latestView.updatedAt}\n if(Number.isInteger(latestView.refreshMs)&&latestView.refreshMs>=250&&latestView.refreshMs!==ms){\n ms=latestView.refreshMs;document.documentElement.setAttribute('data-refresh',String(ms));\n clearInterval(refreshTimer);refreshTimer=null;startRefresh();\n document.dispatchEvent(new CustomEvent('console-refresh-changed',{detail:ms}));\n }\n applyView(false);\n }).catch(function(){\n var error=document.querySelector('[data-refresh-error]');\n if(error&&!viewStopped){error.hidden=false}\n }).finally(function(){\n clearTimeout(timeout);\n if(viewRequest!==controller){return}\n viewRequest=null;\n if(viewPending&&!viewStopped){refreshView()}\n });\n }\n var refreshTimer=null;\n function startRefresh(){\n if(refreshTimer!==null){return}\n viewStopped=false;\n refreshTimer=setInterval(refreshView,isNaN(ms)?2000:Math.max(250,ms));\n }\n window.addEventListener('pagehide',function(){\n viewStopped=true;clearInterval(refreshTimer);refreshTimer=null;\n if(viewRequest){viewRequest.abort();viewRequest=null}\n if(es){es.close();es=null}\n document.querySelectorAll('[data-session-view]').forEach(disconnectTerminal);\n });\n window.addEventListener('pageshow',function(e){\n if(e.persisted){\n startRefresh();openStateStream();refreshView();\n var logs=document.getElementById('screen-logs');\n if(logs&&!logs.hidden){wireLogsScreen(logs)}\n }\n });\n";
3
3
  //# sourceMappingURL=refresh.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../src/console/refresh.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,eAAO,MAAM,kBAAkB,85PA8J9B,CAAC"}
1
+ {"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../src/console/refresh.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,eAAO,MAAM,kBAAkB,07PA8J9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/console/render.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAEV,0BAA0B,EAK3B,MAAM,wBAAwB,CAAC;AAWhC,OAAO,KAAK,EAGV,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAchC,OAAO,KAAK,EAGV,YAAY,EAIb,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,uBAAuB,EAClC,yHAAkI,CAAC;AASrI,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOhD;AA6nBD;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,qBAAqB,GAAG,IAAI,EACxC,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GACnC,MAAM,CA2BR;AA89BD,MAAM,MAAM,aAAa,GAAG;IAC1B,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oDAAoD;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,UAAU,EAAE,qBAAqB,GAAG,IAAI,CAAC;QAClD,sEAAsE;QACtE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;QACzB;;;WAGG;QACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;KAC7B,CAAC;IACF;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAC9C;;;;;OAKG;IACH,aAAa,CAAC,EAAE;QACd,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,GAAG,IAAI,CAAC;QACrD,qDAAqD;QACrD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;KAChC,CAAC;CACH,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,YAAY,EACnB,OAAO,GAAE,aAAkB,GAC1B,MAAM,CA4GR;AAED,oFAAoF;AACpF,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,YAAY,EACnB,OAAO,GAAE,IAAI,CACX,aAAa,EACb,iBAAiB,GAAG,YAAY,GAAG,WAAW,GAAG,kBAAkB,CAC/D,GACL;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAoBxE"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/console/render.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAEV,0BAA0B,EAK3B,MAAM,wBAAwB,CAAC;AAWhC,OAAO,KAAK,EAGV,qBAAqB,EACtB,MAAM,wBAAwB,CAAC;AAchC,OAAO,KAAK,EAGV,YAAY,EAIb,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,uBAAuB,EAClC,yHAAkI,CAAC;AASrI,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOhD;AA8nBD;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,qBAAqB,GAAG,IAAI,EACxC,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GACnC,MAAM,CA2BR;AA89BD,MAAM,MAAM,aAAa,GAAG;IAC1B,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oDAAoD;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,UAAU,EAAE,qBAAqB,GAAG,IAAI,CAAC;QAClD,sEAAsE;QACtE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;QACzB;;;WAGG;QACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;KAC7B,CAAC;IACF;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAC9C;;;;;OAKG;IACH,aAAa,CAAC,EAAE;QACd,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,GAAG,IAAI,CAAC;QACrD,qDAAqD;QACrD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;KAChC,CAAC;CACH,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,YAAY,EACnB,OAAO,GAAE,aAAkB,GAC1B,MAAM,CA2GR;AAED,oFAAoF;AACpF,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,YAAY,EACnB,OAAO,GAAE,IAAI,CACX,aAAa,EACb,iBAAiB,GAAG,YAAY,GAAG,WAAW,GAAG,kBAAkB,CAC/D,GACL;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAoBxE"}
package/dist/index.js CHANGED
@@ -786,6 +786,9 @@ function migrateConfig(raw) {
786
786
  var consoleDetailMessages = {
787
787
  follow: "Follow new activity",
788
788
  metadataOnly: "Lifecycle and telemetry stay metadata-only.",
789
+ logsDescription: "Current recorded conversations load automatically. Lifecycle and telemetry remain metadata-only; credentials are masked.",
790
+ credentialMasked: "[credential masked]",
791
+ offscreen: "Messages load automatically when this conversation is visible.",
789
792
  filter: "Filter sessions",
790
793
  incoming: "New activity available — show updates",
791
794
  refreshError: "Live updates unavailable; retrying.",
@@ -806,7 +809,7 @@ var consoleDetailMessages = {
806
809
  partialMetadata: "Some current session titles are unavailable or outside the bounded batch; fallback labels remain.",
807
810
  rootCurrent: "Current whole orchestrator session; may contain multiple batches. Not a historical or batch-only transcript.",
808
811
  recovered: "Read-only association verified from current opencode history; not an immutable lifecycle event.",
809
- rootUnlinked: "Orchestrator session not recorded. Reveal to try a bounded, read-only relationship search.",
812
+ rootUnlinked: "Orchestrator session not recorded. A bounded, read-only relationship search is attempted when visible.",
810
813
  rootUnavailable: "Orchestrator session unavailable: no unique, verifiable relationship was found in local history.",
811
814
  rootAmbiguous: "Orchestrator session unavailable: conflicting or copied relationships are ambiguous.",
812
815
  searchIncomplete: "Orchestrator association search incomplete or exceeded its bounded budget. No session was guessed.",
@@ -819,9 +822,9 @@ var consoleDetailMessages = {
819
822
  arguments: "Arguments",
820
823
  result: "Result",
821
824
  loading: "Loading local conversation…",
822
- current: "Present-day session, not a timeline reconstruction. May include later messages and tools. Refresh explicitly for updates.",
823
- historical: "Historical cursor: conversation content is hidden to avoid showing future mutable text. Return to live before revealing this operation.",
824
- disabled: "Content is disabled. Set console.sessionHistory.contentEnabled to true in .opencode/openteam.json and restart the Console. Then reveal content here.",
825
+ current: "Present-day whole session, not a timeline reconstruction or per-attempt transcript. Visible messages update automatically while live.",
826
+ historical: "Historical cursor: conversation content is hidden to avoid showing future mutable text. Return to live to read current messages.",
827
+ disabled: "Content is disabled by console.sessionHistory.contentEnabled: false. Lifecycle and telemetry remain metadata-only.",
825
828
  unavailable: "Conversation unavailable. Start an operator-owned local opencode serve against the same workspace and user history, configure console.sessionHistory.endpoint, then retry. No inference was requested.",
826
829
  empty: "No readable user messages, assistant output or tool calls remain in this session.",
827
830
  invalid: "This attempt has no recorded session in the selected run, or its history is incomplete.",
@@ -831,7 +834,7 @@ var consoleDetailMessages = {
831
834
  invalidEndpoint: "Expected a loopback HTTP origin without credentials, path, query or fragment.",
832
835
  readFailed: "Local session history could not be read.",
833
836
  oversized: "Conversation exceeds the local size limit (4 MiB). No content was loaded.",
834
- truncated: "Conversation display is truncated by local safety limits; omitted content is not empty history.",
837
+ truncated: "Conversation display is truncated by local safety limits. The newest bounded message window is shown; older messages or oversized fields may be omitted, not empty history.",
835
838
  truncatedMarker: `
836
839
  [truncated]`,
837
840
  terminalGap: "Live collection was interrupted; events during the gap are unavailable. This is not complete session history.",
@@ -908,7 +911,7 @@ var ConsoleConfigSchema = z3.object({
908
911
  openBrowser: z3.boolean().default(false),
909
912
  remoteStorage: z3.boolean().default(false),
910
913
  sessionHistory: z3.object({
911
- contentEnabled: z3.boolean().default(false),
914
+ contentEnabled: z3.boolean().default(true),
912
915
  endpoint: z3.string().refine(isLocalHistoryEndpoint, consoleDetailMessages.invalidEndpoint).optional()
913
916
  }).strict().optional(),
914
917
  terminal: z3.object({
@@ -5743,7 +5746,7 @@ import { z as z15 } from "zod";
5743
5746
  // package.json
5744
5747
  var package_default = {
5745
5748
  name: "@jmanuelcorral/openteam",
5746
- version: "0.24.1",
5749
+ version: "0.25.0",
5747
5750
  packageManager: "bun@1.3.14",
5748
5751
  description: "Cost-aware, local-first routing plugin for opencode with cheapest-capable frontier fallback and multi-agent orchestration.",
5749
5752
  license: "MIT",
@@ -1,6 +1,9 @@
1
1
  export declare const consoleDetailMessages: {
2
2
  readonly follow: "Follow new activity";
3
3
  readonly metadataOnly: "Lifecycle and telemetry stay metadata-only.";
4
+ readonly logsDescription: "Current recorded conversations load automatically. Lifecycle and telemetry remain metadata-only; credentials are masked.";
5
+ readonly credentialMasked: "[credential masked]";
6
+ readonly offscreen: "Messages load automatically when this conversation is visible.";
4
7
  readonly filter: "Filter sessions";
5
8
  readonly incoming: "New activity available — show updates";
6
9
  readonly refreshError: "Live updates unavailable; retrying.";
@@ -21,7 +24,7 @@ export declare const consoleDetailMessages: {
21
24
  readonly partialMetadata: "Some current session titles are unavailable or outside the bounded batch; fallback labels remain.";
22
25
  readonly rootCurrent: "Current whole orchestrator session; may contain multiple batches. Not a historical or batch-only transcript.";
23
26
  readonly recovered: "Read-only association verified from current opencode history; not an immutable lifecycle event.";
24
- readonly rootUnlinked: "Orchestrator session not recorded. Reveal to try a bounded, read-only relationship search.";
27
+ readonly rootUnlinked: "Orchestrator session not recorded. A bounded, read-only relationship search is attempted when visible.";
25
28
  readonly rootUnavailable: "Orchestrator session unavailable: no unique, verifiable relationship was found in local history.";
26
29
  readonly rootAmbiguous: "Orchestrator session unavailable: conflicting or copied relationships are ambiguous.";
27
30
  readonly searchIncomplete: "Orchestrator association search incomplete or exceeded its bounded budget. No session was guessed.";
@@ -34,9 +37,9 @@ export declare const consoleDetailMessages: {
34
37
  readonly arguments: "Arguments";
35
38
  readonly result: "Result";
36
39
  readonly loading: "Loading local conversation…";
37
- readonly current: "Present-day session, not a timeline reconstruction. May include later messages and tools. Refresh explicitly for updates.";
38
- readonly historical: "Historical cursor: conversation content is hidden to avoid showing future mutable text. Return to live before revealing this operation.";
39
- readonly disabled: "Content is disabled. Set console.sessionHistory.contentEnabled to true in .opencode/openteam.json and restart the Console. Then reveal content here.";
40
+ readonly current: "Present-day whole session, not a timeline reconstruction or per-attempt transcript. Visible messages update automatically while live.";
41
+ readonly historical: "Historical cursor: conversation content is hidden to avoid showing future mutable text. Return to live to read current messages.";
42
+ readonly disabled: "Content is disabled by console.sessionHistory.contentEnabled: false. Lifecycle and telemetry remain metadata-only.";
40
43
  readonly unavailable: "Conversation unavailable. Start an operator-owned local opencode serve against the same workspace and user history, configure console.sessionHistory.endpoint, then retry. No inference was requested.";
41
44
  readonly empty: "No readable user messages, assistant output or tool calls remain in this session.";
42
45
  readonly invalid: "This attempt has no recorded session in the selected run, or its history is incomplete.";
@@ -46,7 +49,7 @@ export declare const consoleDetailMessages: {
46
49
  readonly invalidEndpoint: "Expected a loopback HTTP origin without credentials, path, query or fragment.";
47
50
  readonly readFailed: "Local session history could not be read.";
48
51
  readonly oversized: "Conversation exceeds the local size limit (4 MiB). No content was loaded.";
49
- readonly truncated: "Conversation display is truncated by local safety limits; omitted content is not empty history.";
52
+ readonly truncated: "Conversation display is truncated by local safety limits. The newest bounded message window is shown; older messages or oversized fields may be omitted, not empty history.";
50
53
  readonly truncatedMarker: "\n[truncated]";
51
54
  readonly terminalGap: "Live collection was interrupted; events during the gap are unavailable. This is not complete session history.";
52
55
  readonly terminalTrimmed: "Older live output was discarded by the local display limit.";
@@ -1 +1 @@
1
- {"version":3,"file":"consoleDetail.d.ts","sourceRoot":"","sources":["../../src/messages/consoleDetail.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;aAChC,MAAM,EAAE,qBAAqB;aAC7B,YAAY,EAAE,6CAA6C;aAC3D,MAAM,EAAE,iBAAiB;aACzB,QAAQ,EAAE,uCAAuC;aACjD,YAAY,EAAE,qCAAqC;aACnD,mBAAmB,EAAE,8BAA8B;aACnD,OAAO,EAAE,sBAAsB;aAC/B,KAAK,EAAE,8BAA8B;aACrC,KAAK,EAAE,kCAAkC;aACzC,YAAY,EAAE,cAAc;aAC5B,MAAM,EAAE,QAAQ;aAChB,OAAO,EAAE,SAAS;aAClB,UAAU,EAAE,aAAa;aACzB,cAAc,EAAE,iBAAiB;aACjC,aAAa,EAAE,gBAAgB;aAC/B,WAAW,EAAE,cAAc;aAC3B,GAAG,EAAE,KAAK;aACV,WAAW,EAAE,cAAc;aAC3B,eAAe,EAAE,iDAAiD;aAClE,eAAe,EACb,mGAAmG;aACrG,WAAW,EACT,8GAA8G;aAChH,SAAS,EACP,iGAAiG;aACnG,YAAY,EACV,4FAA4F;aAC9F,eAAe,EACb,kGAAkG;aACpG,aAAa,EACX,sFAAsF;aACxF,gBAAgB,EACd,oGAAoG;aACtG,MAAM,EAAE,kBAAkB;aAC1B,SAAS,EAAE,yBAAyB;aACpC,KAAK,EAAE,sBAAsB;aAC7B,SAAS,EAAE,mCAAmC;aAC9C,QAAQ,EAAE,0CAA0C;aACpD,OAAO,EAAE,yBAAyB;aAClC,SAAS,EAAE,WAAW;aACtB,MAAM,EAAE,QAAQ;aAChB,OAAO,EAAE,6BAA6B;aACtC,OAAO,EACL,2HAA2H;aAC7H,UAAU,EACR,yIAAyI;aAC3I,QAAQ,EACN,sJAAsJ;aACxJ,WAAW,EACT,wMAAwM;aAC1M,KAAK,EACH,mFAAmF;aACrF,OAAO,EACL,yFAAyF;aAC3F,YAAY,EAAE,6BAA6B;aAC3C,OAAO,EAAE,iCAAiC;aAC1C,SAAS,EAAE,wCAAwC;aACnD,eAAe,EACb,+EAA+E;aACjF,UAAU,EAAE,0CAA0C;aACtD,SAAS,EACP,2EAA2E;aAC7E,SAAS,EACP,iGAAiG;aACnG,eAAe,EAAE,eAAe;aAChC,WAAW,EACT,+GAA+G;aACjH,eAAe,EACb,6DAA6D;CACvD,CAAC"}
1
+ {"version":3,"file":"consoleDetail.d.ts","sourceRoot":"","sources":["../../src/messages/consoleDetail.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;aAChC,MAAM,EAAE,qBAAqB;aAC7B,YAAY,EAAE,6CAA6C;aAC3D,eAAe,EACb,0HAA0H;aAC5H,gBAAgB,EAAE,qBAAqB;aACvC,SAAS,EAAE,gEAAgE;aAC3E,MAAM,EAAE,iBAAiB;aACzB,QAAQ,EAAE,uCAAuC;aACjD,YAAY,EAAE,qCAAqC;aACnD,mBAAmB,EAAE,8BAA8B;aACnD,OAAO,EAAE,sBAAsB;aAC/B,KAAK,EAAE,8BAA8B;aACrC,KAAK,EAAE,kCAAkC;aACzC,YAAY,EAAE,cAAc;aAC5B,MAAM,EAAE,QAAQ;aAChB,OAAO,EAAE,SAAS;aAClB,UAAU,EAAE,aAAa;aACzB,cAAc,EAAE,iBAAiB;aACjC,aAAa,EAAE,gBAAgB;aAC/B,WAAW,EAAE,cAAc;aAC3B,GAAG,EAAE,KAAK;aACV,WAAW,EAAE,cAAc;aAC3B,eAAe,EAAE,iDAAiD;aAClE,eAAe,EACb,mGAAmG;aACrG,WAAW,EACT,8GAA8G;aAChH,SAAS,EACP,iGAAiG;aACnG,YAAY,EACV,wGAAwG;aAC1G,eAAe,EACb,kGAAkG;aACpG,aAAa,EACX,sFAAsF;aACxF,gBAAgB,EACd,oGAAoG;aACtG,MAAM,EAAE,kBAAkB;aAC1B,SAAS,EAAE,yBAAyB;aACpC,KAAK,EAAE,sBAAsB;aAC7B,SAAS,EAAE,mCAAmC;aAC9C,QAAQ,EAAE,0CAA0C;aACpD,OAAO,EAAE,yBAAyB;aAClC,SAAS,EAAE,WAAW;aACtB,MAAM,EAAE,QAAQ;aAChB,OAAO,EAAE,6BAA6B;aACtC,OAAO,EACL,uIAAuI;aACzI,UAAU,EACR,kIAAkI;aACpI,QAAQ,EACN,oHAAoH;aACtH,WAAW,EACT,wMAAwM;aAC1M,KAAK,EACH,mFAAmF;aACrF,OAAO,EACL,yFAAyF;aAC3F,YAAY,EAAE,6BAA6B;aAC3C,OAAO,EAAE,iCAAiC;aAC1C,SAAS,EAAE,wCAAwC;aACnD,eAAe,EACb,+EAA+E;aACjF,UAAU,EAAE,0CAA0C;aACtD,SAAS,EACP,2EAA2E;aAC7E,SAAS,EACP,6KAA6K;aAC/K,eAAe,EAAE,eAAe;aAChC,WAAW,EACT,+GAA+G;aACjH,eAAe,EACb,6DAA6D;CACvD,CAAC"}
@@ -5,12 +5,12 @@ export type ConversationRouteDeps = {
5
5
  token: string;
6
6
  enabled: boolean;
7
7
  contentEnabled: boolean;
8
- reader: LifecycleHistoryReader;
8
+ reader?: LifecycleHistoryReader;
9
9
  resolveEndpoint: (sessionID: string) => Promise<string | undefined>;
10
10
  readConversation: ConversationReader;
11
11
  observedSessionIDs?: () => Promise<readonly string[]>;
12
12
  };
13
13
  export type ConversationState = "conversation" | "empty" | "unauthorized" | "unavailable" | "disabled" | "invalid" | "oversized" | "historical";
14
- /** Session identity is derived from the recorded run/operation/attempt, never supplied by a caller. */
14
+ /** Graph identities are derived from recorded attempts; direct reads require a Console-observed identity. */
15
15
  export declare function handleConversationRoute(request: IncomingMessage, response: ServerResponse, url: URL, deps: ConversationRouteDeps): Promise<boolean>;
16
16
  //# sourceMappingURL=conversationRoute.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversationRoute.d.ts","sourceRoot":"","sources":["../../src/web/conversationRoute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAEL,KAAK,kBAAkB,EAGxB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAIrE,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACpE,gBAAgB,EAAE,kBAAkB,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,iBAAiB,GACzB,cAAc,GACd,OAAO,GACP,cAAc,GACd,aAAa,GACb,UAAU,GACV,SAAS,GACT,WAAW,GACX,YAAY,CAAC;AAmBjB,uGAAuG;AACvG,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,cAAc,EACxB,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,OAAO,CAAC,CAqSlB"}
1
+ {"version":3,"file":"conversationRoute.d.ts","sourceRoot":"","sources":["../../src/web/conversationRoute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAEL,KAAK,kBAAkB,EAGxB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAIrE,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACpE,gBAAgB,EAAE,kBAAkB,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,iBAAiB,GACzB,cAAc,GACd,OAAO,GACP,cAAc,GACd,aAAa,GACb,UAAU,GACV,SAAS,GACT,WAAW,GACX,YAAY,CAAC;AAmBjB,6GAA6G;AAC7G,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,cAAc,EACxB,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,OAAO,CAAC,CA4XlB"}
@@ -47,7 +47,7 @@ export type ConsoleServerDeps = {
47
47
  * defecto (requiere además `?diagnostic=1` en la petición). Off por defecto.
48
48
  */
49
49
  diagnosticEnabled?: boolean;
50
- /** Workspace-validated native inspection only; independent of legacy diagnostics. */
50
+ /** Workspace-validated current content defaults on; independent of legacy diagnostics. */
51
51
  conversationContentEnabled?: boolean;
52
52
  createClient: (endpoint: string) => ConsoleClient;
53
53
  readConversation?: ConversationReader;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,IAAI,gBAAgB,EAIjC,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,KAAK,eAAe,EAAqB,MAAM,eAAe,CAAC;AAaxE,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAW3E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,iEAAiE;IACjE,YAAY,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3C,MAAM,EAAE,aAAa,CAAC;IACtB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,aAAa,CAAC;IACvC;;;OAGG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,2EAA2E;IAC3E,YAAY,CAAC,EAAE,OAAO,gBAAgB,CAAC;IACvC,sCAAsC;IACtC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,8EAA8E;IAC9E,OAAO,CAAC,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,EAAE,OAAO,CAAC;QACzB;;;;;WAKG;QACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,+DAA+D;QAC/D,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB;;;;WAIG;QACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,qFAAqF;QACrF,0BAA0B,CAAC,EAAE,OAAO,CAAC;QACrC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,aAAa,CAAC;QAClD,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;QACtC,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,SAAS,CAAC;KACnD,CAAC;IACF;;;OAGG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE;QACT,QAAQ,EAAE,MAAM,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;KACvD,CAAC;IACF,oFAAoF;IACpF,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE;QACpB,MAAM,EAAE,sBAAsB,CAAC;KAChC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B;;;;;OAKG;IACH,qBAAqB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAmIF;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,aAAa,CAAC,CA6TxB"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,IAAI,gBAAgB,EAIjC,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,KAAK,eAAe,EAAqB,MAAM,eAAe,CAAC;AAaxE,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAW3E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,iEAAiE;IACjE,YAAY,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3C,MAAM,EAAE,aAAa,CAAC;IACtB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,aAAa,CAAC;IACvC;;;OAGG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,2EAA2E;IAC3E,YAAY,CAAC,EAAE,OAAO,gBAAgB,CAAC;IACvC,sCAAsC;IACtC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,8EAA8E;IAC9E,OAAO,CAAC,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,EAAE,OAAO,CAAC;QACzB;;;;;WAKG;QACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,+DAA+D;QAC/D,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB;;;;WAIG;QACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,0FAA0F;QAC1F,0BAA0B,CAAC,EAAE,OAAO,CAAC;QACrC,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,aAAa,CAAC;QAClD,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;QACtC,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,SAAS,CAAC;KACnD,CAAC;IACF;;;OAGG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE;QACT,QAAQ,EAAE,MAAM,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;KACvD,CAAC;IACF,oFAAoF;IACpF,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE;QACpB,MAAM,EAAE,sBAAsB,CAAC;KAChC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B;;;;;OAKG;IACH,qBAAqB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAmIF;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,aAAa,CAAC,CAmUxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jmanuelcorral/openteam",
3
- "version": "0.24.1",
3
+ "version": "0.25.0",
4
4
  "packageManager": "bun@1.3.14",
5
5
  "description": "Cost-aware, local-first routing plugin for opencode with cheapest-capable frontier fallback and multi-agent orchestration.",
6
6
  "license": "MIT",