@chatpanel/events 0.111.0 → 0.112.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,16 +1,20 @@
1
- import{makeSourceStore as h,manifestText as l,readSource as d,approxTokens as p}from"./sources-retrieval.js";function g(t){const e=String(t||"").trim();return e?`<presence>
2
- ${e}
3
- </presence>`:""}function f(t){let e=t.content||"";const i=(t.attachments||[]).filter(s=>s.kind!=="image");if(i.length){const s=i.map(n=>{const a=`[${n.kind||"context"}] ${n.title||n.url||""}`.trim();return`<context source="${(n.url||n.title||"").replace(/"/g,"")}">
4
- # ${a}
5
- ${n.text||""}
6
- </context>`}).join(`
1
+ import{makeSourceStore as f,manifestText as m,readSource as x,approxTokens as h}from"./sources-retrieval.js";function y(r){const t=String(r||"").trim();return t?`<presence>
2
+ ${t}
3
+ </presence>`:""}function d(r){let t=r.content||"";const s=(r.attachments||[]).filter(e=>e.kind!=="image"),n=s.filter(e=>e.kind==="prefetch"),i=s.filter(e=>e.kind!=="prefetch"),a=e=>{const o=`[${e.kind||"context"}] ${e.title||e.url||""}`.trim();return`<context source="${(e.url||e.title||"").replace(/"/g,"")}">
4
+ # ${o}
5
+ ${e.text||""}
6
+ </context>`};if(n.length&&(t=`${n.map(a).join(`
7
7
 
8
- `);e=e?`${e}
8
+ `)}
9
9
 
10
- ${s}`:s}const r=g(t.presence);return r&&(e=e?`${e}
10
+ ${t}`.trim()),i.length){const e=i.map(a).join(`
11
11
 
12
- ${r}`:r),e}function k(t){return t.filter(e=>e.role==="user"||e.role==="assistant").map(e=>({role:e.role,content:f(e)}))}function m(t){return(t.attachments||[]).filter(e=>e.kind==="image"&&e.dataUrl)}function $(t,e){return t.filter(i=>i.role==="user"||i.role==="assistant").map(i=>{const r=f(i),s=i.role==="user"?m(i):[];if(s.length===0)return{role:i.role,content:r};if(e==="anthropic"){const a=[];for(const c of s){const o=/^data:([^;]+);base64,(.+)$/s.exec(c.dataUrl);o&&a.push({type:"image",source:{type:"base64",media_type:o[1],data:o[2]}})}return r&&a.push({type:"text",text:r}),{role:"user",content:a.length?a:r}}const n=[];r&&n.push({type:"text",text:r});for(const a of s)n.push({type:"image_url",image_url:{url:a.dataUrl}});return{role:"user",content:n.length?n:r}})}function S(t,e,{minTokens:i=700}={}){if(!e?.specs?.length)return null;const r=[];for(const c of t||[])for(const o of c?.attachments||[])o?.kind==="image"||!o?.text||o.kind!=="prefetch"&&r.push(o);if(!r.length)return null;const s=h(r.map(c=>({kind:c.kind||"context",title:c.title,url:c.url,text:c.text})));if(s.tokens<i)return null;const n=new Map(r.map((c,o)=>[c,s.entries[o]?.id]));return{messages:(t||[]).map(c=>c?.attachments?.some(o=>n.get(o))?{...c,attachments:c.attachments.map(o=>{const u=n.get(o);return u?{...o,text:`(not included — read with \`source\`: id ${u}, ~${p(o.text)} tokens)`}:o})}:c),store:s}}const x={name:"source",description:"Read an attached source (a page, tab, selection or file the user attached). Their content is NOT in the conversation — read what you need from here.",parameters:{type:"object",properties:{id:{type:"string",description:"The source id from the manifest, e.g. page-1."},query:{type:"string",description:"What you are looking for. A large source returns the matching sections rather than its first page."}},required:["id"]}};function T(t,e){const i={...x},r=[t?.system,`${l(e)}
12
+ `);t=t?`${t}
13
13
 
14
- Their content is NOT in this conversation. Call \`source\` with an id — and a query when the source is large — to read what you need.`].filter(Boolean).join(`
14
+ ${e}`:e}const c=y(r.presence);return c&&(t=t?`${t}
15
15
 
16
- `);return{...t,specs:[...t?.specs||[],i],system:r,systemParts:{...t?.systemParts||{},source:p(l(e))},execute:async(s,n,a)=>s==="source"?JSON.stringify(d(e,typeof n=="string"?JSON.parse(n||"{}"):n||{})):t.execute(s,n,a)}}export{x as SOURCE_TOOL_SPEC,S as deferAttachedSources,m as imageAttachmentsOf,g as presenceBlock,f as renderContent,k as toChatMessages,$ as toMultimodalMessages,T as withSourceTool};
16
+ ${c}`:c),t}function T(r){return r.filter(t=>t.role==="user"||t.role==="assistant").map(t=>({role:t.role,content:d(t)}))}function k(r){return(r.attachments||[]).filter(t=>t.kind==="image"&&t.dataUrl)}function O(r,t){return r.filter(s=>s.role==="user"||s.role==="assistant").map(s=>{const n=d(s),i=s.role==="user"?k(s):[];if(i.length===0)return{role:s.role,content:n};if(t==="anthropic"){const c=[];for(const e of i){const o=/^data:([^;]+);base64,(.+)$/s.exec(e.dataUrl);o&&c.push({type:"image",source:{type:"base64",media_type:o[1],data:o[2]}})}return n&&c.push({type:"text",text:n}),{role:"user",content:c.length?c:n}}const a=[];n&&a.push({type:"text",text:n});for(const c of i)a.push({type:"image_url",image_url:{url:c.dataUrl}});return{role:"user",content:a.length?a:n}})}function b(r,t,{minTokens:s=700}={}){if(!t?.specs?.length)return null;const n=[];for(const e of r||[])for(const o of e?.attachments||[])o?.kind==="image"||!o?.text||o.kind!=="prefetch"&&n.push(o);if(!n.length)return null;const i=f(n.map(e=>({kind:e.kind||"context",title:e.title,url:e.url,text:e.text})));if(i.tokens<s)return null;const a=new Map(n.map((e,o)=>[e,i.entries[o]?.id]));return{messages:(r||[]).map(e=>e?.attachments?.some(o=>a.get(o))?{...e,attachments:e.attachments.map(o=>{const u=a.get(o);return u?{...o,text:`(not included — read with \`source\`: id ${u}, ~${h(o.text)} tokens)`}:o})}:e),store:i}}const $={name:"source",description:"Read an attached source (a page, tab, selection or file the user attached) or something this conversation already fetched (an id like f3 from the presence block). Their content is NOT in the conversation — read what you need from here.",parameters:{type:"object",properties:{id:{type:"string",description:"The source id from the manifest, e.g. page-1."},query:{type:"string",description:"What you are looking for. A large source returns the matching sections rather than its first page."}},required:["id"]}};function w(r,t,{fetched:s=[]}={}){const n=t?.entries?.length?t:null,i=Array.isArray(s)&&s.length?f(s):null;if(!n&&!i)return r;const a={...$},c=n?`${m(n)}
17
+
18
+ Their content is NOT in this conversation. Call \`source\` with an id — and a query when the source is large — to read what you need.`:"",e=[r?.system,c].filter(Boolean).join(`
19
+
20
+ `),o=u=>{const l=typeof u=="string"?JSON.parse(u||"{}"):u||{},p=String(l?.id||"").trim(),g=n?.get?.(p)?n:i?.get?.(p)?i:n||i;return x(g,l)};return{...r,specs:[...r?.specs||[],a],system:e,systemParts:{...r?.systemParts||{},source:h(c)},execute:async(u,l,p)=>u==="source"?JSON.stringify(o(l)):r.execute(u,l,p)}}export{$ as SOURCE_TOOL_SPEC,b as deferAttachedSources,k as imageAttachmentsOf,y as presenceBlock,d as renderContent,T as toChatMessages,O as toMultimodalMessages,w as withSourceTool};
package/fetched.js ADDED
@@ -0,0 +1,3 @@
1
+ import{approxTokens as M,queryTerms as T}from"./sources-retrieval.js";import{effectiveToolName as w}from"./tool-traits.js";const k=Object.freeze({weather:10*6e4,web_search:30*6e4,history_search:10*6e4,history_get_source:30*6e4,history_related:10*6e4,history_list_meetings:10*6e4,history_get_meeting:30*6e4,meeting_live_transcript:6e4,read_page:5*6e4,read_transcript:30*6e4,mcp:10*6e4,default:5*6e4}),$=new Set(["source","get_result","describe","find_tool","team","sideline","thread","memory","note","skill_open","skill_file","screenshot","marked_screenshot","inspect_page","sense_canvas","probe_app_state","read_app_state","read_canvas"]);function q(t,e){return k[t]?k[t]:e==="mcp"||/^mcp[_:]/.test(String(e||""))?k.mcp:k.default}function b(t){if(t!=null){if(typeof t=="string")return t.trim().toLowerCase().replace(/\s+/g," ");if(Array.isArray(t))return t.map(b);if(typeof t=="object"){const e={};for(const o of Object.keys(t).sort()){const d=b(t[o]);d!==void 0&&d!==""&&(e[o]=d)}return e}return t}}function j(t,e){const o=typeof e=="string"?(()=>{try{return JSON.parse(e)}catch{return{text:e}}})():e||{},d=w(t,o),y=o&&typeof o=="object"&&("args"in o||"action"in o)?o.args??{}:o,p=b(y)||{};return{tool:String(t||""),action:d,args:p,key:`${d}|${JSON.stringify(p)}`}}function A(t){if(!t||typeof t!="object")return"";for(const e of["location","query","q","url","id","sourceId","name","text","path"])if(typeof t[e]=="string"&&t[e])return t[e];for(const e of Object.values(t))if(typeof e=="string"&&e)return e;return""}function J(t,e){const o=A(e);return o?`${t} — ${o.slice(0,60)}`:t}const D=t=>!t||/^(error\b|\w+ failed\b|\{"error"|could not answer)/i.test(String(t))||/now call web_search/i.test(String(t));function F({entries:t=[],now:e=()=>Date.now(),ttlFor:o=q,maxEntries:d=40,maxTokens:y=24e3,newId:p=null}={}){let c=(Array.isArray(t)?t:[]).filter(r=>r&&r.id&&r.key&&typeof r.text=="string").map(r=>({...r})),m=c.reduce((r,n)=>Math.max(r,Number(String(n.id).replace(/^f/,""))||0),0);const x=()=>p?p():`f${++m}`,g=(r,n=e())=>n-(r.at||0)<(r.ttl||o(r.action,r.tool)),a=()=>{const r=e();for(c=c.filter(i=>g(i,r));c.length>d;)c.shift();let n=c.reduce((i,u)=>i+u.tokens,0);for(;n>y&&c.length>1;)n-=c.shift().tokens};return{get entries(){return a(),[...c]},get tokens(){return a(),c.reduce((r,n)=>r+n.tokens,0)},remember({tool:r,input:n,text:i,title:u="",turn:l=null}={}){const f=typeof i=="string"?i:i&&typeof i=="object"&&typeof i.text=="string"?i.text:"";if(D(f))return null;const s=j(r,n);c=c.filter(h=>h.key!==s.key);const _={id:x(),tool:s.tool,action:s.action,key:s.key,args:s.args,title:u||J(s.action,s.args),text:f,tokens:M(f),at:e(),ttl:o(s.action,s.tool),uses:0,turn:l};return c.push(_),a(),_},lookup(r,n){const i=j(r,n),u=c.find(l=>l.key===i.key);return u&&g(u)?u:null},byId(r){const n=c.find(i=>i.id===String(r||"").trim());return n&&g(n)?n:null},relevant(r,{limit:n=4,previousTurn:i=null}={}){a();const u=T(String(r||"")),l=e();return c.map(s=>{const _=`${s.title} ${JSON.stringify(s.args)} ${s.text.slice(0,400)}`.toLowerCase();let h=0;for(const S of u)_.includes(S)&&(h+=Math.min(3,S.length/4));const O=(l-s.at)/6e4;return i!=null&&s.turn===i&&(h+=2),{e:s,s:h>0?h+Math.max(0,1-O/30):0}}).filter(s=>s.s>0).sort((s,_)=>_.s-s.s).slice(0,n).map(s=>s.e)},use(r){const n=c.find(i=>i.id===r);n&&(n.uses+=1)},toJSON(){return a(),c.map(r=>({...r}))},now:e}}function L(t=[]){return t.map(e=>({id:e.id,kind:"fetched",title:e.title,url:"",text:e.text}))}const N=t=>{const e=Math.floor(t/6e4);return e<1?"just now":`${e} min ago`};function z(t=[],{now:e=Date.now()}={}){return t.map(o=>({id:o.id,title:o.title,agoText:N(e-(o.at||e)),tokens:o.tokens}))}function I(t,e,{traitsOf:o=null,cacheable:d=null,now:y=null,turn:p=null}={}){if(!t||typeof t.execute!="function"||!e)return t;const c=y||e.now||(()=>Date.now()),m=o||(a=>t.traits?.get?.(a)||null),x=d||(a=>/^(history_|web_search$|weather$|read_page$|read_transcript$|list_|get_|search|fetch|read_|find_)/.test(a)),g=(a,r)=>{if($.has(a)||$.has(r))return!1;const n=m(a)||m(r);return n?!!n.readOnly&&!n.destructive:x(a,r)};return{...t,async execute(a,r,n){const i=typeof r=="string"?(()=>{try{return JSON.parse(r)}catch{return r}})():r,u=w(a,i);if(!g(u,a))return t.execute(a,r,n);const l=e.lookup(a,i);if(l)return e.use(l.id),{text:`${l.text}
2
+
3
+ (cached: the same request was answered ${N(c()-l.at)}; not fetched again)`,note:"cached",cached:!0,fetchedId:l.id};const f=await t.execute(a,r,n),s=typeof f=="string"?f:f&&typeof f=="object"&&typeof f.text=="string"?f.text:"";return s&&e.remember({tool:a,input:i,text:s,turn:p}),f}}}export{k as FETCHED_TTL_MS,F as createFetchedStore,q as defaultTtl,j as fetchKey,J as fetchTitle,L as fetchedAsSources,z as fetchedFacts,I as withFetchedMemo};
package/find-tool.js CHANGED
@@ -1 +1 @@
1
- import{makeDispatchProvider as n}from"./tool-dispatch.js";const a="find",r='Search and read the user\'s own saved data (past chats, notes, meetings) and the web. Pass an `action` and put that action\'s own arguments inside `args`, e.g. {"action":"history_search","args":{"query":"pricing"}}. Unsure of an action\'s arguments? {"action":"describe","args":{"tool":"<action>"}} returns its full schema. Use this when the answer plausibly depends on something the user already has; do not call it for greetings or general knowledge.',o="You HAVE access to the user's own ChatPanel data — past chats, notes, meeting transcripts and summaries — through `find`, plus the web. For anything they discussed or wrote, call `find` FIRST and answer from it; never say you cannot access their meetings, notes or history. For anything current — weather, prices, news — use `find` (actions `weather`, `web_search`), not a search tool of your own; the user sees `find` calls as steps.";function c(e,{all:s=null,rank:t=void 0}={}){return n({name:a,description:r,resident:o,inner:e,remote:!1,all:s,rank:t})}export{r as FIND_DESCRIPTION,o as FIND_RESIDENT,a as FIND_TOOL_NAME,c as findDispatchProvider};
1
+ import{makeDispatchProvider as a}from"./tool-dispatch.js";const n="find",r='Search and read the user\'s own saved data (past chats, notes, meetings) and the web. Pass an `action` and put that action\'s own arguments inside `args`, e.g. {"action":"history_search","args":{"query":"pricing"}}. Unsure of an action\'s arguments? {"action":"describe","args":{"tool":"<action>"}} returns its full schema. Use this when the answer plausibly depends on something the user already has; do not call it for greetings or general knowledge.',o="You HAVE access to the user's own ChatPanel data — past chats, notes, meeting transcripts and summaries — through `find`, plus the web. For anything they discussed or wrote, call `find` FIRST and answer from it; never say you cannot access their meetings, notes or history. For anything current — weather, prices, news — use `find` (actions `weather`, `web_search`), not a search tool of your own; the user sees `find` calls as steps. A [prefetch] block in the message IS that call, already made: answer from it, no call.";function c(e,{all:s=null,rank:t=void 0}={}){return a({name:n,description:r,resident:o,inner:e,remote:!1,all:s,rank:t})}export{r as FIND_DESCRIPTION,o as FIND_RESIDENT,n as FIND_TOOL_NAME,c as findDispatchProvider};
package/index.js CHANGED
@@ -1 +1 @@
1
- import{CURRENT_VERSION as o,EVENT_TYPES as t,ALL_TYPES as a,ACTOR_KINDS as i,SCOPE_KINDS as n,CLASSES as s,EFFECTS as S,EGRESS as E,EventError as l,validateEvent as T,isValidEvent as m,createAppender as c}from"./event.js";import{REF_KINDS as _,RESOLUTION as A,makeRef as d,isRef as R,resolveRef as f}from"./ref.js";import{linearize as I,compareEvents as N,causesAreWellFormed as u}from"./order.js";import{pendingQueue as g,isQueued as C,dequeue as L,moveQueued as P,promoteQueued as x}from"./queue.js";import{groupModels as F,filterSections as h,defaultModelId as y,modelSummary as k}from"./model-picker.js";import{NOTE_ACTIONS as b,NOTE_ACTION_ORDER as v,NOTE_ACTION_TEMPERATURE as G,NOTE_ACTION_ERRORS as B,NOTE_COMMANDS as K,NOTE_COMMAND_TEMPERATURE as H,NOTE_COMMAND_MAX_TOKENS as w,frameNoteAction as V,noteActionLabel as X,noteActionItems as W,filterNoteActions as J,commandLineAt as Y,triggerQueryAt as z}from"./note-actions.js";import{parseAgentMention as Q,agentMentionAt as q,parseSkillMention as Z,mergeSkillPrompt as $,findSkillByName as ee,findTargetByName as re,mentionAnswerPrefix as oe}from"./note-mentions.js";import{wikiQueryAt as ae,rankLinkTargets as ie}from"./note-links.js";import{SWARM_ROLES as se,roleById as Se,classifyModel as Ee,supportsSubagents as le,appoint as Te,routeTeam as me}from"./cowriter-router.js";import{SEARCH_ENGINES as pe,RESULTS_PER_ENGINE as _e,buildSearchUrl as Ae,unwrapRedirect as de,isResultHost as Re,pickResults as fe,mergeEngineResults as Oe,engineOrder as Ie}from"./web-search.js";import{MAX_GRAPH_NODES as ue,buildNoteGraph as Me,egoGraph as ge,trimGraph as Ce,graphStats as Le}from"./note-graph.js";import{lintText as xe,wordDiff as De,filterTypoEdits as Fe,editKey as he,applyEdits as ye,COWRITER_SYSTEM as ke,COWRITER_TEMPERATURE as Ue}from"./cowriter.js";import{salientTerms as ve,topicTerms as Ge,researchRelevance as Be,webQuery as Ke,researchSnippet as He,rankResearchCards as we,mergeResearchLanes as Ve}from"./note-research.js";import{PLAN_ROLES as We,PLAN_AUTHORS as Je,PLAN_DECOMPOSE_SYSTEM as Ye,PLAN_DECOMPOSE_MAX_TOKENS as ze,PLAN_DECOMPOSE_TEMPERATURE as je,PLAN_SECTION_MAX_TOKENS as Qe,PLAN_SECTION_TEMPERATURE as qe,planSectionSystem as Ze,parsePlanTasks as $e,planTitleFor as er,planParts as rr,planBody as or,planAttribution as tr}from"./note-plan.js";import{REACH as ir,reachRank as nr,reachSatisfies as sr}from"./reach.js";import{UPCASTERS as Er,upcast as lr,upcastAll as Tr}from"./upcast.js";import{validateCapability as cr,validateInvocation as pr,canSatisfy as _r,toModelSchema as Ar,toModelSchemas as dr}from"./capability.js";import{checkInvariants as fr,INVARIANTS as Or}from"./invariants.js";import{createMemoryAdapter as Nr,createLogStore as ur,createBlobStore as Mr}from"./store.js";import{createRegistry as Cr,REGISTRY_STATES as Lr}from"./registry.js";import{defineSearchEngine as xr,reconcileEngines as Dr,attemptOrder as Fr,ENGINE_KINDS as hr,SearchEngineError as yr}from"./search-engines.js";import{getWeather as Ur,weatherUrl as br,parseWeather as vr,formatWeather as Gr,areaLabel as Br,isAmbiguousLocation as Kr,WEATHER_HOST as Hr,WEATHER_TIMEOUT_MS as wr,WeatherError as Vr}from"./weather.js";import{defineToolGroup as Wr,createToolGroupRegistry as Jr,ToolGroupError as Yr}from"./tool-groups.js";import{toolNeedFor as jr,grantsNeededFor as Qr,equipmentFor as qr}from"./tool-need.js";import{parseFlowchart as $r,layoutFlowchart as eo,renderFlowchartSvg as ro}from"./flowchart.js";import{validateView as to,validateViewInvocation as ao,viewResult as io}from"./view.js";import{validateWidget as so,validateWidgetMessage as So,effectiveGrants as Eo,widgetIcon as lo,WIDGET_SURFACES as To}from"./widget.js";import{fuseRRF as co,planQueries as po,multiSearch as _o}from"./rrf.js";import{SUBJECT_KINDS as Ro,DEFAULT_THRESHOLD as fo,MAX_SUBJECTS as Oo,MAX_SUBJECT_CHARS as Io,normalizeSubject as No,subjectKey as uo,subjectTokens as Mo,isSubjectCandidate as go,aliasMap as Co,resolveSubjects as Lo,earnsBrief as Po,rankSubjects as xo,REDACTION_TOKEN_TYPES as Do,isRedactionToken as Fo,SELF_LABELS as ho,isSelfLabel as yo,stripQualifiers as ko,suggestMerges as Uo}from"./entity.js";import{BRIEF_STATES as vo,CLAIM_KINDS as Go,MAX_CLAIMS as Bo,MAX_CLAIM_REFS as Ko,MAX_BRIEF_RECORDS as Ho,MAX_BRIEF_CHARS as wo,contentHash as Vo,briefId as Xo,briefToText as Wo,briefTerms as Jo,briefLinks as Yo,checkKnowledgeInvariants as zo,parseBriefText as jo}from"./knowledge.js";import{deriveBrief as qo,deriveBriefs as Zo,driftedRefs as $o}from"./knowledge-derive.js";import{SYNTHESIS_SCHEMA as rt,synthesisPrompt as ot,claimsFromSynthesis as tt,MAX_SYNTHESIS_CLAIMS as at,MAX_EXCERPTS as it,MAX_EXCERPT_CHARS as nt}from"./synthesis.js";import{PROPOSAL_STATES as St,SUPERSEDE_OVERLAP as Et,propose as lt,accept as Tt,reject as mt,diffProposal as ct,converge as pt,linkClaims as _t}from"./promotion.js";import{normalizeRecord as dt,normalizeRecords as Rt,wikilinksIn as ft,redactedTokensIn as Ot,redactionCost as It,wantedPages as Nt,orphanRecords as ut,duplicateTitles as Mt,vocabularyDrift as gt,mentionsFrom as Ct,spanningQuestions as Lt,surveyCorpus as Pt,thresholdSweep as xt,formatSurvey as Dt,NEAR_TITLE_DISTANCE as Ft,SPAN_MIN_TERMS as ht}from"./curate.js";import{PDF_MAX_CHARS as kt,linesFromItems as Ut,orderLines as bt,paragraphsFromLines as vt,pageTextFromItems as Gt,looksScanned as Bt,buildPdfDocument as Kt}from"./pdf-layout.js";import{YOUTUBE_HOSTS as wt,TRANSCRIPT_MAX_CHARS as Vt,parseYouTubeUrl as Xt,isYouTubeUrl as Wt,captionTracksFromPlayerResponse as Jt,videoMetaFromPlayerResponse as Yt,pickCaptionTrack as zt,timedTextUrl as jt,parseTimedText as Qt,groupSegments as qt,formatTimestamp as Zt,formatTranscript as $t,buildTranscriptDocument as ea,transcriptFromTracks as ra}from"./media-transcript.js";import{ACCESS_LOG_VERSION as ta,ACCESS_LOG_MAX as aa,redactAccessArgs as ia,makeAccessEvent as na,createAccessLog as sa,makeStorageTier as Sa,formatBytes as Ea}from"./observability.js";import{routeGraph as Ta,projectChain as ma}from"./route-graph.js";import{defineAdapter as pa,createAdapterRegistry as _a,AdapterError as Aa}from"./adapters.js";import{linkifyCitations as Ra,sourcesFromToolText as fa,createCitationCollector as Oa,RETRIEVAL_TOOLS as Ia}from"./citations.js";import{buildTrajectory as ua,phasesOf as Ma,lanesOf as ga,filterEntries as Ca,displayName as La,ENTRY_KINDS as Pa,threadsOf as xa,threadTitle as Da,promptEntries as Fa,turnsOf as ha,threadTree as ya}from"./trajectory.js";import{createTurnRunner as Ua,defineLoop as ba,LOOP_KINDS as va,LoopError as Ga}from"./loop.js";import{defineModel as Ka,defineMiddleware as Ha,defineRouteStrategy as wa,createModelRouter as Va,signalsFrom as Xa,requirementsFor as Wa,requirementsForStep as Ja,preferenceFor as Ya,failoverOrder as za,pinnedOrderOf as ja,FAILOVER_CLASS_GAP as Qa,FAILOVER_CAPABILITY_GAP as qa,sameModelKey as Za,RouterError as $a}from"./router.js";import{makeSourceStore as ri,manifestText as oi,shortUrl as ti,readSource as ai,sourceId as ii}from"./sources-retrieval.js";import{classifySource as si,extractUrls as Si,hostMatches as Ei,meetReach as li,sourcePolicyFor as Ti,sourceUrlsOf as mi,DEFAULT_INTERNAL_PATTERNS as ci,INTERNAL_PATTERN_CATALOG as pi}from"./sources.js";import{defineRule as Ai,createRuleEngine as di,SUPPRESSED as Ri,RuleError as fi}from"./rules.js";import{VAULT_VERSION as Ii,KDF_ITERATIONS as Ni,KDF_HASH as ui,DEFAULT_LOCK_MS as Mi,VaultError as gi,MAX_TITLE_CHARS as Ci,MAX_NOTE_CHARS as Li,MAX_SECRET_CHARS as Pi,MAX_ENTRIES as xi,createVault as Di,unlockVault as Fi,deriveKey as hi,sealEntry as yi,openEntry as ki,validateEntry as Ui,entryMeta as bi,searchEntries as vi,isLocked as Gi,lockedSummary as Bi,canAddEntry as Ki,toB64 as Hi,fromB64 as wi}from"./vault.js";import{SCHEDULE_KINDS as Xi,TRIGGER_KINDS as Wi,JOB_ACTIONS as Ji,MISSED_POLICIES as Yi,ScheduleError as zi,validateSchedule as ji,nextFireAt as Qi,occurrencesBetween as qi,nextWakeAt as Zi,defineTrigger as $i,createTriggerRegistry as en,BUILTIN_TRIGGERS as rn,timerTrigger as on,meetingStartedTrigger as tn,meetingEndedTrigger as an,personJoinedTrigger as nn,phraseTrigger as sn,topicTrigger as Sn,questionTrigger as En,voiceCommandTrigger as ln,defineJob as Tn,dueJobs as mn,jobsForEvent as cn,occurrenceKey as pn,clipText as _n,matchSummary as An}from"./schedule.js";import{defineMeetingAnalyzer as Rn,createAnalyzerRegistry as fn,CADENCES as On,AnalyzerError as In}from"./meeting-analyzers.js";import{DEFAULT_WAKE as un,MAX_COMMANDS_PER_DELTA as Mn,DAYPART_HOUR as gn,VoiceIntentError as Cn,compileWake as Ln,findWakeCommand as Pn,parseCommand as xn,commandsFromSegments as Dn,parseDuration as Fn,parseClock as hn,parseWhen as yn,parseNumberWords as kn,normalizeSpeech as Un,tokenize as bn,editDistance as vn,defineVoiceIntent as Gn,createVoiceIntentRegistry as Bn,defaultVoiceIntents as Kn,BUILTIN_VOICE_INTENTS as Hn,timerIntent as wn,reminderIntent as Vn,scheduleIntent as Xn,noteIntent as Wn,monitorIntent as Jn,REFINEMENT_SCHEMA as Yn,refinementPrompt as zn,refinementFormat as jn,parseRefinement as Qn,refinementStream as qn,settleRefinement as Zn,refineSpokenCommand as $n,isFillerSentence as es,gistText as rs,gistOpening as os,commandLooksFinished as ts,sameUtterance as as,createUtteranceGate as is,UTTERANCE_SETTLE_MS as ns,UTTERANCE_DANGLING_MS as ss}from"./voice-intents.js";import{MAX_TOPICS as Es,MAX_TOPIC_CHARS as ls,TOPICS_SCHEMA as Ts,topicsSchema as ms,topicsPrompt as cs,topicsFormat as ps,parseTopics as _s,normalizeTopic as As,normalizeTopics as ds,topicsStream as Rs,ENTITY_TYPES as fs,ENTITIES_SCHEMA as Os,entitiesPrompt as Is,entitiesFormat as Ns,parseEntities as us,coerceEntities as Ms,entitiesStream as gs,MAX_SUGGESTIONS as Cs,MAX_SUGGESTION_CHARS as Ls,SUGGESTIONS_SCHEMA as Ps,suggestionsPrompt as xs,suggestionsFormat as Ds,parseSuggestions as Fs,suggestionsStream as hs}from"./extraction.js";import{FIELD_TYPES as ks,RESPONSE_MODES as Us,StructuredError as bs,defineSchema as vs,describeSchema as Gs,toJsonSchema as Bs,responseFormat as Ks,unfence as Hs,findJson as ws,rewriteJson as Vs,repairJson as Xs,isNothing as Ws,coerce as Js,parseStructured as Ys,createStructuredStream as zs}from"./structured.js";import{explainMcpError as Qs,packageFromArgs as qs,isStaleMcpSession as Zs}from"./mcp-errors.js";import{toolTraits as eS,bareToolName as rS,canRunConcurrently as oS,isCacheable as tS,needsConfirmation as aS,traitsIndex as iS,effectiveToolName as nS,parallelEligible as sS,PARALLEL_LOCAL_RE as SS}from"./tool-traits.js";import{planToolRound as lS,runToolRound as TS}from"./tool-round.js";import{createToolLoopGuard as cS,roundSignature as pS,stableToolCallKey as _S,toolMadeProgress as AS,isLoopableTool as dS,blockedToolResult as RS,OBSERVATION_TOOLS as fS,INPUT_PROGRESS_TOOLS as OS}from"./tool-loop-guard.js";import{classifyFailure as NS,createModelHealth as uS,COOLDOWN_MS as MS,UNAVAILABLE_REASONS as gS,normModelName as CS}from"./model-health.js";import{runWithFailover as PS,failoverExhausted as xS,FAILOVER_MAX_ATTEMPTS as DS}from"./failover.js";import{sourcePolicySettings as hS,sourceGuardFor as yS,sourceGate as kS,isSourceGateError as US,withinReach as bS}from"./source-gate.js";import{runTurnLoop as GS,createCallRunner as BS,roundCap as KS,withToolSystem as HS,describeCall as wS,stepResultText as VS,addUsage as XS,normalizeUsage as WS,openAiTranscript as JS,anthropicTranscript as YS,DEFAULT_MAX_ROUNDS as zS,DEFAULT_MAX_FINISH_TRIES as jS,FINISH_NUDGES as QS,LOOPING_NUDGE as qS,EXHAUSTED_NOTE as ZS,ROUND_SEPARATOR as $S}from"./turn-loop.js";import{createResultStore as rE,shieldToolResult as oE,runResultQuery as tE,withResultShield as aE,describeShape as iE,compactValue as nE,resultToolSpec as sE,RESULT_TOOL_NAME as SE,DEFAULT_SHIELD as EE,DEFAULT_STORE as lE}from"./tool-result.js";import{findTools as mE,findToolsResult as cE,findActionArgs as pE,oneLiner as _E,overlapRank as AE,FIND_ACTION as dE}from"./tool-discovery.js";import{buildToolset as fE}from"./toolset.js";import{DESCRIBE_ACTION as IE,actionMenu as NE,buildGroupDispatchSpec as uE,validateAction as ME,makeGroupDispatchExecutor as gE,withGuidance as CE,makeDispatchProvider as LE,estimateTokens as PE}from"./tool-dispatch.js";import{FIND_TOOL_NAME as DE,FIND_DESCRIPTION as FE,FIND_RESIDENT as hE,findDispatchProvider as yE}from"./find-tool.js";import{WEB_SEARCH_TOOL_NAME as UE,WEB_SEARCH_TOOL_SYSTEM as bE,WEB_SEARCH_SPEC as vE,searchResultsToText as GE,webSearchToolProvider as BE}from"./web-search-tool.js";import{compressToolSpec as HE,compressToolSpecs as wE,compressionStats as VE,trimDescription as XE,COMPRESSION_MODES as WE,DEFAULT_COMPRESSION as JE}from"./tool-schema.js";import{validateRecipe as zE,expandRecipe as jE,recipeParams as QE,mapInput as qE,dryRunRecipe as ZE,runPlan as $E,runRecipe as el,RecipeError as rl,RECIPE_MODES as ol}from"./recipe.js";import{recipeToolProvider as al,recipeToolSpec as il,describeRecipeForApproval as nl,RECIPE_TOOL_NAME as sl}from"./recipe-tool.js";import{createBudget as El,validateBudget as ll,normalizeBudget as Tl,usageOf as ml,BudgetError as cl,BUDGET_DIMENSIONS as pl}from"./budget.js";import{defineTeam as Al,validateTeam as dl,normalizeTeam as Rl,normalizeGrants as fl,grantAllows as Ol,scmAllows as Il,describeRole as Nl,TeamError as ul,ROLE_MODES as Ml,MERGE_POLICIES as gl,PLAN_MODES as Cl,GRANTABLE as Ll,WORK_GRANTS as Pl,GRANT_RE as xl,AGENT_REF_RE as Dl,STARTER_TEAMS as Fl,starterTeams as hl,blankTeam as yl,teamFromForm as kl,slugTeamName as Ul}from"./team.js";import{fixedPlan as vl,parsePlan as Gl,plannerPrompt as Bl,waves as Kl,breakCycles as Hl,TEAM_PLAN_SCHEMA as wl}from"./team-plan.js";import{createBoard as Xl,parseFindings as Wl,boardText as Jl,findingsInstruction as Yl,toBriefClaims as zl,FINDINGS_SCHEMA as jl,FINDING_KINDS as Ql,THREAD_KINDS as ql,THREAD_STATUSES as Zl,POST_KINDS as $l,POST_STATUSES as eT,ASK_TYPES as rT,emptyBoardState as oT,foldBoard as tT,findingsOf as aT}from"./team-board.js";import{boardToolProvider as nT,boardToolSpec as sT,createAnswerBox as ST,withBoardTool as ET,BOARD_TOOL_NAME as lT,DEFAULT_ASK_TIMEOUT_MS as TT}from"./board-tool.js";import{createRunCache as cT,withRunCache as pT}from"./team-cache.js";import{emptyRun as AT,foldRun as dT,runFromEvents as RT,checkpointFrom as fT,isResumable as OT,LIVE_RUN_STATUSES as IT,RESUMABLE_RUN_STATUSES as NT,spendOf as uT,describeSpend as MT,runState as gT,priorWorkFor as CT,STALLED_AFTER_MS as LT}from"./team-record.js";import{validateProject as xT,normalizeProject as DT,defineProject as FT,canTransition as hT,blankProject as yT,projectFromForm as kT,emptyProjectRecord as UT,foldProject as bT,projectProgress as vT,ProjectError as GT,PROJECT_STATUSES as BT,PROJECT_ID_RE as KT}from"./project.js";import{validateJob as wT,normalizeJob as VT,defineJob as XT,canTransition as WT,applyAll as JT,jobToRole as YT,readyJobs as zT,blankJob as jT,jobFromForm as QT,JobError as qT,JOB_STATUSES as ZT,JOB_ID_RE as $T}from"./job.js";import{validateGate as rm,normalizeGate as om,effectiveGate as tm,gateAllows as am,DEFAULT_GATE as im,AUTONOMY as nm,HUMAN_FLAGS as sm,CHECKS as Sm}from"./gate.js";import{runProject as lm,roundJobs as Tm,teamForRound as mm,jobResults as cm,roundBudget as pm,parseJobs as _m,parseReview as Am,jobsPrompt as dm,reviewPrompt as Rm,PROJECT_JOBS_SCHEMA as fm,PROJECT_REVIEW_SCHEMA as Om,ProjectRunError as Im,EXECUTIVE as Nm,MAX_JOBS_PER_ROUND as um,MAX_ROUNDS as Mm,PROJECT_RUN_STATUSES as gm}from"./project-run.js";import{canonical as Lm,sha256 as Pm,makeEntry as xm,verifyChain as Dm,attest as Fm,verifyAttested as hm,summarize as ym,fit as km,adjustSummary as Um,normalizeEngine as bm,engineKey as vm,normalizeScm as Gm,SCORECARD_ENTRY_KINDS as Bm,ROLE_KINDS as Km,SCORECARD_VERSION as Hm,ENGINE_KINDS as wm}from"./scorecard.js";import{ENGINE_KINDS as Xm,ROUTE_PREFERS as Wm,normalizePolicy as Jm,normalizeEngineSpec as Ym,validateEngineSpec as zm,engineRef as jm,engineKeyOf as Qm,describeEngine as qm,tierOf as Zm}from"./engine.js";import{AGENT_ID_RE as ec,APPLIES_TO as rc,EGRESS_CLASSES as oc,ASSISTANT_ID as tc,AgentError as ac,validateAgent as ic,normalizeAgent as nc,defineAgent as sc,assistantAgent as Sc,engineOf as Ec,describeAgent as lc,slugAgentId as Tc,resolveTeam as mc,STARTER_AGENTS as cc,starterAgents as pc,blankAgent as _c,agentFromForm as Ac,poolFor as dc}from"./agent.js";import{LEDGER_VERSION as fc,LEDGER_ENTRY_KINDS as Oc,DECLINE_REASONS as Ic,WITHDRAW_AFTER as Nc,ledgerKey as uc,normalizeCall as Mc,makeLedgerEntry as gc,summarizeEngine as Cc}from"./model-ledger.js";import{RECRUIT_SCHEMA as Pc,MIN_FIT as xc,engineRow as Dc,engineRows as Fc,needForJob as hc,routeFor as yc,engineWorth as kc,applications as Uc,evaluatorPrompt as bc,parseEvaluation as vc,decide as Gc,recruitForRun as Bc,proposalFromNeeds as Kc,proposalToAgent as Hc,carveBudget as wc,recruitEvents as Vc,recruitJob as Xc}from"./recruit.js";import{DEFAULT_MIN_CALLS as Jc,cardOverride as Yc,applyCard as zc}from"./model-candidates.js";import{SCM_KINDS as Qc,validateConnection as qc,normalizeConnection as Zc,parseRemote as $c,connectionFor as ep,branchFor as rp,worktreeDirFor as op,credentialEnv as tp,describeConnection as ap,blankConnection as ip,connectionFromForm as np}from"./scm-connection.js";import{messagesFor as Sp,mergeTranscript as Ep,clipTranscript as lp,clipMessage as Tp,newSteps as mp,continuationNote as cp,createControl as pp,STEP_MAX_CHARS as _p,TASK_TRANSCRIPT_MAX_CHARS as Ap}from"./team-task.js";import{runTeam as Rp,resumeTeam as fp,dryRunTeam as Op,isModelUnavailable as Ip,TeamRunError as Np,RUN_STATUSES as up}from"./team-run.js";import{teamToolProvider as gp,teamToolSpec as Cp,teamToolTimeoutMs as Lp,describeTeamForApproval as Pp,TEAM_TOOL_NAME as xp,TEAM_MANUAL as Dp}from"./team-tool.js";import{workLogFor as hp,workLogText as yp,workLogEvidence as kp,describeCall as Up,WORKLOG_KINDS as bp}from"./team-worklog.js";import{normalizeRequest as Gp,subtaskFromRequest as Bp,takeUp as Kp,takeUpLine as Hp,holdsGrants as wp,jobFromSubtask as Vp,extendDependents as Xp,taskTree as Wp,threadRows as Jp,MAX_SUBTASKS as Yp,MAX_DEPTH as zp,MIN_TAKEUP_FIT as jp}from"./team-subtask.js";import{teamLine as qp,teamLanes as Zp}from"./team-trail.js";import{promoteRoles as e_,starterTeam as r_,missingStarters as o_,teamHealth as t_,teamShape as a_,describeTeamShape as i_,whereItWorks as n_,rosterRows as s_,agentKind as S_,agentHue as E_,agentColor as l_,agentInitials as T_,roleCardId as m_,cardNumbers as c_,upsertAgents as p_,soloTeam as __,teamsWithSolos as A_,builtinOrg as d_,isBuiltin as R_,grantChoices as f_,grantsFromChoices as O_,skillChoices as I_,GRANT_INFO as N_,SOLO_BUDGET as u_,TEAM_SHAPES as M_,ROSTER_KINDS as g_}from"./team-org.js";import{observeInbox as L_,observeStrip as P_,runLanes as x_,spendRows as D_,engineStrip as F_}from"./team-observe.js";import{mcpDispatchProvider as y_,MCP_TOOL_NAME as k_}from"./mcp-dispatch.js";import{createManifest as b_,ManifestError as v_,SOURCES as G_}from"./manifest.js";import{createKernel as K_,meetDecisions as H_,KernelError as w_,REQUIRED_PLUGINS as V_,ALLOW_ALL as X_}from"./kernel.js";import{replay as J_,formatReport as Y_,parseJsonl as z_,toJsonl as j_}from"./harness.js";import{compileQuery as q_,findMatches as Z_,matchIndexFor as $_,expandReplacement as eA,replaceMatch as rA,replaceAll as oA,replaceAllInRange as tA,MAX_MATCHES as aA}from"./text-search.js";import{DATA_SCOPES as nA}from"./scopes.js";import{MEMORY_VERSION as SA,MEMORY_KINDS as EA,MEMORY_KIND_NAMES as lA,AMBIENT_KINDS as TA,MAX_MEMORY_CHARS as mA,MIN_MEMORY_CHARS as cA,DEFAULT_MAX_MEMORIES as pA,DEFAULT_BLOCK_CHARS as _A,SAME_FACT as AA,MEMORY_TOOL_SPEC as dA,MEMORY_UPCASTERS as RA,MemoryError as fA,normalizeMemory as OA,isValidMemory as IA,memoryKey as NA,slotOf as uA,similarity as MA,containment as gA,candidatesFrom as CA,reconcile as LA,matchForForget as PA,recall as xA,memoryBlock as DA,markUsed as FA,pruneMemories as hA,memoryToolSystem as yA,upcastMemory as kA}from"./memory.js";import{SOURCE_TRUST as bA,SkillSourceError as vA,defineSkillSource as GA,createSkillSourceRegistry as BA}from"./skill-sources.js";import{SKILL_MANIFEST_VERSION as HA,SKILL_CONTEXTS as wA,SKILL_HISTORY_SCOPES as VA,SKILL_MCP_MODES as XA,SKILL_TRUST as WA,SKILL_FILE_KINDS as JA,SKILL_UPCASTERS as YA,SkillManifestError as zA,isSafeSkillPath as jA,originOf as QA,trustOf as qA,skillFiles as ZA,needsBridge as $A,declaredAccess as ed,originLabel as rd,sameSkillOrigin as od,skillIsStale as td,validateSkill as ad,upcastSkill as id,upcastSkills as nd,normalizeSkill as sd}from"./skill-manifest.js";import{SKILL_VARS as Ed,SKILL_VAR_NAMES as ld,skillVar as Td,skillVarPattern as md,parseSkillVars as cd,lintSkillPrompt as pd,suggestSkillVar as _d,substituteSkillVars as Ad,expandSkillPrompt as dd,skillVarGuidance as Rd,SkillVarError as fd}from"./skill-vars.js";import{lineAt as Id,writerAffordance as Nd,INSTRUCTION_RE as ud,instructionOnLine as Md,GOAL_MIN_NEW as gd,goalDraftAllowed as Cd,createSpendMeter as Ld,writerTail as Pd,draftSeparator as xd,groundingBlock as Dd,writerRequest as Fd,AUTOCOMPLETE_SYSTEM as hd,AUTOCOMPLETE_MAX_TOKENS as yd,AUTOCOMPLETE_TEMPERATURE as kd,clipCompletion as Ud,GEARS as bd,WRITER_PREFS as vd,WRITER_PREF_DEFAULTS as Gd,normalizeWriterPrefs as Bd,normalizeIntent as Kd}from"./cowriter-writer.js";import{SLASH_TYPING_RE as wd,enabledSkills as Vd,slashCommandItems as Xd,matchSlashSkill as Wd,matchSlashRecipe as Jd,recipeInvocationText as Yd,matchSlashTeam as zd,teamInvocationText as jd,slashCommandInsert as Qd,skillInvocationOf as qd,skillInvocationLabel as Zd}from"./slash-commands.js";import{outlineOf as eR,parseListItem as rR,continueList as oR,indentSelection as tR,toggleWrap as aR,toggleLinePrefix as iR,toggleTask as nR,toggleLink as sR,docStats as SR,selectionStats as ER}from"./markdown-authoring.js";import{MAX_TAG_LENGTH as TR,MAX_TAGS as mR,normalizeTag as cR,normalizeTags as pR,hasTag as _R,addTag as AR,removeTag as dR,toggleTag as RR,sameTags as fR,formatTag as OR,parseTagQuery as IR,hasTagTerms as NR,formatTagQuery as uR,matchesTagFilter as MR,filterByTags as gR,tagFacets as CR,suggestExistingTags as LR,tagsSearchText as PR}from"./tags.js";import{UNTITLED_MEETING as DR,MAX_TITLE_LENGTH as FR,TITLE_RULES_VERSION as hR,cleanTitle as yR,isGenericTitle as kR,titleFromSummary as UR,titleFromTopics as bR,titleFromParticipants as vR,titleFromDate as GR,deriveMeetingTitle as BR,shouldAutoTitle as KR,isBetterTitleSource as HR,meetingTitlePrompt as wR,parseTitleResponse as VR}from"./titles.js";import{RECORD_KINDS as WR,MAX_TITLE_LEN as JR,LibraryError as YR,parseRecordId as zR,makeRecordId as jR,isRecordId as QR,normalizeStoredRecord as qR,isValidStoredRecord as ZR,toSearchRecord as $R,searchTextFor as ef,toIndexEntry as rf,deriveTitle as of,snippetOf as tf,wordCount as af}from"./library.js";import{CLOCK_TOLERANCE_MS as sf,SyncError as Sf,stampOf as Ef,decide as lf,planSync as Tf,isSettled as mf,forkConflict as cf,advanceBases as pf}from"./sync-plan.js";import{ENCRYPTED_TYPE as Af,COMPRESSIONS as df,BackupError as Rf,KDF_ITERATIONS as ff,encryptBackup as Of,decryptBackup as If,isEncryptedBackup as Nf,identityCodec as uf,streamCodec as Mf,nodeCodec as gf,bestCodec as Cf}from"./backup-envelope.js";import{OMNI_MODES as Pf,OMNI_GRAMMAR as xf,parseOmni as Df,extractFilters as Ff,resolveSince as hf,wantsModel as yf,isActionable as kf}from"./omni.js";import{THEMES as bf,LIGHT as vf,DARK as Gf,PALETTES as Bf,SHAPE as Kf,TOKEN_NAMES as Hf,TOKEN_ROLES as wf,paletteFor as Vf,cssVarName as Xf,toCssVars as Wf,themeStylesheet as Jf,resolveTheme as Yf}from"./theme.js";import{PLANS as jf,API_BASE as Qf,ENDPOINTS as qf,ENTITLEMENT_PUBLIC_JWK as Zf,UPGRADE_URL as $f,FEATURE_TIER as eO,PRO_FEATURES as rO,TEAM_FEATURES as oO,FREE_LIMITS as tO,COUNTED as aO,freeCap as iO,observeSince as nO,RECHECK_INTERVAL_MS as sO,EntitlementError as SO,checkoutUrl as EO,planOf as lO,planLabel as TO,isPro as mO,isTeam as cO,can as pO,tierFor as _O,withinFreeLimit as AO,verifyEntitlement as dO,verifySignedToken as RO,licenseFromPayload as fO,needsRecheck as OO}from"./entitlement.js";import{renderMarkdown as NO,defaultLinkPolicy as uO}from"./markdown-render.js";import{parseMeetingText as gO,speakerStats as CO,densityRibbon as LO}from"./meeting-text.js";import{speakerBreakdown as xO,speakerTimeline as DO,formatTalkTime as FO,SPEAKER_SLOTS as hO}from"./meeting-shape.js";import{isSpeakerImageValue as kO,speakerLabeller as UO}from"./meeting-shape.js";import{SORT_MODES as vO,SORT_LABELS as GO,sortStamp as BO,sortRecords as KO,filterRecords as HO,dayBucket as wO,rowTime as VO,groupRecords as XO}from"./record-list.js";import{INSIGHT_KINDS as JO,summarySections as YO,insightKindOf as zO,meetingInsights as jO,hasInsights as QO}from"./meeting-insights.js";import{demd as ZO,NOTE_SECTIONS as $O,noteSectionKind as eI,MOMENT_BADGES as rI,momentBadge as oI,parseMeetingNotes as tI,groupActionsByOwner as aI}from"./meeting-insights.js";import{PREF_SECTIONS as nI,PREF_SECTION_IDS as sI,sectionValue as SI,pickSections as EI,applySections as lI,sectionHash as TI,mergeStamped as mI,changedSections as cI}from"./client-prefs.js";import{McpClient as _I,mcpProvider as AI}from"./mcp-client.js";import{mcpSharedSystem as RI,mcpInventorySystem as fI,sourceCitationSystem as OI,combineSystemPrompt as II,toolStatus as NI,widgetAuthoringSystem as uI,vaultWidgetSystem as MI,wantsVaultGuidance as gI}from"./tool-hints.js";import{adaptiveToolRetryHint as LI,createAdaptiveToolPolicy as PI,isInvalidToolParametersResult as xI}from"./adaptive-tool-policy.js";import{getMcpProviders as FI,testMcpServer as hI,resetMcp as yI,mcpBackoff as kI}from"./mcp-manager.js";import{SIDELINE_COMMANDS as bI,BRINGBACK_COMMAND as vI,THREAD_TOOL_NAME as GI,SIDELINE_SLASH_ITEMS as BI,THREAD_TOOL_SPEC as KI,parseSideline as HI,parseBringBack as wI,resolveSidelineTarget as VI,threadManifest as XI,threadToolProvider as WI,readThread as JI,briefPrompt as YI,foldBackNote as zI,foldNotes as jI,nextSidelineIndex as QI,sourceOf as qI,noteUnits as ZI,sidelinePath as $I,foldBackFor as eN,SIDELINE_TOOL_NAME as rN,SIDELINE_TOOL_SPEC as oN,sidelineToolProvider as tN}from"./sideline.js";import{WEATHER_TOOL_NAME as iN,WEATHER_TOOL_SYSTEM as nN,weatherToolProvider as sN}from"./weather-tool.js";import{renderContent as EN,toChatMessages as lN,toMultimodalMessages as TN,imageAttachmentsOf as mN,deferAttachedSources as cN,withSourceTool as pN,SOURCE_TOOL_SPEC as _N}from"./context-attachments.js";import{prefetchPlan as dN,prefetchAttachment as RN,weatherPlace as fN,weatherFollowupPlace as ON}from"./prefetch.js";import{presenceFor as NN,presenceDelta as uN,reachOf as MN,withPresence as gN,presenceBlock as CN,roundCount as LN,roundMinutes as PN,PRESENCE_BUDGET_TOKENS as xN,PRESENCE_KINDS as DN}from"./presence.js";import{PolicyError as hN,POLICY_VERSION as yN,POLICY_TOKEN_TYPE as kN,REDACTION_TIERS as UN,LOCKABLE as bN,FEATURES as vN,PERMISSION_MODES as GN,PRODUCT_HOSTS as BN,normalizeOrgPolicy as KN,endpointAllowed as HN,modelAllowed as wN,agentAllowed as VN,permissionMode as XN,routeAllowed as WN,redactionTier as JN,egressAllowed as YN,settingLocked as zN,featureEnabled as jN,applyPolicyToSettings as QN,policyLabel as qN,policyHash as ZN,verifyPolicyToken as $N,globToRegExp as eu}from"./policy.js";export{aa as ACCESS_LOG_MAX,ta as ACCESS_LOG_VERSION,i as ACTOR_KINDS,ec as AGENT_ID_RE,Dl as AGENT_REF_RE,X_ as ALLOW_ALL,a as ALL_TYPES,TA as AMBIENT_KINDS,Qf as API_BASE,rc as APPLIES_TO,rT as ASK_TYPES,tc as ASSISTANT_ID,yd as AUTOCOMPLETE_MAX_TOKENS,hd as AUTOCOMPLETE_SYSTEM,kd as AUTOCOMPLETE_TEMPERATURE,nm as AUTONOMY,Aa as AdapterError,ac as AgentError,In as AnalyzerError,ff as BACKUP_KDF_ITERATIONS,lT as BOARD_TOOL_NAME,vo as BRIEF_STATES,vI as BRINGBACK_COMMAND,pl as BUDGET_DIMENSIONS,rn as BUILTIN_TRIGGERS,Hn as BUILTIN_VOICE_INTENTS,Rf as BackupError,cl as BudgetError,On as CADENCES,Sm as CHECKS,Go as CLAIM_KINDS,s as CLASSES,sf as CLOCK_TOLERANCE_MS,df as COMPRESSIONS,WE as COMPRESSION_MODES,MS as COOLDOWN_MS,aO as COUNTED,ke as COWRITER_SYSTEM,Ue as COWRITER_TEMPERATURE,o as CURRENT_VERSION,Gf as DARK,nA as DATA_SCOPES,gn as DAYPART_HOUR,Ic as DECLINE_REASONS,TT as DEFAULT_ASK_TIMEOUT_MS,_A as DEFAULT_BLOCK_CHARS,JE as DEFAULT_COMPRESSION,im as DEFAULT_GATE,ci as DEFAULT_INTERNAL_PATTERNS,Mi as DEFAULT_LOCK_MS,jS as DEFAULT_MAX_FINISH_TRIES,pA as DEFAULT_MAX_MEMORIES,zS as DEFAULT_MAX_ROUNDS,Jc as DEFAULT_MIN_CALLS,EE as DEFAULT_SHIELD,lE as DEFAULT_STORE,fo as DEFAULT_THRESHOLD,un as DEFAULT_WAKE,IE as DESCRIBE_ACTION,S as EFFECTS,E as EGRESS,oc as EGRESS_CLASSES,Af as ENCRYPTED_TYPE,qf as ENDPOINTS,hr as ENGINE_KINDS,Xm as ENGINE_SPEC_KINDS,Os as ENTITIES_SCHEMA,Zf as ENTITLEMENT_PUBLIC_JWK,fs as ENTITY_TYPES,Pa as ENTRY_KINDS,t as EVENT_TYPES,Nm as EXECUTIVE,ZS as EXHAUSTED_NOTE,SO as EntitlementError,l as EventError,qa as FAILOVER_CAPABILITY_GAP,Qa as FAILOVER_CLASS_GAP,DS as FAILOVER_MAX_ATTEMPTS,vN as FEATURES,eO as FEATURE_TIER,ks as FIELD_TYPES,jl as FINDINGS_SCHEMA,Ql as FINDING_KINDS,dE as FIND_ACTION,FE as FIND_DESCRIPTION,hE as FIND_RESIDENT,DE as FIND_TOOL_NAME,QS as FINISH_NUDGES,tO as FREE_LIMITS,bd as GEARS,gd as GOAL_MIN_NEW,Ll as GRANTABLE,N_ as GRANT_INFO,xl as GRANT_RE,sm as HUMAN_FLAGS,OS as INPUT_PROGRESS_TOOLS,JO as INSIGHT_KINDS,ud as INSTRUCTION_RE,pi as INTERNAL_PATTERN_CATALOG,Or as INVARIANTS,Ji as JOB_ACTIONS,$T as JOB_POST_ID_RE,ZT as JOB_POST_STATUSES,qT as JobPostError,ui as KDF_HASH,Ni as KDF_ITERATIONS,w_ as KernelError,Oc as LEDGER_ENTRY_KINDS,fc as LEDGER_VERSION,vf as LIGHT,IT as LIVE_RUN_STATUSES,bN as LOCKABLE,qS as LOOPING_NUDGE,va as LOOP_KINDS,YR as LibraryError,Ga as LoopError,wo as MAX_BRIEF_CHARS,Ho as MAX_BRIEF_RECORDS,Bo as MAX_CLAIMS,Ko as MAX_CLAIM_REFS,Mn as MAX_COMMANDS_PER_DELTA,zp as MAX_DEPTH,xi as MAX_ENTRIES,it as MAX_EXCERPTS,nt as MAX_EXCERPT_CHARS,ue as MAX_GRAPH_NODES,um as MAX_JOBS_PER_ROUND,aA as MAX_MATCHES,mA as MAX_MEMORY_CHARS,Li as MAX_NOTE_CHARS,Mm as MAX_ROUNDS,Pi as MAX_SECRET_CHARS,Oo as MAX_SUBJECTS,Io as MAX_SUBJECT_CHARS,Yp as MAX_SUBTASKS,Cs as MAX_SUGGESTIONS,Ls as MAX_SUGGESTION_CHARS,at as MAX_SYNTHESIS_CLAIMS,mR as MAX_TAGS,TR as MAX_TAG_LENGTH,Ci as MAX_TITLE_CHARS,JR as MAX_TITLE_LEN,FR as MAX_TITLE_LENGTH,Es as MAX_TOPICS,ls as MAX_TOPIC_CHARS,k_ as MCP_TOOL_NAME,EA as MEMORY_KINDS,lA as MEMORY_KIND_NAMES,dA as MEMORY_TOOL_SPEC,RA as MEMORY_UPCASTERS,SA as MEMORY_VERSION,gl as MERGE_POLICIES,xc as MIN_FIT,cA as MIN_MEMORY_CHARS,jp as MIN_TAKEUP_FIT,Yi as MISSED_POLICIES,rI as MOMENT_BADGES,v_ as ManifestError,_I as McpClient,fA as MemoryError,Ft as NEAR_TITLE_DISTANCE,b as NOTE_ACTIONS,B as NOTE_ACTION_ERRORS,v as NOTE_ACTION_ORDER,G as NOTE_ACTION_TEMPERATURE,K as NOTE_COMMANDS,w as NOTE_COMMAND_MAX_TOKENS,H as NOTE_COMMAND_TEMPERATURE,$O as NOTE_SECTIONS,fS as OBSERVATION_TOOLS,xf as OMNI_GRAMMAR,Pf as OMNI_MODES,Bf as PALETTES,SS as PARALLEL_LOCAL_RE,kt as PDF_MAX_CHARS,GN as PERMISSION_MODES,jf as PLANS,Je as PLAN_AUTHORS,ze as PLAN_DECOMPOSE_MAX_TOKENS,Ye as PLAN_DECOMPOSE_SYSTEM,je as PLAN_DECOMPOSE_TEMPERATURE,Cl as PLAN_MODES,We as PLAN_ROLES,Qe as PLAN_SECTION_MAX_TOKENS,qe as PLAN_SECTION_TEMPERATURE,kN as POLICY_TOKEN_TYPE,yN as POLICY_VERSION,$l as POST_KINDS,eT as POST_STATUSES,nI as PREF_SECTIONS,sI as PREF_SECTION_IDS,xN as PRESENCE_BUDGET_TOKENS,DN as PRESENCE_KINDS,BN as PRODUCT_HOSTS,KT as PROJECT_ID_RE,fm as PROJECT_JOBS_SCHEMA,Om as PROJECT_REVIEW_SCHEMA,gm as PROJECT_RUN_STATUSES,BT as PROJECT_STATUSES,St as PROPOSAL_STATES,rO as PRO_FEATURES,hN as PolicyError,GT as ProjectError,Im as ProjectRunError,ir as REACH,sO as RECHECK_INTERVAL_MS,ol as RECIPE_MODES,sl as RECIPE_TOOL_NAME,wm as RECORD_ENGINE_KINDS,WR as RECORD_KINDS,Pc as RECRUIT_SCHEMA,UN as REDACTION_TIERS,Do as REDACTION_TOKEN_TYPES,Yn as REFINEMENT_SCHEMA,_ as REF_KINDS,Lr as REGISTRY_STATES,V_ as REQUIRED_PLUGINS,A as RESOLUTION,Us as RESPONSE_MODES,_e as RESULTS_PER_ENGINE,SE as RESULT_TOOL_NAME,NT as RESUMABLE_RUN_STATUSES,Ia as RETRIEVAL_TOOLS,Km as ROLE_KINDS,Ml as ROLE_MODES,g_ as ROSTER_KINDS,$S as ROUND_SEPARATOR,Wm as ROUTE_PREFERS,up as RUN_STATUSES,rl as RecipeError,$a as RouterError,fi as RuleError,AA as SAME_FACT,Xi as SCHEDULE_KINDS,Qc as SCM_KINDS,n as SCOPE_KINDS,Bm as SCORECARD_ENTRY_KINDS,Hm as SCORECARD_VERSION,pe as SEARCH_ENGINES,ho as SELF_LABELS,Kf as SHAPE,bI as SIDELINE_COMMANDS,BI as SIDELINE_SLASH_ITEMS,rN as SIDELINE_TOOL_NAME,oN as SIDELINE_TOOL_SPEC,wA as SKILL_CONTEXTS,JA as SKILL_FILE_KINDS,VA as SKILL_HISTORY_SCOPES,HA as SKILL_MANIFEST_VERSION,XA as SKILL_MCP_MODES,WA as SKILL_TRUST,YA as SKILL_UPCASTERS,Ed as SKILL_VARS,ld as SKILL_VAR_NAMES,wd as SLASH_TYPING_RE,u_ as SOLO_BUDGET,GO as SORT_LABELS,vO as SORT_MODES,G_ as SOURCES,_N as SOURCE_TOOL_SPEC,bA as SOURCE_TRUST,ht as SPAN_MIN_TERMS,hO as SPEAKER_SLOTS,LT as STALLED_AFTER_MS,cc as STARTER_AGENTS,Fl as STARTER_TEAMS,_p as STEP_MAX_CHARS,Ro as SUBJECT_KINDS,Ps as SUGGESTIONS_SCHEMA,Et as SUPERSEDE_OVERLAP,Ri as SUPPRESSED,se as SWARM_ROLES,rt as SYNTHESIS_SCHEMA,zi as ScheduleError,yr as SearchEngineError,zA as SkillManifestError,vA as SkillSourceError,fd as SkillVarError,bs as StructuredError,Sf as SyncError,Ap as TASK_TRANSCRIPT_MAX_CHARS,oO as TEAM_FEATURES,Dp as TEAM_MANUAL,wl as TEAM_PLAN_SCHEMA,M_ as TEAM_SHAPES,xp as TEAM_TOOL_NAME,bf as THEMES,ql as THREAD_KINDS,Zl as THREAD_STATUSES,GI as THREAD_TOOL_NAME,KI as THREAD_TOOL_SPEC,hR as TITLE_RULES_VERSION,Hf as TOKEN_NAMES,wf as TOKEN_ROLES,Ts as TOPICS_SCHEMA,Vt as TRANSCRIPT_MAX_CHARS,Wi as TRIGGER_KINDS,ul as TeamError,Np as TeamRunError,Yr as ToolGroupError,gS as UNAVAILABLE_REASONS,DR as UNTITLED_MEETING,Er as UPCASTERS,$f as UPGRADE_URL,ss as UTTERANCE_DANGLING_MS,ns as UTTERANCE_SETTLE_MS,Ii as VAULT_VERSION,gi as VaultError,Cn as VoiceIntentError,Hr as WEATHER_HOST,wr as WEATHER_TIMEOUT_MS,iN as WEATHER_TOOL_NAME,nN as WEATHER_TOOL_SYSTEM,vE as WEB_SEARCH_SPEC,UE as WEB_SEARCH_TOOL_NAME,bE as WEB_SEARCH_TOOL_SYSTEM,To as WIDGET_SURFACES,Nc as WITHDRAW_AFTER,bp as WORKLOG_KINDS,Pl as WORK_GRANTS,vd as WRITER_PREFS,Gd as WRITER_PREF_DEFAULTS,Vr as WeatherError,wt as YOUTUBE_HOSTS,Tt as accept,NE as actionMenu,LI as adaptiveToolRetryHint,AR as addTag,XS as addUsage,Um as adjustSummary,pf as advanceBases,VN as agentAllowed,l_ as agentColor,Ac as agentFromForm,E_ as agentHue,T_ as agentInitials,S_ as agentKind,q as agentMentionAt,Co as aliasMap,YS as anthropicTranscript,JT as applyAll,zc as applyCard,ye as applyEdits,QN as applyPolicyToSettings,lI as applySections,Te as appoint,Br as areaLabel,Sc as assistantAgent,Fr as attemptOrder,Fm as attest,rS as bareToolName,Cf as bestCodec,_c as blankAgent,ip as blankConnection,jT as blankJobPost,yT as blankProject,yl as blankTeam,RS as blockedToolResult,Jl as boardText,nT as boardToolProvider,sT as boardToolSpec,rp as branchFor,Hl as breakCycles,Xo as briefId,Yo as briefLinks,YI as briefPrompt,Jo as briefTerms,Wo as briefToText,uE as buildGroupDispatchSpec,Me as buildNoteGraph,Kt as buildPdfDocument,Ae as buildSearchUrl,fE as buildToolset,ua as buildTrajectory,ea as buildTranscriptDocument,d_ as builtinOrg,pO as can,Ki as canAddEntry,WT as canJobPostTransition,hT as canProjectTransition,oS as canRunConcurrently,_r as canSatisfy,CA as candidatesFrom,Lm as canonical,Jt as captionTracksFromPlayerResponse,c_ as cardNumbers,Yc as cardOverride,wc as carveBudget,u as causesAreWellFormed,cI as changedSections,fr as checkInvariants,zo as checkKnowledgeInvariants,EO as checkoutUrl,fT as checkpointFrom,tt as claimsFromSynthesis,NS as classifyFailure,Ee as classifyModel,si as classifySource,yR as cleanTitle,Ud as clipCompletion,Tp as clipMessage,_n as clipText,lp as clipTranscript,Js as coerce,Ms as coerceEntities,II as combineSystemPrompt,Y as commandLineAt,ts as commandLooksFinished,Dn as commandsFromSegments,nE as compactValue,N as compareEvents,q_ as compileQuery,Ln as compileWake,HE as compressToolSpec,wE as compressToolSpecs,VE as compressionStats,ep as connectionFor,np as connectionFromForm,gA as containment,Vo as contentHash,cp as continuationNote,oR as continueList,pt as converge,sa as createAccessLog,_a as createAdapterRegistry,PI as createAdaptiveToolPolicy,fn as createAnalyzerRegistry,ST as createAnswerBox,c as createAppender,Mr as createBlobStore,Xl as createBoard,El as createBudget,BS as createCallRunner,Oa as createCitationCollector,pp as createControl,K_ as createKernel,ur as createLogStore,b_ as createManifest,Nr as createMemoryAdapter,uS as createModelHealth,Va as createModelRouter,Cr as createRegistry,rE as createResultStore,di as createRuleEngine,cT as createRunCache,BA as createSkillSourceRegistry,Ld as createSpendMeter,zs as createStructuredStream,Jr as createToolGroupRegistry,cS as createToolLoopGuard,en as createTriggerRegistry,Ua as createTurnRunner,is as createUtteranceGate,Di as createVault,Bn as createVoiceIntentRegistry,tp as credentialEnv,Xf as cssVarName,wO as dayBucket,lf as decide,Gc as decideRecruit,ed as declaredAccess,If as decryptBackup,uO as defaultLinkPolicy,y as defaultModelId,Kn as defaultVoiceIntents,cN as deferAttachedSources,pa as defineAdapter,sc as defineAgent,Tn as defineJob,XT as defineJobPost,ba as defineLoop,Rn as defineMeetingAnalyzer,Ha as defineMiddleware,Ka as defineModel,FT as defineProject,wa as defineRouteStrategy,Ai as defineRule,vs as defineSchema,xr as defineSearchEngine,GA as defineSkillSource,Al as defineTeam,Wr as defineToolGroup,$i as defineTrigger,Gn as defineVoiceIntent,ZO as demd,LO as densityRibbon,L as dequeue,qo as deriveBrief,Zo as deriveBriefs,hi as deriveKey,BR as deriveMeetingTitle,of as deriveTitle,lc as describeAgent,Up as describeCall,ap as describeConnection,qm as describeEngine,nl as describeRecipeForApproval,Nl as describeRole,Gs as describeSchema,iE as describeShape,MT as describeSpend,Pp as describeTeamForApproval,i_ as describeTeamShape,wS as describeToolCall,ct as diffProposal,La as displayName,SR as docStats,xd as draftSeparator,$o as driftedRefs,ZE as dryRunRecipe,Op as dryRunTeam,mn as dueJobs,Mt as duplicateTitles,Po as earnsBrief,vn as editDistance,he as editKey,tm as effectiveGate,Eo as effectiveGrants,nS as effectiveToolName,ge as egoGraph,YN as egressAllowed,oT as emptyBoardState,UT as emptyProjectRecord,AT as emptyRun,Vd as enabledSkills,Of as encryptBackup,HN as endpointAllowed,vm as engineKey,Qm as engineKeyOf,Ec as engineOf,Ie as engineOrder,jm as engineRef,Dc as engineRow,Fc as engineRows,F_ as engineStrip,kc as engineWorth,Ns as entitiesFormat,Is as entitiesPrompt,gs as entitiesStream,bi as entryMeta,qr as equipmentFor,PE as estimateTokens,bc as evaluatorPrompt,jE as expandRecipe,eA as expandReplacement,dd as expandSkillPrompt,Qs as explainMcpError,Xp as extendDependents,Ff as extractFilters,Si as extractUrls,xS as failoverExhausted,za as failoverOrder,jN as featureEnabled,gR as filterByTags,Ca as filterEntries,J as filterNoteActions,HO as filterRecords,h as filterSections,Fe as filterTypoEdits,pE as findActionArgs,yE as findDispatchProvider,ws as findJson,Z_ as findMatches,ee as findSkillByName,re as findTargetByName,mE as findTools,cE as findToolsResult,Pn as findWakeCommand,Yl as findingsInstruction,aT as findingsOf,km as fit,vl as fixedPlan,eN as foldBackFor,zI as foldBackNote,tT as foldBoard,jI as foldNotes,bT as foldProject,dT as foldRun,cf as forkConflict,Ea as formatBytes,Y_ as formatReport,Dt as formatSurvey,OR as formatTag,uR as formatTagQuery,FO as formatTalkTime,Zt as formatTimestamp,$t as formatTranscript,Gr as formatWeather,V as frameNoteAction,iO as freeCap,wi as fromB64,co as fuseRRF,am as gateAllows,FI as getMcpProviders,Ur as getWeather,os as gistOpening,rs as gistText,eu as globToRegExp,Cd as goalDraftAllowed,Ol as grantAllows,f_ as grantChoices,O_ as grantsFromChoices,Qr as grantsNeededFor,Le as graphStats,Dd as groundingBlock,aI as groupActionsByOwner,F as groupModels,XO as groupRecords,qt as groupSegments,QO as hasInsights,_R as hasTag,NR as hasTagTerms,wp as holdsGrants,Ei as hostMatches,uf as identityCodec,mN as imageAttachmentsOf,tR as indentSelection,zO as insightKindOf,Md as instructionOnLine,kf as isActionable,Kr as isAmbiguousLocation,HR as isBetterTitleSource,R_ as isBuiltin,tS as isCacheable,Nf as isEncryptedBackup,es as isFillerSentence,kR as isGenericTitle,xI as isInvalidToolParametersResult,Gi as isLocked,dS as isLoopableTool,Ip as isModelUnavailable,Ws as isNothing,mO as isPro,C as isQueued,QR as isRecordId,Fo as isRedactionToken,R as isRef,Re as isResultHost,OT as isResumable,jA as isSafeSkillPath,yo as isSelfLabel,mf as isSettled,US as isSourceGateError,kO as isSpeakerImageValue,Zs as isStaleMcpSession,go as isSubjectCandidate,cO as isTeam,m as isValidEvent,IA as isValidMemory,ZR as isValidStoredRecord,Wt as isYouTubeUrl,Uc as jobApplications,Vp as jobFromSubtask,QT as jobPostFromForm,cm as jobResults,YT as jobToRole,cn as jobsForEvent,dm as jobsPrompt,ga as lanesOf,eo as layoutFlowchart,uc as ledgerKey,fO as licenseFromPayload,Id as lineAt,I as linearize,Ut as linesFromItems,_t as linkClaims,Ra as linkifyCitations,pd as lintSkillPrompt,xe as lintText,Bi as lockedSummary,Bt as looksScanned,na as makeAccessEvent,LE as makeDispatchProvider,xm as makeEntry,gE as makeGroupDispatchExecutor,gc as makeLedgerEntry,jR as makeRecordId,d as makeRef,ri as makeSourceStore,Sa as makeStorageTier,oi as manifestText,qE as mapInput,FA as markUsed,PA as matchForForget,$_ as matchIndexFor,Jd as matchSlashRecipe,Wd as matchSlashSkill,zd as matchSlashTeam,An as matchSummary,MR as matchesTagFilter,kI as mcpBackoff,y_ as mcpDispatchProvider,fI as mcpInventorySystem,AI as mcpProvider,RI as mcpSharedSystem,H_ as meetDecisions,li as meetReach,an as meetingEndedTrigger,jO as meetingInsights,tn as meetingStartedTrigger,wR as meetingTitlePrompt,DA as memoryBlock,NA as memoryKey,yA as memoryToolSystem,oe as mentionAnswerPrefix,Ct as mentionsFrom,Oe as mergeEngineResults,Ve as mergeResearchLanes,$ as mergeSkillPrompt,mI as mergeStamped,Ep as mergeTranscript,Sp as messagesFor,o_ as missingStarters,wN as modelAllowed,k as modelSummary,oI as momentBadge,Jn as monitorIntent,P as moveQueued,_o as multiSearch,hc as needForJob,$A as needsBridge,aS as needsConfirmation,OO as needsRecheck,mp as newSteps,Qi as nextFireAt,QI as nextSidelineIndex,Zi as nextWakeAt,gf as nodeCodec,CS as normModelName,nc as normalizeAgent,Tl as normalizeBudget,Mc as normalizeCall,Zc as normalizeConnection,bm as normalizeEngine,Ym as normalizeEngineSpec,om as normalizeGate,fl as normalizeGrants,Kd as normalizeIntent,VT as normalizeJobPost,OA as normalizeMemory,KN as normalizeOrgPolicy,Jm as normalizePolicy,DT as normalizeProject,dt as normalizeRecord,Rt as normalizeRecords,Gp as normalizeRequest,Gm as normalizeScm,sd as normalizeSkill,Un as normalizeSpeech,qR as normalizeStoredRecord,No as normalizeSubject,cR as normalizeTag,pR as normalizeTags,Rl as normalizeTeam,As as normalizeTopic,ds as normalizeTopics,WS as normalizeUsage,Bd as normalizeWriterPrefs,W as noteActionItems,X as noteActionLabel,Wn as noteIntent,eI as noteSectionKind,ZI as noteUnits,L_ as observeInbox,nO as observeSince,P_ as observeStrip,pn as occurrenceKey,qi as occurrencesBetween,_E as oneLiner,JS as openAiTranscript,ki as openEntry,bt as orderLines,rd as originLabel,QA as originOf,ut as orphanRecords,eR as outlineOf,AE as overlapRank,qs as packageFromArgs,Gt as pageTextFromItems,Vf as paletteFor,vt as paragraphsFromLines,sS as parallelEligible,Q as parseAgentMention,jo as parseBriefText,wI as parseBringBack,hn as parseClock,xn as parseCommand,Fn as parseDuration,us as parseEntities,vc as parseEvaluation,Wl as parseFindings,$r as parseFlowchart,_m as parseJobs,z_ as parseJsonl,rR as parseListItem,tI as parseMeetingNotes,gO as parseMeetingText,kn as parseNumberWords,Df as parseOmni,Gl as parsePlan,$e as parsePlanTasks,zR as parseRecordId,Qn as parseRefinement,$c as parseRemote,Am as parseReview,HI as parseSideline,Z as parseSkillMention,cd as parseSkillVars,Ys as parseStructured,Fs as parseSuggestions,IR as parseTagQuery,Qt as parseTimedText,VR as parseTitleResponse,_s as parseTopics,vr as parseWeather,yn as parseWhen,Xt as parseYouTubeUrl,g as pendingQueue,XN as permissionMode,nn as personJoinedTrigger,Ma as phasesOf,sn as phraseTrigger,zt as pickCaptionTrack,fe as pickResults,EI as pickSections,ja as pinnedOrderOf,tr as planAttribution,or as planBody,TO as planLabel,lO as planOf,rr as planParts,po as planQueries,Ze as planSectionSystem,Tf as planSync,er as planTitleFor,lS as planToolRound,Bl as plannerPrompt,ZN as policyHash,qN as policyLabel,dc as poolFor,Ya as preferenceFor,RN as prefetchAttachment,dN as prefetchPlan,CN as presenceBlock,uN as presenceDelta,NN as presenceFor,CT as priorWorkFor,ma as projectChain,kT as projectFromForm,vT as projectProgress,x as promoteQueued,e_ as promoteRoles,Fa as promptEntries,Kc as proposalFromNeeds,Hc as proposalToAgent,lt as propose,hA as pruneMemories,En as questionTrigger,ie as rankLinkTargets,we as rankResearchCards,xo as rankSubjects,MN as reachOf,nr as reachRank,sr as reachSatisfies,ai as readSource,JI as readThread,zT as readyJobs,xA as recall,Yd as recipeInvocationText,QE as recipeParams,al as recipeToolProvider,il as recipeToolSpec,LA as reconcile,Dr as reconcileEngines,Vc as recruitEvents,Bc as recruitForRun,Xc as recruitJob,ia as redactAccessArgs,Ot as redactedTokensIn,It as redactionCost,JN as redactionTier,$n as refineSpokenCommand,jn as refinementFormat,zn as refinementPrompt,qn as refinementStream,mt as reject,Vn as reminderIntent,dR as removeTag,EN as renderContent,ro as renderFlowchartSvg,NO as renderMarkdown,Xs as repairJson,oA as replaceAll,tA as replaceAllInRange,rA as replaceMatch,J_ as replay,Wa as requirementsFor,Ja as requirementsForStep,Be as researchRelevance,He as researchSnippet,yI as resetMcp,f as resolveRef,VI as resolveSidelineTarget,hf as resolveSince,Lo as resolveSubjects,mc as resolveTeam,Yf as resolveTheme,Ks as responseFormat,sE as resultToolSpec,fp as resumeTeam,Rm as reviewPrompt,Vs as rewriteJson,Se as roleById,m_ as roleCardId,s_ as rosterRows,pm as roundBudget,KS as roundCap,LN as roundCount,Tm as roundJobs,PN as roundMinutes,pS as roundSignature,WN as routeAllowed,yc as routeFor,Ta as routeGraph,me as routeTeam,VO as rowTime,RT as runFromEvents,x_ as runLanes,$E as runPlan,lm as runProject,el as runRecipe,tE as runResultQuery,gT as runState,Rp as runTeam,TS as runToolRound,GS as runTurnLoop,PS as runWithFailover,ve as salientTerms,Za as sameModelKey,od as sameSkillOrigin,fR as sameTags,as as sameUtterance,Xn as scheduleIntent,Il as scmAllows,yi as sealEntry,vi as searchEntries,GE as searchResultsToText,ef as searchTextFor,TI as sectionHash,SI as sectionValue,ER as selectionStats,zN as settingLocked,Zn as settleRefinement,Pm as sha256,oE as shieldToolResult,ti as shortUrl,KR as shouldAutoTitle,$I as sidelinePath,tN as sidelineToolProvider,Xa as signalsFrom,MA as similarity,I_ as skillChoices,ZA as skillFiles,Zd as skillInvocationLabel,qd as skillInvocationOf,td as skillIsStale,Td as skillVar,Rd as skillVarGuidance,md as skillVarPattern,Qd as slashCommandInsert,Xd as slashCommandItems,uA as slotOf,Tc as slugAgentId,Ul as slugTeamName,tf as snippetOf,__ as soloTeam,KO as sortRecords,BO as sortStamp,OI as sourceCitationSystem,kS as sourceGate,yS as sourceGuardFor,ii as sourceId,qI as sourceOf,Ti as sourcePolicyFor,hS as sourcePolicySettings,mi as sourceUrlsOf,fa as sourcesFromToolText,Lt as spanningQuestions,xO as speakerBreakdown,UO as speakerLabeller,CO as speakerStats,DO as speakerTimeline,uT as spendOf,D_ as spendRows,_S as stableToolCallKey,Ef as stampOf,pc as starterAgents,r_ as starterTeam,hl as starterTeams,VS as stepResultText,Mf as streamCodec,ko as stripQualifiers,uo as subjectKey,Mo as subjectTokens,Ad as substituteSkillVars,Bp as subtaskFromRequest,LR as suggestExistingTags,Uo as suggestMerges,_d as suggestSkillVar,Ds as suggestionsFormat,xs as suggestionsPrompt,hs as suggestionsStream,ym as summarize,Cc as summarizeEngine,YO as summarySections,le as supportsSubagents,Pt as surveyCorpus,ot as synthesisPrompt,CR as tagFacets,PR as tagsSearchText,Kp as takeUp,Hp as takeUpLine,Wp as taskTree,mm as teamForRound,kl as teamFromForm,t_ as teamHealth,jd as teamInvocationText,Zp as teamLanes,qp as teamLine,a_ as teamShape,gp as teamToolProvider,Cp as teamToolSpec,Lp as teamToolTimeoutMs,A_ as teamsWithSolos,hI as testMcpServer,Jf as themeStylesheet,XI as threadManifest,Jp as threadRows,Da as threadTitle,WI as threadToolProvider,ya as threadTree,xa as threadsOf,xt as thresholdSweep,_O as tierFor,Zm as tierOf,jt as timedTextUrl,wn as timerIntent,on as timerTrigger,GR as titleFromDate,vR as titleFromParticipants,UR as titleFromSummary,bR as titleFromTopics,Hi as toB64,zl as toBriefClaims,lN as toChatMessages,Wf as toCssVars,rf as toIndexEntry,Bs as toJsonSchema,j_ as toJsonl,Ar as toModelSchema,dr as toModelSchemas,TN as toMultimodalMessages,$R as toSearchRecord,iR as toggleLinePrefix,sR as toggleLink,RR as toggleTag,nR as toggleTask,aR as toggleWrap,bn as tokenize,AS as toolMadeProgress,jr as toolNeedFor,NI as toolStatus,eS as toolTraits,Ge as topicTerms,Sn as topicTrigger,ps as topicsFormat,cs as topicsPrompt,ms as topicsSchema,Rs as topicsStream,iS as traitsIndex,ra as transcriptFromTracks,z as triggerQueryAt,XE as trimDescription,Ce as trimGraph,qA as trustOf,ha as turnsOf,Hs as unfence,Fi as unlockVault,de as unwrapRedirect,lr as upcast,Tr as upcastAll,kA as upcastMemory,id as upcastSkill,nd as upcastSkills,p_ as upsertAgents,ml as usageOf,ME as validateAction,ic as validateAgent,ll as validateBudget,cr as validateCapability,qc as validateConnection,zm as validateEngineSpec,Ui as validateEntry,T as validateEvent,rm as validateGate,pr as validateInvocation,wT as validateJobPost,xT as validateProject,zE as validateRecipe,ji as validateSchedule,ad as validateSkill,dl as validateTeam,to as validateView,ao as validateViewInvocation,so as validateWidget,So as validateWidgetMessage,MI as vaultWidgetSystem,hm as verifyAttested,Dm as verifyChain,dO as verifyEntitlement,$N as verifyPolicyToken,RO as verifySignedToken,Yt as videoMetaFromPlayerResponse,io as viewResult,gt as vocabularyDrift,ln as voiceCommandTrigger,Nt as wantedPages,yf as wantsModel,gI as wantsVaultGuidance,Kl as waves,ON as weatherFollowupPlace,fN as weatherPlace,sN as weatherToolProvider,br as weatherUrl,Ke as webQuery,BE as webSearchToolProvider,n_ as whereItWorks,uI as widgetAuthoringSystem,lo as widgetIcon,ae as wikiQueryAt,ft as wikilinksIn,ET as withBoardTool,CE as withGuidance,gN as withPresence,aE as withResultShield,pT as withRunCache,pN as withSourceTool,HS as withToolSystem,AO as withinFreeLimit,bS as withinReach,af as wordCount,De as wordDiff,kp as workLogEvidence,hp as workLogFor,yp as workLogText,op as worktreeDirFor,Nd as writerAffordance,Fd as writerRequest,Pd as writerTail};
1
+ import{CURRENT_VERSION as o,EVENT_TYPES as t,ALL_TYPES as a,ACTOR_KINDS as i,SCOPE_KINDS as n,CLASSES as s,EFFECTS as S,EGRESS as E,EventError as l,validateEvent as T,isValidEvent as m,createAppender as c}from"./event.js";import{REF_KINDS as _,RESOLUTION as d,makeRef as A,isRef as R,resolveRef as f}from"./ref.js";import{linearize as I,compareEvents as N,causesAreWellFormed as u}from"./order.js";import{pendingQueue as g,isQueued as C,dequeue as L,moveQueued as P,promoteQueued as x}from"./queue.js";import{groupModels as F,filterSections as h,defaultModelId as y,modelSummary as k}from"./model-picker.js";import{NOTE_ACTIONS as b,NOTE_ACTION_ORDER as v,NOTE_ACTION_TEMPERATURE as G,NOTE_ACTION_ERRORS as K,NOTE_COMMANDS as B,NOTE_COMMAND_TEMPERATURE as H,NOTE_COMMAND_MAX_TOKENS as w,frameNoteAction as V,noteActionLabel as X,noteActionItems as W,filterNoteActions as J,commandLineAt as Y,triggerQueryAt as z}from"./note-actions.js";import{parseAgentMention as Q,agentMentionAt as q,parseSkillMention as Z,mergeSkillPrompt as $,findSkillByName as ee,findTargetByName as re,mentionAnswerPrefix as oe}from"./note-mentions.js";import{wikiQueryAt as ae,rankLinkTargets as ie}from"./note-links.js";import{SWARM_ROLES as se,roleById as Se,classifyModel as Ee,supportsSubagents as le,appoint as Te,routeTeam as me}from"./cowriter-router.js";import{SEARCH_ENGINES as pe,RESULTS_PER_ENGINE as _e,buildSearchUrl as de,unwrapRedirect as Ae,isResultHost as Re,pickResults as fe,mergeEngineResults as Oe,engineOrder as Ie}from"./web-search.js";import{MAX_GRAPH_NODES as ue,buildNoteGraph as Me,egoGraph as ge,trimGraph as Ce,graphStats as Le}from"./note-graph.js";import{lintText as xe,wordDiff as De,filterTypoEdits as Fe,editKey as he,applyEdits as ye,COWRITER_SYSTEM as ke,COWRITER_TEMPERATURE as Ue}from"./cowriter.js";import{salientTerms as ve,topicTerms as Ge,researchRelevance as Ke,webQuery as Be,researchSnippet as He,rankResearchCards as we,mergeResearchLanes as Ve}from"./note-research.js";import{PLAN_ROLES as We,PLAN_AUTHORS as Je,PLAN_DECOMPOSE_SYSTEM as Ye,PLAN_DECOMPOSE_MAX_TOKENS as ze,PLAN_DECOMPOSE_TEMPERATURE as je,PLAN_SECTION_MAX_TOKENS as Qe,PLAN_SECTION_TEMPERATURE as qe,planSectionSystem as Ze,parsePlanTasks as $e,planTitleFor as er,planParts as rr,planBody as or,planAttribution as tr}from"./note-plan.js";import{REACH as ir,reachRank as nr,reachSatisfies as sr}from"./reach.js";import{UPCASTERS as Er,upcast as lr,upcastAll as Tr}from"./upcast.js";import{validateCapability as cr,validateInvocation as pr,canSatisfy as _r,toModelSchema as dr,toModelSchemas as Ar}from"./capability.js";import{checkInvariants as fr,INVARIANTS as Or}from"./invariants.js";import{createMemoryAdapter as Nr,createLogStore as ur,createBlobStore as Mr}from"./store.js";import{createRegistry as Cr,REGISTRY_STATES as Lr}from"./registry.js";import{defineSearchEngine as xr,reconcileEngines as Dr,attemptOrder as Fr,ENGINE_KINDS as hr,SearchEngineError as yr}from"./search-engines.js";import{getWeather as Ur,weatherUrl as br,parseWeather as vr,formatWeather as Gr,areaLabel as Kr,isAmbiguousLocation as Br,WEATHER_HOST as Hr,WEATHER_TIMEOUT_MS as wr,WeatherError as Vr}from"./weather.js";import{defineToolGroup as Wr,createToolGroupRegistry as Jr,ToolGroupError as Yr}from"./tool-groups.js";import{toolNeedFor as jr,grantsNeededFor as Qr,equipmentFor as qr}from"./tool-need.js";import{parseFlowchart as $r,layoutFlowchart as eo,renderFlowchartSvg as ro}from"./flowchart.js";import{validateView as to,validateViewInvocation as ao,viewResult as io}from"./view.js";import{validateWidget as so,validateWidgetMessage as So,effectiveGrants as Eo,widgetIcon as lo,WIDGET_SURFACES as To}from"./widget.js";import{fuseRRF as co,planQueries as po,multiSearch as _o}from"./rrf.js";import{SUBJECT_KINDS as Ro,DEFAULT_THRESHOLD as fo,MAX_SUBJECTS as Oo,MAX_SUBJECT_CHARS as Io,normalizeSubject as No,subjectKey as uo,subjectTokens as Mo,isSubjectCandidate as go,aliasMap as Co,resolveSubjects as Lo,earnsBrief as Po,rankSubjects as xo,REDACTION_TOKEN_TYPES as Do,isRedactionToken as Fo,SELF_LABELS as ho,isSelfLabel as yo,stripQualifiers as ko,suggestMerges as Uo}from"./entity.js";import{BRIEF_STATES as vo,CLAIM_KINDS as Go,MAX_CLAIMS as Ko,MAX_CLAIM_REFS as Bo,MAX_BRIEF_RECORDS as Ho,MAX_BRIEF_CHARS as wo,contentHash as Vo,briefId as Xo,briefToText as Wo,briefTerms as Jo,briefLinks as Yo,checkKnowledgeInvariants as zo,parseBriefText as jo}from"./knowledge.js";import{deriveBrief as qo,deriveBriefs as Zo,driftedRefs as $o}from"./knowledge-derive.js";import{SYNTHESIS_SCHEMA as rt,synthesisPrompt as ot,claimsFromSynthesis as tt,MAX_SYNTHESIS_CLAIMS as at,MAX_EXCERPTS as it,MAX_EXCERPT_CHARS as nt}from"./synthesis.js";import{PROPOSAL_STATES as St,SUPERSEDE_OVERLAP as Et,propose as lt,accept as Tt,reject as mt,diffProposal as ct,converge as pt,linkClaims as _t}from"./promotion.js";import{normalizeRecord as At,normalizeRecords as Rt,wikilinksIn as ft,redactedTokensIn as Ot,redactionCost as It,wantedPages as Nt,orphanRecords as ut,duplicateTitles as Mt,vocabularyDrift as gt,mentionsFrom as Ct,spanningQuestions as Lt,surveyCorpus as Pt,thresholdSweep as xt,formatSurvey as Dt,NEAR_TITLE_DISTANCE as Ft,SPAN_MIN_TERMS as ht}from"./curate.js";import{PDF_MAX_CHARS as kt,linesFromItems as Ut,orderLines as bt,paragraphsFromLines as vt,pageTextFromItems as Gt,looksScanned as Kt,buildPdfDocument as Bt}from"./pdf-layout.js";import{YOUTUBE_HOSTS as wt,TRANSCRIPT_MAX_CHARS as Vt,parseYouTubeUrl as Xt,isYouTubeUrl as Wt,captionTracksFromPlayerResponse as Jt,videoMetaFromPlayerResponse as Yt,pickCaptionTrack as zt,timedTextUrl as jt,parseTimedText as Qt,groupSegments as qt,formatTimestamp as Zt,formatTranscript as $t,buildTranscriptDocument as ea,transcriptFromTracks as ra}from"./media-transcript.js";import{ACCESS_LOG_VERSION as ta,ACCESS_LOG_MAX as aa,redactAccessArgs as ia,makeAccessEvent as na,createAccessLog as sa,makeStorageTier as Sa,formatBytes as Ea}from"./observability.js";import{routeGraph as Ta,projectChain as ma}from"./route-graph.js";import{defineAdapter as pa,createAdapterRegistry as _a,AdapterError as da}from"./adapters.js";import{linkifyCitations as Ra,sourcesFromToolText as fa,createCitationCollector as Oa,RETRIEVAL_TOOLS as Ia}from"./citations.js";import{buildTrajectory as ua,phasesOf as Ma,lanesOf as ga,filterEntries as Ca,displayName as La,ENTRY_KINDS as Pa,threadsOf as xa,threadTitle as Da,promptEntries as Fa,turnsOf as ha,threadTree as ya}from"./trajectory.js";import{createTurnRunner as Ua,defineLoop as ba,LOOP_KINDS as va,LoopError as Ga}from"./loop.js";import{defineModel as Ba,defineMiddleware as Ha,defineRouteStrategy as wa,createModelRouter as Va,signalsFrom as Xa,requirementsFor as Wa,requirementsForStep as Ja,preferenceFor as Ya,failoverOrder as za,pinnedOrderOf as ja,FAILOVER_CLASS_GAP as Qa,FAILOVER_CAPABILITY_GAP as qa,sameModelKey as Za,RouterError as $a}from"./router.js";import{makeSourceStore as ri,manifestText as oi,shortUrl as ti,readSource as ai,sourceId as ii}from"./sources-retrieval.js";import{classifySource as si,extractUrls as Si,hostMatches as Ei,meetReach as li,sourcePolicyFor as Ti,sourceUrlsOf as mi,DEFAULT_INTERNAL_PATTERNS as ci,INTERNAL_PATTERN_CATALOG as pi}from"./sources.js";import{defineRule as di,createRuleEngine as Ai,SUPPRESSED as Ri,RuleError as fi}from"./rules.js";import{VAULT_VERSION as Ii,KDF_ITERATIONS as Ni,KDF_HASH as ui,DEFAULT_LOCK_MS as Mi,VaultError as gi,MAX_TITLE_CHARS as Ci,MAX_NOTE_CHARS as Li,MAX_SECRET_CHARS as Pi,MAX_ENTRIES as xi,createVault as Di,unlockVault as Fi,deriveKey as hi,sealEntry as yi,openEntry as ki,validateEntry as Ui,entryMeta as bi,searchEntries as vi,isLocked as Gi,lockedSummary as Ki,canAddEntry as Bi,toB64 as Hi,fromB64 as wi}from"./vault.js";import{SCHEDULE_KINDS as Xi,TRIGGER_KINDS as Wi,JOB_ACTIONS as Ji,MISSED_POLICIES as Yi,ScheduleError as zi,validateSchedule as ji,nextFireAt as Qi,occurrencesBetween as qi,nextWakeAt as Zi,defineTrigger as $i,createTriggerRegistry as en,BUILTIN_TRIGGERS as rn,timerTrigger as on,meetingStartedTrigger as tn,meetingEndedTrigger as an,personJoinedTrigger as nn,phraseTrigger as sn,topicTrigger as Sn,questionTrigger as En,voiceCommandTrigger as ln,defineJob as Tn,dueJobs as mn,jobsForEvent as cn,occurrenceKey as pn,clipText as _n,matchSummary as dn}from"./schedule.js";import{defineMeetingAnalyzer as Rn,createAnalyzerRegistry as fn,CADENCES as On,AnalyzerError as In}from"./meeting-analyzers.js";import{DEFAULT_WAKE as un,MAX_COMMANDS_PER_DELTA as Mn,DAYPART_HOUR as gn,VoiceIntentError as Cn,compileWake as Ln,findWakeCommand as Pn,parseCommand as xn,commandsFromSegments as Dn,parseDuration as Fn,parseClock as hn,parseWhen as yn,parseNumberWords as kn,normalizeSpeech as Un,tokenize as bn,editDistance as vn,defineVoiceIntent as Gn,createVoiceIntentRegistry as Kn,defaultVoiceIntents as Bn,BUILTIN_VOICE_INTENTS as Hn,timerIntent as wn,reminderIntent as Vn,scheduleIntent as Xn,noteIntent as Wn,monitorIntent as Jn,REFINEMENT_SCHEMA as Yn,refinementPrompt as zn,refinementFormat as jn,parseRefinement as Qn,refinementStream as qn,settleRefinement as Zn,refineSpokenCommand as $n,isFillerSentence as es,gistText as rs,gistOpening as os,commandLooksFinished as ts,sameUtterance as as,createUtteranceGate as is,UTTERANCE_SETTLE_MS as ns,UTTERANCE_DANGLING_MS as ss}from"./voice-intents.js";import{MAX_TOPICS as Es,MAX_TOPIC_CHARS as ls,TOPICS_SCHEMA as Ts,topicsSchema as ms,topicsPrompt as cs,topicsFormat as ps,parseTopics as _s,normalizeTopic as ds,normalizeTopics as As,topicsStream as Rs,ENTITY_TYPES as fs,ENTITIES_SCHEMA as Os,entitiesPrompt as Is,entitiesFormat as Ns,parseEntities as us,coerceEntities as Ms,entitiesStream as gs,MAX_SUGGESTIONS as Cs,MAX_SUGGESTION_CHARS as Ls,SUGGESTIONS_SCHEMA as Ps,suggestionsPrompt as xs,suggestionsFormat as Ds,parseSuggestions as Fs,suggestionsStream as hs}from"./extraction.js";import{FIELD_TYPES as ks,RESPONSE_MODES as Us,StructuredError as bs,defineSchema as vs,describeSchema as Gs,toJsonSchema as Ks,responseFormat as Bs,unfence as Hs,findJson as ws,rewriteJson as Vs,repairJson as Xs,isNothing as Ws,coerce as Js,parseStructured as Ys,createStructuredStream as zs}from"./structured.js";import{explainMcpError as Qs,packageFromArgs as qs,isStaleMcpSession as Zs}from"./mcp-errors.js";import{toolTraits as eS,bareToolName as rS,canRunConcurrently as oS,isCacheable as tS,needsConfirmation as aS,traitsIndex as iS,effectiveToolName as nS,parallelEligible as sS,PARALLEL_LOCAL_RE as SS}from"./tool-traits.js";import{planToolRound as lS,runToolRound as TS}from"./tool-round.js";import{createToolLoopGuard as cS,roundSignature as pS,stableToolCallKey as _S,toolMadeProgress as dS,isLoopableTool as AS,blockedToolResult as RS,OBSERVATION_TOOLS as fS,INPUT_PROGRESS_TOOLS as OS}from"./tool-loop-guard.js";import{classifyFailure as NS,createModelHealth as uS,COOLDOWN_MS as MS,UNAVAILABLE_REASONS as gS,normModelName as CS}from"./model-health.js";import{runWithFailover as PS,failoverExhausted as xS,FAILOVER_MAX_ATTEMPTS as DS}from"./failover.js";import{sourcePolicySettings as hS,sourceGuardFor as yS,sourceGate as kS,isSourceGateError as US,withinReach as bS}from"./source-gate.js";import{runTurnLoop as GS,createCallRunner as KS,roundCap as BS,withToolSystem as HS,describeCall as wS,stepResultText as VS,addUsage as XS,normalizeUsage as WS,openAiTranscript as JS,anthropicTranscript as YS,DEFAULT_MAX_ROUNDS as zS,DEFAULT_MAX_FINISH_TRIES as jS,FINISH_NUDGES as QS,LOOPING_NUDGE as qS,EXHAUSTED_NOTE as ZS,ROUND_SEPARATOR as $S}from"./turn-loop.js";import{createResultStore as rE,shieldToolResult as oE,runResultQuery as tE,withResultShield as aE,describeShape as iE,compactValue as nE,resultToolSpec as sE,RESULT_TOOL_NAME as SE,DEFAULT_SHIELD as EE,DEFAULT_STORE as lE}from"./tool-result.js";import{findTools as mE,findToolsResult as cE,findActionArgs as pE,oneLiner as _E,overlapRank as dE,FIND_ACTION as AE}from"./tool-discovery.js";import{buildToolset as fE}from"./toolset.js";import{DESCRIBE_ACTION as IE,actionMenu as NE,buildGroupDispatchSpec as uE,validateAction as ME,makeGroupDispatchExecutor as gE,withGuidance as CE,makeDispatchProvider as LE,estimateTokens as PE}from"./tool-dispatch.js";import{FIND_TOOL_NAME as DE,FIND_DESCRIPTION as FE,FIND_RESIDENT as hE,findDispatchProvider as yE}from"./find-tool.js";import{WEB_SEARCH_TOOL_NAME as UE,WEB_SEARCH_TOOL_SYSTEM as bE,WEB_SEARCH_SPEC as vE,searchResultsToText as GE,webSearchToolProvider as KE}from"./web-search-tool.js";import{compressToolSpec as HE,compressToolSpecs as wE,compressionStats as VE,trimDescription as XE,COMPRESSION_MODES as WE,DEFAULT_COMPRESSION as JE}from"./tool-schema.js";import{validateRecipe as zE,expandRecipe as jE,recipeParams as QE,mapInput as qE,dryRunRecipe as ZE,runPlan as $E,runRecipe as el,RecipeError as rl,RECIPE_MODES as ol}from"./recipe.js";import{recipeToolProvider as al,recipeToolSpec as il,describeRecipeForApproval as nl,RECIPE_TOOL_NAME as sl}from"./recipe-tool.js";import{createBudget as El,validateBudget as ll,normalizeBudget as Tl,usageOf as ml,BudgetError as cl,BUDGET_DIMENSIONS as pl}from"./budget.js";import{defineTeam as dl,validateTeam as Al,normalizeTeam as Rl,normalizeGrants as fl,grantAllows as Ol,scmAllows as Il,describeRole as Nl,TeamError as ul,ROLE_MODES as Ml,MERGE_POLICIES as gl,PLAN_MODES as Cl,GRANTABLE as Ll,WORK_GRANTS as Pl,GRANT_RE as xl,AGENT_REF_RE as Dl,STARTER_TEAMS as Fl,starterTeams as hl,blankTeam as yl,teamFromForm as kl,slugTeamName as Ul}from"./team.js";import{fixedPlan as vl,parsePlan as Gl,plannerPrompt as Kl,waves as Bl,breakCycles as Hl,TEAM_PLAN_SCHEMA as wl}from"./team-plan.js";import{createBoard as Xl,parseFindings as Wl,boardText as Jl,findingsInstruction as Yl,toBriefClaims as zl,FINDINGS_SCHEMA as jl,FINDING_KINDS as Ql,THREAD_KINDS as ql,THREAD_STATUSES as Zl,POST_KINDS as $l,POST_STATUSES as eT,ASK_TYPES as rT,emptyBoardState as oT,foldBoard as tT,findingsOf as aT}from"./team-board.js";import{boardToolProvider as nT,boardToolSpec as sT,createAnswerBox as ST,withBoardTool as ET,BOARD_TOOL_NAME as lT,DEFAULT_ASK_TIMEOUT_MS as TT}from"./board-tool.js";import{createRunCache as cT,withRunCache as pT}from"./team-cache.js";import{emptyRun as dT,foldRun as AT,runFromEvents as RT,checkpointFrom as fT,isResumable as OT,LIVE_RUN_STATUSES as IT,RESUMABLE_RUN_STATUSES as NT,spendOf as uT,describeSpend as MT,runState as gT,priorWorkFor as CT,STALLED_AFTER_MS as LT}from"./team-record.js";import{validateProject as xT,normalizeProject as DT,defineProject as FT,canTransition as hT,blankProject as yT,projectFromForm as kT,emptyProjectRecord as UT,foldProject as bT,projectProgress as vT,ProjectError as GT,PROJECT_STATUSES as KT,PROJECT_ID_RE as BT}from"./project.js";import{validateJob as wT,normalizeJob as VT,defineJob as XT,canTransition as WT,applyAll as JT,jobToRole as YT,readyJobs as zT,blankJob as jT,jobFromForm as QT,JobError as qT,JOB_STATUSES as ZT,JOB_ID_RE as $T}from"./job.js";import{validateGate as rm,normalizeGate as om,effectiveGate as tm,gateAllows as am,DEFAULT_GATE as im,AUTONOMY as nm,HUMAN_FLAGS as sm,CHECKS as Sm}from"./gate.js";import{runProject as lm,roundJobs as Tm,teamForRound as mm,jobResults as cm,roundBudget as pm,parseJobs as _m,parseReview as dm,jobsPrompt as Am,reviewPrompt as Rm,PROJECT_JOBS_SCHEMA as fm,PROJECT_REVIEW_SCHEMA as Om,ProjectRunError as Im,EXECUTIVE as Nm,MAX_JOBS_PER_ROUND as um,MAX_ROUNDS as Mm,PROJECT_RUN_STATUSES as gm}from"./project-run.js";import{canonical as Lm,sha256 as Pm,makeEntry as xm,verifyChain as Dm,attest as Fm,verifyAttested as hm,summarize as ym,fit as km,adjustSummary as Um,normalizeEngine as bm,engineKey as vm,normalizeScm as Gm,SCORECARD_ENTRY_KINDS as Km,ROLE_KINDS as Bm,SCORECARD_VERSION as Hm,ENGINE_KINDS as wm}from"./scorecard.js";import{ENGINE_KINDS as Xm,ROUTE_PREFERS as Wm,normalizePolicy as Jm,normalizeEngineSpec as Ym,validateEngineSpec as zm,engineRef as jm,engineKeyOf as Qm,describeEngine as qm,tierOf as Zm}from"./engine.js";import{AGENT_ID_RE as ec,APPLIES_TO as rc,EGRESS_CLASSES as oc,ASSISTANT_ID as tc,AgentError as ac,validateAgent as ic,normalizeAgent as nc,defineAgent as sc,assistantAgent as Sc,engineOf as Ec,describeAgent as lc,slugAgentId as Tc,resolveTeam as mc,STARTER_AGENTS as cc,starterAgents as pc,blankAgent as _c,agentFromForm as dc,poolFor as Ac}from"./agent.js";import{LEDGER_VERSION as fc,LEDGER_ENTRY_KINDS as Oc,DECLINE_REASONS as Ic,WITHDRAW_AFTER as Nc,ledgerKey as uc,normalizeCall as Mc,makeLedgerEntry as gc,summarizeEngine as Cc}from"./model-ledger.js";import{RECRUIT_SCHEMA as Pc,MIN_FIT as xc,engineRow as Dc,engineRows as Fc,needForJob as hc,routeFor as yc,engineWorth as kc,applications as Uc,evaluatorPrompt as bc,parseEvaluation as vc,decide as Gc,recruitForRun as Kc,proposalFromNeeds as Bc,proposalToAgent as Hc,carveBudget as wc,recruitEvents as Vc,recruitJob as Xc}from"./recruit.js";import{DEFAULT_MIN_CALLS as Jc,cardOverride as Yc,applyCard as zc}from"./model-candidates.js";import{SCM_KINDS as Qc,validateConnection as qc,normalizeConnection as Zc,parseRemote as $c,connectionFor as ep,branchFor as rp,worktreeDirFor as op,credentialEnv as tp,describeConnection as ap,blankConnection as ip,connectionFromForm as np}from"./scm-connection.js";import{messagesFor as Sp,mergeTranscript as Ep,clipTranscript as lp,clipMessage as Tp,newSteps as mp,continuationNote as cp,createControl as pp,STEP_MAX_CHARS as _p,TASK_TRANSCRIPT_MAX_CHARS as dp}from"./team-task.js";import{runTeam as Rp,resumeTeam as fp,dryRunTeam as Op,isModelUnavailable as Ip,TeamRunError as Np,RUN_STATUSES as up}from"./team-run.js";import{teamToolProvider as gp,teamToolSpec as Cp,teamToolTimeoutMs as Lp,describeTeamForApproval as Pp,TEAM_TOOL_NAME as xp,TEAM_MANUAL as Dp}from"./team-tool.js";import{workLogFor as hp,workLogText as yp,workLogEvidence as kp,describeCall as Up,WORKLOG_KINDS as bp}from"./team-worklog.js";import{normalizeRequest as Gp,subtaskFromRequest as Kp,takeUp as Bp,takeUpLine as Hp,holdsGrants as wp,jobFromSubtask as Vp,extendDependents as Xp,taskTree as Wp,threadRows as Jp,MAX_SUBTASKS as Yp,MAX_DEPTH as zp,MIN_TAKEUP_FIT as jp}from"./team-subtask.js";import{teamLine as qp,teamLanes as Zp}from"./team-trail.js";import{promoteRoles as e_,starterTeam as r_,missingStarters as o_,teamHealth as t_,teamShape as a_,describeTeamShape as i_,whereItWorks as n_,rosterRows as s_,agentKind as S_,agentHue as E_,agentColor as l_,agentInitials as T_,roleCardId as m_,cardNumbers as c_,upsertAgents as p_,soloTeam as __,teamsWithSolos as d_,builtinOrg as A_,isBuiltin as R_,grantChoices as f_,grantsFromChoices as O_,skillChoices as I_,GRANT_INFO as N_,SOLO_BUDGET as u_,TEAM_SHAPES as M_,ROSTER_KINDS as g_}from"./team-org.js";import{observeInbox as L_,observeStrip as P_,runLanes as x_,spendRows as D_,engineStrip as F_}from"./team-observe.js";import{mcpDispatchProvider as y_,MCP_TOOL_NAME as k_}from"./mcp-dispatch.js";import{createManifest as b_,ManifestError as v_,SOURCES as G_}from"./manifest.js";import{createKernel as B_,meetDecisions as H_,KernelError as w_,REQUIRED_PLUGINS as V_,ALLOW_ALL as X_}from"./kernel.js";import{replay as J_,formatReport as Y_,parseJsonl as z_,toJsonl as j_}from"./harness.js";import{compileQuery as q_,findMatches as Z_,matchIndexFor as $_,expandReplacement as ed,replaceMatch as rd,replaceAll as od,replaceAllInRange as td,MAX_MATCHES as ad}from"./text-search.js";import{DATA_SCOPES as nd}from"./scopes.js";import{MEMORY_VERSION as Sd,MEMORY_KINDS as Ed,MEMORY_KIND_NAMES as ld,AMBIENT_KINDS as Td,MAX_MEMORY_CHARS as md,MIN_MEMORY_CHARS as cd,DEFAULT_MAX_MEMORIES as pd,DEFAULT_BLOCK_CHARS as _d,SAME_FACT as dd,MEMORY_TOOL_SPEC as Ad,MEMORY_UPCASTERS as Rd,MemoryError as fd,normalizeMemory as Od,isValidMemory as Id,memoryKey as Nd,slotOf as ud,similarity as Md,containment as gd,candidatesFrom as Cd,reconcile as Ld,matchForForget as Pd,recall as xd,memoryBlock as Dd,markUsed as Fd,pruneMemories as hd,memoryToolSystem as yd,upcastMemory as kd}from"./memory.js";import{SOURCE_TRUST as bd,SkillSourceError as vd,defineSkillSource as Gd,createSkillSourceRegistry as Kd}from"./skill-sources.js";import{SKILL_MANIFEST_VERSION as Hd,SKILL_CONTEXTS as wd,SKILL_HISTORY_SCOPES as Vd,SKILL_MCP_MODES as Xd,SKILL_TRUST as Wd,SKILL_FILE_KINDS as Jd,SKILL_UPCASTERS as Yd,SkillManifestError as zd,isSafeSkillPath as jd,originOf as Qd,trustOf as qd,skillFiles as Zd,needsBridge as $d,declaredAccess as eA,originLabel as rA,sameSkillOrigin as oA,skillIsStale as tA,validateSkill as aA,upcastSkill as iA,upcastSkills as nA,normalizeSkill as sA}from"./skill-manifest.js";import{SKILL_VARS as EA,SKILL_VAR_NAMES as lA,skillVar as TA,skillVarPattern as mA,parseSkillVars as cA,lintSkillPrompt as pA,suggestSkillVar as _A,substituteSkillVars as dA,expandSkillPrompt as AA,skillVarGuidance as RA,SkillVarError as fA}from"./skill-vars.js";import{lineAt as IA,writerAffordance as NA,INSTRUCTION_RE as uA,instructionOnLine as MA,GOAL_MIN_NEW as gA,goalDraftAllowed as CA,createSpendMeter as LA,writerTail as PA,draftSeparator as xA,groundingBlock as DA,writerRequest as FA,AUTOCOMPLETE_SYSTEM as hA,AUTOCOMPLETE_MAX_TOKENS as yA,AUTOCOMPLETE_TEMPERATURE as kA,clipCompletion as UA,GEARS as bA,WRITER_PREFS as vA,WRITER_PREF_DEFAULTS as GA,normalizeWriterPrefs as KA,normalizeIntent as BA}from"./cowriter-writer.js";import{SLASH_TYPING_RE as wA,enabledSkills as VA,slashCommandItems as XA,matchSlashSkill as WA,matchSlashRecipe as JA,recipeInvocationText as YA,matchSlashTeam as zA,teamInvocationText as jA,slashCommandInsert as QA,skillInvocationOf as qA,skillInvocationLabel as ZA}from"./slash-commands.js";import{outlineOf as eR,parseListItem as rR,continueList as oR,indentSelection as tR,toggleWrap as aR,toggleLinePrefix as iR,toggleTask as nR,toggleLink as sR,docStats as SR,selectionStats as ER}from"./markdown-authoring.js";import{MAX_TAG_LENGTH as TR,MAX_TAGS as mR,normalizeTag as cR,normalizeTags as pR,hasTag as _R,addTag as dR,removeTag as AR,toggleTag as RR,sameTags as fR,formatTag as OR,parseTagQuery as IR,hasTagTerms as NR,formatTagQuery as uR,matchesTagFilter as MR,filterByTags as gR,tagFacets as CR,suggestExistingTags as LR,tagsSearchText as PR}from"./tags.js";import{UNTITLED_MEETING as DR,MAX_TITLE_LENGTH as FR,TITLE_RULES_VERSION as hR,cleanTitle as yR,isGenericTitle as kR,titleFromSummary as UR,titleFromTopics as bR,titleFromParticipants as vR,titleFromDate as GR,deriveMeetingTitle as KR,shouldAutoTitle as BR,isBetterTitleSource as HR,meetingTitlePrompt as wR,parseTitleResponse as VR}from"./titles.js";import{RECORD_KINDS as WR,MAX_TITLE_LEN as JR,LibraryError as YR,parseRecordId as zR,makeRecordId as jR,isRecordId as QR,normalizeStoredRecord as qR,isValidStoredRecord as ZR,toSearchRecord as $R,searchTextFor as ef,toIndexEntry as rf,deriveTitle as of,snippetOf as tf,wordCount as af}from"./library.js";import{CLOCK_TOLERANCE_MS as sf,SyncError as Sf,stampOf as Ef,decide as lf,planSync as Tf,isSettled as mf,forkConflict as cf,advanceBases as pf}from"./sync-plan.js";import{ENCRYPTED_TYPE as df,COMPRESSIONS as Af,BackupError as Rf,KDF_ITERATIONS as ff,encryptBackup as Of,decryptBackup as If,isEncryptedBackup as Nf,identityCodec as uf,streamCodec as Mf,nodeCodec as gf,bestCodec as Cf}from"./backup-envelope.js";import{OMNI_MODES as Pf,OMNI_GRAMMAR as xf,parseOmni as Df,extractFilters as Ff,resolveSince as hf,wantsModel as yf,isActionable as kf}from"./omni.js";import{THEMES as bf,LIGHT as vf,DARK as Gf,PALETTES as Kf,SHAPE as Bf,TOKEN_NAMES as Hf,TOKEN_ROLES as wf,paletteFor as Vf,cssVarName as Xf,toCssVars as Wf,themeStylesheet as Jf,resolveTheme as Yf}from"./theme.js";import{PLANS as jf,API_BASE as Qf,ENDPOINTS as qf,ENTITLEMENT_PUBLIC_JWK as Zf,UPGRADE_URL as $f,FEATURE_TIER as eO,PRO_FEATURES as rO,TEAM_FEATURES as oO,FREE_LIMITS as tO,COUNTED as aO,freeCap as iO,observeSince as nO,RECHECK_INTERVAL_MS as sO,EntitlementError as SO,checkoutUrl as EO,planOf as lO,planLabel as TO,isPro as mO,isTeam as cO,can as pO,tierFor as _O,withinFreeLimit as dO,verifyEntitlement as AO,verifySignedToken as RO,licenseFromPayload as fO,needsRecheck as OO}from"./entitlement.js";import{renderMarkdown as NO,defaultLinkPolicy as uO}from"./markdown-render.js";import{parseMeetingText as gO,speakerStats as CO,densityRibbon as LO}from"./meeting-text.js";import{speakerBreakdown as xO,speakerTimeline as DO,formatTalkTime as FO,SPEAKER_SLOTS as hO}from"./meeting-shape.js";import{isSpeakerImageValue as kO,speakerLabeller as UO}from"./meeting-shape.js";import{SORT_MODES as vO,SORT_LABELS as GO,sortStamp as KO,sortRecords as BO,filterRecords as HO,dayBucket as wO,rowTime as VO,groupRecords as XO}from"./record-list.js";import{INSIGHT_KINDS as JO,summarySections as YO,insightKindOf as zO,meetingInsights as jO,hasInsights as QO}from"./meeting-insights.js";import{demd as ZO,NOTE_SECTIONS as $O,noteSectionKind as eI,MOMENT_BADGES as rI,momentBadge as oI,parseMeetingNotes as tI,groupActionsByOwner as aI}from"./meeting-insights.js";import{PREF_SECTIONS as nI,PREF_SECTION_IDS as sI,sectionValue as SI,pickSections as EI,applySections as lI,sectionHash as TI,mergeStamped as mI,changedSections as cI}from"./client-prefs.js";import{McpClient as _I,mcpProvider as dI}from"./mcp-client.js";import{mcpSharedSystem as RI,mcpInventorySystem as fI,sourceCitationSystem as OI,combineSystemPrompt as II,toolStatus as NI,widgetAuthoringSystem as uI,vaultWidgetSystem as MI,wantsVaultGuidance as gI}from"./tool-hints.js";import{adaptiveToolRetryHint as LI,createAdaptiveToolPolicy as PI,isInvalidToolParametersResult as xI}from"./adaptive-tool-policy.js";import{getMcpProviders as FI,testMcpServer as hI,resetMcp as yI,mcpBackoff as kI}from"./mcp-manager.js";import{SIDELINE_COMMANDS as bI,BRINGBACK_COMMAND as vI,THREAD_TOOL_NAME as GI,SIDELINE_SLASH_ITEMS as KI,THREAD_TOOL_SPEC as BI,parseSideline as HI,parseBringBack as wI,resolveSidelineTarget as VI,threadManifest as XI,threadToolProvider as WI,readThread as JI,briefPrompt as YI,foldBackNote as zI,foldNotes as jI,nextSidelineIndex as QI,sourceOf as qI,noteUnits as ZI,sidelinePath as $I,foldBackFor as eN,SIDELINE_TOOL_NAME as rN,SIDELINE_TOOL_SPEC as oN,sidelineToolProvider as tN}from"./sideline.js";import{WEATHER_TOOL_NAME as iN,WEATHER_TOOL_SYSTEM as nN,weatherToolProvider as sN}from"./weather-tool.js";import{renderContent as EN,toChatMessages as lN,toMultimodalMessages as TN,imageAttachmentsOf as mN,deferAttachedSources as cN,withSourceTool as pN,SOURCE_TOOL_SPEC as _N}from"./context-attachments.js";import{prefetchPlan as AN,prefetchAttachment as RN,weatherPlace as fN,weatherFollowupPlace as ON}from"./prefetch.js";import{createFetchedStore as NN,withFetchedMemo as uN,fetchKey as MN,fetchTitle as gN,fetchedAsSources as CN,fetchedFacts as LN,defaultTtl as PN,FETCHED_TTL_MS as xN}from"./fetched.js";import{presenceFor as FN,presenceDelta as hN,reachOf as yN,withPresence as kN,presenceBlock as UN,roundCount as bN,roundMinutes as vN,PRESENCE_BUDGET_TOKENS as GN,PRESENCE_KINDS as KN}from"./presence.js";import{PolicyError as HN,POLICY_VERSION as wN,POLICY_TOKEN_TYPE as VN,REDACTION_TIERS as XN,LOCKABLE as WN,FEATURES as JN,PERMISSION_MODES as YN,PRODUCT_HOSTS as zN,normalizeOrgPolicy as jN,endpointAllowed as QN,modelAllowed as qN,agentAllowed as ZN,permissionMode as $N,routeAllowed as eu,redactionTier as ru,egressAllowed as ou,settingLocked as tu,featureEnabled as au,applyPolicyToSettings as iu,policyLabel as nu,policyHash as su,verifyPolicyToken as Su,globToRegExp as Eu}from"./policy.js";export{aa as ACCESS_LOG_MAX,ta as ACCESS_LOG_VERSION,i as ACTOR_KINDS,ec as AGENT_ID_RE,Dl as AGENT_REF_RE,X_ as ALLOW_ALL,a as ALL_TYPES,Td as AMBIENT_KINDS,Qf as API_BASE,rc as APPLIES_TO,rT as ASK_TYPES,tc as ASSISTANT_ID,yA as AUTOCOMPLETE_MAX_TOKENS,hA as AUTOCOMPLETE_SYSTEM,kA as AUTOCOMPLETE_TEMPERATURE,nm as AUTONOMY,da as AdapterError,ac as AgentError,In as AnalyzerError,ff as BACKUP_KDF_ITERATIONS,lT as BOARD_TOOL_NAME,vo as BRIEF_STATES,vI as BRINGBACK_COMMAND,pl as BUDGET_DIMENSIONS,rn as BUILTIN_TRIGGERS,Hn as BUILTIN_VOICE_INTENTS,Rf as BackupError,cl as BudgetError,On as CADENCES,Sm as CHECKS,Go as CLAIM_KINDS,s as CLASSES,sf as CLOCK_TOLERANCE_MS,Af as COMPRESSIONS,WE as COMPRESSION_MODES,MS as COOLDOWN_MS,aO as COUNTED,ke as COWRITER_SYSTEM,Ue as COWRITER_TEMPERATURE,o as CURRENT_VERSION,Gf as DARK,nd as DATA_SCOPES,gn as DAYPART_HOUR,Ic as DECLINE_REASONS,TT as DEFAULT_ASK_TIMEOUT_MS,_d as DEFAULT_BLOCK_CHARS,JE as DEFAULT_COMPRESSION,im as DEFAULT_GATE,ci as DEFAULT_INTERNAL_PATTERNS,Mi as DEFAULT_LOCK_MS,jS as DEFAULT_MAX_FINISH_TRIES,pd as DEFAULT_MAX_MEMORIES,zS as DEFAULT_MAX_ROUNDS,Jc as DEFAULT_MIN_CALLS,EE as DEFAULT_SHIELD,lE as DEFAULT_STORE,fo as DEFAULT_THRESHOLD,un as DEFAULT_WAKE,IE as DESCRIBE_ACTION,S as EFFECTS,E as EGRESS,oc as EGRESS_CLASSES,df as ENCRYPTED_TYPE,qf as ENDPOINTS,hr as ENGINE_KINDS,Xm as ENGINE_SPEC_KINDS,Os as ENTITIES_SCHEMA,Zf as ENTITLEMENT_PUBLIC_JWK,fs as ENTITY_TYPES,Pa as ENTRY_KINDS,t as EVENT_TYPES,Nm as EXECUTIVE,ZS as EXHAUSTED_NOTE,SO as EntitlementError,l as EventError,qa as FAILOVER_CAPABILITY_GAP,Qa as FAILOVER_CLASS_GAP,DS as FAILOVER_MAX_ATTEMPTS,JN as FEATURES,eO as FEATURE_TIER,xN as FETCHED_TTL_MS,ks as FIELD_TYPES,jl as FINDINGS_SCHEMA,Ql as FINDING_KINDS,AE as FIND_ACTION,FE as FIND_DESCRIPTION,hE as FIND_RESIDENT,DE as FIND_TOOL_NAME,QS as FINISH_NUDGES,tO as FREE_LIMITS,bA as GEARS,gA as GOAL_MIN_NEW,Ll as GRANTABLE,N_ as GRANT_INFO,xl as GRANT_RE,sm as HUMAN_FLAGS,OS as INPUT_PROGRESS_TOOLS,JO as INSIGHT_KINDS,uA as INSTRUCTION_RE,pi as INTERNAL_PATTERN_CATALOG,Or as INVARIANTS,Ji as JOB_ACTIONS,$T as JOB_POST_ID_RE,ZT as JOB_POST_STATUSES,qT as JobPostError,ui as KDF_HASH,Ni as KDF_ITERATIONS,w_ as KernelError,Oc as LEDGER_ENTRY_KINDS,fc as LEDGER_VERSION,vf as LIGHT,IT as LIVE_RUN_STATUSES,WN as LOCKABLE,qS as LOOPING_NUDGE,va as LOOP_KINDS,YR as LibraryError,Ga as LoopError,wo as MAX_BRIEF_CHARS,Ho as MAX_BRIEF_RECORDS,Ko as MAX_CLAIMS,Bo as MAX_CLAIM_REFS,Mn as MAX_COMMANDS_PER_DELTA,zp as MAX_DEPTH,xi as MAX_ENTRIES,it as MAX_EXCERPTS,nt as MAX_EXCERPT_CHARS,ue as MAX_GRAPH_NODES,um as MAX_JOBS_PER_ROUND,ad as MAX_MATCHES,md as MAX_MEMORY_CHARS,Li as MAX_NOTE_CHARS,Mm as MAX_ROUNDS,Pi as MAX_SECRET_CHARS,Oo as MAX_SUBJECTS,Io as MAX_SUBJECT_CHARS,Yp as MAX_SUBTASKS,Cs as MAX_SUGGESTIONS,Ls as MAX_SUGGESTION_CHARS,at as MAX_SYNTHESIS_CLAIMS,mR as MAX_TAGS,TR as MAX_TAG_LENGTH,Ci as MAX_TITLE_CHARS,JR as MAX_TITLE_LEN,FR as MAX_TITLE_LENGTH,Es as MAX_TOPICS,ls as MAX_TOPIC_CHARS,k_ as MCP_TOOL_NAME,Ed as MEMORY_KINDS,ld as MEMORY_KIND_NAMES,Ad as MEMORY_TOOL_SPEC,Rd as MEMORY_UPCASTERS,Sd as MEMORY_VERSION,gl as MERGE_POLICIES,xc as MIN_FIT,cd as MIN_MEMORY_CHARS,jp as MIN_TAKEUP_FIT,Yi as MISSED_POLICIES,rI as MOMENT_BADGES,v_ as ManifestError,_I as McpClient,fd as MemoryError,Ft as NEAR_TITLE_DISTANCE,b as NOTE_ACTIONS,K as NOTE_ACTION_ERRORS,v as NOTE_ACTION_ORDER,G as NOTE_ACTION_TEMPERATURE,B as NOTE_COMMANDS,w as NOTE_COMMAND_MAX_TOKENS,H as NOTE_COMMAND_TEMPERATURE,$O as NOTE_SECTIONS,fS as OBSERVATION_TOOLS,xf as OMNI_GRAMMAR,Pf as OMNI_MODES,Kf as PALETTES,SS as PARALLEL_LOCAL_RE,kt as PDF_MAX_CHARS,YN as PERMISSION_MODES,jf as PLANS,Je as PLAN_AUTHORS,ze as PLAN_DECOMPOSE_MAX_TOKENS,Ye as PLAN_DECOMPOSE_SYSTEM,je as PLAN_DECOMPOSE_TEMPERATURE,Cl as PLAN_MODES,We as PLAN_ROLES,Qe as PLAN_SECTION_MAX_TOKENS,qe as PLAN_SECTION_TEMPERATURE,VN as POLICY_TOKEN_TYPE,wN as POLICY_VERSION,$l as POST_KINDS,eT as POST_STATUSES,nI as PREF_SECTIONS,sI as PREF_SECTION_IDS,GN as PRESENCE_BUDGET_TOKENS,KN as PRESENCE_KINDS,zN as PRODUCT_HOSTS,BT as PROJECT_ID_RE,fm as PROJECT_JOBS_SCHEMA,Om as PROJECT_REVIEW_SCHEMA,gm as PROJECT_RUN_STATUSES,KT as PROJECT_STATUSES,St as PROPOSAL_STATES,rO as PRO_FEATURES,HN as PolicyError,GT as ProjectError,Im as ProjectRunError,ir as REACH,sO as RECHECK_INTERVAL_MS,ol as RECIPE_MODES,sl as RECIPE_TOOL_NAME,wm as RECORD_ENGINE_KINDS,WR as RECORD_KINDS,Pc as RECRUIT_SCHEMA,XN as REDACTION_TIERS,Do as REDACTION_TOKEN_TYPES,Yn as REFINEMENT_SCHEMA,_ as REF_KINDS,Lr as REGISTRY_STATES,V_ as REQUIRED_PLUGINS,d as RESOLUTION,Us as RESPONSE_MODES,_e as RESULTS_PER_ENGINE,SE as RESULT_TOOL_NAME,NT as RESUMABLE_RUN_STATUSES,Ia as RETRIEVAL_TOOLS,Bm as ROLE_KINDS,Ml as ROLE_MODES,g_ as ROSTER_KINDS,$S as ROUND_SEPARATOR,Wm as ROUTE_PREFERS,up as RUN_STATUSES,rl as RecipeError,$a as RouterError,fi as RuleError,dd as SAME_FACT,Xi as SCHEDULE_KINDS,Qc as SCM_KINDS,n as SCOPE_KINDS,Km as SCORECARD_ENTRY_KINDS,Hm as SCORECARD_VERSION,pe as SEARCH_ENGINES,ho as SELF_LABELS,Bf as SHAPE,bI as SIDELINE_COMMANDS,KI as SIDELINE_SLASH_ITEMS,rN as SIDELINE_TOOL_NAME,oN as SIDELINE_TOOL_SPEC,wd as SKILL_CONTEXTS,Jd as SKILL_FILE_KINDS,Vd as SKILL_HISTORY_SCOPES,Hd as SKILL_MANIFEST_VERSION,Xd as SKILL_MCP_MODES,Wd as SKILL_TRUST,Yd as SKILL_UPCASTERS,EA as SKILL_VARS,lA as SKILL_VAR_NAMES,wA as SLASH_TYPING_RE,u_ as SOLO_BUDGET,GO as SORT_LABELS,vO as SORT_MODES,G_ as SOURCES,_N as SOURCE_TOOL_SPEC,bd as SOURCE_TRUST,ht as SPAN_MIN_TERMS,hO as SPEAKER_SLOTS,LT as STALLED_AFTER_MS,cc as STARTER_AGENTS,Fl as STARTER_TEAMS,_p as STEP_MAX_CHARS,Ro as SUBJECT_KINDS,Ps as SUGGESTIONS_SCHEMA,Et as SUPERSEDE_OVERLAP,Ri as SUPPRESSED,se as SWARM_ROLES,rt as SYNTHESIS_SCHEMA,zi as ScheduleError,yr as SearchEngineError,zd as SkillManifestError,vd as SkillSourceError,fA as SkillVarError,bs as StructuredError,Sf as SyncError,dp as TASK_TRANSCRIPT_MAX_CHARS,oO as TEAM_FEATURES,Dp as TEAM_MANUAL,wl as TEAM_PLAN_SCHEMA,M_ as TEAM_SHAPES,xp as TEAM_TOOL_NAME,bf as THEMES,ql as THREAD_KINDS,Zl as THREAD_STATUSES,GI as THREAD_TOOL_NAME,BI as THREAD_TOOL_SPEC,hR as TITLE_RULES_VERSION,Hf as TOKEN_NAMES,wf as TOKEN_ROLES,Ts as TOPICS_SCHEMA,Vt as TRANSCRIPT_MAX_CHARS,Wi as TRIGGER_KINDS,ul as TeamError,Np as TeamRunError,Yr as ToolGroupError,gS as UNAVAILABLE_REASONS,DR as UNTITLED_MEETING,Er as UPCASTERS,$f as UPGRADE_URL,ss as UTTERANCE_DANGLING_MS,ns as UTTERANCE_SETTLE_MS,Ii as VAULT_VERSION,gi as VaultError,Cn as VoiceIntentError,Hr as WEATHER_HOST,wr as WEATHER_TIMEOUT_MS,iN as WEATHER_TOOL_NAME,nN as WEATHER_TOOL_SYSTEM,vE as WEB_SEARCH_SPEC,UE as WEB_SEARCH_TOOL_NAME,bE as WEB_SEARCH_TOOL_SYSTEM,To as WIDGET_SURFACES,Nc as WITHDRAW_AFTER,bp as WORKLOG_KINDS,Pl as WORK_GRANTS,vA as WRITER_PREFS,GA as WRITER_PREF_DEFAULTS,Vr as WeatherError,wt as YOUTUBE_HOSTS,Tt as accept,NE as actionMenu,LI as adaptiveToolRetryHint,dR as addTag,XS as addUsage,Um as adjustSummary,pf as advanceBases,ZN as agentAllowed,l_ as agentColor,dc as agentFromForm,E_ as agentHue,T_ as agentInitials,S_ as agentKind,q as agentMentionAt,Co as aliasMap,YS as anthropicTranscript,JT as applyAll,zc as applyCard,ye as applyEdits,iu as applyPolicyToSettings,lI as applySections,Te as appoint,Kr as areaLabel,Sc as assistantAgent,Fr as attemptOrder,Fm as attest,rS as bareToolName,Cf as bestCodec,_c as blankAgent,ip as blankConnection,jT as blankJobPost,yT as blankProject,yl as blankTeam,RS as blockedToolResult,Jl as boardText,nT as boardToolProvider,sT as boardToolSpec,rp as branchFor,Hl as breakCycles,Xo as briefId,Yo as briefLinks,YI as briefPrompt,Jo as briefTerms,Wo as briefToText,uE as buildGroupDispatchSpec,Me as buildNoteGraph,Bt as buildPdfDocument,de as buildSearchUrl,fE as buildToolset,ua as buildTrajectory,ea as buildTranscriptDocument,A_ as builtinOrg,pO as can,Bi as canAddEntry,WT as canJobPostTransition,hT as canProjectTransition,oS as canRunConcurrently,_r as canSatisfy,Cd as candidatesFrom,Lm as canonical,Jt as captionTracksFromPlayerResponse,c_ as cardNumbers,Yc as cardOverride,wc as carveBudget,u as causesAreWellFormed,cI as changedSections,fr as checkInvariants,zo as checkKnowledgeInvariants,EO as checkoutUrl,fT as checkpointFrom,tt as claimsFromSynthesis,NS as classifyFailure,Ee as classifyModel,si as classifySource,yR as cleanTitle,UA as clipCompletion,Tp as clipMessage,_n as clipText,lp as clipTranscript,Js as coerce,Ms as coerceEntities,II as combineSystemPrompt,Y as commandLineAt,ts as commandLooksFinished,Dn as commandsFromSegments,nE as compactValue,N as compareEvents,q_ as compileQuery,Ln as compileWake,HE as compressToolSpec,wE as compressToolSpecs,VE as compressionStats,ep as connectionFor,np as connectionFromForm,gd as containment,Vo as contentHash,cp as continuationNote,oR as continueList,pt as converge,sa as createAccessLog,_a as createAdapterRegistry,PI as createAdaptiveToolPolicy,fn as createAnalyzerRegistry,ST as createAnswerBox,c as createAppender,Mr as createBlobStore,Xl as createBoard,El as createBudget,KS as createCallRunner,Oa as createCitationCollector,pp as createControl,NN as createFetchedStore,B_ as createKernel,ur as createLogStore,b_ as createManifest,Nr as createMemoryAdapter,uS as createModelHealth,Va as createModelRouter,Cr as createRegistry,rE as createResultStore,Ai as createRuleEngine,cT as createRunCache,Kd as createSkillSourceRegistry,LA as createSpendMeter,zs as createStructuredStream,Jr as createToolGroupRegistry,cS as createToolLoopGuard,en as createTriggerRegistry,Ua as createTurnRunner,is as createUtteranceGate,Di as createVault,Kn as createVoiceIntentRegistry,tp as credentialEnv,Xf as cssVarName,wO as dayBucket,lf as decide,Gc as decideRecruit,eA as declaredAccess,If as decryptBackup,uO as defaultLinkPolicy,y as defaultModelId,PN as defaultTtl,Bn as defaultVoiceIntents,cN as deferAttachedSources,pa as defineAdapter,sc as defineAgent,Tn as defineJob,XT as defineJobPost,ba as defineLoop,Rn as defineMeetingAnalyzer,Ha as defineMiddleware,Ba as defineModel,FT as defineProject,wa as defineRouteStrategy,di as defineRule,vs as defineSchema,xr as defineSearchEngine,Gd as defineSkillSource,dl as defineTeam,Wr as defineToolGroup,$i as defineTrigger,Gn as defineVoiceIntent,ZO as demd,LO as densityRibbon,L as dequeue,qo as deriveBrief,Zo as deriveBriefs,hi as deriveKey,KR as deriveMeetingTitle,of as deriveTitle,lc as describeAgent,Up as describeCall,ap as describeConnection,qm as describeEngine,nl as describeRecipeForApproval,Nl as describeRole,Gs as describeSchema,iE as describeShape,MT as describeSpend,Pp as describeTeamForApproval,i_ as describeTeamShape,wS as describeToolCall,ct as diffProposal,La as displayName,SR as docStats,xA as draftSeparator,$o as driftedRefs,ZE as dryRunRecipe,Op as dryRunTeam,mn as dueJobs,Mt as duplicateTitles,Po as earnsBrief,vn as editDistance,he as editKey,tm as effectiveGate,Eo as effectiveGrants,nS as effectiveToolName,ge as egoGraph,ou as egressAllowed,oT as emptyBoardState,UT as emptyProjectRecord,dT as emptyRun,VA as enabledSkills,Of as encryptBackup,QN as endpointAllowed,vm as engineKey,Qm as engineKeyOf,Ec as engineOf,Ie as engineOrder,jm as engineRef,Dc as engineRow,Fc as engineRows,F_ as engineStrip,kc as engineWorth,Ns as entitiesFormat,Is as entitiesPrompt,gs as entitiesStream,bi as entryMeta,qr as equipmentFor,PE as estimateTokens,bc as evaluatorPrompt,jE as expandRecipe,ed as expandReplacement,AA as expandSkillPrompt,Qs as explainMcpError,Xp as extendDependents,Ff as extractFilters,Si as extractUrls,xS as failoverExhausted,za as failoverOrder,au as featureEnabled,MN as fetchKey,gN as fetchTitle,CN as fetchedAsSources,LN as fetchedFacts,gR as filterByTags,Ca as filterEntries,J as filterNoteActions,HO as filterRecords,h as filterSections,Fe as filterTypoEdits,pE as findActionArgs,yE as findDispatchProvider,ws as findJson,Z_ as findMatches,ee as findSkillByName,re as findTargetByName,mE as findTools,cE as findToolsResult,Pn as findWakeCommand,Yl as findingsInstruction,aT as findingsOf,km as fit,vl as fixedPlan,eN as foldBackFor,zI as foldBackNote,tT as foldBoard,jI as foldNotes,bT as foldProject,AT as foldRun,cf as forkConflict,Ea as formatBytes,Y_ as formatReport,Dt as formatSurvey,OR as formatTag,uR as formatTagQuery,FO as formatTalkTime,Zt as formatTimestamp,$t as formatTranscript,Gr as formatWeather,V as frameNoteAction,iO as freeCap,wi as fromB64,co as fuseRRF,am as gateAllows,FI as getMcpProviders,Ur as getWeather,os as gistOpening,rs as gistText,Eu as globToRegExp,CA as goalDraftAllowed,Ol as grantAllows,f_ as grantChoices,O_ as grantsFromChoices,Qr as grantsNeededFor,Le as graphStats,DA as groundingBlock,aI as groupActionsByOwner,F as groupModels,XO as groupRecords,qt as groupSegments,QO as hasInsights,_R as hasTag,NR as hasTagTerms,wp as holdsGrants,Ei as hostMatches,uf as identityCodec,mN as imageAttachmentsOf,tR as indentSelection,zO as insightKindOf,MA as instructionOnLine,kf as isActionable,Br as isAmbiguousLocation,HR as isBetterTitleSource,R_ as isBuiltin,tS as isCacheable,Nf as isEncryptedBackup,es as isFillerSentence,kR as isGenericTitle,xI as isInvalidToolParametersResult,Gi as isLocked,AS as isLoopableTool,Ip as isModelUnavailable,Ws as isNothing,mO as isPro,C as isQueued,QR as isRecordId,Fo as isRedactionToken,R as isRef,Re as isResultHost,OT as isResumable,jd as isSafeSkillPath,yo as isSelfLabel,mf as isSettled,US as isSourceGateError,kO as isSpeakerImageValue,Zs as isStaleMcpSession,go as isSubjectCandidate,cO as isTeam,m as isValidEvent,Id as isValidMemory,ZR as isValidStoredRecord,Wt as isYouTubeUrl,Uc as jobApplications,Vp as jobFromSubtask,QT as jobPostFromForm,cm as jobResults,YT as jobToRole,cn as jobsForEvent,Am as jobsPrompt,ga as lanesOf,eo as layoutFlowchart,uc as ledgerKey,fO as licenseFromPayload,IA as lineAt,I as linearize,Ut as linesFromItems,_t as linkClaims,Ra as linkifyCitations,pA as lintSkillPrompt,xe as lintText,Ki as lockedSummary,Kt as looksScanned,na as makeAccessEvent,LE as makeDispatchProvider,xm as makeEntry,gE as makeGroupDispatchExecutor,gc as makeLedgerEntry,jR as makeRecordId,A as makeRef,ri as makeSourceStore,Sa as makeStorageTier,oi as manifestText,qE as mapInput,Fd as markUsed,Pd as matchForForget,$_ as matchIndexFor,JA as matchSlashRecipe,WA as matchSlashSkill,zA as matchSlashTeam,dn as matchSummary,MR as matchesTagFilter,kI as mcpBackoff,y_ as mcpDispatchProvider,fI as mcpInventorySystem,dI as mcpProvider,RI as mcpSharedSystem,H_ as meetDecisions,li as meetReach,an as meetingEndedTrigger,jO as meetingInsights,tn as meetingStartedTrigger,wR as meetingTitlePrompt,Dd as memoryBlock,Nd as memoryKey,yd as memoryToolSystem,oe as mentionAnswerPrefix,Ct as mentionsFrom,Oe as mergeEngineResults,Ve as mergeResearchLanes,$ as mergeSkillPrompt,mI as mergeStamped,Ep as mergeTranscript,Sp as messagesFor,o_ as missingStarters,qN as modelAllowed,k as modelSummary,oI as momentBadge,Jn as monitorIntent,P as moveQueued,_o as multiSearch,hc as needForJob,$d as needsBridge,aS as needsConfirmation,OO as needsRecheck,mp as newSteps,Qi as nextFireAt,QI as nextSidelineIndex,Zi as nextWakeAt,gf as nodeCodec,CS as normModelName,nc as normalizeAgent,Tl as normalizeBudget,Mc as normalizeCall,Zc as normalizeConnection,bm as normalizeEngine,Ym as normalizeEngineSpec,om as normalizeGate,fl as normalizeGrants,BA as normalizeIntent,VT as normalizeJobPost,Od as normalizeMemory,jN as normalizeOrgPolicy,Jm as normalizePolicy,DT as normalizeProject,At as normalizeRecord,Rt as normalizeRecords,Gp as normalizeRequest,Gm as normalizeScm,sA as normalizeSkill,Un as normalizeSpeech,qR as normalizeStoredRecord,No as normalizeSubject,cR as normalizeTag,pR as normalizeTags,Rl as normalizeTeam,ds as normalizeTopic,As as normalizeTopics,WS as normalizeUsage,KA as normalizeWriterPrefs,W as noteActionItems,X as noteActionLabel,Wn as noteIntent,eI as noteSectionKind,ZI as noteUnits,L_ as observeInbox,nO as observeSince,P_ as observeStrip,pn as occurrenceKey,qi as occurrencesBetween,_E as oneLiner,JS as openAiTranscript,ki as openEntry,bt as orderLines,rA as originLabel,Qd as originOf,ut as orphanRecords,eR as outlineOf,dE as overlapRank,qs as packageFromArgs,Gt as pageTextFromItems,Vf as paletteFor,vt as paragraphsFromLines,sS as parallelEligible,Q as parseAgentMention,jo as parseBriefText,wI as parseBringBack,hn as parseClock,xn as parseCommand,Fn as parseDuration,us as parseEntities,vc as parseEvaluation,Wl as parseFindings,$r as parseFlowchart,_m as parseJobs,z_ as parseJsonl,rR as parseListItem,tI as parseMeetingNotes,gO as parseMeetingText,kn as parseNumberWords,Df as parseOmni,Gl as parsePlan,$e as parsePlanTasks,zR as parseRecordId,Qn as parseRefinement,$c as parseRemote,dm as parseReview,HI as parseSideline,Z as parseSkillMention,cA as parseSkillVars,Ys as parseStructured,Fs as parseSuggestions,IR as parseTagQuery,Qt as parseTimedText,VR as parseTitleResponse,_s as parseTopics,vr as parseWeather,yn as parseWhen,Xt as parseYouTubeUrl,g as pendingQueue,$N as permissionMode,nn as personJoinedTrigger,Ma as phasesOf,sn as phraseTrigger,zt as pickCaptionTrack,fe as pickResults,EI as pickSections,ja as pinnedOrderOf,tr as planAttribution,or as planBody,TO as planLabel,lO as planOf,rr as planParts,po as planQueries,Ze as planSectionSystem,Tf as planSync,er as planTitleFor,lS as planToolRound,Kl as plannerPrompt,su as policyHash,nu as policyLabel,Ac as poolFor,Ya as preferenceFor,RN as prefetchAttachment,AN as prefetchPlan,UN as presenceBlock,hN as presenceDelta,FN as presenceFor,CT as priorWorkFor,ma as projectChain,kT as projectFromForm,vT as projectProgress,x as promoteQueued,e_ as promoteRoles,Fa as promptEntries,Bc as proposalFromNeeds,Hc as proposalToAgent,lt as propose,hd as pruneMemories,En as questionTrigger,ie as rankLinkTargets,we as rankResearchCards,xo as rankSubjects,yN as reachOf,nr as reachRank,sr as reachSatisfies,ai as readSource,JI as readThread,zT as readyJobs,xd as recall,YA as recipeInvocationText,QE as recipeParams,al as recipeToolProvider,il as recipeToolSpec,Ld as reconcile,Dr as reconcileEngines,Vc as recruitEvents,Kc as recruitForRun,Xc as recruitJob,ia as redactAccessArgs,Ot as redactedTokensIn,It as redactionCost,ru as redactionTier,$n as refineSpokenCommand,jn as refinementFormat,zn as refinementPrompt,qn as refinementStream,mt as reject,Vn as reminderIntent,AR as removeTag,EN as renderContent,ro as renderFlowchartSvg,NO as renderMarkdown,Xs as repairJson,od as replaceAll,td as replaceAllInRange,rd as replaceMatch,J_ as replay,Wa as requirementsFor,Ja as requirementsForStep,Ke as researchRelevance,He as researchSnippet,yI as resetMcp,f as resolveRef,VI as resolveSidelineTarget,hf as resolveSince,Lo as resolveSubjects,mc as resolveTeam,Yf as resolveTheme,Bs as responseFormat,sE as resultToolSpec,fp as resumeTeam,Rm as reviewPrompt,Vs as rewriteJson,Se as roleById,m_ as roleCardId,s_ as rosterRows,pm as roundBudget,BS as roundCap,bN as roundCount,Tm as roundJobs,vN as roundMinutes,pS as roundSignature,eu as routeAllowed,yc as routeFor,Ta as routeGraph,me as routeTeam,VO as rowTime,RT as runFromEvents,x_ as runLanes,$E as runPlan,lm as runProject,el as runRecipe,tE as runResultQuery,gT as runState,Rp as runTeam,TS as runToolRound,GS as runTurnLoop,PS as runWithFailover,ve as salientTerms,Za as sameModelKey,oA as sameSkillOrigin,fR as sameTags,as as sameUtterance,Xn as scheduleIntent,Il as scmAllows,yi as sealEntry,vi as searchEntries,GE as searchResultsToText,ef as searchTextFor,TI as sectionHash,SI as sectionValue,ER as selectionStats,tu as settingLocked,Zn as settleRefinement,Pm as sha256,oE as shieldToolResult,ti as shortUrl,BR as shouldAutoTitle,$I as sidelinePath,tN as sidelineToolProvider,Xa as signalsFrom,Md as similarity,I_ as skillChoices,Zd as skillFiles,ZA as skillInvocationLabel,qA as skillInvocationOf,tA as skillIsStale,TA as skillVar,RA as skillVarGuidance,mA as skillVarPattern,QA as slashCommandInsert,XA as slashCommandItems,ud as slotOf,Tc as slugAgentId,Ul as slugTeamName,tf as snippetOf,__ as soloTeam,BO as sortRecords,KO as sortStamp,OI as sourceCitationSystem,kS as sourceGate,yS as sourceGuardFor,ii as sourceId,qI as sourceOf,Ti as sourcePolicyFor,hS as sourcePolicySettings,mi as sourceUrlsOf,fa as sourcesFromToolText,Lt as spanningQuestions,xO as speakerBreakdown,UO as speakerLabeller,CO as speakerStats,DO as speakerTimeline,uT as spendOf,D_ as spendRows,_S as stableToolCallKey,Ef as stampOf,pc as starterAgents,r_ as starterTeam,hl as starterTeams,VS as stepResultText,Mf as streamCodec,ko as stripQualifiers,uo as subjectKey,Mo as subjectTokens,dA as substituteSkillVars,Kp as subtaskFromRequest,LR as suggestExistingTags,Uo as suggestMerges,_A as suggestSkillVar,Ds as suggestionsFormat,xs as suggestionsPrompt,hs as suggestionsStream,ym as summarize,Cc as summarizeEngine,YO as summarySections,le as supportsSubagents,Pt as surveyCorpus,ot as synthesisPrompt,CR as tagFacets,PR as tagsSearchText,Bp as takeUp,Hp as takeUpLine,Wp as taskTree,mm as teamForRound,kl as teamFromForm,t_ as teamHealth,jA as teamInvocationText,Zp as teamLanes,qp as teamLine,a_ as teamShape,gp as teamToolProvider,Cp as teamToolSpec,Lp as teamToolTimeoutMs,d_ as teamsWithSolos,hI as testMcpServer,Jf as themeStylesheet,XI as threadManifest,Jp as threadRows,Da as threadTitle,WI as threadToolProvider,ya as threadTree,xa as threadsOf,xt as thresholdSweep,_O as tierFor,Zm as tierOf,jt as timedTextUrl,wn as timerIntent,on as timerTrigger,GR as titleFromDate,vR as titleFromParticipants,UR as titleFromSummary,bR as titleFromTopics,Hi as toB64,zl as toBriefClaims,lN as toChatMessages,Wf as toCssVars,rf as toIndexEntry,Ks as toJsonSchema,j_ as toJsonl,dr as toModelSchema,Ar as toModelSchemas,TN as toMultimodalMessages,$R as toSearchRecord,iR as toggleLinePrefix,sR as toggleLink,RR as toggleTag,nR as toggleTask,aR as toggleWrap,bn as tokenize,dS as toolMadeProgress,jr as toolNeedFor,NI as toolStatus,eS as toolTraits,Ge as topicTerms,Sn as topicTrigger,ps as topicsFormat,cs as topicsPrompt,ms as topicsSchema,Rs as topicsStream,iS as traitsIndex,ra as transcriptFromTracks,z as triggerQueryAt,XE as trimDescription,Ce as trimGraph,qd as trustOf,ha as turnsOf,Hs as unfence,Fi as unlockVault,Ae as unwrapRedirect,lr as upcast,Tr as upcastAll,kd as upcastMemory,iA as upcastSkill,nA as upcastSkills,p_ as upsertAgents,ml as usageOf,ME as validateAction,ic as validateAgent,ll as validateBudget,cr as validateCapability,qc as validateConnection,zm as validateEngineSpec,Ui as validateEntry,T as validateEvent,rm as validateGate,pr as validateInvocation,wT as validateJobPost,xT as validateProject,zE as validateRecipe,ji as validateSchedule,aA as validateSkill,Al as validateTeam,to as validateView,ao as validateViewInvocation,so as validateWidget,So as validateWidgetMessage,MI as vaultWidgetSystem,hm as verifyAttested,Dm as verifyChain,AO as verifyEntitlement,Su as verifyPolicyToken,RO as verifySignedToken,Yt as videoMetaFromPlayerResponse,io as viewResult,gt as vocabularyDrift,ln as voiceCommandTrigger,Nt as wantedPages,yf as wantsModel,gI as wantsVaultGuidance,Bl as waves,ON as weatherFollowupPlace,fN as weatherPlace,sN as weatherToolProvider,br as weatherUrl,Be as webQuery,KE as webSearchToolProvider,n_ as whereItWorks,uI as widgetAuthoringSystem,lo as widgetIcon,ae as wikiQueryAt,ft as wikilinksIn,ET as withBoardTool,uN as withFetchedMemo,CE as withGuidance,kN as withPresence,aE as withResultShield,pT as withRunCache,pN as withSourceTool,HS as withToolSystem,dO as withinFreeLimit,bS as withinReach,af as wordCount,De as wordDiff,kp as workLogEvidence,hp as workLogFor,yp as workLogText,op as worktreeDirFor,NA as writerAffordance,FA as writerRequest,PA as writerTail};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chatpanel/events",
3
- "version": "0.111.0",
3
+ "version": "0.112.0",
4
4
  "description": "The canonical ChatPanel event-log and capability contracts — typed durable facts, clock-free deterministic linearization, schema upcasting, and the invariants the replay harness asserts. Pure, dependency-free ESM shared by the ChatPanel extension, gateway and bridge.",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -145,7 +145,8 @@
145
145
  "./widget.js": "./widget.js",
146
146
  "./policy.js": "./policy.js",
147
147
  "./presence.js": "./presence.js",
148
- "./prefetch.js": "./prefetch.js"
148
+ "./prefetch.js": "./prefetch.js",
149
+ "./fetched.js": "./fetched.js"
149
150
  },
150
151
  "files": [
151
152
  "LICENSE",
@@ -212,6 +213,7 @@
212
213
  "policy.js",
213
214
  "presence.js",
214
215
  "prefetch.js",
216
+ "fetched.js",
215
217
  "promotion.js",
216
218
  "queue.js",
217
219
  "reach.js",
package/prefetch.js CHANGED
@@ -1,3 +1,3 @@
1
- const w=/(\bhow(?:'s| is| was|s) (?:the )?(?:weather|forecast|temperature)\b|\bwhat(?:'s| is|s) (?:the )?(?:weather|forecast|temperature)\b|\b(?:weather|forecast|temperature) (?:in|for|at|around|near)\b|\bis it (?:raining|snowing|hot|cold|warm|sunny|cloudy|windy)\b|\b(?:will|does) it (?:rain|snow)\b|\bhow (?:hot|cold|warm|humid|windy) is it\b|^\s*(?:weather|forecast)\b|\b(?:weather|forecast)\s*\??\s*$)/i,u=/\b(right now|now|today|tonight|this (?:morning|afternoon|evening|weekend|week)|tomorrow|currently|at the moment|these days|later)\b/gi,f=new Set(["here","there","home","outside","my location","my area","my city","where i am","it","that"]),p=8;function o(n){return String(n||"").replace(u," ").replace(/[?!.,;:]+$/g,"").replace(/^\s*(the|in|at|for|around|near|of)\s+/i,"").replace(/\s+/g," ").trim()}const d=/\b(how|what|what's|whats|is|are|was|will|do|does|can|should|why|when|the|a|an|tell|me|there|here|it|like|about)\b/i;function i(n){const e=n.toLowerCase();return e.length>=2&&e.length<=60&&!f.has(e)&&!d.test(e)&&!/^(weather|forecast|temperature)$/.test(e)&&/[\p{L}]/u.test(e)&&e.split(/\s+/).length<=5}function b(n){const e=String(n||"").trim();if(!w.test(e))return"";let t=/\b(?:in|at|for|around|near)\s+([^?!.;]+?)(?:\s+(?:right now|now|today|tonight|tomorrow|currently|this \w+))*\s*[?!.]*$/i.exec(e);return t&&i(o(t[1]))||(t=/^(?:what(?:'s| is) the\s+)?([\p{L}][\p{L}\s,.'-]{1,60}?)\s+(?:weather|forecast|temperature)\b/iu.exec(e),t&&i(o(t[1])))||(t=/\b(?:weather|forecast|temperature)\s*[:\-]?\s+([\p{L}][\p{L}\s,.'-]{1,60}?)\s*[?!.]*$/iu.exec(e),t&&i(o(t[1])))?o(t[1]):""}const m=/\b(summari[sz]e|explain|try|again|retry|do|make|write|show|tell|open|read|find|search|help|stop|continue|go|list|give|send|run|check|fix|thanks|thank|yes|no|please|this|that|my|page|note|file|meeting|chat)\b/i,c=/^(?:(?:and|also|ok|okay|now|then|so)[\s,]*)*(?:what about|how about|how(?:'s| is|s) it(?: like)?|what(?:'s| is|s) it(?: like)?|how(?:'s| is|s)|what(?:'s| is|s))\b[\s,]*/i;function g(n,e){if(!e||e.kind!=="weather")return"";let t=String(n||"").trim().replace(/[?!.]+$/,"").trim();if(!t||t.split(/\s+/).length>p)return"";const a=c.test(t)||/^(?:and|also|ok|okay|now|then|so)[\s,]+(?:in|at|for|around|near)\s+/i.test(t)||/^(?:in|at|for|around|near)\s+/i.test(t);t=t.replace(c,"").replace(/^(?:(?:and|also|ok|okay|now|then|so)[\s,]*)*/i,"").replace(/^(?:like\s+)?(?:in|at|for|around|near)\s+/i,"").trim();const r=o(t);return!r||!a&&r.split(/\s+/).length>2||!i(r)||m.test(r)?"":r}function y({text:n="",previous:e=null,reach:t=new Set}={}){const a=t instanceof Set?t:new Set(Array.isArray(t)?t:[]),r=[],h=a.has("find:weather"),l=a.has("weather");if(h||l){const s=b(n)||g(n,e);s&&r.push({kind:"weather",tool:h?"find":"weather",input:h?{action:"weather",args:{location:s}}:{location:s},label:`Weather — ${s}`})}return r}function k(n,e,{now:t=Date.now()}={}){const a=`(Fetched before this turn with ${n.tool}, for this question. Answer from it; do not call ${n.tool} again for the same place.)
1
+ const w=/(\bhow(?:'s| is| was|s) (?:the )?(?:weather|forecast|temperature)\b|\bwhat(?:'s| is|s) (?:the )?(?:weather|forecast|temperature)\b|\b(?:weather|forecast|temperature) (?:in|for|at|around|near)\b|\bis it (?:raining|snowing|hot|cold|warm|sunny|cloudy|windy)\b|\b(?:will|does) it (?:rain|snow)\b|\bhow (?:hot|cold|warm|humid|windy) is it\b|^\s*(?:weather|forecast)\b|\b(?:weather|forecast)\s*\??\s*$)/i,u=/\b(right now|now|today|tonight|this (?:morning|afternoon|evening|weekend|week)|tomorrow|currently|at the moment|these days|later)\b/gi,f=new Set(["here","there","home","outside","my location","my area","my city","where i am","it","that"]),p=8;function o(n){return String(n||"").replace(u," ").replace(/[?!.,;:]+$/g,"").replace(/^\s*(the|in|at|for|around|near|of)\s+/i,"").replace(/\s+/g," ").trim()}const d=/\b(how|what|what's|whats|is|are|was|will|do|does|can|should|why|when|the|a|an|tell|me|there|here|it|like|about)\b/i;function i(n){const t=n.toLowerCase();return t.length>=2&&t.length<=60&&!f.has(t)&&!d.test(t)&&!/^(weather|forecast|temperature)$/.test(t)&&/[\p{L}]/u.test(t)&&t.split(/\s+/).length<=5}function b(n){const t=String(n||"").trim();if(!w.test(t))return"";let e=/\b(?:in|at|for|around|near)\s+([^?!.;]+?)(?:\s+(?:right now|now|today|tonight|tomorrow|currently|this \w+))*\s*[?!.]*$/i.exec(t);return e&&i(o(e[1]))||(e=/^(?:what(?:'s| is) the\s+)?([\p{L}][\p{L}\s,.'-]{1,60}?)\s+(?:weather|forecast|temperature)\b/iu.exec(t),e&&i(o(e[1])))||(e=/\b(?:weather|forecast|temperature)\s*[:\-]?\s+([\p{L}][\p{L}\s,.'-]{1,60}?)\s*[?!.]*$/iu.exec(t),e&&i(o(e[1])))?o(e[1]):""}const m=/\b(summari[sz]e|explain|try|again|retry|do|make|write|show|tell|open|read|find|search|help|stop|continue|go|list|give|send|run|check|fix|thanks|thank|yes|no|please|this|that|my|page|note|file|meeting|chat)\b/i,l=/^(?:(?:and|also|ok|okay|now|then|so)[\s,]*)*(?:what about|how about|how(?:'s| is|s) it(?: like)?|what(?:'s| is|s) it(?: like)?|how(?:'s| is|s)|what(?:'s| is|s))\b[\s,]*/i;function g(n,t){if(!t||t.kind!=="weather")return"";let e=String(n||"").trim().replace(/[?!.]+$/,"").trim();if(!e||e.split(/\s+/).length>p)return"";const a=l.test(e)||/^(?:and|also|ok|okay|now|then|so)[\s,]+(?:in|at|for|around|near)\s+/i.test(e)||/^(?:in|at|for|around|near)\s+/i.test(e);e=e.replace(l,"").replace(/^(?:(?:and|also|ok|okay|now|then|so)[\s,]*)*/i,"").replace(/^(?:like\s+)?(?:in|at|for|around|near)\s+/i,"").trim();const r=o(e);return!r||!a&&r.split(/\s+/).length>2||!i(r)||m.test(r)?"":r}function y({text:n="",previous:t=null,reach:e=new Set}={}){const a=e instanceof Set?e:new Set(Array.isArray(e)?e:[]),r=[],h=a.has("find:weather"),c=a.has("weather");if(h||c){const s=b(n)||g(n,t);s&&r.push({kind:"weather",tool:h?"find":"weather",input:h?{action:"weather",args:{location:s}}:{location:s},label:`Weather — ${s}`})}return r}function k(n,t,{now:e=Date.now()}={}){const a=`(ALREADY FETCHED for the question below, with ${n.tool}. Answer from this; do not call ${n.tool} or any weather/search tool again for the same place.)
2
2
 
3
- ${String(e||"")}`;return{id:`prefetch_${n.kind}_${t}`,kind:"prefetch",prefetch:n.kind,title:n.label,text:a,chars:a.length}}export{k as prefetchAttachment,y as prefetchPlan,g as weatherFollowupPlace,b as weatherPlace};
3
+ ${String(t||"")}`;return{id:`prefetch_${n.kind}_${e}`,kind:"prefetch",prefetch:n.kind,title:n.label,text:a,chars:a.length}}export{k as prefetchAttachment,y as prefetchPlan,g as weatherFollowupPlace,b as weatherPlace};
package/presence.js CHANGED
@@ -1,3 +1,3 @@
1
- import{approxTokens as g}from"./sources-retrieval.js";const w=350,O=60,u=6;function K(e,t=[]){const n=new Set;for(const i of e?.specs||[]){const o=i?.name||i?.function?.name;if(!o)continue;n.add(o);const a=(i.parameters||i.function?.parameters||i.input_schema||null)?.properties?.action?.enum;if(Array.isArray(a))for(const c of a)typeof c=="string"&&n.add(`${o}:${c}`)}for(const i of t||[])i&&n.add(String(i));return n}function d(e,t=O){const n=String(e||"").replace(/\s+/g," ").trim();return n.length>t?n.slice(0,t-1).trimEnd()+"…":n}function p(e){const t=Math.max(0,Math.floor(Number(e)||0));return t<20?String(t):`${Math.floor(t/10)*10}+`}function D(e){const t=Math.max(0,Math.floor((Number(e)||0)/6e4));return t<10?`${t} min`:`~${Math.floor(t/5)*5} min`}function T(e){const t=Math.max(0,Math.floor((Number(e)||0)/6e4));return t<1?"just now":t<10?`${t} min ago`:`~${Math.floor(t/5)*5} min ago`}function x(e){try{return new URL(e).hostname.replace(/^www\./,"")}catch{return""}}function S(e){const t=new Date(Number(e)||0);return Number.isFinite(t.getTime())&&t.getTime()>0?t.toISOString().slice(0,10):""}const _=[{kind:"meeting",priority:1,via:["find:meeting_live_transcript","meeting_live_transcript"],applies:e=>!!e.meeting,key:e=>`${e.meeting.id||""}|${d(e.meeting.title)}|${e.meeting.platform||""}`,render:(e,t)=>{const n=e.meeting,i=[];return n.platform&&i.push(String(n.platform)),n.startedAt&&i.push(`${D(t-n.startedAt)} in`),Number(n.segments)>0&&i.push(`${p(n.segments)} captions`),n.lastCaptionAt&&i.push(`last ${T(t-n.lastCaptionAt)}`),n.hasSummary&&i.push("running summary kept"),`Live meeting: "${d(n.title||"Meeting")}"${i.length?` (${i.join(", ")})`:""} — read with find {"action":"meeting_live_transcript"} (args.sinceMinutes for the recent part). Not included here.`}},{kind:"page",priority:2,via:["page:read_page","read_page"],applies:e=>!!e.page&&(e.page.title||e.page.url),key:e=>`${x(e.page.url)}|${d(e.page.title)}`,render:e=>{const t=e.page,n=x(t.url);return`Active tab: "${d(t.title||n||"page")}"${n?` (${n})`:""} — read with page {"action":"read_page"} (args.query on a long page). Not included here.`}},{kind:"sidelines",priority:3,via:["find:history_search","find","history_search"],applies:e=>Array.isArray(e.sidelines)&&e.sidelines.length>0,key:e=>e.sidelines.map(t=>`${t.index}:${t.folded?"f":"o"}`).join(","),render:e=>{const t=e.sidelines.slice(0,u).map(i=>{const o=i.folded?"folded back":"open";return`#${i.index||"?"} "${d(i.title||"sideline",40)}" (${o})`}),n=e.sidelines.length>u?`, +${e.sidelines.length-u} more`:"";return`Sidelines of this thread: ${t.join("; ")}${n} — a sideline is a chat; find {"action":"history_search"} reads one.`}},{kind:"teams",priority:4,via:["team"],applies:e=>Array.isArray(e.teams)&&e.teams.length>0,key:e=>e.teams.map(t=>typeof t=="string"?t:t?.name).filter(Boolean).join(","),render:e=>{const t=e.teams.map(o=>typeof o=="string"?o:o?.name).filter(Boolean),n=t.slice(0,u).join(", "),i=t.length>u?`, +${t.length-u} more`:"";return`Teams & agents you can run: ${n}${i} — team {"action":"run","name":…}; {"action":"describe"} for how.`}},{kind:"notes",priority:5,via:["find:history_search","find","history_search"],applies:e=>e.notes&&Number(e.notes.count)>0,key:e=>p(e.notes.count),render:e=>{const t=(e.notes.recent||[]).slice(0,3).map(n=>`"${d(typeof n=="string"?n:n?.title,40)}"`).filter(n=>n!=='""');return`Notes: ${p(e.notes.count)}${t.length?` (recent: ${t.join(", ")})`:""} — find {"action":"history_search","args":{"query":…}} searches them.`}},{kind:"meetings",priority:6,via:["find:history_list_meetings","history_list_meetings"],applies:e=>e.meetings&&Number(e.meetings.count)>0,key:e=>`${p(e.meetings.count)}|${d(e.meetings.latest?.title,40)}`,render:e=>{const t=e.meetings.latest,n=t?` (latest: "${d(t.title,40)}"${S(t.date)?` ${S(t.date)}`:""})`:"";return`Past meetings: ${p(e.meetings.count)}${n} — find {"action":"history_list_meetings"}.`}},{kind:"skills",priority:7,via:["skill_open"],applies:e=>e.skills&&Number(e.skills.count)>0,key:e=>p(e.skills.count),render:e=>{const t=(e.skills.top||[]).slice(0,3).map(n=>typeof n=="string"?n:n?.name).filter(Boolean);return`Skills: ${p(e.skills.count)}${t.length?` (e.g. ${t.join(", ")})`:""} — skill_open {"name":…} loads one.`}},{kind:"memory",priority:8,via:["memory"],applies:e=>e.memory&&Number(e.memory.count)>0,key:e=>p(e.memory.count),render:e=>`Memory: ${p(e.memory.count)} durable facts about the user — memory {"action":"list"}.`},{kind:"chats",priority:9,via:["find:history_search","find","history_search"],applies:e=>e.chats&&Number(e.chats.count)>0,key:e=>p(e.chats.count),render:e=>`Past chats: ${p(e.chats.count)} — find {"action":"history_search","args":{"scope":"chats"}}.`}],P=Object.freeze(_.map(e=>e.kind)),A="Around this turn (NOT included — read what the question needs, one call):",N="Changed since your last turn:",B={meeting:"Live meeting ended — the transcript is now in past meetings.",page:"Active tab: none readable now.",sidelines:"Sidelines of this thread: none open now."};function v(e,t,n){const i=[],o=[];for(const r of _){if(!r.applies(e))continue;if(!r.via.some(c=>t.has(c))){o.push({kind:r.kind,why:"no reader armed"});continue}const a=`- ${r.render(e,n)}`;i.push({kind:r.kind,priority:r.priority,text:a,key:r.key(e),tokens:g(a)})}return{lines:i,omitted:o}}function E(e,t,n,i){let o=g(e)+t.reduce((a,c)=>a+c.tokens+1,0);const r=[...t];for(;o>n&&r.length>1;){let a=0;for(let l=1;l<r.length;l++)r[l].priority>r[a].priority&&(a=l);const[c]=r.splice(a,1);i.push({kind:c.kind,why:"over budget"}),o-=c.tokens+1}return r}const M=e=>e instanceof Set?e:new Set(Array.isArray(e)?e:[]);function C({facts:e={},reach:t=new Set,budget:n=w,now:i=Date.now()}={}){const{lines:o,omitted:r}=v(e||{},M(t),i);if(!o.length)return{text:"",lines:[],omitted:r,tokens:0,state:{}};const a=E(A,o,n,r),c=[A,...a.map(l=>l.text)].join(`
2
- `);return{text:c,lines:a.map(({kind:l,text:h,tokens:m})=>({kind:l,text:h,tokens:m})),omitted:r,tokens:g(c),state:Object.fromEntries(a.map(l=>[l.kind,l.key]))}}function R({facts:e={},reach:t=new Set,previous:n=null,budget:i=w,now:o=Date.now()}={}){const r=n&&typeof n=="object"?n:null;if(!r||!Object.keys(r).length)return C({facts:e,reach:t,budget:i,now:o});const{lines:a,omitted:c}=v(e||{},M(t),o),l=new Map(a.map(s=>[s.kind,s])),h=a.filter(s=>r[s.kind]!==s.key),m=[];for(const s of Object.keys(r)){if(l.has(s))continue;const f=_.find($=>$.kind===s);m.push({kind:s,priority:f?f.priority:99,text:`- ${B[s]||`${s}: no longer available.`}`,tokens:0}),m[m.length-1].tokens=g(m[m.length-1].text)}const y=Object.fromEntries(a.map(s=>[s.kind,s.key]));if(!h.length&&!m.length)return{text:"",lines:[],omitted:c,tokens:0,state:y,unchanged:!0};const k=E(N,[...h,...m],i,c),b=[N,...k.map(s=>s.text)].join(`
3
- `),j=new Set(k.map(s=>s.kind));for(const s of h)!j.has(s.kind)&&r[s.kind]!=null&&(y[s.kind]=r[s.kind]);return{text:b,lines:k.map(({kind:s,text:f,tokens:$})=>({kind:s,text:f,tokens:$})),omitted:c,tokens:g(b),state:y,unchanged:!1}}function I(e,t){const n=String(t||"").trim(),i=Array.isArray(e)?e:[];if(!n)return i;let o=-1;for(let r=i.length-1;r>=0;r--)if(i[r]?.role==="user"){o=r;break}return o<0?i:i.map((r,a)=>a===o?{...r,presence:n}:r)}import{presenceBlock as G}from"./context-attachments.js";export{w as PRESENCE_BUDGET_TOKENS,P as PRESENCE_KINDS,G as presenceBlock,R as presenceDelta,C as presenceFor,K as reachOf,p as roundCount,D as roundMinutes,I as withPresence};
1
+ import{approxTokens as g}from"./sources-retrieval.js";const w=350,O=60,u=6;function K(e,t=[]){const n=new Set;for(const i of e?.specs||[]){const o=i?.name||i?.function?.name;if(!o)continue;n.add(o);const a=(i.parameters||i.function?.parameters||i.input_schema||null)?.properties?.action?.enum;if(Array.isArray(a))for(const c of a)typeof c=="string"&&n.add(`${o}:${c}`)}for(const i of t||[])i&&n.add(String(i));return n}function m(e,t=O){const n=String(e||"").replace(/\s+/g," ").trim();return n.length>t?n.slice(0,t-1).trimEnd()+"…":n}function p(e){const t=Math.max(0,Math.floor(Number(e)||0));return t<20?String(t):`${Math.floor(t/10)*10}+`}function T(e){const t=Math.max(0,Math.floor((Number(e)||0)/6e4));return t<10?`${t} min`:`~${Math.floor(t/5)*5} min`}function D(e){const t=Math.max(0,Math.floor((Number(e)||0)/6e4));return t<1?"just now":t<10?`${t} min ago`:`~${Math.floor(t/5)*5} min ago`}function A(e){try{return new URL(e).hostname.replace(/^www\./,"")}catch{return""}}function x(e){const t=new Date(Number(e)||0);return Number.isFinite(t.getTime())&&t.getTime()>0?t.toISOString().slice(0,10):""}const _=[{kind:"meeting",priority:1,via:["find:meeting_live_transcript","meeting_live_transcript"],applies:e=>!!e.meeting,key:e=>`${e.meeting.id||""}|${m(e.meeting.title)}|${e.meeting.platform||""}`,render:(e,t)=>{const n=e.meeting,i=[];return n.platform&&i.push(String(n.platform)),n.startedAt&&i.push(`${T(t-n.startedAt)} in`),Number(n.segments)>0&&i.push(`${p(n.segments)} captions`),n.lastCaptionAt&&i.push(`last ${D(t-n.lastCaptionAt)}`),n.hasSummary&&i.push("running summary kept"),`Live meeting: "${m(n.title||"Meeting")}"${i.length?` (${i.join(", ")})`:""} — read with find {"action":"meeting_live_transcript"} (args.sinceMinutes for the recent part). Not included here.`}},{kind:"page",priority:2,via:["page:read_page","read_page"],applies:e=>!!e.page&&(e.page.title||e.page.url),key:e=>`${A(e.page.url)}|${m(e.page.title)}`,render:e=>{const t=e.page,n=A(t.url);return`Active tab: "${m(t.title||n||"page")}"${n?` (${n})`:""} — read with page {"action":"read_page"} (args.query on a long page). Not included here.`}},{kind:"fetched",priority:3,via:["source"],applies:e=>Array.isArray(e.fetched)&&e.fetched.length>0,key:e=>e.fetched.map(t=>t.id).join(","),render:e=>`Already fetched in this conversation: ${e.fetched.slice(0,u).map(n=>`${n.id} ${m(n.title,40)} (${n.agoText||"earlier"})`).join("; ")} — read one with source {"id":"<id>"} (args.query for a part); do not fetch the same thing again.`},{kind:"sidelines",priority:3,via:["find:history_search","find","history_search"],applies:e=>Array.isArray(e.sidelines)&&e.sidelines.length>0,key:e=>e.sidelines.map(t=>`${t.index}:${t.folded?"f":"o"}`).join(","),render:e=>{const t=e.sidelines.slice(0,u).map(i=>{const o=i.folded?"folded back":"open";return`#${i.index||"?"} "${m(i.title||"sideline",40)}" (${o})`}),n=e.sidelines.length>u?`, +${e.sidelines.length-u} more`:"";return`Sidelines of this thread: ${t.join("; ")}${n} — a sideline is a chat; find {"action":"history_search"} reads one.`}},{kind:"teams",priority:4,via:["team"],applies:e=>Array.isArray(e.teams)&&e.teams.length>0,key:e=>e.teams.map(t=>typeof t=="string"?t:t?.name).filter(Boolean).join(","),render:e=>{const t=e.teams.map(o=>typeof o=="string"?o:o?.name).filter(Boolean),n=t.slice(0,u).join(", "),i=t.length>u?`, +${t.length-u} more`:"";return`Teams & agents you can run: ${n}${i} — team {"action":"run","name":…}; {"action":"describe"} for how.`}},{kind:"notes",priority:5,via:["find:history_search","find","history_search"],applies:e=>e.notes&&Number(e.notes.count)>0,key:e=>p(e.notes.count),render:e=>{const t=(e.notes.recent||[]).slice(0,3).map(n=>`"${m(typeof n=="string"?n:n?.title,40)}"`).filter(n=>n!=='""');return`Notes: ${p(e.notes.count)}${t.length?` (recent: ${t.join(", ")})`:""} — find {"action":"history_search","args":{"query":…}} searches them.`}},{kind:"meetings",priority:6,via:["find:history_list_meetings","history_list_meetings"],applies:e=>e.meetings&&Number(e.meetings.count)>0,key:e=>`${p(e.meetings.count)}|${m(e.meetings.latest?.title,40)}`,render:e=>{const t=e.meetings.latest,n=t?` (latest: "${m(t.title,40)}"${x(t.date)?` ${x(t.date)}`:""})`:"";return`Past meetings: ${p(e.meetings.count)}${n} — find {"action":"history_list_meetings"}.`}},{kind:"skills",priority:7,via:["skill_open"],applies:e=>e.skills&&Number(e.skills.count)>0,key:e=>p(e.skills.count),render:e=>{const t=(e.skills.top||[]).slice(0,3).map(n=>typeof n=="string"?n:n?.name).filter(Boolean);return`Skills: ${p(e.skills.count)}${t.length?` (e.g. ${t.join(", ")})`:""} — skill_open {"name":…} loads one.`}},{kind:"memory",priority:8,via:["memory"],applies:e=>e.memory&&Number(e.memory.count)>0,key:e=>p(e.memory.count),render:e=>`Memory: ${p(e.memory.count)} durable facts about the user — memory {"action":"list"}.`},{kind:"chats",priority:9,via:["find:history_search","find","history_search"],applies:e=>e.chats&&Number(e.chats.count)>0,key:e=>p(e.chats.count),render:e=>`Past chats: ${p(e.chats.count)} — find {"action":"history_search","args":{"scope":"chats"}}.`}],P=Object.freeze(_.map(e=>e.kind)),S="Around this turn (NOT included — read what the question needs, one call):",N="Changed since your last turn:",B={meeting:"Live meeting ended — the transcript is now in past meetings.",page:"Active tab: none readable now.",sidelines:"Sidelines of this thread: none open now."};function v(e,t,n){const i=[],o=[];for(const r of _){if(!r.applies(e))continue;if(!r.via.some(c=>t.has(c))){o.push({kind:r.kind,why:"no reader armed"});continue}const a=`- ${r.render(e,n)}`;i.push({kind:r.kind,priority:r.priority,text:a,key:r.key(e),tokens:g(a)})}return{lines:i,omitted:o}}function E(e,t,n,i){let o=g(e)+t.reduce((a,c)=>a+c.tokens+1,0);const r=[...t];for(;o>n&&r.length>1;){let a=0;for(let l=1;l<r.length;l++)r[l].priority>r[a].priority&&(a=l);const[c]=r.splice(a,1);i.push({kind:c.kind,why:"over budget"}),o-=c.tokens+1}return r}const j=e=>e instanceof Set?e:new Set(Array.isArray(e)?e:[]);function C({facts:e={},reach:t=new Set,budget:n=w,now:i=Date.now()}={}){const{lines:o,omitted:r}=v(e||{},j(t),i);if(!o.length)return{text:"",lines:[],omitted:r,tokens:0,state:{}};const a=E(S,o,n,r),c=[S,...a.map(l=>l.text)].join(`
2
+ `);return{text:c,lines:a.map(({kind:l,text:h,tokens:d})=>({kind:l,text:h,tokens:d})),omitted:r,tokens:g(c),state:Object.fromEntries(a.map(l=>[l.kind,l.key]))}}function R({facts:e={},reach:t=new Set,previous:n=null,budget:i=w,now:o=Date.now()}={}){const r=n&&typeof n=="object"?n:null;if(!r||!Object.keys(r).length)return C({facts:e,reach:t,budget:i,now:o});const{lines:a,omitted:c}=v(e||{},j(t),o),l=new Map(a.map(s=>[s.kind,s])),h=a.filter(s=>r[s.kind]!==s.key),d=[];for(const s of Object.keys(r)){if(l.has(s))continue;const f=_.find($=>$.kind===s);d.push({kind:s,priority:f?f.priority:99,text:`- ${B[s]||`${s}: no longer available.`}`,tokens:0}),d[d.length-1].tokens=g(d[d.length-1].text)}const y=Object.fromEntries(a.map(s=>[s.kind,s.key]));if(!h.length&&!d.length)return{text:"",lines:[],omitted:c,tokens:0,state:y,unchanged:!0};const k=E(N,[...h,...d],i,c),b=[N,...k.map(s=>s.text)].join(`
3
+ `),M=new Set(k.map(s=>s.kind));for(const s of h)!M.has(s.kind)&&r[s.kind]!=null&&(y[s.kind]=r[s.kind]);return{text:b,lines:k.map(({kind:s,text:f,tokens:$})=>({kind:s,text:f,tokens:$})),omitted:c,tokens:g(b),state:y,unchanged:!1}}function q(e,t){const n=String(t||"").trim(),i=Array.isArray(e)?e:[];if(!n)return i;let o=-1;for(let r=i.length-1;r>=0;r--)if(i[r]?.role==="user"){o=r;break}return o<0?i:i.map((r,a)=>a===o?{...r,presence:n}:r)}import{presenceBlock as G}from"./context-attachments.js";export{w as PRESENCE_BUDGET_TOKENS,P as PRESENCE_KINDS,G as presenceBlock,R as presenceDelta,C as presenceFor,K as reachOf,p as roundCount,T as roundMinutes,q as withPresence};