@chatpanel/events 0.360.2 → 0.361.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/adaptive-tool-policy.js +1 -1
- package/event.js +1 -1
- package/index.js +1 -1
- package/package.json +3 -1
- package/prefetch.js +2 -2
- package/shim.js +2 -0
- package/tool-loop-guard.js +4 -4
- package/turn-loop.js +4 -4
package/adaptive-tool-policy.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const i=/\b(?:invalid request parameters|-32602)\b/i;function s(t){if(typeof t=="string")return t;if(!t||typeof t!="object")return"";if(typeof t.text=="string")return t.text;try{return JSON.stringify(t)}catch{return String(t)}}function a(t){return i.test(s(t))}function l(t){return[`Do not retry ${String(t||"this tool")} with the same arguments.`,"Match the user request to the tool domain first: Hacker News requests should use Hacker News tools, Confluence requests should use Confluence tools, and Jira requests should use Jira tools.","If the right tool is unavailable, answer with the exact tool error instead of trying unrelated tools."].join(" ")}function u({shims:t=null}={}){const o=new Set;return{isSuppressed(e){return o.has(String(e||""))},recordResult(e,r){const n=String(e||"");n&&a(r)&&!o.has(n)&&(o.add(n),t?.fire("tool.invalid-params-off",{tool:n}))},filterOpenAITools(e=[]){return(e||[]).filter(r=>!o.has(r?.function?.name))},filterAnthropicTools(e=[]){return(e||[]).filter(r=>!o.has(r?.name))}}}export{l as adaptiveToolRetryHint,u as createAdaptiveToolPolicy,a as isInvalidToolParametersResult,s as resultText};
|
package/event.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isRef as n}from"./ref.js";const
|
|
1
|
+
import{isRef as n}from"./ref.js";const c=1,E=Object.freeze({turn:["started","ended"],assistant:["prompted","message","reasoning"],context:["assembled","attached","expanded","retrieved"],capability:["offered","granted","denied","activated","revoked","invoked","resulted"],privacy:["redacted","egress"],policy:["changed","guard_denied"],data:["created","updated","deleted"],automation:["fired","suppressed"],shim:["fired"]}),v=Object.freeze(Object.entries(E).flatMap(([e,r])=>r.map(s=>`${e}.${s}`))),w=Object.freeze(["user","rule","schedule","model","agent","channel"]),x=Object.freeze(["global","site","tab","session","agent"]),u=Object.freeze(["R","M","L","C","A","X","H"]),S=Object.freeze(["pure","idempotent","replay-safe","non-replayable"]),I=Object.freeze(["none","redacted","delegated"]);class a extends Error{constructor(r,s,d=null){super(s),this.name="EventError",this.code=r,this.detail=d}}const t=e=>typeof e=="string"&&e.length>0,o=e=>typeof e=="number"&&Number.isFinite(e),l=e=>Array.isArray(e);function i(e){return!!e&&w.includes(e.kind)&&t(e.id)}function A(e){return!!e&&x.includes(e.kind)&&t(e.id)}const O={"turn.started":e=>t(e.turnId),"turn.ended":e=>t(e.turnId),"assistant.prompted":e=>t(e.turnId)&&n(e.ref),"assistant.message":e=>t(e.turnId)&&n(e.ref),"assistant.reasoning":e=>t(e.turnId)&&n(e.ref),"context.assembled":e=>o(e.budget)&&o(e.used)&&!!e.parts&&typeof e.parts=="object"&&l(e.resident)&&e.resident.every(n)&&o(e.reachableCount),"context.attached":e=>n(e.ref),"context.expanded":e=>n(e.ref)&&o(e.tokens),"context.retrieved":e=>t(e.tool)&&o(e.count)&&l(e.sources)&&e.sources.every(r=>r&&typeof r=="object"&&o(r.rank)),"capability.offered":e=>t(e.capability)&&t(e.reason),"capability.granted":e=>t(e.capability)&&i(e.actor),"capability.denied":e=>t(e.capability)&&i(e.actor),"capability.activated":e=>t(e.capability)&&u.includes(e.classUsed),"capability.revoked":e=>t(e.capability)&&t(e.cause),"capability.invoked":e=>t(e.capability)&&i(e.actor)&&A(e.scope)&&S.includes(e.effects)&&(e.effects==="pure"||t(e.idempotencyKey)),"capability.resulted":e=>t(e.capability)&&typeof e.ok=="boolean"&&u.includes(e.classUsed)&&!!e.cost&&o(e.cost.ms),"privacy.redacted":e=>!!e.counts&&typeof e.counts=="object"&&Object.values(e.counts).every(o),"privacy.egress":e=>t(e.host)&&typeof e.redacted=="boolean"&&typeof e.controlled=="boolean","policy.changed":e=>t(e.dial)&&i(e.actor)&&"from"in e&&"to"in e,"policy.guard_denied":e=>t(e.capability)&&t(e.reason),"data.created":e=>n(e.ref),"data.updated":e=>n(e.ref),"data.deleted":e=>n(e.ref)&&typeof e.shredded=="boolean","automation.fired":e=>t(e.ruleId)&&u.includes(e.classUsed),"automation.suppressed":e=>t(e.ruleId)&&t(e.reason),"shim.fired":e=>t(e.shimId)&&(e.engine==null||t(e.engine))};function y(e){if(!e||typeof e!="object")throw new a("SHAPE","event must be an object");if(e.v!==c)throw new a("VERSION",`expected v=${c}, got ${e.v} — upcast first`,e.v);if(!t(e.id))throw new a("SHAPE","id required");if(!t(e.host))throw new a("SHAPE","host required");if(!Number.isInteger(e.seq)||e.seq<0)throw new a("SHAPE","seq must be a non-negative integer");if(!l(e.causes)||!e.causes.every(t))throw new a("SHAPE","causes must be string[]");if(!o(e.at))throw new a("SHAPE","at required (advisory wall clock)");if(!v.includes(e.type))throw new a("TYPE",`unknown type ${e.type}`,e.type);if(!e.payload||typeof e.payload!="object")throw new a("SHAPE","payload required");const r=O[e.type];if(r&&!r(e.payload))throw new a("PAYLOAD",`payload invalid for ${e.type}`,e.type);return e}function k(e){try{return y(e),!0}catch{return!1}}function P({host:e,seq:r=0,now:s=()=>Date.now(),newId:d}){if(!t(e))throw new a("SHAPE","host required");const b=d||(()=>globalThis.crypto.randomUUID());let f=r;return{get host(){return e},get seq(){return f},append(p,h,g=[]){const m=Object.freeze({v:c,id:b(),host:e,seq:f++,causes:Object.freeze([...g]),at:s(),type:p,payload:h});return y(m)}}}export{w as ACTOR_KINDS,v as ALL_TYPES,u as CLASSES,c as CURRENT_VERSION,S as EFFECTS,I as EGRESS,E as EVENT_TYPES,a as EventError,x as SCOPE_KINDS,P as createAppender,k as isValidEvent,y as validateEvent};
|
package/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{CURRENT_VERSION as o,EVENT_TYPES as t,ALL_TYPES as a,ACTOR_KINDS as s,SCOPE_KINDS as i,CLASSES as n,EFFECTS as l,EGRESS as S,EventError as E,validateEvent as m,isValidEvent as c,createAppender as p}from"./event.js";import{REF_KINDS as d,RESOLUTION as _,makeRef as R,isRef as A,resolveRef as f}from"./ref.js";import{linearize as I,compareEvents as O,causesAreWellFormed as N}from"./order.js";import{pendingQueue as C,isQueued as M,dequeue as P,moveQueued as L,promoteQueued as x}from"./queue.js";import{groupModels as F,filterSections as D,defaultModelId as y,modelSummary as k,withRecent as U,rememberRecent as b}from"./model-picker.js";import{composerChips as w,chipText as B}from"./composer-chips.js";import{NOTE_ACTIONS as H,NOTE_ACTION_ORDER as K,NOTE_ACTION_TEMPERATURE as V,NOTE_ACTION_ERRORS as W,NOTE_COMMANDS as X,NOTE_COMMAND_TEMPERATURE as Y,NOTE_COMMAND_MAX_TOKENS as z,frameNoteAction as J,noteActionLabel as j,noteActionItems as Q,filterNoteActions as q,commandLineAt as Z,triggerQueryAt as $}from"./note-actions.js";import{parseAgentMention as re,agentMentionAt as oe,parseSkillMention as te,mergeSkillPrompt as ae,findSkillByName as se,findTargetByName as ie,mentionAnswerPrefix as ne}from"./note-mentions.js";import{wikiQueryAt as Se,rankLinkTargets as Ee}from"./note-links.js";import{SWARM_ROLES as ce,roleById as pe,classifyModel as Te,supportsSubagents as de,appoint as _e,routeTeam as Re}from"./cowriter-router.js";import{SEARCH_ENGINES as fe,RESULTS_PER_ENGINE as ue,buildSearchUrl as Ie,unwrapRedirect as Oe,isResultHost as Ne,pickResults as ge,mergeEngineResults as Ce,engineOrder as Me,offTopic as Pe,isSearchPage as Le}from"./web-search.js";import{PACER_DEFAULTS as he,classifyAnswer as Fe,createEnginePacer as De,searchPolitely as ye,retryAfterMs as ke}from"./engine-pacer.js";import{SEARCH_API_PRESETS as be,SearchApiError as ve,defineSearchApi as we,missingVars as Be,buildApiRequest as Ge,readApiResponse as He,apiEngine as Ke,DEFAULT_API_ENGINES as Ve,apiEnginesFrom as We,patchApiEntries as Xe,viewApiEntries as Ye,searchApiChoices as ze,apiTrialVerdict as Je}from"./search-api.js";import{SEARCH_STATUS as Qe,viaOf as qe,tagResults as Ze,searchStatus as $e,engineLabel as er,summarizeSearch as rr}from"./search-outcome.js";import{MAX_GRAPH_NODES as tr,buildNoteGraph as ar,egoGraph as sr,trimGraph as ir,graphStats as nr}from"./note-graph.js";import{lintText as Sr,wordDiff as Er,filterTypoEdits as mr,editKey as cr,applyEdits as pr,COWRITER_SYSTEM as Tr,COWRITER_TEMPERATURE as dr}from"./cowriter.js";import{salientTerms as Rr,topicTerms as Ar,researchRelevance as fr,webQuery as ur,researchSnippet as Ir,rankResearchCards as Or,mergeResearchLanes as Nr}from"./note-research.js";import{PLAN_ROLES as Cr,PLAN_AUTHORS as Mr,PLAN_DECOMPOSE_SYSTEM as Pr,PLAN_DECOMPOSE_MAX_TOKENS as Lr,PLAN_DECOMPOSE_TEMPERATURE as xr,PLAN_SECTION_MAX_TOKENS as hr,PLAN_SECTION_TEMPERATURE as Fr,planSectionSystem as Dr,parsePlanTasks as yr,planTitleFor as kr,planParts as Ur,planBody as br,planAttribution as vr}from"./note-plan.js";import{REACH as Br,reachRank as Gr,reachSatisfies as Hr}from"./reach.js";import{UPCASTERS as Vr,upcast as Wr,upcastAll as Xr}from"./upcast.js";import{validateCapability as zr,validateInvocation as Jr,canSatisfy as jr,toModelSchema as Qr,toModelSchemas as qr}from"./capability.js";import{checkInvariants as $r,INVARIANTS as eo}from"./invariants.js";import{createMemoryAdapter as oo,createLogStore as to,createBlobStore as ao}from"./store.js";import{createRegistry as io,REGISTRY_STATES as no}from"./registry.js";import{defineSearchEngine as So,reconcileEngines as Eo,attemptOrder as mo,ENGINE_KINDS as co,SearchEngineError as po,inheritEngineDefaults as To,ENGINES_REV as _o}from"./search-engines.js";import{getWeather as Ao,weatherUrl as fo,parseWeather as uo,formatWeather as Io,areaLabel as Oo,isAmbiguousLocation as No,WEATHER_HOST as go,WEATHER_TIMEOUT_MS as Co,WeatherError as Mo}from"./weather.js";import{defineToolGroup as Lo,createToolGroupRegistry as xo,ToolGroupError as ho}from"./tool-groups.js";import{toolNeedFor as Do,grantsNeededFor as yo,equipmentFor as ko,isPleasantry as Uo}from"./tool-need.js";import{housekeepingTarget as vo,hasSubstance as wo,isLocalHelper as Bo,isSystemModel as Go,lightestLocalHelper as Ho}from"./housekeeping.js";import{parseFlowchart as Vo,layoutFlowchart as Wo,renderFlowchartSvg as Xo}from"./flowchart.js";import{validateView as zo,validateViewInvocation as Jo,viewResult as jo}from"./view.js";import{validateWidget as qo,validateWidgetMessage as Zo,effectiveGrants as $o,widgetIcon as et,WIDGET_SURFACES as rt}from"./widget.js";import{fuseRRF as tt,planQueries as at,multiSearch as st}from"./rrf.js";import{SUBJECT_KINDS as nt,DEFAULT_THRESHOLD as lt,MAX_SUBJECTS as St,MAX_SUBJECT_CHARS as Et,normalizeSubject as mt,subjectKey as ct,subjectTokens as pt,isSubjectCandidate as Tt,aliasMap as dt,resolveSubjects as _t,earnsBrief as Rt,rankSubjects as At,REDACTION_TOKEN_TYPES as ft,isRedactionToken as ut,SELF_LABELS as It,isSelfLabel as Ot,stripQualifiers as Nt,suggestMerges as gt}from"./entity.js";import{BRIEF_STATES as Mt,CLAIM_KINDS as Pt,MAX_CLAIMS as Lt,MAX_CLAIM_REFS as xt,MAX_BRIEF_RECORDS as ht,MAX_BRIEF_CHARS as Ft,contentHash as Dt,briefId as yt,briefToText as kt,briefTerms as Ut,briefLinks as bt,checkKnowledgeInvariants as vt,parseBriefText as wt}from"./knowledge.js";import{deriveBrief as Gt,deriveBriefs as Ht,driftedRefs as Kt}from"./knowledge-derive.js";import{SYNTHESIS_SCHEMA as Wt,synthesisPrompt as Xt,claimsFromSynthesis as Yt,MAX_SYNTHESIS_CLAIMS as zt,MAX_EXCERPTS as Jt,MAX_EXCERPT_CHARS as jt}from"./synthesis.js";import{PROPOSAL_STATES as qt,SUPERSEDE_OVERLAP as Zt,propose as $t,accept as ea,reject as ra,diffProposal as oa,converge as ta,linkClaims as aa}from"./promotion.js";import{normalizeRecord as ia,normalizeRecords as na,wikilinksIn as la,redactedTokensIn as Sa,redactionCost as Ea,wantedPages as ma,orphanRecords as ca,duplicateTitles as pa,vocabularyDrift as Ta,mentionsFrom as da,spanningQuestions as _a,surveyCorpus as Ra,thresholdSweep as Aa,formatSurvey as fa,NEAR_TITLE_DISTANCE as ua,SPAN_MIN_TERMS as Ia}from"./curate.js";import{PDF_MAX_CHARS as Na,linesFromItems as ga,orderLines as Ca,paragraphsFromLines as Ma,pageTextFromItems as Pa,looksScanned as La,buildPdfDocument as xa}from"./pdf-layout.js";import{YOUTUBE_HOSTS as Fa,TRANSCRIPT_MAX_CHARS as Da,parseYouTubeUrl as ya,isYouTubeUrl as ka,captionTracksFromPlayerResponse as Ua,videoMetaFromPlayerResponse as ba,pickCaptionTrack as va,timedTextUrl as wa,parseTimedText as Ba,groupSegments as Ga,formatTimestamp as Ha,formatTranscript as Ka,buildTranscriptDocument as Va,transcriptFromTracks as Wa}from"./media-transcript.js";import{ACCESS_LOG_VERSION as Ya,ACCESS_LOG_MAX as za,redactAccessArgs as Ja,makeAccessEvent as ja,createAccessLog as Qa,makeStorageTier as qa,formatBytes as Za}from"./observability.js";import{routeGraph as es,projectChain as rs}from"./route-graph.js";import{defineAdapter as ts,createAdapterRegistry as as,AdapterError as ss}from"./adapters.js";import{linkifyCitations as ns,repairCitedLinks as ls,markdownUrl as Ss,sourcesFromToolText as Es,createCitationCollector as ms,RETRIEVAL_TOOLS as cs}from"./citations.js";import{buildTrajectory as Ts,phasesOf as ds,lanesOf as _s,filterEntries as Rs,displayName as As,ENTRY_KINDS as fs,threadsOf as us,threadTitle as Is,promptEntries as Os,turnsOf as Ns,threadTree as gs}from"./trajectory.js";import{createTurnRunner as Ms,createStepRecorder as Ps,argsShape as Ls,defineLoop as xs,LOOP_KINDS as hs,LoopError as Fs,abortCause as Ds,errorFacts as ys}from"./loop.js";import{defineModel as Us,defineMiddleware as bs,defineRouteStrategy as vs,createModelRouter as ws,signalsFrom as Bs,requirementsFor as Gs,requirementsForStep as Hs,preferenceFor as Ks,failoverOrder as Vs,pinnedOrderOf as Ws,FAILOVER_CLASS_GAP as Xs,FAILOVER_CAPABILITY_GAP as Ys,sameModelKey as zs,RouterError as Js}from"./router.js";import{makeSourceStore as Qs,manifestText as qs,shortUrl as Zs,readSource as $s,sourceId as ei}from"./sources-retrieval.js";import{classifySource as oi,extractUrls as ti,hostMatches as ai,meetReach as si,sourcePolicyFor as ii,sourceUrlsOf as ni,DEFAULT_INTERNAL_PATTERNS as li,INTERNAL_PATTERN_CATALOG as Si}from"./sources.js";import{defineRule as mi,createRuleEngine as ci,SUPPRESSED as pi,RuleError as Ti}from"./rules.js";import{VAULT_VERSION as _i,KDF_ITERATIONS as Ri,KDF_HASH as Ai,DEFAULT_LOCK_MS as fi,VaultError as ui,MAX_TITLE_CHARS as Ii,MAX_NOTE_CHARS as Oi,MAX_SECRET_CHARS as Ni,MAX_ENTRIES as gi,createVault as Ci,unlockVault as Mi,deriveKey as Pi,sealEntry as Li,openEntry as xi,validateEntry as hi,entryMeta as Fi,searchEntries as Di,isLocked as yi,lockedSummary as ki,canAddEntry as Ui,toB64 as bi,fromB64 as vi}from"./vault.js";import{SCHEDULE_KINDS as Bi,TRIGGER_KINDS as Gi,JOB_ACTIONS as Hi,MISSED_POLICIES as Ki,ScheduleError as Vi,validateSchedule as Wi,nextFireAt as Xi,occurrencesBetween as Yi,nextWakeAt as zi,parseCron as Ji,defineTrigger as ji,createTriggerRegistry as Qi,BUILTIN_TRIGGERS as qi,timerTrigger as Zi,meetingStartedTrigger as $i,meetingEndedTrigger as en,personJoinedTrigger as rn,phraseTrigger as on,topicTrigger as tn,questionTrigger as an,voiceCommandTrigger as sn,defineJob as nn,dueJobs as ln,jobsForEvent as Sn,occurrenceKey as En,clipText as mn,matchSummary as cn}from"./schedule.js";import{defineMeetingAnalyzer as Tn,createAnalyzerRegistry as dn,CADENCES as _n,AnalyzerError as Rn}from"./meeting-analyzers.js";import{DEFAULT_WAKE as fn,ASSISTANT_NAME as un,MAX_COMMANDS_PER_DELTA as In,DAYPART_HOUR as On,VoiceIntentError as Nn,compileWake as gn,wakeFor as Cn,findWakeCommand as Mn,parseCommand as Pn,commandsFromSegments as Ln,parseDuration as xn,parseClock as hn,parseWhen as Fn,parseNumberWords as Dn,normalizeSpeech as yn,tokenize as kn,editDistance as Un,defineVoiceIntent as bn,createVoiceIntentRegistry as vn,defaultVoiceIntents as wn,BUILTIN_VOICE_INTENTS as Bn,timerIntent as Gn,reminderIntent as Hn,scheduleIntent as Kn,noteIntent as Vn,monitorIntent as Wn,REFINEMENT_SCHEMA as Xn,refinementPrompt as Yn,refinementFormat as zn,parseRefinement as Jn,refinementStream as jn,settleRefinement as Qn,refineSpokenCommand as qn,isFillerSentence as Zn,gistText as $n,gistOpening as el,commandLooksFinished as rl,sameUtterance as ol,createUtteranceGate as tl,UTTERANCE_SETTLE_MS as al,UTTERANCE_DANGLING_MS as sl}from"./voice-intents.js";import{MAX_TOPICS as nl,MAX_TOPIC_CHARS as ll,TOPICS_SCHEMA as Sl,topicsSchema as El,topicsPrompt as ml,topicsFormat as cl,parseTopics as pl,normalizeTopic as Tl,normalizeTopics as dl,topicsStream as _l,ENTITY_TYPES as Rl,ENTITIES_SCHEMA as Al,entitiesPrompt as fl,entitiesFormat as ul,parseEntities as Il,coerceEntities as Ol,entitiesStream as Nl,MAX_SUGGESTIONS as gl,MAX_SUGGESTION_CHARS as Cl,SUGGESTIONS_SCHEMA as Ml,suggestionsPrompt as Pl,suggestionsFormat as Ll,parseSuggestions as xl,suggestionsStream as hl}from"./extraction.js";import{FIELD_TYPES as Dl,RESPONSE_MODES as yl,StructuredError as kl,defineSchema as Ul,describeSchema as bl,toJsonSchema as vl,responseFormat as wl,unfence as Bl,findJson as Gl,rewriteJson as Hl,repairJson as Kl,isNothing as Vl,coerce as Wl,parseStructured as Xl,createStructuredStream as Yl}from"./structured.js";import{explainMcpError as Jl,packageFromArgs as jl,isStaleMcpSession as Ql,installHintFor as ql,missingCommandMessage as Zl,missingCommandIn as $l,normalizePlatform as eS}from"./mcp-errors.js";import{explainInstallFailure as oS,gatewayNotBackAdvice as tS,adviceText as aS,npmInstallCommand as sS,standaloneInstallCommand as iS,nodeSatisfies as nS,PUBLIC_REGISTRY as lS}from"./install-advice.js";import{parseSignInPrompt as ES,signInError as mS,signInFromError as cS,signInToolResult as pS,MCP_SIGN_IN_CODE as TS}from"./mcp-signin.js";import{parseAuthChallenge as _S,wellKnownUrls as RS,canonicalResource as AS,readResourceMetadata as fS,readAuthServerMetadata as uS,registrationRequest as IS,readRegistration as OS,authorizeUrl as NS,tokenRequest as gS,readTokenResponse as CS,tokenExpired as MS,authHeader as PS,discoverMcpAuth as LS,registerMcpClient as xS,fetchMcpToken as hS,TOKEN_SKEW_MS as FS}from"./mcp-oauth.js";import{toolTraits as yS,bareToolName as kS,canRunConcurrently as US,isCacheable as bS,needsConfirmation as vS,traitsIndex as wS,effectiveToolName as BS,parallelEligible as GS,PARALLEL_LOCAL_RE as HS}from"./tool-traits.js";import{planToolRound as VS,runToolRound as WS}from"./tool-round.js";import{createToolLoopGuard as YS,roundSignature as zS,stableToolCallKey as JS,toolMadeProgress as jS,isLoopableTool as QS,blockedToolResult as qS,OBSERVATION_TOOLS as ZS,INPUT_PROGRESS_TOOLS as $S}from"./tool-loop-guard.js";import{classifyFailure as rE,createModelHealth as oE,COOLDOWN_MS as tE,UNAVAILABLE_REASONS as aE,normModelName as sE}from"./model-health.js";import{runWithFailover as nE,failoverExhausted as lE,FAILOVER_MAX_ATTEMPTS as SE}from"./failover.js";import{sourcePolicySettings as mE,sourceGuardFor as cE,sourceGate as pE,isSourceGateError as TE,withinReach as dE}from"./source-gate.js";import{runTurnLoop as RE,createCallRunner as AE,roundCap as fE,withToolSystem as uE,describeCall as IE,stepResultText as OE,addUsage as NE,normalizeUsage as gE,openAiTranscript as CE,anthropicTranscript as ME,DEFAULT_MAX_ROUNDS as PE,DEFAULT_MAX_FINISH_TRIES as LE,FINISH_NUDGES as xE,LOOPING_NUDGE as hE,EXHAUSTED_NOTE as FE,ROUND_SEPARATOR as DE}from"./turn-loop.js";import{createResultStore as kE,shieldToolResult as UE,runResultQuery as bE,withResultShield as vE,describeShape as wE,compactValue as BE,resultToolSpec as GE,RESULT_TOOL_NAME as HE,DEFAULT_SHIELD as KE,DEFAULT_STORE as VE}from"./tool-result.js";import{PERMISSION_EVENT as XE,PERMISSION_ANSWERS as YE,PERMISSION_TIMEOUT_MS as zE,PERMISSION_TOOL_NAME as JE,permissionToolSpec as jE,isPermissionTool as QE,permissionRequestFromClaude as qE,permissionKeys as ZE,describePermission as $E,permissionAnswer as em,permissionAllowed as rm,rememberPermission as om,recallPermission as tm,claudePermissionResponse as am,permissionLine as sm,permissionIcon as im,createPermissionDesk as nm}from"./agent-permission.js";import{findTools as Sm,findToolsResult as Em,findActionArgs as mm,oneLiner as cm,overlapRank as pm,FIND_ACTION as Tm}from"./tool-discovery.js";import{rankFused as _m,fusedRanker as Rm,rerankThrough as Am,toolDoc as fm,FUSED_CANDIDATES as um,FUSED_BUDGET_MS as Im}from"./tool-rank-fused.js";import{makeToolHub as Nm,hubSpec as gm,HUB_TOOL_NAME as Cm,withHint as Mm,withLead as Pm,lastUserText as Lm}from"./tool-hub.js";import{withPromptedTools as hm,promptedTranscript as Fm,makePromptedTranscript as Dm,promptedToolsSystem as ym,parseToolCalls as km,visiblePrefix as Um,toolChannel as bm,transcriptFor as vm}from"./prompted-tools.js";import{REVEAL as Bm,revealStep as Gm,revealCut as Hm}from"./stream-reveal.js";import{buildToolset as Vm}from"./toolset.js";import{DESCRIBE_ACTION as Xm,actionMenu as Ym,buildGroupDispatchSpec as zm,validateAction as Jm,makeGroupDispatchExecutor as jm,withGuidance as Qm,makeDispatchProvider as qm,estimateTokens as Zm}from"./tool-dispatch.js";import{FIND_TOOL_NAME as ec,FIND_DESCRIPTION as rc,FIND_RESIDENT as oc,findDispatchProvider as tc}from"./find-tool.js";import{WEB_SEARCH_TOOL_NAME as sc,WEB_SEARCH_TOOL_SYSTEM as ic,WEB_SEARCH_SPEC as nc,searchResultsToText as lc,searchFailureOf as Sc,webSearchToolProvider as Ec}from"./web-search-tool.js";import{compressToolSpec as cc,compressToolSpecs as pc,compressionStats as Tc,trimDescription as dc,COMPRESSION_MODES as _c,DEFAULT_COMPRESSION as Rc}from"./tool-schema.js";import{validateRecipe as fc,expandRecipe as uc,recipeParams as Ic,mapInput as Oc,dryRunRecipe as Nc,runPlan as gc,runRecipe as Cc,RecipeError as Mc,RECIPE_MODES as Pc}from"./recipe.js";import{recipeToolProvider as xc,recipeToolSpec as hc,describeRecipeForApproval as Fc,RECIPE_TOOL_NAME as Dc}from"./recipe-tool.js";import{createBudget as kc,validateBudget as Uc,normalizeBudget as bc,usageOf as vc,BudgetError as wc,BUDGET_DIMENSIONS as Bc}from"./budget.js";import{defineTeam as Hc,validateTeam as Kc,normalizeTeam as Vc,normalizeGrants as Wc,grantAllows as Xc,scmAllows as Yc,describeRole as zc,TeamError as Jc,ROLE_MODES as jc,MERGE_POLICIES as Qc,PLAN_MODES as qc,GRANTABLE as Zc,WORK_GRANTS as $c,GRANT_RE as ep,AGENT_REF_RE as rp,STARTER_TEAMS as op,starterTeams as tp,blankTeam as ap,teamFromForm as sp,slugTeamName as ip}from"./team.js";import{fixedPlan as lp,parsePlan as Sp,plannerPrompt as Ep,waves as mp,breakCycles as cp,TEAM_PLAN_SCHEMA as pp}from"./team-plan.js";import{createBoard as dp,parseFindings as _p,boardText as Rp,findingsInstruction as Ap,toBriefClaims as fp,FINDINGS_SCHEMA as up,FINDING_KINDS as Ip,THREAD_KINDS as Op,THREAD_STATUSES as Np,POST_KINDS as gp,POST_STATUSES as Cp,ASK_TYPES as Mp,emptyBoardState as Pp,foldBoard as Lp,findingsOf as xp}from"./team-board.js";import{boardToolProvider as Fp,boardToolSpec as Dp,createAnswerBox as yp,withBoardTool as kp,BOARD_TOOL_NAME as Up,DEFAULT_ASK_TIMEOUT_MS as bp}from"./board-tool.js";import{createRunCache as wp,withRunCache as Bp}from"./team-cache.js";import{emptyRun as Hp,foldRun as Kp,runFromEvents as Vp,checkpointFrom as Wp,isResumable as Xp,LIVE_RUN_STATUSES as Yp,RESUMABLE_RUN_STATUSES as zp,spendOf as Jp,describeSpend as jp,runState as Qp,priorWorkFor as qp,STALLED_AFTER_MS as Zp}from"./team-record.js";import{validateProject as eT,normalizeProject as rT,defineProject as oT,canTransition as tT,blankProject as aT,projectFromForm as sT,emptyProjectRecord as iT,foldProject as nT,projectProgress as lT,ProjectError as ST,PROJECT_STATUSES as ET,PROJECT_ID_RE as mT}from"./project.js";import{validateJob as pT,normalizeJob as TT,defineJob as dT,canTransition as _T,applyAll as RT,jobToRole as AT,readyJobs as fT,blankJob as uT,jobFromForm as IT,JobError as OT,JOB_STATUSES as NT,JOB_ID_RE as gT}from"./job.js";import{validateGate as MT,normalizeGate as PT,effectiveGate as LT,gateAllows as xT,DEFAULT_GATE as hT,AUTONOMY as FT,HUMAN_FLAGS as DT,CHECKS as yT}from"./gate.js";import{runProject as UT,roundJobs as bT,teamForRound as vT,jobResults as wT,roundBudget as BT,parseJobs as GT,parseReview as HT,jobsPrompt as KT,reviewPrompt as VT,PROJECT_JOBS_SCHEMA as WT,PROJECT_REVIEW_SCHEMA as XT,ProjectRunError as YT,EXECUTIVE as zT,MAX_JOBS_PER_ROUND as JT,MAX_ROUNDS as jT,PROJECT_RUN_STATUSES as QT}from"./project-run.js";import{canonical as ZT,sha256 as $T,makeEntry as ed,verifyChain as rd,attest as od,verifyAttested as td,summarize as ad,fit as sd,adjustSummary as id,normalizeEngine as nd,engineKey as ld,normalizeScm as Sd,SCORECARD_ENTRY_KINDS as Ed,ROLE_KINDS as md,SCORECARD_VERSION as cd,ENGINE_KINDS as pd}from"./scorecard.js";import{ENGINE_KINDS as dd,ROUTE_PREFERS as _d,normalizePolicy as Rd,normalizeEngineSpec as Ad,validateEngineSpec as fd,engineRef as ud,engineKeyOf as Id,describeEngine as Od,tierOf as Nd}from"./engine.js";import{AGENT_ID_RE as Cd,APPLIES_TO as Md,EGRESS_CLASSES as Pd,ASSISTANT_ID as Ld,AgentError as xd,validateAgent as hd,normalizeAgent as Fd,defineAgent as Dd,assistantAgent as yd,engineOf as kd,describeAgent as Ud,slugAgentId as bd,resolveTeam as vd,STARTER_AGENTS as wd,starterAgents as Bd,blankAgent as Gd,agentFromForm as Hd,poolFor as Kd}from"./agent.js";import{LEDGER_VERSION as Wd,LEDGER_ENTRY_KINDS as Xd,DECLINE_REASONS as Yd,WITHDRAW_AFTER as zd,ledgerKey as Jd,normalizeCall as jd,makeLedgerEntry as Qd,summarizeEngine as qd}from"./model-ledger.js";import{RECRUIT_SCHEMA as $d,MIN_FIT as e_,engineRow as r_,engineRows as o_,needForJob as t_,routeFor as a_,engineWorth as s_,applications as i_,evaluatorPrompt as n_,parseEvaluation as l_,decide as S_,recruitForRun as E_,proposalFromNeeds as m_,proposalToAgent as c_,carveBudget as p_,recruitEvents as T_,recruitJob as d_}from"./recruit.js";import{DEFAULT_MIN_CALLS as R_,cardOverride as A_,applyCard as f_}from"./model-candidates.js";import{SCM_KINDS as I_,validateConnection as O_,normalizeConnection as N_,parseRemote as g_,connectionFor as C_,branchFor as M_,worktreeDirFor as P_,credentialEnv as L_,describeConnection as x_,blankConnection as h_,connectionFromForm as F_}from"./scm-connection.js";import{messagesFor as y_,mergeTranscript as k_,clipTranscript as U_,clipMessage as b_,newSteps as v_,continuationNote as w_,createControl as B_,STEP_MAX_CHARS as G_,TASK_TRANSCRIPT_MAX_CHARS as H_}from"./team-task.js";import{runTeam as V_,resumeTeam as W_,dryRunTeam as X_,isModelUnavailable as Y_,TeamRunError as z_,RUN_STATUSES as J_}from"./team-run.js";import{teamToolProvider as Q_,teamToolSpec as q_,teamToolTimeoutMs as Z_,describeTeamForApproval as $_,TEAM_TOOL_NAME as eR,TEAM_MANUAL as rR}from"./team-tool.js";import{workLogFor as tR,workLogText as aR,workLogEvidence as sR,describeCall as iR,WORKLOG_KINDS as nR}from"./team-worklog.js";import{normalizeRequest as SR,subtaskFromRequest as ER,takeUp as mR,takeUpLine as cR,holdsGrants as pR,jobFromSubtask as TR,extendDependents as dR,taskTree as _R,threadRows as RR,MAX_SUBTASKS as AR,MAX_DEPTH as fR,MIN_TAKEUP_FIT as uR}from"./team-subtask.js";import{teamLine as OR,teamLanes as NR}from"./team-trail.js";import{promoteRoles as CR,starterTeam as MR,missingStarters as PR,teamHealth as LR,teamShape as xR,describeTeamShape as hR,whereItWorks as FR,rosterRows as DR,agentKind as yR,agentHue as kR,agentColor as UR,agentInitials as bR,roleCardId as vR,cardNumbers as wR,upsertAgents as BR,soloTeam as GR,teamsWithSolos as HR,builtinOrg as KR,isBuiltin as VR,grantChoices as WR,grantsFromChoices as XR,skillChoices as YR,GRANT_INFO as zR,SOLO_BUDGET as JR,TEAM_SHAPES as jR,ROSTER_KINDS as QR}from"./team-org.js";import{observeInbox as ZR,observeStrip as $R,runLanes as eA,spendRows as rA,engineStrip as oA}from"./team-observe.js";import{mcpDispatchProvider as aA,MCP_TOOL_NAME as sA}from"./mcp-dispatch.js";import{createManifest as nA,ManifestError as lA,SOURCES as SA}from"./manifest.js";import{createKernel as mA,meetDecisions as cA,KernelError as pA,REQUIRED_PLUGINS as TA,ALLOW_ALL as dA}from"./kernel.js";import{replay as RA,formatReport as AA,parseJsonl as fA,toJsonl as uA}from"./harness.js";import{compileQuery as OA,findMatches as NA,matchIndexFor as gA,expandReplacement as CA,replaceMatch as MA,replaceAll as PA,replaceAllInRange as LA,MAX_MATCHES as xA}from"./text-search.js";import{DATA_SCOPES as FA}from"./scopes.js";import{MEMORY_VERSION as yA,MEMORY_KINDS as kA,MEMORY_KIND_NAMES as UA,AMBIENT_KINDS as bA,MAX_MEMORY_CHARS as vA,MIN_MEMORY_CHARS as wA,DEFAULT_MAX_MEMORIES as BA,DEFAULT_BLOCK_CHARS as GA,SAME_FACT as HA,MEMORY_TOOL_SPEC as KA,MEMORY_UPCASTERS as VA,MemoryError as WA,normalizeMemory as XA,isValidMemory as YA,memoryKey as zA,slotOf as JA,similarity as jA,containment as QA,candidatesFrom as qA,reconcile as ZA,matchForForget as $A,recall as ef,saysWhere as rf,homePlace as of,needsWhere as tf,memoryBlock as af,markUsed as sf,pruneMemories as nf,memoryToolSystem as lf,upcastMemory as Sf,sameMemory as Ef,AMBIENT_MAX_WORDS as mf}from"./memory.js";import{linksToRead as pf,storyLinkOf as Tf,linkAttachments as df,asksOnlyAboutPage as _f,pageInstruction as Rf}from"./message-links.js";import{frontPagesAskedAbout as ff,frontPageInstruction as uf,FRONT_PAGES as If}from"./site-pages.js";import{SOURCE_TRUST as Nf,SkillSourceError as gf,defineSkillSource as Cf,createSkillSourceRegistry as Mf}from"./skill-sources.js";import{SKILL_MANIFEST_VERSION as Lf,SKILL_CONTEXTS as xf,SKILL_HISTORY_SCOPES as hf,SKILL_MCP_MODES as Ff,SKILL_TRUST as Df,SKILL_FILE_KINDS as yf,SKILL_UPCASTERS as kf,SkillManifestError as Uf,isSafeSkillPath as bf,originOf as vf,trustOf as wf,skillFiles as Bf,needsBridge as Gf,declaredAccess as Hf,originLabel as Kf,sameSkillOrigin as Vf,skillIsStale as Wf,validateSkill as Xf,upcastSkill as Yf,upcastSkills as zf,normalizeSkill as Jf}from"./skill-manifest.js";import{SKILL_VARS as Qf,SKILL_VAR_NAMES as qf,skillVar as Zf,skillVarPattern as $f,parseSkillVars as eu,lintSkillPrompt as ru,suggestSkillVar as ou,substituteSkillVars as tu,expandSkillPrompt as au,skillVarGuidance as su,SkillVarError as iu}from"./skill-vars.js";import{lineAt as lu,writerAffordance as Su,INSTRUCTION_RE as Eu,instructionOnLine as mu,GOAL_MIN_NEW as cu,goalDraftAllowed as pu,createSpendMeter as Tu,writerTail as du,draftSeparator as _u,groundingBlock as Ru,writerRequest as Au,AUTOCOMPLETE_SYSTEM as fu,AUTOCOMPLETE_MAX_TOKENS as uu,AUTOCOMPLETE_TEMPERATURE as Iu,clipCompletion as Ou,GEARS as Nu,WRITER_PREFS as gu,WRITER_PREF_DEFAULTS as Cu,normalizeWriterPrefs as Mu,normalizeIntent as Pu}from"./cowriter-writer.js";import{SLASH_TYPING_RE as xu,NEW_THREAD_SLASH_ITEMS as hu,parseNewThread as Fu,BUG_REPORT_SLASH_ITEMS as Du,parseBugCommand as yu,isSkillEnabled as ku,enabledSkills as Uu,slashCommandItems as bu,matchSlashSkill as vu,matchSlashRecipe as wu,recipeInvocationText as Bu,matchSlashTeam as Gu,teamInvocationText as Hu,slashCommandInsert as Ku,skillInvocationOf as Vu,skillInvocationLabel as Wu}from"./slash-commands.js";import{outlineOf as Yu,parseListItem as zu,continueList as Ju,indentSelection as ju,toggleWrap as Qu,toggleLinePrefix as qu,toggleTask as Zu,toggleLink as $u,docStats as eI,selectionStats as rI}from"./markdown-authoring.js";import{MAX_TAG_LENGTH as tI,MAX_TAGS as aI,normalizeTag as sI,normalizeTags as iI,hasTag as nI,addTag as lI,removeTag as SI,toggleTag as EI,sameTags as mI,formatTag as cI,parseTagQuery as pI,hasTagTerms as TI,formatTagQuery as dI,matchesTagFilter as _I,filterByTags as RI,tagFacets as AI,suggestExistingTags as fI,tagsSearchText as uI}from"./tags.js";import{UNTITLED_MEETING as OI,MAX_TITLE_LENGTH as NI,TITLE_RULES_VERSION as gI,cleanTitle as CI,isGenericTitle as MI,titleFromSummary as PI,titleFromTopics as LI,titleFromParticipants as xI,titleFromDate as hI,readableWhen as FI,deriveMeetingTitle as DI,shouldAutoTitle as yI,isBetterTitleSource as kI,meetingTitlePrompt as UI,parseTitleResponse as bI}from"./titles.js";import{RECORD_KINDS as wI,MAX_TITLE_LEN as BI,LibraryError as GI,parseRecordId as HI,makeRecordId as KI,isRecordId as VI,normalizeStoredRecord as WI,isValidStoredRecord as XI,toSearchRecord as YI,searchTextFor as zI,toIndexEntry as JI,deriveTitle as jI,snippetOf as QI,wordCount as qI,findRecordRefs as ZI,linkRecordRefs as $I,repairAnswerMarkup as eO}from"./library.js";import{CLOCK_TOLERANCE_MS as oO,SyncError as tO,stampOf as aO,decide as sO,planSync as iO,isSettled as nO,forkConflict as lO,advanceBases as SO}from"./sync-plan.js";import{ENCRYPTED_TYPE as mO,COMPRESSIONS as cO,BackupError as pO,KDF_ITERATIONS as TO,encryptBackup as dO,decryptBackup as _O,isEncryptedBackup as RO,RECORD_TYPE as AO,deriveBackupKey as fO,sealRecord as uO,openRecord as IO,isSealedRecord as OO,keyCache as NO,identityCodec as gO,streamCodec as CO,nodeCodec as MO,bestCodec as PO}from"./backup-envelope.js";import{recordsFromBackup as xO,backupFromRecords as hO}from"./backup-records.js";import{DEFAULT_POLICY as DO,SLOW_POLICY as yO,scalePolicy as kO,pickProfile as UO,adaptProfile as bO,policyFor as vO,SLOW_FLUSH_MS as wO,FAST_FLUSH_MS as BO,FAST_STREAK as GO,createJournal as HO,JournalError as KO,ENTRY_VERSION as VO,makeEntry as WO,tombstone as XO,isTombstone as YO,isEntry as zO,entryStamp as JO,supersedes as jO,BOUNDS as QO,createSegment as qO,applyEntry as ZO,segmentBytes as $O,segmentEntries as eN,shouldRotate as rN,mergeSegments as oN,segmentName as tN,parseSegmentName as aN,SEGMENT_RE as sN,boundSegments as iN,segmentsFor as nN,overlay as lN,catchUpPlan as SN}from"./journal.js";import{OMNI_MODES as mN,OMNI_GRAMMAR as cN,parseOmni as pN,extractFilters as TN,resolveSince as dN,wantsModel as _N,isActionable as RN}from"./omni.js";import{THEMES as fN,LIGHT as uN,DARK as IN,PALETTES as ON,SHAPE as NN,TOKEN_NAMES as gN,TOKEN_ROLES as CN,paletteFor as MN,cssVarName as PN,toCssVars as LN,themeStylesheet as xN,resolveTheme as hN}from"./theme.js";import{PLANS as DN,API_BASE as yN,ENDPOINTS as kN,ENTITLEMENT_PUBLIC_JWK as UN,UPGRADE_URL as bN,FEATURE_TIER as vN,PRO_FEATURES as wN,TEAM_FEATURES as BN,FREE_LIMITS as GN,COUNTED as HN,freeCap as KN,observeSince as VN,RECHECK_INTERVAL_MS as WN,EntitlementError as XN,checkoutUrl as YN,planOf as zN,planLabel as JN,isPro as jN,isTeam as QN,can as qN,tierFor as ZN,withinFreeLimit as $N,verifyEntitlement as eg,verifySignedToken as rg,licenseFromPayload as og,needsRecheck as tg}from"./entitlement.js";import{generateDeviceKey as sg,exportDevicePublicKey as ig,signChallenge as ng}from"./device-proof.js";import{renderMarkdown as Sg,defaultLinkPolicy as Eg,defaultImagePolicy as mg}from"./markdown-render.js";import{NOTE_IMAGE_SCHEME as pg,MAX_NOTE_IMAGE_BYTES as Tg,NOTE_IMAGE_TYPES as dg,noteImageId as _g,noteImageRef as Rg,noteImageIds as Ag,noteImageRefs as fg,stripNoteImageRefs as ug,orphanNoteImages as Ig,newNoteImageId as Og}from"./note-images.js";import{parseMeetingText as gg,speakerStats as Cg,densityRibbon as Mg}from"./meeting-text.js";import{speakerBreakdown as Lg,speakerTimeline as xg,formatTalkTime as hg,SPEAKER_SLOTS as Fg}from"./meeting-shape.js";import{isSpeakerImageValue as yg,speakerLabeller as kg}from"./meeting-shape.js";import{SORT_MODES as bg,SORT_LABELS as vg,sortStamp as wg,sortRecords as Bg,filterRecords as Gg,dayBucket as Hg,rowTime as Kg,groupRecords as Vg}from"./record-list.js";import{DATE_PRESETS as Xg,startOfDay as Yg,addDays as zg,dayKey as Jg,resolveDateValue as jg,dateRangeOf as Qg,parseDateQuery as qg,hasDateTerms as Zg,isSingleDay as $g,formatDateTerm as eC,setDateTerm as rC,matchesDateRange as oC,filterByDate as tC,describeDateRange as aC,dateFilterLabel as sC,activePreset as iC,pickDay as nC,shiftMonth as lC,monthGrid as SC,dayCounts as EC,nearbyDays as mC,localeWeekStart as cC}from"./date-filter.js";import{INSIGHT_KINDS as TC,summarySections as dC,insightKindOf as _C,meetingInsights as RC,hasInsights as AC}from"./meeting-insights.js";import{demd as uC,NOTE_SECTIONS as IC,noteSectionKind as OC,MOMENT_BADGES as NC,momentBadge as gC,parseMeetingNotes as CC,groupActionsByOwner as MC}from"./meeting-insights.js";import{PREF_SECTIONS as LC,PREF_SECTION_IDS as xC,DESKTOP_SECTION_IDS as hC,sectionSpec as FC,sectionValue as DC,pickSections as yC,applySections as kC,sectionHash as UC,mergeStamped as bC,changedSections as vC}from"./client-prefs.js";import{SETTINGS_GROUPS as BC,SETTINGS_PAGES as GC,REQUIREMENTS as HC,BOOKKEEPING_KEYS as KC,listRows as VC,findRow as WC,pageById as XC,groupById as YC,pagesOf as zC,quickRows as JC,breadcrumb as jC,linkTo as QC,linkToRow as qC,parseLink as ZC,valueOf as $C,setValue as eM,effectiveValue as rM,describeValue as oM,SETTINGS_OPEN_DEFAULT as tM,settingsOpenMode as aM,searchSettings as sM,statusOf as iM,statusAll as nM,homeChecklist as lM,gateOf as SM,sectionOfRow as EM}from"./settings-registry.js";import{pointsAtGateway as cM,destinationFromEndpoint as pM,destinationFromAgent as TM,availableDestinations as dM,seedDestinations as _M,shouldSeedDestinations as RM,mergeEndpointDestinations as AM}from"./gateway-dests.js";import{McpClient as uM,mcpProvider as IM}from"./mcp-client.js";import{mcpSharedSystem as NM,mcpInventorySystem as gM,sourceCitationSystem as CM,combineSystemPrompt as MM,toolStatus as PM,widgetAuthoringSystem as LM,vaultWidgetSystem as xM,wantsVaultGuidance as hM}from"./tool-hints.js";import{adaptiveToolRetryHint as DM,createAdaptiveToolPolicy as yM,isInvalidToolParametersResult as kM}from"./adaptive-tool-policy.js";import{getMcpProviders as bM,testMcpServer as vM,resetMcp as wM,mcpBackoff as BM}from"./mcp-manager.js";import{SIDELINE_COMMANDS as HM,BRINGBACK_COMMAND as KM,THREAD_TOOL_NAME as VM,SIDELINE_SLASH_ITEMS as WM,THREAD_TOOL_SPEC as XM,parseSideline as YM,parseBringBack as zM,resolveSidelineTarget as JM,threadManifest as jM,threadToolProvider as QM,readThread as qM,briefPrompt as ZM,foldBackNote as $M,foldNotes as eP,nextSidelineIndex as rP,sourceOf as oP,noteUnits as tP,sidelinePath as aP,foldBackFor as sP,SIDELINE_TOOL_NAME as iP,SIDELINE_TOOL_SPEC as nP,sidelineToolProvider as lP}from"./sideline.js";import{WEATHER_TOOL_NAME as EP,WEATHER_TOOL_SYSTEM as mP,weatherToolProvider as cP,weatherFromSearch as pP}from"./weather-tool.js";import{DECIDE_TOOL_NAME as dP,RERANK_TOOL_NAME as _P,CAPABILITY_TOOLS_SYSTEM as RP,capabilityToolsProvider as AP}from"./capability-tools.js";import{openDecision as uP,distributionConfidence as IP}from"./open-decision.js";import{IN_PROCESS_IDS as NP,inProcessView as gP,capabilityView as CP,choicePatch as MP,choiceNote as PP,inProcessPatch as LP}from"./runtime-in-process.js";import{renderContent as hP,toChatMessages as FP,toMultimodalMessages as DP,imageAttachmentsOf as yP,deferAttachedSources as kP,withSourceTool as UP,SOURCE_TOOL_SPEC as bP}from"./context-attachments.js";import{prefetchPlan as wP,prefetchAttachment as BP,lookupResult as GP,lookupLabel as HP,runResearchItem as KP,weatherPlace as VP,weatherFollowupPlace as WP,newsAsk as XP,pageAsk as YP,answeredByPrefetch as zP,webRedoAsk as JP,aboutOwnPast as jP,offeredSearch as QP,prefetchBudgetMs as qP}from"./prefetch.js";import{createFetchedStore as $P,withFetchedMemo as eL,fetchKey as rL,fetchTitle as oL,fetchedAsSources as tL,fetchedFacts as aL,defaultTtl as sL,exchangeOf as iL,FETCHED_TTL_MS as nL}from"./fetched.js";import{windowOf as SL,fitFor as EL,keepRecentFor as mL,minWindowFor as cL,isContextLimitError as pL,FIT_HEADROOM as TL,SMALL_WINDOW as dL,isSmallWindow as _L,SMALL_WINDOW_ROUNDS as RL}from"./context-window.js";import{planCompaction as fL,compactionPrompt as uL,compactionRecord as IL,messagesAfter as OL,systemWithSummary as NL,compactable as gL,COMPACTION_SYSTEM as CL}from"./compaction.js";import{selectContext as PL}from"./context-select.js";import{withoutOwnInstructions as xL}from"./own-instructions.js";import{digest as FL,needsWhole as DL}from"./digest.js";import{planRetrieval as kL,toolsWanted as UL,worldAnswered as bL,worldPlanned as vL,toolPlan as wL,contextPlan as BL,historyContext as GL,HISTORY_NOTE as HL,placeItems as KL,planTurn as VL}from"./retrieval-plan.js";import{intentNeeds as XL,intentSchema as YL,intentPrompt as zL,intentFromReply as JL,intentItems as jL,wantsIntent as QL,wantsDecision as qL,decideIntent as ZL,questionsIn as $L,partQueries as ex,MAX_PARTS as rx,EXPECTS as ox,expectsOf as tx}from"./turn-intent.js";import{figuresIn as sx,unsupportedFigures as ix,unsupportedNote as nx,groundingNote as lx,turnGroundingNote as Sx}from"./answer-grounding.js";import{turnFlow as mx,turnFlowChart as cx,flowWorthDrawing as px,stepAction as Tx,stepState as dx}from"./turn-flow.js";import{runTurnPipeline as Rx,finishTurn as Ax,routeByRule as fx,defineLane as ux,listLanes as Ix,TURN_STAGES as Ox}from"./turn-pipeline.js";import{gatherItems as gx,isMiss as Cx,isWebSearch as Mx,GATHER_LIMITS as Px}from"./turn-gather.js";import{TURN_EVENTS as xx,createTurnEvents as hx,activityOf as Fx,applyStateDelta as Dx}from"./turn-events.js";import{QUESTION_PLAN_LIMITS as kx,SEARCH_UNAVAILABLE as Ux,factSchema as bx,factSchemaFor as vx,partsOf as wx,plainEvidence as Bx,evidenceFor as Gx,rankedEvidence as Hx,factPrompt as Kx,fitsExpected as Vx,snapQuote as Wx,standsOn as Xx,subjectsOf as Yx,factFromReply as zx,carried as Jx,againQuery as jx,pointsBack as Qx,dependsOn as qx,partsPlan as Zx,notFoundLines as $x,factsList as eh,sourcesOf as rh,finishAnswer as oh,gatherFacts as th}from"./question-plan.js";import{createCassette as sh,gradeAnswer as ih,scoreRuns as nh,textKey as lh,ReplayMiss as Sh}from"./turn-replay.js";import{asksIdentity as mh,identitySystem as ch,identityHint as ph}from"./identity.js";import{splitBlocks as dh,mergeNote as _h,syncNote as Rh,conflictsIn as Ah,resolveConflict as fh}from"./note-merge.js";import{STITCH_LIMITS as Ih,CUT_FINISH as Oh,partChars as Nh,splitForWindow as gh,partPrompt as Ch,mapParts as Mh,reduceNotes as Ph,fitAttachments as Lh,isNone as xh,continuationMessages as hh,trimOverlap as Fh,withStitching as Dh,CONTINUE_TEXT as yh}from"./stitch.js";import{presenceFor as Uh,presenceDelta as bh,reachOf as vh,withPresence as wh,presenceBlock as Bh,roundCount as Gh,roundMinutes as Hh,PRESENCE_BUDGET_TOKENS as Kh,PRESENCE_KINDS as Vh}from"./presence.js";import{PolicyError as Xh,POLICY_VERSION as Yh,POLICY_TOKEN_TYPE as zh,REDACTION_TIERS as Jh,LOCKABLE as jh,FEATURES as Qh,PERMISSION_MODES as qh,PRODUCT_HOSTS as Zh,normalizeOrgPolicy as $h,endpointAllowed as eF,modelAllowed as rF,agentAllowed as oF,permissionMode as tF,routeAllowed as aF,redactionTier as sF,egressAllowed as iF,settingLocked as nF,featureEnabled as lF,applyPolicyToSettings as SF,policyLabel as EF,policyHash as mF,verifyPolicyToken as cF,globToRegExp as pF}from"./policy.js";import{languageInstruction as dF,RESPONSE_LANGUAGES as _F}from"./response-language.js";import{NOTE_TOOL_SPECS as AF,makeNoteToolExecutor as fF}from"./note-tool.js";import{memoryToolProvider as IF}from"./memory-tool.js";import{captureFromMessage as NF}from"./memory-capture.js";import{skillRunFromSkill as CF,skillPackageFiles as MF,filterMcpServersForSkill as PF,skillToolSystem as LF,skillHandle as xF,rankSkills as hF,skillCatalogSystem as FF}from"./skill-runtime.js";import{skillFileProvider as yF,SKILL_FILE_TOOL as kF,skillEntry as UF,skillDiscoveryProvider as bF}from"./skill-files.js";import{SKILL_DRAFT_SCHEMA as wF,MAX_SKILL_FILE_BYTES as BF,MAX_SKILL_PACKAGE_BYTES as GF,skillCreatorPrompt as HF,skillIdFrom as KF,admitPackage as VF,skillFromDraft as WF,packagesFromFiles as XF}from"./skill-creator.js";import{PATH_KIND as zF,FILES_TOOL as JF,checkAttachablePath as jF,secretReason as QF,isSecretPath as qF,pathAttachment as ZF,describeAttachedPath as $F,describePathSize as eD,displayPath as rD,pathAttachmentsOf as oD,withAbsolutePaths as tD,attachedFilesProvider as aD,sniffType as sD,normalizePath as iD,collapseDots as nD,basenameOf as lD,SKIP_DIR_NAMES as SD}from"./attached-paths.js";import{EXTRACT_ROUTE as mD,EXTRACT_PROVIDER_ID as cD,MAX_DOCUMENT_BYTES as pD,PAGE_CHARS as TD,EXTRACT_TYPES as dD,validateExtractRequest as _D,validateExtractResponse as RD,paginateText as AD,gatewayExtractor as fD,extractorChain as uD}from"./extract-capability.js";import{MCP_REGISTRY_API as OD,MCP_CATALOG as ND,registryListUrl as gD,fetchMcpRegistryPage as CD,normalizeRegistryPage as MD,normalizeRegistryEntry as PD,mcpServerFromCatalogItem as LD}from"./mcp-registry.js";import{CE_SPECVERSION as hD,CE_TYPE_PREFIX as FD,CE_SOURCE_PREFIX as DD,rfc3339 as yD,ceSourceOf as kD,ceHostOf as UD,toCloudEvent as bD,fromCloudEvent as vD,toCloudEventLines as wD,fromCloudEventLines as BD,toCloudEventBatch as GD}from"./cloudevents.js";import{PUSH_LIMITS as KD,planEventPush as VD,ingestCloudEvents as WD,cursorOf as XD}from"./event-sync.js";import{eventStats as zD,projectYear as JD}from"./event-stats.js";import{SEALED_TYPE as QD,SEALED_VERSION as qD,SealError as ZD,webCryptoSealer as $D,nodeSealer as ey,newDeviceKey as ry,sealBlob as oy,openBlob as ty,shredBlob as ay,isSealedBlob as sy,isShredded as iy}from"./blob-envelope.js";import{USAGE_RING_MAX as ly,COST_BASES as Sy,usageRecord as Ey,usageFromEvent as my,usageFromOpenAi as cy,rollupKey as py,applyUsage as Ty,summarizeUsage as dy,formatTurnUsage as _y,describeTurnUsage as Ry,promptTokensOf as Ay}from"./usage.js";import{rateFor as uy,costFor as Iy,formatUsd as Oy,PRICING_BASES as Ny,PRICING_LABELS as gy,normalizePricing as Cy,priceUsage as My}from"./usage-pricing.js";import{FACTCHECK_SCHEMA as Ly,FACTCHECK_VERDICTS as xy,lastClaimOf as hy,factcheckPrompt as Fy,factcheckVerdict as Dy,factcheckKey as yy}from"./cowriter-factcheck.js";import{createVoiceLoop as Uy,VOICE_STATES as by,MUTE_GRACE_MS as vy,MAX_PENDING_CHARS as wy,CONTINUATION_WINDOW_MS as By,ECHO_OVERLAP as Gy,ECHO_TAIL_MS as Hy,MIN_BARGE_IN_WORDS as Ky,looksLikeEcho as Vy}from"./voice-loop.js";import{voiceStep as Xy,initialVoiceState as Yy,voiceSpeaker as zy,isFarewell as Jy,ANOTHER_VOICE as jy}from"./voice-brain.js";import{speakStream as qy,speakable as Zy,SPOKEN_REPLY_HINT as $y}from"./speak-stream.js";import{createVad as rk,lowBandEnergy as ok,pcmEnergy as tk,VAD_DEFAULTS as ak}from"./voice-vad.js";import{HF_API as ik,TTS_ARCH_LABEL as nk,ttsArchOf as lk,partitionTtsModels as Sk,modelSearchUrl as Ek,searchModels as mk,normalizeModel as ck,formatDownloads as pk,describeSearchResult as Tk}from"./model-registry.js";import{SAMPLE_RATE as _k,MIN_SECONDS as Rk,TARGET_SECONDS as Ak,MAX_SECONDS as fk,PROMPT_TEXT as uk,sampleSeconds as Ik,sampleTooShort as Ok,defaultVoiceName as Nk,microphoneError as gk,webMedia as Ck,startRecording as Mk}from"./voice-sample.js";import{TIER_LABEL as Lk,modelRows as xk,catalogStatus as hk,dtypePicker as Fk,voicePicker as Dk,voiceListRows as yk,diarizeRows as kk,switchOutcome as Uk,saveVoiceFailure as bk,saveTimedOut as vk,catalogUnavailable as wk}from"./voice-models.js";import{dictToText as Gk,textToDict as Hk}from"./redaction-dictionary.js";import{groupRuns as Vk,summarizeRun as Wk,findRepeats as Xk,withCost as Yk,verdict as zk,toSanitizedReport as Jk}from"./run-details.js";import{RELAYED_HOST as Qk,linkSurfaceOf as qk,surfaceLabel as Zk,isRelayedTurn as $k,usageFromRelayedTurn as eU,summarizeRelayedUsage as rU,mergeUsageSummaries as oU,relayedRunsOf as tU,relayedThreadTitle as aU,pullRelayedEvents as sU}from"./link-activity.js";import{parseMcpConfig as nU,parseArgsInput as lU,argsToText as SU,parseEnvInput as EU,envToText as mU,envLikeArgs as cU}from"./mcp-config-import.js";import{mutableRef as TU,refreshArgs as dU,canRefresh as _U,describeRuntime as RU}from"./mcp-launcher.js";import{defaultMcpServers as fU,isDefaultMcpServer as uU}from"./default-mcp-servers.js";import{MONITOR_SOURCES as OU,DEFAULT_MONITOR_PROFILE as NU,monitorProfile as gU,monitorWindowMs as CU,monitorNeedsTools as MU,filterMonitorTools as PU,recentFindings as LU,describeMonitorProfile as xU}from"./monitor-profile.js";import{NOTHING_NEW as FU,isNothingNew as DU,accumulates as yU,priorFindingsText as kU,deltaInstruction as UU,monitorPrompt as bU,applyMonitorReply as vU}from"./monitor-turn.js";import{defaultSkills as BU,meetingNotesSkill as GU}from"./default-skills.js";import{SURFACES as KU,FEATURES as VU,listFeatures as WU,featureIds as XU}from"./feature-map.js";import{ISSUE_REPO as zU,NEW_ISSUE_BASE as JU,ISSUE_SEARCH_API as jU,MAX_ISSUE_URL as QU,scrubReportText as qU,diagnosticsText as ZU,buildBugReport as $U,newIssueUrl as eb,titleTerms as rb,issueSearchUrl as ob,matchIssues as tb,findExistingIssues as ab,issueCommentText as sb}from"./bug-report.js";import{WEB_RESEARCH_LIMITS as nb,WEB_TASK_DOMAINS as lb,researchAsk as Sb,refineQueries as Eb,parseSearchText as mb,cleanUrl as cb,pageKey as pb,passagesOf as Tb,webResearch as db,researchBrief as _b,researchCall as Rb,runResearch as Ab}from"./web-research.js";import{parseAmount as ub,moneyIn as Ib,basisAt as Ob,qualifierAt as Nb,quoteAround as gb,offersIn as Cb,rankOffers as Mb,comparable as Pb,basisLabel as Lb,formatValue as xb,unverifiedAmounts as hb,quoteFormIn as Fb}from"./offers.js";import{isSecretField as yb,maskSecretFields as kb,isPersonalField as Ub,commitKind as bb,commitQuestion as vb,captchaIn as wb,captchaHandoff as Bb,fenceUntrusted as Gb,isFenced as Hb}from"./page-guard.js";import{BROWSER_RELAY as Vb,BROWSER_KINDS as Wb,validateBrowserCall as Xb,validateBrowserAnnounce as Yb,validateBrowserResult as zb,createBrowserRelay as Jb,browserRelaySystem as jb}from"./browser-relay.js";export{za as ACCESS_LOG_MAX,Ya as ACCESS_LOG_VERSION,s as ACTOR_KINDS,Cd as AGENT_ID_RE,rp as AGENT_REF_RE,dA as ALLOW_ALL,a as ALL_TYPES,bA as AMBIENT_KINDS,mf as AMBIENT_MAX_WORDS,jy as ANOTHER_VOICE,yN as API_BASE,Md as APPLIES_TO,Mp as ASK_TYPES,Ld as ASSISTANT_ID,un as ASSISTANT_NAME,uu as AUTOCOMPLETE_MAX_TOKENS,fu as AUTOCOMPLETE_SYSTEM,Iu as AUTOCOMPLETE_TEMPERATURE,FT as AUTONOMY,ss as AdapterError,xd as AgentError,Rn as AnalyzerError,TO as BACKUP_KDF_ITERATIONS,Up as BOARD_TOOL_NAME,KC as BOOKKEEPING_KEYS,Mt as BRIEF_STATES,KM as BRINGBACK_COMMAND,Wb as BROWSER_KINDS,Vb as BROWSER_RELAY,Bc as BUDGET_DIMENSIONS,Du as BUG_REPORT_SLASH_ITEMS,qi as BUILTIN_TRIGGERS,Bn as BUILTIN_VOICE_INTENTS,pO as BackupError,wc as BudgetError,_n as CADENCES,RP as CAPABILITY_TOOLS_SYSTEM,DD as CE_SOURCE_PREFIX,hD as CE_SPECVERSION,FD as CE_TYPE_PREFIX,yT as CHECKS,Pt as CLAIM_KINDS,n as CLASSES,oO as CLOCK_TOLERANCE_MS,CL as COMPACTION_SYSTEM,cO as COMPRESSIONS,_c as COMPRESSION_MODES,By as CONTINUATION_WINDOW_MS,yh as CONTINUE_TEXT,tE as COOLDOWN_MS,Sy as COST_BASES,HN as COUNTED,Tr as COWRITER_SYSTEM,dr as COWRITER_TEMPERATURE,o as CURRENT_VERSION,Oh as CUT_FINISH,IN as DARK,FA as DATA_SCOPES,Xg as DATE_PRESETS,On as DAYPART_HOUR,dP as DECIDE_TOOL_NAME,Yd as DECLINE_REASONS,Ve as DEFAULT_API_ENGINES,bp as DEFAULT_ASK_TIMEOUT_MS,GA as DEFAULT_BLOCK_CHARS,Rc as DEFAULT_COMPRESSION,hT as DEFAULT_GATE,li as DEFAULT_INTERNAL_PATTERNS,fi as DEFAULT_LOCK_MS,LE as DEFAULT_MAX_FINISH_TRIES,BA as DEFAULT_MAX_MEMORIES,PE as DEFAULT_MAX_ROUNDS,R_ as DEFAULT_MIN_CALLS,NU as DEFAULT_MONITOR_PROFILE,DO as DEFAULT_POLICY,KE as DEFAULT_SHIELD,VE as DEFAULT_STORE,lt as DEFAULT_THRESHOLD,fn as DEFAULT_WAKE,Xm as DESCRIBE_ACTION,hC as DESKTOP_SECTION_IDS,Gy as ECHO_OVERLAP,Hy as ECHO_TAIL_MS,l as EFFECTS,S as EGRESS,Pd as EGRESS_CLASSES,mO as ENCRYPTED_TYPE,kN as ENDPOINTS,_o as ENGINES_REV,co as ENGINE_KINDS,dd as ENGINE_SPEC_KINDS,Al as ENTITIES_SCHEMA,UN as ENTITLEMENT_PUBLIC_JWK,Rl as ENTITY_TYPES,fs as ENTRY_KINDS,VO as ENTRY_VERSION,t as EVENT_TYPES,zT as EXECUTIVE,FE as EXHAUSTED_NOTE,ox as EXPECTS,cD as EXTRACT_PROVIDER_ID,mD as EXTRACT_ROUTE,dD as EXTRACT_TYPES,XN as EntitlementError,E as EventError,Ly as FACTCHECK_SCHEMA,xy as FACTCHECK_VERDICTS,Ys as FAILOVER_CAPABILITY_GAP,Xs as FAILOVER_CLASS_GAP,SE as FAILOVER_MAX_ATTEMPTS,BO as FAST_FLUSH_MS,GO as FAST_STREAK,Qh as FEATURES,VU as FEATURE_MAP,KU as FEATURE_SURFACES,vN as FEATURE_TIER,nL as FETCHED_TTL_MS,Dl as FIELD_TYPES,JF as FILES_TOOL,up as FINDINGS_SCHEMA,Ip as FINDING_KINDS,Tm as FIND_ACTION,rc as FIND_DESCRIPTION,oc as FIND_RESIDENT,ec as FIND_TOOL_NAME,xE as FINISH_NUDGES,TL as FIT_HEADROOM,GN as FREE_LIMITS,If as FRONT_PAGES,Im as FUSED_BUDGET_MS,um as FUSED_CANDIDATES,Px as GATHER_LIMITS,Nu as GEARS,cu as GOAL_MIN_NEW,Zc as GRANTABLE,zR as GRANT_INFO,ep as GRANT_RE,ik as HF_API,HL as HISTORY_NOTE,Cm as HUB_TOOL_NAME,DT as HUMAN_FLAGS,$S as INPUT_PROGRESS_TOOLS,TC as INSIGHT_KINDS,Eu as INSTRUCTION_RE,Si as INTERNAL_PATTERN_CATALOG,eo as INVARIANTS,NP as IN_PROCESS_IDS,zU as ISSUE_REPO,jU as ISSUE_SEARCH_API,Hi as JOB_ACTIONS,gT as JOB_POST_ID_RE,NT as JOB_POST_STATUSES,QO as JOURNAL_BOUNDS,OT as JobPostError,KO as JournalError,Ai as KDF_HASH,Ri as KDF_ITERATIONS,pA as KernelError,Xd as LEDGER_ENTRY_KINDS,Wd as LEDGER_VERSION,uN as LIGHT,Yp as LIVE_RUN_STATUSES,jh as LOCKABLE,hE as LOOPING_NUDGE,hs as LOOP_KINDS,GI as LibraryError,Fs as LoopError,Ft as MAX_BRIEF_CHARS,ht as MAX_BRIEF_RECORDS,Lt as MAX_CLAIMS,xt as MAX_CLAIM_REFS,In as MAX_COMMANDS_PER_DELTA,fR as MAX_DEPTH,pD as MAX_DOCUMENT_BYTES,gi as MAX_ENTRIES,Jt as MAX_EXCERPTS,jt as MAX_EXCERPT_CHARS,tr as MAX_GRAPH_NODES,QU as MAX_ISSUE_URL,JT as MAX_JOBS_PER_ROUND,xA as MAX_MATCHES,vA as MAX_MEMORY_CHARS,Oi as MAX_NOTE_CHARS,Tg as MAX_NOTE_IMAGE_BYTES,rx as MAX_PARTS,wy as MAX_PENDING_CHARS,jT as MAX_ROUNDS,fk as MAX_SECONDS,Ni as MAX_SECRET_CHARS,BF as MAX_SKILL_FILE_BYTES,GF as MAX_SKILL_PACKAGE_BYTES,St as MAX_SUBJECTS,Et as MAX_SUBJECT_CHARS,AR as MAX_SUBTASKS,gl as MAX_SUGGESTIONS,Cl as MAX_SUGGESTION_CHARS,zt as MAX_SYNTHESIS_CLAIMS,aI as MAX_TAGS,tI as MAX_TAG_LENGTH,Ii as MAX_TITLE_CHARS,BI as MAX_TITLE_LEN,NI as MAX_TITLE_LENGTH,nl as MAX_TOPICS,ll as MAX_TOPIC_CHARS,ND as MCP_CATALOG,OD as MCP_REGISTRY_API,TS as MCP_SIGN_IN_CODE,sA as MCP_TOOL_NAME,kA as MEMORY_KINDS,UA as MEMORY_KIND_NAMES,KA as MEMORY_TOOL_SPEC,VA as MEMORY_UPCASTERS,yA as MEMORY_VERSION,Qc as MERGE_POLICIES,Ky as MIN_BARGE_IN_WORDS,e_ as MIN_FIT,wA as MIN_MEMORY_CHARS,Rk as MIN_SECONDS,uR as MIN_TAKEUP_FIT,Ki as MISSED_POLICIES,NC as MOMENT_BADGES,OU as MONITOR_SOURCES,vy as MUTE_GRACE_MS,lA as ManifestError,uM as McpClient,WA as MemoryError,ua as NEAR_TITLE_DISTANCE,JU as NEW_ISSUE_BASE,hu as NEW_THREAD_SLASH_ITEMS,H as NOTE_ACTIONS,W as NOTE_ACTION_ERRORS,K as NOTE_ACTION_ORDER,V as NOTE_ACTION_TEMPERATURE,X as NOTE_COMMANDS,z as NOTE_COMMAND_MAX_TOKENS,Y as NOTE_COMMAND_TEMPERATURE,pg as NOTE_IMAGE_SCHEME,dg as NOTE_IMAGE_TYPES,IC as NOTE_SECTIONS,AF as NOTE_TOOL_SPECS,FU as NOTHING_NEW,ZS as OBSERVATION_TOOLS,cN as OMNI_GRAMMAR,mN as OMNI_MODES,he as PACER_DEFAULTS,TD as PAGE_CHARS,ON as PALETTES,HS as PARALLEL_LOCAL_RE,zF as PATH_KIND,Na as PDF_MAX_CHARS,YE as PERMISSION_ANSWERS,XE as PERMISSION_EVENT,qh as PERMISSION_MODES,zE as PERMISSION_TIMEOUT_MS,JE as PERMISSION_TOOL_NAME,DN as PLANS,Mr as PLAN_AUTHORS,Lr as PLAN_DECOMPOSE_MAX_TOKENS,Pr as PLAN_DECOMPOSE_SYSTEM,xr as PLAN_DECOMPOSE_TEMPERATURE,qc as PLAN_MODES,Cr as PLAN_ROLES,hr as PLAN_SECTION_MAX_TOKENS,Fr as PLAN_SECTION_TEMPERATURE,zh as POLICY_TOKEN_TYPE,Yh as POLICY_VERSION,gp as POST_KINDS,Cp as POST_STATUSES,LC as PREF_SECTIONS,xC as PREF_SECTION_IDS,Kh as PRESENCE_BUDGET_TOKENS,Vh as PRESENCE_KINDS,Ny as PRICING_BASES,gy as PRICING_LABELS,Zh as PRODUCT_HOSTS,mT as PROJECT_ID_RE,WT as PROJECT_JOBS_SCHEMA,XT as PROJECT_REVIEW_SCHEMA,QT as PROJECT_RUN_STATUSES,ET as PROJECT_STATUSES,uk as PROMPT_TEXT,qt as PROPOSAL_STATES,wN as PRO_FEATURES,lS as PUBLIC_REGISTRY,KD as PUSH_LIMITS,Xh as PolicyError,ST as ProjectError,YT as ProjectRunError,kx as QUESTION_PLAN_LIMITS,Br as REACH,WN as RECHECK_INTERVAL_MS,Pc as RECIPE_MODES,Dc as RECIPE_TOOL_NAME,pd as RECORD_ENGINE_KINDS,wI as RECORD_KINDS,AO as RECORD_TYPE,$d as RECRUIT_SCHEMA,Jh as REDACTION_TIERS,ft as REDACTION_TOKEN_TYPES,Xn as REFINEMENT_SCHEMA,d as REF_KINDS,no as REGISTRY_STATES,Qk as RELAYED_HOST,TA as REQUIRED_PLUGINS,HC as REQUIREMENTS,_P as RERANK_TOOL_NAME,_ as RESOLUTION,_F as RESPONSE_LANGUAGES,yl as RESPONSE_MODES,ue as RESULTS_PER_ENGINE,HE as RESULT_TOOL_NAME,zp as RESUMABLE_RUN_STATUSES,cs as RETRIEVAL_TOOLS,Bm as REVEAL,md as ROLE_KINDS,jc as ROLE_MODES,QR as ROSTER_KINDS,DE as ROUND_SEPARATOR,_d as ROUTE_PREFERS,J_ as RUN_STATUSES,Mc as RecipeError,Sh as ReplayMiss,Js as RouterError,Ti as RuleError,HA as SAME_FACT,_k as SAMPLE_RATE,Bi as SCHEDULE_KINDS,I_ as SCM_KINDS,i as SCOPE_KINDS,Ed as SCORECARD_ENTRY_KINDS,cd as SCORECARD_VERSION,QD as SEALED_TYPE,qD as SEALED_VERSION,be as SEARCH_API_PRESETS,fe as SEARCH_ENGINES,Qe as SEARCH_STATUS,Ux as SEARCH_UNAVAILABLE,sN as SEGMENT_RE,It as SELF_LABELS,BC as SETTINGS_GROUPS,tM as SETTINGS_OPEN_DEFAULT,GC as SETTINGS_PAGES,NN as SHAPE,HM as SIDELINE_COMMANDS,WM as SIDELINE_SLASH_ITEMS,iP as SIDELINE_TOOL_NAME,nP as SIDELINE_TOOL_SPEC,xf as SKILL_CONTEXTS,wF as SKILL_DRAFT_SCHEMA,yf as SKILL_FILE_KINDS,kF as SKILL_FILE_TOOL,hf as SKILL_HISTORY_SCOPES,Lf as SKILL_MANIFEST_VERSION,Ff as SKILL_MCP_MODES,Df as SKILL_TRUST,kf as SKILL_UPCASTERS,Qf as SKILL_VARS,qf as SKILL_VAR_NAMES,SD as SKIP_DIR_NAMES,xu as SLASH_TYPING_RE,wO as SLOW_FLUSH_MS,yO as SLOW_POLICY,dL as SMALL_WINDOW,RL as SMALL_WINDOW_ROUNDS,JR as SOLO_BUDGET,vg as SORT_LABELS,bg as SORT_MODES,SA as SOURCES,bP as SOURCE_TOOL_SPEC,Nf as SOURCE_TRUST,Ia as SPAN_MIN_TERMS,Fg as SPEAKER_SLOTS,$y as SPOKEN_REPLY_HINT,Zp as STALLED_AFTER_MS,wd as STARTER_AGENTS,op as STARTER_TEAMS,G_ as STEP_MAX_CHARS,Ih as STITCH_LIMITS,nt as SUBJECT_KINDS,Ml as SUGGESTIONS_SCHEMA,Zt as SUPERSEDE_OVERLAP,pi as SUPPRESSED,ce as SWARM_ROLES,Wt as SYNTHESIS_SCHEMA,Vi as ScheduleError,ZD as SealError,ve as SearchApiError,po as SearchEngineError,Uf as SkillManifestError,gf as SkillSourceError,iu as SkillVarError,kl as StructuredError,tO as SyncError,Ak as TARGET_SECONDS,H_ as TASK_TRANSCRIPT_MAX_CHARS,BN as TEAM_FEATURES,rR as TEAM_MANUAL,pp as TEAM_PLAN_SCHEMA,jR as TEAM_SHAPES,eR as TEAM_TOOL_NAME,fN as THEMES,Op as THREAD_KINDS,Np as THREAD_STATUSES,VM as THREAD_TOOL_NAME,XM as THREAD_TOOL_SPEC,Lk as TIER_LABEL,gI as TITLE_RULES_VERSION,gN as TOKEN_NAMES,CN as TOKEN_ROLES,FS as TOKEN_SKEW_MS,Sl as TOPICS_SCHEMA,Da as TRANSCRIPT_MAX_CHARS,Gi as TRIGGER_KINDS,nk as TTS_ARCH_LABEL,xx as TURN_EVENTS,Ox as TURN_STAGES,Jc as TeamError,z_ as TeamRunError,ho as ToolGroupError,aE as UNAVAILABLE_REASONS,OI as UNTITLED_MEETING,Vr as UPCASTERS,bN as UPGRADE_URL,ly as USAGE_RING_MAX,sl as UTTERANCE_DANGLING_MS,al as UTTERANCE_SETTLE_MS,ak as VAD_DEFAULTS,_i as VAULT_VERSION,by as VOICE_STATES,ui as VaultError,Nn as VoiceIntentError,go as WEATHER_HOST,Co as WEATHER_TIMEOUT_MS,EP as WEATHER_TOOL_NAME,mP as WEATHER_TOOL_SYSTEM,nb as WEB_RESEARCH_LIMITS,nc as WEB_SEARCH_SPEC,sc as WEB_SEARCH_TOOL_NAME,ic as WEB_SEARCH_TOOL_SYSTEM,lb as WEB_TASK_DOMAINS,rt as WIDGET_SURFACES,zd as WITHDRAW_AFTER,nR as WORKLOG_KINDS,$c as WORK_GRANTS,gu as WRITER_PREFS,Cu as WRITER_PREF_DEFAULTS,Mo as WeatherError,Fa as YOUTUBE_HOSTS,Ds as abortCause,jP as aboutOwnPast,ea as accept,yU as accumulates,Ym as actionMenu,iC as activePreset,Fx as activityOf,bO as adaptProfile,DM as adaptiveToolRetryHint,zg as addDays,lI as addTag,NE as addUsage,id as adjustSummary,VF as admitPackage,SO as advanceBases,aS as adviceText,jx as againQuery,oF as agentAllowed,UR as agentColor,Hd as agentFromForm,kR as agentHue,bR as agentInitials,yR as agentKind,oe as agentMentionAt,dt as aliasMap,zP as answeredByPrefetch,ME as anthropicTranscript,Ke as apiEngine,We as apiEnginesFrom,Je as apiTrialVerdict,RT as applyAll,f_ as applyCard,pr as applyEdits,ZO as applyEntry,vU as applyMonitorReply,SF as applyPolicyToSettings,kC as applySections,Dx as applyStateDelta,Ty as applyUsage,_e as appoint,Oo as areaLabel,Ls as argsShape,SU as argsToText,mh as asksIdentity,_f as asksOnlyAboutPage,yd as assistantAgent,aD as attachedFilesProvider,mo as attemptOrder,od as attest,PS as authHeader,NS as authorizeUrl,dM as availableDestinations,hO as backupFromRecords,kS as bareToolName,lD as basenameOf,Ob as basisAt,Lb as basisLabel,PO as bestCodec,Gd as blankAgent,h_ as blankConnection,uT as blankJobPost,aT as blankProject,ap as blankTeam,qS as blockedToolResult,Rp as boardText,Fp as boardToolProvider,Dp as boardToolSpec,iN as boundSegments,M_ as branchFor,jC as breadcrumb,cp as breakCycles,yt as briefId,bt as briefLinks,ZM as briefPrompt,Ut as briefTerms,kt as briefToText,jb as browserRelaySystem,Ge as buildApiRequest,$U as buildBugReport,zm as buildGroupDispatchSpec,ar as buildNoteGraph,xa as buildPdfDocument,Ie as buildSearchUrl,Vm as buildToolset,Ts as buildTrajectory,Va as buildTranscriptDocument,KR as builtinOrg,qN as can,Ui as canAddEntry,_T as canJobPostTransition,tT as canProjectTransition,_U as canRefresh,US as canRunConcurrently,jr as canSatisfy,qA as candidatesFrom,ZT as canonical,AS as canonicalResource,AP as capabilityToolsProvider,CP as capabilityView,Bb as captchaHandoff,wb as captchaIn,Ua as captionTracksFromPlayerResponse,NF as captureFromMessage,wR as cardNumbers,A_ as cardOverride,Jx as carried,p_ as carveBudget,hk as catalogStatus,wk as catalogUnavailable,SN as catchUpPlan,N as causesAreWellFormed,UD as ceHostOf,kD as ceSourceOf,vC as changedSections,jF as checkAttachablePath,$r as checkInvariants,vt as checkKnowledgeInvariants,YN as checkoutUrl,Wp as checkpointFrom,B as chipText,PP as choiceNote,MP as choicePatch,Yt as claimsFromSynthesis,Fe as classifyAnswer,rE as classifyFailure,Te as classifyModel,oi as classifySource,am as claudePermissionResponse,CI as cleanTitle,cb as cleanUrl,Ou as clipCompletion,b_ as clipMessage,mn as clipText,U_ as clipTranscript,Wl as coerce,Ol as coerceEntities,nD as collapseDots,MM as combineSystemPrompt,Z as commandLineAt,rl as commandLooksFinished,Ln as commandsFromSegments,bb as commitKind,vb as commitQuestion,BE as compactValue,gL as compactable,uL as compactionPrompt,IL as compactionRecord,Pb as comparable,O as compareEvents,OA as compileQuery,gn as compileWake,w as composerChips,cc as compressToolSpec,pc as compressToolSpecs,Tc as compressionStats,C_ as connectionFor,F_ as connectionFromForm,QA as containment,Dt as contentHash,BL as contextPlan,hh as continuationMessages,w_ as continuationNote,Ju as continueList,ta as converge,Iy as costFor,Qa as createAccessLog,as as createAdapterRegistry,yM as createAdaptiveToolPolicy,dn as createAnalyzerRegistry,yp as createAnswerBox,p as createAppender,ao as createBlobStore,dp as createBoard,Jb as createBrowserRelay,kc as createBudget,AE as createCallRunner,sh as createCassette,ms as createCitationCollector,B_ as createControl,De as createEnginePacer,$P as createFetchedStore,HO as createJournal,mA as createKernel,to as createLogStore,nA as createManifest,oo as createMemoryAdapter,oE as createModelHealth,ws as createModelRouter,nm as createPermissionDesk,io as createRegistry,kE as createResultStore,ci as createRuleEngine,wp as createRunCache,qO as createSegment,Mf as createSkillSourceRegistry,Tu as createSpendMeter,Ps as createStepRecorder,Yl as createStructuredStream,xo as createToolGroupRegistry,YS as createToolLoopGuard,Qi as createTriggerRegistry,hx as createTurnEvents,Ms as createTurnRunner,tl as createUtteranceGate,rk as createVad,Ci as createVault,vn as createVoiceIntentRegistry,Uy as createVoiceLoop,L_ as credentialEnv,PN as cssVarName,XD as cursorOf,sC as dateFilterLabel,Qg as dateRangeOf,Hg as dayBucket,EC as dayCounts,Jg as dayKey,sO as decide,ZL as decideIntent,S_ as decideRecruit,Hf as declaredAccess,_O as decryptBackup,mg as defaultImagePolicy,Eg as defaultLinkPolicy,fU as defaultMcpServers,y as defaultModelId,BU as defaultSkills,sL as defaultTtl,wn as defaultVoiceIntents,Nk as defaultVoiceName,kP as deferAttachedSources,ts as defineAdapter,Dd as defineAgent,nn as defineJob,dT as defineJobPost,ux as defineLane,xs as defineLoop,Tn as defineMeetingAnalyzer,bs as defineMiddleware,Us as defineModel,oT as defineProject,vs as defineRouteStrategy,mi as defineRule,Ul as defineSchema,we as defineSearchApi,So as defineSearchEngine,Cf as defineSkillSource,Hc as defineTeam,Lo as defineToolGroup,ji as defineTrigger,bn as defineVoiceIntent,UU as deltaInstruction,uC as demd,Mg as densityRibbon,qx as dependsOn,P as dequeue,fO as deriveBackupKey,Gt as deriveBrief,Ht as deriveBriefs,Pi as deriveKey,DI as deriveMeetingTitle,jI as deriveTitle,Ud as describeAgent,$F as describeAttachedPath,iR as describeCall,x_ as describeConnection,aC as describeDateRange,Od as describeEngine,xU as describeMonitorProfile,eD as describePathSize,$E as describePermission,Fc as describeRecipeForApproval,zc as describeRole,RU as describeRuntime,bl as describeSchema,Tk as describeSearchResult,oM as describeSettingValue,wE as describeShape,jp as describeSpend,$_ as describeTeamForApproval,hR as describeTeamShape,IE as describeToolCall,Ry as describeTurnUsage,TM as destinationFromAgent,pM as destinationFromEndpoint,ZU as diagnosticsText,kk as diarizeRows,Gk as dictToText,oa as diffProposal,FL as digest,LS as discoverMcpAuth,As as displayName,rD as displayPath,IP as distributionConfidence,eI as docStats,_u as draftSeparator,Kt as driftedRefs,Nc as dryRunRecipe,X_ as dryRunTeam,Fk as dtypePicker,ln as dueJobs,pa as duplicateTitles,Rt as earnsBrief,Un as editDistance,cr as editKey,LT as effectiveGate,$o as effectiveGrants,rM as effectiveSettingValue,BS as effectiveToolName,sr as egoGraph,iF as egressAllowed,Pp as emptyBoardState,iT as emptyProjectRecord,Hp as emptyRun,Uu as enabledSkills,dO as encryptBackup,eF as endpointAllowed,ld as engineKey,Id as engineKeyOf,er as engineLabel,kd as engineOf,Me as engineOrder,ud as engineRef,r_ as engineRow,o_ as engineRows,oA as engineStrip,s_ as engineWorth,ul as entitiesFormat,fl as entitiesPrompt,Nl as entitiesStream,Fi as entryMeta,JO as entryStamp,cU as envLikeArgs,mU as envToText,ko as equipmentFor,ys as errorFacts,Zm as estimateTokens,n_ as evaluatorPrompt,zD as eventStats,Gx as evidenceFor,iL as exchangeOf,uc as expandRecipe,CA as expandReplacement,au as expandSkillPrompt,tx as expectsOf,oS as explainInstallFailure,Jl as explainMcpError,ig as exportDevicePublicKey,dR as extendDependents,TN as extractFilters,ti as extractUrls,uD as extractorChain,zx as factFromReply,Kx as factPrompt,bx as factSchema,vx as factSchemaFor,yy as factcheckKey,Fy as factcheckPrompt,Dy as factcheckVerdict,eh as factsList,lE as failoverExhausted,Vs as failoverOrder,lF as featureEnabled,XU as featureIds,Gb as fenceUntrusted,rL as fetchKey,CD as fetchMcpRegistryPage,hS as fetchMcpToken,oL as fetchTitle,tL as fetchedAsSources,aL as fetchedFacts,sx as figuresIn,tC as filterByDate,RI as filterByTags,Rs as filterEntries,PF as filterMcpServersForSkill,PU as filterMonitorTools,q as filterNoteActions,Gg as filterRecords,D as filterSections,mr as filterTypoEdits,mm as findActionArgs,tc as findDispatchProvider,ab as findExistingIssues,Gl as findJson,NA as findMatches,ZI as findRecordRefs,Xk as findRepeats,WC as findRow,se as findSkillByName,ie as findTargetByName,Sm as findTools,Em as findToolsResult,Mn as findWakeCommand,Ap as findingsInstruction,xp as findingsOf,oh as finishAnswer,Ax as finishTurn,sd as fit,Lh as fitAttachments,EL as fitFor,Vx as fitsExpected,lp as fixedPlan,px as flowWorthDrawing,sP as foldBackFor,$M as foldBackNote,Lp as foldBoard,eP as foldNotes,nT as foldProject,Kp as foldRun,lO as forkConflict,Za as formatBytes,eC as formatDateTerm,pk as formatDownloads,AA as formatReport,fa as formatSurvey,cI as formatTag,dI as formatTagQuery,hg as formatTalkTime,Ha as formatTimestamp,Ka as formatTranscript,_y as formatTurnUsage,Oy as formatUsd,xb as formatValue,Io as formatWeather,J as frameNoteAction,KN as freeCap,vi as fromB64,vD as fromCloudEvent,BD as fromCloudEventLines,uf as frontPageInstruction,ff as frontPagesAskedAbout,tt as fuseRRF,Rm as fusedRanker,xT as gateAllows,fD as gatewayExtractor,tS as gatewayNotBackAdvice,th as gatherFacts,gx as gatherItems,sg as generateDeviceKey,bM as getMcpProviders,Ao as getWeather,el as gistOpening,$n as gistText,pF as globToRegExp,pu as goalDraftAllowed,ih as gradeAnswer,Xc as grantAllows,WR as grantChoices,XR as grantsFromChoices,yo as grantsNeededFor,nr as graphStats,Ru as groundingBlock,lx as groundingNote,MC as groupActionsByOwner,YC as groupById,F as groupModels,Vg as groupRecords,Vk as groupRuns,Ga as groupSegments,Zg as hasDateTerms,AC as hasInsights,wo as hasSubstance,nI as hasTag,TI as hasTagTerms,GL as historyContext,pR as holdsGrants,lM as homeChecklist,of as homePlace,ai as hostMatches,vo as housekeepingTarget,gm as hubSpec,gO as identityCodec,ph as identityHint,ch as identitySystem,yP as imageAttachmentsOf,LP as inProcessPatch,gP as inProcessView,ju as indentSelection,WD as ingestCloudEvents,To as inheritEngineDefaults,Yy as initialVoiceState,_C as insightKindOf,ql as installHintFor,mu as instructionOnLine,JL as intentFromReply,jL as intentItems,XL as intentNeeds,zL as intentPrompt,YL as intentSchema,RN as isActionable,No as isAmbiguousLocation,kI as isBetterTitleSource,VR as isBuiltin,bS as isCacheable,pL as isContextLimitError,uU as isDefaultMcpServer,RO as isEncryptedBackup,zO as isEntry,Jy as isFarewell,Hb as isFenced,Zn as isFillerSentence,MI as isGenericTitle,kM as isInvalidToolParametersResult,Bo as isLocalHelper,yi as isLocked,QS as isLoopableTool,Cx as isMiss,Y_ as isModelUnavailable,xh as isNoneNote,Vl as isNothing,DU as isNothingNew,QE as isPermissionTool,Ub as isPersonalField,Uo as isPleasantry,jN as isPro,M as isQueued,VI as isRecordId,ut as isRedactionToken,A as isRef,$k as isRelayedTurn,Ne as isResultHost,Xp as isResumable,bf as isSafeSkillPath,sy as isSealedBlob,OO as isSealedRecord,Le as isSearchPage,yb as isSecretField,qF as isSecretPath,Ot as isSelfLabel,nO as isSettled,iy as isShredded,$g as isSingleDay,ku as isSkillEnabled,_L as isSmallWindow,TE as isSourceGateError,yg as isSpeakerImageValue,Ql as isStaleMcpSession,Tt as isSubjectCandidate,Go as isSystemModel,QN as isTeam,YO as isTombstone,c as isValidEvent,YA as isValidMemory,XI as isValidStoredRecord,Mx as isWebSearch,ka as isYouTubeUrl,sb as issueCommentText,ob as issueSearchUrl,i_ as jobApplications,TR as jobFromSubtask,IT as jobPostFromForm,wT as jobResults,AT as jobToRole,Sn as jobsForEvent,KT as jobsPrompt,mL as keepRecentFor,NO as keyCache,_s as lanesOf,dF as languageInstruction,hy as lastClaimOf,Lm as lastUserText,Wo as layoutFlowchart,Jd as ledgerKey,og as licenseFromPayload,Ho as lightestLocalHelper,lu as lineAt,I as linearize,ga as linesFromItems,df as linkAttachments,aa as linkClaims,$I as linkRecordRefs,qk as linkSurfaceOf,QC as linkTo,qC as linkToRow,ns as linkifyCitations,pf as linksToRead,ru as lintSkillPrompt,Sr as lintText,WU as listFeatures,Ix as listLanes,VC as listRows,cC as localeWeekStart,ki as lockedSummary,Vy as looksLikeEcho,La as looksScanned,HP as lookupLabel,GP as lookupResult,ok as lowBandEnergy,ja as makeAccessEvent,qm as makeDispatchProvider,ed as makeEntry,jm as makeGroupDispatchExecutor,WO as makeJournalEntry,Qd as makeLedgerEntry,fF as makeNoteToolExecutor,Dm as makePromptedTranscript,KI as makeRecordId,R as makeRef,Qs as makeSourceStore,qa as makeStorageTier,Nm as makeToolHub,qs as manifestText,Oc as mapInput,Mh as mapParts,sf as markUsed,Ss as markdownUrl,kb as maskSecretFields,$A as matchForForget,gA as matchIndexFor,tb as matchIssues,wu as matchSlashRecipe,vu as matchSlashSkill,Gu as matchSlashTeam,cn as matchSummary,oC as matchesDateRange,_I as matchesTagFilter,BM as mcpBackoff,aA as mcpDispatchProvider,gM as mcpInventorySystem,IM as mcpProvider,LD as mcpServerFromCatalogItem,NM as mcpSharedSystem,cA as meetDecisions,si as meetReach,en as meetingEndedTrigger,RC as meetingInsights,GU as meetingNotesSkill,$i as meetingStartedTrigger,UI as meetingTitlePrompt,af as memoryBlock,zA as memoryKey,IF as memoryToolProvider,lf as memoryToolSystem,ne as mentionAnswerPrefix,da as mentionsFrom,AM as mergeEndpointDestinations,Ce as mergeEngineResults,_h as mergeNote,Nr as mergeResearchLanes,oN as mergeSegments,ae as mergeSkillPrompt,bC as mergeStamped,k_ as mergeTranscript,oU as mergeUsageSummaries,OL as messagesAfter,y_ as messagesFor,gk as microphoneError,cL as minWindowFor,$l as missingCommandIn,Zl as missingCommandMessage,PR as missingStarters,Be as missingVars,rF as modelAllowed,xk as modelRows,Ek as modelSearchUrl,k as modelSummary,gC as momentBadge,Ib as moneyIn,Wn as monitorIntent,MU as monitorNeedsTools,gU as monitorProfile,bU as monitorPrompt,CU as monitorWindowMs,SC as monthGrid,L as moveQueued,st as multiSearch,TU as mutableRef,mC as nearbyDays,t_ as needForJob,Gf as needsBridge,vS as needsConfirmation,tg as needsRecheck,tf as needsWhere,DL as needsWhole,ry as newDeviceKey,eb as newIssueUrl,Og as newNoteImageId,v_ as newSteps,XP as newsAsk,Xi as nextFireAt,rP as nextSidelineIndex,zi as nextWakeAt,MO as nodeCodec,nS as nodeSatisfies,ey as nodeSealer,sE as normModelName,Fd as normalizeAgent,bc as normalizeBudget,jd as normalizeCall,N_ as normalizeConnection,nd as normalizeEngine,Ad as normalizeEngineSpec,PT as normalizeGate,Wc as normalizeGrants,Pu as normalizeIntent,TT as normalizeJobPost,XA as normalizeMemory,ck as normalizeModel,$h as normalizeOrgPolicy,iD as normalizePath,eS as normalizePlatform,Rd as normalizePolicy,Cy as normalizePricing,rT as normalizeProject,ia as normalizeRecord,na as normalizeRecords,PD as normalizeRegistryEntry,MD as normalizeRegistryPage,SR as normalizeRequest,Sd as normalizeScm,Jf as normalizeSkill,yn as normalizeSpeech,WI as normalizeStoredRecord,mt as normalizeSubject,sI as normalizeTag,iI as normalizeTags,Vc as normalizeTeam,Tl as normalizeTopic,dl as normalizeTopics,gE as normalizeUsage,Mu as normalizeWriterPrefs,$x as notFoundLines,Q as noteActionItems,j as noteActionLabel,Ah as noteConflictsIn,_g as noteImageId,Ag as noteImageIds,Rg as noteImageRef,fg as noteImageRefs,Vn as noteIntent,OC as noteSectionKind,tP as noteUnits,sS as npmInstallCommand,ZR as observeInbox,VN as observeSince,$R as observeStrip,En as occurrenceKey,Yi as occurrencesBetween,Pe as offTopic,QP as offeredSearch,Cb as offersIn,cm as oneLiner,CE as openAiTranscript,ty as openBlob,uP as openDecision,xi as openEntry,IO as openRecord,Ca as orderLines,Kf as originLabel,vf as originOf,Ig as orphanNoteImages,ca as orphanRecords,Yu as outlineOf,pm as overlapRank,lN as overlayEntries,jl as packageFromArgs,XF as packagesFromFiles,YP as pageAsk,XC as pageById,Rf as pageInstruction,pb as pageKey,Pa as pageTextFromItems,zC as pagesOf,AD as paginateText,MN as paletteFor,Ma as paragraphsFromLines,GS as parallelEligible,re as parseAgentMention,ub as parseAmount,lU as parseArgsInput,_S as parseAuthChallenge,wt as parseBriefText,zM as parseBringBack,yu as parseBugCommand,hn as parseClock,Pn as parseCommand,Ji as parseCron,qg as parseDateQuery,xn as parseDuration,Il as parseEntities,EU as parseEnvInput,l_ as parseEvaluation,_p as parseFindings,Vo as parseFlowchart,GT as parseJobs,fA as parseJsonl,ZC as parseLink,zu as parseListItem,nU as parseMcpConfig,CC as parseMeetingNotes,gg as parseMeetingText,Fu as parseNewThread,Dn as parseNumberWords,pN as parseOmni,Sp as parsePlan,yr as parsePlanTasks,HI as parseRecordId,Jn as parseRefinement,g_ as parseRemote,HT as parseReview,mb as parseSearchText,aN as parseSegmentName,YM as parseSideline,ES as parseSignInPrompt,te as parseSkillMention,eu as parseSkillVars,Xl as parseStructured,xl as parseSuggestions,pI as parseTagQuery,Ba as parseTimedText,bI as parseTitleResponse,km as parseToolCalls,pl as parseTopics,uo as parseWeather,Fn as parseWhen,ya as parseYouTubeUrl,Nh as partChars,Ch as partPrompt,ex as partQueries,Sk as partitionTtsModels,wx as partsOf,Zx as partsPlan,Tb as passagesOf,Xe as patchApiEntries,ZF as pathAttachment,oD as pathAttachmentsOf,tk as pcmEnergy,C as pendingQueue,rm as permissionAllowed,em as permissionAnswer,im as permissionIcon,ZE as permissionKeys,sm as permissionLine,tF as permissionMode,qE as permissionRequestFromClaude,jE as permissionToolSpec,rn as personJoinedTrigger,ds as phasesOf,on as phraseTrigger,va as pickCaptionTrack,nC as pickDay,UO as pickProfile,ge as pickResults,yC as pickSections,Ws as pinnedOrderOf,KL as placeItems,Bx as plainEvidence,vr as planAttribution,br as planBody,fL as planCompaction,VD as planEventPush,JN as planLabel,zN as planOf,Ur as planParts,at as planQueries,kL as planRetrieval,Dr as planSectionSystem,iO as planSync,kr as planTitleFor,VS as planToolRound,VL as planTurn,Ep as plannerPrompt,cM as pointsAtGateway,Qx as pointsBack,vO as policyFor,mF as policyHash,EF as policyLabel,Kd as poolFor,Ks as preferenceFor,BP as prefetchAttachment,qP as prefetchBudgetMs,wP as prefetchPlan,Bh as presenceBlock,bh as presenceDelta,Uh as presenceFor,My as priceUsage,kU as priorFindingsText,qp as priorWorkFor,rs as projectChain,sT as projectFromForm,lT as projectProgress,JD as projectYear,x as promoteQueued,CR as promoteRoles,Os as promptEntries,Ay as promptTokensOf,ym as promptedToolsSystem,Fm as promptedTranscript,m_ as proposalFromNeeds,c_ as proposalToAgent,$t as propose,nf as pruneMemories,sU as pullRelayedEvents,Nb as qualifierAt,an as questionTrigger,$L as questionsIn,JC as quickRows,gb as quoteAround,Fb as quoteFormIn,_m as rankFused,Ee as rankLinkTargets,Mb as rankOffers,Or as rankResearchCards,hF as rankSkills,At as rankSubjects,Hx as rankedEvidence,uy as rateFor,vh as reachOf,Gr as reachRank,Hr as reachSatisfies,He as readApiResponse,uS as readAuthServerMetadata,OS as readRegistration,fS as readResourceMetadata,$s as readSource,qM as readThread,CS as readTokenResponse,FI as readableWhen,fT as readyJobs,ef as recall,tm as recallPermission,LU as recentFindings,Bu as recipeInvocationText,Ic as recipeParams,xc as recipeToolProvider,hc as recipeToolSpec,ZA as reconcile,Eo as reconcileEngines,xO as recordsFromBackup,T_ as recruitEvents,E_ as recruitForRun,d_ as recruitJob,Ja as redactAccessArgs,Sa as redactedTokensIn,Ea as redactionCost,sF as redactionTier,Ph as reduceNotes,Eb as refineQueries,qn as refineSpokenCommand,zn as refinementFormat,Yn as refinementPrompt,jn as refinementStream,dU as refreshArgs,xS as registerMcpClient,IS as registrationRequest,gD as registryListUrl,ra as reject,tU as relayedRunsOf,aU as relayedThreadTitle,om as rememberPermission,b as rememberRecent,Hn as reminderIntent,SI as removeTag,hP as renderContent,Xo as renderFlowchartSvg,Sg as renderMarkdown,eO as repairAnswerMarkup,ls as repairCitedLinks,Kl as repairJson,PA as replaceAll,LA as replaceAllInRange,MA as replaceMatch,RA as replay,Gs as requirementsFor,Hs as requirementsForStep,Am as rerankThrough,Sb as researchAsk,_b as researchBrief,Rb as researchCall,fr as researchRelevance,Ir as researchSnippet,wM as resetMcp,jg as resolveDateValue,fh as resolveNoteConflict,f as resolveRef,JM as resolveSidelineTarget,dN as resolveSince,_t as resolveSubjects,vd as resolveTeam,hN as resolveTheme,wl as responseFormat,GE as resultToolSpec,W_ as resumeTeam,ke as retryAfterMs,Hm as revealCut,Gm as revealStep,VT as reviewPrompt,Hl as rewriteJson,yD as rfc3339,pe as roleById,vR as roleCardId,py as rollupKey,DR as rosterRows,BT as roundBudget,fE as roundCap,Gh as roundCount,bT as roundJobs,Hh as roundMinutes,zS as roundSignature,aF as routeAllowed,fx as routeByRule,a_ as routeFor,es as routeGraph,Re as routeTeam,Kg as rowTime,Vp as runFromEvents,eA as runLanes,gc as runPlan,UT as runProject,Cc as runRecipe,Ab as runResearch,KP as runResearchItem,bE as runResultQuery,Qp as runState,V_ as runTeam,WS as runToolRound,RE as runTurnLoop,Rx as runTurnPipeline,nE as runWithFailover,Rr as salientTerms,Ef as sameMemory,zs as sameModelKey,Vf as sameSkillOrigin,mI as sameTags,ol as sameUtterance,Ik as sampleSeconds,Ok as sampleTooShort,vk as saveTimedOut,bk as saveVoiceFailure,rf as saysWhere,kO as scalePolicy,Kn as scheduleIntent,Yc as scmAllows,nh as scoreRuns,qU as scrubReportText,oy as sealBlob,Li as sealEntry,uO as sealRecord,ze as searchApiChoices,Di as searchEntries,Sc as searchFailureOf,mk as searchModels,ye as searchPolitely,lc as searchResultsToText,sM as searchSettings,$e as searchStatus,zI as searchTextFor,QF as secretReason,UC as sectionHash,EM as sectionOfRow,FC as sectionSpec,DC as sectionValue,_M as seedDestinations,$O as segmentBytes,eN as segmentEntries,tN as segmentName,nN as segmentsFor,PL as selectContext,rI as selectionStats,rC as setDateTerm,eM as setSettingValue,nF as settingLocked,$C as settingValue,SM as settingsGateOf,aM as settingsOpenMode,nM as settingsStatusAll,iM as settingsStatusOf,Qn as settleRefinement,$T as sha256,UE as shieldToolResult,lC as shiftMonth,Zs as shortUrl,yI as shouldAutoTitle,rN as shouldRotate,RM as shouldSeedDestinations,ay as shredBlob,aP as sidelinePath,lP as sidelineToolProvider,ng as signChallenge,mS as signInError,cS as signInFromError,pS as signInToolResult,Bs as signalsFrom,jA as similarity,FF as skillCatalogSystem,YR as skillChoices,HF as skillCreatorPrompt,bF as skillDiscoveryProvider,UF as skillEntry,yF as skillFileProvider,Bf as skillFiles,WF as skillFromDraft,xF as skillHandle,KF as skillIdFrom,Wu as skillInvocationLabel,Vu as skillInvocationOf,Wf as skillIsStale,MF as skillPackageFiles,CF as skillRunFromSkill,LF as skillToolSystem,Zf as skillVar,su as skillVarGuidance,$f as skillVarPattern,Ku as slashCommandInsert,bu as slashCommandItems,JA as slotOf,bd as slugAgentId,ip as slugTeamName,Wx as snapQuote,sD as sniffType,QI as snippetOf,GR as soloTeam,Bg as sortRecords,wg as sortStamp,CM as sourceCitationSystem,pE as sourceGate,cE as sourceGuardFor,ei as sourceId,oP as sourceOf,ii as sourcePolicyFor,mE as sourcePolicySettings,ni as sourceUrlsOf,Es as sourcesFromToolText,rh as sourcesOf,_a as spanningQuestions,qy as speakStream,Zy as speakable,Lg as speakerBreakdown,kg as speakerLabeller,Cg as speakerStats,xg as speakerTimeline,Jp as spendOf,rA as spendRows,gh as splitForWindow,dh as splitNoteBlocks,JS as stableToolCallKey,aO as stampOf,iS as standaloneInstallCommand,Xx as standsOn,Yg as startOfDay,Mk as startRecording,Bd as starterAgents,MR as starterTeam,tp as starterTeams,Tx as stepAction,OE as stepResultText,dx as stepState,Tf as storyLinkOf,CO as streamCodec,ug as stripNoteImageRefs,Nt as stripQualifiers,ct as subjectKey,pt as subjectTokens,Yx as subjectsOf,tu as substituteSkillVars,ER as subtaskFromRequest,fI as suggestExistingTags,gt as suggestMerges,ou as suggestSkillVar,Ll as suggestionsFormat,Pl as suggestionsPrompt,hl as suggestionsStream,ad as summarize,qd as summarizeEngine,rU as summarizeRelayedUsage,Wk as summarizeRun,rr as summarizeSearch,dy as summarizeUsage,dC as summarySections,jO as supersedes,de as supportsSubagents,Zk as surfaceLabel,Ra as surveyCorpus,Uk as switchOutcome,Rh as syncNote,Xt as synthesisPrompt,NL as systemWithSummary,AI as tagFacets,Ze as tagResults,uI as tagsSearchText,mR as takeUp,cR as takeUpLine,_R as taskTree,vT as teamForRound,sp as teamFromForm,LR as teamHealth,Hu as teamInvocationText,NR as teamLanes,OR as teamLine,xR as teamShape,Q_ as teamToolProvider,q_ as teamToolSpec,Z_ as teamToolTimeoutMs,HR as teamsWithSolos,vM as testMcpServer,lh as textKey,Hk as textToDict,xN as themeStylesheet,jM as threadManifest,RR as threadRows,Is as threadTitle,QM as threadToolProvider,gs as threadTree,us as threadsOf,Aa as thresholdSweep,ZN as tierFor,Nd as tierOf,wa as timedTextUrl,Gn as timerIntent,Zi as timerTrigger,hI as titleFromDate,xI as titleFromParticipants,PI as titleFromSummary,LI as titleFromTopics,rb as titleTerms,bi as toB64,fp as toBriefClaims,FP as toChatMessages,bD as toCloudEvent,GD as toCloudEventBatch,wD as toCloudEventLines,LN as toCssVars,JI as toIndexEntry,vl as toJsonSchema,uA as toJsonl,Qr as toModelSchema,qr as toModelSchemas,DP as toMultimodalMessages,Jk as toSanitizedReport,YI as toSearchRecord,qu as toggleLinePrefix,$u as toggleLink,EI as toggleTag,Zu as toggleTask,Qu as toggleWrap,MS as tokenExpired,gS as tokenRequest,kn as tokenize,XO as tombstone,bm as toolChannel,fm as toolDoc,jS as toolMadeProgress,Do as toolNeedFor,wL as toolPlan,PM as toolStatus,yS as toolTraits,UL as toolsWanted,Ar as topicTerms,tn as topicTrigger,cl as topicsFormat,ml as topicsPrompt,El as topicsSchema,_l as topicsStream,wS as traitsIndex,vm as transcriptFor,Wa as transcriptFromTracks,$ as triggerQueryAt,dc as trimDescription,ir as trimGraph,Fh as trimOverlap,wf as trustOf,lk as ttsArchOf,mx as turnFlow,cx as turnFlowChart,Sx as turnGroundingNote,Ns as turnsOf,Bl as unfence,Mi as unlockVault,ix as unsupportedFigures,nx as unsupportedNote,hb as unverifiedAmounts,Oe as unwrapRedirect,Wr as upcast,Xr as upcastAll,Sf as upcastMemory,Yf as upcastSkill,zf as upcastSkills,BR as upsertAgents,my as usageFromEvent,cy as usageFromOpenAi,eU as usageFromRelayedTurn,vc as usageOf,Ey as usageRecord,Jm as validateAction,hd as validateAgent,Yb as validateBrowserAnnounce,Xb as validateBrowserCall,zb as validateBrowserResult,Uc as validateBudget,zr as validateCapability,O_ as validateConnection,fd as validateEngineSpec,hi as validateEntry,m as validateEvent,_D as validateExtractRequest,RD as validateExtractResponse,MT as validateGate,Jr as validateInvocation,pT as validateJobPost,eT as validateProject,fc as validateRecipe,Wi as validateSchedule,Xf as validateSkill,Kc as validateTeam,zo as validateView,Jo as validateViewInvocation,qo as validateWidget,Zo as validateWidgetMessage,xM as vaultWidgetSystem,zk as verdict,td as verifyAttested,rd as verifyChain,eg as verifyEntitlement,cF as verifyPolicyToken,rg as verifySignedToken,qe as viaOf,ba as videoMetaFromPlayerResponse,Ye as viewApiEntries,jo as viewResult,Um as visiblePrefix,Ta as vocabularyDrift,sn as voiceCommandTrigger,yk as voiceListRows,Dk as voicePicker,zy as voiceSpeaker,Xy as voiceStep,Cn as wakeFor,ma as wantedPages,qL as wantsDecision,QL as wantsIntent,_N as wantsModel,hM as wantsVaultGuidance,mp as waves,WP as weatherFollowupPlace,pP as weatherFromSearch,VP as weatherPlace,cP as weatherToolProvider,fo as weatherUrl,$D as webCryptoSealer,Ck as webMedia,ur as webQuery,JP as webRedoAsk,db as webResearch,Ec as webSearchToolProvider,RS as wellKnownUrls,FR as whereItWorks,LM as widgetAuthoringSystem,et as widgetIcon,Se as wikiQueryAt,la as wikilinksIn,SL as windowOf,tD as withAbsolutePaths,kp as withBoardTool,Yk as withCost,eL as withFetchedMemo,Qm as withGuidance,Mm as withHint,Pm as withLead,wh as withPresence,hm as withPromptedTools,U as withRecent,vE as withResultShield,Bp as withRunCache,UP as withSourceTool,Dh as withStitching,uE as withToolSystem,$N as withinFreeLimit,dE as withinReach,xL as withoutOwnInstructions,qI as wordCount,Er as wordDiff,sR as workLogEvidence,tR as workLogFor,aR as workLogText,P_ as worktreeDirFor,bL as worldAnswered,vL as worldPlanned,Su as writerAffordance,Au as writerRequest,du as writerTail};
|
|
1
|
+
import{CURRENT_VERSION as o,EVENT_TYPES as t,ALL_TYPES as a,ACTOR_KINDS as i,SCOPE_KINDS as s,CLASSES as n,EFFECTS as l,EGRESS as S,EventError as E,validateEvent as m,isValidEvent as c,createAppender as p}from"./event.js";import{REF_KINDS as d,RESOLUTION as _,makeRef as R,isRef as A,resolveRef as f}from"./ref.js";import{linearize as I,compareEvents as O,causesAreWellFormed as N}from"./order.js";import{pendingQueue as C,isQueued as M,dequeue as P,moveQueued as L,promoteQueued as x}from"./queue.js";import{groupModels as F,filterSections as D,defaultModelId as y,modelSummary as k,withRecent as U,rememberRecent as b}from"./model-picker.js";import{composerChips as w,chipText as B}from"./composer-chips.js";import{NOTE_ACTIONS as H,NOTE_ACTION_ORDER as K,NOTE_ACTION_TEMPERATURE as V,NOTE_ACTION_ERRORS as W,NOTE_COMMANDS as X,NOTE_COMMAND_TEMPERATURE as Y,NOTE_COMMAND_MAX_TOKENS as z,frameNoteAction as J,noteActionLabel as j,noteActionItems as Q,filterNoteActions as q,commandLineAt as Z,triggerQueryAt as $}from"./note-actions.js";import{parseAgentMention as re,agentMentionAt as oe,parseSkillMention as te,mergeSkillPrompt as ae,findSkillByName as ie,findTargetByName as se,mentionAnswerPrefix as ne}from"./note-mentions.js";import{wikiQueryAt as Se,rankLinkTargets as Ee}from"./note-links.js";import{SWARM_ROLES as ce,roleById as pe,classifyModel as Te,supportsSubagents as de,appoint as _e,routeTeam as Re}from"./cowriter-router.js";import{SEARCH_ENGINES as fe,RESULTS_PER_ENGINE as ue,buildSearchUrl as Ie,unwrapRedirect as Oe,isResultHost as Ne,pickResults as ge,mergeEngineResults as Ce,engineOrder as Me,offTopic as Pe,isSearchPage as Le}from"./web-search.js";import{PACER_DEFAULTS as he,classifyAnswer as Fe,createEnginePacer as De,searchPolitely as ye,retryAfterMs as ke}from"./engine-pacer.js";import{SEARCH_API_PRESETS as be,SearchApiError as ve,defineSearchApi as we,missingVars as Be,buildApiRequest as Ge,readApiResponse as He,apiEngine as Ke,DEFAULT_API_ENGINES as Ve,apiEnginesFrom as We,patchApiEntries as Xe,viewApiEntries as Ye,searchApiChoices as ze,apiTrialVerdict as Je}from"./search-api.js";import{SEARCH_STATUS as Qe,viaOf as qe,tagResults as Ze,searchStatus as $e,engineLabel as er,summarizeSearch as rr}from"./search-outcome.js";import{MAX_GRAPH_NODES as tr,buildNoteGraph as ar,egoGraph as ir,trimGraph as sr,graphStats as nr}from"./note-graph.js";import{lintText as Sr,wordDiff as Er,filterTypoEdits as mr,editKey as cr,applyEdits as pr,COWRITER_SYSTEM as Tr,COWRITER_TEMPERATURE as dr}from"./cowriter.js";import{salientTerms as Rr,topicTerms as Ar,researchRelevance as fr,webQuery as ur,researchSnippet as Ir,rankResearchCards as Or,mergeResearchLanes as Nr}from"./note-research.js";import{PLAN_ROLES as Cr,PLAN_AUTHORS as Mr,PLAN_DECOMPOSE_SYSTEM as Pr,PLAN_DECOMPOSE_MAX_TOKENS as Lr,PLAN_DECOMPOSE_TEMPERATURE as xr,PLAN_SECTION_MAX_TOKENS as hr,PLAN_SECTION_TEMPERATURE as Fr,planSectionSystem as Dr,parsePlanTasks as yr,planTitleFor as kr,planParts as Ur,planBody as br,planAttribution as vr}from"./note-plan.js";import{REACH as Br,reachRank as Gr,reachSatisfies as Hr}from"./reach.js";import{UPCASTERS as Vr,upcast as Wr,upcastAll as Xr}from"./upcast.js";import{validateCapability as zr,validateInvocation as Jr,canSatisfy as jr,toModelSchema as Qr,toModelSchemas as qr}from"./capability.js";import{checkInvariants as $r,INVARIANTS as eo}from"./invariants.js";import{createMemoryAdapter as oo,createLogStore as to,createBlobStore as ao}from"./store.js";import{createRegistry as so,REGISTRY_STATES as no}from"./registry.js";import{defineSearchEngine as So,reconcileEngines as Eo,attemptOrder as mo,ENGINE_KINDS as co,SearchEngineError as po,inheritEngineDefaults as To,ENGINES_REV as _o}from"./search-engines.js";import{getWeather as Ao,weatherUrl as fo,parseWeather as uo,formatWeather as Io,areaLabel as Oo,isAmbiguousLocation as No,WEATHER_HOST as go,WEATHER_TIMEOUT_MS as Co,WeatherError as Mo}from"./weather.js";import{defineToolGroup as Lo,createToolGroupRegistry as xo,ToolGroupError as ho}from"./tool-groups.js";import{toolNeedFor as Do,grantsNeededFor as yo,equipmentFor as ko,isPleasantry as Uo}from"./tool-need.js";import{housekeepingTarget as vo,hasSubstance as wo,isLocalHelper as Bo,isSystemModel as Go,lightestLocalHelper as Ho}from"./housekeeping.js";import{parseFlowchart as Vo,layoutFlowchart as Wo,renderFlowchartSvg as Xo}from"./flowchart.js";import{validateView as zo,validateViewInvocation as Jo,viewResult as jo}from"./view.js";import{validateWidget as qo,validateWidgetMessage as Zo,effectiveGrants as $o,widgetIcon as et,WIDGET_SURFACES as rt}from"./widget.js";import{fuseRRF as tt,planQueries as at,multiSearch as it}from"./rrf.js";import{SUBJECT_KINDS as nt,DEFAULT_THRESHOLD as lt,MAX_SUBJECTS as St,MAX_SUBJECT_CHARS as Et,normalizeSubject as mt,subjectKey as ct,subjectTokens as pt,isSubjectCandidate as Tt,aliasMap as dt,resolveSubjects as _t,earnsBrief as Rt,rankSubjects as At,REDACTION_TOKEN_TYPES as ft,isRedactionToken as ut,SELF_LABELS as It,isSelfLabel as Ot,stripQualifiers as Nt,suggestMerges as gt}from"./entity.js";import{BRIEF_STATES as Mt,CLAIM_KINDS as Pt,MAX_CLAIMS as Lt,MAX_CLAIM_REFS as xt,MAX_BRIEF_RECORDS as ht,MAX_BRIEF_CHARS as Ft,contentHash as Dt,briefId as yt,briefToText as kt,briefTerms as Ut,briefLinks as bt,checkKnowledgeInvariants as vt,parseBriefText as wt}from"./knowledge.js";import{deriveBrief as Gt,deriveBriefs as Ht,driftedRefs as Kt}from"./knowledge-derive.js";import{SYNTHESIS_SCHEMA as Wt,synthesisPrompt as Xt,claimsFromSynthesis as Yt,MAX_SYNTHESIS_CLAIMS as zt,MAX_EXCERPTS as Jt,MAX_EXCERPT_CHARS as jt}from"./synthesis.js";import{PROPOSAL_STATES as qt,SUPERSEDE_OVERLAP as Zt,propose as $t,accept as ea,reject as ra,diffProposal as oa,converge as ta,linkClaims as aa}from"./promotion.js";import{normalizeRecord as sa,normalizeRecords as na,wikilinksIn as la,redactedTokensIn as Sa,redactionCost as Ea,wantedPages as ma,orphanRecords as ca,duplicateTitles as pa,vocabularyDrift as Ta,mentionsFrom as da,spanningQuestions as _a,surveyCorpus as Ra,thresholdSweep as Aa,formatSurvey as fa,NEAR_TITLE_DISTANCE as ua,SPAN_MIN_TERMS as Ia}from"./curate.js";import{PDF_MAX_CHARS as Na,linesFromItems as ga,orderLines as Ca,paragraphsFromLines as Ma,pageTextFromItems as Pa,looksScanned as La,buildPdfDocument as xa}from"./pdf-layout.js";import{YOUTUBE_HOSTS as Fa,TRANSCRIPT_MAX_CHARS as Da,parseYouTubeUrl as ya,isYouTubeUrl as ka,captionTracksFromPlayerResponse as Ua,videoMetaFromPlayerResponse as ba,pickCaptionTrack as va,timedTextUrl as wa,parseTimedText as Ba,groupSegments as Ga,formatTimestamp as Ha,formatTranscript as Ka,buildTranscriptDocument as Va,transcriptFromTracks as Wa}from"./media-transcript.js";import{ACCESS_LOG_VERSION as Ya,ACCESS_LOG_MAX as za,redactAccessArgs as Ja,makeAccessEvent as ja,createAccessLog as Qa,makeStorageTier as qa,formatBytes as Za}from"./observability.js";import{routeGraph as ei,projectChain as ri}from"./route-graph.js";import{defineAdapter as ti,createAdapterRegistry as ai,AdapterError as ii}from"./adapters.js";import{linkifyCitations as ni,repairCitedLinks as li,markdownUrl as Si,sourcesFromToolText as Ei,createCitationCollector as mi,RETRIEVAL_TOOLS as ci}from"./citations.js";import{buildTrajectory as Ti,phasesOf as di,lanesOf as _i,filterEntries as Ri,displayName as Ai,ENTRY_KINDS as fi,threadsOf as ui,threadTitle as Ii,promptEntries as Oi,turnsOf as Ni,threadTree as gi}from"./trajectory.js";import{createTurnRunner as Mi,createStepRecorder as Pi,argsShape as Li,defineLoop as xi,LOOP_KINDS as hi,LoopError as Fi,abortCause as Di,errorFacts as yi}from"./loop.js";import{defineModel as Ui,defineMiddleware as bi,defineRouteStrategy as vi,createModelRouter as wi,signalsFrom as Bi,requirementsFor as Gi,requirementsForStep as Hi,preferenceFor as Ki,failoverOrder as Vi,pinnedOrderOf as Wi,FAILOVER_CLASS_GAP as Xi,FAILOVER_CAPABILITY_GAP as Yi,sameModelKey as zi,RouterError as Ji}from"./router.js";import{makeSourceStore as Qi,manifestText as qi,shortUrl as Zi,readSource as $i,sourceId as es}from"./sources-retrieval.js";import{classifySource as os,extractUrls as ts,hostMatches as as,meetReach as is,sourcePolicyFor as ss,sourceUrlsOf as ns,DEFAULT_INTERNAL_PATTERNS as ls,INTERNAL_PATTERN_CATALOG as Ss}from"./sources.js";import{defineRule as ms,createRuleEngine as cs,SUPPRESSED as ps,RuleError as Ts}from"./rules.js";import{VAULT_VERSION as _s,KDF_ITERATIONS as Rs,KDF_HASH as As,DEFAULT_LOCK_MS as fs,VaultError as us,MAX_TITLE_CHARS as Is,MAX_NOTE_CHARS as Os,MAX_SECRET_CHARS as Ns,MAX_ENTRIES as gs,createVault as Cs,unlockVault as Ms,deriveKey as Ps,sealEntry as Ls,openEntry as xs,validateEntry as hs,entryMeta as Fs,searchEntries as Ds,isLocked as ys,lockedSummary as ks,canAddEntry as Us,toB64 as bs,fromB64 as vs}from"./vault.js";import{SCHEDULE_KINDS as Bs,TRIGGER_KINDS as Gs,JOB_ACTIONS as Hs,MISSED_POLICIES as Ks,ScheduleError as Vs,validateSchedule as Ws,nextFireAt as Xs,occurrencesBetween as Ys,nextWakeAt as zs,parseCron as Js,defineTrigger as js,createTriggerRegistry as Qs,BUILTIN_TRIGGERS as qs,timerTrigger as Zs,meetingStartedTrigger as $s,meetingEndedTrigger as en,personJoinedTrigger as rn,phraseTrigger as on,topicTrigger as tn,questionTrigger as an,voiceCommandTrigger as sn,defineJob as nn,dueJobs as ln,jobsForEvent as Sn,occurrenceKey as En,clipText as mn,matchSummary as cn}from"./schedule.js";import{defineMeetingAnalyzer as Tn,createAnalyzerRegistry as dn,CADENCES as _n,AnalyzerError as Rn}from"./meeting-analyzers.js";import{DEFAULT_WAKE as fn,ASSISTANT_NAME as un,MAX_COMMANDS_PER_DELTA as In,DAYPART_HOUR as On,VoiceIntentError as Nn,compileWake as gn,wakeFor as Cn,findWakeCommand as Mn,parseCommand as Pn,commandsFromSegments as Ln,parseDuration as xn,parseClock as hn,parseWhen as Fn,parseNumberWords as Dn,normalizeSpeech as yn,tokenize as kn,editDistance as Un,defineVoiceIntent as bn,createVoiceIntentRegistry as vn,defaultVoiceIntents as wn,BUILTIN_VOICE_INTENTS as Bn,timerIntent as Gn,reminderIntent as Hn,scheduleIntent as Kn,noteIntent as Vn,monitorIntent as Wn,REFINEMENT_SCHEMA as Xn,refinementPrompt as Yn,refinementFormat as zn,parseRefinement as Jn,refinementStream as jn,settleRefinement as Qn,refineSpokenCommand as qn,isFillerSentence as Zn,gistText as $n,gistOpening as el,commandLooksFinished as rl,sameUtterance as ol,createUtteranceGate as tl,UTTERANCE_SETTLE_MS as al,UTTERANCE_DANGLING_MS as il}from"./voice-intents.js";import{MAX_TOPICS as nl,MAX_TOPIC_CHARS as ll,TOPICS_SCHEMA as Sl,topicsSchema as El,topicsPrompt as ml,topicsFormat as cl,parseTopics as pl,normalizeTopic as Tl,normalizeTopics as dl,topicsStream as _l,ENTITY_TYPES as Rl,ENTITIES_SCHEMA as Al,entitiesPrompt as fl,entitiesFormat as ul,parseEntities as Il,coerceEntities as Ol,entitiesStream as Nl,MAX_SUGGESTIONS as gl,MAX_SUGGESTION_CHARS as Cl,SUGGESTIONS_SCHEMA as Ml,suggestionsPrompt as Pl,suggestionsFormat as Ll,parseSuggestions as xl,suggestionsStream as hl}from"./extraction.js";import{FIELD_TYPES as Dl,RESPONSE_MODES as yl,StructuredError as kl,defineSchema as Ul,describeSchema as bl,toJsonSchema as vl,responseFormat as wl,unfence as Bl,findJson as Gl,rewriteJson as Hl,repairJson as Kl,isNothing as Vl,coerce as Wl,parseStructured as Xl,createStructuredStream as Yl}from"./structured.js";import{explainMcpError as Jl,packageFromArgs as jl,isStaleMcpSession as Ql,installHintFor as ql,missingCommandMessage as Zl,missingCommandIn as $l,normalizePlatform as eS}from"./mcp-errors.js";import{explainInstallFailure as oS,gatewayNotBackAdvice as tS,adviceText as aS,npmInstallCommand as iS,standaloneInstallCommand as sS,nodeSatisfies as nS,PUBLIC_REGISTRY as lS}from"./install-advice.js";import{parseSignInPrompt as ES,signInError as mS,signInFromError as cS,signInToolResult as pS,MCP_SIGN_IN_CODE as TS}from"./mcp-signin.js";import{parseAuthChallenge as _S,wellKnownUrls as RS,canonicalResource as AS,readResourceMetadata as fS,readAuthServerMetadata as uS,registrationRequest as IS,readRegistration as OS,authorizeUrl as NS,tokenRequest as gS,readTokenResponse as CS,tokenExpired as MS,authHeader as PS,discoverMcpAuth as LS,registerMcpClient as xS,fetchMcpToken as hS,TOKEN_SKEW_MS as FS}from"./mcp-oauth.js";import{toolTraits as yS,bareToolName as kS,canRunConcurrently as US,isCacheable as bS,needsConfirmation as vS,traitsIndex as wS,effectiveToolName as BS,parallelEligible as GS,PARALLEL_LOCAL_RE as HS}from"./tool-traits.js";import{planToolRound as VS,runToolRound as WS}from"./tool-round.js";import{createToolLoopGuard as YS,roundSignature as zS,stableToolCallKey as JS,toolMadeProgress as jS,isLoopableTool as QS,blockedToolResult as qS,OBSERVATION_TOOLS as ZS,INPUT_PROGRESS_TOOLS as $S}from"./tool-loop-guard.js";import{classifyFailure as rE,createModelHealth as oE,COOLDOWN_MS as tE,UNAVAILABLE_REASONS as aE,normModelName as iE}from"./model-health.js";import{runWithFailover as nE,failoverExhausted as lE,FAILOVER_MAX_ATTEMPTS as SE}from"./failover.js";import{sourcePolicySettings as mE,sourceGuardFor as cE,sourceGate as pE,isSourceGateError as TE,withinReach as dE}from"./source-gate.js";import{runTurnLoop as RE,createCallRunner as AE,roundCap as fE,withToolSystem as uE,describeCall as IE,stepResultText as OE,addUsage as NE,normalizeUsage as gE,openAiTranscript as CE,anthropicTranscript as ME,DEFAULT_MAX_ROUNDS as PE,DEFAULT_MAX_FINISH_TRIES as LE,FINISH_NUDGES as xE,LOOPING_NUDGE as hE,EXHAUSTED_NOTE as FE,ROUND_SEPARATOR as DE}from"./turn-loop.js";import{SHIMS as kE,SHIM_IDS as UE,defineShim as bE,createShimLog as vE,summarizeShims as wE,retirableShims as BE,describeShims as GE,ShimError as HE}from"./shim.js";import{createResultStore as VE,shieldToolResult as WE,runResultQuery as XE,withResultShield as YE,describeShape as zE,compactValue as JE,resultToolSpec as jE,RESULT_TOOL_NAME as QE,DEFAULT_SHIELD as qE,DEFAULT_STORE as ZE}from"./tool-result.js";import{PERMISSION_EVENT as em,PERMISSION_ANSWERS as rm,PERMISSION_TIMEOUT_MS as om,PERMISSION_TOOL_NAME as tm,permissionToolSpec as am,isPermissionTool as im,permissionRequestFromClaude as sm,permissionKeys as nm,describePermission as lm,permissionAnswer as Sm,permissionAllowed as Em,rememberPermission as mm,recallPermission as cm,claudePermissionResponse as pm,permissionLine as Tm,permissionIcon as dm,createPermissionDesk as _m}from"./agent-permission.js";import{findTools as Am,findToolsResult as fm,findActionArgs as um,oneLiner as Im,overlapRank as Om,FIND_ACTION as Nm}from"./tool-discovery.js";import{rankFused as Cm,fusedRanker as Mm,rerankThrough as Pm,toolDoc as Lm,FUSED_CANDIDATES as xm,FUSED_BUDGET_MS as hm}from"./tool-rank-fused.js";import{makeToolHub as Dm,hubSpec as ym,HUB_TOOL_NAME as km,withHint as Um,withLead as bm,lastUserText as vm}from"./tool-hub.js";import{withPromptedTools as Bm,promptedTranscript as Gm,makePromptedTranscript as Hm,promptedToolsSystem as Km,parseToolCalls as Vm,visiblePrefix as Wm,toolChannel as Xm,transcriptFor as Ym}from"./prompted-tools.js";import{REVEAL as Jm,revealStep as jm,revealCut as Qm}from"./stream-reveal.js";import{buildToolset as Zm}from"./toolset.js";import{DESCRIBE_ACTION as ec,actionMenu as rc,buildGroupDispatchSpec as oc,validateAction as tc,makeGroupDispatchExecutor as ac,withGuidance as ic,makeDispatchProvider as sc,estimateTokens as nc}from"./tool-dispatch.js";import{FIND_TOOL_NAME as Sc,FIND_DESCRIPTION as Ec,FIND_RESIDENT as mc,findDispatchProvider as cc}from"./find-tool.js";import{WEB_SEARCH_TOOL_NAME as Tc,WEB_SEARCH_TOOL_SYSTEM as dc,WEB_SEARCH_SPEC as _c,searchResultsToText as Rc,searchFailureOf as Ac,webSearchToolProvider as fc}from"./web-search-tool.js";import{compressToolSpec as Ic,compressToolSpecs as Oc,compressionStats as Nc,trimDescription as gc,COMPRESSION_MODES as Cc,DEFAULT_COMPRESSION as Mc}from"./tool-schema.js";import{validateRecipe as Lc,expandRecipe as xc,recipeParams as hc,mapInput as Fc,dryRunRecipe as Dc,runPlan as yc,runRecipe as kc,RecipeError as Uc,RECIPE_MODES as bc}from"./recipe.js";import{recipeToolProvider as wc,recipeToolSpec as Bc,describeRecipeForApproval as Gc,RECIPE_TOOL_NAME as Hc}from"./recipe-tool.js";import{createBudget as Vc,validateBudget as Wc,normalizeBudget as Xc,usageOf as Yc,BudgetError as zc,BUDGET_DIMENSIONS as Jc}from"./budget.js";import{defineTeam as Qc,validateTeam as qc,normalizeTeam as Zc,normalizeGrants as $c,grantAllows as ep,scmAllows as rp,describeRole as op,TeamError as tp,ROLE_MODES as ap,MERGE_POLICIES as ip,PLAN_MODES as sp,GRANTABLE as np,WORK_GRANTS as lp,GRANT_RE as Sp,AGENT_REF_RE as Ep,STARTER_TEAMS as mp,starterTeams as cp,blankTeam as pp,teamFromForm as Tp,slugTeamName as dp}from"./team.js";import{fixedPlan as Rp,parsePlan as Ap,plannerPrompt as fp,waves as up,breakCycles as Ip,TEAM_PLAN_SCHEMA as Op}from"./team-plan.js";import{createBoard as gp,parseFindings as Cp,boardText as Mp,findingsInstruction as Pp,toBriefClaims as Lp,FINDINGS_SCHEMA as xp,FINDING_KINDS as hp,THREAD_KINDS as Fp,THREAD_STATUSES as Dp,POST_KINDS as yp,POST_STATUSES as kp,ASK_TYPES as Up,emptyBoardState as bp,foldBoard as vp,findingsOf as wp}from"./team-board.js";import{boardToolProvider as Gp,boardToolSpec as Hp,createAnswerBox as Kp,withBoardTool as Vp,BOARD_TOOL_NAME as Wp,DEFAULT_ASK_TIMEOUT_MS as Xp}from"./board-tool.js";import{createRunCache as zp,withRunCache as Jp}from"./team-cache.js";import{emptyRun as Qp,foldRun as qp,runFromEvents as Zp,checkpointFrom as $p,isResumable as eT,LIVE_RUN_STATUSES as rT,RESUMABLE_RUN_STATUSES as oT,spendOf as tT,describeSpend as aT,runState as iT,priorWorkFor as sT,STALLED_AFTER_MS as nT}from"./team-record.js";import{validateProject as ST,normalizeProject as ET,defineProject as mT,canTransition as cT,blankProject as pT,projectFromForm as TT,emptyProjectRecord as dT,foldProject as _T,projectProgress as RT,ProjectError as AT,PROJECT_STATUSES as fT,PROJECT_ID_RE as uT}from"./project.js";import{validateJob as OT,normalizeJob as NT,defineJob as gT,canTransition as CT,applyAll as MT,jobToRole as PT,readyJobs as LT,blankJob as xT,jobFromForm as hT,JobError as FT,JOB_STATUSES as DT,JOB_ID_RE as yT}from"./job.js";import{validateGate as UT,normalizeGate as bT,effectiveGate as vT,gateAllows as wT,DEFAULT_GATE as BT,AUTONOMY as GT,HUMAN_FLAGS as HT,CHECKS as KT}from"./gate.js";import{runProject as WT,roundJobs as XT,teamForRound as YT,jobResults as zT,roundBudget as JT,parseJobs as jT,parseReview as QT,jobsPrompt as qT,reviewPrompt as ZT,PROJECT_JOBS_SCHEMA as $T,PROJECT_REVIEW_SCHEMA as ed,ProjectRunError as rd,EXECUTIVE as od,MAX_JOBS_PER_ROUND as td,MAX_ROUNDS as ad,PROJECT_RUN_STATUSES as id}from"./project-run.js";import{canonical as nd,sha256 as ld,makeEntry as Sd,verifyChain as Ed,attest as md,verifyAttested as cd,summarize as pd,fit as Td,adjustSummary as dd,normalizeEngine as _d,engineKey as Rd,normalizeScm as Ad,SCORECARD_ENTRY_KINDS as fd,ROLE_KINDS as ud,SCORECARD_VERSION as Id,ENGINE_KINDS as Od}from"./scorecard.js";import{ENGINE_KINDS as gd,ROUTE_PREFERS as Cd,normalizePolicy as Md,normalizeEngineSpec as Pd,validateEngineSpec as Ld,engineRef as xd,engineKeyOf as hd,describeEngine as Fd,tierOf as Dd}from"./engine.js";import{AGENT_ID_RE as kd,APPLIES_TO as Ud,EGRESS_CLASSES as bd,ASSISTANT_ID as vd,AgentError as wd,validateAgent as Bd,normalizeAgent as Gd,defineAgent as Hd,assistantAgent as Kd,engineOf as Vd,describeAgent as Wd,slugAgentId as Xd,resolveTeam as Yd,STARTER_AGENTS as zd,starterAgents as Jd,blankAgent as jd,agentFromForm as Qd,poolFor as qd}from"./agent.js";import{LEDGER_VERSION as $d,LEDGER_ENTRY_KINDS as e_,DECLINE_REASONS as r_,WITHDRAW_AFTER as o_,ledgerKey as t_,normalizeCall as a_,makeLedgerEntry as i_,summarizeEngine as s_}from"./model-ledger.js";import{RECRUIT_SCHEMA as l_,MIN_FIT as S_,engineRow as E_,engineRows as m_,needForJob as c_,routeFor as p_,engineWorth as T_,applications as d_,evaluatorPrompt as __,parseEvaluation as R_,decide as A_,recruitForRun as f_,proposalFromNeeds as u_,proposalToAgent as I_,carveBudget as O_,recruitEvents as N_,recruitJob as g_}from"./recruit.js";import{DEFAULT_MIN_CALLS as M_,cardOverride as P_,applyCard as L_}from"./model-candidates.js";import{SCM_KINDS as h_,validateConnection as F_,normalizeConnection as D_,parseRemote as y_,connectionFor as k_,branchFor as U_,worktreeDirFor as b_,credentialEnv as v_,describeConnection as w_,blankConnection as B_,connectionFromForm as G_}from"./scm-connection.js";import{messagesFor as K_,mergeTranscript as V_,clipTranscript as W_,clipMessage as X_,newSteps as Y_,continuationNote as z_,createControl as J_,STEP_MAX_CHARS as j_,TASK_TRANSCRIPT_MAX_CHARS as Q_}from"./team-task.js";import{runTeam as Z_,resumeTeam as $_,dryRunTeam as eR,isModelUnavailable as rR,TeamRunError as oR,RUN_STATUSES as tR}from"./team-run.js";import{teamToolProvider as iR,teamToolSpec as sR,teamToolTimeoutMs as nR,describeTeamForApproval as lR,TEAM_TOOL_NAME as SR,TEAM_MANUAL as ER}from"./team-tool.js";import{workLogFor as cR,workLogText as pR,workLogEvidence as TR,describeCall as dR,WORKLOG_KINDS as _R}from"./team-worklog.js";import{normalizeRequest as AR,subtaskFromRequest as fR,takeUp as uR,takeUpLine as IR,holdsGrants as OR,jobFromSubtask as NR,extendDependents as gR,taskTree as CR,threadRows as MR,MAX_SUBTASKS as PR,MAX_DEPTH as LR,MIN_TAKEUP_FIT as xR}from"./team-subtask.js";import{teamLine as FR,teamLanes as DR}from"./team-trail.js";import{promoteRoles as kR,starterTeam as UR,missingStarters as bR,teamHealth as vR,teamShape as wR,describeTeamShape as BR,whereItWorks as GR,rosterRows as HR,agentKind as KR,agentHue as VR,agentColor as WR,agentInitials as XR,roleCardId as YR,cardNumbers as zR,upsertAgents as JR,soloTeam as jR,teamsWithSolos as QR,builtinOrg as qR,isBuiltin as ZR,grantChoices as $R,grantsFromChoices as eA,skillChoices as rA,GRANT_INFO as oA,SOLO_BUDGET as tA,TEAM_SHAPES as aA,ROSTER_KINDS as iA}from"./team-org.js";import{observeInbox as nA,observeStrip as lA,runLanes as SA,spendRows as EA,engineStrip as mA}from"./team-observe.js";import{mcpDispatchProvider as pA,MCP_TOOL_NAME as TA}from"./mcp-dispatch.js";import{createManifest as _A,ManifestError as RA,SOURCES as AA}from"./manifest.js";import{createKernel as uA,meetDecisions as IA,KernelError as OA,REQUIRED_PLUGINS as NA,ALLOW_ALL as gA}from"./kernel.js";import{replay as MA,formatReport as PA,parseJsonl as LA,toJsonl as xA}from"./harness.js";import{compileQuery as FA,findMatches as DA,matchIndexFor as yA,expandReplacement as kA,replaceMatch as UA,replaceAll as bA,replaceAllInRange as vA,MAX_MATCHES as wA}from"./text-search.js";import{DATA_SCOPES as GA}from"./scopes.js";import{MEMORY_VERSION as KA,MEMORY_KINDS as VA,MEMORY_KIND_NAMES as WA,AMBIENT_KINDS as XA,MAX_MEMORY_CHARS as YA,MIN_MEMORY_CHARS as zA,DEFAULT_MAX_MEMORIES as JA,DEFAULT_BLOCK_CHARS as jA,SAME_FACT as QA,MEMORY_TOOL_SPEC as qA,MEMORY_UPCASTERS as ZA,MemoryError as $A,normalizeMemory as ef,isValidMemory as rf,memoryKey as of,slotOf as tf,similarity as af,containment as sf,candidatesFrom as nf,reconcile as lf,matchForForget as Sf,recall as Ef,saysWhere as mf,homePlace as cf,needsWhere as pf,memoryBlock as Tf,markUsed as df,pruneMemories as _f,memoryToolSystem as Rf,upcastMemory as Af,sameMemory as ff,AMBIENT_MAX_WORDS as uf}from"./memory.js";import{linksToRead as Of,storyLinkOf as Nf,linkAttachments as gf,asksOnlyAboutPage as Cf,pageInstruction as Mf}from"./message-links.js";import{frontPagesAskedAbout as Lf,frontPageInstruction as xf,FRONT_PAGES as hf}from"./site-pages.js";import{SOURCE_TRUST as Df,SkillSourceError as yf,defineSkillSource as kf,createSkillSourceRegistry as Uf}from"./skill-sources.js";import{SKILL_MANIFEST_VERSION as vf,SKILL_CONTEXTS as wf,SKILL_HISTORY_SCOPES as Bf,SKILL_MCP_MODES as Gf,SKILL_TRUST as Hf,SKILL_FILE_KINDS as Kf,SKILL_UPCASTERS as Vf,SkillManifestError as Wf,isSafeSkillPath as Xf,originOf as Yf,trustOf as zf,skillFiles as Jf,needsBridge as jf,declaredAccess as Qf,originLabel as qf,sameSkillOrigin as Zf,skillIsStale as $f,validateSkill as eu,upcastSkill as ru,upcastSkills as ou,normalizeSkill as tu}from"./skill-manifest.js";import{SKILL_VARS as iu,SKILL_VAR_NAMES as su,skillVar as nu,skillVarPattern as lu,parseSkillVars as Su,lintSkillPrompt as Eu,suggestSkillVar as mu,substituteSkillVars as cu,expandSkillPrompt as pu,skillVarGuidance as Tu,SkillVarError as du}from"./skill-vars.js";import{lineAt as Ru,writerAffordance as Au,INSTRUCTION_RE as fu,instructionOnLine as uu,GOAL_MIN_NEW as Iu,goalDraftAllowed as Ou,createSpendMeter as Nu,writerTail as gu,draftSeparator as Cu,groundingBlock as Mu,writerRequest as Pu,AUTOCOMPLETE_SYSTEM as Lu,AUTOCOMPLETE_MAX_TOKENS as xu,AUTOCOMPLETE_TEMPERATURE as hu,clipCompletion as Fu,GEARS as Du,WRITER_PREFS as yu,WRITER_PREF_DEFAULTS as ku,normalizeWriterPrefs as Uu,normalizeIntent as bu}from"./cowriter-writer.js";import{SLASH_TYPING_RE as wu,NEW_THREAD_SLASH_ITEMS as Bu,parseNewThread as Gu,BUG_REPORT_SLASH_ITEMS as Hu,parseBugCommand as Ku,isSkillEnabled as Vu,enabledSkills as Wu,slashCommandItems as Xu,matchSlashSkill as Yu,matchSlashRecipe as zu,recipeInvocationText as Ju,matchSlashTeam as ju,teamInvocationText as Qu,slashCommandInsert as qu,skillInvocationOf as Zu,skillInvocationLabel as $u}from"./slash-commands.js";import{outlineOf as rI,parseListItem as oI,continueList as tI,indentSelection as aI,toggleWrap as iI,toggleLinePrefix as sI,toggleTask as nI,toggleLink as lI,docStats as SI,selectionStats as EI}from"./markdown-authoring.js";import{MAX_TAG_LENGTH as cI,MAX_TAGS as pI,normalizeTag as TI,normalizeTags as dI,hasTag as _I,addTag as RI,removeTag as AI,toggleTag as fI,sameTags as uI,formatTag as II,parseTagQuery as OI,hasTagTerms as NI,formatTagQuery as gI,matchesTagFilter as CI,filterByTags as MI,tagFacets as PI,suggestExistingTags as LI,tagsSearchText as xI}from"./tags.js";import{UNTITLED_MEETING as FI,MAX_TITLE_LENGTH as DI,TITLE_RULES_VERSION as yI,cleanTitle as kI,isGenericTitle as UI,titleFromSummary as bI,titleFromTopics as vI,titleFromParticipants as wI,titleFromDate as BI,readableWhen as GI,deriveMeetingTitle as HI,shouldAutoTitle as KI,isBetterTitleSource as VI,meetingTitlePrompt as WI,parseTitleResponse as XI}from"./titles.js";import{RECORD_KINDS as zI,MAX_TITLE_LEN as JI,LibraryError as jI,parseRecordId as QI,makeRecordId as qI,isRecordId as ZI,normalizeStoredRecord as $I,isValidStoredRecord as eO,toSearchRecord as rO,searchTextFor as oO,toIndexEntry as tO,deriveTitle as aO,snippetOf as iO,wordCount as sO,findRecordRefs as nO,linkRecordRefs as lO,repairAnswerMarkup as SO}from"./library.js";import{CLOCK_TOLERANCE_MS as mO,SyncError as cO,stampOf as pO,decide as TO,planSync as dO,isSettled as _O,forkConflict as RO,advanceBases as AO}from"./sync-plan.js";import{ENCRYPTED_TYPE as uO,COMPRESSIONS as IO,BackupError as OO,KDF_ITERATIONS as NO,encryptBackup as gO,decryptBackup as CO,isEncryptedBackup as MO,RECORD_TYPE as PO,deriveBackupKey as LO,sealRecord as xO,openRecord as hO,isSealedRecord as FO,keyCache as DO,identityCodec as yO,streamCodec as kO,nodeCodec as UO,bestCodec as bO}from"./backup-envelope.js";import{recordsFromBackup as wO,backupFromRecords as BO}from"./backup-records.js";import{DEFAULT_POLICY as HO,SLOW_POLICY as KO,scalePolicy as VO,pickProfile as WO,adaptProfile as XO,policyFor as YO,SLOW_FLUSH_MS as zO,FAST_FLUSH_MS as JO,FAST_STREAK as jO,createJournal as QO,JournalError as qO,ENTRY_VERSION as ZO,makeEntry as $O,tombstone as eN,isTombstone as rN,isEntry as oN,entryStamp as tN,supersedes as aN,BOUNDS as iN,createSegment as sN,applyEntry as nN,segmentBytes as lN,segmentEntries as SN,shouldRotate as EN,mergeSegments as mN,segmentName as cN,parseSegmentName as pN,SEGMENT_RE as TN,boundSegments as dN,segmentsFor as _N,overlay as RN,catchUpPlan as AN}from"./journal.js";import{OMNI_MODES as uN,OMNI_GRAMMAR as IN,parseOmni as ON,extractFilters as NN,resolveSince as gN,wantsModel as CN,isActionable as MN}from"./omni.js";import{THEMES as LN,LIGHT as xN,DARK as hN,PALETTES as FN,SHAPE as DN,TOKEN_NAMES as yN,TOKEN_ROLES as kN,paletteFor as UN,cssVarName as bN,toCssVars as vN,themeStylesheet as wN,resolveTheme as BN}from"./theme.js";import{PLANS as HN,API_BASE as KN,ENDPOINTS as VN,ENTITLEMENT_PUBLIC_JWK as WN,UPGRADE_URL as XN,FEATURE_TIER as YN,PRO_FEATURES as zN,TEAM_FEATURES as JN,FREE_LIMITS as jN,COUNTED as QN,freeCap as qN,observeSince as ZN,RECHECK_INTERVAL_MS as $N,EntitlementError as eg,checkoutUrl as rg,planOf as og,planLabel as tg,isPro as ag,isTeam as ig,can as sg,tierFor as ng,withinFreeLimit as lg,verifyEntitlement as Sg,verifySignedToken as Eg,licenseFromPayload as mg,needsRecheck as cg}from"./entitlement.js";import{generateDeviceKey as Tg,exportDevicePublicKey as dg,signChallenge as _g}from"./device-proof.js";import{renderMarkdown as Ag,defaultLinkPolicy as fg,defaultImagePolicy as ug}from"./markdown-render.js";import{NOTE_IMAGE_SCHEME as Og,MAX_NOTE_IMAGE_BYTES as Ng,NOTE_IMAGE_TYPES as gg,noteImageId as Cg,noteImageRef as Mg,noteImageIds as Pg,noteImageRefs as Lg,stripNoteImageRefs as xg,orphanNoteImages as hg,newNoteImageId as Fg}from"./note-images.js";import{parseMeetingText as yg,speakerStats as kg,densityRibbon as Ug}from"./meeting-text.js";import{speakerBreakdown as vg,speakerTimeline as wg,formatTalkTime as Bg,SPEAKER_SLOTS as Gg}from"./meeting-shape.js";import{isSpeakerImageValue as Kg,speakerLabeller as Vg}from"./meeting-shape.js";import{SORT_MODES as Xg,SORT_LABELS as Yg,sortStamp as zg,sortRecords as Jg,filterRecords as jg,dayBucket as Qg,rowTime as qg,groupRecords as Zg}from"./record-list.js";import{DATE_PRESETS as eC,startOfDay as rC,addDays as oC,dayKey as tC,resolveDateValue as aC,dateRangeOf as iC,parseDateQuery as sC,hasDateTerms as nC,isSingleDay as lC,formatDateTerm as SC,setDateTerm as EC,matchesDateRange as mC,filterByDate as cC,describeDateRange as pC,dateFilterLabel as TC,activePreset as dC,pickDay as _C,shiftMonth as RC,monthGrid as AC,dayCounts as fC,nearbyDays as uC,localeWeekStart as IC}from"./date-filter.js";import{INSIGHT_KINDS as NC,summarySections as gC,insightKindOf as CC,meetingInsights as MC,hasInsights as PC}from"./meeting-insights.js";import{demd as xC,NOTE_SECTIONS as hC,noteSectionKind as FC,MOMENT_BADGES as DC,momentBadge as yC,parseMeetingNotes as kC,groupActionsByOwner as UC}from"./meeting-insights.js";import{PREF_SECTIONS as vC,PREF_SECTION_IDS as wC,DESKTOP_SECTION_IDS as BC,sectionSpec as GC,sectionValue as HC,pickSections as KC,applySections as VC,sectionHash as WC,mergeStamped as XC,changedSections as YC}from"./client-prefs.js";import{SETTINGS_GROUPS as JC,SETTINGS_PAGES as jC,REQUIREMENTS as QC,BOOKKEEPING_KEYS as qC,listRows as ZC,findRow as $C,pageById as eM,groupById as rM,pagesOf as oM,quickRows as tM,breadcrumb as aM,linkTo as iM,linkToRow as sM,parseLink as nM,valueOf as lM,setValue as SM,effectiveValue as EM,describeValue as mM,SETTINGS_OPEN_DEFAULT as cM,settingsOpenMode as pM,searchSettings as TM,statusOf as dM,statusAll as _M,homeChecklist as RM,gateOf as AM,sectionOfRow as fM}from"./settings-registry.js";import{pointsAtGateway as IM,destinationFromEndpoint as OM,destinationFromAgent as NM,availableDestinations as gM,seedDestinations as CM,shouldSeedDestinations as MM,mergeEndpointDestinations as PM}from"./gateway-dests.js";import{McpClient as xM,mcpProvider as hM}from"./mcp-client.js";import{mcpSharedSystem as DM,mcpInventorySystem as yM,sourceCitationSystem as kM,combineSystemPrompt as UM,toolStatus as bM,widgetAuthoringSystem as vM,vaultWidgetSystem as wM,wantsVaultGuidance as BM}from"./tool-hints.js";import{adaptiveToolRetryHint as HM,createAdaptiveToolPolicy as KM,isInvalidToolParametersResult as VM}from"./adaptive-tool-policy.js";import{getMcpProviders as XM,testMcpServer as YM,resetMcp as zM,mcpBackoff as JM}from"./mcp-manager.js";import{SIDELINE_COMMANDS as QM,BRINGBACK_COMMAND as qM,THREAD_TOOL_NAME as ZM,SIDELINE_SLASH_ITEMS as $M,THREAD_TOOL_SPEC as eP,parseSideline as rP,parseBringBack as oP,resolveSidelineTarget as tP,threadManifest as aP,threadToolProvider as iP,readThread as sP,briefPrompt as nP,foldBackNote as lP,foldNotes as SP,nextSidelineIndex as EP,sourceOf as mP,noteUnits as cP,sidelinePath as pP,foldBackFor as TP,SIDELINE_TOOL_NAME as dP,SIDELINE_TOOL_SPEC as _P,sidelineToolProvider as RP}from"./sideline.js";import{WEATHER_TOOL_NAME as fP,WEATHER_TOOL_SYSTEM as uP,weatherToolProvider as IP,weatherFromSearch as OP}from"./weather-tool.js";import{DECIDE_TOOL_NAME as gP,RERANK_TOOL_NAME as CP,CAPABILITY_TOOLS_SYSTEM as MP,capabilityToolsProvider as PP}from"./capability-tools.js";import{openDecision as xP,distributionConfidence as hP}from"./open-decision.js";import{IN_PROCESS_IDS as DP,inProcessView as yP,capabilityView as kP,choicePatch as UP,choiceNote as bP,inProcessPatch as vP}from"./runtime-in-process.js";import{renderContent as BP,toChatMessages as GP,toMultimodalMessages as HP,imageAttachmentsOf as KP,deferAttachedSources as VP,withSourceTool as WP,SOURCE_TOOL_SPEC as XP}from"./context-attachments.js";import{prefetchPlan as zP,prefetchAttachment as JP,lookupResult as jP,lookupLabel as QP,runResearchItem as qP,weatherPlace as ZP,weatherFollowupPlace as $P,newsAsk as eL,pageAsk as rL,answeredByPrefetch as oL,webRedoAsk as tL,aboutOwnPast as aL,offeredSearch as iL,prefetchBudgetMs as sL}from"./prefetch.js";import{createFetchedStore as lL,withFetchedMemo as SL,fetchKey as EL,fetchTitle as mL,fetchedAsSources as cL,fetchedFacts as pL,defaultTtl as TL,exchangeOf as dL,FETCHED_TTL_MS as _L}from"./fetched.js";import{windowOf as AL,fitFor as fL,keepRecentFor as uL,minWindowFor as IL,isContextLimitError as OL,FIT_HEADROOM as NL,SMALL_WINDOW as gL,isSmallWindow as CL,SMALL_WINDOW_ROUNDS as ML}from"./context-window.js";import{planCompaction as LL,compactionPrompt as xL,compactionRecord as hL,messagesAfter as FL,systemWithSummary as DL,compactable as yL,COMPACTION_SYSTEM as kL}from"./compaction.js";import{selectContext as bL}from"./context-select.js";import{withoutOwnInstructions as wL}from"./own-instructions.js";import{digest as GL,needsWhole as HL}from"./digest.js";import{planRetrieval as VL,toolsWanted as WL,worldAnswered as XL,worldPlanned as YL,toolPlan as zL,contextPlan as JL,historyContext as jL,HISTORY_NOTE as QL,placeItems as qL,planTurn as ZL}from"./retrieval-plan.js";import{intentNeeds as ex,intentSchema as rx,intentPrompt as ox,intentFromReply as tx,intentItems as ax,wantsIntent as ix,wantsDecision as sx,decideIntent as nx,questionsIn as lx,partQueries as Sx,MAX_PARTS as Ex,EXPECTS as mx,expectsOf as cx}from"./turn-intent.js";import{figuresIn as Tx,unsupportedFigures as dx,unsupportedNote as _x,groundingNote as Rx,turnGroundingNote as Ax}from"./answer-grounding.js";import{turnFlow as ux,turnFlowChart as Ix,flowWorthDrawing as Ox,stepAction as Nx,stepState as gx}from"./turn-flow.js";import{runTurnPipeline as Mx,finishTurn as Px,routeByRule as Lx,defineLane as xx,listLanes as hx,TURN_STAGES as Fx}from"./turn-pipeline.js";import{gatherItems as yx,isMiss as kx,isWebSearch as Ux,GATHER_LIMITS as bx}from"./turn-gather.js";import{TURN_EVENTS as wx,createTurnEvents as Bx,activityOf as Gx,applyStateDelta as Hx}from"./turn-events.js";import{QUESTION_PLAN_LIMITS as Vx,SEARCH_UNAVAILABLE as Wx,factSchema as Xx,factSchemaFor as Yx,partsOf as zx,plainEvidence as Jx,evidenceFor as jx,rankedEvidence as Qx,factPrompt as qx,fitsExpected as Zx,snapQuote as $x,standsOn as eh,subjectsOf as rh,factFromReply as oh,carried as th,againQuery as ah,pointsBack as ih,dependsOn as sh,partsPlan as nh,notFoundLines as lh,factsList as Sh,sourcesOf as Eh,finishAnswer as mh,gatherFacts as ch}from"./question-plan.js";import{createCassette as Th,gradeAnswer as dh,scoreRuns as _h,textKey as Rh,ReplayMiss as Ah}from"./turn-replay.js";import{asksIdentity as uh,identitySystem as Ih,identityHint as Oh}from"./identity.js";import{splitBlocks as gh,mergeNote as Ch,syncNote as Mh,conflictsIn as Ph,resolveConflict as Lh}from"./note-merge.js";import{STITCH_LIMITS as hh,CUT_FINISH as Fh,partChars as Dh,splitForWindow as yh,partPrompt as kh,mapParts as Uh,reduceNotes as bh,fitAttachments as vh,isNone as wh,continuationMessages as Bh,trimOverlap as Gh,withStitching as Hh,CONTINUE_TEXT as Kh}from"./stitch.js";import{presenceFor as Wh,presenceDelta as Xh,reachOf as Yh,withPresence as zh,presenceBlock as Jh,roundCount as jh,roundMinutes as Qh,PRESENCE_BUDGET_TOKENS as qh,PRESENCE_KINDS as Zh}from"./presence.js";import{PolicyError as eF,POLICY_VERSION as rF,POLICY_TOKEN_TYPE as oF,REDACTION_TIERS as tF,LOCKABLE as aF,FEATURES as iF,PERMISSION_MODES as sF,PRODUCT_HOSTS as nF,normalizeOrgPolicy as lF,endpointAllowed as SF,modelAllowed as EF,agentAllowed as mF,permissionMode as cF,routeAllowed as pF,redactionTier as TF,egressAllowed as dF,settingLocked as _F,featureEnabled as RF,applyPolicyToSettings as AF,policyLabel as fF,policyHash as uF,verifyPolicyToken as IF,globToRegExp as OF}from"./policy.js";import{languageInstruction as gF,RESPONSE_LANGUAGES as CF}from"./response-language.js";import{NOTE_TOOL_SPECS as PF,makeNoteToolExecutor as LF}from"./note-tool.js";import{memoryToolProvider as hF}from"./memory-tool.js";import{captureFromMessage as DF}from"./memory-capture.js";import{skillRunFromSkill as kF,skillPackageFiles as UF,filterMcpServersForSkill as bF,skillToolSystem as vF,skillHandle as wF,rankSkills as BF,skillCatalogSystem as GF}from"./skill-runtime.js";import{skillFileProvider as KF,SKILL_FILE_TOOL as VF,skillEntry as WF,skillDiscoveryProvider as XF}from"./skill-files.js";import{SKILL_DRAFT_SCHEMA as zF,MAX_SKILL_FILE_BYTES as JF,MAX_SKILL_PACKAGE_BYTES as jF,skillCreatorPrompt as QF,skillIdFrom as qF,admitPackage as ZF,skillFromDraft as $F,packagesFromFiles as eD}from"./skill-creator.js";import{PATH_KIND as oD,FILES_TOOL as tD,checkAttachablePath as aD,secretReason as iD,isSecretPath as sD,pathAttachment as nD,describeAttachedPath as lD,describePathSize as SD,displayPath as ED,pathAttachmentsOf as mD,withAbsolutePaths as cD,attachedFilesProvider as pD,sniffType as TD,normalizePath as dD,collapseDots as _D,basenameOf as RD,SKIP_DIR_NAMES as AD}from"./attached-paths.js";import{EXTRACT_ROUTE as uD,EXTRACT_PROVIDER_ID as ID,MAX_DOCUMENT_BYTES as OD,PAGE_CHARS as ND,EXTRACT_TYPES as gD,validateExtractRequest as CD,validateExtractResponse as MD,paginateText as PD,gatewayExtractor as LD,extractorChain as xD}from"./extract-capability.js";import{MCP_REGISTRY_API as FD,MCP_CATALOG as DD,registryListUrl as yD,fetchMcpRegistryPage as kD,normalizeRegistryPage as UD,normalizeRegistryEntry as bD,mcpServerFromCatalogItem as vD}from"./mcp-registry.js";import{CE_SPECVERSION as BD,CE_TYPE_PREFIX as GD,CE_SOURCE_PREFIX as HD,rfc3339 as KD,ceSourceOf as VD,ceHostOf as WD,toCloudEvent as XD,fromCloudEvent as YD,toCloudEventLines as zD,fromCloudEventLines as JD,toCloudEventBatch as jD}from"./cloudevents.js";import{PUSH_LIMITS as qD,planEventPush as ZD,ingestCloudEvents as $D,cursorOf as ey}from"./event-sync.js";import{eventStats as oy,projectYear as ty}from"./event-stats.js";import{SEALED_TYPE as iy,SEALED_VERSION as sy,SealError as ny,webCryptoSealer as ly,nodeSealer as Sy,newDeviceKey as Ey,sealBlob as my,openBlob as cy,shredBlob as py,isSealedBlob as Ty,isShredded as dy}from"./blob-envelope.js";import{USAGE_RING_MAX as Ry,COST_BASES as Ay,usageRecord as fy,usageFromEvent as uy,usageFromOpenAi as Iy,rollupKey as Oy,applyUsage as Ny,summarizeUsage as gy,formatTurnUsage as Cy,describeTurnUsage as My,promptTokensOf as Py}from"./usage.js";import{rateFor as xy,costFor as hy,formatUsd as Fy,PRICING_BASES as Dy,PRICING_LABELS as yy,normalizePricing as ky,priceUsage as Uy}from"./usage-pricing.js";import{FACTCHECK_SCHEMA as vy,FACTCHECK_VERDICTS as wy,lastClaimOf as By,factcheckPrompt as Gy,factcheckVerdict as Hy,factcheckKey as Ky}from"./cowriter-factcheck.js";import{createVoiceLoop as Wy,VOICE_STATES as Xy,MUTE_GRACE_MS as Yy,MAX_PENDING_CHARS as zy,CONTINUATION_WINDOW_MS as Jy,ECHO_OVERLAP as jy,ECHO_TAIL_MS as Qy,MIN_BARGE_IN_WORDS as qy,looksLikeEcho as Zy}from"./voice-loop.js";import{voiceStep as ek,initialVoiceState as rk,voiceSpeaker as ok,isFarewell as tk,ANOTHER_VOICE as ak}from"./voice-brain.js";import{speakStream as sk,speakable as nk,SPOKEN_REPLY_HINT as lk}from"./speak-stream.js";import{createVad as Ek,lowBandEnergy as mk,pcmEnergy as ck,VAD_DEFAULTS as pk}from"./voice-vad.js";import{HF_API as dk,TTS_ARCH_LABEL as _k,ttsArchOf as Rk,partitionTtsModels as Ak,modelSearchUrl as fk,searchModels as uk,normalizeModel as Ik,formatDownloads as Ok,describeSearchResult as Nk}from"./model-registry.js";import{SAMPLE_RATE as Ck,MIN_SECONDS as Mk,TARGET_SECONDS as Pk,MAX_SECONDS as Lk,PROMPT_TEXT as xk,sampleSeconds as hk,sampleTooShort as Fk,defaultVoiceName as Dk,microphoneError as yk,webMedia as kk,startRecording as Uk}from"./voice-sample.js";import{TIER_LABEL as vk,modelRows as wk,catalogStatus as Bk,dtypePicker as Gk,voicePicker as Hk,voiceListRows as Kk,diarizeRows as Vk,switchOutcome as Wk,saveVoiceFailure as Xk,saveTimedOut as Yk,catalogUnavailable as zk}from"./voice-models.js";import{dictToText as jk,textToDict as Qk}from"./redaction-dictionary.js";import{groupRuns as Zk,summarizeRun as $k,findRepeats as eU,withCost as rU,verdict as oU,toSanitizedReport as tU}from"./run-details.js";import{RELAYED_HOST as iU,linkSurfaceOf as sU,surfaceLabel as nU,isRelayedTurn as lU,usageFromRelayedTurn as SU,summarizeRelayedUsage as EU,mergeUsageSummaries as mU,relayedRunsOf as cU,relayedThreadTitle as pU,pullRelayedEvents as TU}from"./link-activity.js";import{parseMcpConfig as _U,parseArgsInput as RU,argsToText as AU,parseEnvInput as fU,envToText as uU,envLikeArgs as IU}from"./mcp-config-import.js";import{mutableRef as NU,refreshArgs as gU,canRefresh as CU,describeRuntime as MU}from"./mcp-launcher.js";import{defaultMcpServers as LU,isDefaultMcpServer as xU}from"./default-mcp-servers.js";import{MONITOR_SOURCES as FU,DEFAULT_MONITOR_PROFILE as DU,monitorProfile as yU,monitorWindowMs as kU,monitorNeedsTools as UU,filterMonitorTools as bU,recentFindings as vU,describeMonitorProfile as wU}from"./monitor-profile.js";import{NOTHING_NEW as GU,isNothingNew as HU,accumulates as KU,priorFindingsText as VU,deltaInstruction as WU,monitorPrompt as XU,applyMonitorReply as YU}from"./monitor-turn.js";import{defaultSkills as JU,meetingNotesSkill as jU}from"./default-skills.js";import{SURFACES as qU,FEATURES as ZU,listFeatures as $U,featureIds as eb}from"./feature-map.js";import{ISSUE_REPO as ob,NEW_ISSUE_BASE as tb,ISSUE_SEARCH_API as ab,MAX_ISSUE_URL as ib,scrubReportText as sb,diagnosticsText as nb,buildBugReport as lb,newIssueUrl as Sb,titleTerms as Eb,issueSearchUrl as mb,matchIssues as cb,findExistingIssues as pb,issueCommentText as Tb}from"./bug-report.js";import{WEB_RESEARCH_LIMITS as _b,WEB_TASK_DOMAINS as Rb,researchAsk as Ab,refineQueries as fb,parseSearchText as ub,cleanUrl as Ib,pageKey as Ob,passagesOf as Nb,webResearch as gb,researchBrief as Cb,researchCall as Mb,runResearch as Pb}from"./web-research.js";import{parseAmount as xb,moneyIn as hb,basisAt as Fb,qualifierAt as Db,quoteAround as yb,offersIn as kb,rankOffers as Ub,comparable as bb,basisLabel as vb,formatValue as wb,unverifiedAmounts as Bb,quoteFormIn as Gb}from"./offers.js";import{isSecretField as Kb,maskSecretFields as Vb,isPersonalField as Wb,commitKind as Xb,commitQuestion as Yb,captchaIn as zb,captchaHandoff as Jb,fenceUntrusted as jb,isFenced as Qb}from"./page-guard.js";import{BROWSER_RELAY as Zb,BROWSER_KINDS as $b,validateBrowserCall as ev,validateBrowserAnnounce as rv,validateBrowserResult as ov,createBrowserRelay as tv,browserRelaySystem as av}from"./browser-relay.js";export{za as ACCESS_LOG_MAX,Ya as ACCESS_LOG_VERSION,i as ACTOR_KINDS,kd as AGENT_ID_RE,Ep as AGENT_REF_RE,gA as ALLOW_ALL,a as ALL_TYPES,XA as AMBIENT_KINDS,uf as AMBIENT_MAX_WORDS,ak as ANOTHER_VOICE,KN as API_BASE,Ud as APPLIES_TO,Up as ASK_TYPES,vd as ASSISTANT_ID,un as ASSISTANT_NAME,xu as AUTOCOMPLETE_MAX_TOKENS,Lu as AUTOCOMPLETE_SYSTEM,hu as AUTOCOMPLETE_TEMPERATURE,GT as AUTONOMY,ii as AdapterError,wd as AgentError,Rn as AnalyzerError,NO as BACKUP_KDF_ITERATIONS,Wp as BOARD_TOOL_NAME,qC as BOOKKEEPING_KEYS,Mt as BRIEF_STATES,qM as BRINGBACK_COMMAND,$b as BROWSER_KINDS,Zb as BROWSER_RELAY,Jc as BUDGET_DIMENSIONS,Hu as BUG_REPORT_SLASH_ITEMS,qs as BUILTIN_TRIGGERS,Bn as BUILTIN_VOICE_INTENTS,OO as BackupError,zc as BudgetError,_n as CADENCES,MP as CAPABILITY_TOOLS_SYSTEM,HD as CE_SOURCE_PREFIX,BD as CE_SPECVERSION,GD as CE_TYPE_PREFIX,KT as CHECKS,Pt as CLAIM_KINDS,n as CLASSES,mO as CLOCK_TOLERANCE_MS,kL as COMPACTION_SYSTEM,IO as COMPRESSIONS,Cc as COMPRESSION_MODES,Jy as CONTINUATION_WINDOW_MS,Kh as CONTINUE_TEXT,tE as COOLDOWN_MS,Ay as COST_BASES,QN as COUNTED,Tr as COWRITER_SYSTEM,dr as COWRITER_TEMPERATURE,o as CURRENT_VERSION,Fh as CUT_FINISH,hN as DARK,GA as DATA_SCOPES,eC as DATE_PRESETS,On as DAYPART_HOUR,gP as DECIDE_TOOL_NAME,r_ as DECLINE_REASONS,Ve as DEFAULT_API_ENGINES,Xp as DEFAULT_ASK_TIMEOUT_MS,jA as DEFAULT_BLOCK_CHARS,Mc as DEFAULT_COMPRESSION,BT as DEFAULT_GATE,ls as DEFAULT_INTERNAL_PATTERNS,fs as DEFAULT_LOCK_MS,LE as DEFAULT_MAX_FINISH_TRIES,JA as DEFAULT_MAX_MEMORIES,PE as DEFAULT_MAX_ROUNDS,M_ as DEFAULT_MIN_CALLS,DU as DEFAULT_MONITOR_PROFILE,HO as DEFAULT_POLICY,qE as DEFAULT_SHIELD,ZE as DEFAULT_STORE,lt as DEFAULT_THRESHOLD,fn as DEFAULT_WAKE,ec as DESCRIBE_ACTION,BC as DESKTOP_SECTION_IDS,jy as ECHO_OVERLAP,Qy as ECHO_TAIL_MS,l as EFFECTS,S as EGRESS,bd as EGRESS_CLASSES,uO as ENCRYPTED_TYPE,VN as ENDPOINTS,_o as ENGINES_REV,co as ENGINE_KINDS,gd as ENGINE_SPEC_KINDS,Al as ENTITIES_SCHEMA,WN as ENTITLEMENT_PUBLIC_JWK,Rl as ENTITY_TYPES,fi as ENTRY_KINDS,ZO as ENTRY_VERSION,t as EVENT_TYPES,od as EXECUTIVE,FE as EXHAUSTED_NOTE,mx as EXPECTS,ID as EXTRACT_PROVIDER_ID,uD as EXTRACT_ROUTE,gD as EXTRACT_TYPES,eg as EntitlementError,E as EventError,vy as FACTCHECK_SCHEMA,wy as FACTCHECK_VERDICTS,Yi as FAILOVER_CAPABILITY_GAP,Xi as FAILOVER_CLASS_GAP,SE as FAILOVER_MAX_ATTEMPTS,JO as FAST_FLUSH_MS,jO as FAST_STREAK,iF as FEATURES,ZU as FEATURE_MAP,qU as FEATURE_SURFACES,YN as FEATURE_TIER,_L as FETCHED_TTL_MS,Dl as FIELD_TYPES,tD as FILES_TOOL,xp as FINDINGS_SCHEMA,hp as FINDING_KINDS,Nm as FIND_ACTION,Ec as FIND_DESCRIPTION,mc as FIND_RESIDENT,Sc as FIND_TOOL_NAME,xE as FINISH_NUDGES,NL as FIT_HEADROOM,jN as FREE_LIMITS,hf as FRONT_PAGES,hm as FUSED_BUDGET_MS,xm as FUSED_CANDIDATES,bx as GATHER_LIMITS,Du as GEARS,Iu as GOAL_MIN_NEW,np as GRANTABLE,oA as GRANT_INFO,Sp as GRANT_RE,dk as HF_API,QL as HISTORY_NOTE,km as HUB_TOOL_NAME,HT as HUMAN_FLAGS,$S as INPUT_PROGRESS_TOOLS,NC as INSIGHT_KINDS,fu as INSTRUCTION_RE,Ss as INTERNAL_PATTERN_CATALOG,eo as INVARIANTS,DP as IN_PROCESS_IDS,ob as ISSUE_REPO,ab as ISSUE_SEARCH_API,Hs as JOB_ACTIONS,yT as JOB_POST_ID_RE,DT as JOB_POST_STATUSES,iN as JOURNAL_BOUNDS,FT as JobPostError,qO as JournalError,As as KDF_HASH,Rs as KDF_ITERATIONS,OA as KernelError,e_ as LEDGER_ENTRY_KINDS,$d as LEDGER_VERSION,xN as LIGHT,rT as LIVE_RUN_STATUSES,aF as LOCKABLE,hE as LOOPING_NUDGE,hi as LOOP_KINDS,jI as LibraryError,Fi as LoopError,Ft as MAX_BRIEF_CHARS,ht as MAX_BRIEF_RECORDS,Lt as MAX_CLAIMS,xt as MAX_CLAIM_REFS,In as MAX_COMMANDS_PER_DELTA,LR as MAX_DEPTH,OD as MAX_DOCUMENT_BYTES,gs as MAX_ENTRIES,Jt as MAX_EXCERPTS,jt as MAX_EXCERPT_CHARS,tr as MAX_GRAPH_NODES,ib as MAX_ISSUE_URL,td as MAX_JOBS_PER_ROUND,wA as MAX_MATCHES,YA as MAX_MEMORY_CHARS,Os as MAX_NOTE_CHARS,Ng as MAX_NOTE_IMAGE_BYTES,Ex as MAX_PARTS,zy as MAX_PENDING_CHARS,ad as MAX_ROUNDS,Lk as MAX_SECONDS,Ns as MAX_SECRET_CHARS,JF as MAX_SKILL_FILE_BYTES,jF as MAX_SKILL_PACKAGE_BYTES,St as MAX_SUBJECTS,Et as MAX_SUBJECT_CHARS,PR as MAX_SUBTASKS,gl as MAX_SUGGESTIONS,Cl as MAX_SUGGESTION_CHARS,zt as MAX_SYNTHESIS_CLAIMS,pI as MAX_TAGS,cI as MAX_TAG_LENGTH,Is as MAX_TITLE_CHARS,JI as MAX_TITLE_LEN,DI as MAX_TITLE_LENGTH,nl as MAX_TOPICS,ll as MAX_TOPIC_CHARS,DD as MCP_CATALOG,FD as MCP_REGISTRY_API,TS as MCP_SIGN_IN_CODE,TA as MCP_TOOL_NAME,VA as MEMORY_KINDS,WA as MEMORY_KIND_NAMES,qA as MEMORY_TOOL_SPEC,ZA as MEMORY_UPCASTERS,KA as MEMORY_VERSION,ip as MERGE_POLICIES,qy as MIN_BARGE_IN_WORDS,S_ as MIN_FIT,zA as MIN_MEMORY_CHARS,Mk as MIN_SECONDS,xR as MIN_TAKEUP_FIT,Ks as MISSED_POLICIES,DC as MOMENT_BADGES,FU as MONITOR_SOURCES,Yy as MUTE_GRACE_MS,RA as ManifestError,xM as McpClient,$A as MemoryError,ua as NEAR_TITLE_DISTANCE,tb as NEW_ISSUE_BASE,Bu as NEW_THREAD_SLASH_ITEMS,H as NOTE_ACTIONS,W as NOTE_ACTION_ERRORS,K as NOTE_ACTION_ORDER,V as NOTE_ACTION_TEMPERATURE,X as NOTE_COMMANDS,z as NOTE_COMMAND_MAX_TOKENS,Y as NOTE_COMMAND_TEMPERATURE,Og as NOTE_IMAGE_SCHEME,gg as NOTE_IMAGE_TYPES,hC as NOTE_SECTIONS,PF as NOTE_TOOL_SPECS,GU as NOTHING_NEW,ZS as OBSERVATION_TOOLS,IN as OMNI_GRAMMAR,uN as OMNI_MODES,he as PACER_DEFAULTS,ND as PAGE_CHARS,FN as PALETTES,HS as PARALLEL_LOCAL_RE,oD as PATH_KIND,Na as PDF_MAX_CHARS,rm as PERMISSION_ANSWERS,em as PERMISSION_EVENT,sF as PERMISSION_MODES,om as PERMISSION_TIMEOUT_MS,tm as PERMISSION_TOOL_NAME,HN as PLANS,Mr as PLAN_AUTHORS,Lr as PLAN_DECOMPOSE_MAX_TOKENS,Pr as PLAN_DECOMPOSE_SYSTEM,xr as PLAN_DECOMPOSE_TEMPERATURE,sp as PLAN_MODES,Cr as PLAN_ROLES,hr as PLAN_SECTION_MAX_TOKENS,Fr as PLAN_SECTION_TEMPERATURE,oF as POLICY_TOKEN_TYPE,rF as POLICY_VERSION,yp as POST_KINDS,kp as POST_STATUSES,vC as PREF_SECTIONS,wC as PREF_SECTION_IDS,qh as PRESENCE_BUDGET_TOKENS,Zh as PRESENCE_KINDS,Dy as PRICING_BASES,yy as PRICING_LABELS,nF as PRODUCT_HOSTS,uT as PROJECT_ID_RE,$T as PROJECT_JOBS_SCHEMA,ed as PROJECT_REVIEW_SCHEMA,id as PROJECT_RUN_STATUSES,fT as PROJECT_STATUSES,xk as PROMPT_TEXT,qt as PROPOSAL_STATES,zN as PRO_FEATURES,lS as PUBLIC_REGISTRY,qD as PUSH_LIMITS,eF as PolicyError,AT as ProjectError,rd as ProjectRunError,Vx as QUESTION_PLAN_LIMITS,Br as REACH,$N as RECHECK_INTERVAL_MS,bc as RECIPE_MODES,Hc as RECIPE_TOOL_NAME,Od as RECORD_ENGINE_KINDS,zI as RECORD_KINDS,PO as RECORD_TYPE,l_ as RECRUIT_SCHEMA,tF as REDACTION_TIERS,ft as REDACTION_TOKEN_TYPES,Xn as REFINEMENT_SCHEMA,d as REF_KINDS,no as REGISTRY_STATES,iU as RELAYED_HOST,NA as REQUIRED_PLUGINS,QC as REQUIREMENTS,CP as RERANK_TOOL_NAME,_ as RESOLUTION,CF as RESPONSE_LANGUAGES,yl as RESPONSE_MODES,ue as RESULTS_PER_ENGINE,QE as RESULT_TOOL_NAME,oT as RESUMABLE_RUN_STATUSES,ci as RETRIEVAL_TOOLS,Jm as REVEAL,ud as ROLE_KINDS,ap as ROLE_MODES,iA as ROSTER_KINDS,DE as ROUND_SEPARATOR,Cd as ROUTE_PREFERS,tR as RUN_STATUSES,Uc as RecipeError,Ah as ReplayMiss,Ji as RouterError,Ts as RuleError,QA as SAME_FACT,Ck as SAMPLE_RATE,Bs as SCHEDULE_KINDS,h_ as SCM_KINDS,s as SCOPE_KINDS,fd as SCORECARD_ENTRY_KINDS,Id as SCORECARD_VERSION,iy as SEALED_TYPE,sy as SEALED_VERSION,be as SEARCH_API_PRESETS,fe as SEARCH_ENGINES,Qe as SEARCH_STATUS,Wx as SEARCH_UNAVAILABLE,TN as SEGMENT_RE,It as SELF_LABELS,JC as SETTINGS_GROUPS,cM as SETTINGS_OPEN_DEFAULT,jC as SETTINGS_PAGES,DN as SHAPE,kE as SHIMS,UE as SHIM_IDS,QM as SIDELINE_COMMANDS,$M as SIDELINE_SLASH_ITEMS,dP as SIDELINE_TOOL_NAME,_P as SIDELINE_TOOL_SPEC,wf as SKILL_CONTEXTS,zF as SKILL_DRAFT_SCHEMA,Kf as SKILL_FILE_KINDS,VF as SKILL_FILE_TOOL,Bf as SKILL_HISTORY_SCOPES,vf as SKILL_MANIFEST_VERSION,Gf as SKILL_MCP_MODES,Hf as SKILL_TRUST,Vf as SKILL_UPCASTERS,iu as SKILL_VARS,su as SKILL_VAR_NAMES,AD as SKIP_DIR_NAMES,wu as SLASH_TYPING_RE,zO as SLOW_FLUSH_MS,KO as SLOW_POLICY,gL as SMALL_WINDOW,ML as SMALL_WINDOW_ROUNDS,tA as SOLO_BUDGET,Yg as SORT_LABELS,Xg as SORT_MODES,AA as SOURCES,XP as SOURCE_TOOL_SPEC,Df as SOURCE_TRUST,Ia as SPAN_MIN_TERMS,Gg as SPEAKER_SLOTS,lk as SPOKEN_REPLY_HINT,nT as STALLED_AFTER_MS,zd as STARTER_AGENTS,mp as STARTER_TEAMS,j_ as STEP_MAX_CHARS,hh as STITCH_LIMITS,nt as SUBJECT_KINDS,Ml as SUGGESTIONS_SCHEMA,Zt as SUPERSEDE_OVERLAP,ps as SUPPRESSED,ce as SWARM_ROLES,Wt as SYNTHESIS_SCHEMA,Vs as ScheduleError,ny as SealError,ve as SearchApiError,po as SearchEngineError,HE as ShimError,Wf as SkillManifestError,yf as SkillSourceError,du as SkillVarError,kl as StructuredError,cO as SyncError,Pk as TARGET_SECONDS,Q_ as TASK_TRANSCRIPT_MAX_CHARS,JN as TEAM_FEATURES,ER as TEAM_MANUAL,Op as TEAM_PLAN_SCHEMA,aA as TEAM_SHAPES,SR as TEAM_TOOL_NAME,LN as THEMES,Fp as THREAD_KINDS,Dp as THREAD_STATUSES,ZM as THREAD_TOOL_NAME,eP as THREAD_TOOL_SPEC,vk as TIER_LABEL,yI as TITLE_RULES_VERSION,yN as TOKEN_NAMES,kN as TOKEN_ROLES,FS as TOKEN_SKEW_MS,Sl as TOPICS_SCHEMA,Da as TRANSCRIPT_MAX_CHARS,Gs as TRIGGER_KINDS,_k as TTS_ARCH_LABEL,wx as TURN_EVENTS,Fx as TURN_STAGES,tp as TeamError,oR as TeamRunError,ho as ToolGroupError,aE as UNAVAILABLE_REASONS,FI as UNTITLED_MEETING,Vr as UPCASTERS,XN as UPGRADE_URL,Ry as USAGE_RING_MAX,il as UTTERANCE_DANGLING_MS,al as UTTERANCE_SETTLE_MS,pk as VAD_DEFAULTS,_s as VAULT_VERSION,Xy as VOICE_STATES,us as VaultError,Nn as VoiceIntentError,go as WEATHER_HOST,Co as WEATHER_TIMEOUT_MS,fP as WEATHER_TOOL_NAME,uP as WEATHER_TOOL_SYSTEM,_b as WEB_RESEARCH_LIMITS,_c as WEB_SEARCH_SPEC,Tc as WEB_SEARCH_TOOL_NAME,dc as WEB_SEARCH_TOOL_SYSTEM,Rb as WEB_TASK_DOMAINS,rt as WIDGET_SURFACES,o_ as WITHDRAW_AFTER,_R as WORKLOG_KINDS,lp as WORK_GRANTS,yu as WRITER_PREFS,ku as WRITER_PREF_DEFAULTS,Mo as WeatherError,Fa as YOUTUBE_HOSTS,Di as abortCause,aL as aboutOwnPast,ea as accept,KU as accumulates,rc as actionMenu,dC as activePreset,Gx as activityOf,XO as adaptProfile,HM as adaptiveToolRetryHint,oC as addDays,RI as addTag,NE as addUsage,dd as adjustSummary,ZF as admitPackage,AO as advanceBases,aS as adviceText,ah as againQuery,mF as agentAllowed,WR as agentColor,Qd as agentFromForm,VR as agentHue,XR as agentInitials,KR as agentKind,oe as agentMentionAt,dt as aliasMap,oL as answeredByPrefetch,ME as anthropicTranscript,Ke as apiEngine,We as apiEnginesFrom,Je as apiTrialVerdict,MT as applyAll,L_ as applyCard,pr as applyEdits,nN as applyEntry,YU as applyMonitorReply,AF as applyPolicyToSettings,VC as applySections,Hx as applyStateDelta,Ny as applyUsage,_e as appoint,Oo as areaLabel,Li as argsShape,AU as argsToText,uh as asksIdentity,Cf as asksOnlyAboutPage,Kd as assistantAgent,pD as attachedFilesProvider,mo as attemptOrder,md as attest,PS as authHeader,NS as authorizeUrl,gM as availableDestinations,BO as backupFromRecords,kS as bareToolName,RD as basenameOf,Fb as basisAt,vb as basisLabel,bO as bestCodec,jd as blankAgent,B_ as blankConnection,xT as blankJobPost,pT as blankProject,pp as blankTeam,qS as blockedToolResult,Mp as boardText,Gp as boardToolProvider,Hp as boardToolSpec,dN as boundSegments,U_ as branchFor,aM as breadcrumb,Ip as breakCycles,yt as briefId,bt as briefLinks,nP as briefPrompt,Ut as briefTerms,kt as briefToText,av as browserRelaySystem,Ge as buildApiRequest,lb as buildBugReport,oc as buildGroupDispatchSpec,ar as buildNoteGraph,xa as buildPdfDocument,Ie as buildSearchUrl,Zm as buildToolset,Ti as buildTrajectory,Va as buildTranscriptDocument,qR as builtinOrg,sg as can,Us as canAddEntry,CT as canJobPostTransition,cT as canProjectTransition,CU as canRefresh,US as canRunConcurrently,jr as canSatisfy,nf as candidatesFrom,nd as canonical,AS as canonicalResource,PP as capabilityToolsProvider,kP as capabilityView,Jb as captchaHandoff,zb as captchaIn,Ua as captionTracksFromPlayerResponse,DF as captureFromMessage,zR as cardNumbers,P_ as cardOverride,th as carried,O_ as carveBudget,Bk as catalogStatus,zk as catalogUnavailable,AN as catchUpPlan,N as causesAreWellFormed,WD as ceHostOf,VD as ceSourceOf,YC as changedSections,aD as checkAttachablePath,$r as checkInvariants,vt as checkKnowledgeInvariants,rg as checkoutUrl,$p as checkpointFrom,B as chipText,bP as choiceNote,UP as choicePatch,Yt as claimsFromSynthesis,Fe as classifyAnswer,rE as classifyFailure,Te as classifyModel,os as classifySource,pm as claudePermissionResponse,kI as cleanTitle,Ib as cleanUrl,Fu as clipCompletion,X_ as clipMessage,mn as clipText,W_ as clipTranscript,Wl as coerce,Ol as coerceEntities,_D as collapseDots,UM as combineSystemPrompt,Z as commandLineAt,rl as commandLooksFinished,Ln as commandsFromSegments,Xb as commitKind,Yb as commitQuestion,JE as compactValue,yL as compactable,xL as compactionPrompt,hL as compactionRecord,bb as comparable,O as compareEvents,FA as compileQuery,gn as compileWake,w as composerChips,Ic as compressToolSpec,Oc as compressToolSpecs,Nc as compressionStats,k_ as connectionFor,G_ as connectionFromForm,sf as containment,Dt as contentHash,JL as contextPlan,Bh as continuationMessages,z_ as continuationNote,tI as continueList,ta as converge,hy as costFor,Qa as createAccessLog,ai as createAdapterRegistry,KM as createAdaptiveToolPolicy,dn as createAnalyzerRegistry,Kp as createAnswerBox,p as createAppender,ao as createBlobStore,gp as createBoard,tv as createBrowserRelay,Vc as createBudget,AE as createCallRunner,Th as createCassette,mi as createCitationCollector,J_ as createControl,De as createEnginePacer,lL as createFetchedStore,QO as createJournal,uA as createKernel,to as createLogStore,_A as createManifest,oo as createMemoryAdapter,oE as createModelHealth,wi as createModelRouter,_m as createPermissionDesk,so as createRegistry,VE as createResultStore,cs as createRuleEngine,zp as createRunCache,sN as createSegment,vE as createShimLog,Uf as createSkillSourceRegistry,Nu as createSpendMeter,Pi as createStepRecorder,Yl as createStructuredStream,xo as createToolGroupRegistry,YS as createToolLoopGuard,Qs as createTriggerRegistry,Bx as createTurnEvents,Mi as createTurnRunner,tl as createUtteranceGate,Ek as createVad,Cs as createVault,vn as createVoiceIntentRegistry,Wy as createVoiceLoop,v_ as credentialEnv,bN as cssVarName,ey as cursorOf,TC as dateFilterLabel,iC as dateRangeOf,Qg as dayBucket,fC as dayCounts,tC as dayKey,TO as decide,nx as decideIntent,A_ as decideRecruit,Qf as declaredAccess,CO as decryptBackup,ug as defaultImagePolicy,fg as defaultLinkPolicy,LU as defaultMcpServers,y as defaultModelId,JU as defaultSkills,TL as defaultTtl,wn as defaultVoiceIntents,Dk as defaultVoiceName,VP as deferAttachedSources,ti as defineAdapter,Hd as defineAgent,nn as defineJob,gT as defineJobPost,xx as defineLane,xi as defineLoop,Tn as defineMeetingAnalyzer,bi as defineMiddleware,Ui as defineModel,mT as defineProject,vi as defineRouteStrategy,ms as defineRule,Ul as defineSchema,we as defineSearchApi,So as defineSearchEngine,bE as defineShim,kf as defineSkillSource,Qc as defineTeam,Lo as defineToolGroup,js as defineTrigger,bn as defineVoiceIntent,WU as deltaInstruction,xC as demd,Ug as densityRibbon,sh as dependsOn,P as dequeue,LO as deriveBackupKey,Gt as deriveBrief,Ht as deriveBriefs,Ps as deriveKey,HI as deriveMeetingTitle,aO as deriveTitle,Wd as describeAgent,lD as describeAttachedPath,dR as describeCall,w_ as describeConnection,pC as describeDateRange,Fd as describeEngine,wU as describeMonitorProfile,SD as describePathSize,lm as describePermission,Gc as describeRecipeForApproval,op as describeRole,MU as describeRuntime,bl as describeSchema,Nk as describeSearchResult,mM as describeSettingValue,zE as describeShape,GE as describeShims,aT as describeSpend,lR as describeTeamForApproval,BR as describeTeamShape,IE as describeToolCall,My as describeTurnUsage,NM as destinationFromAgent,OM as destinationFromEndpoint,nb as diagnosticsText,Vk as diarizeRows,jk as dictToText,oa as diffProposal,GL as digest,LS as discoverMcpAuth,Ai as displayName,ED as displayPath,hP as distributionConfidence,SI as docStats,Cu as draftSeparator,Kt as driftedRefs,Dc as dryRunRecipe,eR as dryRunTeam,Gk as dtypePicker,ln as dueJobs,pa as duplicateTitles,Rt as earnsBrief,Un as editDistance,cr as editKey,vT as effectiveGate,$o as effectiveGrants,EM as effectiveSettingValue,BS as effectiveToolName,ir as egoGraph,dF as egressAllowed,bp as emptyBoardState,dT as emptyProjectRecord,Qp as emptyRun,Wu as enabledSkills,gO as encryptBackup,SF as endpointAllowed,Rd as engineKey,hd as engineKeyOf,er as engineLabel,Vd as engineOf,Me as engineOrder,xd as engineRef,E_ as engineRow,m_ as engineRows,mA as engineStrip,T_ as engineWorth,ul as entitiesFormat,fl as entitiesPrompt,Nl as entitiesStream,Fs as entryMeta,tN as entryStamp,IU as envLikeArgs,uU as envToText,ko as equipmentFor,yi as errorFacts,nc as estimateTokens,__ as evaluatorPrompt,oy as eventStats,jx as evidenceFor,dL as exchangeOf,xc as expandRecipe,kA as expandReplacement,pu as expandSkillPrompt,cx as expectsOf,oS as explainInstallFailure,Jl as explainMcpError,dg as exportDevicePublicKey,gR as extendDependents,NN as extractFilters,ts as extractUrls,xD as extractorChain,oh as factFromReply,qx as factPrompt,Xx as factSchema,Yx as factSchemaFor,Ky as factcheckKey,Gy as factcheckPrompt,Hy as factcheckVerdict,Sh as factsList,lE as failoverExhausted,Vi as failoverOrder,RF as featureEnabled,eb as featureIds,jb as fenceUntrusted,EL as fetchKey,kD as fetchMcpRegistryPage,hS as fetchMcpToken,mL as fetchTitle,cL as fetchedAsSources,pL as fetchedFacts,Tx as figuresIn,cC as filterByDate,MI as filterByTags,Ri as filterEntries,bF as filterMcpServersForSkill,bU as filterMonitorTools,q as filterNoteActions,jg as filterRecords,D as filterSections,mr as filterTypoEdits,um as findActionArgs,cc as findDispatchProvider,pb as findExistingIssues,Gl as findJson,DA as findMatches,nO as findRecordRefs,eU as findRepeats,$C as findRow,ie as findSkillByName,se as findTargetByName,Am as findTools,fm as findToolsResult,Mn as findWakeCommand,Pp as findingsInstruction,wp as findingsOf,mh as finishAnswer,Px as finishTurn,Td as fit,vh as fitAttachments,fL as fitFor,Zx as fitsExpected,Rp as fixedPlan,Ox as flowWorthDrawing,TP as foldBackFor,lP as foldBackNote,vp as foldBoard,SP as foldNotes,_T as foldProject,qp as foldRun,RO as forkConflict,Za as formatBytes,SC as formatDateTerm,Ok as formatDownloads,PA as formatReport,fa as formatSurvey,II as formatTag,gI as formatTagQuery,Bg as formatTalkTime,Ha as formatTimestamp,Ka as formatTranscript,Cy as formatTurnUsage,Fy as formatUsd,wb as formatValue,Io as formatWeather,J as frameNoteAction,qN as freeCap,vs as fromB64,YD as fromCloudEvent,JD as fromCloudEventLines,xf as frontPageInstruction,Lf as frontPagesAskedAbout,tt as fuseRRF,Mm as fusedRanker,wT as gateAllows,LD as gatewayExtractor,tS as gatewayNotBackAdvice,ch as gatherFacts,yx as gatherItems,Tg as generateDeviceKey,XM as getMcpProviders,Ao as getWeather,el as gistOpening,$n as gistText,OF as globToRegExp,Ou as goalDraftAllowed,dh as gradeAnswer,ep as grantAllows,$R as grantChoices,eA as grantsFromChoices,yo as grantsNeededFor,nr as graphStats,Mu as groundingBlock,Rx as groundingNote,UC as groupActionsByOwner,rM as groupById,F as groupModels,Zg as groupRecords,Zk as groupRuns,Ga as groupSegments,nC as hasDateTerms,PC as hasInsights,wo as hasSubstance,_I as hasTag,NI as hasTagTerms,jL as historyContext,OR as holdsGrants,RM as homeChecklist,cf as homePlace,as as hostMatches,vo as housekeepingTarget,ym as hubSpec,yO as identityCodec,Oh as identityHint,Ih as identitySystem,KP as imageAttachmentsOf,vP as inProcessPatch,yP as inProcessView,aI as indentSelection,$D as ingestCloudEvents,To as inheritEngineDefaults,rk as initialVoiceState,CC as insightKindOf,ql as installHintFor,uu as instructionOnLine,tx as intentFromReply,ax as intentItems,ex as intentNeeds,ox as intentPrompt,rx as intentSchema,MN as isActionable,No as isAmbiguousLocation,VI as isBetterTitleSource,ZR as isBuiltin,bS as isCacheable,OL as isContextLimitError,xU as isDefaultMcpServer,MO as isEncryptedBackup,oN as isEntry,tk as isFarewell,Qb as isFenced,Zn as isFillerSentence,UI as isGenericTitle,VM as isInvalidToolParametersResult,Bo as isLocalHelper,ys as isLocked,QS as isLoopableTool,kx as isMiss,rR as isModelUnavailable,wh as isNoneNote,Vl as isNothing,HU as isNothingNew,im as isPermissionTool,Wb as isPersonalField,Uo as isPleasantry,ag as isPro,M as isQueued,ZI as isRecordId,ut as isRedactionToken,A as isRef,lU as isRelayedTurn,Ne as isResultHost,eT as isResumable,Xf as isSafeSkillPath,Ty as isSealedBlob,FO as isSealedRecord,Le as isSearchPage,Kb as isSecretField,sD as isSecretPath,Ot as isSelfLabel,_O as isSettled,dy as isShredded,lC as isSingleDay,Vu as isSkillEnabled,CL as isSmallWindow,TE as isSourceGateError,Kg as isSpeakerImageValue,Ql as isStaleMcpSession,Tt as isSubjectCandidate,Go as isSystemModel,ig as isTeam,rN as isTombstone,c as isValidEvent,rf as isValidMemory,eO as isValidStoredRecord,Ux as isWebSearch,ka as isYouTubeUrl,Tb as issueCommentText,mb as issueSearchUrl,d_ as jobApplications,NR as jobFromSubtask,hT as jobPostFromForm,zT as jobResults,PT as jobToRole,Sn as jobsForEvent,qT as jobsPrompt,uL as keepRecentFor,DO as keyCache,_i as lanesOf,gF as languageInstruction,By as lastClaimOf,vm as lastUserText,Wo as layoutFlowchart,t_ as ledgerKey,mg as licenseFromPayload,Ho as lightestLocalHelper,Ru as lineAt,I as linearize,ga as linesFromItems,gf as linkAttachments,aa as linkClaims,lO as linkRecordRefs,sU as linkSurfaceOf,iM as linkTo,sM as linkToRow,ni as linkifyCitations,Of as linksToRead,Eu as lintSkillPrompt,Sr as lintText,$U as listFeatures,hx as listLanes,ZC as listRows,IC as localeWeekStart,ks as lockedSummary,Zy as looksLikeEcho,La as looksScanned,QP as lookupLabel,jP as lookupResult,mk as lowBandEnergy,ja as makeAccessEvent,sc as makeDispatchProvider,Sd as makeEntry,ac as makeGroupDispatchExecutor,$O as makeJournalEntry,i_ as makeLedgerEntry,LF as makeNoteToolExecutor,Hm as makePromptedTranscript,qI as makeRecordId,R as makeRef,Qi as makeSourceStore,qa as makeStorageTier,Dm as makeToolHub,qi as manifestText,Fc as mapInput,Uh as mapParts,df as markUsed,Si as markdownUrl,Vb as maskSecretFields,Sf as matchForForget,yA as matchIndexFor,cb as matchIssues,zu as matchSlashRecipe,Yu as matchSlashSkill,ju as matchSlashTeam,cn as matchSummary,mC as matchesDateRange,CI as matchesTagFilter,JM as mcpBackoff,pA as mcpDispatchProvider,yM as mcpInventorySystem,hM as mcpProvider,vD as mcpServerFromCatalogItem,DM as mcpSharedSystem,IA as meetDecisions,is as meetReach,en as meetingEndedTrigger,MC as meetingInsights,jU as meetingNotesSkill,$s as meetingStartedTrigger,WI as meetingTitlePrompt,Tf as memoryBlock,of as memoryKey,hF as memoryToolProvider,Rf as memoryToolSystem,ne as mentionAnswerPrefix,da as mentionsFrom,PM as mergeEndpointDestinations,Ce as mergeEngineResults,Ch as mergeNote,Nr as mergeResearchLanes,mN as mergeSegments,ae as mergeSkillPrompt,XC as mergeStamped,V_ as mergeTranscript,mU as mergeUsageSummaries,FL as messagesAfter,K_ as messagesFor,yk as microphoneError,IL as minWindowFor,$l as missingCommandIn,Zl as missingCommandMessage,bR as missingStarters,Be as missingVars,EF as modelAllowed,wk as modelRows,fk as modelSearchUrl,k as modelSummary,yC as momentBadge,hb as moneyIn,Wn as monitorIntent,UU as monitorNeedsTools,yU as monitorProfile,XU as monitorPrompt,kU as monitorWindowMs,AC as monthGrid,L as moveQueued,it as multiSearch,NU as mutableRef,uC as nearbyDays,c_ as needForJob,jf as needsBridge,vS as needsConfirmation,cg as needsRecheck,pf as needsWhere,HL as needsWhole,Ey as newDeviceKey,Sb as newIssueUrl,Fg as newNoteImageId,Y_ as newSteps,eL as newsAsk,Xs as nextFireAt,EP as nextSidelineIndex,zs as nextWakeAt,UO as nodeCodec,nS as nodeSatisfies,Sy as nodeSealer,iE as normModelName,Gd as normalizeAgent,Xc as normalizeBudget,a_ as normalizeCall,D_ as normalizeConnection,_d as normalizeEngine,Pd as normalizeEngineSpec,bT as normalizeGate,$c as normalizeGrants,bu as normalizeIntent,NT as normalizeJobPost,ef as normalizeMemory,Ik as normalizeModel,lF as normalizeOrgPolicy,dD as normalizePath,eS as normalizePlatform,Md as normalizePolicy,ky as normalizePricing,ET as normalizeProject,sa as normalizeRecord,na as normalizeRecords,bD as normalizeRegistryEntry,UD as normalizeRegistryPage,AR as normalizeRequest,Ad as normalizeScm,tu as normalizeSkill,yn as normalizeSpeech,$I as normalizeStoredRecord,mt as normalizeSubject,TI as normalizeTag,dI as normalizeTags,Zc as normalizeTeam,Tl as normalizeTopic,dl as normalizeTopics,gE as normalizeUsage,Uu as normalizeWriterPrefs,lh as notFoundLines,Q as noteActionItems,j as noteActionLabel,Ph as noteConflictsIn,Cg as noteImageId,Pg as noteImageIds,Mg as noteImageRef,Lg as noteImageRefs,Vn as noteIntent,FC as noteSectionKind,cP as noteUnits,iS as npmInstallCommand,nA as observeInbox,ZN as observeSince,lA as observeStrip,En as occurrenceKey,Ys as occurrencesBetween,Pe as offTopic,iL as offeredSearch,kb as offersIn,Im as oneLiner,CE as openAiTranscript,cy as openBlob,xP as openDecision,xs as openEntry,hO as openRecord,Ca as orderLines,qf as originLabel,Yf as originOf,hg as orphanNoteImages,ca as orphanRecords,rI as outlineOf,Om as overlapRank,RN as overlayEntries,jl as packageFromArgs,eD as packagesFromFiles,rL as pageAsk,eM as pageById,Mf as pageInstruction,Ob as pageKey,Pa as pageTextFromItems,oM as pagesOf,PD as paginateText,UN as paletteFor,Ma as paragraphsFromLines,GS as parallelEligible,re as parseAgentMention,xb as parseAmount,RU as parseArgsInput,_S as parseAuthChallenge,wt as parseBriefText,oP as parseBringBack,Ku as parseBugCommand,hn as parseClock,Pn as parseCommand,Js as parseCron,sC as parseDateQuery,xn as parseDuration,Il as parseEntities,fU as parseEnvInput,R_ as parseEvaluation,Cp as parseFindings,Vo as parseFlowchart,jT as parseJobs,LA as parseJsonl,nM as parseLink,oI as parseListItem,_U as parseMcpConfig,kC as parseMeetingNotes,yg as parseMeetingText,Gu as parseNewThread,Dn as parseNumberWords,ON as parseOmni,Ap as parsePlan,yr as parsePlanTasks,QI as parseRecordId,Jn as parseRefinement,y_ as parseRemote,QT as parseReview,ub as parseSearchText,pN as parseSegmentName,rP as parseSideline,ES as parseSignInPrompt,te as parseSkillMention,Su as parseSkillVars,Xl as parseStructured,xl as parseSuggestions,OI as parseTagQuery,Ba as parseTimedText,XI as parseTitleResponse,Vm as parseToolCalls,pl as parseTopics,uo as parseWeather,Fn as parseWhen,ya as parseYouTubeUrl,Dh as partChars,kh as partPrompt,Sx as partQueries,Ak as partitionTtsModels,zx as partsOf,nh as partsPlan,Nb as passagesOf,Xe as patchApiEntries,nD as pathAttachment,mD as pathAttachmentsOf,ck as pcmEnergy,C as pendingQueue,Em as permissionAllowed,Sm as permissionAnswer,dm as permissionIcon,nm as permissionKeys,Tm as permissionLine,cF as permissionMode,sm as permissionRequestFromClaude,am as permissionToolSpec,rn as personJoinedTrigger,di as phasesOf,on as phraseTrigger,va as pickCaptionTrack,_C as pickDay,WO as pickProfile,ge as pickResults,KC as pickSections,Wi as pinnedOrderOf,qL as placeItems,Jx as plainEvidence,vr as planAttribution,br as planBody,LL as planCompaction,ZD as planEventPush,tg as planLabel,og as planOf,Ur as planParts,at as planQueries,VL as planRetrieval,Dr as planSectionSystem,dO as planSync,kr as planTitleFor,VS as planToolRound,ZL as planTurn,fp as plannerPrompt,IM as pointsAtGateway,ih as pointsBack,YO as policyFor,uF as policyHash,fF as policyLabel,qd as poolFor,Ki as preferenceFor,JP as prefetchAttachment,sL as prefetchBudgetMs,zP as prefetchPlan,Jh as presenceBlock,Xh as presenceDelta,Wh as presenceFor,Uy as priceUsage,VU as priorFindingsText,sT as priorWorkFor,ri as projectChain,TT as projectFromForm,RT as projectProgress,ty as projectYear,x as promoteQueued,kR as promoteRoles,Oi as promptEntries,Py as promptTokensOf,Km as promptedToolsSystem,Gm as promptedTranscript,u_ as proposalFromNeeds,I_ as proposalToAgent,$t as propose,_f as pruneMemories,TU as pullRelayedEvents,Db as qualifierAt,an as questionTrigger,lx as questionsIn,tM as quickRows,yb as quoteAround,Gb as quoteFormIn,Cm as rankFused,Ee as rankLinkTargets,Ub as rankOffers,Or as rankResearchCards,BF as rankSkills,At as rankSubjects,Qx as rankedEvidence,xy as rateFor,Yh as reachOf,Gr as reachRank,Hr as reachSatisfies,He as readApiResponse,uS as readAuthServerMetadata,OS as readRegistration,fS as readResourceMetadata,$i as readSource,sP as readThread,CS as readTokenResponse,GI as readableWhen,LT as readyJobs,Ef as recall,cm as recallPermission,vU as recentFindings,Ju as recipeInvocationText,hc as recipeParams,wc as recipeToolProvider,Bc as recipeToolSpec,lf as reconcile,Eo as reconcileEngines,wO as recordsFromBackup,N_ as recruitEvents,f_ as recruitForRun,g_ as recruitJob,Ja as redactAccessArgs,Sa as redactedTokensIn,Ea as redactionCost,TF as redactionTier,bh as reduceNotes,fb as refineQueries,qn as refineSpokenCommand,zn as refinementFormat,Yn as refinementPrompt,jn as refinementStream,gU as refreshArgs,xS as registerMcpClient,IS as registrationRequest,yD as registryListUrl,ra as reject,cU as relayedRunsOf,pU as relayedThreadTitle,mm as rememberPermission,b as rememberRecent,Hn as reminderIntent,AI as removeTag,BP as renderContent,Xo as renderFlowchartSvg,Ag as renderMarkdown,SO as repairAnswerMarkup,li as repairCitedLinks,Kl as repairJson,bA as replaceAll,vA as replaceAllInRange,UA as replaceMatch,MA as replay,Gi as requirementsFor,Hi as requirementsForStep,Pm as rerankThrough,Ab as researchAsk,Cb as researchBrief,Mb as researchCall,fr as researchRelevance,Ir as researchSnippet,zM as resetMcp,aC as resolveDateValue,Lh as resolveNoteConflict,f as resolveRef,tP as resolveSidelineTarget,gN as resolveSince,_t as resolveSubjects,Yd as resolveTeam,BN as resolveTheme,wl as responseFormat,jE as resultToolSpec,$_ as resumeTeam,BE as retirableShims,ke as retryAfterMs,Qm as revealCut,jm as revealStep,ZT as reviewPrompt,Hl as rewriteJson,KD as rfc3339,pe as roleById,YR as roleCardId,Oy as rollupKey,HR as rosterRows,JT as roundBudget,fE as roundCap,jh as roundCount,XT as roundJobs,Qh as roundMinutes,zS as roundSignature,pF as routeAllowed,Lx as routeByRule,p_ as routeFor,ei as routeGraph,Re as routeTeam,qg as rowTime,Zp as runFromEvents,SA as runLanes,yc as runPlan,WT as runProject,kc as runRecipe,Pb as runResearch,qP as runResearchItem,XE as runResultQuery,iT as runState,Z_ as runTeam,WS as runToolRound,RE as runTurnLoop,Mx as runTurnPipeline,nE as runWithFailover,Rr as salientTerms,ff as sameMemory,zi as sameModelKey,Zf as sameSkillOrigin,uI as sameTags,ol as sameUtterance,hk as sampleSeconds,Fk as sampleTooShort,Yk as saveTimedOut,Xk as saveVoiceFailure,mf as saysWhere,VO as scalePolicy,Kn as scheduleIntent,rp as scmAllows,_h as scoreRuns,sb as scrubReportText,my as sealBlob,Ls as sealEntry,xO as sealRecord,ze as searchApiChoices,Ds as searchEntries,Ac as searchFailureOf,uk as searchModels,ye as searchPolitely,Rc as searchResultsToText,TM as searchSettings,$e as searchStatus,oO as searchTextFor,iD as secretReason,WC as sectionHash,fM as sectionOfRow,GC as sectionSpec,HC as sectionValue,CM as seedDestinations,lN as segmentBytes,SN as segmentEntries,cN as segmentName,_N as segmentsFor,bL as selectContext,EI as selectionStats,EC as setDateTerm,SM as setSettingValue,_F as settingLocked,lM as settingValue,AM as settingsGateOf,pM as settingsOpenMode,_M as settingsStatusAll,dM as settingsStatusOf,Qn as settleRefinement,ld as sha256,WE as shieldToolResult,RC as shiftMonth,Zi as shortUrl,KI as shouldAutoTitle,EN as shouldRotate,MM as shouldSeedDestinations,py as shredBlob,pP as sidelinePath,RP as sidelineToolProvider,_g as signChallenge,mS as signInError,cS as signInFromError,pS as signInToolResult,Bi as signalsFrom,af as similarity,GF as skillCatalogSystem,rA as skillChoices,QF as skillCreatorPrompt,XF as skillDiscoveryProvider,WF as skillEntry,KF as skillFileProvider,Jf as skillFiles,$F as skillFromDraft,wF as skillHandle,qF as skillIdFrom,$u as skillInvocationLabel,Zu as skillInvocationOf,$f as skillIsStale,UF as skillPackageFiles,kF as skillRunFromSkill,vF as skillToolSystem,nu as skillVar,Tu as skillVarGuidance,lu as skillVarPattern,qu as slashCommandInsert,Xu as slashCommandItems,tf as slotOf,Xd as slugAgentId,dp as slugTeamName,$x as snapQuote,TD as sniffType,iO as snippetOf,jR as soloTeam,Jg as sortRecords,zg as sortStamp,kM as sourceCitationSystem,pE as sourceGate,cE as sourceGuardFor,es as sourceId,mP as sourceOf,ss as sourcePolicyFor,mE as sourcePolicySettings,ns as sourceUrlsOf,Ei as sourcesFromToolText,Eh as sourcesOf,_a as spanningQuestions,sk as speakStream,nk as speakable,vg as speakerBreakdown,Vg as speakerLabeller,kg as speakerStats,wg as speakerTimeline,tT as spendOf,EA as spendRows,yh as splitForWindow,gh as splitNoteBlocks,JS as stableToolCallKey,pO as stampOf,sS as standaloneInstallCommand,eh as standsOn,rC as startOfDay,Uk as startRecording,Jd as starterAgents,UR as starterTeam,cp as starterTeams,Nx as stepAction,OE as stepResultText,gx as stepState,Nf as storyLinkOf,kO as streamCodec,xg as stripNoteImageRefs,Nt as stripQualifiers,ct as subjectKey,pt as subjectTokens,rh as subjectsOf,cu as substituteSkillVars,fR as subtaskFromRequest,LI as suggestExistingTags,gt as suggestMerges,mu as suggestSkillVar,Ll as suggestionsFormat,Pl as suggestionsPrompt,hl as suggestionsStream,pd as summarize,s_ as summarizeEngine,EU as summarizeRelayedUsage,$k as summarizeRun,rr as summarizeSearch,wE as summarizeShims,gy as summarizeUsage,gC as summarySections,aN as supersedes,de as supportsSubagents,nU as surfaceLabel,Ra as surveyCorpus,Wk as switchOutcome,Mh as syncNote,Xt as synthesisPrompt,DL as systemWithSummary,PI as tagFacets,Ze as tagResults,xI as tagsSearchText,uR as takeUp,IR as takeUpLine,CR as taskTree,YT as teamForRound,Tp as teamFromForm,vR as teamHealth,Qu as teamInvocationText,DR as teamLanes,FR as teamLine,wR as teamShape,iR as teamToolProvider,sR as teamToolSpec,nR as teamToolTimeoutMs,QR as teamsWithSolos,YM as testMcpServer,Rh as textKey,Qk as textToDict,wN as themeStylesheet,aP as threadManifest,MR as threadRows,Ii as threadTitle,iP as threadToolProvider,gi as threadTree,ui as threadsOf,Aa as thresholdSweep,ng as tierFor,Dd as tierOf,wa as timedTextUrl,Gn as timerIntent,Zs as timerTrigger,BI as titleFromDate,wI as titleFromParticipants,bI as titleFromSummary,vI as titleFromTopics,Eb as titleTerms,bs as toB64,Lp as toBriefClaims,GP as toChatMessages,XD as toCloudEvent,jD as toCloudEventBatch,zD as toCloudEventLines,vN as toCssVars,tO as toIndexEntry,vl as toJsonSchema,xA as toJsonl,Qr as toModelSchema,qr as toModelSchemas,HP as toMultimodalMessages,tU as toSanitizedReport,rO as toSearchRecord,sI as toggleLinePrefix,lI as toggleLink,fI as toggleTag,nI as toggleTask,iI as toggleWrap,MS as tokenExpired,gS as tokenRequest,kn as tokenize,eN as tombstone,Xm as toolChannel,Lm as toolDoc,jS as toolMadeProgress,Do as toolNeedFor,zL as toolPlan,bM as toolStatus,yS as toolTraits,WL as toolsWanted,Ar as topicTerms,tn as topicTrigger,cl as topicsFormat,ml as topicsPrompt,El as topicsSchema,_l as topicsStream,wS as traitsIndex,Ym as transcriptFor,Wa as transcriptFromTracks,$ as triggerQueryAt,gc as trimDescription,sr as trimGraph,Gh as trimOverlap,zf as trustOf,Rk as ttsArchOf,ux as turnFlow,Ix as turnFlowChart,Ax as turnGroundingNote,Ni as turnsOf,Bl as unfence,Ms as unlockVault,dx as unsupportedFigures,_x as unsupportedNote,Bb as unverifiedAmounts,Oe as unwrapRedirect,Wr as upcast,Xr as upcastAll,Af as upcastMemory,ru as upcastSkill,ou as upcastSkills,JR as upsertAgents,uy as usageFromEvent,Iy as usageFromOpenAi,SU as usageFromRelayedTurn,Yc as usageOf,fy as usageRecord,tc as validateAction,Bd as validateAgent,rv as validateBrowserAnnounce,ev as validateBrowserCall,ov as validateBrowserResult,Wc as validateBudget,zr as validateCapability,F_ as validateConnection,Ld as validateEngineSpec,hs as validateEntry,m as validateEvent,CD as validateExtractRequest,MD as validateExtractResponse,UT as validateGate,Jr as validateInvocation,OT as validateJobPost,ST as validateProject,Lc as validateRecipe,Ws as validateSchedule,eu as validateSkill,qc as validateTeam,zo as validateView,Jo as validateViewInvocation,qo as validateWidget,Zo as validateWidgetMessage,wM as vaultWidgetSystem,oU as verdict,cd as verifyAttested,Ed as verifyChain,Sg as verifyEntitlement,IF as verifyPolicyToken,Eg as verifySignedToken,qe as viaOf,ba as videoMetaFromPlayerResponse,Ye as viewApiEntries,jo as viewResult,Wm as visiblePrefix,Ta as vocabularyDrift,sn as voiceCommandTrigger,Kk as voiceListRows,Hk as voicePicker,ok as voiceSpeaker,ek as voiceStep,Cn as wakeFor,ma as wantedPages,sx as wantsDecision,ix as wantsIntent,CN as wantsModel,BM as wantsVaultGuidance,up as waves,$P as weatherFollowupPlace,OP as weatherFromSearch,ZP as weatherPlace,IP as weatherToolProvider,fo as weatherUrl,ly as webCryptoSealer,kk as webMedia,ur as webQuery,tL as webRedoAsk,gb as webResearch,fc as webSearchToolProvider,RS as wellKnownUrls,GR as whereItWorks,vM as widgetAuthoringSystem,et as widgetIcon,Se as wikiQueryAt,la as wikilinksIn,AL as windowOf,cD as withAbsolutePaths,Vp as withBoardTool,rU as withCost,SL as withFetchedMemo,ic as withGuidance,Um as withHint,bm as withLead,zh as withPresence,Bm as withPromptedTools,U as withRecent,YE as withResultShield,Jp as withRunCache,WP as withSourceTool,Hh as withStitching,uE as withToolSystem,lg as withinFreeLimit,dE as withinReach,wL as withoutOwnInstructions,sO as wordCount,Er as wordDiff,TR as workLogEvidence,cR as workLogFor,pR as workLogText,b_ as worktreeDirFor,XL as worldAnswered,YL as worldPlanned,Au as writerAffordance,Pu as writerRequest,gu as writerTail};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chatpanel/events",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.361.1",
|
|
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",
|
|
@@ -246,6 +246,7 @@
|
|
|
246
246
|
"./tool-result.js": "./tool-result.js",
|
|
247
247
|
"./agent-permission.js": "./agent-permission.js",
|
|
248
248
|
"./agent-run-hint.js": "./agent-run-hint.js",
|
|
249
|
+
"./shim.js": "./shim.js",
|
|
249
250
|
"./tool-loop-guard.js": "./tool-loop-guard.js",
|
|
250
251
|
"./tool-round.js": "./tool-round.js",
|
|
251
252
|
"./tool-schema.js": "./tool-schema.js",
|
|
@@ -579,6 +580,7 @@
|
|
|
579
580
|
"tool-result.js",
|
|
580
581
|
"agent-permission.js",
|
|
581
582
|
"agent-run-hint.js",
|
|
583
|
+
"shim.js",
|
|
582
584
|
"tool-loop-guard.js",
|
|
583
585
|
"tool-round.js",
|
|
584
586
|
"tool-schema.js",
|
package/prefetch.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{researchAsk as j,runResearch as Z}from"./web-research.js";import{frontPagesAskedAbout as ee}from"./site-pages.js";import{weatherFromSearch as te}from"./weather-tool.js";const O=/(\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,ne=/\b(right now|now|today|tonight|this (?:morning|afternoon|evening|weekend|week)|tomorrow|currently|at the moment|these days|later)\b/gi,se=new Set(["here","there","home","outside","my location","my area","my city","where i am","it","that"]),R=8,E="(?:page|tab|article|post|thread|discussion|story|site|website|doc|document|comments?|content|piece|blog(?: post)?|paper|video|readme|pdf)",oe=new RegExp(`\\b(?:this|current|the current|the open|open|that)\\s+${E}\\b`,"i"),re=new RegExp(`^\\s*(?:(?:can you |could you |please )?(?:summari[sz]e|tl;?\\s?dr|recap|give me the gist|what are the key (?:points|takeaways))(?:\\s+(?:it|this|that|here|(?:the|this)\\s+${E}(?:\\s+and\\s+(?:the\\s+)?${E})?))?|what(?:'s| is| are)? (?:people|they|folks|commenters) (?:saying|think(?:ing)?)(?: here| about (?:it|this))?)\\s*[?.!]*\\s*$`,"i"),ae=/\b(?:my|our|your|the|this|that|last|today'?s|yesterday'?s)\s+(?:meeting|chat|conversation|call|standup|notes?|email|inbox|calendar|day|week|transcript|thread with)\b|https?:\/\//i,ie=/^\s*(?:(?:please|pls|can you|could you|just|ok,?|no,?|then|so|now)\s+)*(?:use (?:the )?(?:web|internet)(?: search)?|use web ?search|(?:do|run|perform|make|start|try)(?: an?| the)? (?:(?:web|internet|online|google) ?)?search|search for (?:it|that|this)|search (?:the )?(?:web|internet|online)|web ?search(?: it)?|google(?: it| that)?|look (?:it |that )?up(?: online| on the web)?|check (?:the web|online)|try (?:the )?(?:web|internet|a web search|web search)|search (?:it|that|again|online))\b(?:\s+(?:for|about)\s+(.+?))?(?:,?\s+(?:please|pls|thanks|instead|now|then))*\s*[?.!]*\s*$/i;function ce(e){const t=ie.exec(String(e||""));if(!t)return null;const n=String(t[1]||"").trim();return n?{query:n}:{}}const he=/\b(?:weather|forecast|temperature|rain|snow)\b/i,le=/\b(?:rest of (?:the|this) (?:week|weekend|month)|(?:this|next|coming) (?:week|weekend)|(?:the|this) weekend|week ahead|the week|next (?:few|several|couple of) days|coming days|(?:5|7|10|14)[- ]?days?|extended|long[- ]range|two[- ]weeks?)\b/i,ue=/\b(?:i|we) (?:asked|said|wrote|told|searched|talked|discussed|mentioned|looked up|checked)\b|\b(?:did|have|had) (?:i|we)\b|\bhow (?:many|often) (?:times )?(?:i|we|did|have)\b|\bhow many times\b|\bmy (?:chats?|notes?|history|meetings?|conversations?|questions?|searches)\b|\blast time (?:i|we)\b/i,pe=/\b(?:find out more|find (?:out )?more|more (?:info|information|details)|look into (?:it|that|this)|dig (?:deeper|into (?:it|that))|get more details?|find (?:it|that) out|check (?:on )?(?:it|that) (?:again|online)|search (?:for )?more|look (?:it|that) up|find (?:the )?(?:rest|full|whole)(?: of it| forecast)?)\b/i,de=/^\s*(?:yes|yeah|yep|yup|sure|ok(?:ay)?|k|please(?: do)?|go ahead|go for it|do it|yes please|sure thing|absolutely|of course|ok look|look|search|please search|search it)(?:[\s,.!]+(?:please|thanks|thank you|go ahead|do it|look|search|yes))*[\s.!]*$/i,we=/\b(?:search the web|web search|search online|search for|look (?:it|that|this) up|look up|check online|find (?:it|that|out|more))\b/i,fe=/(?:web search for|search the web for|search (?:online )?for|look up|look for)\s+(?:the\s+)?(.{3,160}?)(?:\s*[?.!]|$)/i;function ge(e){const t=String(e||"").split(/\n+/).map(s=>s.trim()).filter(Boolean).slice(-3).join(" ");if(we.test(t)&&/\?/.test(t)){const s=(fe.exec(t)?.[1]||"").replace(/\s+for me$/i,"").trim();if(s)return s}const n=/\b(?:searching(?: the web| online)? for|looking up|checking(?: the web| online)? for)\s+(?:the\s+)?(.{3,160}?)(?:\.\.\.|…|[.!?]|$)/i.exec(t);return n?n[1].trim():""}const A=/^\s*(?:(?:no|nope|actually|but|well|sorry)\b[,.!]?\s*)?(?:i|we) (?:asked|said|meant|wanted)\b/i,N=/\b(?:did|when|how (?:many|often)|earlier|before|yesterday|last (?:time|week|month)|ago|previously|other day)\b/i;function be(e){const t=String(e||"");if(!A.test(t)||N.test(t))return"";const n=t.replace(A,"").replace(/^\s*(?:for|about)\s+/i,"").replace(/[.;]\s+(?:and|also)\s+/gi," and ").replace(/,?\s+not\s+[^.?!]*/i,"").trim();return/^(?:the\s+)?(?:weather|forecast|temperature)\b/i.test(n)?`what is ${/^the\s/i.test(n)?"":"the "}${n}`:""}function ke(e){const t=String(e||"");return A.test(t)&&!N.test(t)?!1:ue.test(t)}const me=/^\s*(?:and|what about|how about|now|no,?|ok,?|same for)\b[^?.!]{0,30}[?.!]*\s*$/i;function x(e){const t=String(e||"").trim();return!t||t.length>300||ae.test(t)?null:oe.test(t)||re.test(t)?{}:null}function b(e){return String(e||"").replace(ne," ").replace(/[?!.,;:]+$/g,"").replace(/^\s*(the|in|at|for|around|near|of)\s+/i,"").replace(/\s+/g," ").trim()}const C=/\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 y(e){const t=e.toLowerCase();return t.length>=2&&t.length<=60&&!se.has(t)&&!C.test(t)&&!/^(weather|forecast|temperature)$/.test(t)&&/^[\p{L}]/u.test(t)&&t.split(/\s+/).length<=5}function P(e){const t=String(e||"").trim();return!O.test(t)||$(t)||/\b(?:api|app|apps|service|widget|feature|code|bug|model|tool|component|test|tests|data|endpoint|sdk|library|module|page|screen)\b/i.test(t)?!1:t.split(/\s+/).length<=12}const ye=/\s+(?:for|over|during|through|in|this|next|and)?\s*(?:the\s+)?(?:rest of (?:the|this) (?:week|weekend|day|month)|next (?:few|several|couple of|\d+) days|(?:this|next|coming) (?:week|weekend|month|few days)|the (?:weekend|week(?: ahead)?|coming days)|week ahead|\d+[- ]days?(?: forecast)?)\b/gi;function $(e){const t=String(e||"").trim();if(!O.test(t))return"";const n=t.replace(ye,"").trim();let s=/\b(?:in|at|for|around|near)\s+([^?!.;]+?)(?:\s+(?:right now|now|today|tonight|tomorrow|currently|this \w+))*\s*[?!.]*$/i.exec(n);return s&&y(b(s[1]))||(s=/^(?:what(?:'s| is) the\s+)?([\p{L}][\p{L}\s,.'-]{1,60}?)\s+(?:weather|forecast|temperature)\b/iu.exec(n),s&&y(b(s[1])))||(s=/\b(?:weather|forecast|temperature)\s*[:\-]?\s+([\p{L}][\p{L}\s,.'-]{1,60}?)\s*[?!.]*$/iu.exec(n),s&&y(b(s[1])))?b(s[1]):""}const T=/\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|sounds?|good|great|nice|cool|fine|perfect|awesome|sure|nothing|else|ok|okay|yeah|yep|nope|bye|hello|hi|hey|time|traffic|news|story|joke|stock|price|you|yourself|him|her|them|us)\b/i,$e=/^(?:(?:okay|ok|alright|all right|great|cool|thanks|thank you|fine|good|and|also|then|so|now|actually|well|um+|uh+|hmm+|oh|no|wait)(?:[\s,.!—-]+|$))+/i,Se=/^(?:(?:i(?: want| wanted| would like|'d like) to know|i'm wondering|i wonder|(?:can|could) you (?:tell|check) (?:me)?|tell me)\s+)/i,W=/^(?:(?:how|what) about|(?:how|what)(?:'s| is|s) it(?: like)?(?: in| at| for| around| near)?|(?:in|at|for|around|near))\b[\s,]*/i;function F(e,t){if(!t||t.kind!=="weather")return"";const n=String(e||"").trim().replace(/[?!.]+$/,"").trim(),s=n.replace($e,"").trim().replace(Se,"").trim();if(!s||s.split(/\s+/).length>R)return"";const o=W.test(s)||s!==n&&/^(?:and|also)\b/i.test(n),r=b(s.replace(W,"").replace(/^(?:like\s+)?(?:in|at|for|around|near)\s+/i,""));return!r||/\d/.test(r)||!o&&r.split(/\s+/).length>2||!y(r)||T.test(r)?"":r}const k="([\\p{L}$][\\p{L}\\p{N}.&'-]*(?:\\s+[\\p{L}][\\p{L}\\p{N}.&'-]*){0,3})",_e=[new RegExp(`\\b(?:share price|stock price|stock quote|ticker)\\s+(?:of|for)\\s+${k}`,"iu"),{question:!0,re:new RegExp(`\\b(?:stock|stocks|shares?)\\s+(?:of|for|in)\\s+${k}`,"iu")},new RegExp(`\\b${k}(?:'s)?\\s+(?:stock|shares)\\s+(?:price|doing|trading|today|now|performance|performing|up|down|quote)\\b`,"iu"),new RegExp(`\\b${k}(?:'s)?\\s+(?:share price|stock price|stock quote)\\b`,"iu"),new RegExp(`^\\s*${k}(?:'s)?\\s+(?:stock|shares)\\s*\\??\\s*$`,"iu"),new RegExp(`\\b(?:how|where)(?:'s| is| are)\\s+${k}\\s+(?:stock\\s+|shares\\s+)?trading\\b`,"iu"),new RegExp(`\\bwhat(?:'s| is| are)\\s+${k}\\s+trading at\\b`,"iu"),/\$([A-Z]{1,5})\b/u],Ee=/^(?:the|a|an|my|our|your|this|that|it|its|their|market|stock market|markets|price|prices|today|now|company|companies|how|what|is|are|doing|of|for|in|weather|forecast|news|time|date|temperature|rain|you|me|us|them|those|these)$/i,Ae=/^(?:how|what|what's|whats|where|is|are|was|the|a|an|can|could|you|tell|me|about|of|for|in|and|also|so|now|then|please|check|show|give|get)$/i,Le=/\s+(?:stock|stocks|shares?|price|prices|doing|trading|today|now|right now|currently|at the moment|this (?:morning|afternoon|week)|lately|so far)\b.*$/i;function D(e){const t=e.toLowerCase();return t.length>=1&&t.length<=40&&!Ee.test(t)&&!C.test(t)&&/^[\p{L}]/u.test(t)&&t.split(/\s+/).length<=4}function je(e){const t=e.split(/\s+/).filter(Boolean);for(;t.length>1&&Ae.test(t[0]);)t.shift();return t.join(" ")}function q(e){return String(e||"").replace(/[?!.,;:]+$/g,"").replace(Le,"").replace(/(?:\s+(?:at|on|up|down|for me|please))+$/i,"").replace(/^\s*(?:the|shares? of|stock of)\s+/i,"").replace(/'s$/i,"").replace(/\s+(?:corp(?:oration)?|inc|co|company|ltd)\.?$/i,t=>t).replace(/\s+/g," ").trim()}function v(e){const t=String(e||"").trim(),n=/\?\s*$/.test(t)||/^\s*(?:(?:hey|hi|ok|okay|so|and|now)[\s,]+)*(?:how|what|where|is|are|can|could|would|will|tell|check|show|give|get|find|look up|please)\b/i.test(t);for(const s of _e){const o=s instanceof RegExp?s:s.re;if(s.question&&!n)continue;const r=o.exec(t);if(!r)continue;const l=je(q(r[1]));if(D(l))return l}return""}function B(e,t){if(!t||t.kind!=="stock")return"";let n=String(e||"").trim().replace(/[?!.]+$/,"").trim();if(!n||n.split(/\s+/).length>R)return"";n=n.replace(/^(?:(?:okay|ok|fine|good|great|thanks|thank you|cool|alright|all right|that'?s (?:fine|good|great|ok|okay))[\s,.!—-]*)+/i,"").trim();const s=/^(?:(?:and|also|then|so|now)[\s,]+)*(?:how about|what about)\b/i.test(n)||/^(?:and|also)[\s,]+/i.test(n);n=n.replace(/^(?:(?:and|also|then|so|now)[\s,]+)*(?:(?:how|what) about\b)?[\s,]*/i,"").trim();const o=q(n);return!o||!s&&(o.split(/\s+/).length>2||!/[?]\s*$/.test(String(e))&&o.split(/\s+/).length>1)||!D(o)||T.test(o)?"":o}const M=new RegExp("(?<![\\p{L}\\p{N}'])\\p{L}(?:[ \\t.,\\-–]{1,3}\\p{L}(?![\\p{L}\\p{N}'])){2,}","gu");function U(e){return String(e||"").replace(M,t=>t.replace(/[^\p{L}]/gu,"").toLowerCase())}function Oe(e){return[...String(e||"").matchAll(M)].map(t=>t[0].replace(/[^\p{L}]/gu,"").toLowerCase())}const Re=/\b(?:tell me (?:more |everything |all |something )?about|what do you know about|do you know (?:anything )?about|who(?:'s| is| was| are)|look up|lookup|search (?:the web |online |the internet |google )?for|search up|google|find (?:out )?(?:info(?:rmation)?|details|more|anything|something|everything) (?:on|about)|(?:info|information|background|details) (?:on|about)|research)\s+(.+)$/i,Ne=/[.?!;:,()](?=\s|$)|\s(?:uh|um|umm|er|erm|hmm|like|actually|i mean|sorry|the (?:first |last |sur|family )?name|his|her|their|its|it's|it is|spelled|spelt|and (?:tell|give|find|show|let|search|look)|then|please|for me|on the web|online|on google|from the web|if you can|thanks|thank you)\b/i,xe=/^(?:it|this|that|these|those|him|her|them|me|you|yourself|us|he|she|they|we|i|my|our|your|his|their|here|there|on|in|at|to|for|with|from|going|coming|speaking|talking|calling|joining|what|how|why|when|where|which|the weather|weather)\b/i,Ce=/^(?:my|our|your|this|that|today'?s|yesterday'?s|last|next|latest|recent)\b/i,Pe=/^(?:the|a|an)\b/i,Te=6;function I(e){const n=(String(e||"").split(Ne)[0]||"").replace(/\s+/g," ").replace(/^["'“‘]+|["'”’]+$/g,"").trim(),s=n.split(" ").filter(Boolean);return!s.length||s.length>Te||!new RegExp("\\p{L}","u").test(n)||xe.test(n)?"":n}function We(e){const t=Re.exec(U(e));return t?I(t[1]):""}const Fe=[[/\b(?:last|sur|family|second) ?name\b|\bsurname\b/i,e=>e.length-1],[/\bfirst name\b|\bgiven name\b/i,()=>0]],De=/\b(?:it(?:'s| is)|spelled|spelt|should be|is actually|actually|but|name is)\s+["'“‘]?([\p{L}][\p{L}'-]{1,40})["'”’]?\s*[.!?]*\s*$/iu,qe=/\b(?:no|nope|not|wrong|incorrect|misspel\w*|spell\w*|typo|name|actually|i meant|i mean)\b/i;function ve(e,t){const n=e.toLowerCase(),s=t.toLowerCase(),o=Array.from({length:s.length+1},(r,l)=>l);for(let r=1;r<=n.length;r++){let l=o[0];o[0]=r;for(let c=1;c<=s.length;c++){const u=o[c];o[c]=Math.min(o[c]+1,o[c-1]+1,l+(n[r-1]===s[c-1]?0:1)),l=u}}return o[s.length]}function Be(e,t){return new RegExp("^\\p{Lu}","u").test(t)?e.charAt(0).toUpperCase()+e.slice(1):e}function H(e,t){const n=String(t||"").trim();if(!n)return null;const s=String(e||""),o=Oe(s),r=U(s);let l=o.at(-1)||"";if(!l&&qe.test(r)&&(l=De.exec(r)?.[1]||""),!l||l.length<2)return null;const c=n.split(/\s+/);let u=-1;for(const[a,d]of Fe)if(a.test(r)){u=d(c);break}if(u<0){let a=1/0;c.forEach((d,w)=>{const f=ve(d,l)/Math.max(d.length,l.length);f<a&&(a=f,u=w)}),a>.6&&(u=c.length===1?0:-1)}if(u<0)return null;const i=c[u];return i.toLowerCase()===l.toLowerCase()?{subject:n,replaced:""}:(c[u]=Be(l,c.find(a=>new RegExp("^\\p{Lu}","u").test(a))||i),{subject:c.join(" "),replaced:i})}const Me=/\b(?:search|look|google|check|find|try)\b[^.?!]{0,30}\b(?:web|online|internet|google|up|again|it|him|her|them)\b|\blook(?:ing)? (?:it|that|him|her|them)? ?up\b/i,G=/\b(?:web|online|internet|google)\b/i;function Ue(e,t){if(!t||t.kind!=="lookup"||!t.subject)return null;const n=H(e,t.subject),s=/\b(?:not|wrong|isn'?t|incorrect|nope)\b/i.test(e);return!n&&!s&&!Me.test(e)?null:{subject:n?.subject||t.subject,replaced:n?.replaced||"",corrected:!!n||s,web:G.test(e)}}function J(e,t){const n=We(e);if(n){const o=H(e.slice(e.toLowerCase().indexOf(n.toLowerCase())+n.length),n);return{kind:"lookup",subject:o?.subject||n,replaced:o?.replaced||"",corrected:!!o?.replaced,web:G.test(e)}}const s=Ue(e,t);return s?{kind:"lookup",...s}:null}function K(e){return Ce.test(e)||/@|\d{5,}/.test(e)||!new RegExp("\\p{L}{2,}","u").test(e)?!1:!Pe.test(e)||new RegExp("\\s\\p{Lu}","u").test(e)}const Ie=/\b(?:news|headlines|stories)\s+(?:on|about|from|in|for|regarding|around)\s+(.+)$/i,He=/\bwhat(?:'s| is| are)\s+(?:new|happening|going on|the latest|the news)\s+(?:with|in|on|at|around|from)\s+(.+)$/i,Ge=/^(?:(?:can|could) you (?:tell|give) me |tell me |give me |show me )?(?:the |any |some )?(?:latest |recent |top |today'?s |breaking )?(.{2,60}?)\s+news(?:\s+(?:today|this (?:morning|week|evening)|right now|lately|these days))?\s*[?.!]*$/i,Je=/^(?:(?:can|could) you (?:tell|give) me |tell me |give me |show me |what(?:'s| is| are) )?(?:the |any )?(?:latest |top |today'?s |breaking )?(?:news|headlines)(?:\s+(?:today|this (?:morning|week|evening)|right now))?\s*[?.!]*$/i,Y=/\s+(?:today|tonight|this (?:morning|week|evening|year)|right now|lately|these days|recently|now)$/i;function Ke(e){const t=String(e||"").trim();if(!t||ee(t).length)return null;if(Je.test(t))return{subject:""};const n=Ie.exec(t)||Ge.exec(t),s=n?null:He.exec(t),o=n||s;if(!o)return null;const r=I(o[1].replace(/[?.!]+$/,"").replace(Y,"")).replace(Y,"");return s&&r.split(/\s+/).length>4||!r||!K(r)||/^(?:the )?(?:weather|stock|stocks|market)$/i.test(r)?null:{subject:r}}function nt(e){return/^\s*No (?:history matches|web results)\b/.test(String(e||""))}const z=Object.freeze({page:15e3,web:12e3,lookup:12e3}),Ye=6e3;function st(e){return Object.hasOwn(z,e?.kind)?z[e.kind]:Ye}const ze=/^\s*(?:(?:and|also|ok(?:ay)?|so|then)[,\s]+)?(?:(?:what|how) about|how(?:'s|’s| is| will| does)?(?: it| the weather| things)?(?: be| look(?:ing)?)?|is it|and|for)?\s*(?:(?:right )?now|currently|today|tonight|tomorrow(?: morning| afternoon| evening| night)?|(?:a |the )?day after tomorrow|later(?: today| tonight)?|(?:this|next|the) (?:morning|afternoon|evening|night|weekend|week)|(?:the )?rest of (?:the|this) week|(?:on |this |next )?(?:mon|tues|wednes|thurs|fri|satur|sun)day|outside|out there)\s*[?!.]*\s*$/i;function X(e,t){return!t||t.kind!=="weather"?"":ze.test(String(e||""))?String(t.subject||"here"):""}function Xe(e,t){const n=$(e)||X(e,t)||F(e,t);if(n)return{kind:"weather",subject:n};if(P(e))return{kind:"weather",subject:"here"};const s=v(e)||B(e,t);if(s)return{kind:"stock",subject:s};const o=J(String(e||""),t);if(o)return o;const r=j(e,{previous:t});return r?{kind:"research",subject:r.subject,research:r}:null}function ot(e){const t=(Array.isArray(e)?e:[]).filter(o=>o&&!o.pending&&(o.role==="user"||o.role==="assistant")),n=[];for(let o=0;o<t.length;o++)t[o].role==="user"&&n.push(o);if(n.length<2)return null;let s=null;for(let o=0;o<n.length-1;o++){const r=t[n[o]],l=t[n[o]+1]?.role==="assistant"?t[n[o]+1]:null,c=(r.attachments||[]).find(a=>a?.kind==="prefetch"),u=typeof r.content=="string"?r.content:"";s=Xe(u,s)||(c?{kind:c.prefetch,...c.research?{research:c.research}:{}}:null)||((l?.steps||[]).some(a=>a?.input?.action==="weather"||a?.tool==="weather")?{kind:"weather"}:null)}return s}function rt({text:e="",previous:t=null,previousText:n="",previousAnswer:s="",reach:o=new Set,lookup:r=!1,research:l=!1,page:c=!1,now:u=Date.now()}={}){const i=o instanceof Set?o:new Set(Array.isArray(o)?o:[]),a=[];if(ke(e))return r?Q(e,t,i):[];const d=de.test(String(e||""))?ge(s):"",w=String(e||"").trim().split(/\s+/).length,f=ce(e)||(d?{query:d}:null)||(pe.test(String(e||""))&&w<=14?{}:null);if(f&&(i.has("find:web_search")||i.has("web_search"))){const h=f.query||String(n||"").trim();if(h){const p=i.has("find:web_search"),m=!f.query;return[{kind:"web",tool:p?"find":"web_search",input:p?{action:"web_search",args:{query:h}}:{query:h},label:`Web — ${h.slice(0,60)}`,subject:h,...he.test(h)?{weather:!0}:{},...m?{borrowed:!0}:{}}]}}if(c&&(i.has("page:read_page")||i.has("read_page"))&&x(e)){const h=i.has("page:read_page"),p=me.test(e)&&x(n)?String(n).trim():"";return[{kind:"page",tool:h?"page":"read_page",input:h?{action:"read_page",args:{}}:{},label:"This page",...p?{ask:p}:{}}]}const S=i.has("find:weather"),V=i.has("weather");if(S||V){e=be(e)||e;const h=$(e)?"":X(e,t),p=$(e)||(h?h!=="here"?h:"":F(e,t)),m=p||(P(e)||h?"here":"");if(m&&(a.push({kind:"weather",tool:S?"find":"weather",input:S?{action:"weather",args:{location:m}}:{location:m},label:p?`Weather — ${p}`:"Weather — near you"}),p&&le.test(String(e||""))&&(i.has("find:web_search")||i.has("web_search")))){const _=`${p} 10 day weather forecast`,L=i.has("find:web_search");a.push({kind:"web",tool:L?"find":"web_search",input:L?{action:"web_search",args:{query:_}}:{query:_},label:`Web — ${p} extended forecast`,subject:_,weather:!0})}}const g=i.has("find:web_search");if(!a.length&&(g||i.has("web_search"))){const h=v(e)||B(e,t);if(h){const p=`${h} stock price today`;a.push({kind:"stock",tool:g?"find":"web_search",input:g?{action:"web_search",args:{query:p}}:{query:p},label:`Stock — ${h}`})}}if(!a.length&&(g||i.has("web_search"))){const h=Ke(e);if(h){const p=h.subject?`${h.subject} news today`:"top news today";a.push({kind:"news",tool:g?"find":"web_search",input:g?{action:"web_search",args:{query:p}}:{query:p},label:h.subject?`News — ${h.subject}`:"News — today",subject:h.subject})}}if(l&&!a.length&&(g||i.has("web_search"))){const h=j(e,{previous:t,now:u});if(h){const p=g?"find":"web_search";a.push({kind:"research",tool:p,input:p==="find"?{action:"web_search",args:{query:h.queries[0]}}:{query:h.queries[0]},label:`Research — ${h.subject}`,subject:h.subject,research:h})}}return r&&!a.length&&a.push(...Q(e,t,i)),a}function Q(e,t,n){const s=J(String(e||""),t);if(!s)return[];const{subject:o}=s,r=s.corrected?`The user corrected the name: it is "${o}"${s.replaced?`, not "${s.replaced}"`:""} — use this spelling; earlier answers in this chat were about the wrong name.`:"",l=a=>n.has(`find:${a}`)?{tool:"find",input:d=>({action:a,args:d})}:n.has(a)?{tool:a,input:d=>d}:null,c=[],u=l("history_search"),i=l("web_search");return u&&!s.web&&c.push({kind:"lookup",tool:u.tool,input:u.input({query:o}),label:`Library — ${o}`,subject:o,note:r}),i&&(s.web||K(o))&&c.push({kind:"lookup",tool:i.tool,input:i.input({query:o}),label:`Web — ${o}`,subject:o,note:r,fallback:c.length>0}),c}function at(e=[]){const t=Array.isArray(e)?e:[];for(let n=t.length-1;n>=0;n--)if(t[n]?.role==="user")return(t[n].attachments||[]).some(s=>s?.kind==="prefetch"&&String(s.text||"").trim());return!1}function it(e){const t=typeof e=="string"?e:e&&typeof e.text=="string"?e.text:JSON.stringify(e??""),n=e&&typeof e=="object"&&typeof e.note=="string"?e.note:"";return{text:t,note:n}}function Qe(e,t=""){const n=String(t||"").replace(/^ChatPanel\s*·\s*/u,"").trim();return n&&n!=="ChatPanel"?`${e?.label||""} · ${n}`:e?.label||""}function Ve(e,t,{now:n=Date.now(),note:s=""}={}){if(e.kind==="web"&&e.weather&&(t=te(t)||t),e.kind==="research"){const u=String(t||""),{question:i,domain:a,subject:d,slots:w}=e.research||{};return{id:`prefetch_research_${n}`,kind:"prefetch",prefetch:"research",subject:e.subject||d||"",research:{question:i,domain:a,subject:d,slots:w},title:e.label,text:u,chars:u.length}}const o=e.kind==="page"?"this is the page they mean.":e.kind==="web"?`these are web results for "${String(e.subject||"").slice(0,80)}" — answer from them; search again only with different words.`:e.kind==="stock"?`do not call ${e.tool} or any search tool again for the same company. Say the price and change it gives; if it gives none, say you could not find a current price — never estimate one.`:e.kind==="lookup"?`if it is about someone or something else, or found nothing, search again with DIFFERENT words (another spelling, the other source — library or web) — never the same query.${e.note?` ${e.note}`:""}`:`do not call ${e.tool} or any weather/search tool again for the same place.`,r=e.kind==="lookup"||e.kind==="web"?`SEARCHED for "${e.subject}"`:e.kind==="page"?"READ the page the user has open":"FETCHED",l=e.kind==="page"&&e.ask?`
|
|
1
|
+
import{researchAsk as O,runResearch as Z}from"./web-research.js";import{frontPagesAskedAbout as ee}from"./site-pages.js";import{weatherFromSearch as te}from"./weather-tool.js";const R=/(\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,ne=/\b(right now|now|today|tonight|this (?:morning|afternoon|evening|weekend|week)|tomorrow|currently|at the moment|these days|later)\b/gi,se=new Set(["here","there","home","outside","my location","my area","my city","where i am","it","that"]),N=8,E="(?:page|tab|article|post|thread|discussion|story|site|website|doc|document|comments?|content|piece|blog(?: post)?|paper|video|readme|pdf)",oe=new RegExp(`\\b(?:this|current|the current|the open|open|that)\\s+${E}\\b`,"i"),re=new RegExp(`^\\s*(?:(?:can you |could you |please )?(?:summari[sz]e|tl;?\\s?dr|recap|give me the gist|what are the key (?:points|takeaways))(?:\\s+(?:it|this|that|here|(?:the|this)\\s+${E}(?:\\s+and\\s+(?:the\\s+)?${E})?))?|what(?:'s| is| are)? (?:people|they|folks|commenters) (?:saying|think(?:ing)?)(?: here| about (?:it|this))?)\\s*[?.!]*\\s*$`,"i"),ae=/\b(?:my|our|your|the|this|that|last|today'?s|yesterday'?s)\s+(?:meeting|chat|conversation|call|standup|notes?|email|inbox|calendar|day|week|transcript|thread with)\b|https?:\/\//i,ie=/^\s*(?:(?:please|pls|can you|could you|just|ok,?|no,?|then|so|now)\s+)*(?:use (?:the )?(?:web|internet)(?: search)?|use web ?search|(?:do|run|perform|make|start|try)(?: an?| the)? (?:(?:web|internet|online|google) ?)?search|search for (?:it|that|this)|search (?:the )?(?:web|internet|online)|web ?search(?: it)?|google(?: it| that)?|look (?:it |that )?up(?: online| on the web)?|check (?:the web|online)|try (?:the )?(?:web|internet|a web search|web search)|search (?:it|that|again|online))\b(?:\s+(?:for|about)\s+(.+?))?(?:,?\s+(?:please|pls|thanks|instead|now|then))*\s*[?.!]*\s*$/i;function ce(e){const t=ie.exec(String(e||""));if(!t)return null;const n=String(t[1]||"").trim();return n?{query:n}:{}}const he=/\b(?:weather|forecast|temperature|rain|snow)\b/i,le=/\b(?:rest of (?:the|this) (?:week|weekend|month)|(?:this|next|coming) (?:week|weekend)|(?:the|this) weekend|week ahead|the week|next (?:few|several|couple of) days|coming days|(?:5|7|10|14)[- ]?days?|extended|long[- ]range|two[- ]weeks?)\b/i,ue=/\b(?:i|we) (?:asked|said|wrote|told|searched|talked|discussed|mentioned|looked up|checked)\b|\b(?:did|have|had) (?:i|we)\b|\bhow (?:many|often) (?:times )?(?:i|we|did|have)\b|\bhow many times\b|\bmy (?:chats?|notes?|history|meetings?|conversations?|questions?|searches)\b|\blast time (?:i|we)\b/i,pe=/\b(?:find out more|find (?:out )?more|more (?:info|information|details)|look into (?:it|that|this)|dig (?:deeper|into (?:it|that))|get more details?|find (?:it|that) out|check (?:on )?(?:it|that) (?:again|online)|search (?:for )?more|look (?:it|that) up|find (?:the )?(?:rest|full|whole)(?: of it| forecast)?)\b/i,de=/^\s*(?:yes|yeah|yep|yup|sure|ok(?:ay)?|k|please(?: do)?|go ahead|go for it|do it|yes please|sure thing|absolutely|of course|ok look|look|search|please search|search it)(?:[\s,.!]+(?:please|thanks|thank you|go ahead|do it|look|search|yes))*[\s.!]*$/i,we=/\b(?:search the web|web search|search online|search for|look (?:it|that|this) up|look up|check online|find (?:it|that|out|more))\b/i,fe=/(?:web search for|search the web for|search (?:online )?for|look up|look for)\s+(?:the\s+)?(.{3,160}?)(?:\s*[?.!]|$)/i;function ge(e){const t=String(e||"").split(/\n+/).map(s=>s.trim()).filter(Boolean).slice(-3).join(" ");if(we.test(t)&&/\?/.test(t)){const s=(fe.exec(t)?.[1]||"").replace(/\s+for me$/i,"").trim();if(s)return s}const n=/\b(?:searching(?: the web| online)? for|looking up|checking(?: the web| online)? for)\s+(?:the\s+)?(.{3,160}?)(?:\.\.\.|…|[.!?]|$)/i.exec(t);return n?n[1].trim():""}const A=/^\s*(?:(?:no|nope|actually|but|well|sorry)\b[,.!]?\s*)?(?:i|we) (?:asked|said|meant|wanted)\b/i,x=/\b(?:did|when|how (?:many|often)|earlier|before|yesterday|last (?:time|week|month)|ago|previously|other day)\b/i;function be(e){const t=String(e||"");if(!A.test(t)||x.test(t))return"";const n=t.replace(A,"").replace(/^\s*(?:for|about)\s+/i,"").replace(/[.;]\s+(?:and|also)\s+/gi," and ").replace(/,?\s+not\s+[^.?!]*/i,"").trim();return/^(?:the\s+)?(?:weather|forecast|temperature)\b/i.test(n)?`what is ${/^the\s/i.test(n)?"":"the "}${n}`:""}function ke(e){const t=String(e||"");return A.test(t)&&!x.test(t)?!1:ue.test(t)}const me=/^\s*(?:and|what about|how about|now|no,?|ok,?|same for)\b[^?.!]{0,30}[?.!]*\s*$/i;function C(e){const t=String(e||"").trim();return!t||t.length>300||ae.test(t)?null:oe.test(t)||re.test(t)?{}:null}function w(e){return String(e||"").replace(ne," ").replace(/[?!.,;:]+$/g,"").replace(/^\s*(the|in|at|for|around|near|of)\s+/i,"").replace(/\s+/g," ").trim()}const P=/\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 y(e){const t=e.toLowerCase();return t.length>=2&&t.length<=60&&!se.has(t)&&!P.test(t)&&!/^(weather|forecast|temperature)$/.test(t)&&/^[\p{L}]/u.test(t)&&t.split(/\s+/).length<=5}function T(e){const t=String(e||"").trim();return!R.test(t)||$(t)||/\b(?:love|like|hate|enjoy|miss|prefer)\s+(?:this|the|that|such|today's)?\s*(?:weather|forecast)\b/i.test(t)||/\b(?:api|app|apps|service|widget|feature|code|bug|model|tool|component|test|tests|data|endpoint|sdk|library|module|page|screen)\b/i.test(t)?!1:t.split(/\s+/).length<=12}const ye=/\s+(?:for|over|during|through|in|this|next|and)?\s*(?:the\s+)?(?:rest of (?:the|this) (?:week|weekend|day|month)|next (?:few|several|couple of|\d+) days|(?:this|next|coming) (?:week|weekend|month|few days)|the (?:weekend|week(?: ahead)?|coming days)|week ahead|\d+[- ]days?(?: forecast)?)\b/gi;function $(e){const t=String(e||"").trim();if(!R.test(t))return"";const n=t.replace(ye,"").trim();let s=/\b(?:in|at|for|around|near)\s+([^?!.;]+?)(?:\s+(?:right now|now|today|tonight|tomorrow|currently|this \w+))*\s*[?!.]*$/i.exec(n);if(s){const o=w(s[1].split(/\s+(?:and|&|vs\.?|versus|compared (?:to|with)|then|,)\s+/i)[0]);if(y(o))return o;if(y(w(s[1])))return w(s[1])}return s=/^(?:what(?:'s| is) the\s+)?([\p{L}][\p{L}\s,.'-]{1,60}?)\s+(?:weather|forecast|temperature)\b/iu.exec(n),s&&y(w(s[1]))&&!L.test(w(s[1]))||(s=/\b(?:weather|forecast|temperature)\s*[:\-]?\s+([\p{L}][\p{L}\s,.'-]{1,60}?)\s*[?!.]*$/iu.exec(n),s&&y(w(s[1])))?w(s[1]):""}const L=/\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|get|fetch|pull|grab|look ?up|display|compare|bring|thanks|thank|yes|no|please|this|that|my|page|note|file|meeting|chat|sounds?|good|great|nice|cool|fine|perfect|awesome|sure|nothing|else|ok|okay|yeah|yep|nope|bye|hello|hi|hey|time|traffic|news|story|joke|stock|price|you|yourself|him|her|them|us)\b/i,$e=/^(?:(?:okay|ok|alright|all right|great|cool|thanks|thank you|fine|good|and|also|then|so|now|actually|well|um+|uh+|hmm+|oh|no|wait)(?:[\s,.!—-]+|$))+/i,Se=/^(?:(?:i(?: want| wanted| would like|'d like) to know|i'm wondering|i wonder|(?:can|could) you (?:tell|check) (?:me)?|tell me)\s+)/i,W=/^(?:(?:how|what) about|(?:how|what)(?:'s| is|s) it(?: like)?(?: in| at| for| around| near)?|(?:in|at|for|around|near))\b[\s,]*/i;function F(e,t){if(!t||t.kind!=="weather")return"";const n=String(e||"").trim().replace(/[?!.]+$/,"").trim(),s=n.replace($e,"").trim().replace(Se,"").trim();if(!s||s.split(/\s+/).length>N)return"";const o=W.test(s)||s!==n&&/^(?:and|also)\b/i.test(n),r=w(s.replace(W,"").replace(/^(?:like\s+)?(?:in|at|for|around|near)\s+/i,""));return!r||/\d/.test(r)||!o&&r.split(/\s+/).length>2||!y(r)||L.test(r)?"":r}const k="([\\p{L}$][\\p{L}\\p{N}.&'-]*(?:\\s+[\\p{L}][\\p{L}\\p{N}.&'-]*){0,3})",_e=[new RegExp(`\\b(?:share price|stock price|stock quote|ticker)\\s+(?:of|for)\\s+${k}`,"iu"),{question:!0,re:new RegExp(`\\b(?:stock|stocks|shares?)\\s+(?:of|for|in)\\s+${k}`,"iu")},new RegExp(`\\b${k}(?:'s)?\\s+(?:stock|shares)\\s+(?:price|doing|trading|today|now|performance|performing|up|down|quote)\\b`,"iu"),new RegExp(`\\b${k}(?:'s)?\\s+(?:share price|stock price|stock quote)\\b`,"iu"),new RegExp(`^\\s*${k}(?:'s)?\\s+(?:stock|shares)\\s*\\??\\s*$`,"iu"),new RegExp(`\\b(?:how|where)(?:'s| is| are)\\s+${k}\\s+(?:stock\\s+|shares\\s+)?trading\\b`,"iu"),new RegExp(`\\bwhat(?:'s| is| are)\\s+${k}\\s+trading at\\b`,"iu"),/\$([A-Z]{1,5})\b/u],Ee=/^(?:the|a|an|my|our|your|this|that|it|its|their|market|stock market|markets|price|prices|today|now|company|companies|how|what|is|are|doing|of|for|in|weather|forecast|news|time|date|temperature|rain|you|me|us|them|those|these)$/i,Ae=/^(?:how|what|what's|whats|where|is|are|was|the|a|an|can|could|you|tell|me|about|of|for|in|and|also|so|now|then|please|check|show|give|get)$/i,Le=/\s+(?:stock|stocks|shares?|price|prices|doing|trading|today|now|right now|currently|at the moment|this (?:morning|afternoon|week)|lately|so far)\b.*$/i;function D(e){const t=e.toLowerCase();return t.length>=1&&t.length<=40&&!Ee.test(t)&&!P.test(t)&&/^[\p{L}]/u.test(t)&&t.split(/\s+/).length<=4}function je(e){const t=e.split(/\s+/).filter(Boolean);for(;t.length>1&&Ae.test(t[0]);)t.shift();return t.join(" ")}function q(e){return String(e||"").replace(/[?!.,;:]+$/g,"").replace(Le,"").replace(/(?:\s+(?:at|on|up|down|for me|please))+$/i,"").replace(/^\s*(?:the|shares? of|stock of)\s+/i,"").replace(/'s$/i,"").replace(/\s+(?:corp(?:oration)?|inc|co|company|ltd)\.?$/i,t=>t).replace(/\s+/g," ").trim()}function v(e){const t=String(e||"").trim(),n=/\?\s*$/.test(t)||/^\s*(?:(?:hey|hi|ok|okay|so|and|now)[\s,]+)*(?:how|what|where|is|are|can|could|would|will|tell|check|show|give|get|find|look up|please)\b/i.test(t);for(const s of _e){const o=s instanceof RegExp?s:s.re;if(s.question&&!n)continue;const r=o.exec(t);if(!r)continue;const l=je(q(r[1]));if(D(l))return l}return""}function B(e,t){if(!t||t.kind!=="stock")return"";let n=String(e||"").trim().replace(/[?!.]+$/,"").trim();if(!n||n.split(/\s+/).length>N)return"";n=n.replace(/^(?:(?:okay|ok|fine|good|great|thanks|thank you|cool|alright|all right|that'?s (?:fine|good|great|ok|okay))[\s,.!—-]*)+/i,"").trim();const s=/^(?:(?:and|also|then|so|now)[\s,]+)*(?:how about|what about)\b/i.test(n)||/^(?:and|also)[\s,]+/i.test(n);n=n.replace(/^(?:(?:and|also|then|so|now)[\s,]+)*(?:(?:how|what) about\b)?[\s,]*/i,"").trim();const o=q(n);return!o||!s&&(o.split(/\s+/).length>2||!/[?]\s*$/.test(String(e))&&o.split(/\s+/).length>1)||!D(o)||L.test(o)?"":o}const M=new RegExp("(?<![\\p{L}\\p{N}'])\\p{L}(?:[ \\t.,\\-–]{1,3}\\p{L}(?![\\p{L}\\p{N}'])){2,}","gu");function U(e){return String(e||"").replace(M,t=>t.replace(/[^\p{L}]/gu,"").toLowerCase())}function Oe(e){return[...String(e||"").matchAll(M)].map(t=>t[0].replace(/[^\p{L}]/gu,"").toLowerCase())}const Re=/\b(?:tell me (?:more |everything |all |something )?about|what do you know about|do you know (?:anything )?about|who(?:'s| is| was| are)|look up|lookup|search (?:the web |online |the internet |google )?for|search up|google|find (?:out )?(?:info(?:rmation)?|details|more|anything|something|everything) (?:on|about)|(?:info|information|background|details) (?:on|about)|research)\s+(.+)$/i,Ne=/[.?!;:,()](?=\s|$)|\s(?:uh|um|umm|er|erm|hmm|like|actually|i mean|sorry|the (?:first |last |sur|family )?name|his|her|their|its|it's|it is|spelled|spelt|and (?:tell|give|find|show|let|search|look)|then|please|for me|on the web|online|on google|from the web|if you can|thanks|thank you)\b/i,xe=/^(?:it|this|that|these|those|him|her|them|me|you|yourself|us|he|she|they|we|i|my|our|your|his|their|here|there|on|in|at|to|for|with|from|going|coming|speaking|talking|calling|joining|what|how|why|when|where|which|the weather|weather)\b/i,Ce=/^(?:my|our|your|this|that|today'?s|yesterday'?s|last|next|latest|recent)\b/i,Pe=/^(?:the|a|an)\b/i,Te=6;function I(e){const n=(String(e||"").split(Ne)[0]||"").replace(/\s+/g," ").replace(/^["'“‘]+|["'”’]+$/g,"").trim(),s=n.split(" ").filter(Boolean);return!s.length||s.length>Te||!new RegExp("\\p{L}","u").test(n)||xe.test(n)?"":n}function We(e){const t=Re.exec(U(e));return t?I(t[1]):""}const Fe=[[/\b(?:last|sur|family|second) ?name\b|\bsurname\b/i,e=>e.length-1],[/\bfirst name\b|\bgiven name\b/i,()=>0]],De=/\b(?:it(?:'s| is)|spelled|spelt|should be|is actually|actually|but|name is)\s+["'“‘]?([\p{L}][\p{L}'-]{1,40})["'”’]?\s*[.!?]*\s*$/iu,qe=/\b(?:no|nope|not|wrong|incorrect|misspel\w*|spell\w*|typo|name|actually|i meant|i mean)\b/i;function ve(e,t){const n=e.toLowerCase(),s=t.toLowerCase(),o=Array.from({length:s.length+1},(r,l)=>l);for(let r=1;r<=n.length;r++){let l=o[0];o[0]=r;for(let c=1;c<=s.length;c++){const u=o[c];o[c]=Math.min(o[c]+1,o[c-1]+1,l+(n[r-1]===s[c-1]?0:1)),l=u}}return o[s.length]}function Be(e,t){return new RegExp("^\\p{Lu}","u").test(t)?e.charAt(0).toUpperCase()+e.slice(1):e}function H(e,t){const n=String(t||"").trim();if(!n)return null;const s=String(e||""),o=Oe(s),r=U(s);let l=o.at(-1)||"";if(!l&&qe.test(r)&&(l=De.exec(r)?.[1]||""),!l||l.length<2)return null;const c=n.split(/\s+/);let u=-1;for(const[a,d]of Fe)if(a.test(r)){u=d(c);break}if(u<0){let a=1/0;c.forEach((d,f)=>{const g=ve(d,l)/Math.max(d.length,l.length);g<a&&(a=g,u=f)}),a>.6&&(u=c.length===1?0:-1)}if(u<0)return null;const i=c[u];return i.toLowerCase()===l.toLowerCase()?{subject:n,replaced:""}:(c[u]=Be(l,c.find(a=>new RegExp("^\\p{Lu}","u").test(a))||i),{subject:c.join(" "),replaced:i})}const Me=/\b(?:search|look|google|check|find|try)\b[^.?!]{0,30}\b(?:web|online|internet|google|up|again|it|him|her|them)\b|\blook(?:ing)? (?:it|that|him|her|them)? ?up\b/i,G=/\b(?:web|online|internet|google)\b/i;function Ue(e,t){if(!t||t.kind!=="lookup"||!t.subject)return null;const n=H(e,t.subject),s=/\b(?:not|wrong|isn'?t|incorrect|nope)\b/i.test(e);return!n&&!s&&!Me.test(e)?null:{subject:n?.subject||t.subject,replaced:n?.replaced||"",corrected:!!n||s,web:G.test(e)}}function J(e,t){const n=We(e);if(n){const o=H(e.slice(e.toLowerCase().indexOf(n.toLowerCase())+n.length),n);return{kind:"lookup",subject:o?.subject||n,replaced:o?.replaced||"",corrected:!!o?.replaced,web:G.test(e)}}const s=Ue(e,t);return s?{kind:"lookup",...s}:null}function K(e){return Ce.test(e)||/@|\d{5,}/.test(e)||!new RegExp("\\p{L}{2,}","u").test(e)?!1:!Pe.test(e)||new RegExp("\\s\\p{Lu}","u").test(e)}const Ie=/\b(?:news|headlines|stories)\s+(?:on|about|from|in|for|regarding|around)\s+(.+)$/i,He=/\bwhat(?:'s| is| are)\s+(?:new|happening|going on|the latest|the news)\s+(?:with|in|on|at|around|from)\s+(.+)$/i,Ge=/^(?:(?:can|could) you (?:tell|give) me |tell me |give me |show me )?(?:the |any |some )?(?:latest |recent |top |today'?s |breaking )?(.{2,60}?)\s+news(?:\s+(?:today|this (?:morning|week|evening)|right now|lately|these days))?\s*[?.!]*$/i,Je=/^(?:(?:can|could) you (?:tell|give) me |tell me |give me |show me |what(?:'s| is| are) )?(?:the |any )?(?:latest |top |today'?s |breaking )?(?:news|headlines)(?:\s+(?:today|this (?:morning|week|evening)|right now))?\s*[?.!]*$/i,Y=/\s+(?:today|tonight|this (?:morning|week|evening|year)|right now|lately|these days|recently|now)$/i;function Ke(e){const t=String(e||"").trim();if(!t||ee(t).length)return null;if(Je.test(t))return{subject:""};const n=Ie.exec(t)||Ge.exec(t),s=n?null:He.exec(t),o=n||s;if(!o)return null;const r=I(o[1].replace(/[?.!]+$/,"").replace(Y,"")).replace(Y,"");return s&&r.split(/\s+/).length>4||!r||!K(r)||/^(?:the )?(?:weather|stock|stocks|market)$/i.test(r)?null:{subject:r}}function nt(e){return/^\s*No (?:history matches|web results)\b/.test(String(e||""))}const z=Object.freeze({page:15e3,web:12e3,lookup:12e3}),Ye=6e3;function st(e){return Object.hasOwn(z,e?.kind)?z[e.kind]:Ye}const ze=/^\s*(?:(?:and|also|ok(?:ay)?|so|then)[,\s]+)?(?:(?:what|how) about|how(?:'s|’s| is| will| does)?(?: it| the weather| things)?(?: be| look(?:ing)?)?|is it|and|for)?\s*(?:(?:right )?now|currently|today|tonight|tomorrow(?: morning| afternoon| evening| night)?|(?:a |the )?day after tomorrow|later(?: today| tonight)?|(?:this|next|the) (?:morning|afternoon|evening|night|weekend|week)|(?:the )?rest of (?:the|this) week|(?:on |this |next )?(?:mon|tues|wednes|thurs|fri|satur|sun)day|outside|out there)\s*[?!.]*\s*$/i;function X(e,t){return!t||t.kind!=="weather"?"":ze.test(String(e||""))?String(t.subject||"here"):""}function Xe(e,t){const n=$(e)||X(e,t)||F(e,t);if(n)return{kind:"weather",subject:n};if(T(e))return{kind:"weather",subject:"here"};const s=v(e)||B(e,t);if(s)return{kind:"stock",subject:s};const o=J(String(e||""),t);if(o)return o;const r=O(e,{previous:t});return r?{kind:"research",subject:r.subject,research:r}:null}function ot(e){const t=(Array.isArray(e)?e:[]).filter(o=>o&&!o.pending&&(o.role==="user"||o.role==="assistant")),n=[];for(let o=0;o<t.length;o++)t[o].role==="user"&&n.push(o);if(n.length<2)return null;let s=null;for(let o=0;o<n.length-1;o++){const r=t[n[o]],l=t[n[o]+1]?.role==="assistant"?t[n[o]+1]:null,c=(r.attachments||[]).find(a=>a?.kind==="prefetch"),u=typeof r.content=="string"?r.content:"";s=Xe(u,s)||(c?{kind:c.prefetch,...c.research?{research:c.research}:{}}:null)||((l?.steps||[]).some(a=>a?.input?.action==="weather"||a?.tool==="weather")?{kind:"weather"}:null)}return s}function rt({text:e="",previous:t=null,previousText:n="",previousAnswer:s="",reach:o=new Set,lookup:r=!1,research:l=!1,page:c=!1,now:u=Date.now()}={}){const i=o instanceof Set?o:new Set(Array.isArray(o)?o:[]),a=[];if(ke(e))return r?Q(e,t,i):[];const d=de.test(String(e||""))?ge(s):"",f=String(e||"").trim().split(/\s+/).length,g=ce(e)||(d?{query:d}:null)||(pe.test(String(e||""))&&f<=14?{}:null);if(g&&(i.has("find:web_search")||i.has("web_search"))){const h=g.query||String(n||"").trim();if(h){const p=i.has("find:web_search"),m=!g.query;return[{kind:"web",tool:p?"find":"web_search",input:p?{action:"web_search",args:{query:h}}:{query:h},label:`Web — ${h.slice(0,60)}`,subject:h,...he.test(h)?{weather:!0}:{},...m?{borrowed:!0}:{}}]}}if(c&&(i.has("page:read_page")||i.has("read_page"))&&C(e)){const h=i.has("page:read_page"),p=me.test(e)&&C(n)?String(n).trim():"";return[{kind:"page",tool:h?"page":"read_page",input:h?{action:"read_page",args:{}}:{},label:"This page",...p?{ask:p}:{}}]}const S=i.has("find:weather"),V=i.has("weather");if(S||V){e=be(e)||e;const h=$(e)?"":X(e,t),p=$(e)||(h?h!=="here"?h:"":F(e,t)),m=p||(T(e)||h?"here":"");if(m&&(a.push({kind:"weather",tool:S?"find":"weather",input:S?{action:"weather",args:{location:m}}:{location:m},label:p?`Weather — ${p}`:"Weather — near you"}),p&&le.test(String(e||""))&&(i.has("find:web_search")||i.has("web_search")))){const _=`${p} 10 day weather forecast`,j=i.has("find:web_search");a.push({kind:"web",tool:j?"find":"web_search",input:j?{action:"web_search",args:{query:_}}:{query:_},label:`Web — ${p} extended forecast`,subject:_,weather:!0})}}const b=i.has("find:web_search");if(!a.length&&(b||i.has("web_search"))){const h=v(e)||B(e,t);if(h){const p=`${h} stock price today`;a.push({kind:"stock",tool:b?"find":"web_search",input:b?{action:"web_search",args:{query:p}}:{query:p},label:`Stock — ${h}`})}}if(!a.length&&(b||i.has("web_search"))){const h=Ke(e);if(h){const p=h.subject?`${h.subject} news today`:"top news today";a.push({kind:"news",tool:b?"find":"web_search",input:b?{action:"web_search",args:{query:p}}:{query:p},label:h.subject?`News — ${h.subject}`:"News — today",subject:h.subject})}}if(l&&!a.length&&(b||i.has("web_search"))){const h=O(e,{previous:t,now:u});if(h){const p=b?"find":"web_search";a.push({kind:"research",tool:p,input:p==="find"?{action:"web_search",args:{query:h.queries[0]}}:{query:h.queries[0]},label:`Research — ${h.subject}`,subject:h.subject,research:h})}}return r&&!a.length&&a.push(...Q(e,t,i)),a}function Q(e,t,n){const s=J(String(e||""),t);if(!s)return[];const{subject:o}=s,r=s.corrected?`The user corrected the name: it is "${o}"${s.replaced?`, not "${s.replaced}"`:""} — use this spelling; earlier answers in this chat were about the wrong name.`:"",l=a=>n.has(`find:${a}`)?{tool:"find",input:d=>({action:a,args:d})}:n.has(a)?{tool:a,input:d=>d}:null,c=[],u=l("history_search"),i=l("web_search");return u&&!s.web&&c.push({kind:"lookup",tool:u.tool,input:u.input({query:o}),label:`Library — ${o}`,subject:o,note:r}),i&&(s.web||K(o))&&c.push({kind:"lookup",tool:i.tool,input:i.input({query:o}),label:`Web — ${o}`,subject:o,note:r,fallback:c.length>0}),c}function at(e=[]){const t=Array.isArray(e)?e:[];for(let n=t.length-1;n>=0;n--)if(t[n]?.role==="user")return(t[n].attachments||[]).some(s=>s?.kind==="prefetch"&&String(s.text||"").trim());return!1}function it(e){const t=typeof e=="string"?e:e&&typeof e.text=="string"?e.text:JSON.stringify(e??""),n=e&&typeof e=="object"&&typeof e.note=="string"?e.note:"";return{text:t,note:n}}function Qe(e,t=""){const n=String(t||"").replace(/^ChatPanel\s*·\s*/u,"").trim();return n&&n!=="ChatPanel"?`${e?.label||""} · ${n}`:e?.label||""}function Ve(e,t,{now:n=Date.now(),note:s=""}={}){if(e.kind==="web"&&e.weather&&(t=te(t)||t),e.kind==="research"){const u=String(t||""),{question:i,domain:a,subject:d,slots:f}=e.research||{};return{id:`prefetch_research_${n}`,kind:"prefetch",prefetch:"research",subject:e.subject||d||"",research:{question:i,domain:a,subject:d,slots:f},title:e.label,text:u,chars:u.length}}const o=e.kind==="page"?"this is the page they mean.":e.kind==="web"?`these are web results for "${String(e.subject||"").slice(0,80)}" — answer from them; search again only with different words.`:e.kind==="stock"?`do not call ${e.tool} or any search tool again for the same company. Say the price and change it gives; if it gives none, say you could not find a current price — never estimate one.`:e.kind==="lookup"?`if it is about someone or something else, or found nothing, search again with DIFFERENT words (another spelling, the other source — library or web) — never the same query.${e.note?` ${e.note}`:""}`:`do not call ${e.tool} or any weather/search tool again for the same place.`,r=e.kind==="lookup"||e.kind==="web"?`SEARCHED for "${e.subject}"`:e.kind==="page"?"READ the page the user has open":"FETCHED",l=e.kind==="page"&&e.ask?`
|
|
2
2
|
|
|
3
3
|
The question about this page: ${e.ask.slice(0,200)}`:"",c=`(ALREADY ${r} for the question below, with ${e.tool}. Answer from this; ${o})
|
|
4
4
|
|
|
5
|
-
${String(t||"")}${l}`;return{id:`prefetch_${e.kind}${e.kind==="lookup"?`_${e.input?.action||e.tool}`:""}_${n}`,kind:"prefetch",prefetch:e.kind,...e.subject?{subject:e.subject}:{},title:Qe(e,s),text:c,chars:c.length}}async function ct(e,{execute:t,until:n=null,now:s=()=>Date.now(),onActivity:o=()=>{},read:r=null,rerank:l=null}={}){const c=s(),u=i=>{try{o({type:"tool",name:"research",prefetched:!0,...i})}catch{}};u({phase:"start",input:e.input,summary:e.label});try{const{text:i,result:a}=await Z(e,{execute:t,until:n,now:s,read:r,rerank:l,onProgress:
|
|
5
|
+
${String(t||"")}${l}`;return{id:`prefetch_${e.kind}${e.kind==="lookup"?`_${e.input?.action||e.tool}`:""}_${n}`,kind:"prefetch",prefetch:e.kind,...e.subject?{subject:e.subject}:{},title:Qe(e,s),text:c,chars:c.length}}async function ct(e,{execute:t,until:n=null,now:s=()=>Date.now(),onActivity:o=()=>{},read:r=null,rerank:l=null}={}){const c=s(),u=i=>{try{o({type:"tool",name:"research",prefetched:!0,...i})}catch{}};u({phase:"start",input:e.input,summary:e.label});try{const{text:i,result:a}=await Z(e,{execute:t,until:n,now:s,read:r,rerank:l,onProgress:g=>u({phase:"progress",summary:`${e.label} — ${g.label}`})});if(!i)return u({phase:"done",status:"skipped",summary:e.label,ms:s()-c}),{attachment:null,text:"",result:a,note:"",status:"skipped"};const d=a.stats,f=`${d.searches} search${d.searches===1?"":"es"} · ${d.sites} site${d.sites===1?"":"s"} · ${(d.ms/1e3).toFixed(1)} s`;return u({phase:"done",status:"ok",summary:`${e.label} — ${f}`,ms:s()-c}),{attachment:Ve(e,i,{now:s()}),text:i,result:a,note:f,status:"ok"}}catch(i){const a=`error: ${String(i?.message||i).slice(0,80)}`;return u({phase:"done",status:a,summary:e.label,ms:s()-c}),{attachment:null,text:"",result:null,note:"",status:a}}}export{ke as aboutOwnPast,at as answeredByPrefetch,H as correctedSubject,U as joinSpelled,Ue as lookupFollowup,Qe as lookupLabel,it as lookupResult,We as lookupSubject,Ke as newsAsk,ge as offeredSearch,C as pageAsk,Ve as prefetchAttachment,st as prefetchBudgetMs,nt as prefetchMissed,rt as prefetchPlan,ot as previousAsk,be as restatedWeather,ct as runResearchItem,B as stockFollowupSubject,v as stockSubject,F as weatherFollowupPlace,X as weatherFollowupWhen,T as weatherHere,$ as weatherPlace,ce as webRedoAsk};
|
package/shim.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{engineKey as p}from"./scorecard.js";class c extends Error{constructor(r,o){super(o),this.name="ShimError",this.code=r}}const m=/^[a-z][a-z0-9]*(?:[.-][a-z0-9]+)*$/;function l({id:t,label:r,patches:o,where:e,since:s}){if(!m.test(String(t||"")))throw new c("BAD_ID",`shim id '${t}' must be <area>.<what> in lowercase`);for(const[n,i]of Object.entries({label:r,patches:o,where:e,since:s}))if(typeof i!="string"||!i.trim())throw new c("BAD_SHIM",`shim '${t}': ${n} required`);if(!/^\d{4}-\d{2}-\d{2}$/.test(s))throw new c("BAD_SHIM",`shim '${t}': since must be YYYY-MM-DD`);return Object.freeze({id:t,label:r,patches:o,where:e,since:s})}const f=[l({id:"loop.repeat-replayed",since:"2026-09-14",label:"An identical read was answered from its first result",patches:"A model asks the same read-only question twice in one turn, waiting for a value that will not change.",where:"tool-loop-guard.js createToolLoopGuard().check"}),l({id:"loop.repeat-refused",since:"2026-09-14",label:"An identical write was refused after the threshold",patches:"A model repeats the same click, type or write with the same input; replaying it would lie about something that changed the world.",where:"tool-loop-guard.js createToolLoopGuard().check"}),l({id:"loop.closing-early",since:"2026-09-14",label:"The closing request came before the round cap because the model was circling",patches:"Rounds without progress, or a round byte-identical to the last: the guard ends the tool phase and asks for the answer.",where:"turn-loop.js runTurnLoop (guard.stalled || guard.looping)"}),l({id:"loop.looping-nudge",since:"2026-09-14",label:"The model was told it has repeated itself and must answer now",patches:"Enough replays and refusals in one turn that the next request carries a system line saying stop.",where:"turn-loop.js runTurnLoop (LOOPING_NUDGE)"}),l({id:"loop.finish-nudge",since:"2026-09-14",label:'A tool call on the closing request was answered with "write your answer now"',patches:'A relayed CLI agent keeps its own tools, so "no tools offered" does not stop it asking; each stray call is answered with the next nudge until words come.',where:"turn-loop.js runTurnLoop (FINISH_NUDGES)"}),l({id:"loop.budget-spent",since:"2026-09-14",label:"A call past the per-turn cap was answered with a nudge instead of run",patches:"A relayed agent asks for more calls than the turn allows; the runner answers the excess with the finish nudges.",where:"turn-loop.js createCallRunner (spent)"}),l({id:"tool.invalid-params-off",since:"2026-09-10",label:"A tool that rejected its parameters was taken off for the rest of the turn",patches:"A model retries an MCP tool that answered -32602 with the same wrong arguments, round after round.",where:"adaptive-tool-policy.js createAdaptiveToolPolicy().recordResult"})],u=f.map(t=>t.id);if(new Set(u).size!==u.length)throw new c("DUPLICATE","shim ids must be unique");const b="2026-10-21",h=Object.freeze(Object.fromEntries(f.map(t=>[t.id,t]))),d=Object.freeze(u),w=t=>{const r={};if(!t||typeof t!="object")return r;for(const o of Object.keys(t).slice(0,6)){const e=t[o];(typeof e=="number"&&Number.isFinite(e)||typeof e=="boolean"||typeof e=="string"&&e.length<=80)&&(r[o]=e)}return r};function y({emit:t=null,now:r=()=>Date.now(),engine:o=null}={}){const e=typeof o=="string"?o:p(o),s=[];return{get engine(){return e},fire(n,i=null){if(!h[n])return!1;const a={id:n,at:r(),...e?{engine:e}:{},detail:w(i)};if(s.push(a),typeof t=="function")try{t("shim.fired",{shimId:n,...e?{engine:e}:{},...a.detail})}catch{}return!0},get fired(){return[...s]},summary(){const n={};for(const i of s)n[i.id]=(n[i.id]||0)+1;return n}}}function S(t=[]){const r={},o=new Set;for(const e of Array.isArray(t)?t:[]){if(e?.type!=="shim.fired")continue;const s=String(e.payload?.shimId||"");if(!s)continue;const n=String(e.payload?.engine||"?");o.add(n);const i=r[s]||(r[s]={id:s,fires:0,last:null,byEngine:{}});i.fires+=1,i.last=Math.max(i.last||0,Number(e.at)||0)||i.last;const a=i.byEngine[n]||(i.byEngine[n]={fires:0,last:null});a.fires+=1,a.last=Math.max(a.last||0,Number(e.at)||0)||a.last}for(const e of d)r[e]||(r[e]={id:e,fires:0,last:null,byEngine:{}});return{byShim:r,engines:[...o].sort()}}function j(t,{callsByEngine:r={},minCalls:o=50}={}){const e=Object.entries(r||{}).filter(([,n])=>(Number(n)||0)>=o).map(([n])=>n).sort();if(!e.length)return[];const s=[];for(const n of d){const i=t?.byShim?.[n];i&&i.fires>0||s.push({id:n,label:h[n].label,where:h[n].where,judgedOn:e})}return s}function A(t){return d.map(r=>{const o=t?.byShim?.[r],e=o?Object.entries(o.byEngine).map(([s,n])=>`${s} ×${n.fires}`).join(", "):"";return`${r.padEnd(26)} ${String(o?.fires||0).padStart(5)} ${e}`}).join(`
|
|
2
|
+
`)}export{h as SHIMS,b as SHIMS_COUNTED_SINCE,d as SHIM_IDS,c as ShimError,y as createShimLog,l as defineShim,A as describeShims,j as retirableShims,S as summarizeShims};
|
package/tool-loop-guard.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{effectiveToolName as
|
|
2
|
-
${
|
|
1
|
+
import{effectiveToolName as c}from"./tool-traits.js";import{resultText as S}from"./adaptive-tool-policy.js";const A=3,T=2,O=3,k=new Set(["inspect_page","read_canvas","screenshot","marked_screenshot"]),g=new Set(["press_key","type_text","click_at","move_mouse","click_mark","draw_path","input_sequence","click_element","click_by_text"]);function m(e){return!k.has(e)&&!g.has(e)&&e!=="scroll"}function y(e){return e==null||typeof e!="object"?JSON.stringify(e):Array.isArray(e)?`[${e.map(y).join(",")}]`:`{${Object.keys(e).sort().map(t=>`${JSON.stringify(t)}:${y(e[t])}`).join(",")}}`}function b(e,t){return`${String(e||"")}
|
|
2
|
+
${y(t??{})}`}function N(e){return(Array.isArray(e)?e:[]).filter(t=>m(c(t?.name,t?.input))).map(t=>b(t.name,t.input)).sort().join("|")}function L(e,t,a={}){return JSON.stringify({ok:!1,blocked:!0,error:"tool_loop_blocked",tool:e||"tool",message:t,retry_hint:"Answer using the already available conversation context and tool results. Do not call more tools unless the user asks you to continue.",...a})}function R(e,t,a=null){const i=c(e,a);if(i==="scroll")try{return JSON.parse(S(t))?.atBottom===!1}catch{return!1}if(g.has(i))try{return JSON.parse(S(t))?.ok===!0}catch{return!1}return!1}function E({maxIdenticalCalls:e=A,maxStalledRounds:t=T,maxRepeats:a=O,shims:i=null}={}){const f=new Map,d=new Map;let u=0,_=null,p=0;return{get disabled(){return!1},get stalled(){return u>=t},get repeats(){return p},get looping(){return p>=a},noteRound(o,l,n=""){const r=l>0&&o>=l,s=!!n&&n===_;_=n,s?u+=2:r?u+=1:u=0},reset(o){o&&f.delete(o)},remember(o,l,n,r,{readOnly:s=!1}={}){!o||!r||!s||d.set(o,r)},check(o,l){if(k.has(c(o,l)))return{blocked:!1};const n=b(o,l),r=(f.get(n)||0)+1;if(f.set(n,r),r>e&&d.has(n)){p+=1,i?.fire("loop.repeat-replayed",{tool:c(o,l),count:r});const s=d.get(n),h="[This exact call was already made this turn; the result is unchanged. Answer from what you have.]",x=typeof s=="string"?`${s}
|
|
3
3
|
|
|
4
|
-
${
|
|
4
|
+
${h}`:s&&typeof s=="object"&&typeof s.text=="string"?{...s,text:`${s.text}
|
|
5
5
|
|
|
6
|
-
${
|
|
6
|
+
${h}`}:s;return{blocked:!1,replayed:!0,count:r,key:n,result:x}}return r>e?(p+=1,i?.fire("loop.repeat-refused",{tool:c(o,l),count:r}),{blocked:!0,count:r,key:n,result:L(o,`Skipped a repeated identical ${o||"tool"} call (${r}× with the same input). Vary the input or try a different action — your other tools still work.`,{repeated:!0,identicalCallCount:r,maxIdenticalCalls:e})}):{blocked:!1,count:r,key:n}}}}export{A as DEFAULT_MAX_IDENTICAL_CALLS,O as DEFAULT_MAX_REPEATS,T as DEFAULT_MAX_STALLED_ROUNDS,g as INPUT_PROGRESS_TOOLS,k as OBSERVATION_TOOLS,L as blockedToolResult,E as createToolLoopGuard,m as isLoopableTool,N as roundSignature,b as stableToolCallKey,R as toolMadeProgress};
|
package/turn-loop.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{runToolRound as
|
|
1
|
+
import{runToolRound as lt}from"./tool-round.js";import{toolTraits as ct,effectiveToolName as W,parallelEligible as pt}from"./tool-traits.js";import{createToolLoopGuard as K,roundSignature as dt,toolMadeProgress as ft,blockedToolResult as mt}from"./tool-loop-guard.js";import{createAdaptiveToolPolicy as Q,adaptiveToolRetryHint as ht,resultText as X}from"./adaptive-tool-policy.js";import{toolStatus as yt}from"./tool-hints.js";import{isSmallWindow as gt,SMALL_WINDOW_ROUNDS as Z}from"./context-window.js";import{createShimLog as tt}from"./shim.js";const q=60,kt=6,et=4e3,V=`
|
|
2
2
|
|
|
3
|
-
`,
|
|
3
|
+
`,z=Object.freeze(["The tool budget for this turn is spent. Do not call tools again; write your answer now with what you have, including your findings.","No more tool calls will be answered. Reply with your answer as plain text, now — a partial answer beats none.","FINAL: any further tool call ends this turn with no answer. Write what you have found, as text, in this message."]),Tt="You have repeated the same tool call several times. Do not call tools again; answer now with what you have.",Ut='_(Reached the action limit for one turn — say "continue" to keep going.)_',nt=/\[External MCP[^\n]*\n|⟦\/?EXTERNAL_MCP_OUTPUT⟧/g,_t=t=>/^\s*(?:error\b|\{"error")|"error"\s*:/i.test(String(t||"").replace(nt,""));function vt(t=[]){const n=[...Array.isArray(t)?t:[]].reverse().find(a=>/^error/i.test(String(a?.status||""))||_t(a?.result));if(!n)return"⚠ The model ended this turn without an answer. Try again, or pick another model.";const e=n.input?.action||n.action||n.tool||n.name||"an action",s=(/^error/i.test(String(n.status||""))?String(n.status).replace(/^error:\s*/i,""):String(n.result||"")).replace(nt,"").replace(/\s+/g," ").trim().slice(0,200);return`⚠ No answer: the turn ended after \`${e}\` failed${s?` — ${s}`:""}. Try again, or ask without it.`}function $t({tools:t,agent:n,settings:e,fallback:o=q}={}){if(!t)return 1;const a=[Math.max(1,Number(o)||q)],m=Number(n?.maxRequestsPerTurn)||0;m>0&&a.push(m);const d=Number(e?.ui?.maxToolRoundsPerTurn??e?.maxToolRoundsPerTurn)||0;return d>0&&a.push(d),gt(n?.window||n?.contextLength||n?.contextWindow)&&a.push(Z),Math.max(1,Math.min(...a))}function G(t){if(!t)return{};if(typeof t=="object")return t;try{return JSON.parse(t)}catch{return{}}}const ot=t=>typeof t.arguments=="string"?t.arguments:JSON.stringify(t.arguments??t.input??{});function xt(t){const n=String(X(t)||"");return n.length>et?`${n.slice(0,et)}…`:n}function wt(t,n){const e=W(t,n),o=n&&typeof n=="object"&&n.args&&typeof n.args=="object"?n.args:n||{},s=["query","id","tool","location","ref"].find(a=>typeof o[a]=="string"&&o[a]);return s?`${e} "${String(o[s]).slice(0,80)}"`:e}function It(t,n){const e=Array.isArray(t)?[...t]:[],o=String(n||"").trim();if(!o)return e;const s=e.findIndex(a=>a?.role==="system"&&typeof a.content=="string");return s>=0?(e[s]={...e[s],content:`${e[s].content}
|
|
4
4
|
|
|
5
|
-
${
|
|
6
|
-
`);return{inputTokens:
|
|
5
|
+
${o}`},e):[{role:"system",content:o},...e]}const S=t=>Number(t)||0;function rt(t){if(!t||typeof t!="object")return null;const n=S(t.cacheReadTokens??t.cache_read_input_tokens??t.prompt_tokens_details?.cached_tokens),e=S(t.cacheWriteTokens??t.cache_creation_input_tokens),o=t.inputTokens??t.input_tokens,s=o!=null?S(o):Math.max(0,S(t.prompt_tokens)-n-e),a=S(t.outputTokens??t.output_tokens??t.completion_tokens),m=s+n+e,d={inputTokens:s,outputTokens:a,cacheReadTokens:n,cacheWriteTokens:e,prompt_tokens:m,completion_tokens:a,total_tokens:S(t.total_tokens)||m+a,calls:S(t.calls)||1,reported:t.reported!==!1&&(m>0||a>0)},b=S(t.usd??t.cost);return b&&(d.usd=b),d}function St(t,n){const e=rt(t),o=rt(n);if(!o)return e;if(!e)return o;const s={inputTokens:e.inputTokens+o.inputTokens,outputTokens:e.outputTokens+o.outputTokens,cacheReadTokens:e.cacheReadTokens+o.cacheReadTokens,cacheWriteTokens:e.cacheWriteTokens+o.cacheWriteTokens,calls:e.calls+o.calls,reported:e.reported||o.reported};s.prompt_tokens=s.inputTokens+s.cacheReadTokens+s.cacheWriteTokens,s.completion_tokens=s.outputTokens,s.total_tokens=e.total_tokens+o.total_tokens;const a=S(e.usd)+S(o.usd);return a&&(s.usd=a),s}function st(t){return Math.max(0,Math.round(String(t||"").length/4))}function bt(t,n){const e=(t||[]).map(o=>typeof o?.content=="string"?o.content:JSON.stringify(o?.content||"")).join(`
|
|
6
|
+
`);return{inputTokens:st(e),outputTokens:st(n),cacheReadTokens:0,cacheWriteTokens:0,estimated:!0}}const Rt=Object.freeze({asked(t,n){return{role:"assistant",content:String(t?.text||"")||null,tool_calls:n.map(e=>({id:e.id,type:"function",function:{name:e.name,arguments:ot(e)}}))}},answered(t,{noVision:n=!1}={}){const e=t.map(({call:o,result:s})=>({role:"tool",tool_call_id:o.id,content:X(s)}));for(const{call:o,result:s}of t){const a=s&&typeof s=="object"?s.image:null;a&&e.push(n?{role:"user",content:`(Screenshot from ${o.name} omitted — this model has no vision. Rely on read_canvas / inspect_page / tool results.)`}:{role:"user",content:[{type:"text",text:`(Screenshot from ${o.name})`},{type:"image_url",image_url:{url:a}}]})}return e},nudge(t,n){return[{role:"assistant",content:null,tool_calls:t.map(e=>({id:e.id,type:"function",function:{name:e.name,arguments:ot(e)}}))},...t.map(e=>({role:"tool",tool_call_id:e.id,content:n}))]},system:t=>({role:"system",content:t}),said:t=>({role:"assistant",content:t})}),Pt=Object.freeze({asked(t,n){return{role:"assistant",content:Array.isArray(t?.blocks)&&t.blocks.length?t.blocks.filter(o=>o&&(o.type==="tool_use"||o.type==="text"&&o.text)).map(o=>o.type==="tool_use"?{type:"tool_use",id:o.id,name:o.name,input:o.input??G(o.json)}:{type:"text",text:o.text}):[...t?.text?[{type:"text",text:String(t.text)}]:[],...n.map(o=>({type:"tool_use",id:o.id,name:o.name,input:o.input}))]}},answered(t){return[{role:"user",content:t.map(({call:n,result:e})=>{const o=X(e),s=e&&typeof e=="object"?e.image:null;if(!s)return{type:"tool_result",tool_use_id:n.id,content:o};const a=/^data:([^;]+);base64,(.+)$/s.exec(s),m=[];return a&&m.push({type:"image",source:{type:"base64",media_type:a[1],data:a[2]}}),m.push({type:"text",text:o}),{type:"tool_result",tool_use_id:n.id,content:m}})}]},nudge(t,n){return[{role:"assistant",content:t.map(e=>({type:"tool_use",id:e.id,name:e.name,input:e.input}))},{role:"user",content:t.map(e=>({type:"tool_result",tool_use_id:e.id,content:n}))}]},system:t=>({role:"user",content:t}),said:t=>({role:"assistant",content:t})});function Nt({tools:t,guard:n=null,policy:e=null,modelLabel:o=()=>null,maxCalls:s=0,onStep:a=null,steps:m=[],now:d=Date.now,shims:b=tt()}={}){n=n||K({shims:b}),e=e||Q({shims:b});let R=0,_=0;const A=d(),x=new Map,j=r=>{const u=W(r.name,r.input);return t?.traits?.get(u)||t?.traits?.get(r.name)||ct({name:u})},O=(r,u,l,c)=>{const k={phase:u,callId:r.id,name:r.name,action:W(r.name,r.input),input:r.input,text:wt(r.name,r.input),model:o(),...c};if(u==="start")x.set(r.id,k.at=Math.max(0,d()-A));else{const h=l&&typeof l=="object"?l.image:void 0,i=x.get(r.id)??Math.max(0,d()-A);Object.assign(k,{status:yt(l),result:xt(l),at:i,ms:Math.max(0,d()-A-i),...h?{image:h}:{}})}return k},D=(r,u)=>{try{a?.(O(r,"start",void 0,u))}catch{}},N=(r,u,l)=>{const c=O(r,"done",u,l);m.push(c);try{a?.(c)}catch{}},I=(r,u,l)=>{e.recordResult(W(r.name,r.input),l),!u.blocked&&!u.replayed&&ft(r.name,l,r.input)&&n.reset(u.key),u.replayed||n.remember(u.key,r.name,r.input,l,{readOnly:!!j(r)?.readOnly})},C=r=>(b.fire("loop.budget-spent",{tool:W(r.name,r.input),calls:R,maxCalls:s}),mt(r.name,z[Math.min(Math.max(0,R-s-1),z.length-1)],{budget:"spent",calls:R,maxCalls:s})),P=async(r,u,l)=>{if(R+=1,s>0&&R>s)return C(r);if(u.blocked||u.replayed)return u.result;if(typeof t?.execute!="function")return JSON.stringify({error:"no tools armed"});const c=W(r.name,r.input);return c!==r.name&&e.isSuppressed(c)?JSON.stringify({error:`${c} rejected its parameters earlier in this turn and is off for the rest of it.`,retry_hint:ht(c)}):t.execute(r.name,r.input,{callId:r.id,...l||{}})};return{guard:n,policy:e,steps:m,traitsOf:j,shims:b,get calls(){return R},get exhausted(){return s>0&&R>=s},async one(r,u=null){const l={id:r.id,name:r.name,input:r.input??G(r.arguments)};D(l);const c=n.check(l.name,l.input);let k;try{k=await P(l,c,u)}catch(h){k=JSON.stringify({error:String(h?.message||h)})}return I(l,c,k),N(l,k),k},async round(r){const u=r.map(i=>({id:i.id,name:i.name,input:i.input??G(i.arguments)})),l=u.map(i=>n.check(i.name,i.input)),c=_+=1,{results:k}=await lt(u,{execute:(i,y)=>P(i,l[y]),traitsOf:j,concurrent:(i,y)=>pt(t,i,y),onStart:(i,y,w)=>D(i,{round:c,batch:w}),onDone:(i,y,w,L)=>N(i,w,{round:c,batch:L})});k.forEach((i,y)=>I(u[y],l[y],i));const h=l.filter(i=>i.blocked).length;return n.noteRound(h,u.length,dt(u)),{calls:u,results:k,blocked:h}}}}async function Lt({model:t,messages:n,tools:e,signal:o,redaction:s,run:a,stream:m,transcript:d=Rt,maxRounds:b=q,maxFinishTries:R=kt,guard:_=null,policy:A=null,shims:x=null,modelLabel:j=()=>t||null,usageLabel:O=null,onDelta:D=null,onEvent:N=null,onStep:I=null,onMessage:C=null,onActivity:P=null}={}){if(typeof m!="function")throw new Error("runTurnLoop: stream required");x=x||tt({emit:N?(g,p)=>N({type:"shim",...p}):null,engine:O?.provider?{kind:"model",id:O.provider,model:O.model||t||void 0}:t?{kind:"model",id:t}:null}),_=_||K({shims:x}),A=A||Q({shims:x});const r=!!(e&&Array.isArray(e.specs)&&e.specs.length),u=r?e.specs:null,l=r?Math.max(1,Number(b)||q):1,c=[],k=Nt({tools:e,guard:_,policy:A,modelLabel:j,steps:c,shims:x,onStep:g=>{try{I?.(g)}catch{}try{N?.({type:"tool",...g})}catch{}}});let h=[...n||[]],i="",y=null,w=0,L=!1,E=0,J=!1;const U=g=>{for(const p of g){h=[...h,p];try{C?.(p)}catch{}}},v=g=>{try{N?.({type:"finish",reason:g})}catch{}},B=g=>{if(!N)return;const p=y&&y.reported?{...y,estimated:!1}:bt(h,g);try{N({type:"usage",provider:O?.provider||"unknown",model:O?.model||t||null,inputTokens:p.inputTokens,outputTokens:p.outputTokens,cacheReadTokens:p.cacheReadTokens,cacheWriteTokens:p.cacheWriteTokens,estimated:!!p.estimated,requests:w+1})}catch{}},Y=g=>({ok:!0,text:i,usage:y,rounds:w,steps:c,transcript:h,exhausted:J,aborted:!1,shims:x.summary(),...g}),F=(g,p={})=>{const M=String(g||"");return M.trim()&&U([d.said(M)]),Y(p)};for(;;){w+=1;const g=!r||w>=l||_.stalled||_.looping||E>0;r&&w<l&&E===0&&(_.stalled||_.looping)&&x.fire("loop.closing-early",{round:w,cap:l,stalled:!!_.stalled,looping:!!_.looping});const p=g?null:u.filter(f=>!A.isSuppressed(f?.name));let M="";const T=await m({model:t,messages:h,tools:p&&p.length?p:null,signal:o,onActivity:P,...s!==void 0?{redaction:s}:{},...a?{run:a}:{},onDelta:f=>{if(f){if(!M&&i){i+=V;try{D?.(V,i)}catch{}}M+=f,i+=f;try{D?.(f,i)}catch{}}}});T?.usage&&(y=St(y,T.usage)),T?.noVision&&(L=!0);const H=String(T?.text||"");if(H&&!M&&(i&&(i+=V),i+=H,M=H),!T?.ok)return v("error"),Y({ok:!1,error:T?.error||"the model did not answer",...T?.status?{status:T.status}:{},aborted:!!T?.aborted,transcript:H.trim()?[...h,d.said(i)]:h});if(T.aborted||o?.aborted)return v("aborted"),F(i,{aborted:!0});const $=(Array.isArray(T.toolCalls)?T.toolCalls:[]).filter(f=>f&&f.name).map(f=>({id:f.id,name:f.name,input:f.input??G(f.arguments),arguments:f.arguments}));if(!$.length)return v(T.finish||"stop"),B(i),F(i);if(!p||!p.length){if(E+=1,E>R)return v("tool-step-limit"),B(i),F(i,{exhausted:!0});J=J||w>=l,x.fire("loop.finish-nudge",{attempt:E,calls:$.length}),U(d.nudge($,z[Math.min(E-1,z.length-1)]));continue}U([d.asked(T,$)]);const{calls:it,results:at}=await k.round($);if(U(d.answered(it.map((f,ut)=>({call:f,result:at[ut]})),{noVision:L})),o?.aborted)return v("aborted"),F(i,{aborted:!0});_.looping&&(x.fire("loop.looping-nudge",{repeats:_.repeats}),U([d.system(Tt)])),w+1>=l&&(J=!0)}}export{kt as DEFAULT_MAX_FINISH_TRIES,q as DEFAULT_MAX_ROUNDS,Ut as EXHAUSTED_NOTE,z as FINISH_NUDGES,Tt as LOOPING_NUDGE,V as ROUND_SEPARATOR,Z as SMALL_WINDOW_ROUNDS,et as STEP_RESULT_MAX_CHARS,St as addUsage,Pt as anthropicTranscript,Nt as createCallRunner,wt as describeCall,vt as emptyTurnNote,st as estimateTokens,rt as normalizeUsage,Rt as openAiTranscript,X as resultText,$t as roundCap,Lt as runTurnLoop,xt as stepResultText,It as withToolSystem};
|