@chatpanel/events 0.107.0 → 0.108.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/index.js +1 -1
  2. package/package.json +1 -1
  3. package/sideline.js +17 -5
package/index.js CHANGED
@@ -1 +1 @@
1
- import{CURRENT_VERSION as o,EVENT_TYPES as t,ALL_TYPES as a,ACTOR_KINDS as i,SCOPE_KINDS as n,CLASSES as s,EFFECTS as S,EGRESS as E,EventError as l,validateEvent as T,isValidEvent as m,createAppender as c}from"./event.js";import{REF_KINDS as _,RESOLUTION as A,makeRef as R,isRef as d,resolveRef as f}from"./ref.js";import{linearize as I,compareEvents as N,causesAreWellFormed as u}from"./order.js";import{pendingQueue as g,isQueued as C,dequeue as L,moveQueued as P,promoteQueued as x}from"./queue.js";import{groupModels as F,filterSections as h,defaultModelId as y,modelSummary as k}from"./model-picker.js";import{NOTE_ACTIONS as b,NOTE_ACTION_ORDER as v,NOTE_ACTION_TEMPERATURE as G,NOTE_ACTION_ERRORS as K,NOTE_COMMANDS as B,NOTE_COMMAND_TEMPERATURE as H,NOTE_COMMAND_MAX_TOKENS as w,frameNoteAction as V,noteActionLabel as X,noteActionItems as W,filterNoteActions as J,commandLineAt as Y,triggerQueryAt as z}from"./note-actions.js";import{parseAgentMention as Q,agentMentionAt as q,parseSkillMention as Z,mergeSkillPrompt as $,findSkillByName as ee,findTargetByName as re,mentionAnswerPrefix as oe}from"./note-mentions.js";import{wikiQueryAt as ae,rankLinkTargets as ie}from"./note-links.js";import{SWARM_ROLES as se,roleById as Se,classifyModel as Ee,supportsSubagents as le,appoint as Te,routeTeam as me}from"./cowriter-router.js";import{SEARCH_ENGINES as pe,RESULTS_PER_ENGINE as _e,buildSearchUrl as Ae,unwrapRedirect as Re,isResultHost as de,pickResults as fe,mergeEngineResults as Oe,engineOrder as Ie}from"./web-search.js";import{MAX_GRAPH_NODES as ue,buildNoteGraph as Me,egoGraph as ge,trimGraph as Ce,graphStats as Le}from"./note-graph.js";import{lintText as xe,wordDiff as De,filterTypoEdits as Fe,editKey as he,applyEdits as ye,COWRITER_SYSTEM as ke,COWRITER_TEMPERATURE as Ue}from"./cowriter.js";import{salientTerms as ve,topicTerms as Ge,researchRelevance as Ke,webQuery as Be,researchSnippet as He,rankResearchCards as we,mergeResearchLanes as Ve}from"./note-research.js";import{PLAN_ROLES as We,PLAN_AUTHORS as Je,PLAN_DECOMPOSE_SYSTEM as Ye,PLAN_DECOMPOSE_MAX_TOKENS as ze,PLAN_DECOMPOSE_TEMPERATURE as je,PLAN_SECTION_MAX_TOKENS as Qe,PLAN_SECTION_TEMPERATURE as qe,planSectionSystem as Ze,parsePlanTasks as $e,planTitleFor as er,planParts as rr,planBody as or,planAttribution as tr}from"./note-plan.js";import{REACH as ir,reachRank as nr,reachSatisfies as sr}from"./reach.js";import{UPCASTERS as Er,upcast as lr,upcastAll as Tr}from"./upcast.js";import{validateCapability as cr,validateInvocation as pr,canSatisfy as _r,toModelSchema as Ar,toModelSchemas as Rr}from"./capability.js";import{checkInvariants as fr,INVARIANTS as Or}from"./invariants.js";import{createMemoryAdapter as Nr,createLogStore as ur,createBlobStore as Mr}from"./store.js";import{createRegistry as Cr,REGISTRY_STATES as Lr}from"./registry.js";import{defineSearchEngine as xr,reconcileEngines as Dr,attemptOrder as Fr,ENGINE_KINDS as hr,SearchEngineError as yr}from"./search-engines.js";import{getWeather as Ur,weatherUrl as br,parseWeather as vr,formatWeather as Gr,areaLabel as Kr,isAmbiguousLocation as Br,WEATHER_HOST as Hr,WEATHER_TIMEOUT_MS as wr,WeatherError as Vr}from"./weather.js";import{defineToolGroup as Wr,createToolGroupRegistry as Jr,ToolGroupError as Yr}from"./tool-groups.js";import{toolNeedFor as jr,grantsNeededFor as Qr}from"./tool-need.js";import{parseFlowchart as Zr,layoutFlowchart as $r,renderFlowchartSvg as eo}from"./flowchart.js";import{validateView as oo,validateViewInvocation as to,viewResult as ao}from"./view.js";import{validateWidget as no,validateWidgetMessage as so,effectiveGrants as So,widgetIcon as Eo,WIDGET_SURFACES as lo}from"./widget.js";import{fuseRRF as mo,planQueries as co,multiSearch as po}from"./rrf.js";import{SUBJECT_KINDS as Ao,DEFAULT_THRESHOLD as Ro,MAX_SUBJECTS as fo,MAX_SUBJECT_CHARS as Oo,normalizeSubject as Io,subjectKey as No,subjectTokens as uo,isSubjectCandidate as Mo,aliasMap as go,resolveSubjects as Co,earnsBrief as Lo,rankSubjects as Po,REDACTION_TOKEN_TYPES as xo,isRedactionToken as Do,SELF_LABELS as Fo,isSelfLabel as ho,stripQualifiers as yo,suggestMerges as ko}from"./entity.js";import{BRIEF_STATES as bo,CLAIM_KINDS as vo,MAX_CLAIMS as Go,MAX_CLAIM_REFS as Ko,MAX_BRIEF_RECORDS as Bo,MAX_BRIEF_CHARS as Ho,contentHash as wo,briefId as Vo,briefToText as Xo,briefTerms as Wo,briefLinks as Jo,checkKnowledgeInvariants as Yo,parseBriefText as zo}from"./knowledge.js";import{deriveBrief as Qo,deriveBriefs as qo,driftedRefs as Zo}from"./knowledge-derive.js";import{SYNTHESIS_SCHEMA as et,synthesisPrompt as rt,claimsFromSynthesis as ot,MAX_SYNTHESIS_CLAIMS as tt,MAX_EXCERPTS as at,MAX_EXCERPT_CHARS as it}from"./synthesis.js";import{PROPOSAL_STATES as st,SUPERSEDE_OVERLAP as St,propose as Et,accept as lt,reject as Tt,diffProposal as mt,converge as ct,linkClaims as pt}from"./promotion.js";import{normalizeRecord as At,normalizeRecords as Rt,wikilinksIn as dt,redactedTokensIn as ft,redactionCost as Ot,wantedPages as It,orphanRecords as Nt,duplicateTitles as ut,vocabularyDrift as Mt,mentionsFrom as gt,spanningQuestions as Ct,surveyCorpus as Lt,thresholdSweep as Pt,formatSurvey as xt,NEAR_TITLE_DISTANCE as Dt,SPAN_MIN_TERMS as Ft}from"./curate.js";import{PDF_MAX_CHARS as yt,linesFromItems as kt,orderLines as Ut,paragraphsFromLines as bt,pageTextFromItems as vt,looksScanned as Gt,buildPdfDocument as Kt}from"./pdf-layout.js";import{YOUTUBE_HOSTS as Ht,TRANSCRIPT_MAX_CHARS as wt,parseYouTubeUrl as Vt,isYouTubeUrl as Xt,captionTracksFromPlayerResponse as Wt,videoMetaFromPlayerResponse as Jt,pickCaptionTrack as Yt,timedTextUrl as zt,parseTimedText as jt,groupSegments as Qt,formatTimestamp as qt,formatTranscript as Zt,buildTranscriptDocument as $t,transcriptFromTracks as ea}from"./media-transcript.js";import{ACCESS_LOG_VERSION as oa,ACCESS_LOG_MAX as ta,redactAccessArgs as aa,makeAccessEvent as ia,createAccessLog as na,makeStorageTier as sa,formatBytes as Sa}from"./observability.js";import{routeGraph as la,projectChain as Ta}from"./route-graph.js";import{defineAdapter as ca,createAdapterRegistry as pa,AdapterError as _a}from"./adapters.js";import{linkifyCitations as Ra,sourcesFromToolText as da,createCitationCollector as fa,RETRIEVAL_TOOLS as Oa}from"./citations.js";import{buildTrajectory as Na,phasesOf as ua,lanesOf as Ma,filterEntries as ga,displayName as Ca,ENTRY_KINDS as La,threadsOf as Pa,threadTitle as xa,promptEntries as Da,turnsOf as Fa,threadTree as ha}from"./trajectory.js";import{createTurnRunner as ka,defineLoop as Ua,LOOP_KINDS as ba,LoopError as va}from"./loop.js";import{defineModel as Ka,defineMiddleware as Ba,defineRouteStrategy as Ha,createModelRouter as wa,signalsFrom as Va,requirementsFor as Xa,requirementsForStep as Wa,preferenceFor as Ja,failoverOrder as Ya,pinnedOrderOf as za,FAILOVER_CLASS_GAP as ja,FAILOVER_CAPABILITY_GAP as Qa,sameModelKey as qa,RouterError as Za}from"./router.js";import{makeSourceStore as ei,manifestText as ri,shortUrl as oi,readSource as ti,sourceId as ai}from"./sources-retrieval.js";import{classifySource as ni,extractUrls as si,hostMatches as Si,meetReach as Ei,sourcePolicyFor as li,sourceUrlsOf as Ti,DEFAULT_INTERNAL_PATTERNS as mi,INTERNAL_PATTERN_CATALOG as ci}from"./sources.js";import{defineRule as _i,createRuleEngine as Ai,SUPPRESSED as Ri,RuleError as di}from"./rules.js";import{VAULT_VERSION as Oi,KDF_ITERATIONS as Ii,KDF_HASH as Ni,DEFAULT_LOCK_MS as ui,VaultError as Mi,MAX_TITLE_CHARS as gi,MAX_NOTE_CHARS as Ci,MAX_SECRET_CHARS as Li,MAX_ENTRIES as Pi,createVault as xi,unlockVault as Di,deriveKey as Fi,sealEntry as hi,openEntry as yi,validateEntry as ki,entryMeta as Ui,searchEntries as bi,isLocked as vi,lockedSummary as Gi,canAddEntry as Ki,toB64 as Bi,fromB64 as Hi}from"./vault.js";import{SCHEDULE_KINDS as Vi,TRIGGER_KINDS as Xi,JOB_ACTIONS as Wi,MISSED_POLICIES as Ji,ScheduleError as Yi,validateSchedule as zi,nextFireAt as ji,occurrencesBetween as Qi,nextWakeAt as qi,defineTrigger as Zi,createTriggerRegistry as $i,BUILTIN_TRIGGERS as en,timerTrigger as rn,meetingStartedTrigger as on,meetingEndedTrigger as tn,personJoinedTrigger as an,phraseTrigger as nn,topicTrigger as sn,questionTrigger as Sn,voiceCommandTrigger as En,defineJob as ln,dueJobs as Tn,jobsForEvent as mn,occurrenceKey as cn,clipText as pn,matchSummary as _n}from"./schedule.js";import{defineMeetingAnalyzer as Rn,createAnalyzerRegistry as dn,CADENCES as fn,AnalyzerError as On}from"./meeting-analyzers.js";import{DEFAULT_WAKE as Nn,MAX_COMMANDS_PER_DELTA as un,DAYPART_HOUR as Mn,VoiceIntentError as gn,compileWake as Cn,findWakeCommand as Ln,parseCommand as Pn,commandsFromSegments as xn,parseDuration as Dn,parseClock as Fn,parseWhen as hn,parseNumberWords as yn,normalizeSpeech as kn,tokenize as Un,editDistance as bn,defineVoiceIntent as vn,createVoiceIntentRegistry as Gn,defaultVoiceIntents as Kn,BUILTIN_VOICE_INTENTS as Bn,timerIntent as Hn,reminderIntent as wn,scheduleIntent as Vn,noteIntent as Xn,monitorIntent as Wn,REFINEMENT_SCHEMA as Jn,refinementPrompt as Yn,refinementFormat as zn,parseRefinement as jn,refinementStream as Qn,settleRefinement as qn,refineSpokenCommand as Zn,isFillerSentence as $n,gistText as es,gistOpening as rs,commandLooksFinished as os,sameUtterance as ts,createUtteranceGate as as,UTTERANCE_SETTLE_MS as is,UTTERANCE_DANGLING_MS as ns}from"./voice-intents.js";import{MAX_TOPICS as Ss,MAX_TOPIC_CHARS as Es,TOPICS_SCHEMA as ls,topicsSchema as Ts,topicsPrompt as ms,topicsFormat as cs,parseTopics as ps,normalizeTopic as _s,normalizeTopics as As,topicsStream as Rs,ENTITY_TYPES as ds,ENTITIES_SCHEMA as fs,entitiesPrompt as Os,entitiesFormat as Is,parseEntities as Ns,coerceEntities as us,entitiesStream as Ms,MAX_SUGGESTIONS as gs,MAX_SUGGESTION_CHARS as Cs,SUGGESTIONS_SCHEMA as Ls,suggestionsPrompt as Ps,suggestionsFormat as xs,parseSuggestions as Ds,suggestionsStream as Fs}from"./extraction.js";import{FIELD_TYPES as ys,RESPONSE_MODES as ks,StructuredError as Us,defineSchema as bs,describeSchema as vs,toJsonSchema as Gs,responseFormat as Ks,unfence as Bs,findJson as Hs,rewriteJson as ws,repairJson as Vs,isNothing as Xs,coerce as Ws,parseStructured as Js,createStructuredStream as Ys}from"./structured.js";import{explainMcpError as js,packageFromArgs as Qs,isStaleMcpSession as qs}from"./mcp-errors.js";import{toolTraits as $s,bareToolName as eS,canRunConcurrently as rS,isCacheable as oS,needsConfirmation as tS,traitsIndex as aS,effectiveToolName as iS,parallelEligible as nS,PARALLEL_LOCAL_RE as sS}from"./tool-traits.js";import{planToolRound as ES,runToolRound as lS}from"./tool-round.js";import{createToolLoopGuard as mS,roundSignature as cS,stableToolCallKey as pS,toolMadeProgress as _S,isLoopableTool as AS,blockedToolResult as RS,OBSERVATION_TOOLS as dS,INPUT_PROGRESS_TOOLS as fS}from"./tool-loop-guard.js";import{classifyFailure as IS,createModelHealth as NS,COOLDOWN_MS as uS,UNAVAILABLE_REASONS as MS,normModelName as gS}from"./model-health.js";import{runWithFailover as LS,failoverExhausted as PS,FAILOVER_MAX_ATTEMPTS as xS}from"./failover.js";import{sourcePolicySettings as FS,sourceGuardFor as hS,sourceGate as yS,isSourceGateError as kS,withinReach as US}from"./source-gate.js";import{runTurnLoop as vS,createCallRunner as GS,roundCap as KS,withToolSystem as BS,describeCall as HS,stepResultText as wS,addUsage as VS,normalizeUsage as XS,openAiTranscript as WS,anthropicTranscript as JS,DEFAULT_MAX_ROUNDS as YS,DEFAULT_MAX_FINISH_TRIES as zS,FINISH_NUDGES as jS,LOOPING_NUDGE as QS,EXHAUSTED_NOTE as qS,ROUND_SEPARATOR as ZS}from"./turn-loop.js";import{createResultStore as eE,shieldToolResult as rE,runResultQuery as oE,withResultShield as tE,describeShape as aE,compactValue as iE,resultToolSpec as nE,RESULT_TOOL_NAME as sE,DEFAULT_SHIELD as SE,DEFAULT_STORE as EE}from"./tool-result.js";import{findTools as TE,findToolsResult as mE,findActionArgs as cE,oneLiner as pE,overlapRank as _E,FIND_ACTION as AE}from"./tool-discovery.js";import{buildToolset as dE}from"./toolset.js";import{DESCRIBE_ACTION as OE,actionMenu as IE,buildGroupDispatchSpec as NE,validateAction as uE,makeGroupDispatchExecutor as ME,withGuidance as gE,makeDispatchProvider as CE,estimateTokens as LE}from"./tool-dispatch.js";import{FIND_TOOL_NAME as xE,FIND_DESCRIPTION as DE,FIND_RESIDENT as FE,findDispatchProvider as hE}from"./find-tool.js";import{WEB_SEARCH_TOOL_NAME as kE,WEB_SEARCH_TOOL_SYSTEM as UE,WEB_SEARCH_SPEC as bE,searchResultsToText as vE,webSearchToolProvider as GE}from"./web-search-tool.js";import{compressToolSpec as BE,compressToolSpecs as HE,compressionStats as wE,trimDescription as VE,COMPRESSION_MODES as XE,DEFAULT_COMPRESSION as WE}from"./tool-schema.js";import{validateRecipe as YE,expandRecipe as zE,recipeParams as jE,mapInput as QE,dryRunRecipe as qE,runPlan as ZE,runRecipe as $E,RecipeError as el,RECIPE_MODES as rl}from"./recipe.js";import{recipeToolProvider as tl,recipeToolSpec as al,describeRecipeForApproval as il,RECIPE_TOOL_NAME as nl}from"./recipe-tool.js";import{createBudget as Sl,validateBudget as El,normalizeBudget as ll,usageOf as Tl,BudgetError as ml,BUDGET_DIMENSIONS as cl}from"./budget.js";import{defineTeam as _l,validateTeam as Al,normalizeTeam as Rl,normalizeGrants as dl,grantAllows as fl,scmAllows as Ol,describeRole as Il,TeamError as Nl,ROLE_MODES as ul,MERGE_POLICIES as Ml,PLAN_MODES as gl,GRANTABLE as Cl,WORK_GRANTS as Ll,GRANT_RE as Pl,AGENT_REF_RE as xl,STARTER_TEAMS as Dl,starterTeams as Fl,blankTeam as hl,teamFromForm as yl,slugTeamName as kl}from"./team.js";import{fixedPlan as bl,parsePlan as vl,plannerPrompt as Gl,waves as Kl,breakCycles as Bl,TEAM_PLAN_SCHEMA as Hl}from"./team-plan.js";import{createBoard as Vl,parseFindings as Xl,boardText as Wl,findingsInstruction as Jl,toBriefClaims as Yl,FINDINGS_SCHEMA as zl,FINDING_KINDS as jl,THREAD_KINDS as Ql,THREAD_STATUSES as ql,POST_KINDS as Zl,POST_STATUSES as $l,ASK_TYPES as eT,emptyBoardState as rT,foldBoard as oT,findingsOf as tT}from"./team-board.js";import{boardToolProvider as iT,boardToolSpec as nT,createAnswerBox as sT,withBoardTool as ST,BOARD_TOOL_NAME as ET,DEFAULT_ASK_TIMEOUT_MS as lT}from"./board-tool.js";import{createRunCache as mT,withRunCache as cT}from"./team-cache.js";import{emptyRun as _T,foldRun as AT,runFromEvents as RT,checkpointFrom as dT,isResumable as fT,LIVE_RUN_STATUSES as OT,RESUMABLE_RUN_STATUSES as IT,spendOf as NT,describeSpend as uT,runState as MT,priorWorkFor as gT,STALLED_AFTER_MS as CT}from"./team-record.js";import{validateProject as PT,normalizeProject as xT,defineProject as DT,canTransition as FT,blankProject as hT,projectFromForm as yT,emptyProjectRecord as kT,foldProject as UT,projectProgress as bT,ProjectError as vT,PROJECT_STATUSES as GT,PROJECT_ID_RE as KT}from"./project.js";import{validateJob as HT,normalizeJob as wT,defineJob as VT,canTransition as XT,applyAll as WT,jobToRole as JT,readyJobs as YT,blankJob as zT,jobFromForm as jT,JobError as QT,JOB_STATUSES as qT,JOB_ID_RE as ZT}from"./job.js";import{validateGate as em,normalizeGate as rm,effectiveGate as om,gateAllows as tm,DEFAULT_GATE as am,AUTONOMY as im,HUMAN_FLAGS as nm,CHECKS as sm}from"./gate.js";import{runProject as Em,roundJobs as lm,teamForRound as Tm,jobResults as mm,roundBudget as cm,parseJobs as pm,parseReview as _m,jobsPrompt as Am,reviewPrompt as Rm,PROJECT_JOBS_SCHEMA as dm,PROJECT_REVIEW_SCHEMA as fm,ProjectRunError as Om,EXECUTIVE as Im,MAX_JOBS_PER_ROUND as Nm,MAX_ROUNDS as um,PROJECT_RUN_STATUSES as Mm}from"./project-run.js";import{canonical as Cm,sha256 as Lm,makeEntry as Pm,verifyChain as xm,attest as Dm,verifyAttested as Fm,summarize as hm,fit as ym,adjustSummary as km,normalizeEngine as Um,engineKey as bm,normalizeScm as vm,SCORECARD_ENTRY_KINDS as Gm,ROLE_KINDS as Km,SCORECARD_VERSION as Bm,ENGINE_KINDS as Hm}from"./scorecard.js";import{ENGINE_KINDS as Vm,ROUTE_PREFERS as Xm,normalizePolicy as Wm,normalizeEngineSpec as Jm,validateEngineSpec as Ym,engineRef as zm,engineKeyOf as jm,describeEngine as Qm,tierOf as qm}from"./engine.js";import{AGENT_ID_RE as $m,APPLIES_TO as ec,EGRESS_CLASSES as rc,ASSISTANT_ID as oc,AgentError as tc,validateAgent as ac,normalizeAgent as ic,defineAgent as nc,assistantAgent as sc,engineOf as Sc,describeAgent as Ec,slugAgentId as lc,resolveTeam as Tc,STARTER_AGENTS as mc,starterAgents as cc,blankAgent as pc,agentFromForm as _c,poolFor as Ac}from"./agent.js";import{LEDGER_VERSION as dc,LEDGER_ENTRY_KINDS as fc,DECLINE_REASONS as Oc,WITHDRAW_AFTER as Ic,ledgerKey as Nc,normalizeCall as uc,makeLedgerEntry as Mc,summarizeEngine as gc}from"./model-ledger.js";import{RECRUIT_SCHEMA as Lc,MIN_FIT as Pc,engineRow as xc,engineRows as Dc,needForJob as Fc,routeFor as hc,engineWorth as yc,applications as kc,evaluatorPrompt as Uc,parseEvaluation as bc,decide as vc,recruitForRun as Gc,proposalFromNeeds as Kc,proposalToAgent as Bc,carveBudget as Hc,recruitEvents as wc,recruitJob as Vc}from"./recruit.js";import{DEFAULT_MIN_CALLS as Wc,cardOverride as Jc,applyCard as Yc}from"./model-candidates.js";import{SCM_KINDS as jc,validateConnection as Qc,normalizeConnection as qc,parseRemote as Zc,connectionFor as $c,branchFor as ep,worktreeDirFor as rp,credentialEnv as op,describeConnection as tp,blankConnection as ap,connectionFromForm as ip}from"./scm-connection.js";import{messagesFor as sp,mergeTranscript as Sp,clipTranscript as Ep,clipMessage as lp,newSteps as Tp,continuationNote as mp,createControl as cp,STEP_MAX_CHARS as pp,TASK_TRANSCRIPT_MAX_CHARS as _p}from"./team-task.js";import{runTeam as Rp,resumeTeam as dp,dryRunTeam as fp,isModelUnavailable as Op,TeamRunError as Ip,RUN_STATUSES as Np}from"./team-run.js";import{teamToolProvider as Mp,teamToolSpec as gp,teamToolTimeoutMs as Cp,describeTeamForApproval as Lp,TEAM_TOOL_NAME as Pp}from"./team-tool.js";import{workLogFor as Dp,workLogText as Fp,workLogEvidence as hp,describeCall as yp,WORKLOG_KINDS as kp}from"./team-worklog.js";import{normalizeRequest as bp,subtaskFromRequest as vp,takeUp as Gp,takeUpLine as Kp,holdsGrants as Bp,jobFromSubtask as Hp,extendDependents as wp,taskTree as Vp,threadRows as Xp,MAX_SUBTASKS as Wp,MAX_DEPTH as Jp,MIN_TAKEUP_FIT as Yp}from"./team-subtask.js";import{teamLine as jp,teamLanes as Qp}from"./team-trail.js";import{promoteRoles as Zp,starterTeam as $p,missingStarters as e_,teamHealth as r_,teamShape as o_,describeTeamShape as t_,whereItWorks as a_,rosterRows as i_,agentKind as n_,agentHue as s_,agentColor as S_,agentInitials as E_,roleCardId as l_,cardNumbers as T_,upsertAgents as m_,soloTeam as c_,teamsWithSolos as p_,builtinOrg as __,isBuiltin as A_,grantChoices as R_,grantsFromChoices as d_,skillChoices as f_,GRANT_INFO as O_,SOLO_BUDGET as I_,TEAM_SHAPES as N_,ROSTER_KINDS as u_}from"./team-org.js";import{observeInbox as g_,observeStrip as C_,runLanes as L_,spendRows as P_,engineStrip as x_}from"./team-observe.js";import{mcpDispatchProvider as F_,MCP_TOOL_NAME as h_}from"./mcp-dispatch.js";import{createManifest as k_,ManifestError as U_,SOURCES as b_}from"./manifest.js";import{createKernel as G_,meetDecisions as K_,KernelError as B_,REQUIRED_PLUGINS as H_,ALLOW_ALL as w_}from"./kernel.js";import{replay as X_,formatReport as W_,parseJsonl as J_,toJsonl as Y_}from"./harness.js";import{compileQuery as j_,findMatches as Q_,matchIndexFor as q_,expandReplacement as Z_,replaceMatch as $_,replaceAll as eA,replaceAllInRange as rA,MAX_MATCHES as oA}from"./text-search.js";import{DATA_SCOPES as aA}from"./scopes.js";import{MEMORY_VERSION as nA,MEMORY_KINDS as sA,MEMORY_KIND_NAMES as SA,AMBIENT_KINDS as EA,MAX_MEMORY_CHARS as lA,MIN_MEMORY_CHARS as TA,DEFAULT_MAX_MEMORIES as mA,DEFAULT_BLOCK_CHARS as cA,SAME_FACT as pA,MEMORY_TOOL_SPEC as _A,MEMORY_UPCASTERS as AA,MemoryError as RA,normalizeMemory as dA,isValidMemory as fA,memoryKey as OA,slotOf as IA,similarity as NA,containment as uA,candidatesFrom as MA,reconcile as gA,matchForForget as CA,recall as LA,memoryBlock as PA,markUsed as xA,pruneMemories as DA,memoryToolSystem as FA,upcastMemory as hA}from"./memory.js";import{SOURCE_TRUST as kA,SkillSourceError as UA,defineSkillSource as bA,createSkillSourceRegistry as vA}from"./skill-sources.js";import{SKILL_MANIFEST_VERSION as KA,SKILL_CONTEXTS as BA,SKILL_HISTORY_SCOPES as HA,SKILL_MCP_MODES as wA,SKILL_TRUST as VA,SKILL_FILE_KINDS as XA,SKILL_UPCASTERS as WA,SkillManifestError as JA,isSafeSkillPath as YA,originOf as zA,trustOf as jA,skillFiles as QA,needsBridge as qA,declaredAccess as ZA,originLabel as $A,sameSkillOrigin as eR,skillIsStale as rR,validateSkill as oR,upcastSkill as tR,upcastSkills as aR,normalizeSkill as iR}from"./skill-manifest.js";import{SKILL_VARS as sR,SKILL_VAR_NAMES as SR,skillVar as ER,skillVarPattern as lR,parseSkillVars as TR,lintSkillPrompt as mR,suggestSkillVar as cR,substituteSkillVars as pR,expandSkillPrompt as _R,skillVarGuidance as AR,SkillVarError as RR}from"./skill-vars.js";import{lineAt as fR,writerAffordance as OR,INSTRUCTION_RE as IR,instructionOnLine as NR,GOAL_MIN_NEW as uR,goalDraftAllowed as MR,createSpendMeter as gR,writerTail as CR,draftSeparator as LR,groundingBlock as PR,writerRequest as xR,AUTOCOMPLETE_SYSTEM as DR,AUTOCOMPLETE_MAX_TOKENS as FR,AUTOCOMPLETE_TEMPERATURE as hR,clipCompletion as yR,GEARS as kR,WRITER_PREFS as UR,WRITER_PREF_DEFAULTS as bR,normalizeWriterPrefs as vR,normalizeIntent as GR}from"./cowriter-writer.js";import{SLASH_TYPING_RE as BR,enabledSkills as HR,slashCommandItems as wR,matchSlashSkill as VR,matchSlashRecipe as XR,recipeInvocationText as WR,matchSlashTeam as JR,teamInvocationText as YR,slashCommandInsert as zR,skillInvocationOf as jR,skillInvocationLabel as QR}from"./slash-commands.js";import{outlineOf as ZR,parseListItem as $R,continueList as ed,indentSelection as rd,toggleWrap as od,toggleLinePrefix as td,toggleTask as ad,toggleLink as id,docStats as nd,selectionStats as sd}from"./markdown-authoring.js";import{MAX_TAG_LENGTH as Ed,MAX_TAGS as ld,normalizeTag as Td,normalizeTags as md,hasTag as cd,addTag as pd,removeTag as _d,toggleTag as Ad,sameTags as Rd,formatTag as dd,parseTagQuery as fd,hasTagTerms as Od,formatTagQuery as Id,matchesTagFilter as Nd,filterByTags as ud,tagFacets as Md,suggestExistingTags as gd,tagsSearchText as Cd}from"./tags.js";import{UNTITLED_MEETING as Pd,MAX_TITLE_LENGTH as xd,TITLE_RULES_VERSION as Dd,cleanTitle as Fd,isGenericTitle as hd,titleFromSummary as yd,titleFromTopics as kd,titleFromParticipants as Ud,titleFromDate as bd,deriveMeetingTitle as vd,shouldAutoTitle as Gd,isBetterTitleSource as Kd,meetingTitlePrompt as Bd,parseTitleResponse as Hd}from"./titles.js";import{RECORD_KINDS as Vd,MAX_TITLE_LEN as Xd,LibraryError as Wd,parseRecordId as Jd,makeRecordId as Yd,isRecordId as zd,normalizeStoredRecord as jd,isValidStoredRecord as Qd,toSearchRecord as qd,searchTextFor as Zd,toIndexEntry as $d,deriveTitle as ef,snippetOf as rf,wordCount as of}from"./library.js";import{CLOCK_TOLERANCE_MS as af,SyncError as nf,stampOf as sf,decide as Sf,planSync as Ef,isSettled as lf,forkConflict as Tf,advanceBases as mf}from"./sync-plan.js";import{ENCRYPTED_TYPE as pf,COMPRESSIONS as _f,BackupError as Af,KDF_ITERATIONS as Rf,encryptBackup as df,decryptBackup as ff,isEncryptedBackup as Of,identityCodec as If,streamCodec as Nf,nodeCodec as uf,bestCodec as Mf}from"./backup-envelope.js";import{OMNI_MODES as Cf,OMNI_GRAMMAR as Lf,parseOmni as Pf,extractFilters as xf,resolveSince as Df,wantsModel as Ff,isActionable as hf}from"./omni.js";import{THEMES as kf,LIGHT as Uf,DARK as bf,PALETTES as vf,SHAPE as Gf,TOKEN_NAMES as Kf,TOKEN_ROLES as Bf,paletteFor as Hf,cssVarName as wf,toCssVars as Vf,themeStylesheet as Xf,resolveTheme as Wf}from"./theme.js";import{PLANS as Yf,API_BASE as zf,ENDPOINTS as jf,ENTITLEMENT_PUBLIC_JWK as Qf,UPGRADE_URL as qf,FEATURE_TIER as Zf,PRO_FEATURES as $f,TEAM_FEATURES as eO,FREE_LIMITS as rO,COUNTED as oO,freeCap as tO,observeSince as aO,RECHECK_INTERVAL_MS as iO,EntitlementError as nO,checkoutUrl as sO,planOf as SO,planLabel as EO,isPro as lO,isTeam as TO,can as mO,tierFor as cO,withinFreeLimit as pO,verifyEntitlement as _O,verifySignedToken as AO,licenseFromPayload as RO,needsRecheck as dO}from"./entitlement.js";import{renderMarkdown as OO,defaultLinkPolicy as IO}from"./markdown-render.js";import{parseMeetingText as uO,speakerStats as MO,densityRibbon as gO}from"./meeting-text.js";import{speakerBreakdown as LO,speakerTimeline as PO,formatTalkTime as xO,SPEAKER_SLOTS as DO}from"./meeting-shape.js";import{isSpeakerImageValue as hO,speakerLabeller as yO}from"./meeting-shape.js";import{SORT_MODES as UO,SORT_LABELS as bO,sortStamp as vO,sortRecords as GO,filterRecords as KO,dayBucket as BO,rowTime as HO,groupRecords as wO}from"./record-list.js";import{INSIGHT_KINDS as XO,summarySections as WO,insightKindOf as JO,meetingInsights as YO,hasInsights as zO}from"./meeting-insights.js";import{demd as QO,NOTE_SECTIONS as qO,noteSectionKind as ZO,MOMENT_BADGES as $O,momentBadge as eI,parseMeetingNotes as rI,groupActionsByOwner as oI}from"./meeting-insights.js";import{PREF_SECTIONS as aI,PREF_SECTION_IDS as iI,sectionValue as nI,pickSections as sI,applySections as SI,sectionHash as EI,mergeStamped as lI,changedSections as TI}from"./client-prefs.js";import{McpClient as cI,mcpProvider as pI}from"./mcp-client.js";import{mcpSharedSystem as AI,mcpInventorySystem as RI,sourceCitationSystem as dI,combineSystemPrompt as fI,toolStatus as OI,widgetAuthoringSystem as II,vaultWidgetSystem as NI,wantsVaultGuidance as uI}from"./tool-hints.js";import{adaptiveToolRetryHint as gI,createAdaptiveToolPolicy as CI,isInvalidToolParametersResult as LI}from"./adaptive-tool-policy.js";import{getMcpProviders as xI,testMcpServer as DI,resetMcp as FI,mcpBackoff as hI}from"./mcp-manager.js";import{SIDELINE_COMMANDS as kI,BRINGBACK_COMMAND as UI,THREAD_TOOL_NAME as bI,SIDELINE_SLASH_ITEMS as vI,THREAD_TOOL_SPEC as GI,parseSideline as KI,parseBringBack as BI,resolveSidelineTarget as HI,threadManifest as wI,threadToolProvider as VI,readThread as XI,briefPrompt as WI,foldBackNote as JI,foldNotes as YI,nextSidelineIndex as zI}from"./sideline.js";import{WEATHER_TOOL_NAME as QI,WEATHER_TOOL_SYSTEM as qI,weatherToolProvider as ZI}from"./weather-tool.js";import{renderContent as eN,toChatMessages as rN,toMultimodalMessages as oN,imageAttachmentsOf as tN,deferAttachedSources as aN,withSourceTool as iN,SOURCE_TOOL_SPEC as nN}from"./context-attachments.js";import{PolicyError as SN,POLICY_VERSION as EN,POLICY_TOKEN_TYPE as lN,REDACTION_TIERS as TN,LOCKABLE as mN,FEATURES as cN,PERMISSION_MODES as pN,PRODUCT_HOSTS as _N,normalizeOrgPolicy as AN,endpointAllowed as RN,modelAllowed as dN,agentAllowed as fN,permissionMode as ON,routeAllowed as IN,redactionTier as NN,egressAllowed as uN,settingLocked as MN,featureEnabled as gN,applyPolicyToSettings as CN,policyLabel as LN,policyHash as PN,verifyPolicyToken as xN,globToRegExp as DN}from"./policy.js";export{ta as ACCESS_LOG_MAX,oa as ACCESS_LOG_VERSION,i as ACTOR_KINDS,$m as AGENT_ID_RE,xl as AGENT_REF_RE,w_ as ALLOW_ALL,a as ALL_TYPES,EA as AMBIENT_KINDS,zf as API_BASE,ec as APPLIES_TO,eT as ASK_TYPES,oc as ASSISTANT_ID,FR as AUTOCOMPLETE_MAX_TOKENS,DR as AUTOCOMPLETE_SYSTEM,hR as AUTOCOMPLETE_TEMPERATURE,im as AUTONOMY,_a as AdapterError,tc as AgentError,On as AnalyzerError,Rf as BACKUP_KDF_ITERATIONS,ET as BOARD_TOOL_NAME,bo as BRIEF_STATES,UI as BRINGBACK_COMMAND,cl as BUDGET_DIMENSIONS,en as BUILTIN_TRIGGERS,Bn as BUILTIN_VOICE_INTENTS,Af as BackupError,ml as BudgetError,fn as CADENCES,sm as CHECKS,vo as CLAIM_KINDS,s as CLASSES,af as CLOCK_TOLERANCE_MS,_f as COMPRESSIONS,XE as COMPRESSION_MODES,uS as COOLDOWN_MS,oO as COUNTED,ke as COWRITER_SYSTEM,Ue as COWRITER_TEMPERATURE,o as CURRENT_VERSION,bf as DARK,aA as DATA_SCOPES,Mn as DAYPART_HOUR,Oc as DECLINE_REASONS,lT as DEFAULT_ASK_TIMEOUT_MS,cA as DEFAULT_BLOCK_CHARS,WE as DEFAULT_COMPRESSION,am as DEFAULT_GATE,mi as DEFAULT_INTERNAL_PATTERNS,ui as DEFAULT_LOCK_MS,zS as DEFAULT_MAX_FINISH_TRIES,mA as DEFAULT_MAX_MEMORIES,YS as DEFAULT_MAX_ROUNDS,Wc as DEFAULT_MIN_CALLS,SE as DEFAULT_SHIELD,EE as DEFAULT_STORE,Ro as DEFAULT_THRESHOLD,Nn as DEFAULT_WAKE,OE as DESCRIBE_ACTION,S as EFFECTS,E as EGRESS,rc as EGRESS_CLASSES,pf as ENCRYPTED_TYPE,jf as ENDPOINTS,hr as ENGINE_KINDS,Vm as ENGINE_SPEC_KINDS,fs as ENTITIES_SCHEMA,Qf as ENTITLEMENT_PUBLIC_JWK,ds as ENTITY_TYPES,La as ENTRY_KINDS,t as EVENT_TYPES,Im as EXECUTIVE,qS as EXHAUSTED_NOTE,nO as EntitlementError,l as EventError,Qa as FAILOVER_CAPABILITY_GAP,ja as FAILOVER_CLASS_GAP,xS as FAILOVER_MAX_ATTEMPTS,cN as FEATURES,Zf as FEATURE_TIER,ys as FIELD_TYPES,zl as FINDINGS_SCHEMA,jl as FINDING_KINDS,AE as FIND_ACTION,DE as FIND_DESCRIPTION,FE as FIND_RESIDENT,xE as FIND_TOOL_NAME,jS as FINISH_NUDGES,rO as FREE_LIMITS,kR as GEARS,uR as GOAL_MIN_NEW,Cl as GRANTABLE,O_ as GRANT_INFO,Pl as GRANT_RE,nm as HUMAN_FLAGS,fS as INPUT_PROGRESS_TOOLS,XO as INSIGHT_KINDS,IR as INSTRUCTION_RE,ci as INTERNAL_PATTERN_CATALOG,Or as INVARIANTS,Wi as JOB_ACTIONS,ZT as JOB_POST_ID_RE,qT as JOB_POST_STATUSES,QT as JobPostError,Ni as KDF_HASH,Ii as KDF_ITERATIONS,B_ as KernelError,fc as LEDGER_ENTRY_KINDS,dc as LEDGER_VERSION,Uf as LIGHT,OT as LIVE_RUN_STATUSES,mN as LOCKABLE,QS as LOOPING_NUDGE,ba as LOOP_KINDS,Wd as LibraryError,va as LoopError,Ho as MAX_BRIEF_CHARS,Bo as MAX_BRIEF_RECORDS,Go as MAX_CLAIMS,Ko as MAX_CLAIM_REFS,un as MAX_COMMANDS_PER_DELTA,Jp as MAX_DEPTH,Pi as MAX_ENTRIES,at as MAX_EXCERPTS,it as MAX_EXCERPT_CHARS,ue as MAX_GRAPH_NODES,Nm as MAX_JOBS_PER_ROUND,oA as MAX_MATCHES,lA as MAX_MEMORY_CHARS,Ci as MAX_NOTE_CHARS,um as MAX_ROUNDS,Li as MAX_SECRET_CHARS,fo as MAX_SUBJECTS,Oo as MAX_SUBJECT_CHARS,Wp as MAX_SUBTASKS,gs as MAX_SUGGESTIONS,Cs as MAX_SUGGESTION_CHARS,tt as MAX_SYNTHESIS_CLAIMS,ld as MAX_TAGS,Ed as MAX_TAG_LENGTH,gi as MAX_TITLE_CHARS,Xd as MAX_TITLE_LEN,xd as MAX_TITLE_LENGTH,Ss as MAX_TOPICS,Es as MAX_TOPIC_CHARS,h_ as MCP_TOOL_NAME,sA as MEMORY_KINDS,SA as MEMORY_KIND_NAMES,_A as MEMORY_TOOL_SPEC,AA as MEMORY_UPCASTERS,nA as MEMORY_VERSION,Ml as MERGE_POLICIES,Pc as MIN_FIT,TA as MIN_MEMORY_CHARS,Yp as MIN_TAKEUP_FIT,Ji as MISSED_POLICIES,$O as MOMENT_BADGES,U_ as ManifestError,cI as McpClient,RA as MemoryError,Dt as NEAR_TITLE_DISTANCE,b as NOTE_ACTIONS,K as NOTE_ACTION_ERRORS,v as NOTE_ACTION_ORDER,G as NOTE_ACTION_TEMPERATURE,B as NOTE_COMMANDS,w as NOTE_COMMAND_MAX_TOKENS,H as NOTE_COMMAND_TEMPERATURE,qO as NOTE_SECTIONS,dS as OBSERVATION_TOOLS,Lf as OMNI_GRAMMAR,Cf as OMNI_MODES,vf as PALETTES,sS as PARALLEL_LOCAL_RE,yt as PDF_MAX_CHARS,pN as PERMISSION_MODES,Yf as PLANS,Je as PLAN_AUTHORS,ze as PLAN_DECOMPOSE_MAX_TOKENS,Ye as PLAN_DECOMPOSE_SYSTEM,je as PLAN_DECOMPOSE_TEMPERATURE,gl as PLAN_MODES,We as PLAN_ROLES,Qe as PLAN_SECTION_MAX_TOKENS,qe as PLAN_SECTION_TEMPERATURE,lN as POLICY_TOKEN_TYPE,EN as POLICY_VERSION,Zl as POST_KINDS,$l as POST_STATUSES,aI as PREF_SECTIONS,iI as PREF_SECTION_IDS,_N as PRODUCT_HOSTS,KT as PROJECT_ID_RE,dm as PROJECT_JOBS_SCHEMA,fm as PROJECT_REVIEW_SCHEMA,Mm as PROJECT_RUN_STATUSES,GT as PROJECT_STATUSES,st as PROPOSAL_STATES,$f as PRO_FEATURES,SN as PolicyError,vT as ProjectError,Om as ProjectRunError,ir as REACH,iO as RECHECK_INTERVAL_MS,rl as RECIPE_MODES,nl as RECIPE_TOOL_NAME,Hm as RECORD_ENGINE_KINDS,Vd as RECORD_KINDS,Lc as RECRUIT_SCHEMA,TN as REDACTION_TIERS,xo as REDACTION_TOKEN_TYPES,Jn as REFINEMENT_SCHEMA,_ as REF_KINDS,Lr as REGISTRY_STATES,H_ as REQUIRED_PLUGINS,A as RESOLUTION,ks as RESPONSE_MODES,_e as RESULTS_PER_ENGINE,sE as RESULT_TOOL_NAME,IT as RESUMABLE_RUN_STATUSES,Oa as RETRIEVAL_TOOLS,Km as ROLE_KINDS,ul as ROLE_MODES,u_ as ROSTER_KINDS,ZS as ROUND_SEPARATOR,Xm as ROUTE_PREFERS,Np as RUN_STATUSES,el as RecipeError,Za as RouterError,di as RuleError,pA as SAME_FACT,Vi as SCHEDULE_KINDS,jc as SCM_KINDS,n as SCOPE_KINDS,Gm as SCORECARD_ENTRY_KINDS,Bm as SCORECARD_VERSION,pe as SEARCH_ENGINES,Fo as SELF_LABELS,Gf as SHAPE,kI as SIDELINE_COMMANDS,vI as SIDELINE_SLASH_ITEMS,BA as SKILL_CONTEXTS,XA as SKILL_FILE_KINDS,HA as SKILL_HISTORY_SCOPES,KA as SKILL_MANIFEST_VERSION,wA as SKILL_MCP_MODES,VA as SKILL_TRUST,WA as SKILL_UPCASTERS,sR as SKILL_VARS,SR as SKILL_VAR_NAMES,BR as SLASH_TYPING_RE,I_ as SOLO_BUDGET,bO as SORT_LABELS,UO as SORT_MODES,b_ as SOURCES,nN as SOURCE_TOOL_SPEC,kA as SOURCE_TRUST,Ft as SPAN_MIN_TERMS,DO as SPEAKER_SLOTS,CT as STALLED_AFTER_MS,mc as STARTER_AGENTS,Dl as STARTER_TEAMS,pp as STEP_MAX_CHARS,Ao as SUBJECT_KINDS,Ls as SUGGESTIONS_SCHEMA,St as SUPERSEDE_OVERLAP,Ri as SUPPRESSED,se as SWARM_ROLES,et as SYNTHESIS_SCHEMA,Yi as ScheduleError,yr as SearchEngineError,JA as SkillManifestError,UA as SkillSourceError,RR as SkillVarError,Us as StructuredError,nf as SyncError,_p as TASK_TRANSCRIPT_MAX_CHARS,eO as TEAM_FEATURES,Hl as TEAM_PLAN_SCHEMA,N_ as TEAM_SHAPES,Pp as TEAM_TOOL_NAME,kf as THEMES,Ql as THREAD_KINDS,ql as THREAD_STATUSES,bI as THREAD_TOOL_NAME,GI as THREAD_TOOL_SPEC,Dd as TITLE_RULES_VERSION,Kf as TOKEN_NAMES,Bf as TOKEN_ROLES,ls as TOPICS_SCHEMA,wt as TRANSCRIPT_MAX_CHARS,Xi as TRIGGER_KINDS,Nl as TeamError,Ip as TeamRunError,Yr as ToolGroupError,MS as UNAVAILABLE_REASONS,Pd as UNTITLED_MEETING,Er as UPCASTERS,qf as UPGRADE_URL,ns as UTTERANCE_DANGLING_MS,is as UTTERANCE_SETTLE_MS,Oi as VAULT_VERSION,Mi as VaultError,gn as VoiceIntentError,Hr as WEATHER_HOST,wr as WEATHER_TIMEOUT_MS,QI as WEATHER_TOOL_NAME,qI as WEATHER_TOOL_SYSTEM,bE as WEB_SEARCH_SPEC,kE as WEB_SEARCH_TOOL_NAME,UE as WEB_SEARCH_TOOL_SYSTEM,lo as WIDGET_SURFACES,Ic as WITHDRAW_AFTER,kp as WORKLOG_KINDS,Ll as WORK_GRANTS,UR as WRITER_PREFS,bR as WRITER_PREF_DEFAULTS,Vr as WeatherError,Ht as YOUTUBE_HOSTS,lt as accept,IE as actionMenu,gI as adaptiveToolRetryHint,pd as addTag,VS as addUsage,km as adjustSummary,mf as advanceBases,fN as agentAllowed,S_ as agentColor,_c as agentFromForm,s_ as agentHue,E_ as agentInitials,n_ as agentKind,q as agentMentionAt,go as aliasMap,JS as anthropicTranscript,WT as applyAll,Yc as applyCard,ye as applyEdits,CN as applyPolicyToSettings,SI as applySections,Te as appoint,Kr as areaLabel,sc as assistantAgent,Fr as attemptOrder,Dm as attest,eS as bareToolName,Mf as bestCodec,pc as blankAgent,ap as blankConnection,zT as blankJobPost,hT as blankProject,hl as blankTeam,RS as blockedToolResult,Wl as boardText,iT as boardToolProvider,nT as boardToolSpec,ep as branchFor,Bl as breakCycles,Vo as briefId,Jo as briefLinks,WI as briefPrompt,Wo as briefTerms,Xo as briefToText,NE as buildGroupDispatchSpec,Me as buildNoteGraph,Kt as buildPdfDocument,Ae as buildSearchUrl,dE as buildToolset,Na as buildTrajectory,$t as buildTranscriptDocument,__ as builtinOrg,mO as can,Ki as canAddEntry,XT as canJobPostTransition,FT as canProjectTransition,rS as canRunConcurrently,_r as canSatisfy,MA as candidatesFrom,Cm as canonical,Wt as captionTracksFromPlayerResponse,T_ as cardNumbers,Jc as cardOverride,Hc as carveBudget,u as causesAreWellFormed,TI as changedSections,fr as checkInvariants,Yo as checkKnowledgeInvariants,sO as checkoutUrl,dT as checkpointFrom,ot as claimsFromSynthesis,IS as classifyFailure,Ee as classifyModel,ni as classifySource,Fd as cleanTitle,yR as clipCompletion,lp as clipMessage,pn as clipText,Ep as clipTranscript,Ws as coerce,us as coerceEntities,fI as combineSystemPrompt,Y as commandLineAt,os as commandLooksFinished,xn as commandsFromSegments,iE as compactValue,N as compareEvents,j_ as compileQuery,Cn as compileWake,BE as compressToolSpec,HE as compressToolSpecs,wE as compressionStats,$c as connectionFor,ip as connectionFromForm,uA as containment,wo as contentHash,mp as continuationNote,ed as continueList,ct as converge,na as createAccessLog,pa as createAdapterRegistry,CI as createAdaptiveToolPolicy,dn as createAnalyzerRegistry,sT as createAnswerBox,c as createAppender,Mr as createBlobStore,Vl as createBoard,Sl as createBudget,GS as createCallRunner,fa as createCitationCollector,cp as createControl,G_ as createKernel,ur as createLogStore,k_ as createManifest,Nr as createMemoryAdapter,NS as createModelHealth,wa as createModelRouter,Cr as createRegistry,eE as createResultStore,Ai as createRuleEngine,mT as createRunCache,vA as createSkillSourceRegistry,gR as createSpendMeter,Ys as createStructuredStream,Jr as createToolGroupRegistry,mS as createToolLoopGuard,$i as createTriggerRegistry,ka as createTurnRunner,as as createUtteranceGate,xi as createVault,Gn as createVoiceIntentRegistry,op as credentialEnv,wf as cssVarName,BO as dayBucket,Sf as decide,vc as decideRecruit,ZA as declaredAccess,ff as decryptBackup,IO as defaultLinkPolicy,y as defaultModelId,Kn as defaultVoiceIntents,aN as deferAttachedSources,ca as defineAdapter,nc as defineAgent,ln as defineJob,VT as defineJobPost,Ua as defineLoop,Rn as defineMeetingAnalyzer,Ba as defineMiddleware,Ka as defineModel,DT as defineProject,Ha as defineRouteStrategy,_i as defineRule,bs as defineSchema,xr as defineSearchEngine,bA as defineSkillSource,_l as defineTeam,Wr as defineToolGroup,Zi as defineTrigger,vn as defineVoiceIntent,QO as demd,gO as densityRibbon,L as dequeue,Qo as deriveBrief,qo as deriveBriefs,Fi as deriveKey,vd as deriveMeetingTitle,ef as deriveTitle,Ec as describeAgent,yp as describeCall,tp as describeConnection,Qm as describeEngine,il as describeRecipeForApproval,Il as describeRole,vs as describeSchema,aE as describeShape,uT as describeSpend,Lp as describeTeamForApproval,t_ as describeTeamShape,HS as describeToolCall,mt as diffProposal,Ca as displayName,nd as docStats,LR as draftSeparator,Zo as driftedRefs,qE as dryRunRecipe,fp as dryRunTeam,Tn as dueJobs,ut as duplicateTitles,Lo as earnsBrief,bn as editDistance,he as editKey,om as effectiveGate,So as effectiveGrants,iS as effectiveToolName,ge as egoGraph,uN as egressAllowed,rT as emptyBoardState,kT as emptyProjectRecord,_T as emptyRun,HR as enabledSkills,df as encryptBackup,RN as endpointAllowed,bm as engineKey,jm as engineKeyOf,Sc as engineOf,Ie as engineOrder,zm as engineRef,xc as engineRow,Dc as engineRows,x_ as engineStrip,yc as engineWorth,Is as entitiesFormat,Os as entitiesPrompt,Ms as entitiesStream,Ui as entryMeta,LE as estimateTokens,Uc as evaluatorPrompt,zE as expandRecipe,Z_ as expandReplacement,_R as expandSkillPrompt,js as explainMcpError,wp as extendDependents,xf as extractFilters,si as extractUrls,PS as failoverExhausted,Ya as failoverOrder,gN as featureEnabled,ud as filterByTags,ga as filterEntries,J as filterNoteActions,KO as filterRecords,h as filterSections,Fe as filterTypoEdits,cE as findActionArgs,hE as findDispatchProvider,Hs as findJson,Q_ as findMatches,ee as findSkillByName,re as findTargetByName,TE as findTools,mE as findToolsResult,Ln as findWakeCommand,Jl as findingsInstruction,tT as findingsOf,ym as fit,bl as fixedPlan,JI as foldBackNote,oT as foldBoard,YI as foldNotes,UT as foldProject,AT as foldRun,Tf as forkConflict,Sa as formatBytes,W_ as formatReport,xt as formatSurvey,dd as formatTag,Id as formatTagQuery,xO as formatTalkTime,qt as formatTimestamp,Zt as formatTranscript,Gr as formatWeather,V as frameNoteAction,tO as freeCap,Hi as fromB64,mo as fuseRRF,tm as gateAllows,xI as getMcpProviders,Ur as getWeather,rs as gistOpening,es as gistText,DN as globToRegExp,MR as goalDraftAllowed,fl as grantAllows,R_ as grantChoices,d_ as grantsFromChoices,Qr as grantsNeededFor,Le as graphStats,PR as groundingBlock,oI as groupActionsByOwner,F as groupModels,wO as groupRecords,Qt as groupSegments,zO as hasInsights,cd as hasTag,Od as hasTagTerms,Bp as holdsGrants,Si as hostMatches,If as identityCodec,tN as imageAttachmentsOf,rd as indentSelection,JO as insightKindOf,NR as instructionOnLine,hf as isActionable,Br as isAmbiguousLocation,Kd as isBetterTitleSource,A_ as isBuiltin,oS as isCacheable,Of as isEncryptedBackup,$n as isFillerSentence,hd as isGenericTitle,LI as isInvalidToolParametersResult,vi as isLocked,AS as isLoopableTool,Op as isModelUnavailable,Xs as isNothing,lO as isPro,C as isQueued,zd as isRecordId,Do as isRedactionToken,d as isRef,de as isResultHost,fT as isResumable,YA as isSafeSkillPath,ho as isSelfLabel,lf as isSettled,kS as isSourceGateError,hO as isSpeakerImageValue,qs as isStaleMcpSession,Mo as isSubjectCandidate,TO as isTeam,m as isValidEvent,fA as isValidMemory,Qd as isValidStoredRecord,Xt as isYouTubeUrl,kc as jobApplications,Hp as jobFromSubtask,jT as jobPostFromForm,mm as jobResults,JT as jobToRole,mn as jobsForEvent,Am as jobsPrompt,Ma as lanesOf,$r as layoutFlowchart,Nc as ledgerKey,RO as licenseFromPayload,fR as lineAt,I as linearize,kt as linesFromItems,pt as linkClaims,Ra as linkifyCitations,mR as lintSkillPrompt,xe as lintText,Gi as lockedSummary,Gt as looksScanned,ia as makeAccessEvent,CE as makeDispatchProvider,Pm as makeEntry,ME as makeGroupDispatchExecutor,Mc as makeLedgerEntry,Yd as makeRecordId,R as makeRef,ei as makeSourceStore,sa as makeStorageTier,ri as manifestText,QE as mapInput,xA as markUsed,CA as matchForForget,q_ as matchIndexFor,XR as matchSlashRecipe,VR as matchSlashSkill,JR as matchSlashTeam,_n as matchSummary,Nd as matchesTagFilter,hI as mcpBackoff,F_ as mcpDispatchProvider,RI as mcpInventorySystem,pI as mcpProvider,AI as mcpSharedSystem,K_ as meetDecisions,Ei as meetReach,tn as meetingEndedTrigger,YO as meetingInsights,on as meetingStartedTrigger,Bd as meetingTitlePrompt,PA as memoryBlock,OA as memoryKey,FA as memoryToolSystem,oe as mentionAnswerPrefix,gt as mentionsFrom,Oe as mergeEngineResults,Ve as mergeResearchLanes,$ as mergeSkillPrompt,lI as mergeStamped,Sp as mergeTranscript,sp as messagesFor,e_ as missingStarters,dN as modelAllowed,k as modelSummary,eI as momentBadge,Wn as monitorIntent,P as moveQueued,po as multiSearch,Fc as needForJob,qA as needsBridge,tS as needsConfirmation,dO as needsRecheck,Tp as newSteps,ji as nextFireAt,zI as nextSidelineIndex,qi as nextWakeAt,uf as nodeCodec,gS as normModelName,ic as normalizeAgent,ll as normalizeBudget,uc as normalizeCall,qc as normalizeConnection,Um as normalizeEngine,Jm as normalizeEngineSpec,rm as normalizeGate,dl as normalizeGrants,GR as normalizeIntent,wT as normalizeJobPost,dA as normalizeMemory,AN as normalizeOrgPolicy,Wm as normalizePolicy,xT as normalizeProject,At as normalizeRecord,Rt as normalizeRecords,bp as normalizeRequest,vm as normalizeScm,iR as normalizeSkill,kn as normalizeSpeech,jd as normalizeStoredRecord,Io as normalizeSubject,Td as normalizeTag,md as normalizeTags,Rl as normalizeTeam,_s as normalizeTopic,As as normalizeTopics,XS as normalizeUsage,vR as normalizeWriterPrefs,W as noteActionItems,X as noteActionLabel,Xn as noteIntent,ZO as noteSectionKind,g_ as observeInbox,aO as observeSince,C_ as observeStrip,cn as occurrenceKey,Qi as occurrencesBetween,pE as oneLiner,WS as openAiTranscript,yi as openEntry,Ut as orderLines,$A as originLabel,zA as originOf,Nt as orphanRecords,ZR as outlineOf,_E as overlapRank,Qs as packageFromArgs,vt as pageTextFromItems,Hf as paletteFor,bt as paragraphsFromLines,nS as parallelEligible,Q as parseAgentMention,zo as parseBriefText,BI as parseBringBack,Fn as parseClock,Pn as parseCommand,Dn as parseDuration,Ns as parseEntities,bc as parseEvaluation,Xl as parseFindings,Zr as parseFlowchart,pm as parseJobs,J_ as parseJsonl,$R as parseListItem,rI as parseMeetingNotes,uO as parseMeetingText,yn as parseNumberWords,Pf as parseOmni,vl as parsePlan,$e as parsePlanTasks,Jd as parseRecordId,jn as parseRefinement,Zc as parseRemote,_m as parseReview,KI as parseSideline,Z as parseSkillMention,TR as parseSkillVars,Js as parseStructured,Ds as parseSuggestions,fd as parseTagQuery,jt as parseTimedText,Hd as parseTitleResponse,ps as parseTopics,vr as parseWeather,hn as parseWhen,Vt as parseYouTubeUrl,g as pendingQueue,ON as permissionMode,an as personJoinedTrigger,ua as phasesOf,nn as phraseTrigger,Yt as pickCaptionTrack,fe as pickResults,sI as pickSections,za as pinnedOrderOf,tr as planAttribution,or as planBody,EO as planLabel,SO as planOf,rr as planParts,co as planQueries,Ze as planSectionSystem,Ef as planSync,er as planTitleFor,ES as planToolRound,Gl as plannerPrompt,PN as policyHash,LN as policyLabel,Ac as poolFor,Ja as preferenceFor,gT as priorWorkFor,Ta as projectChain,yT as projectFromForm,bT as projectProgress,x as promoteQueued,Zp as promoteRoles,Da as promptEntries,Kc as proposalFromNeeds,Bc as proposalToAgent,Et as propose,DA as pruneMemories,Sn as questionTrigger,ie as rankLinkTargets,we as rankResearchCards,Po as rankSubjects,nr as reachRank,sr as reachSatisfies,ti as readSource,XI as readThread,YT as readyJobs,LA as recall,WR as recipeInvocationText,jE as recipeParams,tl as recipeToolProvider,al as recipeToolSpec,gA as reconcile,Dr as reconcileEngines,wc as recruitEvents,Gc as recruitForRun,Vc as recruitJob,aa as redactAccessArgs,ft as redactedTokensIn,Ot as redactionCost,NN as redactionTier,Zn as refineSpokenCommand,zn as refinementFormat,Yn as refinementPrompt,Qn as refinementStream,Tt as reject,wn as reminderIntent,_d as removeTag,eN as renderContent,eo as renderFlowchartSvg,OO as renderMarkdown,Vs as repairJson,eA as replaceAll,rA as replaceAllInRange,$_ as replaceMatch,X_ as replay,Xa as requirementsFor,Wa as requirementsForStep,Ke as researchRelevance,He as researchSnippet,FI as resetMcp,f as resolveRef,HI as resolveSidelineTarget,Df as resolveSince,Co as resolveSubjects,Tc as resolveTeam,Wf as resolveTheme,Ks as responseFormat,nE as resultToolSpec,dp as resumeTeam,Rm as reviewPrompt,ws as rewriteJson,Se as roleById,l_ as roleCardId,i_ as rosterRows,cm as roundBudget,KS as roundCap,lm as roundJobs,cS as roundSignature,IN as routeAllowed,hc as routeFor,la as routeGraph,me as routeTeam,HO as rowTime,RT as runFromEvents,L_ as runLanes,ZE as runPlan,Em as runProject,$E as runRecipe,oE as runResultQuery,MT as runState,Rp as runTeam,lS as runToolRound,vS as runTurnLoop,LS as runWithFailover,ve as salientTerms,qa as sameModelKey,eR as sameSkillOrigin,Rd as sameTags,ts as sameUtterance,Vn as scheduleIntent,Ol as scmAllows,hi as sealEntry,bi as searchEntries,vE as searchResultsToText,Zd as searchTextFor,EI as sectionHash,nI as sectionValue,sd as selectionStats,MN as settingLocked,qn as settleRefinement,Lm as sha256,rE as shieldToolResult,oi as shortUrl,Gd as shouldAutoTitle,Va as signalsFrom,NA as similarity,f_ as skillChoices,QA as skillFiles,QR as skillInvocationLabel,jR as skillInvocationOf,rR as skillIsStale,ER as skillVar,AR as skillVarGuidance,lR as skillVarPattern,zR as slashCommandInsert,wR as slashCommandItems,IA as slotOf,lc as slugAgentId,kl as slugTeamName,rf as snippetOf,c_ as soloTeam,GO as sortRecords,vO as sortStamp,dI as sourceCitationSystem,yS as sourceGate,hS as sourceGuardFor,ai as sourceId,li as sourcePolicyFor,FS as sourcePolicySettings,Ti as sourceUrlsOf,da as sourcesFromToolText,Ct as spanningQuestions,LO as speakerBreakdown,yO as speakerLabeller,MO as speakerStats,PO as speakerTimeline,NT as spendOf,P_ as spendRows,pS as stableToolCallKey,sf as stampOf,cc as starterAgents,$p as starterTeam,Fl as starterTeams,wS as stepResultText,Nf as streamCodec,yo as stripQualifiers,No as subjectKey,uo as subjectTokens,pR as substituteSkillVars,vp as subtaskFromRequest,gd as suggestExistingTags,ko as suggestMerges,cR as suggestSkillVar,xs as suggestionsFormat,Ps as suggestionsPrompt,Fs as suggestionsStream,hm as summarize,gc as summarizeEngine,WO as summarySections,le as supportsSubagents,Lt as surveyCorpus,rt as synthesisPrompt,Md as tagFacets,Cd as tagsSearchText,Gp as takeUp,Kp as takeUpLine,Vp as taskTree,Tm as teamForRound,yl as teamFromForm,r_ as teamHealth,YR as teamInvocationText,Qp as teamLanes,jp as teamLine,o_ as teamShape,Mp as teamToolProvider,gp as teamToolSpec,Cp as teamToolTimeoutMs,p_ as teamsWithSolos,DI as testMcpServer,Xf as themeStylesheet,wI as threadManifest,Xp as threadRows,xa as threadTitle,VI as threadToolProvider,ha as threadTree,Pa as threadsOf,Pt as thresholdSweep,cO as tierFor,qm as tierOf,zt as timedTextUrl,Hn as timerIntent,rn as timerTrigger,bd as titleFromDate,Ud as titleFromParticipants,yd as titleFromSummary,kd as titleFromTopics,Bi as toB64,Yl as toBriefClaims,rN as toChatMessages,Vf as toCssVars,$d as toIndexEntry,Gs as toJsonSchema,Y_ as toJsonl,Ar as toModelSchema,Rr as toModelSchemas,oN as toMultimodalMessages,qd as toSearchRecord,td as toggleLinePrefix,id as toggleLink,Ad as toggleTag,ad as toggleTask,od as toggleWrap,Un as tokenize,_S as toolMadeProgress,jr as toolNeedFor,OI as toolStatus,$s as toolTraits,Ge as topicTerms,sn as topicTrigger,cs as topicsFormat,ms as topicsPrompt,Ts as topicsSchema,Rs as topicsStream,aS as traitsIndex,ea as transcriptFromTracks,z as triggerQueryAt,VE as trimDescription,Ce as trimGraph,jA as trustOf,Fa as turnsOf,Bs as unfence,Di as unlockVault,Re as unwrapRedirect,lr as upcast,Tr as upcastAll,hA as upcastMemory,tR as upcastSkill,aR as upcastSkills,m_ as upsertAgents,Tl as usageOf,uE as validateAction,ac as validateAgent,El as validateBudget,cr as validateCapability,Qc as validateConnection,Ym as validateEngineSpec,ki as validateEntry,T as validateEvent,em as validateGate,pr as validateInvocation,HT as validateJobPost,PT as validateProject,YE as validateRecipe,zi as validateSchedule,oR as validateSkill,Al as validateTeam,oo as validateView,to as validateViewInvocation,no as validateWidget,so as validateWidgetMessage,NI as vaultWidgetSystem,Fm as verifyAttested,xm as verifyChain,_O as verifyEntitlement,xN as verifyPolicyToken,AO as verifySignedToken,Jt as videoMetaFromPlayerResponse,ao as viewResult,Mt as vocabularyDrift,En as voiceCommandTrigger,It as wantedPages,Ff as wantsModel,uI as wantsVaultGuidance,Kl as waves,ZI as weatherToolProvider,br as weatherUrl,Be as webQuery,GE as webSearchToolProvider,a_ as whereItWorks,II as widgetAuthoringSystem,Eo as widgetIcon,ae as wikiQueryAt,dt as wikilinksIn,ST as withBoardTool,gE as withGuidance,tE as withResultShield,cT as withRunCache,iN as withSourceTool,BS as withToolSystem,pO as withinFreeLimit,US as withinReach,of as wordCount,De as wordDiff,hp as workLogEvidence,Dp as workLogFor,Fp as workLogText,rp as worktreeDirFor,OR as writerAffordance,xR as writerRequest,CR as writerTail};
1
+ import{CURRENT_VERSION as o,EVENT_TYPES as t,ALL_TYPES as a,ACTOR_KINDS as i,SCOPE_KINDS as n,CLASSES as s,EFFECTS as S,EGRESS as E,EventError as l,validateEvent as T,isValidEvent as m,createAppender as c}from"./event.js";import{REF_KINDS as _,RESOLUTION as d,makeRef as A,isRef as R,resolveRef as f}from"./ref.js";import{linearize as I,compareEvents as N,causesAreWellFormed as u}from"./order.js";import{pendingQueue as g,isQueued as C,dequeue as L,moveQueued as P,promoteQueued as x}from"./queue.js";import{groupModels as F,filterSections as h,defaultModelId as y,modelSummary as k}from"./model-picker.js";import{NOTE_ACTIONS as b,NOTE_ACTION_ORDER as v,NOTE_ACTION_TEMPERATURE as G,NOTE_ACTION_ERRORS as B,NOTE_COMMANDS as K,NOTE_COMMAND_TEMPERATURE as H,NOTE_COMMAND_MAX_TOKENS as w,frameNoteAction as V,noteActionLabel as X,noteActionItems as W,filterNoteActions as J,commandLineAt as Y,triggerQueryAt as z}from"./note-actions.js";import{parseAgentMention as Q,agentMentionAt as q,parseSkillMention as Z,mergeSkillPrompt as $,findSkillByName as ee,findTargetByName as re,mentionAnswerPrefix as oe}from"./note-mentions.js";import{wikiQueryAt as ae,rankLinkTargets as ie}from"./note-links.js";import{SWARM_ROLES as se,roleById as Se,classifyModel as Ee,supportsSubagents as le,appoint as Te,routeTeam as me}from"./cowriter-router.js";import{SEARCH_ENGINES as pe,RESULTS_PER_ENGINE as _e,buildSearchUrl as de,unwrapRedirect as Ae,isResultHost as Re,pickResults as fe,mergeEngineResults as Oe,engineOrder as Ie}from"./web-search.js";import{MAX_GRAPH_NODES as ue,buildNoteGraph as Me,egoGraph as ge,trimGraph as Ce,graphStats as Le}from"./note-graph.js";import{lintText as xe,wordDiff as De,filterTypoEdits as Fe,editKey as he,applyEdits as ye,COWRITER_SYSTEM as ke,COWRITER_TEMPERATURE as Ue}from"./cowriter.js";import{salientTerms as ve,topicTerms as Ge,researchRelevance as Be,webQuery as Ke,researchSnippet as He,rankResearchCards as we,mergeResearchLanes as Ve}from"./note-research.js";import{PLAN_ROLES as We,PLAN_AUTHORS as Je,PLAN_DECOMPOSE_SYSTEM as Ye,PLAN_DECOMPOSE_MAX_TOKENS as ze,PLAN_DECOMPOSE_TEMPERATURE as je,PLAN_SECTION_MAX_TOKENS as Qe,PLAN_SECTION_TEMPERATURE as qe,planSectionSystem as Ze,parsePlanTasks as $e,planTitleFor as er,planParts as rr,planBody as or,planAttribution as tr}from"./note-plan.js";import{REACH as ir,reachRank as nr,reachSatisfies as sr}from"./reach.js";import{UPCASTERS as Er,upcast as lr,upcastAll as Tr}from"./upcast.js";import{validateCapability as cr,validateInvocation as pr,canSatisfy as _r,toModelSchema as dr,toModelSchemas as Ar}from"./capability.js";import{checkInvariants as fr,INVARIANTS as Or}from"./invariants.js";import{createMemoryAdapter as Nr,createLogStore as ur,createBlobStore as Mr}from"./store.js";import{createRegistry as Cr,REGISTRY_STATES as Lr}from"./registry.js";import{defineSearchEngine as xr,reconcileEngines as Dr,attemptOrder as Fr,ENGINE_KINDS as hr,SearchEngineError as yr}from"./search-engines.js";import{getWeather as Ur,weatherUrl as br,parseWeather as vr,formatWeather as Gr,areaLabel as Br,isAmbiguousLocation as Kr,WEATHER_HOST as Hr,WEATHER_TIMEOUT_MS as wr,WeatherError as Vr}from"./weather.js";import{defineToolGroup as Wr,createToolGroupRegistry as Jr,ToolGroupError as Yr}from"./tool-groups.js";import{toolNeedFor as jr,grantsNeededFor as Qr}from"./tool-need.js";import{parseFlowchart as Zr,layoutFlowchart as $r,renderFlowchartSvg as eo}from"./flowchart.js";import{validateView as oo,validateViewInvocation as to,viewResult as ao}from"./view.js";import{validateWidget as no,validateWidgetMessage as so,effectiveGrants as So,widgetIcon as Eo,WIDGET_SURFACES as lo}from"./widget.js";import{fuseRRF as mo,planQueries as co,multiSearch as po}from"./rrf.js";import{SUBJECT_KINDS as Ao,DEFAULT_THRESHOLD as Ro,MAX_SUBJECTS as fo,MAX_SUBJECT_CHARS as Oo,normalizeSubject as Io,subjectKey as No,subjectTokens as uo,isSubjectCandidate as Mo,aliasMap as go,resolveSubjects as Co,earnsBrief as Lo,rankSubjects as Po,REDACTION_TOKEN_TYPES as xo,isRedactionToken as Do,SELF_LABELS as Fo,isSelfLabel as ho,stripQualifiers as yo,suggestMerges as ko}from"./entity.js";import{BRIEF_STATES as bo,CLAIM_KINDS as vo,MAX_CLAIMS as Go,MAX_CLAIM_REFS as Bo,MAX_BRIEF_RECORDS as Ko,MAX_BRIEF_CHARS as Ho,contentHash as wo,briefId as Vo,briefToText as Xo,briefTerms as Wo,briefLinks as Jo,checkKnowledgeInvariants as Yo,parseBriefText as zo}from"./knowledge.js";import{deriveBrief as Qo,deriveBriefs as qo,driftedRefs as Zo}from"./knowledge-derive.js";import{SYNTHESIS_SCHEMA as et,synthesisPrompt as rt,claimsFromSynthesis as ot,MAX_SYNTHESIS_CLAIMS as tt,MAX_EXCERPTS as at,MAX_EXCERPT_CHARS as it}from"./synthesis.js";import{PROPOSAL_STATES as st,SUPERSEDE_OVERLAP as St,propose as Et,accept as lt,reject as Tt,diffProposal as mt,converge as ct,linkClaims as pt}from"./promotion.js";import{normalizeRecord as dt,normalizeRecords as At,wikilinksIn as Rt,redactedTokensIn as ft,redactionCost as Ot,wantedPages as It,orphanRecords as Nt,duplicateTitles as ut,vocabularyDrift as Mt,mentionsFrom as gt,spanningQuestions as Ct,surveyCorpus as Lt,thresholdSweep as Pt,formatSurvey as xt,NEAR_TITLE_DISTANCE as Dt,SPAN_MIN_TERMS as Ft}from"./curate.js";import{PDF_MAX_CHARS as yt,linesFromItems as kt,orderLines as Ut,paragraphsFromLines as bt,pageTextFromItems as vt,looksScanned as Gt,buildPdfDocument as Bt}from"./pdf-layout.js";import{YOUTUBE_HOSTS as Ht,TRANSCRIPT_MAX_CHARS as wt,parseYouTubeUrl as Vt,isYouTubeUrl as Xt,captionTracksFromPlayerResponse as Wt,videoMetaFromPlayerResponse as Jt,pickCaptionTrack as Yt,timedTextUrl as zt,parseTimedText as jt,groupSegments as Qt,formatTimestamp as qt,formatTranscript as Zt,buildTranscriptDocument as $t,transcriptFromTracks as ea}from"./media-transcript.js";import{ACCESS_LOG_VERSION as oa,ACCESS_LOG_MAX as ta,redactAccessArgs as aa,makeAccessEvent as ia,createAccessLog as na,makeStorageTier as sa,formatBytes as Sa}from"./observability.js";import{routeGraph as la,projectChain as Ta}from"./route-graph.js";import{defineAdapter as ca,createAdapterRegistry as pa,AdapterError as _a}from"./adapters.js";import{linkifyCitations as Aa,sourcesFromToolText as Ra,createCitationCollector as fa,RETRIEVAL_TOOLS as Oa}from"./citations.js";import{buildTrajectory as Na,phasesOf as ua,lanesOf as Ma,filterEntries as ga,displayName as Ca,ENTRY_KINDS as La,threadsOf as Pa,threadTitle as xa,promptEntries as Da,turnsOf as Fa,threadTree as ha}from"./trajectory.js";import{createTurnRunner as ka,defineLoop as Ua,LOOP_KINDS as ba,LoopError as va}from"./loop.js";import{defineModel as Ba,defineMiddleware as Ka,defineRouteStrategy as Ha,createModelRouter as wa,signalsFrom as Va,requirementsFor as Xa,requirementsForStep as Wa,preferenceFor as Ja,failoverOrder as Ya,pinnedOrderOf as za,FAILOVER_CLASS_GAP as ja,FAILOVER_CAPABILITY_GAP as Qa,sameModelKey as qa,RouterError as Za}from"./router.js";import{makeSourceStore as ei,manifestText as ri,shortUrl as oi,readSource as ti,sourceId as ai}from"./sources-retrieval.js";import{classifySource as ni,extractUrls as si,hostMatches as Si,meetReach as Ei,sourcePolicyFor as li,sourceUrlsOf as Ti,DEFAULT_INTERNAL_PATTERNS as mi,INTERNAL_PATTERN_CATALOG as ci}from"./sources.js";import{defineRule as _i,createRuleEngine as di,SUPPRESSED as Ai,RuleError as Ri}from"./rules.js";import{VAULT_VERSION as Oi,KDF_ITERATIONS as Ii,KDF_HASH as Ni,DEFAULT_LOCK_MS as ui,VaultError as Mi,MAX_TITLE_CHARS as gi,MAX_NOTE_CHARS as Ci,MAX_SECRET_CHARS as Li,MAX_ENTRIES as Pi,createVault as xi,unlockVault as Di,deriveKey as Fi,sealEntry as hi,openEntry as yi,validateEntry as ki,entryMeta as Ui,searchEntries as bi,isLocked as vi,lockedSummary as Gi,canAddEntry as Bi,toB64 as Ki,fromB64 as Hi}from"./vault.js";import{SCHEDULE_KINDS as Vi,TRIGGER_KINDS as Xi,JOB_ACTIONS as Wi,MISSED_POLICIES as Ji,ScheduleError as Yi,validateSchedule as zi,nextFireAt as ji,occurrencesBetween as Qi,nextWakeAt as qi,defineTrigger as Zi,createTriggerRegistry as $i,BUILTIN_TRIGGERS as en,timerTrigger as rn,meetingStartedTrigger as on,meetingEndedTrigger as tn,personJoinedTrigger as an,phraseTrigger as nn,topicTrigger as sn,questionTrigger as Sn,voiceCommandTrigger as En,defineJob as ln,dueJobs as Tn,jobsForEvent as mn,occurrenceKey as cn,clipText as pn,matchSummary as _n}from"./schedule.js";import{defineMeetingAnalyzer as An,createAnalyzerRegistry as Rn,CADENCES as fn,AnalyzerError as On}from"./meeting-analyzers.js";import{DEFAULT_WAKE as Nn,MAX_COMMANDS_PER_DELTA as un,DAYPART_HOUR as Mn,VoiceIntentError as gn,compileWake as Cn,findWakeCommand as Ln,parseCommand as Pn,commandsFromSegments as xn,parseDuration as Dn,parseClock as Fn,parseWhen as hn,parseNumberWords as yn,normalizeSpeech as kn,tokenize as Un,editDistance as bn,defineVoiceIntent as vn,createVoiceIntentRegistry as Gn,defaultVoiceIntents as Bn,BUILTIN_VOICE_INTENTS as Kn,timerIntent as Hn,reminderIntent as wn,scheduleIntent as Vn,noteIntent as Xn,monitorIntent as Wn,REFINEMENT_SCHEMA as Jn,refinementPrompt as Yn,refinementFormat as zn,parseRefinement as jn,refinementStream as Qn,settleRefinement as qn,refineSpokenCommand as Zn,isFillerSentence as $n,gistText as es,gistOpening as rs,commandLooksFinished as os,sameUtterance as ts,createUtteranceGate as as,UTTERANCE_SETTLE_MS as is,UTTERANCE_DANGLING_MS as ns}from"./voice-intents.js";import{MAX_TOPICS as Ss,MAX_TOPIC_CHARS as Es,TOPICS_SCHEMA as ls,topicsSchema as Ts,topicsPrompt as ms,topicsFormat as cs,parseTopics as ps,normalizeTopic as _s,normalizeTopics as ds,topicsStream as As,ENTITY_TYPES as Rs,ENTITIES_SCHEMA as fs,entitiesPrompt as Os,entitiesFormat as Is,parseEntities as Ns,coerceEntities as us,entitiesStream as Ms,MAX_SUGGESTIONS as gs,MAX_SUGGESTION_CHARS as Cs,SUGGESTIONS_SCHEMA as Ls,suggestionsPrompt as Ps,suggestionsFormat as xs,parseSuggestions as Ds,suggestionsStream as Fs}from"./extraction.js";import{FIELD_TYPES as ys,RESPONSE_MODES as ks,StructuredError as Us,defineSchema as bs,describeSchema as vs,toJsonSchema as Gs,responseFormat as Bs,unfence as Ks,findJson as Hs,rewriteJson as ws,repairJson as Vs,isNothing as Xs,coerce as Ws,parseStructured as Js,createStructuredStream as Ys}from"./structured.js";import{explainMcpError as js,packageFromArgs as Qs,isStaleMcpSession as qs}from"./mcp-errors.js";import{toolTraits as $s,bareToolName as eS,canRunConcurrently as rS,isCacheable as oS,needsConfirmation as tS,traitsIndex as aS,effectiveToolName as iS,parallelEligible as nS,PARALLEL_LOCAL_RE as sS}from"./tool-traits.js";import{planToolRound as ES,runToolRound as lS}from"./tool-round.js";import{createToolLoopGuard as mS,roundSignature as cS,stableToolCallKey as pS,toolMadeProgress as _S,isLoopableTool as dS,blockedToolResult as AS,OBSERVATION_TOOLS as RS,INPUT_PROGRESS_TOOLS as fS}from"./tool-loop-guard.js";import{classifyFailure as IS,createModelHealth as NS,COOLDOWN_MS as uS,UNAVAILABLE_REASONS as MS,normModelName as gS}from"./model-health.js";import{runWithFailover as LS,failoverExhausted as PS,FAILOVER_MAX_ATTEMPTS as xS}from"./failover.js";import{sourcePolicySettings as FS,sourceGuardFor as hS,sourceGate as yS,isSourceGateError as kS,withinReach as US}from"./source-gate.js";import{runTurnLoop as vS,createCallRunner as GS,roundCap as BS,withToolSystem as KS,describeCall as HS,stepResultText as wS,addUsage as VS,normalizeUsage as XS,openAiTranscript as WS,anthropicTranscript as JS,DEFAULT_MAX_ROUNDS as YS,DEFAULT_MAX_FINISH_TRIES as zS,FINISH_NUDGES as jS,LOOPING_NUDGE as QS,EXHAUSTED_NOTE as qS,ROUND_SEPARATOR as ZS}from"./turn-loop.js";import{createResultStore as eE,shieldToolResult as rE,runResultQuery as oE,withResultShield as tE,describeShape as aE,compactValue as iE,resultToolSpec as nE,RESULT_TOOL_NAME as sE,DEFAULT_SHIELD as SE,DEFAULT_STORE as EE}from"./tool-result.js";import{findTools as TE,findToolsResult as mE,findActionArgs as cE,oneLiner as pE,overlapRank as _E,FIND_ACTION as dE}from"./tool-discovery.js";import{buildToolset as RE}from"./toolset.js";import{DESCRIBE_ACTION as OE,actionMenu as IE,buildGroupDispatchSpec as NE,validateAction as uE,makeGroupDispatchExecutor as ME,withGuidance as gE,makeDispatchProvider as CE,estimateTokens as LE}from"./tool-dispatch.js";import{FIND_TOOL_NAME as xE,FIND_DESCRIPTION as DE,FIND_RESIDENT as FE,findDispatchProvider as hE}from"./find-tool.js";import{WEB_SEARCH_TOOL_NAME as kE,WEB_SEARCH_TOOL_SYSTEM as UE,WEB_SEARCH_SPEC as bE,searchResultsToText as vE,webSearchToolProvider as GE}from"./web-search-tool.js";import{compressToolSpec as KE,compressToolSpecs as HE,compressionStats as wE,trimDescription as VE,COMPRESSION_MODES as XE,DEFAULT_COMPRESSION as WE}from"./tool-schema.js";import{validateRecipe as YE,expandRecipe as zE,recipeParams as jE,mapInput as QE,dryRunRecipe as qE,runPlan as ZE,runRecipe as $E,RecipeError as el,RECIPE_MODES as rl}from"./recipe.js";import{recipeToolProvider as tl,recipeToolSpec as al,describeRecipeForApproval as il,RECIPE_TOOL_NAME as nl}from"./recipe-tool.js";import{createBudget as Sl,validateBudget as El,normalizeBudget as ll,usageOf as Tl,BudgetError as ml,BUDGET_DIMENSIONS as cl}from"./budget.js";import{defineTeam as _l,validateTeam as dl,normalizeTeam as Al,normalizeGrants as Rl,grantAllows as fl,scmAllows as Ol,describeRole as Il,TeamError as Nl,ROLE_MODES as ul,MERGE_POLICIES as Ml,PLAN_MODES as gl,GRANTABLE as Cl,WORK_GRANTS as Ll,GRANT_RE as Pl,AGENT_REF_RE as xl,STARTER_TEAMS as Dl,starterTeams as Fl,blankTeam as hl,teamFromForm as yl,slugTeamName as kl}from"./team.js";import{fixedPlan as bl,parsePlan as vl,plannerPrompt as Gl,waves as Bl,breakCycles as Kl,TEAM_PLAN_SCHEMA as Hl}from"./team-plan.js";import{createBoard as Vl,parseFindings as Xl,boardText as Wl,findingsInstruction as Jl,toBriefClaims as Yl,FINDINGS_SCHEMA as zl,FINDING_KINDS as jl,THREAD_KINDS as Ql,THREAD_STATUSES as ql,POST_KINDS as Zl,POST_STATUSES as $l,ASK_TYPES as eT,emptyBoardState as rT,foldBoard as oT,findingsOf as tT}from"./team-board.js";import{boardToolProvider as iT,boardToolSpec as nT,createAnswerBox as sT,withBoardTool as ST,BOARD_TOOL_NAME as ET,DEFAULT_ASK_TIMEOUT_MS as lT}from"./board-tool.js";import{createRunCache as mT,withRunCache as cT}from"./team-cache.js";import{emptyRun as _T,foldRun as dT,runFromEvents as AT,checkpointFrom as RT,isResumable as fT,LIVE_RUN_STATUSES as OT,RESUMABLE_RUN_STATUSES as IT,spendOf as NT,describeSpend as uT,runState as MT,priorWorkFor as gT,STALLED_AFTER_MS as CT}from"./team-record.js";import{validateProject as PT,normalizeProject as xT,defineProject as DT,canTransition as FT,blankProject as hT,projectFromForm as yT,emptyProjectRecord as kT,foldProject as UT,projectProgress as bT,ProjectError as vT,PROJECT_STATUSES as GT,PROJECT_ID_RE as BT}from"./project.js";import{validateJob as HT,normalizeJob as wT,defineJob as VT,canTransition as XT,applyAll as WT,jobToRole as JT,readyJobs as YT,blankJob as zT,jobFromForm as jT,JobError as QT,JOB_STATUSES as qT,JOB_ID_RE as ZT}from"./job.js";import{validateGate as em,normalizeGate as rm,effectiveGate as om,gateAllows as tm,DEFAULT_GATE as am,AUTONOMY as im,HUMAN_FLAGS as nm,CHECKS as sm}from"./gate.js";import{runProject as Em,roundJobs as lm,teamForRound as Tm,jobResults as mm,roundBudget as cm,parseJobs as pm,parseReview as _m,jobsPrompt as dm,reviewPrompt as Am,PROJECT_JOBS_SCHEMA as Rm,PROJECT_REVIEW_SCHEMA as fm,ProjectRunError as Om,EXECUTIVE as Im,MAX_JOBS_PER_ROUND as Nm,MAX_ROUNDS as um,PROJECT_RUN_STATUSES as Mm}from"./project-run.js";import{canonical as Cm,sha256 as Lm,makeEntry as Pm,verifyChain as xm,attest as Dm,verifyAttested as Fm,summarize as hm,fit as ym,adjustSummary as km,normalizeEngine as Um,engineKey as bm,normalizeScm as vm,SCORECARD_ENTRY_KINDS as Gm,ROLE_KINDS as Bm,SCORECARD_VERSION as Km,ENGINE_KINDS as Hm}from"./scorecard.js";import{ENGINE_KINDS as Vm,ROUTE_PREFERS as Xm,normalizePolicy as Wm,normalizeEngineSpec as Jm,validateEngineSpec as Ym,engineRef as zm,engineKeyOf as jm,describeEngine as Qm,tierOf as qm}from"./engine.js";import{AGENT_ID_RE as $m,APPLIES_TO as ec,EGRESS_CLASSES as rc,ASSISTANT_ID as oc,AgentError as tc,validateAgent as ac,normalizeAgent as ic,defineAgent as nc,assistantAgent as sc,engineOf as Sc,describeAgent as Ec,slugAgentId as lc,resolveTeam as Tc,STARTER_AGENTS as mc,starterAgents as cc,blankAgent as pc,agentFromForm as _c,poolFor as dc}from"./agent.js";import{LEDGER_VERSION as Rc,LEDGER_ENTRY_KINDS as fc,DECLINE_REASONS as Oc,WITHDRAW_AFTER as Ic,ledgerKey as Nc,normalizeCall as uc,makeLedgerEntry as Mc,summarizeEngine as gc}from"./model-ledger.js";import{RECRUIT_SCHEMA as Lc,MIN_FIT as Pc,engineRow as xc,engineRows as Dc,needForJob as Fc,routeFor as hc,engineWorth as yc,applications as kc,evaluatorPrompt as Uc,parseEvaluation as bc,decide as vc,recruitForRun as Gc,proposalFromNeeds as Bc,proposalToAgent as Kc,carveBudget as Hc,recruitEvents as wc,recruitJob as Vc}from"./recruit.js";import{DEFAULT_MIN_CALLS as Wc,cardOverride as Jc,applyCard as Yc}from"./model-candidates.js";import{SCM_KINDS as jc,validateConnection as Qc,normalizeConnection as qc,parseRemote as Zc,connectionFor as $c,branchFor as ep,worktreeDirFor as rp,credentialEnv as op,describeConnection as tp,blankConnection as ap,connectionFromForm as ip}from"./scm-connection.js";import{messagesFor as sp,mergeTranscript as Sp,clipTranscript as Ep,clipMessage as lp,newSteps as Tp,continuationNote as mp,createControl as cp,STEP_MAX_CHARS as pp,TASK_TRANSCRIPT_MAX_CHARS as _p}from"./team-task.js";import{runTeam as Ap,resumeTeam as Rp,dryRunTeam as fp,isModelUnavailable as Op,TeamRunError as Ip,RUN_STATUSES as Np}from"./team-run.js";import{teamToolProvider as Mp,teamToolSpec as gp,teamToolTimeoutMs as Cp,describeTeamForApproval as Lp,TEAM_TOOL_NAME as Pp}from"./team-tool.js";import{workLogFor as Dp,workLogText as Fp,workLogEvidence as hp,describeCall as yp,WORKLOG_KINDS as kp}from"./team-worklog.js";import{normalizeRequest as bp,subtaskFromRequest as vp,takeUp as Gp,takeUpLine as Bp,holdsGrants as Kp,jobFromSubtask as Hp,extendDependents as wp,taskTree as Vp,threadRows as Xp,MAX_SUBTASKS as Wp,MAX_DEPTH as Jp,MIN_TAKEUP_FIT as Yp}from"./team-subtask.js";import{teamLine as jp,teamLanes as Qp}from"./team-trail.js";import{promoteRoles as Zp,starterTeam as $p,missingStarters as e_,teamHealth as r_,teamShape as o_,describeTeamShape as t_,whereItWorks as a_,rosterRows as i_,agentKind as n_,agentHue as s_,agentColor as S_,agentInitials as E_,roleCardId as l_,cardNumbers as T_,upsertAgents as m_,soloTeam as c_,teamsWithSolos as p_,builtinOrg as __,isBuiltin as d_,grantChoices as A_,grantsFromChoices as R_,skillChoices as f_,GRANT_INFO as O_,SOLO_BUDGET as I_,TEAM_SHAPES as N_,ROSTER_KINDS as u_}from"./team-org.js";import{observeInbox as g_,observeStrip as C_,runLanes as L_,spendRows as P_,engineStrip as x_}from"./team-observe.js";import{mcpDispatchProvider as F_,MCP_TOOL_NAME as h_}from"./mcp-dispatch.js";import{createManifest as k_,ManifestError as U_,SOURCES as b_}from"./manifest.js";import{createKernel as G_,meetDecisions as B_,KernelError as K_,REQUIRED_PLUGINS as H_,ALLOW_ALL as w_}from"./kernel.js";import{replay as X_,formatReport as W_,parseJsonl as J_,toJsonl as Y_}from"./harness.js";import{compileQuery as j_,findMatches as Q_,matchIndexFor as q_,expandReplacement as Z_,replaceMatch as $_,replaceAll as ed,replaceAllInRange as rd,MAX_MATCHES as od}from"./text-search.js";import{DATA_SCOPES as ad}from"./scopes.js";import{MEMORY_VERSION as nd,MEMORY_KINDS as sd,MEMORY_KIND_NAMES as Sd,AMBIENT_KINDS as Ed,MAX_MEMORY_CHARS as ld,MIN_MEMORY_CHARS as Td,DEFAULT_MAX_MEMORIES as md,DEFAULT_BLOCK_CHARS as cd,SAME_FACT as pd,MEMORY_TOOL_SPEC as _d,MEMORY_UPCASTERS as dd,MemoryError as Ad,normalizeMemory as Rd,isValidMemory as fd,memoryKey as Od,slotOf as Id,similarity as Nd,containment as ud,candidatesFrom as Md,reconcile as gd,matchForForget as Cd,recall as Ld,memoryBlock as Pd,markUsed as xd,pruneMemories as Dd,memoryToolSystem as Fd,upcastMemory as hd}from"./memory.js";import{SOURCE_TRUST as kd,SkillSourceError as Ud,defineSkillSource as bd,createSkillSourceRegistry as vd}from"./skill-sources.js";import{SKILL_MANIFEST_VERSION as Bd,SKILL_CONTEXTS as Kd,SKILL_HISTORY_SCOPES as Hd,SKILL_MCP_MODES as wd,SKILL_TRUST as Vd,SKILL_FILE_KINDS as Xd,SKILL_UPCASTERS as Wd,SkillManifestError as Jd,isSafeSkillPath as Yd,originOf as zd,trustOf as jd,skillFiles as Qd,needsBridge as qd,declaredAccess as Zd,originLabel as $d,sameSkillOrigin as eA,skillIsStale as rA,validateSkill as oA,upcastSkill as tA,upcastSkills as aA,normalizeSkill as iA}from"./skill-manifest.js";import{SKILL_VARS as sA,SKILL_VAR_NAMES as SA,skillVar as EA,skillVarPattern as lA,parseSkillVars as TA,lintSkillPrompt as mA,suggestSkillVar as cA,substituteSkillVars as pA,expandSkillPrompt as _A,skillVarGuidance as dA,SkillVarError as AA}from"./skill-vars.js";import{lineAt as fA,writerAffordance as OA,INSTRUCTION_RE as IA,instructionOnLine as NA,GOAL_MIN_NEW as uA,goalDraftAllowed as MA,createSpendMeter as gA,writerTail as CA,draftSeparator as LA,groundingBlock as PA,writerRequest as xA,AUTOCOMPLETE_SYSTEM as DA,AUTOCOMPLETE_MAX_TOKENS as FA,AUTOCOMPLETE_TEMPERATURE as hA,clipCompletion as yA,GEARS as kA,WRITER_PREFS as UA,WRITER_PREF_DEFAULTS as bA,normalizeWriterPrefs as vA,normalizeIntent as GA}from"./cowriter-writer.js";import{SLASH_TYPING_RE as KA,enabledSkills as HA,slashCommandItems as wA,matchSlashSkill as VA,matchSlashRecipe as XA,recipeInvocationText as WA,matchSlashTeam as JA,teamInvocationText as YA,slashCommandInsert as zA,skillInvocationOf as jA,skillInvocationLabel as QA}from"./slash-commands.js";import{outlineOf as ZA,parseListItem as $A,continueList as eR,indentSelection as rR,toggleWrap as oR,toggleLinePrefix as tR,toggleTask as aR,toggleLink as iR,docStats as nR,selectionStats as sR}from"./markdown-authoring.js";import{MAX_TAG_LENGTH as ER,MAX_TAGS as lR,normalizeTag as TR,normalizeTags as mR,hasTag as cR,addTag as pR,removeTag as _R,toggleTag as dR,sameTags as AR,formatTag as RR,parseTagQuery as fR,hasTagTerms as OR,formatTagQuery as IR,matchesTagFilter as NR,filterByTags as uR,tagFacets as MR,suggestExistingTags as gR,tagsSearchText as CR}from"./tags.js";import{UNTITLED_MEETING as PR,MAX_TITLE_LENGTH as xR,TITLE_RULES_VERSION as DR,cleanTitle as FR,isGenericTitle as hR,titleFromSummary as yR,titleFromTopics as kR,titleFromParticipants as UR,titleFromDate as bR,deriveMeetingTitle as vR,shouldAutoTitle as GR,isBetterTitleSource as BR,meetingTitlePrompt as KR,parseTitleResponse as HR}from"./titles.js";import{RECORD_KINDS as VR,MAX_TITLE_LEN as XR,LibraryError as WR,parseRecordId as JR,makeRecordId as YR,isRecordId as zR,normalizeStoredRecord as jR,isValidStoredRecord as QR,toSearchRecord as qR,searchTextFor as ZR,toIndexEntry as $R,deriveTitle as ef,snippetOf as rf,wordCount as of}from"./library.js";import{CLOCK_TOLERANCE_MS as af,SyncError as nf,stampOf as sf,decide as Sf,planSync as Ef,isSettled as lf,forkConflict as Tf,advanceBases as mf}from"./sync-plan.js";import{ENCRYPTED_TYPE as pf,COMPRESSIONS as _f,BackupError as df,KDF_ITERATIONS as Af,encryptBackup as Rf,decryptBackup as ff,isEncryptedBackup as Of,identityCodec as If,streamCodec as Nf,nodeCodec as uf,bestCodec as Mf}from"./backup-envelope.js";import{OMNI_MODES as Cf,OMNI_GRAMMAR as Lf,parseOmni as Pf,extractFilters as xf,resolveSince as Df,wantsModel as Ff,isActionable as hf}from"./omni.js";import{THEMES as kf,LIGHT as Uf,DARK as bf,PALETTES as vf,SHAPE as Gf,TOKEN_NAMES as Bf,TOKEN_ROLES as Kf,paletteFor as Hf,cssVarName as wf,toCssVars as Vf,themeStylesheet as Xf,resolveTheme as Wf}from"./theme.js";import{PLANS as Yf,API_BASE as zf,ENDPOINTS as jf,ENTITLEMENT_PUBLIC_JWK as Qf,UPGRADE_URL as qf,FEATURE_TIER as Zf,PRO_FEATURES as $f,TEAM_FEATURES as eO,FREE_LIMITS as rO,COUNTED as oO,freeCap as tO,observeSince as aO,RECHECK_INTERVAL_MS as iO,EntitlementError as nO,checkoutUrl as sO,planOf as SO,planLabel as EO,isPro as lO,isTeam as TO,can as mO,tierFor as cO,withinFreeLimit as pO,verifyEntitlement as _O,verifySignedToken as dO,licenseFromPayload as AO,needsRecheck as RO}from"./entitlement.js";import{renderMarkdown as OO,defaultLinkPolicy as IO}from"./markdown-render.js";import{parseMeetingText as uO,speakerStats as MO,densityRibbon as gO}from"./meeting-text.js";import{speakerBreakdown as LO,speakerTimeline as PO,formatTalkTime as xO,SPEAKER_SLOTS as DO}from"./meeting-shape.js";import{isSpeakerImageValue as hO,speakerLabeller as yO}from"./meeting-shape.js";import{SORT_MODES as UO,SORT_LABELS as bO,sortStamp as vO,sortRecords as GO,filterRecords as BO,dayBucket as KO,rowTime as HO,groupRecords as wO}from"./record-list.js";import{INSIGHT_KINDS as XO,summarySections as WO,insightKindOf as JO,meetingInsights as YO,hasInsights as zO}from"./meeting-insights.js";import{demd as QO,NOTE_SECTIONS as qO,noteSectionKind as ZO,MOMENT_BADGES as $O,momentBadge as eI,parseMeetingNotes as rI,groupActionsByOwner as oI}from"./meeting-insights.js";import{PREF_SECTIONS as aI,PREF_SECTION_IDS as iI,sectionValue as nI,pickSections as sI,applySections as SI,sectionHash as EI,mergeStamped as lI,changedSections as TI}from"./client-prefs.js";import{McpClient as cI,mcpProvider as pI}from"./mcp-client.js";import{mcpSharedSystem as dI,mcpInventorySystem as AI,sourceCitationSystem as RI,combineSystemPrompt as fI,toolStatus as OI,widgetAuthoringSystem as II,vaultWidgetSystem as NI,wantsVaultGuidance as uI}from"./tool-hints.js";import{adaptiveToolRetryHint as gI,createAdaptiveToolPolicy as CI,isInvalidToolParametersResult as LI}from"./adaptive-tool-policy.js";import{getMcpProviders as xI,testMcpServer as DI,resetMcp as FI,mcpBackoff as hI}from"./mcp-manager.js";import{SIDELINE_COMMANDS as kI,BRINGBACK_COMMAND as UI,THREAD_TOOL_NAME as bI,SIDELINE_SLASH_ITEMS as vI,THREAD_TOOL_SPEC as GI,parseSideline as BI,parseBringBack as KI,resolveSidelineTarget as HI,threadManifest as wI,threadToolProvider as VI,readThread as XI,briefPrompt as WI,foldBackNote as JI,foldNotes as YI,nextSidelineIndex as zI,sourceOf as jI,noteUnits as QI,sidelinePath as qI,foldBackFor as ZI,SIDELINE_TOOL_NAME as $I,SIDELINE_TOOL_SPEC as eN,sidelineToolProvider as rN}from"./sideline.js";import{WEATHER_TOOL_NAME as tN,WEATHER_TOOL_SYSTEM as aN,weatherToolProvider as iN}from"./weather-tool.js";import{renderContent as sN,toChatMessages as SN,toMultimodalMessages as EN,imageAttachmentsOf as lN,deferAttachedSources as TN,withSourceTool as mN,SOURCE_TOOL_SPEC as cN}from"./context-attachments.js";import{PolicyError as _N,POLICY_VERSION as dN,POLICY_TOKEN_TYPE as AN,REDACTION_TIERS as RN,LOCKABLE as fN,FEATURES as ON,PERMISSION_MODES as IN,PRODUCT_HOSTS as NN,normalizeOrgPolicy as uN,endpointAllowed as MN,modelAllowed as gN,agentAllowed as CN,permissionMode as LN,routeAllowed as PN,redactionTier as xN,egressAllowed as DN,settingLocked as FN,featureEnabled as hN,applyPolicyToSettings as yN,policyLabel as kN,policyHash as UN,verifyPolicyToken as bN,globToRegExp as vN}from"./policy.js";export{ta as ACCESS_LOG_MAX,oa as ACCESS_LOG_VERSION,i as ACTOR_KINDS,$m as AGENT_ID_RE,xl as AGENT_REF_RE,w_ as ALLOW_ALL,a as ALL_TYPES,Ed as AMBIENT_KINDS,zf as API_BASE,ec as APPLIES_TO,eT as ASK_TYPES,oc as ASSISTANT_ID,FA as AUTOCOMPLETE_MAX_TOKENS,DA as AUTOCOMPLETE_SYSTEM,hA as AUTOCOMPLETE_TEMPERATURE,im as AUTONOMY,_a as AdapterError,tc as AgentError,On as AnalyzerError,Af as BACKUP_KDF_ITERATIONS,ET as BOARD_TOOL_NAME,bo as BRIEF_STATES,UI as BRINGBACK_COMMAND,cl as BUDGET_DIMENSIONS,en as BUILTIN_TRIGGERS,Kn as BUILTIN_VOICE_INTENTS,df as BackupError,ml as BudgetError,fn as CADENCES,sm as CHECKS,vo as CLAIM_KINDS,s as CLASSES,af as CLOCK_TOLERANCE_MS,_f as COMPRESSIONS,XE as COMPRESSION_MODES,uS as COOLDOWN_MS,oO as COUNTED,ke as COWRITER_SYSTEM,Ue as COWRITER_TEMPERATURE,o as CURRENT_VERSION,bf as DARK,ad as DATA_SCOPES,Mn as DAYPART_HOUR,Oc as DECLINE_REASONS,lT as DEFAULT_ASK_TIMEOUT_MS,cd as DEFAULT_BLOCK_CHARS,WE as DEFAULT_COMPRESSION,am as DEFAULT_GATE,mi as DEFAULT_INTERNAL_PATTERNS,ui as DEFAULT_LOCK_MS,zS as DEFAULT_MAX_FINISH_TRIES,md as DEFAULT_MAX_MEMORIES,YS as DEFAULT_MAX_ROUNDS,Wc as DEFAULT_MIN_CALLS,SE as DEFAULT_SHIELD,EE as DEFAULT_STORE,Ro as DEFAULT_THRESHOLD,Nn as DEFAULT_WAKE,OE as DESCRIBE_ACTION,S as EFFECTS,E as EGRESS,rc as EGRESS_CLASSES,pf as ENCRYPTED_TYPE,jf as ENDPOINTS,hr as ENGINE_KINDS,Vm as ENGINE_SPEC_KINDS,fs as ENTITIES_SCHEMA,Qf as ENTITLEMENT_PUBLIC_JWK,Rs as ENTITY_TYPES,La as ENTRY_KINDS,t as EVENT_TYPES,Im as EXECUTIVE,qS as EXHAUSTED_NOTE,nO as EntitlementError,l as EventError,Qa as FAILOVER_CAPABILITY_GAP,ja as FAILOVER_CLASS_GAP,xS as FAILOVER_MAX_ATTEMPTS,ON as FEATURES,Zf as FEATURE_TIER,ys as FIELD_TYPES,zl as FINDINGS_SCHEMA,jl as FINDING_KINDS,dE as FIND_ACTION,DE as FIND_DESCRIPTION,FE as FIND_RESIDENT,xE as FIND_TOOL_NAME,jS as FINISH_NUDGES,rO as FREE_LIMITS,kA as GEARS,uA as GOAL_MIN_NEW,Cl as GRANTABLE,O_ as GRANT_INFO,Pl as GRANT_RE,nm as HUMAN_FLAGS,fS as INPUT_PROGRESS_TOOLS,XO as INSIGHT_KINDS,IA as INSTRUCTION_RE,ci as INTERNAL_PATTERN_CATALOG,Or as INVARIANTS,Wi as JOB_ACTIONS,ZT as JOB_POST_ID_RE,qT as JOB_POST_STATUSES,QT as JobPostError,Ni as KDF_HASH,Ii as KDF_ITERATIONS,K_ as KernelError,fc as LEDGER_ENTRY_KINDS,Rc as LEDGER_VERSION,Uf as LIGHT,OT as LIVE_RUN_STATUSES,fN as LOCKABLE,QS as LOOPING_NUDGE,ba as LOOP_KINDS,WR as LibraryError,va as LoopError,Ho as MAX_BRIEF_CHARS,Ko as MAX_BRIEF_RECORDS,Go as MAX_CLAIMS,Bo as MAX_CLAIM_REFS,un as MAX_COMMANDS_PER_DELTA,Jp as MAX_DEPTH,Pi as MAX_ENTRIES,at as MAX_EXCERPTS,it as MAX_EXCERPT_CHARS,ue as MAX_GRAPH_NODES,Nm as MAX_JOBS_PER_ROUND,od as MAX_MATCHES,ld as MAX_MEMORY_CHARS,Ci as MAX_NOTE_CHARS,um as MAX_ROUNDS,Li as MAX_SECRET_CHARS,fo as MAX_SUBJECTS,Oo as MAX_SUBJECT_CHARS,Wp as MAX_SUBTASKS,gs as MAX_SUGGESTIONS,Cs as MAX_SUGGESTION_CHARS,tt as MAX_SYNTHESIS_CLAIMS,lR as MAX_TAGS,ER as MAX_TAG_LENGTH,gi as MAX_TITLE_CHARS,XR as MAX_TITLE_LEN,xR as MAX_TITLE_LENGTH,Ss as MAX_TOPICS,Es as MAX_TOPIC_CHARS,h_ as MCP_TOOL_NAME,sd as MEMORY_KINDS,Sd as MEMORY_KIND_NAMES,_d as MEMORY_TOOL_SPEC,dd as MEMORY_UPCASTERS,nd as MEMORY_VERSION,Ml as MERGE_POLICIES,Pc as MIN_FIT,Td as MIN_MEMORY_CHARS,Yp as MIN_TAKEUP_FIT,Ji as MISSED_POLICIES,$O as MOMENT_BADGES,U_ as ManifestError,cI as McpClient,Ad as MemoryError,Dt as NEAR_TITLE_DISTANCE,b as NOTE_ACTIONS,B as NOTE_ACTION_ERRORS,v as NOTE_ACTION_ORDER,G as NOTE_ACTION_TEMPERATURE,K as NOTE_COMMANDS,w as NOTE_COMMAND_MAX_TOKENS,H as NOTE_COMMAND_TEMPERATURE,qO as NOTE_SECTIONS,RS as OBSERVATION_TOOLS,Lf as OMNI_GRAMMAR,Cf as OMNI_MODES,vf as PALETTES,sS as PARALLEL_LOCAL_RE,yt as PDF_MAX_CHARS,IN as PERMISSION_MODES,Yf as PLANS,Je as PLAN_AUTHORS,ze as PLAN_DECOMPOSE_MAX_TOKENS,Ye as PLAN_DECOMPOSE_SYSTEM,je as PLAN_DECOMPOSE_TEMPERATURE,gl as PLAN_MODES,We as PLAN_ROLES,Qe as PLAN_SECTION_MAX_TOKENS,qe as PLAN_SECTION_TEMPERATURE,AN as POLICY_TOKEN_TYPE,dN as POLICY_VERSION,Zl as POST_KINDS,$l as POST_STATUSES,aI as PREF_SECTIONS,iI as PREF_SECTION_IDS,NN as PRODUCT_HOSTS,BT as PROJECT_ID_RE,Rm as PROJECT_JOBS_SCHEMA,fm as PROJECT_REVIEW_SCHEMA,Mm as PROJECT_RUN_STATUSES,GT as PROJECT_STATUSES,st as PROPOSAL_STATES,$f as PRO_FEATURES,_N as PolicyError,vT as ProjectError,Om as ProjectRunError,ir as REACH,iO as RECHECK_INTERVAL_MS,rl as RECIPE_MODES,nl as RECIPE_TOOL_NAME,Hm as RECORD_ENGINE_KINDS,VR as RECORD_KINDS,Lc as RECRUIT_SCHEMA,RN as REDACTION_TIERS,xo as REDACTION_TOKEN_TYPES,Jn as REFINEMENT_SCHEMA,_ as REF_KINDS,Lr as REGISTRY_STATES,H_ as REQUIRED_PLUGINS,d as RESOLUTION,ks as RESPONSE_MODES,_e as RESULTS_PER_ENGINE,sE as RESULT_TOOL_NAME,IT as RESUMABLE_RUN_STATUSES,Oa as RETRIEVAL_TOOLS,Bm as ROLE_KINDS,ul as ROLE_MODES,u_ as ROSTER_KINDS,ZS as ROUND_SEPARATOR,Xm as ROUTE_PREFERS,Np as RUN_STATUSES,el as RecipeError,Za as RouterError,Ri as RuleError,pd as SAME_FACT,Vi as SCHEDULE_KINDS,jc as SCM_KINDS,n as SCOPE_KINDS,Gm as SCORECARD_ENTRY_KINDS,Km as SCORECARD_VERSION,pe as SEARCH_ENGINES,Fo as SELF_LABELS,Gf as SHAPE,kI as SIDELINE_COMMANDS,vI as SIDELINE_SLASH_ITEMS,$I as SIDELINE_TOOL_NAME,eN as SIDELINE_TOOL_SPEC,Kd as SKILL_CONTEXTS,Xd as SKILL_FILE_KINDS,Hd as SKILL_HISTORY_SCOPES,Bd as SKILL_MANIFEST_VERSION,wd as SKILL_MCP_MODES,Vd as SKILL_TRUST,Wd as SKILL_UPCASTERS,sA as SKILL_VARS,SA as SKILL_VAR_NAMES,KA as SLASH_TYPING_RE,I_ as SOLO_BUDGET,bO as SORT_LABELS,UO as SORT_MODES,b_ as SOURCES,cN as SOURCE_TOOL_SPEC,kd as SOURCE_TRUST,Ft as SPAN_MIN_TERMS,DO as SPEAKER_SLOTS,CT as STALLED_AFTER_MS,mc as STARTER_AGENTS,Dl as STARTER_TEAMS,pp as STEP_MAX_CHARS,Ao as SUBJECT_KINDS,Ls as SUGGESTIONS_SCHEMA,St as SUPERSEDE_OVERLAP,Ai as SUPPRESSED,se as SWARM_ROLES,et as SYNTHESIS_SCHEMA,Yi as ScheduleError,yr as SearchEngineError,Jd as SkillManifestError,Ud as SkillSourceError,AA as SkillVarError,Us as StructuredError,nf as SyncError,_p as TASK_TRANSCRIPT_MAX_CHARS,eO as TEAM_FEATURES,Hl as TEAM_PLAN_SCHEMA,N_ as TEAM_SHAPES,Pp as TEAM_TOOL_NAME,kf as THEMES,Ql as THREAD_KINDS,ql as THREAD_STATUSES,bI as THREAD_TOOL_NAME,GI as THREAD_TOOL_SPEC,DR as TITLE_RULES_VERSION,Bf as TOKEN_NAMES,Kf as TOKEN_ROLES,ls as TOPICS_SCHEMA,wt as TRANSCRIPT_MAX_CHARS,Xi as TRIGGER_KINDS,Nl as TeamError,Ip as TeamRunError,Yr as ToolGroupError,MS as UNAVAILABLE_REASONS,PR as UNTITLED_MEETING,Er as UPCASTERS,qf as UPGRADE_URL,ns as UTTERANCE_DANGLING_MS,is as UTTERANCE_SETTLE_MS,Oi as VAULT_VERSION,Mi as VaultError,gn as VoiceIntentError,Hr as WEATHER_HOST,wr as WEATHER_TIMEOUT_MS,tN as WEATHER_TOOL_NAME,aN as WEATHER_TOOL_SYSTEM,bE as WEB_SEARCH_SPEC,kE as WEB_SEARCH_TOOL_NAME,UE as WEB_SEARCH_TOOL_SYSTEM,lo as WIDGET_SURFACES,Ic as WITHDRAW_AFTER,kp as WORKLOG_KINDS,Ll as WORK_GRANTS,UA as WRITER_PREFS,bA as WRITER_PREF_DEFAULTS,Vr as WeatherError,Ht as YOUTUBE_HOSTS,lt as accept,IE as actionMenu,gI as adaptiveToolRetryHint,pR as addTag,VS as addUsage,km as adjustSummary,mf as advanceBases,CN as agentAllowed,S_ as agentColor,_c as agentFromForm,s_ as agentHue,E_ as agentInitials,n_ as agentKind,q as agentMentionAt,go as aliasMap,JS as anthropicTranscript,WT as applyAll,Yc as applyCard,ye as applyEdits,yN as applyPolicyToSettings,SI as applySections,Te as appoint,Br as areaLabel,sc as assistantAgent,Fr as attemptOrder,Dm as attest,eS as bareToolName,Mf as bestCodec,pc as blankAgent,ap as blankConnection,zT as blankJobPost,hT as blankProject,hl as blankTeam,AS as blockedToolResult,Wl as boardText,iT as boardToolProvider,nT as boardToolSpec,ep as branchFor,Kl as breakCycles,Vo as briefId,Jo as briefLinks,WI as briefPrompt,Wo as briefTerms,Xo as briefToText,NE as buildGroupDispatchSpec,Me as buildNoteGraph,Bt as buildPdfDocument,de as buildSearchUrl,RE as buildToolset,Na as buildTrajectory,$t as buildTranscriptDocument,__ as builtinOrg,mO as can,Bi as canAddEntry,XT as canJobPostTransition,FT as canProjectTransition,rS as canRunConcurrently,_r as canSatisfy,Md as candidatesFrom,Cm as canonical,Wt as captionTracksFromPlayerResponse,T_ as cardNumbers,Jc as cardOverride,Hc as carveBudget,u as causesAreWellFormed,TI as changedSections,fr as checkInvariants,Yo as checkKnowledgeInvariants,sO as checkoutUrl,RT as checkpointFrom,ot as claimsFromSynthesis,IS as classifyFailure,Ee as classifyModel,ni as classifySource,FR as cleanTitle,yA as clipCompletion,lp as clipMessage,pn as clipText,Ep as clipTranscript,Ws as coerce,us as coerceEntities,fI as combineSystemPrompt,Y as commandLineAt,os as commandLooksFinished,xn as commandsFromSegments,iE as compactValue,N as compareEvents,j_ as compileQuery,Cn as compileWake,KE as compressToolSpec,HE as compressToolSpecs,wE as compressionStats,$c as connectionFor,ip as connectionFromForm,ud as containment,wo as contentHash,mp as continuationNote,eR as continueList,ct as converge,na as createAccessLog,pa as createAdapterRegistry,CI as createAdaptiveToolPolicy,Rn as createAnalyzerRegistry,sT as createAnswerBox,c as createAppender,Mr as createBlobStore,Vl as createBoard,Sl as createBudget,GS as createCallRunner,fa as createCitationCollector,cp as createControl,G_ as createKernel,ur as createLogStore,k_ as createManifest,Nr as createMemoryAdapter,NS as createModelHealth,wa as createModelRouter,Cr as createRegistry,eE as createResultStore,di as createRuleEngine,mT as createRunCache,vd as createSkillSourceRegistry,gA as createSpendMeter,Ys as createStructuredStream,Jr as createToolGroupRegistry,mS as createToolLoopGuard,$i as createTriggerRegistry,ka as createTurnRunner,as as createUtteranceGate,xi as createVault,Gn as createVoiceIntentRegistry,op as credentialEnv,wf as cssVarName,KO as dayBucket,Sf as decide,vc as decideRecruit,Zd as declaredAccess,ff as decryptBackup,IO as defaultLinkPolicy,y as defaultModelId,Bn as defaultVoiceIntents,TN as deferAttachedSources,ca as defineAdapter,nc as defineAgent,ln as defineJob,VT as defineJobPost,Ua as defineLoop,An as defineMeetingAnalyzer,Ka as defineMiddleware,Ba as defineModel,DT as defineProject,Ha as defineRouteStrategy,_i as defineRule,bs as defineSchema,xr as defineSearchEngine,bd as defineSkillSource,_l as defineTeam,Wr as defineToolGroup,Zi as defineTrigger,vn as defineVoiceIntent,QO as demd,gO as densityRibbon,L as dequeue,Qo as deriveBrief,qo as deriveBriefs,Fi as deriveKey,vR as deriveMeetingTitle,ef as deriveTitle,Ec as describeAgent,yp as describeCall,tp as describeConnection,Qm as describeEngine,il as describeRecipeForApproval,Il as describeRole,vs as describeSchema,aE as describeShape,uT as describeSpend,Lp as describeTeamForApproval,t_ as describeTeamShape,HS as describeToolCall,mt as diffProposal,Ca as displayName,nR as docStats,LA as draftSeparator,Zo as driftedRefs,qE as dryRunRecipe,fp as dryRunTeam,Tn as dueJobs,ut as duplicateTitles,Lo as earnsBrief,bn as editDistance,he as editKey,om as effectiveGate,So as effectiveGrants,iS as effectiveToolName,ge as egoGraph,DN as egressAllowed,rT as emptyBoardState,kT as emptyProjectRecord,_T as emptyRun,HA as enabledSkills,Rf as encryptBackup,MN as endpointAllowed,bm as engineKey,jm as engineKeyOf,Sc as engineOf,Ie as engineOrder,zm as engineRef,xc as engineRow,Dc as engineRows,x_ as engineStrip,yc as engineWorth,Is as entitiesFormat,Os as entitiesPrompt,Ms as entitiesStream,Ui as entryMeta,LE as estimateTokens,Uc as evaluatorPrompt,zE as expandRecipe,Z_ as expandReplacement,_A as expandSkillPrompt,js as explainMcpError,wp as extendDependents,xf as extractFilters,si as extractUrls,PS as failoverExhausted,Ya as failoverOrder,hN as featureEnabled,uR as filterByTags,ga as filterEntries,J as filterNoteActions,BO as filterRecords,h as filterSections,Fe as filterTypoEdits,cE as findActionArgs,hE as findDispatchProvider,Hs as findJson,Q_ as findMatches,ee as findSkillByName,re as findTargetByName,TE as findTools,mE as findToolsResult,Ln as findWakeCommand,Jl as findingsInstruction,tT as findingsOf,ym as fit,bl as fixedPlan,ZI as foldBackFor,JI as foldBackNote,oT as foldBoard,YI as foldNotes,UT as foldProject,dT as foldRun,Tf as forkConflict,Sa as formatBytes,W_ as formatReport,xt as formatSurvey,RR as formatTag,IR as formatTagQuery,xO as formatTalkTime,qt as formatTimestamp,Zt as formatTranscript,Gr as formatWeather,V as frameNoteAction,tO as freeCap,Hi as fromB64,mo as fuseRRF,tm as gateAllows,xI as getMcpProviders,Ur as getWeather,rs as gistOpening,es as gistText,vN as globToRegExp,MA as goalDraftAllowed,fl as grantAllows,A_ as grantChoices,R_ as grantsFromChoices,Qr as grantsNeededFor,Le as graphStats,PA as groundingBlock,oI as groupActionsByOwner,F as groupModels,wO as groupRecords,Qt as groupSegments,zO as hasInsights,cR as hasTag,OR as hasTagTerms,Kp as holdsGrants,Si as hostMatches,If as identityCodec,lN as imageAttachmentsOf,rR as indentSelection,JO as insightKindOf,NA as instructionOnLine,hf as isActionable,Kr as isAmbiguousLocation,BR as isBetterTitleSource,d_ as isBuiltin,oS as isCacheable,Of as isEncryptedBackup,$n as isFillerSentence,hR as isGenericTitle,LI as isInvalidToolParametersResult,vi as isLocked,dS as isLoopableTool,Op as isModelUnavailable,Xs as isNothing,lO as isPro,C as isQueued,zR as isRecordId,Do as isRedactionToken,R as isRef,Re as isResultHost,fT as isResumable,Yd as isSafeSkillPath,ho as isSelfLabel,lf as isSettled,kS as isSourceGateError,hO as isSpeakerImageValue,qs as isStaleMcpSession,Mo as isSubjectCandidate,TO as isTeam,m as isValidEvent,fd as isValidMemory,QR as isValidStoredRecord,Xt as isYouTubeUrl,kc as jobApplications,Hp as jobFromSubtask,jT as jobPostFromForm,mm as jobResults,JT as jobToRole,mn as jobsForEvent,dm as jobsPrompt,Ma as lanesOf,$r as layoutFlowchart,Nc as ledgerKey,AO as licenseFromPayload,fA as lineAt,I as linearize,kt as linesFromItems,pt as linkClaims,Aa as linkifyCitations,mA as lintSkillPrompt,xe as lintText,Gi as lockedSummary,Gt as looksScanned,ia as makeAccessEvent,CE as makeDispatchProvider,Pm as makeEntry,ME as makeGroupDispatchExecutor,Mc as makeLedgerEntry,YR as makeRecordId,A as makeRef,ei as makeSourceStore,sa as makeStorageTier,ri as manifestText,QE as mapInput,xd as markUsed,Cd as matchForForget,q_ as matchIndexFor,XA as matchSlashRecipe,VA as matchSlashSkill,JA as matchSlashTeam,_n as matchSummary,NR as matchesTagFilter,hI as mcpBackoff,F_ as mcpDispatchProvider,AI as mcpInventorySystem,pI as mcpProvider,dI as mcpSharedSystem,B_ as meetDecisions,Ei as meetReach,tn as meetingEndedTrigger,YO as meetingInsights,on as meetingStartedTrigger,KR as meetingTitlePrompt,Pd as memoryBlock,Od as memoryKey,Fd as memoryToolSystem,oe as mentionAnswerPrefix,gt as mentionsFrom,Oe as mergeEngineResults,Ve as mergeResearchLanes,$ as mergeSkillPrompt,lI as mergeStamped,Sp as mergeTranscript,sp as messagesFor,e_ as missingStarters,gN as modelAllowed,k as modelSummary,eI as momentBadge,Wn as monitorIntent,P as moveQueued,po as multiSearch,Fc as needForJob,qd as needsBridge,tS as needsConfirmation,RO as needsRecheck,Tp as newSteps,ji as nextFireAt,zI as nextSidelineIndex,qi as nextWakeAt,uf as nodeCodec,gS as normModelName,ic as normalizeAgent,ll as normalizeBudget,uc as normalizeCall,qc as normalizeConnection,Um as normalizeEngine,Jm as normalizeEngineSpec,rm as normalizeGate,Rl as normalizeGrants,GA as normalizeIntent,wT as normalizeJobPost,Rd as normalizeMemory,uN as normalizeOrgPolicy,Wm as normalizePolicy,xT as normalizeProject,dt as normalizeRecord,At as normalizeRecords,bp as normalizeRequest,vm as normalizeScm,iA as normalizeSkill,kn as normalizeSpeech,jR as normalizeStoredRecord,Io as normalizeSubject,TR as normalizeTag,mR as normalizeTags,Al as normalizeTeam,_s as normalizeTopic,ds as normalizeTopics,XS as normalizeUsage,vA as normalizeWriterPrefs,W as noteActionItems,X as noteActionLabel,Xn as noteIntent,ZO as noteSectionKind,QI as noteUnits,g_ as observeInbox,aO as observeSince,C_ as observeStrip,cn as occurrenceKey,Qi as occurrencesBetween,pE as oneLiner,WS as openAiTranscript,yi as openEntry,Ut as orderLines,$d as originLabel,zd as originOf,Nt as orphanRecords,ZA as outlineOf,_E as overlapRank,Qs as packageFromArgs,vt as pageTextFromItems,Hf as paletteFor,bt as paragraphsFromLines,nS as parallelEligible,Q as parseAgentMention,zo as parseBriefText,KI as parseBringBack,Fn as parseClock,Pn as parseCommand,Dn as parseDuration,Ns as parseEntities,bc as parseEvaluation,Xl as parseFindings,Zr as parseFlowchart,pm as parseJobs,J_ as parseJsonl,$A as parseListItem,rI as parseMeetingNotes,uO as parseMeetingText,yn as parseNumberWords,Pf as parseOmni,vl as parsePlan,$e as parsePlanTasks,JR as parseRecordId,jn as parseRefinement,Zc as parseRemote,_m as parseReview,BI as parseSideline,Z as parseSkillMention,TA as parseSkillVars,Js as parseStructured,Ds as parseSuggestions,fR as parseTagQuery,jt as parseTimedText,HR as parseTitleResponse,ps as parseTopics,vr as parseWeather,hn as parseWhen,Vt as parseYouTubeUrl,g as pendingQueue,LN as permissionMode,an as personJoinedTrigger,ua as phasesOf,nn as phraseTrigger,Yt as pickCaptionTrack,fe as pickResults,sI as pickSections,za as pinnedOrderOf,tr as planAttribution,or as planBody,EO as planLabel,SO as planOf,rr as planParts,co as planQueries,Ze as planSectionSystem,Ef as planSync,er as planTitleFor,ES as planToolRound,Gl as plannerPrompt,UN as policyHash,kN as policyLabel,dc as poolFor,Ja as preferenceFor,gT as priorWorkFor,Ta as projectChain,yT as projectFromForm,bT as projectProgress,x as promoteQueued,Zp as promoteRoles,Da as promptEntries,Bc as proposalFromNeeds,Kc as proposalToAgent,Et as propose,Dd as pruneMemories,Sn as questionTrigger,ie as rankLinkTargets,we as rankResearchCards,Po as rankSubjects,nr as reachRank,sr as reachSatisfies,ti as readSource,XI as readThread,YT as readyJobs,Ld as recall,WA as recipeInvocationText,jE as recipeParams,tl as recipeToolProvider,al as recipeToolSpec,gd as reconcile,Dr as reconcileEngines,wc as recruitEvents,Gc as recruitForRun,Vc as recruitJob,aa as redactAccessArgs,ft as redactedTokensIn,Ot as redactionCost,xN as redactionTier,Zn as refineSpokenCommand,zn as refinementFormat,Yn as refinementPrompt,Qn as refinementStream,Tt as reject,wn as reminderIntent,_R as removeTag,sN as renderContent,eo as renderFlowchartSvg,OO as renderMarkdown,Vs as repairJson,ed as replaceAll,rd as replaceAllInRange,$_ as replaceMatch,X_ as replay,Xa as requirementsFor,Wa as requirementsForStep,Be as researchRelevance,He as researchSnippet,FI as resetMcp,f as resolveRef,HI as resolveSidelineTarget,Df as resolveSince,Co as resolveSubjects,Tc as resolveTeam,Wf as resolveTheme,Bs as responseFormat,nE as resultToolSpec,Rp as resumeTeam,Am as reviewPrompt,ws as rewriteJson,Se as roleById,l_ as roleCardId,i_ as rosterRows,cm as roundBudget,BS as roundCap,lm as roundJobs,cS as roundSignature,PN as routeAllowed,hc as routeFor,la as routeGraph,me as routeTeam,HO as rowTime,AT as runFromEvents,L_ as runLanes,ZE as runPlan,Em as runProject,$E as runRecipe,oE as runResultQuery,MT as runState,Ap as runTeam,lS as runToolRound,vS as runTurnLoop,LS as runWithFailover,ve as salientTerms,qa as sameModelKey,eA as sameSkillOrigin,AR as sameTags,ts as sameUtterance,Vn as scheduleIntent,Ol as scmAllows,hi as sealEntry,bi as searchEntries,vE as searchResultsToText,ZR as searchTextFor,EI as sectionHash,nI as sectionValue,sR as selectionStats,FN as settingLocked,qn as settleRefinement,Lm as sha256,rE as shieldToolResult,oi as shortUrl,GR as shouldAutoTitle,qI as sidelinePath,rN as sidelineToolProvider,Va as signalsFrom,Nd as similarity,f_ as skillChoices,Qd as skillFiles,QA as skillInvocationLabel,jA as skillInvocationOf,rA as skillIsStale,EA as skillVar,dA as skillVarGuidance,lA as skillVarPattern,zA as slashCommandInsert,wA as slashCommandItems,Id as slotOf,lc as slugAgentId,kl as slugTeamName,rf as snippetOf,c_ as soloTeam,GO as sortRecords,vO as sortStamp,RI as sourceCitationSystem,yS as sourceGate,hS as sourceGuardFor,ai as sourceId,jI as sourceOf,li as sourcePolicyFor,FS as sourcePolicySettings,Ti as sourceUrlsOf,Ra as sourcesFromToolText,Ct as spanningQuestions,LO as speakerBreakdown,yO as speakerLabeller,MO as speakerStats,PO as speakerTimeline,NT as spendOf,P_ as spendRows,pS as stableToolCallKey,sf as stampOf,cc as starterAgents,$p as starterTeam,Fl as starterTeams,wS as stepResultText,Nf as streamCodec,yo as stripQualifiers,No as subjectKey,uo as subjectTokens,pA as substituteSkillVars,vp as subtaskFromRequest,gR as suggestExistingTags,ko as suggestMerges,cA as suggestSkillVar,xs as suggestionsFormat,Ps as suggestionsPrompt,Fs as suggestionsStream,hm as summarize,gc as summarizeEngine,WO as summarySections,le as supportsSubagents,Lt as surveyCorpus,rt as synthesisPrompt,MR as tagFacets,CR as tagsSearchText,Gp as takeUp,Bp as takeUpLine,Vp as taskTree,Tm as teamForRound,yl as teamFromForm,r_ as teamHealth,YA as teamInvocationText,Qp as teamLanes,jp as teamLine,o_ as teamShape,Mp as teamToolProvider,gp as teamToolSpec,Cp as teamToolTimeoutMs,p_ as teamsWithSolos,DI as testMcpServer,Xf as themeStylesheet,wI as threadManifest,Xp as threadRows,xa as threadTitle,VI as threadToolProvider,ha as threadTree,Pa as threadsOf,Pt as thresholdSweep,cO as tierFor,qm as tierOf,zt as timedTextUrl,Hn as timerIntent,rn as timerTrigger,bR as titleFromDate,UR as titleFromParticipants,yR as titleFromSummary,kR as titleFromTopics,Ki as toB64,Yl as toBriefClaims,SN as toChatMessages,Vf as toCssVars,$R as toIndexEntry,Gs as toJsonSchema,Y_ as toJsonl,dr as toModelSchema,Ar as toModelSchemas,EN as toMultimodalMessages,qR as toSearchRecord,tR as toggleLinePrefix,iR as toggleLink,dR as toggleTag,aR as toggleTask,oR as toggleWrap,Un as tokenize,_S as toolMadeProgress,jr as toolNeedFor,OI as toolStatus,$s as toolTraits,Ge as topicTerms,sn as topicTrigger,cs as topicsFormat,ms as topicsPrompt,Ts as topicsSchema,As as topicsStream,aS as traitsIndex,ea as transcriptFromTracks,z as triggerQueryAt,VE as trimDescription,Ce as trimGraph,jd as trustOf,Fa as turnsOf,Ks as unfence,Di as unlockVault,Ae as unwrapRedirect,lr as upcast,Tr as upcastAll,hd as upcastMemory,tA as upcastSkill,aA as upcastSkills,m_ as upsertAgents,Tl as usageOf,uE as validateAction,ac as validateAgent,El as validateBudget,cr as validateCapability,Qc as validateConnection,Ym as validateEngineSpec,ki as validateEntry,T as validateEvent,em as validateGate,pr as validateInvocation,HT as validateJobPost,PT as validateProject,YE as validateRecipe,zi as validateSchedule,oA as validateSkill,dl as validateTeam,oo as validateView,to as validateViewInvocation,no as validateWidget,so as validateWidgetMessage,NI as vaultWidgetSystem,Fm as verifyAttested,xm as verifyChain,_O as verifyEntitlement,bN as verifyPolicyToken,dO as verifySignedToken,Jt as videoMetaFromPlayerResponse,ao as viewResult,Mt as vocabularyDrift,En as voiceCommandTrigger,It as wantedPages,Ff as wantsModel,uI as wantsVaultGuidance,Bl as waves,iN as weatherToolProvider,br as weatherUrl,Ke as webQuery,GE as webSearchToolProvider,a_ as whereItWorks,II as widgetAuthoringSystem,Eo as widgetIcon,ae as wikiQueryAt,Rt as wikilinksIn,ST as withBoardTool,gE as withGuidance,tE as withResultShield,cT as withRunCache,mN as withSourceTool,KS as withToolSystem,pO as withinFreeLimit,US as withinReach,of as wordCount,De as wordDiff,hp as workLogEvidence,Dp as workLogFor,Fp as workLogText,rp as worktreeDirFor,OA as writerAffordance,xA as writerRequest,CA as writerTail};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chatpanel/events",
3
- "version": "0.107.0",
3
+ "version": "0.108.0",
4
4
  "description": "The canonical ChatPanel event-log and capability contracts — typed durable facts, clock-free deterministic linearization, schema upcasting, and the invariants the replay harness asserts. Pure, dependency-free ESM shared by the ChatPanel extension, gateway and bridge.",
5
5
  "type": "module",
6
6
  "main": "index.js",
package/sideline.js CHANGED
@@ -1,7 +1,19 @@
1
- import{approxTokens as g,queryTerms as b}from"./sources-retrieval.js";const N=Object.freeze(["sideline","breakout"]),A="bringback",f="thread",M=Object.freeze([{command:"sideline",icon:"⇲",description:"Ask on the side without stopping this thread — @ a team, agent or model to hand it elsewhere"},{command:"bringback",icon:"⇱",description:'Fold the open sideline into this thread as a brief (or "full")'},{command:"breakout",icon:"⇲",description:"Same as /sideline"}]);function O(o){const r=/^\/(sideline|breakout)\b\s*([\s\S]*)$/i.exec(String(o||"").trim());if(!r)return null;let i=r[2].trim(),t=null;const s=/^@(?:(team|agent|cli|model):)?(?:"([^"]+)"|([^\s]+))\s*/i.exec(i);return s&&(t={kind:s[1]?s[1].toLowerCase():null,name:(s[2]||s[3]||"").trim()},i=i.slice(s[0].length).trim()),{question:i,target:t}}function T(o){const r=/^\/bringback\b\s*(full|brief)?\s*$/i.exec(String(o||"").trim());return r?{mode:r[1]?r[1].toLowerCase():"brief"}:null}function q(o,{teams:r=[],agents:i=[],clis:t=[],models:s=[]}={}){if(!o?.name)return null;const l=o.name.toLowerCase(),n=e=>String(e||"").toLowerCase()===l,c=[["team",r,e=>n(e.name)||n(e.id)],["agent",i,e=>n(e.name)||n(e.id)],["cli",t,e=>n(e.id)||n(e.label)||n(e.name)],["model",s,e=>n(e.id)||n(e.label)||n(e.model)||n(e.name)]];for(const[e,a,u]of c){if(o.kind&&o.kind!==e)continue;const h=(a||[]).find(d=>d&&u(d));if(h)return{kind:e,ref:h}}return null}function p(o=[]){return(o||[]).filter(r=>r&&(r.role==="user"||r.role==="assistant"))}function S({title:o="",messages:r=[],sources:i=[]}={}){const t=p(r),s=[...t].reverse().find(e=>e.role==="user"),l=String(s?.content||"").replace(/\s+/g," ").trim().slice(0,240),n=(i||[]).map(e=>e?.title||e?.url).filter(Boolean).slice(0,6);return[`Main thread${o?`: "${o}"`:""} — ${t.length} message${t.length===1?"":"s"}, ~${g(t.map(e=>e.content||"").join(" "))} tokens.`,l?`The main thread is currently working on: "${l}${l.length===240?"…":""}"`:"",n.length?`Attached there: ${n.join(" · ")}.`:"",`Its content is NOT in this conversation. Call \`${f}\` to search it or read a range of messages when the question depends on it — and only then.`].filter(Boolean).join(`
2
- `)}const k=Object.freeze({name:f,annotations:{readOnlyHint:!0,idempotentHint:!0},description:"Search or read the MAIN thread this sideline branched from. Its messages are not in this conversation; use this when the question depends on what was said or found there.",parameters:{type:"object",properties:{action:{type:"string",enum:["search","read","latest"],description:"search: messages matching a query (numbered). read: messages from..to by number. latest: the last n messages."},query:{type:"string",description:"For search: what you are looking for."},from:{type:"integer",description:"For read: first message number (1 = oldest)."},to:{type:"integer",description:"For read: last message number (inclusive)."},n:{type:"integer",description:"For latest: how many (default 4)."}},required:["action"],additionalProperties:!1}}),x=320;function w(o,r){const i=String(o||"").replace(/\s+/g," ").trim();if(i.length<=x)return i;const t=i.toLowerCase();let s=-1;for(const n of r)if(s=t.indexOf(n),s>=0)break;const l=Math.max(0,s-80);return`${l?"…":""}${i.slice(l,l+x)}…`}function y({messages:o=[]}={},r={}){const t=p(o).map((n,c)=>({n:c+1,role:n.role,text:String(n.content||"")})),s=String(r?.action||"latest");if(s==="search"){const n=b(r?.query);if(!n.length)return{error:"search needs a query."};const c=t.map(e=>({...e,score:n.reduce((a,u)=>a+(e.text.toLowerCase().includes(u)?Math.min(3,u.length/4):0),0)})).filter(e=>e.score>0).sort((e,a)=>a.score-e.score||e.n-a.n).slice(0,6).sort((e,a)=>e.n-a.n).map(e=>({n:e.n,role:e.role,snippet:w(e.text,n)}));return{of:t.length,hits:c,note:c.length?'Read a range with action "read" for the full text.':"No message mentions that."}}if(s==="read"){const n=Math.max(1,Number(r?.from)||1),c=Math.min(t.length,Number(r?.to)||n);if(n>t.length)return{error:`The thread has ${t.length} messages.`};const e=t.filter(d=>d.n>=n&&d.n<=c);let a=2e3*4;const u=[];let h=!1;for(const d of e){if(a<=0){h=!0;break}const m=d.text.length>a?`${d.text.slice(0,a)}…`:d.text;m.length<d.text.length&&(h=!0),a-=m.length,u.push({n:d.n,role:d.role,text:m})}return{of:t.length,from:n,to:c,messages:u,truncated:h}}const l=Math.max(1,Math.min(12,Number(r?.n)||4));return{of:t.length,messages:t.slice(-l).map(n=>({n:n.n,role:n.role,text:n.text.length>1600?`${n.text.slice(0,1600)}…`:n.text}))}}function C({title:o="",messages:r=[],sources:i=[]}={}){const t=S({title:o,messages:r,sources:i});return{specs:[{...k}],system:t,systemParts:{thread:g(t)},async execute(s,l){if(s!==f)return JSON.stringify({error:`Unknown tool: ${s}`});const n=typeof l=="string"?JSON.parse(l||"{}"):l||{};return JSON.stringify(y({messages:r},n))}}}function I({title:o="",turns:r=[]}={}){const i=(r||[]).filter(t=>t&&(t.role==="user"||t.role==="assistant")).map(t=>`${t.role==="user"?"Asked":"Answered"}: ${String(t.content||"").trim()}`).join(`
1
+ import{approxTokens as x,queryTerms as S}from"./sources-retrieval.js";const M=Object.freeze(["sideline","breakout"]),I="bringback",h="thread",L=Object.freeze([{command:"sideline",icon:"⇲",description:"Ask on the side without stopping this thread — @ a team, agent or model to hand it elsewhere"},{command:"bringback",icon:"⇱",description:'Fold the open sideline into this thread as a brief (or "full")'},{command:"breakout",icon:"⇲",description:"Same as /sideline"}]);function w(t){const e=/^\/(sideline|breakout)\b\s*([\s\S]*)$/i.exec(String(t||"").trim());if(!e)return null;let i=e[2].trim(),n=null;const r=/^@(?:(team|agent|cli|model):)?(?:"([^"]+)"|([^\s]+))\s*/i.exec(i);return r&&(n={kind:r[1]?r[1].toLowerCase():null,name:(r[2]||r[3]||"").trim()},i=i.slice(r[0].length).trim()),{question:i,target:n}}function j(t){const e=/^\/bringback\b\s*(full|brief)?\s*$/i.exec(String(t||"").trim());return e?{mode:e[1]?e[1].toLowerCase():"brief"}:null}function C(t,{teams:e=[],agents:i=[],clis:n=[],models:r=[]}={}){if(!t?.name)return null;const a=t.name.toLowerCase(),o=s=>String(s||"").toLowerCase()===a,c=[["team",e,s=>o(s.name)||o(s.id)],["agent",i,s=>o(s.name)||o(s.id)],["cli",n,s=>o(s.id)||o(s.label)||o(s.name)],["model",r,s=>o(s.id)||o(s.label)||o(s.model)||o(s.name)]];for(const[s,l,u]of c){if(t.kind&&t.kind!==s)continue;const f=(l||[]).find(d=>d&&u(d));if(f)return{kind:s,ref:f}}return null}function $(t=[]){return(t||[]).filter(e=>e&&(e.role==="user"||e.role==="assistant"))}const b=Object.freeze({chat:"message",sideline:"message",note:"section",meeting:"segment",run:"post",text:"part"});function g(t=""){const e=[];let i=null;const n=()=>{i&&i.text.trim()&&e.push({label:i.label,text:i.text.trim()}),i=null};for(const r of String(t||"").split(`
2
+ `)){const a=/^(#{1,6})\s+(.*)$/.exec(r);if(a){n(),i={label:a[2].trim().slice(0,80)||"section",text:""};continue}if(!r.trim()){i&&!i.label?n():i&&(i.text+=`
3
+ `);continue}i||(i={label:"",text:""}),i.text+=(i.text?`
4
+ `:"")+r}return n(),e.map((r,a)=>({n:a+1,label:r.label||`paragraph ${a+1}`,text:r.text}))}function p(t){if(!t)return{kind:"text",title:"",units:[],focus:"",sources:[]};if(Array.isArray(t.units))return{kind:t.kind||"text",title:t.title||"",units:t.units,focus:t.focus||"",sources:t.sources||[]};const e=t.body||t,n=!!(t.sidelineOf||t.meta?.sidelineOf)?"sideline":t.kind||(Array.isArray(e.messages)?"chat":e.markdown!=null?"note":Array.isArray(e.segments)?"meeting":"text"),r=t.title||"",a=(e.attachments||[]).filter(o=>o&&o.kind!=="image"&&(o.title||o.url));if(n==="chat"||n==="sideline"){const o=$(e.messages||[]),c=[...o].reverse().find(l=>l.role==="user"),s=(e.messages||[]).flatMap(l=>(l.attachments||[]).filter(u=>u&&u.kind!=="image"&&u.kind!=="sideline"&&(u.title||u.url)));return{kind:n,title:r,sources:[...a,...s],units:o.map((l,u)=>({n:u+1,label:l.role,text:String(l.content||"")})),focus:String(c?.content||"")}}if(n==="note")return{kind:n,title:r,sources:a,units:g(e.markdown??e.text??""),focus:""};if(n==="meeting"){const o=Array.isArray(e.segments)?e.segments:[],c=o.length?o.map((s,l)=>({n:l+1,label:s.speaker||s.who||"speaker",text:String(s.text||"")})):g(e.summary?`# Summary
5
+ ${e.summary}
3
6
 
4
- `);return[`This was a side conversation${o?` about "${o}"`:""}, held apart from a main thread that is still being worked on. Write the brief the main thread should receive.`,"Rules: at most 120 words. State what was asked, the answer, any decision or recommendation, and anything still open. Plain prose or up to four short bullets. No preamble, no headings, no restating the main thread.","",i].join(`
5
- `)}function L({sideline:o,mode:r="brief",brief:i="",now:t=Date.now,newId:s=()=>`sl_${Math.random().toString(36).slice(2,10)}`}={}){const l=(o?.turns||[]).filter(a=>a&&(a.role==="user"||a.role==="assistant")),n=l.map(a=>`${a.role==="user"?"Asked":"Answered"}: ${String(a.content||"").trim()}`).join(`
7
+ ${e.text||e.transcript||""}`:e.text||e.transcript||"");return{kind:n,title:r,sources:a,units:c,focus:String(e.summary||"").slice(0,240)}}if(n==="run"||Array.isArray(e.posts)){const o=e.posts||e.steps||[];return{kind:"run",title:r,sources:a,units:o.map((c,s)=>({n:s+1,label:c.actor||c.by||c.role||"post",text:String(c.text||c.content||"")})),focus:String(e.goal||e.request||"")}}return{kind:"text",title:r,sources:a,units:g(e.text||e.markdown||""),focus:""}}function O(t={}){const e=t.units?t:p(t.messages?{kind:"chat",title:t.title,body:{messages:t.messages,attachments:t.sources}}:t),i=b[e.kind]||"part",n=e.kind==="note"?"Main note":e.kind==="meeting"?"Meeting":e.kind==="run"?"Team run":"Main thread",r=String(e.focus||"").replace(/\s+/g," ").trim().slice(0,240),a=(e.sources||[]).map(c=>c?.title||c?.url).filter(Boolean).slice(0,6);return[`${n}${e.title?`: "${e.title}"`:""} ${e.units.length} ${i}${e.units.length===1?"":"s"}, ~${x(e.units.map(c=>c.text).join(" "))} tokens.`,r?e.kind==="meeting"?`Summary: "${r}${r.length===240?"…":""}"`:`It is currently working on: "${r}${r.length===240?"…":""}"`:"",a.length?`Attached there: ${a.join(" · ")}.`:"",`Its content is NOT in this conversation. Call \`${h}\` to search it or read a range of ${i}s when the question depends on it and only then.`].filter(Boolean).join(`
8
+ `)}const N=Object.freeze({name:h,annotations:{readOnlyHint:!0,idempotentHint:!0},description:"Search or read what this sideline branched from — the main thread, note, meeting or run. Its content is not in this conversation; use this when the question depends on what was said or found there.",parameters:{type:"object",properties:{action:{type:"string",enum:["search","read","latest"],description:"search: parts matching a query (numbered). read: parts from..to by number. latest: the last n parts."},query:{type:"string",description:"For search: what you are looking for."},from:{type:"integer",description:"For read: first part number (1 = oldest)."},to:{type:"integer",description:"For read: last part number (inclusive)."},n:{type:"integer",description:"For latest: how many (default 4)."}},required:["action"],additionalProperties:!1}}),y=320;function A(t,e){const i=String(t||"").replace(/\s+/g," ").trim();if(i.length<=y)return i;const n=i.toLowerCase();let r=-1;for(const o of e)if(r=n.indexOf(o),r>=0)break;const a=Math.max(0,r-80);return`${a?"…":""}${i.slice(a,a+y)}…`}function q(t={},e={}){const i=t.units?t:p(t.messages?{kind:"chat",body:{messages:t.messages}}:t),n=i.units.map(o=>({n:o.n,role:o.label,text:String(o.text||"")})),r=String(e?.action||"latest");if(r==="search"){const o=S(e?.query);if(!o.length)return{error:"search needs a query."};const c=n.map(s=>({...s,score:o.reduce((l,u)=>l+(s.text.toLowerCase().includes(u)?Math.min(3,u.length/4):0),0)})).filter(s=>s.score>0).sort((s,l)=>l.score-s.score||s.n-l.n).slice(0,6).sort((s,l)=>s.n-l.n).map(s=>({n:s.n,role:s.role,snippet:A(s.text,o)}));return{of:n.length,hits:c,note:c.length?'Read a range with action "read" for the full text.':"Nothing there mentions that."}}if(r==="read"){const o=Math.max(1,Number(e?.from)||1),c=Math.min(n.length,Number(e?.to)||o);if(o>n.length)return{error:`There are ${n.length} ${b[i.kind]||"part"}s.`};const s=n.filter(d=>d.n>=o&&d.n<=c);let l=2e3*4;const u=[];let f=!1;for(const d of s){if(l<=0){f=!0;break}const m=d.text.length>l?`${d.text.slice(0,l)}…`:d.text;m.length<d.text.length&&(f=!0),l-=m.length,u.push({n:d.n,role:d.role,text:m})}return{of:n.length,from:o,to:c,messages:u,truncated:f}}const a=Math.max(1,Math.min(12,Number(e?.n)||4));return{of:n.length,messages:n.slice(-a).map(o=>({n:o.n,role:o.role,text:o.text.length>1600?`${o.text.slice(0,1600)}…`:o.text}))}}function _(t={}){const e=t.units?t:p(t.messages?{kind:"chat",title:t.title,body:{messages:t.messages,attachments:t.sources}}:t),i=O(e);return{specs:[{...N}],system:i,systemParts:{thread:x(i)},async execute(n,r){if(n!==h)return JSON.stringify({error:`Unknown tool: ${n}`});const a=typeof r=="string"?JSON.parse(r||"{}"):r||{};return JSON.stringify(q(e,a))}}}function P({title:t="",turns:e=[]}={}){const i=(e||[]).filter(n=>n&&(n.role==="user"||n.role==="assistant")).map(n=>`${n.role==="user"?"Asked":"Answered"}: ${String(n.content||"").trim()}`).join(`
6
9
 
7
- `),c=r==="full"?n:String(i||"").trim()||n,e=`From Sideline ${o?.index||1}${o?.model?` · ${o.model}`:""}`;return{id:s(),role:"note",kind:"sideline",ts:t(),content:c,sideline:{id:o?.id||null,index:o?.index||1,model:o?.model||"",turns:l.length,mode:r,broughtBackAt:t()},attachments:[{kind:"sideline",title:e,text:c}]}}function j(o=[]){const r=Array.isArray(o)?o:[];if(!r.some(s=>s?.role==="note"))return r;const i=[];let t=[];for(const s of r){if(s?.role==="note"){t.push(...s.attachments||[]);continue}if(s?.role==="user"&&t.length){i.push({...s,attachments:[...t,...s.attachments||[]]}),t=[];continue}i.push(s)}return i}function E(o=[]){return(o||[]).reduce((r,i)=>Math.max(r,Number(i?.index)||0),0)+1}export{A as BRINGBACK_COMMAND,N as SIDELINE_COMMANDS,M as SIDELINE_SLASH_ITEMS,f as THREAD_TOOL_NAME,k as THREAD_TOOL_SPEC,I as briefPrompt,L as foldBackNote,j as foldNotes,E as nextSidelineIndex,T as parseBringBack,O as parseSideline,y as readThread,q as resolveSidelineTarget,S as threadManifest,C as threadToolProvider};
10
+ `);return[`This was a side conversation${t?` about "${t}"`:""}, held apart from a main thread that is still being worked on. Write the brief the main thread should receive.`,"Rules: at most 120 words. State what was asked, the answer, any decision or recommendation, and anything still open. Plain prose or up to four short bullets. No preamble, no headings, no restating the main thread.","",i].join(`
11
+ `)}function v({sideline:t,mode:e="brief",brief:i="",now:n=Date.now,newId:r=()=>`sl_${Math.random().toString(36).slice(2,10)}`}={}){const a=(t?.turns||[]).filter(l=>l&&(l.role==="user"||l.role==="assistant")),o=a.map(l=>`${l.role==="user"?"Asked":"Answered"}: ${String(l.content||"").trim()}`).join(`
12
+
13
+ `),c=e==="full"?o:String(i||"").trim()||o,s=`From Sideline ${t?.index||1}${t?.model?` · ${t.model}`:""}`;return{id:r(),role:"note",kind:"sideline",ts:n(),content:c,sideline:{id:t?.id||null,index:t?.index||1,model:t?.model||"",turns:a.length,mode:e,broughtBackAt:n()},attachments:[{kind:"sideline",title:s,text:c}]}}function B(t=[]){const e=Array.isArray(t)?t:[];if(!e.some(r=>r?.role==="note"))return e;const i=[];let n=[];for(const r of e){if(r?.role==="note"){n.push(...r.attachments||[]);continue}if(r?.role==="user"&&n.length){i.push({...r,attachments:[...n,...r.attachments||[]]}),n=[];continue}i.push(r)}return i}function D(t=[]){return(t||[]).reduce((e,i)=>Math.max(e,Number(i?.index)||0),0)+1}function J(t,e){const i=[];let n=t,r=0;for(;n&&(n.sideline||n.meta?.sideline)&&r++<16;)i.unshift((n.sideline||n.meta?.sideline)?.index||1),n=e?.(n)||null;return i.join(".")}function F(t,e){if(t==="note"){const i=e.attachments?.[0]?.title||`From Sideline ${e.sideline?.index||1}`,n=String(e.content||"").trim().split(`
14
+ `).map(r=>`> ${r}`).join(`
15
+ `);return{kind:"markdown",markdown:`
16
+
17
+ > **${i}**
18
+ ${n}
19
+ `}}return{kind:"message",message:e}}const k="sideline",T=Object.freeze({name:k,annotations:{readOnlyHint:!1,idempotentHint:!1},description:"Open a SIDELINE — a separate conversation about one question, apart from this one — and get its brief back. Use it to fork a sub-question to a team, an agent or another model without cluttering this thread; the sideline can search or read this thread with its own `thread` tool. Returns the brief (or the full text) when it is done.",parameters:{type:"object",properties:{question:{type:"string",description:"The question or task for the sideline, self-contained."},target:{type:"string",description:"Optional: who answers — a team name, an agent name, a CLI agent or a model id. Omit for the same model as this conversation."},bring:{type:"string",enum:["brief","full"],description:"What comes back: a brief (default) or the full exchange."}},required:["question"],additionalProperties:!1}});function U({run:t,depth:e=0,maxDepth:i=3}={}){if(typeof t!="function")throw new Error("sidelineToolProvider: run required");return{specs:[{...T}],system:"You may fork a sub-question into a `sideline` (a team, an agent or a model works on it apart from this thread and you get the brief back). Use it for work that would otherwise clutter this thread; do not use it for a question you can answer directly.",async execute(n,r){if(n!==k)return JSON.stringify({error:`Unknown tool: ${n}`});const a=typeof r=="string"?JSON.parse(r||"{}"):r||{},o=String(a.question||"").trim();if(!o)return JSON.stringify({error:"question is required."});if(e>=i)return JSON.stringify({error:`Sidelines nest at most ${i} deep; answer this one here.`});const c=a.target&&w(`/sideline @${/\s/.test(String(a.target))?`"${a.target}"`:a.target} x`)?.target||null;try{const s=await t({question:o,target:c,bring:a.bring==="full"?"full":"brief"});return JSON.stringify({sideline:s?.index!=null?`Sideline ${s.index}`:"sideline",id:s?.id||null,model:s?.model||"",brief:String(s?.brief||"")})}catch(s){return JSON.stringify({error:`The sideline failed: ${s?.message||s}`})}}}}export{I as BRINGBACK_COMMAND,M as SIDELINE_COMMANDS,L as SIDELINE_SLASH_ITEMS,k as SIDELINE_TOOL_NAME,T as SIDELINE_TOOL_SPEC,h as THREAD_TOOL_NAME,N as THREAD_TOOL_SPEC,P as briefPrompt,F as foldBackFor,v as foldBackNote,B as foldNotes,D as nextSidelineIndex,g as noteUnits,j as parseBringBack,w as parseSideline,q as readThread,C as resolveSidelineTarget,J as sidelinePath,U as sidelineToolProvider,p as sourceOf,O as threadManifest,_ as threadToolProvider};